(57)【要約】【課題】クライアント装置が保有するファイルを複数のクライアント装置間で共有するシステムにおいて、サーバ装置のストレージ容量を効率的に使用する。【解決手段】必要があるとき以外にはサーバ装置に共有ファイルを持たせないようにしする。これを実現するために、クライアント装置にファイル実体を保持させ、サーバ装置はそれに対するリンクを管理する。そして、当該クライアント装置が停止したり、当該共有ファイルを削除したりする場合には、サーバ装置は当該共有ファイルをクライアント装置から吸い上げ、他のクライアント装置に対して共有ファイルを提供する。一方、他のクライアント装置は、当該共有ファイルを参照する場合には、自身の装置内に、当該共有ファイルに対するサーバ装置経由で必ずアクセスするようにするためのファイルリンクを作成し、管理するようにする。【選択図】図１
2009230583.tif 000002
【特許請求の範囲】
【請求項１】
複数のクライアント装置とサーバ装置とを含み、前記クライアント装置間でファイルを共有することを可能とするシステムにおいて共有ファイルを管理する共有ファイル管理方法であって、
前記複数のクライアント装置のうち一のクライアント装置が、保有するファイルを他のクライアント装置と共有する共有ファイルとして指定し、その共有ファイルの実体を管理し、
前記サーバ装置は、前記共有ファイルの指定があった場合に、前記共有ファイルの実体が格納されている場所を示す実体ファイルリンクを管理し、前記一のクライアント装置を共有ファイルの実体を保存するファイル実体登録クライアントとして管理することを特徴とする共有ファイル管理方法。
【請求項２】
前記サーバ装置は、前記他のクライアント装置から前記実体ファイルリンクに基づいて前記共有ファイルへのアクセス要求があった場合に、前記実体ファイルリンクを参照して前記一のクライアント装置から取得した前記共有ファイルを前記アクセス要求した前記他のクライアント装置に提供することを特徴とする請求項１に記載の共有ファイル管理方法。
【請求項３】
前記複数のクライアント装置のうち一のクライアント装置が、保有するファイルを前記共有ファイルとして指定したときに既に他のクライアント装置で同一ファイルが共有ファイルとして登録されていた場合に、前記サーバ装置に登録されている前記共有ファイルのファイルリンクへのリンクである参照ファイルリンクを作成して管理し、前記共有ファイルと同一のファイルの実体を削除し、
前記サーバ装置は、前記参照ファイルリンクを管理するクライアント装置をファイル参照登録クライアントとして管理することを特徴とする請求項１に記載の共有ファイル管理方法。
【請求項４】
前記サーバ装置は、前記実体ファイルリンクに対するリンクとなる補助ファイルリンクを生成し、前記参照ファイルリンクが前記補助ファイルリンクと直接リンクし、前記ファイル参照クライアントが前記ファイル実体登録クライアントに直接アクセスして前記共有ファイルを取得できないように、前記ファイル参照登録クライアントを管理することを特徴とする請求項３に記載の共有ファイル管理方法。
【請求項５】
前記サーバ装置は、所定の理由により前記複数のクライアント装置から共有ファイルの実体を取得する際には、当該共有ファイルの安全性を確認することを特徴とする請求項２に記載の共有ファイル管理方法。
【請求項６】
前記ファイル実体登録クライアントが前記共有ファイルの実体を削除する場合、或いは前記ファイル実体登録クライアントが停止する場合、前記サーバ装置は、前記ファイル参照登録クライアントが存在するときには、前記共有ファイルの実体を前記ファイル実体登録クライアントから取得し、前記実体ファイルリンクを前記サーバ装置内の格納場所に変更することを特徴とする請求項３に記載の共有ファイル管理方法。
【請求項７】
前記ファイル実体登録クライアントが前記共有ファイルの実体を削除した場合、前記ファイル参照登録クライアントが前記サーバ装置によって取得された前記共有ファイルにアクセスするときには、前記サーバ装置は、当該ファイル参照登録クライアントに前記共有ファイルの実体を送信すると共に、当該ファイル参照登録クライアントをファイル実体登録クライアントに変更して管理することを特徴とする請求項６に記載の共有ファイル管理方法。
【請求項８】
前記ファイル実体登録クライアントが停止した場合、前記ファイル参照登録クライアントが前記サーバ装置によって取得された前記共有ファイルにアクセスするときには、前記サーバ装置は、当該ファイル参照登録クライアントに前記共有ファイルの実体を送信し、当該ファイル参照登録クライアントをファイル実体登録クライアントに変更せずにファイル参照登録クライアントのまま管理することを特徴とする請求項６に記載の共有ファイル管理方法。
【請求項９】
前記ファイル実体登録クライアントが停止状態から起動した場合、前記サーバ装置は、前記取得した共有ファイルの実体を前記サーバ装置内から削除し、前記実体ファイルリンクを前記ファイル実体登録クライアント内の格納場所に戻すことを特徴とすることを特徴とする請求項６に記載の共有ファイル管理方法。
【請求項１０】
複数のクライアント装置とサーバ装置とを含み、前記クライアント装置間でファイルを共有することを可能とする共有ファイル管理システムであって、
前記複数のクライアント装置のうち一のクライアント装置が、保有するファイルを他のクライアント装置と共有する共有ファイルとして指定し、その共有ファイルの実体を管理し、
前記サーバ装置は、前記共有ファイルの指定があった場合に、前記共有ファイルの実体が格納されている場所を示す実体ファイルリンクを管理し、前記一のクライアント装置を共有ファイルの実体を保存するファイル実体登録クライアントとして管理することを特徴とする共有ファイル管理システム。
【請求項１１】
複数のクライアント装置間でファイルを共有することを可能にするように、前記複数のクライアント装置及び共有ファイルの情報を管理するサーバ装置であって、
前記共有ファイルの実体を格納するクライアント装置であるファイル実体登録クライアントの情報と、前記共有ファイルの実体の格納場所を示す実体ファイルリンクと、を管理するサーバデータ管理手段を備えることを特徴とするサーバ装置。
【請求項１２】
前記サーバデータ管理手段は、さらに、前記ファイル実体登録クライアント以外のクライアント装置であって前記共有ファイルにアクセス可能となっているクライアント装置であるファイル参照登録クライアントの情報と、前記実体ファイルリンクへのリンクである参照ファイルリンクと、を管理することを特徴とする請求項１１に記載のサーバ装置。
【請求項１３】
前記サーバデータ管理手段は、前記ファイル実体登録クライアントが前記共有ファイルの実体を削除する場合、或いは前記ファイル実体登録クライアントが停止する場合、前記ファイル参照登録クライアントが存在するときには、前記共有ファイルの実体を前記ファイル実体登録クライアントから取得し、前記実体ファイルリンクを前記サーバ装置内の格納場所に変更することを特徴とする請求項１２に記載のサーバ装置。
【請求項１４】
サーバ装置と複数のクライアント装置がネットワークを介して接続され、ファイルを前記複数のクライアント装置間で共有することが可能なシステムの一部を構成するクライアント装置であって、
指示に従って、ローカルフォルダに格納されるファイルを共有ファイルとして指定する指定手段と、
前記共有ファイルを前記ローカルフォルダから共有フォルダに移動し、前記複数のクライアント装置がアクセス可能なように前記共有ファイルを前記共有フォルダ内で管理するクライアントデータ管理手段と、
前記共有ファイルの登録を前記サーバ装置に通知すると共に、前記共有ファイルを特定する情報を前記サーバ装置に送信するデータ送信手段と、を備え、
前記共有ファイルを特定する情報が、サーバ装置内で管理されることを特徴とするクライアント装置。
【請求項１５】
前記クライアントデータ管理手段は、前記指定した共有ファイルと同一ファイルが既に他のクライアント装置で共有ファイルとして登録されているか否かを前記サーバ装置に問い合わせ、既に登録されている場合には、前記共有ファイルと同一のファイルを前記ローカルフォルダから削除し、前記他のクライアント装置に格納されている前記共有ファイルを参照するための参照ファイルリンクを前記共有フォルダに作成して管理することを特徴とする請求項１４に記載のクライアント装置。
【請求項１６】
前記データ送信手段は、前記共有フォルダに格納された前記共有ファイルを削除する場合であって、この削除すべき共有ファイルを参照する他のクライアント装置が存在する場合には、前記削除すべき共有ファイルを前記サーバ装置に送信することを特徴とする請求項１４に記載のクライアント装置。
【請求項１７】
前記共有フォルダ内に格納されている共有ファイルに対して書き込みアクセスする場合、前記クライアントデータ管理手段は、前記共有ファイルの複製を前記ローカルフォルダに作成してアクセスさせることを特徴とする請求項１４に記載のクライアント装置。
【請求項１８】
複数のコンピュータに請求項１に記載の共有ファイル管理方法を実行させ、それぞれのコンピュータを前記サーバ装置及び前記フライアント装置として機能させるためのプログラム。
【請求項１９】
コンピュータを請求項１１に記載のサーバ装置として機能させるためのプログラム。
【請求項２０】
コンピュータを請求項１４に記載のクライアント装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイル共有方法及びシステム、並びに、サーバ装置、クライアント装置、及びプログラムに関し、例えば、クライアント装置の持つファイルを共有ファイルとして公開するための構成に関するものである。
【背景技術】
【０００２】
クライアント装置の持つファイルを共有ファイルとして公開する場合において、サーバ装置のストレージ容量を効率的に使用するファイル共有に関しては、重複ファイル排除機能を持ったファイルサーバによるファイル共有方法がある。本方法では、クライアント装置のユーザは、自分が所有するローカルファイルを共有ファイルとして公開したい場合、ファイルサーバに対してアップロードを要求する。アップロードに成功すると、サーバに共有ファイルとして保存され、成功のメッセージがクライアント装置に通知される。サーバは既に保持しているファイルと同じファイルのアップロード要求を受信した場合、失敗のメッセージをクライアント装置に通知することで、ファイルの重複を排除する。例えば、非特許文献１には、このような重複排除機能の例が示されている。
【０００３】
【非特許文献１】データ保護Veritas NetBackup PureDisk 6.2  （http://eval.symantec.com/mktginfo/ja/jp/enterprise/fact_sheets/nbu_pd62_ds_dpro.pdf）
【特許文献１】特開２００４−５４９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述の非特許文献１による方法は、同じファイルをサーバに転送させないことで同一ファイルの重複によるストレージの無駄な使用を回避することができるという利点を有している。
【０００５】
しかしながら、重複のないファイルを保管するためにやはりサーバにも一定容量のストレージが必要である。また、サーバとクラアイント間でのファイルの重複は残ってしまい、ストレージ容量の利用状況の観点でみると非効率な部分が残る。これでは恒常的にファイル実体（ファイルのそのもののデータ）をサーバに保管してなければならず、サーバのリソースを効率的に利用することができない。サーバのリソースを効率的に利用するには、やむを得ない場合を除いて、なるべくサーバにはファイル実体を設置することが肝要である。
【０００６】
本発明はこのような状況に鑑みてなされたものであり、ファイル共有のためのサーバとクライアントのリソースの最大限効率的な活用を提供するものである。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明では、必要があるとき以外にはサーバ装置に共有ファイルを持たせないようにしている。これを実現するために、クライアント装置にファイル実体を保持させ、サーバ装置はそれに対するリンクを管理する。そして、当該クライアント装置が停止したり、当該共有ファイルを削除したりする場合には、サーバ装置は当該共有ファイルをクライアント装置から吸い上げ、他のクライアント装置に対して共有ファイルを提供する。一方、他のクライアント装置は、当該共有ファイルを参照する場合には、自身の装置内に、当該共有ファイルに対するサーバ装置経由で必ずアクセスするようにするためのファイルリンクを作成し、管理するようにする。
【０００８】
より詳細には、本発明は、複数のクライアント装置とサーバ装置とを含み、前記クライアント装置間でファイルを共有することを可能とするシステム、及びそのシステムにおいて共有ファイルを管理する共有ファイル管理方法に関するものである。当該方法では、複数のクライアント装置のうち一のクライアント装置が、保有するファイルを他のクライアント装置と共有する共有ファイルとして指定し、その共有ファイルの実体を管理する。そして、サーバ装置は、一のクライアント装置から共有ファイルの指定があった場合に、共有ファイルの実体が格納されている場所を示す実体ファイルリンクを管理し、一のクライアント装置を共有ファイルの実体を保存するファイル実体登録クライアントとして管理する。サーバ装置は、他のクライアント装置から実体ファイルリンクに基づいて共有ファイルへのアクセス要求があった場合に、実体ファイルリンクを参照して一のクライアント装置から取得した共有ファイルをアクセス要求した他のクライアント装置に提供する。
【０００９】
また、複数のクライアント装置のうち一のクライアント装置が、保有するファイルを共有ファイルとして指定したときに既に他のクライアント装置で同一ファイルが共有ファイルとして登録されていた場合には、サーバ装置に登録されている共有ファイルのファイルリンクへのリンクである参照ファイルリンクを作成して管理し、共有ファイルと同一のファイルの実体を削除する。そして、サーバ装置は、参照ファイルリンクを管理するクライアント装置をファイル参照登録クライアントとして管理する。この場合、サーバ装置は、実体ファイルリンクに対するリンクとなる補助ファイルリンクを生成し、参照ファイルリンクが補助ファイルリンクと直接リンクし、ファイル参照クライアントがファイル実体登録クライアントに直接アクセスして共有ファイルを取得できないように（peer to peerのアクセスにならないように）、ファイル参照登録クライアントを管理する。
【００１０】
さらに、ファイル実体登録クライアントが共有ファイルの実体を削除する場合、或いはファイル実体登録クライアントが停止する場合、サーバ装置は、ファイル参照登録クライアントが存在するときには、共有ファイルの実体をファイル実体登録クライアントから取得し、実体ファイルリンクをサーバ装置内の格納場所に変更する。なお、ファイル実体登録クライアントが共有ファイルの実体を削除した場合、ファイル参照登録クライアントがサーバ装置によって取得された共有ファイルにアクセスするときには、サーバ装置は、当該ファイル参照登録クライアントに共有ファイルの実体を送信すると共に、当該ファイル参照登録クライアントをファイル実体登録クライアントに変更して管理する。また、ファイル実体登録クライアントが停止した場合、ファイル参照登録クライアントがサーバ装置によって取得された共有ファイルにアクセスするときには、サーバ装置は、当該ファイル参照登録クライアントに共有ファイルの実体を送信し、当該ファイル参照登録クライアントをファイル実体登録クライアントに変更せずにファイル参照登録クライアントのまま管理する。一方、ファイル実体登録クライアントが停止状態から起動した場合、サーバ装置は、取得した共有ファイルの実体をサーバ装置内から削除し、実体ファイルリンクをファイル実体登録クライアント内の格納場所に戻す。
【００１１】
本発明は、複数のクライアント装置間でファイルを共有することを可能にするように、前記複数のクライアント装置及び共有ファイルの情報を管理するサーバ装置を提供する。当該サーバ装置は、共有ファイルの実体を格納するクライアント装置であるファイル実体登録クライアントの情報と、共有ファイルの実体の格納場所を示す実体ファイルリンクと、を管理するサーバデータ管理手段を備えている。
【００１２】
サーバデータ管理手段は、さらに、ファイル実体登録クライアント以外のクライアント装置であって共有ファイルにアクセス可能となっているクライアント装置であるファイル参照登録クライアントの情報と、実体ファイルリンクへのリンクである参照ファイルリンクと、を管理する。また、サーバデータ管理手段は、ファイル実体登録クライアントが共有ファイルの実体を削除する場合、或いは前記ファイル実体登録クライアントが停止する場合、ファイル参照登録クライアントが存在するときには、共有ファイルの実体をファイル実体登録クライアントから取得し、実体ファイルリンクをサーバ装置内の格納場所に変更する。
【００１３】
本発明は、サーバ装置と複数のクライアント装置がネットワークを介して接続され、ファイルを前記複数のクライアント装置間で共有することが可能なシステムの一部を構成するクライアント装置を提供する。当該クライアント装置は、指示に従って、ローカルフォルダに格納されるファイルを共有ファイルとして指定する指定手段と、共有ファイルをローカルフォルダから共有フォルダに移動し、複数のクライアント装置がアクセス可能なように共有ファイルを共有フォルダ内で管理するクライアントデータ管理手段と、共有ファイルの登録をサーバ装置に通知すると共に、共有ファイルを特定する情報をサーバ装置に送信するデータ送信手段と、を備える。そして、共有ファイルを特定する情報が、サーバ装置内で管理される。
【００１４】
クライアントデータ管理手段は、指定した共有ファイルと同一ファイルが既に他のクライアント装置で共有ファイルとして登録されているか否かをサーバ装置に問い合わせ、既に登録されている場合には、共有ファイルと同一のファイルをローカルフォルダから削除し、他のクライアント装置に格納されている共有ファイルを参照するための参照ファイルリンクを共有フォルダに作成して管理する。データ送信手段は、共有フォルダに格納された共有ファイルを削除する場合であって、この削除すべき共有ファイルを参照する他のクライアント装置が存在する場合には、削除すべき共有ファイルをサーバ装置に送信する。なお、クライアント装置が、共有フォルダ内に格納されている共有ファイルに対して書き込みアクセスする場合、クライアントデータ管理手段は、共有ファイルの複製をローカルフォルダに作成してアクセスさせる。
【００１５】
さらなる本発明の特徴は、以下本発明を実施するための最良の形態および添付図面によって明らかになるものである。
【発明の効果】
【００１６】
本発明によれば、ファイル共有のためのサーバとクライアントのリソースの最大限効率的に活用することができるようになる。
【発明を実施するための最良の形態】
【００１７】
本発明による実施形態は、クライアント装置が持つファイルを共有ファイルとして公開するためのサーバ装置のストレージ容量を効率的に使用するとともに、ファイル共有によりウィルスが拡散することがないように安全に通信することを実現するものである。
【００１８】
以下、添付図面を参照して本発明の実施形態について説明する。ただし、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。また、各図において共通の構成については同一の参照番号が付されている。
【００１９】
（１）第１の実施形態
＜システム構成＞
図１は、本発明によるシステム（ファイル共有システム）の概略構成を示す図である。図１に示されるように、ファイル共有システムは、サーバ装置１と、複数のクライアント２、３・・・（図１ではクライアント装置は２つしか現れてないが任意の数存在するものとする）を備え、それらがネットワーク４を介して繋がっている。
【００２０】
サーバ装置１は、ＣＰＵ１１Ａと、メモリ１１Ｂからなる端末装置１１と、外部記憶装置１２と、通信ポート１３とを備えている。そして、外部記憶装置１２は、ファイルの通信を担うファイル（データ）転送手段１２Ａと、サーバ内のファイル（図６や１２等に示されるようにクライアントから吸い上げたファイルを含む）の管理を行うサーバファイル管理手段１２Ｂと、クライアントから（一時的に）取得したファイルが安全なファイルであるか否かを確認するファイルチェック手段１２Ｃと、共有ファイルに関する情報を登録する共有ファイル管理テーブル１２Ｄと、ファイルリンクを保管することおよび共有ファイルを一時的に保管するために使われる共有フォルダ１２Ｅと、により構成されている。
【００２１】
クライアント装置２は、ＣＰＵ２１Ａ、メモリ２１Ｂからなる端末装置２１と、外部記憶装置２２と、通信ポート２３とを備えている。そして、外部記憶装置２２は、ファイル及びデータの通信を担うファイル（データ）転送手段２２Ａと、クライアント内のファイルの管理を行うファイル管理手段２２Ｂと、ファイルに関する情報（例えば、ハッシュ値）を取得する手段２２Ｃと、ローカルファイルを保管するローカルフォルダ１２Ｄと、共有ファイルを保管するための共有フォルダ２２Ｅとにより構成されている。
【００２２】
なお、クライアント装置３や他のクライアント装置も、クライアント装置２と同様の構成を備えている。
【００２３】
＜ファイルの登録動作シーケンス＞
図２は、サーバ装置１に未登録の共有ファイルをクライアント装置（例えば、クライアント装置２）から登録する場合の命令及びデータの流れを示した図である。
【００２４】
まず始めに、クライアント装置２は、ユーザから共有ファイルの登録要求を受ける（ステップＳ２０１）と、ファイル管理手段２２Ｂはその登録要求をサーバ装置１へ送付する（ステップＳ２０２）。
【００２５】
サーバ装置１は、登録要求（Ｓ２０２）を受け付け、例えば、ユーザ認証等を実行して、当該クライアント装置の共有ファイル登録を承認する（ステップＳ２０３）。
【００２６】
次に、クライアント装置２のファイル情報取得手段２２Ｃは、共有ファイルとして登録すべきファイル（ローカルファイル）についてのファイル名・ハッシュの情報を取得する（ステップＳ２０４）。そして、クライアント装置２は、サーバ装置１に当該登録すべきファイルがまだ登録されていないことを問い合わせるために、当該ファイルのハッシュをサーバ装置１に送付する（ステップＳ２０５）。サーバ装置１に登録要求のあったファイルと同じファイルが既に存在すれば（共有ファイルとして登録されていれば）、同一値を有するハッシュが共有ファイル管理テーブル１２Ｄ（図９参照）に存在するので、サーバ装置１は、送付されてきたハッシュと共有ファイル管理テーブル１２Ｄを比較して同一ファイルの有無を確認する。ファイルが未登録の場合、この時点で、サーバ装置１は、当該ファイルのハッシュを共有ファイル管理テーブル１２Ｄに登録しておいても良い。
【００２７】
問い合わせに対する回答が返り、サーバ装置１に当該ファイルが未登録であることが確認される（ステップＳ２０６）と、クライアント装置２は該ファイルをローカルフォルダ２２Ｄから共有フォルダ２２Ｅに移動する（ステップＳ２０７）。そして、クライアント装置２のファイル転送手段２２Ａは、通信ポート２３を介して当該ファイルに関するファイル名、ハッシュ、及びクライアント装置２のクライアント識別子（例えばＩＰアドレス等）をサーバ装置１に送付する（ステップＳ２０８）。
【００２８】
一方、サーバ装置１は、共有ファイル管理テーブル１２Ｄにファイル名、ハッシュ、クライアント識別子を登録する（ステップＳ２０９）。次に、サーバ装置１は、クライアント装置２のファイル実体へのファイルリンク（例えば、クライアント装置のＩＰアドレス＋クライアント装置内でのファイルパスで構成される）を作成し、共有ファイル管理テーブル１２Ｄに登録する（ステップＳ２１０）。そして、登録動作が完了すると、サーバ装置１のファイル管理手段１２Ｂはファイル転送手段１２Ａ及び通信ポート１３を介してクライアント装置２に完了を通知する（ステップＳ２１１）。
【００２９】
なお、以後ファイルについて述べる際、ファイル登録を済ませ、ファイル実体を共有フォルダに有しているクライアント装置（ここではクライアント装置２）を、ファイル実体登録クライアントと呼ぶこととする。
【００３０】
＜既登録の共有ファイルの登録動作＞
図３Ａは、クライアント装置（例えばクライアント装置３）が共有ファイルとしてサーバ装置１に登録しようとするファイルが、別のクライアント装置（クライアント装置２）によって既に登録されている場合の処理動作（命令及びデータの流れ）を示す図である。
【００３１】
まず始めに、クライアント装置３は、ユーザから共有ファイルの登録要求を受ける（ステップＳ３０１）と、ファイル転送手段３２Ａ及び通信ポート３３を用いて、その登録要求をサーバ装置１へ送付する（ステップＳ３０２）。サーバ装置１は、例えばユーザ認証等を実行して、登録要求（Ｓ３０２）を承認する（ステップＳ３０３）。
【００３２】
次に、ファイル情報取得手段３２Ｃは、要求のあったローカルファイルについてのファイル名・ハッシュの情報を取得する（ステップＳ３０４）。そして、クライアント装置３（ファイル転送手段３２Ａ）は、当該ファイルのハッシュをサーバ装置１に送付して、当該ファイルがサーバ装置１に登録されているか否かを問い合わせる（ステップＳ３０５）。問い合わせの回答が返り、サーバ装置１に既登録であることが確認できる（ステップＳ３０６）と、クライアント装置３はサーバ装置１の中に作成された登録しようとしたファイルと同一のファイル（他のクライアント装置の共有フォルダに存在する）へのファイルリンクに対し、共有フォルダ３２Ｅ内にファイルリンク（ファイルリンクへのファイルリンク：図３Ｂのファイルリンク３４を参照）を作成する（ステップＳ３０７）。
【００３３】
そして、クライアント装置３のファイル転送手段３２Ａは、自装置のクライアント識別子（例えばＩＰアドレスなど）をサーバ装置１に送付する（ステップＳ３０８）。サーバ装置１は、ステップＳ３０８で取得したクライアント識別子を共有ファイル管理テーブル１２Ｄに当該ファイルのファイル参照登録クライアント識別子（図９の９０４参照）を登録し、また、ファイルリンク（図３Ｂのファイルリンク１５）を同様に当該テーブルに登録する（ステップＳ３０９）。同一のファイルを参照するクライアント装置が複数ある場合には、このファイル参照登録クライアント識別子９０４が複数存在するようになる。
【００３４】
ファイルリンクの登録が完了すると、サーバ装置１のファイル転送手段１２Ａは、完了通知をクライアント装置３に送付する。そして、クライアント装置３は、完了通知を受ける（ステップＳ３１０）と、当該ファイルの実体をローカルディスクから削除する（ステップＳ３１１）。これによって、クライアント装置内おけるファイル実体の重複を回避することができるようになり、クライアント装置（システム全体から考えても）のリソースの効率化を図ることができるようになる。なお、以後当該ファイルについて述べる際、この場合のクライアント装置３のようなクライアント装置を、ファイル参照登録クライアントと呼ぶこととする。
【００３５】
図３Ｂは、サーバ装置１、ファイル実体登録クライアント（クライアント装置２）、及びファイル参照登録クライアント（クライアント装置３）におけるファイルリンクの関係を示す図である。あるファイルに関してファイル参照登録クライアントが未だない場合には、上述のように、例えばファイル実体登録クライアントのＩＰアドレス＋ファイルパスで構成されるファイルリンク１４がサーバ装置１（共有ファイル管理テーブル）に登録されているだけの状態である。この場合、サーバ装置１は、ファイルリンク１４のみを用いてファイル実体を管理する。一方、ファイル参照登録クライアントが存在する場合には、ファイルリンク１４に対するショートカットというべきファイルリンク１５が共有ファイル管理テーブル１２Ｄに登録される。このファイルリンク１５が図３Ａの処理で共有ファイル管理テーブル１２Ｄに登録されたファイルリンクである。また、ファイル参照登録クライアントの共有フォルダ（３２Ｅ）には、ファイルリンク１５へのショートカットであるファイルリンク３４が登録される。つまり、ファイルリンク１４への直接のショートカットをファイル参照登録クライアントの共有フォルダ内に作成すると、ファイル参照登録クライアントがファイル実体登録クライアントのファイル実体に対して、直接アクセスできるようになってしまい、セキュリティ上好ましくない。そこで、サーバ装置１が常にファイル実体２４にアクセスして管理できるように、このようなファイルリンクの構成を採用している。なお、クライアント装置からサーバ装置１上のファイルまたはファイルリンクに対してアクセスしようとするときは、読み出しアクセスか、書き込みアクセスかをクライアント装置のユーザが指定してアクセスするものとする。
【００３６】
＜ファイル実体登録クライアントによる共有ファイルへのアクセス＞
図４は、ファイル実体登録クライアント（例えば、クライアント装置２）による共有ファイルへのアクセス時の処理を説明するためのフローチャートである。
【００３７】
ファイル管理手段２２Ｂは、ユーザによるアクセスが共有ファイルへの読み出しアクセスか否か判断する（ステップＳ４０１）。共有ファイルへの読み出しアクセスだと判断すると、ファイル管理手段２２Ｂは、当該ファイルを読み出しモードで開き（ステップＳ４０２）、処理を終える。
【００３８】
一方、ユーザによるアクセスが当該共有ファイルへの書き込みアクセスであると判断される（ステップＳ４０３）と、ファイル管理手段２２Ｂは、ローカルフォルダ２２Ｄに共有ファイルの複製を作成し（ステップＳ４０４）、当該複製ファイルを書き込みモードで開いて（ステップＳ４０５）、処理を終える。このように複製についてのみ書込み（編集）処理を可能とすることにより、ファイル実体登録クライアントとはいえ共有ファイルの改変をできないようにすることができる。なお、編集によって変更されたファイルを再度共有ファイルとして登録することも可能であるが、その場合には、編集の基礎となった当初の共有ファイルとは別の共有ファイルとしてサーバ装置１には登録管理されるようになる。
【００３９】
＜ファイル参照登録クライアントによるサーバ内のファイルリンクへのアクセス＞
図５は、ファイル参照登録クライアント（例えば、クライアント装置３）によるサーバ装置１で管理されているファイルリンクへのアクセス時の処理を説明するためのフローチャートである。
【００４０】
サーバ装置１にあるファイルリンクに対してクライアント装置３からアクセスが発生すると、サーバファイル管理手段１２Ｂは当該アクセスが読み出しアクセスか否か判断する（ステップＳ５０１）。読み出しアクセスの場合、処理はステップＳ５０２に移行し、読み出しアクセスでない場合には処理はステップＳ５１０に移行する。
【００４１】
アクセスが読み出しアクセスの場合、サーバファイル管理手段１２Ｂは、アクセス対象のファイル実体の保存場所が何れかのクライアント装置（ファイル実体登録クライアント）内かサーバ装置１の共有フォルダ１２Ｅ内か判断する（ステップＳ５０２）。サーバ装置１内にファイル実体がある場合というのは、後述の図６の処理でファイル実体がサーバ装置１に移動した場合である。ファイル実体が何れかのクライアント装置にある場合には処理はステップＳ５０３に移行し、サーバ装置内にある場合には処理はステップＳ５０７に移行する。
【００４２】
読み出し対象のファイルがファイル実体登録クライアントにある場合には、サーバ装置１はファイル実体登録クライアントから対象のファイルを取得する（ステップＳ５０３）。そして、サーバ装置１のサーバファイル管理手段１２Ｂは、取得したファイルの安全性（例えば、ウィルスに感染していないか等）を確認し（ステップＳ５０４）、確認できたらファイル転送手段１２Ａ及び通信ポート１３を介して、要求のあったファイル参照登録クライアントに対象ファイルの実体を転送する。そして、当該ファイル参照登録クライアント（クライアント装置３）は、当該ファイルを読み出しモードで開く（ステップＳ５０６）。なお、ファイルの安全が確認できなかった場合には、サーバファイル管理手段１２Ｂは処理を中止する（ステップＳ５０５）。
【００４３】
一方、ファイル実体の保存場所がサーバ装置１内の場合（ステップＳ５０２）には、サーバファイル管理手段１２Ｂは、ファイル転送手段１２Ａ及び通信ポート１３を用いて、対象ファイル実体をファイル参照登録クライアント（クライアント装置３）に送信し、クライアント装置３のファイル管理手段３２Ｂは受け取ったファイルを共有フォルダ３２Ｅに格納する（ステップＳ５０７）。そして、クライアント装置３は、ファイル名、ハッシュ、クライアント識別子をサーバ装置１に送信する。そして、サーバ装置１のサーバファイル管理手段１２Ｂは、クライアント装置３をファイル参照登録クライアントからファイル実体登録クライアントに変え、ファイルリンクを共有ファイル管理テーブル１２Ｄに登録する（ステップＳ５０８）。今まで登録されていたファイル参照登録クライアントとしてのファイルリンクは共有ファイル管理テーブル１２Ｄから削除される。また、クライアント装置３は、当該取得したファイルを読み出しモードで開いてユーザの使用に供する（ステップＳ５０９）。
【００４４】
ステップＳ５０１で今回のアクセスが読み出しアクセスでないと判断された場合には、処理はステップＳ５１０に移行する。ここで当該アクセスが書き込みアクセスか否か判断される（ステップＳ５１０）。書き込みアクセスの場合には処理はステップＳ５１１に移行し、書込みアクセスでない場合（例えば削除命令の場合）処理は終了する。
【００４５】
アクセスが書き込みアクセスの場合、サーバファイル管理手段１２Ｂは、ファイル実体の保存場所が何れかのクライアントか、つまりファイル実体登録クライアント内の共有フォルダ内かサーバ装置１の共有フォルダ１２Ｅ内かについて判断する（ステップＳ５１１）。
【００４６】
ファイル実体の保存場所がサーバ装置１内の場合（ステップＳ５１１）には、サーバファイル管理手段１２Ｂは、ファイル転送手段１２Ａ及び通信ポート１３を用いて、対象ファイル実体をファイル参照登録クライアント（クライアント装置３）に送信し、クライアント装置３のファイル管理手段３２Ｂは受け取ったファイルを共有フォルダ３２Ｅに格納する（ステップＳ５１２）。そして、クライアント装置３は、ファイル名、ハッシュ、クライアント識別子をサーバ装置１に送信する。そして、サーバ装置１のサーバファイル管理手段１２Ｂは、クライアント装置３をファイル参照登録クライアントからファイル実体登録クライアントに変え、ファイルリンクを共有ファイル管理テーブル１２Ｄに登録する（ステップＳ５１３）。今まで登録されていたファイル参照登録クライアントとしてのファイルリンクは共有ファイル管理テーブル１２Ｄから削除される。
【００４７】
一方、読み出し対象のファイルがファイル実体登録クライアントにある場合には、サーバ装置１はファイル実体登録クライアントから対象のファイルを取得する（ステップＳ５１４）。そして、サーバ装置１のサーバファイル管理手段１２Ｂは、取得したファイルの安全性を確認し（ステップＳ５１５）、確認できたらファイル転送手段１２Ａ及び通信ポート１３を介して、要求のあったファイル参照登録クライアントに対象ファイルを転送する。クライアント装置３のファイル管理手段３２Ｂは、当該ファイルを共有フォルダ３２Ｅに格納する。なお、ファイルの安全が確認できなかった場合には、読み出しアクセスの場合と同様に、サーバファイル管理手段１２Ｂは処理を中止する（ステップＳ５０５）。
【００４８】
ステップＳ５１３或いはＳ５１５の処理後、クライアント装置３のファイル管理手段３２Ｂは、共有フォルダ３２Ｅにあるファイル実体の複製をローカルフォルダ３２Ｄに格納する（ステップＳ５１６）。そして、クライアント装置３は、当該取得したファイル実体の複製を書き込みモードで開いてユーザの使用に供する（ステップＳ５１７）。
【００４９】
なお、ファイル非登録クライアントからのサーバ内ファイルリンクへの読み出しアクセスの場合は、図５のフローチャートにおいて、ステップＳ５０７乃至Ｓ５０９がなく、ファイル実体がサーバ装置１内にある場合（ステップＳ５０２）には、処理はステップＳ５０６に移行する。一方、書き込みアクセスの場合には、図５のフローチャートにおいて、ステップＳ５１２及びＳ５１３がなく、ファイル実体がサーバ装置１内にある場合（ステップＳ５１１）には、処理はステップＳ５１６に移行する。このように、ファイル非登録クライアントの場合には、対象ファイルへのアクセスが許可されるだけでファイル実体登録クライアントへの変更処理は実行されない。
【００５０】
ところで、各クライアント端末内の共有フォルダを介してクライアント同士に直接ファイル共有させる方法（特許文献１参照）がある。この方法はネットワークに接続された複数のクライアント装置と管理サーバで実現する。そして、クライアント装置のユーザは、自分が所有するローカルファイルを共有ファイルとして登録したい場合、クライアント装置上で共有ファイルを保管するための共有フォルダに該ローカルファイルを登録し、管理サーバに対して、登録通知を送る。管理サーバはそれに対する応答をクライアント装置に返すようにする。この方法によれば、ファイルをクライアントに保存するため、サーバ側はごく少容量のストレージで済むという利点がある。
【００５１】
しかしながら、クライアントＰＣ同士を直接、接続先がウィルス感染していない安全なＰＣか否かを判断せずに接続するため、ウィルスに感染したファイルを接続先ＰＣから取得してしまう恐れがある。また、クライアントＰＣ同士を直接接続するため、クライアント端末の匿名性を確保できない。
【００５２】
そこで、図５で説明したように、クライアント装置（ファイル参照登録クライアント）への共有ファイルの提供を必ずサーバ装置を介して実行し、サーバ装置で共有ファイルの安全性を確認するようにしたことにより、特許文献１における欠点は改善することができる。
【００５３】
＜ファイル実体登録クライアントがファイル削除するときの処理＞
図６は、ファイル実体登録クライアント（例えばクライアント装置２）によるファイル削除処理における命令及びデータの流れを示した図である。
【００５４】
まず始めに、クライアント装置２が、ユーザから共有ファイル（ファイル実体）の削除要求を受ける（ステップＳ６０１）、ファイル管理手段２２Ｂは、ファイル転送手段２２Ａ及び通信ポート２３を介して、当該ファイルについてファイル参照登録クライアントがあるかどうかをサーバ装置１に問い合わせる（ステップＳ６０２）。
【００５５】
サーバ装置１は、共有ファイル管理テーブル１２Ｄを調査し、クライアント装置２のファイル管理手段２２Ｂがサーバ装置１より既にファイル参照登録クライアントが存在するという回答を得る（ステップＳ６０３）と、ファイル転送手段２２Ａは当該ファイル（ファイル実体）をサーバ装置１（ファイル転送手段１２Ａ）に転送する（ステップＳ６０４）。当該削除対象の共有ファイルにファイル参照登録クライアントが存在しなければ、その後の処理をせずに当該ファイルの実体を削除しても良い。
【００５６】
そして、サーバファイル管理手段１２Ｂは、共有フォルダ１２Ｅに今まで共有ファイルとしてクライアント装置２に格納されていたファイルを格納し、ファイル実体登録クライアント識別子９０３をＮＵＬＬに設定する（ステップＳ６０５）と共に、ファイルリンクをクライアント装置２のＩＰアドレス＋ファイルパスからサーバ装置１内のファイルパスに変更する（ステップＳ６０６）。このとき取得したファイルの安全性を確認するようにしてもよい。
【００５７】
さらに、サーバ装置１のファイル転送手段１２Ａは、完了通知をクライアント装置２に送付する（ステップＳ６０７）。完了通知を受信すると、クライアント装置２は当該共有ファイルの実体を削除する（ステップＳ６０７）。このようにすることにより、ファイル実体登録クライアントが勝手に共有ファイルを削除するという事態を回避することができる。
【００５８】
＜ファイル非登録クライアントによるファイルリンクの削除禁止＞
図７は、ファイル非登録クライアントによるサーバ装置１内に登録されているファイルリンク削除の命令及びデータの流れを示す図である。
【００５９】
まず始めに、クライアント装置は、ユーザから共有ファイルのファイルリンクの削除要求を受ける（ステップＳ７０１）と、ファイル転送手段及び通信ポートを用いて、当該ファイル（ファイルリンク）削除要求をサーバ装置１に送信する（ステップＳ７０２）。サーバ装置１のサーバファイル管理手段１２Ｂは、当該削除要求を出したクライアント装置がファイル非登録クライアントであることを確認し（ステップＳ７０３）、削除要求を出したクライアント装置に中止命令を送付する（ステップＳ７０４）。中止命令を受け取ると、クライアント装置は、中止をユーザに通知（画面表示や音声等によって通知）して処理を終える（ステップＳ７０５）。
【００６０】
＜ファイル参照登録クライアントによるファイルリンクの削除処理＞
図８は、ファイル参照登録クライアント（例えばクライアント装置３）によるサーバ装置１内のファイルリンク削除の命令及びデータの流れを示す図である。
【００６１】
まず始めに、クライアント装置３は、ユーザから共有ファイルのファイルリンクの削除要求を受ける（ステップＳ８０１）と、ファイル転送手段３２Ａ及び通信ポート３３を用いて、当該ファイルリンク削除要求をサーバ装置１に送付する（ステップＳ８０２）。
【００６２】
サーバ装置１のサーバファイル管理手段１２Ｂは、当該クライアント装置３がファイル参照登録クライアントであることを確認する（ステップＳ８０３）。そして、確認が取れると、サーバファイル管理手段１２Ｂは、共有ファイル管理テーブル１２Ｄのファイル参照登録クライアント識別子９０４から当該クラアイント識別子を除去する（ステップＳ８０４）。なお、サーバ装置１内にファイル参照登録クライアント用のファイルリンクが当該クライアント装置３としかリンク関係にない場合には、そのファイルリンクを削除しても良いし、新たなファイル参照登録クライアントのために残しておいても良い。
【００６３】
また、サーバファイル管理手段１２Ｂは、ファイル転送手段１２Ａ及び通信ポートを介して、削除完了通知をクライアント装置３に送付する（ステップＳ８０５）。完了通知を受信したクライアント装置３は、ファイル管理手段３２Ｂを用いて、共有フォルダ３２Ｅにあるファイルリンクを削除し、処理を終える（ステップＳ８０６）。
【００６４】
＜共有ファイル管理テーブル＞
図９は、共有ファイル管理テーブル１２Ｄの一例を示している。共有ファイル管理テーブル１２Ｄは、ファイル名９０１と、ファイル実体及びクライアント装置が共通して保有するハッシュ関数から計算される固定長の疑似乱数を格納するハッシュ値９０２と、ファイル実体登録クライアントを識別するためのファイル実体登録クライアント識別子９０３と、ファイル参照登録クライアントを識別するためのクライアント識別子９０４と、ファイルリンク９０５とによって構成されている。
【００６５】
図９で示されるように、ファイル実体登録クライアント識別子およびファイル参照登録クライアント識別子にはＩＰアドレスなどクライアント装置を一意に特定する値が格納される。なお、ファイル参照登録クライアント識別子には複数のクライアント識別子が登録されることもある。ファイルリンクについては、ファイル参照登録クライアントが複数登録されても、１つだけである。
【００６６】
（２）第２の実施形態
以下、本発明の第２の実施形態を第１の実施形態と異なる点について図面により詳細に説明する。第１の実施形態では、全てのクライアント装置が起動している状態が前提となっているが、第２の実施形態では、あるクライアント装置が起動状態から停止状態（電源ＯＦＦ）に移行した場合も想定した処理となっている。
【００６７】
なお、図１（システム構成）、図２（サーバ装置１に未登録の共有ファイルをクライアント装置２から登録する場合の命令及びデータの流れ）、図３（サーバ装置１に既登録の共有ファイルをクライアント装置３から登録する場合の命令及びデータの流れ）、図４（ファイル実体登録クライアントによる該共有ファイルへのアクセス時の処理の流れを示すフローチャート）、図６（ファイル実体登録クライアントによるファイル削除の命令及びデータの流れ）、図７（ファイル非登録クライアントによるサーバ内ファイルリンク削除の命令及びデータの流れ）、図８（ファイル参照登録クライアントによるサーバ内ファイルリンク削除の命令及びデータの流れ）、及び図９（共有ファイル管理テーブル１２Ｄの構成）は、第１の実施形態と同じである。
【００６８】
＜ファイル実体登録クライアントの停止処理＞
図１０は、クライアント装置停止処理の流れを示すフローチャートである。より具体的には、ファイル実体登録クライアントが電源ＯＦＦ等により停止する場合の処理である。共有ファイルの実体を持つクライアントが電源をＯＦＦにしてしまうと、そのファイルを参照している他のクライアントはそれ以後当該ファイルを参照できなくなってしまう。このような事態を避けるための処理が図１０に示されている。
【００６９】
図１０において、まず、ファイル実体登録クライアント（例えば、クライアント装置２）で停止命令がある（ステップＳ１００１）と、ファイル転送手段２２Ａは、保持するファイル実体の複製をサーバ装置１へ転送する（ステップＳ１００２）。そして、サーバ装置１のサーバファイル管理手段１２Ｂは、ファイル実体のファイルリンクのリンク先をサーバ装置１に保存された当該複製に変更し（ステップＳ１００３）、続いて、クライアント装置２が停止することが可能となる（ステップＳ１００４）。
【００７０】
＜ファイル参照登録クライアントによるサーバ内のファイルリンクへのアクセス＞
図１１は、ファイル参照登録クライアント（例えばクライアント装置３）によるファイルリンクへのアクセス時の処理の流れを示すフローチャートである。
【００７１】
サーバ装置１にあるファイルリンクに対してクライアント装置３からアクセスが発生すると、サーバファイル管理手段１２Ｂは当該アクセスが読み出しアクセスか否か判断する（ステップＳ１１０１）。読み出しアクセスの場合、処理はステップＳ１１０２に移行し、読み出しアクセスでない場合には処理はステップＳ１１１１に移行する。
【００７２】
アクセスが読み出しアクセスの場合、サーバファイル管理手段１２Ｂは、アクセス対象のファイル実体の保存場所が何れかのクライアント装置（ファイル実体登録クライアント）内かサーバ装置１の共有フォルダ１２Ｅ内か判断する（ステップＳ１１０２）。サーバ装置１内にファイル実体がある場合というのは、ファイル実体がファイル実体登録クライアントで削除されたとき（図６）、あるいは、ファイル実体登録クライアントが電源ＯＦＦ等で停止したとき（図１０）に、ファイル実体がサーバ装置１に移動した場合である。ファイル実体が何れかのクライアント装置にある場合には処理はステップＳ１１０３に移行し、サーバ装置内にある場合には処理はステップＳ１１０６に移行する。
【００７３】
読み出し対象のファイルがファイル実体登録クライアントにある場合には、サーバ装置１はファイル実体登録クライアントから対象のファイルを取得する（ステップＳ１１０３）。そして、サーバ装置１のサーバファイル管理手段１２Ｂは、取得したファイルの安全性（例えば、ウィルスに感染していないか等）を確認し（ステップＳ１１０４）、確認できたらファイル転送手段１２Ａ及び通信ポート１３を介して、要求のあったファイル参照登録クライアントに対象ファイルを転送する。そして、当該ファイル参照登録クライアント（クライアント装置３）は、当該ファイルを読み出しモードで開く（ステップＳ１１０７）。なお、ファイルの安全が確認できなかった場合には、サーバファイル管理手段１２Ｂは処理を中止する（ステップＳ１１０５）。
【００７４】
一方、ファイル実体の保存場所がサーバ装置１内の場合（ステップＳ１１０２）には、サーバファイル管理手段１２Ｂは、共有ファイル管理テーブル１２Ｄをチェックし、ファイル実体に対応するファイル実体登録クライアント識別子９０３がＮＵＬＬか否か判断する（ステップＳ１１０６）。つまり、対象のファイル実体がサーバ装置１の共有フォルダ１２Ｅにあるのが、ファイル実体登録クライアントで当該ファイル実体が削除されてサーバ装置１内に保存されたのか、ファイル実体登録クライアントが停止してサーバ装置１内に保存されたのかをチェックしている。ファイル実体登録クライアントが停止したためにファイル実体がサーバ装置１内にある場合には処理はステップＳ１１０７に移行する。この場合、当該ファイル参照登録クライアント（クライアント装置３）は、ファイル実体登録クライアントには変更されない。同一ファイルが停止中のファイル実体登録クライアントに依然として存在するからである。
【００７５】
ステップＳ１１０６においてファイル実体登録クライアントでファイル実体が削除されたために当該ファイル実体がサーバ装置１内にある場合には、サーバファイル管理手段１２Ｂは、ファイル転送手段１２Ａ及び通信ポート１３を用いて、対象ファイル実体をファイル参照登録クライアント（クライアント装置３）に送信し、クライアント装置３のファイル管理手段３２Ｂは受け取ったファイルを共有フォルダ３２Ｅに格納する（ステップＳ１１０８）。そして、クライアント装置３は、ファイル名、ハッシュ、クライアント識別子をサーバ装置１に送信する。そして、サーバ装置１のサーバファイル管理手段１２Ｂは、クライアント装置３をファイル参照登録クライアントからファイル実体登録クライアントに変え、ファイルリンクを共有ファイル管理テーブル１２Ｄに登録する（ステップＳ１１０９）。今まで登録されていたファイル参照登録クライアントとしてのファイルリンクは共有ファイル管理テーブル１２Ｄから削除される。また、クライアント装置３は、当該取得したファイルを読み出しモードで開いてユーザの使用に供する（ステップＳ１１１０）。
【００７６】
ステップＳ１１０１で今回のアクセスが読み出しアクセスでないと判断された場合には、処理はステップＳ１１１１に移行する。ここで当該アクセスが書き込みアクセスか否か判断される（ステップＳ１１１１）。書き込みアクセスの場合には処理はステップＳ１１１２に移行し、書込みアクセスでない場合（例えば削除命令）処理は終了する。
【００７７】
アクセスが書き込みアクセスの場合、サーバファイル管理手段１２Ｂは、ファイル実体の保存場所が何れかのクライアントか、つまりファイル実体登録クライアント内の共有フォルダかサーバ装置１の共有フォルダ１２Ｅ内かについて判断する（ステップＳ１１１２）。
【００７８】
ファイル実体の保存場所がサーバ装置１内の場合（ステップＳ１１１３）には、サーバファイル管理手段１２Ｂは、共有ファイル管理テーブル１２Ｄをチェックし、ファイル実体に対応するファイル実体登録クライアント識別子９０３がＮＵＬＬか否か判断する（ステップＳ１１１３）。つまり、対象のファイル実体がサーバ装置１の共有フォルダ１２Ｅにあるのが、ファイル実体登録クライアントで当該ファイル実体が削除されてサーバ装置１内に保存されたのか、ファイル実体登録クライアントが停止してサーバ装置１内に保存されたのかをチェックしている。ファイル実体登録クライアントが停止したためにファイル実体がサーバ装置１内にある場合には処理はステップＳ１１１８に移行する。この場合、当該ファイル参照登録クライアント（クライアント装置３）は、ファイル実体登録クライアントには変更されない。同一ファイルが停止中のファイル実体登録クライアントに依然として存在するからである。
【００７９】
ステップＳ１１１３においてファイル実体登録クライアントでファイル実体が削除されたために当該ファイル実体がサーバ装置１内にあると判断された場合には、サーバファイル管理手段１２Ｂは、ファイル転送手段１２Ａ及び通信ポート１３を用いて、対象ファイル実体をファイル参照登録クライアント（クライアント装置３）に送信し、クライアント装置３のファイル管理手段３２Ｂは受け取ったファイルを共有フォルダ３２Ｅに格納する（ステップＳ１１１４）。そして、クライアント装置３は、ファイル名、ハッシュ、クライアント識別子をサーバ装置１に送信する。そして、サーバ装置１のサーバファイル管理手段１２Ｂは、クライアント装置３をファイル参照登録クライアントからファイル実体登録クライアントに変え、ファイルリンクを共有ファイル管理テーブル１２Ｄに登録する（ステップＳ１１１５）。今まで登録されていたファイル参照登録クライアントとしてのファイルリンクは共有ファイル管理テーブル１２Ｄから削除される。
【００８０】
一方、読み出し対象のファイルがファイル実体登録クライアントにある場合には、サーバ装置１はファイル実体登録クライアントから対象のファイルを取得する（ステップＳ１１１６）。そして、サーバ装置１のサーバファイル管理手段１２Ｂは、取得したファイルの安全性を確認し（ステップＳ１１１７）、確認できたらファイル転送手段１２Ａ及び通信ポート１３を介して、要求のあったファイル参照登録クライアントに対象ファイルを転送する。クライアント装置３のファイル管理手段３２Ｂは、当該ファイルを共有フォルダ３２Ｅに格納する。なお、ファイルの安全が確認できなかった場合には、読み出しアクセスの場合と同様に、サーバファイル管理手段１２Ｂは処理を中止する（ステップＳ１１０５）。
【００８１】
ステップＳ１１１５或いはＳ１１１７の処理後、クライアント装置３のファイル管理手段３２Ｂは、共有フォルダ３２Ｅにあるファイル実体の複製をローカルフォルダ３２Ｄに格納する（ステップＳ１１１８）。そして、クライアント装置３は、当該取得したファイル実体の複製を書き込みモードで開いてユーザの使用に供する（ステップＳ１１１９）。
【００８２】
なお、ファイル非登録クライアントからのサーバ内ファイルリンクへの読み出しアクセスの場合は、第１の実施形態と同様に処理される。つまり、第１の実施形態で説明したように、図５のフローチャートにおいて、ステップＳ５０７乃至Ｓ５０９がなく、ファイル実体がサーバ装置１内にある場合（ステップＳ５０２）には、処理はステップＳ５０６に移行する。一方、書き込みアクセスの場合には、図５のフローチャートにおいて、ステップＳ５５１２及びＳ５１３がなく、ファイル実体がサーバ装置１内にある場合（ステップＳ５１１）には、処理はステップＳ５１６に移行する。このように、ファイル非登録クライアントの場合には、対象ファイルへのアクセスが許可されるだけでファイル実体登録クライアントへの変更処理は実行されない。
【００８３】
＜クライアントの起動処理＞
図１２は、ファイル実体登録クライアントとして登録されているクライアント装置が起動したときのシステムにおける処理を説明するためのフローチャートである。
【００８４】
あるクライアント装置が起動すると（ステップＳ１２０１）と、起動したことが当該クライアント装置からサーバ装置１に通知される（ステップＳ１２０２）。
【００８５】
そして、サーバ装置１におけるサーバファイル管理手段１２Ｂは、ファイル実体登録クライアント識別子が一致するファイルが共有フォルダ１２Ｅに保存されているか否か調べる（ステップＳ１２０３）。ファイルが存在場合は、処理はステップＳ１２０４に移行し、存在しない場合は処理を終える。
【００８６】
ファイルが存在する場合、サーバファイル管理手段１２Ｂは、当該ファイルのリンク先を当該クライアント装置内のファイル実体に変更し（ステップＳ１２０４）、当該ファイル実体を共有フォルダ１２Ｅから削除し（ステップＳ１２０５）、処理を終える。
【００８７】
このようにすることにより、恒常的にサーバ装置１がファイル実体を保存・管理する必要はなく、特殊な場合にのみ管理すれば良いので、サーバ装置内のリソースを効率的に活用することができるようになる。
【００８８】
（３）第３の実施形態
以下、本発明の実施形態３を実施形態１と異なる点について図面により詳細に説明する。第３の実施形態では、図２の処理の代わりに図１３の処理が実行される。他の図面（図１、図３乃至９（第１の実施形態）、図１０乃至１２（第２の実施形態））は、第３の実施形態でも適用される。
【００８９】
＜ファイルの登録処理＞
図１３は、サーバ装置１に未登録のファイルを共有すべきファイルとして、クライアント装置２から登録する場合の命令及びデータの流れを示す図である。
【００９０】
クライアント装置２がユーザから共有ファイルの登録要求を受ける（ステップＳ１３０１）と、ファイル管理手段２２Ｂは、ファイル転送手段２２Ａ及び通信ポート１３を用いて、その登録要求をサーバ装置１へ送付する（ステップＳ１３０２）。サーバ装置１は、例えばユーザ認証等を用いて登録要求を承認する（ステップＳ１３０３）。
【００９１】
次に、クライアント装置２のファイル情報取得手段２２Ｃは、登録すべきローカルファイルについてのファイル名・ハッシュの情報を取得する（ステップＳ１３０４）。ファイル転送手段２２Ａは、このハッシュをサーバ装置１に送信し、当該ファイルが既にサーバ装置１に登録されているか否か問い合わせる（ステップＳ１３０５）。
【００９２】
問い合わせの回答が返り、サーバ装置１に当該ファイルが未登録であることが確認できる（ステップＳ１３０６）と、クライアント装置２のファイル管理手段２２Ｂは当該ファイルをローカルフォルダ２２Ｄから共有フォルダ２２Ｅに移動する（ステップＳ１３０７）。また、ファイル転送手段２２Ａは、当該ファイルに関するファイル名、当該クライアント装置２のクライアント識別子（例えば、クライアント装置のＩＰアドレス）をサーバ装置１に送付する（ステップＳ１３０８）。
【００９３】
サーバ装置１は、共有ファイル管理テーブル１２Ｄに、当該ファイルのファイル名、ハッシュ、クライアント識別子を登録する（ステップＳ１３０９）。そして、サーバ装置１のサーバファイル管理手段１２Ｂは、当該ファイルについてファイルリンクを作成する（ステップＳ１３１０）。ファイル転送手段１２Ａは、登録が完了するとクライアント装置２に登録完了を通知する(ステップＳ１３１１）。
【００９４】
クライアント装置２では、ファイル管理手段２２Ｂは、登録されたファイル（共有フォルダ２２Ｅに保存されている）と同じハッシュ値を有するファイルがローカルフォルダ２２Ｄ内にあればそれをローカルフォルダ２２Ｄから削除する（ステップＳ１３１２）。このようにすることにより、クライアント装置内のリソースの効率化も図ることができる。
【００９５】
なお、これを実現するにあたり、クライアント装置２の記憶装置（ハードディスク）２２の中に、ローカルディスク内に保存されているファイルについてファイル生成時に各ファイルのハッシュ値を計算し、保管しておくようにしてもよい。
【００９６】
（４）まとめ
本実施形態では、クライアント装置があるローカルファイルを共有ファイルとして公開する場合、該ローカルファイルについてファイル名・ハッシュの情報を取得し、サーバ装置にまだ登録されていないことを該ファイルのハッシュを送付することで問い合わせる。そして、問い合わせの結果未登録である場合、クライアント装置が該ファイルを該クライアント装置内の共有フォルダに移動し、該ファイルに関するファイル名、該クライアント装置のクライアント識別子をサーバ装置に送付し、それらを受信したサーバ装置はファイル名、ハッシュ、クライアント識別子を共有ファイル管理テーブルに登録するとともに、ファイルの実体へのファイルリンクをサーバ内に作成する。また、あるクライアント装置からサーバ内に保管された該ファイルリンクへのアクセス時にサーバが該実体の安全性を確認した後アクセスを許可するようにする。これにより、ファイル共有のためのサーバ装置のストレージ使用率を下げることができ、サーバ装置およびクライアント装置のストレージ内のファイルの重複による無駄なストレージの占有を防ぐことができる。また、ファイルの安全性を確認してファイルを共有しているので、ウィルス等の攻撃から各クライアント装置を保護することができる。さらに、共有ファイルの登録、削除、読み出しアクセス、書き込みアクセスについて、クライアントとサーバによるファイル共有での操作とほとんど変わりのない操作方法で実行することができる。
【００９７】
共有ファイルが既に他のクライアント装置で既登録である場合、クライアント装置がサーバ内に作成された該ファイルと同一のファイルへのファイルリンクに対し、該クライアント装置の共有フォルダ内にファイルリンクを作成するとともに、該クライアント装置のクライアント識別子をサーバ装置に送付し、共有ファイル管理テーブルの該ファイルのファイル参照登録クライアント識別子に登録し、クライアント装置の該ファイルの実体をローカルディスクから削除する。これにより、同一ファイルを持つクライアント装置の数が減ることから、機密ファイルの漏洩リスクを低減させることができる。
【００９８】
また、クライアント装置停止直前に該クライアント装置の共有ファイルの複製をサーバ装置に転送し、ファイルリンクのリンク先をサーバ装置に保管された該複製に変更する。そして、クライアント装置起動直後に、ファイル実体登録クライアント識別子が一致するファイルがあるかどうか調べ、ある場合、該ファイルのリンク先を該クライアント装置内のファイル実体に変更し、該ファイル実体をサーバから削除する。これにより、各クライアント装置を常時起動状態にする必要がなく、経済的であり、各クライアント装置の匿名性を確保することができる。
【００９９】
なお、本発明は、上述の各実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【０１００】
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
【０１０１】
また、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はＣＤ-ＲＷ、ＣＤ-Ｒ等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ(又はＣＰＵやＭＰＵ)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
【図面の簡単な説明】
【０１０２】
【図１】本発明によるシステム概略構成を示す図である。
【図２】サーバ装置１に未登録の共有ファイルをクライアント装置２から登録する場合の命令及びデータの流れを示す図である。
【図３Ａ】サーバ装置１に既登録の共有ファイルをクライアント装置３から登録する場合の命令及びデータの流れを示す図である。
【図３Ｂ】ファイルリンクの関係を示す図である。
【図４】ファイル実体登録クライアントによる当該共有ファイルへのアクセス時の処理を説明するためのフローチャートである。
【図５】本発明の第１の実施形態による、ファイル参照登録クライアントによるファイルリンクへのアクセス時の処理を説明するためのフローチャートである。
【図６】ファイル実体登録クライアントによるファイル削除の命令及びデータの流れを示す図である。
【図７】ファイル非登録クライアントによるサーバ内ファイルリンク削除の命令及びデータの流れを示す図である。
【図８】ファイル参照登録クライアントによるサーバ内ファイルリンク削除の命令及びデータの流れを示す図である。
【図９】共有ファイル管理テーブルの構成例を示す図である。
【図１０】クライアント装置停止処理の流れを示すフローチャートである。
【図１１】本発明の第２の実施形態による、ファイル参照登録クライアントによるファイルリンクへのアクセス時の処理を説明するためのフローチャートである。
【図１２】クライアント装置起動時の処理を説明するためのフローチャートである。
【図１３】本発明の第３の実施形態による、サーバ装置１に未登録の共有ファイルをクライアント装置２から登録する場合の命令及びデータの流れを示す図である。
【符号の説明】
【０１０３】
１１Ａ、２１Ａ、３１Ａ…ＣＰＵ
１１Ｂ、２１Ｂ、３１Ｂ…メモリ
１３、２３、３３…通信ポート
１１、２１、３１…端末装置
１２、２２、３２…外部記憶装置
４…ネットワーク
１２Ａ、２２Ａ、３２Ａ…ファイル転送手段
１２Ｂ…サーバファイル管理手段
１２Ｃ…ファイルチェック手段
１２Ｄ…共有ファイル管理テーブル
１２Ｅ、２２Ｅ、３２Ｅ…共有フォルダ
２２Ｂ、３２Ｂ…ファイル管理手段
２２Ｃ、３２Ｃ…ファイル情報取得手段
２２Ｄ、３２Ｄ…ローカルフォルダ
【図１】
2009230583.tif 000003
【図２】
2009230583.tif 000004
【図３Ａ】
2009230583.tif 000005
【図３Ｂ】
2009230583.tif 000006
【図４】
2009230583.tif 000007
【図５】
2009230583.tif 000008
【図６】
2009230583.tif 000009
【図７】
2009230583.tif 000010
【図８】
2009230583.tif 000011
【図９】
2009230583.tif 000012
【図１０】
2009230583.tif 000013
【図１１】
2009230583.tif 000014
【図１２】
2009230583.tif 000015
【図１３】
2009230583.tif 000016