throbber
United States Patent
`
`[19]
`
`[11] Patent Number:
`
`5,774,670
`
`Montulli
`
`[45] Date of Patent:
`
`Jun. 30, 1998
`
`US005774-670A
`
`[54] PERSISTENT CLIENT S'D¢kTE INA
`HYPERTEXT TRANSFER PROTOCOL
`BASED CLIENT-SERVER SYSTEM
`
`[75]
`
`Inventor: Lou Montulli, Palo Alto, Calif.
`
`[73] Assignee: Netscape Communications
`Corporation, Mountain View, Calif.
`
`[21] Appl. No.: 540,342
`
`[22]
`
`Filed:
`
`Oct. 6, 1995
`
`Int. Cl.“
`[51]
`[52] U.S. Cl.
`
`G06F 13,338; G06F 17730
`395,t"2J00.57; 395t2J00.33;
`395,t200.47; 345,835
`395900.32, 200.33,
`[58] Field of Search
`395800.48, 200.49, 2100.57, 200.58, 200.6;
`345F335; 7077501, 10
`
`[56]
`
`References Cited
`PUBLICATIONS
`
`Van Name et al.; “Putting thr lid on Pandora’s Cookie Jar”;
`PC Week Aug. 19, 1996 V13 N33 PN8t1).
`Foster, “Can mixing ‘cookies’ with online marketing be a
`recipe for heartburn'?”; InfoWorld Jul. 22, 1996 vt'8 p54(1).
`McCarthy, “The Netscape Biscuit Company”, Government
`Computer News Sep. 23, 1996 v15 no 24 1355(2).
`Raynovich, “Microsoft
`readies browser update”; LAN
`Times; Aug. 5, 1996 v13 no 17 p7(1).
`Netscape; “Persistent Client State HTTP Cookies”; 1997;
`http:t’t’home. netscape.com. fnewsreft'stdfcoolcie_specihtn.
`Montulli et al.; “Proposed HTTP State Management Mecha-
`nism”; Aug. 16, 1996 HTTP Working Group.
`
`“Cookie 1-D Drafts”; Nov. 21, 1997; http:ff]Jortal.research.
`bell—labs.comt’ dmkt’cookie—ver.html.
`
`CMP NetGuide Magazine; “The Trouble With Cookies”,
`May 1, 1996; Issue 305.
`
`Primary Exnminer—Mark H. Rinehart
`Attorney, Agent, or Ft'rm—Michael A. Glenn; Harvey J.
`Anderson
`
`[57]
`
`ABSTRACT
`
`A method and apparatus for transferring state information
`between a server computer system and a client computer
`system. In one embodiment of the method, an http client
`requests a file, such as an HTML document, on an http
`server, and the http server transmits the file to the http client.
`In addition, the http server transmits a state object, which
`describes certain state information, to the http client. The
`http client stores the state object, and will typically send the
`state object back to the http server when making later
`requests for files on the http server. In a typical embodiment,
`the state object includes a domain attribute which specifies
`a domain or network address, and the state object is trans-
`mitted from the http client to a server only when the http
`client makes an http request to the server and the server is
`within the domain.
`In one embodiment,
`the apparatus
`includes a processor and memory and a computer readable
`medium which stores program instructions. In the case of the
`client system, the instructions specify operations such as
`receiving and storing the state information; in the case of the
`server system, the instructions specify operations such as
`sending the state information to a client system.
`
`26 Claims, 8 Drawing Sheets
`
`cfient
`
`
`
`sends a URL
`
`
`returns a HTML
`
`document and
`
`cookies
`
`server
`
`7'74
`
`NTFX-1011 t'Page1 of 17
`
`172
`
`:2‘ca
`
`[-
`
`sends cookies
`
`178
`
`

`
`U.S. Patent
`
`Jun. 30, 1998
`
`Sheet 1 of 8
`
`5,774,670
`
`S.u~_..~
`
`NTFX-1011 {Page 2 of 17
`
`

`
`U.S. Patent
`
`Jun. 30, 1998
`
`Sheet 2 of 8
`
`5,774,670
`
`/rflm
`
`HM
`
`
`
`127
`
`fifi
`
`I/0
`ControHer
`
`Muss
`
`Igigkgyglllll
`
`
`
`Network
`Interterface
`
`L29
`
`
`
`EM
`
`
`
`
`fiB-/
`
`I/0
`Controlmr
`
`flfl
`
`£6
`
`Network
`
`Interterface
`
`aw
`
`
`
`
`
`FIG. 1B
`
`NTFX-1011 {Page 3 of 17
`
`

`
`U.S. Patent
`
`Jun. 30, 1998
`
`Sheet 3 of 8
`
`5,774,670
`
`Server A
`
`Server B
`
`Server C
`
`One of
`
`the major features of the world—wide—web
`is
`the abifity to retrieve images from
`sites distributed around the world.
`
`These images can then be
`combined with a text document
`
`retrieved separately and presented
`as a single “virtual” document
`to
`an end—user
`
`This HTML document demonstrates
`
`this copabifity. This document was
`
`fetched from a server in northern
`
`this image:
`California. However,
`was obtained from the University
`of Stockholm.
`
`FIG. 2
`
`NTFX-1011 I Page 4 of 17
`
`

`
`U.S. Patent
`
`Jun. 30, 1998
`
`Sheet 4 of 8
`
`5,774,670
`
`
`
`
`
`$m2___$2;.23:of2:56_u3:n__:.m_uwormso:$n§___m>_9:.E33__Eu2.:2no;IuE:|_u_._oaof.3mu.::.o£8.35of._o«co
`
`
`
`
`
`
`
`$::\v23.59:53$2:B_.3_.:5%_..:v
`
`
`
`
`
`%\v...:__._.E9___§:28.:_.2.3_:aA2v
`
`
`
`
`
`use»_39__a$uo>m_.;.Et._u__5ooutax.a_._:auocfieouan:2:coo
`
`
`
`
`
`
`
`
`
`.__2.:._mt;.._um_.Tu:oco3Euszuou___o3L_>__o_m:_mamu_u3.:mmu.a
`
`
`
`
`
`
`
`An_v.b___ncn_uo£5m3o.:.m_._o_=m_ut._o___=uou
`
`
`
`
`
`.a_Eo:_ouEo_._.Lo:E._m>._omcactu2._8.o__ma;Eoesooum_.._._.
`
`
`
`
`
`
`
`
`
`A.::m.__c_=m.._u\n_o:o___o_u\=uu.u_.__:.omu_._.::;\\”&.._.___uo._m..._%____u_a__..os_Hv
`
`
`
`Amv.m_oc:_Hso:uo..__3nomu;
`
`
`
`;3____mt:.._u>2.6_._
`
`
`
`o_=uoA_::m.omo_:m\om.=m._s:a\\::E__u9_mu_uEen:m:aos_HvEcomt:u_._<
`
`
`
`
`
`
`
`Em.65.1»
`
`.83_m._o>__.5A____5_._.xou:_\mm.=m....:..i\\"3L..___u.$.:._<vofso:
`
`.Q\v=__o§u_3m
`
`NTFX-1011 {Page 5 OH?
`
`

`
`U.S. Patent
`
`Jun. 30, 1998
`
`Sheet 5 of 8
`
`5,774,670
`
`
`
`Distributed Image Loading Example
`
`the major features of the world—wide web is the ability to
`One of
`retrieve images from sites distributed around the world. These
`images can then be combined with a text document retrieved
`
`
`
`
`
`
`
`
`
`separately and presented as a single "virtual" document
`This HTML document demonstrates this capability.
`
`to an end——user.
`
`
`
`
`This document was fetched from a server in Northern California.
`
`However,
`
`this image:
`
`
`
` was obtained from Illinois. And this one:
`
` was obtained from the University of Stockholm.
`
`FIG. 3B
`
`NTFX-1011 I Page 6 OH?
`
`

`
`U.S. Patent
`
`Jun. 30, 1998
`
`Sheet 6 of 8
`
`5,774,670
`
`cHent
`
` server
`
`sends a URL
`
`174
`
`NTFX-1011 {Page 7 of 17
`
`
`
`returns a HTML
`
`
`
`document and
`cookies
`
`W?
`
`'--L‘J0'3
`
`IZB[,
`
`sends cookies
`
`FIG. 4
`
`

`
`U.S. Patent
`
`Jun. 30, 1998
`
`Sheet 7 of 8
`
`5,774,670
`
`Browser Sends a Request
`
`to Merchant Server.
`
`212
`
`Browser Receives and Displays HTML Document.
`
`214
`
`
`
`
`
`228
`
`214
`
`Additional
`Browsing
`?
`
`No
`
`Browser Selects a Particular Product.
`
`Merchant Server Sends Farm.
`
`216
`
`218
`
`Browser Sends POST With Specific Information
`About Selected Product.
`
`Merchant Servers Generates and Sends Synthetic
`Page and Cookie Describing Selected Product.
`
`Browser Stores Cookie That Describes Selected Product.
`
`222
`
`224
`
`226
`
`No
`
`Browser Accesses a Check—0ut Page and Sends
`Cookie Describing Selected Products.
`
`230
`
`Server Processes the Transaction.
`
`240
`
`FIG. 5
`
`:
`
`End
`
`NTFX-1011 {Page 3 of 17
`
`

`
`U.S. Patent
`
`Jun. 30, 1998
`
`Sheet 8 of 8
`
`5,774,670
`
`NTFX-1011 I Page 9 OH?
`
`

`
`1
`PERSISTENT CLIENT STATE IN A
`HYPERTEXT TRANSFER PROTOCOL
`BASED CLIENT-SERVER SYSTEM
`
`FIELD OF THE INVENTION
`
`This invention relates to communication in a client-server
`computer systems. Specifically,
`the invention relates to
`client-server computer systems in which a server can send
`state information to a client and the client stores the state
`information for later retransmissions back to the server.
`
`BACKGROUND OF THE INVENTION
`
`5,774,670
`
`2
`
`interaction increases the complexity of the interaction and
`typically slows the rate of the interaction. Thus, the con-
`ventional Web environment provides less complex, faster
`interactions because of the Web’s level of interaction
`between clients and servers.
`
`In the conventional Web environment, clients do not
`retain information of a session after the session is closed. In
`
`10
`
`many systems, the ability to retain information after the
`systems become inactive is crucial to the functioning of the
`systems. Thus, it is desirable to allow clients to have this
`ability.
`
`SUMMARY OF THE INVENTION
`
`An important use of computers is the transfer of infor-
`mation over a network. Currently, the largest computer
`network in existence is the InterNet. The InterNet
`is a
`
`15
`
`worldwide interconnection of computer networks that com-
`municate using a common protocol. Millions of computers,
`from low end personal computers to high-end super com-
`puters are coupled to the InterNet.
`The InterNet grew out of work funded in the 19605 by the
`U.S. Defense Department’s Advanced Research Projects
`Agency. For a long time, InterNet was used by researchers
`in universities and national laboratories to share informa-
`
`tion. As the existence of the InterNet became more widely
`known, many users outside of the academiclresearch com-
`munity (e.g., employees of large corporations) started to use
`InterNet to carry electronic mail.
`In 1989, a new type of information system known as the
`World-Wide-Web (“the Web”) was introduced to the Inter-
`Net. Early development of the Web took place at CERN, the
`European Particle Physics laboratory. The Web is a wide-
`area hypermedia information retrieval system aimed to give
`wide access to a large universe of documents. At that time,
`the Web was known to and used by the academicfresearch
`community only. There was no easily available tool which
`allows a technically untrained person to access the Web.
`In 1993, researchers at the National Center for Supercom-
`puting Applications (NCSA) released a Web browser called
`“Mosiac” that implemented a graphical user interface (GUI).
`Mosiac’s graphical user interface was simple to learn yet
`powerful. The Mosiac browser allows a user to retrieve
`documents from the World-Wide-Web using simple point-
`and-click commands. Because the user does not have to be
`
`technically trained and the browser is pleasant to use, it has
`the potential of opening up the InterNet to the masses.
`The architecture of the Web follows a conventional client-
`server model. The terms “client” and “server” are used to
`
`refer to a computer’s general role as a requester of data (the
`client) or provider of data (the server). Under the Web
`environment, Web browsers reside in clients and Web docu-
`ments reside in servers. Web clients and Web servers com-
`
`municate using a protocol called “HyperText Transfer Pro-
`tocol” (HTTP). Abrowser opens a connection to a server and
`initiates a request for a document. The server delivers the
`requested document, typically in the form of a text document
`coded in a standard Hypertext Markup Language (HTML)
`format, and when the connection is closed in the above
`interaction, the server serves a passive role, i.e., it accepts
`commands from the client and cannot request the client to
`perform any action.
`The communication model under the conventional Web
`
`environment provides a very limited level of interaction
`between clients and servers. In many systems, increasing the
`level of interaction between components in the systems
`often makes the systems more robust, but increasing the
`
`30
`
`35
`
`50
`
`55
`
`60
`
`65
`
`The present invention involves a client-server system on
`a network in which a server can send state information to a
`client and the client stores the state information. The stored
`state information can later be sent back to the server at
`
`appropriate times. In this manner, the state of a client can be
`maintained in the client-server system where no state inher-
`ently exists in such a system.
`One embodiment of the present invention is a network
`system for communicating documents containing informa-
`tion such as text and one or more images. The system
`comprises a first computer (i.e., a server) capable of sending
`such documents over a network such as the InterNet. The
`
`system also has a second computer (i.e., a client) which can
`request these documents or files from the server. After the
`requested documents are received, the client can display the
`documents. In accordance with the present invention, the
`server can send state information to the client when a
`document
`is sent. The client
`then stores the state
`
`information, which is typically in the form of a state object.
`In a subsequent request for documents to the server, the
`client can send the stored state information to the server.
`
`In an embodiment of the invention, the server uses a
`hypertext transfer protocol (“http”) to communicate over the
`network with clients; such clients also communicate with the
`server using the hypertext transfer protocol. This server and
`these clients are referred to as an http server and http clients
`respectively. The server typically will
`include a server
`processor and a memory and a computer readable medium,
`such as a magnetic (“hard disk”) or optical mass storage
`device, and the computer readable medium of the server
`contains computer program instructions for transmitting the
`file from the server system to the client system and for
`transmitting the state object to the client system. The client
`typically will include a client processor and a memory and
`a computer readable medium, such as a magnetic or optical
`mass storage device, and the computer readable medium of
`the client contains computer program instructions for receiv-
`ing the state object, which specifies the state information,
`from the server and for storing the state object at the client.
`The state object, in a typical embodiment, will include a
`name attribute, such as a domain attribute.
`One of the applications of the present invention is an
`on-line shopping system. A customer can browse informa-
`tion delivered by a merchant server using a browser running
`on a client. The customer can also select products to be
`placed in a virtual shopping basket. The server then sends
`state information related to the selected products to the
`browser on the client for storage. When the customer wants
`to purchase the products in the virtual shopping basket, the
`browser sends the corresponding state information to a
`specified check-out Web page for processing.
`Another application of the present invention is an “on-
`line” information service, such as a newspaper’s Web server
`
`NTFX-1t)11IPage1O of 17
`
`

`
`5,774,670
`
`3
`which includes articles or other information from the news-
`paper’s subscription services. In one example, a newspaper
`or publishing company may have several different
`publications, each requiring a separate subscription fee
`which may ditfer among the diiferent publications. Auser of 5
`the information service may browse the ditferent publica-
`tions by making http requests, from the client’si‘user’s com-
`puter system, to the publisher’s Web server which responds
`with the requested publication and state information speci-
`fying the user’s identification, and other subscription infor-
`mation (e.g., user registration and billing information) which
`allows the user to view the contents of the publication; this
`information is typically provided by the user at least once in
`a conventional log-on process. Thereafter, this information
`is included in the state information which is exchanged
`between the client and the server in the process of the
`invention. Accordingly, when the user, during the browsing
`process, desires to view another publication (e.g., from the
`same or dilferent publisher) this state information will be
`transmitted back to the Web server to provide the necessary
`subscription information (thereby entitling the user to view
`the publication) without requiring the user to re-enter the
`necessary subscription information. In this manner, a user
`may browse from publication to publication on the Web
`server or a diiferent Web server in the domain without
`having to re-enter, when seeking a new publication, the
`necessary subscription information.
`These and other features of the present invention will be
`disclosed in the following description of the invention
`together with the accompanying drawings.
`
`10
`
`15
`
`30
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The objects, features, and advantages of the present
`invention will be apparent from the following detailed
`description of the preferred embodiment of the invention
`with references to the following drawings.
`FIG. 1Ais a pictorial diagram of a computer network used
`in the present invention.
`FIG. 1B shows a computer network containing a client
`system and a server system.
`FIG. 2 illustrates the retrieval of remote text and images
`and their integration in a document.
`FIG. 3A shows an example of an HTML document which
`can be processed by the browser of the present invention.
`FIG. 3B shows the integrated document corresponding to
`the HTML document of FIG. 3A as it would appear on a
`display screen of a client computer.
`FIG. 4 shows schematically the flow of information
`between a client and a server in accordance with the present
`invention.
`
`FIG. 5 is a flow chart showing the operation of a merchant
`system of the present invention.
`FIG. 6 shows a computer system that could be used to run
`the browser of the present invention.
`DETAILED DESCRIPTION
`
`Methods and apparatuses for maintaining state informa-
`tion in a client-server based computer network system are
`disclosed. The following description is presented to enable
`any person skilled in the art to make and use the invention.
`For purposes of explanation, specific nomenclature is set
`forth to provide a thorough understanding of the present
`invention. However, it will be apparent to one slcilled in the
`art that these specific details are not required to practice the
`present invention. Descriptions of specific applications are
`
`35
`
`50
`
`55
`
`60
`
`65
`
`4
`
`provided only as examples. Various modifications to the
`preferred embodiments will be readily apparent to those
`skilled in the art, and the general principles defined herein
`may be applied to other embodiments and applications
`without departing from the spirit and scope of the invention.
`Thus, the present invention is not intended to be limited to
`the embodiments shown, but is to be accorded the widest
`scope consistent with the principles and features disclosed
`herein.
`
`Prior to describing the present invention, some introduc-
`tory material is explained, including explanations concern-
`ing client-server computing, InterNet addresses, URL’s and
`browsing of the Web.
`
`CLIENTSERVER COMPUTING
`
`FIG. 1A illustrates a conceptual diagram of a computer
`network 100, such as the InterNet. Computer network 100
`comprises small computers (such as computers 102, 104,
`106, 108, 110 and 112) and large computers, such as
`computers A and B, commonly used as servers. In general,
`small computers are “personal computers” or workstations
`and are the sites at which a human user operates the
`computer to make requests for data from other computers or
`servers on the network. Usually, the requested data resides
`in large computers. In this scenario, small computers are
`clients and the large computers are servers.
`In this
`specification, the terms “client” and “server” are used to
`refer to a computer’s general role as a requester of data
`(client) or provider of data (server). In general, the size of a
`computer or the resources associated with it do not preclude
`the computer’s ability to act as a client or a server. Further,
`each computer may request data in one transaction and
`provide data in another transaction, thus changing the com-
`puter’s role from client to server, or vice versa.
`A client, such as computer 102, may request a file from
`serverA. Since computer 102 is directly connected to server
`A through a local area network, this request would not
`normally result in a transfer of data over what is shown as
`the “network” of FIG. 1. The “network” of FIG. 1 represents
`the InterNet which is an interconnection of networks. A
`
`diiferent request from computer 102 may be for a file that
`resides in server B. In this case, the data is transferred from
`server B through the network to server A and, finally, to
`computer 102. The distance between servers A and B may be
`very long, e.g. across continents, or very short, e.g., within
`the same city. Further, in traversing the network the data may
`be transferred through several
`intermediate servers and
`many routing devices, such as bridges and routers.
`The World-Wide-Web (“The Web”) uses the client-server
`model
`to communicate information between clients and
`
`servers. Web Servers are coupled to the InterNet and respond
`to document requests from Web clients. Web clients (also
`known asWeb “browsers”) are programs that allow a user to
`simply access Web documents located on Web Servers.
`FIG. 1B shows, in more detail, an example of a client-
`server system interconnected through the InterNet 100. In
`this example, a remote server system 122 is interconnected
`through the InterNet to client system 120. The client system
`120 includes conventional components such as a processor
`124, memory 125 (e.g. RAM), a bus 126 which couples the
`processor 124 and memory 125, a mass storage device 127
`(e.g. a magnetic hard disk or an optical storage disk) coupled
`to the processor and memory through an U0 controller 128
`and a network interface 129, such as a conventional modem.
`The server system 122 also includes conventional compo-
`nents such as a processor 134, memory 135 (e.g. RAM), a
`
`NTFX-1011 IPage 11 of 17
`
`

`
`5
`
`6
`
`5,774,670
`
`bus 136 which couples the processor 134 and memory 135,
`a mass storage device 137 (e.g. a magnetic or optical disk)
`coupled to the processor 134 and memory 135 through an
`U0 controller 138 and a network interface 139, such as a
`conventional modem.
`It will be appreciated from the
`description below that the present invention may be imple-
`mented in software which is stored as executable instruc-
`tions on a computer readable medium on the client and
`server systems, such as mass storage devices 127 and 137
`respectively, or in memories 125 and 135 respectively.
`InterNet Addresses
`
`As discussed in the background, the InterNet consists of
`a worldwide computer network that communicates using
`well defined protocol known as the InterNet Protocol (IP).
`Computer systems that are directly connected to the InterNet
`each have an unique InterNet address. An InterNet address
`consists of four numbers where each number is less than
`256. The four numbers of an InterNet address are commonly
`written out separated by periods such as 192.101.0.3
`To simplify InterNet addressing,
`the “Domain Name
`System” was created. The domain name system allows users
`to access InterNet resources with a simpler alphanumeric
`naming system. An InterNet Domain name consists of a
`series of alphanumeric names separated by periods. For
`example, the name “drizzle.stanford.edu” is the name for a
`computer in the physics department at Stanford University.
`Read from left to right, each name defines a subset of the
`name immediately to the right. In this example, “drizzle” is
`the name of a workstation in the “stanford” domain.
`Furthermore, “stanford” is a subset of the “edu” domain.
`When a domain name is used, the computer accesses a
`“Domain Name Server” to obtain the explicit four number
`InterNet address.
`
`Uniform Resource Locators
`To further define the addresses of resources on the
`InterNet, the Uniform Resource Locator system was created.
`A Uniform Resource Locator
`is a descriptor that
`specifically defines a type of InterNet resource and its
`location. URLs have the following format:
`resource_type: I I domain.address;‘ path_name Where
`“resource_type” defines the type of intemet resource.
`Web documents are identified by the resource type
`“http” which indicates that the hypertext transfer pro-
`tocol should be used to access the document. Other
`
`resource types include “ftp” (file transmission protocol)
`and “telnet”. The “domain.address” defines the domain
`
`name address of the computer that the resource is
`located on. Finally, the “path_name” defines a direc-
`tory path within the file system of the server that
`identifies the resource. The right most name on the path
`name portion is usually the name of an actual file. Web
`pages are identified by the resource type “http”. By
`convention, most Web pages end with the sufiix “.html”
`that suggests the file is a Hype1’I‘ext Markup Language
`document. An example of a URL for a Web document
`1S!
`
`info.cern.chlhypertext.r‘Datasources IWWWI
`ll
`http:
`Geographical.html
`This URL indicates that by using the HTTP (Web) protocol
`to reach a server called “info.cem.ch”, there is a directory
`“hypertext,r‘Datasourcesa'WWW” that contains a hypertext
`document named “Geographical.html.” Resources on the
`Internet are uniquely addressable by their URL.
`
`Browsing the World-Wide-Web
`To access an initial Web document, the user enters the
`URL for aWeb document into a Web browser program. The
`
`Web browser then sends an http request to the server that has
`the Web document using the URL. The Web server responds
`to the http request by sending the requested HTTP object to
`the client. In most cases, the HTTP object is an plain text
`(ASCII) document containing text (in ASCII) that is written
`in HyperText Markup Language (HTML). The HTML docu-
`ment usually contains hyperlinks to other Web documents.
`The Web browser displays the HTML document on the
`screen for the user and the hyperlinks to other Web docu-
`ments are emphasized in some fashion such that the user can
`selected the hyperlink.
`FIG. 2 illustrates the retrieval of remote text and images
`and their integration in a Web page by a client computer 130.
`In FIG. 2, server A contains a text document coded in a
`standard HTML format. Server B contains an image file
`called Image 1 and server C contains another image file
`called Image 2. Each of these servers is remotely located
`from the other servers and the client 130. The transfer of data
`is via the Internet. It should be appreciated that the text and
`image files could be located in the same server which is
`remote from client 130.
`
`FIG. 3A shows an example of an HTML document. FIG.
`3B shows the corresponding i.ntegrated document (Web
`page) as it would appear on a display screen of a client
`computer. The first line of the document in FIG. 3A reads
`“<title:-Distributed Image Loading Example<i’title>.” In this
`case, the tags <title> and <ftitle> are HTML delimiters
`corresponding to the beginning and ending, respectively, of
`text that is designated as the title of the HTML document.
`The title could be used for various purposes, such as listing
`of the document in an automatically generated index.
`The second line of the HTML document of FIG. 3A reads
`“<hi> Distributed Image Loading Example <,:"l:1l>” The
`<hJ'1> and <J'hl> are HTML delimiters for a header that is to
`be displayed in a largest font. The browser software running
`on the client computer 130 interprets the header tags and
`thus displays the text between the header tags in a largest
`font size on the client’s display screen.
`After the title and header, the HTML. document of FIG.
`3A contains the text “One of the major features .
`.
`.
`capability”. At the end of the text paragraph is another
`HTML. tag shown as <p:-. This is a tag indicating the end of
`a paragraph.
`To continue with the second paragraph of the HTML
`document, the text reads “This document .
`.
`. this image:
`<IMG align=middle src=”http:Hwww.su.se,«’
`SUlogo.gif“>was obtained .
`.
`. ”. The text in angle brackets
`defines an image to be placed in the text. Specifically, the
`“IMG” tag indicates that an image is being defined. The
`“align-middle” tag indicates that
`the image should be
`aligned in the middle of the current line of text. Finally,
`“src=” tag indicates that the source image file can be located
`using the URL “http: I ;\vww.su.se;' SUlogo.gif".
`The line continues with the phrase “from the <A href=
`“http:i’fwww.su.se;‘index.html”>University of Stockholm-cf
`A> This phrase defines “University of Stockholm” as a link
`to another Web document. Specifically, the “A” tag defines
`the beginning of a link. The “href-” tag defines that the link
`is to a Web page that can be located using the URL
`“http:i’fwww.su.se,findex.html” Next, the text “University of
`Stockholm” is the text that will be the link. Finally, the “EA”
`tag defines the end of the link definition. As illustrated in
`FIG. 3B, the text “University of Stockholm” is displayed
`with underlining that indicates it is a link to another docu-
`ment. If the user selects the underlined text “University of
`Stockholm”, then the browser will send out a http request for
`the Web page at the URL address “http: I ,r'\Nww.su.se,«’
`index.html”.
`
`10
`
`15
`
`30
`
`35
`
`50
`
`55
`
`60
`
`65
`
`NTFX-1011IPage12 of 17
`
`

`
`7
`
`8
`
`5,774,670
`
`It can be seen from the above example that the HTML
`document contains all information a browser needs for
`
`displaying a Web page. Thus, the only responsibility of a
`Web server is to provide the requested document, and there
`is no need for the server to request a client to do anything
`else. However, this role of a server also limits the utility of
`the Web environment.
`
`ADDING STATE INFORMATION TO THE
`HYPERTEXT TRANSFER PROTOCOL
`
`The present invention provides an extension to the prior
`art HTTP protocol. Using the teachings of the present
`invention, when a server responds to an http request by
`returning an HTTP object to a client, the server may also
`send a piece of state information that the client system will
`store. In an embodiment of the present invention, the state
`information is referred to as a “cookie”. Included in the state
`
`information (the cookie) is a description of a range of URLs
`for which that state information should be repeated back to.
`Thus, when the client system sends future HTTP requests to
`servers that fall within the range of defined URLs,
`the
`requests will include a transmittal of the current value of the
`state object. By adding the ability to transfer state informa-
`tion back and forth, Web servers can then play an active role
`in transactions between clients and servers. The term state
`
`10
`
`15
`
`object is also used herein to refer to the state information.
`FIG. 4 is a drawing showing schematically the flow of
`information between a client system and a server system. At
`a time indicated by numeral 172, the client system sends an
`http request to the Web server. In response to the http
`request, the server returns an HTML document together with
`a header, which is typically separate from the HTML
`documents, at a time indicated by numeral 174. The header
`may contain one or more cookies. Upon receiving the
`HTML document and the header, the client system displays
`an HTML document on the screen and stores the cookies in
`
`30
`
`35
`
`a memory such as a storage medium. The client may switch
`and work on other tasks, or may be shut down completely.
`This is indicated by a dash line 176. At a time indicated by
`numeral 178, the client system may access a Web server that
`is specified in the received cookie such that the client system
`transmits the cookies to the server, thus providing state
`information about the client system to the server system.
`This extension to the http protocol provides a powerful
`new tool which enables a large number of new types of
`applications to be written for a Web-based environment.
`Examples of new applications include on-line shopping that
`stores information about
`items currently selected by
`consumers, for-fee on-line services that can send back
`registration information and thus free users from retyping a
`user-id on next connection, and Web sites that can store
`per-user preferences on the client system and have the client
`supply those preferences every time the site is later accessed.
`Server Behavior
`A particular embodiment of the state information is
`described below in order to provide an example according to
`the present invention. It will be appreciated that alternative
`formats may be used in accordance with the principles of the
`present invention. As stated above, the extension to the
`HTTP protocol adds a new piece of state information to the
`HTTP header as part of an HTTP response from a Web
`server. Typically, the state information is generated by a
`common gateway interface (“CGI”) script. The state infor-
`mation is stored by the receiving client system in the form
`of a “cookie list" for later use. The syntax of the new data,
`in one embodiment, is:
`
`Set-Cookie: NAME-VALUE; expires-DATE; path-
`PATH;
`domain=DOMA1N_NAME; secure
`The capitalized terms can be set by the server system. The
`first attribute is “NAME=VALUE”. This attribute serves to
`
`identify a cookie. The “NAME” attribute is a name for the
`cookie. The “NAME” attribute is the only required attribute
`on the “Set-Cookie” header in one embodiment. The
`“VALUE” is a value assigned to the previously defined
`name. The “VALUE” is a string of characters excluding, in
`one embodiment, semicolon, comma, and white spaces. If
`there is a need to place these characters in the VALUE,
`standard encoding methods, such as URL’s type %XX
`encoding, can be used.
`The “expires” attribute specifies a data string that defines
`the valid life time of the corresponding cookie. Once the
`expiration date has been reached, the cookie will no longer
`be stored in the client system. Thus, the client system will no
`longer respond to Web servers with the cookie. Many coding
`schemes for designating time can be used. In a preferred
`embodiment, the “expires” attribute is formatted as: Wdy,
`DD-Mon-YY HH:MM:SS GMT In the this format, “Wdy”
`designates the day of a week, “DD-Mon-YY” designates the
`day, month and year, and “HT-I:MM:SS GMT” designates the
`hour, minute and second, in GMT time zone. Note that the
`“expires” attribute

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket