IP Library Patent Application 12814954
Patent Application
App. No. 12/814,954

SYSTEM AND METHOD FOR STATEFUL WEB-BASED COMPUTING

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
12/814,954
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 (30)

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.

Assignments (2)
RELEASE OF SECURITY INTEREST Recorded Feb 6, 2014
From: MONTAGE CAPITAL, LLC
To: NEXAWEB TECHNOLOGIES, INC.
Reel/Frame 032165/0958 →
SECURITY AGREEMENT Recorded Aug 9, 2012
From: NEXAWEB TECHNOLOGIES, INC.
To: MONTAGE CAPITAL, LLC
Reel/Frame 028768/0643 →