Windows 8で搭載されたコネクテッドスタンバイ(Connected Standby)は、スリープ中一定時間ごとに通信を可能にして、バックグラウンドで動作する通信を維持するものだ。
もともとは「Connected Standby」も
現在は「Instant Go」に名前を変更
現在では「Instant Go」という名称に変更され、32bit版のWindows 8.1をプレインストールするメーカー製のマシン(Atom系プロセッサ)では標準的に有効になっている。一方、64bit版Windowsをプレインストールするマシンでは、一部の機種のみ有効だ。ただし、Windowsのユーティリティなどで出力するファイルなどでは、まだConnected Standbyという名称が残っているため、ここでは、Connected Standbyと統一して表記することにする。
Connected Standbyは、電源キーや一定時間操作を行なわずにスリープ状態に移行した後、30秒に1回、画面はオフにしたまま、通信をするバックグラウンド処理を実行させるというもの。たとえば、新着メールのチェックやSNSアプリの更新確認などに利用されている。
Connected Standbyが使うのは、従来のノートPCなどが行っていたスリープやハイバネーションではなく、非常に消費電力が低い「アイドル状態」であり、CPUが積極的に休むことで実現される状態を利用する。このアイドル状態をWindowsは、DRIPS(Deepest Runtime Idle Platform State)と呼ぶ。これは、インテルのCPUでいうS0ixに相当する。
インテルのCPUでは、アクティブな状態をS0、従来のスリープ状態をS3としている。S0ixは、アクティブ状態ながら、非常に消費電力が低い状態となる。もちろんS3の待機電力のほうが小さいのだが、CPUがS0に復帰するまでの時間はS0ixのほうが速い。Connected Standbyでは、通常状態へ極めて短時間で復帰することが求められるため、スリープの場合、メモリなど一部の回路には電力が供給されるが、周辺回路の大部分は電源がオフになる。しかし、Connected Standbyでは、ネットワーク部分に関しては、電力が供給されて通信状態が維持され、CPUは、通信コントローラーなどからの割り込みで一時的にアクティブになることができる。
スリープ状態から30秒に1回アクティブになって
バックグラウンドで通信などを行なう
Connected Standbyの状態では、システムは30秒に1回アクティブな状態となり、さまざまなバックグラウンド処理を行なう。ただし、アプリケーションが勝手に通信するのではなく、モダンUI環境のストアアプリがAPIで登録したバックグラウンド処理だけが通信でき、各バックグラウンド処理は、15分に1回、通信を行なう機会を得るように調整される。どの通信も長時間連続して行うことはできず、モダンUI環境内での処理は、最長5秒以下とされている。
通信は、無線LAN、イーサネット、モバイルブロードバンド(3G/4Gの通信)が対象で、Connected Standbyの仕様に対応した通信デバイスだけが利用できる。通信デバイスは常に動作しており、パケットなどを受け取った場合には、割り込みを発生させて、一時的にシステムをアクティブにしてこれを処理する。同様にバッテリ管理機能や充電機構、温度センサーなども割り込みを発生させることができる。
通信や音声再生のハードウェアは、決まった処理をCPUに代わって行なう「オフロード」機能を持つ必要がある。たとえば、受信したパケットがWoLのパターンに合致しているかどうかを判定する機能や、音楽データを自動で再生する機能などを持ち、CPUがDRIPSの間も動作できるようになっている。また、GPSデバイスに関しては、Geofencing機能(一定範囲に入ったり、出たりしたことを検出する機能)がオフロード機能として定義されている。
また、デスクトップ環境は、従来のスリープと同じ状態となり、デスクトップのアプリケーションはConnected Standbyの間は中断された状態となる。なお、Windows Updateは、設定されたスケジュールに従って動作し、緊急アップデートのダウロードのみがConnected Standby中に行われる。
Connected Standbyが有効になっている場合、デバイスドライバなどに一定の条件が付き、原則メーカーが提供する公式ドライバを使わないとConnected Standbyが動作できない。このほか、無線LANのスキャン回数などが減らされ、一見、無線LANの感度が落ちたように感じることがある。
しかし、Windows自体はConnected Standbyが有効になっているかどうかをGUIでは直接表示しないため、自分のマシンが正しく動作しているのかがわかりにくい。原則Connected Standbyを有効にするかどうかは、PCメーカー(OEM)が決めるため、前述のように64bit版Windowsを採用しているマシンでは、必ずしも動作しているわけではない。
32bit版Windowsの場合、インテルがAtomプロセッサのリファレンス設計を提供しており、その上でConnected Standbyを可能にするドライバなども提供しているため、原則、Atomプロセッサ(CloverTrailおよびBayTrail)を採用したマシンでは、Connected Standbyが有効になっている。
この連載の記事
-
第423回
PC
PowerShellの今を見る 2つあるPowerShellはどっち使えばいい? -
第422回
PC
Windows 11の目玉機能が早くも終了、Windows Subsystem for Android(WSA)を振り返る -
第421回
PC
進化しているPowerToys LANで接続したマシンでキーボード/マウス共有機能などが追加 -
第420回
PC
Windowsプレビュー版に搭載されたsudoを試す -
第419回
PC
Windows Insider Previewが変わって、今秋登場のWindows 11 Ver.24H2の新機能が見えてきた? -
第418回
PC
Windows 11のスマートフォン連携は新機能が追加されるなど、いまだ進化している -
第417回
PC
Windows 11のスマートフォン連携機能をあらためて使ってみる -
第416回
PC
Windowsセキュリティ(Defender)をコマンドラインで扱う -
第415回
PC
ConvertFrom-Stringを使って、テキストデータをテンプレートで読み込む -
第414回
スマホ
Windows Subsytem for Linux(WSL)が昨年9月のアップデートでファイアウォール対応になった -
第413回
PC
Windows Subsystem for Linux(WSL)でUSBデバイスを使う - この連載の一覧へ