throbber
United States Patent [19J
`Nielsen
`
`111111111111111111111111111111111111111111111111111111111111111111111111111
`US005925106A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,925,106
`Jul. 20, 1999
`
`[54] METHOD AND APPARATUS FOR
`OBTAINING AND DISPLAYING NETWORK
`SERVER INFORMATION
`
`[75]
`
`Inventor:
`
`Jakob Nielsen, Atherton, Calif.
`
`[73] Assignee: Sun Microsystems, Inc., Mountain
`View, Calif.
`
`[21] Appl. No.: 08/628,418
`
`[22]
`
`Filed:
`
`Apr. 5, 1996
`
`[51]
`[52]
`[58]
`
`[56]
`
`Int. Cl.6
`....................................................... H04N l/00
`U.S. Cl. ............................................. 709/247; 707/513
`Field of Search ......................... 395/200.33, 200.49,
`395/200.57, 200.8, 968, 200.47, 200.61,
`200.68; 707/3, 9, 10, 501, 513
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,617,540
`5,664,185
`
`4/1997 Civanlar et a!. ................... 395/200.57
`9/1997 Landfield et a!.
`...................... 395/615
`
`OTHER PUBLICATIONS
`
`Hypertext Transfer Protocol-HTTP/1.0, by T. Berners-Lee,
`MIT!LCS, R. Fielding, UC Irvine, H. Frystyk, MIT!LCS,
`HTTP Working Group, Feb. 19, 1996.
`
`Uniform Resource Locators (URL), by T. Berners-Lee,
`CERN, L. Masinter, Xerox Corporation, M. McCahill, Uni(cid:173)
`versity of Minnesota, Editors, Dec., 1994, Network Working
`Group, RFC 1738, pp. 1-24.
`
`Hypertext Transfer Protocol-HTTP/1.1, by R. Fielding, UC
`Irvine, H. Frystyk, MIT/LCS, T. Berners-Lee, MIT!LCS,
`HTTP Working Group, Jan. 19, 1996,47 Pages.
`
`Instant HTML Web Pages, by Wayne Ause, ISBN
`1-56276-363-6, Chapter 1, pp. 1-15.
`
`Primary Examiner-Thomas Peeso
`Attorney, Agent, or Firm-Daniel B. Curtis
`
`[57]
`
`ABSTRACT
`
`Apparatus, methods, and computer program products are
`disclosed to simplify a computer user's navigation through
`a distributed information space. The invention provides the
`computer user with information identifying the server that
`provides access to data (or to services) of interest to the user.
`
`39 Claims, 14 Drawing Sheets
`
`101 Server
`\
`
`CPU
`
`1Q7
`
`1Q9
`
`103
`
`CPU
`
`1~7
`
`133
`
`Memory
`
`139
`
`I
`
`102 Client
`
`BLUE COAT SYSTEMS - Exhibit 1009 Page 1
`
`

`
`U.S. Patent
`
`Jul. 20, 1999
`
`Sheet 1 of 14
`
`5,925,106
`
`101 Server
`\
`
`CPU
`
`107
`
`119
`
`103
`
`Memory
`
`1/0
`
`109
`
`.__ __ _ ---I Network
`
`115
`
`117
`
`CPU
`
`137
`
`133 Memory
`139
`-
`
`I
`
`102 Client
`
`Fig. 1
`
`Network
`
`1/0
`
`135
`
`149
`
`14_3
`
`=== == 141
`
`Em i'l'8'l
`c& i'l'8'l
`
`BLUE COAT SYSTEMS - Exhibit 1009 Page 2
`
`

`
`U.S. Patent
`
`Jul. 20, 1999
`
`Sheet 2 of 14
`
`5,925,106
`
`WWW Server
`
`209
`
`/200
`
`Internet
`
`WWW Browser
`
`Fig.2
`(Prior Art)
`
`BLUE COAT SYSTEMS - Exhibit 1009 Page 3
`
`

`
`U.S. Patent
`
`Jul. 20, 1999
`
`Sheet 3 of 14
`
`5,925,106
`
`313
`
`305
`
`301
`
`303
`
`High-Terb Bam R<liJhtg.
`. Ytmr ScmJol lulr:met-R.uidy.
`
`·· ·
`
`ti 3COM Park on t ~• lntcmr..,
`G Co~ with Latest Tectmologies.
`~ Java SP"d$ w.11 !1.-c:h.
`
`305
`
`Fig. 3A
`(Prior Art)
`
`BLUE COAT SYSTEMS - Exhibit 1009 Page 4
`
`

`
`U.S. Patent
`
`Jul. 20, 1999
`
`Sheet 4 of 14
`
`5,925,106
`
`321
`
`1 caCKj 1 ~I nome 1 1 reoaa 1 •mages 1 upen 1 l""nm
`311- Location:l http://www.sun.com/
`II What's New? N What's Cool? II Handbook II Net Search I ~
`
`Fig. 38
`(Prior Art)
`
`BLUE COAT SYSTEMS - Exhibit 1009 Page 5
`
`

`
`U.S. Patent
`
`Jul. 20, 1999
`
`Sheet 5 of 14
`
`5,925,106
`
`311
`
`Fig. 3C
`
`BLUE COAT SYSTEMS - Exhibit 1009 Page 6
`
`

`
`U.S. Patent
`
`Jul. 20, 1999
`
`Sheet 6 of 14
`
`5,925,106
`
`403~
`Sun Microsystems text-o
`
`401
`
`me page. A lava-less version of the home page.
`
`Questions or comments regarding this service? wePmaster@sun.coro
`
`©©WWIJ'H@IhlU 1996 Sun Microsystems, Inc., 2550 Garcia Ave., Mtn. View, Ca 94043-1100, USA
`
`http://www.sun.com/960301/index. textonly.html
`
`Fig. 4A
`(Prior Art)
`
`BLUE COAT SYSTEMS - Exhibit 1009 Page 7
`
`

`
`U.S. Patent
`
`Jul. 20, 1999
`
`Sheet 7 of 14
`
`5,925,106
`
`409
`
`407\
`
`Sun Microsystems text-only home page. A av
`
`Questions or comments regarding this service? w8bmastet@sun.com
`
`©@I!»W!!hlhlq 1996 Sun Microsystems, Inc., 2550 Garcia Ave., Mtn. View, Ca 94043-1100, USA
`
`http://www.sun.com/960301/index. textonly.html (SUN MICROSYSTEMS)
`
`411
`
`413
`
`y
`415
`
`Fig. 48
`
`BLUE COAT SYSTEMS - Exhibit 1009 Page 8
`
`

`
`U.S. Patent
`
`Jul. 20, 1999
`
`Sheet 8 of 14
`
`5,925,106
`
`421
`
`423
`
`':;.y-es __ __.~ Append II (
`
`11
`
`, server name and 11
`display
`
`11 to URL
`
`)
`
`427
`
`Fig. 4C
`
`BLUE COAT SYSTEMS - Exhibit 1009 Page 9
`
`

`
`U.S. Patent
`
`Jul. 20, 1999
`
`Sheet 9 of 14
`
`5,925,106
`
`501
`
`503
`
`505
`
`507
`
`yes
`
`yes
`
`yes
`
`509
`
`DOMAIN NAME
`METHOD
`
`Fig. 5
`
`511-
`
`BLUE COAT SYSTEMS - Exhibit 1009 Page 10
`
`

`
`U.S. Patent
`
`Jul. 20, 1999
`
`Sheet 10 of 14
`
`5,925,106
`
`Detect uNAMEPLEASEu request
`
`601
`
`no
`
`607
`
`Send error
`
`Read file seNername.txt into a
`data memo area
`
`611
`
`Send 11200 OKII
`
`613
`
`Send data memory area
`contents
`
`Return
`
`615
`
`609
`
`Fig. 6
`
`BLUE COAT SYSTEMS - Exhibit 1009 Page 11
`
`

`
`U.S. Patent
`
`Jul. 20, 1999
`
`Sheet 11 of 14
`
`5,925,106
`700
`I
`
`Server's Domain Name
`
`-
`
`701
`
`The Server Name
`
`Date Retrieved
`
`Date Shown
`
`Date Updated
`
`r--
`
`703
`
`1--
`
`705
`
`r--
`
`707
`
`r-
`
`709
`
`Fig. 7
`
`BLUE COAT SYSTEMS - Exhibit 1009 Page 12
`
`

`
`U.S. Patent
`
`Jul. 20, 1999
`
`Sheet 12 of 14
`
`5,925,106
`
`801
`
`For each URL on the page
`
`803
`
`yes
`
`Create Record
`
`807
`
`Retrieve Server Name
`
`-809
`
`Add Server name to Record
`
`811
`
`Update DB
`
`813
`
`815
`
`Fig. 8
`
`BLUE COAT SYSTEMS - Exhibit 1009 Page 13
`
`

`
`U.S. Patent
`
`Jul. 20, 1999
`
`Sheet 13 of 14
`
`5,925,106
`
`901
`
`905
`
`For each URL in the DB
`
`907
`
`Field 3
`condition?
`
`no
`
`no
`
`no
`
`909
`
`Field 4
`condition?
`
`911
`
`Field 5
`condition?
`
`yes
`
`913
`
`Update DB record
`
`903
`
`Fig. 9
`
`BLUE COAT SYSTEMS - Exhibit 1009 Page 14
`
`

`
`U.S. Patent
`
`Jul. 20, 1999
`
`Sheet 14 of 14
`
`5,925,106
`
`yes
`
`1003
`
`1005
`
`no
`
`no
`
`1009
`
`1007
`
`Fig. 10
`
`BLUE COAT SYSTEMS - Exhibit 1009 Page 15
`
`

`
`5,925,106
`
`1
`METHOD AND APPARATUS FOR
`OBTAINING AND DISPLAYING NETWORK
`SERVER INFORMATION
`
`BACKGROUND OF THE INVENTION
`
`FIELD OF THE INVENTION
`
`This invention relates to the capabilities of information
`access apparatus and information provider apparatus; and
`the methods and computer programming products that are
`used to implement them. A prime example of an information
`access apparatus is a computer using a WWW browser
`application. A prime example of an information provider
`apparatus is a computer using a WWW server program.
`Specifically, this invention is a new and useful method, 15
`apparatus and computer program product for presenting
`human-friendly server identification information to a user to
`better indicate the origin of the information.
`
`BACKGROUND
`
`2
`the "www.sun.com" is the domain name for the server. Even
`if the domain name is unambiguous, its placement in the
`URL is intimidating to inexperienced users of the WWW.
`This situation obscures the information structure of the
`web because the domain name of the server provides insuf(cid:173)
`ficient information about the server to accurately identify the
`organization that provides the server. WWW browser users
`need to have access to information about a server to better
`understand the information structure of the WWW. That is,
`10 the connection between server and information residing on
`the server must be clear. Further, the maintainer of a server
`would like to be able to display data that describes the server
`to the user of a WWW browser. This can be accomplished
`by displaying, for the example above:
`http://www.sun.com/index.html (Sun Microsystems, Inc.
`WWW Server)
`With the server's identification data appended to the URL,
`the connection between the server and the information it
`provides is clearly indicated. Thus, a WWW user knows
`20 more about the informational structure of the WWW.
`
`The background of the World Wide Web (WWW), WWW
`browsers, and Uniform Resource Locators (URL) are well
`described by reference to the first chapter of Instant HTML
`Web Pages, by Wayne Ause, Ziff-Davis Press, ISBN 25
`1-56276-363-6, copyright 1995, pages 1-15, hereby incor(cid:173)
`porated by reference as illustrative of the prior art. The URL
`specification, also incorporated by reference, is described in
`RFC-1738 that can be found on the WWW at:
`"http://www.w3.org/hypertext/WWW/Addressing/ 30
`rfc1738. txt"
`Although the invention covers information access and
`information provider apparatus, WWW browser and WWW
`server applications are representative of the technology. As
`such, the majority of this application describes the invention
`within the context of a preferred embodiment utilizing
`WWW browser and WWW server applications. A WWW
`browser communicates with a WWW server using the
`HyperText Transfer Protocol (HTTP). This protocol contin(cid:173)
`ues to evolve and, although heavily used, the document
`describing it is considered a draft document. The HTTP/1.0
`draft document of Feb. 19, 1996 and the HTTP/1.1 draft
`document of Jan. 19, 1996 are incorporated by reference as
`illustrative of the prior art.
`The WWW is a massive HyperText system. WWW users 45
`often become disoriented while navigating through the
`WWW. One reason for this disorientation is that the WWW
`initially appears to have little structure. The structure that
`does exist comes from the fact that the information acces(cid:173)
`sible via the WWW exists on a specific server. That is, each
`WWW page (webpage) is stored on a specific server. In the
`prior art, this connection between server and information is
`not clearly indicated.
`WWW sites (websites) are accessed through use of their
`domain names (e.g., www.sun.com) or IP address (e.g., 55
`45.212.23.1). Domain names are requested by the maintain-
`ers of the website and are approved by a third party. These
`addresses and domain names must be unique. Sometimes the
`domain name is sufficiently descriptive as to describe the
`WWW site. Often however, the domain name is either not 60
`descriptive or misdescriptive of the site. For example does
`www.sun.com refer to the SUN OIL company or to SUN
`MICROSYSTEMS, Inc.? IP addresses carry no descriptive
`value whatsoever.
`The domain name is embedded in the URL. For example 65
`in:
`http://www.sun.com/index.html
`
`SUMMARY OF THE INVENTION
`
`The present invention overcomes the disadvantages of the
`above described systems and provides an economical, high
`performance, apparatus, method, and computer program
`product for providing server-specific identification informa(cid:173)
`tion to a computer user. One aspect of the invention is a
`computer controlled method for obtaining server identifica-
`tion data, by using a domain name, and displaying this data
`on a display device. The server identification data includes
`descriptive information about the server identified by the
`domain name.
`In another aspect of the invention, an apparatus for
`35 accessing information on a network is disclosed. This appa(cid:173)
`ratus includes an access mechanism that uses a domain name
`to obtain server identification data. This apparatus also
`includes a mechanism to display the server identification
`data. The server identification data includes descriptive
`40 information about the server identified by the domain name.
`Yet another aspect of the invention is a computer program
`product on a computer usable medium for causing a com(cid:173)
`puter to access and display server identification data. The
`server identification data includes descriptive information
`about the server identified by the domain name.
`Another aspect of the invention is a computer controlled
`method for providing server identification data over a net(cid:173)
`work Using this method the server identification data is
`resident on and provided by the server and the server is
`50 specified by a domain name.
`In another aspect of the invention, a server apparatus
`responsive to a domain name is disclosed. This server
`apparatus includes a server identification mechanism that
`provides server identification data about the server over a
`network.
`Yet a final aspect of the invention is a computer program
`product on a computer usable medium for causing a com(cid:173)
`puter to provide server identification data.
`
`DESCRIPTION OF THE DRAWINGS
`
`The objects, features and advantages of the system of the
`present invention will be apparent from the following
`description in which:
`FIG. 1 illustrates the components of a client computer and
`server computer in accordance with a preferred embodi(cid:173)
`ment;
`
`BLUE COAT SYSTEMS - Exhibit 1009 Page 16
`
`

`
`5,925,106
`
`4
`method steps for operating a computer in processing elec(cid:173)
`trical or other (e.g., mechanical, chemical) physical signals
`to generate other desired physical signals.
`The invention also relates to apparatus for performing
`these operations. This apparatus may be specially con(cid:173)
`structed for the required purposes or it may comprise a
`general purpose computer as selectively activated or recon(cid:173)
`figured by a computer program stored in the memory of a
`computer. The procedures presented herein are not inher(cid:173)
`ently related to a particular computer or other apparatus. In
`particular, various general purpose machines may be used
`with programs written in accordance with the teachings
`herein, or it may prove more convenient to construct more
`specialized apparatus to perform the required method steps.
`15 The required structure for a variety of these machines will
`appear from the description below.
`Finally, the invention may be embodied in a computer
`readable medium encoded with either an information access
`application such as a WWW browser or an information
`20 provider application such as a WWW server or both.
`
`10
`
`25
`
`3
`FIG. 2 illustrates the relationship between a browser
`application, an information server application and the Inter(cid:173)
`net as is well known in the prior art;
`FIG. 3A is a scanned image that illustrates a prior art
`display of a webpage using a WWW browser application;
`FIG. 3B illustrates a prior art display of a URL addressing
`the webpage illustrated in FIG. 3A;
`FIG. 3C illustrates a display of a URL and server's
`identification data in accordance with a preferred embodi-
`ment;
`FIG. 4A illustrates a prior art display of a URL corre(cid:173)
`sponding to a HyperText link embedded in a webpage;
`FIG. 4B illustrates a display of a URL and server's
`identification data corresponding to a HyperText link
`embedded in a webpage in accordance with a preferred
`embodiment;
`FIG. 4C illustrates the process for modifying the URL to
`display the server's identification data in accordance with a
`preferred embodiment;
`FIG. 5 illustrates the process for obtaining the server's
`identification data in accordance with a preferred embodi-
`ment;
`FIG. 6 illustrates the server's response to the "NAME-
`PLEASE" HTTP extension in accordance with a preferred
`embodiment;
`FIG. 7 illustrates the contents of a data record contained
`in the database used to associate URLs with server identi(cid:173)
`fication data in accordance with a preferred embodiment;
`FIG. 8 illustrates the process for obtaining server identi(cid:173)
`fication data for URLs contained within a webpage dis(cid:173)
`played on the world wide web browser in accordance with
`a preferred embodiment;
`FIG. 9 illustrates the process used to determine whether a 35
`record in the database should be updated during a database
`update operation in accordance with a preferred embodi(cid:173)
`ment; and
`FIG. 10 illustrates the process used to obtain server
`identification data during a database update operation in 40
`accordance with a preferred embodiment.
`
`DESCRIPTION OF THE PREFERRED
`EMBODIMENTS
`Although the invention covers information access and
`information provider apparatus, methods, and computer
`program products, WWW browser and WWW server appa(cid:173)
`ratus and applications are representative of the technology.
`As such, a preferred embodiment utilizing WWW browser
`and WWW server applications is described.
`30 Operating Environment
`The invention is used with computer systems. The server
`computer system 101 is configured to support a World Wide
`Web (WWW) server application. The client computer sys(cid:173)
`tem 102 is configured to support a WWW browser applica(cid:173)
`tion. Some of the elements of the server computer system
`101 are shown in FIG. 1, wherein a processor 103 is shown,
`having an Input/Output ("110") section 105, a central pro(cid:173)
`cessing unit ("CPU") 107 and a memory section 109. The
`110 section 105 is connected to a keyboard 111, a disk
`storage unit 113, a network interface 115 to provide access
`to a network 117 and a CD-ROM drive unit 119. The
`CD-ROM unit 119 can read a CD-ROM medium 121 that
`typically contains programs 123 and data. The CD-ROM
`117 and the disk storage unit 113 comprising a filestorage
`45 mechanism containing information available for network
`access. Such a computer system is capable of executing
`World Wide Web (WWW) server applications that embody
`the invention.
`Some of the elements the client computer 102 configured
`50 to support a WWW browser application are also shown in
`FIG. 1 wherein a processor 133 is shown, having an Input/
`Output ("110") section 135, a central processing unit
`("CPU") 137 and a memory section 139. The 110 section 135
`is connected to a keyboard 141, a disk storage unit 143, a
`55 network interface 145 to provide access to a network 117, a
`display unit 147 and a CD-ROM drive unit 149. The
`CD-ROM unit 149 can read a CD-ROM medium 151 that
`typically contains programs 153 and data. The CD-ROM
`117 and the disk storage unit 113 comprising a filestorage
`mechanism. Such a computer system is capable of executing
`WWW browser applications that embody the invention.
`FIG. 2 illustrates the fundamental characteristics of the
`WWW 200. An information provider apparatus (generally a
`computer executing a WWW server application) 201 pro(cid:173)
`vides access to information on request by an information
`access apparatus (generally a computer executing a WWW
`browser application) 203. The WWW server 201 and WWW
`
`NOTATIONS AND NOMENCLATURE
`
`A procedure is a self-consistent sequence of steps leading
`to a desired result. These steps are those requiring physical
`manipulation of physical quantities. Usually these quantities
`take the form of electrical or magnetic signals capable of
`being stored, transferred, combined, compared, and other(cid:173)
`wise manipulated. These signals are referred to as bits,
`values, elements, symbols characters, terms, numbers, or the
`like. It will be understood by those skilled in the art that all
`of these and similar terms are associated with the appropri-
`ate physical quantities and are merely convenient labels
`applied to these quantities.
`The manipulations performed by a computer when
`executing computer instructions are often referred to in
`terms, such as adding or comparing, that are commonly
`associated with mental operations performed by a human
`operator. No such capability of a human operator is neces-
`sary in any of the operations described herein that form part
`of the present invention; the operations are machine opera(cid:173)
`tions. Useful machines for performing the operations of the
`invention include programmed general purpose digital com(cid:173)
`puters or similar devices. In all cases the method of com- 65
`putation is distinguished from the method of operation in
`operating a computer. The present invention relates to
`
`60
`
`BLUE COAT SYSTEMS - Exhibit 1009 Page 17
`
`

`
`5,925,106
`
`5
`browser 203 generally open a reliable communication chan(cid:173)
`nel 207, 209 over the Internet 205 using an error correcting
`Internet protocol such as TCP/IP. Once the connection
`between the WWW server application 201 and the browser
`application 203 is established, the applications communicate
`using a HyperText Transfer Protocol (HTTP). The WWW
`server application 201 generally responds to commands
`from the WWW browser application 203 to provide services
`and information (data) to the WWW browser application
`203. One skilled in the art will understand that both the 10
`WWW server application 201 and the WWW browser
`application 203 can be executing on the same computer and
`that the TCP/IP connections 207, 209 between the applica(cid:173)
`tions need not actually be made across the Internet 205.
`FIG. 3Aillustrates a webpage provided by a WWW server
`apparatus executing a WWW server application as viewed
`on a display device using the display mechanism within the
`WWW browser application 203. This browser application is
`provided by Netscape Communications, Inc. This Netscape
`browser application is one of many possible WWW browser
`applications that would be improved by the incorporation of
`the invention therein. The webpage information 301 is
`displayed in a window 303 framed 305 by the Netscape
`browser application 203. This browser application 203 pro(cid:173)
`vides operator command buttons 307, WWW navigation 25
`buttons 309, presents the URL for the currently displayed
`webpage 311, and an anchor indicator showing what part of
`the webpage could be evoked by activation of a pointing
`device (the pointing device is not shown). In this figure, the
`pointing device icon is an arrowhead 313 and the anchor 30
`URL selected by the arrowhead 313 is displayed at the
`location labeled 315.
`FIG. 3B is a magnified view of the area labeled 311 in
`FIG. 3A. This illustration shows the URL 321 that refer(cid:173)
`ences the displayed webpage. The "http:" indicates that the
`webpage is accessed using the HyperText Transfer Protocol.
`The "www.sun.com" is the domain name of the webpage.
`Compare FIG. 3B with FIG. 3C. Using the invention, the
`text displayed 321 in the location field 311 now includes the
`server's identification data. In this instance, the server's
`identification data includes the text string "SUN MICRO(cid:173)
`SYSTEMS" as descriptive information. The server's iden(cid:173)
`tification data is enclosed in parentheses "( )" and separated
`from the URL by a space. Because URL processing termi(cid:173)
`nates upon encountering "unsafe characters" such as the 45
`space character, the operation resulting from the transmis(cid:173)
`sion of the modified URL is not affected by the server's
`identification data. In a preferred embodiment, if the user
`were to edit the URL and thus break the association between
`the server's domain name and the server's identification
`data, the application would remove the server's identifica(cid:173)
`tion data from the string because it would no longer reflect
`the modified URL.
`FIGS. 4A and 4B illustrate the use of the invention with
`HyperText links. FIG. 4A indicates the prior art method.
`When the user positions the pointing icon 401 over a
`HyperText link 403 the URL associated with that link is
`displayed at the location labeled 405. FIG. 4B illustrates the
`display presented to the user when the invention is incor(cid:173)
`porated within a WWW browser. Again, the user positions 60
`the pointing icon 409 over a HyperText link 407. Now, the
`URL 413 and the server's identification data 415 are both
`displayed at the location labeled 411. Because the server
`identification data allows a WWW browser to display what(cid:173)
`ever data the server site determines to best identify the site
`to a user, the user is better able to understand the organiza(cid:173)
`tion of data accessible via the WWW.
`
`6
`FIG. 4C illustrates how the WWW browser adds the
`server's identification data to the associated URL. After a
`webpage is downloaded to the browser, the browser exam(cid:173)
`ines each URL in the page. Each URL in the webpage is
`processed starting at the terminal block labeled 421. If the
`URL is not displayed to the user 423, the process completes
`through the terminal labeled 427. If the URL is displayed to
`the user 423, the process 425 appends a space, an open
`parentheses "(", the server identification data, and a closing
`parentheses ")" to the URL display and again completes
`through the terminal labeled 427.
`The invention is also used to append a server's identifi(cid:173)
`cation data to the bookmark facility of WWW browsers. The
`bookmark facility allows a user to capture and store URLs
`of interest. This allows the user to directly access the
`15 associated webpage without requiring the user to remember
`the URL or to repeat a search procedure to find the webpage
`of interest. Generally the bookmark contains the URL and
`the webpage title. The bookmark facility displays the
`webpage title. Using the invention, the server's identifica-
`20 tion data is appended to the display of the webpage title in
`the same manner as for URLs.
`FIG. 5 illustrates the process performed by an information
`access apparatus using an access mechanism to obtain server
`identification data. Here, a WWW browser utilizing a pre(cid:173)
`ferred embodiment of the invention queries the WWW
`server for the server's identification data. At this point, as is
`known in prior art, the browser and server have established
`a reliable connection. The server and browser communicate
`using HTTP over this connection. At this point, the WWW
`browser is in communication with the server identification
`mechanism in the server computer. The query mechanism
`process for the WWW browser to obtain the server identi(cid:173)
`fication data starts at the terminal labeled 501. The browser
`first attempts 503 to obtain the server's identification data by
`35 sending query request (a HTTP NAMEPLEASE message)
`to the server. Those skilled in the art will recognize that this
`HTTP message is an extension to the existing HyperText
`Transfer Protocols. This message consists of the nameplease
`string "NAMEPLEASE" followed by a line terminator. If
`40 the query recognition mechanism within the server recog(cid:173)
`nizes the message, as described below, the server's response
`mechanism responds with a success message followed by
`the server's identification data in accordance with the
`HyperText Transfer Protocol. This response is received by
`the WWW browser's receiver mechanism. In this situation,
`the process completes through the exit terminal 511. On the
`other hand, if the server did not recognize the NAME(cid:173)
`PLEASE HTTP message or if the server does not respond
`within some period of time the browser attempts to obtain
`50 the server's identification data by using the well known GET
`HTTP message 505. This process is also described below.
`Again, if the server either responds with an error or does not
`respond within some time-out period the browser will make
`yet a third attempt using an Internet directory service
`55 process 507 (again described below). Finally, if none of the
`above processes complete successfully, the browser uses
`509 the server's domain name as the server's identification
`data. This process results in the WWW browser obtaining a
`server's identification data for later display to the user.
`In one embodiment of the invention, the delay times
`mentioned above are on the order of ten seconds. The actual
`delay times should be set short enough so that the user of the
`browser does not become impatient while waiting for a
`response, but long enough to allow the server to respond
`65 under normal network and server loading. Those skilled in
`the art will recognize that the invention is practiced using a
`wide range of delay time values.
`
`BLUE COAT SYSTEMS - Exhibit 1009 Page 18
`
`

`
`5,925,106
`
`7
`In a preferred embodiment, the process described above
`also adapts to delayed responses from previous attempts. For
`example, if the GET message 505 attempt has started
`because of the delay time-out for the NAMEPLEASE
`method 503 expired, but the WWW browser then receives a
`response to the NAMEPLEASE message, the NAME(cid:173)
`PLEASE response is used and the GET attempt is aban(cid:173)
`doned.
`FIG. 6 illustrates the process a server identification
`mechanism within the server uses when responding to a
`NAMEPLEASE HTTP request message. The server first
`detects the "NAMEPLEASE" request message 601. The
`server then attempts to open and read a particular file
`residing on the server's filesystem 605. This file contains the
`server's identification data. In a preferred embodiment, this
`file is named "/servername. txt". If this file was not success(cid:173)
`fully opened and read, an en-or message is sent to the WWW
`browser 607 and the process returns 609. On the other hand,
`if the file opens successfully, the file contents are read 611
`into a data memory area. Next 613, the server constructs a
`standard HTTP response message the indication for success
`"200 OK" followed 615 by a line terminator and the contents
`of the file that were read into the data memory area. Finally
`the process returns 609. Those skilled in the art will recog(cid:173)
`nize that the success status message is of the form 2xx where 25
`the xx provide additional information about the successful
`operation. Thus, a preferred embodiment will detect success
`to any 2xx response.
`If the NAMEPLEASE method descried above does not
`obtain the server's identification data, the WWW browser 30
`then attempts to directly read the contents of the server's
`identification data file 505. Using methods well understood
`in the art, the browser sends the message:
`"GET http://domainna-me/servername.txt HTTP/1.0"
`where "domainname" is a standard Internet domain name 35
`such as "www.sun.com". The filename string is "server(cid:173)
`name.txt" in a preferred embodiment. This GET command
`message returns the server's identification data contained in
`the specified file to the WWW browser. This file is the same
`file that is accessed for the NAMEPLEASE process
`described above. The server's identification data is con(cid:173)
`tained in the first line of the entity-body portion of the HTTP
`response.
`If neither the NAMEPLEASE method 503 nor the GET
`method 505 succeed in obtaining a server's identification
`data, the browser attempts the network directory service
`method 507. A network directory access mechanism utilizes
`any network directory service, available to the browser
`computer, to access the network directory service to retrieve
`a textual description associated with the domain name. One 50
`preferred embodiment utilizes the UNIX "who is" utility.
`Another preferred embodiment uses similar a X.SOO appli(cid:173)
`cation to access an Internet name server. If the directory
`service method unsuccessful, the process simply returns the
`domain name as the server identification data.
`A preferred embodiment of a WWW browser includes a
`database access mechanism that maintains a database con(cid:173)
`taining a record that associates the server's domain name
`with the server's identification data. The format of the
`records in this data base is illustrated in FIG. 7. The record 60
`700 contains the server's domain name 701, the server's
`identification data 703, and three date fields 705, 707, and
`709. The Date Retrieved field 705 contains the date when the
`server's identification data was last retrieved. The Date
`Shown field 707 contains the date when the server's iden- 65
`tification data was last shown to a user. The Date Updated
`field 709 contains the date of the last attempt to update the
`
`8
`server's identification data. One skilled in the art will
`recognize the invention contemplates that the internal struc(cid:173)
`ture of the record 700 may be organized in many different
`ways and with different data fields.
`FIG. 8 illustrates how this database is used and populated.
`The process starts 801 after a webpage is downloaded to the
`WWW browser. Each URL on the webpage is examined
`803. If 805 a database record 700 exists containing the
`URL's server domain name 701, the server's identification
`data 703 is retrieved from the database and the database Date
`10 Shown field 707 is updated appropriately 813. However, if
`805 the database does not contain a record matching the
`server's domain name, the process creates a record 807,
`retrieves the server's identification data 809, as described
`above, saves this data in the record 811 and initializes the
`15 date fields 705, 707, 709 and adds the record 700 to the
`database 813. This process occurs for each URL contained
`in the downloaded webpage. Finally, the process terminates
`through the terminal labeled 815.
`FIG. 9 illustrates how the database is maintained. This
`20 process starts when the WWW browser is in a period of low
`load. A low load condition in one embodiment of the
`invention is defined to be when all of the following condi(cid:173)
`tions are met:
`n

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