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 PDF

Info

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
Application number
PCT/US2008/059547
Other languages
French (fr)
Other versions
WO2008127905A3 (en
Inventor
Guo-Chen Wang
Ralph Dale-Jones
Jian Liang
Original Assignee
Motorola, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola, Inc. filed Critical Motorola, Inc.
Publication of WO2008127905A2 publication Critical patent/WO2008127905A2/en
Publication of WO2008127905A3 publication Critical patent/WO2008127905A3/en

Links

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C17/00Arrangements for transmitting signals characterised by the use of a wireless electrical link
    • G08C17/02Arrangements for transmitting signals characterised by the use of a wireless electrical link using a radio link
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/40Remote control systems using repeaters, converters, gateways
    • G08C2201/42Transmitting or receiving remote control signals via a network
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/90Additional features
    • G08C2201/93Remote control using other portable devices, e.g. mobile phone, PDA, laptop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery 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

We claim:
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.
PCT/US2008/059547 2007-04-13 2008-04-07 Method for launching an application of an electronic device using a wireless communication network WO2008127905A2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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