Patent application number | Description | Published |
20090320044 | Peek and Lock Using Queue Partitioning - A queue management system may store a queue of messages in a main queue. When a message is processed by an application, the message may be moved to a subqueue. In the subqueue, the message may be locked from other applications. After processing the message, the application may delete the message from the subqueue and complete the action required. If the application fails to respond in a timely manner, the message may be moved from the subqueue to the main queue and released for another application to service the message. If the application responds after the time out period, a fault may occur when the application attempts to delete the message from the subqueue. Such an arrangement allows a “peek and lock” functionality to be implemented using a subqueue. | 12-24-2009 |
20100309928 | ASYNCHRONOUS COMMUNICATION IN AN UNSTABLE NETWORK - Embodiments are directed to promptly reestablishing communication between nodes in a dynamic computer network and dynamically maintaining an address list in an unstable network. A computer system sends a message to other message queuing nodes in a network, where each node in the message queuing network includes a corresponding persistent unique global identifier. The computer system maintains a list of unique global identifiers and the current network addresses of those network nodes from which the message queuing node has received a message or to which the message queuing node has sent a message. The computer system goes offline for a period of time and upon coming back online, sends an announcement message to each node maintained in the list indicating that the message queuing node is ready for communication in the message queuing network, where each message includes the destination node's globally unique identifier and the node's current network address. | 12-09-2010 |
20120134370 | ASYNCHRONOUS COMMUNICATION IN AN UNSTABLE NETWORK - Embodiments are directed to promptly reestablishing communication between nodes in a dynamic computer network and dynamically maintaining an address list in an unstable network. A computer system sends a message to other message queuing nodes in a network, where each node in the message queuing network includes a corresponding persistent unique global identifier. The computer system maintains a list of unique global identifiers and the current network addresses of those network nodes from which the message queuing node has received a message or to which the message queuing node has sent a message. The computer system goes offline for a period of time and upon coming back online, sends an announcement message to each node maintained in the list indicating that the message queuing node is ready for communication in the message queuing network, where each message includes the destination node's globally unique identifier and the node's current network address. | 05-31-2012 |
20130244686 | EFFICIENT POWER USAGE IN POSITION TRACKING OPERATIONS - Techniques and tools for reducing power consumption of computing devices (e.g., mobile devices such as mobile phones and tablet computers) that perform position tracking operations are described. In described examples, a low-power processor calculates (e.g., in real time) position information (e.g., GPS position fixes) based on information received from a positioning system (e.g., GPS) and stores the position information for later use in a buffer associated with the low-power processor (e.g., in storage on the low-power processor). Described examples allow position information to be calculated in real time and stored while the device is in a low-power state, and can be used with location-based applications that do not require position information to be delivered to the application in real time. | 09-19-2013 |
20140114564 | MOBILE NAVIGATION TO A MOVING DESTINATION - A source device can navigate towards a moving destination target device, such as when two mobile phones are moving towards each other. The source device can receive an initial position of the target and a route to the target. As the source device and target device simultaneously move, the route can be updated. For example, if a distance of movement exceeds a threshold (e.g., 1 mile) the route can be updated. In another embodiment, a target device can switch between position tracking devices so as to provide less accurate position information, but save power, or provide high accuracy position information at the cost of higher power consumption. Generally, the switching between position tracking devices and the frequency at which the route to the destination point can be based on the distance apart between the source device and target device. | 04-24-2014 |
20140370909 | REDUCED POWER LOCATION DETERMINATIONS FOR DETECTING GEO-FENCES - Various different areas of interest are identified, these areas being geographic areas that are also referred to as geo-fences. Whether a computing device is in a geo-fence can be determined based on the location of the geo-fence and the location of the computing device. The location of a computing device can be determined using various different location determination techniques, such as wireless networking triangulation, cellular positioning, Global Navigation Satellite System positioning, network address positioning, and so forth. Various power saving techniques are implemented to determine which techniques are used and when such techniques are used to reduce power consumption in the computing device. | 12-18-2014 |
20140370910 | DETECTING GEO-FENCE EVENTS USING VARYING CONFIDENCE LEVELS - The location of a computing device is determined, and the location of an area of interest that is a geographic area referred to as a geo-fence is identified. The accuracy of the determined location of the computing device has an associated uncertainty, so the exact position of the computing device cannot typically be pinpointed. In light of this, the uncertainty associated with the determined location is evaluated relative to the size of the geo-fence in order to determine whether the computing device is inside the geo-fence or outside the geo-fence. Based on this determination, various actions can be taken if the user is entering the geo-fence, exiting the geo-fence, remaining in the geo-fence for at least a threshold amount of time, and so forth. | 12-18-2014 |
20140370911 | COALESCING GEO-FENCE EVENTS - A device location is determined, and the location of an area of interest that is a geographic area referred to as a geo-fence is identified. Multiple geo-fences can be identified by the device, and different geo-fences can be associated with different programs on the device. An operating system of the device implements multiple different periods of operation for the device, including a conservation period during which certain programs are not typically scheduled to run, and an execution period during which such programs are typically scheduled to run. A system identifies geo-fence events, which occur when the device enters or exits the geo-fence. The system maintains a record of the geo-fence events for each of multiple geo-fences, and provides to a program selected ones of those geo-fence events at a time when the program is scheduled to run on the device during an execution period of the operating system. | 12-18-2014 |