Patent ID: 8201082
Filing Date: 2012-06-12
Classification: G06F

Abstract:
1. A computer system operable to dynamically generate documents in response to document requests received from user computing devices, the computer system comprising: one or more processors; and a document generation process executed by said one or more processors, said document generation process comprising a first thread and a second thread that interoperate with each other to dynamically generate requested documents, said first thread and second thread operable to remain persistent over multiple document requests, and operable to communicate with each other using a shared memory location of the computer system; wherein the first thread is responsive to a request for a document by using a document template to generate data requests such that multiple data requests are pending concurrently, and is operable to incorporate responses to said data requests into the requested document according to the document template, said first thread operable to enter into a blocked state when a response to a pending data request is needed to continue generating the requested document; wherein the second thread is responsive to said data requests generated by the first thread by generating service requests that are sent by the computer system on a network to corresponding services such that multiple service requests are processed in parallel by the services, and the second thread is capable of responding to receipt of a service request response by unblocking the first thread to enable the first thread to use requested data included in the service request response to continue generating the requested document; wherein the second thread is operable to combine at least a first service request that corresponds to a first service with a second service request that corresponds to a second service to generate a combined service request that is sent on a network to the first and second services, such that network traffic is reduced in comparison to network traffic associated with sending the first and second service requests separately, and wherein the computer system is programmed to send the combined service request on the network as a publish-subscribe message using a subject to which both the first service and the second service subscribe.