(57)【要約】【課題】サービスを要求する端末の属性に応じて対応するサービスを提供することができるアクセス制御方式を実現する。【解決手段】端末間の通信を中継する中継サーバは、グループ毎に提供可能なサービスを指定するポリシ情報を格納するポリシ情報格納部と、第１の端末からの要求に対応する第２の端末による応答に含まれている応答情報をポリシ情報に基づいて処理する処理部と、処理部により処理された応答情報を第１の端末へ送信する通信部とを有する。処理部は、第２の端末が提供可能なサービスが、第１の端末が加入しているグループに提供可能なサービスに制限されるように、応答情報を処理する。【選択図】図２
2015032098.tif 000002
【特許請求の範囲】
【請求項１】
端末間の通信を中継する中継サーバであって、
グループごとに提供可能なサービスを指定するポリシ情報を格納するポリシ情報格納部と、
第１の端末からの要求に対応する第２の端末による応答に含まれている応答情報を前記ポリシ情報に基づいて処理する処理部と、
前記処理部により処理された応答情報を前記第１の端末へ送信する通信部と、を有し、
前記処理部は、前記第２の端末が提供可能なサービスが、前記第１の端末が加入しているグループに提供可能なサービスに制限されるように、前記応答情報を処理する、
ことを特徴とする中継サーバ。
【請求項２】
前記応答情報は、前記第２の端末が提供可能なサービスに係わる記述を含み、
前記処理部は、前記応答情報から、前記第１の端末が加入しているグループに提供可能なサービス以外のサービスに係わる記述を削除する
ことを特徴とする請求項１に記載の中継サーバ。
【請求項３】
グループ毎に加入している端末を表すグループ情報を格納するグループ情報格納部と、
ネットワーク内に存在する端末を検索する端末検索要求を前記第１の端末から受信したときに、前記グループ情報に基づいて、前記第１の端末と同じグループに属する端末に前記端末検索要求を送信する検索要求処理部と、をさらに有する
ことを特徴とする請求項１または２に記載の中継サーバ。
【請求項４】
前記端末検索要求は、ネットワーク内の複数の端末へ送信されるマルチキャストメッセージに格納されて前記第１の端末から送信され、
前記検索要求処理部は、前記第１の端末から受信したマルチキャストメッセージをユニキャストメッセージに変換し、前記第１の端末と同じグループに加入している各端末へそれぞれ前記ユニキャストメッセージを送信する
ことを特徴とする請求項３に記載の中継サーバ。
【請求項５】
前記端末検索要求を受信した端末から返送されてくる応答メッセージの中に、前記第１の端末が加入しているグループに対して許可されていないサービスに係わる情報が含まれているときは、前記検索要求処理部は、前記応答メッセージを前記第１の端末へ転送することなく廃棄する
ことを特徴とする請求項３に記載の中継サーバ。
【請求項６】
端末間の通信を中継する中継サーバにおいて使用されるアクセス制御方法であって、
第１の端末から送信される要求を第２に端末へ転送し、
前記要求に対応する応答を前記第２の端末から受信し、
グループごとに提供可能なサービスを指定するポリシ情報に基づいて、前記第２の端末が提供可能なサービスが、前記第１の端末が加入しているグループに提供可能なサービスに制限されるように、前記応答に含まれている応答情報を処理し、
処理された応答情報を前記第１の端末へ送信する、
ことを特徴とするアクセス制御方法。
【請求項７】
第１の端末から送信される要求を第２に端末へ転送し、
前記要求に対応する応答を前記第２の端末から受信し、
グループごとに提供可能なサービスを指定するポリシ情報に基づいて、前記第２の端末が提供可能なサービスが、前記第１の端末が加入しているグループに提供可能なサービスに制限されるように、前記応答に含まれている応答情報を処理し、
処理された応答情報を前記第１の端末へ送信する、
処理をコンピュータに実行させるアクセス制御プログラム。
【請求項８】
サービス要求端末からの要求に応答するサービス提供装置であって、
前記サービス提供装置が提供可能なサービスに係わる情報を記述した定義情報を格納する定義情報格納部と、
前記定義情報を要求する定義要求を受信したときに、前記サービス提供装置が提供可能なサービスが、前記サービス要求端末が加入しているグループに提供可能なサービスに制限されるように、前記定義情報を処理する処理部と、
前記処理部により処理された定義情報を前記サービス要求端末へ送信する通信部と、
を有するサービス提供装置。
【請求項９】
グループ毎に加入している端末を表すグループ情報を格納するグループ情報格納部と、
ネットワーク内に存在する端末を検索する端末検索要求を前記サービス要求端末から受信したときに、前記グループ情報に基づいて、前記サービス要求端末および前記サービス提供装置が同じグループに加入しているか判定する判定部と、
前記サービス要求端末および前記サービス提供装置が同じグループに加入しているときは、前記端末検索要求に対応する応答メッセージを生成して前記サービス要求端末へ送信し、前記サービス要求端末および前記サービス提供装置が同じグループに加入していないときは、前記端末検索要求を廃棄する送信部と、をさらに有する
ことを特徴とする請求項８に記載のサービス提供装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線システムにおいて使用される中継サーバ、サービス提供装置、およびアクセス制御方法に係わる。
【背景技術】
【０００２】
無線システムにおいて使用されるアクセス制御方式の１つとして、ＵＰｎＰフォーラム（Universal Plug and Play FORUM）が定めるUPnP Device Architecture 1.1が提案されている。なお、ＵＰｎＰは、登録商標である。
【０００３】
ＵＰｎＰフォーラムにおいては、サービスを提供する端末（デバイス）と、そのサービスを利用する端末（コントロール・ポイント）との間の連携方法が規定されている。以下では、ＵＰｎＰフォーラムで規定されている構成または方法を「ＵＰｎＰ標準」と呼ぶことがある。また、記載を簡潔にするために、コントロール・ポイントを「コントローラ」と呼ぶ。
【０００４】
ＵＰｎＰ標準においては、コントローラは、ネットワークへ接続すると、そのネットワークのサブネット内に存在する端末を検索するために、端末検索要求（M-SEARCH）を発行する。端末検索要求は、所望の検索条件を指定することができる。そして、コントローラから送信される端末検索要求は、サブネット内に存在するすべての機器により受信される。そうすると、検索条件を満足するデバイスは、端末検索要求を発行したコントローラに対して応答を送る。この手順により、コントローラは、サブネット内に存在するデバイスを検索することができる。
【０００５】
続いて、コントローラは、検索されたデバイスに対して、定義情報（デバイス定義情報およびサービス定義情報）を要求する。デバイス定義情報には、デバイスが提供するサービスの種別などが記述されている。また、サービス定義情報には、サービスを構成するアクション、引数、状態変数、データ型などが記述されている。よって、コントローラは、定義情報を取得することにより、サブネット内に存在するデバイスが提供するサービスを認識することができる。これらの定義情報は、ＵＰｎＰ標準では、descriptionと呼ばれている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】UPnP FORUM, UPnP Device Architecture 1.1, October 15, 2008
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述のアクセス制御においては、端末検索要求の検索条件を満足するすべてのデバイスが、コントローラに対して応答する。また、定義情報を要求されたデバイスは、そのデバイスが提供可能なすべてのサービスについて定義情報をコントローラへ送信する。
【０００８】
すなわち、各デバイスは、サブネットに接続される各コントローラに対して均一のサービスを提供する。例えば、サブネット内に２台のコントローラＡ、Ｂ、および２台のデバイスＣ、Ｄが存在するものとする。この場合、コントローラＡは、デバイスＣ、Ｄを検出し、各デバイスＣ、Ｄからそれぞれサービスを受けることができる。また、コントローラＢも、デバイスＣ、Ｄを検出し、各デバイスＣ、Ｄからそれぞれサービスを受けることができる。このように、コントローラＡ、Ｂには、同じサービスが提供される。すなわち、従来技術においては、コントローラ毎に異なるサービスを提供することは困難である。
【０００９】
なお、この問題は、ＵＰｎＰに限定されるものではない。すなわち、この問題は、各端末がネットワーク内の他の端末にサービスを要求するアクセス制御方式において発生し得る。
【００１０】
本発明の１つの側面に係わる目的は、サービスを要求する端末の属性に応じて対応するサービスを提供することができるアクセス制御方式を実現することである。
【課題を解決するための手段】
【００１１】
本発明の１つの態様の中継サーバは、グループごとに提供可能なサービスを指定するポリシ情報を格納するポリシ情報格納部と、第１の端末からの要求に対応する第２の端末による応答に含まれている応答情報を前記ポリシ情報に基づいて処理する処理部と、前記処理部により処理された応答情報を前記第１の端末へ送信する通信部とを有する。前記処理部は、前記第２の端末が提供可能なサービスが、前記第１の端末が加入しているグループに提供可能なサービスに制限されるように、前記応答情報を処理する。
【発明の効果】
【００１２】
上述の態様によれば、サービスを要求する端末の属性に応じて対応するサービスを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態に係わるネットワークシステムの一例を示す図である。
【図２】中継装置、コントローラ端末、デバイス端末の機能を説明する図である。
【図３】グループ加入ポリシＤＢの一例を示す図である。
【図４】グループＤＢの一例を示す図である。
【図５】端末ＤＢの一例を示す図である。
【図６】アクセスポリシＤＢの一例を示す図である。
【図７】端末加入グループＤＢの一例を示す図である。
【図８】デバイス定義情報の一例を示す図である。
【図９】サービス定義情報の一例を示す図である。
【図１０】グループ加入手順の一例を示すシーケンス図である。
【図１１】サービス要求手順の一例を示すシーケンス図である。
【図１２】中継装置により処理された後のデバイス定義情報の一例を示す図である。
【図１３】中継装置により処理された後のサービス定義情報の一例を示す図である。
【図１４】グループ処理部の処理を示すフローチャートである。
【図１５】中継装置の通信部の処理を示すフローチャートである。
【図１６】グループ管理部の処理を示すフローチャートである。
【図１７】マルチキャストメッセージ処理部の処理を示すフローチャートである。
【図１８】端末検索要求メッセージの例を示す図である。
【図１９】端末検索要求に対する応答メッセージの例を示す図である。
【図２０】定義要求メッセージ処理部の処理を示すフローチャートである。
【図２１】定義要求メッセージの例を示す図である。
【図２２】メッセージ処理部の処理を示すフローチャートである。
【図２３】第２の実施形態に係わるネットワークシステムの一例を示す図である。
【図２４】グループ管理装置、コントローラ端末、デバイス端末の機能を説明する図である。
【図２５】第２の実施形態で使用される端末ＤＢの一例を示す図である。
【図２６】第２の実施形態のグループ加入手順の一例を示すシーケンス図である。
【図２７】第２の実施形態のサービス要求手順の一例を示すシーケンス図である。
【図２８】第２の実施形態のグループ処理部の処理を示すフローチャートである。
【図２９】第２の実施形態のグループ管理部の処理を示すフローチャートである。
【図３０】第２の実施形態の端末の通信部の処理を示すフローチャートである。
【図３１】マルチキャスト制御部の処理を示すフローチャートである。
【図３２】サービスアクセス制御部の処理を示すフローチャートである。
【図３３】第２の実施形態におけるデバイス定義情報の一例を示す図である。
【図３４】他の実施形態におけるサービス定義情報の一例を示す図である。
【図３５】実施形態のネットワークシステムにおいて使用される装置のハードウェア構成を示す図である。
【発明を実施するための形態】
【００１４】
＜第１の実施形態＞
図１は、第１の実施形態に係わるネットワークシステムの一例を示す。ネットワークシステムは、中継装置（中継サーバ）１を有する。また、この実施例では、ネットワークシステムには、３台の端末０１〜０３が接続されている。
【００１５】
端末０１〜０３は、それぞれ、中継装置１を介して他の端末と通信することができる。中継装置１と端末０１〜０３との間の無線通信プロトコルは、特に限定されるものではない。なお、各端末０１〜０３は、中継装置１から受信する無線信号からデータまたは情報を抽出するが、他の端末から直接的に受信する無線信号からデータまたは情報を抽出しないものとする。
【００１６】
端末０１は、デバイスに対してサービスを要求するコントローラとして動作する。よって、以下では、端末０１を「コントローラ端末」と呼ぶことがある。端末０２は、コントローラから要求されたサービスを提供するデバイスとして動作する。よって、以下では、端末０２を「デバイス端末」と呼ぶことがある。端末０３は、コントローラおよびデバイスの双方の機能を有するものとする。
【００１７】
各端末０１〜０３は、それぞれ所望のグループに加入することができる。ここで、各端末０１〜０３は、複数のグループに加入することもできる。図１に示す例では、端末０１はグループａに加入し、端末０３はグループｂに加入し、端末０２はグループａおよびグループｂの双方に加入している。
【００１８】
中継装置１は、コントローラとデバイスとの間の通信の経路上に設けられる。ここで、例えば、各端末が無線ＬＡＮ通信機能を有する場合、中継装置１は、無線ＬＡＮ基地局内に設けられてもよい。また、中継装置１は、各端末０１〜０３がどのグループに属しているのかを表すグループ構成情報を保持している。そして、中継装置１は、このグループ構成情報を利用して、端末０１〜０３間の通信を制御する。
【００１９】
図２は、中継装置１、コントローラ端末０１、デバイス端末０２の機能を説明する図である。なお、中継装置１とコントローラ端末０１との間の無線リンク、および中継装置１とデバイス端末０２との間の無線リンクは、必要に応じて設定される。
【００２０】
中継装置１は、通信部１１、グループ管理部１２、マルチキャストメッセージ処理部１３、定義要求メッセージ処理部１４、メッセージ処理部１５、グループ加入ポリシＤＢ１６、グループＤＢ１７、端末ＤＢ１８、アクセスポリシＤＢ１９を有する。なお、中継装置１は、他の機能を有していてもよい。
【００２１】
通信部１１は、端末（コントローラ、デバイス）との間の無線インタフェースを提供する。そして、通信部１１は、端末から受信するメッセージを解析し、その受信メッセージをグループ管理部１２、マルチキャストメッセージ処理部１３、定義要求メッセージ処理部１４、またはメッセージ処理部１５へ転送する。また、通信部１１は、グループ管理部１２、マルチキャストメッセージ処理部１３、定義要求メッセージ処理部１４、またはメッセージ処理部１５により生成されたメッセージを宛先端末へ送信する。
【００２２】
グループ加入ポリシＤＢ１６は、加入ポリシ情報を格納する。加入ポリシ情報は、各端末がそれぞれどのグループに加入できるのかを表す。なお、加入ポリシ情報は、例えば、ネットワーク管理者により作成される。
【００２３】
図３は、グループ加入ポリシＤＢ１６の一例を示す。グループ加入ポリシＤＢ１６は、各端末を識別する端末ＩＤと、その端末が加入できるグループとの対応関係を保持する。この例では、端末０１は、グループａ（グループ名：Ａ部、グループＩＤ：ＧＲＰａ）に加入することが許可されている。端末０２は、グループａ及びグループｂ（グループ名：Ｂ部、グループＩＤ：ＧＲＰｂ）の双方に加入することが許可されている。
【００２４】
グループＤＢ１７は、グループ情報を格納する。グループ情報は、各グループにそれぞれどの端末が加入しているのかを表す。なお、グループＤＢ１７は、端末からグループ加入要求またはグループ離脱要求が発行されたときに更新される。
【００２５】
図４は、グループＤＢ１７の一例を示す。グループＤＢ１７は、各グループを識別するグループＩＤと、そのグループに加入している端末との対応関係を保持する。図４に示す例では、グループａには、現在、端末０１および端末０２が加入している。また、グループｂには、現在、端末０２および端末０３が加入している。そして、ある端末により発行されたグループ加入要求が許可されると、その端末の端末ＩＤがグループＤＢ１７に追加される。また、ある端末によりグループ離脱要求が発行されると、その端末の端末ＩＤがグループＤＢ１７から削除される。
【００２６】
端末ＤＢ１８は、図１に示すネットワークシステムにおいて使用される各端末の情報を格納する。端末ＤＢ１８に登録される端末情報は、例えば、ネットワーク管理者により作成される。
【００２７】
図５は、端末ＤＢ１８の一例を示す。端末ＤＢ１８は、この実施例では、端末ＩＤに対して、ホスト名、ＩＰアドレス、ポート番号を格納する。ホスト名は、端末を識別する情報の１つであり、対応する端末宛てに送信されるＨＴＴＰメッセージのHostフィールドに設定される。ＨＴＴＰメッセージは、後述するユニキャスト端末検索要求メッセージ、定義情報要求メッセージ、アクション要求メッセージ等を含む。ＩＰアドレスは、メッセージを伝送するフレームのＩＰヘッダに設定される。ポート番号は、後述するユニキャスト端末検索要求メッセージを送信する際に使用される。ホスト名、ＩＰアドレス、ポート番号は、たとえば、ネットワーク管理者により割り当てられる。ＩＰアドレスは、ＤＨＣＰ（Dynamic Host Configuration Protocol）サーバから動的に付与されてもよい。また、端末が移動する場合には、端末の移動先のシステムによりホスト名および／またはポート番号が動的に割り当てられるようにしてもよい。
【００２８】
アクセスポリシＤＢ１９は、アクセスポリシ情報を格納する。アクセスポリシ情報は、各デバイスにより提供されるサービスが、どのグループに対して許可されるのかを表す。
【００２９】
図６は、アクセスポリシＤＢ１９の一例を示す。図６に示す例では、端末０２がプリンタサービスおよびファックスサービスを提供する。サービス種別情報は、デバイス端末が提供するサービスを識別する。また、アクセスポリシは、サービスの提供が許可されている１または複数のグループを表す。例えば、プリンタサービスは、グループａ及び／又はグループｂに加入している端末に対して提供される。ファックスサービスは、グループｂに加入している端末に対してのみ提供される。なお、アクセスポリシＤＢ１９は、ネットワークシステムのグループ構成が変化したときに更新される。また、アクセスポリシＤＢ１９は、ネットワークシステムにおいて提供されるサービスが追加、変更、削除されたときにも更新される。アクセスポリシＤＢ１９の更新は、例えば、ネットワーク管理者により行われる。
【００３０】
グループ管理部１２は、端末からの要求に応じて、その端末が加入可能なグループを検索し、その検索結果を端末へ通知する。また、グループ管理部１２は、端末からグループ加入要求を受信したときは、グループ加入ポリシＤＢ１６を参照し、その要求において指定されたグループへの加入を許可するか否かを判定する。そして、指定されたグループへの加入を許可するときは、グループ管理部１２は、指定されたグループに関連づけて対応する端末ＩＤをグループＤＢ１７に登録する。また、グループ管理部１２は、端末からグループ離脱要求を受信したときは、指定されたグループに関連づけられている対応する端末ＩＤをグループＤＢ１７から削除する。
【００３１】
マルチキャストメッセージ処理部１３は、コントローラ端末から送信されるマルチキャスト端末検索要求を、サブネット内の端末へ送信する。ただし、マルチキャストメッセージ処理部１３は、端末検索要求の送信元端末と同じグループに属している端末にのみ、その端末検索要求を送信する。このとき、マルチキャストメッセージ処理部１３は、マルチキャスト端末検索要求をユニキャスト端末検索要求に変換して、対応する各端末に送信する。また、マルチキャストメッセージ処理部１３は、端末検索要求に対する応答を、端末検索要求の送信元端末へ転送する。このとき、マルチキャストメッセージ処理部１３は、端末検索要求の送信元端末が属するグループに対して許可されていない情報を含む応答メッセージを廃棄してもよい。
【００３２】
マルチキャストメッセージ処理部１３は、他のマルチキャストメッセージについても、マルチキャスト端末検索要求と同様に、ユニキャストメッセージに変換して対応する端末にのみ転送するようにしてもよい。他のマルチキャストメッセージとしては、例えば、デバイスの存在および提供サービスを広告するメッセージ（Advertisement）、ネットワークからデバイスが離脱することを周辺に通知するメッセージ（byebye）、接続しているネットワークインタフェースに変更が生じたことを通知するメッセージ（update）などが想定される。
【００３３】
定義要求メッセージ処理部１４は、デバイス端末からコントローラ端末へ返送される応答メッセージから、許可されていない記述を削除する。たとえば、端末０１から端末０２に対して定義情報が要求されると、端末０２は、要求された定義情報を返送する。この場合、定義要求メッセージ処理部１４は、アクセスポリシＤＢ１９を参照し、この定義情報の中に、端末０１が属するグループに対して許可されていない記述が含まれているかチェックする。そして、定義情報の中に、端末０１が属するグループに対して許可されていない記述が含まれていれば、定義要求メッセージ処理部１４は、定義情報からその許可されていない記述を削除する。この後、中継装置１は、許可されていない記述が削除された定義情報を、端末０１へ送信する。
【００３４】
メッセージ処理部１５は、他のメッセージ（すなわち、グループ管理部１２、マルチキャストメッセージ処理部１３、定義要求メッセージ処理部１４により処理されないメッセージ）を処理する。例えば、メッセージ処理部１５は、コントローラ端末からサービス要求メッセージを受信すると、そのサービス要求メッセージを対応するデバイス端末へ転送する。また、メッセージ処理部１５は、デバイス端末から応答メッセージを受信すると、その応答メッセージを対応するコントローラ端末へ転送する。
【００３５】
コントローラ端末は、図２に示すように、通信部２１、グループ処理部２２、メッセージ処理部２３、サービス要求処理部２４、端末加入グループＤＢ２５、デバイス／サービスＤＢ２６を有する。なお、コントローラ端末は、他の機能を有していてもよい。
【００３６】
通信部２１は、中継装置１との間の無線インタフェースを提供する。そして、通信部２１は、中継装置１から受信するメッセージを解析し、その受信メッセージをグループ処理部２２、メッセージ処理部２３、またはサービス要求処理部２４へ転送する。また、通信部２１は、グループ処理部２２、メッセージ処理部２３、またはサービス要求処理部２４により生成されたメッセージを中継装置１へ送信する。
【００３７】
端末加入グループＤＢ２５は、端末が加入しているグループを表すグループ情報を格納する。例えば、図７は、端末０１に設けられる端末加入グループＤＢ２５を示している。この例では、端末０１がグループａに加入していることを表すグループ情報が格納されている。
【００３８】
デバイス／サービスＤＢ２６は、サブネット内に存在するデバイス端末から取得した情報（たとえば、デバイス定義情報およびサービス定義情報）を格納する。なお、コントローラ端末は、自分と同じグループに属するデバイス端末のデバイス定義情報を取得する。また、コントローラ端末は、自分と同じグループに対して許可されているサービスについてサービス定義情報を取得する。
【００３９】
グループ処理部２２は、中継装置１に対して、所望のグループへの加入および任意のグループからの離脱を要求することができる。そして、指定したグループへの加入が中継装置１により許可されたときは、グループ処理部２２は、その指定したグループのグループ情報を端末加入グループＤＢ２５へ登録する。また、指定したグループからの離脱が成功したときは、グループ処理部２２は、その指定したグループのグループ情報を端末加入グループＤＢ２５から削除する。
【００４０】
メッセージ処理部２３は、デバイス端末へ送信する要求を含むメッセージを作成する。また、メッセージ処理部２３は、中継装置１を介してデバイス端末から受信する応答を含むメッセージを処理する。なお、メッセージ処理部２３は、デバイス端末から受信する応答（デバイス定義情報、サービス定義情報など）をデバイス／サービスＤＢ２６に格納する。
【００４１】
サービス要求処理部２４は、デバイス／サービスＤＢ２６に登録されているデバイス端末に対してサービスの実行を要求することができる。このとき、サービス要求処理部２４は、デバイス／サービスＤＢ２６に登録されているサービスの実行を要求できる。
【００４２】
デバイス端末は、図２に示すように、通信部３１、メッセージ処理部３２、サービス実行部３３、デバイス定義格納部３４、サービス定義格納部３５を有する。また、図示しないが、デバイス端末は、コントローラ端末と同様に、グループ処理部２２および端末加入グループＤＢ２５を有している。なお、デバイス端末は、さらに他の機能を有していてもよい。
【００４３】
通信部３１は、中継装置１との間の無線インタフェースを提供する。そして、通信部３１は、中継装置１から受信するメッセージを解析し、その受信メッセージをメッセージ処理部３２またはサービス実行部３３へ転送する。また、通信部３１は、メッセージ処理部３２またはサービス実行部３３により生成されたメッセージを中継装置１へ送信する。
【００４４】
デバイス定義格納部３４には、デバイス定義情報が格納されている。デバイス定義情報は、デバイス端末が提供可能なサービスのリストを含む。例えば、図８は、デバイス端末０２のデバイス定義格納部３４に格納されているデバイス定義情報を示している。この例では、デバイス端末０２は、プリンタサービスおよびファックスサービスを提供することができる。なお、記述ｘ１は、プリンタサービスに係わる情報を記述している。また、記述ｘ２は、ファックスサービスに係わる情報を記述している。
【００４５】
サービス定義格納部３５には、サービス定義情報が格納されている。サービス定義情報は、デバイス定義情報において記載されている各サービスについての詳細情報（例えば、サービスを構成するアクション、引数、状態変数、データ型など）を含む。例えば、図９は、デバイス端末０２のサービス定義格納部３５に格納されているサービス定義情報の一部を示している。具体的には、図９は、図８に示すデバイス定義情報中の記述ｘ１により記述されているサービス（即ち、プリンタサービス）についての詳細情報を示している。この例では、プリンタサービスのサービス定義情報は、記述ｙ１および記述ｙ２を含む。記述ｙ１は、プリンタの電源をオフするアクション「PowerOff」に係わる情報を記述している。記述ｙ２は、プリンタの電源をオンするアクション「PowerOn」に係わる情報を記述している。また、サービス定義情報は、各アクションが許可されるグループを表すアクセスポリシ記述を含む。この例では、アクセスポリシ記述により、「PowerOff」はグループｂに対して許可されており、「PowerOn」はグループａおよびグループｂに対して許可されている。なお、図９に示すサービス毎のアクセスポリシ記述は、サービス定義情報中に記載する代わりに、図６に示すアクセスポリシＤＢと類似の構成で中継装置１に持たせるようにしてもよい。
【００４６】
図１０は、グループ加入手順の一例を示す。ここでは、図１に示す端末０１〜０３がそれぞれ１または複数のグループに加入するものとする。また、中継装置１は、図３に示すグループ加入ポリシＤＢ１６を有している。
【００４７】
端末０１は、中継装置１へグループ情報要求メッセージを送信する。中継装置１は、端末０１からグループ情報要求メッセージを受信すると、グループ加入ポリシＤＢ１６を検索し、端末０１が加入することができるグループを特定する。この実施例では、図３に示すように、端末０１はグループａへの加入が許可されている。よって、中継装置１は、グループａを識別するグループＩＤ（ＧＲＰａ）を含む応答メッセージを端末０１へ送信する。このとき、中継装置１は、グループＩＤに加えて他の情報（例えば、グループ名等）を端末０１へ送信してもよい。
【００４８】
端末０１は、許可されたグループへの加入を要求することができる。したがって、端末０１は、グループａへの加入を要求するグループ加入要求メッセージを中継装置１へ送信する。中継装置１は、端末０１からグループ加入要求メッセージを受信すると、グループ加入ポリシＤＢ１６を参照し、この加入要求を受け入れるか否か判定する。そして、中継装置１は、判定結果を端末０１へ通知する。この実施例では、中継装置１は、加入成功を表す応答メッセージを端末０１へ送信する。
【００４９】
この後、端末０１において、グループ処理部２２は、端末０１がグループａに加入したことを端末加入グループＤＢ２５に記録する。また、中継装置１において、グループ管理部２２は、端末０１がグループａに加入したことをグループＤＢ１７に記録する。
【００５０】
端末０２および端末０３も、同様の手順で、それぞれ対応するグループに加入する。すなわち、端末０２は、グループａおよびグループｂに加入する。このとき、端末０２は、１つのグループ加入要求メッセージで複数のグループ（即ち、グループａ、ｂ）への加入を要求してもよい。また、端末０３は、グループｂに加入する。
【００５１】
図１１は、サービス要求手順の一例を示す。この実施例では、端末０１が端末０２にサービスを要求するものとする。なお、端末０１は、図１０に示す手順によりグループａに加入しているが、グループｂには加入していない。また、端末０２はグループａおよびグループｂに加入しており、端末０３はグループｂのみに加入している。
【００５２】
端末０１は、サブネット内にどのようなデバイス端末が存在しているのかを検索するために、端末検索要求（Ｍ−ＳＥＡＲＣＨ）メッセージを中継装置１へ送信する。このメッセージは、マルチキャストメッセージであり、サブネット内のすべての端末が宛先として指定されている。
【００５３】
中継装置１は、端末０１からＭ−ＳＥＡＲＣＨメッセージを受信すると、グループＤＢ１７を参照し、端末０１が加入しているグループを特定する。この実施例では、端末０１は、グループａに加入している。よって、中継装置１は、グループａに加入している端末のみに対して、Ｍ−ＳＥＡＲＣＨメッセージを送信する。このとき、中継装置１は、端末０１から受信したＭ−ＳＥＡＲＣＨメッセージをマルチキャスト形式からユニキャスト形式に変換する。そして、中継装置１は、ユニキャスト形式のＭ−ＳＥＡＲＣＨメッセージを、グループａに加入している各端末（Ｍ−ＳＥＡＲＣＨメッセージの送信元の端末は除く）にそれぞれ送信する。この実施例では、グループａには、端末０１、０２が加入している。したがって、中継装置１は、ユニキャスト形式のＭ−ＳＥＡＲＣＨメッセージを端末０２へ送信する。一方、端末０３は、グループａに加入していない。よって、中継装置１は、端末０３にはＭ−ＳＥＡＲＣＨメッセージを送信しない。
【００５４】
Ｍ−ＳＥＡＲＣＨメッセージを受信した端末０２は、応答メッセージを中継装置１へ返送する。なお、端末０２がデバイス端末でないときは、端末０２は、応答メッセージを返送しなくてもよい。そして、中継装置１は、端末０２から送信された応答メッセージを端末０１へ転送する。この結果、端末０１は、サブネット内にデバイス端末０２が存在していることを認識する。ただし、上述したように、中継装置１は、端末０３へはＭ−ＳＥＡＲＣＨメッセージを送信していない。よって、端末０１は、端末０３から応答メッセージを受信することはない。したがって、サブネット内に実際には端末０３が存在しているものの、端末０１は、その端末０３の存在を認識することはできない。
【００５５】
続いて、端末０１は、Ｍ−ＳＥＡＲＣＨメッセージに対する応答に基づいて検出したデバイス端末に対してデバイス定義情報を要求する。すなわち、端末０１は、端末０２のデバイス定義情報を要求するデバイス定義要求メッセージを中継装置１へ送信する。そうすると、中継装置１は、このデバイス定義要求メッセージを端末０２へ転送する。
【００５６】
端末０２は、デバイス定義要求メッセージを受信すると、端末０２のデバイス定義情報を含む応答メッセージを作成して中継装置１へ返送する。中継装置１は、端末０２から応答メッセージを受信すると、必要に応じて、そのメッセージ中に含まれているデバイス定義情報を変更する。例えば、中継装置１は、グループＤＢ１７を参照し、この応答メッセージの宛先端末が加入しているグループを特定する。この実施例では、端末０１が加入しているグループａが特定される。そして、中継装置１は、デバイス定義情報から、特定したグループに提供可能なサービス以外のサービスの記述を削除する。そして、中継装置１は、この応答メッセージを端末０１へ送信する。
【００５７】
一例を示す。端末０２は、デバイス定義要求メッセージを受信すると、図８に示すデバイス定義情報を含む応答メッセージを中継装置１へ返送する。ここで、この応答メッセージの宛先端末（すなわち、端末０１）は、グループａに加入している。また、中継装置１は、アクセスポリシＤＢ１９を参照することにより、グループａに対してファックスサービスが許可されていないことを認識する。そうすると、中継装置１は、図８に示すデバイス定義情報において、グループａに対して許可されていないサービスの記述を削除する。すなわち、図８に示すデバイス定義情報から、グループａに対して許可されていないファックスサービスに係わる記述ｘ２が削除される。この結果、デバイス定義情報は、図１２に示す状態に変更される。そして、中継装置１は、図１２に示すデバイス定義情報を含む応答メッセージを端末０１へ送信する。すなわち、端末０１は、図１２に示すデバイス定義情報を受信する。
【００５８】
更に、端末０１は、受信したデバイス定義情報内にリストアップされている各サービスに係わるサービス定義情報を要求する。すなわち、端末０１は、サービス定義情報を要求するサービス定義要求メッセージを中継装置１へ送信する。そうすると、中継装置１は、このサービス定義要求メッセージを端末０２へ転送する。
【００５９】
端末０２は、サービス定義要求メッセージを受信すると、指定されたサービス定義情報を含む応答メッセージを作成して中継装置１へ返送する。中継装置１は、端末０２から応答メッセージを受信すると、必要に応じて、そのメッセージ中に含まれているサービス定義情報を変更する。例えば、中継装置１は、グループＤＢ１７を参照し、この応答メッセージの宛先端末が加入しているグループを特定する。そして、中継装置１は、サービス定義情報から、特定したグループに提供可能なアクション以外のアクションを定義する記述を削除する。そして、中継装置１は、この応答メッセージを端末０１へ送信する。
【００６０】
一例を示す。この実施例では、端末０１は、図１２に示すデバイス定義情報を受信することにより、端末０２がプリンタサービスを提供していることを認識する。そうすると、端末０１は、プリンタサービスに係わるサービス定義情報を端末０２に要求する。なお、端末０１は、端末０２がファックスサービスを提供していることを認識できない。
【００６１】
端末０２は、サービス定義要求メッセージを受信すると、図９に示すサービス定義情報を含む応答メッセージを中継装置１へ返送する。ここで、この応答メッセージの宛先端末（すなわち、端末０１）は、グループａに加入している。そうすると、中継装置１は、サービス定義情報中のアクセスポリシ記述を参照することにより、グループａに対して許可されていないアクションに係わる記述を削除する。すなわち、図９に示すサービス定義情報から、グループａに対して許可されていない記述ｙ１（すなわち、PowerOff動作に係わる記述）が削除される。このとき、中継装置１は、サービス定義情報中のアクセスポリシ記述を削除してもよい。この結果、サービス定義情報は、図１３に示す状態に変更される。そして、中継装置１は、図１３に示すサービス定義情報を含む応答メッセージを端末０１へ送信する。すなわち、端末０１は、図１３に示すサービス定義情報を受信する。
【００６２】
端末０１は、上述のようにして取得したデバイス定義情報およびサービス定義情報を利用して、端末０２に対してサービスを要求することができる。この場合、端末０１は、取得したデバイス定義情報およびサービス定義情報を利用して、サービス要求メッセージを中継装置１へ送信する。中継装置１は、このサービス要求メッセージを端末０２へ転送する。そうすると、端末０２は、サービス要求メッセージに応じてサービスを提供または実行する。さらに、端末０２は、応答メッセージを中継装置１へ送信し、中継装置１は、この応答メッセージを端末０１へ転送する。
【００６３】
なお、端末０１は、加入しているグループから離脱するときは、中継装置１へグループ離脱要求メッセージを送信する。そうすると、中継装置１において、グループＤＢ１７から端末０１が削除される。この後、中継装置１は、離脱成功を表す応答メッセージを端末０１へ返送する。そうすると、端末０１において、端末加入グループＤＢ２５からグループａに係わる情報が削除される。
【００６４】
このように、第１の実施形態においては、端末０１から送信される端末検索要求（Ｍ−ＳＥＡＲＣＨ）メッセージは、中継装置１により、端末０１と同じグループに属している端末のみに送信される。したがって、端末０１は、端末０１と同じグループに属しているデバイス端末の存在を検出できるが、端末０１と同じグループに属していないデバイス端末の存在を検出できない。すなわち、第１の実施形態に係わるネットワークシステムは、コントローラ端末に対して、そのコントローラ端末と同じグループに属していないデバイス端末の存在を隠すことができる。
【００６５】
また、第１の実施形態においては、デバイス／サービス定義情報要求メッセージに応じて端末０２から端末０１へデバイス定義情報／サービス定義情報が送信される際に、中継装置１は、デバイス定義情報／サービス定義情報から、上記要求メッセージの送信元端末が属しているグループに対して許可されていない記述を削除する。したがって、コントローラ端末は、そのコントローラ端末が属しているグループに対して許可されていない定義情報を取得できない。ここで、コントローラ端末は、取得した定義情報に係わるサービスのみを受けることができる。即ち、第１の実施形態に係わるネットワークシステムは、コントローラ端末が属するグループに対して許可されているサービスのみを、そのコントローラ端末に提供する。これにより、サービスを要求する端末の属性に応じて対応するサービスを提供するアクセス制御方式が実現される。
【００６６】
なお、図１１に示すシーケンスは、１つの実施例であり、本発明はこのシーケンスに限定されるものではない。例えば、デバイス端末は、端末検索要求に対してサービス毎に応答メッセージを返信してもよい。この場合、中継装置１は、端末検索要求の送信元端末が属しているグループに対して許可されていないサービス情報を含む応答メッセージを廃棄してもよい。
【００６７】
図１４は、グループ処理部２２の処理を示すフローチャートである。グループ処理部２２は、図２に示すように、端末（コントローラ端末またはデバイス端末）に設けられている。
【００６８】
Ｓ１において、グループ処理部２２は、イベントを検出する。イベントは、例えば、ユーザが端末を操作することにより、グループ処理部２２に与えられる。Ｓ２において、グループ処理部２２は、Ｓ１で検出したイベントの種別を判定する。そして、グループ処理部２２は、イベントの種別に対応する処理を実行する。
【００６９】
グループ情報要求イベントが検出されたときは、グループ処理部２２の処理は、Ｓ３へ移動する。Ｓ３において、グループ処理部２２は、グループ情報要求メッセージを生成して、そのメッセージを通信部２１に渡す。この場合、グループ情報要求メッセージは、通信部２１により中継装置１へ送信される。そうすると、中継装置１は、応答メッセージを返送する。この応答メッセージは、加入可能なグループを表すグループ情報応答（すなわち、加入可能グループ情報）を含んでいる。そして、この応答メッセージは、通信部２１により受信される。
【００７０】
Ｓ４において、グループ処理部２２は、通信部２１から応答メッセージを受け取り、その応答メッセージから加入可能グループ情報を抽出する。そして、Ｓ５において、グループ処理部２２は、加入可能グループ情報を端末の表示画面に表示する。この結果、表示画面には、この端末が加入することが可能なグループのリストが表示される。なお、端末が中継装置１に登録されていないときは、グループ処理部２２は、中継装置１から加入可能グループ情報を取得できない。或いは、グループ処理部２２は、加入可能なグループが存在しないことを表す情報を中継装置１から受信する。この場合、グループ処理部２２は、加入可能なグループが存在しない旨を表示する。
【００７１】
グループ加入要求イベントが検出されたときは、グループ処理部２２の処理は、Ｓ６へ移動する。なお、ユーザは、たとえば、Ｓ５で表示された加入可能グループ情報に基づいて、所望するグループを指定するものとする。
【００７２】
Ｓ６において、グループ処理部２２は、グループ加入要求メッセージを生成して通信部２１に渡す。グループ加入要求メッセージは、ユーザにより指定されたグループを識別するグループＩＤを含んでいる。そして、グループ加入要求メッセージは、通信部２１により中継装置１へ送信される。そうすると、中継装置１は、加入要求を許可するか否かを判定し、その判定結果を含む応答メッセージを返送する。この応答メッセージは、通信部２１により受信される。
【００７３】
Ｓ７〜Ｓ８において、グループ処理部２２は、通信部２１から応答メッセージを受け取り、その応答メッセージから加入要求についての判定結果を取得する。そして、グループ処理部２２は、加入要求についての判定結果を、表示画面に表示する。
【００７４】
Ｓ９において、グループ処理部２２は、加入要求についての判定結果を解析する。そして、ユーザにより指定されたグループへの加入が許可されたときは、グループ処理部２２は、Ｓ１４において、端末加入グループＤＢ２５を更新する。この場合、グループ処理部２２は、指定されたグループを表す情報（グループ名およびグループＩＤ等）を端末加入グループＤＢ２５に登録する。なお、指定されたグループへの加入が許可されなかったときは、Ｓ１４はスキップされる。
【００７５】
グループ離脱要求イベントが検出されたときは、グループ処理部２２の処理はＳ１０へ移動する。なお、ユーザは、たとえば、Ｓ５で表示された加入可能グループ情報に基づいて、離脱するグループを指定する。
【００７６】
Ｓ１０において、グループ処理部２２は、グループ離脱要求メッセージを生成して通信部２１に渡す。グループ離脱要求メッセージは、ユーザにより指定されたグループを識別するグループＩＤを含んでいる。そして、グループ離脱要求メッセージは、通信部２１により中継装置１へ送信される。そうすると、中継装置１は、離脱要求を許可するか否かを判定し、その判定結果を含む応答メッセージを返送する。この応答メッセージは、通信部２１により受信される。
【００７７】
Ｓ１１〜Ｓ１２において、グループ処理部２２は、通信部２１から応答メッセージを受け取り、その応答メッセージから離脱要求についての判定結果を取得する。そして、グループ処理部２２は、離脱要求についての判定結果を、表示画面に表示する。
【００７８】
Ｓ１３において、グループ処理部２２は、離脱要求についての判定結果を解析する。そして、ユーザにより指定されたグループからの離脱が許可されたときは、グループ処理部２２は、Ｓ１４において、端末加入グループＤＢ２５を更新する。この場合、グループ処理部２２は、指定されたグループを表す情報（グループ名およびグループＩＤ等）を端末加入グループＤＢ２５から削除する。なお、指定されたグループからの離脱が許可されなかったときは、Ｓ１４はスキップされる。
【００７９】
図１５は、中継装置の通信部１１の処理を示すフローチャートである。Ｓ２１〜Ｓ２２において、通信部１１は、端末からメッセージを受信すると、そのメッセージの種別を判定する。そして、通信部１１は、受信メッセージの種別に対応する処理を実行する。
【００８０】
グループ情報要求メッセージ、グループ加入要求メッセージ、またはグループ離脱要求メッセージを受信したときは、通信部１１の処理はＳ３へ移動する。この場合、通信部１１は、受信メッセージをグループ管理部１２に渡す。
【００８１】
マルチキャストメッセージ（例えば、端末検索要求メッセージ（Ｍ−ＳＥＡＲＣＨ））または端末検索要求の応答メッセージを受信したときは、通信部１１の処理はＳ４へ移動する。この場合、通信部１１は、受信メッセージをマルチキャストメッセージ処理部１３に渡す。なお、通信部１１は、コントローラ端末から端末検索要求メッセージ（Ｍ−ＳＥＡＲＣＨ）を受信する。また、通信部１１は、デバイス端末から端末検索要求の応答メッセージを受信する。
【００８２】
定義要求メッセージまたは定義要求メッセージの応答メッセージを受信したときは、通信部１１の処理はＳ５へ移動する。この場合、通信部１１は、受信メッセージを定義要求メッセージ処理部１４に渡す。なお、定義要求メッセージは、デバイス定義要求メッセージおよびサービス定義要求メッセージを含む。
【００８３】
その他のメッセージを受信したときには、通信部１１の処理はＳ６へ移動する。この場合、通信部１１は、受信メッセージをメッセージ処理部１５へ渡す。尚、通信部１１は、メッセージを受信する処理だけでなく、メッセージを送信する処理も実行する。ただし、メッセージを送信する処理については、説明を省略する。
【００８４】
図１６は、グループ管理部１２の処理を示すフローチャートである。グループ管理部１２は、図２に示すように、中継装置１に設けられている。
【００８５】
Ｓ３１〜Ｓ３２において、グループ管理部１２は、通信部１１を介して、端末から送信されたメッセージを受信する。ただし、図１５を参照しながら説明したように、グループ管理部１２は、グループ情報要求メッセージ、グループ加入要求メッセージ、またはグループ離脱要求メッセージを受信する。そして、グループ管理部１２は、受信メッセージの種別に対応する処理を実行する。
【００８６】
グループ情報要求メッセージを受信したときは、グループ管理部１２の処理は、Ｓ３３に移動する。Ｓ３３〜Ｓ３４において、グループ管理部１２は、グループ情報要求メッセージの送信元端末が端末ＤＢ１８に登録されているか否かを判定する。このとき、グループ管理部１２は、例えば、受信したグループ情報要求メッセージの送信元ＩＰアドレスで端末ＤＢ１８を検索することにより、Ｓ３３の判定を行う。
【００８７】
送信元端末が端末ＤＢ１８に登録されているときには、グループ管理部１２は、Ｓ３５において、グループ加入ポリシＤＢ１６を参照することにより、この端末に対応する加入可能グループ情報を抽出する。そして、グループ管理部１２は、この加入可能グループ情報を含む応答メッセージを、グループ情報要求メッセージの送信元端末へ送信する。
【００８８】
送信元端末が端末ＤＢ１８に登録されていないときは、グループ管理部１２は、Ｓ３６において、この端末が加入可能なグループが存在しないことを表す情報を含む応答メッセージする。そして、グループ管理部１２は、この応答メッセージを、グループ情報要求メッセージの送信元端末へ送信する。
【００８９】
グループ離脱要求メッセージを受信したときは、グループ管理部１２の処理は、Ｓ３７に移動する。ここで、グループ離脱要求メッセージは、離脱するグループを指定する情報を含んでいる。
【００９０】
Ｓ３７において、グループ管理部１２は、グループＤＢ１７において、指定されたグループに対応するレコード上に、グループ離脱要求メッセージの送信元端末が登録されているか否かを判定する。そして、この端末がグループＤＢ１７に登録されているときは、グループ管理部１２は、Ｓ３８において、グループＤＢ１７の対応するレコードからこの端末の端末ＩＤを削除する。さらに、グループ管理部１２は、Ｓ３９において、グループ離脱が成功したことを表す情報を含む応答メッセージを、グループ離脱要求メッセージの送信元端末へ送信する。一方、この端末がグループＤＢ１７に登録されていないときは、グループ管理部１２は、Ｓ４０において、グループ離脱失敗を表す情報を含む応答メッセージを、グループ離脱要求メッセージの送信元端末へ送信する。
【００９１】
グループ加入要求メッセージを受信したときは、グループ管理部１２の処理は、Ｓ４１に移動する。ここで、グループ加入要求メッセージは、加入するグループを指定する情報を含んでいる。
【００９２】
Ｓ４１〜Ｓ４２において、グループ管理部１２は、グループ加入ポリシＤＢ１６を参照することにより、指定されたグループに、グループ加入要求メッセージの送信元端末を加入させることを許可するか否かを判定する。そして、加入を許可する場合は、グループ管理部１２は、Ｓ４３において、この端末を識別する端末ＩＤをグループＤＢ１７の対応するレコードに登録する。さらに、グループ管理部１２は、Ｓ４４において、グループ加入に成功したことを表す情報を含む応答メッセージを、グループ加入要求メッセージの送信元端末へ送信する。一方、加入を許可しないときは、グループ管理部１２は、Ｓ４５において、グループ加入失敗を表す情報を含む応答メッセージを、グループ加入要求メッセージの送信元端末へ送信する。
【００９３】
図１７は、マルチキャストメッセージ処理部１３の処理を示すフローチャートである。マルチキャストメッセージ処理部１３は、図２に示すように、中継装置１に設けられている。
【００９４】
Ｓ５１において、マルチキャストメッセージ処理部１３は、端末からマルチキャストメッセージを受信する。マルチキャストメッセージには、予め指定された宛先ポート番号（すなわち、マルチキャストを表す値）が設定されている。なお、端末から送信される端末検索要求（Ｍ−ＳＥＡＲＣＨ）メッセージは、マルチキャストメッセージである。
【００９５】
Ｓ５２において、マルチキャストメッセージ処理部１３は、受信メッセージの送信元ＩＰアドレスで端末ＤＢ１８を参照することにより、このメッセージの送信元端末の端末ＩＤを取得する。
【００９６】
Ｓ５３において、マルチキャストメッセージ処理部１３は、取得した端末ＩＤでグループＤＢ１７を参照することにより、このメッセージの送信元端末が加入しているグループを特定する。以下の説明では、このようにして特定したグループを「グループＸ」と呼ぶことにする。すなわち、グループＸは、受信したマルチキャストメッセージの送信元端末が加入しているグループを表す。
【００９７】
Ｓ５４において、マルチキャストメッセージ処理部１３は、グループＤＢ１７を参照して、グループＸに加入している他の端末を特定する。すなわち、グループＸに加入している端末の中で、マルチキャストメッセージの送信元の端末を除く他の端末が特定される。Ｓ５５において、マルチキャストメッセージ処理部１３は、端末ＤＢ１８を参照して、Ｓ５４で特定された各端末のＩＰアドレスおよびポート番号をそれぞれ取得する。
【００９８】
Ｓ５６において、マルチキャストメッセージ処理部１３は、受信したマルチキャストメッセージと同じ内容のユニキャストメッセージを生成し、Ｓ５５で取得したＩＰアドレス／ポート番号へそのユニキャストメッセージをそれぞれ送信する。すなわち、グループＸに属している各端末に、ユニキャスト形式に変換されたメッセージが送信される。なお、マルチキャストメッセージの送信元端末が複数のグループに加入している場合は、各グループについてＳ５４〜Ｓ５６がそれぞれ実行される。ただし、複数のグループに加入しているデバイス端末に対しては、同じメッセージを繰り返し送信する必要はない。
【００９９】
Ｓ５７において、マルチキャストメッセージ処理部１３は、受信したマルチキャストメッセージが端末検索要求（Ｍ−ＳＥＡＲＣＨ）メッセージであるか否かを判定する。そして受信したマルチキャストメッセージがＭ−ＳＥＡＲＣＨメッセージであれば、マルチキャストメッセージ処理部１３の処理はＳ５８へ移動する。一方、受信したマルチキャストメッセージがＭ−ＳＥＡＲＣＨメッセージでなければ、マルチキャストメッセージ処理部１３の処理は終了する。
【０１００】
Ｍ−ＳＥＡＲＣＨメッセージを受信したデバイス端末は、中継装置１へ応答メッセージを返送する。ここで、Ｍ−ＳＥＡＲＣＨメッセージは、Ｓ５４〜Ｓ５６によって、グループＸに加入している端末のみに送信されている。したがって、グループＸに加入しているデバイス端末のみが、中継装置１へＭ−ＳＥＡＲＣＨ応答メッセージを返送する。このとき、デバイス端末は、端末の存在を表すＭ−ＳＥＡＲＣＨ応答メッセージを送信する。また、デバイス端末は、提供可能な各サービスについて、それぞれＭ−ＳＥＡＲＣＨ応答メッセージを送信する。この場合、応答メッセージのＳＴ（Search Target）フィールドには、サービスを識別するサービス種別情報が書き込まれる。
【０１０１】
したがって、マルチキャストメッセージ処理部１３は、Ｓ５８において、デバイス端末からＭ−ＳＥＡＲＣＨ応答メッセージを受信する。続いて、Ｓ５９〜Ｓ６０において、マルチキャストメッセージ処理部１３は、受信したＭ−ＳＥＡＲＣＨ応答メッセージのＳＴフィールドの値（すなわち、サービス種別情報）を取得する。そして、マルチキャストメッセージ処理部１３は、取得したＳＴフィールドの値でアクセスポリシＤＢ１９を参照することにより、Ｍ−ＳＥＡＲＣＨメッセージの送信元端末へサービス情報を提供してもよいか否かを判定する。例えば、Ｍ−ＳＥＡＲＣＨメッセージの送信元端末がグループａのみに加入しているものとする。また、中継装置１は、図６に示すアクセスポリシＤＢ１９を有しているものとする。この場合、プリンタサービスは許可されるが、ファックスサービスは許可されない。
【０１０２】
サービス情報の提供が許可されたときは、マルチキャストメッセージ処理部１３は、Ｓ６１において、そのサービス情報を含むＭ−ＳＥＡＲＣＨ応答メッセージを、Ｍ−ＳＥＡＲＣＨメッセージの送信元端末へ送信する。一方、サービス情報の提供が許可されなかったときは、マルチキャストメッセージ処理部１３は、Ｓ６２において、そのサービス情報を含むＭ−ＳＥＡＲＣＨ応答メッセージを廃棄する。なお、端末の存在を表すＭ−ＳＥＡＲＣＨ応答メッセージは、Ｍ−ＳＥＡＲＣＨメッセージの送信元端末へ送信される。
【０１０３】
また、Ｓ５９において、マルチキャストメッセージ処理部１３は、Ｍ−ＳＥＡＲＣＨ応答メッセージのＳＴフィールドにサービス種別情報が書き込まれているとき（すなわち、例えば、ＳＴフィールドが「service」という語句を含むとき）に、アクセスポリシＤＢ１９を参照する。そのＳＴフィールドに書き込まれているサービス種別情報がアクセスポリシＤＢ１９に登録されていれば、マルチキャストメッセージ処理部１３は、対応するアクセスポリシに従ってサービスの提供先を制限する。一方、Ｍ−ＳＥＡＲＣＨ応答メッセージのＳＴフィールドにサービス種別情報が書き込まれていないときは、マルチキャストメッセージ処理部１３は、サービスの提供先を制限することなく、そのＭ−ＳＥＡＲＣＨ応答メッセージをＭ−ＳＥＡＲＣＨメッセージの送信元の端末へ送信する。
【０１０４】
端末検索要求およびその応答についての実施例を説明する。以下の説明では、図１に示すネットワークシステムにおいて、コントローラ端末０１が端末検索要求を実行するものとする。
【０１０５】
図１８（ａ）は、コントローラ端末０１から送信される端末検索要求（Ｍ−ＳＥＡＲＣＨ）メッセージの内容の一部を示す。Hostフィールドの「239.yyy.255.250」は、Ｍ−ＳＥＡＲＣＨメッセージのマルチキャスト通信のためのＩＰアドレスを表す。また、Hostフィールドの「1900」は、マルチキャスト通信のためのポート番号を表する。さらに、ＳＴフィールドの「ssdp:all」は、サブネット内のすべての端末およびサービスを検索することを指定している。
【０１０６】
中継装置１は、端末ＤＢ１８およびグループＤＢ１７を参照して、このＭ−ＳＥＡＲＣＨメッセージの送信元端末（すなわち、コントローラ端末０１）が加入しているグループを特定する。これにより、グループａが特定される。続いて、中継装置１は、グループＤＢ１７を参照して、グループａに加入している端末（コントローラ端末０１を除く）を特定する。これにより、端末０２が検出される。そうすると、中継装置１は、端末ＤＢ１８を参照して、端末０２のＩＰアドレスおよびポート番号を取得する。図５に示す例では、「ＩＰアドレス：192.xxx.1.2」および「ポート番号：22222」が得られる。そして、中継装置１は、端末０２へ送信するユニキャスト形式のＭ−ＳＥＡＲＣＨメッセージを作成する。
【０１０７】
ユニキャストＭ−ＳＥＡＲＣＨメッセージの内容は、図１８（ｂ）に示すように、コントローラ端末０１から受信したＭ−ＳＥＡＲＣＨメッセージと同じである。ただし、ユニキャストＭ−ＳＥＡＲＣＨメッセージのHostフィールドには、端末ＤＢ１８から取得した端末０２のＩＰアドレスおよびポート番号が設定されている。そして、中継装置１は、このユニキャストＭ−ＳＥＡＲＣＨメッセージを端末０２へ送信する。なお、図１に示す端末０３は、グループａに加入していない。よって、中継装置１は、端末０３にはユニキャストＭ−ＳＥＡＲＣＨメッセージを送信しない。
【０１０８】
端末０２は、デバイス端末として動作することができる。よって、端末０２は、ユニキャストＭ−ＳＥＡＲＣＨメッセージに対応するＭ−ＳＥＡＲＣＨ応答メッセージを中継装置１へ返送する。このとき、端末０２は、端末０２の存在を通知するＭ−ＳＥＡＲＣＨ応答メッセージ、および提供可能なサービスの存在を通知するＭ−ＳＥＡＲＣＨ応答メッセージを中継装置１へ送信する。ここで、端末０２は、下記の２つのサービスを提供することができる。
プリンタサービス（urn:xxx-zzz:service:PrinterSevice:1）
ファックスサービス（urn:xxx-zzz:service:FaxSevice:1）
【０１０９】
サービスの存在を通知するＭ−ＳＥＡＲＣＨ応答メッセージは、サービス毎に生成される。すなわち、端末０２は、プリンタサービスの存在を通知するＭ−ＳＥＡＲＣＨ応答メッセージおよびファックスサービスの存在を通知するＭ−ＳＥＡＲＣＨ応答メッセージをそれぞれ中継装置１へ送信する。例えば、図１９は、プリンタサービスの存在を通知するＭ−ＳＥＡＲＣＨ応答メッセージの内容の一部を示す。このとき、Ｍ−ＳＥＡＲＣＨ応答メッセージのＳＴフィールドには、サービスを識別する情報が設定される。
【０１１０】
中継装置１は、端末０２から送信されるＭ−ＳＥＡＲＣＨ応答メッセージをコントローラ端末０１へ転送してもよいか否かを判定する。例えば、プリンタサービスは、図６に示すように、グループａに対して許可されている。したがって、中継装置１は、プリンタサービスの存在を通知するＭ−ＳＥＡＲＣＨ応答メッセージをコントローラ端末０１へ転送する。一方、ファックスサービスは、図６に示すように、グループａに対して許可されていない。よって、中継装置１は、ファックスサービスの存在を通知するＭ−ＳＥＡＲＣＨ応答メッセージを、コントローラ端末０１へ転送することなく廃棄する。よって、コントローラ端末０１は、プリンタサービスの存在を検知するが、ファックスサービスの存在を検知できない。なお、端末０２の存在を通知するＭ−ＳＥＡＲＣＨ応答メッセージは、コントローラ端末０１へ転送される。
【０１１１】
図２０は、定義要求メッセージ処理部１４の処理を示すフローチャートである。定義要求メッセージ処理部１４は、図２に示すように、中継装置１に設けられている。
【０１１２】
Ｓ７１において、定義要求メッセージ処理部１４は、端末から送信される定義要求メッセージ（HTTP GETメッセージ）を受信する。なお、定義要求メッセージは、デバイス定義要求メッセージまたはサービス定義要求メッセージである。
【０１１３】
Ｓ７２において、定義要求メッセージ処理部１４は、Ｓ７１で受信した定義要求メッセージのHostフィールドを参照する。Hostフィールドには、宛先のホスト名が設定されている。Ｓ７３において、定義要求メッセージ処理部１４は、このホスト名に対応するＩＰアドレスを端末ＤＢ１８から取得する。そして、Ｓ７４において、定義要求メッセージ処理部１４は、受信した定義要求メッセージを、Ｓ７３で取得したＩＰアドレスへ送信する。
【０１１４】
定義要求メッセージを受信したデバイス端末は、応答メッセージを中継装置１へ返送する。この応答メッセージは、要求された定義情報（デバイス定義情報またはサービス定義情報）を含んでいる。そして、定義要求メッセージ処理部１４は、Ｓ７５において、デバイス端末から送信される応答メッセージを受信する。
【０１１５】
Ｓ７６において、定義要求メッセージ処理部１４は、アクセスポリシＤＢ１９を参照して、デバイス端末から受信した定義情報内に、定義要求メッセージの送信元端末に提供できない記述が含まれているか判定する。定義情報が許可されていない記述を含んでいるときは、定義要求メッセージ処理部１４は、定義情報から、その許可されていない記述を削除する。
【０１１６】
Ｓ７７において、定義要求メッセージ処理部１４は、定義要求メッセージの送信元端末に応答メッセージを送信する。Ｓ７６において削除処理が実行されたときは、許可されていない記述が削除された定義情報が定義要求メッセージの送信元端末に送信される。
【０１１７】
次に、コントローラ端末がデバイス端末に対して定義情報を要求する手順の実施例を説明する。以下の説明では、コントローラ端末０１は、端末検索手順において、デバイス端末０２から図１９に示すＭ−ＳＥＡＲＣＨ応答メッセージを受信しているものとする。
【０１１８】
コントローラ端末０１は、デバイス定義要求メッセージ（HTTP GETメッセージ）を生成してデバイス端末０２へ送信する。このとき、図１９に示すＭ−ＳＥＡＲＣＨ応答メッセージのLocationフィールドに設定されているＵＲＬが指定される。このＵＲＬは、デバイス定義情報を格納する場所を指定する。生成されるデバイス定義要求メッセージの一例を図２１に示す。
【０１１９】
このデバイス定義要求メッセージは、中継装置１により転送され、デバイス端末０２により受信される。そうすると、デバイス端末０２は、図８に示すデバイス定義情報を含む応答メッセージを中継装置１へ返送する。
【０１２０】
中継装置１は、デバイス定義情報において<serviceType>タグをサーチして、そのタグに記述されているサービス種別情報を取得する。そして、中継装置１は、取得したサービス種別情報でアクセスポリシＤＢ１９を参照する。この例では、図６に示すように、プリンタサービスはグループａ、ｂに対して許可されているが、ファックスサービスはグループｂのみに許可されている。一方、コントローラ端末０１は、グループａのみに加入している。したがって、中継装置１は、コントローラ端末０１に対してプリンタサービスを許可するが、ファックスサービスを許可しないと判定する。
【０１２１】
この場合、中継装置１は、デバイス定義情報において、ファックスサービスに係わる記述ｘ２（<service>から</service>まで）を削除する。この結果、デバイス定義情報は図１２に示す状態に処理される。そして、中継装置１は、このように処理されたデバイス定義情報を含む応答メッセージをコントローラ端末０１へ送信する。
【０１２２】
図２２は、メッセージ処理部１５の処理を示すフローチャートである。メッセージ処理部１５は、図２に示すように、中継装置１に設けられている。
【０１２３】
Ｓ８１において、メッセージ処理部１５は、端末からメッセージを受信する。受信メッセージは、たとえば、サービス／アクションの実行を要求する要求メッセージである。Ｓ８２において、メッセージ処理部１５は、要求メッセージのHostフィールドの値を参照する。Ｓ８３において、メッセージ処理部１５は、Hostフィールドの値に対応するＩＰアドレスを端末ＤＢ１８から取得する。そして、Ｓ８４において、メッセージ処理部１５は、Ｓ８３で取得したＩＰアドレスへ要求メッセージを送信する。この要求メッセージを受信したデバイス端末は、対応する処理を実行する。そして、デバイス端末は、中継措置１へ応答メッセージを返送するものとする。
【０１２４】
Ｓ８５において、メッセージ処理部１５は、デバイス端末から送信される応答メッセージを受信する。そして、Ｓ８６において、メッセージ処理部１５は、要求メッセージの送信元端末へ、その応答メッセージを転送する。
【０１２５】
＜第２の実施形態＞
図２３は、第２の実施形態に係わるネットワークシステムの一例を示す。ネットワークシステムは、グループ管理装置（中継サーバ）２を有する。また、この実施例では、ネットワークシステムには、３台の端末０１〜０３が接続されている。
【０１２６】
第２の実施形態では、各端末は、自分と同じグループに加入している他の端末を把握している。したがって、デバイス端末は、コントローラ端末から端末検索要求メッセージを受信したとき、そのコントローラ端末が自分と同じグループに加入しているか否かを判定できる。そして、デバイス端末は、コントローラ端末が自分と同じグループに加入していないときは、受信した端末検索要求メッセージに対して応答メッセージを返送しない。よって、デバイス端末は、このコントローラ端末に対して、自分の存在または提供可能なサービスの存在を隠すことができる。
【０１２７】
また、デバイス端末は、コントローラ端末が自分と同じグループに加入している場合であっても、そのグループに対して許可されていない情報を送信しないようにメッセージを制御することができる。例えば、定義情報（デバイス定義情報、サービス定義情報など）の提供先が制限されている場合、状態変数等の開示先が制限されている場合は、デバイス端末は、コントローラ端末からのアクセスをグループ毎に制御することができる。
【０１２８】
図２４は、グループ管理装置、コントローラ端末、デバイス端末の機能を説明する図である。グループ管理装置２とコントローラ端末０１との間の無線リンク、およびグループ管理装置２とデバイス端末０２との間の無線リンクは、必要に応じて設定される。
【０１２９】
グループ管理装置２は、通信部１１、グループ管理部４１、グループ加入ポリシＤＢ１６、グループＤＢ１７、端末ＤＢ４２を有する。なお、グループ管理装置２に設けられる通信部１１、グループ加入ポリシＤＢ１６、グループＤＢ１７は、第１の実施形態の中継装置１に設けられている対応する要素と実質的に同じなので、説明を省略する。
【０１３０】
グループ管理部４１は、第１の実施形態のグループ管理部１２と類似しているが、幾つかの異なる機能を有している。グループ管理部４１の処理は、後でフローチャートを参照し説明する。端末ＤＢ４２には、図２５に示すように、サブネット内に存在する各端末のＩＰアドレスが格納されている。なお、端末ＤＢ４２は、図５に示す第１の実施形態の端末ＤＢ１８と同じ構成であってもよい。
【０１３１】
第２の実施形態のコントローラ端末は、通信部２１、メッセージ処理部２３、サービス要求処理部２４、デバイス／サービスＤＢ２６、グループ処理部５１、マルチキャスト制御部５２、グループＤＢ５３、端末ＤＢ５４を有する。通信部２１、メッセージ処理部２３、サービス要求処理部２４、デバイス／サービスＤＢ２６は、第１の実施形態のコントローラ端末に設けられている対応する要素と実質的に同じなので、説明を省略する。
【０１３２】
グループ処理部５１は、指定されたグループへの加入または指定されたグループからの離脱をグループ管理装置２に要求する。そして、グループ処理部５１は、その要求に対する応答に基づいてグループＤＢ５３を更新する。また、グループ処理部５１は、自分が加入しているグループに端末が追加されたとき、またはそのグループから端末が離脱したときは、グループＤＢ５３を更新する。
【０１３３】
マルチキャスト制御部５２は、受信したマルチキャストメッセージ（端末検索要求メッセージを除く）の送信元端末が、自分と同じグループに加入しているか否かを判定する。送信元端末が自分と同じグループに加入しているときは、マルチキャスト制御部５２は、その受信メッセージをメッセージ処理部２３に渡す。一方、送信元端末が自分と同じグループに加入していないときは、マルチキャスト制御部５２は、その受信メッセージを廃棄する。
【０１３４】
グループＤＢ５３は、自端末が加入している各グループ内に存在する端末を管理する。例えば、端末０１がグループａに加入すると、グループ処理部５１は、グループＤＢ５１にグループａに対応するレコードを生成する。したがって、グループＤＢ５１は、第１の実施形態の加入端末グループＤＢ２５と同様に機能を実現し得る。また、グループａに他の端末が加入しているときは、グループ処理部５１は、グループ管理装置２からの通知に基づいて、グループＤＢ５１内のグループａに対応するレコードに、その端末の端末ＩＤを登録する。
【０１３５】
端末ＤＢ５４は、グループ管理装置２に設けられている端末ＤＢ５４と実質的に同じである。ただし、端末に設けられる端末ＤＢ５４には、その端末が加入しているグループ内の端末のＩＰアドレスのみが格納されるようにしてもよい。
【０１３６】
第２の実施形態のデバイス端末は、図２４に示すように、通信部３１、メッセージ処理部３２、サービス実行部３３、デバイス定義格納部３４、サービス定義格納部３５、マルチキャスト制御部６１、サービスアクセス制御部６２、グループＤＢ６３、端末ＤＢ６４を有する。また、図示しないが、デバイス端末は、コントローラ端末と同様に、グループ処理部５１を有している。なお、通信部３１、メッセージ処理部３２、サービス実行部３３、デバイス定義格納部３４、サービス定義格納部３５は、第１の実施形態のデバイス端末に設けられている対応する要素と実質的に同じなので、説明を省略する。
【０１３７】
マルチキャスト制御部６１は、受信したマルチキャストメッセージ（端末検索要求メッセージを含む）の送信元端末が、自分と同じグループに加入しているか否かを判定する。送信元端末が自分と同じグループに加入しているときは、マルチキャスト制御部６１は、その受信メッセージをメッセージ処理部３２に渡す。一方、送信元端末が同じグループが自分と同じグループに加入していないときは、マルチキャスト制御部６１は、その受信メッセージを廃棄する。
【０１３８】
サービスアクセス制御部６２は、端末検索要求および定義情報要求に対して必要な処理を実行する。例えば、端末検索要求に対する応答メッセージが、端末検索要求の送信元端末が加入しているグループに対して許可されていないサービスに係わる情報を含むときには、サービスアクセス制御部６２は、その応答メッセージを送信することなく廃棄する。また、定義情報要求に対応する定義情報が、定義情報要求の送信元端末が加入しているグループに対して許可されていない記述を含むときは、サービスアクセス制御部６２は、定義情報からその許可されていない記述を削除する。
【０１３９】
グループＤＢ６３は、グループ管理装置２に設けられているグループＤＢ１７またはコントローラ端末に設けられているグループＤＢ５３と実質的に同じである。また、端末ＤＢ６４は、グループ管理装置２に設けられている端末ＤＢ４２またはコントローラ端末に設けられている端末ＤＢ５４と実質的に同じである。
【０１４０】
図２６は、第２の実施形態におけるグループ加入手順の一例を示す。ここでは、図２３に示す端末０１〜０３がそれぞれ対応する１または複数のグループに加入しているものとする。また、グループ管理装置２は、図３に示すグループ加入ポリシＤＢ１６を有している。
【０１４１】
第２の実施形態におけるグループ加入手順は、図１０に示す第１の実施形態の手順と類似している。例えば、端末０１がグループ管理装置２にグループ情報を要求する手順、および端末０１がグループａを指定してグループ加入要求をグループ管理装置１へ送信する手順は、図１０に示す第１の実施形態と実質的に同じである。
【０１４２】
ただし、第２の実施形態においては、あるグループの構成が変化すると、そのグループ内に加入している各端末にその変化が通知される。たとえば、端末０２は、図２６に示すように、グループａへの加入を要求するグループ加入要求をグループ管理装置２へ送信する。このとき、グループａには、既に端末０１が加入している。このため、端末０２に送信されるグループ加入応答により、既にグループａに加入している端末０１の情報が通知される。さらに、グループ管理装置２は、グループ変更通知を用いて、グループａに端末０２が加入したことを端末０１に通知する。したがって、各端末は、それぞれ自分が加入しているグループ内に加入している他の端末を認識することができる。
【０１４３】
図２７は、第２の実施形態におけるサービス要求手順の一例を示す。この例では、端末０１が端末０２に対してサービスを要求するものとする。なお、端末０１は、図２６に示す手順によりグループａに加入しているが、グループｂには加入していない。また、端末０２はグループａおよびグループｂに加入しており、端末０３はグループｂのみに加入している。
【０１４４】
端末０１は、端末検索要求（Ｍ−ＳＥＡＲＣＨ）メッセージをグループ管理装置２へ送信する。このＭ−ＳＥＡＲＣＨメッセージは、マルチキャストメッセージである。なお、グループ管理装置２は、図２６を参照しながら説明したグループ管理機能に加えて、端末間でメッセージを中継する中継サーバ機能を提供する。
【０１４５】
グループ管理装置２は、端末０１からＭ−ＳＥＡＲＣＨメッセージを受信すると、第１の実施形態の中継装置１とは異なり、このＭ−ＳＥＡＲＣＨメッセージをサブネット内のすべての端末へマルチキャスト転送する。したがって、このＭ−ＳＥＡＲＣＨメッセージは、図２７に示すように、端末０２および端末０３によって受信される。
【０１４６】
端末０２は、グループＤＢ６３を参照してＭ−ＳＥＡＲＣＨメッセージの送信元端末が加入しているグループを検出する。この実施例では、Ｍ−ＳＥＡＲＣＨメッセージの送信元端末（すなわち、端末０１）がグループａに加入していることを検出する。ここで、端末０２もグループａに加入している。したがって、端末０２は、Ｍ−ＳＥＡＲＣＨ応答メッセージをグループ管理装置２へ返送する。そして、グループ管理装置２は、このＭ−ＳＥＡＲＣＨ応答メッセージを端末０１へ転送する。この結果、端末０１は、同じグループに加入している端末０２の存在を認識する。
【０１４７】
一方、端末０３は、グループａに加入していない。この場合、端末０３は、Ｍ−ＳＥＡＲＣＨ応答メッセージを返送することなく、受信したＭ−ＳＥＡＲＣＨメッセージを廃棄する。したがって、端末０１は、端末０３の存在を認識できない。
【０１４８】
なお、Ｍ−ＳＥＡＲＣＨメッセージを受信したデバイス端末は、Ｍ−ＳＥＡＲＣＨ応答メッセージを返送するか否かをサービス毎に制御してもよい。例えば、端末０２は、グループａに対して許可されているプリンタサービスが存在することを表すＭ−ＳＥＡＲＣＨ応答メッセージを送信し、グループａに対して許可されていないファックスサービスが存在することを表すＭ−ＳＥＡＲＣＨ応答メッセージを送信しないようにしてもよい。
【０１４９】
続いて、端末０１は、第１の実施形態と同様に、端末０２のデバイス定義情報を要求するデバイス定義要求メッセージをグループ管理装置２へ送信する。そうすると、グループ管理装置２は、このデバイス定義要求メッセージを端末０２へ転送する。
【０１５０】
端末０２は、デバイス定義要求メッセージを受信すると、端末０２のデバイス定義情報を含む応答メッセージを作成してグループ管理装置２へ送信する。このとき、端末０２はグループ対応処理を実行する。すなわち、端末０２は、デバイス定義要求メッセージの送信元端末が加入しているグループを検出する。この実施例では、デバイス定義要求メッセージの送信元端末（即ち、端末０１）がグループａに加入していることが検出される。この場合、端末０２は、端末０２のデバイス定義情報から、グループａに対して許可されていない記述を削除する。そして、端末０２は、グループ対応処理後のデバイス定義情報を含む応答メッセージをグループ管理装置２へ送信する。グループ管理装置２は、この応答メッセージを端末０１へ転送する。
【０１５１】
したがって、端末０１には、端末０１が加入しているグループに対して許可されている情報のみが提供される。すなわち、デバイス端末（ここでは、端末０２）は、デバイス定義要求メッセージの送信元端末の属性に応じて、提供する情報を制限することができる。
【０１５２】
この後、端末０１は、受信したデバイス定義情報内にリストアップされている各サービスに係わるサービス定義情報を要求する。なお、サービス定義要求の手順は、デバイス定義要求と類似しているので、説明を省略する。
【０１５３】
端末０１は、上述のようにして取得したデバイス定義情報およびサービス定義情報を利用して、端末０２に対してサービス／アクションの実行を要求することができる。この場合、端末０１は、取得したデバイス定義情報およびサービス定義情報を利用して、サービス要求メッセージをグループ管理装置２へ送信する。グループ管理装置２は、このサービス要求メッセージを端末０２へ転送する。そうすると、端末０２は、サービス要求メッセージに応じてサービスを提供または実行する。さらに、端末０２は、応答メッセージをグループ管理装置２を介して端末０１へ転送する。
【０１５４】
なお、端末０１は、加入しているグループから離脱するときは、グループ管理装置２へグループ離脱要求メッセージを送信する。そうすると、グループ管理装置２において、グループＤＢ１７から端末０１が削除される。この後、中継装置１は、離脱成功を表す応答メッセージを端末０１へ返送する。そうすると、端末０１において、グループＤＢ５３からグループａに係わる情報が削除される。
【０１５５】
さらに、グループ管理装置２は、グループａの構成が変化したことをグループａ内の各端末に通知する。この例では、グループ管理装置２は、グループ変更通知を用いて、グループａから端末０１が離脱したことを端末０２に通知する。
【０１５６】
このように、第２の実施形態においては、デバイス端末は、端末検索要求の送信元端末が自分と同じグループに加入していないときは、応答メッセージを返送しない。よって、第２の実施形態に係わるネットワークシステムは、コントローラ端末に対して、そのコントローラ端末と同じグループに属していないデバイス端末の存在を隠すことができる。
【０１５７】
また、第２の実施形態においては、デバイス端末は、定義情報要求メッセージの送信元端末に対して許可されていない記述を、デバイス定義情報／サービス定義情報から削除する。即ち、コントローラ端末には、そのコントローラ端末が加入しているグループに対して許可されているデバイス定義情報／サービス定義情報のみが提供される。これにより、サービスを要求する端末の属性に応じて対応するサービスを提供するアクセス制御方式が実現される。
【０１５８】
図２８は、グループ処理部５１の処理を示すフローチャートである。グループ処理部５１は、図２４に示すように、端末（コントローラ端末またはデバイス端末）に設けられている。
【０１５９】
第２の実施形態のグループ処理部５１の処理（Ｓ１〜Ｓ１４）は、実質的に第１の実施形態と同じである。すなわち、グループ処理部５１は、指定されたグループへの加入要求および指定されたグループからの離脱要求などに係わる処理を実行する。なお、第２の実施形態においては、Ｓ１４において、グループＤＢ（５３または６３）が更新される。
【０１６０】
第２の実施形態においては、グループ処理部５１は、グループ管理装置２からグループ変更通知を受信したときは、Ｓ１５の処理を実行する。Ｓ１５において、グループ処理部５１は、受信したグループ変更通知に応じてグループＤＢ５３を更新する。例えば、図２６に示す例では、端末０２がグループａに加入したときに、グループ管理装置２から端末０１へグループ変更通知が送信される。この場合、端末０１において、グループ処理部５１は、グループａに対応するレコードに端末０２を登録する。この後、グループ処理部５１は、グループ管理装置２へ応答メッセージを送信してもよい。
【０１６１】
図２９は、第２の実施形態のグループ管理部４１の処理を示すフローチャートである。グループ管理部４１は、図２４に示すように、グループ管理装置２に設けられている。
【０１６２】
第２の実施形態のグループ処理部４１の処理（Ｓ３１〜Ｓ４５）は、実質的に第１の実施形態と同じである。すなわち、グループ処理部４１は、グループ加入要求において指定されたグループへの加入、およびグループ離脱要求において指定されたグループからの離脱に係わる処理などを実行する。
【０１６３】
ただし、Ｓ３８〜Ｓ３９において離脱処理が実行されたときは、グループ管理部４１の処理はＳ４６へ移動する。Ｓ４６において、グループ管理部４１は、端末離脱が実行されたグループ内の端末へグループ変更通知を送信する。例えば、図２７に示す実施例において、端末０１がグループａから離脱したときは、グループ管理部４１は、グループａに加入している端末へグループ変更通知を送信する。この場合、グループａから端末０１が離脱したことを表すグループ変更通知が端末０２へ送信される。
【０１６４】
また、Ｓ４３〜Ｓ４４において加入処理が実行されたときは、グループ管理部４１の処理はＳ４７へ移動する。Ｓ４７において、グループ管理部４１は、端末加入が実行されたグループ内の端末へグループ変更通知を送信する。たとえば、図２７に示す実施例において、端末０２がグループａに加入したときは、グループ管理部４１は、グループａに先に加入している端末へグループ変更通知を送信する。この場合、グループａに端末０２が加入したことを表すグループ変更通知が端末０１へ送信される。
【０１６５】
図３０は、第２の実施形態において端末に設けられている通信部の処理を示すフローチャートである。この端末は、コントローラ端末に設けられている通信部２１またはデバイス端末に設けられている通信部３１に相当する。なお、図３０は、端末が無線リンクを介してメッセージを受信したときの処理を示している。
【０１６６】
Ｓ９１〜Ｓ９２において、通信部は、受信メッセージの種別を検出する。通信部の処理は、受信メッセージの種別に応じて決定される。
【０１６７】
端末がマルチキャストメッセージを受信したときは、通信部は、Ｓ９３において、そのメッセージをマルチキャスト制御部６１（コントローラ端末０１においては、マルチキャスト制御部５２）に渡す。端末がサービス要求メッセージを受信したときは、通信部は、Ｓ９４において、そのメッセージをサービス実行部３３に渡す。端末が定義要求メッセージ（デバイス定義要求メッセージ、サービス定義要求メッセージを含む）を受信したときは、通信部は、Ｓ９５において、そのメッセージをメッセージ処理部３２に渡す。端末がグループ情報要求、グループ加入要求またはグループ離脱要求に対する応答メッセージを受信したときは、通信部は、Ｓ９６において、そのメッセージをグループ処理部５１に渡す。端末が他のメッセージを受信したときは、通信部は、Ｓ９７において、そのメッセージをメッセージ処理部３２（コントローラ端末０１においては、メッセージ処理部２３）に渡す。なお、メッセージ処理部２３、３２は、例えば、ＵＰｎＰ標準に基づいてメッセージを処理する。
【０１６８】
図３１は、マルチキャスト制御部６１の処理を示すフローチャートである。マルチキャスト制御部６１は、例えば、図２４に示すように、デバイス端末において動作する。
【０１６９】
Ｓ１０１において、マルチキャスト制御部６１は、他の端末から送信されたマルチキャストメッセージを受信する。なお、コントローラ端末から送信される端末検索要求（Ｍ−ＳＥＡＲＣＨ）メッセージは、マルチキャストメッセージである。
【０１７０】
Ｓ１０２において、マルチキャスト制御部６１は、受信メッセージの送信元ＩＰアドレスで端末ＤＢ６４を参照することにより、このメッセージの送信元端末の端末ＩＤを特定する。
【０１７１】
Ｓ１０３において、マルチキャスト制御部６１は、特定した端末ＩＤでグループＤＢ６３を参照することにより、このメッセージの送信元端末が加入しているグループを特定する。以下の説明では、このようにして特定したグループを「グループＸ」と呼ぶことにする。すなわち、グループＸは、受信したマルチキャストメッセージの送信元の端末が加入しているグループを表す。
【０１７２】
Ｓ１０４〜Ｓ１０５において、マルチキャスト制御部６１は、グループＤＢ６３を参照して、自端末がグループＸに加入しているか否かを判定する。すなわち、マルチキャストメッセージの送信元端末および自端末が、同じグループに属しているか判定される。
【０１７３】
自端末がグループＸに加入しているときは、マルチキャスト制御部６１は、Ｓ１０６において、受信したマルチキャストメッセージをメッセージ処理部３２に渡す。一方、自端末がグループＸに加入していないときは、マルチキャスト制御部６１は、Ｓ１０７において、受信したマルチキャストメッセージを廃棄する。
【０１７４】
メッセージ処理部３２は、特に図示しないが、ＵＰｎＰ標準に基づいてメッセージを処理することができる。例えば、端末検索要求（Ｍ−ＳＥＡＲＣＨ）メッセージを受信すると、メッセージ処理部３２は、応答メッセージ（Ｍ−ＳＥＡＲＣＨ応答メッセージ）を生成する。このとき、メッセージ処理部３２は、端末の存在を通知する応答メッセージおよび提供可能なサービスの存在を通知する応答メッセージを生成することができる。また、定義要求を受信すると、メッセージ処理部３２は、対応する定義情報（デバイス定義情報またはサービス定義情報）を含む応答メッセージを生成することができる。
【０１７５】
図３２は、サービスアクセス制御部６２の処理を示すフローチャートである。サービスアクセス制御部６２は、例えば、図２４に示すように、デバイス端末において動作する。
【０１７６】
Ｓ１１１〜Ｓ１１２において、サービスアクセス制御部６２は、メッセージ処理部３２から受信するメッセージの種別を検出する。サービスアクセス制御部６２の処理は、受信したメッセージの種別に応じて決定される。
【０１７７】
端末検索要求に対する応答メッセージ（即ち、Ｍ−ＳＥＡＲＣＨ応答メッセージ）を受信したときは、サービスアクセス制御部６２の処理はＳ１１３へ移動する。Ｓ１１３〜Ｓ１１４において、サービスアクセス制御部６２は、Ｍ−ＳＥＡＲＣＨメッセージの送信元端末へＭ−ＳＥＡＲＣＨ応答メッセージを送信するか否かを判定する。このとき、サービスアクセス制御部６２は、端末ＤＢ６４を参照して、Ｍ−ＳＥＡＲＣＨ応答メッセージの宛先ＩＰアドレス（すなわち、Ｍ−ＳＥＡＲＣＨメッセージの送信元ＩＰアドレス）から対応する端末ＩＤを特定する。また、サービスアクセス制御部６２は、グループＤＢ６３を参照して、この端末ＩＤにより識別される端末が加入しているグループを特定する。そして、サービスアクセス制御部６２は、デバイス定義情報内に記述されているアクセスポリシに基づいて、特定したグループに対して応答メッセージを送信してもよいか否かを判定する。すなわち、Ｍ−ＳＥＡＲＣＨメッセージの送信元端末に対して応答メッセージを送信してもよいか否かが判定される。この判定は、提供可能なサービス毎（すなわち、デバイス定義情報にリストアップされているサービス毎）に実行される。
【０１７８】
Ｍ−ＳＥＡＲＣＨメッセージの送信元端末に対して情報の提供が許可されているときには、サービスアクセス制御部６２は、Ｓ１１５において、その送信元端末へＭ−ＳＥＡＲＣＨ応答メッセージを送信する。一方、Ｍ−ＳＥＡＲＣＨメッセージの送信元端末に対して情報の提供が許可されていないときは、サービスアクセス制御部６２は、Ｓ１１６において、Ｍ−ＳＥＡＲＣＨ応答メッセージを送信することなく廃棄する。
【０１７９】
定義要求に対する応答メッセージを受信したときは、サービスアクセス制御部６２の処理はＳ１１７へ移動する。Ｓ１１７において、サービスアクセス制御部６２は、応答メッセージに含まれている定義情報（デバイス定義情報またはサービス定義情報）を、定義要求の送信元端末に提供できるか否かを判定する。このとき、サービスアクセス制御部６２は、端末ＤＢ６４を参照して、定義情報を含む応答メッセージの宛先ＩＰアドレス（すなわち、定義要求の送信元ＩＰアドレス）から対応する端末ＩＤを特定する。また、サービスアクセス制御部６２は、グループＤＢ６３を参照して、この端末ＩＤにより識別される端末が加入しているグループを特定する。さらに、サービスアクセス制御部６２は、デバイス定義情報内に記述されているアクセスポリシに基づいて、特定したグループに対して定義情報を提供してもよいか判定する。すなわち、定義要求の送信元端末に対して定義情報を提供してもよいか否かが判定される。この判定は、提供可能なサービス毎（即ち、デバイス定義情報のリストアップされているサービス毎）に実行される。そして、提供することが許可されていない記述が定義情報中に含まれているときは、サービスアクセス制御部６２は、定義情報からその記述を削除する。
【０１８０】
Ｓ１１８において、サービスアクセス制御部６２は、要求された定義情報を含む応答メッセージを、定義要求の送信元端末へ送信する。なお、この応答メッセージ中の定義情報からは、定義要求の送信元の端末に対して許可されていない記述は削除されている。
【０１８１】
次に、端末検索要求およびその応答についての実施例を説明する。以下の説明では、図２３に示すネットワークシステムにおいて、コントローラ端末０１が端末検索要求を実行するものとする。
【０１８２】
デバイス端末０２は、デバイス定義格納部３４に図３３に示すデバイス定義情報を有するものとする。この実施例では、デバイス端末０２は、２つのサービス（プリンタサービスおよびファックスサービス）を提供することができる。また、デバイス定義情報において、提供可能なサービス毎に、アクセスポリシが記述されている。したがって、サービス毎に提供先を制限することができる。この例では、プリンタサービスはグループａおよびグループｂに対して許可されており、ファックスサービスはグループｂのみに許可されている。なお、図３３に示す例では、アクセスポリシは、ＸＭＬコメントで記述されているが、他の方法で記述してもよい。例えば、アクセスポリシを記述するために新たなタグを定義してもよい。
【０１８３】
コントローラ端末０１は、端末検索要求（Ｍ−ＳＥＡＲＣＨ）メッセージをグループ管理装置２へ送信する。Ｍ−ＳＥＡＲＣＨメッセージは、図１８（ａ）に示すように、サブネット内のすべての端末およびサービスを検索するものとする。また、このＭ−ＳＥＡＲＣＨメッセージは、マルチキャストメッセージである。よって、このＭ−ＳＥＡＲＣＨメッセージは、第１の実施形態とは異なり、サブネット内のすべての端末へ転送される。
【０１８４】
各端末は、それぞれグループＤＢ（５３、６３）を有している。よって、Ｍ−ＳＥＡＲＣＨメッセージを受信した各端末は、そのＭ−ＳＥＡＲＣＨメッセージの送信元がコントローラ端末０１であること、及びコントローラ端末０１がグループａに参加していることを認識する。
【０１８５】
端末０３は、グループｂに加入しているが、グループａには加入していない。即ち、コントローラ端末０１および端末０３は、同じグループに属していない。したがって、端末０３は、コントローラ端末０１から送信されたＭ−ＳＥＡＲＣＨメッセージに対して応答メッセージを返送しない。この結果、コントローラ端末０１は、端末０３の存在を検出できない。
【０１８６】
端末０２は、グループａおよびグループｂに加入している。即ち、コントローラ端末０１および端末０３は、いずれもグループａに属している。したがって、端末０３は、コントローラ端末０１から送信されたＭ−ＳＥＡＲＣＨメッセージに対して応答メッセージを返送する。この結果、コントローラ端末０１は、端末０３の存在を検出する。
【０１８７】
このとき、端末０２は、デバイス定義情報内にリストアップされている各サービスについてそれぞれ応答メッセージを生成する。ただし、端末０２は、デバイス定義情報内に記述されているアクセスポリシを参照して、これらの応答メッセージをコントローラ端末０１に送信するか否かを判定する。図３３に示す例では、プリンタサービスは、グループａおよびグループｂに対して許可されているが、ファックスサービスはグループｂのみに対して許可されている。この場合、端末０２は、プリンタサービスの存在を通知するための応答メッセージをコントローラ端末０１へ送信する。一方、端末０２は、ファックスサービスの存在を通知するための応答メッセージを廃棄する。
【０１８８】
このように、コントローラ端末０１には、コントローラ端末０１が加入しているグループに対して許可されているサービスの情報のみが提供される。すなわち、端末０２は、コントローラ端末０１の属性に基づいて、コントローラ端末０１に提供するサービスを制限できる。
【０１８９】
次に、第２の実施形態において、コントローラ端末がデバイス端末に定義情報を要求する手順の実施例を説明する。以下の説明では、コントローラ端末０１は、端末検索手順において、デバイス端末０２から図１９に示すＭ−ＳＥＡＲＣＨ応答メッセージを受信しているものとする。
【０１９０】
コントローラ端末０１は、デバイス定義要求メッセージ（HTTP GETメッセージ）を生成してデバイス端末０２へ送信する。このとき、図１９に示すＭ−ＳＥＡＲＣＨ応答メッセージのLocationフィールドに設定されているＵＲＬが指定される。
【０１９１】
このデバイス定義要求メッセージは、グループ管理装置２により転送され、デバイス端末０２により受信される。そうすると、デバイス端末０２は、図３３に示すデバイス定義情報を含む応答メッセージを作成する。
【０１９２】
但し、デバイス端末０２は、この応答メッセージを送信する前に、デバイス定義情報内に記述されているアクセスポリシを参照する。そして、デバイス端末０２は、サービス毎に、コントローラ端末０１に定義情報を提供してもよいか否かを判定する。図３３に示す例では、プリンタサービスは、グループａおよびグループｂに対して許可されているが、ファックスサービスはグループｂのみに対して許可されている。この場合、ファックスサービスについての定義情報はコントローラ端末０１に提供しない、と判定される。そうすると、デバイス端末０２は、デバイス定義情報において、ファックスサービスに係わる記述（<service>から</service>まで）を削除する。そして、デバイス端末０２は、更新されたデバイス定義情報を含む応答メッセージをコントローラ端末０１へ送信する。
【０１９３】
この後、コントローラ端末０１は、デバイス端末０２にサービス定義情報を要求する。そうすると、デバイス端末０２は、グループａに対して許可されていない記述が削除されたサービス定義情報をコントローラ端末０１へ送信する。デバイス端末からコントローラ端末へサービス定義情報を提供する手順は、デバイス端末からコントローラ端末へデバイス定義情報を提供する手順と類似しているので、詳しい説明は省略する。
【０１９４】
＜他の実施形態＞
第１の実施形態では、中継装置１においてマルチキャスト端末検索要求メッセージからユニキャスト端末検索要求メッセージへの変換が行われる。この変換処理は、任意の端末で行われるようにしてもよい。この場合、端末は、各グループの構成を表す情報をグループ管理装置から受け取り、マルチキャスト端末検索要求メッセージの送信元端末が加入しているグループを判定する。そして、端末は、判定したグループ内の各端末にユニキャスト端末検索要求メッセージを送信する。この構成によれば、中継装置を経由しない通信を行うことが可能となる。
【０１９５】
図１に示すネットワークにおいて、中継装置１は、受信したマルチキャスト端末検索要求メッセージそのままサブネット内のすべての端末に転送してもよい。但し、この場合、中継装置１は、サブネット内の各デバイス端末から送信される応答メッセージのうち、マルチキャスト端末検索要求メッセージの送信元端末に対して提供することが許容されない応答メッセージを廃棄する。このとき、中継装置１は、グループＤＢ１７およびアクセスポリシＤＢ１６を参照する。
【０１９６】
上述した実施形態では、コントローラ端末の属性に応じて、そのコントローラ端末に提供するサービスの種別が制限される。これに加えて、実施形態のアクセス制御方法は、端末の属性に応じて、サービス定義情報内に記述されている個々のアクションの実行を制限してもよい。例えば、プリンタサービスを提供するデバイス端末のサービス定義情報において、複数のアクション（電源投入アクション、電源切断アクション、カラー印刷アクション、白黒印刷アクションなど）が記述されているものとする。この場合、各アクションについて、実行を許可するグループが指定される。図３４に示す例では、電源投入アクションがグループａに対して許可されている。この構成によれば、特定のグループに加入している端末にのみ特定のアクションを実行させることが可能である。
【０１９７】
同様に、実施形態のアクセス制御方法は、端末の属性に応じて、サービス定義情報内に記述されている個々の状態変数の提供を制限してもよい。たとえば、サービス定義情報において、複数の状態変数（印刷ページ数、プリンタ用紙の残量、トナーの残量など）が記述されているものとする。この場合、各状態変数について、提供を許可するグループが指定される。図３４に示す例では、印刷ページ数の参照がグループａに対して許可されている。この構成によれば、特定のグループに加入している端末にのみ特定の状態変数の参照が許可される。
【０１９８】
なお、ＵＰｎＰでは、状態変数が更新される毎にイベントを通知するための手順が定義されている。このとき、イベント通知メッセージに設定された状態変数名とサービス定義情報に含まれている状態変数毎のアクセスポリシとを比較し、状態変数へのアクセスが許可されたグループに加入している端末に対してのみ、そのイベント通知メッセージを送信するようにしてもよい。この場合、状態変数にアクセスできる端末をグループ毎に制限することが可能となる。
【０１９９】
上述の実施形態では、グループ毎にアクセス制御が行われるが、コントローラ端末が加入するグループに関わらず、特定のコントローラ端末が常に特定のサービスを受けられるように構成してもよい。この構成を実現するための方法を、第１の実施形態に基づいて説明する。
【０２００】
アクセスポリシＤＢ１９のアクセスポリシ欄には、端末を識別する端末ＩＤを登録することができる。中継装置１は、マルチキャスト端末検索要求メッセージを受信すると、アクセスポリシＤＢ１９のアクセスポリシ欄を参照して、そのメッセージの送信元を識別する端末ＩＤが登録されたサービス種別を検索する。そのようなサービス種別が検索されなければ、加入グループに基づくアクセス制御が実行される。一方、そのようなサービス種別が検索された場合は、中継装置１は、そのサービスを提供するデバイス端末に対して端末検索要求メッセージを送信する。これにより、コントローラ端末は、上記サービスを提供するデバイス端末から端末検索応答メッセージを受信することができる。
【０２０１】
＜ハードウェア構成＞
図３５は、実施形態のネットワークシステムにおいて使用される装置のハードウェア構成を示す。ネットワークシステムにおいて使用される装置は、端末（コントローラ端末およびデバイス端末）、第１の実施形態の中継装置１、第２の実施形態のグループ管理装置２を含む。また、各装置は、例えば、図３５に示すコンピュータシステム１００により実現される。
【０２０２】
コンピュータシステム１００は、ＣＰＵ１０１、メモリ１０２、記憶装置１０３、読み取り装置１０４、通信インタフェース１０６、および入出力装置１０７を備える。ＣＰＵ１０１、メモリ１０２、記憶装置１０３、読み取り装置１０４、通信インタフェース１０６、入出力装置１０７は、例えば、バス１０８を介して互いに接続されている。
【０２０３】
ＣＰＵ１０１は、メモリ１０２を利用してアクセス制御プログラムを実行することにより、上述したフローチャートに示す機能を提供することができる。メモリ１０２は、例えば半導体メモリであり、ＲＡＭ領域およびＲＯＭ領域を含んで構成される。記憶装置１０３は、例えばハードディスク装置であり、アクセス制御プログラムを格納できる。なお、記憶装置１０３は、フラッシュメモリ等の半導体メモリであってもよい。また、記憶装置１０３は、外部記録装置であってもよい。
【０２０４】
読み取り装置１０４は、ＣＰＵ１０１の指示に従って着脱可能記録媒体１０５にアクセスする。着脱可能記録媒体１０５は、例えば、半導体デバイス（ＵＳＢメモリ等）、磁気的作用により情報が入出力される媒体（磁気ディスク等）、光学的作用により情報が入出力される媒体（ＣＤ−ＲＯＭ、ＤＶＤ等）などにより実現される。通信インタフェース１０６は、ＣＰＵ１０１の指示に従ってネットワークを介してデータを送受信する。入出力装置１０７は、例えば、ユーザからの指示を受け付けるデバイスなどを含む。
【０２０５】
実施形態のアクセス制御プログラムは、例えば、下記の形態でコンピュータシステム１００に提供される。
（１）記憶装置１０３に予めインストールされている。
（２）着脱可能記録媒体１０５により提供される。
（３）プログラムサーバ１１０から提供される。
【０２０６】
以上記載した各実施例を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
端末間の通信を中継する中継サーバであって、
グループごとに提供可能なサービスを指定するポリシ情報を格納するポリシ情報格納部と、
第１の端末からの要求に対応する第２の端末による応答に含まれている応答情報を前記ポリシ情報に基づいて処理する処理部と、
前記処理部により処理された応答情報を前記第１の端末へ送信する通信部と、を有し、
前記処理部は、前記第２の端末が提供可能なサービスが、前記第１の端末が加入しているグループに提供可能なサービスに制限されるように、前記応答情報を処理する、
ことを特徴とする中継サーバ。
（付記２）
前記応答情報は、前記第２の端末が提供可能なサービスに係わる記述を含み、
前記処理部は、前記応答情報から、前記第１の端末が加入しているグループに提供可能なサービス以外のサービスに係わる記述を削除する
ことを特徴とする付記１に記載の中継サーバ。
（付記３）
グループ毎に加入している端末を表すグループ情報を格納するグループ情報格納部と、
ネットワーク内に存在する端末を検索する端末検索要求を前記第１の端末から受信したときに、前記グループ情報に基づいて、前記第１の端末と同じグループに属する端末に前記端末検索要求を送信する検索要求処理部と、をさらに有する
ことを特徴とする付記１または２に記載の中継サーバ。
（付記４）
前記端末検索要求は、ネットワーク内の複数の端末へ送信されるマルチキャストメッセージに格納されて前記第１の端末から送信され、
前記検索要求処理部は、前記第１の端末から受信したマルチキャストメッセージをユニキャストメッセージに変換し、前記第１の端末と同じグループに加入している各端末へそれぞれ前記ユニキャストメッセージを送信する
ことを特徴とする付記３に記載の中継サーバ。
（付記５）
前記端末検索要求を受信した端末から返送されてくる応答メッセージの中に、前記第１の端末が加入しているグループに対して許可されていないサービスに係わる情報が含まれているときは、前記検索要求処理部は、前記応答メッセージを前記第１の端末へ転送することなく廃棄する
ことを特徴とする付記３に記載の中継サーバ。
（付記６）
端末間の通信を中継する中継サーバにおいて使用されるアクセス制御方法であって、
第１の端末から送信される要求を第２に端末へ転送し、
前記要求に対応する応答を前記第２の端末から受信し、
グループごとに提供可能なサービスを指定するポリシ情報に基づいて、前記第２の端末が提供可能なサービスが、前記第１の端末が加入しているグループに提供可能なサービスに制限されるように、前記応答に含まれている応答情報を処理し、
処理された応答情報を前記第１の端末へ送信する、
ことを特徴とするアクセス制御方法。
（付記７）
第１の端末から送信される要求を第２に端末へ転送し、
前記要求に対応する応答を前記第２の端末から受信し、
グループごとに提供可能なサービスを指定するポリシ情報に基づいて、前記第２の端末が提供可能なサービスが、前記第１の端末が加入しているグループに提供可能なサービスに制限されるように、前記応答に含まれている応答情報を処理し、
処理された応答情報を前記第１の端末へ送信する、
処理をコンピュータに実行させるアクセス制御プログラム。
（付記８）
サービス要求端末からの要求に応答するサービス提供装置であって、
前記サービス提供装置が提供可能なサービスに係わる情報を記述した定義情報を格納する定義情報格納部と、
前記定義情報を要求する定義要求を受信したときに、前記サービス提供装置が提供可能なサービスが、前記サービス要求端末が加入しているグループに提供可能なサービスに制限されるように、前記定義情報を処理する処理部と、
前記処理部により処理された定義情報を前記サービス要求端末へ送信する通信部と、
を有するサービス提供装置。
（付記９）
前記処理部は、前記定義情報から、前記サービス要求端末が加入しているグループに提供可能なサービス以外のサービスに係わる記述を削除する
ことを特徴とする付記８に記載のサービス提供装置。
（付記１０）
グループ毎に加入している端末を表すグループ情報を格納するグループ情報格納部と、
ネットワーク内に存在する端末を検索する端末検索要求を前記サービス要求端末から受信したときに、前記グループ情報に基づいて、前記サービス要求端末および前記サービス提供装置が同じグループに加入しているか判定する判定部と、
前記サービス要求端末および前記サービス提供装置が同じグループに加入しているときは、前記端末検索要求に対応する応答メッセージを生成して前記サービス要求端末へ送信し、前記サービス要求端末および前記サービス提供装置が同じグループに加入していないときは、前記端末検索要求を廃棄する送信部と、をさらに有する
ことを特徴とする付記８または９に記載のサービス提供装置。
（付記１１）
前記応答メッセージの中に、前記サービス要求端末が加入しているグループに対して許可されていないサービスに係わる情報が含まれているときは、前記送信部は、前記応答メッセージを前記サービス要求端末へ送信することなく廃棄する
ことを特徴とする付記１０に記載のサービス提供装置。
（付記１２）
サービス要求端末からの要求に応答するサービス提供装置において使用されるアクセス制御方法であって、
サービス要求端末からの要求に応じて、前記サービス提供装置が提供可能なサービスに係わる情報を記述した定義情報を定義情報格納部から読み出し、
前記サービス提供装置が提供可能なサービスが、前記サービス要求端末が加入しているグループに提供可能なサービスに制限されるように、前記定義情報を処理し、
処理された定義情報を前記サービス要求端末へ送信する、
ことを特徴とするアクセス制御方法。
（付記１３）
サービス要求端末からの要求に応じて、提供可能なサービスに係わる情報を記述した定義情報を定義情報格納部から読み出し、
前記提供可能なサービスが、前記サービス要求端末が加入しているグループに提供可能なサービスに制限されるように、前記定義情報を処理し、
処理された定義情報を前記サービス要求端末へ送信する、
処理をコンピュータに実行させるアクセス制御プログラム。
【符号の説明】
【０２０７】
１  中継装置
２  グループ管理装置
１２  グループ管理部
１３  マルチキャストメッセージ処理部
１４  定義要求メッセージ処理部
１６  グループ加入ポリシＤＢ
１７  グループＤＢ
１８  端末ＤＢ
１９  アクセスポリシＤＢ
２２、５１  グループ処理部
２５  端末加入グループＤＢ
３４  デバイス定義格納部
３５  サービス定義格納部
５３、６３  グループＤＢ
５４、６４  端末ＤＢ
６１  マルチキャスト制御部
６２  サービスアクセス制御部
【図１】
2015032098.tif 000003
【図２】
2015032098.tif 000004
【図３】
2015032098.tif 000005
【図４】
2015032098.tif 000006
【図５】
2015032098.tif 000007
【図６】
2015032098.tif 000008
【図７】
2015032098.tif 000009
【図８】
2015032098.tif 000010
【図９】
2015032098.tif 000011
【図１０】
2015032098.tif 000012
【図１１】
2015032098.tif 000013
【図１２】
2015032098.tif 000014
【図１３】
2015032098.tif 000015
【図１４】
2015032098.tif 000016
【図１５】
2015032098.tif 000017
【図１６】
2015032098.tif 000018
【図１７】
2015032098.tif 000019
【図１８】
2015032098.tif 000020
【図１９】
2015032098.tif 000021
【図２０】
2015032098.tif 000022
【図２１】
2015032098.tif 000023
【図２２】
2015032098.tif 000024
【図２３】
2015032098.tif 000025
【図２４】
2015032098.tif 000026
【図２５】
2015032098.tif 000027
【図２６】
2015032098.tif 000028
【図２７】
2015032098.tif 000029
【図２８】
2015032098.tif 000030
【図２９】
2015032098.tif 000031
【図３０】
2015032098.tif 000032
【図３１】
2015032098.tif 000033
【図３２】
2015032098.tif 000034
【図３３】
2015032098.tif 000035
【図３４】
2015032098.tif 000036
【図３５】
2015032098.tif 000037