JP2006048575A - クライアントシステム、データ配信サーバ、データ転送システム、プログラム及び記録媒体 - Google Patents
クライアントシステム、データ配信サーバ、データ転送システム、プログラム及び記録媒体 Download PDFInfo
- Publication number
- JP2006048575A JP2006048575A JP2004231957A JP2004231957A JP2006048575A JP 2006048575 A JP2006048575 A JP 2006048575A JP 2004231957 A JP2004231957 A JP 2004231957A JP 2004231957 A JP2004231957 A JP 2004231957A JP 2006048575 A JP2006048575 A JP 2006048575A
- Authority
- JP
- Japan
- Prior art keywords
- data
- computer
- server
- client system
- downloaded
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
【課題】ネットワーク品質の影響を受けずにクライアントシステムに合理的に同報通信を行うことができるようする。
【解決手段】クライアントシステムに含まれる各端末21は、動画配信サーバ11からデータをダウンロードしようとする場合に、動画配信サーバ11に対してデータのダウンロード要求を送信する前に、クライアントシステムに含まれる他の端末21に対して、ダウンロードしようとするデータを保持しているかどうかの問い合わせ情報を送信する。この問い合わせに応じて端末21から該当データを保持していることを示す応答が返信された場合、その端末からデータのダウンロードを行う。また他の端末21いずれからも応答が返信されなかった場合、該当データを動画配信サーバ11からダウンロードする。
【選択図】図1
【解決手段】クライアントシステムに含まれる各端末21は、動画配信サーバ11からデータをダウンロードしようとする場合に、動画配信サーバ11に対してデータのダウンロード要求を送信する前に、クライアントシステムに含まれる他の端末21に対して、ダウンロードしようとするデータを保持しているかどうかの問い合わせ情報を送信する。この問い合わせに応じて端末21から該当データを保持していることを示す応答が返信された場合、その端末からデータのダウンロードを行う。また他の端末21いずれからも応答が返信されなかった場合、該当データを動画配信サーバ11からダウンロードする。
【選択図】図1
Description
本発明は、サーバからクライアントに対してデータ転送を行うための技術に関し、例えば、低速回線で接続された場所に対して大容量データを同報送信するのに好適な技術に関する。
例えば、地理的に分散して配置されている多数の小規模オフィスを持つ大企業等があるが、このような場合に、情報の伝達、共有などの要望を実現するために、大企業の大規模オフィスと小規模オフィスとの間にネットワークが敷設されている。
図25は、上記のような企業等の大規模オフィスと小規模オフィスとを接続するネットワークについて説明するための図で、図中、10は大規模オフィス、11は動画配信サーバ、12はルータ、13は大規模オフィス内部のネットワーク、20は小規模オフィス、21は端末、22はルータ、23は小規模オフィス内部のネットワーク、30は大規模オフィス10と小規模オフィス20と接続するネットワークで、ネットワーク30は、その通信品質を模式的に示している。
大規模オフィス10と小規模オフィス20と接続するネットワーク30を、全て高品質ネットワークで接続しようとすると、どうしてもネットワーク30の価格が高価となってしまう。小規模オフィス20は地理的に分散して多数あることも多く、小規模オフィス20には少人数の社員しかいないこともある。このため、高価なネットワークを多数の小規模オフィス20に敷設すると、費用対効果の面で不合理となる。このため、大規模オフィス10と小規模オフィス20とを接続するネットワーク30は、低価格な、すなわち低品質なものに終始している場合が少なくない。
上記のような場合に、低品質のネットワークは、帯域が細かったり、帯域が太くてもそれが補償されていなかったり、またRTTなどの値が悪いためにエラーチェックつき通信を行おうとすると帯域を活用できないというような問題が発生する。
また従来から、社内に情報を周知するツールとして、テキストベースのメールや掲示板システムなどがある。しかしながら、今後コンピュータの処理能力やコンテンツ作成環境が整備されて、高品質な動画像なども社内の情報周知に活用されることが考えられる。このような高品質なデータは大容量となることが多く、それを小規模オフィス20で複数のコンピュータ(端末21)が受信しようとすると、中間の低品質ネットワーク31がボトルネックとなり、充分な転送速度が実現できなかったり、他の重要な通信に影響を与えたりする。
図26は、大規模オフィスと小規模オフィスとのデータ転送を円滑に行うための従来の手法について説明するための図である。
上記のような問題を解決する従来の技術として、小規模オフィス20側に代理サーバ(レプリケーション動画配信サーバ)24を設置し、ネットワーク消費の少ない例えば夜間のうちに、大規模オフィス10から小規模オフィス20にデータを転送しておき、その代理サーバ24からユーザが使用する端末21にデータを供給するという構成がとられる。
上記のような問題を解決する従来の技術として、小規模オフィス20側に代理サーバ(レプリケーション動画配信サーバ)24を設置し、ネットワーク消費の少ない例えば夜間のうちに、大規模オフィス10から小規模オフィス20にデータを転送しておき、その代理サーバ24からユーザが使用する端末21にデータを供給するという構成がとられる。
また、例えば、特許文献1には、サーバ等を用いたネットワークにおいて、サーバを経由するトラフィックを軽減して各情報処理装置の利用者間における円滑かつ多様なコミュニケーションを実現する情報処理技術が開示されている。ここでは、グローバルIPアドレスを有するクライアント間同士の接続をピアツーピア接続とし、その他のクライアント間の接続をサーバを経由したクライアント・サーバ型接続とする。ピアツーピア接続は、サーバから取得した互いのグローバルアドレスに基づいて確立され、クライアント・サーバ型接続からピアツーピア接続への一部遷移によって、サーバに対するトラフィックの一極集中を避けるようにしている。
特開2003−203023号公報
上記のように、小規模オフィス20側に代理サーバ24を設置し、ネットワーク消費の少ない例えば夜間のうちにデータを転送するような構成は、小規模オフィス20に代理サーバ24を設置する必要がある。小規模オフィス20は通常人員も少なく、従って代理サーバ24を管理する人員を割けないことも少なくない。また、小規模オフィス20は数が多く、投資額も高価になるという問題も生じる。
また、上記特許文献1の技術は、端末とサーバが通信を行い、ピアツーピア通信が可能なIPアドレスをもつ端末の情報を取得して、その端末に対してサーバを介したクライアント・サーバ型通信から、ピアツーピア通信に遷移させる。
すなわち、特許文献1の技術は、端末同士が通信する場合に、サーバ・クライアント通信からピアツーピア通信に遷移させることにより、サーバ・クライアント通信によるサーバへのトラフィックの集中を避けるようにしたものにすぎず、サーバから端末(クライアント)へのデータ配信を行う際の通信障害を解消する目的でなされたものではない。
この場合に、サーバから端末へのデータ配信量を抑えるために、端末がデータの取得先を検索することもなく、すでにデータ配信がなされている端末にピアツーピア接続することも生じる。
すなわち、特許文献1の技術は、端末同士が通信する場合に、サーバ・クライアント通信からピアツーピア通信に遷移させることにより、サーバ・クライアント通信によるサーバへのトラフィックの集中を避けるようにしたものにすぎず、サーバから端末(クライアント)へのデータ配信を行う際の通信障害を解消する目的でなされたものではない。
この場合に、サーバから端末へのデータ配信量を抑えるために、端末がデータの取得先を検索することもなく、すでにデータ配信がなされている端末にピアツーピア接続することも生じる。
本発明は、上述のごとき実情に鑑みてなされたもので、データのダウンロードを常にサーバから行うことなく、クライアントシステム内の他端末から適宜取得できるようにすることにより、ネットワーク品質の影響を受けずにクライアントシステムに合理的に同報通信を行うことができるようした、クライアントシステム、データ配信サーバ、データ転送システム、プログラム及び記録媒体を提供することを目的とするものである。
請求項1の発明は、サーバとの間でネットワークを介して接続され、該サーバからのデータのダウンロードを可能とする複数のコンピュータよりなり、該複数のコンピュータが相互に接続されてなるクライアントシステムにおいて、該クライアントシステムに含まれる各コンピュータは、前記サーバからデータをダウンロードしようとする場合に、前記サーバに対してデータのダウンロード要求を送信する前に該クライアントシステムに含まれる他のコンピュータに対して、前記ダウンロードしようとするデータを保持しているかどうかの問い合わせ情報を送信する問い合わせ送信手段と、前記問い合わせ情報に応じて前記他のコンピュータのいずれかが前記ダウンロードしようとするデータを保持していることを示す応答を返信した場合、該応答を返信したコンピュータからデータのダウンロードを行う手段と、前記他のコンピュータのいずれからも前記ダウンロードしようとするデータを保持していることを示す応答が返信されなかった場合、前記サーバから前記データをダウンロードする手段とを有することを特徴とする。
請求項2の発明は、請求項1に記載のクライアントシステムにおいて、該クライアントシステムに含まれる各コンピュータは、前記問い合わせ送信手段による問い合わせ情報の送信を行う前に、前記サーバに対して前記ダウンロードしようとするデータ容量を問い合わせるデータ容量問い合わせ手段と、該データ容量の問い合わせに応じて前記サーバから返信されたデータ容量の情報と、前記問い合わせを行ったコンピュータ自身が有するデータバッファの使用可能容量とを比較し、該データバッファの使用可能容量が前記サーバから返信されたデータ容量より小さいときは、前記データバッファの保存データを削除して使用可能容量を確保するデータバッファ確保手段を有し、前記データバッファ確保手段によりデータバッファ容量を確保した上で、前記他のコンピュータまたは前記サーバからデータのダウンロードを行うことを特徴とする。
請求項3の発明は、請求項1または2に記載のクライアントシステムにおいて、前記データバッファ確保手段は、前記データバッファの使用可能容量が前記サーバから返信されたデータ容量より小さいときは、LRUによって未使用の時間が最も長いデータから削除していくことを特徴とする。
請求項4の発明は、請求項1ないし4のいずれか1に記載のクライアントシステムにおいて、前記クライアントシステムに含まれる各コンピュータは、他のコンピュータに対して、該他のコンピュータが保持しているデータについて問い合わせる手段を有し、前記データバッファ確保手段は、前記データバッファの使用可能容量が前記サーバから返信されたデータ容量より小さいときは、前記保持しているデータの問い合わせに対する他のコンピュータからの回答に基づいて、保持しているコンピュータ数が多いデータから優先して削除することを特徴とする。
請求項5の発明は、請求項1ないし4のいずれか1に記載のクライアントシステムにおいて、前記問い合わせ情報送信手段は、マルチキャスト通信により、複数の他のコンピュータに対して問い合わせ情報を送信することを特徴とする。
請求項6の発明は、請求項1ないし5のいずれか1に記載のクライアントシステムにおいて、該クライアントシステムに含まれる各コンピュータは、前記問い合わせに対する応答を返信したコンピュータからデータのダウンロードを行う際、前記応答を返信したコンピュータからダウンロードしたデータのメッセージダイジェスト値を算出する手段と、前記サーバに対して、該サーバが配布している前記ダウンロードデータに該当するメッセージダイジェスト値を取得する手段と、前記ダウンロードしたデータから算出したメッセージダイジェスト値と前記サーバから取得したメッセージダイジェスト値を比較する手段と、該メッセージダイジェスト値を比較した結果、該比較したメッセージダイジェスト値が互いに一致していなければ、ダウンロードしたデータを無効にする手段とを有することを特徴とする。
請求項7の発明は、サーバとの間でネットワークを介して接続され、該サーバからのデータのダウンロードを可能とする複数のコンピュータよりなり、該複数のコンピュータが相互に接続されてなるクライアントシステムにおいて、該クライアントシステムに含まれる各コンピュータは、前記サーバから前記クライアントシステムのコンピュータに対するプッシュ転送によりデータをダウンロードする手段と、該プッシュ転送によりダウンロードしたデータを、前記クライアントシステムに含まれる他のコンピュータにプッシュ転送する手段とを有することを特徴とする。
請求項8の発明は、請求項7に記載のクライアントシステムにおいて、該クライアントシステムに含まれる各コンピュータは、他のコンピュータから前記プッシュ転送されたデータをダウンロードする手段と、該他のコンピュータからプッシュ転送によりダウンロードしたデータを、前記クライアントシステムに含まれる更に他のコンピュータにプッシュ転送する手段とを有することを特徴とする。
請求項9の発明は、請求項7または8に記載のクライアントシステムにおいて、前記サーバからダウンロードしたデータ、または前記他のコンピュータからダウンロードしたデータを前記プッシュ転送する手段は、マルチキャスト通信により、複数の他のコンピュータに対してプッシュ転送を行うことを通知することを特徴とする。
請求項10の発明は、請求項7ないし9のいずれか1に記載のクライアントシステムにおいて、前記クライアントシステムに含まれる各コンピュータは、前記サーバからのプッシュ転送によるダウンロードを行うに際し、または前記他のコンピュータからのプッシュ転送によるダウンロードを行うに際し、前記サーバに対して前記ダウンロードしようとするデータ容量を問い合わせるデータ容量問い合わせ手段と、該データ容量の問い合わせに応じて前記サーバから返信されたデータ容量の情報と、前記問い合わせを行ったコンピュータ自身が有するデータバッファの使用可能容量とを比較し、該データバッファの使用可能容量が前記サーバから返信されたデータ容量より小さいときは、前記データバッファの保存データを削除して使用可能容量を確保するデータバッファ確保手段を有し、該データバッファ確保手段によりデータバッファ容量を確保した上で、前記サーバまたは前記他のコンピュータからデータのダウンロードを行うことを特徴とする。
請求項11の発明は、請求項10に記載のクライアントシステムにおいて、前記データバッファ確保手段は、前記データバッファの使用可能容量が前記サーバから返信されたデータ容量より小さいときは、LRUによって未使用の時間が最も長いデータから削除していくことを特徴とする。
請求項12の発明は、請求項10に記載のクライアントシステムにおいて、前記クライアントシステムに含まれる各コンピュータは、他のコンピュータに対して、該他のコンピュータが保持しているデータについて問い合わせる手段を有し、前記データバッファ確保手段は、前記データバッファの使用可能容量が前記サーバから返信されたデータ容量より小さいときは、前記保持しているデータの問い合わせに対する他のコンピュータからの回答に基づいて、保持しているコンピュータ数が多いデータから優先して削除することを特徴とする。
請求項13の発明は、請求項7ないし12のいずれか1に記載のクライアントシステムにおいて、該クライアントシステムに含まれる各コンピュータは、前記プッシュ転送により他のコンピュータからデータのダウンロードを行う際、前記他のコンピュータからダウンロードしたデータのメッセージダイジェスト値を算出する手段と、前記サーバに対して、該サーバが配布している前記ダウンロードデータに該当するメッセージダイジェスト値を取得する手段と、前記他のコンピュータからダウンロードしたデータから算出したメッセージダイジェスト値と前記サーバから取得したメッセージダイジェスト値を比較する手段と、該メッセージダイジェスト値を比較した結果、該比較したメッセージダイジェスト値が互いに一致していなければ、ダウンロードしたデータを無効にする手段とを有することを特徴とする。
請求項14の発明は、請求項7ないし13のいずれか1に記載のクライアントシステムにおいて、該クライアントシステムが含まれる各コンピュータは、予め同一データを転送する転送回数を定めて保持する手段と、前記プッシュ転送より他のコンピュータにデータを転送してダウンロードさせる場合に、データの転送回数を計数し、該転送回数が前記予め定めた転送回数に達した場合に前記データ転送を停止する手段とを有することを特徴とする。
請求項15の発明は、請求項1ないし6のいずれか1に記載のクライアントシステムにおいて、該クライアントシステムに含まれる各コンピュータは、コンピュータ自身から前記サーバ装置までのルートのトレースを行ってその結果を保持するルートトレース手段と、前記問い合わせ送信手段による問い合わせ先を選択するため、問い合わせ先の候補となる他のコンピュータに対して、該他のコンピュータから前記サーバまでのルートのトレース結果を要求するルートトレース結果要求手段と、該ルートトレース要求手段の要求に応答して得られた前記他のコンピュータのルートトレース結果と前記コンピュータ自身のルートトレース結果とを比較して、コンピュータ自身のルートトレース結果に似ている他のコンピュータを検出するルートトレース比較検出手段とを有し、前記問い合わせ送信手段は、前記ルートトレース比較検出手段の検出結果に従って、コンピュータ自身のルートトレース結果に似ているルートトレース結果を有する他のコンピュータ順に、前記ダウンロードしようとするデータを保持しているかどうかの問い合わせ情報を送信することを特徴とする。
請求項16の発明は、請求項7ないし14のいずれか1に記載のクライアントシステムにおいて、該クライアントシステムに含まれる各コンピュータは、コンピュータ自身から前記サーバ装置までのルートのトレースを行ってその結果を保持するルートトレース手段と、前記プッシュ転送によるデータ転送先を選択するため、転送先の候補となる他のコンピュータに対して、該他のコンピュータから前記サーバまでのルートのトレース結果を要求するルートトレース結果要求手段と、該ルートトレース結果要求手段の要求に応答して得られた前記他のコンピュータのルートトレース結果と前記コンピュータ自身のルートとレース結果とを比較して、コンピュータ自身のルートトレース結果に似ている他のコンピュータを検出するルートトレース比較検出手段とを有し、前記プッシュ転送により他のコンピュータにデータを転送してダウンロードさせる場合、コンピュータ自身のルートトレース結果に似ているルートトレース結果を有する他のコンピュータ順に、前記プッシュ転送を実行することを特徴とする。
請求項17の発明は、請求項1ないし16のいずれか1に記載のクライアントシステムにおいて、前記クライアントシステムに含まれるコンピュータ同士の通信は、ピアツーピアにより行われることを特徴とする。
請求項18の発明は、クライアントに対してデータをダウンロードさせるようにしたデータ配信サーバであって、該データのメッセージダイジェスト値をクライアントから要求された場合、及び該データのダウンロードが要求された場合に、該クライアントが該データを取り扱ったものと認識して、該メッセージダイジェスト値の要求及びダウンロードの要求履歴を保持することを特徴とする。
請求項19の発明は、請求項1ないし17のいずれか1に記載のクライアントシステムと、該クライアントシステムにネットワークを介して接続し、該クライアントシステムに対してデータをダウンロードさせるサーバとを有することを特徴とする。
請求項20の発明は、請求項19に記載のデータ転送システムにおいて、前記サーバは、ダウンロード可能なデータのメッセージダイジェスト値をクライアントシステムのコンピュータから要求された場合、及び該データのダウンロードが該クライアントシステムのコンピュータから要求された場合に、該コンピュータが該データを取り扱ったものと認識して、前記メッセージダイジェスト値の要求及びダウンロードの要求履歴を保持することを特徴とする。
請求項21の発明は、請求項1ないし17のいずれか1に記載のクライアントシステム、請求項18に記載のデータ配信サーバ、または請求項19または20に記載のデータ転送システムの機能を実現するためのプログラムである。
請求項22の発明は、請求項21に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
本発明によれば、データのダウンロードを常にサーバから行うことなく、クライアントシステム内の他端末から適宜取得できるようにすることにより、ネットワーク品質の影響を受けずにクライアントシステムに合理的に同報通信を行うことができるようになる。
すなわち本発明では、クライアントシステムに含まれる各コンピュータがサーバからデータをダウンロードしようとする場合に、サーバに対してデータのダウンロード要求を送信する前にクライアントシステムに含まれる他のコンピュータに対して、ダウンロードしようとするデータを保持しているかどうかの問い合わせ情報を送信し、その問い合わせ情報に応じて他のコンピュータのいずれかがダウンロードしようとするデータを保持していることを示す応答を返信した場合、応答を返信したコンピュータからデータのダウンロードを行い、また他のコンピュータのいずれからもダウンロードしようとするデータを保持していることを示す応答が返信されなかった場合、サーバからデータをダウンロードすることにより、遠隔の離れたサーバからのダウンロードを避けて、クライアントシステム内の近隣のコンピュータから目的のデータを取得することができる。このため、サーバとクライアントシステムとの間のネットワークの伝送路が品質の悪い伝送路であっても、このような伝送路をできるだけ使用することなく、品質の良いクライアントシステム内のネットワークを利用してデータ転送を受けることができるようになる。
さらに本発明では、クライアントシステムの各コンピュータは、上記の問い合わせ情報の送信を行う前に、サーバに対してダウンロードしようとするデータ容量を問い合わせ、サーバから返信されたデータ容量の情報と、問い合わせを行ったコンピュータ自身が有するデータバッファの使用可能容量とを比較し、データバッファの使用可能容量がサーバから返信されたデータ容量より小さいときは、データバッファの保存データを削除して使用可能容量を確保することにより、サーバからのデータのダウンロードを確実に信頼性をもって実行することができる。
また、このときに、LRUによって未使用の時間が最も長いデータから削除していくことにより、利用頻度の低いデータが削除され、これによってデータの再転送が増加することを避ける事ができる。
また、上記LRUに代えて、他のコンピュータが保持しているデータについて問い合わせ、その回答に基づいて、データを保持しているコンピュータ数が多いデータから優先して削除することにより、クライアントシステム内の複数のコンピュータがデータを重複して保持する状態を合理化することができ、複数のコンピュータが連携してより多くのデータをシステム内に保持することが可能となる。
また、上記LRUに代えて、他のコンピュータが保持しているデータについて問い合わせ、その回答に基づいて、データを保持しているコンピュータ数が多いデータから優先して削除することにより、クライアントシステム内の複数のコンピュータがデータを重複して保持する状態を合理化することができ、複数のコンピュータが連携してより多くのデータをシステム内に保持することが可能となる。
また、上記の問い合わせ情報の送信をマルチキャスト通信で実行することにより、問い合わせを行う相手先のコンピュータを特定して制限し、また、マルチキャストパケットの配信範囲を制限することによって、コンピュータ間のデータ転送を行う範囲を制限することができるようになる。
また上記の問い合わせに対する応答を返信したコンピュータからデータのダウンロードを行う際、応答を返信したコンピュータからダウンロードしたデータのメッセージダイジェスト値を算出するともに、サーバが配布しているダウンロードデータに該当するメッセージダイジェスト値を取得し、これらのメッセージダイジェスト値を比較して、これらメッセージダイジェスト値が互いに一致していなければ、ダウンロードしたデータを無効にすることにより、他のコンピュータからダウンロードするデータが改竄あるいは修正されていることを知ることができ、改竄や修正のないデータを確実に取得することができるようになる。
また、クライアントシステムに含まれる各コンピュータは、サーバからプッシュ転送によりデータをダウンロードし、さらにこのプッシュ転送によりダウンロードしたデータを、クライアントシステムに含まれる他のコンピュータにプッシュ転送することにより、サーバからクライアントシステムまでの伝送路の帯域消費を抑制しつつ、サーバから離れた場所に配された複数のコンピュータにデータを配布することが可能となる。
さらに、他のコンピュータからプッシュ転送されたデータを、クライアントシステムに含まれる更に他のコンピュータにプッシュ転送することにより、クライアントシステム内の全てのコンピュータにサーバからプッシュ転送したデータを合理的に配布することが可能となる。
また上記サーバからダウンロードしたデータ、または他のコンピュータからダウンロードしたデータのプッシュ転送を、マルチキャスト通信により実行することにより、プッシュ転送を行う相手先のコンピュータを特定して制限し、また、マルチキャストパケットの配信範囲を制限することによって、コンピュータ間のデータ転送を行う範囲を制限することができるようになる。
また、クライアントシステムのコンピュータが、サーバからのプッシュ転送によるダウンロードまたは他のコンピュータからのプッシュ転送によるダウンロードを行うに際し、サーバに対してダウンロードしようとするデータ容量を問い合わせ、その問い合わせに応じてサーバから返信されたデータ容量の情報と、問い合わせを行ったコンピュータ自身が有するデータバッファの使用可能容量とを比較し、そのデータバッファの使用可能容量がサーバから返信されたデータ容量より小さいときは、データバッファの保存データを削除して使用可能容量を確保することにより、サーバからのプッシュ転送によるデータのダウンロード、及び他のコンピュータからのプッシュ転送によるデータのダウンロードを確実に信頼性をもって実行することができる。
また、このときに、LRUによって未使用の時間が最も長いデータから削除していくことにより、利用頻度の低いデータが削除され、これによってデータの再転送が増加することを避けることができる。
また、上記LRUに代えて、他のコンピュータが保持しているデータについて問い合わせ、その回答に基づいて、データを保持しているコンピュータ数が多いデータから優先して削除することにより、クライアントシステム内の複数のコンピュータがデータを重複して保持する状態を合理化することができ、複数のコンピュータが連携してより多くのデータをシステム内に保持することが可能となる。
また、上記LRUに代えて、他のコンピュータが保持しているデータについて問い合わせ、その回答に基づいて、データを保持しているコンピュータ数が多いデータから優先して削除することにより、クライアントシステム内の複数のコンピュータがデータを重複して保持する状態を合理化することができ、複数のコンピュータが連携してより多くのデータをシステム内に保持することが可能となる。
また、クライアントシステムに含まれる各コンピュータは、上記のプッシュ転送により他のコンピュータからデータのダウンロードを行う際、他のコンピュータからダウンロードしたデータのメッセージダイジェスト値を算出するとともに、サーバが配布しているダウンロードデータに該当するメッセージダイジェスト値を取得し、これらメッセージダイジェスト値を比較した結果、比較したメッセージダイジェスト値が互いに一致していなければ、ダウンロードしたデータを無効にすることにより、他のコンピュータからプッシュ転送によりダウンロードするデータが改竄あるいは修正されていることを知ることができ、改竄や修正のないデータを確実に取得することができるようになる。
また、クライアントシステムのコンピュータが、予め同一データを転送する転送回数を定めて保持し、プッシュ転送より他のコンピュータにデータを転送してダウンロードさせる場合に、データの転送回数を計量し、その転送回数が上記の予め定めた転送回数に達した場合にデータ転送を停止することにより、特定のコンピュータに転送負荷を集中させることなくクライアント内のコンピュータへのデータ転送を実行できるようになる。
また、クライアントシステムに含まれる各コンピュータは、コンピュータ自身からサーバ装置までのルートのトレースを行ってその結果を保持し、データ転送の問い合わせ先を選択するため、問い合わせ先の候補となる他のコンピュータに対して、そのコンピュータからサーバまでのルートのトレース結果を要求し、これに応答して得られた他のコンピュータのルートトレース結果と、上記コンピュータ自身のルートトレース結果とを比較して、コンピュータ自身のルートトレース結果に似ているルートトレース結果を有する他のコンピュータ順に、ダウンロードしようとするデータを保持しているかどうかの問い合わせ情報を送信することにより、ルートが似ている近隣のコンピュータ同士におけるデータ転送を優先して実行することができ、ネットワークリソースを節約することができる。
また、クライアントシステムに含まれる各コンピュータは、コンピュータ自身からサーバ装置までのルートのトレースを行ってその結果を保持し、プッシュ転送によるデータ転送先を選択するため、転送先の候補となる他のコンピュータに対して、そのコンピュータからサーバまでのルートのトレース結果を要求し、その要求に応答して得られた他のコンピュータのルートトレース結果と上記のコンピュータ自身のルートトレース結果とを比較して、コンピュータ自身のルートトレース結果に似ているルートトレース結果を有する他のコンピュータ順に、プッシュ転送を実行することにより、ルートが似ている近隣のコンピュータ同士におけるデータ転送を優先して実行することができ、ネットワークリソースを節約することができる。
また、クライアントシステムに含まれるコンピュータ同士の通信をピアツーピアにより行うことにより、コンピュータ間のデータ転送を、送信量を増大させることなく最短経路で合理的に実行することができるようになる。
また、データ配信を行うサーバにおいて、データのメッセージダイジェスト値をクライアントから要求された場合、及びデータのダウンロードがクライアントから要求された場合に、そのクライアントが該当データを取り扱ったものと認識して、メッセージダイジェスト値の要求及びダウンロードの要求履歴を保持することにより、これら要求は各クライアントがデータを取得しようとした情報であるため、データの視聴情報として管理し適宜利用することができる。
また、上記のクライアントシステムと、そのクライアンシステムにネットワークを介して接続し、クライアントシステムに対してデータをダウンロードさせるサーバとを有することにより、サーバとクライアントシステムからなり、上述のごとくの各効果が得られるデータ転送システムを提供することができる。
ここで、データ転送システムのサーバは、ダウンロード可能なデータのメッセージダイジェスト値をクライアントシステムのコンピュータから要求された場合、及びデータのダウンロードがクライアントシステムのコンピュータから要求された場合に、コンピュータがそのデータを取り扱ったものと認識して、メッセージダイジェスト値の要求及びダウンロードの要求履歴を保持することにより、これら要求は各クライアントシステムのコンピュータがデータを取得しようとした情報であるため、データの視聴情報として管理し適宜利用することができる。
ここで、データ転送システムのサーバは、ダウンロード可能なデータのメッセージダイジェスト値をクライアントシステムのコンピュータから要求された場合、及びデータのダウンロードがクライアントシステムのコンピュータから要求された場合に、コンピュータがそのデータを取り扱ったものと認識して、メッセージダイジェスト値の要求及びダウンロードの要求履歴を保持することにより、これら要求は各クライアントシステムのコンピュータがデータを取得しようとした情報であるため、データの視聴情報として管理し適宜利用することができる。
また、本発明により、上記のクライアントシステム、データ配信サーバ、またはデータ転送システムの機能を実現するためのコンピュータ読み取り可能なプログラム及び記録媒体を提供することができる。
図1は、本発明を適用可能なシステム構成例を示す図である。図1において、10は大規模オフィス、11は動画配信サーバ、12はルータ、13は大規模オフィス内部のネットワーク、20は小規模オフィス、21は端末、22はルータ、23は小規模オフィス内部のネットワーク、30は大規模オフィス10と小規模オフィス20と接続するネットワークである。ここでは、大規模オフィス10の内部には、動画配信サーバ11が設置され、該サーバ11が設置された大規模オフィス10と小規模オフィス20とがルータ12,22を介してネットワーク30で接続されている。
本例では、大規模オフィス10のネットワーク13や、小規模オフィス20のネットワーク23は、100base−Tや1000base−Tなどの高速なLAN技術を使って構築されている。これに対して、大規模オフィスと小規模オフィスとの間を接続するネットワーク30は、バンド幅が小さかったり、RTTが大きい回線を利用して接続されている。また、小規模オフィスの内部には、大規模オフィス内の動画配信サーバからデータ供給を受ける端末(I〜III)21が存在する。各端末21は、動画配信サーバ11からのデータのダウンロードが可能なコンピュータであり、これらは小規模オフィス20のネットワーク23にて相互に接続されている。すなわち、上記小規模オフィス20の複数の端末装置21がネットワークで接続された構成が、本発明のクライアントシステムに該当し、動画配信サーバ11が本発明のデータ配信サーバに該当し、これらを接続してなるシステムが本発明のデータ転送システムに該当する。
以下に示す各実施例は、上記のような動画配信サーバ11を有する高品質ネットワーク(例えば、大規模オフィス10)と、他の高品質ネットワーク(例えば、上記の小規模オフィス20)とが、低品質のネットワーク30で接続された構成を想定する。また、データ配信を行うサーバとして、ここでは動画配信サーバ11を考えるが、本発明では動画を配信するサーバに限定されるものではなく、テキストベースや静止画像等の各種データを配信するサーバであってもよい。
(実施例1)
図2及び図3は、本発明の第1の実施例を説明するための図で、クライアントシステムの各端末が持っている機能と、動画配信サーバが持っている機能とをそれぞれ説明するための図である。本実施例によれば、小規模オフィス20内で、動画配信サーバ11からダウンロードしたデータをピアツーピア共有することによって、ネットワーク30による細い回線の負荷を最小限にすることができるという効果が得られる。
図2及び図3は、本発明の第1の実施例を説明するための図で、クライアントシステムの各端末が持っている機能と、動画配信サーバが持っている機能とをそれぞれ説明するための図である。本実施例によれば、小規模オフィス20内で、動画配信サーバ11からダウンロードしたデータをピアツーピア共有することによって、ネットワーク30による細い回線の負荷を最小限にすることができるという効果が得られる。
図2において、小規模オフィス20側の端末21は、ユーザからのデータダウンロード要求に応じた処理機能211、他端末からデータ保持確認を受けたときに実行する処理機能212、及び他端末からデータ送信要求を受けたときに実行する処理機能213を実現可能で、またデータを保持するデータバッファ214を有している。
ユーザからのデータダウンロード要求に応じた処理機能211は、ダウンロードしようとしているデータを保持しているかどうかを他端末に問い合わせる問い合わせ送信手段211a、他端末がデータを保持している場合にその端末からデータのダウンロードを行う手段211b、他端末でデータを保持してない場合に動画配信サーバからデータをダウンロードする手段211c、動画配信サーバに対してダウンロードしようとするデータ容量を問い合わせる手段211d、動画配信サーバに問い合わせたデータ容量と自端末のデータバッファ容量に応じてデータバッファ領域を確保する手段211e、動画配信サーバまたは他端末からデータのダウンロードを行う際にダウンロードしたデータのメッセージダイジェスト値を算出する手段211f、動画配信サーバからメッセージダイジェスト値を取得する手段211g、取得したメッセージダイジェスト値とダウンロードしたデータのメッセージダイジェスト値を比較する手段211h、メッセージダイジェスト値を比較した結果、一致しなければダウンロードを無効とする手段211i、コンピュータ自身から動画配信サーバまでのルートのトレースを行う手段211j、他のコンピュータに対して他のコンピュータから動画配信サーバまでのルートのトレースを行ってその結果を要求する手段211k、得られたこれらのルートのトレースの結果を比較し、似ているルートをもつ他の端末を検出する手段211l、を適宜実行することにより実現される。
また、図3において、大規模オフィス10側の動画配信サーバ11は、動画配信機能111、データの容量送信機能112、及びデータのメッセージダイジェスト値送信機能113を実現可能であり、さらに視聴履歴情報を保持する視聴情報114を有している。
なお、動画配信サーバ11が提供しているデータ容量送信機能112や、データのメッセージダイジェスト値送信機能113については、別途サーバを用意して、そのサーバによりこれらの機能を提供しても良いものとする。
なお、動画配信サーバ11が提供しているデータ容量送信機能112や、データのメッセージダイジェスト値送信機能113については、別途サーバを用意して、そのサーバによりこれらの機能を提供しても良いものとする。
図4は、端末においてユーザからのデータダウンロード要求に応じた処理機能211を実現するときの処理の流れを説明するためのフローチャートである。端末がユーザからデータダウンロード要求を受けると(ステップS1)、端末は、データ容量の情報を動画配信サーバ(単にサーバとする)から取得する(ステップS2)。そして、取得した容量のデータが自身のバッファに入りきる量であるかどうか判断し(ステップS3)、入りきらなければエラー終了する。また自身のバッファに入るデータ容量であれば、さらに自身のバッファの残容量が、ダウンロードするデータ容量より大きいかどうかを判断する(ステップS4)。
ここで、バッファに充分な残容量がなかった場合は、既存のデータを削除する。この時の削除順序はLRU(Least Recently Used)として、最近もっとも参照していないデータから削除するものとする(ステップS15)。
バッファの残容量が充分であった場合、端末は、ユーザから要求されたデータをすぐにサーバから取得しようとはせず、マルチキャスト通信を使って自身と同じく端末であるホスト(他端末)に対してそのデータを持っているかどうかを確認する。すなわち、専用マルチキャストアドレスに向けて、他端末のバッファ内に、ダウンロードしようとしている該当データを保持していないかどうか問い合わせる(ステップS5)。
これに対する応答が他端末から得られなかった場合は、タイムアウトを待って、近隣の端末には該当データが保持されていないものと見なして、サーバからデータをダウンロードして取得する(ステップS6,S16,S17)。このときにエラーが発生すれば、エラー終了し、エラーがなければ、自端末は、ダウンロードしたデータを自身のバッファに保存して、再生する(ステップS18,S19)。
また、ステップS6で、近隣の端末から該当データを保持している旨の通知を受けた場合は、その端末からデータをダウンロードする。
また、ステップS6で、近隣の端末から該当データを保持している旨の通知を受けた場合は、その端末からデータをダウンロードする。
ここでは、まず応答があった端末に対して、ローカルでダウンロードすることを要求し(ステップS7)、その端末からピアツーピア(P2P)で該当データを受信する(ステップS8)。エラーがあった場合は、ダウンロードした端末からの応答を無効として(ステップS20)、ステップS5に戻り、エラーがなければ、ダウンロードしたデータをメッセージダイジェスト関数で演算して、ダイジェスト値を得る(ステップS10)。
さらに、端末は、ダウンロードデータのサーバ上のダイジェスト値を該サーバに対して質問し(ステップS11)、サーバから得られたダイジェスト値と、自身で演算したダイジェスト値とを比較する(ステップS12)。比較結果が一致すれば、その端末は、得られたデータを自身のバッファに保存し、再生する(ステップS14)。また比較結果が一致しなければ、ダウンロードした端末からの応答を無効とし(ステップS20)、ステップS5に戻る。
上記の場合、端末からダウンロードしたデータは、途中でデータが改竄や修正が施されている可能性があるため、ダウンロード後に、データのメッセージダイジェスト値を演算し、さらに動画配信サーバからもメッセージダイジェスト値を取得し、その両者を比較して、同一のメッセージダイジェスト値が得られれば、改竄や修正はなかったものと見なして、データを自身でバッファリングする。
図5は、端末において他端末からデータ保持確認を受けたときに実行する処理機能212を実現するときの処理の流れについて説明するためのフローチャートである。
端末は、他端末からマルチキャストによって、特定のファイルを保持しているかどうかの確認要求が到着することがある。自分がそのファイルを保持している場合、送信元の端末に対して、ユニキャストによってその旨を通知する。
端末は、他端末からマルチキャストによって、特定のファイルを保持しているかどうかの確認要求が到着することがある。自分がそのファイルを保持している場合、送信元の端末に対して、ユニキャストによってその旨を通知する。
ここでは、まず、ネットワーク上の他端末から、データをバッファに保持しているかどうかの問い合わせをマルチキャストで受け取る(ステップS31)。
そして自身のバッファ内にデータを保持しているかどうかを判断し(ステップS32)、保持していれば、要求されたデータがバッファ内にあることを返答する(ステップS33)。なお、このときの返答はユニキャスト通信で行う。また自身のバッファ内にデータが保持されていなければ、問い合わせ元の端末に対して何も返答しないものとする(ステップS34)。
そして自身のバッファ内にデータを保持しているかどうかを判断し(ステップS32)、保持していれば、要求されたデータがバッファ内にあることを返答する(ステップS33)。なお、このときの返答はユニキャスト通信で行う。また自身のバッファ内にデータが保持されていなければ、問い合わせ元の端末に対して何も返答しないものとする(ステップS34)。
図6は、端末において他端末からデータ送信要求を受けたときに実行する処理機能213を実現するときの処理の流れについて説明するためのフローチャートである。
端末は、自身のデータバッファ内に保持しているデータの転送を要求された場合、そのデータを転送する機能を持つ。ここでは、まずネットワーク上の他端末からデータのダウンロードが要求されると(ステップS41)、そのデータを自身のバッファ内に保持しているかどうかを判別し(ステップS42)、データを保持していれば、バッファ内のデータを、要求した端末に送信し(ステップS43)、データを保持していなければ、その要求元の端末に対してエラーを返して終了する(ステップS44)。
端末は、自身のデータバッファ内に保持しているデータの転送を要求された場合、そのデータを転送する機能を持つ。ここでは、まずネットワーク上の他端末からデータのダウンロードが要求されると(ステップS41)、そのデータを自身のバッファ内に保持しているかどうかを判別し(ステップS42)、データを保持していれば、バッファ内のデータを、要求した端末に送信し(ステップS43)、データを保持していなければ、その要求元の端末に対してエラーを返して終了する(ステップS44)。
図7は、動画配信サーバにおいてデータのメッセージダイジェスト値送信機能113を実現するときの処理の流れについて説明するためのフローチャートである。端末からデータのメッセージダイジェスト値が要求されると(ステップS51)、視聴情報114に、使用が実施されたことを記載する(ステップS52)。そして指定されたデータのメッセージダイジェスト値を、要求された端末に送信する(ステップS53)。視聴情報114はデータの視聴履歴を保持するもので、ここでは、メッセージダイジェスト値が要求された時点で、そのデータが端末で視聴されたものとみなして視聴情報として保存する。
図8は、動画配信サーバにおいてデータの容量送信機能112を実現する処理の流れについて説明するためのフローチャートである。まず、端末からデータの容量が要求されると(ステップS61)、指定されたデータの容量を、要求された端末に送信する(ステップS62)。
図9は、動画配信サーバにおいて動画配信機能111を実現する処理の流れについて説明するためフローチャートである。動画配信する際は、視聴情報114に視聴が実施されたことを記載し(ステップS71)、その後動画を配信する(ステップS72)。
上記のように、動画配信サーバは、動画を配信する際や、メッセージダイジェスト値を端末(クライアント)が要求してきたときに、その端末情報を視聴情報として内部に蓄積する。そしてその後、動画を配信したり、メッセージダイジェスト値を端末に送信したりする。
(実施例2)
本実施例では、動画配信サーバから端末に対してデータを能動的に転送する処理を実現する。図10及び図11は、本発明の第2の実施例を説明するための図で、各端末が持っている機能と、動画配信サーバが持っている機能とをそれぞれ説明するための図である。
図10において、端末21は、図2に示す機能に加えて、サーバからのデータプッシュを受け付ける機能215、及び他端末からのデータプッシュを受け付ける機能216を有している。
動画配信サーバからのデータプッシュを受け付ける機能215は、動画配信サーバからのプッシュ転送によりデータダウンロードを実行する手段215a、動画配信サーバからダウンロードしたデータを他端末にプッシュ転送する手段216b、動画配信サーバにデータ容量を問い合わせるデータ容量問い合わせ手段215c、データバッファの容量を確保するデータバッファ領域確保手段215d、データを転送する転送回数(規定値)を保持する手段215e、回転回数が予め定めた転送回数に達した場合にデータ転送を停止する手段215f、自端末から動画配信サーバまでのルートトレースを行う手段215g、他端末に動画配信サーバまでのルートのトレースの結果を要求する手段215h、得られた各ルートのトレース結果を比較し、似ているルートをもつ他端末を検出するルートトレース比較検出手段215i、を適宜実行することにより、実現される。
本実施例では、動画配信サーバから端末に対してデータを能動的に転送する処理を実現する。図10及び図11は、本発明の第2の実施例を説明するための図で、各端末が持っている機能と、動画配信サーバが持っている機能とをそれぞれ説明するための図である。
図10において、端末21は、図2に示す機能に加えて、サーバからのデータプッシュを受け付ける機能215、及び他端末からのデータプッシュを受け付ける機能216を有している。
動画配信サーバからのデータプッシュを受け付ける機能215は、動画配信サーバからのプッシュ転送によりデータダウンロードを実行する手段215a、動画配信サーバからダウンロードしたデータを他端末にプッシュ転送する手段216b、動画配信サーバにデータ容量を問い合わせるデータ容量問い合わせ手段215c、データバッファの容量を確保するデータバッファ領域確保手段215d、データを転送する転送回数(規定値)を保持する手段215e、回転回数が予め定めた転送回数に達した場合にデータ転送を停止する手段215f、自端末から動画配信サーバまでのルートトレースを行う手段215g、他端末に動画配信サーバまでのルートのトレースの結果を要求する手段215h、得られた各ルートのトレース結果を比較し、似ているルートをもつ他端末を検出するルートトレース比較検出手段215i、を適宜実行することにより、実現される。
また、他端末からのデータプッシュを受け付ける機能216は、他端末からのプッシュ転送によるデータダウンロードを実行する手段216a、他端末からダウンロードしたデータを更に他の端末にプッシュ転送する手段216b、動画配信サーバにデータ容量を問い合わせるデータ容量問い合わせ手段216c、データバッファの容量を確保するデータバッファ領域確保手段216d、他端末からデータのダウンロードを行う際にダウンロードしたデータのメッセージダイジェスト値を算出する手段216e、動画配信サーバからメッセージダイジェスト値を取得する手段216f、取得したメッセージダイジェスト値とダウンロードしたデータのメッセージダイジェスト値を比較する手段216g、メッセージダイジェスト値を比較した結果、一致しなければダウンロードを無効とする手段216h、データを転送する転送回数(規定値)を保持する手段216i、回転回数が予め定めた転送回数に達した場合にデータ転送を停止する手段216j、自端末から動画配信サーバまでのルートのトレースを行う手段216k、他端末に動画配信サーバまでのルートのトレース結果を要求する手段216l、得られた各ルートのトレース結果を比較し、似ているルーとをもつ他端末を検出するルートトレース比較検出手段216m、を適宜実行することにより、実現される。
また、図11において、動画配信サーバ11は、図3に示す機能に加えて、プッシュによる動画配信機能115を有している。
また、図11において、動画配信サーバ11は、図3に示す機能に加えて、プッシュによる動画配信機能115を有している。
図12は、動画配信サーバにおいてプッシュによる動画配信機能115を実現する処理の流れを説明するためのフローチャートである。動画配信サーバ(単にサーバとする)が、端末に対してデータを送信する際、まずサーバから端末に対してデータプッシュを要求し(ステップS81)、続けてデータ容量を送信する(ステップS82)。そして、端末からの送信許可を示すACK信号がサーバで受け付けられると(ステップS83)、その端末に対してデータを送信する(ステップS84)。以降は、端末のマルチキャスト通信範囲内で自動的にデータが送信されることになる。
図13は、端末において動画配信サーバからのデータプッシュを受け付ける機能215を実現する処理の流れを説明するためのフローチャートである。端末が動画配信サーバ(単にサーバとする)からのデータプッシュ要求を受信すると(ステップS91)、端末は、続いてサーバからデータ容量の情報を取得する(ステップS92)。そして、取得した容量のデータが自身のバッファに入りきる量であるかどうか判断し(ステップS93)、入りきらなければサーバにエラーを通知する(ステップS102)。また自身のバッファに入るデータ容量であれば、さらに自身のバッファの残容量が、ダウンロードするデータ容量より大きいかどうかを判断する(ステップS94)。ここで、バッファに充分な残容量がなかった場合は、既存のデータを削除する。この時の削除順序はLRUとして、最近もっとも参照していないデータから削除するものとする(ステップS103)。
バッファの残容量が充分であった場合、端末は、サーバからデータを受信し(ステップS95)、自身のバッファに保存する。そしてマルチキャスト通信を使い、専用マルチキャストアドレスに向けて、プッシュによるデータ転送があることを通知する(ステップS96)。これにより、サーバから受信したデータの転送を受けていない端末を探索する。
端末は、上記の通知に対する応答を待ち(ステップS97)、応答が得られずにタイムアウトになった場合は(ステップS98)、終了する。また、他端末からの応答があり、プッシュによるデータ転送を行うべき他端末が発見された場合、その発見された端末に対してデータ転送を行う(ステップS99)。そして、他端末への転送を行う毎に転送回数をインクリメントしていき(ステップS100)、転送回数が予め定めた規定回数に達したかどうかを判別し(ステップS101)、転送回数が規定回数に達した時点で処理を終了する。また、規定回数に達していなければ、ステップS96に戻る。
図14は、端末において他端末からデータプッシュを受け付ける機能216を実現する処理の流れについて説明するためのフローチャートである。端末が他端末からのデータプッシュ要求を受信すると(ステップS111)、端末は、続いてデータ容量の情報を動画配信サーバ(単にサーバとする)から取得する(ステップS112)。そして、取得した容量のデータが自身のバッファに入りきる量であるかどうか判断し(ステップS113)、入りきらなければ動画配信サーバにエラーを通知する(ステップS126)。また自身のバッファに入るデータ容量であれば、さらに自身のバッファの残容量が、ダウンロードするデータ容量より大きいかどうかを判断する(ステップS114)。ここで、バッファに充分な残容量がなかった場合は、既存のデータを削除する。この時の削除順序はLRUとして、最近もっとも参照していないデータから削除するものとする(ステップS127)。
バッファの残容量が充分であった場合、端末は、他端末からデータを受信し(ステップS115)、自身のバッファに保存する。そして受信したデータをメッセージダイジェスト関数で演算して、メッセージダイジェスト値を得る(ステップS116)。さらにその端末は、受信データのサーバ上のメッセージダイジェスト値を該サーバに対して質問し(ステップS117)、サーバから得られたメッセージダイジェスト値と、自身で演算したメッセージダイジェスト値とを比較する(ステップS118)。比較結果が一致すれば、その端末は、そしてマルチキャスト通信を使い、専用マルチキャストアドレスに向けて、プッシュによるデータ転送があることを通知する(ステップS119,S120)。これにより、サーバから受信したデータの転送を受けていない端末を探索する。また、比較結果が一致しなければ、エラー終了する。
端末は、上記の通知に対する応答を待ち(ステップS121)、応答が得られずにタイムアウトになった場合は(ステップS122)、処理を終了する。また、他端末からの応答があり、プッシュによるデータ転送を行うべき他端末が発見された場合、その発見された端末に対してデータ転送を行う(ステップS123)。そして、他端末への転送を行う毎に転送回数をインクリメントしていき(ステップS124)、転送回数が予め定めた規定回数に達したかどうかを判別し(ステップS125)、転送回数が規定回数に達した時点で処理を終了する。また、規定回数に達していなければ、ステップS120に戻る。
以上の手順によって、データをプッシュ形式によって転送する。なお、ネットワーク障害など、プッシュによるデータ転送を受けられなかった端末についても、データを参照しようとした際に、実施例1と同じ手法でマルチキャストの送信範囲内のホストからデータの転送を受けることができる。
(実施例3)
本実施例は、データをデータバッファ内に効率的に保持する手段を有するものである。同一のマルチキャスト範囲内で重複するデータを保持すると、クライアントシステム全体としてのデータ保持量が少なくなる。この問題を解決するために、クライアントシステムのネットワーク内で多数の端末が保持しているデータを優先的に削除する。
本実施例は、データをデータバッファ内に効率的に保持する手段を有するものである。同一のマルチキャスト範囲内で重複するデータを保持すると、クライアントシステム全体としてのデータ保持量が少なくなる。この問題を解決するために、クライアントシステムのネットワーク内で多数の端末が保持しているデータを優先的に削除する。
図15は、本発明の第3の実施例を説明するための図で、各端末が持っている機能を説明するための図である。端末21は、従来のデータバッファ214の他に、データ削除順序リスト217を保持し、さらにデータの削除を行う機能218、保持データ一覧要求を受けたときの処理機能219、データ削除順序リストを整理する機能220を有している。
上記各実施例のデータ削除処理では、LRUによって削除を行っていたが、本実施例では、端末21がデータ削除要求を受けたときに、データ削除順序リスト217の先頭にあるデータを削除し、その後データ削除順序リスト217の先頭の項目を削除する。
図16は、端末においてデータの削除を行う機能218について説明するためのフローチャートである。まず、端末がデータ削除命令を受け付けると(ステップS131)、データ削除順序リストの先頭のデータをデータバッファから削除する(ステップS132)。そして、データ削除順序リストの先頭にある項目を削除する(ステップS133)。
図17は、端末においてデータ削除順序リストを整理する機能220を実現する処理について説明するためのフローチャートである。データ削除順序リストを整理する処理では、データ削除順序リストを生成するために、マルチキャスト通信により、周囲の各端末が保持しているデータを送信するよう要求する。ここでは、まず、専用マルチキャストアドレスに向けて各端末が保持しているデータ一覧を要求する(ステップS141)。そして、他端末からの応答を待ち(ステップS142)、他端末からの応答があった場合は、各データ毎の保持端末数をカウントし(ステップS145)、さらにステップS142で他端末の応答を待つ。そしてタイムアウトになるまで応答がなければ(ステップS143)、データ保持端末数が多い順にデータ削除順序リストを並べ替える(ステップS144)。上記のデータ削除順序リストの整理処理は、一定期間毎に行うか、あるいはデータの削除要求があったときに実施するものとする。
各端末は、上記の一覧要求のマルチキャストに応じて、自身が保持しているデータを送信する機能を有する。図18は、端末において保持データ一覧要求を受けたときの処理機能219を実現する処理の流れについて説明するためのフローチャートである。端末は、ネットワーク上の他端末から、自身が保持しているデータの一覧を要求されると(ステップS151)、これに応じて自身が保持しているデータの一覧を送信する(ステップS152)。
以上の処理によって、多数の端末が保持しているデータから順に削除することができる。図19は、データ削除順序リスト217の整理の様子を説明するための図である。
図19(A)は、ある端末のデータバッファの一例を示すもので、ここでは、データAとデータDとが保持されている。このとき、データ削除順序リストの整理が要求されたものとする。これに応じて、その端末は、マルチキャストによって周囲の端末が保持しているデータの一覧を要求する。データ一覧を要求された他端末は、その要求に応じて自身が保持しているデータの一覧を送信してくる。この結果、データ削除順序リストの整理が要求された端末では、データ毎に、そのデータを保持している周囲の端末数が得られる。
図19(B)は、データの保持端末数の集計結果を示す図で、ここでは、データAは4端末で保持され、データBは2端末で保持され、データCを保持する端末はなく、さらにデータDは5端末で保持されていることがわかる。
図19(A)は、ある端末のデータバッファの一例を示すもので、ここでは、データAとデータDとが保持されている。このとき、データ削除順序リストの整理が要求されたものとする。これに応じて、その端末は、マルチキャストによって周囲の端末が保持しているデータの一覧を要求する。データ一覧を要求された他端末は、その要求に応じて自身が保持しているデータの一覧を送信してくる。この結果、データ削除順序リストの整理が要求された端末では、データ毎に、そのデータを保持している周囲の端末数が得られる。
図19(B)は、データの保持端末数の集計結果を示す図で、ここでは、データAは4端末で保持され、データBは2端末で保持され、データCを保持する端末はなく、さらにデータDは5端末で保持されていることがわかる。
そして、データを保持している端末数が多い順に、端末自身が保持しているデータの削除順序リストを更新する。図19(C)は、得られたデータ削除順序リストを示す図で、ここでは、削除順序D―Aという結果が得られる。
以降、この端末でデータ削除が必要となった場合、最初にデータDを削除し、次にデータAを削除することになる。
以降、この端末でデータ削除が必要となった場合、最初にデータDを削除し、次にデータAを削除することになる。
(実施例4)
本実施例は、より効率的なデータダウンロードを行うことができるようにするものである。ピアツーピアによる通信を離れた端末同士で行うと、ネットワークリソースを消費するため効率的ではない。マルチキャストによって応答のあったホストについて、ネットワーク的に自端末に近い他端末と優先的にピアツーピア通信するようにできれば、ピアツーピア通信が効率化する。
本実施例は、より効率的なデータダウンロードを行うことができるようにするものである。ピアツーピアによる通信を離れた端末同士で行うと、ネットワークリソースを消費するため効率的ではない。マルチキャストによって応答のあったホストについて、ネットワーク的に自端末に近い他端末と優先的にピアツーピア通信するようにできれば、ピアツーピア通信が効率化する。
本実施例では、ネットワーク上の距離順に、ピアツーピア通信先を並べる処理を行う。図20は、本発明の第4の実施例を説明するための図で、各端末が持っている機能を説明するための図である。端末装置は、従来のデータバッファの他に、ピアツーピア通信先順序リスト221を保持し、さらにピアツーピア通信先順序リストの整理処理機能222、サーバへのルートのトレース結果要求に応じた処理機能223を有している。
図21は、ピアツーピア送信先順序リストの整理処理機能222を実現するための処理の流れを説明するためのフローチャートである。まず、ピアツーピア通信先順序リスト(以下単に順序リストとする)を生成しようとする端末は、自端末から動画配信サーバ(単にサーバとする)に向けてルートのトレース(e.g.traceroute)を行い、その結果を保持する(ステップS161)。次に、順序リストを生成しようとする端末は、マルチキャストによって、専用マルチキャストアドレスに向けて、サーバへのルートのトレース結果を送信するよう要求する(ステップS162)。
そして、ルートのトレース結果の要求に対する応答を待ち(ステップS163)、応答があればそのルートのトレース結果を保持する(ステップS166)。応答がなくなり、タイムアウトになれば(ステップS164)、自端末のルートのトレース結果に近いトレース結果を返してきたホストを順序リストに記載する(ステップS165)。
図22は、サーバへのルートのトレース結果要求に応じた処理機能223を実現する処理の流れを説明するためのフローチャートである。まず、動画配信サーバ(単にサーバとする)へのルートのトレース結果をネットワーク上の他端末から要求されると(ステップS171)、指定されたサーバに対してルートのトレースを行う(ステップS172)。そして、得られたルートのトレースの結果を、要求された他端末に対して送信する(ステップS173)。
図23は、ルートのトレース結果に応じたピアツーピア通信先順序リスト221の生成例を説明する図である。上記のような処理において、例えば、自端末におけるルートのトレース結果が、図23(A)に示すように、「自端末→X→Y→Z→サーバ」という経路であったとする。
そして、マルチキャストによって他端末のルートのトレース結果を要求した結果、例えば、図23(B)のように、端末A〜端末Dの4台が応答し、それぞれのルートのトレース結果が得られたものとする。得られた他端末のルートのトレース結果のうち、順序リストを生成しようとする自端末のトレース結果に最も近いものが、「端末B」の「B→X→Y→Z→サーバ」である。そして次に近いのが、端末AおよびCの「A/C→O→Y→Z→サーバ」である。また、最もトレース結果が異なるものが、端末Dの「D→H→I→J→サーバ」である。
上記の結果から、図23(C)に示すピアツーピア通信先端末順序リストを生成する。ここでは、他端末からのルートのトレース結果と自端末のトレース結果とを比較し、自端末のトレース結果に似ている順に、端末を並べることでリストを作成する。図23(C)の場合は、端末B,端末A,端末C,端末Dの順になる。
そして、マルチキャストによって他端末のルートのトレース結果を要求した結果、例えば、図23(B)のように、端末A〜端末Dの4台が応答し、それぞれのルートのトレース結果が得られたものとする。得られた他端末のルートのトレース結果のうち、順序リストを生成しようとする自端末のトレース結果に最も近いものが、「端末B」の「B→X→Y→Z→サーバ」である。そして次に近いのが、端末AおよびCの「A/C→O→Y→Z→サーバ」である。また、最もトレース結果が異なるものが、端末Dの「D→H→I→J→サーバ」である。
上記の結果から、図23(C)に示すピアツーピア通信先端末順序リストを生成する。ここでは、他端末からのルートのトレース結果と自端末のトレース結果とを比較し、自端末のトレース結果に似ている順に、端末を並べることでリストを作成する。図23(C)の場合は、端末B,端末A,端末C,端末Dの順になる。
上記の処理により得られたピアツーピア通信先端末順序リストを用いて、ネットワーク的に自端末に近い端末と優先的にピアツーピア通信を行うようにする。これにより、ピアツーピア通信が効率化し、資源を効率良く使用することができるようになる。
以上の本発明に係わる実施例において、各手段が動画配信サーバ11や端末21としての情報処理装置に備えられている形態を説明している。図24は、一般的な情報処理装置の構成例を示すブロック図で、図中、41は入力装置、42は表示装置、43は出力装置、44はCPU、45はROM、46はRAM、47はバスである。
情報処理装置としては汎用コンピュータが挙げられ、各種情報を入力するためのキーボード,マウス,記録媒体読取装置,他の機器からの入力用のネットワーク機器などの入力装置41、検索結果やその他の情報を表示するためのCRT,LCDなどのディスプレイである表示装置42、印刷装置,記録媒体用記録装置,ネットワーク接続装置(ネットワークに接続して通信を行うためのネットワークボード等の通信機器であり)などの出力装置43、さらには、プログラムを記録したハードディスクやROM45、そこに格納されたプログラムを実行するためのCPU44、及びその実行領域としてのRAM46をその主要な構成要素とし、それらがバス47により接続されているものとして例示している。
動画配信サーバ11に搭載される場合のプログラムは、上述する実施例の各手段(或いは各手段の一部)の機能を実現するようにコンピュータのCPU44等を制御するプログラム(コンピュータを機能させるプログラム)である。同様に、端末21に搭載される場合のプログラムは、上述する端末21が動画配信サーバ11及び他端末21にアクセス可能とし、且つ各種情報を入力・送信して上記実施例の機能を実現するように、コンピュータのCPU等を制御するプログラムである。これらのプログラムは、装置ユーザが使用する際に容易となるように、表示装置42用のグラフィカルユーザインターフェース(GUI)を備えるようにするとよい。そして、これら装置で取り扱われる情報は、その処理時に一時的にRAM46に蓄積され、その後、各種ROM45やハードディスクに格納され、必要に応じて、CPU44によって読み出し、修正・書き込みが行われる。
これら上述した機能を実現するプログラムは、予め例えば、CD−ROM等の記録媒体に記憶しておき、コンピュータ等に搭載したCD-ROMドライブのような媒体駆動装置に当該記録媒体を装着して、これらのプログラムをコンピュータのメモリあるいは記録装置に格納し、それを実行することにより、本発明の機能を実現することができる。この場合、記録媒体から読み出されたプログラム自体が上述した実施例の機能を実現することになり、そのプログラム及びプログラムを記録した記録媒体も本発明を構成する。
なお、プログラムを格納する記録媒体としては、半導体媒体(例えば、ROM,不揮発性メモリカード等)、光記録媒体(例えば、DVD,MO,MD,CD等)、磁気記録媒体(例えば、磁気テープ,フレキシブルディスク等)等のいずれであってもよい。
また、ロードしたプログラムを実行することにより、上述した実施例の機能が実現されるだけでなく、そのプログラムの指示に基づき、オペレーティングシステムあるいは他のアプリケーションプログラム等と共同して処理することにより、上述した実施例の機能が実現される場合もある。
市場に流通させる場合には、可搬型の記録媒体にプログラムを格納して流通させたり、インターネット等のネットワークを介して接続されたサーバコンピュータに転送することができる。この場合、サーバコンピュータの記憶装置も本発明の記録媒体に含まれる。
なお、コンピュータでは、可搬型の記録媒体上のプログラム、または転送されてくるプログラムを、コンピュータに接続した記録媒体にインストールし、そのインストールされたプログラムを実行することによって上述した実施例の機能が実現される。
なお、コンピュータでは、可搬型の記録媒体上のプログラム、または転送されてくるプログラムを、コンピュータに接続した記録媒体にインストールし、そのインストールされたプログラムを実行することによって上述した実施例の機能が実現される。
10…大規模オフィス、11…動画配信サーバ、12…ルータ、13…大規模オフィス内部のネットワーク、20…小規模オフィス、21…端末、22…ルータ、23…小規模オフィス内部のネットワーク、24…代理サーバ、30…大規模オフィスと小規模オフィスと接続するネットワーク、41…入力装置、42…表示装置、43…出力装置、44…CPU、45…ROM、46…RAM、47…バス、111…動画配信機能、112…データの容量送信機能、113…データのメッセージダイジェスト値送信機能、114…視聴情報、115…プッシュによる動画配信機能、211…ユーザからのデータダウンロード要求に応じた処理機能、212…他端末からデータ保持確認を受けたときに実行する処理機能、213…他端末からデータ送信要求を受けたときに実行する処理機能、214…データバッファ、215…サーバからのデータプッシュを受け付ける機能、216…他端末からのデータプッシュを受け付ける機能、217…データ削除順序リスト、218…データの削除を行う機能、219…保持データ一覧要求を受けたときの処理機能、220…データの削除順序リストを整理する機能、221…ピアツーピア通信先順序リスト、222…通信先順序リスト整理処理機能、223…サーバへのルートのトレース結果要求に応じた処理機能。
Claims (22)
- サーバとの間でネットワークを介して接続され、該サーバからのデータのダウンロードを可能とする複数のコンピュータよりなり、該複数のコンピュータが相互に接続されてなるクライアントシステムにおいて、該クライアントシステムに含まれる各コンピュータは、前記サーバからデータをダウンロードしようとする場合に、前記サーバに対してデータのダウンロード要求を送信する前に該クライアントシステムに含まれる他のコンピュータに対して、前記ダウンロードしようとするデータを保持しているかどうかの問い合わせ情報を送信する問い合わせ送信手段と、前記問い合わせ情報に応じて前記他のコンピュータのいずれかが前記ダウンロードしようとするデータを保持していることを示す応答を返信した場合、該応答を返信したコンピュータからデータのダウンロードを行う手段と、前記他のコンピュータのいずれからも前記ダウンロードしようとするデータを保持していることを示す応答が返信されなかった場合、前記サーバから前記データをダウンロードする手段とを有することを特徴とするクライアントシステム。
- 請求項1に記載のクライアントシステムにおいて、該クライアントシステムに含まれる各コンピュータは、前記問い合わせ送信手段による問い合わせ情報の送信を行う前に、前記サーバに対して前記ダウンロードしようとするデータ容量を問い合わせるデータ容量問い合わせ手段と、該データ容量の問い合わせに応じて前記サーバから返信されたデータ容量の情報と、前記問い合わせを行ったコンピュータ自身が有するデータバッファの使用可能容量とを比較し、該データバッファの使用可能容量が前記サーバから返信されたデータ容量より小さいときは、前記データバッファの保存データを削除して使用可能容量を確保するデータバッファ確保手段を有し、前記データバッファ確保手段によりデータバッファ容量を確保した上で、前記他のコンピュータまたは前記サーバからデータのダウンロードを行うことを特徴とするクライアントシステム。
- 請求項1または2に記載のクライアントシステムにおいて、前記データバッファ確保手段は、前記データバッファの使用可能容量が前記サーバから返信されたデータ容量より小さいときは、LRUによって未使用の時間が最も長いデータから削除していくことを特徴とするクライアントシステム。
- 請求項1ないし4のいずれか1に記載のクライアントシステムにおいて、前記クライアントシステムに含まれる各コンピュータは、他のコンピュータに対して、該他のコンピュータが保持しているデータについて問い合わせる手段を有し、前記データバッファ確保手段は、前記データバッファの使用可能容量が前記サーバから返信されたデータ容量より小さいときは、前記保持しているデータの問い合わせに対する他のコンピュータからの回答に基づいて、保持しているコンピュータ数が多いデータから優先して削除することを特徴とするクライアントシステム。
- 請求項1ないし4のいずれか1に記載のクライアントシステムにおいて、前記問い合わせ情報送信手段は、マルチキャスト通信により、複数の他のコンピュータに対して問い合わせ情報を送信することを特徴とするクライアントシステム。
- 請求項1ないし5のいずれか1に記載のクライアントシステムにおいて、該クライアントシステムに含まれる各コンピュータは、前記問い合わせに対する応答を返信したコンピュータからデータのダウンロードを行う際、前記応答を返信したコンピュータからダウンロードしたデータのメッセージダイジェスト値を算出する手段と、前記サーバに対して、該サーバが配布している前記ダウンロードデータに該当するメッセージダイジェスト値を取得する手段と、前記ダウンロードしたデータから算出したメッセージダイジェスト値と前記サーバから取得したメッセージダイジェスト値を比較する手段と、該メッセージダイジェスト値を比較した結果、該比較したメッセージダイジェスト値が互いに一致していなければ、ダウンロードしたデータを無効にする手段とを有することを特徴とするクライアントシステム。
- サーバとの間でネットワークを介して接続され、該サーバからのデータのダウンロードを可能とする複数のコンピュータよりなり、該複数のコンピュータが相互に接続されてなるクライアントシステムにおいて、該クライアントシステムに含まれる各コンピュータは、前記サーバから前記クライアントシステムのコンピュータに対するプッシュ転送によりデータをダウンロードする手段と、該プッシュ転送によりダウンロードしたデータを、前記クライアントシステムに含まれる他のコンピュータにプッシュ転送する手段とを有することを特徴とするクライアントシステム。
- 請求項7に記載のクライアントシステムにおいて、該クライアントシステムに含まれる各コンピュータは、他のコンピュータから前記プッシュ転送されたデータをダウンロードする手段と、該他のコンピュータからプッシュ転送によりダウンロードしたデータを、前記クライアントシステムに含まれる更に他のコンピュータにプッシュ転送する手段とを有することを特徴とするクライアントシステム。
- 請求項7または8に記載のクライアントシステムにおいて、前記サーバからダウンロードしたデータ、または前記他のコンピュータからダウンロードしたデータを前記プッシュ転送する手段は、マルチキャスト通信により、複数の他のコンピュータに対してプッシュ転送を行うことを通知することを特徴とするクライアントシステム。
- 請求項7ないし9のいずれか1に記載のクライアントシステムにおいて、前記クライアントシステムに含まれる各コンピュータは、前記サーバからのプッシュ転送によるダウンロードを行うに際し、または前記他のコンピュータからのプッシュ転送によるダウンロードを行うに際し、前記サーバに対して前記ダウンロードしようとするデータ容量を問い合わせるデータ容量問い合わせ手段と、該データ容量の問い合わせに応じて前記サーバから返信されたデータ容量の情報と、前記問い合わせを行ったコンピュータ自身が有するデータバッファの使用可能容量とを比較し、該データバッファの使用可能容量が前記サーバから返信されたデータ容量より小さいときは、前記データバッファの保存データを削除して使用可能容量を確保するデータバッファ確保手段を有し、該データバッファ確保手段によりデータバッファ容量を確保した上で、前記サーバまたは前記他のコンピュータからデータのダウンロードを行うことを特徴とするクライアントシステム。
- 請求項10に記載のクライアントシステムにおいて、前記データバッファ確保手段は、前記データバッファの使用可能容量が前記サーバから返信されたデータ容量より小さいときは、LRUによって未使用の時間が最も長いデータから削除していくことを特徴とするクライアントシステム。
- 請求項10に記載のクライアントシステムにおいて、前記クライアントシステムに含まれる各コンピュータは、他のコンピュータに対して、該他のコンピュータが保持しているデータについて問い合わせる手段を有し、前記データバッファ確保手段は、前記データバッファの使用可能容量が前記サーバから返信されたデータ容量より小さいときは、前記保持しているデータの問い合わせに対する他のコンピュータからの回答に基づいて、保持しているコンピュータ数が多いデータから優先して削除することを特徴とするクライアントシステム。
- 請求項7ないし12のいずれか1に記載のクライアントシステムにおいて、該クライアントシステムに含まれる各コンピュータは、前記プッシュ転送により他のコンピュータからデータのダウンロードを行う際、前記他のコンピュータからダウンロードしたデータのメッセージダイジェスト値を算出する手段と、前記サーバに対して、該サーバが配布している前記ダウンロードデータに該当するメッセージダイジェスト値を取得する手段と、前記他のコンピュータからダウンロードしたデータから算出したメッセージダイジェスト値と前記サーバから取得したメッセージダイジェスト値を比較する手段と、該メッセージダイジェスト値を比較した結果、該比較したメッセージダイジェスト値が互いに一致していなければ、ダウンロードしたデータを無効にする手段とを有することを特徴とするクライアントシステム。
- 請求項7ないし13のいずれか1に記載のクライアントシステムにおいて、該クライアントシステムが含まれる各コンピュータは、予め同一データを転送する転送回数を定めて保持する手段と、前記プッシュ転送より他のコンピュータにデータを転送してダウンロードさせる場合に、データの転送回数を計数し、該転送回数が前記予め定めた転送回数に達した場合に前記データ転送を停止する手段とを有することを特徴とするクライアントシステム。
- 請求項1ないし6のいずれか1に記載のクライアントシステムにおいて、該クライアントシステムに含まれる各コンピュータは、コンピュータ自身から前記サーバ装置までのルートのトレースを行ってその結果を保持するルートトレース手段と、前記問い合わせ送信手段による問い合わせ先を選択するため、問い合わせ先の候補となる他のコンピュータに対して、該他のコンピュータから前記サーバまでのルートのトレース結果を要求するルートトレース結果要求手段と、該ルートトレース要求手段の要求に応答して得られた前記他のコンピュータのルートトレース結果と前記コンピュータ自身のルートトレース結果とを比較して、コンピュータ自身のルートトレース結果に似ている他のコンピュータを検出するルートトレース比較検出手段とを有し、前記問い合わせ送信手段は、前記ルートトレース比較検出手段の検出結果に従って、コンピュータ自身のルートトレース結果に似ているルートトレース結果を有する他のコンピュータ順に、前記ダウンロードしようとするデータを保持しているかどうかの問い合わせ情報を送信することを特徴とするクライアントシステム。
- 請求項7ないし14のいずれか1に記載のクライアントシステムにおいて、該クライアントシステムに含まれる各コンピュータは、コンピュータ自身から前記サーバ装置までのルートのトレースを行ってその結果を保持するルートトレース手段と、前記プッシュ転送によるデータ転送先を選択するため、転送先の候補となる他のコンピュータに対して、該他のコンピュータから前記サーバまでのルートのトレース結果を要求するルートトレース結果要求手段と、該ルートトレース結果要求手段の要求に応答して得られた前記他のコンピュータのルートトレース結果と前記コンピュータ自身のルートとレース結果とを比較して、コンピュータ自身のルートトレース結果に似ている他のコンピュータを検出するルートトレース比較検出手段とを有し、前記プッシュ転送により他のコンピュータにデータを転送してダウンロードさせる場合、コンピュータ自身のルートトレース結果に似ているルートトレース結果を有する他のコンピュータ順に、前記プッシュ転送を実行することを特徴とするクライアントシステム。
- 請求項1ないし16のいずれか1に記載のクライアントシステムにおいて、前記クライアントシステムに含まれるコンピュータ同士の通信は、ピアツーピアにより行われることを特徴とするクライアントシステム。
- クライアントに対してデータをダウンロードさせるようにしたデータ配信サーバであって、該データのメッセージダイジェスト値をクライアントから要求された場合、及び該データのダウンロードが要求された場合に、該クライアントが該データを取り扱ったものと認識して、該メッセージダイジェスト値の要求及びダウンロードの要求履歴を保持することを特徴とするデータ配信サーバ。
- 請求項1ないし17のいずれか1に記載のクライアントシステムと、該クライアントシステムにネットワークを介して接続し、該クライアントシステムに対してデータをダウンロードさせるサーバとを有することを特徴とするデータ転送システム。
- 請求項19に記載のデータ転送システムにおいて、前記サーバは、ダウンロード可能なデータのメッセージダイジェスト値をクライアントシステムのコンピュータから要求された場合、及び該データのダウンロードが該クライアントシステムのコンピュータから要求された場合に、該コンピュータが該データを取り扱ったものと認識して、前記メッセージダイジェスト値の要求及びダウンロードの要求履歴を保持することを特徴とするデータ転送システム。
- 請求項1ないし17のいずれか1に記載のクライアントシステム、請求項18に記載のデータ配信サーバ、または請求項19または20に記載のデータ転送システムの機能を実現するためのプログラム。
- 請求項21に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004231957A JP2006048575A (ja) | 2004-08-09 | 2004-08-09 | クライアントシステム、データ配信サーバ、データ転送システム、プログラム及び記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004231957A JP2006048575A (ja) | 2004-08-09 | 2004-08-09 | クライアントシステム、データ配信サーバ、データ転送システム、プログラム及び記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006048575A true JP2006048575A (ja) | 2006-02-16 |
Family
ID=36027026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004231957A Pending JP2006048575A (ja) | 2004-08-09 | 2004-08-09 | クライアントシステム、データ配信サーバ、データ転送システム、プログラム及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006048575A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009193250A (ja) * | 2008-02-13 | 2009-08-27 | Nec Corp | 分散ディレクトリサーバ、分散ディレクトリシステム、分散ディレクトリ方法、およびプログラム |
JP2010086271A (ja) * | 2008-09-30 | 2010-04-15 | Fujitsu Ltd | 情報処理装置、情報処理システム、方法、およびプログラム |
JP2011055139A (ja) * | 2009-08-31 | 2011-03-17 | Brother Industries Ltd | 情報通信システム、ノード装置及びそのプログラム、並びにコンテンツ取得方法 |
JP2017152023A (ja) * | 2012-10-08 | 2017-08-31 | スン−シオン,パトリック | 分散型ストレージシステム及び方法 |
JP2019144752A (ja) * | 2018-02-19 | 2019-08-29 | 株式会社デンソー | 検証端末 |
US10671334B2 (en) | 2018-02-14 | 2020-06-02 | Ricoh Company, Ltd. | Print system, print server, management server, and job list providing method |
-
2004
- 2004-08-09 JP JP2004231957A patent/JP2006048575A/ja active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009193250A (ja) * | 2008-02-13 | 2009-08-27 | Nec Corp | 分散ディレクトリサーバ、分散ディレクトリシステム、分散ディレクトリ方法、およびプログラム |
JP2010086271A (ja) * | 2008-09-30 | 2010-04-15 | Fujitsu Ltd | 情報処理装置、情報処理システム、方法、およびプログラム |
JP2011055139A (ja) * | 2009-08-31 | 2011-03-17 | Brother Industries Ltd | 情報通信システム、ノード装置及びそのプログラム、並びにコンテンツ取得方法 |
JP2017152023A (ja) * | 2012-10-08 | 2017-08-31 | スン−シオン,パトリック | 分散型ストレージシステム及び方法 |
US10158713B2 (en) | 2012-10-08 | 2018-12-18 | Patrick Soon-Shiong | Distributed storage systems and methods |
US10778766B2 (en) | 2012-10-08 | 2020-09-15 | Patrick Soon-Shiong | Distributed storage systems and methods |
US10819790B2 (en) | 2012-10-08 | 2020-10-27 | Patrick Soon-Shiong | Distributed storage systems and methods |
US11677823B2 (en) | 2012-10-08 | 2023-06-13 | Patrick Soon-Shiong | Distributed storage systems and methods |
US11930077B2 (en) | 2012-10-08 | 2024-03-12 | Patrick Soon-Shiong | Distributed storage systems and methods |
US10671334B2 (en) | 2018-02-14 | 2020-06-02 | Ricoh Company, Ltd. | Print system, print server, management server, and job list providing method |
JP2019144752A (ja) * | 2018-02-19 | 2019-08-29 | 株式会社デンソー | 検証端末 |
JP7013921B2 (ja) | 2018-02-19 | 2022-02-01 | 株式会社デンソー | 検証端末 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11232160B2 (en) | Extensible and elastic data management services engine external to a storage domain | |
US7490140B2 (en) | Peer data transfer orchestration | |
KR101923245B1 (ko) | 투명한 장애 극복 기법 | |
JP5526137B2 (ja) | 選択的データ転送ストレージ | |
US7343395B2 (en) | Facilitating resource access using prioritized multicast responses to a discovery request | |
JP4473942B2 (ja) | コンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラム | |
JP2004246632A (ja) | データ分配サーバ、プログラム及びネットワークシステム | |
WO2007012914A1 (en) | Distributed system for delivery of information via a digital network | |
JP2008516528A (ja) | ネットワークのサービスノードの特定 | |
KR20090038849A (ko) | 패킷 기반의 데이터 전송을 위한 규칙 기반 캐싱 | |
US20060236386A1 (en) | Method and apparatus for cooperative file distribution in the presence of firewalls | |
JP2007108905A (ja) | ファイルサーバ、ファイル提供方法及びプログラム | |
WO2005086044A2 (en) | Data provisioning method and system | |
KR20170064996A (ko) | 콘텐트 중심 네트워크에서의 명시적 콘텐트 삭제 명령어들 | |
JP2008234206A (ja) | 情報送信システム、情報処理装置、情報管理装置及び情報送信方法 | |
JP2008181213A (ja) | 情報管理システム、情報管理装置およびプログラム | |
US10289353B2 (en) | Transfer jobs to service printers | |
JP2006048575A (ja) | クライアントシステム、データ配信サーバ、データ転送システム、プログラム及び記録媒体 | |
US9292358B2 (en) | Remotely retrieving information from consumer devices | |
WO2008041422A1 (fr) | Terminal de système de distribution de contenu, son procédé de traitement d'information et programme contenant un support d'enregistrement | |
JP2006508465A (ja) | ファイル共有アプリケーションに対するインデックス・サーバ・サポート | |
US20100057748A1 (en) | Method and Apparatus for Parameterized Promotion and Delivery of Data | |
JP7458942B2 (ja) | 情報処理装置、画像形成装置、システム及び制御方法 | |
US8260853B2 (en) | Document distribution system and method using WebDAV protocol | |
JP2005321922A (ja) | 情報共有システムおよび情報共有用プログラム |