US2010250670A1PendingUtilityA1

System and method for stateful web-based computing

Assignee: NEXAWEB TECHNOLOGIES INCPriority: Nov 19, 2003Filed: Jun 14, 2010Published: Sep 30, 2010
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-modified
1 . 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.