JP2010004221A - 情報配信システム、同情報配信システムにおける端末装置、配信サーバ及び投入サーバ並びにそのプログラム - Google Patents

情報配信システム、同情報配信システムにおける端末装置、配信サーバ及び投入サーバ並びにそのプログラム Download PDF

Info

Publication number
JP2010004221A
JP2010004221A JP2008160149A JP2008160149A JP2010004221A JP 2010004221 A JP2010004221 A JP 2010004221A JP 2008160149 A JP2008160149 A JP 2008160149A JP 2008160149 A JP2008160149 A JP 2008160149A JP 2010004221 A JP2010004221 A JP 2010004221A
Authority
JP
Japan
Prior art keywords
content
content file
terminal device
file
server
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
JP2008160149A
Other languages
English (en)
Other versions
JP5071262B2 (ja
Inventor
Hideki Matsuo
英輝 松尾
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 JP2008160149A priority Critical patent/JP5071262B2/ja
Priority to US12/457,631 priority patent/US20090319612A1/en
Publication of JP2010004221A publication Critical patent/JP2010004221A/ja
Application granted granted Critical
Publication of JP5071262B2 publication Critical patent/JP5071262B2/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
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • 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/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • 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/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Abstract

【課題】ユーザネットの各端末装置のストレージを有効に活用すると共に、コンテンツファイルの改竄確認の時間を短縮し、分散プールの各配信サーバにおけるファイル管理を容易に行なうことができる情報配信システムを提供する。
【解決手段】ユーザネット9aの端末装置間で送受信される第1のコンテンツファイルのデータサイズを、分散プール9bの配信サーバに保持される第2のコンテンツファイルのデータサイズよりも小さくし、端末装置が他の端末装置から第1のコンテンツファイルを取得できないとき、配信サーバから第1のコンテンツファイル又は第2のコンテンツファイルを取得可能とした。
【選択図】図8

Description

本発明は、音楽データ、映画データ及び文書データなどのコンテンツを端末装置へ配信する情報配信システム、同情報配信システムにおける端末装置、配信サーバ及び投入サーバ並びにそのプログラムに関する。
従来より、複数の端末装置をインターネット等の情報通信回線を介して接続して、端末装置間で双方向での情報通信が可能なオーバーレイネットワークを構築すると共に、各端末装置内のストレージ(記憶手段)に、それぞれ様々なコンテンツデータを記憶させておくことにより、複数の端末装置のストレージ群からなる巨大なストレージを仮想的に構築した情報配信システムが知られている(たとえば、特許文献1参照。)。
この種の情報配信システムにおいて、当該システムに投入された全てのコンテンツデータを配信可能に保障するためには、各コンテンツデータが当該情報配信システムに参加している少なくとも1台の端末装置内に記憶されている必要がある。
しかし、上記のように、この情報配信システムでは、仮想ストレージが複数の端末装置のストレージ群により構成されていたため、任意の端末装置が任意のタイミングで当該情報配信システムのネットワークから脱退した場合、脱退した端末装置にしか記憶されていないコンテンツデータがあると、当該情報配信システムに投入された全てのコンテンツデータを完全に保障することができなくなるという問題があった。
そこで、端末装置による分散ストレージとは別に、情報配信システムに投入した全てのコンテンツデータを記憶し、端末装置からの要求に応じてコンテンツデータを配信可能な配信サーバを設けた情報配信システムが考案されている。
しかし、このように、1台の配信サーバで情報配信システムに投入する全てのコンテンツデータを配信可能にしようとすると、そのための設備費が大幅に増大するおそれがあった。
すなわち、膨大な量のコンテンツデータを1台のサーバで保障するためには、大規模なストレージを備えた高性能且つ高価なサーバが必要となる上、このサーバのメンテナンスや障害の発生に対応するため、この配信サーバと同等の性能を有するバックアップ用の配信サーバも必要となり、情報配信システムを構築するための設備費が大幅に増大するという問題が生じる。
かかる問題を解消するために、全てのコンテンツデータを1台の配信サーバに記憶させるのではなく、複数の配信サーバに分散させて記憶させておく分散サーバシステム(以下、「分散プール」と呼ぶ。)を用いて情報配信システムを構築することが考えられる。
情報配信システムをこのように分散プールを用いて構築することにより、当該情報配信システムに投入するコンテンツデータが増大しても、比較的安価なサーバ装置を増設するだけで、コンテンツデータの増大に対処できるため、設備に要するコストの大幅な増大を抑制することができる。
特開2006−197400号公報
ところで、端末装置のストレージ(記憶手段)においては、大きな記憶容量を確保することが困難であることが多い。そこで、情報配信システムにおいては、コンテンツデータを分割したデータ(以下、「分割コンテンツデータ」とする。)を分散して複数の端末装置へ保持させて、各端末装置のストレージを有効に活用するものがある。
この場合、端末装置がコンテンツデータを再生するとき、当該再生するコンテンツデータが分割して生成された複数の分割コンテンツデータを複数の端末装置から取得することになるが、このとき分割コンテンツデータのデータサイズが小さいと取得する端末装置での改竄確認を短時間で行なうことができるという利点がある。
このように、情報配信システムを構成する端末装置においては、分割コンテンツデータのデータサイズを小さくすることで、各端末装置のストレージを有効に活用すると共に、コンテンツデータの改竄確認の時間を短縮することができる。
一方で、分割コンテンツデータのデータサイズを小さくすると、上記分散サーバシステムの配信サーバで管理するコンテンツデータ数が増大する。そのため、各配信サーバにおいて保持しているコンテンツデータのデータ管理情報が増大するという課題がある。また、配信サーバ間でコンテンツデータを送受信可能にするためのファイル保持情報を配信サーバ間で共有するための共有管理情報も増大するという課題がある。
かかる課題を解決するために、請求項1に記載の発明は、コンテンツデータを分割した分割コンテンツデータを、第1のコンテンツファイルとして分散保持する複数の端末装置と、前記コンテンツデータ又は当該コンテンツデータを分割した分割コンテンツデータを、第2のコンテンツファイルとして分散保持する複数の配信サーバと、を備え、前記端末装置は、他の複数の前記端末装置からネットワークを介して複数の前記第1のコンテンツファイルを取得する第1取得手段と、前記他の端末装置から取得できない第1のコンテンツファイル又は当該第1のコンテンツファイルに対応する第2のコンテンツファイルをネットワークを介して前記配信サーバから取得する第2取得手段と、前記第1取得手段又は前記第2取得手段で取得したコンテンツファイルに基づいて前記コンテンツデータを再生する再生手段と、を備え、前記端末装置が保持する前記第1のコンテンツファイルのデータサイズを、前記配信サーバが保持する前記第2のコンテンツファイルのデータサイズよりも小さくしたことを特徴とする。
また、請求項2に記載の発明は、請求項1に記載の情報配信システムにおいて、前記配信サーバは、前記第1のコンテンツファイルと前記第2のコンテンツファイルの対応関係を定義した対応情報を記憶する対応情報記憶手段と、前記対応情報記憶手段に記憶した対応情報に基づき、前記端末装置から要求された第1のコンテンツファイルを、当該第1のコンテンツファイルに対応する前記第2のコンテンツファイルから抽出して送信するコンテンツ送信手段と、を備え、前記端末装置の前記第2取得手段は、前記他の端末装置から取得できない前記第1のコンテンツファイルを前記配信サーバへ要求し、当該要求した前記第1のコンテンツファイルを前記配信サーバから取得することを特徴とする。
また、請求項3に記載の発明は、請求項1に記載の情報配信システムにおいて、前記配信サーバは、前記端末装置が要求した第2のコンテンツファイルを送信するコンテンツ送信手段を備え、前記端末装置は、前記第1のコンテンツファイルと前記第2のコンテンツファイルの対応関係を定義した対応情報を記憶する対応情報記憶手段を備え、前記端末装置の前記第2取得手段は、前記対応情報記憶手段に記憶した対応情報に基づき、前記他の端末装置から取得できない前記第1のコンテンツファイルに対応する第2のコンテンツファイルを前記配信サーバから取得し、前記他の端末装置から取得できない第1のコンテンツファイルを前記取得した第2のコンテンツファイルから抽出して保持することを特徴とする。
また、請求項4に記載の発明は、請求項1に記載の情報配信システムにおいて、前記第1のコンテンツファイルと前記第2のコンテンツファイルとの対応関係を定義した対応情報を記憶する対応情報記憶手段を備え、前記端末装置の前記第2取得手段は、前記対応情報記憶手段に記憶した対応情報に基づき、前記他の端末装置から取得できない第1のコンテンツファイルに対応する第2のコンテンツファイルのデータ領域を指定して前記第1のコンテンツファイルの送信を前記配信サーバへ要求し、前記配信サーバは、前記端末装置が要求した第2のコンテンツファイルのデータから第1のコンテンツファイルを抽出して、当該第1のコンテンツファイルを送信するコンテンツ送信手段を備えたことを特徴とする。
また、請求項5に記載の発明は、請求項1に記載の情報配信システムにおいて、前記端末装置は、前記第1のコンテンツファイルと前記第2のコンテンツファイルとの対応関係を定義した対応情報を記憶する対応情報記憶手段を備え、前記端末装置の前記第2取得手段は、前記対応情報記憶手段に記憶した対応情報に基づき、前記他の端末装置から一部が取得できない第1のコンテンツファイルに対応する第2のコンテンツファイルのデータ領域を指定して前記第1のコンテンツファイルの一部のデータの送信を前記配信サーバへ要求し、前記配信サーバは、前記端末装置が要求した第2のコンテンツファイルのデータから第1のコンテンツファイルの一部を抽出して、前記端末装置が指定したデータ領域のデータを送信するコンテンツ送信手段を備えたことを特徴とする。
また、請求項6に記載の発明は、請求項1〜5のいずれか1項に記載の情報配信システムにおいて、前記配信サーバは、前記第2のコンテンツファイルを保持するコンテンツ記憶手段と、前記端末装置から要求された第2のコンテンツファイル又は第1のコンテンツファイルに対応する第2のコンテンツファイルが前記コンテンツ記憶手段にないとき、自装置或いは前記要求した端末装置を宛先として前記第2のコンテンツファイル又は当該第2のコンテンツファイルに対応する第1のコンテンツファイルの送信を行なうように、他の前記配信サーバに対して要求するコンテンツ送信要求手段と、を備えたことを特徴とする。
また、請求項7に記載の発明は、請求項1〜5のいずれか1項に記載の情報配信システムにおいて前記第2のコンテンツファイルを保持するコンテンツ記憶手段と、前記端末装置から要求された第2のコンテンツファイル又は第1のコンテンツファイルに対応する第2のコンテンツファイルが前記コンテンツ記憶手段にないとき、当該第2のコンテンツファイルを他の前記配信サーバから取得し、当該取得した第2のコンテンツファイルを要求元の端末装置へ送信するコンテンツ送信手段と、を備えたことを特徴とする。
また、請求項8に記載の発明は、請求項1〜7のいずれか1項に記載の情報配信システムにおいて、前記第2のコンテンツファイルを前記配信サーバへ送信する第1投入手段と、前記第1のコンテンツファイルの保持を前記複数の端末装置へ要求する第2投入手段と、を有する投入サーバを備え、前記端末装置は、前記投入サーバから前記第1のコンテンツファイルの保持要求があったとき、当該保持要求にかかる第1のコンテンツファイルを前記配信サーバから取得する第3取得手段と、前記配信サーバ及び他の前記端末装置から取得した第1のコンテンツファイルを記憶するコンテンツ記憶手段と、他の前記端末装置からの要求に応じて、前記コンテンツ記憶手段に記憶した前記第1のコンテンツファイルを送信するコンテンツ送信手段と、を備えたことを特徴とする。
また、請求項9に記載の発明は、請求項1〜7のいずれか1項に記載の情報配信システムにおいて、前記第2のコンテンツファイルを前記配信サーバへ送信する第1投入手段と、前記コンテンツデータ又は前記第2のコンテンツファイルを分割して前記第1のコンテンツファイルを生成し当該第1のコンテンツファイルを前記端末装置へ送信する第2投入手段と、を有する投入サーバを備え、前記端末装置は、前記投入サーバ、配信サーバ及び他の前記端末装置から取得した第1のコンテンツファイルを記憶するコンテンツ記憶手段と、
他の前記端末装置からの要求に応じて、前記コンテンツ記憶手段に記憶した前記第1のコンテンツファイルを送信するコンテンツ送信手段と、を備えたことを特徴とする。
また、請求項10に記載の発明は、請求項1〜9のいずれか1項に記載の情報配信システムにおける端末装置とした。
また、請求項11に記載の発明は、請求項2〜9のいずれか1項に記載の情報配信システムにおける配信サーバとした。
また、請求項12に記載の発明は、請求項8又は請求項9に記載の情報配信システムにおける投入サーバとした。
また、請求項13に記載の発明は、コンピュータを、請求項1〜9のいずれか1項に記載の情報配信システムにおける端末装置の各手段として機能させることを特徴とするプログラムとした。
また、請求項14に記載の発明は、コンピュータを、請求項2〜9のいずれか1項に記載の情報配信システムにおける配信サーバの各手段として機能させることを特徴とするプログラムとした。
また、請求項15に記載の発明は、コンピュータを、請求項8又は請求項9に記載の情報配信システムにおける投入サーバの各手段として機能させることを特徴とするプログラムとした。
本発明では、端末装置間で送受信されるコンテンツファイルのデータサイズを、配信サーバに保持されるコンテンツファイルのデータサイズよりも小さくしたので、各端末装置のストレージを有効に活用すると共に、コンテンツファイルの改竄確認の時間を短縮することができ、しかも、各配信サーバにおけるファイル管理を容易に行なうことができる。
以下、本発明の一実施形態について具体的に説明する。なお、本実施形態では分散ハッシュテーブルを用いたP2P型の情報配信システムを例にとり説明するが、P2P型の情報配信システムであればよく、これに限られない。
[1.第1実施形態]
[1.1.情報配信システムSの構成等]
まず始めに、図1を参照して、本発明の第1実施形態における情報配信システムの概要について説明する。図1は、第1実施形態における情報配信システムの各端末装置、各配信サーバ及び投入サーバの接続態様の一例を示す図である。
図1の下部枠51内に示すように、IX(Internet eXchange)3、ISP(Internet Service Provider)4、DSL(Digital Subscriber Line)回線事業者(の装置)5、FTTH(Fiber To The Home)回線事業者(の装置)6、及び通信回線(例えば、電話回線や光ケーブル等)7等によって、インターネット等のネットワーク(現実世界のネットワーク)8が構築されている。
情報配信システムSは、図1の上部枠50内に示すように、ネットワーク8を介して相互に接続された複数の端末装置1a,1b,1c・・・1x,1y,1z・・・と、複数の配信サーバ2a,2b,2c,2dと、投入サーバ10とを備えて構成される。各端末装置1a,1b,1c・・・1x,1y,1z・・・と各配信サーバ2a,2b,2c,2dとには、各装置を示す情報としての固有の製造番号(例えば、MACアドレス)及びIP(Internet Protocol)アドレスが割り当てられている。また、以下の説明において、端末装置1a,1b,1c・・・1x,1y,1z・・・のうち何れかの端末装置又は全ての端末装置を示す場合には、便宜上、端末装置1といい、配信サーバ2a,2b,2c,2dのうち何れかの配信サーバ又は全ての配信サーバを示す場合には、便宜上、配信サーバ2という。
本実施形態の情報配信システムSにおいては、図1の上部枠50内に示すような、ネットワーク8を用いて形成された仮想的なリンクを構成するオーバーレイネットワークが構築される。このオーバーレイネットワークは、複数の端末装置1a,1b,1c・・・1x,1y,1z・・・から形成されており、ピアツーピア(P2P)方式のネットワーク9a(以下、「ユーザネット9a」と呼ぶ。)と、複数の配信サーバ2a,2b,2c,2dから形成されており、端末装置1からの要求に応じたコンテンツデータを配信するネットワーク9b(以下、「分散プール9b」と呼ぶ。)とから構成される。なお、以下において、ユーザネット9a上に配置された端末装置1を、情報配信システムSに参加している端末装置1といい、分散プール9b上に配置された配信サーバ2を、情報配信システムSに参加している配信サーバ2という。
また、情報配信システムSには、図1に示すように、情報配信システムS内にコンテンツファイルを投入する機能や、情報配信システムSにおいて取得可能なコンテンツファイルのリスト(以下、「コンテンツカタログ」とする。)を生成して端末装置1や配信サーバ2へ提供する機能などを有する投入サーバ10(サーバ装置の一例)を備えている。
[1.2.ユーザネット9aの概要]
次に、ユーザネット9aの概要について図面を参照して説明する。図2はルーティングテーブルの一例、図3は投入サーバ10から第1のコンテンツファイルが投入される様子を示す図、図4はコンテンツホルダの登録メッセージがDHTルーティングにより転送される様子を示す図、図5はインデックステーブルの一例、図6はコンテンツホルダがDHTルーティングにより検索される様子の一例を示す図、図7は端末装置1が分散プール9bの配信サーバ2から第2のコンテンツファイルを取得する様子を示す図である。
ユーザネット9aは、上述のように、複数の端末装置1で構成されたピアツーピア(P2P)方式のネットワークであり、本実施形態においては、上記特許文献1と同様に、分散ハッシュテーブルを用いたP2P方式のネットワークであり、端末装置1間で第1のコンテンツファイルが送受信される。
このユーザネット9aでは、各端末装置1にハッシュ関数を用いて生成された固有の識別情報(以下、「端末ID」と呼ぶ。)が割り当てられる。そして、各端末装置1は、図2に示すように、一部の端末装置1の所在情報(ここでは、IPアドレス)をその端末IDに関連づけて記憶したテーブル(以下、「ルーティングテーブル」と呼ぶ。)を記憶部に記憶している(ここでは、端末IDを8bitの4進数(「0000」〜「3333」)での割り当てとしている)。
また、複数の端末装置1に分散して保持される第1のコンテンツファイルにも同様のハッシュ関数を用いて生成された固有の識別情報(以下、「第1ファイルID」と呼ぶ。)が割り当てられる。そして、第1のコンテンツファイルを保持する端末装置(以下、「コンテンツホルダ」と呼ぶ。)の所在情報(IPアドレス)を管理させる端末装置1(以下、「ルートノード」と呼ぶ。)を、当該第1のコンテンツファイルの第1ファイルIDと所定の関連を有する端末IDの端末装置1とする。例えば、ある第1のコンテンツファイルのコンテンツホルダを管理するルートノードは、当該第1のコンテンツファイルのファイルIDに最も近い端末装置1とすることができる。なお、「最も近い」ことの定義は、当該第1ファイルIDを超えず、第1ファイルIDと端末IDとの差が一番少ないものとする。
ここで、図3に示すように、ある端末装置1mに投入サーバ10から新規に第1ファイルID「3020」の第1のコンテンツファイルが投入されて当該端末装置1mがコンテンツホルダとなったとする。このとき、図4に示すように、コンテンツホルダとなった端末装置1mは、保持することとなった第1のコンテンツファイルの第1ファイルID「3020」を宛先識別情報として自装置の所在情報(IPアドレス)等のホルダ情報を含む登録メッセージを、自装置のルーティングテーブルに基づいて送信する。すなわち、コンテンツホルダは、自装置のルーティングテーブルから登録メッセージの宛先識別情報とする第1ファイルIDに近い端末IDを判定し、当該端末IDの端末装置1aへ登録メッセージを送信する。この登録メッセージを受信した端末装置1aは、自装置のインデックステーブルに基づいてその宛先識別情報に最も近い端末IDが自装置でないときには、この宛先識別情報により近い端末IDを判定し、当該端末IDの端末装置1bへ登録メッセージを転送する。そして、この登録メッセージはその宛先識別情報に最も近い端末IDを有する端末装置1c、すなわちルートノード1cへ到達したとき、当該ルートノード1cは、登録メッセージに含まれるホルダ情報(コンテンツホルダの所在情報等)を、図5に示すようなテーブル(以下、「インデックステーブル」と呼ぶ。)に記憶する。なお、上述のようにルーティングテーブルに基づいて行なわれるメッセージの転送をDHTルーティングと呼ぶ。
その後、ある端末装置がコンテンツホルダの保持する第1のコンテンツファイルを取得したいとき、この第1のコンテンツファイルの検索及び取得は次のように行なわれる。なお、各端末装置1は、情報配信システムSへの参加時等に投入サーバ10から取得したコンテンツカタログに基づいて、所望の第1のコンテンツファイルを検索可能としている。
例えば、図6に示すように、第1のコンテンツファイルを取得しようとする端末装置1n(以下、「リクエスタ1n」と呼ぶ。)は、当該第1のコンテンツファイルの第1ファイルIDを宛先識別情報として自装置の所在情報を含む検索メッセージを、自装置のルーティングテーブルに基づいて送信する(図6に示す(1)参照。)。この検索メッセージの送信は、登録メッセージの送信と同様の方法で行なわれ、DHTルーティングによってルートノードへ到達する(図6に示す(2)参照。)。検索メッセージを受信したルートノードは、自装置のインデックステーブルから要求にかかるコンテンツホルダの所在情報(ホルダ情報)をリクエスタ1nに通知する(図6に示す(3)参照。)。その後、リクエスタは、通知を受けた所在情報のコンテンツホルダへファイル要求メッセージにより第1のコンテンツファイルの要求を行い(図6に示す(4)参照。)、コンテンツホルダから第1のコンテンツファイルを取得して再生する(図6に示す(5)参照。)。
ここで、コンテンツホルダがユーザネット9aから脱退していたときやコンテンツホルダが過負荷ある等の原因で第1のコンテンツファイルをリクエスタに送信できないときがある。
例えば、図7に示すように、リクエスタ1nが、ユーザネット9a内で所望の第1のコンテンツファイルを検索しても取得することができないとき(図7に示す(1)参照。)、分散プール9bの配信サーバ2に取得したい第1のコンテンツファイルに対応する第2のコンテンツファイルの送信を要求して取得するようにしている(図7に示す(2),(3)参照。)。ここで、「取得したい第1のコンテンツファイルに対応する第2のコンテンツファイル」とは、「取得したい第1のコンテンツファイル」を含む「第2のコンテンツファイル」を意味する。また、リクエスタから配信サーバ2へアクセスするために必要な配信サーバ2の所在情報(IPアドレス)は、予め設定ファイルなどで指定されている。
そして、第2のコンテンツファイルを取得した端末装置1は、第2のコンテンツファイルから取得したい第1のコンテンツファイルの情報を取得して、再生する。
[1.3.分散プール9bの概要]
分散プール9bは、ユーザネット9aと同様に、分散ハッシュテーブルを用いたネットワークであり、配信サーバ2間で第2のコンテンツファイルが送受信される。
この分散プール9bでは、各配信サーバ2にハッシュ関数を用いて生成された固有の識別情報(以下、「サーバID」と呼ぶ。)が割り当てられる。そして、各配信サーバ2は、端末装置1と同様のルーティングテーブル、すなわち一部の配信サーバ2の所在情報(ここでは、IPアドレス)をそのサーバIDに関連づけて記憶したルーティングテーブルを記憶部に記憶している。また、複数の配信サーバ2に分散して保持される第2のコンテンツファイルにも同様のハッシュ関数を用いて生成された固有の識別情報(以下、「第2ファイルID」と呼ぶ。)が割り当てられる。
そして、ユーザネット9aと同様に、配信サーバ2が状況に応じてリクエスタ、コンテンツホルダ又はルートノードになって、第2のコンテンツファイルの保持、検索、取得などの処理を行なって、第2のコンテンツファイルの送受信を行なう。なお、配信サーバ2は、投入サーバ10から第2のコンテンツファイルを取得してコンテンツホルダとなる。
[1.4.第1のコンテンツファイルと第2のコンテンツファイル]
次に、第1のコンテンツファイルと第2のコンテンツファイルについて図面を参照して説明する。図8は、投入サーバから投入される第1のコンテンツファイルと第2のコンテンツファイルを説明するための図、図9は新規コンテンツファイルを保持させる配信サーバの決定方法の説明図である。
図8に示すように、投入サーバ10は、新規コンテンツデータ(音楽データ、映画データ、文書データなど)を情報配信システムSへ投入する際、この新規コンテンツデータを第1データ単位で分割した分割コンテンツデータ(図8に示す例では、分割コンテンツデータ1〜7)を生成し、これらの分割コンテンツデータと後述するメタファイルとをそれぞれ第1のコンテンツファイルとしてユーザネット9aの複数の端末装置1へ分散保持させる。また、投入サーバ10は、この新規コンテンツデータを第2のコンテンツファイルとして、又は新規コンテンツデータを第2データ単位で分割した分割コンテンツデータ(図8に示す例では、分割コンテンツデータ10,20)を生成し、この分割コンテンツデータと後述するメタファイルを第2のコンテンツファイルとして分散プール9bの複数の配信サーバ2へ分散保持させる。
ここで、メタファイルとは、第1のコンテンツファイルと第2のコンテンツファイルとの対応関係を定義し、また各第1のコンテンツファイル及び各第2のコンテンツファイルにおけるコンテンツデータのデータ配列位置を規定するものであり、図9(a)に示す情報が規定される。このメタファイルは、第1のコンテンツファイル及び第2のコンテンツファイルと同様に、第1ファイルIDと第2ファイルIDがそれぞれ付与されて、端末装置1及び配信サーバ2に分散保持される。すなわち、端末装置1へ投入するメタファイルには第1ファイルIDが割り当てられ、配信サーバ2へ投入するメタファイルには第2ファイルIDが付与される。このメタファイルはそのデータの一部が上述したハッシュ関数によりハッシュ化された値がユーザネット9aでは第1ファイルIDとして付与され、分散プール9bでは第2ファイルIDとして付与される。
コンテンツカタログには、各コンテンツデータの名称毎のメタファイルの第1ファイルID及び第2ファイルIDが規定されており、端末装置1は、コンテンツデータを再生しようとするとき、コンテンツカタログに基づいてまず再生しようとするコンテンツデータのメタファイルを取得する。上述のようにメタファイルには、分割コンテンツデータのファイルIDがその再生順に規定されており、端末装置1は、このメタファイルに基づいて、第1のコンテンツファイルである分割コンテンツデータ1、分割コンテンツデータ2、・・・をネットワーク8を介して順次取得しながら、これらの第1のコンテンツファイルをその再生順序に従って順次再生していく。なお、ユーザネット9a用と分散プール9b用とでメタファイルは同一のものであるため、第1ファイルIDと第2ファイルIDとは同じIDを用いることができる。このようにすることで、メタファイルを検索するときに、ユーザネット9a用と分散プール9b用とで区別する必要が無くなり、端末装置1において、処理負荷を軽減することができる。
このとき、第1のコンテンツファイルのデータサイズは小さいことが望ましい。これは、端末装置1においてコンテンツファイルを記憶する記憶容量として大きな領域を確保できないため、コンテンツファイルが小さい方がディスクサイズ領域を有効利用できるからであり、また、ファイルの改竄確認を行なう時間が短縮できるからである。但し、第1のコンテンツファイルのデータサイズがあまり小さすぎると、端末装置1においてファイル管理のコストが増大し、またインデックステーブルに記憶するホルダ情報の量が増え、検索回数が増えることから、この点を考慮して適切なデータサイズを設定することが望ましい。
一方、配信サーバ2においては、コンテンツファイルを記憶する記憶容量として大きな領域を確保することができることから、第2のコンテンツファイルのデータサイズを、第1のコンテンツファイルのデータサイズと同一としても、記憶容量の観点からのメリットは少ない。すなわち、配信サーバ2で保持するコンテンツファイルのデータサイズを大きくできるのにもかかわらず小さくすると、配信サーバ2において、返ってファイル管理のコストが増大し、またインデックスに記憶するホルダ情報の量が増え、検索回数が増えることになる。
そこで、端末装置1間で送受信される第1のコンテンツファイルのデータサイズを、図9(b)に示すように、配信サーバ2が保持する第2のコンテンツファイルのデータサイズよりも小さくするようにしている。そのため、各端末装置1のストレージを有効に活用すると共に、コンテンツファイルの改竄確認の時間を短縮することができ、しかも、各配信サーバ2におけるファイル管理を容易に行なうことができる。
また、本実施形態においては、各第1のコンテンツファイルの分割コンテンツデータは、必ず第2のコンテンツファイルに含まれるものとする。すなわち、1つの第1のコンテンツファイルの分割コンテンツデータが2つの第2のコンテンツファイルに跨って含まれないようにしており、これにより第1のコンテンツファイルを一つ探すときに、二つの第2のコンテンツファイルを検索する必要がなく、処理が簡易になる。
ところで、端末装置1は、上述のように、ユーザネット9aにおいて第1のコンテンツファイルを取得できないとき、分散プール9bの配信サーバ2から第1のコンテンツファイルに対応する第2のコンテンツファイルを取得する。
このとき、端末装置1は、取得しようとする第1のコンテンツファイルのデータ位置を含む第2のコンテンツファイルのファイルIDを宛先識別情報とし自装置の所在情報を含む検索メッセージを生成し、任意の配信サーバ2を選択してこの検索メッセージを送信する。この検索メッセージは、分散プール9bの配信サーバ2によってDHTルーティングにより転送され、ルートノードに到達する。ルートノードは、検索メッセージによる検索対象の第2のコンテンツファイルを保持するコンテンツホルダの所在情報を要求元の端末装置1へ返信する。この返信を受けた端末装置1は、取得しようとする第1のコンテンツファイルのデータ位置を含む第2のコンテンツファイルのファイルIDを宛先識別情報とし自装置の所在情報を含むファイル要求メッセージを送信する。このファイル要求メッセージを受信したコンテンツホルダである配信サーバ2は、ファイル要求メッセージで要求される第2のコンテンツファイルをこのファイル要求メッセージの送信元の端末装置1へ送信する。この端末装置1は、配信サーバ2から第2のコンテンツファイルを受信すると、メタファイルに規定されているデータ位置に基づいて、第2のコンテンツファイルから第1のコンテンツファイルを抽出して再生する。
例えば、端末装置1が再生しようとするコンテンツデータのメタファイルが図9(a)に示すように規定され、取得しようとする第1のコンテンツファイルのファイルIDが「2121」のとき、端末装置1は、「3030」を識別宛先情報として検索メッセージを任意の配信サーバに送信する。この検索メッセージは、DHTルーティングによりファイルID「3030」のルートノードに到達すると、ルートノードは、ファイルID「3030」のコンテンツホルダとなっている配信サーバ2の所在情報を端末装置1へ送信する。端末装置1は、取得した所在情報のコンテンツホルダへファイルID「3030」の送信を要求するファイル要求メッセージを送信する。このファイル要求メッセージには、ファイルID「3030」及び端末装置1の所在情報が含まれる。コンテンツホルダである配信サーバ2は、ファイルID「3030」の第2のコンテンツファイルをこのファイル要求メッセージの送信元の端末装置1へ送信する。この端末装置1は、配信サーバ2からファイルID「3030」の第2のコンテンツファイルを受信すると、メタファイルに規定されているデータ位置「501−750」に基づいて、第2のコンテンツファイルからデータ位置「501−750」の第1のコンテンツファイルを抽出して再生する。
以下、このように構成される情報配信システムSの端末装置1、配信サーバ2及び投入サーバ10の具体的構成及び動作の一例について図面を参照して説明する。
[1.5.端末装置1の具体的構成及び動作の説明]
以下、図面を参照して、上述した端末装置1の具体的構成及び動作の一例について説明する。
(端末装置1の構成について)
まず、端末装置1の構成について説明する。図10は、端末装置1の概略構成を示す図である。
端末装置1は、専用のコンピュータの他、一般のパーソナルコンピュータを適用可能であり、図10に示すように、制御部101と、ルーティングテーブル、インデックステーブルなどを記憶する書き換え可能な第1記憶部102と、他の端末装置1、配信サーバ2又は投入サーバ10から取得したコンテンツファイル(メタファイルを含む)を記憶する不揮発性メモリである第2記憶部103(コンテンツ記憶手段及び対応情報記憶手段の一例に相当)と、ネットワーク8を介して取得したコンテンツファイルである分割コンテンツデータを一時的に記憶するバッファメモリ104と、このバッファメモリ104に記憶した分割コンテンツデータを順次取り出してデコードするデコーダ部105と、このデコーダ部105によってデコードされた分割コンテンツデータのうち映像情報を後述の表示部107で表示可能な情報に変換処理する映像処理部106と、この映像処理部106からの出力に基づいて分割コンテンツデータの映像を表示する液晶表示装置(LCD)などの表示部107と、デコーダ部105によってデコードされた分割コンテンツデータのうち音声情報を後述のスピーカ109で音波として出力可能な情報に変換処理する音声処理部108と、この音声処理部108からの出力に基づいて分割コンテンツデータの音声を音波として出力するスピーカ109と、マウス及びキーボードなどからなる入力部110と、ネットワーク8を介して、他の端末装置1、配信サーバ2及び投入サーバ10と通信するための通信部111とを備えている。なお、制御部101、第1記憶部102、第2記憶部103、バッファメモリ104、デコーダ部105、通信部111は、システムバス120を介して相互に接続されている。また、デコーダ部105、映像処理部106及び音声処理部108は再生手段の一例に相当する。
制御部101は、CPU(Central Processing Unit)、内部メモリから構成される。この内部メモリには、情報配信システムSに参加して、コンテンツファイルであるメタファイルや分割コンテンツデータを送受信し、分割コンテンツデータを再生するための情報処理プログラムが格納されており、CPUは内部メモリに記憶されている情報処理プログラムを読み出して実行することによって、第1取得手段、第2取得手段、第3取得手段、コンテンツ送信手段、再生処理手段、記憶処理手段等として機能する。
なお、この情報処理プログラムは、例えば、ネットワーク8に接続されたサーバ(例えば、投入サーバ10)から、ネットワーク8及び通信部111を介して、制御部101の内部メモリにダウンロードされるようにしてもよく、又CD−ROM等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、制御部101の内部メモリに読み込まれるようにしてもよい。
(端末装置1の動作について)
以上のように構成された端末装置1の動作を図面を参照して具体的に説明する。図11は端末装置1のメイン処理フローチャートである。なお、以下の各処理は、端末装置1の制御部101が上述した各手段等として機能することによって実行されるものである。
図11に示すように、端末装置1においてメイン電源スイッチ(図示せず)がONされたときやリセットスイッチ(図示せず)が操作されたとき、制御部101のCPUは、内部メモリの作業領域確保等の初期設定動作を実行し、内部メモリに記憶した情報処理プログラムを実行状態として、制御部101としての機能を動作状態とした後(ステップS10)、情報配信システムSへ参加してステップS11に処理を移行する。
ステップS11の処理において、制御部101は、現在コンテンツ再生中又はコンテンツ再生待ちであるか否かを判定する。制御部101は、あるコンテンツ情報のコンテンツデータの最初のコンテンツファイルが再生されている又は再生されたときであって最後のコンテンツファイルの再生が終了していないときにコンテンツ再生中と判定し、あるコンテンツ情報のコンテンツデータの最初のコンテンツファイルがまだ再生されていないときにコンテンツ再生待ちと判定する。
この処理において、現在コンテンツ再生中又はコンテンツ再生待ちではないと判定すると(ステップS11:No)、制御部101は、コンテンツのリクエストがあるか否かを判定する(ステップS12)。例えば、制御部101は、表示部107にコンテンツカタログの情報を表示している状態で、入力部110への入力によりコンテンツの再生指示があったときにコンテンツのリクエストがあると判定する。
この処理において、コンテンツのリクエストがあると判定すると(ステップS12:Yes)、制御部101は、リクエストにかかるコンテンツのメタファイルを所持しているか否かを判定する(ステップS13)。このメタファイルは、コンテンツカタログにその第1ファイルIDが規定されており、検索メッセージ及びファイル要求メッセージにより第1のコンテンツファイルとして他の端末装置1等から取得するものである。
ステップS13の処理において、メタファイルを所持していないと判定すると(ステップS13:No)、制御部101は、ユーザネット9aへ検索メッセージを送信する(ステップS14)。すなわち、制御部101は、リクエストにかかるコンテンツの第1ファイルIDをコンテンツカタログから取り出し、この第1ファイルIDを宛先識別情報としてユーザネット9aの他の端末装置1へ検索メッセージを送信する。その後、制御部101は、リクエストタイマのカウントを開始する(ステップS15)。なお、上述のようにユーザネット9a用と分散プール9b用とでメタファイルは同一のものであるため、第1ファイルIDと第2ファイルIDとは同じIDを用いることができる。このようにすることで、メタファイルを検索するときに、ユーザネット9a用と分散プール9b用とで区別する必要が無くなる。
次に、制御部101は、コンテンツファイルを取得するためのタイマ監視処理を行なう(ステップS16)。このタイマ監視処理は、図12に示すステップS30〜S38の処理であり、後で詳述する。
制御部101は、ステップS12でリクエストされたコンテンツデータを再生するための再生処理を行なう(ステップS17)。この再生処理は、図13に示すステップS40,S41の処理であり、後で詳述する。
このステップS17の処理が終了したとき、ステップS12においてコンテンツのリクエストがないと判定したとき(ステップS12:No)、又はステップS13においてメタファイルを所持していると判定したとき(ステップS13:Yes)、制御部101は、他の端末装置1などから送信される各種メッセージを受信して処理するメッセージ受信処理を行なう(ステップS18)。このメッセージ受信処理は、図14に示すステップS45〜S56の処理であり、後で詳述する。
その後、制御部101は、コンテンツファイルを受信するファイル受信処理を行なう(ステップS19)。このファイル受信処理は、図15に示すステップS60〜S65の処理であり、後で詳述する。
ステップS11の処理において、現在コンテンツ再生中又はコンテンツ再生待ちであると判定すると(ステップS11:Yes)、制御部101は、分割コンテンツデータである第1のコンテンツファイルが必要であるか否かを判定する(ステップS20)。制御部101は、ステップS12の処理においてリクエストがあったと判定したコンテンツデータについて再生すべき分割コンテンツデータがあるか否かを判定する。
例えば、図9(a)に示すメタファイルを有するコンテンツデータがリクエストされているときに、ファイルID「3121」である第1のコンテンツファイルの分割コンテンツデータが再生中であるとき、制御部101は、再生すべき第1のコンテンツファイルがあると判定する。また、図9(a)に示すメタファイルを有する第1のコンテンツデータがリクエストされているときに、まだ第1のコンテンツファイルの分割コンテンツデータが再生されていない再生待ちの状態のとき、制御部101は、再生すべき第1のコンテンツファイルがあると判定する。
ステップS20の処理において、第1のコンテンツファイルが必要であると判定すると(ステップS20:Yes)、制御部101は、この第1のコンテンツファイルを第2記憶部103に保持しているか否かを判定する(ステップS21)。このとき、第1のコンテンツファイルを保持していないと判定すると(ステップS21:No)、制御部101は、リクエストタイマのカウントが稼働中か否かを判定する(ステップS22)。一方、ステップS20の処理において第1のコンテンツファイルが必要ではないと判定すると(ステップS20:No)、またステップS21の処理において、第1のコンテンツファイルを保持していると判定すると(ステップS21:Yes)、制御部101は、処理をステップS17に移行する。
ステップS22の処理において、制御部101は、リクエストタイマが稼働中であると判定すると(ステップS22:Yes)、処理をステップS16に移行し、一方でリクエストタイマのカウントが稼働中でないと判定すると(ステップS22:No)、処理をステップ14に移行する。
ステップS19の処理が終了したとき、制御部101は、終了指示を検知したか否かを判定する(ステップS23)。例えば、自装置1の電源がOFF状態へ移行したとき、制御部101は、終了指示を検知する。
ステップS23の処理において、終了指示を検知したと判定すると(ステップS23:Yes)、制御部101は、メイン処理を終了し、一方、終了指示を検知していないと判定すると(ステップS23:No)、制御部101は、ステップS11からの処理を繰り返す。
次に、ステップS16のタイマ監視処理について図12のフローチャートを参照して具体的に説明する。図12は端末装置1におけるタイマ監視処理のフローチャートである。
図12に示すように、タイマ監視処理を開始すると、制御部101は、リクエストタイマのカウントが指定時間を経過したか否かを判定する(ステップS30)。この処理において、リクエストタイマのカウントが指定時間を経過したと判定すると(ステップS30:Yes)、制御部101は、ユーザネット9a内のホルダ情報を受信しているか否かを判定する(ステップS31)。すなわち、制御部101は、ステップS14で送信した検索メッセージに対してユーザネット9a内のルートノードとなる端末装置1から第1のコンテンツファイルのコンテンツホルダの所在情報を受信しているか否かを判定する。
ステップS31の処理において、ユーザネット9a内のホルダ情報を受信していないと判定すると(ステップS31:No)、制御部101は、分散プール9b内のホルダ情報を受信しているか否かを判定する(ステップS32)。すなわち、制御部101は、後述するステップS33で送信した検索メッセージに対して分散プール9b内のルートノードとなる配信サーバ2から第2のコンテンツファイルのコンテンツホルダの所在情報(ホルダ情報)を受信しているか否かを判定する。この処理において、分散プール9b内のホルダ情報を受信していないと判定すると(ステップS32:No)、制御部101は、再生しようとするコンテンツのメタファイルに基づいてこの第1のコンテンツファイルに対応する第2のコンテンツファイルの第2ファイルIDを宛先識別情報として検索メッセージを送信し(ステップS33)、リクエストタイマのカウントを0から開始する(ステップS34)。このように、制御部101は、再生しようとするコンテンツのメタファイルに基づき、他の端末装置1から取得できない第1のコンテンツファイルに対応する第2のコンテンツファイルを配信サーバ2に要求して取得する第2取得手段として機能する。
ステップS31の処理においてユーザネット9a内のホルダ情報を受信していると判定したとき(ステップS31:Yes)、又はステップS32の処理において分散プール9b内のホルダ情報を配信サーバ2の所在情報を受信していると判定したとき(ステップS32:Yes)、制御部101は、リクエストタイマのカウントをリセットして0に戻す(ステップS35)。
次に、制御部101は、コンテンツホルダが端末装置1であるか否かを判定する(ステップS36)。この処理において、コンテンツホルダが端末装置1であると判定すると(ステップS36:Yes)、制御部101は、コンテンツホルダの端末装置1へ通信部111及びネットワーク8を介して第1のコンテンツファイルを要求し(ステップS37)、この第1のコンテンツファイルを後述するファイル受信処理により取得する。このように制御部101は、ネットワーク8を介して第1のコンテンツファイルを端末装置1へ要求し、第1のコンテンツファイルを取得する第1取得手段として機能する。
一方、コンテンツホルダが端末装置1ではないと判定すると(ステップS36:No)、制御部101は、コンテンツホルダの配信サーバ2へ通信部111及びネットワーク8を介して第2のコンテンツファイルを要求し(ステップS38)、この第2のコンテンツファイルを後述するファイル受信処理により取得する。このように制御部101は、他の端末装置から取得できない第1のコンテンツファイルに対応する第2のコンテンツファイルをネットワーク8を介して配信サーバ2へ要求し、第2のコンテンツファイルをネットワーク8を介して取得する第2取得手段として機能する。
ステップS34,S37,S38の処理が終了したとき、又はステップS30の処理においてリクエストタイマのカウントが指定時間を経過していないと判定すると(ステップS30:No)、制御部101は、このタイマ監視処理を終了する。
次に、ステップS17の再生処理について図13のフローチャートを参照して具体的に説明する。図13は端末装置1における再生処理のフローチャートである。
図13に示すように、再生処理を開始すると、制御部101は、リクエストしたコンテンツファイルを後述するファイル受信処理により受信しているか否かを判定する(ステップS40)。この処理において、リクエストしたコンテンツファイルを受信していると判定すると(ステップS40:Yes)、制御部101は、受信しているコンテンツファイルを再生手段により再生する(ステップS41)。すなわち、制御部101は、ネットワーク8及び通信部111を介して受信したコンテンツファイルの分割コンテンツデータをバッファメモリ104に順次蓄積しつつ、このバッファメモリからコンテンツファイルである分割コンテンツデータを取り出して、この分割コンテンツデータに応じて表示部107から画像を出力したりスピーカ109から音を出力したりする。このように制御部101は、上述した第1取得手段又は第2取得手段として機能して取得したコンテンツファイルに基づいてコンテンツデータを再生手段により再生する再生処理手段として機能する。
ステップS41の処理が終了したとき、又はステップS40の処理においてリクエストしたコンテンツファイルを受信していないと判定すると(ステップS40:No)、制御部101は、再生処理を終了する。
次に、ステップS18のメッセージ受信処理について図14のフローチャートを参照して具体的に説明する。図14は端末装置1におけるメッセージ受信処理のフローチャートである。
図14に示すように、メッセージ受信処理を開始すると、制御部101は、ネットワーク8及び通信部111を介して他の装置からメッセージを受信したか否かを判定する(ステップS45)。この処理において、メッセージを受信したと判定すると(ステップS45:Yes)、制御部101は、受信したメッセージが検索メッセージであるか否かを判定する(ステップS46)。
このステップS46の処理において、受信したメッセージが検索メッセージであるとき(ステップS46:Yes)、制御部101は、第1記憶部102に記憶したインデックステーブルにホルダ情報があるか否かを判定する(ステップS47)。すなわち、受信した検索メッセージの検索対象である第1のコンテンツファイルのコンテンツホルダの所在情報を第1記憶部102に記憶したインデックステーブルに保持しているか否かを判定する。この処理において、ホルダ情報があると判定すると(ステップS47:Yes)、制御部101は、検索メッセージを送信したリクエスタである端末装置1へ保持しているホルダ情報を通信部111及びネットワーク8を介して送信する(ステップS48)。
ステップS48の処理が終了したとき、又はステップS47の処理でホルダ情報がないと判定したとき(ステップS47:No)、制御部101は、自装置が検索メッセージの検索対象である第1のコンテンツファイルのルートノードであるか否かを判定し(ステップS49)、ルートノードであると判定すると(ステップS49:Yes)、そのままメッセージ受信処理を終了し、一方、ルートノードではないと判定すると(ステップS49:No)、この検索メッセージを第1記憶部102に記憶しているルーティングテーブルに基づいてDHTルーティングにより転送して(ステップS50)、メッセージ受信処理を終了する。
ステップS46の処理において、受信したメッセージが検索メッセージではないと判定すると(ステップS46:No)、制御部101は、受信したメッセージが登録メッセージであるか否かを判定する(ステップS51)。この処理において、受信したメッセージが登録メッセージであると判定すると(ステップS51:Yes)、制御部101は、登録メッセージに含まれるコンテンツホルダの所在情報や端末IDなどのインデックス情報を第1記憶部102のインデックステーブルに追加して(ステップS52)、処理をステップS49に移行する。
ステップS51の処理において、受信したメッセージが登録メッセージではないと判定すると(ステップS51:No)、制御部101は、受信したメッセージがファイル要求メッセージであるか否かを判定する(ステップS53)。この処理において、受信したメッセージがファイル要求メッセージであると判定すると(ステップS53:Yes)、制御部101は、ファイル要求メッセージで要求される第1のコンテンツファイルを第2記憶部103から取り出して、要求元の端末装置1へ送信して(ステップS54)、メッセージ受信処理を終了する。このように制御部101は、他の端末装置1からの要求に応じて、コンテンツ記憶手段である第2記憶部103に記憶した第1のコンテンツファイルを送信するコンテンツ送信手段として機能する。
ステップS53の処理おいて、受信したメッセージがファイル要求メッセージではないと判定すると(ステップS53:No)、制御部101は、受信したメッセージが事前PUSHメッセージであるか否かを判定する(ステップS55)。この処理において、受信したメッセージが事前PUSHメッセージであると判定すると(ステップS55:Yes)、制御部101は、事前PUSHメッセージで指定されたコンテンツファイルを通信部111及びネットワーク8を介して投入サーバ10へ要求して(ステップS56)、メッセージ受信処理を終了する。また、ステップS55の処理において、受信したメッセージが事前PUSHメッセージではないと判定したときも(ステップS55:No)、制御部101は、メッセージ受信処理を終了する。
ここで、投入サーバ10から受信する事前PUSHメッセージには、後述するように第1のコンテンツファイルを「分散プール9bから取得」するのか、「投入サーバ10から取得」するのかを指定する情報が含まれている。端末装置1の制御部101は、事前PUSHメッセージに「分散プール9bから取得」の情報が含まれているときには、分散プール9bの配信サーバ2に対して指定された第2のコンテンツファイルを要求し、ファイル受信処理により取得する。また、事前PUSHメッセージに「投入サーバ10から取得」の情報が含まれているときには、制御部101は、投入サーバ10に対して指定された第1のコンテンツファイルを要求して後述するファイル受信処理により取得する。このように制御部101は、投入サーバ10からコンテンツファイルの保持要求である事前PUSHメッセージを受信したとき、当該事前PUSHメッセージによる保持要求にかかる第1のコンテンツファイルを投入サーバ10又は第2のコンテンツファイルを配信サーバ2から取得する第3取得手段として機能する。
次に、ステップS19のファイル受信処理について図15のフローチャートを参照して具体的に説明する。図15は端末装置1におけるファイル受信処理のフローチャートである。
図15に示すように、ファイル受信処理を開始すると、制御部101は、ネットワーク8及び通信部111を介してコンテンツファイルを受信したか否かを判定する(ステップS60)。この処理において、コンテンツファイルを受信したと判定すると(ステップS60:Yes)、制御部は、送信元の装置が配信サーバ2であるか否かを判定する(ステップS61)。送信元の装置が配信サーバ2ではないとき、すなわち送信元の装置が端末装置1又は投入サーバ10であるとき(ステップS61:No)、制御部101は、受信した第1のコンテンツファイルの分割コンテンツデータを第2記憶部103に書き込む(ステップS62)。
一方、送信元の装置が配信サーバ2であるとき(ステップS61:Yes)、制御部101は、メタファイルを参照して受信した第2のコンテンツファイルから第1のコンテンツファイルを抽出し、ファイルIDを変換して、第2記憶部103に書き込む(ステップS63)。すなわち、制御部101は、取得したい第1のコンテンツファイルを受信した第2のコンテンツファイルからメタファイルに基づいて抽出する。そして、抽出したデータを第1のコンテンツファイルの分割コンテンツデータとし、第2のコンテンツファイルの第1ファイルIDから第1のコンテンツファイルの第2ファイルIDへファイルIDを変換して、第2記憶部103に書き込む。このように制御部101は、他の端末装置1から取得できない第1のコンテンツファイルを第2のコンテンツファイルから抽出して保持する第2取得手段として機能する。
ステップS62,S63の処理が終了したとき、制御部101は、第1のコンテンツファイルが完成したか否かを判定する(ステップS64)。すなわち、制御部101は、第2記憶部103に一つのコンテンツファイルについてデータ受信が終了したとき、第1のコンテンツファイルが完成したと判定する。この処理において、第1のコンテンツファイルが完成したと判定したとき(ステップS64:Yes)、制御部101は、この第1のコンテンツファイルに関する登録メッセージ生成し、自装置のルーティングテーブルに基づいてこの登録メッセージをユーザネット9a内の他の端末装置1へDHTルーティングにより送信する(ステップS65)。
ステップS60の処理においてコンテンツファイルを受信していないと判定したとき(ステップS60:No)、ステップS64の処理において第1のコンテンツファイルが完成していないと判定したとき(ステップS64:No)、又はステップS65の処理が終了したとき、制御部101は、このファイル受信処理を終了する。
ここで、ステップS60で受信したと判定したコンテンツファイルは、分割コンテンツデータ又はメタファイルであり、配信サーバ2から受信した第2のコンテンツファイルがメタファイルであるときには、コンテンツカタログを参照して、ファイルIDを変換する。すなわち、受信した第2のコンテンツファイルの第2ファイルIDを第1のコンテンツファイルの第1ファイルIDへ変換して第2のコンテンツファイルを第1のコンテンツファイルとして第2記憶部103に記憶する。このように、制御部101は、第1のコンテンツファイルと前記第2のコンテンツファイルの対応関係を定義した対応情報であるメタファイルを対応情報記憶手段である第2記憶部103に記憶する記憶処理手段として機能する。
以上のように、本第1実施形態における端末装置1では、所望の第1のコンテンツファイルに対応する第2のコンテンツファイルを取得し、この第2のコンテンツファイルから第1のコンテンツファイルを抽出することで、所望の第1のコンテンツファイルを取得するようにしている。
[1.6.配信サーバ2の具体的構成及び動作の説明]
次に、配信サーバ2の具体的構成及び動作の一例について説明する。
(配信サーバ2の構成について)
まず、配信サーバ2の具体的構成について説明する。図16は、本実施形態の情報配信システムSにおける配信サーバ2の概略構成を示す図である。
配信サーバ2は、一般のサーバコンピュータを適用可能であり、図16に示すように、配信サーバ2全体を制御する制御部201と、第2のコンテンツファイル(メタファイルを含む)を記憶するコンテンツ記憶領域を有する書き換え可能な記憶部202(コンテンツ記憶手段及び対応情報記憶手段の一例に相当)と、端末装置1,他の配信サーバ2及び投入サーバ10と通信するための通信部203とを備えており、これらはシステムバス210を介して相互に接続されている。
制御部201は、CPU(Central Processing Unit)、内部メモリなどから構成される。この内部メモリには、端末装置1,他の配信サーバ2及び投入サーバ10と間でのコンテンツファイルやその他のメッセージを送受信するための情報処理プログラムが格納されており、CPUは内部メモリに記憶されている情報処理プログラムを読み出して実行することによって、コンテンツ送信手段、記憶処理手段等として機能する。
なお、この情報処理プログラムは、例えば、ネットワーク8に接続された他のサーバ(例えば、投入サーバ10)から、通信部203を介して、制御部201の内部メモリにダウンロードされるようにしてもよく、又CD−ROM等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、制御部201の内部メモリに読み込まれるようにしてもよい。
(配信サーバ2の具体的動作について)
以上のように構成された配信サーバ2の動作を図面を参照して具体的に説明する。図17は本実施形態における配信サーバ2のメイン処理フローチャートである。なお、以下の各処理は、配信サーバ2の制御部201が上述した各手段等として機能することによって実行されるものである。
配信サーバ2においてメイン電源スイッチ(図示せず)がONされたときやリセットスイッチ(図示せず)が操作されたとき、図17に示すように、配信サーバ2は初期化動作を行なう(ステップS70)。具体的には、制御部201のCPUは、内部メモリの作業領域確保等の初期設定動作を実行し、内部メモリに記憶した情報処理プログラムを実行状態として、制御部201としての機能を動作状態とする。
次に、制御部201は、ネットワーク8及び通信部203を介してメッセージを受信したか否かを判定する(ステップS71)。この処理において、メッセージを受信したと判定すると(ステップS71:Yes)、制御部201は、そのメッセージが事前PUSHメッセージであるか否かを判定する(ステップS72)。
ステップS72の処理において、受信したメッセージが事前PUSHメッセージであると判定すると(ステップS72:Yes)、制御部201は、投入サーバ10へ通信部203及びネットワーク8を介して投入コンテンツ取得メッセージを送信する(ステップS80)。一方、受信したメッセージが事前PUSHメッセージではないと判定すると(ステップS72:No)、制御部201は、受信したメッセージが検索メッセージであるか否かを判定する(ステップS73)。この処理において、受信したメッセージが検索メッセージであると判定すると(ステップS73:Yes)、制御部201は、自装置の記憶部202のインデックステーブルにホルダ情報が記憶されているか否かを判定する(ステップS74)。制御部201は、自装置の記憶部202のインデックステーブルに受信した検索メッセージの検索対象の第2のコンテンツファイルを所持するコンテンツホルダである配信サーバ2の所在情報が記憶されているときに、インデックステーブルにホルダ情報が記憶されていると判定する。
この処理において、インデックステーブルにホルダ情報が記憶されていると判定すると(ステップS74)、制御部201は、記憶部202のインデックステーブルからホルダ情報(コンテンツホルダである配信サーバ2の所在情報)を取り出して検索メッセージの送信元装置であるリクエスタへ送信する(ステップS75)。
ステップS73の処理において受信したメッセージが検索メッセージではないと判定すると(ステップS73:No)、制御部201は、受信したメッセージが登録メッセージであるか否かを判定する(ステップS76)。このとき、受信したメッセージが登録メッセージであると判定すると(ステップS76:Yes)、制御部201は、受信した登録メッセージに含まれるホルダ情報を記憶部202のインデックステーブルに追加する(ステップS77)。一方、受信したメッセージが登録メッセージではないと判定すると(ステップS76:No)、制御部201は、受信したメッセージがファイル要求メッセージであるか否かを判定する(ステップS85)。このとき、受信したメッセージがファイル要求メッセージであると判定すると(ステップS85:Yes)、制御部201は、ファイル要求メッセージで指定された第2のコンテンツファイルを記憶部202から読み出し、この第2のコンテンツファイルを通信部203及びネットワーク8を介して送信する(ステップS86)。このように制御部101は、端末装置1が要求した第2のコンテンツファイルを送信するコンテンツ送信手段として機能する。
ステップS75,S77の処理が終了したとき、又はステップS74でホルダ情報がインデックステーブルにないと判定したとき(ステップS74:No)、制御部201は、自装置がルートノードであるか否かを判定する(ステップS78)。制御部201は、受信したメッセージの宛先識別情報がサーバIDに最も近いとき自装置がルートノードであると判定する。
自装置がルートノードではないと判定すると(ステップS78:No)、制御部201は、受信したメッセージを自装置の記憶部202に記憶したルーティングテーブルに基づいて通信部203及びネットワーク8を介して他の配信サーバ2へ転送する(ステップS79)。
ステップS71の処理において、メッセージを受信していないと判定すると(ステップS72:No)、制御部201は、コンテンツファイルのデータを受信したか否かを判定する(ステップS81)。この処理において、コンテンツファイルのデータを受信したと判定すると(ステッ81:Yes)、制御部201は、受信したデータを記憶部202に書き込む(ステップS82)。このように制御部101は、第2のコンテンツファイルをコンテンツ記憶手段としての記憶部202に保持させる記憶処理手段として機能する。
次に、制御部201は、ステップS82の処理においてデータを書き込むことによって記憶部202に第2のコンテンツファイルの全データが記憶され、記憶部202上で第2のコンテンツファイルが完成したか否かを判定する(ステップS83)。このとき、第2のコンテンツファイルが完成したと判定すると(ステップS83:Yes)、制御部201は、分散プール9b内に登録メッセージを送信する(ステップS84)。すなわち、制御部201は、完成した第2のコンテンツファイルの第2ファイルIDを宛先識別情報として自装置の所在情報等をホルダ情報とした登録メッセージを生成し、この登録メッセージを自装置の記憶部202に記憶したルーティングテーブルに基づいてDHTルーティングにより送信する。
ステップ79,S80,S86の処理が終了したとき、ステップS78の処理において自装置がルートノードであると判定したとき(ステップS78:Yes)、ステップS81でコンテンツファイルのデータを受信していないと判定したとき(ステップS81:No)、ステップS83の処理においてコンテンツファイルが完成していないと判定したとき(ステップS83:No)、ステップS85で受信したメッセージがファイル要求メッセージではないと判定したとき(ステップS85:No)、制御部201は、終了指示を検知したか否かを判定する(ステップS87)。例えば、自装置の電源がOFF状態へ移行したとき、制御部201は、終了指示を検知する。
ステップS87の処理において、終了指示を検知したと判定すると(ステップS87:Yes)、制御部201は、メイン処理を終了し、一方、終了指示を検知していないと判定すると(ステップS87:No)、制御部201は、ステップS71からの処理を繰り返す。
以上のように、本第1実施形態における配信サーバ2では、端末装置1や他の配信サーバ2との通信をDHTルーティングで行ない、端末装置1から要求される第2のコンテンツファイルを送信するようにしている。
[1.7.投入サーバ10の具体的構成及び動作の説明]
次に、投入サーバ10の具体的構成及び動作の一例について説明する。
(投入サーバ10の構成について)
まず、投入サーバ10の具体的構成について説明する。図18は、本実施形態の情報配信システムSにおける投入サーバ10の概略構成を示す図である。
投入サーバ10は、一般のサーバコンピュータを適用可能であり、図18に示すように、投入サーバ10全体を制御する制御部301と、コンテンツデータを記憶するコンテンツ記憶領域を有する書き換え可能な記憶部302と、端末装置1及び配信サーバ2と通信するための通信部303とを備えており、これらはシステムバス310を介して相互に接続されている。
制御部301は、CPU(Central Processing Unit)、内部メモリなどから構成される。この内部メモリには、端末装置1及び配信サーバ2と間でのコンテンツファイルやその他のメッセージを送受信するための情報処理プログラムが格納されており、CPUは内部メモリに記憶されている情報処理プログラムを読み出して実行することによって、第1投入手段、第2投入手段等として機能する。
なお、この情報処理プログラムは、例えば、ネットワーク8に接続された他のサーバから、通信部303を介して、制御部301の内部メモリにダウンロードされるようにしてもよく、又CD−ROM等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、制御部301の内部メモリに読み込まれるようにしてもよい。
(投入サーバ10の具体的動作について)
以上のように構成された投入サーバ10の動作の一例を図面を参照して具体的に説明する。図19は本実施形態における投入サーバ10のメイン処理フローチャートである。なお、以下の各処理は、投入サーバ10の制御部301が上述した各手段等として機能することによって実行されるものである。
投入サーバ10においてメイン電源スイッチ(図示せず)がONされたときやリセットスイッチ(図示せず)が操作されたとき、図19に示すように、投入サーバ10は初期化動作を行なう(ステップS90)。具体的には、制御部301のCPUは、内部メモリの作業領域確保等の初期設定動作を実行し、内部メモリに記憶した情報処理プログラムを実行状態として、制御部301としての機能を動作状態とする。
次に、制御部301は、コンテンツファイルの投入指示があるか否かを判定する(ステップS91)。ここで、制御部301は、ネットワーク8及び通信部303を介して管理装置(図示せず)から新規コンテンツの投入指示があったときにコンテンツファイルの投入指示があると判定する。なお、新規コンテンツの投入指示には、新規コンテンツのコンテンツデータを含む。
ステップS91の処理において、制御部301は、コンテンツファイルの投入指示があると判定したとき(ステップS91:Yes)、制御部301は、分散プール9b用の分割処理を行なう(ステップS92)。この処理は、図20のステップS100〜S105までの処理であり、後で詳述する。
次に、制御部301は、ユーザネット9a用の分割処理を行なう(ステップS93)。この処理は、図21のステップS110〜117までの処理であり、後で詳述する。
次に、制御部301は、投入指示のあったコンテンツのメタファイルを作成し(ステップS94)、このメタファイル及びステップS92の処理で新規に作成した第2のコンテンツファイルのそれぞれについての事前PUSHメッセージを生成し、任意に選択した複数の配信サーバ2へ通信部303及びネットワーク8を介して送信する(ステップS95)。また、同様に、メタファイル及びステップS93の処理で新規に作成した第2のコンテンツファイルのそれぞれについての事前PUSHメッセージを生成し、任意に選択した複数の端末装置1へ通信部303及びネットワーク8を介して送信する(ステップS96)
ステップS91の処理において、コンテンツの投入指示がないと判定すると(ステップS91:No)、制御部301は、投入コンテンツ取得メッセージを端末装置1又は配信サーバ2からネットワーク8及び通信部303を介して受信したか否かを判定する(ステップS97)。この処理において、投入コンテンツ取得メッセージを受信したと判定すると(ステップS97:Yes)、制御部301は、この投入コンテンツ取得メッセージにより要求されたコンテンツファイルである分割コンテンツデータ又はメタファイルを、通信部303及びネットワーク8を介して送信する(ステップS98)。
ここで、端末装置1からの投入コンテンツ取得メッセージは、第1のコンテンツファイルの送信要求であり、配信サーバ2からの投入コンテンツ取得メッセージは、第2のコンテンツファイルの送信要求である。このように制御部101は、第2のコンテンツファイルを配信サーバ2へ送信する第1投入手段と、第1のコンテンツファイルの保持を複数の端末装置1へ要求する第2投入手段として機能する。
ステップS96,S98の処理が終了したとき、或いは、ステップS97の処理において投入コンテンツ取得メッセージを受信していないと判定すると(ステップS97:No)、制御部301は、終了指示を検知したか否かを判定する(ステップS99)。例えば、自装置の電源がOFF状態へ移行したとき、制御部301は、終了指示を検知する。
ステップS99において、終了指示を検知したと判定すると(ステップS99:Yes)、制御部301は、メイン処理を終了し、一方、終了指示を検知していないと判定すると(ステップS99:No)、制御部301は、ステップS91からの処理を繰り返す。
次に、ステップS92の分散プール用分割処理について図20のフローチャートを参照して具体的に説明する。図20は投入サーバ10における分散プール用分割処理のフローチャートである。
図20に示すように、分散プール用分割処理を開始すると、制御部301は、管理装置からのコンテンツ投入指示に分散プール9b用の分割の有無の指示があるか否かを判定する(ステップS100)。この処理において、分散プール9b用の分割の有無の指示がないと判定すると(ステップS100:No)、制御部301は、分散プール9b用としては新規コンテンツデータの分割を行なわずに、新規コンテンツデータそのものを第2のコンテンツファイルとしてファイルIDを決定して(ステップS101)、分散プール9b用の分割処理を終了する。
ステップS100の処理において、分散プール9b用の分割の有無の指示があると判定すると(ステップS100:Yes)、制御部301は、コンテンツの投入指示に分散プール9b用の分割サイズの指定があるか否かを判定する(ステップS102)。この処理において、分散プール9b用の分割サイズの指定がないと判定すると(ステップS102:No)、分割サイズを記憶部302に予め記憶した標準サイズに決定し(ステップS103)、分散プール9b用の分割サイズの指定があると判定すると(ステップS102:Yes)、制御部301は、新規コンテンツデータの分割サイズを指定された分割サイズに決定する(ステップS104)。そして、分散プール9b用として新規コンテンツデータを指定された分割サイズで分割して、複数の分割コンテンツデータを生成し、各分割コンテンツデータをそれぞれ第2のコンテンツファイルとしてファイルIDを決定して(ステップS105)、分散プール9b用の分割処理を終了する。
次に、ステップS93のユーザネット用分割処理について図21のフローチャートを参照して具体的に説明する。図21は投入サーバ10におけるユーザネット用分割処理のフローチャートである。
図21に示すように、ユーザネット9a用の分割処理を開始すると、制御部301は、管理装置からのコンテンツ投入指示にユーザネット9a用の分割サイズの指定があるか否かを判定する(ステップS110)。この処理において、ユーザネット9a用の分割サイズの指定がないと判定すると(ステップS110:No)、分割サイズを記憶部302に予め記憶した標準サイズに決定し(ステップS111)、ユーザネット9a用の分割サイズの指定があると判定すると(ステップS111:Yes)、制御部301は、新規コンテンツデータの分割サイズを指定された分割サイズに決定する(ステップS112)。このときの新規コンテンツデータの分割サイズは、第2のコンテンツファイルのデータサイズよりも小さく設定される。
次に、制御部301は、管理装置からのコンテンツ投入指示に投入方法1が規定されているか否かを判定する(ステップS113)。この処理において、投入方法1が規定されていると判定すると(ステップS113:Yes)、制御部301は、ユーザネット9a用に指定された分割サイズで投入する新規コンテンツのデータを分割した分割コンテンツデータを生成し、各分割コンテンツデータを第2のコンテンツファイルとしてそれぞれに割り当てるファイルIDを決定し(ステップS114)、端末装置1へ送信するメッセージの内容を「投入サーバからから取得」として(ステップS115)、ユーザネット9a用の分割処理を終了する。
一方、管理装置からのコンテンツ投入指示に投入方法1が規定されていないと判定すると(ステップS113:No)、制御部301は、ユーザネット9a用に指定された分割サイズで投入する新規コンテンツのデータを分割して分割コンテンツデータを生成するとした場合の第2のコンテンツファイルである各分割コンテンツデータそれぞれに割り当てるファイルIDを決定し(ステップS116)、端末装置1へ送信するメッセージの内容を「分散プールから取得」として(ステップS117)、ユーザネット9a用の分割処理を終了する。
以上のように、本第1実施形態における投入サーバ10では、新規コンテンツデータを情報配信システムSに投入するとき、新規コンテンツデータをユーザネット9a用の第1のコンテンツファイルとしてユーザネット9aの端末装置1へ投入し、また、新規コンテンツデータを分散プール9b用の第2のコンテンツファイルとして分散プール9b内の配信サーバ2へ投入するようにしている。このとき、第1のコンテンツファイルのデータサイズを第2のコンテンツファイルのデータサイズよりも小さくするようにしており、各端末装置1のストレージを有効に活用すると共に、コンテンツファイルの改竄確認の時間を短縮することができ、しかも、各配信サーバ2におけるファイル管理を容易に行なうことができる。
また、新規コンテンツデータを情報配信システムSの端末装置1へ投入する方法として、投入サーバ10で新規コンテンツデータを分割して第1のコンテンツファイルを準備しておき、端末装置1への要求に応じてこの第1のコンテンツファイルを送信する投入方法1と、分散プール9bから第2のコンテンツファイルを端末装置1に取得させ、この第2のコンテンツファイルから第1のコンテンツファイルを抽出させる投入方法2とを選択可能としている。投入方法1を採用することで分散プール9bの負荷を軽減することができ、投入方法2を採用することで投入サーバ10の負荷を軽減することができる。
〔2.第2実施形態〕
上記第1実施形態では、端末装置1が所望の第1のコンテンツファイルを分散プール9bから取得する方法として、端末装置1が所望の第1のコンテンツファイルに対応する第2のコンテンツファイルを取得し、この第2のコンテンツファイルから第1のコンテンツファイルを抽出することで、所望の第1のコンテンツファイルを取得するようにした。
本第2実施形態では、端末装置1が所望の第1のコンテンツファイルを分散プール9bから取得する方法として、所望の第1のコンテンツファイルのデータ位置を指定してこの第1のコンテンツファイルに対応する第2のコンテンツファイルを保持する配信サーバ2に、第1のコンテンツファイルを抽出させて端末装置1へ送信させる。
すなわち、検索メッセージにより分散プール9bからホルダ情報を取得した端末装置1の制御部101は、図12に示すステップS38の処理において、取得しようとする第1のコンテンツファイルのデータ位置を含む第2のコンテンツファイル自体を要求するのではなく、取得しようとする第1のコンテンツファイルの送信を要求するために、第1のコンテンツファイルのデータ位置を含む第2のコンテンツファイルのファイルID、第1のコンテンツファイルのデータ位置及び自装置の所在情報を含むファイル要求メッセージを送信する。このファイル要求メッセージを受信したコンテンツホルダである配信サーバ2の制御部201は、ファイル要求メッセージで規定されるデータ位置の情報に基づいて第2のコンテンツファイルから第1のコンテンツファイルを抽出して端末装置1へ送信する。端末装置1の制御部101は、図15のステップS61〜S63に示すような処理、すなわち受信したコンテンツファイルの送信元が端末装置1であるか配信サーバ2であるかの区別をすることなく、配信サーバ2から第1のコンテンツファイルのデータを受信して第2記憶部103へ書き込み、第1のコンテンツファイルである分割コンテンツデータを再生する。
例えば、端末装置1の制御部101が再生しようとするコンテンツデータのメタファイルが図9に示すように規定され、取得しようとする第1のコンテンツファイルの第1ファイルIDが「2121」のとき、端末装置1の制御部101は、第2記憶部103に記憶したメタファイルから、第1ファイルID「2121」の第1のコンテンツファイルのデータ含む第2のコンテンツファイルの第2ファイルID「3030」を抽出する。そして、端末装置1の制御部101は、抽出した第2ファイルID「3030」を識別宛先情報として検索メッセージを分散プール9b内の任意の配信サーバ2に通信部203及びネットワーク8を介して送信する。この検索メッセージは、DHTルーティングにより分散プール9b内の第2ファイルID「3030」のルートノードである配信サーバ2に到達すると、ルートノードは、第2ファイルID「3030」のコンテンツホルダとなっている配信サーバ2の所在情報(ホルダ情報)を検索メッセージの送信元の端末装置1へ送信する。端末装置1の制御部101は、取得した所在情報のコンテンツホルダへ第1のコンテンツファイルの送信を要求するファイル要求メッセージを通信部203及びネットワーク8を介して送信する。このファイル要求メッセージには、第2ファイルID「3030」、第1ファイルIDが「2121」の第1のコンテンツファイルのデータ位置「501−750」、及び端末装置1の所在情報が含まれる。コンテンツホルダである配信サーバ2の制御部201は、ファイル要求メッセージを受信すると、第2ファイルID「3030」の第2のコンテンツファイルからデータ位置「501−750」のデータを取り出し、第1ファイルIDが「2121」の第1のコンテンツファイルとして端末装置1へ送信する。
このように、端末装置1の制御部101は、他の端末装置1から取得できない第1のコンテンツファイルに対応する第2のコンテンツファイルのデータ領域を指定して第1のコンテンツファイルの送信を配信サーバへ通信部203及びネットワーク8を介して要求する第2取得手段として機能する。また、配信サーバ2は、端末装置1が要求した第2のコンテンツファイルのデータから第1のコンテンツファイルを抽出して、当該第1のコンテンツファイルを送信するコンテンツ送信手段として機能する。
このように第2実施形態の情報配信システムSでは、端末装置1が分散プール9bの配信サーバ2から取得するコンテンツファイルを第1のコンテンツファイルとしているので、端末装置1と配信サーバ2との間で送受信するデータ量を低減させることができ、これによりネットワーク8の負荷を低減することができる。また、端末装置1は配信サーバ2から取得したコンテンツファイルをそのまま記憶することができるので、端末装置1の処理負荷の低減を図ることもできる。
〔3.第3実施形態〕
上記第2実施形態の端末装置では、分散プール9b内のコンテンツホルダへ送信するファイル要求メッセージとして、第2ファイルID、第1ファイルIDが「2121」の第1のコンテンツファイルのデータ位置「501−750」及び端末装置1の所在情報とを含むメッセージを生成して、分散プール9b内のコンテンツホルダに送信するようにした。
本第3実施形態では、分散プール9b内のコンテンツホルダへ送信するファイル要求メッセージとして、第2ファイルIDを含まず、第1ファイルIDと端末装置1の所在情報とを含むメッセージを生成して、分散プール9b内のコンテンツホルダに送信する。
すなわち、検索メッセージにより分散プール9bからホルダ情報を取得した端末装置1の制御部101は、図12に示すステップS38の処理において、取得しようとする第1のコンテンツファイルのデータ位置を含む第2のコンテンツファイル自体を要求するのではなく、取得しようとする第1のコンテンツファイルの送信を要求するために、取得しようとする第1のコンテンツファイルの第1ファイルIDとメタファイル、及び自装置の所在情報を含むファイル要求メッセージを送信する。このファイル要求メッセージを受信したコンテンツホルダである配信サーバ2の制御部201は、ファイル要求メッセージで規定される第1ファイルIDを有する第1のコンテンツファイルをメタファイルに基づいて記憶部202から取り出して端末装置1へ送信する。端末装置1の制御部101は、図15のステップS61〜S63に示すような処理、すなわち受信したコンテンツファイルの送信元が端末装置1であるか配信サーバ2であるかの区別をすることなく、配信サーバ2から第1のコンテンツファイルのデータを受信して第2記憶部103へ書き込み、第1のコンテンツファイルである分割コンテンツデータを再生する。
例えば、端末装置1の制御部101が再生しようとするコンテンツデータのメタファイルが図9に示すように規定され、取得しようとする第1のコンテンツファイルの第1ファイルIDが「2121」のとき、端末装置1の制御部101は、第2記憶部103に記憶したメタファイルから、第1ファイルID「2121」の第1のコンテンツファイルのデータ含む第2のコンテンツファイルの第2ファイルID「3030」を抽出する。そして、端末装置1の制御部101は、抽出した第2ファイルID「3030」を識別宛先情報として検索メッセージを分散プール9b内の任意の配信サーバ2に通信部203及びネットワーク8を介して送信する。この検索メッセージは、DHTルーティングにより分散プール9b内の第2ファイルID「3030」のルートノードである配信サーバ2に到達すると、ルートノードは、第2ファイルID「3030」のコンテンツホルダとなっている配信サーバ2の所在情報(ホルダ情報)を検索メッセージの送信元の端末装置1へ送信する。端末装置1の制御部101は、取得した所在情報のコンテンツホルダへ第1ファイルID「2121」の第1のコンテンツファイルの送信を要求するファイル要求メッセージを通信部203及びネットワーク8を介して送信する。このファイル要求メッセージには、第1ファイルIDが「2121」とメタファイル、及び端末装置1の所在情報が含まれる。コンテンツホルダである配信サーバ2の制御部201は、ファイル要求メッセージを受信すると、このメッセージに含まれるメタファイルから第1ファイルIDが「2121」に対応する第2のコンテンツファイルの第2ファイルIDが「3030」でありデータ位置「501−750」であると判定し、第2ファイルID「3030」の第2のコンテンツファイルからデータ位置「501−750」のデータを取り出し、第1ファイルIDが「2121」の第1のコンテンツファイルとして端末装置1へ送信する。
このように、端末装置1の制御部101は、他の端末装置1から取得できない第1のコンテンツファイルを配信サーバ2へ要求し、当該要求した第1のコンテンツファイルを配信サーバ2から取得する第2取得手段として機能する。また、配信サーバ2の制御部201は、対応情報であるメタファイルに基づき、端末装置1から要求された第1のコンテンツファイルを、この第1のコンテンツファイルに対応する第2のコンテンツファイルから抽出して、通信部203及びネットワーク8を介して要求元の端末装置1へ送信するコンテンツ送信手段として機能する。
以上のように、第3実施形態の情報配信システムSでは、端末装置1が分散プール9bの配信サーバ2から取得するコンテンツファイルを第1のコンテンツファイルとしているので、端末装置1と配信サーバ2との間で送受信するデータ量を低減させることができ、これによりネットワーク8の負荷を低減することができる。また、端末装置1は配信サーバ2から取得したコンテンツファイルをそのまま記憶することができるので、端末装置1の処理負荷の低減を図ることもできる。
〔4.第4実施形態〕
上記第3実施形態では、端末装置1から分散プール9bへ送信する検索メッセージの宛先識別情報として、第2ファイルIDを用いることとしたが、本第4実施形態の情報配信システムSでは、第1ファイルIDを用いることとしている。図22は第4実施形態の配信サーバのメイン処理フローチャートである。なお、図22におけるステップS70〜S74,S81〜S87の処理は図17で説明した処理と同じであることから個々では説明を省略する。
図22に示すように、配信サーバ2の制御部201は、検索メッセージを受信すると(ステップS73:Yes)、その検索メッセージが端末装置1から送信されたものであるか否かを判定する(ステップS200)。この処理において、端末装置1からの検索メッセージであると判定すると(ステップS200:Yes)、制御部201は、この検索メッセージの宛先識別情報を第2ファイルIDに付け替える(ステップS201)。すなわち、制御部201は、検索メッセージの宛先識別情報に対応する第1のコンテンツファイルを含む第2のコンテンツファイルの第2ファイルIDに検索メッセージの宛先識別情報とする。なお、第1のコンテンツファイルと第2のコンテンツファイルとの関係を定義するメタファイルは、配信サーバ2において全てのコンテンツのメタファイルを投入サーバ10から予め取得しておくようにしておく。このようにすることで、ユーザネット9aの端末装置1では、第1のコンテンツファイルと第2のコンテンツファイルとの関係を定義するメタファイルを所持することが不要となる(但し、コンテンツに含まれる複数の第1のコンテンツファイルの第1ファイルIDを定義するメタファイルは必要)。なお、端末装置1の制御部101が検索メッセージにメタファイルを含ませるようにしてもよい。
ステップS200の処理において検索メッセージが端末装置1からではないと判定したとき(ステップS200:No)、又はステップS201の処理が終了したとき、配信サーバ2の制御部201は、インデックステーブルにホルダ情報があるか否かを判定し(ステップS74)、ホルダ情報があるとき(ステップS74:Yes)、処理をステップS75’へ移行する。制御部201は、このステップS75’において、メタファイルに基づいて、ステップS201の処理で変換した第2ファイルIDをさらに第1ファイルIDに変換して、この第1ファイルIDをホルダ情報として検索メッセージを送信した端末装置1へ通信部203及びネットワーク8を介して返信する。
また、ステップS85の処理において、受信したメッセージがファイル要求メッセージであると判定したとき(ステップS85:Yes)、制御部201は、そのファイル要求メッセージが端末装置1から送信されたものであるか否かを判定する(ステップS202)。この処理において、端末装置1からのファイル要求メッセージであると判定すると(ステップS202:Yes)、制御部201は、記憶部202に記憶した第2のコンテンツファイルのうち、メタファイルに基づいて、第1ファイルIDに対応する第2ファイルIDを有する第2のコンテンツファイルを抽出し、第1ファイルIDの第1のコンテンツファイルとして、ファイル要求メッセージを送信した端末装置1へ通信部203及びネットワーク8を介して送信する(ステップS203)。
このように、端末装置1の制御部101は、他の端末装置1から取得できない第1のコンテンツファイルを配信サーバ2へ要求し、当該要求した第1のコンテンツファイルを配信サーバ2から取得する第2取得手段として機能する。また、配信サーバ2の制御部201は、対応情報であるメタファイルに基づき、端末装置1から要求された第1のコンテンツファイルを、この第1のコンテンツファイルに対応する第2のコンテンツファイルから抽出して、通信部203及びネットワーク8を介して要求元の端末装置1へ送信するコンテンツ送信手段として機能する。
以上のように、第4実施形態の情報配信システムSでは、端末装置1が分散プール9bの配信サーバ2への検索メッセージ及びファイル要求メッセージを第1ファイルIDで行なうこととしているので、第1のコンテンツファイルと第2のコンテンツファイルとの関係を定義するメタファイルを端末装置1で保持する必要がないことから記憶容量の低減を図ることができ、また端末装置1で第2ファイルIDへの変換処理も必要ないことから処理負荷の低減を図ることができる。
〔5.その他の実施形態〕
上述の実施形態においては、端末装置1の制御部101は、ユーザネット9a内の他の端末装置1から第1のコンテンツファイルが取得できないときに、分散プール9b内の配信サーバ2から第1のコンテンツファイル又はこの第1のコンテンツファイルに対応する第2のコンテンツファイルを取得するようにしたが、さらに、ユーザネット9a内の他の端末装置1から第1のコンテンツファイルのが分割してが取得できないときにおいて、分散プール9b内の配信サーバ2から第1のコンテンツファイルの一部又はこの第1のコンテンツファイルに対応する第2のコンテンツファイルを取得することにより第1のコンテンツファイルの一部を取得する。
例えば、端末装置1の制御部101は、その一部を取得しようとする第1のコンテンツファイルを含む第2のコンテンツファイルの第2ファイルID及び取得しようとしているデータ位置の範囲、及び自装置の所在情報を含むファイル要求メッセージを送信する。このファイル要求メッセージを受信したコンテンツホルダである配信サーバ2の制御部201は、ファイル要求メッセージで規定されるデータ位置の情報に基づいて第2のコンテンツファイルから指定されたデータ位置の範囲のデータを抽出して端末装置1へ送信する。
このように、端末装置1の制御部101を、メタファイルに基づき、他の端末装置1から一部が取得できない第1のコンテンツファイルに対応する第2のコンテンツファイルのデータ領域を指定して第1のコンテンツファイルの一部のデータの送信を配信サーバへ要求し、当該要求した第1のコンテンツファイルの一部を配信サーバ2から取得する第2取得手段として機能させる。また、配信サーバ2の制御部201は、端末装置1が要求した第2のコンテンツファイルのデータから第1のコンテンツファイルの一部を抽出して、端末装置1が指定したデータ領域のデータを送信するコンテンツ送信手段として機能させる。
このようにすることで、端末装置1は、ユーザネット9aのコンテンツホルダから第1のコンテンツファイルを取得しているときに、ネットワーク8の帯域等の問題により第1のコンテンツファイルの取得に時間がかかると判定して、分散プール9bから第1のコンテンツファイルの一部を取得することができ、コンテンツファイルの再生をよりスムーズに行なうことが可能となる。
また、上述の実施形態においては、第1のコンテンツファイルと第2のコンテンツファイルの対応関係を定義した対応情報をメタファイルとして説明したが、この対応情報をコンテンツカタログに含まれるようにしてもよい。
また、上述の実施形態においては、端末装置1が検索メッセージ、ファイル要求メッセージを送ることとしたが、ファイル要求メッセージを受けた配信サーバ2が分散プール9b内に検索メッセージを送信してコンテンツファイルを取得して、端末装置へ送信するようにしてもよい。
例えば、各配信サーバ2は、端末装置1から第1のコンテンツファイルの送信要求があったときに(図23に示す(2)参照。)、この第1のコンテンツファイルに対応する第2のコンテンツファイルを保持していないと判定すると、他の配信サーバ2に検索メッセージを送信する。そして、この検索メッセージによりコンテンツホルダの所在情報を取得し、当該コンテンツホルダに対して第2のコンテンツファイルの送信要求を行ない(図23に示す(3)参照。)、端末装置1の要求にかかる第2のコンテンツファイルを取得し(図23に示す(4)参照。)、当該第2のコンテンツファイルから第1のコンテンツファイルを抽出して要求元の端末装置1へ送信する(図23に示す(5)参照。)。なお、第2のコンテンツファイルから第1のコンテンツファイルを抽出することなく、第2のコンテンツファイルをそのまま要求元の端末装置1へ送信するようにしてもよい。
このように、配信サーバ2の制御部201は、端末装置1から要求された第2のコンテンツファイル又は第1のコンテンツファイルに対応する第2のコンテンツファイルがコンテンツ記憶手段である記憶部202にないとき、当該第2のコンテンツファイルを他の前記配信サーバから取得し、当該取得した第2のコンテンツファイルに対応する第1のコンテンツファイルを要求元の端末装置1へ送信するコンテンツ送信手段として機能させることができる。
また、上述の実施形態においては、端末装置1が検索メッセージ、ファイル要求メッセージを送ることとしたが、ファイル要求メッセージを受けた配信サーバ2が分散プール9b内の他の配信サーバ2にコンテンツファイルの送信依頼をして、依頼を受けた配信サーバ2が端末装置1へ送信するようにしてもよい。
例えば、各配信サーバ2は、端末装置1から第1のコンテンツファイルの送信要求があったときに(図24に示す(2)参照。)、この第1のコンテンツファイルに対応する第2のコンテンツファイルを保持していないと判定すると、他の配信サーバ2に検索メッセージを送信する。そして、この検索メッセージによりコンテンツホルダの所在情報を取得し、当該コンテンツホルダに対して第1のコンテンツファイルの送信要求を行ない(図24に示す(3)参照。)、このコンテンツホルダが、第2のコンテンツファイルから第1のコンテンツファイルを抽出して要求元の端末装置1へ送信する(図24に示す(5)参照。)。なお、第2のコンテンツファイルから第1のコンテンツファイルを抽出することなく、第2のコンテンツファイルをそのまま要求元の端末装置1へ送信するようにしてもよい。
このように、配信サーバ2の制御部201は、端末装置1から要求された第2のコンテンツファイル又は第1のコンテンツファイルに対応する第2のコンテンツファイルがコンテンツ記憶手段である記憶部202にないとき、自装置を宛先として或いは要求した端末装置1を宛先として第2のコンテンツファイルの送信を行なうように、他の配信サーバ2に対して要求するコンテンツ送信要求手段、また、他の配信サーバ2に対して要求に応じて、指定された端末装置1又は配信サーバ2を宛先として第1のコンテンツファイル又は第2のコンテンツファイルを送信するコンテンツ送信手段として機能させることができる。
本発明の一実施形態に係る情報配信システムにおける各端末装置、各配信サーバ及び投入サーバの接続態様の一例を示す図である。 ルーティングテーブルの一例である。 投入サーバからコンテンツファイルが投入される様子を示す図である。 コンテンツホルダの登録メッセージがDHTルーティングにより転送される様子を示す図である。 インデックステーブルの一例である。 コンテンツホルダがDHTルーティングにより検索される様子の一例を示す図である。 端末装置が分散プールの配信サーバからコンテンツファイルを取得する様子を示す図である。 投入サーバから投入される第1のコンテンツファイルと第2のコンテンツファイルを説明するための図である。 新規コンテンツファイルを保持させる配信サーバの決定方法の説明図である。 端末装置の概略構成の一例を示す図である。 端末装置におけるメイン処理フローチャートである。 端末装置におけるタイマ監視処理のフローチャートである。 端末装置における再生処理のフローチャートである。 端末装置におけるメッセージ受信処理のフローチャートである。 端末装置におけるファイル受信処理のフローチャートである。 配信サーバの概略構成の一例を示す図である。 配信サーバのメイン処理フローチャートである。 投入サーバの概略構成の一例を示す図である。 投入サーバのメイン処理フローチャートである。 投入サーバにおける分散プール用分割処理のフローチャートである。 投入サーバにおけるユーザネット用分割処理のフローチャートである。 他の配信サーバのメイン処理フローチャートである。 端末装置が分散プールの配信サーバからコンテンツファイルを取得する様子を示す図である。 端末装置が分散プールの配信サーバからコンテンツファイルを取得する様子を示す図である。
符号の説明
S 情報配信システム
1 端末装置
2 配信サーバ
10 投入サーバ
8 ネットワーク
9a ユーザネット
9b 分散プール
101 端末装置の制御部
102 端末装置の記憶部
111 端末装置の通信部
201 配信サーバの制御部
202 配信サーバの記憶部
203 配信サーバの通信部
301 投入サーバの制御部
302 投入サーバの記憶部
303 投入サーバの通信部

Claims (15)

  1. コンテンツデータを分割した分割コンテンツデータを、第1のコンテンツファイルとして分散保持する複数の端末装置と、
    前記コンテンツデータ又は当該コンテンツデータを分割した分割コンテンツデータを、第2のコンテンツファイルとして分散保持する複数の配信サーバと、を備え、
    前記端末装置は、
    他の複数の前記端末装置からネットワークを介して複数の前記第1のコンテンツファイルを取得する第1取得手段と、
    前記他の端末装置から取得できない第1のコンテンツファイル又は当該第1のコンテンツファイルに対応する第2のコンテンツファイルをネットワークを介して前記配信サーバから取得する第2取得手段と、
    前記第1取得手段又は前記第2取得手段で取得したコンテンツファイルに基づいて前記コンテンツデータを再生する再生手段と、を備え、
    前記端末装置が保持する前記第1のコンテンツファイルのデータサイズを、前記配信サーバが保持する前記第2のコンテンツファイルのデータサイズよりも小さくしたことを特徴とする情報配信システム。
  2. 前記配信サーバは、
    前記第1のコンテンツファイルと前記第2のコンテンツファイルの対応関係を定義した対応情報を記憶する対応情報記憶手段と、
    前記対応情報記憶手段に記憶した対応情報に基づき、前記端末装置から要求された第1のコンテンツファイルを、当該第1のコンテンツファイルに対応する前記第2のコンテンツファイルから抽出して送信するコンテンツ送信手段と、を備え、
    前記端末装置の前記第2取得手段は、
    前記他の端末装置から取得できない前記第1のコンテンツファイルを前記配信サーバへ要求し、当該要求した前記第1のコンテンツファイルを前記配信サーバから取得する
    ことを特徴とする請求項1に記載の情報配信システム。
  3. 前記配信サーバは、
    前記端末装置が要求した第2のコンテンツファイルを送信するコンテンツ送信手段を備え、
    前記端末装置は、
    前記第1のコンテンツファイルと前記第2のコンテンツファイルの対応関係を定義した対応情報を記憶する対応情報記憶手段を備え、
    前記端末装置の前記第2取得手段は、前記対応情報記憶手段に記憶した対応情報に基づき、前記他の端末装置から取得できない前記第1のコンテンツファイルに対応する第2のコンテンツファイルを前記配信サーバから取得し、前記他の端末装置から取得できない第1のコンテンツファイルを前記取得した第2のコンテンツファイルから抽出して保持する
    ことを特徴とする請求項1に記載の情報配信システム。
  4. 前記端末装置は、
    前記第1のコンテンツファイルと前記第2のコンテンツファイルとの対応関係を定義した対応情報を記憶する対応情報記憶手段を備え、
    前記端末装置の前記第2取得手段は、
    前記対応情報記憶手段に記憶した対応情報に基づき、前記他の端末装置から取得できない第1のコンテンツファイルに対応する第2のコンテンツファイルのデータ領域を指定して前記第1のコンテンツファイルの送信を前記配信サーバへ要求し、
    前記配信サーバは、前記端末装置が要求した第2のコンテンツファイルのデータから第1のコンテンツファイルを抽出して、当該第1のコンテンツファイルを送信するコンテンツ送信手段を備えた
    ことを特徴とする請求項1に記載の情報配信システム。
  5. 前記端末装置は、
    前記第1のコンテンツファイルと前記第2のコンテンツファイルとの対応関係を定義した対応情報を記憶する対応情報記憶手段を備え、
    前記端末装置の前記第2取得手段は、
    前記対応情報記憶手段に記憶した対応情報に基づき、前記他の端末装置から一部が取得できない第1のコンテンツファイルに対応する第2のコンテンツファイルのデータ領域を指定して前記第1のコンテンツファイルの一部のデータの送信を前記配信サーバへ要求し、
    前記配信サーバは、前記端末装置が要求した第2のコンテンツファイルのデータから第1のコンテンツファイルの一部を抽出して、前記端末装置が指定したデータ領域のデータを送信するコンテンツ送信手段を備えた
    ことを特徴とする請求項1に記載の情報配信システム。
  6. 前記配信サーバは、
    前記第2のコンテンツファイルを保持するコンテンツ記憶手段と、
    前記端末装置から要求された第2のコンテンツファイル又は第1のコンテンツファイルに対応する第2のコンテンツファイルが前記コンテンツ記憶手段にないとき、自装置或いは前記要求した端末装置を宛先として前記第2のコンテンツファイル又は当該第2のコンテンツファイルに対応する第1のコンテンツファイルの送信を行なうように、他の前記配信サーバに対して要求するコンテンツ送信要求手段と、を備えた
    ことを特徴とする請求項1〜5のいずれか1項に記載の情報配信システム。
  7. 前記配信サーバは、
    前記第2のコンテンツファイルを保持するコンテンツ記憶手段と、
    前記端末装置から要求された第2のコンテンツファイル又は第1のコンテンツファイルに対応する第2のコンテンツファイルが前記コンテンツ記憶手段にないとき、当該第2のコンテンツファイルを他の前記配信サーバから取得し、当該取得した第2のコンテンツファイルを要求元の端末装置へ送信するコンテンツ送信手段と、を備えた
    ことを特徴とする請求項1〜5のいずれか1項に記載の情報配信システム。
  8. 前記第2のコンテンツファイルを前記配信サーバへ送信する第1投入手段と、前記第1のコンテンツファイルの保持を前記複数の端末装置へ要求する第2投入手段と、を有する投入サーバを備え、
    前記端末装置は、
    前記投入サーバから前記第1のコンテンツファイルの保持要求があったとき、当該保持要求にかかる第1のコンテンツファイルを前記配信サーバから取得する第3取得手段と、
    前記配信サーバ及び他の前記端末装置から取得した第1のコンテンツファイルを記憶するコンテンツ記憶手段と、
    他の前記端末装置からの要求に応じて、前記コンテンツ記憶手段に記憶した前記第1のコンテンツファイルを送信するコンテンツ送信手段と、を備えた
    ことを特徴とする請求項1〜7のいずれか1項に記載の情報配信システム。
  9. 前記第2のコンテンツファイルを前記配信サーバへ送信する第1投入手段と、前記コンテンツデータ又は前記第2のコンテンツファイルを分割して前記第1のコンテンツファイルを生成し当該第1のコンテンツファイルを前記端末装置へ送信する第2投入手段と、を有する投入サーバを備え、
    前記端末装置は、
    前記投入サーバ、配信サーバ及び他の前記端末装置から取得した第1のコンテンツファイルを記憶するコンテンツ記憶手段と、
    他の前記端末装置からの要求に応じて、前記コンテンツ記憶手段に記憶した前記第1のコンテンツファイルを送信するコンテンツ送信手段と、を備えた
    ことを特徴とする請求項1〜7のいずれか1項に記載の情報配信システム。
  10. 請求項1〜9のいずれか1項に記載の情報配信システムにおける端末装置。
  11. 請求項2〜9のいずれか1項に記載の情報配信システムにおける配信サーバ。
  12. 請求項8又は請求項9に記載の情報配信システムにおける投入サーバ。
  13. コンピュータを、請求項1〜9のいずれか1項に記載の情報配信システムにおける端末装置の各手段として機能させることを特徴とするプログラム。
  14. コンピュータを、請求項2〜9のいずれか1項に記載の情報配信システムにおける配信サーバの各手段として機能させることを特徴とするプログラム。
  15. コンピュータを、請求項8又は請求項9に記載の情報配信システムにおける投入サーバの各手段として機能させることを特徴とするプログラム。
JP2008160149A 2008-06-19 2008-06-19 情報配信システム、同情報配信システムにおける端末装置、配信サーバ及び投入サーバ並びにそのプログラム Expired - Fee Related JP5071262B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008160149A JP5071262B2 (ja) 2008-06-19 2008-06-19 情報配信システム、同情報配信システムにおける端末装置、配信サーバ及び投入サーバ並びにそのプログラム
US12/457,631 US20090319612A1 (en) 2008-06-19 2009-06-17 Information distribution system, terminal apparatus, distribution server and introduction server in the information distribution system, and recording medium on which program thereof is recorded

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008160149A JP5071262B2 (ja) 2008-06-19 2008-06-19 情報配信システム、同情報配信システムにおける端末装置、配信サーバ及び投入サーバ並びにそのプログラム

Publications (2)

Publication Number Publication Date
JP2010004221A true JP2010004221A (ja) 2010-01-07
JP5071262B2 JP5071262B2 (ja) 2012-11-14

Family

ID=41432371

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008160149A Expired - Fee Related JP5071262B2 (ja) 2008-06-19 2008-06-19 情報配信システム、同情報配信システムにおける端末装置、配信サーバ及び投入サーバ並びにそのプログラム

Country Status (2)

Country Link
US (1) US20090319612A1 (ja)
JP (1) JP5071262B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020184805A (ja) * 2016-06-16 2020-11-12 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ビデオサービス品質の評価方法及び装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8583142B2 (en) * 2012-03-16 2013-11-12 Qualcomm Incorporated Selective distribution of location based service content to mobile devices

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003223384A (ja) * 2002-01-31 2003-08-08 Nippon Telegr & Teleph Corp <Ntt> ファイル配信システム
JP2008084089A (ja) * 2006-09-28 2008-04-10 Brother Ind Ltd ノード装置、情報分割保存システム、情報処理プログラム及び情報利用方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
US9167036B2 (en) * 2002-02-14 2015-10-20 Level 3 Communications, Llc Managed object replication and delivery
JP4442294B2 (ja) * 2004-04-09 2010-03-31 ソニー株式会社 コンテンツ再生装置,プログラム,コンテンツ再生制御方法
JP4626395B2 (ja) * 2004-08-30 2011-02-09 オンキヨー株式会社 センターサーバーおよびその動作方法
WO2006075424A1 (ja) * 2005-01-13 2006-07-20 Brother Kogyo Kabushiki Kaisha 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等
US20060212542A1 (en) * 2005-03-15 2006-09-21 1000 Oaks Hu Lian Technology Development Co., Ltd. Method and computer-readable medium for file downloading in a peer-to-peer network
US20060212584A1 (en) * 2005-03-15 2006-09-21 Qian Xiang Shi Ji (Beijing) Technology Development Co. Ltd. Method and system for accelerating downloading of web page content by a peer-to-peer network
US7890547B2 (en) * 2006-03-22 2011-02-15 Oy International Business Machines Ab Content delivery server
EP2835951B1 (en) * 2007-01-17 2018-08-22 Intertrust Technologies Corporation Methods, systems, and apparatus for fragmented file sharing
US20090168752A1 (en) * 2007-12-31 2009-07-02 Jonathan Segel Method and apparatus for distributing content

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003223384A (ja) * 2002-01-31 2003-08-08 Nippon Telegr & Teleph Corp <Ntt> ファイル配信システム
JP2008084089A (ja) * 2006-09-28 2008-04-10 Brother Ind Ltd ノード装置、情報分割保存システム、情報処理プログラム及び情報利用方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020184805A (ja) * 2016-06-16 2020-11-12 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ビデオサービス品質の評価方法及び装置
US11006185B2 (en) 2016-06-16 2021-05-11 Huawei Technologies Co., Ltd. Video service quality assessment method and apparatus
US11363346B2 (en) 2016-06-16 2022-06-14 Huawei Technologies Co., Ltd. Video service quality assessment method and apparatus

Also Published As

Publication number Publication date
US20090319612A1 (en) 2009-12-24
JP5071262B2 (ja) 2012-11-14

Similar Documents

Publication Publication Date Title
WO2008026400A1 (fr) Système de distribution de contenu, procédé de traitement d&#39;information dans un système de distribution de contenu, dispositif terminal et support d&#39;enregistrement incorporant son programme enregistré
EP2202642A1 (en) Content acquisition device, program, content acquisition method, and content acquisition system
JP2006277338A (ja) 情報処理装置及び蓄積装置、情報処理方法及び蓄積方法並びに情報処理用プログラム及び蓄積装置用プログラム
JP4998197B2 (ja) コンテンツ取得装置、プログラム、コンテンツ取得方法、およびコンテンツ取得システム
JP4696498B2 (ja) 情報配信システム、ノード装置、所在情報検索方法、及び所在情報検索処理プログラム等
WO2007116630A1 (ja) ノード装置、記憶制御プログラムを記録した記録媒体及び情報記憶方法
JP4765876B2 (ja) コンテンツ配信システムにおける端末装置及びその情報処理方法並びにプログラム
JP4877107B2 (ja) 情報配信システムにおける端末装置及び情報処理プログラム、並びに端末装置の情報処理方法
JP5071262B2 (ja) 情報配信システム、同情報配信システムにおける端末装置、配信サーバ及び投入サーバ並びにそのプログラム
JP5353567B2 (ja) 情報処理システム、情報処理装置、ノード装置及びプログラム並びに情報処理方法
WO2003100679A1 (fr) Procede et dispositif de distribution de contenus
JP4798146B2 (ja) 情報配信システムにおける端末装置及びプログラム、並びに再接続処理方法
JP2008294648A (ja) 情報配信システム、同システムに用いる端末装置及びプログラム、並びに情報処理方法
JP4797679B2 (ja) コンテンツ配信システム、コンテンツデータ管理装置及びその情報処理方法並びにそのプログラム
JP2008059398A (ja) 識別情報割当装置及びその情報処理方法並びにそのプログラム
JP5510376B2 (ja) 情報通信システム、情報処理装置および情報通信方法ならびにプログラム
JP5293457B2 (ja) 分散保存システム、ノード装置、並びにその処理方法及びプログラム
JP5412924B2 (ja) ノード装置、ノード処理プログラム及びコンテンツデータ削除方法
JP2011008657A (ja) コンテンツ配信システム、ノード装置、コンテンツ配信方法及びノードプログラム
JP4983183B2 (ja) ノード装置、情報分割保存システム、情報処理プログラム及び情報利用方法
JP5136213B2 (ja) 情報配信システム及び同システムにおける端末装置
JP5157770B2 (ja) ノード装置、プログラム及び保存指示方法
JP5234041B2 (ja) 情報通信システム、ノード装置および情報処理方法ならびにノード装置用プログラム
JP5293671B2 (ja) 情報通信システム、ノード装置および情報処理方法ならびにプログラム
JP5272975B2 (ja) 情報通信システム、提供装置及びそのプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110314

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees