(57)【要約】      （修正有）【課題】複数の通信ネットワークを相互接続し、広告メッセージおよびクエリを処理するプロキシ機構において、装置発見の範囲内で交換されるメッセージ量を低減する。【解決手段】プロキシ装置１００が、第１および第２の通信ネットワーク１０１、１０２を相互接続する。当該通信ネットワークに接続された通信装置１１１〜１１３、１２１〜１２３は、通信装置のパラメータ、通信装置が実装する機能、通信装置が実装するサービスについての情報を含む広告メッセージを送信する。プロキシ装置は受信した広告メッセージから収集したデータをキャッシュユニット内に記憶し、クエリを受信すると、プロキシ装置は受信したクエリに対応するデータをキャッシュユニットから検索し、検索したデータを含む応答メッセージを生成し、検索したデータが複数の通信装置を表すときには、応答メッセージは複数の通信装置を表す検索されたデータを集約する。【選択図】図１
2014183570.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも第１の通信ネットワークおよび第２の通信ネットワークを相互接続するプロキシ装置によって実行される方法であって、
通信装置が前記第１の通信ネットワークおよび前記第２の通信ネットワークそれぞれに接続され、
前記通信装置は、
‐前記通信装置のそれぞれのパラメータについての情報、および／または、
‐前記通信装置によって実装されるそれぞれの機能、および／または、前記通信装置によって実装されるそれぞれのサービスについての情報
を含む広告メッセージを送信する、方法において、
前記方法は、前記プロキシ装置が、
‐前記通信ネットワークそれぞれに接続された通信装置から前記プロキシ装置が受信した広告メッセージからデータを収集することと、
‐前記収集したデータをキャッシュユニット内に記憶することと、
を実行し、
前記プロキシ装置は、通信装置のパラメータ、および／または、通信装置によって実装される機能、および／または、通信装置によって実装されるサービスについてのクエリを受信すると、
‐前記受信したクエリに対応するデータを前記キャッシュユニットから検索することと、
‐前記検索されたデータを含む応答メッセージを生成することであって、前記検索されたデータが複数の通信装置を表すときには、前記応答メッセージは前記複数の通信装置を表す検索されたデータを集約する、応答メッセージを生成することと、
‐前記生成された応答メッセージを、前記受信したクエリに応じて送信することと
をさらに実行する
ことを特徴とする、方法。
【請求項２】
前記受信したクエリに対応する前記データを前記キャッシュユニットから検索するときに、前記プロキシ装置は、
‐各通信ネットワークについて、当該通信ネットワークに接続された通信装置に代わって応答する権限を前記プロキシ装置が持たない場合に、当該通信ネットワークに接続された通信装置を表すデータを除去することによって、前記キャッシュユニットが記憶したデータをフィルタリングすることと、
‐各通信ネットワークについて、当該通信ネットワークに接続された通信装置に代わって応答する権限を前記プロキシ装置が持たない場合に、当該通信ネットワーク（ただし、前記クエリがマルチキャスト形式で受信されたときには、前記プロキシ装置が前記クエリを受信したその前記クエリの送信元である通信ネットワークを除く）を介して前記クエリを転送することと、
を実行することを特徴とする、請求項１に記載の方法。
【請求項３】
前記受信したクエリに対応するデータを前記キャッシュユニットから検索するときに、および、前記クエリがマルチキャスト形式で受信されたときに、前記プロキシ装置は、前記プロキシ装置が前記クエリを受信したその前記クエリの送信元である通信ネットワークに接続された通信装置を表すデータを除去することによって、前記キャッシュユニットが記憶するデータをフィルタリングすることを特徴とする、請求項１または２に記載の方法。
【請求項４】
前記プロキシ装置が無線通信ネットワークを介して前記クエリをユニキャスト形式で受信したときに、前記プロキシ装置は前記受信したクエリを前記無線通信ネットワークを介してマルチキャスト形式で伝搬させると想定され、前記プロキシ装置は、前記無線通信ネットワークに接続された通信装置に代わって応答する権限を持たないときにのみ、前記受信したクエリを前記無線通信ネットワークを介して実際に伝搬させることを特徴とする、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記受信したクエリに対応するデータを前記キャッシュユニットから検索するときに、前記プロキシ装置は、前記検索されたデータに関連付けられたｔｉｍｅ−ｔｏ−ｌｉｖｅ指標をチェックし、
前記ｔｉｍｅ−ｔｏ−ｌｉｖｅ指標が前記検索されたデータの有効性の失効を示しているときには、前記プロキシ装置は、
‐有効性の失効を示す前記ｔｉｍｅ−ｔｏ−ｌｉｖｅ指標に関連付けられた前記検索されたデータによって表される各通信装置に、前記有効性を検証するよう構成された少なくとも１つのクエリを、ユニキャスト形式で送信することと、
‐前記応答メッセージを生成するステップおよび前記応答メッセージを送信するステップを、前記少なくとも１つのクエリのそれぞれに対する少なくとも１つのユニキャスト形式の応答を前記プロキシ装置が受信するまで、前記クエリが応答されるべき所定時刻を限度として延期することと
を実行することを特徴とする、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記キャッシュユニットが記憶するデータは、前記記憶されたデータが有効である期間Ｐを表すｔｉｍｅ−ｔｏ−ｌｉｖｅ指標に関連付けられ、
前記プロキシ装置は、
‐前記ｔｉｍｅ−ｔｏ−ｌｉｖｅ指標の最後の更新以来、Ｎ（ただしＮは１より大きい正の整数）に前記期間Ｐを乗算したものに等しい期間が満了したか否かをチェックすることと、
‐有効性の失効を示す前記ｔｉｍｅ−ｔｏ−ｌｉｖｅ指標に関連付けられた前記記憶されたデータによって表される各通信装置に、前記有効性を検証するよう構成された少なくとも１つのクエリを、ユニキャスト形式で送信することと
によって、前記記憶されたデータを最新状態に維持する
ことを特徴とする、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
前記キャッシュユニットが記憶した前記データは、前記記憶されたデータが有効である期間を表すｔｉｍｅ−ｔｏ−ｌｉｖｅ指標に関連付けられ、
前記プロキシ装置は、
‐ヌルｔｉｍｅ−ｔｏ−ｌｉｖｅ指標に関連付けられた失効した情報を含む広告を受信することと、
‐前記失効した情報に対応するデータを前記キャッシュユニットから除去することと
によって、前記記憶されたデータを最新状態に維持する
ことを特徴とする、請求項１〜６のいずれか一項に記載の方法。
【請求項８】
前記プロキシ装置は構成パラメータを記憶し、
前記構成パラメータは、各前記通信ネットワークについて、前記クエリを送信した各通信装置に対し、前記プロキシ装置が前記クエリに対する前記応答をユニキャストメッセージとして送信しなければならないか、またはマルチキャストメッセージとして送信しなければならないかを示す
ことを特徴とする、請求項１〜７のいずれか一項に記載の方法。
【請求項９】
前記構成パラメータは前記通信ネットワークの種類に従って定義されることを特徴とする、請求項８に記載の方法。
【請求項１０】
前記広告メッセージおよびクエリはｍＤＮＳプロトコルに従うことを特徴とする、請求項１〜９のいずれか一項に記載の方法。
【請求項１１】
プログラムコード命令を含むことを特徴とするコンピュータプログラムであって、
前記プログラムコード命令は、プログラム可能な装置によって前記プログラムコード命令が実行されるときに、請求項１〜１０のいずれか一項に記載の方法を実装するために前記プログラム可能な装置にロードされることができる、
コンピュータプログラム。
【請求項１２】
プログラムコード命令を含むコンピュータプログラムを記憶することを特徴とする情報記憶手段であって、
前記プログラムコード命令は、プログラム可能な装置によって前記プログラムコード命令が実行されるときに、請求項１〜１０のいずれか一項に記載の方法を実装するために前記プログラム可能な装置にロードされることができる、
情報記憶手段。
【請求項１３】
少なくとも第１の通信ネットワークおよび第２の通信ネットワークを相互接続するためのプロキシ装置であって、
通信装置が前記第１の通信ネットワークおよび前記第２の通信ネットワークそれぞれに接続され、
前記通信装置は、
‐前記通信装置のそれぞれのパラメータについての情報、および／または、
‐前記通信装置によって実装されるそれぞれの機能、および／または、前記通信装置によって実装されるそれぞれのサービスについての情報
を含む広告メッセージを送信するよう構成される、プロキシ装置において、
前記プロキシ装置は、
‐前記通信ネットワークそれぞれに接続された通信装置から前記プロキシ装置が受信した広告メッセージからデータを収集するための手段と、
‐前記収集したデータをキャッシュユニット内に記憶するための手段と、
を実装し、
前記プロキシ装置は、通信装置のパラメータ、および／または、通信装置によって実装される機能、および／または、通信装置によって実装されるサービスについてのクエリを受信すると、
‐前記受信したクエリに対応するデータを前記キャッシュユニットから検索するための手段と、
‐前記検索されたデータを含む応答メッセージを生成するための手段であって、前記検索されたデータが複数の通信装置を表すときには、前記応答メッセージは前記複数の通信装置を表す検索されたデータを集約する、応答メッセージを生成するための手段と、
‐前記生成された応答メッセージを、前記受信したクエリに応じて送信するための手段と
をさらに実装する
ことを特徴とする、プロキシ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、装置発見プロトコル(device discovery protocol)の範囲内で、複数の通信ネットワークの相互接続における広告メッセージ(advertisement messages)およびクエリを処理するよう構成されたプロキシ機構に関する。
【背景技術】
【０００２】
装置発見プロトコルは、他の通信装置のパラメータについての情報、および／または、他の通信装置によって実装される機能についての情報、および／または、他の通信装置によって実装されるサービスについての情報を、任意の通信装置が自動的に取得するために、通信ネットワークにおいて広く実装されている。
【０００３】
ドメインネームシステム（ＤＮＳ）は、コンピュータ、サービス、または、インターネットもしくはプライベート通信ネットワークに接続された任意の資源のための、階層型分散ネーミングシステムである。ＤＮＳは、対象の通信ネットワークに参加している各エンティティに割り当てられたドメイン名に、様々な情報を関連付ける（たとえば、上記参加しているエンティティによって実装される機能および／またはサービス）。これらの機能のうち、とくに、ＤＮＳは、ドメイン名を、対象の通信ネットワーク内の通信装置をアドレッシングするために必要なＩＰアドレスに翻訳できるようにする。
【０００４】
マルチキャストドメインネームシステム（ｍＤＮＳ）は、非常によく似たパケットフォーマットおよび動作を持つ分散化されたＤＮＳ手法であり、したがって、動作するために集中化サーバを必要とせず、メッセージのマルチキャスト送信に依存する。ｍＤＮＳプロトコルは、ＩＥＴＦ・ゼロ・コンフィギュレーション・ネットワーキング (Zeroconf)（利用可能なインターネットプロトコル（規範文書ＲＦＣ７９１において指定されるインターネットプロトコル）ネットワークを、オペレータの手動介入も特定の構成サーバも必要とせず、自動的に作成する技術の集合）の一部である。アップルインコーポレイテッド(Apple Inc.)の技術であるＲｅｎｄｅｚＶｏｕｓおよびＢｏｎｊｏｕｒはｍＤＮＳの原理に依存する。ｍＤＮＳプロトコルは、規範文書の集合（ＲＦＣ１０３４「Domain Names - Concepts and Facilities」およびＲＦＣ１０３５「Domain Names - Implementation and Specification”」等）において詳述される。
【０００５】
初期化の後、ｍＤＮＳプロトコルを実装する通信装置は、実装された機能および／またはサービス（たとえばＩＰＰ（インターネット印刷プロトコル）印刷サービス）とともに、自身の構成パラメータ（たとえばＩＰアドレス）を表す資源レコードを広告する。このフェーズは、しばしば「アナウンス(announcing)」と呼ばれる。各広告メッセージは、少なくとも、その広告メッセージが参照する通信装置のシンボリックネームとともに、通信装置のＩＰｖ４アドレスを示す「Ａ」タイプの資源レコードか、または通信装置のＩＰｖ６アドレスを示す「ＡＡＡＡ」タイプの資源レコードを含む。各広告メッセージは、さらに他のタイプの資源レコード（たとえば、ＰＴＲ（ドメイン名ポインタ）、ＳＶＣ（サービス）およびＮＳＥＣ（Ｎｅｘｔ−Ｓｅｃｕｒｅ）等）を含んでもよい。各資源レコードは、典型的には、広告メッセージに含まれる対応する資源レコードのＴＴＬ（Ｔｉｍｅ−Ｔｏ−Ｌｉｖｅ）フィールドにおいて指定されるｔｉｍｅ−ｔｏ−ｌｉｖｅ指標に関連付けられる。このｔｉｍｅ−ｔｏ−ｌｉｖｅ指標は、関連する資源レコードが有効である期間を表す。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ｍＤＮＳ等の装置発見プロトコルにおいて遭遇する問題のひとつは、とくに相互接続された通信ネットワークの場合において、広告メッセージおよびクエリを伝搬するために多数のマルチキャストメッセージが交換されるということである。たとえば、印刷サービスのクライアントは、典型的には、通信ネットワークを介して利用可能な印刷装置を発見するために、クエリ（すなわち、「＿ｈｔｔｐ．＿ｔｃｐ．ｌｏｃａｌ」とラベル付けされたＰＴＲ資源レコードタイプを伴うクエリ）を周期的に送信する。このクエリを受信した各印刷装置は、マルチキャスト応答によって応答する。通信ネットワーク内に多数のプリンタが存在する場合には、これは非常に長いマルチキャストバーストにつながる可能性がある。このような長く頻繁なマルチキャストバーストは、とくに無線通信ネットワークの場合に、ネットワーク資源管理におけるクリティカルな問題となる可能性がある。実際に、多数の無線通信技術（たとえばＩＥＥＥ８０２．１１標準規格）において、ブロードキャストおよびマルチキャストのトラフックは肯定応答(acknowledge)されないので、肯定応答されるユニキャストトラフィックよりも弾力的な変調および符号化方式が実装されている。したがって、長く頻繁なマルチキャストバーストは、通信オーバヘッドを増大させ、利用可能な帯域幅を著しく減少させる。
【０００７】
このようなマルチキャストメッセージ交換は、さらに余分な電力消費につながる。また、通信装置によっては、送信されたクエリおよび広告メッセージを解釈する必要があり、また送信されたクエリに応答する可能性があるので、スタンバイモードに入ることを妨げることもある。
【０００８】
従来技術の上述の問題を解消することが望ましい。
【０００９】
とくに、装置発見の範囲内で交換されるメッセージの量を低減可能にし、したがって帯域幅消費を低減する解決策を提供することが望ましい。
【００１０】
さらに、装置発見の範囲内で、スタンバイモードにある通信装置を覚醒させることを回避する解決策を提供することが望ましい。
【００１１】
さらに、実装が容易で費用効率的な解決策を提供することが望ましい。
【課題を解決するための手段】
【００１２】
この目的のために、本発明は、少なくとも第１の通信ネットワークおよび第２の通信ネットワークを相互接続するプロキシ装置によって実行される方法であって、
通信装置が前記第１の通信ネットワークおよび前記第２の通信ネットワークそれぞれに接続され、
前記通信装置は、
‐前記通信装置のそれぞれのパラメータについての情報、および／または、
‐前記通信装置によって実装されるそれぞれの機能、および／または、前記通信装置によって実装されるそれぞれのサービスについての情報
を含む広告メッセージを送信する、方法に関する。この方法は、前記プロキシ装置が、
‐前記通信ネットワークそれぞれに接続された通信装置から前記プロキシ装置が受信した広告メッセージからデータを収集することと、
‐前記収集したデータをキャッシュユニット内に記憶することと、
を実行し、
前記プロキシ装置は、通信装置のパラメータ、および／または、通信装置によって実装される機能、および／または、通信装置によって実装されるサービスについてのクエリを受信すると、
‐前記受信したクエリに対応するデータを前記キャッシュユニットから検索することと、
‐前記検索されたデータを含む応答メッセージを生成することであって、前記検索されたデータが複数の通信装置を表すときには、前記応答メッセージは前記複数の通信装置を表す検索されたデータを集約する、応答メッセージを生成することと、
‐前記生成された応答メッセージを、前記受信したクエリに応じて送信することと
をさらに実行する。
【００１３】
したがって、プロキシ装置は、必要なときには複数の通信装置に代わって単一の応答を生成するので、装置発見の範囲内で交換されるメッセージの量が低減される。さらに、スタンバイモードにある通信装置をクエリに応答するために覚醒させることが回避される。
【００１４】
特定の特徴によれば、前記受信したクエリに対応する前記データを前記キャッシュユニットから検索するときに、前記プロキシ装置は、
‐各通信ネットワークについて、当該通信ネットワークに接続された通信装置に代わって応答する権限を前記プロキシ装置が持たない場合に、当該通信ネットワークに接続された通信装置を表すデータを除去することによって、前記キャッシュユニットが記憶したデータをフィルタリングすることと、
‐各通信ネットワークについて、当該通信ネットワークに接続された通信装置に代わって応答する権限を前記プロキシ装置が持たない場合に、当該通信ネットワーク（ただし、前記クエリがマルチキャスト形式で受信されたときには、前記プロキシ装置が前記クエリを受信したその前記クエリの送信元である通信ネットワークを除く）を介して前記クエリを転送することと、
を実行する。
【００１５】
したがって、複数の通信ネットワークの相互接続におけるプロキシ装置の用途に柔軟性が得られる。
【００１６】
特定の特徴によれば、前記受信したクエリに対応するデータを前記キャッシュユニットから検索するときに、および、前記クエリがマルチキャスト形式で受信されたときに、前記プロキシ装置は、前記プロキシ装置が前記クエリを受信したその前記クエリの送信元である通信ネットワークに接続された通信装置を表すデータを除去することによって、前記キャッシュユニットが記憶するデータをフィルタリングする。
【００１７】
したがって、プロキシ装置は、クエリメッセージを直接に受信した通信装置のためには応答しない。
【００１８】
特定の特徴によれば、前記プロキシ装置が無線通信ネットワークを介して前記クエリをユニキャスト形式で受信したときに、前記プロキシ装置は前記受信したクエリを前記無線通信ネットワークを介してマルチキャスト形式で伝搬させると想定され、前記プロキシ装置は、前記無線通信ネットワークに接続された通信装置に代わって応答する権限を持たないときには、前記受信したクエリを前記無線通信ネットワークを介して実際に伝搬させる。
【００１９】
したがって、可能なときにはマルチキャストクエリの伝搬が回避される。
【００２０】
特定の特徴によれば、前記受信したクエリに対応するデータを前記キャッシュユニットから検索するときに、前記プロキシ装置は、前記検索されたデータに関連付けられたｔｉｍｅ−ｔｏ−ｌｉｖｅ指標をチェックし、
前記ｔｉｍｅ−ｔｏ−ｌｉｖｅ指標が前記検索されたデータの有効性の失効を示しているときには、前記プロキシ装置は、
‐有効性の失効を示す前記ｔｉｍｅ−ｔｏ−ｌｉｖｅ指標に関連付けられた前記検索されたデータによって表される各通信装置に、前記有効性を検証するよう構成された少なくとも１つのクエリを、ユニキャスト形式で送信することと、
‐前記応答メッセージを生成するステップおよび前記応答メッセージを送信するステップを、前記少なくとも１つのクエリのそれぞれに対する少なくとも１つのユニキャスト形式の応答を前記プロキシ装置が受信するまで、前記クエリが応答されるべき所定時刻を限度として延期することと
を実行する。
【００２１】
したがって、応答では最新状態のデータが送信される。
【００２２】
特定の特徴によれば、前記キャッシュユニットが記憶するデータは、前記記憶されたデータが有効である期間Ｐを表すｔｉｍｅ−ｔｏ−ｌｉｖｅ指標に関連付けられ、
前記プロキシ装置は、
‐前記ｔｉｍｅ−ｔｏ−ｌｉｖｅ指標の最後の更新以来、Ｎ（ただしＮは１より大きい正の整数）に前記期間Ｐを乗算したものに等しい期間が満了したか否かをチェックすることと、
‐有効性の失効を示す前記ｔｉｍｅ−ｔｏ−ｌｉｖｅ指標に関連付けられた前記記憶されたデータによって表される各通信装置に、前記有効性を検証するよう構成された少なくとも１つのクエリを、ユニキャスト形式で送信することと
によって、前記記憶されたデータを最新状態に維持する。
【００２３】
したがって、キャッシュユニット内に記憶されたデータを最新状態に維持するために実行される交換の量が低減される。
【００２４】
特定の特徴によれば、前記キャッシュユニットが記憶した前記データは、前記記憶されたデータが有効である期間を表すｔｉｍｅ−ｔｏ−ｌｉｖｅ指標に関連付けられ、
前記プロキシ装置は、
‐ヌルｔｉｍｅ−ｔｏ−ｌｉｖｅ指標に関連付けられた失効した情報を含む広告を受信することと、
‐前記失効した情報に対応するデータを前記キャッシュユニットから除去することと
によって、前記記憶されたデータを最新状態に維持する。
【００２５】
したがって、通信装置はヌルｔｉｍｅ−ｔｏ−ｌｉｖｅ指標を用いて以前の広告をキャンセルすることができ、また、キャッシュユニットは、通信ネットワークを介して伝搬される広告と整合するよう維持される。
【００２６】
特定の特徴によれば、前記プロキシ装置は構成パラメータを記憶し、
前記構成パラメータは、各前記通信ネットワークについて、前記クエリを送信した各通信装置に対し、前記プロキシ装置が前記クエリに対する前記応答をユニキャストメッセージとして送信しなければならないか、またはマルチキャストメッセージとして送信しなければならないかを示す。
【００２７】
したがって、事前に定義される基準（たとえば通信ネットワークの管理者によって設定されるもの）に従って、マルチキャスト送信を制限することが可能である。たとえば、構成パラメータは、セキュリティ面および／またはプライバシー面の考慮に従って設定される。さらに、いくつかのネットワークインフラストラクチャー装置（ブリッジ等）は、マルチキャスト送信をフィルタリングするよう構成されてもよい。したがって、構成パラメータは、そのようなフィルタリング制約に従って設定される可能性がある。
【００２８】
特定の特徴によれば、前記構成パラメータは前記通信ネットワークの種類に従って定義される。
【００２９】
たとえば、イーサネット（登録商標）のネットワーク上ではマルチキャスト応答に特権が与えられる一方で、Ｗｉ−Ｆｉネットワーク上ではマルチキャスト応答に特権が与えられる。マルチキャスト（肯定応答されない）は、ユニキャスト送信（肯定応答される）よりも頑強な変調および符号化方式を要求する可能性があるので、これはネットワークの資源消費を最適化する。
【００３０】
特定の特徴によれば、前記広告メッセージおよびクエリはｍＤＮＳプロトコルに従う。
【００３１】
本発明はまた、少なくとも第１の通信ネットワークおよび第２の通信ネットワークを相互接続するためのプロキシ装置であって、
通信装置が前記第１の通信ネットワークおよび前記第２の通信ネットワークそれぞれに接続され、
前記通信装置は、
‐前記通信装置のそれぞれのパラメータについての情報、および／または、
‐前記通信装置によって実装されるそれぞれの機能、および／または、前記通信装置によって実装されるそれぞれのサービスについての情報
を含む広告メッセージを送信するよう構成される、プロキシ装置にも関する。このプロキシ装置は、
‐前記通信ネットワークそれぞれに接続された通信装置から前記プロキシ装置が受信した広告メッセージからデータを収集するための手段と、
‐前記収集データをキャッシュユニット内に記憶するための手段と、
を実装し、
前記プロキシ装置は、通信装置のパラメータ、および／または、通信装置によって実装される機能、および／または、通信装置によって実装されるサービスについてのクエリを受信すると、
‐前記受信したクエリに対応するデータを前記キャッシュユニットから検索するための手段と、
‐前記検索されたデータを含む応答メッセージを生成するための手段であって、前記検索されたデータが複数の通信装置を表すときには、前記応答メッセージは前記複数の通信装置を表す検索されたデータを集約する、応答メッセージを生成するための手段と、
‐前記生成された応答メッセージを、前記クエリに応じて送信するための手段と
をさらに実装する。
【００３２】
本発明はまた、通信ネットワークからダウンロード可能であり、および／または、コンピュータが読み取り可能な媒体に記憶され、プロセッサによって実行される、コンピュータプログラムにも関する。このコンピュータプログラムは、当該プログラムがプロセッサによって実行されるときに、上述の方法を任意の一実施形態で実装するための命令を含む。本発明はまた、そのようなコンピュータプログラムを記憶する情報記憶手段にも関する。
【００３３】
プロキシ装置およびコンピュータプログラムに関連する特徴および利点は、対応する上述の方法に関して上述したものと同一であるので、ここでは繰り返さない。
【００３４】
本発明の特徴は、以下の実施形態の例の記載を読むことによってより明確に理解される。この記載は、添付図面を参照して作成されている。
【図面の簡単な説明】
【００３５】
【図１】第１の通信ネットワークおよび第２の通信ネットワークを相互接続するプロキシ装置を概略的に表す図である。
【図２】プロキシ装置のアーキテクチャを概略的に表す図である。
【図３】プロキシ装置のキャッシュ装置のデータを扱うために、プロキシ装置によって実行されるアルゴリズムを概略的に表す図である。
【図４】キャッシュ装置が記憶したデータを用いてクエリを処理するために、プロキシ装置によって実行されるアルゴリズムを概略的に表す図である。
【図５】キャッシュ装置が記憶したデータを最新状態に維持するために、プロキシ装置によって実行されるアルゴリズムを概略的に表す図である。
【発明を実施するための形態】
【００３６】
図１は、第１の通信ネットワーク１０１と第２の通信ネットワーク１０２とを相互接続するプロキシ装置１００を概略的に表す。プロキシ装置１００は、より多くの通信ネットワークを相互接続してもよい。プロキシ装置１００は、イーサネット（登録商標）ブリッジであってもよく、ＩＰルーターであってもよく、Ｗｉ−Ｆｉアクセスポイントであってもよく、これを実装するルーターであってもよい。
【００３７】
プロキシ装置１００によって相互接続された通信ネットワークは、それぞれ１つ以上の通信装置を備える。図１は、第１の通信ネットワーク１０１内の３つの通信装置１１１，１１２，１１３と、第２の通信ネットワーク１０２内の３つの通信装置１２１，１２２，１２３とを示す。
【００３８】
第１の通信ネットワーク１０１または第２の通信ネットワーク１０２に接続された通信装置は、当該通信装置によってそれぞれ実装される機能および／またはサービスを、当該通信ネットワークを介して広告するよう構成される。これを実現するために、各通信装置は、当該通信装置を表し、および、当該機能および／またはサービスを表す情報を含むそれぞれの広告メッセージを、当該通信ネットワークを介して送信するよう構成される。
【００３９】
第１の通信ネットワーク１０１または第２の通信ネットワーク１０２に接続された通信装置は、さらに、当該通信装置がそれぞれ接続されている通信ネットワークを介して受信したクエリに対し、応答するよう構成される。
【００４０】
好ましい実施形態では、通信装置はｍＤＮＳプロトコルを実装する（ＵＰｎＰ(ユニバーサル・プラグ・アンド・プレイ)標準規格において実装されるように、たとえばＳＳＤＰ(Simple Service Discovery Protocol)のような他の発見プロトコルも実装可能である）。しかしながら、ＳＳＤＰはＸＭＬ(eXtended Markup Language)およびＨＴＴＰ（ＨＴＴＰ／１．１に対する規範文書ＲＦＣ２６１６において特定されるハイパーテキスト転送プロトコル）に依存する一方で、ｍＤＮＳはＵＤＰ（規範文書ＲＦＣ７６８において特定されるユーザデータグラムプロトコル）に依存する。
【００４１】
Ｗｉ−ＦｉまたはＩＥＥＥ８０２．１１ネットワークの場合のように、通信ネットワークがアクセスポイントによって管理される無線通信ネットワークであるときには、広告メッセージおよびクエリはユニキャスト形式でアクセスポイントに送信される。その後、アクセスポイントが、その広告メッセージおよびクエリを、無線通信ネットワークを介してマルチキャストすることが想定される。実際に、シャドーイング効果のため、無線通信ネットワークの通信装置によっては、その無線通信ネットワーク内の他の通信装置と直接的に通信できない場合があり、それらの通信装置間の通信を可能にするために、アクセスポイントがリンク層レベル（ＯＳＩモデル）において中継器として行動する。図４に関して後述する特定の状況下では、通信ネットワークはそのような無線通信ネットワークであるが、アクセスポイントとして行動するプロキシ装置１００は、ユニキャスト形式で受信された広告メッセージおよびクエリをマルチキャストしない。
【００４２】
プロキシ装置１００は、そのプロキシ装置１００が相互接続している通信ネットワークに接続された通信装置から広告メッセージを受信したときにプロキシ装置１００によって収集されるデータを記憶する、キャッシュユニットを備える。特定の状況下では、プロキシ装置１００は、図４に関して後に詳述するように、１つ以上の通信装置に代わってクエリに応答する。キャッシュユニットが記憶すべきデータの選択は、図３に関して後に詳述する。このデータを最新状態に維持することは、図５に関して後に詳述する。
【００４３】
キャッシュユニットによって記憶されるデータは、以下の形式を持つ構造内に記憶されてもよい：
‐第１の構造要素は、そのデータが関係する通信装置が接続されている通信ネットワークを示す；
‐第２の構造要素は、当該通信装置のＩＰアドレスを示す；
‐第３の構造要素は、当該通信装置によって広告された関連するサービスまたは機能データ（たとえば、ｍＤＮＳプロトコルの用語における広告された資源レコード）を記憶する；
‐第４の構造要素は、広告されたデータに関連付けられたｔｉｍｅ−ｔｏ−ｌｉｖｅ指標（そのデータの有効性の失効時刻を表す）を記憶する。
記憶された構造は、記憶されたデータから導出されるハッシュキーを用いてインデックス付けされるハッシュテーブルとして編成されてもよい。
【００４４】
図２は、プロキシ装置１００のアーキテクチャを概略的に表す。図示のアーキテクチャによれば、プロキシ装置１００は、通信バス２１０によって相互接続された以下の構成要素を備える：プロセッサ、マイクロプロセッサ、マイクロコントローラまたはＣＰＵ（中央処理装置）２００；ＲＡＭ（ランダムアクセスメモリ）２０１；ＲＯＭ（リードオンリメモリ）２０２；ＨＤＤ（ハードディスクドライブ）２０３または記憶手段に記憶された情報を読み出すよう構成される任意の他の装置；および、プロキシ装置１００が第１の通信ネットワーク１０１および第２の通信ネットワーク１０２に接続できるようにする通信インタフェースの組２０４。
【００４５】
ＣＰＵ２００は、ＲＯＭ２０２から、ＳＤ（セキュアデジタル）カードのような外部メモリから、またはＨＤＤ２０３から、ＲＡＭ２０１へと、ロードされた命令を実行することができる。プロキシ装置１００に電源が投入された後、ＣＰＵ２００は、ＲＡＭ２０１から命令を読み出し、これらの命令を実行することができる。これらの命令は１つのコンピュータプログラムを形成し、このコンピュータプログラムが、後述のアルゴリズムの一部または全部のステップをＣＰＵ２００に実行させる。
【００４６】
以下に記載するアルゴリズムの任意のおよびすべてのステップは、ＰＣ（パーソナルコンピュータ）、ＤＳＰ（デジタル信号プロセッサ）またはマイクロコントローラのようなプログラム可能な計算機によって、命令の組またはプログラムを実行することによって、ソフトウェアにおいて実装されてもよい。または、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）またはＡＳＩＣ（特定アプリケーション用集積回路）のような、機械または専用の構成要素によって、ハードウェアにおいて実装されてもよい。
【００４７】
図３は、キャッシュユニットのデータを扱うためにプロキシ装置１００によって実行されるアルゴリズムを概略的に表す。
【００４８】
このアルゴリズムはステップＳ３０１において開始する。続くステップＳ３０２では、プロキシ装置１００は、第１の通信ネットワーク１０１から、または第２の通信ネットワーク１０２から、広告メッセージを受信する。この広告メッセージは、第１の通信ネットワーク１０１または第２の通信ネットワーク１０２を介してその広告メッセージを送信した通信装置についての情報を含む。このような情報は、たとえば、当該通信装置のネーミングまたはアドレシング、当該通信装置の構成パラメータ、当該通信装置によって実装されるサービスまたは機能、に関する。第１の通信ネットワーク１０１および第２の通信ネットワーク１０２においてｍＤＮＳプロトコルが実装されているとき、広告メッセージは無償マルチキャストＤＮＳ応答（Gratuitous Multicast DNS Response）である。
【００４９】
続くステップＳ３０３において、プロキシ装置１００は、そのプロキシ装置１００が、ステップＳ３０２において受信された広告メッセージの送信元である通信ネットワークに接続された通信装置に代わって行動する権限を持つか否かをチェックする。プロキシ装置１００がそのような権限を持たないときには、本アルゴリズムはステップＳ３１２において終了する。そうでなければ、ステップＳ３０４が実行される。
【００５０】
プロキシ装置１００は、そのプロキシ装置１００が相互接続する通信ネットワークのそれぞれについて、その通信ネットワークに接続された通信装置に代わって行動する権限をプロキシ装置１００が持つか否かを示すフラグを記憶する。
【００５１】
各通信ネットワークについてプロキシ装置１００が権限を持つか否かは、管理者によりセットアップ可能な構成パラメータとして定義されてもよい。
【００５２】
ステップＳ３０４において、プロキシ装置１００は、受信した広告メッセージに含まれる情報に関連付けられたｔｉｍｅ−ｔｏ−ｌｉｖｅ指標をチェックする。第１の通信ネットワーク１０１および第２の通信ネットワーク１０２においてｍＤＮＳプロトコルが実装されているときには、プロキシ装置１００は、受信した広告メッセージのＴＴＬ（Ｔｉｍｅ−Ｔｏ−Ｌｉｖｅ）フィールドをチェックする。ｔｉｍｅ−ｔｏ−ｌｉｖｅ指標が、受信した広告メッセージに含まれる情報が失効していることを示しているときには、ステップＳ３０９が実行される。そうでなければ、ステップＳ３０５が実行される。第１の通信ネットワーク１０１および第２の通信ネットワーク１０２においてｍＤＮＳプロトコルが実装されているときには、ＴＴＬフィールドがヌル値を持つときにはステップＳ３０９が実行される。実際に、ｍＤＮＳプロトコル規則によれば、通信装置は、広告に先行する資源レコードを、その資源レコードに関連付けられたヌルＴＴＬフィールドとともに後続の広告メッセージを送信することにより、クリアすることができる。
【００５３】
ステップＳ３０５において、プロキシ装置１００は、キャッシュユニットが記憶するデータ内をサーチして、受信した広告メッセージに含まれる情報が、キャッシュユニットが記憶するデータのうちに既に記述された通信装置に関連するものであるか否かを決定する。
【００５４】
続くステップＳ３０６において、プロキシ装置１００は、当該通信装置に関する情報が、キャッシュユニットが記憶するデータのうちに発見されたか否かをチェックする。そのような情報が発見されたときには、ステップＳ３０７が実行される。そうでなければ、ステップＳ３０８が実行される。
【００５５】
ステップＳ３０７において、プロキシ装置１００は、キャッシュユニットが記憶するデータを更新する（必要があれば、広告メッセージに含まれる補助的なまたは最新の情報を用いて）。より詳細には、プロキシ装置１００は、少なくとも、受信した広告メッセージに含まれるｔｉｍｅ−ｔｏ−ｌｉｖｅ指標を伴う当該通信装置に関連する情報に関連して、キャッシュユニット内に記憶されたｔｉｍｅ−ｔｏ−ｌｉｖｅ指標を更新する。こうすることにより、プロキシ装置１００は最新のデータを収集し、収集したデータをキャッシュユニット内に記憶する。その後、アルゴリズムはステップＳ３１２において終了する。
【００５６】
ステップＳ３０８において、プロキシ装置１００は、当該通信装置についてキャッシュユニット内に新たなエントリを追加する。プロキシ装置１００は、後に当該通信装置に代わってクエリに応答できるようにするために、受信した広告メッセージに含まれ当該通信装置に関連する情報を記憶する。こうすることにより、プロキシ装置１００は新たなデータを収集し、収集したデータをキャッシュユニット内に記憶する。その後、アルゴリズムはステップＳ３１２において終了する。
【００５７】
ステップＳ３０９において、プロキシ装置１００は、キャッシュユニットが記憶するデータ内をサーチして、受信した広告メッセージに含まれる情報が、キャッシュユニットが記憶するデータのうちにすでに記述された通信装置に関連するものであるか否かを決定する。
【００５８】
続くステップＳ３１０において、プロキシ装置１００は、当該通信装置に関する情報が、キャッシュユニットが記憶するデータのうちに発見されたか否かをチェックする。そのような情報が発見されたときには、ステップＳ３１１が実行される。そうでなければ、アルゴリズムはステップＳ３１２において終了する（その広告メッセージは、キャッシュユニットが以前に記憶していなかったデータの有効性の失効を示しているからである）。
【００５９】
ステップＳ３１１において、プロキシ装置１００は、キャッシュユニットから、当該通信装置に関連する記憶されたデータを除去する。または、少なくとも、キャッシュユニットから、受信した広告メッセージに含まれその有効性失効指標に関連付けられた情報（たとえば、ｍＤＮＳプロトコルを実装しているときにはヌルＴＴＬフィールドに関連付けられた情報）を除去する。その後、アルゴリズムはステップＳ３１２において終了する。
【００６０】
図３のアルゴリズムでは、プロキシ装置１００は、プロキシ装置１００が権限を持たない通信ネットワークに接続された通信装置に対する広告データを記憶するようには想定されていないと考えられる。一変形例では、プロキシ装置１００は、プロキシ装置１００が権限を持たない通信ネットワークに接続された通信装置に対するそのような広告データを記憶し、この場合にはステップＳ３０３は実行されない。これにより、プロキシ装置１００は、権限の構成における後の変更を予測する(anticipate)ことが可能となる。
【００６１】
図４は、キャッシュユニットによって記憶されるデータを用いてクエリを処理するために、プロキシ装置１００が実行するアルゴリズムを概略的に表す。
【００６２】
ステップＳ４０１において、プロキシ装置１００は、第１の通信ネットワーク１０１から、または第２の通信ネットワーク１０２から、クエリを受信する。
【００６３】
続くステップＳ４０２において、プロキシ装置１００は、そのプロキシ装置１００が接続された通信ネットワークに接続された通信装置に代わって行動する権限を、そのプロキシ装置１００が持つか否かをチェックする。プロキシ装置１００がすべての通信ネットワークについてそのような権限を持つというわけではないときには、ステップＳ４０４が実行される。そうでなければ、ステップＳ４０３が実行される。
【００６４】
ステップＳ４０３において、プロキシ装置１００は、キャッシュユニット内に記憶されたデータをフィルタリングして、プロキシ装置１００が権限を持たない各通信ネットワークに接続された通信装置に関連するデータを取り消す(withdraw)。図４のアルゴリズムを実行するためには、プロキシ装置１００が権限を持つ各通信ネットワークに接続された通信装置に関連するデータのみが残る。その後、ステップＳ４０４が実行される。ステップS４０３が実行されないときには、キャッシュユニットの全内容が考慮される。
【００６５】
一変形例では、図３のアルゴリズムにおいてステップＳ３０３が実行されるときには、プロキシ装置１００は、そのプロキシ装置１００が権限を持たない通信ネットワークに接続された通信装置に対する広告データを記憶しない。この場合には、ステップＳ４０２およびS４０３は回避される可能性がある。
【００６６】
ステップＳ４０４において、プロキシ装置１００は、そのクエリがマルチキャストメッセージとして送信されたか否かをチェックする。たとえば、そのクエリが、プロキシ装置１００がアクセスポイントであるＷｉＦｉネットワークを介して送信されるときには、そのクエリはアクセスポイントへのユニキャストメッセージとして送信され、アクセスポイントがこのメッセージをＷｉＦｉを介してマルチキャストメッセージの形式で中継する役割を担う。しかしながら、ローカルエリアネットワーク（ＬＡＮ）では、通信装置はクエリをマルチキャストメッセージの形式で直接送信すると想定される。第１の通信ネットワーク１０１および第２の通信ネットワーク１０２においてｍＤＮＳプロトコルが実装されているときには、マルチキャストメッセージはＩＰアドレス「２２４．０．０．２５１」およびＵＤＰポート「５３５３」に向けてアドレシングされる。
【００６７】
クエリがマルチキャストメッセージとして送信されたときには、ステップＳ４０５が実行される。そうでなければ、ステップＳ４０６が実行される。
【００６８】
ステップＳ４０５において、プロキシ装置１００はキャッシュユニット内に記憶されたデータ（ステップＳ４０３においてすでにフィルタリングされた可能性もある）をフィルタリングし、ステップＳ４０１でマルチキャストクエリを受信したそのマルチキャストクエリの送信元である通信ネットワークに接続された通信装置に関連するデータを取り消す。実際に、クエリはマルチキャスト形式であるので、プロキシ装置１００は当該通信ネットワークに接続された他の通信装置に代わって行動する必要がない。その後、ステップＳ４０６が実行される。
【００６９】
ステップＳ４０６において、プロキシ装置１００は、キャッシュユニットが記憶したデータ（ステップＳ４０３および／またはステップＳ４０５においてすでにフィルタリングされた可能性もある）のうちから、クエリに応答するための情報をサーチする。通常、クエリは、通信装置が接続された通信ネットワークを介してその通信装置によって典型的に広告される情報に関連する。クエリは、典型的には、当該通信装置が、ある機能またはサービスを実装するか否か（および、どの通信装置によって実装されるか）を、通信に接続された通信装置に質問するメッセージである。マルチキャストクエリは、しばしば、当該機能またはサービスを実装する各通信装置によって送信される複数の応答につながる。したがって、プロキシ装置１００は、キャッシュユニットが記憶したデータのうちから、キャッシュユニットが記憶した情報の対象となる各通信装置に代わってクエリに応答するための情報であってそのクエリにマッチするものを抽出する。
【００７０】
続くステップＳ４０７において、プロキシ装置１００は、キャッシュユニットから抽出した情報のそれぞれに関連付けられたｔｉｍｅ−ｔｏ−ｌｉｖｅ指標が、当該抽出された情報の有効性の失効を示しているか否かをチェックする。ｔｉｍｅ−ｔｏ−ｌｉｖｅ指標が、当該抽出された情報の有効性の失効を示しているときには、ステップＳ４０８が実行される。そうでなければ、ステップＳ４１２が実行される。
【００７１】
ステップＳ４０８において、キャッシュユニット内に記憶されたデータを更新するために、プロキシ装置１００は、ステップＳ４０７でｔｉｍｅ−ｔｏ−ｌｉｖｅ指標が有効性の失効を示した各通信にアドレシングされた少なくとも１つのユニキャストクエリを送信する。
【００７２】
続くステップＳ４０９において、プロキシ装置１００は、ステップＳ４０８で送信された各ユニキャストクエリが応答されたか否かをチェックする。ステップＳ４０８で送信された各ユニキャストクエリが応答されていたときには、ステップＳ４１０が実行される。そうでなければ、ステップＳ４１１が実行される。
【００７３】
ステップＳ４１０において、プロキシ装置１００は、ステップＳ４０８で送信された各ユニキャストクエリに対する各応答に含まれる情報を用いて、キャッシュユニット内に記憶されたデータを更新する。より詳細には、プロキシ装置１００は、少なくとも、当該情報と関連してキャッシュユニット内に記憶されたｔｉｍｅ−ｔｏ−ｌｉｖｅ指標を更新する。その後、ステップＳ４１２が実行される。
【００７４】
ステップＳ４１１において、プロキシ装置１００は、タイムアウトが満了したか否かをチェックする。タイムアウトは、ステップＳ４０１で受信したクエリに対する応答が送信されるべき時刻を表す（任意選択で事前定義されるマージンを伴う）。ｍＤＮＳプロトコルでは、応答を送信するための最大遅延は５００ｍｓにセットされる。言い換えると、プロキシ装置は、集合的応答メッセージ（aggregated response message）の生成ステップおよび送信ステップを、ステップＳ４０１で受信したクエリが応答されるべき所定時刻まで延期する。タイムアウトが満了したとき、それまで受信された応答に従ってデータを更新するために、ステップＳ４１０が実行される。
【００７５】
ステップＳ４１２において、プロキシ装置１００は、ステップＳ４０１で受信したクエリに対する集合的応答を生成する。この集合的応答は、ステップＳ４０６で抽出されたデータに基づいて構築される。
【００７６】
たとえば、通信装置１１１、１１２、１１３、１２１、１２２および１２３が送信する広告メッセージに含まれる情報を、プロキシ装置１００があらかじめキャッシュユニット内に記録していると考えよう。さらに、通信装置１１１、１１２および１２３は、いずれも、サービスＳを実装していることをあらかじめ広告しており、その関連する広告された情報に関連付けられたｔｉｍｅ−ｔｏ−ｌｉｖｅ指標は、その情報が依然として有効であることを示していると考えよう。また、通信装置１１３は、第１の通信ネットワーク１０１および第２の通信ネットワーク１０２のどの通信装置がサービスＳを実装しているかを発見するためのクエリを送信すると考えよう。また、第１の通信ネットワーク１０１はＷｉ−Ｆｉネットワークであり、第２の通信ネットワークはイーサネットベースのＬＡＮ（ローカルエリアネットワーク）ネットワークであると考えよう。したがって、通信装置１１３が送信したクエリは、ユニキャストメッセージの形式であり、これに対して、アクセスポイントとして行動するプロキシ装置１００は、第１の通信ネットワーク１０１および第２の通信ネットワーク１０２を介してそれぞれマルチキャストメッセージを生成し伝搬させると想定される。クエリを受信すると、プロキシ装置１００は、サービスＳについて以前に通信装置１１１、１１２および１２３が送信した広告メッセージに含まれる情報を検索する。その後、プロキシ装置１００は、以前に通信装置１１１、１１２および１２３が広告しキャッシュユニットから検索された情報を集約する応答メッセージを生成する。こうすることにより、プロキシ装置１００は、クエリに対するマルチキャストメッセージを生成し伝搬させることを回避する。このようにして、第１の通信ネットワーク１０１および第２の通信ネットワーク１０２の帯域幅消費は改善され、通信装置１１１、１１２および１２３は、クエリされた情報を通信装置１１３が取得できるようにするために覚醒する必要がない。
【００７７】
続くステップＳ４１３において、プロキシ装置１００は、生成された集合的応答メッセージを、ステップＳ４０１でクエリを受信したそのクエリの送信元である通信ネットワークを介して送信する。
【００７８】
特定の実施形態では、プロキシ装置１００は、対応するクエリを送信した通信装置に対しプロキシ装置１００によって送信される応答が、ユニキャストメッセージでなければならないか、またはマルチキャストメッセージでなければならないかを、そのプロキシ装置１００が相互接続する通信ネットワークのそれぞれについて示す、構成パラメータを記憶する。この構成パラメータは、対象の通信ネットワークの種類に依存してもよい。たとえば、イーサネットのネットワーク上ではマルチキャスト応答に特権が与えられる一方で、Ｗｉ−Ｆｉネットワーク上ではマルチキャスト応答に特権が与えられ、これはネットワークの資源消費を最適化する。
【００７９】
続くステップＳ４１４において、プロキシ装置１００は、そのプロキシ装置１００が権限を持たないすべての通信ネットワークにそのクエリを転送して、その通信ネットワークに接続されかつそのクエリに応答すると想定される各通信装置が、そのクエリに応答できるようにする。
【００８０】
ステップＳ４０６において、関連する応答データをプロキシ装置１００が抽出できないときには、プロキシ装置１００はクエリを転送すると決定してもよい。
【００８１】
いずれの場合でも、当該クエリがマルチキャスト形式で送信されていたときには、プロキシ装置１００は、プロキシ装置１００がクエリを受信したそのクエリの送信元である通信ネットワークにはそのクエリを転送しない。
【００８２】
したがって、プロキシ装置１００が無線通信ネットワークを介してクエリをユニキャスト形式で受信したときに、プロキシ装置１００はその受信したクエリを当該無線通信ネットワークを介してマルチキャスト形式で伝搬させると想定され、プロキシ装置１００は、その無線通信ネットワークに接続された通信装置に代わって応答するための権限を持たないときにのみ、その無線通信ネットワークを介して、その受信したクエリを実際に伝搬させる。
【００８３】
図５は、キャッシュユニットが記憶したデータを最新状態に維持するために、プロキシ装置１００によって実行されるアルゴリズムを概略的に表す。
【００８４】
ステップＳ５０１において、プロキシ装置１００は、記憶したデータのそれぞれに関連付けられたｔｉｍｅ−ｔｏ−ｌｉｖｅ指標をチェックするために、キャッシュユニットが記憶したデータをパースする。
【００８５】
続くステップＳ５０２において、プロキシ装置１００は、ｔｉｍｅ−ｔｏ−ｌｉｖｅ指標がそのデータの有効性の失効を示しているか否かを、少なくとも１つのデータについてチェックする。典型的には、ｔｉｍｅ−ｔｏ−ｌｉｖｅ指標は、そのデータが有効である期間Ｐを表す。ステップＳ５０２において、プロキシ装置１００は、上記有効である期間Ｐが満了しているか否かをチェックしてもよい。一変形例では、ステップＳ５０２において、プロキシ装置１００は、上記ｔｉｍｅ−ｔｏ−ｌｉｖｅ指標の最後の更新以来、Ｎに上記有効である期間Ｐを乗算したものが満了したか否かをチェックする（ただしＮは１より大きい正の整数である）。この手法により、キャッシュユニットが記憶するデータを最新状態に維持するコンテキストで通信装置をポーリングするための通信ネットワークを介したメッセージ交換を抑制することができる。
【００８６】
ｔｉｍｅ−ｔｏ−ｌｉｖｅ指標が少なくとも１つのデータについてそのデータの有効性の失効を示しているときには、ステップＳ５０３が実行され、そうでなければ、ステップＳ５０１が繰り返される。
【００８７】
ステップＳ５０３において、キャッシュユニット内に記憶されたデータを更新するために、プロキシ装置１００は、ステップＳ５０２でｔｉｍｅ−ｔｏ−ｌｉｖｅ指標が有効性の失効を示した各通信に対しアドレシングされた、少なくとも１つのユニキャストクエリを送信する。
【００８８】
続くステップＳ５０４において、プロキシ装置１００は、ステップＳ５０３で送信された各ユニキャストクエリが応答されたか否かをチェックする。ステップＳ５０３で送信された各ユニキャストクエリが応答されていたときには、ステップＳ５０５が実行され、そうでなければ、ステップＳ５０６が実行される。
【００８９】
ステップＳ５０５において、プロキシ装置１００は、ステップＳ５０３で送信された各ユニキャストクエリに対する各応答に含まれる情報を用いて、キャッシュユニット内に記憶されたデータを更新する。より詳細には、プロキシ装置１００は、少なくとも、当該情報と関連してキャッシュユニット内に記憶されたｔｉｍｅ−ｔｏ−ｌｉｖｅ指標を更新する。その後、ステップＳ５０１が繰り返される。
【００９０】
ステップＳ５０６において、プロキシ装置１００は、タイムアウトが満了したか否かをチェックする。タイムアウトは、ステップＳ５０３で送信されたクエリに対する応答がプロキシ装置１００によって受信されると想定される時刻を表す。タイムアウトが満了したとき、ステップＳ５０７が実行され、そうでなければ、ステップＳ５０４が繰り返される。
【００９１】
プロキシ装置１００は、上記の未応答のクエリに対してタイムアウトが満了したときには、未応答の各クエリを所定回数にわたって再送信してもよいということに留意すべきである。
【００９２】
ステップＳ５０７において、プロキシ装置１００は、未応答の各クエリが関連するデータを、キャッシュユニットから除去する。その後、ステップＳ５０１が繰り返される。
【図１】
2014183570.tif 000003
【図２】
2014183570.tif 000004
【図３】
2014183570.tif 000005
【図４】
2014183570.tif 000006
【図５】
2014183570.tif 000007
【外国語明細書】
2014183570.tif 000008
2014183570.tif 000009
2014183570.tif 000010
2014183570.tif 000011
2014183570.tif 000012
2014183570.tif 000013
2014183570.tif 000014
2014183570.tif 000015
2014183570.tif 000016
2014183570.tif 000017
2014183570.tif 000018
2014183570.tif 000019
2014183570.tif 000020
2014183570.tif 000021
2014183570.tif 000022
2014183570.tif 000023
2014183570.tif 000024
2014183570.tif 000025
2014183570.tif 000026
2014183570.tif 000027
2014183570.tif 000028
2014183570.tif 000029
2014183570.tif 000030
2014183570.tif 000031
2014183570.tif 000032
2014183570.tif 000033