<第1の実施形態>
図1は、第1の実施形態に係わるネットワークシステムの一例を示す。ネットワークシステムは、中継装置(中継サーバ)1を有する。また、この実施例では、ネットワークシステムには、3台の端末01〜03が接続されている。
端末01〜03は、それぞれ、中継装置1を介して他の端末と通信することができる。中継装置1と端末01〜03との間の無線通信プロトコルは、特に限定されるものではない。なお、各端末01〜03は、中継装置1から受信する無線信号からデータまたは情報を抽出するが、他の端末から直接的に受信する無線信号からデータまたは情報を抽出しないものとする。
端末01は、デバイスに対してサービスを要求するコントローラとして動作する。よって、以下では、端末01を「コントローラ端末」と呼ぶことがある。端末02は、コントローラから要求されたサービスを提供するデバイスとして動作する。よって、以下では、端末02を「デバイス端末」と呼ぶことがある。端末03は、コントローラおよびデバイスの双方の機能を有するものとする。
各端末01〜03は、それぞれ所望のグループに加入することができる。ここで、各端末01〜03は、複数のグループに加入することもできる。図1に示す例では、端末01はグループaに加入し、端末03はグループbに加入し、端末02はグループaおよびグループbの双方に加入している。
中継装置1は、コントローラとデバイスとの間の通信の経路上に設けられる。ここで、例えば、各端末が無線LAN通信機能を有する場合、中継装置1は、無線LAN基地局内に設けられてもよい。また、中継装置1は、各端末01〜03がどのグループに属しているのかを表すグループ構成情報を保持している。そして、中継装置1は、このグループ構成情報を利用して、端末01〜03間の通信を制御する。
図2は、中継装置1、コントローラ端末01、デバイス端末02の機能を説明する図である。なお、中継装置1とコントローラ端末01との間の無線リンク、および中継装置1とデバイス端末02との間の無線リンクは、必要に応じて設定される。
中継装置1は、通信部11、グループ管理部12、マルチキャストメッセージ処理部13、定義要求メッセージ処理部14、メッセージ処理部15、グループ加入ポリシDB16、グループDB17、端末DB18、アクセスポリシDB19を有する。なお、中継装置1は、他の機能を有していてもよい。
通信部11は、端末(コントローラ、デバイス)との間の無線インタフェースを提供する。そして、通信部11は、端末から受信するメッセージを解析し、その受信メッセージをグループ管理部12、マルチキャストメッセージ処理部13、定義要求メッセージ処理部14、またはメッセージ処理部15へ転送する。また、通信部11は、グループ管理部12、マルチキャストメッセージ処理部13、定義要求メッセージ処理部14、またはメッセージ処理部15により生成されたメッセージを宛先端末へ送信する。
グループ加入ポリシDB16は、加入ポリシ情報を格納する。加入ポリシ情報は、各端末がそれぞれどのグループに加入できるのかを表す。なお、加入ポリシ情報は、例えば、ネットワーク管理者により作成される。
図3は、グループ加入ポリシDB16の一例を示す。グループ加入ポリシDB16は、各端末を識別する端末IDと、その端末が加入できるグループとの対応関係を保持する。この例では、端末01は、グループa(グループ名:A部、グループID:GRPa)に加入することが許可されている。端末02は、グループa及びグループb(グループ名:B部、グループID:GRPb)の双方に加入することが許可されている。
グループDB17は、グループ情報を格納する。グループ情報は、各グループにそれぞれどの端末が加入しているのかを表す。なお、グループDB17は、端末からグループ加入要求またはグループ離脱要求が発行されたときに更新される。
図4は、グループDB17の一例を示す。グループDB17は、各グループを識別するグループIDと、そのグループに加入している端末との対応関係を保持する。図4に示す例では、グループaには、現在、端末01および端末02が加入している。また、グループbには、現在、端末02および端末03が加入している。そして、ある端末により発行されたグループ加入要求が許可されると、その端末の端末IDがグループDB17に追加される。また、ある端末によりグループ離脱要求が発行されると、その端末の端末IDがグループDB17から削除される。
端末DB18は、図1に示すネットワークシステムにおいて使用される各端末の情報を格納する。端末DB18に登録される端末情報は、例えば、ネットワーク管理者により作成される。
図5は、端末DB18の一例を示す。端末DB18は、この実施例では、端末IDに対して、ホスト名、IPアドレス、ポート番号を格納する。ホスト名は、端末を識別する情報の1つであり、対応する端末宛てに送信されるHTTPメッセージのHostフィールドに設定される。HTTPメッセージは、後述するユニキャスト端末検索要求メッセージ、定義情報要求メッセージ、アクション要求メッセージ等を含む。IPアドレスは、メッセージを伝送するフレームのIPヘッダに設定される。ポート番号は、後述するユニキャスト端末検索要求メッセージを送信する際に使用される。ホスト名、IPアドレス、ポート番号は、たとえば、ネットワーク管理者により割り当てられる。IPアドレスは、DHCP(Dynamic Host Configuration Protocol)サーバから動的に付与されてもよい。また、端末が移動する場合には、端末の移動先のシステムによりホスト名および/またはポート番号が動的に割り当てられるようにしてもよい。
アクセスポリシDB19は、アクセスポリシ情報を格納する。アクセスポリシ情報は、各デバイスにより提供されるサービスが、どのグループに対して許可されるのかを表す。
図6は、アクセスポリシDB19の一例を示す。図6に示す例では、端末02がプリンタサービスおよびファックスサービスを提供する。サービス種別情報は、デバイス端末が提供するサービスを識別する。また、アクセスポリシは、サービスの提供が許可されている1または複数のグループを表す。例えば、プリンタサービスは、グループa及び/又はグループbに加入している端末に対して提供される。ファックスサービスは、グループbに加入している端末に対してのみ提供される。なお、アクセスポリシDB19は、ネットワークシステムのグループ構成が変化したときに更新される。また、アクセスポリシDB19は、ネットワークシステムにおいて提供されるサービスが追加、変更、削除されたときにも更新される。アクセスポリシDB19の更新は、例えば、ネットワーク管理者により行われる。
グループ管理部12は、端末からの要求に応じて、その端末が加入可能なグループを検索し、その検索結果を端末へ通知する。また、グループ管理部12は、端末からグループ加入要求を受信したときは、グループ加入ポリシDB16を参照し、その要求において指定されたグループへの加入を許可するか否かを判定する。そして、指定されたグループへの加入を許可するときは、グループ管理部12は、指定されたグループに関連づけて対応する端末IDをグループDB17に登録する。また、グループ管理部12は、端末からグループ離脱要求を受信したときは、指定されたグループに関連づけられている対応する端末IDをグループDB17から削除する。
マルチキャストメッセージ処理部13は、コントローラ端末から送信されるマルチキャスト端末検索要求を、サブネット内の端末へ送信する。ただし、マルチキャストメッセージ処理部13は、端末検索要求の送信元端末と同じグループに属している端末にのみ、その端末検索要求を送信する。このとき、マルチキャストメッセージ処理部13は、マルチキャスト端末検索要求をユニキャスト端末検索要求に変換して、対応する各端末に送信する。また、マルチキャストメッセージ処理部13は、端末検索要求に対する応答を、端末検索要求の送信元端末へ転送する。このとき、マルチキャストメッセージ処理部13は、端末検索要求の送信元端末が属するグループに対して許可されていない情報を含む応答メッセージを廃棄してもよい。
マルチキャストメッセージ処理部13は、他のマルチキャストメッセージについても、マルチキャスト端末検索要求と同様に、ユニキャストメッセージに変換して対応する端末にのみ転送するようにしてもよい。他のマルチキャストメッセージとしては、例えば、デバイスの存在および提供サービスを広告するメッセージ(Advertisement)、ネットワークからデバイスが離脱することを周辺に通知するメッセージ(byebye)、接続しているネットワークインタフェースに変更が生じたことを通知するメッセージ(update)などが想定される。
定義要求メッセージ処理部14は、デバイス端末からコントローラ端末へ返送される応答メッセージから、許可されていない記述を削除する。たとえば、端末01から端末02に対して定義情報が要求されると、端末02は、要求された定義情報を返送する。この場合、定義要求メッセージ処理部14は、アクセスポリシDB19を参照し、この定義情報の中に、端末01が属するグループに対して許可されていない記述が含まれているかチェックする。そして、定義情報の中に、端末01が属するグループに対して許可されていない記述が含まれていれば、定義要求メッセージ処理部14は、定義情報からその許可されていない記述を削除する。この後、中継装置1は、許可されていない記述が削除された定義情報を、端末01へ送信する。
メッセージ処理部15は、他のメッセージ(すなわち、グループ管理部12、マルチキャストメッセージ処理部13、定義要求メッセージ処理部14により処理されないメッセージ)を処理する。例えば、メッセージ処理部15は、コントローラ端末からサービス要求メッセージを受信すると、そのサービス要求メッセージを対応するデバイス端末へ転送する。また、メッセージ処理部15は、デバイス端末から応答メッセージを受信すると、その応答メッセージを対応するコントローラ端末へ転送する。
コントローラ端末は、図2に示すように、通信部21、グループ処理部22、メッセージ処理部23、サービス要求処理部24、端末加入グループDB25、デバイス/サービスDB26を有する。なお、コントローラ端末は、他の機能を有していてもよい。
通信部21は、中継装置1との間の無線インタフェースを提供する。そして、通信部21は、中継装置1から受信するメッセージを解析し、その受信メッセージをグループ処理部22、メッセージ処理部23、またはサービス要求処理部24へ転送する。また、通信部21は、グループ処理部22、メッセージ処理部23、またはサービス要求処理部24により生成されたメッセージを中継装置1へ送信する。
端末加入グループDB25は、端末が加入しているグループを表すグループ情報を格納する。例えば、図7は、端末01に設けられる端末加入グループDB25を示している。この例では、端末01がグループaに加入していることを表すグループ情報が格納されている。
デバイス/サービスDB26は、サブネット内に存在するデバイス端末から取得した情報(たとえば、デバイス定義情報およびサービス定義情報)を格納する。なお、コントローラ端末は、自分と同じグループに属するデバイス端末のデバイス定義情報を取得する。また、コントローラ端末は、自分と同じグループに対して許可されているサービスについてサービス定義情報を取得する。
グループ処理部22は、中継装置1に対して、所望のグループへの加入および任意のグループからの離脱を要求することができる。そして、指定したグループへの加入が中継装置1により許可されたときは、グループ処理部22は、その指定したグループのグループ情報を端末加入グループDB25へ登録する。また、指定したグループからの離脱が成功したときは、グループ処理部22は、その指定したグループのグループ情報を端末加入グループDB25から削除する。
メッセージ処理部23は、デバイス端末へ送信する要求を含むメッセージを作成する。また、メッセージ処理部23は、中継装置1を介してデバイス端末から受信する応答を含むメッセージを処理する。なお、メッセージ処理部23は、デバイス端末から受信する応答(デバイス定義情報、サービス定義情報など)をデバイス/サービスDB26に格納する。
サービス要求処理部24は、デバイス/サービスDB26に登録されているデバイス端末に対してサービスの実行を要求することができる。このとき、サービス要求処理部24は、デバイス/サービスDB26に登録されているサービスの実行を要求できる。
デバイス端末は、図2に示すように、通信部31、メッセージ処理部32、サービス実行部33、デバイス定義格納部34、サービス定義格納部35を有する。また、図示しないが、デバイス端末は、コントローラ端末と同様に、グループ処理部22および端末加入グループDB25を有している。なお、デバイス端末は、さらに他の機能を有していてもよい。
通信部31は、中継装置1との間の無線インタフェースを提供する。そして、通信部31は、中継装置1から受信するメッセージを解析し、その受信メッセージをメッセージ処理部32またはサービス実行部33へ転送する。また、通信部31は、メッセージ処理部32またはサービス実行部33により生成されたメッセージを中継装置1へ送信する。
デバイス定義格納部34には、デバイス定義情報が格納されている。デバイス定義情報は、デバイス端末が提供可能なサービスのリストを含む。例えば、図8は、デバイス端末02のデバイス定義格納部34に格納されているデバイス定義情報を示している。この例では、デバイス端末02は、プリンタサービスおよびファックスサービスを提供することができる。なお、記述x1は、プリンタサービスに係わる情報を記述している。また、記述x2は、ファックスサービスに係わる情報を記述している。
サービス定義格納部35には、サービス定義情報が格納されている。サービス定義情報は、デバイス定義情報において記載されている各サービスについての詳細情報(例えば、サービスを構成するアクション、引数、状態変数、データ型など)を含む。例えば、図9は、デバイス端末02のサービス定義格納部35に格納されているサービス定義情報の一部を示している。具体的には、図9は、図8に示すデバイス定義情報中の記述x1により記述されているサービス(即ち、プリンタサービス)についての詳細情報を示している。この例では、プリンタサービスのサービス定義情報は、記述y1および記述y2を含む。記述y1は、プリンタの電源をオフするアクション「PowerOff」に係わる情報を記述している。記述y2は、プリンタの電源をオンするアクション「PowerOn」に係わる情報を記述している。また、サービス定義情報は、各アクションが許可されるグループを表すアクセスポリシ記述を含む。この例では、アクセスポリシ記述により、「PowerOff」はグループbに対して許可されており、「PowerOn」はグループaおよびグループbに対して許可されている。なお、図9に示すサービス毎のアクセスポリシ記述は、サービス定義情報中に記載する代わりに、図6に示すアクセスポリシDBと類似の構成で中継装置1に持たせるようにしてもよい。
図10は、グループ加入手順の一例を示す。ここでは、図1に示す端末01〜03がそれぞれ1または複数のグループに加入するものとする。また、中継装置1は、図3に示すグループ加入ポリシDB16を有している。
端末01は、中継装置1へグループ情報要求メッセージを送信する。中継装置1は、端末01からグループ情報要求メッセージを受信すると、グループ加入ポリシDB16を検索し、端末01が加入することができるグループを特定する。この実施例では、図3に示すように、端末01はグループaへの加入が許可されている。よって、中継装置1は、グループaを識別するグループID(GRPa)を含む応答メッセージを端末01へ送信する。このとき、中継装置1は、グループIDに加えて他の情報(例えば、グループ名等)を端末01へ送信してもよい。
端末01は、許可されたグループへの加入を要求することができる。したがって、端末01は、グループaへの加入を要求するグループ加入要求メッセージを中継装置1へ送信する。中継装置1は、端末01からグループ加入要求メッセージを受信すると、グループ加入ポリシDB16を参照し、この加入要求を受け入れるか否か判定する。そして、中継装置1は、判定結果を端末01へ通知する。この実施例では、中継装置1は、加入成功を表す応答メッセージを端末01へ送信する。
この後、端末01において、グループ処理部22は、端末01がグループaに加入したことを端末加入グループDB25に記録する。また、中継装置1において、グループ管理部22は、端末01がグループaに加入したことをグループDB17に記録する。
端末02および端末03も、同様の手順で、それぞれ対応するグループに加入する。すなわち、端末02は、グループaおよびグループbに加入する。このとき、端末02は、1つのグループ加入要求メッセージで複数のグループ(即ち、グループa、b)への加入を要求してもよい。また、端末03は、グループbに加入する。
図11は、サービス要求手順の一例を示す。この実施例では、端末01が端末02にサービスを要求するものとする。なお、端末01は、図10に示す手順によりグループaに加入しているが、グループbには加入していない。また、端末02はグループaおよびグループbに加入しており、端末03はグループbのみに加入している。
端末01は、サブネット内にどのようなデバイス端末が存在しているのかを検索するために、端末検索要求(M−SEARCH)メッセージを中継装置1へ送信する。このメッセージは、マルチキャストメッセージであり、サブネット内のすべての端末が宛先として指定されている。
中継装置1は、端末01からM−SEARCHメッセージを受信すると、グループDB17を参照し、端末01が加入しているグループを特定する。この実施例では、端末01は、グループaに加入している。よって、中継装置1は、グループaに加入している端末のみに対して、M−SEARCHメッセージを送信する。このとき、中継装置1は、端末01から受信したM−SEARCHメッセージをマルチキャスト形式からユニキャスト形式に変換する。そして、中継装置1は、ユニキャスト形式のM−SEARCHメッセージを、グループaに加入している各端末(M−SEARCHメッセージの送信元の端末は除く)にそれぞれ送信する。この実施例では、グループaには、端末01、02が加入している。したがって、中継装置1は、ユニキャスト形式のM−SEARCHメッセージを端末02へ送信する。一方、端末03は、グループaに加入していない。よって、中継装置1は、端末03にはM−SEARCHメッセージを送信しない。
M−SEARCHメッセージを受信した端末02は、応答メッセージを中継装置1へ返送する。なお、端末02がデバイス端末でないときは、端末02は、応答メッセージを返送しなくてもよい。そして、中継装置1は、端末02から送信された応答メッセージを端末01へ転送する。この結果、端末01は、サブネット内にデバイス端末02が存在していることを認識する。ただし、上述したように、中継装置1は、端末03へはM−SEARCHメッセージを送信していない。よって、端末01は、端末03から応答メッセージを受信することはない。したがって、サブネット内に実際には端末03が存在しているものの、端末01は、その端末03の存在を認識することはできない。
続いて、端末01は、M−SEARCHメッセージに対する応答に基づいて検出したデバイス端末に対してデバイス定義情報を要求する。すなわち、端末01は、端末02のデバイス定義情報を要求するデバイス定義要求メッセージを中継装置1へ送信する。そうすると、中継装置1は、このデバイス定義要求メッセージを端末02へ転送する。
端末02は、デバイス定義要求メッセージを受信すると、端末02のデバイス定義情報を含む応答メッセージを作成して中継装置1へ返送する。中継装置1は、端末02から応答メッセージを受信すると、必要に応じて、そのメッセージ中に含まれているデバイス定義情報を変更する。例えば、中継装置1は、グループDB17を参照し、この応答メッセージの宛先端末が加入しているグループを特定する。この実施例では、端末01が加入しているグループaが特定される。そして、中継装置1は、デバイス定義情報から、特定したグループに提供可能なサービス以外のサービスの記述を削除する。そして、中継装置1は、この応答メッセージを端末01へ送信する。
一例を示す。端末02は、デバイス定義要求メッセージを受信すると、図8に示すデバイス定義情報を含む応答メッセージを中継装置1へ返送する。ここで、この応答メッセージの宛先端末(すなわち、端末01)は、グループaに加入している。また、中継装置1は、アクセスポリシDB19を参照することにより、グループaに対してファックスサービスが許可されていないことを認識する。そうすると、中継装置1は、図8に示すデバイス定義情報において、グループaに対して許可されていないサービスの記述を削除する。すなわち、図8に示すデバイス定義情報から、グループaに対して許可されていないファックスサービスに係わる記述x2が削除される。この結果、デバイス定義情報は、図12に示す状態に変更される。そして、中継装置1は、図12に示すデバイス定義情報を含む応答メッセージを端末01へ送信する。すなわち、端末01は、図12に示すデバイス定義情報を受信する。
更に、端末01は、受信したデバイス定義情報内にリストアップされている各サービスに係わるサービス定義情報を要求する。すなわち、端末01は、サービス定義情報を要求するサービス定義要求メッセージを中継装置1へ送信する。そうすると、中継装置1は、このサービス定義要求メッセージを端末02へ転送する。
端末02は、サービス定義要求メッセージを受信すると、指定されたサービス定義情報を含む応答メッセージを作成して中継装置1へ返送する。中継装置1は、端末02から応答メッセージを受信すると、必要に応じて、そのメッセージ中に含まれているサービス定義情報を変更する。例えば、中継装置1は、グループDB17を参照し、この応答メッセージの宛先端末が加入しているグループを特定する。そして、中継装置1は、サービス定義情報から、特定したグループに提供可能なアクション以外のアクションを定義する記述を削除する。そして、中継装置1は、この応答メッセージを端末01へ送信する。
一例を示す。この実施例では、端末01は、図12に示すデバイス定義情報を受信することにより、端末02がプリンタサービスを提供していることを認識する。そうすると、端末01は、プリンタサービスに係わるサービス定義情報を端末02に要求する。なお、端末01は、端末02がファックスサービスを提供していることを認識できない。
端末02は、サービス定義要求メッセージを受信すると、図9に示すサービス定義情報を含む応答メッセージを中継装置1へ返送する。ここで、この応答メッセージの宛先端末(すなわち、端末01)は、グループaに加入している。そうすると、中継装置1は、サービス定義情報中のアクセスポリシ記述を参照することにより、グループaに対して許可されていないアクションに係わる記述を削除する。すなわち、図9に示すサービス定義情報から、グループaに対して許可されていない記述y1(すなわち、PowerOff動作に係わる記述)が削除される。このとき、中継装置1は、サービス定義情報中のアクセスポリシ記述を削除してもよい。この結果、サービス定義情報は、図13に示す状態に変更される。そして、中継装置1は、図13に示すサービス定義情報を含む応答メッセージを端末01へ送信する。すなわち、端末01は、図13に示すサービス定義情報を受信する。
端末01は、上述のようにして取得したデバイス定義情報およびサービス定義情報を利用して、端末02に対してサービスを要求することができる。この場合、端末01は、取得したデバイス定義情報およびサービス定義情報を利用して、サービス要求メッセージを中継装置1へ送信する。中継装置1は、このサービス要求メッセージを端末02へ転送する。そうすると、端末02は、サービス要求メッセージに応じてサービスを提供または実行する。さらに、端末02は、応答メッセージを中継装置1へ送信し、中継装置1は、この応答メッセージを端末01へ転送する。
なお、端末01は、加入しているグループから離脱するときは、中継装置1へグループ離脱要求メッセージを送信する。そうすると、中継装置1において、グループDB17から端末01が削除される。この後、中継装置1は、離脱成功を表す応答メッセージを端末01へ返送する。そうすると、端末01において、端末加入グループDB25からグループaに係わる情報が削除される。
このように、第1の実施形態においては、端末01から送信される端末検索要求(M−SEARCH)メッセージは、中継装置1により、端末01と同じグループに属している端末のみに送信される。したがって、端末01は、端末01と同じグループに属しているデバイス端末の存在を検出できるが、端末01と同じグループに属していないデバイス端末の存在を検出できない。すなわち、第1の実施形態に係わるネットワークシステムは、コントローラ端末に対して、そのコントローラ端末と同じグループに属していないデバイス端末の存在を隠すことができる。
また、第1の実施形態においては、デバイス/サービス定義情報要求メッセージに応じて端末02から端末01へデバイス定義情報/サービス定義情報が送信される際に、中継装置1は、デバイス定義情報/サービス定義情報から、上記要求メッセージの送信元端末が属しているグループに対して許可されていない記述を削除する。したがって、コントローラ端末は、そのコントローラ端末が属しているグループに対して許可されていない定義情報を取得できない。ここで、コントローラ端末は、取得した定義情報に係わるサービスのみを受けることができる。即ち、第1の実施形態に係わるネットワークシステムは、コントローラ端末が属するグループに対して許可されているサービスのみを、そのコントローラ端末に提供する。これにより、サービスを要求する端末の属性に応じて対応するサービスを提供するアクセス制御方式が実現される。
なお、図11に示すシーケンスは、1つの実施例であり、本発明はこのシーケンスに限定されるものではない。例えば、デバイス端末は、端末検索要求に対してサービス毎に応答メッセージを返信してもよい。この場合、中継装置1は、端末検索要求の送信元端末が属しているグループに対して許可されていないサービス情報を含む応答メッセージを廃棄してもよい。
図14は、グループ処理部22の処理を示すフローチャートである。グループ処理部22は、図2に示すように、端末(コントローラ端末またはデバイス端末)に設けられている。
S1において、グループ処理部22は、イベントを検出する。イベントは、例えば、ユーザが端末を操作することにより、グループ処理部22に与えられる。S2において、グループ処理部22は、S1で検出したイベントの種別を判定する。そして、グループ処理部22は、イベントの種別に対応する処理を実行する。
グループ情報要求イベントが検出されたときは、グループ処理部22の処理は、S3へ移動する。S3において、グループ処理部22は、グループ情報要求メッセージを生成して、そのメッセージを通信部21に渡す。この場合、グループ情報要求メッセージは、通信部21により中継装置1へ送信される。そうすると、中継装置1は、応答メッセージを返送する。この応答メッセージは、加入可能なグループを表すグループ情報応答(すなわち、加入可能グループ情報)を含んでいる。そして、この応答メッセージは、通信部21により受信される。
S4において、グループ処理部22は、通信部21から応答メッセージを受け取り、その応答メッセージから加入可能グループ情報を抽出する。そして、S5において、グループ処理部22は、加入可能グループ情報を端末の表示画面に表示する。この結果、表示画面には、この端末が加入することが可能なグループのリストが表示される。なお、端末が中継装置1に登録されていないときは、グループ処理部22は、中継装置1から加入可能グループ情報を取得できない。或いは、グループ処理部22は、加入可能なグループが存在しないことを表す情報を中継装置1から受信する。この場合、グループ処理部22は、加入可能なグループが存在しない旨を表示する。
グループ加入要求イベントが検出されたときは、グループ処理部22の処理は、S6へ移動する。なお、ユーザは、たとえば、S5で表示された加入可能グループ情報に基づいて、所望するグループを指定するものとする。
S6において、グループ処理部22は、グループ加入要求メッセージを生成して通信部21に渡す。グループ加入要求メッセージは、ユーザにより指定されたグループを識別するグループIDを含んでいる。そして、グループ加入要求メッセージは、通信部21により中継装置1へ送信される。そうすると、中継装置1は、加入要求を許可するか否かを判定し、その判定結果を含む応答メッセージを返送する。この応答メッセージは、通信部21により受信される。
S7〜S8において、グループ処理部22は、通信部21から応答メッセージを受け取り、その応答メッセージから加入要求についての判定結果を取得する。そして、グループ処理部22は、加入要求についての判定結果を、表示画面に表示する。
S9において、グループ処理部22は、加入要求についての判定結果を解析する。そして、ユーザにより指定されたグループへの加入が許可されたときは、グループ処理部22は、S14において、端末加入グループDB25を更新する。この場合、グループ処理部22は、指定されたグループを表す情報(グループ名およびグループID等)を端末加入グループDB25に登録する。なお、指定されたグループへの加入が許可されなかったときは、S14はスキップされる。
グループ離脱要求イベントが検出されたときは、グループ処理部22の処理はS10へ移動する。なお、ユーザは、たとえば、S5で表示された加入可能グループ情報に基づいて、離脱するグループを指定する。
S10において、グループ処理部22は、グループ離脱要求メッセージを生成して通信部21に渡す。グループ離脱要求メッセージは、ユーザにより指定されたグループを識別するグループIDを含んでいる。そして、グループ離脱要求メッセージは、通信部21により中継装置1へ送信される。そうすると、中継装置1は、離脱要求を許可するか否かを判定し、その判定結果を含む応答メッセージを返送する。この応答メッセージは、通信部21により受信される。
S11〜S12において、グループ処理部22は、通信部21から応答メッセージを受け取り、その応答メッセージから離脱要求についての判定結果を取得する。そして、グループ処理部22は、離脱要求についての判定結果を、表示画面に表示する。
S13において、グループ処理部22は、離脱要求についての判定結果を解析する。そして、ユーザにより指定されたグループからの離脱が許可されたときは、グループ処理部22は、S14において、端末加入グループDB25を更新する。この場合、グループ処理部22は、指定されたグループを表す情報(グループ名およびグループID等)を端末加入グループDB25から削除する。なお、指定されたグループからの離脱が許可されなかったときは、S14はスキップされる。
図15は、中継装置の通信部11の処理を示すフローチャートである。S21〜S22において、通信部11は、端末からメッセージを受信すると、そのメッセージの種別を判定する。そして、通信部11は、受信メッセージの種別に対応する処理を実行する。
グループ情報要求メッセージ、グループ加入要求メッセージ、またはグループ離脱要求メッセージを受信したときは、通信部11の処理はS3へ移動する。この場合、通信部11は、受信メッセージをグループ管理部12に渡す。
マルチキャストメッセージ(例えば、端末検索要求メッセージ(M−SEARCH))または端末検索要求の応答メッセージを受信したときは、通信部11の処理はS4へ移動する。この場合、通信部11は、受信メッセージをマルチキャストメッセージ処理部13に渡す。なお、通信部11は、コントローラ端末から端末検索要求メッセージ(M−SEARCH)を受信する。また、通信部11は、デバイス端末から端末検索要求の応答メッセージを受信する。
定義要求メッセージまたは定義要求メッセージの応答メッセージを受信したときは、通信部11の処理はS5へ移動する。この場合、通信部11は、受信メッセージを定義要求メッセージ処理部14に渡す。なお、定義要求メッセージは、デバイス定義要求メッセージおよびサービス定義要求メッセージを含む。
その他のメッセージを受信したときには、通信部11の処理はS6へ移動する。この場合、通信部11は、受信メッセージをメッセージ処理部15へ渡す。尚、通信部11は、メッセージを受信する処理だけでなく、メッセージを送信する処理も実行する。ただし、メッセージを送信する処理については、説明を省略する。
図16は、グループ管理部12の処理を示すフローチャートである。グループ管理部12は、図2に示すように、中継装置1に設けられている。
S31〜S32において、グループ管理部12は、通信部11を介して、端末から送信されたメッセージを受信する。ただし、図15を参照しながら説明したように、グループ管理部12は、グループ情報要求メッセージ、グループ加入要求メッセージ、またはグループ離脱要求メッセージを受信する。そして、グループ管理部12は、受信メッセージの種別に対応する処理を実行する。
グループ情報要求メッセージを受信したときは、グループ管理部12の処理は、S33に移動する。S33〜S34において、グループ管理部12は、グループ情報要求メッセージの送信元端末が端末DB18に登録されているか否かを判定する。このとき、グループ管理部12は、例えば、受信したグループ情報要求メッセージの送信元IPアドレスで端末DB18を検索することにより、S33の判定を行う。
送信元端末が端末DB18に登録されているときには、グループ管理部12は、S35において、グループ加入ポリシDB16を参照することにより、この端末に対応する加入可能グループ情報を抽出する。そして、グループ管理部12は、この加入可能グループ情報を含む応答メッセージを、グループ情報要求メッセージの送信元端末へ送信する。
送信元端末が端末DB18に登録されていないときは、グループ管理部12は、S36において、この端末が加入可能なグループが存在しないことを表す情報を含む応答メッセージする。そして、グループ管理部12は、この応答メッセージを、グループ情報要求メッセージの送信元端末へ送信する。
グループ離脱要求メッセージを受信したときは、グループ管理部12の処理は、S37に移動する。ここで、グループ離脱要求メッセージは、離脱するグループを指定する情報を含んでいる。
S37において、グループ管理部12は、グループDB17において、指定されたグループに対応するレコード上に、グループ離脱要求メッセージの送信元端末が登録されているか否かを判定する。そして、この端末がグループDB17に登録されているときは、グループ管理部12は、S38において、グループDB17の対応するレコードからこの端末の端末IDを削除する。さらに、グループ管理部12は、S39において、グループ離脱が成功したことを表す情報を含む応答メッセージを、グループ離脱要求メッセージの送信元端末へ送信する。一方、この端末がグループDB17に登録されていないときは、グループ管理部12は、S40において、グループ離脱失敗を表す情報を含む応答メッセージを、グループ離脱要求メッセージの送信元端末へ送信する。
グループ加入要求メッセージを受信したときは、グループ管理部12の処理は、S41に移動する。ここで、グループ加入要求メッセージは、加入するグループを指定する情報を含んでいる。
S41〜S42において、グループ管理部12は、グループ加入ポリシDB16を参照することにより、指定されたグループに、グループ加入要求メッセージの送信元端末を加入させることを許可するか否かを判定する。そして、加入を許可する場合は、グループ管理部12は、S43において、この端末を識別する端末IDをグループDB17の対応するレコードに登録する。さらに、グループ管理部12は、S44において、グループ加入に成功したことを表す情報を含む応答メッセージを、グループ加入要求メッセージの送信元端末へ送信する。一方、加入を許可しないときは、グループ管理部12は、S45において、グループ加入失敗を表す情報を含む応答メッセージを、グループ加入要求メッセージの送信元端末へ送信する。
図17は、マルチキャストメッセージ処理部13の処理を示すフローチャートである。マルチキャストメッセージ処理部13は、図2に示すように、中継装置1に設けられている。
S51において、マルチキャストメッセージ処理部13は、端末からマルチキャストメッセージを受信する。マルチキャストメッセージには、予め指定された宛先ポート番号(すなわち、マルチキャストを表す値)が設定されている。なお、端末から送信される端末検索要求(M−SEARCH)メッセージは、マルチキャストメッセージである。
S52において、マルチキャストメッセージ処理部13は、受信メッセージの送信元IPアドレスで端末DB18を参照することにより、このメッセージの送信元端末の端末IDを取得する。
S53において、マルチキャストメッセージ処理部13は、取得した端末IDでグループDB17を参照することにより、このメッセージの送信元端末が加入しているグループを特定する。以下の説明では、このようにして特定したグループを「グループX」と呼ぶことにする。すなわち、グループXは、受信したマルチキャストメッセージの送信元端末が加入しているグループを表す。
S54において、マルチキャストメッセージ処理部13は、グループDB17を参照して、グループXに加入している他の端末を特定する。すなわち、グループXに加入している端末の中で、マルチキャストメッセージの送信元の端末を除く他の端末が特定される。S55において、マルチキャストメッセージ処理部13は、端末DB18を参照して、S54で特定された各端末のIPアドレスおよびポート番号をそれぞれ取得する。
S56において、マルチキャストメッセージ処理部13は、受信したマルチキャストメッセージと同じ内容のユニキャストメッセージを生成し、S55で取得したIPアドレス/ポート番号へそのユニキャストメッセージをそれぞれ送信する。すなわち、グループXに属している各端末に、ユニキャスト形式に変換されたメッセージが送信される。なお、マルチキャストメッセージの送信元端末が複数のグループに加入している場合は、各グループについてS54〜S56がそれぞれ実行される。ただし、複数のグループに加入しているデバイス端末に対しては、同じメッセージを繰り返し送信する必要はない。
S57において、マルチキャストメッセージ処理部13は、受信したマルチキャストメッセージが端末検索要求(M−SEARCH)メッセージであるか否かを判定する。そして受信したマルチキャストメッセージがM−SEARCHメッセージであれば、マルチキャストメッセージ処理部13の処理はS58へ移動する。一方、受信したマルチキャストメッセージがM−SEARCHメッセージでなければ、マルチキャストメッセージ処理部13の処理は終了する。
M−SEARCHメッセージを受信したデバイス端末は、中継装置1へ応答メッセージを返送する。ここで、M−SEARCHメッセージは、S54〜S56によって、グループXに加入している端末のみに送信されている。したがって、グループXに加入しているデバイス端末のみが、中継装置1へM−SEARCH応答メッセージを返送する。このとき、デバイス端末は、端末の存在を表すM−SEARCH応答メッセージを送信する。また、デバイス端末は、提供可能な各サービスについて、それぞれM−SEARCH応答メッセージを送信する。この場合、応答メッセージのST(Search Target)フィールドには、サービスを識別するサービス種別情報が書き込まれる。
したがって、マルチキャストメッセージ処理部13は、S58において、デバイス端末からM−SEARCH応答メッセージを受信する。続いて、S59〜S60において、マルチキャストメッセージ処理部13は、受信したM−SEARCH応答メッセージのSTフィールドの値(すなわち、サービス種別情報)を取得する。そして、マルチキャストメッセージ処理部13は、取得したSTフィールドの値でアクセスポリシDB19を参照することにより、M−SEARCHメッセージの送信元端末へサービス情報を提供してもよいか否かを判定する。例えば、M−SEARCHメッセージの送信元端末がグループaのみに加入しているものとする。また、中継装置1は、図6に示すアクセスポリシDB19を有しているものとする。この場合、プリンタサービスは許可されるが、ファックスサービスは許可されない。
サービス情報の提供が許可されたときは、マルチキャストメッセージ処理部13は、S61において、そのサービス情報を含むM−SEARCH応答メッセージを、M−SEARCHメッセージの送信元端末へ送信する。一方、サービス情報の提供が許可されなかったときは、マルチキャストメッセージ処理部13は、S62において、そのサービス情報を含むM−SEARCH応答メッセージを廃棄する。なお、端末の存在を表すM−SEARCH応答メッセージは、M−SEARCHメッセージの送信元端末へ送信される。
また、S59において、マルチキャストメッセージ処理部13は、M−SEARCH応答メッセージのSTフィールドにサービス種別情報が書き込まれているとき(すなわち、例えば、STフィールドが「service」という語句を含むとき)に、アクセスポリシDB19を参照する。そのSTフィールドに書き込まれているサービス種別情報がアクセスポリシDB19に登録されていれば、マルチキャストメッセージ処理部13は、対応するアクセスポリシに従ってサービスの提供先を制限する。一方、M−SEARCH応答メッセージのSTフィールドにサービス種別情報が書き込まれていないときは、マルチキャストメッセージ処理部13は、サービスの提供先を制限することなく、そのM−SEARCH応答メッセージをM−SEARCHメッセージの送信元の端末へ送信する。
端末検索要求およびその応答についての実施例を説明する。以下の説明では、図1に示すネットワークシステムにおいて、コントローラ端末01が端末検索要求を実行するものとする。
図18(a)は、コントローラ端末01から送信される端末検索要求(M−SEARCH)メッセージの内容の一部を示す。Hostフィールドの「239.yyy.255.250」は、M−SEARCHメッセージのマルチキャスト通信のためのIPアドレスを表す。また、Hostフィールドの「1900」は、マルチキャスト通信のためのポート番号を表する。さらに、STフィールドの「ssdp:all」は、サブネット内のすべての端末およびサービスを検索することを指定している。
中継装置1は、端末DB18およびグループDB17を参照して、このM−SEARCHメッセージの送信元端末(すなわち、コントローラ端末01)が加入しているグループを特定する。これにより、グループaが特定される。続いて、中継装置1は、グループDB17を参照して、グループaに加入している端末(コントローラ端末01を除く)を特定する。これにより、端末02が検出される。そうすると、中継装置1は、端末DB18を参照して、端末02のIPアドレスおよびポート番号を取得する。図5に示す例では、「IPアドレス:192.xxx.1.2」および「ポート番号:22222」が得られる。そして、中継装置1は、端末02へ送信するユニキャスト形式のM−SEARCHメッセージを作成する。
ユニキャストM−SEARCHメッセージの内容は、図18(b)に示すように、コントローラ端末01から受信したM−SEARCHメッセージと同じである。ただし、ユニキャストM−SEARCHメッセージのHostフィールドには、端末DB18から取得した端末02のIPアドレスおよびポート番号が設定されている。そして、中継装置1は、このユニキャストM−SEARCHメッセージを端末02へ送信する。なお、図1に示す端末03は、グループaに加入していない。よって、中継装置1は、端末03にはユニキャストM−SEARCHメッセージを送信しない。
端末02は、デバイス端末として動作することができる。よって、端末02は、ユニキャストM−SEARCHメッセージに対応するM−SEARCH応答メッセージを中継装置1へ返送する。このとき、端末02は、端末02の存在を通知するM−SEARCH応答メッセージ、および提供可能なサービスの存在を通知するM−SEARCH応答メッセージを中継装置1へ送信する。ここで、端末02は、下記の2つのサービスを提供することができる。
プリンタサービス(urn:xxx-zzz:service:PrinterSevice:1)
ファックスサービス(urn:xxx-zzz:service:FaxSevice:1)
サービスの存在を通知するM−SEARCH応答メッセージは、サービス毎に生成される。すなわち、端末02は、プリンタサービスの存在を通知するM−SEARCH応答メッセージおよびファックスサービスの存在を通知するM−SEARCH応答メッセージをそれぞれ中継装置1へ送信する。例えば、図19は、プリンタサービスの存在を通知するM−SEARCH応答メッセージの内容の一部を示す。このとき、M−SEARCH応答メッセージのSTフィールドには、サービスを識別する情報が設定される。
中継装置1は、端末02から送信されるM−SEARCH応答メッセージをコントローラ端末01へ転送してもよいか否かを判定する。例えば、プリンタサービスは、図6に示すように、グループaに対して許可されている。したがって、中継装置1は、プリンタサービスの存在を通知するM−SEARCH応答メッセージをコントローラ端末01へ転送する。一方、ファックスサービスは、図6に示すように、グループaに対して許可されていない。よって、中継装置1は、ファックスサービスの存在を通知するM−SEARCH応答メッセージを、コントローラ端末01へ転送することなく廃棄する。よって、コントローラ端末01は、プリンタサービスの存在を検知するが、ファックスサービスの存在を検知できない。なお、端末02の存在を通知するM−SEARCH応答メッセージは、コントローラ端末01へ転送される。
図20は、定義要求メッセージ処理部14の処理を示すフローチャートである。定義要求メッセージ処理部14は、図2に示すように、中継装置1に設けられている。
S71において、定義要求メッセージ処理部14は、端末から送信される定義要求メッセージ(HTTP GETメッセージ)を受信する。なお、定義要求メッセージは、デバイス定義要求メッセージまたはサービス定義要求メッセージである。
S72において、定義要求メッセージ処理部14は、S71で受信した定義要求メッセージのHostフィールドを参照する。Hostフィールドには、宛先のホスト名が設定されている。S73において、定義要求メッセージ処理部14は、このホスト名に対応するIPアドレスを端末DB18から取得する。そして、S74において、定義要求メッセージ処理部14は、受信した定義要求メッセージを、S73で取得したIPアドレスへ送信する。
定義要求メッセージを受信したデバイス端末は、応答メッセージを中継装置1へ返送する。この応答メッセージは、要求された定義情報(デバイス定義情報またはサービス定義情報)を含んでいる。そして、定義要求メッセージ処理部14は、S75において、デバイス端末から送信される応答メッセージを受信する。
S76において、定義要求メッセージ処理部14は、アクセスポリシDB19を参照して、デバイス端末から受信した定義情報内に、定義要求メッセージの送信元端末に提供できない記述が含まれているか判定する。定義情報が許可されていない記述を含んでいるときは、定義要求メッセージ処理部14は、定義情報から、その許可されていない記述を削除する。
S77において、定義要求メッセージ処理部14は、定義要求メッセージの送信元端末に応答メッセージを送信する。S76において削除処理が実行されたときは、許可されていない記述が削除された定義情報が定義要求メッセージの送信元端末に送信される。
次に、コントローラ端末がデバイス端末に対して定義情報を要求する手順の実施例を説明する。以下の説明では、コントローラ端末01は、端末検索手順において、デバイス端末02から図19に示すM−SEARCH応答メッセージを受信しているものとする。
コントローラ端末01は、デバイス定義要求メッセージ(HTTP GETメッセージ)を生成してデバイス端末02へ送信する。このとき、図19に示すM−SEARCH応答メッセージのLocationフィールドに設定されているURLが指定される。このURLは、デバイス定義情報を格納する場所を指定する。生成されるデバイス定義要求メッセージの一例を図21に示す。
このデバイス定義要求メッセージは、中継装置1により転送され、デバイス端末02により受信される。そうすると、デバイス端末02は、図8に示すデバイス定義情報を含む応答メッセージを中継装置1へ返送する。
中継装置1は、デバイス定義情報において<serviceType>タグをサーチして、そのタグに記述されているサービス種別情報を取得する。そして、中継装置1は、取得したサービス種別情報でアクセスポリシDB19を参照する。この例では、図6に示すように、プリンタサービスはグループa、bに対して許可されているが、ファックスサービスはグループbのみに許可されている。一方、コントローラ端末01は、グループaのみに加入している。したがって、中継装置1は、コントローラ端末01に対してプリンタサービスを許可するが、ファックスサービスを許可しないと判定する。
この場合、中継装置1は、デバイス定義情報において、ファックスサービスに係わる記述x2(<service>から</service>まで)を削除する。この結果、デバイス定義情報は図12に示す状態に処理される。そして、中継装置1は、このように処理されたデバイス定義情報を含む応答メッセージをコントローラ端末01へ送信する。
図22は、メッセージ処理部15の処理を示すフローチャートである。メッセージ処理部15は、図2に示すように、中継装置1に設けられている。
S81において、メッセージ処理部15は、端末からメッセージを受信する。受信メッセージは、たとえば、サービス/アクションの実行を要求する要求メッセージである。S82において、メッセージ処理部15は、要求メッセージのHostフィールドの値を参照する。S83において、メッセージ処理部15は、Hostフィールドの値に対応するIPアドレスを端末DB18から取得する。そして、S84において、メッセージ処理部15は、S83で取得したIPアドレスへ要求メッセージを送信する。この要求メッセージを受信したデバイス端末は、対応する処理を実行する。そして、デバイス端末は、中継措置1へ応答メッセージを返送するものとする。
S85において、メッセージ処理部15は、デバイス端末から送信される応答メッセージを受信する。そして、S86において、メッセージ処理部15は、要求メッセージの送信元端末へ、その応答メッセージを転送する。
<第2の実施形態>
図23は、第2の実施形態に係わるネットワークシステムの一例を示す。ネットワークシステムは、グループ管理装置(中継サーバ)2を有する。また、この実施例では、ネットワークシステムには、3台の端末01〜03が接続されている。
第2の実施形態では、各端末は、自分と同じグループに加入している他の端末を把握している。したがって、デバイス端末は、コントローラ端末から端末検索要求メッセージを受信したとき、そのコントローラ端末が自分と同じグループに加入しているか否かを判定できる。そして、デバイス端末は、コントローラ端末が自分と同じグループに加入していないときは、受信した端末検索要求メッセージに対して応答メッセージを返送しない。よって、デバイス端末は、このコントローラ端末に対して、自分の存在または提供可能なサービスの存在を隠すことができる。
また、デバイス端末は、コントローラ端末が自分と同じグループに加入している場合であっても、そのグループに対して許可されていない情報を送信しないようにメッセージを制御することができる。例えば、定義情報(デバイス定義情報、サービス定義情報など)の提供先が制限されている場合、状態変数等の開示先が制限されている場合は、デバイス端末は、コントローラ端末からのアクセスをグループ毎に制御することができる。
図24は、グループ管理装置、コントローラ端末、デバイス端末の機能を説明する図である。グループ管理装置2とコントローラ端末01との間の無線リンク、およびグループ管理装置2とデバイス端末02との間の無線リンクは、必要に応じて設定される。
グループ管理装置2は、通信部11、グループ管理部41、グループ加入ポリシDB16、グループDB17、端末DB42を有する。なお、グループ管理装置2に設けられる通信部11、グループ加入ポリシDB16、グループDB17は、第1の実施形態の中継装置1に設けられている対応する要素と実質的に同じなので、説明を省略する。
グループ管理部41は、第1の実施形態のグループ管理部12と類似しているが、幾つかの異なる機能を有している。グループ管理部41の処理は、後でフローチャートを参照し説明する。端末DB42には、図25に示すように、サブネット内に存在する各端末のIPアドレスが格納されている。なお、端末DB42は、図5に示す第1の実施形態の端末DB18と同じ構成であってもよい。
第2の実施形態のコントローラ端末は、通信部21、メッセージ処理部23、サービス要求処理部24、デバイス/サービスDB26、グループ処理部51、マルチキャスト制御部52、グループDB53、端末DB54を有する。通信部21、メッセージ処理部23、サービス要求処理部24、デバイス/サービスDB26は、第1の実施形態のコントローラ端末に設けられている対応する要素と実質的に同じなので、説明を省略する。
グループ処理部51は、指定されたグループへの加入または指定されたグループからの離脱をグループ管理装置2に要求する。そして、グループ処理部51は、その要求に対する応答に基づいてグループDB53を更新する。また、グループ処理部51は、自分が加入しているグループに端末が追加されたとき、またはそのグループから端末が離脱したときは、グループDB53を更新する。
マルチキャスト制御部52は、受信したマルチキャストメッセージ(端末検索要求メッセージを除く)の送信元端末が、自分と同じグループに加入しているか否かを判定する。送信元端末が自分と同じグループに加入しているときは、マルチキャスト制御部52は、その受信メッセージをメッセージ処理部23に渡す。一方、送信元端末が自分と同じグループに加入していないときは、マルチキャスト制御部52は、その受信メッセージを廃棄する。
グループDB53は、自端末が加入している各グループ内に存在する端末を管理する。例えば、端末01がグループaに加入すると、グループ処理部51は、グループDB51にグループaに対応するレコードを生成する。したがって、グループDB51は、第1の実施形態の加入端末グループDB25と同様に機能を実現し得る。また、グループaに他の端末が加入しているときは、グループ処理部51は、グループ管理装置2からの通知に基づいて、グループDB51内のグループaに対応するレコードに、その端末の端末IDを登録する。
端末DB54は、グループ管理装置2に設けられている端末DB54と実質的に同じである。ただし、端末に設けられる端末DB54には、その端末が加入しているグループ内の端末のIPアドレスのみが格納されるようにしてもよい。
第2の実施形態のデバイス端末は、図24に示すように、通信部31、メッセージ処理部32、サービス実行部33、デバイス定義格納部34、サービス定義格納部35、マルチキャスト制御部61、サービスアクセス制御部62、グループDB63、端末DB64を有する。また、図示しないが、デバイス端末は、コントローラ端末と同様に、グループ処理部51を有している。なお、通信部31、メッセージ処理部32、サービス実行部33、デバイス定義格納部34、サービス定義格納部35は、第1の実施形態のデバイス端末に設けられている対応する要素と実質的に同じなので、説明を省略する。
マルチキャスト制御部61は、受信したマルチキャストメッセージ(端末検索要求メッセージを含む)の送信元端末が、自分と同じグループに加入しているか否かを判定する。送信元端末が自分と同じグループに加入しているときは、マルチキャスト制御部61は、その受信メッセージをメッセージ処理部32に渡す。一方、送信元端末が同じグループが自分と同じグループに加入していないときは、マルチキャスト制御部61は、その受信メッセージを廃棄する。
サービスアクセス制御部62は、端末検索要求および定義情報要求に対して必要な処理を実行する。例えば、端末検索要求に対する応答メッセージが、端末検索要求の送信元端末が加入しているグループに対して許可されていないサービスに係わる情報を含むときには、サービスアクセス制御部62は、その応答メッセージを送信することなく廃棄する。また、定義情報要求に対応する定義情報が、定義情報要求の送信元端末が加入しているグループに対して許可されていない記述を含むときは、サービスアクセス制御部62は、定義情報からその許可されていない記述を削除する。
グループDB63は、グループ管理装置2に設けられているグループDB17またはコントローラ端末に設けられているグループDB53と実質的に同じである。また、端末DB64は、グループ管理装置2に設けられている端末DB42またはコントローラ端末に設けられている端末DB54と実質的に同じである。
図26は、第2の実施形態におけるグループ加入手順の一例を示す。ここでは、図23に示す端末01〜03がそれぞれ対応する1または複数のグループに加入しているものとする。また、グループ管理装置2は、図3に示すグループ加入ポリシDB16を有している。
第2の実施形態におけるグループ加入手順は、図10に示す第1の実施形態の手順と類似している。例えば、端末01がグループ管理装置2にグループ情報を要求する手順、および端末01がグループaを指定してグループ加入要求をグループ管理装置1へ送信する手順は、図10に示す第1の実施形態と実質的に同じである。
ただし、第2の実施形態においては、あるグループの構成が変化すると、そのグループ内に加入している各端末にその変化が通知される。たとえば、端末02は、図26に示すように、グループaへの加入を要求するグループ加入要求をグループ管理装置2へ送信する。このとき、グループaには、既に端末01が加入している。このため、端末02に送信されるグループ加入応答により、既にグループaに加入している端末01の情報が通知される。さらに、グループ管理装置2は、グループ変更通知を用いて、グループaに端末02が加入したことを端末01に通知する。したがって、各端末は、それぞれ自分が加入しているグループ内に加入している他の端末を認識することができる。
図27は、第2の実施形態におけるサービス要求手順の一例を示す。この例では、端末01が端末02に対してサービスを要求するものとする。なお、端末01は、図26に示す手順によりグループaに加入しているが、グループbには加入していない。また、端末02はグループaおよびグループbに加入しており、端末03はグループbのみに加入している。
端末01は、端末検索要求(M−SEARCH)メッセージをグループ管理装置2へ送信する。このM−SEARCHメッセージは、マルチキャストメッセージである。なお、グループ管理装置2は、図26を参照しながら説明したグループ管理機能に加えて、端末間でメッセージを中継する中継サーバ機能を提供する。
グループ管理装置2は、端末01からM−SEARCHメッセージを受信すると、第1の実施形態の中継装置1とは異なり、このM−SEARCHメッセージをサブネット内のすべての端末へマルチキャスト転送する。したがって、このM−SEARCHメッセージは、図27に示すように、端末02および端末03によって受信される。
端末02は、グループDB63を参照してM−SEARCHメッセージの送信元端末が加入しているグループを検出する。この実施例では、M−SEARCHメッセージの送信元端末(すなわち、端末01)がグループaに加入していることを検出する。ここで、端末02もグループaに加入している。したがって、端末02は、M−SEARCH応答メッセージをグループ管理装置2へ返送する。そして、グループ管理装置2は、このM−SEARCH応答メッセージを端末01へ転送する。この結果、端末01は、同じグループに加入している端末02の存在を認識する。
一方、端末03は、グループaに加入していない。この場合、端末03は、M−SEARCH応答メッセージを返送することなく、受信したM−SEARCHメッセージを廃棄する。したがって、端末01は、端末03の存在を認識できない。
なお、M−SEARCHメッセージを受信したデバイス端末は、M−SEARCH応答メッセージを返送するか否かをサービス毎に制御してもよい。例えば、端末02は、グループaに対して許可されているプリンタサービスが存在することを表すM−SEARCH応答メッセージを送信し、グループaに対して許可されていないファックスサービスが存在することを表すM−SEARCH応答メッセージを送信しないようにしてもよい。
続いて、端末01は、第1の実施形態と同様に、端末02のデバイス定義情報を要求するデバイス定義要求メッセージをグループ管理装置2へ送信する。そうすると、グループ管理装置2は、このデバイス定義要求メッセージを端末02へ転送する。
端末02は、デバイス定義要求メッセージを受信すると、端末02のデバイス定義情報を含む応答メッセージを作成してグループ管理装置2へ送信する。このとき、端末02はグループ対応処理を実行する。すなわち、端末02は、デバイス定義要求メッセージの送信元端末が加入しているグループを検出する。この実施例では、デバイス定義要求メッセージの送信元端末(即ち、端末01)がグループaに加入していることが検出される。この場合、端末02は、端末02のデバイス定義情報から、グループaに対して許可されていない記述を削除する。そして、端末02は、グループ対応処理後のデバイス定義情報を含む応答メッセージをグループ管理装置2へ送信する。グループ管理装置2は、この応答メッセージを端末01へ転送する。
したがって、端末01には、端末01が加入しているグループに対して許可されている情報のみが提供される。すなわち、デバイス端末(ここでは、端末02)は、デバイス定義要求メッセージの送信元端末の属性に応じて、提供する情報を制限することができる。
この後、端末01は、受信したデバイス定義情報内にリストアップされている各サービスに係わるサービス定義情報を要求する。なお、サービス定義要求の手順は、デバイス定義要求と類似しているので、説明を省略する。
端末01は、上述のようにして取得したデバイス定義情報およびサービス定義情報を利用して、端末02に対してサービス/アクションの実行を要求することができる。この場合、端末01は、取得したデバイス定義情報およびサービス定義情報を利用して、サービス要求メッセージをグループ管理装置2へ送信する。グループ管理装置2は、このサービス要求メッセージを端末02へ転送する。そうすると、端末02は、サービス要求メッセージに応じてサービスを提供または実行する。さらに、端末02は、応答メッセージをグループ管理装置2を介して端末01へ転送する。
なお、端末01は、加入しているグループから離脱するときは、グループ管理装置2へグループ離脱要求メッセージを送信する。そうすると、グループ管理装置2において、グループDB17から端末01が削除される。この後、中継装置1は、離脱成功を表す応答メッセージを端末01へ返送する。そうすると、端末01において、グループDB53からグループaに係わる情報が削除される。
さらに、グループ管理装置2は、グループaの構成が変化したことをグループa内の各端末に通知する。この例では、グループ管理装置2は、グループ変更通知を用いて、グループaから端末01が離脱したことを端末02に通知する。
このように、第2の実施形態においては、デバイス端末は、端末検索要求の送信元端末が自分と同じグループに加入していないときは、応答メッセージを返送しない。よって、第2の実施形態に係わるネットワークシステムは、コントローラ端末に対して、そのコントローラ端末と同じグループに属していないデバイス端末の存在を隠すことができる。
また、第2の実施形態においては、デバイス端末は、定義情報要求メッセージの送信元端末に対して許可されていない記述を、デバイス定義情報/サービス定義情報から削除する。即ち、コントローラ端末には、そのコントローラ端末が加入しているグループに対して許可されているデバイス定義情報/サービス定義情報のみが提供される。これにより、サービスを要求する端末の属性に応じて対応するサービスを提供するアクセス制御方式が実現される。
図28は、グループ処理部51の処理を示すフローチャートである。グループ処理部51は、図24に示すように、端末(コントローラ端末またはデバイス端末)に設けられている。
第2の実施形態のグループ処理部51の処理(S1〜S14)は、実質的に第1の実施形態と同じである。すなわち、グループ処理部51は、指定されたグループへの加入要求および指定されたグループからの離脱要求などに係わる処理を実行する。なお、第2の実施形態においては、S14において、グループDB(53または63)が更新される。
第2の実施形態においては、グループ処理部51は、グループ管理装置2からグループ変更通知を受信したときは、S15の処理を実行する。S15において、グループ処理部51は、受信したグループ変更通知に応じてグループDB53を更新する。例えば、図26に示す例では、端末02がグループaに加入したときに、グループ管理装置2から端末01へグループ変更通知が送信される。この場合、端末01において、グループ処理部51は、グループaに対応するレコードに端末02を登録する。この後、グループ処理部51は、グループ管理装置2へ応答メッセージを送信してもよい。
図29は、第2の実施形態のグループ管理部41の処理を示すフローチャートである。グループ管理部41は、図24に示すように、グループ管理装置2に設けられている。
第2の実施形態のグループ処理部41の処理(S31〜S45)は、実質的に第1の実施形態と同じである。すなわち、グループ処理部41は、グループ加入要求において指定されたグループへの加入、およびグループ離脱要求において指定されたグループからの離脱に係わる処理などを実行する。
ただし、S38〜S39において離脱処理が実行されたときは、グループ管理部41の処理はS46へ移動する。S46において、グループ管理部41は、端末離脱が実行されたグループ内の端末へグループ変更通知を送信する。例えば、図27に示す実施例において、端末01がグループaから離脱したときは、グループ管理部41は、グループaに加入している端末へグループ変更通知を送信する。この場合、グループaから端末01が離脱したことを表すグループ変更通知が端末02へ送信される。
また、S43〜S44において加入処理が実行されたときは、グループ管理部41の処理はS47へ移動する。S47において、グループ管理部41は、端末加入が実行されたグループ内の端末へグループ変更通知を送信する。たとえば、図27に示す実施例において、端末02がグループaに加入したときは、グループ管理部41は、グループaに先に加入している端末へグループ変更通知を送信する。この場合、グループaに端末02が加入したことを表すグループ変更通知が端末01へ送信される。
図30は、第2の実施形態において端末に設けられている通信部の処理を示すフローチャートである。この端末は、コントローラ端末に設けられている通信部21またはデバイス端末に設けられている通信部31に相当する。なお、図30は、端末が無線リンクを介してメッセージを受信したときの処理を示している。
S91〜S92において、通信部は、受信メッセージの種別を検出する。通信部の処理は、受信メッセージの種別に応じて決定される。
端末がマルチキャストメッセージを受信したときは、通信部は、S93において、そのメッセージをマルチキャスト制御部61(コントローラ端末01においては、マルチキャスト制御部52)に渡す。端末がサービス要求メッセージを受信したときは、通信部は、S94において、そのメッセージをサービス実行部33に渡す。端末が定義要求メッセージ(デバイス定義要求メッセージ、サービス定義要求メッセージを含む)を受信したときは、通信部は、S95において、そのメッセージをメッセージ処理部32に渡す。端末がグループ情報要求、グループ加入要求またはグループ離脱要求に対する応答メッセージを受信したときは、通信部は、S96において、そのメッセージをグループ処理部51に渡す。端末が他のメッセージを受信したときは、通信部は、S97において、そのメッセージをメッセージ処理部32(コントローラ端末01においては、メッセージ処理部23)に渡す。なお、メッセージ処理部23、32は、例えば、UPnP標準に基づいてメッセージを処理する。
図31は、マルチキャスト制御部61の処理を示すフローチャートである。マルチキャスト制御部61は、例えば、図24に示すように、デバイス端末において動作する。
S101において、マルチキャスト制御部61は、他の端末から送信されたマルチキャストメッセージを受信する。なお、コントローラ端末から送信される端末検索要求(M−SEARCH)メッセージは、マルチキャストメッセージである。
S102において、マルチキャスト制御部61は、受信メッセージの送信元IPアドレスで端末DB64を参照することにより、このメッセージの送信元端末の端末IDを特定する。
S103において、マルチキャスト制御部61は、特定した端末IDでグループDB63を参照することにより、このメッセージの送信元端末が加入しているグループを特定する。以下の説明では、このようにして特定したグループを「グループX」と呼ぶことにする。すなわち、グループXは、受信したマルチキャストメッセージの送信元の端末が加入しているグループを表す。
S104〜S105において、マルチキャスト制御部61は、グループDB63を参照して、自端末がグループXに加入しているか否かを判定する。すなわち、マルチキャストメッセージの送信元端末および自端末が、同じグループに属しているか判定される。
自端末がグループXに加入しているときは、マルチキャスト制御部61は、S106において、受信したマルチキャストメッセージをメッセージ処理部32に渡す。一方、自端末がグループXに加入していないときは、マルチキャスト制御部61は、S107において、受信したマルチキャストメッセージを廃棄する。
メッセージ処理部32は、特に図示しないが、UPnP標準に基づいてメッセージを処理することができる。例えば、端末検索要求(M−SEARCH)メッセージを受信すると、メッセージ処理部32は、応答メッセージ(M−SEARCH応答メッセージ)を生成する。このとき、メッセージ処理部32は、端末の存在を通知する応答メッセージおよび提供可能なサービスの存在を通知する応答メッセージを生成することができる。また、定義要求を受信すると、メッセージ処理部32は、対応する定義情報(デバイス定義情報またはサービス定義情報)を含む応答メッセージを生成することができる。
図32は、サービスアクセス制御部62の処理を示すフローチャートである。サービスアクセス制御部62は、例えば、図24に示すように、デバイス端末において動作する。
S111〜S112において、サービスアクセス制御部62は、メッセージ処理部32から受信するメッセージの種別を検出する。サービスアクセス制御部62の処理は、受信したメッセージの種別に応じて決定される。
端末検索要求に対する応答メッセージ(即ち、M−SEARCH応答メッセージ)を受信したときは、サービスアクセス制御部62の処理はS113へ移動する。S113〜S114において、サービスアクセス制御部62は、M−SEARCHメッセージの送信元端末へM−SEARCH応答メッセージを送信するか否かを判定する。このとき、サービスアクセス制御部62は、端末DB64を参照して、M−SEARCH応答メッセージの宛先IPアドレス(すなわち、M−SEARCHメッセージの送信元IPアドレス)から対応する端末IDを特定する。また、サービスアクセス制御部62は、グループDB63を参照して、この端末IDにより識別される端末が加入しているグループを特定する。そして、サービスアクセス制御部62は、デバイス定義情報内に記述されているアクセスポリシに基づいて、特定したグループに対して応答メッセージを送信してもよいか否かを判定する。すなわち、M−SEARCHメッセージの送信元端末に対して応答メッセージを送信してもよいか否かが判定される。この判定は、提供可能なサービス毎(すなわち、デバイス定義情報にリストアップされているサービス毎)に実行される。
M−SEARCHメッセージの送信元端末に対して情報の提供が許可されているときには、サービスアクセス制御部62は、S115において、その送信元端末へM−SEARCH応答メッセージを送信する。一方、M−SEARCHメッセージの送信元端末に対して情報の提供が許可されていないときは、サービスアクセス制御部62は、S116において、M−SEARCH応答メッセージを送信することなく廃棄する。
定義要求に対する応答メッセージを受信したときは、サービスアクセス制御部62の処理はS117へ移動する。S117において、サービスアクセス制御部62は、応答メッセージに含まれている定義情報(デバイス定義情報またはサービス定義情報)を、定義要求の送信元端末に提供できるか否かを判定する。このとき、サービスアクセス制御部62は、端末DB64を参照して、定義情報を含む応答メッセージの宛先IPアドレス(すなわち、定義要求の送信元IPアドレス)から対応する端末IDを特定する。また、サービスアクセス制御部62は、グループDB63を参照して、この端末IDにより識別される端末が加入しているグループを特定する。さらに、サービスアクセス制御部62は、デバイス定義情報内に記述されているアクセスポリシに基づいて、特定したグループに対して定義情報を提供してもよいか判定する。すなわち、定義要求の送信元端末に対して定義情報を提供してもよいか否かが判定される。この判定は、提供可能なサービス毎(即ち、デバイス定義情報のリストアップされているサービス毎)に実行される。そして、提供することが許可されていない記述が定義情報中に含まれているときは、サービスアクセス制御部62は、定義情報からその記述を削除する。
S118において、サービスアクセス制御部62は、要求された定義情報を含む応答メッセージを、定義要求の送信元端末へ送信する。なお、この応答メッセージ中の定義情報からは、定義要求の送信元の端末に対して許可されていない記述は削除されている。
次に、端末検索要求およびその応答についての実施例を説明する。以下の説明では、図23に示すネットワークシステムにおいて、コントローラ端末01が端末検索要求を実行するものとする。
デバイス端末02は、デバイス定義格納部34に図33に示すデバイス定義情報を有するものとする。この実施例では、デバイス端末02は、2つのサービス(プリンタサービスおよびファックスサービス)を提供することができる。また、デバイス定義情報において、提供可能なサービス毎に、アクセスポリシが記述されている。したがって、サービス毎に提供先を制限することができる。この例では、プリンタサービスはグループaおよびグループbに対して許可されており、ファックスサービスはグループbのみに許可されている。なお、図33に示す例では、アクセスポリシは、XMLコメントで記述されているが、他の方法で記述してもよい。例えば、アクセスポリシを記述するために新たなタグを定義してもよい。
コントローラ端末01は、端末検索要求(M−SEARCH)メッセージをグループ管理装置2へ送信する。M−SEARCHメッセージは、図18(a)に示すように、サブネット内のすべての端末およびサービスを検索するものとする。また、このM−SEARCHメッセージは、マルチキャストメッセージである。よって、このM−SEARCHメッセージは、第1の実施形態とは異なり、サブネット内のすべての端末へ転送される。
各端末は、それぞれグループDB(53、63)を有している。よって、M−SEARCHメッセージを受信した各端末は、そのM−SEARCHメッセージの送信元がコントローラ端末01であること、及びコントローラ端末01がグループaに参加していることを認識する。
端末03は、グループbに加入しているが、グループaには加入していない。即ち、コントローラ端末01および端末03は、同じグループに属していない。したがって、端末03は、コントローラ端末01から送信されたM−SEARCHメッセージに対して応答メッセージを返送しない。この結果、コントローラ端末01は、端末03の存在を検出できない。
端末02は、グループaおよびグループbに加入している。即ち、コントローラ端末01および端末03は、いずれもグループaに属している。したがって、端末03は、コントローラ端末01から送信されたM−SEARCHメッセージに対して応答メッセージを返送する。この結果、コントローラ端末01は、端末03の存在を検出する。
このとき、端末02は、デバイス定義情報内にリストアップされている各サービスについてそれぞれ応答メッセージを生成する。ただし、端末02は、デバイス定義情報内に記述されているアクセスポリシを参照して、これらの応答メッセージをコントローラ端末01に送信するか否かを判定する。図33に示す例では、プリンタサービスは、グループaおよびグループbに対して許可されているが、ファックスサービスはグループbのみに対して許可されている。この場合、端末02は、プリンタサービスの存在を通知するための応答メッセージをコントローラ端末01へ送信する。一方、端末02は、ファックスサービスの存在を通知するための応答メッセージを廃棄する。
このように、コントローラ端末01には、コントローラ端末01が加入しているグループに対して許可されているサービスの情報のみが提供される。すなわち、端末02は、コントローラ端末01の属性に基づいて、コントローラ端末01に提供するサービスを制限できる。
次に、第2の実施形態において、コントローラ端末がデバイス端末に定義情報を要求する手順の実施例を説明する。以下の説明では、コントローラ端末01は、端末検索手順において、デバイス端末02から図19に示すM−SEARCH応答メッセージを受信しているものとする。
コントローラ端末01は、デバイス定義要求メッセージ(HTTP GETメッセージ)を生成してデバイス端末02へ送信する。このとき、図19に示すM−SEARCH応答メッセージのLocationフィールドに設定されているURLが指定される。
このデバイス定義要求メッセージは、グループ管理装置2により転送され、デバイス端末02により受信される。そうすると、デバイス端末02は、図33に示すデバイス定義情報を含む応答メッセージを作成する。
但し、デバイス端末02は、この応答メッセージを送信する前に、デバイス定義情報内に記述されているアクセスポリシを参照する。そして、デバイス端末02は、サービス毎に、コントローラ端末01に定義情報を提供してもよいか否かを判定する。図33に示す例では、プリンタサービスは、グループaおよびグループbに対して許可されているが、ファックスサービスはグループbのみに対して許可されている。この場合、ファックスサービスについての定義情報はコントローラ端末01に提供しない、と判定される。そうすると、デバイス端末02は、デバイス定義情報において、ファックスサービスに係わる記述(<service>から</service>まで)を削除する。そして、デバイス端末02は、更新されたデバイス定義情報を含む応答メッセージをコントローラ端末01へ送信する。
この後、コントローラ端末01は、デバイス端末02にサービス定義情報を要求する。そうすると、デバイス端末02は、グループaに対して許可されていない記述が削除されたサービス定義情報をコントローラ端末01へ送信する。デバイス端末からコントローラ端末へサービス定義情報を提供する手順は、デバイス端末からコントローラ端末へデバイス定義情報を提供する手順と類似しているので、詳しい説明は省略する。
<他の実施形態>
第1の実施形態では、中継装置1においてマルチキャスト端末検索要求メッセージからユニキャスト端末検索要求メッセージへの変換が行われる。この変換処理は、任意の端末で行われるようにしてもよい。この場合、端末は、各グループの構成を表す情報をグループ管理装置から受け取り、マルチキャスト端末検索要求メッセージの送信元端末が加入しているグループを判定する。そして、端末は、判定したグループ内の各端末にユニキャスト端末検索要求メッセージを送信する。この構成によれば、中継装置を経由しない通信を行うことが可能となる。
図1に示すネットワークにおいて、中継装置1は、受信したマルチキャスト端末検索要求メッセージそのままサブネット内のすべての端末に転送してもよい。但し、この場合、中継装置1は、サブネット内の各デバイス端末から送信される応答メッセージのうち、マルチキャスト端末検索要求メッセージの送信元端末に対して提供することが許容されない応答メッセージを廃棄する。このとき、中継装置1は、グループDB17およびアクセスポリシDB16を参照する。
上述した実施形態では、コントローラ端末の属性に応じて、そのコントローラ端末に提供するサービスの種別が制限される。これに加えて、実施形態のアクセス制御方法は、端末の属性に応じて、サービス定義情報内に記述されている個々のアクションの実行を制限してもよい。例えば、プリンタサービスを提供するデバイス端末のサービス定義情報において、複数のアクション(電源投入アクション、電源切断アクション、カラー印刷アクション、白黒印刷アクションなど)が記述されているものとする。この場合、各アクションについて、実行を許可するグループが指定される。図34に示す例では、電源投入アクションがグループaに対して許可されている。この構成によれば、特定のグループに加入している端末にのみ特定のアクションを実行させることが可能である。
同様に、実施形態のアクセス制御方法は、端末の属性に応じて、サービス定義情報内に記述されている個々の状態変数の提供を制限してもよい。たとえば、サービス定義情報において、複数の状態変数(印刷ページ数、プリンタ用紙の残量、トナーの残量など)が記述されているものとする。この場合、各状態変数について、提供を許可するグループが指定される。図34に示す例では、印刷ページ数の参照がグループaに対して許可されている。この構成によれば、特定のグループに加入している端末にのみ特定の状態変数の参照が許可される。
なお、UPnPでは、状態変数が更新される毎にイベントを通知するための手順が定義されている。このとき、イベント通知メッセージに設定された状態変数名とサービス定義情報に含まれている状態変数毎のアクセスポリシとを比較し、状態変数へのアクセスが許可されたグループに加入している端末に対してのみ、そのイベント通知メッセージを送信するようにしてもよい。この場合、状態変数にアクセスできる端末をグループ毎に制限することが可能となる。
上述の実施形態では、グループ毎にアクセス制御が行われるが、コントローラ端末が加入するグループに関わらず、特定のコントローラ端末が常に特定のサービスを受けられるように構成してもよい。この構成を実現するための方法を、第1の実施形態に基づいて説明する。
アクセスポリシDB19のアクセスポリシ欄には、端末を識別する端末IDを登録することができる。中継装置1は、マルチキャスト端末検索要求メッセージを受信すると、アクセスポリシDB19のアクセスポリシ欄を参照して、そのメッセージの送信元を識別する端末IDが登録されたサービス種別を検索する。そのようなサービス種別が検索されなければ、加入グループに基づくアクセス制御が実行される。一方、そのようなサービス種別が検索された場合は、中継装置1は、そのサービスを提供するデバイス端末に対して端末検索要求メッセージを送信する。これにより、コントローラ端末は、上記サービスを提供するデバイス端末から端末検索応答メッセージを受信することができる。
<ハードウェア構成>
図35は、実施形態のネットワークシステムにおいて使用される装置のハードウェア構成を示す。ネットワークシステムにおいて使用される装置は、端末(コントローラ端末およびデバイス端末)、第1の実施形態の中継装置1、第2の実施形態のグループ管理装置2を含む。また、各装置は、例えば、図35に示すコンピュータシステム100により実現される。
コンピュータシステム100は、CPU101、メモリ102、記憶装置103、読み取り装置104、通信インタフェース106、および入出力装置107を備える。CPU101、メモリ102、記憶装置103、読み取り装置104、通信インタフェース106、入出力装置107は、例えば、バス108を介して互いに接続されている。
CPU101は、メモリ102を利用してアクセス制御プログラムを実行することにより、上述したフローチャートに示す機能を提供することができる。メモリ102は、例えば半導体メモリであり、RAM領域およびROM領域を含んで構成される。記憶装置103は、例えばハードディスク装置であり、アクセス制御プログラムを格納できる。なお、記憶装置103は、フラッシュメモリ等の半導体メモリであってもよい。また、記憶装置103は、外部記録装置であってもよい。
読み取り装置104は、CPU101の指示に従って着脱可能記録媒体105にアクセスする。着脱可能記録媒体105は、例えば、半導体デバイス(USBメモリ等)、磁気的作用により情報が入出力される媒体(磁気ディスク等)、光学的作用により情報が入出力される媒体(CD−ROM、DVD等)などにより実現される。通信インタフェース106は、CPU101の指示に従ってネットワークを介してデータを送受信する。入出力装置107は、例えば、ユーザからの指示を受け付けるデバイスなどを含む。
実施形態のアクセス制御プログラムは、例えば、下記の形態でコンピュータシステム100に提供される。
(1)記憶装置103に予めインストールされている。
(2)着脱可能記録媒体105により提供される。
(3)プログラムサーバ110から提供される。
以上記載した各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
端末間の通信を中継する中継サーバであって、
グループごとに提供可能なサービスを指定するポリシ情報を格納するポリシ情報格納部と、
第1の端末からの要求に対応する第2の端末による応答に含まれている応答情報を前記ポリシ情報に基づいて処理する処理部と、
前記処理部により処理された応答情報を前記第1の端末へ送信する通信部と、を有し、
前記処理部は、前記第2の端末が提供可能なサービスが、前記第1の端末が加入しているグループに提供可能なサービスに制限されるように、前記応答情報を処理する、
ことを特徴とする中継サーバ。
(付記2)
前記応答情報は、前記第2の端末が提供可能なサービスに係わる記述を含み、
前記処理部は、前記応答情報から、前記第1の端末が加入しているグループに提供可能なサービス以外のサービスに係わる記述を削除する
ことを特徴とする付記1に記載の中継サーバ。
(付記3)
グループ毎に加入している端末を表すグループ情報を格納するグループ情報格納部と、
ネットワーク内に存在する端末を検索する端末検索要求を前記第1の端末から受信したときに、前記グループ情報に基づいて、前記第1の端末と同じグループに属する端末に前記端末検索要求を送信する検索要求処理部と、をさらに有する
ことを特徴とする付記1または2に記載の中継サーバ。
(付記4)
前記端末検索要求は、ネットワーク内の複数の端末へ送信されるマルチキャストメッセージに格納されて前記第1の端末から送信され、
前記検索要求処理部は、前記第1の端末から受信したマルチキャストメッセージをユニキャストメッセージに変換し、前記第1の端末と同じグループに加入している各端末へそれぞれ前記ユニキャストメッセージを送信する
ことを特徴とする付記3に記載の中継サーバ。
(付記5)
前記端末検索要求を受信した端末から返送されてくる応答メッセージの中に、前記第1の端末が加入しているグループに対して許可されていないサービスに係わる情報が含まれているときは、前記検索要求処理部は、前記応答メッセージを前記第1の端末へ転送することなく廃棄する
ことを特徴とする付記3に記載の中継サーバ。
(付記6)
端末間の通信を中継する中継サーバにおいて使用されるアクセス制御方法であって、
第1の端末から送信される要求を第2に端末へ転送し、
前記要求に対応する応答を前記第2の端末から受信し、
グループごとに提供可能なサービスを指定するポリシ情報に基づいて、前記第2の端末が提供可能なサービスが、前記第1の端末が加入しているグループに提供可能なサービスに制限されるように、前記応答に含まれている応答情報を処理し、
処理された応答情報を前記第1の端末へ送信する、
ことを特徴とするアクセス制御方法。
(付記7)
第1の端末から送信される要求を第2に端末へ転送し、
前記要求に対応する応答を前記第2の端末から受信し、
グループごとに提供可能なサービスを指定するポリシ情報に基づいて、前記第2の端末が提供可能なサービスが、前記第1の端末が加入しているグループに提供可能なサービスに制限されるように、前記応答に含まれている応答情報を処理し、
処理された応答情報を前記第1の端末へ送信する、
処理をコンピュータに実行させるアクセス制御プログラム。
(付記8)
サービス要求端末からの要求に応答するサービス提供装置であって、
前記サービス提供装置が提供可能なサービスに係わる情報を記述した定義情報を格納する定義情報格納部と、
前記定義情報を要求する定義要求を受信したときに、前記サービス提供装置が提供可能なサービスが、前記サービス要求端末が加入しているグループに提供可能なサービスに制限されるように、前記定義情報を処理する処理部と、
前記処理部により処理された定義情報を前記サービス要求端末へ送信する通信部と、
を有するサービス提供装置。
(付記9)
前記処理部は、前記定義情報から、前記サービス要求端末が加入しているグループに提供可能なサービス以外のサービスに係わる記述を削除する
ことを特徴とする付記8に記載のサービス提供装置。
(付記10)
グループ毎に加入している端末を表すグループ情報を格納するグループ情報格納部と、
ネットワーク内に存在する端末を検索する端末検索要求を前記サービス要求端末から受信したときに、前記グループ情報に基づいて、前記サービス要求端末および前記サービス提供装置が同じグループに加入しているか判定する判定部と、
前記サービス要求端末および前記サービス提供装置が同じグループに加入しているときは、前記端末検索要求に対応する応答メッセージを生成して前記サービス要求端末へ送信し、前記サービス要求端末および前記サービス提供装置が同じグループに加入していないときは、前記端末検索要求を廃棄する送信部と、をさらに有する
ことを特徴とする付記8または9に記載のサービス提供装置。
(付記11)
前記応答メッセージの中に、前記サービス要求端末が加入しているグループに対して許可されていないサービスに係わる情報が含まれているときは、前記送信部は、前記応答メッセージを前記サービス要求端末へ送信することなく廃棄する
ことを特徴とする付記10に記載のサービス提供装置。
(付記12)
サービス要求端末からの要求に応答するサービス提供装置において使用されるアクセス制御方法であって、
サービス要求端末からの要求に応じて、前記サービス提供装置が提供可能なサービスに係わる情報を記述した定義情報を定義情報格納部から読み出し、
前記サービス提供装置が提供可能なサービスが、前記サービス要求端末が加入しているグループに提供可能なサービスに制限されるように、前記定義情報を処理し、
処理された定義情報を前記サービス要求端末へ送信する、
ことを特徴とするアクセス制御方法。
(付記13)
サービス要求端末からの要求に応じて、提供可能なサービスに係わる情報を記述した定義情報を定義情報格納部から読み出し、
前記提供可能なサービスが、前記サービス要求端末が加入しているグループに提供可能なサービスに制限されるように、前記定義情報を処理し、
処理された定義情報を前記サービス要求端末へ送信する、
処理をコンピュータに実行させるアクセス制御プログラム。