JP2006202210A - Information processor and service disclosure method and program - Google Patents

Information processor and service disclosure method and program Download PDF

Info

Publication number
JP2006202210A
JP2006202210A JP2005015661A JP2005015661A JP2006202210A JP 2006202210 A JP2006202210 A JP 2006202210A JP 2005015661 A JP2005015661 A JP 2005015661A JP 2005015661 A JP2005015661 A JP 2005015661A JP 2006202210 A JP2006202210 A JP 2006202210A
Authority
JP
Japan
Prior art keywords
service
service description
description
upnp
network
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.)
Pending
Application number
JP2005015661A
Other languages
Japanese (ja)
Inventor
Keiichi Teramoto
圭一 寺本
Yasuhiro Morioka
靖太 森岡
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2005015661A priority Critical patent/JP2006202210A/en
Publication of JP2006202210A publication Critical patent/JP2006202210A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processor which is capable of dynamically configuring a service and expanding the functions to provide the service. <P>SOLUTION: A UPnP device 1 acquires service descriptions of expansion units 5 to 7 connected to a bus 4, from the expansion units 5 to 7 and updates a service description of an own device on the basis of the acquired service descriptions and discloses the update service description on a network 3. The UPnP device 1 transmits a control request based on a service request to a pertinent expansion unit when necessary, in response to reception of the service request from a UPnP control point 2 and receives a control response to the control request from this expansion unit and generates a response to the service request on the basis of the received control response and transmits the response to the UPnP control point 2. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、ネットワーク上にサービス記述を公開し該サービス記述が関連付けられたサービスを提供する情報処理装置、サービス公開方法及びプログラムに関する。   The present invention relates to an information processing apparatus, a service disclosure method, and a program that disclose a service description on a network and provide a service associated with the service description.

近年、家庭向けのデジタルAV機器やエアコンなどの生活家電の一部には、ネットワークインタフェースを搭載し、無線LANやイーサネット(登録商標)といった媒体によりネットワーク化された環境にて、TCP/IPなどの通信プロトコルを用いて相互に通信を行い、機器制御や連係動作を実現する機器が登場してきている。   In recent years, some household appliances such as digital AV equipment for home use and air conditioners are equipped with a network interface, and in a networked environment such as a wireless LAN or Ethernet (registered trademark), TCP / IP, etc. Devices that communicate with each other using a communication protocol to realize device control and linked operation have appeared.

こうした家電機器向けの代表的なネットワーク技術としては、UPnP(Universal Plug and Play, United States Patent Application 20020035621)が良く知られている。UPnPは、既存のインターネット規格であるAutoIP(IPアドレスの自動割当て)、SSDP(Simple Service Discovery Protocol:相手機器の発見)、HTTP(Hyper Text Markup Language:ハイパーテキストの送受信)、XML(機器情報・サービスの記述)、SOAP(Simple Object Access Protocol:機器サービスの呼び出し)、GENA(Generic Event Notification Architecture:機器状態のイベント通知)といった要素技術を集積して構成される(例えば特許文献1参照)。   As a typical network technology for such home appliances, UPnP (Universal Plug and Play, United States Patent Application 20020035621) is well known. UPnP is an existing Internet standard such as AutoIP (automatic IP address assignment), SSDP (Simple Service Discovery Protocol), HTTP (Hyper Text Markup Language), XML (device information and services) ), SOAP (Simple Object Access Protocol: device service call), and GENA (Generic Event Notification Architecture: device state event notification) are integrated (see, for example, Patent Document 1).

UPnPでは、ネットワーク上に接続された機器(UPnPデバイス)に対して、PCなどのコントローラ機器(UPnPコントロールポイント)から、探索や制御、イベント通知処理などの各種操作を行うことができる。   In UPnP, various operations such as search, control, and event notification processing can be performed on a device (UPnP device) connected on a network from a controller device (UPnP control point) such as a PC.

UPnPデバイスでは、機器に対して操作可能な機能を列挙したサービスリストを、XML形式のサービス・ディスクリプション・ドキュメントとして保持しており、これを制御する側となるUPnPコントロールポイントからネットワーク経由で参照できるように、必要な通信メソッドを提供している。実際のUPnPデバイスへの操作は、SOAP(Simple Object Access Protocol)と呼ぶリモートプロシージャコールを実行する拡張マークアップ言語であるXMLとHTTP通信により呼び出すことが出来る点などが特徴となっている。   In the UPnP device, a service list listing the functions that can be operated on the device is held as an XML-formatted service description document, and can be referred to via a network from the UPnP control point that controls the service list. So that the necessary communication methods are provided. The actual operation to the UPnP device is characterized in that it can be called by XML and HTTP communication which is an extended markup language for executing a remote procedure call called SOAP (Simple Object Access Protocol).

ネットワーク上の機器の探索や、機器の提供サービスの取得、機器の操作メソッド呼び出し、イベント処理など、家電機器の操作に必要な要件を多く備えたUPnPフレームワークを採用する企業は、広がりをみせており、対応デバイスの種類や数は今後も増加することが見込まれている。こうした状況の中で、IP非対応のネットワークやバスにて接続される既存の機器を、IPネットワーク上のUPnPデバイスとして見せかけるブリッジング技術が提案されている。このブリッジ技術により、本来UPnPデバイスとして利用することのできない機器を、UPnPネットワーク上に存在する機器として仮想的に存在させ、UPnPコントロールポイントから、通常のUPnPデバイスと同等に扱うことを実現することができる。こうした、あるネットワークから他方のネットワーク上の機器ないしサービスの存在を可視化させる既存の技術は幾つか提案されており、特にIEEE1394上の機器をIEEE1394パケットないしAV/CコマンドをSOAPアクションに変換することによって、UPnPネットワーク上のコントローラ機器から制御可能にするブリッジには、特許文献2がある。   Companies that adopt the UPnP framework, which has many requirements for home appliance operation, such as searching for devices on the network, acquiring device provision services, calling device operation methods, and event processing, are expanding. The number and types of supported devices are expected to increase in the future. Under such circumstances, a bridging technique has been proposed that makes an existing device connected by a non-IP-compatible network or bus appear as a UPnP device on the IP network. By this bridge technology, a device that cannot be used as a UPnP device can virtually exist as a device on the UPnP network and can be handled from a UPnP control point in the same way as a normal UPnP device. it can. Several existing technologies for visualizing the existence of devices or services on one network from another network have been proposed, particularly by converting devices on IEEE 1394 to IEEE 1394 packets or AV / C commands into SOAP actions. Patent Document 2 discloses a bridge that can be controlled from a controller device on a UPnP network.

特許文献2では、ブリッジは、1394ProxyServiceと1394NodeServiceまたは1394NodesServiceを備えたUPnPデバイスとしてUPnPコントローラには見えるものとされている。ここで、1394ProxyServiceが1394ネットワークへの1394機器の着脱を監視して、IEEE802ネットワーク上のUPnP機器への通知および1394機器の列挙機能を提供し、1394NodeServiceは1394ネットワーク上の各1394機器の操作機能を提供する。1394NodesServiceは、1394ネットワーク上の個別の1394機器の操作に割り当てられる1394NodeServiceと異なり、1394ネットワーク上の複数の機器の操作を一つのサービスとして提供するものである。   In Patent Document 2, the bridge is visible to the UPnP controller as a UPnP device including 1394 Proxy Service and 1394 Node Service or 1394 Node Service. Here, the 1394 Proxy Service monitors the attachment / detachment of the 1394 device to / from the 1394 network, and provides the UPnP device notification on the IEEE 802 network and the function of enumerating the 1394 devices. provide. Unlike 1394 NodeService, which is assigned to the operation of individual 1394 devices on the 1394 network, the 1394 Node Services provides operations of a plurality of devices on the 1394 network as one service.

また、UPnP以外の枠組みにて、こうした動的なサービス構成を目的とした研究開発も行われている。たとえば、STONE(例えば非特許文献1参照)や、モバイルAgentを用いた試みがある。これらの試みでは、各機能の依存関係をグラフとして表現し、各機能を提供する機器を検索し、動的に結合することを行っている。   In addition, research and development for the purpose of such dynamic service configuration is being conducted in a framework other than UPnP. For example, there are attempts using STONE (see, for example, Non-Patent Document 1) and mobile Agent. In these attempts, the dependency of each function is expressed as a graph, the devices that provide each function are searched, and they are dynamically combined.

しかしながら、STONEやモバイルAgentの実現には、機器間の連携用に仮想的なネットワークを新たに構築するために独自のプロトコルを導入している。すなわち、既存のプロトコルや機器を置き換えるアプローチを採用しており、現時点でUPnP機器に適用可能とするには問題がある。
米国特許出願公開第2002/0035621 特開2003−8610公報 「STONE: 環境適応型ネットワークサービスアーキテクチャ, 電子情報通信学会技術研究報告, IN2001-12, May 2001」
However, to implement STONE and Mobile Agent, we have introduced a unique protocol to newly construct a virtual network for cooperation between devices. That is, an approach that replaces existing protocols and devices is adopted, and there is a problem in making it applicable to UPnP devices at the present time.
US Patent Application Publication No. 2002/0035621 JP 2003-8610 A "STONE: Environment-adaptive network service architecture, IEICE technical report, IN2001-12, May 2001"

従来、UPnPデバイスは、デバイス固有に提供可能なサービスリストを事前に保有しておき、UPnPコントロールポイントからの要求に基づきこれを公開する形で実現されていることが多い。現在のUPnPの仕様では、UPnPデバイスの提供するサービスが動作中に動的に変化するケースについては想定されておらず、変更時にUPnPコントロールポイントに対してどのように提供サービスが変わったかを通知する手段なども提供されていない。この機能を実現するために、UPnPデバイスにサービス情報が変化した際に動的に広告する手段を新たに追加したり、UPnPコントロールポイントに定期的にUPnPデバイスのサービスディスクリプションドキュメントを再読み込みさせることで、UPnPコントロールポイントが制御対象となるUPnPデバイスにおいて動的に変更されたサービス情報の差分について把握することでこれを実現する方式も考えられるが、そもそも、UPnPデバイスに対して、バス経由で新たに拡張装置を追加するなどしてハードウェア構成を変更した場合に、その拡張装置に備わる制御機能に関するサービス情報をどのようにしてUPnPデバイスに取り込むかといった問題が存在する。また、拡張装置から取り込んだサービス情報を、UPnPデバイスがどのように自身が保持するサービス情報に取り込み、これと共存させることができるかを解決する必要がある。   Conventionally, a UPnP device is often realized in such a manner that a service list that can be provided uniquely for a device is held in advance and is made public based on a request from a UPnP control point. The current UPnP specification does not assume a case where the service provided by the UPnP device changes dynamically during operation, and notifies the UPnP control point of how the provided service has changed at the time of change. No means are provided. To realize this function, a new means for dynamically advertising when service information changes in the UPnP device, or causing the UPnP control point to periodically reload the service description document of the UPnP device Thus, a method of realizing this by grasping the difference of service information dynamically changed in the UPnP device to be controlled by the UPnP control point is also conceivable. When the hardware configuration is changed, for example, by adding an expansion device, there is a problem of how service information related to a control function provided in the expansion device is taken into the UPnP device. Also, it is necessary to solve how the service information fetched from the expansion device can be fetched into the service information held by the UPnP device and coexist with it.

本発明は、上記事情を考慮してなされたもので、サービスを動的に構成して機能拡張し、提供することができる情報処理装置、サービス公開方法及びプログラムを提供することを目的とする。   The present invention has been made in view of the above circumstances, and an object of the present invention is to provide an information processing apparatus, a service disclosure method, and a program capable of dynamically providing and expanding and providing a service.

本発明は、ネットワーク上に第1のサービス記述を公開するとともに該第1のサービス記述が関連付けられた第1のサービスを提供する情報処理装置において、第2のサービス記述が関連付けられた第2のサービスを提供する拡張装置を接続するための接続手段と、前記接続手段により接続された前記拡張装置から前記第2のサービス記述を取得する取得手段と、取得された前記第2のサービス記述に基づいて前記第1のサービス記述を更新する更新手段と、更新された第1のサービスのサービス記述を前記ネットワーク上に公開する公開手段とを備えたことを特徴とする。   According to the present invention, in the information processing apparatus that publishes the first service description on the network and provides the first service associated with the first service description, the second service description associated with the second service description is provided. Based on connection means for connecting an extension device that provides a service, acquisition means for acquiring the second service description from the extension device connected by the connection means, and the acquired second service description And updating means for updating the first service description and publishing means for publishing the updated service description of the first service on the network.

なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に係る発明としても成立する。
また、装置または方法に係る本発明は、コンピュータに当該発明に相当する手順を実行させるための(あるいはコンピュータを当該発明に相当する手段として機能させるための、あるいはコンピュータに当該発明に相当する機能を実現させるための)プログラムとしても成立し、該プログラムを記録したコンピュータ読み取り可能な記録媒体としても成立する。
The present invention relating to the apparatus is also established as an invention relating to a method, and the present invention relating to a method is also established as an invention relating to an apparatus.
Further, the present invention relating to an apparatus or a method has a function for causing a computer to execute a procedure corresponding to the invention (or for causing a computer to function as a means corresponding to the invention, or for a computer to have a function corresponding to the invention. It can also be realized as a program (for realizing the program), and can also be realized as a computer-readable recording medium on which the program is recorded.

本発明によれば、サービスを動的に構成して機能拡張し、提供することができる   According to the present invention, a service can be dynamically configured to expand and provide functions.

以下、図面を参照しながら本発明の実施形態について説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1に、本発明の一実施形態に係る情報処理装置を含むネットワークシステムの構成例を示す。   FIG. 1 shows a configuration example of a network system including an information processing apparatus according to an embodiment of the present invention.

図1において、1はUPnPデバイスとして動作する機能を有する情報処理装置(以下、UPnPデバイス1とも表す)、2はUPnPデバイス1の制御装置であるUPnPコントロールポイント、3は例えばイーサネット(登録商標)や無線LANなどを利用したIPネットワークをそれぞれ示している。また、4は例えばPCIバスなどの拡張バスを示しており、5〜7は拡張バス4によりUPnPデバイス1に接続される拡張装置をそれぞれ示している。   In FIG. 1, 1 is an information processing apparatus (hereinafter also referred to as UPnP device 1) having a function of operating as a UPnP device, 2 is a UPnP control point that is a control apparatus of the UPnP device 1, and 3 is, for example, Ethernet (registered trademark) or IP networks using a wireless LAN or the like are shown. Reference numeral 4 represents an expansion bus such as a PCI bus, and reference numerals 5 to 7 represent expansion apparatuses connected to the UPnP device 1 by the expansion bus 4.

図1に示されるように、UPnPデバイス1と、UPnPコントロールポイント2とは、IPネットワーク3上にて接続される。なお、図1では、IPネットワーク3上に、1台のUPnPデバイスが示されているが、UPnPデバイスが複数台存在しても構わない。UPnPコントロールポイント2についても同様である。また、本実施形態に係るUPnPデバイス1と、既存のUPnPデバイスとが混在しても構わない。   As shown in FIG. 1, a UPnP device 1 and a UPnP control point 2 are connected on an IP network 3. In FIG. 1, one UPnP device is shown on the IP network 3, but a plurality of UPnP devices may exist. The same applies to the UPnP control point 2. Further, the UPnP device 1 according to the present embodiment and the existing UPnP device may be mixed.

本実施形態に係るUPnPデバイス1は、拡張バス4を介して接続される拡張装置によって機能の拡張が可能な装置である。   The UPnP device 1 according to the present embodiment is a device whose function can be expanded by an expansion device connected via the expansion bus 4.

拡張装置の接続による機能の拡張には、例えば、カメラを備えないUPnPデバイス1に、拡張装置としてカメラを接続するような拡張(新設)や、カメラを備えるUPnPデバイス1に、拡張装置として、カメラ(例えば、同種同性能のカメラ、同種のより高性能なカメラあるいは異なる種類のカメラなど)を接続し、元々備えるカメラと併用するような拡張(増設)又は元々備えるカメラに替えて使用するような拡張(交換)など、種々の形態がある。   For expansion of functions by connecting an expansion device, for example, an expansion (new installation) of connecting a camera as an expansion device to a UPnP device 1 that does not include a camera, or a camera as an expansion device for a UPnP device 1 including a camera (For example, cameras of the same type and the same performance, higher performance cameras of the same type or different types of cameras, etc.) are connected and used in place of expansion (addition) or original cameras used together with the original cameras. There are various forms such as expansion (exchange).

また、本実施形態に係るUPnPデバイス1は、拡張装置から、そのサービス記述を取得し、拡張装置のサービス記述の自装置のサービス記述への反映を行う。この反映のさせ方にも、種々の形態がある。例えば、拡張装置のサービス記述を、自装置のサービス記述に追加する形態、拡張装置のサービス記述で、自装置のサービス記述の該当する部分を置き換える形態や、さらには、拡張装置のサービス記述と自装置のサービス記述に基づいて、新たなサービスのためのサービス記述を生成し、生成された新たなサービス記述を、自装置のサービス記述に追加する形態、生成された新たなサービス記述で、自装置のサービス記述の該当する部分を置き換える形態など、種々の形態が可能である。   Also, the UPnP device 1 according to the present embodiment acquires the service description from the extension device, and reflects the service description of the extension device in the service description of the own device. There are various forms of reflection. For example, the service description of the extended device is added to the service description of the own device, the service description of the extended device is replaced with the corresponding part of the service description of the own device, or the service description of the extended device is Based on the service description of the device, a service description for the new service is generated, and the generated new service description is added to the service description of the own device. Various forms are possible, such as a form of replacing the corresponding part of the service description.

UPnPデバイス1は、例えば、パーソナルコンピュータ装置などを利用して構成することもできるし、特定の機能を持った専用の装置(例えば、家庭内やオフィス内で使用される種々の電気機器や事務機器、ロボット装置等)として構成することもできる。あるUPnPデバイス1に接続可能な拡張装置の上限数は任意に決めて構わない。図1は、UPnPデバイス1に3台の拡張装置5〜7が接続されている様子を例示したものである。   The UPnP device 1 can be configured using, for example, a personal computer device, or a dedicated device having a specific function (for example, various electric devices and office devices used in homes and offices). , A robot device, etc.). The upper limit number of expansion apparatuses that can be connected to a certain UPnP device 1 may be arbitrarily determined. FIG. 1 illustrates a state in which three expansion devices 5 to 7 are connected to the UPnP device 1.

なお、本実施形態に係るUPnPデバイス1の機能をプログラムで実現する場合には、当該プログラムがUPnPデバイス1の図示しないプログラム記憶装置に格納される。プログラム記憶装置は、例えば、磁気ディスク装置や光ディスク装置等からなる。上記プログラムがCPUからの制御でランダムアクセスメモリ(RAM)に読み込まれ、同CPUにより実行されることにより、コンピュータを本実施形態に係るUPnPデバイス1として機能させることができる。   Note that when the functions of the UPnP device 1 according to the present embodiment are realized by a program, the program is stored in a program storage device (not shown) of the UPnP device 1. The program storage device includes, for example, a magnetic disk device or an optical disk device. The program is read into a random access memory (RAM) under the control of the CPU and executed by the CPU, whereby the computer can function as the UPnP device 1 according to the present embodiment.

UPnPコントロールポイント2は、UPnPデバイス(本実施形態に係るUPnPデバイス1や既存のUPnPデバイス)の制御を行う機能を有する機器に相当する。なお、UPnPコントロールポイント2は、基本的には、あるUPnPデバイスが、本実施形態に係るUPnPデバイス1であるか、既存のUPnPデバイスであるかについて認識しなくて構わない。UPnPコントロールポイント2は、例えば、パーソナルコンピュータ装置などを利用して構成することもできるし、専用の制御装置(例えば、TV等のネットワーク家電や、リモコン装置等)として構成することもできる。UPnPコントロールポイント2は、既存のもので構わない。UPnPコントロールポイント2は、例えば、制御などの演算処理を行うための中央処理ユニット(CPU)と、表示のための処理ブロックと、操作入力のための処理ブロックと、処理内容の記憶ブロックと、他機器との通信処理ブロックとが、内部バスで結合される構成を有する。   The UPnP control point 2 corresponds to a device having a function of controlling a UPnP device (UPnP device 1 according to the present embodiment or an existing UPnP device). The UPnP control point 2 does not necessarily have to recognize whether a certain UPnP device is the UPnP device 1 according to the present embodiment or an existing UPnP device. The UPnP control point 2 can be configured using, for example, a personal computer device or the like, or can be configured as a dedicated control device (for example, a network home appliance such as a TV or a remote control device). The UPnP control point 2 may be an existing one. The UPnP control point 2 includes, for example, a central processing unit (CPU) for performing arithmetic processing such as control, a processing block for display, a processing block for operation input, a storage block for processing contents, and the like. A communication processing block with the device is coupled by an internal bus.

次に、図2を参照しながら、UPnPデバイス1(又は既存のUPnPデバイス)とUPnPコントロールポイント2との間の動作を概略的に説明する。   Next, an operation between the UPnP device 1 (or an existing UPnP device) and the UPnP control point 2 will be schematically described with reference to FIG.

図2に示すように、UPnPデバイス1は、SSDP(Simple Service Discovery Protocol)(図中、101参照)に従ってUPnPコントロールポイント2に向けて自デバイス(自機器)の存在を広告し、XML形式で記述されたデバイス記述・サービス記述(11)を公開する。UPnPコントロールポイント2は、UPnPデバイス1およびサービス(図2の例では、第1のサービス121と第2のサービス122)をSSDP(図中、101参照)に従って発見し、各サービスのアクションをSOAPに基づく呼び出し(図中、102参照)により制御する。UPnPサービスの状態変化は、GENAに基づくイベント通知(図中、103参照)を購読するUPnPコントロールポイント2に対して通知される。   As shown in FIG. 2, the UPnP device 1 advertises the existence of its own device (own device) to the UPnP control point 2 in accordance with SSDP (Simple Service Discovery Protocol) (see 101 in the figure), and is described in the XML format. Published device description / service description (11). The UPnP control point 2 discovers the UPnP device 1 and the service (in the example of FIG. 2, the first service 121 and the second service 122) according to SSDP (see 101 in the figure), and sets the action of each service to SOAP. Control based on the call based on (see 102 in the figure). The state change of the UPnP service is notified to the UPnP control point 2 that subscribes to the event notification (see 103 in the figure) based on GENA.

このような基本的な動作は、既存のUPnPデバイスとUPnPコントロールポイント2との間についても同様である。   Such a basic operation is the same between the existing UPnP device and the UPnP control point 2.

図3に、既存のUPnPデバイス8の構成例を示す。該既存のUPnPデバイスが公開する機能の一覧は、デバイス記述・サービス記述81として静的に用意されており、SSDP処理部82を通じて、UPnPデバイスタイプ、デバイスID、およびサービスタイプ等が広告される。広告された情報に基づいて、UPnPコントロールポイント2は、必要なサービスまたはデバイスを選択し、HTTPによって、デバイス記述・サービス記述81の取得要求を行う。記述取得処理部83は、この取得要求に応じ、XML形式で記述されたデバイス記述・サービス記述81をUPnPコントロールポイント2に送信する。   FIG. 3 shows a configuration example of the existing UPnP device 8. A list of functions disclosed by the existing UPnP device is statically prepared as a device description / service description 81, and the UPnP device type, device ID, service type, and the like are advertised through the SSDP processing unit 82. Based on the advertised information, the UPnP control point 2 selects a necessary service or device and makes an acquisition request for the device description / service description 81 by HTTP. In response to this acquisition request, the description acquisition processing unit 83 transmits a device description / service description 81 described in the XML format to the UPnP control point 2.

各サービスの機能は、各UPnPサービスのアクションとして、SOAPを介して利用可能である。UPnPコントロールポイント2からのアクション要求は、SOAP処理部84からSOAPハンドラ85を通じて、各アクションのハンドラ86,87に渡される。これらアクションハンドラ86,87は、UPnP状態変数を参照しながら、実際の処理を行い、処理結果に応じてレスポンスを返すとともに、UPnP状態変数を更新する。UPnP状態変数を管理する状態変数管理部88は、更新された状態変数がイベント通知の対象であれば、購読元のUPnPコントロールポイント2に対して、GENA処理部89を通じて、イベント通知を行う。   The function of each service can be used via SOAP as an action of each UPnP service. The action request from the UPnP control point 2 is passed from the SOAP processing unit 84 to the handlers 86 and 87 of each action through the SOAP handler 85. The action handlers 86 and 87 perform actual processing while referring to the UPnP state variable, return a response according to the processing result, and update the UPnP state variable. If the updated state variable is an event notification target, the state variable management unit 88 that manages the UPnP state variable notifies the subscription source UPnP control point 2 through the GENA processing unit 89.

図4に、本実施形態の情報処理装置1(UPnPデバイス1)の構成例を示す。   FIG. 4 shows a configuration example of the information processing apparatus 1 (UPnP device 1) of the present embodiment.

図4に示されるように、本UPnPデバイス1は、デバイス記述・サービス記述11、SSDP処理部12、記述取得処理部13、SOAP処理部14、SOAPハンドラ15、ハンドラ16,17、状態変数管理部18、GENA処理部19、拡張装置用デバイス記述サービス記述取得処理部(以下、記述取得処理部)20と記述マージ形式判定処理部(以下、判定処理部)21を備えている。なお、図4では、アクションハンドラは、2つ示しているが、2以外の個数でも構わない(図3も同様である)。   As shown in FIG. 4, the UPnP device 1 includes a device description / service description 11, an SSDP processing unit 12, a description acquisition processing unit 13, a SOAP processing unit 14, a SOAP handler 15, handlers 16 and 17, and a state variable management unit. 18, a GENA processing unit 19, an expansion device device description service description acquisition processing unit (hereinafter, description acquisition processing unit) 20, and a description merge format determination processing unit (hereinafter, determination processing unit) 21. In FIG. 4, two action handlers are shown, but the number may be other than two (the same applies to FIG. 3).

図4のデバイス記述・サービス記述11からGENA処理部19までは、図3の既存のUPnPデバイス8の構成例におけるデバイス記述・サービス記述81からGENA処理部89までと基本的には同様のものである。すなわち、図4のUPnPデバイス1は、図3の構成に、記述取得処理部20と判定処理部21を付加したものである。   The device description / service description 11 to the GENA processing unit 19 in FIG. 4 are basically the same as the device description / service description 81 to the GENA processing unit 89 in the configuration example of the existing UPnP device 8 in FIG. is there. That is, the UPnP device 1 of FIG. 4 is obtained by adding a description acquisition processing unit 20 and a determination processing unit 21 to the configuration of FIG.

記述取得処理部20は、バス接続4される拡張装置(図1の例では、拡張装置5,6または7)から、当該拡張装置が保持するデバイス記述・サービス記述をバス4経由で取得する処理を行うものである。このデバイス記述・サービス記述の取得は、バス4上で規定された通信メソッドを利用して行うことができる。   The description acquisition processing unit 20 acquires, via the bus 4, the device description and service description held by the expansion device from the expansion device connected to the bus 4 (in the example of FIG. 1, the expansion device 5, 6 or 7). Is to do. The device description / service description can be acquired by using a communication method defined on the bus 4.

判定処理部21は、記述取得処理部20によりバス4経由で当該拡張装置から取得したデバイス記述・サービス記述に基づいて、自装置内に保持するデバイス記述・サービス記述11に対してどのように反映させればよいか(例えば、取得したデバイス記述・サービス記述を、デバイス記述・サービス記述11に対して、どのように追記すればよいか、あるいは、サービスの組み合わせにより新しいサービス記述が生成できるかどうかなど)を判定し、必要に応じてデバイス記述・サービス記述11を更新する。これに伴い、記述マージ形式判定処理部21は、必要に応じて、当該拡張装置のデバイス記述・サービス記述に対応する(バス4を介して当該拡張装置を制御するための)アクションハンドラをセットする(あるいは、対応するアクションハンドラが既に存在し且つ非アクティブの状態である場合には、これをアクティブにする)。   The determination processing unit 21 reflects the device description / service description 11 stored in the own device based on the device description / service description acquired from the extended device via the bus 4 by the description acquisition processing unit 20. (For example, how to add the acquired device description / service description to the device description / service description 11 or whether a new service description can be generated by a combination of services) And the device description / service description 11 is updated as necessary. Accordingly, the description merge format determination processing unit 21 sets an action handler (for controlling the extension device via the bus 4) corresponding to the device description / service description of the extension device, if necessary. (Alternatively, if the corresponding action handler already exists and is inactive, activate it).

なお、デバイス記述・サービス記述11が更新されると、更新されたデバイス記述・サービス記述11は、周囲のUPnPコントロールポイント2に対して広告される。   When the device description / service description 11 is updated, the updated device description / service description 11 is advertised to surrounding UPnP control points 2.

以下、本実施形態について具体例を用いながら詳しく説明する。   Hereinafter, this embodiment will be described in detail using specific examples.

ここでは、図5に示されるように、UPnPデバイス1本体を、車輪などを具備した移動式ロボットとし、拡張バス4にIEEE1394を使用し、拡張装置9としてデジタルカメラを用いた場合を具体例として説明する。   Here, as shown in FIG. 5, the UPnP device 1 body is a mobile robot having wheels and the like, IEEE1394 is used for the expansion bus 4, and a digital camera is used as the expansion device 9, as a specific example. explain.

図6(a)に、本具体例で用いるIEEE1394のコンフィグレーションROM(Configuration ROM)内に保持されるデータのフォーマットを示し、同図(b)に、コンフィグレーションROM内に保持される「unit_directory」情報の内容の詳細を示す。図6に示されるように、「unit_directory」情報内の「Unit_Spec_ID」情報や「Unit_Sw_Version」情報から、バス4上の通信プロトコルを特定することができる。例えば、1394ベースのデジタルカメラ仕様に従った機器の場合、「Unit_Spec_ID」情報には“0x00A02D”という値が規定されている。   FIG. 6A shows a format of data held in the configuration ROM (Configuration ROM) of IEEE 1394 used in this specific example, and FIG. 6B shows “unit_directory” held in the configuration ROM. Details of the contents of the information are shown. As shown in FIG. 6, the communication protocol on the bus 4 can be specified from the “Unit_Spec_ID” information and the “Unit_Sw_Version” information in the “unit_directory” information. For example, in the case of a device conforming to the 1394-based digital camera specification, the value “0x00A02D” is defined in the “Unit_Spec_ID” information.

図7に、IEEE1394バス4によりUPnPデバイス1に拡張装置9が接続されてから、実際に該UPnPデバイス1内にデバイス記述・サービス記述(デバイス/サービス・ディスクリプション・ドキュメント)を生成し、ネットワーク3上へ公開し、UPnPコントロールポイント2からの操作を処理するまでのシーケンスの一例を示す。   In FIG. 7, after the expansion device 9 is connected to the UPnP device 1 by the IEEE1394 bus 4, a device description / service description (device / service description document) is actually generated in the UPnP device 1, and the network 3 An example of a sequence from opening up to processing an operation from the UPnP control point 2 is shown.

なお、ここでは、拡張装置9の接続のみが行われたものとして拡張装置9のみに着目して説明する。   Here, it is assumed that only the expansion device 9 is connected, and only the expansion device 9 is described.

図7のシーケンスにおいては、まず、拡張装置であるデジタルカメラ9を、UPnPデバイス1の移動式ロボットに対して、IEEE1394バス4経由で接続する。この時点で発生するバス・リセット(bus reset)を契機として、ツリー・アイデンティファイ(tree−identify)やセルフ・アイデンティファイ(self−identify)を行い、トポロジー構成の初期化を行い、サイクルマスタやバスマネージャなどの決定を行う(ステップS1)。   In the sequence of FIG. 7, first, the digital camera 9 that is an expansion device is connected to the mobile robot of the UPnP device 1 via the IEEE 1394 bus 4. In response to a bus reset that occurs at this time, tree-identify (self-identify), self-identify (self-identify), initialization of the topology configuration, and cycle master And the bus manager are determined (step S1).

続いて、UPnPデバイス1は、新たに接続された拡張装置9のunit_directory情報(図6参照)を読み込み(ステップS2)、これを参照して、対象となる拡張装置9への通信プロトコルを調査する。   Subsequently, the UPnP device 1 reads unit_directory information (see FIG. 6) of the newly connected expansion device 9 (step S2), and refers to this to investigate the communication protocol to the target expansion device 9. .

次に、UPnPデバイス1は、記述取得処理部20により、拡張装置9のデバイス記述・サービス記述91を、調査した通信プロトコルに従い(例えば、READトランザクションにて)読み込む(ステップS3)。   Next, the UPnP device 1 reads the device description / service description 91 of the expansion device 9 by the description acquisition processing unit 20 according to the investigated communication protocol (for example, by a READ transaction) (step S3).

図8に、拡張装置9のデバイス記述・サービス記述91の形式の一例を示す。ここでは、このデバイス記述・サービス記述91は、IEEE1394バス上のメモリにマップされているものとする。   FIG. 8 shows an example of the format of the device description / service description 91 of the expansion device 9. Here, it is assumed that the device description / service description 91 is mapped to a memory on the IEEE 1394 bus.

デバイス記述に関しては、図8(a)に示すように、デバイス・ディスクリプション・ドキュメント本体のサイズ(dev_desc_length)と、サービス・ディスクリプション・ドキュメントが配置されるメモリ位置へのオフセット値(srv_desc_offset)、および、デバイス・ディスクリプション・ドキュメント本体(device description document)が格納される構造を想定する。また、サービス記述に関しては、図8(b)に示すように、サービス・ディスクリプション・ドキュメント本体のサイズ(srv_desc_length)と、サービス記述が更に存在する場合における、次のサービス・ディスクリプション・ドキュメントが配置されるメモリ位置へのオフセット値(srv_desc_offset)、および、サービス・ディスクリプション・ドキュメント本体(srevice description document)が格納される構造を想定する。   Regarding the device description, as shown in FIG. 8A, the size of the device description document body (dev_desc_length), the offset value (srv_desc_offset) to the memory location where the service description document is placed, and Assume a structure in which a device description document body is stored. As for the service description, as shown in FIG. 8B, the size of the service description document body (srv_desc_length) and the next service description document in the case where the service description further exists are arranged. Assume a structure in which an offset value (srv_desc_offset) to a memory location to be stored and a service description document body are stored.

この記述の読み込みは、サービス記述のsrv_desc_offset値がnullになるまで、行われる。   This description is read until the srv_desc_offset value of the service description becomes null.

なお、デバイス記述用の構造に関して、IEEE1394上に配置されるメモリ位置は常に固定しておく必要があり、UPnPデバイスが最初のデバイス記述を読み込む際に利用することになる。   Note that regarding the structure for device description, the memory location arranged on IEEE1394 must always be fixed, and will be used when the UPnP device reads the first device description.

上記では、拡張装置9のデバイス記述・サービス記述91は、拡張装置であるデジタルカメラ9側のIEEE1394メモリ上にマップすることで取得可能としたが、他の方法によることも可能である。例えば、UPnPデバイス1側にて拡張装置9から取得したunit_directory情報に基づき、同一ネットワークもしくはインターネット等のネットワーク上に配置される「unit_directory情報をキーとするデバイス記述・サービス記述の蓄積サーバ」を用意し、UPnPデバイス1からこのサーバへ問い合わせを行うことで、所望するデバイス記述・サービス記述を取得するように構成することも可能である。   In the above description, the device description / service description 91 of the expansion device 9 can be acquired by mapping it on the IEEE 1394 memory on the digital camera 9 side which is the expansion device, but other methods can also be used. For example, based on the unit_directory information acquired from the expansion device 9 on the UPnP device 1 side, a “device description / service description storage server using unit_directory information as a key” arranged on the same network or a network such as the Internet is prepared. It is also possible to obtain a desired device description / service description by making an inquiry from the UPnP device 1 to this server.

続いて、拡張装置9のデバイス記述・サービス記述の取得が完了すると、UPnPデバイス1は、判定処理部21において、記述取得処理部20により取得した記述を、自装置が保持するサービス記述と、どのようにして、追加、あるいは、組み合わせて、新規サービスを生成するかについて判定する(ステップS4)。   Subsequently, when acquisition of the device description / service description of the expansion device 9 is completed, the UPnP device 1 causes the determination processing unit 21 to change the description acquired by the description acquisition processing unit 20 to the service description held by the own device and which In this way, it is determined whether a new service is generated by addition or combination (step S4).

この判定には種々の方法が可能であるが、ここでは、一例として、UPnPデバイス1が、予め用意しておいたヒント情報を利用する方法について説明する。   Various methods can be used for this determination. Here, as an example, a method in which the UPnP device 1 uses hint information prepared in advance will be described.

図9に、このヒント情報の構成例を示す。   FIG. 9 shows a configuration example of this hint information.

図9に例示したヒント情報は、unit_directory情報によって取得できる機器のタイプに従って(図9の例では、Unit_Spec_ID毎、Unit_Sw_Version毎に)、どのようなサービス記述の更新を行うべきかを記載したテーブル形式となっている。   The hint information illustrated in FIG. 9 includes a table format that describes what service description should be updated according to the type of device that can be acquired by the unit_directory information (for each Unit_Spec_ID and for each Unit_Sw_Version in the example of FIG. 9). It has become.

「default_op」情報は、拡張装置のサービス記述を、UPnPデバイスに対して基本的にどのように追加するのかについて示すものである。本具体例では、“merge”、“replace”、“none”から選択することができる。“merge”であれば、UPnPデバイス1のサービス記述への単純追加、“replace”であれば、UPnPデバイス1のサービス記述を、当該拡張装置が接続されている間、一時的に無効化し、当該拡張装置のサービス記述に置き換える。“none”であれば、拡張装置のサービス記述は、UPnPデバイス1のサービス記述に影響を与えない。なお、“merge”、“replace”、“none”の値は実際には、整数値に置き換えられてもよい。   The “default_op” information indicates how to basically add the service description of the extended device to the UPnP device. In this specific example, “merge”, “replace”, and “none” can be selected. If “merge”, simply add to the service description of the UPnP device 1; if “replace”, temporarily disable the service description of the UPnP device 1 while the extension device is connected, Replace with the service description of the expansion unit. If it is “none”, the service description of the expansion device does not affect the service description of the UPnP device 1. Note that the values of “merge”, “replace”, and “none” may actually be replaced with integer values.

「conflict_units」情報は、「Unit_Spec_ID_A」情報で指定された拡張装置以外の拡張装置が接続された場合に、競合を発生する可能性のあるものの個数nと、そのUnit_Spec_IDのリストを保持する。conflict_unitsに記載された拡張装置が既にUPnPデバイスに接続されている場合は、該拡張装置のサービス記述は、UPnPデバイスのサービス記述に影響を与えない。   The “conflict_units” information holds the number n of those that may cause a conflict when an expansion device other than the expansion device specified by the “Unit_Spec_ID_A” information is connected, and a list of the Unit_Spec_ID. When the extension device described in the conflict_units is already connected to the UPnP device, the service description of the extension device does not affect the service description of the UPnP device.

「collabo_units」情報は、「Unit_Spec_ID_A」で識別される拡張装置が、UPnPデバイス1を含む他の拡張装置との間で、連携サービスの提供が可能なものの個数mを保持している。これ以降、連携可能対象となる他の拡張装置の「Unit_Spec_ID」と、対応するサービス記述文章の名前(もしくはURI(Uniform Resource Identifier))の組がm個連なる。   The “collabo_units” information holds the number m that the extension device identified by “Unit_Spec_ID_A” can provide a linkage service with other extension devices including the UPnP device 1. Thereafter, there are m consecutive sets of “Unit_Spec_ID” of other extension devices to be linked and names of corresponding service description sentences (or URIs (Uniform Resource Identifiers)).

なお、図9の例では、Unit_Sw_VersionにかかわらずにUnit_Spec_IDで指定する方法を採ったが、Unit_Spec_ID_AとUnit_Sw_Versionの両方で指定する方法も可能である。   In the example of FIG. 9, the method of specifying with Unit_Spec_ID is adopted regardless of Unit_Sw_Version, but the method of specifying with both Unit_Spec_ID_A and Unit_Sw_Version is also possible.

なお、図9のヒント情報は一例であり、他にも種々の構成が可能である。   Note that the hint information in FIG. 9 is an example, and various other configurations are possible.

また、ヒント情報を利用する方法以外にも、判定処理部21における判定には種々の方法が可能である。   Besides the method using the hint information, various methods are possible for the determination in the determination processing unit 21.

さて、図7のシーケンスにおいて、判定処理部21は、拡張装置ごとに用意されたこのヒント情報テーブルをもとに、UPnPデバイス1として外部に公開するサービス記述の更新を行う(ステップS5)。   Now, in the sequence of FIG. 7, the determination processing unit 21 updates the service description to be disclosed to the outside as the UPnP device 1 based on this hint information table prepared for each expansion device (step S5).

更新されたデバイス記述・サービス記述11は、UPnPコントロールポイント2に対して広告される(ステップS6)。   The updated device description / service description 11 is advertised to the UPnP control point 2 (step S6).

ここでは、更新後のデバイス記述・サービス記述11を全て公開する(更新後のデバイス記述・サービス記述11を持つUPnPデバイスとして新たに公開する)ものとする。なお、デバイス記述・サービス記述11の更新前後の差分のみ公開する方法も可能である。   Here, it is assumed that all the updated device descriptions / service descriptions 11 are disclosed (newly disclosed as UPnP devices having updated device descriptions / service descriptions 11). It is also possible to publish only the differences before and after the update of the device description / service description 11.

UPnPコントロールポイント2は、UPnPデバイス1からデバイス記述・サービス記述を取得する(ステップS7)。   The UPnP control point 2 acquires the device description / service description from the UPnP device 1 (step S7).

この後、UPnPコントロールポイント2は、必要に応じて、制御命令をUPnPデバイス1に対して送信する(ステップS8)。   Thereafter, the UPnP control point 2 transmits a control command to the UPnP device 1 as necessary (step S8).

UPnPデバイス1は、この制御命令要求(SOAPアクション)を受けると(ステップS8)、これが拡張装置に対する操作であるかどうか判断する(ステップS9)。ここでは、拡張装置に対する操作であるとする。   Upon receiving this control command request (SOAP action) (step S8), the UPnP device 1 determines whether this is an operation for the expansion device (step S9). Here, it is assumed that the operation is for the expansion device.

拡張装置に対する操作である場合、UPnPデバイス1は、必要に応じて、該当する拡張装置への制御要求を作成して、これを送信することで(ステップS10)、実際の制御を行う。   In the case of an operation for an expansion device, the UPnP device 1 creates a control request to the corresponding expansion device as necessary, and transmits this request (step S10) to perform actual control.

例えば、接続される機器がIEEE1394ベースのデジタルカメラ仕様であれば、当該仕様書により制御コマンドのセットは予め入手することが可能であるため、UPnPデバイス側で事前に制御コマンドのセットを含むバス通信メソッドは、ライブラリ化するなどして準備されており、これを利用した制御要求送信が行われるようにしてもよい。   For example, if the device to be connected is an IEEE 1394-based digital camera specification, a set of control commands can be obtained in advance according to the specification, so bus communication including a set of control commands in advance on the UPnP device side. The method is prepared by making it into a library, and control request transmission using this method may be performed.

なお、拡張装置に対する操作でない場合、UPnPデバイス1は、自装置内において必要な制御を行う。   When the operation is not performed on the expansion device, the UPnP device 1 performs necessary control in the own device.

UPnPデバイス1から制御要求を受信し、必要な処理を行った拡張装置9は、制御応答を作成して、これをUPnPデバイス1へ返す。   The expansion device 9 that has received the control request from the UPnP device 1 and performed the necessary processing creates a control response and returns it to the UPnP device 1.

UPnPデバイス1は、拡張装置9からの制御応答を受信すると(ステップS11)、これをSOAPレスポンスの形に変換し(ステップS12)、UPnPコントロールポイント2へ返信することで(ステップS13)、制御した結果について回答を行い、一連の処理を完了する。   Upon receiving the control response from the expansion device 9 (step S11), the UPnP device 1 converts this into a SOAP response (step S12), and returns it to the UPnP control point 2 (step S13) to control it. Answer the results and complete the series of processes.

以上説明したように、本実施形態によれば、拡張装置をUPnPデバイスに接続した際に、拡張装置の保持するサービス記述をUPnPデバイスのサービス記述に加えるのみならず、例えばヒント情報テーブルによるなどして、新たなサービスを動的に構成し、ネットワーク上に公開することが可能になる。   As described above, according to this embodiment, when an expansion device is connected to a UPnP device, not only the service description held by the expansion device is added to the service description of the UPnP device, but also, for example, by a hint information table. New services can be dynamically configured and published on the network.

ここで、従来のUPnP仕様では、UPnPデバイスが動作中に公開するサービスが動的に変化することを想定しておらず、公開された新たなサービスをその公開時に通知する枠組みが提供されていない。この場合、次に示すようにUPnPデバイスとしての動作をいったん終了し、再開する方法を採ることが前提となっている。
(1)UPnPデバイスとしての動作を停止する。公開するデバイスID,デバイスタイプ,サービスタイプ,サービスIDの各々についてssdp:byebyeを周囲にマルチキャストし、サービスの停止を通知する。
(2)公開するサービスに関するデバイス記述およびサービス記述を変更する。
(3)UPnPデバイスとしての動作を再開する。ここで、公開するデバイスID,デバイスタイプ,サービスタイプ,サービスIDの各々についてssdp:aliveを周囲にマルチキャストし、新たなサービスが稼働中であることを通知する。
Here, in the conventional UPnP specification, it is not assumed that the service published during the operation of the UPnP device dynamically changes, and a framework for notifying a new published service at the time of the publication is not provided. . In this case, it is assumed that the operation as a UPnP device is once ended and restarted as described below.
(1) Stop operation as a UPnP device. For each of the device ID, device type, service type, and service ID to be disclosed, ssdp: byebye is multicast to the surroundings to notify service stop.
(2) Change the device description and service description related to the service to be disclosed.
(3) Restart the operation as a UPnP device. Here, for each of the device ID, device type, service type, and service ID to be disclosed, ssdp: alive is multicast to the surroundings to notify that a new service is in operation.

本実施形態に係るUPnPデバイス1では、例えば次の手順を採ることができる。
(1)公開する内容に変更が生じたサービスのサービス記述を変更する。
(2)上記サービスのssdp:aliveを周囲にマルチキャストする。ここで、CACHE−CONTROLヘッダの値をmax−age=0とする。
In the UPnP device 1 according to the present embodiment, for example, the following procedure can be taken.
(1) Change the service description of a service whose contents have been changed.
(2) Multicast the ssdp: alive of the service to the surroundings. Here, the value of the CACHE-CONTROL header is set to max-age = 0.

マルチキャストに応答するUPnPコントロールポイント2においては、通常、CACHE−CONTROL: max−age=600など非0な値のヘッダが付与されたssdp:aliveパケットを受け取ると、所定の時間(この場合は600秒)は、ssdp:aliveが広告する内容をキャッシュする。キャッシュ期限が到来する前に、次のssdp:aliveパケットが広告されるか、UPnPコントロールポイント2側からssdp:discoverパケットによる探索を行う必要がある。本実施形態に従う場合、ssdp:alive CACHE−CONTROL: max−age=0を受け取ると、該サービスに対して有する内部キャッシュがクリアされる。このため、該サービスのサービス記述を再取得する必要に迫られ、取得したサービス記述のタイムスタンプである、HTTP−GETのレスポンスに含まれるLast−Modifiedヘッダが示す時刻が、従来得たものと異なるから、サービス記述が従来から変化したと判断できる。   In the UPnP control point 2 responding to the multicast, when a ssdp: alive packet with a non-zero header such as CACHE-CONTROL: max-age = 600 is received, a predetermined time (in this case, 600 seconds) ) Caches the content ssdp: alive advertises. Before the cache time limit arrives, it is necessary to advertise the next ssdp: alive packet or perform a search using the ssdp: discover packet from the UPnP control point 2 side. According to the present embodiment, when ssdp: alive CACHE-CONTROL: max-age = 0 is received, the internal cache possessed for the service is cleared. For this reason, it is necessary to reacquire the service description of the service, and the time indicated by the Last-Modified header included in the HTTP-GET response, which is the time stamp of the acquired service description, is different from that obtained conventionally. From this, it can be determined that the service description has changed from the past.

この方法では、CAHCHE−CONTROLに基づくUPnPコントロールポイント2の挙動を協調的なものであると仮定している。よりUPnP仕様に忠実なUPnPコントロールポイントの収容を考慮すると、次の手順を実行して、変更が生じたサービスのみの一時停止と変更、再開を行うことが好ましい。
(1)公開する内容に変更が生じたサービスのssdp:byebye(停止)を周囲にマルチキャストする。
(2)上記サービスのサービス記述を変更する。
(3)上記サービスのssdp:alive(開始)を周囲にマルチキャストする。
In this method, it is assumed that the behavior of UPnP control point 2 based on CAHCHE-CONTROL is cooperative. Considering accommodation of UPnP control points that are more faithful to the UPnP specification, it is preferable to execute the following procedure to temporarily suspend, change, and resume only the services that have changed.
(1) Multicasting the ssdp: bybye (stop) of a service whose content has been changed to the public.
(2) Change the service description of the service.
(3) Multicast the ssdp: alive (start) of the service to the surroundings.

先ほどの方法と比較してパケット数は増えるものの、より確実にサービス変更を広告できることが期待される。このとき、UPnPコントロールポイント2は、利用中のサービスがいったん終了したので、呼び出し中の手続きは失敗し、イベント通知の購読は解除されたものと判断できる。その後、サービスが再開したのでサービス記述を再取得することが要求され、取得したサービス記述のタイムスタンプである、HTTP−GETのレスポンスに含まれるLast−Modifiedヘッダが示す時刻が、従来得たものと異なることから、サービス記述が従来から変化したと判断できる。   Although the number of packets increases compared to the previous method, it is expected that service changes can be advertised more reliably. At this time, the UPnP control point 2 can determine that the service being used has once ended, so that the calling procedure has failed and the event notification subscription has been canceled. After that, since the service was resumed, it was requested to reacquire the service description, and the time indicated by the Last-Modified header included in the HTTP-GET response, which is the time stamp of the acquired service description, was obtained in the past. Since it is different, it can be determined that the service description has changed from the past.

この方法の場合、従来のようにUPnPデバイスとして全サービスを終了する場合と比べて、影響がないサービスをそのまま継続できる。これは、単純にサービスの通知用マルチキャストパケットの個数のみならず、イベント通知の再購読手続きの実行に必要なパケットをも減らすことができる。   In this method, an unaffected service can be continued as it is compared to a case where all services are terminated as a UPnP device as in the prior art. This can reduce not only the number of multicast packets for service notification but also the number of packets required for executing the event notification re-subscription procedure.

なお、サービスの増減がある場合には、デバイス記述を変更する必要があるので、上記と同様の手順でデバイスの更新通知を行う。ただし、後者の方法を採る場合、従来と同様にデバイスと全サービスを一時停止し、再開することになる。これは、従来方法から拡張したことによる、従来方法との互換性に基づくものである。   When there is an increase or decrease in services, it is necessary to change the device description, so device update notification is performed in the same procedure as described above. However, when the latter method is adopted, the device and all services are temporarily stopped and restarted as in the conventional method. This is based on compatibility with the conventional method by extending from the conventional method.

本実施形態に従いUPnPデバイスのサービスが機能拡張された場合、デバイス記述およびサービス記述を更新する必要があるが、拡張に必要な拡張バス上の拡張装置またはそのサービスが停止した場合、再度、デバイス記述およびサービス記述を更新し、広告する必要がある。   When the service of the UPnP device is expanded according to the present embodiment, it is necessary to update the device description and the service description. However, when the expansion device or the service on the expansion bus necessary for the expansion is stopped, the device description is again updated. And you need to update and advertise the service description.

ここで、拡張装置の接続と離脱が頻繁であって、それに伴ってUPnPデバイス記述とサービス記述の更新と広告が頻繁になる場合を考慮すると、UPnPデバイス記述とサービス記述の更新への対応をUPnPコントロールポイントが常に行う必要がある。これは、UPnPコントロールポイントに高い負荷をかけてしまうし、デバイス記述・サービス記述の変化に応じてアクション呼び出しの内容を調整する必要も生じてしまうことから、UPnPコントロールポイントによるUPnPデバイス記述とサービス記述の更新の頻度、ならびに広告の頻度は、できるだけ抑えることが好ましい。   Here, considering the case where the extension device is frequently connected and disconnected, and the UPnP device description and the service description are frequently updated and advertised accordingly, the response to the UPnP device description and the service description is updated. Control points always need to do. This imposes a heavy load on the UPnP control point, and it also becomes necessary to adjust the contents of the action call according to changes in the device description / service description. Therefore, the UPnP device description and service description by the UPnP control point are required. It is preferable to suppress the update frequency and the advertisement frequency as much as possible.

例えば、次のような手順を採ることができる。
(手順1)拡張装置の離脱が検出される。
(手順2)離脱の検出から一定時間が経過するまで、UPnPデバイス・サービスの更新と広告を保留する。この間に、当該拡張装置へ制御要求を出すべき制御命令要求(SOAPアクション)を受けた場合には、この制御命令要求はエラーとなる。
For example, the following procedure can be taken.
(Procedure 1) The separation of the expansion device is detected.
(Procedure 2) The UPnP device / service update and advertisement are suspended until a predetermined time has elapsed since the detection of the withdrawal. During this time, if a control command request (SOAP action) that should issue a control request to the expansion device is received, this control command request results in an error.

(手順3)離脱の検出から一定時間が経過した場合には、UPnPデバイス・サービスの更新と広告を行う。一定時間が経過する前に、当該拡張装置が再接続すれば、UPnPデバイス・サービスの更新と広告は不要になる。   (Procedure 3) When a predetermined time has passed since the detection of the withdrawal, the UPnP device / service is updated and advertised. If the expansion device is reconnected before the fixed time elapses, UPnP device service update and advertisement are not necessary.

上記では、離脱の検出から一定時間が経過するまでの保留を行ったが、離脱が検出された後、当該拡張装置へ制御要求を出すべき制御命令要求がエラーになってから、一定時間が経過するまでの保留を行う方法なども可能である。   In the above, the suspension is performed until a certain time elapses from the detection of the separation, but after the separation is detected, a certain time has elapsed since the control command request to issue a control request to the expansion device becomes an error. It is also possible to use a method for holding until it is done.

なお、UPnPデバイス1がいったん動作停止している間に拡張装置が離脱し、その後、当該拡張装置が再接続する前に当該UPnPデバイス1が動作再開する場合も、上記と同様の手順を採ることができる。   Note that the same procedure is used when the expansion device is disconnected while the operation of the UPnP device 1 is stopped, and then the operation of the UPnP device 1 is resumed before the expansion device is reconnected. Can do.

以上説明してきたように、本実施形態によれば、ネットワークに接続可能なある単体機器に対して、バス接続され得る拡張装置の着脱によって、単体機器自体のサービス機能の増減を動的に実現することができる。さらに、1個以上の拡張装置との組み合わせによって、各々の機器が提供するサービス同士を連携させることにより、新たなサービスあるいは複数のサービスを組み合わせたより高度なサービスの導出を可能にすることができる。すなわち、拡張装置をバス経由で接続した際に、当該単体機器自身が有するサービス情報を自動的に拡張し、拡張装置を利用可能にする新たな制御能力を加えたサービス情報を生成し、これをネットワーク側へ公開し、ネットワーク接続されたコントローラ機器から制御できるようにすることができる。   As described above, according to the present embodiment, increase / decrease in service functions of a single device itself is dynamically realized by attaching / detaching an expansion device that can be connected to a bus to / from a single device that can be connected to a network. be able to. Furthermore, by combining services provided by each device in combination with one or more extension devices, it is possible to derive a new service or a more advanced service combining a plurality of services. That is, when an expansion device is connected via a bus, the service information of the single device itself is automatically expanded to generate service information with a new control capability that enables the expansion device to be used. It can be disclosed to the network side and controlled from the controller device connected to the network.

例えば、UPnPネットワークに無線通信手段などにより接続された移動ロボットに適用した場合、モニタカメラを追加しただけで、移動ロボットが巡視ロボットとして外部コントローラから利用可能となる他、単腕つきロボットに適用した場合、さらに一本の腕を追加しただけで、新たに両腕で抱える操作を具備するロボットとして利用することが出来るようになり、より高度なサービスを提供することが可能となる。   For example, when applied to a mobile robot connected to a UPnP network by wireless communication means, the mobile robot can be used as a patrol robot from an external controller only by adding a monitor camera. In this case, by adding one more arm, it can be used as a robot having an operation newly held by both arms, and more advanced services can be provided.

なお、以上の各機能は、ソフトウェアとして記述し適当な機構をもったコンピュータに処理させても実現可能である。
また、本実施形態は、コンピュータに所定の手順を実行させるための、あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるためのプログラムとして実施することもできる。加えて該プログラムを記録したコンピュータ読取り可能な記録媒体として実施することもできる。
Each of the above functions can be realized even if it is described as software and processed by a computer having an appropriate mechanism.
The present embodiment can also be implemented as a program for causing a computer to execute a predetermined procedure, causing a computer to function as a predetermined means, or causing a computer to realize a predetermined function. In addition, the present invention can be implemented as a computer-readable recording medium on which the program is recorded.

なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。   Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.

本発明の一実施形態に係るUPnPネットワークの構成例を示す図The figure which shows the structural example of the UPnP network which concerns on one Embodiment of this invention. UPnPデバイスとUPnPコントロールポイントとの間の動作を概略的に説明するための図Diagram for schematically explaining the operation between a UPnP device and a UPnP control point 既存のUPnPデバイスの構成例を示す図A diagram showing a configuration example of an existing UPnP device 同実施形態に係る情報処理装置の構成例を示す図The figure which shows the structural example of the information processing apparatus which concerns on the embodiment 同実施形態に係る情報処理装置の具体例について説明するための図The figure for demonstrating the specific example of the information processing apparatus which concerns on the embodiment コンフィグレーションROM及びunit_directory情報について説明するための図The figure for demonstrating configuration ROM and unit_directory information 同実施形態に係る情報処理装置とUPnPコントロールポイントと拡張装置との動作シーケンスの一例を示す図The figure which shows an example of the operation | movement sequence with the information processing apparatus which concerns on the embodiment, a UPnP control point, and an expansion apparatus 同実施形態における拡張装置が保持するデバイス記述及びサービス記述の構成例を示す図A diagram showing a configuration example of a device description and a service description held by the extension device in the embodiment 同実施形態におけるヒント情報テーブルの一例を示す図The figure which shows an example of the hint information table in the embodiment

符号の説明Explanation of symbols

1…UPnPデバイス、2…UPnPコントロールポイント、3…IPネットワーク4…バス、5〜7…拡張装置、11…デバイス記述・サービス記述、12…SSDP処理部、13…記述取得処理部、14…SOAP処理部、15…SOAPハンドラ、16,17…ハンドラ、18…状態変数管理部、19…GENA処理部、20…拡張装置用デバイス記述サービス記述取得処理部、21…記述マージ形式判定処理部   DESCRIPTION OF SYMBOLS 1 ... UPnP device, 2 ... UPnP control point, 3 ... IP network 4 ... Bus, 5-7 ... Expansion apparatus, 11 ... Device description and service description, 12 ... SSDP processing part, 13 ... Description acquisition processing part, 14 ... SOAP Processing unit 15 ... SOAP handler 16, 17 ... Handler, 18 ... State variable management unit, 19 ... GENA processing unit, 20 ... Expansion device device description service description acquisition processing unit, 21 ... Description merge format determination processing unit

Claims (12)

ネットワーク上に第1のサービス記述を公開するとともに該第1のサービス記述が関連付けられた第1のサービスを提供する情報処理装置において、
第2のサービス記述が関連付けられた第2のサービスを提供する拡張装置を接続するための接続手段と、
前記接続手段により接続された前記拡張装置から前記第2のサービス記述を取得する取得手段と、
取得された前記第2のサービス記述に基づいて前記第1のサービス記述を更新する更新手段と、
更新された第1のサービスのサービス記述を前記ネットワーク上に公開する公開手段とを備えたことを特徴とする情報処理装置。
In an information processing apparatus that publishes a first service description on a network and provides a first service associated with the first service description,
Connection means for connecting an expansion device that provides a second service associated with a second service description;
Obtaining means for obtaining the second service description from the extension device connected by the connecting means;
Updating means for updating the first service description based on the acquired second service description;
An information processing apparatus comprising: an publishing unit that publishes the updated service description of the first service on the network.
前記ネットワーク上に公開された第1のサービスのサービス記述に基づくサービス要求を、前記ネットワークを介して受信する手段と、
受信した前記サービス要求が、前記拡張装置に対する制御を必要とするものである場合に、該サービス要求に基づく制御要求を前記拡張装置へ送信する手段と、
前記拡張装置から前記制御要求に対する制御応答を受信する手段と、
前記サービス要求に対する応答であって前記制御応答に基づくものを、前記ネットワークを介して送信する手段とを更に備えたことを特徴とする請求項1に記載の情報処理装置。
Means for receiving, via the network, a service request based on a service description of a first service published on the network;
Means for transmitting a control request based on the service request to the extension device when the received service request requires control of the extension device;
Means for receiving a control response to the control request from the expansion device;
The information processing apparatus according to claim 1, further comprising means for transmitting a response to the service request based on the control response via the network.
前記更新手段は、取得された前記第2のサービス記述を前記第1のサービス記述に追加するか、又は取得された前記第2のサービス記述で前記第1のサービス記述の対応する部分を置き換えることによって、前記更新を行うことを特徴とする請求項1に記載の情報処理装置。   The updating means adds the acquired second service description to the first service description, or replaces a corresponding part of the first service description with the acquired second service description. The information processing apparatus according to claim 1, wherein the updating is performed. 前記更新手段は、前記第1のサービス記述と、取得された前記第2のサービス記述とに基づいて、新たな第3のサービスのための第3のサービス記述を生成し、該第3のサービス記述により前記第1のサービス記述を更新することを特徴とする請求項1に記載の情報処理装置。   The update means generates a third service description for a new third service based on the first service description and the acquired second service description, and the third service description The information processing apparatus according to claim 1, wherein the first service description is updated with a description. 前記更新手段は、生成された前記第3のサービス記述を前記第1のサービス記述に追加するか、又は生成された前記第3のサービス記述で前記第1のサービス記述の対応する部分を置き換えることによって、前記更新を行うことを特徴とする請求項4に記載の情報処理装置。   The updating means adds the generated third service description to the first service description, or replaces a corresponding part of the first service description with the generated third service description. The information processing apparatus according to claim 4, wherein the updating is performed by the following. 取得された前記第2のサービス記述により前記第1のサービス記述を更新するか、前記第1のサービス記述と前記第2のサービス記述とに基づいて第3のサービス記述を生成し、これにより前記第1のサービス記述を更新するかを判断するための手段を更に備えたことを特徴とする請求項3ないし5のいずれか1項に記載の情報処理装置。   Update the first service description with the acquired second service description, or generate a third service description based on the first service description and the second service description, thereby 6. The information processing apparatus according to claim 3, further comprising means for determining whether to update the first service description. 前記接続手段に新たに接続された拡張装置を検出する検出手段を更に備え、
前記取得手段は、前記検出手段により前記接続手段に新たに接続された拡張装置が検出された場合に、当該検出された拡張装置から前記接続手段を介して当該検出された拡張装置に係る前記第2のサービス記述を取得することを特徴とする請求項1に記載の情報処理装置。
Further comprising detection means for detecting an expansion device newly connected to the connection means;
When the expansion unit newly connected to the connection unit is detected by the detection unit, the acquisition unit includes the first unit related to the detected expansion device from the detected expansion unit via the connection unit. The information processing apparatus according to claim 1, wherein two service descriptions are acquired.
前記検出手段により前記接続手段に新たに接続された拡張装置が検出された場合に、当該検出された拡張装置から前記接続手段を介して当該検出された拡張装置に係る前記第2のサービス記述を取得するための通信プロトコルを示す通信プロトコル情報を取得する手段を更に備え、
前記取得手段は、取得した前記通信プロトコル情報により示される通信プロトコルに従って前記拡張装置から前記前記第2のサービス記述を取得することを特徴とする請求項7に記載の情報処理装置。
When an extension device newly connected to the connection means is detected by the detection means, the second service description relating to the detected extension device is transmitted from the detected extension device via the connection means. Means for obtaining communication protocol information indicating a communication protocol for obtaining;
The information processing apparatus according to claim 7, wherein the acquisition unit acquires the second service description from the extension apparatus according to a communication protocol indicated by the acquired communication protocol information.
前記公開手段は、更新後の前記第1のサービスのサービス記述を全て前記ネットワーク上に公開することを特徴とする請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the publishing unit publishes all the service descriptions of the updated first service on the network. 前記公開手段は、前記第1のサービスのサービス記述の更新前後の差分を前記ネットワーク上に公開することを特徴とする請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the publishing unit publishes the difference between before and after the update of the service description of the first service on the network. ネットワーク上に第1のサービス記述を公開するとともに該第1のサービス記述が関連付けられた第1のサービスを提供する情報処理装置におけるサービス公開方法において、
第2のサービス記述が関連付けられた第2のサービスを提供する拡張装置を接続するための接続ステップと、
前記接続ステップにより接続された前記拡張装置から前記第2のサービス記述を取得する取得ステップと、
取得された前記第2のサービス記述に基づいて前記第1のサービス記述を更新する更新ステップと、
更新された第1のサービスのサービス記述を前記ネットワーク上に公開する公開ステップとを備えたことを特徴とするサービス公開方法。
In a service publishing method in an information processing apparatus for publishing a first service description on a network and providing a first service associated with the first service description,
A connection step for connecting an expansion device that provides a second service associated with a second service description;
An acquisition step of acquiring the second service description from the extension device connected by the connection step;
An updating step of updating the first service description based on the acquired second service description;
A service publishing method comprising: publishing a service description of the updated first service on the network.
ネットワーク上に第1のサービス記述を公開するとともに該第1のサービス記述が関連付けられた第1のサービスを提供する情報処理装置としてコンピュータを機能させるためのプログラムにおいて、
第2のサービス記述が関連付けられた第2のサービスを提供する拡張装置を接続するための接続ステップと、
前記接続ステップにより接続された前記拡張装置から前記第2のサービス記述を取得する取得ステップと、
取得された前記第2のサービス記述に基づいて前記第1のサービス記述を更新する更新ステップと、
更新された第1のサービスのサービス記述を前記ネットワーク上に公開する公開ステップとをコンピュータに実行させることを特徴とするプログラム。
In a program for causing a computer to function as an information processing apparatus that publishes a first service description on a network and provides a first service associated with the first service description,
A connection step for connecting an expansion device that provides a second service associated with a second service description;
An acquisition step of acquiring the second service description from the extension device connected by the connection step;
An updating step for updating the first service description based on the acquired second service description;
A program causing a computer to execute a publication step of publishing the updated service description of the first service on the network.
JP2005015661A 2005-01-24 2005-01-24 Information processor and service disclosure method and program Pending JP2006202210A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005015661A JP2006202210A (en) 2005-01-24 2005-01-24 Information processor and service disclosure method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005015661A JP2006202210A (en) 2005-01-24 2005-01-24 Information processor and service disclosure method and program

Publications (1)

Publication Number Publication Date
JP2006202210A true JP2006202210A (en) 2006-08-03

Family

ID=36960137

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005015661A Pending JP2006202210A (en) 2005-01-24 2005-01-24 Information processor and service disclosure method and program

Country Status (1)

Country Link
JP (1) JP2006202210A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008159024A (en) * 2006-11-28 2008-07-10 Canon Inc Service disclosure suppressing device, method and program
JP2011000742A (en) * 2009-06-16 2011-01-06 Canon Inc Printing device and printing system
WO2011105303A1 (en) 2010-02-23 2011-09-01 日本電気株式会社 Remote control system, remote control method, and remote control program
JP2013008344A (en) * 2011-05-23 2013-01-10 Ricoh Co Ltd Information processing device, power supply control method, and power supply control program
US9047416B2 (en) 2010-02-22 2015-06-02 Nec Corporation Communication control system, switching node, communication control method and communication control program including PCI express switch and LAN interface

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008159024A (en) * 2006-11-28 2008-07-10 Canon Inc Service disclosure suppressing device, method and program
JP2011000742A (en) * 2009-06-16 2011-01-06 Canon Inc Printing device and printing system
US8259332B2 (en) 2009-06-16 2012-09-04 Canon Kabushiki Kaisha Printing apparatus and printing system
US9047416B2 (en) 2010-02-22 2015-06-02 Nec Corporation Communication control system, switching node, communication control method and communication control program including PCI express switch and LAN interface
WO2011105303A1 (en) 2010-02-23 2011-09-01 日本電気株式会社 Remote control system, remote control method, and remote control program
US9088432B2 (en) 2010-02-23 2015-07-21 Nec Corporation Remote control system, remote control method and program for remote control
JP2013008344A (en) * 2011-05-23 2013-01-10 Ricoh Co Ltd Information processing device, power supply control method, and power supply control program

Similar Documents

Publication Publication Date Title
US7539152B2 (en) Service providing apparatus, service providing method, and program
KR100493895B1 (en) Home network device and system for a cooperative work service and method thereof
JP4456095B2 (en) Method and apparatus for handling third device events in a home network
EP2160866B1 (en) Method and apparatus for providing dynamically changed upnp description
US20070162586A1 (en) Middleware device and method of supporting compatibility of devices in home network
US7428574B2 (en) Device cooperation service system and electronic devices included in the system
JP2004505499A (en) Multi-standard home network bridge using server
EP2840741B1 (en) Method and apparatus for using service of home network device based on remote access
JP2003501765A (en) Method for bridging a HAVi partial network and a UPnP partial network and apparatus for performing the method
Kim et al. UPnP-ZigBee internetworking architecture mirroring a multi-hop ZigBee network topology
KR20050040166A (en) Proxy for controlling device of home-network and method thereof
JP2007133881A (en) METHOD AND DEVICE FOR EFFICIENTLY TRANSMITTING/RECEIVING INFORMATION ABOUT UPnP EVENT
JP2006202210A (en) Information processor and service disclosure method and program
KR20050078541A (en) Protocol for monitoring and control of home network devices
KR101434202B1 (en) Method of Receiving/Transmitting Event Message, Controlled Device, and Control Point
CN101785245B (en) Method and apparatus for managing resources of a universal plug and play device based on a connection status of a control point
US20090254679A1 (en) Connection apparatus and method for limiting signal transfer
EP1968245A2 (en) Apparatus and method for device control
KR100952280B1 (en) Protocol for remote controlled-rebooting of Residential Gateway
KR101493692B1 (en) Method of Transmitting/Receiving Event Message, Controlled Device, and Control Point
KR101667049B1 (en) Method and apparatus for restricting the disclosure of network information in remote access service
Liao et al. Community-based autonomous service activation and failure recovery in a message-oriented pervasive middleware
Chun-Feng et al. Community-based Autonomous Service Activation and Failure Recovery in a Message-Oriented Pervasive Middleware

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081022

A131 Notification of reasons for refusal

Effective date: 20090127

Free format text: JAPANESE INTERMEDIATE CODE: A131

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090602