`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
`
`PALO ALTO NETWORKS 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
`
`PALO ALTO NETWORKS 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)
`
`PALO ALTO NETWORKS 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)
`
`PALO ALTO NETWORKS 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)
`
`PALO ALTO NETWORKS Exhibit 1009 Page 5
`
`
`
`U.S. Patent
`
`Jul. 20, 1999
`
`Sheet 5 of 14
`
`5,925,106
`
`311
`
`Fig. 3C
`
`PALO ALTO NETWORKS 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)
`
`PALO ALTO NETWORKS 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
`
`PALO ALTO NETWORKS 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
`
`PALO ALTO NETWORKS 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-
`
`PALO ALTO NETWORKS 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
`
`PALO ALTO NETWORKS 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
`
`PALO ALTO NETWORKS 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
`
`PALO ALTO NETWORKS 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
`
`PALO ALTO NETWORKS 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
`
`PALO ALTO NETWORKS 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;
`
`PALO ALTO NETWORKS 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
`
`PALO ALTO NETWORKS 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.
`
`PALO ALTO NETWORKS 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:
`no user has provided input for the la