JP2012173995A - 受信端末およびその制御プログラム - Google Patents

受信端末およびその制御プログラム Download PDF

Info

Publication number
JP2012173995A
JP2012173995A JP2011035448A JP2011035448A JP2012173995A JP 2012173995 A JP2012173995 A JP 2012173995A JP 2011035448 A JP2011035448 A JP 2011035448A JP 2011035448 A JP2011035448 A JP 2011035448A JP 2012173995 A JP2012173995 A JP 2012173995A
Authority
JP
Japan
Prior art keywords
peer
connection
receiving terminal
connections
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011035448A
Other languages
English (en)
Other versions
JP5522801B2 (ja
Inventor
Toru Kimura
徹 木村
Satoshi Nishimura
敏 西村
Katsunori Aoki
勝典 青木
Makoto Yamamoto
真 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Broadcasting Corp
Original Assignee
Nippon Hoso Kyokai NHK
Japan Broadcasting Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Hoso Kyokai NHK, Japan Broadcasting Corp filed Critical Nippon Hoso Kyokai NHK
Priority to JP2011035448A priority Critical patent/JP5522801B2/ja
Publication of JP2012173995A publication Critical patent/JP2012173995A/ja
Application granted granted Critical
Publication of JP5522801B2 publication Critical patent/JP5522801B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】P2Pネットワークにおいて、サーバピアとの接続数が少ないピアが発生することを抑制し、ストリーミングデータの受信を安定化させることが可能な受信端末を提供する。
【解決手段】受信端末1は、当該受信端末1への依存の度合いが低いクライアントピアを切断可能ピアと判定する切断可能ピア判定手段22と、当該受信端末1が切断可能ピアよりも優先的にサーバピアと接続を行う優先接続ピアであるか否かを判定する優先接続ピア判定手段23とを備え、優先接続ピアである他の受信端末から接続要求メッセージを受信した場合に、当該受信端末1におけるクライアントピアとの接続数が予め定めた最大接続数であって、かつ、当該受信端末1が切断可能ピアと接続している場合に、切断可能ピアと切断した後に接続要求メッセージを送信した優先接続ピアである他の受信端末と接続することを特徴とする。
【選択図】図3

Description

本発明は、P2P(ピア・ツー・ピア;Peer to Peer)ネットワークにおいて用いられる受信端末およびその制御プログラムに関する。
近年、通信回線の大容量化に伴って、通信回線を介して、動画等の放送番組(番組コンテンツ)をストリーミングデータとして配信するコンテンツ配信が盛んに行われている。このような通信回線を介したコンテンツ配信では、コンテンツ配信サーバの負荷を軽減するため、メッシュ型あるいはツリー型のP2Pネットワークを用いたストリーミング配信技術が用いられている(非特許文献1参照)。
このP2Pネットワークを用いたストリーミング配信は、番組コンテンツを一定時間間隔(例えば、1秒)に分割したデータ(番組データ)を受信した受信端末が、アプリケーション層で接続関係を持つ受信端末に、自身が受信したデータを送信することで、通信回線を介した番組コンテンツの配信を実現している。なお、P2Pネットワークでは、個々の受信端末(ピア)は、データを送信する側、受信する側といった役割が固定的に決まっておらず、状況に応じてその役割が変動する対等な関係にある。そこで、P2Pネットワークでは、ネットワークに接続しているデータを送信する際の受信端末をサーバピア、データを受信する際の受信端末をクライアントピアと呼んでいる。
このP2Pネットワークでストリーミング配信を行うには、受信端末が、ストリーミングデータを必要とする時点でP2Pネットワークに接続(参加)する接続処理が必要となる。以下、クライアントピアとなる受信端末が、サーバピアと接続する際の従来の手順について説明する。
ここでは、一般的なメッシュ型P2Pネットワークにおける接続手順について説明する。このメッシュ型P2Pネットワークを用いたストリーミング配信では、各ピアには、サーバピアおよびクライアントピアとの最大接続数が予め定められている。
まず、ピアは、自身の現在のサーバピアとの接続数が予め定めた最大接続数に達していない場合、P2Pネットワークに参加している各ピアの接続状況が記されたグループ情報を参照し、接続先候補となるサーバピアを選択する。例えば、ピアは、自身よりもHOP数(P2Pネットワークにおいて中継するピアの数)が少ないピアで、現在接続しているクライアントピアとの接続数が予め定めた最大接続数に達していないピアの中から接続先候補を選択する。
この接続先候補を一意に決定する選択アルゴリズムは、例えば、ピアが接続しているアクセス回線ごとに優先度を付し、その優先度に基づいて選択するものや、ランダムに選択するものなど様々であり、個々のシステムによって異なる。
そして、ピアは、接続先候補のピアを選択できた場合、接続先候補のピアに接続を要求(接続要求メッセージを送信)する。そして、接続要求メッセージを受信した接続先候補のピアは、まだ、クライアントピアとの接続数が最大接続数に達していなければ、要求を行ったピアと接続し、すでに、クライアントピアとの接続数が最大接続数に達していれば、接続を拒否する。また、ピアは、サーバピアおよびクライアントピアと切断する際には、切断要求メッセージを送信して切断を行う。
このような接続処理によって、ピア同士が接続を行うことで、P2Pネットワークが構築され、ストリーミングデータが配信される。すなわち、P2Pネットワークに接続後、各ピアは、自身が保持しているデータのシーケンス番号を記載したデータ保持情報を交換し、自身が保持していないデータをサーバピアに要求する。一方、サーバピアは、要求されたデータを要求のあったピア(クライアントピア)に送信する。これによって、P2Pネットワークを介して、順次ストリーミングデータが各ピアに配信されることになる。
また、ツリー型P2Pネットワークにおけるピアの接続処理は、例えば、特許文献1に開示されている。
この特許文献1に記載されているツリー型放送システムでは、ツリー型P2Pネットワークにおいて、放送装置が、接続を必要とするノード(ピアに相当)の情報(未接続ノード情報)を、ツリーに沿って、上流から下流に向けて配信する。そして、各ノードは、未接続ノード情報を受信すると、未接続ノードを自身の下位層(クライアントピアに相当)として接続可能か否かを接続許容数によって判断し、接続可能であった場合、未接続ノードに接続を要求し、自身の下位層のノードとして接続する。
このように、従来のP2Pネットワークにおける接続は、先に接続要求を行ったピア、あるいは、先に接続が必要と判断されたピアがネットワークに接続される、いわゆる早い者勝ちの論理によって、接続処理が行われている。
特開2009−278567号公報
江崎浩 監修、"P2P(ピア・ツー・ピア)教科書"、インプレスR&D、2007年12月22日
一般に、P2Pネットワークにおいて、各ピアにおけるクライアントピアとの最大接続数が、サーバピアとの最大接続数に対してはるかに多い場合、従来の早い者勝ちの論理によってP2Pネットワークを構築しても、サーバピアとの接続が十分確保されるため、個々のピアにおいて、ストリーミングデータの受信が不安定な状態になることは少ない。
しかし、例えば、帯域の小さい回線の利用により、クライアントピアへのデータ中継能力が低く、クライアントピアとの最大接続数が少なく定められているピアが多くなると、P2Pネットワークにおいて、サーバピアとの最大接続数の総数に対して、クライアントピアとの最大接続数の総数が十分でないため、以下に示す問題が生じる。
すなわち、P2Pネットワークに後から参加したピアが、サーバピアと接続を試みようとした際に、すでにクライアントピアとの接続数が最大接続数に達しているサーバピアが多くなるため、後から参加したピアは、サーバピアとの接続数が少なくなってしまい、ストリーミングデータの受信が不安定になってしまうという問題が生じる。
さらに、従来のメッシュ型P2Pネットワークでは、各ピアが最大接続数までサーバピアと接続し、自身が保持していないデータを、当該データを保持しているサーバピアに要求するため、必ずしも接続したすべてのサーバピアからデータを取得しているわけではない。すなわち、従来のメッシュ型P2Pネットワークでは、一部のサーバピアに対して、まったくデータを要求していないにも関わらず、接続が確保された状態となっているため、接続数が少ないピアが、サーバピアと接続する機会を奪われてしまい、ストリーミングデータの受信が不安定になってしまうという問題が生じる。
本発明は、以上のような問題点に鑑みてなされたものであり、サーバピアとの接続数が少ないピアが発生することを抑制し、ストリーミングデータの受信を安定化させることが可能な受信端末(ピア)およびその制御プログラムを提供することを課題とする。
本発明は、前記課題を解決するために創案されたものであり、まず、請求項1に記載の受信端末は、P2Pネットワークにおけるピアであって、データを受信するクライアントピアおよび前記データを送信するサーバピアとしての機能を有し、前記P2Pネットワークを構成するグループ内で各ピアのサーバピアとの接続数およびクライアントピアとの接続数を含んだ接続状態をグループ情報として共有し、前記データを送受信する受信端末において、切断可能ピア判定手段と、ピア情報通知手段と、接続受付制御手段と、優先接続ピア判定手段と、接続先候補選定手段と、接続要求制御手段と、を備える構成とした。
かかる構成において、受信端末は、切断可能ピア判定手段によって、予め定めた切断可否判定基準により、当該受信端末と接続しているクライアントピアの中で当該受信端末への依存の度合いが低いクライアントピアを切断可能ピアと判定する。例えば、クライアントピアから当該受信端末に対して要求したデータ量の累計が予め定めた閾値よりも少ないか否か、当該クライアントが、他のサーバピアと予め定めた数以上接続しているか否か等を、当該基準とすることができる。
そして、受信端末は、ピア情報通知手段によって、切断可能ピアと判定されたピアと接続しているか否かを示す情報を、グループ情報として他の受信端末に通知する。これによって、自身が切断可能ピアと接続していることをP2Pネットワークのグループ内のピアに対して通知することができる。
また、受信端末は、接続受付制御手段によって、他の受信端末から接続要求メッセージを受信し、他の受信端末と接続する制御を行う。これによって、当該受信端末は、他の受信端末に対してサーバピアとして機能する。
また、受信端末は、優先接続ピア判定手段によって、予め定めた優先判定基準により、当該受信端末が切断可能ピアよりも優先的にサーバピアと接続を行う優先接続ピアであるか否かを判定する。例えば、サーバピアとの接続数が予め定めた最小接続数よりも少ないか否か、バッファに蓄積されているデータ量が予め定めた閾値よりも少ないか否か等を、当該基準とすることができる。
そして、受信端末は、接続先候補選定手段によって、当該受信端末におけるサーバピアとの接続数が予め定めた最大接続数よりも少ない場合に、グループ情報を参照し、クライアントピアとの接続数が予め定めた最大接続数未満のピアを接続先候補として選定する。また、受信端末は、接続先候補選定手段によって、クライアントピアとの接続数が最大接続数であって、当該受信端末が優先接続ピアである場合には、切断可能ピアと接続しているピアを接続先候補として選定する。これによって、受信端末は、接続可能なサーバピアを選定することができる。
そして、受信端末は、接続要求制御手段によって、選定された接続先候補に当該受信端末が優先接続ピアであるか否かを示す情報を付加して接続要求メッセージを送信し、接続先候補と接続する制御を行う。これによって、当該受信端末は、他の受信端末に対してクライアントピアとして機能する。
また、受信端末は、接続受付制御手段において、接続要求メッセージを送信したクライアントピアが優先接続ピアである場合に、当該受信端末におけるクライアントピアとの接続数が予め定めた最大接続数であって、かつ、切断可能ピアと接続している場合に、当該切断可能ピアと切断した後に接続要求メッセージを送信した他の受信端末と接続する制御を行う。これによって、受信端末は、当該受信端末への依存度が少ないクライアントピア(切断可能ピア)を切断し、優先接続ピアを優先的に接続することができる。
また、請求項2に記載の受信端末は、請求項1に記載の受信端末において、切断可能ピア判定手段が、切断可否判定基準として、当該受信端末と接続しているクライアントピアへの予め定めた過去の所定時間分のデータ送信量が予め定めた量よりも少なく、かつ、前記グループ情報において、当該受信端末と接続しているクライアントピアの中でサーバピアとの接続数が予め定めた最小接続数よりも多いクライアントピアを切断可能ピアと判定する構成とした。
かかる構成において、受信端末は、切断可能ピア判定手段によって、クライアントピアへの予め定めた過去の所定時間分のデータ送信量が予め定めた量よりも少なく、かつ、サーバピアとの接続数が予め定めた最小接続数よりも多いクライアントピアは、当該受信端末からデータを受信しなくても、他のサーバピアからデータを受信することが可能であって、当該受信端末から切断してもよいと判定する。
また、請求項3に記載の受信端末は、請求項1または請求項2に記載の受信端末において、優先接続ピア判定手段が、優先判定基準として、当該受信端末におけるサーバピアとの接続数が予め定めた最小接続数よりも少ない場合に、当該受信端末をサーバピアへの優先接続ピアと判定する構成とした。
かかる構成において、受信端末は、優先接続ピア判定手段によって、サーバピアとの接続数が予め定めた最小接続数よりも少ない場合、受信しなければならないデータを十分に受信できなくなると判定し、当該受信端末を他のサーバピアに優先的に接続すべきピア(優先接続ピア)であると判定する。この優先接続ピアは、少なくとも切断可能ピアよりも、サーバピアと接続する優先度が高いといえる。
また、請求項4に記載の受信端末は、請求項1から請求項3のいずれか一項に記載の受信端末において、優先接続ピア判定手段が、優先判定基準として、データを蓄積するバッファにおいて、当該バッファに蓄積されているデータ量、あるいは、バッファに占めるデータ量の割合が予め定めた閾値以下である場合に、当該受信端末をサーバピアへの優先接続ピアと判定する構成とした。
かかる構成において、受信端末は、バッファに蓄積されているデータ量、あるいは、その割合が予め定めた閾値以下である場合、当該受信端末においてデータが枯渇する可能性があると判定し、当該受信端末を他のサーバピアに優先的に接続すべきピア(優先接続ピア)であると判定する。
さらに、請求項5に記載の受信端末は、請求項1から請求項4のいずれか一項に記載の受信端末において、接続受付制御手段が、接続要求メッセージを送信したクライアントピアが優先接続ピアである場合に、当該受信端末におけるクライアントピアとの接続数が予め定めた最大接続数であって、かつ、切断可能ピアと接続していない場合に、接続を拒否する構成とした。
かかる構成において、受信端末は、優先接続ピアから接続の要求があった場合でも、クライアントピアとの接続数が予め定めた最大接続数であって、かつ、切断可能ピアと接続していない場合には、接続受付制御手段によって、接続を拒否する。これは、クライアントピアとの接続数が予め定めた最大接続数であって、かつ、切断可能ピアと接続していなければ、現在接続中のクライアントピアは、当該受信端末をサーバピアとして一定量以上のデータを受信しており、当該受信端末への依存の度合いが大きいからである。
なお、優先接続ピアは、接続先候補選定手段によって、クライアントピアとの接続数が予め定めた最大接続数未満のピアを接続先候補として選定し、クライアントピアとの接続数が最大接続数である場合には、切断可能ピアと接続しているピアを接続先候補として選定して接続を要求するため、基本的には接続を拒否されることはない。しかし、優先接続ピア同士の接続先候補が一致した場合には、受信端末は、後からの接続要求を拒否することになる。しかし、この場合であっても、接続を拒否された優先接続ピアは、再度接続先候補選定手段によって、接続先を選定すればよい。
また、請求個6に記載の受信端末の制御プログラムは、P2Pネットワークにおけるピアであって、データを受信するクライアントピアおよび前記データを送信するサーバピアとしての機能を有し、前記P2Pネットワークを構成するグループ内で各ピアのサーバピアとの接続数およびクライアントピアとの接続数を含んだ接続状態をグループ情報として共有し、前記データを送受信する受信端末において、当該受信端末を制御するコンピュータを、切断可能ピア判定手段、ピア情報通知手段、接続受付制御手段、優先接続ピア判定手段、接続先候補選定手段、接続要求制御手段、として機能させる構成とした。
かかる構成において、制御プログラムは、切断可能ピア判定手段によって、予め定めた切断可否判定基準により、当該受信端末と接続しているクライアントピアの中で当該受信端末への依存の度合いが低いクライアントピアを切断可能ピアと判定する。
そして、制御プログラムは、ピア情報通知手段によって、切断可能ピアと判定されたピアと接続しているか否かを示す情報を、グループ情報として他の受信端末に通知する。
また、制御プログラムは、接続受付制御手段によって、他の受信端末から接続要求メッセージを受信し、他の受信端末と接続を行う。
また、制御プログラムは、優先接続ピア判定手段によって、予め定めた優先判定基準により、当該受信端末が切断可能ピアよりも優先的にサーバピアと接続を行う優先接続ピアであるか否かを判定する。
そして、制御プログラムは、接続先候補選定手段によって、当該受信端末におけるサーバピアとの接続数が予め定めた最大接続数よりも少ない場合に、グループ情報を参照し、クライアントピアとの接続数が予め定めた最大接続数未満のピアを接続先候補として選定する。また、制御プログラムは、接続先候補選定手段によって、クライアントピアとの接続数が最大接続数であって、当該受信端末が優先接続ピアである場合には、切断可能ピアと接続しているピアを接続先候補として選定する。
そして、制御プログラムは、接続要求制御手段によって、選定された接続先候補に当該受信端末が優先接続ピアであるか否かを示す情報を付加して接続要求メッセージを送信し、接続先候補と接続を行う。
また、制御プログラムは、接続受付制御手段において、接続要求メッセージを送信したクライアントピアが優先接続ピアである場合に、当該受信端末におけるクライアントピアとの接続数が予め定めた最大接続数であって、かつ、切断可能ピアと接続している場合に、当該切断可能ピアと切断した後に接続要求メッセージを送信した他の受信端末と接続する。
本発明は、以下に示す優れた効果を奏するものである。
請求項1,6に記載の発明によれば、サーバピアと切断しても影響が少ないクライアントピアを切断可能ピアと判定し、サーバピアとの接続が必要な優先接続ピアからの接続の要求を切断可能ピアとの接続よりも優先する。これによって、本発明は、優先接続ピアが、少なくとも必要最小限のサーバピアとの接続を確保することができるため、サーバピアとの接続数が少なく受信データが枯渇してしまうピアが発生することを抑制し、ストリーミングデータの受信を安定化させることができる。
請求項2に記載の発明によれば、当該受信端末をサーバピアとしているクライアントピアにおいて、当該受信端末への依存の度合いが少ないピアを定量的に切断可能ピアと判定することができる。これによって、本発明は、予め定めた基準によって切断可能なピアを正しく認定し、優先接続ピアから接続の要求があった場合に、配信すべきデータをより必要としているピアに接続を切り替えることができる。
請求項3,4に記載の発明によれば、当該受信端末がサーバピアと接続が必要か否かを定量的に判定することができる。これによって、本発明は、予め定めた基準によってサーバピアとの接続が必要か否かを正しく認定し、接続が必要な場合に、優先的に接続を行うことができる。
請求項5に記載の発明によれば、受信端末は、クライアントピアとの接続数が最大接続数であって、かつ、切断可能ピアと接続していない場合には、優先接続ピアから接続の要求があっても接続を拒否することができる。これによって、本発明は、すでに接続中のサーバピアとクライアントピアとの安定したデータ配信を妨害することなく、P2Pネットワークにおけるデータの配信を安定して行うことができる。
本発明の実施形態に係るコンテンツ配信システムの概略構成を示すシステム構成図である。 本発明の実施形態に係るコンテンツ配信システムの接続形態を模式的に説明するための模式図である。 本発明の実施形態に係るコンテンツ受信装置(受信端末)の構成を示すブロック構成図である。 グループ情報記憶手段に記憶されるグループ情報の内容を示す図である。 接続先情報記憶手段に記憶される接続先情報の内容を示す図である。 バッファに記憶される番組データのデータ量を説明するための説明図である。 接続要求メッセージのデータ形式の例を示すデータ構造図である。 番組データ保持情報メッセージのデータ形式の例を示すデータ構造図である。 番組データメッセージのデータ形式の例を示すデータ構造図である。 本発明の実施形態に係るコンテンツ受信装置(受信端末)の切断可能ピア判定処理の動作を示すフローチャートである。 本発明の実施形態に係るコンテンツ受信装置(受信端末)の接続処理の動作を示すフローチャートである。 図11中の優先接続ピア判定処理の動作を示すフローチャートである。 図11中の接続サーバピア選択処理の動作を示すフローチャートである。
以下、本発明の実施形態について図面を参照して説明する。
[コンテンツ配信システムの概要]
最初に、図1および図2を参照して、本発明の実施形態に係るコンテンツ受信装置(受信端末)を備えたコンテンツ配信システムの概要について説明する。
コンテンツ配信システムSは、図1に示すように、コンテンツ配信サーバSvから、P2Pストリーミングによって、動画等の放送番組(以下、番組コンテンツという)を、ネットワーク(P2Pネットワーク)Nを介して接続された複数のコンテンツ受信装置1に配信するものである。
コンテンツ配信サーバSvは、番組コンテンツを一定時間間隔(例えば、1秒)で分割した番組データを、アプリケーション層で接続関係を有するコンテンツ受信装置1に配信するものである。このコンテンツ配信サーバSvは、番組コンテンツを配信する事業者、例えば、放送局の設備として設置される。なお、番組コンテンツの配信時間等の編成情報は、予めコンテンツ受信装置1に配信されているものとする。
コンテンツ受信装置(受信端末)1は、コンテンツ配信サーバSvから配信される番組データを、番組データの送受信の接続関係が予め構築されているコンテンツ受信装置1間で、逐次、バッファに番組データを蓄積しながらP2Pストリーミングとして送受信するものである。すなわち、コンテンツ受信装置1は、番組データを受信するクライアントピアとしての機能と、番組データを送信するサーバピアとしての機能とを有している。なお、以下の説明において、コンテンツ受信装置1を、番組データの受信側として説明する場合はクライアントピア、番組データの送信側として説明する場合はサーバピアと呼称する場合がある。このコンテンツ受信装置1は、番組コンテンツを視聴する視聴者の宅内に設置される。もちろん、コンテンツ受信装置1は、視聴者が携帯する携帯端末として構成してもよい。
また、コンテンツ受信装置1は、番組コンテンツが配信される時刻等を示す編成情報や、同一の番組コンテンツを受信する他のコンテンツ受信装置1の情報(端末ID等)を、管理サーバ(図示せず)等から、予め取得しているものとする。
このコンテンツ配信システムSは、例えば、図2に示すようなメッシュ型の接続形態(トポロジ)で構成されるP2PネットワークNにおいて、グループを構成し、そのグループ内で、サーバピアとして機能するコンテンツ受信装置1(例えば、101)から、クライアントピアとして機能するコンテンツ受信装置1(例えば、102)に順次番組データを配信する。このようなネットワーク構成は、コンテンツ受信装置1の接続(参加)や切断(離脱)によって、変化する。
なお、図2中、コンテンツ受信装置1間、あるいは、コンテンツ配信サーバSvとコンテンツ受信装置1との間の矢印は、サーバピアとクライアントピアとの接続関係を示し、矢印の向きは、クライアントピアからサーバピアへの向きを示している。
(コンテンツ受信装置の接続処理の概要)
本発明におけるコンテンツ受信装置1の接続処理の概要は以下の通りである。
(1)サーバピアの機能として、コンテンツ受信装置1は、現在接続しているクライアントピアの中で、切断可能なピア(切断可能ピア)が存在するか否かを管理し、接続が必要なクライアントピア(優先接続ピア)から接続の要求があった場合に、切断可能ピアとの接続を切断し、優先接続ピアに接続を切り替える。
(2)クライアントピアの機能として、コンテンツ受信装置1は、自身が必要最小数のサーバピアと接続していない場合、自身が優先接続ピアであることを明示して、サーバピアに接続を要求する。
これによって、サーバピアとの接続が必要なクライアントピアが、優先的にサーバピアと接続され、番組データ(ストリーミングデータ)の受信を良好に行うことが可能になる。
例えば、図2を参照して説明すると、コンテンツ受信装置101がクライアントピアとしてコンテンツ受信装置102〜106を接続した状態で、コンテンツ受信装置101からコンテンツ受信装置102に対して送信された単位時間あたりの番組データのデータ量が予め定めた量よりも少なく、かつ、コンテンツ受信装置102が接続しているサーバピア(ここでは、コンテンツ受信装置101,108,109)の数が予め定めた最小接続数よりも多い場合、コンテンツ受信装置101は、コンテンツ受信装置102を切断しても影響が少ないピアであると判定する。この判定結果を含んだ各コンテンツ受信装置1の現在の接続状態を示すグループ情報は、P2PネットワークNを構成するグループ内で共有される。
ここで、例えば、コンテンツ受信装置107が接続しているサーバピア(ここでは、コンテンツ受信装置110)の数が予め定めた最小接続数よりも少ない場合、コンテンツ受信装置107は、グループ情報を参照して、接続受付可能なコンテンツ受信装置101に対して、自身が優先接続ピアであることを示すフラグを含んだ接続要求メッセージを送信する。
そして、コンテンツ受信装置101は、優先接続要求メッセージを受信し、クライアントピア(ここでは、コンテンツ受信装置102〜106)との接続数が予め定めた最大接続数に達している場合、切断可能ピアであるコンテンツ受信装置102との接続を切断し、新たにコンテンツ受信装置107と接続を行う。
これによって、サーバピアとの接続が必要なクライアントピア(ここでは、コンテンツ受信装置107)が、優先的にサーバピアと接続され、番組データ(ストリーミングデータ)の受信を良好に行うことが可能になる。
以下、コンテンツ受信装置1の構成および動作について詳細に説明する。
[コンテンツ受信装置の構成]
まず、図3を参照して、本発明の実施形態に係るコンテンツ受信装置1の構成について説明する。ここでは、コンテンツ受信装置(受信端末)1は、記憶部10と、P2P制御部20と、送受信部30と、を備えている。
なお、図3では、P2Pネットワークの接続、切断や、番組コンテンツ(番組データ)の配信に必要な構成を示し、それ以外の構成、例えば、番組コンテンツを再生する再生手段等については、一般的なものであるため、図示を省略している。
記憶部10は、コンテンツ受信装置1において必要となる各種情報や、配信された番組データ等を記憶するものであって、半導体メモリ等の一般的な記憶媒体である。ここでは、記憶部10は、グループ情報記憶手段11と、接続先情報記憶手段12と、バッファ13と、を備えている。なお、これらは、物理的に分離した記憶媒体で構成してもよいし、同一の記憶媒体で構成してもよい。
グループ情報記憶手段11は、同一の番組コンテンツを視聴し、P2PネットワークNのグループとして構成している複数のコンテンツ受信装置1の接続状態を示すグループ情報を記憶するものである。このグループ情報は、後記するグループ情報管理手段21によって、書き込まれ、更新される。
例えば、グループ情報は、図4に示すように、端末ID、IPアドレス、HOP数、アクセス回線種別および接続数を含んだ情報である。
ここで、「端末ID」は、コンテンツ受信装置1固有に予め定められた識別子である。また、「IPアドレス」は、コンテンツ受信装置1のネットワークアドレスである。また、「HOP数」は、P2Pネットワークにおけるコンテンツ配信サーバSv(図1参照)から経由するピアの数(ホップ数)である。なお、コンテンツ受信装置1が複数のサーバピアと接続している場合は、最小の数をHOP数とする。
また、「アクセス回線種別」は、各コンテンツ受信装置1が接続している回線を予め分類した数値である。ここでは、高速回線を“2”、低速回線を“1”としている。例えば、この高速回線は、光回線等、低速回線は、ADSL等である。
また、「接続数」は、各コンテンツ受信装置1がサーバピアやクライアントピアとの予め定めた制限接続数や、現在の接続数等の接続数に関する情報を示す数値である。
この「接続数」の各々の要素は、以下の通りである。
「サーバピア最大/最小接続数」は、コンテンツ受信装置1がクライアントピアとして機能する際に接続するサーバピアの最大数(最大接続数)、および、接続すべき必要最小限のサーバピアの数(最小接続数)であって、予め各コンテンツ受信装置1において設定される数である。また、「サーバピア接続数」は、現在接続中のサーバピアの数である。
また、「クライアントピア最大接続数」は、コンテンツ受信装置1がサーバピアとして機能する際に接続するクライアントピアの最大数(最大接続数)であって、予め各コンテンツ受信装置1において設定される数である。また、「クライアントピア接続数」は、現在接続中のクライアントピアの数である。
また、「切断可能ピア接続数」は、コンテンツ受信装置1において、現在接続中のクライアントピアのうちで切断可能なクライアントピア(切断可能ピア)の数である。なお、ここでは、切断可能ピアの数を設定しているが、コンテンツ受信装置1が切断可能ピアと接続しているか否かを示す情報であれば、数に限定されず、単なるフラグであっても構わない。
このように、グループ情報記憶手段11には、同一の番組コンテンツを視聴しているコンテンツ受信装置を特定する情報、並びに、そのコンテンツ受信装置の接続の状態がグループ情報として保持されている。
接続先情報記憶手段12は、コンテンツ受信装置1の現在の接続先の状態を示す情報(接続先情報)を記憶するものである。この接続先情報は、後記する切断可能ピア判定手段22、接続処理手段25、および、番組データ取得・配信手段27によって更新される。
例えば、接続先情報は、図5に示すように、現在接続しているサーバピアおよびクライアントピアごとに各ピアの状態を示す情報である。なお、図5(a)は、図2に示したコンテンツ受信装置103(1)におけるサーバピアの接続先情報を一例として示している。また、図5(b)は、図2に示したコンテンツ受信装置101(1)におけるクライアントピアの接続先情報を一例として示している。もちろん、実際には、あるコンテンツ受信装置1を基準として、サーバピア、クライントピアのそれぞれの接続先情報が接続先情報記憶手段12に記憶されていることはいうまでもない。
図5(a)(b)に示すように、接続先情報は、接続しているピアの数だけ、端末ID、IPアドレス、HOP数、アクセス回線種別および接続数を含んだ情報である。これらの情報は、図4で説明したグループ情報と同じものであるため、説明を省略する。
また、図5(b)に示すように、クライントピアの接続先情報には、サーバピアの接続先情報以外に、「データ送信量」および「切断可能ピアフラグ」を含んでいる。
「データ送信量」は、直近の予め定めた時間区間において、バッファ13に蓄積されている番組データをクライアントピアに送信したデータ量である。例えば、過去30秒間に送信した番組データの個数(あるいはバイト数)である。この「データ送信量」は、後記する番組データ取得・配信手段27によって更新される。
なお、この「データ送信量」は、予め定めた量よりも少なければ、クライアントピアが、サーバピアに対して番組データを要求していない(あるいは、ほとんど要求していない)ことを示す指標となる。例えば、図5(b)に示すように、データ送信量が“0”である端末IDが“102”のクライントピアは、当該クライアントピアに対するサーバピアにとって、切断可能なピアであると判定することができる。
「切断可能ピアフラグ」は、当該クライアントピアが切断可能か否かを示すフラグである。このフラグは、後記する切断可能ピア判定手段22によって設定される。例えば、図5(b)中、○印はフラグがセット(設定)されている状態、×印はフラグがリセット(解除)されている状態を示している。
なお、ここでは、接続先情報記憶手段12に、接続しているサーバピア、クライアントピアに対応するグループ情報(図4)の内容をすべて記憶することとしているが、少なくとも、グループ情報と同一の情報については、端末IDのみを記憶することとしてもよい。その場合、接続先情報記憶手段12の接続先情報を参照するP2P制御部20の各手段は、端末IDをキーとして、グループ情報記憶手段11のグループ情報を参照すればよい。
バッファ13は、サーバピアから受信した番組データを蓄積するものである。このバッファ13は、図6に示すように、サーバピアから受信した、番組コンテンツを分割した番組データを順次、番組データの順番を示すシーケンス番号(データシーケンス番号)とともに蓄積し、再生時間が過ぎた段階で先頭の番組データから順次削除する記憶媒体である。
なお、このバッファ13に蓄積される番組データは、後記する番組データ取得・配信手段27によって、サーバピアから取得され、クライアントピアに順次配信される。
P2P制御部20は、P2PネットワークNへの接続処理を行うとともに、番組データを、サーバピアから取得し、クライアントピアに配信するP2Pストリーミングの制御を行うものである。
ここでは、P2P制御部20は、グループ情報管理手段21と、切断可能ピア判定手段22と、優先接続ピア判定手段23と、接続先候補選定手段24と、接続処理手段25と、バッファ情報取得・配信手段26と、番組データ取得・配信手段27と、を備えている。
グループ情報管理手段21は、当該コンテンツ受信装置1が属するグループの接続状態を示すグループ情報を、送受信部30を介して取得するものである。ここでは、グループ情報管理手段21は、ピア情報通知手段211と、グループ情報取得手段212と、を備えている。
ピア情報通知手段211は、グループ情報の一部となるコンテンツ受信装置1の接続状態を示す情報を他のピアに通知するものである。この接続状態を示す情報は、グループ情報(図4参照)における当該コンテンツ受信装置1に対応した情報である。なお、他のピアに通知する情報は、例えば、サーバピアとの接続数、クライアントピアとの接続数、切断可能ピアとの接続数等の変更した情報のみとしてもよい。
グループ情報取得手段212は、各ピアからグループ情報を取得するものである。このグループ情報取得手段212は、取得したグループ情報を記憶部10のグループ情報記憶手段11に書き込む。
なお、このグループ情報(あるいはグループ情報の一部)を通知および取得する手法は、一般的な手法でよい。例えば、ピア情報通知手段211が、図示を省略したグループ情報を管理する専用サーバ(グループ情報管理サーバ)にグループ情報の一部となる接続状態を示す情報を通知し、グループ情報管理サーバが各ピアに配信するグループ情報を、グループ情報取得手段212が取得する集中管理方法としてもよいし、各ピア間で定期的に現在の接続状態をグループ情報として交換し合う分散管理方法としてもよい。
切断可能ピア判定手段22は、接続先情報記憶手段12に記憶されている接続先情報を参照して、予め定めた基準(切断可否判定基準)により、現在接続しているクライアントピアが切断可能なピアか否かを判定するものである。すなわち、この切断可能ピア判定手段22は、当該コンテンツ受信装置1への依存の度合いが低いクライアントピアを切断可能ピアと判定する。
具体的には、切断可否判定基準として、切断可能ピア判定手段22は、常時、あるいは、定期的(例えば、予め定めた時間間隔)に接続先情報(図5参照)を参照し、現在接続しているクライアントピアで、自身が送信した番組データのデータ送信量が予め定めた量よりも少なく、かつ、予め定めた数(最小接続数)よりも多いサーバピアと接続しているクライアントピアを、切断しても影響が少ないピア(切断可能ピア)として判定する。
この切断可能ピア判定手段22は、切断可能ピアと判定したクライアントピアについては、接続先情報記憶手段12の接続先情報の「切断可能ピアフラグ」をセット(設定)し、切断可能ピアではないと判定したクライアントピアについては、「切断可能ピアフラグ」をリセット(解除)する。
そして、切断可能ピア判定手段22は、現在接続しているクライアントピアについて切断可能ピアと判定されている数を累計し、グループ情報(図4参照)で管理されている当該コンテンツ受信装置1に対応する切断可能ピア接続数と異なる場合、切断可能ピア接続数を更新するとともに、グループ情報管理手段21にその旨を通知する。これによって、コンテンツ受信装置1において、切断可能ピアの数(切断可能ピア接続数)が、グループ内に通知されることになる。
なお、ここでは、切断可能ピア接続数をグループ内に通知することとしたが、例えば、切断可能ピアと接続しているか否かを示すフラグを通知することとしてもよい。この場合、切断可能ピア判定手段22は、現在接続しているクライアントピアについて切断可能ピアと判定されている数が“0”または“1以上”で変化が発生したときに、その旨をグループ情報管理手段21に通知する。
優先接続ピア判定手段23は、予め定めた基準(優先判定基準)により、当該コンテンツ受信装置1が切断可能ピアよりも優先的にサーバピアに接続されるピア(優先接続ピア)であるか否かを判定するものである。ここでは、優先接続ピア判定手段23は、後記する接続先候補選定手段24がサーバピアを選定する際に起動され、その判定結果を接続先候補選定手段24に通知することとする。
具体的には、優先接続ピア判定手段23は、優先判定基準として、接続先情報記憶手段12に記憶されている接続先情報を参照し、サーバピアとの接続数が、予め定められている最小接続数に満たない場合、当該コンテンツ受信装置1を優先接続ピアと判定する。
なお、優先接続ピア判定手段23は、サーバピアとの接続数のみならず、現在のバッファ13に蓄積されている番組データのデータ量、あるいは、バッファ13に占めるデータ量の割合が予め定めた閾値以下である場合に優先接続ピアと判定することとしてもよい。
すなわち、優先接続ピア判定手段23は、サーバピアとの接続数が最小接続数未満である、あるいは、バッファ13に蓄積されている番組データのデータ量(または割合)が予め定めた閾値以下であるという2つの基準のいずれか一方、あるいは、両方が成り立つ場合に、当該コンテンツ受信装置1を優先接続ピアと判定する。
接続先候補選定手段24は、グループ情報記憶手段11に記憶されているグループ情報を参照して、接続可能なサーバピアの接続先候補を選定するものである。この接続先候補選定手段24は、常時、あるいは、定期的(例えば、予め定めた時間間隔)に、接続先情報記憶手段12に記憶されている接続先情報を参照し、現在接続されているサーバピアの数が、予め定められている当該コンテンツ受信装置1のサーバピアの最大接続数に達していない場合に、現在接続しているサーバピア以外で接続可能なサーバピアの接続先候補を選定する。
ここでは、接続先候補選定手段24は、優先接続ピア判定手段23を起動することで、当該コンテンツ受信装置1が優先接続ピアであるか否かを示す判定結果を取得し、当該判定結果に基づいて、接続先候補を選定する。
すなわち、接続先候補選定手段24は、当該コンテンツ受信装置1が優先接続ピアである場合、グループ情報を参照し、クライアントピアとの接続数が最大接続数に達していないピア、または、切断可能ピアと接続している(「切断可能ピアフラグ」が設定されている)ピアの中から接続先候補を選定する。あるいは、接続先候補選定手段24は、クライアントピアとの接続数が最大接続数に達していないピアをグループ情報において検索し、該当するピアが存在しない場合に、切断可能ピアと接続しているピアの中から接続先候補を選定することとしてもよい。
また、接続先候補選定手段24は、当該コンテンツ受信装置1が優先接続ピアでない場合、グループ情報を参照し、クライアントピアとの接続数が最大接続数に達していないピアの中から接続先候補を選定する。なお、サーバピアとして選定するには、HOP数が自身のHOP数以下であるピアが望ましい。また、アクセス回線種別によって、高速回線に接続しているサーバピアの優先度を高くすることとしてもよい。
そして、接続先候補選定手段24は、サーバピアの接続先候補を、自身が優先接続ピアであるか否かを示す情報とともに、接続処理手段25に出力する。
接続処理手段25は、P2Pネットワークへの接続および切断の処理を行うものである。ここでは、接続処理手段25は、接続制御手段251と、切断制御手段252と、を備えている。
接続制御手段251は、サーバピアやクライアントピアとの接続処理を行うものである。ここでは、接続制御手段251は、接続要求制御手段251aと、接続受付制御手段251bと、を備えている。
接続要求制御手段251aは、サーバピアとして機能するコンテンツ受信装置1との接続を行うものである。この接続要求制御手段251aは、接続先候補選定手段24から出力されるサーバピアの接続先候補と、自身が優先接続ピアであるか否かを示す情報とに基づいて、接続要求メッセージを生成し、送受信部30を介して、接続先候補のサーバピアに接続要求メッセージを送信する。
ここで、図7を参照して、接続要求制御手段251aが生成する接続要求メッセージの一例について説明する。図7に示すように、接続要求メッセージは、「メッセージID」、「メッセージシーケンス番号」、「端末ID」、「優先接続ピア通知フラグ」で構成される。
「メッセージID」は、接続要求メッセージ固有の識別子である。また、「メッセージシーケンス番号」は、当該メッセージを識別するためのシーケンス番号である。この「メッセージシーケンス番号」は、メッセージの再送制御を行うため、当該メッセージを送信するたびに連続して付され、当該接続要求メッセージに対する応答あるいは拒否のメッセージには、このメッセージシーケンス番号が付されて返信される。また、「端末ID」は、接続要求を行うコンテンツ受信装置1の識別子である。
また、「優先接続ピア通知フラグ」は、接続要求を行うコンテンツ受信装置1が、優先接続ピアであるか否かを示すフラグである。例えば、接続要求を行うコンテンツ受信装置1が優先接続ピアである場合には、当該フラグに“1”を設定する。また、接続要求を行うコンテンツ受信装置1が優先接続ピアではない場合(通常接続ピアの場合)、当該フラグに“0”を設定する。なお、当該フラグは、接続要求メッセージの送信側と受信側との間で、優先接続ピアであるか否かが識別可能な情報であれば、ビット数やその値は限定されるものではない。
図3に戻って、コンテンツ受信装置1の構成について説明を続ける。
接続要求制御手段251aは、接続要求メッセージを送信後、サーバピアから、接続許可を示す接続応答メッセージを受信した場合、接続先情報記憶手段12の接続先情報を更新する。具体的には、接続応答メッセージを受信したサーバピアの情報(端末ID等)をグループ情報記憶手段11から読み出して、接続先情報記憶手段12に書き込む。
また、接続要求制御手段251aは、接続要求メッセージを送信後、サーバピアから、接続拒否を示す接続拒否メッセージを受信した場合、接続先候補選定手段24に対して、接続先候補の再選定を要求する。
このように、接続要求制御手段251aは、接続先候補選定手段24が選定したサーバに対して接続処理を行う。なお、接続要求制御手段251aは、接続要求メッセージを送信する際に、メッセージの欠損等に備え、メッセージシーケンス番号(図7参照)を用いて再送制御を行うが、当該再送制御は一般的なものであるため、ここでは説明を省略する。
接続受付制御手段251bは、クライアントピアとして機能するコンテンツ受信装置1との接続を行うものである。この接続受付制御手段251bは、送受信部30を介して、他のコンテンツ受信装置1から、接続要求メッセージを受信し、接続を許可または拒否する。
ここでは、接続受付制御手段251bは、接続先情報記憶手段12に記憶されている現在接続しているクライアントピアの数と、当該コンテンツ受信装置1に予め設定されているクライアントピアの最大接続数とを比較する。そして、現在接続しているクライアントピアの数がクライアントピアの最大接続数未満である場合、接続受付制御手段251bは、接続許可を示す接続応答メッセージ(不図示)を生成し、接続要求のあったクライアントピアに接続応答メッセージを送信する。
一方、現在接続しているクライアントピアの数がクライアントピアの最大接続数と等しい場合、接続受付制御手段251bは、接続要求メッセージが、優先接続ピアから送信されたか否かによって処理を変える。
すなわち、接続受付制御手段251bは、接続要求メッセージの優先接続ピア通知フラグ(図7参照)を参照して、当該メッセージが、優先接続ピアから送信されたか否かを判定する。そして、接続要求メッセージが優先接続ピアから送信されたと判定した場合、接続受付制御手段251bは、接続先情報記憶手段12に記憶されている現在接続中のクライアントピアの中で、切断可能ピアと認定しているクライアントピアの端末IDを切断制御手段252に通知して切断を行い、接続許可を示す接続応答メッセージを生成し、接続要求のあったクライアントピアに接続応答メッセージを送信する。
また、接続要求メッセージが優先接続ピアではないピア(通常接続ピア)から送信されたと判定した場合、接続受付制御手段251bは、接続拒否を示す接続拒否メッセージ(不図示)を生成し、接続要求のあったクライアントピアに接続拒否メッセージを送信する。
このように、接続受付制御手段251bは、接続を要求したピアが優先接続ピアであれば、優先的に接続を受け付ける。
そして、接続制御手段251は、グループ情報記憶手段11を参照して、接続を行ったサーバピアあるいはクライアントピアの情報を、接続先情報記憶手段12に追加して更新する。そして、接続制御手段251は、グループ情報および接続先情報におけるサーバピアあるいはクライアントピアとの接続数を更新するとともに、グループ情報管理手段21にその旨を通知する。
切断制御手段252は、コンテンツ受信装置1自身のP2PネットワークNからの切断処理、および、接続関係にある他のコンテンツ受信装置1(サーバピア、クライアントピア)からの切断処理を行うものである。
すなわち、切断制御手段252は、コンテンツ受信装置1自身がP2Pネットワークから離脱する場合、今まで接続していたサーバピアあるいはクライアントピアに対して、送受信部30を介して、切断要求メッセージ(不図示)を送信することで、サーバピアあるいはクライアントピアとの接続を切断する。
また、切断制御手段252は、接続受付制御手段251bから、切断を指示された場合、通知された端末IDのクライアントピアに切断要求メッセージを送信し、接続先情報記憶手段12に記憶されている接続先情報から、切断を行ったクライアントピアの端末IDで特定される情報を削除する。そして、切断制御手段252は、グループ情報におけるクライアントピアとの接続数を更新するとともに、グループ情報管理手段21にその旨を通知する。
また、切断制御手段252は、サーバピアあるいはクライアントピアから、送受信部30を介して、切断要求メッセージを受信した場合、接続先情報記憶手段12に記憶されている接続先情報から、要求のあったサーバピアあるいはクライアントピアの端末IDで特定される情報を削除する。そして、切断制御手段252は、グループ情報におけるサーバピアあるいはクライアントピアとの接続数を更新するとともに、グループ情報管理手段21にその旨を通知する。
バッファ情報取得・配信手段26は、現在、コンテンツ受信装置1が、バッファ13にどの番組データを保持しているかを示す番組データ保持情報を生成し、クライアントピアにメッセージとして通知したり、サーバピアが保持している番組データ保持情報をメッセージとして取得したりするものである。このバッファ情報取得・配信手段26は、バッファ13に記憶されている個々の番組データの有無をフラグで示した番組データ保持情報を含んだメッセージ(番組データ保持情報メッセージ)を、予め定めた時間間隔(例えば、1秒間隔)で、接続先情報記憶手段12の接続先情報(図5(b)参照)を参照して、現在接続しているクライアントピアに送信する。
このバッファ情報取得・配信手段26は、例えば、図8に示した形式で、番組データ保持情報メッセージを生成する。
図8に示した番組データ保持情報メッセージは、当該メッセージが番組データ保持情報メッセージであることを示す固有の識別子であるメッセージIDと、自身のコンテンツ受信装置1の識別子である端末IDと、番組データ保持情報とを含んでいる。
ここで、番組データ保持情報は、現在、バッファ13に記憶されている番組データの先頭のシーケンス番号(データシーケンス番号)と、後続するデータのデータ長(ビット長)と、先頭のデータシーケンス番号から順に、番組データを保持しているか否かを示すフラグ(保持していない場合“0”、保持している場合“1”)を含んでいる。
これによって、コンテンツ受信装置1は、クライアントピアに対して、現在保持している番組データを通知することができる。
また、バッファ情報取得・配信手段26は、サーバピアから、番組データ保持情報メッセージ(図8参照)を取得し、当該メッセージに含まれている番組データ保持情報を、記憶部10の図示を省略した記憶手段にサーバピアごとに記憶しておく。
これによって、後記する番組データ取得・配信手段27は、自身が保持していない番組データを、保持しているサーバピアに対して要求することができる。
番組データ取得・配信手段27は、P2PネットワークNを介して、サーバピアから番組データを取得したり、クライアントピアに番組データを配信したりするものである。
この番組データ取得・配信手段27は、バッファ情報取得・配信手段26で取得したサーバピアの番組データ保持情報を参照して、自身が保持していない番組データをサーバピアに要求し、番組データを、送受信部30を介して受信し、バッファ13に蓄積する。
また、番組データ取得・配信手段27は、クライアントピアから要求のあった番組データを、バッファ13から読み出し、番組データを要求したクライアントピアに、送受信部30を介して送信する。
この番組データ取得・配信手段27は、例えば、図9に示した形式で、番組データを取得または配信する。図9に示した番組データメッセージは、当該メッセージが番組データメッセージであることを示す固有の識別子であるメッセージIDと、自身のコンテンツ受信装置1の識別子である端末IDと、番組データのシーケンス番号(データシーケンス番号)と、データシーケンス番号に対応した番組データ本体とを含んでいる。
なお、ここでは、番組データ取得・配信手段27は、データ送信量累計手段271を備えている。
データ送信量累計手段271は、クライアントピアごとに番組データを送信したデータ量を、直近の予め定めた時間区間において累計するものである。このデータ送信量累計手段271は、累計したクライアントピアごとのデータ送信量で、接続先情報記憶手段12の接続先情報のデータ送信量(図5(b)参照)を更新する。
なお、データ送信量累計手段271は、例えば、過去30秒間にクライントピアに送信した番組データのデータ量(データ送信量)を累計することとする。
すなわち、データ送信量累計手段271は、単位時間(例えば、1秒間)ごとに、送信した番組データの数を計測、保持し、予め定めた時間区間(例えば、30秒)における番組データのデータ量(データ送信量)を累計する。このとき、データ送信量累計手段271は、単位時間経過ごとに、予め定めた時間区間(例えば、30秒)を超過した番組データのデータ量を削除することで、常に、直近の予め定めた時間区間における番組データのデータ量のみを累計する。
送受信部30は、P2PネットワークNを介して、コンテンツ受信装置1間で、番組データや各種メッセージを送受信するものである。この送受信部30は、一般的な通信制御回路等によって実現することができる。
以上説明したようにコンテンツ受信装置1を構成することで、コンテンツ受信装置1は、P2Pストリーミングによって、番組コンテンツを番組データごとに逐次配信する形態において、サーバピアとの接続数が少ない場合であっても、優先的にサーバピアと接続を行うことができ、番組データの受信を良好に行うことができる。また、コンテンツ配信システムSにおいて、サーバピアとの接続数が少ないクライアントピアの数を減少させることができるため、システム全体として安定して番組コンテンツを配信することができる。
以上説明したコンテンツ受信装置1は、図示を省略したCPUやメモリを搭載した一般的なコンピュータで実現することができる。このとき、コンテンツ受信装置1は、コンピュータを、前記した各手段として機能させる制御プログラムによって動作する。
[コンテンツ受信装置の動作]
次に、本発明の実施形態に係るコンテンツ受信装置1の動作について説明する。ここでは、主に、コンテンツ受信装置1の切断可能ピア判定手段22における接続中のクライアントピアが切断可能か否かを判定する切断可能ピア判定処理動作を説明した後に、優先接続ピア(クライアントピア)を優先的にサーバピアと接続する接続処理動作について説明する。
〔切断可能ピア判定処理動作〕
まず、図10を参照(構成については、適宜図3参照)して、コンテンツ受信装置1の切断可能ピア判定手段22における切断可能ピア判定処理動作について説明する。なお、本動作は、コンテンツ受信装置1において、切断可能ピア判定手段22が定期的に起動されて動作する。
起動された切断可能ピア判定手段22は、まず、接続先情報記憶手段12に記憶されている接続先情報(図5参照)を参照して、現在、クライアントピアが接続されているか否かを判定し(ステップS1)、接続されていない場合(ステップS1でNo)は動作を終了する。
そして、クライントピアが接続されている場合(ステップS1でYes)、切断可能ピア判定手段22は、接続先情報記憶手段12に記憶されている接続先情報において、クライアントピアを選択(例えば、端末IDの小さい順に選択)する(ステップS2)。
そして、切断可能ピア判定手段22は、接続先情報を参照して、ステップS2で選択したクライアントピアへのデータ送信量が予め定めた閾値よりも少なく(ステップS3でYes)、かつ、当該クライアントピアのサーバピアとの接続数が予め定めた最小接続数よりも多い(ステップS4でYes)場合、当該クライアントピアを切断可能ピアとして設定、すなわち、接続先情報において切断可能ピアフラグ(図5(b)参照)をセットする(ステップS5)。
一方、クライアントピアへのデータ送信量が予め定めた閾値以上(ステップS3でNo)、または、当該クライアントピアのサーバピアとの接続数が最小接続数以下(ステップS4でNo)の場合、当該クライアントピアを非切断可能ピアとして設定、すなわち、接続先情報において切断可能ピアフラグ(図5(b)参照)をリセットする(ステップS6)。
そして、切断可能ピア判定手段22は、現在接続されているクライアントピアについてすべて確認が完了していない場合(ステップS7でNo)、ステップS2に戻って、次のクライアントピアを選択し、切断可能ピアであるか否かの判定を行う。
一方、現在接続されているクライアントピアすべての確認が完了した場合(ステップS7でYes)、切断可能ピア判定手段22は、切断可能ピアの数を累計する(ステップS8)。そして、切断可能ピア判定手段22は、ステップS8で累計した切断可能ピアの数が、グループ情報記憶手段11に記憶されているグループ情報(図4参照)において、自身の端末IDに対応する切断可能ピア接続数と異なる場合、グループ情報管理手段21に切断可能ピア接続数が更新された旨を通知する(ステップS9)。
これによって、コンテンツ受信装置1における切断可能ピアの数(切断可能ピア接続数)が、グループ情報としてグループ内に通知されることになる。
〔接続処理動作〕
次に、図11を参照(構成については、適宜図3参照)して、優先接続ピア(クライアントピア)を優先的にサーバピアと接続する接続処理動作について説明する。なお、以下の説明において、クライアントピアとして機能するコンテンツ受信装置1をクライアントピア1C、当該クライアントピア1Cが接続要求を行うサーバピアとして機能するコンテンツ受信装置1をサーバピア1Sと呼称する。
最初に、クライアントピア1Cは、接続先候補選定手段24によって、接続先情報記憶手段12に記憶されている接続先情報において、現在接続しているサーバピアの接続数が、予め設定されている最大接続数未満であるか否かを判定し(ステップS10)、最大接続数に達している場合(ステップS10でNo)、動作を終了する。
一方、サーバピアとの接続数が最大接続数に達していない場合(ステップS10でYes)、クライアントピア1Cは、以下の動作を行う。
まず、クライアントピア1Cは、接続先候補選定手段24から起動された優先接続ピア判定手段23によって、自身が優先接続ピアであるか否かを判定する(ステップS11)。このステップS11の動作については、図12を参照して説明する。
図12(a)に示すように、優先接続ピア判定手段23は、サーバピアとの接続数が、予め定めた最小接続数よりも少ない(ステップS111でYes)、かつ、バッファ13に蓄積されている番組データのデータ量が、予め定めた閾値以下(ステップS112でYes)の場合、当該クライアントピア1Cを優先接続ピアと判定する(ステップS113)。
一方、優先接続ピア判定手段23は、サーバピアとの接続数が、予め定めた最小接続数以上(ステップS111でNo)、または、バッファ13に蓄積されている番組データのデータ量が、予め定めた閾値より多い(ステップS112でNo)場合、当該クライアントピア1Cを非優先接続ピアと判定する(ステップS114)。
なお、図12(a)では、ステップS111とステップS112との両方の条件が満たされる場合にのみ、優先接続ピアと判定したが、図12(b)に示すように、ステップS111とステップS112とのいずれか一方が満たされる場合にのみ、優先接続ピアと判定してもよい。
図11に戻って、接続処理動作について説明を続ける。
ステップS11において自身が優先接続ピアであるか否かを判定後、クライアントピア1Cは、接続先候補選定手段24によって、接続可能なサーバピアの候補を選定する(ステップS12)。なお、ステップS12において、接続可能なサーバピアの候補が存在しない場合、図示を省略するが、クライアントピア1Cは、ステップS10に戻って動作を継続する。このステップS12の動作については、図13を参照して説明する。
図13(a)に示すように、自身が優先接続ピアである場合(ステップS121でYes)、接続先候補選定手段24は、グループ情報を参照して、現在、クライアントピア1Cが接続しているサーバピア以外で、クライアントピアとの接続数が最大接続数未満、または、切断可能ピアと接続しているサーバピアから接続先候補を選択する(ステップS122)。
一方、自身が優先接続ピアでない場合(ステップS121でNo)、接続先候補選定手段24は、グループ情報を参照して、現在、クライアントピア1Cが接続しているサーバピア以外で、クライアントピアとの接続数が最大接続数未満のサーバピアから接続先候補を選択する(ステップS123)。
なお、接続可能なサーバピアの候補を選定する手順は、図13(a)に示した手順に限らず、図13(b)に示すような手順としてもよい。
すなわち、図13(b)に示すように、接続先候補選定手段24は、グループ情報を参照して、現在、クライアントピア1Cが接続しているサーバピア以外で、クライアントピアとの接続数が最大接続数未満のサーバピアを検索する(ステップS124)。
そして、検索対象のピアが存在した場合(ステップS125でYes)、接続先候補選定手段24は、検索されたサーバピア(検索対象ピア)を接続先候補として選択する(ステップS126)。
一方、検索対象のピアが存在しなかった場合(ステップS125でNo)、接続先候補選定手段24は、自身が優先接続ピアである場合(ステップS127でYes)、グループ情報を参照して、切断可能ピアと接続しているサーバピアから接続先候補を選択する(ステップS128)。なお、自身が優先接続ピアでない場合(ステップS127でNo)、現時点では接続先候補は存在しないことになる。
図11に戻って、接続処理動作について説明を続ける。
ステップS12において、サーバピアの接続先候補を選択した後、クライアントピア1Cは、接続制御手段251の接続要求制御手段251aによって、接続要求メッセージを生成し、送受信部30を介して、ステップS12で選択された接続先候補のサーバピアに接続要求メッセージを送信する(ステップS13)。なお、このとき、接続要求制御手段251aは、ステップS11において、自身が優先接続ピアであると判定した場合、接続要求メッセージの「優先接続ピア通知フラグ」に自身が優先接続ピアであるフラグを設定する(図7参照)。
この接続要求メッセージの送信先となるサーバピア1Sは、接続制御手段251の接続受付制御手段251bによって、送受信部30を介して、接続要求メッセージを受信する(ステップS20)。
そして、サーバピア1Sは、接続受付制御手段251bによって、接続先情報記憶手段12に記憶されている接続先情報において、現在接続しているクライアントピアの接続数が、予め設定されている最大接続数に達しているか否かを判定する(ステップS21)。
そして、最大接続数に達していない場合(ステップS10でNo)、サーバピア1Sは、ステップS25に動作を進め、接続受付制御手段251bによって、接続許可を示す接続応答メッセージを生成し、接続要求のあったクライアントピア1Cに接続応答メッセージを送信する。
一方、クライアントピアの接続数が最大接続数に達している場合(ステップS21でYes)、サーバピア1Sは、接続受付制御手段251bによって、接続要求メッセージを解析し、当該メッセージの送信元が優先接続ピアであるか否かを判定する(ステップS22)。
そして、送信元が優先接続ピアでない場合(ステップS22でNo)、サーバピア1Sは、ステップS27に動作を進め、接続受付制御手段251bによって、接続拒否を示す接続拒否メッセージを生成し、接続要求のあったクライアントピア1Cに接続拒否メッセージを送信する。
一方、送信元が優先接続ピアである場合(ステップS22でYes)、サーバピア1Sは、接続受付制御手段251bによって、接続先情報を参照し、現在接続しているクライアントピアの中で切断可能ピアが存在するか否かを判定する(ステップS23)。
そして、切断可能ピアが存在しない場合(ステップS23でNo)、サーバピア1Sは、ステップS27に動作を進める。一方、切断可能ピアが存在する場合(ステップS23でYes)、サーバピア1Sは、切断制御手段252によって、切断可能ピアに(複数の切断可能ピアが存在する場合は、1台の切断可能ピアに)切断要求メッセージを送信し、切断可能ピアとの接続を切断する。
そして、サーバピア1Sは、接続受付制御手段251bによって、接続許可を示す接続応答メッセージを生成し、接続要求のあったクライアントピア1Cに接続応答メッセージを送信する(ステップS25)。
その後、サーバピア1Sは、接続制御手段251および切断制御手段252によって、接続または切断したピアについて、接続先情報を更新するとともに、その旨をグループ情報管理手段21に通知することで、グループ情報を更新する(ステップS26)。
そして、ステップS25において送信された接続応答メッセージ、または、ステップS27において送信された接続拒否メッセージは、クライアントピア1Cが、接続制御手段251の接続要求制御手段251aによって、送受信部30を介して受信する(ステップS14)。
そして、受信したメッセージが接続拒否メッセージであった場合(ステップS15でNo)、クライアントピア1Cは、ステップS12に戻って、接続先候補の再選定を行う。
一方、受信したメッセージが接続許可メッセージであった場合(ステップS15でYes)、クライアントピア1Cは、接続制御手段251によって、接続したサーバピア1Sについて、接続先情報を更新するとともに、その旨をグループ情報管理手段21に通知することで、グループ情報を更新する(ステップS16)。
以上の動作によって、P2PネットワークNを用いたコンテンツ配信システムSにおいて、サーバピアとの接続数が少ないピアを優先的にサーバピアと接続させ、サーバピアとの接続数が少ないクライアントピアの数を減少させることができるため、システム全体として安定して番組コンテンツを配信することができる。
1 コンテンツ受信装置(受信端末、サーバピア、クライアントピア)
10 記憶部
11 グループ情報記憶手段
12 接続先情報記憶手段
13 バッファ
20 P2P制御部
21 グループ情報管理手段
211 ピア情報通知手段
212 グループ情報取得手段
22 切断可能ピア判定手段
23 優先接続ピア判定手段
24 接続先候補選定手段
25 接続処理手段
251 接続制御手段
251a 接続要求制御手段
251b 接続受付制御手段
252 切断制御手段
26 バッファ情報取得・配信手段
27 番組データ取得・配信手段
271 データ送信量累計手段
30 送受信部

Claims (6)

  1. P2Pネットワークにおけるピアであって、データを受信するクライアントピアおよび前記データを送信するサーバピアとしての機能を有し、前記P2Pネットワークを構成するグループ内で各ピアのサーバピアとの接続数およびクライアントピアとの接続数を含んだ接続状態をグループ情報として共有し、前記データを送受信する受信端末において、
    予め定めた切断可否判定基準により、当該受信端末と接続しているクライアントピアの中で当該受信端末への依存の度合いが低いクライアントピアを切断可能ピアと判定する切断可能ピア判定手段と、
    前記切断可能ピアと判定されたピアと接続しているか否かを示す情報を、前記グループ情報として他の受信端末に通知するピア情報通知手段と、
    他の受信端末から接続要求メッセージを受信し、前記他の受信端末と接続する制御を行う接続受付制御手段と、
    予め定めた優先判定基準により、当該受信端末が前記切断可能ピアよりも優先的にサーバピアと接続を行う優先接続ピアであるか否かを判定する優先接続ピア判定手段と、
    当該受信端末におけるサーバピアとの接続数が予め定めた最大接続数よりも少ない場合に、前記グループ情報を参照し、クライアントピアとの接続数が予め定めた最大接続数未満のピアを接続先候補として選定し、クライアントピアとの接続数が最大接続数であって、当該受信端末が優先接続ピアである場合には、前記切断可能ピアと接続しているピアを接続先候補として選定する接続先候補選定手段と、
    選定された接続先候補に当該受信端末が前記優先接続ピアであるか否かを示す情報を付加して接続要求メッセージを送信し、前記接続先候補と接続する制御を行う接続要求制御手段と、を備え、
    前記接続受付制御手段は、前記接続要求メッセージを送信したクライアントピアが前記優先接続ピアである場合に、当該受信端末におけるクライアントピアとの接続数が予め定めた最大接続数であって、かつ、前記切断可能ピアと接続している場合に、当該切断可能ピアと切断した後に前記接続要求メッセージを送信した他の受信端末と接続する制御を行うことを特徴とする受信端末。
  2. 前記切断可能ピア判定手段は、前記切断可否判定基準として、当該受信端末と接続しているクライアントピアへの予め定めた過去の所定時間分のデータ送信量が予め定めた量よりも少なく、かつ、前記グループ情報において、当該受信端末と接続しているクライアントピアの中でサーバピアとの接続数が予め定めた最小接続数よりも多いクライアントピアを切断可能ピアと判定することを特徴とする請求項1に記載の受信端末。
  3. 前記優先接続ピア判定手段は、前記優先判定基準として、当該受信端末におけるサーバピアとの接続数が予め定めた最小接続数よりも少ない場合に、当該受信端末をサーバピアへの優先接続ピアと判定することを特徴とする請求項1または請求項2に記載の受信端末。
  4. 前記優先接続ピア判定手段は、前記優先判定基準として、前記データを蓄積するバッファにおいて、当該バッファに蓄積されているデータ量、あるいは、前記バッファに占めるデータ量の割合が予め定めた閾値以下である場合に、当該受信端末をサーバピアへの優先接続ピアと判定することを特徴とする請求項1から請求項3のいずれか一項に記載の受信端末。
  5. 前記接続受付制御手段は、前記接続要求メッセージを送信したクライアントピアが前記優先接続ピアである場合に、当該受信端末におけるクライアントピアとの接続数が予め定めた最大接続数であって、かつ、前記切断可能ピアと接続していない場合に、接続を拒否することを特徴とする請求項1から請求項4のいずれか一項に記載の受信端末。
  6. P2Pネットワークにおけるピアであって、データを受信するクライアントピアおよび前記データを送信するサーバピアとしての機能を有し、前記P2Pネットワークを構成するグループ内で各ピアのサーバピアとの接続数およびクライアントピアとの接続数を含んだ接続状態をグループ情報として共有し、前記データを送受信する受信端末において、当該受信端末を制御するコンピュータを、
    予め定めた切断可否判定基準により、当該受信端末と接続しているクライアントピアの中で当該受信端末への依存の度合いが低いクライアントピアを切断可能ピアと判定する切断可能ピア判定手段、
    前記切断可能ピアと判定されたピアと接続しているか否かを示す情報を、前記グループ情報として他の受信端末に通知するピア情報通知手段、
    他の受信端末から接続要求メッセージを受信し、前記他の受信端末と接続する制御を行う接続受付制御手段、
    予め定めた優先判定基準により、当該受信端末が他のクライアントピアよりも優先的にサーバピアと接続を行う優先接続ピアであるか否かを判定する優先接続ピア判定手段、
    当該受信端末におけるサーバピアとの接続数が予め定めた最大接続数よりも少ない場合に、前記グループ情報を参照し、クライアントピアとの接続数が予め定めた最大接続数未満のピアを接続先候補として選定し、クライアントピアとの接続数が最大接続数であって、当該受信端末が優先接続ピアである場合には、前記切断可能ピアと接続しているピアを接続先候補として選定する接続先候補選定手段、
    選定された接続先候補に当該受信端末が前記優先接続ピアであるか否かを示す情報を付加して接続要求メッセージを送信し、前記接続先候補と接続する制御を行う接続要求制御手段、として機能させ、
    前記接続受付制御手段は、前記接続要求メッセージを送信したクライアントピアが前記優先接続ピアである場合に、当該受信端末におけるクライアントピアとの接続数が予め定めた最大接続数であって、かつ、前記切断可能ピアと接続している場合に、当該切断可能ピアと切断した後に前記接続要求メッセージを送信した他の受信端末と接続する制御を行うことを特徴とする受信端末の制御プログラム。
JP2011035448A 2011-02-22 2011-02-22 受信端末およびその制御プログラム Expired - Fee Related JP5522801B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011035448A JP5522801B2 (ja) 2011-02-22 2011-02-22 受信端末およびその制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011035448A JP5522801B2 (ja) 2011-02-22 2011-02-22 受信端末およびその制御プログラム

Publications (2)

Publication Number Publication Date
JP2012173995A true JP2012173995A (ja) 2012-09-10
JP5522801B2 JP5522801B2 (ja) 2014-06-18

Family

ID=46976849

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011035448A Expired - Fee Related JP5522801B2 (ja) 2011-02-22 2011-02-22 受信端末およびその制御プログラム

Country Status (1)

Country Link
JP (1) JP5522801B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106453588A (zh) * 2016-11-01 2017-02-22 东软集团股份有限公司 释放连接的方法、装置及系统
WO2018012591A1 (ja) * 2016-07-15 2018-01-18 株式会社プランネット・アソシエイツ アプリケーション層マルチキャスト配信方法
JP6271794B1 (ja) * 2017-05-18 2018-01-31 株式会社プランネット・アソシエイツ アプリケーション層マルチキャスト配信方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018012591A1 (ja) * 2016-07-15 2018-01-18 株式会社プランネット・アソシエイツ アプリケーション層マルチキャスト配信方法
CN106453588A (zh) * 2016-11-01 2017-02-22 东软集团股份有限公司 释放连接的方法、装置及系统
CN106453588B (zh) * 2016-11-01 2019-08-09 东软集团股份有限公司 释放连接的方法、装置及系统
JP6271794B1 (ja) * 2017-05-18 2018-01-31 株式会社プランネット・アソシエイツ アプリケーション層マルチキャスト配信方法
WO2018212298A1 (ja) * 2017-05-18 2018-11-22 株式会社プランネット・アソシエイツ アプリケーション層マルチキャスト配信方法

Also Published As

Publication number Publication date
JP5522801B2 (ja) 2014-06-18

Similar Documents

Publication Publication Date Title
US8949436B2 (en) System and method for controlling peer-to-peer connections
CN101399746B (zh) 报文路由方法、系统、设备和选择备份资源的方法、系统
US7983196B2 (en) Tree-type broadcast system, method of instructing mode switch, broadcast device, and broadcast process program
US7961694B1 (en) Peer-to-peer collaborative streaming among mobile terminals
JP2006244223A (ja) P2pコンテンツ転送方法
JP4692414B2 (ja) 通信システム、コンテンツデータ送信可否決定方法、ノード装置、及びノード処理プログラム等
CN111935314B (zh) 区块链系统、消息传输方法及装置
JP5522801B2 (ja) 受信端末およびその制御プログラム
KR101612475B1 (ko) 가십 기반의 p2p 서비스의 파트너쉽 형성 방법 및 장치
JP2010533328A (ja) 他のペアの近傍にあるペアグループを決定する方法、関連するサーバ及び解析装置
US8681760B2 (en) Network positioning system and terminal positioning device
RU2586598C2 (ru) Тиражирование данных
CN101394339A (zh) 一种在对等网络中实现路由的方法、系统及装置
JP4146373B2 (ja) 動的なネットワークにおけるサービス選択方法およびサービス選択システム
JP5616831B2 (ja) 受信端末およびその制御プログラム
JP2009230686A (ja) コンテンツ管理サーバ及びコンテンツ管理プログラム
JP5810919B2 (ja) イベント配信装置、イベント配信システム、及び、イベント配信方法
JP5026388B2 (ja) ノード装置及びコンピュータプログラム
JP5067259B2 (ja) ツリー型放送システム、ノード接続方法、ノード装置、及びノード処理プログラム
JP6231896B2 (ja) コンテンツ配信システム、p2p端末、及び接続切替え方法
US11791980B1 (en) Zero-loss merging of distributed ledgers
CN102148847B (zh) 基于reload的客户端接入对等网络的方法和系统
Singh Algorithms for Reliability in Large Scale Structured and Unstructured Peer-to-Peer Overlay Multicast Networks for Live Streaming
JP5616801B2 (ja) 利用者端末および配信トポロジ組替プログラム
JP2020170887A (ja) 受信端末、再送サーバ及び受信プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130624

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140228

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

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20140326

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140404

R150 Certificate of patent or registration of utility model

Ref document number: 5522801

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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