JP2001290724A - Framework having plug-and-play function and its reconstructing method - Google Patents

Framework having plug-and-play function and its reconstructing method

Info

Publication number
JP2001290724A
JP2001290724A JP2000371402A JP2000371402A JP2001290724A JP 2001290724 A JP2001290724 A JP 2001290724A JP 2000371402 A JP2000371402 A JP 2000371402A JP 2000371402 A JP2000371402 A JP 2000371402A JP 2001290724 A JP2001290724 A JP 2001290724A
Authority
JP
Japan
Prior art keywords
service
broker
user
plug
play
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2000371402A
Other languages
Japanese (ja)
Other versions
JP3711866B2 (en
Inventor
Shah Vishal
ビシャル・シャー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JP2001290724A publication Critical patent/JP2001290724A/en
Application granted granted Critical
Publication of JP3711866B2 publication Critical patent/JP3711866B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To enable a user application to find and utilize various network devices by integrating a plurality of networks having different communication protocols into a single unified framework. SOLUTION: This active configuration framework system interconnects a service and a service user. The framework has a plug-and-play(PnP) broker 104. The service user finds a networking service by using the PnP broker, utilizes the networking service and communicates with the networking service. The service user communicates with the service through the interface of the PnP broker independently of a communication protocol used by a device offering the service. A gateway 201 for registering the service in the PnP broker is also provided.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、相異なる通信プロ
トコルを有する複数のネットワークを単一の統一フレー
ムワークへと統合して、ユーザアプリケーションがさま
ざまなネットワークデバイスを発見し利用することを可
能にする方法および装置に関する。また、本発明は、利
用可能な機能の変更およびユーザ相互作用に応答してネ
ットワークノードの動的な適応および再構成を達成する
方法に関する。また、本発明は、アプリケーション、サ
ービス、およびデバイスが、自己の能力を記述し、それ
を他のアプリケーション、サービス、およびデバイスに
公表する方法に関する。さらに、本発明は、物理的に相
異なるデバイスが、接続し、情報交換し、データタイプ
を交渉し、それぞれの動作についてのステータスを提供
して、ネットワークプラグアンドプレイを達成すること
を可能にする、プラットフォーム独立でトランスポート
独立なプロトコルを提供する方法に関する。
FIELD OF THE INVENTION The present invention integrates multiple networks with different communication protocols into a single unified framework, allowing user applications to discover and utilize various network devices. Method and apparatus. The invention also relates to a method for achieving dynamic adaptation and reconfiguration of network nodes in response to changes in available functions and user interaction. The invention also relates to a method by which applications, services and devices describe their capabilities and publish them to other applications, services and devices. Further, the present invention enables physically different devices to connect, exchange information, negotiate data types, provide status about each operation, and achieve network plug and play. To provide a platform independent and transport independent protocol.

【0002】[0002]

【従来の技術】世界的なネットワーキング基盤の出現に
より、分散サービスおよび分散アプリケーションの大規
模な配備が一般的になっている。現在および将来のネッ
トワークでは、時間に敏感な情報を全世界に発信し、世
界的な取引を電子的に仲介するサービスがさらに配備さ
れることが期待される。このような分散サービスが普遍
的になる前に、このようなサービスの開発、デバッグ、
配備および発展を簡単にする新たな機構が必要とされ
る。このような機構は、基礎になるプロトコルやインタ
フェースにかかわらずに、必要なサービスを発見し、そ
のサービスの能力を使用することが必要となる。
BACKGROUND OF THE INVENTION With the advent of a global networking infrastructure, large-scale deployment of distributed services and applications has become commonplace. Current and future networks are expected to further deploy services that transmit time-sensitive information around the world and electronically mediate global transactions. Before such distributed services become universal, the development, debugging,
New mechanisms are needed to simplify deployment and development. Such mechanisms need to discover the required services and use the capabilities of those services, regardless of the underlying protocol or interface.

【0003】家庭で使用可能なもののような典型的な分
散ネットワークシステムは、相異なるさまざまな機器を
相互接続する。さまざまな家庭用機器(ホームデバイ
ス)は本質的にさまざまなインタフェースおよびプロト
コルを利用することがあるため、単一の共通の通信プロ
トコルを用いてこれらのすべてのデバイスを相互接続す
ることはほとんど不可能である。場合によっては、ほと
んどの家庭に既に設置されている配線を使用する(例え
ば、既存の電源線をX−10デバイスとの通信に使用す
る)ことは便利であるが、このような既存の配線を使用
するネットワークの伝送速度が制限される。例えば、白
熱電球やホームセキュリティシステムのようなX−10
デバイスは、毎秒数ビットのデータレートで動作する。
他方、ディジタルTV、カメラ、あるいはVCRのよう
なデバイスは、ずっと高い伝送データレートを必要とす
る。このようなデバイスは通常、IEEE1394アー
キテクチャプロトコルを用いて相互接続され、データ転
送レートは400Mb/sに達する。
[0003] Typical distributed network systems, such as those available at home, interconnect a variety of different devices. It is almost impossible to interconnect all of these devices using a single, common communication protocol, as different home appliances (home devices) may inherently utilize different interfaces and protocols. It is. In some cases, it is convenient to use wiring that is already installed in most homes (e.g., using existing power lines for communication with X-10 devices), but such existing wiring can be used. The transmission speed of the network used is limited. For example, X-10 such as incandescent lamps and home security systems
Devices operate at data rates of a few bits per second.
On the other hand, devices such as digital TVs, cameras, or VCRs require much higher transmission data rates. Such devices are typically interconnected using the IEEE 1394 architecture protocol, with data transfer rates reaching 400 Mb / s.

【0004】これに対して、現在開発されているさまざ
まな家庭用自動化アプリケーションは、さまざまな家庭
用機器の有効な相互作用を必要とする。したがって、家
庭に設置されたすべての相異なるデバイスおよびサービ
スの有効な相互作用を可能にするには、相異なるさまざ
まなネットワークを、統一するフレームワークに統合し
て、相異なるネットワーク内に位置するさまざまなネッ
トワークエンティティが互いを発見し相互作用する機構
を提供しなければならない。
[0004] In contrast, various home automation applications currently being developed require effective interaction of various home appliances. Therefore, to enable effective interaction of all the different devices and services located in the home, different networks should be integrated into a unifying framework and different networks located within different networks. Different network entities must provide a mechanism to discover and interact with each other.

【0005】また、さまざまなデバイスインタフェース
およびネットワークプロトコルについて、低レベルのプ
ロトコル固有の詳細をアプリケーションが扱うことを必
要とせずに、リモートサービスを利用する手段をユーザ
アプリケーションに提供することが望ましい。
[0005] It is also desirable to provide a user application with a means to utilize remote services for various device interfaces and network protocols without requiring the application to handle low level protocol specific details.

【0006】真のプラグアンドプレイ能力を達成するに
は、フレームワークは、新たに追加されたデバイスによ
って提供されるサービスを自動的に発見する機構を提供
しなければならない。このようなフレームワーク内で
は、利用可能なネットワークサービスおよびそのネット
ワーク位置に関する記述は、すべてのユーザアプリケー
ションにとって容易に利用可能であるようにしなければ
ならない。さらに、ユーザアプリケーションは、遭遇す
る可能性のある特定のデバイスあるいはサービスとの通
信のために、自己の通信インタフェースを自動的に再構
成することができなければならない。さらに、フレーム
ワークは、ネットワークサービスへのアクセスを制御す
るために、ユーザの認可および認証を実行するセキュリ
ティモデルを含まなければならない。
[0006] To achieve true plug and play capabilities, the framework must provide a mechanism to automatically discover services offered by newly added devices. Within such a framework, descriptions of available network services and their network locations must be made readily available to all user applications. In addition, user applications must be able to automatically reconfigure their communication interface for communication with particular devices or services that may be encountered. In addition, the framework must include a security model that performs user authorization and authentication in order to control access to network services.

【0007】JiniTMは、ネットワークプラグアンド
プレイを達成する既存の候補のうちの1つである(Ji
niは、サンマイクロシステムズ社(Sun Microsystems,
Inc.)の商標である)。Jiniは、分散システムの構
築および配備を容易にするアプリケーションプログラミ
ングインタフェース(API)およびランタイム規約の
セットである。Jiniは、分散システムの、共通して
いるが相異なる部分を処理する「配管」(plumbing)を提
供する。Jiniは、プログラミングモデルおよびラン
タイムインフラストラクチャからなる。リース、分散イ
ベント、および分散トランザクションをサポートするA
PIおよび規約を定義することによって、プログラミン
グモデルは、基礎となるネットワークの信頼性が低くて
も、信頼性の高い分散システムを開発者が構築するのを
助ける。ランタイムインフラストラクチャは、ネットワ
ークプロトコルとそれを実装するAPIとからなり、ネ
ットワーク上のデバイスおよびサービスの追加、探索、
アクセス、および削除を容易にする。
[0007] Jini is one of the existing candidates for achieving network plug and play (Ji
ni is Sun Microsystems, Inc.
Inc.). Jini is a set of application programming interfaces (APIs) and runtime contracts that facilitate building and deploying distributed systems. Jini provides "plumbing" to handle common but different parts of a distributed system. Jini consists of a programming model and a runtime infrastructure. A that supports leases, distributed events, and distributed transactions
By defining PIs and conventions, the programming model helps developers build reliable distributed systems, even when the underlying network is unreliable. The runtime infrastructure consists of a network protocol and the API that implements it.
Facilitate access and deletion.

【0008】Jiniの使用は、基礎となるネットワー
ク技術について知らなくてもサービスを発見する容易な
方法を提供する。他の既知のインフラストラクチャに比
べてJiniが改良されている点は、ユーザアプリケー
ションが実際にサービスを探索し、そのサービスをサポ
ートするホストを他者に発見させることができることで
ある。しかし、主な未解決の問題点は、「ユーザアプリ
ケーションはどのようにして自動的にクライアントマシ
ン上のサービスを使用するか」である。クライアントユ
ーザアプリケーションにサービスインタフェースしか設
けられていない場合、クライアントが、このサービスを
理解することが可能なコードを有していなければならな
い。
[0008] The use of Jini provides an easy way to discover services without knowing the underlying network technology. The improvement over Jini over other known infrastructures is that the user application can actually search for the service and let others discover the hosts that support the service. However, the main unsolved problem is "How user applications automatically use services on client machines". If the client user application only has a service interface, the client must have code that can understand this service.

【0009】例えば、ユーザが、自己のアプリケーショ
ンに、カメラサービスのためのネットワークをブラウズ
させたい状況を考える。アプリケーションがこのような
サービスをネットワーク上に見つけた場合、ユーザは、
それをクリックして、ユーザ自身のアプリケーションで
それを使用することができる。ユーザが、このようなサ
ービスを実行するためのコードを必要とする場合、この
ようなコードは、ユーザのマシン上に自動的にダウンロ
ードされなければならない。しかし、このアプローチに
関連する主な問題点は、ユーザアプリケーションがこの
ようなサービスをどのようにして利用するかである。ユ
ーザアプリケーションは、拡張可能なインタフェースを
有する場合、リモートサービスインタフェースに問い合
わせてその固有の特性を取得し、その利用を可能にする
ことができる。しかし、このような拡張可能インタフェ
ースの定義は、JiniTM仕様の範囲内にはなく、Ji
niTMサービスを使用するユーザアプリケーションに委
ねられている。
For example, consider a situation where a user wants his application to browse a network for camera services. If the application finds such a service on the network,
You can click on it and use it in your own application. If a user needs code to perform such a service, such code must be automatically downloaded on the user's machine. However, a major problem associated with this approach is how user applications use such services. If the user application has an extensible interface, it can query the remote service interface to obtain its unique characteristics and enable its use. However, the definition of such an extensible interface is not within the scope of the Jini TM specification,
It is entrusted to the user application that uses the ni service.

【0010】もう1つの問題点は、カメラサービスのセ
マンティクス(意味論)を定義するエンティティの識別
である。例えば、キャノン、ミノルタ、およびニコンを
含む主要なカメラメーカがそれぞれ固有のインタフェー
スを提供する場合、カメラサービスには相互運用性がな
くなり、ユーザは、3つの異なるすべてのカメラサービ
スをコードの形で適切に提供しなければならないことに
なる。また、もしコダックがJiniTMカメラを市販す
ることに決めた場合、ユーザは、コダックのインタフェ
ースの解析を含むようにそのコードを手動(マニュア
ル)で変更しなければならない。このような拡張可能イ
ンタフェースは、ネットワークトラフィックと、クライ
アントコードのサイズを非常に増大させてしまう。すべ
ての種類の市場固有のグループがまとまってインタフェ
ースを指定することが好ましく、多くの場合にはこれが
必要となるであろうが、これはすぐには、また効率的に
は実現しそうになく、特に、家庭で使用されるすべての
種類のデバイスに対しては、きわめて非現実的である。
[0010] Another issue is the identification of the entities that define the semantics of the camera service. For example, if major camera manufacturers, including Canon, Minolta, and Nikon, provide their own interfaces, camera services will not be interoperable and users will be able to code all three different camera services in code. Must be provided. Also, if Kodak decides to market the Jini camera, the user must manually modify the code to include an analysis of the Kodak interface. Such an extensible interface greatly increases network traffic and the size of the client code. It is preferred that all kinds of market-specific groups specify the interface collectively, and in many cases this will be necessary, but this is not likely to be immediate or efficient, especially For all kinds of devices used in the home, it is very impractical.

【0011】既知のネットワークで依然として解決され
ていないもう1つの制限は、JiniTMベースのアプリ
ケーションがどのようにして非JiniTMベースのオペ
レーティングシステム上にあるデータにアクセスするこ
とができるかに関するものである。すなわち、ユーザ
は、例えば、JiniTMに対するマイクロソフトのサポ
ートなしで、どのようにしてMS−WordTMからJi
niTMプリンタにアクセスすることができるだろうか。
Jiniプリンタを使用したいJavaTMアプリケーシ
ョンですら、アクセスのためのオペレーティングシステ
ムに依拠しなければならない。
[0011] Another limitation that has not yet been resolved in known networks relates to how Jini based applications can access data residing on non-Jini based operating systems. . That is, for example, without Microsoft support for Jini , a user can see how MS-Word to Ji
Will it be able to access the ni TM printer.
Even Java applications that want to use a Jini printer must rely on an operating system for access.

【0012】例えば、ユーザプログラムが印刷メソッド
へのアクセスを要求するとき、以下のようなコードフラ
グメントが使用される。 object o=Lookup(GeneralPrintService); GeneralPrintService pservice=(GeneralPrintService)
o; pservice.print();
For example, when a user program requests access to a print method, the following code fragment is used. object o = Lookup (GeneralPrintService); GeneralPrintService pservice = (GeneralPrintService)
o; pservice.print ();

【0013】しかし、このコードが書かれるときに、プ
ログラマは、GeneralPrintServiceという名前のインタ
フェースがコード実行時に本当に存在するかどうかを知
らない。さらに、プログラマが複数のデバイスでイメー
ジを印刷したい場合、複数のインタフェースを予想し、
それに応じて印刷を行う必要がある。
However, when this code is written, the programmer does not know whether an interface named GeneralPrintService really exists at code execution time. Additionally, if a programmer wants to print an image on multiple devices, expect multiple interfaces,
It is necessary to print accordingly.

【0014】Jiniは、ユーザインタフェース(U
I)コンポーネントがサービスの属性リストにエントリ
として付加されるように使用することができるため、サ
ービスについて要求されるクライアントの知識は最小限
である。クライアントは、単に、UIがアプレットと同
様の属性によって表現されることを知っているだけでよ
い。UIは、JavaBeansとして提供可能である
ため、内省(introspection)・反省(reflection)によ
り、サービスは、クライアントに対して、クライアント
がそのサービスを使用することができる手段を提供する
ことが可能である。これは、本質的に、クライアントと
サーバの間のメッセージ交換であり、手動の設定を必要
とする。しかし、UIコンポーネントを付加すること
は、人間でないクライアント(生成・使用されるマシ
ン)がデバイスを使用するのを妨げる可能性がある。ま
た、デバイスの個数が増大して、クライアントプログラ
ムが複雑になると、もう1つの問題点が生じる。その場
合、クライアントは、返されたリストのどのオブジェク
トが真のターゲットであるかを決定しなければならな
い。さらに、あらゆるJiniTMのデバイスあるいはア
プリケーションは、製造時において通信するために必要
としたすべてのデバイスの(あるいは少なくとも、「デ
バイスのすべてのタイプの」)すべてのインタフェース
を必要とする。その結果、JiniTMは、相互運用性の
問題点を実際には解決していない。
Jini has a user interface (U
I) The client knowledge required for the service is minimal because the component can be used to be added as an entry to the service's attribute list. The client simply needs to know that the UI is represented by attributes similar to applets. Since the UI can be provided as JavaBeans, the service can provide the client with a means by which the client can use the service by introspection and reflection. . This is essentially a message exchange between the client and server and requires manual configuration. However, adding a UI component can prevent non-human clients (the machines that are created and used) from using the device. Another problem arises when the number of devices increases and the client program becomes complicated. In that case, the client must determine which objects in the returned list are true targets. In addition, every Jini device or application requires all the interfaces of all the devices (or at least “all types of devices”) needed to communicate during manufacturing. As a result, Jini does not actually solve the interoperability problem.

【0015】もう1つの既存のネットワーキングシステ
ムであるHomeAPIは、アプリケーションがさまざ
まなホームデバイスを発見し利用することを可能にす
る、オブジェクト指向のソフトウェアサービスおよびア
プリケーションプログラミングインタフェース(AP
I)のセットである。このシステムは、アプリケーショ
ンが使用するデバイスおよびネットワークのプロトコル
固有の詳細に、ユーザアプリケーションが関与しないよ
うに設計された。HomeAPIは、HomeAPIイ
ンタフェースの使用を通じてサービスを利用するユーザ
アプリケーションを開発するのを容易にする分散サービ
スを表現するソフトウェアオブジェクトのセットを提供
する。
[0015] Another existing networking system, the Home API, is an object-oriented software service and application programming interface (AP) that allows applications to discover and utilize various home devices.
This is a set of I). This system was designed so that the user application was not involved in the protocol-specific details of the devices and networks used by the application. The Home API provides a set of software objects that represent distributed services that facilitate developing user applications that utilize the services through the use of the Home API interface.

【0016】しかし、HomeAPIは、新たなデバイ
スの発見の問題点を解決していないため、所望のプラグ
アンドプレイネットワーキング能力を提供しない。Ho
meAPIのもう1つの欠点は、すべてのネットワーク
デバイスが標準の通信インタフェースを提供することを
要求することであり、これは今日の市場では実現不可能
である。
However, HomeAPI does not provide the desired plug-and-play networking capabilities because it does not solve the problem of discovering new devices. Ho
Another disadvantage of meAPI is that it requires that all network devices provide a standard communication interface, which is not feasible in today's market.

【0017】HomePNA、HomeRF、Blue
tooth、PIANO、X−10、CEBus、IE
EE1394、USB、HAViなどのようなその他の
発展段階のネットワーク構想は、単に、ネットワーク接
続に関するさまざまなプロトコルを提供しているだけで
ある。これらの通信プロトコルは当業者に周知である。
しかし、現在のところ、競合するさまざまなネットワー
ク技術およびプロトコルの相互運用性の問題点を解決
し、ネットワークプラグアンドプレイを達成する統一フ
レームワークシステムは存在しない。
HomePNA, HomeRF, Blue
tooth, PIANO, X-10, CEBus, IE
Other evolving network concepts, such as EE1394, USB, HAVi, etc., simply provide various protocols for network connectivity. These communication protocols are well known to those skilled in the art.
However, at present, there is no unified framework system that solves the interoperability problems of various competing network technologies and protocols and achieves network plug and play.

【0018】[0018]

【発明が解決しようとする課題】したがって、さまざま
なタイプのネットワークデバイスを相互接続し、デバイ
スの発見および利用のための一様な機構を提供する統一
フレームワークに対して、強く幅広い受容が認識されて
おり、このようなものがあることは非常に有利である。
このような統一フレームワークは、ユーザアプリケーシ
ョンが、アプリケーション−サービス間通信プロトコ
ル、所望のサービスを提供するデバイスに接続されたホ
ストのIPアドレスの発見、およびさらには、ネットワ
ークサービスのユーザインタフェースの詳細のような低
レベルの詳細を組み込むことを不要にするとともに、上
記のその他の要求を満たす。
Accordingly, there has been strong and widespread recognition of a unified framework for interconnecting various types of network devices and providing a uniform mechanism for device discovery and utilization. It is very advantageous to have such a thing.
Such a unified framework allows the user application to communicate with the application-to-service communication protocol, discover the IP address of the host connected to the device providing the desired service, and even further details of the user interface of the network service. It eliminates the need to incorporate very low-level details and satisfies the other needs mentioned above.

【0019】[0019]

【課題を解決するための手段】したがって、本発明の1
つの目的は、既知のネットワーキングシステムの上記の
制限を克服し、さまざまな機器を相互接続する相異なる
通信プロトコルを有する複数のネットワークを単一の統
一フレームワークへと統合して、ユーザアプリケーショ
ンがさまざまなネットワークデバイスを発見し利用する
ことを可能にする方法および装置を提供することであ
る。
SUMMARY OF THE INVENTION Accordingly, one aspect of the present invention is as follows.
One objective is to overcome the above limitations of known networking systems and integrate multiple networks with different communication protocols to interconnect various devices into a single unified framework, allowing user applications It is an object of the present invention to provide a method and an apparatus for enabling a network device to be discovered and used.

【0020】具体的には、本発明の目的は、利用可能な
機能の変更およびユーザ相互作用に応答してネットワー
クノードの動的な適応および再構成を達成する方法およ
び装置を提供することである。
Specifically, it is an object of the present invention to provide a method and apparatus for achieving dynamic adaptation and reconfiguration of network nodes in response to changes in available functionality and user interaction. .

【0021】本発明のもう1つの目的は、アプリケーシ
ョン、サービス、およびデバイスが、自己の能力および
通信インタフェースを記述し、それを他のアプリケーシ
ョン、サービス、およびデバイスに公表する方法を提供
する。
Another object of the present invention is to provide a method by which applications, services, and devices describe their capabilities and communication interfaces and publish them to other applications, services, and devices.

【0022】本発明のさらにもう1つの目的は、物理的
に相異なるデバイスが、接続し、情報交換し、データタ
イプを交渉し、それぞれの動作についてのステータスを
提供して、ネットワークプラグアンドプレイを達成する
ことを可能にする、プラットフォーム独立でトランスポ
ート独立なプロトコルを提供する方法および装置を提供
することである。
It is yet another object of the present invention to provide a network plug and play in which physically different devices connect, exchange information, negotiate data types, provide status about each operation. A method and apparatus for providing a platform-independent, transport-independent protocol that can be achieved.

【0023】上記の目的を実現し、本発明の効果を達成
するため、アクティブコンフィグレーションフレームワ
ークシステムが提供される。本発明のフレームワーク
は、サービスとサービスユーザを相互接続する。また、
このフレームワークは、プラグアンドプレイブローカを
有する。本発明のフレームワークでは、サービスユーザ
は、プラグアンドプレイブローカを用いて、ネットワー
キングサービスを発見し、利用し、ネットワーキングサ
ービスと通信する。
In order to achieve the above object and achieve the effects of the present invention, an active configuration framework system is provided. The framework of the present invention interconnects services and service users. Also,
This framework has a plug and play broker. In the framework of the present invention, a service user uses a plug-and-play broker to discover, use, and communicate with a networking service.

【0024】本発明のフレームワークでは、サービスユ
ーザは、サービスを提供するデバイスによって使用され
る通信プロトコルとは独立に、プラグアンドプレイブロ
ーカのインタフェースを通じてサービスと通信する。
In the framework of the present invention, a service user communicates with the service through a plug and play broker interface, independent of the communication protocol used by the device providing the service.

【0025】また、本発明によれば、サービスをプラグ
アンドプレイブローカに登録するゲートウェイが提供さ
れる。
Further, according to the present invention, there is provided a gateway for registering a service with a plug and play broker.

【0026】また、本発明によれば、サービスエージェ
ント、ユーザエージェント、およびディレクトリエージ
ェントを有するアクティブコンフィグレーションフレー
ムワークが提供される。本発明のフレームワークでは、
サービスエージェントはサービスをディレクトリエージ
ェントに登録する。その後、ユーザエージェントは、要
求するサービスの記述をディレクトリエージェントに通
信し、ディレクトリエージェントは、適合するサービス
のロケーションを帰す。
According to the present invention, there is provided an active configuration framework having a service agent, a user agent, and a directory agent. In the framework of the present invention,
The service agent registers the service with the directory agent. The user agent then communicates the description of the requested service to the directory agent, which returns the location of the matching service.

【0027】本発明のフレームワークでは、サービス
は、デバイスクラスタおよびゲートウェイからなること
が可能である。サービスエージェントは、このゲートウ
ェイを通じてデバイスクラスタと通信する。
In the framework of the present invention, a service can consist of a device cluster and a gateway. The service agent communicates with the device cluster through this gateway.

【0028】また、本発明によれば、新たなネットワー
クデバイスの追加に応答して、フレームワークの自動的
再構成を行う方法が提供される。本発明の方法によれ
ば、サービスエージェントは、サービスをディレクトリ
エージェントに登録する。その後、ユーザエージェント
は、要求するサービスの記述をディレクトリエージェン
トに通信する。最後に、ディレクトリエージェントは、
要求されたサービスの記述を、提供するサービスの記述
と照合し、適合したサービスのアドレスをユーザエージ
ェントに返す。
According to the present invention, there is provided a method for automatically reconfiguring a framework in response to addition of a new network device. According to the method of the present invention, the service agent registers the service with the directory agent. Thereafter, the user agent communicates the description of the requested service to the directory agent. Finally, the directory agent
The description of the requested service is checked against the description of the service to be provided, and the address of the matching service is returned to the user agent.

【0029】また、本発明によれば、フレームワークに
追加される新たなネットワークデバイスによって実行さ
れるサービスに対する通信インタフェースを生成する方
法が提供される。本発明の方法によれば、デバイスは、
その通信インタフェースを記述するスキーマを生成す
る。このスキーマは、XML(eXtensible Markup Langu
age)文書の形式とすることが可能である。その場合、ユ
ーザアプリケーションは、XML言語パーサを用いて、
通信インタフェースを生成する。
According to the present invention, there is also provided a method for generating a communication interface for a service executed by a new network device added to a framework. According to the method of the present invention, the device comprises:
Generate a schema describing the communication interface. This schema is based on XML (eXtensible Markup Langu
age) It can be in the form of a document. In that case, the user application uses the XML language parser to
Create a communication interface.

【0030】また、本発明によれば、ネットワークデバ
イスを制御する方法が提供される。本発明の方法によれ
ば、ユーザアプリケーションは、デバイス記述スキーマ
を編集し、編集されたデバイス記述スキーマをデバイス
に返す。これに応答して、デバイスは、編集されたデバ
イス記述スキーマに従って状態を変更する。
Further, according to the present invention, a method for controlling a network device is provided. According to the method of the present invention, the user application edits the device description schema and returns the edited device description schema to the device. In response, the device changes state according to the edited device description schema.

【0031】[0031]

【発明の実施の形態】すべてのタイプの分散デバイスお
よび分散サービスにわたりネットワークプラグアンドプ
レイを達成するためには、統一フレームワークが必要で
ある。ここで使用される「フレームワーク」あるいは
「サブストレート」という用語は、1つ以上のネットワ
ークを統合するシステムを意味する。しかし、多くの場
合、「フレームワーク」、「サブストレート」、および
「ネットワーク」という用語は区別なく用いられる。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Achieving network plug and play across all types of distributed devices and services requires a unified framework. The term "framework" or "substrate" as used herein refers to a system that integrates one or more networks. However, in many cases, the terms "framework", "substrate", and "network" are used interchangeably.

【0032】本発明のフレームワークを使用することに
より、ネットワーク内の相異なる物理デバイスの個数に
かかわらず、ネットワーキングエンティティの相互作用
のための複雑な機構は一度だけ実装すればよい。さら
に、これらの機構は、デバイス固有のゲートウェイを通
じて管理ブローカと相互作用するユーザアプリケーショ
ンから隠蔽される。本発明のフレームワークは、SL
P、HTTP、XML、JavaRMI、およびIIO
Pのような周知のインターネット関連プロトコルに基づ
いており、ウェブサーバへのアドオンとして実装可能で
あるため、配備および利用が容易である。さらに、本発
明のフレームワークでは、サービス発見の全プロセス
は、ユーザアプリケーションにとって透過的(トランス
ペアレント)であり、物理接続(コネクション)に対す
る区別がない。例えば、ネットワークに接続されるプラ
グアンドプレイデバイスはTCP/IPベースである必
要はない。サービス利用プロセスもまたトランスペアレ
ントであり、対象となるさまざまなデバイスの能力と、
ユーザの認証および認可に基づく。互換性のないデバイ
スを接続するときには、トンネリングや完全なデータ変
換が必要となることもある。
By using the framework of the present invention, regardless of the number of different physical devices in the network, the complex mechanism for networking entity interaction only needs to be implemented once. Further, these mechanisms are hidden from user applications that interact with the management broker through a device-specific gateway. The framework of the present invention is SL
P, HTTP, XML, Java RMI, and IIO
It is based on well-known Internet-related protocols such as P and can be implemented as an add-on to a web server, making it easy to deploy and use. Furthermore, in the framework of the present invention, the whole process of service discovery is transparent to the user application (transparent) and there is no distinction for physical connection (connection). For example, a plug and play device connected to a network need not be TCP / IP based. The service usage process is also transparent, with the capabilities of the various devices covered,
Based on user authentication and authorization. Connecting incompatible devices may require tunneling and full data conversion.

【0033】本発明は、デバイス独立な情報交換を容易
にするためのアクティブコンフィグレーションフレーム
ワークを提供する。複数のデバイスが接続し、情報交換
し、データタイプを交渉し、それぞれの動作についての
ステータスを提供するには、相異なるプロトコルが要求
される。これらのプロトコルは、プラットフォーム独立
であり、その形式や機能にかかわらず、他のデバイスに
接続する必要のある任意のデバイスに組み込むことがで
きる。これらのプロトコルはトランスポート独立でもあ
るため、任意のデバイスが、他の任意のデバイスに接続
し、情報交換することが可能となる。
The present invention provides an active configuration framework for facilitating device independent information exchange. Different protocols are required for multiple devices to connect, exchange information, negotiate data types, and provide status about their operation. These protocols are platform-independent and can be incorporated into any device that needs to connect to other devices, regardless of format or function. Because these protocols are also transport independent, any device can connect to any other device and exchange information.

【0034】本発明のフレームワークでは、アクティブ
ネットワークの場合のように、ユーザ定義計算がネット
ワーク内に配置される。しかし、アクティブネットワー
クとは異なり、現在のインターネットアーキテクチャの
すべてのルーティングおよびフォワーディングのセマン
ティクスは、計算環境をアプリケーション層に制限する
ことにより保持される。このフレームワークを利用する
ネットワークデバイスおよびサービスは、ネットワーク
インフラストラクチャに深く組み込まれる場合でも、実
際には、エンドシステム上のユーザアプリケーションに
よって作成され、設定され、動的に制御される。このよ
うなアプリケーション定義エンティティは、ネットワー
ク内の任意のノードで実行され、個々のパケットは、ネ
ットワークを通じて伝搬するとともに任意のアクション
を実行するようにプログラムされることが可能である。
In the framework of the present invention, as in the case of an active network, user-defined computations are located in the network. However, unlike active networks, all routing and forwarding semantics of the current Internet architecture are preserved by restricting the computing environment to the application layer. Network devices and services utilizing this framework, even when deeply embedded in the network infrastructure, are actually created, configured, and dynamically controlled by user applications on end systems. Such an application-defined entity runs at any node in the network, and individual packets can be programmed to propagate through the network and perform any actions.

【0035】[アクティブコンフィグレーションフレー
ムワークのコンポーネント]完全なアクティブコンフィ
グレーションアーキテクチャは、ダミーデバイス、ゲー
トウェイデバイス、および、ネットワークに直接的また
は間接的に接続されたPnPブローカからなる。アクテ
ィブコンフィグレーションフレームワークのアーキテク
チャを図1に示す。図1に示すように、ネットワークに
は1個以上の実行環境102がある。実行環境102
は、例えば、インターネットのようなネットワーク10
1を用いて相互接続される。実行環境102は、ある意
味で、ネットワークノードとして作用する。実行環境1
02は、当業者に周知のJava仮想マシンやWind
owsTMベースのマシン内にあることが可能である。実
行環境102は、ゲートウェイ(図示せず)を通じて非
インテリジェント(すなわち、ダミー)デバイスに接続
された1個以上のPnPブローカ104を有する。ユー
ザアプリケーション103は、PnPブローカ104を
通じて、デバイスを発見し、利用し、デバイスと通信す
る。以下で、本発明のアクティブコンフィグレーション
フレームワークシステムのさまざまなコンポーネントに
ついて詳細に説明する。
Active Configuration Framework Components A complete active configuration architecture consists of a dummy device, a gateway device, and a PnP broker connected directly or indirectly to the network. The architecture of the active configuration framework is shown in FIG. As shown in FIG. 1, the network has one or more execution environments 102. Execution environment 102
Is a network 10 such as the Internet, for example.
1 are interconnected. The execution environment 102 acts in some sense as a network node. Execution environment 1
02 is a Java virtual machine or a window known to those skilled in the art.
ows based machine. The execution environment 102 has one or more PnP brokers 104 connected to non-intelligent (ie, dummy) devices through a gateway (not shown). The user application 103 discovers, uses, and communicates with the device through the PnP broker 104. In the following, various components of the active configuration framework system of the present invention will be described in detail.

【0036】[ダミーデバイス]ダミーデバイスは、T
CP/IPプロトコルスタック、もしくはJava仮想
マシン、またはその両方のないデバイスである。このよ
うなデバイスは、ネットワークから直接にアクセス可能
ではなく、媒介物としてゲートウェイを必要とする。こ
のようなデバイスは、ネットワークにインストールされ
る前に、特定のコンフィグレーション選択を行う必要が
ある。例えば、それぞれのX−10デバイス(白熱電球
など)には、電源線ネットワークに接続する前に手動で
ハウスコードおよびデバイスコードを割り当てなければ
ならない。さらに、このようなデバイスは、提示するサ
ービスのためのセキュリティやアクセス制御を実施する
ことはない。このようなデバイスのほとんどは、メモリ
や処理能力を有しておらず、ネットワークの残りの部分
に依然として接続する必要のあるレガシーデバイスとし
て特徴づけることができる。
[Dummy Device] The dummy device is T
A device without the CP / IP protocol stack, the Java virtual machine, or both. Such devices are not directly accessible from the network and require a gateway as an intermediary. Such devices need to make certain configuration choices before being installed on the network. For example, each X-10 device (such as an incandescent light bulb) must be manually assigned a house code and device code before connecting to a power line network. Further, such devices do not enforce security or access control for the services offered. Most of these devices have no memory or processing power and can be characterized as legacy devices that still need to connect to the rest of the network.

【0037】[ゲートウェイデバイス]通常のネットワ
ークデバイスは、単一のネットワークタイプ(例えば、
IPまたはIPX)により、ピアツーピア方式で相互作
用することができる。これは、あるネットワークタイプ
のデバイスは、同じネットワークに物理的に接続され
た、同じネットワークタイプのデバイスとのみ通信する
ことができることを意味する。第1のデバイスが、その
第1のデバイスによってサポートされていないネットワ
ーク上にある第2のデバイス、あるいは、第1のデバイ
スによってサポートされていないプロトコルを実行して
いる第2のデバイスに接続することを必要とする場合に
問題が生じる。この問題を解決するには2つのアプロー
チがある。
[Gateway Device] A normal network device is a single network type (for example,
(IP or IPX) allows interaction in a peer-to-peer manner. This means that a device of a certain network type can only communicate with devices of the same network type that are physically connected to the same network. A first device connecting to a second device on a network not supported by the first device or a second device running a protocol not supported by the first device; A problem arises when the need arises. There are two approaches to solving this problem.

【0038】第1のアプローチは、複数の通信スタック
を単一のネットワークデバイスにロードすることであ
る。これにより、デバイスは、適当な通信スタックを有
する限り、任意のタイプのネットワークデバイスと相互
作用することが可能となる。基礎となるトランスポート
は異なるが、デバイスがプロトコルスタック全体を理解
する場合には、このアプローチはうまくいく。
The first approach is to load multiple communication stacks on a single network device. This allows the device to interact with any type of network device as long as it has the appropriate communication stack. Although the underlying transport is different, this approach works if the device understands the entire protocol stack.

【0039】複数の相異なるデバイスを接続する問題を
解決するため、本発明のフレームワークシステムはゲー
トウェイを使用する。ゲートウェイは、ネットワーク内
に不可視的に存在し、あるネットワークタイプを別のネ
ットワークタイプに変換するデバイスである。このアプ
ローチは、デスティネーションデバイスがレガシーであ
り、各ソースデバイスがデスティネーションと通信する
ためにデスティネーションをモデル化しなければならな
い、という本発明の実施例で用いられる。これは、例え
ば、ファックスデバイスや電子メールデバイスの場合で
ある。デバイスにレガシーネットワークと対話する能力
を追加するのではなく、この機能はゲートウェイに置か
れる。ゲートウェイは、通常、プログラム可能なプラッ
トフォーム上にホスティングされる。
To solve the problem of connecting a plurality of different devices, the framework system of the present invention uses a gateway. A gateway is a device that is invisible in a network and converts one network type to another. This approach is used in embodiments of the present invention where the destination device is legacy and each source device must model the destination in order to communicate with the destination. This is the case, for example, for fax devices and e-mail devices. Rather than adding to the device the ability to interact with the legacy network, this functionality is located at the gateway. Gateways are typically hosted on a programmable platform.

【0040】本発明のフレームワークでは、PnPブロ
ーカが、アクセスのためにゲートウェイを要求するレガ
シー(ダミー)デバイスとのセッションを確立したい場
合、ゲートウェイは、PnPブローカから、そのデバイ
スの存在を隠蔽する。PnPブローカは、その代わり
に、ゲートウェイとのセッションを作成し、ダミーデバ
イスのアドレスをゲートウェイに渡す。この時点以降、
ゲートウェイは、セッションにおけるいずれかのチャネ
ルを通じてデータを受け取ると、そのデータを、ゲート
ウェイ−ダミーリンクを通じてリモートデバイスへと中
継する。本発明は、次の2つのタイプのゲートウェイを
使用する。一般化ゲートウェイは、IPデバイスとの通
信を行い、特殊化ゲートウェイは、ダミーを通じて非I
Pデバイスとの通信を行う。特殊化ゲートウェイは、ダ
ミーデバイスをネットワークに公開するものであり、そ
のデバイスを制御・管理するためのプログラミングロジ
ックを含む。さらに、特殊化ゲートウェイは、ダミーデ
バイスのセキュリティポリシーを実現する。1つのゲー
トウェイデバイスが複数のダミーデバイスを管理するこ
とが可能である。
In the framework of the present invention, when a PnP broker wants to establish a session with a legacy (dummy) device that requests a gateway for access, the gateway hides the presence of the device from the PnP broker. The PnP broker instead creates a session with the gateway and passes the address of the dummy device to the gateway. After this point,
When the gateway receives data over any channel in the session, it relays the data to the remote device over the gateway-dummy link. The present invention uses two types of gateways: The generalized gateway communicates with the IP device and the specialized gateway communicates with the non-I
Performs communication with the P device. The specialized gateway exposes dummy devices to the network and includes programming logic for controlling and managing the devices. Furthermore, the specialized gateway implements the security policy of the dummy device. One gateway device can manage a plurality of dummy devices.

【0041】[PnPブローカ]PnPブローカは、ア
プリケーション、サービス、およびデバイスのサービス
ブローカとして作用する。PnPブローカは、分散シス
テムのためのInfobusの概念を拡張し、ネットワ
ーク全体をSoftware Busとして扱う。Infobusシ
ステムは当業者に周知である。詳細な説明は、Reaz Hoq
ue, "ConnectingJavaBeans with InfoBus", Wiley Comp
uter Publishing, Nov. 98、にある。Software Busもま
た当業者に周知であり、Brian Oki, Manfred Pfluegl,
Alex Siegel, and Dale Skeen, "The Information Bus
- an architecture for extensible distributed syste
ms", Proceedings of the 14th Symposium on Operatin
g Systems Principles, p.58-68, Asheville, North Ca
rolina, December 1993、に記載されている。
[PnP Broker] The PnP broker acts as a service broker for applications, services, and devices. The PnP broker extends the Infobus concept for distributed systems and treats the entire network as a Software Bus. The Infobus system is well known to those skilled in the art. For a detailed description, see Reaz Hoq
ue, "ConnectingJavaBeans with InfoBus", Wiley Comp
uter Publishing, Nov. 98. Software Bus is also well known to those skilled in the art, and is described by Brian Oki, Manfred Pfluegl,
Alex Siegel, and Dale Skeen, "The Information Bus
-an architecture for extensible distributed syste
ms ", Proceedings of the 14 th Symposium on Operatin
g Systems Principles, p.58-68, Asheville, North Ca
rolina, December 1993.

【0042】PnPブローカにより、ネットワーク接続
されたエンティティは、他のネットワーク接続エンティ
ティ(ゲートウェイあるいはダミー)の能力を発見し利
用することが可能となる。ゲートウェイは、その能力
を、対応するPnPブローカに登録し、ダミーデバイス
は、ゲートウェイを発見し、このゲートウェイを通じて
PnPブローカと通信する。ネットワーク内のデバイス
の各タイプ(例えば、X−10X、1394X、US
B)ごとに特定のゲートウェイがあり、その一端でこの
デバイスクラスタに接続され、他端でPnPブローカに
接続される。X−10、HAVi、IEEE−139
4、およびUSBは周知の通信プロトコルである。2つ
の相異なるゲートウェイが互いに対話したい場合、通信
のためにPnPブローカを使用することができる。例え
ば、あるゲートウェイがJiniクラスタを代表する一
方で、別のゲートウェイが、HAViを用いたIEEE
1394クラスタのゲートウェイとなることが可能であ
る。本発明のフレームワークでは、ゲートウェイは、そ
のアーキテクチャ用に設計されたダミーを使用すること
により、受動(非TCP/IP)デバイスと通信する。
The PnP broker allows a networked entity to discover and use the capabilities of another networked entity (gateway or dummy). The gateway registers its capabilities with the corresponding PnP broker, and the dummy device discovers the gateway and communicates with the PnP broker through this gateway. Each type of device in the network (eg, X-10X, 1394X, US
Each B) has a specific gateway, which is connected at one end to this device cluster and at the other end to a PnP broker. X-10, HAVi, IEEE-139
4 and USB are well-known communication protocols. If two different gateways want to interact with each other, a PnP broker can be used for communication. For example, one gateway may represent a Jini cluster, while another is an IEEE using HAVi.
It can be a 1394 cluster gateway. In the framework of the present invention, the gateway communicates with passive (non-TCP / IP) devices by using a dummy designed for its architecture.

【0043】図2に、アクティブコンフィグレーション
フレームワークの全体設計を示す。実行環境102内で
動作するPnPブローカ104は、ゲートウェイ201
を通じて、ダミーデバイス203およびユーザアプリケ
ーション202と通信する。ゲートウェイデバイス20
1は、ネットワークノード205上で、そのオペレーテ
ィングシステム環境内で動作する。ノード205は、ゲ
ートウェイおよびサービスへのアクセスを制御するため
にセキュリティ実施機構204を提供する。
FIG. 2 shows the overall design of the active configuration framework. The PnP broker 104 operating in the execution environment 102
Through the communication with the dummy device 203 and the user application 202. Gateway device 20
1 runs on the network node 205 in its operating system environment. Node 205 provides security enforcement mechanism 204 to control access to gateways and services.

【0044】ネットワーク接続されたエンティティは、
サービスユニットと呼ばれる有意味な機能に再分割され
る。原理的には、アーキテクチャは、ユーザアプリケー
ションの観点から、1つの有意味な機能を1つのサービ
スユニットとして定義する。サービスユニットは、ユー
ザアプリケーション/サービス全体であることも可能で
あり、ユーザアプリケーション/サービスの一部である
ことも可能である。コマンド、応答、およびデータは、
ユーザアプリケーションとサービスユニットの間、サー
ビスユニットとサービスの間、あるいはサービスユニッ
トと別のサービスユニットの間で交換することが可能で
ある。サービスユニットは、その機能をPnPブローカ
に登録する。
The networked entities are:
It is subdivided into meaningful functions called service units. In principle, the architecture defines one meaningful function as one service unit from the point of view of the user application. A service unit can be the entire user application / service or a part of the user application / service. Commands, responses, and data are
It is possible to exchange between a user application and a service unit, between a service unit and a service, or between a service unit and another service unit. The service unit registers its function with the PnP broker.

【0045】PnPブローカにより、ネットワーク接続
されたエンティティは、他のネットワーク接続エンティ
ティの能力を発見し利用することが可能となる。ネット
ワーク接続エンティティは、サービスユーザ(ユーザア
プリケーション)であることが可能である。ユーザアプ
リケーションは、PnPブローカを通じて、サービスを
発見し、それを使用することを要求する。PnPブロー
カは、サービスユニットとユーザアプリケーションを接
続するためのトランスポート独立なインタフェース(P
nPブローカインタフェースという)を提供する。この
インタフェースは、TCP/IPプロトコルスタック上
で動作するように設計される。PnPブローカは、サー
ビスブローカまたはマネージャとしてその役割を果たす
ために、異なるクラスタ内の他のPnPブローカと通信
する。PnPブローカ間のプロトコルはPnPブローカ
間プロトコルと呼ばれる。
The PnP broker allows networked entities to discover and utilize the capabilities of other networked entities. The network connection entity can be a service user (user application). The user application discovers the service through the PnP broker and requests to use it. The PnP broker is a transport independent interface (P) for connecting service units and user applications.
nP broker interface). This interface is designed to run on the TCP / IP protocol stack. The PnP broker communicates with other PnP brokers in different clusters to play its role as a service broker or manager. A protocol between PnP brokers is called an inter-PnP broker protocol.

【0046】各デバイスクラスタは、高々、1つのPn
Pブローカを有する。ローカルなPnPブローカがない
とき、ユーザアプリケーション/サービスユニットは、
JavaRMIやHTTPのようなインターネット通信
プロトコルを通じてリモートPnPブローカ(別のゲー
トウェイに接続されたPnPブローカ)を使用すること
が可能である。JavaRMIプロトコルは当業者に周
知である。その詳細な説明は、Downing, Troy Bryan, "
Java RMI: Remote Method Invocation", IDG Books Wor
ldwide, 1998、にある。HTTPプロトコルも当業者に
周知である。その説明は、"Paul S. Hethmon, "Illustr
ated Guide to HTTP", Manning Publications, 1997、
にある。サービスユニットは、それに直接に接続された
PnPブローカを使用することも可能であるし、PnP
ブローカ間プロトコルを使用することによりリモートP
nPブローカを使用することも可能である。図3に示す
ネットワークシステムでは、サービスユニット406
は、PnPブローカ間プロトコル404を通じて、リモ
ートPnPブローカ1104に接続されたサービス14
06および1402を利用する。こうして、あるサービ
スユニットが、異なるデバイスクラスタに位置するサー
ビスユニットで利用可能なサービスに問い合わせ、これ
を使用することができる。
Each device cluster has at most one Pn
Has a P broker. When there is no local PnP broker, the user application / service unit
It is possible to use a remote PnP broker (a PnP broker connected to another gateway) through Internet communication protocols such as Java RMI and HTTP. The Java RMI protocol is well known to those skilled in the art. For a detailed description, see Downing, Troy Bryan, "
Java RMI: Remote Method Invocation ", IDG Books Wor
ldwide, 1998. The HTTP protocol is also well known to those skilled in the art. See Paul S. Hethmon, "Illustr
ated Guide to HTTP ", Manning Publications, 1997,
It is in. The service unit can use a PnP broker directly connected to it,
Remote P by using inter-broker protocol
It is also possible to use an nP broker. In the network system shown in FIG.
Is a service 14 connected to a remote PnP broker 1104 via an inter-PnP broker protocol 404.
06 and 1402 are used. Thus, one service unit can query and use the services available in service units located in different device clusters.

【0047】[PnPブローカ機能コンポーネント]P
nPブローカの内部コンポーネントを図4に示す。通
常、PnPブローカは、サービスレジストリ305、サ
ービスディスカバリ/アベイラビリティエージェント3
04、サービスセッション管理エージェント306、サ
ービスロケーションプロトコル(SLP:service loca
tion protocol)ユーザエージェント308およびSL
Pサービスエージェント307からなる。PnPブロー
カ間プロトコル303は、他のPnPブローカ301と
の通信に使用される。PnPブローカインタフェース3
02は、ユーザアプリケーション103に対するインタ
フェースを提供する。サービスロケーションプロトコル
(SLP)は、当業者に周知であり、James Kempf and
Pete St. Pierre, "Service Location Protocol for En
terprise Networks: Implementing and Deploying a Dy
namic Service Resource Finder", John Wiley and Son
s, 1999、に記載されている。サービスレジストリは、
1個以上のサービスレコードを含む。サービスレジスト
リ内のすべての情報は、検索、索引づけおよび交換を容
易にするために、XML(eXtensibleMarkup Language)
として記述される。XMLもまた当業者に周知であり、
Natanya Pitts-Moultis and Cheryl Kirk, "XML black
book", Coriolis Group Books,1999、に記載されてい
る。
[PnP broker function component] P
FIG. 4 shows the internal components of the nP broker. Usually, the PnP broker includes the service registry 305, the service discovery / availability agent 3
04, service session management agent 306, service location protocol (SLP: service loca
option protocol) user agent 308 and SL
It comprises a P service agent 307. The PnP inter-broker protocol 303 is used for communication with another PnP broker 301. PnP broker interface 3
02 provides an interface to the user application 103. Service Location Protocol (SLP) is well known to those skilled in the art and is described by James Kempf and
Pete St. Pierre, "Service Location Protocol for En
terprise Networks: Implementing and Deploying a Dy
namic Service Resource Finder ", John Wiley and Son
s, 1999. The service registry is
Contains one or more service records. All information in the service registry is extensible markup language (XML) to facilitate searching, indexing and exchange.
It is described as XML is also well known to those skilled in the art,
Natanya Pitts-Moultis and Cheryl Kirk, "XML black
book ", Coriolis Group Books, 1999.

【0048】[サービスレジストリ]PnPブローカ
は、サービスについての情報を保持するためにサービス
レジストリを含む。最小限、レジストリは、そのPnP
ブローカに直接に接続されたゲートウェイおよびサービ
スについての情報を格納する。図3に示すように、これ
らのサービスは、ローカルPnPブローカ104または
リモートPnPブローカ1104にある。さらに、Pn
Pブローカレジストリは、他のPnPブローカに登録さ
れているサービスについての情報を格納することも可能
である。この拡張されたレジストリ機能により、ローカ
ルPnPブローカは、サービスのローカルなディレクト
リを保持することが可能となる。これは、ローカルな環
境にとって重要であり、ネットワーク内に別個の「集中
化した」SLPディレクトリエージェントは不要とな
る。例えば、ローカルPnPブローカがプリントサーバ
をサポートする場合、レジストリは、すべての準拠プリ
ントサーバについての情報を有することが可能である。
最終的に、この情報は、負荷均衡、フォールトトレラン
ス、あるいはキャッシュのために使用可能である。ま
た、PnPブローカサービスレジストリは、デバイスタ
イプにかかわらず、ローカルPnPブローカの範囲内に
あるすべての準拠デバイスについての情報を提供する、
ネットワークディレクトリとして作用することも可能で
ある。この場合、ネットワーク内のPnPブローカのう
ちの1つが、すべてのPnPブローカを見つけて登録す
る責任を負う中心ディレクトリとして指定されることに
なる。ネットワークリソースに対する他のデバイスから
のすべての要求は、このPnPブローカへ向けて送ら
れ、このPnPブローカはそれぞれに応答することにな
る。
[Service Registry] The PnP broker includes a service registry to hold information about services. At a minimum, the registry must have its PnP
Stores information about gateways and services directly connected to the broker. As shown in FIG. 3, these services are on the local PnP broker 104 or the remote PnP broker 1104. Further, Pn
The P broker registry can also store information about services registered with other PnP brokers. This extended registry function allows a local PnP broker to maintain a local directory of services. This is important for the local environment and eliminates the need for a separate "centralized" SLP directory agent in the network. For example, if the local PnP broker supports a print server, the registry may have information about all compliant print servers.
Ultimately, this information can be used for load balancing, fault tolerance, or caching. The PnP broker service registry also provides information about all compliant devices within range of the local PnP broker, regardless of device type.
It can also act as a network directory. In this case, one of the PnP brokers in the network will be designated as the central directory responsible for finding and registering all PnP brokers. All requests from other devices for network resources are sent to the PnP broker, which will respond.

【0049】[サービスレコード]サービスレコード
は、ネットワーク接続されたクラスタ内の利用可能なサ
ービスユニットのセットであり、利用可能なサービス
と、他のPnPブローカから要求されたサービスとを記
述する。サービスレコードは、そのローカルクラスタ内
の0個以上のサービスユニットレコードからなる。サー
ビスユニットレコードは、サービスユニットIDフィー
ルドと、それに続く0個以上の属性レコードからなる。
サービスユニットIDフィールドは、サービスユニット
のタイプと、そのサービスユニットによって提供される
サービスとを識別する。デバイスは、ただ1つのサービ
スユニットを有するが、複数の属性を有することも可能
である。属性レコードは、属性IDフィールド、その
値、および、アクセス制御情報からなる。属性レコード
は、主に、それぞれのサービスまたはデバイスに対する
細かいアクセス制御を実施するために使用される。さら
に、属性レコードは、デバイスの現在の状態、および、
それを変更するために使用可能なインタフェースの記述
を格納する。
[Service Record] A service record is a set of available service units in a network-connected cluster, and describes available services and services requested from other PnP brokers. The service record is composed of zero or more service unit records in the local cluster. The service unit record is composed of a service unit ID field followed by zero or more attribute records.
The service unit ID field identifies the type of the service unit and the service provided by the service unit. A device has only one service unit, but can have multiple attributes. The attribute record includes an attribute ID field, its value, and access control information. Attribute records are primarily used to implement fine-grained access control for each service or device. In addition, the attribute record contains the current state of the device, and
Stores a description of the interface that can be used to modify it.

【0050】[サービスディスカバリ/アベイラビリテ
ィエージェント]PnPブローカは、リモートPnPブ
ローカを発見し利用可能なサービスを識別するために、
サービスディスカバリ/アベイラビリティエージェント
を必要とする。サービスディスカバリ(発見)は、ロー
カルPnPブローカによって指定される、要求されるサ
ービスタイプを、リモートPnPブローカ上で利用可能
なサービスタイプと比較することによって実行される。
ローカルPnPブローカからリモートPnPブローカへ
要求サービスタイプを送信し、リモートPnPブローカ
からローカルPnPブローカへその応答を送信するため
に、上記のJavaRMIやHTTPを使用することが
できる。要求サービスタイプの指定の検査により、Pn
Pブローカは、リモートPnPブローカに登録されてい
るすべてのあるいは特定のサービスの特性を決定するこ
とができる。サービスディスカバリ/アベイラビリティ
エージェントは、SLPユーザエージェントおよびSL
Pサービスエージェントの上に位置する。
[Service Discovery / Availability Agent] The PnP broker searches for a remote PnP broker and identifies available services.
Requires a service discovery / availability agent. Service discovery is performed by comparing the requested service type specified by the local PnP broker with the service types available on the remote PnP broker.
The Java RMI or HTTP described above can be used to send the requested service type from the local PnP broker to the remote PnP broker and send the response from the remote PnP broker to the local PnP broker. By checking the specified service type, Pn
The P broker can determine the characteristics of all or specific services registered with the remote PnP broker. Service discovery / availability agents are SLP user agents and SLs
Located above the P service agent.

【0051】さらに、PnPブローカは、サービスディ
スカバリ/アベイラビリティエージェントを用いて、サ
ービスのアベイラビリティ(利用可能性)を周期的にチ
ェックすることができる。ローカルPnPブローカは、
適当なPnPブローカに対して、アベイラビリティチェ
ックを実行するよう要求する。本発明の実施例では、ユ
ーザは、アベイラビリティチェックの周期を指定し、ま
た、このチェックを取り消すことができる。
Further, the PnP broker can periodically check the availability (availability) of a service using a service discovery / availability agent. The local PnP broker
Requests the appropriate PnP broker to perform an availability check. In an embodiment of the present invention, the user can specify the period of the availability check and cancel the check.

【0052】[サービスセッション管理エージェント]
ユーザアプリケーションがサービスまたはデバイスを発
見し、それを使用したいとき、PnPブローカは、ユー
ザアプリケーションとそのサービスの間に仮想パイプ
(トンネル)を確立する。これをサービスセッションと
いう。このようなトンネルを用いて、ユーザアプリケー
ションとサービスの間で、コマンド、応答およびデータ
を交換することができる。デバイスのインタフェースの
編成に従って、これらのコマンド、応答、およびデータ
は特定のフォーマットを有し、定義されたプロトコルの
もとで交換される。PnPブローカは、この仮想パイプ
を管理しながら、以下の3つのプロトコルのうちの1つ
で動作するよう指令されることが可能である。
[Service Session Management Agent]
When a user application discovers a service or device and wants to use it, the PnP broker establishes a virtual pipe (tunnel) between the user application and the service. This is called a service session. Using such a tunnel, commands, responses and data can be exchanged between user applications and services. According to the organization of the device interface, these commands, responses and data have a specific format and are exchanged under defined protocols. The PnP broker can be instructed to operate on one of the following three protocols while managing this virtual pipe.

【0053】[ネイティブパケットでのネイティブデー
タ転送]PnPブローカは、データパイプを設定した
後、バックグラウンドに入ることにより、ユーザアプリ
ケーションとサービスが、メッセージストリームおよび
データフォーマットを管理することを可能にする。この
アプローチは、PnPブローカが他のネットワークエン
ティティの能力を発見するために単独で使用され、アプ
リケーション、サービス、およびデバイスがユーザアプ
リケーションと発見されたサービスとの間の相互作用を
管理するときに有用である。メッセージは、PnPブロ
ーカの関与なしに、ユーザアプリケーションとサービス
の間で直接に交換される。メッセージ交換は、厳密に、
ネイティブパケットにおけるネイティブデータの形式で
ある。サービスを要求する前にサービスを発見するため
あるいはサービスの問合せ(クエリ)を行うために、ユ
ーザアプリケーションは、PnPブローカ間プロトコル
を使用可能である。例えば、IEEE1394対応のカ
メラは、このデータ交換フォーマットを用いて、データ
ストリームをディジタルVCRに送ることができる。
[Native Data Transfer in Native Packet] After setting up the data pipe, the PnP broker enters the background, thereby enabling the user application and service to manage the message stream and the data format. This approach is used by PnP brokers alone to discover the capabilities of other network entities and is useful when applications, services, and devices manage the interaction between user applications and discovered services. is there. Messages are exchanged directly between user applications and services without the involvement of a PnP broker. Message exchange is strictly
This is the format of native data in the native packet. User applications can use the PnP inter-broker protocol to discover services before making service requests or to query for services. For example, an IEEE 1394 compliant camera can use this data exchange format to send a data stream to a digital VCR.

【0054】[PnPブローカのパケットにおけるネイ
ティブデータ転送(トンネリング)]データフォーマッ
トはユーザアプリケーションおよびサービスによって選
択され制御される一方で、PnPブローカが、データパ
イプを設定し、メッセージストリームを管理することも
可能である。このアプローチは、ユーザアプリケーショ
ンと発見されたサービスとの間で共通のメッセージング
プロトコルが存在しないときに有用である。すべてのメ
ッセージは、PnPブローカ間プロトコルによって運ば
れる。例えば、IEEE1394対応カメラは、PnP
ブローカを通じて、異なるクラスタ内のディジタルVC
Rにデータストリームを送る。
Native Data Transfer (Tunneling) in PnP Broker Packets While the data format is selected and controlled by user applications and services, the PnP broker can also set up data pipes and manage message streams. It is. This approach is useful when there is no common messaging protocol between the user application and the discovered service. All messages are carried by the PnP inter-broker protocol. For example, an IEEE1394 compatible camera is a PnP
Digital VCs in different clusters through broker
Send data stream to R.

【0055】[PnPブローカのパケットにおけるPn
Pブローカのデータ(完全機能ゲートウェイ)]PnP
ブローカが、データパイプを設定し、メッセージストリ
ームを管理し、ユーザアプリケーションとサービスとの
相互作用のためのデータフォーマット定義を提供する。
また、ブローカは、ユーザアプリケーションと発見され
たサービスとの間の共通のメッセージングプロトコルお
よび共通のデータフォーマットを提供する。メッセージ
交換情報は、PnPブローカデータに含まれ、これはパ
ケットにフォーマットされる。ユーザアプリケーション
メッセージは、PnPブローカを通るが、PnPブロー
カは、メッセージの内容あるいはセマンティクスを検査
することはない。このタイプの相互作用の例は、USB
デバイスと対話するIEEE1394対応デバイスであ
る。
[Pn in PnP broker packet
P Broker Data (Fully Functional Gateway)] PnP
A broker configures data pipes, manages message streams, and provides data format definitions for user application and service interactions.
The broker also provides a common messaging protocol and a common data format between the user application and the discovered service. The message exchange information is included in PnP broker data, which is formatted into packets. User application messages pass through the PnP broker, but the PnP broker does not check the content or semantics of the message. An example of this type of interaction is USB
An IEEE 1394 compliant device that interacts with the device.

【0056】[SLPユーザエージェント]ユーザエー
ジェントは、あるサービスとの接続を確立するためにユ
ーザに代わって動作するプロセスである。ユーザエージ
ェントは、サービスエージェントまたはディレクトリエ
ージェントからサービス情報を取得する。
[SLP User Agent] A user agent is a process that operates on behalf of a user to establish a connection with a certain service. The user agent acquires service information from the service agent or directory agent.

【0057】[SLPサービスエージェント]サービス
エージェントは、サービスを公表するために、1個以上
のサービスに代わって動作するプロセスである。
[SLP Service Agent] A service agent is a process that operates on behalf of one or more services to announce the service.

【0058】[プロトコルと相互作用]PnPブローカ
は、ユーザアプリケーションがネットワークのプラグア
ンドプレイ機能を利用することができるようにする標準
化されたインタフェースを公開する。このPnPブロー
カインタフェースを用いて、アプリケーションは、トラ
ンスポート層とは独立にPnPブローカ間プロトコルを
用いて相互に通信するように書くことができる。この設
計は、ポータビリティ(可搬性)を促進し、ネットワー
クサービスの発見および選択のためのスケーラブルなフ
レームワークを提供する。PnPブローカ間プロトコル
は、IETF Service Location Protocol v.2に基づいてお
り、サービスをサポートするネットワークホストの名前
をユーザアプリケーションが知ることは不要である。む
しろ、ユーザは、PnPブローカインタフェースを通じ
て、所望のサービスタイプと、対応する属性のセットと
をPnPブローカに与える。これらは、PnPブローカ
に対して、所望のサービスを記述する。この記述に基づ
いて、PnPブローカは、PnPブローカ間プロトコル
を用いてサービスのネットワークアドレスを解決し、P
nPブローカ間プロトコルは、サービスロケーションプ
ロトコルを使用する。また、PnPブローカインタフェ
ースは、デバイスあるいはサービスのためのユーザの識
別および認証機構を扱う。いったんサービスが識別され
ると、PnPブローカ間プロトコルは、JavaRMI
あるいはHTTPを用いて、ユーザアプリケーション
が、発見されたサービスを使用することを可能にする。
このフレームワークのもう1つの重要な特徴はゲートウ
ェイによって提供される。ゲートウェイは、デバイスの
能力をPnPブローカに登録し、PnPブローカが、P
nPブローカにおいてサービスエージェントを通じてサ
ービスを使用することを可能にする。
Protocols and Interactions The PnP broker exposes a standardized interface that allows user applications to take advantage of the network's plug and play capabilities. With this PnP broker interface, applications can be written to communicate with each other using a PnP inter-broker protocol independent of the transport layer. This design promotes portability and provides a scalable framework for network service discovery and selection. The PnP inter-broker protocol is based on the IETF Service Location Protocol v.2 and does not require the user application to know the name of the network host supporting the service. Rather, the user provides the desired service type and corresponding set of attributes to the PnP broker through the PnP broker interface. These describe the desired services to the PnP broker. Based on this description, the PnP broker resolves the network address of the service using the PnP
The nP inter-broker protocol uses a service location protocol. The PnP broker interface also handles user identification and authentication mechanisms for devices or services. Once a service is identified, the PnP inter-broker protocol uses the Java RMI
Alternatively, using HTTP, the user application can use the discovered service.
Another important feature of this framework is provided by the gateway. The gateway registers the capabilities of the device with the PnP broker, and the PnP broker
Allows the service to be used through a service agent at the nP broker.

【0059】要約すれば、本発明のプロトコルスイート
は、以下のプロトコルおよびインタフェースからなる。 ・PnPブローカとユーザアプリケーションの間のイン
タフェース。 ・あるPnPブローカと別のPnPブローカの間のプロ
トコル。 ・PnPブローカとゲートウェイの間のプロトコル。 ・ゲートウェイとダミーの間のプロトコル。
In summary, the protocol suite of the present invention consists of the following protocols and interfaces. Interface between PnP broker and user application. A protocol between one PnP broker and another PnP broker. A protocol between the PnP broker and the gateway. A protocol between the gateway and the dummy.

【0060】[ユーザアプリケーションへのPnPブロ
ーカのインタフェース(PnPブローカインタフェー
ス)]PnPブローカは、サービス登録、サービス発
見、サービス要求、およびアベイラビリティチェックの
ために、ユーザアプリケーションに対して、標準化され
たAPIおよびインタフェースを公開する。さらに、P
nPブローカは、適当なサービスあるいはデバイスのた
めのユーザの識別および認証を扱う。
[PnP Broker Interface to User Application (PnP Broker Interface)] The PnP broker provides a standardized API and interface to the user application for service registration, service discovery, service request and availability check. Publish. Furthermore, P
The nP broker handles user identification and authentication for the appropriate service or device.

【0061】[サービス登録]必要なとき、サービスユ
ニットまたははユーザアプリケーションは、それぞれ、
サービスユニットまたはユーザアプリケーションとして
ローカルPnPブローカに自分を登録または登録解除す
るために、RegisterService()またはUnregisterService
()を呼び出す。ユーザアプリケーションまたはサービス
ユニットがPnPブローカに登録された後、その機能
は、別のユーザアプリケーションまたはサービスユニッ
トからのQueryService()またはSearchService()要求に
対する応答に含まれる。
[Service Registration] When necessary, the service unit or the user application respectively
RegisterService () or UnregisterService to register or unregister yourself with the local PnP broker as a service unit or user application
Call (). After a user application or service unit is registered with the PnP broker, its functionality is included in a response to a QueryService () or SearchService () request from another user application or service unit.

【0062】[サービス発見]ユーザアプリケーション
は、SearchService()を呼び出して、ローカルPnPブ
ローカに対し、特定のサービスを有する登録されたサー
ビスユニットを含むPnPブローカを探索するよう要求
する。ユーザアプリケーションは、QueryService()を呼
び出して、どのようなサービスユニットが登録されてい
るか、および、ユーザアプリケーションによって指定さ
れたPnPブローカに登録されているサービスユニット
の機能を発見する。
[Service Discovery] The user application calls SearchService () to request the local PnP broker to search for a PnP broker including a registered service unit having a specific service. The user application calls QueryService () to find out what service unit is registered and the function of the service unit registered in the PnP broker specified by the user application.

【0063】[サービス要求]ユーザアプリケーション
またはサービスユニットは、OpenService()を呼び出し
て、ローカルPnPブローカに対し、ローカルPnPブ
ローカまたはリモートPnPブローカのいずれかに登録
されている特定のサービスユニットとのサービスセッシ
ョンを開始するよう要求する。TransferData()、Receiv
eData()、およびCloseService()コールにより、追加機
能が提供される。
[Service Request] The user application or service unit calls OpenService () to notify the local PnP broker of a service session with a specific service unit registered in either the local PnP broker or the remote PnP broker. Request to start. TransferData (), Receiv
The eData () and CloseService () calls provide additional functionality.

【0064】[アベイラビリティチェック]ユーザアプ
リケーションまたはサービスユニットは、StartAvailab
ilityCheck()を呼び出して、ローカルPnPブローカに
対し、ローカルPnPブローカまたはリモートPnPブ
ローカのいずれかに登録されている特定のサービスユニ
ットが動作しているかどうかを周期的にチェックするよ
う要求する。
[Availability Check] The user application or the service unit is assigned to StartAvailab
Calls ilityCheck () to request the local PnP broker to periodically check whether a particular service unit registered with either the local PnP broker or the remote PnP broker is running.

【0065】[ユーザの識別および認証]好ましい実施
例では、本発明は、Javaアプリケーション環境を利
用する。これは、分散コンピューティングのための適切
な、現在利用可能なコンピューティングプラットフォー
ムを提供するからである。この環境では、コードおよび
データの両方が、マシン間で移動可能である。この環境
は、別のマシンからダウンロードされたコードが、妥当
なレベルの信頼性で動作することを可能にする組込みセ
キュリティを有する。Javaアプリケーション環境に
おける強い型付けにより、仮想マシン上で、オブジェク
トのクラスの識別は、そのオブジェクトがそのマシン上
で発生したものでないときでも実行可能である。その結
果、ネットワークは、必要に応じて移動可能なオブジェ
クトの流動的なコンフィグレーションをサポートし、オ
ペレーションを実行するためにネットワークの任意の部
分を呼び出すことができる。
User Identification and Authentication In the preferred embodiment, the present invention utilizes a Java application environment. This is because it provides a suitable, currently available computing platform for distributed computing. In this environment, both code and data are portable between machines. This environment has built-in security that allows code downloaded from another machine to operate with a reasonable level of reliability. Due to the strong typing in the Java application environment, identification of a class of an object on a virtual machine can be performed even when the object does not originate on that machine. As a result, the network supports the fluid configuration of movable objects as needed and can invoke any part of the network to perform operations.

【0066】ホームデバイスへの認証なしのアクセス
は、フレームワーク全体のセキュリティにとって重大な
結果を生じる可能性がある。リソースへの制御されたア
クセスは、安全性とセキュリティの基礎である。従っ
て、本発明の一実施例は、Java仮想マシンおよびJ
avaプログラミング環境を使用して、1つのデバイス
のセキュリティを保証する。システムは、障害のあるデ
バイスに対処するように設計することが可能であるが、
ネットワークセキュリティは、デバイスセキュリティよ
りも複雑な問題となる。
Unauthenticated access to home devices can have serious consequences for the security of the entire framework. Controlled access to resources is the basis for security and security. Accordingly, one embodiment of the present invention provides a Java virtual machine and a J
The ava programming environment is used to ensure the security of one device. While the system can be designed to handle faulty devices,
Network security is a more complex issue than device security.

【0067】本発明のもう1つの実施例は、コードを参
照する手段として、および、基本的なアクセス制御機構
として、コードのMD5チェックサムを使用する。MD
5は、コードのチェックサムを生成する暗号化手続きで
あり、アクセス制御のために使用される。しかし、ネッ
トワークが大規模になると、セキュリティポリシーを指
定しコードに名前付けするためのより柔軟な分散機構が
必要である。
Another embodiment of the present invention uses the MD5 checksum of the code as a means of referencing the code and as a basic access control mechanism. MD
Reference numeral 5 denotes an encryption procedure for generating a code checksum, which is used for access control. However, large networks require a more flexible distribution mechanism for specifying security policies and naming code.

【0068】本発明のセキュリティモデルは、プリンシ
パルとアクセス制御リストという2つの概念の上に構築
される。サービスは、あるエンティティ(プリンシパ
ル)に代わってアクセスされる。プリンシパルは、一般
に、システムの特定のユーザに由来する。サービス自体
が、そのサービスを実装するオブジェクトの識別に基づ
いて、他のサービスへのアクセスを要求することが可能
である。サービスへのアクセスが許可されるか否かは、
そのオブジェクトに対応するアクセス制御リストに依存
する。
The security model of the present invention is built on two concepts, a principal and an access control list. Services are accessed on behalf of an entity (principal). Principals generally come from a particular user of the system. The service itself can request access to other services based on the identity of the object that implements the service. Whether access to the service is allowed or not
Depends on the access control list corresponding to the object.

【0069】[PnPブローカ間通信プロトコル]Pn
Pブローカ間通信プロトコルは、2つの部分に分かれ
る。第1に、ネットワーク内で新たなデバイスおよびサ
ービスを発見するための、プロトコルおよび機構のセッ
トが使用される。発見(ディスカバリ)手続きは、ユー
ザアプリケーションがどのようにしてネットワークイン
フラストラクチャを探索するか、および、ユーザアプリ
ケーションがどのようにして自分自身およびそのサービ
スを登録することができるかを指定するサービスディス
カバリプロトコルの部分に基づく。他方、ルックアップ
手続きは、ユーザアプリケーションが、集中化されたレ
ジストリがある場合あるいはない場合に、必要とするサ
ービスを探索するためにどのようにしてレジストリに問
合せを行うかを指定するプロトコルに基づく。
[PnP Broker Communication Protocol] Pn
The P-to-P broker communication protocol is divided into two parts. First, a set of protocols and mechanisms are used to discover new devices and services in the network. The discovery procedure is a service discovery protocol that specifies how the user application searches the network infrastructure and how the user application can register itself and its services. Based on part. On the other hand, the lookup procedure is based on a protocol that specifies how the user application queries the registry to find the service it needs, with or without a centralized registry.

【0070】いったんサービスが探索された後、そのサ
ービスを利用するために他のステップが必要になること
がある。本発明の実施例では、ユーザアプリケーション
は、サービスの品質およびセキュリティ条件を含めて、
サービスへのアクセスの交渉を行う。さらに、サービス
へのアクセスの交渉が成功した後、ユーザアプリケーシ
ョンは、JavaRMI、HOP、あるいはHTTPプ
ロトコルを使用して、実際にサービスを利用する。
[0070] Once a service has been searched, other steps may be required to utilize the service. In an embodiment of the present invention, the user application includes the quality of service and security requirements,
Negotiate access to services. Furthermore, after successful negotiation of access to the service, the user application actually uses the service using the Java RMI, HOP, or HTTP protocol.

【0071】[サービスディスカバリ/登録プロセス]
ルックアップおよびディスカバリの両方のために、サー
ビスロケーションプロトコル(SLP)が使用される。
図5に、サービスディスカバリ手続きを示す。SLP
は、自動的に、しかも事前の設定なしで、ユーザエージ
ェント(UA:user agent)502の要求を、サービス
エージェント(SA:Service Agent)504によって
提供されるサービス512と照合する。SLPは、SA
によるサービスの公表と、ディレクトリエージェント
(DA:Directory Agent)511により管理されるS
LPディレクトリ508へのサービスの編成とを処理す
る。また、SLPは、サービスがユーザアプリケーショ
ンにサービスの能力および設定条件を通知する手段を提
供する。
[Service Discovery / Registration Process]
The Service Location Protocol (SLP) is used for both lookup and discovery.
FIG. 5 shows a service discovery procedure. SLP
Automatically, without any prior configuration, checks the request of a user agent (UA) 502 against a service 512 provided by a service agent (SA) 504. SLP is SA
Announcement of services by the company and S managed by the Directory Agent (DA) 511
And the organization of services into the LP directory 508. The SLP also provides a means for the service to notify the user application of the capability and setting conditions of the service.

【0072】PnPブローカ501内のUA502は、
ユーザアプリケーション103によるサービスおよびリ
ソースの要求を理解する。同じくPnPブローカ503
(同じPnPブローカでも異なるPnPブローカでもよ
い)にあるSA504は、各ネットワークサービスを代
表し、UA502にとって利用可能なサービスを行う。
SLPは、動的にサービス属性を保持するため、UA5
02は、現在の情報を取得することが可能である。サー
ビスは、アプリケーションによって自動的に探索される
ことも可能であり、あるいは、サービスブラウザでユー
ザに提示されることも可能である。SLPは、既存のア
プリケーションをサポートするとともに、新たなサービ
スの公表および発見を容易に可能にする。
The UA 502 in the PnP broker 501 is
Understand the requests for services and resources by the user application 103. PnP broker 503
The SA 504 in (the same PnP broker or a different PnP broker) represents each network service and performs a service available to the UA 502.
The SLP dynamically retains service attributes, so the UA5
02 is capable of acquiring current information. The service can be searched automatically by the application or it can be presented to the user in a service browser. SLP supports existing applications and facilitates the publication and discovery of new services.

【0073】本発明によれば、サービスは、ゲートウェ
イによって記述される。ゲートウェイは、SA内の属性
(そのサービスに対応する)の値を設定する。例えば、
プリンタは、ポストスクリプトプリンタとして、青色の
紙が利用可能なプリンタとして、あるいは、ユーザのオ
フィスの同じフロアにあるプリンタとして、記述するこ
とができる。UA502は、DA511への要求メッセ
ージSrvReq505において必要なキーワードおよ
び属性値を指定することによって適当なプリンタを選択
し、応答を待つ。DA511は、適当するサービスのネ
ットワークロケーションを含む応答SrvRply50
5により応答する。小規模な施設では、DAがないこと
も可能であり、その場合、要求メッセージは直接にSA
に送られることになる。これを、ブロードキャストによ
るディスカバリ(507)という。
According to the present invention, a service is described by a gateway. The gateway sets the value of the attribute (corresponding to the service) in the SA. For example,
The printer can be described as a PostScript printer, a printer with blue paper available, or a printer on the same floor of the user's office. The UA 502 selects an appropriate printer by designating necessary keywords and attribute values in the request message SrvReq 505 to the DA 511, and waits for a response. DA 511 sends a response SrvRply50 containing the network location of the appropriate service.
Responds with 5. In smaller facilities, it is possible that there is no DA, in which case the request message is sent directly to the SA.
Will be sent to This is called discovery by broadcast (507).

【0074】サービスは、DA511に登録することに
よって自分自身を公表する。サービスの登録は、サービ
スを記述するすべてのキーワードと属性値対(属性と値
からなる対)とからなるリストを含む。また、登録は、
リソースへのリースを含む。これにより、リースの満期
後、サービス情報はDA511によって削除される。リ
ース機構は、サービスが永久に公表され続けているのに
サービスハードウェアがもはや利用可能でない状況を避
けるために実装される。また、明示的な登録解除も、S
Aの規則正しいシャットダウン手続きの一部として、D
Aからサービスの情報を削除することが可能である。ま
た、SAが、現在の属性情報を周期的に登録することに
より、UAが、サービスに関連するステータス、負荷、
温度、あるいはその他の動的特性を確認することも可能
である。
The service publishes itself by registering with the DA 511. The registration of the service includes a list of all keywords describing the service and attribute value pairs (pairs of attributes and values). In addition, registration,
Includes leases to resources. Thus, after the lease expires, the service information is deleted by the DA 511. The leasing mechanism is implemented to avoid situations in which service hardware is no longer available when services are being published forever. Also, explicit deregistration is
As part of A's regular shutdown procedure, D
It is possible to delete service information from A. Also, the SA periodically registers the current attribute information, so that the UA can check the status, load,
It is also possible to check temperature or other dynamic characteristics.

【0075】本発明のフレームワークでは、サービス
は、そのサービスタイプに従って分類される。各サービ
スタイプは、SA504がサービスを記述するために利
用可能にする、利用可能なキーワードおよび属性のセッ
トを定義する。サービスブラウザは、まず、UA502
にとって利用可能なサービスタイプを発見した後、その
サービスタイプについてSAによって公表されているす
べての情報を問い合わせることによって、UA502に
とって利用可能なすべてのサービスのすべての特性を決
定することができる。
In the framework of the present invention, services are classified according to their service types. Each service type defines a set of available keywords and attributes that SA 504 makes available to describe the service. The service browser starts with the UA502
After finding a service type available to the UA 502, all characteristics of all services available to the UA 502 can be determined by querying all information published by the SA for that service type.

【0076】[ユーザエージェントとサービスエージェ
ントの相互作用]サービス/デバイス登録プロセスの一
部として、まず、サービスユニット512のゲートウェ
イは、サービスあるいはデバイスをSA504に登録
し、その後、SA504は、SrvRegメッセージ5
06をDA511に送る。この登録は、サービスの特定
のインスタンスに対するサービスURIと、そのサービ
スを記述する属性値対とを含む。DA511は、さまざ
まな目的で、このような登録をキャッシュすることが可
能である。登録がキャッシュされた後、DA511は、
SrvAckメッセージにより応答する。また、サービ
ス登録は、寿命(lifetime)を含む。サービスが利用不能
になったがそれ自身を登録解除することができなかった
場合、寿命値により、DA511は、キャッシュされた
登録を満期にすることができる。この状況は、SA50
4がSrvDeregメッセージ506を発行すること
ができない場合にしか生じないはずである。正常動作
中、SA504は、後続のSrvRegメッセージで周
期的にサービスの登録をリフレッシュする。このような
「リフレッシュ」メッセージは、いずれかの値が変化し
た場合には更新された情報を含むことが可能であるが、
完全な属性のセットを含む必要はない。
[User Agent-Service Agent Interaction] As part of the service / device registration process, the gateway of the service unit 512 first registers the service or device with the SA 504, and then the SA 504 sends the SrvReg message 5
06 is sent to DA511. The registration includes a service URI for a particular instance of the service and an attribute value pair describing the service. DA 511 can cache such registrations for various purposes. After the registration is cached, DA 511
Responds with an SrvAck message. The service registration also includes a lifetime. The lifetime value allows DA 511 to expire a cached registration if the service becomes unavailable but could not deregister itself. This situation is SA50
4 should only be able to issue the SrvDereg message 506. During normal operation, the SA 504 periodically refreshes the service registration with a subsequent SrvReg message. Such a "refresh" message may include updated information if any of the values change,
It need not include the complete set of attributes.

【0077】PnPブローカ501のUA502は、サ
ービスが要求されるときに、DA511に対して要求を
行う。UA502がDA511を発見することが可能な
いくつかの方法がある。起動時にDA511のアドレス
をUA502に静的に設定することに加えて、UA50
2は、当業者に周知のDHCP(Dynamic Host Configur
ation Protocol)を用いてDA511のアドレスを要求
することも可能である。第3のオプションとして、リン
ク上にマルチキャストを行い、DAの公表を受け取ると
いうことがある。これらの3つのオプションは共存する
が、SLPが、手動設定なしで動作可能であることが重
要である。この理由で、UA502は、DA511を見
つけるためにSrvReqを使用することが可能であ
る。SrvReqは、SLPに対するIANA割当てマ
ルチキャストアドレスにマルチキャストされる。IAN
Aは、当業者に周知のInternet Assigned Numbering Au
thority標準である。これはマルチキャスト要求である
ため、複数のユニキャスト応答を受け取る可能性があ
る。その結果として得られるDAのりすとは、他のサー
ビス要求のために使用可能である。
The UA 502 of the PnP broker 501 makes a request to the DA 511 when a service is requested. There are several ways that the UA 502 can discover the DA 511. In addition to statically setting the address of DA 511 in UA 502 at startup, UA 50
2 is a DHCP (Dynamic Host Configurator) known to those skilled in the art.
It is also possible to request the address of the DA 511 by using the communication protocol. A third option is to multicast on the link and receive DA announcements. Although these three options coexist, it is important that the SLP can operate without manual configuration. For this reason, UA 502 can use SrvReq to find DA 511. The SrvReq is multicast to the IANA assigned multicast address for the SLP. IAN
A is an Internet Assigned Numbering Au well known to those skilled in the art.
thority standard. Since this is a multicast request, it may receive multiple unicast responses. The resulting DA resource is available for other service requests.

【0078】いったんUA502がDA511のアドレ
スを得ると、後続のサービス要求は直接にそのエンティ
ティに対して行うことが可能である。プリンタを例とす
ると、UA502がプリンタサービスを探索しようとす
る場合、SrvReqが作成される。このメッセージ
は、サービスタイプ"printer"と、オプションの属性お
よび値のリストとを含む。属性値対は、要求されるプリ
ンタのタイプを記述する。このメッセージは、事前に設
定された、または、マルチキャストを通じて発見され
た、DA511へユニキャストされる。DA511は、
SrvReqを受信し、キャッシュされた登録に対する
ルックアップを実行して、要求された属性および値と一
致するものを見つけようと試みる。その後、SrvRp
lyが、要求側のUA502へユニキャストされる。こ
の応答は、一致結果に依存して、0個以上のサービスU
RIを含む。その後、ユーザアプリケーションは、その
サービスURIを用いてプリンタを見つける。
[0078] Once the UA 502 has obtained the address of the DA 511, subsequent service requests can be made directly to that entity. Taking a printer as an example, if the UA 502 tries to find a printer service, an SrvReq is created. This message contains the service type "printer" and a list of optional attributes and values. The attribute value pairs describe the type of printer required. This message is unicast to DA 511, which is preset or discovered via multicast. DA511 is
Receives the SrvReq and performs a lookup on the cached registration and attempts to find a match for the requested attribute and value. Then, SrvRp
ly is unicast to the requesting UA 502. This response may contain zero or more services U, depending on the match result.
Including RI. Thereafter, the user application finds the printer using the service URI.

【0079】施設内にDA511がない場合、PnPブ
ローカは、同じくラスタ内のSA504を見つけること
に制限される。これは、多くの小規模な施設では許容で
きるかもしれないが、PnPブローカのスケーラブルな
アプリケーションの場合、および、複数のクラスタを有
する大規模な施設では、DA511を使用しなければな
らない。さらに、SLP DA511は、LDAPベー
スのディレクトリ509へのゲートウェイであることが
可能であるため、PnPブローカインタフェースは、変
換スキーマ510を用いて、すべてのプロトコルに対す
る単一のAPIを提供する。
If there is no DA 511 in the facility, the PnP broker is restricted to finding SA 504 also in the raster. This may be acceptable in many small facilities, but for scalable applications of PnP brokers, and in large facilities with multiple clusters, DA511 must be used. Further, because the SLP DA 511 can be a gateway to an LDAP-based directory 509, the PnP broker interface uses the conversion schema 510 to provide a single API for all protocols.

【0080】UA502は、サービスハンドルを取得し
たいとき、サービスタイプと、要求する属性の文字列ベ
ースの問合せとをサービス要求として送信する。サービ
ス応答が返されるとき、これは、サービスを指すURI
を含む。URIは、SA504のIPアドレスを含む
か、さもなければ、DNSがIPアドレスへと解決する
ことができる名前を含む。また、URIは、UA502
がサービスを使用するために必要とするその他の情報を
含む。例えばプリンタの場合、キュー名と、プリントサ
ービスをホスティングしているコンピュータのアドレス
とが返される。URIは、リソースロケーションを表す
ための従来の標準と同様の自然な方法で、サービスを見
つけるために使用される。さらに、文字セット問題は、
標準的な方法で対処することができる。
When the UA 502 wants to acquire a service handle, it sends a service type and a character string-based inquiry for the requested attribute as a service request. When the service response is returned, this is the URI pointing to the service
including. The URI contains the IP address of the SA 504, or a name that DNS can resolve to an IP address. The URI is UA502
Includes any other information needed by you to use the service. For example, in the case of a printer, the queue name and the address of the computer hosting the print service are returned. URIs are used to find services in a natural way, similar to conventional standards for representing resource locations. In addition, the character set problem is
Can be dealt with in a standard way.

【0081】[PnPブローカとユーザエージェントお
よびサービスエージェントとの相互作用]SLPを使用
することにより、PnPブローカは、同じタイプの多く
の他の公表されたデバイスから適当なサービスの正確な
選択をすることができる。これは、UA502によって
要求されたキーワードおよび要求された属性値に一致す
るサービスのみを要求することによって行われる。この
ようなキーワードおよび属性値は、AND、OR演算
子、一般的な比較演算子により、また、部分文字列マッ
チングを使用することにより、ブール式へと結合するこ
とができる。
Interaction of PnP Broker with User Agents and Service Agents By using SLP, the PnP broker can make an accurate selection of the appropriate service from many other published devices of the same type. Can be. This is done by requesting only services that match the keywords and requested attribute values requested by UA 502. Such keywords and attribute values can be combined into Boolean expressions by AND, OR operators, general comparison operators, and by using substring matching.

【0082】PnPブローカは、ユーザへのコンフィグ
レーション情報の提供を透過的にし、新たなサービスの
設定の作業を容易にする。これらはいずれも、システム
アドミニストレータを必要とする。SA504が近隣の
DA511にサービスを公表するように設定された後、
UA502は、さまざまなサービスがオペレーションを
開始および停止するとともにネットワーク上で変化する
条件に、動的に適応することができる。例えば、ウェブ
アプリケーションは、現時点でたまたま動作中であるシ
ステムとは独立に、適当なプリンタが利用可能である限
りそれを見つけることができる。
The PnP broker makes the provision of the configuration information transparent to the user and facilitates the work of setting a new service. All of these require a system administrator. After SA 504 is configured to advertise service to neighboring DA 511,
The UA 502 can dynamically adapt to changing conditions on the network as various services start and stop operation. For example, a web application can find a suitable printer as long as it is available, independent of the system that happens to be running at the moment.

【0083】ゲートウェイは、SA504に新たなデバ
イスあるいはサービスを追加したいとき、そのサービス
の利用可能な属性およびキーワードを供給する。SA5
04は、プログラム的にSLPに登録を行い、サービス
の固有のコンフィグレーション情報に基づいて属性に対
する値を割り当てることができる。その後、SLPは、
登録(公表)を処理し、ユーザアプリケーションとサー
ビスの間のコネクションの確立を可能にする。
When the gateway wants to add a new device or service to SA 504, it supplies the available attributes and keywords for that service. SA5
04 can programmatically register with the SLP and assign values to attributes based on the unique configuration information of the service. After that, the SLP
Handles registration (publication) and allows the establishment of a connection between the user application and the service.

【0084】新たなサービスタイプを必要に応じて定義
することができる。実験的なサービスタイプを限定され
た用途で配備し、その後に一般用に公開することも可能
である。これは、SLPのネーミング権限機能を用いて
実行される。ほとんどの一般的なサービスタイプは、デ
フォルトで、IANA(Internet Assigned NumberingAu
thority)により標準化されたサービステンプレート(ス
キーム)定義を使用する。代替サービスタイプを定義す
ることは、任意の代替ネーミング権限に知られているス
キーム定義(通常は、ローカル管理者に知られている名
前)を使用するようにディレクトリエージェントを設定
するのと同様に容易である。例えば、家庭でセキュリテ
ィサービスを提供するためには、"service:secure:Doo
r"というサービスタイプを定義することができる。もち
ろん、このタイプのサービスハンドルを利用するユーザ
アプリケーションは、"secure"サービスと通信するため
に、そのサービスのネットワークプロトコルを使用しな
ければならず、さらに、この特別のサービスタイプのU
RIに含まれる情報を解析することができなければなら
ない。これは、任意のユーザアプリケーション/サーバ
プロトコルの自然な動作に本来的なことである。
A new service type can be defined as needed. It is also possible to deploy an experimental service type for limited use and then make it publicly available. This is performed using the naming authority function of the SLP. Most common service types, by default, are IANA (Internet Assigned Numbering Au
service template (scheme) definition standardized by (thority). Defining an alternative service type is as easy as setting up a directory agent to use a scheme definition known to any alternative naming authority (typically a name known to the local administrator). It is. For example, to provide security services at home, use "service: secure: Doo
You can define a service type of "r." Of course, user applications that use this type of service handle must use the service's network protocol to communicate with the "secure" service, and , This special service type U
It must be able to analyze the information contained in the RI. This is inherent in the natural operation of any user application / server protocol.

【0085】[SLPをLDAPとともに使用するこ
と]LDAPv3(Lightweight Directory Access Prot
ocol)は、当業者に周知であり、汎用のディレクトリア
クセスプロトコルとして普及しつつある。LDAPはそ
の名前にLightweight(軽量)とあるが、SLPはLD
APよりもさらに「軽量」である。また、SLPは、自
動ディレクトリ管理を提供するため、および、階層的で
自由度の少ない名前空間における不適切なリソース配置
を必要としないために、リソース管理においてLDAP
よりすぐれている。SLPにおいて新たなサービスタイ
プを追加することはLDAPの場合よりもずっと容易で
ある。タイプによる問合せは、SLPの場合のほうがL
DAPの場合よりも効率的である。既存のリソースに対
する属性記述は、SLPでは利用可能であるが、LDA
Pでは不可能である。
[Using SLP with LDAP] LDAPv3 (Lightweight Directory Access Protocol)
ocol) is well known to those skilled in the art and is becoming popular as a general purpose directory access protocol. LDAP is called Lightweight in its name, but SLP is LD
It is even "lighter" than the AP. SLP also provides LDAP in resource management to provide automatic directory management and to avoid improper resource placement in hierarchical and less flexible namespaces.
Is better. Adding new service types in SLP is much easier than in LDAP. Inquiry by type is L in case of SLP
It is more efficient than DAP. Attribute descriptions for existing resources are available in SLP, but LDA
Not possible with P.

【0086】SLPでは、事前コンフィグレーションな
しでのディスカバリが可能である。これに対して、LD
APは、はじめに、ディレクトリのアドレスと、LDA
Pが使用するディレクトリスキームの知識を必要とす
る。SLPでは、非標準的な属性と、標準化されたサー
ビスタイプテンプレートの新しいバージョンが可能であ
るため、進化することができる。
[0086] In the SLP, discovery without prior configuration is possible. On the other hand, LD
The AP first starts with the directory address and the LDA
Requires knowledge of the directory scheme used by P. SLP can evolve because non-standard attributes and new versions of standardized service type templates are possible.

【0087】本発明の実施例は、SLPを使用して、L
DAPディレクトリの管理を簡単化し、SLPが、必要
に応じてLDAPディレクトリから取得される情報を返
すことを可能にする。別の実施例では、SLPは、LD
APにサービスエントリを入力するために動的に使用さ
れ、SLP問合せはLDAP問合せにマッピングされ
て、LDAPがSLPのバックエンドとなる。このよう
なコンフィグレーションの1つの利点は、ユーザアプリ
ケーションが、LDAPディレクトリから直接にユーザ
認証情報を得ることである。
Embodiments of the present invention use SLP to define L
Simplifies the management of the DAP directory and allows the SLP to return information obtained from the LDAP directory as needed. In another embodiment, the SLP is LD
Used dynamically to enter service entries into the AP, SLP queries are mapped to LDAP queries, and LDAP is the back end of SLP. One advantage of such a configuration is that the user application obtains user credentials directly from the LDAP directory.

【0088】[サービス利用プロセス]サービスディス
カバリ/登録プロセスは、サービスロケーションプロト
コルによって提供されるURIによって検索可能なサー
ビスレコードを提供する。PnPブローカ間の交換能力
は、サービスレコードを含むQueryService()メッセージ
を交換することにより提供される。この問合せ(query)
は、ユーザアプリケーションが利用したいサービスの要
件を記述し、リモートPnPブローカに対してサービス
の詳細を要求する。
[Service Usage Process] The service discovery / registration process provides a service record that can be searched by the URI provided by the service location protocol. Exchange capabilities between PnP brokers are provided by exchanging QueryService () messages containing service records. This query
Describes the requirements of the service that the user application wants to use, and requests the details of the service from the remote PnP broker.

【0089】受信側PnPブローカは、QueryService()
メッセージを受信すると、受信したサービスレコードを
自己のサービスレコードと比較する。その後、受信側P
nPブローカは、一致したサービスレコードを含むサー
ビスレコードを要求側PnPブローカに返す。このアプ
ローチは、すべてのサービスユニット、特定のタイプの
サービスユニット、あるいは、特定の能力のセットを有
するサービスユニットのうちで、ユーザアプリケーショ
ンが探索を行う技術を提供する。ユーザアプリケーショ
ンは、サービスレコードを受け取った後、サービスある
いはデバイスを使用するためにPnPブローカとの通信
を開始することができる。
The receiving side PnP broker uses QueryService ()
Upon receiving the message, it compares the received service record with its own service record. Then, the receiving side P
The nP broker returns a service record containing the matched service record to the requesting PnP broker. This approach provides a technique for a user application to search among all service units, a particular type of service unit, or a service unit with a particular set of capabilities. After receiving the service record, the user application can initiate communication with the PnP broker to use the service or device.

【0090】ローカルPnPブローカは、リモートPn
Pブローカへメッセージを送ることによって、ユーザア
プリケーションとサービスの間のサービスセッションの
確立を要求する。このメッセージは、ユーザアプリケー
ションサービスハンドル、リモートサービスユニットハ
ンドル、プロトコルID(ネイティブ/トンネル/ゲー
トウェイ経由)、要求側(リクエスタ)ID、および要
求側資格証明(credential)からなる。
The local PnP broker sends the remote Pn
Requests the establishment of a service session between the user application and the service by sending a message to the P broker. This message consists of a user application service handle, a remote service unit handle, a protocol ID (via native / tunnel / gateway), a requester (requester) ID, and a requester credential.

【0091】リモートPnPブローカは、要求されたサ
ービスが受容されるかそれとも拒否されるかを指定する
リザルトコードで応答する。リモートPnPブローカ
は、ある時間後のリダイレクトまたはリトライを含むこ
とも可能である。サービスが受容される場合、リモート
PnPブローカは、サービスセッションの開始を識別す
るサービスハンドルを送信する。サービスセッション
は、ユーザアプリケーションとサービスユニットの間、
または、2つのサービスユニットの間でのデータ転送を
扱う。ユーザアプリケーションは、サービスの使用を完
了すると、ローカルPnPブローカに対して、"close s
ervice"(サービス終了)メッセージをリモートPnP
ブローカへ送るよう要求する。さらに、ユーザアプリケ
ーションは、サービスが利用可能であるかどうかを周期
的に判定する必要があるとき、それぞれのPnPブロー
カに対して、フレームワーク内のPnPブローカ間でア
ベイラビリティチェックを実行するよう要求することが
できる。アベイラビリティチェックは、1つのデバイス
全体に対しても、あるいは、デバイス内で提供される特
定のサービスに対しても、実行可能である。
The remote PnP broker responds with a result code that specifies whether the requested service is accepted or rejected. The remote PnP broker may also include a redirection or retry after some time. If the service is accepted, the remote PnP broker sends a service handle identifying the start of the service session. The service session is between the user application and the service unit,
Alternatively, it handles data transfer between two service units. When the user application completes the use of the service, the user application notifies the local PnP broker of "close s
ervice "(end of service) message to remote PnP
Request to send to broker. Further, when the user application needs to periodically determine whether a service is available, it requests each PnP broker to perform an availability check between the PnP brokers within the framework. Can be. Availability checks can be performed for an entire device or for specific services provided within the device.

【0092】[PnPブローカ/ゲートウェイプロトコ
ル]PnPブローカ/ゲートウェイプロトコルは、簡単
なメッセージ交換機構に基づいている。ゲートウェイ
は、既に説明したように、ゲートウェイに直接に接続さ
れたサービスユニットを代表し、提供されるサービスを
登録する。また、ゲートウェイは、PnPブローカにあ
るサービスエージェントに対する、任意のサービスのコ
ンフィグレーションにおいてなされる変更を反映する。
この登録は、リースに基づいており、ゲートウェイまた
はサービスエージェントのいずれかにより更新可能であ
る。登録は、サービスエージェントに現在の情報を提供
する。PnPブローカは、特定のサービスに対する要求
を受け取ると、まず、サービスエージェントをチェック
して、必要なデバイスあるいはサービスをいずれかの直
接接続されたゲートウェイが提供するかどうかを判定す
る。また、ゲートウェイにより、サービスエージェント
は、ゲートウェイ内の特定のイベントに関心があること
を登録し、そのイベントの発生の通知を受け取ることが
可能である。このようなイベントは、ネットワークにお
けるデバイス/サービスの追加/削除であることが可能
である。サービスのサービスレコードがアプリケーショ
ンの要件に一致した場合、ユーザアプリケーションは、
ゲートウェイ内のサービスユニットと、ユーザアプリケ
ーションとの間のサービスセッションを設定することが
できる。
[PnP Broker / Gateway Protocol] The PnP broker / gateway protocol is based on a simple message exchange mechanism. The gateway, as described above, represents the service units directly connected to the gateway and registers the services to be provided. The gateway also reflects changes made in the configuration of any service to the service agent at the PnP broker.
This registration is based on a lease and can be renewed by either the gateway or the service agent. Registration provides current information to the service agent. When a PnP broker receives a request for a particular service, it first checks the service agent to determine if any of the directly connected gateways provide the required devices or services. The gateway also allows the service agent to register interest in a particular event within the gateway and receive notification of the occurrence of that event. Such an event may be the addition / deletion of a device / service in the network. If the service record for the service matches the requirements of the application, the User Application
A service session between a service unit in the gateway and a user application can be set up.

【0093】[イベント通知機構]本発明のフレームワ
ークでは、ユーザアプリケーションは、イベント通知要
求をサーバに登録することができるため、サーバは、新
たなデバイスがオンラインになったとき、あるいは、デ
バイスの属性が変化したときに、ユーザアプリケーショ
ンに通知することになる。これを達成するため、本発明
は、登録ユーザにイベント通知を配信するための機構を
提供する。
[Event Notification Mechanism] In the framework of the present invention, the user application can register an event notification request in the server. Will be notified to the user application when has changed. To achieve this, the present invention provides a mechanism for delivering event notifications to registered users.

【0094】ネットワークイベント通知プロトコルに
は、CORBA(Common Request Broker Architecture)
イベントサービス、X−Windowシステムイベン
ト、SGAP、BSCWなどのいくつかの周知のものが
ある。例えば、CORBAイベントサービスは、Robert
Orfali and Dan Harkey, "Client/Server Programming
with Java and CORBA", Wiley, 1996、に詳細に記載さ
れている。
The network event notification protocol includes CORBA (Common Request Broker Architecture).
There are several well known things such as event services, X-Window system events, SGAP, BSCW. For example, the CORBA event service is Robert
Orfali and Dan Harkey, "Client / Server Programming
with Java and CORBA ", Wiley, 1996.

【0095】しかし、上記のイベント通知サービスは、
特定のアーキテクチャで動作するように設計され、大規
模なコードベースを課するため、軽量通知サービスにお
いて実際に使用するのは困難である。
However, the event notification service described above
Designed to operate on a particular architecture, and imposing a large code base, it is difficult to actually use in lightweight notification services.

【0096】いくつかのタイプのイベントの通知のため
の登録に関して提供される能力に加えて、ユーザは、属
性を通知要求に関連づけることができる。好ましくは、
このような通知は、高い信頼性で配信され、完全に規則
正しいエンドツーエンド配信を保証するべきである。し
かし、通知が、信頼できないトランスポートを通じて配
信されるとき、確認応答やリトライは不要である。ユー
ザアプリケーションは、イベントの需要側が、受信の明
示的な確認を供給側に提供することを要求することも可
能である。認証のために、ユーザは、通知にディジタル
証明して、通知の正当性および完全性を保証することが
できる。
In addition to the capabilities provided for registration for notification of some types of events, the user can associate attributes with the notification request. Preferably,
Such notifications should be delivered reliably and guarantee a completely regular end-to-end delivery. However, when notifications are delivered over an unreliable transport, no acknowledgment or retry is required. The user application may also require that the demand side of the event provide an explicit confirmation of receipt to the supplier. For authentication, the user can digitally certify the notification to ensure the correctness and integrity of the notification.

【0097】本発明のフレームワークは、SLPの使用
により、2つの方法でイベント通知を達成する。第1実
施例によれば、サービスエージェントは、サービスが更
新された後、マルチキャストアナウンス(SrvRe
g)を送信する。更新を受信した後、ユーザエージェン
トは、ブラウザ更新を行うことが可能であり、DAは登
録を更新することができる。このような使用法は、SL
P使用では明示的に禁じられていないが、フラッディン
グ(flooding)を引き起こす可能性がある。さらに、この
アプローチは、多数のサービス、異なる言語、およびデ
ィジタル署名に関して効率的に動作しない。また、Sr
vRegは、ネットワークにおいて追加/削除/変更さ
れた各サービスのURIおよび属性を含む。
The framework of the present invention achieves event notification in two ways by using SLP. According to the first embodiment, after the service is updated, the service agent sends a multicast announcement (SrvRe
g) is sent. After receiving the update, the user agent can make a browser update and the DA can update the registration. Such usage is described in SL
The use of P is not explicitly prohibited, but can cause flooding. Furthermore, this approach does not work efficiently for many services, different languages, and digital signatures. Also, Sr
vReg includes the URI and attributes of each service added / deleted / changed in the network.

【0098】本発明のもう1つの実施例では、サービス
エージェントは、ネットワーク内のすべてのユーザエー
ジェントへのブロードキャストにより、SAAdver
tsメッセージをアナウンスする。SAAdverts
メッセージは、提供されるすべてのサービスタイプのリ
ストを含む。SAAdvertsを得た後、ユーザエー
ジェントは、送信側サービスエージェントへ適当なサー
ビス要求をユニキャストする。サービスエージェントか
らのアナウンスは、指数バックオフ方式で行われる。
[0098] In another embodiment of the present invention, the service agent broadcasts to all user agents in the network to send the SAAdver.
Announce ts message. SAAdverts
The message contains a list of all service types offered. After obtaining SAAdverts, the user agent unicasts the appropriate service request to the sending service agent. Announcements from service agents are made in an exponential back-off manner.

【0099】[ゲートウェイ/ダミープロトコル]ゲー
トウェイ/ダミープロトコルは、特殊なプロトコルであ
り、ネットワークにより統合されるデバイスのタイプを
反映する。ネットワークは、X−10、USBおよびI
EEE1394のデバイス/サービスをそれぞれネット
ワークの残りの部分に接続するX−10ゲートウェイ、
USBゲートウェイ、およびIEEE1394ゲートウ
ェイからなることが可能である。ダミーデバイスは、サ
ービスレコードに対応するタイプのレコードを独自(pro
prietary)フォーマットで格納する。ゲートウェイ/ダ
ミープロトコルは独自のものであるが、PnPブローカ
に対しては、標準化されたインタフェースを公開する。
[Gateway / Dummy Protocol] The gateway / dummy protocol is a special protocol and reflects the type of device integrated by the network. The network is X-10, USB and I
An X-10 gateway connecting each of the IEEE 1394 devices / services to the rest of the network,
It can consist of a USB gateway and an IEEE 1394 gateway. The dummy device stores a record of the type corresponding to the service record on its own (pro
(prietary) format. Although the gateway / dummy protocol is unique, it exposes a standardized interface to the PnP broker.

【0100】[実施例]本発明の一実施例によれば、ネ
ットワークは、1個以上のPnPブローカを有する。P
nPブローカは、ユーザといくつかのサービスとの間の
インタフェースとして作用する。一実施例では、X−1
0デバイスに対するPnPブローカは、USBデバイス
によって提供されるサービスにリンクされたいくつかの
ボタンあるいはその他のユーザインタフェースウィジェ
ットを提供する。ここで用いた「ユーザインタフェース
ウィジェット」という用語の意味には、ユーザアプリケ
ーションのグラフィカルユーザインタフェースを作成す
るために使用されるボタン、ダイアログ、テキストウィ
ンドウ、スケールおよびその他のグラフィカルコンポー
ネントを含む。あるボタンがクリックされると、PnP
ブローカは、単に、X−10ゲートウェイを通じて、特
定のサービスを呼び出す。以下のステップは、この実施
例により、ユーザアプリケーションが、ネットワーク内
の新たに登録されたサービスを利用するために必要とさ
れる。
Embodiment According to one embodiment of the present invention, a network has one or more PnP brokers. P
An nP broker acts as an interface between a user and some services. In one embodiment, X-1
The PnP broker for device 0 provides some buttons or other user interface widgets linked to the services provided by the USB device. As used herein, the term "user interface widget" includes buttons, dialogs, text windows, scales, and other graphical components used to create a graphical user interface for a user application. When a button is clicked, PnP
The broker simply invokes a particular service through the X-10 gateway. The following steps are required according to this embodiment for the user application to use the newly registered service in the network.

【0101】1.白熱電球が、家庭の電源アウトレット
に挿入される。
1. An incandescent light bulb is inserted into the home power outlet.

【0102】2.白熱電球は、ダミーデバイスであるた
め、X−10デバイスを通じて電源線ネットワークに接
続される。
2. Since the incandescent lamp is a dummy device, it is connected to the power line network through the X-10 device.

【0103】3.ホームネットワークでは、PnPブロ
ーカおよびX−10ゲートウェイは、新たなデバイスの
導入前に既に動作中である。
3. In the home network, the PnP broker and the X-10 gateway are already operational before the introduction of a new device.

【0104】4.X−10ゲートウェイは、利用可能な
アドレスを周期的にポーリングし、いずれかのデバイス
がアクティブになったかどうかをチェックする。
4. The X-10 gateway polls available addresses periodically to check if any devices have become active.

【0105】5.ゲートウェイは、新たなデバイスがネ
ットワークに入ったことを認識し、そのデバイスと、そ
のデバイスにより提供されるサービスとの両方を、Pn
Pブローカのサービスエージェントに登録する。
5. The gateway recognizes that a new device has entered the network, and passes both the device and the services provided by the device to Pn.
Register with the P broker service agent.

【0106】6.サービスエージェントは、デバイスを
使用するために、あるリースを取得する。このリース
は、各リース期間後に更新して、これにより、ゲートウ
ェイに対して、サービスが依然として利用可能であるか
どうかをチェックするよう要求しなければならない。
6. The service agent obtains a lease to use the device. This lease must be renewed after each lease period, thereby requesting the gateway to check if the service is still available.

【0107】7.サービスエージェントは、デバイスに
より提供されるサービスを、サービスロケーションプロ
トコルを用いて、ディレクトリエージェントに登録す
る。
7. The service agent registers a service provided by the device with the directory agent using a service location protocol.

【0108】8.ユーザは、デバイスを使用したい場
合、PnPブローカインタフェースを用いて、要求する
サービスに対する問合せおよび検索を行う。すると、P
nPブローカにあるユーザエージェントは、ディレクト
リエージェントと連絡をとるか、あるいは、(サービス
エージェントおよびユーザエージェントがいずれも1つ
のPnPブローカ内にある場合には)直接にサービスエ
ージェントへ行く。
8. When the user wants to use the device, he queries and searches for the requested service using the PnP broker interface. Then P
The user agent at the nP broker contacts the directory agent or goes directly to the service agent (if both the service agent and the user agent are within one PnP broker).

【0109】9.新たに発見されたデバイスが、ユーザ
のデバイス記述と一致する場合、サービスエージェント
あるいはディレクトリエージェントは、サービスパラメ
ータとともに、固有のURIをユーザエージェントに返
す。
9. If the newly discovered device matches the user's device description, the service agent or directory agent returns a unique URI to the user agent along with the service parameters.

【0110】10.ユーザアプリケーションは、これが
非TCP/IPデバイスであると判定し、これに従い、
PnPブローカ内のサービスセッション管理エージェン
トは、ユーザアプリケーションとデバイスの間のセッシ
ョンを確立する。しかし、このセッションでは、コマン
ド/データ転送は、PnPブローカをゲートウェイとし
て使用して、PnPブローカ間プロトコルにより行われ
る。
10. The user application determines that this is a non-TCP / IP device, and accordingly,
A service session management agent in the PnP broker establishes a session between the user application and the device. However, in this session, the command / data transfer is performed by a PnP inter-broker protocol using the PnP broker as a gateway.

【0111】11.また、ユーザアプリケーションによ
り提供されるインタフェースは、デバイス内の機能の実
行に関する情報も含む。
(11) The interface provided by the user application also includes information regarding the execution of a function in the device.

【0112】12.ゲートウェイは、サービスにおける
状態の変化をサービスエージェントに知らせて更新す
る。
12. The gateway informs the service agent of the state change in the service and updates it.

【0113】図6において、本発明の一実施例による例
示的なホームネットワークは、電源線(X−10)クラ
スタ613、電話線(HomePNA/xDSL)クラ
スタ602および606、CAT5(イーサネット(登
録商標))クラスタ616、USBクラスタ610、な
らびにJiniデバイスクラスタ609などの、周知の
ネットワークコンポーネントにより構成される。レジデ
ンシャル(住宅)ゲートウェイ605は、イーサネッ
ト、HomePNA、xDSL、およびJiniを含む
さまざまなネットワークを相互接続するために使用され
る。イーサネットクラスタは、ユーザのホームPC62
0を含む。ホームPC620は、イーサネットプロトコ
ルにより、ディジタルカメラ617およびウェブパネル
618のようなさまざまなデバイスに接続される。ウェ
ブパネル618は、NEC社の製品であり、タッチパッ
ドを有し、ユーザに、インターネットに容易にアクセス
する手段を提供するデバイスである。イーサネットクラ
スタ616は、イーサネットハブ619を通じてレジデ
ンシャルゲートウェイ605と通信する。イーサネット
ハブ619もまた、インターネットへのホームネットワ
ークのブリッジを提供する。また、ホームPC620
は、USB配線を用いてスピーカ611およびネットワ
ークカメラ612に、および、X−10配線を用いて白
熱電球614およびセキュリティマネージャ615に接
続される。さらに、ホームネットワークは、別のホーム
PC603および607、テレビジョン601、ならび
に電話機604を有する。ホームPC607を含むxD
SLクラスタ606は、ブリッジ608を通じてレジデ
ンシャルゲートウェイ605に接続される。PC620
上で動作するPnPブローカは、ユーザが、ウェブブラ
ウザに基づくインタフェース内で、新たなデバイス/サ
ービスを検索することを可能にする。本実施例は、ユー
ザインタフェースとして、Microsoft Internet Explore
rTM v5.0ウェブブラウザを使用するが、他の適当なブラ
ウザも使用可能である。
In FIG. 6, an exemplary home network according to one embodiment of the present invention includes a power line (X-10) cluster 613, telephone line (HomePNA / xDSL) clusters 602 and 606, CAT5 (Ethernet®). ) It comprises well-known network components such as a cluster 616, a USB cluster 610, and a Jini device cluster 609. Residential gateway 605 is used to interconnect various networks, including Ethernet, HomePNA, xDSL, and Jini. The Ethernet cluster is connected to the home PC 62 of the user.
Contains 0. Home PC 620 is connected to various devices such as digital camera 617 and web panel 618 by Ethernet protocol. The web panel 618 is a product of NEC Corporation and has a touchpad and is a device that provides a user with a means of easily accessing the Internet. Ethernet cluster 616 communicates with residential gateway 605 through Ethernet hub 619. An Ethernet hub 619 also provides a home network bridge to the Internet. Also, home PC 620
Are connected to the speaker 611 and the network camera 612 using USB wiring, and to the incandescent lamp 614 and the security manager 615 using X-10 wiring. Further, the home network has another home PCs 603 and 607, a television 601, and a telephone 604. XD including home PC 607
The SL cluster 606 is connected to the residential gateway 605 through a bridge 608. PC620
The PnP broker running above allows users to search for new devices / services within a web browser based interface. This embodiment uses Microsoft Internet Explore as a user interface.
r Use a TM v5.0 web browser, but other suitable browsers can be used.

【0114】デバイス/サービスは、対応するネットワ
ークに挿入されると、設定可能なプロパティとともにブ
ラウザに現れる。デバイス固有のゲートウェイは、デバ
イス/サービス記述を格納する。ディレクトリエージェ
ントがネットワーク内にある場合、ディレクトリエージ
ェントが、デバイス/サービスの機能の登録を扱う。正
当な権限が与えられた後、ユーザは、デバイスのプロパ
ティの変更や、デバイスの相互接続が可能である。Pn
Pブローカは、デバイスに対するユーザの認証と、非互
換の場合のデータ/メッセージの変換を扱う。例えば、
X−10デバイス614および615は、PC620上
にあるゲートウェイデバイスを使用することによって、
フレームワーク内の残りのデバイスと対話することがで
きるダミーデバイスである。PnPブローカは、HTT
Pサーバへのアドオンとして実装されることも可能であ
る。ユーザは、電源線デバイス614および615の状
態(電灯のオン/オフ)を変更することができる。デバ
イス(例えば、カメラ617)がTCP/IPベースで
ある場合、ユーザは、カメラにより提供されるインタフ
ェースに基づいて手動設定を実行し、カメラにより撮ら
れる画像を見ることができる。ユーザは、ビデオオンデ
マンドサーバに対して、利用可能な映画のリストを問い
合わせることができる。通常、(PC603上のMPE
G−2デコーダを用いて)ネットワークに接続されたア
ナログTV601は、同じタイプのインタフェースを使
用している場合には、ビデオオンデマンドサーバにも接
続可能である。しかし、TV601およびネットワーク
カメラ612はインタフェースを共有していないため、
ユーザは、カメラの画像を直接にTVで見ることはでき
ない。Jiniデバイス(例えば、プリンタ)がネット
ワークに接続されている場合、このデバイスは、非Ji
niデバイスがあたかもJiniデバイスであるかのよ
うにして、非Jiniデバイスとともに動作する。
When a device / service is inserted into the corresponding network, it appears in the browser with configurable properties. The device-specific gateway stores the device / service description. If the directory agent is in the network, the directory agent handles registration of device / service functions. After being given the right, the user can change device properties and interconnect devices. Pn
The P-broker handles the authentication of the user to the device and the conversion of data / message in case of incompatibility. For example,
The X-10 devices 614 and 615 use the gateway device on the PC 620 to
A dummy device that can interact with the rest of the devices in the framework. PnP broker is HTT
It can also be implemented as an add-on to a P server. The user can change the state of the power line devices 614 and 615 (turn on / off the light). If the device (eg, camera 617) is TCP / IP based, the user can perform manual settings based on the interface provided by the camera and view the images taken by the camera. The user can query the video on demand server for a list of available movies. Usually, (MPE on PC 603
An analog TV 601 connected to the network (using a G-2 decoder) can also connect to a video-on-demand server, if using the same type of interface. However, since the TV 601 and the network camera 612 do not share an interface,
The user cannot view the camera image directly on the TV. If a Jini device (eg, a printer) is connected to the network, the device
It works with non-Jini devices as if the ni device were a Jini device.

【0115】[Jiniインタフェースの問題点に対す
る解決法]ネットワークプラグアンドプレイを達成する
候補のうちの1つとしてのJiniインタフェースモデ
ルの欠点については既に説明した。本発明は、Jini
セキュリティモデルを借りながら、上記のJiniイン
タフェースの欠点を克服する。Jiniのインタフェー
スの問題点を解決するには、以下の4つのアプローチを
使用可能である。第1に、標準に基づく相互運用性が提
供可能である。このアプローチによれば、すべてのサー
ビスは標準APIを有し、サービスは、それらの標準A
PIを実装することになる。第2のオプションは、サン
ドボックスに基づく相互運用性である。この場合、適当
なセキュリティモデルを有するJava仮想マシンが与
えられれば、サービスは独立して動作することができ
る。第3のオプションは、リフレクションに基づく相互
運用性である。この場合、アプリケーションは、サービ
スに対して、そのインタフェースについて質問し、リフ
レクション機構を通じて、このインタフェースの状態に
影響を及ぼす。最後に、第4の方法は、実装に基づく相
互運用性である。この場合、同じ人あるいは会社が、プ
ロキシおよびサービスの両方を製造することになる。
[Solution to the Problem of the Jini Interface] The shortcomings of the Jini interface model as one of the candidates for achieving network plug and play have already been described. The present invention relates to Jini
Overcome the above shortcomings of the Jini interface while borrowing a security model. To solve the problem of Jini's interface, the following four approaches can be used. First, standards-based interoperability can be provided. According to this approach, all services have a standard API, and the services
You will implement PI. The second option is sandbox-based interoperability. In this case, if a Java virtual machine having an appropriate security model is provided, the service can operate independently. The third option is reflection-based interoperability. In this case, the application queries the service for its interface and, through a reflection mechanism, affects the state of this interface. Finally, a fourth method is implementation-based interoperability. In this case, the same person or company will manufacture both the proxy and the service.

【0116】Jiniとは異なり、コードをクライアン
トに移動しそれをJava仮想環境内で実行する代わり
に、本発明は、サービスのアドレスおよびそのサービス
のインタフェースを記述するその他のパラメータを処理
し、このインタフェース情報をクライアントに提供す
る。
Instead of moving code to the client and executing it in the Java virtual environment, unlike Jini, the present invention handles the address of the service and other parameters that describe the interface of the service, and this interface Providing information to clients.

【0117】本発明のフレームワークが提供する主な利
点の1つは、利用可能な機能およびユーザ相互作用モー
ドにおける変更に応じたエンドユーザアプリケーション
の動的な適応および再構成である。一部のインタフェー
スモデルは、ユーザが「従来型」ソフトウェアとのみ相
互作用することができることに基づいている。このよう
なシステムでは、ユーザは、アプリケーションをカスタ
マイズする能力において制約があるため、アプリケーシ
ョンは、デバイスの能力を最大限に、すなわち、サービ
ス設計者が予測したユーザの需要あるいは提供したプロ
グラムインタフェースの限界まで、利用することができ
ない。
One of the major advantages provided by the framework of the present invention is the dynamic adaptation and reconfiguration of end-user applications in response to changes in available functions and user interaction modes. Some interface models are based on the ability of a user to interact only with "traditional" software. In such a system, the user has limitations in the ability to customize the application, so the application maximizes the capabilities of the device, i.e., up to the user demand predicted by the service designer or the limitations of the program interface provided. , Can not be used.

【0118】多くの場合、自由度はユーザインタフェー
スによって制限される。アプリケーションの状態および
アプリケーションの初期設定は、ユーザインタフェース
を通じてのみ操作可能であるが、ユーザインタフェース
自体はあまり設定の自由度はない。これは、モノリシッ
クなプログラムにおいて顕著であり、アプリケーション
の状態にフックを設けたり、適切に定義された外部プロ
トコルを通じてアプリケーションの状態にアクセス可能
にしたりするのがきわめて不便である。これに対して、
クライアント/サーバプログラムは、公開された相互作
用プロトコルを提供するが、2つの大きな問題点を有す
る。インタフェースの仕様がしばしば臨時的(ad hoc)で
あること、および、ネットワーク機能についてのアプリ
ケーションのビューを(クライアントコードを修正する
ことによって)変更することができるのはプログラマの
みであることである。
In many cases, the degree of freedom is limited by the user interface. Although the state of the application and the initial setting of the application can be operated only through the user interface, the user interface itself has little flexibility in setting. This is noticeable in monolithic programs, where it is extremely inconvenient to hook up the state of the application or to make the state of the application accessible through a well-defined external protocol. On the contrary,
Client / server programs provide a public interaction protocol, but have two major drawbacks. Interface specifications are often ad hoc, and only the programmer can change the application's view of networking features (by modifying client code).

【0119】上記のインタフェースの問題点を解決する
1つのアプローチは、アプリケーションプログラムが、
オンザフライでクライアントデバイスあるいはコンピュ
ータに、例えばJavaアプレットとして、ダウンロー
ドされるようにすることである。しかし、このアプロー
チの問題点として、エンドユーザが、関連するエンティ
ティとして異種のサービスのセットとの相互作用のため
にアプリケーションをカスタマイズすることができない
ことがある。すなわち、このアプローチでは、アプリケ
ーションが透過的でないために、機能的に同一のサービ
スの場合でも、プロトコルにおける小さい相違を克服す
ることができない。例えば、上記のインタフェースモデ
ルに基づく電灯スイッチ制御プログラムは、新たな電灯
スイッチに遭遇するたびに、それを使用するためには異
なるアプリケーションをダウンロードする必要がある。
したがって、このアプローチは機能を公開するが、操作
しやすい形式ではない。
One approach to solving the above interface problems is that the application program
To be downloaded on the fly to a client device or a computer, for example, as a Java applet. However, a problem with this approach is that the end user cannot customize the application as a related entity to interact with a heterogeneous set of services. That is, this approach cannot overcome small differences in protocols, even for functionally identical services, because the application is not transparent. For example, a light switch control program based on the above interface model will need to download a different application to use it each time a new light switch is encountered.
Thus, while this approach exposes functionality, it is not an easy-to-operate format.

【0120】もう1つのアプローチは、さまざまなサー
ビスの機能インタフェースを標準化し、アプリケーショ
ンがこれらのインタフェース標準をサポートすることを
要求することにより、上記の問題点を回避することであ
る。このアプローチの問題点は、多数のアプリケーショ
ン固有の標準を強制することが非実際的である点であ
る。
[0120] Another approach is to avoid the above problems by standardizing the functional interfaces of various services and requiring that applications support these interface standards. The problem with this approach is that it is impractical to enforce a number of application-specific standards.

【0121】明らかに、上記のいずれとも異なるモデ
ル、すなわち、インタフェースを公開する要求と、プロ
トコル標準について合意する要求とのバランスのとれた
モデルが好ましい。この問題点を解決するための第1の
困難は、サービスの利用可能な機能(インタフェース)
を記述する単一ドキュメントスキーマを定義し、関連す
るプログラムおよびユーザインタフェースをサービスの
集合に(およびその逆)関連づけることである。第2の
困難は、カスタムユーザインタフェースが利用可能でな
いときに、上記のスキーマで書かれたドキュメントを用
いてユーザインタフェースを生成し、ランタイム環境を
実装することができるソフトウェアを提供することであ
る。
Obviously, a model different from any of the above is preferred, that is, a model that balances the need to publish interfaces with the need to agree on protocol standards. The first difficulty in solving this problem is the available functions (interfaces) of the service.
Is to define a single-document schema that describes the related documents and user interfaces to a set of services (and vice versa). A second difficulty is to provide software that can generate a user interface using a document written in the above schema and implement a runtime environment when a custom user interface is not available.

【0122】本発明の一実施例は、コンポーネントベー
スのアプリケーションフレームワークを、コンポーネン
ト記述のためのアーキテクチャ独立なドキュメントモデ
ルとともに利用する。このようなコンポーネントベース
のアプリケーションフレームワークの詳細な説明は、Da
vid Krieger and Richard Adler, "The emergence ofdi
stributed component platforms", IEEE Computer Maga
zine, p.43-53, March 1998、にある。このフレームワ
ークは、上記の2つの基本的なアプローチの特徴を組み
合わせることにより、コードフラグメントのアップロー
ド/ダウンロードを可能にし、アプリケーション固有で
ないインタフェースの記述および操作のために標準を課
する。
One embodiment of the present invention utilizes a component-based application framework with an architecture independent document model for component description. A detailed description of such a component-based application framework can be found in Da
vid Krieger and Richard Adler, "The emergence ofdi
distributed component platforms ", IEEE Computer Maga
zine, p.43-53, March 1998. This framework combines the features of the two basic approaches described above, allowing for the upload / download of code fragments and imposing standards for describing and manipulating interfaces that are not application specific.

【0123】[本発明のアクティブコンフィグレーショ
ンモデル]本発明のアクティブコンフィグレーションモ
デルでは、XML(eXtensible Markup Language)記述
が、すべてのネットワークデバイスに関連づけられる。
XMLが使用されるのは、XML記述が、(サーバ側で
の)デバイスの機能の公表として、静的で不変のインタ
フェース記述を提供するからである。さらに、このよう
なXMLサービスインタフェース記述を操作することに
よって、クライアントは、フレームワーク内のサービス
を利用することができる。フレームワークは、操作のた
めの標準的なロケーションを提供するために、それぞれ
のサービスオブジェクトにプログラムおよびユーザイン
タフェースを公開する。
[Active Configuration Model of the Present Invention] In the active configuration model of the present invention, an XML (extensible Markup Language) description is associated with all network devices.
XML is used because it provides a static and immutable interface description as an announcement of device capabilities (on the server side). Further, by manipulating such an XML service interface description, clients can use services within the framework. The framework exposes programs and user interfaces to each service object to provide a standard location for operations.

【0124】図7に、本発明のアクティブコンフィグレ
ーションモデルを示す。本発明によれば、ネットワーク
内のあらゆるデバイスあるいはサービス701は、その
機能インタフェースの定義702を指定する。これらの
インタフェース定義は、アナウンス705によってクラ
イアントに伝えられる。これらのインタフェース定義
は、サーバ側で静的(スタティック)である(CORB
AにおけるIDLと同様)。これらのインタフェース
は、ネットワーク内のすべてのエンティティ間で共有さ
れるが、いずれのユーザアプリケーションによって操作
されることも可能である。ユーザアプリケーションは、
サービスインタフェースの使用、および、このようなイ
ンタフェースによって提示されるメタデータに対する完
全なコントロールを有する。ユーザアプリケーション7
03によってインタフェースまたはその使用の状態に変
更704があれば、リファレンス(参照)706により
デバイスあるいはサービスに反映される。
FIG. 7 shows an active configuration model of the present invention. According to the present invention, every device or service 701 in the network specifies its functional interface definition 702. These interface definitions are communicated to the client by announcement 705. These interface definitions are static on the server side (CORB
A as in IDL). These interfaces are shared between all entities in the network, but can be operated by any user application. The user application
It has full control over the use of service interfaces and the metadata presented by such interfaces. User application 7
If there is a change 704 in the state of the interface or its use by 03, it is reflected on the device or service by the reference (reference) 706.

【0125】したがって、本発明は、任意のネットワー
クサービスを構築するためのプログラム可能な基盤を提
供する。本発明の一実施例では、エンドユーザアプリケ
ーションは、利用可能な機能および相互作用モードにお
ける変更に応答して動的に適応され再構成される。この
実施例は、コードをダウンロードするJavaアプレッ
トの考え方と、標準化されたインタフェースの記述およ
び操作との利点を組み合わせている。本発明のフレーム
ワークでは、ユーザ(あるいはマシンにより生成された
ユーザアプリケーション)は、単に、サービスによって
提供されるインタフェース記述を編集し、その編集をデ
バイスに反映させることによって、ネットワークあるい
はデバイスの状態を変えることができる。さらに、デバ
イスあるいはサービスは、標準化されたAPIを通じて
アクセス可能である。すべてのAPIを標準化しようと
することによって特徴づけられる従来のシステムとは異
なり、本発明のフレームワークによれば、さまざまなネ
ットワーキングデバイスのベンダは、自己の製品の記述
をフレームワークにマッピングすることが可能である。
こうして、ベンダは、構文的定義およびデバイスの能力
に集中することができる。
Thus, the present invention provides a programmable infrastructure for building any network service. In one embodiment of the invention, end-user applications are dynamically adapted and reconfigured in response to changes in available features and interaction modes. This embodiment combines the advantages of the Java applet concept of downloading code with the description and operation of a standardized interface. In the framework of the present invention, a user (or a user application generated by a machine) changes the state of a network or device simply by editing the interface description provided by the service and reflecting the edits on the device. be able to. Furthermore, devices or services are accessible through standardized APIs. Unlike conventional systems, which are characterized by attempting to standardize all APIs, the framework of the present invention allows various networking device vendors to map their product descriptions into the framework. It is possible.
In this way, vendors can focus on syntactic definitions and device capabilities.

【0126】本発明によれば、デバイス記述は、宣言的
スタイルのXMLを用いて格納され、アプリケーション
コードに追加して使用される。XMLデバイス記述の主
な機能は、データおよび制御フロー情報を提供すること
である。この制御/データの分離を公開することによ
り、本発明は、メタデータを設計に明瞭に組み込むの
で、格納および操作がアプリケーションとは独立となる
ため、アプリケーションは、将来の変更が可能なように
設計することができる。
According to the present invention, device descriptions are stored using declarative style XML and are used in addition to application code. The main function of the XML device description is to provide data and control flow information. By exposing this control / data separation, the present invention explicitly incorporates metadata into the design, so that storage and manipulation is independent of the application, so that the application is designed for future changes. can do.

【0127】本発明のフレームワークで用いられている
ような、プログラム/ユーザインタフェースを、それら
が参照するオブジェクトから分離することは、当業者に
周知のSmalltalkTMのモデル/ビュー/コント
ローラ(M/V/C)アーキテクチャに類似している。
モデル/ビュー/コントローラアーキテクチャについて
さらに詳細には、G. Krasner and S. T. Pope, "A Cook
book for Using the Model View Controller User Inte
rface Paradigm in Smalltalk-80", Journal of Object
Oriented Programming, August/September 1988、に記
載されている。
Separating program / user interfaces from the objects they reference, such as those used in the framework of the present invention, is well known to Smalltalk models / views / controllers (M / V / C) Similar to architecture.
For more information on the model / view / controller architecture, see G. Krasner and ST Pope, "A Cook
book for Using the Model View Controller User Inte
rface Paradigm in Smalltalk-80 ", Journal of Object
Oriented Programming, August / September 1988.

【0128】M/V/Cアーキテクチャでは、データ
(モデル)は、データの表示(ビュー)およびデータを
操作するイベント(コントローラ)から分離される。同
様に、本発明のシステムにおける文書は、データを操作
し見るためのユーザインタフェース/プログラムにその
データを関連づける糊(グルー)として作用する。
In the M / V / C architecture, data (model) is separated from data display (view) and data manipulation events (controller). Similarly, a document in the system of the present invention acts as a glue that associates the data with a user interface / program for manipulating and viewing the data.

【0129】本発明は、XML構文を利用して、デバイ
ス記述スキーマを、XML文書型定義(DTD)として
作成する。XMLは、構造化された情報を含む文書のた
めのマークアップ言語である。これは、SGMLのサブ
セットであり、階層的な名前付けされた値と、他の文書
を参照するための高度な手段の形で、自己記述型のカス
タムマークアップを提供する。XSL(Extensible Styl
e Sheets)やXLink(Extensible Linking Language)
のような同類のプロトコルとともに、XMLは、付随す
る文書スキーマ(文書型定義:DTD)のグループを指
定し、発見し、結合する能力を提供する。しかし、HT
MLとは異なり、XMLにおけるタグのセットはフレキ
シブルであり、タグのセマンティクスは、その文書に付
随するDTDによって定義される。Resource Descripti
on Format、Dublin CoreおよびXML−Dataのよう
な他のメタデータマークアップ言語も提案されている。
According to the present invention, a device description schema is created as an XML document type definition (DTD) using an XML syntax. XML is a markup language for documents that contain structured information. It is a subset of SGML and provides self-describing custom markup in the form of hierarchically named values and advanced means for referencing other documents. XSL (Extensible Styl
e Sheets) and XLink (Extensible Linking Language)
XML, along with like protocols, provides the ability to specify, discover, and combine groups of accompanying document schemas (document type definitions: DTDs). But HT
Unlike ML, the set of tags in XML is flexible, and the semantics of the tags are defined by the DTD that accompanies the document. Resource Descripti
Other metadata markup languages, such as on Format, Dublin Core and XML-Data, have also been proposed.

【0130】本発明のフレームワーク内では、デバイス
あるいはサービスは、自己の記述スキーマを、XML文
書と、それに伴うDTDおよびスタイルシートとして作
成する。このスキーマは、言語独立なサービス記述のた
め、ならびに、ユーザインタフェース(プログラム)を
サービスオブジェクトに、およびその逆にマッピングす
るための、マークアップタグを提供する。また、スキー
マは、サービスのインタフェースをXML/XSL定義
内に組み込むので、パーサは、ユーザアプリケーション
にコードをダウンロードすることを必要とせずに、これ
らのインタフェースを読み出すことができる。例えば、
電灯スイッチのための<ON>タグは、デバイスがメソ
ッド呼出しおよびその他のイベントをリスンするアドレ
スおよびポート番号を示すことが可能である。
[0130] Within the framework of the present invention, a device or service creates its own description schema as an XML document and its accompanying DTD and stylesheet. This schema provides markup tags for language independent service descriptions and for mapping user interfaces (programs) to service objects and vice versa. Also, since the schema embeds the service's interfaces in the XML / XSL definition, the parser can read these interfaces without having to download the code to the user application. For example,
The <ON> tag for the light switch can indicate the address and port number at which the device listens for method calls and other events.

【0131】ユーザインタフェースをこれらのサービス
記述から生成するために、XMLパーサが、クライアン
トユーザアプリケーションによって使用される。クライ
アントは、語彙的な型をユーザインタフェースウィジェ
ットにマッピングし、XML/XSLを解析した後、ネ
ットワークの現在のコンフィグレーションに対するユー
ザインタフェースを生成する。ユーザ(あるいはユーザ
アプリケーション)は、そのデバイスに対応する動的に
生成されるUIウィジェットを単にクリックすることに
よって、任意のネットワークデバイスの状態を変更する
ことができる。このアクションは、ユーザのマシン上で
現在のUI状態を変更するとともに、適当なコマンド
(デバイスベンダにより定義されXML文書に埋め込ま
れる)を実行のためにデバイスに送る。本発明の実施例
では、この目的のために、Java TMで書かれたパブリ
ックドメインのXMLパーサと、Internet ExplorerTM
5.0のようなXML対応ウェブブラウザが使用される。
The user interface can be used for these services.
In order to generate from the description, the XML parser
Used by user applications. Cry
Ant uses the lexical type as a user interface widget.
After mapping to XML and analyzing XML / XSL
User for the current configuration of the
Generate the interface. User (or user
Application) dynamically responds to that device
Simply click on the generated UI widget
Therefore, change the state of any network device
be able to. This action is performed on the user's machine
Change the current UI status and change the appropriate command
(Embedded in XML document defined by device vendor
Sent to the device for execution. Embodiment of the present invention
So, for this purpose, Java TMPubli written in
Domain domain XML parser and Internet ExplorerTM 
An XML-compatible web browser such as 5.0 is used.

【0132】以上、本発明について、その好ましい実施
例を用いて説明したが、当業者には容易に認識されるよ
うに、本発明の技術的範囲および技術思想から離れるこ
となく、形式および細部におけるさまざまな変更が可能
である。
Although the present invention has been described with reference to preferred embodiments, it will be readily recognized by those skilled in the art that the form and details of the present invention may be changed without departing from the technical scope and spirit of the present invention. Various changes are possible.

【図面の簡単な説明】[Brief description of the drawings]

【図1】アクティブコンフィグレーションフレームワー
クのインフラストラクチャの図である。
FIG. 1 is a diagram of an active configuration framework infrastructure.

【図2】アクティブコンフィグレーションフレームワー
クの全体設計図である。
FIG. 2 is an overall design diagram of an active configuration framework.

【図3】2つのプラグアンドプレイブローカ間の通信を
示す図である。
FIG. 3 is a diagram showing communication between two plug and play brokers.

【図4】プラグアンドプレイブローカの内部表現を示す
図である。
FIG. 4 is a diagram showing an internal representation of a plug and play broker.

【図5】サービス発見(ディスカバリ)手続きを示す図
である。
FIG. 5 is a diagram showing a service discovery (discovery) procedure.

【図6】アクティブコンフィグレーションフレームワー
クの実装例の図である。
FIG. 6 is a diagram of an implementation example of an active configuration framework.

【図7】アクティブコンフィグレーションインタフェー
スモデルの図である。
FIG. 7 is a diagram of an active configuration interface model.

【符号の説明】[Explanation of symbols]

101 ネットワーク 102 実行環境 103 ユーザアプリケーション 104 PnPブローカ 201 ゲートウェイデバイス 202 ユーザアプリケーション 203 ダミーデバイス 204 セキュリティ実施機構 205 ネットワークノード 301 PnPブローカ 302 PnPブローカインタフェース 303 PnPブローカ間プロトコル 304 サービスディスカバリ/アベイラビリティエー
ジェント 305 サービスレジストリ 306 サービスセッション管理エージェント 307 サービスロケーションプロトコル(SLP)サ
ービスエージェント 308 SLPユーザエージェント 404 PnPブローカ間プロトコル 406 サービスユニット 501 PnPブローカ 502 ユーザエージェント(UA) 503 PnPブローカ 504 サービスエージェント(SA) 507 ブロードキャストによるディスカバリ 508 SLPディレクトリ 509 LDAPディレクトリ 510 変換スキーマ 511 ディレクトリエージェント(DA) 512 サービス 601 テレビジョン 602 HomePNAクラスタ 603 ホームPC 604 電話機 605 レジデンシャルゲートウェイ 606 xDSLクラスタ 607 ホームPC 608 ブリッジ 609 Jiniクラスタ 610 USBクラスタ 611 スピーカ 612 ネットワークカメラ 613 X−10クラスタ 614 白熱電球 615 セキュリティマネージャ 616 イーサネットクラスタ 617 ディジタルカメラ 618 ウェブパネル 619 イーサネットハブ 620 ホームPC 701 デバイス/サービス 702 インタフェース定義 703 ユーザアプリケーション 704 変更 705 アナウンス 706 参照 1104 リモートPnPブローカ
101 Network 102 Execution Environment 103 User Application 104 PnP Broker 201 Gateway Device 202 User Application 203 Dummy Device 204 Security Enforcement Mechanism 205 Network Node 301 PnP Broker 302 PnP Broker Interface 303 PnP Broker Protocol 304 Service Discovery / Availability Agent 305 Service Registry 306 Service Session Management Agent 307 Service Location Protocol (SLP) Service Agent 308 SLP User Agent 404 Inter-PnP Broker Protocol 406 Service Unit 501 PnP Broker 502 User Agent (UA) 503 PnP Broker 50 Service Agent (SA) 507 Discovery by Broadcast 508 SLP Directory 509 LDAP Directory 510 Conversion Schema 511 Directory Agent (DA) 512 Service 601 Television 602 HomePNA Cluster 603 Home PC 604 Telephone 605 Residential Gateway 606 xDSL Cluster 607 Home PC 608 Bridge 609 Cluster 610 USB Cluster 611 Speaker 612 Network Camera 613 X-10 Cluster 614 Incandescent Light Bulb 615 Security Manager 616 Ethernet Cluster 617 Digital Camera 618 Web Panel 619 Ethernet Hub 620 Home PC 701 Device / Service 702 In Interface definition 703 user application 704 change 705 announcement 706 reference 1104 remote PnP broker

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) H04L 29/06 H04L 13/00 305B ──────────────────────────────────────────────────続 き Continued on the front page (51) Int.Cl. 7 Identification symbol FI theme coat ゛ (Reference) H04L 29/06 H04L 13/00 305B

Claims (32)

【特許請求の範囲】[Claims] 【請求項1】 (a)少なくとも1つのサービスおよび
少なくとも1つのサービスユーザと、 (b)第1のプラグアンドプレイブローカとを有するア
クティブコンフィグレーションフレームワークにおい
て、 前記少なくとも1つのサービスユーザは、前記第1のプ
ラグアンドプレイブローカを用いて、前記サービスを利
用することを特徴とするアクティブコンフィグレーショ
ンフレームワーク。
1. An active configuration framework comprising: (a) at least one service and at least one service user; and (b) a first plug and play broker, wherein the at least one service user comprises An active configuration framework, wherein the service is used by using the plug-and-play broker.
【請求項2】 前記サービスユーザは、前記サービスを
提供するデバイスによって使用される通信プロトコルと
は独立に、前記第1のプラグアンドプレイブローカを通
じて前記サービスと通信することを特徴とする請求項1
に記載のアクティブコンフィグレーションフレームワー
ク。
2. The service user communicates with the service through the first plug and play broker independent of a communication protocol used by a device providing the service.
Active configuration framework as described in.
【請求項3】 前記サービスは、ゲートウェイおよびデ
バイスクラスタを有し、 前記ゲートウェイは、前記デバイスクラスタを前記第1
のプラグアンドプレイブローカに接続し、 前記第1のプラグアンドプレイブローカは、前記ゲート
ウェイを通じて、前記デバイスクラスタと通信すること
を特徴とする請求項1に記載のアクティブコンフィグレ
ーションフレームワーク。
3. The service comprises a gateway and a device cluster, wherein the gateway associates the device cluster with the first
The active configuration framework of claim 1, wherein the first plug and play broker communicates with the device cluster through the gateway.
【請求項4】 前記第1のプラグアンドプレイブローカ
は、第1の通信プロトコルを用いて前記ゲートウェイに
接続され、 前記ゲートウェイは、異なる第2の通信プロトコルを用
いて前記デバイスクラスタに接続され、 前記ゲートウェイは、前記第1の通信プロトコルと前記
第2の通信プロトコルの間の変換を行うことを特徴とす
る請求項3に記載のアクティブコンフィグレーションフ
レームワーク。
4. The first plug and play broker is connected to the gateway using a first communication protocol, the gateway is connected to the device cluster using a different second communication protocol, 4. The active configuration framework according to claim 3, wherein the gateway performs a conversion between the first communication protocol and the second communication protocol.
【請求項5】 前記ゲートウェイは、前記第1のプラグ
アンドプレイブローカ内の、前記サービスに対応する属
性を設定することによって、前記サービスを前記第1の
プラグアンドプレイブローカに登録することを特徴とす
る請求項3に記載のアクティブコンフィグレーションフ
レームワーク。
5. The gateway registers the service with the first plug and play broker by setting an attribute corresponding to the service in the first plug and play broker. The active configuration framework according to claim 3.
【請求項6】 前記ゲートウェイは、前記第1のプラグ
アンドプレイブローカからの要求に応答して、前記第1
のプラグアンドプレイブローカで前記サービスのステー
タスを周期的に更新することを特徴とする請求項3に記
載のアクティブコンフィグレーションフレームワーク。
6. The gateway, in response to a request from the first plug and play broker,
The active configuration framework according to claim 3, wherein the status of the service is periodically updated by a plug and play broker.
【請求項7】 前記サービスユーザは、前記第1のプラ
グアンドプレイブローカから離れたリモートサービスユ
ーザであり、 前記リモートサービスユーザは、インターネット通信プ
ロトコルを通じて前記第1のプラグアンドプレイブロー
カと通信することを特徴とする請求項1に記載のアクテ
ィブコンフィグレーションフレームワーク。
7. The service user is a remote service user remote from the first plug and play broker, wherein the remote service user communicates with the first plug and play broker through an Internet communication protocol. The active configuration framework according to claim 1, characterized in that:
【請求項8】 前記アクティブコンフィグレーションフ
レームワークは、第2のプラグアンドプレイブローカを
さらに有し、 前記サービスユーザは、前記第2のプラグアンドプレイ
ブローカと通信し、 前記第2のプラグアンドプレイブローカは、前記第1の
プラグアンドプレイブローカと通信して、前記少なくと
も1つのサービスユーザが前記サービスを利用すること
を可能にすることを特徴とする請求項1に記載のアクテ
ィブコンフィグレーションフレームワーク。
8. The active configuration framework further comprises a second plug and play broker, wherein the service user communicates with the second plug and play broker, wherein the second plug and play broker The active configuration framework according to claim 1, wherein the at least one service user communicates with the first plug and play broker to enable the at least one service user to use the service.
【請求項9】 前記アクティブコンフィグレーションフ
レームワークは、ディレクトリエージェントをさらに有
し、 前記第1のプラグアンドプレイブローカは、サービスロ
ケーションプロトコルを用いて、前記サービスを前記デ
ィレクトリエージェントに登録することを特徴とする請
求項8に記載のアクティブコンフィグレーションフレー
ムワーク。
9. The active configuration framework further comprises a directory agent, wherein the first plug and play broker registers the service with the directory agent using a service location protocol. An active configuration framework according to claim 8, wherein
【請求項10】 前記第1のプラグアンドプレイブロー
カは、サービスレジストリを有し、 前記サービスレジストリは、前記サービスおよび他のネ
ットワークサービスに関する情報を含み、 前記少なくとも1つのサービスユーザは、前記サービス
レジストリを用いて、前記サービスおよび前記他のネッ
トワークサービスを発見することを特徴とする請求項1
に記載のアクティブコンフィグレーションフレームワー
ク。
10. The first plug-and-play broker has a service registry, the service registry includes information about the service and other network services, and the at least one service user configures the service registry. 2. The method of claim 1, wherein the service and the other network service are used to discover the service.
Active configuration framework as described in.
【請求項11】 前記アクティブコンフィグレーション
フレームワークは、第2のプラグアンドプレイブローカ
をさらに有し、 前記第2のプラグアンドプレイブローカは、前記第1の
プラグアンドプレイブローカに問合せを送ることによっ
て、前記サービスを発見することを特徴とする請求項1
に記載のアクティブコンフィグレーションフレームワー
ク。
11. The active configuration framework further comprises a second plug and play broker, wherein the second plug and play broker sends an inquiry to the first plug and play broker, The service of claim 1, wherein the service is found.
Active configuration framework as described in.
【請求項12】 前記アクティブコンフィグレーション
フレームワークは、第2のプラグアンドプレイブローカ
およびディレクトリエージェントをさらに有し、 (a)前記少なくとも1つのサービスユーザは、要求さ
れるサービスの記述を前記第2のプラグアンドプレイブ
ローカに送り、 (b)前記第2のプラグアンドプレイブローカは、前記
ディレクトリエージェントと通信し、 (c)前記ディレクトリエージェントは、前記要求され
るサービスの記述に一致するサービスのアドレスを前記
第2のプラグアンドプレイブローカに返し、 (d)前記第2のプラグアンドプレイブローカは、前記
アドレスを用いて、前記サービスユーザと前記サービス
の間にセッションを確立することを特徴とする請求項1
に記載のアクティブコンフィグレーションフレームワー
ク。
12. The active configuration framework further comprises a second plug and play broker and a directory agent, wherein: (a) the at least one service user writes a description of a required service to the second (B) the second plug and play broker communicates with the directory agent; and (c) the directory agent sends the service address that matches the requested service description to the directory agent. Returning to a second Plug and Play broker, wherein (d) the second Plug and Play broker establishes a session between the service user and the service using the address.
Active configuration framework as described in.
【請求項13】 (1)前記サービスは、ゲートウェイ
およびデバイスクラスタを有し、 (2)前記ゲートウェイは、前記デバイスクラスタを前
記第1のプラグアンドプレイブローカに接続し、 (3)前記第1のプラグアンドプレイブローカは、前記
ゲートウェイを通じて、前記デバイスクラスタと通信
し、 (4)前記ゲートウェイは、前記第1のプラグアンドプ
レイブローカ内の、前記サービスに対応する属性を設定
することによって、前記サービスを前記第1のプラグア
ンドプレイブローカに登録し、 (5)前記第1のプラグアンドプレイブローカは、前記
サービスを前記ディレクトリエージェントに登録するこ
とを特徴とする請求項10に記載のアクティブコンフィ
グレーションフレームワーク。
13. The service includes a gateway and a device cluster; (2) the gateway connects the device cluster to the first plug and play broker; and (3) the first plug and play broker. A plug and play broker that communicates with the device cluster through the gateway; and (4) the gateway configures the service in the first plug and play broker by setting an attribute corresponding to the service. The active configuration framework according to claim 10, wherein the first plug and play broker registers the service with the directory agent. (5) The first plug and play broker registers the service with the directory agent. .
【請求項14】 前記第1のプラグアンドプレイブロー
カは、 (a)前記サービスユーザと通信するプラグアンドプレ
イブローカインタフェースと、 (b)前記第1のプラグアンドプレイブローカと、前記
フレームワーク内の他のプラグアンドプレイブローカと
の間の通信のためのプラグアンドプレイブローカ間プロ
トコルと、 (c)前記サービスに関する情報を格納する少なくとも
1つのサービスレコードを有するサービスレジストリ
と、 (d)前記サービスのネットワークアドレスを探索し前
記サービスのアベイラビリティステータスを取得するサ
ービスディスカバリ/アベイラビリティエージェント
と、 (e)前記サービスと前記サービスユーザの間の通信セ
ッションを確立するサービスセッション管理エージェン
トと、 (f)前記サービスのアドレスを探索するサービスロケ
ーションプロトコルユーザエージェントと、 (g)前記サービスを公表するサービスロケーションプ
ロトコルサービスエージェントとを有することを特徴と
する請求項1に記載のアクティブコンフィグレーション
フレームワーク。
14. The first plug and play broker, comprising: (a) a plug and play broker interface for communicating with the service user; and (b) the first plug and play broker and other components in the framework. A plug and play broker protocol for communication with a plug and play broker, (c) a service registry having at least one service record storing information about the service, and (d) a network address of the service. A service discovery / availability agent that searches for and obtains the availability status of the service; (e) a service session management agent that establishes a communication session between the service and the service user; The active configuration framework according to claim 1, comprising: a service location protocol user agent for searching for an address of a service; and (g) a service location protocol service agent for publishing the service.
【請求項15】 前記少なくとも1つのサービスレコー
ドは、前記サービスのタイプおよび複数のサービス属性
レコードを格納するサービス識別フィールドを有し、 前記サービス属性レコードは、前記サービス属性のタイ
プを格納する属性識別フィールドと、前記サービス属性
の値を格納する属性値フィールドと、前記サービスのア
クセス制御情報を格納するアクセス制御フィールドとを
有することを特徴とする請求項14に記載のアクティブ
コンフィグレーションフレームワーク。
15. The at least one service record has a service identification field for storing the service type and a plurality of service attribute records, wherein the service attribute record stores an attribute identification field for storing the service attribute type. The active configuration framework according to claim 14, further comprising: an attribute value field for storing a value of the service attribute; and an access control field for storing access control information of the service.
【請求項16】 (a)少なくとも1つのサービスと、 (b)サービスエージェントと、 (c)ディレクトリエージェントとを有するアクティブ
コンフィグレーションフレームワークにおいて、 前記サービスエージェントは、前記少なくとも1つのサ
ービスのタイプおよび属性を前記ディレクトリエージェ
ントに登録し、 前記ディレクトリエージェントは、ユーザアプリケーシ
ョンによって要求されるサービスのタイプおよび属性
を、前記少なくとも1つのサービスのタイプおよび属性
と照合して、前記少なくとも1つのサービスのアドレス
を返すことを特徴とするアクティブコンフィグレーショ
ンフレームワーク。
16. An active configuration framework comprising: (a) at least one service; (b) a service agent; and (c) a directory agent, wherein the service agent has a type and an attribute of the at least one service. Registering with the directory agent, the directory agent matching the type and attributes of the service requested by the user application with the type and attributes of the at least one service and returning an address of the at least one service Active configuration framework characterized by:
【請求項17】 前記アクティブコンフィグレーション
フレームワークは、ユーザエージェントをさらに有し、 前記ユーザエージェントは、前記要求されるサービスの
タイプおよび属性を前記ディレクトリエージェントに送
信し、 前記ディレクトリエージェントは、前記少なくとも1つ
のサービスのアドレスを前記ユーザエージェントに返す
ことを特徴とする請求項16に記載のアクティブコンフ
ィグレーションフレームワーク。
17. The active configuration framework further comprises a user agent, wherein the user agent sends the type and attributes of the requested service to the directory agent, wherein the directory agent The active configuration framework according to claim 16, wherein addresses of two services are returned to the user agent.
【請求項18】 前記少なくとも1つのサービスは、ゲ
ートウェイおよびデバイスクラスタを有し、 前記ゲートウェイは、前記デバイスクラスタを前記サー
ビスエージェントに接続し、 前記サービスエージェントは、前記ゲートウェイを通じ
て、前記デバイスクラスタと通信することを特徴とする
請求項16に記載のアクティブコンフィグレーションフ
レームワーク。
18. The at least one service has a gateway and a device cluster, the gateway connects the device cluster to the service agent, and the service agent communicates with the device cluster through the gateway 17. The active configuration framework according to claim 16, wherein:
【請求項19】 前記アクティブコンフィグレーション
フレームワークは、実行環境をさらに有し、 前記アプリケーションは、前記実行環境で動作すること
を特徴とする請求項16に記載のアクティブコンフィグ
レーションフレームワーク。
19. The active configuration framework according to claim 16, wherein the active configuration framework further has an execution environment, and the application operates in the execution environment.
【請求項20】 前記実行環境はJava仮想マシンで
あることを特徴とする請求項19に記載のアクティブコ
ンフィグレーションフレームワーク。
20. The active configuration framework according to claim 19, wherein the execution environment is a Java virtual machine.
【請求項21】 前記実行環境はWindowsTMベー
スのマシンであることを特徴とする請求項19に記載の
アクティブコンフィグレーションフレームワーク。
21. The active configuration framework of claim 19, wherein the execution environment is a Windows based machine.
【請求項22】 ネットワークデバイスの追加に応答し
てフレームワークの自動再構成を行う方法において、 前記ネットワークデバイスは、少なくとも1つのサービ
スを提供し、 前記フレームワークは、サービスエージェントおよびデ
ィレクトリエージェントを有し、 前記方法は、 (a)前記サービスエージェントが、提供されるサービ
スのタイプおよび属性を前記ディレクトリエージェント
に登録するステップと、 (b)前記ディレクトリエージェントが、ユーザアプリ
ケーションによって要求されるタイプおよび属性を、前
記提供されるサービスのタイプおよび属性と照合して、
前記提供されるサービスのアドレスを返すステップと、 を有することを特徴とする、ネットワークデバイスの追
加に応答してフレームワークの自動再構成を行う方法。
22. A method for performing automatic reconfiguration of a framework in response to adding a network device, wherein the network device provides at least one service, wherein the framework includes a service agent and a directory agent. The method comprising: (a) the service agent registering a type and an attribute of a service to be provided with the directory agent; and Matching the type and attributes of the service provided,
Returning an address of the provided service. A method for performing automatic reconfiguration of a framework in response to addition of a network device.
【請求項23】 前記フレームワークは、ユーザエージ
ェントをさらに有し、 前記ユーザエージェントは、前記要求されるサービスの
タイプおよび属性を前記ディレクトリエージェントに送
信し、 前記ディレクトリエージェントは、前記提供されるサー
ビスのアドレスを前記ユーザエージェントに返すことを
特徴とする請求項22に記載の方法。
23. The framework further comprises a user agent, wherein the user agent sends the type and attributes of the requested service to the directory agent, wherein the directory agent The method of claim 22, returning an address to the user agent.
【請求項24】 前記ステップ(a)は、 (1)前記ゲートウェイが、前記ネットワークデバイス
のアベイラビリティをチェックするステップと、 (2)前記ゲートウェイが、前記提供されるサービスの
タイプおよび属性を前記サービスエージェントに登録す
るステップと、 (3)前記サービスエージェントが、前記提供されるサ
ービスのタイプおよび属性を前記ディレクトリエージェ
ントに登録するステップと、 を有することを特徴とする請求項22に記載の方法。
24. The step (a) comprises: (1) the gateway checking the availability of the network device; and (2) the gateway recognizing a type and an attribute of the provided service to the service agent. 23. The method of claim 22, comprising: registering with the directory agent; and (3) the service agent registering the type and attributes of the provided service with the directory agent.
【請求項25】 (c)セッション管理エージェント
が、前記アドレスを用いて、前記ユーザアプリケーショ
ンと前記ネットワークデバイスの間の通信セッションを
確立するステップをさらに有することを特徴とする請求
項22に記載の方法。
25. The method of claim 22, further comprising: (c) a session management agent establishing a communication session between the user application and the network device using the address. .
【請求項26】 フレームワークに挿入されたデバイス
によって実行されるサービスのための通信インタフェー
スを生成する方法において、 前記インタフェースは、ユーザアプリケーションによっ
て、前記サービスを利用するために使用され、 前記方法は、 (a)XML文書、文書型定義、またはスタイルシート
のうちの少なくとも1つを含む、前記デバイスによって
提供されるサービスのサービス記述スキーマを生成する
ステップと、 (b)XMLパーサを用いて、前記サービス記述スキー
マから、前記サービスのための通信インタフェースを生
成するステップと、 を有することを特徴とする、フレームワークに挿入され
たデバイスによって実行されるサービスのための通信イ
ンタフェースを生成する方法。
26. A method for generating a communication interface for a service performed by a device inserted into a framework, wherein the interface is used by a user application to utilize the service, the method comprising: (A) generating a service description schema for a service provided by the device, the service description schema including at least one of an XML document, a document type definition, or a style sheet; and (b) using the XML parser. Generating a communication interface for the service from the description schema, the method comprising: generating a communication interface for a service performed by a device inserted into the framework.
【請求項27】 前記サービス記述スキーマは、前記サ
ービスのためのデータおよび制御フロー仕様を含むこと
を特徴とする請求項26に記載の方法。
27. The method of claim 26, wherein the service description schema includes data and control flow specifications for the service.
【請求項28】 前記ステップ(b)において、前記デ
バイスによって生成されるサービス記述スキーマは、ユ
ーザインタフェースウィジェットのセットにマッピング
され、 ユーザは、実行のために前記デバイスにコマンドを送る
ユーザインタフェースウィジェットをクリックすること
によって、前記デバイスの状態を変えることができるこ
とを特徴とする請求項26に記載の方法。
28. In step (b), the service description schema generated by the device is mapped to a set of user interface widgets, and a user clicks on a user interface widget that sends a command to the device for execution. 27. The method of claim 26, wherein the state of the device can be changed by doing so.
【請求項29】 前記ステップ(b)において、前記デ
バイスによって生成されるサービス記述スキーマは、前
記サービスのための通信インタフェースを表すオブジェ
クトの階層にマッピングされ、 前記サービスは、前記オブジェクトの階層を用いて、前
記ユーザアプリケーションによって利用されることを特
徴とする請求項26に記載の方法。
29. In the step (b), a service description schema generated by the device is mapped to a hierarchy of objects representing a communication interface for the service, and the service uses the hierarchy of the object. 27. The method of claim 26, wherein the method is utilized by the user application.
【請求項30】 前記オブジェクトの階層の構造は、前
記ユーザアプリケーションが前記デバイスを利用する時
点での前記デバイスの機能に基づいて決定されることを
特徴とする請求項29に記載の方法。
30. The method of claim 29, wherein the hierarchical structure of the object is determined based on a function of the device when the user application uses the device.
【請求項31】 前記XMLパーサは、XML対応ウェ
ブブラウザであることを特徴とする請求項30に記載の
方法。
31. The method of claim 30, wherein the XML parser is an XML-enabled web browser.
【請求項32】 フレームワークに挿入されたデバイス
を制御する方法において、該方法は、 (a)前記デバイスが、XML文書、文書型定義、また
はスタイルシートのうちの少なくとも1つを含む、前記
デバイスのデバイス記述スキーマを生成するステップ
と、 (b)前記ユーザアプリケーションが、前記デバイス記
述スキーマを編集し、編集されたデバイス記述スキーマ
を前記デバイスに反映するステップとを有し、 前記デバイスは、前記編集されたデバイス記述スキーマ
に従って状態を変更することを特徴とする、フレームワ
ークに挿入されたデバイスを制御する方法。
32. A method for controlling a device inserted into a framework, the method comprising: (a) the device comprising at least one of an XML document, a document type definition, or a style sheet. (B) the user application edits the device description schema and reflects the edited device description schema on the device; and (b) the device edits the device description schema. A method for controlling a device inserted into a framework, characterized in that the state is changed according to a configured device description schema.
JP2000371402A 2000-04-10 2000-12-06 Framework having plug and play function and reconfiguration method thereof Expired - Fee Related JP3711866B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US54639700A 2000-04-10 2000-04-10
US09/546397 2000-04-10

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2004152883A Division JP3915797B2 (en) 2000-04-10 2004-05-24 Framework having plug and play function and reconfiguration method thereof

Publications (2)

Publication Number Publication Date
JP2001290724A true JP2001290724A (en) 2001-10-19
JP3711866B2 JP3711866B2 (en) 2005-11-02

Family

ID=24180256

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2000371402A Expired - Fee Related JP3711866B2 (en) 2000-04-10 2000-12-06 Framework having plug and play function and reconfiguration method thereof
JP2004152883A Expired - Fee Related JP3915797B2 (en) 2000-04-10 2004-05-24 Framework having plug and play function and reconfiguration method thereof

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2004152883A Expired - Fee Related JP3915797B2 (en) 2000-04-10 2004-05-24 Framework having plug and play function and reconfiguration method thereof

Country Status (1)

Country Link
JP (2) JP3711866B2 (en)

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003271555A (en) * 2002-03-19 2003-09-26 Ntt Data Corp Directory function device with access control, directory function method with access control, directory function program with access control, and storage medium
WO2004079582A1 (en) * 2003-03-07 2004-09-16 Sony Corporation Device management method and device management system
WO2004086209A1 (en) * 2003-03-24 2004-10-07 Sony Corporation Network connection management method and electronic apparatus
JP2004362594A (en) * 2003-06-06 2004-12-24 Microsoft Corp Method for automatically discovering and configuring external network device
JP2005209133A (en) * 2003-05-28 2005-08-04 Sharp Corp Service utilizing terminal, mobile phone terminal, tv reception terminal, connector providing server, and data structure of connector data
WO2006126355A1 (en) * 2005-05-24 2006-11-30 Matsushita Electric Industrial Co., Ltd. Gateway device and control device
JP2007079921A (en) * 2005-09-14 2007-03-29 Hitachi Omron Terminal Solutions Corp Device control system
US7594040B2 (en) 2005-12-02 2009-09-22 Seiko Epson Corporation Network relay device having network plug-and-play compliant protocols for network relay
US7603469B2 (en) 2002-01-15 2009-10-13 International Business Machines Corporation Provisioning aggregated services in a distributed computing environment
US7664135B2 (en) 2005-09-07 2010-02-16 Seiko Epson Corporation Control of network plug-and-play compliant device
JP2010055620A (en) * 2003-05-28 2010-03-11 Sharp Corp Application processing apparatus
JP2010055635A (en) * 2009-12-03 2010-03-11 Sony Corp Information processor, information processing method and program
JP2010541043A (en) * 2007-09-20 2010-12-24 マイクロソフト コーポレーション Access to device-hosted services from scripting and other programming environments
US7882256B2 (en) 2005-05-24 2011-02-01 Panasonic Corporation Gateway device and control device
US7937500B2 (en) 2001-09-19 2011-05-03 International Business Machines Corporation Dynamic, real-time integration of software resources through services of a content framework
US7936475B2 (en) 2006-08-07 2011-05-03 Seiko Epson Corporation Image display system
US7987489B2 (en) 2003-01-07 2011-07-26 Openpeak Inc. Legacy device bridge for residential or non-residential networks
JP2011524597A (en) * 2008-06-17 2011-09-01 クゥアルコム・インコーポレイテッド Method and apparatus for proxying devices and services using overlay networks
JP2012022715A (en) * 2011-10-21 2012-02-02 Sony Corp Information processing apparatus, information processing method and program
USRE43192E1 (en) 2001-12-10 2012-02-14 Sony Corporation Data processing system, information processing apparatus, data processing method, and computer program
JP2012053913A (en) * 2003-06-05 2012-03-15 Intertrust Technologies Corp Interoperable system and method for peer-to-peer service orchestration
US8166137B2 (en) 2004-11-12 2012-04-24 Seiko Epson Corporation Control of network plug-and-play compliant device
US8200979B2 (en) 2004-03-31 2012-06-12 International Business Machines Corporation Context-sensitive confidentiality within federated environments
US8335862B2 (en) 2001-09-19 2012-12-18 International Business Machines Corporation Programmatic management of software resources in a content framework environment
JP2014002781A (en) * 2013-09-02 2014-01-09 Sony Corp Information processing apparatus, information processing method and program
US8688583B2 (en) 2005-10-18 2014-04-01 Intertrust Technologies Corporation Digital rights management engine systems and methods
US8966561B2 (en) 2002-01-08 2015-02-24 Koninklijke Philips N.V. Controlling application devices simultaneously
JP2016526208A (en) * 2013-05-06 2016-09-01 コンヴィーダ ワイヤレス, エルエルシー Semantic support and management in M2M systems
US9589110B2 (en) 2011-04-11 2017-03-07 Intertrust Technologies Corporation Information security systems and methods
US9626667B2 (en) 2005-10-18 2017-04-18 Intertrust Technologies Corporation Digital rights management engine systems and methods
WO2023039756A1 (en) * 2021-09-15 2023-03-23 Siemens Aktiengesellschaft Industrial data integration device, method and computer readable storage medium

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8418132B2 (en) 2005-04-29 2013-04-09 Microsoft Corporation Application description language
US8132148B2 (en) 2005-04-29 2012-03-06 Microsoft Corporation XML application framework
US8275793B2 (en) 2005-04-29 2012-09-25 Microsoft Corporation Transaction transforms
KR100717032B1 (en) 2005-09-30 2007-05-10 삼성전자주식회사 Method and apparatus for presenting an entity not according to UPnP as UPnP device or content
JP2007179119A (en) * 2005-12-27 2007-07-12 Hitachi Ltd Computer system
JP2009205612A (en) * 2008-02-29 2009-09-10 Kddi R & D Laboratories Inc Service state presentation system and service state presentation method
WO2014210053A2 (en) * 2013-06-26 2014-12-31 Amazon Technologies, Inc. Producer system partitioning among leasing agent systems
WO2016134267A1 (en) 2015-02-20 2016-08-25 Convida Wireless, Llc Message bus service directory

Cited By (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8335862B2 (en) 2001-09-19 2012-12-18 International Business Machines Corporation Programmatic management of software resources in a content framework environment
US8589594B2 (en) 2001-09-19 2013-11-19 International Business Machines Corporation Programmatic management of software resources in a content framework environment
US7937500B2 (en) 2001-09-19 2011-05-03 International Business Machines Corporation Dynamic, real-time integration of software resources through services of a content framework
USRE44560E1 (en) 2001-12-10 2013-10-22 Sony Corporation Data processing system, information processing apparatus, data processing method and computer program
USRE43192E1 (en) 2001-12-10 2012-02-14 Sony Corporation Data processing system, information processing apparatus, data processing method, and computer program
US8966561B2 (en) 2002-01-08 2015-02-24 Koninklijke Philips N.V. Controlling application devices simultaneously
US7603469B2 (en) 2002-01-15 2009-10-13 International Business Machines Corporation Provisioning aggregated services in a distributed computing environment
JP2003271555A (en) * 2002-03-19 2003-09-26 Ntt Data Corp Directory function device with access control, directory function method with access control, directory function program with access control, and storage medium
US7987489B2 (en) 2003-01-07 2011-07-26 Openpeak Inc. Legacy device bridge for residential or non-residential networks
US8793746B2 (en) 2003-01-07 2014-07-29 Id8 Group R2 Studios, Inc. Legacy device bridge for residential or non-residential networks
US9578140B2 (en) 2003-01-07 2017-02-21 Microsoft Technology Licensing, Llc Legacy device bridge for residential or non-residential networks
US10432756B2 (en) 2003-01-07 2019-10-01 Microsoft Technology Licensing, Llc Legacy device bridge for residential or non-residential networks
CN100382058C (en) * 2003-03-07 2008-04-16 索尼株式会社 Device management method and device management system
WO2004079582A1 (en) * 2003-03-07 2004-09-16 Sony Corporation Device management method and device management system
CN100424617C (en) * 2003-03-24 2008-10-08 索尼株式会社 Network connection management method and electronic apparatus
WO2004086209A1 (en) * 2003-03-24 2004-10-07 Sony Corporation Network connection management method and electronic apparatus
JP2005209133A (en) * 2003-05-28 2005-08-04 Sharp Corp Service utilizing terminal, mobile phone terminal, tv reception terminal, connector providing server, and data structure of connector data
JP2010055620A (en) * 2003-05-28 2010-03-11 Sharp Corp Application processing apparatus
US9317843B2 (en) 2003-06-05 2016-04-19 Intertrust Technologies Corporation Interoperable systems and methods for peer-to-peer service orchestration
US9235834B2 (en) 2003-06-05 2016-01-12 Intertrust Technologies Corporation Interoperable systems and methods for peer-to-peer service orchestration
US9466054B1 (en) 2003-06-05 2016-10-11 Intertrust Technologies Corporation Interoperable systems and methods for peer-to-peer service orchestration
US9424564B2 (en) 2003-06-05 2016-08-23 Intertrust Technologies Corporation Interoperable systems and methods for peer-to-peer service orchestration
JP2012053913A (en) * 2003-06-05 2012-03-15 Intertrust Technologies Corp Interoperable system and method for peer-to-peer service orchestration
US9235833B2 (en) 2003-06-05 2016-01-12 Intertrust Technologies Corporation Interoperable systems and methods for peer-to-peer service orchestration
JP2004362594A (en) * 2003-06-06 2004-12-24 Microsoft Corp Method for automatically discovering and configuring external network device
US8200979B2 (en) 2004-03-31 2012-06-12 International Business Machines Corporation Context-sensitive confidentiality within federated environments
US8166137B2 (en) 2004-11-12 2012-04-24 Seiko Epson Corporation Control of network plug-and-play compliant device
WO2006126355A1 (en) * 2005-05-24 2006-11-30 Matsushita Electric Industrial Co., Ltd. Gateway device and control device
JP4745337B2 (en) * 2005-05-24 2011-08-10 パナソニック株式会社 Gateway device and control device
US7882256B2 (en) 2005-05-24 2011-02-01 Panasonic Corporation Gateway device and control device
US7664135B2 (en) 2005-09-07 2010-02-16 Seiko Epson Corporation Control of network plug-and-play compliant device
JP2007079921A (en) * 2005-09-14 2007-03-29 Hitachi Omron Terminal Solutions Corp Device control system
US9626667B2 (en) 2005-10-18 2017-04-18 Intertrust Technologies Corporation Digital rights management engine systems and methods
US8688583B2 (en) 2005-10-18 2014-04-01 Intertrust Technologies Corporation Digital rights management engine systems and methods
US8776216B2 (en) 2005-10-18 2014-07-08 Intertrust Technologies Corporation Digital rights management engine systems and methods
US7594040B2 (en) 2005-12-02 2009-09-22 Seiko Epson Corporation Network relay device having network plug-and-play compliant protocols for network relay
US7936475B2 (en) 2006-08-07 2011-05-03 Seiko Epson Corporation Image display system
JP2010541043A (en) * 2007-09-20 2010-12-24 マイクロソフト コーポレーション Access to device-hosted services from scripting and other programming environments
JP2011524597A (en) * 2008-06-17 2011-09-01 クゥアルコム・インコーポレイテッド Method and apparatus for proxying devices and services using overlay networks
JP2010055635A (en) * 2009-12-03 2010-03-11 Sony Corp Information processor, information processing method and program
US10009384B2 (en) 2011-04-11 2018-06-26 Intertrust Technologies Corporation Information security systems and methods
US9589110B2 (en) 2011-04-11 2017-03-07 Intertrust Technologies Corporation Information security systems and methods
JP2012022715A (en) * 2011-10-21 2012-02-02 Sony Corp Information processing apparatus, information processing method and program
JP2016526208A (en) * 2013-05-06 2016-09-01 コンヴィーダ ワイヤレス, エルエルシー Semantic support and management in M2M systems
JP2018063724A (en) * 2013-05-06 2018-04-19 コンヴィーダ ワイヤレス, エルエルシー Semantics support and management in m2m systems
US10341439B2 (en) 2013-05-06 2019-07-02 Convida Wireless, Llc Semantics support and management in M2M systems
JP2014002781A (en) * 2013-09-02 2014-01-09 Sony Corp Information processing apparatus, information processing method and program
WO2023039756A1 (en) * 2021-09-15 2023-03-23 Siemens Aktiengesellschaft Industrial data integration device, method and computer readable storage medium

Also Published As

Publication number Publication date
JP3915797B2 (en) 2007-05-16
JP2004334896A (en) 2004-11-25
JP3711866B2 (en) 2005-11-02

Similar Documents

Publication Publication Date Title
JP3915797B2 (en) Framework having plug and play function and reconfiguration method thereof
US8423671B2 (en) Middleware device and method of supporting compatibility of devices in home network
US6842903B1 (en) System and method for providing dynamic references between services in a computer system
US8151281B2 (en) Method and system of mapping at least one web service to at least one OSGi service
US7602756B2 (en) Dynamic self-configuration for ad hoc peer networking
US7272636B2 (en) Peer group name server
US7171475B2 (en) Peer networking host framework and hosting API
US7668908B2 (en) System and method for generalized and distributed scalable eventing system
US7089307B2 (en) Synchronization of controlled device state using state table and eventing in data-driven remote device control model
US20020029256A1 (en) XML-based template language for devices and services
US20030023623A1 (en) Schema-based service for identity-based access to presence data
US20040024787A1 (en) System and method for enabling components on arbitrary networks to communicate
JP2003534588A (en) Data porting of processes in a distributed computing environment Process porting using language representation
JP2002366455A (en) System and method for allowing at least one arbitrary component to communicate with each other and computer readable medium
JP2009545089A (en) Mapping of Universal Plug and Play discovery items to SMB locations
EP1198102B1 (en) Extendable provisioning mechanism for a service gateway
JP4799005B2 (en) Information processing device
US20060129700A1 (en) Bridging a local bus with a data network
WO2001026336A2 (en) Program download in a network
Saif Architectures for ubiquitous systems
US7133872B2 (en) Method and system for unifying component metadata
Hsu et al. Widget-based framework for web service discovery on multiple home social network
Fuente et al. Interoperability systems
Kale A Service Discovery-Enabled LCD Projector Device
Foss et al. An mLAN Connection Management Server for Web-Based, Multi-User, Audio Device Patching

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040323

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041102

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050726

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050808

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080826

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090826

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090826

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100826

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110826

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110826

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120826

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130826

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees