US20030228866A1 - Mobile terminal system - Google Patents
Mobile terminal system Download PDFInfo
- Publication number
- US20030228866A1 US20030228866A1 US10/442,228 US44222803A US2003228866A1 US 20030228866 A1 US20030228866 A1 US 20030228866A1 US 44222803 A US44222803 A US 44222803A US 2003228866 A1 US2003228866 A1 US 2003228866A1
- Authority
- US
- United States
- Prior art keywords
- mobile device
- application
- application server
- virtual machine
- server
- Prior art date
- Legal status (The legal status 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 status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
- H04W8/24—Transfer of terminal data
- H04W8/245—Transfer of terminal data from a network towards a terminal
-
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
- H04W4/14—Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
Definitions
- the present invention relates generally to mobile communication devices, and more particularly relates to the dynamic provision of applications to mobile communication devices via application servers.
- terminals In the area of wired conventional computer communications, terminals have been in use for at least 30 years. Terminals served as input-output devices, acting merely as an interface between a user and a remote computer. Typically, a terminal consisted of a screen and keyboard, with little or no processing power and no local storage. The terminal, or client, was connected to a host computer, usually a mainframe, by way of a serial line connection. This hard-wiring ensured the security of the transmissions between the host and the client. Characters entered on the terminal were transmitted to the host to be acted on by software resident thereon, and characters generated on the host by the software were transmitted back to the terminal for display to the user. An advantage of the terminal system was that it allowed multiple users to access the processing power and applications resident on the mainframe without attending at the mainframe location. In addition, because of their simple, rugged design, the terminals were inexpensive and tended to outlast early micro-computers.
- net-boxes The concept of terminals has been adapted for use with the Internet through the use of “net-boxes”.
- the net-box is a terminal connected to a network by a coaxial or serial line connections so as to allow a user to access and execute software that is resident on remote computers.
- a net-box like a terminal, has limited processing power and little or no local storage. It might have a simple operating system or front-end, but more complicated software is located remotely. As with the original terminal, this allows the net-box to be manufactured less expensively and with a simpler, more generic design than a personal computer.
- the simplicity of design reduces administration costs for such systems as a service provider can modify the functionality provided to the net-boxes simply by replacing the terminal, or application, server or by modifying its configuration to change the applications offered.
- Mobile communication devices such as PDAs and mobile phones are simple computers with limited computational power and resources, such as storage, memory and clock frequency.
- Mobile communication devices can be equipped with client software to communicate with a remote server through a wireless network.
- client software to communicate with a remote server through a wireless network.
- Such devices are usually loaded with a few client applications either by the user, the manufacturer or the network operator. It is a common practice to distribute applications through the Internet. Some additional equipment such as a personal computer and special cables and connectors are needed to transfer the client application to the mobile communications device.
- the embedded SIM (subscriber identity module) card acts as the computer while the handset or device performs the function of the input/output device.
- SIM cards are preloaded with the desired applications and sent to end-users.
- Applications loaded onto the SIM card prior to sale to the end-user are primarily developed with a SIM toolkit, such as that available from Gemplus, that employ the SIM toolkit markup language (STKML).
- STKML is not unlike HTML and, as such, there is an inherently large overhead associated with transmitting commands that access remote device control functionality from an application server to a GSM device. End-users can only access applications resident on their SIM and, thus, need to update the applications on their SIM or obtain a new SIM to access new applications.
- OTA Over-The-Air
- An OTA platform is effectively a computer equipped with the necessary software to remotely access a SIM card in a GSM phone and upload an application or other information onto the card. Even though utilizing an OTA platform for updating applications on a SIM card is theoretically possible, this method is not widely used. Uploading an application onto a remote SIM card over the air is a slow process.
- the application typically five kilobytes in size, must be divided in fragments of approximately 140 bytes embedded in short messages. These messages are then sent to the SIM via SMS (short message service).
- SMS short message service
- the OTA usually requests a delivery receipt from the handset. The risk for failure grows with the size of the application.
- Another method of updating the applications on a SIM card is the connection of the handset or device to a computer by cable and the uploading of applications and data to the SIM card using software.
- a further method is the provisioning of a new SIM card to the end-user containing the updated applications is expensive as a new card must be securely mailed. Still further, the end-user must remove the currently-installed SIM card and replace it with the newer one.
- Another method of application delivery for mobile devices is to provide a browser on the device, either as part of the handset or device, or on a SIM module.
- the browser application When the browser application is initiated by the handset, the browser fetches a generic page that includes links to other pages.
- the browser is not unlike a web browser on a desktop computer in that it is a request/response application; that is, it can only receive a page of information that it requests and cannot be forwarded a page or instructions that it did not request.
- many mobile devices are not equipped with a browser. Where provisioned, browser applications typically occupy seven kilobytes of the limited 16 to 32 kilobytes of memory that SIMs are typically provisioned with.
- information delivered to a browser on a mobile device is formatted in a markup language similar to HTML that, however, inherently has a large overhead associated with the tags defining formatting or other information, such as the location of a linked page.
- a mobile terminal system comprising: at least one mobile device for communication with at least one application server via a communication medium, the mobile devices having a user interface, a wireless communications interface and a removable module; a virtual machine implemented by the removable module, the virtual machine defined by a set of instructions enabling management of the mobile device; the removable module additionally having a wireless communication module enabling the virtual machine to receive a set of commands through the wireless communications interface from the at least one application server, the commands being chosen from the set of instructions; and at least one application hosted by the at least one application server, the at least one application having a first network interface for sending the set of commands and receiving a set of client data.
- the removable module and the at least one application server additionally comprise a cryptographic module to provide authentication between the mobile device and the at least one application server.
- the cryptographic module encrypts and decrypts communication between the mobile device and the at least one application server.
- the system additionally comprises: a first application server hosting a directory application, the directory application being configured to provide an application list response to the mobile device in response to an application list request from the mobile, enabling the mobile device to initiate interaction with one of the at least one application.
- the first application server has knowledge of at least one other application hosted by at least one other application server, and the application list response includes a set of addresses for the at least other one application hosted on the at least one other application server.
- the set of instructions consists of one byte op-codes.
- the at least one application server is in communication with at least one data server and one of the applications on the at least one application server is operable to request and receive a data object from the at least one information server, reformat the data object for the virtual machine and transmit the reformatted data object to the mobile device.
- Data objects can include, but are not limited to, web pages or responses to database queries.
- a mobile terminal device comprising: a mobile device having a user interface, a removable module and a wireless communications interface for communicating with at least one application server; the removable module implementing a virtual machine enabling management of the mobile device through a set of instructions provisioned by the virtual machine; and a wireless communication module on the removable module enabling the virtual machine to transmit a set of client data through the wireless communications interface to the at least one application server and receive at least one command formed from the set of instructions.
- a removable module for use in a mobile device, comprising: non-volatile memory means for storage of at least one application and a set of application data; and the at least one application including a virtual machine defined by a set of instructions, and a communications module enabling the mobile device to receive a message in a first format natively handled by the mobile device and allowing the extraction from the message at least one command at least partially comprised of a subset of the set of instructions, such that when the removable module is deployed in the mobile device, the mobile device is able to receive the at least one command from an application server.
- the removable module additionally comprises a communications module for extracting the at least one command from the message and an optional cryptographic module to provide authentication between the mobile device and the application server and possibly to encrypt communication to and decrypts communication from the application server.
- the removable module additionally comprises: processing means for executing the virtual machine; and volatile memory means enabling the temporary storage of a set of runtime data by the virtual machine.
- the set of instructions are mapped to one-byte op-codes.
- the set of instructions enable the application server to remotely control the mobile device.
- the set of instructions enables the virtual machine to receive the at least one command from the application server, allowing a user to initiate communication with a second application server upon selection thereof by a user of the mobile device.
- an application server for enabling a mobile device to access an application, comprising: a network interface for sending a set of messages to the mobile device and for receiving a set of communications from the mobile device, the mobile device implementing a virtual machine defined by a set of instructions, and the messages encapsulating at least one command chosen from the set of instructions; at least one application for interaction with the mobile device, the at least one application being operable to generate a set of directions for the mobile device, compile the set of directions into at least one command for execution by the virtual machine and package the at least one command in the set of messages natively handled by the mobile device.
- the virtual machine is implemented by a removable module of the mobile device.
- the instructions are mapped to a set of one-byte op-codes and the at least one application compiles the set of directions at least partially into the one-byte op-codes.
- the application server initiates a session by transmitting the at least one command to the mobile device without having received at least one communication from the mobile device.
- the set of instructions enables the application server to remotely control the mobile device.
- a directory application maintains a list of applications accessible to the mobile device, the directory application being operable to receive an application list request from the mobile device and return an application list response comprised of the set of directions required to instruct the virtual machine to display a menu of the list of applications that enables a user of the mobile device to select one of the applications in the list of applications and initiate communications with the application selected.
- At least one of the applications on the list of applications is hosted by a second application server, and selection of one of the applications by the user of the mobile device causes the mobile device to initiate a session with the second application server.
- a method of adding an application to an application server accessed by a mobile device comprising: configuring the application for deployment on the application server; updating an application list indicating a set of available applications on the application server; receiving a request for the application list; and responding to the request with the updated application list, the updated application list being compiled at least partially into a set of commands chosen from a set of instructions provided by a virtual machine implemented by a mobile device; such that a user of the mobile device can select any one of the available applications from the application list and initiate interaction therewith.
- the virtual machine is implemented on a removable module of the mobile device.
- the set of instructions is comprised of one-byte op-codes.
- a system of managing a mobile device from a remote server comprising: a remote server having a network interface for transmitting at least one command in at least one command communication over a wireless protocol; a mobile device having a user interface, a wireless communication interface and a removable module; a virtual machine implemented on the removable module, the virtual machine having a set of instructions enabling control of the mobile device; and the removable module having a wireless communication module for receiving the at least one command communication from the remote server received through the wireless communication interface, extracting the at least one command from the at least one command communication and forwarding the at least one command to the virtual machine, enabling the remote server to control the mobile device.
- a method of transferring sessional control on a mobile device from a first application hosted on a first application server to a second application hosted by a second application server comprising: sending at least one command selected from a set of instructions provided by a virtual machine implemented on a removable module of the mobile device from the first application on the first application server through a first network interface thereon to the mobile device, thereby enabling the mobile device to send an initial request to the second application hosted on the second application server.
- the virtual machine is implemented by a removable module of the mobile device.
- the mobile device sends the initial request to the second application upon selection of the second application by a user of the mobile device.
- the set of instructions are comprised of one-byte op-codes.
- FIG. 1 is a block diagram of the mobile terminal device system in accordance with an embodiment of the present invention.
- FIG. 2 is a schematic diagram of a mobile device used in the system of FIG. 1;
- FIG. 3 is a schematic diagram of an application server used in the system of FIG. 1.
- the mobile terminal device system in accordance an embodiment of the invention is indicated generally at 100 .
- a plurality of mobile devices 200 are in communication with a number of base stations 104 .
- mobile devices 200 and base stations 104 communicate in accordance with the Global System for Mobile Communications (GSM) standard.
- GSM Global System for Mobile Communications
- Mobile devices 200 represent cellular telephone handsets that are Phase 2+compliant.
- Such devices for purposes of the present invention, are distinguished over prior GSM handsets in that they allow a new set of commands that enable direct access to various features of the handset. These commands are referred to as “proactive commands” and form part of the STK instruction set for Phase 2+ compliant devices.
- SMS Short Message Service
- GSM Global System for Mobile communications
- SMS messages received by a base station 104 are forwarded to a SMS Center (SMSC) 108 .
- SMSC 108 Upon receipt of an SMS message, SMSC 108 attempts to locate the addressee and forward the message.
- SMSC 108 forwards the SMS message to an SMS Gateway (SMSGW) 112 in communication with application servers 300 over a large network, such as the Internet 116 .
- SMSGW SMS Gateway
- SMSGW 112 serves three functions: the reformatting of messages (if required), the interfacing with the SMSCs 108 and the routing of these messages.
- the reformatting functionality required of SMSGW 112 depends on the topological location of SMSGW 112 .
- SMSGW 112 can communicate with SMSCs 108 via short message peer-to-peer protocol (SMPP) over the routing protocol implemented by the carrier's backbone, such as Internet protocol (IP) or X.25, and with application servers 300 via transmission control protocol over IP (TCP/IP) through the carrier's Internet point-of-presence.
- SMPP short message peer-to-peer protocol
- IP Internet protocol
- TCP/IP transmission control protocol over IP
- SMSGW 112 extracts the data from the SMPP datagram and, in some cases, concatenates and packages the data segments for transmission as a TCP/IP packet. SMSGW 112 then forwards the data to the addressee, an application server 300 , over the Internet 116 .
- Communications from application servers 300 to mobile devices 200 travel the reverse route through the Internet 116 , to SMSGW 112 , then to SMSC 108 and finally to mobile device 100 via base station 104 .
- a mobile device 200 in accordance with the present invention is shown.
- User interaction with mobile device 200 is directed through a user interface 204 .
- User interface 204 typically consists of a display screen and a keypad (both not explicitly shown). It is noted, however, that user interface 204 can be implemented in a number of ways, including, but not limited to, audio input and output.
- a user can initiate interaction with an application resident on remote application server 300 by depressing a key on the keypad.
- a signal is sent from user interface 204 to a subscriber identity module (SIM) 208 .
- SIM subscriber identity module
- SIM 208 is effectively a system on a chip that includes a microprocessor, read-only memory (ROM), persistent electrically-erasable programmable read-only memory (EEPROM), volatile random access memory (RAM) and a serial input/output interface.
- SIM 208 is typically loaded with an operating system that implements a file system and executes a number of applications. This software is loaded into the ROM and the EEPROM by either the manufacturer or vendor of SIM 208 , or the provider of the wireless service.
- the SIM relies on the GSM handset for battery power and clock maintenance.
- Mobile device 200 relies on SIM 208 to execute authentication algorithms to identify the user to the wireless service provider's network, use cryptographic keys stored in EEPROM for authentication, store data for various services such as abbreviated number dialing and SMS, and store applications.
- SIM 208 is provisioned with a set of additional applications to enable the enhanced functionality. These applications are typically loaded prior to distribution to an end-user, but can also be uploaded to SIM 208 via an over-the-air (OTA) system.
- OTA over-the-air
- a logic subsystem 212 determines whether or not the message is directed to an application hosted by application server 300 . If the message is directed to an application hosted by application server 300 , the message is forwarded to wireless communication module 224 optionally by way of cryptographic module 220 , otherwise it is sent on to other functionality 232 implemented by SIM 208 , such as a voice call or a text SMS.
- Cryptographic module 220 upon request for initiation of a session with an application hosted on remote application server 300 , the request is forwarded to a cryptographic module 220 .
- Cryptographic module 220 provides a number of services. Typically, cryptographic module 220 encrypts all communications to remote application server 300 .
- a variety of encryption schemes can be employed, but where sensitive information is being transmitted, it is more common to either fully encrypt all communications via public key encryption or use public key encryption to obtain a symmetric session key. Although encryption is currently available, end-to-end security is not provided.
- Transmissions are only encrypted between mobile device 200 and base station 104 and then from an encryption-enabled server from within the wireless service provider's infrastructure to the other end, leaving data unencrypted from base station 104 to the encryption-enabled server, typically at the wireless service provider's point-of-presence for the Internet.
- the algorithms used for encrypting transmissions between mobile devices 200 and base stations 104 such as A5/1, are considered to be weak and, as such, susceptible to attack.
- SIM 208 digitally sign a message enables a variety of applications where non-repudiation is essential, such as m-commerce, banking, etc.
- Wireless communication module 224 prepares the message for transmission by segmenting the message, if necessary, and packaging it as an SMS message that is readily handled by the standard functionality of the handset.
- the SMS message is then forwarded to a radio 236 for transmission through antenna 240 to base station 104 .
- application server 300 is shown in accordance with an embodiment of the invention.
- the message from mobile device 200 is received by an application server front end 304 on a network interface 308 .
- Application server front end 304 can be a separate process running on the same physical device as application server 300 or can be placed on a separate physical device.
- Network interface 308 assembles the message from the TCP/IP packets received and passes the message to a cryptographic module 312 that decrypts the message encrypted by cryptographic module 220 .
- Cryptographic module 312 can also verify a digital signature if one has been appended to the message to ensure that the message was sent from a specific handset.
- cryptographic module 312 does not possess a required certificate for mobile device 200 , it can obtain the required certificate from a certificate server 120 .
- the message is then forwarded one of at least one application 316 hosted by application server 300 .
- Application server 300 upon completion of processing of the message by cryptographic module 312 , launches the addressed application 316 , if not then running, and passes the message to it.
- the initial message from mobile device 200 to application server 300 is a request for a list of applications hosted thereon.
- application server 300 Upon receipt of this request, application server 300 forwards it to a directory application 320 which has or can obtain knowledge of a list of applications 316 hosted by application server 300 .
- Directory application 320 receives this request and generates a list of applications 316 and the address of each application.
- Application server 300 then generates the necessary code to display an interactive menu on mobile device 200 and, from it, compiles byte code for execution by a virtual machine 216 implemented by SIM 208 , embedding the application list and application location information in the executable code.
- the list of applications 316 maintained by application server 300 includes applications hosted by other application servers.
- new application 316 D is first installed on application server 300 .
- the new application is then added to the list of applications available on application server 300 that is accessed through directory application 320 .
- any subsequent responses by directory application 320 to requests for a list of applications will enable the user of mobile device 200 to select and access new application 316 D.
- the response is transferred to application server front end 304 , where it is signed and encrypted by cryptographic module 312 before transmission over the Internet to SMSGW 112 via network interface 308 .
- application server 300 digitally sign messages before transmission to mobile device 200 to reduce the ability of an unauthorized party to take control of the handset.
- SMSGW 112 the communication is forwarded to SMSGW 112 where it can be segmented and packaged as SMS messages for transmission as SMPP traffic and sent on to the appropriate SMSC 108 for final transmission to mobile device 200 through base station 104 .
- SMSCs 108 have the ability to store a message for later forwarding if the intended recipient is inactive, such as when a handset has been turned off or is out of range, this feature remains largely unutilized except where the SMSC 108 is directed to retry sending a message to a mobile device for a short period of time in order to maintain a connection between an SMSC 108 and a mobile device 200 with a connection of poor quality.
- mobile device 200 receives the response via antenna 240 .
- the response is then passed to radio 236 and forwarded to a protocol listener 228 .
- Protocol listener 228 determines whether the SMS message is addressed to virtual machine 216 or to another application 228 .
- SMS messages have an eight-byte header, a one-byte portion, the protocol identifier, of which indicates the target of the message, not unlike a port number for TCP/IP packets. In cases where the SMS packet payload is a binary executable download, this byte is set to “7F”.
- SMS packets can contain a number of other types of payloads, including, but not limited to, a text message to be displayed immediately on the display means of mobile device 200 , for which the protocol identifier is set to “0”.
- the message is a command stream to generate a menu with a list of applications 316 hosted by one or more application servers 300 and their addresses
- the message is forwarded to SIM 208 .
- an application launcher thereon refers to a configuration file and selects an appropriate application for launching.
- the message is generated by application server 300
- the message is forwarded to wireless communication module 224 , where the data is extracted from the received SMS packets and reassembled, where necessary.
- the message is extracted and reassembled, it is forwarded to cryptographic module 220 where it is decrypted and the signature is authenticated. By doing so, only commands sent by authorized parties are executed and replay attacks are nullified.
- mobile device 200 contacts an application server 300 with which it is not familiar (that is, for which it has no digital certificate) to perform a “handshake”, mobile device 200 will receive a signed transmission that it is unable to verify, but that bears a unique certificate ID for the digital certificate of application server 300 .
- Mobile device 200 can send a “fetch” command to certificate server 120 .
- SIM 208 specifies the unique certificate ID of the certificate to be fetched from certificate server 120 .
- Certificate server 120 responds to mobile device 200 with the certificate of the recently contacted application server 300 , thus allowing mobile device 200 to verify the signature of the new application server 300 .
- the new digital certificate is typically cached for later use.
- the “fetch” request from mobile device 200 can also contain information about the certificates of certificate authorities and certificate servers 120 that SIM 208 is aware of.
- certificate server 120 can determine the validity of the certificate and provide current certificates for certificate server 120 and certificate authority, where the certificates known to SIM 208 are found to be revoked, expired or invalid for any other reason.
- mobile device 200 can forward information about the certificate to certificate server 120 or other authority to ensure it has not expired, been revoked, etc. Certificate server 120 can then either provide confirmation of the validity of the certificate or forward mobile device 200 a new digital certificate, where appropriate.
- mobile device 200 can discard a digital certificate upon the termination of a connection with application server 300 and fetch a new copy upon reconnection thereto.
- Digital certificates can also be forwarded to mobile device 200 via OTA platform, where required.
- Virtual machine 216 is an application environment defined by a set of instructions similar to a physical processor. In a presently preferred embodiment, there are approximately 50 such instructions, including “add”, “subtract”, “Xor”, “push” and “pop”. Other instructions control the display of information through and the handling of input or messages from user interface 204 . Further, a subset of these instructions known as “proactive commands” provides control over the handset. By accessing this subset, an application can cause device 200 to perform a variety of functions, including the initiation of a voice call, the configuration of a menu, the display of text, the sounding of an alarm or the transmission of an SMS message.
- a powerful feature of the instruction set defined for virtual machine 216 implemented on SIM 208 is that the approximately 50 available instructions are all mapped out to one byte op-codes. This allows a number of commands to be sent to mobile device 200 via shorter transmissions than otherwise possible, thus reducing use of limited wireless bandwidth and improving response times.
- the commands can direct user interface 204 to display the list of applications 316 and allow a user to select one of the applications 316 .
- the mobile device Upon selection of an application 316 from the list of applications 316 , the mobile device sends an initial message to the selected application 316 . Where the selected application resides on a separate server, mobile device 200 initiates a communication with the separate server.
- One advantage of such a system is that the applications 316 available to mobile device 200 can be dynamically configured without the need to update the applications resident on the handset itself
- application 316 A can initiate communication with mobile device 200 .
- application 316 A may query a database 324 routinely to determine if an event is scheduled for mobile device 200 . If database 324 indicates that an event is scheduled for mobile device 200 , application 316 A can send an initial message to mobile device 200 , comprising a set of commands contained in one or more SMS packets, directing the handset to display text, send an SMS message, place a voice call, emit a sound, etc.
- Application 316 A can be triggered to contact mobile device 200 upon the realization of a threshold price by a stock, both selected by an end-user.
- application 316 A can request confirmation of receipt of the message by the mobile device user by means of the user keying in the appropriate response on mobile device 200 , causing cryptographic module 220 to sign a request acknowledgement for forwarding back to application server 300 .
- Another example of such an application is localized advertising delivered to mobile device 200 based on the location of mobile device 200 .
- application servers 300 can be deployed within the wireless service provider's infrastructure.
- Virtual machine 216 can be implemented in hardware for example on an Application Specific Integrated Circuit (ASIC) and built into mobile device 200 or onto removable module 208 .
- ASIC Application Specific Integrated Circuit
- Universal SIMs, or USIMs, scheduled for implementation in other TDMA and CDMA-enabled mobile devices can be provided the same functionality as described for a SIM.
- Handheld computing devices can be fitted with suitable modules to enable like functionality thereon and access to applications 324 on application servers 300 .
- the card must only contain the information required for handheld computing devices to implement virtual machine 216 using processing and memory means already present on the device.
- the software to implement virtual machine 216 may be placed in non-volatile memory on a card that also provides wireless communication functionality.
- first application server 300 accessing an application on another server on the Internet and reformatting the output for mobile device 200 .
- first application server 300 can retrieve a web page from a web server and format it for presentation on mobile device 200 .
- First application server 300 then compiles the reformatted information for interpretation by virtual machine 216 . This enables mobile device 200 to access information for which it does not have a client application installed.
- Another example is a method of accessing data on a database server, whereby first application server 300 queries a database server and reformats and compiles the data object received from the database server in response to the query, perhaps a set of records.
- mobile device 200 can be configured to connect to an application server 300 situated proximal to mobile device 200 , such as one located within the wireless carrier's infrastructure possessing knowledge of the applications available on other application servers.
- an application server can be configured to perform as a proxy for the other application servers and, further, cache the static portions of the applications.
- a first application server 300 can invisibly redirect mobile device 200 for load balancing, localization, etc.
- the present invention provides a novel system, method and apparatus for dynamically altering the applications accessible to a mobile device.
- Other advantages to the present invention will be apparent to those of skill in the art.
Abstract
Description
- The present invention relates generally to mobile communication devices, and more particularly relates to the dynamic provision of applications to mobile communication devices via application servers.
- In the area of wired conventional computer communications, terminals have been in use for at least 30 years. Terminals served as input-output devices, acting merely as an interface between a user and a remote computer. Typically, a terminal consisted of a screen and keyboard, with little or no processing power and no local storage. The terminal, or client, was connected to a host computer, usually a mainframe, by way of a serial line connection. This hard-wiring ensured the security of the transmissions between the host and the client. Characters entered on the terminal were transmitted to the host to be acted on by software resident thereon, and characters generated on the host by the software were transmitted back to the terminal for display to the user. An advantage of the terminal system was that it allowed multiple users to access the processing power and applications resident on the mainframe without attending at the mainframe location. In addition, because of their simple, rugged design, the terminals were inexpensive and tended to outlast early micro-computers.
- The concept of terminals has been adapted for use with the Internet through the use of “net-boxes”. Essentially, the net-box is a terminal connected to a network by a coaxial or serial line connections so as to allow a user to access and execute software that is resident on remote computers. A net-box, like a terminal, has limited processing power and little or no local storage. It might have a simple operating system or front-end, but more complicated software is located remotely. As with the original terminal, this allows the net-box to be manufactured less expensively and with a simpler, more generic design than a personal computer. The simplicity of design reduces administration costs for such systems as a service provider can modify the functionality provided to the net-boxes simply by replacing the terminal, or application, server or by modifying its configuration to change the applications offered.
- Mobile communication devices such as PDAs and mobile phones are simple computers with limited computational power and resources, such as storage, memory and clock frequency. Mobile communication devices can be equipped with client software to communicate with a remote server through a wireless network. Such devices are usually loaded with a few client applications either by the user, the manufacturer or the network operator. It is a common practice to distribute applications through the Internet. Some additional equipment such as a personal computer and special cables and connectors are needed to transfer the client application to the mobile communications device.
- In case of GSM (global systems for mobile communications), the embedded SIM (subscriber identity module) card acts as the computer while the handset or device performs the function of the input/output device. SIM cards are preloaded with the desired applications and sent to end-users. Applications loaded onto the SIM card prior to sale to the end-user are primarily developed with a SIM toolkit, such as that available from Gemplus, that employ the SIM toolkit markup language (STKML). STKML is not unlike HTML and, as such, there is an inherently large overhead associated with transmitting commands that access remote device control functionality from an application server to a GSM device. End-users can only access applications resident on their SIM and, thus, need to update the applications on their SIM or obtain a new SIM to access new applications.
- Updating such applications using SIM cards is an awkward process. One method is to update the SIM application via an OTA (Over-The-Air) platform. An OTA platform is effectively a computer equipped with the necessary software to remotely access a SIM card in a GSM phone and upload an application or other information onto the card. Even though utilizing an OTA platform for updating applications on a SIM card is theoretically possible, this method is not widely used. Uploading an application onto a remote SIM card over the air is a slow process. The application, typically five kilobytes in size, must be divided in fragments of approximately 140 bytes embedded in short messages. These messages are then sent to the SIM via SMS (short message service). For reliability, the OTA usually requests a delivery receipt from the handset. The risk for failure grows with the size of the application.
- Another method of updating the applications on a SIM card is the connection of the handset or device to a computer by cable and the uploading of applications and data to the SIM card using software. A further method is the provisioning of a new SIM card to the end-user containing the updated applications is expensive as a new card must be securely mailed. Still further, the end-user must remove the currently-installed SIM card and replace it with the newer one.
- Another method of application delivery for mobile devices is to provide a browser on the device, either as part of the handset or device, or on a SIM module. When the browser application is initiated by the handset, the browser fetches a generic page that includes links to other pages. The browser is not unlike a web browser on a desktop computer in that it is a request/response application; that is, it can only receive a page of information that it requests and cannot be forwarded a page or instructions that it did not request. Furthermore, many mobile devices are not equipped with a browser. Where provisioned, browser applications typically occupy seven kilobytes of the limited 16 to 32 kilobytes of memory that SIMs are typically provisioned with.
- Further, information delivered to a browser on a mobile device is formatted in a markup language similar to HTML that, however, inherently has a large overhead associated with the tags defining formatting or other information, such as the location of a linked page.
- Additionally, as browsers were designed to display simple information, they do not include the ability to execute instructions that would provide an application control over the device, such as the ability to dial a number on the handset.
- It is therefore an object of the invention to provide a novel system, apparatus and method for enabling interaction between a mobile device and a dynamic list of remotely hosted applications that obviates or mitigates at least one of the disadvantages of the prior art.
- In a first embodiment of the invention, there is provided a mobile terminal system, comprising: at least one mobile device for communication with at least one application server via a communication medium, the mobile devices having a user interface, a wireless communications interface and a removable module; a virtual machine implemented by the removable module, the virtual machine defined by a set of instructions enabling management of the mobile device; the removable module additionally having a wireless communication module enabling the virtual machine to receive a set of commands through the wireless communications interface from the at least one application server, the commands being chosen from the set of instructions; and at least one application hosted by the at least one application server, the at least one application having a first network interface for sending the set of commands and receiving a set of client data.
- Preferably, the removable module and the at least one application server additionally comprise a cryptographic module to provide authentication between the mobile device and the at least one application server.
- Also preferably, the cryptographic module encrypts and decrypts communication between the mobile device and the at least one application server.
- In a preferred aspect of the first embodiment, the system additionally comprises: a first application server hosting a directory application, the directory application being configured to provide an application list response to the mobile device in response to an application list request from the mobile, enabling the mobile device to initiate interaction with one of the at least one application.
- It is contemplated that the first application server has knowledge of at least one other application hosted by at least one other application server, and the application list response includes a set of addresses for the at least other one application hosted on the at least one other application server.
- In another aspect of the first embodiment, the set of instructions consists of one byte op-codes.
- In a further aspect of the first embodiment, the at least one application server is in communication with at least one data server and one of the applications on the at least one application server is operable to request and receive a data object from the at least one information server, reformat the data object for the virtual machine and transmit the reformatted data object to the mobile device. Data objects can include, but are not limited to, web pages or responses to database queries.
- In a second embodiment of the invention, there is provided a mobile terminal device, comprising: a mobile device having a user interface, a removable module and a wireless communications interface for communicating with at least one application server; the removable module implementing a virtual machine enabling management of the mobile device through a set of instructions provisioned by the virtual machine; and a wireless communication module on the removable module enabling the virtual machine to transmit a set of client data through the wireless communications interface to the at least one application server and receive at least one command formed from the set of instructions.
- In a third embodiment of the present invention, there is provided a removable module for use in a mobile device, comprising: non-volatile memory means for storage of at least one application and a set of application data; and the at least one application including a virtual machine defined by a set of instructions, and a communications module enabling the mobile device to receive a message in a first format natively handled by the mobile device and allowing the extraction from the message at least one command at least partially comprised of a subset of the set of instructions, such that when the removable module is deployed in the mobile device, the mobile device is able to receive the at least one command from an application server.
- In another aspect of the embodiment, the removable module additionally comprises a communications module for extracting the at least one command from the message and an optional cryptographic module to provide authentication between the mobile device and the application server and possibly to encrypt communication to and decrypts communication from the application server.
- In a further aspect of the embodiment, the removable module additionally comprises: processing means for executing the virtual machine; and volatile memory means enabling the temporary storage of a set of runtime data by the virtual machine.
- Preferably, the set of instructions are mapped to one-byte op-codes.
- Also preferably, the set of instructions enable the application server to remotely control the mobile device.
- In another aspect of the embodiment, the set of instructions enables the virtual machine to receive the at least one command from the application server, allowing a user to initiate communication with a second application server upon selection thereof by a user of the mobile device.
- In a fourth embodiment of the present invention, there is provided an application server for enabling a mobile device to access an application, comprising: a network interface for sending a set of messages to the mobile device and for receiving a set of communications from the mobile device, the mobile device implementing a virtual machine defined by a set of instructions, and the messages encapsulating at least one command chosen from the set of instructions; at least one application for interaction with the mobile device, the at least one application being operable to generate a set of directions for the mobile device, compile the set of directions into at least one command for execution by the virtual machine and package the at least one command in the set of messages natively handled by the mobile device.
- In an aspect of the embodiment, the virtual machine is implemented by a removable module of the mobile device.
- Preferably, the instructions are mapped to a set of one-byte op-codes and the at least one application compiles the set of directions at least partially into the one-byte op-codes.
- In another aspect of the embodiment, the application server initiates a session by transmitting the at least one command to the mobile device without having received at least one communication from the mobile device.
- Preferably, the set of instructions enables the application server to remotely control the mobile device.
- In a further aspect of the embodiment, a directory application maintains a list of applications accessible to the mobile device, the directory application being operable to receive an application list request from the mobile device and return an application list response comprised of the set of directions required to instruct the virtual machine to display a menu of the list of applications that enables a user of the mobile device to select one of the applications in the list of applications and initiate communications with the application selected.
- It is contemplated that at least one of the applications on the list of applications is hosted by a second application server, and selection of one of the applications by the user of the mobile device causes the mobile device to initiate a session with the second application server.
- In a fifth embodiment of the present invention, there is provided a method of adding an application to an application server accessed by a mobile device; comprising: configuring the application for deployment on the application server; updating an application list indicating a set of available applications on the application server; receiving a request for the application list; and responding to the request with the updated application list, the updated application list being compiled at least partially into a set of commands chosen from a set of instructions provided by a virtual machine implemented by a mobile device; such that a user of the mobile device can select any one of the available applications from the application list and initiate interaction therewith.
- In an aspect of the embodiment, the virtual machine is implemented on a removable module of the mobile device.
- Preferably, the set of instructions is comprised of one-byte op-codes.
- In a further embodiment of the invention, there is provided a system of managing a mobile device from a remote server, comprising: a remote server having a network interface for transmitting at least one command in at least one command communication over a wireless protocol; a mobile device having a user interface, a wireless communication interface and a removable module; a virtual machine implemented on the removable module, the virtual machine having a set of instructions enabling control of the mobile device; and the removable module having a wireless communication module for receiving the at least one command communication from the remote server received through the wireless communication interface, extracting the at least one command from the at least one command communication and forwarding the at least one command to the virtual machine, enabling the remote server to control the mobile device.
- In another embodiment of the invention, there is provided a method of transferring sessional control on a mobile device from a first application hosted on a first application server to a second application hosted by a second application server, comprising: sending at least one command selected from a set of instructions provided by a virtual machine implemented on a removable module of the mobile device from the first application on the first application server through a first network interface thereon to the mobile device, thereby enabling the mobile device to send an initial request to the second application hosted on the second application server.
- In an aspect of the embodiment, the virtual machine is implemented by a removable module of the mobile device.
- In another aspect of the embodiment, the mobile device sends the initial request to the second application upon selection of the second application by a user of the mobile device.
- Preferably, the set of instructions are comprised of one-byte op-codes.
- Preferred embodiments of the present invention will now be described, by way of example only, with reference to the attached Figures, wherein:
- FIG. 1 is a block diagram of the mobile terminal device system in accordance with an embodiment of the present invention;
- FIG. 2 is a schematic diagram of a mobile device used in the system of FIG. 1; and
- FIG. 3 is a schematic diagram of an application server used in the system of FIG. 1.
- Referring now to FIG. 1, the mobile terminal device system in accordance an embodiment of the invention is indicated generally at100. A plurality of
mobile devices 200 are in communication with a number ofbase stations 104. - In an embodiment of the present invention,
mobile devices 200 andbase stations 104 communicate in accordance with the Global System for Mobile Communications (GSM) standard.Mobile devices 200 represent cellular telephone handsets that arePhase 2+compliant. Such devices, for purposes of the present invention, are distinguished over prior GSM handsets in that they allow a new set of commands that enable direct access to various features of the handset. These commands are referred to as “proactive commands” and form part of the STK instruction set forPhase 2+ compliant devices. - In the present invention,
mobile devices 200 send and receive communications via Short Message Service (SMS), a protocol introduced in the GSM standards and present since. SMS is a widely-adopted protocol akin to paging, enabling communications to be transmitted in 140-byte packets. It also allows information to be forwarded to the handset without an explicit request therefrom. This functionality is commonly referred to as “push” technology. - SMS messages received by a
base station 104 are forwarded to a SMS Center (SMSC) 108. Upon receipt of an SMS message,SMSC 108 attempts to locate the addressee and forward the message. In a current embodiment of the invention,SMSC 108 forwards the SMS message to an SMS Gateway (SMSGW) 112 in communication withapplication servers 300 over a large network, such as theInternet 116. - SMSGW112 serves three functions: the reformatting of messages (if required), the interfacing with the
SMSCs 108 and the routing of these messages. The reformatting functionality required of SMSGW 112 depends on the topological location of SMSGW 112. For example, where SMSGW 112 is located in a wireless carrier's infrastructure, SMSGW 112 can communicate withSMSCs 108 via short message peer-to-peer protocol (SMPP) over the routing protocol implemented by the carrier's backbone, such as Internet protocol (IP) or X.25, and withapplication servers 300 via transmission control protocol over IP (TCP/IP) through the carrier's Internet point-of-presence. In this case, SMSGW 112 extracts the data from the SMPP datagram and, in some cases, concatenates and packages the data segments for transmission as a TCP/IP packet. SMSGW 112 then forwards the data to the addressee, anapplication server 300, over theInternet 116. - Communications from
application servers 300 tomobile devices 200 travel the reverse route through theInternet 116, to SMSGW 112, then toSMSC 108 and finally tomobile device 100 viabase station 104. - Referring now to FIG. 2, a
mobile device 200 in accordance with the present invention is shown. User interaction withmobile device 200 is directed through auser interface 204.User interface 204 typically consists of a display screen and a keypad (both not explicitly shown). It is noted, however, thatuser interface 204 can be implemented in a number of ways, including, but not limited to, audio input and output. - A user can initiate interaction with an application resident on
remote application server 300 by depressing a key on the keypad. A signal is sent fromuser interface 204 to a subscriber identity module (SIM) 208. -
SIM 208 is effectively a system on a chip that includes a microprocessor, read-only memory (ROM), persistent electrically-erasable programmable read-only memory (EEPROM), volatile random access memory (RAM) and a serial input/output interface.SIM 208 is typically loaded with an operating system that implements a file system and executes a number of applications. This software is loaded into the ROM and the EEPROM by either the manufacturer or vendor ofSIM 208, or the provider of the wireless service. The SIM relies on the GSM handset for battery power and clock maintenance. -
Mobile device 200 relies onSIM 208 to execute authentication algorithms to identify the user to the wireless service provider's network, use cryptographic keys stored in EEPROM for authentication, store data for various services such as abbreviated number dialing and SMS, and store applications. - In the present invention,
SIM 208 is provisioned with a set of additional applications to enable the enhanced functionality. These applications are typically loaded prior to distribution to an end-user, but can also be uploaded toSIM 208 via an over-the-air (OTA) system. - Upon receipt of a message from
user interface 204, alogic subsystem 212 determines whether or not the message is directed to an application hosted byapplication server 300. If the message is directed to an application hosted byapplication server 300, the message is forwarded towireless communication module 224 optionally by way ofcryptographic module 220, otherwise it is sent on toother functionality 232 implemented bySIM 208, such as a voice call or a text SMS. - In the presently preferred embodiment of the invention, upon request for initiation of a session with an application hosted on
remote application server 300, the request is forwarded to acryptographic module 220.Cryptographic module 220 provides a number of services. Typically,cryptographic module 220 encrypts all communications toremote application server 300. A variety of encryption schemes can be employed, but where sensitive information is being transmitted, it is more common to either fully encrypt all communications via public key encryption or use public key encryption to obtain a symmetric session key. Although encryption is currently available, end-to-end security is not provided. Transmissions are only encrypted betweenmobile device 200 andbase station 104 and then from an encryption-enabled server from within the wireless service provider's infrastructure to the other end, leaving data unencrypted frombase station 104 to the encryption-enabled server, typically at the wireless service provider's point-of-presence for the Internet. Further, the algorithms used for encrypting transmissions betweenmobile devices 200 andbase stations 104, such as A5/1, are considered to be weak and, as such, susceptible to attack. - Further, the ability of
SIM 208 to digitally sign a message enables a variety of applications where non-repudiation is essential, such as m-commerce, banking, etc. - Once the message has been encrypted, it is forwarded to a
wireless communication module 224.Wireless communication module 224 prepares the message for transmission by segmenting the message, if necessary, and packaging it as an SMS message that is readily handled by the standard functionality of the handset. - The SMS message is then forwarded to a
radio 236 for transmission throughantenna 240 tobase station 104. - Now referring to FIG. 3,
application server 300 is shown in accordance with an embodiment of the invention. The message frommobile device 200 is received by an application serverfront end 304 on anetwork interface 308. Application serverfront end 304 can be a separate process running on the same physical device asapplication server 300 or can be placed on a separate physical device.Network interface 308 assembles the message from the TCP/IP packets received and passes the message to acryptographic module 312 that decrypts the message encrypted bycryptographic module 220.Cryptographic module 312 can also verify a digital signature if one has been appended to the message to ensure that the message was sent from a specific handset. - Where
cryptographic module 312 does not possess a required certificate formobile device 200, it can obtain the required certificate from acertificate server 120. - The message is then forwarded one of at least one application316 hosted by
application server 300.Application server 300, upon completion of processing of the message bycryptographic module 312, launches the addressed application 316, if not then running, and passes the message to it. - In a presently preferred embodiment of the invention, the initial message from
mobile device 200 toapplication server 300 is a request for a list of applications hosted thereon. Upon receipt of this request,application server 300 forwards it to adirectory application 320 which has or can obtain knowledge of a list of applications 316 hosted byapplication server 300.Directory application 320 receives this request and generates a list of applications 316 and the address of each application.Application server 300 then generates the necessary code to display an interactive menu onmobile device 200 and, from it, compiles byte code for execution by avirtual machine 216 implemented bySIM 208, embedding the application list and application location information in the executable code. - In a particular embodiment, the list of applications316 maintained by
application server 300 includes applications hosted by other application servers. - When a
new application 316D is to be made available tomobile device 200,new application 316D is first installed onapplication server 300. The new application is then added to the list of applications available onapplication server 300 that is accessed throughdirectory application 320. As a result, any subsequent responses bydirectory application 320 to requests for a list of applications will enable the user ofmobile device 200 to select and accessnew application 316D. - Conversely, where an
application 316C is to be removed from service, the list of applications available throughdirectory application 320 is first updated to remove the reference toapplication 316C, thenapplication 316C can be removed from the application server upon which it resides, provided that no sessions are active withapplication 316C. - The response is transferred to application server
front end 304, where it is signed and encrypted bycryptographic module 312 before transmission over the Internet to SMSGW 112 vianetwork interface 308. As a large degree of control can be obtained overmobile device 200 via the method of the invention, it is common practice to haveapplication server 300 digitally sign messages before transmission tomobile device 200 to reduce the ability of an unauthorized party to take control of the handset. - Referring again to FIG. 1, the communication is forwarded to SMSGW112 where it can be segmented and packaged as SMS messages for transmission as SMPP traffic and sent on to the
appropriate SMSC 108 for final transmission tomobile device 200 throughbase station 104. WhileSMSCs 108 have the ability to store a message for later forwarding if the intended recipient is inactive, such as when a handset has been turned off or is out of range, this feature remains largely unutilized except where theSMSC 108 is directed to retry sending a message to a mobile device for a short period of time in order to maintain a connection between anSMSC 108 and amobile device 200 with a connection of poor quality. - Referring again to FIG. 2,
mobile device 200 receives the response viaantenna 240. The response is then passed toradio 236 and forwarded to aprotocol listener 228.Protocol listener 228 determines whether the SMS message is addressed tovirtual machine 216 or to anotherapplication 228. SMS messages have an eight-byte header, a one-byte portion, the protocol identifier, of which indicates the target of the message, not unlike a port number for TCP/IP packets. In cases where the SMS packet payload is a binary executable download, this byte is set to “7F”. SMS packets can contain a number of other types of payloads, including, but not limited to, a text message to be displayed immediately on the display means ofmobile device 200, for which the protocol identifier is set to “0”. In the case where the message is a command stream to generate a menu with a list of applications 316 hosted by one ormore application servers 300 and their addresses, the message is forwarded toSIM 208. Upon receipt of the envelope commands, an application launcher thereon refers to a configuration file and selects an appropriate application for launching. Where the message is generated byapplication server 300, the message is forwarded towireless communication module 224, where the data is extracted from the received SMS packets and reassembled, where necessary. - Once the message is extracted and reassembled, it is forwarded to
cryptographic module 220 where it is decrypted and the signature is authenticated. By doing so, only commands sent by authorized parties are executed and replay attacks are nullified. - Where
mobile device 200 contacts anapplication server 300 with which it is not familiar (that is, for which it has no digital certificate) to perform a “handshake”,mobile device 200 will receive a signed transmission that it is unable to verify, but that bears a unique certificate ID for the digital certificate ofapplication server 300.Mobile device 200 can send a “fetch” command tocertificate server 120. In preparing the “fetch” command,SIM 208 specifies the unique certificate ID of the certificate to be fetched fromcertificate server 120.Certificate server 120 responds tomobile device 200 with the certificate of the recently contactedapplication server 300, thus allowingmobile device 200 to verify the signature of thenew application server 300. The new digital certificate is typically cached for later use. - The “fetch” request from
mobile device 200 can also contain information about the certificates of certificate authorities andcertificate servers 120 thatSIM 208 is aware of. In this case,certificate server 120 can determine the validity of the certificate and provide current certificates forcertificate server 120 and certificate authority, where the certificates known toSIM 208 are found to be revoked, expired or invalid for any other reason. - Alternatively, where
mobile device 200 possesses a certificate for thenew application server 300, it can forward information about the certificate tocertificate server 120 or other authority to ensure it has not expired, been revoked, etc.Certificate server 120 can then either provide confirmation of the validity of the certificate or forward mobile device 200 a new digital certificate, where appropriate. In a further alternative,mobile device 200 can discard a digital certificate upon the termination of a connection withapplication server 300 and fetch a new copy upon reconnection thereto. Digital certificates can also be forwarded tomobile device 200 via OTA platform, where required. - Once verified, the commands are forwarded to
virtual machine 216 for execution.Virtual machine 216 is an application environment defined by a set of instructions similar to a physical processor. In a presently preferred embodiment, there are approximately 50 such instructions, including “add”, “subtract”, “Xor”, “push” and “pop”. Other instructions control the display of information through and the handling of input or messages fromuser interface 204. Further, a subset of these instructions known as “proactive commands” provides control over the handset. By accessing this subset, an application can causedevice 200 to perform a variety of functions, including the initiation of a voice call, the configuration of a menu, the display of text, the sounding of an alarm or the transmission of an SMS message. - A powerful feature of the instruction set defined for
virtual machine 216 implemented onSIM 208 is that the approximately 50 available instructions are all mapped out to one byte op-codes. This allows a number of commands to be sent tomobile device 200 via shorter transmissions than otherwise possible, thus reducing use of limited wireless bandwidth and improving response times. - In the case where the commands are received in response to an initial request for a list of applications316 hosted by
application server 300, the commands can directuser interface 204 to display the list of applications 316 and allow a user to select one of the applications 316. Upon selection of an application 316 from the list of applications 316, the mobile device sends an initial message to the selected application 316. Where the selected application resides on a separate server,mobile device 200 initiates a communication with the separate server. - One advantage of such a system is that the applications316 available to
mobile device 200 can be dynamically configured without the need to update the applications resident on the handset itself - It is noted that static portions of the applications delivered to
mobile device 200 can be cached thereon for later use, thus reducing retransmission of previously received information. - In another aspect of the invention,
application 316A can initiate communication withmobile device 200. For example,application 316A may query adatabase 324 routinely to determine if an event is scheduled formobile device 200. Ifdatabase 324 indicates that an event is scheduled formobile device 200,application 316A can send an initial message tomobile device 200, comprising a set of commands contained in one or more SMS packets, directing the handset to display text, send an SMS message, place a voice call, emit a sound, etc.Application 316A can be triggered to contactmobile device 200 upon the realization of a threshold price by a stock, both selected by an end-user. In such an example,application 316A can request confirmation of receipt of the message by the mobile device user by means of the user keying in the appropriate response onmobile device 200, causingcryptographic module 220 to sign a request acknowledgement for forwarding back toapplication server 300. Another example of such an application is localized advertising delivered tomobile device 200 based on the location ofmobile device 200. - While the embodiments discussed herein are directed to specific implementations of the invention, it will be understood that combinations, sub-sets and variations of the embodiments are within the scope of the invention. For example,
application servers 300 can be deployed within the wireless service provider's infrastructure. -
Virtual machine 216 can be implemented in hardware for example on an Application Specific Integrated Circuit (ASIC) and built intomobile device 200 or ontoremovable module 208. - Universal SIMs, or USIMs, scheduled for implementation in other TDMA and CDMA-enabled mobile devices can be provided the same functionality as described for a SIM.
- Handheld computing devices can be fitted with suitable modules to enable like functionality thereon and access to
applications 324 onapplication servers 300. As handheld computing devices do not typically rely on expansion modules or cards for processing power, it is contemplated that the card must only contain the information required for handheld computing devices to implementvirtual machine 216 using processing and memory means already present on the device. The software to implementvirtual machine 216, plus any additional modules and certificates, may be placed in non-volatile memory on a card that also provides wireless communication functionality. - Further variations can include a
first application server 300 accessing an application on another server on the Internet and reformatting the output formobile device 200. For example,first application server 300 can retrieve a web page from a web server and format it for presentation onmobile device 200.First application server 300 then compiles the reformatted information for interpretation byvirtual machine 216. This enablesmobile device 200 to access information for which it does not have a client application installed. Another example is a method of accessing data on a database server, wherebyfirst application server 300 queries a database server and reformats and compiles the data object received from the database server in response to the query, perhaps a set of records. - In a still further variation,
mobile device 200 can be configured to connect to anapplication server 300 situated proximal tomobile device 200, such as one located within the wireless carrier's infrastructure possessing knowledge of the applications available on other application servers. Such an application server can be configured to perform as a proxy for the other application servers and, further, cache the static portions of the applications. - Additionally, a
first application server 300 can invisibly redirectmobile device 200 for load balancing, localization, etc. - While particular embodiments of the invention have been disclosed specifically relating to the field of mobile devices and wireless communications, it will be understood by those of skill in the art that the invention is useful wherever a device has limited processing, storage and communication means, such as, for example, a personal digital assistant communicating over an infrared link or connected to a network via a relatively slow serial connection.
- The present invention provides a novel system, method and apparatus for dynamically altering the applications accessible to a mobile device. Other advantages to the present invention will be apparent to those of skill in the art.
- The above-described embodiments of the invention are intended to be examples of the present invention and alterations and modifications may be effected thereto, by those of skill in the art, without departing from the scope of the invention which is defined solely by the claims appended hereto.
Claims (46)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/762,926 US9167420B2 (en) | 2002-05-24 | 2010-04-19 | Mobile terminal system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA2,387,328 | 2002-05-24 | ||
CA2387328A CA2387328C (en) | 2002-05-24 | 2002-05-24 | Mobile terminal system |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/762,926 Continuation US9167420B2 (en) | 2002-05-24 | 2010-04-19 | Mobile terminal system |
Publications (1)
Publication Number | Publication Date |
---|---|
US20030228866A1 true US20030228866A1 (en) | 2003-12-11 |
Family
ID=29589081
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/442,228 Abandoned US20030228866A1 (en) | 2002-05-24 | 2003-05-21 | Mobile terminal system |
US12/762,926 Expired - Fee Related US9167420B2 (en) | 2002-05-24 | 2010-04-19 | Mobile terminal system |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/762,926 Expired - Fee Related US9167420B2 (en) | 2002-05-24 | 2010-04-19 | Mobile terminal system |
Country Status (2)
Country | Link |
---|---|
US (2) | US20030228866A1 (en) |
CA (1) | CA2387328C (en) |
Cited By (95)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040225735A1 (en) * | 2003-05-09 | 2004-11-11 | Sony Corporation | Service providing system, information processing apparatus and method, and program |
US20050070251A1 (en) * | 2003-09-30 | 2005-03-31 | Kyocera Corporation | Mobile communication terminal, information providing system, program, and computer readable recording medium |
US20050101302A1 (en) * | 2003-10-24 | 2005-05-12 | Vogedes Jerome O. | Method and apparatus for sender controllable modalities |
US20060026198A1 (en) * | 2004-07-30 | 2006-02-02 | Research In Motion Ltd. | Method and apparatus for synchronizing contact data stores |
US20060199597A1 (en) * | 2005-03-02 | 2006-09-07 | Cisco Technology, Inc. | System and method for providing a proxy in a short message service (SMS) environment |
US20060211450A1 (en) * | 2005-03-18 | 2006-09-21 | Niekerk Sabine V | Method and apparatus for controlling push-to-talk functions of a mobile communication unit from a unit circuit card |
US20060234623A1 (en) * | 2005-04-18 | 2006-10-19 | Research In Motion Limited | System and method for efficient transfer of applications and data during device swap |
WO2006136501A1 (en) | 2005-06-22 | 2006-12-28 | France Telecom | Method and device for the restitution of multimedia data transmitted by a gateway to a terminal |
WO2007068194A1 (en) * | 2005-12-16 | 2007-06-21 | Huawei Technologies Co., Ltd. | A method for realizing batch update in subscribing mechanism, subscriber and notifier terminal |
US20070184857A1 (en) * | 2006-02-07 | 2007-08-09 | Intervoice Limited Partnership | System and method for providing messages to a mobile device |
US20070186275A1 (en) * | 2002-08-27 | 2007-08-09 | Trust Digital, Llc | Enterprise-wide security system for computer devices |
WO2007105084A1 (en) * | 2006-03-10 | 2007-09-20 | Axalto S.A. | Method for converting sim toolkit service byte-codesto web pages |
US20070259691A1 (en) * | 2006-05-04 | 2007-11-08 | Msystems Ltd. | High-capacity SIM storage control |
US20080070603A1 (en) * | 2006-09-14 | 2008-03-20 | Futurewei Technologies, Inc. | Idle Mode Notification |
US20080148328A1 (en) * | 2006-12-14 | 2008-06-19 | Verizon Data Services Inc. | Instant messaging with a media device |
US20080182622A1 (en) * | 2007-01-25 | 2008-07-31 | Sierra Wireless, Inc. | Method and Apparatus for Implementing a SIM Card Onboard a PC Card |
US20080212948A1 (en) * | 2004-03-24 | 2008-09-04 | Onstream Media Corporation | Remotely Accessed Virtual Recording Room |
US20080259551A1 (en) * | 2007-04-20 | 2008-10-23 | Gotive A.S. | Modular computing device |
US20090006628A1 (en) * | 2007-06-28 | 2009-01-01 | Samsung Electronics Co., Ltd. | System and method for controlling the presentation of dynamic information to a mobile device |
US20090016166A1 (en) * | 2007-07-09 | 2009-01-15 | International Business Machines Corporation | Text message activated alarm clock |
US20090063862A1 (en) * | 2007-09-04 | 2009-03-05 | Samsung Electronics Co., Ltd. | Mashup service support method and apparatus |
US20090106459A1 (en) * | 2007-10-17 | 2009-04-23 | Dell Products, Lp | Configuration identification tool and methods |
US20090172794A1 (en) * | 2007-12-31 | 2009-07-02 | Motorola, Inc. | Location bound secure domains |
US7565438B1 (en) * | 2004-03-30 | 2009-07-21 | Sprint Communications Company L.P. | Digital rights management integrated service solution |
US20090186264A1 (en) * | 2008-01-18 | 2009-07-23 | Daniel Huang | Battery pack, holster, and extendible processing and interface platform for mobile devices |
WO2009105977A1 (en) * | 2008-02-29 | 2009-09-03 | 西安西电捷通无线网络通信有限公司 | A method for realizing the remote management of a handset digital certificate by using the ota system |
US20090254465A1 (en) * | 2006-04-11 | 2009-10-08 | Giesecke & Devrient Gmbh | Recording Resource Usage |
WO2010054258A1 (en) * | 2008-11-06 | 2010-05-14 | Trust Digital | System and method for mediating connections between policy source servers, corporate repositories, and mobile devices |
US20100313025A1 (en) * | 2009-06-05 | 2010-12-09 | Rochester Institute Of Technology | Methods establishing a symmetric encryption key and devices thereof |
US20110055355A1 (en) * | 2009-08-21 | 2011-03-03 | Samsung Electronics Co., Ltd. | Application downloading method, application providing method, user terminal using the same |
WO2011146774A1 (en) * | 2010-05-19 | 2011-11-24 | Mophie, Inc. | External processing accessory for mobile device |
US20110312383A1 (en) * | 2010-06-21 | 2011-12-22 | Youn Jinsoo | Dual os system using a smart sim module and controlling method thereof |
US20120033616A1 (en) * | 2009-04-21 | 2012-02-09 | Hisense Mobile Communications Technology Co., Ltd. | Mobile terminal and peer-to-peer mode based data transmission method thereof |
US20120108221A1 (en) * | 2010-10-28 | 2012-05-03 | Microsoft Corporation | Augmenting communication sessions with applications |
WO2012092711A1 (en) * | 2011-01-06 | 2012-07-12 | 宇龙计算机通信科技(深圳)有限公司 | Method for configuring wireless local area network digital certificate and mobile terminal |
US8259568B2 (en) | 2006-10-23 | 2012-09-04 | Mcafee, Inc. | System and method for controlling mobile device access to a network |
US8280369B1 (en) * | 2009-01-13 | 2012-10-02 | Sprint Communications Company L.P. | Controlling application modes on a mobile device |
US20130145366A1 (en) * | 2011-08-05 | 2013-06-06 | Vmware, Inc. | Displaying applications of a virtual mobile device in a user interface of a mobile device |
US8495700B2 (en) | 2005-02-28 | 2013-07-23 | Mcafee, Inc. | Mobile data security system and methods |
US8635661B2 (en) | 2003-12-23 | 2014-01-21 | Mcafee, Inc. | System and method for enforcing a security policy on mobile devices using dynamically generated security profiles |
USD711819S1 (en) | 2012-01-09 | 2014-08-26 | Mophie Inc. | Mobile battery charger |
USD714215S1 (en) | 2012-01-09 | 2014-09-30 | Mophie, Inc. | Mobile battery charger |
USD718289S1 (en) | 2011-11-11 | 2014-11-25 | Mophie, Inc. | Multi-piece case |
USD718230S1 (en) | 2012-12-04 | 2014-11-25 | Mophie, Inc. | High capacity banded snap battery case for a mobile device |
USD718293S1 (en) | 2012-11-30 | 2014-11-25 | Mophie, Inc. | Unbanded snap battery case for a mobile device |
USD718755S1 (en) | 2012-12-18 | 2014-12-02 | Mophie, Inc. | Thin banded snap battery case for a mobile device |
USD718754S1 (en) | 2012-10-30 | 2014-12-02 | Mophie, Inc. | Thin banded battery case for a mobile device |
US8917506B2 (en) | 2008-11-17 | 2014-12-23 | Mophie, Inc. | Portable electronic device case with battery |
USD720687S1 (en) | 2012-05-24 | 2015-01-06 | Mophie, Inc. | Mobile battery charger |
US8935384B2 (en) | 2010-05-06 | 2015-01-13 | Mcafee Inc. | Distributed data revocation using data commands |
US20150017963A1 (en) * | 2013-07-10 | 2015-01-15 | Samsung Electronics Co., Ltd | Method, electronic device, and computer readable recording medium for providing location based services |
USD721356S1 (en) | 2012-05-25 | 2015-01-20 | Mophie, Inc. | Mobile phone case |
USD721685S1 (en) | 2012-05-25 | 2015-01-27 | Mophie, Inc. | Mobile phone case |
USD721687S1 (en) | 2012-10-30 | 2015-01-27 | Mophie, Inc. | High capacity banded battery case for a mobile device |
USD721646S1 (en) | 2014-01-02 | 2015-01-27 | Mophie, Inc. | Battery pack with integrated connector |
USD723530S1 (en) | 2012-10-03 | 2015-03-03 | Mophie, Inc. | Unbanded battery case for a mobile device |
USD727883S1 (en) | 2012-07-20 | 2015-04-28 | Mophie, Inc. | Mobile phone case |
US9026187B2 (en) | 2012-09-01 | 2015-05-05 | Morphie, Inc. | Wireless communication accessory for a mobile device |
USD728467S1 (en) | 2012-05-24 | 2015-05-05 | Mophie, Inc. | Mobile battery charger |
USD732012S1 (en) | 2013-04-06 | 2015-06-16 | Mophie, Inc. | Curved battery case for a mobile device |
USD733043S1 (en) | 2013-12-09 | 2015-06-30 | Mophie, Inc. | Battery pack |
US9123935B2 (en) | 2008-01-18 | 2015-09-01 | Mophie, Inc. | Wireless communication accessory for a mobile device |
US9153985B1 (en) | 2014-09-30 | 2015-10-06 | Mophie, Inc. | Portable charging device |
US9171139B2 (en) | 2011-08-05 | 2015-10-27 | Vmware, Inc. | Lock screens to access work environments on a personal mobile device |
US20150358821A1 (en) * | 2010-04-22 | 2015-12-10 | Zipit Wireless, Inc. | System and method for administration and operation of one or more mobile electronic communications devices |
US9286496B2 (en) | 2012-10-08 | 2016-03-15 | Hand Held Products, Inc. | Removable module for mobile communication terminal |
US9356267B1 (en) | 2014-12-17 | 2016-05-31 | Mophie, Inc. | Protective battery case to partially enclose a mobile electronic device |
USD766819S1 (en) | 2015-04-06 | 2016-09-20 | Mophie, Inc. | Protective battery case |
USD767485S1 (en) | 2015-04-07 | 2016-09-27 | Mophie, Inc. | Battery case |
US9495375B2 (en) | 2013-11-27 | 2016-11-15 | Mophie, Inc. | Battery pack with supplemental memory |
US9755444B2 (en) | 2013-02-25 | 2017-09-05 | Mophie, Inc. | Protective case with switch cover |
USD797091S1 (en) | 2014-11-25 | 2017-09-12 | Mophie, Inc. | Case for a mobile electronic device |
USD797092S1 (en) | 2014-11-25 | 2017-09-12 | Mophie, Inc. | Case for a mobile electronic device |
USD797093S1 (en) | 2014-12-03 | 2017-09-12 | Mophie, Inc. | Case for a mobile electronic device |
US9876522B2 (en) | 2013-03-15 | 2018-01-23 | Mophie, Inc. | Protective case for mobile device |
US9997933B2 (en) | 2014-09-03 | 2018-06-12 | Mophie, Inc. | Systems and methods for battery charging and management |
CN108307330A (en) * | 2017-01-13 | 2018-07-20 | 深圳云游四海信息科技有限公司 | A kind of terminal OTA message treatment methods and system |
USD861653S1 (en) | 2015-05-27 | 2019-10-01 | Mophie Inc. | Protective battery case for mobile communications device |
US10467618B2 (en) | 2011-03-12 | 2019-11-05 | Cria Inc. | System and methods for secure wireless payment transactions when a wireless network is unavailable |
US10516431B2 (en) | 2017-11-21 | 2019-12-24 | Mophie Inc. | Mobile device case for receiving wireless signals |
US10601635B1 (en) * | 2004-04-16 | 2020-03-24 | EMC IP Holding Company LLC | Apparatus, system, and method for wireless management of a distributed computer system |
US11179632B2 (en) | 2006-04-12 | 2021-11-23 | Winview, Inc. | Methodology for equalizing systemic latencies in television reception in connection with games of skill played in connection with live television programming |
USD940647S1 (en) | 2019-01-07 | 2022-01-11 | Mophie Inc. | Battery pack |
US11266896B2 (en) | 2006-01-10 | 2022-03-08 | Winview, Inc. | Method of and system for conducting multiple contests of skill with a single performance |
US11298621B2 (en) | 2006-01-10 | 2022-04-12 | Winview, Inc. | Method of and system for conducting multiple contests of skill with a single performance |
US11308765B2 (en) | 2018-10-08 | 2022-04-19 | Winview, Inc. | Method and systems for reducing risk in setting odds for single fixed in-play propositions utilizing real time input |
USD950538S1 (en) * | 2016-03-03 | 2022-05-03 | Mophie Inc. | Case for a mobile electronic device |
US11358064B2 (en) | 2006-01-10 | 2022-06-14 | Winview, Inc. | Method of and system for conducting multiple contests of skill with a single performance |
US11400379B2 (en) | 2004-06-28 | 2022-08-02 | Winview, Inc. | Methods and apparatus for distributed gaming over a mobile device |
US11451883B2 (en) * | 2005-06-20 | 2022-09-20 | Winview, Inc. | Method of and system for managing client resources and assets for activities on computing devices |
US11551529B2 (en) | 2016-07-20 | 2023-01-10 | Winview, Inc. | Method of generating separate contests of skill or chance from two independent events |
US11601727B2 (en) | 2008-11-10 | 2023-03-07 | Winview, Inc. | Interactive advertising system |
US11654368B2 (en) | 2004-06-28 | 2023-05-23 | Winview, Inc. | Methods and apparatus for distributed gaming over a mobile device |
US11722743B2 (en) | 2006-04-12 | 2023-08-08 | Winview, Inc. | Synchronized gaming and programming |
US11786813B2 (en) | 2004-07-14 | 2023-10-17 | Winview, Inc. | Game of skill played by remote participants utilizing wireless devices in connection with a common game event |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006010257A1 (en) * | 2004-07-30 | 2006-02-02 | Research In Motion Limited | Method and system for coordinating device setting between a communications client and its host device |
US8225093B2 (en) * | 2006-12-05 | 2012-07-17 | Qualcomm Incorporated | Providing secure inter-application communication for a mobile operating environment |
US8340635B2 (en) * | 2009-03-16 | 2012-12-25 | Apple Inc. | Capability model for mobile devices |
US8566577B2 (en) * | 2010-11-30 | 2013-10-22 | Blackberry Limited | Method and device for storing secured sent message data |
US8650620B2 (en) | 2010-12-20 | 2014-02-11 | At&T Intellectual Property I, L.P. | Methods and apparatus to control privileges of mobile device applications |
US8898459B2 (en) * | 2011-08-31 | 2014-11-25 | At&T Intellectual Property I, L.P. | Policy configuration for mobile device applications |
US8918841B2 (en) | 2011-08-31 | 2014-12-23 | At&T Intellectual Property I, L.P. | Hardware interface access control for mobile applications |
US8677472B1 (en) * | 2011-09-27 | 2014-03-18 | Emc Corporation | Multi-point collection of behavioral data relating to a virtualized browsing session with a secure server |
US8631239B2 (en) * | 2012-01-12 | 2014-01-14 | Facebook, Inc. | Multiple system images for over-the-air updates |
AU2013295867B2 (en) * | 2012-07-24 | 2015-11-26 | VMware LLC | Disambiguating user intent in conversational interaction |
US9558043B2 (en) | 2013-01-25 | 2017-01-31 | Cisco Technology Inc. | System and method for abstracting and orchestrating mobile data networks in a network environment |
US9712634B2 (en) | 2013-03-15 | 2017-07-18 | Cisco Technology, Inc. | Orchestrating mobile data networks in a network environment |
US10863387B2 (en) | 2013-10-02 | 2020-12-08 | Cisco Technology, Inc. | System and method for orchestrating policy in a mobile environment |
US9414215B2 (en) * | 2013-10-04 | 2016-08-09 | Cisco Technology, Inc. | System and method for orchestrating mobile data networks in a machine-to-machine environment |
KR102302361B1 (en) * | 2014-12-31 | 2021-09-15 | 삼성전자 주식회사 | System and method for matching between application and device |
EP3292529B1 (en) * | 2015-05-04 | 2022-07-13 | OnePin, Inc. | Automatic aftercall directory and phonebook entry advertising |
US10546058B2 (en) | 2015-11-09 | 2020-01-28 | Microsoft Technology Licensing, Llc | Creating and modifying applications from a mobile device |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020019237A1 (en) * | 1999-04-15 | 2002-02-14 | Sami Uskela | Managing service components of mobile terminal |
US6456857B1 (en) * | 1999-12-06 | 2002-09-24 | Alcatel | Terminal to execute a terminal application |
US20030014629A1 (en) * | 2001-07-16 | 2003-01-16 | Zuccherato Robert J. | Root certificate management system and method |
US20030055735A1 (en) * | 2000-04-25 | 2003-03-20 | Cameron Richard N. | Method and system for a wireless universal mobile product interface |
US20030060896A9 (en) * | 2001-01-09 | 2003-03-27 | Hulai Steven J. | Software, devices and methods facilitating execution of server-side applications at mobile devices |
US20030110242A1 (en) * | 2001-12-11 | 2003-06-12 | Brown Kyle G. | Method and apparatus for dynamic reconfiguration of web services infrastructure |
US6891811B1 (en) * | 2000-04-18 | 2005-05-10 | Telecommunication Systems Inc. | Short messaging service center mobile-originated to HTTP internet communications |
US7130648B1 (en) * | 1999-10-18 | 2006-10-31 | Cp8 Technologies | Message transmission system and method, and utilization of the transmission system to investigate services offered |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9715005D0 (en) * | 1997-07-17 | 1997-09-24 | Philips Electronics Nv | Graphic image texture generation |
US7613810B2 (en) * | 2000-09-27 | 2009-11-03 | Nokia Inc. | Segmenting electronic documents for use on a device of limited capability |
-
2002
- 2002-05-24 CA CA2387328A patent/CA2387328C/en not_active Expired - Lifetime
-
2003
- 2003-05-21 US US10/442,228 patent/US20030228866A1/en not_active Abandoned
-
2010
- 2010-04-19 US US12/762,926 patent/US9167420B2/en not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020019237A1 (en) * | 1999-04-15 | 2002-02-14 | Sami Uskela | Managing service components of mobile terminal |
US7130648B1 (en) * | 1999-10-18 | 2006-10-31 | Cp8 Technologies | Message transmission system and method, and utilization of the transmission system to investigate services offered |
US6456857B1 (en) * | 1999-12-06 | 2002-09-24 | Alcatel | Terminal to execute a terminal application |
US6891811B1 (en) * | 2000-04-18 | 2005-05-10 | Telecommunication Systems Inc. | Short messaging service center mobile-originated to HTTP internet communications |
US20030055735A1 (en) * | 2000-04-25 | 2003-03-20 | Cameron Richard N. | Method and system for a wireless universal mobile product interface |
US20030060896A9 (en) * | 2001-01-09 | 2003-03-27 | Hulai Steven J. | Software, devices and methods facilitating execution of server-side applications at mobile devices |
US20030014629A1 (en) * | 2001-07-16 | 2003-01-16 | Zuccherato Robert J. | Root certificate management system and method |
US20030110242A1 (en) * | 2001-12-11 | 2003-06-12 | Brown Kyle G. | Method and apparatus for dynamic reconfiguration of web services infrastructure |
Cited By (174)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7865938B2 (en) | 2002-08-27 | 2011-01-04 | Mcafee, Inc. | Enterprise-wide security system for computer devices |
US8850530B2 (en) | 2002-08-27 | 2014-09-30 | Mcafee, Inc. | Enterprise-wide security system for computer devices |
US8341693B2 (en) | 2002-08-27 | 2012-12-25 | Mcafee, Inc. | Enterprise-wide security system for computer devices |
US9998478B2 (en) | 2002-08-27 | 2018-06-12 | Mcafee, Llc | Enterprise-wide security for computer devices |
US20070186275A1 (en) * | 2002-08-27 | 2007-08-09 | Trust Digital, Llc | Enterprise-wide security system for computer devices |
US7366501B2 (en) * | 2003-05-09 | 2008-04-29 | Sony Corporation | Mobile using method, system and computer program to access and receive information from multiple servers |
US20040225735A1 (en) * | 2003-05-09 | 2004-11-11 | Sony Corporation | Service providing system, information processing apparatus and method, and program |
US9203634B2 (en) * | 2003-09-30 | 2015-12-01 | Kyocera Corporation | Mobile communication terminal, information providing system, program, and computer readable recording medium |
US20080126986A1 (en) * | 2003-09-30 | 2008-05-29 | Kyocera Corporation | Mobile Communication Terminal, Information Providing System, Program, and Computer Readable Recording Medium |
US20070123206A1 (en) * | 2003-09-30 | 2007-05-31 | Kyocera Corporation | Mobile Communication Terminal, Information Providing System, Program, and Computer Readable Recording Medium |
US9008627B2 (en) | 2003-09-30 | 2015-04-14 | Kyocera Corporation | Mobile communication terminal and information providing system |
US8798612B2 (en) | 2003-09-30 | 2014-08-05 | Kyocera Corporation | Mobile communication terminal for controlling startup of application based on received message and information providing system |
US20080032667A1 (en) * | 2003-09-30 | 2008-02-07 | Kyocera Corporation | Mobile Communication Terminal, Information Providing System, Program, and Computer Readable Recording Medium |
US8995953B2 (en) | 2003-09-30 | 2015-03-31 | Kyocera Corporation | Mobile communication terminal that stores accumulated communication charge for an application |
US20050070251A1 (en) * | 2003-09-30 | 2005-03-31 | Kyocera Corporation | Mobile communication terminal, information providing system, program, and computer readable recording medium |
US7373181B2 (en) * | 2003-10-24 | 2008-05-13 | Motorola, Inc. | Method and apparatus for sender controllable modalities |
US20080188203A1 (en) * | 2003-10-24 | 2008-08-07 | Motorola, Inc. | Method and apparatus for sender controllable modalities |
US20050101302A1 (en) * | 2003-10-24 | 2005-05-12 | Vogedes Jerome O. | Method and apparatus for sender controllable modalities |
US8635661B2 (en) | 2003-12-23 | 2014-01-21 | Mcafee, Inc. | System and method for enforcing a security policy on mobile devices using dynamically generated security profiles |
US20080212948A1 (en) * | 2004-03-24 | 2008-09-04 | Onstream Media Corporation | Remotely Accessed Virtual Recording Room |
US9467728B2 (en) * | 2004-03-24 | 2016-10-11 | Onstream Media Corporation | Remotely accessed virtual recording room |
US7565438B1 (en) * | 2004-03-30 | 2009-07-21 | Sprint Communications Company L.P. | Digital rights management integrated service solution |
US8205001B1 (en) | 2004-03-30 | 2012-06-19 | Sprint Communications Company L.P. | Digital rights management integrated service solution |
US10601635B1 (en) * | 2004-04-16 | 2020-03-24 | EMC IP Holding Company LLC | Apparatus, system, and method for wireless management of a distributed computer system |
US11400379B2 (en) | 2004-06-28 | 2022-08-02 | Winview, Inc. | Methods and apparatus for distributed gaming over a mobile device |
US11654368B2 (en) | 2004-06-28 | 2023-05-23 | Winview, Inc. | Methods and apparatus for distributed gaming over a mobile device |
US11786813B2 (en) | 2004-07-14 | 2023-10-17 | Winview, Inc. | Game of skill played by remote participants utilizing wireless devices in connection with a common game event |
US20060026198A1 (en) * | 2004-07-30 | 2006-02-02 | Research In Motion Ltd. | Method and apparatus for synchronizing contact data stores |
US8495700B2 (en) | 2005-02-28 | 2013-07-23 | Mcafee, Inc. | Mobile data security system and methods |
US20060199597A1 (en) * | 2005-03-02 | 2006-09-07 | Cisco Technology, Inc. | System and method for providing a proxy in a short message service (SMS) environment |
US8374638B2 (en) | 2005-03-02 | 2013-02-12 | Cisco Technology, Inc. | System and method for providing a proxy in a short message service (SMS) environment |
US20110165899A1 (en) * | 2005-03-02 | 2011-07-07 | Cisco Technology, Inc. | System and Method for Providing a Proxy in a Short Message Service (SMS) Environment |
US7941165B2 (en) * | 2005-03-02 | 2011-05-10 | Cisco Technology, Inc. | System and method for providing a proxy in a short message service (SMS) environment |
US20060211450A1 (en) * | 2005-03-18 | 2006-09-21 | Niekerk Sabine V | Method and apparatus for controlling push-to-talk functions of a mobile communication unit from a unit circuit card |
USRE44836E1 (en) | 2005-04-18 | 2014-04-08 | Blackberry Limited | System and method for efficient transfer of applications and data during device swap |
US7680910B2 (en) | 2005-04-18 | 2010-03-16 | Research In Motion Limited | System and method for efficient transfer of applications and data during device swap |
US8554887B2 (en) | 2005-04-18 | 2013-10-08 | Blackberry Limited | System and method for efficient transfer of applications and data during device swap |
US20060234623A1 (en) * | 2005-04-18 | 2006-10-19 | Research In Motion Limited | System and method for efficient transfer of applications and data during device swap |
US20100179942A1 (en) * | 2005-04-18 | 2010-07-15 | Research In Motion Limited | System and method for efficient transfer of applications and data during device swap |
WO2006110989A1 (en) * | 2005-04-18 | 2006-10-26 | Research In Motion Limited | System and method for efficient transfer of applications and data during device swap |
US11451883B2 (en) * | 2005-06-20 | 2022-09-20 | Winview, Inc. | Method of and system for managing client resources and assets for activities on computing devices |
WO2006136501A1 (en) | 2005-06-22 | 2006-12-28 | France Telecom | Method and device for the restitution of multimedia data transmitted by a gateway to a terminal |
US20100138469A1 (en) * | 2005-06-22 | 2010-06-03 | France Telecom | Method and device for the restitution of multimedia data transmitted by a gateway to a terminal |
US8631329B2 (en) | 2005-06-22 | 2014-01-14 | France Telecom | Method and device for the restitution of multimedia data transmitted by a gateway to a terminal |
WO2007068194A1 (en) * | 2005-12-16 | 2007-06-21 | Huawei Technologies Co., Ltd. | A method for realizing batch update in subscribing mechanism, subscriber and notifier terminal |
US11918880B2 (en) | 2006-01-10 | 2024-03-05 | Winview Ip Holdings, Llc | Method of and system for conducting multiple contests of skill with a single performance |
US11951402B2 (en) | 2006-01-10 | 2024-04-09 | Winview Ip Holdings, Llc | Method of and system for conducting multiple contests of skill with a single performance |
US11298621B2 (en) | 2006-01-10 | 2022-04-12 | Winview, Inc. | Method of and system for conducting multiple contests of skill with a single performance |
US11266896B2 (en) | 2006-01-10 | 2022-03-08 | Winview, Inc. | Method of and system for conducting multiple contests of skill with a single performance |
US11358064B2 (en) | 2006-01-10 | 2022-06-14 | Winview, Inc. | Method of and system for conducting multiple contests of skill with a single performance |
US11338189B2 (en) | 2006-01-10 | 2022-05-24 | Winview, Inc. | Method of and system for conducting multiple contests of skill with a single performance |
US20070184857A1 (en) * | 2006-02-07 | 2007-08-09 | Intervoice Limited Partnership | System and method for providing messages to a mobile device |
US7949353B2 (en) * | 2006-02-07 | 2011-05-24 | Intervoice Limited Partnership | System and method for providing messages to a mobile device |
WO2007105084A1 (en) * | 2006-03-10 | 2007-09-20 | Axalto S.A. | Method for converting sim toolkit service byte-codesto web pages |
US20090254465A1 (en) * | 2006-04-11 | 2009-10-08 | Giesecke & Devrient Gmbh | Recording Resource Usage |
US11179632B2 (en) | 2006-04-12 | 2021-11-23 | Winview, Inc. | Methodology for equalizing systemic latencies in television reception in connection with games of skill played in connection with live television programming |
US11825168B2 (en) | 2006-04-12 | 2023-11-21 | Winview Ip Holdings, Llc | Eception in connection with games of skill played in connection with live television programming |
US11235237B2 (en) | 2006-04-12 | 2022-02-01 | Winview, Inc. | Methodology for equalizing systemic latencies in television reception in connection with games of skill played in connection with live television programming |
US11917254B2 (en) | 2006-04-12 | 2024-02-27 | Winview Ip Holdings, Llc | Methodology for equalizing systemic latencies in television reception in connection with games of skill played in connection with live television programming |
US11185770B2 (en) | 2006-04-12 | 2021-11-30 | Winview, Inc. | Methodology for equalizing systemic latencies in television reception in connection with games of skill played in connection with live television programming |
US11678020B2 (en) | 2006-04-12 | 2023-06-13 | Winview, Inc. | Methodology for equalizing systemic latencies in television reception in connection with games of skill played in connection with live television programming |
US11889157B2 (en) | 2006-04-12 | 2024-01-30 | Winview Ip Holdings, Llc | Methodology for equalizing systemic latencies in television reception in connection with games of skill played in connection with live television programming |
US11716515B2 (en) | 2006-04-12 | 2023-08-01 | Winview, Inc. | Methodology for equalizing systemic latencies in television reception in connection with games of skill played in connection with live television programming |
US11722743B2 (en) | 2006-04-12 | 2023-08-08 | Winview, Inc. | Synchronized gaming and programming |
US11736771B2 (en) | 2006-04-12 | 2023-08-22 | Winview, Inc. | Methodology for equalizing systemic latencies in television reception in connection with games of skill played in connection with live television programming |
US20070259691A1 (en) * | 2006-05-04 | 2007-11-08 | Msystems Ltd. | High-capacity SIM storage control |
US9198025B2 (en) * | 2006-05-04 | 2015-11-24 | Sandisk Il Ltd. | High-capacity SIM storage control |
US8600347B2 (en) * | 2006-09-14 | 2013-12-03 | Futurewei Technologies, Inc. | Idle mode notification |
US20080070603A1 (en) * | 2006-09-14 | 2008-03-20 | Futurewei Technologies, Inc. | Idle Mode Notification |
US8750108B2 (en) | 2006-10-23 | 2014-06-10 | Mcafee, Inc. | System and method for controlling mobile device access to a network |
US11096054B2 (en) | 2006-10-23 | 2021-08-17 | Mcafee, Llc | System and method for controlling mobile device access to a network |
US8259568B2 (en) | 2006-10-23 | 2012-09-04 | Mcafee, Inc. | System and method for controlling mobile device access to a network |
US8695030B2 (en) * | 2006-12-14 | 2014-04-08 | Verizon Patent And Licensing Inc. | Instant messaging with a media device |
US20080148328A1 (en) * | 2006-12-14 | 2008-06-19 | Verizon Data Services Inc. | Instant messaging with a media device |
US20080182622A1 (en) * | 2007-01-25 | 2008-07-31 | Sierra Wireless, Inc. | Method and Apparatus for Implementing a SIM Card Onboard a PC Card |
US20080259551A1 (en) * | 2007-04-20 | 2008-10-23 | Gotive A.S. | Modular computing device |
US20090006628A1 (en) * | 2007-06-28 | 2009-01-01 | Samsung Electronics Co., Ltd. | System and method for controlling the presentation of dynamic information to a mobile device |
US20090016166A1 (en) * | 2007-07-09 | 2009-01-15 | International Business Machines Corporation | Text message activated alarm clock |
US20090063862A1 (en) * | 2007-09-04 | 2009-03-05 | Samsung Electronics Co., Ltd. | Mashup service support method and apparatus |
US9141775B2 (en) * | 2007-09-04 | 2015-09-22 | Samsung Electronics Co., Ltd. | Mashup service support method and apparatus |
US20090106459A1 (en) * | 2007-10-17 | 2009-04-23 | Dell Products, Lp | Configuration identification tool and methods |
US9401846B2 (en) * | 2007-10-17 | 2016-07-26 | Dell Products, Lp | Information handling system configuration identification tool and method |
US20090172794A1 (en) * | 2007-12-31 | 2009-07-02 | Motorola, Inc. | Location bound secure domains |
US9223938B2 (en) * | 2007-12-31 | 2015-12-29 | Google Technology Holdings LLC | Location bound secure domains |
US9088029B2 (en) | 2008-01-18 | 2015-07-21 | Mophie, Inc. | Battery pack, holster, and extendible processing and interface platform for mobile devices |
US9577695B2 (en) | 2008-01-18 | 2017-02-21 | Mophie, Inc. | Wireless communication accessory for a mobile device |
US10170738B2 (en) | 2008-01-18 | 2019-01-01 | Mophie Inc. | Battery pack for mobile devices |
US9088028B2 (en) | 2008-01-18 | 2015-07-21 | Mophie, Inc. | Battery pack, holster, and extendible processing and interface platform for mobile devices |
US9406913B2 (en) | 2008-01-18 | 2016-08-02 | Mophie, Inc. | Battery case for mobile devices |
US8971039B2 (en) | 2008-01-18 | 2015-03-03 | Mophie, Inc. | Battery pack, holster, and extendible processing and interface platform for mobile devices |
US8367235B2 (en) | 2008-01-18 | 2013-02-05 | Mophie, Inc. | Battery pack, holster, and extendible processing and interface platform for mobile devices |
US9123935B2 (en) | 2008-01-18 | 2015-09-01 | Mophie, Inc. | Wireless communication accessory for a mobile device |
US10559788B2 (en) | 2008-01-18 | 2020-02-11 | Mophie Inc. | Battery pack for mobile devices |
US9172070B2 (en) | 2008-01-18 | 2015-10-27 | Mophie, Inc. | Battery pack, holster, and extendible processing and interface platform for mobile devices |
US9748535B2 (en) | 2008-01-18 | 2017-08-29 | Mophie, Inc. | Battery pack and holster for mobile devices |
US20090186264A1 (en) * | 2008-01-18 | 2009-07-23 | Daniel Huang | Battery pack, holster, and extendible processing and interface platform for mobile devices |
US9077013B2 (en) | 2008-01-18 | 2015-07-07 | Mophie, Inc. | Battery pack, holster, and extendible processing and interface platform for mobile devices |
WO2009105977A1 (en) * | 2008-02-29 | 2009-09-03 | 西安西电捷通无线网络通信有限公司 | A method for realizing the remote management of a handset digital certificate by using the ota system |
WO2010054258A1 (en) * | 2008-11-06 | 2010-05-14 | Trust Digital | System and method for mediating connections between policy source servers, corporate repositories, and mobile devices |
US8572676B2 (en) | 2008-11-06 | 2013-10-29 | Mcafee, Inc. | System, method, and device for mediating connections between policy source servers, corporate repositories, and mobile devices |
US8565726B2 (en) | 2008-11-06 | 2013-10-22 | Mcafee, Inc. | System, method and device for mediating connections between policy source servers, corporate repositories, and mobile devices |
US11601727B2 (en) | 2008-11-10 | 2023-03-07 | Winview, Inc. | Interactive advertising system |
US8917506B2 (en) | 2008-11-17 | 2014-12-23 | Mophie, Inc. | Portable electronic device case with battery |
US9402452B2 (en) | 2008-11-17 | 2016-08-02 | Mophie, Inc. | Method of making a smartphone case with a battery |
US8280369B1 (en) * | 2009-01-13 | 2012-10-02 | Sprint Communications Company L.P. | Controlling application modes on a mobile device |
US20120033616A1 (en) * | 2009-04-21 | 2012-02-09 | Hisense Mobile Communications Technology Co., Ltd. | Mobile terminal and peer-to-peer mode based data transmission method thereof |
US20100313025A1 (en) * | 2009-06-05 | 2010-12-09 | Rochester Institute Of Technology | Methods establishing a symmetric encryption key and devices thereof |
US8959348B2 (en) * | 2009-06-05 | 2015-02-17 | Rochester Institute Of Technology | Methods establishing a symmetric encryption key and devices thereof |
US20110055355A1 (en) * | 2009-08-21 | 2011-03-03 | Samsung Electronics Co., Ltd. | Application downloading method, application providing method, user terminal using the same |
CN101997908A (en) * | 2009-08-21 | 2011-03-30 | 三星电子株式会社 | Apparatuses for downloading applications via application lists |
US20150358821A1 (en) * | 2010-04-22 | 2015-12-10 | Zipit Wireless, Inc. | System and method for administration and operation of one or more mobile electronic communications devices |
US9565538B2 (en) * | 2010-04-22 | 2017-02-07 | Zipit Wireless, Inc. | System and method for administration and operation of one or more mobile electronic communications devices |
US8935384B2 (en) | 2010-05-06 | 2015-01-13 | Mcafee Inc. | Distributed data revocation using data commands |
US8483758B2 (en) | 2010-05-19 | 2013-07-09 | Mophie, Inc. | Modular mobile accessory for mobile device |
US9319501B2 (en) | 2010-05-19 | 2016-04-19 | Mophie, Inc. | External processing accessory for mobile device |
WO2011146774A1 (en) * | 2010-05-19 | 2011-11-24 | Mophie, Inc. | External processing accessory for mobile device |
US8954117B2 (en) | 2010-05-19 | 2015-02-10 | Mophie, Inc. | External processing accessory for mobile device |
US8959324B2 (en) * | 2010-06-21 | 2015-02-17 | Lg Electronics Inc. | Dual OS system using a smart SIM module and controlling method thereof |
US20110312383A1 (en) * | 2010-06-21 | 2011-12-22 | Youn Jinsoo | Dual os system using a smart sim module and controlling method thereof |
US20120108221A1 (en) * | 2010-10-28 | 2012-05-03 | Microsoft Corporation | Augmenting communication sessions with applications |
WO2012092711A1 (en) * | 2011-01-06 | 2012-07-12 | 宇龙计算机通信科技(深圳)有限公司 | Method for configuring wireless local area network digital certificate and mobile terminal |
US11526866B1 (en) | 2011-03-12 | 2022-12-13 | Stripe, Inc. | Systems and methods for secure wireless payment transactions when a wireless network is unavailable |
US10803441B1 (en) * | 2011-03-12 | 2020-10-13 | Cria Inc. | Systems and methods for secure wireless payment transactions when a wireless network is unavailable |
US10467618B2 (en) | 2011-03-12 | 2019-11-05 | Cria Inc. | System and methods for secure wireless payment transactions when a wireless network is unavailable |
US9465633B2 (en) * | 2011-08-05 | 2016-10-11 | Vmware, Inc. | Displaying applications of a virtual mobile device in a user interface of a mobile device |
US20130145366A1 (en) * | 2011-08-05 | 2013-06-06 | Vmware, Inc. | Displaying applications of a virtual mobile device in a user interface of a mobile device |
US9348626B2 (en) | 2011-08-05 | 2016-05-24 | Vmware, Inc. | Mobile device maintaining adequate security and data partitioning between user mode and business mode |
US9754092B2 (en) | 2011-08-05 | 2017-09-05 | Vmware, Inc. | Lock screens to access work environments on a personal mobile device |
US8924970B2 (en) | 2011-08-05 | 2014-12-30 | Vmware, Inc. | Sharing work environment information sources with personal environment applications |
US9171139B2 (en) | 2011-08-05 | 2015-10-27 | Vmware, Inc. | Lock screens to access work environments on a personal mobile device |
US9448825B2 (en) | 2011-08-05 | 2016-09-20 | Vmware, Inc. | Unified notification bar between virtual mobile device and physical mobile device |
USD718289S1 (en) | 2011-11-11 | 2014-11-25 | Mophie, Inc. | Multi-piece case |
USD711819S1 (en) | 2012-01-09 | 2014-08-26 | Mophie Inc. | Mobile battery charger |
USD714215S1 (en) | 2012-01-09 | 2014-09-30 | Mophie, Inc. | Mobile battery charger |
USD720687S1 (en) | 2012-05-24 | 2015-01-06 | Mophie, Inc. | Mobile battery charger |
USD728467S1 (en) | 2012-05-24 | 2015-05-05 | Mophie, Inc. | Mobile battery charger |
USD721356S1 (en) | 2012-05-25 | 2015-01-20 | Mophie, Inc. | Mobile phone case |
USD721685S1 (en) | 2012-05-25 | 2015-01-27 | Mophie, Inc. | Mobile phone case |
USD727883S1 (en) | 2012-07-20 | 2015-04-28 | Mophie, Inc. | Mobile phone case |
US9026187B2 (en) | 2012-09-01 | 2015-05-05 | Morphie, Inc. | Wireless communication accessory for a mobile device |
USD723530S1 (en) | 2012-10-03 | 2015-03-03 | Mophie, Inc. | Unbanded battery case for a mobile device |
US9626544B2 (en) | 2012-10-08 | 2017-04-18 | Hand Held Products, Inc. | Removable module for mobile communication terminal |
US9286496B2 (en) | 2012-10-08 | 2016-03-15 | Hand Held Products, Inc. | Removable module for mobile communication terminal |
USD718754S1 (en) | 2012-10-30 | 2014-12-02 | Mophie, Inc. | Thin banded battery case for a mobile device |
USD721687S1 (en) | 2012-10-30 | 2015-01-27 | Mophie, Inc. | High capacity banded battery case for a mobile device |
USD718293S1 (en) | 2012-11-30 | 2014-11-25 | Mophie, Inc. | Unbanded snap battery case for a mobile device |
USD718230S1 (en) | 2012-12-04 | 2014-11-25 | Mophie, Inc. | High capacity banded snap battery case for a mobile device |
USD718755S1 (en) | 2012-12-18 | 2014-12-02 | Mophie, Inc. | Thin banded snap battery case for a mobile device |
US9755444B2 (en) | 2013-02-25 | 2017-09-05 | Mophie, Inc. | Protective case with switch cover |
US9876522B2 (en) | 2013-03-15 | 2018-01-23 | Mophie, Inc. | Protective case for mobile device |
USD732012S1 (en) | 2013-04-06 | 2015-06-16 | Mophie, Inc. | Curved battery case for a mobile device |
US9867010B2 (en) * | 2013-07-10 | 2018-01-09 | Samsung Electronics Co., Ltd. | Method, electronic device, and computer readable recording medium for providing location based services |
US20150017963A1 (en) * | 2013-07-10 | 2015-01-15 | Samsung Electronics Co., Ltd | Method, electronic device, and computer readable recording medium for providing location based services |
US9495375B2 (en) | 2013-11-27 | 2016-11-15 | Mophie, Inc. | Battery pack with supplemental memory |
USD733043S1 (en) | 2013-12-09 | 2015-06-30 | Mophie, Inc. | Battery pack |
USD721646S1 (en) | 2014-01-02 | 2015-01-27 | Mophie, Inc. | Battery pack with integrated connector |
US9997933B2 (en) | 2014-09-03 | 2018-06-12 | Mophie, Inc. | Systems and methods for battery charging and management |
US10033204B2 (en) | 2014-09-03 | 2018-07-24 | Mophie, Inc. | Systems and methods for battery charging and management |
US10079496B2 (en) | 2014-09-03 | 2018-09-18 | Mophie Inc. | Systems for managing charging devices based on battery health information |
US9153985B1 (en) | 2014-09-30 | 2015-10-06 | Mophie, Inc. | Portable charging device |
USD797091S1 (en) | 2014-11-25 | 2017-09-12 | Mophie, Inc. | Case for a mobile electronic device |
USD797092S1 (en) | 2014-11-25 | 2017-09-12 | Mophie, Inc. | Case for a mobile electronic device |
USD797093S1 (en) | 2014-12-03 | 2017-09-12 | Mophie, Inc. | Case for a mobile electronic device |
US9356267B1 (en) | 2014-12-17 | 2016-05-31 | Mophie, Inc. | Protective battery case to partially enclose a mobile electronic device |
USD766819S1 (en) | 2015-04-06 | 2016-09-20 | Mophie, Inc. | Protective battery case |
USD767485S1 (en) | 2015-04-07 | 2016-09-27 | Mophie, Inc. | Battery case |
USD861653S1 (en) | 2015-05-27 | 2019-10-01 | Mophie Inc. | Protective battery case for mobile communications device |
USD950538S1 (en) * | 2016-03-03 | 2022-05-03 | Mophie Inc. | Case for a mobile electronic device |
US11551529B2 (en) | 2016-07-20 | 2023-01-10 | Winview, Inc. | Method of generating separate contests of skill or chance from two independent events |
CN108307330A (en) * | 2017-01-13 | 2018-07-20 | 深圳云游四海信息科技有限公司 | A kind of terminal OTA message treatment methods and system |
US10516431B2 (en) | 2017-11-21 | 2019-12-24 | Mophie Inc. | Mobile device case for receiving wireless signals |
US11308765B2 (en) | 2018-10-08 | 2022-04-19 | Winview, Inc. | Method and systems for reducing risk in setting odds for single fixed in-play propositions utilizing real time input |
USD956686S1 (en) | 2019-01-07 | 2022-07-05 | Mophie Inc. | Battery pack |
USD940647S1 (en) | 2019-01-07 | 2022-01-11 | Mophie Inc. | Battery pack |
Also Published As
Publication number | Publication date |
---|---|
CA2387328C (en) | 2012-01-03 |
CA2387328A1 (en) | 2003-11-24 |
US9167420B2 (en) | 2015-10-20 |
US20100205436A1 (en) | 2010-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9167420B2 (en) | Mobile terminal system | |
KR100883556B1 (en) | Method for processing and transmitting data on a mobile telephone network and microchip onboard system | |
EP1550289B1 (en) | Contact validation and trusted contact updating in mobile wireless communications devices | |
US7404148B2 (en) | Method, system and apparatus using a sensory cue to indicate subsequent action characteristics for data communications | |
US8805957B2 (en) | Method and apparatus for communications over low bandwidth communications networks | |
KR100776968B1 (en) | Flexible messaging system | |
KR100383606B1 (en) | System and method for secure over-the-air administration of a wireless mobile station | |
EP1621035B1 (en) | Method for secure downloading of applications | |
JP4282237B2 (en) | How to access the server computer | |
US20050277432A1 (en) | Dynamic display generation for mobile communication devices | |
KR20090005340A (en) | Method and system for phone-number discovery and phone-number authentication for m0bile communications devices | |
KR20030019356A (en) | Secure dynamic link allocation system for mobile data communication | |
JP2002520911A (en) | Setting up a confidential session based on wireless application protocol | |
EP1782650A1 (en) | Method and system for improving robustness of secure messaging in a mobile communications network | |
JP2003502759A (en) | SAT back channel security system for mobile terminals using USSD | |
US7698747B2 (en) | Applet download in a communication system | |
EP1338971B1 (en) | Method and terminal for the secure acquisition of applications | |
EP1361712B1 (en) | Method for communicating messages to an electronic communication equipment | |
US20140040988A1 (en) | Method and System for Data Communication to an Identification Module in a Mobile Radio Terminal | |
WO2001043472A1 (en) | Safe information interchange between a user of a terminal and a sim application toolkit via wap | |
KR20090106103A (en) | System and Method for Managing Smart Card Information | |
GB2415574A (en) | Authenticating messages in a telecommunication system | |
CN116599947A (en) | DDS-based data communication method and device, terminal and storage medium | |
CN114390495A (en) | Mobile terminal network communication substitution system and method | |
FI107865B (en) | Method and arrangements for handling of messages in a telecommunication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: DIVERSINET CORP., ONTARIO Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PEZESHKI, FARHAD;REEL/FRAME:014104/0234 Effective date: 20020524 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: IMS HEALTH INC., CONNECTICUT Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:DIVERSINET CORP.;REEL/FRAME:031268/0020 Effective date: 20130912 |
|
AS | Assignment |
Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NEW YO Free format text: SECURITY AGREEMENT;ASSIGNOR:IMS HEALTH INCORPORATED;REEL/FRAME:031592/0179 Effective date: 20131030 |