Windows 8ユーザーズ・ワークベンチ

アプリがコストによって切り替えるWindows 8のネットワーク

 PCに限った話ではないが、1台のデバイスが複数のネットワークを介してインターネットに接続していることが珍しくなくなっている。モバイルの時代では、特にこうした状況が起こりやすくなる。そのような場合、Windows 8は、どのような挙動を示すのか。今回は、Windows 8のネットワークについて見ていくことにしよう。

ネットワークのコスト

 iOSにしても、Android OSにしても、Wi-Fiとモバイルデータ通信の両方をサポートするデバイスでは、圏内にいてモバイルデータ通信ができる時であっても、Wi-Fiが使える場合には、Wi-Fiを介してインターネットに接続する仕様になっている。これは、低速でかつ、従量制であったり、流量上限がある可能性が高いモバイルデータ通信に対して、Wi-Fiはこうした制限がない可能性が高いという配慮なのだろう。ただし、Wi-Fiの先にあるのがスマートフォンのテザリングであるといったことは配慮されない。

 その一方で、Windows 8では、インターネットに接続されているネットワークインターフェイスが複数ある場合、その優先順位は基本的にWindowsが自動的に設定するようになっている。もし、それを自分で好きな順序に設定したい場合は、ネットワーク接続の詳細設定で指定することもできる。これは、Windows XPの時代から変わってはいない。

ネットワーク接続の優先順位はアダプタの詳細設定で決めておける

 Windowsにおけるネットワーク接続には、そのコストという概念が取り入れられている。コストによって優先順位が決まるのだ。そのコストの多寡は次のようなイメージで決まる

  • 従量制課金されるネットワークよりも定額制課金のネットワークの方がコストは安い
  • 定額性のネットワークよりも無制限のネットワークの方がコストは安い
  • 低速なネットワークよりも高速なネットワークの方がコストは安い

 もちろん、こうしたロジックでコストを決め、できるだけコストのかからない接続でインターネットに接続する。したがって、Wi-Fiに接続されている時に、モバイルネットワークに接続されても、そちらは使われない可能性が高い。

 ちなみに、従量制課金のネットワークを、Windows 8は、3つに分類している。

  • 無制限
  • 定額性
  • 変動定額性

 このうち、変動定額性は、ある一定量の通信を行なうと、それ以降が従量制に移行するような課金システムだ。日本の移動体通信事業者でポピュラーな課金システムとしては、ある一定量の転送を行なうと、帯域制限が行なわれ、帯域幅が極端に落ちるというものがあるが、これも一種の変動定額性ということができるだろう。諸外国でも事情は同じで、これがユーザーの頭を悩ませる。

通知バーのネットワークアイコンをクリックすると任意のネットワークに接続できる
接続先を右クリックすると表示されるショートカットメニュー。ここで従量制課金接続か、定額性課金接続かを決めておける

アプリが決める接続先

 ネットワークには、ユーザーからは見えないプロパティが用意され、NetwordCostTypeとConnectionCostによって決まる。さらに、ConnectionCostは、

  • 制限上限に近いところにいるかどうか
  • 課金の仕組みはどうなっているか
    ・わからない
    ・制限なし
    ・上限までは無制限
    ・完全従量
  • 制限上限に達しているかどうか
  • ローミング中かどうか

そして、ストアアプリは、これらのプロパティに従がって、

  • 1. 標準
  • 2. 従来型
  • 3. オプトイン

という3種類の動作を選択することができる。

 1は、何の制限も与えず無制限にネットワークを使うが、2はあまりデータ流量が多くなりすぎないように調整する。例えば、動画ストリームを低解像度で再生したり、メール本文ではなく件名のみをダウンロードするといった計らいだ。また、3はユーザーにどうするかを選択させるといった対処が可能となる。

 複数のネットワークが存在する場合、どのネットワークを使ってデータ転送を行なうかを決めるのは、Windows 8ではなく、あくまでもストアアプリだ。Windowsから利用できるネットワークが変更された事の通知をアプリが受け取り、それぞれのネットワークの素性を調べ、アプリ自身が決めた方針に従って利用できる中から最適のネットワークを選ぶ。既存のネットワーク接続が失われ、使えるネットワークがない場合は、ネットワーク再試行によってWindowsが適切に処置してくれるが、複数のネットワークがある場合、それらから最適なものを選ぶのはアプリだ。

 だから、いわゆるお行儀の悪いアプリの場合は、ユーザーが意図しないネットワークを使う可能性も出てくる。

 スマートフォンのアプリで大きなファイルをやりとりするものが、Wi-Fiの時にはそれをするが、モバイルネットワークの場合はそれをしないといった設定ができるものがあるが、それと似た感じだ。

 例えば、タブレットをモバイル回線を使ってインターネットに接続し、動画を再生しながら自宅に戻ってきた場合、一般的には自宅のWi-Fiネットワークに自動的に接続する。この時、その動画の残り時間がわずかであれば、あえてネットワークを切り替えることなくそのまま再生を続けるが、まだ、たっぷりと再生時間が残っている場合にはWi-Fiに切り替えるといったことをするわけだ。これは、大きなファイルのダウンロードなどでも同様だ。

 つまり、アプリが使うネットワーク接続がすでに確立されている場合、Windowsがそれを勝手に切り替えることはない。従がって、アプリは、Windowsからネットワークの変更を教えてもらえるように依頼しておき、変更が起こった場合は、その結果と、自分が必要なネットワーク接続の状況を照らし合わせ、新たなネットワークを再試行するかどうかを決めなければならない。

従量制課金ネットワークを検知したSkyDriveアプリ。終了をうながすが転送をやめようとはしない
従量制の場合は概算使用量を知ることができる

従量制課金接続を自分で設定しておく

 実際に、その挙動を確認してみると、まず、有線LANについては無条件に最優先のネットワークとして無制限のものとして扱われるようだ。

 また、Wi-Fiを含むワイヤレスネットワークについては従量制課金にするかどうかは決められるが、それがすでに書いたような定額性か変動定額性かを指定するGUIは用意されていない。また、データ概算使用量を確認したり、それをリセットしたりすることができるようになっている。

 また、WiMAXについては、Windows 8から見た場合、有線LANでもなく、ワイヤレスネットワークでも、Wi-Fiでもない、きわめて中途半端なネットワークに属するようで、これらの設定をすることができなくなっている。同様に、BluetoothのPANなどもWindowsとは別の独自ユーティリティによる接続が為されることが多く、一筋縄ではいかない。

 このように、Windows 8は、ネットワークの接続コストという、きわめて現実的な問題に対処することができるようになった。たとえば、スマートフォンにテザリングして接続するなど、高コストな接続については、自分で従量制課金などを設定し、急を要さない通信については抑制されるようにしておくといいだろう。ただし、挙動を決めるのはあくまでもアプリであり、それがユーザーの意図を反映してくれるかどうかは分からないというのはすでに書いた通りだ。

 これらの挙動について、もっとも分かりやすい例としては、デスクトップアプリではあるが、新しいMicrosoft OfficeのOutlookがオプトアウトを含む通信状況の変化に対応しているようだ。すべてのアプリがこうした振る舞いをしてくれるのが望ましい。

新しいMicrosft OfficeのOutlookは、従量制課金接続の場合、いったんオフラインにしてしまうが、ユーザーが必要に応じて接続を指示できる

(山田 祥平)