The present invention relates generally to the Universal Plug and Play (UPnP) device architecture. More particularly, the present invention relates to UPnP device control protocols (DCP's).
This section is intended to provide a background or context to the invention that is recited in the claims. The description herein may include concepts that could be pursued, but are not necessarily ones that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, what is described in this section is not prior art to the description and claims in this application and is not admitted to be prior art by inclusion in this section.
Universal Plug and Play (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 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 TCP/IP and the Web technologies to enable seamless proximity networking, in addition to control and data transfer among networked devices.
The 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. In other words, the UDA enables a device to dynamically join a network, obtain an IP address, convey its capabilities, and learn about the presence and capabilities of other devices.
The UPnP architecture comprises two layers: a general purpose UDA and device-specific device control protocols (DCP). This structure is depicted in
The present invention comprises a UPnP device control protocol for mobile telephones. The device control protocol of the present invention defines the services, actions, and state variables that a UPnP mobile device would expose to a UPnP network. According to the present invention, a mobile telephone or device would act primarily as a UPnP device, offering its services to other devices, such as televisions. These services may include messaging (e.g., transmitting SMS, MMS, and email messages), telephone calls (e.g., placing telephone calls from a television), telephone book functions, calendar functions, and others.
The UPnP device control protocol for mobile devices of the present invention is applicable to a wide variety of potential use cases. The device control protocol adds value to end users, particularly when in the digital home. The present invention also enables the development of several new and exciting features and new product opportunities for manufacturers. The present invention can be implemented in virtually any mobile telephone that has UPnP support. The present invention also provides benefits to non-mobile telephone vendors, such as television manufacturers, due to the added functionality made possible through the present invention.
These and other 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.
The present invention comprises a UPnP device control protocol for mobile telephones. The device control protocol of the present invention defines the services, actions, and state variables that a UPnP mobile device would expose to a UPnP network.
As discussed herein, a UPnP device is a passive entity that waits to be used. Each UPnP device contains zero or more services, and each device optionally contains a deck of HTML pages for user interaction. A UPnP service implements a standard device control protocol. UPnP services advertise their presence on the network and make available control and eventing URL's. UPnP control points search for and use services exposed by UPnP devices. UPnP control points are not discoverable network entities, and there are no control point standards. UPnP control points can implement applications with a user interface, library, bot, web pages, etc., so long as it calls the service in the correct way. It is important to note that a UPnP control point and a UPnP device can be in the same device.
According to the present invention, a mobile telephone or device can act primarily as a UPnP device, offering its services to other devices, such as televisions. These services may include messaging (e.g., transmitting SMS, MMS, and email messages), telephone calls (e.g., placing telephone calls from a television), telephone book functions, calendar functions, and others. In addition, a mobile telephone based on the device control protocols of the present invention can also act as a UPnP control point, capable of using the services offered by other mobile telephones (e.g., phonebook programs).
The implementation of the invention follows the generic principles of UPnP and includes a number of primary components. A first component is the UPnP stack. All of the devices in the UPnP network must implement the UPnP stack (UDA). The UPnP stack is required in the UPnP devices and the UPnP control points. A second component is a UPnP mobile telephone device. The UPnP mobile telephone device is a UPnP device with the service of the mobile telephone that one wants to expose, as well as the respective actions and state variables. These are implemented in the mobile telephone. The third component is the UPnP mobile telephone control point. The UPnP mobile telephone control point is a UPnP control point that is able to discover UPnP mobile telephone devices and use its services. In other words, this UPnP control point has the user interface and application logic to use the UPnP mobile telephone's services. This is implemented primarily in external devices. However, it could also be implemented in the mobile telephone to allow, for example, usage of other telephones' calendars, telephone books, etc.
The following are examples of various use case situations involving the device control protocol of the present invention. It should be noted, however, that other use cases are also possible, and the present invention should not be interpreted as being limited to the examples contained herein.
A first set of use case scenarios involves interactions between a personal computer (PC) and a mobile telephone. In these use cases, it is possible to drastically improve the PC suite-type of user experience. For example, a personal information manager (PIM) data can be synchronized, for example by using SyncML as an out-of-band protocol. Calendars, telephone books, galleries, and other items that are stored on the mobile telephone can be viewed on the PC and vice versa. This arrangement also allows for messaging to be conducted through the telephone when they otherwise could have to be conducted through the PC. Network and/or telephone services of one device can be used on the other device, and there is no need to start any specific application (such as a PC suite application.) Instead, the services of one device can simply and immediately appear in the user interface of the other device when the mobile telephone comes within the necessary range.
Another set of use case scenarios involve the interaction of a mobile telephone and consumer electronics, such as televisions and home stereos. In this situation, the services of a mobile telephone, such as calendars, telephone books, etc., can be accessed using a television. Additionally telephone calls can be made through the mobile telephone using the television and/or home stereo. VoIP calls may also be implemented in various embodiments. Additionally, images and other multimedia items can be synchronized from the mobile telephone to a media server.
A third set of use scenarios involve the interaction between two mobile telephones. In this situation, both “DCP server” and control point implementation are required. With the present invention, one can synchronize content between telephones, enable multidevice ownership (MDO), and move/copy content between devices.
In one embodiment of the invention, UPnP security is used in conjunction with device control protocol for mobile telephones. Given the fact that a wide variety of confidential data is often stored on the mobile telephones, this information can potentially be accessed without authorization. Additionally, there also exists the potential for telephone services such as messages, networking, and calls, to be used without authorization. Therefore, UPnP security can be made mandatory with this particular device protocol. Other security solutions may also be implemented.
The present invention is described in the general context of method steps, which may be implemented in one embodiment by a program product including computer-executable instructions, such as program code, executed by computers in networked environments.
Communication devices described herein 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.
Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of program code for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps.
Software and web implementations of the present invention could be accomplished with standard programming techniques with rule-based logic and other logic to accomplish the various database searching steps, correlation steps, comparison steps and decision steps. It should also be noted that the words “component” and “module” as used herein, and in the claims, is intended to encompass implementations using one or more lines of software code, and/or hardware implementations, and/or equipment for receiving manual inputs.
The foregoing description of embodiments of the present invention have been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the present invention to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of the present invention. The embodiments were chosen and described in order to explain the principles of the present invention and its practical application to enable one skilled in the art to utilize the present invention in various embodiments and with various modifications as are suited to the particular use contemplated.