A method and apparatus for parallel processing of remote procedure call (RPC) requests from clients includes placing the remote procedure call requests in a queue and storing them in a memory. A response is immediately returned to the client indicating receipt of the processing request. The RPC requests are retrieved from the queue and processed in parallel. Notification of the completed processing is provided to a notification client. In the event of a server fault or system failure, the processing requests are retrieved from the memory upon system restoration, and replaced into the queue in the order they were received by the server.
A single thread program of a different process is called for execution from a multi-thread program capable of executing a plurality of threads in parallel. When first calling the single thread program from one specific thread of the multi-thread program and running the same, the sole call only thread for calling the single thread program is generated for use.
The present invention is directed to synchronizing notification messages transmitted to egress control units to allow an even distribution of the messages. A plurality of packet buffer units (PBUs) may concurrently transmit notification messages to a particular egress control unit in response to packets received from a plurality of ingress control units. Each PBU includes a notification queue associated with the egress control unit for storing notifications generated by the PBU. Notifications in the notification queues are ordered according to the ingress units triggering the notifications. Notifications in each notification queue are retrieved via a time-driven pointer that is initialized to a different start entry position for the notification queues in each PBU. This allows each PBU to transmit, at any given time, notifications to the egress control unit that are associated with a different ingress unit. The receiving egress control unit maintains a plurality of memory units for concurrently storing of a portion of the received notification messages based on their associated ingress input units.
A dynamic information retrieval service is provided that can be configured to retrieve entitlement information from a plurality of providers. Any application that requires entitlement data may make a request for that information to the dynamic information retrieval service using a single standard interface. A request includes information describing the identity of the user and a list of names representing the entitlement data that are required. The dynamic information retrieval service determines the appropriate provider for the entitlement information, retrieves the entitlement data, and returns the requested entitlement data to the application. The dynamic information retrieval service may also cache the entitlement data. The dynamic information retrieval service may process requests requiring several distinct items of entitlement data to be retrieved in parallel. Therefore, applications may send a single request for entitlement data for a single user, but for several providers.
Methods, systems and computer program products are provided for monitoring a task executing on a data processing system, the task having an associated work in process queue and an associated work pending queue. The task is configured to properly execute requests that are terminated in progress and restarted from an initial start point. A watchdog task determines if the task is executing properly and restarts the task if it is not executing properly. Restarting is provided by placing requests in the work in process queue of the terminated task in the work pending queue and clearing the work in process queue. Execution by the task of requests from the work pending queue is then reinitiated.
Apparatus and a method for communicating media over a network including encoding the media into a server database at a server, downloading from the server database to a client database generally only those portions of the media which are necessary to satisfy user requests and in response to a user request for a given item of media, determining whether the media is present in the client database, and if not, automatically downloading those portions of the media which are necessary to supply the user with the given item of media from the server database. An image server is provided including at least one processor operative to supply portions of image data to clients in response to multiple requests therefrom, and thread management software operating the at least one processor by causing it to process the requests using at least one of a plurality of threads, the thread management software being characterized in that it initiates a new thread when an existing thread has exceeded a predetermined metric of busyness.