(57)【要約】【課題】ソース・デバイスとスリープ状態のターゲット・デバイスをリアルタイムで同期する。【解決手段】ターゲット・デバイスはスリープ状態の間にソース・デバイスから同期信号を受信する（３５２）。ターゲット・デバイスは同期信号の受信に応答してスリープ状態からパワー・オン状態に遷移する（３６１）。パワー・オン状態に遷移する過程でターゲット・デバイスに不正なアクセスがあったことを検出すると同期を停止する（３５９）。不正がない場合にはパワー・オン状態に遷移した後にソース・デバイスから同期データを受信する（３６４）。【選択図】図５
2014026409.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性の記憶装置を備えるターゲット・デバイスがソース・デバイスに同期する方法であって、
スリープ状態の間に前記ソース・デバイスから同期信号を受信するステップと、
前記同期信号の受信に応答して電源を起動しパワー・オン状態に遷移するステップと、
前記パワー・オン状態に遷移した後に前記ソース・デバイスから同期データを受信するステップと、
前記同期データを前記記憶装置に記憶するステップと
を有する方法。
【請求項２】
前記ソース・デバイスと前記ターゲット・デバイスがバックボーン・ネットワークに接続された無線アクセス・ポイントを経由しない直接無線接続が可能で、前記同期信号および前記同期データを前記直接無線接続で受信する請求項１に記載の方法。
【請求項３】
前記同期信号が、前記ソース・デバイスが送信するビーコン・フレームに含まれる請求項２に記載の方法。
【請求項４】
前記同期信号が、前記ソース・デバイスが送信する接続要求フレームに含まれる請求項２または請求項３に記載の方法。
【請求項５】
前記ターゲット・デバイスが、ブート中に不正アクセスの有無を判断するステップを有し、
前記パワー・オン状態に遷移するステップが、前記不正アクセスがないと判断したときにパスワードが設定された前記記憶装置に対するユーザのパスワード入力をスキップし、不正アクセスがあったと判断したときに前記パワー・オン状態への遷移を停止するステップを含む請求項１から請求項４のいずれかに記載の方法。
【請求項６】
前記不正アクセスの有無を判断するステップが、前回のブートから今回のブートまでの間に前記ターゲット・デバイスから前記記憶装置が取り外されたか否かを判断するステップを含む請求項５に記載の方法。
【請求項７】
前記不正アクセスの有無を判断するステップが、前回のブートからブート・デバイスが変更されたか否かを判断するステップを含む請求項５または請求項６に記載の方法。
【請求項８】
前記パワー・オン状態に遷移するステップが、同期に必要としないデバイスの初期化をスキップするステップを含む請求項１から請求項７のいずれかに記載の方法。
【請求項９】
前記パワー・オン状態に遷移するステップが、前記ターゲット・デバイスに接続可能な出力デバイスに対するインターフェース・コントローラをディスエーブルに設定するステップを含む請求項１から請求項８のいずれかに記載の方法。
【請求項１０】
前記同期データの記憶が終了したことに応じて前記ターゲット・デバイスが前記スリープ状態に遷移するステップを有する請求項１から請求項９のいずれかに記載の方法。
【請求項１１】
プロセッサの動作が停止しているターゲット・デバイスをソース・デバイスが同期する方法であって、
同期開始操作に応答して前記ソース・デバイスが同期データを生成するステップと、
前記ソース・デバイスが前記ターゲット・デバイスに前記プロセッサを動作させるための同期信号を送信するステップと、
前記プロセッサが動作したことに応答して前記ソース・デバイスが前記ターゲット・デバイスに前記同期データを送信するステップと
を有する方法。
【請求項１２】
前記同期信号を送信するステップが、前記ソース・デバイスが無線通信のアクティブ・スキャニング方式で前記ターゲット・デバイスを探索するステップを含む請求項１１に記載の方法。
【請求項１３】
ソース・デバイスと同期することが可能な情報端末装置であって、
前記ソース・デバイスと無線通信をする無線モジュールと、
スリープ状態の間に前記ソース・デバイスから前記無線モジュールが受け取った同期信号に応答して電源を起動する電力制御部と、
パワー・オン状態に遷移した後に前記ソース・デバイスから前記無線モジュールを経由して受信した同期データを格納する不揮発性の記憶装置と
を有する情報端末装置。
【請求項１４】
前記無線モジュールは、前記ソース・デバイスの無線モジュールと直接通信して前記同期信号および前記同期データを受信する請求項１３に記載の情報端末装置。
【請求項１５】
電源が起動してから前記パワー・オン状態に遷移するまでのブートを処理するブート処理部を有し、
前記ブート処理部は、前記情報端末装置に対する不正アクセスの有無を判断し、不正アクセスがないと判断したときにパスワードが設定された前記記憶装置に対するユーザのパスワード入力をスキップし、不正アクセスがあったと判断したときにブートを停止する請求項１３または請求項１４に記載の情報端末装置。
【請求項１６】
前記スリープ状態がＡＣＰＩに規定するサスペンド状態またはハイバネーション状態で、
前記ブート処理部は、ＡＣＰＩに規定するソフト・オフ状態から前記パワー・オン状態に遷移するときよりも簡素化した初期化を行って前記スリープ状態から前記パワー・オン状態に遷移する請求項１３から請求項１５のいずれかに記載の情報端末装置。
【請求項１７】
ソース・デバイスと同期することが可能な情報端末装置に、
スリープ状態の間に受け取った電源の起動原因を判断するステップと、
前記起動原因が前記ソース・デバイスと同期するための同期信号であると判断したときに前回のブート以降の前記情報端末装置に対する不正アクセスの有無を判断するステップと、
前記不正アクセスがあったと判断したときに同期処理を停止するステップと
を有する処理を実行させるためのコンピュータ・プログラム。
【請求項１８】
前記情報端末装置が、同期データを記録する不揮発性の記憶装置を有し、
前記不正アクセスの有無を前記記憶装置が前回のブートから今回のブートまでの間に取り付けられた否かを判断する請求項１７に記載のコンピュータ・プログラム。
【請求項１９】
前記不正アクセスがないと判断したときに、ユーザによるＢＩＯＳパスワードの入力をスキップしてパワー・オン状態に遷移させるステップを有する請求項１７または請求項１８に記載のコンピュータ・プログラム。
【請求項２０】
前記不正アクセスがないと判断したときに前記スリープ状態の種類を判断するステップと、
前記スリープ状態の種類に応じて、初期化の程度を変更して前記パワー・オン状態に遷移させるステップを有する請求項１７から請求項１９のいずれかに記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スリープ状態の情報端末装置を同期する技術に関し、さらにはスリープ状態の情報端末装置のセキュリティを確保しながら同期する技術に関する。
【背景技術】
【０００２】
近年、一人のユーザがデスクトップ型パーソナル・コンピュータ（デスクトップＰＣ）、ノートブック型パーソナル・コンピュータ（ノートＰＣ）、タブレット端末装置、およびスマートフォンなどの複数の情報端末装置を保有することが多くなっている。そして、オフィスでは入力操作が容易で高機能のデスクトップＰＣを使用してデータを編集し、外出先では編集したデータをノートＰＣやタブレット端末で引き続き使用したい場合がある。この場合、情報端末装置間でデータの同期が必要となる。
【０００３】
特許文献１は、使用者が意識しないでもデータの同期を行うことができる情報通信装置の発明を開示する。同期データを受け取るＰＤＡは電源オフにおいても無線通信部だけは動作している。データを変更したパソコンがＰＤＡに同期データを送信すると、ＰＤＡは本体またはスケジュール管理ソフトが起動するまで一旦無線通信部のＲＡＭに同期データを記憶する。
【０００４】
その後ＰＤＡは本体およびスケジュール管理ソフトが動作状態になったときに、ＲＡＭのデータを取り出して同期を実行する。また、同文献には、パソコンが更新すべきデータがないときに、ＰＤＡに更新すべきデータが存在するか否かを問い合わせ、ＰＤＡはそれに対して本体およびスケジュール管理ソフトを動作状態にしてからパソコンに同期データを送信することが記載されている。
【０００５】
特許文献２は、アプリケーション・サーバのデータ・ベースと電源が常には入っていない情報端末のデータ・ベースを同期する技術を開示する。アプリケーション・サーバから電源が入っていない情報端末に送ったデータは、一旦パケット通信装置のデータ・バッファに記憶する。そしてバッファに記憶されたデータは、情報端末の電源を立ち上げた後に送られる。特許文献３は、磁気ディスク装置にＨＤＤパスワードを設定する技術を開示する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−１９０８４５号公報
【特許文献２】特開２００２−１８２９６１号公報
【特許文献３】特開２００８−５２７０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ユーザがデスクトップＰＣで編集したデータをノートＰＣに同期する場合は、同期データの移動に関してデスクトップＰＣがソース・デバイスとなりノートＰＣがターゲット・デバイスとなる。ターゲット・デバイスはたとえば鞄の中に収納されて同期の際にはスリープ状態に遷移している。同期は転送元と転送先の情報端末装置がともにパワー・オン状態で行う必要があるため、同期のためにノートＰＣを鞄から取り出して一旦パワー・オン状態に遷移させ、その後再びスリープ状態に戻す必要がありこの操作は面倒である。
【０００８】
特許文献１または特許文献２の発明を利用して、スリープ状態に遷移しているターゲット・デバイスに同期データを転送する方法がある。特許文献１および特許文献２の発明では、いずれもターゲット・デバイスの電源が停止して同期できないときは、一旦、バッファにデータを記憶しておきターゲット・デバイスの電源が起動したあとに同期が行われる。しかし、このような方法では同期データのサイズが大きくなるとそれに見合ったバッファを用意する必要があるため、特に画像や音声データなどのサイズの大きいファイルを転送するにはバッファのコストが増大する。さらに、ノートＰＣのブートのタイミングでバッファのデータをディスク・ドライブに書き込む処理をすると、プロセッサやディスク・ドライブの利用がブート処理と競合してターゲット・デバイスのブート時間が遅延するという問題も生ずる。
【０００９】
したがって、同期データの転送のために１回の転送操作をするだけで自動的に、ソース・デバイスがターゲット・デバイスをスリープ状態からパワー・オン状態に遷移させ、同期データを転送し、さらに同期が終了したあとにターゲット・デバイスをスリープ状態に遷移できれば都合がよい。しかし、スリープ状態のターゲット・デバイスに対する操作をしないで自動的に同期するためにはさらに課題が残る。
【００１０】
ノートＰＣのような可搬式のターゲット・デバイスは特に盗難の可能性が高いため、ユーザは通常ディスク・ドライブにパスワードを設定しておく。このときソース・デバイスから受け取った同期信号でターゲット・デバイスがパワー・オン状態に遷移するときにＢＩＯＳがユーザにパスワード入力を要求するためターゲット・デバイスの操作が必要になる。
【００１１】
これを回避するためにＢＩＯＳがユーザに代わってセキュアな領域に記憶しておいたパスワードを自動的にディスク・ドライブに送信する方法もある。しかし、ターゲット・デバイスとソース・デバイスが無線で接続される場合は、ターゲット・デバイスがユーザの監視下にないことを想定する必要がある。悪意のある第３者はディスク・ドライブのインターフェース回路に盗聴装置を装着してから同期信号を擬装して電源を起動し、ＢＩＯＳがディスク・ドライブに送るパスワードを盗聴することが可能になる。また、ターゲット・デバイスにＵＳＢメモリや外付けのディスク・ドライブなどを不正に装着して同期データが盗聴する可能性もある。
【００１２】
そこで本発明の目的はソース・デバイスとスリープ状態のターゲット・デバイスをリアルタイムで同期する方法を提供することにある。さらに本発明の目的は、ターゲット・デバイスの操作をしないで同期する方法を提供することにある。
さらに本発明の目的は、ターゲット・デバイスのセキュリティを確保しながら同期する方法を提供することにある。さらに本発明の目的は短時間で同期する方法を提供することにある。さらに本発明の目的は、そのような方法を実現するコンピュータ・プログラムおよび情報端末装置を提供することにある。
【課題を解決するための手段】
【００１３】
本発明の一の態様は、不揮発性の記憶装置を備えるターゲット・デバイスがソース・デバイスに同期する方法を提供する。ターゲット・デバイスは不揮発性の記憶装置を備える。ターゲット・デバイスはスリープ状態の間にソース・デバイスから同期信号を受信する。ターゲット・デバイスは同期信号の受信に応答して電源が起動しパワー・オン状態に遷移する。ターゲット・デバイスはパワー・オン状態に遷移した後にソース・デバイスから同期データを受信する。ターゲット・デバイスは受信した同期データを記憶装置に記憶する。このような構成によれば、スリープ状態のターゲット・デバイスをリアルタイムで同期することができる。また、ターゲット・デバイスに対してユーザは同期のための操作をする必要がない。
【００１４】
ソース・デバイスとターゲット・デバイスがバックボーン・ネットワークに接続された無線アクセス・ポイントを経由しない直接無線接続が可能な場合には、ターゲット・デバイスは同期信号および同期データを直接無線接続で受信することができる。このような構成を採用すれば、バックボーン・ネットワークを利用できないような場所や、バックボーン・ネットワークに参加できないようなデバイスでも同期することができる。
【００１５】
同期信号は、ソース・デバイスが送信するビーコン・フレームに含めることができる。ビーコン・フレームを利用して同期信号を送信すると、無線モジュールによる認証およびアソシエーションの手順と、ブートの手順を並行して行うことができるため、同期処理の時間を短縮することができる。同期信号は、ソース・デバイスが送信する接続要求フレームに含ませることができる。接続要求フレームに対してターゲット・デバイスが接続応答フレームを送信してアソシエーションが終了してから電源を起動するようにすれば、確認のとれたターゲット・デバイスからの同期信号でブートさせることができる。
【００１６】
ターゲット・デバイスは、ブート中に不正アクセスの有無を判断することができる。そして、パワー・オン状態に遷移する際に、不正アクセスがないと判断したときにパスワードが設定された記憶装置に対するユーザのパスワード入力をスキップし、不正アクセスがあったと判断したときにパワー・オン状態への遷移を停止することができる。したがって、ターゲット・デバイスのセキュリティを確保しながら、ターゲット・デバイスに対するユーザの操作を省いて同期させることができる。
【００１７】
不正アクセスの有無の判断は、前回のブートから今回のブートまでの間にターゲット・デバイスから記憶装置が取り外されたか否かで判断することができる。あるいは、不正アクセスの有無は、前回のブートからブート・デバイスが変更されたか否かで判断することもできる。パワー・オン状態に遷移する際に、同期に必要としないデバイスの初期化をスキップして同期処理の時間を短縮することができる。
【００１８】
パワー・オン状態に遷移する際に、ターゲット・デバイスに接続可能な出力デバイスに対するインターフェース・コントローラをディスエーブルに設定することができる。その結果、不正に出力デバイスが接続されて同期データが盗聴されることを防ぐことができる。同期データの記憶が終了したことに応じてターゲット・デバイスがスリープ状態に遷移することができる。したがって、同期の開始から終了までの間に一切の操作をしないで、ターゲット・デバイスを元のスリープ状態に戻すことができる。
【００１９】
本発明の他の態様では、プロセッサの動作が停止しているターゲット・デバイスをソース・デバイスが同期する方法を提供する。ソース・デバイスが同期データを生成する。同期開始操作に応答してソース・デバイスがターゲット・デバイスにプロセッサを動作させるための同期信号を送信する。プロセッサが動作したことに応答してソース・デバイスがターゲット・デバイスに同期データを送信する。同期信号は、ソース・デバイスが無線通信のアクティブ・スキャニング方式でターゲット・デバイスを探索することで送信することができる。
【発明の効果】
【００２０】
本発明により、ソース・デバイスとスリープ状態のターゲット・デバイスをリアルタイムで同期する方法を提供することができた。さらに本発明により、ターゲット・デバイスの操作をしないで同期する方法を提供することができた。さらに本発明により、ターゲット・デバイスのセキュリティを確保しながら同期する方法を提供することができた。さらに本発明により、短時間で同期する方法を提供することができた。さらに本発明により、そのような方法を実現するコンピュータ・プログラムおよび情報端末装置を提供することができた。
【図面の簡単な説明】
【００２１】
【図１】本実施の形態にかかる同期処理の概要を説明する図である。
【図２】本実施の形態にかかるノートＰＣ１００の主要な構成を示す機能ブロック図である。
【図３】ＳＳＤ１２３に対する不正の有無を判断する真理値表である。
【図４】ＢＩＯＳ＿ＲＯＭ１２５のデータ構造を示す図である。
【図５】同期処理の手順を示すフローチャートである。
【図６】ターゲット・デバイスにおけるブート処理の手順を示すフローチャートである。
【図７】ターゲット・デバイスにおけるブート処理の手順を示すフローチャートである。
【図８】同期処理の他の手順を示すフローチャートである。
【発明を実施するための形態】
【００２２】
［同期処理の概要］
図１は、本実施の形態にかかる同期処理の概要を説明する図である。図１には、一例として、デスクトップＰＣ１１、ノートＰＣ１３、タブレット端末１５、ＰＤＡ１７、およびスマートフォン１９などの情報端末装置が直接無線で接続されてネットワークを構成している様子を示している。デスクトップＰＣ１１と他の情報端末装置は、バックボーン・ネットワーク３１に接続されたＷＬＡＮのアクセス・ポイント（ＡＰ）３３を経由しないでデバイス同士が直接無線で接続されている。このようなデバイス同士の直接的な無線接続方式を、以後、デバイス・ツー・デバイス（Ｄ２Ｄ）接続ということにする。IEEE 802.11に規定するアドホック・モードはＤ２Ｄ接続の典型的な例である。
【００２３】
Ｄ２Ｄ接続は、ＷＬＡＮが存在しない環境での同期処理やＷＬＡＮに参加できない情報端末装置を含むグループでの同期処理を可能にする。ただし、本発明は情報端末装置同士が有線で接続される場合や、ＡＰ３３を経由するＷＬＡＮのネットワークで接続される場合にも適用できることは以下の説明により明らかになる。これらの情報端末装置はたとえば同一のユーザに所有されたり特定のメンバーを構成したりして、互いに信頼関係を構築している。
【００２４】
デスクトップＰＣ１１は、一例ではキーボードおよび大型のディスプレイを備えており高度の編集機能を保有している。ユーザはデスクトップＰＣ１１でデータを編集し、新規に作成した同期データまたは前回の同期からの差分にかかる同期データで他の情報端末装置を同期しようとしている。以後、同期データの転送元となるデスクトップＰＣ１１をソース・デバイスということにする。これに対してノートＰＣ１３、タブレット端末１５、ＰＤＡ１７、およびスマートフォン１９は同期データの転送先となり、以後、これらを総称してターゲット・デバイスということにする。
【００２５】
ソース・デバイスとターゲット・デバイスの関係は固定する必要はなく、データを編集したいずれのデバイスもソース・デバイスになることができる。ソース・デバイスとターゲット・デバイスはいずれも同一のまたは互換性があるアプリケーション・プログラム（アプリケーション）を実装している。ターゲット・デバイスは、少なくとも同期データが転送されるときは後に説明するスリープ状態に遷移している。
【００２６】
ユーザは同期のためにソース・デバイスに対する操作はするが、ターゲット・デバイスに対する操作をする必要はない。ソース・デバイスに対する操作に応じてターゲット・デバイスはスリープ状態からパワー・オン状態に遷移し、同期が終わると元のスリープ状態に戻る。また、ターゲット・デバイスはセキュリティを確保しながらスリープ状態からパワー・オン状態に遷移する。
【００２７】
［情報端末装置とパワー・ステート］
図２は、情報端末装置の一例としてのノートＰＣ１００のハードウェアの構成を示す機能ブロック図である。多くのハードウェアの構成は周知であるため、ここでは本発明に必要な範囲で説明する。ノートＰＣ１００は、ソース・デバイスおよびターゲット・デバイスのいずれにもなり得る。メモリ・コントロール・ハブ（ＭＣＨ）１１３には、ＣＰＵ１１１、メイン・メモリ１１５、ビデオ・コントローラ１１７およびアイオー・コントロール・ハブ（ＩＣＨ）１２１が接続されている。ビデオ・コントローラ１１７には、ＬＣＤ１１９が接続されている。
【００２８】
ＩＣＨ１２１はさまざまな規格のインターフェース機能を備え、図１には代表的にＳＡＴＡにＳＳＤ１２３が接続され、ＳＰＩにＢＩＯＳ＿ＲＯＭ１２５が接続され、ＵＳＢにＵＳＢ端子１２６が接続され、ＰＣＩｅにＷＬＡＮモジュール１２７が接続され、ＬＰＣにエンベデッド・コントローラ（ＥＣ）１３１およびＮＶＲＡＭ１３３が接続されている。ＮＶＲＡＭ１３３のセキュアな記憶領域には、パワー・オン・パスワードおよびＳＳＤパスワードなどのＢＩＯＳパスワード、データを同期するグループ・メンバーのＭＡＣアドレス、グループ・メンバーが同期に使用する特別なＥＳＳＩＤおよび認証コードなどが登録されている。
【００２９】
ＥＣ１３１には、キーボード１２９およびパワー・コントローラ１３５が接続されている。パワー・コントローラ１３５には、ＤＣ／ＤＣコンバータ１３９の制御回路およびパワー・ボタン１４５が接続されている。パワー・コントローラ１３５はさらに、タンパー検出ライン１４１でＳＳＤ１２３に接続され、同期イベント・ライン１４３でＷＬＡＮモジュール１２７に接続されている。
【００３０】
ノートＰＣ１００は、ＡＣＰＩ（Advanced Configuration and Power Interface）の省電力機能およびプラグ・アンド・プレイに対応している。ＡＣＰＩでは、Ｓ１ステートからＳ４ステートまでの４つのスリーピング・ステート（スリープ状態）、Ｓ０ステート（パワー・オン状態）、Ｓ５ステート（パワー・オフ状態）を定義している。ノートＰＣ１００はＡＣＰＩのスリープ状態のなかで、Ｓ３ステートとＳ４ステートだけを定義している。
【００３１】
Ｓ３ステートはいわゆるサスペンド状態といわれ、メイン・メモリ１１５の記憶は保持され、メイン・メモリ１１５の記憶保持に必要のない電源は停止する。Ｓ３ステートに入る際にオペレーティング・システム（ＯＳ）は電源が停止するデバイスが保持していたシステム・コンテキストをメイン・メモリ１１５に退避し、電源が復帰したときに各デバイスに復帰する。
【００３２】
Ｓ４ステートはＡＣＰＩでサポートされるスリープ状態の中で最も復帰までの時間が長いパワー・ステートでハイバネーション状態といわれる。ノートＰＣ１００がＳ０ステートからＳ４ステートに遷移する際には、ＯＳがＳＳＤ１２３にメイン・メモリ１１５の記憶内容を含むノートＰＣ１００の直前のシステム・コンテキストを格納すると、ＥＣ１３１はパワー・コントローラ１３５やリッド・センサ（図示せず）などの電源の起動に必要な最小限のデバイス以外のデバイスに対する電源を停止する。
【００３３】
Ｓ５ステートはいわゆるソフト・オフといわれるパワー・ステートで、ＯＳがコンテキストをＳＳＤ１２３に退避しない点を除いては基本的に電力を供給するデバイスの範囲はＳ４ステートと同じである。以下においては、Ｓ３ステート、Ｓ４ステート、およびＳ５ステートを総称するときはＳｘステートと記載する。Ｓｘステートに対してＳ０ステートは原則としてノートＰＣ１００が動作するために必要なすべてのデバイスに電力が供給されかつブートまたはレジュームが完了した状態である。ＳｘステートからＳ０ステートに遷移する動作を適宜ウェイクアップということにする。
【００３４】
本発明においてはさらにパワー・ステートを遷移させる際のソフトウェア上の実行主体がＯＳとＢＩＯＳのいずれであるかという視点に基づいてＳ３４ステートを定義する。Ｓ３４ステートは、ＯＳがＳ０ステートからＳ３ステートに遷移させ、その後自動的にＢＩＯＳがＳ３ステートからＳ４ステートに遷移させた状態である。Ｓ０ステートからＳｘステートへ移行させる処理はＯＳが行うため、ＯＳが認識しているパワー・ステートと実際のパワー・ステートは一致するのが原則である。これに対してＳ３４ステートでは、ＯＳは遷移先がＳ３ステートであると認識しているが、電源状態とデータ状態は実質的にはＳ４ステートに相当する。
【００３５】
ＯＳはＳ３ステートに遷移するときに、システム・コンテキストにＳ３ステートからＳ０ステートに復帰するコードを含めているため、Ｓ３４ステートからＳ０ステートに直接復帰させることはできない。Ｓ３４ステートからＳ０ステートに復帰するときは、ＢＩＯＳが一旦システムをＳ３４ステートからＳ３ステートに復帰させた後にＢＩＯＳから制御権を引き継いだＯＳがＳ３ステートからＳ０ステートに復帰させる必要がある。
【００３６】
これに対しＳ４ステートに遷移するときは、ＯＳがシステム・コンテキストをメイン・メモリ１１５に書き込んだ後に、メイン・メモリ１１５が記憶するデータをＯＳがＳＳＤ１２３に退避する。ＯＳは、システム・コンテキストにＳ４ステートからＳ０ステートに復帰するコードを含めているため、システムをＳ４ステートからＳ０ステートに直接復帰させることができる。Ｓ０ステートからＳ３４ステートに遷移する際に、Ｓ３ステートに一時的に留まっている時間をＳ３４時間ということにする。本明細書ではＳ３４ステートをスリープ状態およびＳｘステートに含めて説明する。
【００３７】
ＳｘステートからＳ０ステートに遷移する際には、リセットされたデバイスに対してＢＩＯＳがＰＯＳＴ（Power On Self Test）を実行する。ＰＯＳＴは、ＣＰＵ１１１にリセット信号が供給されてから、ＯＳのロードを開始するまでの間に、ＢＩＯＳ＿ＲＯＭ１２５に格納されたコードがチップ・セット１１３、１２１のコントローラや周辺デバイスにパラメータを設定して使用できる状態にする作業をいう。ＰＯＳＴは、ＣＰＵ１１１がリセットされてからＯＳがロードを開始するまでにＢＩＯＳコードが行うすべての処理であったり、あるいはその中からＣＰＵ１１１およびメイン・メモリ１１５などの基本的なデバイスに対する初期化以外の処理を除いた処理であったりする。
【００３８】
ＩＣＨ１２１は、図示しないＲＴＣ（Real Time Clock）とＲＴＣメモリ１５１を含んでいる。ＲＴＣおよびＲＴＣメモリ１５１は、ＡＣ／ＤＣアダプタおよび電池パックの電力が停止して、ＩＣＨ１２１にＤＣ／ＤＣコンバータ１３９から電力が供給されないときにボタン電池から電力の供給を受けることができる。ＲＴＣメモリ１５１は、ＢＩＯＳのセット・アップ・データおよびＲＴＣが生成した時間情報などを記憶する揮発性メモリである。ＲＴＣメモリ１５１は、Ｓ３ステートに遷移する際にＢＩＯＳが参照するＳ３４フラグおよびＳ３４時間を記憶する。ＲＴＣメモリ１５１へのＳ３４フラグおよびＳ３４時間の設定は、ＢＩＯＳセット・アップ・コード２３３（図４参照）がＢＩＯＳ＿ＲＯＭ１２５のデータ領域２８３へＳ３４イネーブルを設定する際に行う。
【００３９】
Ｓ３４フラグは、ＯＳがノートＰＣ１０をＳ３ステートに遷移させたときに、Ｓ３４ステートに遷移する処理をするようにＢＩＯＳに指示したり、ＢＩＯＳがＳＳＤ１２３に対する不正アクセスを検出して実行パスを決定したりするための情報である。Ｓ３４時間は、ＯＳがシステムをＳ３ステートに遷移させてからＢＩＯＳが自動的にＳ３４ステートに遷移させるまでの時間をいう。
【００４０】
ＩＣＨ１２１は、ＡＣＰＩが規定するレジスタ１５３と、レジスタ１５５、１５７を含む。レジスタ１５３、１５５、１５７はＳｘステートで電源が維持される。レジスタ１５３は、ＡＣＰＩに規定するＳＬＰ＿ＴＹＰレジスタおよびＳＬＰ＿ＥＮレジスタに相当する。レジスタ１５３はＳ０ステートからＳｘステートに遷移する際に遷移先のパワー・ステートがＯＳにより設定される。レジスタ１５５には、Ｓ３ステートに遷移してからＳ３４時間が経過したときにＲＴＣによりタイム・アップ・ビットが設定される。レジスタ１５７には、ＷＬＡＮモジュール１２７が同期イベントを出力したときに同期ビットが設定される。
【００４１】
ＳＳＤ１２３はディスク・ドライブの一例で、ＯＳ、デバイス・ドライバ、アプリケーション、ユーティリティ・プログラムおよびユーザ・データなどを記憶するためのフラッシュ・メモリで構成された記憶領域を備える大容量の記憶装置である。ＳＳＤ１２３には、認証コード２１１が提供するインターフェースを通じてユーザがパスワードを設定することができる。ノートＰＣ１００は、ＳＳＤ１２３に代えてハードディスク・ドライブや他の不揮発性の記憶装置を搭載することもできる。ＳＳＤ１２３は、本実施の形態の同期処理に直接関連する編集アプリケーション１９１、同期ユーティリティ１９３、および同期データ１９５を格納する。
【００４２】
編集アプリケーション１９１は、文書、画像、および映像などのデータを作成するプログラムとすることができる。同期ユーティリティ１９３は、同期のための認証およびデータの送受信のための処理をするプログラムである。同期データ１９５は、ノートＰＣ１００がソース・デバイスとして動作するときは、編集アプリケーション１９１を通じてユーザが作成したデータに相当し、ノートＰＣ１００がターゲット・デバイスとして動作するときは、ソース・デバイスから受信した編集アプリケーション１９１に関連付けられたデータに相当する。ＳＳＤ１２３はブート・デバイスでノートＰＣ１００が起動するときにロードされるブート・イメージを格納している。ＳＳＤ１２３の記憶領域はシステム領域とユーザ領域に区分されている。
【００４３】
システム領域はＳＳＤ１２３のファームウェアを記憶し、ユーザによるデータの書き込みや読み出しのためのアクセスを禁止している領域である。ＢＩＯＳがＳＳＤ１２３にＳＳＤパスワードとロック・コマンドを送ると、ファームウェアがＳＳＤパスワードを設定して、設定したＳＳＤパスワードをシステム領域に記憶する。ＳＳＤパスワードが設定されたＳＳＤ１２３に、ＢＩＯＳがＳＳＤパスワードとロック解除コマンドを送ると、ファームウェアが認証してロックを解除し、システムからユーザ領域へのアクセスを許可する。なお、パスワードが設定されたＳＳＤ１２３は、一旦ロックが解除されても、電源が停止したりリセット信号が供給されたりすると再び自動的にロックされる。ＢＩＯＳ＿ＲＯＭ１２５のデータ構造は、図４を参照して後に説明する。また、Ｄ２Ｄ通信を行うＷＬＡＮモジュール１２７についても後に説明する。
【００４４】
ＥＣ１３１は、ＣＰＵ、ＲＯＭ、ＲＡＭなどで構成されたマイクロ・コンピュータであり、さらに複数チャネルのＡ／Ｄ入力端子、Ｄ／Ａ出力端子、タイマー、およびディジタル入出力端子を備えている。ＥＣ１３１は、ノートＰＣ１０の内部の動作環境の管理にかかるプログラムをＣＰＵ１１１とは独立して実行することができる。ＥＣ１３１は、キーボード・コントローラを含んでいる。
【００４５】
パワー・コントローラ１３５は、ＥＣ１３１からの指示に基づいてＤＣ／ＤＣコンバータ１３９を制御するワイヤード・ロジックのディジタル制御回路（ＡＳＩＣ）である。パワー・コントローラ１３５は、レジスタ１８１、１８３、１８５を備えている。パワー・コントローラ１３５は、Ｓｘステートのときにも電源が維持されている。ＤＣ／ＤＣコンバータ１３９は、図示しないＡＣ／ＤＣアダプタまたは電池パックから供給される直流電圧を、ノートＰＣ１００を動作させるために必要な複数の電圧に変換し、さらにパワー・ステートに応じて定義された電力供給区分に基づいて各々のデバイスに電力を供給する。
【００４６】
パワー・コントローラ１３５は、同期イベント・ライン１４３を通じてＷＬＡＮモジュール１２７から同期イベントを受け取ったときに、ノートＰＣ１００がパワー・オン状態で動作するすべてのデバイスに電力を供給するようにＤＣ／ＤＣコンバータ１３９を制御する。パワー・コントローラ１３５は、ＷＬＡＮカード１２７から同期イベント・ライン１４３を通じて同期イベントを受け取ったときにレジスタ１８５を論理値１（同期ビット）に設定する。ＥＣ１３１は、レジスタ１８５の同期ビットをＩＣＨ１２１のレジスタ１５７に書き込む。ＷＬＡＮモジュール１２７は、ＩＣＨ１２１、およびＥＣ１３１を通じて同期イベントをパワー・コントローラ１３５に送ることもできる。この場合は、スリーピング・ステートに遷移している間、ＩＣＨ１２１の同期イベントを処理する回路およびＥＣ１３１に電力を供給しておく必要がある。
【００４７】
タンパー検出ライン１４１は、パワー・コントローラ１３５と同じ電源でプルアップされている。ＳＳＤ１２３はノートＰＣ１００に装着されている間、タンパー検出ライン１４１の電位をグランド・レベルに維持している。ＳＳＤ１２３がノートＰＣ１００から取り外されるとタンパー検出ライン１４１の電位が上昇する。パワー・コントローラ１３５の論理回路は、タンパー検出ライン１４１の電位が上昇するときのリーディング・エッジを検出するとレジスタ１８１を論理値１（タンパー・ビット）に設定する。
【００４８】
ＢＩＯＳは、パワー・オン・パスワードまたはＳＳＤパスワードの認証を終えてブートが成功したときにレジスタ１８３を論理値１（パワー・ビット）に設定し、レジスタ１８１を論理値０に設定する。ＢＩＯＳは、Ｓｘステートからウェイクアップする際に、図３に示す真理値表でＳｘステートの間にＳＳＤ１２３がＩＣＨ１２１から外されたか否かを判断する。
【００４９】
スリープ状態の間にＳＳＤ１２３がＩＣＨ１２１から外されて再装着されると、タンパー検出ライン１４１の電位が一旦上昇してからゼロになる。パワー・コントローラ１３５の論理回路は、タンパー検出ライン１４１の電位のリーディング・エッジを検出してレジスタ１８１のタンパー・ビットを論理値１に設定する。スリープ状態の間に、もし、パワー・コントローラ１３５の電源が停止した場合には、レジスタ１８１のタンパー・ビットはクリアされて論理値０になるが同時にレジスタ１８３のパワー・ビットもクリアされて論理値０になる。
【００５０】
このような状態は、ＳＳＤ１２３とＩＣＨ２１の間に盗聴装置を挿入するような場合にも発生するためＢＩＯＳは真理値表を使って、ＳＳＤ１２３に対する不正アクセスが発生したと判断することができる。このようにＢＩＯＳは、前回のブートから今回のブートまでの間にＳＳＤ１２３がノートＰＣ１００から取り外されると、同一のＳＳＤ１２３が再装着されてもまた新たなＳＳＤが再装着されても、ＢＩＯＳは今回のブートにおいてそれを検出することができる。
【００５１】
［Ｄ２Ｄ通信］
Ｄ２Ｄ通信は、デバイス・ドライバおよびＯＳとＷＬＡＮモジュール１２７が共同して行うことができる。ＷＬＡＮモジュール１２７は、Ｄ２Ｄ通信と同時にまたは切り換えることでバックボーン・ネットワーク３１に接続してインフラスト・ラクチャ・モードで無線通信ができるように構成してもよい。ＷＬＡＮモジュール１２７はＤ２Ｄ通信をする際に、アドホック・モードで１台または複数台の情報端末装置とだけ接続するように構成してもよい。あるいは、ＷＬＡＮモジュール１２７は、「Soft AP」という技術で複数の情報端末装置と接続するように構成してもよい。
【００５２】
Ｄ２Ｄ通信には、１つの無線コントローラを仮想化して複数の無線コントローラに見せかける「Virtual WiFi」といった機能や、ＡＰの機能をエミュレートする「Soft AP」の機能を搭載するWindows７（登録商標）を採用することができる。あるいは、インテル社（インテルは登録商標）のMy WiFi Technologyを採用することもできる。本実施の形態では、WiFi Allianceにより策定されたWiFi Directという通信技術を例にして説明する。WiFi Directを採用すると、１つの情報端末装置をSoft APとして機能させて複数の情報端末装置の接続を可能にするとともに、グループを形成した情報端末装置との間でＡＰやルータを利用しないＤ２Ｄ通信ができる。
【００５３】
〔ＢＩＯＳ＿ＲＯＭの構成〕
図４はＢＩＯＳ＿ＲＯＭ１２５のデータ構造を示す図である。ＢＩＯＳ＿ＲＯＭ１２５に格納されたＢＩＯＳコードは、一例としてＵＥＦＩファームウェアで構成している。ＢＩＯＳ＿ＲＯＭ１２５は、ＢＩＯＳコードを格納するＢＩＯＳ領域２８１とＢＩＯＳコードが利用するデータ領域２８３を含む。ＢＩＯＳ＿ＲＯＭ１２５はＢＩＯＳコードの書き換えに伴うリスクを軽減するためにブート・ブロック方式を採用している。ＢＩＯＳ領域２８１はブート・ブロック２８５とシステム・ブロック２８７に分かれている。ブート・ブロック２８５は書き込み保護がされている記憶領域でここに格納されたプログラムはＴＰＭ（Trusted Platform Module ）の仕様書に規定するＣＲＴＭ(Core Root of Trust for Measurement）として扱われ特別な権限がないと書き換えができないようになっている。
【００５４】
ブート・ブロック２８５には基本デバイス初期化コード２０１、一貫性認証コード２０３、ＰＯＳＴ選択コード２０５および退避コード２０７がＣＲＴＭとして格納されている。ＣＲＴＭは、ＢＩＯＳコードの中で一貫性のある部分として構成され、ノートＰＣ１００がブートするときに必ず最初に実行される。基本デバイス初期化コード２０１は、ノートＰＣ１００の電源が起動してウェイクアップする際に、メイン・メモリ１１５にＢＩＯＳコードをロードして実行を開始するまでの処理に必要なＣＰＵ１１１、メイン・メモリ１１５およびその他の基本的なデバイスの検出、検査および初期化を最低限の範囲で行う。一貫性認証コード２０３はノートＰＣ１００のプラットフォームに関するすべての一貫性の計測を行う。
【００５５】
ＰＯＳＴ選択コード２０５は、ＩＣＨ１２１のレジスタ１５３、１５７、ＲＴＣメモリ１５１のＳ３４フラグ、パワー・コントローラ１３５のレジスタ１８１、１８３を参照して、基本ＰＯＳＴコード２０９、簡易ＰＯＳＴコード２１３またはＳ３ＰＯＳＴコード２１５のいずれを実行するかを判断して実行パスを制御する。ＰＯＳＴ選択コード２０５は、ＷＬＡＮモジュール１２７が生成する同期イベントが原因で電源が起動したときは、遷移元がＳ３ステート、Ｓ３４ステート、またはＳ４ステートのいずれかの場合だけブートを継続する。
【００５６】
ＰＯＳＴ選択コード２０５は、ＷＬＡＮモジュール１２７が生成する同期イベントが原因でＳ３４ステートまたはＳ４ステートからウェイクアップする際に、簡易ＰＯＳＴコード２１３を選択する。ＰＯＳＴ選択コード２０５は、ＷＬＡＮモジュール１２７が生成する同期イベントが原因でＳ３ステートからウェイクアップする際に、Ｓ３ＰＯＳＴコード２１５を選択する。
【００５７】
ＰＯＳＴ選択コード２０５は、スリープ状態の間に行われたＳＳＤ１２３に対する不正アクセスを検出したりブート・デバイスが変更されたりしたことを検出したときに、ウェイクアップを中断して強制的にシャットダウンする。退避コード２０７は、Ｓ０ステートからＳ３４ステートに遷移する際に、Ｓ３ステートにおけるメイン・メモリ１１５の状態をＳＳＤ１２３に転送する。退避コード２０７は、ＯＳとは異なってメイン・メモリ１１５の記憶領域のデータ構造を認識していないため、原則として記憶領域の開始アドレスから最終アドレスまでのメイン・メモリ１１５のアドレス全体の記憶状態をそっくりＳＳＤ１２３にコピーする。
【００５８】
基本ＰＯＳＴコード２０９は、パワー・ボタン１４５の押下といったようなＷＬＡＮモジュール１２７が生成する同期イベント以外の原因でＳ４ステートまたはＳ５ステートからウェイクアップする際に、すべての内部デバイスを対象にして検出、検査、および初期化といった完全なＰＯＳＴ処理を行う。基本ＰＯＳＴコード２０９は、所定のデバイスが検出できないときおよび検査の結果デバイスが正常に動作しないと判断したときにビープ音や画面表示によるエラーを出力する。基本ＰＯＳＴコード２０９は、ＭＣＨ１１３およびＩＣＨ１２１に接続されている周辺デバイスからパラメータを取得して現在のシステムにおいて最適なパラメータを選択しＭＣＨ１１３およびＩＣＨ１２１が含むコントローラに設定する。
【００５９】
このように内部デバイスを検査してそこから取得した情報に基づいて選択した最適なパラメータをコントローラに設定することを初期化といい、いずれかの場所に保存しておいた過去に設定したパラメータを対応するコントローラに設定することをリストアということにする。リストアは、内部デバイスの検出、検査および最適パラメータの選択のための処理を省略するので初期化に比べて短時間で完了することができる。
【００６０】
認証コード２１１は、パワー・オン・パスワード、ＳＳＤパスワード、および管理者パスワードなどのＢＩＯＳパスワードの設定のためのプロンプトをＬＣＤ１１９に表示したり、入力されたパワー・オン・パスワードをシステムに送ったり、またはＳＳＤパスワードをＳＳＤ１２３に送ってロックを解除したりする。いずれかのＢＩＯＳパスワードが設定されているときに、基本ＰＯＳＴコード２０９の実行の途中または終了したときに認証コード２１１が必ず実行される。いずれのＢＩＯＳパスワードも設定されていないときは制御権が移っても認証コード２１１は実行されない。
【００６１】
簡易ＰＯＳＴコード２１３は、ウェイクアップする際に、一部のデバイスの検出、検査、および最適なパラメータの選択などのＰＯＳＴ処理を省略して基本ＰＯＳＴコード２０９よりも短時間でブートを完了する。簡易ＰＯＳＴコード２１３は、ＵＳＢデバイス、キーボード１２９などのような同期処理に必要がないデバイスや、動作のタイミングからＯＳが初期化をしても問題がないようなデバイスなどのＰＯＳＴ処理を省略することができる。
【００６２】
簡易ＰＯＳＴコード２１３は、Ｓ４ステートまたはＳ５ステートからブートするときに基本ＰＯＳＴコード２０９が設定した最適なパラメータやそのときのデバイスの情報などをＢＩＯＳ＿ＲＯＭ１２５のデータ領域２８３またはＮＶＲＡＭ１３３に格納しておき、ブートするときに基本的なデバイスを除いて格納しておいたパラメータをリストアすることでＰＯＳＴ時間を短縮することができる。
【００６３】
簡易ＰＯＳＴコード２１３は、基本ＰＯＳＴコード２０９よりも復帰時間を短縮することを目的にして構成するため、ユーザにパワー・オン・パスワードおよびＳＳＤパスワードの入力を要求しない。簡易ＰＯＳＴコード２１３は、ユーザに代わってＮＶＲＡＭ１３３に格納されたパワー・オン・パスワードおよびＳＳＤパスワードをシステムおよびＳＳＤ１２３に自動的に送付してロックを解除する。簡易ＰＯＳＴコード２１３は、ＩＣＨ１２１のＥＳＡＴＡやＵＳＢなどの外付けの出力デバイスに対するインターフェース・コントローラをディスエーブルに設定することができる。
【００６４】
Ｓ３ＰＯＳＴコード２１５は、Ｓ３ステートからＳ０ステートに遷移する際にＳＭＩハンドラに呼び出されて実行される。Ｓ３ＰＯＳＴコード２１５は、簡易ＰＯＳＴコード２１３よりも短時間でＰＯＳＴ処理を完了する。Ｓ４ステートまたはＳ５ステートからブートする際に基本ＰＯＳＴコード２０９が設定したパラメータは、Ｓ０ステートにおいてメイン・メモリ１１５に記憶される。Ｓ０ステートからＳ３ステートにサスペンドするときには、メイン・メモリ１１５に記憶されたパラメータおよびＳ３ＰＯＳＴコード２１５の記憶が維持される。Ｓ３ＰＯＳＴコード２１５は、メイン・メモリ１１５に記憶されたパラメータをリストアすることで短時間にコントローラの設定を完了することができる。
【００６５】
Ｓ３ＰＯＳＴコード２１５は簡易ＰＯＳＴコード２１３と同様に、ユーザ入力に代えてパワー・オン・パスワードおよびＳＳＤパスワードを自動的に送付してロックを解除する。Ｓ３ＰＯＳＴコード２１５は簡易ＰＯＳＴコード２１３と同様に、ＩＣＨ１２１のＥＳＡＴＡやＵＳＢなどの外付けの出力デバイスに対するインターフェース・コントローラをディスエーブルに設定することができる。
【００６６】
Ｉ／Ｏコード２３１は、ＣＰＵ１１１がリアル・モードで動作する際に周辺デバイスにアクセスするための入出力のインターフェースを提供する。ＢＩＯＳセット・アップ・コード２３３は、ブート・ドライブの選択、各デバイスの機能のイネーブル／ディスエーブル、セキュリティのイネーブル／ディスエーブルなどのような内部デバイスに対する設定をユーザがカスタマイズするためのインターフェースを提供する。ブートする際に、ＯＳがロードされる前に所定のキーを操作するとＢＩＯＳセット・アップ・コード２３３が実行されて、ＬＣＤ１１９にＢＩＯＳセット・アップ画面が表示される。
【００６７】
ユーザが設定したセット・アップ・データの多くは、ＩＣＨ１２１内のＲＴＣメモリ１５１に記憶される。ＣＰＵ１１１は基本ＰＯＳＴコード２０９、簡易ＰＯＳＴコード２１３、またはＳ３ＰＯＳＴコード２１５を実行する際にＲＴＣメモリ１５１に記憶されたセット・アップ・データを参照する。ユーザはＢＩＯＳセット・アップ・コード２３３を通じて、ブート・デバイスの順番を設定することができる。
【００６８】
たとえば、外付けＵＳＢメモリ、ＯＤＤ、ＳＳＤ１２３の順番に設定することができる。この場合、ＵＳＢ端子１２６に外付けＵＳＢメモリが接続されておらず、かつＯＤＤにブート可能な媒体が装着されていない場合は、ＳＳＤ１２３からブートすることになる。しかし、同期のためにウェイクアップする際にＵＳＢ端子１２６にブート・デバイスとなり得る外付けＵＳＢメモリが不正に接続されていると、当該ＵＳＢメモリでブートして同期データが盗聴される可能性がある。本実施の形態では、後に述べるようにこのような行為に対する対策も講じている。
【００６９】
ユーザは、ＢＩＯＳセット・アップ画面を通じて、Ｓ３４ステートの利用をイネーブルまたはディスエーブルに設定することができる。さらにＳ３４ステートの利用をイネーブルに設定する際には、Ｓ３４時間を設定することもできる。設定されたＳ３４イネーブル・フラグとＳ３４時間は、データ領域２８３に格納される。ＢＩＯＳセット・アップ・コード２３３は、Ｓ３４ステートをイネーブルに設定したときは、同時にＲＴＣメモリ１５１にＳ３４フラグとＳ３４時間を設定する。
【００７０】
環境ユーティリティ・コード２３５は、ノートＰＣ１００の温度および電力を制御する。各ＢＩＯＳコードは、図４に示したように独立したコードで構成する必要はなく、コードの一部を共通化してそれぞれの機能を果たすように実行パスを制御するように構成してもよい。本発明はブート・ブロック方式を採用しないＢＩＯＳ＿ＲＯＭ、あるいは、ＢＩＯＳ領域の全体をブート・ブロックにしたＢＩＯＳ＿ＲＯＭに適用することもできる。
【００７１】
［同期の全体手順］
図５は、ソース・デバイスとターゲット・デバイスを同期させるときの動作手順を示すフローチャートである。ソース・デバイスおよびターゲット・デバイスはいずれもノートＰＣ１００を例にして説明する。ソース・デバイスとターゲット・デバイスの構成要素を区別する必要がある場合は、図２、図４に示した参照番号に、ソース・デバイスはＳを付し、ターゲット・デバイスはＴを付して区別することにする。また、ターゲット・デバイスが１台だけ存在する場合を中心にして説明するが、複数のターゲット・デバイスを同期する場合の手順もこの説明で理解できるようにしている。
【００７２】
ソース・デバイスおよびターゲット・デバイスには、互換性のある編集アプリケーション１９１Ｓ、１９１Ｔおよび同期ユーティリティ１９３Ｓ、１９３Ｔが実装されている。ソース・デバイスとターゲット・デバイスは同期可能なグループを構成するために、あらかじめＮＶＲＡＭ１３３Ｓ、１３３Ｔに同期に使用するＥＳＳＩＤ、ＭＡＣアドレス、および認証コードなどを格納している。
【００７３】
ブロック３０１〜３１１はソース・デバイスの動作で、ブロック３５１〜３６７はターゲット・デバイスの動作を示している。ブロック３０１でソース・デバイスはパワー・オン状態で、ユーザは編集アプリケーション１９１Ｓを通じてデータの作成または編集をしてＳＳＤ１２３Ｓに記憶する同期データ１９５を更新する。ブロック３５１でターゲット・デバイスは、いずれかのスリープ状態（Ｓ３、Ｓ３４、Ｓ４）に遷移している。
【００７４】
ターゲット・デバイスはいずれのスリープ状態であっても、少なくともＷＬＡＮモジュール１２７Ｔとパワー・コントローラ１３５Ｔに電力が供給されている。スリープ状態のターゲット・デバイスに搭載されたＷＬＡＮモジュール１２７Ｔは、電波のスキャンが可能なパワー・セーブ・モードで動作して、同期の要求があったときにウェイクアップできるようにしてもよい。なお、ターゲット・デバイスはＳ５ステートのときにもウェイクアップして同期できるようにしてもよい。
【００７５】
ブロック３０３で、ユーザが同期ユーティリティ１９３Ｓにアクセスして、ＬＣＤ１１９に表示されたアイコンをクリックし同期開始の操作をする。あるいは、ソース・デバイス上での同期対象となるファイルの更新や、スリープまたはシャットダウンなどの電力制御のイベントをトリガーにして自動的に同期を開始するようにしてもよい。ブロック３０５で、ＷＬＡＮモジュール１２７Ｓは、同期に使用する特別なＥＳＳＩＤと相手のＭＡＣアドレスを含むプローブ要求フレームをブロードキャストで送信してアクティブ・スキャニング方式によりターゲット・デバイスを探索する。ターゲット・デバイスのＷＬＡＮモジュール１２７Ｔは、受信したＥＳＳＩＤとＭＡＣアドレスがあらかじめ登録されたデータに合致する場合はプローブ応答フレームをターゲット・デバイスに送り返す。その後、両者の間で認証とアソシエーションを行って接続が確立される。ブロック３５２でターゲット・デバイスは、接続が確立されたことで同期信号を受信したと認識する。
【００７６】
ブロック３５３で、同期信号に応じてＷＬＡＮモジュール１２７Ｔはパワー・コントローラ１３５Ｔに同期イベントを送る。同期イベントを受け取ったパワー・コントローラ１３５Ｔは、レジスタ１８５に同期ビットを設定してＳ０ステートで動作するデバイスに電力を供給するようにＤＣ／ＤＣコンバータ１３９Ｔを制御する。このとき同期イベントは、ブロック３０５、３５２で認証が行われた後に生成されるため、ＥＳＳＩＤとＭＡＣアドレスを擬装した情報端末装置により電源が起動するようなことを防ぐことができる。ＥＣ１３１Ｔは、レジスタ１８５Ｔを参照してレジスタ１５７Ｔに同期ビットを設定する。ブロック３５５でＢＩＯＳのＣＲＴＭ（図４）の実行が開始される。ブロック３５７でＢＩＯＳは、前回のウェイクアップから今回のウェイクアップまでの間に行われた可能性があるターゲット・デバイスに対する不正の有無を検査する。
【００７７】
不正の有無は、ＳＳＤ１２３の取り外しまたはブート・デバイスの変更が行われたか否かで判断する。不正があった場合は、ブロック３５９でターゲット・デバイスが自律的にシャットダウンして同期データの受け入れを停止する。なお、シャットダウンは同期を停止する動作の一例で、ブートをその時点で停止するようにしてもよい。不正がなかった場合はブロック３６１でＯＳおよび同期ユーティリティ１９３Ｔがロードされてブートが完了してＳ０ステートに遷移する。
【００７８】
ＢＩＯＳは、レジスタ１５７Ｔに同期ビットが設定されていることを実行中の同期ユーティリティ１９３Ｔに通知する。同期ユーティリティ１９３Ｔは、ソース・デバイスに同期の準備が完了したことを通知する。ブロック３０７、３６３では、ソース・デバイスの同期ユーティリティ１９３Ｓとターゲット・デバイスの同期ユーティリティ１９３Ｔの間で相互認証をする。ソース・デバイスは、ターゲット・デバイスから受け取った認証コードでターゲット・デバイスを認証し、同期データを送ってよい相手であることを確認する。
【００７９】
ターゲット・デバイスも同様にソース・デバイスから受け取った認証コードでソース・デバイスを認証し、同期データを受け取ってもよい相手であることを確認する。なお、ターゲット・デバイスによるソース・デバイスの認証は省略してもよい。ブロック３０９で、同期ユーティリティ１９３Ｓは、前回の同期からの編集アプリケーション１９１Ｓの差分にかかる同期データ１９５Ｔと編集アプリケーション１９３Ｓの識別子をターゲット・デバイスに転送する。
【００８０】
ブロック３６４で同期データと識別子を受信したターゲット・デバイスでは、編集アプリケーション１９３Ｓに対応する編集アプリケーション１９３Ｔが起動される。そして、同期データ１９５Ｓがアプリケーション１９３Ｔに関連付けられてＳＳＤ１２３Ｔに書き込まれる。同期が成功するとブロック３６５で同期ユーティリティ１９３Ｔは、その旨を同期ユーティリティ１９３Ｓに通知する。同期ユーティリティ１９３Ｓは、同期データ１９５Ｓを送信してから所定の時間が経過しても同期成功の通知を受信しないときは同期データ１９５Ｓの再送をすることができる。
【００８１】
ブロック３１１で同期ユーティリティ１９３Ｓは、同期成功の通知を受け取ったときまたは所定の時間経過しても同期成功の通知を受け取らなかったときはブロック３１１で同期を終了してその旨を同期ユーティリティ１９３Ｔに通知する。ブロック３６７で同期の終了を認識した同期ユーティリティ１９３Ｔは、ＯＳを通じてターゲット・デバイスをブロック３５１と同じスリープ状態に遷移させる。ターゲット・デバイスが複数存在する場合は、ブロック３０５〜３１１およびブロック３５２〜３６７の手順はターゲット・デバイスごとに行われる。同期処理の間、ユーザはターゲット・デバイスで編集が終わった後に接続ユーティリティを通じて同期の開始操作をするだけでよく、ターゲット・デバイスに対して一切の操作をする必要はない。
【００８２】
［ウェイクアップにおけるＢＩＯＳの処理手順］
つぎに、図６を参照して図５のブロック３５２〜３６１でＢＩＯＳが実行するブートの手順を説明する。ブロック５０１では、スリープ状態に遷移しているターゲット・デバイスに対して不正操作が行われることを想定する。ブロック５０３でソース・デバイスから受信した同期信号によりターゲット・デバイスの電源が起動する。ブロック５０５でＣＰＵ１１１はＰＯＳＴ選択コード２０５Ｔを実行する。ブロック５０７でＰＯＳＴ選択コード２０５Ｔは、レジスタ１５７Ｔに同期ビットが設定されているか否かを判断する。同期ビットが設定されているときはブロック５１１に移行し、設定されていないときはブロック５０９に移行する。ブロック５０９では同期以外の原因でＣＰＵ１１１がリセットされたため他の手順を実行する。
【００８３】
ブロック５１１でＰＯＳＴ選択コード２０５ＴがＳＳＤ１２３ＴにＳＳＤパスワードが設定されているか否かを判断する。ＳＳＤパスワードが設定されている場合は、ブロック５１３に移行し、設定されていない場合はブロック５１５に移行する。ブロック５１３、５１５では、ＰＯＳＴ選択コード２０５Ｔが、図３の真理値表を参照してＳＳＤ１２３Ｔに対する不正アクセスの有無を判断する。ブロック５１３でＰＯＳＴ選択コード２０５Ｔは、レジスタ１８３Ｔを参照してパワー・ビットを確認する。パワー・ビットが設定されているときはブロック５１５に移行し、パワー・ビットがクリアされているときは不正を検出した場合に相当するためブロック５１７に移行する。
【００８４】
ブロック５１５でＰＯＳＴ選択コード２０５Ｔは、レジスタ１８１Ｔを参照してタンパー・ビットを確認する。タンパー・ビットが設定されているときはＳＳＤ１２３Ｔに対する不正アクセスを検出したことに相当するためブロック５１７に移行する。タンパー・ビットが設定されていないときはＳＳＤ１２３Ｔに対する不正アクセスを検出しないことに相当するためブロック５１５に移行する。
【００８５】
ブロック５１５でＰＯＳＴ選択コード２０５Ｔは、前回のブートと今回のブートでブート・デバイスが変更されているか否かを判断する。ブート・デバイスが変更されるケースは、たとえば、前回までのブートでは使用されなかった選択順位が上位のブート・デバイスとしてＵＳＢメモリが今回のブートで不正に接続された場合である。真正なユーザがＵＳＢメモリをブート・デバイスとして利用するためには、同期信号ではなくパワー・ボタン１４５Ｔで起動する必要がある。
【００８６】
ブート・デバイスが変更されているときはブロック５１７に移行し、変更されていないときは不正がなかったと判断して図７のブロック５５１に移行する。ブロック５１７でＰＯＳＴ選択コード２０５Ｔは、ブートを停止してＥＣ１３１を通じてターゲット・デバイスを強制的にシャットダウンする。このとき、ＰＯＳＴ選択コード２０５Ｔはビープ音でユーザにブートが停止したことを通知するようにしてもよい。
【００８７】
図７のブロック５５１でＰＯＳＴ選択コード２０５Ｔは、レジスタ１５３ＴにＳ３ビットが設定されているか否かを判断する。Ｓ３ビットが設定されてないときは、Ｓ４ステートからの遷移であると判断してブロック５５５に移行する。Ｓ３ビットが設定されているときは、ブロック５５３でＰＯＳＴ選択コード２０５ＴはＲＴＣメモリ１５１Ｔを参照してＳ３４フラグが設定されているか否かを判断する。Ｓ３４フラグが設定されているときは、Ｓ３４ステートからの遷移であると判断してブロック５５５に移行する。
【００８８】
ブロック５５５では、ＰＯＳＴ選択コード２０５Ｔから簡易ＰＯＳＴコード２１３Ｔに制御が移る。簡易ＰＯＳＴコード２１３Ｔは、ブロック５５７でＳＳＤパスワードをＳＳＤ１２３Ｔに自動的に送付し、さらに、パワー・オン・パスワードが設定されている場合はシステムにパスワードを自動的に送付する。ブロック５５９で簡易ＰＯＳＴコード２１３Ｔは同期に不要なデバイスのＰＯＳＴを省略し、ブロック５６１で不正に接続される可能性があるＵＳＢメモリやＳＳＤなどの外部接続の出力デバイスに対するインターフェース・コントローラをディスエーブルに設定する。
【００８９】
ブロック５６３では、ＰＯＳＴが終わった後のプロセスが、遷移元がＳ３４ステートかＳ４ステートかで異なる。Ｓ３４ステートからの遷移のときは、簡易ＰＯＳＴコード２１３Ｔは、Ｓ３４ステートのときにＳＳＤ１２３Ｔに退避していたメイン・メモリ１１５の記憶状態をメイン・メモリ１１５に復帰する。簡易ＰＯＳＴコード２１３ＴはＲＴＣメモリ１５１のＳ３４フラグをクリアする。この時点でターゲット・デバイスのデータ状態はＳ３ステートであるが、電源状態はＳ０ステートである。
【００９０】
メイン・メモリ１１５へのデータ転送が終了すると簡易ＰＯＳＴコード２１３Ｔは、制御権をＯＳに移す。ＯＳは、レジスタ１５３を参照して遷移元のパワー・ステートがＳ３ステートであると認識してＳ０ステートに遷移するために、必要に応じてデバイス・ドライバおよびＢＩＯＳと協働しながらシステム・コンテキストをリセットされた各デバイスのレジスタに復帰させる。Ｓ４ステートからの遷移の時は、簡易ＰＯＳＴコード２１３Ｔから制御が移ったＯＳがＳＳＤ１２３Ｔに退避していたシステムの状態をメイン・メモリ１１５Ｔおよびレジスタに復帰させる。
【００９１】
ブロック５７３では、ＰＯＳＴ選択コード２０５ＴからＳ３ＰＯＳＴコード２１５Ｔに制御が移る。ブロック５７５から５７９まではブロック５５５からブロック５６１までの手順とほぼ同じであるが、Ｓ３ＰＯＳＴコード２１５Ｔは簡易ＰＯＳＴコード２１３Ｔより短時間で処理を終了することができる。ブロック５６３でＯＳは、メイン・メモリ１１５に記憶されていたシステム・コンテキストを各デバイスに復帰させる。
【００９２】
これまでの手順でターゲット・デバイスはＢＩＯＳパスワードが設定されていても、リアルタイムで同期することができる。また、同期信号を受け取ったターゲット・デバイスは、不正があったときは自律的に同期を停止し、不正がなかったときは入出力デバイスのコントローラをディスエーブルにして同期に伴う盗聴からの安全を確保している。また、不正がなかったときは不要なデバイスのＰＯＳＴを省略して、基本ＰＯＳＴコード２０９Ｔを実行するよりも短時間で同期処理を完了させる。
【００９３】
［ターゲット・デバイスを探索する他の方法］
バックボーン・ネットワーク３１のＡＰ３３は、周囲の情報端末装置に所在を知らせるために常時ビーコン・フレームを送信している。バックボーン・ネットワーク３１への接続を希望する情報端末装置がビーコン・フレームを監視して、接続先を探索する方法はパッシブ・スキャニング方式という。本実施の形態では、接続を希望するソース・デバイスがビーコン・フレームを送信して、接続先となるターゲット・デバイスを探索する。このようなビーコン・フレームの利用はアクティブ・スキャニング方式の範疇に含めることができる。
【００９４】
図８は、ソース・デバイスがビーコン・フレームを送信してターゲット・デバイスを探索する方法を説明する図である。図５と同一の手順は同一の参照番号で記載して説明を省略し、異なる部分だけ説明する。ブロック６０１では、ＷＬＡＮモジュール１２７Ｓが、ソフトＡＰとして動作して特別なＥＳＳＩＤを含むビーコン・フレームを送信する。ターゲット・デバイスはブロック６５１で、ビーコン・フレームの特別なＥＳＳＩＤを起動信号として認識すると、ただちに同期イベントを生成して電源を起動してブロック３５５以降の手順を進める。
【００９５】
ブロック６０３とブロック６５３では、ＷＬＡＮモジュール１２７ＳとＷＬＡＮモジュール１２７Ｔが、認証およびアソシエーションを行って接続を確立する。ブロック６５３の手順はブロック６５１以降の手順と並行して行われるため、図４の手順のように接続の確立を待ってから電源を起動するよりも短時間でＳ０ステートまで遷移させることができる。しかも、複数のターゲット・デバイスが存在する場合は、ビーコン・フレームを検出した各ターゲット・デバイスはただちに電源を起動するため、全体の同期時間を短縮することができる。
【００９６】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
【符号の説明】
【００９７】
１００  ノートＰＣ
１２５  ＢＩＯＳ＿ＲＯＭ
【図１】
2014026409.tif 000003
【図２】
2014026409.tif 000004
【図３】
2014026409.tif 000005
【図４】
2014026409.tif 000006
【図５】
2014026409.tif 000007
【図６】
2014026409.tif 000008
【図７】
2014026409.tif 000009
【図８】
2014026409.tif 000010