Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5251643B2 - 端末装置及びプログラム - Google Patents
[go: Go Back, main page]

JP5251643B2 - 端末装置及びプログラム - Google Patents

端末装置及びプログラム Download PDF

Info

Publication number
JP5251643B2
JP5251643B2 JP2009064991A JP2009064991A JP5251643B2 JP 5251643 B2 JP5251643 B2 JP 5251643B2 JP 2009064991 A JP2009064991 A JP 2009064991A JP 2009064991 A JP2009064991 A JP 2009064991A JP 5251643 B2 JP5251643 B2 JP 5251643B2
Authority
JP
Japan
Prior art keywords
content
information
terminal device
terminal
reservation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009064991A
Other languages
English (en)
Other versions
JP2010152856A (ja
Inventor
宏紀 ▲榊▼原
英司 長谷川
文雄 本田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009064991A priority Critical patent/JP5251643B2/ja
Priority to US12/620,563 priority patent/US20100124230A1/en
Publication of JP2010152856A publication Critical patent/JP2010152856A/ja
Application granted granted Critical
Publication of JP5251643B2 publication Critical patent/JP5251643B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/72Admission control; Resource allocation using reservation actions during connection setup
    • H04L47/722Admission control; Resource allocation using reservation actions during connection setup at the destination endpoint, e.g. reservation of terminal resources or buffer space
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47214End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for content reservation or setting reminders; for requesting event notification, e.g. of sport results or stock market
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/632Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6375Control signals issued by the client directed to the server or network components for requesting retransmission, e.g. of data packets lost or corrupted during transmission from server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8352Generation of protective data, e.g. certificates involving content or source identification data, e.g. Unique Material Identifier [UMID]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明は、映画、音楽、画像、プログラムなどの情報(以下、コンテンツと記載)を送受信する端末装置に関するものである。
クライアントーサーバ型(C−S型)とは異なる、クライアント(ノード)間でメッセージを中継しあうことでネットワークを構成し、データの転送を行なうP2Pシステムが提案されている。
P2Pシステムは、ノード間で情報の検索と転送を行なうため、C−S型のように特定のサーバを設置する必要がない、という利点を有する。
特許文献1には、ネットワークを介して互いに通信可能な複数のノード装置と、該複数のノード装置間で共用される複数の共用情報を該複数のノード装置に分散して保存させる保存指示装置と、を備えた情報共有システムに含まれる保存指示装置において、情報共有システムに投入し前記複数のノード装置によって共用可能とすべき共用情報を取得する共用情報取得手段と、取得された共用情報の購入予約を行なったノード装置を識別する少なくとも1以上のノード装置識別情報を含む事前予約情報を取得する事前予約情報取得手段と、取得された共用情報と、当該共用情報の保存を指示する保存指示情報と、を、事前予約情報に含まれるノード装置識別情報に基づいて識別されるノード装置に送出する保存指示手段と、を有する保存支持装置が記載されている。
これにより、新たに投入する共用情報の購入予約を行なったノード装置に対して、当該コンテンツを他のノード装置と共用可能に保持するよう保存指示を行なうため、共用情報の公開後、購入予約を行なったノード装置は、共用情報を検索して他のノード装置から配信を受ける必要がないため、共用情報の公開後に、特定のノード装置に対する負荷の増大を防ぐことができる、とされている。
特開2008-020938号公報
コンテンツを放送やマルチキャスト通信を使って配信し、各ノードがダウンロードして利用(視聴)して楽しむ蓄積型サービスが今後考えられる。このサービスでは、視聴者は電子番組案内情報(EPG:Electronic Program Guide)で保存したい番組を予め指定すると、配信時間になると番組が蓄積され、視聴者は好きな時間にダウンロードが完了した番組から選んで視聴できる。
しかし、放送は降雨や積雪など気象条件などによって、通信はネットワーク障害によって受信側ノードでは番組データの一部が欠損する可能性がある。
そこで、ノードごとに欠損箇所が異なるコンテンツデータに対する修復データを配信する方法として、P2Pシステムを用いることを検討している。
ところが、P2Pシステムにおいて、ノード間で情報を共有するためには、所有する情報をP2Pシステムに通知する必要がある。
そのため、コンテンツ配信完了直後、コンテンツを受信した全ノードから、コンテンツを所有する旨の通知が発行されることになり、P2Pネットワークにおける通信負荷が一時的に高まることになる。また、配信されたコンテンツに対する検証処理後、欠陥箇所を補完するためのデータを検索するコンテンツ検索要求が発行されることにより、P2Pネットワークにおける通信負荷が一時的に高まることになる。
本発明はかかる事情に鑑みてなされたものであり、その目的の一つは、P2Pシステムにおいて、コンテンツの欠陥を修復するデータを配信する際の、負荷集中を回避する端末装置を提案する。
本願に開示する端末装置は、ネットワークを介して互いに通信可能な複数のノード装置を有する情報共有システムに前記ノード装置として接続可能な端末装置であって、コンテンツの受信を予約する操作を受付ける予約入力部と、予約操作を受けた前記コンテンツを識別するコンテンツIDと、予約操作を受けた前記端末装置を識別する端末情報と、を有する予約情報を、前記コンテンツIDに基づいて特定される前記端末装置へ送信する予約送信部と、前記コンテンツ配信の予約操作を受けた前記端末装置から送信される前記予約情報を受信し、受信した前記予約情報に基づいて、前記コンテンツを識別する前記コンテンツIDと、前記コンテンツの配信を予約している前記端末装置を識別する前記端末情報と、を対応付けた予約端末リストを更新する予約受信部と、前記予約入力部により予約操作を受けた前記コンテンツを取得した場合、取得した前記コンテンツについて欠陥の有無を検証する検証処理部と、前記検証処理部により欠陥を有すると判定された前記コンテンツを識別する前記コンテンツIDを有する検索要求を、前記コンテンツIDに基づいて特定される前記端末装置へ送信し、前記検索要求の送信先の前記端末装置から検索結果を取得する、所有候補検索部と、前記配信された前記コンテンツに欠陥を有すると判定した前記端末装置から送信される前記検索要求を受信し、前記検索要求が有する前記コンテンツIDに対応して登録されている前記端末情報を前記予約端末リストから取得し、取得した前記端末情報を検索結果として送信する検索処理部と、前記所有候補検索部により取得された検索結果に示される前記端末情報により識別される前記端末装置から、前記検証処理部により欠陥を有すると判定された前記コンテンツの修復データを取得し、取得した修復データを用いて前記コンテンツを修復する、補完処理部と、前記補完処理部による前記コンテンツの修復に基づいて、前記端末装置からの前記検索要求に示される前記コンテンツIDと、前記検索要求した前記端末情報と、前記コンテンツIDと前記端末情報に対応付けて登録されている接続結果の記録された検索結果リストを更新する、接続結果更新部と、を備える。
開示の端末装置によれば、P2Pシステムにおいて、コンテンツの欠陥を修復するデータを配信する際の、負荷集中を効果的に回避することができる、という優れた効果を奏する。
システムの構成を示した図 端末装置のハードウェア構成を示した図 配信装置のハードウェア構成を示した図 端末装置により実行されるプログラムの構成を示した図 システムの処理の流れを示した図 端末装置において実行される要求部PG100における予約処理の流れを示した図 端末装置により実行される管理部PG200における予約処理の流れを示した図 端末装置により実行される要求部PG100における録画処理の流れを示した図 端末装置により実行される要求部PG100における所有候補検索処理の流れを示した図 端末装置により実行される管理部PG200における所有候補検索処理の流れを示した図 端末装置Cから送信される端末リストの内容例を示した図 予約画面の内容例を示した図 電子番組案内情報テーブルPG111の内容例を示した図 端末装置Aから送信される予約情報の内容例を示した図 端末装置Cが有する予約端末リストの内容例を示した図 端末リストPG110のデータ構造を示した図 電子番組案内情報テーブルPG111のデータ構造を示した図 コンテンツ管理テーブルPG112のデータ構造を示した図 予約リストPG113のデータ構造を示した図 検証情報DB(PG114)のデータ構造を示した図 コンテンツDB(PG115)のデータ構造を示した図 所有候補DB(PG116)のデータ構造を示した図 予約端末リストPG210のデータ構造を示した図 端末装置により実行される管理部PG200における補完情報送信処理の流れを示した図 実施例2に係る端末装置により実行されるプログラムの構成を示した図 実施例2に係る要求部PG100における録画処理の流れを示した図 実施例3に係る端末装置により実行されるプログラムの構成を示した図 実施例3に係るシステムの処理の流れを示した図 実施例3に係るシステムにおいて共有される予約情報の流れを概念的に示した図 実施例3に係る端末装置により実行される管理部PG200における予約処理の流れを示した図 実施例3に係る端末装置により実行される要求部PG100における所有候補検索処理の流れを示した図 実施例4に係る端末装置により実行されるプログラムの構成を示した図 実施例4に係る要求部PG100における録画処理の流れを示した図 実施例5に係る端末装置により実行されるプログラムの構成を示した図 実施例5に係る端末装置により実行される管理部PG200における所有候補検索処理の流れを示した図 実施例6に係る端末装置により実行されるプログラムの構成を示した図 接続結果リストのデータ構造及び内容例を示した図 接続結果リストのデータ構造及び内容例を示した図(その2) 実施例6に係るシステムの処理の流れを示した図
以下本発明の実施の形態を、図面を参照して説明する。
〔1.システムの概要〕
図1は、本実施例に係るシステムの概要を示す図である。
図1に示すシステムは、複数台の端末装置100と、配信装置200と、通信回線300と、電波送信機400と、電波受信機500と、を有する。
例えば、通信網300として、インターネット(Internet)、ローカルエリアネットワーク(LAN: Local Area Network)、無線LAN(Wireless LAN: Wireless Local Area Network)を用いることができる。端末装置100と端末装置100、端末装置100と配信装置200は、通信網300を介して、TCP/IP(Transmission Control Protocol/Internet Protocol)、UDP/IP(User Datagram Protocol/Internet Protocol)等、予め定められたプロトコルを用いて通信することができる。
また、端末装置100は、配信装置200から送信される情報を、電波送信機400及び電波受信機500を介して、受信することができる。
また、端末装置100は、配信装置200から送信される情報を、電波送信機400及び電波受信機500及びセットトップボックス600を介して、受信することができる。
端末装置100として、汎用のコンピュータ、携帯端末(PDA:Personal Digital Assistant)、携帯電話、家電機器(例えば、テレビ、録画機器、冷蔵庫、空調機など)等を用いることができる。
〔2.端末装置の構成〕
〔2−1.端末装置のハード構成〕
図2は、本実施例に係る端末装置の構成を示す図である。図2に示す端末装置は、制御部110、記憶部120、通信部140、操作部150、出力部160、電源部170、放送受信部180を有しており、各部は通信線130を介して通信可能に接続されている。
制御部110は、通信線130を介して端末装置のハードウェア各部と接続されており、記憶部に格納されたプログラムの手順に従って所定の機能を実現する。例えば、制御部110として、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等を用いることができる。
記憶部120は、例えば、主記憶部121と補助記憶部122を有しており、通信線130を介して接続されている制御部110の処理により、補助記憶部122に格納されたプログラムを主記憶部121に読み込み、主記憶部121に読み込んだプログラムが有する命令コード及びデータを制御部110に転送する。
主記憶部121として、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)を用いることができる。補助記憶部122として、例えば、HDD(Hard Disk Drive)、フラッシュメモリ(Flash Memory)、SSD(Solid State Disk)を用いることができる。
通信部140は、有線又は無線方式により通信網300を介してセンタ装置100と信号を送受信する。
操作部150は、利用者の操作を受付ける。操作部150は、利用者の操作に応じた信号を、通信線130を介して制御部110へ出力する。例えば、操作部150として、入力ボタン、タッチパネルを用いることができる。
電源部170は、端末装置100の動作に必要な電源の供給を受け、図示しない電力供給先を介して各部へ電源を供給する。また、電源部170は、通信線130を介して接続される制御部110からの指令により、図示しない電力供給先を介した各部への電源の供給量を制御する。なお、本実施例において、電源部170は、外部電源から電源の供給を受ける構成でもよいし、端末装置100が搭載する一次電池又は二次電池から電源の供給を受ける構成でもよい。
放送受信部180は、例えば、デジタル放送を受信し、受信した放送信号を制御部110で処理可能なデータ形式に変換し、通信線130を介して制御部110へ変換したデータを供給する。放送受信部180は、受信したデジタル放送の電波信号から、動画像及び音声を有するコンテンツデータと、放送番組の電子番組案内情報(Electronic Program Gide)と、を分離する機能を有する。なお、放送受信部の上述の機能については、既存の技術を用いるため、詳細な説明を省略する。
〔2−2.端末装置におけるプログラムの構成〕
図4は、本実施例に係る端末装置において実行するプログラムの構成要素を示す図である。図4に示すプログラムの構成要素は、要求部PG100と、管理部PG200と、を有する。以下、各構成要素の概要を説明する。
〔2−2−1.要求部PG100の概要〕
要求部PG100は、図4に示すように、参加通知部PG101と、予約登録部PG102と、予約送信部PG103と、放送受信部PG104と、検証情報受信部PG105と、検証処理部PG106と、所有候補検索部PG107、補完処理部PG108と、を有する。
また、要求部PG100は、端末リストPG110と、電子番組案内情報テーブルPG111と、コンテンツ管理テーブルPG112と、予約リストPG113と、検証情報DB(PG114)と、コンテンツDB(PG115)と、所有候補DB(PG116)を参照することができる。
端末リストPG110は、ノードID1101と、アドレス情報1102と、を有する端末情報を1レコードとした複数件のレコードを編成可能な形式で、記憶部120に格納される(図16参照)。
ノードID1101は、本実施例に係るシステムにおいて、端末装置100を識別する情報を示す。
アドレス情報1102は、ノードID1101を用いて識別される端末装置との通信処理に用いられるアドレスを示す。
電子番組案内情報テーブルPG111は、コンテンツを識別するコンテンツID1111と、コンテンツの放送日時を示す情報1112と、を有する電子番組案内情報を1レコードとした複数件のレコードを編成可能な形式で、記憶部120に格納される(図17参照)。
コンテンツ管理テーブルPG112は、コンテンツを識別するコンテンツID1121と、分割されたコンテンツを識別する分割コンテンツID1122と、分割コンテンツの妥当性を示す状態情報1123と、を有するコンテンツ管理情報を1レコードとした複数件のレコードを編成可能な形式で、記憶部120に格納される(図18参照)。
予約リストPG113は、コンテンツを識別するコンテンツID1131と、放送日時1132を有する予約情報を1レコードとした複数件のレコードを編成可能な形式で、記憶部120に格納される(図19参照)。
検証情報DB(PG114)は、コンテンツを識別するコンテンツID1141と、分割されたコンテンツを識別する分割コンテンツID1142と、コンテンツコンテンツデータの妥当性を判定する検証処理において用いられる検証データ1143と、を有する検証情報を1レコードとした複数件のレコードを編成可能な形式で、記憶部120に格納される(図20参照)。
コンテンツDB(PG115)は、コンテンツを識別するコンテンツID1151と、分割されたコンテンツを識別する分割コンテンツID1152と、分割されたコンテンツの内容として映像又は音声などを構成するコンテンツデータ1153と、を有するコンテンツ情報を1レコードとした複数件のレコードを編成可能な形式で、記憶部120に格納される(図21参照)。
所有候補DB(PG116)は、コンテンツを識別するコンテンツID1161と、端末装置に関する情報を示す端末情報1162と、を有する所有候補情報を1レコードとした複数件のレコードを編成可能な形式で、記憶部120に格納される(図22参照)。なお、端末情報は、本実施例に係るシステムにおいて端末装置を識別することができる情報であればよい。例えば、端末装置に関する情報として、端末装置を識別するノードIDや、端末装置へ情報を送信する際の宛先を示すアドレス情報など、を用いることができる。ここで、アドレス情報として、IPアドレスや、URLや、MACアドレスなど、を用いることができる。
参加通知部PG101は、本実施例に係るシステムに対して自端末の存在を通知する参加通知を送信し、他の端末装置から他の端末装置のアドレス情報を取得し、取得したアドレス情報を端末リストPG110に格納する構成要素として、制御部110を機能させる。
予約登録部PG102は、放送番組の録画予約を受付け、受付けた予約内容を予約リストPG113に登録する構成要素として、制御部110を機能させる。
予約送信部PG103は、上述の受付けた予約内容を、本実施例に係るシステムに接続された他の端末装置へ送信する構成要素として、制御部110を機能させる。
放送受信部PG104は、予約リストPG113に登録された予約内容に基づいて、録画の予約を設定された放送番組を放送受信部180を用いて受信し、放送受信部180から供給されるコンテンツデータをコンテンツDB(PG115)に格納する構成要素として、制御部110を機能させる。
検証情報受信部PG105は、コンテンツデータの誤りを検証するために用いられる検証情報を、通信部140又は放送受信部180を用いて受信し、検証情報DB(PG114)に格納する構成要素として、制御部110を機能させる。
検証処理部PG106は、検証情報DB(PG114)に格納された検証情報を用いて、コンテンツDB(PG115)に格納されたコンテンツデータの妥当性を検証する構成要素として、制御部110を機能させる。
所有候補検索部PG107は、妥当でないコンテンツデータ又は不完全なコンテンツデータを補完する補完情報を所有する端末装置の所在を検索する構成要素として、制御部110を機能させる。
補完処理部PG108は、上述の所有候補検索部PG107により取得された端末装置へ補完情報の依頼を通信部140を介して送信し、端末装置から送信される補完情報を通信部140を介して受信し、受信した補完情報を用いてコンテンツDB(PG115)に格納されたコンテンツデータを更新する構成要素として、制御部110を機能させる。
〔2−2−2.管理部PG200の概要〕
管理部PG200は、図4に示すように、参加受理部PG201と、予約受信部PG202と、検索処理部PG203と、補完情報送信部PG204と、を有する。
また、管理部PG200は、予約端末リストPG210と、端末リストPG110と、コンテンツ管理テーブルPG112と、コンテンツDBPG115と、を参照することができる。
予約端末リストPG210は、コンテンツを識別するコンテンツID2101と、端末装置に関する情報を示す端末情報2102と、を有する予約端末情報を1レコードとした複数件のレコードを編成可能な形式で、記憶部120に格納される(図23参照)。なお、端末装置情報2102は、本実施例に係るシステムにおいて端末装置を識別することができる情報であればよい。例えば、端末情報として、端末装置を識別するノードIDや、端末装置へ情報を送信する際の宛先を示すアドレス情報など、を用いることができる。ここで、アドレス情報として、IPアドレスや、URLや、MACアドレスなど、を用いることができる。
参加受理部PG201は、本実施例に係るシステムに接続された他の端末装置から送信される参加通知を通信部140を介して受信し、記憶部120に保持されている端末リストPG110の内容を通信部140を介して返信する構成要素として、制御部110を機能させる。
また、参加受理部PG201は、受信した参加通知に示される情報に基づいて、参加通知を送信した端末装置の情報を、記憶部120に格納されている端末リストPG110に登録する構成要素として、制御部110を機能させる。
予約受信部PG202は、本実施例に係るシステムに接続された他の端末装置から送信される予約情報を通信部140を介して受信し、受信した予約情報に基づいて予約端末リストPG210を更新する構成要素として、制御部110を機能させる。すなわち、予約受信部PG202として機能する制御部110は、通信部140を介して他の端末装置から受信した予約情報に含まれるコンテンツIDと、その予約情報を送信した端末装置に関する情報と、を対応付けて予約端末リストPG210に格納する。
また、予約受信部PG202は、自端末装置の要求部PG100から供給される予約情報を受信し、受信した予約情報に基づいて予約端末リストPG210を更新する構成要素として、制御部110を機能させる。すなわち、予約受信部PG202として機能する制御部110は、自端末装置において実行される要求部PG100からプロセス間通信等の技法を用いて受信した予約情報に含まれるコンテンツIDと、自端末装置に関する情報と、を対応付けて予約端末リストPG210に格納する。
検索処理部PG203は、本実施例に係るシステムに接続された他の端末装置から送信される検索依頼を通信部140を介して受信し、受信した検索依頼に基づいて予約端末リストPG210を参照し、受信した検索依頼に示される条件に該当する端末装置に関する情報2102を予約端末リストPG210から取得する構成要素として、制御部110を機能させる。すなわち、検索処理部PG203として機能する制御部110は、通信部140を介して受信した検索依頼に示されるコンテンツIDに該当する予約端末情報を、予約端末リストPG210から取得する。
また、検索処理部PG203は、上述の取得した端末装置に関する情報2102に基づいて端末リストを生成し、生成した端末リストを検索依頼を送信した端末装置へ通信部140を介して送信する構成要素として、制御部110を機能させる。すなわち、検索処理部PG203として機能する制御部110は、予約端末リストPG210から取得した端末情報2102に基づいて生成した端末リストを、通信部140を介して送信する。
また、検索処理部PG203は、自端末装置の要求部PG100から供給される検索依頼を受信し、受信した検索依頼に基づいて上述の検索処理及び端末リストの送信処理を実行する構成要素として、制御部110を機能させる。すなわち、検索処理部PG203として機能する制御部110は、自端末装置において実行される要求部PG100からプロセス間通信等の技法を用いて受信した検索依頼に基づいて、上述の検索処理及び端末リストの送信処理を実行する。
補完情報送信部PG204は、本実施例に係るシステムに接続された他の端末装置から受信した補完情報の送信依頼に示されるコンテンツID及び分割コンテンツIDに対応するコンテンツデータを、記憶部120に保持されているコンテンツDB(PG115)から取得する構成要素として、制御部110を機能させる。
また、補完情報送信部PG204は、送信依頼を送信した端末装置へ補完情報を送信する構成要素として、制御部110を機能させる。
〔3.配信装置の構成〕
〔3−1.配信装置のハード構成〕
図3は、本実施例に係る配信装置200のハードウェア構成を示す図である。図3に示す配信装置200は、制御部210、記憶部220、通信部240、操作部250、出力部260、電源部270、放送送信部280を有しており、各部は通信線230を介して通信可能に接続されている。
制御部210は、通信線230を介して端末装置のハードウェア各部と接続されており、記憶部220に格納されたプログラムの手順に従って所定の機能を実現する。例えば、制御部210として、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等を用いることができる。
放送送信部280は、放送用の電波を出力する放送設備400と専用線等で接続されており、放送設備400を介して各種番組のコンテンツデータや検証情報などを送信する。なお、放送送信部280は、インターネット等の通信回線300と接続し、インターネット等の通信回線300を介して各種番組のコンテンツデータや検証情報などを送信することもできる。
配信装置200のハードウェア構成のその他の部分は、一般的なパーソナルコンピュータなどと同様の構成であるため、詳細な説明を省略する。
〔4.システム全体の処理の流れ〕
図5は、本実施例に係るシステムの処理の流れを示した図である。
図5に示す例は、端末装置A(100)が本実施例に係るシステムに参加し、端末装置A(100)が本実施例に係るシステムからコンテンツの受信を行なう、という処理の流れを示している。
〔4−1.P2Pシステムへの参加〕
まず、端末装置Aは、システムへの自端末の存在を通知する参加通知を、システムに接続している他の端末装置へ送信する(S100及びS100')。すなわち、図4に示す要求部PG100が有する参加通知部PG101として機能する制御部110が、通信部140を用いて通信回線300へ参加通知を示す信号を出力する。
例えば、端末装置Aは、通信回線300を介して通信可能に接続されている不特定多数の端末装置に対して、参加通知を示す信号を送信する。ここで、不特定多数の端末装置への信号の送信処理には、IPネットワーク(Internet Protocol Network)においてはブロードキャスト(Broadcast)技術やマルチキャスト(Multicast)技術などを用いことができる。
端末装置Aからの参加通知を示す信号を受信した端末装置B及び端末装置Cは、記憶部120に格納している端末リスト(PG110)を、端末装置Aへ送信する(S101及びS101')。すなわち、図4に示す管理部PG200が有する参加受理部PG201として機能する制御部110は、通信部140から通信線130を介して取得した受信電文が参加通知を示す信号であった場合、記憶部120に保持されている端末リストPG110に登録されている内容を、参加通知を送信した端末装置へ送信する。
なお、各端末装置は、端末リストを送信する際に、自端末装置に関する情報を、記憶部120に格納している端末リストに追加して送信してもよい。また、各端末装置は、自端末装置に関する情報を、端末リストの要素に加えて記憶部120に格納しておいてもよい。
図11は、端末装置Cから送信される端末リストの内容例を示す図である。図11に示す端末リストは、P2Pシステムにおいて端末装置を識別する情報を示すノードID1101と、通信回線300を介して通信をする際に送信先又は送信元の端末装置を識別する情報として用いられるアドレス情報1102と、を有する。
図11に示す例では、端末装置Cは、端末装置Aからの参加通知を受信する以前に本実施例に係るシステムに参加しており、同様に既に参加している端末装置BのノードIDとアドレス情報を取得していることを示している。
ここで、ノードIDは、本実施例に係るシステムにおいて各端末装置100を識別することができる情報であればよい。例えば、工場出荷時に予め割り振られた製造番号やマシン名等を共通のハッシュ関数(Hash Function)によりハッシュ化して得たハッシュ値をノードIDとして用いることができる。本実施例に係るシステムにおいて端末装置を識別する情報としてハッシュ値を用いることにより、本実施例に係るシステムに参加する端末装置をハッシュ値の大小関係などに基づいて管理することができる。例えば、生成桁数128bitのハッシュ関数を用いることにより、2の128乗である約340×10^36台の端末装置を、本実施例に係るシステム上で管理することができる。
端末装置Aは、各端末装置から受信した端末リストを集約し、記憶部120に格納する。すなわち、図4に示す要求部PG100が有する参加通知部PG101として機能する制御部110が、各端末装置から受信した端末リストを集約し、集約した端末リストを記憶部120に保持される端末リストPG110に登録する。
〔4−2.予約処理〕
次に、端末装置Aは、操作者の入力操作により、コンテンツの配信を受けるための予約を行なう指示を受けた場合、予約内容を記憶部120に格納し、予約を受けたコンテンツに基づいて特定される管理ノードに対して予約内容を示す予約情報を送信する(S102)。すなわち、図4に示す要求部PG100が有する予約登録部PG102として機能する制御部110が、予約内容を記憶部120に保持される予約リストPG113に登録する。また、要求部PG100が有する予約送信部PG103として機能する制御部110が、予約情報を通信部140を介して送信する。
図12は、端末装置において予約操作を受付ける予約画面の内容例を示した図である。図12に示す予約画面1200は、時刻1201と、配信局AAA(1202)と、配信局BBB(1203)と、配信局CCC(1204)と、を有するコンテンツ配信スケジュール表1210が表示されている。図12に示す例において、端末装置の操作者は、予約画面1200に表示されるコンテンツA−4(1211)を選択し、予約実行ボタン1212を押下することにより、所望のコンテンツA−4の予約指示を端末装置に入力することができる。
図14は、端末装置Aから送信される予約情報の内容例を示した図である。図14に示す予約情報は、コンテンツID1401と、アドレス情報1402と、を有する。
コンテンツID1401は、本実施例に係るシステムにおいてコンテンツを識別することができる情報であればよい。例えば、コンテンツの配信局がコンテンツに対して付与した名称やコンテンツのデータ長などの情報を共通のハッシュ関数によりハッシュ化して得たハッシュ値をコンテンツIDとして用いることができる。
アドレス情報1402は、予約情報を送信する端末装置のアドレスを示す情報であり、例えばIPアドレスやURLやMACアドレスなどを用いることができる。
図14に示す例では、コンテンツID1401としてコンテンツA−4を識別する情報、アドレス情報1402として端末装置Aのアドレスを示す情報が示されている。
本実施例に係るシステムにおいてコンテンツを識別する情報としてハッシュ値を用いることにより、各コンテンツをハッシュ値の大小関係に基づいて管理することができる。さらに、実施例に係るシステムにおいて、コンテンツを識別する情報及び端末装置を識別する情報としてハッシュ値を用いることにより、コンテンツIDとしてのハッシュ値と、端末装置IDとしてのハッシュ値と、の大小関係を比較することができる。
図5に示す例では、端末装置Aは、予約指示を受けたコンテンツに基づいて特定される管理ノードとして端末装置Cへ、予約指示の内容を示す予約情報を送信している(S102)。例えば、予約指示を受けたコンテンツのコンテンツIDと、端末リストに登録されている端末IDとの大小関係を比較し、コンテンツIDと端末IDとが最も近い値(差分が最も小さい値)となる端末装置を管理ノードとして特定することができる。なお、コンテンツID及び端末IDとして、ハッシュ値ではなくアルファベット文字や記号が混在したキャラクタ型のデータを用いた場合であっても、文字コードを用いて大小関係を比較することができる。
端末装置Cは、端末装置Aから受信した予約情報に基づいて記憶部120に格納された予約端末リストを更新する。図15は、端末装置Cにおいて格納される予約端末リストの内容例を示した図である。図15に示す予約端末リストは、コンテンツID1501と、アドレス情報1502と、を有する。
コンテンツID1501は、受信した予約情報に含まれるコンテンツID1401に基づいて登録される。
アドレス情報1502は、受信した予約情報に含まれるアドレス情報1402に基づいて登録される。
図15に示す例では、コンテンツID1501としてコンテンツA−4を識別する情報が登録されており、コンテンツA−4に対する予約情報を送信した端末装置のアドレスを示す情報として端末装置Aのアドレス1と端末装置Bのアドレス2とが登録されていることを示している。
〔4−3.配信処理〕
次に、端末装置Aは、予約指示を受けたコンテンツを配信装置200から受信し、受信したコンテンツデータをコンテンツID及び分割コンテンツIDに対応付けてコンテンツDB(PG115)に格納する(S103)。すなわち、図4に示す要求部PG100が有する方送受信部PG104として機能する制御部110が、通信部140を介して受信したコンテンツを、記憶部120に保持されるコンテンツDB(PG115)に登録する。
コンテンツデータの受信処理を実行する契機は、例えば、予約指示を受けたコンテンツが配信装置から配信される時刻の到来に連動させることができる。この場合、端末装置は、連動させる対象となる配信時刻を、電子番組案内(Electronic Program Guide)情報から取得することができる。
さらに、端末装置Aは、予約指示を受けたコンテンツについての検証情報を配信装置200から受信し、受信した検証情報をコンテンツID及び分割コンテンツIDに対応付けて検証情報DB(PG114)に格納する(S104)。すなわち、要求部PG100が有する検証情報受信部PG105として機能する制御部110が、通信部140を介して受信した検証情報を、記憶部120に保持される検証情報DB(PG114)に登録する。
なお、検証情報の受信処理を実行する契機は、上述の配信時刻に連動させる必要は無い。例えば、端末装置は、データカルーセル(Data Carousel)伝送方式により、コンテンツID及び分割コンテンツIDに対応付けて繰り返し送信される検証情報を、適当なタイミングで受信する。すなわち、端末装置は、コンテンツデータとともに検証情報を受信してもよいし、コンテンツデータを受信する前又はコンテンツデータを受信した後に検証情報を受信してもよい。
図5に示す例において、上述のコンテンツデータの受信処理及び検証情報の受信処理は、端末装置Bにおいても実行される(S103’及びS104’)。すなわち、端末装置Bが有するコンテンツDB(PG115)には、上述の処理S103において端末装置Aが受信したコンテンツと同じコンテンツIDを有するコンテンツデータが格納されている。
ただし、端末装置Aと端末装置Bとでは、コンテンツDB(PG115)に格納されているコンテンツデータの内容が異なる場合がある。例えば、端末装置Aが設置されている地域の受信時の天候が豪雨であり、端末装置Bが設置されている地域の受信時の天候が晴天である場合など、両者の設置場所の天候が異なる場合に生じる。すなわち、端末装置が設置された地域が豪雨の場合には、降雨減衰が生じることにより、受信感度が悪化し、その結果、コンテンツデータの内容が不完全であったり、誤った値になったりする。また、天候の他にも、端末装置側の設備の動作不良に起因して、ノイズが混入する等した結果、コンテンツデータの内容が本来の値と異なる場合がある。
〔4−4.検証処理〕
次に、端末装置Aは、受信した検証情報を用いて、コンテンツDB(PG115)に格納されているコンテンツデータの検証処理を実行する。すなわち、図4に示す要求部PG100が有する検証処理部PG106として機能する制御部110が、記憶部120に保持されている検証情報DB(PG114)に登録されている検証情報を用いて、記憶部120に保持されるコンテンツDB(PG115)に登録されているコンテンツについて検証処理を実行する。
端末装置は、検索処理を実行した結果妥当でないと判定された箇所について、補完情報を取得する処理を行なう。
まず、端末装置Aは、該当箇所の補完情報を所有する端末装置の所在を得るための検索依頼を、管理ノードとして機能する端末装置Cへ送信する(S105)。すなわち、図4に示す要求部PG100が有する所有候補検索部PG107として機能する制御部110が、検索依頼を示す信号を、通信部140を介して送信する。
ここで、端末装置Aから送信される検索依頼は、上述の検証において妥当でないと判定されたコンテンツに対応するコンテンツIDを有する。
端末装置Cは、受信した検索依頼に示されるコンテンツIDに該当する予約端末情報を、予約端末リストPG210から取得する。
端末装置Cは、取得した予約端末情報に基づいて生成した端末リストを、検索依頼を送信した端末装置Aへ送信する(S106)。すなわち、図4に示す管理部PG200が有する検索処理部PG203として機能する制御部110が、記憶部120に保持される予約端末リストPG210に登録されている予約端末情報を取得し、取得した予約端末情報を通信部140を介して送信する。
端末装置Aは、受信した端末リストに示される端末装置へ、コンテンツの補完情報を取得するための取得依頼を送信する(S107)。すなわち、図4に示す要求部PG100が有する補完処理部PG108として機能する制御部110が、取得依頼を示す信号を、通信部140を介して送信する。ここで、端末装置Aから送信される取得依頼は、コンテンツを識別するコンテンツID及び分割コンテンツIDを有する。
端末装置Bは、受信した取得依頼に示されるコンテンツID及び分割コンテンツIDに該当する分割コンテンツデータを、コンテンツDB(PG115)から取得する。
端末装置Bは、取得した分割コンテンツデータを、取得依頼を送信した端末装置Aへ、補完情報として送信する(S108)。すなわち、図4に示す管理部PG200が有する補完情報送信部PG204として機能する制御部110が、記憶部120に保持されているコンテンツDB(PG115)を参照して補完情報を取得し、取得した補完情報を通信部140を介して送信する。
ここで、端末装置Bから送信される補完情報は、コンテンツを識別するコンテンツIDと、分割コンテンツIDと、分割コンテンツデータと、を有する。
端末装置Aは、受信した補完情報に示されるコンテンツID及び分割コンテンツIDに対応付けてコンテンツDB(PG115)に格納されている分割コンテンツデータを、受信した補完情報が有する分割コンテンツデータを用いて更新する。
以上が、本実施例に係るシステムの全体の処理の流れである。
〔5.要求部PG100における予約処理の流れ〕
次に、端末装置100により実行される要求部PG100における予約処理の具体的な手順を、図6を用いて説明する。図6は、端末装置により実行される要求部PG100における予約処理の具体的な処理手順を示した図である。なお、図6に示す処理手順は、図4に示す要求部PG100が有する予約登録部PG102及び予約送信部PG103として機能する制御部110により実行される。
まず、端末装置の制御部110は、図示しないシステムクロック等から現在の日時を取得し(S201)、取得した日時に基づいて電子番組案内の表示範囲を設定する(S202)。ここで、表示範囲の設定は、取得した日時を起点とした所定の時間範囲を設定することができる。例えば、現在日時が「2008年10月13日、10:00」の場合、所定の時間範囲を「3時間」としたときは、表示範囲の始点は「2008年10月13日、10:00」であり、表示範囲の終点は「2008年10月13日、13:00」となる。
次に、制御部110は、電子番組案内情報テーブルPG111を参照し、上述の処理S202で設定した表示範囲に該当する電子番組案内情報を取得し(S203)、取得した電子番組案内情報に基づいて電子番組案内画面を表示する(S204)。
図13は、電子番組案内情報テーブルPG111の内容例を示した図である。図13に示す電子番組案内情報テーブルPG111に格納される電子番組案内情報は、配信局ID1301と、コンテンツID1302と、開始日時1303と、終了日時1304と、を有する。
制御部110は、上述の処理S203において、電子番組案内情報テーブルPG111に格納されている電子番組案内情報が有する開始日時1303と終了日時1304とを参照し、開始日時1303と終了日時1304とにより示される時間帯と、上述の処理S202で設定された表示範囲とを比較する。
制御部110は、比較した結果、開始日時1303と終了日時1304とにより示される時間帯と、上述の処理S202で設定された表示範囲と、が重複する部分が存在する場合、表示範囲に該当すると判定する。
図13に示す例において、「2008年10月13日、10:00」を始点とし、「2008年10月13日、13:00」を終点とする、表示範囲が設定されている場合、表示範囲に該当する電子番組案内情報は、電子番組案内情報A1301乃至A1304と、電子番組案内情報B1301乃至B1306、電子番組案内情報C1301乃至C1304となる。すなわち、図13に示す内容のうち、電子番組案内情報A1300と、電子番組案内情報B1300と、電子番組案内情報C1300と、は表示範囲に設定されている時間帯と重複する部分を有さないため、表示範囲に該当しないと判定され、上述の処理S203において取得対象から除外される。
図12は、端末装置において表示される電子番組案内画面の内容例を示した図である。図12に示す電子番組案内画面は、時刻1201と、配信局AAA(1202)と、配信局BBB(1203)と、配信局CCC(1204)と、を有する電子番組案内一覧1210と、表示範囲通知部1205、表示範囲変更指示部1206乃至1209と、番組選択部1211と、予約実行指示部1212が表示されている。
図12に示す表示範囲通知部1205は、電子番組案内一覧1210に表示されている電子番組案内情報の表示範囲が、「2008年10月13日、10:00」を始点とし、「2008年10月13日、13:00」を終点とすることを示している。
図12に示す電子番組案内一覧1210は、配信局AAA(1202)が配信する番組として、「コンテンツA−1」が「10:00〜11:30」の時間帯に配信され、「コンテンツA−2」が「10:30〜11:00」の時間帯に配信され、「コンテンツA−3」が「11:00〜12:00」の時間帯に配信され、「コンテンツA−4」が「12:00〜13:00」の時間帯に配信される、ことを示している。
図12に示す電子番組案内一覧1210において、配信局BBB(1203)と配信局CCC(1204)についても、配信局AAA(1202)と同様であるため、説明を省略する。
制御部110は、電子情報案内画面の入力操作が行なわれたことを示す検出信号を操作部150から受信した場合、入力操作の内容が予約実行指示部1212の押下であるか否かを判定する(S205)。
制御部110は、上述のS205の判定処理において、入力操作の内容が予約実行指示部1212の押下であると判定した場合(S205でYES)、予約情報の登録処理を行なう(S206)。すなわち、番組選択部1211により選択された番組を示す電子番組案内情報を取得し、取得された電子番組案内情報に基づいて予約情報を生成し、予約リストPG113に登録する(S206)。図12に示す例では、番組選択部1211が「配信局AAA」の番組「コンテンツA−4」を選択していることを示している。
制御部110、電子番組案内情報に示されるコンテンツID1302を有する予約情報を生成し、予約リストPG113に登録する。この際に、電子番組案内情報から取得した放送日時1112(開始日時1303、終了日時1304)を予約情報に登録してもよいし、予約情報を参照する都度に電子番組案内情報から放送日時1112(開始日時1303、終了日時1304)を取得してもよい。
次に、制御部110は、上述の処理206において取得した電子番組案内情報に示されるコンテンツIDに基づいて、予約情報の送信先として設定する端末装置を決定する(S207)。
制御部110は、上述の処理S206において取得した電子番組案内情報に示されるコンテンツID1302と、端末リストPG110に登録されているノードID1101とを比較し、コンテンツID1302の値に最も近い値を有するノードID1101を取得する。
制御部110は、取得したノードIDに対応するアドレス情報1102を、端末リストPG110から取得する(S207)。
制御部110は、取得したアドレス情報1102に示される端末装置100のアドレスを用いて、上述の処理S206において電子番組案内情報テーブルPG111から取得したコンテンツIDと、自端末装置に割当てられているアドレス情報又はノードIDを有する予約情報を送信する(S208)。また、制御部110は、プロセス間通信等の技法を用いて、自端末装置により実行される管理部PG200へ予約情報を送信することもできる(S208)。
一方、制御部110は、上述の処理S205において、入力操作の内容が予約実行指示部1212の押下ではないと判定した場合(S205でNO)、入力操作の内容が表示範囲の変更指示を示す表示範囲変更指示部1206乃至1209の押下であるか否かを判定する(S209)。図12に示す例において、表示範囲変更指示部1206は表示範囲の日付を1日分遡る指示を入力する際に用いられ、表示範囲変更指示部1207は表示範囲の時刻を1時間分遡る指示を入力する際に用いられ、表示範囲変更指示部1208は表示範囲の時刻を1時間分進める指示を入力する際に用いられ、表示範囲変更指示部1209は表示範囲の日付を1日分進める指示を入力する際に用いられる。
制御部110は、上述の処理S209において、入力操作の内容が表示範囲の変更指示を示す表示範囲変更指示部1206乃至1209の押下であると判定した場合(S209でYES)、押下された表示範囲変更指示部1206乃至1209の種別に応じて表示範囲を更新する(S210)。
一方、制御部110は、上述の処理S209において、入力操作の内容が表示範囲の変更指示を示す表示範囲変更指示部1206乃至1209の押下ではないと判定した場合(S209でNO)、上述の処理S205からの処理を実行する。
以上が、本実施例に係る端末装置において実行される要求部PG100による予約処理の流れである。
〔6.管理部PG200における予約処理の流れ〕
次に、端末装置により実行される管理部PG200における予約処理の具体的な手順を、図7を用いて説明する。図7は、端末装置により実行される管理部PG200における予約処理の具体的な手順を示した図である。なお、図7に示す処理手順は、図4に示す管理部PG200が有する予約受信部PG202として機能する制御部110により実行される。
まず、端末装置の制御部110は、予約情報の受信を検知したか否かを判定する(S300)。制御部110は、通信部140から通信線130を介して取得した受信電文を解析し、受信電文が予約情報を示すと判定した場合に、予約情報の受信を検知したと判定する(S300でYES)。また、制御部110は、プロセス間通信等の技法を用いて、自端末装置により実行される要求部PG100から取得した受信電文を解析し、受信電文が予約情報を示すと判定した場合に、予約情報を受信したと判定する(S300でYES)こともできる。
制御部110は、予約情報の受信を検知した場合(S300でYES)、受信した予約情報を通信部140から取得し、取得した予約情報に基づいて予約端末情報を予約端末リストPG210に登録する(S301)。すなわち、予約情報に示されるコンテンツID及び端末情報に基づいて、コンテンツID2101及び端末情報2102を有する予約端末情報を予約端末リストPG210に登録する。ここで、端末情報2102は、ノードIDでもよいし、アドレス情報でもよい。
制御部110は、予約端末情報の登録処理を実行した後、上述の処理S300を実行する。また、制御部110は、上述の処理S300において、予約情報の受信を検知していないと判定した場合(S300でNO)、所定時間が経過した後に処理S300を再度実行する。
以上が、本実施例に係る端末装置100により実行される管理部PG200における予約処理の流れである。
〔7.要求部PG100における録画処理〕
次に、端末装置100により実行される要求部PG100における録画処理の具体的な手順を、図8を用いて説明する。図8は、端末装置100により実行される要求部PG100における録画処理の流れを示した図である。なお、図8に示す処理手順は、図4に示す要求部PG100が有する放送受信部PG104、検証情報受信部PG105、検証処理部PG106、所有候補検索部PG107、補完処理部PG108として機能する制御部110により実行される。
まず、端末装置の制御部110は、検証情報を受信したか否かを判定する(S400)。制御部110は、通信部140から通信線130を介して取得した受信電文を解析し、受信電文が検証情報を示すと判定した場合に、検証情報を受信したと判定する(S400でYES)。
制御部110は、検証情報を受信したと判定した場合(S400でYES)、受信した検証情報を検証情報DB(PG114)に登録する。検証情報は、図20に示すように、コンテンツID1141と、分割コンテンツID1142と、検証データ1143と、を有する。検証データは、例えば、所定の時間単位などに分割されたコンテンツデータをハッシュ化して得たハッシュ値を用いることができる。
制御部110は、上述の処理S400において検証情報を受信していないと判定した場合(S400でNO)、コンテンツを受信したか否かを判定する(S402)。制御部110は、通信部140から通信線130を介して取得した受信電文を解析し、受信電文がコンテンツ情報を示すと判定した場合に、コンテンツを受信したと判定する(S402でYES)。
制御部110は、コンテンツ情報を受信したと判定した場合(S402でYES)、受信したコンテンツ情報をコンテンツDB(PG115)に登録し、受信したコンテンツ情報の状態を示すコンテンツ管理情報をコンテンツ管理テーブル(PG112)に登録する(S403)。
コンテンツ情報は、図21に示すように、コンテンツID1151と、分割コンテンツID1152と、コンテンツデータ1153と、を有する。コンテンツデータ1153は、コンテンツID1151で識別されるコンテンツを、所定の時間単位などに分割されたコンテンツデータである。
コンテンツ管理情報は、図18に示すように、コンテンツID1121と、分割コンテンツID1122と、状態情報1123と、を有する。状態情報1123は、コンテンツ情報が有するコンテンツデータについて実行される検証処理の結果を示す。状態情報1123には、例えば、検証処理が実行される前であれば「検証未」を示す値が格納される。また、検証処理を実行した結果、検証情報との整合性を有する場合には「整合性あり」を示す値が格納され、検証情報との整合性を有さない場合には「整合性なし」を示す値が格納される。
なお、電波受信機500において受信されるコンテンツ情報は、分割コンテンツIDを有していなくてもよい。この場合、電波受信機500において受信されたコンテンツ情報が有するコンテンツデータを、検証処理の対象となる単位に再構成し、再構成した順番を示すシーケンス番号を端末装置100において付与すればよい。すなわち、この例では、コンテンツ情報及び検証情報が有する分割コンテンツIDとして、上述のシーケンス番号を用いることができる。
次に、制御部110は、上述の処理S403においてコンテンツDBに登録したコンテンツ情報が有するコンテンツID及び分割コンテンツIDに対応する検証情報を検証情報DBから取得する(S404)。
制御部110は、取得した検証情報が有する検証データ1143を用いて、コンテンツ情報が有するコンテンツデータの整合性の検証処理を実行する(S405)。制御部110は、例えば、検証データを生成したときと同じアルゴリズムを用いてコンテンツデータから生成したハッシュ値を、検証データと比較して、両者が一致した場合に整合性を有すると判定することができる(S406でNO)。すなわち、制御部110は、コンテンツデータに欠陥がないと判定した場合(S406でNO)、上述の処理S400からの処理を実行する。
一方、制御部110は、上述の処理S405を実行した結果、コンテンツデータに欠陥があると判定した場合(S406でYES)、欠陥を補完するデータを有する可能性のある端末装置を示す所有候補を検索する(S407)。処理S407における検索処理の具体例については後述する。
制御部110は、検索処理を実行した結果、所有候補を得られたか否かを判定する(S408)。制御部110は、上述の検索処理を実行した結果、所有候補を得られたと判定した場合(S408でYES)、上述の検索処理で取得した所有候補に示される端末装置に対して、補完情報の送信を要求する取得依頼を送信する(S409)。ここで、所有候補に示される端末装置に対して送信される取得依頼は、上述の検証処理において欠陥を有すると判定されたコンテンツデータに対応するコンテンツID及び分割コンテンツIDを有する。
上述の検索処理(S407)において取得する所有候補として、複数の端末装置を示すリスト形式に編成したデータを用いることができる。この場合、制御部110は、所有候補リストに示される端末装置を任意の順序で選択して取得依頼を順次送信しても良いし、マルチキャスト(Multicast)してもよい(S409)。
一方、制御部110は、上述の処理S408において、所有候補の取得に失敗したと判定した場合(S408でNO)、配信装置200に対して、補完情報の送信を要求する取得依頼を送信する(S412)。ここで、配信装置200に対して送信される取得依頼は、上述の検証処理において欠陥を有すると判定されたコンテンツデータに対応するコンテンツID及び分割コンテンツIDを有する。
制御部110は、取得依頼の送信先から補完情報を受信し(S410)、受信した補完情報を用いて補完処理を実行する(S411)。ここで、取得依頼の送信先から受信された補完情報は、コンテンツIDと、分割コンテンツIDと、コンテンツデータと、を有する。すなわち、制御部110は、上述の補完処理において、受信された補完情報が有するコンテンツID及び分割コンテンツIDに対応するコンテンツ情報を、コンテンツDB(PG115)から検索する。そして、制御部110は、検索されたコンテンツ情報が有するコンテンツデータを、受信された補完情報が有するコンテンツデータを用いて更新する。
なお、取得依頼の送信先において整合性を有するコンテンツデータを所有していない場合、制御部110は、上述の処理S410において不完全な補完情報を受信する。この場合、制御部110は、上述の処理S411を実行せずに補完情報を破棄し、他の所有候補の端末装置からの補完情報の受信処理を実行するか、配信装置からの補完情報の受信処理を実行する。
以上が、端末装置100により実行される要求部PG100における録画処理の流れである。なお、上述の例では、端末装置100を用いた録画処理について説明したが、配信されるコンテンツの再生時に上述の補完処理を実行してもよい。
〔8.要求部PG100における所有候補検索処理〕
次に、上述の処理S407において実行される所有候補検索処理の具体的な手順を、図9を用いて説明する。図9は、端末装置により実行される要求部PG100における所有候補検索処理の流れを示した図である。なお、図9に示す処理手順は、図4に示す要求部PG100が有する所有候補検索部PG170として機能する制御部110により実行される。
まず、制御部110は、コンテンツIDを指定して所有候補検索処理を開始する(S500)。ここで、コンテンツIDは、上述の処理405において実行された検証処理により欠陥を有すると判定されたコンテンツデータに対応するコンテンツIDである。
制御部110は、所有候補の情報が存在するか否かを判定する(S501)。例えば、制御部110は、自端末装置又は他端末装置により実行される管理部PG200から、所有候補の情報を取得済みである場合、所有候補の情報が存在すると判定する(S501でNO)。
制御部110は、上述の処理S501において所有候補が存在すると判定した場合(S501でNO)、すでに保持している所有候補の情報を検索結果として出力する(S506)。
一方、制御部110は、上述の処理S501において所有候補が存在しないと判定した場合(S501でYES)、管理ノードの選択処理を実行する(S502)。例えば、制御部110は、上述の処理S500において取得したコンテンツIDと、端末リストPG110に登録されているノードID1101とを比較し、コンテンツIDの値に最も近い値を有するノードID1101を取得する。
制御部110は、取得したノードIDに対応するアドレス情報1102を、端末リストPG110から取得する(S502)。
制御部110は、取得したアドレス情報1102に示される端末装置に対して、上述の処理S500において取得したコンテンツIDを含む検索依頼を送信する(S503)。また、制御部110は、プロセス間通信等の技法を用いて、自端末装置により実行される管理部PG200へ検索依頼を送信することもできる(S503)。
制御部110は、検索依頼の送信先から、検索結果として端末リストを受信し(S504)、受信した端末リストを所有候補DB(PG116)に登録する(S505)。上述の処理S504において受信された端末リストは、コンテンツIDと、端末情報と、を有する。端末情報は、ノードIDでもよいし、アドレス情報でもよい。なお、端末情報としてノードIDを用いる場合、端末リストPG110を参照してアドレス情報1102を取得することができる。
制御部110は、上述の処理S504において受信した端末リストを所有候補として出力する(S506)。
以上が、本実施例に係る端末装置100により実行される要求部PG100における検索処理の流れである。
〔9.管理部PG200における所有候補検索処理〕
次に、上述の処理S503において送信された検索依頼を受信した端末装置100において実行される所有候補検索処理の具体的な手順を、図10を用いて説明する。
図10は、端末装置により実行される管理部PG200における所有候補検索処理の流れを示した図である。なお、図10に示す処理手順は、図4に示す管理部PG200が有する検索処理部PG203として機能する制御部110により実行される。
まず、制御部110は、検索依頼を受信したか否かを判定する(S600)。制御部110は、通信部140から通信線130を介して取得した受信電文を解析し、受信電文が検索依頼を示すと判定した場合に、検索依頼を受信したと判定する(S600でYES)。また、制御部110は、プロセス間通信等の技法を用いて、自端末装置により実行される要求部PG100から取得した受信電文を解析し、受信電文が検索依頼を示すと判定した場合に、検索依頼を受信したと判定する(S600でYES)こともできる。
制御部110は、検索依頼を受信したと判定した場合(S600でYES)、予約端末の検索処理を実行する(S601)。すなわち、制御部110は、予約端末リストPG210を参照し、受信した検索依頼が示すコンテンツIDに対応する端末情報2102を取得する(S601)。端末情報は、ノードIDでもよいし、アドレス情報でもよい。なお、端末情報としてノードIDを用いる場合、端末リストPG110を参照してアドレス情報1102を取得してもよい。
制御部110は、上述の処理S601において取得した端末情報2102に基づいて、検索結果である端末リストを生成し(S602)、検索依頼を送信した端末装置の要求部PG100へ、生成した端末リストを送信する(S603)。
以上が、本実施例に係る端末装置100により実行される管理部PG200における所有候補検索処理の流れである。
〔10.管理部PG200における補完情報送信処理〕
次に、上述の処理S409において送信された取得依頼を受信した端末装置100において実行される補完情報送信処理の具体的な手順を、図24を用いて説明する。図24は、端末装置100により実行される管理部PG200における補完情報送信処理の流れを示した図である。なお、図24に示す処理手順は、図4に示す管理部PG200が有する補完情報送信部PG204として機能する制御部110により実行される。
まず、制御部110は、補完情報の送信依頼を受信したか否かを判定する(S2501)。制御部110は、通信部140から通信線130を介して取得した受信電文を解析し、受信電文が補完情報の送信依頼を示すと判定した場合に、送信依頼を受信したと判定する(S2501でYES)。また、制御部110は、プロセス間通信等の技法を用いて、自端末装置により実行される要求部PG100から取得した受信電文を解析し、受信電文が補完情報の送信依頼を示すと判定した場合に、補完情報の送信依頼を受信したと判定する(S2501でYES)こともできる。
制御部110は、送信依頼を受信したと判定した場合(S2501でYES)、コンテンツ管理テーブル(PG112)の検索処理を実行する(S2502)。すなわち、制御部110は、受信した送信依頼が示すコンテンツID及び分割コンテンツIDに対応するコンテンツ管理情報を、コンテンツ管理テーブル(PG112)から取得する(S2502)。
制御部110は、取得したコンテンツ管理情報が有する状態情報1123を参照し、整合性を有する旨の値が設定されているか否かを判定する(S2503)。
制御部110は、状態情報1123に整合性を有する旨の値が設定されていると判定した場合(S2503でYES)、コンテンツDB(PG115)の検索処理を実行する(S2504)。すなわち、制御部110は、上述の処理S2501において受信した送信依頼が示すコンテンツID及び分割コンテンツIDに対応するコンテンツデータを、コンテンツDB(PG115)から取得する(S2504)。
制御部110は、取得したコンテンツデータを有する補完情報を生成し、送信依頼を送信した端末装置へ、生成した補完情報を送信する(S2505)。
一方、制御部110は、上述の処理2503において状態情報1123に整合性を有する旨の値が設定されていないと判定した場合(S2503でNO)、整合性を有するコンテンツデータを所有していないことを示す補完情報を送信する(S2506)。すなわち、制御部110は、上述の処理S2501において受信した送信依頼が示すコンテンツID及び分割コンテンツIDに対応するコンテンツデータを有さない不完全な補完情報を送信する(S2506)。
以上が、端末装置100により実行される管理部PG200における補完情報送信処理の流れである。
〔1.実施例2に係る端末装置により実行されるプログラムの構成〕
図25は、本実施例に係る端末装置により実行されるプログラムの構成を示した図である。図25に示すプログラムの構成要素は、上述の実施例1に示すプログラムの構成要素(図4参照)と同様の構成に対して、同一の参照符号を付している。図25に示すプログラムの構成要素は、例えば、待機処理部PG109が追加されている点で、図4に示す実施例1に係る端末装置により実行されるプログラムの構成と相違する。
本実施例において追加されている、待機処理部PG109は、配信装置200から取得したコンテンツに欠陥があった場合に、他の端末装置へ依頼を送信する処理を任意の時間が経過するまで待機させる構成として、制御部110を機能させる。
その他の構成については、上述の実施例1と同様であるため、説明を省略する。
〔2.実施例2に係る要求部PG100における録画処理〕
図26は、実施例2に係る端末装置により実行される要求部PG100における録画処理の流れを示した図である。なお、図26に示す処理手順は、図25に示す要求部PG100が有する方送受信部PG104、検証情報受信部PG105、検証処理部PG106、所有候補検索部PG107、補完処理部PG108、待機処理部PG109として機能する制御部110により実行される。
図26に示す処理の流れは、図8に示す実施例1に係る録画処理と同様の内容となる処理手順に対して、同一の参照符号を付している。図26に示す処理手順は、例えば、処理S413が追加されている点で、図8に示す処理手順と相違する。そこで、説明の簡略化のため、同じ内容となる処理手順については部分的に説明を省略する。
本実施例に係る端末装置100の制御部110は、実施例1における処理405と同様に、処理S404において取得した検証情報が有する検証データ1143を用いて、コンテンツ情報が有するコンテンツデータの整合性の検証処理を実行する(S405)。
制御部110は、上述の処理S405を実行した結果、コンテンツデータに欠陥があると判定した場合(S406でYES)、本実施例に特有の待機処理を実行する(S413)。
上述の待機処理(S413)において、待機時間は、乱数に基づいて設定してもよいし、自端末装置と管理ノードとして選択された端末装置との論理的な距離に基づいて設定してもよい。ここで、論理的な距離として、自端末装置が有するノードIDと、管理ノードとして選択された端末装置が有するノードIDと、の差分値を用いることができる。
制御部110は、上述の乱数又は論理的な距離に基づいて得た数値を予め定めた最大待ち時間で除算し、その余りを待機時間として設定する。そして、制御部110は、設定した待機時間が経過するまで、所有候補の検索処理(S407)の実行を待機する。
制御部110は、待機時間が経過した後、所有候補の検索処理(S407)を実行する。その後の処理は、実施例1と同様であるため、説明を省略する。
なお、上述の待機処理を実行するタイミングは、上述の所有候補の検索処理(S407)において、検索依頼を管理ノードへ送信する前の段階であれば、適宜変更することができる。
以上が、実施例2に係る端末装置100により実行される管理部PG200における録画処理の流れである。
〔1.実施例3に係る端末装置により実行されるプログラムの構成〕
図27は、本実施例に係る端末装置により実行されるプログラムの構成を示した図である。図27に示すプログラムの構成要素は、上述の実施例1に示すプログラムの構成要素(図4参照)と同様の構成に対して、同一の参照符号を付している。図27に示すプログラムの構成要素は、例えば、予約情報送信部PG205が追加されている点で、図4に示す実施例1に係る端末装置により実行されるプログラムの構成と相違する。
本実施例において追加されている、予約情報送信部PG205は、予約端末リストPG210に登録されている端末装置に対して、予約受信部PG202として機能する制御部110が受信した予約情報を送信する構成として、制御部110を機能させる。
その他の構成については、上述の実施例1と同様であるため、説明を省略する。
〔2.実施例3に係るシステムの処理の流れを示した図〕
図28は、本実施例に係るシステムの処理の流れを示した図である。
図28に示す例は、上述の実施例1に示すシステムの処理の流れ(図5参照)と同様の処理に対して、同一の参照符号を付している。図28に示す処理の流れは、例えば、予約情報の送信処理S109が追加されている点で、図5に示す処理の流れと相違する。そこで、説明の簡略化のため、同じ内容となる処理手順については部分的に説明を省略する。
図28に示す例は、図5と同様に端末装置A(100)が本実施例に係るシステムに参加し、端末装置A(100)が本実施例に係るシステムからコンテンツの受信を行なう、という処理の流れを示している。
まず、端末装置Aは、実施例1と同様の手順によりP2Pシステムへの参加を行なう(S100乃至S101)。
端末装置Aは、操作者の入力操作により、コンテンツの配信を受けるための予約を行なう指示を受けた場合、予約内容を記憶部120に格納し、予約を受けたコンテンツに基づいて特定される管理ノードに対して予約内容を示す予約情報を送信する(S102)。
端末装置Cは、端末装置Aから受信した予約情報に示されるコンテンツIDと同じコンテンツIDに対応付けて予約端末リストに登録されている端末装置を検索する。すなわち、図27に示す管理部PG200が有する予約受信部PG202として機能する制御部110が、通信部140を介して受信した予約情報に示されるコンテンツIDを用いて、記憶部120に保持される予約端末リストPG210から対応する予約情報を検索する。
ここで、端末装置Cの予約端末リストには、端末装置Aから受信した予約情報に示されるコンテンツIDと同じコンテンツIDに対応付けて端末装置Bが登録されている。
端末装置Cは、予約端末リストに登録されている端末装置Bに対して、端末装置Aから受信した予約情報を送信する(S109)。すなわち、図27に示す管理部PG200が有する予約情報送信部PG205として機能する制御部110が、通信部140を介して予約情報を送信する。
端末装置Bは、端末装置Cから受信した予約情報に基づいて記憶部120に格納された予約端末リストを更新する。すなわち、図27に示す管理部PG200が有する予約受信部PG202として機能する制御部110が、記憶部120に保持される予約端末リストPG210に、通信部140を介して受信した予約情報を登録する。
端末装置Cは、予約情報を送信した端末装置Aに対して、予約端末リストに登録されている予約情報を送信する(S109’)。すなわち、図27に示す管理部PG200が有する予約情報送信部PG205として機能する制御部110が、通信部140を介して予約情報を送信する。
端末装置Aは、端末装置Cから受信した予約情報に基づいて記憶部120に格納された予約端末リストを更新する。すなわち、図27に示す管理部PG200が有する予約受信部PG202として機能する制御部110が、記憶部120に保持される予約端末リストPG210に、通信部140を介して受信した予約情報を登録する。
端末装置Cは、端末装置Aから受信した予約情報に基づいて記憶部120に格納された予約端末リストを更新する。図15は、端末装置Cにおいて格納される予約端末リストの内容例を示した図である。図15に示す例では、コンテンツID1501としてコンテンツA−4を識別する情報が登録されており、コンテンツA−4に対する予約情報を送信した端末装置のアドレスを示す情報として端末装置Aのアドレス1と端末装置Bのアドレス2とが登録されていることを示している。
その後の処理は、実施例1に係るシステムの処理の流れと同様のため、説明を省略する。
以上の処理により、管理ノードとして選択された端末装置へ送信される予約情報を、各端末装置で共有することができる。
図29は、本実施例に係るシステムにおいて共有される予約情報の流れを概念的に示した図である。図29において黒丸A、B、C、Dは、端末装置を示しており、それぞれ端末装置A、B、C、Dと呼ぶ。
図29において、端末装置Aは、予約端末リストに端末装置Bに関する情報が登録されていることを示している。
図29において、端末装置Bは、予約端末リストに端末装置Aに関する情報が登録されていることを示している。
図29において、端末装置Dは、予約端末リストに端末装置Aと端末装置Bに関する情報が登録されていることを示している。
図29において、端末装置Cは、利用者からの操作を受けて生成した予約情報を、管理ノードとして選択した端末装置Dに対して送信する(1)ことを示している。
図29において、端末装置Dは、予約端末リストに登録されている端末装置AとBに対して、端末装置Cから受信した予約情報を送信する(2,3)ことを示している。
図29において、端末装置Dは、予約情報の送信元である端末装置Cに対して、予約端末リストに登録されている端末装置AとBに関する端末情報に基づいて生成した予約情報を、送信する(4)ことを示している。
図29において、端末装置Cは、端末装置Dから受信した予約情報を、予約端末リストに登録することを示している。
図29において、端末装置Dは、端末装置Cから受信した予約情報を、予約端末リストに登録することを示している。
図29において、端末装置Aは、端末装置Dから受信した端末装置Cに関する予約情報を、予約端末リストに登録されている端末装置Bに対して送信する(5)ことを示している。
図29において、端末装置Aは、端末装置Dから受信した端末装置Cに関する予約情報を、予約端末リストに登録することを示している。
図29において、端末装置Bは、端末装置Dから受信した端末装置Cに関する予約情報を、予約端末リストに登録されている端末装置Aに対して送信する(6)ことを示している。
図29において、端末装置Bは、端末装置Dから受信した端末装置Cに関する予約情報を、予約端末リストに登録することを示している。
〔3.実施例3の管理部PG200における予約処理の流れ〕
図30は、実施例3に係る端末装置により実行される管理部PG200における予約処理の具体的な手順を示した図である。図30に示す例は、上述の実施例1に示す管理部PG200における予約処理の流れ(図7参照)と同様の処理に対して、同一の参照符号を付している。図30に示す処理の流れは、例えば、予約情報の送信処理S302〜307が追加されている点で、図7に示す処理の流れと相違する。そこで、説明の簡略化のため、同じ内容となる処理手順については部分的に説明を省略する。
まず、端末装置の制御部110は、予約情報の受信を検知したか否かを判定する(S300)。制御部110は、通信部140から通信線130を介して取得した受信電文を解析し、受信電文が予約情報を示すと判定した場合に、予約情報の受信を検知したと判定する(S300でYES)。
制御部110は、予約情報の受信を検知した場合(S300でYES)、通信部140から取得した予約情報が有する端末情報を参照し、端末情報が自端末装置を示すか否かを判定する(S302)。制御部110は、例えば、端末情報に示されるアドレス情報が、自端末装置に割当てられているアドレス情報と同じである場合に、端末情報が自端末装置を示すと判定する(S302でYES)。また、制御部110は、例えば、端末情報に示されるノードIDが、自端末装置に割当てられているノードIDと同じである場合に、端末情報が自端末装置を示すと判定する(S302でYES)。
制御部110は、受信した予約情報が有する端末情報が自端末装置を示さないと判定した場合(S302でNO)、受信した予約情報に基づいて予約端末リストPG210を検索する(S303)。すなわち、制御部110は、受信した予約情報に示されるコンテンツIDと同じコンテンツIDに対応して予約端末リストPG210に登録されている端末装置を検索する(S303)。
一方、制御部110は、上述の処理S302において、受信した予約情報が有する端末情報が自端末装置を示すと判定した場合(S302でYES)、処理S300を再度実行する。
制御部110は、上述の処理S303における検索処理により予約端末リストから取得した端末情報を参照し、上述の処理S300で受信した予約情報が有する端末情報が、予約端末リストPG210に登録されているか否かを判定する(S304)。制御部110は、例えば、上述の処理S300で受信した予約情報が有する端末情報を、上述の処理S303における検索処理により取得した端末情報と比較し、同じ値を有する端末情報が存在する場合に、上述の処理S300で受信した予約情報が有する端末情報が、予約端末リストPG210に登録されていると判定する。
制御部110は、例えば、上述の処理S300で受信した予約情報が有する端末情報を、上述の処理S303における検索処理により取得した端末情報と比較し、同じ値を有する端末情報が1件も存在しない場合に、上述の処理S300で受信した予約情報が有する端末情報が、予約端末リストPG210に登録されていないと判定する。
制御部110は、上述の処理S304において端末情報が未登録であると判定した場合(S304でYES)、上述の処理S303における検索処理により取得した端末情報に示される端末装置に対して、上述の処理S300で受信した予約情報を、通信部140を介して送信する(S305)。予約端末リストは、コンテンツID及び端末情報を有する。端末情報2102は、ノードIDでもよいし、アドレス情報でもよい。
制御部110は、上述の処理S300で受信した予約情報が有する端末情報が示す端末装置が、予約情報の送信元である端末装置と一致するか否かを判定する(S306)。制御部110は、上述の処理S300において通信部140から取得した受信電文を解析することにより、送信元の端末装置を特定することができる。例えば、受信電文が有するIP(InternetProtocol)ヘッダに示される送信元IPアドレス(Source Address)を参照することにより、送信元の端末装置を特定することができる。
制御部110は、上述の処理S306において受信した予約情報が有する端末情報が示す端末装置と予約情報の送信元である端末装置が一致すると判定した場合(S306でYES)、受信した予約情報の送信元である端末装置に対して、上述の処理S303における検索処理により取得した端末情報とコンテンツIDとを有する予約情報を送信する(S307)。
制御部110は、上述の処理S300において受信した予約情報に示されるコンテンツID及び端末情報に基づいて、コンテンツID2101及び端末情報2102を有する予約端末情報を予約端末リストPG210に登録する(S301)。ここで、端末情報2102は、ノードIDでもよいし、アドレス情報でもよい。
一方、制御部110は、上述の処理S306において、予約情報が有する端末情報が示す端末装置と予約情報の送信元である端末装置が一致しないと判定した場合(S306でNO)、上述の処理S307を実行せずに、上述の処理S301における登録処理を実行する。
以上が、本実施例に係る端末装置100により実行される管理部PG200における予約処理の流れである。
〔4.実施例3の要求部PG100における所有候補検索処理〕
図31は、実施例3に係る端末装置により実行される要求部PG100における所有候補検索処理の具体的な手順を示した図である。図31に示す例は、上述の実施例1に示す要求部PG100における所有候補検索処理の流れ(図9参照)と同様の処理に対して、同一の参照符号を付している。図31に示す処理の流れは、例えば、管理ノードの選択処理(S502)が削除されている点で、図9に示す処理の流れと相違する。そこで、説明の簡略化のため、同じ内容となる処理手順については部分的に説明を省略する。
まず、制御部110は、実施例1に示す要求部PG100における録画処理の流れ(図8参照)と同様の処理手順により、受信したコンテンツに対して検証処理を実行し(図8のS405)、欠陥ありと判定されたコンテンツのコンテンツIDを指定して所有候補の検索処理を実行する(図8のS407)ことにより、所有候補検索処理を開始する。
すなわち、制御部110は、コンテンツIDの指定を受けて、所有候補検索処理を開始する(S500)。ここで、コンテンツIDは、上述の処理405において実行された検証処理により欠陥を有すると判定されたコンテンツデータに対応するコンテンツIDである。
制御部110は、所有候補の情報が存在するか否かを判定する(S501)。例えば、制御部110は、自端末装置により実行される管理部PG200から、所有候補の情報を取得済みである場合、所有候補の情報が存在すると判定する(S501でNO)。
制御部110は、上述の処理S501において所有候補が存在すると判定した場合(S501でNO)、すでに保持している所有候補の情報を検索結果として出力する(S506)。
一方、制御部110は、上述の処理S501において所有候補が存在しないと判定した場合(S501でYES)、プロセス間通信等の技法を用いて、自端末装置により実行される管理部PG200へ検索依頼を送信する(S503)。
制御部110は、検索依頼の送信先から、検索結果として端末リストを受信し(S504)、受信した端末リストを所有候補DB(PG116)に登録する(S505)。上述の処理S504において受信された端末リストは、コンテンツIDと、端末情報と、を有する。端末情報は、ノードIDでもよいし、アドレス情報でもよい。なお、端末情報としてノードIDを用いる場合、端末リストPG110を参照してアドレス情報1102を取得することができる。
制御部110は、上述の処理S504において受信した端末リストを所有候補として出力する(S506)。
以上が、本実施例に係る端末装置100により実行される要求部PG100における所有候補検索処理の流れである。
なお、本実施例に係る端末装置により実行される管理部PG200における所有候補検索処理は、実施例1と同様であるため、説明を省略する。
〔1.実施例4の概要〕
本実施例は、上述の実施例3と同様の構成において、上述の実施例2に示す待機処理と同様の待機処理を追加するものである。
ただし、本実施例における待機処理は、補完情報の送信を要求する取得依頼の送信処理に対して、任意の時間が経過するまで実行を待機させる。
以下の説明において、上述の実施例3と同様の内容については、部分的に説明を省略する。
〔2.実施例4に係る端末装置により実行されるプログラムの構成〕
図32は、本実施例に係る端末装置により実行されるプログラムの構成を示した図である。図32に示すプログラムの構成要素は、上述の実施例3に示すプログラムの構成要素(図27参照)と同様の構成に対して、同一の参照符号を付している。図32に示すプログラムの構成要素は、例えば、待機処理部PG109が追加されている点で、図27に示す実施例3に係るプログラムの構成と相違する。
本実施例において追加されている、待機処理部PG109は、配信装置200から取得したコンテンツに欠陥があった場合に、他の端末装置へ依頼を送信する処理を任意の時間が経過するまで待機させる構成として、制御部110を機能させる。
その他の構成については、上述の実施例3と同様であるため、説明を省略する。
〔3.実施例4に係る要求部PG100における録画処理〕
図33は、実施例4に係る端末装置により実行される要求部PG100における録画処理の流れを示した図である。なお、図33に示す処理手順は、図32に示す要求部PG100が有する方送受信部PG104、検証情報受信部PG105、検証処理部PG106、所有候補検索部PG107、補完処理部PG108、待機処理部PG109として機能する制御部110により実行される。
まず、端末装置の制御部110は、検証情報を受信したか否かを判定する(S400)。制御部110は、通信部140から通信線130を介して取得した受信電文を解析し、受信電文が検証情報を示すと判定した場合に、検証情報を受信したと判定する(S400でYES)。
制御部110は、検証情報を受信したと判定した場合(S400でYES)、受信した検証情報を検証情報DB(PG114)に登録する。検証情報は、図20に示すように、コンテンツID1141と、分割コンテンツID1142と、検証データ1143と、を有する。検証データは、例えば、所定の時間単位などに分割されたコンテンツデータをハッシュ化して得たハッシュ値を用いることができる。
制御部110は、上述の処理S400において検証情報を受信していないと判定した場合(S400でNO)、コンテンツを受信したか否かを判定する(S402)。制御部110は、通信部140から通信線130を介して取得した受信電文を解析し、受信電文がコンテンツ情報を示すと判定した場合に、コンテンツを受信したと判定する(S402でYES)。
制御部110は、コンテンツ情報を受信したと判定した場合(S402でYES)、受信したコンテンツ情報をコンテンツDB(PG115)に登録し、受信したコンテンツ情報の状態を示すコンテンツ管理情報をコンテンツ管理テーブル(PG112)に登録する(S403)。
コンテンツ情報は、図21に示すように、コンテンツID1151と、分割コンテンツID1152と、コンテンツデータ1153と、を有する。コンテンツデータ1153は、コンテンツID1151で識別されるコンテンツを、所定の時間単位などに分割されたコンテンツデータである。
コンテンツ管理情報は、図18に示すように、コンテンツID1121と、分割コンテンツID1122と、状態情報1123と、を有する。状態情報1123は、コンテンツ情報が有するコンテンツデータについて実行される検証処理の結果を示す。状態情報1123には、例えば、検証処理が実行される前であれば「検証未」を示す値が格納される。また、検証処理を実行した結果、検証情報との整合性を有する場合には「整合性あり」を示す値が格納され、検証情報との整合性を有さない場合には「整合性なし」を示す値が格納される。
なお、電波受信機500において受信されるコンテンツ情報は、分割コンテンツIDを有していなくてもよい。この場合、電波受信機500において受信されたコンテンツ情報が有するコンテンツデータを、検証処理の対象となる単位に再構成し、再構成した順番を示すシーケンス番号を端末装置100において付与すればよい。すなわち、この例では、コンテンツ情報及び検証情報が有する分割コンテンツIDとして、上述のシーケンス番号を用いることができる。
次に、制御部110は、上述の処理S403においてコンテンツDBに登録したコンテンツ情報が有するコンテンツID及び分割コンテンツIDに対応する検証情報を検証情報DBから取得する(S404)。
制御部110は、取得した検証情報が有する検証データ1143を用いて、コンテンツ情報が有するコンテンツデータの整合性の検証処理を実行する(S405)。制御部110は、例えば、検証データを生成したときと同じアルゴリズムを用いてコンテンツデータから生成したハッシュ値を、検証データと比較して、両者が一致した場合に整合性を有すると判定することができる(S406でNO)。すなわち、制御部110は、コンテンツデータに欠陥がないと判定した場合(S406でNO)、上述の処理S400からの処理を実行する。
一方、制御部110は、上述の処理S405を実行した結果、コンテンツデータに欠陥があると判定した場合(S406でYES)、欠陥を補完するデータを有する可能性のある端末装置を示す所有候補を検索する(S407)。処理S407における検索処理の具体例については後述する。
制御部110は、検索処理を実行した結果、所有候補を得られたか否かを判定する(S408)。制御部110は、上述の検索処理を実行した結果、所有候補を得られたと判定した場合(S408でYES)、本実施例に特有の待機処理を実行する(S413)。
上述の待機処理(S413)において、待機時間は、乱数に基づいて設定してもよいし、上述の処理S407における所有候補検索処理により取得した所有候補に示される端末装置の個数に基づいて設定してもよい。
制御部110は、例えば、上述の処理S407における所有候補検索処理により取得した所有候補に示される端末装置の個数に基づいて最大の待ち時間の値を決定し、決定された値から0値までの範囲でランダムに待ち時間を設定することができる。これにより、所有候補数の多さに応じて、設定されうる最大の待ち時間を調整することができる。すなわち、所有候補数が多くなれば、所有候補数が少ない場合に比べて、上述の処理S413において実行される待機時間が長く設定される可能性が生じる。その結果、本実施例において、各端末装置から送信される取得依頼が短時間に集中することを効果的に回避できる。
一方、所有候補数が少なくなれば、所有候補数が多い場合に比べて、上述の処理S413において実行され得る最長の待機時間が短く設定される。これは、所有候補数が少ないほど、各端末装置から送信される取得依頼が短時間に集中する可能性が低いためである。すなわち、この場合には、所有候補数が多い場合に比べて、取得依頼を送信するタイミングを分散させる時間的な範囲を短く設定することにより、補完処理を早く完了させることができる。
制御部110は、待機時間が経過した後、上述の検索処理で取得した所有候補に示される端末装置に対して、補完情報の送信を要求する取得依頼を送信する(S409)。ここで、所有候補に示される端末装置に対して送信される取得依頼は、上述の検証処理において欠陥を有すると判定されたコンテンツデータに対応するコンテンツID及び分割コンテンツIDを有する。
上述の検索処理(S407)において取得する所有候補として、複数の端末装置を示すリスト形式に編成したデータを用いることができる。この場合、制御部110は、所有候補リストに示される端末装置を任意の順序で選択して取得依頼を順次送信しても良いし、マルチキャスト(Multicast)してもよい(S409)。
一方、制御部110は、上述の処理S408において、所有候補の取得に失敗したと判定した場合(S408でNO)、配信装置200に対して、補完情報の送信を要求する取得依頼を送信する(S412)。ここで、配信装置200に対して送信される取得依頼は、上述の検証処理において欠陥を有すると判定されたコンテンツデータに対応するコンテンツID及び分割コンテンツIDを有する。
制御部110は、取得依頼の送信先から補完情報を受信し(S410)、受信した補完情報を用いて補完処理を実行する(S411)。ここで、取得依頼の送信先から受信された補完情報は、コンテンツIDと、分割コンテンツIDと、コンテンツデータと、を有する。すなわち、制御部110は、上述の補完処理において、受信された補完情報が有するコンテンツID及び分割コンテンツIDに対応するコンテンツ情報を、コンテンツDB(PG115)から検索する。そして、制御部110は、検索されたコンテンツ情報が有するコンテンツデータを、受信された補完情報が有するコンテンツデータを用いて更新する。
なお、取得依頼の送信先において整合性を有するコンテンツデータを所有していない場合、制御部110は、上述の処理S410において不完全な補完情報を受信する。この場合、制御部110は、上述の処理S411を実行せずに補完情報を破棄し、他の所有候補の端末装置からの補完情報の受信処理を実行するか、配信装置からの補完情報の受信処理を実行する。
以上が、端末装置100により実行される要求部PG100における録画処理の流れである。なお、上述の例では、端末装置100を用いた録画処理について説明したが、配信されるコンテンツの再生時に上述の補完処理を実行してもよい。
〔1.実施例5に係る端末装置により実行されるプログラムの構成について〕
図34は、本実施例に係る端末装置により実行されるプログラムの構成を示した図である。図34に示すプログラムの構成要素は、上述の実施例1に示すプログラムの構成要素(図4参照)と同様の構成に対して、同一の参照符号を付している。図34に示すプログラムの構成要素は、例えば、応答待機処理部PG206が追加されている点で、図4に示す実施例1に係るプログラムの構成と相違する。
本実施例において追加されている応答待機処理部PG206は、所有候補の検索依頼を受信した際に、検索結果である端末リストの送信処理を任意の時間が経過するまで待機させる構成として、制御部110を機能させる。
その他の構成については、上述の実施例と同様であるため、説明を省略する。
〔2.実施例5に係る端末装置により実行される管理部における所有候補検索処理について〕
図35に示す処理の流れは、図10に示す実施例1に係る所有候補検索処理と同様の内容となる処理手順に対して、同一の参照符号を付している。図35に示す処理手順は、例えば、処理S604及び処理S605が追加されている点で、図10に示す処理手順と相違する。そこで、説明の簡略化のため、同じ内容となる処理手順については部分的に説明を省略する。
まず、端末装置100の制御部110は、検索依頼を受信したか否かを判定し(S600)、検索依頼を受信したと判定した場合(S600でYES)、処理S603における端末リストの送信処理の実行を待機させる待機時間を設定する(S604)。
処理S604において、制御部110は、乱数に基づいて生成された待機時間を設定することができる。また、処理S604において、制御部110は、待機中の他の端末装置からの検索依頼要求の数に基づいて生成された待機時間を設定することができる。たとえば、処理S600において検索依頼を受信するたびにカウント値を加算し、処理S604においてカウント値に基づいて生成された待機時間を設定し、処理S603において端末リストを送信するたびにカウント値を減算する。例えば、処理S604において、カウント値が大きいほど待機時間を長くし、カウント値が小さいほど待機時間を短く設定することができる。
つぎに、制御部110は、設定した待機時間が経過するまで、所有候補の検索処理(S605)の実行を待機する。なお、処理S605において、制御部110は、待機時間が経過するまで、待機中である旨を示す信号を、所定のタイミングで端末装置へ送信してもよい。また、制御部110は、処理S605を開始する前に、検索依頼要求を受け付けた旨を示す信号を、端末装置へ送信してもよい。
制御部110は、待機時間が経過した後、予約端末の検索処理(S601)を実行する。その後の処理は、実施例1と同様であるため、説明を省略する。
〔1.実施例6に係る端末装置により実行されるプログラムの構成について〕
図36は、本実施例に係る端末装置により実行されるプログラムの構成を示した図である。図36に示すプログラムの構成要素は、上述の実施例5に示すプログラムの構成要素(図34参照)と同様の構成に対して、同一の参照符号を付している。図36に示すプログラムの構成要素は、例えば、接続結果送信部PG109及び接続結果受信部PG207及び接続結果更新部PG208及び接続結果リストPG220を有する点で、図34に示す実施例5に係るプログラムの構成と相違する。
接続結果送信部PG109は、補完処理部PG108の工程における補完情報の送受信結果を示す接続結果情報を、通信部140を用いて管理ノードに対して送信する構成要素として、制御部110を機能させる。ここで、接続結果情報は、コンテンツIDと、端末情報と、接続結果とを有する。接続結果情報に示すコンテンツIDは、補完処理部PG108の工程における補完情報に対応するコンテンツのコンテンツIDが設定される。接続結果情報に示す端末情報は、補完処理部PG108を実行する端末装置を識別するための情報が設定される。接続結果情報に示す接続結果は、補完処理部PG108の工程における補完情報の送受信結果を示す。
接続結果受信部PG207は、接続結果送信部PG109の工程により送信される接続結果情報を、通信部140を用いて受信する構成要素として、制御部110を機能させる。
接続結果更新部PG208は、接続結果受信部PG207の工程により受信される接続結果情報に基づいて、接続結果リストPG220を更新する構成要素として、制御部110を機能させる。
本実施例に係る応答待機処理部PG206は、接続結果リストPG220に基づいて待機時間を設定する構成要素として、制御部110を機能させる。
図37は、本実施例に係る接続結果リストのデータ構造を示す。図37に示す接続結果リストは、コンテンツID(2201)と、端末情報(2202)と、接続結果(2203)とを有している。
図37に示すコンテンツID(2201)は、接続結果受信部PG207の工程により受信された接続結果情報に示されるコンテンツIDが設定される。すなわち、補完処理部PG108の工程における補完情報に対応するコンテンツのコンテンツIDが設定される。
図37に示す端末情報(2202)は、接続結果受信部PG207の工程により受信された接続結果情報に示される端末情報が設定される。すなわち、接続結果情報を送信した端末装置を識別するための情報が設定される。例えば、端末装置のIPアドレスや、ノードIDなどを、端末情報として用いることができる。
図37に示す接続結果(2203)は、接続結果受信部PG207の工程により受信された接続結果情報に示される接続結果が設定される。
図37に示す例では、コンテンツID(2201)「コンテンツA−4」に対応付けて、端末装置A乃至Gの接続結果(2203)が示されている。図37に示す例では、端末装置A及び端末装置Gの接続結果は、検索依頼の受付後であって端末リストを送信していない状態を示す「S1」が設定されている。図37に示す例では、端末装置E及び端末装置Fの接続結果は、端末リストの送信後であって補完情報の受信が完了していない状態を示す「S2」が示されている。図37に示す例では、端末装置B及び端末装置Cの接続結果は、補完情報の受信が完了している状態を示す「S3」が設定されている。
その他の構成については、上述の実施例と同様であるため、説明を省略する。
〔2.実施例6に係るシステムの処理の流れについて〕
図39は、実施例6に係るシステムの処理の流れを示す。図39に示す例は、上述の実施例1に示すシステムの処理の流れ(図5参照)と同様の処理に対して、同一の参照符号を付している。図39に示す処理の流れは、例えば、接続結果の送信処理S110が追加されている点で、図5に示す処理の流れと相違する。そこで、説明の簡略化のため、同じ内容となる処理手順については部分的に説明を省略する。
図39に示す例は、図5と同様に端末装置A(100)が本実施例に係るシステムからコンテンツの受信を行なう、という処理の流れを示している。ただし、端末装置A乃至端末装置Dの4台の端末装置のうち、端末装置Dが管理ノードとして機能しており、端末装置A乃至端末装置Cが一般ノードとして機能している。
まず、端末装置Aは、実施例1と同様に、該当箇所の補完情報を所有する端末装置の所在を得るための検索依頼を、管理ノードとして機能する端末装置Dへ送信する(S105)。
端末装置Dは、検索依頼を受信した場合、受信した検索依頼の内容に基づいて、接続結果リストを更新する。すなわち、受信した検索依頼に示されるコンテンツIDと、検索依頼を送信した端末装置と、に対応付けて登録されている接続結果(2203)に「S1」を設定する。ここで、「S1」は、検索依頼の受付後であって端末リストを送信していない状態を示す。
端末装置Dは、接続結果リスト(PG220)に基づいて設定された待機時間が経過した後に、実施例1と同様にして取得した予約端末情報に基づいて生成した端末リストを、検索依頼を送信した端末装置Aへ送信する(S106)。その際、端末装置Dは、接続結果リスト(PG220)を更新する。すなわち、端末装置Dは、受信した検索依頼に示されるコンテンツIDと、検索依頼を送信した端末装置と、に対応付けて登録されている接続結果(2203)に「S2」を設定する。ここで、「S2」は、端末リストの送信後であって補完情報の受信が完了していない状態を示す。
端末装置Aは、受信した端末リストに示される端末装置へ、コンテンツの補完情報を取得するための取得依頼を送信する(S107)。図39に示す例では、端末装置Bへ取得依頼を送信したところ、端末装置Bとの通信に失敗したことを示している。
図39に示す例では、端末装置Aは、さらに、受信した端末リストに示される他の端末装置である端末装置Cへ、コンテンツの補完情報を取得するための取得依頼を送信する(S107’)。
端末装置Cは、受信した取得依頼に示されるコンテンツID及び分割コンテンツIDに該当する分割コンテンツデータを、コンテンツDB(PG115)から取得する。
端末装置Cは、取得した分割コンテンツデータを、取得依頼を送信した端末装置Aへ、補完情報として送信する(S108)。
端末装置Aは、受信した補完情報に示されるコンテンツID及び分割コンテンツIDに対応付けてコンテンツDB(PG115)に格納されている分割コンテンツデータを、受信した補完情報が有する分割コンテンツデータを用いて更新する。
端末装置Aは、端末装置B及び端末装置Cとの取得依頼の送信結果及び補完情報の受信結果を示す接続結果情報を、管理ノードとして機能する端末装置Dへ送信する(S110)。
端末装置Dは、端末装置Aから受信した接続結果情報に基づいて、接続結果リスト(PG220)を更新する。図38は、図39に示す処理S110により更新された後の接続結果リストの内容例を示す。図38に示す例では、端末装置Aに対応付けられた接続結果(2203)に、補完情報の受信が完了済みである旨を示す「S3」が設定されている。図38に示す例では、端末装置Bに対応付けられた接続結果(2203)に、補完情報の取得依頼の送信処理が失敗した旨を示す「S0」が設定されている。これは、図39に示す処理S107において、端末装置Aから端末装置Bへの取得依頼の送信処理が失敗したことに基づいて更新された例を示している。
以上が、本実施例に係るシステムの全体の処理の流れである。
〔3.実施例6に係る待機時間の設定処理について〕
つぎに、本実施例に係る待機時間の設定処理を説明する。なお、本実施例に係る端末装置により実行される管理部PG200における所有候補検索処理の全体の流れは、図35に示す実施例5に係る処理手順と同様であるため、説明を省略する。
まず、制御部110は、処理S600において受信した検索依頼に示されるコンテンツIDに対応して登録されている接続結果情報を、接続結果リスト(PG220)から検出する。
制御部110は、検出した接続結果情報のうち、接続結果(2203)が「S2」を示す接続結果情報の個数を計数する。すなわち、端末リストの送信後であって補完情報の受信が完了していない状態を示す接続結果情報の個数を計数する。
制御部110は、計数した「S2」の接続結果情報の個数に基づいて、待機時間を設定する。例えば、制御部110は、計数した「S2」の接続結果情報の個数が大きくなるほど待機時間を長く設定し、計数した「S2」の接続結果情報の個数が小さくなるほど待機時間を短く設定することができる。また、制御部110は、計数した「S2」の接続結果情報の個数が所定の閾値以上の場合に乱数等に基づいて任意の待機時間を設定し、計数した「S2」の接続結果情報の個数が所定の閾値未満である場合に待機時間を0に設定してもよい。すなわち、計数した「S2」の接続結果情報の個数が所定の閾値未満である場合には待機処理を実行せずに、端末リストの送信処理を実行するようにしてもよい。
端末リストの送信後であって補完情報の受信が完了していない状態にある端末装置は、他の端末装置からの補完情報の受信処理を実行している可能性が高い。すなわち、端末リストの送信後であって補完情報の受信が完了していない状態にある端末装置の台数が増えるほど、補完情報の受信処理を実行している端末装置の台数が増えることになる。そのため、端末リストの送信後であって補完情報の受信が完了していない状態にある端末装置の台数に応じて待機時間を設定することにより、補完情報の送受信処理が集中することによるネットワーク上の負荷が過大となることを回避することができる。
〔その他の実施態様〕
上述の実施例において説明した工程のうち、自動的に行なわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的に行なわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。
さらに、本実施例に示す各装置にて行なわれる処理は、その全部または任意の一部が、ワイヤードロジックによるハードウェアとして実現され得る。

Claims (9)

  1. ネットワークを介して互いに通信可能な複数のノード装置を有する情報共有システムに前
    記ノード装置として接続可能な端末装置であって、
    コンテンツの受信を予約する操作を受付ける、予約入力部と、
    予約操作を受けた前記コンテンツを識別するコンテンツIDと、予約操作を受けた前記端末装置を識別する端末情報と、を有する予約情報を、前記コンテンツIDに基づいて特定される前記端末装置へ送信する、予約送信部と、
    前記コンテンツ配信の予約操作を受けた前記端末装置から送信される前記予約情報を受信し、受信した前記予約情報に基づいて、前記コンテンツを識別する前記コンテンツIDと、前記コンテンツの配信を予約している前記端末装置を識別する前記端末情報と、を対応付けた予約端末リストを更新する、予約受信部と、
    前記予約入力部により予約操作を受けた前記コンテンツを取得した場合、取得した前記コンテンツについて欠陥の有無を検証する、検証処理部と、
    前記検証処理部により欠陥を有すると判定された前記コンテンツを識別する前記コンテンツIDを有する検索要求を、前記コンテンツIDに基づいて特定される前記端末装置へ送信し、前記検索要求の送信先の前記端末装置から検索結果を取得する、所有候補検索部と、
    前記配信された前記コンテンツに欠陥を有すると判定した前記端末装置から送信される前記検索要求を受信し、前記検索要求が有する前記コンテンツIDに対応して登録されている前記端末情報を前記予約端末リストから取得し、取得した前記端末情報を検索結果として送信する、検索処理部と、
    前記所有候補検索部により取得された検索結果に示される前記端末情報により識別される前記端末装置から、前記検証処理部により欠陥を有すると判定された前記コンテンツの修復データを取得し、取得した修復データを用いて前記コンテンツを修復する、補完処理部と、
    前記補完処理部による前記コンテンツの修復に基づいて、前記端末装置からの前記検索要求に示される前記コンテンツIDと、前記検索要求した前記端末情報と、前記コンテンツIDと前記端末情報に対応付けて登録されている接続結果の記録された検索結果リストを更新する、接続結果更新部と、
    を有する端末装置。
  2. 請求項1に記載の端末装置であって、
    前記コンテンツIDに基づいて特定される前記端末装置への前記検索要求の送信処理を待機させる待機時間を設定する、待機処理部と、
    を有し、
    前記所有候補検索部は、
    前記待機処理部により設定された待機時間が経過した後に、前記コンテンツ
    IDに基づいて特定される前記端末装置への前記検索要求の送信を実行する、
    端末装置。
  3. 請求項1に記載の端末装置であって、
    前記予約受信部により受信された予約情報に示される前記コンテンツIDに対応付けて登録されている前記端末情報を前記予約端末リストから取得し、取得された前記端末情報により識別される前記端末装置に対して前記受信された予約情報を送信する、予約転送部と、を有し、
    前記所有候補検索部は、
    前記コンテンツIDに基づいて特定される前記端末装置として、前記予約操作を受けた自端末装置を選択し、前記自端末装置が有する前記検索処理部へ検索要求を送信する、
    端末装置。
  4. 請求項3に記載の端末装置であって、
    前記所有候補検索部により取得された検索結果に示される前記端末情報により識別される前記端末装置から前記検証処理部により欠陥を有すると判定された前記コンテンツの修復データを取得する処理を待機させる待機時間を設定する、第二の待機処理部と、
    を有し、
    前記補完処理部は、
    前記待機処理部により設定された待機時間が経過した後に、前記コンテンツの修
    復データを取得する処理を実行する、
    端末装置。
  5. ネットワークを介して互いに通信可能な複数のノード装置を有する情報共有システムに前
    記ノード装置として接続可能な端末装置において用いられるプログラムであって、
    コンテンツの受信を予約する操作を受付ける、予約入力部と、
    予約操作を受けた前記コンテンツを識別するコンテンツIDと、予約操作を受けた前記端末装置を識別する端末情報と、を有する予約情報を、前記コンテンツIDに基づいて特定される前記端末装置へ送信する、予約送信部と、
    前記コンテンツ配信の予約操作を受けた前記端末装置から送信される前記予約情報を受信し、受信した前記予約情報に基づいて、前記コンテンツを識別する前記コンテンツIDと、前記コンテンツの配信を予約している前記端末装置を識別する前記端末情報と、を対応付けた予約端末リストを更新する、予約受信部と、
    前記予約入力部により予約操作を受けた前記コンテンツを取得した場合、取得した前記コンテンツについて欠陥の有無を検証する、検証処理部と、
    前記検証処理部により欠陥を有すると判定された前記コンテンツを識別する前記コンテンツIDを有する検索要求を、前記コンテンツIDに基づいて特定される前記端末装置へ送信し、前記検索要求の送信先の前記端末装置から検索結果を取得する、所有候補検索部と、
    前記配信された前記コンテンツに欠陥を有すると判定した前記端末装置から送信される前記検索要求を受信し、前記検索要求が有する前記コンテンツIDに対応して登録されている前記端末情報を前記予約端末リストから取得し、取得した前記端末情報を検索結果として送信する、検索処理部と、
    前記所有候補検索部により取得された検索結果に示される前記端末情報により識別される前記端末装置から、前記検証処理部により欠陥を有すると判定された前記コンテンツの修復データを取得し、取得した修復データを用いて前記コンテンツを修復する、補完処理部と、
    前記補完処理部による前記コンテンツの修復に基づいて、前記端末装置からの検索要求に示される前記コンテンツIDと、検索依頼した前記端末情報とに対応付けて登録されている接続結果の記録された検索結果リストを更新する、接続結果更新部、
    として前記端末装置を機能させるプログラム。
  6. ネットワークを介して互いに通信可能な複数のノード装置を有する情報共有システムに前
    記ノード装置として接続可能な端末装置であって、
    コンテンツ配信の予約操作を受けた前記端末装置から送信される予約情報を受信し、受信した前記予約情報に基づいて、コンテンツを識別するコンテンツIDと、前記コ
    ンテンツの配信を予約している前記端末装置を識別する端末情報と、を対応付けた予約端末リストを更新する、予約受信部と、
    配信された前記コンテンツに欠陥を有すると判定した前記端末装置から送信される、果を有すると判定された前記コンテンツを識別する前記コンテンツIDを有する検索要求を受信し、前記検索要求が有する前記コンテンツIDに対応して登録されている端末情報を前記予約端末リストから取得し、取得した前記端末情報を検索結果として送信する、検索処理部と、
    前記補完処理部による前記コンテンツの修復に基づいて、前記端末装置からの検索依頼に示される前記コンテンツIDと、検索依頼した前記端末情報とに対応付けて登録されている接続結果の記録された検索結果リストを更新する、接続結果更新部と、
    を有する端末装置。
  7. ネットワークを介して互いに通信可能な複数のノード装置を有する情報共有システムに前
    記ノード装置として接続可能な端末装置であって、
    コンテンツの受信を予約する操作を受付ける、予約入力部と、
    予約操作を受けた前記コンテンツを識別するコンテンツIDと、前記予約操作を受けた前記端末装置を識別する端末情報と、を有する予約情報を、前記コンテンツを識別する前記コンテンツIDと、前記コンテンツの配信を予約している前記端末装置を識別する前記端末情報と、を対応付けた予約端末リストを更新させるために、前記コンテンツIDに基づいて特定される前記端末装置へ送信する、予約送信部と、
    前記予約入力部により予約操作を受けた前記コンテンツを取得した場合、取得した前記コンテンツについて欠陥の有無を検証する、検証処理部と、
    前記検証処理部により欠陥を有すると判定された前記コンテンツを識別する前記コンテンツIDを有する検索要求を、前記検索要求の送信先の前記端末装置が有する前記予約端末リストにおいて前記コンテンツIDに対応して登録されている前記端末情報を検索結果として取得するために、前記コンテンツIDに基づいて特定される前記端末装置へ送信する所有候補検索部と、
    前記所有候補検索部により取得された検索結果に示される前記端末情報により識別される前記端末装置から、前記検証処理部により欠陥を有すると判定された前記コンテンツの修復データを取得し、取得した前記修復データを用いて前記コンテンツを修復する、補完処理部と、
    前記補完処理部による前記コンテンツの修復に基づいて、前記端末装置からの検索要求に示される前記コンテンツIDと、検索要求した前記端末情報とに対応付けて登録されている接続結果の記録された検索結果リストを更新する、接続結果更新部と、
    を有する端末装置。
  8. 請求項1に記載の端末装置であって、
    前記検索処理部は、前記検索結果の送信処理を待機させる待機時間を設定し、設定した待機時間が経過するまで、前記検索結果の送信処理を待機させる
    端末装置。
  9. 前記検索要求が有する前記コンテンツIDに対応付けて、前記検索処理部により前記検索結果の送信処理が実行された旨を示す第一の実行結果情報を記憶する、第一の実行結果記憶部と、
    前記補完処理部により修復データを取得したことに基づいて、前記補完処理部が実行された旨を示す情報である第二の実行結果情報を、前記コンテンツIDに基づいて特定される前記端末装置へ送信する、第二の実行結果送信部と、
    前記第二の実行結果情報を前記コンテンツIDに対応付けて受信し、前記コンテンツIDごとに前記受信した第二の実行結果情報を記憶する、第二の実行結果記憶部と、
    を有し、
    前記第一の実行結果記憶部により記憶されている前記第一の実行結果情報と、前記第二の実行結果記憶部により記憶されている前記第二の実行結果情報と、に基づいて前記待機時間を設定する、
    ことを特徴とする請求項8に記載の端末装置。
JP2009064991A 2008-11-19 2009-03-17 端末装置及びプログラム Expired - Fee Related JP5251643B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009064991A JP5251643B2 (ja) 2008-11-19 2009-03-17 端末装置及びプログラム
US12/620,563 US20100124230A1 (en) 2008-11-19 2009-11-17 Terminal apparatus and program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008296093 2008-11-19
JP2008296093 2008-11-19
JP2009064991A JP5251643B2 (ja) 2008-11-19 2009-03-17 端末装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2010152856A JP2010152856A (ja) 2010-07-08
JP5251643B2 true JP5251643B2 (ja) 2013-07-31

Family

ID=42172036

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009064991A Expired - Fee Related JP5251643B2 (ja) 2008-11-19 2009-03-17 端末装置及びプログラム

Country Status (2)

Country Link
US (1) US20100124230A1 (ja)
JP (1) JP5251643B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9014029B1 (en) * 2012-03-26 2015-04-21 Amazon Technologies, Inc. Measuring network transit time
WO2021187449A1 (ja) * 2020-03-18 2021-09-23 ソニーグループ株式会社 データ処理装置、データ処理方法、データ処理プログラム、データ抽出装置、データ抽出方法およびデータ抽出プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0548579A (ja) * 1991-08-19 1993-02-26 Fujitsu Ltd 同報通信処理装置
JPH08307451A (ja) * 1995-05-11 1996-11-22 Canon Inc データ伝送システム及び方法
US6219669B1 (en) * 1997-11-13 2001-04-17 Hyperspace Communications, Inc. File transfer system using dynamically assigned ports
JP4150581B2 (ja) * 2002-12-18 2008-09-17 株式会社ケンウッド 配信システム、オーディオ機器およびコンテンツ記録方法
US7805416B1 (en) * 2005-09-30 2010-09-28 Emc Corporation File system query and method of use
US7995588B2 (en) * 2006-01-27 2011-08-09 Vuze Llc Systems and methods for distributing data within an internet having a plurality of nodes
JP2008059399A (ja) * 2006-08-31 2008-03-13 Brother Ind Ltd コンテンツ配信システム、コンテンツ配信システムにおける情報処理方法、端末装置及びそのプログラム

Also Published As

Publication number Publication date
US20100124230A1 (en) 2010-05-20
JP2010152856A (ja) 2010-07-08

Similar Documents

Publication Publication Date Title
US10476686B2 (en) Wireless communication device, program, and wireless communication system
US20070283043A1 (en) Information delivery system, delivery request program, transfer program, delivery program, and the like
US8706112B2 (en) Computer based method and system for logging in a user mobile device at a server computer system
JP6011000B2 (ja) 伝送管理装置、伝送システム、伝送管理方法およびプログラム
JP6006944B2 (ja) システム、映像表示装置、コンテンツサーバ、及び情報端末装置
US20150067129A1 (en) Apparatus, system, and method of managing device, and recording medium storing device management program
CN110012217A (zh) 采集分辨率的确定方法、装置及电子设备
US20140267567A1 (en) Communication server, communication system, and communication method
CN113490039B (zh) 一种投屏联播方法、装置、系统、电子设备及存储介质
EP2635073A1 (en) Access point selection based on number of successful connections
JP2017535124A (ja) メディアコンテンツに関連付けられた情報を提供する方法および装置
US20160183176A1 (en) Service discovery technique in wireless communication network for forming p2p group
EP2845387B1 (en) Method for ingesting multiple signals of the same meaning
CN114039961A (zh) 基于WebSocket的消息推送方法、设备、服务器及存储介质
US8051157B2 (en) Discovery apparatus and method
JP5251643B2 (ja) 端末装置及びプログラム
US10051053B2 (en) System and method for transferring and synchronizing content between electronic devices
JP6340667B2 (ja) 情報提供システム及び情報提供方法
US8135810B2 (en) IPMI server management system and method
JP6358303B2 (ja) 伝送システム、伝送管理方法およびプログラム
US10142667B2 (en) Information processing system and server apparatus
US9258175B1 (en) Method and system for sharing playlists for content stored within a network
CN115291824B (zh) 一种小程序投屏方法、系统、装置及电子设备
CN105491142B (zh) 音乐获取方法、音乐分享方法、装置及系统
JP7177033B2 (ja) 情報管理システム、サーバ、クライアント、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130115

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130401

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160426

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees