JP4736527B2 - 配信システム、ノード装置、及びデータパケットの補完方法等 - Google Patents

配信システム、ノード装置、及びデータパケットの補完方法等 Download PDF

Info

Publication number
JP4736527B2
JP4736527B2 JP2005138041A JP2005138041A JP4736527B2 JP 4736527 B2 JP4736527 B2 JP 4736527B2 JP 2005138041 A JP2005138041 A JP 2005138041A JP 2005138041 A JP2005138041 A JP 2005138041A JP 4736527 B2 JP4736527 B2 JP 4736527B2
Authority
JP
Japan
Prior art keywords
node device
data packet
packet
request information
node
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.)
Expired - Fee Related
Application number
JP2005138041A
Other languages
English (en)
Other versions
JP2006319495A (ja
Inventor
靖司 柳原
裕二 清原
博明 鈴木
建太郎 牛山
英輝 松尾
康一 飯島
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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2005138041A priority Critical patent/JP4736527B2/ja
Priority to PCT/JP2006/307918 priority patent/WO2006120836A1/ja
Publication of JP2006319495A publication Critical patent/JP2006319495A/ja
Application granted granted Critical
Publication of JP4736527B2 publication Critical patent/JP4736527B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、コンテンツの単位を形成する連続する複数のデータパケットが上流から下流の方向へノード装置により中継されつつ配信されるコンテンツ配信システム等における欠落したデータパケットの補完方法等の技術分野に関する。
この種のコンテンツ配信システムとして、特許文献1には、ストリームデータ分散配信システムが開示されており、当該システムにおいては、各ノード装置がネットワーク接続関係を認識するためのトポロジー情報を有しており、各ノード装置はトポロジー情報により認識した上流(上位階層)のノード装置に接続し、当該上流のノード装置から送信されるストリームデータを受信し、それを下流(下位階層)のノード装置に転送(中継)するようになっている。
かかるコンテンツ配信システムにおいては、ノード装置間の通信にはUDP(User Datagram Protocol)のような送達確認を行わないプロトコルを使用しており、また、各ノード装置がネットワークに自由に参加、脱退(例えば、電源のON,OFF)可能であるため、各ノード装置が受信するコンテンツには、一定の割合でデータパケットの欠落が発生する。
特開2003−169089号公報
ところで、上記のように、データパケットの欠落が発生した場合、例えばコンテンツの配信元である配信サーバから欠落したデータパケットを取得して補完する方法が考えられるが、この方法では、複数のノード装置による配信サーバへのアクセスが集中し、大きな負担を課するという問題がある。
本発明は、以上の問題等に鑑みてなされたものであり、配信サーバ等の特定の装置に大きな負担を課することなく、欠落したデータパケットを補完することが可能な配信システム、ノード装置、及びデータパケットの補完方法等を提供することを課題とする。
上記課題を解決するために、請求項1に記載の発明は、複数のノード装置が複数の階層を形成しつつ通信経路を介して接続され、連続する複数のデータパケットが上流から下流の方向へ配信され、前記ノード装置が受信したデータパケットを記憶して下流に位置する前記ノード装置に中継して配信される配信システムに含まれる前記ノード装置において、配信されてきた前記連続する複数のデータパケットを受信するパケット受信手段と、前記受信されたデータパケットに基づき、欠落したデータパケットが有るか否かを判別する欠落パケット有無判別手段と、前記欠落パケット有無判別手段により前記欠落したデータパケットがあると判別された場合には、前記データパケットを受信したノード装置の下流に位置するノード装置以外のノード装置の何れかに対して、当該欠落したデータパケットの補完要求情報を送信する補完要求送信手段と、前記補完要求情報に対して前記ノード装置から返信されてきたデータパケットを受信する補完パケット受信手段と、を備え、前記補完要求送信手段は、前記データパケットを受信したノード装置から前記データパケットの配信元である配信元装置に至るまでの通信経路上に位置する上流の第1ノード装置と、当該通信経路上以外に位置しかつ前記データパケットを受信したノード装置の下流に位置するノード装置以外の第2ノード装置と、の何れか一方のノード装置を予め設定された確率で選択し、当該選択したノード装置に対して前記補完要求情報を送信することを特徴とする。
この発明によれば、データパケットを受信したノード装置の下流に位置するノード装置以外のノード装置の何れかに対して、当該欠落したデータパケットの補完要求情報を送信するように構成したので、配信サーバ等の特定の装置に大きな負担を課することなく、欠落したデータパケットを補完することができる。また、上記第1ノード装置と、上記第2ノード装置と、の何れか一方のノード装置を予め設定された確率で選択し、当該選択したノード装置に対して前記補完要求情報を送信するように構成したので、特定のノード装置に負担を課さず、かつ、幅広い範囲で効率良くデータパケットを補完することができる。
請求項2に記載の発明は、複数のノード装置が複数の階層を形成しつつ通信経路を介して接続され、連続する複数のデータパケットが上流から下流の方向へ前記ノード装置により中継されつつ配信される配信システムに含まれる前記ノード装置において、配信されてきた前記連続する複数のデータパケットを受信するパケット受信手段と、前記受信されたデータパケットに基づき、欠落したデータパケットが有るか否かを判別する欠落パケット有無判別手段と、前記欠落パケット有無判別手段により前記欠落したデータパケットがあると判別された場合には、前記データパケットを受信したノード装置の下流に位置するノード装置以外のノード装置に対して、当該欠落したデータパケットの補完要求情報を送信する補完要求送信手段と、前記補完要求情報に対して前記ノード装置から返信されてきたデータパケットを受信する補完パケット受信手段と、備え、前記補完要求送信手段は、前記データパケットを受信したノード装置から前記データパケットの配信元である配信元装置に至るまでの通信経路上に位置する上流の第1ノード装置と、当該通信経路上以外に位置しかつ前記データパケットを受信したノード装置の下流に位置するノード装置以外の第2ノード装置と、の何れか一方のノード装置を予め設定された確率で選択し、当該選択したノード装置に対して前記補完要求情報を送信することを特徴とする。
この発明によれば、データパケットを受信したノード装置の下流に位置するノード装置以外のノード装置の何れかに対して、当該欠落したデータパケットの補完要求情報を送信するように構成したので、配信サーバ等の特定の装置に大きな負担を課することなく、欠落したデータパケットを補完することができる。また、上記第1ノード装置と、上記第2ノード装置と、の何れか一方のノード装置を予め設定された確率で選択し、当該選択したノード装置に対して前記補完要求情報を送信するように構成したので、特定のノード装置に負担を課さず、かつ、幅広い範囲で効率良くデータパケットを補完することができる。
請求項に記載の発明は、請求項1又は2に記載のノード装置において、前記第1ノード装置が選択される確率は、前記第2ノード装置が選択される確率よりも高く設定されていることを特徴とする。
この発明によれば、補完要求情報を繰り返し転送するような状況において、パケット損失が少ない配信元装置付近への収斂を加速させることができるので、さらに迅速にデータパケットを補完することができる。
請求項に記載の発明は、請求項に記載のノード装置において、前記第2ノード装置は、前記データパケットを受信したノード装置と同一階層以上の階層のノード装置であることを特徴とする。
この発明によれば、自己の装置を基準として常に上層側の他のノード装置へ補完要求情報を転送するので補完要求情報の転送がループすることを回避することができる。
請求項に記載の発明は、請求項3又は4に記載のノード装置において、前記複数のノード装置は、前記配信元装置を頂点として複数の階層を形成しつつ通信経路を介してツリー状に接続されており、前記第2ノード装置は、前記配信元装置から分岐される通信経路であって、前記データパケットを受信したノード装置から前記データパケットの前記配信元装置に至るまでの通信経路とは異なる通信経路上に位置することを特徴とする。
請求項に記載の発明によれば、補完要求情報の転送処理が単一の配信元装置へ収斂する形となるので、より確実にデータパケットを補完することができる。
請求項に記載の発明は、請求項1乃至の何れか一項に記載のノード装置において、前記受信されたデータパケットを一時的に蓄積する蓄積手段と、コンテンツの単位を形成する前記複数のデータパケットのうち、欠落したデータパケットが前記補完要求情報により補完された場合に、前記蓄積手段に蓄積された複数のデータパケットと前記補完パケットを使って完全なコンテンツデータを復元して他の記録媒体へ記録する記録手段と、を更に備えることを特徴とする。
請求項に記載の発明によれば、配信済みのストリームを流用して購入用コンテンツを復元できるので、コンテンツの購入に係わるデータの通信量を削減することができる。
請求項7に記載の発明は、請求項1乃至6の何れか一項に記載のノード装置において、他のノード装置から送信される前記補完要求情報を受信する補完要求情報受信手段と、前記受信された補完要求情報にて示される前記データパケットを有しているか否かを判別するパケット有無判別手段と、前記パケット有無判別手段により前記データパケットを有していると判別された場合には、前記補完要求情報を送信したノード装置に対して、当該データパケットを返信するデータパケット返信手段と、を備えることを特徴とする。
この発明によれば、補完要求情報を受信したノード装置は、補完要求情報に示されたデータパケットがある場合、前記補完要求情報を送信したノード装置に対して、当該データパケットを返信するので、配信サーバ等の特定の装置に大きな負担を課することなく、欠落したデータパケットを補完することができる。
請求項に記載の発明は、請求項に記載のノード装置において、前記パケット有無判別手段により前記データパケットを有していないと判別された場合には、前記補完要求情報を受信したノード装置の下流に位置するノード装置以外のノード装置に対して、前記補完要求情報を転送する補完要求転送手段を更に備えることを特徴とする。
この発明によれば、補完要求情報を受信したノード装置は、補完要求情報を受信したノード装置は、補完要求情報に示されたデータパケットがない場合、自己の下流に位置するノード装置以外のノード装置に対して、前記補完要求情報を転送する、つまり、欠落したデータパケットを有するノード装置に至るまで補完要求情報が転送されるので、特定のノード装置において補完要求元の欠落したデータパケットを補完できなくても、他のノード装置によって補完処理を補うことができる。
請求項9に記載の発明は、請求項1乃至6の何れか一項に記載のノード装置において、他のノード装置から送信される前記補完要求情報を受信する補完要求情報受信手段と、前記補完要求情報には、欠落した複数のデータパケットの夫々に対応するパケット識別情報が記述された欠落パケットリストが含まれており、当該欠落パケットリストにて示される夫々の前記データパケットを有しているか否かを判別するパケット有無判別手段と、前記パケット有無判別手段により有ると判別されたデータパケットを、前記補完要求情報を送信したノード装置に対して返信するデータパケット返信手段と、前記返信に係るデータパケットに対応するパケット識別情報を前記欠落パケットリストから削除して当該欠落パケットリストを更新する欠落パケットリスト更新手段と、前記更新後の欠落パケットリストに前記パケット識別情報が未だ記述されているか否かを判別するパケット識別情報有無判別手段と、前記パケット識別情報有無判別手段により前記パケット識別情報が未だ記述されていると判別された場合には、前記補完要求情報を受信したノード装置の下流に位置するノード装置以外のノード装置に対して、前記更新後の欠落パケットリストを含む前記補完要求情報を転送する補完要求転送手段と、を備えることを特徴とする。
この発明によれば、前記補完要求情報に示されたデータパケットの全てが補完できるまで当該補完要求情報が適切に更新された形で転送され続けるので、特定のノード装置に負担を課さず、かつ、幅広い範囲で確実にデータパケットを補完することができる。
請求項10に記載の発明は、請求項1乃至6の何れか一項に記載のノード装置から送信される補完要求情報を受信する補完要求情報受信手段を備えるノード装置であって、前記受信された補完要求情報にて示される前記データパケットを有しているか否かを判別するパケット有無判別手段と、前記パケット有無判別手段により前記データパケットを有していると判別された場合には、前記補完要求情報を送信したノード装置に対して、当該データパケットを返信するデータパケット返信手段と、前記パケット有無判別手段により前記データパケットを有していないと判別された場合には、前記補完要求情報を受信したノード装置の下流に位置するノード装置以外のノード装置に対して、前記補完要求情報を転送する補完要求転送手段と、を備え、前記補完要求転送手段は、前記補完要求情報を受信したノード装置から前記データパケットの配信元である配信元装置に至るまでの通信経路上に位置する上流の第1ノード装置と、当該通信経路上以外に位置しかつ前記補完要求情報を受信したノード装置の下流に位置するノード装置以外の第2ノード装置と、の何れか一方のノード装置を予め設定された確率で選択し、当該選択したノード装置に対して前記補完要求情報を転送することを特徴とする。
この発明によれば、上記第1ノード装置と、上記第2ノード装置と、の何れか一方のノード装置を予め設定された確率で選択し、当該選択したノード装置に対して前記補完要求情報を送信するように構成したので、特定のノード装置に負担を課さず、かつ、幅広い範囲でより効率良くデータパケットを補完することができる。
請求項11に記載の発明は、請求項10に記載のノード装置において、前記第1ノード装置が選択される確率は、前記第2ノード装置が選択される確率よりも高く設定されていることを特徴とする。
この発明によれば、補完要求情報を繰り返し転送するような状況において、パケット損失が少ない配信元装置付近への収斂を加速させることができるので、さらに迅速にデータパケットを補完することができる。
請求項12に記載の発明は、請求項10又は11に記載のノード装置において、前記第2ノード装置は、前記補完要求情報を受信したノード装置と同一階層以上の階層のノード装置であることを特徴とする。
この発明によれば、自己の装置を基準として常に上層側の他のノード装置へ補完要求情報を転送するので補完要求情報の転送がループすることを回避することができる。
請求項13に記載の発明は、請求項10乃至12の何れか一項に記載のノード装置において、前記複数のノード装置は、前記配信元装置を頂点として複数の階層を形成しつつ通信経路を介してツリー状に接続されており、前記第2ノード装置は、前記配信元装置から分岐される通信経路であって、前記補完要求情報を受信したノード装置から前記データパケットの前記配信元装置に至るまでの通信経路とは異なる通信経路上に位置することを特徴とする。
この発明によれば、補完要求情報の転送処理が単一の配信元装置へ収斂する形となるので、より確実にデータパケットを補完することができる。
請求項14に記載のプログラムは、複数のノード装置が複数の階層を形成しつつ通信経路を介して接続され、連続する複数のデータパケットが上流から下流の方向へ配信され、前記ノード装置が受信したデータパケットを記憶して下流に位置する前記ノード装置に中継して配信される配信システムに含まれる前記ノード装置のコンピュータに、配信されてきた前記連続する複数のデータパケットを受信するパケット受信ステップと、前記受信されたデータパケットに基づき、欠落したデータパケットが有るか否かを判別する欠落パケット有無判別ステップと、前記欠落パケット有無判別ステップにより前記欠落したデータパケットがあると判別された場合には、前記データパケットを受信したノード装置の下流に位置するノード装置以外のノード装置の何れかに対して、当該欠落したデータパケットの補完要求情報を送信する補完要求送信ステップと、前記補完要求情報に対して前記ノード装置から返信されてきたデータパケットを受信する補完パケット受信ステップと、を実行させ、前記補完要求送信ステップは、前記データパケットを受信したノード装置から前記データパケットの配信元である配信元装置に至るまでの通信経路上に位置する上流の第1ノード装置と、当該通信経路上以外に位置しかつ前記データパケットを受信したノード装置の下流に位置するノード装置以外の第2ノード装置と、の何れか一方のノード装置を予め設定された確率で選択し、当該選択したノード装置に対して前記補完要求情報を送信することを特徴とする
請求項15に記載のプログラムは、請求項1乃至6の何れか一項に記載のノード装置から送信される補完要求情報を受信するノード装置のコンピュータに、前記受信された補完要求情報にて示される前記データパケットを有しているか否かを判別するパケット有無判別ステップと、前記パケット有無判別ステップにより前記データパケットを有していると判別された場合には、前記補完要求情報を送信したノード装置に対して、当該データパケットを返信するデータパケット返信ステップと、前記パケット有無判別ステップにより前記データパケットを有していないと判別された場合には、前記補完要求情報を受信したノード装置の下流に位置するノード装置以外のノード装置に対して、前記補完要求情報を転送する補完要求転送ステップと、を実行させ、前記補完要求転送ステップは、前記補完要求情報を受信したノード装置から前記データパケットの配信元である配信元装置に至るまでの通信経路上に位置する上流の第1ノード装置と、当該通信経路上以外に位置しかつ前記補完要求情報を受信したノード装置の下流に位置するノード装置以外の第2ノード装置と、の何れか一方のノード装置を予め設定された確率で選択し、当該選択したノード装置に対して前記補完要求情報を転送することを特徴とする
請求項16に記載の発明は、複数のノード装置を備え、当該複数のノード装置が複数の階層を形成しつつ通信経路を介して接続され、連続する複数のデータパケットが上流から下流の方向へ配信され、前記ノード装置が受信したデータパケットを記憶して下流に位置する前記ノード装置に中継して配信される配信システムにおいて、1の前記ノード装置は、配信されてきた前記連続する複数のデータパケットを受信するパケット受信手段と、前記受信されたデータパケットに基づき、欠落したデータパケットが有るか否かを判別する欠落パケット有無判別手段と、前記欠落パケット有無判別手段により前記欠落したデータパケットがあると判別された場合には、当該1のノード装置の下流に位置するノード装置以外のノード装置の何れかに対して、当該欠落したデータパケットの補完要求を示す補完要求情報を送信する補完要求送信手段と、前記補完要求情報に対して他の前記ノード装置から返信されてきたデータパケットを受信する補完パケット受信手段と、を備え、前記補完要求送信手段は、前記データパケットを受信したノード装置から前記データパケットの配信元である配信元装置に至るまでの通信経路上に位置する上流の第1ノード装置と、当該通信経路上以外に位置しかつ前記データパケットを受信したノード装置の下流に位置するノード装置以外の第2ノード装置と、の何れか一方のノード装置を予め設定された確率で選択し、当該選択したノード装置に対して前記補完要求情報を送信し、前記他のノード装置は、前記1のノード装置から送信されてきた補完要求情報を受信する補完要求情報受信手段と、前記受信された補完要求情報にて示される前記欠落したデータパケットを有しているか否かを判別するパケット有無判別手段と、前記パケット有無判別手段により前記データパケットを有していると判別された場合には、前記1のノード装置に対して、当該データパケットを返信するデータパケット返信手段と、を備えることを特徴とする。
請求項17に記載の発明は、複数のノード装置を備え、当該複数のノード装置が複数の階層を形成しつつ通信経路を介して接続され、連続する複数のデータパケットが上流から下流の方向へ前記ノード装置により中継されつつ配信される配信システムにおいて、1の前記ノード装置は、配信されてきた前記連続する複数のデータパケットを受信するパケット受信手段と、前記受信されたデータパケットに基づき、欠落したデータパケットが有るか否かを判別する欠落パケット有無判別手段と、前記欠落パケット有無判別手段により前記欠落したデータパケットがあると判別された場合には、当該1のノード装置の下流に位置するノード装置以外のノード装置に対して、当該欠落したデータパケットの補完要求を示す補完要求情報を送信する補完要求送信手段と、前記補完要求情報に対して他の前記ノード装置から返信されてきたデータパケットを受信する補完パケット受信手段と、備え、前記補完要求送信手段は、当該1のノード装置から前記データパケットの配信元である配信元装置に至るまでの通信経路上に位置する上流の第1ノード装置と、当該通信経路上以外に位置しかつ当該1のノード装置の下流に位置するノード装置以外の第2ノード装置と、の何れか一方のノード装置を予め設定された確率で選択し、当該選択したノード装置に対して前記補完要求情報を送信し、前記他のノード装置は、前記1のノード装置から送信された補完要求情報を受信する補完要求情報受信手段と、前記受信された補完要求情報にて示される前記欠落したデータパケットを有しているか否かを判別するパケット有無判別手段と、前記パケット有無判別手段により前記データパケットを有していると判別された場合には、前記1のノード装置に対して、当該データパケットを返信するデータパケット返信手段と、を備えることを特徴とする。
請求項18に記載の発明は、請求項16又は17に記載の配信システムにおいて、前記他のノード装置は、前記パケット有無判別手段により前記データパケットを有していないと判別された場合には、当該他のノード装置の下流に位置するノード装置以外のノード装置に対して、前記補完要求情報を転送する補完要求転送手段を更に備えることを特徴とする。
請求項19に記載の発明は、複数のノード装置が複数の階層を形成しつつ通信経路を介して接続され、連続する複数のデータパケットが上流から下流の方向へ配信され、前記ノード装置が受信したデータパケットを記憶して下流に位置する前記ノード装置に中継して配信される配信システムにおけるデータパケットの補完方法であって、1の前記ノード装置において、配信されてきた前記連続する複数のデータパケットを受信する工程と、前記1のノード装置において、前記受信されたデータパケットに基づき、欠落したデータパケットが有るか否かを判別する工程と、前記1のノード装置において、前記欠落したデータパケットがあると判別された場合には、当該1のノード装置から前記データパケットの配信元である配信元装置に至るまでの通信経路上に位置する上流の第1ノード装置と、当該通信経路上以外に位置しかつ当該1のノード装置の下流に位置するノード装置以外の第2ノード装置と、の何れか一方のノード装置を予め設定された確率で選択し、当該選択したノード装置に対して、当該欠落したデータパケットの補完要求を示す補完要求情報を送信する工程と、他の前記ノード装置において、前記1のノード装置から送信されてきた補完要求情報を受信する工程と、前記他のノード装置において、前記受信された補完要求情報にて示される前記欠落したデータパケットを有しているか否かを判別する工程と、前記他のノード装置において、前記データパケットを有していると判別された場合には、前記1のノード装置に対して、当該データパケットを返信する工程と、前記1のノード装置において、前記他のノード装置から返信されてきたデータパケットを受信する工程と、を備えることを特徴とする。
請求項20に記載の発明は、複数のノード装置が複数の階層を形成しつつ通信経路を介して接続され、連続する複数のデータパケットが上流から下流の方向へ前記ノード装置により中継されつつ配信される配信システムにおけるデータパケットの補完方法であって、1の前記ノード装置において、配信されてきた前記連続する複数のデータパケットを受信する工程と、前記1のノード装置において、前記受信されたデータパケットに基づき、欠落したデータパケットが有るか否かを判別する工程と、前記1のノード装置において、前記欠落したデータパケットがあると判別された場合には、当該1のノード装置から前記データパケットの配信元である配信元装置に至るまでの通信経路上に位置する上流の第1ノード装置と、当該通信経路上以外に位置しかつ当該1のノード装置の下流に位置するノード装置以外の第2ノード装置と、の何れか一方のノード装置を予め設定された確率で選択し、当該選択したノード装置に対して、当該欠落したデータパケットの補完要求を示す補完要求情報を送信する工程と、前記選択されたノード装置において、前記1のノード装置から送信されてきた補完要求情報を受信する工程と、前記選択されたノード装置において、前記受信された補完要求情報にて示される前記欠落したデータパケットを有しているか否かを判別する工程と、前記選択されたノード装置において、前記データパケットを有していると判別された場合には、前記1のノード装置に対して、当該データパケットを返信する工程と、前記1のノード装置において、前記選択したノード装置から返信されてきたデータパケットを受信する工程と、を備えることを特徴とする。
請求項21に記載の発明は、請求項19又は20に記載のデータパケットの補完方法において、前記他のノード装置において、前記データパケットを有していないと判別された場合には、当該他のノード装置の下流に位置するノード装置以外のノード装置に対して、前記補完要求情報を転送する工程を更に備えることを特徴とする。
本発明によれば、自己の下流に位置するノード装置以外のノード装置に対して、当該欠落したデータパケットの補完要求情報を送信し、当該ノード装置からパケットを補完するように構成したので、配信サーバ等の特定の装置に大きな負担を課することなく、欠落したデータパケットを補完することができる。
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、ツリー型コンテンツ配信システムに対して本発明を適用した場合の実施形態である。
[1.ツリー型コンテンツ配信システムの構成等]
始めに、図1を参照して、ツリー型コンテンツ配信システムの概要構成及び機能について説明する。
図1は、本実施形態に係るツリー型コンテンツ配信システムにおける各装置の接続態様の一例を示す図である。
図1の下部枠101内に示すように、IX(Internet eXchange)5、ISP(Internet Service Provider)6、DSL(Digital Subscriber Line)回線事業者(の装置)7、FTTH(Fiber To The Home)回線事業者(の装置)8、ルータ(図示せず)及び通信回線(例えば、電話回線や光ケーブル等)9等によって、インターネット等のネットワーク(現実世界のネットワーク)10が構築されている。なお、図1の下部枠101内において、各通信回線9に対応する実線の太さは、各通信回線9の帯域の広さ(例えば、データ転送速度)を表している。
本実施形態に係るツリー型コンテンツ配信システムSは、コンテンツの単位を形成する連続する複数のデータパケットの配信元である配信元装置としての放送局装置1と、複数のノード装置2a,2b,2c,2d・・・と、を備え、図1の下部枠101内に示すようなネットワーク10を基礎として図1の上部枠100内に示すように構成されており、放送局装置1を頂点(最上位)として複数のノード装置が複数の階層(図1の例では、4階層)を形成しつつ通信経路を介してツリー状に接続され、上記連続する複数のデータパケットが、上流(上位階層)から下流(下位階層)の方向へ各ノード装置により中継(転送)されつつ配信されるようになっている。なお、以下の説明において、ノード装置2a,2b,2c,2d・・・のうち何れかのノード装置を示す場合には、便宜上、ノード装置2という場合がある。
図1の上部枠100内に示されるノード装置2は、ツリー型コンテンツ配信システムSに参加しているノード装置2であり、当該ツリー型コンテンツ配信システムSに参加するためには、未参加のノード装置が、接続先紹介(照会)サーバ3に対して参加要求を行い、接続先紹介(照会)サーバ3により参加権限があることを認証される必要がある。この接続先紹介(照会)サーバ3は、ツリー型コンテンツ配信システムSに参加している放送局装置1及びノード装置2の所在情報(例えば、IP(Internet Protocol)アドレス及びポート番号(待ち受けポート番号))と、ツリー型コンテンツ配信システムSにおける放送局装置1とノード装置2及び各ノード装置2間のトポロジー(接続態様)情報と、をデータベースを用いて管理しており、未参加のノード装置からの参加要求に対して上記認証を行った後、当該ノード装置に対して接続先となる既参加のノード装置2(ツリー状のトポロジーを考慮して選定)の所在情報を通知するようになっている。そして、当該所在情報の通知を受けたノード装置は、当該所在情報に基づき、既参加のノード装置2との接続を確立し、これによって、ツリー型コンテンツ配信システムSに参加することになる。
なお、ツリー状のトポロジーは、各ノード装置2に直接接続される下流のノード装置2の最大接続数、バランス(対称性)、更には、ノード装置2間のローカリティ(ネットワーク10上における近接度(ホップ数(介在するルータ数)が少ないほど高い)等が考慮されて決定されることになる。
また、既参加のノード装置2が電源OFF或いは通信不良等になった場合、ノード装置2はツリー型コンテンツ配信システムSから脱退することになり、これにより、当該脱退したノード装置2に直接接続される下流のノード装置2等は、接続先紹介(照会)サーバ3から新たな接続先となる既参加のノード装置2の所在情報を取得して接続を確立するようになっている。
更にまた、ツリー型コンテンツ配信システムSにおけるツリー状のトポロジーは、放送局装置毎、言い換えれば、放送チャンネル毎に形成される(図1の上部枠100内では、1つの放送チャンネルのみ示している)ようになっており(但し、1つの放送局装置で複数の放送チャンネルを賄う場合もある)、例えば既参加のノード装置2においてユーザにより放送チャンネルが切り替えられた場合には、当該ノード装置2は、切り替え後の放送チャンネルにおける既参加のノード装置2の所在情報を接続先紹介(照会)サーバ3から取得して接続を確立するようになっている。なお、放送チャンネルの切り替え制御は、本発明と直接の関係がないので詳しい説明を省略する。
このようなツリー型コンテンツ配信システムSにおいて、放送局装置1からストリーム配信された複数のデータパケットが、上流から下流の方向へ各ノード装置により中継されていく通信経路上(例えば、図1の上部枠100内に示される、ノード装置2a→ノード装置2c→ノード装置2g→ノード装置2o)において何れか1又は複数のデータパケットが欠落した場合に、データパケットの欠落を認識したノード装置2は、欠落したデータパケットの補完要求情報を、自己(自ノード装置)の下流に位置するノード装置2以外のノード装置2に対して送信するようになっている。これに対して、当該補完要求情報を受信したノード装置2は、当該補完要求情報にて示されるデータパケットを有している場合、上記補完要求情報の送信元のノード装置2に対して当該データパケットを返信し、上記データパケットを有していない場合、自己の下流に位置するノード装置2以外のノード装置2に対して当該補完要求情報を転送するようになっている。こうして、当該補完要求情報は、これに示されるデータパケットを有しているノード装置2に辿り着くまで転送されていくことになる(欠落したデータパケットが複数ある場合、全てのデータパケットを補完できるまで転送される)。そして、上記補完要求情報の送信元のノード装置2は、当該補完要求情報に対して他のノード装置2から返信されてきたデータパケットを受信して、自己の装置において欠落しているパケットを補完する。
ここで、補完要求情報の送信(又は転送)先を「自己の下流に位置するノード装置以外のノード装置」としたのは、自己の下流に位置するノード装置2では、自己の上流側において欠落したパケットが配信されない(パケットの欠落が連鎖する)ので、これらの装置に補完要求情報を送信(又は転送)してもデータパケットが補完できないからである。例えば、図1の上部枠100内において、ノード装置2cの下流に位置するノード装置としては、ノード装置2g,2h,2o,2p,2q,及び2rが該当する(このうちノード装置2g及び2hは、ノード装置2cから見て当該ノード装置2cに直接接続される下流のノード装置である)。
補完要求情報の送信(又は転送)先としては、自己の下流に位置するノード装置2以外のノード装置2であればどこでも良いのであるが、なるべく放送局装置1及び上流のノード装置2に負担を課さず(なお、ツリー状のトポロジーで放送局装置1に近いノード装置2ほど、データパケットの欠落が少ないことが想定される)、かつ、より効率良くデータパケットを補完可能とするために、例えば、各ノード装置2は、上記補完要求情報を自己が直接接続する上流のノード装置2(第1ノード装置の一例、以下、「上流ノード装置」という)と、当該自己からデータパケットの放送局装置1に至るまでの通信経路上以外に位置しかつ自己の下流に位置するノード装置2以外のノード装置2(第2ノード装置の一例、以下、「遠方ノード装置」という)と、の何れか一方のノード装置2を予め設定された確率で選択し、当該選択したノード装置2に対して送信(又は、転送)することが望ましい。
これは、ツリー状のトポロジーが、各ノード装置2間のローカリティが考慮されて形成されているので、上流ノード装置(例えば、図1の上部枠100内において、ノード装置2cの上流ノード装置は、ノード装置2aである)はネットワーク的に近い(例えば、ポップ数が少ない)場合が多く、したがって、欠落したデータパケットを迅速に取得できる可能性がある一方、自己からデータパケットの放送局装置1に至るまでの通信経路上に位置するノード装置2(特に、上流ノード装置)は、同じデータパケットを欠落している可能性があるので、別の通信経路上に位置する遠方ノード装置であれば、自己が欠落したデータパケットを有する可能性が高いためである。なお、遠方ノード装置の所在情報は、接続先紹介(照会)サーバ3から取得されることになる。
図2は、補完要求情報が放送局装置1方向に向かって転送されていく様子を示す図である。図2の例では、ノード装置2afは、上流ノード装置としてのノード装置2aeに対して補完要求情報を送信し、さらに当該ノード装置2aeは、放送局装置1から分岐される通信経路であって自己から放送局装置1に至るまでの通信経路とは異なる通信経路上に位置する遠方ノード装置としてのノード装置2yに対して補完要求情報を送信している。このような、放送局装置1から分岐される通信経路であって自己から放送局装置1に至るまでの通信経路とは異なる通信経路上に位置するノード装置2yは、パケット補完要求元とは全く別経路に位置しているので、自己が欠落したデータパケットを有している可能性が高い。
また、図2の例では、上流ノード装置が選択される確率(1−β)が、遠方ノード装置が選択される確率(β)よりも若干高く設定(β<0.5)されており、さらに、当該遠方ノード装置に対して補完要求情報が送信(又は転送)される場合、送信元(転送元)のノード装置と送信先(転送先)の遠方ノード装置の階層が同一或いは1つ上(上流)の階層となっている。これにより、上記補完要求情報は、放送局装置1までに転送されるまで間(全てのデータパケットが補完できれば、配信元装置(放送局装置)において転送は終了する)に、より多くのノード装置に転送されることになり、放送局装置1及び上流のノード装置2への負担を抑えつつ、幅広い範囲で、より効率的にデータパケットを補完することができる。
なお、当該遠方ノード装置に対して補完要求情報が送信(又は転送)される場合、送信先(転送先)の遠方ノード装置の階層が、送信元(転送元)のノード装置2の階層よりも下(下流)の階層である場合、補完要求情報の転送がループする可能性がある。
図3は、補完要求情報の転送がループする様子を示す図である。図3に示すように、送信先(転送先)の遠方ノード装置(例えば、ノード装置2w)の階層が、送信元(転送元)のノード装置(例えば、ノード装置2c)の階層(例えば、第2階層)よりも下(下流)の階層(例えば、第4階層)である場合、補完要求情報の転送がループし、全てのデータパケットが補完できないという問題が生じる。このような問題を避けるために、各ノード装置2は、補完要求情報を送信又は転送する際、送信先(転送先)の遠方ノード装置の階層と自己の階層とを比較し、自己の階層よりも遠方ノード装置の階層が下(下流)の場合には、上流ノード装置が選択される確率(1−β)を一時的に上げて上流ノード装置が選択されやすくするか、或いは、自己の階層よりも上(上流)の階層に位置する遠方ノード装置の所在情報を接続先紹介(照会)サーバ3から取得してこれに補完要求情報を送信又は転送する。
[2.放送局装置の構成等]
次に、図4を参照して、放送局装置1の構成及び機能について説明する。
図4は、放送局装置1の概要構成例を示す図である。
放送局装置1は、図4に示すように、演算機能を有するCPU,作業用RAM,各種データ及びプログラム(OS(オペレーティングシステム)及び各種アプリケーションを含む)を記憶するROM等から構成された制御部11と、コンテンツデータ(例えば、圧縮されたビデオデータや音楽データ)等を記憶保存するためのHDD等から構成された記憶部12と、暗号鍵を用いてコンテンツデータを暗号化するための暗号化用アクセラレータ13と、ネットワーク10を通じてノード装置2等との間の情報の通信制御を行うための通信部15と、オペレータからの指示を受け付け当該指示に応じた指示信号を制御部11に対して与える入力部(例えば、キーボード、マウス等)16と、を備えて構成され、これらの構成要素は、バス17を介して相互に接続されている。
制御部11は、CPUが記憶部12等に記憶されたプログラムを実行することにより放送局装置1全体を統括制御し、記憶部12に記憶保存されたコンテンツデータを暗号鍵を用いて暗号化用アクセラレータ13により暗号化させ、当該コンテンツデータを所定のデータ量に分割して連続する複数のデータパケットを生成し、これを通信部15を介してノード装置2(図1の上部枠100内の例では、ノード装置2a及び2b)に対してストリーム配信するようになっている。なお、各データパケットのペイロード部には、そのコンテンツデータの先頭から連続するパケット番号(配信順に連続するシーケンス番号)が記述されている(埋め込まれている)。また、各データパケットのペイロード部には、補完用のデータパケットであるか否かを示すパケット種別情報が記述される(埋め込まれる)。
また、制御部11は、当該コンテンツデータの配信先を、記憶部12に記憶された接続態様テーブルを参照して決定することになる。この接続態様テーブルには、少なくとも、放送局装置1と接続されるノード装置2(言い換えれば、コンテンツデータの配信先であるノード装置2)のIPアドレス及びポート番号が記述されている。
[3.ノード装置の構成等]
次に、図5を参照して、ノード装置2の構成及び機能について説明する。
図5は、ノード装置2の概要構成例を示す図である。
ノード装置2は、図5に示すように、演算機能を有するCPU,作業用RAM,各種データ及びプログラム(OS(オペレーティングシステム)及び各種アプリケーションを含む)を記憶するROM等から構成された制御部21と、各種データ及びプログラム等を記憶するHDD等から構成された記憶部22と、受信したコンテンツデータ(データパケット)を一時的に蓄積(記憶)する蓄積手段としてのバッファメモリ23と、バッファメモリ23に蓄積された暗号化されたコンテンツデータを復号鍵を用いて復号化するための復号化アクセラレータ24と、復号化されたコンテンツデータに含まれるビデオデータ(映像情報)及びオーディオデータ(音声情報)等をデコード(データ伸張等)して再生するデコーダ部25と、当該再生されたビデオデータ等に対して所定の描画処理を施し映像信号として出力する映像処理部26と、当該映像処理部26から出力された映像信号に基づき映像表示するCRT,液晶ディスプレイ等の表示部27と、上記再生されたオーディオデータをアナログ音声信号にD(Digital)/A(Analog)変換した後これをアンプにより増幅して出力する音声処理部28と、当該音声処理部28から出力された音声信号を音波として出力するスピーカ29と、ネットワーク10を通じて放送局装置1や他のノード装置2等との間の通信制御を行うための通信部29aと、ユーザ(視聴者)からの各種指示を入力し制御部21に対してその指示信号を与える入力部(例えば、マウス、キーボード、操作パネル、或いはリモコン等)29bと、ICカード29eを装着し電気的に接続するためのICカードスロット29cと、を備えて構成され、制御部21、記憶部22、バッファメモリ23、復号化アクセラレータ24、デコーダ部25、通信部29a、入力部29b、及びICカードスロット29cは、バス29eを介して相互に接続されている。なお、ノード装置2としては、例えば、STB(Set Top Box)やパーソナルコンピュータが適用可能である。
ICカード29eは、耐タンパ性があり(つまり、非正規な手段による機密データの読み取りを防ぎ、簡単に解析できないようにタンパリング対策が施されている)、例えば、ツリー型コンテンツ配信システムSの運営者等からユーザに配布される。当該ICカード29eは、CPUからなるICカードコントローラ、耐タンパ性のある不揮発性メモリ(例えば、EEPROM)等を備えて構成されており、不揮発性メモリには、ユーザID、暗号化されたコンテンツデータを復号化するための復号鍵、デジタル証明書等が記憶されるようになっている。デジタル証明書は、ノード装置がツリー型コンテンツ配信システムSに参加する際に、参加要求(当該ノード装置の所在情報が含まれる)と共に接続先紹介(照会)サーバ3に送信される。
バッファメモリ23は、例えばFIFO(First In First Out)形式のリングバッファメモリから構成されており、制御部21の制御下、受信ポインタにより示される記憶領域に通信部29aを通じて受信されたコンテンツデータを一時的に蓄積するようになっている。
制御部21は、CPUが記憶部22等に記憶されたプログラムを読み出して実行することによりノード装置2全体を統括制御し、上流から配信されてきた複数のデータパケットを通信部29aを通じてパケット受信手段として受信してバッファメモリ23に書き込み、かつ、当該バッファメモリ23に蓄積されているデータパケット(一定時間過去に受信されたデータパケット)を読み出して通信部29aを通じて下流のノード装置2に送信(転送)するようになっており、更に、再生ポインタにより示されるバッファメモリ23の記憶領域に蓄積されているデータパケットを読み出してバス29dを介して復号化アクセラレータ24やデコーダ部25に出力するようになっている。なお、上記プログラムは、例えば、ネットワーク10上の所定のサーバからダウンロードされるようにしてもよいし、例えば、CD−ROM等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしてもよい。
そして更に、制御部21は、欠落パケット有無判別手段として、上記受信され、バッファメモリ23に蓄積されているデータパケットに基づき、欠落したデータパケットが有るか否かを判別し、欠落しているデータパケットがあると判別した場合(例えば、“1”、“2”、“4”、“5”、“6”のパケット番号が付与されたデータパケットがバッファメモリ23に蓄積されている場合、“3”のパケット番号が付与されたデータパケットが欠落していると判断)、補完要求送信手段として、上述したように、自己の下流に位置するノード装置2以外のノード装置2に対して、当該欠落したデータパケットの補完要求情報を通信部29aを通じて送信し、当該補完要求情報に対して他のノード装置2から返信されてきたデータパケットを通信部29aを通じて補完パケット受信手段として受信するようになっている。
ここで、上記補完要求情報には、例えば、欠落したデータパケットに対応するパケット識別情報としてのパケット番号及びコンテンツID(コンテンツデータ毎に一意に付与されたID)等が記述された欠落パケットリスト(パケット損失リスト)が含まれており、欠落したデータパケットが複数ある場合、夫々の欠落したデータパケットに対応するパケット番号及びコンテンツIDが記述されることになる。
また、制御部21は、他のノード装置2から送信又は転送されてきた上記補完要求情報を通信部29aを通じて補完要求情報受信手段として受信し、パケット有無判別手段として、当該補完要求情報に含まれる欠落パケットリストにて示されるデータパケットを有しているか否かを判別(例えば、欠落パケットリストに記述されたパケット番号及びコンテンツIDと、バッファメモリ23に蓄積されているデータパケットのパケット番号及びコンテンツIDとを突きあわせて判別)し、当該データパケットを有していると判別した場合、データパケット返信手段として、上記補完要求情報の送信元のノード装置2対して当該データパケットを補完用のデータパケットとして通信部29aを通じて返信するようになっている。
そして、制御部21は、欠落パケットリスト更新手段として、当該返信に係る補完用のデータパケットに対応するパケット番号を当該欠落パケットリストから削除して当該欠落パケットリストを更新し、更に、パケット識別情報有無判別手段として、更新後の欠落パケットリストにデータパケットのパケット番号が未だ記述されているか否かを判別し、未だ記述されていると判別した場合(例えば、欠落パケットリストに複数のデータパケットに対応するパケット番号及びコンテンツIDが記述されており、そのうちの何れか一部のデータパケットのみが送信元のノード装置2に対して返信された場合)、補完要求転送手段として、上述したように、自己の下流に位置するノード装置2以外のノード装置2に対して上記補完要求情報を通信部29aを通じて転送するようになっている。
[4.接続先紹介(照会)サーバの構成等]
次に、図6を参照して、接続先紹介(照会)サーバ3の構成及び機能について説明する。
図6は、接続先紹介(照会)サーバ3の概要構成例を示す図である。
接続先紹介(照会)サーバ3は、図6に示すように、演算機能を有するCPU,作業用RAM,各種データ及びプログラム(OS(オペレーティングシステム)及び各種アプリケーションを含む)を記憶するROM等から構成された制御部35と、各種データ等を記憶保存するためのHDD等から構成された記憶部36と、ネットワーク10を通じてノード装置2等との間の情報の通信制御を行うための通信部37と、を備えて構成され、これらの構成要素は、バス38を介して相互に接続されている。
記憶部36には、ツリー型コンテンツ配信システムSに参加している放送局装置1及びノード装置2の所在情報と、ツリー型コンテンツ配信システムSにおける放送局装置1とノード装置2及び各ノード装置2間のトポロジー情報と、が記憶されたデータベースが構築されている。
制御部35は、CPUが記憶部36等に記憶されたプログラムを実行することにより接続先紹介(照会)サーバ3全体を統括制御し、未参加のノード装置からの参加要求があった場合に、上述した認証、例えば、参加要求に付加されたデジタル証明書の有効性の判定を行い、有効であれば、当該ノード装置の所在情報とデジタル証明書のダイジェスト(例えば、デジタル証明書を所定のハッシュ関数でハッシュ化したハッシュ値)を上記データベースに記憶するようになっている。なお、以降に、ノード装置における受信不良等の要因で当該ノード装置から接続先の問い合わせがあった場合に、デジタル証明書のダイジェストはセッションキーとして使用される(これにより、認証を行わなくて済む)。
また、制御部35は、上記認証が有効であった場合に、参加要求を行ったノード装置に対して、接続先候補となる複数の上流ノード装置の所在情報及び階層レベル情報(つまり、当該上流ノード装置が、第何階層に存在するかを示す情報)と、遠方ノード装置の所在情報及び階層レベル情報(つまり、当該遠方ノード装置が、第何階層に存在するかを示す情報)とを通信部37を通じて送信するようになっている。当該所在情報を受信したノード装置においては、接続先候補となる複数の上流ノード装置のネットワーク10上での物理的近接度が比較され、最も近い位置に存在する上流ノード装置が選定されて、当該上流ノード装置に対して接続要求が行われ接続が確立されることになり、接続が確立された上流ノード装置の所在情報が接続先紹介(照会)サーバ3に対して送信(返信)される。これに対して、制御部35は、当該ノード装置に関するトポロジー情報を上記データベースに記憶することになる。
[5.ツリー型コンテンツ配信システムの動作]
次に、図7乃至図11等を参照して、欠落したデータパケットが補完される場合おけるツリー型コンテンツ配信システムSの動作について説明する。
図7は、補完要求情報の送信元のノード装置2の制御部21における処理を示すフローチャートであり、図8は、図7におけるパケット補完処理の詳細を示すフローチャートであり、図9及び図10は、補完要求情報を受信したノード装置2の制御部21における処理を示すフローチャートであり、図11は、補完要求情報を受信した放送局装置1の制御部11における処理を示すフローチャートである。
図7に示す処理は、未参加のノード装置が、接続先紹介(照会)サーバ3に対して参加要求を行って、接続先候補となる複数の上流ノード装置の所在情報及び階層レベル情報と、遠方ノード装置の所在情報及び階層レベル情報とを取得し、上流ノード装置との接続を確立することにより開始され(当該ノード装置が何階層にあるかが認識される)、制御部21は、上流ノード装置から送信されてきたコンテンツデータに係るデータパケットを通信部29aを通じて受信し(ステップS1)、受信したデータパケットが補完要求情報に応じて他のノード装置2から送信された補完用のデータパケットであるか否かを、例えば当該パケットのペイロード部に記述されたパケット種別情報を参照して判別する(ステップS2)。
そして、受信したデータパケットが補完用のデータパケットでない場合には(ステップS2:N)、制御部21は、当該受信したデータパケットが以前に受信したことがあるパケットであるか否かを判別、例えば、当該受信したデータパケットのパケット番号と、バッファメモリ23に蓄積されたデータパケットのパケット番号とが一致しているか否かを判別する(ステップS3)。
そして、受信したデータパケットが以前に受信したことがあるパケットでない場合(例えば、当該受信したデータパケットと、パケット番号が一致するデータパケットがバッファメモリ23に蓄積されていない場合)には(ステップS3:N)、制御部21は、当該受信したデータパケットをバッファメモリ23に挿入して書き込む(ステップS4)。
次いで、制御部21は、現在設定されている装置のモード(状態)が、補完モード(購入モード)であるか否かを判別する(ステップS5)。
ここで、補完モードとは、コンテンツデータを購入するためのモードであり、例えば、ユーザが入力部29bを操作してコンテンツ購入指示を入力(例えば、購入ボタンを押下)することにより補完モードが制御部21により設定される。
そして、現在設定されている装置のモードが補完モードでない場合には(ステップS5:N)、制御部21は、バッファメモリ23に蓄積されているデータパケット(上流に位置するノード装置の脱退等によりストリームが途絶した場合を考慮し、この影響を受けないように一定時間過去に受信されたデータパケット)を読み出して通信部29aを通じて下流のノード装置2に送信(転送)する(ステップS6)。
次いで、制御部21は、再生ポインタにより示されるバッファメモリ23の記憶領域に蓄積されている所定量のデータパケットを読み出し、予めICカード29eから取得しておいた復号鍵を用いて復号化アクセラレータ24により復号化させデコーダ部25に出力する(ステップS7)。デコーダ部25に出力された所定量のデータパケットは、再生され、そのビデオデータ等は、映像処理部26を介して表示部27に表示され、オーディオデータは、音声処理部28を介してスピーカ29から音波として出力される。
ステップS8では、制御部21は、コンテンツデータの受信を中止するか否かを判別する。そして、コンテンツデータの受信を中止しない場合には(ステップS8:N)、制御部21は、ステップS1に戻り、上記と同様の処理を繰り返す。一方、コンテンツデータの受信を中止する場合(ステップS8:Y)、例えば、コンテンツの単位(例えば、映画1本、或いは、楽曲1曲)の配信(放送)が終了した場合、或いは、ユーザから入力部29bを介してコンテンツデータの受信中止指示等があった場合には、当該処理を終了する。
一方、上記ステップS2において、受信したデータパケットが補完用のデータパケットである場合には(ステップS2:Y)、制御部21は、ステップS9に移行する。
ステップS9では、制御部21は、現在設定されている装置のモード(状態)が、上述した補完モードであるか否かを判別し、補完モードである場合には(ステップS9:Y)、受信した補完用のデータパケットをバッファメモリ23における補完用のバッファ(通常のデータパケット用とは別のバッファ)に挿入して書き込み(ステップS10)、ステップS1に戻る。一方、補完モードでない場合には(ステップS9:N)、制御部21は、受信した補完用のデータパケットを破棄し(ステップS11)、ステップS1に戻る。つまり、補完モードでない場合、補完用のデータパケットは必要がないので、当該パケットは破棄され、これにより、バッファメモリ23の容量を確保することができる。
また、上記ステップS3において、受信したデータパケットが以前に受信したことがあるパケットである場合には(ステップS3:Y)、制御部21は、当該重複したデータパケットを破棄し(ステップS11)、ステップS1に戻る。
また、上記ステップS5において、現在設定されている装置のモードが補完モードである場合には(ステップS5:N)、制御部21は、データパケットの欠落(欠損)を検査し、欠落があれば(例えば、今回受信したデータパケットが、前回受信したデータパケットの次に受信すべきデータパケットでなければ)、当該コンテンツデータの欠落パケットリストに、欠落したデータパケットのパケット番号を記述(つまり、欠落したデータパケットを欠落パケットリストに登録)する(ステップS12)。かかるデータパケットの欠落の検査は、例えば、受信したデータパケットのパケット番号(ペイロード部中の)と、当該ノード装置2が保持しているシーケンスカウンタ(次に受信すべきデータパケットのパケット番号が表すカウンタ)とを比較することによって行われる。
次いで、制御部21は、欠落パケットリストに所定数(例えば、10個)以上のデータパケットのパケット番号が記述(登録)されているか否かを判別し(ステップS13)、所定数以上のデータパケットのパケット番号が記述されていない場合には(ステップS13:N)、ステップS6に移行し、所定数以上のデータパケットのパケット番号が記述されている場合(つまり、所定数以上のデータパケットが欠落した場合)には(ステップS14:Y)、ステップS14のパケット補完処理を行う。
当該パケット補完処理においては、図8に示すように、先ず、制御部21は、予め設定されていた確率の閾値βを調整する(ステップS111)。より具体的には、制御部21は、接続先紹介(照会)サーバ3から取得した遠方ノード装置の階層レベル情報を参照し、自己のノード装置2と階層と、遠方ノード装置の階層とを比較して、自己のノード装置2の階層よりも遠方ノード装置の階層が下(下流)の場合には、閾値βを一時的に下げる(上流が選ばれやすくする)ように調整する。なお、自己のノード装置2の階層よりも遠方ノード装置の階層が下(下流)でない場合には、閾値βはそのまま維持される。
次いで、制御部21は、乱数発生器にて発生された乱数値Rを取得し(ステップS112)、乱数値Rは閾値β以上であるか否かを判別し(ステップS113)、乱数値Rが閾値β以上である場合には(ステップS113:Y)、上流ノード装置を選択して上記欠落パケットリストが含まれる補完要求情報を通信部29aを通じて当該上流ノード装置に送信し(ステップS114)、図7の処理に戻る。一方、乱数値Rが閾値β以上でない場合には(ステップS113:N)、遠方ノード装置を選択して上記欠落パケットリストが含まれる補完要求情報を通信部29aを通じて当該遠方ノード装置に送信し(ステップS115)、図7の処理に戻る。
以上のように、補完モードが設定されている場合には、補完要求情報が他のノード装置2に送信され、補完要求情報に応じて送信されてきた補完用のデータパケットは、バッファメモリ23における補完用のバッファに蓄積されることになる。そして、他のノード装置2又は放送局装置1から送信されてきた補完完了情報(後述するステップS25,S45,及びS53の処理により)が受信されると、制御部12は、バッファメモリ23に蓄積された複数のデータパケット(通常のデータパケット)と補完用のデータパケット(補完用バッファに蓄積されたデータパケット)を抽出して(使って)完全なコンテンツデータを復元し、記録手段として、これを他の記録媒体としての記憶部22におけるHDへ記録(例えば、コンテンツデータの購入のため)する。
次に、図9に示す処理は、補完要求情報を受信した上流ノード装置又は遠方ノード装置において開始される。なお、図9に示す処理は、放送局装置1に直接接続されていないノード装置2の制御部21における処理である。
図9の処理において、制御部21は、補完要求情報に含まれる欠落パケットリストにて示されるデータパケットを有しているか(補完可能なデータパケットがあるか)否かを判別(例えば、欠落パケットリストに記述されたパケット番号及びコンテンツIDと、バッファメモリ23に蓄積されているデータパケットのパケット番号及びコンテンツIDとを突きあわせて判別)し(ステップS21)、補完可能なデータパケットがない場合には(ステップS21:N)、ステップS24に移行する。なお、ステップS21において、補完可能なデータパケットがバッファメモリ23にない場合、当該データパケットに係るコンテンツデータが記憶部22におけるHDに記録されているか否かが判別され、記録されている場合には、当該記録されているコンテンツデータがパケット化され、その中から上記補完用のデータパケットが抽出され、上記補完要求情報の送信元のノード装置2に送信(返信)されるように構成しても良い。
一方、補完可能なデータパケットがある場合には(ステップS21:Y)、制御部21は、当該補完用のデータパケットをバッファメモリ23から読み出して通信部29aを通じて、上記補完要求情報の送信元のノード装置2に送信(返信)する(ステップS22)。そして、制御部21は、当該返信に係るデータパケットに対応するパケット番号を当該欠落パケットリストから削除して当該欠落パケットリストを更新し(ステップS23)、ステップS24に移行する。
ステップS24では、制御部21は、更新後の欠落パケットリストにデータパケットのパケット番号が未だ記述されているか否かを判別する。そして、欠落パケットリストにデータパケットのパケット番号が記述されていない場合には(ステップS24:N)、全ての欠落したデータパケットが送信されたことになるので、制御部21は、データパケットの補完完了情報を通信部29aを通じて、上記補完要求情報の送信元のノード装置2に送信して(ステップS25)、当該処理を終了する。
一方、更新後の欠落パケットリストにデータパケットのパケット番号が未だ記述されている場合には(ステップS24:Y)、制御部21は、上記ステップS111と同様、予め設定されていた確率の閾値βを調整し(ステップS26)、続いて、乱数発生器にて発生された乱数値Rを取得し(ステップS27)、乱数値Rは閾値β以上であるか否かを判別する(ステップS28)。そして、乱数値Rが閾値β以上である場合には(ステップS28:Y)、制御部21は、上流ノード装置を選択して上記欠落パケットリスト(更新されている場合、更新後の欠落パケットリスト)が含まれる補完要求情報を通信部29aを通じて当該上流ノード装置に送信(転送)し(ステップS29)、当該処理を終了する。一方、乱数値Rが閾値β以上でない場合には(ステップS28:N)、遠方ノード装置を選択して上記欠落パケットリスト(更新されている場合、更新後の欠落パケットリスト)が含まれる補完要求情報を通信部29aを通じて当該遠方ノード装置に送信し(ステップS29a)、当該処理を終了する。
なお、図9に示す処理は、上記補完要求情報の転送経路に存在するノード装置2において行われることになる。
ところで、補完要求情報を受信した上流ノード装置又は遠方ノード装置が、放送局装置1に直接接続されているノード装置2である場合、図10に示す処理が行われる。
図10の処理において、ステップS41からS45までの処理は、図9に示すステップS21からS25までの処理と同様である。そして、ステップS46では、制御部21は、放送局装置1に上記欠落パケットリスト(更新されている場合、更新後の欠落パケットリスト)が含まれる補完要求情報を通信部29aを通じて送信し、当該処理を終了する。
次に、図11に示す処理は、補完要求情報を受信した放送局装置1において開始され、制御部11は、欠落パケットリストに記述されたパケット番号及びコンテンツIDに基づき、マスタのコンテンツデータから補完用のデータパケットを取得し(ステップS51)、当該補完用のデータパケットを通信部29aを通じて、上記補完要求情報の送信元のノード装置2に送信(返信)し(ステップS52)、更に、データパケットの補完完了情報を上記補完要求情報の送信元のノード装置2に送信して(ステップS53)、当該処理を終了する。
なお、上記実施形態における図7に示す処理においては、1つの単位のコンテンツに係るコンテンツデータの配信中に、データパケットの欠落検査が行われ、所定数以上のデータパケットが欠落した場合に補完要求情報が他のノード装置2に送信される場合の例を説明したが、別の例として、1つの単位のコンテンツに係るコンテンツデータが最後まで受信(言い換えれば、バッファリングが完了)された場合に、補完要求情報が他のノード装置2に送信されるように構成しても良い。
図12は、この場合の、補完要求情報の送信元のノード装置2の制御部21における処理を示すフローチャートである。
図12に示す処理は、例えば、1つの単位のコンテンツに係るコンテンツデータが最後までバッファリングされた後、例えば、ユーザが入力部29bを操作してコンテンツ購入指示を入力(例えば、購入ボタンを押下)することにより開始される。
制御部21は、先ず、バッファメモリ23に蓄積されているコンテンツデータを構成する複数のデータパケットのうち欠落したデータパケットがあるか否かを判別(検査)する(ステップS62)。そして、欠落したデータパケットがある場合(ステップS62:Y)、例えば、パケット番号の連続性が途切れる箇所がある場合、制御部21は、欠落したデータパケットを特定し、そのパケット番号と、当該コンテンツデータのコンテンツIDが記述された欠落パケットリストを作成し(ステップS63)、ステップS64のパケット補完処理を行う。
なお、ステップS64のパケット補完処理(詳細は、図8参照)は、上述したステップS14のパケット補完処理と同様であるので、重複した説明は省略する。また、図12の処理で補完要求情報が送信された場合における、他のノード装置2等の処理については、図9乃至図11に示す処理と同様である。
次に、制御部21は、上記補完要求情報に対して他のノード装置2等から送信(返信)されてきた補完用のデータパケットを受信し(ステップS65)、これをバッファメモリ23における補完用のバッファに挿入し、バッファメモリ23に蓄積された複数のデータパケットと、当該補完用のデータパケット(補完パケット)を使って完全なコンテンツデータを復元して、記録手段として、これを他の記録媒体としての記憶部22におけるHDへ記録(例えば、コンテンツデータの購入のため)する(ステップS66)。
なお、上記ステップS62において、欠落したデータパケットがない場合(ステップS62:Y)、バッファメモリ23に蓄積された複数のデータパケットを使って完全なコンテンツデータを復元して、記録手段として、これを他の記録媒体としての記憶部22におけるHDへ記録(例えば、コンテンツデータの購入のため)する。
次いで、制御部21は、当該記録されたコンテンツデータを再生するためのライセンス証を例えば、ライセンスサーバ(図示せず)から取得し(ステップS67)、当該コンテンツデータの購入完了した旨をユーザに対して報知(例えば、表示又は音声出力により)して(ステップS68)、当該処理を終了する。これにより、配信されたコンテンツデータに欠落したデータパケットがある場合にも、ユーザは当該欠落したデータパケットを補完して完全な形で購入することができる。
なお、このように記録(購入)されたコンテンツデータは、例えば、ユーザから入力部29bを介して再生指示があった場合に、制御部21の制御の下、復号化アクセラレータ24により復号化され、デコーダ部25によりデコード、再生され、そのビデオデータ等は、映像処理部26を介して表示部27に表示され、オーディオデータは、音声処理部28を介してスピーカ29から音波として出力されることになる。
以上説明したように、上記実施形態によれば、欠落したデータパケットを補完するノード装置から発信された補完要求情報が、これに示されるデータパケットを有しているノード装置2に辿り着くまで転送されるので、より効率的にデータパケットを補完することができる。しかも、補完要求情報は、各ノード装置において、上流ノード装置と、遠方ノード装置との何れか一方のノード装置を予め設定された確率で選択されて送信又は転送されるので、放送局装置1及び上流のノード装置2への負担を抑えつつ、幅広い範囲で、より効率的にデータパケットを補完することができる。
なお、上記実施形態において、補完要求情報の送信元のノード装置2が、接続する上流ノード装置を変更し、階層レベルを上げた(例えば、第4階層から第2階層に上げた)場合、例えば、当初から認識している遠方ノード装置に対して補完要求情報を送信すると、当該遠方ノード装置は自己よりも下流の階層の場合があるので、補完要求情報の転送がループする可能性(図3参照)がある。これを回避するためのノード装置2の動作について説明する。
図13は、補完要求情報の送信元のノード装置2が、接続する上流ノード装置を変更し、階層レベルを上げた場合における、補完要求情報の転送のループを回避するための動作の様子を示す図である。
図13の例では、補完要求情報の送信元のノード装置2rは、階層レベルを上げた場合に、自己が当初から認識している遠方ノード装置2wに対して、補完要求情報の代わりに紹介要求情報(自己の所在情報及び階層レベル情報を含む)を送信しており、紹介要求情報を受信した遠方ノード装置2wは、自己の上流ノード装置2kに対して当該紹介要求情報を転送し、当該上流ノード装置2kは、自己の階層と、送信元のノード装置2rの階層を比較して同じ階層でないので、更に上流の上流ノード装置2eに対して、当該紹介要求情報を転送し、当該上流ノード装置2eは、自己の階層と、送信元のノード装置2rの階層を比較して同じ階層であるので、送信元のノード装置2rに対して、自己の所在情報及び階層レベル情報を含む紹介応答情報を送信するようになっている。これにより、補完要求情報の送信元のノード装置2rが、接続する上流ノード装置を変更し、階層レベルを上げた場合においても、当該送信元のノード装置2は、新たな遠方ノード装置の所在情報等を効率よく取得でき、新たな遠方ノード装置に対して補完要求情報を送信することができる。
なお、上記実施形態においては、第1ノード装置の一例として、自己が直接接続する上流のノード装置としたが、自己から放送局装置1に至るまでの通信経路上に位置する何れかの上流のノード装置としてもよい。
本実施形態に係るツリー型コンテンツ配信システムにおける各装置の接続態様の一例を示す図である。 補完要求情報が放送局装置1方向に向かって転送されていく様子を示す図である。 補完要求情報の転送がループする様子を示す図である。 放送局装置1の概要構成例を示す図である。 ノード装置2の概要構成例を示す図である。 接続先紹介(照会)サーバ3の概要構成例を示す図である。 補完要求情報の送信元のノード装置2の制御部21における処理を示すフローチャートである。 図7におけるパケット補完処理の詳細を示すフローチャートである。 補完要求情報を受信したノード装置2の制御部21における処理を示すフローチャートである。 補完要求情報を受信した放送局装置1の下流に位置するノード装置2の制御部21における処理を示すフローチャートである。 補完要求情報を受信した放送局装置1の制御部11における処理を示すフローチャートである。 この場合の、補完要求情報の送信元のノード装置2の制御部21における処理を示すフローチャートである。 補完要求情報の送信元のノード装置2が、接続する上流ノード装置を変更し、階層レベルを上げた場合における、補完要求情報の転送のループを回避するための動作の様子を示す図である。
符号の説明
1 放送局装置
2 ノード装置
3 接続先紹介(照会)サーバ
4 通信経路
10 ネットワーク
11 制御部
12 記憶部
13 暗号化用アクセラレータ
15 通信部
16 入力部
17 バス
21 制御部
22 記憶部
23 バッファメモリ
24 復号化アクセラレータ
25 デコーダ部
26 映像処理部
27 表示部
28 音声処理部
29 スピーカ
29a 通信部
29b 入力部
29c ICカードスロット
29d バス
35 制御部
36 記憶部
37 通信部
38 バス
S ツリー型コンテンツ配信システム

Claims (21)

  1. 複数のノード装置が複数の階層を形成しつつ通信経路を介して接続され、連続する複数のデータパケットが上流から下流の方向へ配信され、前記ノード装置が受信したデータパケットを記憶して下流に位置する前記ノード装置に中継して配信される配信システムに含まれる前記ノード装置において、
    配信されてきた前記連続する複数のデータパケットを受信するパケット受信手段と、
    前記受信されたデータパケットに基づき、欠落したデータパケットが有るか否かを判別する欠落パケット有無判別手段と、
    前記欠落パケット有無判別手段により前記欠落したデータパケットがあると判別された場合には、前記データパケットを受信したノード装置の下流に位置するノード装置以外のノード装置の何れかに対して、当該欠落したデータパケットの補完要求情報を送信する補完要求送信手段と、
    前記補完要求情報に対して前記ノード装置から返信されてきたデータパケットを受信する補完パケット受信手段と、
    を備え、
    前記補完要求送信手段は、前記データパケットを受信したノード装置から前記データパケットの配信元である配信元装置に至るまでの通信経路上に位置する上流の第1ノード装置と、当該通信経路上以外に位置しかつ前記データパケットを受信したノード装置の下流に位置するノード装置以外の第2ノード装置と、の何れか一方のノード装置を予め設定された確率で選択し、当該選択したノード装置に対して前記補完要求情報を送信することを特徴とするノード装置。
  2. 複数のノード装置が複数の階層を形成しつつ通信経路を介して接続され、連続する複数のデータパケットが上流から下流の方向へ前記ノード装置により中継されつつ配信される配信システムに含まれる前記ノード装置において、
    配信されてきた前記連続する複数のデータパケットを受信するパケット受信手段と、
    前記受信されたデータパケットに基づき、欠落したデータパケットが有るか否かを判別する欠落パケット有無判別手段と、
    前記欠落パケット有無判別手段により前記欠落したデータパケットがあると判別された場合には、前記データパケットを受信したノード装置の下流に位置するノード装置以外のノード装置に対して、当該欠落したデータパケットの補完要求情報を送信する補完要求送信手段と、
    前記補完要求情報に対して前記ノード装置から返信されてきたデータパケットを受信する補完パケット受信手段と、
    を備え、
    前記補完要求送信手段は、前記データパケットを受信したノード装置から前記データパケットの配信元である配信元装置に至るまでの通信経路上に位置する上流の第1ノード装置と、当該通信経路上以外に位置しかつ前記データパケットを受信したノード装置の下流に位置するノード装置以外の第2ノード装置と、の何れか一方のノード装置を予め設定された確率で選択し、当該選択したノード装置に対して前記補完要求情報を送信することを特徴とするノード装置。
  3. 請求項1又は2に記載のノード装置において、
    前記第1ノード装置が選択される確率は、前記第2ノード装置が選択される確率よりも高く設定されていることを特徴とするノード装置。
  4. 請求項3に記載のノード装置において、
    前記第2ノード装置は、前記データパケットを受信したノード装置と同一階層以上の階層のノード装置であることを特徴とするノード装置。
  5. 請求項3又は4に記載のノード装置において、
    前記複数のノード装置は、前記配信元装置を頂点として複数の階層を形成しつつ通信経路を介してツリー状に接続されており、
    前記第2ノード装置は、前記配信元装置から分岐される通信経路であって、前記データパケットを受信したノード装置から前記データパケットの前記配信元装置に至るまでの通信経路とは異なる通信経路上に位置することを特徴とするノード装置。
  6. 請求項1乃至5の何れか一項に記載のノード装置において、
    前記受信されたデータパケットを一時的に蓄積する蓄積手段と、
    コンテンツの単位を形成する前記複数のデータパケットのうち、欠落したデータパケットが前記補完要求情報により補完された場合に、前記蓄積手段に蓄積された複数のデータパケットと前記補完パケットを使って完全なコンテンツデータを復元して他の記録媒体へ記録する記録手段と、
    を更に備えることを特徴とするノード装置。
  7. 請求項1乃至6の何れか一項に記載のノード装置において、
    他のノード装置から送信される前記補完要求情報を受信する補完要求情報受信手段と、
    前記受信された補完要求情報にて示される前記データパケットを有しているか否かを判別するパケット有無判別手段と、
    前記パケット有無判別手段により前記データパケットを有していると判別された場合には、前記補完要求情報を送信したノード装置に対して、当該データパケットを返信するデータパケット返信手段と、
    を備えることを特徴とするノード装置。
  8. 請求項7に記載のノード装置において、
    前記パケット有無判別手段により前記データパケットを有していないと判別された場合には、前記補完要求情報を受信したノード装置の下流に位置するノード装置以外のノード装置に対して、前記補完要求情報を転送する補完要求転送手段を更に備えることを特徴とするノード装置。
  9. 請求項1乃至6の何れか一項に記載のノード装置において、
    他のノード装置から送信される前記補完要求情報を受信する補完要求情報受信手段と、
    前記補完要求情報には、欠落した複数のデータパケットの夫々に対応するパケット識別情報が記述された欠落パケットリストが含まれており、
    当該欠落パケットリストにて示される夫々の前記データパケットを有しているか否かを判別するパケット有無判別手段と、
    前記パケット有無判別手段により有ると判別されたデータパケットを、前記補完要求情報を送信したノード装置に対して返信するデータパケット返信手段と、
    前記返信に係るデータパケットに対応するパケット識別情報を前記欠落パケットリストから削除して当該欠落パケットリストを更新する欠落パケットリスト更新手段と、
    前記更新後の欠落パケットリストに前記パケット識別情報が未だ記述されているか否かを判別するパケット識別情報有無判別手段と、
    前記パケット識別情報有無判別手段により前記パケット識別情報が未だ記述されていると判別された場合には、前記補完要求情報を受信したノード装置の下流に位置するノード装置以外のノード装置に対して、前記更新後の欠落パケットリストを含む前記補完要求情報を転送する補完要求転送手段と、
    を備えることを特徴とするノード装置。
  10. 請求項1乃至6の何れか一項に記載のノード装置から送信される補完要求情報を受信する補完要求情報受信手段を備えるノード装置であって、
    前記受信された補完要求情報にて示される前記データパケットを有しているか否かを判別するパケット有無判別手段と、
    前記パケット有無判別手段により前記データパケットを有していると判別された場合には、前記補完要求情報を送信したノード装置に対して、当該データパケットを返信するデータパケット返信手段と、
    前記パケット有無判別手段により前記データパケットを有していないと判別された場合には、前記補完要求情報を受信したノード装置の下流に位置するノード装置以外のノード装置に対して、前記補完要求情報を転送する補完要求転送手段と、
    を備え、
    前記補完要求転送手段は、前記補完要求情報を受信したノード装置から前記データパケットの配信元である配信元装置に至るまでの通信経路上に位置する上流の第1ノード装置と、当該通信経路上以外に位置しかつ前記補完要求情報を受信したノード装置の下流に位置するノード装置以外の第2ノード装置と、の何れか一方のノード装置を予め設定された確率で選択し、当該選択したノード装置に対して前記補完要求情報を転送することを特徴とするノード装置。
  11. 請求項10に記載のノード装置において、
    前記第1ノード装置が選択される確率は、前記第2ノード装置が選択される確率よりも高く設定されていることを特徴とするノード装置。
  12. 請求項10又は11に記載のノード装置において、
    前記第2ノード装置は、前記補完要求情報を受信したノード装置と同一階層以上の階層のノード装置であることを特徴とするノード装置。
  13. 請求項10乃至12の何れか一項に記載のノード装置において、
    前記複数のノード装置は、前記配信元装置を頂点として複数の階層を形成しつつ通信経路を介してツリー状に接続されており、
    前記第2ノード装置は、前記配信元装置から分岐される通信経路であって、前記補完要求情報を受信したノード装置から前記データパケットの前記配信元装置に至るまでの通信経路とは異なる通信経路上に位置することを特徴とするノード装置。
  14. 複数のノード装置が複数の階層を形成しつつ通信経路を介して接続され、連続する複数のデータパケットが上流から下流の方向へ配信され、前記ノード装置が受信したデータパケットを記憶して下流に位置する前記ノード装置に中継して配信される配信システムに含まれる前記ノード装置のコンピュータに、
    配信されてきた前記連続する複数のデータパケットを受信するパケット受信ステップと、
    前記受信されたデータパケットに基づき、欠落したデータパケットが有るか否かを判別する欠落パケット有無判別ステップと、
    前記欠落パケット有無判別ステップにより前記欠落したデータパケットがあると判別された場合には、前記データパケットを受信したノード装置の下流に位置するノード装置以外のノード装置の何れかに対して、当該欠落したデータパケットの補完要求情報を送信する補完要求送信ステップと、
    前記補完要求情報に対して前記ノード装置から返信されてきたデータパケットを受信する補完パケット受信ステップと、
    を実行させ、
    前記補完要求送信ステップは、前記データパケットを受信したノード装置から前記データパケットの配信元である配信元装置に至るまでの通信経路上に位置する上流の第1ノード装置と、当該通信経路上以外に位置しかつ前記データパケットを受信したノード装置の下流に位置するノード装置以外の第2ノード装置と、の何れか一方のノード装置を予め設定された確率で選択し、当該選択したノード装置に対して前記補完要求情報を送信することを特徴とするプログラム。
  15. 請求項1乃至6の何れか一項に記載のノード装置から送信される補完要求情報を受信するノード装置のコンピュータに、
    前記受信された補完要求情報にて示される前記データパケットを有しているか否かを判別するパケット有無判別ステップと、
    前記パケット有無判別ステップにより前記データパケットを有していると判別された場合には、前記補完要求情報を送信したノード装置に対して、当該データパケットを返信するデータパケット返信ステップと、
    前記パケット有無判別ステップにより前記データパケットを有していないと判別された場合には、前記補完要求情報を受信したノード装置の下流に位置するノード装置以外のノード装置に対して、前記補完要求情報を転送する補完要求転送ステップと、
    を実行させ、
    前記補完要求転送ステップは、前記補完要求情報を受信したノード装置から前記データパケットの配信元である配信元装置に至るまでの通信経路上に位置する上流の第1ノード装置と、当該通信経路上以外に位置しかつ前記補完要求情報を受信したノード装置の下流に位置するノード装置以外の第2ノード装置と、の何れか一方のノード装置を予め設定された確率で選択し、当該選択したノード装置に対して前記補完要求情報を転送することを特徴とするプログラム。
  16. 複数のノード装置を備え、当該複数のノード装置が複数の階層を形成しつつ通信経路を介して接続され、連続する複数のデータパケットが上流から下流の方向へ配信され、前記ノード装置が受信したデータパケットを記憶して下流に位置する前記ノード装置に中継して配信される配信システムにおいて、
    1の前記ノード装置は、
    配信されてきた前記連続する複数のデータパケットを受信するパケット受信手段と、
    前記受信されたデータパケットに基づき、欠落したデータパケットが有るか否かを判別する欠落パケット有無判別手段と、
    前記欠落パケット有無判別手段により前記欠落したデータパケットがあると判別された場合には、当該1のノード装置の下流に位置するノード装置以外のノード装置の何れかに対して、当該欠落したデータパケットの補完要求を示す補完要求情報を送信する補完要求送信手段と、
    前記補完要求情報に対して他の前記ノード装置から返信されてきたデータパケットを受信する補完パケット受信手段と、を備え、
    前記補完要求送信手段は、前記データパケットを受信したノード装置から前記データパケットの配信元である配信元装置に至るまでの通信経路上に位置する上流の第1ノード装置と、当該通信経路上以外に位置しかつ前記データパケットを受信したノード装置の下流に位置するノード装置以外の第2ノード装置と、の何れか一方のノード装置を予め設定された確率で選択し、当該選択したノード装置に対して前記補完要求情報を送信し、
    前記他のノード装置は、
    前記1のノード装置から送信されてきた補完要求情報を受信する補完要求情報受信手段と、
    前記受信された補完要求情報にて示される前記欠落したデータパケットを有しているか否かを判別するパケット有無判別手段と、
    前記パケット有無判別手段により前記データパケットを有していると判別された場合には、前記1のノード装置に対して、当該データパケットを返信するデータパケット返信手段と、
    を備えることを特徴とする配信システム。
  17. 複数のノード装置を備え、当該複数のノード装置が複数の階層を形成しつつ通信経路を介して接続され、連続する複数のデータパケットが上流から下流の方向へ前記ノード装置により中継されつつ配信される配信システムにおいて、
    1の前記ノード装置は、
    配信されてきた前記連続する複数のデータパケットを受信するパケット受信手段と、
    前記受信されたデータパケットに基づき、欠落したデータパケットが有るか否かを判別する欠落パケット有無判別手段と、
    前記欠落パケット有無判別手段により前記欠落したデータパケットがあると判別された場合には、当該1のノード装置の下流に位置するノード装置以外のノード装置に対して、当該欠落したデータパケットの補完要求を示す補完要求情報を送信する補完要求送信手段と、
    前記補完要求情報に対して他の前記ノード装置から返信されてきたデータパケットを受信する補完パケット受信手段と、
    を備え、
    前記補完要求送信手段は、当該1のノード装置から前記データパケットの配信元である配信元装置に至るまでの通信経路上に位置する上流の第1ノード装置と、当該通信経路上以外に位置しかつ当該1のノード装置の下流に位置するノード装置以外の第2ノード装置と、の何れか一方のノード装置を予め設定された確率で選択し、当該選択したノード装置に対して前記補完要求情報を送信し、
    前記他のノード装置は、
    前記1のノード装置から送信された補完要求情報を受信する補完要求情報受信手段と、
    前記受信された補完要求情報にて示される前記欠落したデータパケットを有しているか否かを判別するパケット有無判別手段と、
    前記パケット有無判別手段により前記データパケットを有していると判別された場合には、前記1のノード装置に対して、当該データパケットを返信するデータパケット返信手段と、
    を備えることを特徴とする配信システム。
  18. 請求項16又は17に記載の配信システムにおいて、
    前記他のノード装置は、
    前記パケット有無判別手段により前記データパケットを有していないと判別された場合には、当該他のノード装置の下流に位置するノード装置以外のノード装置に対して、前記補完要求情報を転送する補完要求転送手段を更に備えることを特徴とする配信システム。
  19. 複数のノード装置が複数の階層を形成しつつ通信経路を介して接続され、連続する複数のデータパケットが上流から下流の方向へ配信され、前記ノード装置が受信したデータパケットを記憶して下流に位置する前記ノード装置に中継して配信される配信システムにおけるデータパケットの補完方法であって、
    1の前記ノード装置において、配信されてきた前記連続する複数のデータパケットを受信する工程と、
    前記1のノード装置において、前記受信されたデータパケットに基づき、欠落したデータパケットが有るか否かを判別する工程と、
    前記1のノード装置において、前記欠落したデータパケットがあると判別された場合には、当該1のノード装置から前記データパケットの配信元である配信元装置に至るまでの通信経路上に位置する上流の第1ノード装置と、当該通信経路上以外に位置しかつ当該1のノード装置の下流に位置するノード装置以外の第2ノード装置と、の何れか一方のノード装置を予め設定された確率で選択し、当該選択したノード装置に対して、当該欠落したデータパケットの補完要求を示す補完要求情報を送信する工程と、
    他の前記ノード装置において、前記1のノード装置から送信されてきた補完要求情報を受信する工程と、
    前記他のノード装置において、前記受信された補完要求情報にて示される前記欠落したデータパケットを有しているか否かを判別する工程と、
    前記他のノード装置において、前記データパケットを有していると判別された場合には、前記1のノード装置に対して、当該データパケットを返信する工程と、
    前記1のノード装置において、前記他のノード装置から返信されてきたデータパケットを受信する工程と、
    を備えることを特徴とするデータパケットの補完方法。
  20. 複数のノード装置が複数の階層を形成しつつ通信経路を介して接続され、連続する複数のデータパケットが上流から下流の方向へ前記ノード装置により中継されつつ配信される配信システムにおけるデータパケットの補完方法であって、
    1の前記ノード装置において、配信されてきた前記連続する複数のデータパケットを受信する工程と、
    前記1のノード装置において、前記受信されたデータパケットに基づき、欠落したデータパケットが有るか否かを判別する工程と、
    前記1のノード装置において、前記欠落したデータパケットがあると判別された場合には、当該1のノード装置から前記データパケットの配信元である配信元装置に至るまでの通信経路上に位置する上流の第1ノード装置と、当該通信経路上以外に位置しかつ当該1のノード装置の下流に位置するノード装置以外の第2ノード装置と、の何れか一方のノード装置を予め設定された確率で選択し、当該選択したノード装置に対して、当該欠落したデータパケットの補完要求を示す補完要求情報を送信する工程と、
    前記選択されたノード装置において、前記1のノード装置から送信されてきた補完要求情報を受信する工程と、
    前記選択されたノード装置において、前記受信された補完要求情報にて示される前記欠落したデータパケットを有しているか否かを判別する工程と、
    前記選択されたノード装置において、前記データパケットを有していると判別された場合には、前記1のノード装置に対して、当該データパケットを返信する工程と、
    前記1のノード装置において、前記選択したノード装置から返信されてきたデータパケットを受信する工程と、
    を備えることを特徴とするデータパケットの補完方法。
  21. 請求項19又は20に記載のデータパケットの補完方法において、
    前記他のノード装置において、前記データパケットを有していないと判別された場合には、当該他のノード装置の下流に位置するノード装置以外のノード装置に対して、前記補完要求情報を転送する工程を更に備えることを特徴とするデータパケットの補完方法。
JP2005138041A 2005-05-11 2005-05-11 配信システム、ノード装置、及びデータパケットの補完方法等 Expired - Fee Related JP4736527B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005138041A JP4736527B2 (ja) 2005-05-11 2005-05-11 配信システム、ノード装置、及びデータパケットの補完方法等
PCT/JP2006/307918 WO2006120836A1 (ja) 2005-05-11 2006-04-14 配信システム、ノード装置、及びデータパケットの補完方法等

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005138041A JP4736527B2 (ja) 2005-05-11 2005-05-11 配信システム、ノード装置、及びデータパケットの補完方法等

Publications (2)

Publication Number Publication Date
JP2006319495A JP2006319495A (ja) 2006-11-24
JP4736527B2 true JP4736527B2 (ja) 2011-07-27

Family

ID=37396349

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005138041A Expired - Fee Related JP4736527B2 (ja) 2005-05-11 2005-05-11 配信システム、ノード装置、及びデータパケットの補完方法等

Country Status (2)

Country Link
JP (1) JP4736527B2 (ja)
WO (1) WO2006120836A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5092877B2 (ja) * 2008-04-30 2012-12-05 ブラザー工業株式会社 ツリー型放送システム、パケット送信方法、ノード装置、及びノード処理プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002124992A (ja) * 2000-08-10 2002-04-26 Kddi Corp マルチキャストによるデータファイル配信方法
JP2003174478A (ja) * 2001-12-05 2003-06-20 Ntt Docomo Inc マルチキャスト通信方式、マルチキャスト通信に用いる中継ノード装置、及び、中継ノード装置における送信制御方法
JP2003179640A (ja) * 2001-12-10 2003-06-27 Nec Corp ブロードキャスト通信における欠損パケットの補完方式および方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002124992A (ja) * 2000-08-10 2002-04-26 Kddi Corp マルチキャストによるデータファイル配信方法
JP2003174478A (ja) * 2001-12-05 2003-06-20 Ntt Docomo Inc マルチキャスト通信方式、マルチキャスト通信に用いる中継ノード装置、及び、中継ノード装置における送信制御方法
JP2003179640A (ja) * 2001-12-10 2003-06-27 Nec Corp ブロードキャスト通信における欠損パケットの補完方式および方法

Also Published As

Publication number Publication date
WO2006120836A1 (ja) 2006-11-16
JP2006319495A (ja) 2006-11-24

Similar Documents

Publication Publication Date Title
US7970935B2 (en) Network system, information processor, and information processing program recording medium
US20030101253A1 (en) Method and system for distributing data in a network
US7218643B1 (en) Relay device and communication device realizing contents protection procedure over networks
CN101547205B (zh) 远程实时访问多媒体内容的方法、装置和系统
US9954717B2 (en) Dynamic adaptive streaming over hypertext transfer protocol as hybrid multirate media description, delivery, and storage format
JP5038486B2 (ja) メディア・コンテンツを変換する方法、システム、および、装置
US8201262B2 (en) Contents distribution system, contents distribution method, terminal apparatus, and recording medium on which program thereof is recorded
JP5913548B2 (ja) コンテンツ配信装置、コンテンツ配信方法、コンテンツ中継装置、コンテンツ中継方法およびこれらのプログラム
CN102427442A (zh) 组合请求相关元数据和元数据内容
JP2007518294A (ja) 動画ファイルの暗号化方法及びそれを利用したデジタル著作権の管理方法
JP2005056345A (ja) サーバ、コンテンツ提供装置、コンテンツ受信装置、コンテンツ提供方法、コンテンツ受信方法及びプログラム
US20210288735A1 (en) Information processing apparatus, client apparatus, and data processing method
JP4877108B2 (ja) ネットワークシステム、情報処理装置及び接続先紹介装置、情報処理方法並びに情報処理装置用プログラム及び接続先紹介装置用プログラム
KR100966363B1 (ko) 중계장치, 통신단말 및 통신방법
CN103905218A (zh) 多节点架构的多媒体传播系统和其多媒体传播控制方法
WO2005091157A1 (ja) 認証代行方法及び配信管理装置並びに認証代行方法のプログラム
JP2008048050A (ja) 暗号化データ通信システム
US10912053B2 (en) Enforcing geographic restrictions for multitenant overlay networks
JP4736527B2 (ja) 配信システム、ノード装置、及びデータパケットの補完方法等
WO2007137500A1 (fr) Système vidéo public et son procédé de mise en oeuvre
KR101276205B1 (ko) 모바일 디바이스를 이용한 협업 서비스 제공 시스템 및 그 시스템의 스마트 tv에서 수행되는 모바일 디바이스를 이용한 협업 서비스 제공 방법
TWI528795B (zh) 多節點架構之多媒體傳播系統和其多媒體傳播控制方法
JP5040822B2 (ja) 論理ネットワークシステム、接続先紹介装置、情報処理方法及び接続先紹介装置用プログラム
JP4924382B2 (ja) 情報処理装置及び接続先紹介装置、情報処理方法並びに情報処理装置用プログラム及び接続先紹介装置用プログラム
JP2008078996A (ja) ツリー型コンテンツ配信システム、コンテンツ配信方法、ノード装置、及びノード処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080430

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100309

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100510

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100601

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100830

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110311

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110418

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: 20140513

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees