Abstract:
The described embodiments perform operations to enable access to services provided by applications executing on service providing devices by applications executing in service requesting devices. In the described embodiments, a service providing device executes a “dispatcher” system service that performs operations for interfacing between service-providing applications and service requesting devices. For example, the dispatcher application performs operations for advertising the availability of services on the service providing device and for proxying communication between the service and service requesting devices. In addition, service requesting devices execute a “forwarder” system service that performs operations for interfacing between service-requesting applications and service providing devices. For example, the forwarder application performs operations for recognizing when applications are to access services, selecting an available service for an application to access, and for proxying communication between the application and a service providing device.
Abstract:
Techniques are disclosed for regulating a flow of requests from a client device to a server. The techniques include the step of receiving, from an application program executing on the client device, a request to perform an operation on the server. The client device determines a current budget value based upon an initial budget value, where the current budget value is reduced by a particular cost each time the server processes a request generated by the application program. The client device then determines a time-adjusted budget value based upon a sum of the current budget value and a regeneration value. Finally, the client device sends to the server the request to perform the operation only when the time-adjusted budget value exceeds a threshold value.
Abstract:
Gateway devices maintain presence information for various mobile devices. Each gateway is associated with a zone and manages presence information only for mobile devices associated with that zone. Courier devices back-propagate presence information for the mobile devices to respective gateways based at least on the respective zone associated with each mobile device. The gateways and couriers are dynamically configured such that messages can be pushed from a provider application to a mobile device via any gateway and any courier.
Abstract:
Gateway devices maintain presence information for various mobile devices. Each gateway is associated with a zone and manages presence information only for mobile devices associated with that zone. Courier devices back-propagate presence information for the mobile devices to respective gateways based at least on the respective zone associated with each mobile device. The gateways and couriers are dynamically configured such that messages can be pushed from a provider application to a mobile device via any gateway and any courier.
Abstract:
Techniques are disclosed for regulating a flow of requests from a client device to a server. The techniques include the step of receiving, from an application program executing on the client device, a request to perform an operation on the server. The client device determines a current budget value based upon an initial budget value, where the current budget value is reduced by a particular cost each time the server processes a request generated by the application program. The client device then determines a time-adjusted budget value based upon a sum of the current budget value and a regeneration value. Finally, the client device sends to the server the request to perform the operation only when the time-adjusted budget value exceeds a threshold value.
Abstract:
The described embodiments perform operations to enable access to services provided by applications executing on service providing devices by applications executing in service requesting devices. In the described embodiments, a service providing device executes a “dispatcher” system service that performs operations for interfacing between service-providing applications and service requesting devices. For example, the dispatcher application performs operations for advertising the availability of services on the service providing device and for proxying communication between the service and service requesting devices. In addition, service requesting devices execute a “forwarder” system service that performs operations for interfacing between service-requesting applications and service providing devices. For example, the forwarder application performs operations for recognizing when applications are to access services, selecting an available service for an application to access, and for proxying communication between the application and a service providing device.