The assignee for this patent, patent number 8650478, is
Reporters obtained the following quote from the background information supplied by the inventors: "Electronically published documents are increasingly being made available using a general markup language. A markup language provides indications of structure of the document, but excludes streams of graphic display instructions, which are typically found in formatted documents. Markup languages are more portable between a variety of different machines that may use different graphic display commands. A commonly used markup language is the Standardized General Markup Language (SGML), an ISO standard.
"Client-server computer systems for electronically publishing documents have also become increasingly available. Such a system typically includes one computer system (the server) on which documents are stored so that other computer systems (the clients) can access the information. The server and client communicate via messages conforming to a communication protocol sent over a communication channel such as a computer network. The server responds to messages from clients and processes requests to transmit a requested document.
"An example of a client-server computer system for retrieval of electronically published documents that use a markup language is the World Wide Web (WWW or 'web') on the Internet. The WWW is a 'web' of interconnected documents that are located in various sites on the Internet. Documents that are published on the WWW are written in the Hypertext Markup Language (HTML) or Extensible Markup Language (XML). HTML documents stored as such are generally static, that is, the contents do not change over time unless the publisher modifies the document.
"HTML is a markup language used for writing hypertext documents. HTML documents are SGML documents that conform to a particular Document Type Definition (DTD). An HTML document includes a hierarchical set of markup elements, where most elements have a start tag, followed by content, followed by an end tag. The content is a combination of text and nested markup elements. Tags are enclosed in angle brackets (``) and indicate how the document is structured and how to display the document, as well as destinations and labels for hypertext links. There are tags for markup elements such as titles, headers, text attributes such as bold and italic, lists, paragraph boundaries, links to other documents or other parts of the same document, in-line graphic images, and many other features. While there are differences between HTML, SGML, and XML languages, in this document, the term 'HTML' will be used in a generic sense to refer to all markup-language-based documents, whether or not they are specifically written in HTML.
"An Internet site which electronically publishes documents on the WWW is called a 'Web site' and runs a 'Web server,' which is a computer program that allows a computer on the network to make documents available via the WWW. The documents are often hypertext documents in the HTML or XML language, but may be other types of documents.
"A user (typically using a machine other than the machine used by the Web server) accesses documents published on the WWW by using a client program called a 'Web browser.' The Web browser allows the user to retrieve and display documents from Web servers. Two of the most popular Web browser programs are the Navigator browser from
"The Web server and the Web browser communicate using the Hypertext Transfer Protocol (HTTP) message protocol and the underlying TCP/IP data transport protocol of the Internet. HTTP is described in Hypertext Transfer Protocol--HTTP/1.0 by
"The terms 'applet' and 'servlet' are established terms in the Java programming language art and will be used herein, since the terms have meaning to those skilled in this art. 'Applet' refers to an independent software module that runs within a Java-enabled web browser. Servlet refers to a software module that resides on a Java enabled web server. It is to be understood that the use of the terms 'applet' and 'servlet' herein is not intended to limit the invention in any way. For clarification, the phrase 'configuration applet' is used herein to refer to a software module used to configure preferences for an end user software application such as a word processor, a database manager, etc. Since software applications are also 'applets' in the Java environment, the phrase 'user applet' or just 'applet' is used herein to refer to an end user application. It should be understood, however, that within the context of this application, 'applet' and 'servlet' are used in a generic sense, and are not limited to Java-based systems or environments.
"Common Gateway Interface (CGI) programs are an important part of the HTTP server function. CGI is a World Wide Web standard for extending HTML functionality. CGI processing typically involves the combination of a live Web server and external programming scripts or executables. In particular, CGI programs are typically used to return dynamic information and to respond to HTTP browser input in HTML forms.
"While markup-language-based documents were originally developed for easy and universal access to documents over the web, currently many standalone computer applications and other documents are written to interact with the user in HTML, so that any user can access them using a standard web browser. As such, it has become increasingly important to provide the user with a robust and intelligent interaction via his web browser. To do so, the server system, whether remote or embodied in a local application, must be able to manage the user's navigation and use of the HTML documents in context.
"The content and behavior of a web page within a complex application may depend upon a variety of contextual factors, including the privileges of the user, the software products installed, the sequence of pages shown previously in the browser window (i.e. page flow), and the data entered on these pages. A page flow dependency may extend multiple pages in the page flow. If a user is working in multiple browser windows, each has its own independent page flow, and therefore its own context. In addition, web browsers provide mechanisms such as 'Back' and 'Forward' buttons and menus of recently visited pages that allow a user to display a different page without interacting with the web server providing those pages. The page from which a new request is made is an important part of the page flow, and any mechanism for tracking the page flow context must function correctly even when these browser features are used.
"Since a web server may concurrently serve a large number of users, scalability is also a concern. The amount of contextual data stored for each user must not grow too large. Since a user can in principle return at any time to a page previously displayed within the session, it is generally not safe to dispose of any contextual data until the session is ended. Contextual data could be written to disk, but this increases the complexity of the system and could affect performance.
"Although servlets provide storage locations with a variety of scopes (page, request, session, and application), none of these is satisfactory by itself for page flow contextual data. The lifetime of this contextual data is longer than a single request. Storing it on the session threatens scalability since a page flow context must be stored for each page that has been sent to the user. Even when this is tolerable it is still necessary to identify which page flow context to use for any given request.
"There is, therefore, a need in the art for a system and method for the unified management of contextual information for a user interaction in an HTML interface."
In addition to obtaining background information on this patent, VerticalNews editors also obtained the inventors' summary information for this patent: "To address the above-discussed deficiencies of the prior art, it is a primary object of the present invention to provide an improved system and method for user interactions with computer systems. It is another object of the present invention to provide a system and method for management of contextual information for a user interaction in a markup-language-based interface.
"The preferred embodiment provides a system and method for context management which addresses the above problems while isolating the context management functions from the other functional code found on the server system. The context management system includes a context manager component which stores and retrieves name-value pairs describing the context in which the current request is being processed. In doing so, three types of context data are distinguished: static, dynamic, and transient. The context manager stores context data regarding each of a user's sessions and page flows, and returns context data in response to requests from the server system. Using this context data, the server system can then interact with the user in a manner appropriate to the user's context.
"The foregoing has outlined rather broadly the features and technical advantages of the present invention so that those skilled in the art may better understand the detailed description of the invention that follows. Additional features and advantages of the invention will be described hereinafter that form the subject of the claims of the invention. Those skilled in the art will appreciate that they may readily use the conception and the specific embodiment disclosed as a basis for modifying or designing other structures for carrying out the same purposes of the present invention. Those skilled in the art will also realize that such equivalent constructions do not depart from the spirit and scope of the invention in its broadest form.
"Before undertaking the DETAILED DESCRIPTION OF THE INVENTION below, it may be advantageous to set forth definitions of certain words or phrases used throughout this patent document: the terms 'include' and 'comprise,' as will as derivatives thereof, mean inclusion without limitation; the term 'or' is inclusive, meaning and/or; the phrases 'associated with' and 'associated therewith,' as well as derivatives thereof, may mean to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, or the like; and the term 'controller' means any device, system or part thereof that controls at least one operation, whether such a device is implemented in hardware, firmware, software or some combination of at least two of the same. It should be noted that the functionality associated with any particular controller may be centralized or distributed, whether locally or remotely. Definitions for certain words and phrases are provided throughout this patent document, and those of ordinary skill in the art will understand that such definitions apply in many, if not most, instances to prior as well as future uses of such defined words and phrases."
For more information, see this patent: Olawsky, Duane E.; Chesney,
Keywords for this news article include:
Our reports deliver fact-based news of research and discoveries from around the world. Copyright 2014, NewsRx LLC
Most Popular Stories
- High-Tech Home Theaters Undergoing a Revolution
- Hollywood Bets Big Again on Summer Movies
- Bernanke Wishes He'd Explained the Crisis Better
- China Slows Down: The Cohen Column
- Nestle, Superior Grocers Promote Healthy Meals
- EPA Eases Back on Biofuels Mandate
- Biden Leaves Ukraine as Russian Invasion Threat Rises
- Stocks See 6th Gain in a Row on Solid Earnings
- Ellen DeGeneres Producing HGTV Series
- IRS Awards Bonuses to Employees Who Owe Back Taxes