JP2003169089A - Stream data decentralized distribution method and its system - Google Patents
Stream data decentralized distribution method and its systemInfo
- Publication number
- JP2003169089A JP2003169089A JP2001364944A JP2001364944A JP2003169089A JP 2003169089 A JP2003169089 A JP 2003169089A JP 2001364944 A JP2001364944 A JP 2001364944A JP 2001364944 A JP2001364944 A JP 2001364944A JP 2003169089 A JP2003169089 A JP 2003169089A
- Authority
- JP
- Japan
- Prior art keywords
- node
- stream data
- connection
- upstream
- downstream 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000011144 upstream manufacturing Methods 0.000 claims abstract description 196
- 238000012545 processing Methods 0.000 claims description 31
- 230000008569 process Effects 0.000 claims description 24
- 238000007726 management method Methods 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 22
- 230000005540 biological transmission Effects 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 9
- 238000002716 delivery method Methods 0.000 claims description 8
- 238000005315 distribution function Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 description 58
- 238000010586 diagram Methods 0.000 description 12
- 238000012544 monitoring process Methods 0.000 description 7
- 230000001404 mediated effect Effects 0.000 description 2
- 101001094026 Synechocystis sp. (strain PCC 6803 / Kazusa) Phasin PhaP Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、一般的にはネット
ワーク環境下でストリームデータを分散配信する方法に
関し、特にインターネット上においてユーザ端末間でス
トリームデータの分散配信機能を実現する技術に関す
る。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention generally relates to a method for distributing and distributing stream data in a network environment, and more particularly to a technique for realizing a distributed distribution function of stream data among user terminals on the Internet.
【0002】[0002]
【従来の技術】近年、インターネットを代表とする情報
通信ネットワーク環境において、ブロードバンド化の推
進により、主として動画(映像)や音声のコンテンツ情
報(以下ストリームデータと呼ぶ場合がある)の伝送を
容易に行なうことが可能になりつつある。ブロードバン
ド化のネットワーク環境としては、例えばADSL(as
ymmetric digital subscriber line)伝送方式やCAT
V(cable television)ネットワークを利用した有線通
信方式以外に、携帯電話などの無線通信方式(移動体通
信方式)によるネットワーク環境も含まれる。2. Description of the Related Art In recent years, in information communication network environments typified by the Internet, the promotion of broadband has facilitated easy transmission of mainly moving image (video) and audio content information (hereinafter sometimes referred to as stream data). It is becoming possible. As a broadband network environment, for example, ADSL (as
ymmetric digital subscriber line) Transmission method and CAT
In addition to a wired communication system using a V (cable television) network, a network environment using a wireless communication system (mobile communication system) such as a mobile phone is also included.
【0003】ところで、インターネットに接続されるユ
ーザ端末としては、パーソナルコンピュータ、各種のデ
ィジタル情報機器(例えばディジタル・テレビ受信機な
ど)、携帯電話(PHSも含む)、あるいは無線通信機
能を有する携帯型情報端末(PDA:personal digital
assistantとも呼ばれている)等が含まれる。By the way, as a user terminal connected to the Internet, a personal computer, various digital information devices (for example, a digital television receiver, etc.), a mobile phone (including PHS), or portable information having a wireless communication function is used. Terminal (PDA: personal digital
(also called assistant)) etc. are included.
【0004】ブロードバンド化のネットワーク環境下
で、これらのユーザ端末を使用することにより、ストリ
ームデータを受信して、ユーザの違和感を伴なうことな
く、動画や音声のコンテンツ情報を再生することが可能
となる。従来では、インターネットによる情報サービス
や、個人間の情報交換では、文字情報や静止画像が主体
であり、動画や音声などのストリームデータの通信は限
定されたものであった。従って、今後、ブロードバンド
化のネットワーク環境の普及に伴なって、ストリームデ
ータ配信サービス事業などのビジネス分野だけでなく、
ユーザ間で個人的情報を交換するプライベートの分野で
も、ストリームデータ配信に対する需要が増大すること
が予想される。By using these user terminals in a broadband network environment, it is possible to receive stream data and reproduce moving image and audio content information without causing the user discomfort. Becomes Conventionally, in information services via the Internet and in information exchange between individuals, text information and still images have been the main subjects, and communication of stream data such as moving images and audio has been limited. Therefore, in the future, along with the spread of broadband network environments, not only in business fields such as stream data distribution service business,
Even in the private field where personal information is exchanged between users, the demand for stream data distribution is expected to increase.
【0005】[0005]
【発明が解決しようとする課題】ネットワーク環境下で
のブロードバンド化の推進により、インターネットの基
幹系や、各家庭のユーザ端末と接続する支線系につい
て、帯域の増強や通信コストの低減化が実現されつつあ
る。By promoting the use of broadband in a network environment, it is possible to increase the bandwidth and reduce the communication cost of the backbone system of the Internet and the branch line system connected to the user terminal of each home. It's starting.
【0006】しかし一方で、ストリームデータ配信に対
する需要の増大化に伴なって、ストリームデータを送信
するためのシステムに対して、負荷容量(配信能力)の
増大化が要求されている。このことは、特にサーバを中
心とする多大な設備投資が要求されて、システム構築に
要するコストの増大化を招くことになる。On the other hand, however, along with the increase in demand for stream data distribution, there is a demand for an increase in load capacity (distribution capacity) of a system for transmitting stream data. This leads to an increase in cost required for system construction, which requires a large amount of capital investment especially for servers.
【0007】一般的に、ストリームデータの配信システ
ムは、サービス事業者(インターネットサービスプロバ
イダ:ISPなど)が管理するサーバにより実現されて
いる。従って、サービス事業者側において、コスト面か
らサーバの負荷容量を増強できない場合、ストリームデ
ータ配信に対する需要の増大化に対応できず、ブロード
バンド化により増強されたインターネットの帯域を十分
に活用できない状況になる。[0007] Generally, a stream data delivery system is realized by a server managed by a service provider (Internet service provider: ISP, etc.). Therefore, if the service provider cannot increase the load capacity of the server in terms of cost, it will not be able to cope with the increasing demand for stream data distribution, and it will not be possible to fully utilize the Internet bandwidth increased by the broadbandization. .
【0008】このような問題点を解消するために、スト
リームデータを分散配信(配送)する各種の技術が開発
されている。これらの先行技術により、ストリームデー
タの送信(配信)を行なうサーバの負荷を軽減すること
が可能となる。しかしながら、いずれの先行技術も基本
的には、分散配信システムを事業者が管理するサーバに
より中央制御する方式である。このため、ストリームデ
ータの送信に関するサーバの負荷は軽減できても、一方
で、分散配信システムを構成するためのトポロジ(ノー
ド間の接続関係)の制御などに関するサーバの負荷が増
大するという問題がある。In order to solve such problems, various techniques for distributed distribution (delivery) of stream data have been developed. These prior arts can reduce the load on the server that transmits (delivers) stream data. However, any of the prior arts is basically a system in which a distributed distribution system is centrally controlled by a server managed by a company. Therefore, although the load on the server for transmitting the stream data can be reduced, on the other hand, the load on the server for controlling the topology (connection relationship between the nodes) for configuring the distributed distribution system increases. .
【0009】さらに、分散配信システムを中央制御する
方式は、サービス事業者が管理するサーバによりストリ
ームデータ配信を行なう事業者向けのアプローチであ
る。換言すれば、ユーザ間で個人的情報を交換するプラ
イベートの分野において、サービス事業者が管理するサ
ーバを要することなく、いわば自律的又は個人的なスト
リームデータ配信を実現する分散配信システムに関する
技術は開発されていない。Further, the method of centrally controlling the distributed distribution system is an approach for a business operator that distributes stream data by a server managed by a service business operator. In other words, in the private field where personal information is exchanged between users, a technology related to a distributed distribution system that realizes so-called autonomous or personal stream data distribution without the need for a server managed by a service provider has been developed. It has not been.
【0010】そこで、本発明の目的は、インターネット
などのネットワーク環境において、特にユーザ端末間で
の自律的又は個人的なストリームデータ配信を実現でき
るストリームデータ分散配信技術を提供することにあ
る。Therefore, an object of the present invention is to provide a stream data decentralized distribution technique capable of realizing autonomous or personal stream data distribution, especially between user terminals, in a network environment such as the Internet.
【0011】[0011]
【課題を解決するための手段】本発明の観点は、インタ
ーネットなどのネットワーク環境において、各ユーザ端
末(ノード)間でストリームデータの送受信を行なうス
トリームデータ分散配信システムを動的に構築するため
の方法に関する。本方法の特徴は、各ユーザ端末のネッ
トワーク接続関係を認識するためのトポロジ情報を、各
ノード(ユーザ端末)が分散管理する構成にある。換言
すれば、各ノードが自律的に、トポロジ情報を記憶し、
更新し、提供するなどの管理を行なう機能を備えてい
る。SUMMARY OF THE INVENTION An aspect of the present invention is to provide a method for dynamically constructing a stream data distributed distribution system for transmitting and receiving stream data between user terminals (nodes) in a network environment such as the Internet. Regarding The feature of this method is that each node (user terminal) manages the topology information for recognizing the network connection relationship of each user terminal in a distributed manner. In other words, each node autonomously stores topology information,
It has a function to manage such as updating and providing.
【0012】本発明の観点によるストリームデータ分散
配信方法は、各ノードが相互接続して構築されるネット
ワークにおいて、各ノード間でストリームデータの送受
信を実行して、ストリームデータ分散配信機能を実現す
る方法であって、各ノードは、上流ノードと下流ノード
との接続関係を認識するためのトポロジ情報を管理する
手段、当該トポロジ情報をノード間で交換する手段、及
び前記ストリームデータの送受信手段を有し、上流ノー
ド又は下流ノードとの接続を実行するステップと、接続
した上流ノード又は下流ノードとの間でトポロジ情報を
交換するステップと、上流ノードとして動作する場合
に、トポロジ情報に基づいて認識される下流ノードに対
して前記ストリームデータを送信するステップとから構
成されている。A stream data distributed distribution method according to an aspect of the present invention is a method for realizing a stream data distributed distribution function by executing transmission / reception of stream data between nodes in a network constructed by interconnecting nodes. Each node has means for managing topology information for recognizing the connection relationship between upstream nodes and downstream nodes, means for exchanging the topology information between nodes, and means for transmitting / receiving the stream data. , Performing a connection with an upstream node or a downstream node, exchanging topology information with the connected upstream node or a downstream node, and being recognized based on the topology information when operating as an upstream node And transmitting the stream data to a downstream node.
【0013】本発明の観点によるストリームデータ分散
配信方法であれば、サービス事業者が管理するストリー
ムデータ配信用サーバや、分散配送系制御サーバなどを
要することなく、例えばインターネットに接続されたユ
ーザ端末間で、ストリームデータの送信、受信または中
継を行なうことができる。The stream data distributed delivery method according to the aspect of the present invention does not require a stream data delivery server managed by a service provider, a distributed delivery system control server, or the like, for example, between user terminals connected to the Internet. With, stream data can be transmitted, received, or relayed.
【0014】各ノードは、トポロジ情報により認識した
上流ノードに接続し、当該上流ノードから送信されるス
トリームデータを受信できる。また、トポロジ情報によ
り認識した下流ノードに対してストリームデータを送信
できる。この場合、上流ノードとして機能する自ノード
は、複数の下流ノードに接続し、ストリームデータを同
時並行的に送信することができる。また、上流ノードか
らストリームデータを受信した下流ノードは、他の下流
ノードからの接続要求に応じて、上流ノードとして機能
し、当該下流ノードに対して受信したストリームデータ
を送信(要するに中継)することができる。従って、サ
ービス事業者が運営する高性能のストリームデータ配信
用サーバを要することなく、インターネットに接続され
た各ユーザ端末間で、ストリームデータの分散配信を実
現することができる。但し、一般的には、各ユーザ端末
は、ISPや通信事業者などを介して、インターネット
への接続を行なうことになる。Each node can connect to the upstream node recognized by the topology information and can receive the stream data transmitted from the upstream node. Also, the stream data can be transmitted to the downstream node recognized by the topology information. In this case, the own node that functions as an upstream node can connect to a plurality of downstream nodes and transmit stream data simultaneously in parallel. A downstream node that receives stream data from an upstream node functions as an upstream node in response to a connection request from another downstream node, and transmits (in short, relays) the received stream data to the downstream node. You can Therefore, the distributed distribution of the stream data can be realized among the user terminals connected to the Internet without requiring a high-performance stream data distribution server operated by the service provider. However, in general, each user terminal will be connected to the Internet via an ISP or a communication carrier.
【0015】本発明のストリームデータ分散配信方法を
利用すれば、一般ユーザが個人的な撮影映像を、インタ
ーネットに接続したパーソナルコンピュータなどを利用
して、関係者のみに配信するようなパーソナル放送とも
言えるサービスが可能となる。また、ユーザまたは事業
者は、多数の視聴者に向けてライブやコンサートなどの
中継放送を行なういわゆるインターネット放送を実現で
きる。この場合、インターネット放送事業者は、商業用
のインターネット・ストリームデータ配信サービスにお
ける配信サーバの負荷を軽減させることができる。即
ち、インターネット放送事業者が管理するサーバから、
少数の各ユーザ端末にストリームデータを配信し、当該
各ユーザ端末から他の各ユーザ端末に対して当該ストリ
ームデータを配信することができる。これにより、イン
ターネット放送事業者が管理するサーバの負荷を、直接
的にストリームデータを配信する先のユーザ端末数に応
じて軽減することができる。If the stream data distributed distribution method of the present invention is used, it can be said that the general user distributes the personally photographed video to only the persons concerned using a personal computer connected to the Internet. Service becomes possible. Further, the user or the business operator can realize so-called Internet broadcasting in which relay broadcasting such as live performances and concerts is broadcast to many viewers. In this case, the Internet broadcaster can reduce the load on the distribution server in the commercial Internet stream data distribution service. That is, from the server managed by the Internet broadcaster,
Stream data can be distributed to a small number of user terminals, and the stream data can be distributed from each user terminal to each other user terminal. As a result, the load on the server managed by the Internet broadcaster can be reduced according to the number of user terminals to which the stream data is directly distributed.
【0016】[0016]
【発明の実施の形態】以下図面を参照して、本発明の実
施の形態を説明する。BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the drawings.
【0017】(システムの基本的構成)図1は、本実施
形態に関するストリームデータ分散配信システムの概念
を示す図である。(Basic Configuration of System) FIG. 1 is a diagram showing the concept of a stream data distributed distribution system according to this embodiment.
【0018】本システムは、特にブロードバンドのイン
ターネット等のような常時接続の高速ネットワーク環境
を想定し、当該ネットワークに接続された複数のノード
10によりストリームデータを分散配信する構成であ
る。ここで、ストリームデータとは、動画(映像)や音
声等の連続的ディジタルデータを意味する。また、ノー
ド10とは、一般的には、ネットワークに接続されたユ
ーザ端末であるが、サーバやルータなどのネットワーク
機器であってもよい。ユーザ端末としては、具体的に
は、パーソナルコンピュータ、無線通信機能を有する携
帯型情報端末(PDAや、ノート型パーソナルコンピュ
ータなどを意味する)、あるいは携帯電話(PHSも含
む)等のディジタル情報機器(デバイス)を意味する。
また、ユーザ端末としては、前記のデバイス単体だけで
なく、LANもしくは無線LANにより、複数のデバイ
スを接続して構成されるシステムを意味する場合もあ
る。The present system is particularly designed for a constantly connected high-speed network environment such as the broadband Internet, and has a configuration in which stream data is distributed and distributed by a plurality of nodes 10 connected to the network. Here, the stream data means continuous digital data such as a moving image (video) and audio. The node 10 is generally a user terminal connected to the network, but may be a network device such as a server or a router. As the user terminal, specifically, a personal computer, a portable information terminal having a wireless communication function (meaning a PDA, a notebook personal computer, or the like), or a digital information device such as a mobile phone (including PHS) ( Device).
Further, the user terminal may mean not only the above-mentioned device alone but also a system configured by connecting a plurality of devices by LAN or wireless LAN.
【0019】本システムでは、あるノード10(A)か
ら送信されたストリームデータを受信したノード10
(B)は、ストリームデータを復号して再生(視聴)す
ると共に、他のノード10に中継する。この場合、ノー
ド10(B)は、データ処理能力及びネットワーク接続
帯域の許容範囲内で、複数のノード10に対してストリ
ームデータを中継する。In this system, the node 10 that receives the stream data transmitted from a certain node 10 (A)
(B) decodes and reproduces (views) the stream data and relays it to another node 10. In this case, the node 10 (B) relays the stream data to the plurality of nodes 10 within the allowable range of the data processing capacity and the network connection band.
【0020】要するに、本システムは、上流ノードから
下流ノードへストリームデータの中継を実行することに
より、高性能の配信用サーバを要することなく、多数の
ユーザ端末に対してストリームデータ配信を行なうスト
リームデータ分散配信機能を実現する。ここで、上流ノ
ードとは、自ノードに対して上流であり、ストリームデ
ータの送信元ノードまたは中継ノードである。また、下
流ノードとは、自ノードに対してストリームデータの送
信先ノードである。下流ノードは、ストリームデータを
受信する受信ノード、または更に下流ノードに対して送
信する中継ノードでもある。In short, this system relays stream data from an upstream node to a downstream node, so that stream data can be delivered to a large number of user terminals without requiring a high-performance delivery server. A distributed distribution function is realized. Here, the upstream node is an upstream node with respect to its own node and is a source node or a relay node of stream data. The downstream node is a node to which stream data is transmitted with respect to the own node. The downstream node is a receiving node that receives the stream data, or a relay node that further transmits the stream data to the downstream node.
【0021】図2は、本システムの具体的構成の一例を
示すブロック図である。FIG. 2 is a block diagram showing an example of a concrete configuration of this system.
【0022】本システムの具体的想定としては、多数の
ユーザ端末であるノード10がインターネット20に接
続されて構築されたネットワークにおいて、ストリーム
データ分散配信系に参加した各ユーザ端末に対してスト
リームデータが配信される構成である。各ノード10
は、例えばADSL伝送方式やCATVネットワークを
使用して、常時接続型の高速回線によりインターネット
に接続される環境を想定している。As a concrete assumption of this system, stream data is sent to each user terminal participating in the stream data distributed distribution system in a network constructed by connecting a large number of user terminals, that is, nodes 10 to the Internet 20. It is a configuration to be delivered. Each node 10
Assumes an environment in which an ADSL transmission system or a CATV network is used to connect to the Internet by a constant connection type high-speed line.
【0023】あるノード10は、例えばパーソナルコン
ピュータ(PC)11と、ブロードバンド・ネットワー
ク接続インターフェース(BBNID)12とを有する
ユーザ端末である。BBNID(Broad-Band Network I
nterface Device)12は、具体的にはADSLモデム
またはケーブルモデム(CATVインターネット用モデ
ム)等と、ルータ機能とを一体化したネットワーク機器
である。これらのノード10は、インターネット20を
介して受信したストリームデータを、例えばPC11の
ディスプレイ上に再生し、かつ他の下流ノード10へ中
継する。A certain node 10 is a user terminal having, for example, a personal computer (PC) 11 and a broadband network connection interface (BBNID) 12. BBNID (Broad-Band Network I
The interface device 12 is a network device in which an ADSL modem, a cable modem (CATV Internet modem) or the like is integrated with a router function. These nodes 10 reproduce the stream data received via the Internet 20, for example, on the display of the PC 11 and relay it to another downstream node 10.
【0024】また、あるノード10は、例えばPC11
とディジタルビデオカメラ(DVC)13とを有する。
これらのノード10は上流ノードとして、DVC13に
より撮影した映像(音声を含む)からなるストリームデ
ータを、PC11にセットされたソフトウェア(同実施
形態のメイン構成要素)により送信するユーザ端末であ
る。A certain node 10 is, for example, a PC 11
And a digital video camera (DVC) 13.
These nodes 10 are upstream nodes, which are user terminals that transmit stream data composed of video (including audio) captured by the DVC 13 by software (main constituent element of the embodiment) set in the PC 11.
【0025】(ノードの構成)次に、図3を参照して、
同実施形態のユーザ端末であるノード10の構成を説明
する。(Node Configuration) Next, referring to FIG.
The configuration of the node 10 which is the user terminal of the embodiment will be described.
【0026】同実施形態のノード10は、例えばパーソ
ナルコンピュータと、当該コンピュータにセットされる
ソフトウェアと、各種デバイスとから構成される。図3
は、同実施形態のメイン構成要素であり、PC11内で
稼動する当該ソフトウェア構成を示すブロック図であ
る。The node 10 of the embodiment comprises, for example, a personal computer, software set in the computer, and various devices. Figure 3
[Fig. 3] is a block diagram showing a software configuration which is a main component of the embodiment and operates in the PC 11.
【0027】ストリームデータ分散配信システムを構成
する各ノード10は、全て同一のソフトウェア構成を有
し、ストリームデータの送信、受信、中継、再生の各機
能を実現する。以下、ソフトウェア構成の各要素につい
て具体的に説明する。なお、同実施形態のソフトウェア
構成は、特定のOS(operating system)には依存しな
い設計である。All the nodes 10 constituting the stream data distributed distribution system have the same software configuration and realize the functions of transmitting, receiving, relaying and reproducing stream data. Hereinafter, each element of the software configuration will be specifically described. The software configuration of the embodiment is designed to be independent of a specific OS (operating system).
【0028】本ソフトウェア構成は、トポロジエンジン
30と、ストリームエンジン31と、ストリームスイッ
チ部32と、ノード全体の操作環境を司るGUI(grap
hical user interface)33と、ストリーム再生部34
とからなる。This software configuration has a topology engine 30, a stream engine 31, a stream switch section 32, and a GUI (grap) that controls the operating environment of the entire node.
hical user interface) 33 and stream playback unit 34
Consists of.
【0029】トポロジエンジン30は、概略的にはメッ
セージ(制御情報)を交換することにより、各ノード1
0間のネットワーク接続関係(トポロジ:topology)を
構成する機能を実現する。具体的には、トポロジエンジ
ン30は、各ノード10間をTCP/IP(transmissi
on control protocol/internet protocol)で接続し
て、各種のメッセージを送受信する。さらに、トポロジ
エンジン30は、直接あるいは間接的に接続された近傍
のノードの存在を、メッセージの交換を通じて認識す
る。トポロジエンジン30は、当該近傍ノードの存在情
報及びストリームデータの受信状態から代替トポロジを
求めて、当該トポロジに従って一度構成した各ノード1
0間の接続関係を変更する。The topology engine 30 roughly exchanges messages (control information) so that each node 1
A function of forming a network connection relationship (topology) between 0s is realized. Specifically, the topology engine 30 performs TCP / IP (transmissi
on control protocol / internet protocol) to connect and receive various messages. Further, the topology engine 30 recognizes the existence of directly or indirectly connected nearby nodes through the exchange of messages. The topology engine 30 obtains an alternative topology from the existence information of the neighboring node and the reception state of the stream data, and each node 1 once configured according to the topology.
Change the connection relationship between 0s.
【0030】ストリームエンジン31は、ノード10間
でのストリームデータの送信、受信、中継の各機能を実
現するソフトウェアである。ストリームエンジン31
は、トポロジエンジン30から受け取ったトポロジ情報
(後述するトポロジ情報テーブル)に基づいて、隣接ノ
ードである下流ノード(単数又は複数)に向けてストリ
ームデータを送信する。また、隣接ノードである上流ノ
ード(単数又は複数)からストリームデータを受信す
る。The stream engine 31 is software that realizes the functions of transmitting, receiving, and relaying stream data between the nodes 10. Stream engine 31
Based on the topology information (topology information table described later) received from the topology engine 30 transmits the stream data to the downstream node (single or plural) that is the adjacent node. Also, the stream data is received from the upstream node (single or plural) that is the adjacent node.
【0031】ここで、隣接ノードとは、自ノードと直接
的に接続している上流又は下流のノードを意味する。ま
た、近傍ノードとは、自ノードと間接的に接続している
上流又は下流のノードを意味する。トポロジ情報(トポ
ロジ情報テーブル)は、各ノード間の論理的な接続関係
を示す情報(上流/下流及び隣接/近傍を識別する情
報)、及び当該接続関係が形成された隣接または近傍の
ノードを特定する情報(ネットワークアドレスなど)を
含む(図15を参照)。Here, the adjacent node means an upstream or downstream node directly connected to the own node. In addition, the neighboring node means an upstream or downstream node that is indirectly connected to the own node. The topology information (topology information table) specifies information indicating the logical connection relationship between each node (information identifying upstream / downstream and adjacent / neighborhood), and the adjacent or nearby node in which the connection relationship is formed. Information (network address etc.) to be included (see FIG. 15).
【0032】ストリームエンジン31は、ストリームデ
ータ送受信用のTCP/IP接続を確立し、各ノード間
でストリームデータの送受信を実行する。ストリームエ
ンジン31は、ストリームデータのデータ形式(符号化
方式)に依存しない汎用的配送機能を有し、例えばMP
EG規格等の各種のデータ形式に適用できる構成であ
る。The stream engine 31 establishes a TCP / IP connection for transmitting / receiving stream data and executes transmission / reception of stream data between each node. The stream engine 31 has a general-purpose delivery function that does not depend on the data format (encoding method) of stream data, and, for example, MP
This is a configuration applicable to various data formats such as the EG standard.
【0033】ストリームスイッチ部32は、ストリーム
エンジン31と他の機能、デバイス、ファイルとの連携
機能を実現するためのソフトウェアである。ストリーム
スイッチ部32は主機能として、ストリーム再生部34
を起動し、ストリームエンジン31から取り出したスト
リームデータを渡す。ストリーム再生部34は、ストリ
ームデータから出力用の映像や音声を復号化して、再生
するためのソフトウェアである。更に、ストリームスイ
ッチ部32は、ローカル装置である例えばデジタルビデ
オカメラ(DVC)13や、ローカルファイル装置36
からストリームデータを取り出し、ストリームエンジン
31に渡すことにより他のノードに送信する機能を実現
する。The stream switch section 32 is software for realizing the function of linking the stream engine 31 with other functions, devices, and files. The stream switch unit 32 has a main function as a stream reproducing unit 34.
Is started, and the stream data extracted from the stream engine 31 is passed. The stream reproduction unit 34 is software for decoding output video and audio from stream data and reproducing the decoded video and audio. Further, the stream switch unit 32 is a local device such as a digital video camera (DVC) 13 or a local file device 36.
The function of transmitting the stream data to another node by extracting the stream data from the stream data and passing it to the stream engine 31 is realized.
【0034】GUI33は、トポロジエンジン30、ス
トリームエンジン31、ストリームデータスイッチ部3
2のそれぞれと、ユーザとのインターフェースを提供す
る。具体的には、GUI33は、ディスプレイの画面上
に、隣接または近傍ノード間のトポロジ(接続関係)を
可視的に表示したり、ストリームエンジン31の通信デ
ータ量を可視的に表示する。また、GUI33は、ユー
ザからのコマンド入力に応じて、他ノードへの明示的接
続要求や、自ノードの接続鍵の設定を行なう。接続鍵と
は、トポロジエンジン30に含まれるノード間の接続に
関する認証機能で使用される鍵データである。The GUI 33 includes a topology engine 30, a stream engine 31, and a stream data switch section 3.
It provides an interface between each of the two and the user. Specifically, the GUI 33 visually displays the topology (connection relationship) between adjacent or neighboring nodes or the communication data amount of the stream engine 31 visually on the screen of the display. Further, the GUI 33 makes an explicit connection request to another node or sets a connection key of its own node in response to a command input from the user. The connection key is key data used in the authentication function regarding the connection between the nodes included in the topology engine 30.
【0035】ここで、接続鍵(CK)と公開鍵(PK)
とを使用する認証機能を、具体的に説明する。あるノー
ドが配信元(配信サーバの役割)となる場合、後述する
ように、GUI33の公開鍵取得部336が接続鍵発行
サーバ71から公開鍵(PK)を取得し、これをトポロ
ジエンジン30の接続認証部307が受け取り記憶する
(図4及び図7を参照)。接続認証部307は、接続要
求受理部306からの認証要求(接続鍵CKを含む)に
応じて、当該公開鍵(PK)を使用して接続鍵(CK)
を復号して認証する。Here, the connection key (CK) and public key (PK)
The authentication function using and will be specifically described. When a node serves as a distribution source (role of distribution server), the public key acquisition unit 336 of the GUI 33 acquires the public key (PK) from the connection key issuing server 71 and connects it to the topology engine 30 as described later. The authentication unit 307 receives and stores the data (see FIGS. 4 and 7). The connection authentication unit 307 uses the public key (PK) in response to the authentication request (including the connection key CK) from the connection request reception unit 306, and then the connection key (CK).
To decrypt and authenticate.
【0036】これに対して、視聴参加するノードは、G
UI33の接続鍵取得部334が接続鍵発行サーバ71
から接続鍵(CK)を取得し、これをトポロジエンジン
30の接続認証部307が受け取り記憶する。また、上
流ノードへの接続要求の際には、トポロジエンジン30
の接続要求部305は、接続認証部307から接続鍵
(CK)を受け取り、上流ノードへ接続要求を実行す
る。On the other hand, the node that participates in viewing and listening is G
The connection key acquisition unit 334 of the UI 33 makes the connection key issuing server 71
The connection key (CK) is obtained from the connection authentication unit 307, and the connection authentication unit 307 of the topology engine 30 receives and stores it. In addition, when the connection request to the upstream node is made, the topology engine 30
The connection request unit 305 receives the connection key (CK) from the connection authentication unit 307 and makes a connection request to the upstream node.
【0037】更に、図4から図7を参照して、ノード1
0の各ソフトウェア構成を具体的に説明する。Further, referring to FIGS. 4 to 7, the node 1
Each software configuration of 0 will be specifically described.
【0038】(トポロジエンジン)トポロジエンジン3
0は、図4に示すように、トポロジ管理部300、トポ
ロジテーブル301、負荷状態監視部302、制御デー
タ通信部303,304、接続要求部305、接続要求
受理部306、及び接続認証部307の各機能要素部を
有する。(Topology Engine) Topology Engine 3
As shown in FIG. 4, 0 indicates the topology management unit 300, the topology table 301, the load state monitoring unit 302, the control data communication units 303 and 304, the connection requesting unit 305, the connection request receiving unit 306, and the connection authentication unit 307. It has each functional element part.
【0039】トポロジ管理部300は、直接接続してい
る上流ノードから受信したトポロジ情報(TI)に基づ
いて、隣接ノード群又は近傍ノード群の存在と、それら
ノード間の接続関係(トポロジ)を認識する。また、ト
ポロジ管理部300は、当該トポロジ情報(TI)のテ
ーブル形式にしたトポロジ情報テーブルをトポロジテー
ブル301に記憶する(以下TIを情報テーブルと表記
する場合がある)。トポロジ管理部300は、ノード間
のトポロジの変化に応じて、トポロジテーブル301に
記憶した情報テーブル(TI)を更新する。The topology management unit 300 recognizes the existence of the adjacent node group or the neighboring node group and the connection relationship (topology) between these nodes based on the topology information (TI) received from the directly connected upstream node. To do. The topology management unit 300 also stores a topology information table in the form of a table of the topology information (TI) in the topology table 301 (hereinafter, TI may be referred to as an information table). The topology management unit 300 updates the information table (TI) stored in the topology table 301 according to the change in the topology between the nodes.
【0040】トポロジ管理部300は、直接接続してい
る隣接ノード、即ち上流ノード(通常では単数)及び下
流ノード(単数又は複数)のノード識別子(ネットワー
クアドレス)をストリームエンジン31に渡す。ストリ
ームエンジン31は、当該隣接ノードとの間にストリー
ムデータ送受信用のTCP/IP接続を確立する。ま
た、トポロジ管理部300は、トポロジテーブル301
に記憶された情報テーブル(TI)をGUI33に渡
す。GUI33は、当該情報テーブル(TI)に基づい
て、ノード間のトポロジを可視化して画面上に表示する
(図7を参照)。The topology management unit 300 passes to the stream engine 31 the node identifiers (network addresses) of the directly connected adjacent nodes, that is, the upstream node (normally one) and the downstream node (single or plural). The stream engine 31 establishes a TCP / IP connection for transmitting / receiving stream data with the adjacent node. In addition, the topology management unit 300 uses the topology table 301.
The information table (TI) stored in the GUI is passed to the GUI 33. The GUI 33 visualizes the topology between the nodes based on the information table (TI) and displays it on the screen (see FIG. 7).
【0041】ここで、トポロジ情報テーブル(TI)に
ついて、図14及び図15を参照して具体的に説明す
る。Here, the topology information table (TI) will be specifically described with reference to FIGS. 14 and 15.
【0042】図14は、各ノード10がネットワーク上
で接続されている接続関係(トポロジ)の一例を示す図
である。各ノード10は、例えばネットワークアドレス
に相当する識別子(node0〜node5)により特
定される。各ノード10は、基本的には、自ノードに対
して上流ノードからトポロジ情報(TI)を受け取り、
トポロジテーブル301として登録する。そして、各ノ
ード10は、下流ノードからの接続要求に応じて、当該
下流ノードとの接続関係を追加したトポロジ情報(T
I)を下流ノードに提供する。FIG. 14 is a diagram showing an example of a connection relationship (topology) in which each node 10 is connected on the network. Each node 10 is specified by an identifier (node0 to node5) corresponding to a network address, for example. Each node 10 basically receives topology information (TI) from its upstream node with respect to its own node,
Register as the topology table 301. Then, each node 10 responds to the connection request from the downstream node, and the topology information (T
I) is provided to the downstream node.
【0043】ここで、仮に、node0の上流ノード1
0は、下流ノード(node1,4)との接続関係を記
録したトポロジ情報(TI−0)を、当該下流ノード
(node1,4)に提供する。このトポロジ情報(T
I−0)は、図15(A)に示すように、接続関係にあ
るノード識別子(node0,1,4)と、隣接ノード
(直接的に接続したノード)である上流ノードの識別子
(node0のみ)とが対応付けされた情報テーブルで
ある。なお、下流ノードの各識別子(node1,4)
に対しては、下流ノードであることを示すフラグ情報を
付加してもよい。即ち、自ノード(node0)は、当
該フラグ情報により、トポロジ情報(TI−0)に登録
された識別子(node1,4)を隣接ノードである下
流ノードとして認識できる。Here, it is assumed that the upstream node 1 of node0
0 provides the downstream node (node1, 4) with the topology information (TI-0) recording the connection relationship with the downstream node (node1, 4). This topology information (T
I-0) is, as shown in FIG. 15A, a node identifier (node0, 1, 4) having a connection relationship and an identifier (only node0) of an upstream node which is an adjacent node (a node directly connected). ) Is associated with the information table. In addition, each identifier of the downstream node (node1, 4)
May be added with flag information indicating that the node is a downstream node. That is, the own node (node0) can recognize the identifier (node1, 4) registered in the topology information (TI-0) as a downstream node that is an adjacent node, based on the flag information.
【0044】下流ノード(node1)は、図14に示
すように、自ノードが上流ノードとして下流ノード(n
ode2,3)との接続関係を確立していると想定す
る。この場合、下流ノード(node1)は、上流ノー
ド(node0)から提供されたトポロジ情報(TI−
0)に、当該接続関係を追加したトポロジ情報(TI−
1)を生成して、下流ノード(node2,3)に提供
する(図15(B)を参照)。このトポロジ情報(TI
−1)においても、同様に、下流ノードの各識別子(n
ode2,3)に対しては、下流ノードであることを示
すフラグ情報を付加してもよい。As shown in FIG. 14, the downstream node (node1) has its own node serving as the upstream node and the downstream node (node1).
It is assumed that a connection relationship with odes 2 and 3) has been established. In this case, the downstream node (node1) has the topology information (TI-) provided by the upstream node (node0).
0), the topology information (TI-
1) is generated and provided to the downstream nodes (node2, 3) (see FIG. 15B). This topology information (TI
Similarly, in -1), each identifier (n
Flag information indicating that the node is a downstream node may be added to nodes 2 and 3).
【0045】ここで、下流ノード(node2)は、提
供されたトポロジ情報(TI−1)から、接続関係
(1)〜(3)を認識することができる。即ち、接続関
係(1)として、自ノード以外に、上流ノード(nod
e1)に対する隣接ノードとして、下流ノード(nod
e3)の存在を認識できる。接続関係(2)として、自
ノードの上流ノード(node1)に対して、更に上流
となるノード(node0)の存在を認識できる。接続
関係(3)として、上流ノード(node0)の下流ノ
ード(node4)の存在を認識できる。これら間接的
に接続されたノードnode0、node3,node
4は、自ノード(node2)にとっての近傍ノードで
ある。Here, the downstream node (node2) can recognize the connection relationships (1) to (3) from the provided topology information (TI-1). That is, as the connection relationship (1), in addition to the own node, the upstream node (node
e1) as an adjacent node to the downstream node (node
The existence of e3) can be recognized. As the connection relationship (2), it is possible to recognize the existence of the node (node0) that is further upstream with respect to the upstream node (node1) of the own node. As the connection relation (3), the existence of the downstream node (node4) of the upstream node (node0) can be recognized. These indirectly connected nodes node0, node3, and node
Reference numeral 4 is a neighbor node for the own node (node2).
【0046】同様に、下流ノード(node3)は、提
供されたトポロジ情報(TI−1)から、接続関係
(1)〜(3)を認識することができる。即ち、接続関
係(1)として、自ノード以外に、上流ノード(nod
e1)に対する隣接ノードとして、下流ノード(nod
e2)の存在を認識できる。接続関係(2)として、自
ノードの上流ノード(node1)に対して、更に上流
となるノード(node0)の存在を認識できる。接続
関係(3)として、上流ノード(node0)の下流ノ
ード(node4)の存在を認識できる。Similarly, the downstream node (node3) can recognize the connection relationships (1) to (3) from the provided topology information (TI-1). That is, as the connection relationship (1), in addition to the own node, the upstream node (node
e1) as an adjacent node to the downstream node (node
The existence of e2) can be recognized. As the connection relationship (2), it is possible to recognize the existence of the node (node0) that is further upstream with respect to the upstream node (node1) of the own node. As the connection relation (3), the existence of the downstream node (node4) of the upstream node (node0) can be recognized.
【0047】一方、下流ノード(node4)は、図1
4に示すように、自ノードが上流ノードとして下流ノー
ド(node5)との接続関係を確立していると想定す
る。この場合、下流ノード(node4)は、提供され
たトポロジ情報(TI−0)に、当該接続関係を追加し
たトポロジ情報(TI−4)を生成して、下流ノード
(node5)に提供する(図15(C)を参照)。こ
のトポロジ情報(TI−4)においても、同様に、下流
ノードの識別子(node5)に対しては、下流ノード
であることを示すフラグ情報を付加してもよい。On the other hand, the downstream node (node4) is shown in FIG.
As shown in FIG. 4, it is assumed that the own node has established a connection relationship with the downstream node (node5) as an upstream node. In this case, the downstream node (node4) generates topology information (TI-4) in which the connection relationship is added to the provided topology information (TI-0) and provides it to the downstream node (node5) (Fig. 15 (C)). Also in this topology information (TI-4), similarly, flag information indicating that the node is a downstream node may be added to the identifier (node5) of the downstream node.
【0048】以上要するに、各ノードは、基本的に上流
から下流へ提供されるトポロジ情報(TI)をトポロジ
テーブル301として管理(登録、更新、提供等)する
ことにより、隣接ノード及び近傍ノードの存在を認識す
ることができる。隣接ノードとは、前述したように、自
ノードと直接的に接続する上流ノード又は下流ノードで
ある。近傍ノードとは、自ノードと間接的に接続された
ノードである(必ずしも自ノードより上流又は下流の関
係とは限らない)。In summary, each node basically manages (registers, updates, provides, etc.) the topology information (TI) provided from upstream to downstream as the topology table 301, so that the existence of adjacent nodes and neighboring nodes Can be recognized. As described above, the adjacent node is an upstream node or a downstream node that is directly connected to the own node. The neighboring node is a node indirectly connected to the own node (not necessarily a relationship upstream or downstream of the own node).
【0049】なお、トポロジ情報(TI)は、下流に行
くほど情報量が増大することになる。このため、予め情
報量の上限値を設定し、当該上限値を超えた場合には、
トポロジ管理部300は、自ノードから最も遠い関係に
あるノードの情報(識別子等)を削除するような構成が
望ましい。The amount of topology information (TI) increases as it goes downstream. Therefore, if the upper limit value of the information amount is set in advance and the upper limit value is exceeded,
The topology management unit 300 preferably has a configuration that deletes the information (identifier, etc.) of the node that is in the farthest relationship with its own node.
【0050】負荷状態監視部302は、図4に示すよう
に、後述するストリームエンジン31のストリームデー
タバッファ(FIFO式バッファ)の格納状態(SB)
を監視し、これによりストリームエンジン31の負荷状
態を判断する。負荷状態監視部302は、ストリームエ
ンジン31の負荷状態が許容範囲を超える場合には、ト
ポロジ管理部300に対して下流ノードの切断を指示す
る。なお、後述するように、ストリームエンジン31の
ストリームデータバッファの格納状態(SB)は、GU
I33に対しても通知される。As shown in FIG. 4, the load state monitoring unit 302 stores the storage state (SB) of the stream data buffer (FIFO type buffer) of the stream engine 31 described later.
Is monitored, and the load state of the stream engine 31 is determined by this. When the load status of the stream engine 31 exceeds the allowable range, the load status monitoring unit 302 instructs the topology management unit 300 to disconnect the downstream node. As will be described later, the storage state (SB) of the stream data buffer of the stream engine 31 is GU.
I33 is also notified.
【0051】制御データ通信部303は、接続要求部3
05からの指示に応じて、上流ノード10Aとの制御デ
ータ通信チャネルを確立する。上流ノード10Aは、自
ノード10からはストリームデータの送信元ノードに相
当する。制御データ通信部303は、トポロジ情報(T
I)を上流ノード10Aから受信する。また、制御デー
タ通信部303は、上流ノード10Aを別のノードに切
替える場合に、制御データ通信チャネルの切断を行な
う。The control data communication unit 303 has a connection request unit 3
According to the instruction from 05, the control data communication channel with the upstream node 10A is established. The upstream node 10A corresponds to the source node of the stream data from the own node 10. The control data communication unit 303 uses the topology information (T
I) is received from the upstream node 10A. Further, the control data communication unit 303 disconnects the control data communication channel when switching the upstream node 10A to another node.
【0052】制御データ通信部304は、接続要求受理
部306からの指示に応じて、下流ノード10Bとの制
御データ通信チャネルを確立する。下流ノード10B
は、自ノードから送信するストリームデータの送信先ノ
ードに相当する。制御データ通信部304は、トポロジ
情報(TI)を下流ノード10Bへ送信する。また、制
御データ通信部304は、下流ノード10Bが上流ノー
ドを自ノードから別ノードへ切替えるときに、制御デー
タ通信チャネルの切断を行なう。The control data communication section 304 establishes a control data communication channel with the downstream node 10B in response to an instruction from the connection request receiving section 306. Downstream node 10B
Corresponds to the destination node of the stream data transmitted from its own node. The control data communication unit 304 transmits the topology information (TI) to the downstream node 10B. The control data communication unit 304 disconnects the control data communication channel when the downstream node 10B switches the upstream node from its own node to another node.
【0053】接続要求部305は、GUI33からの上
流ノードの指定(CR)に応じて、上流ノード10Aに
対する接続要求を行なう。さらに、接続要求部305
は、接続要求を送信した上流ノード10Aからの接続受
理通知に応じて、制御データ通信部303に対して接続
を指示する。このとき、トポロジ管理部300に対し
て、制御データ通信チャネルが確立された上流ノード1
0Aのネットワークアドレスの登録を指示する。接続要
求部305は、接続要求に伴なって、接続対象の上流ノ
ード10Aとの間で接続認証処理に必要な接続鍵データ
(CK)と公開鍵データ(PK)の交換を行なう。The connection request unit 305 issues a connection request to the upstream node 10A in accordance with the designation (CR) of the upstream node from the GUI 33. Furthermore, the connection request unit 305
Instructs the control data communication unit 303 to connect in response to the connection acceptance notification from the upstream node 10A that transmitted the connection request. At this time, with respect to the topology management unit 300, the upstream node 1 with which the control data communication channel is established
Instruct to register the 0A network address. The connection request unit 305 exchanges the connection key data (CK) and the public key data (PK) necessary for the connection authentication process with the upstream node 10A to be connected in response to the connection request.
【0054】接続要求受理部306は、下流ノード10
Bからの接続要求に応じて、接続認証部307により認
証された場合に接続受理を行なう。接続要求受理部30
6は、接続受理に応じて制御データ通信部304に対し
て接続を指示すると共に、トポロジ管理部300に対し
て、制御データ通信チャネルが確立された下流ノード1
0Bのネットワークアドレスの登録を指示する。接続要
求受理部306は、接続受理に伴なって、接続対象の下
流ノード10Bとの間で接続認証処理に必要な接続鍵デ
ータ(CK)と公開鍵データ(PK)の交換を行なう。
なお、接続認証処理手順については、後述する。The connection request acceptance unit 306 determines that the downstream node 10
When the connection authentication unit 307 authenticates the connection request from B, the connection is accepted. Connection request acceptance unit 30
Reference numeral 6 indicates a connection to the control data communication unit 304 in response to acceptance of the connection, and the downstream node 1 which has established a control data communication channel to the topology management unit 300.
Instruct to register the 0B network address. The connection request receiving unit 306 exchanges the connection key data (CK) and the public key data (PK) necessary for the connection authentication process with the downstream node 10B to be connected with the connection reception.
The connection authentication processing procedure will be described later.
【0055】接続認証部307は、接続要求部305及
び接続受理部306による他のノード(上流ノードと下
流ノード)との接続に必要な接続認証処理を実行する。
接続認証部307は、公開鍵暗号方式を利用した認証処
理を実行し、認証チケットに相当する接続鍵データ(C
K)と公開鍵データ(PK)をGUI33から受け取
る。また、接続認証部307は、接続要求部305及び
接続要求受理部306のそれぞれとの間で、接続鍵デー
タ(CK)と公開鍵データ(PK)の交換を実行する。The connection authentication unit 307 executes the connection authentication processing required by the connection request unit 305 and the connection acceptance unit 306 to connect to other nodes (upstream node and downstream node).
The connection authentication unit 307 executes the authentication process using the public key cryptosystem, and the connection key data (C
K) and public key data (PK) are received from the GUI 33. Further, the connection authentication unit 307 exchanges the connection key data (CK) and the public key data (PK) with the connection request unit 305 and the connection request reception unit 306, respectively.
【0056】ここで、前述したように、あるノードが配
信元(配信サーバの役割)となる場合、GUI33の公
開鍵取得部336が接続鍵発行サーバ71から公開鍵デ
ータ(PK)を取得し、これをトポロジエンジン30の
接続認証部307が受け取り記憶する。接続認証部30
7は、接続要求受理部306からの認証要求(接続鍵デ
ータCKを含む)に応じて、当該公開鍵データ(PK)
を使用して接続鍵データ(CK)を復号して認証する。
また、視聴参加するノードは、GUI33の接続鍵取得
部334が接続鍵発行サーバ71から接続鍵データ(C
K)を取得し、これをトポロジエンジン30の接続認証
部307が受け取り記憶する。また、上流ノードへの接
続要求の際には、トポロジエンジン30の接続要求部3
05は、接続認証部307から接続鍵データ(CK)を
受け取り、上流ノードへ接続要求を実行する。Here, as described above, when a node serves as a distribution source (role of distribution server), the public key acquisition unit 336 of the GUI 33 acquires public key data (PK) from the connection key issuing server 71, The connection authentication unit 307 of the topology engine 30 receives this and stores it. Connection authentication unit 30
Reference numeral 7 denotes the public key data (PK) in response to the authentication request (including the connection key data CK) from the connection request receiving unit 306.
To decrypt and authenticate the connection key data (CK).
In the nodes participating in the viewing, the connection key acquisition unit 334 of the GUI 33 causes the connection key issuing server 71 to access the connection key data (C
K) is acquired, and the connection authentication unit 307 of the topology engine 30 receives and stores this. When requesting a connection to an upstream node, the connection request unit 3 of the topology engine 30
05 receives the connection key data (CK) from the connection authentication unit 307 and executes a connection request to the upstream node.
【0057】(ストリームエンジン)ストリームエンジ
ン31は、図5に示すように、ストリームデータ送信部
311、ストリームデータ受信部312、ストリームデ
ータバッファ313、ストリームデータバッファ状態監
視部314、及びストリームデータ通信接続管理部31
5の各機能要素部を有する。(Stream Engine) As shown in FIG. 5, the stream engine 31 includes a stream data transmission unit 311, a stream data reception unit 312, a stream data buffer 313, a stream data buffer state monitoring unit 314, and a stream data communication connection management. Part 31
It has 5 functional element parts.
【0058】ストリームデータ送信部311は、ストリ
ームデータバッファ313に格納されたストリームデー
タを下流ノードに送信する(中継する)。このとき、ス
トリームデータ送信部311は、ストリームデータ通信
接続管理部315から接続許可の指示がなされた下流ノ
ードに対してストリームデータを送信する。The stream data transmitter 311 transmits (relays) the stream data stored in the stream data buffer 313 to the downstream node. At this time, the stream data transmission unit 311 transmits the stream data to the downstream node to which the connection permission instruction has been given from the stream data communication connection management unit 315.
【0059】ストリームデータバッファ313は、スト
リームデータ受信部312で受信された上流ノードから
のストリームデータ、または、ストリームスイッチ部3
2から受け取ったストリームデータを一時的に保存する
FIFO式バッファである。ストリームデータバッファ
状態監視部314は、ストリームデータバッファ313
の格納状態(SB)を常に監視し、トポロジエンジン3
0及びGUI33に通知する。ここで、格納状態(S
B)とは、バッファ313のサイズに対してストリーム
データが格納されているデータ量を意味する。The stream data buffer 313 receives the stream data from the upstream node received by the stream data receiving unit 312 or the stream switch unit 3
2 is a FIFO type buffer for temporarily storing the stream data received from 2. The stream data buffer status monitoring unit 314 uses the stream data buffer 313.
The storage state (SB) of the topology engine 3 is constantly monitored.
0 and the GUI 33 are notified. Here, the storage state (S
B) means the amount of data in which the stream data is stored with respect to the size of the buffer 313.
【0060】ストリームデータ受信部312は、ストリ
ームデータ通信接続管理部315から指定された上流ノ
ードとの間にストリームデータ通信チャネルを確立す
る。そして、当該上流ノードから送信されたストリーム
データを受信して、ストリームデータバッファ313に
書き込む。ストリームデータ通信接続管理部315は、
ストリームデータ通信チャネルによる接続関係を確立す
べき隣接ノードのリストをトポロジエンジン30から受
け付ける。The stream data reception unit 312 establishes a stream data communication channel with the upstream node designated by the stream data communication connection management unit 315. Then, the stream data transmitted from the upstream node is received and written in the stream data buffer 313. The stream data communication connection management unit 315
The topology engine 30 receives a list of adjacent nodes that should establish a connection relationship by the stream data communication channel.
【0061】(ストリームスイッチ部)ストリームデー
タスイッチ部32は、図6に示すように、GUI33か
らの指定(SW)に応じて、ストリームデータの入出力
を切替える。即ち、ストリームスイッチ部32は、スト
リームエンジン31から受け取ったストリームデータ
を、ストリームデータ再生部34またはノードのローカ
ルファイル装置60に転送する。また、ストリームスイ
ッチ部32は、ローカル装置であるデジタルビデオカメ
ラ(DVC)35や、エンコーダデバイス36からのス
トリームデータ又はローカルファイル装置60に格納し
ているストリームデータを読出して、ストリームエンジ
ン31に転送する。(Stream Switch Unit) As shown in FIG. 6, the stream data switch unit 32 switches input / output of stream data according to a designation (SW) from the GUI 33. That is, the stream switch unit 32 transfers the stream data received from the stream engine 31 to the stream data reproducing unit 34 or the local file device 60 of the node. The stream switch unit 32 also reads stream data from a digital video camera (DVC) 35, which is a local device, or an encoder device 36, or stream data stored in a local file device 60, and transfers the stream data to the stream engine 31. .
【0062】(GUI)GUI33は、図7に示すよう
に、ストリームデータ中継制御部331、中継状態(品
質)表示部332、トポロジ表示部333、接続鍵取得
部334、上流ノード決定部335、及び公開鍵取得部
336の各機能要素部を有する。GUI33は、表示装
置70の表示画面上のアイコンに対する操作に応じたコ
マンドを入力したり、当該表示画面上に各種の表示情報
を表示する。(GUI) The GUI 33 is, as shown in FIG. 7, a stream data relay control unit 331, a relay state (quality) display unit 332, a topology display unit 333, a connection key acquisition unit 334, an upstream node determination unit 335, and It has each functional element part of the public key acquisition part 336. The GUI 33 inputs a command corresponding to an operation on an icon on the display screen of the display device 70 and displays various display information on the display screen.
【0063】ストリームデータ中継制御部331は、ユ
ーザからのコマンド入力に応じて、ストリームデータ中
継の停止又は再開の指示(SC)をストリームエンジン
31に対して行なう。中継状態(品質)表示部332
は、ストリームエンジン31からストリームデータバッ
ファ313の格納状態(SB)を読取り、表示画面上に
表示させる処理を実行する。The stream data relay control unit 331 gives an instruction (SC) to the stream engine 31 to stop or restart the stream data relay in response to a command input from the user. Relay status (quality) display unit 332
Executes the process of reading the storage state (SB) of the stream data buffer 313 from the stream engine 31 and displaying it on the display screen.
【0064】トポロジ表示部333は、トポロジエンジ
ン30からのトポロジ情報(TI)を受け取り、隣接ノ
ード又は近傍ノードの接続関係を表示画面上に表示させ
る処理を実行する。接続鍵取得部334は、ユーザから
入力された接続鍵データ(CK)、または後述する接続
鍵発行サーバ71から発行された接続鍵データ(CK)
をトポロジエンジン30に渡す。上流ノードへの接続要
求の際には、トポロジエンジン30の接続要求部305
は、接続認証部307から接続鍵データ(CK)を受け
取り、上流ノードへ接続要求を実行する。The topology display unit 333 receives the topology information (TI) from the topology engine 30 and executes the processing of displaying the connection relation of the adjacent node or the neighboring node on the display screen. The connection key acquisition unit 334 receives the connection key data (CK) input by the user or the connection key data (CK) issued by the connection key issuing server 71 described later.
Is passed to the topology engine 30. When making a connection request to an upstream node, the connection request unit 305 of the topology engine 30
Receives the connection key data (CK) from the connection authentication unit 307 and makes a connection request to the upstream node.
【0065】GUI33の公開鍵取得部336は、ある
ノードが配信元(配信サーバの役割)となる場合、接続
鍵発行サーバ71から公開鍵データ(PK)を取得し、
トポロジエンジン30の接続認証部307に渡す。接続
認証部307は、接続要求受理部306からの認証要求
(接続鍵データCKを含む)に応じて、当該公開鍵デー
タ(PK)を使用して接続鍵データ(CK)を復号して
認証する。The public key acquisition unit 336 of the GUI 33 acquires public key data (PK) from the connection key issuing server 71 when a node serves as a distribution source (role of distribution server).
It is passed to the connection authentication unit 307 of the topology engine 30. The connection authentication unit 307 uses the public key data (PK) to decrypt and authenticate the connection key data (CK) in response to the authentication request (including the connection key data CK) from the connection request reception unit 306. .
【0066】上流ノード決定部335は、ユーザから指
定された上流ノード、または後述するノード仲介サーバ
72から仲介された上流ノードのネットワークアドレス
をトポロジエンジン30に渡す。The upstream node determination unit 335 passes to the topology engine 30 the network address of the upstream node designated by the user or the upstream node mediated by the node mediated server 72 described later.
【0067】(接続確立手順)以下図8を参照して、同
実施形態のノード間の接続処理の手順を説明する。(Connection Establishing Procedure) With reference to FIG. 8, the procedure of the connection processing between the nodes of the embodiment will be described below.
【0068】ノード間の接続処理は、図8(A)に示す
自ノードから見て下流ノードとの接続処理と、同図
(B)に示す自ノードから見て上流ノードとの接続処理
とに分けられる。要するに、自ノードは、相対的関係と
しての上流ノードまたは下流ノードとの接続処理を実行
する。The connection processing between the nodes includes the connection processing with the downstream node as seen from the own node shown in FIG. 8A and the connection processing with the upstream node as seen from the own node shown in FIG. 8B. Be divided. In short, the own node executes the connection process with the upstream node or the downstream node as a relative relationship.
【0069】まず、上流ノードとの接続処理では、自ノ
ードのトポロジエンジン30は、上流ノードに対して接
続要求メッセージを送信する(ステップS1)。具体的
には、図4に示す接続要求部305が、接続鍵データと
IDデータとを含む接続要求メッセージを送信する。I
Dデータは、例えばストリームデータ配信を行なう特定
のネットワークを構築する目的のグループID、または
ストリームデータのコンテンツ毎に設定されたコンテン
ツID等を含む。また、IDデータは、各ノードのハー
ドウェアを識別するためのIDデータ(例えばネットワ
ーク・インターフェースのMACアドレスや、マイクロ
プロセッサに埋め込まれたシリアル番号など)を含む。First, in the connection processing with the upstream node, the topology engine 30 of its own node transmits a connection request message to the upstream node (step S1). Specifically, the connection request unit 305 illustrated in FIG. 4 transmits a connection request message including connection key data and ID data. I
The D data includes, for example, a group ID for the purpose of constructing a specific network for delivering stream data, a content ID set for each content of stream data, or the like. The ID data also includes ID data for identifying the hardware of each node (for example, the MAC address of the network interface or the serial number embedded in the microprocessor).
【0070】自ノードは、上流ノードから接続要求に対
する回答(接続認証処理の結果)を受信するまで待機状
態となる(ステップS2)。そして、上流ノードから接
続許可のメッセージを受信すると、トポロジエンジン3
0は、当該上流ノードとの制御通信チャネルを確立し、
当該上流ノードをトポロジテーブル301に登録する
(ステップS4)。また、トポロジエンジン30は、上
流ノードから受信した接続許可のメッセージに含まれる
公開鍵データを記憶する。更に、トポロジエンジン30
は、接続した上流ノードをストリームエンジン31に登
録させる(ステップS5)。これにより、ストリームエ
ンジン31は、当該上流ノードとストリームデータ通信
チャネルを接続し、ストリームデータを受信可能な状態
となる。The self node is in a standby state until it receives a reply to the connection request (result of the connection authentication process) from the upstream node (step S2). When the connection permission message is received from the upstream node, the topology engine 3
0 establishes a control communication channel with the upstream node,
The upstream node is registered in the topology table 301 (step S4). The topology engine 30 also stores the public key data included in the connection permission message received from the upstream node. Furthermore, the topology engine 30
Causes the connected upstream node to be registered in the stream engine 31 (step S5). As a result, the stream engine 31 connects the upstream node and the stream data communication channel, and enters a state in which stream data can be received.
【0071】一方、自ノードは、上流ノードから接続拒
否のメッセージを受信すると、別の上流ノードとの接続
を試みる処理に移行できる(ステップS3のNO,S
6)。ここで、別の上流ノードとは、自ノードが要望す
るストリームデータの配信を受けるために必要な上流ノ
ードであり、ストリームデータ分散配信ネットワークを
構成する同一グループに所属するノードである(後述す
る)。On the other hand, when the self-node receives the connection refusal message from the upstream node, it can shift to the process of trying a connection with another upstream node (NO in step S3, S
6). Here, another upstream node is an upstream node required to receive distribution of stream data desired by the own node, and is a node belonging to the same group that constitutes the stream data distributed distribution network (described later). .
【0072】次に、下流ノードとの接続処理、即ち、自
ノードが相対的に上流ノードの場合の接続処理を、図8
(A)に示すフローチャートを参照して説明する。Next, the connection processing with the downstream node, that is, the connection processing when the own node is a relatively upstream node will be described with reference to FIG.
This will be described with reference to the flowchart shown in FIG.
【0073】自ノードは、下流ノードから接続鍵データ
を含む接続要求メッセージを受信すると、接続認証処理
を実行する(ステップS11,S12)。トポロジエン
ジン30の接続認証部307は、接続鍵を予め取得して
ある公開鍵データを用いて復号することにより接続認証
処理を実行し、認証できない場合には接続拒否メッセー
ジを下流ノードに返信する(ステップS13のNO,S
17)。Upon receiving the connection request message including the connection key data from the downstream node, the self node executes the connection authentication process (steps S11 and S12). The connection authentication unit 307 of the topology engine 30 executes the connection authentication process by decrypting the connection key using the public key data acquired in advance, and when the authentication cannot be performed, returns the connection refusal message to the downstream node ( NO in step S13, S
17).
【0074】一方、トポロジエンジン30は、認証成功
の場合には、既存の下流ノードへのストリームデータ中
継の品質が規定値以上であるか否かを判定し、判定結果
が規定値以下の場合には接続拒否メッセージを下流ノー
ドに返信する(ステップS114のNO,S17)。即
ち、新たな下流ノードを接続した結果、中継品質が規定
値以下になる場合には、自ノードは、下流ノードを増や
すことを防ぐため接続を拒否する。On the other hand, when the authentication is successful, the topology engine 30 determines whether or not the quality of stream data relay to the existing downstream node is equal to or higher than a specified value, and if the determination result is equal to or lower than the specified value. Returns a connection refusal message to the downstream node (NO in step S114, S17). That is, when the relay quality becomes equal to or lower than the specified value as a result of connecting a new downstream node, the own node rejects the connection in order to prevent the number of downstream nodes from increasing.
【0075】トポロジエンジン30は、最終的に接続を
許可する場合には、公開鍵データを含む接続許可メッセ
ージを下流ノードに返信する(ステップS14のYE
S,S15)。更に、トポロジエンジン30は、接続を
許可した下流ノードをトポロジテーブル301に登録す
ると共に、当該下流ノードをストリームエンジン31に
登録させる(ステップS16)。これにより、ストリー
ムエンジン31は、当該下流ノードとストリームデータ
通信チャネルを接続し、ストリームデータを送信可能な
状態となる。When finally permitting the connection, the topology engine 30 returns a connection permission message including the public key data to the downstream node (YE in step S14).
S, S15). Further, the topology engine 30 registers the downstream node, which is permitted to be connected, in the topology table 301 and also registers the downstream node in the stream engine 31 (step S16). As a result, the stream engine 31 connects the downstream node and the stream data communication channel, and enters a state in which stream data can be transmitted.
【0076】以上のような接続処理により、上流ノード
及び下流ノードの各ノード間の接続が確立されて、図1
に示すように、ストリームデータ分散配信系のネットワ
ークを構成することができる。By the connection processing as described above, the connection between the upstream node and the downstream node is established, and
As shown in, a network of stream data distributed distribution system can be configured.
【0077】(上流ノード取得手順)以下図9を参照し
て、自ノードがストリームデータ配信を受けるために、
即ちストリームデータ分散配信系に参加するために、新
規に上流ノードを取得するための手順を説明する。ここ
で、同図(A),(C)に示すステップS21からステ
ップS26は、各ノード側での処理手順を示す。また、
同図(B)に示すステップS31からステップS37
は、ノード仲介サーバ側での処理手順を示す。(Upstream node acquisition procedure) Referring to FIG. 9 below, in order for the own node to receive stream data distribution,
That is, a procedure for newly acquiring an upstream node in order to participate in the distributed stream data distribution system will be described. Here, steps S21 to S26 shown in FIGS. 7A and 7C show the processing procedure on the side of each node. Also,
Step S31 to step S37 shown in FIG.
Indicates a processing procedure on the node mediation server side.
【0078】ここでは、ノード仲介サーバ(図7のサー
バ72)の存在を想定し、このノード仲介サーバから上
流ノードの紹介を受ける構成を説明する。Here, assuming the existence of a node mediation server (server 72 in FIG. 7), a configuration for receiving an introduction of an upstream node from this node mediation server will be described.
【0079】ノード仲介サーバは、グループIDに対応
する、即ち一つのストリームデータ分散配信系に属する
複数のノードをノードデータベース720に登録してい
る。当然ながら、ノードデータベース720には、複数
のグループID(ストリームデータ分散配信系)につい
てそれぞれに属すノードを登録することができる。The node mediation server registers in the node database 720 a plurality of nodes corresponding to the group ID, that is, belonging to one stream data distributed distribution system. Of course, the node database 720 can register the nodes belonging to each of a plurality of group IDs (stream data distributed distribution system).
【0080】まず、自ノードは、上流ノード紹介要求メ
ッセージ(グループIDを含む)を、ノード仲介サーバ
に送信する(ステップS21)。ノード仲介サーバは、
当該メッセージを受信すると、ノードデータベース72
0から当該ストリームデータ分散配信系に属すノードを
検索する(ステップS31,S32)。そして、ノード
仲介サーバは、検索したノードのネットワークアドレス
を含む応答メッセージを返信する(ステップS33)。First, the self node transmits an upstream node introduction request message (including a group ID) to the node mediation server (step S21). The node mediation server is
When the message is received, the node database 72
A node belonging to the stream data distributed distribution system is searched from 0 (steps S31 and S32). Then, the node mediation server returns a response message including the network address of the searched node (step S33).
【0081】自ノードは、応答メッセージから紹介され
た上流ノードのネットワークアドレスを取得し、当該上
流ノードとの接続処理に移行する(ステップS22,S
23)。ステップS23は、図8のステップS1から開
始される処理ステップである。この接続処理では、前述
したように、紹介された上流ノードは、接続認証処理を
実行して、最終的に接続許可又は接続拒否の判定を実行
する。自ノードは、上流ノードとの接続が完了しない場
合には、再度、ノード仲介サーバに対して紹介要求メッ
セージを送信する(ステップS24のNO,S21)。The self node acquires the network address of the upstream node introduced from the response message and shifts to the connection processing with the upstream node (steps S22, S).
23). Step S23 is a processing step started from step S1 of FIG. In this connection process, as described above, the introduced upstream node executes the connection authentication process, and finally executes the connection permission or connection refusal determination. When the connection with the upstream node is not completed, the own node transmits the introduction request message to the node mediation server again (NO in step S24, S21).
【0082】上流ノードとの接続が完了すると、ノード
仲介サーバに接続完了メッセージを送信する(ステップ
S24のYES,S25)。ノード仲介サーバは、当該
メッセージを受信すると、ノードデータベース720に
当該自ノードを登録する(ステップS34,S35)。
一方で、ノード仲介サーバは、自ノードからストリーム
データ分散配信系ネットワークからの離脱を示すノード
離脱メッセージを受信すると、ノードデータベース72
0から当該自ノードの登録を削除する(ステップSS2
6,S36,S37)。When the connection with the upstream node is completed, a connection completion message is sent to the node mediation server (YES in step S24, S25). Upon receiving the message, the node mediation server registers the own node in the node database 720 (steps S34 and S35).
On the other hand, when the node intermediation server receives a node leave message indicating the departure from the stream data distributed delivery system network from its own node, the node database 72
The registration of the own node is deleted from 0 (step SS2).
6, S36, S37).
【0083】以上のような処理により、ストリームデー
タ分散配信系のネットワークに参加を希望するユーザ
は、ストリームデータを中継してくれる上流ノードに接
続することができる。なお、ノード仲介サーバを介在さ
せることなく、別の方法で上流ノードのネットワークア
ドレスを取得できれば、当該上流ノードへの接続は可能
である。By the above processing, a user who wants to participate in the stream data distributed distribution network can connect to an upstream node that relays stream data. If the network address of the upstream node can be obtained by another method without interposing the node mediation server, connection to the upstream node is possible.
【0084】(トポロジ変更手順)以下図10を参照し
て、各ノード間を接続して構成されたストリームデータ
分散配信系ネットワークの接続関係であるトポロジを変
更する場合の手順を説明する。(Topology changing procedure) With reference to FIG. 10, a procedure for changing the topology, which is the connection relationship of the stream data distributed distribution network constituted by connecting the respective nodes, will be described below.
【0085】ここでは、図10(A)に示すように、相
対的に下流側のノード(1)、ノード(2)、及び上流
側のノード(3)が接続された状態のトポロジを想定す
る。ノード(2)は、同図(B)に示すように、トポロ
ジ変更処理として、ノード(1)に対する上流ノードの
変更処理を実行する。即ち、ノード(2)は、代替上流
ノード(3)の指定を含む上流ノード変更メッセージ
を、下流ノード(1)に送信する(ステップS41)。Here, as shown in FIG. 10A, a topology in which a relatively downstream node (1), a node (2), and an upstream node (3) are connected is assumed. . As shown in FIG. 2B, the node (2) executes the upstream node changing process for the node (1) as the topology changing process. That is, the node (2) transmits the upstream node change message including the designation of the alternative upstream node (3) to the downstream node (1) (step S41).
【0086】下流ノード(1)は、同図(C)に示すよ
うに、上流ノード(2)から上流ノード変更メッセージ
を受信すると、指定された代替上流ノード(3)に対す
る接続処理を実行する(ステップS45,S46)。接
続処理では、下流ノード(1)は、代替上流ノード
(3)に対して接続要求メッセージを送信する。代替上
流ノード(3)は、同図(D)に示すように、受信した
接続要求メッセージに基づいて、下流ノード(1)との
接続処理を実行する(ステップS50)。そして、代替
上流ノード(3)は、接続許可メッセージまたは接続拒
否メッセージを下流ノード(1)に返信する。なお、ス
テップS46,S50は、図8のステップS1,S11
から開始される処理ステップに対応する。When the downstream node (1) receives the upstream node change message from the upstream node (2), the downstream node (1) executes a connection process to the designated alternative upstream node (3) ( Steps S45, S46). In the connection process, the downstream node (1) sends a connection request message to the alternative upstream node (3). The alternative upstream node (3) executes a connection process with the downstream node (1) based on the received connection request message, as shown in FIG. Then, the alternative upstream node (3) returns a connection permission message or a connection refusal message to the downstream node (1). Note that steps S46 and S50 are steps S1 and S11 of FIG.
Corresponding to the processing steps starting from.
【0087】下流ノード(1)は、代替上流ノード
(3)から接続許可メッセージを受信した場合に、上流
変更完了の通知を上流ノード(2)に送信する(ステッ
プS47)。下流ノード(1)は、上流ノード(2)と
の通信チャネル(制御データ通信チャネルとストリーム
データ通信チャネル)を切断し、トポロジテーブル30
1から上流ノード(2)の登録を削除する(ステップS
48,S49)。When the downstream node (1) receives the connection permission message from the alternative upstream node (3), it sends a notification of upstream change completion to the upstream node (2) (step S47). The downstream node (1) disconnects the communication channel (control data communication channel and stream data communication channel) with the upstream node (2), and the topology table 30
Delete the registration of the upstream node (2) from 1 (step S
48, S49).
【0088】一方、上流ノード(2)は、上流変更完了
の通知を受信すると、下流ノード(1)との通信チャネ
ル(制御データ通信チャネルとストリームデータ通信チ
ャネル)を切断し、トポロジテーブル301から下流ノ
ード(2)の登録を削除する(ステップS42,S4
3,S44)。On the other hand, when the upstream node (2) receives the notification of the completion of the upstream change, it disconnects the communication channel (control data communication channel and stream data communication channel) with the downstream node (1), and the downstream from the topology table 301. The registration of the node (2) is deleted (steps S42 and S4).
3, S44).
【0089】以上のような上流変更処理により、上流ノ
ードと下流ノードとの接続関係が変更されて、結果とし
て各ノード間の接続関係であるトポロジを変更できる。
このトポロジ変更機能は、例えばノード(2)がネット
ワークから離脱したり、新たにノード(3)が参加する
ような場合に有効である。即ち、下流ノード(1)は、
各ノードの状況に応じて動的かつ自律的に上流ノードを
変更できるため、ストリームデータを停止することなく
受信することができる。By the above-mentioned upstream change processing, the connection relation between the upstream node and the downstream node is changed, and as a result, the topology which is the connection relation between the respective nodes can be changed.
This topology changing function is effective, for example, when the node (2) leaves the network or when a new node (3) joins. That is, the downstream node (1)
Since the upstream node can be dynamically and autonomously changed according to the situation of each node, stream data can be received without stopping.
【0090】(接続切断手順)以下図11を参照して、
同実施形態のノード間の接続切断処理の手順を説明す
る。ここでは、下流ノードから上流ノードに対する接続
を切断する場合の手順を説明する。逆の場合も、基本的
には同様の手順となる。(Connection disconnection procedure) Referring to FIG. 11 below,
The procedure of the connection disconnection process between the nodes of the embodiment will be described. Here, the procedure for disconnecting the connection from the downstream node to the upstream node will be described. In the opposite case, the procedure is basically the same.
【0091】まず、下流ノードは、同図(A)に示すよ
うに、接続されている上流ノードに対して切断メッセー
ジを送信する(ステップS61)。上流ノードは、同図
(B)に示すように、切断メッセージを受信すると、下
流ノードに対して切断受理の通知を送信する(ステップ
S66,S67)。First, the downstream node transmits a disconnection message to the connected upstream node, as shown in FIG. 9A (step S61). When the upstream node receives the disconnection message, as shown in FIG. 7B, the upstream node transmits a disconnection acceptance notification to the downstream node (steps S66 and S67).
【0092】下流ノードは、上流ノードから切断受理の
通知を受信すると、当該上流ノードとの通信チャネル
(制御データ通信チャネルとストリームデータ通信チャ
ネル)を切断する(ステップS62,S63)。さら
に、下流ノードは、トポロジテーブル301から当該上
流ノードの登録を削除する(ステップS64)。Upon receiving the disconnection acceptance notification from the upstream node, the downstream node disconnects the communication channel (control data communication channel and stream data communication channel) with the upstream node (steps S62 and S63). Further, the downstream node deletes the registration of the upstream node from the topology table 301 (step S64).
【0093】一方、上流ノードは、下流ノードとの通信
チャネル(制御データ通信チャネルとストリームデータ
通信チャネル)を切断する(ステップS68)。さら
に、上流ノードは、トポロジテーブル301から下流ノ
ードの登録を削除する(ステップS69)。On the other hand, the upstream node disconnects the communication channel (control data communication channel and stream data communication channel) with the downstream node (step S68). Further, the upstream node deletes the registration of the downstream node from the topology table 301 (step S69).
【0094】以上のような接続切断処理により、各ノー
ドは、任意のタイミングで接続関係にあるノードとの接
続を切断できる。この接続切断処理により、各ノード間
のトポロジが変更となる。By the connection disconnection processing as described above, each node can disconnect the connection with the node having the connection relationship at an arbitrary timing. This disconnection process changes the topology between the nodes.
【0095】(下流ノードの処理手順)図12は、下流
ノード側の処理手順を整理して説明するためのフローチ
ャートである。(Processing Procedure of Downstream Node) FIG. 12 is a flow chart for organizing and explaining the processing procedure on the downstream node side.
【0096】まず、ユーザがストリームデータ分散配信
系ネットワークに参加する場合には、ユーザ端末が下流
ノードとして初期化処理を実行することになる(ステッ
プS70)。具体的には、前述したように、ノード仲介
サーバから上流ノードの紹介を受ける(ステップS8
0)。当該下流ノードは、紹介された上流ノードに対す
る接続要求を実行する(ステップS81)。上流ノード
から接続許可通知を受信した場合には、上流ノードとの
接続が完了となる(ステップS82のYES)。これに
より、下流ノードは、紹介された上流ノードからストリ
ームデータを受信することができる。First, when the user participates in the stream data distributed distribution network, the user terminal executes the initialization process as a downstream node (step S70). Specifically, as described above, the introduction of the upstream node is received from the node mediation server (step S8).
0). The downstream node executes a connection request to the introduced upstream node (step S81). When the connection permission notification is received from the upstream node, the connection with the upstream node is completed (YES in step S82). This allows the downstream node to receive the stream data from the introduced upstream node.
【0097】次に、接続されている上流ノードから上流
変更メッセージを受信すると(ステップS71)、下流
ノードは、当該メッセージに含まれる代替上流ノードに
対して、接続要求を行なう(ステップS81)。この接
続要求に対して、代替上流ノードから接続許可通知を受
信した場合には、上流ノードとの接続が完了となる(ス
テップS82のYES)。ここで、下流ノードは、紹介
された上流ノードまたは代替上流ノードから接続拒否通
知を受信した場合あるいは何ら応答が得られない場合に
は、ノード仲介サーバから新たな上流ノードの紹介を受
ける(ステップS82のNO(A),S80)。Next, when the upstream change message is received from the connected upstream node (step S71), the downstream node makes a connection request to the alternative upstream node included in the message (step S81). In response to this connection request, when the connection permission notification is received from the alternative upstream node, the connection with the upstream node is completed (YES in step S82). Here, the downstream node receives the introduction of the new upstream node from the node mediation server when the connection refusal notification is received from the introduced upstream node or the alternative upstream node or when no response is obtained (step S82). NO (A), S80).
【0098】一方、下流ノードは、接続している上流ノ
ードとの通信途絶(通信チャネルの切断も含む)を検出
した場合には(ステップS72)、トポロジテーブル3
01から別の上流ノードを選択する(ステップS8
3)。下流ノードは、選択した上流ノードに対する接続
要求を実行する(ステップS81)。上流ノードから接
続許可通知を受信した場合には、上流ノードとの接続が
完了となる(ステップS82のYES)。On the other hand, when the downstream node detects communication interruption (including disconnection of the communication channel) with the connected upstream node (step S72), the topology table 3
Select another upstream node from 01 (step S8)
3). The downstream node executes the connection request to the selected upstream node (step S81). When the connection permission notification is received from the upstream node, the connection with the upstream node is completed (YES in step S82).
【0099】選択した上流ノードから接続拒否通知を受
信した場合には、下流ノードは、トポロジテーブル30
1から全ての上流ノードの候補について、選択及び接続
要求を実行する(ステップS82のNO(B),S84
のNO)。全ての上流ノードの候補から接続拒否通知を
受信した場合には、下流ノードは、改めて、ノード仲介
サーバから新たな上流ノードの紹介を受ける(ステップ
S84のYES,S80)。When the connection refusal notification is received from the selected upstream node, the downstream node determines the topology table 30.
From 1 to all upstream node candidates, selection and connection requests are executed (NO (B), S84 in step S82).
NO). When the connection refusal notifications are received from all the upstream node candidates, the downstream node receives the introduction of a new upstream node from the node mediation server again (YES in step S84, S80).
【0100】また、下流ノードは、接続している上流ノ
ードからのストリームデータ中継の品質低下を検出した
場合には(ステップS73)、当該上流ノードとの接続
を切断し、トポロジテーブル301から別の上流ノード
を選択する処理に移行する(ステップS85,S8
3)。以後の処理については、前記の上流ノードとの通
信途絶の場合と同様である。Further, when the downstream node detects the deterioration of the quality of the stream data relay from the connected upstream node (step S73), it disconnects from the upstream node, and another topology table 301 is called. The process moves to the process of selecting the upstream node (steps S85, S8).
3). Subsequent processing is the same as in the case of the communication interruption with the upstream node.
【0101】(トポロジ情報の交換手順)図13は、各
ノード間でのトポロジ情報の交換手順を整理して説明す
るためのフローチャートである。(Topology Information Exchange Procedure) FIG. 13 is a flow chart for organizing and explaining the topology information exchange procedure between the nodes.
【0102】各ノードは、前述したように、トポロジエ
ンジン30において、トポロジ管理部300、トポロジ
テーブル301、及び制御データ通信部303,304
により、トポロジ情報テーブル(TI)を交換する。As described above, each node includes the topology management unit 300, the topology table 301, and the control data communication units 303 and 304 in the topology engine 30.
Exchange the topology information table (TI).
【0103】ここでは、上流ノードから下流ノードに対
して、トポロジ情報テーブル(TI)を送信する場合を
想定する。上流ノードは、接続した下流ノードに対し
て、自ノードと隣接ノードまたは近傍ノードとの接続関
係を示すトポロジ情報テーブルを送信する(ステップS
90)。下流ノードは、上流ノードからトポロジ情報テ
ーブルを受信すると、トポロジテーブル301に併合
(追加)処理して格納する(ステップS91,S9
2)。Here, it is assumed that the topology information table (TI) is transmitted from the upstream node to the downstream node. The upstream node transmits, to the connected downstream node, the topology information table indicating the connection relationship between the own node and the adjacent node or the neighboring node (step S).
90). Upon receiving the topology information table from the upstream node, the downstream node merges (adds) it to the topology table 301 and stores it (steps S91, S9).
2).
【0104】以上のように同実施形態によれば、特にブ
ロードバンドのインターネット等のネットワーク環境に
おいて、各ノードに設けられたトポロジエンジン30の
機能により、各ノード間を接続して、上流ノードと下流
ノードとから構成されるストリームデータ分散配信系ネ
ットワークを形成することができる。具体的には、図1
に示すように、例えば最上流のノード10(A)から送
信するストリームデータを、近傍の下流ノード10
(B)に配信する。当該下流ノード10(B)は、受信
したストリームデータを復号して再生すると同時に、上
流ノードとして、更に下流ノードに対して当該ストリー
ムデータを中継する。同様にして、各下流ノードは、受
信したストリームデータを復号再生すると同時に、上流
ノードとして、更に下流ノードに対して中継する。但
し、一般的には、各ノードは、ISP(インターネット
接続サービスプロバイダ)や通信事業者などを介して、
インターネットへの接続を行なうことになる。As described above, according to the embodiment, particularly in a network environment such as the broadband Internet, the function of the topology engine 30 provided in each node connects the nodes to each other, and the upstream node and the downstream node are connected. It is possible to form a stream data distributed distribution network composed of Specifically, FIG.
As shown in, the stream data transmitted from the most upstream node 10 (A) is transferred to the downstream node 10 in the vicinity.
Deliver to (B). The downstream node 10 (B) decodes and reproduces the received stream data, and at the same time, as the upstream node, relays the stream data to the downstream node. Similarly, each downstream node decodes and reproduces the received stream data and, at the same time, relays it to the downstream node as an upstream node. However, in general, each node uses an ISP (Internet connection service provider) or a communication carrier to
You will be connecting to the Internet.
【0105】従って、ストリームデータ配信用のサーバ
が存在しなくても、クライアント(ユーザ端末)のみか
ら構成されるストリームデータ配信系のネットワークを
実現できる。このような分散ネットワーク形成機能を利
用することにより、ストリームデータ配信用のサーバか
らストリームデータ配信を行なうネットワークの場合で
も、当該サーバの配信処理に要する負荷の軽減を図るこ
とができる。即ち、例えば放送事業者が運営するサーバ
から、各ユーザ端末にストリームデータを配信すると共
に、当該各ユーザ端末から他の各ユーザ端末に対して当
該ストリームデータを配信することができる。これによ
り、放送事業者が運営するサーバの負荷を、ストリーム
データ配信先のユーザ端末数に依存せずに低く抑えるこ
とができる。Therefore, even if there is no server for stream data distribution, it is possible to realize a stream data distribution network composed only of clients (user terminals). By using such a distributed network forming function, it is possible to reduce the load required for the distribution process of the server even in the case of the network in which the stream data distribution server distributes the stream data. That is, for example, the server operated by the broadcaster can deliver the stream data to each user terminal, and also deliver the stream data from each user terminal to each other user terminal. As a result, the load on the server operated by the broadcaster can be kept low without depending on the number of user terminals to which stream data is delivered.
【0106】また、いわゆる商業用ストリームデータ配
信系のネットワークではなく、ユーザが個人的な撮影映
像などを、インターネットに接続した関係者のみの各ノ
ードに対して配信するためのプライベートネットワーク
を構築することができる。このようなプライベートネッ
トワークを利用して、パーソナル放送とも言えるサービ
スが可能となる。Further, not a so-called commercial stream data distribution system network, but a private network for the user to distribute a personal photographed video or the like to each node of only the persons connected to the Internet. You can By using such a private network, it is possible to provide a service that can be called a personal broadcast.
【0107】なお、同実施形態では、ノード仲介サーバ
の存在を想定した場合について言及している。このノー
ド仲介サーバは、ストリームデータ配信用のサーバ、即
ち分散配信系の中央制御サーバとは全く異なるものであ
り、単に上流サーバとしての候補を紹介するだけの限定
された機能しか備えていないサーバである。従って、当
該サーバは、ネットワークを構成する全ノードを正確に
認識するようなデータベースを必要とせず、ネットワー
クに参加しているノードの中で未知のノードが存在して
いても差し支えない。また、ユーザが、ノード仲介サー
バからの紹介とは別の方法で、上流ノードを知っている
場合には、当然ながら、ノード仲介サーバは不要であ
る。要するに、同実施形態では、ノード仲介サーバの存
在は必須要件ではなく、実際上のサービス効率の観点か
らは望ましい存在である。In the embodiment, the case where the node mediation server is assumed to exist is mentioned. This node mediation server is completely different from the server for stream data distribution, that is, the central control server of the distributed distribution system, and is a server that has only a limited function of introducing candidates as upstream servers. is there. Therefore, the server does not need a database that correctly recognizes all the nodes configuring the network, and an unknown node may exist among the nodes participating in the network. Further, when the user knows the upstream node by a method other than the introduction from the node mediation server, the node mediation server is, of course, unnecessary. In short, in the embodiment, the existence of the node mediation server is not an essential requirement, but is desirable from the viewpoint of practical service efficiency.
【0108】(同実施形態に適用可能なビジネスモデル
または応用例)同実施形態のストリームデータ分散配信
系ネットワークを適用することにより、以下のようなビ
ジネスモデルまたは応用例を実現できる。(Business Model or Application Example Applicable to the Embodiment) By applying the stream data distributed delivery network of the embodiment, the following business model or application example can be realized.
【0109】(1)例えば結婚式の披露宴などで、ユー
ザが個人的に撮影した映像を、ストリームデータとして
各ユーザ(関係者のみ)に配信するパーソナル放送また
はコミュニティ放送とも呼べるシステムを実現できる。
この場合、ネットワークを構築する各ノードは、例えば
公開鍵方式による接続認証機能により特定されるユーザ
端末のみから構成される。(1) It is possible to realize a system which can be called a personal broadcast or a community broadcast in which a video personally photographed by a user at a wedding reception or the like is distributed as stream data to each user (only relevant persons).
In this case, each node constructing the network is composed only of user terminals specified by the connection authentication function by the public key method, for example.
【0110】(2)前記(1)の拡張系として、ビデオ
カメラを用意した複数のユーザが集まり、各ユーザ間で
同時に送受信することにより、ビデオ・チャット・サー
ビスを実現できる。(2) As an extension system of the above (1), a plurality of users who have prepared video cameras gather and send and receive at the same time among the users, so that the video chat service can be realized.
【0111】(3)ビデオカメラを備えたノードを、例
えば街頭など屋外の特定の場所や、ビル、コンサートホ
ール等に設置し、事件やイベントが発生した場合に、当
該ビデオカメラにより撮影した映像(音声付)を、予め
契約し、接続鍵の配布を受けた各ノードに対して中継す
るロケーション・サービスとも呼べるビジネスモデルを
実現できる。この場合、各ノードは、サービス事業会社
と契約することにより、当該会社が運営するネットワー
クに接続して、中継サービスを受けられる。具体的に
は、いわゆるインターネット・コンサートライブ放送を
容易に実現できる。(3) A node equipped with a video camera is installed at a specific outdoor place such as a street, a building, a concert hall, etc., and an image taken by the video camera when an incident or event occurs ( It is possible to realize a business model in which voice (with voice) can be called a location service in which a node is contracted in advance and relayed to each node to which a connection key is distributed. In this case, each node contracts with the service business company to connect to the network operated by the company and receive the relay service. Specifically, so-called internet concert live broadcasting can be easily realized.
【0112】(4)コンテンツの商用配信サービス系ネ
ットワークにおいて、事業者が運営するサーバから各ユ
ーザに対して、有料のコンテンツを配信する場合に、ユ
ーザが中継ノードを提供することにより、サーバ側の配
信負荷を軽減できる。この場合、中継ノードを提供した
ユーザに対して、当該コンテンツの視聴チケットに交換
できるポイントを提供するようなインセンティブを与え
ることにより、同実施形態のシステムを有効に利用する
ことができる。(4) Commercial distribution of contents In a service-related network, when a server operated by a business distributes paid contents to each user, the user provides a relay node so that the server side The distribution load can be reduced. In this case, the system of the embodiment can be effectively used by giving the user who has provided the relay node an incentive to provide points for exchanging the viewing ticket of the content.
【0113】(5)ノード間の制御データ通信チャネル
を利用して、下流ノードから上流ノードへの情報通信を
含め、各ノード間をピア・ツー・ピア(peer-to-peer)
通信で結ぶことによって、ストリーム配信と同時に様々
なコミュニケーション・サービスを実現することができ
る。例えば、下流から上流へと情報を集約することによ
り、配信コンテンツの人気投票サービス、クイズやアン
ケートに対するリアルタイム・サービスが可能となる。
この場合も、同時アクセスを処理する大規模なサーバが
不要になることがメリットである。また、下流ノード同
士でチャットなどのコミュニケーションをストリーム配
信と同時に実現できる。コンサート放送を見ながら、視
聴者同士がチャットし合うようなサービスを提供でき
る。(5) Peer-to-peer between nodes including information communication from a downstream node to an upstream node by using a control data communication channel between nodes
By connecting by communication, various communication services can be realized simultaneously with stream distribution. For example, by gathering information from the downstream side to the upstream side, it becomes possible to provide a popular voting service for distributed contents and a real-time service for quizzes and questionnaires.
In this case as well, it is an advantage that a large-scale server that processes simultaneous access is unnecessary. In addition, communication such as chat can be realized between downstream nodes simultaneously with stream distribution. It is possible to provide a service where viewers can chat while watching a concert broadcast.
【0114】[0114]
【発明の効果】以上詳述したように本発明によれば、イ
ンターネットなどのネットワーク環境において、特にユ
ーザ端末間での自律的又は個人的なストリームデータ配
信を実現できるストリームデータ分散配信技術を提供で
きる。具体的には、例えばブロードバンドのネットワー
ク環境を利用して、特別のストリームデータ配信用サー
バを用意することなく、クライアント(端末ノード)間
での動画・音声のストリームデータの分散配信を実現で
きる。As described above in detail, according to the present invention, in a network environment such as the Internet, it is possible to provide a stream data decentralized distribution technique capable of realizing autonomous or personal stream data distribution, especially between user terminals. . Specifically, for example, it is possible to realize distributed distribution of moving image / audio stream data among clients (terminal nodes) by using a broadband network environment without preparing a special stream data distribution server.
【図1】本発明の実施形態に関するストリームデータ分
散配信システムの概念を示す図。FIG. 1 is a diagram showing a concept of a stream data distributed distribution system according to an embodiment of the present invention.
【図2】同実施形態に関するシステムの具体的構成の一
例を示すブロック図。FIG. 2 is a block diagram showing an example of a specific configuration of a system according to the same embodiment.
【図3】同実施形態に関するノード(ユーザ端末)の構
成を示すブロック図。FIG. 3 is a block diagram showing a configuration of a node (user terminal) according to the same embodiment.
【図4】同ノードのトポロジエンジンの構成を示すブロ
ック図。FIG. 4 is a block diagram showing a configuration of a topology engine of the same node.
【図5】同ノードのストリームエンジンの構成を示すブ
ロック図。FIG. 5 is a block diagram showing the configuration of a stream engine of the same node.
【図6】同ノードのストリームデータスイッチ部の構成
を示すブロック図。FIG. 6 is a block diagram showing a configuration of a stream data switch unit of the same node.
【図7】同ノードのGUIの構成を示すブロック図。FIG. 7 is a block diagram showing the configuration of a GUI of the same node.
【図8】同実施形態に関するノード間の接続確立処理の
手順を説明するためのフローチャート。FIG. 8 is an exemplary flowchart for explaining a procedure of connection establishment processing between nodes according to the first embodiment.
【図9】同実施形態に関する上流ノード取得手順を説明
するためのフローチャート。FIG. 9 is a flowchart for explaining an upstream node acquisition procedure according to the same embodiment.
【図10】同実施形態に関するトポロジ変更手順を説明
するためのフローチャート。FIG. 10 is an exemplary flowchart for explaining a topology changing procedure according to the first embodiment.
【図11】同実施形態に関するノード間の接続切断処理
の手順を説明するためのフローチャート。FIG. 11 is an exemplary flowchart for explaining a procedure of connection disconnection processing between nodes according to the first embodiment.
【図12】同実施形態に関する下流ノード側の処理手順
を説明するためのフローチャート。FIG. 12 is a flowchart for explaining a processing procedure on the downstream node side according to the embodiment.
【図13】同実施形態に関する各ノード間でのトポロジ
情報の交換手順を説明するためのフローチャート。FIG. 13 is an exemplary flowchart for explaining a procedure of exchanging topology information between nodes according to the first embodiment.
【図14】同実施形態に関するトポロジ情報の内容を説
明するための図。FIG. 14 is an exemplary view for explaining contents of topology information according to the embodiment.
【図15】同トポロジ情報の一例を示す図。FIG. 15 is a diagram showing an example of the same topology information.
10…ノード 11…パーソナルコンピュータ(PC) 12…ルータ 13…ディジタルビデオカメラ(DVC) 20…インターネット 30…トポロジエンジン 31…ストリームエンジン 32…ストリームスイッチ部 33…GUI 34…ストリームデータ再生部 300…トポロジ管理部 301…ノードテーブル 302…負荷状態監視部 303…制御データ通信部 304…制御データ通信部 305…接続要求部 306…接続要求受理部 307…接続認証部 311…ストリームデータ送信部 312…ストリームデータ受信部 313…ストリームデータバッファ 314…ストリームデータバッファ状態監視部 315…ストリームデータ通信接続管理部 10 ... Node 11 ... Personal computer (PC) 12 ... Router 13 ... Digital video camera (DVC) 20 ... Internet 30 ... Topology engine 31 ... Stream engine 32 ... Stream switch section 33 ... GUI 34 ... Stream data reproducing unit 300 ... Topology management unit 301 ... Node table 302 ... Load condition monitoring unit 303 ... Control data communication unit 304 ... Control data communication unit 305 ... Connection request unit 306 ... Connection request acceptance unit 307 ... Connection authentication unit 311 ... Stream data transmission unit 312 ... Stream data receiving unit 313 ... Stream data buffer 314 ... Stream data buffer status monitoring unit 315 ... Stream data communication connection management unit
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5K030 GA13 HA04 HD03 KA05 LC01 LC11 ─────────────────────────────────────────────────── ─── Continued front page F term (reference) 5K030 GA13 HA04 HD03 KA05 LC01 LC11
Claims (22)
トワークにおいて、各ノード間でストリームデータの送
受信を実行するストリームデータ分散配信機能を実現す
る方法であって、 前記各ノードは、上流ノードと下流ノードとの接続関係
を認識するためのトポロジ情報を管理するトポロジ管理
手段、当該トポロジ情報をノード間で交換する手段、及
び前記ストリームデータの送受信手段を有し、 上流ノード又は下流ノードとの接続を実行するステップ
と、 接続した上流ノード又は下流ノードとの間で前記トポロ
ジ情報を交換するステップと、 上流ノードとして動作する場合に、前記トポロジ情報に
基づいて認識される下流ノードに対して前記ストリーム
データを送信するステップとから構成されるストリーム
データ分散配信方法。1. A method for realizing a stream data distributed distribution function for transmitting and receiving stream data between nodes in a network constructed by interconnecting the nodes, wherein each node is an upstream node. Topology management means for managing topology information for recognizing a connection relationship with a downstream node, means for exchanging the topology information between nodes, and transmission / reception means for the stream data, and connection with an upstream node or a downstream node And a step of exchanging the topology information with a connected upstream node or a downstream node, and a stream for a downstream node recognized based on the topology information when operating as an upstream node. A distributed distribution method of stream data, which comprises the step of transmitting data.
下流ノードの識別情報を含む前記トポロジ情報を登録す
る機能と、 前記接続関係の変更に応じて前記トポロジ情報を更新す
る機能と、 前記トポロジ情報を下流ノードに提供する機能とを実現
するように構成されていることを特徴とする請求項1に
記載のストリームデータ分散配信方法。2. The topology managing means registers a function of registering the topology information including identification information of an upstream node or a downstream node for recognizing a connection relationship with its own node; The stream data distributed delivery method according to claim 1, wherein the stream data distributed delivery method is configured to realize a function of updating topology information and a function of providing the topology information to a downstream node.
トポロジ情報に基づいて認識される上流ノードから送信
されたストリームデータを受信するステップを更に有す
ることを特徴とする請求項1または請求項2のいずれか
1項に記載のストリームデータ分散配信方法。3. The method according to claim 1, further comprising the step of receiving stream data transmitted from an upstream node recognized based on the topology information when operating as a downstream node. The stream data distributed delivery method according to any one of items.
上流ノードから送信されたストリームデータを受信し、
かつ前記トポロジ情報に基づいて認識される下流ノード
に対して当該ストリームデータを送信する中継機能を実
現するステップを更に有することを特徴とする請求項1
から請求項3のいずれか1項に記載のストリームデータ
分散配信方法。4. Receiving stream data transmitted from an upstream node recognized based on the topology information,
The method further comprises a step of implementing a relay function of transmitting the stream data to a downstream node recognized based on the topology information.
4. The stream data distributed delivery method according to claim 3.
接続確立あるいは既存の上流ノードまたは下流ノードと
の接続切断に応じて、前記トポロジ管理手段は前記トポ
ロジ情報を更新するステップを更に有することを特徴と
する請求項1から請求項4のいずれか1項に記載のスト
リームデータ分散配信方法。5. The topology management means further comprises a step of updating the topology information in response to establishment of a connection with a new upstream node or a downstream node or disconnection of an existing upstream node or a downstream node. The stream data decentralized distribution method according to any one of claims 1 to 4.
新たな上流ノードとの接続を確立するステップと、 前記接続確立ステップによる接続確立に応じて、前記更
新ステップにより更新された前記トポロジ情報により認
識される上流ノードから送信されたストリームデータを
受信するステップと、 前記トポロジ情報により認識される下流ノードが存在す
る場合に、前記受信ステップにより受信したストリーム
データを当該下流ノードに送信するステップとを更に有
することを特徴とする請求項1から請求項5のいずれか
1項に記載のストリームデータ分散配信方法。6. Disconnecting the connection with the existing upstream node,
A step of establishing a connection with a new upstream node, and a step of receiving stream data transmitted from an upstream node recognized by the topology information updated by the updating step in response to connection establishment by the connection establishing step And a step of transmitting the stream data received by the receiving step to the downstream node when there is a downstream node recognized by the topology information. The stream data distributed delivery method according to any one of items.
流ノードとして、当該上流ノードから送信されたストリ
ームデータを受信するステップと、 前記受信ステップにより受信したストリームデータを、
前記トポロジ情報に基づいて認識される下流ノードに対
して中継するステップとを更に有することを特徴とする
請求項1から請求項6のいずれか1項に記載のストリー
ムデータ分散配信方法。7. A step of receiving a stream data transmitted from the upstream node, wherein a server for distributing the stream data is an upstream node, and the stream data received by the receiving step is
7. The method according to claim 1, further comprising a step of relaying to a downstream node recognized based on the topology information.
に接続された複数の上流ノードを登録して、前記各ノー
ドに対して紹介するサーバが設けられて、 下流ノードとして、前記サーバから接続可能な上流ノー
ドの紹介を受けるステップと、 前記サーバから紹介された上流ノードに対して接続要求
を実行するステップと、 前記接続要求に応じて接続許可された上流ノードに接続
するステップとを更に有することを特徴とする請求項1
から請求項7のいずれか1項に記載のストリームデータ
分散配信方法。8. An upstream node that is connectable from the server as a downstream node, wherein a server that registers a plurality of upstream nodes connected to the network and introduces to each node is provided on the Internet. And a step of executing a connection request to the upstream node introduced from the server, and a step of connecting to an upstream node permitted to connect in response to the connection request. Claim 1
8. The stream data distributed delivery method according to claim 7.
に、自ノードを前記サーバに登録するステップを更に有
することを特徴とする請求項8に記載のストリームデー
タ分散配信方法。9. The distributed stream data distribution method according to claim 8, further comprising the step of registering the own node in the server after the step of connecting to the upstream node.
続認証処理を実行するステップと、 前記接続認証処理ステップでの処理結果が接続許可の場
合には、当該下流ノードとの間で通信するステップとを
更に有することを特徴とする請求項1から請求項9のい
ずれか1項に記載のストリームデータ分散配信方法。10. A step of executing connection authentication processing in response to a connection request from a downstream node, and a step of communicating with the downstream node if the processing result of the connection authentication processing step is connection permission. The stream data distributed delivery method according to any one of claims 1 to 9, further comprising:
するステップを更に有することを特徴とする請求項1か
ら請求項10のいずれか1項に記載のストリームデータ
分散配信方法。11. The distributed stream data distribution method according to any one of claims 1 to 10, further comprising a step of reproducing the received stream data.
ットワークにおいて、各ノード間でストリームデータの
送受信を実行して、ストリームデータ分散配信機能を実
現するためのプログラムであって、 前記各ノードは、前記プログラムを実行するコンピュー
タを有し、 上流ノードと下流ノードとの接続関係を認識するための
トポロジ情報の登録、更新、提供の各機能を含む管理機
能と、 上流ノード又は下流ノードとの接続を実行する機能と、 接続した上流ノード又は下流ノードとの間で前記トポロ
ジ情報を交換する機能と、 上流ノードとして動作する場合に、前記トポロジ情報に
基づいて認識される下流ノードに対して前記ストリーム
データを送信又は中継する機能とを前記コンピュータに
実現させるためのプログラム。12. A program for executing stream data transmission / reception between nodes to realize a stream data distributed distribution function in a network constructed by interconnecting nodes, wherein each node comprises: A management function including a function of registering, updating, and providing topology information for recognizing a connection relationship between an upstream node and a downstream node, and a connection with the upstream node or the downstream node And a function for exchanging the topology information with the connected upstream node or downstream node, and a stream for the downstream node recognized based on the topology information when operating as an upstream node. A program for causing the computer to realize a function of transmitting or relaying data.
記トポロジ情報に基づいて認識される上流ノードから送
信されたストリームデータを受信する機能と、 受信した前記ストリームデータを再生する機能とを前記
コンピュータに実現させることを特徴とする請求項12
に記載のプログラム。13. When the computer operates as a downstream node, the computer has a function of receiving stream data transmitted from an upstream node recognized based on the topology information and a function of reproducing the received stream data. 13. Realizing this is achieved.
The program described in.
の接続確立あるいは既存の上流ノードまたは下流ノード
との接続切断に応じて、前記トポロジ情報を更新する機
能を前記コンピュータに実現させることを特徴とする請
求項12または請求項13のいずれか1項に記載のプロ
グラム。14. The computer is made to realize the function of updating the topology information in response to the establishment of a connection with a new upstream node or a downstream node or the disconnection of an existing upstream node or a downstream node. The program according to any one of claims 12 and 13.
続認証処理を実行する機能と、 前記接続認証処理の結果が接続許可の場合には、当該下
流ノードとの間で通信する機能とを前記コンピュータに
実現させることを特徴とする請求項12から請求項14
のいずれか1項に記載のプログラム。15. A function of executing connection authentication processing in response to a connection request from a downstream node, and a function of communicating with the downstream node when the result of the connection authentication processing is connection permission. 15. The computer-implemented computer system according to claims 12 to 14.
The program according to any one of 1.
する機能とを前記コンピュータに実現させることを特徴
とする請求項12から請求項15のいずれか1項に記載
のプログラム。16. The program according to claim 12, wherein the program realizes the function of reproducing the received stream data in the computer.
ットワークにおいて、各ノード間でストリームデータの
送受信を実行するストリームデータ分散配信機能を実現
するシステムであって、 前記各ノードは、 上流ノード又は下流ノードとの接続の確立または切断を
実行する手段と、 上流ノードと下流ノードとの接続関係を認識するための
トポロジ情報を管理するトポロジ管理手段と、 接続した上流ノード又は下流ノードとの間で前記トポロ
ジ情報を交換する手段と、 上流ノードとして動作する場合に、前記トポロジ情報に
基づいて認識される下流ノードに対して前記ストリーム
データを送信する手段とを具備したことを特徴とするス
トリームデータ分散配信システム。17. A system for realizing a stream data distributed distribution function for transmitting and receiving stream data between nodes in a network constructed by interconnecting nodes, wherein each node is an upstream node or Between the means for establishing or disconnecting the connection with the downstream node, the topology management means for managing the topology information for recognizing the connection relationship between the upstream node and the downstream node, and the connected upstream node or downstream node. Stream data distribution comprising: means for exchanging the topology information; and means for transmitting the stream data to a downstream node recognized based on the topology information when operating as an upstream node. Delivery system.
下流ノードの識別情報を含む前記トポロジ情報を登録す
る手段と、 新たな上流ノードまたは下流ノードとの接続確立あるい
は既存の上流ノードまたは下流ノードとの接続切断によ
る前記接続関係の変更に応じて前記トポロジ情報を更新
する手段と、 前記トポロジ情報を下流ノードに提供する手段とを含む
ことを特徴とする請求項17に記載のストリームデータ
分散配信システム。18. The topology management means comprises: means for registering the topology information including identification information of an upstream node or a downstream node for recognizing a connection relationship with the own node; and a new upstream node or a downstream node. It is characterized by including means for updating the topology information in response to a change in the connection relationship due to connection establishment or disconnection with an existing upstream node or downstream node, and means for providing the topology information to a downstream node. The stream data distributed delivery system according to claim 17.
記トポロジ情報に基づいて認識される上流ノードから送
信されたストリームデータを受信する手段と、 前記トポロジ情報に基づいて認識される下流ノードが存
在する場合に、前記受信手段により受信したストリーム
データを当該下流ノードに送信する中継手段とを更に有
することを特徴とする請求項17または請求項18のい
ずれか1項に記載のストリームデータ分散配信システ
ム。19. When operating as a downstream node, there is a means for receiving stream data transmitted from an upstream node recognized based on the topology information, and a downstream node recognized based on the topology information. The stream data distribution system according to claim 17 or 18, further comprising a relay unit that transmits the stream data received by the receiving unit to the downstream node.
する手段と、 接続許可の場合には当該下流ノードと接続する手段と、 接続拒否の場合には接続拒否を示すメッセージを当該下
流ノードに送信する手段とを有することを特徴とする請
求項17から請求項19のいずれか1項に記載のストリ
ームデータ分散配信システム。20. Each of the nodes executes a connection authentication process in response to a connection request from a downstream node, a means for connecting to the downstream node when the connection is permitted, and a connection when the connection is rejected. 20. A stream data distributed distribution system according to any one of claims 17 to 19, further comprising means for transmitting a message indicating rejection to the downstream node.
ドとの接続確立に応じて、前記トポロジ管理手段により
更新された前記トポロジ情報により認識される上流ノー
ドから送信されたストリームデータを受信し、 前記中継手段は、 前記トポロジ情報により認識される下流ノードが存在す
る場合に、前記受信手段により受信したストリームデー
タを当該下流ノードに送信することを特徴とする請求項
19に記載のストリームデータ分散配信システム。21. The receiving means disconnects a connection with an existing upstream node, and in accordance with establishment of a connection with a new upstream node, the upstream recognized by the topology information updated by the topology management means. The stream data transmitted from the node is received, and the relay unit transmits the stream data received by the receiving unit to the downstream node when a downstream node recognized by the topology information exists. 20. The stream data distributed delivery system according to claim 19.
ームデータを再生する手段を更に有することを特徴とす
る請求項17から請求項21のいずれか1項に記載のス
トリームデータ分散配信システム。22. The stream data distributed distribution system according to claim 17, wherein each of the nodes further includes a unit that reproduces the received stream data.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001364944A JP3955989B2 (en) | 2001-11-29 | 2001-11-29 | Stream data distributed delivery method and system |
| US10/184,415 US20030101253A1 (en) | 2001-11-29 | 2002-06-27 | Method and system for distributing data in a network |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001364944A JP3955989B2 (en) | 2001-11-29 | 2001-11-29 | Stream data distributed delivery method and system |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2003169089A true JP2003169089A (en) | 2003-06-13 |
| JP2003169089A5 JP2003169089A5 (en) | 2005-07-21 |
| JP3955989B2 JP3955989B2 (en) | 2007-08-08 |
Family
ID=19175055
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001364944A Expired - Fee Related JP3955989B2 (en) | 2001-11-29 | 2001-11-29 | Stream data distributed delivery method and system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3955989B2 (en) |
Cited By (47)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005311973A (en) * | 2004-04-26 | 2005-11-04 | Ntt Docomo Inc | Network recovery system, network recovery method and node |
| WO2006008885A1 (en) * | 2004-07-16 | 2006-01-26 | Brother Kogyo Kabushiki Kaisha | Connection mode control device, connection mode control method, and connection mode control program |
| JP2006033514A (en) * | 2004-07-16 | 2006-02-02 | Brother Ind Ltd | Connection mode control device, connection mode control method, and connection mode control program |
| WO2006011309A1 (en) | 2004-07-26 | 2006-02-02 | Brother Kogyo Kabushiki Kaisha | Connection mode setter and setting method, connection mode controller and controlling method |
| JP2006079606A (en) * | 2004-09-03 | 2006-03-23 | Microsoft Corp | Receiver-initiated system and method in peer-to-peer network |
| JP2006094004A (en) * | 2004-09-22 | 2006-04-06 | Ntt Docomo Inc | Wireless communication device |
| JP2006157601A (en) * | 2004-11-30 | 2006-06-15 | Ntt Docomo Inc | Client terminal, service providing apparatus, relay device, service load distribution system, and service load distribution method |
| WO2006120946A1 (en) * | 2005-05-10 | 2006-11-16 | Brother Kogyo Kabushiki Kaisha | Tree-type network system, node device, broadcast system, broadcast method, etc. |
| WO2007010724A1 (en) * | 2005-07-20 | 2007-01-25 | Brother Kogyo Kabushiki Kaisha | Node apparatus, storing medium on which computer program has been stored, information delivering system, and network participating method |
| WO2007026443A1 (en) | 2005-08-30 | 2007-03-08 | Matsushita Electric Industrial Co., Ltd. | Content delivery method, content delivery server, communication terminal apparatus, and content delivery system |
| JP2007173889A (en) * | 2005-12-19 | 2007-07-05 | Brother Ind Ltd | CONTENT DISTRIBUTION SYSTEM, CONTENT DISTRIBUTION METHOD, TERMINAL DEVICE USED FOR THE SAME AND PROGRAM THEREOF |
| JP2007235471A (en) * | 2006-02-28 | 2007-09-13 | Brother Ind Ltd | Content distribution system, content distribution method, terminal device, and program thereof |
| US7668185B2 (en) | 2004-07-13 | 2010-02-23 | Brother Kogyo Kabushiki Kaisha | Distribution apparatus, receiving apparatus tree-type distribution system, and information processing method etc. |
| US7773615B2 (en) | 2004-07-16 | 2010-08-10 | Brother Kogyo Kabushiki Kaisha | Connection state control device, connection state control method, and connection state controlling program |
| US7882248B2 (en) | 2007-02-19 | 2011-02-01 | Fujitsu Limited | Content delivering system, server, and content delivering method |
| JP2011509632A (en) * | 2008-01-10 | 2011-03-24 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | Multi-directional peer-to-peer media streaming |
| US8037183B2 (en) | 2004-07-08 | 2011-10-11 | Brother Kogyo Kabushiki Kaisha | Processing method and apparatus for communication path load distribution |
| JP2013516899A (en) * | 2010-01-11 | 2013-05-13 | タンゴメ、インコーポレイテッド | Communication in a peer-to-peer computer environment |
| JP2015065666A (en) * | 2003-07-28 | 2015-04-09 | ソノズ インコーポレイテッド | System and method for synchronizing operation in a plurality of digital data processing devices which are independently clocked |
| US9207905B2 (en) | 2003-07-28 | 2015-12-08 | Sonos, Inc. | Method and apparatus for providing synchrony group status information |
| US9374607B2 (en) | 2012-06-26 | 2016-06-21 | Sonos, Inc. | Media playback system with guest access |
| US9729115B2 (en) | 2012-04-27 | 2017-08-08 | Sonos, Inc. | Intelligently increasing the sound level of player |
| US9734242B2 (en) | 2003-07-28 | 2017-08-15 | Sonos, Inc. | Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data |
| US9749760B2 (en) | 2006-09-12 | 2017-08-29 | Sonos, Inc. | Updating zone configuration in a multi-zone media system |
| US9756424B2 (en) | 2006-09-12 | 2017-09-05 | Sonos, Inc. | Multi-channel pairing in a media system |
| US9766853B2 (en) | 2006-09-12 | 2017-09-19 | Sonos, Inc. | Pair volume control |
| US9781513B2 (en) | 2014-02-06 | 2017-10-03 | Sonos, Inc. | Audio output balancing |
| US9787550B2 (en) | 2004-06-05 | 2017-10-10 | Sonos, Inc. | Establishing a secure wireless network with a minimum human intervention |
| US9794707B2 (en) | 2014-02-06 | 2017-10-17 | Sonos, Inc. | Audio output balancing |
| US9977561B2 (en) | 2004-04-01 | 2018-05-22 | Sonos, Inc. | Systems, methods, apparatus, and articles of manufacture to provide guest access |
| US10306364B2 (en) | 2012-09-28 | 2019-05-28 | Sonos, Inc. | Audio processing adjustments for playback devices based on determined characteristics of audio content |
| US10359987B2 (en) | 2003-07-28 | 2019-07-23 | Sonos, Inc. | Adjusting volume levels |
| CN112000453A (en) * | 2020-08-25 | 2020-11-27 | 支付宝(杭州)信息技术有限公司 | Scheduling method and system of stream computing system |
| US11106425B2 (en) | 2003-07-28 | 2021-08-31 | Sonos, Inc. | Synchronizing operations among a plurality of independently clocked digital data processing devices |
| US11106424B2 (en) | 2003-07-28 | 2021-08-31 | Sonos, Inc. | Synchronizing operations among a plurality of independently clocked digital data processing devices |
| US11265652B2 (en) | 2011-01-25 | 2022-03-01 | Sonos, Inc. | Playback device pairing |
| US11294618B2 (en) | 2003-07-28 | 2022-04-05 | Sonos, Inc. | Media player system |
| US11403062B2 (en) | 2015-06-11 | 2022-08-02 | Sonos, Inc. | Multiple groupings in a playback system |
| US11429343B2 (en) | 2011-01-25 | 2022-08-30 | Sonos, Inc. | Stereo playback configuration and control |
| US11481182B2 (en) | 2016-10-17 | 2022-10-25 | Sonos, Inc. | Room association based on name |
| US11650784B2 (en) | 2003-07-28 | 2023-05-16 | Sonos, Inc. | Adjusting volume levels |
| US11894975B2 (en) | 2004-06-05 | 2024-02-06 | Sonos, Inc. | Playback device connection |
| US11995374B2 (en) | 2016-01-05 | 2024-05-28 | Sonos, Inc. | Multiple-device setup |
| US12155527B2 (en) | 2011-12-30 | 2024-11-26 | Sonos, Inc. | Playback devices and bonded zones |
| US12167216B2 (en) | 2006-09-12 | 2024-12-10 | Sonos, Inc. | Playback device pairing |
| US12457278B2 (en) | 2003-07-28 | 2025-10-28 | Sonos, Inc. | Synchronizing playback by media playback devices |
| US12549945B2 (en) | 2020-09-25 | 2026-02-10 | Sonos, Inc. | Intelligent setup for playback devices |
-
2001
- 2001-11-29 JP JP2001364944A patent/JP3955989B2/en not_active Expired - Fee Related
Cited By (147)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10216473B2 (en) | 2003-07-28 | 2019-02-26 | Sonos, Inc. | Playback device synchrony group states |
| US9733893B2 (en) | 2003-07-28 | 2017-08-15 | Sonos, Inc. | Obtaining and transmitting audio |
| US12457278B2 (en) | 2003-07-28 | 2025-10-28 | Sonos, Inc. | Synchronizing playback by media playback devices |
| US10185541B2 (en) | 2003-07-28 | 2019-01-22 | Sonos, Inc. | Playback device |
| US11650784B2 (en) | 2003-07-28 | 2023-05-16 | Sonos, Inc. | Adjusting volume levels |
| US11635935B2 (en) | 2003-07-28 | 2023-04-25 | Sonos, Inc. | Adjusting volume levels |
| US11625221B2 (en) | 2003-07-28 | 2023-04-11 | Sonos, Inc | Synchronizing playback by media playback devices |
| US11556305B2 (en) | 2003-07-28 | 2023-01-17 | Sonos, Inc. | Synchronizing playback by media playback devices |
| US11550539B2 (en) | 2003-07-28 | 2023-01-10 | Sonos, Inc. | Playback device |
| US11550536B2 (en) | 2003-07-28 | 2023-01-10 | Sonos, Inc. | Adjusting volume levels |
| US10175932B2 (en) | 2003-07-28 | 2019-01-08 | Sonos, Inc. | Obtaining content from direct source and remote source |
| US11301207B1 (en) | 2003-07-28 | 2022-04-12 | Sonos, Inc. | Playback device |
| US11294618B2 (en) | 2003-07-28 | 2022-04-05 | Sonos, Inc. | Media player system |
| US11200025B2 (en) | 2003-07-28 | 2021-12-14 | Sonos, Inc. | Playback device |
| US11132170B2 (en) | 2003-07-28 | 2021-09-28 | Sonos, Inc. | Adjusting volume levels |
| US11106424B2 (en) | 2003-07-28 | 2021-08-31 | Sonos, Inc. | Synchronizing operations among a plurality of independently clocked digital data processing devices |
| US11106425B2 (en) | 2003-07-28 | 2021-08-31 | Sonos, Inc. | Synchronizing operations among a plurality of independently clocked digital data processing devices |
| US11080001B2 (en) | 2003-07-28 | 2021-08-03 | Sonos, Inc. | Concurrent transmission and playback of audio information |
| US10175930B2 (en) | 2003-07-28 | 2019-01-08 | Sonos, Inc. | Method and apparatus for playback by a synchrony group |
| US10970034B2 (en) | 2003-07-28 | 2021-04-06 | Sonos, Inc. | Audio distributor selection |
| US10157033B2 (en) | 2003-07-28 | 2018-12-18 | Sonos, Inc. | Method and apparatus for switching between a directly connected and a networked audio source |
| US10963215B2 (en) | 2003-07-28 | 2021-03-30 | Sonos, Inc. | Media playback device and system |
| US10956119B2 (en) | 2003-07-28 | 2021-03-23 | Sonos, Inc. | Playback device |
| US10949163B2 (en) | 2003-07-28 | 2021-03-16 | Sonos, Inc. | Playback device |
| JP2015065666A (en) * | 2003-07-28 | 2015-04-09 | ソノズ インコーポレイテッド | System and method for synchronizing operation in a plurality of digital data processing devices which are independently clocked |
| US9207905B2 (en) | 2003-07-28 | 2015-12-08 | Sonos, Inc. | Method and apparatus for providing synchrony group status information |
| US9213356B2 (en) | 2003-07-28 | 2015-12-15 | Sonos, Inc. | Method and apparatus for synchrony group control via one or more independent controllers |
| US9348354B2 (en) | 2003-07-28 | 2016-05-24 | Sonos, Inc. | Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices without a voltage controlled crystal oscillator |
| US10228902B2 (en) | 2003-07-28 | 2019-03-12 | Sonos, Inc. | Playback device |
| US10754612B2 (en) | 2003-07-28 | 2020-08-25 | Sonos, Inc. | Playback device volume control |
| US9658820B2 (en) | 2003-07-28 | 2017-05-23 | Sonos, Inc. | Resuming synchronous playback of content |
| US9727302B2 (en) | 2003-07-28 | 2017-08-08 | Sonos, Inc. | Obtaining content from remote source for playback |
| US10754613B2 (en) | 2003-07-28 | 2020-08-25 | Sonos, Inc. | Audio master selection |
| US9727303B2 (en) | 2003-07-28 | 2017-08-08 | Sonos, Inc. | Resuming synchronous playback of content |
| US9727304B2 (en) | 2003-07-28 | 2017-08-08 | Sonos, Inc. | Obtaining content from direct source and other source |
| US10185540B2 (en) | 2003-07-28 | 2019-01-22 | Sonos, Inc. | Playback device |
| US9733891B2 (en) | 2003-07-28 | 2017-08-15 | Sonos, Inc. | Obtaining content from local and remote sources for playback |
| US9733892B2 (en) | 2003-07-28 | 2017-08-15 | Sonos, Inc. | Obtaining content based on control by multiple controllers |
| US9734242B2 (en) | 2003-07-28 | 2017-08-15 | Sonos, Inc. | Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data |
| US9740453B2 (en) | 2003-07-28 | 2017-08-22 | Sonos, Inc. | Obtaining content from multiple remote sources for playback |
| US10747496B2 (en) | 2003-07-28 | 2020-08-18 | Sonos, Inc. | Playback device |
| US10613817B2 (en) | 2003-07-28 | 2020-04-07 | Sonos, Inc. | Method and apparatus for displaying a list of tracks scheduled for playback by a synchrony group |
| US10545723B2 (en) | 2003-07-28 | 2020-01-28 | Sonos, Inc. | Playback device |
| US9778897B2 (en) | 2003-07-28 | 2017-10-03 | Sonos, Inc. | Ceasing playback among a plurality of playback devices |
| US9778898B2 (en) | 2003-07-28 | 2017-10-03 | Sonos, Inc. | Resynchronization of playback devices |
| US9778900B2 (en) | 2003-07-28 | 2017-10-03 | Sonos, Inc. | Causing a device to join a synchrony group |
| US10445054B2 (en) | 2003-07-28 | 2019-10-15 | Sonos, Inc. | Method and apparatus for switching between a directly connected and a networked audio source |
| US10387102B2 (en) | 2003-07-28 | 2019-08-20 | Sonos, Inc. | Playback device grouping |
| US10365884B2 (en) | 2003-07-28 | 2019-07-30 | Sonos, Inc. | Group volume control |
| US10359987B2 (en) | 2003-07-28 | 2019-07-23 | Sonos, Inc. | Adjusting volume levels |
| US10324684B2 (en) | 2003-07-28 | 2019-06-18 | Sonos, Inc. | Playback device synchrony group states |
| US10303431B2 (en) | 2003-07-28 | 2019-05-28 | Sonos, Inc. | Synchronizing operations among a plurality of independently clocked digital data processing devices |
| US10303432B2 (en) | 2003-07-28 | 2019-05-28 | Sonos, Inc | Playback device |
| US10296283B2 (en) | 2003-07-28 | 2019-05-21 | Sonos, Inc. | Directing synchronous playback between zone players |
| US10157035B2 (en) | 2003-07-28 | 2018-12-18 | Sonos, Inc. | Switching between a directly connected and a networked audio source |
| US10289380B2 (en) | 2003-07-28 | 2019-05-14 | Sonos, Inc. | Playback device |
| US10031715B2 (en) | 2003-07-28 | 2018-07-24 | Sonos, Inc. | Method and apparatus for dynamic master device switching in a synchrony group |
| US10282164B2 (en) | 2003-07-28 | 2019-05-07 | Sonos, Inc. | Synchronizing operations among a plurality of independently clocked digital data processing devices |
| US9354656B2 (en) | 2003-07-28 | 2016-05-31 | Sonos, Inc. | Method and apparatus for dynamic channelization device switching in a synchrony group |
| US10120638B2 (en) | 2003-07-28 | 2018-11-06 | Sonos, Inc. | Synchronizing operations among a plurality of independently clocked digital data processing devices |
| US10133536B2 (en) | 2003-07-28 | 2018-11-20 | Sonos, Inc. | Method and apparatus for adjusting volume in a synchrony group |
| US10209953B2 (en) | 2003-07-28 | 2019-02-19 | Sonos, Inc. | Playback device |
| US10140085B2 (en) | 2003-07-28 | 2018-11-27 | Sonos, Inc. | Playback device operating states |
| US10146498B2 (en) | 2003-07-28 | 2018-12-04 | Sonos, Inc. | Disengaging and engaging zone players |
| US10157034B2 (en) | 2003-07-28 | 2018-12-18 | Sonos, Inc. | Clock rate adjustment in a multi-zone system |
| US9977561B2 (en) | 2004-04-01 | 2018-05-22 | Sonos, Inc. | Systems, methods, apparatus, and articles of manufacture to provide guest access |
| US10983750B2 (en) | 2004-04-01 | 2021-04-20 | Sonos, Inc. | Guest access to a media playback system |
| US11467799B2 (en) | 2004-04-01 | 2022-10-11 | Sonos, Inc. | Guest access to a media playback system |
| US11907610B2 (en) | 2004-04-01 | 2024-02-20 | Sonos, Inc. | Guess access to a media playback system |
| JP2005311973A (en) * | 2004-04-26 | 2005-11-04 | Ntt Docomo Inc | Network recovery system, network recovery method and node |
| US11025509B2 (en) | 2004-06-05 | 2021-06-01 | Sonos, Inc. | Playback device connection |
| US9960969B2 (en) | 2004-06-05 | 2018-05-01 | Sonos, Inc. | Playback device connection |
| US11456928B2 (en) | 2004-06-05 | 2022-09-27 | Sonos, Inc. | Playback device connection |
| US10097423B2 (en) | 2004-06-05 | 2018-10-09 | Sonos, Inc. | Establishing a secure wireless network with minimum human intervention |
| US10965545B2 (en) | 2004-06-05 | 2021-03-30 | Sonos, Inc. | Playback device connection |
| US10541883B2 (en) | 2004-06-05 | 2020-01-21 | Sonos, Inc. | Playback device connection |
| US12224898B2 (en) | 2004-06-05 | 2025-02-11 | Sonos, Inc. | Wireless device connection |
| US9787550B2 (en) | 2004-06-05 | 2017-10-10 | Sonos, Inc. | Establishing a secure wireless network with a minimum human intervention |
| US11909588B2 (en) | 2004-06-05 | 2024-02-20 | Sonos, Inc. | Wireless device connection |
| US10439896B2 (en) | 2004-06-05 | 2019-10-08 | Sonos, Inc. | Playback device connection |
| US11894975B2 (en) | 2004-06-05 | 2024-02-06 | Sonos, Inc. | Playback device connection |
| US9866447B2 (en) | 2004-06-05 | 2018-01-09 | Sonos, Inc. | Indicator on a network device |
| US10979310B2 (en) | 2004-06-05 | 2021-04-13 | Sonos, Inc. | Playback device connection |
| US8037183B2 (en) | 2004-07-08 | 2011-10-11 | Brother Kogyo Kabushiki Kaisha | Processing method and apparatus for communication path load distribution |
| US7668185B2 (en) | 2004-07-13 | 2010-02-23 | Brother Kogyo Kabushiki Kaisha | Distribution apparatus, receiving apparatus tree-type distribution system, and information processing method etc. |
| JP2006033514A (en) * | 2004-07-16 | 2006-02-02 | Brother Ind Ltd | Connection mode control device, connection mode control method, and connection mode control program |
| US7773615B2 (en) | 2004-07-16 | 2010-08-10 | Brother Kogyo Kabushiki Kaisha | Connection state control device, connection state control method, and connection state controlling program |
| WO2006008885A1 (en) * | 2004-07-16 | 2006-01-26 | Brother Kogyo Kabushiki Kaisha | Connection mode control device, connection mode control method, and connection mode control program |
| US8305880B2 (en) | 2004-07-16 | 2012-11-06 | Brother Kogyo Kabushiki Kaisha | Network controlling apparatus, network controlling method, and network controlling program for controlling a distribution mode in a network system |
| US7729295B2 (en) | 2004-07-26 | 2010-06-01 | Brother Kogyo Kabushiki Kaisha | Connection mode setting apparatus, connection mode setting method, connection mode control apparatus, connection mode control method and so on |
| WO2006011309A1 (en) | 2004-07-26 | 2006-02-02 | Brother Kogyo Kabushiki Kaisha | Connection mode setter and setting method, connection mode controller and controlling method |
| JP2006079606A (en) * | 2004-09-03 | 2006-03-23 | Microsoft Corp | Receiver-initiated system and method in peer-to-peer network |
| JP2006094004A (en) * | 2004-09-22 | 2006-04-06 | Ntt Docomo Inc | Wireless communication device |
| JP2006157601A (en) * | 2004-11-30 | 2006-06-15 | Ntt Docomo Inc | Client terminal, service providing apparatus, relay device, service load distribution system, and service load distribution method |
| WO2006120946A1 (en) * | 2005-05-10 | 2006-11-16 | Brother Kogyo Kabushiki Kaisha | Tree-type network system, node device, broadcast system, broadcast method, etc. |
| US8059560B2 (en) | 2005-05-10 | 2011-11-15 | Brother Kogyo Kabushiki Kaisha | Tree-type network system, node device, broadcast system, broadcast method, and the like |
| JP2007028400A (en) * | 2005-07-20 | 2007-02-01 | Brother Ind Ltd | Node device, computer program, information distribution system, and network participation method |
| US7782867B2 (en) | 2005-07-20 | 2010-08-24 | Brother Kogyo Kabushiki Kaisha | Node device, memory medium saving computer program, information delivery system, and network participation method |
| WO2007010724A1 (en) * | 2005-07-20 | 2007-01-25 | Brother Kogyo Kabushiki Kaisha | Node apparatus, storing medium on which computer program has been stored, information delivering system, and network participating method |
| WO2007026443A1 (en) | 2005-08-30 | 2007-03-08 | Matsushita Electric Industrial Co., Ltd. | Content delivery method, content delivery server, communication terminal apparatus, and content delivery system |
| JP2007173889A (en) * | 2005-12-19 | 2007-07-05 | Brother Ind Ltd | CONTENT DISTRIBUTION SYSTEM, CONTENT DISTRIBUTION METHOD, TERMINAL DEVICE USED FOR THE SAME AND PROGRAM THEREOF |
| US8201262B2 (en) | 2006-02-28 | 2012-06-12 | Brother Kogyo Kabushiki Kaisha | Contents distribution system, contents distribution method, terminal apparatus, and recording medium on which program thereof is recorded |
| JP2007235471A (en) * | 2006-02-28 | 2007-09-13 | Brother Ind Ltd | Content distribution system, content distribution method, terminal device, and program thereof |
| US10469966B2 (en) | 2006-09-12 | 2019-11-05 | Sonos, Inc. | Zone scene management |
| US9766853B2 (en) | 2006-09-12 | 2017-09-19 | Sonos, Inc. | Pair volume control |
| US10966025B2 (en) | 2006-09-12 | 2021-03-30 | Sonos, Inc. | Playback device pairing |
| US10897679B2 (en) | 2006-09-12 | 2021-01-19 | Sonos, Inc. | Zone scene management |
| US10028056B2 (en) | 2006-09-12 | 2018-07-17 | Sonos, Inc. | Multi-channel pairing in a media system |
| US12219328B2 (en) | 2006-09-12 | 2025-02-04 | Sonos, Inc. | Zone scene activation |
| US10848885B2 (en) | 2006-09-12 | 2020-11-24 | Sonos, Inc. | Zone scene management |
| US11082770B2 (en) | 2006-09-12 | 2021-08-03 | Sonos, Inc. | Multi-channel pairing in a media system |
| US12167216B2 (en) | 2006-09-12 | 2024-12-10 | Sonos, Inc. | Playback device pairing |
| US9928026B2 (en) | 2006-09-12 | 2018-03-27 | Sonos, Inc. | Making and indicating a stereo pair |
| US10306365B2 (en) | 2006-09-12 | 2019-05-28 | Sonos, Inc. | Playback device pairing |
| US9749760B2 (en) | 2006-09-12 | 2017-08-29 | Sonos, Inc. | Updating zone configuration in a multi-zone media system |
| US9860657B2 (en) | 2006-09-12 | 2018-01-02 | Sonos, Inc. | Zone configurations maintained by playback device |
| US9813827B2 (en) | 2006-09-12 | 2017-11-07 | Sonos, Inc. | Zone configuration based on playback selections |
| US10228898B2 (en) | 2006-09-12 | 2019-03-12 | Sonos, Inc. | Identification of playback device and stereo pair names |
| US9756424B2 (en) | 2006-09-12 | 2017-09-05 | Sonos, Inc. | Multi-channel pairing in a media system |
| US11388532B2 (en) | 2006-09-12 | 2022-07-12 | Sonos, Inc. | Zone scene activation |
| US11385858B2 (en) | 2006-09-12 | 2022-07-12 | Sonos, Inc. | Predefined multi-channel listening environment |
| US10448159B2 (en) | 2006-09-12 | 2019-10-15 | Sonos, Inc. | Playback device pairing |
| US10136218B2 (en) | 2006-09-12 | 2018-11-20 | Sonos, Inc. | Playback device pairing |
| US10555082B2 (en) | 2006-09-12 | 2020-02-04 | Sonos, Inc. | Playback device pairing |
| US11540050B2 (en) | 2006-09-12 | 2022-12-27 | Sonos, Inc. | Playback device pairing |
| US7882248B2 (en) | 2007-02-19 | 2011-02-01 | Fujitsu Limited | Content delivering system, server, and content delivering method |
| JP2011509632A (en) * | 2008-01-10 | 2011-03-24 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | Multi-directional peer-to-peer media streaming |
| JP2013516899A (en) * | 2010-01-11 | 2013-05-13 | タンゴメ、インコーポレイテッド | Communication in a peer-to-peer computer environment |
| US11758327B2 (en) | 2011-01-25 | 2023-09-12 | Sonos, Inc. | Playback device pairing |
| US11429343B2 (en) | 2011-01-25 | 2022-08-30 | Sonos, Inc. | Stereo playback configuration and control |
| US12248732B2 (en) | 2011-01-25 | 2025-03-11 | Sonos, Inc. | Playback device configuration and control |
| US11265652B2 (en) | 2011-01-25 | 2022-03-01 | Sonos, Inc. | Playback device pairing |
| US12155527B2 (en) | 2011-12-30 | 2024-11-26 | Sonos, Inc. | Playback devices and bonded zones |
| US9729115B2 (en) | 2012-04-27 | 2017-08-08 | Sonos, Inc. | Intelligently increasing the sound level of player |
| US10063202B2 (en) | 2012-04-27 | 2018-08-28 | Sonos, Inc. | Intelligently modifying the gain parameter of a playback device |
| US10720896B2 (en) | 2012-04-27 | 2020-07-21 | Sonos, Inc. | Intelligently modifying the gain parameter of a playback device |
| US9374607B2 (en) | 2012-06-26 | 2016-06-21 | Sonos, Inc. | Media playback system with guest access |
| US10306364B2 (en) | 2012-09-28 | 2019-05-28 | Sonos, Inc. | Audio processing adjustments for playback devices based on determined characteristics of audio content |
| US9781513B2 (en) | 2014-02-06 | 2017-10-03 | Sonos, Inc. | Audio output balancing |
| US9794707B2 (en) | 2014-02-06 | 2017-10-17 | Sonos, Inc. | Audio output balancing |
| US12026431B2 (en) | 2015-06-11 | 2024-07-02 | Sonos, Inc. | Multiple groupings in a playback system |
| US11403062B2 (en) | 2015-06-11 | 2022-08-02 | Sonos, Inc. | Multiple groupings in a playback system |
| US11995374B2 (en) | 2016-01-05 | 2024-05-28 | Sonos, Inc. | Multiple-device setup |
| US12242769B2 (en) | 2016-10-17 | 2025-03-04 | Sonos, Inc. | Room association based on name |
| US11481182B2 (en) | 2016-10-17 | 2022-10-25 | Sonos, Inc. | Room association based on name |
| CN112000453A (en) * | 2020-08-25 | 2020-11-27 | 支付宝(杭州)信息技术有限公司 | Scheduling method and system of stream computing system |
| US12549945B2 (en) | 2020-09-25 | 2026-02-10 | Sonos, Inc. | Intelligent setup for playback devices |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3955989B2 (en) | 2007-08-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3955989B2 (en) | Stream data distributed delivery method and system | |
| US20030101253A1 (en) | Method and system for distributing data in a network | |
| CN100421469C (en) | System and method for realizing real-time video information sharing | |
| EP1593231B1 (en) | Systems and methods for collaborative communication | |
| CN1989746B (en) | Control system of communication network | |
| US20030045275A1 (en) | Communication method and apparatus | |
| JP2005526450A (en) | Method for realizing dynamic network configuration and resource sharing between devices | |
| CN106454766A (en) | Real-time cooperation data sharing system based on Android system and Wi-Fi Direct | |
| CN101453524A (en) | Multimedia service implementing method | |
| CN104601416B (en) | Family's management and group, business be shared and customized information sharing method and equipment | |
| WO2013166762A1 (en) | Networking method and system for personal area network devices | |
| US10320854B1 (en) | Systems and methods for setting up a session in a collaborative communication system | |
| JP3795507B2 (en) | Communication relay device | |
| JP2017050603A (en) | Management system, control device, management method, and program | |
| JP2004248165A (en) | Session and media relay method, transfer method, and program and recording medium thereof | |
| JP2013531945A (en) | Commercial communication system and method | |
| JP2004015692A (en) | Method and system for sharing and processing state information between communication applications | |
| JP2013110481A (en) | Call system having data sharing function | |
| CN101047828B (en) | Distribution conference system | |
| JP2005032172A (en) | Session control proxy system, communication service system, session control method, program, and recording medium | |
| CN115460220B (en) | Equipment networking method and device, equipment and storage medium | |
| JP4474244B2 (en) | Service providing system and service providing method | |
| JP4826338B2 (en) | CUG service system, group management apparatus, group management apparatus control program, and group management method | |
| JP4963132B2 (en) | Communication control apparatus and method | |
| JP5022393B2 (en) | User terminal, user terminal program, and distribution tree connection switching method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041126 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041126 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20041126 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060501 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060516 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060718 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061107 |
|
| 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: 20070320 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070417 |
|
| 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: 20100518 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110518 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120518 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120518 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130518 Year of fee payment: 6 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |