山田祥平のRe:config.sys

寝てもさめてもレッツ'InstantGo'ノート

 パナソニック「Let'snote MX3」のInstantGo対応機の予約が開始された。今予約すると5月24日に出荷されるという。これは、パナソニックの直販サイトでのみ扱われるプレミアムエディションとして発売される。今回は、守口のパナソニックITプロダクツ事業部を訪ね、InstantGo対応に関わったメンバーに話を聞いてきた。

特定デバイス依存によるInstantGoのペナルティ

 InstantGoは、以前、Connected Standbyと呼ばれていた機能で、PCでスマートフォンのようなネットワーク接続維持を実現するためのものだ。WindowsがIntelプロセッサに搭載されたS0iXという電力ステータスを活用することでそれが叶うと言われていた。

 64bit版のWindowsで、この機能を最初に実装したのはソニーのVAIO Duo 13だった。実は、この機能、Windows 8.1以降の正式サポートなのだが、VAIOは昨夏モデルで暫定対応、Windows 8.1プリインストールの昨秋・冬モデルで正式対応している。VAIOでの実装については、昨秋にレポートしているので、そちらも併せてご覧いただきたい。

 InstantGoだけであれば、多くのベンダーがすでに出荷中のAtomプロセッサ搭載タブレットのほとんどが対応済みだ。これらは32bit版のWindows 8.1をプリインストールしたものとなる。64bit版WindowsでCoreプロセッサ搭載ということとなると、やはりVAIOが最初の装置となる。

 Let'snote MX3はこの1月15日に発表、2月22日から出荷を開始していた。発売済みの製品についてすでにレビューされている。この時点では、InstantGo対応機は3月中旬以降とされていたが、予定より少し遅れての出荷となったわけだ。

 32bit版のWidnows 8.1搭載タブレット各社製品のスペックを見ると、それらが酷似していることに気が付く。特に、搭載デバイスについては瓜二つと言ってもいい。その理由は、デバイスとそのドライバがInstantGo対応していることが求められるため、極めて限定的なものになってしまうからだ。いわば「独自」が許されない状態だと言っていい。VAIOの開発陣は、その時点でInstantGo対応機を作ろうとすると、VAIOのデッドコピーに近いものになってしまうだろうとしていたが、実際それに近いものがある。

 Let'snote MX3プレミアムエディション(CF-MX3HDXBP)は、InstantGoに対応するために、いくつかのペナルティを余儀なくされている。通常のMX3に比べて、

  1. 有線LANは非対応。Ethernetコネクタは搭載されていない
  2. Wi-Fiは、IEEE 802.11a/b/g/nに対応。11acには非対応
  3. Windows 7へダウングレードできない
  4. vProテクノロジは搭載されない

という違いがある。1と2は、InstantGo対応のNICがまだ存在しないことが原因だ。Wi-FiについてはBroadcom 802.11abgn Wireless SDIO Adapterが使われている。これは、多くの8型タブレット、また、Surface 2などと同じものだ。

 ユーザーによっては、ちょっとためらってしまいそうな差分で、InstantGo対応を選ぶのには、ちょっとした勇気が必要そうでもある。

左が非対応機、右が対応機。基板は対応機と非対応機で同じように見えるが、メモリがLPDDR3であるなどの違いがある。

それでも便利なInstantGo

 InstantGoによって、現時点で得られるメリットとしては、パナソニックでは次のようなものを挙げている。

  • スリープ中でのデータやアプリの自動更新
  • スリープ中でもメールの受信やSkypeの着信を通知
  • スリープ中の音楽再生に対応

 また、個人的に使っていて便利だと思うのは、AC電源時スリープしない設定にしておけば、持ち帰ってアダプタを接続するだけで充電が始まり、すぐにデスクトップアプリが再開し、同期などが始まる。自分で電源を入れる必要がないし、出かける時にはプラグを抜いてカバンに放り込むだけでいい。起きていたPCを寝かせる必要がなければ、寝ているPCを起こす必要もない。ずっと寝ているし、ずっと起きている。まさにスマートフォンと同じだ。

 さらに、サインインオプションのパスワードのポリシーで、ディスプレイがオフになっていた時間によって、パスワード入力の有無を決められる。省電力のために画面が消えるとそれはスリープ扱いなのだが、指定した時間以内ならパスワードの入力は求めないという設定ができる。これは電車の乗り換えなどで、短時間使うのをやめるといったときに便利だ。

 また、WAN接続が維持されるので、ルーターとして使える点も重宝する。スマートフォンやモバイルルーターと違って、巨大なバッテリは丸1日ルーターとして使ってものビクともしない。ほとんど本体のバッテリ駆動時間にインパクトを与えないのだ。

 逆に、スリープ中に新着メールの問い合わせが行なわれたり、メッセージングアプリなどでクラウドからのプッシュを受けて通知をしてもらえても、それはあまりうれしくない。スタート画面のライブタイルが更新されても、そうですかという感じだ。これらについては、多くの場合、携行しているスマートフォンが気付きを与えてくれるので、PCが教えてくれなくてもあまり不便はないからだ。

 圧倒的なアドバンテージを感じるのは、液晶ディスプレイを開いたときに、本当に瞬時に使えるようになることだ。0.3秒で復帰がInstangGoの条件だそうだが、この値は非対応機の復帰時間と比べても体感で半分以下というイメージだ。ちなみにInstantGo非対応のMX3は0.5秒で復帰するという。それに、非対応機はスリープからの目覚めは短時間でも、スリープに入るのに数十秒を要する場合もある。この待ち時間は結構もどかしいものだ。

対応機と非対応機の両方を前提に開発されたMX3

 MX3は当初からInstantGo対応機と非対応機の両対応を目指して設計が行なわれた。基板上に実装されているパーツは異なっても、基板そのもののレイアウトやサイズは同じものだ。また、筐体そのものも同じものが使われている。企業で使われることが多いLet'snoteでは、やはりInstantGo非対応機やWindows 7対応も必要だということのようだ。

 さらに、現時点で世にあるInstantGo対応機が、全て通常の状態でタブレット形状である点でも、クラムシェルでもあるMX3は特異だ。VAIO Duo 13はキーボードを装備してはいるが、液晶面が隠れてしまうことはない。しかも、MX3は光学ドライブ内蔵だ。これもまた、Microsoft、Intelともに想定外のデバイスで、当初はサポートしていなかった。これについては、パナソニック側から方針を提示して両社にOKをもらったという。

 例えば、InstantGo機では、スリープ時も音楽の再生を続けるが、オーディオCDの再生時はどうなるのかというと、MX3ではドライブを回転させながら再生を続けるのだ。それが仕様だ。ただし、標準アプリである「ミュージック」はCD再生をサポートしていない。仮に、そういうアプリが後で出現した場合にそうなるということだ。

 「想定外のことがとても多かったですね。それを見越してはいたものの、安定性を評価している中で、このままでは出せないということで出荷が遅れてしまいました。数千回は再起動の試験をするのですが、一定の確率で不具合が生じ、その原因を探るのに時間がかかってしまいました。再起動したのに一部のデバイスが見えなくなるといったことが起こってしまうのです」と奥村拓也氏(パナソニックAVCネットワーク社システム事業グループITプロダクツ事業部テクノロジーセンターハード設計第一チーム)は語る。

奥村拓也氏

 また、「I2Cでつないでいるセンサー類が一番のネックでしたね。ドライバはMicrosoftとIntelがインボックスで提供するのですが、それをそのままで使わざるを得ません。何か問題が起こった場合には、デバイスのファームウェアで解決しなければなりません」(石本光生氏 同社ソフト設計第一チーム)という。

石本光生氏

 InstangGoは、それに関するドキュメント類が極めて少ない。極端に言うと、どういう方法でInstangGoを実現するかはあまり重要な問題ではなく、現象として接続が維持されていて、16時間でバッテリ消費5%以下という要件を満たせば、それはInstantGoなのだ。つまり、ガイドラインがあるだけで、ロゴ要件も存在しないのだという。InstantGoロゴのついたステッカーが貼り付けられていないのはそのためだ。口で言うのは簡単だが、その実現は大変だ。

 冒頭の写真は、消費電力を調べるためにメイン基板に接続された測定用の結線だ。この先に約5mΩの抵抗を繋ぎ、その両端の電圧を測ることで電流を算出する。想定電圧と組み合わせれば想定電力が算出できるのだ。そして、想定外の電力を消費していないかどうかを確かめる。

 インタビューでは下記のような苦労話を聞くことができた。

 「全電源で50あります。われわれが36本の電源線を加えています。それをリアルタイムで測定するんです。最低でも4時間、長くて16時間かかります。Intelには、『驚きだ』と言われましたね。4機のポットを使って36個の電力を監視するんですが、最初はずっと見ていました。30秒に1度起きて通信が行なわれ、30分に1度比較的大規模な通信が起こります。だから、長くて30分は経たないと本当に寝ませんから。そして得られたログを解析ツールにかけるのです」(奥村氏)。

 「電源周りのハードウェアを担当し、測定や省電力ディスプレイの作業を中心に関わりましたが、BIOSやOSが更新される度に意図しない動きに直面し、電力が高いということになってしまいます。辛かったです」(前田貴史氏 ハード設計第二チーム)。

前田貴史氏

 「1つのフラグが立っているかどうかだけでInstangGo対応かどうかが決まるんです。コマンドラインでPowercfg /sleepstudyを実行し、そこでサポートされていれば、それはInstantGo機なのです。HaswellのS0ixステータスは貢献するはずですが、そのステータスに落ちているのか、その状態を知る方法はありません。でも、落とさなければ5%/16時間は無理です」(立花健二氏 同社テクノロジーセンターソフト設計第一チーム)。

立花健二氏

 「HaswellがS0ixに落ちているのをどう判定するかなんですが、監視できない以上、ステップを追いかけて、これでおそらく落ちているだろうということを推測するしかありません。そのために、Sleep S0という信号線を監視するのですが、テストを初めて3日間くらい落ちませんでした」(奥村氏)。

 「USB周り、SATA周りなどは、こちらの設定不足も見つかりました。特にPCI Expressですね」(立花氏)。

 「ガイドライン化されていない部分もあり、情報が分からないで作業が止まったこともありました。Intelとパナソニックでミーティングを開き、テーマを絞って3回に分けて話をしました。2013年8月、最初は筑波でミーティングを開きました。その段階で、検証しなければならないことが決まり、次の2回目は、守口にIntelが来て、基礎的なデータを次までに取っておくという宿題が出て、3回目はカリフォルニアのフォルサムでした。フロアパワーと呼ぶ消費電力の目処がついたのが3回目のこのミーティングでした」(奥村氏)。

続けるかどうかはフィードバック次第

 ソニーの先行事例もあり、スンナリと片付いたことも少なくはなかったという。だが、OSもドライバも新しいものであり、何か問題が発生しても、どれが犯人かが分からない。他社でどうなのか、過去機種でどうなのかが分からない以上、ゼロから調べる必要があった。立花氏は、PCI Expressの初期化の処理をしていないことに気が付いたのだが、実は、その初期化は従来機種でもやっていなかったという。現行機はそれでも何の問題もなく稼働しているのだ。だが、それをしないといけないという情報がIntelにあった。立花氏はBIOSを自分で書き換えて対応した。いくつかのオプションはこっそりと有効にできるようになっていて、BIOSに修正を加えるだけであれば10分以下でできるという。だが、検証には膨大な時間がかかる。

 「OSの動きもなにもかも新しいですからね、何か問題が起こったときに問題かどうかも分からないわけですよ」(中村氏)。

 「後になって、先にこの資料があればよかったのになあというものも多かったですね」(立花氏)。

 「問い合わせると出てくるという感じなんですね」(奥村氏)。

 結局、ソニーと同様に、今回の開発で培ったノウハウはIntelとMicrosoftに情報共有しているという。だが、その情報があったとしても、実現に向けて、これだけのことができるのは日本のベンダーならではではないかとパナソニックは考えているという。

 例えば、仮に、台湾、中国のベンダーがデッドコピーを作ろうとしたとしても、台湾や中国で買えるデバイスと、日本で買えるデバイスは異なるのだという。購買ルートがなく、調達面含めて完全なデッドコピーは難しいという。

 「VAIOのデッドコピーは、我々であれば作ろうと思えば作れるかもしれませんね。でも、ソニーとパナソニックとの違いは、MX3が非InstantGo機があってのInstantGo機である点です。LEDもたくさん付いています。InstangGoでは、スリープ中にはいかなるLEDも点灯していてはいけません。ですから、充電中のインジケーター点灯をわざわざ消すなどの処理が必要になります。専用モデルを設計すればいいのですが、そういうわけにはいかなかったという経緯もあります」(石本氏)。

 メイン基板はまったく別ものと言ってもよく、別の機種を作るのと同じくらいの手間がかかったというMX3だが、InstantGo対応機のスタンダードモデルとして、パナソニックではできれば続けていきたいという。PCがスマートフォンやタブレットにおされている理由として、ユーザビリティの面では劣っていることに言及し、ユーザーからのフィードバックがいいなら、これからタブレットなどの開発にも活かしていけるので継続していきたいとする。

 「毎日使うものなので。常に繋がっているのがうれしいかどうかは顧客が決めることです。ただ、法人の顧客はメールをスマートフォンに転送できないじゃないですか。ですからスリープ中もいち早く、PCでのメール着信を知ることができるなどのメリットもあります」(中村有作氏 同社ソフト設計第二チーム)。

中村有作氏

 「最初にやろうと言い出したころは熱が入っていました。でも、やっているうちに、本当にユーザーがうれしいかどうかが怪しくなってきた面もあります。常に繋がっていることを喜んでいるだけのようなね。もしかしたら後は続かないかもという懸念もありました。でも、ユーザーが求めているならやり続けたいですね」(石本氏)。

 「普通にスリープさせたまま置いておいてもバッテリがもつというメリットはありますね。まだ試行錯誤の状態で、ハイブリッドのクルマが最初に出た頃のような感じですかね。燃費もいまいち、維持も大変で、野暮ったいといったところでしょうか。InstantGoもまだその段階なのかなというのが個人的な感想です。生き残るとすればもうちょっと洗練されていくように思います。それに、最初にMicrosoftが要求した条件はハードルが高すぎたのではないかという想いもあります。例えば、復帰時間の0.3秒などは今0.5秒に緩和されています。しかも、テストを通さなくてもよくなっているんですよ。様子を見ているんじゃないかとも思えます」(奥村氏)。

 InstantGoには夢があると個人的には思っている。カバンの中のPCがずっと仕事をし続けていて、使いたい時には瞬時に目覚めるということを考えただけでもワクワクする。使い勝手の面でも貢献する。その一方で、何が便利なのかを考えたときに、なくても特に困らないという面があるのも現実だ。

 すでに書いたように、プラグを抜く、挿すというだけで状態が遷移することの利便性は本当に高いと思う。でも、それはInstantGo対応でなくても実現できることかもしれない。数々のペナルティの上に成立している現在のInstantGo。ソニー、パナソニックに続くベンダーは現れるのだろうか。

InstantGoに挑んだ技術者たち

(山田 祥平)