(57)【特許請求の範囲】
【請求項１】
Ｐ２Ｐネットワークにおけるピアであって、データを受信するクライアントピアおよび前記データを送信するサーバピアとしての機能を有し、前記Ｐ２Ｐネットワークを構成するグループ内で各ピアのサーバピアとの接続数およびクライアントピアとの接続数を含んだ接続状態をグループ情報として共有し、前記データを送受信する受信端末において、
予め定めた切断可否判定基準により、当該受信端末と接続しているクライアントピアの中で当該受信端末への依存の度合いが低いクライアントピアを切断可能ピアと判定する切断可能ピア判定手段と、
前記切断可能ピアと判定されたピアと接続しているか否かを示す情報を、前記グループ情報として他の受信端末に通知するピア情報通知手段と、
他の受信端末から接続要求メッセージを受信し、前記他の受信端末と接続する制御を行う接続受付制御手段と、
予め定めた優先判定基準により、当該受信端末が前記切断可能ピアよりも優先的にサーバピアと接続を行う優先接続ピアであるか否かを判定する優先接続ピア判定手段と、
当該受信端末におけるサーバピアとの接続数が予め定めた最大接続数よりも少ない場合に、前記グループ情報を参照し、クライアントピアとの接続数が予め定めた最大接続数未満のピアを接続先候補として選定し、クライアントピアとの接続数が最大接続数であって、当該受信端末が優先接続ピアである場合には、前記切断可能ピアと接続しているピアを接続先候補として選定する接続先候補選定手段と、
選定された接続先候補に当該受信端末が前記優先接続ピアであるか否かを示す情報を付加して接続要求メッセージを送信し、前記接続先候補と接続する制御を行う接続要求制御手段と、を備え、
前記接続受付制御手段は、前記接続要求メッセージを送信したクライアントピアが前記優先接続ピアである場合に、当該受信端末におけるクライアントピアとの接続数が予め定めた最大接続数であって、かつ、前記切断可能ピアと接続している場合に、当該切断可能ピアと切断した後に前記接続要求メッセージを送信した他の受信端末と接続する制御を行うことを特徴とする受信端末。
【請求項２】
前記切断可能ピア判定手段は、前記切断可否判定基準として、当該受信端末と接続しているクライアントピアへの予め定めた過去の所定時間分のデータ送信量が予め定めた量よりも少なく、かつ、前記グループ情報において、当該受信端末と接続しているクライアントピアの中でサーバピアとの接続数が予め定めた最小接続数よりも多いクライアントピアを切断可能ピアと判定することを特徴とする請求項１に記載の受信端末。
【請求項３】
前記優先接続ピア判定手段は、前記優先判定基準として、当該受信端末におけるサーバピアとの接続数が予め定めた最小接続数よりも少ない場合に、当該受信端末をサーバピアへの優先接続ピアと判定することを特徴とする請求項１または請求項２に記載の受信端末。
【請求項４】
前記優先接続ピア判定手段は、前記優先判定基準として、前記データを蓄積するバッファにおいて、当該バッファに蓄積されているデータ量、あるいは、前記バッファに占めるデータ量の割合が予め定めた閾値以下である場合に、当該受信端末をサーバピアへの優先接続ピアと判定することを特徴とする請求項１から請求項３のいずれか一項に記載の受信端末。
【請求項５】
前記接続受付制御手段は、前記接続要求メッセージを送信したクライアントピアが前記優先接続ピアである場合に、当該受信端末におけるクライアントピアとの接続数が予め定めた最大接続数であって、かつ、前記切断可能ピアと接続していない場合に、接続を拒否することを特徴とする請求項１から請求項４のいずれか一項に記載の受信端末。
【請求項６】
Ｐ２Ｐネットワークにおけるピアであって、データを受信するクライアントピアおよび前記データを送信するサーバピアとしての機能を有し、前記Ｐ２Ｐネットワークを構成するグループ内で各ピアのサーバピアとの接続数およびクライアントピアとの接続数を含んだ接続状態をグループ情報として共有し、前記データを送受信する受信端末において、当該受信端末を制御するコンピュータを、
予め定めた切断可否判定基準により、当該受信端末と接続しているクライアントピアの中で当該受信端末への依存の度合いが低いクライアントピアを切断可能ピアと判定する切断可能ピア判定手段、
前記切断可能ピアと判定されたピアと接続しているか否かを示す情報を、前記グループ情報として他の受信端末に通知するピア情報通知手段、
他の受信端末から接続要求メッセージを受信し、前記他の受信端末と接続する制御を行う接続受付制御手段、
予め定めた優先判定基準により、当該受信端末が他のクライアントピアよりも優先的にサーバピアと接続を行う優先接続ピアであるか否かを判定する優先接続ピア判定手段、
当該受信端末におけるサーバピアとの接続数が予め定めた最大接続数よりも少ない場合に、前記グループ情報を参照し、クライアントピアとの接続数が予め定めた最大接続数未満のピアを接続先候補として選定し、クライアントピアとの接続数が最大接続数であって、当該受信端末が優先接続ピアである場合には、前記切断可能ピアと接続しているピアを接続先候補として選定する接続先候補選定手段、
選定された接続先候補に当該受信端末が前記優先接続ピアであるか否かを示す情報を付加して接続要求メッセージを送信し、前記接続先候補と接続する制御を行う接続要求制御手段、として機能させ、
前記接続受付制御手段は、前記接続要求メッセージを送信したクライアントピアが前記優先接続ピアである場合に、当該受信端末におけるクライアントピアとの接続数が予め定めた最大接続数であって、かつ、前記切断可能ピアと接続している場合に、当該切断可能ピアと切断した後に前記接続要求メッセージを送信した他の受信端末と接続する制御を行うことを特徴とする受信端末の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｐ２Ｐ（ピア・ツー・ピア；Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）ネットワークにおいて用いられる受信端末およびその制御プログラムに関する。
【背景技術】
【０００２】
近年、通信回線の大容量化に伴って、通信回線を介して、動画等の放送番組（番組コンテンツ）をストリーミングデータとして配信するコンテンツ配信が盛んに行われている。このような通信回線を介したコンテンツ配信では、コンテンツ配信サーバの負荷を軽減するため、メッシュ型あるいはツリー型のＰ２Ｐネットワークを用いたストリーミング配信技術が用いられている（非特許文献１参照）。
【０００３】
このＰ２Ｐネットワークを用いたストリーミング配信は、番組コンテンツを一定時間間隔（例えば、１秒）に分割したデータ（番組データ）を受信した受信端末が、アプリケーション層で接続関係を持つ受信端末に、自身が受信したデータを送信することで、通信回線を介した番組コンテンツの配信を実現している。なお、Ｐ２Ｐネットワークでは、個々の受信端末（ピア）は、データを送信する側、受信する側といった役割が固定的に決まっておらず、状況に応じてその役割が変動する対等な関係にある。そこで、Ｐ２Ｐネットワークでは、ネットワークに接続しているデータを送信する際の受信端末をサーバピア、データを受信する際の受信端末をクライアントピアと呼んでいる。
【０００４】
このＰ２Ｐネットワークでストリーミング配信を行うには、受信端末が、ストリーミングデータを必要とする時点でＰ２Ｐネットワークに接続（参加）する接続処理が必要となる。以下、クライアントピアとなる受信端末が、サーバピアと接続する際の従来の手順について説明する。
【０００５】
ここでは、一般的なメッシュ型Ｐ２Ｐネットワークにおける接続手順について説明する。このメッシュ型Ｐ２Ｐネットワークを用いたストリーミング配信では、各ピアには、サーバピアおよびクライアントピアとの最大接続数が予め定められている。
まず、ピアは、自身の現在のサーバピアとの接続数が予め定めた最大接続数に達していない場合、Ｐ２Ｐネットワークに参加している各ピアの接続状況が記されたグループ情報を参照し、接続先候補となるサーバピアを選択する。例えば、ピアは、自身よりもＨＯＰ数（Ｐ２Ｐネットワークにおいて中継するピアの数）が少ないピアで、現在接続しているクライアントピアとの接続数が予め定めた最大接続数に達していないピアの中から接続先候補を選択する。
【０００６】
この接続先候補を一意に決定する選択アルゴリズムは、例えば、ピアが接続しているアクセス回線ごとに優先度を付し、その優先度に基づいて選択するものや、ランダムに選択するものなど様々であり、個々のシステムによって異なる。
【０００７】
そして、ピアは、接続先候補のピアを選択できた場合、接続先候補のピアに接続を要求（接続要求メッセージを送信）する。そして、接続要求メッセージを受信した接続先候補のピアは、まだ、クライアントピアとの接続数が最大接続数に達していなければ、要求を行ったピアと接続し、すでに、クライアントピアとの接続数が最大接続数に達していれば、接続を拒否する。また、ピアは、サーバピアおよびクライアントピアと切断する際には、切断要求メッセージを送信して切断を行う。
【０００８】
このような接続処理によって、ピア同士が接続を行うことで、Ｐ２Ｐネットワークが構築され、ストリーミングデータが配信される。すなわち、Ｐ２Ｐネットワークに接続後、各ピアは、自身が保持しているデータのシーケンス番号を記載したデータ保持情報を交換し、自身が保持していないデータをサーバピアに要求する。一方、サーバピアは、要求されたデータを要求のあったピア（クライアントピア）に送信する。これによって、Ｐ２Ｐネットワークを介して、順次ストリーミングデータが各ピアに配信されることになる。
【０００９】
また、ツリー型Ｐ２Ｐネットワークにおけるピアの接続処理は、例えば、特許文献１に開示されている。
この特許文献１に記載されているツリー型放送システムでは、ツリー型Ｐ２Ｐネットワークにおいて、放送装置が、接続を必要とするノード（ピアに相当）の情報（未接続ノード情報）を、ツリーに沿って、上流から下流に向けて配信する。そして、各ノードは、未接続ノード情報を受信すると、未接続ノードを自身の下位層（クライアントピアに相当）として接続可能か否かを接続許容数によって判断し、接続可能であった場合、未接続ノードに接続を要求し、自身の下位層のノードとして接続する。
【００１０】
このように、従来のＰ２Ｐネットワークにおける接続は、先に接続要求を行ったピア、あるいは、先に接続が必要と判断されたピアがネットワークに接続される、いわゆる早い者勝ちの論理によって、接続処理が行われている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００９−２７８５６７号公報
【非特許文献】
【００１２】
【非特許文献１】江崎浩  監修、“Ｐ２Ｐ（ピア・ツー・ピア）教科書”、インプレスＲ＆Ｄ、２００７年１２月２２日
【発明の概要】
【発明が解決しようとする課題】
【００１３】
一般に、Ｐ２Ｐネットワークにおいて、各ピアにおけるクライアントピアとの最大接続数が、サーバピアとの最大接続数に対してはるかに多い場合、従来の早い者勝ちの論理によってＰ２Ｐネットワークを構築しても、サーバピアとの接続が十分確保されるため、個々のピアにおいて、ストリーミングデータの受信が不安定な状態になることは少ない。
【００１４】
しかし、例えば、帯域の小さい回線の利用により、クライアントピアへのデータ中継能力が低く、クライアントピアとの最大接続数が少なく定められているピアが多くなると、Ｐ２Ｐネットワークにおいて、サーバピアとの最大接続数の総数に対して、クライアントピアとの最大接続数の総数が十分でないため、以下に示す問題が生じる。
すなわち、Ｐ２Ｐネットワークに後から参加したピアが、サーバピアと接続を試みようとした際に、すでにクライアントピアとの接続数が最大接続数に達しているサーバピアが多くなるため、後から参加したピアは、サーバピアとの接続数が少なくなってしまい、ストリーミングデータの受信が不安定になってしまうという問題が生じる。
【００１５】
さらに、従来のメッシュ型Ｐ２Ｐネットワークでは、各ピアが最大接続数までサーバピアと接続し、自身が保持していないデータを、当該データを保持しているサーバピアに要求するため、必ずしも接続したすべてのサーバピアからデータを取得しているわけではない。すなわち、従来のメッシュ型Ｐ２Ｐネットワークでは、一部のサーバピアに対して、まったくデータを要求していないにも関わらず、接続が確保された状態となっているため、接続数が少ないピアが、サーバピアと接続する機会を奪われてしまい、ストリーミングデータの受信が不安定になってしまうという問題が生じる。
【００１６】
本発明は、以上のような問題点に鑑みてなされたものであり、サーバピアとの接続数が少ないピアが発生することを抑制し、ストリーミングデータの受信を安定化させることが可能な受信端末（ピア）およびその制御プログラムを提供することを課題とする。
【課題を解決するための手段】
【００１７】
本発明は、前記課題を解決するために創案されたものであり、まず、請求項１に記載の受信端末は、Ｐ２Ｐネットワークにおけるピアであって、データを受信するクライアントピアおよび前記データを送信するサーバピアとしての機能を有し、前記Ｐ２Ｐネットワークを構成するグループ内で各ピアのサーバピアとの接続数およびクライアントピアとの接続数を含んだ接続状態をグループ情報として共有し、前記データを送受信する受信端末において、切断可能ピア判定手段と、ピア情報通知手段と、接続受付制御手段と、優先接続ピア判定手段と、接続先候補選定手段と、接続要求制御手段と、を備える構成とした。
【００１８】
かかる構成において、受信端末は、切断可能ピア判定手段によって、予め定めた切断可否判定基準により、当該受信端末と接続しているクライアントピアの中で当該受信端末への依存の度合いが低いクライアントピアを切断可能ピアと判定する。例えば、クライアントピアから当該受信端末に対して要求したデータ量の累計が予め定めた閾値よりも少ないか否か、当該クライアントが、他のサーバピアと予め定めた数以上接続しているか否か等を、当該基準とすることができる。
【００１９】
そして、受信端末は、ピア情報通知手段によって、切断可能ピアと判定されたピアと接続しているか否かを示す情報を、グループ情報として他の受信端末に通知する。これによって、自身が切断可能ピアと接続していることをＰ２Ｐネットワークのグループ内のピアに対して通知することができる。
【００２０】
また、受信端末は、接続受付制御手段によって、他の受信端末から接続要求メッセージを受信し、他の受信端末と接続する制御を行う。これによって、当該受信端末は、他の受信端末に対してサーバピアとして機能する。
【００２１】
また、受信端末は、優先接続ピア判定手段によって、予め定めた優先判定基準により、当該受信端末が切断可能ピアよりも優先的にサーバピアと接続を行う優先接続ピアであるか否かを判定する。例えば、サーバピアとの接続数が予め定めた最小接続数よりも少ないか否か、バッファに蓄積されているデータ量が予め定めた閾値よりも少ないか否か等を、当該基準とすることができる。
【００２２】
そして、受信端末は、接続先候補選定手段によって、当該受信端末におけるサーバピアとの接続数が予め定めた最大接続数よりも少ない場合に、グループ情報を参照し、クライアントピアとの接続数が予め定めた最大接続数未満のピアを接続先候補として選定する。また、受信端末は、接続先候補選定手段によって、クライアントピアとの接続数が最大接続数であって、当該受信端末が優先接続ピアである場合には、切断可能ピアと接続しているピアを接続先候補として選定する。これによって、受信端末は、接続可能なサーバピアを選定することができる。
【００２３】
そして、受信端末は、接続要求制御手段によって、選定された接続先候補に当該受信端末が優先接続ピアであるか否かを示す情報を付加して接続要求メッセージを送信し、接続先候補と接続する制御を行う。これによって、当該受信端末は、他の受信端末に対してクライアントピアとして機能する。
【００２４】
また、受信端末は、接続受付制御手段において、接続要求メッセージを送信したクライアントピアが優先接続ピアである場合に、当該受信端末におけるクライアントピアとの接続数が予め定めた最大接続数であって、かつ、切断可能ピアと接続している場合に、当該切断可能ピアと切断した後に接続要求メッセージを送信した他の受信端末と接続する制御を行う。これによって、受信端末は、当該受信端末への依存度が少ないクライアントピア（切断可能ピア）を切断し、優先接続ピアを優先的に接続することができる。
【００２５】
また、請求項２に記載の受信端末は、請求項１に記載の受信端末において、切断可能ピア判定手段が、切断可否判定基準として、当該受信端末と接続しているクライアントピアへの予め定めた過去の所定時間分のデータ送信量が予め定めた量よりも少なく、かつ、前記グループ情報において、当該受信端末と接続しているクライアントピアの中でサーバピアとの接続数が予め定めた最小接続数よりも多いクライアントピアを切断可能ピアと判定する構成とした。
【００２６】
かかる構成において、受信端末は、切断可能ピア判定手段によって、クライアントピアへの予め定めた過去の所定時間分のデータ送信量が予め定めた量よりも少なく、かつ、サーバピアとの接続数が予め定めた最小接続数よりも多いクライアントピアは、当該受信端末からデータを受信しなくても、他のサーバピアからデータを受信することが可能であって、当該受信端末から切断してもよいと判定する。
【００２７】
また、請求項３に記載の受信端末は、請求項１または請求項２に記載の受信端末において、優先接続ピア判定手段が、優先判定基準として、当該受信端末におけるサーバピアとの接続数が予め定めた最小接続数よりも少ない場合に、当該受信端末をサーバピアへの優先接続ピアと判定する構成とした。
【００２８】
かかる構成において、受信端末は、優先接続ピア判定手段によって、サーバピアとの接続数が予め定めた最小接続数よりも少ない場合、受信しなければならないデータを十分に受信できなくなると判定し、当該受信端末を他のサーバピアに優先的に接続すべきピア（優先接続ピア）であると判定する。この優先接続ピアは、少なくとも切断可能ピアよりも、サーバピアと接続する優先度が高いといえる。
【００２９】
また、請求項４に記載の受信端末は、請求項１から請求項３のいずれか一項に記載の受信端末において、優先接続ピア判定手段が、優先判定基準として、データを蓄積するバッファにおいて、当該バッファに蓄積されているデータ量、あるいは、バッファに占めるデータ量の割合が予め定めた閾値以下である場合に、当該受信端末をサーバピアへの優先接続ピアと判定する構成とした。
【００３０】
かかる構成において、受信端末は、バッファに蓄積されているデータ量、あるいは、その割合が予め定めた閾値以下である場合、当該受信端末においてデータが枯渇する可能性があると判定し、当該受信端末を他のサーバピアに優先的に接続すべきピア（優先接続ピア）であると判定する。
【００３１】
さらに、請求項５に記載の受信端末は、請求項１から請求項４のいずれか一項に記載の受信端末において、接続受付制御手段が、接続要求メッセージを送信したクライアントピアが優先接続ピアである場合に、当該受信端末におけるクライアントピアとの接続数が予め定めた最大接続数であって、かつ、切断可能ピアと接続していない場合に、接続を拒否する構成とした。
【００３２】
かかる構成において、受信端末は、優先接続ピアから接続の要求があった場合でも、クライアントピアとの接続数が予め定めた最大接続数であって、かつ、切断可能ピアと接続していない場合には、接続受付制御手段によって、接続を拒否する。これは、クライアントピアとの接続数が予め定めた最大接続数であって、かつ、切断可能ピアと接続していなければ、現在接続中のクライアントピアは、当該受信端末をサーバピアとして一定量以上のデータを受信しており、当該受信端末への依存の度合いが大きいからである。
【００３３】
なお、優先接続ピアは、接続先候補選定手段によって、クライアントピアとの接続数が予め定めた最大接続数未満のピアを接続先候補として選定し、クライアントピアとの接続数が最大接続数である場合には、切断可能ピアと接続しているピアを接続先候補として選定して接続を要求するため、基本的には接続を拒否されることはない。しかし、優先接続ピア同士の接続先候補が一致した場合には、受信端末は、後からの接続要求を拒否することになる。しかし、この場合であっても、接続を拒否された優先接続ピアは、再度接続先候補選定手段によって、接続先を選定すればよい。
【００３４】
また、請求個６に記載の受信端末の制御プログラムは、Ｐ２Ｐネットワークにおけるピアであって、データを受信するクライアントピアおよび前記データを送信するサーバピアとしての機能を有し、前記Ｐ２Ｐネットワークを構成するグループ内で各ピアのサーバピアとの接続数およびクライアントピアとの接続数を含んだ接続状態をグループ情報として共有し、前記データを送受信する受信端末において、当該受信端末を制御するコンピュータを、切断可能ピア判定手段、ピア情報通知手段、接続受付制御手段、優先接続ピア判定手段、接続先候補選定手段、接続要求制御手段、として機能させる構成とした。
【００３５】
かかる構成において、制御プログラムは、切断可能ピア判定手段によって、予め定めた切断可否判定基準により、当該受信端末と接続しているクライアントピアの中で当該受信端末への依存の度合いが低いクライアントピアを切断可能ピアと判定する。
【００３６】
そして、制御プログラムは、ピア情報通知手段によって、切断可能ピアと判定されたピアと接続しているか否かを示す情報を、グループ情報として他の受信端末に通知する。
また、制御プログラムは、接続受付制御手段によって、他の受信端末から接続要求メッセージを受信し、他の受信端末と接続を行う。
【００３７】
また、制御プログラムは、優先接続ピア判定手段によって、予め定めた優先判定基準により、当該受信端末が切断可能ピアよりも優先的にサーバピアと接続を行う優先接続ピアであるか否かを判定する。
【００３８】
そして、制御プログラムは、接続先候補選定手段によって、当該受信端末におけるサーバピアとの接続数が予め定めた最大接続数よりも少ない場合に、グループ情報を参照し、クライアントピアとの接続数が予め定めた最大接続数未満のピアを接続先候補として選定する。また、制御プログラムは、接続先候補選定手段によって、クライアントピアとの接続数が最大接続数であって、当該受信端末が優先接続ピアである場合には、切断可能ピアと接続しているピアを接続先候補として選定する。
【００３９】
そして、制御プログラムは、接続要求制御手段によって、選定された接続先候補に当該受信端末が優先接続ピアであるか否かを示す情報を付加して接続要求メッセージを送信し、接続先候補と接続を行う。
【００４０】
また、制御プログラムは、接続受付制御手段において、接続要求メッセージを送信したクライアントピアが優先接続ピアである場合に、当該受信端末におけるクライアントピアとの接続数が予め定めた最大接続数であって、かつ、切断可能ピアと接続している場合に、当該切断可能ピアと切断した後に接続要求メッセージを送信した他の受信端末と接続する。
【発明の効果】
【００４１】
本発明は、以下に示す優れた効果を奏するものである。
請求項１，６に記載の発明によれば、サーバピアと切断しても影響が少ないクライアントピアを切断可能ピアと判定し、サーバピアとの接続が必要な優先接続ピアからの接続の要求を切断可能ピアとの接続よりも優先する。これによって、本発明は、優先接続ピアが、少なくとも必要最小限のサーバピアとの接続を確保することができるため、サーバピアとの接続数が少なく受信データが枯渇してしまうピアが発生することを抑制し、ストリーミングデータの受信を安定化させることができる。
【００４２】
請求項２に記載の発明によれば、当該受信端末をサーバピアとしているクライアントピアにおいて、当該受信端末への依存の度合いが少ないピアを定量的に切断可能ピアと判定することができる。これによって、本発明は、予め定めた基準によって切断可能なピアを正しく認定し、優先接続ピアから接続の要求があった場合に、配信すべきデータをより必要としているピアに接続を切り替えることができる。
【００４３】
請求項３，４に記載の発明によれば、当該受信端末がサーバピアと接続が必要か否かを定量的に判定することができる。これによって、本発明は、予め定めた基準によってサーバピアとの接続が必要か否かを正しく認定し、接続が必要な場合に、優先的に接続を行うことができる。
【００４４】
請求項５に記載の発明によれば、受信端末は、クライアントピアとの接続数が最大接続数であって、かつ、切断可能ピアと接続していない場合には、優先接続ピアから接続の要求があっても接続を拒否することができる。これによって、本発明は、すでに接続中のサーバピアとクライアントピアとの安定したデータ配信を妨害することなく、Ｐ２Ｐネットワークにおけるデータの配信を安定して行うことができる。
【図面の簡単な説明】
【００４５】
【図１】本発明の実施形態に係るコンテンツ配信システムの概略構成を示すシステム構成図である。
【図２】本発明の実施形態に係るコンテンツ配信システムの接続形態を模式的に説明するための模式図である。
【図３】本発明の実施形態に係るコンテンツ受信装置（受信端末）の構成を示すブロック構成図である。
【図４】グループ情報記憶手段に記憶されるグループ情報の内容を示す図である。
【図５】接続先情報記憶手段に記憶される接続先情報の内容を示す図である。
【図６】バッファに記憶される番組データのデータ量を説明するための説明図である。
【図７】接続要求メッセージのデータ形式の例を示すデータ構造図である。
【図８】番組データ保持情報メッセージのデータ形式の例を示すデータ構造図である。
【図９】番組データメッセージのデータ形式の例を示すデータ構造図である。
【図１０】本発明の実施形態に係るコンテンツ受信装置（受信端末）の切断可能ピア判定処理の動作を示すフローチャートである。
【図１１】本発明の実施形態に係るコンテンツ受信装置（受信端末）の接続処理の動作を示すフローチャートである。
【図１２】図１１中の優先接続ピア判定処理の動作を示すフローチャートである。
【図１３】図１１中の接続サーバピア選択処理の動作を示すフローチャートである。
【発明を実施するための形態】
【００４６】
以下、本発明の実施形態について図面を参照して説明する。
［コンテンツ配信システムの概要］
最初に、図１および図２を参照して、本発明の実施形態に係るコンテンツ受信装置（受信端末）を備えたコンテンツ配信システムの概要について説明する。
【００４７】
コンテンツ配信システムＳは、図１に示すように、コンテンツ配信サーバＳｖから、Ｐ２Ｐストリーミングによって、動画等の放送番組（以下、番組コンテンツという）を、ネットワーク（Ｐ２Ｐネットワーク）Ｎを介して接続された複数のコンテンツ受信装置１に配信するものである。
【００４８】
コンテンツ配信サーバＳｖは、番組コンテンツを一定時間間隔（例えば、１秒）で分割した番組データを、アプリケーション層で接続関係を有するコンテンツ受信装置１に配信するものである。このコンテンツ配信サーバＳｖは、番組コンテンツを配信する事業者、例えば、放送局の設備として設置される。なお、番組コンテンツの配信時間等の編成情報は、予めコンテンツ受信装置１に配信されているものとする。
【００４９】
コンテンツ受信装置（受信端末）１は、コンテンツ配信サーバＳｖから配信される番組データを、番組データの送受信の接続関係が予め構築されているコンテンツ受信装置１間で、逐次、バッファに番組データを蓄積しながらＰ２Ｐストリーミングとして送受信するものである。すなわち、コンテンツ受信装置１は、番組データを受信するクライアントピアとしての機能と、番組データを送信するサーバピアとしての機能とを有している。なお、以下の説明において、コンテンツ受信装置１を、番組データの受信側として説明する場合はクライアントピア、番組データの送信側として説明する場合はサーバピアと呼称する場合がある。このコンテンツ受信装置１は、番組コンテンツを視聴する視聴者の宅内に設置される。もちろん、コンテンツ受信装置１は、視聴者が携帯する携帯端末として構成してもよい。
【００５０】
また、コンテンツ受信装置１は、番組コンテンツが配信される時刻等を示す編成情報や、同一の番組コンテンツを受信する他のコンテンツ受信装置１の情報（端末ＩＤ等）を、管理サーバ（図示せず）等から、予め取得しているものとする。
【００５１】
このコンテンツ配信システムＳは、例えば、図２に示すようなメッシュ型の接続形態（トポロジ）で構成されるＰ２ＰネットワークＮにおいて、グループを構成し、そのグループ内で、サーバピアとして機能するコンテンツ受信装置１（例えば、１０１）から、クライアントピアとして機能するコンテンツ受信装置１（例えば、１０２）に順次番組データを配信する。このようなネットワーク構成は、コンテンツ受信装置１の接続（参加）や切断（離脱）によって、変化する。
【００５２】
なお、図２中、コンテンツ受信装置１間、あるいは、コンテンツ配信サーバＳｖとコンテンツ受信装置１との間の矢印は、サーバピアとクライアントピアとの接続関係を示し、矢印の向きは、クライアントピアからサーバピアへの向きを示している。
【００５３】
（コンテンツ受信装置の接続処理の概要）
本発明におけるコンテンツ受信装置１の接続処理の概要は以下の通りである。
（１）サーバピアの機能として、コンテンツ受信装置１は、現在接続しているクライアントピアの中で、切断可能なピア（切断可能ピア）が存在するか否かを管理し、接続が必要なクライアントピア（優先接続ピア）から接続の要求があった場合に、切断可能ピアとの接続を切断し、優先接続ピアに接続を切り替える。
（２）クライアントピアの機能として、コンテンツ受信装置１は、自身が必要最小数のサーバピアと接続していない場合、自身が優先接続ピアであることを明示して、サーバピアに接続を要求する。
これによって、サーバピアとの接続が必要なクライアントピアが、優先的にサーバピアと接続され、番組データ（ストリーミングデータ）の受信を良好に行うことが可能になる。
【００５４】
例えば、図２を参照して説明すると、コンテンツ受信装置１０１がクライアントピアとしてコンテンツ受信装置１０２〜１０６を接続した状態で、コンテンツ受信装置１０１からコンテンツ受信装置１０２に対して送信された単位時間あたりの番組データのデータ量が予め定めた量よりも少なく、かつ、コンテンツ受信装置１０２が接続しているサーバピア（ここでは、コンテンツ受信装置１０１，１０８，１０９）の数が予め定めた最小接続数よりも多い場合、コンテンツ受信装置１０１は、コンテンツ受信装置１０２を切断しても影響が少ないピアであると判定する。この判定結果を含んだ各コンテンツ受信装置１の現在の接続状態を示すグループ情報は、Ｐ２ＰネットワークＮを構成するグループ内で共有される。
【００５５】
ここで、例えば、コンテンツ受信装置１０７が接続しているサーバピア（ここでは、コンテンツ受信装置１１０）の数が予め定めた最小接続数よりも少ない場合、コンテンツ受信装置１０７は、グループ情報を参照して、接続受付可能なコンテンツ受信装置１０１に対して、自身が優先接続ピアであることを示すフラグを含んだ接続要求メッセージを送信する。
【００５６】
そして、コンテンツ受信装置１０１は、優先接続要求メッセージを受信し、クライアントピア（ここでは、コンテンツ受信装置１０２〜１０６）との接続数が予め定めた最大接続数に達している場合、切断可能ピアであるコンテンツ受信装置１０２との接続を切断し、新たにコンテンツ受信装置１０７と接続を行う。
【００５７】
これによって、サーバピアとの接続が必要なクライアントピア（ここでは、コンテンツ受信装置１０７）が、優先的にサーバピアと接続され、番組データ（ストリーミングデータ）の受信を良好に行うことが可能になる。
以下、コンテンツ受信装置１の構成および動作について詳細に説明する。
【００５８】
［コンテンツ受信装置の構成］
まず、図３を参照して、本発明の実施形態に係るコンテンツ受信装置１の構成について説明する。ここでは、コンテンツ受信装置（受信端末）１は、記憶部１０と、Ｐ２Ｐ制御部２０と、送受信部３０と、を備えている。
なお、図３では、Ｐ２Ｐネットワークの接続、切断や、番組コンテンツ（番組データ）の配信に必要な構成を示し、それ以外の構成、例えば、番組コンテンツを再生する再生手段等については、一般的なものであるため、図示を省略している。
【００５９】
記憶部１０は、コンテンツ受信装置１において必要となる各種情報や、配信された番組データ等を記憶するものであって、半導体メモリ等の一般的な記憶媒体である。ここでは、記憶部１０は、グループ情報記憶手段１１と、接続先情報記憶手段１２と、バッファ１３と、を備えている。なお、これらは、物理的に分離した記憶媒体で構成してもよいし、同一の記憶媒体で構成してもよい。
【００６０】
グループ情報記憶手段１１は、同一の番組コンテンツを視聴し、Ｐ２ＰネットワークＮのグループとして構成している複数のコンテンツ受信装置１の接続状態を示すグループ情報を記憶するものである。このグループ情報は、後記するグループ情報管理手段２１によって、書き込まれ、更新される。
【００６１】
例えば、グループ情報は、図４に示すように、端末ＩＤ、ＩＰアドレス、ＨＯＰ数、アクセス回線種別および接続数を含んだ情報である。
ここで、「端末ＩＤ」は、コンテンツ受信装置１固有に予め定められた識別子である。また、「ＩＰアドレス」は、コンテンツ受信装置１のネットワークアドレスである。また、「ＨＯＰ数」は、Ｐ２Ｐネットワークにおけるコンテンツ配信サーバＳｖ（図１参照）から経由するピアの数（ホップ数）である。なお、コンテンツ受信装置１が複数のサーバピアと接続している場合は、最小の数をＨＯＰ数とする。
【００６２】
また、「アクセス回線種別」は、各コンテンツ受信装置１が接続している回線を予め分類した数値である。ここでは、高速回線を“２”、低速回線を“１”としている。例えば、この高速回線は、光回線等、低速回線は、ＡＤＳＬ等である。
また、「接続数」は、各コンテンツ受信装置１がサーバピアやクライアントピアとの予め定めた制限接続数や、現在の接続数等の接続数に関する情報を示す数値である。
この「接続数」の各々の要素は、以下の通りである。
【００６３】
「サーバピア最大／最小接続数」は、コンテンツ受信装置１がクライアントピアとして機能する際に接続するサーバピアの最大数（最大接続数）、および、接続すべき必要最小限のサーバピアの数（最小接続数）であって、予め各コンテンツ受信装置１において設定される数である。また、「サーバピア接続数」は、現在接続中のサーバピアの数である。
【００６４】
また、「クライアントピア最大接続数」は、コンテンツ受信装置１がサーバピアとして機能する際に接続するクライアントピアの最大数（最大接続数）であって、予め各コンテンツ受信装置１において設定される数である。また、「クライアントピア接続数」は、現在接続中のクライアントピアの数である。
【００６５】
また、「切断可能ピア接続数」は、コンテンツ受信装置１において、現在接続中のクライアントピアのうちで切断可能なクライアントピア（切断可能ピア）の数である。なお、ここでは、切断可能ピアの数を設定しているが、コンテンツ受信装置１が切断可能ピアと接続しているか否かを示す情報であれば、数に限定されず、単なるフラグであっても構わない。
【００６６】
このように、グループ情報記憶手段１１には、同一の番組コンテンツを視聴しているコンテンツ受信装置を特定する情報、並びに、そのコンテンツ受信装置の接続の状態がグループ情報として保持されている。
【００６７】
接続先情報記憶手段１２は、コンテンツ受信装置１の現在の接続先の状態を示す情報（接続先情報）を記憶するものである。この接続先情報は、後記する切断可能ピア判定手段２２、接続処理手段２５、および、番組データ取得・配信手段２７によって更新される。
【００６８】
例えば、接続先情報は、図５に示すように、現在接続しているサーバピアおよびクライアントピアごとに各ピアの状態を示す情報である。なお、図５（ａ）は、図２に示したコンテンツ受信装置１０３（１）におけるサーバピアの接続先情報を一例として示している。また、図５（ｂ）は、図２に示したコンテンツ受信装置１０１（１）におけるクライアントピアの接続先情報を一例として示している。もちろん、実際には、あるコンテンツ受信装置１を基準として、サーバピア、クライントピアのそれぞれの接続先情報が接続先情報記憶手段１２に記憶されていることはいうまでもない。
【００６９】
図５（ａ）（ｂ）に示すように、接続先情報は、接続しているピアの数だけ、端末ＩＤ、ＩＰアドレス、ＨＯＰ数、アクセス回線種別および接続数を含んだ情報である。これらの情報は、図４で説明したグループ情報と同じものであるため、説明を省略する。
また、図５（ｂ）に示すように、クライントピアの接続先情報には、サーバピアの接続先情報以外に、「データ送信量」および「切断可能ピアフラグ」を含んでいる。
【００７０】
「データ送信量」は、直近の予め定めた時間区間において、バッファ１３に蓄積されている番組データをクライアントピアに送信したデータ量である。例えば、過去３０秒間に送信した番組データの個数（あるいはバイト数）である。この「データ送信量」は、後記する番組データ取得・配信手段２７によって更新される。
【００７１】
なお、この「データ送信量」は、予め定めた量よりも少なければ、クライアントピアが、サーバピアに対して番組データを要求していない（あるいは、ほとんど要求していない）ことを示す指標となる。例えば、図５（ｂ）に示すように、データ送信量が“０”である端末ＩＤが“１０２”のクライントピアは、当該クライアントピアに対するサーバピアにとって、切断可能なピアであると判定することができる。
【００７２】
「切断可能ピアフラグ」は、当該クライアントピアが切断可能か否かを示すフラグである。このフラグは、後記する切断可能ピア判定手段２２によって設定される。例えば、図５（ｂ）中、○印はフラグがセット（設定）されている状態、×印はフラグがリセット（解除）されている状態を示している。
【００７３】
なお、ここでは、接続先情報記憶手段１２に、接続しているサーバピア、クライアントピアに対応するグループ情報（図４）の内容をすべて記憶することとしているが、少なくとも、グループ情報と同一の情報については、端末ＩＤのみを記憶することとしてもよい。その場合、接続先情報記憶手段１２の接続先情報を参照するＰ２Ｐ制御部２０の各手段は、端末ＩＤをキーとして、グループ情報記憶手段１１のグループ情報を参照すればよい。
【００７４】
バッファ１３は、サーバピアから受信した番組データを蓄積するものである。このバッファ１３は、図６に示すように、サーバピアから受信した、番組コンテンツを分割した番組データを順次、番組データの順番を示すシーケンス番号（データシーケンス番号）とともに蓄積し、再生時間が過ぎた段階で先頭の番組データから順次削除する記憶媒体である。
なお、このバッファ１３に蓄積される番組データは、後記する番組データ取得・配信手段２７によって、サーバピアから取得され、クライアントピアに順次配信される。
【００７５】
Ｐ２Ｐ制御部２０は、Ｐ２ＰネットワークＮへの接続処理を行うとともに、番組データを、サーバピアから取得し、クライアントピアに配信するＰ２Ｐストリーミングの制御を行うものである。
ここでは、Ｐ２Ｐ制御部２０は、グループ情報管理手段２１と、切断可能ピア判定手段２２と、優先接続ピア判定手段２３と、接続先候補選定手段２４と、接続処理手段２５と、バッファ情報取得・配信手段２６と、番組データ取得・配信手段２７と、を備えている。
【００７６】
グループ情報管理手段２１は、当該コンテンツ受信装置１が属するグループの接続状態を示すグループ情報を、送受信部３０を介して取得するものである。ここでは、グループ情報管理手段２１は、ピア情報通知手段２１１と、グループ情報取得手段２１２と、を備えている。
【００７７】
ピア情報通知手段２１１は、グループ情報の一部となるコンテンツ受信装置１の接続状態を示す情報を他のピアに通知するものである。この接続状態を示す情報は、グループ情報（図４参照）における当該コンテンツ受信装置１に対応した情報である。なお、他のピアに通知する情報は、例えば、サーバピアとの接続数、クライアントピアとの接続数、切断可能ピアとの接続数等の変更した情報のみとしてもよい。
【００７８】
グループ情報取得手段２１２は、各ピアからグループ情報を取得するものである。このグループ情報取得手段２１２は、取得したグループ情報を記憶部１０のグループ情報記憶手段１１に書き込む。
【００７９】
なお、このグループ情報（あるいはグループ情報の一部）を通知および取得する手法は、一般的な手法でよい。例えば、ピア情報通知手段２１１が、図示を省略したグループ情報を管理する専用サーバ（グループ情報管理サーバ）にグループ情報の一部となる接続状態を示す情報を通知し、グループ情報管理サーバが各ピアに配信するグループ情報を、グループ情報取得手段２１２が取得する集中管理方法としてもよいし、各ピア間で定期的に現在の接続状態をグループ情報として交換し合う分散管理方法としてもよい。
【００８０】
切断可能ピア判定手段２２は、接続先情報記憶手段１２に記憶されている接続先情報を参照して、予め定めた基準（切断可否判定基準）により、現在接続しているクライアントピアが切断可能なピアか否かを判定するものである。すなわち、この切断可能ピア判定手段２２は、当該コンテンツ受信装置１への依存の度合いが低いクライアントピアを切断可能ピアと判定する。
【００８１】
具体的には、切断可否判定基準として、切断可能ピア判定手段２２は、常時、あるいは、定期的（例えば、予め定めた時間間隔）に接続先情報（図５参照）を参照し、現在接続しているクライアントピアで、自身が送信した番組データのデータ送信量が予め定めた量よりも少なく、かつ、予め定めた数（最小接続数）よりも多いサーバピアと接続しているクライアントピアを、切断しても影響が少ないピア（切断可能ピア）として判定する。
【００８２】
この切断可能ピア判定手段２２は、切断可能ピアと判定したクライアントピアについては、接続先情報記憶手段１２の接続先情報の「切断可能ピアフラグ」をセット（設定）し、切断可能ピアではないと判定したクライアントピアについては、「切断可能ピアフラグ」をリセット（解除）する。
【００８３】
そして、切断可能ピア判定手段２２は、現在接続しているクライアントピアについて切断可能ピアと判定されている数を累計し、グループ情報（図４参照）で管理されている当該コンテンツ受信装置１に対応する切断可能ピア接続数と異なる場合、切断可能ピア接続数を更新するとともに、グループ情報管理手段２１にその旨を通知する。これによって、コンテンツ受信装置１において、切断可能ピアの数（切断可能ピア接続数）が、グループ内に通知されることになる。
【００８４】
なお、ここでは、切断可能ピア接続数をグループ内に通知することとしたが、例えば、切断可能ピアと接続しているか否かを示すフラグを通知することとしてもよい。この場合、切断可能ピア判定手段２２は、現在接続しているクライアントピアについて切断可能ピアと判定されている数が“０”または“１以上”で変化が発生したときに、その旨をグループ情報管理手段２１に通知する。
【００８５】
優先接続ピア判定手段２３は、予め定めた基準（優先判定基準）により、当該コンテンツ受信装置１が切断可能ピアよりも優先的にサーバピアに接続されるピア（優先接続ピア）であるか否かを判定するものである。ここでは、優先接続ピア判定手段２３は、後記する接続先候補選定手段２４がサーバピアを選定する際に起動され、その判定結果を接続先候補選定手段２４に通知することとする。
具体的には、優先接続ピア判定手段２３は、優先判定基準として、接続先情報記憶手段１２に記憶されている接続先情報を参照し、サーバピアとの接続数が、予め定められている最小接続数に満たない場合、当該コンテンツ受信装置１を優先接続ピアと判定する。
【００８６】
なお、優先接続ピア判定手段２３は、サーバピアとの接続数のみならず、現在のバッファ１３に蓄積されている番組データのデータ量、あるいは、バッファ１３に占めるデータ量の割合が予め定めた閾値以下である場合に優先接続ピアと判定することとしてもよい。
すなわち、優先接続ピア判定手段２３は、サーバピアとの接続数が最小接続数未満である、あるいは、バッファ１３に蓄積されている番組データのデータ量（または割合）が予め定めた閾値以下であるという２つの基準のいずれか一方、あるいは、両方が成り立つ場合に、当該コンテンツ受信装置１を優先接続ピアと判定する。
【００８７】
接続先候補選定手段２４は、グループ情報記憶手段１１に記憶されているグループ情報を参照して、接続可能なサーバピアの接続先候補を選定するものである。この接続先候補選定手段２４は、常時、あるいは、定期的（例えば、予め定めた時間間隔）に、接続先情報記憶手段１２に記憶されている接続先情報を参照し、現在接続されているサーバピアの数が、予め定められている当該コンテンツ受信装置１のサーバピアの最大接続数に達していない場合に、現在接続しているサーバピア以外で接続可能なサーバピアの接続先候補を選定する。
【００８８】
ここでは、接続先候補選定手段２４は、優先接続ピア判定手段２３を起動することで、当該コンテンツ受信装置１が優先接続ピアであるか否かを示す判定結果を取得し、当該判定結果に基づいて、接続先候補を選定する。
すなわち、接続先候補選定手段２４は、当該コンテンツ受信装置１が優先接続ピアである場合、グループ情報を参照し、クライアントピアとの接続数が最大接続数に達していないピア、または、切断可能ピアと接続している（「切断可能ピアフラグ」が設定されている）ピアの中から接続先候補を選定する。あるいは、接続先候補選定手段２４は、クライアントピアとの接続数が最大接続数に達していないピアをグループ情報において検索し、該当するピアが存在しない場合に、切断可能ピアと接続しているピアの中から接続先候補を選定することとしてもよい。
【００８９】
また、接続先候補選定手段２４は、当該コンテンツ受信装置１が優先接続ピアでない場合、グループ情報を参照し、クライアントピアとの接続数が最大接続数に達していないピアの中から接続先候補を選定する。なお、サーバピアとして選定するには、ＨＯＰ数が自身のＨＯＰ数以下であるピアが望ましい。また、アクセス回線種別によって、高速回線に接続しているサーバピアの優先度を高くすることとしてもよい。
そして、接続先候補選定手段２４は、サーバピアの接続先候補を、自身が優先接続ピアであるか否かを示す情報とともに、接続処理手段２５に出力する。
【００９０】
接続処理手段２５は、Ｐ２Ｐネットワークへの接続および切断の処理を行うものである。ここでは、接続処理手段２５は、接続制御手段２５１と、切断制御手段２５２と、を備えている。
【００９１】
接続制御手段２５１は、サーバピアやクライアントピアとの接続処理を行うものである。ここでは、接続制御手段２５１は、接続要求制御手段２５１ａと、接続受付制御手段２５１ｂと、を備えている。
接続要求制御手段２５１ａは、サーバピアとして機能するコンテンツ受信装置１との接続を行うものである。この接続要求制御手段２５１ａは、接続先候補選定手段２４から出力されるサーバピアの接続先候補と、自身が優先接続ピアであるか否かを示す情報とに基づいて、接続要求メッセージを生成し、送受信部３０を介して、接続先候補のサーバピアに接続要求メッセージを送信する。
【００９２】
ここで、図７を参照して、接続要求制御手段２５１ａが生成する接続要求メッセージの一例について説明する。図７に示すように、接続要求メッセージは、「メッセージＩＤ」、「メッセージシーケンス番号」、「端末ＩＤ」、「優先接続ピア通知フラグ」で構成される。
【００９３】
「メッセージＩＤ」は、接続要求メッセージ固有の識別子である。また、「メッセージシーケンス番号」は、当該メッセージを識別するためのシーケンス番号である。この「メッセージシーケンス番号」は、メッセージの再送制御を行うため、当該メッセージを送信するたびに連続して付され、当該接続要求メッセージに対する応答あるいは拒否のメッセージには、このメッセージシーケンス番号が付されて返信される。また、「端末ＩＤ」は、接続要求を行うコンテンツ受信装置１の識別子である。
【００９４】
また、「優先接続ピア通知フラグ」は、接続要求を行うコンテンツ受信装置１が、優先接続ピアであるか否かを示すフラグである。例えば、接続要求を行うコンテンツ受信装置１が優先接続ピアである場合には、当該フラグに“１”を設定する。また、接続要求を行うコンテンツ受信装置１が優先接続ピアではない場合（通常接続ピアの場合）、当該フラグに“０”を設定する。なお、当該フラグは、接続要求メッセージの送信側と受信側との間で、優先接続ピアであるか否かが識別可能な情報であれば、ビット数やその値は限定されるものではない。
図３に戻って、コンテンツ受信装置１の構成について説明を続ける。
【００９５】
接続要求制御手段２５１ａは、接続要求メッセージを送信後、サーバピアから、接続許可を示す接続応答メッセージを受信した場合、接続先情報記憶手段１２の接続先情報を更新する。具体的には、接続応答メッセージを受信したサーバピアの情報（端末ＩＤ等）をグループ情報記憶手段１１から読み出して、接続先情報記憶手段１２に書き込む。
【００９６】
また、接続要求制御手段２５１ａは、接続要求メッセージを送信後、サーバピアから、接続拒否を示す接続拒否メッセージを受信した場合、接続先候補選定手段２４に対して、接続先候補の再選定を要求する。
【００９７】
このように、接続要求制御手段２５１ａは、接続先候補選定手段２４が選定したサーバに対して接続処理を行う。なお、接続要求制御手段２５１ａは、接続要求メッセージを送信する際に、メッセージの欠損等に備え、メッセージシーケンス番号（図７参照）を用いて再送制御を行うが、当該再送制御は一般的なものであるため、ここでは説明を省略する。
【００９８】
接続受付制御手段２５１ｂは、クライアントピアとして機能するコンテンツ受信装置１との接続を行うものである。この接続受付制御手段２５１ｂは、送受信部３０を介して、他のコンテンツ受信装置１から、接続要求メッセージを受信し、接続を許可または拒否する。
【００９９】
ここでは、接続受付制御手段２５１ｂは、接続先情報記憶手段１２に記憶されている現在接続しているクライアントピアの数と、当該コンテンツ受信装置１に予め設定されているクライアントピアの最大接続数とを比較する。そして、現在接続しているクライアントピアの数がクライアントピアの最大接続数未満である場合、接続受付制御手段２５１ｂは、接続許可を示す接続応答メッセージ（不図示）を生成し、接続要求のあったクライアントピアに接続応答メッセージを送信する。
【０１００】
一方、現在接続しているクライアントピアの数がクライアントピアの最大接続数と等しい場合、接続受付制御手段２５１ｂは、接続要求メッセージが、優先接続ピアから送信されたか否かによって処理を変える。
【０１０１】
すなわち、接続受付制御手段２５１ｂは、接続要求メッセージの優先接続ピア通知フラグ（図７参照）を参照して、当該メッセージが、優先接続ピアから送信されたか否かを判定する。そして、接続要求メッセージが優先接続ピアから送信されたと判定した場合、接続受付制御手段２５１ｂは、接続先情報記憶手段１２に記憶されている現在接続中のクライアントピアの中で、切断可能ピアと認定しているクライアントピアの端末ＩＤを切断制御手段２５２に通知して切断を行い、接続許可を示す接続応答メッセージを生成し、接続要求のあったクライアントピアに接続応答メッセージを送信する。
【０１０２】
また、接続要求メッセージが優先接続ピアではないピア（通常接続ピア）から送信されたと判定した場合、接続受付制御手段２５１ｂは、接続拒否を示す接続拒否メッセージ（不図示）を生成し、接続要求のあったクライアントピアに接続拒否メッセージを送信する。
このように、接続受付制御手段２５１ｂは、接続を要求したピアが優先接続ピアであれば、優先的に接続を受け付ける。
【０１０３】
そして、接続制御手段２５１は、グループ情報記憶手段１１を参照して、接続を行ったサーバピアあるいはクライアントピアの情報を、接続先情報記憶手段１２に追加して更新する。そして、接続制御手段２５１は、グループ情報および接続先情報におけるサーバピアあるいはクライアントピアとの接続数を更新するとともに、グループ情報管理手段２１にその旨を通知する。
【０１０４】
切断制御手段２５２は、コンテンツ受信装置１自身のＰ２ＰネットワークＮからの切断処理、および、接続関係にある他のコンテンツ受信装置１（サーバピア、クライアントピア）からの切断処理を行うものである。
すなわち、切断制御手段２５２は、コンテンツ受信装置１自身がＰ２Ｐネットワークから離脱する場合、今まで接続していたサーバピアあるいはクライアントピアに対して、送受信部３０を介して、切断要求メッセージ（不図示）を送信することで、サーバピアあるいはクライアントピアとの接続を切断する。
【０１０５】
また、切断制御手段２５２は、接続受付制御手段２５１ｂから、切断を指示された場合、通知された端末ＩＤのクライアントピアに切断要求メッセージを送信し、接続先情報記憶手段１２に記憶されている接続先情報から、切断を行ったクライアントピアの端末ＩＤで特定される情報を削除する。そして、切断制御手段２５２は、グループ情報におけるクライアントピアとの接続数を更新するとともに、グループ情報管理手段２１にその旨を通知する。
【０１０６】
また、切断制御手段２５２は、サーバピアあるいはクライアントピアから、送受信部３０を介して、切断要求メッセージを受信した場合、接続先情報記憶手段１２に記憶されている接続先情報から、要求のあったサーバピアあるいはクライアントピアの端末ＩＤで特定される情報を削除する。そして、切断制御手段２５２は、グループ情報におけるサーバピアあるいはクライアントピアとの接続数を更新するとともに、グループ情報管理手段２１にその旨を通知する。
【０１０７】
バッファ情報取得・配信手段２６は、現在、コンテンツ受信装置１が、バッファ１３にどの番組データを保持しているかを示す番組データ保持情報を生成し、クライアントピアにメッセージとして通知したり、サーバピアが保持している番組データ保持情報をメッセージとして取得したりするものである。このバッファ情報取得・配信手段２６は、バッファ１３に記憶されている個々の番組データの有無をフラグで示した番組データ保持情報を含んだメッセージ（番組データ保持情報メッセージ）を、予め定めた時間間隔（例えば、１秒間隔）で、接続先情報記憶手段１２の接続先情報（図５（ｂ）参照）を参照して、現在接続しているクライアントピアに送信する。
【０１０８】
このバッファ情報取得・配信手段２６は、例えば、図８に示した形式で、番組データ保持情報メッセージを生成する。
図８に示した番組データ保持情報メッセージは、当該メッセージが番組データ保持情報メッセージであることを示す固有の識別子であるメッセージＩＤと、自身のコンテンツ受信装置１の識別子である端末ＩＤと、番組データ保持情報とを含んでいる。
ここで、番組データ保持情報は、現在、バッファ１３に記憶されている番組データの先頭のシーケンス番号（データシーケンス番号）と、後続するデータのデータ長（ビット長）と、先頭のデータシーケンス番号から順に、番組データを保持しているか否かを示すフラグ（保持していない場合“０”、保持している場合“１”）を含んでいる。
これによって、コンテンツ受信装置１は、クライアントピアに対して、現在保持している番組データを通知することができる。
【０１０９】
また、バッファ情報取得・配信手段２６は、サーバピアから、番組データ保持情報メッセージ（図８参照）を取得し、当該メッセージに含まれている番組データ保持情報を、記憶部１０の図示を省略した記憶手段にサーバピアごとに記憶しておく。
これによって、後記する番組データ取得・配信手段２７は、自身が保持していない番組データを、保持しているサーバピアに対して要求することができる。
【０１１０】
番組データ取得・配信手段２７は、Ｐ２ＰネットワークＮを介して、サーバピアから番組データを取得したり、クライアントピアに番組データを配信したりするものである。
この番組データ取得・配信手段２７は、バッファ情報取得・配信手段２６で取得したサーバピアの番組データ保持情報を参照して、自身が保持していない番組データをサーバピアに要求し、番組データを、送受信部３０を介して受信し、バッファ１３に蓄積する。
また、番組データ取得・配信手段２７は、クライアントピアから要求のあった番組データを、バッファ１３から読み出し、番組データを要求したクライアントピアに、送受信部３０を介して送信する。
【０１１１】
この番組データ取得・配信手段２７は、例えば、図９に示した形式で、番組データを取得または配信する。図９に示した番組データメッセージは、当該メッセージが番組データメッセージであることを示す固有の識別子であるメッセージＩＤと、自身のコンテンツ受信装置１の識別子である端末ＩＤと、番組データのシーケンス番号（データシーケンス番号）と、データシーケンス番号に対応した番組データ本体とを含んでいる。
なお、ここでは、番組データ取得・配信手段２７は、データ送信量累計手段２７１を備えている。
【０１１２】
データ送信量累計手段２７１は、クライアントピアごとに番組データを送信したデータ量を、直近の予め定めた時間区間において累計するものである。このデータ送信量累計手段２７１は、累計したクライアントピアごとのデータ送信量で、接続先情報記憶手段１２の接続先情報のデータ送信量（図５（ｂ）参照）を更新する。
【０１１３】
なお、データ送信量累計手段２７１は、例えば、過去３０秒間にクライントピアに送信した番組データのデータ量（データ送信量）を累計することとする。
すなわち、データ送信量累計手段２７１は、単位時間（例えば、１秒間）ごとに、送信した番組データの数を計測、保持し、予め定めた時間区間（例えば、３０秒）における番組データのデータ量（データ送信量）を累計する。このとき、データ送信量累計手段２７１は、単位時間経過ごとに、予め定めた時間区間（例えば、３０秒）を超過した番組データのデータ量を削除することで、常に、直近の予め定めた時間区間における番組データのデータ量のみを累計する。
【０１１４】
送受信部３０は、Ｐ２ＰネットワークＮを介して、コンテンツ受信装置１間で、番組データや各種メッセージを送受信するものである。この送受信部３０は、一般的な通信制御回路等によって実現することができる。
【０１１５】
以上説明したようにコンテンツ受信装置１を構成することで、コンテンツ受信装置１は、Ｐ２Ｐストリーミングによって、番組コンテンツを番組データごとに逐次配信する形態において、サーバピアとの接続数が少ない場合であっても、優先的にサーバピアと接続を行うことができ、番組データの受信を良好に行うことができる。また、コンテンツ配信システムＳにおいて、サーバピアとの接続数が少ないクライアントピアの数を減少させることができるため、システム全体として安定して番組コンテンツを配信することができる。
【０１１６】
以上説明したコンテンツ受信装置１は、図示を省略したＣＰＵやメモリを搭載した一般的なコンピュータで実現することができる。このとき、コンテンツ受信装置１は、コンピュータを、前記した各手段として機能させる制御プログラムによって動作する。
【０１１７】
［コンテンツ受信装置の動作］
次に、本発明の実施形態に係るコンテンツ受信装置１の動作について説明する。ここでは、主に、コンテンツ受信装置１の切断可能ピア判定手段２２における接続中のクライアントピアが切断可能か否かを判定する切断可能ピア判定処理動作を説明した後に、優先接続ピア（クライアントピア）を優先的にサーバピアと接続する接続処理動作について説明する。
【０１１８】
〔切断可能ピア判定処理動作〕
まず、図１０を参照（構成については、適宜図３参照）して、コンテンツ受信装置１の切断可能ピア判定手段２２における切断可能ピア判定処理動作について説明する。なお、本動作は、コンテンツ受信装置１において、切断可能ピア判定手段２２が定期的に起動されて動作する。
【０１１９】
起動された切断可能ピア判定手段２２は、まず、接続先情報記憶手段１２に記憶されている接続先情報（図５参照）を参照して、現在、クライアントピアが接続されているか否かを判定し（ステップＳ１）、接続されていない場合（ステップＳ１でＮｏ）は動作を終了する。
【０１２０】
そして、クライントピアが接続されている場合（ステップＳ１でＹｅｓ）、切断可能ピア判定手段２２は、接続先情報記憶手段１２に記憶されている接続先情報において、クライアントピアを選択（例えば、端末ＩＤの小さい順に選択）する（ステップＳ２）。
そして、切断可能ピア判定手段２２は、接続先情報を参照して、ステップＳ２で選択したクライアントピアへのデータ送信量が予め定めた閾値よりも少なく（ステップＳ３でＹｅｓ）、かつ、当該クライアントピアのサーバピアとの接続数が予め定めた最小接続数よりも多い（ステップＳ４でＹｅｓ）場合、当該クライアントピアを切断可能ピアとして設定、すなわち、接続先情報において切断可能ピアフラグ（図５（ｂ）参照）をセットする（ステップＳ５）。
【０１２１】
一方、クライアントピアへのデータ送信量が予め定めた閾値以上（ステップＳ３でＮｏ）、または、当該クライアントピアのサーバピアとの接続数が最小接続数以下（ステップＳ４でＮｏ）の場合、当該クライアントピアを非切断可能ピアとして設定、すなわち、接続先情報において切断可能ピアフラグ（図５（ｂ）参照）をリセットする（ステップＳ６）。
【０１２２】
そして、切断可能ピア判定手段２２は、現在接続されているクライアントピアについてすべて確認が完了していない場合（ステップＳ７でＮｏ）、ステップＳ２に戻って、次のクライアントピアを選択し、切断可能ピアであるか否かの判定を行う。
【０１２３】
一方、現在接続されているクライアントピアすべての確認が完了した場合（ステップＳ７でＹｅｓ）、切断可能ピア判定手段２２は、切断可能ピアの数を累計する（ステップＳ８）。そして、切断可能ピア判定手段２２は、ステップＳ８で累計した切断可能ピアの数が、グループ情報記憶手段１１に記憶されているグループ情報（図４参照）において、自身の端末ＩＤに対応する切断可能ピア接続数と異なる場合、グループ情報管理手段２１に切断可能ピア接続数が更新された旨を通知する（ステップＳ９）。
これによって、コンテンツ受信装置１における切断可能ピアの数（切断可能ピア接続数）が、グループ情報としてグループ内に通知されることになる。
【０１２４】
〔接続処理動作〕
次に、図１１を参照（構成については、適宜図３参照）して、優先接続ピア（クライアントピア）を優先的にサーバピアと接続する接続処理動作について説明する。なお、以下の説明において、クライアントピアとして機能するコンテンツ受信装置１をクライアントピア１Ｃ、当該クライアントピア１Ｃが接続要求を行うサーバピアとして機能するコンテンツ受信装置１をサーバピア１Ｓと呼称する。
【０１２５】
最初に、クライアントピア１Ｃは、接続先候補選定手段２４によって、接続先情報記憶手段１２に記憶されている接続先情報において、現在接続しているサーバピアの接続数が、予め設定されている最大接続数未満であるか否かを判定し（ステップＳ１０）、最大接続数に達している場合（ステップＳ１０でＮｏ）、動作を終了する。
【０１２６】
一方、サーバピアとの接続数が最大接続数に達していない場合（ステップＳ１０でＹｅｓ）、クライアントピア１Ｃは、以下の動作を行う。
まず、クライアントピア１Ｃは、接続先候補選定手段２４から起動された優先接続ピア判定手段２３によって、自身が優先接続ピアであるか否かを判定する（ステップＳ１１）。このステップＳ１１の動作については、図１２を参照して説明する。
図１２（ａ）に示すように、優先接続ピア判定手段２３は、サーバピアとの接続数が、予め定めた最小接続数よりも少ない（ステップＳ１１１でＹｅｓ）、かつ、バッファ１３に蓄積されている番組データのデータ量が、予め定めた閾値以下（ステップＳ１１２でＹｅｓ）の場合、当該クライアントピア１Ｃを優先接続ピアと判定する（ステップＳ１１３）。
【０１２７】
一方、優先接続ピア判定手段２３は、サーバピアとの接続数が、予め定めた最小接続数以上（ステップＳ１１１でＮｏ）、または、バッファ１３に蓄積されている番組データのデータ量が、予め定めた閾値より多い（ステップＳ１１２でＮｏ）場合、当該クライアントピア１Ｃを非優先接続ピアと判定する（ステップＳ１１４）。
【０１２８】
なお、図１２（ａ）では、ステップＳ１１１とステップＳ１１２との両方の条件が満たされる場合にのみ、優先接続ピアと判定したが、図１２（ｂ）に示すように、ステップＳ１１１とステップＳ１１２とのいずれか一方が満たされる場合にのみ、優先接続ピアと判定してもよい。
図１１に戻って、接続処理動作について説明を続ける。
【０１２９】
ステップＳ１１において自身が優先接続ピアであるか否かを判定後、クライアントピア１Ｃは、接続先候補選定手段２４によって、接続可能なサーバピアの候補を選定する（ステップＳ１２）。なお、ステップＳ１２において、接続可能なサーバピアの候補が存在しない場合、図示を省略するが、クライアントピア１Ｃは、ステップＳ１０に戻って動作を継続する。このステップＳ１２の動作については、図１３を参照して説明する。
図１３（ａ）に示すように、自身が優先接続ピアである場合（ステップＳ１２１でＹｅｓ）、接続先候補選定手段２４は、グループ情報を参照して、現在、クライアントピア１Ｃが接続しているサーバピア以外で、クライアントピアとの接続数が最大接続数未満、または、切断可能ピアと接続しているサーバピアから接続先候補を選択する（ステップＳ１２２）。
【０１３０】
一方、自身が優先接続ピアでない場合（ステップＳ１２１でＮｏ）、接続先候補選定手段２４は、グループ情報を参照して、現在、クライアントピア１Ｃが接続しているサーバピア以外で、クライアントピアとの接続数が最大接続数未満のサーバピアから接続先候補を選択する（ステップＳ１２３）。
【０１３１】
なお、接続可能なサーバピアの候補を選定する手順は、図１３（ａ）に示した手順に限らず、図１３（ｂ）に示すような手順としてもよい。
すなわち、図１３（ｂ）に示すように、接続先候補選定手段２４は、グループ情報を参照して、現在、クライアントピア１Ｃが接続しているサーバピア以外で、クライアントピアとの接続数が最大接続数未満のサーバピアを検索する（ステップＳ１２４）。
【０１３２】
そして、検索対象のピアが存在した場合（ステップＳ１２５でＹｅｓ）、接続先候補選定手段２４は、検索されたサーバピア（検索対象ピア）を接続先候補として選択する（ステップＳ１２６）。
【０１３３】
一方、検索対象のピアが存在しなかった場合（ステップＳ１２５でＮｏ）、接続先候補選定手段２４は、自身が優先接続ピアである場合（ステップＳ１２７でＹｅｓ）、グループ情報を参照して、切断可能ピアと接続しているサーバピアから接続先候補を選択する（ステップＳ１２８）。なお、自身が優先接続ピアでない場合（ステップＳ１２７でＮｏ）、現時点では接続先候補は存在しないことになる。
図１１に戻って、接続処理動作について説明を続ける。
【０１３４】
ステップＳ１２において、サーバピアの接続先候補を選択した後、クライアントピア１Ｃは、接続制御手段２５１の接続要求制御手段２５１ａによって、接続要求メッセージを生成し、送受信部３０を介して、ステップＳ１２で選択された接続先候補のサーバピアに接続要求メッセージを送信する（ステップＳ１３）。なお、このとき、接続要求制御手段２５１ａは、ステップＳ１１において、自身が優先接続ピアであると判定した場合、接続要求メッセージの「優先接続ピア通知フラグ」に自身が優先接続ピアであるフラグを設定する（図７参照）。
【０１３５】
この接続要求メッセージの送信先となるサーバピア１Ｓは、接続制御手段２５１の接続受付制御手段２５１ｂによって、送受信部３０を介して、接続要求メッセージを受信する（ステップＳ２０）。
そして、サーバピア１Ｓは、接続受付制御手段２５１ｂによって、接続先情報記憶手段１２に記憶されている接続先情報において、現在接続しているクライアントピアの接続数が、予め設定されている最大接続数に達しているか否かを判定する（ステップＳ２１）。
【０１３６】
そして、最大接続数に達していない場合（ステップＳ１０でＮｏ）、サーバピア１Ｓは、ステップＳ２５に動作を進め、接続受付制御手段２５１ｂによって、接続許可を示す接続応答メッセージを生成し、接続要求のあったクライアントピア１Ｃに接続応答メッセージを送信する。
【０１３７】
一方、クライアントピアの接続数が最大接続数に達している場合（ステップＳ２１でＹｅｓ）、サーバピア１Ｓは、接続受付制御手段２５１ｂによって、接続要求メッセージを解析し、当該メッセージの送信元が優先接続ピアであるか否かを判定する（ステップＳ２２）。
【０１３８】
そして、送信元が優先接続ピアでない場合（ステップＳ２２でＮｏ）、サーバピア１Ｓは、ステップＳ２７に動作を進め、接続受付制御手段２５１ｂによって、接続拒否を示す接続拒否メッセージを生成し、接続要求のあったクライアントピア１Ｃに接続拒否メッセージを送信する。
【０１３９】
一方、送信元が優先接続ピアである場合（ステップＳ２２でＹｅｓ）、サーバピア１Ｓは、接続受付制御手段２５１ｂによって、接続先情報を参照し、現在接続しているクライアントピアの中で切断可能ピアが存在するか否かを判定する（ステップＳ２３）。
【０１４０】
そして、切断可能ピアが存在しない場合（ステップＳ２３でＮｏ）、サーバピア１Ｓは、ステップＳ２７に動作を進める。一方、切断可能ピアが存在する場合（ステップＳ２３でＹｅｓ）、サーバピア１Ｓは、切断制御手段２５２によって、切断可能ピアに（複数の切断可能ピアが存在する場合は、１台の切断可能ピアに）切断要求メッセージを送信し、切断可能ピアとの接続を切断する。
そして、サーバピア１Ｓは、接続受付制御手段２５１ｂによって、接続許可を示す接続応答メッセージを生成し、接続要求のあったクライアントピア１Ｃに接続応答メッセージを送信する（ステップＳ２５）。
【０１４１】
その後、サーバピア１Ｓは、接続制御手段２５１および切断制御手段２５２によって、接続または切断したピアについて、接続先情報を更新するとともに、その旨をグループ情報管理手段２１に通知することで、グループ情報を更新する（ステップＳ２６）。
そして、ステップＳ２５において送信された接続応答メッセージ、または、ステップＳ２７において送信された接続拒否メッセージは、クライアントピア１Ｃが、接続制御手段２５１の接続要求制御手段２５１ａによって、送受信部３０を介して受信する（ステップＳ１４）。
そして、受信したメッセージが接続拒否メッセージであった場合（ステップＳ１５でＮｏ）、クライアントピア１Ｃは、ステップＳ１２に戻って、接続先候補の再選定を行う。
【０１４２】
一方、受信したメッセージが接続許可メッセージであった場合（ステップＳ１５でＹｅｓ）、クライアントピア１Ｃは、接続制御手段２５１によって、接続したサーバピア１Ｓについて、接続先情報を更新するとともに、その旨をグループ情報管理手段２１に通知することで、グループ情報を更新する（ステップＳ１６）。
【０１４３】
以上の動作によって、Ｐ２ＰネットワークＮを用いたコンテンツ配信システムＳにおいて、サーバピアとの接続数が少ないピアを優先的にサーバピアと接続させ、サーバピアとの接続数が少ないクライアントピアの数を減少させることができるため、システム全体として安定して番組コンテンツを配信することができる。
【符号の説明】
【０１４４】
１      コンテンツ受信装置（受信端末、サーバピア、クライアントピア）
１０    記憶部
１１    グループ情報記憶手段
１２    接続先情報記憶手段
１３    バッファ
２０    Ｐ２Ｐ制御部
２１    グループ情報管理手段
２１１  ピア情報通知手段
２１２  グループ情報取得手段
２２    切断可能ピア判定手段
２３    優先接続ピア判定手段
２４    接続先候補選定手段
２５    接続処理手段
２５１  接続制御手段
２５１ａ  接続要求制御手段
２５１ｂ  接続受付制御手段
２５２  切断制御手段
２６    バッファ情報取得・配信手段
２７    番組データ取得・配信手段
２７１  データ送信量累計手段
３０    送受信部
【図１】
0005522801.tif 000002
【図２】
0005522801.tif 000003
【図３】
0005522801.tif 000004
【図４】
0005522801.tif 000005
【図５】
0005522801.tif 000006
【図６】
0005522801.tif 000007
【図７】
0005522801.tif 000008
【図８】
0005522801.tif 000009
【図９】
0005522801.tif 000010
【図１０】
0005522801.tif 000011
【図１１】
0005522801.tif 000012
【図１２】
0005522801.tif 000013
【図１３】
0005522801.tif 000014