Information processing apparatus and control method thereof, service providing apparatus and control method thereof, information processing system, information processing method, program, and recording medium

An information processing apparatus that provides a proxy for a service that a service providing apparatus provides to a control apparatus, the information processing apparatus includes: a first communications unit adapted to connect to a first communications path; a second communications unit adapted to connect to a second communications path; a first determination unit adapted to determine whether or not the providing apparatus exists via the first communications unit; a second determination unit adapted to determine whether or not the providing apparatus exists via the second communications unit; a connection unit adapted to connect to the providing apparatus via the second communications unit; and a proxy unit adapted to connect to the control apparatus via the first communications unit, and provide a proxy for a service between the providing apparatus and the control apparatus.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an information processing apparatus and a control method thereof, a service providing apparatus and a control method thereof, an information processing system, an information processing method, a program, and a recording medium.

2. Description of the Related Art

Recently, attention has been focused on UPnP (Universal Plug and Play), whereby it is possible to discover and use a household device by employing plug and play technology. In UPnP, there exists a UPnP service that provides a service and a UPnP control point that uses the service.

When connected to a network, the UPnP service publishes the content of the service on the network, and is required to always receive processing from the UPnP control point. Technology referred to as a UPnP Low Power Device is known, in which the UPnP service is put to sleep when not used.

Also, a configuration is known in which, in consideration of the fact that the UPnP control point cannot discover a UPnP service that is already sleeping, a description of the UPnP service is transmitted by proxy (see Japanese Patent Laid-Open No. 2006-260425).

However, in the conventional technology, because the UPnP service is connected over the network, there is the problem that the UPnP service is discovered from nodes other than the UPnP control point. Moreover, because the UPnP service receives and executes an activation message that releases the sleep state from any UPnP control point, this technology is not secure.

SUMMARY OF THE INVENTION

The present invention was made in view of the above problems, and aims to provide technology whereby security is increased when providing a service.

According to one aspect of the present invention, an information processing apparatus that provides a proxy for a service that a service providing apparatus provides to a control apparatus, the information processing apparatus includes: a first communications unit adapted to connect to a first communications path; a second communications unit adapted to connect to a second communications path; a first determination unit adapted to determine whether or not the providing apparatus exists via the first communications unit; a second determination unit adapted to determine whether or not the providing apparatus exists via the second communications unit; a connection unit adapted to connect to the providing apparatus via the second communications unit; and a proxy unit adapted to connect to the control apparatus via the first communications unit, and provide a proxy for a service between the providing apparatus and the control apparatus.

According to another aspect of the present invention, a providing apparatus that provides a service to a control apparatus, the providing apparatus includes: a first communications unit adapted to connect to a first communications path; a second communications unit adapted to connect to a second communications path; and a switching unit adapted to, when a proxy function has been published via the first communications path from an information processing apparatus that provides a proxy for a service, switch providing of a service to the control apparatus via the first communications path to providing of a service to the information processing apparatus via the second communications path.

According to still another aspect of the present invention, an information processing system having a control apparatus, a providing apparatus that provides a service to the control apparatus, and an information processing apparatus that provides a proxy for the service, the information processing apparatus includes: a first communications unit adapted to connect to a first communications path; a second communications unit adapted to connect to a second communications path; a first determination unit adapted to determine whether or not the providing apparatus exists via the first communications unit; a second determination unit adapted to determine whether or not the providing apparatus exists via the second communications unit; a connection unit adapted to connect to the providing apparatus via the second communications unit; and a proxy unit adapted to connect to the control apparatus via the first communications unit, and provide a proxy for a service between the providing apparatus and the control apparatus.

According to yet another aspect of the present invention, a method for controlling an information processing apparatus that provides a proxy for a service that a service providing apparatus provides to a control apparatus, the method includes: a first determination step of determining whether or not the providing apparatus exists via a first communications unit for connecting to a first communications path; a second determination step of determining whether or not the providing apparatus exists via a second communications unit for connecting to a second communications path; a connection step of connecting to the providing apparatus via the second communications unit; and a proxy step of connecting to the control apparatus via the first communications unit, and providing a proxy for a service between the providing apparatus and the control apparatus.

According to still yet another aspect of the present invention, a method for controlling a providing apparatus that provides a service to a control apparatus, the method includes: a switching step of, when a proxy function has been published via a first communications path from an information processing apparatus that provides a proxy for a service, switching providing of a service to the control apparatus via the first communications path to providing of a service to the information processing apparatus via a second communications path.

DESCRIPTION OF THE EMBODIMENTS

Following is a detailed description of embodiments of the present invention with reference to the attached drawings. However, the constituent elements described in these embodiments are to be considered in all respects as illustrative and not limiting of the scope of the invention. Not all combinations of features described in these embodiments are essential to achieving the aims of the invention.

First Embodiment

A first embodiment of the present invention will be described with reference to the attached drawings.FIG. 1shows the network configuration of an information processing system (network system) according to the present embodiment.

A LAN100is a network that serves as an information transmission path, and is a LAN (Local Area Network) that is used as a first communications path. The LAN100is not limited to being a LAN, and may also be a WAN (Wide Area Network) or a combination of a LAN and a WAN. In the present embodiment, a wireless LAN is used as the LAN100, but this is not a limitation. For example, an ad-hoc network, a wired LAN, Bluetooth (registered trademark), Zigbee, UWB, or the like may also be used.

A proxy service apparatus101is an information processing apparatus that has a proxy function of providing a proxy for (relaying) a UPnP service connected to the LAN100. In the present embodiment, an example is described in which the service is a UPnP service, but of course this description is likewise applicable to a service whereby remote operation is performed, or a combination of those services.

A UPnP service providing apparatus102is an apparatus that is connected to the LAN100and has a function of providing a UPnP service. A UPnP control point apparatus103is a control apparatus that is connected to the LAN100, and has a function of receiving and operating a UPnP service.

A Bluetooth network104is a network with a Bluetooth connection between the proxy service apparatus101and the UPnP service providing apparatus102, and functions as a second communications path in the present embodiment. Bluetooth is used in the Bluetooth network104, but this is not a limitation; for example, the network104may also be configured using an ad-hoc network, a wired LAN, a wireless LAN, ZigBee network, or UWB.

In the present embodiment, different communications units are used in the LAN100and the Bluetooth network104, but this is not a limitation. That is, a configuration may also be adopted in which the LAN100and the Bluetooth network104employ the same communications unit but different parameters, modes, or the like.

In the present embodiment, a UPnP service that was directly provided from the UPnP service providing apparatus102to the UPnP control point apparatus103via the LAN100is switched so as to be provided via the Bluetooth network104and the proxy service apparatus101. Thus, it is possible to eliminate unauthorized operation (such as waking from sleep) of the UPnP service providing apparatus102from a malicious apparatus connected to the LAN100.

(Hardware Configuration of Proxy Service Apparatus)

FIG. 2shows the hardware configuration of the proxy service apparatus101according to the present embodiment. In the present embodiment, the proxy service apparatus101is realized with a computer system such as a PC (personal computer), a workstation, a notebook PC, or a palmtop PC. However, the proxy service apparatus101can also be realized by various household electronics products such as a television with a built-in computer, a game device having a communications function, or a terminal having a communications function for communications with another network control apparatus such as a portable telephone or a PHS handset, or can be realized by a combination of these devices.

Reference numeral201denotes a central processing apparatus (referred to below as a CPU) that is responsible for control of the computer system. Reference numeral202denotes a random access memory (a writable memory, referred to below as a RAM) that functions as a main memory of the CPU201, and serves as an area for executed programs or an execution area for those programs, and also serves as a data area.

Reference numeral203denotes a read-only memory (referred to below as a ROM) where operational processing procedures of the CPU201are recorded. The ROM203includes a program ROM, where basic software (OS), which is a system program that executes device control of the computer system, is recorded, and a data ROM, where information necessary for operating the system and the like is recorded. An HDD209described below may be used instead of the RAM202and the ROM203. Various operations described below are executed by the CPU201executing a program stored on a computer-readable recording medium such as the ROM203.

Reference numeral204denotes a network interface (referred to below as a NETIF). The NETIF204performs control for transmitting data between computer systems via the network, and performs diagnosis of connection status. The NETIF functions as a first communications unit for connecting to the LAN100(the first communications path), and as a second communications unit for connecting to the Bluetooth network (the second communications path).

Reference numeral205denotes a video RAM (referred to below as a VRAM) that opens an image displayed in a screen of a CRT206described below that shows the operating status of the computer system, and controls that display. Reference numeral206denotes a display apparatus that displays processing results and the like of the computer system, and for example, is a display such as a CRT (cathode ray tube) display or a liquid crystal panel display. Below, this display is referred to as a CRT.

Reference numeral207denotes a controller that controls input signals from an external input apparatus208. Below, this controller is referred to as a KBC (keyboard controller). Reference numeral208denotes an external input apparatus for receiving operation of the computer system by a user of the computer system, and for example, is a keyboard or the like. Below, this external input apparatus is referred to as a KB.

Reference numeral209denotes a storage apparatus that, for example, is a hard disk or the like. This storage apparatus is used for storing data such as application programs and image information. Below, this storage apparatus is referred to as an HDD209. Reference numeral210denotes an external input/output apparatus that performs input/output for a removable drive, for example such as a flexible disk drive (FDD) or a CD-ROM drive, and is used for performing reading out and so forth from the medium of the above application programs. Below, this external input/output apparatus is referred to as an FDD. Application programs or data stored in the HDD209can also be used by being stored in the FDD210. Reference numeral200denotes an input/output bus (address bus, data bus, and control bus) for connecting between the units described above.

In the present embodiment, the UPnP service providing apparatus102is described as a digital camera.FIG. 3shows the configuration of the UPnP service providing apparatus102. The UPnP service providing apparatus102is not limited to being a digital camera, and can be realized as any sort of terminal having a communications function for communicating with a network control apparatus. For example, the UPnP service providing apparatus102can be realized with a PC, a workstation, a notebook PC, a palmtop PC, various household electronics products such as a television with a built-in computer, a game device having a communications function, a portable telephone, a PHS handset, or a combination of these devices.

In the UPnP service providing apparatus102, reference numeral300denotes a capture unit that captures an optical image of a subject. Reference numeral301denotes an image processing unit that converts a captured image that has been output from the capture unit300to image data of a predetermined format, and adds transparency data to the image data.

Reference numeral302denotes an encoding/decoding unit that performs predetermined high-efficiency encoding (for example, variable length encoding after DCT conversion and quantization) of image data that has been output from the image processing unit301. The encoding/decoding unit302also performs decompression and decoding of reproduced compressed image data from a recording/reproduction unit303, and supplies that image data to the image processing unit301.

Reference numeral303denotes a recording/reproduction unit that records and/or reproduces compressed and encoded image data to/from an unshown recording medium, and reference numeral304denotes an operation unit that instructs processing operations in the UPnP service providing apparatus102. Reference numeral305denotes a control unit that controls operation of the respective processing units that constitute the UPnP service providing apparatus102. The control unit305is provided with a microcomputer and a memory where predetermined program code can be stored, and performs processing and various operations described below related to the UPnP service.

Reference numeral306denotes a display unit that uses an EVF (electronic viewfinder), a liquid crystal panel, or the like to display an image that has been captured by the capture unit300. Reference numeral307denotes an interface via which image data captured by the capture unit300is communicated.

Reference numeral308denotes a ROM where information related to the functionality of the UPnP service providing apparatus102is stored. The UPnP service providing apparatus102in the present embodiment, for example, performs compression/encoding using JPEG (Joint Photographic Experts Group) format as technology for encoding image data.

Reference numeral309denotes a network interface (NETIF). The NETIF309performs control for transmitting data to/from the information processing apparatus via the network, and performs diagnosis of connection status.

(Module Configuration of Proxy Service Apparatus)

FIG. 4Ashows the module configuration of the proxy service apparatus101of the present embodiment. Reference numeral401denotes a wireless LAN control unit that serves as a first communications unit, is connected to the LAN100, and performs wireless LAN communications processing and TCP/IP communications processing. Reference numeral402denotes a Bluetooth control unit that serves as a second communications unit, is connected to the Bluetooth network104, and performs Bluetooth communications processing and TCP/IP communications processing.

Reference numeral403denotes an SSDP processing unit that receives corresponding packets from the wireless LAN control unit401and the Bluetooth control unit402, and performs SSDP processing. Here, SSDP is an abbreviation of Simple Service Discovery Protocol, and is a protocol whereby a UPnP device on a network is searched for/discovered. The SSDP processing unit403uses SSDP to discover a service, respond to discovery of the service, advertise the service, and so forth. In the present embodiment, SSDP is used, but this is not a limitation; the invention can also be realized using another technique, such as a WS-Discovery web service.

Reference numeral404denotes a SOAP processing unit that receives corresponding packets from the wireless LAN control unit401and the Bluetooth control unit402, and performs SOAP processing. Here, SOAP is an abbreviation of Simple Object Access Protocol, and is a protocol for exchanging messages (objects) between pieces of software. The SOAP processing unit404uses SOAP to execute services, receive services, and so forth. In the present embodiment, SOAP is used, but this is not a limitation; the invention can also be realized using another technique whereby a remote object is executed, such as a remote procedure call (RPC).

Reference numeral405denotes a GENA processing unit that receives corresponding packets from the wireless LAN control unit401and the Bluetooth control unit402, and performs GENA processing. Here, GENA is an abbreviation of General Event Notification Architecture, and is a protocol for performing control of event information. GENA is used to perform event notification, event subscription, and so forth. In the present embodiment, GENA is used, but this is not a limitation; the invention can also be realized using another technique, such as WS-Eventing or WS-Notification.

Reference numeral406denotes a proxy control unit. The proxy control unit406manages the SSDP processing unit403, the SOAP processing unit404, and the GENA processing unit405, and judges whether to provide a proxy for a service.

Reference numeral407denotes a proxy processing unit that creates a message for providing a proxy for a discovered service, and so forth. In the present embodiment, the proxy processing unit407provides a proxy for UPnP processing, but this is not a limitation; a proxy may be provided for a combination of the various functions described up to this point. In the present embodiment a proxy method is adopted in which after once receiving all UPnP services, the proxy processing unit407again transmits a service, but this is not a limitation; a proxy may be provided by rewriting a message (rewriting an IP address or the like). Also, the proxy processing unit407may hold a cache related to information regarding services of the UPnP service providing apparatus102.

Reference numeral408denotes a UUID judging unit that judges whether or not a UUID of a service discovered via the wireless LAN control unit matches the UUID of a service discovered via the Bluetooth control unit. UUID is an abbreviation of Universal Unique Identifier. In the present embodiment, a configuration is described in which a proxy is provided for a UPnP service, so the UUID judging unit408judges a UUID, but this is not a limitation; another unique identifier may be judged.

Reference numeral409denotes a UUID storage unit. The UUID storage unit409manages the UUIDs of services discovered via the wireless LAN control unit and the UUIDs of services discovered via the Bluetooth control unit.

(Module Configuration of UPnP Service Providing Apparatus)

FIG. 5Ashows the module configuration of the UPnP service providing apparatus102of the present embodiment. Reference numeral501denotes a wireless LAN control unit that is connected to the LAN100, and performs wireless LAN communications processing and TCP/IP communications processing. Reference numeral502denotes a Bluetooth control unit that is connected to the Bluetooth network104, and performs Bluetooth communications processing and TCP/IP communications processing.

Reference numeral503denotes an SSDP processing unit that receives corresponding packets from the wireless LAN control unit501and the Bluetooth control unit502, and performs SSDP processing. The SSDP processing unit503uses SSDP to discover a service, respond to discovery of the service, advertise the service, and so forth. In the present embodiment, SSDP is used, but this is not a limitation; the invention can also be realized using another technique, such as WS-Discovery.

Reference numeral504denotes a SOAP processing unit that receives corresponding packets from the wireless LAN control unit501and the Bluetooth control unit502, and performs SOAP processing. The SOAP processing unit504uses SOAP to execute services, receive services, and so forth. In the present embodiment, SOAP is used, but this is not a limitation; the invention can also be realized using another technique whereby a remote object is executed, such as a remote procedure call.

Reference numeral505denotes a GENA processing unit that receives corresponding packets from the wireless LAN control unit501and the Bluetooth control unit502, and performs GENA processing. The GENA processing unit505uses GENA to perform event notification, event subscription, and so forth. In the present embodiment, GENA is used, but this is not a limitation; the invention can also be realized using another technique, such as WS-Eventing or WS-Notification.

Reference numeral506denotes a service control unit. The service control unit506manages the SSDP processing unit503, the SOAP processing unit504, and the GENA processing unit505, and performs UPnP processing.

(Processing to Start Providing Service in Proxy Service Apparatus)

FIG. 6is a flowchart that shows the flow of processing to start a proxy service in the proxy service apparatus101. The proxy service apparatus101and the UPnP service providing apparatus are connected to only the LAN100.

In Step S601, the proxy control unit406decides to search for a UPnP service providing apparatus102. The proxy control unit406makes a request to the SSDP processing unit403to search for a UPnP service providing apparatus102on the LAN100. The SSDP processing unit403transmits an SSDP m-search message to search for a UPnP service providing apparatus102on the LAN100via the wireless LAN control unit401. When the SSDP m-search message is received, the UPnP service providing apparatus102responds with an SSDP response message to the proxy service apparatus101. The SSDP processing unit403receives the SSDP response message from the UPnP service providing apparatus102via the wireless LAN control unit401. Thus, the SSDP processing unit403is able to discover a UPnP service providing apparatus102. The SSDP processing unit403transmits the results of the search for a UPnP service providing apparatus102to the proxy control unit406. When the proxy control unit406judges from the results of the search for a UPnP service providing apparatus102that a UPnP service providing apparatus102was discovered (YES in Step S601), the proxy control unit406saves the UUID of the UPnP service providing apparatus102in the UUID storage unit409, and processing proceeds to Step S602. When the proxy control unit406judges from the results of the search for a UPnP service providing apparatus102that a UPnP service providing apparatus102has not been discovered (NO in Step S601), processing ends. The SSDP processing unit403may also discover a UPnP service providing apparatus102by receiving an SSDP alive message from the UPnP service providing apparatus102.

In Step S602, the proxy control unit406makes a request to the SOAP processing unit404to transmit a confirmation message confirming whether or not a UPnP service proxy is necessary to the UPnP service providing apparatus102. The SOAP processing unit404transmits the confirmation message to the UPnP service providing apparatus102on the LAN100via the wireless LAN control unit401. The UPnP service providing apparatus102judges whether or not a proxy is necessary, and sends a response with the result of that judgment. The SOAP processing unit404receives the result from the UPnP service providing apparatus102, and transmits the result to the proxy control unit406. Based on the result, the proxy control unit406judges whether or not a proxy is necessary for the UPnP service providing apparatus102. When the proxy control unit406judges that a proxy is necessary for the UPnP service providing apparatus102(YES in Step S602), processing proceeds to Step S603. When the proxy control unit406judges that a proxy is not necessary for the UPnP service providing apparatus102(NO in Step S602), processing ends.

In Step S603, the proxy control unit406transmits parameters for connecting to the Bluetooth network104to the SOAP processing unit404. The SOAP processing unit404transmits the parameters to the UPnP service providing apparatus102via the wireless LAN control unit401, and processing proceeds to Step S604.

In Step S604, the proxy control unit406performs processing to start a connection to the Bluetooth network104using the Bluetooth control unit402. Then, processing proceeds to Step S605.

In Step S605, the proxy control unit406judges whether or not a connection with the UPnP service providing apparatus102has been established via the Bluetooth control unit402. When the proxy control unit406judges that a connection has been established (YES in Step S605), processing proceeds to Step S606. When the proxy control unit406judges that a connection has not been established (NO in Step S605), processing ends.

When a connection via Bluetooth is established, the UPnP service providing apparatus102transmits a byebye message indicating to end communications for a connection via the wireless LAN (indicating to disconnect from the LAN100). Therefore, in Step S606, the proxy control unit406of the proxy service apparatus101judges the SSDP byebye message received by the SSDP processing unit403from the LAN100via the wireless LAN control unit401. The proxy control unit406judges whether or not an SSDP byebye message matching the UUID of the UPnP service providing apparatus102stored in the UUID storage unit409was received. When the proxy control unit406judges that the received byebye message is a byebye message of the UPnP service providing apparatus102(YES in Step S606), processing proceeds to Step S607. When the proxy control unit406judges that the received byebye message is not a byebye message of the UPnP service providing apparatus102(NO in Step S606), processing ends. Next is a description of a case in which a byebye message has been received before the proxy control unit406executes processing. In this case, because the SSDP processing unit403manages SSDP alive/byebye of the UPnP service providing apparatus102, it is possible to judge that a byebye message has been received.

In Step S607, the proxy control unit406makes a request to the SSDP processing unit403to search for a UPnP service providing apparatus102on the Bluetooth network104. The SSDP processing unit403uses an SSDP m-search message to search for a UPnP service providing apparatus102via the Bluetooth control unit402. The SSDP processing unit403transmits the search results to the proxy control unit406. The proxy control unit406uses the UUID judging unit408to judge whether or not there is a UUID that matches a UUID stored in the UUID storage unit409. When judged that there is a matching UUID, the proxy control unit406judges that a UPnP service providing apparatus102has been discovered. When the proxy control unit406judges that a UPnP service providing apparatus102has been discovered (YES in Step S607), processing proceeds to Step S608. When the proxy control unit406judges that a UPnP service providing apparatus102has not been discovered (NO in Step S607), processing ends. A UPnP service providing apparatus102may also be discovered by the SSDP processing unit403receiving an SSDP alive message from the UPnP service providing apparatus102. Also, a UPnP service providing apparatus102may be discovered by the proxy control unit406causing the SSDP processing unit403to execute an SSDP m-search using a UUID stored in the UUID storage unit409as a key.

In Step S608, the proxy control unit406makes a request to the proxy processing unit407for a UPnP service proxy for the UPnP service providing apparatus102, and then processing ends. The proxy processing unit407uses the SSDP processing unit403, the SOAP processing unit404, and the GENA processing unit405to provide a UPnP service proxy only in cases where the UUID stored in the UUID storage unit409has ‘yes’ entered regarding whether to provide a proxy. Here, the same UUID as the UUID of the UPnP service providing apparatus is used. The proxy processing unit407performs processing as a UPnP control point on the Bluetooth network104side, and performs processing as a UPnP service on the LAN100side.

FIG. 6illustrates a case in which the same UUID is used when performing UPnP service proxy processing, but this is not a limitation. For example, different UUIDs can be used when mapping is used in the proxy service apparatus101.

FIG. 7Ashows example entries in the UUID storage unit409in Step S601inFIG. 6. InFIG. 7A, reference numeral701denotes a UUID for an apparatus or a service, and reference numeral702denotes a network to which the corresponding apparatus or service is currently connected. Reference numeral703denotes the status of the apparatus or service that is identified by the UUID701, and reference numeral704is information related to whether or not to provide a proxy service. In the example inFIG. 7A, uuid:98765432-1234-abcd-1234-000011112222 corresponds to a UPnP device that has been connected to the LAN100, and a proxy service will not be provided. uuid:816c5df0-c2ed-11da-9216-0008741e9395 corresponds to a UPnP service providing apparatus102, and whether or not to provide a proxy service is unknown.

FIG. 7Bshows an example entry in the UUID storage unit409when a proxy is necessary, in Step S602inFIG. 6. In this entry, yes is indicated in the proxy service item for the uuid:816c5df0-c2ed-11da-9216-0008741e9395 corresponding to the UPnP service providing apparatus102, and so a proxy service will be provided.

FIG. 7Cshows an example entry in the UUID storage unit409when a byebye message for the UPnP service providing apparatus102has been received, in Step S606inFIG. 6. In this entry, byebye is indicated in the item703regarding the status of the uuid:816c5df0-c2ed-11da-9216-0008741e9395 corresponding to the UPnP service providing apparatus102, and so the apparatus has been disconnected from the LAN100.

FIG. 7Dshows an example entry in the UUID storage unit409when an alive message for the UPnP service providing apparatus102has been received, in Step S607inFIG. 6. The uuid:816c5df0-c2ed-11da-9216-0008741e9395 corresponding to the UPnP service providing apparatus102has been discovered on the Bluetooth network104, and added to the entries (1001).

Thus, by managing entries, it is understood that the UPnP service providing apparatus102connected to the LAN100is the same as the UPnP service providing apparatus102connected to the Bluetooth network104. An entry in which a byebye state is indicated may be deleted after a fixed period of time.

(Processing to Start Providing Service in UPnP Service Providing Apparatus)

Next is a description of processing to start providing service in the UPnP service providing apparatus102, with reference toFIG. 8.FIG. 8is a flowchart that shows the flow of processing to start providing service in the UPnP service providing apparatus102.

In Step S1101, the service control unit506uses the SOAP processing unit504to receive a proposed UPnP service proxy from the proxy service apparatus101via the wireless LAN control unit501. The proposed UPnP service proxy is the proxy transmitted in Step S602in the proxy service apparatus101. When the service control unit506has judged to make a request to the proxy service apparatus101for a UPnP service proxy (YES in Step S1101), processing proceeds to Step S1102. When the service control unit506has judged to not make a request to the proxy service apparatus101for a UPnP service proxy (NO in Step S1101), processing ends.

In Step S1102, the service control unit506uses the SOAP processing unit504to receive parameters of the Bluetooth network104from the proxy service apparatus101via the wireless LAN control unit. The service control unit506saves the parameters of the Bluetooth network104in a storage area, and processing proceeds to Step S1103. The parameters of the Bluetooth network104are the parameters that were transmitted by the proxy service apparatus101in Step S603inFIG. 6.

In Step S1103, the service control unit506uses the Bluetooth control unit502to start a connection to the Bluetooth network104. Then, processing proceeds to Step S1104.

In Step S1104, the service control unit506uses the Bluetooth control unit502to confirm whether or not the UPnP service providing apparatus102has been connected to the proxy service apparatus101via the Bluetooth network104. When the service control unit506judges that the UPnP service providing apparatus102has been connected to the proxy service apparatus101via the Bluetooth network104(YES in Step S1104), processing proceeds to Step S1105. When the service control unit506judges that the UPnP service providing apparatus102is not connected to the proxy service apparatus101via the Bluetooth network104(NO in Step S1104), processing ends.

In Step S1105, the service control unit506makes a request to the SSDP processing unit503, the SOAP processing unit504, and the GENA processing unit505to stop functionality related to the UPnP service published to the LAN100. The SSDP processing unit503transmits an SSDP byebye message to the LAN100via the wireless LAN control unit501. The SOAP processing unit504stops SOAP processing for the LAN100via the wireless LAN control unit501. The GENA processing unit505stops GENA processing for the LAN100via the wireless LAN control unit501. When the service control unit506judges that functionality related to the UPnP service published to the LAN100has stopped, processing proceeds to Step S1106.

In Step S1106, the service control unit506makes a request to the SSDP processing unit503, the SOAP processing unit504, and the GENA processing unit505to publish the UPnP service to the Bluetooth network104. After receiving the request, the SSDP processing unit503transmits an SSDP alive message to the Bluetooth network104via the Bluetooth control unit502. The SOAP processing unit504starts SOAP processing for the Bluetooth network104via the Bluetooth control unit502. The GENA processing unit505starts GENA processing for the Bluetooth network104via the Bluetooth control unit502. When the service control unit506judges that the UPnP service has activated on the Bluetooth network104, processing proceeds to Step S1107.

In Step S1107, the service control unit506uses the SSDP processing unit503to acquire an SSDP alive message on the LAN100via the wireless LAN control unit501. The service control unit506confirms whether a UUID included in the acquired alive message is the same as the UUID of a UPnP service providing apparatus102. When the service control unit506judges that it was possible to confirm matching UUIDs within a fixed period of time (YES in Step S1107), processing proceeds to Step S1108. When the service control unit506judges that it was not possible to confirm matching UUIDs within a fixed period of time (NO in Step S1107), processing proceeds to Step S1109.

In Step S1108, the service control unit506uses the wireless LAN control unit501to disconnect the LAN100. Then, processing ends.

In Step S1109, the service control unit506makes a request to the SSDP processing unit503, the SOAP processing unit504, and the GENA processing unit505to stop functionality related to the UPnP service published to the Bluetooth network104. The SSDP processing unit503transmits an SSDP byebye message to the Bluetooth network104via the Bluetooth control unit502. The SOAP processing unit506stops SOAP processing for the Bluetooth network104via the Bluetooth control unit502. The GENA processing unit505stops GENA processing for the Bluetooth network104via the Bluetooth control unit502. When the service control unit506judges that functionality related to the UPnP service published to the Bluetooth network104has stopped, processing proceeds to Step S1110.

In Step S1110, the service control unit506makes a request to the SSDP processing unit503, the SOAP processing unit504, and the GENA processing unit505to publish the UPnP service to the LAN100. After receiving the request, the SSDP processing unit503transmits an SSDP alive message to the LAN100via the wireless LAN control unit501. The SOAP processing unit504starts SOAP processing for the LAN100via the wireless LAN control unit501. The GENA processing unit505starts GENA processing for the LAN100via the wireless LAN control unit501. When the service control unit506judges that the UPnP service has activated on the LAN100, processing proceeds to Step S1111.

In Step S1111, the service control unit506uses the Bluetooth control unit502to disconnect the Bluetooth network104. Then, processing ends.

(Sequence of Processing to Start Providing Service)

Next is a description of the sequence of processing described with reference to the flowchart inFIGS. 6 and 8, with reference toFIG. 12.FIG. 12is a sequence chart that shows the sequence of processing to start a proxy service in the proxy service apparatus101and the UPnP service providing apparatus102according to the first embodiment.

In F1701, the proxy service apparatus101discovers the UPnP service providing apparatus102. In F1702, the proxy service apparatus101confirms whether or not to provide a UPnP service proxy to the UPnP service providing apparatus102. In F1703, the proxy service apparatus101transmits parameters of the Bluetooth network104to the UPnP service providing apparatus102.

In F1704, the proxy service apparatus101starts a connection to the Bluetooth network104according to the parameters transmitted to the UPnP service providing apparatus102. In F1705, the UPnP service providing apparatus102starts a connection to the Bluetooth network104according to the parameters received from the proxy service apparatus101. In F1706, the proxy service apparatus101and the UPnP service providing apparatus102confirm connection to the Bluetooth network104.

In F1707, the UPnP service providing apparatus102stops UPnP service on the LAN100. In F1708, the UPnP service providing apparatus102transmits an SSDP byebye message on the LAN100.

In F1709, the proxy service apparatus101confirms that the byebye message received from the LAN100is a byebye message that includes the UUID of the UPnP service providing apparatus102. In F1710, the UPnP service providing apparatus102activates a UPnP service on the Bluetooth network104. In F1711, the UPnP service providing apparatus102transmits an SSDP alive message on the Bluetooth network104.

In F1712, the proxy service apparatus101confirms that the alive message received from the Bluetooth network104is a byebye message that includes the UUID of the UPnP service providing apparatus102. In F1713, the proxy service apparatus101starts a proxy service of providing a proxy for the UPnP service providing apparatus102on the LAN100.

In F1714, the proxy service apparatus101transmits an alive message that includes the UUID of the UPnP service providing apparatus102on the LAN100. In F1715, the proxy service apparatus101confirms that an alive message including the UUID of the UPnP service providing apparatus102was received on the LAN100by the UPnP service providing apparatus102. In F1716, the UPnP service providing apparatus102disconnects from the LAN100.

(Processing to End Service Providing in Proxy Service Apparatus)

Next is a description of processing to end service providing in the proxy service apparatus101, with reference toFIG. 9.FIG. 9is a flowchart that shows the flow of processing to end service providing in the proxy service apparatus101.

In Step S1201, the proxy control unit406uses the SSDP processing unit403to receive an SSDP byebye message via the Bluetooth control unit402, and then processing proceeds to Step S1202.

In Step S1202, the proxy control unit406extracts the UUID from the byebye message, and transmits the extracted UUID to the UUID judging unit408. The UUID judging unit408compares the received UUID with the UUIDs stored in the UUID storage unit409to judge whether there is a corresponding UPnP service. The UUID judging unit408transmits the result of judgment to the proxy control unit406. When the proxy control unit406has judged that there is a UPnP service based on the received judgment result (YES in Step S1202), the entry in the UUID storage unit409is changed to byebye, and processing proceeds to Step S1203. When the proxy control unit406has judged that there is not a UPnP service based on the received judgment result (NO in Step S1202), processing ends.

In Step S1203, the proxy control unit406uses the SSDP processing unit403to transmit the SSDP byebye message via the wireless LAN control unit401, ending the UPnP service. The UUID included in the SSDP byebye message is the same as the UUID of the UPnP service providing apparatus102.

In Step S1204, the proxy control unit406instructs the proxy processing unit407to end the UPnP service proxy of the UPnP service providing apparatus102, and then processing proceeds to Step S1205. The proxy control unit406deletes information related to the UPnP service providing apparatus102stored in the UUID storage unit409.

In Step S1205, the proxy control unit406acquires entries from the UUID storage unit409, and judges whether or not there is a device that is alive on the Bluetooth network104. The proxy control unit406may also acquire information regarding whether there is a device connected via Bluetooth from the Bluetooth control unit402. When the proxy control unit406judges that there is a device connected via Bluetooth (YES in Step S1205), processing ends. When the proxy control unit406judges that there is not a device connected via Bluetooth (NO in Step S1205), processing proceeds to Step S1206.

In Step S1206, the proxy control unit406instructs the Bluetooth control unit402to disconnect from the Bluetooth network104. The Bluetooth control unit402performs disconnection from the Bluetooth network104, and then processing ends.

FIG. 10Ashows an example entry in the UUID storage unit409when a byebye message has been received from the UPnP service providing apparatus102in Step S1203. Byebye is indicated as the status of the uuid:816c5df0-c2ed-11da-9216-0008741e9395 corresponding to the UPnP service providing apparatus102(1301), and so the UPnP service providing apparatus102has been disconnected from the Bluetooth network104.

FIG. 10Bshows an example entry in the UUID storage unit409in Step S1204. Here, information related to the UPnP service providing apparatus102(uuid:816c5df0-c2ed-11da-9216-0008741e9395) has been deleted.

When the proxy service apparatus101again connects a UPnP service providing apparatus102to the LAN100, the processing inFIG. 6is started. Also, in the present embodiment, information related to the UPnP service providing apparatus102has been deleted, but a configuration may also be adopted in which this information is left stored in the UUID storage unit409. In such a case, processing can of course be started from the state shown inFIG. 9.

(Processing to End Providing Service in UPnP Service Providing Apparatus)

Next is a description of processing to end providing service in the UPnP service providing apparatus102, with reference toFIG. 13.FIG. 13is a flowchart that shows the flow of processing to end providing service in the UPnP service providing apparatus102.

In Step S1801, the service control unit506uses the SSDP processing unit503to transmit an SSDP byebye message to the Bluetooth network104via the Bluetooth control unit502. In order to stop the UPnP service, the service control unit506instructs the SSDP processing unit503, the SOAP processing unit504, and the GENA processing unit505to end processing, and then processing proceeds to Step S1802.

In Step S1802, the service control unit506instructs the Bluetooth control unit502to disconnect from the Bluetooth network104. The Bluetooth control unit502disconnects from the Bluetooth network104, and then processing ends.

(Sequence of Processing to End Providing Proxy Service)

Next, the sequence of processing described with reference to the flowcharts inFIGS. 9 and 13will be described with reference toFIG. 14.FIG. 14is a sequence chart that shows the sequence of processing to end a proxy service in the proxy service apparatus101and the UPnP service providing apparatus102.

In F1901, the UPnP service providing apparatus102transmits an SSDP byebye message on the Bluetooth network104. In F1902, the proxy service apparatus101judges whether or not the UUID included in the received byebye message matches the UUID of the UPnP service for which a proxy is being provided. In F1903, the UPnP service providing apparatus102stops the UPnP service on the Bluetooth network104. In F1904, the proxy service apparatus101transmits the received byebye message including the UUID to the LAN100.

In F1905, the proxy service apparatus101ends the proxy service. In F1906, the proxy service apparatus confirms that another device is not connected to the Bluetooth network104. In F1907, the proxy service apparatus disconnects from the Bluetooth network104. In F1908, the UPnP service providing apparatus102disconnects from the Bluetooth network104.

Next is a description of operation when the UPnP control point apparatus103directly uses the UPnP service providing apparatus102, with reference toFIG. 11A.FIG. 11Ashows an overview of operation when the UPnP control point apparatus103directly uses the UPnP service providing apparatus102.

(UPnP Service Via Proxy Service Apparatus)

Next is a description of operation when the UPnP control point apparatus103uses the UPnP service providing apparatus102via the proxy service apparatus101, with reference toFIG. 11B.FIG. 11Bshows an overview of operation when the UPnP control point apparatus103uses the UPnP service providing apparatus102via the proxy service apparatus101.

In M1601, the UPnP control point apparatus103can transmit UPnP SSDP, SOAP, and GENA messages to the proxy service apparatus101.

In M1602, when the proxy service apparatus101receives various messages, the SSDP processing unit403, the SOAP processing unit404, and the GENA processing unit405perform processing, and the proxy processing unit407performs proxy processing. The proxy processing unit407uses the SSDP processing unit403, the SOAP processing unit404, and the GENA processing unit405to newly create and transmit SSDP, SOAP, and GENA messages addressed to the UPnP service providing apparatus102.

In M1603, the proxy service apparatus101can receive SSDP, SOAP, and GENA messages from the UPnP service providing apparatus102.

In M1604, when the proxy service apparatus101receives various messages, the SSDP processing unit403, the SOAP processing unit404, and the GENA processing unit405perform processing, and the proxy processing unit407performs proxy processing. The proxy processing unit407uses the SSDP processing unit403, the SOAP processing unit404, and the GENA processing unit405to newly create and transmit messages addressed to the UPnP control point apparatus103.

Here, a description is given of processing performed while the proxy service apparatus101provides a proxy for the UPnP service providing apparatus102. In this state, the UPnP service providing apparatus102is connected to the proxy service apparatus101via the Bluetooth network104. In the UPnP service providing apparatus102, when there is no access, the service control unit506is able to sleep using a commonly known mechanism of sleeping, such as a UPnP Low Power Device service.

Next is a description of a case when the UPnP service providing apparatus102has been accessed in the proxy service apparatus101. In this case, the proxy control unit406can activate the UPnP service providing apparatus102using a commonly known mechanism of a UPnP Low Power Device control point or the like that releases a sleep state. This is not limited to a UPnP Low Power Device, and can also be realized with a combination of a WOL (Wake On LAN) and messages that advertise and operate the WOL.

Thus, when sleeping, the UPnP service providing apparatus102is connected to the proxy service apparatus101by only the Bluetooth network104, and is isolated from the LAN100. Therefore, access via the network from a malicious UPnP Low Power Device control point or the like that connects to the LAN100cannot be received, so the UPnP service providing apparatus102is secure. For example, the UPnP service providing apparatus102cannot be put to sleep or released from sleep by a malicious apparatus.

Furthermore, the proxy service apparatus101may restrict access as necessary when performing proxy processing. Thus, the proxy service apparatus101can limit types of access to the UPnP service providing apparatus102.

As described above, the proxy service apparatus101of the present embodiment determines whether or not a UPnP service providing apparatus102exists on the LAN100(first determination), and when a UPnP service providing apparatus102exists on the LAN100, connects to that UPnP service providing apparatus102via the Bluetooth network104. Then, the proxy service apparatus101connects to the UPnP control point apparatus103via the LAN100, and relays service between the UPnP service providing apparatus102and the UPnP control point apparatus103.

Accordingly, the proxy service apparatus101is able to contain a UPnP service providing apparatus on the network of the Bluetooth network104. Thus, the proxy service apparatus101is able to conceal the UPnP service providing apparatus102from the LAN100. Therefore, the UPnP service providing apparatus102can only receive access for which the proxy service apparatus101has provided a proxy, and so the UPnP service providing apparatus102is secure. Moreover, as in the present embodiment, when switching from a wireless LAN to Bluetooth, power consumption can be reduced.

According to the present embodiment, it is possible for the proxy service apparatus101to start a service after confirming that the UPnP service providing apparatus102is connected to the Bluetooth network104. When an error occurs during use, the UPnP service providing apparatus102can resume service over the LAN100. This appears to the UPnP control point apparatus as if the UPnP service providing apparatus102has been once disconnected from the network, and then newly added. According to the present embodiment, it is possible to conceal the UPnP service providing apparatus102with only the existing UPnP control point functionality in the UPnP control point apparatus.

Also, the proxy service apparatus101of the present embodiment determines whether or not a UPnP service providing apparatus102exists on the Bluetooth network104(second determination), and when a UPnP service providing apparatus102exists on the Bluetooth network104, connects to the UPnP service providing apparatus102via the Bluetooth network104. Therefore, it is possible to appropriately determine a circumstance in which the communications path should be switched, and provide a proxy service.

Also, the proxy service apparatus101of the present embodiment relays a service after confirming that providing of a service via the LAN100has been stopped by the UPnP service providing apparatus102. Therefore, it is possible to prevent overlap of providing a service via the LAN100and relaying a service via the Bluetooth network104.

Also, the proxy service apparatus101of the present embodiment transmits parameters necessary for connecting to the UPnP service providing apparatus102via the Bluetooth network104to the UPnP service providing apparatus102via the LAN100. Thus, it is possible for the UPnP service providing apparatus102to appropriately decide whether or not to connect to the Bluetooth network104to use a proxy service.

Second Embodiment

A second embodiment of the present invention will now be described with reference to the drawings, focusing mainly on differences from the first embodiment. A proxy service apparatus101in the second embodiment uses UPnP to publish on the LAN100the fact that the proxy service apparatus101has a proxy service that provides a UPnP service proxy. In the present embodiment, publishing and use of the proxy service is performed using UPnP, but this is not a limitation; WS-Discovery and another protocol such as SOAP may also be used.

A UPnP service providing apparatus102in the second embodiment uses UPnP on the LAN100to find and use a proxy service of providing a UPnP service proxy. In the proxy service apparatus101, when the proxy control unit406judges that a proxy service is possible, the SSDP processing unit403is used to transmit an SSDP alive message related to the proxy service on the LAN100. Moreover, the proxy control unit406uses the SSDP processing unit403to start SSDP processing related to the proxy service for the LAN100. It is possible to judge whether or not the proxy service is possible based on whether or not it is possible to communicate with the UPnP service providing apparatus102using a communications path other than the LAN100, such as the Bluetooth network104, for example.

When the proxy control unit406judges that a proxy service is not possible, the proxy control unit406uses the SSDP processing unit403to transmit an SSDP byebye message related to a proxy service on the LAN100. Also, the proxy control unit406uses the SSDP processing unit403to end SSDP processing related to a proxy service. Thus, the UPnP service providing apparatus102can discover a proxy service only in a period in which it is possible to use a proxy service.

(Processing to Start Proxy Service in Proxy Service Apparatus)

FIG. 15is a flowchart that shows the flow of processing to start a proxy service in the proxy service apparatus101according to the second embodiment. The differences fromFIG. 6are that Steps S601,5602, and5603are deleted, and Steps S2001and S2002have been added.

In Step S2001, the proxy control unit406uses the SOAP processing unit404to receive a UPnP service proxy request from the UPnP service providing apparatus102on the LAN100. This proxy request includes a UUID for the UPnP service providing apparatus102. The proxy control unit406saves the UUID of the UPnP service providing apparatus102in the UUID storage unit409, and then processing proceeds to Step S2002. Proxy service may be rejected when the proxy service apparatus101is already providing proxy service for another UPnP service providing apparatus.

In Step S2002, the proxy control unit406uses the SOAP processing unit404to receive a receive a request for parameters of the Bluetooth network104from the UPnP service providing apparatus102on the LAN100. The proxy control unit406acquires the parameters of the Bluetooth network104from the Bluetooth control unit402. The proxy control unit406uses the SOAP processing unit404to send a response with the parameters of the Bluetooth network104to the UPnP service providing apparatus102, and then processing proceeds to Step S604. Operation from Step S604onward is the same as in the first embodiment described with reference toFIG. 6, so a description thereof is omitted here.

(Processing to Start Proxy Service in Service Providing Apparatus)

FIG. 16is a flowchart that shows the flow of processing to start a proxy service in the service providing apparatus102according to the second embodiment. The differences fromFIG. 8are that Steps S1101and S1102are deleted, and Steps S2101, S2102, S2103, and S2104have been added.

In Step S2101, the service control unit506judges whether or not to use a proxy service. When the service control unit506judges to use a proxy service (YES in Step S2101), processing proceeds to Step S2102. When the service control unit506judges not to use a proxy service (NO in Step S2101), processing ends.

In Step S2102, the service control unit506uses the SSDP processing unit503to search for a proxy service on the LAN100. The SSDP processing unit503transmits an m-search message on the LAN100via the wireless LAN control unit501in order to search for a proxy service. The SSDP processing unit503sends a response to the service control unit506with results regarding whether there is a response from the proxy service, or whether an alive message has been received within a fixed period of time. When the service control unit506judges that a proxy service has been discovered (YES in Step S2102), processing proceeds to Step S2103. When the service control unit506judges that a proxy service has not been discovered (NO in Step S2102), processing ends.

In Step S2103, the service control unit506uses that SOAP processing unit504to request a proxy from the proxy service apparatus101on the LAN100via the wireless LAN control unit501, and then processing proceeds to Step S2104. The proxy request includes a UUID for the UPnP service providing apparatus102.

In Step S2104, the service control unit506uses that SOAP processing unit504to request communications parameters for other than the LAN100from the proxy service apparatus101on the LAN100via the wireless LAN control unit501. When the communications parameters are acquired from the proxy service apparatus101, the service control unit506acquires the parameters for the Bluetooth network104from these communications parameters, and then processing proceeds to Step S1103. Operation from Step S1103onward is the same as in the first embodiment described with reference toFIG. 8, and so a description thereof is omitted here.

(Processing to Start Proxy Service in Proxy Service Apparatus and UPnP Service Providing Apparatus)

FIG. 17is a sequence chart that shows the sequence of processing to start a proxy service in the proxy service apparatus101and the UPnP service providing apparatus102according to the second embodiment. The differences fromFIG. 12are that F1701, F1702, and F1703are deleted, and F2201, F2202, and F2203have been added.

In F2201, the UPnP service providing apparatus102discovers the proxy service apparatus101. In F2202, the UPnP service providing apparatus102requests a UPnP service proxy from the proxy service apparatus101. In F2203, the UPnP service providing apparatus102requests communications parameters from the proxy service apparatus101. Operation from Step F1704onward is the same as in the first embodiment, and so a description thereof is omitted here.

As described above, the proxy service apparatus101of the present embodiment publishes to the LAN100the fact that the proxy service apparatus101has a relaying function of relaying a service. When the relaying function has been published, the UPnP service providing apparatus102performs switching processing of switching from directly providing a service to the UPnP control point apparatus103to providing a service to the proxy service apparatus101via the Bluetooth network104.

Therefore, the UPnP service providing apparatus102is able to discover a plurality of proxy service apparatuses, and use the most appropriate proxy service apparatus among those that have been discovered. For example, when there is no proxy service for a communications unit that supports Bluetooth, it is possible to use another proxy service.

Also, when there has not been a relaying request from the UPnP service providing apparatus102in response to publication of the relaying function, the proxy service apparatus101of the present embodiment relays a service. Thus, it is possible to start relaying (providing a proxy for) a service at an appropriate time.

Third Embodiment

A third embodiment of the present invention will now be described with reference to the drawings, focusing mainly on differences from the first and second embodiments. A DMS (Digital Media Server) defined by the DLNA (Digital Living Network Alliance) is defined based on UPnP. A proxy service apparatus101in the present embodiment has a function of providing a proxy for a DMS. A UPnP service providing apparatus102in the present embodiment has the function of a DMS. A UPnP control point apparatus103in the present embodiment has the function of a DMP (Digital Media Player).

(Module Configuration of Proxy Service Apparatus)

FIG. 4Bshows the module configuration of the proxy service apparatus101of the present embodiment. Reference numeral2301denotes a content processing unit that has a function of receiving content from the Bluetooth control unit402according to a content request from the wireless LAN control unit401. When there is a content request, the content may always be acquired in an on-demand manner, or a cache of the content processing unit may be used.

The proxy processing unit407has a function of rewriting a URL included in a DIDL-Lite provided from the UPnP service providing apparatus102to a URL that indicates the proxy service apparatus101. When there has been a request, the proxy processing unit407provides a DIDL-Lite having a rewritten URL. Also, the proxy processing unit407rewrites a URL for content of the proxy service apparatus101to a URL for the corresponding UPnP service providing apparatus102, and provides the rewritten URL. In the present embodiment, and example of rewriting the URL of a DIDL-Lite is given, but this is not a limitation; the URL of metadata other than DIDL-Lite may be rewritten.

(Module Configuration of Service Providing Apparatus)

FIG. 5Bshows the module configuration of the UPnP service providing apparatus102of the present embodiment. Reference numeral2401denotes a content providing unit that has a function of providing content according to a content request from the wireless LAN control unit501and the Bluetooth control unit502.

In the third embodiment, an example is described in which the proxy service apparatus101is providing a proxy service for the UPnP service providing apparatus102. The proxy control unit406uses the SOAP processing unit404to receive a request for (browse) a list of content from the UPnP control point apparatus103on the LAN100via the wireless LAN control unit401. In response, the proxy control unit406uses the SOAP processing unit404to make a content list request (browse) to the UPnP service providing apparatus102on the Bluetooth network104via the Bluetooth control unit402, and acquires a DIDL-Lite. The proxy control unit406transmits the acquired DIDL-Lite to the proxy processing unit407, and requests rewriting of the DIDL-Lite. The proxy control unit406uses the SOAP processing unit404to send a response with the DIDL-Lite, which is the content list, to the UPnP control point apparatus103on the LAN100via the wireless LAN control unit401.

The proxy control unit406uses the content processing unit2301to receive a content acquisition request from the UPnP control point apparatus103on the LAN100via the wireless LAN control unit401. In the present embodiment, the content acquisition request is HTTP GET. The proxy control unit406makes a request to the proxy processing unit407to convert the content URL. The proxy processing unit407converts the content URL of the proxy service apparatus101to the content URL of the UPnP service providing apparatus102, and sends a response with the converted URL to the proxy control unit406. The proxy control unit406uses the content processing unit2301to transmit the content acquisition request to the UPnP service providing apparatus102on the Bluetooth network104via the Bluetooth control unit402. When the proxy control unit406acquires the content from the UPnP service providing apparatus102, the proxy control unit406uses the content processing unit2301to send a response with the content to the UPnP control point apparatus103on the LAN100via the wireless LAN control unit401.

The UPnP service providing apparatus102receives the content acquisition request from the proxy service apparatus101. The service control unit506uses the content providing unit2401to receive the content acquisition request from the proxy service apparatus101on the Bluetooth network104via the Bluetooth control unit402. The service control unit506uses the content providing unit2401to send a response with the content to the proxy service apparatus101on the Bluetooth network104via the Bluetooth control unit402.

FIG. 18is a sequence chart that shows the sequence of content providing processing in the proxy service apparatus101and the UPnP service providing apparatus102according to the third embodiment. In F2501, the UPnP control point apparatus103makes a request for content acquisition to the proxy service apparatus101via the LAN100. In F2502, the proxy service apparatus101executes proxy processing such as URL rewriting according to the acquisition of content received via the LAN100. In F2503, the proxy service apparatus101transmits a request for content acquisition to the UPnP service providing apparatus102via the Bluetooth network104.

In F2504, the UPnP service providing apparatus102receives the request for content acquisition from the proxy service apparatus101via the Bluetooth network104. The UPnP service providing apparatus102provides content corresponding to the content acquisition request. In F2505, the UPnP service providing apparatus102transmits the content to the proxy service apparatus101via the Bluetooth network104. In F2506, the proxy service apparatus101executes proxy processing such as URL rewriting according to the content received via the Bluetooth network104. In F2507, the proxy service apparatus101transmits the content to the UPnP control point apparatus103via the LAN100.

A transfer protocol other than HTTP, for example such as RTP, may also be used in the present embodiment. In such a case, the invention can be realized by the content processing unit2301in the proxy service apparatus101having the function of an RTP proxy, and the content providing unit2401in the UPnP service providing apparatus102having an RTP distribution function.

As described above, in the example in the present embodiment, the service relayed (for which a proxy is provided) by the proxy service apparatus101is not a UPnP service, but rather a content distribution service. When a content distribution request has been received from the UPnP control point apparatus103via the LAN100, the proxy service apparatus101performs rewrite processing to rewrite the content distribution request such that the destination for content distribution is the proxy service apparatus101. Then, the rewritten content distribution request is output to the UPnP service providing apparatus102via the Bluetooth network104. When distributed content is received from the UPnP service providing apparatus102due to the rewritten content distribution request being output, the received content is distributed to the UPnP control point apparatus103.

Therefore, also in the case of a service such as content distribution, it is possible to appropriately relay the service provided between the UPnP service providing apparatus102and the UPnP control point apparatus103. As described above, in the configuration of the present embodiment, it is possible to provide a service, and possible to provide content that is being provided by the service. In the present embodiment, an example is described in which a content request is transferred, but performing transfer is not a limitation. For example, an embodiment of the invention is possible in which a copy of content is acquired in advance, and the copy is provided.

According to the above configuration, it is possible to conceal a service providing apparatus by the proxy service apparatus changing the network connection of the service providing apparatus. Moreover, the service providing apparatus receives messages only from the proxy service apparatus, so the service providing apparatus is secure. When UPnP is used, the service is published equally to any network, so this configuration is effective particularly when a connection has been made to a network outside of a user's home (for example, a network at a friend's home).

According to the present invention, it is possible to provide technology whereby security is increased when providing a service.

Other Embodiments

This application claims the benefit of Japanese Patent Application NO. 2009-029115, filed on Feb. 10, 2009, which is hereby incorporated by reference herein in its entirety.