throbber
United States Patent [19]
`Williams
`
`[54] NON-REDUNDANT BROWSING OF A
`SEQUENCING OF WEB PAGES
`
`[75] Inventor: Marvin L. Williams, Hickory Creek,
`Tex.
`
`[73] Assignee: Avaya Technology Corp., Miami
`Lakes, Fla.
`
`[21] Appl. No.: 09/079,484
`[22]
`Filed:
`May 15, 1998
`
`[51] Int. Cl.7 ........................... .. G06F 15/16; G06F 17/30
`[52] US. Cl. ........................ .. 709/229; 709/203; 709/217;
`709/227; 709/228; 701/1; 701/500; 345/344;
`345/357
`[58] Field of Search .......................... .. 709/200, 202—203,
`709/217—219, 227—229, 231—233; 707/101—102,
`500—501, 512—514, 1, 5; 345/340, 344,
`353, 356—357
`
`[56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`8/1988 Winter et a1. ............................. .. 707/1
`4,768,144
`1/1996 Vitter et a1.
`707/101
`5,485,609
`5,586,245 12/1996 Sugai et a1.
`345/344
`
`5,715,445
`
`2/1998 Wolfe . . . . . . . . . . . .
`
`. . . . . . .. 707/5
`
`709/217
`3/1998 Barrett et a1.
`5,727,129
`..... .. 707/3
`5/1998 Reiter et a1. ..
`5,752,243
`345/344
`6/1998 Ishimine
`5,764,227
`709/233
`5,826,031 10/1998 Nielsen
`5,937,163
`8/1999 Lee et a1. .............................. .. 709/218
`
`OTHER PUBLICATIONS
`
`A. Salahshour & M. L. Williams, Bidirectional Session
`Context Guidance Mechanism, IBM Technical Disclosure
`Bulletin, vol. 37, No. 02B, Feb. 1994, pp. 675—676.
`
`US006151630A
`[11] Patent Number:
`[45] Date of Patent:
`
`6,151,630
`Nov. 21, 2000
`
`Primary Examiner—Ahmad F. Matar
`Assistant Examiner—Bharat Barot
`Attorney, Agent, or Firm—David Volejnicek
`
`[57]
`
`ABSTRACT
`
`A method, an apparatus, and a computer-readable pro
`grammed medium that facilitate browsing through an
`ordered sequence (108, 109) of World Wide Web pages
`(107) by automatically skipping over, or bypassing, previ
`ously vieWed pages Whenever the user requests a “Next
`Page” or a “Previous Page”. A page oWner creates a
`sequence by de?ning for each page in the sequence a page
`record (200) that speci?es the page’s URL (205), its sequen
`tial index value (210), an unvieWed ?ag (220), and option
`ally page-descriptive information (230). Upon starting a
`session With a Web server (102), each user is given a copy
`of all page records. Each time a user requests access to any
`page by specifying its URL, the unvieWed ?ag of the user’s
`copy of that pages record is set to a vieWed state. Each time
`a user requests access to any page by specifying a “Next
`Page” or a “Previous Page”, the user’s copy of the page
`records is used to ?nd the ?rst subsequent page or the ?rst
`previous page, respectively, in the sequence to the page that
`is presently vieWed by the user, Whose unvieWed ?ag is in
`the unvieWed state, the state of the ?ag is changed to the
`vieWed state, and the user is given access to this yet
`unvieWed page. At the end of each session, the page record
`copies that correspond to the session are deleted.
`
`19 Claims, 9 Drawing Sheets
`
`M
`SERVER
`
`1 1 1
`
`100
`f
`_ 1
`E E 113
`1111:
`
`(110
`EP r-www-?
`
`101
`
`I130
`
`103
`I
`
`1116
`108
`
`_
`
`MEMORY
`
`550 ENCE
`
`1
`
`PAGE -.
`-
`107;
`
`I
`
`1
`
`_
`
`109
`-
`SEQ ENCE
`
`1
`
`'
`
`I
`
`1
`
`PAGE
`
`1
`
`PAG(E REC)ORD
`
`F|G.2
`
`1
`.
`200 ;
`
`PAGE REc0R0
`200,
`
`W
`% I
`
`107 _
`PAGE
`
`107 ‘
`PAGE
`
`_
`
`:
`
`l
`
`f 102
`,104
`
`r118
`
`Maggi”
`
`,120
`UNVIEWED
`COUNTER
`1119
`MAXIMUM
`PAGES
`I121
`
`COUNTER
`1|
`
`I" _ _ "‘ " " J
`
`J,117
`
`: I114
`:
`] [,115
`ALLOCATED
`CONTROL
`PROGRAMS <--->
`(0053-8)
`MEMORY
`
`CONTROL
`PR RAM
`06
`8
`
`001
`
`ServiceNow, Inc.'s
`Exhibit No. 1006
`
`

`

`US. Patent
`
`Nov. 21, 2000
`
`Sheet170f9
`
`6,151,630
`
`eup<0044<
`
`>mozm2
`
`SEZB
`
`mz<mooma
`
`A:.89
`
`x6.5m
`
`JOKHZOQ
`
`m2<mooma
`
`No—
`
`SB;
`
`mm>mmm
`
`omngz:
`
`958mMOE
`
`@.ozv
`
` mmwzzoo
`
`omzmSz:
`
`awkznoo
`
`omoommmo<a
`
`
`
`@5383“12%|Lm
`
`
`
`002
`
`ServiceNow, |nc.'s
`
`Exhibit No. 1006
`
`002
`
`ServiceNow, Inc.'s
`Exhibit No. 1006
`
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Nov. 21,2000
`
`Sheet 2 of9
`
`6,151,630
`
`PAGE RECORD 200‘
`
`URL
`
`SHIJEDEQ'Q'AL
`VALUE
`
`UNVIEWED
`FLAG
`
`PAGE
`DESCRIPTION
`
`205)
`
`210’
`
`220J
`
`230)
`
`FIG. 2
`
`003
`
`ServiceNow, Inc.'s
`Exhibit No. 1006
`
`

`

`U.S. Patent
`
`Nov. 21,2000
`
`Sheet 3 of9
`
`6,151,630
`
`FIG. 3
`
`300
`
`(STA-g5
`
`;305
`SET MAX. PAGES=O
`I
`,310
`SELEGT PAGE FOR
`SEQUENTIAL INDEXING
`I,
`1512
`GREATE PAGE RECORD
`I
`{315
`ASSIGN SEQUENTIAL
`INDEX VALUE
`,320
`I
`ASSOCIATE URL To
`SEQUENTIAL INDEX
`
`f 330
`REPORT UNSUCCESSFUL
`LINK ASSOCIATION
`
`T
`
`IS URL
`ASSOCIATION
`
`MARK PAGE
`AS UNVIEWED
`I
`,540
`INCREMENT
`MAX. PAGES
`
`;360
`SET UNVIEWED
`COUNTER=MAX. PAGES
`
`REPORT ERROR
`IN SEQUENCING
`
`004
`
`ServiceNow, Inc.'s
`Exhibit No. 1006
`
`

`

`U.S. Patent
`
`Nov. 21,2000
`
`Sheet 4 of9
`
`6,151,630
`
`FIG. 4
`
`400
`
`I410
`
`REQUEST
`MEMORY ALLOCATION
`FOR USER
`
`42
`IS MEMORY O
`ALLOCATION
`SUCCESSFUL
`?
`YES
`
`I460
`INITIALIZE MEMORY FOR
`ASSOCIATED VARIABLES
`
`470
`
`‘440
`
`REPORT
`MEMORY ERROR
`
`005
`
`ServiceNow, Inc.'s
`Exhibit No. 1006
`
`

`

`U.S. Patent
`
`Nov. 21, 2000
`
`Sheet 5 0f 9
`
`6,151,630
`
`FIG. 5
`
`500
`
`510
`
`DOES
`PAGE HAVE
`SEQUENTIAL
`INDEX?
`
`IS
`PAGE MARKED AS
`VIEWED?
`
`YES
`
`I520
`MARK PAGE AS VIEWED
`
`1
`DECREMENT
`UNVIEWED COUNTER
`
`,530
`
`540
`
`006
`
`ServiceNow, Inc.'s
`Exhibit No. 1006
`
`

`

`U.S. Patent
`
`Nov. 21,2000
`
`Sheet 6 of9
`
`6,151,630
`
`335
`
`@905
`
`2%
`
`mmo/Ni 5552:
`Oz E95
`
`v6 65%
`
`8%
`
`
`
`xmoz 2:53am
`
`moi kzmmmzu 0
`
`E300 z<um Em
`
`
`
`007
`
`ServiceNow, Inc.'s
`Exhibit No. 1006
`
`

`

