JP2005027243A - ディジタル・コンテンツ配信システム、ディジタル・コンテンツ配信方法、そのためのサーバ、クライアント、サーバとしてコンピュータを制御するためのコンピュータ実行可能なプログラムおよびクライアントとしてコンピュータを制御するためのコンピュータ実行可能なプログラム - Google Patents

ディジタル・コンテンツ配信システム、ディジタル・コンテンツ配信方法、そのためのサーバ、クライアント、サーバとしてコンピュータを制御するためのコンピュータ実行可能なプログラムおよびクライアントとしてコンピュータを制御するためのコンピュータ実行可能なプログラム Download PDF

Info

Publication number
JP2005027243A
JP2005027243A JP2003270818A JP2003270818A JP2005027243A JP 2005027243 A JP2005027243 A JP 2005027243A JP 2003270818 A JP2003270818 A JP 2003270818A JP 2003270818 A JP2003270818 A JP 2003270818A JP 2005027243 A JP2005027243 A JP 2005027243A
Authority
JP
Japan
Prior art keywords
client
network
server
packet
computer
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.)
Granted
Application number
JP2003270818A
Other languages
English (en)
Other versions
JP3731885B2 (ja
Inventor
Akira Sugihara
亮 杉原
Shuichi Shimizu
周一 清水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2003270818A priority Critical patent/JP3731885B2/ja
Priority to US10/884,137 priority patent/US20050021817A1/en
Publication of JP2005027243A publication Critical patent/JP2005027243A/ja
Application granted granted Critical
Publication of JP3731885B2 publication Critical patent/JP3731885B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1854Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with non-centralised forwarding system, e.g. chaincast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】 サーバからディジタル・コンテンツを再構成するに必要とされる最小のパケットを送信するだけで、ローカル・ネットワークに接続されたすべてのクライアントに対して同一のディジタル・コンテンツを共有させること。
【解決手段】 本発明のディジタル・コンテンツ配信システム10は、第1のネットワーク12に接続される第2のネットワーク22、28を構成し、ディジタル・コンテンツを受信して提供するためのクライアント20を含む。サーバ14は、コリジョン・ドメインとして構成された第2のネットワーク28に参加しているクライアント20のアドレス識別値を格納するクライアント・リストと、クライアント・リストに登録されたクライアント識別値をランダムに選択する手段とを含んでおり、選択に応答して、選択されたクライアント20に対してディジタル・コンテンツを構成するための最小単位のパケットを送信する。
【選択図】 図1

Description

本発明は、ネットワークを介してサーバから、複数のローカル・ネットワークに接続されたクライアントへのディジタル・コンテンツの配信に関する。より詳細には、本発明は、サーバからディジタル・コンテンツを再構成するに必要とされる最小のパケットを送信するだけで、ローカル・ネットワークに接続されたすべてのクライアントに対して同一のディジタル・コンテンツを共有させることを可能とする、ディジタル・コンテンツ配信システム、ディジタル・コンテンツ配信方法、そのためのサーバ、クライアント、サーバとしてコンピュータを制御するためのコンピュータ実行可能なプログラム、およびクライアントとしてコンピュータを制御するためのコンピュータ実行可能なプログラムに関する。
近年では、コンピュータ、公衆電話回線、ISDN、光通信、無線通信、ADSL、CATVなどの方式を介したインターネットといったネットワークがますます普及している。今後、電子メールといったディジタル・コンテンツの配信ばかりではなく、ネットワークを介してテキスト・データ、音声データ、画像データ、およびこれらの複合したマルチメディア・データを、ディジタル・コンテンツを提供するサイトに配置されたサーバから、ネットワークを介して複数のコンピュータ、または携帯端末といったクライアントへと配信するサービスがさらに普及するものと考えられる。
これまで種々の手法が一対多のデータ配信のために提案されてきているものの、コンピュータ装置およびネットワーク環境の多様化の速度も相俟って、さまざまな問題が生じてきている。図19および図20には、従来の上述した一対多のデータ配信を行う場合の代表的な手法を示す。図19を使用して従来技術を説明すると、図19(a)がユニキャストを使用したデータ配信プロセスを示し、図19(b)がIPマルチキャストを使用したデータ配信を示している。図19(a)に示したユニキャストを用いるデータ配信は、ネットワーク100を通してデータを配信することを想定した場合、送信先のクライアント102の数の増加に伴い同一のデータを共有させるためのデータ・ストリームも比例して増加することになる。このため、あて先の異なる同一のデータが重複してネットワークを100を介して通信されるので、ネットワーク100またはネットワーク100に接続された所定のドメインを規定するルータの混雑を引き起こすことになる。同様の不都合は、配信サーバ104についても発生し、配信サーバ104の負荷がクライアント102の増加に伴って大きくなるという問題も生じる。
図19(b)には、ユニキャストの持つ問題を解決する方法として提案されている、IPマルチキャストの概略的な手法を示す。IPマルチキャストでは、ネットワーク100には、専用ルータ106が接続されている。専用ルータ106は、サーバ104が所定のマルチキャスト・アドレスにデータ・ストリームを送信すると、ネットワーク100経路上の専用ルータ106がパケットを受信して、パケットを、そのマルチキャスト・アドレスに登録されている複数のクライアント102へのデータ配信が実行される。
この場合、専用ルータ106間には、クライアント100の数にかかわらず、単一のデータ・ストリームしか流れないために、ネットワークの混雑が防止され、またサーバの負荷も大幅に軽減される。しかしながら、IPマルチキャストを用いるためには経路上のすべてのルータを専用ルータ106で置き換える対応が不可欠であり、インフラ基盤への投資が不可欠で、膨大な設備投資が必要となる。さらにIPマルチキャストに対応している専用ルータ106でも、運用上、マルチキャスト・パケットを通させない設定になっている場合が多い。このため、IPマルチキャストによる配信は多くの場合現実的でない。
上のようなIPマルチキャストの問題を解決する一つの方法として、MBoneに代表される「マルチキャスト・トンネリング」がある。これはマルチキャストの通らないネットワーク間をユニキャストによる仮想的なトンネルで結び、マルチキャスト・パケットが届くようにしたものである。この方法では、トンネルを構成するコンピュータでトンネルを構成させるため、常にデーモン・プロセスが機能している必要がある。マルチキャスト・トンネリングを使用すれば、IPマルチキャストのみを用いる場合に比べて適用範囲は広がるものの、インフラサポートを必要とすること、ルーティングの難しさなど、IPマルチキャストに付随する数々の問題は依然として完全には解決されるものではない。さらにIPマルチキャストには、アドレスが全世界で一意に決められているため、限られたドメインへの配信を行うのが一般に困難であるという問題があり、これはマルチキャスト・トンネリングに関しても同様である。
また、IPマルチキャストの変形例として、Small Group Multicast (XCast) も知られている。Small Group Multicast (XCast)は、パケット内にすべての宛先リストを記しておき、ネットワーク上に存在するSGM対応のルータがパケットを解釈して個別的にユニキャストを行うものである。この方法では、SGM非対応のルータが間に存在してもよいこと、IPマルチキャストと比較すると単純な実装かつ配信範囲を規定できるということなどの特色がある。しかしながらこの方法も、名の示すとおり小規模なグループに同時配信を行う技術であるために、グループの規模がある程度大きくなると宛先リストが肥大化し、パケットごとの負荷が大きくなるので適用範囲が限定されてしまう。
図20には、いわゆるアプリケーションレベル・マルチキャストとして参照される、データ配信手法を概略的に示す。図20に示されたアプリケーションレベル・マルチキャストは、IPマルチキャストと同等の動作を、クライアントのアプリケーション上で実現する技術の総称である。このアプリケーションレベル・マルチキャストでは、サーバ104は、ユニキャストを用いて、単独あるいは少数のクライアント102へとデータを送信する。データの配信を受けたクライアント102aは、別のクライアント102b〜クライアント102fにデータを転送することで、最終的にこれらの全クライアントにデータを共有させている。このようなアプリケーションレベル・マルチキャストは、インフラへの追加投資を必要としないという特長がある。しかしながら、アプリケーションレベル・マルチキャストは、通常ではクライアント構成の変化に応じた配信ルートの更新が複雑になるという欠点がある。
さらに、アプリケーションレベル・マルチキャストにおいて、クライアントの役割が固定されている場合には、上流に位置するクライアントがローカル・ネットワークから離脱したり、突然ダウンしたりした場合、下流のクライアントまでデータが届かなくなるという本質的問題も生じる。この問題を解決するには、各クライアントに対し、各クライアントが配信を受ける必要のない時にも転送のみを行うデーモン・プロセスを動かしておくことで対応することも考えられる。しかしクライアントに障害が発生した場合や、ワイヤレスLANのホット・スポットのようにクライアントが物理的に離脱してしまう場合などにはこの方法では対応できない。
「Multicast. Routing inInternetworks and Extended LANs」(Stanford University, Department of ComputerScience Technical Report: STAN-CS-88-1214, July, 1988). Small Group Multicast (XCast)RickBoivie et al., "Small Group Multicast: A New Solution for Multicasting on theInternet", IEEE Internet Computing, May/June 2000, pp 75-77. Dimitrios Pendarakis, Sherlia Shi,Dinesh Verma, and Marcel Waldvogel. Almi: An application level multicastinfrastructure. In Proceedings of the 3rd USENIX Symposium on InternetTechnologies and Systems (USITS), pages 49--60, 2001. Y. Chu, S. Rao, and H. Zhang. ACase For End System Multicast. In Proc. ACM Sigmetrics, June 2000; P. Francis,"Yoid: extending the interent multicast architecture", preprint available fromhttp://www.isis.edu/div7/yoid/, April 2000).
これらの問題を解決するひとつの方法として、本願発明者らは、下記特許文献1において、新規なデータ配信手法を提案した。
特願2002−303850号明細書
以下、上記明細書に開示されたデータ配信を、「P2G(ピア−ツウ−グループ)型データ配信」として参照する。図21には、特願2002−303850号公報に開示されたP2G型データ配信の手法を概略的に示した図である。P2Gデータ配信は、サーバ104からクライアント102のうち一台にユニキャストでパケットを送信する。その後複数のクライアントで構成される「ドメイン」内でユニキャストを用いてP2P型のデータ共有を行うことで、クライアント全体にデータを配信している。さらに配信サーバから最初にデータを送る送信先クライアントをランダムに変更することで、負荷分散とともに、配信システムの頑強性を実現している。
しかしながら、本発明者らによる検討の結果、上述したP2G型データ配信は、ワイヤレスLANやリピータによる有線LANなどのコリジョン・ドメイン(非スイッチング環境)においては必ずしも効率的でない場合があることを見出した。図22には、コリジョン・ドメインにおいて発生する不都合について、概略的に説明する。図22(a)がスイッチング手段を使用するP2Gデータ配信のトラフィック経路を概略的に示した図であり、図22(b)がコリジョン・ドメインにおいて発生する不都合を概略的に示した図である。図22(a)に示すように、スイッチング・ハブといったスイッチング手段を使用するP2Gデータ配信では、パケットが送信先の端末の接続されたポートに対してのみ送信されるため、P2Gデータ配信により送られるデータのドメイン内での通信に大きな不都合は生じない。
ところで、図22(b)に示すコリジョン・ドメインでは、任意の2クライアント間の通信は、該当するクライアントFとの間ばかりではなく、他のすべてのクライアントに到達することになる。このため、せっかくP2Gデータ配信を使用して最小パケットを送信したとしても、結局のところ所定のクライアント、例えばクライアントFには(n-1)の同一のパケットが送られることになる。このとき、クライアントFは、自分宛のデータのみを選択して取り込むが、通信パケットの転送中、他のすべてのクライアントの通信が妨げられることになる。
より具体的に説明すると、例えば、ワイヤレスLAN、リピータ・ハブ/ブリッジなどにより形成されているドメインといった非スイッチング環境のネットワーク内にP2Gデータ配信を適用した場合には、一対一の通信が宛先のみならずコリジョン・ドメイン内全体に一度は行き渡る。このため、コリジョン・ドメイン内では、P2P型のデータ共有を行うためにあて先とされるクライアント以外にも影響を与える大量のパケット(O(n2),
n はクライアント数)が重複して通信されてしまう。
このことは、P2G型データ配信を、ワイヤレスLAN環境を含むネットワークへと配信することを想定すると、ネットワークの帯域幅を無駄に消費することになり、コリジョン・ドメイン内において、全体の通信速度の低下などの問題を生じさせる。また、所定の通信パケットを一つのクライアントから他のクライアントへと通信している間には、これとは関係のないクライアント−クライアント間の通信が妨げられることになる。
上述したように、P2G型データ配信は、ドメイン内のクライアントがスイッチング・ハブといったスイッチ手段で接続されている、いわゆるコリジョンレス・ドメインの場合には高効率で、クライアント構成の変化に対する頑強性も併せ持っているといえる。しかしながら、コリジョン・ドメイン(非スイッチング環境)では、上述したように、コリジョン・ドメイン内での通信が効率的に行えないために、適用範囲が限定されてしまうという不都合があることが本発明者らのさらなる検討により判明した。したがって、従来のP2G型データ配信において、インフラへの追加投資をなるべく少なくしつつ、コリジョン・ドメインとして参照されるネットワーク環境において多数のクライアントに効率的にデータを配信する方法が必要であることが判明した。
本発明は、上記P2G型データ配信において、スイッチング手段を使用しないネットワーク環境での不都合を改善するためになされたものである。本発明では、サーバがすべて、あるいは一部の配信先クライアントと接続可能であると仮定し、サーバが任意の1クライアントにユニキャストでソース・パケットを送信する。受信したクライアントは、所定のローカルなマルチキャスト・アドレスに向けて、コピー・パケットを転送する。配信サービスを受けるすべてのクライアントは、このマルチキャスト・アドレスにアクセスできる。このため、最初にどのクライアントが配信サーバから直接パケットを受信したかに関わらず、すべてのクライアントが常にパケットを受信することが可能である。
さらに本発明では、サーバが最初にパケットを送信するクライアントをランダムに変化させることにより、各クライアントがマルチキャスト・アドレスに対してコピー・パケットを送信する頻度は、クライアントの数が増加すればするほどクライアント数に反比例して低くなる。このため、クライアント間の負荷が分散されると同時に、特定のクライアントのネットワークへの参加・離脱への対応が容易になる。また、クライアントが協働してディジタル・コンテンツの共有を可能とするべく動作するので、対応コリジョン・ドメインにおいて2次サーバなどの追加投資を不要とすることができる。
すなわち、本発明によれば、第1のネットワークと第2のネットワークとを介してディジタル・コンテンツを配信するためのシステムであって、
前記第1のネットワークに接続され、ディジタル・コンテンツを送信するサーバと、
前記第1のネットワークに接続される前記第2のネットワークを構成し、前記ディジタル・コンテンツを受信して提供するためのクライアントとを含み、
前記サーバは、前記第2のネットワークの所定のドメインに参加しているクライアントのアドレス識別値を格納するクライアント・リストと、
前記クライアント・リストに登録されたクライアント識別値をランダムに選択する手段と、
前記選択に応答して、選択されたクライアントに対して前記ディジタル・コンテンツを構成するための最小単位のパケットを送信する手段とを含み、
前記クライアントは、前記サーバから受信した前記最小単位のパケットからコピー・パケット作成して、前記クライアントが帰属される第2のネットワークへと前記コピー・パケットをマルチキャストさせる手段を含む
ディジタル・コンテンツ配信システムが提供される。
前記サーバは、マルチキャスト・アドレス値を前記クライアントに送信する手段を含む。前記サーバは、前記クライアントが前記第2のネットワークへと接続されたことを検出して、前記クライアント・リストを更新する手段を含む。前記サーバは、前記最小単位のパケットを受信する前記クライアントからの応答により、前記クライアント・リストから前記クライアントのアドレス識別値を削除する手段を含む。前記サーバは、次に最小単位のパケットを送信するべきクライアントの選択手段を変更するために使用される前記第2のネットワークの環境を格納したドメイン・リストを含む。前記第2のネットワークは、少なくともワイヤレス・ローカル・ネットワーク環境を含み、前記クライアントは、ワイヤレス環境でネットワークされた携帯端末である。
また、本発明によれば、第1のネットワークと第2のネットワークとを介してディジタル・コンテンツを配信するための方法であって、
前記第1のネットワークに接続されたサーバにより前記第2のネットワークのネットワーク環境に応答して選択される前記第2のネットワークに帰属されるクライアントが、前記第1のネットワークを介してディジタル・コンテンツを構成するための最小単位のパケットを受信するステップと、
前記最小単位のパケットを受信した前記クライアントに対して、前記最小単位のパケットのコピー・パケットを作成させるステップと、
前記クライアントから前記クライアントが帰属される第2のネットワークへと前記作成されたコピー・パケットをマルチキャストさせ、前記第2のネットワークに帰属されるすべてのクライアントに対して前記最小単位のパケットを共有させるステップと
を含む、ディジタル・コンテンツ配信方法が提供される。
本発明の前記クライアントは、前記サーバが保持するクライアント・リストに登録された前記クライアントのアドレス識別値をランダムに選択することにより選択される。本発明の前記クライアント・リストは、前記クライアントが前記第2のネットワークへの接続および前記クライアントの応答に応じて更新される。前記クライアントが、前記サーバから、前記第2のネットワーク内でマルチキャストを行うためのマルチキャスト・アドレス値を取得するステップを含む。
さらに、本発明によれば、第1のネットワークと第2のネットワークとを介してディジタル・コンテンツを配信するためのシステムにおいて使用されるサーバであって、前記サーバは、
前記第2のネットワークの所定のドメインに参加しているクライアントのアドレス識別値を格納したクライアント・リストから、前記クライアント・リストに登録されたクライアント識別値をランダムに選択する手段と、
前記選択に応答して、選択されたクライアントに対して前記ディジタル・コンテンツを構成するための最小単位のパケットを送信する手段と、
前記クライアントの前記第2のネットワークへの接続および前記最小単位のパケットを受信する前記クライアントからの応答を検出して、前記クライアント・リストへのアドレス識別値の追加または削除により前記クライアント・リストを更新する手段と
を含むサーバが提供される。
本発明のサーバは、さらに、前記第2のネットワーク内で使用されるマルチキャスト・アドレス値を前記クライアントに送信する手段を含む。前記サーバは、最小単位のパケットを送信するべきクライアントの選択手段を変更するために使用される前記第2のネットワークの環境を格納したドメイン・リストを含む。
また、本発明によれば、第1のネットワークと第2のネットワークとを介するディジタル・コンテンツの配信方法を実行させるサーバとしてコンピュータを制御するためのコンピュータ実行可能なプログラムであって、前記プログラムは、コンピュータに対して
前記第2のネットワークの所定のドメインに接続しているクライアントのアドレス識別値を格納したクライアント・リストから、前記クライアント・リストに登録されたクライアント識別値をランダムに選択させるステップと、
前記選択に応答して、選択されたクライアントに対して前記ディジタル・コンテンツを構成するための最小単位のパケットを送信させるステップと、
前記クライアントの前記第2のネットワークへの接続および前記最小単位のパケットを受信する前記クライアントからの応答を検出して、前記クライアント・リストのアドレス識別値の追加または削除により前記クライアント・リストを更新するステップと、
前記第2のネットワーク内で使用されるマルチキャスト・アドレス値を前記クライアントに送信させるステップと
をコンピュータに対して実行させる、プログラムが提供される。
本発明では、サーバに対してさらに前記サーバに対して、さらに最小単位のパケットを送信するべきクライアントの選択手段を変更するために使用される前記第2のネットワークの環境情報を格納したドメイン・リストを参照させるステップを実行させる。
さらに、本発明によれば、第1のネットワークと第2のネットワークとを介してディジタル・コンテンツを配信するためのクライアントとしてコンピュータを制御するためのコンピュータ実行可能なプログラムであって、前記プログラムは、
前記第1のネットワークに接続されたサーバから前記第2のネットワークのネットワーク環境に応答して選択されたコンピュータに対してディジタル・コンテンツを構成するための最小単位のパケットを受信するステップと、
前記最小単位のパケットを受信した前記コンピュータに対して、前記最小単位のパケットのコピー・パケットを作成させるステップと、
前記コンピュータから前記コンピュータが帰属される第2のネットワークへと前記作成されたコピー・パケットをマルチキャストさせ、前記第2のネットワークに帰属されるすべてのコンピュータに対して前記受信した最小単位のパケットを共有させるステップと
を実行させる、プログラムが提供される。
本発明では、前記コンピュータに対し、前記サーバから送信され、前記第2のネットワーク内でマルチキャストを行うためのマルチキャスト・アドレス値を取得させるステップを実行させることができる。
セクションI P2G型データ配信の概略的な説明
図1は、本発明のディジタル・コンテンツ配信システム10の概略図である。本発明のディジタル・コンテンツ配信システム10は、ネットワーク12に接続されたサーバ14と、それぞれルータ16およびスイッチング・ハブ18といったネットワーク機器を介してネットワーク12に接続された複数のクライアント20とを含んで構成されている。図1に示されたネットワーク12としては、インターネット、WAN、LANといったネットワークを挙げることができ、ネットワークを構成するための通信媒体としては、公衆電話回線、ISDN、ADSL、光通信、地上波無線通信などを使用することができる。サーバ14は、ネットワーク12およびネットワーク22を介して、クライアント20へと、本発明により、ディジタル・コンテンツを配信する。
本発明において配信されるディジタル・コンテンツとしては、リアルタイム性を持って同時に複数のクライアントに対してコンテンツの提供を行うことが必要な、MPEG2、MPEG4、またはさらに高次の動画イメージ・データなどを挙げることができる。また、本発明においてはディジタル・コンテンツとしては、動画イメージ・データの他、動画イメージ・データと音響データ、テキスト・データといった複数の種類のディジタル・データを含んで構成されたマルチメディア・データを用いることもできる。また、本発明においては、マルチメディア・データの他にも、ソフトウェアなどを含む任意のディジタル・データを配信することができる。
また、クライアント20は、ルータ16およびスイッチング・ハブ18などを介してネットワーク12へと接続されている。また、クライアント20は、同一のルータ16ごとに割り当てられた、たとえばIPアドレスなどのドメイン識別値に基づき、所定のドメイン番号などが割り当てられるなどの方法によってサーバ14により識別されている。また、所定のドメイン内においてクライアント20は、本発明の好ましい実施の形態においては、P2P接続で接続されたネットワーク22を形成していて、ドメイン内でのクライアント相互の通信が可能とされている。
さらに、本発明においては、スイッチング・ハブ18を使用して形成されるコリジョンレス・ドメインの他、例えばルータ16を介してネットワーク12から分岐され、ワイヤレス・ローカルエリア・ネットワーク(LAN)のためのターミナル、リピータ・ハブ/ブリッジといったスイッチング機能を有しないネットワーク手段24によりドメインとして構成されたコリジョン・ドメイン26を含んで構成されている。より具体的には、コリジョン・ドメイン26は、例えばワイヤレス・ローカル・ネットワーク、赤外線ローカル・ネットワークといったいわゆるワイヤレスLANや、イーサネット(登録商標)といった有線LAN、光ファイバなどで相互接続された光LANなどを使用するローカル・ネットワーク28として構成されている。
本発明において使用することができるサーバ14としては、パーソナル・コンピュータ、またはワークステーションから構成することが可能であり、このパーソナル・コンピュータ、またはワークステーションとしては、PENTIUM(登録商標):インテル社、といったCPU、またはこれと互換性のあるCPUを搭載することが可能で、WINDOWS(登録商標):マイクロソフト・コーポレーション)、WINDOWS(登録商標) NT(マイクロソフト・コーポレーション)、OS/2(商標:インターナショナル・ビジネス・マシーンズ・コーポレーション)、AIX(商標:インターナショナル・ビジネス・マシーンズ・コーポレーション)、ユニックス、リナックスといったオペレーティング・システムを動作させることが可能なパーソナル・コンピュータやワークステーションを挙げることができるが、これらのものに限定されるわけではない。
また、本発明において使用することができるクライアント20としては、上述したサーバ14に適用することができるパーソナル・コンピュータ、またはワークステーションを使用することができる。この他にも、特にコリジョン・ドメイン26では、ノートブック型パーソナル・コンピュータや、PDA、セルラ電話などの携行性の高いコンピュータなどを使用することができる。
図1に示したディジタル・コンテンツ配信システムは、スイッチング手段を使用したコリジョンレス・ドメインと、コリジョン・ドメインとが共存しているものとして示されている。しかしながら、本発明は、すべてのドメインがコリジョン・ドメインであってもよい。
図1に示した本発明のディジタル・コンテンツ配信システム10のコンテンツ配信処理を概略的に説明すると、サーバ14は、動画イメージ・データを複数のストリームへと分解し、1つのストリームをさらに複数のパケットへと分割して、サーバ14から、選択されたクライアント20へと、ソース・パケットとして重複することなく送信する構成とされている。本発明においては、ソース・パケットは、ディジタル・コンテンツを再構成するために必要とされる最小単位のパケットのことを意味し、所定のドメインには、後述するように、特に障害が発生しない限り、重複送信されることのないパケットを意味する。ソース・パケットは、クライアントを選択するための選択手段がコリジョンレス・ドメインまたはコリジョン・ドメインに依存して変更されるものの、所定のドメインに帰属される少なくとも1つのクライアントへと送信される。ソース・パケットを受信したクライアントは、そのドメイン内に含まれる他のクライアントへと、受信したソース・パケットのコピー(以下コピー・パケットとして参照する。)を送信する。
コピー・パケットを受信したクライアントは、所定の期間にわたりコピー・パケットを蓄積し、所定の期間経過後に、パケットに付されたたとえば連番として付されたパケット識別子を使用してストリームを再構成し、クライアントにおいてディジタル・コンテンツを表示または再生させる。すなわち、本発明においては、サーバ14は、1つのグループに対して重複したパケットをクライアントごとに送信すること無く、所定のグループに属するクライアントに同一のディジタル・コンテンツの共有を可能とする。コリジョンレス・ドメイン上述したコンテンツ配信処理のより詳細については、上記特許文献1において詳述したので、これ以上の説明は、行わない。
セクションII コリジョン・ドメインへのコンテンツ配信および共有
図2には、図1に示したコンテンツ配信システムにおいて、サーバ14からコリジョン・ドメイン26へとソース・パケットが送信される場合の、ソース・パケットと、コピー・パケットの送信の実施の形態を示す。図2において、実線で示した矢線がソース・パケットの伝送を示し、破線で示した矢線が、コピー・パケットの伝送を示す。なお、図2に示した実施の形態は、説明のため、コリジョンレス・ドメインおよび他のコリジョン・ドメインについて省略して示している。
サーバ14からネットワーク12へと送出されたソース・パケットは、ルータ16aを介して、スイッチング機能を有しないネットワーク機器24に到達する。ソース・パケットには、サーバがランダムに選択したコリジョン・ドメインに帰属されるクライアント20a〜20fのうちの1つの例えば、クライアント20aのIPアドレスといったアドレス識別値が含まれている。ネットワーク機器24は、受け取ったソース・パケットをローカル・ネットワーク28へと送出させている。ソース・パケットは、ローカル・ネットワーク28へと送出された後、ソース・パケットに含まれたアドレス識別値を有するクライアントへと読み込まれる。
図3には、本発明において使用することができるソース・パケット30の概略的な構成を示す。図3に示すように、サーバ14から送信されたソース・パケット30は、IPヘッダ情報を含んで構成されている。IPヘッダ情報は、IPバージョン情報や送信元アドレス30a、宛先アドレス30bを含んで構成されている。さらに、ソース・パケット30は、配信を行うデータ・パケット30cと、ソース・パケット30に固有の連番として付されたパケット識別子30dとを含むのが示されている。また、ソース・パケット30には、サーバ14がソース・パケット30を送信した送信時刻30eが付加される。本発明においては、上述したデータ・パケット30c、パケット識別子30dと、送信時刻30eとを、アプリケーション・レベルで作成する独自パケットとして構成することができる。
図4には、本発明において使用することができるコピー・パケット32の概略的な実施の形態を示す。コピー・パケット32は、概ね、受け取ったデータ・パケット30cと、パケット識別値30dとがコピーされ、同時に当該コリジョン・ドメイン内でマルチキャスト可能なマルチキャスト・アドレス32a、例えば239.xxx.yyy.zzzと、コピー・パケット32を送出したクライアント20aの送信元アドレス32bとを含んでいる。図4に示されたコピー・パケット32は、ローカル・ネットワーク28へと送出された後、ローカル・ネットワーク28に接続された、図2に示された他のクライアント20b〜20fにより取得され、バッファ・メモリに格納される。
上述したクライアント20a〜20fの処理は、適切な間隔で元のディジタル・コンテンツを再生できるだけ、パケットがバッファ・メモリに蓄積されるまで繰り返される。その後、パケット識別値を使用してパケットの完全性を判断し、必要に応じてパケットのソーティングを実行し、各クライアントにおいてディジタル・コンテンツの再構築が実行される。本発明においては、ソース・パケットを構成させるために特定の形式、アプリケーションを指定するものではないが、例えば、ソース・パケットを「.wav」ファイルの形式で作成し、例えば再生プログラムとして、MediaPlayer(商標)といったアプリケーションを使用することができる。
セクションIII 本発明のサーバ、クライアントおよびそれらの実行する処理
図5は本発明のサーバ14の概略的な構成を示した図である。図5に示されたサーバ14は、ネットワーク12に対して、モデム、DSU、またはネットワーク・インタフェイス・カードといった通信手段34を介して接続されており、図示しないクライアントへとディジタル・コンテンツを配信している。サーバ14には、たとえば、番組、講演会、挨拶、教育プログラムなどが、記憶装置36に保持されている。本発明におけるディジタル・データとしては、上述した動画イメージ・データを含む、マルチメディア・データとして構成することが好ましいが、これ以外にもディジタル・データであれば、いかなるものであってもよい。
サーバ14が、ディジタル・コンテンツをクライアントへと送信する場合には、まず、CPU38が、記憶装置36からディジタル・コンテンツを読み出し、読み出されたディジタル・コンテンツをソース・エンコーダ40およびFECエンコーダ42へと送る。ディジタル・データを受信したソース・エンコーダ40およびFECエンコーダ42は、ディジタル・データに対してストリーミング処理を施し、さらに1ストリームを所定のサイズのパケットに分割する。また、サーバ14は、送信するべきドメインのネットワーク環境に依存して送付するべきクライアントのアドレス識別値の選択をおこなうためのクライアント選択手段44を含んで構成されている。
クライアント選択手段44は、メモリ46に格納されたクライアント・リスト50およびドメイン・リスト56を参照して、クライアント識別子を取得する。その後、取得されたアドレス識別値、送信元アドレス、送信時刻、パケット識別値などを追加して、ソース・パケット30が生成される。生成されたソース・パケット30は、通信手段34を介して、ランダムに選択されたコリジョン・ドメインに帰属されるクライアントへと配信される。この場合にも、サーバ14は、所定のコリジョン・ドメインに対し、最小単位のパケットが送信させるにすぎず、重複したソース・パケットの送信を行うことがない。
図6には、本発明において使用することができるクライアント・リスト(a)およびドメイン・リスト(b)の実施の形態を示す。図6(a)に示したクライアント・リスト50は、コリジョン・ドメインごとに与えられるドメイン識別値52に基づき、ドメイン番号が1〜Nまで登録されている。また、クライアント・リスト50には、そのドメインに帰属されるクライアントであって、その時点でドメインに接続されており、P2G型データ配信への参加要求“Joinrequest”を発行したクライアントのアドレス識別値54が登録されている。
また、図6(b)に示されたドメイン・リスト56は、ドメインのネットワーク環境と、ドメイン番号といったドメイン識別値とを含んで構成される、ハッシュ・テーブルまたはデータベースとして構成することができる。このドメイン・リスト56は、P2G型データ配信を希望するドメインのネットワーク管理者が、P2G型データ配信に登録する際に、サーバ14に対してそのドメインのネットワーク環境を登録した時点で、あらかじめサーバ14に作成され、同様にハッシュ・テーブルや、データベースといった形態で格納させておくことができる。
また、本発明では、図6に示したように、クライアント・リスト50を、単一のクライアント・リストとして、すべてのドメインを登録しておき、ドメイン・リスト56を別に構成することもできる。また、本発明の別の実施の形態では、クライアント・リストとドメイン・リストとを同一のテーブルとして構成し、このテーブルに対して、例えばコリジョン環境識別カラムを設け、クライアントからの接続要求または参加要求または後述するレスポンス・パケットを受け取った段階で、テーブルの更新、異なるクライアント選択処理といったサーバ処理を実行させることができる。
本発明では、クライアント・リスト50は、ハッシュ・テーブルといった構成で実装することができる。クライアント・リスト50の更新は、アドレス識別値の追加、または削除により実行される。クライアントのアドレス識別値を追加する場合の処理は、クライアントがコリジョン・ドメインを形成しているローカル・ネットワーク26に接続された段階で、サーバ14に対して参加通知“Joinrequest”を発行し、参加通知“Joinrequest”に応答して、サーバ14が“IPmulticastaddress”を送付し、クライアントに対してIPマルチキャスト・アドレスの購読処理が完了した時点で、クライアント・リスト50に追加させることができる。
また、本発明の別の実施の形態において、サーバ14がIPマルチキャスト・アドレスを送付せずともクライアントが該当するマルチキャスト・アドレスを購読できる場合には、ドメインにクライアントが接続した段階で、クライアントからサーバ14へと“helloacknowledgement”を通知した段階でクライアント・リスト50にアドレス識別値を追加して更新することができる。
以下、コリジョン・ドメインにおいてクライアントを選択するためのクライアント選択手段44の機能処理を含むサーバ14の処理について詳細に説明する。サーバ14は、P2G型データ配信への参加要求、例えば“Joinrequest”を受け取ると、参加要求のパケットを解析して、参加要求を発行したクライアントを特定する。この場合、本発明を明確に説明するため、参加要求は、コリジョン・ドメインに帰属されたクライアントから発行されたものとして説明を行う。参加要求から、クライアントが帰属されるドメインの、例えばサブネットワーク・マスクなどのドメイン識別値が特定されると、サーバ14は、当該ドメイン識別値に帰属されるクライアントのIPアドレスといったアドレス識別値をランダムに選択して、宛先アドレスとして設定する。その後、サーバ14は、選択されたクライアントのアドレス識別値を含んだ図3に示した構成を有するソース・パケット30を生成して、通信手段34を介してネットワーク12へと送出させることにより、クライアント20へのソース・パケット30の送信を行う。
サーバ14が、クライアント・リストからクライアント識別値を選択する場合には、本発明の特定の実施の形態において、コリジョン・ドメインについては、ランダムに登録されているクライアント識別値を選択することができる。また、本発明の他の実施の形態では、直前にソース・パケットを送信したクライアント識別値を1つだけ除外して、残されたクライアント識別値からランダムにソース・パケットの選択を実行させることもできる。上述した他の実施の形態では、直前に送付されたソース・パケットからコピー・パケットを作成している処理を実行しているクライアントに再度ソース・パケットが送付される可能性を確実に排除することができるので、コリジョン・ドメインに対してより効率的なコンテンツ配信を行うことを可能とする。
本発明の好適な実施の形態では、図5に示すように通信手段34は、送信バッファ34aを含んで構成されている。送信バッファ34aには、ソース・パケット30を送信したクライアントごとに、キュー34bが格納されている。一方、クライアント選択手段44は、クライアントごとに割り当てられたキューの残量をモニタする、キュー・モニタ44aを含んで構成されている。
図7には、本発明の送信バッファ34a内に格納されたキュー34bの状態と、それに対応するクライアント20a〜20fのレスポンス状態を、送信指令がなされた時刻t0から、あらかじめ設定された時間間隔t後の状態を使用して概略的に示す。図7に示されるように、送信バッファ34aに格納されたキューの占有割合は、クライアント20fに示されるように、ソース・パケット30の受信処理に遅延が生じているほど、ソース・パケット30の送信を行った時刻t0bからの時間tだけ経過した段階での送信データによるキュー占有割合が増加することが示される。なお、図7では、残されたデータを黒の領域で示している。他方では、図7には、受信処理を迅速に行うことができるクライアント20aは、ソース・パケット30の送信指令t0fから時間tだけ経過した後のキュー占有割合が低くなることも示されている。
本発明の好適な実施の形態では、クライアント選択手段44に含まれたキュー・モニタ44aは、クライアントごとのキュー占有割合を算出し、その値を、クライアントのレスポンス指標とすることができる。このレスポンス指標は、値が小さければクライアントが良好なレスポンスを有していることに対応し、大きければクライアントが低いレスポンスを有していることを示す。このレスポンス指標は、より詳細には後述するが、コリジョンレス・ドメインにおける、ソース・パケットを送信する次のクライアントの指定や、コリジョンレス・ドメインおよびコリジョン・ドメインでのクライアントの離脱やダウンなどをモニタするために使用することができる。
また、本発明のさらに他の実施の形態では、クライアントのレスポンス状態をモニタするために、特願2002−303850号明細書に記載されるように、ラウンド・トリップ・タイム(Round Trip Time:RTT)を使用することができる。この実施の形態では、サーバ14は、クライアントからソース・パケット30を受け取ったことを通知するレスポンス・パケットをモニタしている。レスポンス・パケットには、ソース・パケット30において説明したIPヘッダ情報の他、受信したパケットのパケット識別値のコピー、ソース・パケット30に付された送信時刻のコピーなどを含ませることができる。本発明では、レスポンス・パケットを使用して、サーバ14がRTTを算出し、当該クライアントのその時点のローカル・ネットワークにおける負荷状態および接続状態を確認する。このための具体的な処理としては、所定の宛先に送付したソース・パケット30をサーバ14の適切なメモリに格納させておき、サーバ14がレスポンス・パケットを受信した段階で、それぞれのレスポンス・パケットに記録された送信時刻と、サーバ14におけるその時点での時間の時間差を算出して、サーバ14にRTTを取得させることができる。さらに、本発明において、特に不都合がない範囲で、RTTを直接クライアントの接続状態を示す指標として使用することもできる。
その後サーバ14は、本発明の特定の実施の形態では、RTT-1を計算して、クライアントのレスポンス指標(indicator)とする。RTT-1の値は、クライアント選択手段44においては、コリジョン・ドメインに帰属されるクライアントに対しては、レスポンスに対するしきい値Tと比較される。コリジョン・ドメインのクライアントについては、RTT-1≦Tの場合には、クライアントが例えば、ダウンしてしまった、またはホット・スポットから離脱してしまった、と判断することができる。
本発明において、上述したレスポンス指標を使用してクライアントのレスポンスを判断し、所定のしきい値との比較に基づきクライアントがソース・パケット30の配信において信頼性が低下したことを検出する。本発明においては、上述した基準でのレスポンス指標を具体的な実施の形態として説明したものの、それ以外にもこれまで知られた方法・手段を使用してレスポンス指標を取得することができる。上述したように、レスポンス指標の生成方法によらず、レスポンスの信頼性が低下した場合には、ソース・パケット30の共有が保証できないこととなる。このため、サーバ14は、メモリからソース・パケット30を読み出して、クライアント・リスト50の他のクライアント識別値を割り当ててリトライ・パケットを生成する。リトライ・パケットは、新たに選択されたクライアントに向けて送信される。サーバ14は、リトライ・パケットを送信したクライアントからのレスポンス・パケットをモニタして、確実にP2G型データ配信を行うことができる。
また、レスポンス指標に基づき異常遅延を示したクライアントは、処理が過大になっているか、またはまったくレスポンスできない状態となっているので、ソース・パケットの配信を受けるには適切ではない。このため、本発明の特定の実施の形態では、コリジョン・ドメインについて上述した異常遅延が検出されると、サーバ14は、クライアント・リスト50から当該クライアントのアドレス識別値を削除することにより、上述したソース・パケットの重複送信処理が繰り返されないように、クライアント・リストを更新させる。
本発明において、異常遅延を与えたクライアントをクライアント・リストから削除したとしてもコリジョン・ドメイン内では、IPマルチキャストでコピー・パケットが送信される。このため、例えばホット・スポットからクライアントが離脱したような場合であっても、また何らかの処理で応答が遅れた場合であっても、その時点でローカル・ネットワークに接続されているクライアントには、確実にコピー・パケットが送られるので、P2G型データ配信には、大きな問題を生じさせることがない。
図8には、サーバ14の実行する処理の概略的なフローチャートを示す。サーバ14は、ステップS10で、クライアントからP2G型データ配信を希望する、例えば“Joinrequest”を受信する。ステップS12で、“Joinrequest”を発行したクライアントに対してマルチキャスト・アドレスを送付して、パケットのドメイン内での送受信を可能とさせる。ステップS14では、クライアント・リストからアドレス識別値をランダムに1つ選択し、ステップS16で、ソース・パケットを生成させ、ネットワークにソース・パケットを送出する。
ステップS18では、サーバ14は、クライアントのレスポンス状態を、キュー占有割合またはRTTを使用してモニタし、ステップS20において、キュー占有状態またはRTTからレスポンス指標を計算させ、メモリに格納させる。ステップS22で、レスポンスが充分ではない、またはネットワークから離脱した可能性があると判断した場合(no)には、サーバ14は、ステップS24においてクライアント・リストから、該当するクライアントのアドレス識別値を削除する。次いで、ステップS26で、ソース・パケットの喪失が生じないようにするため、まだ登録されているクライアントの中から次のアドレス識別値をランダムに選択する。ステップS28では、サーバ14の適切なメモリに格納されているソース・パケットを読み出し、新たなアドレス識別子を追加してリトライ・パケットを作成し、ネットワークへと送信し、ステップS18において、レスポンス・パケットを再度モニタして、処理を継続させる。一方、レスポンス指標に基づき、クライアントのレスポンスが充分であると判断した場合(yes)には、サーバ14は、処理をステップS18へと戻し、次のソース・パケットの送信処理を実行する。
図9は、本発明において使用することのできるクライアント20の構成を示した図である。図9に示したクライアント20は、ネットワーク・インタフェイス・カード(NIC)60を介して、ローカル・ネットワーク28へと接続されている。クライアント20は、さらに、受信バッファ62と、RAMなどのメモリ64とを含んで構成されている。受信バッファ62は、受信したソース・パケットおよびコピー・パケットを、動画イメージ・データのストリームの再構成処理が開始されるまでの間、保持している。
本発明においては、受信バッファ62は、受信したパケットを受信するごとにパケット識別値に対応したアドレスに受信したパケットを書き込みを行う、リング・バッファとして構成することができる。また、クライアント20は、中央処理装置(CPU)66と、ソース・デコーダ68と、FECデコーダ70とを含んで構成されている。ただし、本発明においてはFECデコーダは、必ずしも必要ではない。CPU66は、クロックにより駆動されており、受信バッファ62において所定期間ごとに蓄積されたパケットを読み出してFECデコーダ70およびソース・デコーダ68へと送り、1ストリーム分の動画イメージ・データを再構成している。再構成された1ストリーム分の動画イメージ・データは、ディスプレイ72へと表示または再生され、クライアントのユーザに対して提供される。
ユーザに対して表示または再生された動画イメージ・データは、クライアント20から削除することもできるし、また、ディジタル・コンテンツの開始から終了までの全ストリームをメモリ64に保持させておき、ハードディスク、光磁気ディスク、磁気テープといった記憶装置74に記憶させておくこともできる。
図10には、本発明におけるクライアント20におけるソース・パケット30の受信およびコピー・パケットの送出までの処理の概略的なフローチャートを示す。図10に示したクライアントの処理は、ステップS30において、パケットを受信する時点から開始する。ステップS32では、受信したパケットを受信バッファに格納させる。ステップS34で受信したパケットが、ソース・パケットであるか否かを判断する。受信したパケットがソース・パケットである場合(yes)には、クライアント20は、処理をステップS36へと進ませ、ソース・パケットからコピー・パケットを作成して、適切な送信バッファなどに格納させる。ステップS38では、コピー・パケットをIPマルチキャストを使用してローカル・ネットワークへと送出させ、他のクライアントに対しパケットの共有を可能とさせる。一方、受信したパケットがソース・パケットでない場合(no)には、ステップS30へと処理を戻し、次のパケットを受信する。上述した処理を実行するサーバ14とクライアント20とを使用して、コリジョン・ドメインに対しても良好なP2G型データ配信が可能となる。
図11は、コリジョンレス・ドメインとコリジョン・ドメインとが混在するネットワーク・システムにおいて、P2G型データ配信を行うためのサーバの処理を示した図である。本発明において、コリジョンレス・ドメインとコリジョン・ドメインとの間の処理の大きな違いは、ソース・パケットを送信するクライアントの選択方法にある。
図11に示したサーバ14の処理は、ステップS40から開始し、クライアント20からのP2G型データ配信への参加要求である、“Joinrequest”を受け取る。サーバ14は、ステップS42で受け取った“Joinrequest”からクライアント20が帰属されるドメイン識別値を取得し、ドメイン・リスト56を参照して、コリジョンレス・ドメインであるか、またはコリジョン・ドメインであるかを判断する。ステップS42の判断において、コリジョン・ドメインからの“Joinrequest”であると判断した場合(yes)には、サーバ14は、ステップS44でコリジョン・ドメイン処理を呼出す。また、ステップS42でコリジョン・ドメインからの“Joinrequest”でないと判断した場合(no)には、ステップS46でコリジョンレス・ドメイン処理を呼び出すことにより、ドメインの能力に応答した適切なデータ配信を実行させる。
図12は、本発明のコンテンツ配信システムのより具体的な実施の形態を示した図である。図12に示す実施の形態は、P2Gサーバ80からインターネットといったネットワーク82を介して、スイッチング・ハブ84によりルーティングされたローカル・ネットワーク86と、リピータ/ブリッジ88によりルーティングされたローカル・ネットワーク90とが接続されているのが示されている。LAN86は、スイッチング・ハブ84を介して、例えば10BASE−5、10BASE−10、10BASE−100、10BASE−TXといった規格を使用したイーサネット(登録商標)により相互接続されたコリジョンレスのネットワーク環境として構築されている。また、図12では、ローカル・ネットワーク90は、イーサネット(登録商標)により相互接続された環境にあるものの、リピータ/ブリッジ88を使用したコリジョンの生じる可能性のあるネットワーク環境として構築されている。
詳細については、本発明の要旨ではないので説明しないが、P2Gサーバ80は、さらにコリジョンレス・ドメインに対応した別のクライアント・リストを含んで構成されている。このクライアント・リストには、コリジョンレス・ドメインの各クライアントのアドレス識別値である、例えばIPアドレス情報と、前回ソース・パケットを送信したときのレスポンス・パケットを使用して得られた、クライアントのオーバー・ヘッドに対応する、実効スループットとが登録されている。
P2Gサーバ80は、コリジョンレス環境にあるローカル・ネットワーク86に対してP2G型データ配信を実行させるべく、上述したように、クライアント92a〜クライアント92dとの間でのレスポンス指標を生成させ、最も信頼性の高い、すなわちオーバー・ヘッドが小さいクライアントを順次選択して、ソース・パケットを送信させている。また、ソース・パケットを受け取ったクライアント92a〜92dは、ソース・パケットからコピー・パケットを作成し、当該ドメインに含まれる他のクライアントのアドレスを使用してユニキャストでコピー・パケットを配信している。
さらに、P2Gサーバ80がコリジョン・ドメインに対してソース・パケットを送信する場合について説明する。P2Gサーバ80は、ソース・パケットを送信する場合には、まずクライアント・リストに登録されたクライアントのアドレス識別値をランダムに選択する。その後、ソース・パケットを、コリジョン・ドメインに帰属されるクライアント94aへとユニキャストする。ソース・パケットを受け取ったクライアント94aは、IPマルチキャスト・アドレスを付したコピー・パケットを作成し、ローカル・ネットワーク90へとコピー・パケットをマルチキャストすることにより、他のクライアント94b〜94dに対してパケットの共有を可能とさせている。また、ソース・パケットを受け取ったクライアントは、どのドメインに帰属されているかにかかわらず、レスポンス・パケットをP2Gサーバ80へと送り、クライアントが、ソース・パケットの受信が可能であったこと、または実効スループット、または接続状態をP2Gサーバ80へと通知することができる。
図13は、本発明のコリジョン・ドメインを構成するローカル・ネットワーク90が、ワイヤレス通信を使用するネットワークである場合の実施の形態を示す。図13に示すように、ワイヤレス通信を使用したローカル・ネットワーク90の環境では、アクセス・ポイント96を中心としてホット・スポット98が規定される。このホット・スポット98に含まれたクライアント94、例えばノートブック型コンピュータ94a、携帯電話94b、PDA94cなどが、アクセス・ポイント96を介して相互通信が可能とされている。図12に示した実施の形態において問題となるのは、クライアント94の高い移動性(mobility)にある。図13に示したワイヤレス・ローカル・ネットワーク90は、リピータ/ブリッジ88により構成されるローカル・ネットワークよりもクライアント84の離脱/参加が随時行われるので、本発明のP2G型データ配信を使用することが特に効果的に適用される。
以下、本発明についてワイヤレス・ローカル・ネットワーク90を使用する場合のP2G型データ配信プロトコルの詳細について説明する。図14は、コリジョン・ドメインがワイヤレス・ローカル・ネットワークとして構成された場合のクライアント94と、アクセス・ポイント96と、P2Gサーバ80との間のトランザクションを、通信セッション確立から、ソース・パケットの送受信までの処理を時系列的に示した図である。なお、本発明において使用する用語「無線」は広く、「有線(wired)」ではないことを意味し、光通信、無線通信などを含み、通信プロトコルにしてもBluetoothなど、これまで知られたいかなるプロトコルでも使用することができる。また、P2G型データ配信は、サービス・プロバイダに対して、ユーザが登録し、所定のIPマルチキャスト・アドレスまたは必要なアクセス情報を取得することにより登録されたユーザ・ドメインごとに行われるものとして説明する。
図14を使用してワイヤレス・ローカル・ネットワークにおける実施の形態を説明すると、まず、クライアントがホット・スポットに到達すると、クライアントがアクセス・ポイントを見出す。このためには、例えばIEEE802.11で規定されるActive Scanningおよびアクセス・ポイントが定期的にビーコン・パケットを送信し、クライアントがその呼びかけに応答する接続方式(Accession protocol)を使用することができる。図14に示した実施の形態は、このうち、Active Scanning方式で、まずクライアントがアクセス・ポイントへとプローブ・パケットを送信する。プローブ・パケットを受信したアクセス・ポイントは、クライアントへと応答パケットを返し、データ・リンク層での接続を確立させる。
クライアントは、予めネットワーク管理者などからサーバのIPアドレスや、ポート番号などの情報を取得しており、適切な不揮発性メモリに格納させている。クライアントは、アクセス・ポイントとの間のデータ・リンク層レベルでの接続を確立した後、ネットワーク層/トランスポート層レベルで、“helloacknowledge”をP2Gサーバへと送りTCPセッションをP2Gサーバとの間で確立する。P2Gサーバは、“helloacknowledge”を受け取ると、クライアントのアドレス識別子を取得し、クライアント・リストにアドレス識別子を追加して、クライアントへと“hellopermission”を送信してクライアント−P2Gサーバ間のTCPセッションを確立させる。
“hello permission”を受け取ったクライアントは、その後P2G型データ配信に参加するための“Joinrequest”をP2Gサーバへと送信する。この“Joinrequest”を受け取ったP2Gサーバは、クライアントに対して、コリジョン・ドメインに対しては当該ドメインに対して予め割り当てられているマルチキャスト・アドレスを通知し、アプリケーション層レベルでのP2G型データ配信のためのセッションを確立させる。その後、P2Gサーバは、ランダムにクライアント選択するか、またはソース・パケットを送信した時刻t0からの時間tを使用してレスポンス指標を取得して、クライアントを選択し、選択されたクライアントに対してソース・パケット“sourcepacket”を送信する。なお、時間tは、レスポンス指標として、上述したように、キュー占有割合に基づいて算出される指標を使用する場合には、あらかじめ定められたサーバ14に設定されたしきい値時間であり、RTTを使用してレスポンス指標とする場合には、破線で示されるようにレスポンス・パケットを受信した時間とされる。
図15は、コリジョンレス・ドメインとコリジョン・ドメインとを含む場合のトランザクションを時系列的に示した図である。クライアントが、ホット・スポット内に入ると、アクセス・ポイントとの接続を確立させ、図15において示したと同様に“helloacknowledgemnt”および“hellopermission”の送受信により、P2Gサーバへの登録を実行する。P2Gサーバは、ネットワーク・マップを格納しており、“helloacknowledgemnt”の受信と共に、P2G型データ配信の処理を選択し、図15に示した実施の形態では、コリジョン・ドメインに対してはマルチキャスト・アドレスまたはコリジョンレス・ドメインに対しては、P2G木構造情報やドメイン識別情報といった必要なアクセス情報を送信して、図14に示したと同様の処理を経て、P2G型データ配信を可能とさせている。
図16〜図18を使用して、ワイヤレス・ローカル・ネットワーク90に接続されたクライアントとP2Gサーバとの間の接続を切断する場合のトランザクションについて説明する。クライアントとP2Gサーバとは、図14または図15で説明したセッション確立プロトコルにしたがって、P2G型データ配信を受けている。P2G型データ配信からクライアントが離脱する場合には、概ね3通りがある。第1の場合は、クライアントが正常にシャットダウンする場合であり、第2の場合は、P2Gサーバが配信を終了するなど、P2Gサーバからの切断を行う場合であり、第3の場合は、例えばワイヤレス・ローカル・ネットワークを使用している場合などのようにホット・スポットからクライアントが出てしまった場合またはクライアントの異常終了の場合である。
図16には、クライアントが正常にシャットダウンする第1の場合を示す。図16に示された場合には、クライアントは、例えば帰宅や、別業務のために長時間席を離れるなどの理由から、クライアントをシャットダウンすることを希望しているものと仮定する。ユーザが、クライアントに対してシャットダウン操作を行うと、クライアントは、P2Gサーバに対して例えば、“goodbye”コマンドを送信し、接続を解除することを通知する。P2Gサーバは、“goodbye”コマンドを受け取ると、IPヘッダ情報からシャットダウンしようとしているクライアントのアドレス識別子を取得する。さらにP2Gサーバは、それ以後にソース・パケットが送信されないようにするべく、クライアント・リストから該当するアドレス識別子を検索してクライアント・リストから削除する処理を実行する。
図17には、P2Gサーバから特定のクライアントへの配信を終了させる場合について示されている。図17に示された場合には、P2Gサーバの都合またはクライアント側の都合により、P2Gサーバは、クライアントとの接続状態を解除しようとする。この場合、P2Gサーバは、クライアントに対して、例えば、“kill”コマンドを送信すると共に、クライアント・リストから該当するクライアントのアドレス識別値を削除する処理を実行する。
また、図18には、クライアントの異常終了や、ホット・スポットからの離脱がある場合の処理を説明する。この場合の処理、図18に示すように、P2Gサーバからソース・パケットの送信と、それに対するクライアントのレスポンス指標とを使用して実行される。P2Gサーバは、ソース・パケットの送信後、キュー占有割合またはレスポンス・パケットから得られるRTTに基づき、レスポンス指標を当該クライアントについて所定のしきい値と比較するなどして判断し、レスポンス指標に基づき何らかの異常がクライアントに発生したと判断する場合には、コリジョン・ドメインにおいては、当該クライアントのアドレス識別値をクライアント・リストから削除する。一方、コリジョンレス・ドメインについては、オーバー・ヘッドが小さいことを示すレスポンス指標の順に次のクライアントを選択することにより対応が行われ、コリジョンレス・ドメインについてのクライアント・リストからのアドレス識別値の削除は行わなくとも良い。その後、送信したソース・パケットの喪失がないように、同一のドメインの他のクライアントに対して、リトライ・パケットを送付して、データの完全性を確保する。さらに、時間がたっても、クライアントからの“helloacknowledgement”が再度届かない場合には、TCPセッション自体をタイムアウトとして終了させ、セッションを終了させる。
本発明においては、上述した処理を行うことにより、これまで知られたいかなる形式のローカル・ネットワークに接続されたクライアントに対しても効率的、かつ高い確実性をもって、低コストのデータ配信を可能とする。
本発明の上述した各機能を実現する手段または部分は、コンピュータ実行可能なプログラム言語により記述されたソフトウェアまたはソフトウエア・モジュール群として構成することができ、必ずしも図面に記載した機能ブロックとして構成される必要はない。
本発明のディジタル・コンテンツ配信を実行させるための上述したプログラムは、種々のプログラミング言語、例えばC言語、C++言語、Java(登録商標)、などを使用して記述することができ、本発明のプログラムを記述したコードは、磁気テープ、フレキシブル・ディスク、ハードディスク、コンパクト・ディスク(CD)、光磁気ディスク、デジタル・バーサタイル・ディスク(DVD)といったコンピュータ可読な記録媒体に保持させることができる。
これまで本発明を図面に記載した具体的な実施の形態をもって説明してきたが、本発明は、上述した特定の実施の形態に制限されるものではなく、種々の変更例および他の実施の形態であっても、本発明の効果を奏する範囲において、これまで知られたいかなる構成要素であっても用いることができる。
本発明のディジタル・コンテンツ配信システムの概略図。 図1に示したコンテンツ配信システムにおいて、サーバからコリジョン・ドメインへとソース・パケットが送信される場合の、ソース・パケットと、コピー・パケットの送信の実施の形態を示した図。 本発明において使用することができるソース・パケットの概略的な構成を示した図。 本発明において使用することができるコピー・パケットの概略的な実施の形態を示した図。 本発明のサーバの概略的な構成を示した図。 本発明において使用することができるクライアント・リスト(a)およびドメイン・リスト(b)の実施の形態を示した図。 本発明において使用する送信バッファと送信バッファに格納されたキューの占有状態とを示した図。 サーバの実行する処理の概略的なフローチャートを示した図。 本発明において使用することのできるクライアントの構成を示した図。 本発明のクライアントにおけるソース・パケットの受信およびコピー・パケットの送出までの処理の概略的なフローチャート。 コリジョンレス・ドメインとコリジョン・ドメインとが混在するネットワーク・システムにおいて、P2G型データ配信を行うためのサーバの処理を示した図。 本発明のコンテンツ配信システムのより具体的な実施の形態を示した図。 本発明のコリジョン・ドメインが、ワイヤレス通信を使用するネットワークである場合の実施の形態を示した図。 コリジョン・ドメインがワイヤレスLANとして構成された場合のクライアントと、アクセス・ポイントと、P2Gサーバとの間のトランザクションを時系列的に示した図。 コリジョンレス・ドメインとコリジョン・ドメインとを含む場合のトランザクションを時系列的に示した図。 クライアントとP2Gサーバとの間の接続を切断する場合のトランザクションを示した図。 クライアントとP2Gサーバとの間の接続を切断する場合のトランザクションを示した図。 クライアントとP2Gサーバとの間の接続を切断する場合のトランザクションを示した図。 従来の一対多のデータ配信を行う場合の代表的な手法を示した図。 従来の一対多のデータ配信を行う場合の代表的な手法を示した図。 P2G型データ配信の手法を概略的に示した図。 コリジョン・ドメインにおいて発生する不都合を、概略的に説明した図。
符号の説明
10…ディジタル・コンテンツ配信システム、12…ネットワーク、14…サーバ、16…ルータ、18…スイッチング・ハブ、20…クライアント、22…第2のネットワーク、24…ネットワーク機器、26…コリジョン・ドメイン、28…第2のネットワーク、30…ソース・パケット、32…コピー・パケット、34…通信手段、36…記憶装置、38…CPU、40…ソース・エンコーダ、42…FECエンコーダ、44…クライアント選択手段、46…メモリ、50…クライアント・リスト、56…ドメイン・リスト、60…NIC、62…受信バッファ、64…メモリ、66…CPU、68…ソース・デコーダ、70…FECデコーダ、72…ディスプレイ、74…記憶装置、80…P2Gサーバ、82…ネットワーク、84…スイッチング・バブ、86…ローカル・ネットワーク、88…リピータ/ブリッジ、90…ローカル・ネットワーク、92…クライアント、94…クライアント、96…アクセス・ポイント、98…ホット・スポット

Claims (17)

  1. 第1のネットワークと第2のネットワークとを介してディジタル・コンテンツを配信するためのシステムであって、
    前記第1のネットワークに接続され、ディジタル・コンテンツを送信するサーバと、
    前記第1のネットワークに接続される前記第2のネットワークを構成し、前記ディジタル・コンテンツを受信して提供するためのクライアントとを含み、
    前記サーバは、前記第2のネットワークの所定のドメインに参加しているクライアントのアドレス識別値を格納するクライアント・リストと、
    前記クライアント・リストに登録されたクライアント識別値をランダムに選択する手段と、
    前記選択に応答して、選択されたクライアントに対して前記ディジタル・コンテンツを構成するための最小単位のパケットを送信する手段とを含み、
    前記クライアントは、前記サーバから受信した前記最小単位のパケットからコピー・パケット作成して、前記クライアントが帰属される第2のネットワークへと前記コピー・パケットをマルチキャストさせる手段を含む
    ディジタル・コンテンツ配信システム。
  2. 前記サーバは、マルチキャスト・アドレス値を前記クライアントに送信する手段を含む、請求項1に記載のディジタル・コンテンツ配信システム。
  3. 前記サーバは、前記クライアントが前記第2のネットワークへと接続されたことを検出して、前記クライアント・リストを更新する手段を含む、
    請求項1に記載のコンテンツ配信システム。
  4. 前記サーバは、前記最小単位のパケットを受信する前記クライアントからの応答により、前記クライアント・リストから前記クライアントのアドレス識別値を削除する手段を含む、請求項1に記載のコンテンツ配信システム。
  5. 前記サーバは、次に最小単位のパケットを送信するべきクライアントの選択手段を変更するために使用される前記第2のネットワークの環境を格納したドメイン・リストを含む、請求項1に記載のコンテンツ配信システム。
  6. 前記第2のネットワークは、少なくともワイヤレス・ローカル・ネットワーク環境を含み、前記クライアントは、ワイヤレス・ローカル・ネットワーク環境でネットワークされた携帯端末である、請求項1に記載のコンテンツ配信システム。
  7. 第1のネットワークと第2のネットワークとを介してディジタル・コンテンツを配信するための方法であって、
    前記第1のネットワークに接続されたサーバにより前記第2のネットワークのネットワーク環境に応答して選択される前記第2のネットワークに帰属されるクライアントが、前記第1のネットワークを介してディジタル・コンテンツを構成するための最小単位のパケットを受信するステップと、
    前記最小単位のパケットを受信した前記クライアントに対して、前記最小単位のパケットのコピー・パケットを作成させるステップと、
    前記クライアントから前記クライアントが帰属される第2のネットワークへと前記作成されたコピー・パケットをマルチキャストさせ、前記第2のネットワークに帰属されるすべてのクライアントに対して前記最小単位のパケットを共有させるステップと
    を含む、ディジタル・コンテンツ配信方法。
  8. 前記クライアントは、前記サーバが保持するクライアント・リストに登録された前記クライアントのアドレス識別値をランダムに選択することにより選択される、請求項7に記載の方法。
  9. 前記クライアント・リストは、前記クライアントが前記第2のネットワークへの接続および前記クライアントの応答に応じて更新される、請求項8に記載の方法。
  10. 前記クライアントが、前記サーバから、前記第2のネットワーク内でマルチキャストを行うためのマルチキャスト・アドレス値を取得するステップを含む、請求項7に記載の方法。
  11. 第1のネットワークと第2のネットワークとを介してディジタル・コンテンツを配信するためのシステムにおいて使用されるサーバであって、前記サーバは、
    前記第2のネットワークの所定のドメインに参加しているクライアントのアドレス識別値を格納したクライアント・リストから、前記クライアント・リストに登録されたクライアント識別値をランダムに選択する手段と、
    前記選択に応答して、選択されたクライアントに対して前記ディジタル・コンテンツを構成するための最小単位のパケットを送信する手段と、
    前記クライアントの前記第2のネットワークへの接続および前記最小単位のパケットを受信する前記クライアントからの応答を検出して、前記クライアント・リストへのアドレス識別値の追加または削除により前記クライアント・リストを更新する手段と
    を含むサーバ。
  12. さらに、前記第2のネットワーク内で使用されるマルチキャスト・アドレス値を前記クライアントに送信する手段を含む、請求項11に記載のサーバ。
  13. 前記サーバは、最小単位のパケットを送信するべきクライアントの選択手段を変更するために使用される前記第2のネットワークの環境を格納したドメイン・リストを含む、請求項11に記載のサーバ。
  14. 第1のネットワークと第2のネットワークとを介するディジタル・コンテンツの配信方法を実行させるサーバとしてコンピュータを制御するためのコンピュータ実行可能なプログラムであって、前記プログラムは、コンピュータに対して
    前記第2のネットワークの所定のドメインに接続しているクライアントのアドレス識別値を格納したクライアント・リストから、前記クライアント・リストに登録されたクライアント識別値をランダムに選択させるステップと、
    前記選択に応答して、選択されたクライアントに対して前記ディジタル・コンテンツを構成するための最小単位のパケットを送信させるステップと、
    前記クライアントの前記第2のネットワークへの接続および前記最小単位のパケットを受信する前記クライアントからの応答を検出して、前記クライアント・リストのアドレス識別値の追加または削除により前記クライアント・リストを更新するステップと、
    前記第2のネットワーク内で使用されるマルチキャスト・アドレス値を前記クライアントに送信させるステップと
    をコンピュータに対して実行させる、プログラム。
  15. 前記サーバに対して、さらに最小単位のパケットを送信するべきクライアントの選択手段を変更するために使用される前記第2のネットワークの環境情報を格納したドメイン・リストを参照させるステップを実行させる、請求項14に記載のプログラム。
  16. 第1のネットワークと第2のネットワークとを介してディジタル・コンテンツを配信するためのクライアントとしてコンピュータを制御するためのコンピュータ実行可能なプログラムであって、前記プログラムは、
    前記第1のネットワークに接続されたサーバから前記第2のネットワークのネットワーク環境に応答して選択されたコンピュータに対してディジタル・コンテンツを構成するための最小単位のパケットを受信するステップと、
    前記最小単位のパケットを受信した前記コンピュータに対して、前記最小単位のパケットのコピー・パケットを作成させるステップと、
    前記コンピュータから前記コンピュータが帰属される第2のネットワークへと前記作成されたコピー・パケットをマルチキャストさせ、前記第2のネットワークに帰属されるすべてのコンピュータに対して前記受信した最小単位のパケットを共有させるステップと
    を実行させる、プログラム。
  17. 前記コンピュータに対し、前記サーバから送信され、前記第2のネットワーク内でマルチキャストを行うためのマルチキャスト・アドレス値を取得させるステップを実行させる、請求項16に記載のプログラム。
JP2003270818A 2003-07-03 2003-07-03 ディジタル・コンテンツ配信システム、ディジタル・コンテンツ配信方法、そのためのサーバ、クライアント、サーバとしてコンピュータを制御するためのコンピュータ実行可能なプログラムおよびクライアントとしてコンピュータを制御するためのコンピュータ実行可能なプログラム Expired - Fee Related JP3731885B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003270818A JP3731885B2 (ja) 2003-07-03 2003-07-03 ディジタル・コンテンツ配信システム、ディジタル・コンテンツ配信方法、そのためのサーバ、クライアント、サーバとしてコンピュータを制御するためのコンピュータ実行可能なプログラムおよびクライアントとしてコンピュータを制御するためのコンピュータ実行可能なプログラム
US10/884,137 US20050021817A1 (en) 2003-07-03 2004-07-02 Digital content delivery, server and client

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003270818A JP3731885B2 (ja) 2003-07-03 2003-07-03 ディジタル・コンテンツ配信システム、ディジタル・コンテンツ配信方法、そのためのサーバ、クライアント、サーバとしてコンピュータを制御するためのコンピュータ実行可能なプログラムおよびクライアントとしてコンピュータを制御するためのコンピュータ実行可能なプログラム

Publications (2)

Publication Number Publication Date
JP2005027243A true JP2005027243A (ja) 2005-01-27
JP3731885B2 JP3731885B2 (ja) 2006-01-05

Family

ID=34074524

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003270818A Expired - Fee Related JP3731885B2 (ja) 2003-07-03 2003-07-03 ディジタル・コンテンツ配信システム、ディジタル・コンテンツ配信方法、そのためのサーバ、クライアント、サーバとしてコンピュータを制御するためのコンピュータ実行可能なプログラムおよびクライアントとしてコンピュータを制御するためのコンピュータ実行可能なプログラム

Country Status (2)

Country Link
US (1) US20050021817A1 (ja)
JP (1) JP3731885B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100656402B1 (ko) 2005-11-26 2006-12-11 한국전자통신연구원 디지털 콘텐츠를 안전하게 배포하는 방법 및 그 장치
WO2007020774A1 (ja) * 2005-08-19 2007-02-22 Brother Kogyo Kabushiki Kaisha 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラムを記憶した記憶媒体
JP2008236073A (ja) * 2007-03-16 2008-10-02 Softbank Bb Corp データ転送システム及びデータ転送方法
JP2011040980A (ja) * 2009-08-11 2011-02-24 Fuji Xerox Co Ltd 装置管理システム、管理対象装置、およびプログラム
CN1925448B (zh) * 2005-08-31 2011-07-27 三星电子株式会社 与其他网络装置共享多媒体数据的网络装置及其方法

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8275804B2 (en) * 2004-12-15 2012-09-25 Applied Minds, Llc Distributed data store with a designated master to ensure consistency
US11321408B2 (en) 2004-12-15 2022-05-03 Applied Invention, Llc Data store with lock-free stateless paging capacity
US8996486B2 (en) * 2004-12-15 2015-03-31 Applied Invention, Llc Data store with lock-free stateless paging capability
US7685312B1 (en) * 2005-02-10 2010-03-23 Sun Microsystems, Inc. Resource location by address space allocation
US7765305B2 (en) * 2005-04-07 2010-07-27 Microsoft Corporation Retry request overload protection
KR101319491B1 (ko) * 2006-09-21 2013-10-17 삼성전자주식회사 도메인 정보를 설정하기 위한 장치 및 방법
US7895311B1 (en) * 2006-11-17 2011-02-22 Arthur W. Juenger Content distribution systems
DE102007007344A1 (de) * 2007-02-14 2008-08-28 Siemens Ag Verfahren zum Verteilen zumindest eines Datensegments mindestens eines Datenstroms an eine Gruppe von mehreren Nutzern in einem Netzwerk, sowie ein Nutzer und ein System
JP2009239864A (ja) * 2008-03-28 2009-10-15 Toshiba Corp 情報受信装置及び情報受信方法
US8977710B2 (en) * 2008-06-18 2015-03-10 Qualcomm, Incorporated Remote selection and authorization of collected media transmission
EP2360921A4 (en) * 2008-11-18 2015-05-20 Nec Corp CONTENTS ISSUE SYSTEM
US9191219B2 (en) * 2009-06-16 2015-11-17 Adobe Systems Incorporated Network multicast peer discovery methods
JP4884520B2 (ja) * 2009-12-07 2012-02-29 インターナショナル・ビジネス・マシーンズ・コーポレーション データ収集方法およびシステム
CN102763359B (zh) * 2009-12-10 2016-01-20 汤姆森特许公司 多播网络中流控制传输协议的通信量优化器及方法
ES2453077T3 (es) * 2010-11-01 2014-04-03 Nagravision S.A. Método para crear un flujo de datos mejorado
KR20120109043A (ko) * 2011-03-24 2012-10-08 (주)휴맥스 홈 네트워크 시스템에서 예약 녹화를 수행하는 방법, 이를 수행하기 위한 디지털 미디어 서버 및 디지털 미디어 플레이어
US10284433B2 (en) * 2015-06-25 2019-05-07 International Business Machines Corporation Data synchronization using redundancy detection
TWI578243B (zh) * 2015-09-21 2017-04-11 Yun Qi Management Method of Digital Assets Share and Expected Transfer
CN111741110B (zh) * 2020-06-22 2022-07-22 北京奇艺世纪科技有限公司 一种消息推送系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002305547A (ja) * 2001-04-06 2002-10-18 Mega Chips Corp データ中継装置およびデータ中継システム
JP2002335281A (ja) * 2001-05-07 2002-11-22 Ntt Docomo Inc マルチキャストパケット配信方法及びシステム、パケットのアドレス構造、並びに移動機
JP2003069639A (ja) * 2001-08-27 2003-03-07 Nec Corp xDSL収容装置、マルチキャスト配信システム及びデータ配信方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864854A (en) * 1996-01-05 1999-01-26 Lsi Logic Corporation System and method for maintaining a shared cache look-up table
US5778187A (en) * 1996-05-09 1998-07-07 Netcast Communications Corp. Multicasting method and apparatus
JP4148605B2 (ja) * 1999-08-06 2008-09-10 富士通株式会社 ネットワークシステムおよびサーバ
JP2002183203A (ja) * 2000-12-18 2002-06-28 Yamaha Corp 情報検索方法及び情報記憶媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002305547A (ja) * 2001-04-06 2002-10-18 Mega Chips Corp データ中継装置およびデータ中継システム
JP2002335281A (ja) * 2001-05-07 2002-11-22 Ntt Docomo Inc マルチキャストパケット配信方法及びシステム、パケットのアドレス構造、並びに移動機
JP2003069639A (ja) * 2001-08-27 2003-03-07 Nec Corp xDSL収容装置、マルチキャスト配信システム及びデータ配信方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007020774A1 (ja) * 2005-08-19 2007-02-22 Brother Kogyo Kabushiki Kaisha 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラムを記憶した記憶媒体
US8059561B2 (en) 2005-08-19 2011-11-15 Brother Kogyo Kabushiki Kaisha Information communication system, information communication method, node device included in information communication system, and recording medium having information processing program recorded on it
CN101243653B (zh) * 2005-08-19 2012-11-28 兄弟工业株式会社 信息通信系统,信息通信方法,包含在信息通信系统中的节点装置
CN1925448B (zh) * 2005-08-31 2011-07-27 三星电子株式会社 与其他网络装置共享多媒体数据的网络装置及其方法
KR100656402B1 (ko) 2005-11-26 2006-12-11 한국전자통신연구원 디지털 콘텐츠를 안전하게 배포하는 방법 및 그 장치
JP2008236073A (ja) * 2007-03-16 2008-10-02 Softbank Bb Corp データ転送システム及びデータ転送方法
JP2011040980A (ja) * 2009-08-11 2011-02-24 Fuji Xerox Co Ltd 装置管理システム、管理対象装置、およびプログラム

Also Published As

Publication number Publication date
US20050021817A1 (en) 2005-01-27
JP3731885B2 (ja) 2006-01-05

Similar Documents

Publication Publication Date Title
JP3731885B2 (ja) ディジタル・コンテンツ配信システム、ディジタル・コンテンツ配信方法、そのためのサーバ、クライアント、サーバとしてコンピュータを制御するためのコンピュータ実行可能なプログラムおよびクライアントとしてコンピュータを制御するためのコンピュータ実行可能なプログラム
US8300646B2 (en) Message handling in a local area network having redundant paths
KR100754293B1 (ko) 디지털 콘텐츠 배포 시스템, 디지털 콘텐츠 배포 방법, 이 방법을 실행하기 위한 프로그램을 기억한 컴퓨터 판독 가능한 기록 매체, 및 이를 위한 서버 및 클라이언트
CN109067578B (zh) 一种组播快速切换的方法和装置
US7827304B2 (en) Method and system for virtual multicast networking
JP4382528B2 (ja) マルチキャストネットワーク装置,マルチキャストネットワークシステムおよびマルチキャスト方法
US8539088B2 (en) Session monitoring method, apparatus, and system based on multicast technologies
US7266609B2 (en) Generating multiple data streams from a single data source
CN102238226A (zh) 在以内容为中心的网络上的会话迁移
US8855118B2 (en) Source discovery for non-flooding multicast using openflow
US20080049723A1 (en) Generating multiple data streams from a single data source
JP2006019785A (ja) 仮想ルータ対応マルチキャストパケット中継装置
US7457288B2 (en) Relay multicast system and method for providing efficient group communication service
US20060165107A1 (en) Method of sending a multipoint stream in a local area network and connection device implementing the method
JP2010200029A (ja) 通信ネットワークシステムとその呼制御装置及び発信規制方法
JP2002507857A (ja) 最小時間のマルチキャストグラフト・ジョイン復元の方法、装置および媒体
JP7473025B2 (ja) コンテンツ配信システム、ユニキャストマルチキャスト変換装置、コンテンツ配信方法及びコンテンツ配信プログラム
US9167543B2 (en) Synchronization of mobile client multicast
US9729337B2 (en) Delivering and managing multicast traffic over wireless LANs
US9015309B2 (en) Networked probe system
JP4554420B2 (ja) ゲートウェイ装置及びそのプログラム
JP3624063B2 (ja) 実時間データ配送制御方法
Lavian et al. Edge device multi-unicasting for video streaming
CN118740769A (en) Source and receiver anchoring for efficient multicast traffic distribution
King et al. Transforming the reliability, security and scalability of IT communications through the pervasive deployment of serverless software infrastructure

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050916

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050927

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20050929

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051007

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081021

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091021

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091021

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101021

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees