JP2012078902A - 情報処理装置、情報処理方法及び情報処理プログラム - Google Patents

情報処理装置、情報処理方法及び情報処理プログラム Download PDF

Info

Publication number
JP2012078902A
JP2012078902A JP2010221002A JP2010221002A JP2012078902A JP 2012078902 A JP2012078902 A JP 2012078902A JP 2010221002 A JP2010221002 A JP 2010221002A JP 2010221002 A JP2010221002 A JP 2010221002A JP 2012078902 A JP2012078902 A JP 2012078902A
Authority
JP
Japan
Prior art keywords
information
content
domain
search
stored
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.)
Pending
Application number
JP2010221002A
Other languages
English (en)
Inventor
Taiki Mizutani
太紀 水谷
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 JP2010221002A priority Critical patent/JP2012078902A/ja
Priority to US13/231,392 priority patent/US20120084359A1/en
Publication of JP2012078902A publication Critical patent/JP2012078902A/ja
Pending legal-status Critical Current

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
    • 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] 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】DNSをCDNに適用したシステムにおいて、コンテンツの配信負荷を分散させる。
【解決手段】問い合わせ元の問い合わせ装置から取得された名前を示す名前情報を取得する取得手段と、取得手段により取得された名前情報が取得先の名前を示すコンテンツを、オーバーレイネットワークにより検索する検索手段と、検索手段による検索結果として、コンテンツを保存するノード装置の所在を示す所在情報を含む結果情報を、問い合わせ装置に送信する送信手段と、結果情報を記憶する記憶手段と、取得手段により名前情報が取得されたときに当該名前情報が示す名前に対応するコンテンツの結果情報が、記憶手段により記憶されているか否かを判定する判定手段と、を備え、送信手段は、判定手段により記憶されていると判定されたとき、結果情報を問い合わせ装置に送信し、検索手段は、判定手段により記憶されていないと判定されたとき、検索を行う。
【選択図】図2

Description

本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))方式の通信システムの技術分野に関する。
近年、端末装置に対して配信されるコンテンツを複数のサーバ装置に分散保存させ、コンテンツの配信負荷を複数のサーバ装置に分散させるコンテンツ分散保存システムが知られている。例えば、特許文献1には、分散キャッシュシステムに関する技術が記載されている。この分散キャッシュシステムにおいて、キャッシュサーバAは、クライアント端末から要求されたコンテンツを保存していない場合、オリジンサーバに向けてコンテンツの要求を送信する。キャッシュ制御サーバは、キャッシュサーバAからオリジンサーバへのコンテンツの要求を受信すると、要求されたコンテンツを保存しているキャッシュサーバBからキャッシュサーバAへコンテンツを転送させる制御を行う。
特開2007−66161号公報
ここで、DNS(Domain Name System)をCDN(Contents Delivery Network)に適用する場合を想定する。この場合、DNSサーバは、クライアントとなる装置からドメイン名の解決の要求を受けると、受信したドメイン名に対応して、例えば、コンテンツを保存するサーバ装置のIP(Internet Protocol)アドレスを返信する。
しかしながら、ドメイン名に対応するコンテンツを保存するサーバ装置の数が少ない場合、特定のドメインに対するコンテンツの要求が多いと、特定のサーバ装置に付加が集中する。そのため、コンテンツの配信負荷を分散させるというCDNの利点を十分に生かすことができない。
そこで、本発明は、以上の点に鑑みてなされたものである。本発明は、DNSをCDNに適用したシステムにおいて、コンテンツの配信負荷を分散させることができる情報処理装置、情報処理方法及び情報処理プログラムを提供することを目的とする。
上記課題を解決するために、請求項1に記載の発明は、ネットワークに接続される複数のノード装置によりオーバーレイネットワークが構成され、前記複数のノード装置にコンテンツが分散保存される情報通信システムにおいて、コンテンツの取得先のドメイン名を解決する情報処理装置であって、問い合わせ元の問い合わせ装置から問い合わせされたドンメイン名を示すドメイン情報を取得する取得手段と、前記取得手段により取得された前記ドメイン情報が示すドメイン名に対応するコンテンツを、前記オーバーレイネットワークにより検索する検索手段と、前記検索手段による検索結果として、前記ドメイン情報が示すドメイン名に対応するコンテンツを保存する前記ノード装置の所在を示す所在情報を、前記問い合わせ装置に送信する送信手段と、前記検索手段により検索された前記所在情報を、前記ドメイン情報と対応付けて記憶する記憶手段と、前記取得手段により前記ドメイン情報が取得されたときに、前記取得手段により取得された前記ドメイン情報に対応する前記所在情報が、前記記憶手段により記憶されているか否かを判定する判定手段と、を備え、前記送信手段は、前記判定手段により記憶されていると判定されたとき、前記取得された前記ドメイン情報に対応する前記所在情報を前記問い合わせ装置に送信し、前記検索手段は、前記判定手段により記憶されていないと判定されたとき、検索を行うことを特徴とする。
この発明によれば、情報処理装置が、問い合わせ装置から取得したドメイン情報が示すドメイン名に対応するコンテンツを、オーバーレイネットワークにより検索する。そして、情報処理装置が、検索結果として、ドメイン情報が示すドメイン名に対応するコンテンツを保存するノード装置の所在を示す所在情報を問い合わせ装置に送信する。そのため、コンテンツを取得する装置は、所在情報が所在を示すノード装置からコンテンツを取得する。従って、コンテンツが分散保存される複数のノード装置からコンテンツが取得されるので、コンテンツの配信負荷を分散させることができる。
請求項2に記載の発明は、前記ドメイン情報が示すドメイン名に対応するコンテンツを前記オーバーレイネットワークから検索する検索キーを示すキー情報であって、前記取得手段により取得された前記ドメイン情報に基づいて、前記検索キーを生成する生成手段を更に備え、前記生成手段により生成された前記キー情報に基づいて、前記検索手段は、前記キー情報に対応するコンテンツを前記オーバーレイネットワークから検索することを特徴とする。
この発明によれば、問い合わせ装置から取得されたドメイン情報から、コンテンツを検索することができる。
請求項3に記載の発明は、前記記憶手段に前記所在情報が記憶されてから所定の時間が経過したかを判定する第2判定手段を更に備え、前記送信手段は、前記第2判定手段により前記所定の時間が経過したと判定された前記所在情報を送信しないことを特徴とする。
この発明によれば、情報処理装置は、ドメイン情報を問い合わせ装置から取得すると、取得したドメイン情報に対応する所在情報のうち、記憶されてから所定の期間が経過した所在情報とは異なる所在情報を問い合わせ装置に送信する。そのため、新しい所在情報を問い合わせ装置に送信することができる。
請求項4に記載の発明は、前記取得手段により前記ドメイン情報が取得された回数を示す回数情報を、前記ドメイン情報と対応付けて記憶する第2記憶手段と、前記第2記憶手段により記憶された前記回数情報が示す回数が、予め定められた所定値を超えたかを判定する第3判定手段と、前記第3判定手段により、前記第2記憶手段により記憶された前記回数情報が示す回数が前記所定値を超えたと判定された場合には、前記回数情報に対応する前記ドメイン情報が示すドメイン名に対応するコンテンツを、前記複数のノード装置の何れかの前記ノード装置に保存させる指示を示す指示情報を、何れかの前記ノード装置に送信する第2送信手段と、を更に備えることを特徴とする。
この発明によれば、問い合わせの回数が所定値を超えたドメイン名に対応するコンテンツを保存するノード装置が増加する。そのため、コンテンツの要求に対する負荷を分散することができる。
請求項5に記載の発明は、コンテンツを保存する前記ノード装置の数を示す数情報を前記ドメイン情報ごとに取得する第2取得手段と、前記所定値を決定する決定手段であって、前記第2取得手段により取得された前記数情報が示す数が多い前記ドメイン情報であるほど、大きい前記所定値を決定する決定手段と、を更に備え、前記第3判定手段は、前記第2記憶手段により記憶された前記回数情報が示す回数が、前記決定手段により決定された前記所定値を超えたかを判定することを特徴とする。
この発明によれば、コンテンツを保存するノード装置を増加させる条件としての所定値が、ドメイン名に対応するコンテンツを現在保存しているノード装置の数が多いほど大きい値となる。そのため、コンテンツの要求に対する負荷分散を適切に行うことができる。
請求項6に記載の発明は、ネットワークに接続される複数のノード装置によりオーバーレイネットワークが構成され、前記複数のノード装置にコンテンツが分散保存される情報通信システムにおいて、コンテンツの取得先のドメイン名を解決する情報処理装置による情報処理方法であって、問い合わせ元の問い合わせ装置から問い合わせされたドンメイン名を示すドメイン情報を取得する取得ステップと、前記取得ステップにおいて取得された前記ドメイン情報が示すドメイン名に対応するコンテンツを、前記オーバーレイネットワークにより検索する検索ステップと、前記検索ステップによる検索結果として、前記ドメイン情報が示すドメイン名に対応するコンテンツを保存する前記ノード装置の所在を示す所在情報を、前記問い合わせ装置に送信する送信ステップと、前記検索ステップにおいて検索された前記所在情報を、前記ドメイン情報と対応付けて記憶手段に記憶させる記憶ステップと、前記取得ステップにおいて前記ドメイン情報が取得されたときに、前記取得ステップにおいて取得された前記ドメイン情報に対応する前記所在情報が、前記記憶手段により記憶されているか否かを判定する判定ステップと、を含み、前記送信ステップにおいては、前記判定ステップにおいて記憶されていると判定されたとき、前記取得された前記ドメイン情報に対応する前記所在情報を前記問い合わせ装置に送信し、前記検索ステップにおいては、前記判定ステップにおいて記憶されていないと判定されたとき、検索を行うことを特徴とする。
請求項7に記載の発明は、ネットワークに接続される複数のノード装置によりオーバーレイネットワークが構成され、前記複数のノード装置にコンテンツが分散保存される情報通信システムにおいて、コンテンツの取得先のドメイン名を解決する情報処理装置に含まれるコンピュータに、問い合わせ元の問い合わせ装置から問い合わせされたドンメイン名を示すドメイン情報を取得する取得ステップと、前記取得ステップにおいて取得された前記ドメイン情報が示すドメイン名に対応するコンテンツを、前記オーバーレイネットワークにより検索する検索ステップと、前記検索ステップによる検索結果として、前記ドメイン情報が示すドメイン名に対応するコンテンツを保存する前記ノード装置の所在を示す所在情報を、前記問い合わせ装置に送信する送信ステップと、前記検索ステップにおいて検索された前記所在情報を、前記ドメイン情報と対応付けて記憶手段に記憶させる記憶ステップと、前記取得ステップにおいて前記ドメイン情報が取得されたときに、前記取得ステップにおいて取得された前記ドメイン情報に対応する前記所在情報が、前記記憶手段により記憶されているか否かを判定する判定ステップと、を実行させ、前記送信ステップを、前記判定ステップにおいて記憶されていると判定されたとき、前記取得された前記ドメイン情報に対応する前記所在情報を前記問い合わせ装置に送信するように実行させ、前記検索ステップを、前記判定ステップにおいて記憶されていないと判定されたとき、検索を行うように実行させることを特徴とする。
本発明によれば、情報処理装置が、問い合わせ装置から取得したドメイン情報が示すドメイン名に対応するコンテンツを、オーバーレイネットワークにより検索する。そして、情報処理装置が、検索結果として、ドメイン情報が示すドメイン名に対応するコンテンツを問い合わせ装置に送信する。そのため、コンテンツを取得する装置は、所在情報が所在を示すノード装置からコンテンツを取得する。従って、コンテンツが分散保存される複数のノード装置からコンテンツが取得されるので、コンテンツの配信負荷を分散させることができる。
一実施形態に係るコンテンツ配信システムSの概要構成例を示す図である。 一実施形態に係るコンテンツ配信システムSにおける動作概要の一例を示す図である。 一実施形態に係るコンテンツ配信システムSにおける動作概要の一例を示す図である。 ルータRmの概要構成例を示す図である。 P2P用DNSサーバSPの概要構成例を示す図である。 一実施形態におけるルータRmの制御部11の処理例を示すフローチャートである。 一実施形態におけるP2P用DNSサーバSPの制御部21の処理例を示すフローチャートである。 (a)は、一実施形態におけるP2P用DNSサーバSPの制御部21のコンテンツキャッシュ追加指示処理における処理例を示すフローチャートであり、(b)は、一実施形態におけるP2P用DNSサーバSPの制御部21のコンテンツ保持ノード検索処理における処理例を示すフローチャートである。
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ配信システムに本発明を適用した場合の実施形態である。
[1.コンテンツ配信システムの概要構成]
始めに、図1を参照して、本実施形態に係るコンテンツ配信システムの概要構成について説明する。図1は、本実施形態に係るコンテンツ配信システムSの概要構成例を示す図である。コンテンツ配信システムSは、DNSを適用したCDNである。図1に示すように、コンテンツ配信システムSは、ネットワークNWに、配信センターネットワークNSと複数の拠点ネットワークNLm(m=1,2,3・・・の何れか)とが接続されている。このネットワークNW、配信センターネットワークNS、及び各拠点ネットワークNLmは、現実世界の通信ネットワークである。
ネットワークNWは、配信センターネットワークNS及び各拠点ネットワークNLmを相互接続するためのネットワークである。このネットワークNWは、例えば、WAN(Wide Area Network)等である。そして、ネットワークNWは、例えば、IX(Internet eXchange)、ISP(Internet Service Provider)、DSL(Digital Subscriber Line)回線事業者の装置、FTTH(Fiber To The Home)回線事業者の装置、及び通信回線等によって構築されている。なお、ネットワークNWは、コンテンツ配信システムS専用のネットワークであっても良い。
配信センターネットワークNSは、例えば、配信センターの敷地内に構築されたネットワークである。この配信センターネットワークNSは、例えば、LAN(Local Area Network)等により構築されている。配信センターネットワークNSには、センターサーバSSが接続されている。センターサーバSSは、コンテンツをP2PネットワークPWに投入する。コンテンツの投入とは、コンテンツを何れかのルータRmに保存させ、保存されたコンテンツを、各ルータRmが取得可能にすることである。
各拠点ネットワークNLmは、それぞれ拠点mの敷地内に構築されたネットワークである。拠点mは、例えば、企業、学校、病院、カラオケボックス、公共団体等の組織が活動とする拠点である。この拠点ネットワークNLmは、例えば、LAN等により構築されている。各拠点ネットワークNLmには、複数のユーザ端末Tm−n(n=1,2,3・・・の何れか)が接続されている。ユーザ端末Tm−nは、例えば、パーソナルコンピュータ等である。図1においては、一部の拠点ネットワークNLmの図示、及び、その拠点ネットワークNLmに接続されているユーザ端末Tm−nの図示を省略している。
ネットワークNWには、また、WebサーバSW、組織用DNSサーバSO及びP2P用DNSサーバSPが接続されている。WebサーバSWは、例えば、上述した拠点mを有する組織が運営するWebサイトの各種のコンテンツを、ユーザ端末Tm−nに配信するためのサーバ装置である。図1においては、WebサーバSWは1台のみ示されているが、WebサーバSWは、例えば、組織ごとに設置されている。そして、各WebサーバSWには、それぞれ個別にドメイン名が付与されている。
組織用DNSサーバSOは、ドメイン名を解決するDNSサーバである。組織用DNSサーバSOは、ユーザ端末Tm−nからIPアドレスの問い合わせを受け付ける。図1においては、組織用DNSサーバSOは1台のみ示されているが、組織用DNSサーバSOは、例えば、組織ごとに設置されても良い。なお、組織用DNSサーバSOは、本発明における問い合わせ装置の一例である。
P2P用DNSサーバSPも、ドメイン名を解決するDNSサーバである。P2P用DNSサーバSPは、組織用DNSサーバSOからIPアドレスの問い合わせを受け付ける。また、P2P用DNSサーバSPには、固有のドメイン名が割り当てられている。なお、P2P用DNSサーバSPは、本発明における情報処理装置の一例である。
配信センターネットワークNS及び拠点ネットワークNLmには、それぞれルータRmが定常的に接続されている。このルータRmは、配信センターネットワークNSまたは拠点ネットワークNLmと、ネットワークNWとを相互接続する。ルータRmは、例えば、ルータ機能を有するファイアーウォール、ブロードバンドルータ等である。なお、ルータRmは、本発明におけるノード装置の一例である。
コンテンツ配信システムSにおいては、コンテンツを配信するためのピアツーピアネットワークであるP2PネットワークPWが構築されている。図1に示すように、P2PネットワークPWは、ネットワークNW上に構築された論理的なオーバーレイネットワークである。このP2PネットワークPWは、コンテンツ配信システムSを構成する複数のルータRmとP2P用DNSサーバSPとの参加により形成されるネットワークである。以下の説明においては、P2PネットワークPWに接続するルータRm及びP2P用DNSサーバSPを、「ノード」と称する。なお、P2PネットワークPWへの参加とは、後述するDHT(Distributed Hash Table)ルーティングテーブルに基づいて他のノードとの間で各種メッセージを送受信できる状態にすることをいう。
P2PネットワークPWは、特定のアルゴリズム、例えば、DHTを利用したアルゴリズムにより実現される。そして、P2PネットワークPWに接続する各ノードには、所定桁数からなる固有の識別情報であるノードIDが割り当てられている。図1に示すP2PネットワークPWは、ノードIDのID空間をリング状のものとして示されている。そして、図1のリング状のID空間において示されている各ノードの位置は、それぞれのノードIDに対応している。
各ノードは、それぞれ、DHTを用いたルーティングテーブルを保持している。このルーティングテーブルを、「DHTルーティングテーブル」という。DHTルーティングテーブルは、P2PネットワークPW上における各種メッセージの転送先を規定している。具体的に、DHTルーティングテーブルには、ID空間内で適度に離れたノードのノードID、IPアドレス及びポート番号を含むノード情報が複数登録されている。なお、DHTルーティングテーブルを用いたDHTルーティングについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。
P2PネットワークPWにおいては、内容の異なる様々なコンテンツが複数のノードに分散して保存される。以下、コンテンツを保存するノードを、「コンテンツ保持ノード」という。各コンテンツには、それぞれコンテンツごとに固有の識別情報であるコンテンツIDが割り当てられている。なお、P2P用DNSサーバSPは、コンテンツを保存しなくても良い。
コンテンツには、P2PネットワークPWを介してコンテンツ配信システムSで主として配信される主コンテンツと、主コンテンツとは異なる副コンテンツと、がある。ここで、P2PネットワークPWを介して配信されるコンテンツとは、P2PネットワークPWに参加しているノード間で送受信されるコンテンツを意味する。例えば拠点Pnがカラオケ店舗である場合、主コンテンツとしては、カラオケデータが挙げられる。一方、副コンテンツとしては、例えば、WebサーバSWから配信されるコンテンツと同一のコンテンツが挙げられる。例えば、WebサーバSWの管理者が、WebサーバSWに配信対象のコンテンツを登録するとともに、P2PネットワークPWの管理者に、コンテンツの投入を依頼する。P2PネットワークPWの管理者は、センターサーバSSを操作することにより、依頼されたコンテンツをセンターサーバSSからP2PネットワークPWに投入させる。ユーザ端末Tm−nは、標準で利用するDNSサーバを組織用DNSサーバSOとすることにより、WebサーバSWからではなく、P2PネットワークPWからコンテンツを取得する。主コンテンツとして、カラオケデータが配信されている場合、本実施形態のコンテンツが副コンテンツとして扱われても良い。
また、副コンテンツとして、複数のコンテンツから構成される複合コンテンツが投入される場合がある。複合コンテンツとしては、例えば、WebページやRIA(Rich Internet Application)等がある。複合コンテンツを構成するコンテンツを、「通常コンテンツ」という。例えば、Webページは、HTML(HyperText Markup Language)文書、画像データ、動画データ、音声データ、テキストデータ等の通常コンテンツから構成される。通常コンテンツのコンテンツIDは、例えば、その通常コンテンツのURL(Uniform Resource Locator)を共通のハッシュ関数によりハッシュ化することにより生成される。複合コンテンツを構成する各ファイルのコンテンツIDは、例えば、複合コンテンツのメタファイルに記述されている。複合コンテンツのメタファイルとは、複合コンテンツを構成する各通常コンテンツをP2Pネットワークにより検索し取得するためのファイルである。また、複合コンテンツのメタファイルには、この複合コンテンツのコンテンツIDが付与される。コンテンツIDが付与された複合コンテンツのメタファイルは、1つのコンテンツとしてP2PネットワークPWに投入される。
各複合コンテンツや通常コンテンツは、その通常コンテンツの本来の配信元であるWebサーバSWのドメインと対応付けられている。ユーザ端末Tm−nは、コンテンツの本来の取得先であるWebサーバSWのドメイン名に基づいて、P2PネットワークPWからコンテンツを取得するルータRmのIPアドレスを取得する。WebサーバSWから配信されるコンテンツと同一のコンテンツのうち、どのコンテンツが実際にユーザ端末Tm−nから要求されるかは、ルータRm側からは分からない。そこで、各ルータRmは、どのコンテンツの要求にも対応することができるように、通常コンテンツを、ドメイン単位で保存する。
ドメイン単位のコンテンツの保存のため、各WebサーバSWのドメインには、それぞれドメインIDが割り当てられている。ドメインIDは、例えば、コンテンツIDを生成するときと同じハッシュ関数によりドメイン名をハッシュ化することにより生成される。ドメインIDに対応するドメインのWebサーバSWから配信される全てのコンテンツを1つのコンテンツとみなしたとき、ドメインIDは、その1つのコンテンツのコンテンツIDとみなすことができる。各ノードは、ドメインIDをコンテンツIDとして用いることにより、そのドメインIDに対応するドメインのWebサーバSWから配信されるコンテンツと同一のコンテンツを保存するコンテンツ保持ノードを検索することができる。なお、あるドメインのWebサーバSWから配信されるコンテンツと同一のコンテンツを、その「ドメインに対応するコンテンツ」という。ドメインIDは、本発明におけるキー情報の一例である。
複数のノードに分散保存されているコンテンツの所在は、インデックス情報として、コンテンツの所在を管理(記憶)しているノードにより記憶される。コンテンツの所在を管理しているノードを、「ルートノード」という。インデックス情報は、コンテンツを保存したノードのノード情報と、コンテンツのコンテンツIDと等の組を含む。このようなルートノードは、例えば、コンテンツIDと最も近いノードIDを有するノードであるように定められる。コンテンツIDと最も近いノードIDとは、例えば、IDの上位桁が最も多く一致するノードIDである。なお、インデックス情報は、本発明における結果情報の一例である。また、インデックス情報に含まれるルータRmのIPアドレスは、本発明における所在情報の一例である。
そして、あるノードが、あるコンテンツを取得しようとする場合、そのノードは、検索メッセージを送信する。以下、コンテンツを取得しようとするノードを、「ユーザノード」という。検索メッセージは、取得対象のコンテンツのコンテンツID及びユーザノードのIPアドレス等を含む。検索メッセージは、コンテンツ保持ノードを検索するためのメッセージである。ユーザノードは、ユーザノードが記憶するDHTルーティングテーブルに従って、他のノードに送信する。これにより、検索メッセージは、コンテンツIDをキーとするDHTルーティングによって最終的にルートノードに到着することになる。
検索メッセージを受信したルートノードは、これに含まれるコンテンツIDに対応するインデックス情報を、ユーザノードに送信する。ユーザノードは、受信したインデックス情報に含まれるIPアドレス及びポート番号に基づいて、何れかのコンテンツ保持ノードに、コンテンツIDを含むコンテンツ要求メッセージを送信する。コンテンツ保持ノードは、受信したコンテンツ要求メッセージに含まれるコンテンツIDに対応するコンテンツを、ユーザノードにアップロード(送信)する。こうして、ユーザノードは、コンテンツをダウンロード(取得)することができる。
ユーザノードは、コンテンツ保持ノードからコンテンツを取得して保存したとき、パブリッシュメッセージを送信する。パブリッシュメッセージは、コンテンツを保存したことをルートノードへ知らせるためのメッセージである。パブリッシュメッセージは、コンテンツのコンテンツID及びコンテンツを保存したノード装置のノード情報を含む。パブリッシュメッセージは、検索メッセージと同じように、コンテンツIDをキーとするDHTルーティングによってルートノードに到着することになる。ルートノードは、受信したパブリッシュメッセージに含まれるノード情報及びコンテンツIDの組を含むインデックス情報をインデックスキャッシュ領域に記憶する。こうして、上記ユーザノードは、新たに、上記コンテンツを保持するコンテンツ保持ノードとなる。
[2.ユーザ端末へのコンテンツの配信]
次に、図2を参照して、コンテンツ配信システムSにおけるユーザ端末Tm−nへのコンテンツの配信について説明する。図2は、本実施形態に係るコンテンツ配信システムSにおける動作概要の一例を示す図である。コンテンツ配信システムSにおいては、P2PネットワークPWを用いることにより、ユーザ端末Tm−nに対するコンテンツの配信負荷を分散させる。
ユーザ端末Tm−nは、ユーザによる操作等に基づいて、ダウンロードしようとするコンテンツのURLを取得する。URLを取得したユーザ端末Tm−nは、先ず、IPアドレスの問い合わせを行う。例えば、図2に示すように、ユーザ端末T1−1が、URLから、WebサーバSWのドメイン名を取得したとする。ユーザ端末T1−1は、取得したドメイン名を含む名前解決リクエストを、組織用DNSサーバSOに送信する(図2(1))。なお、名前解決リクエストに含まれるドメイン名を、「要求ドメイン名」という。要求ドメイン名は、本発明におけるドメイン情報の一例である。
組織用DNSサーバSOは、ドメイン名とIPアドレスとが対応付けて登録されているデータベースを保持している。通常、組織用DNSサーバSOは、受信した名前解決リクエストに含まれる要求ドメイン名に対応するIPアドレスを、ユーザ端末Tm−nに送信する。しかしながら、組織用DNSサーバSOのデータベースには、WebサーバSWのドメイン名がエイリアス名として登録されている。具体的に、WebサーバSWのドメイン名に対応付けて、P2P用DNSサーバのドメイン名が登録されている。これは、ユーザ端末Tm−nにP2PネットワークPWからコンテンツを取得させるための登録である。従って、組織用DNSサーバSOは、データベースからP2P用DNSサーバのドメイン名を取得する。更に、組織用DNSサーバSOは、データベースから、P2P用DNSサーバのドメイン名に対応するIPアドレスを取得する。そして、組織用DNSサーバSOは、取得したIPアドレスに基づいて、受信した名前解決リクエストをP2P用DNSサーバSPに転送する(図2(2))。
P2P用DNSサーバSPは、名前解決リクエストを受信すると、名前解決リクエストに含まれる要求ドメイン名に対応するコンテンツ保持ノードを検索する。ただし、P2P用DNSサーバSPが以前に同じドメイン名で検索を行ったのであれば、そのときの検索結果を利用することができる。そこで、P2P用DNSサーバSPは、要求ドメイン名のドメインIDに対応するインデックス情報が検索結果としてインデックスキャッシュ領域に記憶されているか否かを判定する(図2(3))。P2P用DNSサーバSPが有するインデックスキャッシュ領域を、特に「検索結果キャッシュ領域」という。ここで、P2P用DNSサーバSPは、要求ドメイン名に基づいて、ドメインIDを生成する。例えば、ドメイン名とドメインIDとを対応付けて示す情報として、ドメインリストがP2P用DNSサーバSPに記憶されている。そこで、P2P用DNSサーバSPは、ドメインリストに基づいて、ドメインIDを生成する。あるいは、P2P用DNSサーバSPは、要求ドメイン名のハッシュ値を計算してドメインIDを生成しても良い。
P2P用DNSサーバSPは、要求ドメイン名に対応するインデックス情報が検索結果キャッシュ領域に記憶されていないと判定した場合には、P2PネットワークPWにより要求ドメイン名に対応するコンテンツ保持ノードを検索する。具体的に、P2P用DNSサーバSPは、生成したドメインIDを含む検索メッセージを送信することにより、ルートノードとしてのルータRmからインデックス情報を取得する(図2(4))。そして、P2P用DNSサーバSPは、インデックス情報を検索結果キャッシュ領域に記憶させる(図2(5))。
P2P用DNSサーバSPは、検索結果キャッシュ領域に記憶されたインデックス情報に基づいて、何れかのコンテンツ保持ノードを選択する。そして、P2P用DNSサーバSPは、選択したコンテンツ保持ノードのIPアドレスを、組織用DNSサーバSOに返信する(図2(6))。ここで、P2P用DNSサーバSPは、各ルータRmごとに、今まで組織用DNSサーバSOにIPアドレスを返信した回数に基づいて、コンテンツ保持ノードを選択する。この回数を「返答回数」という。具体的に、P2P用DNSサーバSPは、返答回数が最も少ないコンテンツ保持ノード、例えば、ルータR2を選択する。これは、特定のルータRmに、ユーザ端末Tm−nからのコンテンツの要求の負荷を集中させないためである。
以降、P2P用DNSサーバSPは、WebサーバSWのドメイン名を含む名前解決リクエストを受信した場合には、検索結果キャッシュ領域に既に記憶されているインデックス情報に基づいて、IPアドレスを返信する。これにより、名前解決リクエストに対する応答時間を短くすることができる。ただし、インデックス情報が検索結果キャッシュ領域に記憶されてから長期間経過すると、インデックス情報が古くなり、インデックス情報が示すコンテンツ保持ノードと実際のコンテンツ保持ノードとの間に食い違いが生じる。そこで、P2P用DNSサーバSPは、インデックス情報が検索結果キャッシュ領域に記憶されてから所定期間が経過した後は、そのインデックス情報を用いない。具体的に、P2P用DNSサーバSPは、記憶されてから所定期間が経過したインデックス情報に対応する要求ドメイン名を含む名前解決リクエストを受信したときには、要求ドメイン名に対応するコンテンツ保持ノードを再度検索する。そのため、P2P用DNSサーバSPは、検索結果キャッシュ領域に記憶されてから所定期間が経過したインデックス情報を、検索結果キャッシュ領域から削除する。
なお、P2P用DNSサーバSPは、検索結果キャッシュ領域に記憶されてから所定期間が経過したインデックス情報を、検索結果キャッシュ領域から削除しなくても良い。例えば、P2P用DNSサーバSPは、記憶されてから所定期間が経過したインデックス情報を、一定期間、用いないようにしても良い。つまり、P2P用DNSサーバSPは、記憶されてから所定期間が経過したインデックス情報に含まれるIPアドレスを、一定期間、組織用DNSサーバSOに送信しないようにしても良い。そして、P2P用DNSサーバSPは、一定期間経過した後は、用いないと決定したインデックス情報を再度用いるようにしても良い。これにより、常に同じルータRmのIPアドレスが送信されることが防止される。この場合、P2P用DNSサーバSPは、例えば、インデックス情報に対応付けて、用いないことを示す情報と、用いない期間を示す情報と、を設定する。P2P用DNSサーバSPは、受信した名前解決リクエストに含まれる要求ドメイン名に対応するインデックス情報のうち、用いないと設定されたインデックス情報以外のインデックス情報に含まれるIPアドレスを、組織用DNSサーバに送信しても良い。また、P2P用DNSサーバSPは、要求ドメイン名に対応する全てのインデックス情報が、用いないと設定されたインデックス情報である場合、要求ドメイン名に対応するコンテンツ保持ノードを再度検索しても良い。そして、P2P用DNSサーバSPは、検索によって取得したインデックス情報を検索結果キャッシュ領域に記憶させ、このインデックス情報に含まれるIPアドレスを、組織用DNSサーバに送信しても良い。
ルータR2のIPアドレスを受信した組織用DNSサーバSOは、このIPアドレスをユーザ端末T1−1に転送する(図2(7))。そして、ユーザ端末T1−1は、受信したIPアドレスに基づいて、HTTP(HyperText Transfer Protocol)リクエストであるコンテンツ要求メッセージをルータR2にコンテンツに送信する(図2(8))。ルータR2は、受信したコンテンツ要求メッセージに対応するコンテンツを、ユーザ端末T1−1に送信する(図2(9))。
[3.コンテンツ保持ノードの追加]
次に、図3を参照して、コンテンツ配信システムSにおけるコンテンツ保持ノードの追加について説明する。図3は、本実施形態に係るコンテンツ配信システムSにおける動作概要の一例を示す図である。
上述したように、P2P用DNSサーバSPは、ユーザ端末Tm−nが取得しようとするコンテンツを保存するルータRmのIPアドレスを返信する。そのため、ルータRmは、ユーザ端末Tm−nからコンテンツの要求を受けたとき、要求されたコンテンツを保存するルータRmを検索して他のルータRmからコンテンツを取得する必要がない。しかしながら、特定のドメインに対応するコンテンツを保存するルータRmの台数が少ないと、ユーザ端末Tm−nからの要求が特定のルータRmに集中する。そこで、P2P用DNSサーバSPは、各ルータRmと連携して、コンテンツ保持ノードを追加する処理を行う。これにより、コンテンツ保持ノードが増加するので、ルータRmの負荷を分散される。
具体的に、P2P用DNSサーバSPは、ドメインごとに、名前解決リクエストを受信した回数をカウントしている。この回数を「リクエスト受信回数」という。そして、P2P用DNSサーバSPは、例えば、図3に示すように、WebサーバSWのドメインに対応するリクエスト受信回数が、上限値を超えたと判定したとする(図3(1A))。すると、P2P用DNSサーバSPは、WebサーバSWのドメインに対応するコンテンツのコンテンツ保持ノードを追加させる。リクエスト受信回数が上限値を超える場合には、特定のドメインに対応するコンテンツの要求が集中し、あるいは、集中しつつあるからである。ここで、P2P用DNSサーバSPは、例えば、WebサーバSWのドメインに対応するコンテンツの現在のコンテンツ保持ノードの台数に基づいて、上限値を決定しても良い。このコンテンツ保持ノードの台数を、「ホルダ数」という。具体的には、ホルダ数が多いほど、コンテンツの要求に対する負荷が分散される。そこで、P2P用DNSサーバSPは、ホルダ数が多いほど、上限値を大きい値にする。これにより、例えば、リクエスト受信回数の増加に従って、ホルダ数を徐々に増やしていくことができる。このように、コンテンツ保持ノードを追加する条件を適切な条件とすることができる。なお、リクエスト受信回数は、本発明における回数情報の一例である。また、このときの上限値は、本発明における所定値の一例である。また、ホルダ数は、本発明における数情報の一例である。
P2P用DNSサーバSPは、リクエスト受信回数が上限値を超えたと判定した場合、新たなコンテンツ保持ノードを決定する。具体的に、P2P用DNSサーバSPは、WebサーバSWのドメインに対応するコンテンツを保存していないルータRmのうち、返答回数が最も少ないルータRm、例えば、ルータR5を、新たなコンテンツ保持ノードと決定する(図3(2A))。そして、P2P用DNSサーバSPは、WebサーバSWのドメインのドメインIDを含むダウンロード指示メッセージを、ルータR5に送信する(図3(3A))。ダウンロード指示メッセージは、コンテンツ保持ノードを増加させる指示を示すメッセージである。具体的に、ダウンロード指示メッセージは、メッセージの送信先のルータRmに、指示したドメインに対応するコンテンツをダウンロードさせるメッセージである。なお、ダウンロード指示メッセージは、本発明における指示情報の一例である。
ルータR5は、受信したダウンロード指示メッセージに含まれるドメインIDに基づいて、WebサーバSWのドメインに対応するコンテンツのコンテンツ保持ノード、例えば、ルータR4から、そのドメインに対応するコンテンツを全部ダウンロードして保存する(図3(4A))。なお、ルータR5は、複数のコンテンツ保持ノードから、コンテンツを分散してダウンロードしても良い。ルータR5は、コンテンツを全部ダウンロードすると、ダウンロード指示メッセージに含まれるドメインIDを設定したパブリッシュメッセージを送信する。これにより、ルータR5は、WebサーバSWのドメインに対応するコンテンツの新たなコンテンツ保持ノードとなる。
一方、ルータRmも、ルータRm自身に対するコンテンツの要求の集中を判定して、コンテンツ保持ノードを追加させる。例えば、ルータR2は、ルータR2からコンテンツを取得するためにルータR2と現在接続中のユーザ端末Tm−nの台数が、予め設定された上限値を超えた場合に、コンテンツ保持ノードを追加させる。この台数を、「接続端末数」という。接続端末数は、あるルータRmにコンテンツ要求メッセージを送信してきたユーザ端末Tm−nのうち、このコンテンツ要求メッセージに対してそのルータRmがコンテンツのアップロードを完了していないユーザ端末Tm−nの台数を示す。
ルータR2は、接続端末数が上限値を超えたと判定した場合(図3(1B))、P2P用DNSサーバSPの場合と同様の方法で、例えば、ルータR3を、新たなコンテンツ保持ノードとして決定する(図3(2B))。そして、ルータR2は、ダウンロード指示メッセージをルータR3に送信する(図3(3B))。ルータR3も、ルータR5の場合と同様に、WebサーバSWのドメインに対応するコンテンツを全部取得する(図3(4B))。
ルータR2は、現在のコンテンツの要求の集中を解消するため、P2P用DNSサーバSPに、紹介拒否通知メッセージを送信する(図3(5B))。すると、P2P用DNSサーバSPは、組織用DNSサーバSOにIPアドレスを返信するルータRmの候補から、ルータR2を除外する。その後、ルータR2は、コンテンツの要求の集中が解消されたと判定すると、P2P用DNSサーバSPに、紹介拒否解除通知メッセージを送信する。すると、P2P用DNSサーバSPは、IPアドレスを返信するルータRmの候補から、ルータR2を除外しない。
[4.各装置の構成及び機能]
次に、図4及び図5を参照して、各装置の構成及び機能について説明する。図4は、ルータRmの概要構成例を示す図である。また、図5は、P2P用DNSサーバSPの概要構成例を示す図である。
[4.1 ルータの構成]
ルータRmは、図4に示すように、演算機能を有するCPU,作業用RAM,各種データ及びプログラムを記憶するROM等から構成された制御部11を備えている。また、ルータRmは、各種データ及び各種プログラム等を記憶保存するためのHD(ハードディスク)等から構成された記憶部12を備えている。更に、ルータRmは、ネットワークNW、配信センターネットワークNS、拠点ネットワークNLm等を通じて、他のルータRm、センターサーバSS、P2P用DNSサーバSP、ユーザ端末Tm−n等との間の情報の通信制御を行うための通信部13を備えている。制御部11、記憶部12及び通信部13はバス14を介して相互に接続されている。
記憶部12には、センターサーバSSやP2P用ドメインサーバSPのIPアドレス及びポート番号が記憶されている。また、記憶部12には、DHTルーティングテーブル、ネットワーク層レベルでのルーティングに用いられるルーティングテーブル、カタログ情報、インデックス情報、ドメインリスト、現在の接続端末数、接続端末数の上限値、現在の紹介状態が記憶されている。紹介状態は、ルータRmが、そのルータRm自身のIPアドレスをユーザ端末Tm−nに紹介することを拒否しているか否かを示す。P2P用DNSサーバSPから見ると、紹介状態は、そのルータRmのIPアドレスを組織用DNSサーバSOに返信することを拒否しているか否かを示す。この紹介状態には、紹介許可状態または紹介拒否状態が設定される。
カタログ情報には、P2PネットワークPWに投入されている各コンテンツの属性情報が記述されている。属性情報には、例えば、コンテンツID、コンテンツ名、ファイルサイズ、複合コンテンツフラグ等が含まれる。複合コンテンツフラグは、コンテンツが複合コンテンツであるか否かを示す情報である。複合コンテンツの属性情報には、その複合コンテンツに対応するドメインのドメインIDが含まれている。なお、通常コンテンツの属性情報にドメインIDが含まれていても良い。
また、記憶部12には、ダウンロードされたコンテンツが、コンテンツIDに対応付けて記憶されている。記憶部12には、コンテンツが記憶されるコンテンツキャッシュ領域として、固定キャッシュ領域と動的キャッシュ領域とが割り当てられている。各コンテンツキャッシュ領域には、コンテンツの最大記憶容量が設定されている。制御部11がコンテンツをコンテンツキャッシュ領域に新しく記憶しようとする場合に、コンテンツキャッシュ領域の容量が足りない場合がある。その場合、制御部11は、コンテンツキャッシュ領域に記憶されているコンテンツのうち、例えば、記憶された時期が最も古いコンテンツをコンテンツキャッシュ領域から削除する。こうして、制御部11は、新しいコンテンツを記憶するための容量を確保する。固定キャッシュ領域は、例えば、主コンテンツが記憶される領域であり、動的キャッシュ領域は、例えば、副コンテンツが記憶される領域である。主コンテンツは、例えば、各ルータRmが、コンテンツ配信システムS等に関する処理を実行するために必要なコンテンツである。コンテンツキャッシュ領域を1つの領域としたとする。その場合、ルータRmが、P2P用DNSサーバSPや他のルータRmからダウンロード指示メッセージを受信すると、副コンテンツを記憶するため、コンテンツキャッシュ領域から主コンテンツを削除しなければならない可能性がある。そこで、コンテンツキャッシュ領域を分けることにより、副コンテンツの記憶によって必要なコンテンツが削除されないようになっている。
センターサーバSSは、主コンテンツをルータRmにダウンロードさせるために、ルータRmにダウンロード指示メッセージを送信する場合がある。この場合、ダウンロード指示メッセージには、ダウンロードすべきコンテンツのコンテンツIDが含まれている。なお、固定キャッシュ領域には、ルータRmがセンターサーバSSからダウンロード指示メッセージを受信することによりダウンロードされた副コンテンツが記憶されても良い。このような副コンテンツは、例えば、全てのルータRmが保存すべき副コンテンツである。全てのルータRmが保存すべき副コンテンツは、例えば、新着のコンテンツ等、ユーザ端末Tm−nからの要求が集中すると予想されるコンテンツである。
更に、記憶部12には、DHTルーティングテーブルに基づいて他のノードとの間で各種メッセージを送受信するためのP2Pプログラムが記憶されている。なお、P2Pプログラムは、例えば、所定のサーバ装置等からダウンロードされるようにしても良い。また、P2Pプログラムは、例えば、DVD(Digital Versatile Disc)等の記録媒体に記録されて当該記録媒体からドライブを介して読み込まれるようにしても良い。
制御部11は、CPUが記憶部12等に記憶されたプログラムを読み出して実行することにより、ルータRmの各部を統括制御する。
[4.2 P2P用DNSサーバの構成]
P2P用DNSサーバSPは、図5に示すように、演算機能を有するCPU,作業用RAM,各種データ及びプログラムを記憶するROM等から構成された制御部21を備えている。また、P2P用DNSサーバSPは、各種データ及び各種プログラム等を記憶保存するためのHD等から構成された記憶部22を備えている。更に、P2P用DNSサーバSPは、ネットワークNW等を通じてルータRmや組織用DNSサーバSO等との間の情報の通信制御を行うための通信部23を備えている。また更に、P2P用DNSサーバSPは、各種情報を表示するCRT,液晶ディスプレイ等の表示部24を備えている。更にまた、P2P用DNSサーバSPは、オペレータからの指示を受け付けこの指示に応じた指示信号を制御部21に対して与える入力部(例えば、キーボード、マウス等)25を備えている。そして、制御部21、記憶部22、通信部23、表示部24、及び入力部25はバス26を介して相互に接続されている。ここで、記憶部22は、本発明における記憶手段及び第2記憶手段の一例である。
記憶部22には、DHTルーティングテーブル、カタログ情報、ドメインリスト、リクエスト受信リスト、リクエスト返答リストが記憶されている。ドメインリストは、ドメイン名と、ドメインIDとを対応付けて示す情報である。リクエスト受信リストは、ドメイン名と、リクエスト受信回数と、ホルダ数とを対応付けて示す情報である。リクエスト返答リストは、ルータRmのIPアドレスと、返答回数と、紹介状態とを対応付けて示す情報である。また、記憶部22には、検索結果キャッシュ領域が割り当てられている。また、記憶部22には、検索結果記憶時間が記憶されている。検索結果記憶時間は、検索結果キャッシュ領域にインデックス情報を記憶させておくことができる最長の時間を示す。
更に、記憶部22には、DNSサーバとしての処理を実行するためのDNSサーバプログラムやP2Pプログラムが記憶されている。なお、DNSサーバプログラム及びP2Pプログラムは、例えば、ネットワークNW上の所定のサーバからダウンロードされるようにしても良い。また、DNSサーバプログラム及びP2Pプログラムは、例えば、DVD(Digital Versatile Disc)等の記録媒体に記録されてこの記録媒体のドライブを介して読み込まれるようにしても良い。DNSサーバプログラム及びP2Pプログラムは、本発明における情報処理プログラムの一例である。
制御部21は、CPUが記憶部22等に記憶されたDNSサーバプログラムやP2Pプログラム等のプログラムを読み出して実行することにより、検索手段、送信手段、判定手段、生成手段、第2判定手段、削除手段、第3判定手段、第2送信手段、第2取得手段及び決定手段として機能する。
[5.コンテンツ配信システムの動作]
次に、図6乃至図8を参照して、本実施形態におけるコンテンツ配信システムSの動作について説明する。図6は、本実施形態におけるルータRmの制御部11の処理例を示すフローチャートである。
図6に示す処理は、例えば、ルータRmのP2Pプログラムが起動したときに開始される。先ず、制御部11は、初期化処理の一環として、接続端末数を0に設定し、紹介状態を紹介許可状態に設定する。次いで、制御部11は、コンテンツ要求メッセージを受信したか否かを判定する(ステップS1)。このとき、制御部11は、コンテンツ要求メッセージを受信しなかったと判定した場合には(ステップS1:NO)、ステップS14に移行する。
一方、制御部11は、コンテンツ要求メッセージを受信したと判定した場合には(ステップS1:YES)、P2Pネットワーク外からのコンテンツ要求メッセージを受信したか否かを判定する(ステップS2)。P2Pネットワーク外からのコンテンツ要求メッセージは、ユーザ端末Tm−nから送信されるHTTPリクエストである。一方、P2Pネットワーク内からのコンテンツ要求メッセージは、他のルータRmから送信されるピアツーピア専用のプロトコルのメッセージである。従って、両者はプロトコルが互いに異なるため、制御部11は、コンテンツ要求メッセージを受信したときのポート番号から、どこからのコンテンツ要求メッセージであるかを判断することができる。制御部11は、P2Pネットワーク内からのコンテンツ要求メッセージであると判定した場合には(ステップS2:NO)、コンテンツ要求メッセージの送信元のルータRmへのコンテンツのアップロードを開始する(ステップS3)。次いで、制御部11は、ステップS14に移行する。
一方、制御部11は、P2Pネットワーク外からのコンテンツ要求メッセージであると判定した場合には(ステップS2:YES)、要求されたコンテンツをコンテンツキャッシュ領域から検索する。P2Pネットワーク外からのコンテンツ要求メッセージには、要求されたコンテンツのURLが含まれている。そこで、制御部11は、このURLをハッシュ化して、コンテンツIDを生成する。そして、制御部11は、生成したコンテンツIDに対応するコンテンツを、固定キャッシュ領域及び動的キャッシュ領域から検索する。
次いで、制御部11は、検索の結果、要求されたコンテンツがコンテンツキャッシュ領域に記憶されているか否かを判定する(ステップS5)。このとき、制御部11は、要求されたコンテンツが記憶されていないと判定した場合には(ステップS5:NO)、コンテンツ要求メッセージの送信元のユーザ端末Tm−nにエラーメッセージを送信して、ステップS14に移行する。
一方、制御部11は、要求されたコンテンツが記憶されていると判定した場合には(ステップS5:YES)、接続端末数に1を加算する(ステップS6)。次いで、制御部11は、接続端末数が上限値を超えているか否かを判定する(ステップS7)。このとき、制御部11は、接続端末数が上限値を超えていないと判定した場合には(ステップS7:NO)、コンテンツのアップロードを開始する(ステップS13)。具体的に、制御部11は、生成したコンテンツIDに対応するコンテンツをコンテンツキャッシュ領域から取得する。そして、制御部11は、コンテンツ要求メッセージの送信元のユーザ端末Tm−nへのコンテンツのアップロードを開始する。次いで、制御部11は、ステップS14に移行する。
一方、制御部11は、接続端末数が上限値を超えていると判定した場合には(ステップS7:YES)、P2P用DNSサーバSPからリクエスト返答リストを取得する(ステップS8)。具体的に、制御部11は、リクエスト返答リスト要求メッセージをP2P用DNSサーバSPに送信する。そして制御部11は、P2P用DNSサーバSPから送信されてきたリクエスト返答リストを受信する。
次いで、制御部11は、ルータRm自身に現在接続している各ユーザ端末Tm−nからのコンテンツの要求が最も多いドメインを選択する(ステップS9)。具体的に、制御部11は、現在接続している各ユーザ端末Tm−nから受信しているコンテンツ要求メッセージからドメイン名を取得する。次いで、制御部11は、コンテンツ要求メッセージから取得されたドメイン名の個数を、ドメイン名ごとに集計する。そして、個数が最も多いドメイン名を選択する。次いで、制御部11は、後述するコンテンツキャッシュ追加指示処理を実行する(ステップS10)。このとき、制御部11は、引数として、選択したドメイン名を引き渡す。
次いで、制御部11は、P2P用DNSサーバSPに、紹介拒否通知メッセージを送信する(ステップS11)。次いで、制御部11は、紹介状態を紹介拒否状態に設定する(ステップS12)。次いで、制御部11は、ユーザ端末Tm−nへのコンテンツのアップロードを開始して(ステップS13)、ステップS14に移行する。
ステップS14において、制御部11は、コンテンツのアップロードを開始したもののうち、アップロードが完了したものがあるか否かを判定する。このとき、制御部11は、アップロードが完了したものがないと判定した場合には(ステップS14:NO)、ステップS21に移行する。一方、制御部11は、アップロードが完了したものがあると判定した場合には(ステップS14:YES)、完了したアップロードが、P2PネットワークPW外へのアップロードであるか否かを判定する(ステップS15)。このとき、制御部11は、完了したアップロードが、P2PネットワークPW内へのアップロードであると判定した場合には(ステップS15:NO)、ステップS21に移行する。
一方、制御部11は、完了したアップロードがP2PネットワークPW外へのアップロードであると判定した場合には(ステップS15:YES)、接続端末数から1を減算する(ステップS16)。次いで、制御部11は、接続端末数が0であるか否かを判定する(ステップS17)。このとき、制御部11は、接続端末数が0ではないと判定した場合には(ステップS17:NO)、ステップS21に移行する。一方、制御部11は、接続端末数が0であると判定した場合には(ステップS17:YES)、紹介状態が紹介拒否状態であるか否かを判定する(ステップS18)。このとき、制御部11は、紹介状態が紹介許可状態であると判定した場合には(ステップS18:NO)、ステップS21に移行する。
一方、制御部11は、紹介状態が紹介拒否状態であると判定した場合には(ステップS18:YES)、P2P用DNSサーバSPに、紹介拒否解除通知メッセージを送信する(ステップS19)。次いで、制御部11は、紹介状態を紹介許可状態に設定して(ステップS20)、ステップS21に移行する。
ステップS21において、制御部11は、ダウンロード指示メッセージを受信したか否かを判定する。このとき、制御部11は、ダウンロード指示メッセージを受信したと判定した場合には(ステップS21:YES)、指示されたコンテンツをダウンロードする(ステップS22)。具体的に、制御部11は、センターサーバSSからダウンロード指示メッセージを受信した場合には、ダウンロード指示メッセージからコンテンツIDを取得する。そして、制御部11は、コンテンツIDを含む検索メッセージを送信することにより、コンテンツ保持ノードを検索する。そして、制御部11は、コンテンツ保持ノードにコンテンツ要求メッセージを送信して、コンテンツをダウンロードする。
一方、制御部11は、P2P用DNSサーバSPまたは他のルータRmからダウンロード指示メッセージを受信した場合には、ダウンロード指示メッセージからドメインIDを取得する。次いで、制御部11は、ドメインIDに対応する複合コンテンツをカタログ情報から検索する。次いで、制御部11は、検索された複合コンテンツのコンテンツIDに基づいて、複合コンテンツのメタファイルを他のルータRmから取得する。メタファイルの取得方法は、コンテンツの場合と同様である。次いで、制御部11は、取得したメタファイルから、複合コンテンツを構成する各通常コンテンツのコンテンツIDを取得する。次いで、制御部11は、取得したコンテンツIDに基づいて、通常コンテンツを他のルータRmから取得する。制御部11は、このような処理を、ドメインIDに対応する全ての複合コンテンツについて実行する。そして、制御部11は、ドメインIDに対応するコンテンツを全部取得すると、ドメインIDを含むパブリッシュメッセージを送信する。
制御部11は、コンテンツのダウンロードが完了すると、受信したダウンロード指示メッセージが、センターサーバSSからのメッセージであるか否かを判定する(ステップS23)。このとき、制御部11は、センターサーバSSからのメッセージであると判定した場合には(ステップS23:YES)、ダウンロードしたコンテンツを固定キャッシュ領域に記憶させる(ステップS24)。一方、制御部11は、センターサーバSSからのメッセージではないと判定した場合には(ステップS23:NO)、ダウンロードしたコンテンツを動的キャッシュ領域に記憶させる(ステップS25)。
制御部11は、ステップS24またはS25の処理を終えると、管理者から、P2PネットワークNWから離脱指示があったか否かを判定する(ステップS26)。このとき、制御部11は、離脱指示がなかったと判定した場合には(ステップS26:NO)、ステップS1に移行する。一方、制御部11は、離脱指示があったと判定した場合には(ステップS26:YES)、図6に示す処理を終了させる。
図7は、本実施形態におけるP2P用DNSサーバSPの制御部21の処理例を示すフローチャートである。
図7に示す処理は、例えば、P2P用DNSサーバSPの電源がONとされたときに開始される。先ず、制御部21は、初期化処理の一貫として、リクエスト受信リストにおける全てのリクエスト受信回数及びホルダ数を0に設定する。また、制御部21は、リクエスト返答リストにおける全ての返答回数を0に設定し、全ての紹介状態を紹介許可状態に設定する。次いで、制御部21は、組織用DNSサーバSOから名前解決リクエストを受信したか否かを判定する(ステップS51)。このとき、制御部21は、名前解決リクエストを受信しなかったと判定した場合には(ステップS51:NO)、ステップS66に移行する。
一方、制御部21は、名前解決リクエストを受信したと判定した場合には(ステップS51:YES)、リクエスト受信リストにおいて、名前解決リクエストに含まれる要求ドメイン名に対応するリクエスト受信回数に1を加算する(ステップS52)。次いで、制御部21は、リクエスト受信回数の上限値を決定する(ステップS53)。具体的に、制御部21は、リクエスト受信リストから、要求ドメイン名に対応するホルダ数を取得する。そして、制御部21は、取得したホルダ数の値が大きいほど、上限値の値を大きくする。このとき、制御部21は、例えば、所定の計算式にホルダ数を当てはめて、上限値を計算しても良い。また例えば、制御部21は、ホルダ数と上限値とを対応付けて示すテーブル情報に基づいて、上限値を決定しても良い。
次いで、制御部21は、要求ドメイン名に対応するリクエスト受信回数が、決定した上限値を超えているか否かを判定する(ステップS54)。このとき、制御部21は、上限値を超えていると判定した場合には(ステップS54:YES)、後述するコンテンツキャッシュ追加指示処理を実行する(ステップS55)。このとき、制御部21は、引数として、要求ドメイン名を引き渡す。
制御部21は、上限値を超えていないと判定した場合(ステップS54:NO)、または、ステップS55の処理を終えた場合には、要求ドメイン名に対応するインデックス情報が、検索結果キャッシュ領域に記憶されているか否かを判定する(ステップS56)。具体的に、制御部21は、ドメインリストから要求ドメイン名に対応するドメインIDを取得する。そして、制御部21は、ドメインIDに対応するインデックス情報を検索結果キャッシュ領域から検索する。このとき、制御部21は、要求ドメイン名に対応するインデックス情報が検索結果キャッシュ領域に記憶されていると判定した場合には(ステップS56:YES)、ステップS61に移行する。
一方、制御部21は、要求ドメイン名に対応するインデックス情報が検索結果キャッシュ領域に記憶されていないと判定した場合には、後述するコンテンツ保持ノード検索処理を実行する(ステップS57)。このとき、制御部21は、引数として、要求ドメイン名を引き渡す。コンテンツ保持ノード検索処理において、制御部21は、渡されたドメイン名のドメインに対応するコンテンツのコンテンツ保持ノードを検索する。
次いで、制御部21は、コンテンツ保持ノード検索処理による検索が成功したか否かを判定する(ステップS58)。つまり、制御部21は、要求ドメイン名が示すドメインに対応するコンテンツのコンテンツ保持ノードを検索することができたか否かを判定する。このとき、制御部21は、検索が成功しなかったと判定した場合には(ステップS58:NO)、組織用DNSサーバSOにエラーメッセージを返信する(ステップS59)。次いで、制御部21は、ステップS66に移行する。
一方、制御部21は、検索が成功したと判定した場合には(ステップS58:YES)、コンテンツ保持ノード検索処理において取得されたインデックス情報を、検索結果キャッシュ領域に記憶させる(ステップS60)。このとき、制御部21は、制御部21のタイマー機能から、現在日時を取得する。次いで、制御部21は、取得した現在日時に検索結果記憶時間を加算して、インデックス情報の有効期限日時を計算する。そして、制御部21は、計算した有効期限日時を、要求ドメイン名のドメインIDに対応付けて記憶部22に記憶させる。また、制御部21は、取得されたインデックス情報から、検索されたコンテンツ保持ノードの台数を計算する。そして、制御部21は、計算した台数を、要求ドメイン名に対応するホルダ数として、リクエスト受信リストに設定する。
次いで、制御部21は、検索されたコンテンツ保持ノードのうち、リクエスト返答リストに設定されている返答回数の値が最も小さいコンテンツ保持ノードのIPアドレスを、検索結果キャッシュ領域に記憶されたインデックス情報から取得する(ステップS61)。次いで、制御部21は、リクエスト返答リストにおいて、IPアドレスを取得したコンテンツ保持ノードの紹介状態が紹介拒否状態であるか否かを判定する(ステップS62)。このとき、制御部21は、紹介状態が紹介拒否状態であると判定した場合には(ステップS62:YES)、IPアドレスを取得したコンテンツ保持ノードのインデックス情報を、検索結果キャッシュ領域から削除する(ステップS63)。次いで、制御部21は、ステップS56に移行する。
一方、制御部21は、紹介状態が紹介許可状態であると判定した場合には(ステップS62:NO)、取得したIPアドレスを組織用DNSサーバSOに返信する(ステップS64)。制御部21は、ステップS56〜S64の処理により、紹介状態が紹介許可状態であるコンテンツ保持ノードのうち、返答回数が最も少ないコンテンツ保持ノードのIPアドレスを返信する。次いで、制御部21は、リクエスト返答リストにおいて、IPアドレスを取得したコンテンツ保持ノードの返答回数に1を加算する(ステップS65)。次いで、制御部21は、ステップS66に移行する。
ステップS66において、制御部21は、リクエスト受信回数をリセットするタイミングであるか否かを判定する。このとき、制御部21は、リクエスト受信回数をリセットするタイミングであると判定した場合には(ステップS66:YES)、リクエスト受信リストに設定されている全てのリクエスト受信回数を0に設定する(ステップS67)。リクエスト受信回数を長期間カウントし続けていると、リクエスト受信回数の内容が古い内容を反映するようになる。そこで、制御部21は、リクエスト受信回数を定期的にリセットする。
制御部21は、リクエスト受信回数をリセットするタイミングではないと判定した場合(ステップS66:NO)、または、ステップS67の処理を終えた場合には、ルータRmから紹介拒否通知メッセージを受信したか否かを判定する(ステップS68)。このとき、制御部21は、紹介拒否通知メッセージを受信したと判定した場合には(ステップS67:YES)、リクエスト返答リストにおいて、紹介拒否通知メッセージの送信元のルータRmの紹介状態を、紹介拒否状態に設定する(ステップS69)。
制御部21は、紹介拒否通知メッセージを受信しなかったと判定した場合(ステップS68:NO)、または、ステップS69の処理を終えた場合には、ルータRmから紹介拒否解除通知メッセージを受信したか否かを判定する(ステップS70)。このとき、制御部21は、紹介拒否解除通知メッセージを受信したと判定した場合には(ステップS70:YES)、リクエスト返答リストにおいて、紹介拒否解除通知メッセージの送信元のルータRmの紹介状態を、紹介許可状態に設定する(ステップS71)。
制御部21は、紹介拒否解除通知メッセージを受信しなかったと判定した場合(ステップS70:NO)、または、ステップS71の処理を終えた場合には、ルータRmからリクエスト返答リスト要求メッセージを受信したか否かを判定する(ステップS72)。このとき、制御部21は、リクエスト返答リスト要求メッセージを受信したと判定した場合には(ステップS72:YES)、リクエスト返答リストを、リクエスト返答リスト要求メッセージの送信元のルータRmにアップロードする(ステップS73)。
制御部21は、リクエスト返答リスト要求メッセージを受信しなかったと判定した場合(ステップS72:NO)、または、ステップS73の処理を終えた場合には、検索結果キャッシュ領域に記憶されたインデックス情報を削除するタイミングであるか否かを判定する(ステップS74)。具体的に、制御部21は、制御部21のタイマー機能から現在日時を取得する。次いで、制御部21は、記憶部22に記憶されているインデックス情報の有効期限日時のうち、現在日時よりも古い日時を示すものが存在するか否かを判定する。このとき、制御部21は、現在日時よりも古い日時を示す有効期限日時が存在する場合には、インデックス情報を削除するタイミングであると判定する(ステップS74:YES)。この場合、制御部21は、現在日時よりも古い日時を示す有効期限日時に対応するドメインIDを取得する。そして、制御部21は、検索結果キャッシュ領域から、取得したドメインIDに対応するインデックス情報を全て削除する(ステップS75)。
制御部21は、インデックス情報を削除するタイミングではないと判定した場合(ステップS74)、または、ステップS75の処理を終えた場合には、管理者からの終了指示があったか否かを判定する(ステップS76)。このとき、制御部21は、終了指示がなかったと判定した場合には(ステップS76:NO)、ステップS51に移行する。一方、制御部21は、終了指示があったと判定した場合には(ステップS76:YES)、図7に示す処理を終了させる。
図8(a)は、本実施形態におけるP2P用DNSサーバSPの制御部21のコンテンツキャッシュ追加指示処理における処理例を示すフローチャートである。なお、ルータRmにおけるコンテンツキャッシュ追加指示処理も、P2P用DNSサーバSPの場合と同様である。
先ず、制御部21は、後述するコンテンツ保持ノード検索処理を実行する(ステップS101)。このとき、制御部21は、引数として渡されたドメイン名を、コンテンツ保持ノード検索処理の引数として引き渡す。次いで、制御部21は、リクエスト返答リストにおいて、返答回数の値が最も小さいルータRmを選択する(ステップS102)。次いで、制御部21は、選択したルータRmが、コンテンツキャッシュ領域への追加対象となるドメインのコンテンツを保存しているか否かを判定する(ステップS103)。具体的に、制御部21は、コンテンツ保持ノード検索処理において検索されたコンテンツ保持ノードの中に、選択したルータRmが存在するか否かを判定する。このとき、制御部21は、検索されたコンテンツ保持ノードの中に、選択したルータRmが存在する場合には、追加対象となるドメインのコンテンツを保存していると判定する(ステップS103:YES)。この場合、制御部21は、今選択したルータRmを、以降の選択の対象から除外して(ステップS104)、再度選択を行う(ステップS102)。
一方、制御部21は、検索されたコンテンツ保持ノードの中に、選択したルータRmが存在しない場合には、追加対象となるドメインのコンテンツを保存していないと判定する(ステップS103:NO)。この場合、制御部21は、リクエスト返答リストにおいて、選択したルータRmの紹介状態が紹介拒否状態であるか否かを判定する(ステップS105)。このとき、制御部21は、紹介状態が紹介拒否状態であると判定した場合には(ステップS105:YES)、ステップS104に移行する。
一方、制御部21は、紹介状態が紹介許可状態であると判定した場合には(ステップS105:NO)、追加対象のドメインのドメイン名を含むダウンロード指示メッセージを、選択したルータRmに送信する(ステップS106)。制御部21は、ステップS106の処理を終えると、コンテンツキャッシュ追加指示処理を終了させる。
図8(b)は、本実施形態におけるP2P用DNSサーバSPの制御部21のコンテンツ保持ノード検索処理における処理例を示すフローチャートである。なお、ルータRmにおけるコンテンツ保持ノード検索処理も、P2P用DNSサーバSPの場合と同様である。
先ず、制御部21は、ドメインリストから、引数として渡されたドメイン名に対応するドメインIDを検索する(ステップS151)。次いで、制御部21は、ドメインIDを検索することができたか否かを判定する(ステップS152)。このとき、制御部21は、ドメインIDをすることができなかったと判定した場合には(ステップS152:NO)、コンテンツ保持ノード検索処理を終了させて、処理結果として検索失敗を返却する。
一方、制御部21は、ドメインIDを検索することができたと判定した場合には(ステップS152:YES)、検索されたドメインIDを含む検索メッセージを送信することにより、コンテンツ保持ノードを検索する(ステップS153)。次いで、制御部21は、コンテンツ保持ノードを検索することができたか否かを判定する(ステップS154)。このとき、制御部21は、送信した検索メッセージに応じてルートノードからコンテンツ保持ノードのインデックス情報を受信した場合には、コンテンツ保持ノードを検索することができたと判定する(ステップS154:YES)。この場合、制御部21は、コンテンツ保持ノード検索処理を終了させて、処理結果として検索成功を返却する。一方、制御部21は、ルートノードからコンテンツ保持ノードのインデックス情報を受信することができなかった場合には、コンテンツ保持ノードを検索することができなかったと判定する(ステップS154:NO)。この場合、制御部21は、コンテンツ保持ノード検索処理を終了させて、処理結果として検索失敗を返却する。
なお、上記実施形態において、P2P用DNSサーバSPは、リクエスト受信回数の上限値をホルダ数に基づいて決定していたが、上限値は固定値であっても良い。
また、上記実施形態において、ルータRmは、コンテンツキャッシュ追加処理を実行する接続端末数と同じ接続端末数で、紹介拒否通知メッセージを送信していた。しかしながら、ルータRmは、例えば、コンテンツキャッシュ追加処理を実行して、コンテンツ保持ノードを増やした後、更に接続端末数が増加した場合に、紹介拒否通知メッセージを送信しても良い。また、ルータRmは、例えば、接続端末数が0より大きい所定数以下になったときに、紹介拒否解除通知メッセージを送信しても良い。また、ルータRmは、紹介拒否通知メッセージ及び紹介拒否解除通知メッセージを送信しなくても良い。
また、各ルータRmは、コンテンツキャッシュ領域にコンテンツを記憶させたり削除させたりした都度、コンテンツの保存状況を示すメッセージを、P2P用DNSサーバSPに送信しても良い。そして、P2P用DNSサーバSPは、ルータRmから受信したメッセージに基づいて、検索結果キャッシュ領域に対してインデックス情報の追加や削除を行ったり、リクエスト受信リストのホルダ数を更新したりしても良い。また、この場合、P2P用DNSサーバSPは、P2PネットワークPWに参加しなくても良い。この場合、P2P用DNSサーバSPは、ドメインに対応するコンテンツ保持ノードを自ら検索する必要がないからである。
また、上記実施形態においては、本発明のノード装置をルータに適用していた。しかしながら、本発明のノード装置を、例えば、プロキシサーバ、ロードバランサ、Webアクセラレータ等の、情報を中継する機能を有するネットワーク機器に適用しても良い。また、本発明のノード装置を、例えば、キャッシュサーバ、エッジサーバ等のサーバ装置に適用しても良い。
また、本発明の情報処理装置を、上記実施形態のP2P用DNSサーバSPと組織用DNSサーバSOとの両方の機能を兼ね備えたDNSサーバに適用しても良い。この場合、本発明の問い合わせ装置は、ユーザ端末Tm−nとなる。
また、上記実施形態においては、オーバーレイネットワークに、DHTを利用したピアツーピアネットワークが適用されていたが、これに限られるものではない。例えば、他のピアツーピアシステム、または、オーバーレイネットワークを用いたシステムが適用されても良い。DHTを利用しないピアツーピアシステムとしては、例えば、ハイブリッド型のピアツーピアシステムがある。
11 制御部
12 記憶部
13 通信部
Rm ルータ
21 制御部
22 記憶部
23 通信部
SP P2P用DNSサーバ
SO 組織用DNSサーバ
SS センターサーバ
NLm 拠点ネットワーク
NS 配信センターネットワーク
NW ネットワーク
PW P2Pネットワーク
S コンテンツ配信システム
上記課題を解決するために、請求項1に記載の発明は、ネットワークに接続される複数のノード装置によりオーバーレイネットワークが構成され、前記複数のノード装置にコンテンツが分散保存される情報通信システムにおいて、コンテンツの取得先のドメイン名を解決する情報処理装置であって、問い合わせ元の問い合わせ装置から問い合わせされたドメイン名を示すドメイン情報を取得する取得手段と、前記取得手段により取得された前記ドメイン情報が示すドメイン名に対応するコンテンツを、前記オーバーレイネットワークにより検索する検索手段と、前記検索手段による検索結果として、前記ドメイン情報が示すドメイン名に対応するコンテンツを保存する前記ノード装置の所在を示す所在情報を、前記問い合わせ装置に送信する送信手段と、前記検索手段により検索された前記所在情報を、前記ドメイン情報と対応付けて記憶する記憶手段と、前記取得手段により前記ドメイン情報が取得されたときに、前記取得手段により取得された前記ドメイン情報に対応する前記所在情報が、前記記憶手段により記憶されているか否かを判定する判定手段と、を備え、前記送信手段は、前記判定手段により記憶されていると判定されたとき、前記取得された前記ドメイン情報に対応する前記所在情報を前記問い合わせ装置に送信し、前記検索手段は、前記判定手段により記憶されていないと判定されたとき、検索を行うことを特徴とする。
請求項6に記載の発明は、ネットワークに接続される複数のノード装置によりオーバーレイネットワークが構成され、前記複数のノード装置にコンテンツが分散保存される情報通信システムにおいて、コンテンツの取得先のドメイン名を解決する情報処理装置による情報処理方法であって、問い合わせ元の問い合わせ装置から問い合わせされたドメイン名を示すドメイン情報を取得する取得ステップと、前記取得ステップにおいて取得された前記ドメイン情報が示すドメイン名に対応するコンテンツを、前記オーバーレイネットワークにより検索する検索ステップと、前記検索ステップによる検索結果として、前記ドメイン情報が示すドメイン名に対応するコンテンツを保存する前記ノード装置の所在を示す所在情報を、前記問い合わせ装置に送信する送信ステップと、前記検索ステップにおいて検索された前記所在情報を、前記ドメイン情報と対応付けて記憶手段に記憶させる記憶ステップと、前記取得ステップにおいて前記ドメイン情報が取得されたときに、前記取得ステップにおいて取得された前記ドメイン情報に対応する前記所在情報が、前記記憶手段により記憶されているか否かを判定する判定ステップと、を含み、前記送信ステップにおいては、前記判定ステップにおいて記憶されていると判定されたとき、前記取得された前記ドメイン情報に対応する前記所在情報を前記問い合わせ装置に送信し、前記検索ステップにおいては、前記判定ステップにおいて記憶されていないと判定されたとき、検索を行うことを特徴とする。
請求項7に記載の発明は、ネットワークに接続される複数のノード装置によりオーバーレイネットワークが構成され、前記複数のノード装置にコンテンツが分散保存される情報通信システムにおいて、コンテンツの取得先のドメイン名を解決する情報処理装置に含まれるコンピュータに、問い合わせ元の問い合わせ装置から問い合わせされたドメイン名を示すドメイン情報を取得する取得ステップと、前記取得ステップにおいて取得された前記ドメイン情報が示すドメイン名に対応するコンテンツを、前記オーバーレイネットワークにより検索する検索ステップと、前記検索ステップによる検索結果として、前記ドメイン情報が示すドメイン名に対応するコンテンツを保存する前記ノード装置の所在を示す所在情報を、前記問い合わせ装置に送信する送信ステップと、前記検索ステップにおいて検索された前記所在情報を、前記ドメイン情報と対応付けて記憶手段に記憶させる記憶ステップと、前記取得ステップにおいて前記ドメイン情報が取得されたときに、前記取得ステップにおいて取得された前記ドメイン情報に対応する前記所在情報が、前記記憶手段により記憶されているか否かを判定する判定ステップと、を実行させ、前記送信ステップを、前記判定ステップにおいて記憶されていると判定されたとき、前記取得された前記ドメイン情報に対応する前記所在情報を前記問い合わせ装置に送信するように実行させ、前記検索ステップを、前記判定ステップにおいて記憶されていないと判定されたとき、検索を行うように実行させることを特徴とする。

Claims (7)

  1. ネットワークに接続される複数のノード装置によりオーバーレイネットワークが構成され、前記複数のノード装置にコンテンツが分散保存される情報通信システムにおいて、
    コンテンツの取得先のドメイン名を解決する情報処理装置であって、
    問い合わせ元の問い合わせ装置から問い合わせされたドンメイン名を示すドメイン情報を取得する取得手段と、
    前記取得手段により取得された前記ドメイン情報が示すドメイン名に対応するコンテンツを、前記オーバーレイネットワークにより検索する検索手段と、
    前記検索手段による検索結果として、前記ドメイン情報が示すドメイン名に対応するコンテンツを保存する前記ノード装置の所在を示す所在情報を、前記問い合わせ装置に送信する送信手段と、
    前記検索手段により検索された前記所在情報を、前記ドメイン情報と対応付けて記憶する記憶手段と、
    前記取得手段により前記ドメイン情報が取得されたときに、前記取得手段により取得された前記ドメイン情報に対応する前記所在情報が、前記記憶手段により記憶されているか否かを判定する判定手段と、
    を備え、
    前記送信手段は、前記判定手段により記憶されていると判定されたとき、前記取得された前記ドメイン情報に対応する前記所在情報を前記問い合わせ装置に送信し、
    前記検索手段は、前記判定手段により記憶されていないと判定されたとき、検索を行うことを特徴とする情報処理装置。
  2. 前記ドメイン情報が示すドメイン名に対応するコンテンツを前記オーバーレイネットワークから検索する検索キーを示すキー情報であって、前記取得手段により取得された前記ドメイン情報に基づいて、前記検索キーを生成する生成手段を更に備え、
    前記生成手段により生成された前記キー情報に基づいて、前記検索手段は、前記キー情報に対応するコンテンツを前記オーバーレイネットワークから検索することを特徴とする請求項1に記載の情報処理装置。
  3. 前記記憶手段に前記所在情報が記憶されてから所定の時間が経過したかを判定する第2判定手段を更に備え、
    前記送信手段は、前記第2判定手段により前記所定の時間が経過したと判定された前記所在情報を送信しないことを特徴とする請求項1または請求項2に記載の情報処理装置。
  4. 前記取得手段により前記ドメイン情報が取得された回数を示す回数情報を、前記ドメイン情報と対応付けて記憶する第2記憶手段と、
    前記第2記憶手段により記憶された前記回数情報が示す回数が、予め定められた所定値を超えたかを判定する第3判定手段と、
    前記第3判定手段により、前記第2記憶手段により記憶された前記回数情報が示す回数が前記所定値を超えたと判定された場合には、前記回数情報に対応する前記ドメイン情報が示すドメイン名に対応するコンテンツを、前記複数のノード装置の何れかの前記ノード装置に保存させる指示を示す指示情報を、何れかの前記ノード装置に送信する第2送信手段と、
    を更に備えることを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
  5. コンテンツを保存する前記ノード装置の数を示す数情報を前記ドメイン情報ごとに取得する第2取得手段と、
    前記所定値を決定する決定手段であって、前記第2取得手段により取得された前記数情報が示す数が多い前記ドメイン情報であるほど、大きい前記所定値を決定する決定手段と、
    を更に備え、
    前記第3判定手段は、前記第2記憶手段により記憶された前記回数情報が示す回数が、前記決定手段により決定された前記所定値を超えたかを判定することを特徴とする請求項4に記載の情報処理装置。
  6. ネットワークに接続される複数のノード装置によりオーバーレイネットワークが構成され、前記複数のノード装置にコンテンツが分散保存される情報通信システムにおいて、
    コンテンツの取得先のドメイン名を解決する情報処理装置による情報処理方法であって、
    問い合わせ元の問い合わせ装置から問い合わせされたドンメイン名を示すドメイン情報を取得する取得ステップと、
    前記取得ステップにおいて取得された前記ドメイン情報が示すドメイン名に対応するコンテンツを、前記オーバーレイネットワークにより検索する検索ステップと、
    前記検索ステップによる検索結果として、前記ドメイン情報が示すドメイン名に対応するコンテンツを保存する前記ノード装置の所在を示す所在情報を、前記問い合わせ装置に送信する送信ステップと、
    前記検索ステップにおいて検索された前記所在情報を、前記ドメイン情報と対応付けて記憶手段に記憶させる記憶ステップと、
    前記取得ステップにおいて前記ドメイン情報が取得されたときに、前記取得ステップにおいて取得された前記ドメイン情報に対応する前記所在情報が、前記記憶手段により記憶されているか否かを判定する判定ステップと、
    を含み、
    前記送信ステップにおいては、前記判定ステップにおいて記憶されていると判定されたとき、前記取得された前記ドメイン情報に対応する前記所在情報を前記問い合わせ装置に送信し、
    前記検索ステップにおいては、前記判定ステップにおいて記憶されていないと判定されたとき、検索を行うことを特徴とする情情報処理方法。
  7. ネットワークに接続される複数のノード装置によりオーバーレイネットワークが構成され、前記複数のノード装置にコンテンツが分散保存される情報通信システムにおいて、
    コンテンツの取得先のドメイン名を解決する情報処理装置に含まれるコンピュータに、
    問い合わせ元の問い合わせ装置から問い合わせされたドンメイン名を示すドメイン情報を取得する取得ステップと、
    前記取得ステップにおいて取得された前記ドメイン情報が示すドメイン名に対応するコンテンツを、前記オーバーレイネットワークにより検索する検索ステップと、
    前記検索ステップによる検索結果として、前記ドメイン情報が示すドメイン名に対応するコンテンツを保存する前記ノード装置の所在を示す所在情報を、前記問い合わせ装置に送信する送信ステップと、
    前記検索ステップにおいて検索された前記所在情報を、前記ドメイン情報と対応付けて記憶手段に記憶させる記憶ステップと、
    前記取得ステップにおいて前記ドメイン情報が取得されたときに、前記取得ステップにおいて取得された前記ドメイン情報に対応する前記所在情報が、前記記憶手段により記憶されているか否かを判定する判定ステップと、
    を実行させ、
    前記送信ステップを、前記判定ステップにおいて記憶されていると判定されたとき、前記取得された前記ドメイン情報に対応する前記所在情報を前記問い合わせ装置に送信するように実行させ、
    前記検索ステップを、前記判定ステップにおいて記憶されていないと判定されたとき、検索を行うように実行させることを特徴とする情報処理プログラム。
JP2010221002A 2010-09-30 2010-09-30 情報処理装置、情報処理方法及び情報処理プログラム Pending JP2012078902A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010221002A JP2012078902A (ja) 2010-09-30 2010-09-30 情報処理装置、情報処理方法及び情報処理プログラム
US13/231,392 US20120084359A1 (en) 2010-09-30 2011-09-13 Information processing device, information processing method, and computer readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010221002A JP2012078902A (ja) 2010-09-30 2010-09-30 情報処理装置、情報処理方法及び情報処理プログラム

Publications (1)

Publication Number Publication Date
JP2012078902A true JP2012078902A (ja) 2012-04-19

Family

ID=45890736

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010221002A Pending JP2012078902A (ja) 2010-09-30 2010-09-30 情報処理装置、情報処理方法及び情報処理プログラム

Country Status (2)

Country Link
US (1) US20120084359A1 (ja)
JP (1) JP2012078902A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021106201A1 (ja) * 2019-11-29 2021-06-03 日本電信電話株式会社 制御装置、通信システム、制御方法、及びプログラム

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140164645A1 (en) * 2012-12-06 2014-06-12 Microsoft Corporation Routing table maintenance
CN103064979A (zh) * 2013-01-15 2013-04-24 中兴通讯股份有限公司 一种路由器处理网页数据的方法以及路由器
CN103888539B (zh) * 2014-03-28 2018-02-02 网宿科技股份有限公司 P2p缓存的引导方法、装置及p2p缓存系统
US10649850B1 (en) 2015-06-29 2020-05-12 Amazon Technologies, Inc. Heterogenous media storage and organization in automated data storage systems
US9961141B1 (en) 2015-06-29 2018-05-01 Amazon Technologies, Inc. Techniques and systems for tray-based storage and organization in automated data storage systems
US10379959B1 (en) 2015-06-29 2019-08-13 Amazon Technologies, Inc. Techniques and systems for physical manipulation of data storage devices
US9923966B1 (en) * 2015-06-29 2018-03-20 Amazon Technologies, Inc. Flexible media storage and organization in automated data storage systems
US10838911B1 (en) 2015-12-14 2020-11-17 Amazon Technologies, Inc. Optimization of data request processing for data storage systems
US10375159B2 (en) * 2016-04-28 2019-08-06 Fastly, Inc. Load balancing origin server requests
JPWO2019065599A1 (ja) * 2017-09-28 2020-11-05 京セラ株式会社 設備管理システム及び設備管理方法
CN109788051A (zh) * 2019-01-02 2019-05-21 深圳市网心科技有限公司 基于分布式文件系统的网络资源传输方法及系统
CN114124887B (zh) * 2021-11-29 2023-09-05 牙木科技股份有限公司 Dns服务器的视图查询方法、dns服务器及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002335269A (ja) * 2001-04-02 2002-11-22 Microsoft Corp ピアツーピア名前解決プロトコル(pnrp)およびそれと共に使用するためのマルチレベルキャッシュ
JP2005333374A (ja) * 2004-05-19 2005-12-02 Toshiba Corp ネットワーク検索システム、情報検索方法、ブリッジ装置及びプログラム
JP2008250571A (ja) * 2007-03-29 2008-10-16 Brother Ind Ltd 情報通信システムに含まれるノード装置及びその情報処理プログラム
JP2010206411A (ja) * 2009-03-02 2010-09-16 Oki Electric Ind Co Ltd Dnsサーバー装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6262987B1 (en) * 1998-03-26 2001-07-17 Compaq Computer Corp System and method for reducing latencies while translating internet host name-address bindings
US7120675B1 (en) * 2000-09-26 2006-10-10 Microsoft Corporation Information location service
US7152118B2 (en) * 2002-02-25 2006-12-19 Broadcom Corporation System, method and computer program product for caching domain name system information on a network gateway
JP4029804B2 (ja) * 2003-09-02 2008-01-09 ブラザー工業株式会社 ネットワーク装置、および送信出力レベル変更方法
US8200700B2 (en) * 2005-02-01 2012-06-12 Newsilike Media Group, Inc Systems and methods for use of structured and unstructured distributed data
US7788378B2 (en) * 2005-04-22 2010-08-31 Microsoft Corporation Apparatus and method for community relay node discovery
US9112897B2 (en) * 2006-03-30 2015-08-18 Advanced Network Technology Laboratories Pte Ltd. System and method for securing a network session
US7613770B2 (en) * 2006-06-30 2009-11-03 Microsoft Corporation On-demand file transfers for mass P2P file sharing
US20090182834A1 (en) * 2008-01-15 2009-07-16 Thomas Zettler Device and Method for Providing Data
US20090210489A1 (en) * 2008-02-18 2009-08-20 Supratim Deb Methods for peer-caching for faster lookups in peer-to-peer systems
US8966121B2 (en) * 2008-03-03 2015-02-24 Microsoft Corporation Client-side management of domain name information
US8676989B2 (en) * 2009-04-23 2014-03-18 Opendns, Inc. Robust domain name resolution
US20110153737A1 (en) * 2009-12-17 2011-06-23 Chu Thomas P Method and apparatus for decomposing a peer-to-peer network and using a decomposed peer-to-peer network
US9131263B2 (en) * 2010-07-09 2015-09-08 Sling Media, Inc. Methods and apparatus for controlled removal of content from a distributed network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002335269A (ja) * 2001-04-02 2002-11-22 Microsoft Corp ピアツーピア名前解決プロトコル(pnrp)およびそれと共に使用するためのマルチレベルキャッシュ
JP2005333374A (ja) * 2004-05-19 2005-12-02 Toshiba Corp ネットワーク検索システム、情報検索方法、ブリッジ装置及びプログラム
JP2008250571A (ja) * 2007-03-29 2008-10-16 Brother Ind Ltd 情報通信システムに含まれるノード装置及びその情報処理プログラム
JP2010206411A (ja) * 2009-03-02 2010-09-16 Oki Electric Ind Co Ltd Dnsサーバー装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200500339001; 蔵杉俊康,外4名: 'コンテンツの自律的配置変更による拠点内負荷分散' 電子情報通信学会技術研究報告 第103巻,第650号, 20040205, p.1-6, 社団法人電子情報通信学会 *
JPN6013002833; 蔵杉俊康,外4名: 'コンテンツの自律的配置変更による拠点内負荷分散' 電子情報通信学会技術研究報告 第103巻,第650号, 20040205, p.1-6, 社団法人電子情報通信学会 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021106201A1 (ja) * 2019-11-29 2021-06-03 日本電信電話株式会社 制御装置、通信システム、制御方法、及びプログラム
JPWO2021106201A1 (ja) * 2019-11-29 2021-06-03
JP7215597B2 (ja) 2019-11-29 2023-01-31 日本電信電話株式会社 制御装置、通信システム、制御方法、及びプログラム
US11962502B2 (en) 2019-11-29 2024-04-16 Nippon Telegraph And Telephone Corporation Control apparatus, communication system, control method and program

Also Published As

Publication number Publication date
US20120084359A1 (en) 2012-04-05

Similar Documents

Publication Publication Date Title
JP2012078902A (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP5556104B2 (ja) 情報通信システム、情報通信方法及び情報通信プログラム
CN101997759A (zh) 一种业务实现方法及业务系统
JP5293533B2 (ja) 情報通信システム及び情報通信方法
JP2011211543A (ja) 情報通信システム、情報処理装置、情報処理方法、及び情報処理プログラム
JP4877107B2 (ja) 情報配信システムにおける端末装置及び情報処理プログラム、並びに端末装置の情報処理方法
WO2010135254A1 (en) Limiting storage messages in peer to peer network
JP5272991B2 (ja) 情報通信システム、情報通信方法及びプログラム
JP5532649B2 (ja) ノード装置、ノード処理プログラム及びコンテンツ保存方法
JP2012078901A (ja) サーバ装置、ページ送信プログラム、及びページ送信方法
JP2010128512A (ja) 情報通信システム、及びソフトウェア更新方法
JP5494550B2 (ja) 管理装置、管理システム、管理方法及び管理プログラム
JP2010066930A (ja) コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム
JP2008276289A (ja) 情報配信システム、情報配信方法、情報配信サーバ及び情報配信プログラム
JP2012212208A (ja) 情報処理装置、情報処理方法及びプログラム
JP5157770B2 (ja) ノード装置、プログラム及び保存指示方法
JP2012078903A (ja) ノード装置、ノード装置用プログラムおよび情報処理方法
JP2010026866A (ja) コンテンツ分散保存システム、総評価値管理装置、管理処理プログラム、ノード装置、及び総評価値管理方法
JP2012050019A (ja) ノード装置、情報通信システム、情報処理方法及び情報処理プログラム
JP2009282610A (ja) 情報配信システム及び同システムにおける配信サーバ並びに同配信サーバにおけるコンテンツ情報の記憶方法
JP2012048666A (ja) 配信システム、情報処理装置、情報処理プログラム、及びコンテンツ投入方法
JP5494362B2 (ja) 配信システム、情報処理装置、プログラム、及びコンテンツ投入方法
JP4867845B2 (ja) コンテンツ分散保存システム、コンテンツデータ取得方法、ノード装置、及びノード処理プログラム
JP5754405B2 (ja) 通信システム、情報処理装置、プログラム及び情報処理方法
JP2012178119A (ja) 通信システム、情報処理装置、管理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130709

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130829

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140204