@prefix schema: <https://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ks: <https://comcomponent.com/vocab/> .

<https://comcomponent.com/blog/windows-sleep-modern-standby-long-running-apps/#article>
    schema:about <https://comcomponent.com/knowledge/modern-standby/>, <https://comcomponent.com/knowledge/dam/> ;
    schema:mentions <https://comcomponent.com/knowledge/s3-sleep/>, <https://comcomponent.com/knowledge/hibernate-s4/>, <https://comcomponent.com/knowledge/setthreadexecutionstate/>, <https://comcomponent.com/knowledge/power-request-api/>, <https://comcomponent.com/knowledge/powercfg-requests/>, <https://comcomponent.com/knowledge/systemevents-powermodechanged/>, <https://comcomponent.com/knowledge/wm-powerbroadcast/>, <https://comcomponent.com/knowledge/powerregistersuspendresumenotification/>, <https://comcomponent.com/knowledge/waketorun/>, <https://comcomponent.com/knowledge/sleep-unaware-timeout-behavior/>, <https://comcomponent.com/knowledge/tcp-idle-timeout-drop/>, <https://comcomponent.com/knowledge/wakeable-timer/>, <https://comcomponent.com/knowledge/allow-wake-timer-setting/>, <https://comcomponent.com/knowledge/powercfg-a/>, <https://comcomponent.com/knowledge/task-scheduler/>, <https://comcomponent.com/knowledge/dotnet/>, <https://comcomponent.com/knowledge/windows-service/> .

<https://comcomponent.com/knowledge/modern-standby/> a skos:Concept ;
    skos:prefLabel "Modern Standby対応デバイス"@ja ;
    skos:definition "画面オフ中も低電力でネットワーク接続を維持できる高速スリープモデルに対応したデバイス。選択できるPower planがBalanced系に制限される。"@ja ;
    skos:altLabel "Modern Standby" ;
    skos:altLabel "Connected Standby" ;
    ks:incompatibleWith <https://comcomponent.com/knowledge/s3-sleep/> ;
    ks:uses <https://comcomponent.com/knowledge/dam/> ;
    ks:verifiedBy <https://comcomponent.com/knowledge/powercfg-a/> .

<https://comcomponent.com/knowledge/dam/> a skos:Concept ;
    skos:prefLabel "DAM(Desktop Activity Moderator)"@ja ;
    skos:definition "Modern Standby中にデスクトップアプリの実行をS3スリープ同等に抑え込み、対話セッションのプロセスを全スレッドサスペンドさせるWindowsの仕組み。"@ja ;
    skos:altLabel "Desktop Activity Moderator" .

<https://comcomponent.com/knowledge/s3-sleep/> a skos:Concept ;
    skos:prefLabel "S3スリープ(従来のスリープ)"@ja ;
    skos:definition "CPUを停止しRAMだけ通電して状態を保持する、計算処理が一切走らないシステムスリープ状態。"@ja ;
    skos:altLabel "S3" ;
    skos:altLabel "従来のスリープ"@ja ;
    ks:verifiedBy <https://comcomponent.com/knowledge/powercfg-a/> .

<https://comcomponent.com/knowledge/tcp-idle-timeout-drop/> a skos:Concept ;
    skos:prefLabel "中間機器のアイドルタイムアウトによるTCP接続破棄"@ja ;
    skos:definition "スリープ中に通信できずアイドル化したTCPフローを、NAT・ファイアウォール・ロードバランサーなどの中間機器が通知なしに破棄すること。"@ja .

<https://comcomponent.com/knowledge/setthreadexecutionstate/> a skos:Concept ;
    skos:prefLabel "SetThreadExecutionState"@ja ;
    skos:definition "呼び出したスレッドの実行状態を宣言し、無操作タイムアウト起因の自動スリープや画面オフを抑止できるWin32 API。"@ja ;
    ks:verifiedBy <https://comcomponent.com/knowledge/powercfg-requests/> .

<https://comcomponent.com/knowledge/powercfg-requests/> a skos:Concept ;
    skos:prefLabel "powercfg /requests"@ja ;
    skos:definition "スリープや画面オフを妨げている電源要求を種類ごとに列挙するコマンド。"@ja .

<https://comcomponent.com/knowledge/power-request-api/> a skos:Concept ;
    skos:prefLabel "電源要求API(PowerCreateRequest等)"@ja ;
    skos:definition "理由文字列付きでスリープや画面オフの抑止要求を作成・設定・解除できる、SetThreadExecutionStateより新しいWindows 7以降のAPI群。"@ja ;
    skos:altLabel "PowerCreateRequest" ;
    skos:altLabel "PowerSetRequest" ;
    skos:altLabel "PowerClearRequest" ;
    ks:verifiedBy <https://comcomponent.com/knowledge/powercfg-requests/> .

<https://comcomponent.com/knowledge/systemevents-powermodechanged/> a skos:Concept ;
    skos:prefLabel "SystemEvents.PowerModeChanged"@ja ;
    skos:definition "サスペンド・レジューム時に発生する.NETのイベントで、メッセージポンプが動作していないと発生しない。"@ja ;
    ks:uses <https://comcomponent.com/knowledge/wm-powerbroadcast/> ;
    ks:recommendedFor <https://comcomponent.com/knowledge/tcp-idle-timeout-drop/> .

<https://comcomponent.com/knowledge/windows-service/> a skos:Concept ;
    skos:prefLabel "Windowsサービス"@ja ;
    skos:definition "ユーザーのサインインと無関係にバックグラウンドで動くWindowsのプロセス。"@ja ;
    skos:altLabel "サービス"@ja .

<https://comcomponent.com/knowledge/wm-powerbroadcast/> a skos:Concept ;
    skos:prefLabel "WM_POWERBROADCAST"@ja ;
    skos:definition "サスペンドや復帰などの電源管理イベントをウィンドウへ通知するWin32メッセージ。"@ja .

<https://comcomponent.com/knowledge/powerregistersuspendresumenotification/> a skos:Concept ;
    skos:prefLabel "PowerRegisterSuspendResumeNotification"@ja ;
    skos:definition "ウィンドウハンドルを持たないプロセスでも、サスペンド・復帰の通知をコールバックとして受け取れるWin32 API。"@ja ;
    ks:recommendedFor <https://comcomponent.com/knowledge/windows-service/> .

<https://comcomponent.com/knowledge/waketorun/> a skos:Concept ;
    skos:prefLabel "WakeToRun(タスクスケジューラの起床実行)"@ja ;
    skos:definition "実行時刻にスリープ・休止からコンピューターを起床させ、タスク完了までシステムを起きたままにするタスクスケジューラの設定。"@ja ;
    skos:altLabel "Wake to run" ;
    skos:altLabel "スリープ解除実行"@ja ;
    ks:requires <https://comcomponent.com/knowledge/allow-wake-timer-setting/> ;
    ks:uses <https://comcomponent.com/knowledge/task-scheduler/> .

<https://comcomponent.com/knowledge/allow-wake-timer-setting/> a skos:Concept ;
    skos:prefLabel "電源オプションの「スリープ解除タイマーの許可」"@ja ;
    skos:definition "ウェイクタイマーによる自動起床を許可するかどうかを制御する電源オプションの設定。"@ja ;
    skos:altLabel "Allow Wake Timer" .

<https://comcomponent.com/knowledge/task-scheduler/> a skos:Concept ;
    skos:prefLabel "タスクスケジューラの無人実行"@ja ;
    skos:definition "指定したアカウントで、スケジュールやログオンなどのトリガーに従いプログラムを実行するWindowsの仕組み。ログオン種別(対話トークン・パスワード保存・S4Uなど)の設定によっては、ユーザーがログオンしていなくても実行できる。"@ja .

<https://comcomponent.com/knowledge/wakeable-timer/> a skos:Concept ;
    skos:prefLabel "ウェイク可能タイマー(SetWaitableTimerのfResume)"@ja ;
    skos:definition "指定時刻にシステム自体を起床させられる、SetWaitableTimerのfResumeパラメーターをTRUEにしたタイマー。"@ja ;
    skos:altLabel "Wake-up Timer" .

<https://comcomponent.com/knowledge/powercfg-a/> a skos:Concept ;
    skos:prefLabel "powercfg /a"@ja ;
    skos:definition "そのシステムで利用可能なスリープ状態(S3かModern Standbyか)を一覧表示するコマンド。"@ja .

<https://comcomponent.com/knowledge/hibernate-s4/> a skos:Concept ;
    skos:prefLabel "休止状態(S4)"@ja ;
    skos:definition "メモリの内容を休止ファイルへ書き出してから電源を切る、計算処理が一切走らないシステムスリープ状態。"@ja ;
    skos:altLabel "S4" ;
    skos:altLabel "Hibernate" ;
    ks:verifiedBy <https://comcomponent.com/knowledge/powercfg-a/> .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/modern-standby/> ;
    rdf:predicate ks:incompatibleWith ;
    rdf:object <https://comcomponent.com/knowledge/s3-sleep/> ;
    schema:description "Modern Standby対応機はS1〜S3のスリープ状態を使わない"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/power/system-power-states> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/modern-standby/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/dam/> ;
    schema:description "Modern StandbyはDAMを用いてデスクトップアプリの実行をS3スリープ同等に抑え込む"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/w8cookbook/desktop-activity-moderator> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/dam/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/tcp-idle-timeout-drop/> ;
    schema:description "DAMによるスレッドサスペンド中はアプリが通信できず、接続の寿命に影響し得ることが公式ドキュメントでも考慮するよう明記されている"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/w8cookbook/desktop-activity-moderator> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/s3-sleep/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/tcp-idle-timeout-drop/> ;
    schema:description "S3スリープ中はアプリが通信できずアイドル化した接続が生じ、中間機器のアイドルタイムアウトで通知なく破棄されることがある"@ja ;
    ks:evidence <https://learn.microsoft.com/azure/load-balancer/load-balancer-tcp-reset> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/setthreadexecutionstate/> ;
    rdf:predicate ks:prevents ;
    rdf:object <https://comcomponent.com/knowledge/s3-sleep/> ;
    schema:description "SetThreadExecutionStateは無操作タイムアウト起因の自動スリープを抑止できるが、ユーザーが電源ボタンやふた閉じで指示したスリープは防げない"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/api/winbase/nf-winbase-setthreadexecutionstate> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/setthreadexecutionstate/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/powercfg-requests/> ;
    schema:description "SetThreadExecutionStateによる抑止が実際に効いているかはpowercfg /requestsのSYSTEM区分で確認できる"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/design/device-experiences/powercfg-command-line-options> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/power-request-api/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/powercfg-requests/> ;
    schema:description "PowerCreateRequest系APIで付けた理由文字列はpowercfg /requestsの一覧に表示される"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/design/device-experiences/powercfg-command-line-options> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/power-request-api/> ;
    rdf:predicate ks:incompatibleWith ;
    rdf:object <https://comcomponent.com/knowledge/modern-standby/> ;
    schema:description "バッテリー駆動のModern Standbyシステムでは、SystemRequired/ExecutionRequired要求はスリープタイムアウト超過の5分後に打ち切られ、無期限の抑止はできない"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/api/winbase/nf-winbase-powersetrequest> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/systemevents-powermodechanged/> ;
    rdf:predicate ks:incompatibleWith ;
    rdf:object <https://comcomponent.com/knowledge/windows-service/> ;
    schema:description "SystemEvents.PowerModeChangedはメッセージポンプが回っていないと発生しないため、Windowsサービスでは隠しフォーム等を用意しない限り届かない"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/api/microsoft.win32.systemevents.powermodechanged> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/systemevents-powermodechanged/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/wm-powerbroadcast/> ;
    schema:description "SystemEvents.PowerModeChangedはWindowsの電源管理イベント(WM_POWERBROADCAST相当の通知)をもとにサスペンド・レジュームを発生させる"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/power/wm-powerbroadcast> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/powerregistersuspendresumenotification/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/windows-service/> ;
    schema:description "ウィンドウを持たないコンソール・サービス型のアプリでは、PowerRegisterSuspendResumeNotificationでHWNDなしにサスペンド・復帰通知を受け取る方法が推奨される"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/api/powerbase/nf-powerbase-powerregistersuspendresumenotification> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/systemevents-powermodechanged/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/tcp-idle-timeout-drop/> ;
    schema:description "TCP接続が中間機器のタイムアウトで黙って破棄される問題への対応として、復帰イベントを受けて接続を疑い破棄・再接続することが定石とされる"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/w8cookbook/desktop-activity-moderator> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/waketorun/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/allow-wake-timer-setting/> ;
    schema:description "WakeToRunによる起床が成立するには、電源オプションの「スリープ解除タイマーの許可」が有効であることが前提になる"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/taskschd/task-maintenence> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/waketorun/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/task-scheduler/> ;
    schema:description "WakeToRunはタスクスケジューラのタスク設定の一つで、実行時刻にコンピューターを起床させタスク完了まで起きたままにする"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/api/taskschd/nf-taskschd-itasksettings-get_waketorun> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/wakeable-timer/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/setthreadexecutionstate/> ;
    schema:description "ウェイク可能タイマーによる自動起床後、無人アイドルタイマー(最低2分)を超えて処理を続ける必要がある場合に限り、その間にSetThreadExecutionStateで使用中を宣言しなければ速やかに再スリープする(2分以内に処理が終わるなら不要)"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/power/system-wake-up-events> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/modern-standby/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/powercfg-a/> ;
    schema:description "自分のPCがModern Standby機かどうかはpowercfg /aで「スタンバイ(S0低電力アイドル)」の表示から確認できる"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/design/device-experiences/overview-of-modern-standby-validation> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/s3-sleep/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/powercfg-a/> ;
    schema:description "自分のPCがS3スリープ対応機かどうかはpowercfg /aで「スタンバイ(S3)」の表示から確認できる"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/design/device-experiences/overview-of-modern-standby-validation> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/hibernate-s4/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/powercfg-a/> ;
    schema:description "休止状態が利用可能かどうかもpowercfg /aの一覧表示から確認できる"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/design/device-experiences/overview-of-modern-standby-validation> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/waketorun/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/s3-sleep/> ;
    schema:description "WakeToRunによる定時起床はS3スリープ(や休止)からのシステム起床を前提とするが、近年のノートPCではS3からの起床自体を許可しない構成が一般的なため、実機での起床確認が必須になる"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/taskschd/task-maintenence> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .
