Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A method comprising: receiving, by a web server device, a message containing a plurality of asynchronous requests for web content, wherein the plurality of asynchronous requests is received from a client device that was provided with a web document from which the web content is at least in part derivable; sorting, by the web server device, the plurality of asynchronous requests into an ordering based on respective estimated execution times of the plurality of asynchronous requests, wherein the ordering is from least estimated execution time to greatest estimated execution time; processing, by the web server device, the plurality of asynchronous requests as ordered until a predetermined amount of time measured from a beginning of the processing has expired; and transmitting, by the web server device and to the client device, results associated with one or more processed asynchronous requests of the plurality of asynchronous requests that were processed within the predetermined amount of time, wherein any remaining asynchronous requests not processed during the predetermined amount of time are processed during a subsequent predetermined amount of time.
2. The method of claim 1 , comprising: prior to receiving the message containing the plurality of asynchronous requests, recording, in a memory of the web server device, an execution time for a past asynchronous request, wherein the execution time begins when the web server device began processing the past asynchronous request and ended when the web server device obtained a result associated with the past asynchronous request, and wherein the respective estimated execution times are based on the recorded execution time.
This invention relates to optimizing the processing of asynchronous requests in a web server system. The problem addressed is the inefficiency in handling multiple asynchronous requests, particularly when execution times vary unpredictably, leading to delays or resource mismanagement. The method involves a web server device that processes a message containing multiple asynchronous requests. Before receiving such a message, the web server records the execution time of a past asynchronous request in its memory. This recorded time spans from when the server began processing the request until it obtained the result. The recorded execution time is then used to estimate execution times for subsequent requests, improving scheduling and resource allocation. Additionally, the method includes generating a response message containing results for the asynchronous requests. If a request fails, the response includes an error code and a retry indicator, allowing the client to resend the request. The retry indicator may specify a delay period before retrying, ensuring efficient retry attempts without overwhelming the server. The system also tracks the number of retries for each request, preventing excessive retry attempts. If a request exceeds a retry limit, the server generates an error response without further processing. This approach enhances reliability and performance in handling asynchronous requests in web server environments.
3. The method of claim 1 , wherein an asynchronous request of the plurality of asynchronous requests comprises a type, the method comprising: maintaining, in a memory of the web server device, a history of execution times for past asynchronous requests of the type; and determining the respective estimated execution time for a subset of the plurality of asynchronous requests based on the history of execution times for past asynchronous requests of the type.
This invention relates to optimizing the handling of asynchronous requests in a web server system. The problem addressed is the inefficient processing of asynchronous requests, which can lead to delays and resource waste when requests of similar types are processed without leveraging historical performance data. The method involves tracking and utilizing execution times of past asynchronous requests to estimate and optimize the processing of future requests. Specifically, the system maintains a history of execution times for past requests of a particular type in the web server's memory. When new asynchronous requests are received, the system determines the estimated execution time for a subset of these requests by referencing the stored history of past requests of the same type. This allows the system to prioritize or allocate resources more effectively based on historical performance data, improving efficiency and reducing delays. The approach ensures that the web server can dynamically adjust to varying workloads by leveraging past execution patterns, thereby enhancing overall system performance. The method applies to any web server handling multiple asynchronous requests, particularly where request types share similar processing characteristics.
4. The method of claim 3 , wherein the history includes an average execution time for the type of asynchronous request, and wherein determining the respective estimated execution time for a subset of the plurality of asynchronous request comprises determining the respective estimated execution time to be the average execution time for the type of asynchronous request.
This invention relates to optimizing the execution of asynchronous requests in a computing system, particularly where multiple such requests are processed concurrently. The problem addressed is the inefficient handling of asynchronous requests due to lack of predictive execution time estimates, leading to suboptimal resource allocation and performance bottlenecks. The method involves tracking historical execution data for asynchronous requests, including an average execution time for each type of request. When processing a subset of asynchronous requests, the system determines an estimated execution time for each request by referencing the precomputed average execution time for its corresponding request type. This allows the system to prioritize, schedule, or allocate resources more effectively based on predictable execution durations. The historical data may be continuously updated as new requests are processed, ensuring the average execution times remain accurate over time. By leveraging this historical data, the system avoids the computational overhead of dynamically calculating execution times for each request, improving overall efficiency. The approach is particularly useful in high-throughput environments where rapid decision-making is critical.
5. The method of claim 4 , comprising: measuring an execution time for the asynchronous request; and based on the measured execution time for the asynchronous request, determining an update to the average execution time for the type of asynchronous request.
This invention relates to optimizing the handling of asynchronous requests in a computing system, particularly focusing on improving performance by dynamically adjusting execution time estimates. The problem addressed is the inefficiency in systems that rely on static or outdated execution time estimates for asynchronous requests, leading to suboptimal resource allocation and scheduling delays. The method involves measuring the actual execution time of an asynchronous request as it is processed. This measured time is then used to update an average execution time value associated with the specific type of asynchronous request. By continuously refining this average based on real-time measurements, the system can more accurately predict future execution times, enabling better load balancing, resource allocation, and scheduling decisions. The approach ensures that the system adapts to changing conditions, such as varying workloads or system performance fluctuations, without manual intervention. The method may also include tracking multiple asynchronous requests of the same type to refine the average execution time further, ensuring robustness against outliers or temporary performance variations. This dynamic adjustment mechanism enhances system efficiency by reducing wait times and improving overall throughput. The invention is particularly useful in distributed systems, cloud computing environments, and applications requiring high concurrency and low-latency responses.
6. The method of claim 1 , wherein processing the plurality of asynchronous requests as ordered comprises: transmitting, by the web server device and to a database device, the message comprising the plurality of asynchronous requests as ordered; and receiving, by the web server device and from the database device, a response message comprising the results associated with the plurality of asynchronous requests.
This invention relates to a method for processing asynchronous requests in a web server system to ensure ordered execution and response handling. The problem addressed is the need to maintain request order when processing multiple asynchronous database queries, which is critical for applications requiring sequential data operations, such as financial transactions or multi-step workflows. The method involves a web server device receiving a plurality of asynchronous requests from a client device, where these requests are intended for a database device. The web server processes these requests to determine their execution order, ensuring dependencies or sequence requirements are met. The ordered requests are then transmitted to the database device in a single message, which processes them in the specified sequence. The database device generates results for each request and returns them in a response message to the web server, which then forwards the results to the client device. This approach improves efficiency by reducing round-trip communication between the web server and database while maintaining the integrity of ordered operations. It is particularly useful in systems where request sequencing is essential, such as in transactional applications or real-time data processing environments. The method ensures that responses are received in the same order as the original requests, preventing inconsistencies that could arise from out-of-order processing.
7. The method of claim 1 , wherein the message comprises a first message, and wherein the plurality of asynchronous requests comprises a first plurality of asynchronous requests, the method comprising: receiving, from the client device, a second message containing a second plurality of asynchronous requests for web content.
This invention relates to systems for processing asynchronous requests for web content from client devices. The problem addressed is the inefficiency in handling multiple asynchronous requests, particularly when a client device sends multiple messages containing such requests, leading to delays and resource overhead. The method involves receiving a first message from a client device, where the message contains a first set of asynchronous requests for web content. The system processes these requests to retrieve the requested content. Subsequently, the system receives a second message from the same client device, which contains a second set of asynchronous requests for additional web content. The system processes these subsequent requests independently of the first set, ensuring that the client device can dynamically request additional content without waiting for prior requests to complete. This approach optimizes resource usage and reduces latency by allowing parallel processing of multiple request batches. The method may also include prioritizing or sequencing the requests based on factors such as urgency, content type, or network conditions. The system ensures that the client device receives the requested content in a timely manner while efficiently managing server resources. This technique is particularly useful in web applications where dynamic content loading is required, such as single-page applications or real-time data feeds.
8. The method of claim 7 , wherein the second message comprises any remaining asynchronous requests not processed during the predetermined amount of time by the web server device.
A system and method for managing asynchronous requests in a web server environment addresses the challenge of efficiently processing multiple asynchronous requests while minimizing latency and resource consumption. The invention involves a web server device that receives and processes asynchronous requests from client devices. The method includes a first phase where the web server processes a subset of these requests within a predetermined time window. If any requests remain unprocessed after this time, they are consolidated into a second message. This second message, containing the unprocessed requests, is then transmitted to the client device for further handling. The system ensures that all asynchronous requests are eventually processed, either directly by the web server or through subsequent client-side actions, thereby improving overall system efficiency and responsiveness. The method may also include additional steps such as prioritizing requests, validating request data, or adjusting the predetermined time window based on server load or network conditions. The invention is particularly useful in high-traffic web applications where timely processing of asynchronous requests is critical for user experience and system performance.
9. A computing system comprising: one or more processors; memory storing web content; and program instructions, stored in the memory, that upon execution by the one or more processors cause the computing system to perform operations comprising: receiving a message containing a plurality of asynchronous requests for the web content, wherein the plurality of asynchronous requests is received from a client device that was provided with a web document from which the web content is at least in part derivable; sorting the plurality of asynchronous requests into an ordering based on respective estimated execution times of the plurality of asynchronous requests, wherein the ordering is from least estimated execution time to greatest estimated execution time; processing the plurality of asynchronous requests as ordered until a predetermined amount of time measured from a beginning of the processing has expired; and transmitting, to the client device, results associated with one or more processed asynchronous requests of the plurality of asynchronous requests that were processed within the predetermined amount of time, wherein any remaining asynchronous requests not processed during the predetermined amount of time are processed during a subsequent predetermined amount of time.
A computing system optimizes the handling of asynchronous web content requests to improve performance and responsiveness. The system includes processors, memory storing web content, and program instructions that manage the processing of multiple asynchronous requests from a client device. These requests are derived from a web document provided to the client. The system sorts the requests based on their estimated execution times, prioritizing those with the shortest estimated times. It then processes the requests in this order until a predefined time limit is reached. Results from the processed requests are transmitted to the client, while any remaining requests are deferred for processing in a subsequent time interval. This approach ensures that the most time-efficient requests are completed first, enhancing the user experience by delivering partial results quickly while deferring more time-consuming tasks. The system dynamically adjusts to varying request loads and execution times, optimizing resource utilization and reducing perceived latency.
10. The computing system of claim 9 , the operations comprising: prior to receiving the message containing the plurality of asynchronous requests, recording, in the memory, an execution time for a past asynchronous request, wherein the execution time begins when a web server device began processing the past asynchronous request and ended when the web server device obtained a result associated with the past asynchronous request, and wherein the respective estimated execution times are based on the recorded execution time.
A computing system optimizes the processing of asynchronous requests in a web server environment. The system addresses inefficiencies in handling multiple asynchronous requests, where delays or bottlenecks can occur due to unpredictable execution times. The system records the execution time of past asynchronous requests, tracking the duration from when the web server begins processing a request until it obtains the result. This recorded execution time is used to estimate future execution times for similar requests, improving resource allocation and response time management. The system dynamically adjusts processing based on these estimates, ensuring efficient handling of concurrent requests. By leveraging historical data, the system reduces latency and enhances overall system performance in web server applications. The approach is particularly useful in high-traffic environments where request processing times vary significantly.
11. The computing system of claim 9 , wherein an asynchronous request of the plurality of asynchronous requests comprises a type, the operations further comprising: maintaining, in the memory, a history of execution times for past asynchronous requests of the type; and determining the respective estimated execution time for a subset of the plurality of asynchronous requests based on the history of execution times for past asynchronous requests of the type.
A computing system optimizes the processing of asynchronous requests by estimating execution times to improve resource allocation and scheduling. The system receives multiple asynchronous requests, each having a specific type, and processes them in parallel. To enhance efficiency, the system maintains a history of execution times for past requests of each type in memory. When processing new requests, the system determines estimated execution times for a subset of the requests by analyzing the historical data for their respective types. This allows the system to prioritize or schedule requests more effectively based on predicted execution durations, reducing latency and improving overall system performance. The historical data enables the system to adapt to varying workloads and request patterns, ensuring better resource utilization. The system may also adjust scheduling strategies dynamically based on the estimated execution times to balance load and prevent bottlenecks. This approach is particularly useful in environments where request processing times vary significantly by type, such as in distributed computing or cloud-based applications.
12. The computing system of claim 9 , wherein processing the plurality of asynchronous requests as ordered comprises: transmitting, to a database device, the message comprising the plurality of asynchronous requests as ordered; and receiving, from the database device, a response message comprising the results associated with the plurality of asynchronous requests.
This invention relates to computing systems that process asynchronous database requests in a specific order. The problem addressed is ensuring that multiple asynchronous requests to a database are executed in a predefined sequence, which is critical for maintaining data consistency and correctness in applications where operations must follow a strict order. The system includes a computing device that receives a plurality of asynchronous requests from a client application, where these requests are intended for a database device. The computing device processes these requests by ordering them according to predefined criteria, such as priority or dependency, before transmitting them to the database. The database device then executes the ordered requests and returns the results in a response message. This ensures that the database operations are performed in the correct sequence, preventing issues like race conditions or inconsistent data states. The system may also include mechanisms to track the status of each request and handle failures or retries if necessary. The invention is particularly useful in distributed systems, financial transactions, or any application requiring strict ordering of database operations.
13. The computing system of claim 9 , wherein the message comprises a first message, and wherein the plurality of asynchronous requests comprises a first plurality of asynchronous requests, the operations further comprising: receiving, from the client device, a second message containing a second plurality of asynchronous requests for web content.
A computing system processes asynchronous requests for web content from a client device. The system receives a first message containing a first set of asynchronous requests for web content and processes these requests to retrieve the requested content. The system then receives a second message from the same client device, which contains a second set of asynchronous requests for additional web content. The system processes these subsequent requests independently of the first set, allowing for parallel or sequential handling of multiple batches of asynchronous requests. This approach enables efficient retrieval of web content in response to multiple requests from a client, improving performance and responsiveness. The system may prioritize, batch, or otherwise manage the requests to optimize resource usage and reduce latency. The invention addresses the challenge of handling multiple asynchronous requests in a scalable and efficient manner, particularly in web-based applications where content retrieval must be fast and reliable. The system ensures that requests are processed without unnecessary delays, enhancing the user experience by providing timely access to requested web content.
14. The computing system of claim 13 , wherein the second message comprises any remaining asynchronous requests not processed during the predetermined amount of time by a web server device.
A computing system is designed to manage asynchronous requests in a web server environment. The system addresses the problem of efficiently handling multiple asynchronous requests that may not be fully processed within a predetermined timeframe. The system includes a web server device that processes asynchronous requests and generates a first message containing processed requests. If some requests remain unprocessed after the predetermined time, the web server device generates a second message containing the remaining requests. This second message is then transmitted to a client device, allowing the client to track or retry the unprocessed requests. The system ensures that all asynchronous requests are accounted for, even if processing is incomplete within the expected time. The web server device may also include a request processing module to handle the requests and a message generation module to create the first and second messages. The client device receives and processes these messages to manage the asynchronous requests effectively. This approach improves request tracking and ensures no requests are lost during processing delays.
15. Non-transitory and computer-readable medium storing processor-executable instructions thereon that, when executed, cause a processor to: receive a message containing a plurality of asynchronous requests for web content, wherein the plurality of asynchronous requests is received from a client device that was provided with a web document from which the web content is at least in part derivable; sort the plurality of asynchronous requests into an ordering based on respective estimated execution times of the plurality of asynchronous requests, wherein the ordering is from least estimated execution time to greatest estimated execution time; process the plurality of asynchronous requests as ordered until a predetermined amount of time measured from a beginning of the processing has expired; and transmit, to the client device, results associated with one or more processed asynchronous requests of the plurality of asynchronous requests that were processed within the predetermined amount of time, wherein any remaining asynchronous requests not processed during the predetermined amount of time are processed during a subsequent predetermined amount of time.
A system optimizes the handling of asynchronous web content requests from a client device to improve performance. When a client device receives a web document, it may generate multiple asynchronous requests for additional web content. These requests are received by a server, which estimates the execution time for each request. The server then sorts the requests in ascending order of estimated execution time, prioritizing faster requests. The server processes the requests in this order until a predefined time limit is reached. Results from the processed requests are sent back to the client device. Any remaining unprocessed requests are handled in subsequent time intervals. This approach ensures that faster requests are completed first, improving the perceived performance for the user by delivering partial results quickly while deferring slower requests to later processing cycles. The system dynamically manages request prioritization based on execution time estimates, enhancing efficiency in web content delivery.
16. The non-transitory and computer-readable medium of claim 15 , wherein the instructions cause the processor to prior to receiving the message containing the plurality of asynchronous requests, record an execution time for a past asynchronous request, wherein the execution time begins when a web server device began processing the past asynchronous request and ended when the web server device obtained a result associated with the past asynchronous request, and wherein the respective estimated execution times are based on the recorded execution time.
This invention relates to optimizing the processing of asynchronous requests in web server systems. The problem addressed is the inefficiency in handling multiple asynchronous requests, particularly when execution times vary unpredictably, leading to delays and resource mismanagement. The system includes a web server device configured to process asynchronous requests received from client devices. Before receiving a new set of asynchronous requests, the system records the execution time of a past asynchronous request. This execution time is measured from when the web server began processing the request until it obtained the result. The recorded execution time is then used to estimate execution times for subsequent asynchronous requests, improving scheduling and resource allocation. The system also dynamically adjusts the estimated execution times based on the recorded execution time of the past request, ensuring that the estimates remain accurate over time. This allows the web server to prioritize and process requests more efficiently, reducing latency and improving overall system performance. The recorded execution times may be stored in a data structure, such as a table or database, for reference during future request processing. The system may also include a client device that sends the asynchronous requests to the web server and receives the processed results.
17. The non-transitory and computer-readable medium of claim 15 , wherein an asynchronous request of the plurality of asynchronous requests comprises a type, wherein the instructions cause the processor to: maintain a history of execution times for past asynchronous requests of the type; and determine the respective estimated execution time for a subset of the plurality of asynchronous requests based on the history of execution times for past asynchronous requests of the type.
This invention relates to optimizing the execution of asynchronous requests in a computing system. The problem addressed is the inefficiency in processing multiple asynchronous requests without knowledge of their expected execution times, leading to suboptimal resource allocation and delays. The system involves a non-transitory computer-readable medium storing instructions that, when executed by a processor, manage asynchronous requests. Each request has a type, and the system maintains a history of execution times for past requests of each type. When processing a subset of asynchronous requests, the system determines their respective estimated execution times by analyzing the historical data for requests of the same type. This allows the system to predict execution times more accurately, improving scheduling and resource management. The system may also prioritize requests based on their estimated execution times, ensuring faster processing for time-sensitive tasks. By leveraging historical performance data, the system dynamically adjusts to varying workloads, reducing bottlenecks and enhancing overall system efficiency. This approach is particularly useful in environments where asynchronous operations are frequent, such as web servers, distributed systems, or real-time applications. The invention ensures that resources are allocated more effectively, minimizing idle time and improving throughput.
18. The non-transitory and computer-readable medium of claim 15 , wherein processing the plurality of asynchronous requests as ordered comprises: transmitting, to a database device, the message comprising the plurality of asynchronous requests as ordered; and receiving, from the database device, a response message comprising the results associated with the plurality of asynchronous requests.
This invention relates to systems for processing asynchronous database requests in a specific order. The problem addressed is the need to ensure that multiple asynchronous database requests are executed in a predefined sequence, particularly when the requests are sent to a database device. The solution involves transmitting a message containing the ordered asynchronous requests to the database device and receiving a response message with the results of those requests in the same order. The system ensures that the database processes the requests sequentially, maintaining the intended order of execution. This approach is useful in applications where the sequence of database operations is critical, such as financial transactions, data synchronization, or any scenario requiring strict request ordering. The invention may be implemented in a non-transitory computer-readable medium, such as a storage device or memory, containing instructions for executing the described method. The system may also include additional components, such as a request processing module that organizes the asynchronous requests into the correct order before transmission and a response handling module that processes the results in the expected sequence. The invention improves reliability and consistency in distributed systems where ordered request processing is essential.
19. The non-transitory and computer-readable medium of claim 15 , wherein the message comprises a first message, and wherein the plurality of asynchronous requests comprises a first plurality of asynchronous requests, wherein the instructions cause the processor to: receive, from the client device, a second message containing a second plurality of asynchronous requests for web content.
This invention relates to a system for processing asynchronous requests for web content from a client device. The problem addressed is the efficient handling of multiple asynchronous requests in web-based applications, particularly where requests are grouped or prioritized to optimize performance and resource utilization. The system involves a non-transitory computer-readable medium storing instructions that, when executed by a processor, enable a server to manage asynchronous requests. The server receives a first message from a client device, where the message contains a first set of asynchronous requests for web content. The server processes these requests and may also receive a second message from the same client device, containing a second set of asynchronous requests. The system is designed to handle these requests in a way that improves efficiency, possibly by batching, prioritizing, or optimizing the order of execution. The invention may include additional features such as dynamically adjusting request handling based on network conditions, client device capabilities, or server load. The system ensures that web content is delivered in a timely and organized manner, enhancing user experience and application performance. The solution is particularly useful in environments where multiple asynchronous operations are common, such as modern web applications with dynamic content loading.
Unknown
April 14, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.