(57)【要約】      （修正有）【課題】省電力を維持し、ファイル共有のために必要な動作を継続して行うことができる情報処理装置を提供する。【解決手段】クライアントとの間でファイルの共有、同期を行うサーバ１０２、複数のクライアント１０３〜１０５が接続される。サーバは、ハードディスクへのアクセスを容認する通常状態と、省電力目的でハードディスクへのアクセスを容認せずＲＡＭへのアクセスを容認する第１のスリープモード状態とを有する。さらに、省電力目的でハードディスク及びＲＡＭへのアクセスを容認しない第２のスリープモード状態とを有する。サーバは通常状態においてはハードディスク、ＲＡＭのいずれにも電力が供給され、第１のスリープモード状態においてはハードディスクへの電力供給が制限され、第２のスリープモード状態においてはハードディスク、ＲＡＭへの電力供給が制限される。サーバ及びクライアントはそれぞれＨＤＤ３１１にファイルを保持している。【選択図】図１
2009294764.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してクライアントと接続する情報処理装置であって、
前記情報処理装置は動作状態として、第１記憶手段と第２記憶手段とへの電力を供給する通常状態と、前記第１記憶手段への電力供給を制限する第１スリープ状態とを有し、
前記クライアントからデータの取得要求を受け付ける受付手段と、
前記通常状態において、前記受付手段が前記クライアントからデータの要求を受け付けたことに応答して前記第１記憶手段からデータを読み出す第１読み出し手段と、
前記第１スリープ状態において、前記受付手段が前記クライアントからデータの要求を受け付けたことに応答して前記第２記憶手段からデータを読み出す第２読み出し手段と、
前記第１読み出し手段が読み出したデータ、或いは前記第２読み出し手段が読み出したデータを前記クライアントへ送信する送信手段と、を備えることを特徴とする情報処理装置。
【請求項２】
更に、前記情報処理装置は動作状態として、第１記憶手段と第２記憶手段への電力の供給を制限する第２スリープ状態を有し、
前記第２スリープ状態において、前記受付手段が前記クライアントからデータの要求を受け付けた場合、前記第１読み出し手段と前記第２読み出し手段のいずれもデータの読み出しを行わないことを特徴とする、請求項１に記載の情報処理装置。
【請求項３】
前記データは、前記第１記憶手段に記憶されているファイルの一覧を示す情報であることを特徴とする、請求項１または２に記載の情報処理装置。
【請求項４】
前記第１記憶手段に記憶されている前記ファイルの一覧を示す情報が更新された場合、前記第２記憶手段に記憶されている前記ファイルの一覧を示す情報を更新することを特徴とする、請求項３に記載の情報処理装置。
【請求項５】
ネットワークを介してクライアントと接続する情報処理装置であって、
前記情報処理装置は動作状態として、第１記憶手段と第２記憶手段への電力を供給する通常状態と、前記第１記憶手段への電力供給を制限するスリープ状態とを有し、
前記情報処理装置の動作状態が通常状態である場合に、前記クライアントから送信されたデータを前記第１記憶手段へ書き込む第１書き込み手段と、
前記情報処理装置の動作状態がスリープモード状態である場合に、前記クライアントから送信されたデータを前記第２記憶手段へ書き込む第２書き込み手段と、
を備えることを特徴とする情報処理装置。
【請求項６】
ネットワークを介してサーバ装置と接続する情報処理装置であって、
前記サーバ装置へデータを送信する場合に、前記サーバ装置の動作状態を判断する判断手段と、
前記判断手段が前記サーバ装置が備える第１記憶手段に電力が供給されている動作状態であると判断した場合、或いは、前記判断手段が前記サーバ装置が備える前記第１記憶手段には電力が供給されていないが前記サーバ装置が備える第２記憶手段には電力が供給されており、かつ前記データを記憶する空き容量を有していると判断した場合、前記データを前記サーバ装置へ送信する送信手段と、を備えることを特徴とする情報処理装置。
【請求項７】
ネットワークを介してクライアントと接続し、第１記憶手段と第２記憶手段とへの電力を供給する通常状態と、前記第１記憶手段への電力供給を制限する第１スリープ状態とを有する情報処理装置の制御方法であって、
前記クライアントからデータの取得要求を受け付ける受付工程と、
前記通常状態において、前記受付工程で前記クライアントからデータの要求を受け付けたことに応答して前記第１記憶手段からデータを読み出す第１読み出し工程と、
前記第１スリープ状態において、前記受付工程で前記クライアントからデータの要求を受け付けたことに応答して前記第２記憶手段からデータを読み出す第２読み出し工程と、
前記第１読み出し工程で読み出したデータ、或いは前記第２読み出し工程で読み出したデータを前記クライアントへ送信する送信工程と、を備えることを特徴とする情報処理装置の制御方法。
【請求項８】
ネットワークを介してクライアントと接続し、第１記憶手段と第２記憶手段への電力を供給する通常状態と、前記第１記憶手段への電力供給を制限するスリープ状態とを有する情報処理装置の制御方法であって、
前記通常状態である場合に、前記クライアントから送信されたデータを前記第１記憶手段へ書き込む第１書き込み工程と、
前記情報処理装置の動作状態がスリープモード状態である場合に、前記クライアントから送信されたデータを前記第２記憶手段へ書き込む第２書き込み工程と、
を備えることを特徴とする情報処理装置の制御方法。
【請求項９】
ネットワークを介してサーバ装置と接続する情報処理装置の制御方法であって、
前記サーバ装置へデータを送信する場合に、前記サーバ装置の動作状態を判断する判断工程と、
前記判断工程において前記サーバ装置が備える第１記憶手段に電力が供給されている動作状態であると判断された場合、或いは、前記判断工程において前記サーバ装置が備える前記第１記憶手段には電力が供給されていないが前記サーバ装置が備える第２記憶手段には電力が供給されており、かつ前記データを記憶する空き容量を有していると判断された場合、前記データを前記サーバ装置へ送信する送信工程と、を備えることを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークで接続されたクライアント、またはサーバとの間でファイルの共有、同期を行う情報処理装置及びその制御方法に関する。
【背景技術】
【０００２】
近年、インターネットやイントラネット等のネットワークを利用し、不特定多数あるいは特定多数のクライアントコンピュータ（以下、単にクライアントという）をサーバコンピュータ（以下、単にサーバという）に接続するサーバシステムが普及している。このサーバシステムは、クライアントからの要求に応じてサーバからデータを供給する。
【０００３】
サーバやクライアントには「エナジースター」に見られるように、無駄なエネルギー消費を抑えるために、パワーマネージメント機能が搭載されている。
【０００４】
パワーマネージメント機能では、所定の条件が成立したときに情報機器（サーバやクライアント）の動作を低消費電力モード（以下、スリープモードという）に移行させ、電力消費を低減する（例えば、特許文献１参照）。
【特許文献１】特開２００６−３０１７４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、通常、スリープモードに移行すると、サーバはハードディスク（ＨＤＤ）へのアクセスを行うことができなくなり、クライアントからの要求に応じてＨＤＤを読み出してデータを供給することができない。また、クライアントから受信したデータをＨＤＤに書き込むことができない。この課題は、サーバをスリープモードから復帰させることや、スリープモードにしないことで解決できるが、この場合、電力消費を低減させる効果を得ることができない。
【０００６】
本発明の目的は、省電力を維持し、ファイル共有のために必要な動作を継続して行うことができる情報処理装置及びその制御方法を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の情報処理装置は、ネットワークを介してクライアントと接続する情報処理装置であって、前記情報処理装置は動作状態として、第１記憶手段と第２記憶手段とへの電力を供給する通常状態と、前記第１記憶手段への電力供給を制限する第１スリープ状態とを有し、前記クライアントからデータの取得要求を受け付ける受付手段と、前記通常状態において、前記受付手段が前記クライアントからデータの要求を受け付けたことに応答して前記第１記憶手段からデータを読み出す第１読み出し手段と、前記第１スリープ状態において、前記受付手段が前記クライアントからデータの要求を受け付けたことに応答して前記第２記憶手段からデータを読み出す第２読み出し手段と、前記第１読み出し手段が読み出したデータ、或いは前記第２読み出し手段が読み出したデータを前記クライアントへ送信する送信手段と、を備えることを特徴とする。
【０００８】
また、本発明の情報処理装置は、ネットワークを介してサーバ装置と接続する情報処理装置であって、前記サーバ装置へデータを送信する場合に、前記サーバ装置の動作状態を判断する判断手段と、前記判断手段が前記サーバ装置が備える第１記憶手段に電力が供給されている動作状態であると判断した場合、或いは、前記判断手段が前記サーバ装置が備える前記第１記憶手段には電力が供給されていないが前記サーバ装置が備える第２記憶手段には電力が供給されており、かつ前記データを記憶する空き容量を有していると判断した場合、前記データを前記サーバ装置へ送信する送信手段と、を備えることを特徴とする。
【０００９】
また、本発明の情報処理装置の制御方法は、ネットワークを介してクライアントと接続し、第１記憶手段と第２記憶手段とへの電力を供給する通常状態と、前記第１記憶手段への電力供給を制限する第１スリープ状態とを有する情報処理装置の制御方法であって、前記クライアントからデータの取得要求を受け付ける受付工程と、前記通常状態において、前記受付工程で前記クライアントからデータの要求を受け付けたことに応答して前記第１記憶手段からデータを読み出す第１読み出し工程と、前記第１スリープ状態において、前記受付工程で前記クライアントからデータの要求を受け付けたことに応答して前記第２記憶手段からデータを読み出す第２読み出し工程と、前記第１読み出し工程で読み出したデータ、或いは前記第２読み出し工程で読み出したデータを前記クライアントへ送信する送信工程と、を備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、情報処理装置は省電力を維持し、ファイル共有のために必要な動作を継続して行うことができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態を図面を参照しながら詳細に説明する。
【００１２】
図１は、本発明の実施の形態に係るサーバとなる情報処理装置とクライアントとなる情報処理装置とが接続されるファイル共有システム（ファイル同期システム）において一部のクライアントがオフライン状態の概略構成図である。また、図２は、本発明の実施の形態に係るサーバとクライアントが接続されるファイル共有システム（ファイル同期システム）においてオフラインであったクライアントがオンラインになった状態の概略構成図である。
【００１３】
このファイル共有システムは、サーバ／クライアントシステムで実現される。ネットワーク１０１を介して、クライアントとの間でファイルの共有、同期を行うサーバ１０２、複数のクライアント１０３〜１０５が接続される。
【００１４】
また、サーバ１０２は、ハードディスクへのアクセスを容認する通常状態と、省電力目的でハードディスクへのアクセスを容認せずＲＡＭへのアクセスを容認する第１のスリープモード状態（第１スリープ状態）とを有する。さらに、省電力目的でハードディスク及びＲＡＭへのアクセスを容認しない第２のスリープモード状態（第２スリープ状態）とを有する。
【００１５】
サーバ１０２は通常状態においてはハードディスク、ＲＡＭのいずれにも電力が供給され、第１のスリープモード状態においてはハードディスクへの電力供給が制限され、第２のスリープモード状態においてはハードディスク、ＲＡＭへの電力供給が制限される。
【００１６】
サーバ１０２及びクライアント１０３〜１０５はそれぞれＨＤＤ３１１にファイルを保持している。
【００１７】
図１では、クライアント１０５がオフライン状態である。ここで言うオフライン状態とは、例えば、クライアント１０５が物理的、或いは論理的にネットワーク１０１に接続していない状態を指す。また、クライアント１０５が物理的、論理的にネットワークに接続していても、本ファイル共有システムを実現するためのソフトウェアがクライアント１０５上で稼動していない状態もオフライン状態に含まれる。更に、当該ソフトウェアの稼動状態がサーバ１０２との通信を行わない状態であるような場合もオフライン状態の一例である。サーバ１０２及びクライアント１０３〜１０４は、それぞれＨＤＤ３１１にファイルＡとファイルＢを保持している。クライアント１０５は、ＨＤＤ３１１にファイルＡを変更したファイルＡ’を保持している。ファイルＡ’はファイルＡよりも更新日時（タイムスタンプ）が新しいファイルである。
【００１８】
ここで、図２のように、クライアント１０５がオンライン状態になったとする。クライアント１０５は、サーバ１０２にアクセスし、自身の持っていないファイル及び自身の持っているファイルよりタイムスタンプが新しいファイルがＨＤＤ３１１に無いか検索する。
【００１９】
検索した結果、サーバ１０２のＨＤＤ３１１内にそれらのファイルが存在すれば、自身のＨＤＤ３１１に反映する。ここでは、クライアント１０５は、自身のＨＤＤ３１１に存在しないファイルＢをサーバ１０２のＨＤＤ３１１からコピーし、自身のＨＤＤ３１１に反映している。
【００２０】
また、クライアント１０５は、オンライン状態になった時に、サーバ１０２にアクセスし、自身が持っているファイルがＨＤＤ３１１に存在するかどうかを検索する。また、自身の持っているファイルよりタイムスタンプが古いファイルが無いか検索する。
【００２１】
検索した結果、サーバ１０２のＨＤＤ３１１内にそれらのファイルが存在すれば、自身のＨＤＤ３１１に存在するファイルの内容をサーバ１０２のＨＤＤ３１１内に反映する。ここでは、クライアント１０５は、自身のＨＤＤ３１１内にあるファイルＡ’よりサーバ１０２のＨＤＤ３１１内にあるファイルＡの方がタイムスタンプが古い。よってクライアント１０５はファイルＡ’をサーバ１０２へ送信し、自身のＨＤＤ３１１の内容をサーバ１０２のＨＤＤ３１１に反映している。
【００２２】
上記処理は、クライアント１０３〜１０５がオフライン状態からオンライン状態になったときに限らず、定期的に行われる。これにより、サーバ１０２のＨＤＤ３１１の内容は常に最新の状態となり、それを参照することで、ファイル共有システムを構成する複数のクライアント１０３〜１０５間でファイルの同期を取ることができる。
【００２３】
図３は、図１におけるクライアントあるいはサーバの内部構成の一例を示すブロック図である。本実施の形態において、クライアント１０３〜１０５もサーバ１０２も細かいスペック上の差異はあるとしても、基本的な内部構成は共通であるものとする。よって、クライアント１０３〜１０５、サーバ１０２の内部構成はいずれも図３に示すような構成であるものとする。
【００２４】
図３において、情報処理装置（クライアント１０３〜１０５、サーバ１０２の総称）３００は、ＲＯＭ３０２あるいは、例えば、第１記憶手段の一例である大規模記憶装置（ＨＤＤ）３１１に記憶されたソフトウェアを実行するＣＰＵ３０１を備える。ＣＰＵ３０１は、システムバス３０４に接続される各デバイスを総括的に制御する。
【００２５】
第２記憶手段の一例であるＲＡＭ３０３は、ＣＰＵ３０１の主メモリ、ワークエリア等として機能する。キーボードコントローラ（ＫＢＤＣ）３０５は、ＰＣ３００に備えられたキーボード（ＫＢＤ）３０９からの指示入力を制御する。
【００２６】
ディスプレイコントローラ（ＤＩＳＰＣ）３０６は、例えば、液晶等のディスプレイ３１０の表示を制御する。ディスクコントローラ（ＤＫＣ）３０７は、大容量記憶デバイスであるＨＤＤ３１１を制御する。ネットワークインタフェースカード（ＮＩＣ）３０８は、ネットワーク（ＬＡＮ）１０１を介して、他の機器と双方向にデータをやりとりする。
【００２７】
図４は、図１におけるサーバ１０２の動作を示す説明図である。
【００２８】
サーバ１０２は通常動作（通常状態）、スリープモード１（第１のスリープモード状態）、スリープモード２（第２のスリープモード状態）の３モードへ移行することが可能である。
【００２９】
（ａ）に示すように、サーバ１０２が通常に動作している時は、サーバ１０２内の各デバイスへの電力供給が行われている状態であり、ＨＤＤ３１１、ＲＡＭ３０３も稼動している状態である。
【００３０】
（ｂ）に示すように、サーバ１０２がスリープモード１で動作している時は、ＤＫＣ３０７、ＤＩＳＰＣ３０６へ電源（電力）が供給されない。このためスリープモード１においてＨＤＤ３１１は稼動せず、ＨＤＤ１０２へのデータの読み書きを行うことはできない。
【００３１】
（ｃ）に示すように、サーバ１０２がスリープモード２で動作している時は、ＤＫＣ３０７、ＤＩＳＰＣ３０６、ＲＡＭ３０３へ電力が供給されない。このためスリープモード２ではスリープモード１の状態に加えて、ＲＡＭ３０３へのデータの読み書きも行うことができない。
【００３２】
通常動作時よりもスリープモード１の方が消費電力が少ない状態であり、スリープモード１よりもスリープモード２の方が更に消費電力が少ない状態である。
【００３３】
サーバ１０２は、一定時間外部からのアクセスが無ければスリープモード１へ遷移する。更に、一定時間サーバ１０２への操作が行われないことをスリープモード１へ遷移する条件に加えても良い。また、サーバ１０２は、一定時間外部からのアクセスが無く、ネットワーク１０１上に１台もクライアント１０３〜１０５が存在しなければスリープモード２状態へ遷移する。
【００３４】
図５は、図１におけるクライアント１０３によって実行される、サーバ１０２とのファイル同期処理の手順を示すフローチャートである。
【００３５】
クライント１０３は、ネットワーク１０１を介してサーバ１０２へ現在のサーバ１０２の状態を問い合わせる（ステップＳ５０１）。サーバ１０２から通常状態であるとの応答があれば、クライアント１０３はサーバ１０２が通常状態であると判断する（ステップＳ５０２でＹＥＳ）。
【００３６】
そして、クライアント１０３は、サーバ１０２から後述するファイルリスト（ファイルの一覧）を受信する。そしてファイルリストを参照して、サーバ１０２のＨＤＤ３１１に保持されているファイルの内、自身の持っていないファイル及び自身の持つファイルよりタイムスタンプが新しいファイルがあれば、そのファイルの取得を要求する。また、サーバ１０２から当該ファイルを受信して自身のＨＤＤ３１１へ記憶し（ステップＳ５０３）、処理を終了する。
【００３７】
ステップＳ５０２にて、サーバ１０２から一定時間、通常状態であるとの応答がなければ、クライアント１０３は、サーバ１０２がスリープモード１、あるいはスリープモード２であると判断する。
【００３８】
この時、クライアント１０３は、ネットワーク１０１を介してサーバ１０２がＲＡＭ３０３に保持しているファイルリストを送信するよう要求する（ステップＳ５０４）。ファイルリストについては図７にて説明する。
【００３９】
サーバ１０２からファイルリスト送信可能との応答があれば、クライアント１０３は、サーバ１０２がスリープ１状態であると判断する（ステップＳ５０５でＹＥＳ）。
【００４０】
ステップＳ５０５にて、サーバ１０２から一定時間ファイルリスト送信可能の応答が無ければ、クライアント１０３は、サーバ１０２がスリープモード２であると判断する。
【００４１】
この時、クライアント１０２は、サーバ１０２へ通常動作するように復帰リクエストを出す（ステップＳ５０６）。サーバ１０２より通常動作へ復帰した通知を受け取ると（ステップＳ５０７）、クライアント１０３は、再度ネットワーク１０１を介してサーバ１０２へ現在の状態を問い合わせる（ステップＳ５０２）。
【００４２】
ステップＳ５０５において、サーバ１０２からファイルリスト送信可能の応答があれば、クライアント１０３は、サーバ１０２のＲＡＭ３０３に保持されているファイルリストを受信し（ステップＳ５０８）する。
【００４３】
そして、自身の持つファイルよりタイムスタンプが新しいファイルをサーバ１０２が保持しているかどうかを判断する（ステップＳ５０９）。
【００４４】
ステップＳ５０９において、サーバ１０２が自身の持つファイルよりタイムスタンプが新しいファイルを保持している場合は、クライアント１０３は、サーバ１０２へ通常動作するようにリクエストを出す（ステップＳ５０６）。
【００４５】
サーバ１０２より通常動作へ復帰した通知を受け取ると（ステップＳ５０７）、クライアント１０３は、再度ネットワーク１０１を介してサーバ１０２へ現在の状態を問い合わせる（ステップＳ５０２）。
【００４６】
ステップＳ５０９において、サーバ１０２が自身の持つファイルよりタイムスタンプが新しいファイルを保持していない場合は、自身の持っていないファイルをサーバ１０２が持っているかどうかを判断する（ステップＳ５１０）。
【００４７】
ステップＳ５１０において、サーバ１０２が自身の持っていないファイルを保持している場合、クライアント１０３は、サーバ１０２へ通常動作するようにリクエストを出す（ステップＳ５０６）。
【００４８】
サーバ１０２より通常動作へ復帰した通知を受け取ると（ステップＳ５０７）、クライアント１０３は、再度ネットワーク１０１を介してサーバ１０２へ現在の状態を問い合わせる（ステップＳ５０２）。
【００４９】
ステップＳ５１０において、サーバ１０２が自身の持っていないファイルを保持していない場合は処理を終了する。
【００５０】
図６は、クライアント１０３との同期処理におけるサーバ１０２の処理の手順を示すフローチャートである。図６のフローチャートは、同期処理においてクライアント１０３が実行する図５のフローチャートの処理に対するサーバ１０２側の処理を示すものである。
【００５１】
サーバ１０２は、現在の状態の問い合わせ（図５のステップＳ５０１）をクライアント１０３より受け付ける（ステップＳ６０１）。
【００５２】
サーバ１０２は、自身が通常動作（通常状態）中かどうかを判断し（ステップＳ６０２）、通常動作中であれば、通常動作中であることをクライアント１０３へ通知する。（ステップＳ６０３）。そして、クライアント１０３からのファイルの取得要求を受付けたことに基づいてＨＤＤ３１１から同期すべきファイルを読み出してクライアント１０３へ送信し（ステップＳ６０４）、処理を終了する。第１読み出し手段による処理の一例に相当する。
【００５３】
サーバ１０２は、通常動作中で無い場合（ステップＳ６０２でＮＯ）、その旨をクライアント１０３へ通知するか、或いは何も通知しないことでクライアント１０２に通常動作中で無いことを知らせる。
【００５４】
次に、サーバ１０２は、ＲＡＭ３０３に保持しているファイルリスト７０１（図７）の送信要求（図５のステップＳ５０４）をクライアント１０３より受け付ける（ステップＳ６０５）。
【００５５】
サーバ１０２は、自身の動作状態がスリープモード２であるかどうかを判断する（ステップＳ６０６）。
【００５６】
サーバ１０２は、スリープモード２で動作していれば、ファイルリスト７０１の送信要求を無視し、クライアント１０３に対して何も応答しない（ステップＳ６０７）。
【００５７】
次に、サーバ１０２は、クライアント１０３より通常動作遷移のリクエスト（図５のステップＳ５０６）を受け付ける（ステップＳ６０８）。
【００５８】
次に、サーバ１０２は、通常動作へ遷移し（ステップＳ６１０）、通常動作へ遷移したことをクライアント１０３へ通知し（ステップＳ６１１）、ＨＤＤ３１１へのアクセス要求をクライアント１０３より受け取る（ステップＳ６０１）。
【００５９】
サーバ１０２は、スリープモード１で動作していれば（ステップＳ６０６でＮＯ）、ファイルリストが送信可能であることをクライアント１０３へ通知する（ステップＳ６１２）。そして、サーバ１０２はＲＡＭ３０３が記憶しているファイルリスト読み出し、７０１をクライアント１０３へ送信する（ステップＳ６１３）。第２読み出し手段による読み出し動作の一例に相当する。
【００６０】
次に、通常動作遷移のリクエストをクライアント１０３より受け取ったかどうかを判断し（ステップＳ６１４）、受け取っていなければ処理を終了する。受け取っていれば通常動作へ遷移する（ステップＳ６１０）。
【００６１】
図５、図６に記述した動作により、サーバ１０２がスリープモード１であり、クライント１０３とサーバ１０２の保持しているファイルに差分が無い場合は、サーバ１０２を通常状態へ遷移させなくて良い。これにより、サーバ１０２が省電力状態から通常状態へ移行することを抑制でき、サーバ１０２の消費電力を抑えることができる。しかも、クライアントとサーバとの同期のために必要な処理は実行することができるので、ファイル共有システム全体の処理が滞ることを防止することができる。
【００６２】
図７は、図１におけるサーバ１０２がＲＡＭ３０３及びＨＤＤ３１１に保持するファイルリストの一例を示す図である。
【００６３】
サーバ１０２は、ＲＡＭ３０３とＨＤＤ３１１にファイルリスト７０１を保持する。通常状態ではＲＡＭ３０３とＨＤＤ３１１に保存されるファイルリストは常に同じ値を持つ。ＲＡＭ３０３は、サーバ１０２の動作状態に関わらず、常にＨＤＤ３１１に記憶されるファイルリストと同じ情報を記憶するようにしても良い。或いは、サーバ１０２が通常状態の場合にはＲＡＭ３０３はファイルリストを記憶せず、通常状態からスリープモード１へ遷移する際にＨＤＤ３１１からファイルリストの複製をＲＡＭ３０３へ記憶するようにしても良い。
【００６４】
ファイルリスト７０１には、サーバ１０２がＨＤＤ３１１に保持するファイルの内、本システムを用いて同期を行う対象のファイル名とタイムスタンプ（ファイルの作成日時或いは更新日時）が記載されている。
【００６５】
サーバ１０２は、ＨＤＤ３１１に保持するファイルに対して更新、削除、新規作成を行った際に、ＲＡＭ３０３及びＨＤＤ３１１に保持するファイルリスト７０１を更新する。
【００６６】
図８は、図１におけるクライアント１０３によって実行される、サーバ１０２とのファイル同期処理の手順を示すフローチャートである。図５では同期処理におけるクライアント１０３がサーバ１０２からファイルを受信する処理について説明したが、図８では、クライアント１０３がサーバ１０２へファイルを送信する処理について説明する。クライアント１０２サーバ１０３との同期処理において、クライアント１０３は図５のフローチャートの処理と図８のフローチャートの処理とを実行することになる。
【００６７】
クライント１０３は、ネットワーク１０１を介してサーバ１０２の現状態を問い合わせる（ステップＳ８０１）。
【００６８】
サーバ１０２から通常状態であるとの応答があれば、クライアント１０３は、サーバ１０２が通常状態であると判断する（ステップＳ８０２でＹＥＳ）。
【００６９】
サーバ１０２が通常状態であれば、サーバ１０２のＨＤＤ３１１にファイルの書き込みを行い（ステップＳ８０３）、処理を終了する。この時、クライアント１０３は、サーバ１０２からファイルリストを受信する。そしてファイルリストを参照して、クライアント１０３が保持している同期対象のファイルのうち、サーバ１０２のＨＤＤ３１１に保持されていないファイルがあれば、当該ファイルをサーバ１０２へ送信する。或いはクライアント１０３が保持するファイルより古いタイムスタンプのファイルがあれば、当該ファイルをサーバ１０２へ送信する。
【００７０】
ステップＳ８０２において、一定時間サーバ１０２から通常状態であるとの応答がなければ、クライアント１０３は、サーバ１０２がスリープモード１、あるいはスリープモード２であると判断する（ステップＳ８０２でＮＯ）。
【００７１】
そして、クライアント１０３は、ネットワーク１０１を介してサーバ１０２へＲＡＭ３０３の空き容量を通知するようリクエストする（ステップＳ８０４）。
【００７２】
一定時間サーバ１０２からＲＡＭ３０３の空き容量が通知されなかったことを検知したら、クライアント１０３は、サーバ１０２がスリープモード２であると判断する（ステップＳ８０５でＮＯ）。
【００７３】
そして、クライアント１０２は、サーバ１０２へ通常動作するようにリクエストを出す（ステップＳ８０６）。
【００７４】
サーバ１０２より通常動作へ復帰した通知を受け取ると（ステップＳ８０７）、クライアント１０３は、再度ネットワーク１０１を介してサーバ１０２の現状態を問い合わせる（ステップＳ８０１）。
【００７５】
ステップＳ８０５において、サーバ１０２からＲＡＭ３０３の空き容量が通知されると、クライアント１０３は、サーバ１０２がスリープモード１状態であると判断する（ステップＳ８０５でＹＥＳ）。
【００７６】
次に、クライアント１０３は、サーバ１０２からＲＡＭ３０３の空き容量を受信する（ステップＳ８０８）。
【００７７】
次に、クライアント１０３は、同期処理のために自身がサーバ１０２へ送信しようとしているファイルのファイルサイズとＲＡＭ３０３の空き容量を比較する（ステップＳ８０９）。
【００７８】
クライアント１０３は、ＲＡＭ３０３の空き容量よりも送信しようとしているファイルのファイルサイズの方が小さければ、サーバ１０２へファイルを送信し（ステップＳ８１０）、処理を終了する。この場合、サーバ１０２を通常状態に復帰させること無くファイルの同期処理を行うことができる。
【００７９】
送信しようとしているファイルのファイルサイズの方がＲＡＭ３０３の空き容量より大きければ、クライアント１０２は、サーバ１０２へ通常動作するようにリクエストを出す（ステップＳ８０６）。
【００８０】
サーバ１０２より通常動作へ復帰した通知を受け取ると（ステップＳ８０７）、クライアント１０３は、再度ネットワーク１０１を介してサーバ１０２の現状態を問い合わせる（ステップ８０１）。
【００８１】
図９は、クライアント１０３との同期処理におけるサーバ１０２の処理の手順を示すフローチャートである。図９のフローチャートは、同期処理においてクライアント１０３が実行する図８のフローチャートの処理に対するサーバ１０２側の処理を示すものである。また、図６では同期処理におけるサーバ１０２がクライアント１０３へファイルを送信する処理について説明したが、図９では、サーバ１０２がクライアント１０３からファイルを受信するする処理について説明する。クライアント１０２サーバ１０３との同期処理において、サーバ１０２は図６のフローチャートの処理と図９のフローチャートの処理とを実行することになる。
【００８２】
サーバ１０２は、現状態の問い合わせ（図８のステップＳ８０１）をクライアント１０３より受け取る（ステップＳ９０１）。
【００８３】
サーバ１０２は、自身が通常動作中かどうかを判断し、通常動作中であれば（ステップＳ９０２でＹＥＳ）、通常動作中であることをクライアント１０３へ通知する（ステップＳ９０３）。そして、クライアント１０３から送信される（図８のステップ８０３）ファイルを受信し、ＨＤＤ３１１書き込み（ステップＳ９０４）、処理を終了する。第１書き込み手段による処理の一例に相当する。
【００８４】
次に、サーバ１０２は、ＲＡＭ３０３の空き容量通知要求（図８のステップＳ８０４）をクライアント１０３より受け付ける（ステップＳ９０５）。
【００８５】
次に、サーバ１０２は、自身がスリープモード２であるかどうかを判断し（ステップＳ９０６）、スリープモード２で動作していれば、ＲＡＭ３０３の空き容量通知リクエストを無視する（ステップＳ９０７）。
【００８６】
次に、サーバ１０２は、クライアント１０３より通常動作遷移のリクエスト（図８のステップＳ８０６）を受け付けると（ステップＳ９０８）、通常動作へ遷移する（ステップＳ９０９）。
【００８７】
次に、サーバ１０２は、通常動作へ遷移したことをクライアント１０３へ通知し（ステップＳ９１０）、ステップＳ９０１へ進む。
【００８８】
一方、スリープモード１で動作していれば（ステップＳ９０６でＮＯ）、ＲＡＭ３０３の空き容量を通知可能であることをクライアント１０３へ通知し（ステップＳ９１１）する。そして、クライアント１０３よりＲＡＭ３０３の空き容量取得のリクエスト（図８のステップＳ８０４）を受け付ける（ステップＳ９１２）。
【００８９】
次に、サーバ１０２はＲＡＭ３０３の空き容量をクライアント１０３へ通知する（ステップＳ９１３）。
【００９０】
次に、クライアント１０３よりファイルを受信したか否かを判断し（ステップＳ９１４）、受信していなければ通常動作遷移のリクエストを受け取るのを待つ（ステップＳ９０８）。受信していればＲＡＭ３０３への書き込みを受け付けて書き込みを行い（ステップＳ９１５）、処理を終了する。第２書き込み手段による処理の一例に相当する。
【００９１】
図８、図９に記述した動作により、サーバ１０２がスリープモード１で動作時に、クライアント１０３がサーバ１０２のＲＡＭ空き容量よりサイズの小さいファイルを書き込む場合は、サーバ１０２を通常状態へ遷移させなくて良い。これにより、サーバ１０２が省電力状態から通常状態へ移行することを抑制でき、サーバ１０２の消費電力を抑えることができる。しかも、ＲＡＭ１０２の容量で受信できる限りの同期処理は実行することができるのでファイル共有システム全体の処理が滞ることを防止することもできる。
【図面の簡単な説明】
【００９２】
【図１】本発明の実施の形態に係る情報処理装置とクライアントが接続されるファイル共有システム（ファイル同期システム）におけるクライアントがオフライン状態の概略構成図である。
【図２】本発明の実施の形態に係る情報処理装置とクライアントが接続されるファイル共有システム（ファイル同期システム）におけるクライアントがオンライン状態の概略構成図である。
【図３】図１におけるクライアントあるいはサーバの内部構成の一例を示すブロック図である。
【図４】図１におけるサーバの動作を示す説明図である。
【図５】図１におけるクライアントによって実行される、サーバとのファイル同期処理の手順を示すフローチャートである。
【図６】クライアントとの同期処理におけるサーバの処理の手順を示すフローチャートである。
【図７】図１におけるサーバがＲＡＭ及びＨＤＤに保持するファイルリストの一例を示す図である。
【図８】図１におけるクライアントによって実行される、サーバとのファイル同期処理の手順を示すフローチャートである。
【図９】クライアントとの同期処理におけるサーバの処理の手順を示すフローチャートである。
【符号の説明】
【００９３】
１０１  ネットワーク
１０２  サーバ
１０３〜１０５  クライアント
３００  ＰＣ
３０１  ＣＰＵ
３０２  ＲＯＭ
３０３  ＲＡＭ
３１１  ＨＤＤ
【図１】
2009294764.tif 000003
【図２】
2009294764.tif 000004
【図３】
2009294764.tif 000005
【図４】
2009294764.tif 000006
【図５】
2009294764.tif 000007
【図６】
2009294764.tif 000008
【図７】
2009294764.tif 000009
【図８】
2009294764.tif 000010
【図９】
2009294764.tif 000011