(57)【要約】  【課題】常に稼動しているとは限らないクライアントを前提しつつ、高い可用性でファイルを書き込み及び読み出しすることができるファイルシステムに適用可能な方法などを提供する。  【解決手段】サーバと複数のクライアントとがネットワークで接続されたネットワークファイルシステムの前記サーバに適用される方法であり、  一のクライアントからのデータの書き込み要求を受信する第1受信ステップと、  予め記憶している前記一のクライアントの状況及び／又は他のクライアントの状況に基づいて、前記他のクライアントの中から前記データの書込対象としてのクライアントを決定する第1判断ステップと、  書込対象として決定されたクライアントに対して前記データの書き込み要求を送信する第1送信ステップと  を備える方法。
2007069576.tif 000002
【特許請求の範囲】
【請求項１】
サーバと複数のクライアントとがネットワークで接続されたネットワークファイルシステムの前記サーバに適用される方法であり、
一のクライアントからのデータの書き込み要求を受信する第1受信ステップと、
予め記憶している前記一のクライアントの状況及び／又は他のクライアントの状況に基づいて、前記他のクライアントの中から前記データの書込対象としてのクライアントを決定する第1判断ステップと、
書込対象として決定されたクライアントに対して前記データの書き込み要求を送信する第1送信ステップと
を備える方法。
【請求項２】
前記第1判断ステップの前に、
前記複数のクライアントのそれぞれの稼動実績を前記各クライアントの状況として記憶する第1調査ステップ
を備える請求項1に記載の方法。
【請求項３】
前記第1調査ステップでは、前記稼働実績に基づいて一定周期毎の各クライアントの稼働確率を算出し、前記稼働確率を前記各クライアントの状況として記憶する請求項2に記載の方法。
【請求項４】
前記第1判断ステップでは、
予め定められたデータ多重度を満足するように、前記書込対象としてのクライアントを複数決定する請求項1に記載の方法。
【請求項５】
前記第1判断ステップの前に、
前記一のクライアントから前記データの可用性基準を受信する第2受信ステップを備え、
前記第1判断ステップでは、
受信した前記可用性基準を満足するように、前記書込対象としてのクライアントを決定する請求項1に記載の方法。
【請求項６】
前記第1判断ステップでは、
前記データの容量に基づいて、前記書込対象としてのクライアントを決定する請求項1に記載の方法。
【請求項７】
前記第1判断ステップの前に、
前記複数のクライアントのそれぞれの利用可能な記憶容量を前記クライアントの状況として記憶する第2調査ステップ
を備え、
前記第1判断ステップでは、
各クライアントの利用可能な記憶容量に基づいて、前記書込対象としてのクライアントを決定する請求項1に記載の方法。
【請求項８】
前記第1判断ステップでは、最適配置法に基づいて、前記書込対象としてのクライアントを決定する請求項1に記載の方法。
【請求項９】
前記第1判断ステップでは、前記データの可用性が予め定められた可用性基準を満足する条件の下、前記複数のクライアントの利用記憶容量を最小化するように、前記書込対象としてのクライアントを決定する請求項7に記載の方法。
【請求項１０】
前記第1判断ステップでは、前記複数のクライアントの利用記憶容量が予め定められた前記利用可能な記憶容量を満足する条件の下、前記データの可用性を最大化するように、前記書込対象としてのクライアントを決定する請求項7に記載の方法。
【請求項１１】
前記データの可用性が予め定められた可用性基準を満足する条件の下、前記複数のクライアントの利用記憶容量を最小化するのを第1モード、
前記複数のクライアントの利用記憶容量が予め定められた前記利用可能な記憶容量を満足する条件の下、前記データの可用性を最大化するのを第2モードとし、
前記第1判断ステップでは、前記第1モードと前記第2モードとの中間的な第3モードにより、前記書込対象のクライアントを決定する請求項7に記載の方法。
【請求項１２】
前記第1送信ステップの後に、
前記ネットワークファイルシステムの状況の変化に基づいて、前記データの移転対象としての前記クライアントを決定する第2判断ステップと、
前記移転対象として決定されたクライアントに対して前記データを書き込む要求を送信する第2送信ステップと
を備える請求項1に記載の方法。
【請求項１３】
前記第2送信ステップは、
前記移転対象として決定されたクライアントに対して前記データを書き込む要求を前記書込対象として決定されたクライアントを介して送信する請求項12に記載の方法。
【請求項１４】
前記ネットワークファイルシステムの状況には、クライアント数の増減、各クライアントの状況、前記データの可用性基準、前記ネットワークの状況のうち、少なくとも一つが含まれる請求項12に記載の方法。
【請求項１５】
前記第1送信ステップの後、かつ前記第2判断ステップの前に、
特定のデータが書き込まれている複数のクライアントの状況を監視する監視ステップを備え、
前記第2判断ステップでは、
前記特定のデータが書き込まれているクライアントの稼動数が予め定められた基準数以下となることを条件に、前記データの移転対象としてのクライアントを決定する請求項12に記載の方法。
【請求項１６】
前記第1送信ステップの後、かつ前記第2判断ステップの前に、
前記ネットワークの状況及び特定のデータが書き込まれている複数のクライアントの状況を監視する監視ステップを備え、
前記第2判断ステップでは、
前記特定のデータが書き込まれているクライアントが接続されている前記ネットワークの一部が故障することを条件に、前記データの移転対象としてのクライアントを故障していない前記ネットワークに接続されているクライアントの中から決定する請求項12に記載の方法。
【請求項１７】
前記第1送信ステップの後、かつ前記第2判断ステップの前に、
特定のデータが書き込まれている複数のクライアントの状況を監視する監視ステップを備え、
前記第2判断ステップでは、
前記特定のデータが書き込まれているクライアントの利用可能な記憶容量が予め定められた基準容量以下となることを条件に、前記データの移転対象としてのクライアントを決定する請求項12に記載の方法。
【請求項１８】
前記第2判断ステップでは、
移転対象として決定されたクライアントに対して前記データを書き込む際の前記ネットワークに対する負荷に基づいて、前記データの移転対象としての前記クライアントを決定する請求項12に記載の方法。
【請求項１９】
サーバと複数のクライアントとがネットワークで接続されたネットワークファイルシステムのサーバであり、
前記一のクライアントからのデータの書き込み要求を受信する第1受信手段と、
予め記憶している前記一のクライアントの状況及び／又は他のクライアントの状況に基づいて、前記他のクライアントの中から前記データの書込対象としてのクライアントを決定する第1判断手段と、
書込対象として決定されたクライアントに対して前記データの書き込み要求を送信する第1送信手段と
を備えるサーバ。
【請求項２０】
前記クライアントは単一又は複数の補助記憶装置を備え、
前記第1判断手段は、前記書込対象としての補助記憶装置を決定する請求項19に記載のシステム。
【請求項２１】
前記ネットワークはイントラネットワークである請求項19に記載のシステム。
【請求項２２】
前記複数のクライアントが接続されている第一のネットワークと、前記サーバが接続されている第二のネットワークとが異なる組織に属し、両ネットワークが相互接続ネットワークである請求項19に記載のシステム。
【請求項２３】
前記クライアントはパーソナルコンピュータであり、その電源のオンオフが各パーソナルコンピュータのユーザに委ねられている請求項19に記載のシステム
【請求項２４】
サーバと複数のクライアントとがネットワークで接続されたネットワークファイルシステムのサーバとしてコンピュータを機能させるコンピュータプログラムであり、
前記コンピュータに、
前記一のクライアントからのデータの書き込み要求を受信する第1受信機能と
予め記憶している前記一のクライアントの状況及び／又は他のクライアントの状況に基づいて、前記他のクライアントの中から前記データの書込対象としてのクライアントを決定する第1判断機能と、
書込対象として決定されたクライアントに対して前記データの書き込み要求を送信する第1送信機能と
を実現させるコンピュータプログラム。
【請求項２５】
複数のクライアントがネットワークで接続されたネットワークシステムをネットワークファイルシステムとして利用する方法であり、
前記ネットワークシステムにサーバを導入する導入ステップを備え、
前記サーバは、
前記一のクライアントからのデータの書き込み要求を受信する第1受信手段と、
予め記憶している前記一のクライアントの状況及び／又は他のクライアントの状況に基づいて、前記他のクライアントの中から前記データの書込対象としてのクライアントを決定する第1判断手段と、
書込対象として決定されたクライアントに対して前記データの書き込み要求を送信する第1送信手段と
を備える
方法。
【請求項２６】
前記導入ステップは、前記サーバ及び前記クライアントにそれぞれ必要なプログラムをインストールするサブステップを備える請求項21に記載の方法。
【請求項２７】
前記サーバに必要なプログラムは、
前記サーバに、
前記第1のクライアントからのデータの書き込み要求を受信する第1受信機能、
予め記憶している前記第1のクライアントの状況及び／又は他のクライアントの状況に基づいて、他のクライアントの中から前記データの書込対象としてのクライアントを決定する第1判断機能、
書込対象として決定されたクライアントに対して前記データの書き込み要求を送信する第1送信機能、
ある期間における単位時間ごとの前記複数のクライアントのそれぞれの稼動確率を前記クライアントの状況として記憶する第1調査機能、
前記第1のクライアントから前記データの可用性の要求を受信する第2受信機能、
前記複数のクライアントのそれぞれの利用可能な記憶容量を記憶する第2調査機能、
前記ネットワークファイルシステムの状況の変化に基づいて、前記データの移転対象としての前記クライアントを決定する第2判断機能、
移転対象として決定されたクライアントに対して前記データを書き込む要求を送信する第2送信機能、
特定のデータが書き込まれている複数のクライアントの状況を監視する監視機能、
のうち少なくとも一つの機能を実現させる請求項22に記載の方法。
【請求項２８】
前記クライアントに必要なプログラムは、
前記クライアントに、
自己の状況を前記サーバに通知する機能、
自己の利用可能な記憶容量を前記サーバに通知する機能、
前記サーバからの書き込み要求に応じて前記データを自己へ書き込む機能
のうち少なくとも一つの機能を実現させる請求項22に記載の方法。
【請求項２９】
前記クライアントに必要なプログラムは、
前記クライアントに、
自己の状況を前記サーバに通知する機能、
前記サーバに対して前記データの書き込みを要求する機能、
前記サーバに対して前記データの可用性を要求する機能、
前記サーバに対して前記データの読み出しを要求する機能
のうち少なくとも一つの機能を実現させる請求項22に記載の方法。
【請求項３０】
前記導入ステップの前に、前記ネットワークシステムをネットワークファイルシステムとして利用する場合の性能を評価する評価ステップを備える請求項21に記載の方法。
【請求項３１】
前記導入ステップの後に、前記サーバを用いて顧客にネットワークファイルシステム環境を提供する提供ステップを備える請求項21に記載の方法
【請求項３２】
前記提供ステップの後に、前記サーバの前記第1判断手段における判断アルゴリズムを変更するメインテナンスステップを備える請求項27に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上の端末の余剰記憶領域を有効活用する技術に関し、特に、前記端末が常時稼動していない場合にも有効なネットワークファイルシステム技術に係る。
【背景技術】
【０００２】
従来から、ネットワーク上の端末を利用したファイルシステムの技術としては、大きく分けてネットワークファイルシステム型とピアツーピア型とが存在する。【０００３】
図20は、ネットワークファイルシステム型のファイルシステムを示す概念図である。このファイルシステムは、複数のシェアサーバとマネジメント・サーバとがネットワークで接続されている。また、各シェアサーバはそれぞれ物理的な補助記憶装置を備えている。このファイルシステムに対してクライアントがサービスを要求する場合には、マネジメント・サーバは複数の補助記憶装置により、論理的なファイルシステムをクライアントに対して提供する。なお、各シェアサーバは、基本的に常に稼動していることが予定されている。このようなファイルシステムの例としては、NFS(Network File System)、AFS(Andrew File System)などを挙げることができる。特許文献1に開示されているファイルシステムもこの一例である。【０００４】
図21は、ピアツーピア型のファイルシステムを示す概念図である。このファイルシステムには、全体を管理する管理サーバは存在せず、ネットワークに接続されている複数のコンピュータが全体的に仮想的なファイルシステムを構成していると評価することができる。また、各コンピュータにはそれぞれ部率的な補助記憶装置を備えている。このファイルシステムに対してクライアントがサービスを要求する場合には、クライアントとコンピュータとが一対一でファイルを転送する。なお、各コンピュータは基本的に常に稼動していることは予定されていない。このようなファイルシステムの例としては、Gnutella、Napsterなどを挙げることができる。
【特許文献１】特開2003−248611号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
図20に示したネットワークファイルシステムは、常に稼動している複数のシェアサーバを前提としているため、例えば、一般ユーザにより電源のオンオフが行われるパーソナルコンピュータを利用したネットワークファイルシステムを提供するものではない。一方、図21に示したピアツーピアシステムは、各パーソナルコンピュータが自身が記憶するファイルを一方的に公開するのみであり、クライアントからファイルが書き込まれることは予定していない。【０００６】
本発明はこのような技術的課題に鑑みてなされたものであり、その目的は、常に稼動しているとは限らないクライアントを前提しつつ、高い可用性でファイルを書き込み及び読み出しすることができるファイルシステムに適用可能な方法、ファイルシステム、ファイルシステムのサーバ用プログラムなどを提供することにある。
【課題を解決するための手段】
【０００７】
本発明は、第1にサーバに適用される方法として把握することができる。
すなわち本発明は、サーバと複数のクライアントとがネットワークで接続されたネットワークファイルシステムの前記サーバに適用される方法であり、一のクライアントからのデータの書き込み要求を受信する第1受信ステップと、予め記憶している前記一のクライアントの状況及び／又は他のクライアントの状況に基づいて、前記他のクライアントの中から前記データの書込対象としてのクライアントを決定する第1判断ステップと、書込対象として決定されたクライアントに対して前記データの書き込み要求を送信する第1送信ステップとを備える方法である。【０００８】
本発明は、第2にネットワークファイルシステムのサーバとして把握することができる。
すなわち本発明は、サーバと複数のクライアントとがネットワークで接続されたネットワークファイルシステムのサーバであり、前記一のクライアントからのデータの書き込み要求を受信する第1受信手段と、予め記憶している前記一のクライアントの状況及び／又は他のクライアントの状況に基づいて、前記他のクライアントの中から前記データの書込対象としてのクライアントを決定する第1判断手段と、書込対象として決定されたクライアントに対して前記データの書き込み要求を送信する第1送信手段とを備えるサーバである。【０００９】
本発明は、第3にネットワークファイルシステムのサーバ用プログラムとして把握することができる。
すなわち本発明は、サーバと複数のクライアントとがネットワークで接続されたネットワークファイルシステムのサーバとしてコンピュータを機能させるコンピュータプログラムであり、前記コンピュータに、前記一のクライアントからのデータの書き込み要求を受信する第1受信機能と、予め記憶している前記一のクライアントの状況及び／又は他のクライアントの状況に基づいて、前記他のクライアントの中から前記データの書込対象としてのクライアントを決定する第1判断機能と、書込対象として決定されたクライアントに対して前記データの書き込み要求を送信する第1送信機能とを実現させるコンピュータプログラムである。【００１０】
本発明は、第4にネットワークシステムをファイルシステムとして利用する方法として把握することもできる。
すなわち本発明は、複数のクライアントがネットワークで接続されたネットワークシステムをファイルシステムとして利用する方法であり、前記ネットワークシステムにサーバを導入する導入ステップを備え、前記サーバは、前記一のクライアントからのデータの書き込み要求を受信する第1受信手段と、予め記憶している前記一のクライアントの状況及び／又は他のクライアントの状況に基づいて、前記他のクライアントの中から前記データの書込対象としてのクライアントを決定する第1判断手段と、書込対象として決定されたクライアントに対して前記データの書き込み要求を送信する第1送信手段とを備える方法である。
【発明の効果】
【００１１】
常に稼動しているとは限らないクライアントを前提しつつ、前記クライアントに高い可用性でファイルを書き込み及び読み出しすることができるファイルシステムの利用方法、ファイルシステム、ファイルシステム用プログラムなどを提供することができる。
【発明を実施するための最良の形態】
【００１２】
発明の実施形態
以下、図面を参照しつつ、本発明の例示的な実施形態を説明する。
図1は、本発明が適用されるネットワークシステムを説明する概念図である。
Ｙ社はシステムインテグレータ（顧客の業務内容を分析し、問題に合わせた情報システムの企画、構築、運用などの業務を一括して請け負う業者）であり、Ｘ社はＹ社の顧客である。Ｙ社は、後述の情報システムをＸ社へ提供する。Ｘ社の社内ネットワークシステム（ネットワークシステム）100は、イントラネットワーク（ネットワーク）30とネットワーク30に接続された（N+1）台のパーソナルコンピュータ（複数のクライアント、以下「PC」と記す）1（1）〜（N+1）とを備えている。全体のPC状況の数（N+1）は、例えば、数十、数百、数千など、十分に多い。また各PC1（1）〜（N+1）には、メール送受信、ワードプロセッサ、表計算、プレゼンテーションなどのビジネス・ソフトウェアがインストールされている。これらのPCは、原則としてＸ社の従業員x(1)〜(M+1)がその業務に使用する。したがって、一般的に、それぞれの従業員x(1)〜(M+1)は出社時に各自のPC1（1）〜（N+1）の電源をONし、退社時にそのPC1（1）〜（M+1）の電源をOFFする。そして、従業員x(1)〜(M+1)の多くは、朝出社し夕方から夜にかけて退社する勤務形態であるが、従業員x(1)〜(M+1)の中には、より長く勤務する者、より短く勤務する者、夕方から夜にかけて出社し朝退社する者など、様々な勤務形態の者が存在する。なお、必ずしも従業員x(1)〜(M+1)と各PC1（1）〜（N+1）とが一対一に対応する必要はない。【００１３】
図2は、サーバ2の接続形態を説明するものである。
社内ネットワークシステム100にはサーバ2が接続される。接続方法としては、図2Ａに示すとおり、サーバ2がイントラネットワーク30へ直接接続されてもよいし（本実施形態）。また、図2Ｂに示すとおり、サーバ2はＹ社のイントラネットワーク（第二のネットワーク）32に直接接続され、Ｘ社のイントラネットワーク（第一のネットワーク）30とＹ社のイントラネットワーク32とが、インタネットワーク（相互接続ネットワーク）31を介して接続され、結果としてサーバ2がイントラネットワーク30へ間接接続されてもよい。さらに、図示しないが、サーバ2はX社及びＹ社以外の第三者のイントラネットワークに直接接続され、第三者のイントラネットワークとX社のイントラネットワーク30とが、インタネットワーク31を介して接続され、結果としてサーバ2がイントラネットワーク30へ間接接続されてもよい。これら、インタネットを介して間接的にサーバ2と社なしネットワークシステムとが接続される場合、イントラネットワーク30（32）とインタネット31との間にファイアーウォールを設けることが情報セキュリティ上好ましい。【００１４】
図3は、イントラネットワーク30のより具体的な構成を示したものである。
イントラネットワーク30は、単一のLAN（ローカル・エリア・ネットワーク、部分ネットワーク）として構成することもできるし、図3に示すように、複数のLAN30Ａ，Ｂ，Ｃを含むWAN（ワイド・エリア・ネットワーク、全体ネットワーク）として構成することもできる（本実施形態）。ファイルシステムの障害耐性を考慮すると、各LAN30Ａ，Ｂ，Ｃは災害（火事、水害、地震等）の影響を互いに受けないように構成することが好ましい。【００１５】
図4は、サーバ2及びPC1のハードウェア構成を説明する概略図である。
サーバ2及びPC1は、ホストコントローラ110により相互に接続されるＣＰＵ101、ＲＡＭ120、グラフィックコントローラ146を有するＣＰＵ周辺部と、入出力コントローラ140によりホストコントローラ110に接続される通信インターフェイス144、ハードディスクドライブ（補助記憶装置）124、及びＣＤ−ＲＯＭドライブ126を有する入出力部と、入出力コントローラ140に接続されるＲＯＭ122、入出力チップ142を有するレガシー入出力部（フレキシブルディスクドライブ128など）とを備える。【００１６】
ホストコントローラ110は、ＲＡＭ120と、高い転送レートでＲＡＭ120をアクセスするＣＰＵ100及びグラフィックコントローラ146とを接続する。ＣＰＵ101は、ＲＯＭ122及びＲＡＭ120に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ146は、ＣＰＵ101等がＲＡＭ120内に設けたフレームバッファ上に生成する画像データを取得し、表示装置148上に表示させる。これに代えて、グラフィックコントローラ146は、ＣＰＵ101等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。【００１７】
入出力コントローラ140は、ホストコントローラ110と、比較的高速な入出力装置である通信インターフェイス144、ハードディスクドライブ124、及びＣＤ−ＲＯＭドライブ126を接続する。通信インターフェイス144は、ネットワークを介して他の装置と通信する。ハードディスクドライブ124は、コンピュータが使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ126は、ＣＤ−ＲＯＭ130からプログラム又はデータを読み取り、ＲＡＭ120を介して入出力チップ142に提供する。【００１８】
また、入出力コントローラ140には、ＲＯＭ122と、入出力チップ142等の比較的低速な入出力装置（例えば、フレキシブルディスクドライブ128）とが接続される。ＲＯＭ122は、コンピュータの起動時にＣＰＵ101が実行するブートプログラムや、コンピュータのハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ128は、フレキシブルディスク132からプログラム又はデータを読み取り、ＲＡＭ120を介して入出力チップ142に提供する。入出力チップ142は、フレキシブルディスクドライブ128や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。なお、本実施態様では、PC1とサーバ2とを同様の構成としたが、それぞれを異なる構成のコンピュータとすることができる。また、各PC1（1）〜（N+1）を異なる構成のコンピュータとすることもできる。【００１９】
次に、サーバ2及びPC1のソフトウェア構成について説明する。サーバ2及びPC1に提供されるコンピュータプログラム（オペレーティングシステム及び上述のビジネス・ソフトウェアなどのアプリケーションプログラム）は、フレキシブルディスク132、ＣＤ−ＲＯＭ130、ＤＶＤ−ＲＯＭ、ＩＣカード等の記録媒体に格納されて、或いはネットワークを介して提供される。プログラムは、記録媒体から読み出され入出力チップ142を介してサーバ2及びPC1にインストールされ、又はネットワーク上の他のコンピュータから読み出され通信インタフェイス144を介してサーバ2及びPC1にインストールされ、それぞれサーバ2及びPC1において実行される。【００２０】
ここで、PC1は、単一のハードディスクドライブ124を備えるが、複数のハードディスクドライブを備えることもできる。また、このハードディスクドライブ124の記憶容量は、例えば、数百ＧＢ以上とすることができ、その空き記憶容量は、例えば、数十〜数百ＧＢ程度となる。【００２１】
図5等は、この実施形態の実施手順を説明するフローチャートである。図5は、基本的は実施手順を説明するフローチャートである。図6は、図5の「（システムの）導入（S1）」の手順をさらに詳細に説明するフローチャートである。図8は、図5の「（システムの）調査（S2）」の手順をさらに詳細に説明するフローチャートである。図11は、図5の「（システムの）実働（S3）」の手順をさらに詳細に説明するフローチャートである。以下、これらのフローチャートに基づいて、この実施形態の実施手順を説明する。【００２２】
システムの導入（S1：導入ステップ）は、次の通りである。【００２３】
まずＹ社がPC用プログラム（コンピュータをネットワークファイルシステムのクライアントして機能させるプログラム）とサーバ用プログラム（コンピュータをネットワークファイルシステムのサーバとして機能させるプログラム）を開発する（図6のS11）。各プログラムの機能は、後述の実施手順を説明する中で明らかとなる。なお、このプログラムを開発するステップ（S11）は、初めてPC用プログラム、サーバ用プログラムを開発する場合に必要なステップである。したがって、これらのプログラムが既に存在する場合（例えば、Ｘ社に対してこのサービスを提供する以前に、Ｙ社が同様のサービスを他社（例えば、Ｚ社）に提供しており、プログラムの開発の一部又は全部が終了しているような場合）には、Ｙ社は、システムの準備（S1）として、プログラムの開発（S11）の一部又は全部を省略することができる。【００２４】
次に、Ｙ社がＸ社の社内ネットワークシステム100を調査し、導入計画を策定する（図6のS12、評価ステップ）。調査の際には、Ｘ社の従業員x(1)〜(M+1)に対して各自のPCの使用態様を含めた調査を行うことができる。そして、導入計画に基づいて、Ｘ社の社内ネットワークシステム100のPCの一部又は全部に対して、前記PC用プログラムをインストールする（図6のS13：インストールするサブステップ）。なお本実施形態では、社内ネットワークシステム100中の（N+1）台のPC1（1）〜（N+1）に対して、前記PC用プログラムがインストールされる。【００２５】
次に、Ｙ社がＸ社の社内ネットワークシステム100の一部にサーバ2を設置する（図6のS14）。このサーバ2の構成は、上述のPC1と同様とすることができるし、異なる構成（例えば、ＣＰＵやハードディスクドライブをそれぞれ複数備え、多重化する等）とすることもできる。また、このサーバ2の所有権はＸ社、Ｙ社のいずれが有していてもよい。さらに。Ｙ社がサーバ2の所有権を有する場合には、提供されるＩＴサービスの一環としてサーバ2はＸ社へレンタルされる。【００２６】
次に、新たに設置したサーバ2に対してサーバ用プログラム（コンピュータ・プログラム）をインストールする（図6のS15：インストールするサブステップ）。インストールの作業は、Ｙ社の社員が行っても良いし、Ｘ社の従業員が行っても良い。より具体的なインストール作業方法としては、予めサーバ2にPC用プログラムのファイルをコピーしておき、イントラネットワーク30を介して当該PC用プログラムを各PCへインストールすることもできる。なお、本実施態様ではサーバ2を新たに設置する場合について説明しているが、Ｘ社の社内ネットワークシステム100内の既存のサーバに上述のサーバ用プログラムをインストールしてサーバ2とすることもできる。各イントールが終了した後、各プログラムが正常に動作するかテストを行うことが好ましい（図6のS16）【００２７】
図7は、システムの導入（S1)が終了した後のサーバ2を模式的に説明するものである。
このサーバ2には、管理テーブルTが生成されている。この管理テーブルTは、各PC1を特定するIDフィールド「PC」、各PC1が接続されるLANを特定するネットワークフィールド「NW」、各PC1がネットワークファイルシステムへ提供するディスク容量を示すディスク容量フィールド「C」、各PCの電源のオン／オフ状態を示す稼働フィールド「ON/OFF」、各PC1の24時間毎の稼働確率を示す確率フィールド「P(t)」を含む。また、管理テーブルTは、書き込み要求があったファイルを特定するファイルフィールド「F」、そのファイルの容量を示すファイル容量フィールド「S」、そのファイルを保存する際に満たすべきサービスレベルを示すサービスレベルフィールド「SL」を含む。さらに管理テーブルTは、その書き込み要求があったファイルの複製ファイルを記憶するPC1を特定する複製ファイルフィールド「ｆ」を含む。【００２８】
図8は、図5の「（システムの）調査（S2）：第1調査ステップ」の手順をさらに詳細に説明するフローチャートである。
各PC1は、各PC1を特定する情報と、各PC1のネットワーク構成をネットワーク30を介してサーバ2へ送信する。サーバ2は、ネットワーク30を介して各PCを特定する情報と、各PCのネットワーク構成を受信し、管理テーブルTへ記憶する（図8のS21）。例えば、PC1(j)は、自らを特定する情報「j」と接続されているLAN(LAN30)を特定する情報「A」をサーバ2へ送信する。サーバ2はそれらの情報「j」「A」を受信し、管理テーブルTの該当するそれぞれのフィールドへ記憶する。他のPC1も同様である。【００２９】
次に、X社の従業員が各自のPC1がファイルシステムへ提供するディスク容量（利用可能な記憶容量）を設定する（図8のS22：第2調査ステップ）。例えば、X社の従業員ｘ(j）は自らが主に使用するPC1(j）のハードディスクドライブ124(j）の空き容量100GBのうち、50GBをファイルシステム用に設定する。他のPC1も同様である。サーバ2は、ネットワーク30を介してディスク容量を受信し、管理テーブルTの該当するフィールド「C」へ記憶する（図8のS23）。なお、本実施形態では、X社の従業員が個別にディスク容量を設定したが、これに限らず、Y社の従業員がディス容量を設定することもできるし、画一的にディスク容量を設定しておくこともできる。【００３０】
次に、十分な稼働実績が得られるまで（図8のS26）、X社の各従業員x(1)〜(M+1)に各PC1(1)〜(N+1)を通常業務で使用させる（図8のS24）。その間、サーバ2はネットワーク30を介してその稼働実績を受信し、管理テーブルTの該当するフィールド「ON/OFF」へ記憶する（図8のS25）。例えば、サーバ2は、一時間おきに各PC1へ問い合わせを送信し、応答のあるPCは電源がオンされていると判断し、応答のないPCは電源がオフされていると判断して、その稼働実績をそれぞれ記憶する。これを十分な稼働実績が得られるまで、例えば、一ヶ月間続ける。【００３１】
次に、サーバ2は一定周期毎の各PC1の稼働確率を算出し、それを管理テーブルTの該当するフィールド「p(t)」へ記憶する（図8のS27）。本実施形態では、一週間を平日と休日に分けて、さらに平日24時間の一時間毎の稼働確率、休日24時間の一時間毎の稼働確率をそれぞれフィールド「p(t)」へ記憶する。
図9は、PC1の稼働確率p(t)の態様を説明するグラフ群である。各グラフの縦軸はあるPC1の（平日における）稼働確率、横軸は時間をそれぞれ示す。図9Aは、常に電源がオン状態のPCの稼働確率を示している。稼働確率p(t)のグラフは一定値（＝1）をとる。一方図9Bは、日中に電源がオン状態、夜間は電源がオフ状態となる傾向のPCの稼働確率を示している。稼働確率p'(t)のグラフは山型となる。他方、図9Cは、日中に電源がオフ状態、夜間は電源がオン状態となる傾向のPCの稼働確率を示している。稼働確率p"(t)のグラフは谷型となる。【００３２】
図10は、システムの調査（S2)が終了した後の社内ネットワークシステム100を模式的に説明するものである。
システムの調査(S2)により、各PCから様々な情報がサーバ2へ送信され、サーバ2の管理テーブルTへ情報が蓄積されている。すなわち、サーバ2の管理テーブルTの（N+1）台のPCをを特定するIDフィールド「PC」、各PCが接続されるLANを特定するネットワークフィールド「NW」、各PCがネットワークファイルシステムへ提供するディスク容量を示すディスク容量フィールド「C」、（各PCの電源のオン／オフ状態を示す稼働フィールド「ON/OFF」）、各PCの24時間毎の稼働確率を示す確率フィールド「p(t)」にそれぞれの値、又は関数が入力されている。例えば、PC1(i)に対応するIDフィールドには「i」が、ネットワークフィールドにはLAN30Aを示す「A」が、ディスク容量フィールドには「50GB」が、稼働フィールドには電源がオンされていることを示す「ON」が、確率フィールドには確率関数「pi(t)」がそれぞれ入力、記憶されている。【００３３】
図11は、図5の「（システムの）実働（S3）：提供ステップ」の手順をさらに詳細に説明するフローチャートである。また図12は、書き込み処理を行う社内ネットワークシステム100を模式的に説明するものである。
一のPC（一のクライアント）1(i)からファイルの書き込み要求をサーバ2が受信すると（図11のS31：第1受信ステップ）、書き込み処理が開始され、さらにサーバ2は当該PC1(i)から当該ファイルの容量とサービスレベル（データ多重度、可用性基準）を受信する（図11のS32：第2受信ステップ）。この際、サーバ2は、管理テーブルT の書き込み要求があったファイルを特定するファイルフィールド「F」、そのファイルの容量を示すファイル容量フィールド「S」、そのファイルを保存する際に満たすべきサービスレベルを示すサービスレベルフィールド「SL」にそれぞれの値を入力する。例えば、一のPC1(i)からファイルの書き込み要求があった場合、サーバ2は、PC1(j)から送信された情報に基づいて、管理テーブルTのファイルフィールドに「i」を、ファイル容量フィールドにそのファイルの容量を示す「Si」を、サービスレベルフィールドに「SLi」がそれぞれ入力、記憶される。なお、ファイルの書き込み要求は、当該PC1(i)のユーザであるX社の従業員x(i)が明示的に行っても良いし、例えば、一定期間毎に自動的にPC1(i)から送信されるものでもよい。また、サービスレベルは、当該ファイルの読み出し要求の実行を保証する確率を示す。ここで、当該PC1(i)のユーザであるX社の従業員x(i)が当該サービスレベルSLiを各ファイル毎、又はユーザ毎に指定しても良いし、当該サービスレベルSLiを予め設定しておくこともできる。【００３４】
次に、他のPC1(1)〜(N+1)の中から、すなわち（N+1）台のPC1から一のPC1(i)を除いたN台のPC1の中から書込対象のPC1(j)をサーバ2が決定する(図11のS33：第1判断ステップ）。
図13は、サービスレベルを満たす書込対象のPC1(j）の決定方法を概念的に説明するものである。
例えば、3台のPC1(j)〜(j+2)の稼働確率をそれぞれpj(t),pj+1(t),pj+2(t)とする。各PC1(j)〜(j+2)の稼働実績（各PC1(j)〜(j+2)の電源のオン、オフの実績、換言すれば各PC1(j)〜(j+2)を使用するX社の従業員x(j)〜(j+2)の勤務実績）を反映して、各稼働確率のグラフの形状は様々である。これらの稼働確率pj(t),pj+1(t),pj+2(t)に基づいて、PC1(j)〜(j+2)のうち少なくとも一台のPCが稼働している確率p(t)を求める。この確率p(t)は、当然ながら各pi(t),pi+1(t),pi+2(t)単独の確率よりもいずれの時間でも高い値を示す。一方、書き込み要求を送信した側のPC1(i)の稼働確率をpi(t)とする。そして、これらPC1(j)〜(j+2)のうち少なくとも一台のPCが稼働している確率p(t)と書き込み要求を送信した側のPC1(i)が稼働している確率pi(t)とに基づいて、PC1(i)が稼働しており、かつPC1(j)〜(j+2)のうち少なくとも一台のPCが稼働している確率Pを求める。この確率Pは、いずれの時間においても予め設定されたSLiを上回っている。つまり、PC1(i)が複数（ここでは３台）のPC1(j)〜(j+2)にファイルの複製を書き込んでおけば、後にSLiを上回る確率Pでそのファイルの複製を読み出すことができる。これが書込対象のPC1(j）の決定方法の概念的な説明である。なお、本実施形態では、一のPC1(i)と書込対象のPC1(j)との両方の稼働確率を考慮したが、一方のみを考慮して書込対象のPC1(j)を決定してもよい。【００３５】
図14及び図15は、書込対象のPC1(j）のより具体的な決定方法を説明するものである。本実施態様では、最適配置法に基づいて書込対象のPC1(j）を決定する。最適配置法の実施例としては、第1に、与えられたサービスレベルSLを満足する条件の下、各PCに書き込まれる総ファイル容量を最小化するもの（実施例1：第1モード）と、第2に、各PCに書き込まれる総ファイル容量が各PCからファイルシステムへ提供される総ディスク容量を下回る条件の下、サービスレベルを最大化するもの（実施例2：第2モード）と、実施例1と実施例2との中間的なもの（実施例3：第3モード）がある。図14は、書込対象のPC1(j）の実施例1に係る決定方法を説明するものである。また、図15は、書込対象のPC1(j）の実施例2に係る決定方法を説明するものである。これらのように定数記号を定義し、決定変数をｘij（ｍ×ｎ行列）とし、これらの制約条件（容量制約及びサービスレベル制約）の下で、目的関数を最小化する決定変数を求めることになる。【００３６】
その後、書込対象のPC1(j)に対して、当該ファイルの書き込み要求をサーバ2が送信する（図11のS34、第1送信ステップ)。それに応答して、書き込み要求を送信したPC1(i)から書込対象のPC1(j）（設定するサービスレベルによるが、多くの場合、複数）へ当該ファイルの複製が送信され、記憶される。ここで、当該ファイルの複製はPC1(i)からサーバ2を介してPC1(j)へ送信されてもよいし、PC1(i)から直接PC1(j)へ送信されてもよい。その後、PC1(i)から当該ファイルの複製の読み出し要求をサーバ2が受信すると（図11のS35)、サーバは管理テーブルTを参照し、当該ファイルの複製が書き込まれているPC1(j）に対して、当該ファイルの複製をPC1(i)へ読み出す要求を送信する（図11のS36）。それに応答して、読み出し要求を受信したPC1(j)は、記憶している当該ファイルの複製をPC1(i)へ送信する。なお、当該ファイルの複製をPC1(i)へ送信した後、PC1(j)は、当該ファイルの複製を自己のハードディスクドライブ124から消去することもできるし、そのまま記憶しておくこともできる。【００３７】
また、読み出し要求の際、電源がオン状態のPC（j）が複数台存在する場合には、任意のPC1(j)から当該ファイルの複製を送信することもできるし、ネットワーク負荷がより低いPC1(j)から当該ファイルの複製を送信することもできる。例えば、当該ファイルの複製を記憶しており、読み出し要求の際に電源がオン状態であるPCがPC1(j)〜(j+2)の3台存在し、各PC1(j)〜(j+2)がそれぞれLAN30A,30A,30Bに接続され、PC1(i)がLAN30Aに接続されている場合には、サーバ2はPC1(j)やPC1(j+1)をPC1(j+2)よりも優先的に選択して、当該ファイルの複製をPC1(i)へ送信させる。一方、読み出し要求の際、電源がオン状態のPC1(j)が存在しない場合には、サーバ2は読み出し要求を実行することができない旨のメッセージをPC1(i)へ送信する。【００３８】
一旦PC1(j)に書き込まれたファイルの複製の移転が必要な場合には（図11のS37)、サーバ2は他のPC1の中から移転対象のPC1(k)を決定し(同S38：第2判断ステップ)、移転対象のPC1(k)へ移転要求を送信する（同S39：第2送信ステップ)。このファイルの複製の移転のより具体的な態様を実施例A,実施例Bとして説明する。【００３９】
実施例A
図16は、実施例Aに係るファイルの複製の移転態様を説明するフローチャートである。また図17は、実施例Aに係るファイルの複製の移転態様を説明する概念図である。
書込対象のPC1(j)は、自己のハードディスク容量124(j)の空き容量の減少を検出すると(図16のS501)、空き容量とディスク容量（ファイルシステム用として設定した容量）とを比較し(同S502)、空き容量がディス容量よりも小さい場合には、サーバ2に対してその旨を通知する（同S503)。【００４０】
サーバ2は、PC1(j)から空き容量が減少した旨の通知を受信し（図16のS504：監視ステップ）、当該PC1(j)に書き込んだファイルの複製を管理テーブルT上で検索し(同S505)、当該ファイルの複製がPC1(j)以外のPC（例えば、PC1(j+1)やPC1(j+2)）に存在するか否かを判断する(同S506）。当該ファイルの複製が存在する場合には(同S506）、サーバ2は、当該ファイルの複製を削除する旨の命令をPC1(j）へ送信し（同S507）、当該ファイルの移転先のPC1(k)を決定し（同S510)、PC1(j)以外のPC（例えば、PC1(j+1)やPC1(j+2)）からPC1(k)へ当該ファイルの複製を書き込む要求を送信する(同S511)。当該ファイルを削除する旨の命令を受信したPC1(j)は(同S508)、ハードディスクドライブ124(j)から当該ファイルの複製を削除し(同S509)、S502の判断へ移行する。なお、PC1(j)以外の複数のPC1に当該ファイルが存在する場合には、移転先のPC1(k)と同一のLANに接続されているPC1から優先して当該ファイルを送信することがネットワーク負荷を低減する観点から好ましい。例えば、図17に示すように、PC1(k)とPC1(j+2）とが同一の部分ネットワークLAN30Bに接続されており、PC1(j+1）が異なる部分ネットワークLAN30Aに接続されている場合には、PC1(j+1）よりもPC1(j+2）を優先して当該ファイルの複製をPC1(k)へ送信することが好ましい。【００４１】
一方、当該ファイルの複製がPC1(j)以外のPC内に存在しない場合（当該ファイルはPC1(j)のみが記憶している場合）には(同S506）、サーバ2は、当該ファイルの複製の移転先のPC1(k)を決定し(同S512)、PC1(k)へ当該ファイルの複製を書き込む要求をPC1(j)へ送信する（同S513)。それに応答して、当該ファイルの複製を書き込む旨の命令を受信したPC1(j)は、当該PC1(k)へファイルの複製を書き込む要求を送信し、S502の判断へ移行する。【００４２】
実施例B
図18は、実施例Bに係るファイルの複製の移転態様を説明するフローチャートである。また図19は、実施例Bに係るファイルの複製の移転態様を説明する概念図である。
サーバ2は、イントラネットワーク30の断線を検出すると(図18のS601：監視ステップ）、断線により通信不能となったPC（例えば、PC1(j)及びPC1(j+1)）にファイルの複製が保存されているか否かを判断し（同S602)、ファイルのコピーが保存されていなかった場合にはそのまま処理を終了し、ファイルのコピーが保存されていた場合には、予め設定されたサービスレベルと（断線により低下した）現在のサービスレベルとを比較する（同S603)。なお、サーバ2は、イントラネットワーク30の断線を、当該イントラネットワーク30を構成するネットワーク機器（ルータ等）から受信する異常信号に基づいて判断してもよいし、部分ネットワークに接続されているPC1からの応答の有無に基づいて判断してもよい。比較の結果、現在のサービスレベルが設定値を満足する場合にはS602のステップへ移行し、現在のサービスレベルが設定値に満たない場合には、通信不能となったPCに書き込んでいたファイルを管理テーブルT上で検索し(同S604)、当該ファイルの移転先のPC1(k)を決定し（同S605)、当該PC1(k)へ書込要求を送信する（同S606)。【００４３】
書込要求を受信したPC1(k)は(同S607)、ファイルのコピーが保存されており、かつ通信可能なPC（例えば、PC1(j+2））へファイルの送信を要求する(同S608)。当該PC1(j+2）は、その要求を受信し(同S609)、ファイルを送信する(同S610)。PC1(k)は、当該ファイルを受信し(同S611)、ファイルの移転が完了した旨をサーバへ送信する(同S612)。サーバ2は、当該完了通知を受信し(同S613)、ステップS602へ移行する。【００４４】
なお、実施例Aは、PC1の状況を監視し、その変化に応答してファイルの複製の移転対象を決定しており、実施例Bは、ネットワーク30の状況を監視し、その変化に応答してファイルの複製の移転対象を決定している。しかし、これらに限らず、ネットワーク30に接続されるPC1数の変化、サービスレベルの変更に応答して移転対象を決定してもよい。【００４５】
なお、このようなファイルシステムを一定期間運用した後、Y社はX社に対して、システムのメインテナンスを行うこともできる。具体的には、各フローチャートを用いて説明した書込対象のPC1(j)の判断アルゴリズム、移転対象のPC(k)の判断アルゴリズムを修正することができる（メインテナンスステップ）。また、イントラネットワーク100に含まれるPC1の数の増加に応じて、新たなPC1へのプログラムのインストール、サーバ2機能の増強などを行うこともできる。
【図面の簡単な説明】
【００４６】
【図１】図1は、本発明が適用されるネットワークシステムを説明する概念図である。
【図２】図2は、サーバ2の接続形態を説明するものである。
【図３】図3は、イントラネットワーク30のより具体的な構成を示したものである。
【図４】図4は、サーバ2及びPC1のハードウェア構成を説明する概略図である。
【図５】図5は、基本的は実施手順を説明するフローチャートである。
【図６】図6は、図5の「（システムの）導入（S1）」の手順をさらに詳細に説明するフローチャートである。
【図７】図7は、システムの導入（S1)が終了した後のサーバ2を模式的に説明するものである。
【図８】図8は、図5の「（システムの）調査（S2）」の手順をさらに詳細に説明するフローチャートである。
【図９】図9は、PC1の稼働確率p(t)の態様を説明するグラフ群である。
【図１０】図10は、システムの調査（S2)が終了した後の社内ネットワークシステム100を模式的に説明するものである。
【図１１】図11は、図5の「（システムの）実働（S3）」の手順をさらに詳細に説明するフローチャートである。
【図１２】図12は、書き込み処理を行う社内ネットワークシステム100を模式的に説明するものである。
【図１３】図13は、サービスレベルを満たす書込対象のPC1(j）の決定方法を概念的に説明するものである。
【図１４】図14は、書込対象のPC1(j）のより具体的な決定方法を説明するものである。
【図１５】図15は、書込対象のPC1(j）のより具体的な決定方法を説明するものである。
【図１６】図16は、実施例Aに係るファイルの複製の移転態様を説明するフローチャートである。
【図１７】図17は、実施例Aに係るファイルの複製の移転態様を説明する概念図である。
【図１８】図18は、実施例Bに係るファイルの複製の移転態様を説明するフローチャートである。
【図１９】図19は、実施例Bに係るファイルの複製の移転態様を説明する概念図である。
【図２０】図20は、ネットワークファイルシステム型のファイルシステムを示す概念図である。
【図２１】図21は、ピアツーピア型のファイルシステムを示す概念図である。
【符号の説明】
【００４７】
１…パーソナルコンピュータ（クライアント）、
２…サーバ、
３０…イントラネットワーク（ネットワーク）
【図１】
2007069576.tif 000003
【図２】
2007069576.tif 000004
【図３】
2007069576.tif 000005
【図４】
2007069576.tif 000006
【図５】
2007069576.tif 000007
【図６】
2007069576.tif 000008
【図７】
2007069576.tif 000009
【図８】
2007069576.tif 000010
【図９】
2007069576.tif 000011
【図１０】
2007069576.tif 000012
【図１１】
2007069576.tif 000013
【図１２】
2007069576.tif 000014
【図１３】
2007069576.tif 000015
【図１４】
2007069576.tif 000016
【図１５】
2007069576.tif 000017
【図１６】
2007069576.tif 000018
【図１７】
2007069576.tif 000019
【図１８】
2007069576.tif 000020
【図１９】
2007069576.tif 000021
【図２０】
2007069576.tif 000022
【図２１】
2007069576.tif 000023
【手続補正書】
【提出日】平成19年10月15日(2007.10.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
サーバと複数のクライアントとがネットワークで接続されたネットワークファイルシステムの前記サーバに適用される方法であり、
一のクライアントからのデータの書き込み要求を受信する第１受信ステップと、
予め記憶している前記一のクライアントの状況及び／又は他のクライアントの状況に基づいて、前記他のクライアントの中から前記データの書込対象としてのクライアントを決定する第１判断ステップと、
書込対象として決定されたクライアントに対して前記データの書き込み要求を送信する第１送信ステップと、
前記第１判断ステップの前に、前記複数のクライアントのそれぞれの稼動実績を前記各クライアントの状況として記憶する第１調査ステップと
を備える方法。
【請求項２】
（削除）
【請求項３】
前記第１調査ステップでは、前記稼働実績に基づいて一定周期毎の各クライアントの稼働確率を算出し、前記稼働確率を前記各クライアントの状況として記憶する請求項１に記載の方法。
【請求項４】
前記第１判断ステップでは、
予め定められたデータ多重度を満足するように、前記書込対象としてのクライアントを複数決定する請求項１に記載の方法。
【請求項５】
前記第１判断ステップの前に、
前記一のクライアントから前記データの可用性基準を受信する第２受信ステップを備え、
前記第１判断ステップでは、
受信した前記可用性基準を満足するように、前記書込対象としてのクライアントを決定する請求項１に記載の方法。
【請求項６】
前記第１判断ステップでは、
前記データの容量に基づいて、前記書込対象としてのクライアントを決定する請求項１に記載の方法。
【請求項７】
前記第１判断ステップの前に、
前記複数のクライアントのそれぞれの利用可能な記憶容量を前記クライアントの状況として記憶する第２調査ステップ
を備え、
前記第１判断ステップでは、
各クライアントの利用可能な記憶容量に基づいて、前記書込対象としてのクライアントを決定する請求項１に記載の方法。
【請求項８】
前記第１判断ステップでは、最適配置法に基づいて、前記書込対象としてのクライアントを決定する請求項１に記載の方法。
【請求項９】
前記第１判断ステップでは、前記データの可用性が予め定められた可用性基準を満足する条件の下、前記複数のクライアントの利用記憶容量を最小化するように、前記書込対象としてのクライアントを決定する請求項７に記載の方法。
【請求項１０】
前記第１判断ステップでは、前記複数のクライアントの利用記憶容量が予め定められた前記利用可能な記憶容量を満足する条件の下、前記データの可用性を最大化するように、前記書込対象としてのクライアントを決定する請求項７に記載の方法。
【請求項１１】
前記データの可用性が予め定められた可用性基準を満足する条件の下、前記複数のクライアントの利用記憶容量を最小化するのを第１モード、
前記複数のクライアントの利用記憶容量が予め定められた前記利用可能な記憶容量を満足する条件の下、前記データの可用性を最大化するのを第２モードとし、
前記第１判断ステップでは、前記第１モードと前記第２モードとの中間的な第３モードにより、前記書込対象のクライアントを決定する請求項７に記載の方法。
【請求項１２】
前記第１送信ステップの後に、
前記ネットワークファイルシステムの状況の変化に基づいて、前記データの移転対象としての前記クライアントを決定する第２判断ステップと、
前記移転対象として決定されたクライアントに対して前記データを書き込む要求を送信する第２送信ステップと
を備える請求項１に記載の方法。
【請求項１３】
前記第２送信ステップは、
前記移転対象として決定されたクライアントに対して前記データを書き込む要求を前記書込対象として決定されたクライアントを介して送信する請求項１２に記載の方法。
【請求項１４】
前記ネットワークファイルシステムの状況には、クライアント数の増減、各クライアントの状況、前記データの可用性基準、前記ネットワークの状況のうち、少なくとも一つが含まれる請求項１２に記載の方法。
【請求項１５】
前記第１送信ステップの後、かつ前記第２判断ステップの前に、
特定のデータが書き込まれている複数のクライアントの状況を監視する監視ステップを備え、
前記第２判断ステップでは、
前記特定のデータが書き込まれているクライアントの稼動数が予め定められた基準数以下となることを条件に、前記データの移転対象としてのクライアントを決定する請求項１２に記載の方法。
【請求項１６】
前記第１送信ステップの後、かつ前記第２判断ステップの前に、
前記ネットワークの状況及び特定のデータが書き込まれている複数のクライアントの状況を監視する監視ステップを備え、
前記第２判断ステップでは、
前記特定のデータが書き込まれているクライアントが接続されている前記ネットワークの一部が故障することを条件に、前記データの移転対象としてのクライアントを故障していない前記ネットワークに接続されているクライアントの中から決定する請求項１２に記載の方法。
【請求項１７】
前記第１送信ステップの後、かつ前記第２判断ステップの前に、
特定のデータが書き込まれている複数のクライアントの状況を監視する監視ステップを備え、
前記第２判断ステップでは、
前記特定のデータが書き込まれているクライアントの利用可能な記憶容量が予め定められた基準容量以下となることを条件に、前記データの移転対象としてのクライアントを決定する請求項１２に記載の方法。
【請求項１８】
前記第２判断ステップでは、
移転対象として決定されたクライアントに対して前記データを書き込む際の前記ネットワークに対する負荷に基づいて、前記データの移転対象としての前記クライアントを決定する請求項１２に記載の方法。
【請求項１９】
サーバと複数のクライアントとがネットワークで接続されたネットワークファイルシステムのサーバであり、
前記一のクライアントからのデータの書き込み要求を受信する第１受信手段と、
予め記憶している前記一のクライアントの状況及び／又は他のクライアントの状況に基づいて、前記他のクライアントの中から前記データの書込対象としてのクライアントを決定する第１判断手段と、
書込対象として決定されたクライアントに対して前記データの書き込み要求を送信する第１送信手段と
を備え、前記複数のクライアントのそれぞれの稼動実績を前記各クライアントの状況として記憶するサーバ。
【請求項２０】
前記クライアントは単一又は複数の補助記憶装置を備え、
前記第１判断手段は、前記書込対象としての補助記憶装置を決定する請求項１９に記載のサーバ。
【請求項２１】
前記ネットワークはイントラネットワークである請求項１９に記載のサーバ。
【請求項２２】
前記複数のクライアントが接続されている第一のネットワークと、前記サーバが接続されている第二のネットワークとが異なる組織に属し、両ネットワークが相互接続ネットワークである請求項１９に記載のサーバ。
【請求項２３】
前記クライアントはパーソナルコンピュータであり、その電源のオンオフが各パーソナルコンピュータのユーザに委ねられている請求項１９に記載のサーバ。
【請求項２４】
サーバと複数のクライアントとがネットワークで接続されたネットワークファイルシステムのサーバとしてコンピュータを機能させるコンピュータプログラムであり、
前記コンピュータに、
前記一のクライアントからのデータの書き込み要求を受信する第１受信機能と
予め記憶している前記一のクライアントの状況及び／又は他のクライアントの状況に基づいて、前記他のクライアントの中から前記データの書込対象としてのクライアントを決定する第１判断機能と、
書込対象として決定されたクライアントに対して前記データの書き込み要求を送信する第１送信機能と、
前記複数のクライアントのそれぞれの稼動実績を前記各クライアントの状況として記憶する第１調査機能と、
を実現させるコンピュータプログラム。
【請求項２５】
複数のクライアントがネットワークで接続されたネットワークシステムをネットワークファイルシステムとして利用する方法であり、
前記ネットワークシステムにサーバを導入する導入ステップを備え、
前記サーバは、
前記一のクライアントからのデータの書き込み要求を受信する第１受信手段と、
予め記憶している前記一のクライアントの状況及び／又は他のクライアントの状況に基づいて、前記他のクライアントの中から前記データの書込対象としてのクライアントを決定する第１判断手段と、
書込対象として決定されたクライアントに対して前記データの書き込み要求を送信する第１送信手段と，
前記複数のクライアントのそれぞれの稼動実績を前記各クライアントの状況として記憶する第１調査手段と
を備える
方法。
【請求項２６】
前記導入ステップは、前記サーバ及び前記クライアントにそれぞれ必要なプログラムをインストールするサブステップを備える請求項２５に記載の方法。
【請求項２７】
前記サーバに必要なプログラムは、
前記サーバに、
前記第１のクライアントからのデータの書き込み要求を受信する第１受信機能、
予め記憶している前記第１のクライアントの状況及び／又は他のクライアントの状況に基づいて、他のクライアントの中から前記データの書込対象としてのクライアントを決定する第１判断機能、
書込対象として決定されたクライアントに対して前記データの書き込み要求を送信する第１送信機能、
ある期間における単位時間ごとの前記複数のクライアントのそれぞれの稼動確率を前記クライアントの状況として記憶する第１調査機能、
前記第１のクライアントから前記データの可用性の要求を受信する第２受信機能、
前記複数のクライアントのそれぞれの利用可能な記憶容量を記憶する第２調査機能、
前記ネットワークファイルシステムの状況の変化に基づいて、前記データの移転対象としての前記クライアントを決定する第２判断機能、
移転対象として決定されたクライアントに対して前記データを書き込む要求を送信する第２送信機能、
特定のデータが書き込まれている複数のクライアントの状況を監視する監視機能、
のうち少なくとも一つの機能を実現させる請求項２６に記載の方法。
【請求項２８】
前記クライアントに必要なプログラムは、
前記クライアントに、
自己の状況を前記サーバに通知する機能、
自己の利用可能な記憶容量を前記サーバに通知する機能、
前記サーバからの書き込み要求に応じて前記データを自己へ書き込む機能
のうち少なくとも一つの機能を実現させる請求項２６に記載の方法。
【請求項２９】
前記クライアントに必要なプログラムは、
前記クライアントに、
自己の状況を前記サーバに通知する機能、
前記サーバに対して前記データの書き込みを要求する機能、
前記サーバに対して前記データの可用性を要求する機能、
前記サーバに対して前記データの読み出しを要求する機能
のうち少なくとも一つの機能を実現させる請求項２６に記載の方法。
【請求項３０】
前記導入ステップの前に、前記ネットワークシステムをネットワークファイルシステムとして利用する場合の性能を評価する評価ステップを備える請求項２５に記載の方法。
【請求項３１】
前記導入ステップの後に、前記サーバを用いて顧客にネットワークファイルシステム環境を提供する提供ステップを備える請求項２５に記載の方法
【請求項３２】
前記提供ステップの後に、前記サーバの前記第１判断手段における判断アルゴリズムを変更するメインテナンスステップを備える請求項３１に記載の方法。
【国際調査報告】
2007069576.tif 000024
2007069576.tif 000025
2007069576.tif 000026
2007069576.tif 000027