Source: https://patents.google.com/patent/US8819251B1/en
Timestamp: 2019-12-07 22:45:43
Document Index: 586874596

Matched Legal Cases: ['§120', '§120', '§119', 'application No. 60', 'application No. 60', 'application No. 60']

US8819251B1 - Apparatus, system, and method for maintaining a persistent data state on a communications network - Google Patents
US8819251B1
US8819251B1 US13/727,158 US201213727158A US8819251B1 US 8819251 B1 US8819251 B1 US 8819251B1 US 201213727158 A US201213727158 A US 201213727158A US 8819251 B1 US8819251 B1 US 8819251B1
US13/727,158
2012-12-26 Application filed by Priceline com LLC filed Critical Priceline com LLC
2014-03-25 Assigned to PRICELINE.COM INCORPORATED reassignment PRICELINE.COM INCORPORATED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LENZ, CHRISTOPHER, NEDDERMAN, SCOTT, TAYLOR, JONATHAN
2014-03-31 Assigned to PRICELINE.COM LLC reassignment PRICELINE.COM LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PRICELINE.COM INCORPORATED
2014-08-26 Publication of US8819251B1 publication Critical patent/US8819251B1/en
The present application is a continuation of and claims priority under 35 USC §120 to prior application Ser. No. 11/627,332 filed Jan. 25, 2007, which in turn claims priority under 35 USC §120 to prior application Ser. No. 09/707,211 filed Nov. 3, 2000; the present application also claims priority under 35 USC §119 to U.S. provisional application No. 60/177,462, filed Jan. 20, 2000; U.S. provisional application No. 60/178,986, filed Jan. 28, 2000; and U.S. provisional application No. 60/180,074 filed Feb. 3, 2000. The entirety of the aforementioned applications are herein expressly incorporated by reference.
The basic web browsing paradigm presents users with a scrolling page full of text, pictures, and various other forms of information media such as movies and links to other documents. Web browsers allow users to access uniquely identified HTML documents on the web by entering a navigation location in a Universal Resource Locator (URL) and employing HTTP as a transfer protocol to provide and obtain web pages. Typically, a user provides the address of a desired HTML document into a URL (either directly of through the selection of links in an already viewed HTML document).
FIGS. 2A-B illustrate another embodiment of the present invention in the form of a distributed system interacting through a communications network;
A session server controller is configured similarly to the centralized controller of FIG. 1 except it does not require a database, web browser, information server, or user interface. The session server 2109 is stored program code that is executed by the CPU. A session server takes requests from a user interface and provides results to a user interface. The session server may also take system requests. In FIG. 1 the session server is implemented within an information server, however, the session server may also be implemented independently and interact with an information server through provided APIs as illustrated in FIGS. 2 2106 and 2109.
FIG. 3 shows an overview of the basic interaction of the system. The information server 3106 acts as an in-between for: a user interface 3110 on a system, a user interface device 3202, or a web browser 3112 taking requests. The information server can make further requests of a session server 3109 that itself may access one or more databases to access stored session states or other information. Both the information server and the session server may service multiple instances of any of the aforementioned. Also, there may be one or more instances of the session server and/or information server that may severally or jointly interact with one or more information servers 3106. Session servers service information servers. In rum, the information servers and/or session servers may interact and service one or more databases 3113 for various purposes such as, but not limited to: validation rules, session state storage, and electronic commerce (E-commerce) order fulfillment. FIG. 3 shows that the session server and information server may service multiple sources at once, and that the session server and information server may access more than one database. For example, any information server may request a session state from any number of session servers; thus allowing a user's session to be maintained and provided by any number of session servers, thus increasing performance and fault tolerance.
FIG. 6 outlines a persistent session creation system, further describing the creation of a persistent state from FIG. 5. Initially, a web page supporting persistent sessions is requested by a user 6601. The user may make such a request by using a user interface such as a web browser.
Upon generating the user session key, the session server provides the session key 6604. The provision of the user session key may be implemented in any number of standard data processing embodiments such as, but not limited to: sending the user session key directly to the user; providing the user session key to the information server, which may in turn advance it to the user; providing the user session key to the information server, which may in turn bed the session key into a web page for the user. In one embodiment, the key is imbedded into a web page, thus, reducing the number of client-server transfers.
In one embodiment, session data (i.e. session information) includes text entries made into web form fields, (pop-up) menu selections, user interface selections (e.g., check boxes), and or the like. In one embodiment, the session data is saved as HTML, ASCII text, and or the like. In alternative embodiments, the session data may be saved as binary, and or the like formats. Session data may be provided 7706 upon any triggering event to a session server and or local storage. In one embodiment, the session update occurs when selecting a button, e.g., 5503 a of FIG. 5. The button might generated by, contain, and/or be associated with HTML, Javascript, and/or the like, which takes the user entries in a web form, i.e., session data, and sends them to a session server and/or local storage. In another embodiment, a web page may have HTML, Javascript, and or the like embedded within, which periodically executes sending session data updates to a session server and/or local storage.
In an alternative embodiment, the session state may be updated with finer granularity; i.e. the session state may be updated as the user provides information going from web form field to field. The session state information may be updated to any number of facilities such as, but not limited to: memory, cache, file(s) (i.e. cookie(s)), session server(s), information server(s), or like facility. In one embodiment, the session state information is saved to a cookie on the client to minimize client-server transactions. Preferably, a session server will maintain a corresponding time stamped key. Thus, if a transaction takes too long to be submitted, e.g. more than some set amount of time the session server will purge its session key and not allow the updating or posting of a session. This embodiment, although not limiting, is advisable for security reasons.
1. A processor-implemented method of persistent session state maintenance, comprising:
generating, via a processor, a user session including a unique user session identifier and a session storage suitable for storing user session state values;
providing a web form containing a plurality of web form input elements suitable for rendering in a user browser;
receiving an indication that a first web form input element has been updated and a first web form input value;
updating the session storage using the first web form input value;
receiving an indication that a second web form input element has been updated and a second web form input value, wherein the indication that the second web form input element has been updated is created without providing a second web form; and
updating the session storage using the second web form input value.
2. The method of claim 1 wherein the web form containing a plurality of web form input elements is configured for streaming web form input element updates.
3. The method of claim 1, wherein the indication that the first or second web form input element has been updated is generated when a user changes web form input element focus.
4. The method of claim 1, wherein the indication that the first or second web form input element has been updated is generated upon the traversal of a web form segment.
5. The method of claim 1, wherein the first or second web form input element is a text box suitable for user text input.
6. The method of claim 1, wherein the first or second web form input element is a checkbox.
7. The method of claim 1, wherein the first or second web form input element is a menu selection.
8. The method of claim 1, wherein the first or second web form input element is a user interface selection.
9. A processor-implemented persistent session state maintenance system, comprising:
means to generate, via a processor, a user session including a unique user session identifier and a session storage suitable for storing user session state values;
means to provide a web form containing a plurality of web form input elements suitable for rendering in a user browser;
means to receive an indication that a first web form input element has been updated and a first web form input value;
means to update the session storage using the first web form input value;
means to receive an indication that a second web form input element has been updated and a second web form input value, wherein the indication that the second web form input element has been updated is created without providing a second web form; and
means to update the session storage using the second web form input value.
10. The system of claim 9 wherein the web form containing a plurality of web form input elements is configured for streaming web form input element updates.
11. The system of claim 9, wherein the indication that the first or second web form input element has been updated is generated when a user changes web form input element focus.
12. The system of claim 9, wherein the indication that the first or second web form input element has been updated is generated upon the traversal of a web form segment.
13. The system of claim 9, wherein the first or second web form input element is a text box suitable for user text input.
14. The system of claim 9, wherein the first or second web form input element is a checkbox.
15. The system of claim 9, wherein the first or second web form input element is a menu selection.
16. The system of claim 9, wherein the first or second web form input element is a user interface selection.
17. A processor-implemented method of persistent session state maintenance, comprising:
generating a user session including a unique user session identifier and a session storage suitable for storing user session state values;
receiving an indication that a web form input element has been updated and a first web form input value;
receiving an indication that the web form input element has been updated and a second web form input value; and
updating the session storage using the second web form input value, wherein the session storage retains both the first and second web form input values.
receiving a request to recall a previous value of the web form input element; and
providing the first web form input value.
19. The method of claim 18, wherein each web form input value stored in the session storage is associated with a time designation.
20. The method of claim 19, wherein the request to recall a previous value of the web form input element additionally includes a time designation corresponding to the desired value to retrieve of the web form input element.
21. A processor-implemented method of persistent session state maintenance, comprising:
23. The method of claim 22, wherein each web form input value stored in the session storage is associated with a time designation.
24. The method of claim 23, wherein the request to recall a previous value of the web form input element additionally includes a time designation corresponding to the desired value to retrieve of the web form input element.
US13/727,158 2000-01-20 2012-12-26 Apparatus, system, and method for maintaining a persistent data state on a communications network Expired - Fee Related US8819251B1 (en)
US11/627,332 Continuation US8380856B1 (en) 2000-01-20 2007-01-25 Apparatus, system, and method for maintaining a persistent data state on a communications network
US14/266,780 Continuation US9407673B1 (en) 2000-01-20 2014-04-30 Apparatus, system and method for maintaining a persistent data state on a communications network
US8819251B1 true US8819251B1 (en) 2014-08-26
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:NEDDERMAN, SCOTT;TAYLOR, JONATHAN;LENZ, CHRISTOPHER;REEL/FRAME:032522/0707
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PRICELINE.COM INCORPORATED;REEL/FRAME:032565/0862