(57)【要約】【課題】クライアント同士がお互いに公開するファイルを保持し、一対一でファイル交換を行うピアツーピア形式のファイルを共有する分散ファイル共有システムにおいて、大きなファイルでも共有することができる。【解決手段】ファイルの実体を複数に分割してパートとし、複数のファイル提供側のクライアントは、ファイルの実体を複数に分割した各パートをそれぞれ保持する手段を備え、サーバは、各パートから構成されるファイルへのアクセス情報を保持する手段を備え、ファイル要求側のクライアントは、サーバにアクセスして、各パートから構成されるファイルへのアクセス情報を得る手段と、アクセス情報をもとに各パートをそれぞれ保持したファイルの提供側のクライアントにアクセスし、ファイルを受信する手段と、を備える。【選択図】図１
2005092288.tif 000002
【特許請求の範囲】
【請求項１】
サーバと複数のクライアントをネットワークを介して接続し、サーバはファイルへのアクセス情報を保持し、ファイル要求側のクライアントはサーバにアクセスしてファイルへのアクセス情報を得て、アクセス情報をもとにファイル提供側のクライアントから直接的にファイルの実体を受信する分散ファイル共有システムにおいて、
ファイルの実体を複数に分割してパートとする手段を備え、
複数のファイル提供側のクライアントは、ファイルの実体を複数に分割した各パートをそれぞれ保持する手段を備え、
サーバは、各パートから構成されるファイルへのアクセス情報を保持する手段を備え、
ファイル要求側のクライアントは、サーバにアクセスして、各パートから構成されるファイルへのアクセス情報を得る手段と、アクセス情報をもとにファイルを複数に分割した各パートをそれぞれ保持したファイルの提供側のクライアントにアクセスして、ファイルを受信する手段とを備えた、
ことを特徴とする分散ファイル共有システム。
【請求項２】
サーバと複数のクライアントをネットワークを介して接続し、サーバはファイルへのアクセス情報を保持し、ファイル要求側のクライアントはサーバにアクセスしてファイルへのアクセス情報を得て、アクセス情報をもとにファイル提供側のクライアントから直接的にファイルの実体を受信する分散ファイル共有方法において、
ファイルの実体を複数に分割してパートとし、
複数のファイル提供側のクライアントは、ファイルの実体を複数に分割した各パートをそれぞれ保持し、
サーバは、各パートから構成されるファイルへのアクセス情報を保持し、
ファイル要求側のクライアントは、サーバにアクセスして、各パートから構成されるファイルへのアクセス情報を得て、このアクセス情報をもとにファイルを複数に分割した各パートをそれぞれ保持したファイルの提供側のクライアントにアクセスして、ファイルを受信する、
ことを特徴とする分散ファイル共有方法。
【請求項３】
サーバと複数のクライアントをネットワークを介して接続し、サーバはファイルへのアクセス情報を保持し、ファイル要求側のクライアントはサーバにアクセスしてファイルへのアクセス情報を得て、アクセス情報をもとにファイル提供側のクライアントから直接的にファイルの実体を受信する分散ファイル共有システムにおけるサーバおいて、
複数のファイル提供側のクライアントが保持する、ファイルの実体を複数に分割した各パートから構成されるファイルへのアクセス情報を保持する手段と、
ファイル要求側のクライアントからのファイル要求のアクセスに対して、各パートから構成されるファイルへのアクセス情報を送信する手段と、
を備えたことを特徴とする分散ファイル共有システムにおけるサーバ。
【請求項４】
サーバと複数のクライアントをネットワークを介して接続し、サーバはファイルへのアクセス情報を保持し、ファイル要求側のクライアントはサーバにアクセスしてファイルへのアクセス情報を得て、アクセス情報をもとにファイル提供側のクライアントから直接的にファイルの実体を受信する分散ファイル共有システムにおけるファイル提供側クライアントにおいて、
ファイルの実体を複数に分割してパートとし、ファイルの実体を複数に分割した各パートをそれぞれ保持する手段を備え、
ファイル要求側のクライアントにおけるサーバへのファイル要求のアクセスより得た、各パートから構成されるファイルへのアクセス情報をもとにファイルを複数に分割した各パートを送信する手段と、
を備えたことを特徴とする分散ファイル共有システムにおけるファイル提供側クライアント。
【請求項５】
ファイル提供側のクライアントにおける分散ファイル共有プログラムにおいて、
ファイルの実体を複数に分割してパートとする処理と、
ファイルの実体を複数に分割した各パートを保持する処理と、
ファイル要求側のクライアントからのサーバへのファイル要求のアクセスに対して得た各パートから構成されるファイルのアクセス情報をもとにファイルの実体を複数に分割したパートを送信する処理と、をコンピュータに実行させるファイル提供側のクライアントにおける分散ファイル共有プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はクライアント同士がお互いにファイルを公開し、一対一でファイルの交換を行うピアツーピア形式のファイル（コンテンツ）を共有する分散ファイル共有システム、方法、及び、サーバ、クライアント、クライアントにおける分散ファイル共有プログラムに関する。
【背景技術】
【０００２】
従来の分散ファイル共有システム（特許文献１  参照）の構成を図３に示す。
分散ファイル共有システムは、ファイルの実体３１〜３４を保持する複数のホストコンピュータ（クライアント）２１〜２３、及び各々のファイルの実体へそのアドレス情報によってリンクされた仮想ディレクトリを表示するディレクトリサーバ１０とをネットワークにより接続して構成する。
アドレス情報（ファイル情報）は、複数のクライアントの内のファイル位置情報を含み、アドレス情報の書き換えにより、ファイル共有者の一人によるファイルの更新が可能となる。この例ではディレクトリ１１をルートとするツリー状の階層構造をなしており、各ディレクトリ１２〜１５には各ホストコンピュータ（クライアント）２１〜２３のホスト情報及び各ホストコンピュータ内部のファイル３１〜３４へのリンク情報であるファイル情報が保持されている。
【０００３】
各ユーザ（ファイル提供側）が自己のファイルを公開するためには自身のファイルサーバに公開するファイルのパスを登録する必要がある。すなわち、各ホストコンピュータはファイルサーバとして他の任意のコンピュータからファイルを一意に特定できるファイル情報（アドレス情報）を生成し、そのアドレス情報と公開するファイルへのローカルパスのマッピング情報とを保持する。次に、各ホストコンピュータはディレクトリサーバにおける仮想ディレクトリ内の任意のディレクトリに自己の公開ファイルのアドレス情報を登録して公開する。
公開されたファイルを要求するユーザは、ホストコンピュータからディレクトリサーバにアクセスして仮想ディレクトリを表示させ、所望の公開ファイルを選択するとともにファイル情報を得て、公開ファイルのファィル情報（ホスト／リンク情報）をもとに公開ファイルを保持するホストコンピュータにアクセスし、ファイル提供側ホストコンピュータからファイル要求側のホストコンピュータへ直接的にユーザが選択した公開ファイルをネットワークを介して送信する。
【特許文献１】特開２００３−６０３２（図１、段落（００１０）〜（００１２））
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の分散ファイル共有システムにおいて、各コンピュータのハードディスク等に保持する公開ファイルはファイルを最小の単位として共有される（すなわち、ファイル単位で保持される）。このため各ホストコンピュータが保持できるディスク容量以上（ホストコンピュータが公開ファイルを保持するために割り当てられる容量以上）の大きなファイルを共有することはできない問題があった。
【課題を解決するための手段】
【０００５】
サーバと複数のクライアントをネットワークを介して接続し、サーバはファイルへのアクセス情報を保持し、ファイル要求側のクライアントはサーバにアクセスしてファイルへのアクセス情報を得て、アクセス情報をもとにファイル提供側のクライアントから直接的にファイルの実体を受信する分散ファイル共有システム、方法において、
ファイルの実体を複数に分割してパートとし、複数のファイル提供側のクライアントは、ファイルの実体を複数に分割した各パートをそれぞれ保持し、サーバは、各パートから構成されるファイルへのアクセス情報を保持し、ファイル要求側のクライアントは、サーバにアクセスして、各パートから構成されるファイルへのアクセス情報を得て、アクセス情報をもとにファイルを複数に分割した各パートをそれぞれ保持したファイルの提供側のクライアントにアクセスして、ファイルを受信する。
【発明の効果】
【０００６】
本発明は、一対一でファイルの交換を行うピアツーピア形式のファイルを共有する分散ファイル共有システムにおいて、公開するファイルを分割して各パートに分け複数のホストコンピュータ（クライアント）に保持することにより、ディスク容量（記憶容量）が比較的小さいホストコンピュータでも公開ファイルを共有することができる。
【発明を実施するための最良の形態】
【０００７】
図１に本発明の一実施例である分散ファイル共有システムの概要構成を示す。
分散ファイル共有システムは、アプリケーションサーバと複数のクライアントをネットワークで接続して構成する。
ファイル要求側のクライアントがファイル提供側のクライアント１，２の保持するファイル（すなわち、ファイルをパート１とパート２の２分割したファイル）の提供を受ける例について説明する。
（１）クライアント（ファイル要求側）は、例えば図１に示された従来の分散ファイル共有システムと同様にアプリケーションサーバに対して提供を受けるファイルを選択し、ファイル制御情報を要求する。アプリケーションサーバはクライアントの要求に従い、メタデータに記録されたファイルへのアクセス制御情報、ロック（排他）情報などからクライアントに情報を返してよいか判断し、ファイルに関する必要な情報をクライアントに返す。（なお、複数のファイル提供側クライアントはファイルの実体を複数のパートに分割して各パートをそれぞれ保持すると共に、各パートに対応したファイル制御情報（アドレス情報）をアプリケーションサーバに登録し、公開しておくものとする。）
（２）アプリケーションサーバは要求されたファイルに対応するファイル制御情報を送信する。必要に応じて、アプリケーションサーバは、ファイルの要求側の認証を行い、その正当性を確認する。
（３）クライアント（ファイル要求側）はファイル制御情報をもとにファイル提供側のクライアント１、２にアクセスする。
（４）クライアント１は自己が保持しているファイルの実体を分割したパート１、クライアント２は自己が保持しているファイルの実体２を分割したパート２をクライアント（ファイル要求側）に送信する。
【０００８】
次にファイルについて説明する。
ファイルはメタデータ、ボディ（ファイルの実体）から構成される。
メタデータは１つのファイルに必ず１つ存在する。またボディは１つ以上存在する（図２（ａ）参照）。
メタデータはファイルの管理に必要な情報であり、ファイルサイズ、ファイルの実体を持っているクライアント情報、ファイルへのアクセス制御情報、ロック（排他）情報、ファイルの属性情報などの情報を含む。ファイルのロック（排他）情報はボディ（ファイル全体）およびパート（後述する）を単位として設定できる。すなわち、ファイル全体をロックして他のユーザから読み書きを禁止することも、ファイルの一部分（パート）のみを他のユーザから読み書きできなくすることもできる。
ボディはファイルの内容（実体）として保存されるデータを格納するための構造である。ファイルの内容として保存されるデータは複数のパートに保持される。パートは、任意の大きさでボディ（ファイル）中の任意の場所に作成できる。
ボディは、他のパートと重なり部分をもつ場合（図２（ｂ））、ボディと複数のパートの大きさが一致する場合（図２（ｃ））、ボディと複数のパートの大きさが一致しない場合（すなわちホールが存在する場合）（図２（ｄ））のように作成することができる。
システムを実現するためにパートを固定の大きさに制限したり、固定の大きさの整数倍に制限したり、１つのボディで作成できるパートの数を制限したりすることができる。
なお、上記実施例においては、ファイルを２分割した例について説明したがファイルを３以上に分割したパートを２つ以上のクライアントに保持させることもできる。
【０００９】
本発明の分散ファイル共有システムにおけるサーバとクライアントはＣＰＵやメモリ等を有するコンピュータとユーザ端末、及びＣＤ−ＲＯＭ、磁気ディスク装置、半導体メモリ等の機械読み取り可能な記録媒体から構成することができる。記録媒体に記録された、あるいは伝送されたサーバとクライアントの制御用プログラムはサーバとクライアントを構成するコンピュータに読み取られコンピュータの動作を制御し、コンピュータ上に前述したサーバとクライアントの各構成要素及び処理を実現する。
【図面の簡単な説明】
【００１０】
【図１】本発明の分散ファイル共有システムの概要構成図。
【図２】本発明の分散ファイル共有システムに用いられるファイル構造を示す図。
【図３】従来の分散ファイル共有システムの構成図。
【図１】
2005092288.tif 000003
【図２】
2005092288.tif 000004
【図３】
2005092288.tif 000005