(57)【要約】     【課題】バックアップ機能を有するファイルサーバが接続されているコンピュータネットワークと同機能のコンピュータネットワークをより安価に構築できるファイル共有プログラムを、提供する。    【解決手段】ファイル共有プログラム１０を、他のコンピュータ３０内のファイル共有プログラム１０と連携して、任意のコンピュータ３０からアクセス可能な、全てのコンピュータ３０内のＨＤＤに各種ファイルが分割されて記憶される仮想ファイルサーバを生成するプログラムとして作成しておく。    【選択図】図１
2007264823.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク接続されているＮ台以上のコンピュータのそれぞれで実行されることにより、自身が実行されているコンピュータを，各種のファイルを記憶可能な仮想ファイルサーバが接続されている装置として動作させるファイル共有プログラムであって、
コンピュータを、
或るファイルを前記仮想ファイルサーバへ保存すべきことがアプリケーションプログラムによって指示されたときに、当該ファイルを分割することによりＮ個の分割ファイルを生成する分割ファイル生成機能と、
ファイル共有プログラムが実行されている他のコンピュータと通信を行うことにより、前記分割ファイル生成機能により生成されたＮ個の分割ファイルのそれぞれが，ファイル共有プログラムが実行されている互いに異なるコンピュータ内に第１種分割ファイルとして保存され、前記Ｎ個の分割ファイルのそれぞれのコピーが，ファイル共有プログラムが実行されている互いに異なるコンピュータ内に第２種分割ファイルとして保存され、各分割ファイルに関する第１種分割ファイルと第２種分割ファイルとが同一のコンピュータ内に保存されていない状態を形成する分割ファイル保存機能と、
前記分割ファイル保存機能により保存された各ファイルの保存場所を示すファイル管理情報を生成するファイル管理情報生成機能と、
前記ファイル管理情報生成機能によって生成された各ファイル管理情報を，他の各コンピュータ上で実行されているファイル共有プログラムとの間で共有するファイル管理情報共有機能と、
或るファイルを前記仮想ファイルサーバから読み出すべきことがアプリケーションプログラムによって指示されたときに、前記ファイル管理情報共有機能によって共有されている，そのファイルに関する前記ファイル管理情報に基づき、そのファイルを復元するのに必要とされる各分割ファイルに関する第１種分割ファイル或いは第２種分割ファイルの保存場所を特定し、特定した各保存場所に保存されている第１種分割ファイル或いは第２種分割ファイルを結合したファイルをアプリケーションプログラムに供給するファイル読込機能と
を有する装置として動作させることを特徴とするファイル共有プログラム。
【請求項２】
ネットワーク接続されている複数台のコンピュータのそれぞれで実行されることにより、自身が実行されているコンピュータを，各種のファイルを記憶可能な仮想ファイルサーバが接続されている装置として動作させるファイル共有プログラムであって、
コンピュータを、
ファイル共有プログラムが実行されているコンピュータの台数を周期的に調査し、調査した台数から、所定のアリゴリズムにより、当該台数以下の値を求め、求めた値を分割数Ｎとして管理する分割数管理機能と、
或るファイルを前記仮想ファイルサーバへ保存すべきことがアプリケーションプログラムによって指示されたときに、当該ファイルを分割することにより，前記分割数管理機能により管理されている分割数Ｎと同数の分割ファイルを生成する分割ファイル生成機能と、
ファイル共有プログラムが実行されている他のコンピュータと通信を行うことにより、前記分割ファイル生成機能により生成されたＮ個の分割ファイルのそれぞれが，ファイル共有プログラムが実行されている互いに異なるコンピュータ内に第１種分割ファイルとして保存され、前記Ｎ個の分割ファイルのそれぞれのコピーが，ファイル共有プログラムが実行されている互いに異なるコンピュータ内に第２種分割ファイルとして保存され、各分割ファイルに関する第１種分割ファイルと第２種分割ファイルとが同一のコンピュータ内に保存されていない状態を形成する分割ファイル保存機能と、
前記分割ファイル保存機能により保存された各ファイルの保存場所を示すファイル管理情報を生成するファイル管理情報生成機能と、
前記ファイル管理情報生成機能によって生成された各ファイル管理情報を，他の各コンピュータ上で実行されているファイル共有プログラムとの間で共有するファイル管理情報共有機能と、
或るファイルを前記仮想ファイルサーバから読み出すべきことがアプリケーションプログラムによって指示されたときに、前記ファイル管理情報共有機能によって共有されている，そのファイルに関する前記ファイル管理情報に基づき、そのファイルを復元するのに必要とされる各分割ファイルに関する第１種分割ファイル或いは第２種分割ファイルの保存場所を特定し、特定した各保存場所に保存されている第１種分割ファイル或いは第２種分割ファイルを結合したファイルをアプリケーションプログラムに供給するファイル読込機能と、
前記ファイル管理情報共有機能によって共有されている，任意のファイルに関する前記ファイル管理情報に基づき、そのファイルを復元するのに必要とされる各分割ファイルに関する第１種分割ファイル或いは第２種分割ファイルの保存場所を特定し、特定した各保存場所に保存されている第１種分割ファイル或いは第２種分割ファイルを結合したファイルを生成する再配置用ファイル生成処理を実行可能なファイル生成機能と、
前記ファイル生成機能によって生成されたファイルを分割することにより，前記分割数管理機能により管理されている分割数Ｎと同数の分割ファイルを生成する第２分割ファイル生成機能と、
ファイル共有プログラムが実行されている他のコンピュータと通信を行うことにより、前記第２分割ファイル生成機能により生成されたＮ個の分割ファイルのそれぞれが，ファイル共有プログラムが実行されている互いに異なるコンピュータ内に第１種分割ファイルとして保存され、前記Ｎ個の分割ファイルのそれぞれのコピーが，ファイル共有プログラムが実行されている互いに異なるコンピュータ内に第２種分割ファイルとして保存され、各分割ファイルに関する第１種分割ファイルと第２種分割ファイルとが同一のコンピュータ内に保存されていない状態を形成する第２分割ファイル保存機能と、
前記ファイル生成機能が参照したファイル管理情報を、前記第２分割ファイル保存機能により保存された各ファイルの保存場所を示すものに変更するファイル管理情報変更機能と、
前記分割数管理機能によって管理されている分割数Ｎの値が変わったときに、他のコンピュータに関する情報に基づき，再配置制御処理を行うべきか否かを判断し、再配置制御処理を行うべきと判断した場合には、前記ファイル共有ユニットに保存されている各ファイルについての前記再配置用ファイル生成処理を行うように、前記ファイル生成機能を制御するファイル再配置機能と
を有する装置として動作させることを特徴とするファイル共有プログラム。
【請求項３】
前記分割数管理機能が、
所定内容の確認応答送信要求がネットワーク上にブロードキャストされた場合には、自コンピュータに関する属性情報を含む確認応答を，前記確認応答送信要求の送信元コンピュータに返送する機能であると共に、前記確認応答送信要求をネットワーク上にブロードキャストし，その後，所定時間内に受信された確認応答の数に“１”を加えた値を、ファイル共有プログラムが実行されているコンピュータの台数として取り扱う機能である
ことを特徴とする請求項２記載のファイル共有プログラム。
【請求項４】
前記分割数管理機能が、
確認応答送信要求を送信してから確認応答が受信されるまでの時間である応答時間を，コンピュータ毎に管理する機能であり、
前記ファイル読込機能が、
前記分割数管理機能によって管理されている各コンピュータに関する応答時間を参照することにより，応答時間が短い方のコンピュータ内に保存されているファイルが使用されるように，各分割ファイルに関する第１種分割ファイル或いは第２種分割ファイルの保存場所を特定する機能である
ことを特徴とする請求項３記載のファイル共有プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク接続されている複数台のコンピュータ上で実行されるファイル共有プログラムに、関する。
【背景技術】
【０００２】
周知のように、近年、コンピュータネットワーク（社内ＬＡＮ，構内ＬＡＮ等）に、バックアップ機能を有するファイルサーバを接続し、当該ファイルサーバに重要な情報を保存することが、行われている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明の課題は、バックアップ機能を有するファイルサーバが接続されているコンピュータネットワークと同機能のコンピュータネットワークをより安価に構築できるファイル共有プログラムを、提供することにある。
【課題を解決するための手段】
【０００４】
上記課題を解決するために、本発明では、ネットワーク接続されているＮ台以上のコンピュータで実行されるファイル共有プログラムを、コンピュータを、或るファイルを仮想ファイルサーバへ保存すべきことがアプリケーションプログラムによって指示されたときに、当該ファイルを分割することによりＮ個の分割ファイルを生成する分割ファイル生成機能と、ファイル共有プログラムが実行されている他のコンピュータと通信を行うことにより、分割ファイル生成機能により生成されたＮ個の分割ファイルのそれぞれが，ファイル共有プログラムが実行されている互いに異なるコンピュータ内に第１種分割ファイルとして保存され、Ｎ個の分割ファイルのそれぞれのコピーが，ファイル共有プログラムが実行されている互いに異なるコンピュータ内に第２種分割ファイルとして保存され、各分割ファイルに関する第１種分割ファイルと第２種分割ファイルとが同一のコンピュータ内に保存されていない状態を形成する分割ファイル保存機能と、分割ファイル保存機能により保存された各ファイルの保存場所を示すファイル管理情報を生成するファイル管理情報生成機能と、ファイル管理情報生成機能によって生成された各ファイル管理情報を，他の各コンピュータ上で実行されているファイル共有プログラムとの間で共有するファイル管理情報共有機能と、或るファイルを仮想ファイルサーバから読み出すべきことがアプリケーションプログラムによって指示されたときに、ファイル管理情報共有機能によって共有されている，そのファイルに関するファイル管理情報に基づき、そのファイルを復元するのに必要とされる各分割ファイルに関する第１種分割ファイル或いは第２種分割ファイルの保存場所を特定し、特定した各保存場所に保存されている第１種分割ファイル或いは第２種分割ファイルを結合したファイルをアプリケーションプログラムに供給するファイル読込機能とを有する装置として動作させるものとして作成（プログラミング）しておく。
【０００５】
すなわち、本発明のファイル共有プログラムは、それをネットワーク接続された複数台（Ｎ台以上）のコンピュータ上で実行させておけば、それらのコンピュータを含むコンピュータネットワークが、バックアップ機能を有するファイルサーバが実際には接続されていないものであるにも拘わらず、バックアップ機能を有するファイルサーバが接続されているコンピュータネットワークと同機能のものとして動作することになるプログラムとなっている。従って、本発明のファイル共有プログラムを用いれば、バックアップ機能を有するファイルサーバが接続されているコンピュータネットワークと同機能のコンピュータネットワークをより安価に構築できることになる。
【０００６】
また、本発明の他の態様のファイル共有プログラムは、コンピュータを、ファイル共有プログラムが実行されているコンピュータの台数を周期的に調査し、調査した台数から、所定のアリゴリズムにより、当該台数以下の値を求め、求めた値を分割数Ｎとして管理する分割数管理機能と、或るファイルを仮想ファイルサーバへ保存すべきことがアプリケーションプログラムによって指示されたときに、当該ファイルを分割することにより，分割数管理機能により管理されている分割数Ｎと同数の分割ファイルを生成する分割ファイル生成機能と、ファイル共有プログラムが実行されている他のコンピュータと通信を行うことにより、分割ファイル生成機能により生成されたＮ個の分割ファイルのそれぞれが，ファイル共有プログラムが実行されている互いに異なるコンピュータ内に第１種分割ファイルとして保存され、Ｎ個の分割ファイルのそれぞれのコピーが，ファイル共有プログラムが実行されている互いに異なるコンピュータ内に第２種分割ファイルとして保存され、各分割ファイルに関する第１種分割ファイルと第２種分割ファイルとが同一のコンピュータ内に保存されていない状態を形成する分割ファイル保存機能と、分割ファイル保存機能により保存された各ファイルの保存場所を示すファイル管理情報を生成するファイル管理情報生成機能と、ファイル管理情報生成機能によって生成された各ファイル管理情報を，他の各コンピュータ上で実行されているファイル共有プログラムとの間で共有するファイル管理情報共有機能と、或るファイルを仮想ファイルサーバから読み出すべきことがアプリケーションプログラムによって指示されたときに、ファイル管理情報共有機能によって共有されている，そのファイルに関するファイル管理情報に基づき、そのファイルを復元するのに必要とされる各分割ファイルに関する第１種分割ファイル或いは第２種分割ファイルの保存場所を特定し、特定した各保存場所に保存されている第１種分割ファイル或いは第２種分割ファイルを結合したファイルをアプリケーションプログラムに供給するファイル読込機能と、ファイル管理情報共有機能によって共有されている，任意のファイルに関するファイル管理情報に基づき、そのファイルを復元するのに必要とされる各分割ファイルに関する第１種分割ファイル或いは第２種分割ファイルの保存場所を特定し、特定した各保存場所に保存されている第１種分割ファイル或いは第２種分割ファイルを結合したファイルを生成する再配置用ファイル生成処理を実行可能なファイル生成機能と、ファイル生成機能によって生成されたファイルを分割することにより，分割数管理機能により管理されている分割数Ｎと同数の分割ファイルを生成する第２分割ファイル生成機能と、ファイル共有プログラムが実行されている他のコンピュータと通信を行うことにより、第２分割ファイル生成機能により生成されたＮ個の分割ファイルのそれぞれが，ファイル共有プログラムが実行されている互いに異なるコンピュータ内に第１種分割ファイルとして保存され、Ｎ個の分割ファイルのそれぞれのコピーが，ファイル共有プログラムが実行されている互いに異なるコンピュータ内に第２種分割ファイルとして保存され、各分割ファイルに関する第１種分割ファイルと第２種分割ファイルとが同一のコンピュータ内に保存されていない状態を形成する第２分割ファイル保存機能と、ファイル生成機能が参照したファイル管理情報を、第２分割ファイル保存機能により保存された各ファイルの保存場所を示すものに変更するファイル管理情報変更機能と、分割数管理機能によって管理されている分割数Ｎの値が変わったときに、他のコンピュータに関する情報に基づき，再配置制御処理を行うべきか否かを判断し、再配置制御処理を行うべきと判断した場合には、ファイル共有ユニットに保存されている各ファイルについての再配置用ファイル生成処理を行うように、ファイル生成機能を制御するファイル再配置機能とを有する装置として動作させるプログラムとなっている。
【０００７】
すなわち、本発明の，この態様のファイル共有プログラムが、コンピュータネットワークに追加する仮想ファイルサーバは、ファイル共有プログラムが実際に実行されている全てのコンピュータのＨＤＤを利用するもの（ファイル共有プログラムが実際に実行されているコンピュータの台数が変われば、各ファイルの分割の仕方、保存場所を自動的に変更するもの）となっている。従って、このファイル共有プログラムを用いれば、バックアップ機能を有するファイルサーバが接続されているコンピュータネットワークと同機能のコンピュータネットワークをより安価に構築できることになると共に、仮想ファイルサーバの記憶容量を増大させることも簡単に行えることになる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明を実施するための最良の形態を、図面を参照して詳細に説明する。
【０００９】
図１に示してあるように、本発明の一実施形態に係るファイル共有プログラム１０は、ネットワーク接続された複数台（図では、４台）のコンピュータ３０のそれぞれにインストールされるプログラムである。
【００１０】
なお、本実施形態に係るファイル共有プログラム１０は、Windows（米国Microsoft Corporationの商標）系ＯＳ用のものとして作成されたプログラムとなっている。また、ファイル共有プログラム１０は、原則として電源が落とされないコンピュータ３０群にインストールすることを想定して作成されたプログラムとなっている。
【００１１】
以下、ファイル共有プログラム１０の機能（内容）を、具体的に、説明する。
【００１２】
本実施形態に係るファイル共有プログラム１０は、ネットワーク接続された複数台のコンピュータ３０のそれぞれにインストールしておくと、それらのコンピュータ３０を含むコンピュータシステム（図１参照）内に、仮想的なファイルサーバが追加されることになるプログラムである。
【００１３】
具体的には、ファイル共有プログラム１０は、以下の機能を有するプログラムとなっている。
【００１４】
コンピュータ３０の電源が投入されると、ファイル共有プログラム１０は、まず、現在の動作モード指定情報が，マスタモードで動作すべきことを指定するマスタモード情報であるかスレーブモードで動作すべきことを指定するスレーブモード情報であるかを、判断する。ここで、動作モード指定情報とは、複数台のコンピュータ３０へのファイル共有プログラム１０のインストール時に、インストール作業者により、一台のコンピュータ３０に関する動作モード指定情報のみがマスタモード指定情報となるように設定される情報のことである。なお、詳細は後述するが、この動作モード指定情報は、ファイル共有プログラム１０により書き換えられることがある情報となっている。
【００１５】
そして、ファイル共有プログラム１０は、動作モード指定情報がスレーブモード指定情報であった場合には、スレーブモードでの動作を開始し、動作モード指定情報がマスタモード指定情報であった場合には、マスタモードでの動作を開始する。
【００１６】
スレーブモードでの動作を開始したファイル共有プログラム１０，マスタモードでの動作を開始したファイル共有プログラム１０は、いずれも、他のファイル共有プログラム１０が送信する各種の要求に応答する状態となる。
【００１７】
ファイル共有プログラム１０が送信することがある要求には、確認応答送信要求，ファイル管理テーブル更新要求，ファイル保存要求，ファイル出力要求などが存在している。
【００１８】
これらの要求のうち、確認応答送信要求は、所定内容のブロードキャスト要求（ブロードキャストアドレスが宛先アドレスとして設定されている要求／情報）である。この確認応答送信要求を受信した場合、ファイル共有プログラム１０は、その送信元コンピュータ３０に対して、自コンピュータ３０のＩＰアドレス，コンピュータ名，自コンピュータ３０に用いられているＯＳ名（実際には、ＯＳ名に対応する情報），及び，設定されている動作モード指定情報を含む確認応答を返送する処理を行う。
【００１９】
ファイル管理テーブル更新要求は、ファイル管理情報（詳細は後述）が設定されているブロードキャスト要求である。このファイル管理テーブル更新要求を受信した場合、ファイル共有プログラム１０は、受信した要求内のファイル管理情報が示している内容のファイル管理テーブル（詳細は後述）を，自コンピュータ３０内に生成する処理、或いは、自コンピュータ３０内に存在する，同一ファイルに関するファイル管理テーブルを、受信した要求内のファイル管理情報が示している内容のものに変更する処理を、行う
【００２０】
ファイル保存要求は、保存すべきファイル（後述する分割ファイル／分割ファイルのコピー）が設定されているユニキャスト要求（コンピュータ３０のＩＰアドレスが宛先アドレスとして設定されている要求／情報）である。このファイル保存要求を受信した場合、ファイル共有プログラム１０は、受信した要求内のファイルを、自コンピュータ３０内に保存する処理を行う。
【００２１】
ファイル出力要求は、出力すべきファイル（後述する分割ファイル／分割ファイルのコピー）のファイル名が設定されているユニキャスト要求である。このファイル出力要求を受信した場合、ファイル共有プログラム１０は、受信した要求内のファイル名で識別される，自コンピュータ内に保存されているファイルを、ファイル出力要求を送信したコンピュータ３０に返送する処理を行う。
【００２２】
また、スレーブモードでの動作を開始したファイル共有プログラム１０は、図２に示した手順のシステム構成把握処理を周期的に実行する状態となる。
【００２３】
すなわち、スレーブモードで動作しているファイル共有プログラム１０は、起動時や，前回のシステム構成把握処理が完了してから所定時間が経過した時に、システム構成把握処理（図２）を開始する。そして、システム構成把握処理を開始したファイル共有プログラム１０は、まず、確認応答送信要求をＬＡＮ上に送信する処理(ステップＳ１０１)を行う。次いで、ファイル共有プログラム１０は、確認応答が送信されてくるのを，所定時間の間，待機（監視）し、受信した各確認応答を，応答時間（確認応答を受信するまでに要した時間）と共に記憶する確認応答受信処理(ステップＳ１０２)を行う。
【００２４】
確認応答受信処理を終えたファイル共有プログラム１０は、マスタモード指定情報が含まれる確認応答（動作モード指定情報としてマスタモード指定情報が設定されている確認応答；図では、マスタモード指定情報含有確認応答）を受信したか否かを判断する(ステップＳ１０３)。
【００２５】
そして、ファイル共有プログラム１０は、マスタモード指定情報が含まれる確認応答を受信していない場合(ステップＳ１０３；ＮＯ)には、システム構成管理テーブルに、確認応答受信処理により収集された情報（受信した各確認応答に含まれるＩＰアドレス，コンピュータ名，ＯＳ名及び動作モード指定情報と，各確認応答に関する応答時間）を記憶する処理(ステップＳ１０６)を行う。なお、システム構成管理テーブルとは、ファイル共有プログラム１０がコンピュータ３０内に用意する情報のことであり、ステップＳ１０６の処理は、システム構成管理テーブル内の情報を全て書き換える処理（システム構成管理テーブルをクリアしてから、確認応答受信処理により収集された情報をシステム構成管理テーブルに記憶する処理）となっている。
【００２６】
ファイル共有プログラム１０は、マスタモード指定情報が含まれる確認応答を受信していた場合(ステップＳ１０３；ＹＥＳ)には、仮想ファイルサーバを追加する処理（ＯＳに、ネットワーク接続されているファイルサーバの存在を認識させる処理）を行っていない場合(ステップＳ１０４；ＮＯ)には、仮想ファイルサーバを追加する処理(ステップＳ１０５)を行ってから、ステップＳ１０６の処理を行う。また、ファイル共有プログラム１０は、仮想ファイルサーバを追加する処理を行っていた場合(ステップＳ１０４；ＹＥＳ)には、ステップＳ１０５の処理を行うことなく、ステップＳ１０６の処理を行う。
【００２７】
そして、ステップＳ１０６の処理を終えたファイル共有プログラム１０は、このシステム構成把握処理を、終了する。
【００２８】
一方、マスタモードでの動作を開始したファイル共有プログラム１０は、仮想ファイルサーバを追加する処理を行ってから、図３に示した手順のシステム構成把握処理を周期的に実行する状態となる。
【００２９】
すなわち、マスタモードで動作しているファイル共有プログラム１０は、システム構成把握処理時、まず、確認応答送信要求をＬＡＮ上に送信する処理(ステップＳ２０１)と、確認応答受信処理(ステップＳ２０２；ステップＳ１０１の処理と同じ処理)とを、行う。
【００３０】
確認応答受信処理を終えたファイル共有プログラム１０は、システム構成管理テーブル（ファイル共有プログラム１０がコンピュータ内に用意する，ステップＳ２０５の処理にて内容が更新されるテーブル）に記憶されている情報と、確認応答受信処理により収集された情報とを比較することにより、システム構成（起動しているコンピュータ３０の台数／組合せ）が変化したか否かを判断する(ステップＳ２０３)。そして、ファイル共有プログラム１０は、システム構成が変化していなかった場合(ステップＳ２０３；ＮＯ)には、システム構成管理テーブルに、確認応答受信処理により収集された情報を記憶する処理(ステップＳ２０５；ステップＳ１０６の処理と同じ処理)を行う。
【００３１】
また、ファイル共有プログラム１０は、システム構成が変化していた場合(ステップＳ２０３；ＹＥＳ)には、再分割・再配置処理(ステップＳ２０４)を行ってから、ステップＳ２０５の処理を行う。なお、詳細については後述するが、ステップＳ２０４で行われる再分割・再配置処理は、仮想ファイルサーバに記憶されているファイル数が“０”であった場合、他の処理を行うことなく終了する処理となっている。
【００３２】
そして、ステップＳ２０５の処理を終えたファイル共有プログラム１０は、このシステム構成把握処理を、終了する。
【００３３】
また、ファイル共有プログラム１０は、いずれの動作モードで動作している場合にも、或るファイルを仮想ファイルサーバへ保存すべきことが，或るアプリケーションプログラムによって指示された場合（ＯＳを介して，アプリケーションプログラムからの，仮想ファイルサーバへのファイル保存要求が与えられた場合）には、図４に示した手順のファイル保存処理を行うプログラムとなっている。
【００３４】
すなわち、ファイル共有プログラム１０は、或るファイルを仮想ファイルサーバへ保存すべきことが，或るアプリケーションプログラムによって指示された場合、まず、そのファイル（以下、処理対象ファイルと表記する）を、現在，動作しているコンピュータ３０の台数（システム構成管理テーブルに記憶されている確認応答の数＋“１”）と同数の断片ファイルに分割する処理(ステップＳ３０１)を、行う。
【００３５】
次いで、ファイル共有プログラム１０は、他のコンピュータ３０上で実行されているファイル共有プログラム１０と通信を行うことにより、各分割ファイルが、互いに異なるコンピュータ３０内に保存され、各分割ファイルのコピーが、互いに異なるコンピュータ３０に保存されている状態であって、各分割ファイルと、各分割ファイルのコピーとが、同一のコンピュータ３０内に保存されていない状態を形成するための処理(ステップＳ３０２)を、行う。
【００３６】
より具体的には、このステップＳ３０２にて、ファイル共有プログラム１０は、ステップＳ３０１の処理で生成した第１の分割ファイル（処理対象ファイルの先頭部分に関する分割ファイル）と，第２の分割ファイル（処理対象ファイルの先頭部分に関する分割ファイル）とを、自コンピュータ３０内に保存する処理と、ステップＳ３０１の処理で生成した第ｎの分割ファイル（ｎ＝２〜分割数〔動作しているコンピュータ３０の台数＋１〕）と，第“ｎ＋１”（ｎが分割数と一致する場合は，“１”）の分割ファイルのコピーとを、システム構成管理テーブルの“ｎ−１”番目の情報で特定されるコンピュータ３０内に保存する処理（各コンピュータ３０内のファイル共有プログラム１０に、ファイルを送信して，ファイルを保存させる処理）とを、行う。
【００３７】
その後、ファイル共有プログラム１０は、処理対象ファイルに関する，図５に示したような構成のファイル管理テーブルを生成する処理(ステップＳ３０３)を行う。すなわち、ファイル共有プログラム１０は、ファイル名と、分割数（図５では、“４”）×２個の，断片ファイル名，断片ファイル名で識別されるファイル（断片ファイル，断片ファイルのコピー）を保存しているコンピュータ３０のＩＰアドレス，及び，当該コンピュータ３０に関する応答時間からなる断片ファイル情報とを記憶したファイル管理テーブルを生成する処理を行う。なお、この処理は、処理対象ファイルに関するファイル管理テーブルが既に存在していた場合には、既存のファイル管理テーブルを，生成したファイル管理テーブルで置き換える処理となっている
【００３８】
そして、ファイル共有プログラム１０は、同内容のファイル管理テーブルを他の各コンピュータ３０内のファイル共有プログラム１０に保持させるためのファイル管理テーブル更新要求（ファイル管理テーブルに設定した情報がファイル管理情報として設定されているブロードキャスト要求）をＬＡＮ上に送信する処理(ステップＳ３０４)を行ってから、このファイル保存処理を、終了する。
【００３９】
さらに、ファイル共有プログラム１０は、いずれの動作モードで動作している場合にも、或るファイルを仮想ファイルサーバから読み出すことが，或るアプリケーションプログラムによって指示された場合（ＯＳを介して，アプリケーションプログラムからの，仮想ファイルサーバ内のファイルの読み出し要求が与えられた場合）には、図６に示した手順のファイル読込処理を行うプログラムとなっている。
【００４０】
すなわち、ファイル共有プログラム１０は、或るファイルを仮想ファイルサーバから読み出すことが，或るアプリケーションプログラムによって指示された場合、まず、そのファイル（以下、処理対象ファイルと表記する）に関するファイル管理テーブル（図５参照。）上の断片ファイル情報に基づき、自コンピュータ３０内に保存されていない処理対象ファイルに関する各断片ファイルを読み出すコンピュータ３０を特定する処理(ステップＳ４０１)を、行う。このステップ４０１の処理は、システム構成管理テーブル（応答時間等が記憶されているテーブル）を参照することにより、応答時間が短い方のコンピュータ３０を，断片ファイルを読み出すコンピュータ３０として特定する処理となっている。
【００４１】
次いで、ファイル共有プログラム１０は、特定した各コンピュータ３０に対してファイル出力要求を送信することにより、特定した各コンピュータ３０内に保存されている，処理対象ファイルに関する各断片ファイルを取得する処理(ステップＳ４０２)を行う。なお、この処理は、ステップＳ４０１の処理で特定された或るコンピュータ３０と通信が行えなかった場合には、同じ断片ファイルを記憶しているコンピュータ３０を特定し、そのコンピュータ３０から、断片ファイルを取得する処理となっている。
【００４２】
その後、ファイル共有プログラム１０は、取得した各断片ファイルと自コンピュータ３０内に保存されている各断片ファイルとを結合する処理(ステップＳ４０４)と、ステップＳ４０４の処理結果（処理対象ファイル）を、アプリケーションプログラムに提供する処理(ステップＳ４０５)とを行ってから、このファイル読込処理を終了する。
【００４３】
ここまでの説明から明らかなように、ファイル共有プログラム１０がコンピュータシステムに追加する仮想的なファイルサーバは、１台のコンピュータ３０に問題が生じても、ファイルの読み出しが可能なものとなっている。ただし、１台のコンピュータ３０が問題が生じた場合、システム内に、バックアップファイルが存在していないことになる。
【００４４】
マスタモードで動作しているファイル共有プログラム１０が実行する再分割・再配置処理（図３；ステップＳ２０４）は、１台のコンピュータ３０に問題が生じたシステムを、バックアップファイルが存在している状態に戻す処理である。また、この再分割・再配置処理は、ファイル共有プログラム１０がインストールされたコンピュータ３０がシステムに追加された場合、そのコンピュータ３０内のＨＤＤも、分割ファイルの記憶手段（仮想ファイルサーバの一部）として使用されるようにするための処理ともなっている。
【００４５】
具体的には、再分割・再配置処理は、仮想ファイルサーバに記憶されている各ファイル（ファイル管理テーブルが存在している各ファイル）について、図７に示した手順のファイル単位再分割・再配置処理が行われる処理となっている。
【００４６】
すなわち、システム構成が変化したため（図２；ステップＳ２０３；ＹＥＳ）、或るファイル（以下、処理対象ファイル）に関するファイル単位再分割・再配置処理を開始したファイル共有プログラム１０は、まず、処理対象ファイルに関するファイル管理テーブル（図５参照。）上の断片ファイル情報と、システム構成管理テーブル上の情報とに基づき、自コンピュータ３０内に保存されていない処理対象ファイルに関する各断片ファイルを読み出すコンピュータ３０を特定する処理(ステップＳ５０１)を、行う。
【００４７】
次いで、ファイル共有プログラム１０は、特定した各コンピュータ３０内のファイル共有プログラム１０と通信を行うことにより、特定した各コンピュータ３０内に保存されている処理対象ファイルに関する各断片ファイルを取得する処理(ステップＳ５０２)と、取得した各断片ファイルと自コンピュータ３０内に保存されている各断片ファイルとを結合する処理(ステップＳ５０３)とを、行う。
【００４８】
その後、ファイル共有プログラム１０は、ステップＳ４０１〜Ｓ４０４と同内容の処理を、それぞれ、ステップＳ５０４〜Ｓ５０７にて行ってから、このファイル単位再分割・再配置処理を終了する。
【００４９】
また、ファイル共有プログラム１０は、コンピュータ３０を停止させる操作がなされた場合には、動作モードがマスタモードであるかスレーブモードであるかを判断し、動作モードがマスタモードであった場合には、システム構成管理テーブル上のＯＳ名，応答情報から、最も性能の高いコンピュータ３０を特定し、特定したコンピュータ３０内のファイル共有プログラム１０に、マスタモードでの動作を開始すべきことを指示する要求を送信してから、処理を終了し、動作モードがスレーブモードであった場合には、即座に処理を終了するプログラムとなっている。
【００５０】
以上、説明したように、本実施形態に係るファイル共有プログラム１０は、それをネットワーク接続された複数台のコンピュータ上で実行させておけば、それらのコンピュータを含むコンピュータネットワークが、バックアップ機能を有するファイルサーバが実際には接続されていないものであるにも拘わらず、バックアップ機能を有するファイルサーバが接続されているコンピュータネットワークと同機能のものとして動作することになるプログラムとなっている。従って、ファイル共有プログラム１０を用いれば、バックアップ機能を有するファイルサーバが接続されているコンピュータネットワークと同機能のコンピュータネットワークをより安価に構築できることになる。
【００５１】
また、ファイル共有プログラム１０は、実際に動作しているコンピュータ３０の台数が変化した場合、仮想ファイルサーバに記憶されている各ファイルの分割の仕方、保存場所を自動的に変更するものとなっている。従って、ファイル共有プログラム１０を用いれば、１台のコンピュータ３０に問題が生じた場合にも、各ファイルのバックアップが存在しなくなることがない、仮想ファイルサーバの記憶容量を増大させることも簡単に行えるコンピュータネットワークを実現できることにもなる。
【００５２】
《変形形態》
上記したファイル共有プログラム１０は、各種の変形を行うことが出来る。例えば、ファイル共有プログラム１０を、コンピュータ３０の台数が所定数以上であった場合には、各ファイルを所定数の分割ファイルに分割するプログラムに変形しておくことが出来る。また、ファイル共有プログラム１０を、他のコンピュータ３０への分割ファイルの保存／他のコンピュータ３０からの分割ファイルの読み込みを、他のコンピュータ３０内のファイル共有プログラム１０に依頼しないプログラム（他のコンピュータ３０内のＯＳに依頼するプログラム）に変形することも可能である。
【図面の簡単な説明】
【００５３】
【図１】本発明の一実施形態に係るファイル共有プログラムの使用法の説明図。
【図２】スレーブモードで動作しているファイル共有プログラムが実行するシステム構成把握処理の流れ図。
【図３】マスタモードで動作しているファイル共有プログラムが実行するシステム構成把握処理の流れ図。
【図４】マスタモード／スレーブモードで動作しているファイル共有プログラムが実行するファイル保存処理の流れ図。
【図５】ファイル共有プログラムが生成，管理するファイル管理テーブルの説明図。
【図６】マスタモード／スレーブモードで動作しているファイル共有プログラムが実行するファイル読込処理の流れ図。
【図７】マスタモードで動作しているファイル共有プログラムが実行するファイル単位再分割・再配置処理の流れ図。
【符号の説明】
【００５４】
１０  ファイル共有プログラム、  ３０  コンピュータ
【図１】
2007264823.tif 000003
【図２】
2007264823.tif 000004
【図３】
2007264823.tif 000005
【図４】
2007264823.tif 000006
【図５】
2007264823.tif 000007
【図６】
2007264823.tif 000008
【図７】
2007264823.tif 000009