`U.S. Patent
`
`Nov. 21,2000
`
`Sheet 7 of9
`
`6,151,630
`
`£%
`
`
`
`0 0 H2300 z<0w
`
`mm .2: A 238
`
`w 0 v
`
`.2300 260
`
`3%
`
`8%
`
`#2020002
`
`
`
`E300 250
`
`0%
`
`P20200000
`
`
`
`E300 z<0m
`
`£%
`595
`
`
`
`1 030000003023
`
`023001»:
`
`3%
`
`000 303 9000
`
`
`
`z<0m 00.26002
`
`
`
`00<n_ E300
`
`30
`
`
`00<n_ F2300
`z<0m m_
`
`00200323
`
`0
`
`oz
`
`8% 0
`BE; 2 55 Va;
`
`005300 0030523 P20200000
`
`
`
`
`
`000
`
`\ 00.6
`
`mm 65m.
`
`008
`
`ServiceNow, Inc.'s
`Exhibit No. 1006
`
`

`

`U.S. Patent
`
`Nov. 21, 2000
`
`Sheet 8 0f 9
`
`6,151,630
`
`FIG. 7
`
`700
`( START )
`
`NVIEWED
`READ U
`COUNTER VALUE
`
`READ SEQUENTIAL
`SET PAGE RECORDS
`
`,730
`
`,
`SET
`MAX. PAGES
`VIEWED =
`~ UNVIEWED COUNTER
`
`T
`
`{740
`NUMBER
`REPORT
`OF VIEWED PAGES
`
`REPORT
`NUMBER
`OF UNVIEWED PAGES
`
`REPORT DESCRIPTIONS
`AND STATUS OF
`SEQUENTIAL PAGES
`
`‘
`770
`( STOP )
`
`009
`
`ServiceNow, Inc.'s
`Exhibit No. 1006
`
`

`

`U.S. Patent
`
`Nov. 21, 2000
`
`Sheet 9 0f 9
`
`6,151,630
`
`FIG. 8
`
`800
`
`[810
`REQUEST MEMORY
`DEALLOCATION FOR
`ASSOCIATED VARIABLES
`
`820
`
`IS
`DEALLOCATION
`SUCCESSFUL
`I?
`
`REPORT
`UNSUCCESSFUL
`DEALLOCATION
`
`010
`
`ServiceNow, Inc.'s
`Exhibit No. 1006
`
`

`

`1
`NON-REDUNDANT BROWSING OF A
`SEQUENCING OF WEB PAGES
`
`TECHNICAL FIELD
`
`This invention pertains to data-retrieval systems in
`general, and to the World Wide Web in particular.
`
`BACKGROUND OF THE INVENTION
`
`State-of-the-art Web browsers allow a user to dynamically
`link to (view) other Web pages from a presently-viewed
`page by selecting and activating (clicking on) hypertext tags
`of those other pages which are embedded in the presently
`viewed page. The creator of these pages often allows a user
`to link to any individual page via a plurality of different
`paths. For example, tags embedded in a “home page” may
`allow a user to directly link to “page 1”, “page 2”, and “page
`3”, while a tag embedded in “page 1” may allow the user to
`link to “page 2” and a tag embedded in “page 2” may allow
`the user to link to “page 3”. In other words, the pages in this
`example may be viewed either randomly or sequentially. For
`sequential viewing, a “Next Page” tag is often employed, as
`opposed to a tag that explicitly and uniquely speci?es a
`particular page.
`A disadvantage of using the “Next Page” tag becomes
`apparent when the user has already linked to (viewed) one
`or more of the sequential pages in a non-sequential
`manner—for example, if the user has already linked directly
`to “page 2” from the “home page”, but now clicks on the
`“Next Page” tag in “page 1”. The disadvantage is that
`clicking on the “Next Page” tag will link the user to a page
`which he or she has already viewed (“page 2”), whereas
`what the user really desires is to be linked to the next page
`that he or she has not yet viewed (“page 3”).
`Existing systems usually will highlight a tag linking to a
`page that has already been viewed by the user in order to
`indicate to the user that he or she has already viewed that
`page. But this indication is purely informational and does
`not prevent redundancy of page viewing from occurring.
`Existing systems do not allow the user to skip a “next page”
`dynamically, based upon whether or not the user has already
`viewed that page.
`
`SUMMARY OF THE INVENTION
`
`This invention is directed to solving these and other
`problems and disadvantages of the prior art.
`Generally according to the invention, there is provided a
`method, an apparatus, and a computer-readable programmed
`medium that facilitate browsing through an ordered
`sequence of a plurality of pages of information in a manner
`that automatically bypasses, skips over, previously-viewed
`(accessed) pages in the sequence. Speci?cally, in response to
`receipt from a user of a request for a “next page” in the
`sequence while the user is accessing some individual page in
`the sequence, the user is given access to a ?rst page
`subsequent in the ordered sequence to the individual page
`that has not yet been accessed by the user. Preferably, the
`invention is applied to both the forward and the reverse
`directions of browsing the sequence. Namely, in response to
`receipt from a user of a request for a “previous page” in the
`ordered sequence while the user is accessing some indi
`vidual page in the sequence, the user is given access to a ?rst
`page preceding the individual page in the sequence that has
`not yet been accessed by the user.
`Advantageously, the invention does not interfere with or
`change the conventional way of accessing particular pages
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`6,151,630
`
`2
`by uniquely identifying them (e.g., by specifying their URL
`or other address in the access request). Thus, in response to
`receipt from a user of a request for a page in the sequence
`that uniquely identi?es the requested page, the user is given
`access to the identi?ed page regardless of whether or not the
`user has already accessed the identi?ed page. Optionally,
`instead of, or in addition to, being used to skip previously
`accessed pages in a sequence, the invention may be used to
`achieve the complementary effect of allowing the user to
`access only previously-accessed pages in the sequence. This
`allows the user to more-easily ?nd information which the
`user knows that he or she has seen before.
`These and other advantages and features of the invention
`will become more apparent from the following detailed
`description of an illustrative embodiment of the invention
`considered together with the drawing.
`
`BRIEF DESCRIPTION OF THE DRAWING
`
`FIG. 1 is a block diagram of an illustrative data-retrieval
`system that includes an illustrative embodiment of the
`invention;
`FIG. 2 is a block diagram of a page record of a server of
`the system of FIG. 1;
`FIG. 3 is a ?owchart of a page-sequence de?nition
`process of the server of the system of FIG. 1;
`FIG. 4 is a ?owchart of a session-establishment process of
`the server of the system of FIG. 1;
`FIG. 5 is a ?owchart of a page-viewing process of the
`server of the system of FIG. 1;
`FIGS. 6A and 6B are a ?owchart of a “Next Page”
`activation process of the server of the system of FIG. 1;
`FIG. 7 is a ?owchart of a status-reporting process of the
`server of the system of FIG. 1; and
`FIG. 8 is a ?owchart of a session-termination process of
`the server of the system of FIG. 1.
`
`DETAILED DESCRIPTION
`FIG. 1 shows a simpli?ed block diagram of the World
`Wide Web. It comprises end-user terminals, represented by
`terminal 100, each executing a World Wide Web browser
`110, such as a Microsoft® Internet Explorer or a Netscape®
`Navigator, and interconnected by a communications
`network, represented by the Internet 101, with World Wide
`Web servers, represented by server 102. Auser uses terminal
`100 and browser 110 to request and obtain pages 107 of
`information from server 102, which are then displayed to the
`user on a display 111 of terminal 100. Also displayed on
`display 111 by browser 110 along with each page 107 are a
`“Next Page” virtual button 112 and a “Previous Page”
`virtual button 113. Server 102 is a stored-program
`controlled apparatus that includes communications ports
`130 for interfacing server 102 to Internet 101, a processor
`103, and a memory 104 that stores control programs 114 for
`execution by processor 103 and data (pages 107 of
`information) for access by users. Memory 104 may com
`prise any number and types of storage units, both on-line and
`off-line. As described so far, the World Wide Web of FIG. 1
`is conventional. For purposes of this invention, the World
`Wide Web may be replaced by any electronic data-retrieval
`system, and the pages may be replaced by any addressable
`data entities. Moreover, the server and the browser may even
`be co-located on the same computer.
`According to the invention, included among data 116 and
`programs 114 stored in memory 104 of server 102 are page
`records 200 and control programs 115 which implement the
`invention in the World Wide Web of FIG. 1.
`
`011
`
`ServiceNow, Inc.'s
`Exhibit No. 1006
`
`

`

`3
`An illustrative page record 200 is shown in FIG. 2. One
`record 200 exists for each page 107 that is included in a
`sequence 108 or 109 With other pages 107 (as opposed to
`being a stand-along page 107 that is not a part of any
`sequence of pages). Record 200 includes a Universal
`Resource Locator (URL) ?eld 205 Which stores an identi?er
`(e.g., the URL or some other address) of the corresponding
`page 107. Record 200 also includes a sequential index value
`?eld 210 Which stores the sequential index value of the
`corresponding page 107 in a sequence 108 or 109 of pages.
`The sequential index value indicates the position of the page
`in the sequence 108 or 109 of pages relative to the positions
`of the other pages 107 in that sequence. While it is suf?cient
`that the sequential index values be ordinal (i.e., monotoni
`cally increasing or decreasing) in the sequence, for ease of
`illustration this discussion assumes that the index values are
`truly sequential, i.e., the difference betWeen the index values
`of any tWo pages 107 in the sequence is one. Record 200
`further includes an unvieWed ?ag ?eld 220 Whose state
`indicates Whether or not the corresponding page 107 has
`been accessed (vieWed) by the user during the present
`session. Optionally, record 200 also includes a page descrip
`tion ?eld 230, Which can contain any supplemental infor
`mation that the oWner of page 107 Wishes to associate
`thereWith.
`FIG. 3 shoWs the de?nition process Which the author of
`pages 107 uses to de?ne a sequence 108 or 109 of pages 107
`and records 200 of pages 107 in the sequence. Upon
`invoking execution of a de?nition program from control
`programs 115, at step 300, processor 103 sets a variable
`MAXiPAGES 118 or 119 to Zero, at step 305. When the
`author selects and identi?es to processor 103 a page 107
`(initially the page 107 that is to be the ?rst page in sequence
`108 or 109) for sequential indexing, at step 310, processor
`103 creates a page record 200 for that page 107, at step 312,
`and assigns a sequential index value—illustratively the
`present value of the MAXiPAGES variable 118 or 119—to
`that page 107 by storing the sequential index value in ?eld
`210 of record 200 of that page 107, at step 315. Processor
`103 also associates the URL of that page 107 With the
`sequential index value by storing the URL in ?eld 205 of
`record 200 of that page 107, at step 320. Processor 103 then
`checks Whether the URL association Was successful, e.g.,
`that a page actually exists at the location speci?ed in the
`URL and that it is accessible, at step 325. If the processor
`103 ?nds that the URL association Was not successful, it
`reports that fact to the author, at step 330, and returns to step
`310 et seq. to aWait the author’s next page selection. If
`processor 103 ?nds at step 325 that the URL association Was
`successful, it marks the subject page 107 as unvieWed by
`setting ?ag ?eld 220 of record 200 of that page 107 to the
`unvieWed state, at step 335. Processor 103 then increments
`the value of the MAXiPAGES variable 108 or 109, at step
`340, and checks Whether there are more pages 107 to be
`included in the sequence 108 or 109, at step 345.
`Illustratively, processor 103 makes this determination by
`asking the author. If there are more pages 107 to be
`sequenced, processor 103 returns to steps 310 et seq. to
`aWait the author’s next page selection. If there are no more
`pages 107 to be sequenced, processor examines the values of
`sequential index value ?eld 210 of records 200 of all of the
`pages 107 that have been placed in the sequence 108 or 109,
`at step 350, to determine if these values are sequential, at
`step 355. If they are not sequential, processor 103 reports a
`sequencing error to the author, at step 365, and ends execu
`tion of the de?nition program, at step 370. If the values are
`sequential, processor 103 sets the value of an
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`6,151,630
`
`4
`UNVIEWEDiCOUNTER variable 120 or 121 to the
`present value of the MAXiPAGES variable 118 or 119, at
`step 360, and then ends execution of the de?nition program,
`at step 370. The value of both the MAXiPAGES variable
`118 or 119 and the UNVIEWEDiCOUNTER variable 120
`or 121 are saved in non-volatile memory 104 (e.g., disk
`memory) in correspondence With the just-created sequence
`108 or 109 of pages 107.
`FIG. 4 shoWs a session-establishment process Which is
`performed each time that a user begins a session With server
`102. When a user ?rst accesses server 102 (i.e., server 102
`receives a request for a page 107 from a neW user), processor
`103 begins execution of a session-establishment program
`from control programs 115, at step 400. Processor 103
`effects allocation of memory space 117 in memory 104 for
`use by the user, in a conventional manner, at step 410, and
`checks Whether the allocation succeeded, at step 420. If
`memory 117 allocation failed, processor 103 reports that
`fact, at step 440, and then ends execution of the session
`establishment process, at step 470. If memory 117 allocation
`succeeded, processor 103 initialiZes the allocated memory
`117 for variables associated With this session, at step 460.
`Inter alia, this involves making and loading a copy of
`records 200 of all pages 107 and values of UNVIEWEDi
`COUNTER and MAXiPAGES variables 118—121 of all
`sequences 108—109 that are stored in server 102 into allo
`cated memory 117. This copy and not the originals Will be
`used by processor 103 to service the user’s page-access
`requests. Optionally, processor 103 may also place the
`corresponding pages 107 in a cache memory. Processor 103
`then ends execution of the session-establishment program, at
`step 470.
`FIG. 5 shoWs a page-vieWing process Which is performed
`each time that a user requests a page 107 by specifying its
`URL. Receipt of such a request at server 102 invokes
`execution of a page-vieWing program from control programs
`115 by processor 103, at step 500. Processor 103 checks
`Whether a record 200 that corresponds to the received URL
`exists, and if so, if it has a value in sequential index value
`?eld 210, at step 510. If record 200 does not exist or index
`value ?eld 210 is empty, execution of the page-vieWing
`program ends, at step 540, and server 102 proceeds to
`process the request in a conventional manner. If a record 200
`corresponding to the received URL exists and has a value in
`sequential index value ?eld 210, processor 103 checks
`unvieWed ?ag ?eld 220 of the copy of that record in the
`user’s allocated memory 117 to determine if that page 107
`is marked as having already been vieWed by this user, at step
`515. If it is marked as vieWed, processor proceeds to step
`540. If it is not marked as vieWed, processor 103 sets the
`value of ?eld 220 of the copy of that record 200 in the user’s
`allocated memory 117 to indicate that the corresponding
`page 107 is being vieWed by this user, at step 520, and also
`decrements the value of the page’s corresponding copy—if
`any—of UNVIEWEDiCOUNTER variable 120 or 121 in
`the user’s allocated memory, at step 530. Processor 103 then
`proceeds to step 540. In either case, the user is given access
`to the requested page 107 regardless of Whether or not the
`user has already vieWed that page.
`FIGS. 6A and 6B shoW a “Next Page” activation process
`Which is performed each time that an existing user requests
`a page 107 by pressing either “Next Page” virtual button 112
`or “Previous Page” virtual button 113. Receipt of such a
`request at server 102 invokes execution of the “Next
`UnvieWed Page” activation program from control programs
`115 by processor 103, at step 600. Processor 103 ?rst checks
`in the contents of the user’s allocated memory 117 Whether
`
`012
`
`ServiceNow, Inc.'s
`Exhibit No. 1006
`
`

`

`10
`
`15
`
`25
`
`35
`
`5
`the copy of any UNVIEWEDiCOUNTER variable 120 or
`121 that corresponds to the presently-vieWed page 107 (i.e.,
`the page 107 accessed by the user before receipt of the “Next
`UnvieWed Page” or “Previous UnvieWed Page” request) has
`a value greater than Zero, at step 605. If not, processor 103
`reports to the user that there are no unvieWed pages left, at
`step 610, and ends execution of the “Next UnvieWed Page”
`activation program, at step 695. If any such corresponding
`non-Zero UNVIEWEDiCOUNTER is variable 120 or 121
`is found at step 605, processor 103 sets the value of
`SCANiCOUNT variable to the value of sequential index
`value ?eld 210 of the presently-vieWed page 107, at step
`615. Processor 103 then reads the value of a SCANiFLAG
`variable Which indicates Whether the “Next Page” button
`112 or the “Previous Page” button 113 Was pressed, at step
`620, and determines Whether a forWard or a backWard scan
`Within the presently-scanned sequence 108 or 109 is being
`requested, at step 625.
`If the request is for a forWard scan, processor 103 incre
`ments the value of the SCANiCOUNT variable, at step
`660, and then checks Whether this value exceeds the value
`of the user’s copy of the MAXiPAGES variable 118 or 119
`that corresponds to this sequence 108 or 109, at step 670. If
`the SCANiCOUNT value exceeds the value of the MAXi
`PAGES variable 118 or 119, processor 103 sets the value of
`SCANiCOUNT to Zero, thereby Wrapping around from the
`end to the beginning of the sequence 108 or 109, at step 665,
`and returns to step 660. If the SCANiCOUNT value does
`not exceed the value of the MAXiPAGES variable 118 or
`119, processor 103 checks Whether the user’s copy of record
`200 Whose sequential index value 210 equals the SCANi
`COUNT value indicates in its ?eld 220 that this page 107
`has not been vieWed by the user, at step 675. If this page 107
`has been vieWed, processor 103 returns to step 660. If this
`page 107 has not been vieWed, processor 103 proceeds to
`step 650.
`Returning to step 625, if it is there determined that the
`request is for a backWard scan, processor 103 decrements the
`value of the SCANiCOUNT variable, at step 630, and then
`checks Whether this variable’s value is less than Zero, at step
`635. If so, processor 103 sets the value of SCANiCOUNT
`to an incremented value of the user’s copy of the MAXi
`PAGES variable 118 or 119 that corresponds to this
`sequence 108 or 109, at step 640, thereby Wrapping around
`from the beginning to the end of the sequence 108 or 109,
`and returns to step 630. If the SCANiCOUNT value is not
`less than Zero, processor 103 checks Whether the user’s copy
`of record 200 Whose sequential index value 210 equals the
`SCANiCOUNT value indicates in its ?eld 220 that this
`page 107 has not been vieWed by the user, at step 645. If this
`page 107 has been vieWed, processor 103 returns to step 630.
`If this page 107 has not been vieWed, processor 103 pro
`ceeds to step 650.
`At step 650, processor 103 reads the address of page 107
`from the URL ?eld 205 of its record 200, at step 650, and
`checks Whether the hypertext link Was successful, e.g.,
`Whether it is able to retrieve a page-server acknoWledgment
`or a cache acknoWledgment, at step 680. If the hypertext link
`Was not successful, processor 103 reports it to the user, at
`step 655, and proceeds to step 695. If the hypertext link Was
`successful, processor 103 marks the subject page 107 as
`vieWed, by setting ?ag 220 of the user’s copy of its record
`200 to the vieWed state, at step 685. Processor 103 then
`decrements the user’s copy of the corresponding
`UNVIEWEDiCOUNTER variable 120 or 121, at step 690,
`and proceeds to step 695. After execution of the “Next
`UnvieWed Page” activation program ends, at step 695,
`serving the user’s request continues in the conventional
`manner.
`
`45
`
`55
`
`65
`
`6,151,630
`
`6
`FIG. 7 shoWs a status-reporting process Which is per
`formed Whenever the user requests status from server 102.
`Receipt of the status request at server 102 invokes execution
`of the status-reporting program from control programs 115
`by processor 103, at step 700. Processor 103 reads from the
`user’s allocated memory 117 the value of UNVIEWEDi
`COUNTER variable 120 or 121 Which corresponds to
`Whatever page sequence 108 or 109 is presently being
`accessed by the user, at step 710. Processor 103 also
`examines the unvieWed ?ag ?eld 220 of copies of records
`200 in the user’s allocated memory 117 of all pages 107 in
`the page sequence 108 or 109 being accessed by the user, to
`determine hoW many are marked as unvieWed by the user, at
`step 720. Processor 103 then uses this number and the value
`of the MAXiPAGES variable 118 or 119 corresponding to
`the subject page sequence 108 or 109 to determine the
`number of vieWed pages 107 in the sequence 108 or 109, at
`step 730. Processor 103 then reports to the user the number
`of vieWed pages 107, at step 740, the number of unvieWed
`pages 107, at step 750, plus any information gleaned from
`page description ?eld 230 of records 200 of pages 107 in this
`sequence 108 or 109, at step 760. Execution of the status
`reporting program then ends, at step 770.
`FIG. 8 shoWs a session-termination process Which is
`performed each time that a user ends a session With server
`102. When a user terminates the session, e.g., logs off or
`exits the broWser, processor 103 begins execution of a
`session-termination program from control programs 115, at
`step 800. Processor 103 effects deallocation of memory 117
`from the user, in a conventional manner, at step 810, and
`checks Whether the deallocation succeeded, at step 820. If
`memory 117 deallocation failed, processor 103 reports that
`fact, at step 830. If memory 117 deallocation succeeded, or
`folloWing step 830, processor ends execution of the session
`termination process, at step 840.
`Of course, various changes and modi?cations to the
`illustrative embodiment described above Will be apparent to
`those skilled in the art. For example, the pages need not be
`textual, but may be graphical, video, and/or audio in nature.
`Also, the sequence-traversal functions may be executed
`locally on terminal 100 instead of on server 102, or they may
`be executed from cache memory. Furthermore, the same
`principles may be applied to accessing of a sequence of page
`segments, or to accessing of previously-vieWed (as opposed
`to previously unvieWed) pages. Such changes and modi?
`cations can be made Without departing from the spirit and
`the scope of the invention and Without diminishing its
`attendant advantages. It is therefore intended that such
`changes and modi?cations be covered by the folloWing
`claims.
`What is claimed is:
`1. A method of broWsing through an ordered sequence of
`a plurality of pages of information, comprising:
`receiving a request from a user for a next page in the
`sequence While the user is accessing an individual page
`in the sequence; and
`in response to the request, skipping over and not giving
`the user access to previously-accessed pages subse
`quent in the sequence to the individual page and giving
`the user access to a ?rst page, subsequent in the
`sequence to the individual page, that has not yet been
`accessed by the user.
`2. The method of claim 1 further comprising:
`receiving a second request from the user for a previous
`page in the sequence While the user is accessing the
`individual page; and
`
`013
`
`ServiceNow, Inc.'s
`Exhibit No. 1006
`
`

`

`6,151,630
`
`7
`in response to the second request, giving the user access
`to a ?rst page, preceding the individual page in the
`sequence, that has not yet been accessed by the user.
`3. The method of claim 1 further comprising:
`receiving a second request from the user for a page in the
`sequence Which page is uniquely identi?ed in the
`request; and
`in response to the second request, giving the user access
`to the identi?ed page regardless of Whether or not the
`user has already accessed the identi?ed page.
`4. The method of claim 2 further comprising:
`receiving a third request from the user; and
`in response to the third request, reporting to the user hoW
`many pages in the sequence have already been accessed
`by the user and hoW many pages in the sequence have
`not yet been accessed by the user.
`5. The method of claim 4 Wherein:
`at least some of the pages in the sequence have corre
`sponding stored descriptions associated thereWith, and
`the step of reporting further comprises the step of report
`ing to the user any corresponding stored descriptions
`associated With the pages in the sequence.
`6. A method of broWsing through an ordered sequence of
`a plurality of pages of information, comprising:
`in response to receiving a request from a user to access a
`neXt page in the sequence While the user is accessing an
`individual page in the sequence, determining Whether
`the user has already accessed a second page that is
`adjacent to the individual page in the sequence;
`in response to determining that the user has not yet
`accessed the second page, giving the user access to the
`second page;
`in response to determining that the user has already
`accessed the second page, forbearing from giving the
`user access to the second page and determining Whether
`the user has already accessed a third page, other than
`the individual page, that is adjacent to the second page
`in the sequence; and
`in response to determining that the user has not yet
`accessed the third page, giving the user access to the
`third page.
`7. The method of claim 6 further comprising:
`in response to determining that the user has already
`accessed the third page, giving the user access to a ?rst
`page that folloWs the third page in the sequence and that
`has not yet been accessed by the user.
`8. A method of broWsing through an ordered sequence of
`a plurality of pages of information, comprising:
`for each page in the sequence, creating a page record
`comprising and identi?er of the page, an indicator of a
`position of the page in the sequence relative to posi
`tions of other said pages in the sequence, and an
`indicator of Whether or not the page has been accessed
`and presently indicating that the page has not been
`accessed;
`in response to the user’s each request to access a particular
`page in the sequence by specifying the identi?er of the
`particular page, causing the accessed indicator of the
`record of the particular page to indicate that the par
`ticular page has been accessed, and giving the user
`access to the particular page;
`in response to the user’s each request to access a neXt page
`in the sequence While the user is accessing an indi
`vidual page in the sequence, using the position indica
`tors of the record of the individual page and of the
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`8
`record of a ?rst page subsequent in the sequence to the
`individual page to ?nd the ?rst page;
`determining from the accessed indicator of the record of
`the ?rst page Whether the ?rst page has been accessed;
`in response to determining that the ?rst page has not been
`accessed, causing the accessed indicator of the record
`of the ?rst page to indicate that the ?rst page has been
`accessed, and giving the user access to the ?rst page;
`in response to determining that the ?rst page has been
`accessed, using the position indicators of the record of
`the ?rst page and of the record of a second page
`subsequent in the sequence to the ?rst page to ?nd the
`second page;
`determining from the accessed indicator of the record of
`the second page Whether the second page has been
`ac

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