A proxy service providing apparatus includes a service search unit adapted to, upon receiving, from a connection device connectable to a network, a request of a service provided by each device connected to the network, search for a providable service to the connection device in accordance with a relationship with the connection device, and a providing unit adapted to replicate and provide the providable service to the connection device based on a search result of said service search unit.
|
5. A service providing method by a proxy service providing apparatus which connects a plurality of first devices which provide services and a second device which does not directly use the services provided by the plurality of first devices, via a network, the method comprising:
a storing step of storing in a storage unit a first table describing a correspondence relationship between each of the plurality of first devices and a service provided by each of the plurality of first devices, and a second table describing a correspondence relationship between the second device and a service providable to the second device among the services provided by the plurality of first devices;
a determination step of determining a parent-child relationship between the proxy service providing apparatus and the second device based on the second table;
a service searching step of, upon receiving, from the second device, a request for provision of the service provided by each of the plurality of the first devices, searching for the service providable to the second device based on the first table and the second table stored in the storage unit; and
a providing step of replicating the service provided by each of the plurality of first devices and providing a service, corresponding to the service providable to the second device obtained as a search result in the searching step among the replicated services, to the second device based on a determination result in the determination step.
1. A proxy service providing apparatus which connects a plurality of first devices which provide services and a second device which does not directly use the services provided by the plurality of first devices, via a network, comprising:
a storage unit adapted to store a first table describing a correspondence relationship between each of the plurality of first devices and a service provided by each of the plurality of first devices, and a second table describing a correspondence relationship between the second device and a service providable to the second device among the services provided by the plurality of first devices;
a processor including a determination unit adapted to determine a parent-child relationship between the proxy service providing apparatus and the second device based on the second table;
the processor including a service search unit adapted to, upon receiving, from the second device, a request for provision of the service provided by each of the plurality of the first devices, search for the service providable to the second device based on the first table and the second table stored in the storage unit; and
a providing unit adapted to replicate the service provided by each of the plurality of first devices and provide a service, corresponding to the service providable to the second device obtained as a search result of the service search unit among the replicated service, to the second device based on a determination result of the determination unit.
6. A network system comprising a plurality of devices connected to a network,
wherein the plurality of devices include at least one proxy service providing apparatus which connects a plurality of first devices which provide services, and at least one remote control apparatus which does not directly use the services provided by the plurality of first devices, and
wherein the proxy service providing apparatus includes:
a storage unit adapted to store a first table describing a correspondence relationship between each of the plurality of first devices and a service provided by each of the plurality of first devices, and a second table describing a correspondence relationship between the remote control apparatus and a service providable to the remote control apparatus among the services provided by the plurality of first devices;
a processor including a determination unit adapted to determine a parent-child relationship between the proxy service providing apparatus and the remote control apparatus based on the second table;
the processor including a service search unit adapted to search for the service providable to the remote control apparatus based on the first table and the second table stored in the storage unit, and
a providing unit adapted to replicate the service provided by each of the plurality of first devices and provide a service, corresponding to the service providable to the remote control apparatus obtained as a search result of the service search unit among the replicated services, to the remote control apparatus based on a determination result of the determination unit.
2. The apparatus according to
3. The apparatus according to
4. The apparatus according to
7. The system according to
an apparatus search unit adapted to search for the proxy service providing apparatus, and
a request unit adapted to request the proxy service providing apparatus obtained as a search result of the apparatus search unit to provide the service provided by each of the plurality of first devices connected to the network,
wherein the proxy service providing apparatus executes search by the service search unit in accordance with the request by the request unit.
|
1. Field of the Invention
The present invention relates to a proxy service providing apparatus using a plurality of devices connected to a network, a control method, and a network system.
2. Description of the Related Art
There are presently various digital home appliances, and partial networking to connect them has been implemented. For example, P2P (Peer To Peer) networking for a specific purpose is used to, for example, connect digital video recorders via IEEE1394 or connect a digital BS tuner to a D-VHS recorder via a PC. A home automation system using ECHONET executes centralized management of home air conditioning and illumination via a power line or wireless LAN.
The physical network type and connection procedure used for device networking change depending on the devices. To use an IP network, it is necessary to automatically set parameters in an environment without either a DHCP server or DNS server.
The UPnP Forum is pursuing standardization of a protocol to implement, in various physical networks, a function of automatically recognizing and setting devices connected to a network. The protocol is called UPnP (Universal Plug & Play). Use of UPnP allows each device to properly set network parameters by itself even in an environment without either a DHCP server or DNS server so that UPnP supporting devices can be aware of each other's existence, functions, and states.
Referring to
A network connected to UPnP supporting information processing apparatuses as shown in
The UPnP camera 802 to UPnP printer 805 have a UPnP function. These connected devices multicast identification information (SSDP advertise message) to the IP network 806 at a predetermined interval when and after they connect to the IP network 806 and become usable from the CP(a) 801.
The CP(a) 801 searches for a device connected to the IP network 806 (by SSDP discovery message). A connected device matching the search condition replies to the CP(a) of the search source. The identification information (SSDP advertise message) includes the ID number (UUID) of the connected device and a device type indicating the type of the connected device. To newly search for devices and services, the CP(a) 801 designates “ssdp:all” in the ST header of the discovery message in UPnP. Then, all devices shown in
A device incapable of directly accessing and operating devices and services can access them via another device having a capability or knowledge to access the devices and services. For example, in a business phone, a subsidiary unit of a telephone set can access a public network via the master unit. A device in a network can access another device outside the network by using a gateway or a proxy that executes encryption for the device.
Japanese Patent Laid-Open No. 2001-51948 discloses an access control technique of, when a device outside a network requests access to another device in the network, receiving (relaying) the access based on preset access permission conditions or contents.
Japanese Patent Laid-Open No. 2001-346270 discloses a technique related to a home server which has a plurality of pieces of service information to guide the services of a plurality of kinds of home devices and control execution of the services, thereby allowing the user to use the services from a portable device.
The arrangement of the UPnP supporting information processing apparatuses in the network shown in
A CP(a) 212 shown in
When search is done by designating “ssdp:all” in the ST header of the discovery message in UPnP, all devices shown in
In other words, a control point of UPnP supporting information processing apparatuses may be able to search for usable services in the network but be unable to directly operate them. A control point searches for usable services in the network by designating “ssdp:all” in the ST header of the discovery message or designating a device category or service that can be handled by the control point itself.
Even when the CP(a) 801 has only a capability to transmit data but neither capability nor knowledge to receive data, it is impossible to use only the data transmission service in the data transmission/reception service 814.
Additionally, even when the efficiency can be improved by combining,. for example, the data scan service 811 and print service 816 and using them as a new service (copy service), the CP(a) 801 cannot use the combined service.
In a business phone, a device can access and operate other devices and services which cannot directly be accessed and operated by the device. For example, when the main device connects to one to n master units, one to n subsidiary units connected to each master unit can use the service. However, if the master unit is absent, the subsidiary units can do nothing.
Assume that a PHS is usable as a subsidiary unit, and the main device is a public network. If a master unit exists, a private mode is set between the master unit and the subsidiary unit. If no master unit exists or the master unit is far away, the subsidiary unit can operate in a public mode. In this case, however, the master unit and subsidiary unit are connected in the private mode so that the master unit mediates communication of the subsidiary unit. Even when the master unit exists, it is impossible to provide different services to the respective subsidiary units.
Even in Japanese Patent Laid-Open No. 2001-51948, the access control apparatus that receives access permission only relays communication to a service that is present in the network. Therefore, a device that accesses from outside the network can only use the service in the network by using the access control apparatus.
In Japanese Patent Laid-Open No. 2001-346270, a portable device can be used like a remote controller of a home server. However, services guided on the home server are the services of home devices, which do not change from those usable without the home server (when the portable device is in home).
As described above, it is impossible in the prior arts to use only the subset of a device or service that cannot directly be accessed and operated by a device or to use a combined service of a plurality of services.
The present invention provides a technique of allowing a device to use only the subset of a device or service that cannot directly be accessed or operated or use a combined service of a plurality of services.
A proxy service providing apparatus according to one aspect of the present invention includes a service search unit adapted to, upon receiving, from a connection device connectable to a network, a request of a service provided by each device connected to the network, search for a providable service to the connection device in accordance with a relationship with the connection device, and a providing unit adapted to replicate and provide the providable service to the connection device based on a search result of said service search unit.
A control method of a proxy. service providing apparatus according to another aspect of the present invention includes steps of a service searching step of, upon receiving, from a connection device connectable to a network, a request of a service provided by each device connected to the network, searching for a providable service to the connection device in accordance with a relationship with the connection device, and a providing step of replicating and providing the providable service to the connection device based on a search result in the service searching step.
A network system according to still another aspect of the present invention includes a plurality of devices connected to a network, wherein said plurality of devices include at least one proxy service providing apparatus and at least one remote control apparatus, and wherein said proxy service providing apparatus includes a service search unit adapted to search for a providable service to the remote control apparatus from services of the device connected to the network based on a relationship with the remote control apparatus, and a providing unit adapted to replicate and provide the providable service to the remote control apparatus based on a search result of said service search unit.
Further features of the present invention will become apparent from the following description of exemplary embodiments (with reference to the attached drawings).
The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
Preferred embodiments of the present invention will be described with reference to the accompanying drawings.
The program memory stores programs for control by the CPU 902, including the process procedures to be described later with reference to the flowcharts. The memory may be either a ROM 903 or a RAM 904 into which programs are loaded from, for example, an external storage device.
An input device 906 to input information from a user includes a mouse, touch panel, and keyboard or the like. An output device 908 to output analyzed data output information includes a display device such as a CRT or a liquid crystal display device. A VRAM 905 holds contents to be displayed on the display device. A network I/F 907 communicates with another device connected to the network.
In the present embodiment, a control point incapable of directly accessing and operating devices in a network establishes a parent-child relationship (fiduciary relationship) with another control point capable of accessing and operating the devices. With this arrangement, the control point incapable of directly accessing and operating the devices in the network can access and operate them.
The parent CP 1401 establishes a parent-child relationship (fiduciary relationship) 1403 with n control points with restrictions on the operation and access. The n control points include a child CP-1 1411, child CP-2 1412, child CP-3 1413, child CP-4 1414, and child CP-n 14NN. The parent CP 1401 generates a service from the service list 1402 on the IP network 1407 based on child CP connection conditions of the child CP-1 1411 to child CP-n 14NN and provides different services to the respective child CPs. This sequence will be described later in detail.
In the present embodiment, a UPnP camera 1002, UPnP scanner 1003, UPnP personal computer 1004, UPnP printer 1005, and CP(A) 1017 connect to an IP network 1006, as shown in
The CP(A) 1017 may be either a control point capable of using the services of all devices on the IP network 1006, which are shown in a service list 1021, or a control point capable of using only some of them. A process of newly connecting a CP(a) 1001 to the IP network 1006 will be described below. The CP(A) 1017 has a fiduciary relationship 1022 in advance. The fiduciary relationship 1022 also defines a fiduciary relationship 1023 to the CP(a) 1001.
The CP(a) 1001 is a control point capable of using only the reproduction service 1008 of the camera device 1007 of the devices shown in
A control point 130 of a CP(A) 112 can use all services including the reproduction service 106 of the camera device 102 to the data scan service 111 of the scanner device 105. The CP(A) 112 includes a proxy device 115 having a proxy service 116. A parent-child relationship 114 is defined in advance between the CP(A) 112 and a control point CP(a) 113 to be newly added. When the CP(a) 113 connects to the network, the control point 130 creates a replica device 117. More specifically, the control point 130 creates the replica device 117 from the reproduction service 106 to the data scan service 111 usable in the network in accordance with the parent-child relationship 114 by using the proxy service 116 of the CP(A) 112.
In the present embodiment, the replica device 117 includes a camera device 118 having a reproduction service 123, a data device 119 having a data saving service 124 and a data transmission service 125, and a printer device 120 having a print service 126. The replica device 117 also includes a scanner device 121 having a data scan service 127, and a copy device 122 having a print service 128 and a data scan service 129.
The process of creating a replica service will be described.
More specifically, if the parent-child relationship (fiduciary relationship) 114 shown in
Constitution of the system shown in
When the network has the arrangement shown in
Assume that the CP(a) 1001 newly connects to the network. The CP(a) 1001 and CP(A) 1017 need not physically contact each other, as indicated by 601 in
At this time, in step S1201 in
In step S1304, the CP(A) 1017 responds to the search from the CP(a) 1001. In step S1202, the CP(a) 1001 receives the response message from the CP(A) 1017 having the proxy service 1019. The process advances to step S1203. The CP(a) 1001 requests acquisition of the device description of the target device CP(A) 1017. In step S1304, the CP(A) 1017 returns a response to the proxy device description request. The CP(a) 1001 refers to the parent-child relationship 114 (
In step S1307, the CP(A) 1017 activates the replica devices created in step S1306. In step S1308, the CP(A) 1017 notifies (advertises) the network of the replica devices. In step S1309, the CP(A) 1017 notifies CP(a) 1001 of the action source of the replica device creation result. When the CP(A) 1017 creates the replica devices, the CP(a) 1001 advances to step S1207 based on the determination (replica device request result) in step S1206. In step S1207, the CP(a) 1001 searches for operable services by referring to the replica device creation result and operates as a control point to use the replica services created by the CP(A) 1017. The CP(a) 1001 may be reactivated as a control point dedicated to the replica services provided by the CP(A) 1017. From step S1207, a closed network may be formed by the communication 1133 between the CP(a) 1001 and the CP(A) 1117.
When the CP(a) 1001 operates as a control point defining the replica services of the CP(A) 1017 as a category, the network arrangement changes to that shown in
The CP(a) 1001 need not always have a capability to use the replica services provided by the CP(A) 1117. The proxy service providing apparatus may have the capability on behalf of the CP(a) 1001.
In the present embodiment, when a device with restrictions on the access and operation newly connects to a network, a proxy service providing apparatus with a defined parent-child relationship creates a replica service in accordance with the parent-child relationship and provides the service to the device with restrictions on the access and operation. The device with restrictions on the access and operation can use the replica service. It is therefore possible to implement functions more than those obtained by direct access. If no proxy service providing apparatus exists in the network, the service of each device connected to the network can be used based on default restrictions.
The proxy service providing apparatus uses the service of each device connected to the network, and replicates the service of each device connected to the network, combines a plurality of services, and creates a subset service based on the parent-child relationship (fiduciary relationship). Hence, the device with restrictions on the access and operation can use more services than with direct access to a device connected to the network. Additionally, since a plurality of services are combined and provided, the device can efficiently use them as compared to when the target operation is executed by using individual services. Even when a device has, for example, no capability of using the transmission/reception service but a capability of using only the transmission service, that is, the device cannot use a service of certain level, it can use a service of lower (subdivided) level.
Even when the device with restrictions on the access and operation has no capability of using replica services provided by the proxy service providing apparatus, the proxy service providing apparatus provides the capability on behalf of the device. Hence, the device with restrictions on the access and operation can use all replica services provided by the proxy service providing apparatus.
The replica service based on the parent-child relationship mediates communication of commands and responses to the service of each device connected to the network and encodes/decodes the encrypted communication protocol on behalf of the device. The replica service is created by causing the proxy service providing apparatus to replicate all functions of the service. Hence, the operation process from the device with restrictions on the access and operation is done only between the proxy service providing apparatuses. Since no direct communication with each device connected to the network exists, high-level security can be ensured.
When a closed network is formed between the proxy service providing apparatuses, the operation process (action) from the device with restrictions on the access and operation can be prevented from being sent to the whole network. This also ensures high-level security.
Another embodiment will be described next, in which a digital camera can use more services when it is used together with a display having a parent-child relationship (fiduciary relationship).
The device category of the display A 401 includes a display device and a proxy device. The display A 401 has a reproduction service and a proxy service.
The display A 401 has a parent-child relationship (fiduciary relationship) 403 to provide a proxy service of “reproduction, data saving, and data transmission” to a device “digital camera B”.
The display A 401 also has a control point function and can use the service of each device present in the network. In this embodiment, the display A 401 can use services on a service list 402. The display A 401 can use the reproduction service provided by the display device included in itself, and the data saving service and data transmission service provided by the data device included in the hard disk recorder A 406.
The device category of the digital camera A 404 is a camera device. The digital camera A 404 has a photographing service.
The digital camera A 404 also has a control point function and can use the service of each device present in the network. In the present embodiment, the digital camera A 404 can use services on a service list 405. The digital camera A 404 can use the reproduction service provided by the display device included in the display A 401, and the photographing service provided by the camera device included in itself.
Assume that the digital camera A 404 newly connects to the network shown in
When the network has the arrangement shown in
Assume that the digital camera A 404 newly connects to the network. At this time, in step S1201 in
In step S1304, the display A 401 responds to the search from the digital camera A-404. In step S1202, the digital camera A 404 receives the response message from the display A 401 having the proxy service. The process advances to step S1203. The digital camera A 404 requests acquisition of the device description of the display A 401. The display A 401 returns a response to the proxy device description request (step S1304). The digital camera A 404 refers to the parent-child relationship 403. Since no parent-child relationship is defined between the digital camera A 404 and the display A 401, the digital camera A 404 determines that the replication function to provide the replica service of the display A 401 is invalid. In step S1208, the digital camera A 404 searches for a default service so that the services (the reproduction service of the display device and the photographing service of the camera device) on the service list 405 can be used.
Next, assume that a digital camera B 504 newly connects to the network in place of the digital camera A 404, as shown in
The digital camera B 504 also has a control point function and can use the service of each device present in the network. In the present embodiment, the digital camera B 504 can use services on a service list 505. The digital camera B 504 can use a reproduction service provided by a general display device, and the photographing service provided by the camera device included in itself, without being dependent on the Proxy service.
When the network has the arrangement shown in
Assume that the digital camera B 504 newly connects to the network. At this time, in step S1201 in
In step S1304, the display A 401 responds to the search from the digital camera B 504. In step S1202, the digital camera B 504 receives the response message from the display A 401 having the proxy service. The process advances to step S1203. The digital camera B 504 requests acquisition of the device description of the display A 401. In step S1304, the display A 401 returns a response to the proxy device description request. The digital camera B 504 refers to the parent-child relationship 403 defined between itself and the display A 401 and determines that the replication function of the display A 401 to provide a replica service is valid. The process advances to step S1205. In step S1205, the digital camera B 504 issues a replica device creation request to the display A 401. In step S1305, the display A 401 refers to the parent-child relationship 403 with respect to the action source (digital camera B 504) and creates replica devices (step S1306). More specifically, as the function of the proxy service, the display A 401 creates replica devices from the service list 402 usable in the network in accordance with the parent-child relationship 403 by using a control point. When the replica devices are created, the digital camera B 504 can use the services (the reproduction service of the display device, the data saving service and data transmission service of the data device) on a service list 507.
As shown in
When the digital camera B 504 connects to the network, usable services are the reproduction service of the display device and the photographing service of the camera device, as indicated by a service list 705. Hence, a menu 706 is displayed on the digital camera B 504.
In the present embodiment, when a device with restrictions on the access and operation newly connects to a network, a proxy service providing apparatus with a defined parent-child relationship creates a replica service in accordance with the parent-child relationship and provides the service to the device with restrictions on the access and operation. The device with restrictions on the access and operation can use the replica service. It is therefore possible to implement functions more than those obtained by direct access. Additionally, even devices having the same device category and capability can use different services based on the definition of the parent-child relationship. This raises the security level.
The present invention can also be achieved by supplying a storage medium which records software program codes for implementing the functions of the above-described embodiments to a system or apparatus and causing the computer of the system or the like to read out and execute the program codes stored in the storage medium.
In this case, the program codes read out from the storage medium implement the functions of the above-described embodiments by themselves, and the program codes themselves and the storage medium which stores the program codes constitute the present invention.
Examples of the storage medium to supply the program codes are a flexible disk, hard disk, optical disk, magnetooptical disk, CD-ROM, CD-R, magnetic tape, nonvolatile memory card, and ROM.
The functions of the above-described embodiments are also implemented when the OS running on the computer partially or wholly executes actual processing based on the instructions of the program codes read out by the computer.
The functions of the above-described embodiments are also implemented when the program codes read out from the storage medium are written in the memory of a function expansion unit connected to the computer, and the CPU executes actual processing based on the instructions of the program codes.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2006-106501, filed Apr. 7, 2006, which is hereby incorporated by reference herein in its entirety.
Yamamoto, Naoko, Mori, Shigeki, Munekuni, Masaji
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
6574678, | Feb 27 1998 | Nokia Mobile Phones Ltd. | Method for installing services |
7209915, | Jun 28 2002 | Microsoft Technology Licensing, LLC | Method, system and apparatus for routing a query to one or more providers |
20050165912, | |||
20060167969, | |||
20060212935, | |||
JP2001051948, | |||
JP2001346270, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Apr 02 2007 | YAMAMOTO, NAOKO | Canon Kabushiki Kaisha | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 019121 | /0883 | |
Apr 02 2007 | MUNEKUNI, MASAJI | Canon Kabushiki Kaisha | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 019121 | /0883 | |
Apr 03 2007 | MORI, SHIGEKI | Canon Kabushiki Kaisha | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 019121 | /0883 | |
Apr 05 2007 | Canon Kabushiki Kaisha | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Aug 26 2015 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Aug 30 2019 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Oct 30 2023 | REM: Maintenance Fee Reminder Mailed. |
Apr 15 2024 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Mar 13 2015 | 4 years fee payment window open |
Sep 13 2015 | 6 months grace period start (w surcharge) |
Mar 13 2016 | patent expiry (for year 4) |
Mar 13 2018 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 13 2019 | 8 years fee payment window open |
Sep 13 2019 | 6 months grace period start (w surcharge) |
Mar 13 2020 | patent expiry (for year 8) |
Mar 13 2022 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 13 2023 | 12 years fee payment window open |
Sep 13 2023 | 6 months grace period start (w surcharge) |
Mar 13 2024 | patent expiry (for year 12) |
Mar 13 2026 | 2 years to revive unintentionally abandoned end. (for year 12) |