JP2007141103A - 情報配信システム、情報処理装置及び情報処理プログラム - Google Patents

情報配信システム、情報処理装置及び情報処理プログラム Download PDF

Info

Publication number
JP2007141103A
JP2007141103A JP2005336367A JP2005336367A JP2007141103A JP 2007141103 A JP2007141103 A JP 2007141103A JP 2005336367 A JP2005336367 A JP 2005336367A JP 2005336367 A JP2005336367 A JP 2005336367A JP 2007141103 A JP2007141103 A JP 2007141103A
Authority
JP
Japan
Prior art keywords
information
shared
content
recording
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005336367A
Other languages
English (en)
Other versions
JP4670604B2 (ja
Inventor
Kentaro Ushiyama
建太郎 牛山
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.)
Brother Industries Ltd
Original Assignee
Brother Industries 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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2005336367A priority Critical patent/JP4670604B2/ja
Priority to PCT/JP2006/322812 priority patent/WO2007058233A1/ja
Publication of JP2007141103A publication Critical patent/JP2007141103A/ja
Priority to US12/149,496 priority patent/US8010488B2/en
Application granted granted Critical
Publication of JP4670604B2 publication Critical patent/JP4670604B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1076Resource dissemination mechanisms or network resource keeping policies for optimal resource availability in the overlay network
    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23103Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4135Peripherals receiving signals from specially adapted client devices external recorder
    • 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/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • 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
    • 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/643Communication protocols
    • 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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level
    • 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
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 

Abstract

【課題】配信システム内において必要な数のコンテンツを公開前に自立的に分散配置させる情報配信システム等を提供する。
【解決手段】ネットワークを介した複数の情報処理装置と、共用情報が複数の情報処理装置によって共用可能に所持される情報配信システムにおいて、各情報処理装置は、共用情報を記録する手段と、公開時刻情報と評価値情報を共用情報ごとに記憶する手段と、公開時刻が現在時刻より前の共用情報であって、且つ、評価値が所定の条件を満たす共用情報を情報記録指示の対象とし、当該共用情報の記録を指示するための情報処理装置を選別する手段と、記録指示情報を送信する手段とを有し、前記記録指示情報を受信した情報処理装置は、選別された情報処理装置自身と、共用情報を記憶する情報処理装置との間で通信負荷を比較する手段と、通信負荷が相対的に小さい通信経路で接続された情報処理装置に対して、共用情報の伝送を要求する情報を送信する。
【選択図】図1

Description

本発明は、情報配信システム、情報処理装置及び情報処理プログラムの技術分野に属し、より詳細には、複数の情報処理装置間で共用されるべき映画等のコンテンツ(共有情報)を、共用可能に公開する前に、情報配信システム中の複数の情報処理装置に予め記録させておく情報配信システム、情報処理装置及び情報処理プログラムの技術分野に属する。
近年、インターネット等のネットワークを介して上記コンテンツを蓄積しているサーバ等に端末装置(ノード)からアクセスし、そのノードにおいて視聴が所望されているコンテンツを当該ノードに配信して視聴する、いわゆるコンテンツ配信を行なう配信システムについての研究開発が盛んである。
そして、当該配信システムの一つとして、ネットワークに属するノード間で、当該コンテンツが相互に直接授受される配信システム、例えば、各コンテンツを複数のノード間で分散して複数のノードで共用させる配信システムであるP2P(Pear to Pear)型の配信システムがある。このP2P型の配信システムは、従来のクライアント・サーバ型のモデルの欠点である、サーバへのアクセス集中や、高い管理コストを解決する手法として注目されている。
また、この分野の研究では、ピアツーピア型の情報配信システムにおいて、例えば、分散ハッシュテーブル(以下、DHT(Distributed Hash Table)という)を利用して論理的に構築されたオーバーレイネットワークでは、各ノードが、当該オーバーレイネットワークに参加している全てのノードへのリンク情報(例えば、IPアドレス)を認識しているわけではなく、参加の際などに得られる一部のノードへのリンク情報だけを所持しており、かかるリンク情報に基づき、データの問い合わせ等を行なうようになっている。
このようなオーバーレイネットワークにおいては、ノードの参加及び脱退(離脱)が頻繁に行われても、負荷分散が適切に行われる必要があり、非特許文献1には、オーバーレイネットワークにおいて、参加及び脱退(離脱)が頻繁に行われる場合であっても、適切に負荷分散を行なうための技術が開示されている。また、コンテンツの複製(レプリカ)を複数のノードに分散して保持させることも、特定ノードへのアクセス集中を回避するために有効であり、従来における当該レプリカの作成・配置に関する提案としては、例えば、以下の特許文献1や非特許文献1に記載されたものがある。
この特許文献1によれば、ネットワーク上のあるサービスグループ内で接続されている各ノードに存在するコンテンツの全体サイズ(全体の情報量)及びその数を参照して、当該サービスグループ内のネットワーク全体でバランスよくレプリカ(複製物)を作成・配置する方法が提案されている。
更に、特許文献2には、各コンテンツに重要度などのパラメータを取り入れて、人気のあるコンテンツほど多くレプリカを作成する手法が提案されている。
「分散ハッシュテーブルの軽量な負荷分散手法の検討」 社団法人 電子情報通信学会 信学技報 特開2003−99337号公報 特開2003−216521号公報
このような配信システムにおいて、分散ストレージ技術を使ってコンテンツ配信サービスを行なう場合、人気のあるコンテンツはアクセスが集中するため、人気に応じてレプリカを複製することが望ましいが、例えば特許文献2に記載された手法では実際にコンテンツが公開され、要求されて初めてレプリカの作成が実行される。
しかしながら、一般に映画やレンタルビデオ・CD店舗での需要パターンで見受けられるようと同じように、配信サービスにおいても、コンテンツの公開直後が最も人気が高く、サービスとして運用する場合にはコンテンツが公開されてからレプリカの作成を行なっていたのでは、需要増大に対応しきれず、結局最初にコンテンツを所有している特定のノードにアクセスの集中が生じてしまうという問題があった。
そこで、本発明は上記の問題点に鑑みて為されたもので、配信システム内において必要な数のコンテンツを、公開前に自律的に分散配置させる情報配信システム等を提供する。
上記の課題を解決するために、請求項1に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置と、少なくとも1以上の共用情報が前記複数の情報処理装置によって共用可能に所持される情報配信システムにおいて、各前記情報処理装置は、少なくとも1以上の前記共用情報を記録する共用情報記録手段と、前記共用情報記録手段に記録された共用情報が前記複数の情報処理装置によって共用可能となる時刻を示す公開時刻情報を前記共用情報ごとに記憶する公開時刻情報記憶手段と、前記共用情報の複製適応性の評価値を示す評価値情報を前記共用情報ごとに記憶する評価値情報記憶手段と、前記共用情報記録手段に記録された共用情報のうち、前記公開時刻情報記憶手段と前記評価値情報記憶手段を参照して、公開時刻が現在時刻より前の共用情報であって、且つ、前記評価値情報で示される評価値が所定の条件を満たす共用情報を情報記録指示の対象とし、当該共用情報の記録を指示するための情報処理装置を前記複数の情報処理装置から選別する装置選別手段と、記録指示の対象とされる前記共用情報を、前記装置選別手段によって選別された情報処理装置に対して記録するよう指示する記録指示情報を送信する記録指示情報送信手段と、を有し、前記複数の情報処理装置のうち、前記記録指示情報を受信した前記情報処理装置は、前記複数の情報処理装置のうち、記録指示の対象とされる前記共用情報を記憶する前記情報処理装置を検索すべく、当該共用情報に対応する固有の識別情報を送信する識別情報送信手段と、当該選別された情報処理装置自身と、記録指示の対象とされる前記共用情報を記憶する少なくとも1以上の前記情報処理装置と、の間の各通信経路における通信負荷に関する通信負荷情報を夫々取得する通信負荷情報取得手段と、前記各通信経路における通信負荷を比較する通信負荷比較手段と、記録指示の対象とされる前記共用情報を記憶する前記情報処理装置のうち、前記通信負荷比較手段による比較結果に基づいて、前記通信負荷が相対的に小さい前記通信経路を介して接続された前記情報処理装置に対して、記録指示の対象とされる前記共用情報の伝送を要求する要求情報を送信する要求情報送信手段と、前記要求情報の送信先の前記情報処理装置から、記録指示の対象とされる前記共用情報を受信する情報受信手段と、受信した前記共用情報を、前記共用情報記憶手段に記憶させる記憶制御手段と、を有し、前記複数の情報処理装置のうち、前記要求情報を受信した情報処理装置は、記録指示の対象とされる前記共用情報を、前記要求情報の送信元の情報処理装置に伝送する共用情報伝送手段を有することを特徴とする。
これによれば、共用情報を他の情報処理装置に共用可能に公開する前に予め複数の情報処理装置に所持させて、共用情報をシステム内に分散配置させることができるので、共用情報の公開後、一斉に多数の情報処理装置が当該共用情報の配信要求をした場合にも、予め多数の情報処理装置が共用情報を所持しているので、1台のみが共用情報を所持している場合と比較して共用情報の公開直後であっても、それぞれのPtoP間で比較的スムーズに共用情報の提供を行なうことができる情報配信システムを提供することができる。また、共用情報の記録を指示する情報処理装置を選別し、共用情報の記録を指示された情報処理装置は、記録指示の対象となる共用情報を所持する情報処理装置のうち、通信負荷が小さい情報処理装置から当該共用情報を受信するよう構成したので、システム全体の通信負荷を抑制しつつ複製を作成することができる。
上記の課題を解決するために、請求項2に記載の発明は、請求項1に記載の情報配信システムにおいて、前記記憶制御手段は、前記複数の情報処理装置によって共用可能に所持されるべき新たな共用情報を前記共用情報記録手段に記録する場合には、当該新たな共用情報に係る前記評価値情報及び前記公開時刻情報をそれぞれ生成して、前記評価値情報記憶手段及び前記公開時刻情報記憶手段に当該共用情報と対応付けて記憶させることを特徴とする。
これによれば、新たな共用情報の公開を所望する使用者が、共用情報を分散配置させる数等の複製適応性を示す評価値や共用情報を公開すべき公開時刻情報を決定できるので、使用者にとって使いやすいシステムを提供することができる。
上記の課題を解決するために、請求項3に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置と、少なくとも1以上の共用情報が前記複数の情報処理装置によって共用可能に所持される情報配信システムにおける前記情報処理装置において、少なくとも1以上の前記共用情報を記録する共用情報記録手段と、前記共用情報記録手段に記録された共用情報が前記複数の情報処理装置によって共用可能となる時刻を示す公開時刻情報を前記共用情報ごとに記憶する公開時刻情報記憶手段と、前記共用情報の複製適応性を示す評価値である評価値情報を前記共用情報ごとに記憶する評価値情報記憶手段と、前記共用情報記録手段に記録された共用情報のうち、前記公開時刻情報記憶手段と前記評価値情報記憶手段を参照して、公開時刻が現在時刻より前の共用情報であって、且つ、前記評価値情報で示される評価値が所定の条件を満たす共用情報を情報記録指示の対象とし、当該共用情報の記録を指示するための情報処理装置を前記複数の情報処理装置から選別する装置選別手段と、記録指示の対象とされる前記共用情報を、前記装置選別手段によって選別された情報処理装置に対して記録するよう指示する記録指示情報を送信する記録指示情報送信手段と、を有することを特徴とする。
これによれば、共用情報を他の情報処理装置に共用可能に公開する前に予め複数の情報処理装置に所持させて、共用情報をシステム内に分散配置させることができるので、共用情報の公開後、一斉に多数の情報処理装置が当該共用情報の配信要求をした場合にも、予め多数の情報処理装置が共用情報を所持しているので、1台のみが共用情報を所持している場合と比較して共用情報の公開直後であっても、それぞれのPtoP間で比較的スムーズに共用情報の提供を行なうことができる情報配信システムを提供することができる。
上記の課題を解決するために、請求項4に記載の発明は、請求項3に記載の情報処理装置において、前記複数の情報処理装置に含まれる何れかの前記情報記録装置から前記記録指示情報を受信すると、前記複数の情報処理装置のうち、記録指示の対象とされる前記共用情報を記憶する前記情報処理装置を検索すべく、当該共用情報に対応する固有の識別情報を送信する識別情報送信手段と、当該情報処理装置自身と、記録指示の対象とされる前記共用情報を記憶する少なくとも1以上の前記情報処理装置と、の間の各通信経路における通信負荷に関する通信負荷情報を夫々取得する通信負荷情報取得手段と、前記各通信経路における通信負荷を比較する通信負荷比較手段と、記録指示の対象とされる前記共用情報を記憶する前記情報処理装置のうち、前記通信負荷比較手段による比較結果に基づいて、前記通信負荷が相対的に小さい前記通信経路を介して接続された前記情報処理装置に対して、記録指示の対象とされる前記共用情報の伝送を要求する要求情報を送信する要求情報送信手段と、前記要求情報の送信先の前記情報処理装置から、記録指示の対象とされる前記共用情報を受信する情報受信手段と、受信した前記共用情報を、前記共用情報記憶手段に記憶させる記憶制御手段と、を有することを特徴とする。
これによれば、共用情報の記録を指示された情報処理装置は、記録指示の対象となる共用情報を所持する情報処理装置のうち、通信負荷が相対的に小さい情報処理装置から当該共用情報を受信するよう構成したので、システム全体の通信負荷を抑制しつつ複製を作成することができる。
上記の課題を解決するために、請求項5に記載の発明は、請求項3又は4に記載の情報処理装置において、前記複数の情報処理装置に含まれる何れかの前記情報記録装置から前記要求情報を受信すると、記録指示の対象とされる前記共用情報を、前記要求情報の送信元の情報処理装置に伝送する共用情報伝送手段を有することを特徴とする。
これによれば、共用情報の要求を受けた場合にのみ、要求元の情報処理装置に対して共用情報を伝送するので、計画通りに公開前に共用情報をシステム内に分散して配置させることができる。
上記の課題を解決するために、請求項6に記載の発明は、請求項5に記載の情報処理装置において、記録指示の対象とされる前記共用情報が前記共用情報記録手段に記録されると、前記記録指示情報の送信元の情報記録装置又は前記共用情報の送信元の情報記録装置に前記共用情報の記録が成功したことを示す記録成功情報を送信する記録成功情報送信手段を有し、前記情報受信手段は、記録指示の対象とされる前記共用情報に対応する更新後の前記評価値情報を受信し、前記記憶制御手段は、前記複数の情報処理装置に含まれる何れかの前記情報記録装置から前記記録成功情報を受信すると、記録指示の対象とされる前記共用情報に対応する前記評価値情報を更新して前記評価情報記憶手段に記憶させ、かつ、前記情報受信手段によって前記評価値情報を受信すると、当該評価値情報を前記評価値情報記憶手段に記憶させることを特徴とする。
これによれば、共用情報の記録を行なった情報処理装置は、記録指示情報の送信元の情報処理装置に対して記録成功情報を送信して記録が成功した旨を知らせることにより、当該共用情報の更新後の評価値情報を取得することができる。また、当該記録成功情報を受信すると、当該共用情報の評価値情報を更新して記憶するので、共用情報の評価値情報を適式に更新し、確実に共用情報を分散して配置させることができる。
上記の課題を解決するために、請求項7に記載の発明は、請求項5又は6に記載の情報処理装置において、前記情報受信手段は、前記記録指示情報の送信元の情報記録装置又は前記共用情報の送信元の情報記録装置から、記録指示の対象とされる前記共用情報に対応する前記公開時刻情報を受信し、前記記憶制御手段は、受信した前記公開時刻情報を、前記公開時刻情報記憶手段に記憶させることを特徴とする。
これによれば、共用情報の公開時刻情報を取得することができるので、当該公開時刻情報に従って公開前に共用情報をシステム内に分散して配置させることができる。
上記の課題を解決するために、請求項8に記載の発明は、請求項3乃至7のいずれか一項に記載の情報処理装置において、前記記憶制御手段は、前記複数の情報処理装置によって共用可能に所持される新たな共用情報を前記共用情報記録手段に記録する場合には、当該新たな共用情報に係る前記評価値情報及び前記公開時刻情報をそれぞれ生成して、前記評価値情報記憶手段及び前記公開時刻情報記憶手段に当該共用情報と対応付けて記憶させることを特徴とする。
これによれば、新たな共用情報の公開を所望する使用者が、共用情報を分散配置させる数等の複製適応性を示す評価値や共用情報を公開すべき公開時刻情報を決定できるので、使用者にとって使いやすいシステムを提供することができる。
上記の課題を解決するために、請求項9に記載の発明は、請求項6乃至8のいずれか一項に記載の情報処理装置において、前記記憶制御手段は、更新後の前記評価値情報によって示される評価値が、更新前の前記評価値情報によって示される評価値より小さくなるように前記評価値情報を更新することを特徴とする。
これによれば、複製が作られるたびに評価値が徐々に小さくなるので、最適な数の共用情報をシステム内に分散して配置させることができる。
上記の課題を解決するために、請求項10に記載の発明は、請求項3乃至9の何れか一項に記載の情報処理装置において、前記評価値は、前記共用情報を公開前に前記情報配信システム内に複製すべき数を示し、前記所定の条件は、前記評価値が1より大きいことを特徴とする。
これによれば、複製すべき数(複製数)の共用情報が1つでもあるうちは複製を繰り返すので、評価値に基づいて複製数分の共用情報を確実に複数のノードに分散配置させることができる。
上記の課題を解決するために、請求項11に記載の発明は、請求項3乃至請求項9のいずれか一項に記載の情報処理装置において、前記所定の条件は、前記評価値に基づいて決定される前記共用情報の記録を指示すべき時刻の経過であることを特徴とする。
これによれば、各共用情報毎に定められた記録を指示すべき時刻の経過に基づいて複製作成が行なわれるので、各情報処理装置間で処理を行なうタイミングをずらすことにより、配信システム内に含まれる情報処理装置が一斉に共用情報の配布処理を開始することによるシステム全体の負荷上昇等の弊害(例えば他のメッセージの授受の遅延等)を防止することができる。
上記の課題を解決するために、請求項12に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置と、少なくとも1以上の共用情報が前記複数の情報処理装置によって共用可能に所持される情報配信システムにおける前記情報処理装置において、前記複数の情報処理装置に含まれる何れかの前記情報記録装置から記録指示の対象とされる前記共用情報を記録するよう指示する記録指示情報を受信すると、前記複数の情報処理装置のうち、記録指示の対象とされる前記共用情報を記憶する前記情報処理装置を検索すべく、当該共用情報に対応する固有の識別情報を送信する識別情報送信手段と、当該情報処理装置自身と、記録指示の対象とされる前記共用情報を記憶する少なくとも1以上の前記情報処理装置と、の間の各通信経路における通信負荷に関する通信負荷情報を夫々取得する通信負荷情報取得手段と、前記各通信経路における通信負荷を比較する通信負荷比較手段と、記録指示の対象とされる前記共用情報を記憶する前記情報処理装置のうち、前記通信負荷比較手段による比較結果に基づいて、前記通信負荷が相対的に小さい前記通信経路を介して接続された前記情報処理装置に対して、記録指示の対象とされる前記共用情報の伝送を要求する要求情報を送信する要求情報送信手段と、前記要求情報の送信先の前記情報処理装置から、記録指示の対象とされる前記共用情報を受信する情報受信手段と、受信した前記共用情報を、前記共用情報記憶手段に記憶させる記憶制御手段と、を有することを特徴とする。
これによれば、公開前に共用情報の記録を指示された情報処理装置は、記録指示の対象となる共用情報を所持する情報処理装置のうち、通信負荷が小さい情報処理装置から当該共用情報を受信するよう構成したので、システム全体の通信負荷を抑制しつつ共用情報の複製を行なうことができる。
上記の課題を解決するために、請求項13に記載の発明は、請求項3乃至12の何れか一項に記載の情報処理装置において、前記通信負荷は、前記通信経路上にある中継装置の数、前記通信経路における遅延時間の長さ、及び前記通信経路の有効帯域の広さの少なくとも何れか一つに基づいて定められることを特徴とする。
これによれば、前記通信負荷が、前記通信経路上にある中継装置の数、前記通信経路における遅延時間の長さ、及び前記通信経路の有効帯域の広さの少なくとも何れか一つに基づいて定められることにより、より一層、システム全体の通信経路における通信負荷の増大を防いで、システムの運用効率の向上を実現することができる。
上記の課題を解決するために、請求項14に記載の発明は、請求項3乃至13のいずれか一項に記載の情報処理装置において、前記共用情報記録手段に共用情報が記録されると、前記識別情報に基づいて各前記情報処理装置が所持するルーティングテーブルに従って特定された当該共用情報の所在を管理する管理装置に対して新たな共用情報を記録した旨を送信する記録告知情報送信手段を有することを特徴とする。
これによれば、共用情報が公開前に分散配置された場合でも、当該共用情報の所在を管理する管理装置は当該共用情報を所持する全ての情報処理装置を把握することができ、共用情報の公開直後からスムーズに共用情報の配信の要求に対応することができる。
上記の課題を解決するために、請求項15に記載の発明は、コンピュータを、請求項3乃至14のいずれか一項に記載の情報処理装置として機能させることを特徴とする。
次に、本発明を実施するための最良の形態について、図面に基づいて説明する。なお、以下に説明する各実施形態は、インターネット等のネットワークを用いて上記コンテンツの配信を行なう上記P2P型の配信システムにおいて、一の端末装置において実行されたコンテンツの配信要求操作に応じて他の端末装置から所望されるコンテンツを当該一の端末装置に配信する場合に対して本発明を適用した場合の実施の形態である。また、以下の説明においては、上記端末装置を一般的に「ノード」と称することとする。
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、配信システムに対して本発明を適用した場合の実施形態である。
<配信システムの構成等>
始めに、図1を参照して、情報配信システムとしての配信システムの概要構成等について説明する。
図1は、本実施形態に係る配信システムにおける各ノードNの接続態様の一例を示す図である。
図1に示すように、IX(Internet eXchange)、ISP(Internet Service Provider)、DSL(Digital Subscriber Line)回線事業者(の装置)、FTTH(Fiber To The Home)回線事業者(の装置)等の各種ルータ、及び通信回線(例えば、電話回線や光ケーブル等)7等によって、インターネット等のネットワーク(現実世界のネットワーク)8が構築されている。
配信システムは、このようなネットワーク8を介して相互に接続された複数のノードN1、N2、N3、・・・、N14、N15,N16を備えて構成されることになり、ピアツーピア方式のネットワークシステムとなっている。各ノードN1、N2、N3、・・・には、ノードを示す情報(ノード情報)としての固有の製造番号及びIP(Internet Protocol)アドレスが割り当てられている。なお、製造番号及びIPアドレスは、複数のノードN間で重複しないものである。なお、以下の説明において、ノードN1、N2、N3、・・のうち何れかのノードNを示す場合には、便宜上、ノードNという場合がある。
これらノードNが、コンテンツ(X1)、(X2)、(X3)、・・・、を互いに共有するためにはネットワーク8に参加している各ノードN1が互いにネットワーク8に参加している全てのノードN1のIPアドレスを知っておくのが単純な手法であるが、端末数が何万何十万と多数になると、その全てのノードN1のIPアドレスを覚えておくのは現実的ではない。また、任意のノードNの電源がON或いはOFFとすると、各ノードN1にて記憶している当該任意のノードNのIPアドレスの更新が頻繁になり、運用上困難となる。
そこで、1台のノードNでは、ネットワーク8に参加している全てのノードNのうち、必要最低限のノードNのIPアドレスだけを覚えて(記憶して)おいて、IPアドレスを知らない(記憶していない)ノードNについては、各ノードN間で互いに情報を転送し合って届けてもらう分散ハッシュテーブル(以下、DHT(Distributed Hash Table)という)を利用したアルゴリズムによって、オーバーレイネットワークを構築することとする。つまり、このオーバーレイネットワークは、既存のネットワーク8を用いて形成された仮想的なリンクを構成するネットワークを意味する。
本実施形態においては、DHTを利用したアルゴリズムによって構築されたオーバーレイネットワークを前提としており、このオーバーレイネットワーク上に配置されたノードNを、配信システムに参加(言い換えれば、オーバーレイネットワークに参加)しているノードNといい、各ノードNのノードIDは、それぞれのノードN毎にユニーク(固有)な番号を付与する。この番号は、ノードNの最大運用台数を収容できるだけのbit数を持たせる必要がある。例えば、128bitの番号とすれば、2^128≒340×10^36台のノードNを運用できる。例えば、製造番号やIPアドレス等のノードN毎に固有の値を共通のハッシュ関数(ハッシュアルゴリズム)によりハッシュ化して得たハッシュ値をノードIDとして定めることにより、各ノードNが一つのID空間に偏りなく分散して配置されることになる。なお、ハッシュ関数については公知であるので詳しい説明を省略する。
また、配信システムに参加している複数のノードNには、1のノードNから他のノードNに配信される、映画や音楽等の共用情報としてのコンテンツ(X)が分散して保存(格納)されているが、このコンテンツ(X)にも、それぞれのコンテンツ毎にユニーク(固有)な番号(以下、コンテンツIDという。)を付与する。例えば、コンテンツの名称(コンテンツタイトル)やコンテンツの概要情報(あらすじ)等のキーワードが、上記ノードIDを得るときと共通のハッシュ関数によりハッシュ化して得たハッシュ値をコンテンツIDとして定めることにより、各コンテンツ(X)がノードNと同一のID空間にさほど偏ることなく分散して配置されることになる。
どのノードNがどのコンテンツ(X)を管理するかを、一定の規則の下に決定する。本実施形態においては、「あるコンテンツIDを有するコンテンツ(X)を管理するノードNは、そのコンテンツIDに近いノードIDを有するノードNである」という規則とする。ここで、「近い」ことの定義は、当該コンテンツIDを超えず、コンテンツIDとノードIDとの差が一番少ないものとするが、実際には、各コンテンツ(X)の管理を各ノードNに割り振る際に、一貫していればよい。
ここで「管理」というのは、コンテンツ(X)を保存/所持していることを意味するのではなく、「コンテンツ(X)が何れのノードN1に保存されているかを知っている」ことを言う。以下の説明において、コンテンツ(X1)を管理するノードNを、「コンテンツ(X1)のルートノード(管理装置)」と言い、また、あるハッシュ値との差が一番少ないノードNを当該ハッシュ値の「ルートノード」と言う。
本発明は上記配信システムにおいて、コンテンツを公開する前に、すなわち、複数のノードN間で共用可能とする前に、予め複数のノードNに所持(記録)させることにより、コンテンツが公開された直後一斉にコンテンツの要求がある場合に、スムーズに対応することができるような配信システムを提供する。
なお、後に詳細に説明するが、コンテンツを公開する前に複数のノードNにコンテンツの記録を指示する記録指示メッセージを送信するときや、指示を受けたノードNがコンテンツの伝送を要求するコンテンツ要求メッセージを送信するときには、各ノードNが所持するDHTルーティングテーブルに基づいてメッセージが転送されていくこととする。
〈ノードの構成〉
初めに、各実施形態に係る配信システムにおいてネットワークにより相互接続されている各ノードの概要構成について図2を用いて説明する。なお、図2は各実施形態に係るノードの概要構成を示すブロック図である。また、本実施形態に係るP2P型の配信システムに属する各ノードは、全て同一のハードウエア構成を有するものであるので、それらを代表して一般のノードNの構成について、図2を用いてその概要を説明する。
図2に示すように、各実施形態に係る配信システムに含まれるコンピュータとしてのノードNは、演算機能を有するCPU、作業用RAM(Random Access Memory)、各種データ及びプログラム(情報処理プログラムを含む)を記録するROM(Read Only Memory)等から構成された共用情報記録手段、公開時刻情報記憶手段、評価値情報記憶手段、装置選別手段、記録指示情報送信手段、識別情報送信手段、通信負荷情報取得手段、通信負荷比較手段、要求情報送信手段、情報受信手段、記憶制御手段、共用情報伝送手段及び記録成功情報送信手段としての制御部11と、上記コンテンツ自体としてのコンテンツデータ、その配信に必要な各種ルーティング用データ及びその他の必要なプログラム等を記録保存(格納)するためのHDD(Hard Disc Drive)等から構成された共用情報記録手段、公開時刻情報記憶手段及び評価値情報記憶手段としての記憶部12と、受信されたコンテンツデータを一時蓄積するバッファメモリ13と、当該コンテンツデータに含まれるエンコード(符号化)されたビデオデータ(映像情報)及びオーディオデータ(音声情報)等をデコード(データ伸張や復号化等)するデコーダ部14と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部15と、当該映像処理部15から出力されたビデオ信号に基づき映像表示するCRT(Cathode Ray Tube)又は液晶ディスプレイ等よりなる表示部16と、上記デコードされたオーディオデータをアナログオーディオ信号にD/A(Digital/Analog)変換した後これを増幅器等により増幅して出力する音声処理部17と、当該音声処理部17から出力されたオーディオ信号を音波として出力するスピーカ18と、ネットワークを通じて他のノードNとの間の情報の通信制御を行なうための記録指示情報送信手段、識別情報送信手段、通信負荷情報取得手段、要求情報送信手段、情報受信手段、共用情報伝送手段及び記録成功情報送信手段としての通信部19と、使用者からの指示を受け付け当該指示に応じた指示信号を制御部11に出力する入力部(例えば、キーボード、マウス或いは、操作パネル等)20と、を備えて構成され、制御部11、記憶部12、バッファメモリ13、デコーダ部14、及び通信部19はバス21を介して相互にデータの授受が可能に接続されている。
そして、制御部11におけるCPUが記憶部12等に記録された各種プログラムを実行することにより、制御部11が、実施形態に係るノードNとしての全体動作を統括制御し、上記各構成部材と協動して当該ノードNを本発明における情報処理装置として機能させる。
以下、本発明の配信システムの実施形態について詳細に説明する。
I.第1実施形態
第1実施形態における本発明の情報処理装置としてのノードNは、記憶部12が制御部11と共に共用情報記録手段、公開時刻情報記憶手段及び評価情報記憶手段として機能し、以下の表に示すように、配信システムに新たに登録する対象となるコンテンツのデータ(以下、「コンテンツデータ」と言う。)と、当該コンテンツデータと対応付けて当該コンテンツが公開されるべき時刻を示す公開時刻情報To、及びコンテンツデータを公開前にシステム内に複製すべき数を示す複製数VALUEを「公開前コンテンツ情報リスト」として記憶している。
Figure 2007141103
上記複製数VALUEは、本実施形態における複製適応性を示す評価値の一例であり、この値が大きいほど複製適応性が高い、すなわち複製を作成すべきコンテンツと言え、この複製数VALUEが1以下になるまで複製が作られ続けることとなる。コンテンツ(X1)の公開時刻情報To複製数VALUEを夫々公開時刻情報To(X1)複製数VALUE(X1)とし、コンテンツ(X2)の公開時刻情報To複製数VALUEを夫々公開時刻情報To(X2)複製数VALUE(X2)とし、以下コンテンツ(Xn)まで、同様にして公開時刻情報To(Xn)複製数VALUE(Xn)と夫々対応付けて記憶されているものとする。
そして、「公開前コンテンツ情報リスト」のコンテンツ(X)のうち、所定の条件を満たすコンテンツ(X)を記録指示の対象とし、システム内に参加するノードNのうちコンテンツの記録を指示すべきノードNを選別し、当該選別されたノードNに対して、記録指示の対象とされたコンテンツ(X)を記録するよう指示する記録指示情報としての記録指示メッセージを送信する。
以下、配信システム内にコンテンツの複製が作成されていく手順を図を用いて具体的に説明する。
図3は、ノードN1がコンテンツ(X)の記録指示メッセージを送信する様子を示す説明図である。
ノードN1は、記憶部12に記憶するコンテンツのうち、所定の条件を満たすコンテンツ(X)を記録指示の対象として選び出し、システム内に参加するノードNのうちコンテンツの記録を指示すべきとしてノードN12を選別して当該ノードN12にコンテンツ(X)の記録を指示する記録指示メッセージ(X)を送信している。
ここで、本実施形態における所定の条件とは、<1>コンテンツに対応する公開時刻情報Toによって示されるコンテンツを公開すべき時刻が現在の時刻を経過していないこと<2>コンテンツに対応する複製数VALUEによって示される複製数が1より大きいことである。
図3におけるノードN1は、記憶部12に記憶しているコンテンツの中から上記条件<1>及び<2>を満たすコンテンツを、自身の記憶部12に記憶した「公開前コンテンツ情報リスト」を参照して選び出して、記録指示の対象のコンテンツ(X)とする。この記録指示の対象となるコンテンツ(X)の複製数は「8」である。
そして、文字や数字等からなる文字列(ID)をランダムに生成してこれに基づいて所定のハッシュ関数を用いてハッシュ値を取得する。そして、DHTを用いて図4に図示するID空間において、当該取得したハッシュ値に基づくルートノードを検索し、発見されたルートノードが記録指示すべきノードNとして選別されることになる。
なお、ランダムに生成した文字列を用いずとも、例えば記憶部12に記憶した「公開前コンテンツ情報リスト」より、任意のコンテンツのタイトルをランダムに取得してこれに基づいて所定のハッシュ関数を用いてハッシュ値を取得してもよい。この場合当該コンテンツのルートノードやキーワードルートノード等が記録指示すべきノードNとして選別されることになる。
図5は、記録指示メッセージを受信したノードN12が、コンテンツ(X)を要求してコンテンツ(X)を受信する様子を示す説明図である。
ノードN12は、記録指示のあったコンテンツ(X)を記憶するノードNを検索する。具体的には、ノードN12の制御部11は識別情報送信手段及び要求情報送信手段として機能し、記録指示のあったコンテンツ(X)を所定のハッシュ関数を用いて固有の識別情報としてのハッシュ値を取得し、当該コンテンツ(X)の所在を管理するルートノードから当該コンテンツ(X)を所持しているノードNを教えてもらい、このノードNにアクセスするのである。図5に示す例では、コンテンツ(X)を所持しているノードNは、ノードN1のみであるので、ノードN12はコンテンツ(X)の所在を管理するルートノードから当該コンテンツ(X)を所持しているノードNとしてノードN1を教えてもらい、当該ノードN1に対してコンテンツ(X)を要求するコンテンツ要求メッセージ(X)を送信し、コンテンツ(X)を受信することとなる。
図6は、ノードN12が、コンテンツ(X)の記録が成功したか否かの返答をする様子を示す説明図である。
ノードN12の制御部11は、記憶制御手段及び記録成功情報送信手段として機能し、受信したコンテンツ(X)を自身の記憶部12の「公開前コンテンツ情報リスト」に記憶し、記録指示メッセージ(X)の送信元であるノードN1にコンテンツ(X)の記録が成功した旨の返答メッセージを送信する。
そして、ノードN1の制御部11は、記憶制御手段として機能し、コンテンツ(X)の記録が成功した旨の返答メッセージをノードN12から受信すると、「公開前コンテンツ情報リスト」に記憶したコンテンツ(X)の複製数VALUE(X)を更新して、「公開前コンテンツ情報リスト」に再び記憶し、更新後の複製数VALUE(X)と公開時刻情報To(X)をノードN12に送信する。図6に示す例では、更新後の複製数VALUE(X)は、更新前の複製数「8」の2分の1すなわち「4」を新たな複製数として更新し、当該複製数を示す複製数VALUE(X)をノードN12に送信する。そして、これを受けたノードN12では、制御部11が記憶制御手段として機能し、ノードN1から受信した複製数VALUE(X)と公開時刻情報To(X)を「公開前コンテンツ情報リスト」にコンテンツ(X)と対応付けて記憶する。
図7は、ノードN1とノードN12がコンテンツ(X)の記録指示メッセージを送信する様子を示す説明図である。
ノードN1は、上記と同様にして所定の条件を満たすコンテンツ(X)を記録指示の対象として、システム内に参加するノードNのうちコンテンツの記録を指示すべきとしてノードN9を選別して当該ノードN9にコンテンツ(X)の記録を指示する記録指示メッセージ(X)を送信する。ノードN12も同様にして選別したノードN8にコンテンツ(X)の記録を指示する記録指示メッセージ(X)を送信する。
図8は、記録指示メッセージを受信したノードN9及びノードN8が、コンテンツ(X)を要求してコンテンツ(X)を受信する様子を示す説明図である。
ノードN9及びノードN8は、記録指示のあったコンテンツ(X)の所在を管理するルートノードから当該コンテンツ(X)を所持しているノードNを教えてもらい、このノードNにアクセスする。
そしてノードN9及びノードN8は、検索の結果コンテンツ(X)を所持しているノードNが複数ある場合には、制御部11は通信負荷情報取得手段及び通信負荷比較手段として機能し、それぞれのノードNとの間の通信経路における通信負荷を取得する。通信負荷の取得手法は、夫々のノードNと情報のやり取りを行なって通信負荷を取得する。なお、通信負荷は、例えば、中継数が少ない(ホップ数が少ない)、遅延時間が短いなどの場合には、通信負荷がより小さいといえる。また、通信経路の有効帯域を知っている場合には、当該有効帯域に基づいて通信負荷を決定しても良い。コンテンツ(X)を所持している各ノードNとの間の通信負荷を比較して、通信負荷が相対的に小さい通信経路を介して接続されたノードNに対してコンテンツ(X)を要求するコンテンツ要求メッセージ(X)を送信する。
図8に示す例では、ノードN9は、コンテンツ(X)の所在を管理するルートノードからコンテンツ(X)を所持するノードNとして、ノードN1とノードN12を教えてもらうこととなるが、より通信負荷の小さい通信経路を介して繋がれているノードN12に対してコンテンツ要求メッセージ(X)を送信し、当該ノードN12からコンテンツ(X)を受信する。一方、ノードN8も同様にルートノードからコンテンツ(X)を所持するノードNとして、ノードN1とノードN12を教えてもらうこととなるが、より通信負荷の小さい通信経路を介して繋がれているノードN1に対してコンテンツ要求メッセージ(X)を送信し、当該ノードN1からコンテンツ(X)を受信する。
図9は、ノードN9及びノードN8が、コンテンツ(X)の記録が成功したか否かの返答をする様子を示す説明図である。
ノードN9及びノードN8の制御部11は、受信したコンテンツ(X)を自身の記憶部12の「公開前コンテンツ情報リスト」に記憶し、記録指示メッセージ(X)の送信元であるノードN12とノードN1に夫々コンテンツ(X)の記録が成功した旨の返答メッセージを送信する。
そして、ノードN12とノードN1は、コンテンツ(X)の記録が成功した旨の返答メッセージをノードN9又はノードN8から受信すると、「公開前コンテンツ情報リスト」に記憶したコンテンツ(X)の複製数VALUE(X)を更新して、「公開前コンテンツ情報リスト」に再び記憶し、更新後の複製数VALUE(X)と公開時刻情報To(X)をノードN9及びノードN8にそれぞれ送信する。図9に示す例では、更新後の複製数VALUE(X)は、更新前の複製数「4」の2分の1「2」を新たな複製数として更新し、当該複製数を示す複製数VALUE(X)をノードN9及びノードN8に送信する。そして、これを受けたノードN9及びノードN8では、ノードN12又はノードN1から受信した複製数VALUE(X)と公開時刻情報To(X)を「公開前コンテンツ情報リスト」にコンテンツ(X)と対応付けて記憶する。
図10は、ノードN1、N8、N9及びN12がコンテンツ(X)の記録指示メッセージを送信する様子を示す説明図である。
ノードN1は、ノードN13に、ノードN8はノードN3に、ノードN9はノードN15に、そしてノードN12はノードN5に夫々上述したように同様にしてコンテンツ(X)の記録を指示する記録指示メッセージ(X)を送信する。
図11は、記録指示メッセージを受信したノードN13、N3、N15、及びN5がコンテンツ(X)を要求してコンテンツ(X)を受信する様子を示す説明図である。
ノードN13、N3、N15、及びN5は、記録指示のあったコンテンツ(X)の所在を管理するルートノードから当該コンテンツ(X)を所持しているノードNを教えてもらい、このノードNにアクセスする。
そして夫々通信負荷が相対的に小さい通信経路を介して接続されたノードNに対してコンテンツ(X)を要求するコンテンツ要求メッセージ(X)を送信する。図11に示すように、ノードN12はノードN13及びノードN15からコンテンツ要求メッセージ(X)を受信して、当該ノードN13及びノードN15へとコンテンツ(X)を伝送している。このように、複数のノードNからコンテンツの要求があり、複数のノードNに対してコンテンツを伝送してもよい。
図12は、ノードN13、N3、N15、及びN5が、コンテンツ(X)の記録が成功したか否かの返答をする様子を示す説明図である。
ノードN13、N3、N15、及びN5は、受信したコンテンツ(X)を自身の記憶部12の「公開前コンテンツ情報リスト」に記憶し、記録指示メッセージ(X)の送信元であるノードN1、N8、N9及びN12に夫々コンテンツ(X)の記録が成功した旨の返答メッセージを送信する。
そして、コンテンツ(X)の記録が成功した旨の返答メッセージを受信したノードN1、N8、N9及びN12は、「公開前コンテンツ情報リスト」に記憶したコンテンツ(X)の複製数VALUE(X)を更新して、「公開前コンテンツ情報リスト」に再び記憶し、更新後の複製数VALUE(X)と公開時刻情報To(X)をノードN13、N3、N15、及びN5にそれぞれ送信する。
このように、コンテンツを公開前に予め多数のノードNに所持させて、コンテンツをシステム内に分散配置させることができるので、コンテンツの公開後、一斉に多数のノードNが当該コンテンツの配信要求をした場合にも、予め複数のノードNがコンテンツを所持しているので、1台のみがコンテンツを所持している場合と比較して公開直後であっても、それぞれのPtoP間で比較的スムーズにコンテンツ配信を行なうことができる。
〈1.ノードの基本処理〉
次に、第1実施形態に係る各ノードNにおける基本処理について、図13のフローチャートを用いて説明する。なお、当該処理は、ノードNの電源がオンとされて、プログラムが制御部11の制御に基づいて実行されることにより行われる。
先ず、使用者が入力部20を操作してコンテンツの再生要求操作が実行されたか否かが常に監視されており(ステップS1)、当該再生要求操作が行われた場合には(ステップS1:Yes)、当該要求されたコンテンツ(X)が自身の記憶部12に記憶されているか否かを判定し(ステップS2)、記憶されている場合には(ステップS2:Yes)、記憶部12から当該コンテンツ(X)を取り出して再生処理を行なって(ステップS3)、ステップS11に移行する。一方、ステップS2において要求されたコンテンツ(X)が記憶されていない場合には(ステップS2:No)、当該コンテンツ(X)を取得するための「コンテンツ取得処理(X)」を実行し(ステップS4)、再生処理を行なって(ステップS3)、ステップS11に移行する。なお、コンテンツ取得処理(X)の処理方法は、後に詳述する。
一方、上記ステップS1の判定においてコンテンツの再生要求操作が実行されないときは(ステップS1:No)、使用者が入力部20を操作して新規コンテンツの公開要求操作が実行されたか否かを判定し(ステップS5)、新たなコンテンツ(X)の公開が要求された場合には(ステップS5:Yes)、「新規コンテンツ公開準備処理(X)」を実行し(ステップS6)、ステップS11に移行する。なお、「新規コンテンツ公開準備処理(X)」については後に詳述する。
一方、上記ステップS5の判定において新規コンテンツの公開要求操作が実行されないときは(ステップS5:No)、他のノードからあるコンテンツ(X)の記録するよう指示する記録指示メッセージ(X)を受信したか否かが判定される(ステップS7)。そして、当該記録指示メッセージ(X)を受信した場合(ステップS7:Yes)には、「複製作成処理(X)」を実行し(ステップS8)、ステップS11に移行する。なお、「複製作成処理(X)」については後に詳述する。
他方、上記ステップS7の判定において記録指示メッセージ(X)を受信していない場合には(ステップS7:No)、その他のメッセージを受信したか否かを判定し(ステップS9)、受信した場合には(ステップS9:Yes)、受信したそのメッセージに対応する処理を実行(ステップS10)した後、ステップS11に移行する。なお、その他のメッセージとは、DHTにおけるクエリ(要求)やパブリッシュ(公開)メッセージや、その他の通信部19を介して受信するメッセージである。
続いて、公開前コンテンツ情報リストに既に公開日を過ぎたコンテンツがあるか否かを判定し(ステップS11)、公開日を過ぎたコンテンツがある場合(ステップS11:Yes)には、その公開日の過ぎたコンテンツを公開し、公開前コンテンツ情報リストから削除(ステップS12)してステップS13へ移行する。
一方、公開日を過ぎたコンテンツが無い場合(ステップS11:No)には、電源がオフとされたか否かが確認され(ステップS13)、電源が引き続きオンのままであるときは(ステップS13:No)、次の上記ステップS1の処理に戻ってステップS1乃至ステップS13の処理を繰り返し行ない、電源がオフとされたときは(ステップS13:Yes)当該処理を終了する。
〈1−1.コンテンツ登録処理〉
続いて、「1.各ノードの基本処理」のステップS6におけるシステム内で共用されるべき新たなコンテンツを配信システムへの投入する処理(新規コンテンツ公開準備処理(X))について図14に示すフローチャートを用いて説明する。
先ず初めに、新たに公開するコンテンツ(X)を各種情報と対応付けて記憶部12の「公開前コンテンツ情報リスト」に登録する(ステップS21)。より具体的には、ノードNの使用者等が入力部20を操作することにより、「公開前コンテンツ情報リスト」に公開時刻と複製数を、公開時刻情報To及び複製数VALUEとして入力し、新しく登録するコンテンツ(X)と対応付けて登録する。
そして、登録されたコンテンツ(X)を配布する「コンテンツ配布処理(X)」を実行し(ステップS22)、処理を終了する。
〈1−2.コンテンツ配布処理〉
続いて、「コンテンツ配布処理(X)」について図15に示すフローチャートを用いて説明する。
先ず、コンテンツ(X)の公開時刻が経過しているか否かを判定(ステップS31)し、公開時刻が経過している場合(ステップS31:Yes)には、処理を終了する。
また、公開時刻が経過していない場合(ステップS31:No)には、コンテンツ(X)の複製数が1より大きいか否かを判定(ステップS33)し、コンテンツ(X)の複製数が1以下である場合(ステップS33:No)には、当該コンテンツ(X)は最初に定めた複製数分の複製が既に完了しているので、処理を終了する。
コンテンツの公開は、当該コンテンツ(X)を自身が保有していることをシステム全体に見得るようにすると共に、コンテンツの配信要求に対して当該コンテンツの配信を実行することである。なお、コンテンツを保有した各ノードNが当該処理を行なわない場合には、各コンテンツ(X)の所在を管理するルートノードが、自身が管理するコンテンツ(X)の公開時刻を経過したことをきっかけとして、各ノードからのコンテンツ(X)の所在を問い合わせる問合せメッセージ(クエリ)に対して応答するよう構成すればよい。
一方、ステップS33の判定においてコンテンツ(X)の複製数が1より大きい場合(ステップS33:Yes)には、所定の条件を満たすため、当該コンテンツ(X)を記録指示の対象として他のノードNに対して記録するよう指示する。
図3等を用いて説明したように、ランダムな文字列(ID)を生成し、或いは記憶部12に記憶した「公開前コンテンツ情報リスト」より、任意のコンテンツのタイトルをランダムに取得して、所定のハッシュ関数を用いてハッシュ値を取得し、DHTルーティングによりそのハッシュ値に基づくルートノードNrを記録指示するためのノードとして選別し、当該ルートノードNrのアドレスを取得する(ステップS35)。図4に示す例ではノードN1からのハッシュ値がノードN12に辿り着いて、当該ノードN12からノードN12のアドレスを取得することとなる。
そして、当該ルートノードNrにコンテンツ(X)の記録を指示する記録指示メッセージを送信し(ステップS36)、当該ルートノードNrからの返答メッセージの受信を確認する(ステップS37)。返答メッセージの受信が無く(ステップS37:No)、タイムアウトが発生した場合(ステップS38:Yes)には、ステップS35に戻り、再び記録指示すべきノードNをランダムに選び出して記録指示メッセージを別のノードNに送信しなおす。タイムアウトが発生するまで返答メッセージの受信を待ち続けることになる。
一方、返答メッセージを受信した場合(ステップS37:Yes)、当該返答メッセージがコンテンツ(X)の記録が成功した旨を示すメッセージである場合には(ステップS39:Yes)、コンテンツ(X)のレプリカ(複製物)が送信先のノードN内に指示どおり記録されたことに起因して、コンテンツ(X)の複製数VALUE(X)を減少させる。具体的には、当該コンテンツ(X)の複製数を2分の1とし、「公開前コンテンツ情報リスト」に記憶したコンテンツ(X)の複製数VALUE(X)を更新し、更新後の複製数を示す複製数VALUE(X)を公開時刻情報Toと共にルートノードNrに送信する(ステップS40)。なお、複製数を2分の1としたときに、1の位で割り切れない場合には、四捨五入した値を新たな複製数として「公開前コンテンツ情報リスト」を更新し、その複製数の減少分を複製数VALUE(X)としてルートノードNrに送信するよう構成する。
これにより、新たにコンテンツ(X)を所持(記録)したノードとコンテンツの複製作業を互いに約半分づつに分担することができる。
そして、ステップS39の処理においてルートノードNrからの返答メッセージが、記録が成功した旨を示すメッセージで無い場合(ステップS39:No)、及びステップS40にて複製数VALUE(X)と公開時刻情報ToをルートノードNrへ送信が終わると、ステップS31に戻って再びコンテンツ(X)が記録指示すべき所定の条件を満たすかをステップS31及びS33にて判定して条件を満たす場合には配布処理を実行し続ける。
以上により、最初に記録指示をすべきノードが何らかの状況によって複製作成に失敗した場合や、通信経路のトラブル等によって応答が得られない場合であっても他のノードNに再び記録指示をすることができるので、コンテンツを公開前に複数のノードNに確実に分散配置させることができる。
〈1−3.複製作成処理〉
続いて、「1.各ノードの基本処理」のステップS8における「複製作成処理」について図16に示すフローチャートを用いて説明する。
先ず、コンテンツ(X)が記憶部12に記憶されているか否かを判定(ステップS51)し、記憶されていない場合(ステップS51:No)には、記録指示の対象とされているコンテンツ(X)について「コンテンツ取得処理」を実行(ステップS52)し、当該処理によりコンテンツ(X)の取得に成功した場合(ステップS53:Yes)には、記録指示メッセージの送信元に複製作成が成功した旨の返答メッセージを送信し指示どおり記録が成功したことを知らせる(ステップS54)。
そして、記録指示メッセージの送信元のノードから公開時刻情報To(X)と複製数VALUEを受信して記憶部12の「公開前コンテンツ情報リスト」にコンテンツ(X)と対応付けて記憶し(ステップS55)、自らも「コンテンツ配布処理(X)」を実行する(ステップS56)。なお、「コンテンツ配布処理」は、上述した「1−2.コンテンツ配布処理」に従って行なう。
一方、ステップS51の処理において、コンテンツ(X)が記憶部12に既に記録されている場合(ステップS51:Yes)、そしてステップS53の処理において、コンテンツ(X)の取得に失敗した場合(ステップS53:No)には、記録指示メッセージの送信元に複製作成が失敗した旨の返答メッセージを送信する(ステップS57)。
上述したように、ステップS51において、既に記録指示されたコンテンツ(X)が記録されている場合には、記録失敗として記録指示メッセージの送信元に送信することにより、記録指示メッセージの送信元では、他のノードNに記録指示メッセージを送信しなおすことができるので、コンテンツを確実に分散配置させることができる。
〈1−4.コンテンツ取得処理〉
続いて、「1.各ノードの基本処理」のステップS13及び「1−3.複製作成処理」のステップS52における「コンテンツ取得処理」について図17に示すフローチャートを用いて説明する。なお、ステップS13におけるコンテンツ取得処理は公開済みのコンテンツの取得処理であり、ステップS52におけるコンテンツ取得処理は本発明に係る公開前のコンテンツの取得処理である。何れの処理もコンテンツを所持するノードに対してコンテンツを要求して取得する点において共通するため1の処理フローにて説明することができる。
先ず、所定のハッシュ関数を用いてコンテンツ(X)のタイトルに基づいてハッシュ値を取得し、DHTルーティングによってコンテンツ(X)を所有するノードを問合せ、各ノードと自身との間の通信経路における通信負荷を比較して、最も通信負荷の小さいノードNhのアドレスを取得する(ステップS61)。
公開済みのコンテンツの取得(ステップS4の処理)の場合には、取得を所望するコンテンツ(X)の所在を管理するルートノードから、一方、記録指示メッセージに基づく処理(ステップS52の処理)の場合には、記録指示のあったコンテンツ(X)の所在を管理するルートノードから、何れも同様にしてコンテンツ(X)を所持しているノードNのアドレスを教えてもらい、このノードNにアクセスすることになる。
コンテンツ(X)を所持するノードNが複数存在する場合には、ルートノードから複数のノードのアドレスを教えてもらうこととなる。この場合には、複数のノードNのうち通信負荷が相対的に小さい通信経路を介して接続された1のノードNhをコンテンツ(X)を要求する要求先に決定する。
通信負荷は、例えば複数のノードNと信号のやり取りを行ないIPパケット中のTTLフィールドの減少量等から取得したホップ数(通信経路上にある中継装置の数)に基づいてホップ数が少ない程通信負荷が小さいこととしてもよく、或いは、遅延時間(msec)や有効帯域(Mbps)に基づいて決定しても良い。
このように決定されたコンテンツ要求先のノードNhに対してコンテンツ(X)を要求するコンテンツ要求メッセージ(X)を送信する(ステップS62)。
そしてコンテンツ要求メッセージ(X)を受けたノードNhから伝送されたコンテンツ(X)を受信した場合(ステップS63:Yes)には、コンテンツ(X)を記憶部12に保存したことを確認(ステップS64:Yes)して、コンテンツ(X)を所持した旨をDHTルーティングによって、コンテンツ(X)を所持したことを当該コンテンツ(X)のルートノードに通知し(ステップS65)、処理を終了する。
一方、ステップS63の処理において、ノードNhからのコンテンツ(X)の受信を確認できない場合(ステップS63:No)、及びステップS64の処理において、コンテンツ(X)の保存を確認できない場合(ステップS64:No)には、そのまま処理を終了する。
以上説明したように、コンテンツを公開前に予め多数のノードNに所持させて、コンテンツをシステム内に分散配置させることができるので、コンテンツの公開後、一斉に多数のノードが当該コンテンツの配信要求をした場合にも、予め多数のノードがコンテンツを所持しているので、1台のみがコンテンツを所持している場合と比較して公開直後であっても、それぞれのPtoP間で比較的スムーズにコンテンツ配信を行なうことができる。
上記ステップS35にて説明したように、コンテンツの記録を指示するノードをランダムに選別するため、ネットワーク全体に均等に複製を作成することができる。
また、ステップS61にて説明したように、コンテンツの記録を指示されたノードは、記録指示の対象となるコンテンツを所持するノードのうち、自身に最も近い、通信負荷が相対的に小さいノードから当該コンテンツを受信するよう構成したので、システム全体の通信負荷を抑制しつつ複製を作成することができる。
更に、ステップS21にて説明したようにコンテンツの公開を所望する使用者が、コンテンツを分散配置させる数を複製数VALUEとして決定できるので、使用者にとって使いやすいシステムを提供することができる。
また、ステップS40にて説明したように複製先のノードと複製数を分割することにより、コンテンツの分散配置作業を複数のノードで行なうことができるので、より効率よくコンテンツの公開前分散配置を遂行することができる。
また、ステップS37、S54、S57にて説明したように複製作成が完遂されたことを返答メッセージとして記録を指示してきたノードに通知するよう構成したので、記録指示したノード側では指示どおり複製作成が行なわれたかを把握することができる。また、ステップS51にて既に同じコンテンツを所持しているノードは記録を失敗した旨の返答をするので、最初に決定した複製数分のコンテンツを計画通り確実に複数のノードに分散配置させることができる。
更に、ステップS65にてコンテンツ(X)を所持したことを当該コンテンツ(X)の所在を管理する管理装置としてのルートノードに知らせるので、ルートノードは、コンテンツの公開後、比較的スムーズに当該コンテンツの配信要求に対応することができる。
II.第2実施形態
上述した第1実施形態では、コンテンツの複製適応性を示す評価値としてコンテンツを公開前に複製すべき数(複製数)を用いたが、ここでは、コンテンツが公開後、所定期間内におけけるアクセス数(予想アクセス数)と、当該コンテンツの公開準備期間Eを用いて、より厳密に評価値を定義すると共に、各ノードNがコンテンツ配布処理を実行すべき時間(複製作成開始時間)を定め、システム内で複数のノードNが一斉に当該処理を実行することを防ぐよう構成する。
なお、本実施形態の説明における全ての処理において、期間の演算処理を行なうことがあるが、その際にはその単位(秒、分、日、週、月、年)を統一して演算するものとする。
〈2.各ノードの基本処理〉
本実施形態に係る各ノードNにおける基本処理のフローチャートを図18に示すが、ステップS201乃至ステップS210及びステップS212の処理は、上述した第1実施形態において図8のフローチャートにおけるステップS1乃至ステップS10及びステップS13の処理と同様であるため、ここでの説明は省略する。
第1実施形態との構成の違いは、ステップS212における電源のオフの確認の前に、公開日を過ぎたコンテンツの公開とリストからの削除に代わって、「コンテンツ配布処理2」を実行する(ステップS211)ことである。なお、具体的な処理については後に詳述する。
〈2−1.コンテンツ登録処理〉
続いて、「2.各ノードの基本処理」のステップS206におけるシステム内で共用されるべき新たなコンテンツを配信システムへの投入する処理(新規コンテンツ公開準備処理2(X))について図19に示すフローチャートを用いて説明する。
先ず初めに、新たに公開するコンテンツ(X)を各種情報と対応付けて記憶部12の「新規コンテンツリスト」(表2参照。)に登録する(ステップS201)。より具体的には、ノードNの使用者等が入力部20を操作することにより、当該コンテンツ(X)の公開時刻情報To、公開から期間Taの間(例えば期間Taは1週間等)の予想アクセス数Aを入力してコンテンツ(X)と対応付けて登録するようになっている。
Figure 2007141103
続いて、評価値VALUE(X)を0(ゼロ)とし、当該コンテンツ(X)の公開時刻情報によって示される公開時刻から現在時刻を減算した値を公開準備期間Eとし、変数iを0(ゼロ)とし、パラメータW及び変数tを公開時刻情報Toとしてそれぞれの値を初期化する(ステップS221)。
なおパラメータWは、送信元のノードN内に記憶されていたコンテンツ(X)のレプリカ(複製物)が送信先のノードN内に作成されたことに起因して、実施形態に係る配信システム全体としてコンテンツ(X)の評価値を調整するために用いられる複製係数であって、公開前は公開時刻情報ToをパラメータWとして複製作成メッセージに含むものとする。これにより、当該コンテンツ(X)の記録指示を受けたノードNが他のノードN間でコンテンツ(X)の送受信を行なう際に実行される、公開後のアクセス数に応じた最初の評価値取得演算処理等において、コンテンツ(X)に対して「最後に評価値VALUE(X)を取得した時刻」を示すパラメータWとして最初は公開時刻情報Toを用いることができるので、公開前の処理から公開後の処理へとスムーズに一貫した処理を進行することができる。
なお、本願出願人はコンテンツ公開後の各ノードNのアクセス数に応じた評価値演算の手法に関して特許出願(特願2004−095639)をしていることをここに付記し、公開後の評価値演算の手法に関しては当該出願に詳細に記載されているので説明を省略する。
続いて、変数iが予想アクセス数Aよりも小さいか否かを判定(ステップS223)し、変数iが予想アクセス数Aよりも小さいと判定された場合(ステップS223:Yes)には、「評価値演算処理(X)」を行ない(ステップS224)、続いて変数iに1を加算し、変数tに期間Taを予想アクセス数Aで除算した値を加算した(ステップS225)後に、ステップS223に戻り再び判定を行なう。なお、上記「評価値演算処理(X)」については、後にフローチャートを用いて説明する。
ステップS225の処理における「期間Taを予想アクセス数Aで除算した値」とは、すなわち、ノードNに送信後のコンテンツ(X)が公開時刻が到来して公開された場合、公開後、期間Taまでの間に、当該コンテンツ(X)へのアクセスがどのくらいの頻度で(例えば、1時間に1回や10秒に1回等)行われるのかを予測定義するものである。
一方、ステップS223の処理において、予想アクセス数Aが変数i以上と判定された場合(ステップS223:No)には、後に説明する「評価値演算処理(X)」で変更されているパラメータWを公開時刻情報Toに再度設定する(ステップS226)。
続いて、記憶部12の「公開前コンテンツ情報リスト」(表3参照。)に、記録指示の対象とされるコンテンツ(X)と、公開時刻情報To、評価値VALUE、公開準備期間E及び複製作成開始時間Iを対応付けて記憶(ステップS227)して処理を終了する。
Figure 2007141103
〈2−2.評価値演算処理〉
続いて、「2−1.コンテンツ登録処理」のステップS224における「評価値演算処理」について図20に示すフローチャートを用いて説明する。
先ず、コンテンツ(X)の現在の評価値VALUE(X)と現在のパラメータW及び変数tに基づいて、以下の式(1)によりパラメータVを演算して取得する(ステップS230)。
V=VALUE(X)×d^(t−W)+1 ・・・・(1)
なお、dは0から1の値を有する減衰パラメータであって、単位時間当たりに評価値が減衰する割合を示すものであり、公開後もそのまま用いられる。
この式(1)において、(t−W)とは前回のアクセス時刻から時刻tまでの経過時間を表す。この時刻tは公開後の処理においては「現在の時刻」であるが、この公開前の評価値演算処理において、時刻tを未来の時刻とすることによって、コンテンツの公開前にそのコンテンツの公開後における評価値を計算するようになっている。従って、式(1)中のVALUE(X)×d^(t−W)とは、時刻tにおける評価値となり、これに今回のアクセス分として1を加えたものが、パラメータVを取得するための上記式(1)となる。
そして、上述の如く取得したパラメータVを、「公開前コンテンツ情報リスト」のコンテンツ(X)の新たな評価値VALUE(X)として更新する(ステップS240)。
例えば、上記式(1)において、減衰パラメータdを、評価値が1時間ごとに1割減衰するように設定した場合であって、前回の評価値演算処理(X)から3時間経過している場合には、パラメータVは上述した式(1)を用いて以下の式(2)の如く取得される。
V=VALUE(X)×0.9^3+1 ・・・・(2)
そして、パラメータWを変数tとした後に(ステップS232)処理を終了する。
〈2−3.複製作成処理2〉
続いて、「2.各ノードの基本処理」のステップS208における「複製作成処理2」について図21に示すフローチャートを用いて説明する。
先ず、コンテンツ(X)が記憶部12に既に記憶されているか否かを判定(ステップS240)し、記憶されていない場合(ステップS240:No)には、記録指示の対象とされているコンテンツ(X)について「コンテンツ取得処理2」を実行(ステップS241)し、当該処理によりコンテンツ(X)の取得に成功した場合(ステップS241:Yes)には、記録指示メッセージの送信元に複製作成が成功した旨の返答メッセージを送信し指示どおり記録が成功したことを知らせる(ステップS245)。
そして、「公開前コンテンツ情報リスト追加処理(X)」を実行し(ステップS246)、処理を終了する。なお、当該「公開前コンテンツ情報リスト追加処理(X)」は、後にフローチャートを用いて詳述する。
一方、ステップS240の処理において、コンテンツ(X)が記憶部12に既に記録されている場合(ステップS240:Yes)、そしてステップS244の処理において、コンテンツ(X)の取得に失敗した場合(ステップS244:No)には、記録指示メッセージの送信元に複製作成が失敗した旨の返答メッセージを送信(ステップS247)して処理を終了する。
上述したように、ステップS240において、既に記録指示されたコンテンツ(X)が記録されている場合には、記録失敗として記録指示メッセージの送信元に送信することにより、記録指示メッセージの送信元では、他のノードNに記録指示メッセージを送信しなおすことができるので、コンテンツを確実に分散配置させることができる。
〈2−4.コンテンツ取得処理2〉
続いて、「2.各ノードの基本処理」のステップS204及び「2−3.複製作成処理2」のステップS241における「コンテンツ取得処理2」について図22に示すフローチャートを用いて説明する。なお、ステップS204におけるコンテンツ取得処理は公開済みのコンテンツの取得処理であり、ステップS241におけるコンテンツ取得処理は本発明に係る公開前のコンテンツの取得処理である。何れの処理もコンテンツを所持するノードに対してコンテンツを要求して取得する点において共通するため1の処理フローにて説明することができる。
先ず、所定のハッシュ関数を用いてコンテンツ(X)のタイトルに基づいてハッシュ値を取得し、DHTルーティングによってコンテンツ(X)を所有するノードを問合せ、各ノードと自身との間の通信経路における通信負荷を比較して、最も通信負荷の小さいノードNhのアドレスを取得する(ステップS250)。
通信負荷の比較等、当該ステップS250の処理の詳細は、第1実施形態のステップS61と同様であるのでここでの説明は省略する。
そして、コンテンツ要求先として決定されたノードNhに対してコンテンツ(X)を要求するコンテンツ要求メッセージ(X)を送信する(ステップS251)。
そしてコンテンツ要求メッセージ(X)を受けたノードNhから伝送されたコンテンツ(X)を受信した場合(ステップS252:Yes)には、「コンテンツ保存処理(X)」を実行し(ステップS253)、コンテンツ(X)を記憶部12に保存したことを確認(ステップS254:Yes)して、コンテンツ(X)を所持した旨をDHTルーティングによって、コンテンツ(X)を所持したことを当該コンテンツ(X)のルートノードに通知し(ステップS255)、処理を終了する。なお、ステップS253における「コンテンツ保存処理」はこの後に詳細に説明する。
一方、ステップS252の処理において、ノードNhからのコンテンツ(X)の受信を確認できない場合(ステップS252:No)、及びステップS254の処理において、コンテンツ(X)の保存を確認できない場合(ステップS254:No)には処理を終了する。
〈2−5.コンテンツ保存処理〉
続いて、上記ステップS253における「コンテンツ保存処理」について図23に示すフローチャートを用いて説明する。
先ず、記憶部12に削除コンテンツリスト{}を生成し、当該リストを空にして初期化する(ステップS260)。続いて、変数pを1とし、先のステップS252の処理において受信した記録指示の対象とされているコンテンツ(X)の情報量(データ量)から、記憶部12におけるコンテンツ記憶用の領域のうちコンテンツが未記録である領域である空き記録領域Srを減算した値をパラメータSとし、当該コンテンツ(X)の評価値VALUE(X)をパラメータVとして定義する(ステップS261)。
続いて、パラメータSが0(ゼロ)以下であるか否かを判定し(ステップS262)、パラメータSが0(ゼロ)以下であると判定された場合(ステップS262:Yes)には、削除コンテンツリストR{}のコンテンツを全て削除して(ステップS263)、記憶部12の「公開前コンテンツ情報リスト」に上記ステップS252にて受信したコンテンツ(X)を記録(記憶)(ステップS265)して処理を終了する。
一方、ステップS262にて、パラメータSが0以下でないと判定された場合(ステップS262:No)には、空き記録容量Srが、コンテンツ(X)の情報量以上ないということなので、空き記録容量Srを作るための処理を続けて行なう。
先ず、変数pが記憶部12に記憶されているコンテンツの数(個)以下か否かを判定する(ステップS265)。そして、変数pが記憶部12に記憶されているコンテンツの数(個)以下である場合(ステップS265:Yes)には、パラメータVの値が、記憶部12に記憶されているコンテンツのうち、p(変数p)番目に情報量の小さいコンテンツ(Xmin)の評価値VALUE(Xmin)より小さいか否かを判定する(ステップS266)。なお、コンテンツが公開された後には、各コンテンツデータと、当該コンテンツデータに対応する評価値VALUEが表4に示す如く記憶部12に登録される。
Figure 2007141103
なお、コンテンツ公開後は、評価値VALUE(Xmin)はアクセス(配信要求)があるたび毎に増加する構成とするため、評価値VALUEが低いコンテンツは、アクセスの少ないコンテンツであり、人気が無いコンテンツとして削除するのに最も相応しいコンテンツであるといえる。なお、公開後のアクセスによる評価値VALUEの変動については、上述した特許出願(特願2004−095639)に詳細に記載されているので説明を省略する。
そして、評価値VALUE(Xmin)がパラメータVの値以下である場合(ステップS266:Yes)には、削除コンテンツリストR{}にp番目に情報量の小さいコンテンツ(Xmin)を追加する(ステップS267)。
続いて、変数pに1を加算し、パラメータSからp番目に情報量の小さいコンテンツ(Xmin)の情報量を減算した値を新たなパラメータSとし、パラメータVからp番目に情報量の小さいコンテンツ(Xmin)の評価値VALUE(X)を減算した値を新たなパラメータVとして(ステップS268)、ステップS262に移行する。
上述したステップS262乃至S268の処理において、削除するコンテンツ(削除コンテンツリストR{})の評価値の合計が、記録が指示されたコンテンツ(X)の評価値を下回らないようにしている。
一方、ステップS265にて、変数pが記憶部12に記憶されているコンテンツの数(個)未満である場合(ステップS265:No)、つまり、記憶部12の記憶容量が元々小さい場合や、記録が指示されたコンテンツ(X)が膨大な量である場合には、削除できるコンテンツが記憶部12にはないので、受信したコンテンツ(X)を記録せず、また削除コンテンツリストR{}のコンテンツも記憶部12から削除することなく、処理を終了する。
また、パラメータVの値が評価値VALUE(Xmin)より小さいと判定された場合(ステップS266:No)にも同様にして受信したコンテンツ(X)を記録せず、また削除コンテンツリストR{}のコンテンツも記憶部12から削除することなく、処理を終了する。従って、記録指示の対象となるコンテンツ(X)の評価値(当該処理においてはパラメータVに相当する)が小さいときには、既に記録済みのコンテンツを削除しないように構成できる。
〈2−5.公開前コンテンツ情報リスト追加処理〉
続いて、「2−3.複製作成処理2」のステップS246における「公開前コンテンツ情報リスト追加処理」について図24に示すフローチャートを用いて説明する。
先ず、記録指示メッセージの送信元のノードから公開時刻情報To(X)、公開準備期間E(X)及び複製数VALUE(X)、複製作成開始時間I(X)を受信する(ステップS270)。
続いて、現在時刻が公開時刻情報Toを経過しているか否かを判定し(ステップS271)、経過していない場合(ステップS271:No)には、次に複製の作成を開始する時間(複製作成開始時間I)を更新すべく、公開準備期間Eを評価値VALUEで除算した値を現在時刻に追加した値を、新たな複製作成開始時間Iとして定義する(ステップS272)。
そして、記憶部12に記憶した「公開前コンテンツ情報リスト」に記録指示の対象とされるコンテンツと、評価値VALUE、公開時刻情報To、公開準備期間E及び複製作成開始時間Iを対応付けて記憶(ステップS273)して処理を終了する。
一方、ステップS271において、現在時刻が公開時刻情報Toを経過している場合(ステップS271:Yes)には、コンテンツ(X)を公開して(ステップS274)処理を終了する。
〈2−6.コンテンツ配布処理2〉
続いて、「2.各ノードの基本処理」のステップS211における「コンテンツ配布処理2」について図25に示すフローチャートを用いて説明する。
先ず、記憶部12に記憶した「公開前コンテンツ情報リスト」から複製作成開始時間Iが最も早いコンテンツ(X)の複製作成開始時間Iを取得する(ステップS280)。
続いて、現在時刻が複製作成開始時間Iを経過しているか否かを判定し(ステップS281)、経過していない場合(ステップS281:No)には、処理を終了する。
このように、各ノードがコンテンツ配布を行なうべき時間を複製作成開始時間Iによって制御することにより、各ノード間で処理を行なうタイミングをずらすことにより、配信システム内に含まれるノードが一斉にコンテンツの配布処理を開始することによるシステム全体の負荷上昇等の弊害(例えば他のメッセージの授受の遅延等)を防止することができる。
他方、現在時刻が複製作成開始時間Iを経過している場合(ステップS281:No)には、「公開前コンテンツ情報リスト」から、記録すべきコンテンツとしての所定の条件を満たすため、コンテンツ(X)の複製作成開始時間I(X)を削除し(ステップS282)、ランダムな文字列(ID)を生成し、或いは記憶部12に記憶した「公開前コンテンツ情報リスト」より、任意のコンテンツのタイトルをランダムに取得して、所定のハッシュ関数を用いてハッシュ値を取得し、DHTルーティングによりそのハッシュ値に基づくルートノードNrを記録指示するためのノードとして選別し、当該ルートノードNrのアドレスを取得する(ステップS283)。
そして、当該ルートノードNrに記録指示メッセージを送信し(ステップS284)、当該ルートノードNrからの返答メッセージの受信を確認する(ステップS285)。返答メッセージの受信がなく(ステップS285:No)、タイムアウトが発生した場合(ステップS286:Yes)には、ステップS283に戻り、再び記録指示すべきノードNをランダムに選び出して記録指示メッセージを別のノードNに送信しなおす。タイムアウトが発生するまで返答メッセージの受信を待ち続けることになる。
一方、返答メッセージを受信した場合(ステップS285:Yes)、当該返答メッセージがコンテンツ(X)の記録が成功した旨を示すメッセージである場合には(ステップS287:Yes)、「公開前コンテンツ情報リスト更新処理」及び「評価値分割処理」を実行し(ステップS288、S289)、コンテンツ(X)の評価値VALUE、公開時刻情報To、公開準備期間E、複製作成開始時間Iを、ノードNrに送信(ステップS290)して処理を終了する。なお、ノードNrに送信する評価値VALUEと複製作成開始時間Iは「公開前コンテンツ情報リスト更新処理」及び「評価値分割処理」を実行して得られる新たな評価値VALUE、複製作成開始時間Iである。
一方、ステップS287の処理においてルートノードNrからの返答メッセージが記録が成功した旨を示すメッセージで無い場合(ステップS287:No)には、ステップS283に戻り、再び記録指示すべきノードNをランダムに選び出して記録指示メッセージを別のノードNに送信しなおす。
これにより、新たにコンテンツ(X)を所持(記録)したノードとコンテンツの複製作業を互いに分担することができる。
〈2−6.公開前コンテンツ情報リスト更新処理〉
続いて、「2−5.複製作成処理2」のステップS288における「公開前コンテンツ情報リスト更新処理」について図26に示すフローチャートを用いて説明する。
先ず、記録指示の対象となるコンテンツ(X)の公開時刻情報To(X)、公開準備期間E(X)及び複製数VALUE(X)、複製作成開始時間I(X)を「公開前コンテンツリスト」から取得する(ステップS300)。
続いて、現在時刻が公開時刻情報Toを経過しているか否かを判定し(ステップS301)、経過していない場合(ステップS301:No)には、次に複製の作成を開始する時間(複製作成開始時間I)を更新すべく、公開準備期間Eを評価値VALUEで除算した値を現在時刻に追加した値を、新たな複製作成開始時間Iとして定義する(ステップS302)。
そして、記憶部12に記憶した「公開前コンテンツ情報リスト」に記録指示の対象とされるコンテンツと、評価値VALUE、公開時刻情報To、公開準備期間E及び更新後の複製作成開始時間Iを対応付けて記憶(ステップS303)して処理を終了する。
一方、ステップS301において、現在時刻が公開時刻情報Toを経過している場合(ステップS301:Yes)には、コンテンツ(X)を公開して(ステップS304)処理を終了する。
〈2−7.評価値分割処理〉
続いて、「2−5.複製作成処理2」のステップS289における「評価値分割処理」について図27に示すフローチャートを用いて説明する。
先ず、記憶部12の「公開前コンテンツ情報リスト」から記録指示の対象となるコンテンツ(X)の評価値VALUEを取得する(ステップS310)。そして、取得した評価値VALUEを小さくなるように更新する。本実施形態では取得した評価値VALUEを2分の1とした値を新たな評価値VALUEとして記憶部12の「公開前コンテンツ情報リスト」に当該コンテンツ(X)と対応付けて記憶(ステップS311)して処理を終了する。
以上説明したように、本実施形態によれば、コンテンツを他のノードに共用可能に保持する前に(公開前に)予め多数のノードに保持させて、コンテンツをシステム内に分散配置させることができるので、コンテンツの公開後、一斉に多数のノードが当該コンテンツの配信要求をした場合にも、予め多数のノードがコンテンツを保持しているので、1台のみがコンテンツを保持している場合と比較してコンテンツの公開直後であっても、それぞれのPtoP間で比較的スムーズにコンテンツ配信を行なうことができ、システム全体の信頼性が向上する。
また、「2−5.コンテンツ保存処理」において説明したように、ノードの記憶部12の空き記録容量Srが記録指示の対象とされるコンテンツの情報量以上無い場合には、評価値VALUEの低いノードを削除するよう構成したので、人気のないコンテンツを削除して、これから公開されるコンテンツを多数のノードに所持させて公開前コンテンツを確実にシステム内に分散配置させて、公開の準備を整えることができる。
更に、複製が行われる毎に各ノードにて次に複製を行なうべき時間である複製作成開始時間Iを、現在時刻と公開時刻情報Toに基づく公開準備期間E、及び評価値VALUEを用いて順次更新するよう構成したので、夫々のノードにおいて記録指示を行なうタイミングを変更できるよう構成したので、配信システム内に含まれるノードが一斉にコンテンツの配布処理を開始することによるシステム全体の負荷上昇等の弊害(例えば他のメッセージの授受の遅延等)を防止することができる。
図28にノードA乃至Oにおいて行われるコンテンツ(X)のコンテンツの配布処理が行なわれ、各ノードにレプリカ(複製物)が作成されていく様子を示すタイミングチャートを示す。同図は、縦軸は各ノードA乃至Oを示し、横軸は時間を示し、最初に新規コンテンツの公開を行なうノードNにおいて評価値VALUEが48とし、公開準備期間Eが48時間後として定義された場合の例である。
このチャートにおいて、各数値は記録指示の対象となるコンテンツ(X)を自身の記憶部12に記録してから次の複製までの時間を示すものである。この例の場合には、2時間間隔で何れかのノードにて複製作成処理が行なわれることとなる。つまり、最初ノードAはノードIに対して記録指示メッセージを送信し、ノードIは何れかのノードから記録指示の対象のコンテンツ(X)を取得している。具体的には、記録指示の対象のコンテンツ(X)を所持する複数のノードのうち通信負荷が比較的小さいノードからコンテンツ(X)を取得している。そして、2時間後に今度はノードAがノードEに対して記録指示メッセージを送信し、ノードEでは同様にして記録指示の対象のコンテンツ(X)を所持する複数のノードのうち通信負荷が比較的小さいノードからコンテンツ(X)を取得している、さらにその2時間後にはノードIがノードMに対して記録指示メッセージを送信している。
このように、配信システム内に含まれるノードが一斉に記録指示処理や複製作成処理を開始することを防いで、配信システムへの通信負荷の増大を抑制する。
なお、上述した各実施形態では、コンテンツの記録を指示されたノードNが、記録が成功すると成功した旨の返答メッセージを送信し、コンテンツ配布処理を実行したノードNが、これを受信して複製数等の評価値VALUEを更新して、記録の指示先のノードNに対して送信することにより、新たにコンテンツを記録したノードが評価値VALUEを得るよう構成したが、本発明は、このような形態に限られず、記録指示の対象となるコンテンツを所持するノードに対して評価値VALUEを要求しても良い。この場合には、コンテンツを所持するノードが当該コンテンツの評価値VALUEを更新すると共に、評価値VALUEの要求元のノードに該評価値VALUEを送信すればよい。
また、上述した各実施形態では、コンテンツの記録を指示されたノードNが、記録が成功すると成功した旨の返答メッセージを送信し、コンテンツ配布処理を実行したノードNが、これを受信して公開時刻情報を評価値VALUEと共に記録指示先のノードNに対して送信することにより、新たにコンテンツを記録したノードNが公開時刻情報を得るよう構成したが、本発明は、このような形態に限られず、記録指示の対象となるコンテンツを所持するノードであれば、公開時刻情報を必ず知っているため、記録指示の対象となるコンテンツを所持する他のノードに対して公開時刻情報を要求しても良い。
なお、上述した各実施形態では、各ノードは何れも共用可能に所持されるべき新たなコンテンツを登録することができるよう構成したが、本発明は、このような形態に限られず、図29に示す如く、1つの(或いは幾つかの)特定のノードをコンテンツをシステム内に登録するためのコンテンツ登録装置2とすることもできる。そして、コンテンツ登録装置2は、コンテンツ製作会社等または当該製作会社からコンテンツの管理を委託されたシステム管理者によって操作され、システム内に存在するコンテンツを把握するだけでなく、新たにシステム内に登録されるコンテンツを記憶部のデータベースに所持するよう構成する。
そして、各ノードがコンテンツを検索する際には、このコンテンツ登録装置2にアクセスして、現在システム内に登録されているコンテンツを参照するようにすることができる。
このようにコンテンツ登録装置2を設けた場合には、各ノードでは上記ステップS12、S274、S304におけるコンテンツの公開を行なわない。そして、公開の方法として、例えば、上述したように、コンテンツを記憶部12に記録した段階でコンテンツを所持した旨のメッセージを、当該コンテンツのルートノードにDHTルーティングによって転送するよう構成している(ステップS65、S255参照。)ので、ルートノードがコンテンツを所持している全てのノードを管理し、コンテンツ登録装置2の処理によって公開時刻を監視し、公開時刻になったときに、コンテンツ登録装置2が管理する「利用可能なコンテンツのリスト」に掲載することによって、他のノードから当該コンテンツに初めてアクセスできるように構成することで公開されたものとすればよい。
なお、上述したコンテンツ登録装置2が管理する「利用可能なコンテンツのリスト」は、配信システム内の各ノードがコンテンツを探す際などに参照することができるもので、配信システム内に登録されているコンテンツのうち、現在参照できる全コンテンツの情報が掲載されたリストである。この「利用可能なコンテンツのリスト」は、公開時刻になったときにコンテンツ登録装置2が更新する。つまりコンテンツが公開前にルートノードに登録されたとしても、公開時刻情報に基づく公開時刻を経過するまではこのリストに掲載されることがないので、何れのノードからもこのコンテンツにアクセスすることができないよう構成することができる。
また、上述した各実施形態においては、配信システムがDHTを利用したアルゴリズムによってオーバーレイネットワークを構築していることを前提としたが、本発明はこれに限定されるものではなく、オーバーレイネットワークを利用しない場合には、例えば、コンテンツ記録指示メッセージを送信するノードNをランダムに選別する場合には (過去に情報をやり取りしたこと等によって) 自身がアドレスを知っている複数のノードNの中から選別すればよく、また、コンテンツ要求メッセージを送信するノードNを通信負荷を比較して選ぶ場合にも、自身がアドレスを知っている複数のノードNと情報のやり取りを行って通信負荷を比較し、相対的に通信負荷の小さいノードNに対してコンテンツ要求メッセージを送信すればよい。
以上夫々説明したように、本発明はネットワークを介したコンテンツの配信の分野に利用することが可能であり、特に複数のノードで共用されるべき公開前のコンテンツを各ノードに分散配置させる分野に適用すれば特に顕著な効果が得られる。
第1及び第2実施形態に係るP2P型の配信システムの概要構成図である。 第1及び第2実施形態に係るノードの概要構成を示すブロック図である。 ノードN1がコンテンツ(X)の記録指示メッセージを送信する様子を示す説明図である。 第1及び第2実施形態に係るID空間の説明図である。 ノードN12がコンテンツ(X)を受信する様子を示す説明図である。 ノードN12がコンテンツ(X)の返答をする様子を示す説明図である。 ノードN1とノードN12がコンテンツ(X)の記録指示メッセージを送信する様子を示す説明図である。 ノードN9及びノードN8がコンテンツ(X)を受信する様子を示す説明図である。 ノードN9及びノードN8が返答をする様子を示す説明図である。 ノードN1、N8、N9及びN12がコンテンツ(X)の記録指示メッセージを送信する様子を示す説明図である。 ノードN13、N3、N15、及びN5がコンテンツ(X)を受信する様子を示す説明図である。 ノードN13、N3、N15、及びN5が返答をする様子を示す説明図である。 第1実施形態に係る基本処理を示すフローチャートである。 第1実施形態に係る新規コンテンツ公開準備処理を示すフローチャートである。 第1実施形態に係るコンテンツ配布処理を示すフローチャートである。 第1実施形態に係る複製作成処理を示すフローチャートである。 第1実施形態に係るコンテンツ取得処理を示すフローチャートである。 第2実施形態に係る基本処理を示すフローチャートである。 第2実施形態に係る新規コンテンツ公開準備処理を示すフローチャートである。 第2実施形態に係る評価値演算処理を示すフローチャートである。 第2実施形態に係る複製作成処理2を示すフローチャートである。 第2実施形態に係るコンテンツ取得処理2を示すフローチャートである。 第2実施形態に係るコンテンツ保存処理を示すフローチャートである。 第2実施形態に係る公開前コンテンツ情報リスト追加処理を示すフローチャートである。 第2実施形態に係るコンテンツ配布処理2を示すフローチャートである。 第2実施形態に係る公開前コンテンツ情報リスト更新処理を示すフローチャートである。 第2実施形態に係る評価値分割処理を示すフローチャートである。 第2実施形態に係るノードA乃至Oにおいて行われる複製作成処理を示すタイミングチャートである。 コンテンツ登録装置2を含む場合の配信システムの概要構成図である。
符号の説明
11 制御部
12 記憶部
13 バッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
19 通信部
20 入力部
21 バス
X コンテンツ
N(N1、N2,・・N16、Nr、Nh、)A乃至O ノード
VALUE 評価値、複製数
To 公開時刻情報
I 複製作成開始時間
E 公開準備期間
Sr 記憶部12の空き記録容量

Claims (15)

  1. ネットワークを介して互いに通信可能な複数の情報処理装置と、少なくとも1以上の共用情報が前記複数の情報処理装置によって共用可能に所持される情報配信システムにおいて、
    各前記情報処理装置は、
    少なくとも1以上の前記共用情報を記録する共用情報記録手段と、
    前記共用情報記録手段に記録された共用情報が前記複数の情報処理装置によって共用可能となる時刻を示す公開時刻情報を前記共用情報ごとに記憶する公開時刻情報記憶手段と、
    前記共用情報の複製適応性の評価値を示す評価値情報を前記共用情報ごとに記憶する評価値情報記憶手段と、
    前記共用情報記録手段に記録された共用情報のうち、前記公開時刻情報記憶手段と前記評価値情報記憶手段を参照して、公開時刻が現在時刻より前の共用情報であって、且つ、前記評価値情報で示される評価値が所定の条件を満たす共用情報を情報記録指示の対象とし、当該共用情報の記録を指示するための情報処理装置を前記複数の情報処理装置から選別する装置選別手段と、
    記録指示の対象とされる前記共用情報を、前記装置選別手段によって選別された情報処理装置に対して記録するよう指示する記録指示情報を送信する記録指示情報送信手段と、を有し、
    前記複数の情報処理装置のうち、前記記録指示情報を受信した前記情報処理装置は、
    前記複数の情報処理装置のうち、記録指示の対象とされる前記共用情報を記憶する前記情報処理装置を検索すべく、当該共用情報に対応する固有の識別情報を送信する識別情報送信手段と、
    当該選別された情報処理装置自身と、記録指示の対象とされる前記共用情報を記憶する少なくとも1以上の前記情報処理装置と、の間の各通信経路における通信負荷に関する通信負荷情報を夫々取得する通信負荷情報取得手段と、
    前記各通信経路における通信負荷を比較する通信負荷比較手段と、
    記録指示の対象とされる前記共用情報を記憶する前記情報処理装置のうち、前記通信負荷比較手段による比較結果に基づいて、前記通信負荷が相対的に小さい前記通信経路を介して接続された前記情報処理装置に対して、記録指示の対象とされる前記共用情報の伝送を要求する要求情報を送信する要求情報送信手段と、
    前記要求情報の送信先の前記情報処理装置から、記録指示の対象とされる前記共用情報を受信する情報受信手段と、
    受信した前記共用情報を、前記共用情報記憶手段に記憶させる記憶制御手段と、を有し、
    前記複数の情報処理装置のうち、前記要求情報を受信した情報処理装置は、
    記録指示の対象とされる前記共用情報を、前記要求情報の送信元の情報処理装置に伝送する共用情報伝送手段を有することを特徴とする情報配信システム。
  2. 請求項1に記載の情報配信システムにおいて、
    前記記憶制御手段は、前記複数の情報処理装置によって共用可能に所持されるべき新たな共用情報を前記共用情報記録手段に記録する場合には、当該新たな共用情報に係る前記評価値情報及び前記公開時刻情報をそれぞれ生成して、前記評価値情報記憶手段及び前記公開時刻情報記憶手段に当該共用情報と対応付けて記憶させることを特徴とする情報配信システム。
  3. ネットワークを介して互いに通信可能な複数の情報処理装置と、少なくとも1以上の共用情報が前記複数の情報処理装置によって共用可能に所持される情報配信システムにおける前記情報処理装置において、
    少なくとも1以上の前記共用情報を記録する共用情報記録手段と、
    前記共用情報記録手段に記録された共用情報が前記複数の情報処理装置によって共用可能となる時刻を示す公開時刻情報を前記共用情報ごとに記憶する公開時刻情報記憶手段と、
    前記共用情報の複製適応性を示す評価値である評価値情報を前記共用情報ごとに記憶する評価値情報記憶手段と、
    前記共用情報記録手段に記録された共用情報のうち、前記公開時刻情報記憶手段と前記評価値情報記憶手段を参照して、公開時刻が現在時刻より前の共用情報であって、且つ、前記評価値情報で示される評価値が所定の条件を満たす共用情報を情報記録指示の対象とし、当該共用情報の記録を指示するための情報処理装置を前記複数の情報処理装置から選別する装置選別手段と、
    記録指示の対象とされる前記共用情報を、前記装置選別手段によって選別された情報処理装置に対して記録するよう指示する記録指示情報を送信する記録指示情報送信手段と、
    を有することを特徴とする情報処理装置。
  4. 請求項3に記載の情報処理装置において、
    前記複数の情報処理装置に含まれる何れかの前記情報記録装置から前記記録指示情報を受信すると、前記複数の情報処理装置のうち、記録指示の対象とされる前記共用情報を記憶する前記情報処理装置を検索すべく、当該共用情報に対応する固有の識別情報を送信する識別情報送信手段と、
    当該情報処理装置自身と、記録指示の対象とされる前記共用情報を記憶する少なくとも1以上の前記情報処理装置と、の間の各通信経路における通信負荷に関する通信負荷情報を夫々取得する通信負荷情報取得手段と、
    前記各通信経路における通信負荷を比較する通信負荷比較手段と、
    記録指示の対象とされる前記共用情報を記憶する前記情報処理装置のうち、前記通信負荷比較手段による比較結果に基づいて、前記通信負荷が相対的に小さい前記通信経路を介して接続された前記情報処理装置に対して、記録指示の対象とされる前記共用情報の伝送を要求する要求情報を送信する要求情報送信手段と、
    前記要求情報の送信先の前記情報処理装置から、記録指示の対象とされる前記共用情報を受信する情報受信手段と、
    受信した前記共用情報を、前記共用情報記憶手段に記憶させる記憶制御手段と、
    を有することを特徴とする情報処理装置。
  5. 請求項3又は4に記載の情報処理装置において、
    前記複数の情報処理装置に含まれる何れかの前記情報記録装置から前記要求情報を受信すると、記録指示の対象とされる前記共用情報を、前記要求情報の送信元の情報処理装置に伝送する共用情報伝送手段を有することを特徴とする情報処理装置。
  6. 請求項5に記載の情報処理装置において、
    記録指示の対象とされる前記共用情報が前記共用情報記録手段に記録されると、前記記録指示情報の送信元の情報記録装置又は前記共用情報の送信元の情報記録装置に前記共用情報の記録が成功したことを示す記録成功情報を送信する記録成功情報送信手段を有し、
    前記情報受信手段は、記録指示の対象とされる前記共用情報に対応する更新後の前記評価値情報を受信し、
    前記記憶制御手段は、前記複数の情報処理装置に含まれる何れかの前記情報記録装置から前記記録成功情報を受信すると、記録指示の対象とされる前記共用情報に対応する前記評価値情報を更新して前記評価情報記憶手段に記憶させ、かつ、前記情報受信手段によって前記評価値情報を受信すると、当該評価値情報を前記評価値情報記憶手段に記憶させることを特徴とする情報処理装置。
  7. 請求項5又は6に記載の情報処理装置において、
    前記情報受信手段は、前記記録指示情報の送信元の情報記録装置又は前記共用情報の送信元の情報記録装置から、記録指示の対象とされる前記共用情報に対応する前記公開時刻情報を受信し、
    前記記憶制御手段は、受信した前記公開時刻情報を、前記公開時刻情報記憶手段に記憶させることを特徴とする情報処理装置。
  8. 請求項3乃至7のいずれか一項に記載の情報処理装置において、
    前記記憶制御手段は、前記複数の情報処理装置によって共用可能に所持される新たな共用情報を前記共用情報記録手段に記録する場合には、当該新たな共用情報に係る前記評価値情報及び前記公開時刻情報をそれぞれ生成して、前記評価値情報記憶手段及び前記公開時刻情報記憶手段に当該共用情報と対応付けて記憶させることを特徴とする情報処理装置。
  9. 請求項6乃至8のいずれか一項に記載の情報処理装置において、
    前記記憶制御手段は、更新後の前記評価値情報によって示される評価値が、更新前の前記評価値情報によって示される評価値より小さくなるように前記評価値情報を更新することを特徴とする情報処理装置。
  10. 請求項3乃至9の何れか一項に記載の情報処理装置において、
    前記評価値は、前記共用情報を公開前に前記情報配信システム内に複製すべき数を示し、前記所定の条件は、前記評価値が1より大きいことを特徴とする情報処理装置。
  11. 請求項3乃至請求項9のいずれか一項に記載の情報処理装置において、
    前記所定の条件は、前記評価値に基づいて決定される前記共用情報の記録を指示すべき時刻の経過であることを特徴とする情報処理装置。
  12. ネットワークを介して互いに通信可能な複数の情報処理装置と、少なくとも1以上の共用情報が前記複数の情報処理装置によって共用可能に所持される情報配信システムにおける前記情報処理装置において、
    前記複数の情報処理装置に含まれる何れかの前記情報記録装置から記録指示の対象とされる前記共用情報を記録するよう指示する記録指示情報を受信すると、前記複数の情報処理装置のうち、記録指示の対象とされる前記共用情報を記憶する前記情報処理装置を検索すべく、当該共用情報に対応する固有の識別情報を送信する識別情報送信手段と、
    当該情報処理装置自身と、記録指示の対象とされる前記共用情報を記憶する少なくとも1以上の前記情報処理装置と、の間の各通信経路における通信負荷に関する通信負荷情報を夫々取得する通信負荷情報取得手段と、
    前記各通信経路における通信負荷を比較する通信負荷比較手段と、
    記録指示の対象とされる前記共用情報を記憶する前記情報処理装置のうち、前記通信負荷比較手段による比較結果に基づいて、前記通信負荷が相対的に小さい前記通信経路を介して接続された前記情報処理装置に対して、記録指示の対象とされる前記共用情報の伝送を要求する要求情報を送信する要求情報送信手段と、
    前記要求情報の送信先の前記情報処理装置から、記録指示の対象とされる前記共用情報を受信する情報受信手段と、
    受信した前記共用情報を、前記共用情報記憶手段に記憶させる記憶制御手段と、
    を有することを特徴とする情報処理装置。
  13. 請求項3乃至12の何れか一項に記載の情報処理装置において、
    前記通信負荷は、前記通信経路上にある中継装置の数、前記通信経路における遅延時間の長さ、及び前記通信経路の有効帯域の広さの少なくとも何れか一つに基づいて定められることを特徴とする情報処理装置。
  14. 請求項3乃至13のいずれか一項に記載の情報処理装置において、
    前記共用情報記録手段に共用情報が記録されると、前記識別情報に基づいて各前記情報処理装置が所持するルーティングテーブルに従って特定された当該共用情報の所在を管理する管理装置に対して新たな共用情報を記録した旨を送信する記録告知情報送信手段を有することを特徴とする情報処理装置。
  15. コンピュータを、請求項3乃至14のいずれか一項に記載の情報処理装置として機能させることを特徴とする情報処理プログラム。
JP2005336367A 2005-11-21 2005-11-21 情報配信システム、情報処理装置、情報処理プログラム及び情報処理方法 Active JP4670604B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005336367A JP4670604B2 (ja) 2005-11-21 2005-11-21 情報配信システム、情報処理装置、情報処理プログラム及び情報処理方法
PCT/JP2006/322812 WO2007058233A1 (ja) 2005-11-21 2006-11-16 情報配信システム、情報処理装置及び記憶媒体
US12/149,496 US8010488B2 (en) 2005-11-21 2008-05-02 Information distribution system, information processing device and memory medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005336367A JP4670604B2 (ja) 2005-11-21 2005-11-21 情報配信システム、情報処理装置、情報処理プログラム及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2007141103A true JP2007141103A (ja) 2007-06-07
JP4670604B2 JP4670604B2 (ja) 2011-04-13

Family

ID=38048617

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005336367A Active JP4670604B2 (ja) 2005-11-21 2005-11-21 情報配信システム、情報処理装置、情報処理プログラム及び情報処理方法

Country Status (3)

Country Link
US (1) US8010488B2 (ja)
JP (1) JP4670604B2 (ja)
WO (1) WO2007058233A1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008020938A (ja) * 2006-07-10 2008-01-31 Brother Ind Ltd 保存指示装置、ノード装置、保存指示プログラム及び制御プログラム
WO2008139562A1 (ja) * 2007-05-07 2008-11-20 Pioneer Corporation コンテンツ再生装置及びコンテンツ再生プログラム
JP2010237849A (ja) * 2009-03-30 2010-10-21 Brother Ind Ltd コンテンツ分散保存システム、Webページ生成方法、サーバ装置、及びサーバ処理プログラム
JP2010238143A (ja) * 2009-03-31 2010-10-21 Brother Ind Ltd ノード装置、ノード処理プログラム及び検索方法
JP2010238144A (ja) * 2009-03-31 2010-10-21 Brother Ind Ltd ノード装置、ノード処理プログラム及びコンテンツデータ削除方法
JP2011076507A (ja) * 2009-09-30 2011-04-14 Brother Industries Ltd 情報処理装置、情報通信システム、情報処理方法及び情報処理用プログラム
JP2011134240A (ja) * 2009-12-25 2011-07-07 Nec Corp コンテンツ入替えシステム、コンテンツ入替え方法、及びコンテンツ入替えプログラム
JP2012216023A (ja) * 2011-03-31 2012-11-08 Toshiba Corp 通信装置、通信プログラム、及び通信システム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4661429B2 (ja) * 2005-07-26 2011-03-30 ブラザー工業株式会社 情報配信システム、情報処理装置、情報処理プログラム及び情報処理方法
CN101442479B (zh) * 2007-11-22 2011-03-30 华为技术有限公司 P2p对等网络中节点失效后的路由更新方法、设备及系统
US8619115B2 (en) * 2009-01-15 2013-12-31 Nsixty, Llc Video communication system and method for using same
US8301596B2 (en) * 2010-01-15 2012-10-30 Hulu Llc Method and apparatus for providing supplemental video content for third party websites
US8619584B2 (en) * 2010-04-30 2013-12-31 Cisco Technology, Inc. Load balancing over DCE multipath ECMP links for HPC and FCoE
JP5695798B2 (ja) * 2012-03-28 2015-04-08 京セラ株式会社 通信装置、通信装置を有する電力管理システム、及び通信装置の制御方法
US9077562B2 (en) 2012-06-08 2015-07-07 Cisco Technology, Inc. System and method for layer-2 multicast multipathing
WO2013191006A1 (ja) 2012-06-22 2013-12-27 ソニー株式会社 情報処理装置、情報処理方法及び端末装置
US9178837B2 (en) 2012-07-17 2015-11-03 Cisco Technology, Inc. System and method for layer-2 network routing
CN104754277B (zh) * 2013-12-27 2018-04-27 联想(北京)有限公司 信息处理设备及信息处理方法
US11847352B1 (en) * 2021-09-22 2023-12-19 Ridgeline, Inc. Parent child request recovery to improve stability

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002300145A (ja) * 2001-03-28 2002-10-11 Just Syst Corp 情報配信システム、情報配信方法、情報配信方法をコンピュータに実行させるプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2003099354A (ja) * 2001-09-25 2003-04-04 Toshiba Corp 情報提供システム及び視聴者装置
JP2006023991A (ja) * 2004-07-08 2006-01-26 Brother Ind Ltd 処理装置、処理方法、処理プログラム、及び記録媒体
JP2007034630A (ja) * 2005-07-26 2007-02-08 Brother Ind Ltd 情報配信システム、登録装置、情報処理装置、登録プログラム及び情報処理プログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774287A (en) * 1994-12-09 1998-06-30 Leonhardt; Michael L. System and method employing buffering mechanism with interface for providing compatibility between recording formats
US7136903B1 (en) * 1996-11-22 2006-11-14 Mangosoft Intellectual Property, Inc. Internet-based shared file service with native PC client access and semantics and distributed access control
US7032236B1 (en) * 1998-02-20 2006-04-18 Thomson Licensing Multimedia system for processing program guides and associated multimedia objects
WO2001025948A1 (en) * 1999-10-05 2001-04-12 Zapmedia, Inc. System and method for distributing media assets to user devices and managing user rights of the media assets
US7020704B1 (en) * 1999-10-05 2006-03-28 Lipscomb Kenneth O System and method for distributing media assets to user devices via a portal synchronized by said user devices
JP4410963B2 (ja) * 2001-08-28 2010-02-10 日本電気株式会社 コンテンツ動的ミラーリングシステム、
JP4658412B2 (ja) 2001-09-20 2011-03-23 富士通株式会社 データ共有装置
JP2003216521A (ja) 2002-01-28 2003-07-31 Nippon Telegr & Teleph Corp <Ntt> コンテンツの配置方法、この方法のプログラム、このプログラムを記録した記録媒体
US7072352B2 (en) * 2002-02-21 2006-07-04 Intel Corporation Inverse multiplexing of unmanaged traffic flows over a multi-star network
JP4233328B2 (ja) 2003-01-08 2009-03-04 日立ソフトウエアエンジニアリング株式会社 ピアツーピア技術を用いたファイルダウンロード方法及びシステム
US20040143836A1 (en) * 2003-01-21 2004-07-22 Mccormack Jonathan Ian System and method for sharing objects among two or more electronic devices
TWI377564B (en) * 2004-08-17 2012-11-21 Panasonic Corp Information storage medium and multiplexing device
JP4635682B2 (ja) 2005-03-29 2011-02-23 ブラザー工業株式会社 情報処理装置、情報処理方法及び情報処理用プログラム
US20070024705A1 (en) * 2005-08-01 2007-02-01 Richter Roger K Systems and methods for video stream selection

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002300145A (ja) * 2001-03-28 2002-10-11 Just Syst Corp 情報配信システム、情報配信方法、情報配信方法をコンピュータに実行させるプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2003099354A (ja) * 2001-09-25 2003-04-04 Toshiba Corp 情報提供システム及び視聴者装置
JP2006023991A (ja) * 2004-07-08 2006-01-26 Brother Ind Ltd 処理装置、処理方法、処理プログラム、及び記録媒体
JP2007034630A (ja) * 2005-07-26 2007-02-08 Brother Ind Ltd 情報配信システム、登録装置、情報処理装置、登録プログラム及び情報処理プログラム

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008020938A (ja) * 2006-07-10 2008-01-31 Brother Ind Ltd 保存指示装置、ノード装置、保存指示プログラム及び制御プログラム
WO2008139562A1 (ja) * 2007-05-07 2008-11-20 Pioneer Corporation コンテンツ再生装置及びコンテンツ再生プログラム
JP2010237849A (ja) * 2009-03-30 2010-10-21 Brother Ind Ltd コンテンツ分散保存システム、Webページ生成方法、サーバ装置、及びサーバ処理プログラム
JP2010238143A (ja) * 2009-03-31 2010-10-21 Brother Ind Ltd ノード装置、ノード処理プログラム及び検索方法
JP2010238144A (ja) * 2009-03-31 2010-10-21 Brother Ind Ltd ノード装置、ノード処理プログラム及びコンテンツデータ削除方法
JP2011076507A (ja) * 2009-09-30 2011-04-14 Brother Industries Ltd 情報処理装置、情報通信システム、情報処理方法及び情報処理用プログラム
JP2011134240A (ja) * 2009-12-25 2011-07-07 Nec Corp コンテンツ入替えシステム、コンテンツ入替え方法、及びコンテンツ入替えプログラム
JP2012216023A (ja) * 2011-03-31 2012-11-08 Toshiba Corp 通信装置、通信プログラム、及び通信システム

Also Published As

Publication number Publication date
US8010488B2 (en) 2011-08-30
US20080270421A1 (en) 2008-10-30
WO2007058233A1 (ja) 2007-05-24
JP4670604B2 (ja) 2011-04-13

Similar Documents

Publication Publication Date Title
JP4670604B2 (ja) 情報配信システム、情報処理装置、情報処理プログラム及び情報処理方法
JP4661429B2 (ja) 情報配信システム、情報処理装置、情報処理プログラム及び情報処理方法
US20070283043A1 (en) Information delivery system, delivery request program, transfer program, delivery program, and the like
JP4418897B2 (ja) 情報配信システム、情報更新プログラム、及び情報更新方法等
US20070297422A1 (en) Information delivery system, delivery request program, transfer program, delivery program, and the like
JP2006277337A (ja) 情報処理装置、情報処理方法及び情報処理用プログラム
US20080027898A1 (en) Information processing apparatus and storing apparatus, information processing method and storing method, and recording medium
JP4670043B2 (ja) 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等
JP4635904B2 (ja) 登録装置、登録方法及び登録処理プログラム
JP2007288286A (ja) ノード装置、記憶制御プログラム及び情報記憶方法
WO2008041422A1 (fr) Terminal de système de distribution de contenu, son procédé de traitement d&#39;information et programme contenant un support d&#39;enregistrement
JP2007336396A (ja) コンテンツ配信システム、コンテンツ配信方法、端末装置及びそのプログラム
JP2010231576A (ja) ノード装置、ノード処理プログラム及びコンテンツ保存方法
JP5012712B2 (ja) コンテンツ分散保存システム、総評価値管理装置、管理処理プログラム、ノード装置、及び総評価値管理方法
JP5343990B2 (ja) 配信システム、情報処理装置、情報処理方法及びプログラム
JP2010039722A (ja) ノード装置、管理ノード装置、ノード処理プログラム、管理ノード処理プログラム、コンテンツ分散保存システム、複製データ取得方法
JP2010238161A (ja) ノード装置、ノード処理プログラム、情報通信システム及びコンテンツデータ管理方法
JP2009232272A (ja) コンテンツ分散保存システム、コンテンツ再生方法、ノード装置、管理装置、ノード処理プログラム、及び管理処理プログラム
JP5157770B2 (ja) ノード装置、プログラム及び保存指示方法
JP6369264B2 (ja) 通信システム及び情報処理装置
JP5287059B2 (ja) ノード装置、ノード処理プログラム及び保存指示方法
JP4635966B2 (ja) コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信システムにおける端末装置及びそのプログラム
JP2010238143A (ja) ノード装置、ノード処理プログラム及び検索方法
JP2008020938A (ja) 保存指示装置、ノード装置、保存指示プログラム及び制御プログラム
JP2010102573A (ja) ノード装置、ノード処理プログラム及びデータファイル改変方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101203

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110103

R150 Certificate of patent or registration of utility model

Ref document number: 4670604

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140128

Year of fee payment: 3