Abstract:
A system, method, electronic device, module, and computer code product for communicating service information between an electronic device and a remote control point using an out-of-band discovery mechanism. An electronic device includes a memory unit, a processor operatively connected to the memory unit, and a data communication link for enabling communication within a network. The memory unit includes computer code for using an out-of-band discovery mechanism to provide service information to a remote control point through the data communication link.

Description:
FIELD OF THE INVENTION  
       [0001]     The present invention relates generally to Universal Plug and Play (UPnP) technology. More particularly, the present invention relates to UPnP device architecture with additional out-of-band discovery mechanisms.  
       BACKGROUND OF THE INVENTION  
       [0002]     UPnP technology defines an architecture for pervasive peer-to-peer network connectivity of intelligent appliances, wireless devices, and personal computers of all form factors. UPnP technology is designed to bring easy-to-use, flexible, standards-based connectivity to ad hoc or unmanaged networks whether in the home, in a small business, public spaces, or attached to the Internet. UPnP technology provides a distributed, open networking architecture that leverages Transmission Control Protocol/Internet Protocol (TCP/IP) and Web technologies to enable seamless proximity networking in addition to control and data transfer among networked devices.  
         [0003]     UPnP Device Architecture (UDA) is designed to support zero-configuration, “invisible” networking, and automatic discovery for a breadth of device categories from a wide range of vendors. With UDA, a device can dynamically join a network, obtain an IP address, convey its capabilities, and learn about the presence and capabilities of other devices.  
         [0004]     UDA describes the steps that are required in order to have a UPnP device/service or control point usable within the UPnP network. The first step, referred to as “Addressing” or “IP Addressing,” is where the device acquires an IP address from the Dynamic Host Control Protocol (DHCP) server or via Auto-IP. The second step is referred to as “Discovery,” where control points search for services or where devices/services are advertised into the UPnP network. The third step is referred to as “Description,” where the control points fetch description documents.  
         [0005]     The three steps identified above need to occur in the exact order described above. Other steps, such as Controlling, Eventing and Presentation, do not have such strict requirements as the first three steps.  
         [0006]     There are some scenarios where the traditional UPnP approach runs into usability problems due to the Addressing and Discovery steps, which either take too long or where the user has to perform some user interface (UI) actions in order to shorten the discovery time. One such scenario occurs when there are two users that want to quickly start a number of UPnP applications by simply touching the respective devices.  
       SUMMARY OF THE INVENTION  
       [0007]     Embodiments of the invention comprise including additional out-of-band discovery mechanisms in the UPnP device architecture. In one embodiment of the invention, the same single service discovery protocol (SSDP) messages as defined in UPnP are used, but instead of using multicast UDP as transport, a location-limited channel is used.  
         [0008]     One embodiment of the invention comprises a computer code product including computer code for providing an out-of-band discovery mechanism on an electronic and computer code for communication service information between the electronic device and a remote control point on the out-of-band discovery mechanism. The location limited channel can comprise any of channels, such as an infrared data association channel or a radio frequency identification channel to name a few. In one embodiment, the computer code for communication service information can comprise code for using the out-of-band discovery mechanism to transmit a service advertisement to the remote control point. In addition, the computer code can be included for using the out-of-ban discovery mechanism to receive a service query from the remote control point, and using the out-of-band discovery mechanism to respond to the service query by providing a service response to the remote control point.  
         [0009]     Other embodiments of the invention comprise electronic devices and modules comprising a memory unit, a processor operatively connected to the memory unit, and a data communication link for enabling communication within a network, wherein the memory unit includes computer code for using an out-of-band discovery mechanism to provide service information to a remote control point through the data communication link.  
         [0010]     One embodiment of a system according to the invention can include a control point device and an electronic device in communication with the control point device. One embodiment of a method according to the invention can include providing an electronic device, providing an out-of-band discovery mechanism with the electronic device; and communication service information between the electronic device and a remote control point on the out-of-band discovery mechanism.  
         [0011]     The present invention provides for a number of distinct advantages over conventional systems. The present invention improves the usability of electronic devices in situations where users want to start applications very quickly without having to use the user interface too extensively. This can be particularly useful for mobile/handheld devices that have very limited user interfaces yet are still used in peer-to-peer applications. The invention can be easily implemented in devices such as mobile telephones that have an IP interface with UPnP support and a location limited channel, such as IrDA, RFID, etc. Additionally, the out-of-band discovery mechanism of the present invention also inherits the security provided by the respective location-limited channel.  
         [0012]     These and other objects, advantages and features of the invention, together with the organization and manner of operation thereof, will become apparent from the following detailed description when taken in conjunction with the accompanying drawings, wherein like elements have like numerals throughout the several drawings described below. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0013]      FIG. 1  is a representation of a UPnP protocol stack according to one embodiment of the present invention;  
         [0014]      FIG. 2  is representation of a UPnP software stack with SSDP PI as an out-of-band discovery mechanism;  
         [0015]      FIG. 3  is a representation of a service advertisement using the out-of-band discovery mechanism;  
         [0016]      FIG. 4  is a representation of a service query using the out-of-band discovery mechanism;  
         [0017]      FIG. 5  is an overview diagram of a system according to an embodiment of the present invention;  
         [0018]      FIG. 6  is a perspective view of a mobile telephone that can be used in the implementation of the present invention;  
         [0019]      FIG. 7  is a schematic representation of the telephone circuitry of the mobile telephone of  FIG. 6 . 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0020]     The present invention involves the inclusion of additional out-of-band discovery protocols/mechanisms in the UPnP device architecture. The out-of-band protocol needs to comply with the simple service discovery protocol (SSDP) formats and SSDP application program interface (API) in order to plug seamlessly into the UPnP software stack.  
         [0021]      FIG. 1  is a representation of the UPnP protocol stack as specified by the UPnP device architecture. According to this stack, all of the protocols run on top of the IP.  
         [0022]      FIG. 2  describes the protocol stack for the UPnP protocol stack enhanced with SSDP proximity initialization (PI) as an out-of-band discovery protocol. SSDP PI uses the same message payloads as the UPnP SSDP. Instead of using UDP as a transport protocol, however, it uses the location limited channels provided by the PI, including, but not limited to IrDA, RFID, etc.  
         [0023]     The operation of an electronic device according the principles of the present invention is generally as follows. For service advertisements and as represented in  FIG. 3 , an electronic device  80  that hosts the service, transmits over the location-limited channel a “Service Advertisement” message  100  containing a service advertisement. The payload in the “Service Advertisement” message  100  is the same as for a standard UPnP SSDP message:  
         [0024]     NOTIFY * HTTP/1.1  
         [0025]     HOST: 239.255.255.250:1900  
         [0026]     CACHE-CONTROL: max-age=seconds until advertisement expires  
         [0027]     LOCATION: URL for UPnP description for root device  
         [0028]     NT: search target  
         [0029]     NTS: ssdp:alive  
         [0030]     SERVER: OS/version UPnP/1.0 product/version  
         [0031]     USN: advertisement UUID  
         [0032]     A control point device  90  that hosts the control point receives the “Service Advertisement” message  100  over the location-limited channel and continues the exchange using standard UPnP messages. For example, the control point device  90  can transmit a “Get Description” message  102 , after which the electronic device  80  can respond with a “XML Description” message  104 . UPnP messages  106  can also flow between the electronic device  80  and the control point device  90 .  
         [0033]     An example of a service query according to one embodiment of the present invention is represented in  FIG. 4 . The control point device  90  that hosts the UPnP control point sends a service query message  200  over the location-limited channel. The payload of this message is the same as for a standard UPnP SSDP message:  
         [0034]     M-SEARCH * HTTP/1.1  
         [0035]     HOST: 239.255.255.250:1900  
         [0036]     MAN: “ssdp:discover” 
         [0037]     MX: seconds to delay response  
         [0038]     ST: search target  
         [0039]     The electronic device  80  that hosts the UPnP Service responds also over the location-limited channel with a service response message  202  with the same payload as a standard UPnP SSDP message:  
         [0040]     HTTP/1.1 200 OK  
         [0041]     CACHE-CONTROL: max-age=seconds until advertisement expires  
         [0042]     DATE: when response was generated  
         [0043]     EXT:  
         [0044]     LOCATION: URL for UPnP description for root device  
         [0045]     SERVER: OS/version UPnP/1.0 product/version  
         [0046]     ST: search target  
         [0047]     USN: advertisement UUID  
         [0048]     After the service response message, the devices continue the exchange using standard UPnP messages. For example, the control point device  90  can transmit a “Get Description” message  102 , after which the electronic device  80  can respond with a “XML Description” message  104 . UPnP messages  106  can also flow between the electronic device  80  and the control point device  90 . Computer software code can be used to implement these steps.  
         [0049]     If a device has UPnP support and an interface that supports the location limited channel functionality, then the device is capable of implementing the present invention. UPnP traffic is analyzed in order to detect the use of the invention.  
         [0050]      FIG. 5  shows a system  10  in which the present invention can be utilized, comprising multiple communication devices that can communicate through a network. The system  10  may comprise any combination of wired or wireless networks including, but not limited to, a mobile telephone network, a wireless Local Area Network (LAN), a Bluetooth personal area network, an Ethernet LAN, a token ring LAN, a wide area network, the Internet, etc. The system  10  may include both wired and wireless communication devices.  
         [0051]     For exemplification, the system  10  shown in  FIG. 5  includes a mobile telephone network  11  and the Internet  28 . Connectivity to the Internet  28  may include, but is not limited to, long range wireless connections, short range wireless connections, and various wired connections including, but not limited to, telephone lines, cable lines, power lines, and the like.  
         [0052]     The exemplary communication devices of the system  10  may include, but are not limited to, a mobile telephone  12 , a combination PDA and mobile telephone  14 , a PDA  16 , an integrated messaging device (IMD)  18 , a desktop computer  20 , and a notebook computer  22 . The communication devices may be stationary or mobile as when carried by an individual who is moving. The communication devices may also be located in a mode of transportation including, but not limited to, an automobile, a truck, a taxi, a bus, a boat, an airplane, a bicycle, a motorcycle, etc. Some or all of the communication devices may send and receive calls and messages and communicate with service providers through a wireless connection  25  to a base station  24 . The base station  24  may be connected to a network server  26  that allows communication between the mobile telephone network  11  and the Internet  28 . The system  10  may include additional communication devices and communication devices of different types.  
         [0053]     The communication devices may communicate using various transmission technologies including, but not limited to, Code Division Multiple Access (CDMA), Global System for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Transmission Control Protocol/Internet Protocol (TCP/IP), Short Messaging Service (SMS), Multimedia Messaging Service (MMS), e-mail, Instant Messaging Service (IMS), Bluetooth, IEEE 802.11, etc. A communication device may communicate using various media including, but not limited to, radio, infrared, laser, cable connection, and the like.  
         [0054]      FIGS. 6 and 7  show one representative mobile telephone  12  according to one embodiment of the invention. It should be understood, however, that the present invention is not intended to be limited to one particular type of mobile telephone  12  or other electronic device. The mobile telephone  12  of  FIGS. 6 and 7  includes a housing  30 , a display  32  in the form of a liquid crystal display, a keypad  34 , a microphone  36 , an ear-piece  38 , a battery  40 , an infrared port  42 , an antenna  44 , a smart card  46  in the form of a UICC according to one embodiment of the invention, a card reader  48 , radio interface circuitry  52 , coded circuitry  54 , a controller  56 , such as a processor, and a memory  58 . Individual circuits and elements are all of a type well known in the art, for example in the Nokia range of mobile telephones.  
         [0055]     While several embodiments have been shown and described herein, it should be understood that changes and modifications can be made to the invention without departing from the invention in its broader aspects. For example, but without limitation, the present invention can be used in conjunction with a variety of electronic devices. Various features of the invention are defined in the following claims: