(57)【特許請求の範囲】
【請求項１】
１以上の他の情報処理装置と接続され、当該他の情報処理装置に、ハイバネーションデータを配布する情報処理装置であって、
前記ハイバネーションデータを記憶するための記憶部と、
前記他の情報処理装置から、各情報処理装置の機器構成を示す構成情報および識別情報を取得する構成情報取得部と、
取得した前記構成情報を解析して、前記他の情報処理装置の構成が自装置と一致するか否かを判定する構成判定部と、
自装置の構成と一致する情報処理装置が、前記他の情報処理装置のうち少なくとも１以上存在する場合、当該構成の一致する情報処理装置の前記識別情報を宛先として前記ハイバネーションデータを送信するデータ送信部と、を備えたことを特徴とする情報処理装置。
【請求項２】
前記構成情報取得部は、前記他の情報処理装置が前記ハイバネーションデータを保持している、前記ハイバネーションデータを生成中である、前記ハイバネーションデータを保持しておらず且つ生成中でもない、のいずれかの状態を示す保持情報をさらに取得し、
前記データ送信部は、前記構成の一致する情報処理装置のうち、前記ハイバネーションデータを保持しておらず且つ生成中でもない情報処理装置に対して、前記ハイバネーションデータを送信することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記データ送信部は、前記ハイバネーションデータとして、機器固有の情報を含む一部の情報を除いた残データを送信することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記データ送信部により前記ハイバネーションデータが送信された情報処理装置は、
前記記憶部、前記構成情報取得部、前記構成判定部および前記データ送信部を備え、
自装置に接続された他の情報処理装置に対して、前記ハイバネーションデータを送信することを特徴とする請求項１ないし３のいずれか一項に記載の情報処理装置。
【請求項５】
１以上の他の情報処理装置と接続され、当該他の情報処理装置に、ハイバネーションデータを要求する情報処理装置であって、
自装置が前記ハイバネーションデータを保持しているか否かを判定するデータ保持判別部と、
前記ハイバネーションデータを保持していない場合、前記他の情報処理装置に、各情報処理装置の機器構成を示す構成情報、識別情報、および前記ハイバネーションデータを保持している、前記ハイバネーションデータを生成中である、前記ハイバネーションデータを保持しておらず且つ生成中でもない、のいずれかの状態を示す保持情報を要求する構成情報要求部と、
前記構成情報、前記識別情報および前記保持情報を取得する構成情報取得部と、
取得した前記構成情報を解析して、前記他の情報処理装置の構成が自装置と一致するか否かを判定する構成判定部と、
自装置と構成の一致する情報処理装置が、前記他の情報処理装置のうち少なくとも１以上存在する場合、当該構成の一致する情報処理装置のうち前記ハイバネーションデータを保持している、または生成中である情報処理装置の前記識別情報を宛先として、前記ハイバネーションデータを要求するデータ要求部と、
前記ハイバネーションデータを取得するデータ取得部と、を備えたことを特徴とする情報処理装置。
【請求項６】
前記データ取得部による前記ハイバネーションデータの取得に伴って、自装置を起動する起動部をさらに備えたことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記他の情報処理装置のうち、自装置と構成が一致し、且つ前記ハイバネーションデータを保持している、または前記ハイバネーションデータを生成中である情報処理装置が存在しなかった場合、自装置において前記ハイバネーションデータを生成するデータ生成部をさらに備えたことを特徴とする請求項５に記載の情報処理装置。
【請求項８】
前記構成情報は、前記他の情報処理装置に搭載されたソフトウェアの種類に関する情報、およびファイルシステムの管理情報の少なくとも一方を含む文字情報から算出されるハッシュ値であることを特徴とする請求項１ないし７のいずれか一項に記載の情報処理装置。
【請求項９】
任意の情報処理装置から、当該任意の情報処理装置に接続された１以上の他の情報処理装置にハイバネーションデータを配布するデータ配布方法であって、
前記任意の情報処理装置が、
前記他の情報処理装置から、各情報処理装置の識別情報および機器構成を示す構成情報を取得する構成情報取得ステップと、
取得した前記構成情報を解析して、前記他の情報処理装置の構成が自装置と一致するか否かを判定する構成判定ステップと、
前記構成判定ステップにおいて、自装置と構成の一致する情報処理装置が、前記他の情報処理装置のうち少なくとも１以上存在する場合、当該構成の一致する情報処理装置の前記識別情報を宛先として前記ハイバネーションデータを送信するデータ送信ステップと、を実行することを特徴とするデータの配布方法。
【請求項１０】
前記構成情報取得ステップは、前記他の情報処理装置が前記ハイバネーションデータを保持している、前記ハイバネーションデータを生成中である、前記ハイバネーションデータを保持しておらず且つ生成中でもない、のいずれかの状態を示す保持情報をさらに取得し、
前記データ送信ステップは、前記構成の一致する情報処理装置のうち、前記ハイバネーションデータを保持しておらず且つ生成中でもない情報処理装置に対して、前記ハイバネーションデータを送信することを特徴とする請求項９に記載のデータの配布方法。
【請求項１１】
前記データ送信ステップは、前記ハイバネーションデータとして、機器固有の情報を含む一部の情報を除いた残データを送信することを特徴とする請求項９に記載のデータの配布方法。
【請求項１２】
前記データ送信ステップにより前記ハイバネーションデータが送信された情報処理装置は、
前記構成情報取得ステップ、前記構成判定ステップおよび前記データ送信ステップを備え、
自装置に接続された他の情報処理装置に対して、前記ハイバネーションデータを送信することを特徴とする請求項９に記載のデータの配布方法。
【請求項１３】
前記構成情報は、前記他の情報処理装置に搭載されたソフトウェアの種類に関する情報、およびファイルシステムの管理情報の少なくとも一方を含む文字情報から算出されるハッシュ値であることを特徴とする請求項９に記載のデータの配布方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハイバネーション機能を備えた情報処理装置およびデータの配布方法に関するものである。
【背景技術】
【０００２】
従来、この種の技術として、主系コンピューターの保守点検や故障発生時などに、待機系コンピューターが、主系コンピューターが生成したハイバネーションデータを読み込んで復元し、主系コンピューターの作業を途中状態から引き継ぐシステムが提案されている（特許文献１参照）。当該システムでは、待機系コンピューターが、ハイバネーションデータを復元した際に、主系コンピューターとの機器の違いにより生じる矛盾を解決する矛盾解決機能を備えている。具体的には、ハイバネーションデータに基づいた作業を行うための通信データに含まれる機器固有の識別情報（ＩＰアドレスやイーサネット（登録商標）アドレス）を、主系コンピューターのものから待機系コンピューターのものに書き換える。これにより、主系コンピューターと通信していた他の機器と待機系コンピューターとの間で当該通信データのやり取りが可能となり、待機系コンピューターが主系コンピューターの作業を途中状態から引継ぐことができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２-０９９４４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上記のシステムは、ハイバネーションデータを生成した機器（主系コンピューター）と当該ハイバネーションデータを受け取る機器（待機系コンピューター）との機器固有情報の違いを考慮しているものの、搭載されているＯＳ（Operating  System）、アプリケーションの種類やバージョンなど、機器の構成の違いを考慮していない。すなわち、当該システムは、上記したような両機器の構成が同一であることを前提としており、例えば、ハイバネーションデータを受け取る機器が複数あり、これらの中にハイバネーションデータを生成した機器と構成が異なるものが混在していた場合に、構成の異なる機器に対してもハイバネーションデータを提供してしまうという問題がある。この場合、機器構成の異なる機器は、利用不可能なハイバネーションデータを受け取ることになり、ハイバネーションデータを生成した機器は、不要な送信処理を行うことになる。
【０００５】
本発明は、上記の点に鑑み、機器の構成の違いを考慮して、適切にハイバネーションデータを配布することのできる情報処理装置およびデータの配布方法を提供することを課題とする。
【課題を解決するための手段】
【０００６】
本発明の情報処理装置は、１以上の他の情報処理装置と接続され、当該他の情報処理装置に、ハイバネーションデータを配布する情報処理装置であって、ハイバネーションデータを記憶するための記憶部と、他の情報処理装置から、各情報処理装置の機器構成を示す構成情報および識別情報を取得する構成情報取得部と、取得した構成情報を解析して、他の情報処理装置の構成が自装置と一致するか否かを判定する構成判定部と、自装置の構成と一致する情報処理装置が、他の情報処理装置のうち少なくとも１以上存在する場合、当該構成の一致する情報処理装置の識別情報を宛先としてハイバネーションデータを送信するデータ送信部と、を備えたことを特徴とする。
【０００７】
本発明のデータ配布方法は、任意の情報処理装置から当該任意の情報処理装置に接続された１以上の他の情報処理装置にハイバネーションデータを配布するデータ配布方法であって、任意の情報処理装置が、他の情報処理装置から、各情報処理装置の識別情報および機器構成を示す構成情報を取得する構成情報取得ステップと、取得した構成情報を解析して、他の情報処理装置の構成が自装置と一致するか否かを判定する構成判定ステップと、構成判定ステップにおいて、自装置と構成の一致する情報処理装置が、他の情報処理装置のうち少なくとも１以上存在する場合、当該構成の一致する情報処理装置の識別情報を宛先としてハイバネーションデータを送信するデータ送信ステップと、を実行することを特徴とする。
【０００８】
これらの構成によれば、接続されている自装置以外の情報処理装置の機器構成を判定し、自装置と構成が一致している機器にのみハイバネーションデータを送信するため、もし、自装置以外の情報処理装置の中に、自装置と構成が異なるものが混在していても、それらを避けて適切にハイバネーションデータを配布することができる。さらに、例えば、自装置以外の情報処理装置を、受け取ったハイバネーションデータを読み込んで起動する構成とすれば、構成の一致する自装置以外の情報処理装置を同じ状態から高速に起動させることができる。
なお、ハイバネーションデータとは、情報処理装置の途中状態を記憶したデータである。また、構成情報とは、当該情報処理装置に搭載されているＯＳおよびアプリケーションの種類やこれらバージョンに関する情報、ファイルシステムの管理情報に基づく情報であることが好ましい。
【０００９】
この場合、構成情報取得部は、他の情報処理装置がハイバネーションデータを保持している、ハイバネーションデータを生成中である、ハイバネーションデータを保持しておらず且つ生成中でもない、のいずれかの状態を示す保持情報をさらに取得し、データ送信部は、構成の一致する情報処理装置のうち、ハイバネーションデータを保持しておらず且つ生成中でもない情報処理装置に対して、ハイバネーションデータを送信することが好ましい。
【００１０】
この構成によれば、構成の一致した情報処理装置のうち、ハイバネーションデータを保持している装置に重複してハイバネーションデータを配布することを防ぐことができる。
【００１１】
この場合、データ送信部は、ハイバネーションデータとして、機器固有の情報を含む一部の情報を除いた残データを送信することが好ましい。
【００１２】
この構成によれば、ハイバネーションデータを受け取った情報処理装置は、当該ハイバネーションデータに自装置の保持している固有の情報を埋め込むことによって、ハイバネーションデータを適用することができる。これにより、ハイバネーションデータ配布における機器の違いによる矛盾を解消することができる。なお、機器固有の情報を含む一部の情報とは、情報処理装置のＭＡＣアドレス、ＩＰアドレス、コンピューター名、ユーザー名、および時間情報等を指す。
【００１３】
この場合、データ送信部によりハイバネーションデータが送信された情報処理装置は、記憶部、構成情報取得部、構成判定部およびデータ送信部を備え、自装置に接続された他の情報処理装置に対して、ハイバネーションデータを送信することが好ましい。
【００１４】
この構成によれば、ハイバネーションデータを受信した情報処理装置が、異なるネットワークを介して他の情報処理装置に接続されていた場合、さらに、当該ネットワーク上の他の情報処理装置に対して適切にハイバネーションデータを配布することができる。
【００１５】
本発明の他の情報処理装置は、１以上の他の情報処理装置と接続され、当該他の情報処理装置に、ハイバネーションデータを要求する情報処理装置であって、自装置がハイバネーションデータを保持しているか否かを判定するデータ保持判別部と、ハイバネーションデータを保持していない場合、他の情報処理装置に、各情報処理装置の機器構成を示す構成情報、識別情報、およびハイバネーションデータを保持している、ハイバネーションデータを生成中である、ハイバネーションデータを保持しておらず且つ生成中でもない、のいずれかの状態を示す保持情報を要求する構成情報要求部と、構成情報、識別情報および保持情報を取得する構成情報取得部と、取得した構成情報を解析して、他の情報処理装置の構成が自装置と一致するか否かを判定する構成判定部と、自装置と構成の一致する情報処理装置が、他の情報処理装置のうち少なくとも１以上存在する場合、当該構成の一致する情報処理装置のうちハイバネーションデータを保持している、または生成中である情報処理装置の識別情報を宛先として、ハイバネーションデータを要求するデータ要求部と、ハイバネーションデータを取得するデータ取得部と、を備えたことを特徴とする。
【００１６】
この構成によれば、ハイバネーションデータを保持していない情報処理装置であっても、自装置に適用可能なハイバネーションデータを取得することができる。また、自主的に各情報処理装置が、ハイバネーションデータを保持している機器を検索し取得する構成であるため、任意の情報処理装置にハイバネーションデータを記憶させておけば、構成の一致する装置に対して自動的にハイバネーションデータを行き渡らせることができる。
【００１７】
この場合、データ取得部によるハイバネーションデータの取得に伴って、自装置を起動する起動部をさらに備えていることが好ましい。
【００１８】
この構成によれば、ハイバネーションデータを保持していない装置であっても、自装置に適用可能なハイバネーションデータを取得して高速起動することができる。なお、情報処理装置は、取得したハイバネーションデータに含まれる機器固有の情報を含む一部の情報を、自装置のものに書き換えて、当該ハイバネーションデータを自装置に適用することが望ましい。
【００１９】
また、この場合、他の情報処理装置のうち、自装置と構成が一致し、且つハイバネーションデータを保持している、またはハイバネーションデータを生成中である情報処理装置が存在しなかった場合、自装置においてハイバネーションデータを生成するデータ生成部をさらに備えていることが好ましい。
【００２０】
この構成によれば、ハイバネーションデータを保持していない装置が、自装置以外の装置からハイバネーションデータを取得できない場合でもハイバネーションデータを生成して高速起動することができる。
【００２１】
これら場合、構成情報は、他の情報処理装置に搭載されたソフトウェアの種類に関する情報、およびファイルシステムの管理情報を含む文字情報から算出されるハッシュ値であることが好ましい。
【００２２】
この構成によれば、自装置および他の情報処理装置のハッシュ値を比較することによって、容易に機器構成が一致するか否かを判定することができる。
【図面の簡単な説明】
【００２３】
【図１】第１実施形態に係る情報処理装置の接続形態およびデータの授受を示した図である。
【図２】第１実施形態に係る情報処理装置の機能構成を示したブロック図である。
【図３】構成情報の構造を説明した図である。
【図４】第１実施形態に係るデータ配布処理を示したフローチャートである。
【図５】第１実施形態に係るデータ配布処理を示したフローチャートである。
【図６】第２実施形態に係る情報処理装置の接続形態およびデータの授受を示した図である。
【図７】第２実施形態に係る情報処理装置の構成を示したブロック図である。
【図８】第２実施形態に係るデータ配布処理を示したフローチャートである。
【図９】第３実施形態に係る情報処理装置の接続形態およびデータの授受を示した図である。
【図１０】第３実施形態に係るデータ配布処理を示したフローチャートである。
【図１１】第３実施形態に係るデータ配布処理を示したフローチャートである。
【発明を実施するための形態】
【００２４】
以下、添付の図面を参照して、本発明の各実施形態に係る情報処理装置およびデータの配布方法について説明する。なお、本発明の情報処理装置は、ハイバネーション機能を備えている。ハイバネーション機能とは、情報処理装置における任意の時点での作業の途中状態を不揮発性の記憶領域に記憶し、記憶したデータを読み込んで途中状態を復元して、作業を当該途中状態から開始する機能である。この作業の途中状態を復元するためのデータが、ハイバネーションデータである。情報処理装置は、このハイバネーションデータを読み込むことによって、途中経過を省いて作業を開始することができるため、装置の高速起動が可能となる。
【００２５】
本発明の情報処理装置は、ネットワークを介して接続された他の情報処理装置との間で、このハイバネーションデータを授受する。すなわち、ある情報処理装置が保持するハイバネーションデータを複数の装置で共有する。これにより、各情報処理装置でのハイバネーションデータの保持が必須ではなくなる。また、本発明の情報処理装置は、ハイバネーションデータの授受する装置の機器構成を判定し、当該ハイバネーションデータが適用可能な装置間でのみデータを授受する機能を備えている。
【００２６】
［第１実施形態］
図１は、本実施形態に係る情報処理装置の接続形態を示した図である。情報処理装置である機器Ａ（例えば、コンピューター）は、ＬＡＮやイントラネットなどのネットワークＮＴ１を介して、同じく情報処理装置である機器Ｂ１、Ｂ２、Ｂ３に接続されている。機器Ｂ１は、さらにネットワークＮＴ２を介して同じく情報処理装置である機器Ｃ１、Ｃ２と接続されている。機器Ａは、ネットワークＮＴ１のホスト装置として機能し、機器Ｂ１，Ｂ２，Ｂ３に対してハイバネーションデータを配布する。さらに、機器Ｂ１は、ネットワークＮＴ１のホスト装置として機能し、機器Ｃ１，Ｃ２に対して、機器Ａから取得したハイバネーションデータを配布する。図示のように、機器Ａは、接続されている機器Ｂ１，Ｂ２，Ｂ３のうち、機器構成が自装置の構成と同じ「機器構成Ｘ」であって、ハイバネーションデータを保持していない機器Ｂ１に対して、ハイバネーションデータを配布する。同様に、機器Ｂ１は、接続されている機器Ｃ１，Ｃ２のうち、機器構成が自装置の構成と同じ「機器構成Ｘ」であって、ハイバネーションデータを保持していない機器Ｃ１に対して、ハイバネーションデータを配布する。このハイバネーションデータの配布処理については、後に詳述する。
【００２７】
なお、機器Ａ，Ｂ，Ｃは、情報処理機能（ＣＰＵなど）を備え、ネットワークを介して複数の装置と接続されて用いられるものであれば装置の種類は問わない。例えば、コンピューターの他に、ＰＯＳ端末、プロジェクター、プリンター複合機などが適用可能である。
【００２８】
図２は、機器Ａ，Ｂ，Ｃの各機能構成を示したブロック図である。機器Ａは、自装置の構成情報を生成する構成情報生成部１Ａと、生成した構成情報を記憶する構成情報記憶部２Ａと、ハイバネーションデータを生成するデータ生成部３Ａと、生成したハイバネーションデータを記憶するハイバネーションデータ記憶部４Ａ（以下、Ｈｉデータ記憶部４Ａという）と、機器Ｂから構成情報を取得する構成情報取得部５Ａと、各構成情報から自装置と機器Ｂとの構成が一致するか否かを判定する構成判定部６Ａと、構成が一致する機器Ｂにハイバネーションデータを送信するデータ送信部７Ａと、ハイバネーションデータを用いて自装置を起動させる起動部８Ａと、を備えている。
【００２９】
ここで、図３を参照して、本実施形態の構成情報について説明する。本実施形態では、構成情報を、機器構成を示す文字情報から得られるハッシュ値とする。ハッシュ値とは、算出元データとなる文字情報からハッシュ関数を用いて算出された所定桁数の値であり、例えば、ハッシュ関数がＭＤ５の場合、１２８ビットのハッシュ値が算出される。
【００３０】
図３は、本実施形態におけるハッシュ値の算出元データの一例である。本算出元データは、ファイルシステム関連情報およびソフトウェア関連情報が文字情報として出力されたデータである。図示のように、ファイルシステム関連情報は、機器が保持しているファイルシステム上のオブジェクト（ファイル、ディレクトリーなど）名５１、および当該オブジェクトの格納場所を示す格納情報５２で構成されている。一方、ソフトウェア関連情報は、機器に搭載されているＯＳおよびアプリケーションのソフトウェア名５３、および当該ソフトウェアのバージョン情報５４で構成されている。なお、格納情報５２は、機器に備えられたＨＤＤ（ハードディスクドライブ）内における各オブジェクトの格納場所を示し、格納情報５２およびオブジェクト名５１は、ファイルシステムの管理情報が記録されたInode情報から抽出されたものである。これらの算出元データが同一であれば、必ず算出されたハッシュ値も同一となるため、本実施形態において、複数の機器のハッシュ値が一致した場合、当該複数の機器の機器構成を示す文字情報が同一であるといえる。すなわち、複数の機器のハッシュ値が一致した場合、当該複数の機器のＨＤＤ、ＯＳおよびアプリケーションの構成が同一であるといえる。
【００３１】
図２に戻り、構成情報生成部１Ａは、構成情報として、上記の文字情報（算出元データ）から、ハッシュ値を算出する。なお、構成情報は、定期的に生成しても良いし、例えば、搭載したアプリケーションをバージョンアップさせた場合など、自装置の機器構成が変化した時点でその都度生成しても良い。構成情報記憶部２Ａは、構成情報生成部１Ａが生成した最新の構成情報を書き換え可能且つ不揮発に記憶する。
【００３２】
データ生成部３Ａは、機器Ａの所定の作業状態を復元するためのハイバネーションデータを生成する。なお、所定の作業状態とは、機器Ａ，Ｂ，Ｃの起動後、当該機器を使用するために、ユーザーが操作を開始する際の作業状態である。例えば、ログイン画面を表示した状態、決まって使用されるアプリケーションが既に起動された状態などが考えられる。この所定の状態は、機器Ａ，Ｂ，Ｃの機能や操作方法によってユーザーが設定できる構成とすることが好ましい。Ｈｉデータ記憶部４Ａは、データ生成部３Ａが生成したハイバネーションデータを書き換え可能且つ不揮発に記憶する。
【００３３】
構成情報取得部５Ａは、機器Ｂから、機器Ｂの機器構成を示す構成情報を取得する。また、構成情報取得部５Ａは、構成情報と共に、機器Ｂから、機器Ｂを特定するＩＰアドレス（識別情報）、およびハイバネーションデータの保持情報も取得する。この保持情報とは、機器が最適なハイバネーションデータを保持しているか否かを示す情報である。なお、保持しているハイバネーションデータが当該機器の構成に対して最適でない場合は、当該機器は、最適なハイバネーションデータを保持していないものとされる。ハイバネーションデータが自装置に最適でない場合としては、自装置に搭載されているアプリケーションがバーションアップした場合など、変化した機器構成に合っていないハイバネーションデータを保持していることが考えられる。
【００３４】
構成判定部６Ａは、構成情報生成部１Ａが生成した構成情報、および機器Ｂから取得した構成情報に基づいて、自装置と機器Ｂとの機器構成が一致するか否かを判定する。具体的には、自装置および機器Ｂのハッシュ値を比較して、ハッシュ値が同一であれば機器構成が一致すると判定し、ハッシュ値が同一でなければ機器構成が一致しないと判定する。また、構成判定部６Ａは、構成情報と共に取得した保持情報を解析し、機器Ｂにおけるハイバネーションデータの保持の有無を判定する。
【００３５】
データ送信部７Ａは、構成判定部６Ａにより機器構成が一致すると判定され、且つ最適なハイバネーションデータを保持していないと判定された機器Ｂに対して、Ｈｉデータ記憶部４Ａに記憶したハイバネーションデータを送信する。具体的には、機器構成が一致すると判定された機器ＢのＩＰアドレスを宛先としてハイバネーションデータを送信する。なお、データ送信部７Ａは、Ｈｉデータ記憶部４Ａに記憶したハイバネーションデータから機器固有の情報（ＭＡＣアドレス、ＩＰアドレス、コンピューター名、ユーザー名など）および時間情報を除いた残データを送信する。これにより、ハイバネーションデータを取得した機器Ｂが、機器Ａとの機器の違いによる矛盾を解決して、ハイバネーションデータを自装置に適用することができる（後述する）。
【００３６】
起動部８Ａは、Ｈｉデータ記憶部４Ａに記憶したハイバネーションデータを復元して、所定の作業状態から自装置を高速起動する。すなわち、所定の状態が、ログイン画面を表示した状態であった場合、機器Ａは、通常の起動処理プロセスを省略して、ログイン画面を表示した状態から作業を開始する。
【００３７】
続いて、機器Ｂの機能構成について説明する。なお、機器Ｂ１，Ｂ２，Ｂ３は、同様の構成を有している。図２に示すように、機器Ｂは、自装置の構成情報を生成する構成情報生成部１Ｂと、生成した構成情報を記憶する構成情報記憶部２Ｂと、機器Ａに構成情報を送信する構成情報送信部９Ｂと、機器Ａから取得したハイバネーションデータを自装置に適用するデータ適用部１０Ｂと、取得したハイバネーションデータを記憶するＨｉデータ記憶部４Ｂと、取得したハイバネーションデータを読み込んで自装置を起動する起動部８Ｂと、を備えている。さらに、機器Ｂは、機器Ｃから構成情報を取得する構成情報取得部５Ｂと、各構成情報から自装置と機器Ｃとの構成が一致するか否かを判定する構成判定部６Ｂと、構成が一致する機器Ｃにハイバネーションデータを送信するデータ送信部７Ｂと、を備えている。
【００３８】
構成情報生成部１Ｂは、構成情報として、自装置の構成を示す文字情報からハッシュ値を算出する。構成情報記憶部２Ｂは、生成された構成情報を書き換え可能且つ不揮発に記憶する。なお、構成情報生成部１Ｂおよび構成情報記憶部２Ｂは、機器Ａが備えている構成情報生成部１Ａおよび構成情報記憶部２Ａと同様の構成を有している。
【００３９】
構成情報送信部９Ｂは、構成情報生成部１Ｂが生成した自装置の機器構成を示す構成情報を機器Ａに送信する。実際には、機器Ａが自装置の構成情報を接続している機器Ｂ全てに対してブロードキャストし、機器Ｂは、機器Ａから構成情報を取得したことをトリガーとして自装置の構成情報を機器Ａに送信する。
【００４０】
データ適用部１０Ｂは、機器Ａから取得したハイバネーションデータに自装置の機器固有の情報（ＭＡＣアドレス、ＩＰアドレス、コンピューター名、ユーザー名など）および時間情報を埋め込むことで、当該ハイバネーションデータを自装置に適用する。これにより、取得したハイバネーションデータを自装置のハイバネーションデータとして高速起動に用いることができる。
【００４１】
Ｈｉデータ記憶部４Ｂは、機器Ａから取得し、データ適用部１０Ｂにより自装置に適用したハイバネーションデータを書き換え可能且つ不揮発に記憶する。
【００４２】
起動部８Ｂは、データ適用部１０Ｂにより自装置に適用したハイバネーションデータを復元して、所定の作業状態（例えば、ログイン画面を表示した状態）から装置を起動する。すなわち、起動部８Ａと同様に、通常の起動処理プロセスを省略して所定の作業状態から自装置を高速起動する。
【００４３】
構成情報取得部５Ｂは、機器Ｃから、構成情報、ＩＰアドレス、ハイバネーションデータの保持情報を取得する。構成判定部６Ｂは、自装置のハッシュ値と機器Ｃのハッシュ値とを比較して、自装置および機器Ｃの構成が一致するか否かを判定する。また、機器Ｃが最適なハイバネーションデータを保持しているか否かも判定する。すなわち、構成情報取得部５Ｂおよび構成判定部６Ｂは、機器Ａに備えられた構成情報取得部５Ａおよび構成判定部６Ａと同様の構成を有している。
【００４４】
続いて、機器Ｃの機能構成について説明する。なお、機器Ｃ１，Ｃ２は、同様の構成を有している。機器Ｃは、自装置の構成情報を生成する構成情報生成部１Ｃと、生成した構成情報を記憶する構成情報記憶部２Ｃと、機器Ｂに構成情報を送信する構成情報送信部９Ｃと、機器Ｂから取得したハイバネーションデータを自装置に適用するデータ適用部１０Ｃと、取得したハイバネーションデータを記憶するＨｉデータ記憶部４Ｃと、取得したハイバネーションデータを読み込んで自装置を起動する起動部８Ｃと、を備えている。なお、これらの構成は、機器Ａおよび機器Ｂに上記した同名称の各部と同様の構成である。
【００４５】
なお、本実施形態において、機器Ａ，Ｂ，Ｃは、同構成、すなわち上記の機器Ｂの構成を有した機器であってもよい。この場合、機器Ａには、上記の機器Ｂの構成に加えてハイバネーションデータを生成するデータ生成部を備えても良いし、外部装置で生成されたハイバネーションデータを予めＨｉデータ記憶部に記憶させておいても良い。
【００４６】
次に、図４および図５を参照して、ハイバネーションデータの配布方法について説明する。図４は、機器Ａが機器Ｂに対してハイバネーションデータを配布する配布処理を示したフローチャートである。先ず、機器Ａは、電源がＯＮされたことをトリガーとして（Ｓ０１）、自装置の構成情報を接続されている機器Ｂ１，Ｂ２，Ｂ３にブロードキャストする（Ｓ０２）。一方、機器Ｂは、機器Ａから構成情報を取得すると（Ｓ０３）、自装置の構成情報、ＩＰアドレスおよびハイバネーションデータの保持情報を機器Ａに返信する（Ｓ０４）。一方、機器Ａは、接続した機器Ｂ１，Ｂ２，Ｂ３から構成情報、ＩＰアドレスおよび保持情報を取得すると（Ｓ０５）、取得した構成情報および保持情報から、構成が一致している且つ最適なハイバネーション-データを保持していない機器Ｂが存在するか否かを判定する（Ｓ０６）。
【００４７】
Ｓ０６において該当する機器Ｂが存在した場合（Ｓ０６：Ｙｅｓ）、自装置が保持しているハイバネーションデータを該当する機器Ｂに対して送信する（Ｓ０７）。一方、機器Ｂは、ハイバネーションデータを取得すると（Ｓ０８：Ｙｅｓ）、当該ハイバネーションデータを自装置に適用する（Ｓ０９）。その後、取得したハイバネーションデータを復元して、所定の作業状態から自装置を起動する。なお、ハイバネーションデータを取得しなかった場合（Ｓ０８：Ｎｏ）、機器Ｂは、通常の起動処理プロセスを経て起動するか、保持しているハイバネーションデータを用いて起動する。一方、Ｓ０６において該当する機器Ｂが存在しなかった場合（Ｓ０６：Ｎｏ）、機器Ａは、ハイバネーションデータを送信せずに処理を終了する。なお、機器Ａも保持しているハイバネーションデータを用いて高速起動する。
【００４８】
図５は、ハイバネーションデータを取得した機器Ｂが機器Ｃに対して当該ハイバネーションデータを配布する配布処理を示したフローチャートである。先ず、機器Ｂは、自装置の構成情報を接続されている機器Ｃ１，Ｃ２にブロードキャストする（Ｓ１０）。一方、機器Ｃは、機器Ｂから構成情報を取得すると（Ｓ１１）、自装置の構成情報、ＩＰアドレスおよびハイバネーションデータの保持情報を機器Ｂに返信する（Ｓ１２）。一方、機器Ｂは、接続した機器Ｃ１，Ｃ２から構成情報、ＩＰアドレスおよび保持情報を取得すると（Ｓ１３）、取得した構成情報および保持情報から、構成が一致している且つ最適なハイバネーション-データを保持していない機器Ｃが存在するか否かを判定する（Ｓ１４）。
【００４９】
Ｓ１４において該当する機器Ｂが存在した場合（Ｓ１４：Ｙｅｓ）、自装置が保持しているハイバネーションデータを該当する機器Ｃに対して送信する（Ｓ１５）。一方、機器Ｃは、ハイバネーションデータを取得すると（Ｓ１６：Ｙｅｓ）、当該ハイバネーションデータを自装置に適用する（Ｓ１７）。その後、取得したハイバネーションデータを復元して、所定の作業状態から自装置を起動する。なお、ハイバネーションデータを取得しなかった場合（Ｓ１６：Ｎｏ）、機器Ｃは、通常の起動処理プロセスを経て起動するか、保持しているハイバネーションデータを用いて起動する。一方、Ｓ１４において該当する機器Ｃが存在しなかった場合（Ｓ１４：Ｎｏ）、機器Ｂは、ハイバネーションデータを送信せずに処理を終了する。すなわち、機器Ｂは、機器Ａからハイバネーションデータを取得すると、機器Ａと同様の処理方法で、機器Ｃに対してハイバネーションデータを配布する。
【００５０】
この第１実施形態によれば、ハイバネーションデータを保持している機器Ａが、当該ハイバネーションデータを強制送信する構成あるため、機器Ａに所望の作業状態を示すハイバネーションデータ生成させる、もしくは記憶させておけば、所望の作業状態から高速起動させることのできるハイバネーションデータを機器Ｂ（機器Ｂ１〜Ｂ３）に配布することができる。
【００５１】
以下、図６ないし図１１を参照して、本発明の他の実施形態について説明する。なお、以下に説明する各実施形態において、上記の第１実施形態と同様の構成については、同様の符号を付し、詳細な説明を省略する。
【００５２】
［第２実施形態］
図６ないし図８を参照して、本発明の第２実施形態について説明する。図６は、本実施形態における情報処理装置の接続形態を示した図である。情報処理装置である機器Ｄ１，Ｄ２，…，Ｄ６は、ネットワークＮＴ３を介して接続されている。本実施形態の特徴は、同構成を備えた機器Ｄ１，Ｄ２，…，Ｄ６が、各自、自装置が最適なハイバネーションデータを保持しているか否かを判別し、最適なハイバネーションデータを保持していない場合に、他の機器Ｄに対してハイバネーションデータを要求する点である。図示のように、機器Ｄ１および機器Ｄ３は、機器構成が自装置と同じ「機器構成Ｘ」であり、最適なハイバネーションデータを保持している機器Ｄ２に対して、ハイバネーションデータを要求する。同様に、機器Ｄ５は、機器構成が自装置と同じ「機器構成Ｙ」であり、最適なハイバネーションデータを保持している機器Ｄ４に対して、ハイバネーションデータを要求する。一方、機器Ｄ６は、機器構成が自装置と同じ装置が存在しないため、自装置においてハイバネーションデータを生成する。
【００５３】
図７は、本実施形態の情報処理装置である機器Ｄの機能構成を示したブロック図である。なお、機器Ｄ１，Ｄ２，…，Ｄ６は、同様の構成を有している。機器Ｄは、構成情報生成部１Ｄ、構成情報記憶部２Ｄ、データ生成部３Ｄ、Ｈｉデータ記憶部４Ｄ、データ保持判別部１１、構成情報要求部１２、構成情報取得部５Ｄ、構成判定部６Ｄ、データ要求部１３、データ取得部１４と、データ適用部１０Ｄ、および起動部８Ｄを備えている。以下、機器Ｄの特徴的な構成について説明する。
【００５４】
データ保持判別部１１は、自装置が、最適なハイバネーションデータを保持しているか否かを判別する。実際には、保持しているハイバネーションデータが当該機器の構成に対して最適でない場合は、最適なハイバネーションデータを保持していないものとされる。
【００５５】
構成情報要求部１２は、データ保持判別部１１により、自装置が最適なハイバネーションデータを保持していないと判別した場合、接続されている自装置以外の機器Ｄに対して、当該機器の構成情報を要求する。実際には、構成情報、ＩＰアドレス、ハイバネーションデータの保持情報を要求する旨を示す構成情報要求信号を送信する。なお、本実施形態では、各機器Ｄがハイバネーションデータを生成するデータ生成部３Ｄを備えているため、保持情報は、機器Ｄが、「最適なハイバネーションデータを保持している」、「最適なハイバネーションデータを生成中である」および「最適なハイバネーションデータを保持していない、且つ生成中でもない」のうちのいずれの状態にあるかを示す情報とする。
【００５６】
構成判定部６Ｄは、自装置と構成情報を取得した自装置以外の機器Ｄとの機器構成が一致するか否かを判定すると共に、当該自装置以外の機器Ｄが、最適なハイバネーションデータを有しているか否かを判定する。実際には、保持情報を解析して、当該自装置以外の機器Ｄが、「最適なハイバネーションデータを保持している」および「最適なハイバネーションデータを生成中である」状態にある場合、最適なハイバネーションデータを有していると判定し、「最適なハイバネーションデータを保持していない、且つ生成中でもない」状態にある場合、最適なハイバネーションデータを有していないと判定する。
【００５７】
データ要求部１３は、構成判定部６Ｄにより、機器構成が一致し、且つ最適なハイバネーションを有していると判定された自装置以外の機器Ｄに対して、ハイバネーションデータを要求する。データ取得部１４は、要求先の機器Ｄからハイバネーションデータを取得する。
【００５８】
図８は、本実施形態のハイバネーションデータの配布処理を示したフローチャートである。先ず、機器Ｄは、電源がＯＮされると（Ｓ２１）、自装置の構成に合った最適なハイバネーションデータを保持しているかを判別する（Ｓ２２）。最適なハイバネーションデータを保持していなかった場合（Ｓ２２：Ｙｅｓ）、接続されている自装置以外の機器Ｄ全てに対して、構成情報要求信号を送信する（Ｓ２３）。そして、自装置以外の機器Ｄから、構成情報、ＩＰアドレス、ハイバネーションデータの保持情報を受信する（Ｓ２４）。そして、受信した各情報を解析して、接続されている自装置以外の機器Ｄの中に、自装置と同じ構成であって最適なハイバネーションデータを有している機器Ｄが存在しているか否かを判定する（Ｓ２５）。該当する機器Ｄが存在していた場合（Ｓ２５：Ｙｅｓ）、当該機器Ｄに対してハイバネーションデータを要求する（Ｓ２６）。そして、当該機器Ｄからハイバネーションデータを取得し（Ｓ２７）、自装置の固有情報を埋め込んでハイバネーションデータを適用する（Ｓ２８）。そして、取得したハイバネーションデータを復元して、自装置を起動する。
【００５９】
一方、該当する機器Ｄが存在しなかった場合（Ｓ２５：Ｎｏ）、自装置でハイバネーションデータを生成する（Ｓ２９）。そして、生成したハイバネーションデータを復元して、自装置を起動する。一方、最適なハイバネーションデータを保持していた場合（Ｓ２２：Ｙｅｓ）、機器Ｄは、保持しているハイバネーションデータを復元して、自装置を起動する。
【００６０】
なお、機器Ｄは、構成情報送信部およびデータ送信部（いずれも不図示）をさらに備えている。そして、自装置以外の機器Ｄから構成情報を要求されると、当該自装置以外の機器Ｄに対して自装置の構成情報、ＩＰアドレス、ハイバネーションデータの保持情報を送信する。また、機器Ｄは、自装置以外の機器Ｄからハイバネーションデータを要求されると、当該自装置以外の機器Ｄに対して保持しているハイバネーションデータを送信する。
【００６１】
なお、ハイバネーションデータを取得した機器Ｄが、ネットワークＮＴ３以外のネットワークに接続していた場合、当該ネットワークを介して機器Ｄに接続されている他の機器に対して、第１実施形態に記載したデータの配布方法によって、ハイバネーションデータを配布してもよい。
【００６２】
この第２実施形態によれば、同じ構成を備えた機器Ｄ１，Ｄ２，…，Ｄ６のうち、最適なハイバネーションデータを有していない機器Ｄが、自装置以外の機器Ｄに対してハイバネーションデータを要求して取得し、または、ハイバネーションデータを取得することができなかった機器Ｄは、自装置でハイバネーションデータを生成する構成であるため、任意の機器Ｄにユーザーの所望の作業状態を示すハイバネーションデータを記憶させておけば、機器Ｄ１，Ｄ２，…，Ｄ６に当該ハイバネーションデータを自動的に行き渡らせることができる。
【００６３】
［第３実施形態］
図９ないし図１１を参照して、本発明の第３実施形態について説明する。なお、機器Ｅ１，Ｅ２，…，Ｅ６は、上記の第２実施形態における機器Ｄと同様の構成を有している。図９は、本実施形態の情報処理装置の接続形態を示した図である。情報処理装置である機器Ｅ１，Ｅ２，…，Ｅ６は、ネットワークＮＴ４を介して接続されている。本実施形態の特徴は、各機器Ｅが、自装置が最適なハイバネーションデータを保持しているか否かを判別し、自装置が最適なハイバネーションデータを保持している場合は、自装置以外の機器Ｅに対してハイバネーションデータを送信し、保持していない場合は、自装置以外の機器Ｅに対してハイバネーションデータを要求する。
【００６４】
図９に示すように、機器Ｅ１、機器Ｅ２、…、機器Ｅ６の順で電源がＯＮされるとすると、ハイバネーションデータを保持していない機器Ｅ１は、機器構成が自装置と同じ「機器構成Ｘ」であり、最適なハイバネーションデータを有している機器Ｅ２に対して、ハイバネーションデータを要求する。また、ハイバネーションデータを保持している機器Ｅ２は、機器構成が自装置と同じ「機器構成Ｘ」であり、ハイバネーションデータを保持していない機器Ｅ３に対して、ハイバネーションデータを送信する（機器Ｅ４も同様）。一方、ハイバネーションデータを保持していない機器Ｅ３は、ハイバネーションデータを要求する前に、機器Ｅ２によりハイバネーションデータが送信されるため、ハイバネーションデータの要求は行わない。一方、機器Ｅ６は、機器構成が自装置と同じ装置が存在しないため、自装置においてハイバネーションデータを生成する。
【００６５】
図１０は、本実施形態のハイバネーションデータの配布処理を示したフローチャートである。先ず、機器Ｅは、電源がＯＮされると（Ｓ３１）、自装置の構成に合った最適なハイバネーションデータを保持しているかを判別する（Ｓ３２）。最適なハイバネーションデータを保持していなかった場合であって（Ｓ３２：Ｎｏ）、自装置以外の機器Ｅから構成情報要求信号を受信しなかった場合（Ｓ３３：Ｎｏ）、Ｓ３４〜Ｓ４０までの工程を実行し、ハイバネーションデータを要求および取得、または生成する。なお、Ｓ３４〜Ｓ４０の工程は、上記の第２実施形態におけるＳ２３〜Ｓ２９の工程と同様のものである（図８参照）。
【００６６】
一方、最適なハイバネーションデータを保持していた場合（Ｓ３２：Ｙｅｓ）、図１１に示すように、機器Ｅは、接続されている自装置以外の機器Ｅ全てに対して、構成情報要求信号を送信する（Ｓ４１）。そして、自装置以外の機器Ｅから、構成情報、ＩＰアドレス、ハイバネーションデータの保持情報を受信する（Ｓ４２）。そして、受信した各情報を解析して、接続されている自装置以外の機器Ｅの中に、自装置と同じ構成であって、最適なハイバネーションデータを有していない機器Ｅが存在しているか否かを判定する（Ｓ４３）。該当する機器Ｅが存在していた場合（Ｓ４３：Ｙｅｓ）、当該機器Ｅに対してハイバネーションデータを送信する（Ｓ４４）。その後、保持しているハイバネーションデータを復元して、自装置を起動する。
【００６７】
一方、最適なハイバネーションデータを保持していなかった場合であって（Ｓ３２：Ｎｏ）、自装置以外の機器Ｅから構成情報要求信号を受信した場合（Ｓ３３：Ｎｏ（Ｓ４５））、当該自装置以外の機器Ｅに対して、構成情報、ＩＰアドレス、ハイバネーションデータの保持情報を送信する（Ｓ４６）。当該自装置以外の機器Ｅにからハイバネーションデータを受信すると（Ｓ４７：Ｙｅｓ）、当該ハイバネーションデータを自装置に適用して（Ｓ４８）、自装置を起動する。当該自装置以外の機器Ｅにからハイバネーションデータを受信しなかった場合（Ｓ４７：Ｎｏ）、ハイバネーションデータを自装置で生成する（Ｓ４０）。
【００６８】
なお、図示では省略したが、機器Ｅは、最適なハイバネーションデータを保持していた場合であって（Ｓ３２：Ｎｏ）、自装置以外の機器Ｅから構成情報要求信号を受信した場合、当該自装置以外の機器Ｅに対して、構成情報、ＩＰアドレス、ハイバネーションデータの保持情報を送信する。
【００６９】
なお、ハイバネーションデータを取得した機器Ｅが、ネットワークＮＴ４以外のネットワークに接続していた場合、当該ネットワークを介して機器Ｅに接続されている他の機器に対して、第１実施形態に記載したデータの配布方法によって、ハイバネーションデータを配布してもよい。
【００７０】
この第３実施形態によれば、各機器Ｅが、自装置のハイバネーションデータの保持の有無を判別して、各保持状態に合った、ハイバネーションの授受を行うため、機器Ｅ１，Ｅ２，…，Ｅ６に、自動的に素早くハイバネーションデータを行き渡らせることができる。よって、機器Ｅ１，Ｅ２，…，Ｅ６の起動を高速に行うことができる。
【００７１】
上記した情報処理装置およびハイバネーションデータの配布方法によれば、各機器の機器構成を判定し、機器構成が同一である機器間においてのみハイバネーションデータを授受することができる。よって、機器構成の異なる機器に対して、不要なハイバネーションデータを配布することを防止することができる。このように、機器の起動時に、適切にハイバネーションデータを配布することによって、無駄な送信処理を行うことなく、ネットワークＮＴを介して接続された複数の機器を一斉に所望の作業状態から高速起動させることができる。また、各機器に個別にハイバネーションデータを記憶させる必要がないため、高速起動のための事前処理が必要ない。
【００７２】
なお、上記の各実施形態では、構成情報を、機器のＨＤＤ、ＯＳおよびアプリケーションの構成を示す文字情報から算出されるハッシュ値としたが、機器に備えられているＣＰＵのバーション情報など、ハードウェアの構成を示す文字情報から算出されるハッシュ値としてもよい。また、構成情報として、ハッシュ値ではなく、機器内のアプリケーションやハードウェアの構成を示す文字情報を用いても良い。その他、上記した実施形態によらず、情報処理装置（機器Ａ，Ｂ，Ｃ，Ｄ，Ｅ）の機能構成やハイバネーションデータの配布処理の工程等について、本発明の要旨を逸脱しない範囲で、適宜変更が可能である。
【符号の説明】
【００７３】
１Ａ，１Ｂ，１Ｃ，１Ｄ：構成情報生成部  ２Ａ，２Ｂ，２Ｃ，２Ｄ：構成情報記憶部  ３Ａ，３Ｄ：データ生成部  ４Ａ，４Ｂ，４Ｃ，４Ｄ：Ｈｉデータ記憶部  ５Ａ，５Ｂ，５Ｄ：構成情報取得部  ６Ａ，６Ｂ，６Ｄ：構成判定部  ７Ａ，７Ｂ：データ送信部  ８Ａ，８Ｂ，８Ｃ，８Ｄ：起動部  ９Ｂ，９Ｃ：構成情報送信部  １０Ｂ，１０Ｃ，１０Ｄ：データ適用部  １１：データ保持判別部  １２：構成情報要求部  １３：データ要求部  １４：データ取得部  Ａ，Ｂ，Ｃ，Ｄ，Ｅ：機器  ＮＴ１，ＮＴ２，ＮＴ３，ＮＴ４：ネットワーク
【図１】
0005614246.tif 000002
【図２】
0005614246.tif 000003
【図３】
0005614246.tif 000004
【図４】
0005614246.tif 000005
【図５】
0005614246.tif 000006
【図６】
0005614246.tif 000007
【図７】
0005614246.tif 000008
【図８】
0005614246.tif 000009
【図９】
0005614246.tif 000010
【図１０】
0005614246.tif 000011
【図１１】
0005614246.tif 000012