Abstract:
The adaptive bandwidth throttling system implements a graceful diminution of services to the clients by delaying a first class of services provided by a network server in response to the effective bandwidth utilized by this network server exceeding a first threshold. If the demand for the bandwidth by this network server exceeds a second threshold, the bandwidth throttling system escalates the throttling response and blocks the first class of services from execution and can also concurrently delay execution of a second class of services. The implementation of the throttling process can be varied, to include additional levels of response or finer gradations of the response, to include subsets of a class of services. In addition, the threshold levels of bandwidth used to trigger the throttling response can be selected as desired by the system administrator.
Abstract:
A server architecture has a server program to receive client requests and multiple applications to process the requests. Each application comprises a collection of agents that can be invoked to process the requests and an application manager that manages the collection of agents. The agents within the associated collection are independent from, but dynamically accessible by, the application manager. Depending on the request, the application manager selects one or more agents to generate content to be returned to the client. An application manager director manages the application managers and facilitates delivery of the client requests from the server program to the suitable application. The application managers are independent from, but dynamically accessible by, the application manager director. For a given request, the director selects the appropriate application manager to handle the request. The application manager, in turn, selects the appropriate agent to process the request. The applications, including the agents and associated application managers, can be run either in-process or out-of-process with the server program. The server architecture has a detection and recovery subsystem that detects when an out-of-process application crashes and then recovers the application from that crash. The subsystem logs requests when they are passed to the out-of-process application, and remove the requests from the log when responses to the requests are returned from the application. If the out-of-process application crashes while one or more requests are outstanding, those requests remain listed on the log and thus readily identifiable. During recovery, the subsystem cleans up the outstanding requests until the log is cleared. Thereafter, the subsystem restarts the failed application to restore the service.
Abstract:
A server architecture has a server program to receive client requests and multiple applications to process the requests. Each application comprises a collection of agents that can be invoked to process the requests and an application manager that manages the collection of agents. The agents within the associated collection are independent from, but dynamically accessible by, the application manager. Depending on the request, the application manager selects one or more agents to generate content to be returned to the client. An application manager director manages the application managers and facilitates delivery of the client requests from the server program to the suitable application. The application managers are independent from, but dynamically accessible by, the application manager director. For a given request, the director selects the appropriate application manager to handle the request. The application manager, in turn, selects the appropriate agent to process the request. The director can be implemented as part of the server program. The applications, including the agents and associated application managers, can be run either in-process or out-of-process with the server program.
Abstract:
An apparatus and method for a framework exposing an API (application programming interface) to web-based server applications on the internet or in the cloud is presented. The API allows server applications to retrieve sensor data from a mobile device via a low-power sensor core processor on a mobile device. This API eliminates effort and cost associated with developing and promoting a new mobile device client application. The API framework includes APIs that web-based application may use to fetch sensor data from one or more particular sensors on the mobile device.
Abstract:
Reference free tracking of position by a mobile platform is performed using images of a planar surface. Tracking is performed optical flow techniques, such as pyramidal Lucas-Kanade optical flow with multiple levels of resolution, where displacement is determined with pixel accuracy at lower resolutions and at sub-pixel accuracy at full resolution, which improves computation time for real time performance. Periodic drift correction is performed by matching features between a current frame and a keyframe. The keyframe may be replaced with the drift corrected current image.
Abstract:
A mobile platform efficiently processes sensor data, including image data, using distributed processing in which latency sensitive operations are performed on the mobile platform, while latency insensitive, but computationally intensive operations are performed on a remote server. The mobile platform acquires sensor data, such as image data, and determines whether there is a trigger event to transmit the sensor data to the server. The trigger event may be a change in the sensor data relative to previously acquired sensor data, e.g., a scene change in an image. When a change is present, the sensor data may be transmitted to the server for processing. The server processes the sensor data and returns information related to the sensor data, such as identification of an object in an image or a reference image or model. The mobile platform may then perform reference based tracking using the identified object or reference image or model.
Abstract:
Loyalty offer techniques are described. In one or more implementations, data is received from a plurality of merchants via a network, the data describing transactions for goods or services initiated at physical locations of respective said merchants and including identifiers that uniquely identify mobile communication devices that were used to initiate the transactions. Information is updated that describes participation in one or more loyalty offers associated with the plurality of merchants using the identifiers that uniquely identify the mobile communication devices and the data that describes the transactions.
Abstract:
A method and a processing device may be provided for creating a shadow database, having a size being approximately a desired percentage of a size of a relational database. Referential integrity of tables of the relational database may be preserved in the created shadow database. A representation of a connected graph may be created, based on a schema description of the relational database, and may be used to find driving tables and related tables of the relational database. Portions of driving tables of the relational database may be copied to corresponding tables of the shadow database and rows of tables of the relational database, related to the copied portions of the driving tables, may be copied to corresponding tables of the shadow database in a number of iterations until the size of the shadow database is approximately the desired percentage of the size of the relational database.
Abstract:
Methods and devices for encoding and interleaving data packets for broadcast and for de-interleaving and decoding data packets in a communication system eliminate detrimental biasing effects by using pseudo-random M-sequence bit encoding as part of the turbo encoding and decoding. The use of pseudo-random M-sequence bit encoding mitigates biasing effects that may otherwise be introduced if conventional r-c interleaving is applied to long turbo encoded data which would degrade reception in the presence of broadcast interference.
Abstract:
The present invention relates to a system and methodology providing an automated and dynamically responsive infrastructure to support online subscription services. The system includes one or more components to coordinate and manage a plurality of services offered by multiple service providers. This can include automatically creating and managing billing accounts for customers subscribing to such services. At least one engine is provided to process multiple rules in response to subscription events that occur in connection with the services in order to facilitate service delivery. At least one rating processor is provided to process multiple rating rules in response to subscription events for currency and non-currency resources.