US2010250670A1PendingUtilityA1
System and method for stateful web-based computing
Est. expiryNov 19, 2023(expired)· nominal 20-yr term from priority
Inventors:Coach K. Wei
H04L 67/02G06F 40/154H04L 67/142G06F 16/84H04L 67/14G06F 40/143
45
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A system for performing ‘server-push” of information from a server to a client machine for a Java Servlet based web application via a request/response communication cycle includes an application server having a Java Servlet Engine for running the Java Servlet based web application, a push Servlet and a push Application Program Interface (API). The push Servlet maintains open a network connection from the server to the client machine and the Java Servlet based web application calls the push API to push information from the server to the client machine.
Claims
exact text as granted — not AI-modified1 . A method for performing ‘server-push” of information from a server to a client machine for a Java Servlet based web application via a request/response communication cycle comprising:
providing an application server having a Java Servlet Engine for running said Java Servlet based web application; providing a push Servlet and a push Application Program Interface (API) wherein said push Servlet maintains open a network connection from said server to said client machine; and wherein said Java Servlet based web application calls said push API to push information from said server to said client machine.
2 . The method of claim 1 wherein said push API comprises means for sending “push messages”, means for checking “push connection” status, means for ending “push connection”, means for starting “push connection” and means for exiting ‘wait’ mode of said push Servlet.
3 . The method of claim 1 wherein said server receives a request from said client machine for receiving one or more “push messages” and said Java Servlet Engine creates a ServletRequest object and a ServletResponse object, enters said request into said ServletRequest and calls said push Servlet to process said request within a first thread.
4 . The method of claim 3 wherein said push Servlet gains control of said first thread execution, holds onto said Servlet Request and said Servlet Response objects and waits for said one or more “push messages” without returning control back to said Java Servlet Engine.
5 . The method of claim 3 wherein said Java Servlet based web application calls said push API to send said one or more “push messages” in separate threads.
6 . The method of claim 5 wherein said push API upon receiving said send said one or more “push messages”, wakes up said push Servlet from a “wait” mode and said push Servlet writes said one or more “push messages” to said ServletResponse object and flushes them to said client machine and then waits for further “push messages”.
7 . The method of claim 1 wherein said push Servlet maintain open said network connection from said server to said client machine by sending a response having a header instructing said client machine not to close said network connection until a certain condition.
8 . The method of claim 7 wherein said header comprises a “Content-type” header field indicating that said response is a “multipart” mime-type response and said certain condition comprises an end of said “multipart” mime-type response
9 . The method of claim 8 wherein said header comprises a “Transfer-encoding” header field indicating that said response is “chunked” and said certain condition comprises an end of said “chunked” response.
10 . The method of claim 9 wherein said header comprises a “Content-length” header field indicating that said response's content length is a number that is bigger than a sum of all content lengths of said push messages, and said certain condition comprises a total number of bytes to be delivered equals or exceeds said number.
11 . The method of claim 5 wherein said Java Servlet based web application calls said push API to “end push messages” upon occurrence of a certain external event and wherein said API upon receiving said “end push messages” notifies said push Servlet and said push Servlet writes “end push messages” to said ServletResponse object, flushes it out to the client machine and returns control of said first thread execution back to said Java Servlet Engine.
12 . The method of claim 11 wherein said Java Servlet Engine finishes said request/response cycle.
13 . A system for performing ‘server-push” of information from a server to a client machine for a Java Servlet based web application via a request/response communication cycle comprising:
an application server having a Java Servlet Engine for running said Java Servlet based web application; a push Servlet and a push Application Program Interface (API), wherein said push Servlet maintains open persistent connections from said server to said client machine; and wherein said Java Servlet based web application calls said push API to push information from said server to said client machine.
14 . The system of claim 13 wherein said push API comprises means for sending “push messages”, means for checking “push connection” status, means for ending “push connection”, means for starting “push connection” and means for exiting ‘wait’ mode of said push Servlet.
15 . The system of claim 13 wherein said server receives a request from said client machine for receiving one or more “push messages” and said Java Servlet Engine creates a ServletRequest object and a ServletResponse object, enters said request into said ServletRequest and calls said push Servlet to process said request within a first thread.
16 . The system of claim 15 wherein said push Servlet gains control of said first thread execution, holds onto said Servlet Request and said Servlet Response objects and waits for said one or more “push messages” without returning control back to said Java Servlet Engine.
17 . The system of claim 16 wherein said Java Servlet based web application calls said push API to send said one or more “push messages” in separate threads.
18 . The system of claim 17 wherein said push API upon receiving said send said one or more “push messages”, wakes up said push Servlet from a “wait” mode and said push Servlet writes said one or more “push messages” to said ServletResponse object and flushes them to said client machine and then waits for further “push messages”.
19 . The system of claim 13 wherein said push Servlet maintains open said network connection from said server to said client machine by sending a response having a header instructing said client machine not to close said network connection until a certain condition is met.
20 . The system of claim 19 wherein said header comprises a “Content-type” header field indicating that said response is a “multipart” mime-type response and said certain condition comprises an end of said “multipart” mime-type response
21 . The system of claim 19 wherein said header comprises a “Transfer-encoding” header field indicating that said response is “chunked” and said certain condition comprises an end of said “chunked” response.
22 . The system of claim 19 wherein said header comprises a “Content-length” header field indicating that said response's content length is a number that is bigger than a sum of all content lengths of said push messages, and said certain condition comprises a total number of bytes to be delivered equals or exceeds said number.
23 . The system of claim 18 wherein said Java Servlet based web application calls said push API to “end push messages” upon occurrence of a certain external event and wherein said API upon receiving said “end push messages” notifies said push Servlet and said push Servlet writes “end push messages” to said ServletResponse object, flushes it out to the client machine and returns control of said first thread execution back to said Java Servlet Engine.
24 . The system of claim 13 wherein said Java Servlet Engine finishes said request/response cycle.Join the waitlist — get patent alerts
Track US2010250670A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.