(57)【要約】【課題】  ネットワーク上に公開するサービスの一部の利用を制限することは出来なかった。【解決手段】  ネットワークに公開するサービスを、構造化言語を含むメッセージにより発見し、発見したサービスを利用するためのメッセージ処理装置が、公開メッセージを受信し、受信した公開メッセージに含まれる所定の識別子に対応する公開メッセージの一部の形式を変更する。また、構造化言語を含む操作メッセージを受信し、受信した操作メッセージに含まれる所定の識別子に対応する操作メッセージの一部の形式を変更する。【選択図】  図１
2009032000.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに公開するサービスを、構造化言語を含むメッセージにより発見し、発見したサービスを利用するためのメッセージ処理方法において、
公開メッセージを受信する工程と、
受信した公開メッセージに含まれる所定の識別子に対応する公開メッセージの一部の形式を変更する工程と、
を有することを特徴とするメッセージ処理方法。
【請求項２】
請求項１に記載のメッセージ処理方法において、
前記識別子に対応する公開メッセージの一部の形式を変更できない場合、前記識別子に対応する公開メッセージの一部を削除する、乃至、前記識別子に対応する公開メッセージの一部の処理を実行しない工程と、
を有することを特徴とするメッセージ処理方法。
【請求項３】
構造化言語を含む操作メッセージを受信する工程と、
受信した操作メッセージに含まれる所定の識別子に対応する操作メッセージの一部の形式を変更する工程と、
を有することを特徴とするメッセージ処理方法。
【請求項４】
請求項３に記載のメッセージ処理方法において、
前記識別子に応じて前記操作メッセージのヘッダの一部の形式を変更する工程と、
を有することを特徴とするメッセージ処理方法。
【請求項５】
請求項１〜３の何れか１項に記載のメッセージ処理方法において、
前記変更する工程では、暗号化された形式のメッセージの一部を復号化することを特徴とするメッセージ処理方法。
【請求項６】
構造化言語を含むメッセージを利用してサービス内容をネットワークに公開するメッセージ処理方法において、
公開メッセージの一部を所定の形式に変更する工程と、
前記所定の形式に対応した識別子を前記公開メッセージに付与する工程と、
前記変更された公開メッセージをネットワークに公開する工程と、
を有することを特徴とするメッセージ処理方法。
【請求項７】
構造化言語を含む通知メッセージの一部を所定の形式に変更する工程と、
前記所定の形式に対応した識別子を前記通知メッセージに付与する工程と、
前記変更された通知メッセージをネットワークに送信する工程と、
を有することを特徴とするメッセージ処理方法。
【請求項８】
請求項６または７に記載のメッセージ処理方法において、
前記所定の形式が暗号化された形式であることを特徴とするメッセージ処理方法。
【請求項９】
請求項１〜８のメッセージ処理方法を、コンピュータに実行させるためのプログラム。
【請求項１０】
ネットワークに公開されるサービスを示す公開メッセージを受信する手段と、
受信した公開メッセージに含まれる所定の識別子に対応する部分を、受信した公開メッセージに含まれる所定の識別子により特定される方法で復号化する手段と、
を有することを特徴とするメッセージ処理装置。
【請求項１１】
ネットワークに公開されるサービスを示す公開メッセージを受信する手段と、
受信した公開メッセージに含まれる所定の識別子に対応する部分を、受信した公開メッセージに含まれる所定の識別子により特定される鍵で復号化する手段と、
を有することを特徴とするメッセージ処理装置。
【請求項１２】
操作メッセージを受信する手段と、
受信した操作メッセージに含まれる所定の識別子に対応する部分を、受信した操作メッセージに含まれる所定の識別子により特定される方法で復号化する手段と、
復号化した結果に含まれる操作名を検出する手段と、
を有することを特徴とするメッセージ処理装置。
【請求項１３】
操作メッセージを受信する手段と、
受信した操作メッセージに含まれる所定の識別子に対応する部分を、受信した操作メッセージに含まれる所定の識別子により特定される鍵で復号化する手段と、
復号化した結果に含まれる操作名を検出する手段と、
を有することを特徴とするメッセージ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークにサービスを公開する機器において、サービスの一部を公開できるようにする制御方法および制御装置に関する。
【背景技術】
【０００２】
ネットワークに接続されるネットワーク接続機器を、複数、ネットワークに接続して、ネットワーク接続装置同士を相互連携利用する形態が普及している。このような、複数のネットワーク接続装置をネットワークに接続して利用する場合、一方のネットワーク接続装置が他方のネットワーク接続装置に保持するサービスを伝える必要があった。例えば、ネットワーク接続装置は、ＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）を利用し、ネットワーク上にサービスを公開していた。
【０００３】
また、ホットスポットのような悪意のある第三者が存在する環境である場合、ＵＰｎＰのサービス情報の任意な部分を隠蔽する必要がある。例えば、ＵＰｎＰを利用して対象の機器からサービス情報を取得する際に、ネットワークに送出されるサービス情報の一部を暗号化する方法がある。（例えば、特許文献１参照）また、ＵＰｎＰが扱うサービス情報にセキュリティ処理手続きが記述されたセキュリティ処理情報を付与し、データに対して暗号化処理、署名処理を実行する方法もある（例えば、特許文献２参照）。
【特許文献１】特開２００５−２７５８４５号公報
【特許文献２】特開２００５−３４６５６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来技術では、ネットワーク上に公開するサービスの一部の利用を制限することは出来なかった。
【０００５】
そこで、本発明は、ネットワーク上に公開するサービスの一部の利用を制限することを目標とする。
【課題を解決するための手段】
【０００６】
本発明のメッセージ処理方法は、ネットワークに公開するサービスを、構造化言語を含むメッセージにより発見し、発見したサービスを利用するためのメッセージ処理方法において、公開メッセージを受信する工程と、受信した公開メッセージに含まれる所定の識別子に対応する公開メッセージの一部の形式を変更する工程と、を有することを特徴とする。
【０００７】
また、本発明のメッセージ処理方法は、構造化言語を含む操作メッセージを受信する工程と、受信した操作メッセージに含まれる所定の識別子に対応する操作メッセージの一部の形式を変更する工程と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ネットワーク制御装置において、ネットワーク上に公開するサービスの一部を、特定のグループに対してのみ、公開することが可能となる。
【発明を実施するための最良の形態】
【０００９】
＜実施形態１＞
以下、本発明の実施形態について、図面を参照して説明する。
図１は、本発明の一実施形態に係るネットワークシステムの構成図である。
【００１０】
ＵＰｎＰコントロールポイント１０１は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１００に接続している。また、ＵＰｎＰデバイス１０２は、ＬＡＮ１００に接続している。なお、本実施形態におけるＬＡＮ１００は、ＬＡＮに限るものではなく、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、アドホックネットワークでもよい。ＵＰｎＰコントロールポイント１０１、ＵＰｎＰデバイス１０２は、メッセージを処理するメッセージ処理装置である。
【００１１】
図２は、メッセージ処理装置であるＵＰｎＰコントロールポイント１０１の構成図を表している。
【００１２】
ＵＰｎＰコントロールポイント１０１は、ＰＣ（パーソナルコンピュータ）などのコンピュータシステムには限られない。すなわち、コンピュータシステム以外に、ワークステーション、ノートブックＰＣ、パームトップＰＣ、コンピュータを内蔵したテレビ等の各種家電製品、通信機能を有するゲーム機、携帯電話等でも実施可能である。さらには、これらの他のネットワーク制御装置と通信するための通信機能を有する端末、または、これらの組合せによっても実施可能である。
【００１３】
２０１は、コンピュータシステムの制御をつかさどる中央演算装置（以下ＣＰＵと記す）である。２０２は、ランダムアクセスメモリ（以下ＲＡＭと記す）であり、ＣＰＵ２０１の主メモリとして、及び実行プログラムの領域や該プログラムの実行エリアならびにデータエリアとして機能する。
【００１４】
２０３は、ＣＰＵ２０１の動作処理手順を記録しているリードオンリーメモリー（以下ＲＯＭと記す）である。ＲＯＭ２０３には、コンピュータシステムの機器制御を行うシステムプログラムである基本ソフト（ＯＳ）を記録したプログラムＲＯＭとシステムを稼動するために必要な情報などが記録されたデータＲＯＭがある。ＲＯＭ２０３の代わりに後述のＨＤＤ２０９を用いる場合もある。
【００１５】
２０４は、ネットワークインターフェース（以下ＮＥＴＩＦと記す）であり、ネットワーク（例えば、ＬＡＮ１００）を介してコンピュータシステム間のデータ転送を行うための制御や接続状況の診断を行う。
【００１６】
２０５は、ビデオＲＡＭ（以下ＶＲＡＭと記す）であり、コンピュータシステムの稼動状態を示す後述するＣＲＴ２０６の画面に表示される画像を展開し、その表示の制御を行う。２０６は、表示装置であって、例えば、ディスプレイである。以下ＣＲＴと記す。
【００１７】
２０７は、後述する外部入力装置２０８からの入力信号を制御するコントローラである。２０８は、コンピュータシステムの利用者がコンピュータシステムに対して行う操作を受け付けるための外部入力装置であり、例えば、キーボードなどである。
【００１８】
２０９は、記憶装置を示し、例えば、ハードディスクなどである。アプリケーションプログラムや、画像情報などのデータ保存用に用いられる。本実施形態におけるアプリケーションプログラムとは、本実施形態を構成するＵＰｎＰコントロールポイント処理手段を実行するソフトウェアプログラムなどである。
【００１９】
２１０は、外部入出力装置であって、例えばフロッピー（登録商標）ディスクドライブ、ＣＤ−ＲＯＭドライブなどのリムーバブル記憶メディアを入出力するものであり、上述したアプリケーションプログラムの媒体からの読み出しなどに用いられる。以下、ＦＤＤと記す。なお、ＨＤＤ２０９に格納するアプリケーションプログラムやデータをＦＤＤ２１０に格納して使用することも可能である。
【００２０】
２００は、上述した各ユニット間の接続するための入出力バス（アドレスバス、データバス、及び制御バス）である。
【００２１】
本実施形態では、ＵＰｎＰデバイス１０２をデジタルカメラとして説明する。図３は、ＵＰｎＰデバイス１０２の構成図を表している。
【００２２】
ＵＰｎＰデバイス１０２において、３００は被写体の光学像を撮像する撮像部である。３０１は撮像部３００から出力された撮像画像を所定フォーマットの画像データに変換し、画像データに透かしデータを付与する画像処理部である。３０２は画像処理部３０１から出力された画像データに対して所定の高能率符号化（例えば、ＤＣＴ変換、量子化後に可変長符号化）を行う符号化／復号化部である。符号化／復号化部３０２は又、記録再生部３０３から再生された圧縮画像データを伸長復号化し、その画像データを画像処理部３０１に供給する。
【００２３】
又、ＵＰｎＰデバイス１０２において、３０３は圧縮符号化された画像データを不図示の記録媒体に記録再生する記録再生部、３０４はＵＰｎＰデバイス１０２における処理動作を指示する操作部である。３０５はマイクロコンピュータと所定のプログラムコードを記憶可能なメモリとを具備し、ＵＰｎＰデバイス１０２を構成する各処理部の動作を制御し、ＵＰｎＰデバイスに関する処理などもおこなう制御部である。
【００２４】
３０６は撮像部３００にて撮像された画像をＥＶＦ（Ｅｌｅｃｔｒｉｃ  Ｖｉｅｗ  Ｆｉｎｄｅｒ）や液晶パネル等を用いて表示する表示部、３０７は撮像部３００にて撮像された画像データなどを通信するインタフェースである。
【００２５】
更に、ＵＰｎＰデバイス１０２において、３０８はＵＰｎＰデバイス１０２の機能に関する情報が格納されているＲＯＭである。ＵＰｎＰデバイス１０２は、画像データを符号化する技術として、例えば、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）方式を用いて圧縮符号化している。尚、画像データに不可視の透かしデータを付与する技術は公知の技術を用い、ここでは特に方式は問わない。
【００２６】
３０９はネットワークインターフェース（ＮＥＴＩＦ）であり、ネットワーク（例えばＬＡＮ１００）を介して情報処理装置間のデータ転送を行うための制御や接続状況の診断を行う。
【００２７】
図４は、本実施形態のＵＰｎＰコントロールポイント１０１のモジュール構成図である。
４０１は、ＬＡＮ１００に接続され、ＴＣＰ／ＩＰの通信処理を行うＴＣＰ／ＩＰ処理モジュールである。
【００２８】
４０２は、ＴＣＰ／ＩＰ処理モジュール４０１に対して、通信データの送受信処理を行い、ＵＰｎＰのコントロールポイントのプロトコル処理を行うＵＰｎＰ処理モジュールである。ＵＰｎＰ処理モジュール４０２は、ＸＭＬ文章処理中にユーザー定義要素を発見すると、ユーザー定義要素処理モジュール４０３に処理を依頼する。
【００２９】
４０３は、ＵＰｎＰ処理モジュール４０２から処理を依頼されると、依頼されたユーザー定義要素が所定のユーザー定義要素である場合、暗号モジュール４０４にユーザー定義要素に応じた処理を依頼するユーザー定義要素処理モジュールである。４０４は、ユーザー定義要素処理モジュール４０３から、指定された処理の依頼を受けると、暗号化、および、復号化の処理を行う暗号モジュールである。
４０５は、ＵＰｎＰ処理モジュール４０２にＵＰｎＰのコントロールポイントの処理を依頼するアプリケーションである。
【００３０】
図５は、本実施形態のＵＰｎＰデバイス１０２のモジュール構成図である。
５０１は、ＬＡＮ１００に接続され、ＴＣＰ／ＩＰの通信処理を行うＴＣＰ／ＩＰ処理モジュールである。
【００３１】
５０２は、ＴＣＰ／ＩＰ処理モジュール５０１に対して、通信データの送受信処理を行い、ＵＰｎＰのデバイスのプロトコル処理を行うＵＰｎＰ処理モジュールである。ＵＰｎＰ処理モジュール５０２は、ＸＭＬ文章処理中にユーザー定義要素を発見すると、ユーザー定義要素処理モジュール５０３に処理を依頼する。
【００３２】
５０３は、ＵＰｎＰ処理モジュール５０２から処理を依頼されると、依頼されたユーザー定義要素が所定のユーザー定義要素である場合、暗号モジュール５０４にユーザー定義要素に応じた処理を依頼するユーザー定義要素処理モジュールである。５０４は、ユーザー定義要素処理モジュール５０３から、指定された処理の依頼を受けると、暗号化、および、復号化の処理を行う暗号モジュールである。
【００３３】
５０５は、ＵＰｎＰ処理モジュール５０２にＵＰｎＰのデバイスの処理を依頼するアプリケーションである。
【００３４】
図６は、メッセージ処理装置であるＵＰｎＰコントロールポイント１０１におけるメッセージ処理であるデバイスディスクリプションの取得処理の流れを示す処理フローである。
【００３５】
ステップＳ６０１において、アプリケーション４０５が、ＵＰｎＰ処理モジュール４０２にＵＰｎＰデバイス１０２の探索処理を依頼し、ステップＳ６０２に進む。ステップＳ６０２において、ＵＰｎＰ処理モジュール４０２は、ＳＳＤＰの処理を行い、ＴＣＰ／ＩＰ処理モジュール４０１を通じて、ＬＡＮ１００上にあるＵＰｎＰデバイス１０２を探索する。なお、ＳＳＤＰは、Ｓｉｍｐｌｅ  Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌである。
【００３６】
ＵＰｎＰデバイス１０２におけるＵＰｎＰ処理モジュール５０２は、ＴＣＰ／ＩＰ処理モジュール５０１を通じて、ＬＡＮ１００上からのＳＳＤＰの処理を受け付ける。そして、ＵＰｎＰ処理モジュール５０２が保持するデバイスディスクリプション（Ｄｅｖｉｃｅ  Ｄｅｓｃｒｉｐｔｉｏｎ）へのＵＲＬを含む返答を行う。この返答では、デバイスディスクリプションへのＵＲＬを含むメッセージが、ＵＰｎＰコントロールポイント１０１に送信される。このメッセージは、ＸＭＬで記述される。なお、ＵＰｎＰ処理モジュール５０２は、デバイスディスクリプションと、そのデバイスディスクリプションへのＵＲＬを保持している。
【００３７】
ＵＰｎＰ処理モジュール４０２は、ＴＣＰ／ＩＰ処理モジュール４０１を通じて、ＵＰｎＰデバイス１０２からのデバイスディスクリプションへのＵＲＬを含む返答を受信し、ステップＳ６０３に進む。ステップＳ６０３において、ＵＰｎＰ処理モジュール４０２は、ＴＣＰ／ＩＰ処理モジュール４０１を通じて、ＵＰｎＰデバイス１０２のデバイスディスクリプションを取得し、ステップＳ６０４に進む。ここで、ＵＰｎＰ処理モジュール４０２は、受信した返答に含まれるデバイスディスクリプションのＵＲＬを利用して、ＵＰｎＰデバイス１０２のデバイスディスクリプションを取得する。デバイスディスクリプションは、ネットワークに公開されるサービスを示す公開メッセージである。
【００３８】
図７は、ＵＰｎＰデバイス１０２から取得したデバイスディスクリプションの一部である。このデバイスディスクリプションも、構造化文書であるＸＭＬで記述されている。取得したデバイスディスクリプションには、ｓｅｒｖｉｃｅＬｉｓｔの要素の内容に、デバイスが持つサービスリストが記述されている。サービスリストには、複数個のサービスが含まれる。デバイスが提供するサービスは、ｓｅｒｖｉｃｅの要素の内容に記述されている。本実施形態におけるデバイスディスクリプションに含まれるサービスには、ｓｅｒｖｉｃｅの要素で表される通常のサービスと、ユーザー定義要素であるＸ＿ｈｉｄｉｎｇの要素で表される暗号化されたサービスが存在する。ここでは、＜Ｘ＿Ｅｎｃｒｉｐｔｅｄ＿Ｄａｔａ＞と＜／Ｘ＿Ｅｎｃｒｉｐｔｅｄ＿Ｄａｔａ＞で挟まれた＜ｓｅｒｖｉｃｅ＞から＜／ｓｅｒｖｉｃｅ＞までが暗号化される。＜ｓｅｒｖｉｃｅ＞と＜／ｓｅｒｖｉｃｅ＞は暗号化され、＜Ｘ＿Ｅｎｃｒｉｐｔｅｄ＿Ｄａｔａ＞と＜／Ｘ＿Ｅｎｃｒｉｐｔｅｄ＿Ｄａｔａ＞は暗号化されない。図７では、暗号化されたｓｅｒｖｉｃｅの四角の中は暗号化されない平文で書かれているが、実際には、この四角の中は暗号化されている。
【００３９】
ステップＳ６０４において、ＵＰｎＰ処理モジュール４０２は、取得したデバイスディスクリプションにユーザー定義要素が含まれているかどうかを判断する。すなわち、ここでは、公開メッセージであるデバイスディスクリプションに含まれる所定の識別子であるＸ＿ｈｉｄｉｎｇを発見する。ＵＰｎＰ処理モジュール４０２が、Ｘ＿ｈｉｄｉｎｇというユーザー定義要素を発見すると、ユーザー定義要素処理モジュール４０３にユーザー定義要素についての処理を依頼し、ステップＳ６０５に進む。ＵＰｎＰ処理モジュール４０２が、デバイスディスクリプションにユーザー定義要素がないと判断すると、ステップＳ６０８に進む。
【００４０】
ステップＳ６０５において、ユーザー定義要素処理モジュール４０３は、Ｘ＿ｈｉｄｉｎｇの要素の内容から、Ｘ＿ＩＤの要素を検索し、Ｘ＿ＩＤの要素の内容に含まれるグループ識別子を取得する。ユーザー定義要素処理モジュール４０３は、グループ識別子に対応する処理を検索し、グループ識別子に応じた処理方法（暗号化方法）、および、暗号鍵があるかを判断する。なお、ユーザー定義要素処理モジュール４０３は、１組、あるいは、複数組の、グループ識別子（グループ名）に応じた処理方法、および、暗号鍵を保持している。例えば、グループ識別子が１００の場合、管理者グループであり、処理方法は、ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）の２５６ビット、暗号鍵はｋｅｙ１００を利用する。ユーザー定義要素処理モジュール４０３は、ステップＳ６０５で取得したＸ＿ＩＤの要素に応じた処理方法、暗号鍵を保持しているかを、ステップＳ６０５で判断する。処理方法を保持していない場合、ステップＳ６０９へ進む。
【００４１】
処理方法があると判断した場合、ユーザー定義要素処理モジュール４０３は、暗号モジュール４０４に対して、取得した処理方法、および、暗号鍵を利用した、Ｘ＿Ｅｎｃｒｙｐｔｅｄ＿Ｄａｔａの要素の内容についての復号化を依頼し、ステップＳ６０６に進む。処理方法がないと判断した場合、ステップＳ６０９に進む。ステップＳ６０６において、暗号モジュール４０４は、ユーザー定義要素処理モジュール４０３から取得した情報に応じて、Ｘ＿Ｅｎｃｒｙｐｔｅｄ＿Ｄａｔａを復号化し、復号化の結果をユーザー定義要素処理モジュール４０３に返却し、ステップＳ６０７に進む。すなわち、暗号モジュール４０４は、識別子Ｘ＿ＩＤに対応する、Ｘ＿Ｅｎｃｒｙｐｔｅｄ＿Ｄａｔａの形式を変更する。
【００４２】
ステップＳ６０７において、ユーザー定義要素処理モジュール４０３は、ＵＰｎＰデバイス１０２から取得したデバイスディスクリプションを、復号結果により再構成する。そして、ユーザー定義要素処理モジュール４０３は、再構成されたデバイスディスクリプションをＵＰｎＰ処理モジュール４０２に返却し、ステップＳ６０８に進む。すなわち、ユーザー定義要素処理モジュール４０３は、識別子Ｘ＿ＩＤに対応する、公開メッセージの一部であるＸ＿Ｅｎｃｒｙｐｔｅｄ＿Ｄａｔａの形式を変更する。このように、デバイスディスクリプションには、第１の識別子＜Ｘ＿ｈｉｄｉｎｇ＞の中に、第２の識別子＜Ｘ＿ＩＤ＞と第３の識別子＜Ｘ＿Ｅｎｃｒｉｐｔｅｄ＿Ｄａｔａ＞が含まれている。ユーザー定義要素処理モジュール４０３は、第２の識別子＜Ｘ＿ＩＤ＞により特定される第４の識別子（グループ識別子）に応じて、第３の識別子＜Ｘ＿Ｅｎｃｒｉｐｔｅｄ＿Ｄａｔａ＞に対応する部分のサービスを復号化する。第４の識別子であるグループ識別子により、復号化方法、復号化鍵が特定される。デバイスディスクリプションには、複数のサービスの記述が含まれており、そのうちの１つあるいはいくつかが暗号化されている。ユーザー定義要素処理モジュール４０３は、識別子＜Ｘ＿ｈｉｄｉｎｇ＞により暗号化されたサービスを特定する。
【００４３】
そして、ステップＳ６０８において、ＵＰｎＰ処理モジュール４０２は、返却されたデバイスディスクリプションの処理を行い、デバイスディスクリプションに記述されたサービスをアプリケーション４０５に通知し、処理を終了する。以上のようにして、ネットワークに公開するサービスを、構造化言語を含むメッセージに含まれるサービスディスクリプションにより発見し、発見したサービスを利用する。サービスの利用方法の詳細は、後述する。
【００４４】
ステップＳ６０９において、ＵＰｎＰ処理モジュール４０２は、処理方法がなかった所定のユーザー定義要素を削除し、変更したデバイスディスクリプションを返却し、ステップＳ６０８に進む。すなわち、ＵＰｎＰ処理モジュール４０２は、識別子Ｘ＿ＩＤに対応する公開メッセージの形式を変更できない場合、識別子Ｘ＿ＩＤに対応する公開メッセージの一部を削除する。乃至は、識別子Ｘ＿ＩＤに対応する公開メッセージの形式を変更できない場合、識別子Ｘ＿ＩＤに対応する公開メッセージの一部の処理を実行しないようにしてもよい。
【００４５】
以上のように、Ｘ＿Ｅｎｃｒｙｐｔｅｄ＿Ｄａｔａの内容は、グループ識別子に応じたデータ処理を行えるＵＰｎＰコントロールポイントとＵＰｎＰデバイスの間のみで共有する事が可能となる。
【００４６】
本実施形態では、ＵＰｎＰコントロールポイント１０１、および、ＵＰｎＰデバイス１０２におけるデータ処理として暗号化・復号化を用いているが、データ圧縮・解凍などを利用してもよく、これに限るものではない。本実施形態では、ＵＰｎＰコントロールポイント１０１、および、ＵＰｎＰデバイス１０２に、グループ識別子に対応した処理方法、および、暗号鍵が予め設定されている。ＵＰｎＰコントロールポイント１０１、および、ＵＰｎＰデバイス１０２は、グループ識別子に対応した処理方法、および、暗号鍵を、グループ識別子を検索鍵としてネットワーク上から動的に取得してもよい。
【００４７】
また、グループ識別子には、複数のグループ体系があり、例えば、管理者グループ、所有者グループ、友人グループなどである。それぞれのグループ毎に、サービス、アクション、状態変数を持つ。アクション、状態変数については、後述する。本実施形態では、複数のグループ識別子に対応した処理方法、および、暗号鍵を持つことで、複数のグループに同時に所属することができ、グループの数を限るものではない。
【００４８】
本実施形態によれば、例えば、悪意の第三者に公開しない情報、管理者にのみ公開してよい情報、所有者グループに属している装置のみ公開してよい情報を区別することができる。
【００４９】
図８は、ＵＰｎＰコントロールポイント１０１におけるメッセージ処理であるサービスディスクリプションの取得処理の流れを示す処理フローである。
【００５０】
ステップＳ８０１において、アプリケーション４０５が、ステップＳ６０８で通知されたデバイスディスクリプションに記述されているサービスのサービスディスクリプションの取得を、ＵＰｎＰ処理モジュール４０２に依頼する。ＵＰｎＰ処理モジュール４０２は、ＴＣＰ／ＩＰ処理モジュール４０１を通じて、ＵＰｎＰデバイス１０２から、サービスディスクリプションを取得し、ステップＳ８０２に進む。なお、ステップＳ７０８で通知されたデバイスディスクリプションには、サービスディスクリプションへのＵＲＬが含まれており、ＵＰｎＰ処理モジュール４０２は、そのＵＲＬをＴＣＰ／ＩＰ処理モジュール４０１に通知する。ＴＣＰ／ＩＰ処理モジュール４０１は、そのＵＲＬからサービスディスクリプションを取得する。ＵＰｎＰデバイス１０２は、そのＵＲＬに対応して、サービスディスクリプションを保持している。
【００５１】
図９は、取得したサービスディスクリプション（Ｓｅｒｖｉｃｅ  Ｄｅｓｃｒｉｐｔｉｏｎ）の一部である。このサービスディスクリプションもＸＭＬで記述されている。サービスディスクリプションには、サービスの操作を示すアクション（ａｃｔｉｏｎ）、および、状態変数（ｓｔａｔｅＶａｒｉａｂｌｅ）などが記述されている。
【００５２】
ａｃｔｉｏｎＬｉｓｔの要素の内容に、サービスが持つアクションリストが記述されている。アクションリストには、複数個のアクションが含まれ、サービスが提供する操作方法が、ａｃｔｉｏｎの要素の内容に記述されている。本実施形態におけるサービスディスクリプションに含まれるアクションには、ａｃｔｉｏｎの要素で表される通常のアクションと、ユーザー定義要素であるＸ＿ｈｉｄｉｎｇの要素で表される暗号化されたアクションが存在する。
【００５３】
また、ｓｅｒｖｉｃｅＳｔａｔｅＴａｂｌｅの要素の内容に、サービスが持つ状態変数テーブルが記述されている。状態変数テーブルには、複数個の状態変数が含まれ、サービスが提供する状態変数は、ｓｔａｔｅＶａｒｉａｂｌｅの要素の内容に記述されている。本実施形態におけるサービスディスクリプションに含まれる状態変数には、ｓｔａｔｅＶａｒｉａｂｌｅの要素で表される通常の状態変数と、ユーザー定義要素であるＸ＿ｈｉｄｉｎｇの要素で表される暗号化された状態変数が存在する。
【００５４】
ステップＳ８０２において、ＵＰｎＰ処理モジュール４０２は、取得したサービスディスクリプションにユーザー定義要素があるか判断する。ＵＰｎＰ処理モジュール４０２は、Ｘ＿ｈｉｄｉｎｇというユーザー定義要素を発見すると、ユーザー定義要素処理モジュール４０３にユーザー定義要素についての処理を依頼し、ステップＳ８０３に進む。ＵＰｎＰ処理モジュール４０２は、ユーザー定義要素が含まれていないと判断した場合、ステップＳ８０６に進む。
【００５５】
ステップＳ８０３において、ユーザー定義要素処理モジュール４０３は、Ｘ＿ｈｉｄｉｎｇの要素の内容から、Ｘ＿ＩＤの要素を検索し、Ｘ＿ＩＤの要素の内容に含まれるグループ識別子を取得する。ユーザー定義要素処理モジュール４０３は、図６のステップＳ６０５と同様に、グループ識別子に対応する処理を検索し、グループ識別子に応じた処理方法（暗号化方法）、および、暗号鍵があるか判断する。処理方法があると判断した場合、ユーザー定義要素処理モジュール４０３は、暗号モジュール４０４に対して、取得した処理方法、および、暗号鍵を利用した、Ｘ＿Ｅｎｃｒｙｐｔｅｄ＿Ｄａｔａの要素の内容についての復号化を依頼する。その後、ステップＳ８０４に進む。ユーザー定義要素処理モジュール４０３が、処理方法がないと判断した場合、ステップＳ８０７に進む。
【００５６】
ステップＳ８０４において、暗号モジュール４０４は、ユーザー定義要素処理モジュール４０３から取得した情報に応じて、Ｘ＿ｈｉｄｉｎｇの要素であるＸ＿Ｅｎｃｒｙｐｔｅｄ＿Ｄａｔａを復号化する。暗号モジュール４０４は、復号化の結果をユーザー定義要素処理モジュール４０３に返却し、ステップＳ８０５に進む。
【００５７】
ステップＳ８０５において、ユーザー定義要素処理モジュール４０３は、復号結果から、ステップＳ６０８で通知されたデバイスディスクリプションに記述されているサービスのサービスディスクリプションを再構成する。そして、ユーザー定義要素処理モジュール４０３は、再構成されたサービスディスクリプションをＵＰｎＰ処理モジュール４０２に返却し、ステップＳ８０６に進む。すなわち、このステップＳ８０５では、ステップＳ６０８で通知されたデバイスディスクリプションのうち、暗号化されたサービスディスクリプションが復号化されたデバイスディスクリプションを構成する。
【００５８】
ステップＳ８０６において、ＵＰｎＰ処理モジュール４０２は、返却されたサービスディスクリプションの処理を行う。そして、ＵＰｎＰ処理モジュール４０２は、サービスディスクリプションに記述されたアクション、および、状態変数をアプリケーション４０５に通知し、処理を終了する。
【００５９】
ステップＳ８０７において、ＵＰｎＰ処理モジュール４０２は、処理方法がなかった所定のユーザー定義要素を削除し、変更したデバイスディスクリプションを返却し、ステップＳ８０６に進む。
【００６０】
図１０は、メッセージ処理装置であるＵＰｎＰコントロールポイント１０１におけるＵＰｎＰデバイス１０２への操作メッセージの送信を示すメッセージ処理フローである。
【００６１】
ステップＳ１００１において、アプリケーション４０５は、ＵＰｎＰデバイス１０２に所望のアクションの実行をＵＰｎＰ処理モジュール４０２に依頼し、ステップＳ１００２に進む。このアクションは、図８のステップＳ８０６で通知されたアクションである。アプリケーション４０５は、ステップＳ８０６で通知されたアクションの実行を、ＵＰｎＰ処理モジュール４０２に依頼する。
【００６２】
ステップＳ１００２において、ＵＰｎＰ処理モジュール４０２は、アプリケーション４０５から指定されたアクションの実行を依頼するメッセージを生成する。そして、ＵＰｎＰ処理モジュール４０２は、指定されたアクションが、通常のアクションか、グループに属しているアクション（ユーザー定義要素に含まれるアクション）であるか判断する。ＵＰｎＰ処理モジュール４０２は、アクションとグループ識別子の対応表を保持し、この対応表を参照して、指定されたアクションが、通常のアクションか、グループに属しているアクションか判断する。ＵＰｎＰ処理モジュール４０２は、以前に図８のステップＳ８０１で取得しているサービスディスクリプションとの比較により、グループに属しているアクションであるか判断してもよい。ＵＰｎＰ処理モジュール４０２が、通常のアクションであり、グループに属していないと判断すると、ステップＳ１００６に進む。ＵＰｎＰ処理モジュール４０２が、グループに属しているアクションであると判断すると、そのアクションの実行をＵＰｎＰデバイス１０２に依頼する操作メッセージの処理をユーザー定義要素処理モジュール４０３に依頼し、ステップＳ１００３に進む。
【００６３】
ステップＳ１００３において、ユーザー定義要素処理モジュール４０３は、そのアクションに対応したグループを検索し、グループ識別子、および、グループに応じた処理方法（暗号化方法）、および、暗号鍵があるか判断する。ユーザー定義要素処理モジュール４０３は、アクションとグループ識別子の対応表を保持し、この対応表を参照して、例えば、アクションがＸ＿ＳｅｔＮｅｗＩＰＡｄｄｒｅｓｓの場合、グループ識別子は１００であることを判断する。その後、ユーザー定義要素処理モジュール４０３は、図６のステップＳ６０５と同様に、グループ識別子を鍵として、グループ識別子と、処理方法、暗号鍵の対応表を参照することにより、アクションに対する処理方法、暗号鍵を取得する。なお、このアクションに対応したグループ識別子は、図８のステップＳ８０１で取得しているサービスディスクリプションから、このアクションに対応するグループ識別子を取得してもよい。
【００６４】
処理方法があると判断した場合、ユーザー定義要素処理モジュール４０３は、暗号モジュール４０４に対して、取得した処理方法（暗号化方法）、および、暗号鍵を利用した、ａｃｔｉｏｎの要素についての暗号化を依頼し、ステップＳ１００４に進む。処理方法がないと判断した場合、ステップＳ１００７に進む。
【００６５】
ステップＳ１００４において、暗号モジュール４０４は、暗号化した結果を、ユーザー定義要素処理モジュール４０３に返却する。暗号モジュール４０４は、操作メッセージの一部を、グループ識別子に応じて第一の形式に変更する。ユーザー定義要素処理モジュール４０３は、そのアクションの実行をＵＰｎＰデバイス１０２に依頼するメッセージから、ａｃｔｉｏｎの要素を取り除き、Ｘ＿ｈｉｄｉｎｇの要素を追加する。更に、ユーザー定義要素処理モジュール４０３は、Ｘ＿ｈｉｄｉｎｇの要素の内容としてＸ＿ＩＤの要素にグループ識別子を、Ｘ＿Ｅｎｃｒｙｐｔｅｄ＿Ｄａｔａの要素に暗号化された結果を、そのメッセージに、それぞれ追加し、ステップＳ１００５に進む。図１１では、暗号化されたＡｃｔｉｏｎの四角の中が暗号化されている。以上のように、ユーザー定義要素処理モジュール４０３は、操作メッセージの一部を、グループ識別子に応じて第一の形式に変更する。
【００６６】
ステップＳ１００５において、ユーザー定義要素処理モジュール４０３は、その処理中のメッセージに含まれるヘッダのＳＯＡＰＡＣＴＩＯＮに含まれるアクション名をＸ＿ｈｉｄｉｎｇに変更する。そして、ユーザー定義要素処理モジュール４０３は、変更したメッセージをＵＰｎＰ処理モジュール４０２に渡し、ステップＳ１００６に進む。図１１は、変更されたメッセージの一部である。図１１に示すように、そのメッセージはＸＭＬの記述を含む。すなわち、ユーザー定義要素処理モジュール４０３は、操作メッセージのヘッダをグループ識別子に応じて第二の形式に変更する。ステップＳ１００６において、ＵＰｎＰ処理モジュール４０２は、ＴＣＰ／ＩＰ処理モジュール４０１を通じて、この生成された操作メッセージを送信し、処理を終了する。
【００６７】
ステップＳ１００７において、ＵＰｎＰ処理モジュール４０２は、処理が不可能であることをアプリケーション４０５に対して通知し、処理を終了する。
【００６８】
図１２は、メッセージ処理装置であるＵＰｎＰデバイス１０２におけるＵＰｎＰコントロールポイント１０１から受信した操作メッセージの処理フローである。
【００６９】
ステップＳ１２０１において、ＵＰｎＰ処理モジュール５０２は、ＴＣＰ／ＩＰ処理モジュール５０１を通じて、ＵＰｎＰコントロールポイント１０１からの、操作メッセージを受信し、ステップＳ１２０２に進む。
【００７０】
ステップＳ１２０２において、ＵＰｎＰ処理モジュール５０２は、その操作メッセージのヘッダのＳＯＡＰＡＣＴＩＯＮに含まれるアクションがグループ向けのアクションであるか判断する。ＵＰｎＰ処理モジュール５０２は、ＳＯＡＰＡＣＴＩＯＮにＸ＿ｈｉｄｉｎｇのアクション名があり、かつ、メッセージボディにＸ＿ｈｉｄｉｎｇというユーザー定義要素を発見すると、グループ向けのアクションであると判断する。ここで、操作メッセージに含まれる所定の識別子であるＸ＿ｈｉｄｉｎｇを発見する。
【００７１】
グループ向けのアクションであると、ＵＰｎＰ処理モジュール５０２は、ユーザー定義要素処理モジュール５０３にユーザー定義要素（Ｘ＿ｈｉｄｉｎｇの要素）についての処理を依頼し、ステップＳ１２０３に進む。ＵＰｎＰ処理モジュール５０２は、ユーザー定義要素が含まれていない場合、グループ向けのアクションでないと判断し、ステップＳ１２０６に進む。
【００７２】
ステップＳ１２０３において、ユーザー定義要素処理モジュール５０３は、Ｘ＿ｈｉｄｉｎｇの要素の内容から、Ｘ＿ＩＤの要素を検索し、Ｘ＿ＩＤの要素の内容に含まれるグループ識別子を取得する。
【００７３】
ユーザー定義要素処理モジュール５０３は、グループ識別子に対応する処理を検索し、グループ識別子に応じた処理方法、および、暗号鍵があるか判断する。なお、処理方法、暗号化鍵は、図６のステップＳ６０５と同様に取得する。処理方法があると判断した場合、ユーザー定義要素処理モジュール５０３は、暗号モジュール５０４に対して、取得した処理方法、および、暗号鍵を利用した復号化を依頼し、ステップＳ１２０４に進む。依頼するのは、具体的には、Ｘ＿ｈｉｄｉｎｇの要素に含まれるＸ＿Ｅｎｃｒｙｐｔｅｄ＿Ｄａｔａの要素の内容の復号化である。ユーザー定義要素処理モジュール５０３が、処理方法がないと判断と判断した場合、ステップＳ１２１１に進む。
【００７４】
ステップＳ１２０４において、暗号モジュール５０４は、ユーザー定義要素処理モジュール５０３から取得した情報に応じて、Ｘ＿Ｅｎｃｒｙｐｔｅｄ＿Ｄａｔａを復号化する。そして、暗号モジュール５０４は、復号化の結果をユーザー定義要素処理モジュール５０３に返却し、ステップＳ１２０５に進む。すなわち、暗号モジュール５０４は、識別子Ｘ＿ＩＤに対応する操作メッセージの一部の形式を変更する。
【００７５】
ステップＳ１２０５において、ユーザー定義要素処理モジュール５０３は、復号結果から、ステップＳ１２０１で受信されたメッセージを再構築する。すなわち、ステップＳ１２０１で受信された操作メッセージのうち、暗号化されたアクションが復号化された操作メッセージを構成する。このようにして、識別子Ｘ＿ＩＤに対応する操作メッセージの一部の形式が変更される。このように、操作メッセージには、第１の識別子＜Ｘ＿ｈｉｄｉｎｇ＞の中に、第２の識別子＜Ｘ＿ＩＤ＞と第３の識別子＜Ｘ＿Ｅｎｃｒｉｐｔｅｄ＿Ｄａｔａ＞が含まれている。ユーザー定義要素処理モジュール５０３は、第２の識別子＜Ｘ＿ＩＤ＞により特定される第４の識別子（グループ識別子）に応じて、第３の識別子＜Ｘ＿Ｅｎｃｒｉｐｔｅｄ＿Ｄａｔａ＞に対応する部分のアクション（操作）を復号化する。第４の識別子であるグループ識別子により、復号化方法、復号化鍵が特定される。また、ユーザー定義要素処理モジュール５０３は、復号結果に含まれるアクション名（操作名）を検出し、そのメッセージのヘッダに含まれるＸ＿ｈｉｄｉｎｇを、復号結果に含まれるアクション名へ変更する。そして、ユーザー定義要素処理モジュール５０３は、このように再構築されたメッセージをＵＰｎＰ処理モジュール５０２に返却し、ステップＳ１２０６に進む。このように、ユーザー定義要素処理モジュール５０３は、識別子Ｘ＿ＩＤに応じて操作メッセージのヘッダの一部の形式を変更する。
【００７６】
ステップＳ１２０６において、ＵＰｎＰ処理モジュール５０２は、返却されたメッセージの処理を行い、アプリケーション５０５にメッセージのアクション、および、状態変数を送信する。アプリケーション５０５は、受信したアクション、および、状態変数に応じて、操作を実行する。アプリケーション５０５は、操作の結果によって変更された状態変数をＵＰｎＰ処理モジュール５０２に返信し、ステップＳ１２０７に進む。
【００７７】
ステップＳ１２０７において、ＵＰｎＰ処理モジュール５０２は、返信メッセージを生成し、指定されているアクションが、通常のアクションか、グループに属しているアクションであるか判断する。アプリケーション５０５により実行されるアクションがグループに属しているか否かは、ＵＰｎＰ処理モジュール５０２が保持している。また、ステップＳ１２０２でグループ向けであると判断されたアクションを実行して得られた状態変数は、グループに属すると判断してもよい。
【００７８】
ＵＰｎＰ処理モジュール５０２は、ステップＳ１２０２の段階でグループ向けのアクションであると判断すると、グループ向けのアクションの返信であると判断し、返信メッセージの処理をユーザー定義要素処理モジュール５０３に依頼し、ステップＳ１２０８に進む。ＵＰｎＰ処理モジュール５０２は、ステップＳ１２０２の段階でグループ向けのアクションでないと判断していると、グループ向けでないアクションの返信であると判断し、ステップＳ１２１０に進む。
【００７９】
ステップＳ１２０８において、ユーザー定義要素処理モジュール５０３は、ステップＳ１２０３の段階で処理方法があると判断している場合、暗号モジュール５０４に対して暗号化を依頼し、ステップＳ１２０９に進む。この依頼は、処理方法（暗号化方法）、および、暗号鍵を利用したａｃｔｉｏｎ  ｒｅｓｐｏｎｓｅの要素についての暗号化である。なお、ユーザー定義要素処理モジュール５０３は、処理方法、暗号化鍵を、図６のステップＳ６０５と同様に取得する。ユーザー定義要素処理モジュール５０３は、ステップＳ１２０３の段階で処理方法がないと判断している場合、または、エラーと判断した場合、ステップＳ１２１１に進む。
【００８０】
ステップＳ１２０９において、ユーザー定義要素処理モジュール５０３は、ステップＳ１２０７で生成したメッセージから、ａｃｔｉｏｎ  ｒｅｓｐｏｎｓｅの要素を取り除き、Ｘ＿ｈｉｄｉｎｇの要素を追加する。更に、ユーザー定義要素処理モジュール５０３は、そのメッセージに、Ｘ＿ｈｉｄｉｎｇの要素の内容として、Ｘ＿ＩＤの要素にグループ識別子を、Ｘ＿Ｅｎｃｒｙｐｔｅｄ＿Ｄａｔａの要素に、暗号化された結果を、それぞれ追加する。ユーザー定義要素処理モジュール５０３は、ＵＰｎＰ処理モジュール５０２に変更した返信メッセージを渡し、ステップＳ１２１０に進む。図１３は、変更されたメッセージの一部である。図１３に示すように、このメッセージもＸＭＬの記述を含む。当然、ステップＳ１２０１で受信された操作メッセージも、図１３から推測できるように、構造化言語であるＸＭＬの記述を含む。
【００８１】
ステップＳ１２１０において、ＵＰｎＰ処理モジュール５０２は、ＵＰｎＰコントロールポイント１０１に、ＴＣＰ／ＩＰ処理モジュール５０１を通じて、返信メッセージを返信し、処理を終了する。以上のようにして、ＵＰｎＰコントロールポイント１０１は、ＵＰｎＰデバイス１０２が公開するサービスを利用する。
【００８２】
ステップＳ１２１１において、ＵＰｎＰ処理モジュール５０２は、ＵＰｎＰコントロールポイント１０１に、ＴＣＰ／ＩＰ処理モジュール５０１を通じて、エラーメッセージを返信し、処理を終了する。
【００８３】
次に、ＧＥＮＡ（Ｇｅｎｅｒａｌ  Ｅｖｅｎｔ  Ｎｏｔｉｆｉｃａｔｉｏｎ  Ａｒｃｈｉｔｅｃｔｕｒｅ）を用いた、状態変数の変化を知らせるイベント処理について説明する。
【００８４】
ＵＰｎＰコントロールポイント１０１は、ＵＰｎＰデバイス１０２のサービスに状態変数が変化した場合、変化を知らせるイベントを送信するように登録するサブスクライブ（Ｓｕｂｓｃｒｉｂｅ）を行う。本実施形態におけるサブスクライブの処理は、既存のＵＰｎＰの処理と同一である。サブスクライブは、ＵＰｎＰ処理モジュール５０２に登録される。
【００８５】
ＵＰｎＰデバイス１０２のサービスの状態変数が変化した時、サブスクライブが行われているＵＰｎＰコントロールポイント１０１に対して、状態変数が変更されたことを知らせるイベントを発行する。図１４は、状態変数が変更されたことを知らせるイベントのメッセージ処理フローである。
【００８６】
ステップＳ１４０１において、ＵＰｎＰ処理モジュール５０２は、保持する状態変数のうち、ｓｅｎｄＥｖｅｎｔｓがｙｅｓとなっている状態変数の変更を検出し、ステップＳ１４０２に進む。ステップＳ１４０２において、ＵＰｎＰ処理モジュール５０２は、その状態変数がＵＰｎＰコントロールポイント１０１からサブスクライブされているか判断する。ＵＰｎＰ処理モジュール５０２が、サブスクライブされていると判断した場合、ステップＳ１４０３に進む。ＵＰｎＰ処理モジュール５０２が、サブスクライブされていないと判断した場合、処理を終了する。
【００８７】
ステップＳ１４０３において、ＵＰｎＰ処理モジュール５０２は、イベント通知メッセージを生成するとともに、保持する状態変数にグループ用の状態変数があるか判断する。なお、ＵＰｎＰ処理モジュール５０２には、状態変数のそれぞれが、グループ用であるか否かが保持されている。ＵＰｎＰ処理モジュール５０２が、グループ用の状態変数があると判断した場合、イベント通知メッセージの処理をユーザー定義要素処理モジュール５０３に依頼し、ステップＳ１４０４に進む。ＵＰｎＰ処理モジュール５０２が、グループ用の状態変数がないと判断した場合、ステップＳ１４０６に進む。
【００８８】
ステップＳ１４０４において、ユーザー定義要素処理モジュール５０３は、状態変数に対応したグループを検索し、グループ識別子、および、グループに応じた処理方法（暗号化方法）、および、暗号鍵があるか判断する。ユーザー定義要素処理モジュール５０３は、状態変数とグループ識別子の対応表を保持し、その対応表を参照して、例えば、状態変数が、Ｘ＿ＩＰＡｄｄｒｅｓｓの場合、グループ識別子は１００であることを判断する。その後、ユーザー定義要素処理モジュール５０３は、図６のステップＳ６０５と同様に、グループ識別子を鍵として、グループ識別子と、処理方法、暗号鍵の対応表を参照することにより、状態変数に対する処理方法、暗号鍵を取得する。処理方法があると判断した場合、ユーザー定義要素処理モジュール５０３は、暗号モジュール５０４に対して、取得した処理方法、および、暗号鍵を利用した、ｐｒｏｐｅｒｔｙの要素についての暗号化を依頼し、ステップＳ１４０５に進む。処理方法がないと判断した場合、処理を終了する。
【００８９】
ステップＳ１４０５において、暗号モジュール５０４は、暗号化した結果をユーザー定義要素処理モジュール５０３に返却する。ユーザー定義要素処理モジュール５０３は、ステップＳ１４０３で生成されたイベント通知メッセージからｐｒｏｐｅｒｔｙの要素を取り除き、Ｘ＿ｈｉｄｉｎｇの要素を追加する。すなわち、ユーザー定義要素処理モジュール５０３は、そのイベント通知メッセージに、Ｘ＿ｈｉｄｉｎｇの要素の内容として、Ｘ＿ＩＤの要素にはグループ識別子を、Ｘ＿Ｅｎｃｒｙｐｔｅｄ＿Ｄａｔａの要素には暗号化された結果を、それぞれ追加する。このようにして、ユーザー定義要素処理モジュール５０３は、暗号構造化言語を含む通知メッセージの一部を所定の形式に変更する。また、通知メッセージに、所定の形式に対応したグループ識別子を付与する。ユーザー定義要素処理モジュール５０３は、変更したイベント通知メッセージをＵＰｎＰ処理モジュール５０２に渡し、ステップＳ１４０６に進む。図１５は、変更されたイベント通知メッセージの一部である。図１５に示すように、このメッセージもＸＭＬの記述を含む。
【００９０】
ステップＳ１４０６において、ＵＰｎＰ処理モジュール５０２は、ＴＣＰ／ＩＰ処理モジュール５０１を通じて、イベント通知メッセージを送信し、処理を終了する。以上のように、変更された通知メッセージをネットワークに送信する。
【００９１】
なお、ＵＰｎＰデバイス１０２は、図７示のデバイスディスクリプションや、図９示のサービスディスクリプションも、イベント通知メッセージと同様に生成できる。以下、デバイスディスクリプションを例にとって、説明する。このデバイスディスクリプションには、ｓｅｒｖｉｃｅＬｉｓｔの要素の内容に、デバイスが持つサービスリストが記述されている。デバイスが提供するサービスは、ｓｅｒｖｉｃｅの要素の内容に記述されている。このデバイスディスクリプションにより、サービス内容がネットワークに公開される。
【００９２】
ＵＰｎＰ処理モジュール５０２は、デバイスディスクリプションを生成するとともに、デバイスが提供するサービスにグループ用のサービスがあるか判断する（ステップＳ１４０３）。なお、ＵＰｎＰ処理モジュール５０２には、デバイスが提供するのそれぞれが、グループ用であるか否かが保持されている。ＵＰｎＰ処理モジュール５０２が、グループ用のサービスがあると判断した場合、デバイスディスクリプションの処理をユーザー定義要素処理モジュール５０３に依頼する。
【００９３】
ユーザー定義要素処理モジュール５０３は、サービスに対応したグループを検索し、グループ識別子、および、グループに応じた処理方法（暗号化方法）、および、暗号鍵があるか判断する（ステップＳ１４０４）。ユーザー定義要素処理モジュール５０３は、サービスとグループ識別子の対応表を保持し、その対応表を参照して、例えば、サービスがＸ＿ＭａｎａｇｅｍｅｎｔＳｅｒｖｉｃｅの場合、対応するグループ識別子は１００であることを判断する。その後、ユーザー定義要素処理モジュール５０３は、グループ識別子を鍵として、グループ識別子と、処理方法、暗号鍵の対応表を参照することにより、サービスに対する処理方法、暗号鍵を取得する。
【００９４】
処理方法があると判断した場合、ユーザー定義要素処理モジュール５０３は、暗号モジュール５０４に対して、取得した処理方法、および、暗号鍵を利用した、ｓｅｒｖｉｃｅの要素についての暗号化を依頼する。暗号モジュール５０４は、暗号化した結果をユーザー定義要素処理モジュール５０３に返却する。すなわち、暗号モジュール５０４は、公開メッセージであるデバイスディスクリプションの一部（ｓｅｒｖｉｃｅの要素）を、グループ識別子に応じた処理方法で、所定の形式に変更する。
【００９５】
ユーザー定義要素処理モジュール５０３は、ステップＳ１４０３で生成されたデバイスディスクリプションからｓｅｒｖｉｃｅの要素を取り除き、Ｘ＿ｈｉｄｉｎｇの要素を追加する（ステップＳ１４０５）。すなわち、ユーザー定義要素処理モジュール５０３は、そのデバイスディスクリプションに、Ｘ＿ｈｉｄｉｎｇの要素の内容として、Ｘ＿ＩＤの要素にはグループ識別子を、Ｘ＿Ｅｎｃｒｙｐｔｅｄ＿Ｄａｔａの要素には暗号化された結果を、それぞれ追加する。以上により、公開メッセージであるデバイスディスクリプションの一部（ｓｅｒｖｉｃｅの要素）は、グループ識別子に応じた処理方法で、所定の形式に変更される。また、ユーザー定義要素処理モジュール５０３は、所定の形式に対応した識別子（グループ識別子）を、公開メッセージであるデバイスディスクリプションに付与する。
【００９６】
ユーザー定義要素処理モジュール５０３は、変更したデバイスディスクリプションをＵＰｎＰ処理モジュール５０２に渡す。ＵＰｎＰ処理モジュール５０２は、ＴＣＰ／ＩＰ処理モジュール５０１を通じて、デバイスディスクリプションを送信し（ステップＳ１４０６）、処理を終了する。この送信により、変更された公開メッセージはネットワークに公開される。以上、デバイスディスクリプションを例に説明したが、サービスディスクリプションも同様に生成、公開可能である。
【００９７】
なお、特定のグループに限らず公開すべきサービス、アクション、状態変数は、変更せずに、公開メッセージをネットワークに公開する。
【００９８】
また、公開すべきサービス、アクション、状態変数がグループ毎に異なる場合、グループ毎に異なる変更が行われた１以上の公開メッセージをネットワークに公開する。
【００９９】
次に、グループ識別子によって、グループ化されたサービス、アクション、状態変数のテーブルを示す。
【０１００】
なお、ＵＰｎＰコントロールポイントがＳＳＤＰの処理を行い、ＵＰｎＰデバイスを探索した時、ＵＰｎＰデバイスは、異なるデバイスディスクリプションのＵＲＬを含む複数個の返答を行っても良い。例えば、複数個の返答のうち一つには、管理者グループ（グループ識別子１００）の処理が行われたデバイスディスクリプションが含まれている。また、複数個の返答のうち一つには、ユーザーグループ（グループ識別子２００）の処理が行われたデバイスディスクリプションが含まれている。複数個の返答のうち一つには、暗号化の処理を行わないデバイスディスクリプションが含まれていてもよい。
【０１０１】
このように、複数の異なる処理の行ったサービス、アクション、状態変数を公開できる。
【０１０２】
上記の処理、および、対応表を持つことにより、サービス、アクション、状態変数をグループ化することができる。対応表にない、サービス、アクション、状態変数は、通常のＵＰｎＰのサービス、アクション、状態変数として扱われる。
【０１０３】
本形態では、ＵＰｎＰコントロールポイントは、ＵＰｎＰデバイスに関連するサービス、アクション、状態変数のうち、必要なもののみ参照することができる。更に、ＵＰｎＰデバイスが、意図しないＵＰｎＰコントロールポイントから操作されなくなるという効果もある。
【０１０４】
また、本発明では、ユーザー定義要素にＸ＿ｈｉｄｉｎｇを利用しているが、これに限るものではなく、新たなユーザー定義要素を定義してもよい。
以上、本発明の一実施形態を示した。
【０１０５】
＜実施形態２＞
本発明の目的は、例えば、以下のようにしても達成される。すなわち、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵまたはＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行する。この形態では、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成する。
【０１０６】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０１０７】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現される形態には限られず、次の形態も本発明に含まれる。すなわち、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（ＯＳ）などが実際の処理の一部または全部を行う。そして、その処理によって前述した実施例の機能が実現される形態である。
【０１０８】
さらに、次の形態も本発明に含まれる。すなわち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される形態である。
【図面の簡単な説明】
【０１０９】
【図１】実施形態１におけるネットワークシステムの構成図である。
【図２】実施形態１に係るＵＰｎＰコントロールポイント１０１をＰＣ（パーソナルコンピュータ）を使用して実現した場合の構成図である。
【図３】実施形態１に係るＵＰｎＰデバイス１０２をデジタルカメラを使用して実現した場合の構成図である。
【図４】実施形態１に係るＵＰｎＰコントロールポイント１０１のモジュール構成図である。
【図５】実施形態１に係るＵＰｎＰデバイス１０２のモジュール構成図である。
【図６】実施形態１に係るＵＰｎＰコントロールポイント１０１におけるデバイスディスクリプションの取得処理の流れを示す処理フローである。
【図７】実施形態１に係るＵＰｎＰデバイス１０２から取得したデバイスディスクリプションの一部を表す図である。
【図８】実施形態１に係るＵＰｎＰコントロールポイント１０１におけるサービスディスクリプションの取得処理の流れを示す処理フローである。
【図９】実施形態１に係るＵＰｎＰデバイス１０２に含まれるサービスから取得したサービスディスクリプションの一部を表す図である。
【図１０】実施形態１に係るＵＰｎＰコントロールポイント１０１におけるＵＰｎＰデバイス１０２への操作メッセージの送信を示す処理フローである。
【図１１】実施形態１に係る変更された操作メッセージの一部を表す図である。
【図１２】実施形態１に係るＵＰｎＰデバイス１０２におけるＵＰｎＰコントロールポイント１０１から受信した操作メッセージの処理フローである。
【図１３】実施形態１に係る変更された操作に対する返信メッセージの一部を表す図である。
【図１４】実施形態１に係るＵＰｎＰデバイス１０２における状態変数が変更されたことを知らせるイベントの処理フローである。
【図１５】実施形態１に係る変更されたイベント通知のメッセージの一部を表す図である。
【符号の説明】
【０１１０】
１００  ＬＡＮ
１０１  ＵＰｎＰコントロールポイント
１０２  ＵＰｎＰデバイス
４０２  ＵＰｎＰ処理モジュール
４０３  ユーザー定義要素処理モジュール
４０４  暗号モジュール
【図１】
2009032000.tif 000003
【図２】
2009032000.tif 000004
【図３】
2009032000.tif 000005
【図４】
2009032000.tif 000006
【図５】
2009032000.tif 000007
【図６】
2009032000.tif 000008
【図７】
2009032000.tif 000009
【図８】
2009032000.tif 000010
【図９】
2009032000.tif 000011
【図１０】
2009032000.tif 000012
【図１１】
2009032000.tif 000013
【図１２】
2009032000.tif 000014
【図１３】
2009032000.tif 000015
【図１４】
2009032000.tif 000016
【図１５】
2009032000.tif 000017