本発明は、通信ネットワーク上で送受信されるデータを中継する中継装置及び中継装置が実施する方法に関するものである。
近年、インターネット電話やVOD(Video on Demand)サービス等のリアルタイム通信における通信品質を保証するための技術として、通信品質保証(QoS:Quality of Service)技術が検討されている。QoS技術は、コンテンツを提供するコンテンツ提供装置と、コンテンツを利用するコンテンツ利用装置との間の通信経路において、通信を中継する中継装置に用いられる。QoS技術としては、例えば、IEEE(Institute of Electrical and Electronics Engineers)802.11e規格では、無線LAN(Local Area Network)で用いられる中継装置のQoS技術が規格化されている。また、HomePlugアライアンスでは、PLC(Power Line Communications)で用いられる中継装置のQoS技術が実用化されている。
QoS技術が用いられる従来の中継装置としては、リアルタイム通信においてパケットの廃棄や遅延が発生しないように、通信経路上でコンテンツを送信するために必要な帯域を予約し、一定の通信速度を保証するものがあった(例えば、特許文献1参照)。従来の中継装置では、コンテンツ利用装置が発行する帯域設定要求に従い通信経路上の中継装置が、次の中継装置までの帯域資源を確保し、帯域設定要求をコンテンツ提供装置まで転送し、コンテンツ利用装置とコンテンツ提供装置との間での帯域資源を確保していた。これにより、音声や動画のリアルタイム配信やテレビ電話など、通信の遅延や停止が許されないサービスを、他のサービスに優先して送信することができた。
図18は、特許文献1で用いられる従来の帯域設定方法を説明する図である。図18では、コンテンツを利用するコンテンツ利用装置(以下、端末装置と記す)601と、コンテンツを提供するコンテンツ提供装置(以下、サーバと記す)604とが、中継装置602、及び中継装置603を介して接続されている。以下の動作説明では、端末装置601が、当初要求する要求帯域を18Mbps、最低帯域を12Mbps、増分帯域を3Mpbsとして、帯域設定を要求した場合を例に説明する。図18に示す各フローの矢印上のカッコ内の値は、帯域設定要求の帯域設定情報の値(要求帯域、最低帯域、増分帯域)を表す。それぞれの帯域の単位は、Mbpsであるが単位を省略している。
まず、端末装置601は、帯域設定要求をサーバ604に向けて送信する。中継装置602は、端末装置601が送信した帯域設定要求を受信解析し、要求帯域が示す18Mbpsの帯域を仮確保し、帯域設定要求をサーバ604側に出力する。次に、中継装置603は、帯域設定要求を受信解析し、要求帯域が示す18Mbpsの帯域の仮確保を試みるが、割当可能帯域が16Mbpsしかない場合を想定する。この場合、中継装置603は、要求帯域が示す値から増分帯域が示す値を引いた15(=18−3)Mbpsの帯域の仮確保を試みる。ここでは、仮確保が成功したので、中継装置603は、要求帯域が示す値を15Mbpsに書き換え、帯域設定要求をサーバ604側に出力する。
次に、サーバ604は、帯域設定要求の要求帯域が示す値を取得帯域として含んだ帯域設定応答を作成し、端末装置601に向けて送信する。次に、中継装置603は、帯域設定応答の取得帯域が示す値が、仮確保した帯域と同じなので、仮確保した帯域を確保し、帯域設定応答を端末装置601側に出力する。次に、中継装置602は、帯域設定応答の取得帯域が示す値が、仮確保した帯域と異なるので、仮確保した帯域と取得帯域が示す値の差分3(=18−15)Mbpsを引いた15Mbpsで帯域を確保し、帯域設定応答を端末装置601側に出力する。
端末装置601は、帯域設定応答を受信したら、帯域設定が15Mbpsで成功したと認識し、サーバ604に対して、コンテンツ送信要求を帯域15Mbpsで出する。サーバ604は、要求帯域が示す値にコンテンツのレートを変更し、当該レートでコンテンツを端末装置601に送信する。
このように上記従来の帯域設定方法では、帯域の予約を行うために中継装置602,603に各種パラメータを設定する必要があった。ここで、パラメータとは、品質保証すべきパケットか否かを識別するためのサーバ604の送信元IPアドレス、端末装置601の宛先IPアドレス、及びコンテンツを送信するために必要な帯域の情報などである。端末装置601は、中継装置602,603に帯域の予約を要求する際に、これらのパラメータを含む帯域設定要求の制御パケットを、中継装置602,603に直接送信するか、あるいは他のサーバを介して中継装置602,603に送信する必要があった。中継装置602,603は、この制御パケットを受信することにより、コンテンツパケットの識別情報やコンテンツパケット送信に必要な帯域を把握し設定することができた。
しかしながら、従来の帯域設定方法では、端末装置601が制御パケットを生成する機能と、サーバ604が端末装置601から送信された制御パケットを端末装置601宛に返送する機能と、中継装置602,603が制御パケットを処理して帯域を予約するための各種パラメータを設定する機能とを備えていなければならなかった。すなわち、通信経路上において、サーバ604、端末装置601、及び中継装置602,603の全てが、QoS処理に関する機能を備えていなければならないという利用上の制限があった。このため、通信経路上でQoS処理に関する機能を備えない装置が1つでもあれば、コンテンツ送信に関する品質保証ができなかった。これは新しい商品、古い商品、及び他メーカの商品など様々な機器の混在が予想される家庭内のネットワークにおいては、大きな制約になる可能性があった。
それゆえに、本発明は、上記課題に鑑みてなされたものであって、QoS処理に関する機能を備えていない装置を含むネットワークにおいても、コンテンツ配信における通信品質を保証し、乱れた映像が端末装置に配信されることを防止する中継装置及び中継装置が実施する方法を提供することを目的とする。
上記課題を解決するために、本発明は、以下の特徴を有する。本発明の第1の局面は、第1のネットワークと第2のネットワークとを相互接続してパケットの送受信を中継する中継装置であって、第1のドメイン名を有する第1の情報提供装置に対して、コンテンツの取得を要求する端末装置と、第1のネットワークを介して通信する第1の通信部と、第1の情報提供装置と、第2のネットワークを介して通信する第2の通信部と、第1のドメイン名と、コンテンツの送信に関するパラメータとを対応付けて、サービス情報テーブルとして記憶する記憶部と、第2の通信部が、端末装置から第1の情報提供装置に送信されたコンテンツの取得要求に対する応答として、第1の情報提供装置から端末装置に送信された応答パケットを受信すると、応答パケットが転送要求を示すか否かを判定し、応答パケットが転送要求を示すと判定した場合、応答パケットに含まれる第2の情報提供装置を示す第2のドメイン名を第1のドメイン名と関連付けて、サービス情報テーブルに記憶する制御部とを備える。
好ましくは、制御部は、第2の通信部が受信した応答パケットから、第1の情報提供装置のIPアドレスが送信元として記載された応答パケットを検出し、当該検出した応答パケットを転送要求解析部に出力する応答パケット検出部と、応答パケット検出部が検出した応答パケットを解析し、応答パケットが転送要求を示すか否かを判定する転送要求解析部と、応答パケットが転送要求を示すと判定した場合、応答パケットに含まれる第2の情報提供装置を示す第2のドメイン名を第1のドメイン名と関連付けて、サービス情報テーブルに記憶するドメイン情報更新部とを備える。
転送要求解析部は、応答パケットとしてのHTTP(HyperText Transfer Protocol)メッセージを解析し、応答パケットがHTTPリダイレクトを示す場合、応答パケットが転送要求を示すと判定する。
また、中継装置は、QoS処理の要否を判定する第2の制御部をさらに備えてもよい。この場合、第2の通信部は、第2のネットワークを介して、DNS(Domain Name System)サーバと通信する。第2の制御部は、端末装置からDNSサーバに送信されたDNS要求パケットに対する応答であるDNS応答パケットを検出するDNS検出部と、DNS検出部が検出したDNS応答パケットから、所定のドメイン名と所定のドメイン名に対応するIPアドレスとを抽出するDNS解析部と、DNS解析部が抽出した所定のドメイン名が、サービス情報テーブルに登録されているか否かを判定し、登録されていると判定した場合に、所定のドメイン名がQoS処理が必要なドメイン名であると判定するQoS要否判定部とを備える。
QoS要否判定部は、DNS解析部が抽出した所定のドメイン名が、サービス情報テーブルに登録されていると判定した場合に、DNS解析部が抽出したIPアドレスを応答パケット検出部に出力する。
好ましくは、第1の通信部は、QoS要否判定部がDNS応答パケットに含まれる所定のドメイン名が第1のドメイン名と一致すると判定した場合に、サービス情報テーブルを参照し、第1のドメイン名に対応付けられたQoS処理に関するパラメータを、第1の情報提供装置から端末装置に対して送信されるコンテンツの中継パケットに設定するQoS処理部をさらに備える。
また、第1の通信部は、QoS要否判定部が、DNS応答パケットに含まれる所定のドメイン名が第2のドメイン名と一致すると判定した場合に、サービス情報テーブルを参照し、第2のドメイン名に関連付けられた、第1のドメイン名に対応付けられたQoS処理に関するパラメータを、第2の情報提供装置から端末装置に対して送信されるコンテンツの中継パケットに設定するQoS処理部をさらに備えてもよい。
また、記憶部は、QoS処理に関するパラメータを記憶するQoS管理テーブルをさらに記憶してもよい。この場合、QoS要否判定部は、DNS応答パケットに含まれる所定のドメイン名が、サービス情報テーブルに登録されていると判定した場合に、サービス情報テーブルから、所定のドメイン名に対応するパラメータを取得する。第2の制御部は、QoS要否判定部が取得したパラメータをQoS管理テーブルに記憶するQoS登録部とをさらに備える。第1の通信部は、QoS管理テーブルを参照して、所定のドメイン名に対応する情報提供装置から端末装置に対して送信されるコンテンツの中継パケットに対応付けられたQoS処理に関するパラメータを、中継パケットに設定するQoS処理部とをさらに備える。また、転送要求は、HTTPリダイレクトである。
本発明の第2の局面は、第1のネットワークと第2のネットワークとを相互接続してパケットの送受信を中継する中継装置であって、第1のドメイン名を有する第1の情報提供装置に対して、コンテンツの送信を要求する端末装置と、第1のネットワークを介して通信する第1の通信部と、第2のネットワークを介して、DNSサーバと通信する第2の通信部と、第1のドメイン名と、コンテンツの送信に関するパラメータとを対応付けて、サービス情報テーブルとして記憶する記憶部と、第2の通信部が、端末装置からDNSサーバに送信された所定のドメイン名に対応するIPアドレスを要求するDNS要求パケットに対する応答であり、所定のドメイン名と所定のドメイン名の別名を表す第2のドメイン名とを含むDNS応答パケットを受信すると、DNS応答パケットに含まれる所定のドメイン名が第1のドメイン名と一致するか否かを判定し、一致すると判定された場合に、DNS応答パケットに含まれる第2のドメイン名を第1のドメイン名と関連付けて、サービス情報テーブルに記憶する制御部とを備える。
また、DNS応答パケットにおいて所定のドメイン名の別名を表す第2のドメイン名を含むDNS応答パケットの資源レコードタイプは、CNAME(Canonical NAME for an alias)である。
以上のように、本発明によると、中継装置は、接続予定の情報提供装置がドメイン名の異なる情報提供装置に変更された場合でも、情報提供装置が端末装置に対して送信する転送要求(HTTPリダイレクト)を解析することで、情報提供装置のドメイン名の変更を検出して、ドメイン名と当該ドメイン名に対応するサービスパラメータとを対応付けたサービス情報テーブル312を更新する。これにより、中継装置は、異なるドメイン名の情報提供装置から配信されるコンテンツを識別してQoS処理を行うことで、通信品質を保証することが可能となる。その結果、ユーザは、映像途切れや乱れのない高品質なコンテンツ視聴を行うことができる。
また、中継装置は、DNS応答パケットに含まれるQoS対象のコンテンツを送信する情報提供装置のIPアドレスを指定して、指定された情報提供装置のIPアドレスを有するHTTPパケットのペイロード部を解析し、指定されたIPアドレスを有する情報提供装置以外のサーバから送信されるHTTPパケットを解析しないようにする。これにより、中継装置は、全てのHTTPパケットのペイロード(メッセージ)部を解析処理する必要がなくなり、CPU負荷増加を抑制し、通信スループット低下を回避することができる。
また、本発明によると、中継装置は、DNS応答パケットに情報提供装置のIPアドレスが含まれず、CNAMEとして別名のドメイン名が含まれていた場合でも、DNSサーバから端末装置に対して送信されるDNS応答パケットを解析することで、CNAMEである情報提供装置の別名のドメイン名を検出して、ドメイン名と当該ドメイン名に対応するサービスパラメータとを対応付けたサービス情報テーブルを更新する。これにより、中継装置は、別名のドメイン名の情報提供装置から配信されるコンテンツを識別してQoS処理を行うことで、通信品質を保証することが可能となる。その結果、ユーザは、映像途切れや乱れのない高品質な映像コンテンツ視聴を行うことができる。
図1は、本発明の第1の実施形態におけるネットワーク構成の一例を示す図である。
図2は、本発明の第1の実施形態に係る中継装置130の構成の一例を示す機能ブロック図である。
図3は、本発明の第1の実施形態に係るサービス情報テーブル312のメモリ構造の一例を示す図である。
図4は、本発明の第1の実施形態に係るサービス情報テーブル312のメモリ構造の一例を示す図である。
図5は、本発明の第1の実施形態に係るQoS管理テーブル315のメモリ構造の一例を示す図である。
図6は、本発明の第1の実施形態に用いるDNSパケットのパケット構成を説明する図である。
図7は、本発明の第1の実施形態に用いるHTTPパケットのパケット構成を説明する図である。
図8は、本発明の第1の実施形態に係るネットワークにおいて、各装置の動作を示したシーケンス図である。
図9は、本発明の第1の実施形態に係るネットワークにおいて、各装置の動作を示したシーケンス図である。
図10は、本発明の第1の実施形態に係る中継装置130cにおける動作の詳細を示したフローチャートである。
図11は、本発明の第2の実施形態に係る中継装置130の構成の一例を示す機能ブロック図である。
図12は、本発明の第2の実施形態に係るサービス情報テーブル404のメモリ構造の一例を示す図である。
図13は、本発明の第2の実施形態に用いるDNSパケットのパケット構成を説明する図である。
図14は、本発明の第2の実施形態に係るネットワークにおいて、各装置の動作を示したシーケンス図である。
図15は、本発明の第2の実施形態に係る中継装置130cにおける動作の詳細を示したフローチャートである。
図16Aは、本発明の第3の実施形態に係る中継装置130の構成の一例を示す機能ブロック図である。
図16Bは、本発明の第3の実施形態に係る中継装置130の構成の一例を示す機能ブロック図である。
図17は、本発明の各実施形態で用いるQoS処理部304の優先制御処理を説明する図である。
図18は、従来の帯域設定方法を説明する図である。
以下、本発明の各実施形態に係る中継装置及び中継装置が実施する方法について、図面を参照しながら説明する。本発明の各実施に係る中継装置、及び中継装置が実施する方法は、多くの異なる種類のネットワークに適用できるが、以下では、電力線通信(Power Line Communications、以下、「PLC」とする)ネットワークに本発明を適用した具体例を説明する。ただし、以下の開示の全てまたは一部は、例えば、無線ネットワーク等、他のネットワーク形式にも適用可能である。
(第1の実施形態)
図1は、本発明の第1の実施形態におけるネットワーク構成の一例を示す図である。図1において、本実施形態のネットワークは、各種の情報提供装置(コンテンツサーバ)100a〜100b、各種の端末装置110a〜110b、及びDNSサーバ120を含んでいる。情報提供装置100a〜100bと端末装置110a〜110bとは、中継装置130a〜130cを介して接続されている。具体的には、端末装置110a〜110bは、中継装置130a〜130bにそれぞれEthernet(登録商標)ケーブルで接続されている。そして、中継装置130a〜130cの各間は、第1のネットワーク(例えば、電力線ネットワーク)140を介して接続されている。また、情報提供装置100a〜100b及びDNSサーバ120は、第2のネットワーク(例えば、インターネット)150を介して、中継装置130cに接続されている。
なお、以下の説明では、中継装置130a〜130cの総称を指す場合、単に中継装置130と記し、端末装置110a〜110bの総称を指す場合、単に端末装置110と記し、情報提供装置100a〜100bの総称を指す場合は、単に情報提供装置100と記す。また、図1に示す例では、中継装置130a〜130cが3つ、端末装置110a〜110bが2つ、情報提供装置100a〜100bが2つの場合を示したが、これらの数はあくまで一例であって、それぞれ任意の数の装置を備えることができるものとする。
情報提供装置100は、各種コンテンツを保有し、端末装置110にコンテンツを送信する。情報提供装置100としては、例えば、端末装置110にAVコンテンツを提供するAVサーバであったり、音楽コンテンツを提供する音楽サーバであってもよい。本実施形態では、情報提供装置100aと情報提供装置100bとは、それぞれ異なるドメイン名と、それぞれ異なるIPアドレスとを有しているものとする。
端末装置110は、情報提供装置100からコンテンツを受信して、映像や音声を再生する機能を有する。端末装置110としては、例えば、テレビやパーソナルコンピュータのような機器であってもよい。図1では、各種端末装置110を端末装置110a、及び端末装置110bとして区別している。
DNSサーバ120は、情報提供装置100aのホスト名を示すドメイン名と、当該ドメイン名に対応する情報提供装置100aのIPアドレスとを対応付け、情報提供装置100bのホスト名を示すドメイン名と、当該ドメイン名に対応する情報提供装置100bのIPアドレスとを対応付ける機能を有する。DNSサーバ120は、端末装置110から情報提供装置100のドメイン名を含むDNS要求パケットを受信すると、DNS要求パケットに含まれるドメイン名を参照する。そして、DNSサーバ120は、DNS応答パケットを送信することにより、当該ドメイン名に対応する情報提供装置100のIPアドレスを端末装置110に回答する。
なお、1つのドメイン名に対応する情報提供装置100の数は1台とは限らず、複数台存在する場合もある。この場合、複数台の情報提供装置100のそれぞれに異なるIPアドレスが割り当てられる。すなわち、DNSサーバ120は、1つのドメイン名に対応する複数個のIPアドレスをDNS応答パケットに付加して、端末装置110に送信する場合もある。
中継装置130a〜130cは、異なる種類のネットワークを介して送受信されるデータを橋渡しするPLCブリッジである。図1の場合、中継装置130a〜130cは、情報提供装置100から送信されるコンテンツや、端末装置110とDNSサーバ120との間で送受信されるDNSパケット等を中継する。また、中継装置130a〜130cは、QoS処理機能を有する。例えば、中継装置130a〜130cの各区間においてコンテンツを送信するために必要な帯域(以下、「要求帯域」とする)を予約する機能、あるいはコンテンツ毎に優先度を設けて、当該優先度に基づいてコンテンツを送信する機能を有する。本実施形態では、中継装置130がQoS対象のコンテンツ毎に優先度を設けて、当該優先度に基づいてコンテンツを送信する機能を有するものとして述べる。また、本実施形態では、中継装置130a〜130cの各区間のQoS処理のみについて述べる。このため、中継装置130aと端末装置110aとの間の区間などのQoS処理については対象外とする。
図2は、本実施形態に係る中継装置130の構成の一例を示す機能ブロック図である。図2において、中継装置130は、通信部(通信デバイス)301、通信部(通信デバイス)303、記憶部316、及び制御部323を備える。なお、図2に示す例では、中継装置130において、第2のネットワーク150から第1のネットワーク140への通信を中継する場合に必要な構成を図示し、第1のネットワーク140から第2のネットワーク150への通信を中継する場合に必要な構成については図示を省略している。
通信部301は、第2のネットワーク150を介して、情報提供装置100やDNSサーバ120とデータの送受信を行う。第2のネットワーク150がインターネットである場合、通信部301は、Ethernet(登録商標)通信部となる。通信部301は、送信部(図示せず)と受信部302とを備える。送信部は、情報提供装置100やDNSサーバ120にデータを送信する機能を有する。受信部302は、通信部301で受信したデータを復調する機能を有する。
通信部303は、電力線ネットワークを介して、中継装置130a、130bとデータの送受信を行う。図2に示す例では、通信部303は、PLC通信部となる。通信部303は、QoS処理部304と、送信部305と、受信部(図示せず)とを備える。送信部305は、通信部303のメディアアクセス制御(MAC:Media Access Control)機能、送信すべきデータを変調する機能を有する。受信部は、通信部303で受信したデータを復調する機能を有する。QoS処理部304の詳細については後述する。
記憶部316は、サービス情報テーブル312と、QoS管理テーブル315とを記憶する。サービス情報テーブル312は、コンテンツの種別を示すドメイン名と、当該ドメイン名に関連する各種パラメータ(以下、サービスパラメータと呼ぶ)と、情報提供装置100のアドレスとを対応付けて記憶している。サービスパラメータには、情報提供装置100から提供されるサービスの名称や、当該ドメイン名に対応するコンテンツの要求帯域、優先度などのコンテンツの送信に関するパラメータが含まれる。なお、このサービス情報テーブル312の詳細は、図3及び図4を用いて後述する。
ここで、ドメイン名について説明する。ドメイン名とは、情報提供装置100のホスト名を示すものである。また、ドメイン名から情報提供装置100の種別を識別できる場合もある。例えば、ドメイン名に「stream」、「video」、「movie」、または「music」などの文字列が含まれる場合、このドメイン名のサーバが、音楽、あるいはビデオのコンテンツを配信する情報提供装置であると識別することが可能である。また、ドメイン名に「game」などの文字列が含まれる場合、このドメイン名のサーバが、ゲームサーバであると識別することが可能である。
ドメイン名におけるトップレベルドメイン、セカンドレベルドメイン、またはサードレベルドメインなどのレベルドメインにより、情報提供装置100から送信されるコンテンツの種別を識別できる場合もある。従って、例えば、情報提供装置100から配信されるコンテンツが、音楽なのか、あるいはビデオなのかということを、このレベルドメインにより識別できる。ドメイン名は、端末装置110とDNSサーバ120との間で送受信されるDNSパケットに含まれる。このため、中継装置130は、DNSサーバ120から送信されるDNSパケットを中継することにより、ドメイン名を取得できる。
QoS管理テーブル315は、QoS処理に関係する各種パラメータを記憶する。QoS管理テーブル315の詳細は、図5にて後述する。なお、中継装置130が、QoS処理を実施しない(すなわち、通信部303がQoS処理部304を備えない)場合には、記憶部316は、必ずしもQoS管理テーブル315を記憶する必要はない(例えば、図16B参照)。
次に、制御部323について説明する。ただし、端末装置110aが情報提供装置100aにコンテンツ取得要求を送信し、情報提供装置100aからコンテンツの取得先が情報提供装置100bに変更されたことを示す応答パケットを、中継装置130が受信した場合を想定する。中継装置130において、制御部323は、端末装置110aから情報提供装置100aに送信されたコンテンツ取得要求に対する応答として、情報提供装置100aから端末装置110aに送信された応答パケットを、受信部302が受信したか否かを判定する。そして、制御部323は、受信部302が受信した応答パケットが転送要求を示すか否かを判定し、応答パケットが転送要求を示す場合、応答パケットに含まれる変更後の情報提供装置100bを示すドメイン名を、変更前の情報提供装置100aのドメイン名と関連付けて、サービス情報テーブル312に記憶する。
制御部323の具体的な構成例について説明する。図2を参照して、制御部323は、DNS検出部310、DNS解析部311、QoS要否判定部313、QoS登録部314、応答パケット検出部320、転送要求解析部321、及びドメイン情報更新部322から構成される。なお、制御部323の構成はあくまで一例であって、上記以外の構成であってもよい。
DNS検出部310は、受信部302で受信されたデータの種別を判定し、当該データがDNS応答パケットである場合、DNS解析部311に転送する。具体的には、DNS検出部310は、受信データのUDP(User Datagram Protocol)ヘッダのポート番号や、TCP(Transmission Control Protocol)ヘッダのポート番号を検査して、ポート番号53であればDNSパケットであると判定できる。また、DNSパケットのフラグ領域にDNS要求かDNS応答かを示す識別子が存在するので、DNS検出部310は、当該識別子を参照して、DNS要求パケットかDNS応答パケットかを判定できる。なお、DNSパケットの構成については、図6にて後述する。
DNS解析部311は、受信したDNS応答パケットに含まれるDNS問い合わせ名(ドメイン名)と、DNS問い合わせ名に対応する回答IPアドレスとを抽出する。DNS解析部311は、抽出したドメイン名と回答IPアドレスとをQoS要否判定部313へ転送する。なお、制御部323がQoS要否判定部313を備えていない場合、DNS解析部311は、QoS要否判定部313の代わりに、回答IPアドレスをサービス情報テーブル312の「情報提供装置アドレス」に登録し、回答IPアドレスを応答パケット検出部320へ転送してもよい。
QoS要否判定部313は、DNS解析部311から転送されたドメイン名が、サービス情報テーブル312に登録されているか否かを確認する。登録されていない場合、QoS要否判定部313は、QoS処理が不要のドメイン名のサービスである判断して、QoS処理を行わない。一方、登録されている場合、QoS要否判定部313は、QoS処理が必要なドメイン名のサービスであると判断して、サービス情報テーブル312から、当該ドメイン名に対応するサービスパラメータを取得する。また、QoS要否判定部313は、DNS解析部311から転送された回答IPアドレスをサービス情報テーブル312の「情報提供装置アドレス」に登録する。次に、QoS要否判定部313は、転送レートや優先度などのサービスパラメータと、DNS解析部311から転送された回答IPアドレスをQoS登録部314へ転送する。また、QoS要否判定部313は、同時に回答IPアドレスを応答パケット検出部320へも転送する。
QoS登録部314は、QoS要否判定部313から転送された転送レート(要求帯域)や優先度、回答IPアドレスをQoS管理テーブル315に登録する。
応答パケット検出部320は、端末装置110aから情報提供装置100aに送信されたコンテンツ取得要求に対する応答として、情報提供装置100aから端末装置110aに送信された応答パケットを、受信部302が受信したか否かを判定する。具体的には、応答パケット検出部320は、受信部302で受信されたデータの種別を判定し、受信データがQoS処理すべき情報提供装置100から送信されたHTTPパケットである場合のみ、受信データを応答パケットとして転送要求解析部321へ転送する。例えば、応答パケット検出部320は、受信データのTCPヘッダのポート番号が80であり、かつQoS要否判定部313から転送された回答IPアドレスと、受信データのIPヘッダの送信元IPアドレスとが一致する場合に、受信データを応答パケットとして転送要求解析部321へ転送する。すなわち、回答IPアドレス以外の情報提供装置から送信されるHTTPパケットは、転送要求解析部321へ転送されない。HTTPパケットの構成については、図7にて後述する。
転送要求解析部321は、受信部302で受信された応答パケットが情報提供装置100からの転送要求であるか否かを判定する。具体例として、転送要求解析部321は、応答パケットとしてのHTTPメッセージを解析して、応答(ステータス)コードがHTTPリダイレクトを示すコードの場合、応答パケットが情報提供装置100からの転送要求であると判定する。応答コードがHTTPリダイレクトを示すコードの場合、転送要求解析部321は、HTTPメッセージに記載されているLocationヘッダの転送先URL(Uniform Resource Locator)、及びIPヘッダの送信元アドレスを、ドメイン情報更新部322へ転送する。HTTPリダイレクトを示す応答コードとしては、”301”や”302”などがある。転送要求解析部321は、QoS対象のコンテンツを配信する情報提供装置100から送信されるHTTPパケットのみが応答パケット検出部320から転送されるため、QoS対象でないコンテンツを配信する情報提供装置から送信されるHTTPパケットを解析する必要がない。この結果、中継装置130は、余分なHTTPパケットの解析処理による負荷を低減することが可能となり、解析負荷増加による通信スループットの低下を回避することができる。
ドメイン情報更新部322は、転送先URLからドメイン名を抽出して、サービス情報テーブル312に登録する。具体的には、ドメイン情報更新部322は、転送された情報提供装置100のアドレスが、サービス情報テーブル312の登録Noのいずれに存在するかを確認する。確認された登録Noに対応するドメイン名が転送先URLであるので、ドメイン情報更新部322は、ドメイン名と転送先URLとを関連付けて、転送先URL内のドメイン名を新たなドメイン名として、サービス情報テーブル312に追加登録する。
QoS処理部304は、帯域予約や優先制御などのQoS処理機能を有する。帯域予約の場合、QoS処理部304は、QoS管理テーブル315を参照して、要求帯域に従って、中継装置130a〜130cの各区間の帯域を予約する。帯域予約とは、通信チャネル(通信周波数)を時間軸で分割したタイムスロットを特定の1つの中継装置130が占有して使用することを意味する。TDMA(Time Division Multiple Access:時分割多元接続)が帯域予約の一例にあたる。他の帯域予約の例としては、HCCA(Hybrid Coordination Function Controlled Channel Access)が、IEEE802.11e規格で標準化されている。
優先制御の場合、QoS処理部304は、QoS管理テーブル315を参照して、受信データに対応付けられた優先度に従って、パケットを送信する。図17は、QoS処理部304における優先制御処理を説明する図である。QoS処理部304は、優先制御処理を行う場合、例えば、図17に示すような機能ブロックを備える。図17を参照して、データ識別部701は、受信データが優先送信すべきパケットか否かを判断する機能を有する。具体的には、データ識別部701は、受信データがQoS管理テーブル315のデータ識別パラメータに一致するか否かで、優先送信すべきパケットか否かを判断する。キュー702は、優先度毎に用意され、優先度としては、例えば、優先度なし(QoS保証なし)や、優先度1〜8などが設定される。優先制御部703は、高い優先度のキュー702からパケットを取り出して、送信する制御を行う。優先制御の一例として、EDCA(Enhanced Distributed Channel Access)がIEEE802.11e規格で標準化されている。本実施形態では、QoS処理部304が優先制御機能を有する例を述べる。
図3及び図4は、図2に示すサービス情報テーブル312のメモリ構造を詳細に表した図である。図3及び図4において、サービス情報テーブル312は、項目「登録No.」、項目「DNS問い合わせ名(ドメイン名)」と、項目「サービスパラメータ」と、項目「情報提供装置アドレス」とを対応付けて記憶する。項目「サービスパラメータ」には、項目「サービス名」、項目「転送レート(bps)」、項目「優先度」、及び項目「Layer4 Protocol」が含まれる。
項目「DNS問い合わせ名(ドメイン名)」には、情報提供装置100のホスト名であるドメイン名が記憶される。なお、このドメイン名は、FQDN(Fully Qualified Domain Name)であってもよいし、ドメイン名のトップレベルドメインなどのコンテンツの種別を示す一部分であってもよい。項目「サービス名」には、当該ドメイン名に対応するサービス名が記憶される。このサービス名には、例えば、当該サービスの提供会社や当該コンテンツの種別などが含まれる。
項目「転送レート(bps)」には、当該ドメイン名に対応するコンテンツの要求帯域を示す転送レートが記憶される。項目「優先度」には、各ドメイン名の送信優先順位を示す優先度が記録されている。この優先度の数値が大きい程、当該ドメイン名の優先順位が高いことを示す。
項目「Layer4 Protocol」には、例えば、TCPやUDPなどの通信プロトコルが記憶される。これはTCPならば双方向リンクでQoS処理をする、あるいは、UDPならば片方向リンク(下りリンクあるいは上りリンク)のみでQoS処理するなどの判断に利用される。項目「情報提供装置アドレス」には、該当ドメイン名に対応する情報提供装置100のアドレスが記憶される。
図3(a)は、更新前のサービス情報テーブル312の設定例を示している。図3(a)において、サービス情報テーブル312は、2個のサービス情報を管理している。1番目(登録No.1−1)のサービス情報は、項目「ドメイン名」に「xx.yy.tv」、項目「サービス名」に「X社テレビ番組配信」、項目「転送レート(bps)」に「10M」、項目「優先度」に「7」、項目「Layer4 Protocol」に「TCP」が記録されている。項目「情報提供装置アドレス」は、初期状態なので未定と記録されている。すなわち、1番目のサービス情報は、「ホスト名がxx.yy.tvの情報提供装置100が保有するコンテンツは、X社のテレビ番組配信サービスにより配信され、このコンテンツが端末装置110に配信されるためには、通信経路上に10Mの帯域を必要とし、優先度7で送信される」ことを示している。
2番目(登録No.2−1)のサービス情報は、項目「ドメイン名」に「abc.xyz.com」、項目「サービス名」に「A社ビデオ配信」、項目「転送レート(bps)」に「6M」、項目「優先度」に「4」、項目「Layer4 Protocol」に「UDP」が記録されている。項目「情報提供装置アドレス」は、初期状態なので未定と記録されている。すなわち、2番目のサービス情報は、「ホスト名がabc.xyz.comの情報提供装置100が保有するコンテンツは、A社のビデオ配信サービスにより配信され、このコンテンツが端末装置110に配信されるためには、通信経路上に6Mの帯域を必要とし、優先度4で送信される」ことを示している。図3(b)には、図3(a)の1番目のサービス情報の項目「情報提供装置アドレス」に、IPアドレス「10.20.30.1」が登録された様子を示している。
また、図4(a)、(b)は、更新後のサービス情報テーブル312の設定例を示している。サービス情報テーブル312の更新例については後述する。
図5は、図2に示すQoS管理テーブル315のメモリ構造の一例を表した図である。図5において、QoS管理テーブル315は、各種QoSパラメータを記憶し、項目「データ識別パラメータ」と、項目「データ保証パラメータ」とを対応付けて記憶している。項目「データ識別パラメータ」には、項目「送信元アドレス」、項目「宛先アドレス」、及び項目「Layer4 Protocol」が含まれる。一方、項目「データ保証パラメータ」には、項目「要求帯域(bps)」、及び項目「優先度」が含まれる。送信元アドレス、宛先アドレスはIPアドレスであってもよいし、MACアドレスであってもよい。本実施形態では、IPアドレスとして述べる。
図5(a)において、QoS管理テーブル315の1番目(登録No.1)には、項目「送信元アドレス」に「10.20.30.1」、項目「宛先アドレス」に「192.168.0.8」、項目「Layer4 Protocol」に「TCP」が設定されている。また、項目「要求帯域(bps)」に「10M」、項目「優先度」に「7」が設定されている。すなわち、登録No.1は、「IPアドレスが10.20.30.1の情報提供装置100から、IPアドレスが192.168.0.8の端末装置110にコンテンツを優先度7で送信する、あるいは通信帯域が10Mbps予約されている」ことを示している。図5(b)についての説明は省略する。
図6は、DNSパケットのパケット構成を説明する図である。図6(a)には、DNSパケットのフォーマットを示す。図6(b)、(c)には、DNSパケットのQueryフィールド、及びAnswerフィールドに値が設定された例として、DNS応答パケットA、Bを示す。図6(a)において、DNSパケットは、「Ethernetヘッダ」、「IPヘッダ」、「UDP(TCP)ヘッダ」、「DNSメッセージ」、「FCS(Frame Check Sequence)」の各フィールドから構成される。また、「DNSメッセージ」には、「DNS問い合わせ名(ドメイン名)」、「Type(問い合わせ種別)」、及び「回答データ」の各フィールドが含まれる。
「DNS問い合わせ名(ドメイン名)」には、情報提供装置100のホスト名を示すドメイン名が格納される。「Type(問い合わせ種別)」には、DNSで問い合わせるIPアドレスの種別が格納される。例えば、「問い合わせ種別」に「1」が格納されている場合、DNS問い合わせ名に対応するIPv4のIPアドレスであることを示す。一方、「問い合わせ種別」に「28」が格納されている場合、DNS問い合わせ名に対応するIPv6のIPアドレスであることを示す。
「回答データ」には、問い合わせたドメイン名に対応する情報提供装置100のIPアドレス(以下、回答IPアドレスとする)が格納される。DNS応答パケットを受信した端末装置110は、この回答IPアドレスを、接続先のIPアドレスとして設定する。また、情報提供装置100が複数台ある場合、DNS応答パケットには、複数の回答IPアドレスが格納される。この場合、端末装置110は、複数の回答IPアドレスから、任意に選択した1つのIPアドレスを接続先のIPアドレスとして設定する。
図7は、HTTPパケットのパケット構成を示した図である。図7(a)において、HTTPパケットは、「Ethernetヘッダ」、「IPヘッダ」、「TCPヘッダ」、「HTTPメッセージ」、及び「FCS」の各フィールドから構成される。「HTTPメッセージ」には、GETメソッドなどの取得要求コマンド、応答(ステータス)コード、あるいはコンテンツデータなどが格納される。
図7(b)は、HTTPメッセージ応答のHTTPリダイレクト(転送要求)の一例を示す。図7(b)を参照して、応答コードは”302”であり、転送要求先のURLには「http://xx.yy.001.tv」が含まれる。図7(c)は、HTTPメッセージ応答を示す。図7(c)を参照して、応答コードは”200”であり、要求に対する正常成功を示す。
以上のように構成された中継装置130cのテーブル更新方法について、図面を用いて説明する。図8、9は、本実施形態に係るネットワークにおいて、各装置の動作を示したシーケンス図である。まず、図8を用いて、HTTPリダイレクトが発生しない場合について、図1に示す端末装置110aから情報提供装置100aにコンテンツの取得要求がある場合を例に各装置の動作を説明する。
図8を参照して、端末装置110aは、ユーザによりコンテンツの再生操作が行われると(ステップS501)、DNS要求パケットに情報提供装置100aのドメイン名「xx.yy.tv」を書き込んで、DNSサーバ120に向けて送信する(ステップS502)。
DNSサーバ120は、中継装置130a、130cを介して、DNS要求パケットを受信すると、情報提供装置100aのドメイン名に対応するIPアドレスをDNS応答パケットに書き込み、中継装置130cに返信する(ステップS503)。このときのDNS応答パケットを、DNS応答パケットAとして図6(b)に示す。DNS要求パケットに含まれるドメイン名が「xx.yy.tv」、Typeが「1(=IPv4)」の場合、DNS応答パケットAの「回答データ」には、情報提供装置100aのIPアドレスである「10.20.30.1」が書き込まれる。
中継装置130cは、DNSサーバ120からDNS応答パケットAを受信すると、中継装置130aとの間の通信経路で、ドメイン名に対応するコンテンツ送信に対して、QoS処理が必要か否かを判断する(ステップS504)。QoS処理が必要である場合、中継装置130cは、QoS処理を行う(ステップS505)。具体的には、中継装置130cは、DNS応答パケットAのDNS問い合わせ名「xx.yy.tv」が、サービス情報テーブル312に登録されている場合に、QoS処理が必要であると判断する。
例えば、サービス情報テーブル312(図3(a)参照)には、登録No.1−1に、ドメイン名「xx.yy.tv」が登録されている。このため、中継装置130cは、ドメイン名「xx.yy.tv」に対応するサービスパラメータ(転送レート10Mbps、優先度7、TCP)を、サービス情報テーブル312から取得する。次に、中継装置130cは、QoS登録部314を介して、サービスパラメータ(転送レート10Mbps、優先度7、TCP)をQoS管理テーブル315に登録する。図5(a)は、設定されたQoS管理テーブル315を示す。図5(a)を参照して、送信元アドレス「10.20.30.1」は、DNS応答パケットAの回答IPアドレス(情報提供装置100aのIPアドレス)である。また、宛先アドレス「192.168.0.8」は、DNS応答パケットAのIPヘッダの宛先IPアドレスであり、端末装置110aのIPアドレスとなる。
その後、中継装置130cは、中継装置130aを介して、DNS応答パケットを端末装置110aに返信する(ステップS506)。端末装置110aは、中継装置130aを介してDNS応答パケットを受信すると、このDNS応答パケットに含まれる回答IPアドレスを参照する。この場合、回答IPアドレスには、情報提供装置100aのIPアドレスが書き込まれているので、端末装置110aは、宛先を情報提供装置100aとしてコンテンツの取得要求を送信する(ステップS507)。
情報提供装置100aは、中継装置130a、130cを介して、コンテンツ取得要求を受信すると、取得応答を送信する(ステップS508)。また、情報提供装置100aは、直ちに端末装置110aにコンテンツを配信する(ステップS509)。端末装置110aは、情報提供装置100aからコンテンツを受信し、コンテンツの再生を行う(ステップS510)。コンテンツ配信中において、中継装置130cは、QoS管理テーブル315のデータ識別パラメータに一致するコンテンツを受信すると、データ保証パラメータに基づいて優先制御のQoS処理を行い、中継装置130cと中継装置130aとの間の区間の通信品質保証を実現する。
図9は、本実施形態に係るネットワークにおいて、コンテンツを送信する情報提供装置が、情報提供装置100aから情報提供装置100bへ変更された場合、すなわちHTTPリダイレクトが使用された場合の各装置の動作を示したシーケンス図である。この場合、中継装置130cは、情報提供装置100aからの取得応答(転送要求)を解析して、サービス情報テーブル312を更新する。
図9を参照して、端末装置110aは、ユーザによりコンテンツの再生操作が行われると(ステップS601)、DNS要求パケットに情報提供装置100aのドメイン名「xx.yy.tv」を書き込んで、DNSサーバ120に送信する(ステップS602)。DNSサーバ120は、中継装置130a,130cを介して、DNS要求パケットを受信すると、ドメイン名に対応する情報提供装置100aのIPアドレスをDNS応答パケットに書き込み、中継装置130cに返信する(ステップS603)。このときのDNS応答パケットを、DNS応答パケットAとして図6(b)に示す。DNS要求パケットに含まれるドメイン名が「xx.yy.tv」、Typeが「1(=IPv4)」の場合、DNS応答パケットAの「回答データ」には、情報提供装置100aのIPアドレスである「10.20.30.1」が書き込まれる。
中継装置130cは、DNSサーバ120からDNS応答パケットAを受信すると、中継装置130aとの間の通信経路で、ドメイン名「xx.yy.tv」に対応するコンテンツ送信に対して、QoS処理が必要であるか否かを判断する(ステップS604)。QoS処理が必要である場合、中継装置130cは、QoS処理を行う(ステップS605)。具体的には、中継装置130cは、DNS応答パケットAのDNS問い合わせ名「xx.yy.tv」が、サービス情報テーブル312に登録されている場合に、QoS処理が必要であると判断する。
例えば、サービス情報テーブル312(図3(a)参照)には、登録No.1−1に、ドメイン名「xx.yy.tv」が登録されている。このため、中継装置130cは、ドメイン名「xx.yy.tv」のサービスパラメータ(転送レート10Mbps、優先度7、TCP)を、サービス情報テーブル312から取得する。次に、中継装置130cは、DNS応答パケットAの回答IPアドレスをサービス情報テーブル312に記憶する。図3(b)は、サービス情報テーブル312に、情報提供装置100aのIPアドレス「10.20.30.1」が記憶されていることを示す。
次に、中継装置130cは、QoS登録部314を介して、サービスパラメータ(転送レート10Mbps、優先度7、TCP)をQoS管理テーブル315に登録する。図5(a)は、設定されたQoS管理テーブル315を示す。図5(a)を参照して、送信元アドレス「10.20.30.1」は、DNS応答パケットAの回答IPアドレス(情報提供装置100aのIPアドレス)である。また、宛先アドレス「192.168.0.8」は、DNS応答パケットAのIPヘッダの宛先IPアドレスであり、端末装置110aのIPアドレスとなる。
その後、中継装置130cは、中継装置130aを介して、DNS応答パケットAを端末装置110aに返信する(ステップS606)。端末装置110aは、中継装置130aを介してDNS応答パケットAを受信すると、このDNS応答パケットAに含まれる回答IPアドレスを参照する。この場合、回答IPアドレスには情報提供装置100aのIPアドレスが書き込まれているので、端末装置110aは、宛先を情報提供装置100aとしてコンテンツの取得要求を送信する(ステップS607)。
情報提供装置100aは、コンテンツの取得要求を受信すると、要求されたコンテンツが情報提供装置100bに存在することを認識しているため、情報提供装置100bへの転送要求(取得応答)を送信する(ステップS608)。転送要求には、情報提供装置100bのドメイン名「http://xx.yy.001.tv」が含まれる。情報提供装置100aは、例えば、図7(b)に示すHTTPリダイレクトを利用して転送要求を送信する。
中継装置130cは、応答パケット検出部320で情報提供装置100aからの取得応答を検出すると、転送要求解析部321で転送要求であるか否かを解析する(ステップS609)。これはHTTPメッセージの応答コードを検査して判断する。図7(b)のHTTPメッセージは、応答コードが”302”であり、転送要求であると判断される。中継装置130cは、転送要求解析部321にてHTTPメッセージに含まれるLocationヘッダの転送先URLを取得する。この転送先URLが情報提供装置100bのドメイン名「xx.yy.001.tv」である。
中継装置130cは、ドメイン情報更新部322を用いて、情報提供装置100bのドメイン名をサービス情報テーブル312に登録して、サービス情報テーブル312を更新する(ステップS610)。具体的には、中継装置130cは、情報提供装置100aのIPアドレス「10.20.30.1」がサービス情報テーブル312の登録Noのいずれに記録されているか否かを確認する。図3(b)に示すサービス情報テーブル312の例では、IPアドレス「10.20.30.1」が登録No.1−1に記録されている。このため、ドメイン情報更新部322は、情報提供装置100aのドメイン名「xx.yy.tv」の転送先を、情報提供装置100bのドメイン名「xx.yy.001.tv」と対応付けることができる。
次に、ドメイン情報更新部322は、図4(a)に示すように、サービス情報テーブル312の登録No.1−2に、情報提供装置100bのドメイン名を追加登録する。この際、サービスパラメータは、登録No.1−1から登録No.1−2にコピーされる。その後、中継装置130cは、取得応答を端末装置110aに送信する(ステップS611)。
端末装置110aは、取得応答でHTTPリダイレクトを認識すると、情報提供装置100bのIPアドレスを調べるために、DNSサーバ120にDNS要求パケットを送信する(ステップS612)。DNS要求パケットには、情報提供装置100bのドメイン名「xx.yy.001.tv」が書き込まれている。
DNSサーバ120は、DNS要求パケットを受信すると、ドメイン名に対応する情報提供装置100bのIPアドレスをDNS応答パケットに書き込み、中継装置130cに返信する(ステップS613)。このときのDNS応答パケットを、DNS応答パケットBとして図6(c)に示す。DNS要求パケットに含まれる情報提供装置100bのドメイン名が「xx.yy.001.tv」、Typeが「1(=IPv4)」の場合、DNS応答パケットBの「回答データ」には、情報提供装置100bのIPアドレスである「10.20.30.3」が書き込まれる。
中継装置130cは、DNSサーバ120からDNS応答パケットBを受信すると、中継装置130aとの間の通信経路で、ドメイン名「xx.yy.001.tv」に対応するコンテンツ送信に対して、QoS処理が必要か否かを判断する(ステップS614)。QoS処理が必要である場合、中継装置130cは、QoS処理を行う(ステップS615)。具体的には、中継装置130cは、DNS応答パケットBのDNS問い合わせ名「xx.yy.001.tv」が、サービス情報テーブル312に登録されているか否かで、QoS処理が必要か否かを判断する。
図9のステップS610の処理を行ったことにより、例えば、サービス情報テーブル312(図4(a)参照)には、登録No.1−2に、ドメイン名「xx.yy.001.tv」が登録されている。このため、中継装置130cは、当該ドメイン名のサービスパラメータ(転送レート10Mbps、優先度7、TCP)を取得する。次に、中継装置130cは、DNS応答パケットBの回答IPアドレスをサービス情報テーブル312に記憶する。図4(b)は、サービス情報テーブル312に、情報提供装置のアドレス「10.20.30.3」が記憶されたことを示す。
次に、中継装置130cは、QoS登録部314を介して、サービスパラメータ(転送レート10Mbps、優先度7、TCP)をQoS管理テーブル315に登録する。図5(b)は設定されたQoS管理テーブル315を示す。ここで、送信元アドレス「10.20.30.3」は、DNS応答パケットBの回答IPアドレス(情報提供装置100bのIPアドレス)である。また、宛先アドレス「192.168.0.8」は、DNS応答パケットBのIPヘッダの宛先IPアドレスであり、端末装置110aのIPアドレスとなる。
その後、中継装置130cは、中継装置130aを介して、DNS応答パケットBを端末装置110aに返信する(ステップS616)。端末装置110aは、中継装置130aを介してDNS応答パケットBを受信すると、当該DNS応答パケットBに含まれる回答IPアドレスを参照する。この場合、回答IPアドレスには、情報提供装置100bのIPアドレスが書き込まれているので、端末装置110aは、宛先を情報提供装置100bとしてコンテンツの取得要求を送信する(ステップS617)。
情報提供装置100bは、コンテンツ取得要求を受信すると、取得応答を送信する(ステップS618)。例えば、情報提供装置100bは、取得応答として、図7(c)に示すHTTPパケットを送信する。中継装置130cは、応答パケット検出部320を介して、情報提供装置100bからの取得応答を検出すると、転送要求であるか否かを解析する(ステップS619)。これはHTTPメッセージの応答コードを検査して判断する。図7(c)のHTTPメッセージでは、応答コードが200であり、転送要求でないと判断する。転送要求でない場合、中継装置130cは、サービス情報テーブル312の更新は行わない。
その後、中継装置130cは、取得応答を端末装置110aへ送信する(ステップS620)。情報提供装置100bは、取得応答送信後直ちに端末装置110aにコンテンツを配信する(ステップS621)。また、情報提供装置100bが送信する取得応答にもコンテンツの一部が含まれる場合もある。
端末装置110aは、情報提供装置100bからコンテンツを受信し、コンテンツの再生を行う(ステップS622)。コンテンツ配信中において、中継装置130cは、QoS管理テーブル315のデータ識別パラメータに一致するパケットを受信すると、データ保証パラメータに基づいて優先制御のQoS処理を行い、中継装置130c、130a区間の通信品質保証を実現する。
図10は、図9のステップS604、S605、S609,S610における中継装置130cの動作の詳細を示すフローチャートである。中継装置130cにおいて、DNS検出部310は、受信部302が受信した受信データの種別を判定し、受信データがDNS応答パケットAであると判定する(ステップS1101)。DNS解析部311は、DNS応答パケットAを解析して(ステップS1102)、問い合わせ名(ドメイン名)及び回答IPアドレスを取得する(ステップS1103)。
次に、QoS要否判定部313は、取得したドメイン名がサービス情報テーブル312に存在するか否かを判断する(ステップS1104)。取得したドメイン名がサービス情報テーブル312に存在しない場合、QoS要否判定部313は、QoS処理が不要なコンテンツ送信であると判断する。この場合、中継装置130cは、QoS処理しないで、DNS応答パケットを送信する(ステップS1105)。一方、取得したドメイン名がサービス情報テーブル312に存在する場合、QoS要否判定部313は、QoS登録部314を介して、サービス情報テーブル312のサービスパラメータと回答IPアドレスとをQoS管理テーブル315に登録する(ステップS1106)。また、QoS要否判定部313は、回答IPアドレスをサービス情報テーブル312における該当ドメイン名の「情報提供装置アドレス」に記録する。
次に、中継装置130cは、DNS応答パケットAを送信する(ステップS1107)。その後、中継装置130cは、回答IPアドレスである情報提供装置100aからの取得応答を受信すると(ステップS1108)、取得応答を解析する(ステップS1109、図9のステップS609)。取得応答が転送要求(HTTPリダイレクト)でない場合、中継装置130cは、取得応答を送信する(ステップS1113)。
一方、取得応答が転送要求(HTTPリダイレクト)である場合、中継装置130cは、転送要求に含まれる転送先URLから転送先の情報提供装置100bのドメイン名を抽出する(ステップS1111)。その後、中継装置130cは、情報提供装置100aのドメイン名と、情報提供装置100bのドメイン名とを関連付けて、サービス情報テーブル312を更新する(ステップS1112)。更新前のサービス情報テーブルを図3(b)に、更新後のサービス情報テーブルを図4(a)に示す。関連付けには、サービス情報テーブル312の「情報提供装置アドレス」を利用する。その後、中継装置130cは、取得応答を送信する(ステップS1113、図9のステップS611)。
以上のように、本発明の第1の実施形態によると、中継装置130cは、接続予定の情報提供装置がドメイン名の異なる情報提供装置に変更された場合でも、情報提供装置が端末装置に対して送信する転送要求(HTTPリダイレクト)を解析することで、情報提供装置のドメイン名の変更を検出して、ドメイン名と当該ドメイン名に対応するサービスパラメータとを対応付けたサービス情報テーブル312を更新する。これにより、中継装置は、異なるドメイン名の情報提供装置から配信されるコンテンツを識別してQoS処理を行うことで、通信品質を保証することが可能となる。その結果、ユーザは、映像途切れや乱れのない高品質なコンテンツ視聴を行うことができる。
また、中継装置130cは、データの中継転送機能にCPU(Central Processing Unit)や、メモリ等のリソースを最適化設計しているため、全てのHTTPパケットのペイロード(メッセージ)部を解析処理すると、CPU負荷(CPU使用率)増加により通信スループット(通信レート)が低下する恐れがある。このため、中継装置130cは、DNS応答パケットに含まれるQoS対象のコンテンツを送信する情報提供装置のIPアドレスを指定して、情報提供装置から送信されるHTTPパケットのペイロード部を解析し、指定されたIPアドレスを有する情報提供装置以外のサーバから送信されるHTTPパケットを解析しないようにする。これにより、中継装置は、全てのHTTPパケットのペイロード(メッセージ)部を解析処理する必要がなくなり、CPU負荷増加を抑制し、通信スループット低下を回避することができる。
(第2の実施形態)
第1の実施形態では、中継装置130は、DNS応答パケットのドメイン名に基づいてQoS処理の要否判定を行い、QoS処理の必要がある場合、QoS処理を行うと共に、情報提供装置100aから端末装置110aに送信される取得応答を解析して、別の情報提供装置100bへの転送要求であると、転送先ドメイン名をサービス情報テーブル312に追加登録していた。その結果、異なるドメイン名の情報提供装置100bからコンテンツが配信された場合に、中継装置130においてQoS処理できずに乱れた映像配信が行われることを防止できた。
一方、第2の実施形態では、DNS応答パケットにCNAME(Canonical NAME for an alias)として、別名のドメイン名が付加されていた場合に、中継装置130cがDNS応答パケットから別名のドメイン名を抽出して、サービス情報テーブル312を更新する形態を説明する。これにより、中継装置130cは、別名のドメイン名の情報提供装置からコンテンツが配信された場合に、QoS処理できずに乱れた映像配信が行われることを防止できる。
本発明の第2の実施形態におけるネットワークの構成は、第1の実施形態の図1と同様であり、ここでは説明を省略する。図11は、本発明の第2の実施形態における中継装置130の機能ブロック図である。図2で述べた各機能ブロックと同一の構成については、同一の参照符号を付与し、ここでは説明を省略する。
図11を参照して、サービス情報テーブル404は、コンテンツの種別を示すドメイン名と、当該ドメイン名に関連する各種パラメータ(以下、「サービスパラメータ」とする)とを対応付けて記憶している。サービスパラメータには、情報提供装置100から提供されるサービスの名称や、当該ドメイン名に対応するコンテンツの要求帯域や優先度などが含まれる。なお、このサービス情報テーブル404の詳細は、図12にて後述する。
サービス情報テーブル404において、第1の実施形態に係るサービス情報テーブル312との違いは、項目「情報提供装置アドレス」の有無である。サービス情報テーブル312における「情報提供装置アドレス」は、追加登録するドメイン名と現登録ドメイン名との対応付けに利用した。しかし、第2の実施形態では、「情報提供装置アドレス」を利用せずに追加登録するドメイン名と現登録ドメイン名との対応付けが可能であり、サービス情報テーブル404では、項目「情報提供装置アドレス」を削除した。また、ドメイン名の説明は、第1の実施形態と同様であり、省略する。
DNS解析部401は、受信したDNS応答パケットに含まれるDNS問い合わせ名(ドメイン名)、Type、及び回答データを抽出して、QoS要否判定部402へ転送する。なお、DNSパケットの構成については、図13にて後述する。DNS応答パケットのTypeが1あるいは28の場合、回答データはIPアドレスとなる。一方、Typeが5の場合、これは別名のドメイン名を示すCNAMEを示し、回答データは別名のドメイン名となる。
QoS要否判定部402は、DNS解析部401から転送されたTypeを検査する。Typeが1あるいは28である場合、QoS要否判定部402は、図2のQoS要否判定部313と同様の動作をするため、ここでは説明を省略する。一方、Typeが5(=CNAME)の場合、QoS要否判定部402は、DNS解析部401から転送されたドメイン名が、サービス情報テーブル404に登録されているか否かを確認する。登録されていない場合、QoS要否判定部402は、QoS処理が不要のドメイン名のサービスである判断して、制御を終了する。一方、登録されている場合、QoS要否判定部402は、QoS処理が必要なサービスと判断して、回答データである別名のドメイン名、及びDNS問い合わせ名(ドメイン名)をドメイン情報更新部403へ転送する。
ドメイン情報更新部403は、転送された別名のドメイン名をサービス情報テーブル404に登録する。具体的には、ドメイン情報更新部403は、DNS問い合わせ名がサービス情報テーブル404の登録Noのいずれに存在するかを確認する。確認された登録Noのドメイン名の別名が、QoS要否判定部402から転送された別名のドメイン名である場合、ドメイン情報更新部403は、これらを関連付けて、別名のドメイン名をサービス情報テーブル404に追加登録する。
図12は、図11に示すサービス情報テーブル404のメモリ構造を詳細に表した図である。図12(a)において、サービス情報テーブル404は、項目「DNS問い合わせ名(ドメイン名)」と、項目「サービスパラメータ」とを対応付けて記憶する。項目「サービスパラメータ」には、項目「サービス名」、項目「転送レート(bps)」、項目「優先度」、及び項目「Layer4 Protocol」が含まれる。項目「DNS問い合わせ名(ドメイン名)」には、情報提供装置100のホスト名であるドメイン名が記憶される。なお、このドメイン名は、FQDN(Fully Qualified Domain Name)であってもよいし、ドメイン名のトップレベルドメインなどのコンテンツの種別を示せる一部分であってもよい。
項目「サービス名」には、ドメイン名に対応するサービス名が記憶される。このサービス名には、例えば、サービスの提供会社やコンテンツの種別などが含まれる。項目「転送レート(bps)」には、ドメイン名に対応するコンテンツの要求帯域を示す転送レートが記憶される。項目「優先度」には、各ドメイン名の送信優先順位を示す優先度が記録されている。この優先度の数値が大きいほど、当該ドメイン名の優先順位が高いことを示す。
項目「Layer4 Protocol」には、例えば、TCPやUDPなどの通信プロトコルが記憶される。この項目がTCPならば双方向リンクでQoS処理をする、あるいはUDPならば片方向リンク(下りリンクあるいは上りリンク)のみでQoS処理をするなどの判断に利用される。
図12(a)において、サービス情報テーブル404は、2個のサービス情報を管理している。1番目(登録No.1−1)のサービス情報は、項目「ドメイン名」に「xx.yy.tv」、項目「サービス名」に「X社テレビ番組配信」、項目「転送レート(bps)」に「10M」、項目「優先度」に「7」、項目「Layer4 Protocol」に「TCP」が記録されている。すなわち、1番目のサービス情報は、「ホスト名がxx.yy.tvの情報提供装置100が保有するコンテンツは、X社のテレビ番組配信サービスにより配信され、このコンテンツが端末装置110に配信されるためには、通信経路上に10Mの帯域を必要とし、優先度7で送信される」ことを示している。
2番目(登録No.2−1)のサービス情報は、項目「ドメイン名」に「abc.xyz.com」、項目「サービス名」に「A社ビデオ配信」、項目「転送レート(bps)」に「6M」、項目「優先度」に「4」、項目「Layer4 Protocol」に「UDP」が記録されている。すなわち、2番目のサービス情報は、「ホスト名がabc.xyz.comの情報提供装置100が保有するコンテンツは、A社のビデオ配信サービスにより配信され、このコンテンツが端末装置110に配信されるためには、通信経路上に6Mの帯域を必要とし、優先度4で送信される」ことを示している。
図13は、DNSパケットのパケット構成を説明する図である。図13(a)には、DNSパケットのフォーマットを示す。図13(b)、(c)には、DNSパケットのQueryフィールド、及びAnswerフィールドに値が設定された例として、DNS応答パケットC、Dを示す。図13(a)において、DNSパケットは、「Ethernetヘッダ」、「IPヘッダ」、「UDP(TCP)ヘッダ」、「DNSメッセージ」、及び「FCS」の各フィールドから構成される。また、「DNSメッセージ」には、「DNS問い合わせ名(ドメイン名)」、「Type(問い合わせ種別)」及び「回答データ」の各フィールドが含まれる。
図13(b)には、DNS応答パケットCの一例を示す。図13(b)を参照して、「DNS問い合わせ名(ドメイン名)」には、情報提供装置100aのホスト名を示すドメイン名「xx.yy.tv」が格納される。「Type(問い合わせ種別)」には、DNSで問い合わせる種別が格納される。「Type」に「5」が格納されている場合、回答データは、DNS問い合わせ名に対応する別名のドメイン名であることを示す。「回答データ」には、情報提供装置100aの別名のドメイン名「xx.yy.001.tv」が格納される。
端末装置110aは、DNS応答パケットCを受信すると、Typeが5(=CNAME)であり、回答データに別名のドメイン名が格納されている場合、情報提供装置100aの別名のドメイン名を「DNS問い合わせ名」に格納したDNS要求パケットをDNSサーバ120に送信する。その後、端末装置110aは、DNSサーバ120から図13(c)に記すようなDNS応答パケットDを受信する。DNS応答パケットDには、情報提供装置100aの別名のドメイン名「xx.yy.001.tv」に対応するIPアドレス「10.20.30.1」が書き込まれている。端末装置110aは、DNS応答パケットDを受信すると、回答IPアドレスに含まれる情報提供装置100aのIPアドレスを、接続先のIPアドレスとして設定する。
以下、以上のように構成された中継装置130cのテーブル更新方法について、図面を用いてその動作を説明する。図14は、本発明の第2の実施形態に係るネットワークにおいて、各機器の動作を示したシーケンス図である。この場合、中継装置130cは、DNSサーバ120からCNAMEのDNS応答パケットC(図13(b))を受信解析して、サービス情報テーブル404を更新する。
図14を参照して、端末装置110aは、ユーザによりコンテンツの再生操作が行われると(ステップS801)、DNS要求パケットに情報提供装置100aのドメイン名「xx.yy.tv」を書き込んでDNSサーバ120に送信する(ステップS802)。DNSサーバ120は、DNS要求パケットを受信すると、情報提供装置100aの別名のドメイン名をDNS応答パケットに書き込み、中継装置130cに返信する(ステップS803)。このときのDNS応答パケットを、DNS応答パケットCとして図13(b)に示す。DNS要求パケットに含まれるドメイン名が「xx.yy.tv」、Typeが「1(=IPv4)」の場合、DNS応答パケットCには、Typeに「5(=CNAME)」が、回答データに情報提供装置100aの別名のドメイン名である「xx.yy.001.tv」が書き込まれる。
中継装置130cは、DNSサーバ120からDNS応答パケットCを受信すると、中継装置130aとの間の通信経路で、ドメイン名に対応するコンテンツ送信に対して、QoS処理が必要か否かを判断する(ステップS804)。具体的には、中継装置130cは、DNS応答パケットCのDNS問い合わせ名「xx.yy.tv」が、サービス情報テーブル404に登録されているか否かで、QoS処理が必要か否かを判断する。図12(a)のサービス情報テーブル404には、「xx.yy.tv」が登録No.1−1に登録されており、QoS処理が必要と判断できる。
次に、中継装置130cは、DNS応答パケットCのTypeが5(=CNAME)であるか否かを検査する(ステップS805)。ここで、Typeが1、あるいは28の場合、中継装置130cは、第1の実施形態と同様に、該当ドメイン名のサービスパラメータをサービス情報テーブル404より取得して、QoS登録部314を介して、当該取得したサービスパラメータをQoS管理テーブル315に登録する。
一方、Typeが5の場合、DNS応答パケットCの回答データには、情報提供装置100aのIPアドレスでなく、別名のドメイン名が記載されている。中継装置130cは、ドメイン情報更新部403を用いて、情報提供装置100aの別名のドメイン名「xx.yy.001.tv」をサービス情報テーブル404に登録することで、サービス情報テーブル404を更新する(ステップS806)。
具体的には、中継装置130cは、DNS応答パケットCのDNS問い合わせ名「xx.yy.tv」がサービス情報テーブル404の登録Noのいずれに記録されているか否かを確認する。図12(a)に示す例では、「xx.yy.tv」が登録No.1−1に記録されており、ドメイン情報更新部403は、情報提供装置100aのドメイン名「xx.yy.tv」の別名が、「xx.yy.001.tv」であると対応付けることができる。ドメイン情報更新部403は、図12(b)に示すように、登録No.1−2に、情報提供装置100aのドメイン名を追加登録する。この際、サービスパラメータは、登録No.1−1から登録No.1−2にコピーされる。その後、中継装置130cは、中継装置130aを介して、DNS応答パケットCを端末装置110aに返信する(ステップS807)。
端末装置110aは、DNS応答パケットCを受信すると、このDNS応答パケットCに含まれるType及び回答データを参照する。この場合、回答データには情報提供装置100aの別名のドメイン名「xx.yy.001.tv」が書き込まれている。このため、端末装置110aは、別名のドメイン名に対応するIPアドレスを調べるために、別名のドメイン名をDNS問い合わせ名としたDNS要求パケットをDNSサーバ120に送信する(ステップS808)。
DNSサーバ120は、DNS要求パケットを受信すると、別名のドメイン名に対応する情報提供装置100aのIPアドレスをDNS応答パケットに書き込み、中継装置130cに返信する(ステップS809)。このときのDNS応答パケットを、DNS応答パケットDとして図13(c)に示す。DNS要求パケットに含まれる情報提供装置100aの別名のドメイン名が「xx.yy.001.tv」、Typeが「1(=IPv4)」の場合、DNS応答パケットDの「回答データ」には、情報提供装置100aのIPアドレスである「10.20.30.1」が書き込まれる。
中継装置130cは、DNSサーバ120からDNS応答パケットDを受信すると、中継装置130aとの間の通信経路で、ドメイン名に対応するコンテンツ送信に対して、QoS処理が必要か否かを判断する(ステップS810)。QoS処理が必要である場合、中継装置130cは、QoS処理を行う(ステップS811)。具体的には、中継装置130cは、DNS応答パケットDのDNS問い合わせ名「xx.yy.001.tv」が、サービス情報テーブル404に登録されているか否かで、QoS処理が必要か否かを判断する。
中継装置130cが、図14のステップS806の処理を行ったことにより、例えば、サービス情報テーブル404(図12(b)参照)には、登録No.1−2に、ドメイン名「xx.yy.001.tv」が登録されている。このため、中継装置130cは、サービス情報テーブル404から、該当ドメイン名のサービスパラメータ(転送レート10Mbps、優先度7、TCP)を取得する。次に、中継装置130cは、QoS登録部314を介して、サービスパラメータ(転送レート10Mbps、優先度7、TCP)をQoS管理テーブル315に登録する。QoS管理テーブル315への登録方法は、第1の実施形態と同様であり、説明を省略する。その後、中継装置130cは、中継装置130aを介して、DNS応答パケットDを端末装置110aに返信する(ステップS812)。
端末装置110aは、中継装置130aを介してDNS応答パケットDを受信すると、このDNS応答パケットDに含まれる回答IPアドレスを参照する。この場合、回答IPアドレスには情報提供装置100aのIPアドレスが書き込まれているので、端末装置110aは、宛先を情報提供装置100aとしてコンテンツの取得要求を送信する(ステップS813)。
情報提供装置100aは、コンテンツ取得要求に対する取得応答を端末装置110aに送信する(ステップS814)。例えば、取得応答として図7(c)に示すHTTPパケットを送信する。情報提供装置100aは、取得応答送信後直ちに端末装置110aにコンテンツを配信する(ステップS815)。また、情報提供装置100aが送信する取得応答にもコンテンツの一部が含まれる場合もある。端末装置110aは、情報提供装置100aからコンテンツを受信し、コンテンツの再生を行う(ステップS816)。コンテンツ配信中において、中継装置130cは、QoS管理テーブル315のデータ識別パラメータに一致するコンテンツを受信すると、データ保証パラメータに基づいて優先制御のQoS処理を行い、中継装置130c、130a区間の通信品質保証を実現する。
図15は、図14のステップS804、S805、S806における中継装置130cの動作を示すフローチャートである。中継装置130cにおいて、DNS検出部310は、受信部302が受信した受信データの種別を判定し、受信データがDNS応答パケットCであると判定する(ステップS1201)。DNS解析部311は、DNS応答パケットCを解析して(ステップS1202)、問い合わせ名(ドメイン名)、Type、及び回答データを取得する(ステップS1203)。
次に、QoS要否判定部402は、取得したドメイン名が図12に示すサービス情報テーブル404に存在するか否かを判断する(ステップS1204)。ドメイン名がサービス情報テーブル404に存在しない場合、QoS要否判定部402は、QoS処理が不要なコンテンツ送信と判断して、DNS応答パケットを送信する(ステップS1210)。一方、ドメイン名がサービス情報テーブル404に存在する場合、QoS要否判定部402は、TypeがCNAME(=5)であるかを判断する(ステップS1205)。
TypeがCNAMEでない場合、QoS要否判定部402は、回答データである情報提供装置100aのIPアドレスを取得し(ステップS1206)、QoS登録部314を介して、該当ドメイン名に対するサービス情報テーブル404のサービスパラメータと回答IPアドレスとをQoS管理テーブル315に登録する(ステップS1207)。その後、中継装置130cは、DNS応答パケットを送信する(ステップS1210)。
一方、ステップS1205において、TypeがCNAMEの場合、QoS要否判定部402は、回答データである情報提供装置100aの別名のドメイン名を取得する(ステップS1208)。その後、QoS要否判定部402は、情報提供装置100aのドメイン名「xx.yy.tv」と別名のドメイン名「xx.yy.001.tv」とを関連付けて、サービス情報テーブル404を更新する(ステップS1209)。更新前のサービス情報テーブルを図12(a)に、更新後のサービス情報テーブルを図12(b)に示す。その後、中継装置130cは、DNS応答パケットCを送信する(ステップS1210)。
以上のように、本発明の第2の実施形態によると、中継装置130cは、DNS応答パケットに情報提供装置のIPアドレスが含まれず、CNAMEとして別名のドメイン名が含まれた場合でも、DNSサーバから端末装置に対して送信されるDNS応答パケットを解析することで、CNAMEである情報提供装置の別名のドメイン名を検出して、ドメイン名と当該ドメイン名に対応するサービスパラメータとを対応付けたサービス情報テーブルを更新する。これにより、中継装置130cは、別名のドメイン名の情報提供装置から配信されるコンテンツを識別してQoS処理を行うことで、通信品質を保証することが可能となる。その結果、ユーザは、映像途切れや乱れのない高品質な映像コンテンツ視聴を行うことができる。
(第3の実施形態)
第3の実施形態では、第1の実施形態及び第2の実施形態で説明した中継装置130の変形例について説明する。第1の実施形態及び第2の実施形態では、中継装置130が、1つの制御部323を備えるものとして説明したが、図16Aに示すように、機能に応じて、第1の制御部324と、第2の制御部325とを分離して備えてもよいものとする。第1の制御部324は、受信部302が受信した応答パケットに基づいて、サービス情報テーブル312を更新する機能を有する。第2の制御部325は、QoS処理の要否を判定する機能を有する。この場合、第1の制御部324は、応答パケット検出部320と、転送要求解析部321と、ドメイン情報更新部322とを備える。第2の制御部325は、DNS検出部310と、DNS解析部311と、QoS要否判定部313と、QoS登録部314とを備える。各機能ブロックの動作については、上述したとおりであるので、説明を省略する。
また、中継装置130は、図16Bに示すように、第1の制御部324のみを備える構成であってもよいものとする。中継装置130は、第1の制御部324のみを備える構成であっても、サービス情報テーブル312を更新することができるからである。
<変形例>
(1)本発明の各実施形態に係る中継装置及びテーブル更新方法は、電力線通信だけに限らず、無線、電話線、同軸ケーブル、光ケーブルなどを用いた通信にも適用可能である。また、USB(Universal Serial Bus)、HDMI(High−Definition Multimedia Interface)(登録商標)、IEEE1394などの通信にも適用可能である。これらにより、本発明の中継装置及びテーブル更新方法は、各種伝送メディアで利用可能となる。
(2)本発明の各実施形態に係る中継装置及びテーブル更新方法は、中継装置などのブリッジだけに限らず、ルータ、ゲートウェイ、レイヤ2スイッチ、レイヤ3スイッチ、レイヤ7スイッチ、ブルータにも適用可能である。ブリッジ及びレイヤ2スイッチとは、OSI(Open System Interconnection)参照モデルのデータリンク層の中継装置である。ルータ及びレイヤ3スイッチとは、OSI参照モデルのネットワーク層の中継装置である。ゲートウェイとは、OSI参照モデルの4層以上の中継装置である。レイヤ7スイッチとは、OSI参照モデルのアプリケーション層の中継装置である。ブルータとは、ルータ機能とブリッジ機能をあわせもった中継装置である。これらにより、本発明の中継装置及びテーブル更新方法は、ブリッジだけに限らず、各種中継装置でも利用可能となる。
(3)本発明の各実施形態に係る中継装置及びテーブル更新方法は、DNSサーバから送信されるDNS応答パケットを中継装置130cにて解析しているが、これだけに限定されず、DNSキャッシュ機能を内蔵したルータから送信されるDNS応答パケットを中継装置130cにて解析しても実現可能である。ルータは、DNSサーバと中継装置130cの間に位置して接続される。これらにより、本発明の中継装置及びテーブル更新方法は、DNSサーバだけに限らず、DNSキャッシュ機能を備えるルータ等の中継装置を利用したネットワークシステムでも利用可能となる。
(4)本発明の各実施形態に係る中継装置及びテーブル更新方法は、第2のネットワーク150側に接続される中継装置130cだけで動作したが、これに限定されずに、中継装置130a及び130bで動作させることも同様に可能である。これにより、インターネット電話など双方向通信にて、中継装置130aから中継装置130cへアップリンク通信での品質保証制御を実現することも可能となる。また、アップリンク通信のQoS処理の要否は、サービス情報テーブルにサービスパラメータの1項目として追加することも容易に考えられる。中継装置130a及び130bは、DNS応答パケット受信時にサービス情報テーブルを参照して、アップリンク通信のQoS処理の要否を判断可能となる。
なお、本発明の各実施の形態において開示された中継装置130が備える各機能ブロックは、集積回路であるLSIにより実現されてもよい。例えば、中継装置130において、制御部323、あるいは第1の制御部324、及び第2の制御部325は、集積回路により構成されてもよい。これらは個別に1チップ化されてもよいし、一部または全てを含むように1チップ化されてもよい。このLSIは、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサが利用されてもよい。あるいは、LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサが利用されてもよい。また、プロセッサやメモリ等を備えたハードウエア資源においてプロセッサがROMに格納された制御プログラムを実行する構成が用いられてもよい。
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術等が適応され得る。
本発明は、通信の帯域制御を必要とする各種通信装置、例えばPLCブリッジ、ルータ、ゲートウェイ、レイヤ2スイッチ、レイヤ3スイッチ、レイヤ7スイッチ、ブルータなどに適用可能である。
100,100a,100b 情報提供装置
110,110a,110b 端末装置
120 DNSサーバ
130,130a,130b,130c 中継装置
301 通信部
302 受信部
303 通信部
304 QoS処理
305 送信部
310 DNS検出部
311 DNS解析部
312 サービス情報テーブル
313 QoS要否判定部
314 QoS登録部
315 QoS管理テーブル
316 記憶部
320 応答パケット検出部
321 転送要求解析部
322 ドメイン情報更新部
323 制御部
401 DNS解析部
402 QoS要否判定部
403 ドメイン情報更新部
404 サービス情報テーブル
601 端末装置
602 中継装置
603 中継装置
604 サーバ
701 データ識別部
702 キュー
703 優先制御部
本発明は、通信ネットワーク上で送受信されるデータを中継する中継装置及び中継装置が実施する方法に関するものである。
近年、インターネット電話やVOD(Video on Demand)サービス等のリアルタイム通信における通信品質を保証するための技術として、通信品質保証(QoS:Quality of Service)技術が検討されている。QoS技術は、コンテンツを提供するコンテンツ提供装置と、コンテンツを利用するコンテンツ利用装置との間の通信経路において、通信を中継する中継装置に用いられる。QoS技術としては、例えば、IEEE(Institute of Electrical and Electronics Engineers)802.11e規格では、無線LAN(Local Area Network)で用いられる中継装置のQoS技術が規格化されている。また、HomePlugアライアンスでは、PLC(Power Line Communications)で用いられる中継装置のQoS技術が実用化されている。
QoS技術が用いられる従来の中継装置としては、リアルタイム通信においてパケットの廃棄や遅延が発生しないように、通信経路上でコンテンツを送信するために必要な帯域を予約し、一定の通信速度を保証するものがあった(例えば、特許文献1参照)。従来の中継装置では、コンテンツ利用装置が発行する帯域設定要求に従い通信経路上の中継装置が、次の中継装置までの帯域資源を確保し、帯域設定要求をコンテンツ提供装置まで転送し、コンテンツ利用装置とコンテンツ提供装置との間での帯域資源を確保していた。これにより、音声や動画のリアルタイム配信やテレビ電話など、通信の遅延や停止が許されないサービスを、他のサービスに優先して送信することができた。
図18は、特許文献1で用いられる従来の帯域設定方法を説明する図である。図18では、コンテンツを利用するコンテンツ利用装置(以下、端末装置と記す)601と、コンテンツを提供するコンテンツ提供装置(以下、サーバと記す)604とが、中継装置602、及び中継装置603を介して接続されている。以下の動作説明では、端末装置601が、当初要求する要求帯域を18Mbps、最低帯域を12Mbps、増分帯域を3Mpbsとして、帯域設定を要求した場合を例に説明する。図18に示す各フローの矢印上のカッコ内の値は、帯域設定要求の帯域設定情報の値(要求帯域、最低帯域、増分帯域)を表す。それぞれの帯域の単位は、Mbpsであるが単位を省略している。
まず、端末装置601は、帯域設定要求をサーバ604に向けて送信する。中継装置602は、端末装置601が送信した帯域設定要求を受信解析し、要求帯域が示す18Mbpsの帯域を仮確保し、帯域設定要求をサーバ604側に出力する。次に、中継装置603は、帯域設定要求を受信解析し、要求帯域が示す18Mbpsの帯域の仮確保を試みるが、割当可能帯域が16Mbpsしかない場合を想定する。この場合、中継装置603は、要求帯域が示す値から増分帯域が示す値を引いた15(=18−3)Mbpsの帯域の仮確保を試みる。ここでは、仮確保が成功したので、中継装置603は、要求帯域が示す値を15Mbpsに書き換え、帯域設定要求をサーバ604側に出力する。
次に、サーバ604は、帯域設定要求の要求帯域が示す値を取得帯域として含んだ帯域設定応答を作成し、端末装置601に向けて送信する。次に、中継装置603は、帯域設定応答の取得帯域が示す値が、仮確保した帯域と同じなので、仮確保した帯域を確保し、帯域設定応答を端末装置601側に出力する。次に、中継装置602は、帯域設定応答の取得帯域が示す値が、仮確保した帯域と異なるので、仮確保した帯域と取得帯域が示す値の差分3(=18−15)Mbpsを引いた15Mbpsで帯域を確保し、帯域設定応答を端末装置601側に出力する。
端末装置601は、帯域設定応答を受信したら、帯域設定が15Mbpsで成功したと認識し、サーバ604に対して、コンテンツ送信要求を帯域15Mbpsで出する。サーバ604は、要求帯域が示す値にコンテンツのレートを変更し、当該レートでコンテンツを端末装置601に送信する。
このように上記従来の帯域設定方法では、帯域の予約を行うために中継装置602,603に各種パラメータを設定する必要があった。ここで、パラメータとは、品質保証すべきパケットか否かを識別するためのサーバ604の送信元IPアドレス、端末装置601の宛先IPアドレス、及びコンテンツを送信するために必要な帯域の情報などである。端末装置601は、中継装置602,603に帯域の予約を要求する際に、これらのパラメータを含む帯域設定要求の制御パケットを、中継装置602,603に直接送信するか、あるいは他のサーバを介して中継装置602,603に送信する必要があった。中継装置602,603は、この制御パケットを受信することにより、コンテンツパケットの識別情報やコンテンツパケット送信に必要な帯域を把握し設定することができた。
しかしながら、従来の帯域設定方法では、端末装置601が制御パケットを生成する機能と、サーバ604が端末装置601から送信された制御パケットを端末装置601宛に返送する機能と、中継装置602,603が制御パケットを処理して帯域を予約するための各種パラメータを設定する機能とを備えていなければならなかった。すなわち、通信経路上において、サーバ604、端末装置601、及び中継装置602,603の全てが、QoS処理に関する機能を備えていなければならないという利用上の制限があった。このため、通信経路上でQoS処理に関する機能を備えない装置が1つでもあれば、コンテンツ送信に関する品質保証ができなかった。これは新しい商品、古い商品、及び他メーカの商品など様々な機器の混在が予想される家庭内のネットワークにおいては、大きな制約になる可能性があった。
それ故に、本発明は、上記課題に鑑みてなされたものであって、QoS処理に関する機能を備えていない装置を含むネットワークにおいても、コンテンツ配信における通信品質を保証し、乱れた映像が端末装置に配信されることを防止する中継装置及び中継装置が実施する方法を提供することを目的とする。
上記課題を解決するために、本発明は、以下の特徴を有する。本発明の第1の局面は、第1のネットワークと第2のネットワークとを相互接続してパケットの送受信を中継する中継装置であって、第1のドメイン名を有する第1の情報提供装置に対して、コンテンツの取得を要求する端末装置と、第1のネットワークを介して通信する第1の通信部と、第1の情報提供装置と、第2のネットワークを介して通信する第2の通信部と、第1のドメイン名と、コンテンツの送信に関するパラメータとを対応付けて、サービス情報テーブルとして記憶する記憶部と、第2の通信部が、端末装置から第1の情報提供装置に送信されたコンテンツの取得要求に対する応答として、第1の情報提供装置から端末装置に送信された応答パケットを受信すると、応答パケットが転送要求を示すか否かを判定し、応答パケットが転送要求を示すと判定した場合、応答パケットに含まれる第2の情報提供装置を示す第2のドメイン名を第1のドメイン名と関連付けて、サービス情報テーブルに記憶する制御部とを備える。
好ましくは、制御部は、第2の通信部が受信した応答パケットから、第1の情報提供装置のIPアドレスが送信元として記載された応答パケットを検出し、当該検出した応答パケットを転送要求解析部に出力する応答パケット検出部と、応答パケット検出部が検出した応答パケットを解析し、応答パケットが転送要求を示すか否かを判定する転送要求解析部と、応答パケットが転送要求を示すと判定した場合、応答パケットに含まれる第2の情報提供装置を示す第2のドメイン名を第1のドメイン名と関連付けて、サービス情報テーブルに記憶するドメイン情報更新部とを備える。
転送要求解析部は、応答パケットとしてのHTTP(HyperText Transfer Protocol)メッセージを解析し、応答パケットがHTTPリダイレクトを示す場合、応答パケットが転送要求を示すと判定する。
また、中継装置は、QoS処理の要否を判定する第2の制御部をさらに備えてもよい。この場合、第2の通信部は、第2のネットワークを介して、DNS(Domain Name System)サーバと通信する。第2の制御部は、端末装置からDNSサーバに送信されたDNS要求パケットに対する応答であるDNS応答パケットを検出するDNS検出部と、DNS検出部が検出したDNS応答パケットから、所定のドメイン名と所定のドメイン名に対応するIPアドレスとを抽出するDNS解析部と、DNS解析部が抽出した所定のドメイン名が、サービス情報テーブルに登録されているか否かを判定し、登録されていると判定した場合に、所定のドメイン名がQoS処理が必要なドメイン名であると判定するQoS要否判定部とを備える。
QoS要否判定部は、DNS解析部が抽出した所定のドメイン名が、サービス情報テーブルに登録されていると判定した場合に、DNS解析部が抽出したIPアドレスを応答パケット検出部に出力する。
好ましくは、第1の通信部は、QoS要否判定部がDNS応答パケットに含まれる所定のドメイン名が第1のドメイン名と一致すると判定した場合に、サービス情報テーブルを参照し、第1のドメイン名に対応付けられたQoS処理に関するパラメータを、第1の情報提供装置から端末装置に対して送信されるコンテンツの中継パケットに設定するQoS処理部をさらに備える。
また、第1の通信部は、QoS要否判定部が、DNS応答パケットに含まれる所定のドメイン名が第2のドメイン名と一致すると判定した場合に、サービス情報テーブルを参照し、第2のドメイン名に関連付けられた、第1のドメイン名に対応付けられたQoS処理に関するパラメータを、第2の情報提供装置から端末装置に対して送信されるコンテンツの中継パケットに設定するQoS処理部をさらに備えてもよい。
また、記憶部は、QoS処理に関するパラメータを記憶するQoS管理テーブルをさらに記憶してもよい。この場合、QoS要否判定部は、DNS応答パケットに含まれる所定のドメイン名が、サービス情報テーブルに登録されていると判定した場合に、サービス情報テーブルから、所定のドメイン名に対応するパラメータを取得する。第2の制御部は、QoS要否判定部が取得したパラメータをQoS管理テーブルに記憶するQoS登録部とをさらに備える。第1の通信部は、QoS管理テーブルを参照して、所定のドメイン名に対応する情報提供装置から端末装置に対して送信されるコンテンツの中継パケットに対応付けられたQoS処理に関するパラメータを、中継パケットに設定するQoS処理部とをさらに備える。また、転送要求は、HTTPリダイレクトである。
本発明の第2の局面は、第1のネットワークと第2のネットワークとを相互接続してパケットの送受信を中継する中継装置であって、第1のドメイン名を有する第1の情報提供装置に対して、コンテンツの送信を要求する端末装置と、第1のネットワークを介して通信する第1の通信部と、第2のネットワークを介して、DNSサーバと通信する第2の通信部と、第1のドメイン名と、コンテンツの送信に関するパラメータとを対応付けて、サービス情報テーブルとして記憶する記憶部と、第2の通信部が、端末装置からDNSサーバに送信された所定のドメイン名に対応するIPアドレスを要求するDNS要求パケットに対する応答であり、所定のドメイン名と所定のドメイン名の別名を表す第2のドメイン名とを含むDNS応答パケットを受信すると、DNS応答パケットに含まれる所定のドメイン名が第1のドメイン名と一致するか否かを判定し、一致すると判定された場合に、DNS応答パケットに含まれる第2のドメイン名を第1のドメイン名と関連付けて、サービス情報テーブルに記憶する制御部とを備える。
また、DNS応答パケットにおいて所定のドメイン名の別名を表す第2のドメイン名を含むDNS応答パケットの資源レコードタイプは、CNAME(Canonical NAME for an alias)である。
以上のように、本発明によると、中継装置は、接続予定の情報提供装置がドメイン名の異なる情報提供装置に変更された場合でも、情報提供装置が端末装置に対して送信する転送要求(HTTPリダイレクト)を解析することで、情報提供装置のドメイン名の変更を検出して、ドメイン名と当該ドメイン名に対応するサービスパラメータとを対応付けたサービス情報テーブル312を更新する。これにより、中継装置は、異なるドメイン名の情報提供装置から配信されるコンテンツを識別してQoS処理を行うことで、通信品質を保証することが可能となる。その結果、ユーザは、映像途切れや乱れのない高品質なコンテンツ視聴を行うことができる。
また、中継装置は、DNS応答パケットに含まれるQoS対象のコンテンツを送信する情報提供装置のIPアドレスを指定して、指定された情報提供装置のIPアドレスを有するHTTPパケットのペイロード部を解析し、指定されたIPアドレスを有する情報提供装置以外のサーバから送信されるHTTPパケットを解析しないようにする。これにより、中継装置は、全てのHTTPパケットのペイロード(メッセージ)部を解析処理する必要がなくなり、CPU負荷増加を抑制し、通信スループット低下を回避することができる。
また、本発明によると、中継装置は、DNS応答パケットに情報提供装置のIPアドレスが含まれず、CNAMEとして別名のドメイン名が含まれていた場合でも、DNSサーバから端末装置に対して送信されるDNS応答パケットを解析することで、CNAMEである情報提供装置の別名のドメイン名を検出して、ドメイン名と当該ドメイン名に対応するサービスパラメータとを対応付けたサービス情報テーブルを更新する。これにより、中継装置は、別名のドメイン名の情報提供装置から配信されるコンテンツを識別してQoS処理を行うことで、通信品質を保証することが可能となる。その結果、ユーザは、映像途切れや乱れのない高品質な映像コンテンツ視聴を行うことができる。
本発明の第1の実施形態におけるネットワーク構成の一例を示す図
本発明の第1の実施形態に係る中継装置130の構成の一例を示す機能ブロック図
本発明の第1の実施形態に係るサービス情報テーブル312のメモリ構造の一例を示す図
本発明の第1の実施形態に係るサービス情報テーブル312のメモリ構造の一例を示す図
本発明の第1の実施形態に係るQoS管理テーブル315のメモリ構造の一例を示す図
本発明の第1の実施形態に用いるDNSパケットのパケット構成を説明する図
本発明の第1の実施形態に用いるHTTPパケットのパケット構成を説明する図
本発明の第1の実施形態に係るネットワークにおいて、各装置の動作を示したシーケンス図
本発明の第1の実施形態に係るネットワークにおいて、各装置の動作を示したシーケンス図
本発明の第1の実施形態に係る中継装置130cにおける動作の詳細を示したフローチャート
本発明の第2の実施形態に係る中継装置130の構成の一例を示す機能ブロック図
本発明の第2の実施形態に係るサービス情報テーブル404のメモリ構造の一例を示す図
本発明の第2の実施形態に用いるDNSパケットのパケット構成を説明する図
本発明の第2の実施形態に係るネットワークにおいて、各装置の動作を示したシーケンス図
本発明の第2の実施形態に係る中継装置130cにおける動作の詳細を示したフローチャート
本発明の第3の実施形態に係る中継装置130の構成の一例を示す機能ブロック図
本発明の第3の実施形態に係る中継装置130の構成の一例を示す機能ブロック図
本発明の各実施形態で用いるQoS処理部304の優先制御処理を説明する図
従来の帯域設定方法を説明する図
以下、本発明の各実施形態に係る中継装置及び中継装置が実施する方法について、図面を参照しながら説明する。本発明の各実施に係る中継装置、及び中継装置が実施する方法は、多くの異なる種類のネットワークに適用できるが、以下では、電力線通信(Power Line Communications、以下、「PLC」とする)ネットワークに本発明を適用した具体例を説明する。ただし、以下の開示の全てまたは一部は、例えば、無線ネットワーク等、他のネットワーク形式にも適用可能である。
(第1の実施形態)
図1は、本発明の第1の実施形態におけるネットワーク構成の一例を示す図である。図1において、本実施形態のネットワークは、各種の情報提供装置(コンテンツサーバ)100a〜100b、各種の端末装置110a〜110b、及びDNSサーバ120を含んでいる。情報提供装置100a〜100bと端末装置110a〜110bとは、中継装置130a〜130cを介して接続されている。具体的には、端末装置110a〜110bは、中継装置130a〜130bにそれぞれEthernet(登録商標)ケーブルで接続されている。そして、中継装置130a〜130cの各間は、第1のネットワーク(例えば、電力線ネットワーク)140を介して接続されている。また、情報提供装置100a〜100b及びDNSサーバ120は、第2のネットワーク(例えば、インターネット)150を介して、中継装置130cに接続されている。
なお、以下の説明では、中継装置130a〜130cの総称を指す場合、単に中継装置130と記し、端末装置110a〜110bの総称を指す場合、単に端末装置110と記し、情報提供装置100a〜100bの総称を指す場合は、単に情報提供装置100と記す。また、図1に示す例では、中継装置130a〜130cが3つ、端末装置110a〜110bが2つ、情報提供装置100a〜100bが2つの場合を示したが、これらの数はあくまで一例であって、それぞれ任意の数の装置を備えることができるものとする。
情報提供装置100は、各種コンテンツを保有し、端末装置110にコンテンツを送信する。情報提供装置100としては、例えば、端末装置110にAVコンテンツを提供するAVサーバであったり、音楽コンテンツを提供する音楽サーバであってもよい。本実施形態では、情報提供装置100aと情報提供装置100bとは、それぞれ異なるドメイン名と、それぞれ異なるIPアドレスとを有しているものとする。
端末装置110は、情報提供装置100からコンテンツを受信して、映像や音声を再生する機能を有する。端末装置110としては、例えば、テレビやパーソナルコンピュータのような機器であってもよい。図1では、各種端末装置110を端末装置110a、及び端末装置110bとして区別している。
DNSサーバ120は、情報提供装置100aのホスト名を示すドメイン名と、当該ドメイン名に対応する情報提供装置100aのIPアドレスとを対応付け、情報提供装置100bのホスト名を示すドメイン名と、当該ドメイン名に対応する情報提供装置100bのIPアドレスとを対応付ける機能を有する。DNSサーバ120は、端末装置110から情報提供装置100のドメイン名を含むDNS要求パケットを受信すると、DNS要求パケットに含まれるドメイン名を参照する。そして、DNSサーバ120は、DNS応答パケットを送信することにより、当該ドメイン名に対応する情報提供装置100のIPアドレスを端末装置110に回答する。
なお、1つのドメイン名に対応する情報提供装置100の数は1台とは限らず、複数台存在する場合もある。この場合、複数台の情報提供装置100のそれぞれに異なるIPアドレスが割り当てられる。すなわち、DNSサーバ120は、1つのドメイン名に対応する複数個のIPアドレスをDNS応答パケットに付加して、端末装置110に送信する場合もある。
中継装置130a〜130cは、異なる種類のネットワークを介して送受信されるデータを橋渡しするPLCブリッジである。図1の場合、中継装置130a〜130cは、情報提供装置100から送信されるコンテンツや、端末装置110とDNSサーバ120との間で送受信されるDNSパケット等を中継する。また、中継装置130a〜130cは、QoS処理機能を有する。例えば、中継装置130a〜130cの各区間においてコンテンツを送信するために必要な帯域(以下、「要求帯域」とする)を予約する機能、あるいはコンテンツ毎に優先度を設けて、当該優先度に基づいてコンテンツを送信する機能を有する。本実施形態では、中継装置130がQoS対象のコンテンツ毎に優先度を設けて、当該優先度に基づいてコンテンツを送信する機能を有するものとして述べる。また、本実施形態では、中継装置130a〜130cの各区間のQoS処理のみについて述べる。このため、中継装置130aと端末装置110aとの間の区間などのQoS処理については対象外とする。
図2は、本実施形態に係る中継装置130の構成の一例を示す機能ブロック図である。図2において、中継装置130は、通信部(通信デバイス)301、通信部(通信デバイス)303、記憶部316、及び制御部323を備える。なお、図2に示す例では、中継装置130において、第2のネットワーク150から第1のネットワーク140への通信を中継する場合に必要な構成を図示し、第1のネットワーク140から第2のネットワーク150への通信を中継する場合に必要な構成については図示を省略している。
通信部301は、第2のネットワーク150を介して、情報提供装置100やDNSサーバ120とデータの送受信を行う。第2のネットワーク150がインターネットである場合、通信部301は、Ethernet(登録商標)通信部となる。通信部301は、送信部(図示せず)と受信部302とを備える。送信部は、情報提供装置100やDNSサーバ120にデータを送信する機能を有する。受信部302は、通信部301で受信したデータを復調する機能を有する。
通信部303は、電力線ネットワークを介して、中継装置130a、130bとデータの送受信を行う。図2に示す例では、通信部303は、PLC通信部となる。通信部303は、QoS処理部304と、送信部305と、受信部(図示せず)とを備える。送信部305は、通信部303のメディアアクセス制御(MAC:Media Access Control)機能、送信すべきデータを変調する機能を有する。受信部は、通信部303で受信したデータを復調する機能を有する。QoS処理部304の詳細については後述する。
記憶部316は、サービス情報テーブル312と、QoS管理テーブル315とを記憶する。サービス情報テーブル312は、コンテンツの種別を示すドメイン名と、当該ドメイン名に関連する各種パラメータ(以下、サービスパラメータと呼ぶ)と、情報提供装置100のアドレスとを対応付けて記憶している。サービスパラメータには、情報提供装置100から提供されるサービスの名称や、当該ドメイン名に対応するコンテンツの要求帯域、優先度などのコンテンツの送信に関するパラメータが含まれる。なお、このサービス情報テーブル312の詳細は、図3及び図4を用いて後述する。
ここで、ドメイン名について説明する。ドメイン名とは、情報提供装置100のホスト名を示すものである。また、ドメイン名から情報提供装置100の種別を識別できる場合もある。例えば、ドメイン名に「stream」、「video」、「movie」、または「music」などの文字列が含まれる場合、このドメイン名のサーバが、音楽、あるいはビデオのコンテンツを配信する情報提供装置であると識別することが可能である。また、ドメイン名に「game」などの文字列が含まれる場合、このドメイン名のサーバが、ゲームサーバであると識別することが可能である。
ドメイン名におけるトップレベルドメイン、セカンドレベルドメイン、またはサードレベルドメインなどのレベルドメインにより、情報提供装置100から送信されるコンテンツの種別を識別できる場合もある。従って、例えば、情報提供装置100から配信されるコンテンツが、音楽なのか、あるいはビデオなのかということを、このレベルドメインにより識別できる。ドメイン名は、端末装置110とDNSサーバ120との間で送受信されるDNSパケットに含まれる。このため、中継装置130は、DNSサーバ120から送信されるDNSパケットを中継することにより、ドメイン名を取得できる。
QoS管理テーブル315は、QoS処理に関係する各種パラメータを記憶する。QoS管理テーブル315の詳細は、図5にて後述する。なお、中継装置130が、QoS処理を実施しない(すなわち、通信部303がQoS処理部304を備えない)場合には、記憶部316は、必ずしもQoS管理テーブル315を記憶する必要はない(例えば、図16B参照)。
次に、制御部323について説明する。ただし、端末装置110aが情報提供装置100aにコンテンツ取得要求を送信し、情報提供装置100aからコンテンツの取得先が情報提供装置100bに変更されたことを示す応答パケットを、中継装置130が受信した場合を想定する。中継装置130において、制御部323は、端末装置110aから情報提供装置100aに送信されたコンテンツ取得要求に対する応答として、情報提供装置100aから端末装置110aに送信された応答パケットを、受信部302が受信したか否かを判定する。そして、制御部323は、受信部302が受信した応答パケットが転送要求を示すか否かを判定し、応答パケットが転送要求を示す場合、応答パケットに含まれる変更後の情報提供装置100bを示すドメイン名を、変更前の情報提供装置100aのドメイン名と関連付けて、サービス情報テーブル312に記憶する。
制御部323の具体的な構成例について説明する。図2を参照して、制御部323は、DNS検出部310、DNS解析部311、QoS要否判定部313、QoS登録部314、応答パケット検出部320、転送要求解析部321、及びドメイン情報更新部322から構成される。なお、制御部323の構成はあくまで一例であって、上記以外の構成であってもよい。
DNS検出部310は、受信部302で受信されたデータの種別を判定し、当該データがDNS応答パケットである場合、DNS解析部311に転送する。具体的には、DNS検出部310は、受信データのUDP(User Datagram Protocol)ヘッダのポート番号や、TCP(Transmission Control Protocol)ヘッダのポート番号を検査して、ポート番号53であればDNSパケットであると判定できる。また、DNSパケットのフラグ領域にDNS要求かDNS応答かを示す識別子が存在するので、DNS検出部310は、当該識別子を参照して、DNS要求パケットかDNS応答パケットかを判定できる。なお、DNSパケットの構成については、図6にて後述する。
DNS解析部311は、受信したDNS応答パケットに含まれるDNS問い合わせ名(ドメイン名)と、DNS問い合わせ名に対応する回答IPアドレスとを抽出する。DNS解析部311は、抽出したドメイン名と回答IPアドレスとをQoS要否判定部313へ転送する。なお、制御部323がQoS要否判定部313を備えていない場合、DNS解析部311は、QoS要否判定部313の代わりに、回答IPアドレスをサービス情報テーブル312の「情報提供装置アドレス」に登録し、回答IPアドレスを応答パケット検出部320へ転送してもよい。
QoS要否判定部313は、DNS解析部311から転送されたドメイン名が、サービス情報テーブル312に登録されているか否かを確認する。登録されていない場合、QoS要否判定部313は、QoS処理が不要のドメイン名のサービスである判断して、QoS処理を行わない。一方、登録されている場合、QoS要否判定部313は、QoS処理が必要なドメイン名のサービスであると判断して、サービス情報テーブル312から、当該ドメイン名に対応するサービスパラメータを取得する。また、QoS要否判定部313は、DNS解析部311から転送された回答IPアドレスをサービス情報テーブル312の「情報提供装置アドレス」に登録する。次に、QoS要否判定部313は、転送レートや優先度などのサービスパラメータと、DNS解析部311から転送された回答IPアドレスをQoS登録部314へ転送する。また、QoS要否判定部313は、同時に回答IPアドレスを応答パケット検出部320へも転送する。
QoS登録部314は、QoS要否判定部313から転送された転送レート(要求帯域)や優先度、回答IPアドレスをQoS管理テーブル315に登録する。
応答パケット検出部320は、端末装置110aから情報提供装置100aに送信されたコンテンツ取得要求に対する応答として、情報提供装置100aから端末装置110aに送信された応答パケットを、受信部302が受信したか否かを判定する。具体的には、応答パケット検出部320は、受信部302で受信されたデータの種別を判定し、受信データがQoS処理すべき情報提供装置100から送信されたHTTPパケットである場合のみ、受信データを応答パケットとして転送要求解析部321へ転送する。例えば、応答パケット検出部320は、受信データのTCPヘッダのポート番号が80であり、かつQoS要否判定部313から転送された回答IPアドレスと、受信データのIPヘッダの送信元IPアドレスとが一致する場合に、受信データを応答パケットとして転送要求解析部321へ転送する。すなわち、回答IPアドレス以外の情報提供装置から送信されるHTTPパケットは、転送要求解析部321へ転送されない。HTTPパケットの構成については、図7にて後述する。
転送要求解析部321は、受信部302で受信された応答パケットが情報提供装置100からの転送要求であるか否かを判定する。具体例として、転送要求解析部321は、応答パケットとしてのHTTPメッセージを解析して、応答(ステータス)コードがHTTPリダイレクトを示すコードの場合、応答パケットが情報提供装置100からの転送要求であると判定する。応答コードがHTTPリダイレクトを示すコードの場合、転送要求解析部321は、HTTPメッセージに記載されているLocationヘッダの転送先URL(Uniform Resource Locator)、及びIPヘッダの送信元アドレスを、ドメイン情報更新部322へ転送する。HTTPリダイレクトを示す応答コードとしては、”301”や”302”などがある。転送要求解析部321は、QoS対象のコンテンツを配信する情報提供装置100から送信されるHTTPパケットのみが応答パケット検出部320から転送されるため、QoS対象でないコンテンツを配信する情報提供装置から送信されるHTTPパケットを解析する必要がない。この結果、中継装置130は、余分なHTTPパケットの解析処理による負荷を低減することが可能となり、解析負荷増加による通信スループットの低下を回避することができる。
ドメイン情報更新部322は、転送先URLからドメイン名を抽出して、サービス情報テーブル312に登録する。具体的には、ドメイン情報更新部322は、転送された情報提供装置100のアドレスが、サービス情報テーブル312の登録Noのいずれに存在するかを確認する。確認された登録Noに対応するドメイン名が転送先URLであるので、ドメイン情報更新部322は、ドメイン名と転送先URLとを関連付けて、転送先URL内のドメイン名を新たなドメイン名として、サービス情報テーブル312に追加登録する。
QoS処理部304は、帯域予約や優先制御などのQoS処理機能を有する。帯域予約の場合、QoS処理部304は、QoS管理テーブル315を参照して、要求帯域に従って、中継装置130a〜130cの各区間の帯域を予約する。帯域予約とは、通信チャネル(通信周波数)を時間軸で分割したタイムスロットを特定の1つの中継装置130が占有して使用することを意味する。TDMA(Time Division Multiple Access:時分割多元接続)が帯域予約の一例にあたる。他の帯域予約の例としては、HCCA(Hybrid Coordination Function Controlled Channel Access)が、IEEE802.11e規格で標準化されている。
優先制御の場合、QoS処理部304は、QoS管理テーブル315を参照して、受信データに対応付けられた優先度に従って、パケットを送信する。図17は、QoS処理部304における優先制御処理を説明する図である。QoS処理部304は、優先制御処理を行う場合、例えば、図17に示すような機能ブロックを備える。図17を参照して、データ識別部701は、受信データが優先送信すべきパケットか否かを判断する機能を有する。具体的には、データ識別部701は、受信データがQoS管理テーブル315のデータ識別パラメータに一致するか否かで、優先送信すべきパケットか否かを判断する。キュー702は、優先度毎に用意され、優先度としては、例えば、優先度なし(QoS保証なし)や、優先度1〜8などが設定される。優先制御部703は、高い優先度のキュー702からパケットを取り出して、送信する制御を行う。優先制御の一例として、EDCA(Enhanced Distributed Channel Access)がIEEE802.11e規格で標準化されている。本実施形態では、QoS処理部304が優先制御機能を有する例を述べる。
図3及び図4は、図2に示すサービス情報テーブル312のメモリ構造を詳細に表した図である。図3及び図4において、サービス情報テーブル312は、項目「登録No.」、項目「DNS問い合わせ名(ドメイン名)」と、項目「サービスパラメータ」と、項目「情報提供装置アドレス」とを対応付けて記憶する。項目「サービスパラメータ」には、項目「サービス名」、項目「転送レート(bps)」、項目「優先度」、及び項目「Layer4 Protocol」が含まれる。
項目「DNS問い合わせ名(ドメイン名)」には、情報提供装置100のホスト名であるドメイン名が記憶される。なお、このドメイン名は、FQDN(Fully Qualified Domain Name)であってもよいし、ドメイン名のトップレベルドメインなどのコンテンツの種別を示す一部分であってもよい。項目「サービス名」には、当該ドメイン名に対応するサービス名が記憶される。このサービス名には、例えば、当該サービスの提供会社や当該コンテンツの種別などが含まれる。
項目「転送レート(bps)」には、当該ドメイン名に対応するコンテンツの要求帯域を示す転送レートが記憶される。項目「優先度」には、各ドメイン名の送信優先順位を示す優先度が記録されている。この優先度の数値が大きい程、当該ドメイン名の優先順位が高いことを示す。
項目「Layer4 Protocol」には、例えば、TCPやUDPなどの通信プロトコルが記憶される。これはTCPならば双方向リンクでQoS処理をする、あるいは、UDPならば片方向リンク(下りリンクあるいは上りリンク)のみでQoS処理するなどの判断に利用される。項目「情報提供装置アドレス」には、該当ドメイン名に対応する情報提供装置100のアドレスが記憶される。
図3(a)は、更新前のサービス情報テーブル312の設定例を示している。図3(a)において、サービス情報テーブル312は、2個のサービス情報を管理している。1番目(登録No.1−1)のサービス情報は、項目「ドメイン名」に「xx.yy.tv」、項目「サービス名」に「X社テレビ番組配信」、項目「転送レート(bps)」に「10M」、項目「優先度」に「7」、項目「Layer4 Protocol」に「TCP」が記録されている。項目「情報提供装置アドレス」は、初期状態なので未定と記録されている。すなわち、1番目のサービス情報は、「ホスト名がxx.yy.tvの情報提供装置100が保有するコンテンツは、X社のテレビ番組配信サービスにより配信され、このコンテンツが端末装置110に配信されるためには、通信経路上に10Mの帯域を必要とし、優先度7で送信される」ことを示している。
2番目(登録No.2−1)のサービス情報は、項目「ドメイン名」に「abc.xyz.com」、項目「サービス名」に「A社ビデオ配信」、項目「転送レート(bps)」に「6M」、項目「優先度」に「4」、項目「Layer4 Protocol」に「UDP」が記録されている。項目「情報提供装置アドレス」は、初期状態なので未定と記録されている。すなわち、2番目のサービス情報は、「ホスト名がabc.xyz.comの情報提供装置100が保有するコンテンツは、A社のビデオ配信サービスにより配信され、このコンテンツが端末装置110に配信されるためには、通信経路上に6Mの帯域を必要とし、優先度4で送信される」ことを示している。図3(b)には、図3(a)の1番目のサービス情報の項目「情報提供装置アドレス」に、IPアドレス「10.20.30.1」が登録された様子を示している。
また、図4(a)、(b)は、更新後のサービス情報テーブル312の設定例を示している。サービス情報テーブル312の更新例については後述する。
図5は、図2に示すQoS管理テーブル315のメモリ構造の一例を表した図である。図5において、QoS管理テーブル315は、各種QoSパラメータを記憶し、項目「データ識別パラメータ」と、項目「データ保証パラメータ」とを対応付けて記憶している。項目「データ識別パラメータ」には、項目「送信元アドレス」、項目「宛先アドレス」、及び項目「Layer4 Protocol」が含まれる。一方、項目「データ保証パラメータ」には、項目「要求帯域(bps)」、及び項目「優先度」が含まれる。送信元アドレス、宛先アドレスはIPアドレスであってもよいし、MACアドレスであってもよい。本実施形態では、IPアドレスとして述べる。
図5(a)において、QoS管理テーブル315の1番目(登録No.1)には、項目「送信元アドレス」に「10.20.30.1」、項目「宛先アドレス」に「192.168.0.8」、項目「Layer4 Protocol」に「TCP」が設定されている。また、項目「要求帯域(bps)」に「10M」、項目「優先度」に「7」が設定されている。すなわち、登録No.1は、「IPアドレスが10.20.30.1の情報提供装置100から、IPアドレスが192.168.0.8の端末装置110にコンテンツを優先度7で送信する、あるいは通信帯域が10Mbps予約されている」ことを示している。図5(b)についての説明は省略する。
図6は、DNSパケットのパケット構成を説明する図である。図6(a)には、DNSパケットのフォーマットを示す。図6(b)、(c)には、DNSパケットのQueryフィールド、及びAnswerフィールドに値が設定された例として、DNS応答パケットA、Bを示す。図6(a)において、DNSパケットは、「Ethernetヘッダ」、「IPヘッダ」、「UDP(TCP)ヘッダ」、「DNSメッセージ」、「FCS(Frame Check Sequence)」の各フィールドから構成される。また、「DNSメッセージ」には、「DNS問い合わせ名(ドメイン名)」、「Type(問い合わせ種別)」、及び「回答データ」の各フィールドが含まれる。
「DNS問い合わせ名(ドメイン名)」には、情報提供装置100のホスト名を示すドメイン名が格納される。「Type(問い合わせ種別)」には、DNSで問い合わせるIPアドレスの種別が格納される。例えば、「問い合わせ種別」に「1」が格納されている場合、DNS問い合わせ名に対応するIPv4のIPアドレスであることを示す。一方、「問い合わせ種別」に「28」が格納されている場合、DNS問い合わせ名に対応するIPv6のIPアドレスであることを示す。
「回答データ」には、問い合わせたドメイン名に対応する情報提供装置100のIPアドレス(以下、回答IPアドレスとする)が格納される。DNS応答パケットを受信した端末装置110は、この回答IPアドレスを、接続先のIPアドレスとして設定する。また、情報提供装置100が複数台ある場合、DNS応答パケットには、複数の回答IPアドレスが格納される。この場合、端末装置110は、複数の回答IPアドレスから、任意に選択した1つのIPアドレスを接続先のIPアドレスとして設定する。
図7は、HTTPパケットのパケット構成を示した図である。図7(a)において、HTTPパケットは、「Ethernetヘッダ」、「IPヘッダ」、「TCPヘッダ」、「HTTPメッセージ」、及び「FCS」の各フィールドから構成される。「HTTPメッセージ」には、GETメソッドなどの取得要求コマンド、応答(ステータス)コード、あるいはコンテンツデータなどが格納される。
図7(b)は、HTTPメッセージ応答のHTTPリダイレクト(転送要求)の一例を示す。図7(b)を参照して、応答コードは”302”であり、転送要求先のURLには「http://xx.yy.001.tv」が含まれる。図7(c)は、HTTPメッセージ応答を示す。図7(c)を参照して、応答コードは”200”であり、要求に対する正常成功を示す。
以上のように構成された中継装置130cのテーブル更新方法について、図面を用いて説明する。図8、9は、本実施形態に係るネットワークにおいて、各装置の動作を示したシーケンス図である。まず、図8を用いて、HTTPリダイレクトが発生しない場合について、図1に示す端末装置110aから情報提供装置100aにコンテンツの取得要求がある場合を例に各装置の動作を説明する。
図8を参照して、端末装置110aは、ユーザによりコンテンツの再生操作が行われると(ステップS501)、DNS要求パケットに情報提供装置100aのドメイン名「xx.yy.tv」を書き込んで、DNSサーバ120に向けて送信する(ステップS502)。
DNSサーバ120は、中継装置130a、130cを介して、DNS要求パケットを受信すると、情報提供装置100aのドメイン名に対応するIPアドレスをDNS応答パケットに書き込み、中継装置130cに返信する(ステップS503)。このときのDNS応答パケットを、DNS応答パケットAとして図6(b)に示す。DNS要求パケットに含まれるドメイン名が「xx.yy.tv」、Typeが「1(=IPv4)」の場合、DNS応答パケットAの「回答データ」には、情報提供装置100aのIPアドレスである「10.20.30.1」が書き込まれる。
中継装置130cは、DNSサーバ120からDNS応答パケットAを受信すると、中継装置130aとの間の通信経路で、ドメイン名に対応するコンテンツ送信に対して、QoS処理が必要か否かを判断する(ステップS504)。QoS処理が必要である場合、中継装置130cは、QoS処理を行う(ステップS505)。具体的には、中継装置130cは、DNS応答パケットAのDNS問い合わせ名「xx.yy.tv」が、サービス情報テーブル312に登録されている場合に、QoS処理が必要であると判断する。
例えば、サービス情報テーブル312(図3(a)参照)には、登録No.1−1に、ドメイン名「xx.yy.tv」が登録されている。このため、中継装置130cは、ドメイン名「xx.yy.tv」に対応するサービスパラメータ(転送レート10Mbps、優先度7、TCP)を、サービス情報テーブル312から取得する。次に、中継装置130cは、QoS登録部314を介して、サービスパラメータ(転送レート10Mbps、優先度7、TCP)をQoS管理テーブル315に登録する。図5(a)は、設定されたQoS管理テーブル315を示す。図5(a)を参照して、送信元アドレス「10.20.30.1」は、DNS応答パケットAの回答IPアドレス(情報提供装置100aのIPアドレス)である。また、宛先アドレス「192.168.0.8」は、DNS応答パケットAのIPヘッダの宛先IPアドレスであり、端末装置110aのIPアドレスとなる。
その後、中継装置130cは、中継装置130aを介して、DNS応答パケットを端末装置110aに返信する(ステップS506)。端末装置110aは、中継装置130aを介してDNS応答パケットを受信すると、このDNS応答パケットに含まれる回答IPアドレスを参照する。この場合、回答IPアドレスには、情報提供装置100aのIPアドレスが書き込まれているので、端末装置110aは、宛先を情報提供装置100aとしてコンテンツの取得要求を送信する(ステップS507)。
情報提供装置100aは、中継装置130a、130cを介して、コンテンツ取得要求を受信すると、取得応答を送信する(ステップS508)。また、情報提供装置100aは、直ちに端末装置110aにコンテンツを配信する(ステップS509)。端末装置110aは、情報提供装置100aからコンテンツを受信し、コンテンツの再生を行う(ステップS510)。コンテンツ配信中において、中継装置130cは、QoS管理テーブル315のデータ識別パラメータに一致するコンテンツを受信すると、データ保証パラメータに基づいて優先制御のQoS処理を行い、中継装置130cと中継装置130aとの間の区間の通信品質保証を実現する。
図9は、本実施形態に係るネットワークにおいて、コンテンツを送信する情報提供装置が、情報提供装置100aから情報提供装置100bへ変更された場合、すなわちHTTPリダイレクトが使用された場合の各装置の動作を示したシーケンス図である。この場合、中継装置130cは、情報提供装置100aからの取得応答(転送要求)を解析して、サービス情報テーブル312を更新する。
図9を参照して、端末装置110aは、ユーザによりコンテンツの再生操作が行われると(ステップS601)、DNS要求パケットに情報提供装置100aのドメイン名「xx.yy.tv」を書き込んで、DNSサーバ120に送信する(ステップS602)。DNSサーバ120は、中継装置130a,130cを介して、DNS要求パケットを受信すると、ドメイン名に対応する情報提供装置100aのIPアドレスをDNS応答パケットに書き込み、中継装置130cに返信する(ステップS603)。このときのDNS応答パケットを、DNS応答パケットAとして図6(b)に示す。DNS要求パケットに含まれるドメイン名が「xx.yy.tv」、Typeが「1(=IPv4)」の場合、DNS応答パケットAの「回答データ」には、情報提供装置100aのIPアドレスである「10.20.30.1」が書き込まれる。
中継装置130cは、DNSサーバ120からDNS応答パケットAを受信すると、中継装置130aとの間の通信経路で、ドメイン名「xx.yy.tv」に対応するコンテンツ送信に対して、QoS処理が必要であるか否かを判断する(ステップS604)。QoS処理が必要である場合、中継装置130cは、QoS処理を行う(ステップS605)。具体的には、中継装置130cは、DNS応答パケットAのDNS問い合わせ名「xx.yy.tv」が、サービス情報テーブル312に登録されている場合に、QoS処理が必要であると判断する。
例えば、サービス情報テーブル312(図3(a)参照)には、登録No.1−1に、ドメイン名「xx.yy.tv」が登録されている。このため、中継装置130cは、ドメイン名「xx.yy.tv」のサービスパラメータ(転送レート10Mbps、優先度7、TCP)を、サービス情報テーブル312から取得する。次に、中継装置130cは、DNS応答パケットAの回答IPアドレスをサービス情報テーブル312に記憶する。図3(b)は、サービス情報テーブル312に、情報提供装置100aのIPアドレス「10.20.30.1」が記憶されていることを示す。
次に、中継装置130cは、QoS登録部314を介して、サービスパラメータ(転送レート10Mbps、優先度7、TCP)をQoS管理テーブル315に登録する。図5(a)は、設定されたQoS管理テーブル315を示す。図5(a)を参照して、送信元アドレス「10.20.30.1」は、DNS応答パケットAの回答IPアドレス(情報提供装置100aのIPアドレス)である。また、宛先アドレス「192.168.0.8」は、DNS応答パケットAのIPヘッダの宛先IPアドレスであり、端末装置110aのIPアドレスとなる。
その後、中継装置130cは、中継装置130aを介して、DNS応答パケットAを端末装置110aに返信する(ステップS606)。端末装置110aは、中継装置130aを介してDNS応答パケットAを受信すると、このDNS応答パケットAに含まれる回答IPアドレスを参照する。この場合、回答IPアドレスには情報提供装置100aのIPアドレスが書き込まれているので、端末装置110aは、宛先を情報提供装置100aとしてコンテンツの取得要求を送信する(ステップS607)。
情報提供装置100aは、コンテンツの取得要求を受信すると、要求されたコンテンツが情報提供装置100bに存在することを認識しているため、情報提供装置100bへの転送要求(取得応答)を送信する(ステップS608)。転送要求には、情報提供装置100bのドメイン名「http://xx.yy.001.tv」が含まれる。情報提供装置100aは、例えば、図7(b)に示すHTTPリダイレクトを利用して転送要求を送信する。
中継装置130cは、応答パケット検出部320で情報提供装置100aからの取得応答を検出すると、転送要求解析部321で転送要求であるか否かを解析する(ステップS609)。これはHTTPメッセージの応答コードを検査して判断する。図7(b)のHTTPメッセージは、応答コードが”302”であり、転送要求であると判断される。中継装置130cは、転送要求解析部321にてHTTPメッセージに含まれるLocationヘッダの転送先URLを取得する。この転送先URLが情報提供装置100bのドメイン名「xx.yy.001.tv」である。
中継装置130cは、ドメイン情報更新部322を用いて、情報提供装置100bのドメイン名をサービス情報テーブル312に登録して、サービス情報テーブル312を更新する(ステップS610)。具体的には、中継装置130cは、情報提供装置100aのIPアドレス「10.20.30.1」がサービス情報テーブル312の登録Noのいずれに記録されているか否かを確認する。図3(b)に示すサービス情報テーブル312の例では、IPアドレス「10.20.30.1」が登録No.1−1に記録されている。このため、ドメイン情報更新部322は、情報提供装置100aのドメイン名「xx.yy.tv」の転送先を、情報提供装置100bのドメイン名「xx.yy.001.tv」と対応付けることができる。
次に、ドメイン情報更新部322は、図4(a)に示すように、サービス情報テーブル312の登録No.1−2に、情報提供装置100bのドメイン名を追加登録する。この際、サービスパラメータは、登録No.1−1から登録No.1−2にコピーされる。その後、中継装置130cは、取得応答を端末装置110aに送信する(ステップS611)。
端末装置110aは、取得応答でHTTPリダイレクトを認識すると、情報提供装置100bのIPアドレスを調べるために、DNSサーバ120にDNS要求パケットを送信する(ステップS612)。DNS要求パケットには、情報提供装置100bのドメイン名「xx.yy.001.tv」が書き込まれている。
DNSサーバ120は、DNS要求パケットを受信すると、ドメイン名に対応する情報提供装置100bのIPアドレスをDNS応答パケットに書き込み、中継装置130cに返信する(ステップS613)。このときのDNS応答パケットを、DNS応答パケットBとして図6(c)に示す。DNS要求パケットに含まれる情報提供装置100bのドメイン名が「xx.yy.001.tv」、Typeが「1(=IPv4)」の場合、DNS応答パケットBの「回答データ」には、情報提供装置100bのIPアドレスである「10.20.30.3」が書き込まれる。
中継装置130cは、DNSサーバ120からDNS応答パケットBを受信すると、中継装置130aとの間の通信経路で、ドメイン名「xx.yy.001.tv」に対応するコンテンツ送信に対して、QoS処理が必要か否かを判断する(ステップS614)。QoS処理が必要である場合、中継装置130cは、QoS処理を行う(ステップS615)。具体的には、中継装置130cは、DNS応答パケットBのDNS問い合わせ名「xx.yy.001.tv」が、サービス情報テーブル312に登録されているか否かで、QoS処理が必要か否かを判断する。
図9のステップS610の処理を行ったことにより、例えば、サービス情報テーブル312(図4(a)参照)には、登録No.1−2に、ドメイン名「xx.yy.001.tv」が登録されている。このため、中継装置130cは、当該ドメイン名のサービスパラメータ(転送レート10Mbps、優先度7、TCP)を取得する。次に、中継装置130cは、DNS応答パケットBの回答IPアドレスをサービス情報テーブル312に記憶する。図4(b)は、サービス情報テーブル312に、情報提供装置のアドレス「10.20.30.3」が記憶されたことを示す。
次に、中継装置130cは、QoS登録部314を介して、サービスパラメータ(転送レート10Mbps、優先度7、TCP)をQoS管理テーブル315に登録する。図5(b)は設定されたQoS管理テーブル315を示す。ここで、送信元アドレス「10.20.30.3」は、DNS応答パケットBの回答IPアドレス(情報提供装置100bのIPアドレス)である。また、宛先アドレス「192.168.0.8」は、DNS応答パケットBのIPヘッダの宛先IPアドレスであり、端末装置110aのIPアドレスとなる。
その後、中継装置130cは、中継装置130aを介して、DNS応答パケットBを端末装置110aに返信する(ステップS616)。端末装置110aは、中継装置130aを介してDNS応答パケットBを受信すると、当該DNS応答パケットBに含まれる回答IPアドレスを参照する。この場合、回答IPアドレスには、情報提供装置100bのIPアドレスが書き込まれているので、端末装置110aは、宛先を情報提供装置100bとしてコンテンツの取得要求を送信する(ステップS617)。
情報提供装置100bは、コンテンツ取得要求を受信すると、取得応答を送信する(ステップS618)。例えば、情報提供装置100bは、取得応答として、図7(c)に示すHTTPパケットを送信する。中継装置130cは、応答パケット検出部320を介して、情報提供装置100bからの取得応答を検出すると、転送要求であるか否かを解析する(ステップS619)。これはHTTPメッセージの応答コードを検査して判断する。図7(c)のHTTPメッセージでは、応答コードが200であり、転送要求でないと判断する。転送要求でない場合、中継装置130cは、サービス情報テーブル312の更新は行わない。
その後、中継装置130cは、取得応答を端末装置110aへ送信する(ステップS620)。情報提供装置100bは、取得応答送信後直ちに端末装置110aにコンテンツを配信する(ステップS621)。また、情報提供装置100bが送信する取得応答にもコンテンツの一部が含まれる場合もある。
端末装置110aは、情報提供装置100bからコンテンツを受信し、コンテンツの再生を行う(ステップS622)。コンテンツ配信中において、中継装置130cは、QoS管理テーブル315のデータ識別パラメータに一致するパケットを受信すると、データ保証パラメータに基づいて優先制御のQoS処理を行い、中継装置130c、130a区間の通信品質保証を実現する。
図10は、図9のステップS604、S605、S609,S610における中継装置130cの動作の詳細を示すフローチャートである。中継装置130cにおいて、DNS検出部310は、受信部302が受信した受信データの種別を判定し、受信データがDNS応答パケットAであると判定する(ステップS1101)。DNS解析部311は、DNS応答パケットAを解析して(ステップS1102)、問い合わせ名(ドメイン名)及び回答IPアドレスを取得する(ステップS1103)。
次に、QoS要否判定部313は、取得したドメイン名がサービス情報テーブル312に存在するか否かを判断する(ステップS1104)。取得したドメイン名がサービス情報テーブル312に存在しない場合、QoS要否判定部313は、QoS処理が不要なコンテンツ送信であると判断する。この場合、中継装置130cは、QoS処理しないで、DNS応答パケットを送信する(ステップS1105)。一方、取得したドメイン名がサービス情報テーブル312に存在する場合、QoS要否判定部313は、QoS登録部314を介して、サービス情報テーブル312のサービスパラメータと回答IPアドレスとをQoS管理テーブル315に登録する(ステップS1106)。また、QoS要否判定部313は、回答IPアドレスをサービス情報テーブル312における該当ドメイン名の「情報提供装置アドレス」に記録する。
次に、中継装置130cは、DNS応答パケットAを送信する(ステップS1107)。その後、中継装置130cは、回答IPアドレスである情報提供装置100aからの取得応答を受信すると(ステップS1108)、取得応答を解析する(ステップS1109、図9のステップS609)。取得応答が転送要求(HTTPリダイレクト)でない場合、中継装置130cは、取得応答を送信する(ステップS1113)。
一方、取得応答が転送要求(HTTPリダイレクト)である場合、中継装置130cは、転送要求に含まれる転送先URLから転送先の情報提供装置100bのドメイン名を抽出する(ステップS1111)。その後、中継装置130cは、情報提供装置100aのドメイン名と、情報提供装置100bのドメイン名とを関連付けて、サービス情報テーブル312を更新する(ステップS1112)。更新前のサービス情報テーブルを図3(b)に、更新後のサービス情報テーブルを図4(a)に示す。関連付けには、サービス情報テーブル312の「情報提供装置アドレス」を利用する。その後、中継装置130cは、取得応答を送信する(ステップS1113、図9のステップS611)。
以上のように、本発明の第1の実施形態によると、中継装置130cは、接続予定の情報提供装置がドメイン名の異なる情報提供装置に変更された場合でも、情報提供装置が端末装置に対して送信する転送要求(HTTPリダイレクト)を解析することで、情報提供装置のドメイン名の変更を検出して、ドメイン名と当該ドメイン名に対応するサービスパラメータとを対応付けたサービス情報テーブル312を更新する。これにより、中継装置は、異なるドメイン名の情報提供装置から配信されるコンテンツを識別してQoS処理を行うことで、通信品質を保証することが可能となる。その結果、ユーザは、映像途切れや乱れのない高品質なコンテンツ視聴を行うことができる。
また、中継装置130cは、データの中継転送機能にCPU(Central Processing Unit)や、メモリ等のリソースを最適化設計しているため、全てのHTTPパケットのペイロード(メッセージ)部を解析処理すると、CPU負荷(CPU使用率)増加により通信スループット(通信レート)が低下する恐れがある。このため、中継装置130cは、DNS応答パケットに含まれるQoS対象のコンテンツを送信する情報提供装置のIPアドレスを指定して、情報提供装置から送信されるHTTPパケットのペイロード部を解析し、指定されたIPアドレスを有する情報提供装置以外のサーバから送信されるHTTPパケットを解析しないようにする。これにより、中継装置は、全てのHTTPパケットのペイロード(メッセージ)部を解析処理する必要がなくなり、CPU負荷増加を抑制し、通信スループット低下を回避することができる。
(第2の実施形態)
第1の実施形態では、中継装置130は、DNS応答パケットのドメイン名に基づいてQoS処理の要否判定を行い、QoS処理の必要がある場合、QoS処理を行うと共に、情報提供装置100aから端末装置110aに送信される取得応答を解析して、別の情報提供装置100bへの転送要求であると、転送先ドメイン名をサービス情報テーブル312に追加登録していた。その結果、異なるドメイン名の情報提供装置100bからコンテンツが配信された場合に、中継装置130においてQoS処理できずに乱れた映像配信が行われることを防止できた。
一方、第2の実施形態では、DNS応答パケットにCNAME(Canonical NAME for an alias)として、別名のドメイン名が付加されていた場合に、中継装置130cがDNS応答パケットから別名のドメイン名を抽出して、サービス情報テーブル312を更新する形態を説明する。これにより、中継装置130cは、別名のドメイン名の情報提供装置からコンテンツが配信された場合に、QoS処理できずに乱れた映像配信が行われることを防止できる。
本発明の第2の実施形態におけるネットワークの構成は、第1の実施形態の図1と同様であり、ここでは説明を省略する。図11は、本発明の第2の実施形態における中継装置130の機能ブロック図である。図2で述べた各機能ブロックと同一の構成については、同一の参照符号を付与し、ここでは説明を省略する。
図11を参照して、サービス情報テーブル404は、コンテンツの種別を示すドメイン名と、当該ドメイン名に関連する各種パラメータ(以下、「サービスパラメータ」とする)とを対応付けて記憶している。サービスパラメータには、情報提供装置100から提供されるサービスの名称や、当該ドメイン名に対応するコンテンツの要求帯域や優先度などが含まれる。なお、このサービス情報テーブル404の詳細は、図12にて後述する。
サービス情報テーブル404において、第1の実施形態に係るサービス情報テーブル312との違いは、項目「情報提供装置アドレス」の有無である。サービス情報テーブル312における「情報提供装置アドレス」は、追加登録するドメイン名と現登録ドメイン名との対応付けに利用した。しかし、第2の実施形態では、「情報提供装置アドレス」を利用せずに追加登録するドメイン名と現登録ドメイン名との対応付けが可能であり、サービス情報テーブル404では、項目「情報提供装置アドレス」を削除した。また、ドメイン名の説明は、第1の実施形態と同様であり、省略する。
DNS解析部401は、受信したDNS応答パケットに含まれるDNS問い合わせ名(ドメイン名)、Type、及び回答データを抽出して、QoS要否判定部402へ転送する。なお、DNSパケットの構成については、図13にて後述する。DNS応答パケットのTypeが1あるいは28の場合、回答データはIPアドレスとなる。一方、Typeが5の場合、これは別名のドメイン名を示すCNAMEを示し、回答データは別名のドメイン名となる。
QoS要否判定部402は、DNS解析部401から転送されたTypeを検査する。Typeが1あるいは28である場合、QoS要否判定部402は、図2のQoS要否判定部313と同様の動作をするため、ここでは説明を省略する。一方、Typeが5(=CNAME)の場合、QoS要否判定部402は、DNS解析部401から転送されたドメイン名が、サービス情報テーブル404に登録されているか否かを確認する。登録されていない場合、QoS要否判定部402は、QoS処理が不要のドメイン名のサービスである判断して、制御を終了する。一方、登録されている場合、QoS要否判定部402は、QoS処理が必要なサービスと判断して、回答データである別名のドメイン名、及びDNS問い合わせ名(ドメイン名)をドメイン情報更新部403へ転送する。
ドメイン情報更新部403は、転送された別名のドメイン名をサービス情報テーブル404に登録する。具体的には、ドメイン情報更新部403は、DNS問い合わせ名がサービス情報テーブル404の登録Noのいずれに存在するかを確認する。確認された登録Noのドメイン名の別名が、QoS要否判定部402から転送された別名のドメイン名である場合、ドメイン情報更新部403は、これらを関連付けて、別名のドメイン名をサービス情報テーブル404に追加登録する。
図12は、図11に示すサービス情報テーブル404のメモリ構造を詳細に表した図である。図12(a)において、サービス情報テーブル404は、項目「DNS問い合わせ名(ドメイン名)」と、項目「サービスパラメータ」とを対応付けて記憶する。項目「サービスパラメータ」には、項目「サービス名」、項目「転送レート(bps)」、項目「優先度」、及び項目「Layer4 Protocol」が含まれる。項目「DNS問い合わせ名(ドメイン名)」には、情報提供装置100のホスト名であるドメイン名が記憶される。なお、このドメイン名は、FQDN(Fully Qualified Domain Name)であってもよいし、ドメイン名のトップレベルドメインなどのコンテンツの種別を示せる一部分であってもよい。
項目「サービス名」には、ドメイン名に対応するサービス名が記憶される。このサービス名には、例えば、サービスの提供会社やコンテンツの種別などが含まれる。項目「転送レート(bps)」には、ドメイン名に対応するコンテンツの要求帯域を示す転送レートが記憶される。項目「優先度」には、各ドメイン名の送信優先順位を示す優先度が記録されている。この優先度の数値が大きいほど、当該ドメイン名の優先順位が高いことを示す。
項目「Layer4 Protocol」には、例えば、TCPやUDPなどの通信プロトコルが記憶される。この項目がTCPならば双方向リンクでQoS処理をする、あるいはUDPならば片方向リンク(下りリンクあるいは上りリンク)のみでQoS処理をするなどの判断に利用される。
図12(a)において、サービス情報テーブル404は、2個のサービス情報を管理している。1番目(登録No.1−1)のサービス情報は、項目「ドメイン名」に「xx.yy.tv」、項目「サービス名」に「X社テレビ番組配信」、項目「転送レート(bps)」に「10M」、項目「優先度」に「7」、項目「Layer4 Protocol」に「TCP」が記録されている。すなわち、1番目のサービス情報は、「ホスト名がxx.yy.tvの情報提供装置100が保有するコンテンツは、X社のテレビ番組配信サービスにより配信され、このコンテンツが端末装置110に配信されるためには、通信経路上に10Mの帯域を必要とし、優先度7で送信される」ことを示している。
2番目(登録No.2−1)のサービス情報は、項目「ドメイン名」に「abc.xyz.com」、項目「サービス名」に「A社ビデオ配信」、項目「転送レート(bps)」に「6M」、項目「優先度」に「4」、項目「Layer4 Protocol」に「UDP」が記録されている。すなわち、2番目のサービス情報は、「ホスト名がabc.xyz.comの情報提供装置100が保有するコンテンツは、A社のビデオ配信サービスにより配信され、このコンテンツが端末装置110に配信されるためには、通信経路上に6Mの帯域を必要とし、優先度4で送信される」ことを示している。
図13は、DNSパケットのパケット構成を説明する図である。図13(a)には、DNSパケットのフォーマットを示す。図13(b)、(c)には、DNSパケットのQueryフィールド、及びAnswerフィールドに値が設定された例として、DNS応答パケットC、Dを示す。図13(a)において、DNSパケットは、「Ethernetヘッダ」、「IPヘッダ」、「UDP(TCP)ヘッダ」、「DNSメッセージ」、及び「FCS」の各フィールドから構成される。また、「DNSメッセージ」には、「DNS問い合わせ名(ドメイン名)」、「Type(問い合わせ種別)」及び「回答データ」の各フィールドが含まれる。
図13(b)には、DNS応答パケットCの一例を示す。図13(b)を参照して、「DNS問い合わせ名(ドメイン名)」には、情報提供装置100aのホスト名を示すドメイン名「xx.yy.tv」が格納される。「Type(問い合わせ種別)」には、DNSで問い合わせる種別が格納される。「Type」に「5」が格納されている場合、回答データは、DNS問い合わせ名に対応する別名のドメイン名であることを示す。「回答データ」には、情報提供装置100aの別名のドメイン名「xx.yy.001.tv」が格納される。
端末装置110aは、DNS応答パケットCを受信すると、Typeが5(=CNAME)であり、回答データに別名のドメイン名が格納されている場合、情報提供装置100aの別名のドメイン名を「DNS問い合わせ名」に格納したDNS要求パケットをDNSサーバ120に送信する。その後、端末装置110aは、DNSサーバ120から図13(c)に記すようなDNS応答パケットDを受信する。DNS応答パケットDには、情報提供装置100aの別名のドメイン名「xx.yy.001.tv」に対応するIPアドレス「10.20.30.1」が書き込まれている。端末装置110aは、DNS応答パケットDを受信すると、回答IPアドレスに含まれる情報提供装置100aのIPアドレスを、接続先のIPアドレスとして設定する。
以下、以上のように構成された中継装置130cのテーブル更新方法について、図面を用いてその動作を説明する。図14は、本発明の第2の実施形態に係るネットワークにおいて、各機器の動作を示したシーケンス図である。この場合、中継装置130cは、DNSサーバ120からCNAMEのDNS応答パケットC(図13(b))を受信解析して、サービス情報テーブル404を更新する。
図14を参照して、端末装置110aは、ユーザによりコンテンツの再生操作が行われると(ステップS801)、DNS要求パケットに情報提供装置100aのドメイン名「xx.yy.tv」を書き込んでDNSサーバ120に送信する(ステップS802)。DNSサーバ120は、DNS要求パケットを受信すると、情報提供装置100aの別名のドメイン名をDNS応答パケットに書き込み、中継装置130cに返信する(ステップS803)。このときのDNS応答パケットを、DNS応答パケットCとして図13(b)に示す。DNS要求パケットに含まれるドメイン名が「xx.yy.tv」、Typeが「1(=IPv4)」の場合、DNS応答パケットCには、Typeに「5(=CNAME)」が、回答データに情報提供装置100aの別名のドメイン名である「xx.yy.001.tv」が書き込まれる。
中継装置130cは、DNSサーバ120からDNS応答パケットCを受信すると、中継装置130aとの間の通信経路で、ドメイン名に対応するコンテンツ送信に対して、QoS処理が必要か否かを判断する(ステップS804)。具体的には、中継装置130cは、DNS応答パケットCのDNS問い合わせ名「xx.yy.tv」が、サービス情報テーブル404に登録されているか否かで、QoS処理が必要か否かを判断する。図12(a)のサービス情報テーブル404には、「xx.yy.tv」が登録No.1−1に登録されており、QoS処理が必要と判断できる。
次に、中継装置130cは、DNS応答パケットCのTypeが5(=CNAME)であるか否かを検査する(ステップS805)。ここで、Typeが1、あるいは28の場合、中継装置130cは、第1の実施形態と同様に、該当ドメイン名のサービスパラメータをサービス情報テーブル404より取得して、QoS登録部314を介して、当該取得したサービスパラメータをQoS管理テーブル315に登録する。
一方、Typeが5の場合、DNS応答パケットCの回答データには、情報提供装置100aのIPアドレスでなく、別名のドメイン名が記載されている。中継装置130cは、ドメイン情報更新部403を用いて、情報提供装置100aの別名のドメイン名「xx.yy.001.tv」をサービス情報テーブル404に登録することで、サービス情報テーブル404を更新する(ステップS806)。
具体的には、中継装置130cは、DNS応答パケットCのDNS問い合わせ名「xx.yy.tv」がサービス情報テーブル404の登録Noのいずれに記録されているか否かを確認する。図12(a)に示す例では、「xx.yy.tv」が登録No.1−1に記録されており、ドメイン情報更新部403は、情報提供装置100aのドメイン名「xx.yy.tv」の別名が、「xx.yy.001.tv」であると対応付けることができる。ドメイン情報更新部403は、図12(b)に示すように、登録No.1−2に、情報提供装置100aのドメイン名を追加登録する。この際、サービスパラメータは、登録No.1−1から登録No.1−2にコピーされる。その後、中継装置130cは、中継装置130aを介して、DNS応答パケットCを端末装置110aに返信する(ステップS807)。
端末装置110aは、DNS応答パケットCを受信すると、このDNS応答パケットCに含まれるType及び回答データを参照する。この場合、回答データには情報提供装置100aの別名のドメイン名「xx.yy.001.tv」が書き込まれている。このため、端末装置110aは、別名のドメイン名に対応するIPアドレスを調べるために、別名のドメイン名をDNS問い合わせ名としたDNS要求パケットをDNSサーバ120に送信する(ステップS808)。
DNSサーバ120は、DNS要求パケットを受信すると、別名のドメイン名に対応する情報提供装置100aのIPアドレスをDNS応答パケットに書き込み、中継装置130cに返信する(ステップS809)。このときのDNS応答パケットを、DNS応答パケットDとして図13(c)に示す。DNS要求パケットに含まれる情報提供装置100aの別名のドメイン名が「xx.yy.001.tv」、Typeが「1(=IPv4)」の場合、DNS応答パケットDの「回答データ」には、情報提供装置100aのIPアドレスである「10.20.30.1」が書き込まれる。
中継装置130cは、DNSサーバ120からDNS応答パケットDを受信すると、中継装置130aとの間の通信経路で、ドメイン名に対応するコンテンツ送信に対して、QoS処理が必要か否かを判断する(ステップS810)。QoS処理が必要である場合、中継装置130cは、QoS処理を行う(ステップS811)。具体的には、中継装置130cは、DNS応答パケットDのDNS問い合わせ名「xx.yy.001.tv」が、サービス情報テーブル404に登録されているか否かで、QoS処理が必要か否かを判断する。
中継装置130cが、図14のステップS806の処理を行ったことにより、例えば、サービス情報テーブル404(図12(b)参照)には、登録No.1−2に、ドメイン名「xx.yy.001.tv」が登録されている。このため、中継装置130cは、サービス情報テーブル404から、該当ドメイン名のサービスパラメータ(転送レート10Mbps、優先度7、TCP)を取得する。次に、中継装置130cは、QoS登録部314を介して、サービスパラメータ(転送レート10Mbps、優先度7、TCP)をQoS管理テーブル315に登録する。QoS管理テーブル315への登録方法は、第1の実施形態と同様であり、説明を省略する。その後、中継装置130cは、中継装置130aを介して、DNS応答パケットDを端末装置110aに返信する(ステップS812)。
端末装置110aは、中継装置130aを介してDNS応答パケットDを受信すると、このDNS応答パケットDに含まれる回答IPアドレスを参照する。この場合、回答IPアドレスには情報提供装置100aのIPアドレスが書き込まれているので、端末装置110aは、宛先を情報提供装置100aとしてコンテンツの取得要求を送信する(ステップS813)。
情報提供装置100aは、コンテンツ取得要求に対する取得応答を端末装置110aに送信する(ステップS814)。例えば、取得応答として図7(c)に示すHTTPパケットを送信する。情報提供装置100aは、取得応答送信後直ちに端末装置110aにコンテンツを配信する(ステップS815)。また、情報提供装置100aが送信する取得応答にもコンテンツの一部が含まれる場合もある。端末装置110aは、情報提供装置100aからコンテンツを受信し、コンテンツの再生を行う(ステップS816)。コンテンツ配信中において、中継装置130cは、QoS管理テーブル315のデータ識別パラメータに一致するコンテンツを受信すると、データ保証パラメータに基づいて優先制御のQoS処理を行い、中継装置130c、130a区間の通信品質保証を実現する。
図15は、図14のステップS804、S805、S806における中継装置130cの動作を示すフローチャートである。中継装置130cにおいて、DNS検出部310は、受信部302が受信した受信データの種別を判定し、受信データがDNS応答パケットCであると判定する(ステップS1201)。DNS解析部311は、DNS応答パケットCを解析して(ステップS1202)、問い合わせ名(ドメイン名)、Type、及び回答データを取得する(ステップS1203)。
次に、QoS要否判定部402は、取得したドメイン名が図12に示すサービス情報テーブル404に存在するか否かを判断する(ステップS1204)。ドメイン名がサービス情報テーブル404に存在しない場合、QoS要否判定部402は、QoS処理が不要なコンテンツ送信と判断して、DNS応答パケットを送信する(ステップS1210)。一方、ドメイン名がサービス情報テーブル404に存在する場合、QoS要否判定部402は、TypeがCNAME(=5)であるかを判断する(ステップS1205)。
TypeがCNAMEでない場合、QoS要否判定部402は、回答データである情報提供装置100aのIPアドレスを取得し(ステップS1206)、QoS登録部314を介して、該当ドメイン名に対するサービス情報テーブル404のサービスパラメータと回答IPアドレスとをQoS管理テーブル315に登録する(ステップS1207)。その後、中継装置130cは、DNS応答パケットを送信する(ステップS1210)。
一方、ステップS1205において、TypeがCNAMEの場合、QoS要否判定部402は、回答データである情報提供装置100aの別名のドメイン名を取得する(ステップS1208)。その後、QoS要否判定部402は、情報提供装置100aのドメイン名「xx.yy.tv」と別名のドメイン名「xx.yy.001.tv」とを関連付けて、サービス情報テーブル404を更新する(ステップS1209)。更新前のサービス情報テーブルを図12(a)に、更新後のサービス情報テーブルを図12(b)に示す。その後、中継装置130cは、DNS応答パケットCを送信する(ステップS1210)。
以上のように、本発明の第2の実施形態によると、中継装置130cは、DNS応答パケットに情報提供装置のIPアドレスが含まれず、CNAMEとして別名のドメイン名が含まれた場合でも、DNSサーバから端末装置に対して送信されるDNS応答パケットを解析することで、CNAMEである情報提供装置の別名のドメイン名を検出して、ドメイン名と当該ドメイン名に対応するサービスパラメータとを対応付けたサービス情報テーブルを更新する。これにより、中継装置130cは、別名のドメイン名の情報提供装置から配信されるコンテンツを識別してQoS処理を行うことで、通信品質を保証することが可能となる。その結果、ユーザは、映像途切れや乱れのない高品質な映像コンテンツ視聴を行うことができる。
(第3の実施形態)
第3の実施形態では、第1の実施形態及び第2の実施形態で説明した中継装置130の変形例について説明する。第1の実施形態及び第2の実施形態では、中継装置130が、1つの制御部323を備えるものとして説明したが、図16Aに示すように、機能に応じて、第1の制御部324と、第2の制御部325とを分離して備えてもよいものとする。第1の制御部324は、受信部302が受信した応答パケットに基づいて、サービス情報テーブル312を更新する機能を有する。第2の制御部325は、QoS処理の要否を判定する機能を有する。この場合、第1の制御部324は、応答パケット検出部320と、転送要求解析部321と、ドメイン情報更新部322とを備える。第2の制御部325は、DNS検出部310と、DNS解析部311と、QoS要否判定部313と、QoS登録部314とを備える。各機能ブロックの動作については、上述したとおりであるので、説明を省略する。
また、中継装置130は、図16Bに示すように、第1の制御部324のみを備える構成であってもよいものとする。中継装置130は、第1の制御部324のみを備える構成であっても、サービス情報テーブル312を更新することができるからである。
<変形例>
(1)本発明の各実施形態に係る中継装置及びテーブル更新方法は、電力線通信だけに限らず、無線、電話線、同軸ケーブル、光ケーブルなどを用いた通信にも適用可能である。また、USB(Universal Serial Bus)、HDMI(High−Definition Multimedia Interface)(登録商標)、IEEE1394などの通信にも適用可能である。これらにより、本発明の中継装置及びテーブル更新方法は、各種伝送メディアで利用可能となる。
(2)本発明の各実施形態に係る中継装置及びテーブル更新方法は、中継装置などのブリッジだけに限らず、ルータ、ゲートウェイ、レイヤ2スイッチ、レイヤ3スイッチ、レイヤ7スイッチ、ブルータにも適用可能である。ブリッジ及びレイヤ2スイッチとは、OSI(Open System Interconnection)参照モデルのデータリンク層の中継装置である。ルータ及びレイヤ3スイッチとは、OSI参照モデルのネットワーク層の中継装置である。ゲートウェイとは、OSI参照モデルの4層以上の中継装置である。レイヤ7スイッチとは、OSI参照モデルのアプリケーション層の中継装置である。ブルータとは、ルータ機能とブリッジ機能をあわせもった中継装置である。これらにより、本発明の中継装置及びテーブル更新方法は、ブリッジだけに限らず、各種中継装置でも利用可能となる。
(3)本発明の各実施形態に係る中継装置及びテーブル更新方法は、DNSサーバから送信されるDNS応答パケットを中継装置130cにて解析しているが、これだけに限定されず、DNSキャッシュ機能を内蔵したルータから送信されるDNS応答パケットを中継装置130cにて解析しても実現可能である。ルータは、DNSサーバと中継装置130cの間に位置して接続される。これらにより、本発明の中継装置及びテーブル更新方法は、DNSサーバだけに限らず、DNSキャッシュ機能を備えるルータ等の中継装置を利用したネットワークシステムでも利用可能となる。
(4)本発明の各実施形態に係る中継装置及びテーブル更新方法は、第2のネットワーク150側に接続される中継装置130cだけで動作したが、これに限定されずに、中継装置130a及び130bで動作させることも同様に可能である。これにより、インターネット電話など双方向通信にて、中継装置130aから中継装置130cへアップリンク通信での品質保証制御を実現することも可能となる。また、アップリンク通信のQoS処理の要否は、サービス情報テーブルにサービスパラメータの1項目として追加することも容易に考えられる。中継装置130a及び130bは、DNS応答パケット受信時にサービス情報テーブルを参照して、アップリンク通信のQoS処理の要否を判断可能となる。
なお、本発明の各実施の形態において開示された中継装置130が備える各機能ブロックは、集積回路であるLSIにより実現されてもよい。例えば、中継装置130において、制御部323、あるいは第1の制御部324、及び第2の制御部325は、集積回路により構成されてもよい。これらは個別に1チップ化されてもよいし、一部または全てを含むように1チップ化されてもよい。このLSIは、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサが利用されてもよい。あるいは、LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサが利用されてもよい。また、プロセッサやメモリ等を備えたハードウエア資源においてプロセッサがROMに格納された制御プログラムを実行する構成が用いられてもよい。
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術等が適応され得る。
本発明は、通信の帯域制御を必要とする各種通信装置、例えばPLCブリッジ、ルータ、ゲートウェイ、レイヤ2スイッチ、レイヤ3スイッチ、レイヤ7スイッチ、ブルータなどに適用可能である。
100,100a,100b 情報提供装置
110,110a,110b 端末装置
120 DNSサーバ
130,130a,130b,130c 中継装置
301 通信部
302 受信部
303 通信部
304 QoS処理
305 送信部
310 DNS検出部
311 DNS解析部
312 サービス情報テーブル
313 QoS要否判定部
314 QoS登録部
315 QoS管理テーブル
316 記憶部
320 応答パケット検出部
321 転送要求解析部
322 ドメイン情報更新部
323 制御部
401 DNS解析部
402 QoS要否判定部
403 ドメイン情報更新部
404 サービス情報テーブル
601 端末装置
602 中継装置
603 中継装置
604 サーバ
701 データ識別部
702 キュー
703 優先制御部