JP2010130498A - データ受信装置、データ送信装置、データ配信方法 - Google Patents
データ受信装置、データ送信装置、データ配信方法 Download PDFInfo
- Publication number
- JP2010130498A JP2010130498A JP2008304694A JP2008304694A JP2010130498A JP 2010130498 A JP2010130498 A JP 2010130498A JP 2008304694 A JP2008304694 A JP 2008304694A JP 2008304694 A JP2008304694 A JP 2008304694A JP 2010130498 A JP2010130498 A JP 2010130498A
- Authority
- JP
- Japan
- Prior art keywords
- data
- reception
- data receiving
- distribution
- client
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 31
- 238000000034 method Methods 0.000 title claims description 30
- 238000004891 communication Methods 0.000 claims description 24
- 238000010586 diagram Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 239000000470 constituent Substances 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】ネットワーク上で受信応答がロストした場合でも受信応答の検出に時間が掛かる時間の増大を抑制すること。
【解決手段】配信サーバがマルチキャスト方式で送信したデータを受信するデータ受信モジュール101と、マルチキャスト方式によって他のデータ受信装置が送信した、受信応答フレーム中に基づいて、他のデータ受信装置中の既にデータを受信している受信データ受信装置を検出する受信応答フレーム解析モジュール103と、データ受信モジュール101がデータを受信した場合に、受信応答フレーム解析モジュール103が検出したデータ受信装置および自機の情報を含む受信応答フレームを配信サーバおよび他のデータ受信装置に送信する受信応答送信フレーム送信モジュール105とを具備する。
【選択図】 図3
【解決手段】配信サーバがマルチキャスト方式で送信したデータを受信するデータ受信モジュール101と、マルチキャスト方式によって他のデータ受信装置が送信した、受信応答フレーム中に基づいて、他のデータ受信装置中の既にデータを受信している受信データ受信装置を検出する受信応答フレーム解析モジュール103と、データ受信モジュール101がデータを受信した場合に、受信応答フレーム解析モジュール103が検出したデータ受信装置および自機の情報を含む受信応答フレームを配信サーバおよび他のデータ受信装置に送信する受信応答送信フレーム送信モジュール105とを具備する。
【選択図】 図3
Description
本発明は、複数の宛先に送信されたデータファイルを受信するデータ受信装置、データファイルを複数の宛先に送信するデータ送信装置、および複数の宛先に送信されたデータファイルを受信するデータ配信方法に関する。
複数のコンピュータにサーバからファイル配信する方式は種々あるが、その中にマルチキャスト方式がある。マルチキャスト方式は、同じファイルを必要とするコンピュータが複数存在する場合に用いられる。
マルチキャストアドレスに参加しているノードにおいて、機器固有情報の要求パケットに対して、自身の固有情報を含む受信応答パケットをマルチキャストにより送信する技術が開示されている(特許文献1参照)
特開2006−211698号公報
通常、マルチキャスト方式では、配信したいデータファイルが大きいために、複数のデータブロックに分割して送信する。この時、データブロックを受信したコンピュータ(クライアント)ユニキャストで受信応答をサーバに応答していた。
この時の問題として、配信クライアントからの応答はUDPを用いたユニキャストであるために、ネットワーク上で受信応答がロストした場合に受信応答の検出に時間が掛かり、データファイルの配信能力に大幅に低下することである。
ネットワーク上で受信応答がロストした場合の検出に時間が掛るのは、UDPであるが故の問題ではない。もし、配信をUDP(マルチキャスト)にして、受信応答だけをTCP(ユニキャスト)にすれば問題が解決するかと云えば、そうではなく、検出までに要する時間には大差がなく、得られるのはロスト検出処理をTCPに任せられると云うことである。むしろ、配信サーバは全て配信クライアントとの間にTCPコネクションを確立して管理する為に処理が複雑に、そして大変になるだけである。
本発明の目的は、ネットワーク上で受信応答がロストした場合でも受信応答の検出に時間が掛かる時間の増大を抑制することが可能なデータ受信装置、データ送信装置、およびデータ配信方法を提供することにある。
本発明の一例に係わるデータ受信装置は、配信サーバから同報通信によって配信されたデータを受信するデータ受信装置であって、前記配信サーバから第1データ受信装置を含む1台以上の他のデータ受信装置および前記データ受信装置に同報通信によって配信した前記データを受信するデータ受信手段と、前記第1データ受信装置が前記データを受信した場合に、前記第1データ受信装置から、前記1台以上の他のデータ受信装置から前記第1データ受信装置を除いた他のデータ受信装置、前記配信サーバ、および前記データ受信装置に同報通信によって送信される、前記他のデータ受信装置中の既に前記データを受信している他のデータ受信装置を示すデータ受信装置情報を含む受信応答情報を受信する受信応答情報受信手段と、前記受信応答情報受信手段が受信した前記受信応答情報中のデータ受信装置情報に基づいて、前記1台以上の他のデータ受信装置中の既に前記データを受信している他のデータ受信装置を検出する検出手段と、前記データ受信手段が前記データを受信した場合に、前記検出手段が検出した前記他のデータ受信装置および前記データ受信装置を示すデータ受信装置情報を含む受信応答情報を、前記配信サーバおよび前記他のデータ受信装置に同報通信によって送信する受信応答送信手段とを具備することを特徴とする。
本発明の一例に係わるデータ送信装置は、同報通信によってデータを送信するデータ送信装置であって、第1データ受信装置を含む複数のデータ受信装置に同報通信によって前記データを送信するデータ送信手段と、前記第1データ受信装置が前記データを受信した場合に、前記第1データ受信装置から、前記配信サーバおよび前記複数のデータ受信装置から前記第1データ受信装置を除いたデータ受信装置に同報通信によって送信される、前記複数のデータ受信装置中の既に前記データを受信しているデータ受信装置を示す第1データ受信装置情報を有する受信応答情報を受信する受信応答情報受信手段と、前記受信応答情報受信手段が受信応答情報を受信する度に、前記受信応答情報に含まれる第1データ受信装置情報に基づいて、前記複数のデータ受信装置中の既に前記データを受信しているデータ受信装置を検出する検出手段と、前記検出手段が前記複数のデータ受信装置中の既に前記データを受信しているデータ受信装置を検出する度に、前記検出手段が検出した前記複数のデータ受信装置中の既に前記データを受信しているデータ受信装置の情報に基づいて、前記複数のデータ受信装置中の既に前記データを受信しているデータ受信装置を示す第2データ受信装置を更新する第2データ受信装置更新手段と、前記第2データ受信装置更新手段が前記第2データ受信装置情報を更新する度に、前記第2データ受信装置情報に基づいて前記データ送信手段が送信したデータを前記複数のデータ受信装置の全てが受信したか否かを判別する判別手段と具備することを特徴とするデータ送信装置。
本発明によれば、ネットワーク上で受信応答がロストした場合でも受信応答の検出に時間が掛かる時間の増大を抑制することが可能になる。
本発明の実施の形態を以下に図面を参照して説明する。
図1は、本発明の一実施形態に係わる配信システムの構成を示す図である。
図1に示すように、配信システムは、第1サブネットAと第2サブネットBから構成されている。第1サブネットAは、配信サーバ1、3台の第11配信クライアントA1、第12配信クライアントA1および第13配信クライアントA3を備えている。第1サブネットAと第2サブネットBとの間はルータ30によって相互に通信が可能である。第2サブネットBは、4台の第21配信クライアントB1、第22配信クライアントB2、第23配信クライアントB3、および第24配信クライアントB4を備えている。
図1に示すように、配信システムは、第1サブネットAと第2サブネットBから構成されている。第1サブネットAは、配信サーバ1、3台の第11配信クライアントA1、第12配信クライアントA1および第13配信クライアントA3を備えている。第1サブネットAと第2サブネットBとの間はルータ30によって相互に通信が可能である。第2サブネットBは、4台の第21配信クライアントB1、第22配信クライアントB2、第23配信クライアントB3、および第24配信クライアントB4を備えている。
配信サーバ1は、データファイルを複数のデータブロックに分割して、各ブロックを同報通信であるマルチキャスト通信で複数のクライアントA1〜A3,B1〜B4に配信する。配信サーバ1は、あるデータブロックを配信した後、データブロックを配信した全クライアントから応答を受信した場合に、次のブロックを配信する。
配信クライアントA1〜A3,B1〜B4は、配信サーバ1が配信したデータブロックを受け取るクライアントである。配信クライアントA1〜A3,B1〜B4は、配信サーバが配信したデータブロックを受け取ると、自機がデータブロックを受け取ったことを示す受信応答フレームを配信サーバに送信する。
従来、配信クライアントからの応答はUDP(User Datagram Protocol)を用いたユニキャスト通信であるために、ネットワーク上でロストした場合に応答の検出に時間が掛かり、配信性能が大幅に低下することがあった。本実施形態の配信システムは、応答の検出にかかる時間の短縮化を図っている。
本配信システムでは、配信クライアントA1〜A3,B1〜B4が配信サーバ1からデータブロックを受信すると、受信応答フレームをマルチキャスト通信によって配信サーバ1および他の全ての配信クライアントに対して送信する。配信クライアントが送信する応答フレームの送信がマルチキャスト通信であるので、配信サーバは勿論のこと、他の配信クライアントもその応答を受信することになる。この時に、配信クライアントは、他の配信クライアントが受信した受信応答フレームに含まれる受信済みの他の配信クライアントの情報も含めた受信応答フレームを配信サーバに送信する。
図2にマルチキャスト配信マルチキャスト応答のプロトコルシーケンス例を示す。
図2に示すように、配信クライアントA1〜A3,B1〜B4がネットワークに接続すると、“CONNECT_REQ”を配信サーバ1に送信し、配信サーバ1に配信クライアントがネットワークに接続したことを通知する。配信サーバは、“CONNECT_REQ”を送信した配信クライアントに“CONNECT_REPLY”を送信し、“CONNECT_REQ”を受信したことを通知する。
図2に示すように、配信クライアントA1〜A3,B1〜B4がネットワークに接続すると、“CONNECT_REQ”を配信サーバ1に送信し、配信サーバ1に配信クライアントがネットワークに接続したことを通知する。配信サーバは、“CONNECT_REQ”を送信した配信クライアントに“CONNECT_REPLY”を送信し、“CONNECT_REQ”を受信したことを通知する。
その後、配信サーバ1は、データファイルの最初のブロックであるブロックデータ(block=0)を配信クライアントA1〜A3,B1〜B4に配信する。
第11配信クライアントA1がブロックデータブロックデータ(block=0)を受信すると、受信応答フレームを配信サーバ1、第12配信クライアントA2、第13配信クライアントA3、第21配信クライアントB1、第22配信クライアントB2、第23配信クライアントB3、および第24配信クライアントB4に対して送信する。第11配信クライアントA1が送信した受信応答フレームに含まれるブロックデータ(block=0)を受信したクライアントの情報は、第11配信クライアントA1のみである。
第12配信クライアントA2がブロックデータブロックデータ(block=0)を受信すると、受信応答フレームを配信サーバ1、第11配信クライアントA1、第13配信クライアントA3、第21配信クライアントB1、第22配信クライアントB2、第23配信クライアントB3、および第24配信クライアントB4に対して送信する。第11配信クライアントA1が送信した受信応答フレームに含まれるブロックデータ(block=0)を受信したクライアントの情報は、第11配信クライアントA1および第12配信クライアントA2である。
第13配信クライアントA3がブロックデータブロックデータ(block=0)を受信すると、受信応答フレームを配信サーバ1、第11配信クライアントA1、第12配信クライアントA2、第21配信クライアントB1、第22配信クライアントB2、第23配信クライアントB3、および第24配信クライアントB4に対して送信する。第11配信クライアントA1が送信した受信応答フレームに含まれるブロックデータ(block=0)を受信したクライアントの情報は、第11配信クライアントA1、第12配信クライアントA2、および第13配信クライアントA3である。
第21配信クライアントB1がブロックデータブロックデータ(block=0)を受信すると、受信応答フレームを配信サーバ1、第11配信クライアントA1、第12配信クライアントA2、第13配信クライアントA3、第22配信クライアントB2、第23配信クライアントB3、および第24配信クライアントB4に対して送信する。第11配信クライアントA1が送信した受信応答フレームに含まれるブロックデータ(block=0)を受信したクライアントの情報は、第11配信クライアントA1、第12配信クライアントA2、第13配信クライアントA3、および第21配信クライアントB1である。
第22配信クライアントB2がブロックデータブロックデータ(block=0)を受信すると、受信応答フレームを配信サーバ1、第11配信クライアントA1、第12配信クライアントA2、第13配信クライアントA3、第21配信クライアントB1、第23配信クライアントB3、および第24配信クライアントB4に対して送信する。第11配信クライアントA1が送信した受信応答フレームに含まれるブロックデータ(block=0)を受信したクライアントの情報は、第11配信クライアントA1、第12配信クライアントA2、第13配信クライアントA3、第21配信クライアントB1、および第22配信クライアントB2である。
第23配信クライアントB3がブロックデータブロックデータ(block=0)を受信すると、受信応答フレームを配信サーバ1、第11配信クライアントA1、第12配信クライアントA2、第13配信クライアントA3、第21配信クライアントB1、第22配信クライアントB2、および第24配信クライアントB4に対して送信する。第11配信クライアントA1が送信した受信応答フレームに含まれるブロックデータ(block=0)を受信したクライアントの情報は、第11配信クライアントA1、第12配信クライアントA2、第13配信クライアントA3、第21配信クライアントB1、第22配信クライアントB2、および第23配信クライアントB3である。
第24配信クライアントB4がブロックデータブロックデータ(block=0)を受信すると、受信応答フレームを配信サーバ1、第11配信クライアントA1、第12配信クライアントA2、第13配信クライアントA3、第21配信クライアントB1、第22配信クライアントB2、および第23配信クライアントB3に対して送信する。第11配信クライアントA1が送信した受信応答フレームに含まれるブロックデータ(block=0)を受信したクライアントの情報は、第11配信クライアントA1、第12配信クライアントA2、第13配信クライアントA3、第21配信クライアントB1、第22配信クライアントB2、第23配信クライアントB3、および第24配信クライアントB4である。
以下に、応答の検出にかかる時間の短縮化を図った配信クライアントおよび配信サーバの構成を説明する。
先ず、図3を参照して配信クライアントの構成を説明する。図3は、配信クライアントA1,A2,A3,B1,B2,B3,B4の構成を示すブロック図である。
配信クライアントは、データ振分モジュール100、データ受信モジュール101、受信応答フレーム解析モジュール103、受信応答フレーム生成モジュール104および受信応答フレーム送信モジュール105等を備えている。
先ず、図3を参照して配信クライアントの構成を説明する。図3は、配信クライアントA1,A2,A3,B1,B2,B3,B4の構成を示すブロック図である。
配信クライアントは、データ振分モジュール100、データ受信モジュール101、受信応答フレーム解析モジュール103、受信応答フレーム生成モジュール104および受信応答フレーム送信モジュール105等を備えている。
データ振分モジュール100は、受信したデータの種類を判別する。データブロックの場合、受信したデータをデータ受信モジュール101に渡し、受信応答フレーム生成モジュール104にデータブロックを受信した旨を通知する。また、受信応答フレームの場合、受信したデータを受信応答フレーム解析モジュール103に渡す。
データ受信モジュール101は、配信サーバが配信したデータブロックを結合し、元のデータファイルを復元する。
受信応答フレーム解析モジュール103は、データ振分モジュール100から渡された受信応答フレームを解析して、データブロックを受信している配信クライアントを検出する。受信応答フレームには、応答を送信した配信クライアントが他の配信クライアントから応答を受信している場合に、応答を送信した配信クライアントが応答を受け取った他の配信クライアントの情報を含んでいる。
例えば、第23配信クライアントB3が送信し、第24配信クライアントB4が受信した受信応答フレームの例を図4に示す。この例は、第24配信クライアントB4が、第11配信クライアントA1,第13配信クライアントA3,第21配信クライアントB1,および第23配信クライアントB3から応答フレームを受け取っている場合である。
図4に示すように、受信応答フレームは、DA(Destination Address、マルチキャストアドレス)、SA(Sender Address、送信元アドレス)、IPヘッダ、UDPヘッダ、第11配信クライアントA1のレスポンス、第13配信クライアントA3のレスポンス、第21配信クライアントB1のレスポンス、および第23配信クライアントB3のレスポンスを有する。レスポンスとはクライアントがデータブロックを受信していることを示す情報である。つまり、この受信応答フレームは、第11配信クライアントA1、第13配信クライアントA3、第21配信クライアントB1、および第23配信クライアントB3が配信サーバ1が配信したデータブロックを受信していることを示している。
例えば、図4に示す受信応答フレームの場合、第11配信クライアントA1、第13配信クライアントA3、第21配信クライアントB1、および第23配信クライアントB3がデータブロックを受信していることを検出する。
受信応答フレーム解析モジュール103は、検出した配信クライアントを示すデータ受信クライアント情報を有する。データ受信クライアント情報は、図5に示すように、自機を除く全てのクライアントに対応するレジスタCRA1、CRA2、CRA3、CRB1、CRB2、CRB3によって構成されている。なお、図5は、第24配信クライアントB4の受信応答フレーム解析モジュール103が有するデータ受信クライアント情報であり、自機に対応するレジスタはない。
図5に示すように、各レジスタのデフォルトの値は、受信していないことを示す“0”である。受信応答フレーム解析モジュール103が、あるクライアントがデータブロックが受信していることを検出した場合、受信応答フレーム解析モジュール103は、データブロックを受信したクライアントに対応するレジスタの値と受信済みで有ることを示す“1”との論理和を演算し、レジスタの値を演算結果に更新する。この処理は、自機が受信応答フレームを配信サーバ1に送信するまで行われる。受信応答フレーム解析モジュール103は、自機が受信応答フレームを配信サーバ1に送信すると、各レジスタCRA1、CRA2、CRA3、CRB1、CRB2、CRB3の値をリセットして“0”にする。
例えば、図4に示す受信応答フレームを第24配信クライアントB4が受信した場合、データ受信クライアント情報は、図6に示すように、第11配信クライアントA1、第13配信クライアントA3、第21配信クライアントB1、および第23配信クライアントB3に対応するレジスタCRA1、CRA3、CRB1、CRB3の値が1になる。
受信応答フレーム生成モジュール104は、自機のデータ受信モジュール101が配信サーバ1からデータブロックを受信すると、受信応答フレーム解析モジュール103が有する受信クライアント情報に示されているデータを受信しているクライアントの情報に基づいて、配信サーバ1に送信するための受信応答フレームを生成する。すなわち、例えば、第24配信クライアントB4が、図4に示す受信応答フレームを受け取っていると、図7に示すように、図4に示す応答フレームに対して自機(第24配信クライアント)のレスポンスを付加した受信応答フレームを生成する。
受信応答フレーム送信モジュール105は、受信応答フレーム生成モジュール104が生成した受信応答フレームを、マルチキャスト通信によって配信サーバ1および他の配信クライアントに対して送信する。例えば、第24配信クライアントB4が図7に示す受信応答フレームをマルチキャスト通信によって送信する場合、第1サーバ1、第11配信クライアントA1、第12配信クライアントA2、第13配信クライアントA3、第21配信クライアントB1、第22配信クライアントB2、および第23配信クライアントB3に対して送信する。
次に、配信サーバの構成を図8を参照して説明する。図5は、配信サーバの構成を示すブロック図である。
配信サーバは、記憶装置201、データ配信モジュール202、受信応答フレーム受信モジュール203、受信応答フレーム解析モジュール204、およびデータブロック受信判別モジュール205等を備えている。
配信サーバは、記憶装置201、データ配信モジュール202、受信応答フレーム受信モジュール203、受信応答フレーム解析モジュール204、およびデータブロック受信判別モジュール205等を備えている。
記憶装置201は、各配信クライアントに配信するデータファイルを格納している。データ配信モジュール202は、記憶装置201に格納されているデータファイルを複数のデータブロックに分割し、分割されたデータブロックを順にマルチキャスト通信によって全配信クライアントに対して配信する。受信応答フレーム受信モジュール203は、各クライアントから送信された受信応答フレームを受信する。受信応答フレーム解析モジュール204は、受信応答フレーム受信モジュール203が受信した応答フレームを解析して、データ配信モジュール202が配信したデータブロックを受信した配信クライアントを検出する。
受信応答フレーム解析モジュール204は、検出した配信クライアントを示すデータ受信クライアント情報を有する。データ受信クライアント情報は、図9に示すように、全てのクライアントに対応するレジスタSRA1、SRA2、SRA3、SRB1、SRB2、SRB3、SRB4によって構成されている。
各レジスタのデフォルトの値は、図9に示すように、受信していないことを示す“0”である。受信応答フレーム解析モジュール204が、あるクライアントがデータブロックが受信していることを検出した場合、受信応答フレーム解析モジュール204は、データブロックを受信したクライアントに対応するレジスタの値と受信済みで有ることを示す“1”との論理和を演算し、レジスタの値を演算結果に更新する。
例えば、配信サーバ1が図4に示す受信応答フレームを受信した場合、データ受信クライアント情報は図10に示すように、第11配信クライアントA1に対応するレジスタSRA1の値、第13配信クライアントA3に対応するレジスタSRA3の値、第21配信クライアントB1に対応するレジスタSRB1の値、および第23配信クライアントB3に対応するレジスタSRB3の値が“1”である。この状態で配信サーバ1が図7に示す受信応答フレームを受信すると、データ受信クライアント情報は図11に示すように、第11配信クライアントA1に対応するレジスタSRA1の値、第13配信クライアントA3に対応するレジスタSRA3の値、第21配信クライアントB1に対応するレジスタSRB1の値、第23配信クライアントB3に対応するレジスタSRB3の値、および第24配信クライアントB4に対応するレジスタSRB4の値が“1”である。
データブロック受信判別モジュール205は、データ受信クライアント情報から、データブロックを配信した全てのクライアントがデータブロックを受け取っているか否かを判別する。
データブロック受信判別モジュール205は、受信応答フレーム生成モジュール104がデータ受信クライアント情報を更新した後、全てのレジスタの値の論理積を演算する。そして、論理積の演算結果が“1”であれば、全てのクライアントがデータブロックを受信していると判断し、データブロック配信モジュールに次のデータブロックの配信を指示し、全レジスタの値をリセットして“0”にする。
データブロック受信判別モジュール205は、全てのクライアントがデータブロックを受信していると判断すると、データ配信モジュール202に次のデータブロックを配信するように指示する。また、データ配信モジュール202は、受信応答フレーム解析モジュール204にデータ受信クライアント情報の各レジスタの値をリセットして“0”にするように指示する。
次に、配信クライアントが配信中に行う処理の手順を図12を参照して説明する。
配信クライアントがデータを受信すると、データ振分モジュール100がデータの種類を検出し、受信したデータがデータブロックであるか否かを判別する(ステップS11)。データブロックであると判断した場合(ステップS11のYes)、データ振分モジュール100は、受信したデータをデータ受信モジュール101に渡すと共に、受信応答フレーム生成モジュール104に受信応答フレームの生成を指示する。受信応答フレーム生成モジュール104は、データ受信クライアント情報を取得する(ステップS13)。受信応答フレーム生成モジュール104は、データ受信クライアント情報に記録されているデータブロックを受信しているクライアントおよび自機の情報を有する受信応答フレームを生成する(ステップS14)。受信応答フレーム生成モジュール104は、受信応答フレーム解析モジュール103にデータ受信クライアント情報のリセットを指示する。受信応答フレーム解析モジュール103はデータ受信クライアント情報をリセットして、各レジスタ値を“0”にする(ステップS15)。また、受信応答フレーム生成モジュール104は、生成した受信応答フレームを受信応答フレーム送信モジュール105に渡す。受信応答フレーム送信モジュール105は、受信応答フレームをマルチキャスト通信によって配信サーバ1および他の配信クライアントに対して送信する(ステップS16)。
配信クライアントがデータを受信すると、データ振分モジュール100がデータの種類を検出し、受信したデータがデータブロックであるか否かを判別する(ステップS11)。データブロックであると判断した場合(ステップS11のYes)、データ振分モジュール100は、受信したデータをデータ受信モジュール101に渡すと共に、受信応答フレーム生成モジュール104に受信応答フレームの生成を指示する。受信応答フレーム生成モジュール104は、データ受信クライアント情報を取得する(ステップS13)。受信応答フレーム生成モジュール104は、データ受信クライアント情報に記録されているデータブロックを受信しているクライアントおよび自機の情報を有する受信応答フレームを生成する(ステップS14)。受信応答フレーム生成モジュール104は、受信応答フレーム解析モジュール103にデータ受信クライアント情報のリセットを指示する。受信応答フレーム解析モジュール103はデータ受信クライアント情報をリセットして、各レジスタ値を“0”にする(ステップS15)。また、受信応答フレーム生成モジュール104は、生成した受信応答フレームを受信応答フレーム送信モジュール105に渡す。受信応答フレーム送信モジュール105は、受信応答フレームをマルチキャスト通信によって配信サーバ1および他の配信クライアントに対して送信する(ステップS16)。
また、ステップS11においてデータブロックではないと判断した場合(ステップS11のNo)、データ振分モジュール100は、データが受信応答フレームであるか否かを判別する(ステップS21)。受信応答フレームではないと判断した場合(ステップS21のNo)、データ振分モジュール100は受信したデータに対応する処理を行う。受信応答フレームであると判断した場合(ステップS21のYes)、データ振分モジュール100は受信したデータを受信応答フレーム解析モジュール103に渡す。受信応答フレーム解析モジュール103は、受信応答フレームを解析して、既にデータブロックを検出している配信クライアントを検出する。そして、検出したクライアントに基づいて、データ授受シンクライアント情報を更新する(ステップS22)。
次に、配信サーバ1が配信中に行う処理の手順を図13を参照して説明する。
先ず、データ配信モジュール202はnを0とする(ステップS31)。データ配信モジュール202は、データファイル中のn番目のデータブロックをマルチキャストによって配信クライアントA1,A2,A3,B1,B2,B3,B4に送信する(ステップS32)。送信後、受信応答フレーム受信モジュール203が、配信クライアントA1,A2,A3,B1,B2,B3,B4の何れかの受信応答フレーム受信モジュール203から受信応答フレームを受信する(S33)。受信応答フレーム受信モジュール203は、受信した受信応答フレームを受信応答フレーム解析モジュール204に渡す。受信応答フレーム解析モジュール204は、受信応答フレームを解析して既にn番目のデータブロックを受信している配信クライアントを検出し、データ受信クライアント情報を更新する(ステップS34)。受信応答フレーム解析モジュール204はデータ受信クライアント情報を更新したことをデータブロック受信判別モジュール205に通知する。データブロック受信判別モジュール205は、データ受信クライアント情報に基づいてn番目のデータブロックを送信した全ての配信クライアントがデータを受け取っているか否かを判別する(ステップS35)。全ての配信クライアントがデータを受け取っていないと判断した場合(ステップS35のNo)、ステップS33〜ステップS35の処理が順次実行される。全ての配信クライアントがデータを受け取っていると判断した場合(ステップS35のYes)、データブロック受信判別モジュール205は受信応答フレーム解析モジュール204にデータ受信クライアント情報のリセットを指示する。受信応答フレーム解析モジュール204は、全レジスタSRA1,SRA3,SRB1,SRB2,SRB3,SRB4の値を“0”にしてデータ受信クライアント情報をリセットする(ステップS36)。また、データブロック受信判別モジュール205は、全データファイルの送信が終了したか否かを判別する(ステップS37)。終了していないと判断した場合(ステップS37のNo)、データブロック受信判別モジュール205はデータ配信モジュール202に次のデータブロックの配信を指示する。データ廃止のジュールはn+1を演算し、演算された値を新たなnの値とする(ステップS38)。終了した判断した場合(ステップS37のYes)、データファイルの送信に係わる処理が終了する。
先ず、データ配信モジュール202はnを0とする(ステップS31)。データ配信モジュール202は、データファイル中のn番目のデータブロックをマルチキャストによって配信クライアントA1,A2,A3,B1,B2,B3,B4に送信する(ステップS32)。送信後、受信応答フレーム受信モジュール203が、配信クライアントA1,A2,A3,B1,B2,B3,B4の何れかの受信応答フレーム受信モジュール203から受信応答フレームを受信する(S33)。受信応答フレーム受信モジュール203は、受信した受信応答フレームを受信応答フレーム解析モジュール204に渡す。受信応答フレーム解析モジュール204は、受信応答フレームを解析して既にn番目のデータブロックを受信している配信クライアントを検出し、データ受信クライアント情報を更新する(ステップS34)。受信応答フレーム解析モジュール204はデータ受信クライアント情報を更新したことをデータブロック受信判別モジュール205に通知する。データブロック受信判別モジュール205は、データ受信クライアント情報に基づいてn番目のデータブロックを送信した全ての配信クライアントがデータを受け取っているか否かを判別する(ステップS35)。全ての配信クライアントがデータを受け取っていないと判断した場合(ステップS35のNo)、ステップS33〜ステップS35の処理が順次実行される。全ての配信クライアントがデータを受け取っていると判断した場合(ステップS35のYes)、データブロック受信判別モジュール205は受信応答フレーム解析モジュール204にデータ受信クライアント情報のリセットを指示する。受信応答フレーム解析モジュール204は、全レジスタSRA1,SRA3,SRB1,SRB2,SRB3,SRB4の値を“0”にしてデータ受信クライアント情報をリセットする(ステップS36)。また、データブロック受信判別モジュール205は、全データファイルの送信が終了したか否かを判別する(ステップS37)。終了していないと判断した場合(ステップS37のNo)、データブロック受信判別モジュール205はデータ配信モジュール202に次のデータブロックの配信を指示する。データ廃止のジュールはn+1を演算し、演算された値を新たなnの値とする(ステップS38)。終了した判断した場合(ステップS37のYes)、データファイルの送信に係わる処理が終了する。
上述した処理を行うと、配信クライアントの情報がネットワーク上でロストして配信サーバに届かない場合でも救済され、高品質高性能な配信システムが構築できる。例えば、第11配信クライアントA1が送信した応答フレームを配信サーバが何らかの理由で受信しなかった場合でも、第24配信クライアントB4が受信していれば、第24配信クライアントB4の応答フレームに第11配信クライアントA1の応答フレームが含まれるので、これを配信サーバが受信することで、配信クライアントA1の送達確認がなされる。
なお、上述した実施形態では、配信クライアントはそれまでに既に受信している全ての他のマルチキャスト応答を自分の応答フレームに含める動作仕様であったが、性能向上/負荷軽減などの理由で、受信応答フレームを送信する配信クライアントは受信済みの他の配信クライアントの情報も含めて配信サーバに通知するか、それとも自分の受信応答だけで他の配信クライアントの情報は含めないで配信サーバに通知するかを選択しても良い。
この機能を利用することで、代替受信応答が可能になる。例えば、第12配信クライアントA2は常に自分の応答に第11配信クライアントA1の応答を含めてしまうような動作である。
配信クライアントは他の配信クライアントの受信応答フレーム情報から配信サーバが送信したパケットがどこでロストしたかを推測するなどが可能になり、ネットワーク負荷などを考慮した最適な配信システムを構築することが可能になる。
配信サーバが利用するマルチキャストアドレスと、配信クライアントが利用するマルチキャストアドレスは同一であっても、異なっても、どちらでも良い。
配信サーバの送信と配信クライアントの応答は、マルチキャストでなくブロードキャストでも良い。
受信応答フレームを送信する配信クライアントは受信済みの他の配信クライアントの情報も含めて配信サーバに通知するか、それとも自分の受信応答だけで他の配信クライアントの情報は含めないで配信サーバに通知するかを選択できるようにしても良い。
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
1…配信サーバ,30…ルータ,100…データ振分モジュール,101…データ受信モジュール,103…受信応答フレーム解析モジュール,104…受信応答フレーム生成モジュール,105…受信応答フレーム送信モジュール,201…記憶装置,202…データ配信モジュール,203…受信応答フレーム受信モジュール,204…受信応答フレーム解析モジュール,205…データブロック受信判別モジュール。
Claims (10)
- 配信サーバから同報通信によって配信されたデータを受信するデータ受信装置であって、
前記配信サーバから第1データ受信装置を含む1台以上の他のデータ受信装置および前記データ受信装置に同報通信によって配信した前記データを受信するデータ受信手段と、
前記第1データ受信装置が前記データを受信した場合に、前記第1データ受信装置から、前記1台以上の他のデータ受信装置から前記第1データ受信装置を除いた他のデータ受信装置、前記配信サーバ、および前記データ受信装置に同報通信によって送信される、前記他のデータ受信装置中の既に前記データを受信している他のデータ受信装置を示すデータ受信装置情報を含む受信応答情報を受信する受信応答情報受信手段と、
前記受信応答情報受信手段が受信した前記受信応答情報中のデータ受信装置情報に基づいて、前記1台以上の他のデータ受信装置中の既に前記データを受信している他のデータ受信装置を検出する検出手段と、
前記データ受信手段が前記データを受信した場合に、前記検出手段が検出した前記他のデータ受信装置および前記データ受信装置を示すデータ受信装置情報を含む受信応答情報を、前記配信サーバおよび前記他のデータ受信装置に同報通信によって送信する受信応答送信手段と
を具備することを特徴とするデータ受信装置。 - 前記データはマルチキャスト方式またはブロードキャスト方式で送信されていることを特徴とする請求項1に記載のデータ受信装置。
- 前記受信応答送信手段は、前記受信応答情報をマルチキャスト方式またはブロードキャスト方式で送信することを特徴とする請求項1に記載のデータ受信装置。
- 同報通信によってデータを送信するデータ送信装置であって、
第1データ受信装置を含む複数のデータ受信装置に同報通信によって前記データを送信するデータ送信手段と、
前記第1データ受信装置が前記データを受信した場合に、前記第1データ受信装置から、前記配信サーバおよび前記複数のデータ受信装置から前記第1データ受信装置を除いたデータ受信装置に同報通信によって送信される、前記複数のデータ受信装置中の既に前記データを受信しているデータ受信装置を示す第1データ受信装置情報を有する受信応答情報を受信する受信応答情報受信手段と、
前記受信応答情報受信手段が受信応答情報を受信する度に、前記受信応答情報に含まれる第1データ受信装置情報に基づいて、前記複数のデータ受信装置中の既に前記データを受信しているデータ受信装置を検出する検出手段と、
前記検出手段が前記複数のデータ受信装置中の既に前記データを受信しているデータ受信装置を検出する度に、前記検出手段が検出した前記複数のデータ受信装置中の既に前記データを受信しているデータ受信装置の情報に基づいて、前記複数のデータ受信装置中の既に前記データを受信しているデータ受信装置を示す第2データ受信装置を更新する第2データ受信装置更新手段と、
前記第2データ受信装置更新手段が前記第2データ受信装置情報を更新する度に、前記第2データ受信装置情報に基づいて前記データ送信手段が送信したデータを前記複数のデータ受信装置の全てが受信したか否かを判別する判別手段と
を具備することを特徴とするデータ送信装置。 - 前記データ送信手段は、前記データをマルチキャスト方式またはブロードキャスト方式で送信することを特徴とする請求項4に記載のデータ送信装置。
- 前記データは、データファイルを複数のデータブロックに分割したデータであり、
前記判別手段が前記複数のデータ受信装置の全てが受信したと判断した場合に、前記データ送信手段は、送信していないデータブロックを送信することを特徴とする請求項4に記載のデータ送信装置。 - データ送信装置から第1データ受信装置および第2受信装置を含む複数のデータ受信装置に同報通信によってデータを送信し、
前記第1データ受信装置が前記データを受信した場合に、前記第1データ受信装置から、前記複数のデータ受信装置から前記第1データ受信装置を除いたデータ受信装置、および前記配信サーバに送信した、前記複数のデータ受信装置中の既に前記データを受信している受信データ受信装置を示す第1データ受信装置情報を有する受信応答情報を前記第2データ受信装置によって受信し、
前記第2データ受信装置によって、前記第1受信応答情報に基づいて、前記複数のデータ処理装置中で既に前記データを受信しているデータ受信装置を検出し、
前記第2データ受信装置が前記データを受信した場合に、前記第2受信装置から、前記検出手段が検出したデータ受信装置および前記第2受信装置を示す第1データ受信装置情報を含む受信応答情報を前記配信サーバおよび前記第2受信装置を除く前記複数のデータ受信装置に送信し、
前記データ送信装置によって、前記複数のデータ受信装置の1台のデータ受信装置が送信した受信応答情報を受信し、
前記データ送信装置が前記受信応答情報を受信する度に、当該受信応答情報に含まれる第1データ受信装置情報に基づいて、前記複数のデータ受信装置中の既に前記データを受信しているデータ受信装置を検出し、
前記データ送信装置によって、前記データを受信しているデータ受信装置を検出する度に、前記検出手段が検出した前記複数のデータ受信装置中の既に前記データを受信しているデータ受信装置の情報に基づいて、前記複数のデータ受信装置中の既に前記データを受信しているデータ受信装置を示す第2データ受信装置情報を更新し、
前記データ送信装置によって、前記第2データ受信装置情報が更新される度に、前記第2データ受信装置情報に基づいて前記データ送信手段が送信したデータを前記複数のデータ受信装置の全てが受信したか否かを判別する
ことを特徴とするデータ配信方法。 - 前記データ送信装置は、前記データをマルチキャスト方式またはブロードキャスト方式で送信することを特徴とする請求項7に記載のデータ配信方法。
- 前記データ受信装置は、前記受信応答情報をマルチキャスト方式またはブロードキャスト方式で送信することを特徴とする請求項7に記載のデータ受信装置。
- 前記データは、データファイルを複数のデータブロックに分割したデータであり、
前記複数のデータ受信装置の全てが受信したと判断した場合に、前記データ送信装置は、送信していないデータブロックを送信することを特徴とする請求項7に記載のデータ配信方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008304694A JP4477088B1 (ja) | 2008-11-28 | 2008-11-28 | データ受信装置、データ送信装置、データ配信方法 |
US12/620,369 US20100138483A1 (en) | 2008-11-28 | 2009-11-17 | Data Reception Device, Data Transmission Device, and Data Distribution Method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008304694A JP4477088B1 (ja) | 2008-11-28 | 2008-11-28 | データ受信装置、データ送信装置、データ配信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP4477088B1 JP4477088B1 (ja) | 2010-06-09 |
JP2010130498A true JP2010130498A (ja) | 2010-06-10 |
Family
ID=42223765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008304694A Active JP4477088B1 (ja) | 2008-11-28 | 2008-11-28 | データ受信装置、データ送信装置、データ配信方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20100138483A1 (ja) |
JP (1) | JP4477088B1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102480505A (zh) * | 2010-11-30 | 2012-05-30 | 金蝶软件(中国)有限公司 | 数据增量传输方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09261255A (ja) * | 1996-03-26 | 1997-10-03 | Toshiba Corp | 同報通信制御装置 |
JP2002359621A (ja) * | 2001-05-31 | 2002-12-13 | Matsushita Electric Works Ltd | 同報通信方法 |
JP2006211698A (ja) * | 2006-02-27 | 2006-08-10 | Brother Ind Ltd | Ipアドレス設定装置、ipアドレス設定方法、及びネットワークシステム |
JP2006295339A (ja) * | 2005-04-06 | 2006-10-26 | Ntt Communications Kk | ゲートウェイ装置及びそのプログラム |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003209576A (ja) * | 2002-01-15 | 2003-07-25 | Matsushita Electric Ind Co Ltd | マルチキャスト通信方法及びそのシステム |
EP1495588A4 (en) * | 2002-04-18 | 2005-05-25 | Sarnoff Corp | METHODS AND DEVICES FOR OBTAINING PROTOCOLS AND AD HOC NETWORK SENSORS |
US7631085B2 (en) * | 2004-08-30 | 2009-12-08 | Nokia Corporation | Point-to-point delivery verification report mechanism for point-to-multipoint transmission systems |
WO2007008123A1 (en) * | 2005-07-07 | 2007-01-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and arrangement for coding and scheduling in packet data communication systems |
US8131971B2 (en) * | 2006-06-20 | 2012-03-06 | Patentvc Ltd. | Methods and systems for push-to-storage |
WO2008110801A2 (en) * | 2007-03-13 | 2008-09-18 | Syngenta Participations Ag | Methods and systems for ad hoc sensor network |
WO2009036461A2 (en) * | 2007-09-13 | 2009-03-19 | Lightspeed Audio Labs, Inc. | System and method for streamed-media distribution using a multicast, peer-to-peer network |
US20090100128A1 (en) * | 2007-10-15 | 2009-04-16 | General Electric Company | Accelerating peer-to-peer content distribution |
US9667364B2 (en) * | 2008-05-14 | 2017-05-30 | Sony Interactive Entertainment Inc. | Broadcast seeding for peer-to-peer networks |
-
2008
- 2008-11-28 JP JP2008304694A patent/JP4477088B1/ja active Active
-
2009
- 2009-11-17 US US12/620,369 patent/US20100138483A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09261255A (ja) * | 1996-03-26 | 1997-10-03 | Toshiba Corp | 同報通信制御装置 |
JP2002359621A (ja) * | 2001-05-31 | 2002-12-13 | Matsushita Electric Works Ltd | 同報通信方法 |
JP2006295339A (ja) * | 2005-04-06 | 2006-10-26 | Ntt Communications Kk | ゲートウェイ装置及びそのプログラム |
JP2006211698A (ja) * | 2006-02-27 | 2006-08-10 | Brother Ind Ltd | Ipアドレス設定装置、ipアドレス設定方法、及びネットワークシステム |
Also Published As
Publication number | Publication date |
---|---|
US20100138483A1 (en) | 2010-06-03 |
JP4477088B1 (ja) | 2010-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7154399B2 (ja) | データ伝送方法、装置、コンピュータ読み取り可能な媒体および電子デバイス | |
US7978631B1 (en) | Method and apparatus for encoding and mapping of virtual addresses for clusters | |
US9736110B2 (en) | Method and apparatus for acquiring IP address by DHCP client | |
US9191219B2 (en) | Network multicast peer discovery methods | |
KR20210116587A (ko) | 가상 네트워크 그룹을 위한 브로드캐스트 방법 및 디바이스, 장치, 및 시스템 | |
US10404584B2 (en) | Load sharing method and router device | |
WO2013108676A1 (ja) | 多重ゲートウェイ装置、多重回線通信システム、多重回線通信方法およびプログラム | |
US20080313350A1 (en) | Method and system of cache discovery in a peer-to-peer environment | |
EP3095229B1 (en) | Method and nodes for configuring a communication path for a media service | |
US9385877B2 (en) | Multicast systems, methods, and computer program products | |
WO2017041579A1 (zh) | 一种实现链路质量检测方法及装置 | |
US8051157B2 (en) | Discovery apparatus and method | |
EP3166263B1 (en) | Routing calculation method and device for trill isis | |
JP2020536416A (ja) | サービス品質を決定するための方法および装置、ならびにプログラム | |
US20160149797A1 (en) | Method for generating route entry, and border gateway protocol speaker | |
CN107959704A (zh) | 一种数据处理方法及家庭网关 | |
US20210182244A1 (en) | Parallel distributed ledger construction | |
JP2022510088A (ja) | グループ通信の実行装置及び方法 | |
JP4477088B1 (ja) | データ受信装置、データ送信装置、データ配信方法 | |
CN105210347A (zh) | 监控服务器、解析服务器、请求设备及节点选择方法 | |
Chae et al. | Fast discovery scheme using DHT-like overlay network for a large-scale DDS | |
JP5889122B2 (ja) | 制御ノード及び通信制御方法 | |
KR20090047426A (ko) | 통신 네트워크의 실시간 데이터 전송에서 피투피 전송과 실시간 데이터 서버를 동시에 이용하여 실시간 데이터를 전송하는 방법 | |
JP2005011267A (ja) | リアルタイムデータ通信システム、リアルタイムデータ通信装置およびリアルタイムデータ通信方法 | |
JP6347177B2 (ja) | 転送装置、制御装置、および、通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20100216 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100310 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 3 |