特許第6104190号(P6104190)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ミツビシ・エレクトリック・アールアンドディー・センター・ヨーロッパ・ビーヴィの特許一覧

特許6104190プロキシ装置によって実行される方法、コンピュータプログラム、情報記憶手段およびプロキシ装置
<>
  • 特許6104190-プロキシ装置によって実行される方法、コンピュータプログラム、情報記憶手段およびプロキシ装置 図000002
  • 特許6104190-プロキシ装置によって実行される方法、コンピュータプログラム、情報記憶手段およびプロキシ装置 図000003
  • 特許6104190-プロキシ装置によって実行される方法、コンピュータプログラム、情報記憶手段およびプロキシ装置 図000004
  • 特許6104190-プロキシ装置によって実行される方法、コンピュータプログラム、情報記憶手段およびプロキシ装置 図000005
  • 特許6104190-プロキシ装置によって実行される方法、コンピュータプログラム、情報記憶手段およびプロキシ装置 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6104190
(24)【登録日】2017年3月10日
(45)【発行日】2017年3月29日
(54)【発明の名称】プロキシ装置によって実行される方法、コンピュータプログラム、情報記憶手段およびプロキシ装置
(51)【国際特許分類】
   H04L 12/66 20060101AFI20170316BHJP
【FI】
   H04L12/66 Z
【請求項の数】12
【外国語出願】
【全頁数】19
(21)【出願番号】特願2014-19194(P2014-19194)
(22)【出願日】2014年2月4日
(65)【公開番号】特開2014-183570(P2014-183570A)
(43)【公開日】2014年9月29日
【審査請求日】2016年10月21日
(31)【優先権主張番号】13160174.2
(32)【優先日】2013年3月20日
(33)【優先権主張国】EP
【早期審査対象出願】
(73)【特許権者】
【識別番号】503163527
【氏名又は名称】ミツビシ・エレクトリック・アールアンドディー・センター・ヨーロッパ・ビーヴィ
【氏名又は名称原語表記】MITSUBISHI ELECTRIC R&D CENTRE EUROPE B.V.
(74)【代理人】
【識別番号】100110423
【弁理士】
【氏名又は名称】曾我 道治
(74)【代理人】
【識別番号】100111648
【弁理士】
【氏名又は名称】梶並 順
(74)【代理人】
【識別番号】100122437
【弁理士】
【氏名又は名称】大宅 一宏
(74)【代理人】
【識別番号】100147566
【弁理士】
【氏名又は名称】上田 俊一
(74)【代理人】
【識別番号】100161171
【弁理士】
【氏名又は名称】吉田 潤一郎
(74)【代理人】
【識別番号】100161115
【弁理士】
【氏名又は名称】飯野 智史
(74)【代理人】
【識別番号】100166235
【弁理士】
【氏名又は名称】大井 一郎
(72)【発明者】
【氏名】ロマン・ロレ
【審査官】 宮島 郁美
(56)【参考文献】
【文献】 特開2004−215052(JP,A)
【文献】 米国特許出願公開第2004/0073707(US,A1)
【文献】 米国特許出願公開第2008/0267144(US,A1)
【文献】 米国特許出願公開第2006/0075100(US,A1)
【文献】 米国特許出願公開第2006/0002320(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00−12/26,12/50−12/955
(57)【特許請求の範囲】
【請求項1】
少なくとも第1および第2の通信ネットワーク(101,102)を相互接続するプロキシ装置(100)によって実行される方法であって、
通信装置(111,112,113,121,122,123)いずれかの記通信ネットワーク(101,102)に接続され、
前記通信装置(111,112,113,121,122,123)広告メッセージを送信し
前記広告メッセージは、それぞれ、前記広告メッセージを送信した前記通信装置(111,112,113,121,122,123)についての情報単位を含み、
前記情報単位は、前記通信装置(111,112,113,121,122,123)のパラメータに関するものであり、および/または、前記通信装置(111,112,113,121,122,123)によって実装される機に関するものであり、および/または、前記通信装置(111,112,113,121,122,123)によって実装されるサービスに関するものである、方法において、
記プロキシ装置(100)が、
いずれかの前記通信ネットワーク(101,102)に接続された通信装置(111,112,113,121,122,123)から前記プロキシ装置(100)が受信した広告メッセージに含まれる各情報単位を収集することと、
‐前記収集した各情報単位をキャッシュユニット内に記憶することと、
を実行し、
前記プロキシ装置(100)は、通信装置(111,112,113,121,122,123)のパラメータ、および/または、通信装置(111,112,113,121,122,123)によって実装される機能、および/または、通信装置(111,112,113,121,122,123)によって実装されるサービスについてのクエリを受信すると、
‐前記受信したクエリに対応する情報単位を前記キャッシュユニットから検索することと、
‐前記検索された情報単位を含む応答メッセージを生成することと、
‐前記生成された応答メッセージを、前記受信したクエリに応じて送信することであって、前記検索された情報単位いくつかの通信装置(111,112,113,121,122,123)についての情報単位を含むときには、前記応答メッセージは前記検索された情報単位前記応答メッセージに集約する、応答メッセージを送信することと
さらに実行する、方法において、
前記受信したクエリに対応する前記情報単位を前記キャッシュユニットから検索するときに、前記プロキシ装置(100)は、
‐各通信ネットワーク(101,102)について、当該通信ネットワーク(101,102)に接続された通信装置(111,112,113,121,122,123)に代わって応答する権限を前記プロキシ装置(100)が持たない場合に、当該通信ネットワーク(101,102)に接続された通信装置(111,112,113,121,122,123)についての情報単位を除去することによって、前記キャッシュユニットが記憶した情報単位をフィルタリングすることと、
‐各通信ネットワーク(101,102)について、当該通信ネットワーク(101,102)に接続された通信装置(111,112,113,121,122,123)に代わって応答する権限を前記プロキシ装置(100)が持たない場合に、当該通信ネットワーク(101,102)(ただし、前記受信したクエリがマルチキャスト形式で受信されたときには、前記プロキシ装置(100)が前記クエリを受信したその前記クエリの送信元である通信ネットワーク(101,102)を除く)を介して、前記受信された前記クエリを転送することと、
を実行する
ことを特徴とする、方法。
【請求項2】
前記受信したクエリに対応する情報単位を前記キャッシュユニットから検索するときに、および、前記受信したクエリがマルチキャスト形式で受信されたときに、前記プロキシ装置(100)は、前記プロキシ装置(100)が前記受信したクエリを受信したその前記クエリの送信元である通信ネットワーク(101,102)に接続された通信装置(111,112,113,121,122,123)についての情報単位を除去することによって、前記キャッシュユニットが記憶する情報単位をフィルタリングすることを特徴とする、請求項記載の方法。
【請求項3】
前記プロキシ装置(100)が無線通信ネットワークを介して前記受信したクエリをユニキャスト形式で受信したときに、前記プロキシ装置(100)は、前記無線通信ネットワークに接続された通信装置(111,112,113,121,122,123)に代わって応答する権限を持たないときにのみ、前記プロキシ装置(100)は前記受信したクエリを前記無線通信ネットワークを介してマルチキャスト形式で伝搬させることを特徴とする、請求項1または2に記載の方法。
【請求項4】
前記受信したクエリに対応する情報単位を前記キャッシュユニットから検索するときに、前記プロキシ装置(100)は、前記検索された情報単位に関連付けられたtime−to−live指標をチェックし、
前記time−to−live指標が前記検索された情報単位の有効性の失効を示しているときには、前記プロキシ装置(100)は、
情報単位が検索され有効性の失効を示す前記time−to−live指標に関連付けられた各通信装置に、前記有効性を検証するよう構成された少なくとも1つのクエリを、ユニキャスト形式で送信することと、
‐前記応答メッセージを生成するステップおよび前記応答メッセージを送信するステップを、ユニキャスト形式の前記少なくとも1つの送信されたクエリのそれぞれに対する少なくとも1つの応答を前記プロキシ装置(100)が受信するまで、前記受信したクエリが応答されるべき所定時刻を限度として延期することと
を実行することを特徴とする、請求項1〜のいずれか一項に記載の方法。
【請求項5】
前記キャッシュユニットが記憶する情報単位は、前記記憶された情報単位が有効である期間Pを表すtime−to−live指標に関連付けられ、
前記プロキシ装置(100)は、
‐前記time−to−live指標の最後の更新以来、N(ただしNは1より大きい正の整数)に前記期間Pを乗算したものに等しい期間が満了したか否かをチェックすることと、
前記情報単位が記憶され有効性の失効を示す前記time−to−live指標に関連付けられた各通信装置に、前記有効性を検証するよう構成された少なくとも1つのクエリを、ユニキャスト形式で送信することと
によって、前記記憶された情報単位を最新状態に維持する
ことを特徴とする、請求項1〜のいずれか一項に記載の方法。
【請求項6】
前記キャッシュユニットが記憶した前記情報単位は、前記記憶された情報単位が有効である期間を表すtime−to−live指標に関連付けられ、
前記プロキシ装置は、
‐ヌルtime−to−live指標に関連付けられた失効した情報を含む広告を受信することと、
‐前記失効した情報に対応する情報単位を前記キャッシュユニットから除去することと
によって、前記記憶された情報単位を最新状態に維持する
ことを特徴とする、請求項1〜のいずれか一項に記載の方法。
【請求項7】
前記プロキシ装置は構成パラメータを記憶し、
前記構成パラメータは、各前記通信ネットワークについて、前記クエリをそれぞれ送信した各通信装置に対し、前記プロキシ装置が前記受信したクエリに対する前記応答をユニキャストメッセージとして送信しなければならないか、またはマルチキャストメッセージとして送信しなければならないかを示す
ことを特徴とする、請求項1〜のいずれか一項に記載の方法。
【請求項8】
前記構成パラメータは前記通信ネットワークの種類に従って定義されることを特徴とする、請求項に記載の方法。
【請求項9】
前記広告メッセージおよびクエリはmDNSプロトコルに従うことを特徴とする、請求項1〜のいずれか一項に記載の方法。
【請求項10】
プログラムコード命令を含むことを特徴とするコンピュータプログラムであって、
前記プログラムコード命令は、プログラム可能な装置によって前記プログラムコード命令が実行されるときに、請求項1〜のいずれか一項に記載の方法を実装するために前記プログラム可能な装置にロードされることができる、
コンピュータプログラム。
【請求項11】
プログラムコード命令を含むコンピュータプログラムを記憶することを特徴とする情報記憶手段であって、
前記プログラムコード命令は、プログラム可能な装置によって前記プログラムコード命令が実行されるときに、請求項1〜のいずれか一項に記載の方法を実装するために前記プログラム可能な装置にロードされることができる、
情報記憶手段。
【請求項12】
少なくとも第1および第2の通信ネットワーク(101,102)を相互接続するためのプロキシ装置(100)であって、
通信装置(111,112,113,121,122,123)いずれかの記通信ネットワーク(101,102)に接続され、
前記通信装置(111,112,113,121,122,123)広告メッセージを送信するよう構成され、
前記広告メッセージは、それぞれ、前記広告メッセージを送信した前記通信装置(111,112,113,121,122,123)についての情報単位を含み、
前記情報単位は、前記通信装置(111,112,113,121,122,123)のパラメータに関するものであり、および/または、前記通信装置(111,112,113,121,122,123)によって実装される機に関するものであり、および/または前記通信装置(111,112,113,121,122,123)によって実装されるサービスに関するものである、
プロキシ装置(100)において、
前記プロキシ装置(100)は、
いずれかの前記通信ネットワーク(101,102)に接続された通信装置(111,112,113,121,122,123)から前記プロキシ装置(100)が受信した広告メッセージに含まれる情報単位を収集するための手段と、
‐前記収集した情報単位をキャッシュユニット内に記憶するための手段と、
を実装し、
前記プロキシ装置(100)は、通信装置(111,112,113,121,122,123)のパラメータ、および/または、通信装置(111,112,113,121,122,123)によって実装される機能、および/または、通信装置(111,112,113,121,122,123)によって実装されるサービスについてのクエリを受信すると、
‐前記受信したクエリに対応する情報単位を前記キャッシュユニットから検索するための手段と、
‐前記検索された情報単位を含む応答メッセージを生成するための手段であって、前記検索された情報単位いくつかの通信装置(111,112,113,121,122,123)についての情報単位を含むときには、前記応答メッセージは前記検索された情報単位前記応答メッセージに集約する、応答メッセージを生成するための手段と、
‐前記生成された応答メッセージを、前記受信したクエリに応じて送信するための手段と
をさらに実装する、プロキシ装置(100)において、
前記受信したクエリに対応する前記情報単位を前記キャッシュユニットから検索するときに、前記プロキシ装置(100)は、
‐各通信ネットワーク(101,102)について、当該通信ネットワーク(101,102)に接続された通信装置(111,112,113,121,122,123)に代わって応答する権限を前記プロキシ装置(100)が持たない場合に、当該通信ネットワーク(101,102)に接続された通信装置(111,112,113,121,122,123)についての情報単位を除去することによって、前記キャッシュユニットが記憶した情報単位をフィルタリングし、
‐各通信ネットワーク(101,102)について、当該通信ネットワーク(101,102)に接続された通信装置(111,112,113,121,122,123)に代わって応答する権限を前記プロキシ装置(100)が持たない場合に、当該通信ネットワーク(101,102)(ただし、前記受信したクエリがマルチキャスト形式で受信されたときには、前記プロキシ装置(100)が前記クエリを受信したその前記クエリの送信元である通信ネットワーク(101,102)を除く)を介して、前記受信された前記クエリを転送する
手段をさらに実装することを特徴とする、プロキシ装置(100)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して、装置発見プロトコル(device discovery protocol)の範囲内で、複数の通信ネットワークの相互接続における広告メッセージ(advertisement messages)およびクエリを処理するよう構成されたプロキシ機構に関する。
【背景技術】
【0002】
装置発見プロトコルは、他の通信装置のパラメータについての情報、および/または、他の通信装置によって実装される機能についての情報、および/または、他の通信装置によって実装されるサービスについての情報を、任意の通信装置が自動的に取得するために、通信ネットワークにおいて広く実装されている。
【0003】
ドメインネームシステム(DNS)は、コンピュータ、サービス、または、インターネットもしくはプライベート通信ネットワークに接続された任意の資源のための、階層型分散ネーミングシステムである。DNSは、対象の通信ネットワークに参加している各エンティティに割り当てられたドメイン名に、様々な情報を関連付ける(たとえば、上記参加しているエンティティによって実装される機能および/またはサービス)。これらの機能のうち、とくに、DNSは、ドメイン名を、対象の通信ネットワーク内の通信装置をアドレッシングするために必要なIPアドレスに翻訳できるようにする。
【0004】
マルチキャストドメインネームシステム(mDNS)は、非常によく似たパケットフォーマットおよび動作を持つ分散化されたDNS手法であり、したがって、動作するために集中化サーバを必要とせず、メッセージのマルチキャスト送信に依存する。mDNSプロトコルは、IETF・ゼロ・コンフィギュレーション・ネットワーキング (Zeroconf)(利用可能なインターネットプロトコル(規範文書RFC791において指定されるインターネットプロトコル)ネットワークを、オペレータの手動介入も特定の構成サーバも必要とせず、自動的に作成する技術の集合)の一部である。アップルインコーポレイテッド(Apple Inc.)の技術であるRendezVousおよびBonjourはmDNSの原理に依存する。mDNSプロトコルは、規範文書の集合(RFC1034「Domain Names - Concepts and Facilities」およびRFC1035「Domain Names - Implementation and Specification”」等)において詳述される。
【0005】
初期化の後、mDNSプロトコルを実装する通信装置は、実装された機能および/またはサービス(たとえばIPP(インターネット印刷プロトコル)印刷サービス)とともに、自身の構成パラメータ(たとえばIPアドレス)を表す資源レコードを広告する。このフェーズは、しばしば「アナウンス(announcing)」と呼ばれる。各広告メッセージは、少なくとも、その広告メッセージが参照する通信装置のシンボリックネームとともに、通信装置のIPv4アドレスを示す「A」タイプの資源レコードか、または通信装置のIPv6アドレスを示す「AAAA」タイプの資源レコードを含む。各広告メッセージは、さらに他のタイプの資源レコード(たとえば、PTR(ドメイン名ポインタ)、SVC(サービス)およびNSEC(Next−Secure)等)を含んでもよい。各資源レコードは、典型的には、広告メッセージに含まれる対応する資源レコードのTTL(Time−To−Live)フィールドにおいて指定されるtime−to−live指標に関連付けられる。このtime−to−live指標は、関連する資源レコードが有効である期間を表す。
【発明の概要】
【発明が解決しようとする課題】
【0006】
mDNS等の装置発見プロトコルにおいて遭遇する問題のひとつは、とくに相互接続された通信ネットワークの場合において、広告メッセージおよびクエリを伝搬するために多数のマルチキャストメッセージが交換されるということである。たとえば、印刷サービスのクライアントは、典型的には、通信ネットワークを介して利用可能な印刷装置を発見するために、クエリ(すなわち、「_http._tcp.local」とラベル付けされたPTR資源レコードタイプを伴うクエリ)を周期的に送信する。このクエリを受信した各印刷装置は、マルチキャスト応答によって応答する。通信ネットワーク内に多数のプリンタが存在する場合には、これは非常に長いマルチキャストバーストにつながる可能性がある。このような長く頻繁なマルチキャストバーストは、とくに無線通信ネットワークの場合に、ネットワーク資源管理におけるクリティカルな問題となる可能性がある。実際に、多数の無線通信技術(たとえばIEEE802.11標準規格)において、ブロードキャストおよびマルチキャストのトラフックは肯定応答(acknowledge)されないので、肯定応答されるユニキャストトラフィックよりも弾力的な変調および符号化方式が実装されている。したがって、長く頻繁なマルチキャストバーストは、通信オーバヘッドを増大させ、利用可能な帯域幅を著しく減少させる。
【0007】
このようなマルチキャストメッセージ交換は、さらに余分な電力消費につながる。また、通信装置によっては、送信されたクエリおよび広告メッセージを解釈する必要があり、また送信されたクエリに応答する可能性があるので、スタンバイモードに入ることを妨げることもある。
【0008】
従来技術の上述の問題を解消することが望ましい。
【0009】
とくに、装置発見の範囲内で交換されるメッセージの量を低減可能にし、したがって帯域幅消費を低減する解決策を提供することが望ましい。
【0010】
さらに、装置発見の範囲内で、スタンバイモードにある通信装置を覚醒させることを回避する解決策を提供することが望ましい。
【0011】
さらに、実装が容易で費用効率的な解決策を提供することが望ましい。
【課題を解決するための手段】
【0012】
この目的のために、本発明は、少なくとも第1の通信ネットワークおよび第2の通信ネットワークを相互接続するプロキシ装置によって実行される方法であって、
通信装置が前記第1の通信ネットワークおよび前記第2の通信ネットワークそれぞれに接続され、
前記通信装置は、
‐前記通信装置のそれぞれのパラメータについての情報、および/または、
‐前記通信装置によって実装されるそれぞれの機能、および/または、前記通信装置によって実装されるそれぞれのサービスについての情報
を含む広告メッセージを送信する、方法に関する。この方法は、前記プロキシ装置が、
‐前記通信ネットワークそれぞれに接続された通信装置から前記プロキシ装置が受信した広告メッセージからデータを収集することと、
‐前記収集したデータをキャッシュユニット内に記憶することと、
を実行し、
前記プロキシ装置は、通信装置のパラメータ、および/または、通信装置によって実装される機能、および/または、通信装置によって実装されるサービスについてのクエリを受信すると、
‐前記受信したクエリに対応するデータを前記キャッシュユニットから検索することと、
‐前記検索されたデータを含む応答メッセージを生成することであって、前記検索されたデータが複数の通信装置を表すときには、前記応答メッセージは前記複数の通信装置を表す検索されたデータを集約する、応答メッセージを生成することと、
‐前記生成された応答メッセージを、前記受信したクエリに応じて送信することと
をさらに実行する。
【0013】
したがって、プロキシ装置は、必要なときには複数の通信装置に代わって単一の応答を生成するので、装置発見の範囲内で交換されるメッセージの量が低減される。さらに、スタンバイモードにある通信装置をクエリに応答するために覚醒させることが回避される。
【0014】
特定の特徴によれば、前記受信したクエリに対応する前記データを前記キャッシュユニットから検索するときに、前記プロキシ装置は、
‐各通信ネットワークについて、当該通信ネットワークに接続された通信装置に代わって応答する権限を前記プロキシ装置が持たない場合に、当該通信ネットワークに接続された通信装置を表すデータを除去することによって、前記キャッシュユニットが記憶したデータをフィルタリングすることと、
‐各通信ネットワークについて、当該通信ネットワークに接続された通信装置に代わって応答する権限を前記プロキシ装置が持たない場合に、当該通信ネットワーク(ただし、前記クエリがマルチキャスト形式で受信されたときには、前記プロキシ装置が前記クエリを受信したその前記クエリの送信元である通信ネットワークを除く)を介して前記クエリを転送することと、
を実行する。
【0015】
したがって、複数の通信ネットワークの相互接続におけるプロキシ装置の用途に柔軟性が得られる。
【0016】
特定の特徴によれば、前記受信したクエリに対応するデータを前記キャッシュユニットから検索するときに、および、前記クエリがマルチキャスト形式で受信されたときに、前記プロキシ装置は、前記プロキシ装置が前記クエリを受信したその前記クエリの送信元である通信ネットワークに接続された通信装置を表すデータを除去することによって、前記キャッシュユニットが記憶するデータをフィルタリングする。
【0017】
したがって、プロキシ装置は、クエリメッセージを直接に受信した通信装置のためには応答しない。
【0018】
特定の特徴によれば、前記プロキシ装置が無線通信ネットワークを介して前記クエリをユニキャスト形式で受信したときに、前記プロキシ装置は前記受信したクエリを前記無線通信ネットワークを介してマルチキャスト形式で伝搬させると想定され、前記プロキシ装置は、前記無線通信ネットワークに接続された通信装置に代わって応答する権限を持たないときには、前記受信したクエリを前記無線通信ネットワークを介して実際に伝搬させる。
【0019】
したがって、可能なときにはマルチキャストクエリの伝搬が回避される。
【0020】
特定の特徴によれば、前記受信したクエリに対応するデータを前記キャッシュユニットから検索するときに、前記プロキシ装置は、前記検索されたデータに関連付けられたtime−to−live指標をチェックし、
前記time−to−live指標が前記検索されたデータの有効性の失効を示しているときには、前記プロキシ装置は、
‐有効性の失効を示す前記time−to−live指標に関連付けられた前記検索されたデータによって表される各通信装置に、前記有効性を検証するよう構成された少なくとも1つのクエリを、ユニキャスト形式で送信することと、
‐前記応答メッセージを生成するステップおよび前記応答メッセージを送信するステップを、前記少なくとも1つのクエリのそれぞれに対する少なくとも1つのユニキャスト形式の応答を前記プロキシ装置が受信するまで、前記クエリが応答されるべき所定時刻を限度として延期することと
を実行する。
【0021】
したがって、応答では最新状態のデータが送信される。
【0022】
特定の特徴によれば、前記キャッシュユニットが記憶するデータは、前記記憶されたデータが有効である期間Pを表すtime−to−live指標に関連付けられ、
前記プロキシ装置は、
‐前記time−to−live指標の最後の更新以来、N(ただしNは1より大きい正の整数)に前記期間Pを乗算したものに等しい期間が満了したか否かをチェックすることと、
‐有効性の失効を示す前記time−to−live指標に関連付けられた前記記憶されたデータによって表される各通信装置に、前記有効性を検証するよう構成された少なくとも1つのクエリを、ユニキャスト形式で送信することと
によって、前記記憶されたデータを最新状態に維持する。
【0023】
したがって、キャッシュユニット内に記憶されたデータを最新状態に維持するために実行される交換の量が低減される。
【0024】
特定の特徴によれば、前記キャッシュユニットが記憶した前記データは、前記記憶されたデータが有効である期間を表すtime−to−live指標に関連付けられ、
前記プロキシ装置は、
‐ヌルtime−to−live指標に関連付けられた失効した情報を含む広告を受信することと、
‐前記失効した情報に対応するデータを前記キャッシュユニットから除去することと
によって、前記記憶されたデータを最新状態に維持する。
【0025】
したがって、通信装置はヌルtime−to−live指標を用いて以前の広告をキャンセルすることができ、また、キャッシュユニットは、通信ネットワークを介して伝搬される広告と整合するよう維持される。
【0026】
特定の特徴によれば、前記プロキシ装置は構成パラメータを記憶し、
前記構成パラメータは、各前記通信ネットワークについて、前記クエリを送信した各通信装置に対し、前記プロキシ装置が前記クエリに対する前記応答をユニキャストメッセージとして送信しなければならないか、またはマルチキャストメッセージとして送信しなければならないかを示す。
【0027】
したがって、事前に定義される基準(たとえば通信ネットワークの管理者によって設定されるもの)に従って、マルチキャスト送信を制限することが可能である。たとえば、構成パラメータは、セキュリティ面および/またはプライバシー面の考慮に従って設定される。さらに、いくつかのネットワークインフラストラクチャー装置(ブリッジ等)は、マルチキャスト送信をフィルタリングするよう構成されてもよい。したがって、構成パラメータは、そのようなフィルタリング制約に従って設定される可能性がある。
【0028】
特定の特徴によれば、前記構成パラメータは前記通信ネットワークの種類に従って定義される。
【0029】
たとえば、イーサネット(登録商標)のネットワーク上ではマルチキャスト応答に特権が与えられる一方で、Wi−Fiネットワーク上ではマルチキャスト応答に特権が与えられる。マルチキャスト(肯定応答されない)は、ユニキャスト送信(肯定応答される)よりも頑強な変調および符号化方式を要求する可能性があるので、これはネットワークの資源消費を最適化する。
【0030】
特定の特徴によれば、前記広告メッセージおよびクエリはmDNSプロトコルに従う。
【0031】
本発明はまた、少なくとも第1の通信ネットワークおよび第2の通信ネットワークを相互接続するためのプロキシ装置であって、
通信装置が前記第1の通信ネットワークおよび前記第2の通信ネットワークそれぞれに接続され、
前記通信装置は、
‐前記通信装置のそれぞれのパラメータについての情報、および/または、
‐前記通信装置によって実装されるそれぞれの機能、および/または、前記通信装置によって実装されるそれぞれのサービスについての情報
を含む広告メッセージを送信するよう構成される、プロキシ装置にも関する。このプロキシ装置は、
‐前記通信ネットワークそれぞれに接続された通信装置から前記プロキシ装置が受信した広告メッセージからデータを収集するための手段と、
‐前記収集データをキャッシュユニット内に記憶するための手段と、
を実装し、
前記プロキシ装置は、通信装置のパラメータ、および/または、通信装置によって実装される機能、および/または、通信装置によって実装されるサービスについてのクエリを受信すると、
‐前記受信したクエリに対応するデータを前記キャッシュユニットから検索するための手段と、
‐前記検索されたデータを含む応答メッセージを生成するための手段であって、前記検索されたデータが複数の通信装置を表すときには、前記応答メッセージは前記複数の通信装置を表す検索されたデータを集約する、応答メッセージを生成するための手段と、
‐前記生成された応答メッセージを、前記クエリに応じて送信するための手段と
をさらに実装する。
【0032】
本発明はまた、通信ネットワークからダウンロード可能であり、および/または、コンピュータが読み取り可能な媒体に記憶され、プロセッサによって実行される、コンピュータプログラムにも関する。このコンピュータプログラムは、当該プログラムがプロセッサによって実行されるときに、上述の方法を任意の一実施形態で実装するための命令を含む。本発明はまた、そのようなコンピュータプログラムを記憶する情報記憶手段にも関する。
【0033】
プロキシ装置およびコンピュータプログラムに関連する特徴および利点は、対応する上述の方法に関して上述したものと同一であるので、ここでは繰り返さない。
【0034】
本発明の特徴は、以下の実施形態の例の記載を読むことによってより明確に理解される。この記載は、添付図面を参照して作成されている。
【図面の簡単な説明】
【0035】
図1】第1の通信ネットワークおよび第2の通信ネットワークを相互接続するプロキシ装置を概略的に表す図である。
図2】プロキシ装置のアーキテクチャを概略的に表す図である。
図3】プロキシ装置のキャッシュ装置のデータを扱うために、プロキシ装置によって実行されるアルゴリズムを概略的に表す図である。
図4】キャッシュ装置が記憶したデータを用いてクエリを処理するために、プロキシ装置によって実行されるアルゴリズムを概略的に表す図である。
図5】キャッシュ装置が記憶したデータを最新状態に維持するために、プロキシ装置によって実行されるアルゴリズムを概略的に表す図である。
【発明を実施するための形態】
【0036】
図1は、第1の通信ネットワーク101と第2の通信ネットワーク102とを相互接続するプロキシ装置100を概略的に表す。プロキシ装置100は、より多くの通信ネットワークを相互接続してもよい。プロキシ装置100は、イーサネット(登録商標)ブリッジであってもよく、IPルーターであってもよく、Wi−Fiアクセスポイントであってもよく、これを実装するルーターであってもよい。
【0037】
プロキシ装置100によって相互接続された通信ネットワークは、それぞれ1つ以上の通信装置を備える。図1は、第1の通信ネットワーク101内の3つの通信装置111,112,113と、第2の通信ネットワーク102内の3つの通信装置121,122,123とを示す。
【0038】
第1の通信ネットワーク101または第2の通信ネットワーク102に接続された通信装置は、当該通信装置によってそれぞれ実装される機能および/またはサービスを、当該通信ネットワークを介して広告するよう構成される。これを実現するために、各通信装置は、当該通信装置を表し、および、当該機能および/またはサービスを表す情報を含むそれぞれの広告メッセージを、当該通信ネットワークを介して送信するよう構成される。
【0039】
第1の通信ネットワーク101または第2の通信ネットワーク102に接続された通信装置は、さらに、当該通信装置がそれぞれ接続されている通信ネットワークを介して受信したクエリに対し、応答するよう構成される。
【0040】
好ましい実施形態では、通信装置はmDNSプロトコルを実装する(UPnP(ユニバーサル・プラグ・アンド・プレイ)標準規格において実装されるように、たとえばSSDP(Simple Service Discovery Protocol)のような他の発見プロトコルも実装可能である)。しかしながら、SSDPはXML(eXtended Markup Language)およびHTTP(HTTP/1.1に対する規範文書RFC2616において特定されるハイパーテキスト転送プロトコル)に依存する一方で、mDNSはUDP(規範文書RFC768において特定されるユーザデータグラムプロトコル)に依存する。
【0041】
Wi−FiまたはIEEE802.11ネットワークの場合のように、通信ネットワークがアクセスポイントによって管理される無線通信ネットワークであるときには、広告メッセージおよびクエリはユニキャスト形式でアクセスポイントに送信される。その後、アクセスポイントが、その広告メッセージおよびクエリを、無線通信ネットワークを介してマルチキャストすることが想定される。実際に、シャドーイング効果のため、無線通信ネットワークの通信装置によっては、その無線通信ネットワーク内の他の通信装置と直接的に通信できない場合があり、それらの通信装置間の通信を可能にするために、アクセスポイントがリンク層レベル(OSIモデル)において中継器として行動する。図4に関して後述する特定の状況下では、通信ネットワークはそのような無線通信ネットワークであるが、アクセスポイントとして行動するプロキシ装置100は、ユニキャスト形式で受信された広告メッセージおよびクエリをマルチキャストしない。
【0042】
プロキシ装置100は、そのプロキシ装置100が相互接続している通信ネットワークに接続された通信装置から広告メッセージを受信したときにプロキシ装置100によって収集されるデータを記憶する、キャッシュユニットを備える。特定の状況下では、プロキシ装置100は、図4に関して後に詳述するように、1つ以上の通信装置に代わってクエリに応答する。キャッシュユニットが記憶すべきデータの選択は、図3に関して後に詳述する。このデータを最新状態に維持することは、図5に関して後に詳述する。
【0043】
キャッシュユニットによって記憶されるデータは、以下の形式を持つ構造内に記憶されてもよい:
‐第1の構造要素は、そのデータが関係する通信装置が接続されている通信ネットワークを示す;
‐第2の構造要素は、当該通信装置のIPアドレスを示す;
‐第3の構造要素は、当該通信装置によって広告された関連するサービスまたは機能データ(たとえば、mDNSプロトコルの用語における広告された資源レコード)を記憶する;
‐第4の構造要素は、広告されたデータに関連付けられたtime−to−live指標(そのデータの有効性の失効時刻を表す)を記憶する。
記憶された構造は、記憶されたデータから導出されるハッシュキーを用いてインデックス付けされるハッシュテーブルとして編成されてもよい。
【0044】
図2は、プロキシ装置100のアーキテクチャを概略的に表す。図示のアーキテクチャによれば、プロキシ装置100は、通信バス210によって相互接続された以下の構成要素を備える:プロセッサ、マイクロプロセッサ、マイクロコントローラまたはCPU(中央処理装置)200;RAM(ランダムアクセスメモリ)201;ROM(リードオンリメモリ)202;HDD(ハードディスクドライブ)203または記憶手段に記憶された情報を読み出すよう構成される任意の他の装置;および、プロキシ装置100が第1の通信ネットワーク101および第2の通信ネットワーク102に接続できるようにする通信インタフェースの組204。
【0045】
CPU200は、ROM202から、SD(セキュアデジタル)カードのような外部メモリから、またはHDD203から、RAM201へと、ロードされた命令を実行することができる。プロキシ装置100に電源が投入された後、CPU200は、RAM201から命令を読み出し、これらの命令を実行することができる。これらの命令は1つのコンピュータプログラムを形成し、このコンピュータプログラムが、後述のアルゴリズムの一部または全部のステップをCPU200に実行させる。
【0046】
以下に記載するアルゴリズムの任意のおよびすべてのステップは、PC(パーソナルコンピュータ)、DSP(デジタル信号プロセッサ)またはマイクロコントローラのようなプログラム可能な計算機によって、命令の組またはプログラムを実行することによって、ソフトウェアにおいて実装されてもよい。または、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定アプリケーション用集積回路)のような、機械または専用の構成要素によって、ハードウェアにおいて実装されてもよい。
【0047】
図3は、キャッシュユニットのデータを扱うためにプロキシ装置100によって実行されるアルゴリズムを概略的に表す。
【0048】
このアルゴリズムはステップS301において開始する。続くステップS302では、プロキシ装置100は、第1の通信ネットワーク101から、または第2の通信ネットワーク102から、広告メッセージを受信する。この広告メッセージは、第1の通信ネットワーク101または第2の通信ネットワーク102を介してその広告メッセージを送信した通信装置についての情報を含む。このような情報は、たとえば、当該通信装置のネーミングまたはアドレシング、当該通信装置の構成パラメータ、当該通信装置によって実装されるサービスまたは機能、に関する。第1の通信ネットワーク101および第2の通信ネットワーク102においてmDNSプロトコルが実装されているとき、広告メッセージは無償マルチキャストDNS応答(Gratuitous Multicast DNS Response)である。
【0049】
続くステップS303において、プロキシ装置100は、そのプロキシ装置100が、ステップS302において受信された広告メッセージの送信元である通信ネットワークに接続された通信装置に代わって行動する権限を持つか否かをチェックする。プロキシ装置100がそのような権限を持たないときには、本アルゴリズムはステップS312において終了する。そうでなければ、ステップS304が実行される。
【0050】
プロキシ装置100は、そのプロキシ装置100が相互接続する通信ネットワークのそれぞれについて、その通信ネットワークに接続された通信装置に代わって行動する権限をプロキシ装置100が持つか否かを示すフラグを記憶する。
【0051】
各通信ネットワークについてプロキシ装置100が権限を持つか否かは、管理者によりセットアップ可能な構成パラメータとして定義されてもよい。
【0052】
ステップS304において、プロキシ装置100は、受信した広告メッセージに含まれる情報に関連付けられたtime−to−live指標をチェックする。第1の通信ネットワーク101および第2の通信ネットワーク102においてmDNSプロトコルが実装されているときには、プロキシ装置100は、受信した広告メッセージのTTL(Time−To−Live)フィールドをチェックする。time−to−live指標が、受信した広告メッセージに含まれる情報が失効していることを示しているときには、ステップS309が実行される。そうでなければ、ステップS305が実行される。第1の通信ネットワーク101および第2の通信ネットワーク102においてmDNSプロトコルが実装されているときには、TTLフィールドがヌル値を持つときにはステップS309が実行される。実際に、mDNSプロトコル規則によれば、通信装置は、広告に先行する資源レコードを、その資源レコードに関連付けられたヌルTTLフィールドとともに後続の広告メッセージを送信することにより、クリアすることができる。
【0053】
ステップS305において、プロキシ装置100は、キャッシュユニットが記憶するデータ内をサーチして、受信した広告メッセージに含まれる情報が、キャッシュユニットが記憶するデータのうちに既に記述された通信装置に関連するものであるか否かを決定する。
【0054】
続くステップS306において、プロキシ装置100は、当該通信装置に関する情報が、キャッシュユニットが記憶するデータのうちに発見されたか否かをチェックする。そのような情報が発見されたときには、ステップS307が実行される。そうでなければ、ステップS308が実行される。
【0055】
ステップS307において、プロキシ装置100は、キャッシュユニットが記憶するデータを更新する(必要があれば、広告メッセージに含まれる補助的なまたは最新の情報を用いて)。より詳細には、プロキシ装置100は、少なくとも、受信した広告メッセージに含まれるtime−to−live指標を伴う当該通信装置に関連する情報に関連して、キャッシュユニット内に記憶されたtime−to−live指標を更新する。こうすることにより、プロキシ装置100は最新のデータを収集し、収集したデータをキャッシュユニット内に記憶する。その後、アルゴリズムはステップS312において終了する。
【0056】
ステップS308において、プロキシ装置100は、当該通信装置についてキャッシュユニット内に新たなエントリを追加する。プロキシ装置100は、後に当該通信装置に代わってクエリに応答できるようにするために、受信した広告メッセージに含まれ当該通信装置に関連する情報を記憶する。こうすることにより、プロキシ装置100は新たなデータを収集し、収集したデータをキャッシュユニット内に記憶する。その後、アルゴリズムはステップS312において終了する。
【0057】
ステップS309において、プロキシ装置100は、キャッシュユニットが記憶するデータ内をサーチして、受信した広告メッセージに含まれる情報が、キャッシュユニットが記憶するデータのうちにすでに記述された通信装置に関連するものであるか否かを決定する。
【0058】
続くステップS310において、プロキシ装置100は、当該通信装置に関する情報が、キャッシュユニットが記憶するデータのうちに発見されたか否かをチェックする。そのような情報が発見されたときには、ステップS311が実行される。そうでなければ、アルゴリズムはステップS312において終了する(その広告メッセージは、キャッシュユニットが以前に記憶していなかったデータの有効性の失効を示しているからである)。
【0059】
ステップS311において、プロキシ装置100は、キャッシュユニットから、当該通信装置に関連する記憶されたデータを除去する。または、少なくとも、キャッシュユニットから、受信した広告メッセージに含まれその有効性失効指標に関連付けられた情報(たとえば、mDNSプロトコルを実装しているときにはヌルTTLフィールドに関連付けられた情報)を除去する。その後、アルゴリズムはステップS312において終了する。
【0060】
図3のアルゴリズムでは、プロキシ装置100は、プロキシ装置100が権限を持たない通信ネットワークに接続された通信装置に対する広告データを記憶するようには想定されていないと考えられる。一変形例では、プロキシ装置100は、プロキシ装置100が権限を持たない通信ネットワークに接続された通信装置に対するそのような広告データを記憶し、この場合にはステップS303は実行されない。これにより、プロキシ装置100は、権限の構成における後の変更を予測する(anticipate)ことが可能となる。
【0061】
図4は、キャッシュユニットによって記憶されるデータを用いてクエリを処理するために、プロキシ装置100が実行するアルゴリズムを概略的に表す。
【0062】
ステップS401において、プロキシ装置100は、第1の通信ネットワーク101から、または第2の通信ネットワーク102から、クエリを受信する。
【0063】
続くステップS402において、プロキシ装置100は、そのプロキシ装置100が接続された通信ネットワークに接続された通信装置に代わって行動する権限を、そのプロキシ装置100が持つか否かをチェックする。プロキシ装置100がすべての通信ネットワークについてそのような権限を持つというわけではないときには、ステップS404が実行される。そうでなければ、ステップS403が実行される。
【0064】
ステップS403において、プロキシ装置100は、キャッシュユニット内に記憶されたデータをフィルタリングして、プロキシ装置100が権限を持たない各通信ネットワークに接続された通信装置に関連するデータを取り消す(withdraw)。図4のアルゴリズムを実行するためには、プロキシ装置100が権限を持つ各通信ネットワークに接続された通信装置に関連するデータのみが残る。その後、ステップS404が実行される。ステップS403が実行されないときには、キャッシュユニットの全内容が考慮される。
【0065】
一変形例では、図3のアルゴリズムにおいてステップS303が実行されるときには、プロキシ装置100は、そのプロキシ装置100が権限を持たない通信ネットワークに接続された通信装置に対する広告データを記憶しない。この場合には、ステップS402およびS403は回避される可能性がある。
【0066】
ステップS404において、プロキシ装置100は、そのクエリがマルチキャストメッセージとして送信されたか否かをチェックする。たとえば、そのクエリが、プロキシ装置100がアクセスポイントであるWiFiネットワークを介して送信されるときには、そのクエリはアクセスポイントへのユニキャストメッセージとして送信され、アクセスポイントがこのメッセージをWiFiを介してマルチキャストメッセージの形式で中継する役割を担う。しかしながら、ローカルエリアネットワーク(LAN)では、通信装置はクエリをマルチキャストメッセージの形式で直接送信すると想定される。第1の通信ネットワーク101および第2の通信ネットワーク102においてmDNSプロトコルが実装されているときには、マルチキャストメッセージはIPアドレス「224.0.0.251」およびUDPポート「5353」に向けてアドレシングされる。
【0067】
クエリがマルチキャストメッセージとして送信されたときには、ステップS405が実行される。そうでなければ、ステップS406が実行される。
【0068】
ステップS405において、プロキシ装置100はキャッシュユニット内に記憶されたデータ(ステップS403においてすでにフィルタリングされた可能性もある)をフィルタリングし、ステップS401でマルチキャストクエリを受信したそのマルチキャストクエリの送信元である通信ネットワークに接続された通信装置に関連するデータを取り消す。実際に、クエリはマルチキャスト形式であるので、プロキシ装置100は当該通信ネットワークに接続された他の通信装置に代わって行動する必要がない。その後、ステップS406が実行される。
【0069】
ステップS406において、プロキシ装置100は、キャッシュユニットが記憶したデータ(ステップS403および/またはステップS405においてすでにフィルタリングされた可能性もある)のうちから、クエリに応答するための情報をサーチする。通常、クエリは、通信装置が接続された通信ネットワークを介してその通信装置によって典型的に広告される情報に関連する。クエリは、典型的には、当該通信装置が、ある機能またはサービスを実装するか否か(および、どの通信装置によって実装されるか)を、通信に接続された通信装置に質問するメッセージである。マルチキャストクエリは、しばしば、当該機能またはサービスを実装する各通信装置によって送信される複数の応答につながる。したがって、プロキシ装置100は、キャッシュユニットが記憶したデータのうちから、キャッシュユニットが記憶した情報の対象となる各通信装置に代わってクエリに応答するための情報であってそのクエリにマッチするものを抽出する。
【0070】
続くステップS407において、プロキシ装置100は、キャッシュユニットから抽出した情報のそれぞれに関連付けられたtime−to−live指標が、当該抽出された情報の有効性の失効を示しているか否かをチェックする。time−to−live指標が、当該抽出された情報の有効性の失効を示しているときには、ステップS408が実行される。そうでなければ、ステップS412が実行される。
【0071】
ステップS408において、キャッシュユニット内に記憶されたデータを更新するために、プロキシ装置100は、ステップS407でtime−to−live指標が有効性の失効を示した各通信にアドレシングされた少なくとも1つのユニキャストクエリを送信する。
【0072】
続くステップS409において、プロキシ装置100は、ステップS408で送信された各ユニキャストクエリが応答されたか否かをチェックする。ステップS408で送信された各ユニキャストクエリが応答されていたときには、ステップS410が実行される。そうでなければ、ステップS411が実行される。
【0073】
ステップS410において、プロキシ装置100は、ステップS408で送信された各ユニキャストクエリに対する各応答に含まれる情報を用いて、キャッシュユニット内に記憶されたデータを更新する。より詳細には、プロキシ装置100は、少なくとも、当該情報と関連してキャッシュユニット内に記憶されたtime−to−live指標を更新する。その後、ステップS412が実行される。
【0074】
ステップS411において、プロキシ装置100は、タイムアウトが満了したか否かをチェックする。タイムアウトは、ステップS401で受信したクエリに対する応答が送信されるべき時刻を表す(任意選択で事前定義されるマージンを伴う)。mDNSプロトコルでは、応答を送信するための最大遅延は500msにセットされる。言い換えると、プロキシ装置は、集合的応答メッセージ(aggregated response message)の生成ステップおよび送信ステップを、ステップS401で受信したクエリが応答されるべき所定時刻まで延期する。タイムアウトが満了したとき、それまで受信された応答に従ってデータを更新するために、ステップS410が実行される。
【0075】
ステップS412において、プロキシ装置100は、ステップS401で受信したクエリに対する集合的応答を生成する。この集合的応答は、ステップS406で抽出されたデータに基づいて構築される。
【0076】
たとえば、通信装置111、112、113、121、122および123が送信する広告メッセージに含まれる情報を、プロキシ装置100があらかじめキャッシュユニット内に記録していると考えよう。さらに、通信装置111、112および123は、いずれも、サービスSを実装していることをあらかじめ広告しており、その関連する広告された情報に関連付けられたtime−to−live指標は、その情報が依然として有効であることを示していると考えよう。また、通信装置113は、第1の通信ネットワーク101および第2の通信ネットワーク102のどの通信装置がサービスSを実装しているかを発見するためのクエリを送信すると考えよう。また、第1の通信ネットワーク101はWi−Fiネットワークであり、第2の通信ネットワークはイーサネットベースのLAN(ローカルエリアネットワーク)ネットワークであると考えよう。したがって、通信装置113が送信したクエリは、ユニキャストメッセージの形式であり、これに対して、アクセスポイントとして行動するプロキシ装置100は、第1の通信ネットワーク101および第2の通信ネットワーク102を介してそれぞれマルチキャストメッセージを生成し伝搬させると想定される。クエリを受信すると、プロキシ装置100は、サービスSについて以前に通信装置111、112および123が送信した広告メッセージに含まれる情報を検索する。その後、プロキシ装置100は、以前に通信装置111、112および123が広告しキャッシュユニットから検索された情報を集約する応答メッセージを生成する。こうすることにより、プロキシ装置100は、クエリに対するマルチキャストメッセージを生成し伝搬させることを回避する。このようにして、第1の通信ネットワーク101および第2の通信ネットワーク102の帯域幅消費は改善され、通信装置111、112および123は、クエリされた情報を通信装置113が取得できるようにするために覚醒する必要がない。
【0077】
続くステップS413において、プロキシ装置100は、生成された集合的応答メッセージを、ステップS401でクエリを受信したそのクエリの送信元である通信ネットワークを介して送信する。
【0078】
特定の実施形態では、プロキシ装置100は、対応するクエリを送信した通信装置に対しプロキシ装置100によって送信される応答が、ユニキャストメッセージでなければならないか、またはマルチキャストメッセージでなければならないかを、そのプロキシ装置100が相互接続する通信ネットワークのそれぞれについて示す、構成パラメータを記憶する。この構成パラメータは、対象の通信ネットワークの種類に依存してもよい。たとえば、イーサネットのネットワーク上ではマルチキャスト応答に特権が与えられる一方で、Wi−Fiネットワーク上ではマルチキャスト応答に特権が与えられ、これはネットワークの資源消費を最適化する。
【0079】
続くステップS414において、プロキシ装置100は、そのプロキシ装置100が権限を持たないすべての通信ネットワークにそのクエリを転送して、その通信ネットワークに接続されかつそのクエリに応答すると想定される各通信装置が、そのクエリに応答できるようにする。
【0080】
ステップS406において、関連する応答データをプロキシ装置100が抽出できないときには、プロキシ装置100はクエリを転送すると決定してもよい。
【0081】
いずれの場合でも、当該クエリがマルチキャスト形式で送信されていたときには、プロキシ装置100は、プロキシ装置100がクエリを受信したそのクエリの送信元である通信ネットワークにはそのクエリを転送しない。
【0082】
したがって、プロキシ装置100が無線通信ネットワークを介してクエリをユニキャスト形式で受信したときに、プロキシ装置100はその受信したクエリを当該無線通信ネットワークを介してマルチキャスト形式で伝搬させると想定され、プロキシ装置100は、その無線通信ネットワークに接続された通信装置に代わって応答するための権限を持たないときにのみ、その無線通信ネットワークを介して、その受信したクエリを実際に伝搬させる。
【0083】
図5は、キャッシュユニットが記憶したデータを最新状態に維持するために、プロキシ装置100によって実行されるアルゴリズムを概略的に表す。
【0084】
ステップS501において、プロキシ装置100は、記憶したデータのそれぞれに関連付けられたtime−to−live指標をチェックするために、キャッシュユニットが記憶したデータをパースする。
【0085】
続くステップS502において、プロキシ装置100は、time−to−live指標がそのデータの有効性の失効を示しているか否かを、少なくとも1つのデータについてチェックする。典型的には、time−to−live指標は、そのデータが有効である期間Pを表す。ステップS502において、プロキシ装置100は、上記有効である期間Pが満了しているか否かをチェックしてもよい。一変形例では、ステップS502において、プロキシ装置100は、上記time−to−live指標の最後の更新以来、Nに上記有効である期間Pを乗算したものが満了したか否かをチェックする(ただしNは1より大きい正の整数である)。この手法により、キャッシュユニットが記憶するデータを最新状態に維持するコンテキストで通信装置をポーリングするための通信ネットワークを介したメッセージ交換を抑制することができる。
【0086】
time−to−live指標が少なくとも1つのデータについてそのデータの有効性の失効を示しているときには、ステップS503が実行され、そうでなければ、ステップS501が繰り返される。
【0087】
ステップS503において、キャッシュユニット内に記憶されたデータを更新するために、プロキシ装置100は、ステップS502でtime−to−live指標が有効性の失効を示した各通信に対しアドレシングされた、少なくとも1つのユニキャストクエリを送信する。
【0088】
続くステップS504において、プロキシ装置100は、ステップS503で送信された各ユニキャストクエリが応答されたか否かをチェックする。ステップS503で送信された各ユニキャストクエリが応答されていたときには、ステップS505が実行され、そうでなければ、ステップS506が実行される。
【0089】
ステップS505において、プロキシ装置100は、ステップS503で送信された各ユニキャストクエリに対する各応答に含まれる情報を用いて、キャッシュユニット内に記憶されたデータを更新する。より詳細には、プロキシ装置100は、少なくとも、当該情報と関連してキャッシュユニット内に記憶されたtime−to−live指標を更新する。その後、ステップS501が繰り返される。
【0090】
ステップS506において、プロキシ装置100は、タイムアウトが満了したか否かをチェックする。タイムアウトは、ステップS503で送信されたクエリに対する応答がプロキシ装置100によって受信されると想定される時刻を表す。タイムアウトが満了したとき、ステップS507が実行され、そうでなければ、ステップS504が繰り返される。
【0091】
プロキシ装置100は、上記の未応答のクエリに対してタイムアウトが満了したときには、未応答の各クエリを所定回数にわたって再送信してもよいということに留意すべきである。
【0092】
ステップS507において、プロキシ装置100は、未応答の各クエリが関連するデータを、キャッシュユニットから除去する。その後、ステップS501が繰り返される。
図1
図2
図3
図4
図5