JP2005149040A - Peer-to-peer communication system - Google Patents
Peer-to-peer communication system Download PDFInfo
- Publication number
- JP2005149040A JP2005149040A JP2003384486A JP2003384486A JP2005149040A JP 2005149040 A JP2005149040 A JP 2005149040A JP 2003384486 A JP2003384486 A JP 2003384486A JP 2003384486 A JP2003384486 A JP 2003384486A JP 2005149040 A JP2005149040 A JP 2005149040A
- Authority
- JP
- Japan
- Prior art keywords
- terminal
- content
- information
- streaming
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
本発明は、映像通信システムに関するものであり、特にピアツーピア網によるストリーミング映像の中継に関するものである。 The present invention relates to a video communication system, and more particularly to streaming video relay by a peer-to-peer network.
インターネットにおいてはNapsterやGnutellaなどに代表されるピアツーピア(以降、P2P)網によるファイル交換サービスが注目されている。P2Pサービスでは、サーバクライアントモデルのような大規模なサーバを必要とせず、P2Pサービスに参加する端末同士が互いに通信を行い、さらにそれぞれの端末が別の複数の端末に接続することで、端末同士による論理ネットワークが構成される。P2Pはネットワーク利用人口の増加に伴うサーバの負担を軽減するだけでなく、分散コンピューティングや協調作業、ローカルコミュニティ形成などの様々なアプリケーションへの適用が試みられている(例えば特許文献1参照)。
またP2Pサービスとしては、ファイル交換サービス、すなわちファイルのダウンロードによるコンテンツの交換中心であるが、ストリーミングによるコンテンツの交換サービス(以降、P2Pストリーミング)についても、試験的サービスが既に行われている。
P2Pストリーミングでは、あるP2Pノードは、ファイル交換サービスのようにファイル全てを他ノードからダウンロードしてからこのファイルを他ノードへ公開するのではなく、あるコンテンツをストリーミングにより受信再生しながら、同時に受信データをバッファへ蓄積し、この蓄積されたデータを他ノードへ公開する。
In the Internet, a file exchange service using a peer-to-peer (hereinafter referred to as P2P) network represented by Napster, Gnutella, and the like has attracted attention. The P2P service does not require a large-scale server such as a server client model, terminals that participate in the P2P service communicate with each other, and each terminal connects to a plurality of other terminals, so that the terminals can communicate with each other. A logical network is configured. P2P not only reduces the load on the server accompanying an increase in the network usage population, but is also being applied to various applications such as distributed computing, collaborative work, and local community formation (see, for example, Patent Document 1).
The P2P service is a file exchange service, that is, a content exchange center by downloading a file. However, a trial service has already been provided for a content exchange service by streaming (hereinafter referred to as P2P streaming).
In P2P streaming, a certain P2P node downloads all files from another node and then releases this file to other nodes as in the file exchange service. Is stored in the buffer, and the stored data is disclosed to other nodes.
現在、P2Pネットワークを構成するピアとして、常時接続が可能で、かつ大容量の蓄積装置を備えたパソコンが主流である。しかし近年の携帯端末の処理能力、ネットワーク速度の進展に伴い、PDAや携帯電話などのモバイル端末でも映像や音楽、音声、文字などの多様なメディアデータを含むコンテンツの作成、再生、編集、他携帯端末への転送などが可能となってきている。
モバイル端末はパソコンに比べて処理速度やデータ蓄積量などの点では劣る。しかしパーソナルツールとして、ユーザの常時携帯性や、ユーザレスポンスの速さなど、モバイル端末の特性を活かすことで、P2Pサービスの新たな付加価値の創造が期待されている。
しかし、モバイル端末をP2Pノードとして適用する場合、モバイル端末のバッファ容量が小さいために、コンテンツの全てを蓄積することができない場合が多い。このためコンテンツの一部しかP2P網へ公開することができないため、P2P網のあるノードが所望のコンテンツを検索した場合でも、その検索されたコンテンツは全体のうちのどれだけが公開されているかどうかがわからないという問題がある。また、モバイル端末をP2P網のノードとして適用する場合、ノードは通常、無線通信によりP2P網へ参加するため、無線通信網のスループットが大きく変動するような場合、ノード間でストリーミングを中継する際にデータの損失が発生し得る。従来のP2Pストリーミング技術では、上記のようなストリーミングデータの損失について考慮されていないため、P2P網のあるノードが所望のコンテンツを検索した場合でも、そのコンテンツをストリーミングにより受信したときの品質がわからないという問題がある。
At present, as a peer constituting a P2P network, a personal computer that can be always connected and has a large-capacity storage device is mainstream. However, along with recent advances in mobile terminal processing capabilities and network speeds, mobile terminals such as PDAs and mobile phones can create, play, and edit content containing various media data such as video, music, voice, and text. Transfer to terminals has become possible.
Mobile terminals are inferior to PCs in terms of processing speed and data storage. However, as a personal tool, the creation of new added value of P2P service is expected by taking advantage of the characteristics of mobile terminals such as the user's constant portability and the speed of user response.
However, when a mobile terminal is applied as a P2P node, it is often impossible to store all of the content because the buffer capacity of the mobile terminal is small. For this reason, since only a part of the content can be disclosed to the P2P network, even if a node in the P2P network searches for the desired content, how much of the searched content is disclosed to the public. There is a problem of not knowing. In addition, when a mobile terminal is applied as a node of a P2P network, the node usually participates in the P2P network by wireless communication. Therefore, when the throughput of the wireless communication network varies greatly, when relaying streaming between nodes, Data loss can occur. In the conventional P2P streaming technology, the loss of streaming data as described above is not taken into consideration, so even when a node in the P2P network searches for desired content, the quality when the content is received by streaming is not known. There's a problem.
さらに、P2Pのファイル交換サービスが、あるノードが他ノードからファイルをダウンロードし終えた時点で一つのサービス動作が完了するのに対し、P2Pストリーミングでは、ストリーミング配信の間、サービス動作が継続するという違いがある。このため、P2Pストリーミングサービスでは、ファイル交換サービスとは異なり、ノードが途中でP2P網から離脱する場合に、どのようにサービスを継続するかという課題が生じる。モバイル端末がP2Pストリーミングサービスにおけるノードである場合、端末の移動や電波受信状況の悪化、電源の停止など、ノードのP2P網からの離脱が頻繁になる。しかし従来のP2Pストリーミングサービスでは、このようなモバイル端末をP2Pノードとして想定した、ノード離脱時のサービス継続などについては考慮されていないため、モバイル端末によるP2Pストリーミングのサービス継続が難しいという問題がある。
また、従来のP2Pストリーミングでは、端末が自在にP2Pストリーミングの中継区間を選択し、ストリーミング中継サービスを提供することができない。
Furthermore, a P2P file exchange service completes one service operation when a node finishes downloading a file from another node, whereas in P2P streaming, the service operation continues during streaming delivery. There is. Therefore, unlike the file exchange service, the P2P streaming service has a problem of how to continue the service when the node leaves the P2P network. When the mobile terminal is a node in the P2P streaming service, the node frequently leaves the P2P network, such as the movement of the terminal, the deterioration of the radio wave reception status, and the stop of the power supply. However, the conventional P2P streaming service has a problem that it is difficult to continue the service of P2P streaming by the mobile terminal because the service continuation at the time of leaving the node assuming such a mobile terminal as a P2P node is not considered.
Also, with conventional P2P streaming, a terminal cannot freely select a P2P streaming relay section and provide a streaming relay service.
本発明の目的は、上記の事情を鑑みなされるものであり、P2P網によりストリーミングを中継するようなP2Pサービスにおいて、モバイル端末のような蓄積容量の少なく、通信品質が不安定なノードにおいても、P2Pストリーミングサービスを実現するような映像通信システムを提供することである。 The object of the present invention is made in view of the above circumstances, and in a P2P service in which streaming is relayed by a P2P network, even in a node having a small storage capacity and unstable communication quality, such as a mobile terminal, It is to provide a video communication system that realizes a P2P streaming service.
上記目的を達成するため、本願において開示する発明の概要は以下の通りである。
外部装置と接続されるネットワークインターフェイス部を有する通信装置であって、映像データの検索を他の通信装置へ要求し、検索結果を解析するクエリ処理部と、解析結果に基づいて選択された通信装置から受信した映像データの全て又は映像データの記憶手段と解析部とを備える。本願では、特に検索結果として、該映像データの時間範囲に関する情報と、該映像データのデータ損失に関する情報との少なくともいずれか一つを含むことを特徴とする。
更に、上記通信装置と接続され、検索要求に応じてコンテンツ提供候補端末を件検索する管理部を有する装置は、該映像データの時間範囲に関する情報と、該映像データのデータ損失に関する情報との少なくともいずれか一つを通信装置に送出する。
また本発明の通信装置を用いたP2Pストリーミング通信システムでは、他ノードのストリーミング中継機能を引継いで、新たにストリーミングを中継する機能を提供する。又は、既にストリーミング配信が行われている区間(2ノード間)に割り込むことも可能とする。
In order to achieve the above object, an outline of the invention disclosed in the present application is as follows.
A communication device having a network interface unit connected to an external device, which requests a search for video data from another communication device and analyzes the search result, and the communication device selected based on the analysis result All the video data received from or a video data storage means and an analysis unit. In the present application, in particular, the search result includes at least one of information on a time range of the video data and information on a data loss of the video data.
Further, an apparatus connected to the communication apparatus and having a management unit that searches for a content providing candidate terminal in response to a search request includes at least information on a time range of the video data and information on a data loss of the video data. Either one is sent to the communication device.
Further, in the P2P streaming communication system using the communication apparatus of the present invention, a function of newly relaying streaming is provided by taking over the streaming relay function of another node. Alternatively, it is possible to interrupt a section (between two nodes) where streaming distribution has already been performed.
本発明によれば、P2Pストリーミングによりコンテンツを交換する場合において、PDAや携帯電話など、リソースが少なく通信状況の変動が大きいようモバイル端末がP2P網のノードとなる場合においても、ユーザの要求に応じたコンテンツの検索や配信を実現することが可能となる。
また、各々の端末は、ストリーミング配信を中継しているある端末の代わりに、ストリーミングの中継機能を引き継ぐことが可能であるため、離脱の頻度が高いモバイル端末がP2P網のノードとなる場合においても、P2Pストリーミング通信システムの全体の配信効率や、安定性を向上させることができる。さらに、各々の端末は、任意のストリーミング配信区間に、割り込んでストリーミング中継機能を提供することが可能であるため、P2Pストリーミング通信システムのネットワーク構成の柔軟性が高まる他、端末のリソース提供によるコンテンツ料金の割引など、新たなP2Pサービスモデルを提供することが可能となる。
According to the present invention, when content is exchanged by P2P streaming, even when the mobile terminal becomes a node of the P2P network such as a PDA or a mobile phone, and the mobile terminal becomes a node of the P2P network so that the fluctuation of the communication situation is large It is possible to search for and distribute the content.
In addition, since each terminal can take over the streaming relay function instead of a certain terminal relaying streaming distribution, even when a mobile terminal with a high frequency of withdrawal becomes a node of the P2P network Thus, the overall distribution efficiency and stability of the P2P streaming communication system can be improved. Furthermore, since each terminal can provide a streaming relay function by interrupting an arbitrary streaming distribution section, the flexibility of the network configuration of the P2P streaming communication system is increased, and the content fee by providing the resources of the terminal A new P2P service model such as discounts can be provided.
以下、図面を参照して本発明の実施形態について説明する。
図1から図15を用いて、本発明の実施形態1によるP2Pストリーミング配信システムの構成について述べる。尚、以降のサーバ及び端末装置の処理はハード構成による実現方法の他、以降の処理を実行させるためのプログラムを読み込むこと、又はハードとソフトウェア処理の協調動作によっても実現可能であることはいうまでもない。
図3は、本発明の実施形態1によるP2Pストリーミング通信システムの構成である。同図において中央サーバ200は、ノードの登録やノードの検索、公開されているコンテンツ検索などを行うサーバ装置である。端末100、300、301、302は、P2P網を構成する個々の通信装置である。端末300、301、302は端末100と同じ構成である。尚、本明細書では、P2P網を構成する端末のことを、通信装置としての意味合いの場合には「端末」、P2P網を構成する論理的なネットワークエンティティである意味合いの場合には「ノード」と記すものとする。図1は、本発明の実施形態1によるP2Pストリーミング通信システムを構成する端末100の機能ブロックを示す図である。同図において、制御部101は、端末100内の各々のモジュールにおける処理を制御する。ネットワークインタフェース部102は、端末100がP2P網へアクセスするための通信機能を提供する。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
The configuration of the P2P streaming distribution system according to the first embodiment of the present invention will be described with reference to FIGS. It should be noted that the subsequent processing of the server and the terminal device can be realized by reading a program for executing the subsequent processing, or by a cooperative operation of hardware and software processing, in addition to an implementation method using a hardware configuration. Nor.
FIG. 3 is a configuration of the P2P streaming communication system according to the first embodiment of the present invention. In the figure, the
本発明では、ネットワークインタフェース102部の通信路として、主に無線LANや携帯電話網などの無線通信路を想定しているが、Ethernet(登録商標)やDSL、FTTHなどの有線通信路であってもよい。メッセージ処理部103は、中央サーバ200や他ノード間で情報やデータを伝達するための、メッセージの作成や解析を行う。ノード情報処理部104は、中央サーバ200から受信したノード情報やコンテンツ情報の解析や、コンテンツ蓄積部105に蓄積されたコンテンツデータに関する情報の管理を行う。ストリーム中継部106は、受信したストリーミングコンテンツのコンテンツ蓄積部105へのバッファリングや、バッファリングされたストリーミングコンテンツの送信などを制御する。ストリーム解析部107は、受信したストリームの解析や、コンテンツ蓄積部105に蓄積されたコンテンツの解析を行う。接続判定部108は、他ノードに対して接続を行うかどうかの判定に関わる処理を行う。クエリ処理部109は、コンテンツ検索のためのクエリ要求メッセージ発信や受信したクエリ応答メッセージの解析などを行う。図2は、本発明の実施形態1によるP2Pストリーミングシステムを構成する中央サーバ200の機能ブロックを示す図である。同図において、ネットワークインタフェース部201は、中央サーバ200が端末と通信を行うための通信機能を提供する。メッセージ処理部202は、中央サーバ200とノード間で情報やデータを伝達するための、メッセージの作成や解析を行う。ログイン管理部203は、ノードのログイン、ログアウト処理を行う。クエリ処理部204は、ノードからのクエリ要求を解析し、ノードや公開されたコンテンツの検索などを行い、クエリ応答を作成する。ノード情報管理部205は、ノードに関する情報や、各ノードが公開するコンテンツの情報の追加、更新、削除などの管理を行う。
In the present invention, a wireless communication path such as a wireless LAN or a cellular phone network is mainly assumed as a communication path of the network interface 102 unit. However, the communication path is a wired communication path such as Ethernet (registered trademark), DSL, or FTTH. Also good. The
図4から図10を用いて、本発明の実施形態1におけるP2Pストリーミングサービスの流れを説明する。P2P網に参加する端末100は、初めに中央サーバ200へログインする。この処理シーケンスを図4に示す。端末100は、中央サーバとの間でTCPセッションを確立し、ログイン要求M401を送信する。ログイン要求M401には、端末100のログインユーザ名、ログインパスワード等のログイン情報が格納される。中央サーバ200は、ログイン要求メッセージM401を受信すると、メッセージ処理部202においてこれを解析し、ログイン情報を抽出してログイン処理部204へ渡し、ログイン処理部204にて端末100のログイン処理を行う(S401)。このログイン処理S401が成功すると、ノード情報管理部205は、端末100をP2P網のノードとしてノード情報を追加し(S402)する。ログイン処理部204は、ログイン応答メッセージM402を端末100へ送信する。端末100は、ログイン応答メッセージM402を受信することで自身のログイン完了を確認すると、自身のノード情報と、自身がP2P網へストリーミングにより公開するコンテンツ情報とをメッセージM403として中央サーバ200へ送信する。中央サーバ200では、ノード情報管理部205が、メッセージM403に基づいてノード情報や公開コンテンツ情報を追加する(S403)。
A flow of the P2P streaming service in the first embodiment of the present invention will be described with reference to FIGS. The terminal 100 participating in the P2P network first logs into the
中央サーバ200における、ノード情報管理部205が管理するノード情報やノードが公開するコンテンツ情報の構造例を、図7に示す。
図7では、ノード情報として、ユーザ名、ノードのIPアドレス、ネットワークタイプ、下位ノード数、共有コンテンツ情報が格納される。ユーザ名はログイン名と同じである。IPアドレスは、P2Pノードである端末100のIPアドレスである。下位ノード数は、端末100が他端末へストリーミングコンテンツを送信している場合の、送信先の端末数である。
図7ではノード情報と共に、そのノードが公開するコンテンツ情報が記述されている。公開コンテンツ情報には、コンテンツ名、メディアタイプ、対応コーデック、コンテンツの平均ビットレート、コンテンツ時間範囲、受信スループット、受信ロス率、累積受信ロス率、ホップ数、コンテンツ総時間、ソースアドレス等の情報が格納される。コンテンツ名は、各ノードが公開するコンテンツのURLが記述される。メディアタイプには、VideoやAudioなど、コンテンツに含まれるメディアタイプ全てが記述される。対応コーデックには、コンテンツの再生に必要なコーデック全てが記述される。コンテンツの平均ビットレートは、送信されるデータサイズ(ビット数)をコンテンツ総時間で除算した値である。
An example of the structure of the node information managed by the node
In FIG. 7, the user name, node IP address, network type, number of lower nodes, and shared content information are stored as node information. The user name is the same as the login name. The IP address is the IP address of the terminal 100 that is a P2P node. The number of lower nodes is the number of destination terminals when the terminal 100 is transmitting streaming content to other terminals.
In FIG. 7, along with the node information, content information disclosed by the node is described. The public content information includes information such as content name, media type, supported codec, content average bit rate, content time range, reception throughput, reception loss rate, cumulative reception loss rate, hop count, total content time, source address, etc. Stored. The content name describes the URL of the content published by each node. In the media type, all media types included in the content such as Video and Audio are described. In the corresponding codec, all codecs necessary for content reproduction are described. The average bit rate of the content is a value obtained by dividing the transmitted data size (number of bits) by the total content time.
コンテンツ時間範囲は、端末100が他ノードへ公開するコンテンツの時間範囲である。端末100が備えるメモリ容量が十分でない場合、自身が受信したストリーミングデータ全てをバッファリングすることができない。コンテンツ時間範囲は、そのノードにバッファリングされたストリーミングコンテンツの時間範囲を記述する。例えばコンテンツの先頭から50秒間がバッファリングされていて、他端末へ送信可能である場合には、“0〜50秒”のように記述する。 The content time range is a time range of content that the terminal 100 discloses to other nodes. If the memory capacity of the terminal 100 is not sufficient, all the streaming data received by the terminal 100 cannot be buffered. The content time range describes the time range of streaming content buffered at that node. For example, when 50 seconds from the beginning of the content is buffered and can be transmitted to another terminal, “0 to 50 seconds” is described.
このように各ノードがコンテンツ時間範囲を公開することで、コンテンツ時間に関する要求に応じたストリーミングコンテンツの検索が可能となる。よって、モバイル端末のバッファ容量の少なく、ストリーミングコンテンツ全体をバッファリングできない場合であっても、P2Pストリーミングノードとなり得る。このため、多くのモバイル端末が本P2Pサービスに参加してコンテンツを公開することができる。
コンテンツ総時間は、公開されるコンテンツのトータル時間である。ライブコンテンツのような、コンテンツの終了時刻が不明な場合には、このコンテンツ総時間は記述されない。
ホストアドレスは、ストリーミングにより受信しているコンテンツの、送信元ノードのIPアドレスである。ホップ数は、その公開コンテンツが、オリジナルのコンテンツソースから、いくつの端末を中継して端末100へ送信されているかを記述する。このホップ数が多いほど、途中の中継における処理遅延やデータロスなどの影響を受けている可能性が高いといえる。ホップ数が0である場合には、そのノードは公開コンテンツのオリジナルを発信していることを示す。
In this way, each node publishes the content time range, thereby making it possible to search for streaming content in response to a request regarding content time. Therefore, even when the mobile terminal has a small buffer capacity and the entire streaming content cannot be buffered, it can be a P2P streaming node. Therefore, many mobile terminals can participate in this P2P service and publish content.
The total content time is the total time of the published content. When the end time of content is unknown, such as live content, the total content time is not described.
The host address is the IP address of the transmission source node of the content received by streaming. The number of hops describes how many terminals are relayed to the terminal 100 from the original content source. It can be said that the higher the number of hops, the higher the possibility of being affected by processing delays and data loss in the intermediate relay. When the hop number is 0, it indicates that the node is transmitting the original public content.
受信ロス率には、端末100が他ノードからストリーミングによりコンテンツを受信しているときの、受信したデータのロス率を記述する。後述するように、端末100は、受信したストリーミングコンテンツをバッファリングし、他端末からの要求に応じてバッファリングされたコンテンツを他端末へ転送する。よって受信したデータのロス率は、公開できるコンテンツデータのロス率を意味する。
受信したコンテンツデータのロス率を記述しておくことで、他端末が端末100からストリーミングによりそのコンテンツを受信する際の品質を推測することが可能となる。
The reception loss rate describes the loss rate of received data when the terminal 100 is receiving content from another node by streaming. As will be described later, the terminal 100 buffers the received streaming content and transfers the buffered content to the other terminal in response to a request from the other terminal. Therefore, the loss rate of received data means the loss rate of content data that can be disclosed.
By describing the loss rate of the received content data, it is possible to estimate the quality when another terminal receives the content from the terminal 100 by streaming.
ここで上述のホップ数が2以上の場合、すなわちその公開コンテンツが1つ以上のノードを中継してストリーミングされている場合、図7の公開コンテンツ情報で記述される累積受信ロス率には、そのノードへデータが到達するまでの全ての中継区間でのデータロスが、累積されている必要がある。このデータロスの蓄積の例を図10に示す。
図10では、ノードAが発信元であるストリーミングコンテンツが、ノードB、ノードCを経由してノードDへストリーミングが中継されている。それぞれの区間において、 下位ノードは、受信データのシーケンス番号などを用いて受信ロス率を計測、もしくは推測できるものとする。同図ではノードA−B間、ノードB−C間、およびノードC−D間の受信ロス率はそれぞれX、Y、およびZと計測されたとする。そして後述するように、それぞれの区間の下位ノードは定期的にX、Y、Zの値の最新情報を中央サーバ200へ送信している。中央サーバ200では、各々のノードの公開コンテンツ情報の受信ロス率、La、Lb、Lc、Ldをそれぞれ、La=0、Lb=La+(1−La)×X、Lc=Lb+(1−Lb)×Y、およびLd=Lc+(1−Lc)×Zのように計算し、ノード情報管理部205においてそれぞれ更新、管理する。このように、ストリーミングで送信されるコンテンツが複数ノードを経由している場合、各ノードで測定される受信ロス率情報を元に、中央サーバ200が、各ノードが公開するコンテンツのデータロス率を推測する。尚、これまでのロス率を累積した値を示すものであれば、上記記載以外の計算を用いてもよいことは言うまでもない。
Here, when the number of hops is 2 or more, that is, when the public content is streamed through one or more nodes, the cumulative reception loss rate described in the public content information in FIG. Data loss in all relay sections until data reaches the node needs to be accumulated. An example of the accumulation of data loss is shown in FIG.
In FIG. 10, the streaming content originating from node A is relayed to node D via nodes B and C. In each section, the lower node can measure or estimate the reception loss rate using the sequence number of the received data. In the figure, it is assumed that the reception loss rates between the nodes A and B, the nodes B and C, and the nodes CD are measured as X, Y, and Z, respectively. As will be described later, the lower nodes of each section periodically transmit the latest information on the values of X, Y, and Z to the
また、上記の累積受信ロス率は、端末100のノード情報処理部104において推測されてもよい。すなわち、中央サーバが公開する、送信元ノードの公開コンテンツ情報(図7)における累積受信ロス率と、送信ノードと自ノード間の受信ロス率とを基に、上述のように自ノードが受信しているデータの累積受信ロス率を推測し、この推測値を図7の公開コンテンツ情報として中央サーバ200へ送信する。この場合に、中央サーバ200は上記の累積受信ロス率の推定は行う必要はなく、各端末から受信した公開コンテンツ情報をノード情報管理部205において更新、管理するだけでよい。
以上のように、実施形態1によるP2Pストリーミング通信システムでは、各ノードは自身が他ノードへ配信できるコンテンツの品質に関する情報を外部へ公開することを特徴とする。本特徴により、無線通信によりモバイル端末がP2Pストリーミングノードとなることで、そのノードが受信するストリーミングコンテンツの品質が劣化するような場合であっても、他ノードはコンテンツ検索の際、コンテンツの品質にかんする要求に応じたストリーミングコンテンツの検索が可能となる。
以上に述べたように、中央サーバ200の情報管理部205は上述のようなノード情報により、P2P網に参加しているノードと、各ノードが公開するコンテンツに関する情報の追加や削除、値の更新などの管理を行う。
The cumulative reception loss rate may be estimated by the node information processing unit 104 of the terminal 100. That is, based on the cumulative reception loss rate in the public content information (FIG. 7) of the transmission source node and the reception loss rate between the transmission node and the local node, which is disclosed by the central server, the local node receives as described above. The cumulative reception loss rate of the received data is estimated, and this estimated value is transmitted to the
As described above, the P2P streaming communication system according to the first embodiment is characterized in that each node discloses information on the quality of content that can be distributed to other nodes to the outside. With this feature, even when the mobile terminal becomes a P2P streaming node by wireless communication and the quality of streaming content received by the node deteriorates, other nodes can improve the content quality during content search. Therefore, it is possible to search for streaming contents according to the request.
As described above, the
次に図5を用いて、端末100が中央サーバ200を介してストリーミングコンテンツを検索し、端末300からストリーミング受信する処理のシーケンスについて説明する。
端末100において、ユーザがユーザインタフェース部110を介して、所望するコンテンツに関する情報、例えばコンテンツ名称や、コンテンツ検索のキーワードを入力する。クエリ処理部203(図2参照)は、中央サーバ200に対しクエリ要求メッセージM500を作成し、送信する。クエリ要求メッセージM500には、ユーザが入力した検索情報等が格納される。
Next, a processing sequence in which the terminal 100 searches for streaming content via the
In the terminal 100, the user inputs information related to the desired content, such as a content name or a content search keyword, through the
中央サーバ200では、クエリ要求メッセージM500を受信すると、クエリ処理部203がこれを解析し、コンテンツ名やキーワードなどを抽出し、これをノード情報管理部205に渡す。ノード情報管理部205では、前述のノード情報の中から、コンテンツ名やキーワードなど、クエリ条件が合致したコンテンツと、そのコンテンツを公開しているノードとを検索する(S500)。検索結果は複数のコンテンツや、同一コンテンツに対して複数ノードがコンテンツ提供候補端末として含まれていてもよい。中央サーバ200は、このクエリ処理(S500)結果を、クエリ応答メッセージM501として端末100へ返信する。
端末100では、クエリ応答メッセージM501を受信すると、クエリ処理部109がこれを解析する。接続判定部108は、クエリ結果の中から最終的に一つのコンテンツと、そのコンテンツの送信元端末300を選択する(S501)。
In the
In the terminal 100, when the query response message M501 is received, the
ステップS501におけるコンテンツ選択方法としては、クエリ応答メッセージM501に含まれる複数の検索結果のコンテンツ情報やノード情報を、ユーザインタフェース部110を通じてユーザへ提示し、ユーザ自身のインタラクションによってコンテンツと、その配信元ノードである端末300を決定する方法がある。もしくは、何らかの選択基準をあらかじめ端末100上に設定しておくことで、複数のクエリ結果の中から一つのコンテンツを、端末100が自動的に選択することも可能である。
As a content selection method in step S501, content information and node information of a plurality of search results included in the query response message M501 are presented to the user through the
例えば、コンテンツの先頭からのストリーミング配信を優先するように端末100に予め設定しておくと、端末100は図7の送信コンテンツ時間の範囲の先頭が0秒であるコンテンツを自動的に選択する。同様に、ストリーミング品質を最重視するように端末100に設定しておけば、図7の公開コンテンツ情報において、ホップ数や受信ロス率が少ないピアを端末300として選択することで、より品質のよいストリーミング配信の選択が期待できる。 For example, if the terminal 100 is set in advance so as to give priority to streaming delivery from the beginning of the content, the terminal 100 automatically selects a content whose transmission content time range in FIG. Similarly, if the terminal 100 is set so as to place the highest priority on the streaming quality, the quality can be improved by selecting a peer having a small number of hops and reception loss rate as the terminal 300 in the public content information of FIG. The choice of streaming delivery can be expected.
一方ユーザへの確認処理を入れれば、よりユーザの嗜好にあったコンテンツ配信を実現できる。
端末100が、視聴するコンテンツとその配信元である端末300とを決定すると(S501)、端末100は、その端末300に対してコンテンツ配信要求メッセージM502を送信する。端末300はメッセージM502を受信すると、ストリーム中継部106においてこれを解析し、コンテンツ配信要求応答メッセージM503を返す。ここで、メッセージM502とM503には、ストリーミングを開始するために必要な、コンテンツのURLや、ストリーミングコンテンツの先頭時刻、配信のためのポート番号などの情報が含まれる。また上記の要求と応答メッセージの対は、図5のように単一ではなく複数回の要求メッセージと応答メッセージのやりとりがあってもよい。上記のコンテンツ配信要求、および応答メッセージのためのプロトコルとしては、The Internet Engineering Task Force(IETF)が定めるRFC2326(RealTime Streaming Protocol(RTSP))などの既存のストリーミング制御プロトコルや、独自定義の制御プロトコルにより実現できる。
On the other hand, if a confirmation process for the user is put in, content distribution more suited to the user's preference can be realized.
When the terminal 100 determines the content to be viewed and the terminal 300 that is the distribution source (S501), the terminal 100 transmits a content distribution request message M502 to the terminal 300. When the terminal 300 receives the message M502, the stream relay unit 106 analyzes it and returns a content distribution request response message M503. Here, the messages M502 and M503 include information such as the URL of the content, the start time of the streaming content, and the port number for distribution necessary for starting streaming. Further, the request / response message pair described above may not be single as shown in FIG. As a protocol for the above content delivery request and response message, an existing streaming control protocol such as RFC2326 (RealTime Streaming Protocol (RTSP)) defined by The Internet Engineering Task Force (IETF), or a proprietary control protocol is used. realizable.
上述のM502やM503のメッセージにより、端末100と端末300においてストリーミング配信のために必要な情報が交換され、双方でストリーミング送受信の準備が完了すると、端末300は端末100へのストリーミング配信を開始する(S502)。端末300は、コンテンツ蓄積部105(図1)にバッファリングされたコンテンツデータが、ストリーミング解析部107において解析され、必要に応じてデータ変換処理などが行われ、ストリーミング中継部106を通じて通信網へ送出される。このデータ変換処理とは、例えばシーケンス番号の振りなおしや、先頭ヘッダ情報の付加などが考えられる。
When the information necessary for streaming delivery is exchanged between the terminal 100 and the terminal 300 by the above-described messages of M502 and M503, and both are ready for streaming transmission / reception, the terminal 300 starts streaming delivery to the terminal 100 ( S502). In the terminal 300, the content data buffered in the content storage unit 105 (FIG. 1) is analyzed in the
端末100は、端末300からのストリーミングデータを受信すると、ストリーミング中継部105は、受信データをストリーミング解析部107に送る。ストリーミング解析部107は、受信データを解析、再生する(S503)と同時に、解析した結果であるコンテンツ情報をコンテンツ情報処理部104へ送り、さらに受信データをコンテンツ蓄積部105へバッファリングする。ここでコンテンツ蓄積部105のバッファサイズが十分でなく、新たにバッファリングするための残り容量が存在しない場合には、バッファへの新たな書き込みを中止するか、もしくは古いデータを削除するなどして、新たなデータをバッファリングする。コンテンツ情報処理部104は、バッファリングされたデータのコンテンツ時間範囲の最新情報を常に管理する(S504)。
When the terminal 100 receives the streaming data from the terminal 300, the streaming relay unit 105 sends the received data to the
端末100において、コンテンツ情報処理部104は、バッファリングされたコンテンツ情報を定期的に中央サーバ200へ送信する(M504)。M504のコンテンツ情報としては、図7に示されるノード情報、公開コンテンツ情報の最新情報である。前述のように、受信ロス情報については、中央サーバ200は、各ノードから定期的に送られる受信ロス情報を元に、各ノードにおいて累積された受信ロス情報を推定し、この累積受信ロス率を図7における累積受信ロス率として公開するとともに、ノード情報管理部205において受信ロス情報を管理する。もしくは、前述のように各ノードにおいて累積受信ロス率を推定し、図7の公開コンテンツ情報として定期的に中央サーバ200へ送信する(M504)。同様に端末300も定期的に公開コンテンツ情報を中央サーバ200へ送信する(M505)。端末300からの公開コンテンツ情報M505では、端末100が下位ノードとなるため、図7で述べたノード情報の下位ノード数が1増える。中央サーバ200は、各端末から定期的に受信するノード情報や公開コンテンツ情報を、ノード情報管理部205において逐次更新する(S505)。
In the terminal 100, the content information processing unit 104 periodically transmits the buffered content information to the central server 200 (M504). The content information of M504 is the latest information of the node information and public content information shown in FIG. As described above, for the reception loss information, the
以上に述べたように、端末100は中央サーバ200を介して、所望のコンテンツの検索、そのコンテンツの配信元である端末300を検索し、端末300からストリーミングによりコンテンツの受信を受ける。そして端末100は、コンテンツ受信の間、受信データを蓄積すると共に、定期的にその受信ロス率やコンテンツ時間範囲などの公開コンテンツ情報を中央サーバ200へ送信する。このような処理を経て、端末100はストリーミングによりコンテンツを受信できると同時に、受信されたデータのデータ損失や時間範囲に関する情報を公開することで、他の端末へも受信したコンテンツを送信することができる。
次に図6を用いて、端末100が、ストリーミングにより受信したコンテンツを他端末へ配信していない場合、すなわち端末100が下位ノードを持たない場合の、ストリーミング受信を終了する処理のシーケンスについて説明する。
図5で述べたように、端末100が端末300からストリーミングによりコンテンツを受信(S502)している状態を想定する。端末100は、ストリーミングコンテンツの受信を終了する場合、ストリーミング配信終了要求メッセージM600を端末300へ送信する。端末300は、ストリーミング配信終了要求メッセージM601を端末100へ送信する。これらM600、M601のメッセージのプロトコルとしては、例えば前述のRTSPの“TEARDOWN”メッセージなどが用いられる。
その後、端末300は配信終了処理S600を、端末100は受信終了処理S601をそれぞれ行う。これらの処理は、具体的には送受信ループの停止、ネットワークリソースの開放などである。
As described above, the terminal 100 searches for the desired content via the
Next, a sequence of processing for terminating streaming reception when the terminal 100 does not distribute content received by streaming to another terminal, that is, when the terminal 100 does not have a lower node, will be described with reference to FIG. .
As described in FIG. 5, it is assumed that the terminal 100 is receiving content from the terminal 300 by streaming (S502). When the terminal 100 finishes receiving the streaming content, the terminal 100 transmits a streaming distribution end request message M600 to the terminal 300. The terminal 300 transmits a streaming distribution end request message M601 to the terminal 100. For example, the RTSP “TEARDOWN” message described above is used as the M600 and M601 message protocol.
Thereafter, the terminal 300 performs a distribution end process S600, and the terminal 100 performs a reception end process S601. Specifically, these processes include a stop of a transmission / reception loop and release of network resources.
その後、端末100と端末300は、ピア情報更新メッセージを中央サーバ200へ送信する(M602、M603)。端末100では、これまで受信していたストリーミングコンテンツが終了するため、この公開コンテンツ情報の削除をメッセージM602により中央サーバへ通知する。また端末300では端末100へのストリーミング配信を終了するので、図7で述べた端末300に対応するノード情報の下位ノード数が1減ることをメッセージM603により通知する。中央サーバ200は、これらのメッセージM602、M603の通知を反映し、ノード情報を更新する(S602)。
Thereafter, the terminal 100 and the terminal 300 transmit a peer information update message to the central server 200 (M602, M603). The terminal 100 notifies the central server of the deletion of the public content information by a message M602 because the streaming content received so far is terminated. Further, since the terminal 300 finishes streaming delivery to the terminal 100, the message M603 notifies that the number of lower nodes of the node information corresponding to the terminal 300 described in FIG. The
次に図8を用いて、端末100が下位ノードを持つ場合に、ストリーミング受信を終了するときの処理シーケンスについて説明する。端末100が下位ノードを持つ場合に、ストリーミング受信を終了すると、他の端末へのストリーミング配信が継続できなくなる。このため、端末100が下位ノードを持つ場合には、下位ノードに対して配信終了を通知し、下位ノードは端末100から受信していたストリーミングコンテンツと同じコンテンツを配信可能な他ノードを探索し、このノードからの受信に切り替える。以下、図8によりこの流れを説明する。
図8において、端末100は、端末300から受信しているストリーミングコンテンツ(図5参照)を、端末301に対して中継配信している(S801)。図6で述べた流れにより、端末100がストリーミングコンテンツ受信を終了すると(S601)、端末100は端末301に対してストリーミング配信の終了要求メッセージM800を送信する。端末301はメッセージM800を受信すると、終了世応答メッセージM801を端末100へ送信する。
Next, a processing sequence for ending streaming reception when the terminal 100 has a lower node will be described with reference to FIG. If the terminal 100 has a lower node and the streaming reception is terminated, streaming distribution to other terminals cannot be continued. Therefore, when the terminal 100 has a lower node, the lower node is notified of the end of distribution, and the lower node searches for other nodes that can distribute the same content as the streaming content received from the terminal 100, Switch to receiving from this node. Hereinafter, this flow will be described with reference to FIG.
In FIG. 8, the terminal 100 relays and distributes the streaming content (see FIG. 5) received from the terminal 300 to the terminal 301 (S801). When the terminal 100 ends the streaming content reception according to the flow described in FIG. 6 (S601), the terminal 100 transmits a streaming distribution end request message M800 to the terminal 301. When the terminal 301 receives the message M800, the terminal 301 transmits an end-of-life response message M801 to the terminal 100.
その後、端末100は配信終了処理S801を、端末301は受信終了処理S802をそれぞれ実行する。これらの処理は具体的には、送受信ループの停止、ネットワークリソースの開放などである。
そして、端末100と端末301は、ノード情報更新メッセージを中央サーバ200へ送信する(M802、M803)。端末100は、端末301へのストリーミング配信を終了するので、図7で述べた端末100のノード情報の下位ノード数が1減ることを、メッセージM802により中央サーバ200へ要求する。端末301では、これまで受信していたストリーミングコンテンツが終了するため、この公開コンテンツ情報の削除をメッセージM803により中央サーバへ通知する。中央サーバ200は、これらのメッセージM802、M803の通知を反映し、ノード情報を更新する(S803)。
その後、端末301は、中央サーバ200間で再接続処理S804を行う。再接続処理S804では、ストリーミングによるコンテンツ受信を継続するため、同一のコンテンツを配信可能なノードを探索してこのノードに再接続する。再接続処理S804の処理は、図5で述べたコンテンツ受信までの流れと同様である。この再接続処理において、同一のコンテンツを配信可能なノードが検索されなかった場合には、コンテンツ受信の継続を中止するか、他のコンテンツの受信に変更する。
Thereafter, the terminal 100 executes a distribution end process S801, and the terminal 301 executes a reception end process S802. Specifically, these processes include stopping a transmission / reception loop and releasing network resources.
Then, the terminal 100 and the terminal 301 transmit a node information update message to the central server 200 (M802, M803). Since the terminal 100 ends the streaming delivery to the terminal 301, the message M802 requests the
Thereafter, the terminal 301 performs reconnection processing S804 between the
また、上述の再接続処理S804において、新たに他のノードから継続配信されるコンテンツは、端末301が端末100から受信していたコンテンツと、新たに受信するコンテンツとが時間的に連続し、かつコンテンツ品質が同程度以上であるようなコンテンツの配信元ノードを検索する。再接続処理S804の処理は、図5で述べたコンテンツ受信までの流れと同様である。このようなコンテンツを配信可能なノードが検索されなかった場合には、再接続処理により、コンテンツの時間的連続性や品質の連続性を犠牲にしてコンテンツ受信を継続するか、又はコンテンツ受信の継続を中止する。
以上のように、本実施形態によるP2Pストリーミングシステムにおいては、あるノードが、下位ノードへストリーミングを中継している状態で、現在のストリーミング受信を停止した場合には、下位ノードへ配信終了を通知し、下位ノードがストリーミングの継続先を探索するか、停止するかの判断を行う。そして下位ノードがストリーミングを継続する場合、下位ノードは、端末100から受信していたストリーミングコンテンツと同じ時間からのコンテンツを配信可能な他ノードを探索し、このノードからの受信に切り替えることを特徴とする。尚、本実施形態の特徴は、あるノードがP2Pサービスから離脱する際に、下位ノードのストリーミングを継続する際に、公開されたコンテンツ時間情報やコンテンツ品質情報を元に、時間的、品質的に連続性を保つように、コンテンツを選択することが特徴であり、この連続性を実現できるものであれば、上記記載以外の離脱の手順を用いてもよいことは言うまでもない。
図9は、端末100がP2P網から離脱するための処理のシーケンスを示す図である。端末100はP2P網から離脱する際、ログアウト要求メッセージM900を中央サーバ200へ送信する。中央サーバ200がログアウト要求メッセージM900を受信すると、メッセージ処理部202がこれを解析し、ログイン管理部204が端末100のログアウト処理を行う(S900)。そして中央サーバ200では、ノード情報管理部205は端末100に相当するノード情報を削除する(S902)。端末100は、中央サーバ200との間の通信のためのリソースを開放する(S901)。
In the reconnection process S804 described above, the content continuously distributed from another node is such that the content received by the terminal 301 from the terminal 100 and the content newly received are temporally continuous, and Search for a content distribution source node whose content quality is the same or higher. The processing of the reconnection processing S804 is the same as the flow up to content reception described with reference to FIG. If a node capable of distributing such content is not found, the content resumption is continued at the expense of the time continuity and quality continuity of the content by the reconnection process, or the content reception is continued. Cancel.
As described above, in the P2P streaming system according to the present embodiment, when a certain node stops the current streaming reception while relaying streaming to the lower node, the lower node is notified of the end of distribution. The lower node determines whether to search for or stop the streaming destination. When the lower node continues streaming, the lower node searches for another node capable of delivering content from the same time as the streaming content received from the terminal 100, and switches to reception from this node. To do. The feature of this embodiment is that when a certain node leaves the P2P service, when continuing the streaming of the subordinate node, based on the published content time information and content quality information, in terms of time and quality It is a feature that content is selected so as to maintain continuity, and it goes without saying that separation procedures other than those described above may be used as long as this continuity can be realized.
FIG. 9 is a diagram illustrating a processing sequence for the terminal 100 to leave the P2P network. When the terminal 100 leaves the P2P network, the terminal 100 transmits a logout request message M900 to the
上述のように、実施形態1によるP2Pストリーミング通信システムでは、各々の端末はストリーミングによりコンテンツの交換を行うことが可能である。本実施携帯1によるP2Pストリーミングシステムでは、コンテンツの時間範囲や、受信データのロス率などを公開することにより、端末のバッファサイズや通信路の品質が不十分な場合であっても、よりユーザの要求に応じたコンテンツの検索が可能となる。
As described above, in the P2P streaming communication system according to the first embodiment, each terminal can exchange contents by streaming. In the P2P streaming system according to the
実施形態1によるP2Pストリーミング網では、P2P網に参加する端末として、PDAや携帯電話などのモバイル端末が用いられることが想定される。しかしモバイル端末は、有線通信網により常時接続されるPCと異なり、無線通信網によりアクセスすることが多い。無線通信網ではスループットの変動が大きいことが多いため、あるノードが他ノードへコンテンツを送信している場合、そのノードの電波受信状況が悪くなると、下位ノードへのコンテンツ送信に影響する。
そこで実施形態1では、P2P網に参加する端末が、他の(例えば電波受信状況の悪い)端末のストリーミング中継機能を引継ぎ、新たにストリーミングを中継する機能を提供する。図11、図12を用いて、このストリーミング中継機能を他のノードから引き継ぐ処理を説明する。
In the P2P streaming network according to the first embodiment, it is assumed that a mobile terminal such as a PDA or a mobile phone is used as a terminal participating in the P2P network. However, mobile terminals are often accessed via a wireless communication network, unlike PCs that are always connected via a wired communication network. In a wireless communication network, a variation in throughput is often large. Therefore, when a node transmits content to another node, if the radio wave reception status of that node deteriorates, content transmission to a lower node is affected.
Therefore, in the first embodiment, a terminal participating in the P2P network takes over the streaming relay function of another terminal (for example, the radio wave reception status is bad) and provides a function of newly relaying streaming. A process of taking over this streaming relay function from another node will be described with reference to FIGS.
図12では、端末1103から端末1102へストリーミングによりコンテンツが配信され、端末1102は受信したコンテンツを端末1101へストリーミングにより配信している。ここで端末1102の受信スループットが低下しており、端末100が端末1102の代わりに、端末1103からストリーミングによりコンテンツを受信し、端末1101へストリーミングによりコンテンツを配信する処理について図11を用いて説明する。
図11では、図12で示すように端末1103から端末1102へストリーミングによりコンテンツが配信され(S1101)、端末1102は受信したコンテンツを端末1101へストリーミングにより配信している(S1102)。端末100は、中継引継要求メッセージM1100を中央サーバ200へ送信する。中央サーバ200は、中継引継要求メッセージM1100を受信すると、現在行われているストリーミング配信の中から、受信スループットが低下している中継引渡ノード(端末1102)を探索する(S1100)。探索した結果を、中継引継応答メッセージM1101として端末100へ送信する。メッセージM1101には、中継引渡ノード1102の上位ノード(端末1103)と、下位ノード(端末1101)のアドレスが含まれる。
In FIG. 12, content is distributed from the terminal 1103 to the terminal 1102 by streaming, and the terminal 1102 distributes the received content to the terminal 1101 by streaming. Here, the reception throughput of the terminal 1102 is reduced, and the process in which the terminal 100 receives content from the terminal 1103 by streaming instead of the terminal 1102 and distributes the content to the terminal 1101 by streaming will be described with reference to FIG. .
In FIG. 11, as shown in FIG. 12, content is distributed from the terminal 1103 to the terminal 1102 by streaming (S1101), and the terminal 1102 distributes the received content to the terminal 1101 by streaming (S1102). The terminal 100 transmits a relay takeover request message M1100 to the
端末100は、端末1103に対し、端末1102へ送信しているストリーミングデータと同じデータ配信の要求メッセージを送る(M1102)。端末1103は配信要求メッセージM1102を受信すると、端末100へ配信要求応答メッセージM1104を送信し、端末100へのストリーミング配信S1103を開始する。端末100は、端末1103から受信したストリーミングデータをバッファリングする。端末100は端末1101に対し、中継切替要求メッセージM1106を送信する。端末1101は端末100に対し、中継切替応答メッセージM1107を返す。端末100は、中継切替応答メッセージM1107を受信すると、ストリーミング配信S1103により受信したデータを端末1100へストリーミング配信する(S1104)。端末1100はこれを受信し、適切なタイミングでストリーミング配信S1102から、S1104へ切り替えて再生する(S1105)。端末1100は、ストリーミング配信S1102の配信終了要求メッセージM1108を端末1102へ送信する。端末1102は、配信終了要求メッセージM1108を受信すると、配信終了応答メッセージM1109を
端末1101へ送信し、ストリーミング配信S1102を終了する(S1107)。端末1101は配信終了応答メッセージM1109を受信すると、ストリーミング配信S1102の受信を終了する(S1108)。
The terminal 100 sends the same data distribution request message as the streaming data transmitted to the terminal 1102 to the terminal 1103 (M1102). Upon receiving the distribution request message M1102, the terminal 1103 transmits a distribution request response message M1104 to the terminal 100, and starts streaming distribution S1103 to the terminal 100. The terminal 100 buffers the streaming data received from the
上述のように、実施形態1によるP2Pストリーミングシステムでは、任意の端末が、他の端末の代わりにストリーミングの中継機能を引き継ぐことを特徴とする。本特徴により、受信スループットが低下した端末が提供していたストリーミング配信の中継を、他の受信スループットが高い端末が引き継ぐことができるため、P2Pストリーミング網の配信効率性と安定性が向上させることが可能となる。
また実施形態1によるP2Pストリーミングシステムでは、P2P網に参加する端末は、既に存在しているストリーミングの中継区間に、任意のノードが割り込んでストリーミング中継機能を提供する。
図13では、端末1301から端末1300へストリーミングによりコンテンツが配信されている。ここで端末100が、端末1301と端末1300のストリーミング区間に割り込み、同図下に示すように、端末100が端末1300からストリーミングによりコンテンツを受信し、の受信データを端末1300へストリーミングに配信する処理について図14を用いて説明する。
As described above, the P2P streaming system according to
In the P2P streaming system according to the first embodiment, a terminal participating in the P2P network provides a streaming relay function by interrupting an arbitrary node into an existing streaming relay section.
In FIG. 13, content is distributed from the terminal 1301 to the terminal 1300 by streaming. Here, the terminal 100 interrupts the streaming interval between the terminal 1301 and the terminal 1300, and as shown in the lower part of the figure, the terminal 100 receives the content from the terminal 1300 by streaming, and distributes the received data to the terminal 1300 for streaming. Will be described with reference to FIG.
図14では、図13で示すように端末1301から端末1300へストリーミングによりコンテンツが配信されている(S1402)。端末100は、所望するコンテンツ(もしくはキーワード指定)を中継するような経路情報要求メッセージM1400を中央サーバ200へ送信する。中央サーバ200は、経路情報要求メッセージM1400を受信すると、現在行われているストリーミング配信の中から、端末100が指定するコンテンツをストリーミングにより中継している一連の経路情報を探索し(S1400)、探索した結果を、経路情報応答メッセージM1401として端末100へ送信する。メッセージM1401には、端末100が指定したコンテンツを中継配信しているノード情報や、経路情報が含まれる。
In FIG. 14, content is distributed from the terminal 1301 to the terminal 1300 by streaming as shown in FIG. 13 (S1402). The terminal 100 transmits to the central server 200 a route information request message M1400 that relays the desired content (or keyword specification). Upon receiving the route information request message M1400, the
端末100では、メッセージM1401に含まれる経路情報やノード情報をユーザに提示する。ユーザの提示の例を図15に示す。図15において丸印はストリーミングを中継するノードを表し、丸印の中の数値は各ノードのリソース状況を表す。図15では5段階表記されており、5はノードのメモリ容量、CPU速度、電源残量などのリソースが豊富であることを示し、数値が小さいほどノードのリソースが乏しいことを示す。図15においてノードとノードを結ぶ線は、通信路(リンク)の状況を表す。リンクの傍にある数値は、通信路の品質を表す。同図では5段階表記されており、数値が大きいほど通信状態が良好であることを示す。 The terminal 100 presents the route information and node information included in the message M1401 to the user. An example of the user's presentation is shown in FIG. In FIG. 15, a circle represents a node that relays streaming, and a numerical value in the circle represents a resource status of each node. FIG. 15 shows five levels, where 5 indicates that resources such as the memory capacity, CPU speed, and remaining power of the node are abundant, and that the smaller the numerical value, the less the resource of the node. In FIG. 15, the line connecting the nodes represents the state of the communication path (link). The number beside the link represents the quality of the communication path. In the figure, there are five levels. The larger the value, the better the communication state.
ユーザは図15のように提示された情報から、自身の端末100を割り込みさせたい経路区間を選択する(S1401)。ここでは、ユーザが端末1301から端末1300へストリーミング配信(S1402)されている区間を選択したと想定する。
端末100は端末1301に対し、端末1301から端末1300へのストリーミング配信S1402と同じデータのストリーミング配信要求メッセージM1402を送る。端末1301は配信要求メッセージM1402を受信すると、端末100へ配信応答メッセージM1403を送信し、ストリーミング配信S1403を開始する。端末100は、端末1301から受信したストリーミングデータをバッファリングする。端末100は端末1300に対し、中継切替要求メッセージM1404を送信する。端末1300は端末100に対し、中継切替応答メッセージM1405を返す。端末100は、中継切替応答メッセージM1405を受信すると、ストリーミング配信S1403により受信したデータを端末1300へストリーミング配信する(S1404)。端末1300はこれを受信し、適切なタイミングでストリーミング配信S1402から、S1404へ切り替えて再生する(S1405)。端末1300は、ストリーミング配信S1402の配信終了要求メッセージM1406を端末1301へ送信する。端末1301は、配信終了要求メッセージM1406を受信すると、配信終了応答メッセージM1407を端末1300へ送信し、ストリーミング配信S1402を終了する(S1106)。端末1300は配信終了応答メッセージM1407を受信すると、ストリーミング配信S1402の受信を終了する(S1407)。
The user selects a route section where the user's
The terminal 100 transmits to the terminal 1301 a streaming distribution request message M1402 having the same data as the streaming distribution S1402 from the terminal 1301 to the
上述のように、実施形態1によるP2Pストリーミング通信システムでは、任意の端末が、既にあるストリーミング配信区間に割り込み、中継機能を提供することが可能となる。この機能により、端末のリソース(CPU能力、通信トラフィック)を提供することによるコンテンツ割引サービスなど、新たなサービスへの応用が可能となる。 As described above, in the P2P streaming communication system according to the first embodiment, any terminal can interrupt an existing streaming distribution section and provide a relay function. This function enables application to a new service such as a content discount service by providing terminal resources (CPU capability, communication traffic).
本発明の実施形態2によるP2Pストリーミング通信システムは、実施形態1における中央サーバ200のような特別な通信装置が存在せず、実施形態1の中央サーバ200が行っていたコンテンツの検索やノード情報管理などの機能は全て各端末にて行う。すなわち各端末は周辺の幾つかの端末とのみ、コンテンツ情報やノード交換を行うことで、次々に情報が端末同士で伝播していく情報交換形態である。あるノードが発信するクエリ要求メッセージは、次々に端末同士で伝播していき、各々の端末はそのクエリ要求メッセージを解析し、自身の端末に検索条件にマッチするコンテンツが存在すれば、その検索結果をクエリ発信元へ送信する。定期的に更新されるノード情報についても同様である。すなわちノード情報が端末同士で次々に伝播していくが、各端末は自身が公開するコンテンツに関係するノード情報のみを取得して自身の端末内で管理する。自身に関係しないノード情報は単に周辺ノードへ転送するだけでよい。
このような形態は、既にGnutellaなど、ピュア型P2Pという呼称で既に実現されており、本発明においても中央サーバを介さない、端末同士のみによるP2Pストリーミング通信システムとして適用できる。
In the P2P streaming communication system according to the second embodiment of the present invention, there is no special communication device like the
Such a form has already been realized under the name of pure type P2P, such as Gnutella, and can also be applied as a P2P streaming communication system using only terminals without using a central server in the present invention.
以上のように、実施形態2ではノード間のコンテンツ情報の交換を中継するサーバ機能を有する装置を用いずに、上述のP2Pストリーミングを実現するためのコンテンツ情報やノード情報の交換、中継をノード間で中継してP2Pストリーミングのネットワークを構築することを特徴とする。本特徴によれば、サーバ装置を不要とするため、実施形態1に比べて小規模、かつ低コストで、本願で述べたP2Pストリーミングを実現することが可能となる。このため親しい友人同士、あるいはある場所に集まっている人同士といった、比較的小規模なコミュニティにおいてストリーミング映像を手軽に共有することが可能となる。 As described above, in the second embodiment, content information and node information exchange and relay for realizing the above-described P2P streaming are performed between nodes without using a device having a server function for relaying content information exchange between nodes. It is characterized by constructing a P2P streaming network by relaying on the network. According to this feature, since the server device is not required, it is possible to realize the P2P streaming described in the present application at a small scale and at a low cost as compared with the first embodiment. For this reason, it becomes possible to easily share the streaming video in a relatively small community such as close friends or people gathered in a certain place.
100、300、301・・・端末
101・・・制御部
102・・・ネットワークインタフェース部(端末)
103・・・メッセージ処理部(端末)
104・・・ノード情報処理部
105・・・コンテンツ蓄積部
106・・・ストリーム中継部
107・・・ストリーム解析部
108・・・接続判定部
109・・・クエリ処理部(端末)
110・・・ユーザインタフェース部
200・・・中央サーバ
201・・・ネットワークインタフェース部(中央サーバ)
202・・・メッセージ処理部(中央サーバ)
203・・・クエリ処理部(中央サーバ)
204・・・ログイン処理部
205・・・ノード情報管理部。
100, 300, 301 ... terminal 101 ... control unit 102 ... network interface unit (terminal)
103 ... Message processing unit (terminal)
104 ... node information processing unit 105 ... content storage unit 106 ...
110: User interface unit 200: Central server 201: Network interface unit (central server)
202 ... Message processing unit (central server)
203 ... Query processing unit (central server)
204...
Claims (9)
映像データの検索を他の通信装置へ要求し、検索結果を解析するクエリ処理部と、
前記解析結果に基づいて選択された通信装置から、前記ネットワークインタフェース部を介して受信した映像データの全て又は映像データの一部を記憶する記憶手段と、
前記記憶手段により記憶された映像データを解析する解析部とを備え、
前記検索結果は、該映像データの時間範囲に関する情報と、該映像データのデータ損失に関する情報との少なくともいずれか一つを含むことを特徴とする通信装置。 A network interface unit for receiving video data and information about the video data;
A query processing unit for requesting other communication devices to search for video data and analyzing the search results;
Storage means for storing all or part of video data received via the network interface unit from the communication device selected based on the analysis result;
An analysis unit for analyzing the video data stored by the storage means,
The search result includes at least one of information on a time range of the video data and information on a data loss of the video data.
前記クエリ処理部は、該時間情報又は該累積データ損失に関する情報に基づいて前記記憶される映像データを検索することを特徴とする請求項2乃至5の何れかに記載の通信装置。 When receiving at least one of time information of video data or information on cumulative data loss via the network interface unit,
6. The communication apparatus according to claim 2, wherein the query processing unit searches the stored video data based on the time information or the information on the accumulated data loss.
前記ネットワーク処理部を介して端末から受信した検索要求を解析するクエリ処理部と、
上記解析の結果に基づいてコンテンツを検索し、該コンテンツの提供候補端末を検索する管理部とを有し、
前記管理部は、前記各提供候補端末が受信する前記コンテンツのデータ損失に関する情報とコンテンツの時間に関する情報を、前記検索結果とともに、前記ネットワークインターフェイス部を介して前記端末に出力することを特徴とする通信装置。 A network interface connected to the terminal;
A query processing unit for analyzing a search request received from a terminal via the network processing unit;
A search unit for content based on the result of the analysis, and a management unit for searching for a candidate terminal for providing the content,
The management unit outputs information related to data loss of the content and information related to content time received by each provision candidate terminal, together with the search result, to the terminal via the network interface unit. Communication device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003384486A JP2005149040A (en) | 2003-11-14 | 2003-11-14 | Peer-to-peer communication system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003384486A JP2005149040A (en) | 2003-11-14 | 2003-11-14 | Peer-to-peer communication system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005149040A true JP2005149040A (en) | 2005-06-09 |
Family
ID=34692860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003384486A Pending JP2005149040A (en) | 2003-11-14 | 2003-11-14 | Peer-to-peer communication system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005149040A (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007065952A (en) * | 2005-08-31 | 2007-03-15 | Toppan Printing Co Ltd | Content-distribution method, content-distribution system, content-distribution device, and computer program |
JP2007065975A (en) * | 2005-08-31 | 2007-03-15 | Brother Ind Ltd | Content data delivery system, terminal device and connection management device in the same system, program of terminal device and program of connection management device |
JP2007325096A (en) * | 2006-06-02 | 2007-12-13 | Canon Inc | Imaging apparatus with communication function, control method thereof, and program |
WO2009021374A1 (en) * | 2007-08-10 | 2009-02-19 | Zte Corporation | An integrating video service peer to peer networks system |
CN100469002C (en) * | 2005-08-09 | 2009-03-11 | 张永敏 | Data block transmission method |
JP2010533321A (en) * | 2007-06-28 | 2010-10-21 | トムソン ライセンシング | Queue-based adaptive chunk scheduling for peer-to-peer live streaming |
JP2011014022A (en) * | 2009-07-03 | 2011-01-20 | Kddi Corp | Content distribution control method and device, and content receiving terminal |
JP2014505448A (en) * | 2011-02-21 | 2014-02-27 | ブラックベリー リミテッド | Managed peer-to-peer sharing in cellular networks |
JP2014509416A (en) * | 2010-12-30 | 2014-04-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Sharing content between mobile devices |
US10009396B2 (en) | 2009-12-11 | 2018-06-26 | Thomson Licensing | Queue-based adaptive chunk scheduling for peer-to-peer live streaming |
US10530772B2 (en) | 2016-02-12 | 2020-01-07 | Toshiba Memory Corporation | Communication apparatus |
-
2003
- 2003-11-14 JP JP2003384486A patent/JP2005149040A/en active Pending
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100469002C (en) * | 2005-08-09 | 2009-03-11 | 张永敏 | Data block transmission method |
JP4760231B2 (en) * | 2005-08-31 | 2011-08-31 | ブラザー工業株式会社 | Content data distribution system, terminal device in the system, and operation program for terminal device |
JP2007065975A (en) * | 2005-08-31 | 2007-03-15 | Brother Ind Ltd | Content data delivery system, terminal device and connection management device in the same system, program of terminal device and program of connection management device |
JP2007065952A (en) * | 2005-08-31 | 2007-03-15 | Toppan Printing Co Ltd | Content-distribution method, content-distribution system, content-distribution device, and computer program |
JP2007325096A (en) * | 2006-06-02 | 2007-12-13 | Canon Inc | Imaging apparatus with communication function, control method thereof, and program |
JP2010533321A (en) * | 2007-06-28 | 2010-10-21 | トムソン ライセンシング | Queue-based adaptive chunk scheduling for peer-to-peer live streaming |
US8661105B2 (en) | 2007-08-10 | 2014-02-25 | Zte Corporation | Integrated video service peer to peer network system |
WO2009021374A1 (en) * | 2007-08-10 | 2009-02-19 | Zte Corporation | An integrating video service peer to peer networks system |
JP2011014022A (en) * | 2009-07-03 | 2011-01-20 | Kddi Corp | Content distribution control method and device, and content receiving terminal |
US10009396B2 (en) | 2009-12-11 | 2018-06-26 | Thomson Licensing | Queue-based adaptive chunk scheduling for peer-to-peer live streaming |
JP2014509416A (en) * | 2010-12-30 | 2014-04-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Sharing content between mobile devices |
US9154997B2 (en) | 2010-12-30 | 2015-10-06 | International Business Machines Corporation | Content sharing among mobile terminals |
US9264511B2 (en) | 2010-12-30 | 2016-02-16 | International Business Machines Corporation | Content sharing among mobile terminals |
DE112011104651B4 (en) * | 2010-12-30 | 2016-05-19 | International Business Machines Corporation | Content sharing between mobile terminals |
DE112011106094B3 (en) | 2010-12-30 | 2022-07-28 | International Business Machines Corporation | Content sharing between mobile terminals |
JP2014505448A (en) * | 2011-02-21 | 2014-02-27 | ブラックベリー リミテッド | Managed peer-to-peer sharing in cellular networks |
US9231786B2 (en) | 2011-02-21 | 2016-01-05 | Blackberry Limited | On the managed peer-to-peer sharing in cellular networks |
US9781199B2 (en) | 2011-02-21 | 2017-10-03 | Blackberry Limited | Managed peer-to-peer sharing in cellular networks |
US10530772B2 (en) | 2016-02-12 | 2020-01-07 | Toshiba Memory Corporation | Communication apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8116235B2 (en) | Peer-to-peer aided live video sharing system | |
US8279766B2 (en) | Interior-node-disjoint multi-tree topology formation | |
US6704301B2 (en) | Method and apparatus to provide a routing protocol for wireless devices | |
JP4599617B2 (en) | Centralized controller for distributed processing of telecommunications features | |
KR101215993B1 (en) | P2P Content Distribution Network for Peer-to-Peer Live Streaming | |
EP1542409A1 (en) | Protocol for multi-hop ad-hoc networks | |
WO2006120946A1 (en) | Tree-type network system, node device, broadcast system, broadcast method, etc. | |
KR20030056701A (en) | Apparatus and method for providing multimedia streaming service by using point-to-point connection | |
US20110246658A1 (en) | Data exchange optimization in a peer-to-peer network | |
CN101682618A (en) | A node and method to provide and keep real-time up-to-date data in a distributed hash table | |
JP2005149040A (en) | Peer-to-peer communication system | |
US9413540B2 (en) | Combining P2P and server-based conferencing | |
US8510461B2 (en) | Network selection for streaming media among multiple devices | |
US8018899B2 (en) | Handoff system and method between different kinds of devices, SIP server and operational method of SIP server | |
JP2006319466A (en) | Information distribution system, processing program, management program, and information distribution method or the like | |
JP4146373B2 (en) | Service selection method and service selection system in dynamic network | |
Sayit et al. | Adaptive, incentive and scalable dynamic tree overlay for P2P live video streaming | |
WO2003100679A1 (en) | Content distribution device and method | |
CN101873248A (en) | Transmission method and device of P2P (peer to peer) stream media | |
JP2005252596A (en) | P2p network construction method using physical reliability and connection state managing apparatus | |
JP4577803B2 (en) | COMMUNICATION METHOD AND TRANSMITTER | |
CN101286943B (en) | Control method of network television service and network television service system | |
JP2012173995A (en) | Receiving terminal and control program for the same | |
JP2006171917A (en) | Protocol for radio multi-hop ad hoc network | |
JP4430951B2 (en) | Content distribution management method, content distribution apparatus, content distribution system, program, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060424 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061003 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090330 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090519 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20091104 |