WO2008127905A2 - Method for launching an application of an electronic device using a wireless communication network - Google Patents
Method for launching an application of an electronic device using a wireless communication network Download PDFInfo
- Publication number
- WO2008127905A2 WO2008127905A2 PCT/US2008/059547 US2008059547W WO2008127905A2 WO 2008127905 A2 WO2008127905 A2 WO 2008127905A2 US 2008059547 W US2008059547 W US 2008059547W WO 2008127905 A2 WO2008127905 A2 WO 2008127905A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- application
- electronic device
- search request
- wireless communication
- communication network
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C17/00—Arrangements for transmitting signals characterised by the use of a wireless electrical link
- G08C17/02—Arrangements for transmitting signals characterised by the use of a wireless electrical link using a radio link
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C2201/00—Transmission systems of control signals via wireless link
- G08C2201/40—Remote control systems using repeaters, converters, gateways
- G08C2201/42—Transmitting or receiving remote control signals via a network
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C2201/00—Transmission systems of control signals via wireless link
- G08C2201/90—Additional features
- G08C2201/93—Remote control using other portable devices, e.g. mobile phone, PDA, laptop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/08—Protocols specially adapted for terminal emulation, e.g. Telnet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Definitions
- the present invention relates generally to handheld electronic devices and in particular, although not exclusively, to launching an application on an electronic device only in response to a search request so as to conserve power and processor resources of the electronic device.
- a home living room may include a computer, a wireless router for Internet access, a television, an amplifier, speakers and a digital video recorder, all wirelessly networked and capable of ad hoc communications using IEEE 802.11b.
- Wireless networks are often preferred to wired networks such as Ethernet networks for a variety of reasons.
- the absence of wiring can simplify device interconnection procedures and also significantly improve the aesthetics of a room that has numerous networked devices.
- wirelessly networked devices can be moved relative to each other much more easily, as networking wires do not need to be routed through or along walls or hidden behind furniture.
- users continually seek increased functionality from portable electronic devices. It is often desirable to integrate the capabilities and functionality of different portable devices into a single portable device, so as to eliminate the need to carry multiple devices. From a user's perspective, eliminating the need to carry multiple devices provides a significant advantage because carrying multiple devices can be cumbersome. Also, integrating the capabilities of multiple devices into a single device can reduce costs by eliminating the need to purchase multiple devices, as well as eliminating the need to purchase and maintain separate batteries and accessories for multiple devices.
- Mobile telephones are increasingly multi-function devices that can include, in addition to wireless telephony services, functions and applications commonly associated with digital music players, personal digital assistants, notebook computers, and various other devices.
- mobile telephones often include applications for media playing, calendaring, personal information management, internet browsing, and processing emails. User satisfaction can be increased when such applications can be wirelessly networked with other devices.
- the Universal Plug and Play (UPnPTM) Forum has therefore developed an architecture for pervasive peer-to-peer network connectivity of devices such as intelligent appliances, wireless communication devices, and personal computers.
- the UPnP architecture is a distributed, open networking architecture that employs Transmission Control Protocol/Internet Protocol (TCP/IP) technologies to support seamless, "zero-configuration" networking.
- TCP/IP Transmission Control Protocol/Internet Protocol
- serving applications from a wireless device such as a mobile telephone using UPnPTM architecture can drain power, memory and processor resources of the device.
- a method for launching an application of an electronic device using a wireless communication network comprising: registering using a daemon an application description of the application; processing a search request received at the electronic device from a control point in the wireless communication network; matching the search request with the application description; launching the application in response to matching the search request with the application description; and processing a registration signal, in response to launching the application, indicating that the application has been launched.
- FIG. 1 is a schematic diagram illustrating an electronic device in the form of a mobile telephone, according to some embodiments of the present invention
- FIG. 2 is a block diagram illustrating pseudo modules of an electronic device that interact with an external control point to launch an application on the electronic device, according to some embodiments of the present invention
- FIG. 3 is a message sequence chart illustrating a method for launching an application of the electronic device using a wireless communication network, according to some embodiments of the present invention.
- FIG. 4 is a general flow diagram illustrating a method of launching an application of an electronic device using a wireless communication network, according to some embodiments of the present invention.
- Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of embodiments of the present invention. Detailed Description
- FIG. 1 a schematic diagram illustrates an electronic device in the form of a mobile telephone 100, according to some embodiments of the present invention.
- the mobile telephone 100 comprises a radio frequency communications unit 102 coupled to be in communication with a common data and address bus 117 of a processor 103.
- the mobile telephone 100 also has a keypad 106 and a display screen 105, such as a touch screen coupled to be in communication with the processor 103.
- the processor 103 also includes an encoder/decoder 111 with an associated code Read Only Memory (ROM) 112 for storing data for encoding and decoding voice or other signals that may be transmitted or received by the mobile telephone 100.
- the processor 103 further includes a microprocessor 113 coupled, by the common data and address bus 117, to the encoder/decoder 111, a character Read Only Memory (ROM) 114, a Random Access Memory (RAM) 104, programmable memory 116 and a Subscriber Identity Module (SIM) interface 118.
- ROM Read Only Memory
- RAM Random Access Memory
- SIM Subscriber Identity Module
- the programmable memory 116 and a SIM operatively coupled to the SIM interface 118 each can store, among other things, a telephone number database (TND) comprising a number field for telephone numbers and a name field for identifiers uniquely associated with the telephone numbers in the number field.
- TDD telephone number database
- the radio frequency communications unit 102 is a combined receiver and transmitter having a common antenna 107.
- the radio frequency communications unit 102 has a transceiver 108 coupled to the common antenna 107 via a radio frequency amplifier 109.
- the transceiver 108 is also coupled to a combined modulator/demodulator 110 that is coupled to the encoder/decoder 111.
- the microprocessor 113 has ports for coupling to the keypad 106 and to the display screen 105.
- the microprocessor 113 further has ports for coupling to an alert module 115 that typically contains an alert speaker, vibrator motor and associated drivers; to a microphone 120; and to a communications speaker 122.
- the character ROM 114 stores code for decoding or encoding data such as control channel messages that may be transmitted or received by the radio frequency communications unit 102.
- the character ROM 114, the programmable memory 116, or a SIM also can store operating code (OC) for the microprocessor 113 and code for performing functions associated with the mobile telephone 100.
- the programmable memory 116 can comprise application launching program code components 125 configured to cause execution of a method for launching an application of an electronic device using a wireless communication network.
- some embodiments of the present invention include a method for launching an application of the mobile telephone 100 using a wireless communication network.
- the method includes registering using a daemon an application description of the application.
- a search request received at the electronic device from a control point in the wireless communication network is then processed.
- the search request is then matched with the application description.
- the application is then launched in response to matching the search request with the application description.
- a registration signal is then processed, in response to launching the application, indicating that the application has been launched.
- the mobile telephone 100 therefore is able to conserve battery power, memory and processor resources, as applications can be served to control points in a wireless communication network by launching the applications only when needed.
- the application can be closed or operated in a low power or sleep mode.
- a block diagram illustrates pseudo modules of an electronic device 200 that interact with an external control point 205 to launch an application on the electronic device 200, according to some embodiments of the present invention.
- the electronic device 200 can be a mobile phone, such as the mobile telephone 100, a personal digital assistant (PDA), a notebook computer, or other type of device having limited processing or power resources.
- the pseudo modules then can be defined in software in a memory of the electronic device 200, such as in the programmable memory 116, or in combinations of software and hardware.
- the external control point 205 is a peer device that communicates with the electronic device 200 using a wireless communication network.
- the pseudo modules include a Universal Plug and Play technology (UPnPTM) server 210 that executes a daemon on the electronic device 200.
- the term "daemon” as used herein refers to a background program that is executed on the electronic device 200.
- the UPnPTM server 210 comprises a UPnPTM stack 215 that functions as a wireless communications protocol stack.
- the UPnPTM server 210 also comprises a launch assistant 220 that assists in launching an application 225 on the electronic device 200.
- the application 225 can include various types of applications such as device scanners and media servers.
- the application 225 can be closed or operated in a low power sleep mode until it is needed by an external control point. For example, consider that the application 225 is inactive but is registered with the launch assistant 220. Then, at line 230, the external control point 205 seeks to activate the application 225 and therefore transmits a search request to the UPnP stack 215.
- a search request such as a UPnP M-search request, can conform to a simple service discovery protocol.
- the UPnPTM stack 215 forwards the search request to the launch assistant 220 where the search request is matched with an application description of the application 225.
- a plurality of application descriptions concerning a plurality of applications can be registered at the electronic device 200, thus matching a search request with an application description may require comparing a search request with multiple application descriptions.
- the UPnPTM server 210 then sends a launch signal that activates the application 225.
- the application 225 registers with the UPnPTM stack as an active application of the electronic device 200.
- a positive reply to the search request is transmitted to the external control point 205.
- the external control point then transmits a subscription request that is processed by the UPnPTM stack 215.
- the UPnPTM stack 215 transmits the subscription request to the application 225 to enable the application 225 to be used by the external control point 205.
- the application 225 is not launched, and does not consume significant power or processor resources of the electronic device 200, until the application 225 is needed by another peer device such as the external control point 205.
- the application 225 can register with the launch assistant 220 by providing UPnPTM search target parameters to the launch assistant 220.
- UPnPTM search target parameters can identify a device type, a service type, a device-UDN (Unique Device Name), or a device-UUID (Universally Unique Identifier).
- a message sequence chart illustrates a method for launching the application 225 of the electronic device 200 using a wireless communication network, according to some embodiments of the present invention.
- information concerning the application 225 is provided to the launch assistant 220 to enable registration of the application 225 with the launch assistant 220.
- One example of an extract of sample code for registering an application with a launch assistant in accordance with an embodiment of the present invention is: int
- HInfo->DescDocument HInfo->DescURL
- HInfo->DeviceList ixmlDocument_getElementsByTagName( HInfo->DescDocument,
- the launch assistant 220 instructs the UPnPTM stack 215 to forward M-search requests to the launch assistant 220.
- the UPnPTM stack 215 acknowledges the instruction to forward M-search requests to the launch assistant 220.
- the launch assistant 220 provides a signal to the application 225 indicating that the application is now successfully registered with the UPnPTM server 210. Therefore, at line 325, the application 225 shuts down or enters a sleep mode or other type of power saving mode.
- the external control point 205 transmits an M-search request over a wireless communication network to the UPnPTM stack 215. Further to the instruction provided at line 310, at line 335 the M-search request is then forwarded to the launch assistant 220.
- the launch assistant 220 compares the M-search request with a plurality of application descriptions that describe a plurality of applications that can be served from the electronic device 200.
- the M- search request is matched with an application description of the application 225. Therefore, at line 350, a launch request signal is transmitted to the application 225.
- One example of an extract of sample code for performing matching the M-search request with an application description and then launching an application in response to the match in accordance with an embodiment of the present invention is:
- HandleMsearchMsg http_message_t * search_msg
- the application 225 is launched and registers with the UPnPTM stack 215.
- the UPnPTM stack 215 transmits to the external control point 205 a reply to the M-search request.
- the external control point 205 is then able to begin a subscription to the application 225 through the UPnPTM server 210.
- an application after an application has been launched on an electronic device in response to a search request from a control point, the application is terminated, and will exit and return to a closed state or sleep mode state, at a time after processing a registration signal, such as after a predetermined period of non use.
- An application also can be closed in response to a cancellation message received from a control point.
- a general flow diagram illustrates a method 400 for launching an application of an electronic device using a wireless communication network, according to some embodiments of the present invention.
- an application description of the application is registered using a daemon.
- a description of the application 225 is registered on the UPnPTM server 210 using the launch assistant 220 that runs as a daemon process on the electronic device 200.
- the description of the application can include any data that uniquely identify the application.
- a search request received at the electronic device from a control point in the wireless communication network is processed.
- the UPnPTM stack 215 processes the M-search request received at line 230 from the external control point 205.
- Processing a search request then also can be performed using a launch assistant module, such as the launch assistant 220, of the daemon.
- the UPnPTM stack 215 may process a plurality of search requests from a plurality of control points in the wireless communication network. Some of the plurality of search requests may be intended for other UPnPTM stacks of other electronic devices in the wireless communication network, and thus will be ignored.
- the search request is matched with the application description.
- the launch assistant 220 matches an M-search request with an application description of the application 225.
- the application is launched in response to matching the search request with the application description.
- the application 225 is launched by an instruction from the launch assistant 220 and thus is invoked from a closed state or is awoken from a low power or sleep mode.
- Executable code of an application such as the application launching program code components 125, may be stored in a non-executable memory of an electronic device, such as in the programmable memory 116 of the mobile telephone 100. Then, after an application is launched, the executable code is moved into an executable memory, such as the random access memory (RAM) 104 of the mobile telephone 100.
- RAM random access memory
- a registration signal is processed, in response to launching the application, indicating that the application has been launched.
- the application 225 transmits a registration signal to the UPnPTM stack 215 after the application 225 is launched.
- Advantages of some embodiments of the present invention therefore include enabling an application to be served on demand from an electronic device to one or more control points in a wireless communication network, but where the application is launched only when the application is requested by a control point. That enables resources (such as memory, processing and power resources) of the electronic device to be conserved by maintaining the application in a closed, inactive or low-power state until the application is needed.
- Some embodiments of the present invention do not require any additional hardware to be introduced into a wireless communication network, such as a UPnPTM network. Rather, software modifications to a daemon operating on an electronic device in a network can enable some embodiments of the present invention.
- embodiments of the invention described herein may be comprised of one or more conventional processors and unique stored program instructions that control the one or more processors to implement, in conjunction with certain non-processor circuits, some, most, or all of the functions of launching an application of an electronic device using a wireless communication network as described herein.
- the non-processor circuits may include, but are not limited to, a radio receiver, a radio transmitter, signal drivers, clock circuits, power source circuits, and user input devices. As such, these functions may be interpreted as steps of a method of launching an application of an electronic device using a wireless communication network.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
A method for launching an application of an electronic device using a wireless communication network is useful for conserving memory, processor, or power resources of the electronic device. The method includes registering using a daemon an application description of the application (step 405). A search request received at the electronic device from a control point in the wireless communication network is then processed (step 410). The search request is then matched with the application description (step 415). The application is then launched in response to matching the search request with the application description (step 420). A registration signal is then processed, in response to launching the application, indicating that the application has been launched (step 425).
Description
METHOD FOR LAUNCHING AN APPLICATION OF AN ELECTRONIC DEVICE USING A WIRELESS COMMUNICATION NETWORK
Field of the Invention The present invention relates generally to handheld electronic devices and in particular, although not exclusively, to launching an application on an electronic device only in response to a search request so as to conserve power and processor resources of the electronic device.
Background
Ad hoc wireless networking of electronic devices for home and office use is growing in popularity. Standards such as Bluetooth for wireless personal area networking (WPAN) and Institute of Electrical and Electronics Engineers (IEEE) 802.1 Ib for wireless local area networking (WLAN) are increasingly used in commercial products. For example, a home living room may include a computer, a wireless router for Internet access, a television, an amplifier, speakers and a digital video recorder, all wirelessly networked and capable of ad hoc communications using IEEE 802.11b.
Wireless networks are often preferred to wired networks such as Ethernet networks for a variety of reasons. The absence of wiring can simplify device interconnection procedures and also significantly improve the aesthetics of a room that has numerous networked devices. Also, wirelessly networked devices can be moved relative to each other much more easily, as networking wires do not need to be routed through or along walls or hidden behind furniture. Further, users continually seek increased functionality from portable electronic devices. It is often desirable to integrate the capabilities and functionality of different portable devices into a single portable device, so as to eliminate the need to carry multiple devices. From a user's perspective, eliminating the need to carry multiple devices provides a significant advantage because carrying multiple devices can be cumbersome. Also, integrating the capabilities of multiple devices into a single
device can reduce costs by eliminating the need to purchase multiple devices, as well as eliminating the need to purchase and maintain separate batteries and accessories for multiple devices.
Mobile telephones are increasingly multi-function devices that can include, in addition to wireless telephony services, functions and applications commonly associated with digital music players, personal digital assistants, notebook computers, and various other devices. For example, mobile telephones often include applications for media playing, calendaring, personal information management, internet browsing, and processing emails. User satisfaction can be increased when such applications can be wirelessly networked with other devices. The Universal Plug and Play (UPnP™) Forum has therefore developed an architecture for pervasive peer-to-peer network connectivity of devices such as intelligent appliances, wireless communication devices, and personal computers. The UPnP architecture is a distributed, open networking architecture that employs Transmission Control Protocol/Internet Protocol (TCP/IP) technologies to support seamless, "zero-configuration" networking.
However, serving applications from a wireless device such as a mobile telephone using UPnP™ architecture can drain power, memory and processor resources of the device.
Summary
According to one aspect of the present invention there is provided a method for launching an application of an electronic device using a wireless communication network, the method comprising: registering using a daemon an application description of the application; processing a search request received at the electronic device from a control point in the wireless communication network; matching the search request with the application description; launching the application in response to matching the search request with the application description; and processing a registration signal, in response to launching the application, indicating that the application has been launched.
Brief Description of the Drawings
In order that the invention may be readily understood and put into practical effect, reference now will be made to exemplary embodiments as illustrated with reference to the accompanying figures, where like reference numerals refer to identical or functionally similar elements throughout the separate views. The figures together with a detailed description below, are incorporated in and form part of the specification, and serve to further illustrate the embodiments and explain various principles and advantages, in accordance with the present invention, where:
FIG. 1 is a schematic diagram illustrating an electronic device in the form of a mobile telephone, according to some embodiments of the present invention;
FIG. 2 is a block diagram illustrating pseudo modules of an electronic device that interact with an external control point to launch an application on the electronic device, according to some embodiments of the present invention;
FIG. 3 is a message sequence chart illustrating a method for launching an application of the electronic device using a wireless communication network, according to some embodiments of the present invention; and
FIG. 4 is a general flow diagram illustrating a method of launching an application of an electronic device using a wireless communication network, according to some embodiments of the present invention. Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of embodiments of the present invention.
Detailed Description
Before describing in detail embodiments that are in accordance with the present invention, it should be observed that the embodiments reside primarily in combinations of method steps and device components related to launching an application of an electronic device using a wireless communication network.
Accordingly, the device components and method steps have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments of the present invention so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.
In this document, relational terms such as first and second, top and bottom, front and back, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. The terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or device that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or device. An element preceded by "comprises a..." does not, without more constraints, preclude the existence of additional identical elements in the process, method, article, or apparatus that comprises the element.
Referring to FIG. 1, a schematic diagram illustrates an electronic device in the form of a mobile telephone 100, according to some embodiments of the present invention. The mobile telephone 100 comprises a radio frequency communications unit 102 coupled to be in communication with a common data and address bus 117 of a processor 103. The mobile telephone 100 also has a keypad 106 and a display screen 105, such as a touch screen coupled to be in communication with the processor 103.
The processor 103 also includes an encoder/decoder 111 with an associated code Read Only Memory (ROM) 112 for storing data for encoding and decoding voice or other signals that may be transmitted or received by the mobile telephone 100.
The processor 103 further includes a microprocessor 113 coupled, by the common data and address bus 117, to the encoder/decoder 111, a character Read Only Memory (ROM) 114, a Random Access Memory (RAM) 104, programmable memory 116 and a Subscriber Identity Module (SIM) interface 118. The programmable memory 116 and a SIM operatively coupled to the SIM interface 118 each can store, among other things, a telephone number database (TND) comprising a number field for telephone numbers and a name field for identifiers uniquely associated with the telephone numbers in the number field.
The radio frequency communications unit 102 is a combined receiver and transmitter having a common antenna 107. The radio frequency communications unit 102 has a transceiver 108 coupled to the common antenna 107 via a radio frequency amplifier 109. The transceiver 108 is also coupled to a combined modulator/demodulator 110 that is coupled to the encoder/decoder 111.
The microprocessor 113 has ports for coupling to the keypad 106 and to the display screen 105. The microprocessor 113 further has ports for coupling to an alert module 115 that typically contains an alert speaker, vibrator motor and associated drivers; to a microphone 120; and to a communications speaker 122. The character ROM 114 stores code for decoding or encoding data such as control channel messages that may be transmitted or received by the radio frequency communications unit 102. In some embodiments of the present invention, the character ROM 114, the programmable memory 116, or a SIM also can store operating code (OC) for the microprocessor 113 and code for performing functions associated with the mobile telephone 100. For example, the programmable memory 116 can comprise application launching program code components 125 configured to cause execution of a method for launching an application of an electronic device using a wireless communication network.
Thus some embodiments of the present invention include a method for launching an application of the mobile telephone 100 using a wireless communication network. The method includes registering using a daemon an application description of the application. A search request received at the electronic device from a control point in the wireless communication network is then processed. The search request is
then matched with the application description. The application is then launched in response to matching the search request with the application description. A registration signal is then processed, in response to launching the application, indicating that the application has been launched. The mobile telephone 100 therefore is able to conserve battery power, memory and processor resources, as applications can be served to control points in a wireless communication network by launching the applications only when needed. When an application is not needed by a wireless communication network, the application can be closed or operated in a low power or sleep mode. Referring to FIG. 2, a block diagram illustrates pseudo modules of an electronic device 200 that interact with an external control point 205 to launch an application on the electronic device 200, according to some embodiments of the present invention. For example, the electronic device 200 can be a mobile phone, such as the mobile telephone 100, a personal digital assistant (PDA), a notebook computer, or other type of device having limited processing or power resources. The pseudo modules then can be defined in software in a memory of the electronic device 200, such as in the programmable memory 116, or in combinations of software and hardware.
The external control point 205 is a peer device that communicates with the electronic device 200 using a wireless communication network. The pseudo modules include a Universal Plug and Play technology (UPnP™) server 210 that executes a daemon on the electronic device 200. The term "daemon" as used herein refers to a background program that is executed on the electronic device 200. The UPnP™ server 210 comprises a UPnP™ stack 215 that functions as a wireless communications protocol stack. The UPnP™ server 210 also comprises a launch assistant 220 that assists in launching an application 225 on the electronic device 200. The application 225 can include various types of applications such as device scanners and media servers.
After the application 225 is registered with the launch assistant 220, the application 225 can be closed or operated in a low power sleep mode until it is needed by an external control point. For example, consider that the application 225 is
inactive but is registered with the launch assistant 220. Then, at line 230, the external control point 205 seeks to activate the application 225 and therefore transmits a search request to the UPnP stack 215. A search request, such as a UPnP M-search request, can conform to a simple service discovery protocol. At line 235, the UPnP™ stack 215 forwards the search request to the launch assistant 220 where the search request is matched with an application description of the application 225. A plurality of application descriptions concerning a plurality of applications can be registered at the electronic device 200, thus matching a search request with an application description may require comparing a search request with multiple application descriptions. At line 240, the UPnP™ server 210 then sends a launch signal that activates the application 225. At line 245, the application 225 registers with the UPnP™ stack as an active application of the electronic device 200. At line 250, a positive reply to the search request is transmitted to the external control point 205. At line 255, the external control point then transmits a subscription request that is processed by the UPnP™ stack 215. Finally, at line 260, the UPnP™ stack 215 transmits the subscription request to the application 225 to enable the application 225 to be used by the external control point 205. Thus the application 225 is not launched, and does not consume significant power or processor resources of the electronic device 200, until the application 225 is needed by another peer device such as the external control point 205.
The application 225 can register with the launch assistant 220 by providing UPnP™ search target parameters to the launch assistant 220. For example, as is well known in the art of the present invention, UPnP™ search target parameters can identify a device type, a service type, a device-UDN (Unique Device Name), or a device-UUID (Universally Unique Identifier).
Referring to FIG. 3, a message sequence chart illustrates a method for launching the application 225 of the electronic device 200 using a wireless communication network, according to some embodiments of the present invention. At line 305, information concerning the application 225 is provided to the launch assistant 220 to enable registration of the application 225 with the launch assistant
220. One example of an extract of sample code for registering an application with a launch assistant in accordance with an embodiment of the present invention is: int
UpnpRegisterAutoLanuchDevice( IN const char *DescUrl ) {
Handle lnfo *HInfo; char * description = ( char * )description_const;
GetDescDocumentAndURL( descriptionType, description, bufferLen, config baseURL,
HInfo->DescDocument, HInfo->DescURL ); HInfo->DeviceList = ixmlDocument_getElementsByTagName( HInfo->DescDocument,
"device" ); // Get device UDN udn = FindUDN( HInfo->DescDocument ); HInfo->ServiceList = ixmlDocument_getElementsByTagName( HInfo->DescDocument,
"serviceList" ); }
At line 310, the launch assistant 220 instructs the UPnP™ stack 215 to forward M-search requests to the launch assistant 220. At line 315, the UPnP™ stack 215 acknowledges the instruction to forward M-search requests to the launch assistant 220. At line 320, the launch assistant 220 provides a signal to the application 225 indicating that the application is now successfully registered with the UPnP™ server 210. Therefore, at line 325, the application 225 shuts down or enters a sleep mode or other type of power saving mode.
At line 330, the external control point 205 transmits an M-search request over a wireless communication network to the UPnP™ stack 215. Further to the instruction provided at line 310, at line 335 the M-search request is then forwarded to the launch assistant 220. At line 340, the launch assistant 220 compares the M-search request with a plurality of application descriptions that describe a plurality of applications that can be served from the electronic device 200. At line 345, the M- search request is matched with an application description of the application 225. Therefore, at line 350, a launch request signal is transmitted to the application 225.
One example of an extract of sample code for performing matching the M-search request with an application description and then launching an application in response to the match in accordance with an embodiment of the present invention is:
HandleMsearchMsg(http_message_t * search_msg) {
Char * search_target; search_target = GetSearchTarget(search_msg); app name = MatchDevicelnfo(search target); if (app name =! NULL) {
LaunchDeviceApp(app name); } }
At line 355, the application 225 is launched and registers with the UPnP™ stack 215. At line 360, the UPnP™ stack 215 transmits to the external control point 205 a reply to the M-search request. The external control point 205 is then able to begin a subscription to the application 225 through the UPnP™ server 210.
According to some embodiments of the present invention, after an application has been launched on an electronic device in response to a search request from a control point, the application is terminated, and will exit and return to a closed state or sleep mode state, at a time after processing a registration signal, such as after a predetermined period of non use. An application also can be closed in response to a cancellation message received from a control point.
Referring to FIG. 4, a general flow diagram illustrates a method 400 for launching an application of an electronic device using a wireless communication network, according to some embodiments of the present invention. At step 405, an application description of the application is registered using a daemon. For example, a description of the application 225 is registered on the UPnP™ server 210 using the launch assistant 220 that runs as a daemon process on the electronic device 200. The description of the application can include any data that uniquely identify the application.
At step 410, a search request received at the electronic device from a control point in the wireless communication network is processed. For example, the UPnP™ stack 215 processes the M-search request received at line 230 from the external control point 205. Processing a search request then also can be performed using a launch assistant module, such as the launch assistant 220, of the daemon. Also, the UPnP™ stack 215 may process a plurality of search requests from a plurality of control points in the wireless communication network. Some of the plurality of search requests may be intended for other UPnP™ stacks of other electronic devices in the wireless communication network, and thus will be ignored. At step 415, the search request is matched with the application description.
For example, the launch assistant 220 matches an M-search request with an application description of the application 225.
At step 420, the application is launched in response to matching the search request with the application description. For example, the application 225 is launched by an instruction from the launch assistant 220 and thus is invoked from a closed state or is awoken from a low power or sleep mode. Executable code of an application, such as the application launching program code components 125, may be stored in a non-executable memory of an electronic device, such as in the programmable memory 116 of the mobile telephone 100. Then, after an application is launched, the executable code is moved into an executable memory, such as the random access memory (RAM) 104 of the mobile telephone 100.
At step 425, a registration signal is processed, in response to launching the application, indicating that the application has been launched. For example, the application 225 transmits a registration signal to the UPnP™ stack 215 after the application 225 is launched.
Advantages of some embodiments of the present invention therefore include enabling an application to be served on demand from an electronic device to one or more control points in a wireless communication network, but where the application is launched only when the application is requested by a control point. That enables resources (such as memory, processing and power resources) of the electronic device to be conserved by maintaining the application in a closed, inactive or low-power
state until the application is needed. Some embodiments of the present invention do not require any additional hardware to be introduced into a wireless communication network, such as a UPnP™ network. Rather, software modifications to a daemon operating on an electronic device in a network can enable some embodiments of the present invention.
It will be appreciated that embodiments of the invention described herein may be comprised of one or more conventional processors and unique stored program instructions that control the one or more processors to implement, in conjunction with certain non-processor circuits, some, most, or all of the functions of launching an application of an electronic device using a wireless communication network as described herein. The non-processor circuits may include, but are not limited to, a radio receiver, a radio transmitter, signal drivers, clock circuits, power source circuits, and user input devices. As such, these functions may be interpreted as steps of a method of launching an application of an electronic device using a wireless communication network. Alternatively, some or all functions could be implemented by a state machine that has no stored program instructions, or in one or more application specific integrated circuits (ASICs), in which each function or some combinations of certain of the functions are implemented as custom logic. Of course, a combination of the two approaches could be used. Thus, methods and means for these functions have been described herein. Further, it is expected that one of ordinary skill, notwithstanding possibly significant effort and many design choices motivated by, for example, available time, current technology, and economic considerations, when guided by the concepts and principles disclosed herein will be readily capable of generating such software instructions and programs and ICs with minimal experimentation.
In the foregoing specification, specific embodiments of the present invention have been described. However, one of ordinary skill in the art appreciates that various modifications and changes can be made without departing from the scope of the present invention as set forth in the claims below. Accordingly, the specification and figures are to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope of present invention.
The benefits, advantages, solutions to problems, and any element(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as critical, required, or essential features or elements of any or all the claims. The invention is defined solely by the appended claims including any amendments made during the pendency of this application and all equivalents of those claims.
Claims
1. A method for launching an application of an electronic device using a wireless communication network, the method comprising: registering using a daemon an application description of the application; processing a search request received at the electronic device from a control point in the wireless communication network; matching the search request with the application description; launching the application in response to matching the search request with the application description; and processing a registration signal, in response to launching the application, indicating that the application has been launched.
2. The method of claim 1 , wherein the daemon is executed using a Universal Plug and Play technology server.
3. The method of claim 1 , wherein processing the search request is performed using a launch assistant module of the daemon.
4. The method of claim 1 , wherein processing the registration signal is performed using a Universal Plug and Play technology stack of the daemon.
5. The method of claim 1 , wherein the application is terminated at a time after processing the registration signal.
6. The method of claim 5, wherein the application is terminated after a predetermined period of non use or in response to a cancellation message received from the control point.
7. The method of claim 1 , wherein the search request received from the control point is a Universal Plug and Play M-SEARCH request.
8. The method of claim 1, wherein the search request conforms to a simple service discovery protocol.
9. The method of claim 1, wherein the control point is another electronic device in the wireless communication network.
10. The method of claim 1 , further comprising processing a plurality of search requests received at the electronic device from a plurality of control points in the wireless communication network.
11. The method of claim 1 , wherein executable code of the application is stored in a non-executable memory of the electronic device when the search request is received at the electronic device.
12. The method of claim 1 , wherein a plurality of application descriptions concerning a plurality of applications are registered at the electronic device.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710096126.3 | 2007-04-13 | ||
CN200710096126.3A CN101287197A (en) | 2007-04-13 | 2007-04-13 | Method of starting electronic device application by using wireless communication network |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2008127905A2 true WO2008127905A2 (en) | 2008-10-23 |
WO2008127905A3 WO2008127905A3 (en) | 2009-04-16 |
Family
ID=39864618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2008/059547 WO2008127905A2 (en) | 2007-04-13 | 2008-04-07 | Method for launching an application of an electronic device using a wireless communication network |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101287197A (en) |
WO (1) | WO2008127905A2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011097741A1 (en) * | 2010-02-15 | 2011-08-18 | Research In Motion Limited | Devices and methods for searching data on data sources associated with registered applications |
CN104539548A (en) * | 2014-12-15 | 2015-04-22 | 小米科技有限责任公司 | Method and device for starting application |
US20160173658A1 (en) * | 2014-12-15 | 2016-06-16 | Xiaomi Inc. | Method and device for starting application |
US10073957B2 (en) | 2013-10-31 | 2018-09-11 | Xiaomi Inc. | Method and terminal device for protecting application program |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254448B (en) * | 2016-07-29 | 2019-09-27 | 北京小度信息科技有限公司 | A kind of information acquisition method and device |
CN113282773A (en) * | 2021-01-29 | 2021-08-20 | 青岛海信传媒网络技术有限公司 | Video searching method, display device and server |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020055984A1 (en) * | 2000-11-01 | 2002-05-09 | Chang William Ho | Method for device-to-device pervasive digital output |
US20050044430A1 (en) * | 2003-08-20 | 2005-02-24 | Cheshire Stuart D. | Method and apparatus for implementing a sleep proxy for services on a network |
US20060294063A1 (en) * | 2005-06-23 | 2006-12-28 | Microsoft Corporation | Application launching via indexed data |
US20070076672A1 (en) * | 2005-09-30 | 2007-04-05 | Roberto Gautier | Method and system for controlling ad-hoc membership in wireless networks to improve battery life |
WO2007039807A1 (en) * | 2005-10-03 | 2007-04-12 | Nokia Corporation | Low-power proxy for providing content listings in ad-hoc, peer to peer networks |
-
2007
- 2007-04-13 CN CN200710096126.3A patent/CN101287197A/en active Pending
-
2008
- 2008-04-07 WO PCT/US2008/059547 patent/WO2008127905A2/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020055984A1 (en) * | 2000-11-01 | 2002-05-09 | Chang William Ho | Method for device-to-device pervasive digital output |
US20050044430A1 (en) * | 2003-08-20 | 2005-02-24 | Cheshire Stuart D. | Method and apparatus for implementing a sleep proxy for services on a network |
US20060294063A1 (en) * | 2005-06-23 | 2006-12-28 | Microsoft Corporation | Application launching via indexed data |
US20070076672A1 (en) * | 2005-09-30 | 2007-04-05 | Roberto Gautier | Method and system for controlling ad-hoc membership in wireless networks to improve battery life |
WO2007039807A1 (en) * | 2005-10-03 | 2007-04-12 | Nokia Corporation | Low-power proxy for providing content listings in ad-hoc, peer to peer networks |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011097741A1 (en) * | 2010-02-15 | 2011-08-18 | Research In Motion Limited | Devices and methods for searching data on data sources associated with registered applications |
US9104721B2 (en) | 2010-02-15 | 2015-08-11 | Blackberry Limited | Devices and methods for searching data on data sources associated with registered applications |
US10073957B2 (en) | 2013-10-31 | 2018-09-11 | Xiaomi Inc. | Method and terminal device for protecting application program |
CN104539548A (en) * | 2014-12-15 | 2015-04-22 | 小米科技有限责任公司 | Method and device for starting application |
US20160173658A1 (en) * | 2014-12-15 | 2016-06-16 | Xiaomi Inc. | Method and device for starting application |
EP3035646A1 (en) * | 2014-12-15 | 2016-06-22 | Xiaomi Inc. | Method and device for starting application |
RU2625443C2 (en) * | 2014-12-15 | 2017-07-13 | Сяоми Инк. | Method and device for the application start-up |
CN104539548B (en) * | 2014-12-15 | 2018-05-08 | 小米科技有限责任公司 | Using startup method and device |
US10182133B2 (en) | 2014-12-15 | 2019-01-15 | Xiaomi Inc. | Method and device for starting application |
Also Published As
Publication number | Publication date |
---|---|
CN101287197A (en) | 2008-10-15 |
WO2008127905A3 (en) | 2009-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2188903B1 (en) | Methods and devices for automatic multiple pairing of bluetooth devices | |
US11330065B2 (en) | Application connection for devices in a network | |
US9369940B2 (en) | Mobile handheld multi-media gateway and phone | |
JP2020521396A (en) | Wireless local area network configuration method and device | |
US8965337B2 (en) | Method and system for discovering communication devices | |
WO2008127905A2 (en) | Method for launching an application of an electronic device using a wireless communication network | |
JP7204927B2 (en) | Service-based communication method, unit, system and computer program | |
CN102100111A (en) | Methods, apparatuses and computer program products for providing temporal information | |
CN103797767A (en) | Methods and apparatus for launching an application identified by a sensor | |
WO2008068608A2 (en) | Method and apparatus for providing network selection | |
WO2022143071A1 (en) | Connection establishment method and electronic device | |
CN105933204A (en) | Method and device for enabling first equipment to transmit synchronization message to second equipment | |
CN104333643A (en) | Method and system for adding contacts, and terminal | |
KR20150095722A (en) | Method and apparatus for cloud based power management of local network devices | |
CN110418311B (en) | Interconnection method and device based on multiple terminals and terminal | |
CN102655669A (en) | Mobile phone and call receiving method thereof | |
US20070287421A1 (en) | Method and system for providing continuity of service with an existing communication network | |
CN105871425A (en) | Method for first equipment to receive synchronous message from second equipment and device | |
US20070286133A1 (en) | Handheld communication device for communication of information | |
KR100958898B1 (en) | Improvements for discovering device owners in the VPN search service | |
US20080008123A1 (en) | Touch type bluetooth match system, bluetooth devices for same | |
CN113132997B (en) | Communication method, device and system of intelligent household equipment | |
CN101471931B (en) | Method for awakening electronic equipment from dormancy mode by wireless communication network | |
CN105430642A (en) | File transmission method and apparatus | |
JP5391982B2 (en) | Terminal device and power supply control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 08745222 Country of ref document: EP Kind code of ref document: A2 |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 08745222 Country of ref document: EP Kind code of ref document: A2 |