(57)【要約】【課題】ブロック単位でコンテンツクエリを処理するコンテンツ名ベースの端末装置、ルーティング方法、及びルーティングテーブルを用いるネットワーク装置を提供する。【解決手段】端末装置は、複数のセグメントを含むコンテンツを対象に、コンテンツの送信範囲およびコンテンツ名を含むブロッククエリを生成するクエリ生成部と、生成されたブロッククエリに対応するコンテンツ名をルーティングテーブルから検索するテーブル検索部と、検索されたコンテンツ名に対応するフラグを設定し、生成されたブロッククエリに対応する複数のセグメントナンバを各ナンバフィールドに設定するフィールド設定部と、検索されたコンテンツ名に対応する送信方向を示す送信ポートにブロッククエリを送信するクエリ送信部と、を含み、ブロッククエリに対応する複数のセグメントの送信方向を示す送信ポートが全て同じである。【選択図】図６
2011135575.tif 000002
【特許請求の範囲】
【請求項１】
複数のセグメントを含むコンテンツを対象に、前記コンテンツの送信範囲および前記コンテンツ名を含むブロッククエリを生成するクエリ（ｑｕｅｒｙ）生成部と、
前記生成されたブロッククエリに対応するコンテンツ名をルーティングテーブルから検索するテーブル検索部と、
前記検索されたコンテンツ名に対応するフラグを設定し、前記生成されたブロッククエリに対応する複数のセグメントナンバを各ナンバフィールドに設定するフィールド設定部と、
前記検索されたコンテンツ名に対応する送信方向を示す送信ポートに前記ブロッククエリを送信するクエリ送信部と、を含み、
前記ブロッククエリに対応する複数のセグメントの送信方向を示す送信ポートが全て同じであることを特徴とするコンテンツ名ベースの端末装置。
【請求項２】
前記フィールド設定部は、前記送信されたブロッククエリに対応する複数のセグメントの状態フィールドをそれぞれ設定することを特徴とする請求項１に記載のコンテンツ名ベースの端末装置。
【請求項３】
前記クエリ生成部は、前記ブロッククエリに対応する複数のセグメントのうち少なくとも１つが予め設定された満了時間内に受信された場合、前記送信範囲を調整し、前記調整された送信範囲および前記コンテンツ名を含むブロッククエリを生成することを特徴とする請求項１に記載のコンテンツ名ベースの端末装置。
【請求項４】
前記ブロッククエリに対応する複数のセグメントを、前記ブロッククエリの送信方向を示す送信ポートと同じポートを用いて受信するコンテンツ受信部をさらに含むことを特徴とする請求項１に記載のコンテンツ名ベースの端末装置。
【請求項５】
前記コンテンツ受信部は、互いに異なるルーティング経路を有する前記ブロッククエリに対応する複数のセグメントを受信することを特徴とする請求項４に記載のコンテンツ名ベースの端末装置。
【請求項６】
複数のセグメントを含むコンテンツを対象に、前記コンテンツの送信範囲および前記コンテンツ名を含むブロッククエリ（ｑｕｅｒｙ）を生成するステップと、
前記生成されたブロッククエリに対応するコンテンツ名をルーティングテーブルから検索するステップと、
前記検索されたコンテンツ名に対応するフラグを設定するステップと、
前記生成されたブロッククエリに対応する複数のセグメントナンバを各ナンバフィールドに設定するステップと、
前記検索されたコンテンツ名に対応する送信方向を示す送信ポートに前記ブロッククエリを送信するステップと、を含み、
前記ブロッククエリに対応する複数のセグメントの送信方向を示す送信ポートが全て同じであることを特徴とするコンテンツ名ベースのルーティング方法。
【請求項７】
前記送信されたブロッククエリに対応する複数のセグメントの状態フィールドをそれぞれ設定するステップをさらに含むことを特徴とする請求項６に記載のコンテンツ名ベースのルーティング方法。
【請求項８】
前記ブロッククエリを生成するステップは、前記ブロッククエリに対応する複数のセグメントのうち少なくとも１つが予め設定された満了時間内に受信された場合、前記送信範囲を調整するステップと、
前記調整された送信範囲および前記コンテンツ名を含むブロッククエリを生成するステップと、
を含むことを特徴とする請求項６に記載のコンテンツ名ベースのルーティング方法。
【請求項９】
前記ブロッククエリに対応する複数のセグメントを、前記ブロッククエリの送信方向を示す送信ポートと同じポートを用いて受信するステップをさらに含むことを特徴とする請求項６に記載のコンテンツ名ベースのルーティング方法。
【請求項１０】
前記受信されたブロッククエリに対応する複数のセグメントは、互いに異なるルーティング経路を有することを特徴とする請求項９に記載のコンテンツ名ベースのルーティング方法。
【請求項１１】
コンテンツを要請するブロッククエリを受信するクエリ受信部と、
前記コンテンツは複数のセグメントを含み、前記ブロッククエリは前記複数のセグメントのうちの２つ以上を要請し、
前記要請されたコンテンツに対応するコンテンツ名をルーティングテーブルから検索するテーブル検索部と、
前記検索されたコンテンツ名に対応するフラグを設定するフィールド設定部と、を含み、
前記ブロッククエリに対応する複数のセグメントの送信方向を示す送信ポートが全て同じであることを特徴とするコンテンツ名ベースの端末装置。
【請求項１２】
前記要請されたコンテンツが格納されているか否かに応じて、前記検索されたコンテンツ名に対応する送信方向を示す送信ポートに前記ブロッククエリを送信するクエリ送信部をさらに含むことを特徴とする請求項１１に記載のコンテンツ名ベースの端末装置。
【請求項１３】
前記フィールド設定部は、前記ルーティングテーブルで前記要請されたコンテンツの状態フィールドを設定し、前記ブロッククエリに対応する複数のセグメントを対象に、前記ブロッククエリの受信方向を示す受信ポートを設定することを特徴とする請求項１１に記載のコンテンツ名ベースの端末装置。
【請求項１４】
前記ブロッククエリに対応する複数のセグメントを前記設定された受信方向を示す受信ポートと同じポートを用いて、それぞれ送信するコンテンツ送信部をさらに含むことを特徴とする請求項１３に記載のコンテンツ名ベースの端末装置。
【請求項１５】
前記要請されたコンテンツが格納されていない場合、前記送信されたブロッククエリに対応する複数のセグメントのうちの少なくとも１つのセグメントを、前記ブロッククエリの送信方向を示す送信ポートと同じポートを用いて受信するコンテンツ受信部をさらに含むことを特徴とする請求項１３に記載のコンテンツ名ベースの端末装置。
【請求項１６】
コンテンツを要請するブロッククエリを受信するステップと、
前記コンテンツは複数のセグメントを含み、前記ブロッククエリは前記複数のセグメントのうちの２つ以上を要請し、
前記要請されたコンテンツに対応するコンテンツ名をルーティングテーブルから検索するステップと、
前記検索されたコンテンツ名に対応するフラグを設定するステップと、を含み、
前記ブロッククエリに対応する複数のセグメントの送信方向を示す送信ポートが全て同じであることを特徴とするコンテンツ名ベースのルーティング方法。
【請求項１７】
前記要請されたコンテンツが格納されているか否かに応じて、前記検索されたコンテンツ名に対応する送信方向を示す送信ポートに前記ブロッククエリを送信するステップをさらに含むことを特徴とする請求項１６に記載のコンテンツ名ベースのルーティング方法。
【請求項１８】
前記ルーティングテーブルで前記要請されたコンテンツの状態フィールドを設定するステップと、
前記ブロッククエリに対応する複数のセグメントを対象に、前記ブロッククエリの受信方向を示す受信ポートを設定するステップと、
をさらに含むことを特徴とする請求項１６に記載のコンテンツ名ベースのルーティング方法。
【請求項１９】
前記ブロッククエリに対応する複数のセグメントを前記ブロッククエリの受信方向を示す受信ポートと同じポートを用いて、それぞれ送信するステップをさらに含むことを特徴とする請求項１８に記載のコンテンツ名ベースのルーティング方法。
【請求項２０】
前記要請されたコンテンツが格納されていない場合、前記送信されたブロッククエリに対応する複数のセグメントのうちの少なくとも１つのセグメントを、前記ブロッククエリの送信方向を示す送信ポートと同じポートを用いて受信するステップをさらに含むことを特徴とする請求項１８に記載のコンテンツ名ベースのルーティング方法。
【請求項２１】
複数のセグメントを含むコンテンツを対象に、前記コンテンツを検索するために用いられるコンテンツ名フィールドと、
前記コンテンツを要請するクエリを送信するために用いられる送信方向を示す送信ポートフィールドと、
前記クエリが受信された方向を示す受信方向を示す受信ポートフィールドと、
前記クエリは、複数のセグメントのうちの２つ以上のセグメントを要請するブロッククエリを含み、
前記クエリが前記ブロッククエリであるか否かを示すフラグフィールドと、
前記要請されたクエリに対応するセグメントのナンバを示すナンバフィールドと、
を含むことを特徴とするルーティングテーブルを用いるネットワーク装置。
【請求項２２】
前記送信されたクエリに対応するコンテンツが受信されたか否かを示す状態フィールドと、
前記コンテンツの受信満了時間を示す時間フィールドと、
をさらに含むことを特徴とする請求項２１に記載のルーティングテーブルを用いるネットワーク装置。
【請求項２３】
前記送信方向を示す送信ポートフィールドに設定されたポートを用いて前記クエリが送信され、前記クエリに対応するコンテンツは前記クエリの送信方向を示す送信ポートと同じポートを用いて受信され、
前記受信方向を示す受信ポートフィールドは前記クエリの受信方向を示す受信ポートを含み、前記クエリに対応するコンテンツは前記クエリの受信方向を示す受信ポートと同じポートを用いて送信されることを特徴とする請求項２１に記載のルーティングテーブルを用いるネットワーク装置。
【請求項２４】
前記ブロッククエリはコンテンツ名および送信範囲を含み、前記送信範囲は前記ブロッククエリに対応する２つ以上のセグメントのうち、開始セグメントおよび最後のセグメントを含むことを特徴とする請求項２１に記載のルーティングテーブルを用いるネットワーク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ中心のネットワークシステムにおいてデータをルーティングする技術に関し、より詳しくは、コンテンツ名をベースにデータを共有するネットワーク装置の間に要請されたデータをルーティングする端末装置、システム、およびルーティング方法に関する。
【背景技術】
【０００２】
現在用いられているインターネットの構造は、ｈｏｓｔ−ｔｏ−ｈｏｓｔベースの一対一通信の構造を基本構造としている。ところが、実際にインターネットではホスト中心でないデータあるいはコンテンツを中心にネットワーキングが行われる。すなわち、ユーザは、データを格納している装置よりもデータそのものに関心を持つ傾向がある。
【０００３】
このとき、ユーザがネットワーク装置を用いて所望するデータを受信する場合、インターネット構造と実際の使用パターンとが一致しないことによって、不要な動作手続きが行なわれてネットワークシステムの性能が低下する。
これによって、インターネット構造と実際の使用パターンとを一致させながら、ネットワークシステムの性能を向上できるルーティング技術が必要である。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ブロック単位でコンテンツクエリ（ｂｌｏｃｋ  ｃｏｎｔｅｎｔｓ  ｑｕｅｒｙ）を処理するコンテンツ名ベースの端末装置、ルーティング方法、及びルーティングテーブルを用いるネットワーク装置を提供する。
【課題を解決するための手段】
【０００５】
本発明によるコンテンツ名ベースの端末装置は、複数のセグメントを含むコンテンツを対象に、コンテンツの送信範囲およびコンテンツ名を含むブロッククエリを生成するクエリ生成部と、生成されたブロッククエリに対応するコンテンツ名をルーティングテーブルから検索するテーブル検索部と、検索されたコンテンツ名に対応するフラグを設定し、生成されたブロッククエリに対応する複数のセグメントナンバを各ナンバフィールドに設定するフィールド設定部と、検索されたコンテンツ名に対応する送信方向を示す送信ポートにブロッククエリを送信するクエリ送信部と、を含み、ブロッククエリに対応する複数のセグメントの送信方向を示す送信ポートが全て同じである。
【０００６】
このとき、フィールド設定部は、送信されたブロッククエリに対応する複数のセグメントの状態フィールドをそれぞれ設定してもよい。
【０００７】
また、クエリ生成部は、ブロッククエリに対応する複数のセグメントのうち少なくとも１つが予め設定された満了時間内に受信された場合、送信範囲を調整する。また、クエリ生成部は調整された送信範囲およびコンテンツ名を含むブロッククエリを生成してもよい。
【０００８】
また、前記ブロッククエリに対応する複数のセグメントを、前記ブロッククエリの送信方向を示す送信ポートと同じポートを用いて受信するコンテンツ受信部をさらに含んでもよい。
【０００９】
また、コンテンツ受信部は、互いに異なるルーティング経路を有するブロッククエリに対応する複数のセグメントを受信してもよい。
【００１０】
本発明によるコンテンツ名ベースのルーティング方法は、複数のセグメントを含むコンテンツを対象に、コンテンツの送信範囲およびコンテンツ名を含むブロッククエリ（ｑｕｅｒｙ）を生成するステップと、生成されたブロッククエリに対応するコンテンツ名をルーティングテーブルから検索するステップと、検索されたコンテンツ名に対応するフラグを設定するステップと、生成されたブロッククエリに対応する複数のセグメントナンバを各ナンバフィールドに設定するステップと、検索されたコンテンツ名に対応する送信方向を示す送信ポートにブロッククエリを送信するステップと、を含み、ブロッククエリに対応する複数のセグメントの送信方向を示す送信ポートが全て同じである。
【００１１】
また、前記送信されたブロッククエリに対応する複数のセグメントの状態フィールドをそれぞれ設定するステップをさらに含んでもよい。
【００１２】
また、前記ブロッククエリを生成するステップは、前記ブロッククエリに対応する複数のセグメントのうち少なくとも１つが予め設定された満了時間内に受信された場合、前記送信範囲を調整するステップと、前記調整された送信範囲および前記コンテンツ名を含むブロッククエリを生成するステップと、を含んでもよい。
【００１３】
また、前記ブロッククエリに対応する複数のセグメントを、前記ブロッククエリの送信方向を示す送信ポートと同じポートを用いて受信するステップをさらに含んでもよい。
【００１４】
また、前記受信されたブロッククエリに対応する複数のセグメントは、互いに異なるルーティング経路を有してもよい。
【００１５】
また、本発明によるコンテンツ名ベースの端末装置は、コンテンツを要請するブロッククエリを受信するクエリ受信部と、コンテンツは複数のセグメントを含み、ブロッククエリは複数のセグメントのうちの２つ以上を要請し、要請されたコンテンツに対応するコンテンツ名をルーティングテーブルから検索するテーブル検索部と、検索されたコンテンツ名に対応するフラグを設定するフィールド設定部とを含む。
【００１６】
このとき、前記ブロッククエリに対応する複数のセグメントの送信方向を示す送信ポートが全て同じである。
【００１７】
また、前記要請されたコンテンツが格納されているか否かに応じて、検索されたコンテンツ名に対応する送信方向を示す送信ポートにブロッククエリを送信するクエリ送信部をさらに含んでもよい。
【００１８】
また、フィールド設定部は、ルーティングテーブル前記要請されたコンテンツの状態フィールドを設定し、ブロッククエリに対応する複数のセグメントを対象に、ブロッククエリの受信方向を示す受信ポートを設定してもよい。
【００１９】
また、ブロッククエリに対応する複数のセグメントを設定された受信方向を示す受信ポートと同じポートを用いて、それぞれ送信するコンテンツ送信部をさらに含んでもよい。
【００２０】
このとき、要請されたコンテンツが格納されていない場合、送信されたブロッククエリに対応する複数のセグメントのうちの少なくとも１つのセグメントを、ブロッククエリの送信方向を示す送信ポートと同じポートを用いて受信するコンテンツ受信部をさらに含んでもよい。
【００２１】
また、本発明によるコンテンツ名ベースのルーティング方法は、コンテンツを要請するブロッククエリを受信するステップと、コンテンツは複数のセグメントを含み、ブロッククエリは複数のセグメントのうちの２つ以上を要請し、要請されたコンテンツに対応するコンテンツ名をルーティングテーブルから検索するステップと、検索されたコンテンツ名に対応するフラグを設定するステップと、を含む。
【００２２】
このとき、ブロッククエリに対応する複数のセグメントの送信方向を示す送信ポートが全て同じである。
【００２３】
また、要請されたコンテンツが格納されているか否かに応じて、検索されたコンテンツ名に対応する送信方向を示す送信ポートに前記ブロッククエリを送信するステップをさらに含んでもよい。
【００２４】
さらに、本発明によるルーティングテーブルを用いるネットワーク装置は、複数のセグメントを含むコンテンツを対象に、コンテンツを検索するために用いられるコンテンツ名フィールドと、コンテンツを要請するクエリを送信するために用いられる送信方向を示す送信ポートフィールドと、クエリが受信された方向を示す受信方向を示す受信ポートフィールドと、クエリは、複数のセグメントのうちの２つ以上のセグメントを要請するブロッククエリを含み、クエリがブロッククエリであるか否かを示すフラグフィールドと、要請されたクエリに対応するセグメントのナンバを示すナンバフィールドとを含む。
【００２５】
また、ルーティングテーブルは、送信されたクエリに対応するコンテンツが受信されたか否かを示す状態フィールドと、コンテンツの受信満了時間を示す時間フィールドとをさらに含んでもよい。
【００２６】
このとき、送信方向を示す送信ポートフィールドに設定されたポートを用いてクエリが送信され、クエリに対応するコンテンツはクエリの送信方向を示す送信ポートと同じポートを用いて受信されてもよい。
【００２７】
また、受信方向を示す受信ポートフィールドはクエリの受信方向を示す受信ポートを含み、クエリに対応するコンテンツはクエリの受信方向を示す受信ポートと同じポートを用いて送信されてもよい。
【００２８】
また、ブロッククエリはコンテンツ名および送信範囲を含んでもよい。ここで、送信範囲は、ブロッククエリに対応する２つ以上のセグメントのうち、開始セグメントおよび最後のセグメントを含んでもよい。
【発明の効果】
【００２９】
ブロック単位にコンテンツクエリを処理することによって、制御パケットの発生回数を減少させ、ネットワーク性能を向上できる。
【図面の簡単な説明】
【００３０】
【図１】コンテンツ名ベースのネットワークシステムを示す図である。
【図２】送信端末装置の構成を示す図である。
【図３】コンテンツ名ベースのルーティングテーブル構造を示す図である。
【図４】送信端末装置の動作を説明するためのフローチャートである。
【図５】コンテンツ名ベースのネットワーク装置の構成を示す図である。
【図６】コンテンツ名ベースのルーティングテーブル構造を示す図である。
【図７】コンテンツ名ベースのネットワーク装置の動作を説明するために提供されるフローチャートである。
【発明を実施するための形態】
【００３１】
以下、本発明に係る好適な実施形態を添付の図面を参照して詳細に説明する。
【００３２】
図１は、コンテンツ名ベースのネットワークシステムを示す図である。
【００３３】
図１に示すように、ネットワークシステムは、コンテンツを要請する送信端末装置１００、送信端末装置１００とコンテンツを共有する受信端末装置２００、少なくとも１つのネットワーク装置３００を含んでもよい。ここで、ネットワーク装置３００は、送、受信端末装置１００、２００間でコンテンツをルーティングする。
【００３４】
一例として、送、受信端末装置１００、２００は、モバイルフォン、デスクトップ、ＰＣ、ノートブック、ＰＤＡ、ＤＭＢフォン、プロキシノード（ｐｒｏｘｙ  ｎｏｄｅ）などであり、ネットワーク装置３００としてはスイッチ、ルータなどがある。他の例として、ネットワーク装置３００が、送信端末装置１００、受信端末装置２００のような送、受信端末装置である。
【００３５】
送信端末装置１００は、コンテンツを要請するコンテンツクエリ（ｃｏｎｔｅｎｔｓ  ｑｕｅｒｙ）を送信する。すると、コンテンツクエリは、少なくとも１つのネットワーク装置３００を介して受信端末装置２００に送信される。
【００３６】
このとき、受信端末装置２００は、コンテンツクエリを分析して送信端末装置１００が要請したコンテンツを送信端末装置１００に送信する。コンテンツは、コンテンツクエリがルーティングされた経路を逆順に用いて送信端末装置１００へ送信される。
【００３７】
一例として、コンテンツクエリが第１ルータ３０１、第２ルータ３０２、第５ルータ３０５の順に送信されて受信端末装置２００に受信された場合、受信端末装置２００から送信されたコンテンツは、逆順に第５ルータ３０５、第２ルータ３０２、および第１ルータ３０１を介して送信端末装置１００に送信する。
【００３８】
このとき、コンテンツを送信する各ルータ３０５、３０２、３０１は、ルーティングテーブルを用いてコンテンツクエリが送信されたポートを用いて、対応するルータまたは送信端末装置１００にコンテンツを送信する。ここで、ルーティングテーブルを用いてコンテンツを送信する過程は後述することにする。
【００３９】
図２は、送信端末装置の構成を示す図である。
【００４０】
図２に示すように、送信端末装置１００は、クエリ生成部１１０、テーブル検索部１２０、フィールド設定部１３０、クエリ送信部１４０、およびコンテンツ受信部１５０を含む。
【００４１】
クエリ生成部１１０は、コンテンツを構成する複数のセグメントを要請するクエリ、および複数のセグメントを２つ以上にグループ化して要請するブロッククエリを生成する。ここで、ブロッククエリは、コンテンツの送信範囲（ｂｌｏｃｋ  ｒａｎｇｅ）およびコンテンツ名（ｃｏｎｔｅｎｔｓ  ｎａｍｅ）を含む。
【００４２】
一例として、ｘｙｚ．ａｖｉコンテンツを要請する場合、クエリ生成部１１０で生成されたブロッククエリは下記の表１の通りである。
【００４３】
【表１】
2011135575.tif 000003
【００４４】
表１によれば、送信範囲は、要請するセグメントの開始セグメントナンバＳｎおよび最後のセグメントナンバＳｍで決まる。
【００４５】
より詳しくは、図３に示すように、送信範囲の大きさが５と予め設定され、セグメント３から要請する場合、クエリ生成部１１０は、セグメント３から７までを要請するブロッククエリを生成する。このとき、ブロッククエリに対応するセグメント３乃至７の送信方向を示す送信ポートは同一である。
図３の例は、コンテンツ名ベースのルーティングテーブルの例である。
【００４６】
一例として、送信方向にポートが用いられる。すると、ブロッククエリに対応するセグメント３から７までの送信ポート（ｏｕｔｐｕｔ  ｐｏｒｔ）は、図３に示すように同一の「ポート０」である。
場合によっては、複数のセグメントが異なるポートから送受信される。
【００４７】
また、クエリ生成部１１０は、要請したコンテンツの受信有無に基づいて送信範囲の大きさを調整する。例えば、クエリ生成部１１０は、範囲の大きさが１つづつ増加するよう調整する。このように、送信範囲の大きさが調整されると、要請するセグメントの送信範囲も調整される。
【００４８】
一例として、セグメント３から７まで要請するブロッククエリが送信され、各セグメントに対応する満了時間（ｌｉｆｅｔｉｍｅ）内にいずれか１つのセグメントが受信された場合、クエリ生成部１１０は送信範囲の大きさを５から６に増加する。また、クエリ生成部１１０は、満了時間内にセグメントが１つづつ受信されるたびに送信範囲の大きさを１つづつ増加する。
【００４９】
このとき、要請したセグメントのうち満了時間内に受信されていないセグメントが存在して再送信回数が基準回数を超過する場合、クエリ生成部１１０は送信範囲の大きさをデフォルトに再調整する。すなわち、クエリ生成部１１０は、６に増加した送信範囲の大きさをデフォルトの５に再調整する。
【００５０】
テーブル検索部１２０は、ブロッククエリに対応するコンテンツ名をルーティングテーブルで検索する。
【００５１】
一例として、図３に示すように、テーブル検索部１２０は、コンテンツ名（ａｂｃ．ｃｏｍ／ｂｒａｎｃｈ１／Ｃｏｍｍ＿Ｌａｂ／ＮＷＧ／ｘｖｚ．ａｖｉ）を、ルーティングテーブルのコンテンツ名フィールド（名（ｎａｍｅ））の中で検索する。
その際、コンテンツ一致スキームは要請されたコンテンツに対する完全な一致を必ずしも要しない。
【００５２】
例えば、テーブル検索部１２０は、最長一致（ｌｏｎｇｅｓｔ  ｍａｔｃｈｉｎｇ）を用いてルーティングテーブルに対応するコンテンツ名を検索する。すなわち、テーブル検索部１２０は、ブロッククエリに対応するコンテンツ名と最も多く一致するコンテンツ名をコンテンツ名フィールドで検索する。
【００５３】
また、テーブル検索部１２０は、検索されたコンテンツ名に対応する送信方向を示す送信ポートを決める。
【００５４】
一例として、テーブル検索部１２０は、図３に示すように、ルーティングテーブルから検索されたコンテツ名に対応するセグメント３から７までの送信ポートを「０」と決定する。ここで、検索されたコンテンツ名に対応するセグメント３乃至７は、クエリ生成部１１０で生成されたブロッククエリの送信範囲に含まれるセグメントである。
【００５５】
フィールド設定部１３０は、検索されたコンテンツ名に対応するフラグ（ｆｌａｇ）フィールド、ナンバ（ｎｕｍ．）フィールド、および状態（ｓｔａｔｅ）フィールドを設定する。
【００５６】
一例として、フィールド設定部１３０は、検索されたコンテンツ名に対応するセグメントがブロッククエリであるか否かを示すためにフラグフィールドを設定する。このとき、ブロッククエリの場合、フィールド設定部１３０は、図３に示すように、フラグフィールドを１と設定する。
【００５７】
また、フィールド設定部１３０は、ブロッククエリの送信範囲に基づいて検索されたコンテンツ名に対応するナンバフィールドを設定する。一例として、フィールド設定部１３０は、図３に示すように、ナンバフィールドをセグメント３から７まで設定する。
【００５８】
また、ブロッククエリがクエリ送信部１４０から送信された場合、フィールド設定部１３０は、検索されたコンテンツ名に対応する状態フィールドを設定する。一例として、ブロッククエリに対応するセグメント３から７までの状態を「ｔｅｎｔａｔｉｖｅ」のように設定する。
【００５９】
また、フィールド設定部１３０は、ブロッククエリに対応するセグメントがコンテンツ受信部１５０を介して受信された場合、受信されたセグメントの状態を「Ａｃｔｉｖｅ」のように設定する。すなわち、「ｔｅｎｔａｔｉｖｅ」は送信されたクエリに対応するセグメントが受信されていない状態であり、「ａｃｔｉｖｅ」は送信されたクエリに対応するセグメントが受信された状態を示す。
【００６０】
クエリ送信部１４０は、クエリ生成部１１０で生成されたクエリを、ルーティングテーブルを検索して決められた送信方向を示す送信ポートを用いて送信する。
【００６１】
一例として、ブロッククエリが生成され、送信方向を示す送信ポートが「０」と決められた場合、クエリ送信部１４０は、ポート０を介してブロッククエリを送信する。
【００６２】
このとき、クエリ送信部１４０は、送信されたブロッククエリに対応するセグメントが予め設定された満了時間内に受信されていない場合、受信されていないセグメントを要請するクエリを再送信する。
【００６３】
一例として、クエリ送信部１４０は、満了時間が経過した場合にセグメントの状態が「ｔｅｎｔａｔｉｖｅ」に対応するセグメントを要請するクエリを再送信する。
【００６４】
また、クエリ送信部１４０は再送信回数をカウントする。ここで、再送信されたクエリに対応するセグメントが満了時間内に受信されない場合、クエリ送信部１４０は、再送信回数が予め設定された基準回数されるまで受信されていないセグメントを要請するクエリを継続して再送信する。
【００６５】
このとき、基準回数を超過するまでセグメントが受信されていない場合、テーブル検索部１２０は、受信されていないセグメントに対応するフィールドをルーティングテーブルから削除する。
【００６６】
一例として、基準回数が３、満了時間が４秒と予め設定され、セグメント３、４、６、７は受信され、セグメント５が３回の満了時間が経過しても受信されない場合、テーブル検索部１２０は、セグメント５に対応する送信方向を示す送信ポートフィールド、ナンバフィールド、状態フィールド、および満了時間フィールドをルーティングテーブルから削除する。
【００６７】
すると、クエリ生成部１１０は、送信範囲の大きさをデフォルトである５に調整して、受信されていないセグメント５を含むブロッククエリを生成する。
【００６８】
一例として、クエリ生成部１１０は、セグメント５、８、９、１０、１１を要請するブロッククエリを生成する。このとき、クエリ生成部１１０は、セグメント５のみを要請するクエリを生成する。すると、クエリ送信部１４０は、生成されたブロッククエリまたはクエリに対応する送信方向を示す送信ポートを用いてブロッククエリまたはクエリを送信する。
【００６９】
コンテンツ受信部１５０は、ブロッククエリを送信した方向と同じ方向を用いてコンテンツを受信する。すると、テーブル検索部１２０は、ルーティングテーブルを検索して受信されたコンテンツの状態フィールドを設定する。場合によっては、ブロッククエリに対応する複数のセグメントは、互いに異なるルーティング経路を有する。
【００７０】
一例として、セグメント３から７まで対応するブロッククエリがポート０を介して送信された場合、コンテンツ受信部１５０はセグメント３から７それぞれをポート０を介して受信する。このとき、受信された３から７までの各セグメントは互いに異なるルータを経由して送信端末装置１００のポート０を介して受信されてもよい。すると、テーブル検索部１２０は、セグメント３から７それぞれの状態フィールドを「ｔｅｎｔａｔｉｖｅ」から「ａｃｔｉｖｅ」に変更して設定する。
【００７１】
ここで、複数のネットワーク装置を介してコンテンツが受信される場合、コンテンツは、ブロッククエリが送信された複数のネットワーク装置のポートを逆順に用いて送信端末装置１００により受信される。
【００７２】
図４は、送信端末装置の動作を説明するためのフローチャートである。
【００７３】
図４に示すように、クエリ生成部１１０は、複数のセグメントを含むコンテンツを対象にブロッククエリを生成する（Ｓ４１０）。ここで、ブロッククエリは送信範囲およびコンテンツ名を含む。
【００７４】
一例として、セグメント３から７までを要請する場合、ブロッククエリの送信範囲は、開始セグメント３と最後のセグメント７を含む。
【００７５】
このとき、クエリ生成部１１０は、１つのセグメントを要請するクエリ、または、２つ以上のセグメントを要請するブロッククエリを生成する。
【００７６】
次に、テーブル検索部１２０は、生成されたブロッククエリの送信方向を示す送信ポートをを決める（Ｓ４１５）。
【００７７】
一例として、テーブル検索部１２０は、図３に示すように、ルーティングテーブルでコンテンツ名を検索し、検索されたコンテンツ名に対応する送信ポートを決める。ここで、検索されるコンテンツ名は、ブロッククエリを介して要請されるセグメントに対応するコンテンツ名である。
【００７８】
すると、フィールド設定部１３０は、ブロッククエリに対応するコンテンツの状態フィールド、およびフラグフィールドを設定する（Ｓ４２０）。
【００７９】
一例として、フィールド設定部１３０は、ブロッククエリに対応するセグメントの状態フィールドを「ｔｅｎｔａｔｉｖｅ」と設定し、フラグフィールドを「１」と設定する。
【００８０】
また、クエリ送信部１４０は、決められた送信方向を示す送信ポートに生成されたブロッククエリを送信する（Ｓ４３０）。
【００８１】
一例として、ルーティングテーブルを検索してセグメント３から７までの送信ポートが「０」と同一の場合、クエリ送信部１４０はポート０を介してブロッククエリを送信する。すると、コンテンツ受信部１５０は、ブロッククエリを送信したポート０を介してブロッククエリに対応するセグメント３乃至７を受信する。このとき、ブロッククエリに対応する複数のセグメントは、互いに異なるルーティング経路を有する。
【００８２】
次に、要請したコンテンツが満了時間内に受信された場合（Ｓ４４０で「はい」）、クエリ生成部１１０は、送信範囲の大きさを調整する（Ｓ４５０）。すなわち、送信されたブロッククエリに対応するセグメントが満了時間内に受信された場合、クエリ生成部１１０は送信範囲の大きさを調整する。
【００８３】
一例として、送信範囲の大きさがデフォルトの５に予め設定され、要請したセグメントのうちのいずれか１つを受信した場合、クエリ生成部１１０は、送信範囲の大きさが５から６に増加するよう調整する。このように、送信範囲の大きさを調整することによって、要請するセグメントの送信範囲を調整できる。
【００８４】
逆に、満了時間内に要請したコンテンツが受信されていない場合（Ｓ４４０で「いいえ」）、クエリ送信部１４０は受信されていないコンテンツを要請するクエリを再送信する。
【００８５】
より詳しくは、クエリ送信部１４０は、再送信したクエリの再送信回数をカウントし、満了時間内に要請したコンテンツが受信されていない場合、カウントされた再送信回数が予め設定された基準回数になるまでクエリを再送信する。
【００８６】
一例として、再送信回数が基準回数以下である場合（Ｓ４６０で、「はい」）、クエリ送信部１４０は、セグメントの状態が「ｔｅｎｔａｔｉｖｅ」に対応するセグメントを要請するクエリを再送信する（Ｓ４７０）。
【００８７】
このとき、再送信回数が基準回数を超過する場合（Ｓ４６０で、「いいえ」）、クエリ生成部１１０は、送信範囲の大きさをデフォルトに調整する（Ｓ４８０）。また、クエリ生成部１１０は、調整された送信範囲の大きさに基づいてデフォルト数のセグメントに対応するブロッククエリを生成する。
【００８８】
すると、クエリ送信部１４０は、生成されたブロッククエリに対応する送信方向を示す送信ポートを用いてブロッククエリを送信する。このとき、送信されるブロッククエリには、調整された送信範囲および調整された送信範囲に対応するセグメントを含むコンテンツ名を含む。
【００８９】
図５は、コンテンツ名ベースのネットワーク装置の構成を示す図である。
【００９０】
図５に示すように、ネットワーク装置３００は、クエリ受信部３１０、テーブル検索部３２０、フィールド設定部３３０、クエリ送信部３４０、コンテンツ受信部３５０、コンテンツ送信部３６０、および格納部３７０を含む。このとき、受信されたクエリに対応するコンテンツが格納された場合、ネットワーク装置３００は受信端末装置２００となる。受信端末装置２００の場合、図５に示すクエリ送信部３４０およびコンテンツ受信部３５０を省略する。
【００９１】
また、図５に示すテーブル検索部３２０、フィールド設定部３３０、クエリ送信部３４０、およびコンテンツ受信部３５０は、図１に示すものと実質的に同一であるため、重複する説明は省略することにする。
【００９２】
クエリ受信部３１０は、送信端末装置１００からクエリまたはブロッククエリを受信する。ここで、ブロッククエリは、コンテンツ名および送信範囲を含む。このとき、送信範囲は開始セグメントナンバおよび最後のセグメントナンバを含む。すなわち、ブロッククエリは、コンテンツに含まれた複数のセグメントのうち２つ以上のセグメントを要請するために用いられる。
【００９３】
一例として、２０個のセグメントで構成されたコンテンツでセグメント３乃至７を要請するブロッククエリを受信した場合、送信範囲は開始セグメント３と最後のセグメント７を含む。
【００９４】
すると、テーブル検索部３２０は、ブロッククエリに対応するコンテンツが格納部３７０に格納されているか否かを検索する。このとき、格納部３７０としてキャッシュ（ｃａｃｈｅ）を用いてもよい。
【００９５】
ここでコンテンツが格納されている場合、テーブル検索部３２０は、図６に示すようなルーティングテーブルでコンテンツ名を検索する。
【００９６】
また、フィールド設定部３３０は、検索されたコンテンツ名に対応する状態フィールド、フラグフィールド、および受信方向を示す受信ポートフィールドを設定する。ここで、受信方向を示す受信ポートフィールドはブロッククエリが受信されたポートを示す。
【００９７】
一例として、ブロッククエリが受信された場合、フィールド設定部３３０は、ブロッククエリに対応するセグメントのフラグフィールドを「１」と設定する。
【００９８】
また、状態フィールドを設定する場合、テーブル検索部３２０で格納部３７０にコンテンツが格納されたか否かを確認する間は、フィールド設定部３３０はブロッククエリに対応するセグメントの状態を「ｔｅｎｔａｔｉｖｅ」と設定する。
【００９９】
また、コンテンツ送信部３６０によってブロッククエリに対応するコンテンツが送信された場合、フィールド設定部３３０はブロッククエリに対応するセグメントの状態を「ｔｅｎｔａｔｉｖｅ」から「ａｃｔｉｖｅ」に変更して設定する。
【０１００】
コンテンツ送信部３６０は、受信方向を示す受信ポートフィールドを参照してブロッククエリに対応するコンテンツを、受信方向を示す受信ポートに送信する。すなわち、ブロッククエリがルータなどのネットワーク装置または送信端末装置から受信されたポートとコンテンツが送信されるポートとが同一であってもよい。
【０１０１】
一例として、ブロッククエリ６２０がポート２を介して受信された場合、フィールド設定部３３０は、図６に示すようにブロッククエリ６２０に対応するセグメント３乃至７の受信方向を示す受信ポートフィールドを「２」に設定する。すると、テーブル検索部３２０はポート２をコンテンツの送信方向を示す送信ポートに決定し、コンテンツ送信部３６０はポート２を介してセグメント３乃至７を送信する。
【０１０２】
一方、コンテンツが格納されていない場合、テーブル検索部３２０はルーティングテーブルからコンテンツ名を検索し、検索されたコンテンツ名に対応する送信方向を示す送信ポートを決める。このとき、テーブル検索部３２０は、最長一致を用いてルーティングテーブルからコンテンツ名を検索する。
【０１０３】
一例として、図６に示すように、テーブル検索部３２０はルーティングテーブルを検索してセグメント３乃至７の送信方向を示す送信ポートをポート「０」に決定する。すると、クエリ送信部３４０は、決められたポート０を介してセグメント３乃至７に対応するブロッククエリ６１０を送信する。
【０１０４】
このとき、送信されたブロッククエリに対応するセグメントが満了時間内に受信されない場合、テーブル検索部３２０は受信されていないセグメントに対応するフィールドをルーティングテーブルから削除する。ここで、ブロッククエリに対応するセグメントはコンテンツ受信部３５０を介して受信され得る。上述のように送信端末装置１００は受信されていないセグメントを要請するクエリを再送信するが、ネットワーク装置３００は受信されていないセグメントに対応するフィールドを、当該セグメントを再送信することなく削除してネットワークの送信負担を減少させる。
【０１０５】
また、コンテンツが格納されていない場合、フィールド設定部３３０はブロッククエリに対応するセグメント３乃至７の状態フィールド、フラグフィールド、ナンバフィールド、および受信方向を示す受信ポートフィールドを設定する。
【０１０６】
一例として、図６に示すように、フィールド設定部３３０は、状態フィールドを「ｔｅｎｔａｔｉｖｅ」、フラグフィールドを「１」、ナンバフィールドに各セグメントナンバ、受信方向を示す受信ポートフィールドをポート「２」にそれぞれ設定する。
【０１０７】
図７は、コンテンツ名ベースのネットワーク装置の動作を説明するためのフローチャートである。
【０１０８】
図７に示すように、クエリ受信部３１０は送信端末装置１００からブロッククエリを受信する（Ｓ７１０）。ここで、ブロッククエリはコンテンツ名および送信範囲を含み、コンテンツに含まれた複数のセグメントのうち２つ以上のセグメントを要請するために用いられる。
【０１０９】
このとき、フィールド設定部３３０は、ブロッククエリが受信されたポートをルーティングテーブルの受信方向を示す受信ポートフィールドに設定する。
【０１１０】
一例として図６に示すように、ブロッククエリ６２０がポート「２」で受信された場合、フィールド設定部３３０は、ブロッククエリ６２０に対応する各セグメントの受信方向を示す受信ポートフィールドをポート「２」に設定する。
【０１１１】
次に、テーブル検索部３２０は要請されたコンテンツが格納されたか否かを検索する（Ｓ７２０）。
【０１１２】
一例として、テーブル検索部３２０は、格納部３７０にブロッククエリに対応するセグメントが格納されているか否かを検索する。ここで、格納部３７０としてキャッシュを用いてもよい。このとき、格納部３７０でコンテンツが検索されている間は、フィールド設定部３３０はブロッククエリに対応するセグメントの状態フィールドを「ｔｅｎｔａｔｉｖｅ」に設定する。
【０１１３】
また、コンテンツが格納されていない場合（Ｓ７２０、「いいえ」）、テーブル検索部３２０は、ルーティングテーブルからブロッククエリに含まれたコンテンツ名を検索する（Ｓ７３０）。このとき、テーブル検索部３２０は、最長一致を用いてルーティングテーブルでコンテンツ名を検索する。
【０１１４】
次に、テーブル検索部３２０は、検索されたコンテンツ名に基づいてルーティングテーブルでブロッククエリの送信方向を示す送信ポートを決定する（Ｓ７４０）。
【０１１５】
一例として、図６に示すように、テーブル検索部は、検索されたコンテンツ名に対応するポート「０」をブロッククエリの送信方向を示す送信ポートに決定する。
【０１１６】
すると、クエリ送信部３４０は、決められた送信方向を示す送信ポートにブロッククエリを送信する（Ｓ７５０）。
【０１１７】
このとき、ブロッククエリが送信された後、満了時間内に要請されたコンテンツが受信された場合（Ｓ７６０、「はい」）、テーブル検索部３２０は、ルーティングテーブルを検索して受信されたコンテンツの送信方向を示す送信ポートを決定する（Ｓ７７０）。ここで、受信されたコンテンツの送信方向を示す送信ポートは、ステップＳ７１０で受信されたブロッククエリの受信ポートと同一であってもよい。一例として、コンテンツの送信方向を示す送信ポートはポート「２」に決定する。
【０１１８】
次に、コンテンツ送信部３６０は、決められたコンテンツの送信方向を示す送信ポートにコンテンツを送信する（Ｓ７８０）。
【０１１９】
一例として、ブロッククエリ６２０が送信端末装置１００から受信された場合、コンテンツは、ポート「２」を介して送信端末装置１００に送信されてもよい。また、ブロッククエリ６２０が他のネットワーク装置から受信された場合も、コンテンツはポート「２」を介してステップＳ７１０でブロッククエリ６２０を送信した当該ネットワーク装置に送信されてもよい。
【０１２０】
また、ステップＳ７２０において、要請されたコンテンツが格納されている場合であっても（Ｓ７２０、「はい」）、テーブル検索部３２０は格納されたコンテンツの送信方向を示す送信ポートを決定する。すると、コンテンツ送信部３６０は、格納されたコンテンツを決められた送信方向を示す送信ポートに送信する。
【０１２１】
また、フィールド設定部３３０は、送信されたコンテンツに対応する状態フィールドを「ａｃｔｉｖｅ」に変更して設定する。
【０１２２】
一方、ステップＳ７６０において、満了時間内に要請されたコンテンツが受信されていない場合（Ｓ７６０、「いいえ」）、テーブル検索部３１０は、ルーティングテーブルで受信されていないコンテンツに対応するフィールドを削除する（Ｓ７９０）。
【０１２３】
一例として、セグメント５が満了時間内に受信されていない場合、セグメント５に対応するフィールドをルーティングテーブルから削除する。
【０１２４】
今まで、ブロッククエリはコンテンツ名および送信範囲を含むものとして説明したが、上述の表１に示すように、ブロッククエリはドメインの名前をさらに含んでもよい。
【０１２５】
また、以上で図３および図６を参照して説明した通り、ブロッククエリに対応するセグメントはブロッククエリを送信したポートを用いて受信する。このとき、物理的には１つのポートが用いられるが、１つのポートは２つの論理インタフェースを含む。一例として、図３および図６において、ポート０は１つの物理的なポートにより構成されるが、ポート０は、ブロッククエリを送信する論理インタフェースとブロッククエリに対応するセグメントを受信する論理インタフェースを含む。従って物理的には１つのポートを用いているけれども、論理的にはブロッククエリの送信とセグメントの受信は区分される。同様に、ポート１〜ポート３それぞれは１つの物理ポートにより実現されるが、２つの論理インタフェースを含んでもよい。
【０１２６】
また他の実施例では、図３および図６に示す各ポートは二重化のために２つの物理ポートにより構成される。一例として、ポート０〜ポート３それぞれは２つの物理的なプライマリ（ｐｒｉｍａｒｙ）ポートとセカンダリ（ｓｅｃｏｎｄａｒｙ）ポートを含む。すると、クエリ送信部１４０およびコンテンツ受信部１５０は、プライマリポートを用いてブロッククエリを送信し、送信されたブロッククエリに対応するセグメントを受信する。このとき、プライマリポートに異常が発生した場合、クエリ送信部１４０およびコンテンツ受信部１５０は、セカンダリポートを用いてブロッククエリを送信し、送信されたブロッククエリに対応するセグメントを受信する。
【０１２７】
また、本発明の実施形態に係る送信端末装置、受信端末装置、ネットワーク装置およびそのルーティング方法は、多様なコンピュータ手段を介して実行するプログラム命令形態に具現され、コンピュータ読取可能な記録媒体に記録される。前記コンピュータ読取可能な媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせて含むこともできる。前記媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知であり使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスクおよび磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスクのような磁気−光媒体、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードを含む。上述のハードウェア装置は、本発明の動作を行うために１つ以上のソフトウェア階層で作動するように構成され、その逆も同様である。
【０１２８】
以上、限定された、網羅的でない実施形態と図面によって本発明を説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような基材から多様な修正および変形が可能である。
【０１２９】
したがって、本発明の範囲は説明された実施形態に限定されて決められてはならず、後述する特許請求の範囲だけでなく、この特許請求の範囲と均等なものによって定められなければならない。
【符号の説明】
【０１３０】
１００      送信端末装置
１１０      クエリ生成部
１２０      テーブル検索部
１３０      フィールド設定部
１４０      クエリ送信部
１５０      コンテンツ受信部
２００      受信端末装置
３００      ネットワーク装置
３０１、３０２、３０３、３０４、３０５      第１〜第５ルータ
３１０      クエリ受信部
３２０      テーブル検索部
３３０      フィールド設定部
３４０      クエリ送信部
３５０      コンテンツ受信部
３６０      コンテンツ送信部
３７０      格納部
【図１】
2011135575.tif 000004
【図２】
2011135575.tif 000005
【図３】
2011135575.tif 000006
【図４】
2011135575.tif 000007
【図５】
2011135575.tif 000008
【図６】
2011135575.tif 000009
【図７】
2011135575.tif 000010