(57)【要約】本発明は、ネットワーク環境で複数のサーバーから一つのファイルを分割して伝送させる方法に関する。本発明に係る方法は、前記ファイルを格納しているデバイスに関する情報を、当該ファイル伝送を管理するファイル管理システムから受信するステップと、ユーザーデバイスが伝送を希望するファイルを選択するステップと、前記ファイルを格納している複数のデバイスから前記ファイルを伝送する少なくとも一つのサーバーを決めるステップと、前記少なくとも一つのサーバーのそれぞれに対して前記ファイルの所定のフラグメントを伝送するように要請するステップと、前記少なくとも一つのサーバーのそれぞれから前記要請したファイルのフラグメントを伝送されるステップと、前記伝送されたファイルのフラグメントを一つのファイルに併合するステップとを含むことを特徴とする。前記ファイル管理システムは、別のファイル管理サーバーとして存在することもでき、あるいはまた、複数のデバイス間において分散されて存在することもできる。ファイルの伝送途中でサーバーのいずれか一つに障害が生じた場合、他のサーバーに代替して伝送を行わせることにより、サーバーの障害に関係なく、安定してファイルを伝送することができる。
2004531824.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続された複数のデバイス間においてファイルを伝送するための方法であって、
ユーザーデバイスが伝送を希望するファイルを選択するステップと、
前記ファイルを格納しているデバイスに関する情報を、当該ファイル伝送を管理するファイル管理システムから受信するステップと、
前記ファイルを格納している複数のデバイスから前記ファイルを伝送する少なくとも一つのサーバーを決めるステップと、
前記少なくとも一つのサーバーのそれぞれに対して前記ファイルの所定のフラグメントを伝送するように要請するステップと、
前記少なくとも一つのサーバーのそれぞれから前記要請されたファイルのフラグメントを伝送するステップと、
前記伝送されたファイルのフラグメントを一つのファイルに併合するステップとを含むことを特徴とするファイル伝送方法。
【請求項２】
前記ファイルを格納している複数のデバイスから少なくとも一つのサーバーを決めるステップでは、伝送速度が最も速いデバイスから順に選ぶことを特徴とする請求項１記載のファイル伝送方法。
【請求項３】
前記ファイルの所定のフラグメントの伝送を前記少なくとも一つのサーバーのそれぞれに要請するとき、サーバーの伝送速度が速いほど要請するファイルのフラグメントの大きさを大きくすることを特徴とする請求項１記載のファイル伝送方法。
【請求項４】
前記少なくとも一つのサーバーのそれぞれから前記要請したファイルのフラグメントを伝送させるとき、伝送されたフラグメントに関する情報をログファイルに記録するステップをさらに含むことを特徴とする請求項１記載のファイル伝送方法。
【請求項５】
前記ユーザーデバイスが前記伝送されたファイルのフラグメントを併合して一つのファイルにするとき、前記ログファイルを参照することを特徴とする請求項４記載のファイル伝送方法。
【請求項６】
前記一つのファイルに併合するステップの後に、前記ファイル管理システムにファイルの伝送完了を知らせるステップをさらに含むことを特徴とする請求項１記載のファイル伝送方法。
【請求項７】
前記少なくとも一つのサーバーのそれぞれが前記要請したファイルのフラグメントを伝送させるステップにおいて、一定の大きさのパケットを伝送させる度に各サーバーの伝送速度を評価することを特徴とする請求項１記載のファイル伝送方法。
【請求項８】
前記伝送速度が所定の値以下に低下するサーバーが存在する場合、当該サーバーを他のサーバーに代替することを特徴とする請求項７記載のファイル伝送方法。
【請求項９】
前記代替サーバーが存在しない場合、前記ファイル管理システムから前記ファイルを格納している複数のデバイス及び前記各デバイスの速度に関する情報を再度受信し、これに基づいて代替サーバーを決めることを特徴とする請求項８記載のファイル伝送方法。
【請求項１０】
前記デバイスは、パーソナルコンピュータ、ワークステーション、ミニコンピュータ、ノードブックコンピュータ、ＰＤＡ等を含むデータ通信が可能なデバイスであることを特徴とする請求項１記載のファイル伝送方法。
【請求項１１】
前記ネットワークは、有線インターネット、無線インターネット、ＬＡＮ、イントラネット、エクストラネットを含むネットワーキングが可能な環境であることを特徴とする請求項１記載のファイル伝送方法。
【請求項１２】
前記伝送を希望するファイルは、当該ファイルを格納しているデバイス内において共通するファイルＩＤを有していることを特徴とする請求項１記載のファイル伝送方法。
【請求項１３】
前記ファイル管理システムは、前記ネットワークに接続されている複数のデバイスのいずれか一つであることを特徴とする請求項１記載のファイル伝送方法。
【請求項１４】
前記ファイル管理システムは、前記ネットワークに接続されている複数のデバイス間において分散されて存在することを特徴とする請求項１記載のファイル伝送方法。
【請求項１５】
前記ファイルを格納している複数のデバイスに関する情報は、デバイスのＩＤ、デバイスの位置、デバイスの伝送速度を含むことを特徴とする請求項１記載のファイル伝送方法。
【請求項１６】
前記ユーザーデバイスが前記併合された一つのファイルに関する情報をメタファイルに格納するステップをさらに含むことを特徴とする請求項１記載のファイル伝送方法。
【請求項１７】
前記併合された一つのファイルを他のデバイスへと転送するとき、前記ファイルに関する情報が前記メタファイルに記録された情報と同一であるか否かを確認した後に行なうことを特徴とする請求項１６記載のファイル伝送方法。
【請求項１８】
前記伝送は、ダウンロードとストリーミング技術を含むことを特徴とする請求項１記載のファイル伝送方法。
【請求項１９】
一つのファイルがネットワークを介して接続された複数のデバイスに分散されて格納された場合において前記ファイルを呼び出す方法であって、
前記ファイルを構成する各フラグメントを格納している複数のデバイスに関する情報を、当該ファイル伝送を管理するファイル管理システムから受信するステップと、
前記ファイルの各フラグメントを格納している複数のデバイスから前記各フラグメントを伝送する少なくとも一つのサーバーを決めるステップと、
前記ファイルの各フラグメントを、前記決められた少なくとも一つのサーバーから分散して伝送させるステップと、
前記伝送されたファイルの各フラグメントを一つのファイルに併合するステップとを含むことを特徴とするファイル呼出方法。
【請求項２０】
前記ファイルを構成する各フラグメントは、同一のファイルに属することを特徴とする請求項１９記載のファイル呼出方法。
【請求項２１】
ネットワークを介して接続された複数のデバイスのいずれか一つから複数のデバイスへとファイルを伝送するための方法であって、
前記一つのデバイスは、前記複数のデバイスのうちの伝送速度が最も速いデバイスに前記ファイルを伝送するステップと、
前記ファイルを伝送された最も伝送速度が速いデバイスは、前記複数のデバイスのうちの二番目に伝送速度が速いデバイスにファイルを転送し、前記ファイルを転送された二番目に伝送速度が速いデバイスは、三番目に伝送速度が速いデバイスに前記転送されたファイルを転送する方式で、伝送速度が最も遅いデバイスまでファイルを伝送するステップとを含み、
前記一つのデバイスが前記複数のデバイスのいずれか一つへのファイルの伝送を完了した場合、前記複数のデバイスのうちのいずれか一つの他のデバイスに前記ファイルを転送することを特徴とするファイル伝送方法。
【請求項２２】
ネットワークを介して接続された複数のデバイスのいずれか一つから複数のデバイスにファイルを伝送するための方法であって、
前記一つのデバイスが複数のデバイスに前記ファイルを伝送するステップと、
前記伝送時の伝送量が所定の基準を超える場合、前記一つのデバイスは、前記複数のデバイスのうちの最も伝送速度が速いデバイスのみに前記ファイルを伝送し、前記最も伝送速度が速いデバイスは、前記一つのデバイスから前記ファイルを伝送されると同時に、それを前記複数のデバイスのうちの他のデバイスに転送するステップとを含むことを特徴とするファイル伝送方法。
【請求項２３】
前記伝送は、ダウンロードとストリーミング技術を含むことを特徴とする請求項２１または請求項２２記載のファイル伝送方法。
【請求項２４】
要請されたファイルと同じファイルを伝送する方法であって、
ファイルを所定のフラグメントに分割し、各フラグメントの所定の部分の情報をメタファイルに格納するステップと、
前記ファイルに対する伝送要請に応答して、前記ファイルを前記所定のフラグメントに分割し、各フラグメントの前記所定の部分の情報を取り出すステップと、
前記取り出された情報と前記メタファイルに記録された情報とを比較するステップと、
前記比較の結果、同一である場合は、前記ファイルを伝送し、同一でない場合は、前記ファイルに別のファイルＩＤを与えるステップとを含むことを特徴とするファイル伝送方法。
【請求項２５】
要請されたファイルと同一のファイルを伝送する方法であって、
ａ）ファイルを所定のフラグメントに分割し、各フラグメントをコード化関数でコード化した後、各コードをメタファイルに格納するステップと、
ｂ）前記ファイルに対する伝送要請に応答して、前記ファイルを前記所定のフラグメントに分割し、各フラグメントを前記コード化関数でコード化するステップと、
ｃ）ｂ）ステップでコード化された結果と前記メタファイルに記録された情報とを比較するステップと、
ｄ）前記比較の結果同一である場合は、前記ファイルを伝送し、同一でない場合は、前記ファイルに別のファイルＩＤを与えるステップとを含むことを特徴とするファイル伝送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク環境でのファイル共同伝送方法に関し、より詳しくは、ネットワーク環境で複数のサーバーから一つのファイルを分割して伝送させる方法に関する。
【背景技術】
【０００２】
従来のネットワーク環境のクライアント／サーバーモデルでは、クライアントが一つのサーバーに接続して、所望するファイルを伝送させる方式、いわゆる１：１伝送方式が採用されていた。
【０００３】
この方式では、サーバーの伝送速度が遅い場合、クライアントが自己の帯域幅を十分に活用することができない状態で、低速でのファイルの伝送を強いられ、最適のサーバーに接続した場合であっても、伝送途中でインターネットへの接続者の数が増大すると、伝送速度が顕著に低下するという不具合があった。
また、ファイルを伝送するサーバーに障害が生じると、ファイルの伝送が失敗となるため、クライアントは、他のサーバーに接続して、所望するファイルを再送させなければならないという不具合があった。
【０００４】
ファイルの伝送速度の向上のために、米国特許公報第６，０８５，２５１号には、並列してファイルを伝送する方法が開示されている。この方法では、サーバーが一つのファイルを多数のパケットに分割し、それを並列してクライアントに伝送するとともに、クライアントから該パケット受信信号を返信させることにより、クライアントにその分割事実を知らせて、クライアント側で前記多数のパケットを一つのファイルに併合するようにしている。
【０００５】
この方法では、パケットを一つずつ伝送して受信の有無を確認するのに比べて、ファイルの伝送速度が顕著に速いという効果があるものの、サーバーに障害が生じると、ファイルの伝送が不可能になるため、安定したファイルの伝送の保証は不可能であった。
【０００６】
１：１伝送方式がこのような限界を抱えており、近年、パーソナルコンピュータの性能の向上に伴って、パーソナルコンピュータがサーバーの役割を果たせる環境が備えられた現状においては、敢えて１：１伝送方式を固守する必要はない。
【０００７】
本発明は、かかる点に鑑みてなされたものであって、１：１伝送方式でなく、多数のサーバーから一つのファイルを複数に分割して伝送させることにより、ユーザーが最大限に帯域幅を活用することができるようにすることで、伝送速度を向上させることを目的とする。
また、本発明は、伝送途中で複数のサーバーのいずれか一つに障害が生じる場合、他のサーバーに代替してファイルの伝送を行なわせることにより、サーバーの障害に関係なく、安定してファイルを伝送することを目的とする。
さらに、本発明は、一つのファイルを複数に分割して複数のサーバーから伝送させることを可能にするための前提要件として、複数のサーバーが同一ファイルのフラグメントの伝送を保証する方法を提供することを目的とする。
さらにまた、本発明は、一つのデバイスにファイルの全体を格納することができない場合、このファイルを複数のデバイスに分散して格納し、本発明に係るファイル伝送方法によりファイルの全体の内容が見られるようにする方法を提供することを目的とする。
【発明の開示】
【０００８】
前記目的を達成するために、本発明の第１の態様は、ネットワークを介して接続された複数のデバイス間においてファイルを伝送するための方法であって、ユーザーデバイスが伝送を希望するファイルを選択するステップと、前記ファイルを格納しているデバイスに関する情報を、当該ファイル伝送を管理するファイル管理システムから受信するステップと、前記ファイルを格納している複数のデバイスから前記ファイルを伝送する少なくとも一つのサーバーを決めるステップと、前記少なくとも一つのサーバーのそれぞれに対して前記ファイルの所定のフラグメントを伝送するように要請するステップと、前記少なくとも一つのサーバーのそれぞれから前記要請したファイルのフラグメントを伝送させるステップと、前記伝送されたファイルのフラグメントを一つのファイルに併合するステップとを含むことを特徴とする。
【０００９】
ここで、サーバーとは、サーバーの役割を果たすデバイス、即ち、ファイルを伝送するデバイスを意味し、伝送はダウンロードのみならず、ストリーミングを含む。
一つのファイルを複数のサーバーから伝送させるためには、ファイルの伝送を管理するシステムが存在する必要があるが、かかるファイル管理システムは、別のファイル管理サーバーとして存在してもよく、あるいはまた、複数のデバイス間において分散されて存在してもよい。
【００１０】
前記ユーザーデバイスがファイルの伝送を要請する少なくとも一つのサーバーを決めるときは、伝送速度が速い順に決めることが好ましい。
また、複数のサーバーのそれぞれからファイルのフラグメントを伝送させるときは、伝送速度が速いサーバーから多くの分量を伝送させ、伝送速度が遅いサーバーから少ない分量を伝送させることが好ましい。
【００１１】
ユーザーデバイスが複数のサーバーのそれぞれからファイルのフラグメントを伝送された後は、この情報をログファイルに記録するが、後でこのログファイルは、ファイルのフラグメントを併合して一つのファイルにする際に用いられる。
【００１２】
ユーザーデバイスは、各サーバーから一定の大きさのパケットを伝送される度にサーバーの伝送速度を評価し、速度が急激に低下する場合、または、伝送が不安定なサーバーが存在する場合、このサーバーは他のサーバーに代替される。
代替サーバーは、ファイル管理システムから受信した、ファイルを格納している複数のデバイスのリストから決めるか、または、ファイル管理システムに前記リストを再度要請し、更新されたリストから決める。
【００１３】
一方、一つのファイルを複数のサーバーが分割して伝送するためには、複数のサーバーのすべてが、同一ファイルのフラグメントを伝送していることを保証しなければならないが、本発明では、ファイルが伝送される際、メタファイルに原本ファイルの情報を記録しておき、他のユーザーにファイルのフラグメントを伝送するとき、伝送するファイルをメタファイルに格納されている情報と比較する方法を用いる。
【００１４】
かかる本発明の第１の態様によれば、複数のサーバーから一つのファイルを分割して伝送させることにより、ユーザーらが最大限に帯域幅を活用することができるようにすることで、伝送速度を向上させることができる。また、伝送途中で複数のサーバーのいずれか一つに障害が生じた場合、他のサーバーに代替して伝送を行なわせることで、サーバーの障害に関係なく、安定してファイルを伝送することができる。
【００１５】
本発明は、一つの完全なファイルを複数のサーバーから分割して伝送させる場合のみならず、ファイルが実際に複数箇所に分割されて格納されている場合でも用いることができる。
即ち、本発明の第２の態様は、一つのファイルがネットワークを介して接続された複数のデバイスに分散されて格納された場合において前記ファイルを呼び出すための方法であって、前記ファイルを構成する各フラグメントを格納している複数のデバイスに関する情報を、ファイル伝送を管理するファイル管理システムから受信するステップと、前記ファイルの各フラグメントを格納している複数のデバイスから前記各フラグメントを伝送する少なくとも一つのサーバーを決めるステップと、前記ファイルの各フラグメントを、前記決められた少なくとも一つのサーバーから分散して伝送させるステップと、前記伝送されたファイルの各フラグメントを一つのファイルに併合するステップとを含む。
【００１６】
また、本発明の第３の態様は、ネットワークを介して接続された複数のデバイスのいずれか一つから複数のデバイスにファイルを伝送するための方法であって、前記一つのデバイスは、前記複数のデバイスのうちの最も伝送速度が速いデバイスに前記ファイルを伝送するステップと、前記ファイルを伝送された最も伝送速度が速いデバイスは、前記複数のデバイスのうちの二番目に伝送速度が速いデバイスにファイルを転送し、前記ファイルを転送された二番目に伝送速度が速いデバイスは、三番目に伝送速度が速いデバイスに前記転送されたファイルを転送する方式で、最も伝送速度が遅いデバイスまでファイルを伝送するステップとを含み、前記一つのデバイスが前記複数のデバイスのいずれか一つへのファイルの伝送を完了したとき、前記複数のデバイスのうちの他のいずれか一つのデバイスに前記ファイルを転送することを特徴とする。
【００１７】
また、本発明の第４の態様は、ネットワークを介して接続された複数のデバイスのいずれか一つから複数のデバイスにファイルを伝送するための方法であって、前記一つのデバイスが複数のデバイスに前記ファイルを伝送するステップと、前記伝送時の伝送量が所定の基準を超える場合、前記一つのデバイスが、前記複数のデバイスのうちの最も伝送速度が速いデバイスにのみ前記ファイルを伝送し、前記最も伝送速度が速いデバイスは、前記一つのデバイスから前記ファイルを伝送されると同時に、それを前記複数のデバイスのうちの他のデバイスに転送するステップとを含む。
かかる本発明の第３の態様と第４の態様によれば、一つのデバイスから複数のデバイスにファイルを高速で伝送することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の好適な実施例を添付した図面を参照して詳細に説明する。
図１は、本発明に係るファイル管理システムの全体構成を示す。同図に示すように、本発明に係るファイル管理システムは、ネットワーク１０を介して接続された複数のデバイス２０1、２０2、２０3、…、２０nを含む。
ネットワーク１０は、モデムとＰＳＴＮ、専用線、ＩＳＤＮ等を用いた有線インターネットとセルラー、ＰＣＳ、マイクロ波や衛星通信網等を介した無線インターネット、ＬＡＮ、イントラネット、エクストラネット等のネットワーキングが可能なすべての環境を含む。
【００１９】
デバイス２０1、２０2、２０3、…、２０nは、ＰＣ、ワークステーション、ミニコンピュータ、メインフレームコンピュータ、ノートブックコンピュータ、一般の携帯用通信端末、ＰＤＡ、セットトップボックス、デジタルテレビ、ウェブフォン等のデータ通信が可能なデバイスであればいずれも使用可能である。
デバイス２０1、２０2、２０3、…、２０nは、ネットワーク１０に接続された他のデバイスからファイルを伝送されたり、他のデバイスにファイルを伝送したりすることができ、このために、各デバイスの位置、ファイル情報等を管理するファイル管理システム３０が存在する。
【００２０】
ファイル管理システムは、一つのデバイスが複数のデバイスからファイルを分割して伝送されることができるようにするために、複数のデバイスが共通して有するファイルには固有のファイルＩＤを与え、各デバイス間において伝送可能なファイルのリストを管理する等の機能を果たすものであり、図１に示す複数のデバイスのいずれか一つがファイル管理システムになることもでき、複数のデバイスが互いに協力してファイル管理システムを構成することもできる。
【００２１】
ファイル管理システムの各種の類型を図２〜図４に示す。
図２は、中央管理型ファイル管理システム３０を示す図であって、ファイル管理システムをサーバーのような大型デバイスに具現している。この場合、ファイル管理サーバーがファイルの伝送に必要なすべての情報を管理し、デバイス間のファイルの伝送を総括して制御する。
【００２２】
図３は、分散型ファイル管理システム３０を示す図であって、ファイル管理システムを複数のデバイスに分散している。この場合、ファイルの共同伝送に必要な情報は、各デバイスに分散して格納されており、ファイルの伝送の制御は、複数のデバイスが協力して行なう。
【００２３】
図４は、ハイブリッドファイル管理システム３０を示す図であって、図２と図３のシステムを結合したものである。この場合、ファイルの伝送に必要な情報管理及びファイル伝送の制御は、主にファイル管理システム３０で行われるが、他のデバイスでも若干ではあるが分担して行われる。
図２〜図４は、ファイル管理システムの例示に過ぎず、その他にも様々なトポロジーで具現可能である。
【００２４】
図５は、本発明によりファイルの伝送が行われる過程を説明するためのフローチャートである。
まず、ファイルの伝送を希望するユーザーデバイス２０は、伝送を希望するファイルのリストをファイル管理システム３０から受信し（Ｓ５０１）、このうちの伝送を希望するファイルを指定してファイル管理システム３０に知らせる（Ｓ５０２）。
ファイル管理システム３０は、前記ユーザーデバイス２０が指定したファイルを格納しているデバイスを把握し、かかる各デバイスの位置と伝送速度を計算し、伝送速度が速い順にデバイスを並ベてリスト化し、これをユーザーデバイス２０に伝送する（Ｓ５０３）。
【００２５】
かかるデバイスのリスト（以下、“候補サーバーリスト”と称し、“サーバー”は、サーバーの役割を果たすデバイスを意味する。）の例を図６に示す。
同図に示すように、候補サーバーリストは、各サーバー別に、サーバーＩＤ６０１、サーバーの位置６０２、及び、サーバーの伝送速度６０３を含み、サーバーの伝送速度が速い順に並ベられている。
サーバーの伝送速度６０３は、帯域幅と現在行なっている作業の数等を考慮して計算される。
【００２６】
ユーザーデバイス２０は、前記候補サーバーリストを受信し、このうちからファイルを伝送させるのに適しているサーバーを決める（Ｓ５０４）。即ち、ユーザーデバイス２０は、自己の帯域幅を最大限に活用することができるように、最も伝送速度が速いデバイスから順にｎ個のサーバー４０を指定する。これを数式で表すと、次のとおりである。
【００２７】
【数１】
2004531824.tif 000003
前記式中、ＢＷはユーザー帯域幅を、ｖiはｉ番目のデバイスの伝送速度をそれぞれ表す。
【００２８】
前記数式から分かるように、ユーザーデバイス２０が、帯域幅を最大限に活用するためには、サーバー４０の伝送速度の和の値が、帯域幅に近い値になる必要があり、帯域幅より大きいか、または、同一であることが好ましい。例えば、モデムユーザーのように遅い伝送速度の環境では、最も伝送速度が速いサーバー４０を一つ程度指定すれば足りる。
【００２９】
ユーザーデバイス２０が、伝送速度が速いｎ個のサーバー４０を決めた後は、前記決められた複数のサーバー４０のそれぞれから、ファイルのどのフラグメントをどのくらいの大きさで伝送させるかを決める（Ｓ５０４）。この場合、伝送速度が速いサーバー４０からは多くのフラグメントが伝送され、伝送速度が比較的遅いサーバー４０からは少量のフラグメントを伝送させることが好ましい。これを数式で表すと、次のとおりである。
【００３０】
【数２】
2004531824.tif 000004
前記式中、ｆiはｉ番目のデバイスが割り当てられたファイルフラグメントの大きさを、Ｆは伝送されるファイルの大きさをそれぞれ表す。
【００３１】
ステップＳ５０４で決められた伝送サーバー４０のリストと各サーバー４０が伝送すべきファイルのフラグメントに関する情報は、ログファイルに記録される。このログファイルは、後でユーザーデバイス２０が複数のサーバー４０からファイルフラグメントを伝送され、一つのファイルに併合するときに必要となる。
【００３２】
次いで、ユーザーデバイス２０は、決められた伝送サーバー４０あてに、伝送を希望するファイルのフラグメントに関する情報を知らせるとともに、ファイルの伝送を要請する（Ｓ５０５）。
ユーザーデバイス２０は、ファイルフラグメントが伝送され、伝送された情報をログファイルに記録する。
【００３３】
この過程でファイル伝送に障害のあるサーバー４０は、他のサーバー４０に代替してファイルを再送させるが、ファイルの伝送については後述する。
また、複数のサーバーから伝送されるファイルのフラグメントは、いずれも同一ファイルのフラグメントである必要があるが、かかるファイルの同一性を保証するための方法については後述する。
【００３４】
複数のサーバー４０からのファイルのフラグメントの伝送がすべて完了すると、ユーザーデバイス２０は、ログファイルに基づいて、ファイルのフラグメントを一つのファイルに併合し（Ｓ５０７）、ファイル管理システム３０にファイルの伝送完了を知らせる（Ｓ５０８）。
【００３５】
図７は、ログファイルの例を示している。
同図のログファイルは、全体が１０００００００バイトのファイルのうちの１０００００１バイトから５０００００００バイトまでを３番目のサーバー４０から伝送させようとしたが、ファイル伝送途中で障害が生じて、２０００５７８バイトまで伝送され、残りを他のサーバー４０から“フラグメント６”として伝送させる状況を示している。
ユーザーデバイス２０は、図７に示すようなログファイルの伝送情報に基づいて、ファイルのフラグメントを併合して一つのファイルにする。
【００３６】
ファイルの伝送が完了した後、ユーザーデバイス２０には、伝送されたファイルが固有のファイルＩＤが付されて格納され、ファイル管理システム３０は、前記ユーザーデバイス２０が前記ファイルＩＤを有するファイルを格納していることを記憶する。
前記伝送されたファイルがユーザーのファイル修正、位置変更、損傷等によりファイルの同一性が保証できない場合には、ファイル共有環境から削除または排除することができる。
【００３７】
以下、本発明によるファイルフラグメントの伝送ステップ（図５のＳ５０６）について詳しく説明する。
ユーザーデバイス２０は、各サーバーから一定の大きさのパケットを伝送される度に伝送速度を評価し、これを伝送管理に用いる。サーバーの伝送速度は、常に一定ではなく、伝送途中でも変化し続けるため、ファイルフラグメントの伝送途中で急激に伝送速度が低下したり、伝送が不安定なサーバーがある場合、当該サーバーを他のサーバーに代替させる必要があるためである。
【００３８】
伝送サーバーを代替させるためには、図６に示すような候補サーバーリストを用いる。この候補サーバーリストから伝送速度が比較的速い他のサーバーを決めた後、前記障害のあるサーバーに割り当てられた伝送量のうちの未伝送の部分を伝送させる。障害のあるサーバーを代替するサーバーは複数でもよい。
候補サーバーリストにおいて、代替することができるようなサーバーが存在しない場合は、ユーザーデバイス２０は、ファイル管理システムに要請して、更新された候補サーバーリストを受信し、このうちから代替サーバーを選ぶ。
【００３９】
次いで、サーバーから伝送されるファイルのフラグメントが、いずれも同一ファイルのフラグメントであることを保証する方法について説明する。
前述したように、一つのファイルを複数のデバイスが分割して伝送するためには、複数のデバイスが、いずれも同一ファイルのフラグメントを伝送することを保証しなければならない。
複数のデバイスが、互いに同一でないファイルのフラグメントを伝送し、ユーザーデバイスがこれらのフラグメントを併合して一つのファイルにする場合、伝送されたファイルは、所望するファイルでない損傷されたファイルになってしまう。
【００４０】
かかるファイルの同一性を保証するために、本発明では、ファイルが伝送される際、メタファイルに原本ファイルの情報を記録しておき、他のユーザーにファイルのフラグメントを伝送するときに、伝送すべきファイルをメタファイルに格納している情報と比較する方法を用いる。
比較の結果、同一ファイルである場合は、伝送を行う。同一のファイルでない場合は、ファイル管理システムから新たなＩＤを与えられて新たなファイルとして管理する。ファイルが同一であるか否かは、具体的に次のような方法で判断することができる。
【００４１】
最初に、ファイルの大きさの情報を用いて、ファイルの大きさが同一である場合、同一ファイルであると判断する。
第二に、ファイルをｍ個のフラグメントに分割した後、各フラグメントの一定の部分に関する情報をメタファイルに記録しておく。
前記ファイルを他のデバイスに伝送する際、伝送すべきフラグメントの一定の部分を、メタファイルに記録している情報と比較して、同一である場合は、同一ファイルであると判断する。このとき、前記一定の部分の位置と大きさは、ファイル管理システムの必要に応じて調整することができる。
第三に、ファイルをｍ個のフラグメントに分割した後、各フラグメントのすべての内容をコード化してメタファイルに記録し、前記ファイルを他のデバイスに後で伝送する際、伝送すべきフラグメントをコード化した後に、メタファイルに記録されているコードと比較する。コードが相違する場合、同一ファイルでないと判断して、そのフラグメントの伝送を止め、全体のシステムにおいて新たなファイルとして管理する。
【００４２】
仮に、メタファイルにフラグメントのすべての内容を記録した後に比較するとした場合ファイルの同一性を１００％確実に保証することができるが、このような場合、メタファイルの大きさが、原本ファイルの大きさと同一となり、資源の浪費にもつながる。
したがって、伝送されたフラグメントの内容を適宜の大きさでコード化した後、メタファイルに記録する方法を使用するのである。
【００４３】
ファイルのフラグメントをコード化する方法を数式で表すと、次のとおりである。
【数３】
2004531824.tif 000005
前記式中、ｆはコード化関数を、ｘiはｉ番目のフラグメントの内容をそれぞれ表す。
コード化関数とコードの大きさは、ファイル管理システムが自己の目的に合わせて適宜選択するが、最も簡単なコード化関数として、内容の和を求める関数が例に挙げられる。同一性の保証に、より比重をおく場合は、内容の損失が全くない圧縮方法をコード化関数として用いることもできる。
【００４４】
図８は、図５に示す過程によりユーザーデバイスが複数のサーバーからファイルのフラグメントを伝送され、一つのファイルに併合する形態を示す図である。
同図において、五つのサーバー８１〜８５が、ユーザーデバイス２０にそれぞれファイルのフラグメントを伝送するが、伝送速度が最も速いサーバーが多量のフラグメントを伝送する。同図では、最も多量のフラグメントを伝送するサーバー８３が、最も伝送速度が速く、最も少量のフラグメントを伝送するサーバー８１が、最も伝送速度が遅い。
【００４５】
このように、五つのサーバー８１〜８５が、協力して一つのファイルを伝送することにより、ユーザーデバイス２０は、自己が活用することができる最大限の帯域幅を使用することができ、これにより、ファイル伝送速度が顕著に向上する。
【００４６】
ここまでは、一つの完全なファイルを複数のサーバーから分割して伝送させる方法を説明してきたが、ファイルが実際に複数個所に分割されて格納されている場合でも、同様に本発明を適用することができる。
したがって、本発明の共同ファイル伝送方法及びシステムは、大容量のファイルの分散格納方法としても使用できる。以下、これについて説明する。
【００４７】
ファイルの大きさが大きい場合、デバイスによってはファイルの全体が格納できない場合も発生しかねない。この場合、ファイルの全体が格納できないデバイス（デバイスＡとする。）は、大容量のファイルを分割して一定のフラグメントだけを格納し、残りのフラグメントは、他のデバイスに格納させるようにする。
【００４８】
そして、デバイスＡが、前記大容量のファイルの内容を見たい場合は、本発明に係るファイル管理システムを用いて、ファイルの他のフラグメントを伝送させることにより、まるで自己が全体のファイルを管理しているかのようにして、ファイルの内容を見ることができる。このとき、複数のデバイスに分散されて格納されているファイルの複数のフラグメントは、ファイル管理システムにより、それぞれ一般のファイルとして取り扱われ、ファイルの伝送過程も、図５に基づいて前述した伝送過程と同様である。
【００４９】
例えば、デバイスＡが、ある大容量のファイルをすべて格納することができず、このファイルを取り扱いやすい大きさの１０個のフラグメントに分割して、自己を含む複数のデバイスに分散して格納されている場合、デバイスＡは、本発明に係るファイル管理システムを用いて、自己が格納していないファイルの残りのフラグメントを、他の複数のデバイスから伝送させることにより全体のファイルを見ることができる。ファイル管理システムは、１０個のフラグメントを１０個の一般のファイルのように認識して、図５に示す過程に基づいて、デバイスＡに伝送する。
【００５０】
このとき、ファイル共有システムは、かかる１０個の独立したファイルを、相互につながっているファイルのフラグメントとして管理する必要がある。
また、全体のファイルを用いるデバイスＡは、ファイルフラグメントの一部分を格納するが、他のデバイスが多く有していないフラグメントを格納していることが効率的である。このためには、デバイスＡが、１０個のファイルのそれぞれに対して、図６に示すような候補サーバーリストをファイル管理システムに要請し、各ファイルのフラグメントを保有しているサーバーの個数を把握した後、保有サーバーの個数が最も少ないファイルフラグメントを格納する。
【００５１】
以上においては、同一ファイルが複数のサーバーに分散されて存在することを前提として、複数のサーバーからファイルのフラグメントが伝送され、これを一つのファイルに併合する方法（多：１伝送方式）を説明してきた。
しかしながら、ファイルが最初に作成されたときは、一つのデバイスだけに、それが存在するはずである。したがって、以下においては、ファイルを一つのデバイスから複数のデバイスに伝送する場合（１：多伝送方式）において、伝送速度を向上させるための二つの方法について説明する。
【００５２】
第１の方法は、図２に示すような中央集中型ファイル管理システムが複数のデバイスの速度を管理する場合であって、最も伝送速度が速いデバイスからファイルが伝送されるようにするものである。
即ち、ファイル管理システムは、ファイルの伝送を希望する複数のデバイスの伝送速度を求めて、その速度順に並ベてリスト化し、このリストを、ファイルを格納しているデバイス（サーバー）とファイルの伝送を希望する複数のデバイスに伝送する。
【００５３】
このリストを参照して、サーバーは、最も伝送速度が速いデバイスにファイルを伝送し、このデバイスは、二番目に伝送速度が速いデバイスにそのファイルを転送し、この二番目のデバイスは、三番目に伝送速度が速いデバイスにそのファイルを転送する方式で、ファイルを伝送する。
最も伝送速度が速いデバイスへのファイルの伝送が完了すると、このデバイスは、伝送完了のメッセージをサーバーに通知し、このデバイスが、他のサーバーとしての役割を果たすようにし、本来サーバーであったデバイスは、二番目に伝送速度が速いデバイスにもファイルを伝送することができるようにする。
【００５４】
図９を参照して、例を挙げて説明すると、次のとおりである。
現在０番目のデバイスのみが、特定のファイルを有し、速度順に並ベられた１番から１００番までのデバイスが、０番デバイスから当該ファイルを伝送される場合、０番デバイスは、１番デバイスにファイルを伝送し、１番デバイスは、２番デバイスにファイルを転送する方式で、１００番デバイスまでファイルの伝送を行なう。
１番デバイスへの伝送が完了すると、１番デバイスを、サーバーの役割を果たすようにし、本来サーバーであった０番デバイスを、２番デバイスにもファイルを伝送することができるようにする。
このような方式で、継続してサーバーが増大することにより、伝送状況は次第に、多：１伝送方式になり、この結果、ファイルの伝送速度も向上する。
【００５５】
第二の方法は、ファイル管理システムが、デバイスの伝送速度の管理が不要な方法であって、サーバーの役割を果たすデバイス（０番デバイスとする。）が自己に対して伝送を求めるデバイスが、自己の伝送可能な一定の容量を超えると、最も伝送速度が速いデバイス（１番デバイスとする。）だけに集中的に伝送を行い、残りのデバイスには伝送を行わないとともに、残りのデバイスに対して、他のサーバーを確保するように誘導する。
一方、０番デバイスは、ファイル管理システムに、新たなサーバーの役割を果たすデバイスとして、現在伝送している１番デバイスを知らせる。
ファイル管理システムは、他のデバイスがサーバーの役割を果たすデバイスのリストを求めるとき、１番デバイスをリストに載せて送信し、他のデバイスは、このリストを見て、１番デバイスからのファイルの伝送を試みるようになる。
【００５６】
したがって、１番デバイスは、自己が現在までに伝送されたデータの範囲内で、他のデバイスにそれを転送すると同時に、０番デバイスから継続して伝送を受ける。
仮に、１番デバイスに対して伝送を求めるデバイスが多すぎると、１番デバイスは、ファイル管理システムに、現在自己が伝送しているデバイス（２番デバイスとする。）を、新たなサーバーの役割を果たすデバイスとして知らせる。
このような方式で、１：多伝送方式は次第に、多：１伝送方式に切替わり、この結果、伝送速度が向上する。
【００５７】
ここまでは、本発明をファイルのダウンロードを例に挙げて説明してきたが、ダウンロードのみならず、ストリーミング伝送の場合にも適用することができる。
ストリーミング技術とは、ビデオやオーディオコンテンツを視聴するために、大容量のファイルを、ダウンロードではなく、データを受信しながら、ビデオやオーディオコンテンツを再生することができる技術である。この場合においても、ファイルのダウンロードと同様に、本発明をそのまま適用可能である。
【００５８】
以上、本発明を好適な実施例を例示して説明してきたが、本発明の範囲は、特定の実施例に限定されるものではなく、添付された特許請求の範囲により解釈されるべきである。
【産業上の利用可能性】
【００５９】
本発明に係るファイル管理システム及び方法は、ユーザーらが一つのサーバーのみからファイルの全体を伝送されるのではなく、複数のサーバーからファイルを分割して伝送され得るようにすることで、ファイルの伝送速度を顕著に向上させる。
また、伝送途中で複数のサーバーのいずれか一つに障害が生じた場合、他のサーバーに代替して伝送を行わせることにより、ユーザーが、サーバーの障害に関係なく、安定してファイルを伝送され得るようにする。
さらに、ファイルが一つのデバイスだけに存在し、一つのデバイスから複数のデバイスにそれを伝送する必要がある場合でも、ファイルの伝送速度を向上させることができる。
本発明に係るファイル管理システム及び方法は、従来では伝送できなかった大容量のファイルの伝送に適用できるのみならず、ストリーミングサービスにも適用することができる。
【図面の簡単な説明】
【００６０】
【図１】本発明に係るファイル管理システムの全体構成図である。
【図２】本発明に係るファイル管理システムの構成図である。
【図３】本発明に係るファイル管理システムの構成図である。
【図４】本発明に係るファイル管理システムの構成図である。
【図５】本発明に係るファイル伝送過程を全体として示すフローチャートである。
【図６】ファイルが伝送可能な複数のサーバーの情報を格納した候補サーバーリストのデータ構造である。
【図７】ファイル伝送情報を記録するログファイルの例示図である。
【図８】本発明によりファイルを伝送する状態を示す図である。
【図９】本発明により一つのデバイスから複数のデバイスにファイルを伝送する状態を示す図である。
【図１】
2004531824.tif 000006
【図２】
2004531824.tif 000007
【図３】
2004531824.tif 000008
【図４】
2004531824.tif 000009
【図５】
2004531824.tif 000010
【図６】
2004531824.tif 000011
【図７】
2004531824.tif 000012
【図８】
2004531824.tif 000013
【図９】
2004531824.tif 000014
【国際公開パンフレット】
2004531824.tif 000015
2004531824.tif 000016
2004531824.tif 000017
2004531824.tif 000018
2004531824.tif 000019
2004531824.tif 000020
2004531824.tif 000021
2004531824.tif 000022
2004531824.tif 000023
2004531824.tif 000024
2004531824.tif 000025
2004531824.tif 000026
2004531824.tif 000027
2004531824.tif 000028
2004531824.tif 000029
2004531824.tif 000030
2004531824.tif 000031
2004531824.tif 000032
2004531824.tif 000033
2004531824.tif 000034
2004531824.tif 000035
2004531824.tif 000036
2004531824.tif 000037
2004531824.tif 000038
2004531824.tif 000039
2004531824.tif 000040
2004531824.tif 000041
2004531824.tif 000042
2004531824.tif 000043
2004531824.tif 000044
2004531824.tif 000045
2004531824.tif 000046
2004531824.tif 000047
【手続補正書】
【提出日】平成13年9月14日(2001.9.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークを介して接続された複数のデバイス間においてファイルを伝送するための方法であって、
ユーザーデバイスが伝送を希望するファイルを選択するステップと、
前記ファイルを格納しているデバイスに関する情報を、当該ファイル伝送を管理するファイル管理システムから受信するステップと、
前記ファイルを格納している複数のデバイスから前記ファイルを伝送する少なくとも一つのサーバーを決めるステップと、
前記少なくとも一つのサーバーのそれぞれに対して前記ファイルの所定のフラグメントを伝送するように要請するステップと、
前記少なくとも一つのサーバーのそれぞれから前記要請されたファイルのフラグメントを伝送するステップと、
前記伝送されたファイルのフラグメントを一つのファイルに併合するステップとを含むことを特徴とするファイル伝送方法。
【請求項２】
前記ファイルを格納している複数のデバイスから少なくとも一つのサーバーを決めるステップでは、伝送速度が最も速いデバイスから順に選ぶことを特徴とする請求項１記載のファイル伝送方法。
【請求項３】
前記ファイルの所定のフラグメントの伝送を前記少なくとも一つのサーバーのそれぞれに要請するとき、サーバーの伝送速度が速いほど要請するファイルのフラグメントの大きさを大きくすることを特徴とする請求項１記載のファイル伝送方法。
【請求項４】
前記少なくとも一つのサーバーのそれぞれから前記要請したファイルのフラグメントを伝送させるとき、伝送されたフラグメントに関する情報をログファイルに記録するステップをさらに含むことを特徴とする請求項１記載のファイル伝送方法。
【請求項５】
前記ユーザーデバイスが前記伝送されたファイルのフラグメントを併合して一つのファイルにするとき、前記ログファイルを参照することを特徴とする請求項４記載のファイル伝送方法。
【請求項６】
前記一つのファイルに併合するステップの後に、前記ファイル管理システムにファイルの伝送完了を知らせるステップをさらに含むことを特徴とする請求項１記載のファイル伝送方法。
【請求項７】
前記少なくとも一つのサーバーのそれぞれが前記要請したファイルのフラグメントを伝送させるステップにおいて、一定の大きさのパケットを伝送させる度に各サーバーの伝送速度を評価することを特徴とする請求項１記載のファイル伝送方法。
【請求項８】
前記伝送速度が所定の値以下に低下するサーバーが存在する場合、当該サーバーを他のサーバーに代替することを特徴とする請求項７記載のファイル伝送方法。
【請求項９】
前記代替サーバーが存在しない場合、前記ファイル管理システムから前記ファイルを格納している複数のデバイス及び前記各デバイスの速度に関する情報を再度受信し、これに基づいて代替サーバーを決めることを特徴とする請求項８記載のファイル伝送方法。
【請求項１０】
前記デバイスは、パーソナルコンピュータ、ワークステーション、ミニコンピュータ、メインフレームコンピュータ、ノードブックコンピュータ、一般の携帯用通信端末、ＰＤＡ、セットトップボックス、デジタルテレビ、ウェブフォン等を含むデータ通信が可能なデバイスであることを特徴とする請求項１記載のファイル伝送方法。
【請求項１１】
前記ネットワークは、有線インターネット、無線インターネット、ＬＡＮ、イントラネット、エクストラネットを含むネットワーキングが可能な環境であることを特徴とする請求項１記載のファイル伝送方法。
【請求項１２】
前記伝送を希望するファイルは、当該ファイルを格納しているデバイス内において共通するファイルＩＤを有していることを特徴とする請求項１記載のファイル伝送方法。
【請求項１３】
前記ファイル管理システムは、前記ネットワークに接続されている複数のデバイスのいずれか一つであることを特徴とする請求項１記載のファイル伝送方法。
【請求項１４】
前記ファイル管理システムは、前記ネットワークに接続されている複数のデバイス間において分散されて存在することを特徴とする請求項１記載のファイル伝送方法。
【請求項１５】
前記ファイルを格納している複数のデバイスに関する情報は、デバイスのＩＤ、デバイスの位置、デバイスの伝送速度を含むことを特徴とする請求項１記載のファイル伝送方法。
【請求項１６】
前記ユーザーデバイスが前記併合された一つのファイルに関する情報をメタファイルに格納するステップをさらに含むことを特徴とする請求項１記載のファイル伝送方法。
【請求項１７】
前記併合された一つのファイルを他のデバイスへと転送するとき、前記ファイルに関する情報が前記メタファイルに記録された情報と同一であるか否かを確認した後に行なうことを特徴とする請求項１６記載のファイル伝送方法。
【請求項１８】
ネットワークを介して接続された複数のデバイスのいずれか一つのファイルのストリーミングサービスを提供する方法であって、
ユーザーデバイスによりストリーミングサービスを受けるファイルを選択するステップと、
ファイルの伝送を管理するファイル管理システムからファイルを格納するデバイスに対する情報及びメタデータを受信するステップと、
前記ファイルが伝送される少なくとも一つのサーバーを決定するステップと、
前記少なくとも一つのサーバーにそれぞれ前記ファイルのフラグメントを伝送することを要請するステップと、
前記少なくとも一つのサーバーからそれぞれ上記ファイルの要請されたフラグメントを受信し、これらを臨時に格納するステップと、
前記メタデータに基づいた順で前記格納されたファイルのフラグメントを再生するステップとを含むことを特徴とするストリーミングサービス提供方法。
【請求項１９】
一つのファイルがネットワークを介して接続された複数のデバイスに分散されて格納された場合において前記ファイルを呼び出す方法であって、
前記ファイルを構成する各フラグメントを格納している複数のデバイスに関する情報を、当該ファイル伝送を管理するファイル管理システムから受信するステップと、
前記ファイルの各フラグメントを格納している複数のデバイスから前記各フラグメントを伝送する少なくとも一つのサーバーを決めるステップと、
前記ファイルの各フラグメントを、前記決められた少なくとも一つのサーバーから分散して伝送させるステップと、
前記伝送されたファイルの各フラグメントを一つのファイルに併合するステップとを含むことを特徴とするファイル呼出方法。
【請求項２０】
前記ファイルを構成する各フラグメントは、同一のファイルに属することを特徴とする請求項１９記載のファイル呼出方法。
【請求項２１】
ネットワークを介して接続された複数のデバイスのいずれか一つから複数のデバイスへとファイルを伝送するための方法であって、
前記一つのデバイスは、前記複数のデバイスのうちの伝送速度が最も速いデバイスに前記ファイルを伝送するステップと、
前記ファイルを伝送された最も伝送速度が速いデバイスは、前記複数のデバイスのうちの二番目に伝送速度が速いデバイスにファイルを転送し、前記ファイルを転送された二番目に伝送速度が速いデバイスは、三番目に伝送速度が速いデバイスに前記転送されたファイルを転送する方式で、伝送速度が最も遅いデバイスまでファイルを伝送するステップとを含み、
前記一つのデバイスが前記複数のデバイスのいずれか一つへのファイルの伝送を完了した場合、前記複数のデバイスのうちのいずれか一つの他のデバイスに前記ファイルを転送することを特徴とするファイル伝送方法。
【請求項２２】
ネットワークを介して接続された複数のデバイスのいずれか一つから複数のデバイスにファイルを伝送するための方法であって、
前記一つのデバイスが複数のデバイスに前記ファイルを伝送するステップと、
前記伝送時の伝送量が所定の基準を超える場合、前記一つのデバイスは、前記複数のデバイスのうちの最も伝送速度が速いデバイスのみに前記ファイルを伝送し、前記最も伝送速度が速いデバイスは、前記一つのデバイスから前記ファイルを伝送されると同時に、それを前記複数のデバイスのうちの他のデバイスに転送するステップとを含むことを特徴とするファイル伝送方法。
【請求項２３】
前記伝送は、ダウンロードとストリーミング技術を含むことを特徴とする請求項２１または請求項２２記載のファイル伝送方法。
【請求項２４】
要請されたファイルと同じファイルを伝送する方法であって、
ファイルを所定のフラグメントに分割し、各フラグメントの所定の部分の情報をメタファイルに格納するステップと、
前記ファイルに対する伝送要請に応答して、前記ファイルを前記所定のフラグメントに分割し、各フラグメントの前記所定の部分の情報を取り出すステップと、
前記取り出された情報と前記メタファイルに記録された情報とを比較するステップと、
前記比較の結果、同一である場合は、前記ファイルを伝送し、同一でない場合は、前記ファイルに別のファイルＩＤを与えるステップとを含むことを特徴とするファイル伝送方法。
【請求項２５】
要請されたファイルと同一のファイルを伝送する方法であって、
ａ）ファイルを所定のフラグメントに分割し、各フラグメントをコード化関数でコード化した後、各コードをメタファイルに格納するステップと、
ｂ）前記ファイルに対する伝送要請に応答して、前記ファイルを前記所定のフラグメントに分割し、各フラグメントを前記コード化関数でコード化するステップと、
ｃ）ｂ）ステップでコード化された結果と前記メタファイルに記録された情報とを比較するステップと、
ｄ）前記比較の結果同一である場合は、前記ファイルを伝送し、同一でない場合は、前記ファイルに別のファイルＩＤを与えるステップとを含むことを特徴とするファイル伝送方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク環境でのファイル共同伝送方法に関し、より詳しくは、ネットワーク環境で複数のサーバーから一つのファイルを分割して伝送させる方法に関する。
【背景技術】
【０００２】
従来のネットワーク環境のクライアント／サーバーモデルでは、クライアントが一つのサーバーに接続して、所望するファイルを伝送させる方式、いわゆる１：１伝送方式が採用されていた。
【０００３】
この方式では、サーバーの伝送速度が遅い場合、クライアントが自己の帯域幅を十分に活用することができない状態で、低速でのファイルの伝送を強いられ、最適のサーバーに接続した場合であっても、伝送途中でインターネットへの接続者の数が増大すると、伝送速度が顕著に低下するという不具合があった。
また、ファイルを伝送するサーバーに障害が生じると、ファイルの伝送が失敗となるため、クライアントは、他のサーバーに接続して、所望するファイルを再送させなければならないという不具合があった。
【０００４】
ファイルの伝送速度の向上のために、米国特許公報第６，０８５，２５１号には、並列してファイルを伝送する方法が開示されている。この方法では、サーバーが一つのファイルを多数のパケットに分割し、それを並列してクライアントに伝送するとともに、クライアントから該パケット受信信号を返信させることにより、クライアントにその分割事実を知らせて、クライアント側で前記多数のパケットを一つのファイルに併合するようにしている。
【０００５】
この方法では、パケットを一つずつ伝送して受信の有無を確認するのに比べて、ファイルの伝送速度が顕著に速いという効果があるものの、サーバーに障害が生じると、ファイルの伝送が不可能になるため、安定したファイルの伝送の保証は不可能であった。
【０００６】
１：１伝送方式がこのような限界を抱えており、近年、パーソナルコンピュータの性能の向上に伴って、パーソナルコンピュータがサーバーの役割を果たせる環境が備えられた現状においては、敢えて１：１伝送方式を固守する必要はない。
【０００７】
本発明は、かかる点に鑑みてなされたものであって、１：１伝送方式でなく、多数のサーバーから一つのファイルを複数に分割して伝送させることにより、ユーザーが最大限に帯域幅を活用することができるようにすることで、伝送速度を向上させることを目的とする。
また、本発明は、伝送途中で複数のサーバーのいずれか一つに障害が生じる場合、他のサーバーに代替してファイルの伝送を行なわせることにより、サーバーの障害に関係なく、安定してファイルを伝送することを目的とする。
さらに、本発明は、一つのファイルを複数に分割して複数のサーバーから伝送させることを可能にするための前提要件として、複数のサーバーが同一ファイルのフラグメントの伝送を保証する方法を提供することを目的とする。
さらにまた、本発明は、一つのデバイスにファイルの全体を格納することができない場合、このファイルを複数のデバイスに分散して格納し、本発明に係るファイル伝送方法によりファイルの全体の内容が見られるようにする方法を提供することを目的とする。
【発明の開示】
【０００８】
前記目的を達成するために、本発明の第１の態様は、ネットワークを介して接続された複数のデバイス間においてファイルを伝送するための方法であって、ユーザーデバイスが伝送を希望するファイルを選択するステップと、前記ファイルを格納しているデバイスに関する情報を、当該ファイル伝送を管理するファイル管理システムから受信するステップと、前記ファイルを格納している複数のデバイスから前記ファイルを伝送する少なくとも一つのサーバーを決めるステップと、前記少なくとも一つのサーバーのそれぞれに対して前記ファイルの所定のフラグメントを伝送するように要請するステップと、前記少なくとも一つのサーバーのそれぞれから前記要請したファイルのフラグメントを伝送させるステップと、前記伝送されたファイルのフラグメントを一つのファイルに併合するステップとを含むことを特徴とする。
【０００９】
ここで、サーバーとは、サーバーの役割を果たすデバイス、即ち、ファイルを伝送するデバイスを意味し、伝送はダウンロードのみならず、ストリーミングを含む。
一つのファイルを複数のサーバーから伝送させるためには、ファイルの伝送を管理するシステムが存在する必要があるが、かかるファイル管理システムは、別のファイル管理サーバーとして存在してもよく、あるいはまた、複数のデバイス間において分散されて存在してもよい。
【００１０】
前記ユーザーデバイスがファイルの伝送を要請する少なくとも一つのサーバーを決めるときは、伝送速度が速い順に決めることが好ましい。
また、複数のサーバーのそれぞれからファイルのフラグメントを伝送させるときは、伝送速度が速いサーバーから多くの分量を伝送させ、伝送速度が遅いサーバーから少ない分量を伝送させることが好ましい。
【００１１】
ユーザーデバイスが複数のサーバーのそれぞれからファイルのフラグメントを伝送された後は、この情報をログファイルに記録するが、後でこのログファイルは、ファイルのフラグメントを併合して一つのファイルにする際に用いられる。
【００１２】
ユーザーデバイスは、各サーバーから一定の大きさのパケットを伝送される度にサーバーの伝送速度を評価し、速度が急激に低下する場合、または、伝送が不安定なサーバーが存在する場合、このサーバーは他のサーバーに代替される。
代替サーバーは、ファイル管理システムから受信した、ファイルを格納している複数のデバイスのリストから決めるか、または、ファイル管理システムに前記リストを再度要請し、更新されたリストから決める。
【００１３】
一方、一つのファイルを複数のサーバーが分割して伝送するためには、複数のサーバーのすべてが、同一ファイルのフラグメントを伝送していることを保証しなければならないが、本発明では、ファイルが伝送される際、メタファイルに原本ファイルの情報を記録しておき、他のユーザーにファイルのフラグメントを伝送するとき、伝送するファイルをメタファイルに格納されている情報と比較する方法を用いる。
【００１４】
かかる本発明の第１の態様によれば、複数のサーバーから一つのファイルを分割して伝送させることにより、ユーザーらが最大限に帯域幅を活用することができるようにすることで、伝送速度を向上させることができる。また、伝送途中で複数のサーバーのいずれか一つに障害が生じた場合、他のサーバーに代替して伝送を行なわせることで、サーバーの障害に関係なく、安定してファイルを伝送することができる。
【００１５】
本発明は、一つの完全なファイルを複数のサーバーから分割して伝送させる場合のみならず、ファイルが実際に複数箇所に分割されて格納されている場合でも用いることができる。
即ち、本発明の第２の態様は、一つのファイルがネットワークを介して接続された複数のデバイスに分散されて格納された場合において前記ファイルを呼び出すための方法であって、前記ファイルを構成する各フラグメントを格納している複数のデバイスに関する情報を、ファイル伝送を管理するファイル管理システムから受信するステップと、前記ファイルの各フラグメントを格納している複数のデバイスから前記各フラグメントを伝送する少なくとも一つのサーバーを決めるステップと、前記ファイルの各フラグメントを、前記決められた少なくとも一つのサーバーから分散して伝送させるステップと、前記伝送されたファイルの各フラグメントを一つのファイルに併合するステップとを含む。
【００１６】
また、本発明の第３の態様は、ネットワークを介して接続された複数のデバイスのいずれか一つから複数のデバイスにファイルを伝送するための方法であって、前記一つのデバイスは、前記複数のデバイスのうちの最も伝送速度が速いデバイスに前記ファイルを伝送するステップと、前記ファイルを伝送された最も伝送速度が速いデバイスは、前記複数のデバイスのうちの二番目に伝送速度が速いデバイスにファイルを転送し、前記ファイルを転送された二番目に伝送速度が速いデバイスは、三番目に伝送速度が速いデバイスに前記転送されたファイルを転送する方式で、最も伝送速度が遅いデバイスまでファイルを伝送するステップとを含み、前記一つのデバイスが前記複数のデバイスのいずれか一つへのファイルの伝送を完了したとき、前記複数のデバイスのうちの他のいずれか一つのデバイスに前記ファイルを転送することを特徴とする。
【００１７】
また、本発明の第４の態様は、ネットワークを介して接続された複数のデバイスのいずれか一つから複数のデバイスにファイルを伝送するための方法であって、前記一つのデバイスが複数のデバイスに前記ファイルを伝送するステップと、前記伝送時の伝送量が所定の基準を超える場合、前記一つのデバイスが、前記複数のデバイスのうちの最も伝送速度が速いデバイスにのみ前記ファイルを伝送し、前記最も伝送速度が速いデバイスは、前記一つのデバイスから前記ファイルを伝送されると同時に、それを前記複数のデバイスのうちの他のデバイスに転送するステップとを含む。
かかる本発明の第３の態様と第４の態様によれば、一つのデバイスから複数のデバイスにファイルを高速で伝送することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の好適な実施例を添付した図面を参照して詳細に説明する。
図１は、本発明に係るファイル管理システムの全体構成を示す。同図に示すように、本発明に係るファイル管理システムは、ネットワーク１０を介して接続された複数のデバイス２０1、２０2、２０3、…、２０nを含む。
ネットワーク１０は、モデムとＰＳＴＮ、専用線、ＩＳＤＮ等を用いた有線インターネットとセルラー、ＰＣＳ、マイクロ波や衛星通信網等を介した無線インターネット、ＬＡＮ、イントラネット、エクストラネット等のネットワーキングが可能なすべての環境を含む。
【００１９】
デバイス２０1、２０2、２０3、…、２０nは、ＰＣ、ワークステーション、ミニコンピュータ、メインフレームコンピュータ、ノートブックコンピュータ、一般の携帯用通信端末、ＰＤＡ、セットトップボックス、デジタルテレビ、ウェブフォン等のデータ通信が可能なデバイスであればいずれも使用可能である。
デバイス２０1、２０2、２０3、…、２０nは、ネットワーク１０に接続された他のデバイスからファイルを伝送されたり、他のデバイスにファイルを伝送したりすることができ、このために、各デバイスの位置、ファイル情報等を管理するファイル管理システム３０が存在する。
【００２０】
ファイル管理システムは、一つのデバイスが複数のデバイスからファイルを分割して伝送されることができるようにするために、複数のデバイスが共通して有するファイルには固有のファイルＩＤを与え、各デバイス間において伝送可能なファイルのリストを管理する等の機能を果たすものであり、図１に示す複数のデバイスのいずれか一つがファイル管理システムになることもでき、複数のデバイスが互いに協力してファイル管理システムを構成することもできる。
【００２１】
ファイル管理システムの各種の類型を図２〜図４に示す。
図２は、中央管理型ファイル管理システム３０を示す図であって、ファイル管理システムをサーバーのような大型デバイスに具現している。この場合、ファイル管理サーバーがファイルの伝送に必要なすべての情報を管理し、デバイス間のファイルの伝送を総括して制御する。
【００２２】
図３は、分散型ファイル管理システム３０を示す図であって、ファイル管理システムを複数のデバイスに分散している。この場合、ファイルの共同伝送に必要な情報は、各デバイスに分散して格納されており、ファイルの伝送の制御は、複数のデバイスが協力して行なう。
【００２３】
図４は、ハイブリッドファイル管理システム３０を示す図であって、図２と図３のシステムを結合したものである。この場合、ファイルの伝送に必要な情報管理及びファイル伝送の制御は、主にファイル管理システム３０で行われるが、他のデバイスでも若干ではあるが分担して行われる。
図２〜図４は、ファイル管理システムの例示に過ぎず、その他にも様々なトポロジーで具現可能である。
【００２４】
図５は、本発明によりファイルの伝送が行われる過程を説明するためのフローチャートである。
まず、ファイルの伝送を希望するユーザーデバイス２０は、伝送を希望するファイルのリストをファイル管理システム３０から受信し（Ｓ５０１）、このうちの伝送を希望するファイルを指定してファイル管理システム３０に知らせる（Ｓ５０２）。
ファイル管理システム３０は、前記ユーザーデバイス２０が指定したファイルを格納しているデバイスを把握し、かかる各デバイスの位置と伝送速度を計算し、伝送速度が速い順にデバイスを並ベてリスト化し、これをユーザーデバイス２０に伝送する（Ｓ５０３）。
【００２５】
かかるデバイスのリスト（以下、“候補サーバーリスト”と称し、“サーバー”は、サーバーの役割を果たすデバイスを意味する。）の例を図６に示す。
同図に示すように、候補サーバーリストは、各サーバー別に、サーバーＩＤ６０１、サーバーの位置６０２、及び、サーバーの伝送速度６０３を含み、サーバーの伝送速度が速い順に並ベられている。
サーバーの伝送速度６０３は、帯域幅と現在行なっている作業の数等を考慮して計算される。
【００２６】
ユーザーデバイス２０は、前記候補サーバーリストを受信し、このうちからファイルを伝送させるのに適しているサーバーを決める（Ｓ５０４）。即ち、ユーザーデバイス２０は、自己の帯域幅を最大限に活用することができるように、最も伝送速度が速いデバイスから順にｎ個のサーバー４０を指定する。これを数式で表すと、次のとおりである。
【００２７】
【数１】
2004531824.tif 000048
前記式中、ＢＷはユーザー帯域幅を、ｖiはｉ番目のデバイスの伝送速度をそれぞれ表す。
【００２８】
前記数式から分かるように、ユーザーデバイス２０が、帯域幅を最大限に活用するためには、サーバー４０の伝送速度の和の値が、帯域幅に近い値になる必要があり、帯域幅より大きいか、または、同一であることが好ましい。例えば、モデムユーザーのように遅い伝送速度の環境では、最も伝送速度が速いサーバー４０を一つ程度指定すれば足りる。
【００２９】
ユーザーデバイス２０が、伝送速度が速いｎ個のサーバー４０を決めた後は、前記決められた複数のサーバー４０のそれぞれから、ファイルのどのフラグメントをどのくらいの大きさで伝送させるかを決める（Ｓ５０４）。この場合、伝送速度が速いサーバー４０からは多くのフラグメントが伝送され、伝送速度が比較的遅いサーバー４０からは少量のフラグメントを伝送させることが好ましい。これを数式で表すと、次のとおりである。
【００３０】
【数２】
2004531824.tif 000049
前記式中、ｆiはｉ番目のデバイスが割り当てられたファイルフラグメントの大きさを、Ｆは伝送されるファイルの大きさをそれぞれ表す。
【００３１】
ステップＳ５０４で決められた伝送サーバー４０のリストと各サーバー４０が伝送すべきファイルのフラグメントに関する情報は、ログファイルに記録される。このログファイルは、後でユーザーデバイス２０が複数のサーバー４０からファイルフラグメントを伝送され、一つのファイルに併合するときに必要となる。
【００３２】
次いで、ユーザーデバイス２０は、決められた伝送サーバー４０あてに、伝送を希望するファイルのフラグメントに関する情報を知らせるとともに、ファイルの伝送を要請する（Ｓ５０５）。
ユーザーデバイス２０は、ファイルフラグメントが伝送され、伝送された情報をログファイルに記録する。
【００３３】
この過程でファイル伝送に障害のあるサーバー４０は、他のサーバー４０に代替してファイルを再送させるが、ファイルの伝送については後述する。
また、複数のサーバーから伝送されるファイルのフラグメントは、いずれも同一ファイルのフラグメントである必要があるが、かかるファイルの同一性を保証するための方法については後述する。
【００３４】
複数のサーバー４０からのファイルのフラグメントの伝送がすべて完了すると、ユーザーデバイス２０は、ログファイルに基づいて、ファイルのフラグメントを一つのファイルに併合し（Ｓ５０７）、ファイル管理システム３０にファイルの伝送完了を知らせる（Ｓ５０８）。
【００３５】
図７は、ログファイルの例を示している。
同図のログファイルは、全体が１０００００００バイトのファイルのうちの１０００００１バイトから５０００００００バイトまでを３番目のサーバー４０から伝送させようとしたが、ファイル伝送途中で障害が生じて、２０００５７８バイトまで伝送され、残りを他のサーバー４０から“フラグメント６”として伝送させる状況を示している。
ユーザーデバイス２０は、図７に示すようなログファイルの伝送情報に基づいて、ファイルのフラグメントを併合して一つのファイルにする。
【００３６】
ファイルの伝送が完了した後、ユーザーデバイス２０には、伝送されたファイルが固有のファイルＩＤが付されて格納され、ファイル管理システム３０は、前記ユーザーデバイス２０が前記ファイルＩＤを有するファイルを格納していることを記憶する。
前記伝送されたファイルがユーザーのファイル修正、位置変更、損傷等によりファイルの同一性が保証できない場合には、ファイル共有環境から削除または排除することができる。
【００３７】
以下、本発明によるファイルフラグメントの伝送ステップ（図５のＳ５０６）について詳しく説明する。
ユーザーデバイス２０は、各サーバーから一定の大きさのパケットを伝送される度に伝送速度を評価し、これを伝送管理に用いる。サーバーの伝送速度は、常に一定ではなく、伝送途中でも変化し続けるため、ファイルフラグメントの伝送途中で急激に伝送速度が低下したり、伝送が不安定なサーバーがある場合、当該サーバーを他のサーバーに代替させる必要があるためである。
【００３８】
伝送サーバーを代替させるためには、図６に示すような候補サーバーリストを用いる。この候補サーバーリストから伝送速度が比較的速い他のサーバーを決めた後、前記障害のあるサーバーに割り当てられた伝送量のうちの未伝送の部分を伝送させる。障害のあるサーバーを代替するサーバーは複数でもよい。
候補サーバーリストにおいて、代替することができるようなサーバーが存在しない場合は、ユーザーデバイス２０は、ファイル管理システムに要請して、更新された候補サーバーリストを受信し、このうちから代替サーバーを選ぶ。
【００３９】
次いで、サーバーから伝送されるファイルのフラグメントが、いずれも同一ファイルのフラグメントであることを保証する方法について説明する。
前述したように、一つのファイルを複数のデバイスが分割して伝送するためには、複数のデバイスが、いずれも同一ファイルのフラグメントを伝送することを保証しなければならない。
複数のデバイスが、互いに同一でないファイルのフラグメントを伝送し、ユーザーデバイスがこれらのフラグメントを併合して一つのファイルにする場合、伝送されたファイルは、所望するファイルでない損傷されたファイルになってしまう。
【００４０】
かかるファイルの同一性を保証するために、本発明では、ファイルが伝送される際、メタファイルに原本ファイルの情報を記録しておき、他のユーザーにファイルのフラグメントを伝送するときに、伝送すべきファイルをメタファイルに格納している情報と比較する方法を用いる。
比較の結果、同一ファイルである場合は、伝送を行う。同一のファイルでない場合は、ファイル管理システムから新たなＩＤを与えられて新たなファイルとして管理する。ファイルが同一であるか否かは、具体的に次のような方法で判断することができる。
【００４１】
最初に、ファイルの大きさの情報を用いて、ファイルの大きさが同一である場合、同一ファイルであると判断する。
第二に、ファイルをｍ個のフラグメントに分割した後、各フラグメントの一定の部分に関する情報をメタファイルに記録しておく。
前記ファイルを他のデバイスに伝送する際、伝送すべきフラグメントの一定の部分を、メタファイルに記録している情報と比較して、同一である場合は、同一ファイルであると判断する。このとき、前記一定の部分の位置と大きさは、ファイル管理システムの必要に応じて調整することができる。
第三に、ファイルをｍ個のフラグメントに分割した後、各フラグメントのすべての内容をコード化してメタファイルに記録し、前記ファイルを他のデバイスに後で伝送する際、伝送すべきフラグメントをコード化した後に、メタファイルに記録されているコードと比較する。コードが相違する場合、同一ファイルでないと判断して、そのフラグメントの伝送を止め、全体のシステムにおいて新たなファイルとして管理する。
【００４２】
仮に、メタファイルにフラグメントのすべての内容を記録した後に比較するとした場合ファイルの同一性を１００％確実に保証することができるが、このような場合、メタファイルの大きさが、原本ファイルの大きさと同一となり、資源の浪費にもつながる。
したがって、伝送されたフラグメントの内容を適宜の大きさでコード化した後、メタファイルに記録する方法を使用するのである。
【００４３】
ファイルのフラグメントをコード化する方法を数式で表すと、次のとおりである。
【数３】
2004531824.tif 000050
前記式中、ｆはコード化関数を、ｘiはｉ番目のフラグメントの内容をそれぞれ表す。
コード化関数とコードの大きさは、ファイル管理システムが自己の目的に合わせて適宜選択するが、最も簡単なコード化関数として、内容の和を求める関数が例に挙げられる。同一性の保証に、より比重をおく場合は、内容の損失が全くない圧縮方法をコード化関数として用いることもできる。
【００４４】
図８は、図５に示す過程によりユーザーデバイスが複数のサーバーからファイルのフラグメントを伝送され、一つのファイルに併合する形態を示す図である。
同図において、五つのサーバー８１〜８５が、ユーザーデバイス２０にそれぞれファイルのフラグメントを伝送するが、伝送速度が最も速いサーバーが多量のフラグメントを伝送する。同図では、最も多量のフラグメントを伝送するサーバー８３が、最も伝送速度が速く、最も少量のフラグメントを伝送するサーバー８１が、最も伝送速度が遅い。
【００４５】
このように、五つのサーバー８１〜８５が、協力して一つのファイルを伝送することにより、ユーザーデバイス２０は、自己が活用することができる最大限の帯域幅を使用することができ、これにより、ファイル伝送速度が顕著に向上する。
【００４６】
ここまでは、一つの完全なファイルを複数のサーバーから分割して伝送させる方法を説明してきたが、ファイルが実際に複数個所に分割されて格納されている場合でも、同様に本発明を適用することができる。
したがって、本発明の共同ファイル伝送方法及びシステムは、大容量のファイルの分散格納方法としても使用できる。以下、これについて説明する。
【００４７】
ファイルの大きさが大きい場合、デバイスによってはファイルの全体が格納できない場合も発生しかねない。この場合、ファイルの全体が格納できないデバイス（デバイスＡとする。）は、大容量のファイルを分割して一定のフラグメントだけを格納し、残りのフラグメントは、他のデバイスに格納させるようにする。
【００４８】
そして、デバイスＡが、前記大容量のファイルの内容を見たい場合は、本発明に係るファイル管理システムを用いて、ファイルの他のフラグメントを伝送させることにより、まるで自己が全体のファイルを管理しているかのようにして、ファイルの内容を見ることができる。このとき、複数のデバイスに分散されて格納されているファイルの複数のフラグメントは、ファイル管理システムにより、それぞれ一般のファイルとして取り扱われ、ファイルの伝送過程も、図５に基づいて前述した伝送過程と同様である。
【００４９】
例えば、デバイスＡが、ある大容量のファイルをすべて格納することができず、このファイルを取り扱いやすい大きさの１０個のフラグメントに分割して、自己を含む複数のデバイスに分散して格納されている場合、デバイスＡは、本発明に係るファイル管理システムを用いて、自己が格納していないファイルの残りのフラグメントを、他の複数のデバイスから伝送させることにより全体のファイルを見ることができる。ファイル管理システムは、１０個のフラグメントを１０個の一般のファイルのように認識して、図５に示す過程に基づいて、デバイスＡに伝送する。
【００５０】
このとき、ファイル共有システムは、かかる１０個の独立したファイルを、相互につながっているファイルのフラグメントとして管理する必要がある。
また、全体のファイルを用いるデバイスＡは、ファイルフラグメントの一部分を格納するが、他のデバイスが多く有していないフラグメントを格納していることが効率的である。このためには、デバイスＡが、１０個のファイルのそれぞれに対して、図６に示すような候補サーバーリストをファイル管理システムに要請し、各ファイルのフラグメントを保有しているサーバーの個数を把握した後、保有サーバーの個数が最も少ないファイルフラグメントを格納する。
【００５１】
以上においては、同一ファイルが複数のサーバーに分散されて存在することを前提として、複数のサーバーからファイルのフラグメントが伝送され、これを一つのファイルに併合する方法（多：１伝送方式）を説明してきた。
しかしながら、ファイルが最初に作成されたときは、一つのデバイスだけに、それが存在するはずである。したがって、以下においては、ファイルを一つのデバイスから複数のデバイスに伝送する場合（１：多伝送方式）において、伝送速度を向上させるための二つの方法について説明する。
【００５２】
第１の方法は、図２に示すような中央集中型ファイル管理システムが複数のデバイスの速度を管理する場合であって、最も伝送速度が速いデバイスからファイルが伝送されるようにするものである。
即ち、ファイル管理システムは、ファイルの伝送を希望する複数のデバイスの伝送速度を求めて、その速度順に並ベてリスト化し、このリストを、ファイルを格納しているデバイス（サーバー）とファイルの伝送を希望する複数のデバイスに伝送する。
【００５３】
このリストを参照して、サーバーは、最も伝送速度が速いデバイスにファイルを伝送し、このデバイスは、二番目に伝送速度が速いデバイスにそのファイルを転送し、この二番目のデバイスは、三番目に伝送速度が速いデバイスにそのファイルを転送する方式で、ファイルを伝送する。
最も伝送速度が速いデバイスへのファイルの伝送が完了すると、このデバイスは、伝送完了のメッセージをサーバーに通知し、このデバイスが、他のサーバーとしての役割を果たすようにし、本来サーバーであったデバイスは、二番目に伝送速度が速いデバイスにもファイルを伝送することができるようにする。
【００５４】
図９を参照して、例を挙げて説明すると、次のとおりである。
現在０番目のデバイスのみが、特定のファイルを有し、速度順に並ベられた１番から１００番までのデバイスが、０番デバイスから当該ファイルを伝送される場合、０番デバイスは、１番デバイスにファイルを伝送し、１番デバイスは、２番デバイスにファイルを転送する方式で、１００番デバイスまでファイルの伝送を行なう。
１番デバイスへの伝送が完了すると、１番デバイスを、サーバーの役割を果たすようにし、本来サーバーであった０番デバイスを、２番デバイスにもファイルを伝送することができるようにする。
このような方式で、継続してサーバーが増大することにより、伝送状況は次第に、多：１伝送方式になり、この結果、ファイルの伝送速度も向上する。
【００５５】
第二の方法は、ファイル管理システムが、デバイスの伝送速度の管理が不要な方法であって、サーバーの役割を果たすデバイス（０番デバイスとする。）が自己に対して伝送を求めるデバイスが、自己の伝送可能な一定の容量を超えると、最も伝送速度が速いデバイス（１番デバイスとする。）だけに集中的に伝送を行い、残りのデバイスには伝送を行わないとともに、残りのデバイスに対して、他のサーバーを確保するように誘導する。
一方、０番デバイスは、ファイル管理システムに、新たなサーバーの役割を果たすデバイスとして、現在伝送している１番デバイスを知らせる。
ファイル管理システムは、他のデバイスがサーバーの役割を果たすデバイスのリストを求めるとき、１番デバイスをリストに載せて送信し、他のデバイスは、このリストを見て、１番デバイスからのファイルの伝送を試みるようになる。
【００５６】
したがって、１番デバイスは、自己が現在までに伝送されたデータの範囲内で、他のデバイスにそれを転送すると同時に、０番デバイスから継続して伝送を受ける。
仮に、１番デバイスに対して伝送を求めるデバイスが多すぎると、１番デバイスは、ファイル管理システムに、現在自己が伝送しているデバイス（２番デバイスとする。）を、新たなサーバーの役割を果たすデバイスとして知らせる。
このような方式で、１：多伝送方式は次第に、多：１伝送方式に切替わり、この結果、伝送速度が向上する。
【００５７】
上記においては、ファイルをダウンロードする場合を参照して本発明を説明したが、本発明は、ストリーミング伝送にも適用することができる。
ストリーミングは、大容量のビデオデータまたはオーディオデータ（動画像データ）全体をダウンロードせずに、そのデータを複数のファイルに分割して、そのファイルをリアルタイムで伝送する技術である。即ち、ストリーミングは、ビデオまたはオーディオコンテンツを見るために、大容量のファイルをダウンロードする必要がなく、データを受信する間にビデオまたはオーディオコンテンツを再生する技術である。
【００５８】
本発明をストリーミングに適用した場合のシステムの構成は、図１に示したものと同様である。即ち、本システムは、ネットワークを介して接続された複数のデバイスを備えており、上記複数のデバイスのそれぞれは、ストリーミング再生するためのユーザーデバイスまたはストリーミングサービスを提供するためのサービスサーバーである。
しかしながら、ストリーミング再生するためのデバイスは、ストリーミング方法によって、サービスサーバーから伝送されたマルチメディアストリーミングコンテンツを再生するために、リアルネットワーク社のリアルプレイヤーまたはマイクロソフト社のウィンドウメディアプレーヤーのようなストリーミング適用ソフトウェアを備える必要がある。
さらに、ストリーミングサービスを提供しようとするプロバイダは、ストリーミングサービスファイルをサービスサーバーに登録しなければならず、サービスサーバーがファイルＩＤを割り当てて、そのファイルのそれぞれのフラグメントを識別するためのメタデータを発生させて、これらの情報をファイル管理システムに知らせる。
上述のように、ファイル管理システムは、図１に示したような複数のデバイスのいずれか一つまたは協力関係にある複数のデバイスにより構成することができる。
【００５９】
図１０は、本発明がストリーミング伝送に適用された場合を示すフローチャートである。
ストリーミングによりファイルを再生しようとするユーザーデバイスは、ファイル管理システムからストリーミング再生することができるファイルリストを受信し、ステップＳ１０１で、ファイルリストの中で所望するファイルを指定し、ステップ１０２で、その指定されたファイルを、ファイル管理システムに知らせる。
ファイル管理システムは、ユーザーデバイスにより指定されたファイルを格納するデバイスを検査し、各デバイスの位置及び伝送速度を計算し、それを伝送速度の順に割り当ててユーザーデバイスに伝送する。また、ステップＳ１０３では、メタデータも伝送される。メタデータの機能は後述する。
【００６０】
ユーザーデバイスは、候補サーバーリストを受信し、ステップＳ１０４で、リストからファイル伝送に適合したサーバーを決定し、ステップＳ１０５で、サーバーにファイル伝送を要請することにより、ストリーミングサービスの共同供給を要求する。要請されたサーバーは、ステップＳ１０６で、メタデータと照合して、ファイルの識別情報とファイルの同一性を保証するファイルをユーザーデバイスに伝送する。
ユーザーデバイスは、伝送されたファイルのすべてのフラグメントが同一のファイルに属するかどうかを検査し、ステップＳ１０７で、伝送されたファイルを混合形態で臨時に格納する。ユーザーデバイスは、ステップＳ１０８で、メタデータを利用して、混合形態で格納されたファイルフラグメントを時間順に再生する。
【００６１】
メタデータは、適切な順序でファイルを再生するために、接続されたｎ番目のフラグメントの位置情報の順序記録を有しており、これにより、時間順にファイルを再生することができる。
このようなメタデータは、ユーザーがファイル管理システムから認証を受けられるときにのみ得ることができる。認証を受けていないユーザーはメタデータを得ることができず、ストリーミング再生を適切に行うことはできない。
したがって、不法なストリーミング再生を防止することができる。
【００６２】
上記態様においては、通常のストリーミングと異なり、ファイルを臨時に格納した後に再生することを特徴としている。ファイルが一旦このような方式で格納されれば、逆再生のような多様な再生機能を自由に使用することができる。
さらに、ファイルが伝送及び格納された後に再生されるため、乏しいネットワーク環境であっても、高品質のストリーミングサービスを提供することができる。
【００６３】
以上、本発明を好適な実施例を例示して説明してきたが、本発明の範囲は、特定の実施例に限定されるものではなく、添付された特許請求の範囲により解釈されるべきである。
【産業上の利用可能性】
【００６４】
本発明に係るファイル管理システム及び方法は、ユーザーらが一つのサーバーのみからファイルの全体を伝送されるのではなく、複数のサーバーからファイルを分割して伝送され得るようにすることで、ファイルの伝送速度を顕著に向上させる。
また、伝送途中で複数のサーバーのいずれか一つに障害が生じた場合、他のサーバーに代替して伝送を行わせることにより、ユーザーが、サーバーの障害に関係なく、安定してファイルを伝送され得るようにする。
さらに、ファイルが一つのデバイスだけに存在し、一つのデバイスから複数のデバイスにそれを伝送する必要がある場合でも、ファイルの伝送速度を向上させることができる。
本発明に係るファイル管理システム及び方法は、従来では伝送できなかった大容量のファイルの伝送に適用できるのみならず、ストリーミングサービスにも適用することができる。
【図面の簡単な説明】
【００６５】
【図１】本発明に係るファイル管理システムの全体構成図である。
【図２】本発明に係るファイル管理システムの構成図である。
【図３】本発明に係るファイル管理システムの構成図である。
【図４】本発明に係るファイル管理システムの構成図である。
【図５】本発明に係るファイル伝送過程を全体として示すフローチャートである。
【図６】ファイルが伝送可能な複数のサーバーの情報を格納した候補サーバーリストのデータ構造である。
【図７】ファイル伝送情報を記録するログファイルの例示図である。
【図８】本発明によりファイルを伝送する状態を示す図である。
【図９】本発明により一つのデバイスから複数のデバイスにファイルを伝送する状態を示す図である。
【図１０】本発明がストリーミング伝送に適用された場合を示すフローチャートである。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2004531824.tif 000051
【図２】
2004531824.tif 000052
【図３】
2004531824.tif 000053
【図４】
2004531824.tif 000054
【図５】
2004531824.tif 000055
【図６】
2004531824.tif 000056
【図７】
2004531824.tif 000057
【図８】
2004531824.tif 000058
【図９】
2004531824.tif 000059
【図１０】
2004531824.tif 000060
【国際調査報告】
2004531824.tif 000061