Remotely locating and commanding a mobile device

Information

  • Patent Grant
  • 8670748
  • Patent Number
    8,670,748
  • Date Filed
    Tuesday, March 30, 2010
    14 years ago
  • Date Issued
    Tuesday, March 11, 2014
    10 years ago
Abstract
Methods, systems, and apparatus are presented for processing a remote lock command message. In one aspect, a method includes receiving, by a mobile device, a remote lock command message comprising a lock command and specifying a passcode to be set by the mobile device, locking the mobile device in response to the received remote lock command message, setting an unlock passcode associated with the mobile device to the specified passcode, and generating an acknowledgement message in response to the remote lock command message. Further, receiving the remote lock command message can include accessing a subscribed topic hosted on a notification service, the subscribed topic being associated with a lock command, and retrieving the remote lock command message from the subscribed topic. Additionally, locking the mobile device can include locking a display such that access to information stored on the mobile device and device functionality are blocked.
Description
TECHNICAL FIELD

The present disclosure relates to remotely communicating with a mobile device, such as a mobile telephone or a media player, and to causing the mobile device to perform a function through the transmission of one or more remote commands.


BACKGROUND

Mobile devices have been adapted to a wide variety of applications, including computing, communication, and entertainment. For example, mobile telephones permit users to freely initiate and receive voice communications. Similarly, mobile media devices have been developed to permit users to take electronic entertainment, including audio, video, and electronic games, to even the most remote location. Further, mobile computing devices have been developed to provide users with remote access to data communications through wireless connectivity, such as over IEEE 802.11 or 3G networks. Some mobile devices, such as smart phones, support a combination of voice communications, entertainment, and mobile computing.


Because mobile devices are sized for portability, they easily can be misplaced. Also, because mobile devices often are carried to many different locations, they can be forgotten or lost. Further, because of their convenience and portability, mobile devices often are used to store a large amount of personal data. For example, a mobile device can be used to store an entire address book of contact information, electronic mail and text messages relating to business and personal matters, account information, one or more galleries of images, and a library of music. Thus, the loss of a mobile device also can incur the loss of a substantial amount of data, including sensitive personal data.


Ownership of a mobile device can be indicated in a number of ways. For example, owners can mark a mobile device with identifying information, such as a name, address, or telephone number. The mobile device can be marked physically, such as through a label or an engraving, or electronically, such as through registration information stored on the mobile device. Further, with respect to mobile telephones, an attempt can be made to recover a lost device. For example, a user can call a lost mobile telephone to speak with a finder who is willing to answer. If the finder is honest, the mobile telephone can be returned to the rightful owner. However, mobile devices and the services they provide access to often are valuable and a mobile device thus may not be returned if lost or may be intentionally stolen.


To prevent the data stored on a lost mobile device from being compromised, the data can be protected against unauthorized access in a variety of ways. For example, access to the data and/or applications can be protected through login credentials, such as a system password. The mobile device can block any access or functionality until the correct login information is supplied. Further, file encryption can be linked to a security password, such that files remain encrypted until the correct login information is supplied. A mobile device also can be locked after multiple unsuccessful attempts at access to prevent hacking. For example, a mobile device can be configured such that repeated password failures lock the mobile device to prevent any further use. Alternatively, a service provider can be contacted to disable further use of the mobile device, such as by deactivating a corresponding account.


SUMMARY

A mobile device can be remotely contacted and commanded to perform one or more operations, such as through the transmission of a message to the device. Further, before the mobile device is lost, it can be configured to support one or more remote commands. The remote commands supported can be selectively enabled by the mobile device owner. A mobile device also can support one or more remote commands by default.


The transmission of one or more remote commands to the mobile device can be initiated from a networked computing device, such as through a web service. The mobile device also can confirm receipt of one or more remote commands and can acknowledge that an associated operation or instruction has been or will be executed. For example, messages can be transmitted to and from the mobile device through a notification service implemented using a publish-subscribe (“PubSub”) framework.


The present inventors recognized a need to allow a mobile device owner to remotely issue one or more commands to the mobile device, including commands used to present a message or sound on the mobile device, to lock the mobile device, to wipe the contents of the mobile device, or to locate the mobile device. Further, the need to receive one or more messages from the mobile device acknowledging and/or responding to a remote command also was recognized. The present inventors also recognized the need to provide a web-based application configured to facilitate remote management of one or more mobile devices.


Additionally, the present inventors recognized the need to permit an existing passcode associated with a mobile device to be changed or a new passcode to be set. The present inventors further recognized the need to provide an acknowledgement indicating that a mobile device has been locked in accordance with a newly specified passcode. It also was recognized that an error message can be presented indicating that the passcode for a mobile device was not changed, such as in response to one or more predetermined conditions.


The present inventors also recognized the need to allow reconfiguring a mobile device to alter or disable support for one or more remote commands. Further, the need for the mobile device to automatically retrieve command messages also was recognized. Also, the present inventors recognized the need to permit transmitting multiple remote commands to a mobile device, such as a locate command and a message command. Additionally, the present inventors recognized the need to permit disassociating a mobile device from a remote management account, such as when ownership of the mobile device changes. Accordingly, the techniques and apparatus described here implement algorithms for remotely communicating with a mobile device to cause the mobile device to perform functions through the transmission of one or more remote commands.


In general, in one aspect, the techniques can be implemented to include receiving, by a mobile device, a remote lock command message comprising a lock command and specifying a passcode to be set, locking the mobile device in response to the received remote lock command message, setting an unlock passcode associated with the mobile device to the specified passcode, and generating an acknowledgement message in response to the remote lock command message.


The techniques also can be implemented such that receiving further includes accessing a subscribed topic hosted on a notification service, the subscribed topic being associated with a lock command, and retrieving the remote lock command message from the subscribed topic. Further, the techniques can be implemented such that the subscribed topic is uniquely associated with the mobile device. Additionally, the techniques can be implemented to further include determining, prior to setting the unlock passcode, that the specified passcode complies with an implemented security constraint of the mobile device.


The techniques also can be implemented to further include publishing the acknowledgement message to a notification service in substantially real time. Further, the techniques can be implemented such that generating an acknowledgement message further involves including a time stamp indicating a time at which the remote lock command message was received. Also, the techniques can be implemented such that locking the mobile device further includes locking a display associated with the mobile device such that access to one or more of information stored on the mobile device and functionality of the mobile device is blocked. Additionally, the techniques can be implemented such that setting an unlock passcode further includes initializing an unlock passcode associated with the mobile device.


In general, in another aspect, the techniques can be implemented as a computer-readable medium, tangibly encoding a computer program product comprising instructions operable to cause data processing apparatus to perform operations including accessing a subscribed topic hosted on a notification service, the subscribed topic corresponding to a mobile device, retrieving a remote lock command message included in the subscribed topic, locking the mobile device in response to the remote lock command message, and publishing an acknowledgement message to the notification service.


The techniques also can be implemented to be further operable to cause data processing apparatus to perform operations including identifying a passcode specified by the remote lock command message, detecting that the specified passcode does not comply with a security constraint implemented by the mobile device, and determining, in response to the detecting, not to reset an unlock passcode associated with the mobile device. Additionally the techniques can be implemented to be further operable to cause data processing apparatus to perform operations involving including a passcode error message in the acknowledgement message. Further, the techniques can be implemented to be further operable to include locking the mobile device by locking a display such that access to one or more of information stored on the mobile device and functionality of the mobile device is blocked. Additionally, the techniques can be implemented to be further operable to cause data processing apparatus to perform operations including establishing a connection to the notification service over a wireless data connection.


The techniques also can be implemented to be further operable to cause data processing apparatus to perform operations involving including a time stamp in the acknowledgement message indicating a time at which the remote lock command message was executed and including an indication that the mobile device was locked in the acknowledgement message. Further, the techniques can be implemented such that the subscribed topic is included in a command collection associated with the notification service that uniquely corresponds to the mobile device. Additionally, the techniques can be implemented to be further operable to cause data processing apparatus to perform operations including resetting an unlock password associated with the mobile device based on the specified passcode.


In general, in another aspect, the subject matter can be implemented as a system including a server hosting a notification service including a plurality of topics and a mobile device including processor electronics configured to perform operations including accessing a subscribed topic hosted on the notification service, the subscribed topic corresponding to the mobile device, opening a remote lock command message included in the subscribed topic, the remote lock command message comprising a lock command and a specified passcode, locking the mobile device in response to the remote lock command message, setting an unlock passcode associated with the mobile device to the specified passcode, and publishing an acknowledgement message to the notification service.


The system also can be implemented such that the processor electronics are further configured to perform operations involving including in the acknowledgement message an indication confirming that the unlock passcode has been set to the specified passcode and a time stamp identifying a time at which the remote lock command message was received.


The techniques described in this specification can be implemented to realize one or more of the following advantages. For example, the techniques can be implemented such that the location of a lost mobile device can be remotely requested and acquired. The techniques also can be implemented to permit transmitting one or more remote commands to a mobile device using a store and forward message framework. The remote commands can include a message command, a locate command, a sound command, a lock command, and a wipe command. Further, a PubSub model can be employed to facilitate communications between a command application and a mobile device, such that the mobile device can access a subscribed node when data communications are available. Additionally, the techniques can be implemented to permit transmitting information and/or acknowledgement messages from the mobile device in response to a remote command. The techniques also can be implemented such that a communication node monitored by a mobile device can be automatically created when the associated mobile device account is created. The techniques further can be implemented to permit delivering a remote command to a mobile device and receiving a response from the mobile device in near real-time.


The techniques also can be implemented to permit specifying a new passcode in conjunction with a remote lock command. Further, the techniques can be implemented such that the passcode is not changed by a lock command if a more complex passcode constraint has been specified on the device. The techniques also can be implemented such that one or more other remote commands can be executed after a remote lock command. Additionally, the techniques can be implemented such that the device always enters a locked state in response to receiving a remote lock command.


The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features and advantages will be apparent from the description and drawings, and from the claims.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 shows an exemplary computing environment that includes mobile devices and a notification server.



FIG. 2 shows a flow diagram describing an exemplary process for linking a mobile device with a remote management account.



FIG. 3 shows a flow diagram describing an exemplary process for remotely commanding a mobile device.



FIG. 4 shows a flow diagram describing an exemplary process for receiving a remote command by a mobile device.



FIGS. 5-9 show flow diagrams describing exemplary processes for executing remote commands by a mobile device.



FIGS. 10-11 show exemplary user interfaces depicting the location reported by a mobile device in response to a locate command.



FIG. 12 shows a mobile device displaying an exemplary message in response to a message command.



FIGS. 13A and B show exemplary mobile device interfaces presented in response to an executed remote lock command.



FIG. 14 shows a flow diagram describing an exemplary process for processing a remote command message by a mobile device.



FIG. 15 shows an exemplary notification service, in which a unique command collection topic has been created for each subscribing mobile device.





Like reference symbols indicate like elements throughout the specification and drawings.


DETAILED DESCRIPTION


FIG. 1 shows an exemplary computing environment that includes mobile devices and a notification server. A communication network 105 connects the devices and applications hosted in the computing environment 100. The communication network 105 can be any type of network, including a local area network (“LAN”), such as an intranet, and a wide area network (“WAN”), such as the internet. Further, the communication network 105 can be a public network, a private network, or a combination thereof. The communication network 105 also can be implemented using any type or types of physical media, including wired communication paths and wireless communication paths associated with multiple service providers. Additionally, the communication network 105 can be configured to support the transmission of messages formatted using a variety of protocols.


A user station 110 can be configured to operate in the computing environment 100. The user station 110 can be any computing device that can be configured to communicate with a web-enabled application, such as through a web browser. For example, the user station 110 can be a personal computing device, such as a desktop or workstation, or a portable computing device, such as a laptop or smart phone. The user station 110 can include an input interface through which one or more inputs can be received. For example, the input interface can include one or more of a keyboard, a mouse, a joystick, a trackball, a touch pad, a touch screen, and a microphone. The user station 110 also can include an output interface through which output can be presented, including one or more of a display, one or more speakers, and a haptic interface.


The user station 110 further can include a network connection to the communication network 105. The network connection can be implemented through a wired or wireless interface, and can support bi-directional communication between the user station 110 and one or more other computing devices over the communication network 105. Also, the user station 110 includes an interface application, such as a web browser or custom application, for communicating with a web-enabled application.


An application server 115 also can be configured to operate in the computing environment 100. The application server 115 can be any computing device that can be configured to host one or more applications. For example, the application server 115 can be a server, a workstation, or a personal computer. In some implementations, the application server 115 can be configured as a collection of computing devices, e.g. servers, sited in one or more locations. The application server 115 can include an input interface through which one or more inputs can be received. For example, the input interface can include one or more of a keyboard, a mouse, a joystick, a trackball, a touch pad, a touch screen, and a microphone. The application server 115 also can include an output interface through which output can be presented, including one or more of a display, a haptic interface, and one or more speakers.


The application server 115 further can include a network connection to the communication network 105. The network connection can be implemented through a wired or wireless interface, and can support bi-directional communication between the application server 115 and one or more other computing devices over the communication network 105. Further, the application server 115 can be configured to host one or more applications. For example, the application server 115 can be configured to host a remote management application that facilitates communication with one or more mobile devices associated with an account. The mobile devices and the application server 115 can operate within a remote management framework to execute remote management functions. The application server 115 also can be configured to host a notification service application configured to support bi-directional communication over the communication network 105 between multiple communication devices included in the computing system 100. For example, the notification service application can permit a variety of messages to be transmitted and received by multiple computing devices.



FIG. 15 shows an example implementation, in which the notification service 1505 can include a defined namespace, in which a unique command collection topic (1520A-1520C) can be created for each subscribing mobile device (1510-1512). A unique identifier (e.g. 1524A) can be used to associate a subscribing mobile device (e.g. 1510) with the corresponding command collection topic (e.g. 1520A), such as an assigned number or address. The unique identifier also can be embedded in a Uniform Resource Identifier (URI) that is associated with a subscribed command collection topic. Further, one or more command nodes (1521-1523) can be created below a command collection topic, such that each command node corresponds to a particular remote command type. For example, a command collection topic can include a separate command node for each of: locate commands (1521A), message commands (1521C), sound commands (1521B), directory listing commands (1521D), file retrieval commands (1522A), screen lock commands (1522C), and wipe commands (1522B).


Through the use of separate command nodes, multiple commands can be transmitted to a mobile device substantially simultaneously. In some implementations, if multiple commands are received in a command collection topic, server time stamps can be compared to determine an order of execution. In some other implementations, an order of command execution can be determined based on command type. For example, if a wipe command is received in conjunction with one or more other remote commands, the wipe command can be performed last.


Through the notification service, a publisher, such as a remote management application, can publish a remote command message to a command collection topic that is associated with a particular mobile device. When a remote command message is published to the command collection topic, a notification message can be transmitted to the subscribing mobile device. The mobile device can then access the subscribed topic and retrieve one or more published messages. Thus, communication between the publisher and the mobile device can be decoupled. Further, the remote command message can be published to the appropriate command node of the command collection topic. Additionally, a mobile device receiving a remote command message can publish a response to a result topic hosted by the notification service. A publisher, such as a remote management application, can subscribe to the result topic and can receive any published response messages.


Further, the computing environment 100 can include one or more mobile devices, such as a mobile telephone 120, a digital media player 125, and a laptop computer 130. Each of the mobile devices included in the computing environment 100 can include a network interface configured to establish a connection to the communication network 105. For example, the mobile telephone 120 can establish a cellular (e.g., 3G or 4G) network connection that provides data access to the communication network 105. Further, the digital media player 125 can establish an IEEE 802.11 (i.e., Wi-Fi or WLAN) network connection to the communication network 105. Also, the laptop computer 130 can be configured to establish a connection to the communication network 105 based on either or both of the IEEE 802.16 (i.e., wireless broadband or WiBB) and the IEEE 802.11 standards.


Each of the mobile devices 120, 125, and 130 also can be configured to communicate with the notification service application hosted by the application server 115 to publish and receive messages. Further, each of the mobile devices 120, 125, and 130 can be configured to execute a remote management application or a remote management function responsive to a remote command received through the notification service application. In some implementations, the remote management application can be integrated with the operating system of the mobile device.


A mobile device can execute a remote command to perform one or more associated functions. For example, the remote commands can include locate commands, message commands, sound commands, directory listing commands, file retrieval commands, lock commands, and wipe commands. Some remote commands can be used to output a notification from a mobile device. For example, a sound command can cause a mobile device to output an auditory alert. Further, a message command can be used to present a text-based message on the display of a mobile device. Some other remote commands can be used to perform file-based functions. For example, a wipe command can be used to delete one or more items of data stored on the mobile device. A directory listing command can cause a mobile device to return data identifying all, or a portion of, the file directory structure associated with the storage of the mobile device. Additionally, a file retrieval command can be used to retrieve a copy of one or more files from a mobile device. Still other remote commands can be used to monitor a mobile device. For example, a locate command can cause a mobile device to transmit a message indicating its location at the time the locate command is executed. Further, a usage command can cause a mobile device to transmit a message identifying usage data for a period of time, such as calls placed or received. The period of time can be predetermined or can be specified in the usage command. Additionally, a lock command can be used to remotely secure a mobile device, such as to prevent access to functions and/or stored information by an unauthorized individual.


Additionally, each of the mobile devices 120, 125, and 130 can include an input interface through which one or more inputs can be received. For example, the input interface can include one or more of a keyboard, a mouse, a joystick, a trackball, a touch pad, a keypad, a touch screen, a scroll wheel, general and special purpose buttons, a stylus, and a microphone. Each of the mobile devices 120, 125, and 130 also can include an output interface through which output can be presented, including one or more of a display, one or more speakers, and a haptic interface. Further, a location interface, such as a Global Positioning System (GPS) processor, also can be included in one or more of the mobile devices 120, 125, and 130 to provide location information, e.g., an indication of current location. In some implementations, general or special purpose processors included in one or more of the mobile devices 120, 125, and 130 can be configured to perform location estimation, such as through base station triangulation.



FIG. 2 shows a flow diagram describing an exemplary process for linking a mobile device with a remote management account. A mobile device can be linked with any remote management account to which the mobile device owner has access. In some implementations, a mobile device can be linked with only one remote management account at a time. Thus, in order to establish a link between a mobile device and a remote management account, any previous link with a different remote management account must be broken. Alternatively, the act of linking a mobile device with a remote management account can cause any previous link with a different remote management account to be broken. In some implementations, a link between a mobile device and a corresponding remote management account also can be broken without establishing a link with a new remote management account. For example, if a mobile device is being sold or otherwise transferred to a new owner, the link between the mobile device and the existing remote management account can be broken. The mobile device subsequently can be linked to a remote management account associated with the new owner. However, a mobile device cannot be remotely managed when it is not linked with a remote management account.


In order to establish a link with a remote management account, a remote management application can be initialized on the mobile device (205). A remote management application can be included on the mobile device as part of the operating system or as a preinstalled application. Alternatively, the remote management application can be downloaded and installed by a user. Once initialized, the remote management application can cause the mobile device to establish a connection to a corresponding remote management server.


Access information can be provided to the remote management server to identify the remote management account to which the mobile device is to be linked (210). For example, a username and password corresponding to a remote management account can be entered, such as in response to a prompt by the server. The username and password can uniquely identify a remote management account hosted by the remote management server. Any unique identifier can be used to indicate a specific remote management account hosted by the remote management server.


Information uniquely identifying the mobile device further can be obtained by the remote management server (215). In some implementations, a serial number, a telephone number, a Subscriber Identity Module (SIM) card, a Media Access Control (MAC) address, an International Mobile Equipment Identity (IMEI), or other such identifier can be used to identify the mobile device. In some other implementations, the information identifying the mobile device can be a unique device identifier (UDID), which can be a hash, e.g. generated using a Secure Hash Algorithm, of hardware identifiers associated with the mobile device. Further, the unique identifier can be obtained from the mobile device automatically. Thus, data entry errors can be avoided. Once identified, the mobile device can be associated with the remote management account (220).


Further, the mobile device can subscribe to a command collection topic (225). The command collection topic can be specific to the mobile device, such that only messages intended for the mobile device are published to the command collection topic. Also, access to the command collection topic can be granted only to the mobile device, which can authenticate with the notification service based on the previously determined unique identifier. In some implementations, the notification service can be hosted on the remote management server. In other implementations, the notification service can be hosted on one or more servers separate from the remote management server. When the mobile device subscribes to the command collection topic, one or more command nodes (or child nodes) can be created to receive messages published by the notification service. For example, the command collection topic can include a command node for each type of remote command message that the mobile device can receive, such as locate commands, sound commands, message commands, screen lock commands, directory listing commands, file retrieval commands, and wipe commands.


Additionally, it can be determined whether one or more remote management settings associated with the mobile device are to be changed (230). The remote management functions associated with the mobile device initially can be configured in accordance with default settings. For example, one or more of the remote management commands, such as the wipe and sound commands, can be enabled by default, while one or more other remote management commands, such as the locate command, can be disabled by default. A remote management command will not be executed by the mobile device unless it has been enabled. Accordingly, the mobile device owner's privacy can be protected in the default mobile device configuration because location information cannot be remotely obtained from the mobile device. Further, in some implementations, one or more of the remote management commands, e.g. the message command, can be permanently enabled, such that a mobile device owner cannot disable the command.


At the time the mobile device is associated with a remote management account, the mobile device owner can be prompted to review the remote command settings. If the mobile device owner elects not to change the remote command settings, the initialization process can be terminated. Alternatively, if the mobile device owner elects to change the remote command settings, the current remote command settings can be displayed so that the mobile device owner can alter one or more of the remote management settings (235). For example, the mobile device owner can provide input to enable the locate command so that the mobile device can be remotely located.


In some implementations, the remote command settings can be accessed at any time through an operating system menu item, such as preferences or contacts. Alternatively or additionally, the remote command settings can be accessed through the remote management application. Once the remote command settings have been set, the initialization process can be terminated.



FIG. 3 shows a flow diagram describing an exemplary process for remotely commanding a mobile device. A remote management application can be configured to remotely command one or more linked mobile devices by publishing remote command messages to a notification service. In some implementations, the remote management application can be a web-based application hosted on one or more servers.


A remote management account owner can login to a remote management account by accessing the remote management application and providing login credentials, such as a username and password (305). A remote management account can be established through a registration process at any time, even if no mobile devices are being linked with the account. In some implementations, the login process can be secured, such as by encrypting one or more items of login information or by establishing a secured connection. Further, in some implementations, additional or different login credentials can be required in order to access a remote management account.


Once access to a remote management account has been granted, a list of mobile devices linked with the remote management account can be presented (310). The list of mobile devices identifies each of the managed devices associated with the remote management account. Each mobile device can be uniquely identified through one or more items of information, including one or more of an icon identifying the device, a device type, a model, a serial number, a telephone number, and a nickname. Further, the list of mobile devices also can indicate, for each device, whether the device is currently reachable or online. If a mobile device associated with the account has been wiped, the mobile device can be displayed in the list of mobile devices with an indication that the device can no longer be managed. In some implementations, a mobile device also can be associated with a remote management account through the account interface, such as during account registration.


A mobile device can be selected from the list of managed devices (315). For example, the account owner can select a mobile device that has been misplaced. The mobile device can be selected by clicking on a corresponding icon or item of information included in the list of managed devices. One or more remote commands available for the selected mobile device also can be presented (320). In some implementations, all remote commands can be presented along with indicators identifying which remote commands have been enabled for the mobile device. In some other implementations, only the remote commands that have been enable are presented. Further, in some implementations, one or more remote commands also can be enabled at the account level, i.e. through the remote management account, for execution on a mobile device. For example, the mobile device and remote management application can be configured to permit one or more remote commands to be enabled through the remote management account if additional authentication information can be verified. Additionally, one or more remote commands, e.g. the locate command, can be enabled only at the device level, i.e. from the mobile device. Thus, the privacy of the mobile device owner can be safeguarded.


A remote command to be executed by the mobile device can be selected from the available remote commands (325). Based on the remote command selected, the remote management application can prompt the account owner for one or more items of information. For example, if the message command is selected, the remote management application can prompt the account owner to provide a message to be displayed on the mobile device. Alternatively, if the wipe command is selected, the remote management application can prompt the account owner to confirm that a wipe command is to be sent to the mobile device. Other remote commands can be initiated upon selection, without prompting the account owner for additional information. For example, the locate command can be initiated in response to its selection.


The remote management application can generate and transmit the selected remote command to the notification service. For example, the remote management application can have an Extensible Messaging and Presence Protocol (XMPP) connection to the notification service and can send a publish message to the corresponding command node of the command collection topic associated with the mobile device. The notification service can publish the remote command and send a notification message to the mobile device subscribing to the command collection topic.


After a remote command has been initiated, it can be determined whether another command is to be generated (330). Any number of commands can be sent to a mobile device. For example, a message command can be sent to present a message on the display of the mobile device and a sound command can be sent to provide an audible alert so that the mobile device may be noticed. However, after a wipe command has been executed, no additional commands can be sent to a mobile device until it has been reconfigured. If another command is to be generated, it further can be determined whether the command is intended for the same mobile device (335). If another command is to be generated for the same mobile device, the remote command can be selected from the available remote commands for that mobile device (325). Alternately, if the next command is intended for a different mobile device, the list of mobile devices associated with the remote management account can be presented (310).


If another command is not desired, any result messages associated with the remote management account can be accessed (340). A mobile device receiving a remote command can publish a result message indicating that the command is being executed and providing any information requested by the command. Further, the remote management account can specify a result topic with the remote command to which the mobile device is to publish the result message. If the mobile device is connected to a data network when the remote command message is published, the corresponding result message can be published by the mobile device to the result topic in real-time or near real-time. Alternatively, if the mobile device is powered off or not connected to a data network when the remote command message is published, a result message will not be published until after the mobile device establishes a connection to a data network and retrieves the remote command for execution.



FIG. 4 shows a flow diagram describing an exemplary processes for receiving a remote command by a mobile device. Some mobile devices, such as mobile telephones, can have a persistent wireless network connection, such as a (TCP) connection, whenever they are powered on and in a service area. Some other mobile devices, such as digital media players, can have a wireless network connection only when they are within range of an access point, such as a Wi-Fi base station, and the wireless network connection has been enabled. Further, push services for a mobile device can be turned off, e.g. to preserve battery life. Thus, a mobile device can be configured to establish a network connection at a predetermined interval, such as every thirty minutes, to receive remote management commands. Additionally, in the event a mobile device is configured to establish a network connection only in response to a manual command, the mobile device nonetheless can be configured to automatically establish a network connection in support of remote management. For example, a network connection can be established once an hour to check for remote command messages and then torn down. Thus, if the mobile device is lost and a network connection cannot be manually triggered, it is still possible for one or more remote management commands to be received by the mobile device.


A mobile device can access a notification service hosting a command collection topic to which the mobile device subscribes (405). For example, the mobile device can access a URI associated with the notification service and can perform an authentication process. Once authenticated, the mobile device can access a subscribed command collection topic. The command collection topic can be uniquely associated with the mobile device and can include one or more command nodes, each of which can receive a particular type of command message. The mobile device can be configured to access the notification service upon reestablishing a data network connection, such as when the mobile device is first powered on in an area in which data network access is available. Additionally, the mobile device can be configured to access the notification service in response to receiving a notification that a message has been published to a subscribed command topic.


Once the mobile device has accessed the command collection topic, each of the command nodes included in the topic can be polled to determine whether one or more new remote command messages have been received (410). In some implementations, the mobile device can be configured to compare any remote command messages included in the command collection topic to remote command messages cached by the mobile device. If a remote command message does not exist in the cache, the mobile device can treat the message as new. If no new remote command messages have been received, the mobile device can disconnect from the notification service (415).


Alternatively, if a new remote command message is detected in the command collection topic, the mobile device can retrieve the new remote command message (420). In some implementations, if more than one new remote command message exists in the command collection topic, the remote command messages can be retrieved in order based on server time stamps, command message type, or a combination thereof. For example, the mobile device can be configured to retrieve a wipe command last, as execution of the wipe command will preclude the execution of any remaining commands.


The remote command message can include general parameters to be used in executing the command and response, such as a server time stamp, a result topic to which a result message is to be published, and a command identifier. One or more command specific parameters also can be included for a particular command type. For example, a message command can include parameters identifying the message to be displayed. The parameters can be expressed using any data construct, including a delineated list, data fields, or key-value pairs. In some implementations, the server time stamp can be an XMPP standard time stamp in the format yyyy-MM-dd′T′HH:mm:ss.SSS′Z. Further, the server time stamp can be used to calculate the duration between transmission of the remote command message and execution of the associated command.


The mobile device can evaluate a retrieved remote command message to determine whether the associated command is understood (425). For example, a mobile device may not understand a command that is associated with a more recent version of an operating system or that requires functionality not included in the mobile device. If the mobile device does not understand the command associated with the retrieved remote command message, the mobile device can publish a message to a result topic indicating that the command was not understood (430). The result topic can be a predetermined result topic associated with the mobile device or a result topic identified in the remote command message. The mobile device further can determine whether the command collection topic includes a new command message (410).


If the command associated with the retrieved remote command message is understood, the mobile device can determine whether the command also is enabled (435). For example, one or more of the commands that can be executed by a mobile device can be disabled, either through user action or in accordance with default settings. If the command has been disabled, the mobile device can publish a message to the result topic indicating that the command has been disabled (440). The mobile device further can determine whether the command collection topic includes a new command message (410).


If the mobile device determines that the command is enabled, the mobile device can publish an acknowledgement message to the result topic (445). The result topic can be specified in the command message or can be a predetermined result topic. The acknowledgement message can indicate the result of the command and the time at which command execution was initiated. Also, the acknowledgement message can be published before command execution for some commands, such as the wipe command, the sound command, and the message command, to indicate that the command will be executed. For other commands, such as the location command and the lock command, the acknowledgement message can be published after the command has been executed. For example, the acknowledgement message corresponding to the location command includes data generated during command execution that identifies the location of the mobile device.


The mobile device also can execute the command identified by the remote command message (450). For example, the sound command can be executed by outputting an audible alert, such as one or more sounds played at a specified volume for a specified duration. In some implementations, the audible alert also can be delayed, e.g. for a predetermined time after the command is transmitted, and/or repeated one or more times. The message command can be executed by outputting a message, such as text, to a display included in the mobile device. The lock command can be executed to lock the screen of the mobile device and also to permit changing the passcode that must be entered to unlock the device. Further, execution of the wipe command can cause one or more items of data to be deleted from the mobile device. In some implementations, the type of data or level of wipe can be selected by the mobile device owner. In other implementations, executing the wipe command can cause the mobile device to be restored to a default state. Additionally, execution of the locate command can cause the mobile device to identify its location, based on the geographic reference information available to the mobile device at the time the command is executed. Except in the case of a wipe command, after the command has been executed the mobile device can determine whether another new message exists in the command collection topic (410).



FIG. 5 shows a flow diagram describing an exemplary process for executing a sound command by a mobile device. The mobile device can receive a sound command indicating that an audible alert is to be output (510). As described above, a remote command message corresponding to the sound command can be retrieved from a sound command node of a command collection topic subscribed to by the mobile device. Further, the mobile device can determine that the sound command is both recognized and enabled on the mobile device. If the mobile device determines that the sound command is not recognized or is not enabled, the command is ignored.


In response to the sound command, the mobile device can determine the sound to be played (515). In some implementations, the sound command can indicate that a predetermined audible alert is to be played. The predetermined audible alert can be characterized by one or more predetermined sounds and a predetermined duration. In some other implementations, the sound command can include one or more parameters specifying characteristics of the audible alert, such as one or more sounds to be played, a volume, a duration, whether the audible alert is to be repeated, and whether the audible alert is to be output continuously or periodically.


The one or more sounds representing the audible alert can then be output by the mobile device (520). Further, the mobile device can publish a result message to the notification service (525). The result message can be published to a result topic, e.g. a result topic specified by the command message, indicating that the audible alert has been or will be output. In some implementations, the result message can include one or more items of data, such as the time at which the command was executed and the characteristics of the audible alert.



FIG. 6 shows a flow diagram describing an exemplary process for executing a message command by a mobile device. The mobile device can receive a message command indicating that a message is to be presented on a display of the mobile device (605). For example, the message can indicate contact information that can be used to coordinate the return of the mobile device. As described above, a remote command message corresponding to the message command can be retrieved from a message command node of a command collection topic subscribed to by the mobile device. Further, the mobile device can determine that the message command is both recognized and enabled on the mobile device. If the mobile device determines that the message command is not recognized or is not enabled, the command is ignored.


The mobile device can determine the message to be displayed (610). For example, the received message command can include the text of the message to be presented. In some implementations, the message command also can specify the message format, including one or more of font, font size, text color, background, and graphics. Further, one or more restrictions can be placed on the message, such as the number of characters or message size, to ensure that the message can be displayed in its entirety on a single screen and to reduce the overhead associated with the message command. The message identified by the message command can be presented on the display of the mobile device (615). The message can be displayed above all other items presented on the display, such that the entire message is visible and uninterrupted. Further, the message can be displayed even if the mobile device is locked or if a screensaver is active.


The mobile device also can publish a result message to a result topic associated with the notification service (620). For example, a result topic can be specified by the message command. The result message can indicate that the message was displayed on the mobile device and the time at which the message was displayed. Further, the result message also can echo back the message that was displayed on the mobile device. After the message is displayed, input can be received by the mobile device to cancel the message (625). For example, when the mobile device is found, the message can be turned off in response to an action, such as a button push.



FIG. 7 shows a flow diagram describing an exemplary process for executing a wipe command by a mobile device. The mobile device can receive a wipe command indicating that one or more items of data are to be deleted from the mobile device (705). As described above, a remote command message including the wipe command can be retrieved from a wipe command node of a command collection topic subscribed to by the mobile device. Further, the mobile device can determine that the wipe command is both recognized and enabled on the mobile device. If the mobile device determines that the wipe command is not recognized or is not enabled, the command is ignored.


In response to the wipe command, the mobile device can request to unsubscribe from the command collection topic (710). As a result of unsubscribing, all of the messages in the command nodes corresponding to the command collection topic can be deleted. In some implementations, the mobile device also can be removed from the device listing of the remote management account. In some other implementations, the mobile device can be presented in the device listing as no longer being able to be managed (or as a dead device). The mobile device can determine whether the attempt to unsubscribe from the command collection topic was successful (715). If the mobile device did not successfully unsubscribe from the command collection topic, the mobile device can repeat the request to unsubscribe (710).


If the mobile device successfully unsubscribed from the command collection topic, the mobile device can publish a response to the result topic (720). The response can indicate that the wipe process has been initiated. Further, the response also can indicate when the wipe process was initiated. In some implementations, an electronic mail (email) message also can be generated by the remote management application to indicate that the wipe process has been initiated. For example, an email message announcing the wipe procedure can be addressed to an email account associated with the remote management account owner. Once the response has been published, the mobile device can execute the wipe command (725).


In some implementations, the level of wipe to be performed can be specified in the wipe command. For example, the mobile device can be wiped to return it to the original factory settings and to delete all user data. In one alternative, the mobile device can be wiped to render it inert, such that system data must be restored before the mobile device is once again functional. In another alternative, the wipe command can specify one or more types of data to be wiped, such as electronic mail messages, images, and contacts. Any number of categories can be specified for deletion using a custom wipe command. Once the wipe procedure has been performed, the mobile device is no longer subscribed to the command collection topic and thus cannot receive any additional remote commands.



FIG. 8 shows a flow diagram describing an exemplary process for executing a lock command by a mobile device. Upon receiving a lock command message, a mobile device enters a locked state, such as by locking the screen and requiring the entry of a valid passcode before access to device functionality or stored information is once again permitted. As with other commands, the mobile device that is to receive the remote lock command can be selected in the remote management application. A lock command can be specified in the interface corresponding to the mobile device to initiate sending the remote lock command message (805). For instance, a lock button or other such interface command tool can be selected, e.g. using a mouse or touch input, to initiate the lock operation.


A lock command interface can be presented to facilitate execution of the remote lock command (810). For instance, the lock command interface can prompt the user to input and confirm a new passcode, e.g. a four-digit personal identification number (PIN), that will be required to unlock the mobile device after the lock command is executed. The new passcode can be used to set an initial passcode if one was not previously required to access the mobile device or to reset the current passcode. The new passcode can be configured in accordance with a simple (or base) security constraint utilized as a default by the mobile device. In some implementations, the lock command interface also can be configured to prompt the user to enter the current passcode for validation. The information entered into the lock command interface can be used to generate the remote lock command message.


In some other implementations, the lock command interface can indicate that a complex security constraint has been implemented on the mobile device. For instance, the mobile device can publish a message indicating that the default security constraint, e.g. a simple constraint, has been replaced by a more complex security constraint intended to provide a higher standard of security for the mobile device. In some implementations, the lock command interface can indicate that, as a result of the more complex security constraint implemented on the mobile device, the passcode cannot be changed remotely. For instance, a lock button or other such binary command tool can be presented in the lock command interface in place of the prompt for a new passcode. Alternatively, the lock command interface can be adapted to prompt the user to input a new passcode that conforms to the more complex security constraint that has been enacted. If the security constraint is known, the new passcode can be validated against the constraint and included in the remote lock command message for use in resetting the passcode on the mobile device.


Further, the remote lock command message can be published (815). For instance, the remote management application can be configured to transmit the remote lock command message to a remote lock topic associated with a command collection of a notification service that corresponds to the mobile device. Once published, the remote lock command message can be delivered to the mobile device (820). If the mobile device is on-line, i.e., has a current data connection that permits communication with the notification service, the remote lock command message can be transferred to the mobile device substantially in real-time. Otherwise, the remote lock command message can be queued at the notification service and delivered to the mobile device upon the restoration of communication with the notification service.


The passcode specified by the remote lock command message can be evaluated to determine whether it complies with the presently implemented security constraint (825). For instance, if a more complex security constraint has been implemented, the remote management application may not have been updated to reflect the change and the specified passcode could fail to meet the requirements of the more complex constraint. If a more complex security constraint has not been implemented, the remote lock command can be executed to lock the mobile device and to reset the passcode (830). For instance, a private framework on the mobile device can be accessed to cause the mobile device passcode to be reset to the passcode specified in the remote lock command message. Once the passcode has been reset and the mobile device has been locked, the newly specified password must be entered to unlock the device. Alternatively, if a more complex security constraint has been implemented, the lock command specified in the remote lock command message can be executed without resetting the passcode (835). Thus, the mobile device can be locked and the existing passcode, which conforms to the more complex constraint, is required to unlock the device.


Additionally, a message acknowledging the remote lock command message can be published to the notification service (840). The acknowledgement message can be published before or after the lock command is executed by the mobile device. If no errors are encountered, the acknowledgment message can confirm that the mobile device, e.g. the screen, was locked and that the passcode was set to the passcode specified by the lock command. Further, the acknowledgement can include a time stamp, e.g. indicating the time at which the mobile device received the remote lock command message or the time at which the mobile device was locked. In some implementations, an email message can be generated based on the published acknowledgement and can be transmitted to an email account associated with the user.


Alternatively, if one or more errors are encountered during the lock operation, the acknowledgement message can indicate whether the mobile device was locked and can include a time stamp, e.g. indicating the time at which the lock command was received. Further, the acknowledgement message can indicate the type of error encountered, e.g. passcode reset failure, and the reason for the error. For instance, the passcode reset can fail if the passcode included in the remote lock command message fails the security (or passcode) constraint that has been implemented by the mobile device. If a more complex or rigorous constraint has been implemented, the security level of the mobile device can be maintained by preventing a change to the passcode specified by the remote lock command message. In some implementations, details regarding the currently enacted security constraint can be transmitted to the user, such as in the published acknowledgement message, or in a separate published message or email. An error also can arise in response to other circumstances, such as if the remote lock command message fails to specify a new passcode, if the previous passcode used for validation was incorrect, or if the message is partially or entirely corrupted. Despite the detection of one or more errors, the mobile device can be locked in response to the remote lock command message.



FIG. 9 shows a flow diagram describing an exemplary process for executing a locate command by a mobile device. The mobile device can receive a locate command requesting the present location of the mobile device (905). As described above, a remote command message including the locate command can be retrieved from a locate command node of a command collection topic subscribed to by the mobile device. Further, the mobile device can determine that the locate command is both recognized and enabled on the mobile device. If the mobile device determines that the locate command is not recognized or is not enabled, the command is ignored.


In response to receiving the locate command, the mobile device can determine its present location (910). For example, the mobile device can use a location process or application programming interface (API) to retrieve the available data that most accurately describes its location. If the mobile device includes a Global Positioning System (GPS) chip, the mobile device can retrieve the GPS coordinates identifying its present location. If the mobile device does not include a GPS chip, or if GPS coordinates are not available, the mobile device can determine its location through other means. For example, if the mobile device is configured to communicate on a wireless telecommunications network, the mobile device can estimate its location using cellular tower triangulation. Alternatively, if the mobile device is configured to communicate using a Wi-Fi connection, the mobile device can estimate its location in accordance the nearest Wi-Fi base station. The mobile device also can use any other technique known in the art for determining or estimating its location.


The mobile device also can be configured to determine one or more times associated with the locate command (915). For example, the mobile device can determine the time at which the locate command was received. Further, the mobile device can determine the time at which the locate command was processed to determine the location information.


Once the mobile device has determined the location information, the mobile device can publish a result message to the result topic (920). The result message can include one or more items of location data. For example, the result message can include key-value pairs specifying geographic data, such as longitude, latitude, vertical accuracy, and horizontal accuracy. Further, the result message can include one or more items of time data. For example, the result message can include a time stamp indicating the time at which the location data was retrieved and a time stamp indicating the time at which the locate message was received. Accordingly, the accuracy of the location data can be at least partially assessed based on the reported time data.



FIG. 10 shows an exemplary user interface depicting the location reported by a mobile device in response to a locate command. The user interface 1000 can be configured for presentation on any display device, including a display associated with a mobile device. A map 1005 can be presented in the user interface 1000, depicting a region that includes the location reported by the mobile device in response to a locate command. In some implementations, the map 1005 can be interactive and can include a resolution control 1008 for receiving input to increase or decrease the scale of the map 1005.


The user interface 1000 also can include an address field 1010 that displays an address corresponding to the location reported by the mobile device. The address most closely corresponding to the reported location of the mobile device can be selected. For example, if the location reported by the mobile device is outside of an existing address, such as in a parking lot or greenbelt, the nearest available address to that location can be presented. A location indicator 1015 also can be presented on the map 1005 in the position corresponding to the location reported by the mobile device. Further, a legend 1020 can be displayed in conjunction with the location indictor 1015. In some implementations, the legend 1020 can identify the mobile device reporting the displayed location. In some other implementations, the legend 1020 can indicate a geographic reference, such as the street address, location name, or geographic coordinates of the reported location.



FIG. 11 shows an exemplary user interface depicting an estimated location of a mobile device based on a response to a locate command. The user interface 1105 can be configured for presentation on any display device, including a display associated with a mobile device. A map 1110 can be presented in the user interface 1105, depicting a region that includes the estimated location of the mobile device. In some implementations, the map 1110 can be interactive and can include a resolution control 1115 for receiving input to increase or decrease the scale of the map 1110.


The user interface 1105 also can include an address field 1120 that displays an address corresponding to the estimated location of the mobile device. The address most closely corresponding to the estimated location of the mobile device can be selected. For example, if the estimated location is based on a Wi-Fi base station, the address associated with the Wi-Fi base station can be included in the address field 1120. A location indicator 1125 also can be presented on the map 1110. The location indicator 1125 can be centered on the estimated position, such as the location of the associated Wi-Fi base station. The location indicator 1125 also can be sized to approximate the area in which the mobile device can be located, such as in accordance with the approximate effective range of the associated Wi-Fi base station. Further, a legend 1130 can be displayed in conjunction with the location indictor 1125. In some implementations, the legend 1130 can identify the mobile device reporting the estimated location. In some other implementations, the legend 1130 can indicate a geographic reference, such as an address, a location name, or the geographic coordinates corresponding to the estimated location.



FIG. 12 shows a mobile device displaying an exemplary message in response to a message command. The digital media player 125 includes a display 1205, such as a touch screen. In response to receiving a remote command to display a message, the digital media player 125 can present a message window 1210 on the display 1205. The message window 1210 can include a text message, such as contact information identifying the owner of the digital media player 125. For example, the remote command sent to the digital media player 125 can include a text message, such as “If found, please call Jake at 866.555.1234.” In some implementations, the message window 1210 can include one or more images, graphics, effects, or links. The one or more images, graphics, effects, or links can be content transmitted in conjunction with the message command, content retrieved by the digital media player 125, or content stored on the digital media player 125. The message window 1210 can be presented using any arrangement of colors and fonts. Further, the message window 1210 can include an action button 1215 to permit closing the message window 1210. In some implementations, the message window 1210 can be persistently displayed until the action button 1215 is actuated or other input canceling presentation of the message is received. Additionally, the message window 1210 can be displayed above any other screen content, such that it is viewable even if the mobile device is locked or displaying a screen saver.



FIGS. 13A and 13B show exemplary mobile device interfaces presented in response to an executed remote lock command. After a lock command has been executed by a mobile device, e.g. mobile telephone 120, lock interface 1305, shown in FIG. 13A, can be presented on an associated device display. When lock interface 1305 is presented, functionality associated with the mobile device can be inaccessible. In some implementations, one or more exceptions can exist through which functionality can remain accessible. For instance, an incoming telephone call can be answered even when the mobile device is locked. Also, a message can be presented on the device display and/or a sound can be output from a device speaker, such as in response to one or more mobile commands. Lock interface 1305 can include one or more graphical elements configured to permit unlocking the mobile device. For instance, slider 1310 can be manipulated, e.g. through a touch screen interface, to enter an unlock input that initiates unlocking of the mobile device.



FIG. 13B shows an example passcode entry interface 1315, which can be presented on the mobile device display in response to received unlock input. Passcode entry interface 1315 can be configured to prompt a user to enter the passcode required to unlock the mobile device. In some implementations, passcode entry interface 1315 can include separate passcode entry boxes 1320, such that an individual passcode entry box 1320 is presented for each character (e.g., letter, number, or symbol) included in the required passcode. In other implementations, passcode entry interface 1315 can include a single passcode entry box, which can be of any size, or no passcode entry box.


Further, passcode entry interface 1315 can include one or more character interfaces 1325, which can be adapted to receive user input specifying a passcode. For instance, character interfaces 1325 can be arranged as a keypad in passcode entry interface 1315, and can be actuated through corresponding input to a touch screen. Other configurations can be used in other interfaces. For instance, character interfaces also can be implemented as scrollable wheels, drop-down menus, or virtual keyboards. Additionally or alternatively, one or more physical controls included in the mobile device also can be used to enter one or more characters associated with a passcode.



FIG. 14 shows a flow diagram describing an exemplary process for processing a remote command message by a mobile device. Initially, a subscribed topic hosted on a notification service can be accessed, the subscribed topic corresponding to a mobile device (1405). A remote command message included in the subscribed topic that identifies a command to be executed by the mobile device can be retrieved (1410). Further, it can be determined whether the command can be executed by the mobile device (1415). Once it is determined that the command can be executed by the mobile device, a result message associated with the command can be published (1420). Further, the command can be executed by the mobile device based on the determining (1425). In some implementations, the result message can be published before, after, or in conjunction with execution of the command.


The techniques and functional operations described in this disclosure can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structural means described in this disclosure and structural equivalents thereof, or in combinations of them. The techniques can be implemented using one or more computer program products, e.g., machine-readable instructions tangibly stored on computer-readable media, for execution by, or to control the operation of one or more programmable processors or computers. Further, programmable processors and computers can be included in or packaged as mobile devices.


The processes and logic flows described in this disclosure can be performed by one or more programmable processors executing one or more instructions to receive, manipulate, and/or output data. The processes and logic flows also can be performed by programmable logic circuitry, including one or more FPGAs (field programmable gate array), PLDs (programmable logic devices), and/or ASICs (application-specific integrated circuit). General and/or special purpose processors, including processors of any kind of digital computer, can be used to execute computer programs and other programmed instructions stored in computer-readable media, including nonvolatile memory, such as read-only memory, volatile memory, such as random access memory, or both. Additionally, data and computer programs can be received from and transferred to one or more mass storage devices, including hard drives, flash drives, and optical storage devices. Further, general and special purpose computing devices and storage devices can be interconnected through communications networks. The communications networks can include wired and wireless infrastructure. The communications networks further can be public, private, or a combination thereof.


A number of implementations have been disclosed herein. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the claims. Accordingly, other implementations are within the scope of the following claims.

Claims
  • 1. A computer-implemented method performed by a specified mobile device, the method comprising: accessing, by the specified mobile device, a notification service on a server separate from the specified mobile device, the notification service hosting a plurality of command collection topics, where each of the plurality of command collection topics is subscribed to by a unique mobile device;accessing, by the specified mobile device, one of the plurality of command collection topics that is subscribed to by the specified mobile device, the accessed command collection topic including a plurality of command nodes, each corresponding to a remote command type;polling, by the specified mobile device, each of the plurality of command nodes of the accessed command collection topic to determine whether one or more new remote command messages have been received by the accessed command collection topic;retrieving, by the specified mobile device, from a remote lock command node included in the plurality of command nodes, a remote lock command message, where the remote lock command message comprises a lock command and a locking passcode;locking, by the specified mobile device, the specified mobile device using the locking passcode in response to the lock command;setting, by the specified mobile device, an unlock passcode associated with the specified mobile device; andgenerating, by the specified mobile device, an acknowledgement message in response to the remote lock command message.
  • 2. The computer-implemented method of claim 1, further comprising: determining, prior to setting the unlock passcode, that the locking passcode complies with an implemented security constraint of the specified mobile device.
  • 3. The computer-implemented method of claim 1, further comprising: publishing the acknowledgement message to the notification service.
  • 4. The computer-implemented method of claim 3, further comprising: publishing the acknowledgement message in substantially real time.
  • 5. The computer-implemented method of claim 1, wherein generating an acknowledgement message further comprises: including a time stamp indicating a time at which the remote lock command message was retrieved.
  • 6. The computer-implemented method of claim 1, wherein locking the specified mobile device further comprises: locking a display associated with the specified mobile device such that access to one or more of information stored on the specified mobile device and functionality of the specified mobile device is blocked.
  • 7. The computer-implemented method of claim 1, wherein setting an unlock passcode further comprises: initializing an unlock passcode associated with the specified mobile device.
  • 8. A non-transitory computer-readable medium, tangibly encoding a computer program product comprising instructions operable to cause a data processing apparatus comprised within a specified mobile device to perform operations comprising: accessing, by the data processing apparatus, a notification service on a server separate from the mobile device, the notification service hosting a plurality of command collection topics, where each of the plurality of command collection topics is subscribed to by a unique mobile device;accessing, by the data processing apparatus, one of the plurality of command collection topics that is subscribed to by the specified mobile device the accessed command collection topic including a plurality of command nodes, each corresponding to a remote command type;polling, by the data processing apparatus, each of the plurality of command nodes of the accessed command collection topic to determine whether one or more new remote command messages have been received by the accessed command collection topic;retrieving, by the data processing apparatus, from a remote lock command node included in the plurality of command nodes, a remote lock command;locking, by the data processing apparatus, the specified mobile device in response to a lock command included in the remote lock command message; andpublishing, by the data processing apparatus, an acknowledgement message to the notification service.
  • 9. The computer-readable medium of claim 8, further operable to cause data processing apparatus to perform operations comprising: identifying a passcode specified by the remote lock command message;detecting that the specified passcode does not comply with a security constraint implemented by the specified mobile device; anddetermining, in response to the detecting, not to reset an unlock passcode associated with the specified mobile device.
  • 10. The computer-readable medium of claim 9, further operable to cause data processing apparatus to perform operations comprising: including a passcode error message in the acknowledgement message.
  • 11. The computer-readable medium of claim 8, further operable to cause data processing apparatus to perform operations comprising: locking the specified mobile device by locking a display such that access to one or more of information stored on the specified mobile device and functionality of the specified mobile device is blocked.
  • 12. The computer-readable medium of claim 8, further operable to cause data processing apparatus to perform operations comprising: including a time stamp in the acknowledgement message indicating a time at which the remote lock command was executed.
  • 13. The computer-readable medium of claim 12, further operable to cause data processing apparatus to perform operations comprising: including an indication that the specified mobile device was locked in the acknowledgement message.
  • 14. The computer-readable medium of claim 8, further operable to cause data processing apparatus to perform operations comprising: establishing a connection to the notification service over a wireless data connection.
  • 15. The computer-readable medium of claim 8, further operable to cause data processing apparatus to perform operations comprising: resetting an unlock password associated with the specified mobile device based on the specified passcode.
  • 16. A mobile device comprising: processor electronics;a storage medium storing instructions executable by the processor electronics to cause the processor electronics to: access the notification service on a server separate from the mobile device, the notification service including a plurality of command collection topics, where each of the plurality of command collection topics is subscribed to by a unique mobile device;access one of the command collection topics of the plurality of command collection topics hosted on the notification service and subscribed to by the mobile device, the command collection topic subscribed to by the mobile device including a plurality of command nodes, each command node corresponding to a remote command type;poll each of the plurality of command nodes of the accessed command collection topic to determine whether one or more new remote command messages have been received by the accessed command collection topic;retrieve, from a remote lock command node included in the plurality of command nodes, a remote lock command message;open the remote lock command message, the remote lock command message comprising a lock command and a locking passcode;lock the specified mobile device in response to the lock command;set an unlock passcode associated with the specified mobile device to the locking passcode; andpublish an acknowledgement message to the notification service.
  • 17. The mobile device of claim 16, wherein the instructions are further executable by the processor electronics to cause the processor electronics to: include in the acknowledgement message an indication confirming that the unlock passcode has been set to the locking passcode and a time stamp identifying a time at which the remote lock command message was retrieved.
CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation-in-part of U.S. patent application entitled “Remotely Locating and Commanding a Mobile Device,” U.S. patent application Ser. No. 12/434,586, filed May 1, 2009, the disclosure of which is herein incorporated by reference in its entirety. This application also is related to co-pending U.S. patent application entitled “Securely Locating a Device,” U.S. patent application Ser. No. 11/938,745, filed Nov. 12, 2007 and to co-pending U.S. patent application entitled “Remotely Locating and Commanding a Mobile Device,” U.S. patent application Ser. No. 12/434,582, filed May 1, 2009.

US Referenced Citations (829)
Number Name Date Kind
4644351 Zabarsky et al. Feb 1987 A
4903212 Yokouchi et al. Feb 1990 A
4907159 Mauge et al. Mar 1990 A
4999783 Tenmoku et al. Mar 1991 A
5031104 Ikeda et al. Jul 1991 A
5046011 Kakihara et al. Sep 1991 A
5067081 Person Nov 1991 A
5126941 Gurmu et al. Jun 1992 A
5164904 Sumner Nov 1992 A
5170165 Iihoshi et al. Dec 1992 A
5173691 Sumner Dec 1992 A
5182555 Sumner Jan 1993 A
5187810 Yoneyama et al. Feb 1993 A
5195031 Ordish Mar 1993 A
5208763 Hong et al. May 1993 A
5218629 Dumond, Jr. et al. Jun 1993 A
5243652 Teare et al. Sep 1993 A
5274560 LaRue Dec 1993 A
5289572 Yano et al. Feb 1994 A
5295064 Malec et al. Mar 1994 A
5307278 Hermans et al. Apr 1994 A
5317311 Martell et al. May 1994 A
5337044 Folger et al. Aug 1994 A
5339391 Wroblewski et al. Aug 1994 A
5371678 Nomura Dec 1994 A
5374933 Kao Dec 1994 A
5379057 Clough et al. Jan 1995 A
5390125 Sennott et al. Feb 1995 A
5406490 Braegas Apr 1995 A
5416712 Geier et al. May 1995 A
5416890 Beretta May 1995 A
5469362 Hunt et al. Nov 1995 A
5479600 Wroblewski et al. Dec 1995 A
5504482 Schreder Apr 1996 A
5508707 LeBlanc et al. Apr 1996 A
5510801 Engelbrecht et al. Apr 1996 A
5519760 Borkowski et al. May 1996 A
5523950 Peterson Jun 1996 A
5537460 Holliday, Jr. et al. Jul 1996 A
5539395 Buss et al. Jul 1996 A
5539647 Shibata et al. Jul 1996 A
5552989 Bertrand Sep 1996 A
5559520 Barzegar et al. Sep 1996 A
5570412 LeBlanc Oct 1996 A
5598572 Tanikoshi et al. Jan 1997 A
5611048 Jacobs et al. Mar 1997 A
5627547 Ramaswamy et al. May 1997 A
5627549 Park May 1997 A
5628050 McGraw et al. May 1997 A
5630206 Urban et al. May 1997 A
5636245 Ernst et al. Jun 1997 A
5642303 Small et al. Jun 1997 A
5646853 Takahashi et al. Jul 1997 A
5654908 Yokoyama Aug 1997 A
5663732 Stangeland et al. Sep 1997 A
5675362 Clough et al. Oct 1997 A
5675573 Karol et al. Oct 1997 A
5677837 Reynolds Oct 1997 A
5684859 Chanroo et al. Nov 1997 A
5689252 Ayanoglu et al. Nov 1997 A
5689270 Kelley et al. Nov 1997 A
5689431 Rudow et al. Nov 1997 A
5708478 Tognazzini Jan 1998 A
5717392 Eldridge Feb 1998 A
5732074 Spaur et al. Mar 1998 A
5734978 Hayatake et al. Mar 1998 A
5742666 Alpert Apr 1998 A
5745865 Rostoker et al. Apr 1998 A
5748084 Isikoff May 1998 A
5748109 Kosaka et al. May 1998 A
5752186 Malackowski et al. May 1998 A
5754430 Sawada May 1998 A
5758049 Johnson et al. May 1998 A
5760773 Berman et al. Jun 1998 A
5767795 Schaphorst Jun 1998 A
5774824 Streit et al. Jun 1998 A
5774829 Cisneros et al. Jun 1998 A
5793630 Theimer et al. Aug 1998 A
5796365 Lewis Aug 1998 A
5796613 Kato et al. Aug 1998 A
5806018 Smith et al. Sep 1998 A
5825306 Hiyokawa et al. Oct 1998 A
5825884 Zdepski et al. Oct 1998 A
5831552 Sogawa et al. Nov 1998 A
5835061 Stewart Nov 1998 A
5839086 Hirano Nov 1998 A
5845227 Peterson Dec 1998 A
5848373 DeLorme et al. Dec 1998 A
5862244 Kleiner et al. Jan 1999 A
5867110 Naito et al. Feb 1999 A
5870686 Monson Feb 1999 A
5872526 Tognazzini Feb 1999 A
5873068 Beaumont et al. Feb 1999 A
5883580 Briancon et al. Mar 1999 A
5887269 Brunts et al. Mar 1999 A
5892454 Schipper et al. Apr 1999 A
5893898 Tanimoto Apr 1999 A
5898680 Johnstone et al. Apr 1999 A
5899954 Sato May 1999 A
5905451 Sakashita May 1999 A
5908465 Ito et al. Jun 1999 A
5910799 Carpenter et al. Jun 1999 A
5923861 Bertram et al. Jul 1999 A
5933094 Goss et al. Aug 1999 A
5933100 Golding Aug 1999 A
5936572 Loomis et al. Aug 1999 A
5938721 Dussell et al. Aug 1999 A
5941930 Morimoto et al. Aug 1999 A
5941934 Sato Aug 1999 A
5946618 Agre et al. Aug 1999 A
5948040 DeLorme et al. Sep 1999 A
5948041 Abo et al. Sep 1999 A
5948061 Merriman et al. Sep 1999 A
5955973 Anderson Sep 1999 A
5959577 Fan et al. Sep 1999 A
5959580 Maloney et al. Sep 1999 A
5968109 Israni et al. Oct 1999 A
5969678 Stewart Oct 1999 A
5982298 Lappenbusch et al. Nov 1999 A
5982324 Watters et al. Nov 1999 A
5987381 Oshizawa Nov 1999 A
5991692 Spencer, II et al. Nov 1999 A
5999126 Ito Dec 1999 A
6002932 Kingdon et al. Dec 1999 A
6002936 Roel-Ng et al. Dec 1999 A
6005928 Johnson Dec 1999 A
6014090 Rosen et al. Jan 2000 A
6014607 Yagyu et al. Jan 2000 A
6023653 Ichimura et al. Feb 2000 A
6026375 Hall et al. Feb 2000 A
6028550 Froeberg et al. Feb 2000 A
6029069 Takaki Feb 2000 A
6031490 Forssen et al. Feb 2000 A
6041280 Kohli et al. Mar 2000 A
6052645 Harada Apr 2000 A
6058350 Ihara May 2000 A
6064335 Eschenbach May 2000 A
6067502 Hayashida et al. May 2000 A
6069570 Herring May 2000 A
6073013 Agre et al. Jun 2000 A
6073062 Hoshino et al. Jun 2000 A
6076041 Watanabe Jun 2000 A
6078818 Kingdon et al. Jun 2000 A
6081206 Kielland Jun 2000 A
6085090 Yee et al. Jul 2000 A
6085148 Jamison et al. Jul 2000 A
6087965 Murphy Jul 2000 A
6088594 Kingdon et al. Jul 2000 A
6091956 Hollenberg Jul 2000 A
6091957 Larkins et al. Jul 2000 A
6092076 McDonough et al. Jul 2000 A
6094607 Diesel Jul 2000 A
6101443 Kato et al. Aug 2000 A
6104931 Havinis et al. Aug 2000 A
6108555 Maloney et al. Aug 2000 A
6111541 Karmel Aug 2000 A
6115611 Kimoto et al. Sep 2000 A
6115754 Landgren Sep 2000 A
6119014 Alperovich et al. Sep 2000 A
6122520 Want et al. Sep 2000 A
6125279 Hyziak et al. Sep 2000 A
6127945 Mura-Smith Oct 2000 A
6128482 Nixon et al. Oct 2000 A
6128571 Ito et al. Oct 2000 A
6134548 Gottsman et al. Oct 2000 A
6138003 Kingdon et al. Oct 2000 A
6138142 Linsk Oct 2000 A
6140957 Wilson et al. Oct 2000 A
6151309 Busuioc et al. Nov 2000 A
6151498 Roel-Ng et al. Nov 2000 A
6154152 Ito Nov 2000 A
6157381 Bates et al. Dec 2000 A
6157841 Bolduc et al. Dec 2000 A
6163749 McDonough et al. Dec 2000 A
6166627 Reeley Dec 2000 A
6167266 Havinis et al. Dec 2000 A
6169552 Endo et al. Jan 2001 B1
6175740 Souissi et al. Jan 2001 B1
6177905 Welch Jan 2001 B1
6177938 Gould Jan 2001 B1
6181934 Havinis et al. Jan 2001 B1
6185427 Krasner et al. Feb 2001 B1
6188959 Schupfner Feb 2001 B1
6195557 Havinis et al. Feb 2001 B1
6195609 Pilley et al. Feb 2001 B1
6199014 Walker et al. Mar 2001 B1
6199045 Giniger et al. Mar 2001 B1
6199099 Gershman et al. Mar 2001 B1
6202008 Beckert et al. Mar 2001 B1
6202023 Hancock et al. Mar 2001 B1
6208866 Rouhollahzadeh et al. Mar 2001 B1
6212473 Stefan et al. Apr 2001 B1
6216086 Seymour et al. Apr 2001 B1
6222483 Twitchell et al. Apr 2001 B1
6233518 Lee May 2001 B1
6236365 LeBlanc et al. May 2001 B1
6236933 Lang May 2001 B1
6246948 Thakker Jun 2001 B1
6249252 Dupray Jun 2001 B1
6252543 Camp Jun 2001 B1
6252544 Hoffberg Jun 2001 B1
6256498 Ludwig Jul 2001 B1
6259405 Stewart et al. Jul 2001 B1
6266612 Dussell et al. Jul 2001 B1
6266614 Alumbaugh Jul 2001 B1
6266615 Jin Jul 2001 B1
6272342 Havinis et al. Aug 2001 B1
6278884 Kim Aug 2001 B1
6281807 Kynast et al. Aug 2001 B1
6282491 Bochmann et al. Aug 2001 B1
6282496 Chowdhary Aug 2001 B1
6295454 Havinis et al. Sep 2001 B1
6298306 Suarez et al. Oct 2001 B1
6304758 Iierbig et al. Oct 2001 B1
6313761 Shinada Nov 2001 B1
6314369 Ito et al. Nov 2001 B1
6314406 O'Hagan et al. Nov 2001 B1
6317684 Roeseler et al. Nov 2001 B1
6321158 DeLorme et al. Nov 2001 B1
6323846 Westerman et al. Nov 2001 B1
6324692 Fiske Nov 2001 B1
6326918 Stewart Dec 2001 B1
6332127 Bandera et al. Dec 2001 B1
6339437 Nielsen Jan 2002 B1
6339746 Sugiyama et al. Jan 2002 B1
6343317 Glorikian Jan 2002 B1
6345288 Reed et al. Feb 2002 B1
6351235 Stilp Feb 2002 B1
6353398 Amin et al. Mar 2002 B1
6353743 Karmel Mar 2002 B1
6353837 Blumenau Mar 2002 B1
6356761 Huttunen et al. Mar 2002 B1
6356763 Kangas et al. Mar 2002 B1
6356836 Adolph Mar 2002 B1
6356838 Paul Mar 2002 B1
6370629 Hastings et al. Apr 2002 B1
6377886 Gotou et al. Apr 2002 B1
6381465 Chern et al. Apr 2002 B1
6381539 Shimazu Apr 2002 B1
6381603 Chan et al. Apr 2002 B1
6385458 Papadimitriou et al. May 2002 B1
6385465 Yoshioka May 2002 B1
6385535 Ohishi et al. May 2002 B2
6389288 Kuwahara et al. May 2002 B1
6401032 Jamison et al. Jun 2002 B1
6405034 Tijerino Jun 2002 B1
6405123 Rennard et al. Jun 2002 B1
6411899 Dussell et al. Jun 2002 B2
6414635 Stewart et al. Jul 2002 B1
6415207 Jones Jul 2002 B1
6415220 Kovacs Jul 2002 B1
6415227 Lin Jul 2002 B1
6427115 Sekiyama Jul 2002 B1
6430411 Lempio et al. Aug 2002 B1
6434530 Sloane et al. Aug 2002 B1
6438490 Ohta Aug 2002 B2
6449485 Anzil Sep 2002 B1
6452498 Stewart Sep 2002 B2
6456234 Johnson Sep 2002 B1
6456956 Xiong Sep 2002 B1
6459782 Bedrosian et al. Oct 2002 B1
6463289 Havinis et al. Oct 2002 B1
6477581 Carpenter et al. Nov 2002 B1
6487305 Kambe et al. Nov 2002 B2
6490454 Kangas et al. Dec 2002 B1
6490519 Lapidot et al. Dec 2002 B1
6501421 Dutta et al. Dec 2002 B1
6505046 Baker Jan 2003 B1
6505048 Moles et al. Jan 2003 B1
6505123 Root et al. Jan 2003 B1
6507802 Payton et al. Jan 2003 B1
6516197 Havinis et al. Feb 2003 B2
6519463 Tendler Feb 2003 B2
6526335 Treyz et al. Feb 2003 B1
6529143 Mikkola et al. Mar 2003 B2
6535140 Goss et al. Mar 2003 B1
6542812 Obradovich et al. Apr 2003 B1
6542819 Kovacs et al. Apr 2003 B1
6546360 Gilbert et al. Apr 2003 B1
6552682 Fan Apr 2003 B1
6563430 Kemink et al. May 2003 B1
6564143 Alewine et al. May 2003 B1
6570557 Westerman et al. May 2003 B1
6571279 Herz et al. May 2003 B1
6574484 Carley Jun 2003 B1
6587688 Chambers et al. Jul 2003 B1
6587782 Nocek et al. Jul 2003 B1
6587835 Treyz et al. Jul 2003 B1
6594480 Montalvo et al. Jul 2003 B1
6597305 Szeto et al. Jul 2003 B2
6611687 Clark et al. Aug 2003 B1
6611788 Hussa Aug 2003 B1
6615131 Rennard et al. Sep 2003 B1
6615213 Johnson Sep 2003 B1
6647257 Owensby Nov 2003 B2
6650902 Richton Nov 2003 B1
6650997 Funk Nov 2003 B2
6662023 Helle Dec 2003 B1
6667963 Rantalainen et al. Dec 2003 B1
6671377 Havinis et al. Dec 2003 B1
6674849 Froeberg Jan 2004 B1
6677894 Sheynblat et al. Jan 2004 B2
6679932 Birler et al. Jan 2004 B2
6680694 Knockeart et al. Jan 2004 B1
6681120 Kim Jan 2004 B1
6683538 Wilkes, Jr. Jan 2004 B1
6697018 Stewart Feb 2004 B2
6697734 Suomela Feb 2004 B1
6711408 Raith Mar 2004 B1
6711474 Treyz et al. Mar 2004 B1
6718344 Hirono Apr 2004 B2
6721572 Smith et al. Apr 2004 B1
6731236 Hager et al. May 2004 B1
6731238 Johnson May 2004 B2
6738808 Zellner et al. May 2004 B1
6741188 Miller et al. May 2004 B1
6741926 Zhao et al. May 2004 B1
6748226 Wortham Jun 2004 B1
6748318 Jones Jun 2004 B1
6750883 Parupudi et al. Jun 2004 B1
6759960 Stewart Jul 2004 B2
6762772 Imamura et al. Jul 2004 B1
6766174 Kenyon Jul 2004 B1
6782278 Chen et al. Aug 2004 B2
6789012 Childs et al. Sep 2004 B1
6795686 Master et al. Sep 2004 B2
6801855 Walters et al. Oct 2004 B1
6810323 Bullock et al. Oct 2004 B1
6813501 Kinnunen et al. Nov 2004 B2
6813503 Zillikens et al. Nov 2004 B1
6816782 Walters et al. Nov 2004 B1
6819919 Tanaka Nov 2004 B1
6823188 Stern Nov 2004 B1
6845318 Moore et al. Jan 2005 B1
6847891 Pietras et al. Jan 2005 B2
6847969 Mathai et al. Jan 2005 B1
6853911 Sakarya Feb 2005 B1
6853917 Miwa Feb 2005 B2
6859149 Ohta Feb 2005 B1
6865483 Cook, III et al. Mar 2005 B1
6868074 Hanson Mar 2005 B1
6871144 Lee Mar 2005 B1
6882313 Fan et al. Apr 2005 B1
6888536 Westerman et al. May 2005 B2
6909902 Sawada et al. Jun 2005 B1
6912398 Domnitz Jun 2005 B1
6914626 Squibbs Jul 2005 B2
6915208 Garin et al. Jul 2005 B2
6933841 Muramatsu et al. Aug 2005 B2
6944447 Portman et al. Sep 2005 B2
6948656 Williams Sep 2005 B2
6952181 Karr et al. Oct 2005 B2
6954646 Churt Oct 2005 B2
6954735 Djupsjobacka et al. Oct 2005 B1
6957072 Kangras et al. Oct 2005 B2
6975959 Dietrich et al. Dec 2005 B2
6980909 Root et al. Dec 2005 B2
6990495 Grason et al. Jan 2006 B1
6999779 Hashimoto Feb 2006 B1
7003289 Kolls Feb 2006 B1
7009556 Stewart Mar 2006 B2
7031725 Rorabaugh Apr 2006 B2
7044372 Okuda et al. May 2006 B2
7058594 Stewart Jun 2006 B2
7076255 Parupudi et al. Jul 2006 B2
7082365 Sheha et al. Jul 2006 B2
7089264 Guido et al. Aug 2006 B1
7096029 Parupudi et al. Aug 2006 B1
7096030 Huomo Aug 2006 B2
7103470 Mintz Sep 2006 B2
7117015 Scheinert et al. Oct 2006 B2
7120469 Urakawa Oct 2006 B1
7123189 Lalik et al. Oct 2006 B2
7123926 Himmelstein Oct 2006 B2
7146298 Matomedi et al. Dec 2006 B2
7151921 Otsuka Dec 2006 B2
7165725 Casey Jan 2007 B2
7171190 Ye et al. Jan 2007 B2
7181189 Hotta et al. Feb 2007 B2
7187997 Johnson Mar 2007 B2
7200409 Ichikawa et al. Apr 2007 B1
7200566 Moore et al. Apr 2007 B1
7213048 Parupudi et al. May 2007 B1
7215967 Kransmo et al. May 2007 B1
7236883 Garin et al. Jun 2007 B2
7254481 Yamada et al. Aug 2007 B2
7256711 Sheha et al. Aug 2007 B2
7257392 Tang et al. Aug 2007 B2
7260378 Holland et al. Aug 2007 B2
7266376 Nakagawa Sep 2007 B2
7269601 Kinno et al. Sep 2007 B2
7271765 Stilp et al. Sep 2007 B2
7272404 Overy et al. Sep 2007 B2
7274332 Dupray Sep 2007 B1
7274939 Ruutu et al. Sep 2007 B2
7280822 Fraccaroli Oct 2007 B2
7295556 Roese et al. Nov 2007 B2
7295925 Breed et al. Nov 2007 B2
7298327 Dupray et al. Nov 2007 B2
7299008 Gluck Nov 2007 B2
7310516 Vacanti et al. Dec 2007 B1
7313467 Breed et al. Dec 2007 B2
7319412 Coppinger et al. Jan 2008 B1
7336949 Nasielski Feb 2008 B2
7339496 Endo et al. Mar 2008 B2
7343564 Othmer Mar 2008 B2
7349706 Kim et al. Mar 2008 B2
7359713 Tiwari Apr 2008 B1
7370283 Othmer May 2008 B2
7373246 O'Clair May 2008 B2
7386396 Johnson Jun 2008 B2
7389179 Jin et al. Jun 2008 B2
7392017 Chu et al. Jun 2008 B2
7395031 Ritter Jul 2008 B1
7418402 McCrossin et al. Aug 2008 B2
7421422 Dempster et al. Sep 2008 B1
7421486 Parupudi et al. Sep 2008 B1
7426437 Breed et al. Sep 2008 B2
7427021 Kemper et al. Sep 2008 B2
7433694 Morgan et al. Oct 2008 B2
7440842 Vorona Oct 2008 B1
7466235 Kolb et al. Dec 2008 B1
7483944 Parupudi et al. Jan 2009 B2
7486201 Kelly et al. Feb 2009 B2
7500607 Williams Mar 2009 B2
7512487 Golding et al. Mar 2009 B1
7522927 Fitch et al. Apr 2009 B2
7525484 Dupray et al. Apr 2009 B2
7545281 Richards et al. Jun 2009 B2
7558696 Vilppula et al. Jul 2009 B2
7565132 Ben Ayed Jul 2009 B2
7565157 Ortega et al. Jul 2009 B1
7574222 Sawada et al. Aug 2009 B2
7577448 Pande et al. Aug 2009 B2
7587345 Mann et al. Sep 2009 B2
7599795 Blumberg et al. Oct 2009 B1
7603233 Tashiro Oct 2009 B2
7606580 Granito et al. Oct 2009 B2
7617044 Lee Nov 2009 B2
7620404 Chesnais et al. Nov 2009 B2
7623848 Rosenfelt et al. Nov 2009 B2
7624358 Kim et al. Nov 2009 B2
7647174 Kwon Jan 2010 B2
7680591 Nagata et al. Mar 2010 B2
7689916 Goel et al. Mar 2010 B1
7710290 Johnson May 2010 B2
7711478 Gluck May 2010 B2
7714778 Dupray May 2010 B2
7739040 Horvitz Jun 2010 B2
7743074 Parupudi et al. Jun 2010 B1
7756639 Colley et al. Jul 2010 B2
7768395 Gold Aug 2010 B2
7792273 Fano et al. Sep 2010 B2
7811203 Unuma et al. Oct 2010 B2
7817033 Motoyama Oct 2010 B2
7848388 Tudosoiu Dec 2010 B2
7848765 Phillips et al. Dec 2010 B2
7860758 McCrossin et al. Dec 2010 B2
7890123 Granito et al. Feb 2011 B2
7933612 Counts et al. Apr 2011 B2
7933929 McClendon et al. Apr 2011 B1
8036630 Park et al. Oct 2011 B2
8036634 DiMeo et al. Oct 2011 B2
8361166 Bhansali et al. Jan 2013 B2
20010018349 Kinnunen et al. Aug 2001 A1
20010046884 Yoshioka Nov 2001 A1
20020032035 Teshima Mar 2002 A1
20020035493 Mozayeny et al. Mar 2002 A1
20020035609 Lessard et al. Mar 2002 A1
20020042266 Heyward et al. Apr 2002 A1
20020046069 Mozayeny et al. Apr 2002 A1
20020046077 Mozayeny et al. Apr 2002 A1
20020046084 Steele et al. Apr 2002 A1
20020067353 Kenyon et al. Jun 2002 A1
20020077144 Keller et al. Jun 2002 A1
20020087505 Smith et al. Jul 2002 A1
20020091991 Castro Jul 2002 A1
20020095486 Bahl Jul 2002 A1
20020126146 Burns et al. Sep 2002 A1
20020128773 Chowanic et al. Sep 2002 A1
20020132625 Ogino et al. Sep 2002 A1
20020140560 Altman et al. Oct 2002 A1
20020160815 Patel et al. Oct 2002 A1
20020167442 Taylor Nov 2002 A1
20020173905 Jin et al. Nov 2002 A1
20030013491 Moriki Jan 2003 A1
20030014181 Myr Jan 2003 A1
20030016804 Sheha et al. Jan 2003 A1
20030032404 Wager et al. Feb 2003 A1
20030055560 Phillips et al. Mar 2003 A1
20030060212 Thomas Mar 2003 A1
20030060215 Graham Mar 2003 A1
20030060973 Mathews et al. Mar 2003 A1
20030060976 Sato et al. Mar 2003 A1
20030065934 Angelo et al. Apr 2003 A1
20030069683 Lapidot et al. Apr 2003 A1
20030078054 Okuda Apr 2003 A1
20030078055 Smith et al. Apr 2003 A1
20030078057 Watanabe et al. Apr 2003 A1
20030093217 Petzold et al. May 2003 A1
20030096620 Ozturk et al. May 2003 A1
20030100326 Grube et al. May 2003 A1
20030100334 Mazzara, Jr. May 2003 A1
20030101225 Han et al. May 2003 A1
20030134657 Norta et al. Jul 2003 A1
20030140136 Nakamura Jul 2003 A1
20030144793 Melaku et al. Jul 2003 A1
20030148774 Naghian et al. Aug 2003 A1
20030158655 Obradovich et al. Aug 2003 A1
20030191578 Paulauskas et al. Oct 2003 A1
20030236106 Master et al. Dec 2003 A1
20040010358 Oesterling et al. Jan 2004 A1
20040036649 Taylor Feb 2004 A1
20040054428 Sheha et al. Mar 2004 A1
20040059502 Levi et al. Mar 2004 A1
20040068439 Elgrably Apr 2004 A1
20040072577 Myllymaki et al. Apr 2004 A1
20040073361 Tzamaloukas et al. Apr 2004 A1
20040082351 Westman Apr 2004 A1
20040083050 Biyani Apr 2004 A1
20040093155 Simonds May 2004 A1
20040104842 Drury et al. Jun 2004 A1
20040128067 Smith Jul 2004 A1
20040151151 Kubler et al. Aug 2004 A1
20040158401 Yoon Aug 2004 A1
20040158584 Necsoiu et al. Aug 2004 A1
20040172409 James Sep 2004 A1
20040176907 Nesbitt Sep 2004 A1
20040180669 Kall Sep 2004 A1
20040192299 Wilson et al. Sep 2004 A1
20040198335 Campen Oct 2004 A1
20040198379 Magee et al. Oct 2004 A1
20040198397 Weiss Oct 2004 A1
20040203569 Jijina et al. Oct 2004 A1
20040203746 Knauerhase et al. Oct 2004 A1
20040203836 Gorday et al. Oct 2004 A1
20040203880 Riley Oct 2004 A1
20040203909 Koster Oct 2004 A1
20040215707 Fujita et al. Oct 2004 A1
20040228330 Kubler et al. Nov 2004 A1
20040236504 Bickford et al. Nov 2004 A1
20040242149 Luneau Dec 2004 A1
20040246940 Kubler et al. Dec 2004 A1
20040248562 Kim Dec 2004 A1
20040248586 Patel et al. Dec 2004 A1
20040260939 Ichikawa et al. Dec 2004 A1
20040263084 Mor et al. Dec 2004 A1
20040264442 Kubler et al. Dec 2004 A1
20050002419 Doviak et al. Jan 2005 A1
20050004838 Perkowski et al. Jan 2005 A1
20050009511 Bostrom et al. Jan 2005 A1
20050027442 Kelley et al. Feb 2005 A1
20050033515 Bozzone Feb 2005 A1
20050037781 Ozugur et al. Feb 2005 A1
20050039140 Chen Feb 2005 A1
20050046584 Breed Mar 2005 A1
20050071078 Yamada et al. Mar 2005 A1
20050071702 Morisawa Mar 2005 A1
20050075116 Laird Apr 2005 A1
20050085272 Anderson et al. Apr 2005 A1
20050091408 Parupudi et al. Apr 2005 A1
20050096840 Simske May 2005 A1
20050114021 Krull et al. May 2005 A1
20050130677 Meunier et al. Jun 2005 A1
20050134440 Breed Jun 2005 A1
20050134578 Chambers et al. Jun 2005 A1
20050149250 Isaac Jul 2005 A1
20050153681 Hanson Jul 2005 A1
20050176411 Taya Aug 2005 A1
20050186954 Kenney Aug 2005 A1
20050192025 Kaplan Sep 2005 A1
20050197767 Nortrup Sep 2005 A1
20050203698 Lee Sep 2005 A1
20050221799 Tervo et al. Oct 2005 A1
20050221808 Karlsson et al. Oct 2005 A1
20050221843 Friedman et al. Oct 2005 A1
20050222756 Davis et al. Oct 2005 A1
20050222763 Uyeki Oct 2005 A1
20050227709 Chang et al. Oct 2005 A1
20050228860 Hamynen et al. Oct 2005 A1
20050234637 Obradovich et al. Oct 2005 A1
20050239477 Kim et al. Oct 2005 A1
20050250440 Zhou et al. Nov 2005 A1
20050256639 Aleksic et al. Nov 2005 A1
20050286421 Janacek Dec 2005 A1
20060009908 Tomita et al. Jan 2006 A1
20060015249 Gieseke Jan 2006 A1
20060022048 Johnson Feb 2006 A1
20060025158 Leblanc et al. Feb 2006 A1
20060038719 Pande et al. Feb 2006 A1
20060041374 Inoue Feb 2006 A1
20060041377 Jung et al. Feb 2006 A1
20060041378 Cheng et al. Feb 2006 A1
20060056388 Livingood Mar 2006 A1
20060058955 Mehren Mar 2006 A1
20060063539 Beyer, Jr. Mar 2006 A1
20060069503 Suomela et al. Mar 2006 A1
20060085392 Wang et al. Apr 2006 A1
20060094353 Nielsen et al. May 2006 A1
20060101005 Yang et al. May 2006 A1
20060111122 Carlson et al. May 2006 A1
20060116137 Jung Jun 2006 A1
20060148463 Zhu et al. Jul 2006 A1
20060149461 Rowley Jul 2006 A1
20060150119 Chesnais et al. Jul 2006 A1
20060166679 Karaoguz et al. Jul 2006 A1
20060168300 An et al. Jul 2006 A1
20060172769 Oh Aug 2006 A1
20060172778 Sundararajan et al. Aug 2006 A1
20060179114 Deeds Aug 2006 A1
20060180649 Casey Aug 2006 A1
20060184978 Casey Aug 2006 A1
20060195481 Arrouye et al. Aug 2006 A1
20060199567 Alston Sep 2006 A1
20060202819 Adamczyk et al. Sep 2006 A1
20060211453 Schick Sep 2006 A1
20060218209 Arrouye et al. Sep 2006 A1
20060227047 Rosenberg Oct 2006 A1
20060229802 Vertelney et al. Oct 2006 A1
20060247855 de Silva et al. Nov 2006 A1
20060270421 Phillips et al. Nov 2006 A1
20060271280 O'Clair Nov 2006 A1
20060284767 Taylor Dec 2006 A1
20060287824 Lin Dec 2006 A1
20060291639 Radziewicz et al. Dec 2006 A1
20060293029 Jha et al. Dec 2006 A1
20060293083 Bowen Dec 2006 A1
20070001875 Taylor Jan 2007 A1
20070003040 Radziewicz et al. Jan 2007 A1
20070005188 Johnson Jan 2007 A1
20070005233 Pinkus et al. Jan 2007 A1
20070006098 Krumm et al. Jan 2007 A1
20070008515 Otani et al. Jan 2007 A1
20070010942 Bill Jan 2007 A1
20070016362 Nelson Jan 2007 A1
20070027614 Reeser et al. Feb 2007 A1
20070027628 Geelen Feb 2007 A1
20070042790 Mohi et al. Feb 2007 A1
20070055684 Stevens Mar 2007 A1
20070061245 Ramer et al. Mar 2007 A1
20070061301 Ramer et al. Mar 2007 A1
20070061363 Ramer et al. Mar 2007 A1
20070071114 Sanderford et al. Mar 2007 A1
20070073480 Singh Mar 2007 A1
20070073719 Ramer et al. Mar 2007 A1
20070087726 McGary et al. Apr 2007 A1
20070093258 Steenstra et al. Apr 2007 A1
20070106465 Adam et al. May 2007 A1
20070115868 Chen et al. May 2007 A1
20070124043 Ayoub et al. May 2007 A1
20070124058 Kitagawa et al. May 2007 A1
20070124066 Kikuchi et al. May 2007 A1
20070127439 Stein Jun 2007 A1
20070127661 Didcock Jun 2007 A1
20070129888 Rosenberg Jun 2007 A1
20070130153 Nachman et al. Jun 2007 A1
20070135136 Ische Jun 2007 A1
20070135990 Seymour et al. Jun 2007 A1
20070142026 Kuz et al. Jun 2007 A1
20070149212 Gupta et al. Jun 2007 A1
20070150320 Huang Jun 2007 A1
20070153983 Bloebaum et al. Jul 2007 A1
20070153984 Bloebaum et al. Jul 2007 A1
20070153986 Bloebaum et al. Jul 2007 A1
20070155360 An Jul 2007 A1
20070156326 Nesbitt Jul 2007 A1
20070179854 Ziv et al. Aug 2007 A1
20070184855 Klassen Aug 2007 A1
20070190995 Wang et al. Aug 2007 A1
20070191029 Zarem et al. Aug 2007 A1
20070200713 Weber et al. Aug 2007 A1
20070204218 Weber et al. Aug 2007 A1
20070206730 Polk Sep 2007 A1
20070208492 Downs et al. Sep 2007 A1
20070208497 Downs et al. Sep 2007 A1
20070208498 Barker et al. Sep 2007 A1
20070218925 Islam et al. Sep 2007 A1
20070219706 Sheynblat Sep 2007 A1
20070229549 Dicke et al. Oct 2007 A1
20070232272 Gonsalves et al. Oct 2007 A1
20070232326 Johnson Oct 2007 A1
20070233387 Johnson Oct 2007 A1
20070238491 He Oct 2007 A1
20070243853 Bumiller et al. Oct 2007 A1
20070247435 Benko et al. Oct 2007 A1
20070254676 Pedigo et al. Nov 2007 A1
20070259674 Neef et al. Nov 2007 A1
20070260751 Meesseman Nov 2007 A1
20070266116 Rensin et al. Nov 2007 A1
20070271328 Geelen et al. Nov 2007 A1
20070276586 Jeon et al. Nov 2007 A1
20070276587 Johnson Nov 2007 A1
20070276596 Solomon et al. Nov 2007 A1
20070281664 Kaneko et al. Dec 2007 A1
20070282521 Broughton Dec 2007 A1
20070282565 Bye et al. Dec 2007 A1
20070290920 Shintai et al. Dec 2007 A1
20070299601 Zhao et al. Dec 2007 A1
20080004789 Horvitz et al. Jan 2008 A1
20080004791 Sera Jan 2008 A1
20080004802 Horvitz Jan 2008 A1
20080005104 Flake et al. Jan 2008 A1
20080005301 Li et al. Jan 2008 A1
20080015422 Wessel Jan 2008 A1
20080021632 Amano Jan 2008 A1
20080024360 Taylor Jan 2008 A1
20080024364 Taylor Jan 2008 A1
20080027636 Tengler et al. Jan 2008 A1
20080030308 Johnson Feb 2008 A1
20080032703 Krumm et al. Feb 2008 A1
20080032721 MacDonald et al. Feb 2008 A1
20080045234 Reed Feb 2008 A1
20080046176 Jurgens Feb 2008 A1
20080052407 Baudino et al. Feb 2008 A1
20080065311 Bauchot et al. Mar 2008 A1
20080070593 Altman et al. Mar 2008 A1
20080071466 Downs et al. Mar 2008 A1
20080082254 Huhtala et al. Apr 2008 A1
20080085727 Kratz Apr 2008 A1
20080086240 Breed Apr 2008 A1
20080088486 Rozum et al. Apr 2008 A1
20080091347 Tashiro Apr 2008 A1
20080096518 Mock et al. Apr 2008 A1
20080097698 Arnold-Huyser et al. Apr 2008 A1
20080098090 Geraci et al. Apr 2008 A1
20080104634 Gajdos et al. May 2008 A1
20080109153 Gueziec May 2008 A1
20080113672 Karr et al. May 2008 A1
20080129528 Guthrie Jun 2008 A1
20080132243 Spalink et al. Jun 2008 A1
20080132251 Altman et al. Jun 2008 A1
20080132252 Altman et al. Jun 2008 A1
20080140308 Yamane et al. Jun 2008 A1
20080140520 Hyder et al. Jun 2008 A1
20080153512 Kale et al. Jun 2008 A1
20080153513 Flake et al. Jun 2008 A1
20080155453 Othmer Jun 2008 A1
20080160956 Jackson et al. Jul 2008 A1
20080161034 Akiyama Jul 2008 A1
20080167083 Wyld et al. Jul 2008 A1
20080167796 Narayanaswami Jul 2008 A1
20080167811 Geelen Jul 2008 A1
20080172173 Chang et al. Jul 2008 A1
20080172374 Wolosin et al. Jul 2008 A1
20080176545 Dicke et al. Jul 2008 A1
20080177793 Epstein et al. Jul 2008 A1
20080178116 Kim Jul 2008 A1
20080186162 Rajan et al. Aug 2008 A1
20080189033 Geelen et al. Aug 2008 A1
20080194273 Kansal et al. Aug 2008 A1
20080200142 Abdel-Kader et al. Aug 2008 A1
20080207167 Bugenhagen Aug 2008 A1
20080225779 Bragiel et al. Sep 2008 A1
20080227473 Haney Sep 2008 A1
20080233919 Kenney Sep 2008 A1
20080248815 Busch Oct 2008 A1
20080249667 Horvitz et al. Oct 2008 A1
20080268876 Gelfand et al. Oct 2008 A1
20080271072 Rothschild et al. Oct 2008 A1
20080284642 Seacat et al. Nov 2008 A1
20080287124 Karabinis Nov 2008 A1
20080288166 Onishi Nov 2008 A1
20080293397 Gajdos et al. Nov 2008 A1
20080310850 Pederson et al. Dec 2008 A1
20080318550 DeAtley Dec 2008 A1
20080319644 Zehler Dec 2008 A1
20080319652 Moshfeghi Dec 2008 A1
20090003659 Forstall et al. Jan 2009 A1
20090005005 Forstall et al. Jan 2009 A1
20090005018 Forstall et al. Jan 2009 A1
20090005021 Forstall et al. Jan 2009 A1
20090005068 Forstall et al. Jan 2009 A1
20090005070 Forstall et al. Jan 2009 A1
20090005071 Forstall et al. Jan 2009 A1
20090005072 Forstall et al. Jan 2009 A1
20090005076 Forstall et al. Jan 2009 A1
20090005080 Forstall et al. Jan 2009 A1
20090005082 Forstall et al. Jan 2009 A1
20090005964 Forstall et al. Jan 2009 A1
20090005965 Forstall et al. Jan 2009 A1
20090005975 Forstall et al. Jan 2009 A1
20090005978 Forstall et al. Jan 2009 A1
20090005981 Forstall et al. Jan 2009 A1
20090006336 Forstall et al. Jan 2009 A1
20090006566 Veeramachaneni et al. Jan 2009 A1
20090018769 Poliak Jan 2009 A1
20090030605 Breed Jan 2009 A1
20090031006 Johnson Jan 2009 A1
20090033540 Breed et al. Feb 2009 A1
20090042585 Matsuda Feb 2009 A1
20090089706 Furches et al. Apr 2009 A1
20090098857 DeAtley Apr 2009 A1
20090121927 Moshfeghi May 2009 A1
20090143048 Ayanamcottil et al. Jun 2009 A1
20090149192 Vargas et al. Jun 2009 A1
20090177385 Matas et al. Jul 2009 A1
20090182492 Alten Jul 2009 A1
20090201850 Davis Aug 2009 A1
20090215469 Fisher Aug 2009 A1
20090228961 Wald et al. Sep 2009 A1
20090234743 Wald et al. Sep 2009 A1
20090253408 Fitzgerald et al. Oct 2009 A1
20090259573 Cheng et al. Oct 2009 A1
20090271271 Johnson Oct 2009 A1
20090281724 Blumenberg et al. Nov 2009 A1
20090286549 Canon et al. Nov 2009 A1
20090315766 Khosravy et al. Dec 2009 A1
20090315775 Khosravy et al. Dec 2009 A1
20090325603 Van Os et al. Dec 2009 A1
20090326815 Williamson et al. Dec 2009 A1
20100054242 Oliver Mar 2010 A1
20100070758 Low et al. Mar 2010 A1
20100076818 Peterson et al. Mar 2010 A1
20100082820 Furukawa Apr 2010 A1
20100106397 Van Essen Apr 2010 A1
20100131584 Johnson May 2010 A1
20100173647 Sheynblat Jul 2010 A1
20100190467 Scott et al. Jul 2010 A1
20100190468 Scott et al. Jul 2010 A1
20100207782 Johnson Aug 2010 A1
20100223006 Sasaki Sep 2010 A1
20100267357 Holmstrom et al. Oct 2010 A1
20100279652 Sharp et al. Nov 2010 A1
20100279673 Sharp et al. Nov 2010 A1
20110039513 Carlstrom Feb 2011 A1
20110051658 Jin et al. Mar 2011 A1
20110072520 Bhansali et al. Mar 2011 A1
20120025978 Ferren et al. Feb 2012 A1
20120231811 Zohar Sep 2012 A1
Foreign Referenced Citations (126)
Number Date Country
9904979 Dec 2000 BR
2163215 Nov 1994 CA
2287596 Apr 2000 CA
2432239 Dec 2004 CA
3 621 456 Jan 1988 DE
4437360 Apr 1996 DE
19506890 Aug 1996 DE
19914257 Jan 2000 DE
10 141 695 Mar 2003 DE
10238699 Mar 2004 DE
0 288 068 Jul 1992 EP
0 745 867 Dec 1996 EP
0 763 749 Mar 1997 EP
0 785 535 Jul 1997 EP
0 786 646 Jul 1997 EP
0 809 117 Nov 1997 EP
0 813 072 Dec 1997 EP
0 699 330 Apr 1998 EP
0836131 Apr 1998 EP
0 908 835 Apr 1999 EP
0 997 808 May 2000 EP
1 083 764 Mar 2001 EP
1 300 652 Apr 2003 EP
1 457 928 Sep 2004 EP
1 465 041 Oct 2004 EP
1 469 287 Oct 2004 EP
1 496 338 Jan 2005 EP
1 659 817 May 2006 EP
1725056 Nov 2006 EP
1 770 956 Apr 2007 EP
1 790 947 May 2007 EP
1 860 904 Nov 2007 EP
1 933 249 Aug 2008 EP
2730083 Aug 1996 FR
2754093 Apr 1998 FR
2772911 Jun 1999 FR
2810183 Dec 2001 FR
2 278 196 Nov 1994 GB
2 322 248 Aug 1998 GB
2 359 888 Sep 2001 GB
2 407 230 Apr 2005 GB
62142215 Jun 1987 JP
05-071974 Mar 1993 JP
06-525189 May 1994 JP
08-069436 Mar 1996 JP
09-054895 Feb 1997 JP
9-062993 Mar 1997 JP
09-098474 Apr 1997 JP
9-113288 May 1997 JP
09-153125 Jun 1997 JP
09-200850 Jul 1997 JP
9-210710 Aug 1997 JP
9-319300 Dec 1997 JP
10-021259 Jan 1998 JP
10-030933 Feb 1998 JP
11-234736 Aug 1999 JP
2000-163379 Jun 2000 JP
2001-008270 Jan 2001 JP
2001-086228 Mar 2001 JP
2001-160063 Jun 2001 JP
2002-310680 Oct 2002 JP
2003-228532 Aug 2003 JP
2004-045054 Feb 2004 JP
2004-219146 Aug 2004 JP
2004-362271 Dec 2004 JP
2005-006021 Jan 2005 JP
2005-106741 Apr 2005 JP
2005-182146 Jul 2005 JP
2005-241519 Sep 2005 JP
2005277764 Oct 2005 JP
2006-112338 Apr 2006 JP
2006-184007 Jul 2006 JP
2006-254311 Sep 2006 JP
2006-270889 Oct 2006 JP
2006-279838 Oct 2006 JP
2007-033220 Feb 2007 JP
2007-033331 Feb 2007 JP
2007-033368 Feb 2007 JP
2007-127439 May 2007 JP
2007-147439 Jun 2007 JP
2007-201699 Aug 2007 JP
2007-221433 Aug 2007 JP
2007-240400 Sep 2007 JP
2007-259291 Oct 2007 JP
2007-271299 Oct 2007 JP
2007-304009 Nov 2007 JP
2008-058917 Mar 2008 JP
2008-129774 Jun 2008 JP
2008-172750 Jul 2008 JP
2009-94898 Apr 2009 JP
10-2004-0064997 Jul 2004 KR
2004-102440 Dec 2004 KR
10-2005-0002346 Jan 2005 KR
10-2005-0070845 Jul 2005 KR
2005-096746 Oct 2005 KR
200426387 Dec 2004 TW
WO 9320546 Oct 1993 WO
WO 9408250 Apr 1994 WO
WO 9707467 Feb 1997 WO
WO 9724577 Jul 1997 WO
WO 9741654 Nov 1997 WO
WO 9803951 Jan 1998 WO
WO 9807112 Feb 1998 WO
WO 9854682 Dec 1998 WO
WO 9916036 Apr 1999 WO
WO 9944183 Sep 1999 WO
WO 9961934 Dec 1999 WO
WO 0131966 May 2001 WO
WO 0137597 May 2001 WO
WO 02054813 Jul 2002 WO
WO 03023593 Mar 2003 WO
WO 03096055 Nov 2003 WO
WO 2004008792 Jan 2004 WO
WO 2004021730 Mar 2004 WO
WO 2004061576 Jul 2004 WO
WO 2004076977 Sep 2004 WO
WO 2005006258 Jan 2005 WO
WO 2005084052 Sep 2005 WO
WO 2006065856 Jun 2006 WO
WO 2006113125 Oct 2006 WO
2006138123 Dec 2006 WO
WO 2007027065 Mar 2007 WO
WO 2007052285 May 2007 WO
2008036673 Mar 2008 WO
WO 2008051929 May 2008 WO
WO 2008085740 Jul 2008 WO
Non-Patent Literature Citations (196)
Entry
US 6,731,928, 05/2004, Tanaka (withdrawn)
Mio Technology: “27 Countries in your pocket,” [online] [Retrieved on Jul. 9, 2008]; Retrieved from the Internet URL: http://www.mio-tech.be/en/printview/press-releases-2005-09-29.htm>; 1 page.
“Animated Transition,” [online] [Retrieved on Oct. 16, 2006]; Retrieved from the Internet URL: http://designinginterfaces.com/Animated—Transition; 2 pages.
Abowd et al., “Cyberguide: A mobile context-aware tour guide,” Wireless Networks, 1997, 3(5):421-433.
“DaimlerCrysler Guide5 Usecases Overview Map,” 1 page.
“dialDTMF,” [online] [Retrieved Jan. 10, 2008]; Retrieved from the Internet URL: http://dialdtmf.sourceforge.net/; 9 pages.
“Navizon—Peer-to-Peer Wireless Positioning,” [online] [Retrieved Nov. 30, 2007]; Retrieved from the Internet URL: http://www.navizon.com/FAQ.htm; 8 pages.
“FM 3-25.26 Map Reading and Land Navigation,” Headquarters Department of the Army, Washington, DC [online] [Retrieved on Apr. 9, 2004]; Retrieved from the Internet URL: http://155.217.58.58/cgi-bin/atdl.dll/fm/3-25.26/toc.htm; Jul. 20, 2001, pp. 1-7 and J-1 to J-3.
“Frontiers in Electronic Media,” Interactions, 1997, 4(4):32-64.
“GPS 12 Personal NavigatorTM Owner's Manual & Reference”, Garmin Corporation, 1999, 66 pages.
“The Navizon Wireless Positioning System,” [online] [Retrieved on Nov. 30, 2007]; Retrieved from the Internet URL: http://www.navizon.com/FullFeatures.htm, 7 pages.
“International Numbering and SMS—Type of Numbering, TON, Numbering Plan Indicator, NPI,” ActiveXperts SMS and Pager Toolkit 4.1, [online] [Retrieved on Jan. 5, 2007]; Retrieved from the Internet URL: http://www.activexperts.com/support/activsms/tonnpi/; 2 pages.
“International Roaming Guide—Personal Experience(s) from Customer and Community Member,” [online] [Retrieved Jun. 26, 2006]; Retrieved from the Internet URL: http://forums.cingular.com/cng/board/message?board.id=international&message.id=1185; 6 pages.
“iPhone Software/Hardware Hack: LocoGPS—GPS Add-on for the iPhone,” [online] [Retrieved on Dec. 25, 2007]; Retrieved from the Internet URL: http://www.iphonehacks.com/iphone—applications/index.html; 41 pages.
Maaβ, “Location-Aware Mobile Applications based on Directory Services,” MOBICOM 97, 1997, Budapest, Hungary, pp. 23-33.
“MOREnet Dialing Plan: PSTN and IP Network Integration for H.323, H.320 VoIP and Public Voice Networks,” [online] [Retrieved on Jan. 11, 2008]; Retrieved from the Internet URL: http://www.more.net/technical/research/dialplan/index.html; 12 pages.
“New program for mobile blogging for Pocket PC released: My Blog,” [online] [Retrieved on Apr. 5, 2006]; Retrieved from the Internet URL: http://msmobiles.com/news.php/4067.html; 1 page.
“Numbering and Dialing Plan Within the United States,” Alliance for Telecommunications Industry Solutions, 2005, 17 pages.
“nüvifone Images,” [online] [Retrieved on Feb. 4, 2008]; Retrieved from the Internet URL: http://www8.garmin.com/buzz/nuvifone/media—gallery.jsp; 2 pages.
“Review Guide—Google Maps for mobile (beta),” Google, 2006, 7 pages.
“Travel Time Data Collection Handbook—Chapter 5: ITS Probe Vehicle Techniques,” FHWA-PL-98-035 Report, Department of Transport, University of Texas, Mar. 1998; [online] [Retrieved from the Internet at http://www.fhwa.dot.gov/ohim/handbook/chap5.pdf, 70 pages.
“User-centered design of mobile solutions,” NAMAHN, 2006, 18 pages.
Mio Technology “User's Manual MioMap 2.0,” Mio DigiWalker, 2005, 59 pages.
“Windows Live Search for Mobile Goes Final, Still Great,” [online] [Retrieved on Mar. 11, 2007]; Retrieved from the Internet URL: http://gizmodo.com/gadgets/software/windows-live-search-for-mobile-goes-final-still-great-236002.php; 3 pages.
“Windows Mobile 6 Professional Video Tour,” [online] [Retrieved on Mar. 11, 2007]; Retrieved from the Internet URL: http://gizmodo.com/gadgets/cellphones/windows-mobile-6-professional-video-tour-237039.php; 4 pages.
“Windows Mobile,” Microsoft, 2007, 2 pages.
Anand et al., “A Quantitative Analysis of Power Consumption for Location-Aware Applications on Smart Phones,” IEEE International Symposium on Industrial Electronics, Jun. 4-7, 2007, pp. 1986-1991.
Balliet, “Transportation Information Distribution System,” IBM Technical Disclosure Bulletin, [online] [Retrieved on Nov. 7, 2008]; Retrieved from the Internet URL: https://www.delphion.com/tdbs/tdb?order=86A+61395; Jun. 1986; 2 pages.
Beard and Palancioglu, “Estimating Positions and Paths of Moving Objects,” IEEE, 2000, pp. 1-8.
Bederson, “Audio Augmented Reality: A Prototype Automated Tour Guide,” CHI '95 Mosaic of Creativity, May 7-11, 1995, Chicago, IL, pp. 210-211.
Berman and Powell, “The Role of Dead Reckoning and Inertial Sensors in Future General Aviation Navigation,” IEEE, 1998, pp. 510-517.
Bevly and Parkinson, “Cascaded Kalman Filters for Accurate Estimation of Multiple Biases, Dead-Reckoning Navigation, and Full State Feedback Control of Ground Vehicles,” IEEE Transactions on Control Systems in Technology, 2007, 15(2):199-208.
Binzhuo and Bin, “Mobile Phone GIS Based on Mobile SVG,” IEEE, 2005, pp. 889-892.
Bokharouss et al., “A Location-Aware Mobile Call Handling Assistant,” 21st International Conference on Advanced Information Networking and Applications Workshops, 2007, 8 pages.
Boonsrimuang et al., “Mobile Internet Navigation System,” IEEE, 2002, pp. 325-328.
Budka et al., “A Bayesian Method to Improve Mobile Geolocation Accuracy,” IEEE 56th Vehicular Technology Conference Proceedings, Sep. 24-28, 2002, Vancouver, CA, 2:1021-1025.
Camp and DeHayes, Jr., “A computer-based method for predicting transit time parameters using grid systems,” Decision Sciences, 1974, 5:339-346.
Carew, “Phones that tell you where to drive, meet, eat,” [online] [Retrieved May 26, 2007]; Retrieved from the Internet URL http://news.yahoo.com/s/nm/20070525/wr—nm/column—pluggedin—dc—2&printer=1;—ylt=Ahqaftn7xm1S2rOFZFeu9G4ht.cA; 2 pages.
Dey, “Context-Aware Computing: The CyberDesk Project,” [online] Retrieved from the Internet: URL: http://www.cc.gatech.edu/fce/cyberdesk/pubs/AAAI98/AAAI98.html; AAAI '98 Spring Symposium, Stanford University, Mar. 23-25, 1998, downloaded from the Internet on Aug. 6, 2010, 8 pages.
Challe, “CARMINAT—An Integrated information and guidance system,” Vehicle Navigation and Information Systems Conference, Oct. 20-23, 1991, Renault—Direction de la Recherche, Rueil-Malmaison, France.
Charny, “AT&T puts 411 to the text,” [online] [Retrieved Mar. 4, 2009]; Retrieved from the Internet URL http://news.cnet.com/ATT-puts-411-to-the-text/2100-1039—3-1000669.html; May 8, 2003; 2 pages.
Cho et al., “A Traveler Information Service Structure in Hybrid T-DMB and Cellular Communication Network,” IEEE, 2006, pp. 747-750.
Christie et al., “Development and Deployment of GPS wireless devices for E911 and Location based services,” Position, location and Navigation Symposium, Palm Springs, CA, Apr. 15-18, 2002, pp. 60-65.
Chua et al., “Intelligent Portal for Event-triggered SMS Alerts,” 2nd International Conference on Mobile Technology, Applications and Systems, 2005, 7 pages.
{hacek over (C)}ivilis et al., “Efficient Tracking of Moving Objects with Precision Guarantees,” Proc. First Annual International Conference on Mobile and Ubiquitous Systems: Networking and Services (MobiQuitous '04), 2004, 10 pages.
Dalrymple, “Google Maps adds locator, but not for iPhone,” [online] [Retrieved Nov. 30, 2007]; Retrieved from the Internet URL: http://news.yahoo.com/s/macworld/20071130/tc—macworld/googlemaps20071130—0&printer=1;—ylt=Auvf3s6LQK—pOaJlb954T—DQn6gB; 1 page.
Dibdin, “Where are mobile location based services?” CM316 Multimedia Systems Paper, Dec. 14, 2001, 8 pages.
Drane et al., “The Accurate Location of Mobile Telephones,” Third Annual World Congress on Intelligent Transport Systems, Orlando, Florida, Oct. 1996, 8 pages.
Dunn and Toohey, “Wireless Emergency Call System,” IBM Technical Disclosure Bulletin, Sep. 1994; 1 page.
Ebine, “Dual frequency resonant base station antennas for PDC systems in Japan,” IEEE, 1999, pp. 564-567.
Evans et al., “In-Vehicle Man-Machine Interaction. The Socrates Approach,” Vehicle Navigation & Information System Conference Proceedings, 1994, Aug. 31-Sep. 2, 1994, pp. 473-477.
Feddema et al., “Cooperative Sentry Vehicles and Differential GPS Leapfrog,” 2000, United States Department of Energy, pp. 1-12.
Guo et al., “An Intelligent Query System Based on Chinese Short Message Service for Restaurant Recommendation,” Sixth International Conference on the Management of Mobile Business (ICMB 2007), 2007, 1 page.
Hameed and Shabnam, “An Intelligent Agent-Based Medication and Emergency System,” IEEE, 2006, pp. 3326-3330.
Helal et al., “Drishti: An Integrated Navigation System for Visually Impaired and Disabled,” Fifth International Symposium on Wearable Computers (ISWC'01), 2001, pp. 149-156.
Hohman et al., “GPS Roadside Integrated Precision Positioning System,” Position Location and Navigation Symposium, 2000, pp. 221-230.
Dommety and Jain, “Potential Networking Applications of Global Positioning Systems (GPS),” [online] [Retrieved on Nov. 18, 2008]; [Retrieved from the Internet URL: http://arxiv.org/ftp/cs/papers/9809/9809079.pdf; OSU Technical Report TR-24, Apr. 1996, 41 pages.
Jirawimut et al., “A Method for Dead Reckoning Parameter Correction in Pedestrian Navigation System,” IEEE Transactions on Instrumentation and Measurement, 2003, 52(1):209-215.
Ju et al., “RFID Data Collection and Integration Based on Mobile Agent,” IEEE, 2006, 4 pages.
Kbar and Mansoor, “Mobile Station Location based on Hybrid of Signal Strength and Time of Arrival,” Proc. International Conference on Mobile Business (ICMB'05), 2005, 7 pages.
Koide and Kato, “3-D Human Navigation System with Consideration of Neighboring Space Information,” 2006 IEEE International Conference on Systems, Man and Cybernetics, Oct. 8-11, 2006, Taipei, Taiwan, pp. 1693-1698.
Lloyd and Tianlin, “Cellular phone base stations installation violate the Electromagnetic Compatibility regulations,” 2004 4th International Conference on Microwave and Millimeter Wave Technology Proceedings, 2004, pp. 920-922.
Manabe et al., “On the M-CubITS Pedestrian Navigation System,” Proc. IEEE Intelligent Transportation Systems Conference, Toronto, Canada, Sep. 17-20, 2006, pp. 793-798.
Maxwell et al., “Alfred: The Robot Waiter Who Remembers You,” AAAI Technical Report WS-99-15, 1999, 12 pages.
Meier and Cahill, “Location-Aware Event-Based Middleware: A Paradigm for Collaborative Mobile Applications?” 8th CaberNet Radicals Workshop, 2003, 5 pages.
Miller et al., “Synchronization of Mobile XML Databases by Utilizing Deferred Views,” IEEE, 2004, pp. 186-191.
Nardi et al., “Integrating Communication and Information Through Contact Map,” Communications of the ACM, 2002, 45(4):89-95.
Navizon Peer-to-Peer Wireless Positioning; [online] [Retrieved on Nov. 30, 2007]; Retrieved from the Internet URL: http://www.navizon.com/; 2 pages.
Northard, “Docking Station Communication Link,” IBM Technical Disclosure Bulletin, 1994, 4 pages.
Oh et al., “Spatial Applications Using 4S Technology for Mobile Environment,” IEEE, 2002, 3 pages.
Paksoy et al., “The Global Position System-Navigation Tool of the Future,” J. Electrical & Electronics, 2002, 2(1):467-476.
Parikh, “Tele Locate,” IBM Technical Disclosure Bulletin, [online] [Retrieved on Nov. 7, 2008]; Retrieved from the Internet URL: https://www.delphion.com/tdbs/tdb?order=92A+62775; 1992, 1 page.
Pfoser et al., “Dynamic Travel Time Maps—Enabling Efficient Navigation,” Proc. 18th International Conference on Scientific and Statistical Database Management (SSDBM'06), 2006, 10 pages.
Portfolio 2007; [online] [Retrieved on Jun. 14, 2007]; Retrieved from the Internet URL: http://eric.wahlforss.com/folio; 3 pages.
Pungel, “Traffic control-beat the jam electronically,” Funkschau, 1988, 18:43-45 (w/English translation).
RD 409052, Research Disclosure Alerting Abstract, “Location dependent information for satellite based vehicle communication—required application of Global Position System (GPS) to automatically extract relevant portions of data package as vehicle changes position,” May 10, 1998, 1 page.
Rekimoto et al., “Augment-able Reality: Situated Communication through Physical and Digital Spaces,” Second International Symposium on Wearable Computers (ISWC'98), 1998, pp. 1-8.
Rillings and Betsold, “Advanced driver information systems,” Vehicular Technology, IEEE Vehicular Technology Society, 1991, 40:31-40.
Rogers et al., “Adaptive User Interfaces for Automotive Environments,” Proc. IEEE Intelligent Vehicles Symposium 2000, Oct. 3-5, 2000, Dearborn, MI, pp. 662-667.
Rozier et al. “Hear&There: An Augmented Reality System of Linked Audio,” Proceedings of the International Conference on Auditory Display, Atlanta, GA, Apr. 2000, pp. 1-5.
Samadani et al., “PathMarker: systems for capturing trips,” 2004 IEEE International Conference on Multimedia and Expo (ICME), Jun. 27-30, 2004, 3:2123-2126.
Schreiner, “Where We At? Mobile Phones Bring GPS to the Masses,” IEEE Computer Society, May/Jun. 2007, pp. 6-11.
Shibata et al., “Development and Integration of Generic Components for a Teachable Vision-Based Mobile Robot,” IEEE/ASME Transactions on Mechatronics, 1996, 1(3):230-236.
Spohrer, “New Paradigms for Using Computers (Abstract),” 1997; [online]; Retrieved from the Internet URL: http://www.almaden.ibm.com/almaden/npuc97/1997/spohrer.htm; 1 page.
Sung et al., “Towards Reliable Peer-to-Peer Data Sharing over Mobile Ad hoc Networks,” IEEE, 2005, 5 pages.
Tsuzawa and Okamoto, “Advanced Mobile Traffic Information and Communication System,” First Vehicle Navigation and Information Systems Conference, Sep. 11-13, 1989, Toronto, Canada, Abstract only.
Wang and Huang, “An Unified Vehicle Supervising and Traffic Information System,” IEEE, 1996, pp. 968-972.
Weiβ et al., “Zone Services—An Approach for Location-based Data Collection,” Proceedings of the 8th IEEE International Conference on E-Commerce Technology and the 3rd IEEE International Conference on Enterprise Computing, E-Commerce and E-Services (CEC/EEE'06), 2006, 8 pages.
Yamamoto et al., “Position Location Technologies Using Signal Strength in Cellular Systems,” IEEE 53rd Vehicular Technology Conference, May 6-9, 2001, Rhodes, Greece, 53:2570-2574.
Yang and Marsland, “Global Snapshots for Distributed Debugging,” IEEE, 1992, pp. 436-440.
Wong, “GPS: making roads safer and solving traffic tangles,” Asia Engineer, 1995, 23(9):31-32.
Wu et al., “A Multimedia System for Route Sharing and Video-Based Navigation,” IEEE, 2006, pp. 73-76.
Yanyan et al., “The Model of Optimum Route Selection in Vehicle Automatic Navigation System Based on Unblocked Reliability Analyses,” IEEE, 2003, pp. 975-978.
Ygnace et al., “Travel Time Estimation on the San Francisco Bay Area Network Using Cellular Phones as Probes,” Working Paper, Institute of Transportation Studies, University of California, Berkeley, 2000, 58 pages.
Authorized officer Anita Rothenbucher, International Search Report/Written Opinion in PCT/US2010/033003 mailed Jul. 23, 2010, 8 pages.
“iPhone Push Notification Server tied to Snow Leopard Server” [online], Feb. 11, 2009, Roughly Drafted Magazine. Available from: http://www.roughlydrafted.com/2009/02/11/iphone-push-notification-server-tied-to-snow-leopard-server/ [Accessed Aug. 25, 2010].
“Apple testing ‘Find my iPhone’ ahead of other MobileMe improvements” [online], Jun. 9, 2009, AppleInsider. Available from: http://www.appleinsider.com/articles/09/06/09/apple—testing—find—my—iphone—ahead—of—other—mobileme—improvements.html [Accessed Aug. 25, 2010].
“MobileMe pushes out new Find My IPhone, Remote Wipe service” [online], Jun. 17, 2009, AppleInsider. Available from: http://www.appleinsider.com/articles/09/06/17/mobileme—pushes—out—new—find—my—iphone—remote—wipe—service.html [Accessed Aug. 25, 2010].
“Sprite Terminator User Guide,” [online] Dec. 6, 2007, pp. 1-45, Retrieved from the Internet: URL: http://www.spritesoftware.com/getmedia/4d2lad24-fd62-4c5e-a4fe-15ebc99aac9a/SpriteTerminator.aspx> [retrieved on Jul. 9, 2010].
Ayatsuka et al., “UbiquitousLinks: Hypermedia Links Embedded in the Real World, Technical Report of Information Processing Society, 96-HI-67,” Information Processing Society of Japan, Jul. 11, 1996, 96(62):23-30.
Nagao et al., Walk Navi: A Location-Aware Interactive Navigation/Guideline System and Software III, First edition, pp. 9-48, published by Kindai-Kagaku-Sya Co. Ltd., Dec. 10, 1995.
Benefon ESC! GSM+GPS Personal Navigation Phone, benefon.com, Copyright 2001, 4 pages.
Freundschuh, “Does ‘Anybody’ Really Want (or Need) Vehicle Navigation Aids?” First Vehicle Navigation and Information System Conference, Sep. 11-13, 1989, Toronto, Canada, 5 pages.
Gould, “The Provision of Usable Navigation Assistance: Considering Individual Cognitive Ability,” First Vehicle Navigation and Information System Conference, Sep. 11-13, 1989, Toronto, Canada, 7 pages.
Mark, “A Conceptual Model for Vehicle Navigation Systems,” First Vehicle Navigation and Information System Conference, Sep. 11-13, 1989, Toronto, Canada, 11 pages.
Wheeler et al., “Development of Human Factors Guidelines for Advanced Traveler Information Systems and Commercial Vehicle Operations: Task Analysis of ATIS/CVO Functions,” US Dept. Transportation Federal Highway Administration Research and Development, Publication No. FHWA-RD-95-176, Nov. 1996, 124 pages.
Miller et al., “Integrating Hierarchical Navigation and Querying: A User Customizable Solution,” ACM Multimedia Workshop on Effective Abstractions in Multimedia Layout, Presentation, and Interaction, San Francisco, CA, Nov. 1995, 8 pages.
Hoogenraad, “Location Dependent Services,” 3rd AGILE Conference on Geographic Information Science, Helsinki/Espoo, Finland, May 25-27, 2000, pp. 74-77.
Bonsignore, “A Comparative Evaluation of the Benefits of Advanced Traveler Information System (ATIS) Operational Tests,” MIT Masters Thesis, Feb. 1994, 140 pages.
Noonan and Shearer, “Intelligent Transportation Systems Field Operational Test Cross-Cutting Study Advance Traveler Information systems,” Intelligent Transportation Systems Field Operational Test Cross-Cutting Study, Sep. 1998, 26 pages.
Burnett, “Usable Vehicle Navigation Systems: Are We There Yet?” Vehicle Electronic Systems 2000, Jun. 29-30, 2000, 3.1.1-3.1.12.
Khattak et al., “Bay Area ATIS Testbed Plan,” Research Reports, California Partners for Advanced Transit and Highways (PATH), Institute of Transportation Studies, UC Berkeley, Jan. 1, 1992, 83 pages.
Yim et al., “Travinfo Field Operational Test: Work Plan for the Target, Network, and Value Added Reseller (VAR) Customer Studies,” Working Papers, California Partners for Advanced Transit and Highways (PATH), Institute of Transportation Studies, UC Berkeley, Apr. 1, 1997, 49 pages.
Mahmassani et al., “Providing Advanced and Real-Time Travel/Traffic Information to Tourists,” Center for Transportation Research, Bureau of Engineering Research, The University of Texas at Austin, Oct. 1998, 15 pages.
“New Handsets Strut Their Stuff At Wireless '99,” Internet: URL: http://findarticles.com/p/articles/mi—m0BMD/is—1999—Feb—11/ai—n27547656/ downloaded from Internet on Feb. 11, 1999, 3 pages.
“School Buses to Carry Noticom's First Application,” Internet: URL: http://findarticles.com/p/articles/mi—m0BMD/is—1999—Feb—17/ain27547754/ downloaded from the Internet on Feb. 17, 1999, 2 pages.
Green et al., “Suggested Human Factors Design Guidelines for Driver Information Systems,” Technical Report UMTRI-93-21, Nov. 1993, 119 pages.
Tijerina et al., “Driver Workload Assessment of Route Guidance System Destination Entry While Driving: A Test Track Study,” Proceedings of the 5th ITS World Congress, Oct. 12-16, 1998, Seoul, Korea, 9 pages.
Muraskin, “Two-Minute Warnings for School Bus Riders,” Internet: URL:http://www.callcentermagazine.com/shared/printableArticle.jhtml;jsessionid=PQH1SZXW . . . Jul. 1, 1999, 3 pages.
Ni and Deakin, “On-Board Advanced Traveler Information Systems,” Dec. 1, 2002, 10 pages.
Serafin et al., “Functions and Features of Future Driver Information Systems,” Technical Report UMTRI-91-16, May 1991, 104 pages.
Shekhar and Liu, “Genesis and Advanced Traveler Information Systems (ATIS): Killer Applications for Mobile Computing?” NSF Mobidata Workshop on Mobile and Wireless Information Systems, Nov. 1994, 20 pages.
“LaBarge in joint venture on bus system,” Internet: URL:http://www.bizjournals.com/stlouis/stories/1998/08/10/focus2.html?t-printable, Aug. 7, 1998, 1 page.
Clarke et al., “Development of Human Factors Guidelines for Advanced Traveler Information Systems (ATIS) and Commercial Vehicle Operations (CVO): Comparable Systems Analysis,” U.S. Department of Transportation Federal Highway Administration, Publication No. FHWA-RD-95-197, Dec. 1996, 212 pages.
Zubac and Strahonja, “Theory and Development of an Online Navigation System,” 18th International Conference on Information and Intelligent Systems, University of Zagreb, Sep. 12-14, 2007.
Brown, “The stick-e document: a framework for creating context-aware applications,” Electronic Publishing, 1995, 8:259-272.
Brown, “Triggering Information by Context,” Personal Technologies, 1998, 2:18-27.
Dey et al., “CyberDesk: a framework for providing self-integrating context-aware services,” Knowledge-Based Systems, 1998, 11:3-13.
Hodes and Katz, “Composable ad hoc location-based services for heterogeneous mobile clients,” Wireless Networks, 1999, 5:411-427.
Kreller et al., “A Mobile-Aware City Guide Application,” ACTS Mobile Communication Summit, 1998, Rhodes, Greece, 7 pages.
Lusky et al., “Mapping the Present,” ColoradoBiz, Nov. 1999, 26(11):16-17.
McCarthy and Meidel, “ACTIVEMAP: A Visualization Tool for Location Awareness to Support Informal Interactions,” HUC '99, LNCS 1707, 1999, pp. 158-170.
O'Grady et al., “A Tourist-Centric Mechanism for Interacting with the Environment,” Proceedings of the First International Workshop on Managing Interactions in Smart Environments (MANSE '99), Dublin, Ireland, Dec. 1999, pp. 56-67.
Pascoe et al., “Developing Personal Technology for the Field,” Personal Technologies, 1998, 2:28-36.
Tarumi et al., “Public Applications of SpaceTag and Their Impacts,” Digital Cities, LNCS 1765, 2000, pp. 350-363.
Tebbutt, “Dial your way out of the woods,” The Australian, Feb. 2000, 1 page.
Tso et al., “Always on, Always Connected Mobile Computing,” Mobile Communications Operation—Mobile Handheld Products Group, 1996, pp. 918-924.
Wang and Lin, “Location Aware Information Agent over WAP,” Tamkang Journal of Science and Engineering, 2000, 3(2):107-115.
“3rd Generation Partnership Project (3GPP); Technical Specification Group (TSG) RAN; Working Group 2 (WG2); Report on Location Services (LCS),” 3G TR 25.923 v.1.0.0, Apr. 1999, 45 pages.
“Report on Location Service feature (LCS) 25.923 v1.0.0,” TSG-RAN Working Group 2 (Radio layer 2 and Radio layer 3), Berlin, May 25-28, 1999, 45 pages.
“3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Functional stage 2 description of location services in UMTS,” 3G TS 23.171 v.1.1.0, Nov. 1999, 42 pages.
“3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Stage 2 Functional Specification of Location Services in UTRAN,” 3G TS 25.305 v.3.1.0, Mar. 2000, 45 pages.
“Enabling UMTS / Third Generation Services and Applications,” No. 11 Report from the UMTS Forum, Oct. 2000, 72 pages.
“3rd Generation Partnership Project (3GPP); Technical Specification Group (TSG) RAN; Working Group 2 (WG2); Report on Location Services,” TS RAN R2.03 V0.1.0, Apr. 1999, 43 pages.
“Revised CR to 09/31 on work item LCS,” ETSI SMG3 Plenary Meeting #6, Nice, France, Dec. 13-15, 1999. 18 pages.
Digital cellular telecommunications system (Phase 2+); Location Services (LCS); Service description, Stage 1 (GSM 02.71) ETSI, Apr. 1999, 22 pages.
Akerblom, “Tracking Mobile Phones in Urban Areas,” Goteborg University Thesis, Sep. 2000, 67 pages.
Borsodi, “Super Resolution of Discrete Arrivals in a Cellular Geolocation System,” University of Calgary Thesis, Apr. 2000, 164 pages.
Abowd et al., “Context-awareness in wearable and ubiquitous computing,” 1st International Symposium on Wearable Computers, Oct. 13-14, 1997, Cambridge, MA, 9 pages.
Balsiger et al., “MOGID: Mobile Geo-depended Information on Demand,” Workshop on Position Dependent Information Services (W3C-WAP), 2000, 8 pages.
Cheverst et al., “Architectural Ideas for the Support of Adaptive Context-Aware Applications,” Proceedings of Workshop on Infrastructure for Smart Devices—How to Make Ubiquity an Actuality, HUC'00, Bristol, Sep. 2000, 3 pages.
Cheverst et al., “The Role of Connectivity in Supporting Context-Sensitive Applications,” HUC'99, LNCS 1707, 1999, pp. 193-209.
Efstratiou and Cheverst, “Reflection: A Solution for Highly Adaptive Mobile Systems,” 2000 Workshop on Reflective Middleware, 2000, 2 pages.
Cheverst et al., “The Support of Mobile-Awareness in Collaborative Groupware,” Personal Technologies, 1999, 3:33-42.
Cheverst et al., “Design of an Object Model for a Context Sensitive Tourist Guide,” Computers and Graphics, 1999, 23(6):883-891.
Cheverst et al., “Developing Interfaces for Collaborative Mobile Systems,” 1999, 15 pages.
Cheverst et al., “Experiences of Developing and Deploying a Context-Aware Tourist Guide: The GUIDE Project,” 2000, pp. 20-31.
Cheverst et al., “Exploiting Context to Support Social Awareness and Social Navigation,” SIGGROUP Bulleting Dec. 2000, 21(3):43-48.
Cheverst et al., “Services to Support Consistency in Mobile Collaborative Applications,” Proc. 3rd International Workshop on Services in Distributed Networked Environments, 1996, 8 pages.
Cheverst et al., “Sharing (Location) Context to Facilitate Collaboration Between City Visitors,” 2000, 8 pages.
Cheverst et al., “Supporting Collaboration in Mobile-aware Groupware,” Workshop on Handheld CSCW, 1998, 6 pages.
Change Request for “U.S. specific Emergency Services requirements included as an informative annex,” Nov. 29, 1999, 2 pages.
Costa et al., “Experiments with Reflective Middleware,” Proceedings of the ECOOP'98 Workshop on Reflective Object-Oriented Programming and Systems, ECOOP'98 Workshop Reader, 1998, 13 pages.
Davies et al., “L2imbo: A distributed systems platform for mobile computing,” Mobile Networks and Applications, 1998, 3:143-156.
Davies et al., “‘Caches in the Air’: Disseminating Tourist Information in the Guide System,” Second IEEE Workshop on Mobile Computer Systems and Applications, Feb. 25-26, 1999, 9 pages.
Dix et al., “Exploiting Space and Location as a Design Framework for Interactive Mobile Systems,” ACM Transactions on Computer-Human Interaction (TOCHI)—Special issue on human-computer interaction with mobile systems, 2000, 7(3):285-321.
Drane et al., “Positioning Gsm Telephones,” IEEE Communications Magazine, Apr. 1998, pp. 46-59.
Drane and Rizos, “Role of Positioning Systems in ITS,” Positioning Systems in Intelligent Transportation Systems, Dec. 1997, pp. 312, 346-349.
Efstratiou et al., “Architectural Requirements for the Effective Support of Adaptive Mobile Applications,” 2000, 12 pages.
“Estonian operator to launch world's first Network-based location services,” Ericsson Press Release, Oct. 11, 1999, 2 pages.
Fischer et al., “System Performance Evaluation of Mobile Positioning Methods,” IEEE, Aug. 2002, pp. 1962-1966.
Flinn and Satyanarayanan, “PowerScope: A Tool for Profiling the Energy Usage of Mobile Applications,” Proc. WMCSA '99 Second IEEE Workshop on Mobile Computing Systems and Applications, Feb. 25-26, 1999, 9 pages.
French and Driscoll, “Location Technologies for ITS Emergency Notification and E911,” Proc. 1996 National Technical Meeting of the Institute of Navigation, Jan. 22-24, 1996, pp. 355-359.
Friday et al., “Developing Adaptive Applications: The MOST Experience,” J. Integrated Computer-Aided Engineering, 1999, pp. 143-157.
Gunnarsson et al., “Location Trial System for Mobile Phones,” IEEE, 1998, pp. 2211-2216.
Jose and Davies, “Scalable and Flexible Location-Based Services for Ubiquitous Information Access,” HUC'99, LNCS 1707, 1999, pp. 52-66.
Klinec and Nolz, “Nexus-Positioning and Communication Environment for Spatially Aware Applications,” IAPRS, Amsterdam, 2000, 7 pages.
Kovacs et al., “Adaptive Mobile Access to Context-aware Services,” Proc. ASAMA '99 Proc. First International Symposium on Agent Systems and Applications Third International Symposium on Mobile Agents, IEEE Computer Society Washington, DC, 1999, 12 pages.
Kreller et al., “UMTS: A Middleware Architecture and Mobile API/Approach,” IEEE Personal Communications, Apr. 1998, pp. 32-38.
Kugler and Lechner, “Combined Use of GPS and LORAN-C in Integrated Navigation Systems,” Fifth International Conference on Satellite Systems for Mobile Communications and Navigation, London, UK, May 13-15, 1996, pp. 199-207.
Kyriazakos et al., “Optimization of the Handover Algorithm based on the Position of the Mobile Terminals,” Communications and Vehicular Technology, Oct. 2000, pp. 155-159.
Leonhardt and Magee, “Multi-Sensor Location Tracking,” MOBICOM 98, Dallas, TX, pp. 203-214.
Leonhardt and Magee, “Towards a general location service for mobile environments,” Proc. Third International Workshop on Services in Distributed and Networked Environments, Jun. 3-4, 1996, 8 pages.
Long et al., “Rapid Prototyping of Mobile Context-Aware Applications: The Cyberguide Case Study,” MobiCom '96, 1996, 11 pages.
Yokote, “The Apertos Reflective Operating System: The Concept and Its Implementation,” OOPSLA'92, pp. 414-434.
Popescu-Zeletin et al., “Applying Location-Aware Computing for Electronic Commerce: Mobile Guide,” Proc. 5th Conference on Computer Communications, AFRICOM-CCDC'98,Oct. 20-22, 1998, 14 pages.
Zhao, “Mobile Phone Location Determination and Its Impact on Intelligent Transportation Systems,” IEEE Transactions on Intelligent Transportation Systems, Mar. 2000, 1(1):55-64.
Microsoft Outlook 2003 User's Guide, http://opan.admin.ufl.edu/user—guides/outlook2003.htm. Aug. 2004, 17 pages.
“Error: could not find a contact with this e-mail address.” Outlookbanter.com. Dec. 2006, 12 pages.
International Preliminary Report on Patentability in PCT/US2010/033003 mailed Nov. 10, 2011, 6 pages.
Millard et al. “XEP-0060”; XMPP Standards Foundation, last updated Sep. 3, 2008; available at http://xmpp.org/extensions/attic/xep-0060-1.12.html (last accessed on Nov. 21, 2012); pp. 1-179.
Non-final office action in Japanese Application No. 2010-118788, issued Aug. 6, 2012, pp. 1-6.
Office Action in Japanese Patent Application No. 2010-118788, Dec. 13, 2012, pp. 1-2.
Office Action in JP Application No. 2012-508744, Feb. 7, 2013, pp. 1-4.
Response to Sep. 19, 2012 Office Action from U.S. Appl. No. 12/434,582, Christopher Brooke Sharp, et al, Response filed Nov. 19, 2012, pp. 1-17.
Response to May 2, 2013 Office Action from U.S. Appl. No. 12/434,586, Christopher Brooke Sharp, et al, Response filed May 24, 2013, pp. 1-13.
Related Publications (1)
Number Date Country
20100279675 A1 Nov 2010 US
Continuation in Parts (1)
Number Date Country
Parent 12434586 May 2009 US
Child 12750600 US