`Chow et al.
`
`US006029175A
`[11] Patent Number:
`[45] Date of Patent:
`
`6,029,175
`Feb. 22, 2000
`
`[54] AUTOMATIC RETRIEVAL ()F CHANGED
`FILES BY A NETWORK SOFTWARE AGENT
`
`0651330A2 5/1995 European Pat. Off. ........ .. G06F 9/46
`WO82/02784 8/1982 WIPO .................. ..
`.. G06F 11/00
`WO94/00816 1/1994 WIPO ........................... .. G06F 13/00
`
`[75] Inventors: Yen-Whei Chow, San Jose; Frederick
`A. Hayes-Roth, Atherton; Neil A.
`J acobstein, Palo Alto; James E.
`Manley San Jose. Christopher B_
`McMahan, cuper?no, an of Calif
`
`[73] Assignee; Teknowledge Corporation, Palo Alto,
`Calif.
`
`[21] Appl. No.: 08/664,323
`
`[22]
`
`Filed:
`
`Jun‘ 7’ 1996
`
`Related US. Application Data
`Provisional application No. 60/005,896, Oct. 26, 1995.
`
`[60]
`
`Int. Cl.7 .................................................... .. G06F 17/30
`[51]
`[52] US. Cl. ........................ .. 707/104; 707/200; 707/201;
`707/203; 707/10; 709/202; 709/203
`[58] Field of Search ................................ .. 707/104, 1, 10,
`707/200, 201, 203; 395/200.33, 200.32,
`200.34, 200.35; 709/202, 203, 219
`_
`References Clted
`U_S_ PATENT DOCUMENTS
`
`[56]
`
`4,558,413 12/1985 Schmidt et al. ...................... .. 364/300
`4,686,620
`8/1987 Ng ................... ..
`364/200
`5,005,122
`4/1991 Grif?n et al. .
`.. 364/200
`570517887
`9/1991 Berger et a1‘
`n 364000
`570607185 10/1991 Naito et aL
`364/9O0
`571337075
`7/1992 Risch __________ __
`395/800
`5,155,845 10/1992 Beal et a1_
`395/575
`5,157,663 10/1992 Major et al. .... ..
`371/9.1
`5,313,664
`5/1994 Sugiyama et al-
`-- 364/405
`5,315,703
`5/1994 Matheny et a1~ ~~
`395/164
`5,343,477
`8/1994 Yamada ' ' ' ' ' ' ' ' ' ' ' ' '
`' ' ' " 371/82
`£12523 et a1‘
`"""""""""""""""""" "
`(List Continued on next page)
`
`’
`
`’
`
`FOREIGN PATENT DOCUMENTS
`
`OTHER PUBLICATIONS
`
`Thomas Ball et al., “An Internet Difference Engine and its
`Applications,” COMPCON ’96 Conference, Technologies
`for the Information Superhighway, 41st IEEE Computer
`Society Int’l Conference, IEEE, Feb. 1996, pp.p71—76, Feb.
`1996
`Swarup Acharya and Stanley B. Zdonik, “An Ef?cient
`Scheme for Dynamic Data Replication,” Sep. 1993 Techni
`cal paper CS—93—43, Department of Computer Science,
`Brown University, Providence, RI —2912 (25 pages).
`
`List continued on next a e.
`(
`p g )
`
`Primary Examiner_paul V_ Kulik
`Attorney) Agent) or Firm—ArnQ1d White & Durkee
`
`ABSTRACT
`[57]
`An intelligent network agent intercepts transactions between
`clients and servers to perform Distributed Information
`Lo istics Services DILS functions such as automaticall
`retrgieving updated ?les frlm remote servers and delivering
`them to local client programs. For example, HTTP clients
`and HTTPD servers are connectionless and stateless, thus
`there is no way for a server to update a browser automati
`cally when an HTML document is changed. The invention
`.
`.
`provides a method to'update any number of clients from any
`number of servers without making any changes to currently
`existing HTTP clients or HTTPD servers. Furthermore, the
`invention can provide various other DILS services for
`clients to reduce latency and communication costs for mem
`bers of a group with interests in similar objects. For
`example, the intelligent network agent maintains a cache of
`objects of interest to the group of clients, a log of changes
`to the objects, a list of the clients interested in the objects,
`a list of signi?cant change detection methods for the objects,
`a list of search speci?cations for the objects, lists of client
`noti?cation methods, and lists of general interest speci?ca
`tions for the Clients
`
`0384339A2 8/1990 European Pat. Off. ........ .. G06F 9/46
`0479660A2 4/1992 European Pat. Off. ........ .. G06F 9/46
`
`96 Claims, 43 Drawing Sheets
`
`Plaid Technologies Inc.
`Ex. 1015
`
`Ex. 1015 Page 1
`
`
`
`6,029,175
`Page 2
`
`US. PATENT DOCUMENTS
`
`8/1995 Yanai et al. ........................... .. 395/489
`5,444,347
`5,459,857 10/1995 Ludlam etal.
`395/182.04
`5,471,629 11/1995 Risch .......... ..
`707/1
`5,491,784
`2/1996 Douglas et al.
`395/159
`
`5,592,664
`
`1/1997 Starkey . . . . . . . . . . . . .
`
`. . . . . . .. 707/1
`
`5,594,910
`5,727,129
`5,740,549
`5,754,850
`5,799,318
`
`395/800
`1/1997 Filepp et al. ..
`3/1998 Barrett et al. ........................... .. 395/12
`4/1998 Reilly et al. ............................ .. 705/14
`5/1998 Janssen ........... ..
`385/615
`8/1998 Cardinal et al. ...................... .. 707/104
`
`OTHER PUBLICATIONS
`
`Chris Dodge, Beate Marx, Hans Pfeiffenberger, “Web Cata
`loguing Through Cache Exploitation and Steps Toward
`Consistency Maintenance,” The Third International
`World—Wide Web Conference, Apr. 10—14 1995, Darmstadt,
`Germany (12 pages).
`Paul Klark and Udi Manber, “Developing a Personal Inter
`net Assistant,” Proceedings of ED—MEDIA—1995—World
`Conference on Educational Multimedia and Hypermedia,
`GranZ, Austria, Jun. 16—23 (HTML version, 10 pages).
`Anawat Chankhunthod, Peter B. DanZig, Chuck Neerdaels,
`Michael F. SchwartZ, and Kurt J. Worrell, “A Hierarchial
`Internet Object Cache,” USENIX 1996 Annual Technical
`Conference, (11 pages).
`Jim Gettys, Tim Berners—Lee and Henrik Frystyk Nielsen,
`“Replication and Caching Position Statement,” 1997/08/09,
`http://www.w3.org/Progpagation/Activity.html (6 pages).
`Ingrid Melve, “11 Web caching architecture, references,”
`Mar. 6, 1997 (last modi?ed), http://www.uninett.no/
`prosjekt/desire/arneberg/refhtml (2 pages).
`Peter DanZig, “NetCache Architecture and Deployment,”
`Network Appliance, Inc., Santa Clara, California, 1998,
`http://www.netapp.com/technology/level3/3029.html
`(14
`pages).
`Brooks Cutter, “v3new v0.4: Creates a What’s New list of
`http: URL’s,” containing a date Jul. 25, 1994, residing at
`http:/www.ics.uci.edu/pub/websoft/libwww—perl/archive/
`1994/0014.html on Oct. 10, 1998 (4 pages).
`First Floor Software Press Release regarding announced
`shipping of Netscape SmartMarks, containing a date Oct.
`30, 1995, and residing at one time at http://www.?rst?oor
`.com/press/l995/smtmarks.html (1 page).
`First Floor Software Press Release, “First Floor Announces
`Smart Bookmarks 1.0 Availability,” containing a date Jan. 8,
`1996, and residing at one time at http://www.?rst?oor.com/
`press/1996ipress.html (1 page).
`Richard Karpinski, “Smart Bookmarks,” Interactive Age,
`vol. 2, No. 22, Aug. 28, 1995 (2 pages).
`“Netscape Announces Add—on Product Suite for Popular
`Netscape Navigator Software,” containing the date Oct. 25,
`1995, Netscape Communications Corp., Mountain View,
`California,
`http:/www,netscape.com/newsref/pr/
`newsrelease57.html (4 pp.).
`Specter, Inc. announcement, “ebWatch 1.0 released,” con
`taining a date May 12, 1995, residing at one time at
`http:/scout18.cs.wisc.edu/NH/95—05—16/0015.html
`(one
`page)
`Excerpt from a Sur?ogic corporate information page on the
`WWW (one page).
`
`Sur?ogic corporate information page as of Oct. 10, 1998 at
`http://www.sur?ogic.com, “WebWatch 1.1” at hhtp://sur
`?ogic. com/ww.1x/products.html, “WebWatch 1.1 dta sheet”
`at http:// sur?ogic.com/ww.1.x/products.html, “WebWatch
`1.1 online documentation” at http://sur?ogic.com/ww.1.x/
`onlineidociwwlhtml, “WebWatch 1.1 Frequently Asked
`Questions” at http://sur?ogic.com/ww.1.x/faqiwwlhtml,
`“WebWatch 1.1 releast notes, known bugs and bug—like
`features” at http:// sur?ogic.com/ww.1.x/releaseinotesi
`wwl.html (12 pages).
`AZer Bestavros et al., “Application—Level Document Cach
`ing in the Internet,” Boston University Computer Science
`Dept. Technical Report 95—002, containing a date Feb. 15,
`1995 and residing at http://www.cs.bu.edu/techreports (20
`pages).
`AZer Bestavros, “Demand—based Document Dissemination
`for the World—Wide Web,” Boston University Computer
`Science Dept. technical report 95—003, containing a date
`Feb. 15, 1995 and residing at http://www.cs.bu.edu/techre
`ports (22 pages).
`AZer Bestavros, “Using Speculation to Reduce Server Load
`and Service Time on the WWW,” Boston University Com
`puter Science Sept. Technical Report 95—006, containing a
`date Feb. 15, 1995, and residing at http://www.cs.bu.edu/
`techreports (17 pages).
`AZer Bestavros and Carlos Cunha, “A Prefetching Protocol
`Using Client Speculation for the WWW,” Boston University
`Computer Science Dept. Technical Report Abstract 95—011,
`containing a date Apr. 28, 1995, and residing at http://
`www.cs/bu/edu/ techreports/abstracts/95—011 (1 page).
`M(aurice) William Collins, “A Network File Storage Sys
`tem,” IEEE Seventh Symposium on Mass Storage Systems,
`Nov. 4—7, 1985, Tucson, AZ, pp. 1—11, Los Alamos Nat.
`Lab. No. LA—UR—85—3183.
`Matt Kramer, “Fault—Tolerant LANs Guard Against Mal
`function, Data Loss”, PC Week, Sep. 15, 1987, vol. 4, No.
`37, p.C/26—C/34.
`Herrick Johnson and Mark Adams, “RPC: The Key To
`Distributed Software,” EXE Magazine, Nov. 1987, pp.
`58—61.
`John H. Howard et al., “An Overview of the Andrew File
`System,” USENIX Winter Conference, Feb. 9—12, 1988,
`Dallas, TX, pp. 23—26.
`John H. Howard et al., “Scale and Performance in a Dis
`tributed File System,” ACM Transactions on Computer
`Systems, vol. 6, No. 1, Feb. 1988, pp. 51—81.
`Eric Strandberg, “Not My Fault Tolerance,” Connect, Winter
`1989, p. 66.
`“Fault Tolerance for LANs and Microcomputers,” Atlantic
`Microsystems, Inc., Salem, NH, 1989, 7 pages.
`Alex Siegel et al., “Deceit: A Flexible Distributed File
`System,” USENIX Summer Conference, Jun. 11—15, 1990,
`Anaheim, California, pp. 51—61.
`Richard G. Guy et al., “Implementation of the Ficus repli
`cated File System,” USENIX Summer Conference, Jun.
`11—15, 1990, Anaheim, California, pp. 63—71.
`David C. Steere et al., “Ef?cient User—Level File Cache
`Management on the Sun Vnode Interface,” USENIX Sum
`mer Conference, Jun. 11—15, 1990, Anaheim, California, pp.
`325—331.
`Thomas W. Page, Jr., et al., “Management of Replicated
`Volume Location Data in the Ficus Replicated File System”,
`USENIX, Summer ’91, Nashville, TN, pp. 17—29.
`
`Ex. 1015 Page 2
`
`
`
`6,029,175
`Page 3
`
`Matt Blaze et al., “Long—Term Caching Strategies for Very
`Large Distributed File Systems,” USENIX, Summer ’91,
`Nashville, TN, pp. 3—15.
`Tim Berners—Lee et al., “World—Wide Web: The Informa
`tion Universe,” Electronic Networking: Research, Applica
`tions and Policy, vol. 1, No. 2, Meckler, Westport, CT,
`Spring ’91, 9 pg.
`Nathan Torkington, “World Wide Web Primer,” Sep. 16,
`1993, pp. 1—10.
`Nathan Torkington, “An Information Provider’s Guide to
`Web Servers”, Sep. 16, 1993, pp. 1—8.
`Nathan Torkington, “An Information Provider’s Guide to
`HTML,” Sep. 16, 1993, pp. 1—6.
`T. Berners—Lee et al., “Hypertext Transfer Protocol—HTTP/
`1.0” Internet—Draft, Mar. 8, 1995, pp. 1—57.
`Application Programmer’s Interface for the NCSA Mosaic
`Common Client Interface (CCI), Version 1.1, Mar. 31, 1995,
`pp. 1—9. (http:/WWW.ncsa.uiuc.edu/SDG/SoftWare/SMosaic/
`CCI/cci—api.html).
`T. Berners—Lee et al., “Hypertext Markup Language—2.0,”
`Internet Task Force, Jun. 16, 1995, pp. 1—77.
`“The CGI Speci?cation” (http://hoohoo.ncsa.uiuc.edu/cgi)
`including “CGI Environmental Variables,” CGI Command
`Line Options, “CGI Script Output,” “Decoding FORMs
`With CGI,” “Common GateWay Interface,” 20 pages.
`Mosaic for X version 2.0 Fill—Out Form Support (http://
`WWW.ncsa
`.edu/SDG/SoftWare/Mosaic/Docs/?ll—out
`—forms/overvieW.html), pp. 1—8.
`First Floor SoftWare Corporate Backgrounder, First Floor
`SoftWare, Mountain VieW, CA, 1995, 4 pages.
`
`“Internet Marketing With Bulletins,” First Floor, Inc., Moun
`tain VieW, CA, 4 pages.
`“Smart Bookmarks, The radically simple Way to stay on top
`of the Web,” First Floor, Inc., Mountain VieW, CA, 1995, 2
`pages.
`SteWart Alsop, “Bookmarks mark the neXt chapter in the
`continuing story of the War of the Web,” InfoWorld, Sep. 11,
`1995, 2 pages.
`Richard Karpiski, “SmartMarks Technology a pet project for
`First Floor CEO,” Interactive Age, Aug. 21, 1995, 2 pages.
`Netscape Press Releases, “Netscape Introduces Netscape
`Smart—Marks and Netscape Chat, Applications Bring NeW
`Navigation and Communications Capabilities .
`.
`. ” Aug. 22,
`1995, 2 pages.
`Robert HertZberg, “Agent—Aided Bookmarking for Win95
`BroWers,” Web Week, Jan. 1996, p. 33.
`Jessica Davis, “First Floor tools monitor Web site changes,”
`InfoWorld, Feb. 19, 1996, p. 51.
`BoWman et al., Harvest: A Scalable, CustomiZable Discov
`ery
`and
`Access
`System,
`Technical
`Report
`CU—CSA—731—94, Department of Computer Science, Uni
`versity of Colorado, Boulder, Colorado, (Revised Mar.
`1995).
`BoWman et al., “The Harvest Information Discovery and
`Access System.” (9 pages).
`GertZman and SeltZer, “The Case for Geographical Push
`—Caching,” VINO: The Fall Harvest, TR—34—04 Dec. 1994,
`Center for Research in Computing Technology, Harvard
`University, Cambridge Mass.
`
`Ex. 1015 Page 3
`
`
`
`U.S. Patent
`
`Feb. 22, 2000
`
`Sheet 1 0f 43
`
`6,029,175
`
`(3
`Any CCI capable
`Web Browser
`
`2b
`
`Mosaic
`
`2a
`
`Mosaic
`
`Revision
`Manager
`
`r 4
`
`Remote HTTP Sewer
`
`[4a
`
`Remote HTTP Server
`
`Remote HTTP Server
`
`FIG. 1
`
`Ex. 1015 Page 4
`
`
`
`U.S. Patent
`
`Feb. 22,2000
`
`Sheet 2 0f 43
`
`6,029,175
`
`6
`
`Revi 5 ion Manager
`Daemon
`
`f7
`Polling Daemon
`
`f8
`CGI Scripts
`
`FIG. 2
`
`Ex. 1015 Page 5
`
`
`
`U.S. Patent
`
`Feb. 22,2000
`
`Sheet 3 0f 43
`
`6,029,175
`
`2
`f
`
`11
`f
`GET htpp://rm_address/URL
`
`Chem
`.
`( Mosa|c )
`
`1
`f
`
`Revision
`Manager
`
`return altered document
`\ 14
`
`9
`Intended destination URL
`
`/ 13
`Document
`return
`
`12
`f
`GET URL
`
`Intended document return
`k
`10
`
`4
`1 f
`
`Remote HTTP
`
`Server
`
`FIG. 3
`
`Ex. 1015 Page 6
`
`
`
`U.S. Patent
`
`Feb. 22, 2000
`
`Sheet 4 0f 43
`
`6,029,175
`
`2
`f
`
`Client
`
`6
`f
`
`l
`
`f 15
`H-n-P
`
`Revision
`Manager
`Daemon
`
`Document
`request
`
`4
`f
`
`Remote
`HTTP
`
`,
`
`Server
`
`CGI services
`
`Returned
`document
`
`16
`
`RM_route.Dl
`
`save to cache on update request
`
`RM_cacheParse.pl
`
`17
`(
`
`cache hit
`
`19
`
`18
`
`f
`
`Future Extension
`
`cache on disk
`
`FIG. 4
`
`Ex. 1015 Page 7
`
`
`
`U.S. Patent
`
`Feb. 22,2000
`
`Sheet 5 0f 43
`
`6,029,175
`
`301 /
`
`Enter the URL of the documents you wish to check:
`
`Enter the CCI port number you have selected on your browser:
`
`Submit Info
`
`Clear Form
`
`FIG. 5
`
`302 /
`
`[3 Alert me on source update for: http://www. teknc>wledge.com,/
`
`Check for souce update every ‘:I seconds
`
`Enter the URL of the documents you wish to check:
`
`Submit Info
`
`Clear Form
`
`FIG. 6
`
`Ex. 1015 Page 8
`
`
`
`U°S° Patent
`
`Feb- 22, 2000
`
`Sheet 6 0f 43
`
`6,029,175
`
`4
`
`Remote
`Web Server
`
`\w G 2‘
`
`p ate
`document
`returned
`
`/“~ 20
`9t document
`if modified since
`last update
`
`/‘23
`Send CC!
`‘command
`ilJnrgiNmscehrnttgn
`get updated
`document
`
`/2
`
`Client
`Browser
`
`x / 24
`get up ated
`document
`
`29
`
`P
`nn
`text to
`Browser
`
`6
`/
`
`‘
`
`Revision
`Manager
`Daemon
`
`Polling Daemon
`(launched by
`Revision Manager
`Daemon)
`
`22
`
`Save updated
`document to
`cache file
`
`19
`
`/ 290
`
`_
`Client
`Files
`
`/ 28
`Parse text
`and print to
`Revision
`Manager
`Daemon
`
`/ 26
`Get document
`text from cache
`file
`
`/ 27
`
`/. 25
`Execute
`parse script ————>
`
`Parse II-ITML
`simpt
`
`FIG. 7
`
`Ex. 1015 Page 9
`
`
`
`U.S. Patent
`
`Feb. 22, 2000
`
`Sheet 7 0f 43
`
`6,029,175
`
`/6
`
`Revision Manager
`Daemon
`
`Process Started
`
`30
`
`Parse command line
`
`i
`
`/‘31
`
`Initialize
`sewer configuration
`
`Child
`
`Fork
`
`Parent
`
`7
`
`Po]. 1 ing
`Daemon
`
`32
`‘ /
`Open socket
`
`‘
`
`f 33
`
`0 Listen for connection
`
`/34
`[
`incoming request
`i
`35
`/
`
`f 37
`Parent _ Accept
`process
`
`FIG. 8
`
`Forked child
`process
`
`Ex. 1015 Page 10
`
`
`
`U.S. Patent
`
`Feb. 22, 2000
`
`Sheet 8 0f 43
`
`6,029,175
`
`36
`
`Forked child
`process
`
`I / 38
`Get Browser
`Internet address
`1
`Parse incoming request
`
`39
`
`is
`request method
`POST?
`
`YES
`
`/ 41
`Read and parse
`POST data
`
`YES
`
`43
`
`Enable
`Cache ?ag
`
`45
`/
`
`ls
`request method
`GET?
`
`f 50
`Disable
`Cache ?ag
`
`2
`
`/ 49
`Read and parse
`GET data
`I
`
`42
`Is
`Poll request
`being made’?
`
`Disable
`Cache flag
`
`46
`is client
`updrate interval
`esst fariurwmu
`
`YES
`
`/ 47
`R et
`c?jm
`interval
`1
`
`7
`
`rm_url
`Load
`from urlyget data
`
`Load client JDOl‘l
`trom port_number
`data
`
`Load c|ient_interval
`from updale_interval
`data
`
`Process Cache
`
`FIG. 9
`
`Ex. 1015 Page 11
`
`
`
`U.S. Patent
`
`Feb. 22, 2000
`
`Sheet 9 0f 43
`
`6,029,175
`
`51
`
`Process cache
`
`is
`Cache Flag
`enabled?
`
`YES
`
`56
`
`53
`/
`
`'
`Trarttjsilate t
`pagea ress 0
`cache_ti|ename
`l
`|
`
`c t
`
`kf‘l
`
`/54
`
`Doesthe
`cacheJiIeIname YES
`exist_
`
`58
`/
`Ctreafte the
`cac e rename
`+_
`Set cache file
`.
`status to CREATE
`
`59
`
`‘/57
`Set cache file
`.
`status to FOUND
`
`-
`rea e 00 ie
`for Cache-“lemme
`
`l
`Save client address,
`port, update_interval to
`cache_filename.clients
`me
`‘
`
`/ 55
`
`l
`
`s s
`T
`set the RM__CACHE
`environment variable
`to the cache_filename
`
`60
`
`is
`NO request metho
`POST?
`
`NO cache file status
`FOUND?
`
`a?’detczon'ggenrt‘tlgfih
`to Z65 g
`
`65
`
`/ 64
`
`/ 63
`
`Change request
`method from POST
`4-— to GET and create 4-—
`QUERY_STRlNG
`
`Change selected
`CGI script from
`RM_route.pl to
`RM_cacheParse.pl
`
`66
`
`Process
`CGl Script
`
`FIG. 10
`
`Ex. 1015 Page 12
`
`
`
`U.S. Patent
`
`Feb. 22, 2000
`
`Sheet 10 0f 43
`
`6,029,175
`
`Process CGI Script
`
`66
`
`Set the
`environment
`variables
`
`/68
`
`Open a pipe
`
`Forked
`
`69
`
`Exec CGI Script
`
`NO ‘Liength
`
`IS
`
`zero?
`
`rm_dat:a
`write
`to pipe
`
`Read pipe from
`CGI Script
`
`Save cache info file
`
`V
`
`Wait for child exit
`
`/73
`
`Delete
`cache_filename
`iock tile
`
`/76
`
`Exit
`
`FIG. 11
`
`Ex. 1015 Page 13
`
`
`
`U.S. Patent
`
`Feb. 22, 2000
`
`Sheet 11 0f 43
`
`6,029,175
`
`RM_route.p|
`
`77
`
`/-78
`
`v
`Get Input
`
`/81
`
`Parse
`GET input
`
`‘ 4
`
`7 / 8O
`
`Parse
`
`POST input
`
`Update Interval
`< 10 seconds?
`
`/ 84
`
`Get Browser
`Port Number
`
`83
`/
`'
`Set Update
`interval to
`10 seconds
`
`Is New
`Document
`Requested?
`
`YES
`
`Assign
`Current
`Document
`Address to
`Request
`Address
`
`[92
`Set Poll
`Flag OFF
`
`Assign
`New
`Document
`Address to
`Request
`Address
`
`/ 90
`
`‘7
`
`Set Poil
`Flag OFF
`
`86
`
`V
`Assign Poll
`Document
`Address to
`Request
`Address
`
`/87
`Set Poll
`Flag ON
`
`93
`
`RM_getPage
`
`FIG. 12
`
`Ex. 1015 Page 14
`
`
`
`U.S. Patent
`
`Feb. 22, 2000
`
`Sheet 12 0f 43
`
`6,029,175
`
`RM_getPage
`
`93
`
`94
`
`Get HTTP Address
`from Input Parameter
`
`l
`Enable Redirect Flag
`
`/' 95
`
`[ 97
`Retrieve Document
`from Web
`
`/104
`Print Error
`Message
`
`DIE
`
`as Retrieve
`Successful?
`
`YES
`
`Assign HTML text
`to local Variable
`
`100
`
`Is
`Redirection
`line in HTML
`header’?
`
`103
`
`_
`Disable
`Regs“
`
`It
`
`FIG. 13
`
`101
`/
`‘
`Set new Address
`trom Redirect line
`
`l Enable
`
`Redirect
`Flag
`
`Is Redirect
`Flag enabled?
`
`106
`/
`
`Strip HTM L
`Header
`Information
`from text
`
`107
`
`Return
`HTML Text
`
`Execute
`Document
`0 tion
`
`Ex. 1015 Page 15
`
`
`
`U.S. Patent
`
`Feb. 22, 2000
`
`Sheet 13 0f 43
`
`6,029,175
`
`118
`Print Revision
`Manager Form
`To Browser
`
`Execute
`Document
`Option
`
`Get: Revision
`Manager
`HTPP Address
`
`Is Poll Fla
`Enabled.
`
`Has Server
`provided cache
`file name?
`/116
`
`1
`Set
`Error Message
`
`/ 117
`
`Error Notice
`to browser
`
`YES
`
`/112
`
`1
`Open
`cache file
`
`/ 113
`Print HTML
`text to file
`
`114
`
`,
`Close
`cache file
`
`/'115
`
`1
`Poll Notice
`to browser
`
`1L
`
`‘
`
`119
`
`Parse
`HTML Text
`
`FIG. 14
`
`Ex. 1015 Page 16
`
`
`
`U.S. Patent
`
`Feb. 22, 2000
`
`Sheet 14 0f 43
`
`6,029,175
`
`119
`
`Parse
`HTML Text
`
`Get the Revision
`Manager HTTP Address
`
`120
`
`/121
`
`Get the HTML text
`source Address, and
`client Port number
`from the input parameters
`
`/-122
`
`Extract protocol, server, port
`and path information from the
`HTML source address
`
`NO
`/125
`
`ls
`port number
`present?
`
`HTML address =
`protocol and server
`
`I
`
`YES
`
`124
`
`HTML address =
`protocol, server, and
`port number
`i
`
`Parse HTML text to mark all
`non-HTTP references for
`exclusion from Revision
`Manager processing
`
`/127
`,
`Parse HTML text to add
`Revision Manager address
`to all HREF’s with
`complete url addresses
`/128
`Parse HTML text to add
`Revision Manager address
`and HTML address to
`incomplete url addresses
`
`FIG. 15
`
`/ 129
`l
`Parst HTML text to mark
`all complete image
`references for exclusion from
`Revision Manager
`processing
`/ 130
`L
`Add HTML address
`to all unmarked
`image references
`
`/131
`Remove mark from
`complete image
`references
`
`132
`
`Print HTML text
`
`Ex. 1015 Page 17
`
`
`
`U.S. Patent
`
`Feb. 22, 2000
`
`Sheet 15 0f 43
`
`6,029,175
`
`132
`
`/232
`
`1 Print HTML text
`
`i
`Get parsed
`HTML document
`
`133
`
`Does
`HTML document
`contain any text
`
`YES
`
`‘I
`
`/ 134
`
`‘
`
`/ 135
`
`Print error message
`
`Print HTML text
`
`136 /
`
`END PROGRAM
`
`FIG. 16
`
`Ex. 1015 Page 18
`
`
`
`U.S. Patent
`
`Feb. 22, 2000
`
`Sheet 16 0f 43
`
`6,029,175
`
`RM_cacheParse.pl
`
`137
`
`/138
`
`Get the document
`port numbertrom the
`QUERY_STRING
`
`139
`
`an update flag in the
`QUEFtY_STFt|NG?
`
`/-140
`Enable
`update_flag
`
`Get the document
`URL from the
`QUERY_STFtlNG
`
`142
`Open cache /
`tile listed in
`RM_CACHE
`
`143
`
`Was
`tile opened
`uccesstully?
`
`,150
`
`Print Error
`Message
`
`@151
`
`144 /
`
`Place file
`HTML contents into
`local variable
`
`/146
`poll notice
`form
`
`./'14
`Revision
`Manager
`Form
`l
`
`update notice
`form
`
`_ L
`
`/219
`
`Parse
`HTML Text
`
`/ 332
`
`Print HTML text
`
`FIG. 17
`
`Ex. 1015 Page 19
`
`
`
`U.S. Patent
`
`Feb. 22,2000
`
`Sheet 17 0f 43
`
`6,029,175
`
`Polling
`Daemon
`
`f 152
`
`Set current directory to
`———> to cache directory
`
`l
`
`/153
`
`Walk through
`current directory
`
`i
`
`f 154
`
`Sleep tor interval
`set by polling_interval
`
`FIG. 18
`
`Ex. 1015 Page 20
`
`
`
`U.S. Patent
`
`Feb. 22,2000
`
`Sheet 18 0f 43
`
`6,029,175
`
`153
`
`155
`
`Walk through
`current directory
`
`Open current
`directory
`
`
`
`
`
`1
`
`Get next
`directory
`item
`
`157
`
`E
`
`Get next
`directory
`item
`
`Build polling
`file list
`
`160
`
`Change to
`new directory
`
`Change to
`parent directory
`
`/163
`
`Close
`
`directory
`
`164
`ls
`
`parent directory
`
`open?
`
`
`NO
`
`166
`
`167
`
`168
`
`169
`
`Open cache info file
`
`Build cache into list
`
`Close cache info file
`
`Start polling actions
`
`Ex. 1015 Page 21
`
`Ex. 1015 Page 21
`
`
`
`U.S. Patent
`
`Feb. 22,2000
`
`Sheet 19 0f 43
`
`6,029,175
`
`Start polling actions
`
`Open cache_into tile
`
`Build document polling
`linked list from
`file contents
`
`169
`
`171
`
`172
`
`173
`
`Get next item
`from document
`polling list
`
`174
`
`YES
`
`176
`
`175
`
`Open client file
`
`
`
`Close cache_info file
`
`170
`
`RETURN
`
`177
`
`178
`
`Write data to
`cache info file
`(contents
`unaltered)
`
`
`Build client
`
`linked list trom
`file contents
`
`
`
`Close client file
`
`130
`
`
`
`
`179
`Any
`client in list
`YES
`
`due for an
`
`
`update?
`
`
`Increment last
`Open connection
`updated interval
`to document
`
`for the client
`Web server
`
`181
`
`182
`
`Ex. 1015 Page 22
`
`
`
`
`Update client file
`with new data
`
` Send HTl'P GET
`command with document
`last-modified time
`
`Read response
`and update client
`
`FIG. 20
`
`Ex. 1015 Page 22
`
`
`
`U.S. Patent
`
`Feb. 22, 2000
`
`Sheet 20 of 43
`
`6,029,175
`
`182
`
`0 Read responfi
`
`and update client
`__.._/
`
`186
`
`Open a
`temporary
`file
`
`187
`
`Read remote web sewer
`response and save to
`temp file
`
`NO
`
`188
`
`
`Does
`
`YES
`
`response code
`= 200?
`
`/189
`Get last-modified time
`from response header
`
`
`
`NO
`
`
`Does
`response code
`
`= 304?
`
`196
`193
`.
`
`Disable CCI flag
`Delete client file
`
`‘l
`M°V§af{2%f'ee to
`
`190
`
`191
`
`
`
`Enablel CCI flag
`
`195
`
`Check client list
`
`197
`
`Delete cache file
`
`Delete temp file
`
`198
`
`Do not save cache info
`
`199
`
`200
`
`201
`
`Delete temp me
`
`Disable CCI flag
`
`RETURN
`
`FIG. 21
`
`Ex. 1015 Page 23
`
`Ex. 1015 Page 23
`
`
`
`U.S. Patent
`
`Feb. 22,2000
`
`Sheet 21 of 43
`
`6,029,175
`
`195
`
`202
`
`
`
`Check client list
`
`
`
`Get next client
`from client list
`
`
`
`
`
`
`
`
`
`Enable
`need_to_u pd ate
`
`flag
`
`
`
`
`
`Do
`CCI flag and
`
`need_to_update
`
`lag = 0'7
`
`Set
`
`need_to_update
`flag to zero
`
`
`
`
`
`
`
`Connect to client
`
`210
`
`Send CCI GET command
`
`211
`
`Close connection
`to client
`
`Change last_update
`time to current time
`
`FIG. 22
`
`Ex. 1015 Page 24
`
`Save client
`list to client
`file
`
`
`
`RETURN
`
`Is
`client due for
`update?
`
`Does
`
`CCHmg=1?
`
`Ex. 1015 Page 24
`
`
`
`U.S. Patent
`
`Feb. 22,2000
`
`Sheet 22 of 43
`
`6,029,175
`
`fife Qprions
`
`.'_u'awya1‘e
`
`flnnotafe Nags
`
`
`
` Title: Teknowiedge Hot Box
`
`
`
`URL: Ehttp : /Xneon . ‘teknowi edge . com: 8042 /hotbox . htmi
`
`
`
`—c,1t-‘,5 I l&P
`
`Distributed Information Logistics Services
`
`This form allows you to submit an H1TP address to route through
`the Hot Box agent by filling in the requested information in the
`spaces provided.
`
`| http : //www . teknowi edge . com/HI BU RST/E
`Enter the URL ofthe documents you wish to check:
`
`
`
`TEKNOWLEDGE 4; auatsm
`
`
`Hotbox Demonstration
`
`
`
`
`
`
`
`
`Submit info] Clear Form|
`
` Data transfer complete.
` J
`
`fll
`Home] Reloadl Open...| Save As...| C|one| New Window|
`
`FIG. 23
`
`Ex. 1015 Page 25
`
`| 804d
`Enter the CCI port number you have selected on your browser:
`
`Ex. 1015 Page 25
`
`
`
`U.S. Patent
`
`Feb. 22,2000
`
`Sheet 23 of 43
`
`6,029,175
`
`
`
`flavryate
`
`
`flnnotate Negs
`!_:ie(p
`
` fife Qptions
`f_Uew Window
`gone Window
`
`
`
`
`
`
`
`
`
`
`
`
`9105'” Um-'"
`Open gocaf...
`
`J'_?e!oad Current
`
`Beiogd Images
`
`Refresh Current‘
`Findfn Current...
`yiew Source...
`§dfl,S0ume___
`§aWAS___
`frffii-~
`_!:Ia:'I To...
`car...
`
`C’'‘’‘’‘''' E‘''”‘‘'‘’‘'‘’
`E:_a't Pmgram...
`
`d
`
`96
`
`H T B
`0
`
`OX
`
`eon . teknowi edge . com ; 8042 .-’hotbo><.h1:m1
`
`'
`
`ARE)
`
`""‘*““
`
`ASTID
`
`
`T’ ARPA Warbreaker
`‘“ "‘“" ‘' mp
`_
`_
`_
`_
`nformailon Logistics Services
`onstratlon
`. you to submit an HT|'P address to route through
`nt by filling in the requested information in the
`‘*-
`
`teknowi edge . com/HIBURST/E
`
`_
`
`the documents you wish to check:
`
`lsocrci
`Enter the CC! port number you have selected on your browser:
`
`Submit lnfol Clear Form|
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ata transfer complete.
`Homel Reloadl Open...| Save As...| Clonal New Window]
` J
`
`
`
`4 D
`
`FIG. 24
`
`Ex. 1015 Page 26
`
`Ex. 1015 Page 26
`
`
`
`U.S. Patent
`
`Feb. 22, 2000
`
`Sheet 24 of 43
`
`6,029,175
`
`flauigate
`
`J'_:i'eIp
`
`
`
` Qpfions
`fife
`flnnotate Nags
` Title:
`Teknowi edge Hot Box
`
`
`
` Ehttp: //neon . teknowi edge . com : 8042 fhotbo><.htm1
`
`UFIL:
`
`
`
`TEKNOWLEDGE 4;
`
`
`
`_#.-".r.an.x-.'-.‘
`{ ARPA : Warbreaker
`
`
`
`CCI Port Address:
`
`
`
`Distributed Information Logistics Services
`Hotbnv narnnncfralinn
`
`
`[7
`‘ 804-11
`
`9 Accept requests
`0 interface off
`
` Enter the CC! port number you have selected on your browser:
`
`Submit |nfo| Clear Forml
`
`Data transfer complete.
`
`
`:;’:*; Hamel Reloadl Open...| Save As...| Clonel New Windowi J
`
`
`FIG. 25
`
`Ex. 1015 Page 27
`
`Ex. 1015 Page 27
`
`
`
`U.S. Patent
`
`Feb. 22,2000
`
`Sheet 25 0f 43
`
`6,029,175
`
`fife Qpflons
`
`flavigate
`
`flnnotate
`
`Neg.-5
`
`Title:
`
`HIBURST—TCT Project Overview
`
`URL: Ehttp : //neon . teKnow1 edge . com: 8042 K691‘ —b1‘ n;'HB_
`
`TEKNOWLEDGE av;
`
`J Alert me on source update for:
`
`http:Hwww.teknowledge.comlH|BURST!
`Notify me when source updates within
`
`seconds.
`
`Enterthe URL ofthe new document desired:
`
`Submit lnfol Clear Form|
`
`H|BURST—TCT
`
`((2)1935 TEKNOWLEDGE Corp. All Rights Reserved
`
`Overview
`
`The High—performance Information Bases Using Real-time Scalable
`Technology (HIBURSTJ for Time Critical Targets (TCT) project is
`soonsored bv the Advanced Research Prolects Aoencv (ARPAE within
`
`Home| Reload| Open...| Save As...| Clonel New Window|
`
`FIG. 26
`
`Ex. 1015 Page 28
`
`Ex. 1015 Page 28
`
`
`
`U.S. Patent
`
`Feb. 22,2000
`
`Sheet 26 0f 43
`
`6,029,175
`
`file Qpnbns Aiavigate
`
`flnnofate
`
`Neg-rs
`
`Title:
`
`HIBURST—TCT Project Overview
`
`URL: Ehttp : x’/neon . teknowi edge . com: 8042 /cgi—bin/i-|B_
`
`TEKNOWLEDGE #3 {*21'
`
`i&P
`
`I‘ Aiert me on source update for:
`
`http:!!Mvw.teknow|edge.comiH|BURSTI
`
`Notify me when source updates within N 3d
`
`seconds.
`
`Enterthe URL ofthe new document desired:
`
`Submit Infol Clear Form|
`
`H|BURST—TCT
`
`(C) 1995 TEKNOWLEDGE Corp. Pull Rights Reserved
`
`Overview
`
`The High—performance information Bases Using Real—time Scalable
`Technology [HIBURSTJ for Time Critical Targets (TCT) project is
`sponsored bv the Advanced Research Proiects Adencv TARPAJ within
`
`Back|
`
`Homel Reioad| Open...| Save As...| Cionel New Windowl
`
`J
`
`FIG. 27
`
`Ex. 1015 Page 29
`
`Ex. 1015 Page 29
`
`
`
`U.S. Patent
`
`Feb. 22,2000
`
`Sheet 27 0f 43
`
`6,029,175
`
`fife Qprions
`
`flavigate
`
`flnnorafe
`
`News
`
`Title:
`
`HIBURST—TCT Project Overview
`
`URL: Ehttp : Nneon I tel<now1 edge \ com: 8042 /cgi —b1' n/HB_
`
`TEKNOWLEDGE V”; {:3 ffigwaker
`
`_J Alert me on source update for
`
`http:ilvNrw.teknowledge.comiHlBURSTI
`Notify me when source updates within
`
`seconds.
`
`Enterthe URL ofthe new document desired:
`
`I http: f/www.tel<now1 edge. com/M4/I
`
`Submit lnfo| Clear Form|
`
`HIBURST-TCT
`
`(C) 1935 TEKNOWLEDGE Corp. All Rights Reserved
`
`Overview
`
`The High—performance Information Bases Using Rea|—time Scalable
`Technology (HIBURSTJ for Time Critical Targets (TCT) project is
`sponsored bv the Advanced Research Proiects Adencv iARPA‘J within
`
`Homel Reload] Open...| Save As...| Clone| New Window|
`
`J
`
`FIG. 28
`
`Ex. 1015 Page 30
`
`Ex. 1015 Page 30
`
`
`
`U.S. Patent
`
`Feb. 22,2000
`
`Sheet 28 0f 43
`
`6,029,175
`
`fife
`
`News
`
`
`
`
`URL: Ehttp : ffheon ; tekhowl edge . com; 8042 /cg1'—b'i m’HB_
`
`
` Qptions .-’_U'aw'ga?e
`gnnorare
`HIBURST—TCT Project Overview
` Title:
`
`
`
`
`TEKNOWLEDGE 4:;
`
`r’-----«.. ASTD
`1' ARPA 1'' Warbreaker
`I‘
`I
`_.._spp,..!'
`|8uP
`
`
`
`
`
`Enterthe URL ofthe document desired:
`
`
`
`Submit URL] Clear Forml
`
`
`
`
`
`
`
`
`Current document now registered for update:
`http:llwww.teknow|edge.comlHlBURSTr'
`
`
`
`H|BURST—TCT
`
`(C) 1995 TEKNOWLEDGE Corp. All Rights Reserved
`
`Overview
`
` The High—pen‘ormance Information Bases Using Real—time Scalable
`
`Technology (HIBURST) for Time Critical Targets (TCT) project is
`sponsored by the Advanced Research Proiects Agency [ARPAJ within
`Hnn '\..|'l.¢'.L~.CZ DRFAKCQ nrnnrnm Imrlnr fhn Ariunnrnd '5-Ix.-<:l'nrnq Tnr-hrmlnriu
`
`
`
`Data transfer complete.
`
`
`
`Home| Reload| Open...| Save 3’-\s...| C|one| New Window|
`Back|
`
`
`
`J
`
`
`
`FIG. 29
`
`Ex. 1015 Page 31
`
`Ex. 1015 Page 31
`
`
`
`U.S. Patent
`
`Feb. 22,2000
`
`Sheet 29 0f 43
`
`6,029,175
`
`fife Qprions
`
`£'aw'ga?e
`
`flnnatate
`
`Ne-i»_vs
`
`Title:
`
`HIBURST—TCT Project Overview
`
`URL: Ehttp : /{neon . teknowl edge . com: 8042,/cg1'—b1' n/H8-
`
`TEKNOWLEDGE e;
`
`9 This is an update from: http:Hwww.teknow|edge.comlH|BURST!
`
`H|BURST—TCT
`
`(Q1995 TEKNOWLEDGE Corp. All Rights Reserved
`
`Overview
`
`The High-performance Information Bases Using Rea|—time Scalable
`Technology [HlBURST) for Time Critical Targets [TCT) project is
`sponsored by the Advanced Research Projects Agency (ARPA) within
`the WAR BREAKER program under the Advanced Systems Technology
`Office [ASTO). The WAR BREAKER program is tasked with drastically
`decreasing the amount oftime required to reconnoiter, locate, identify,
`evaluate, prioritize, target, designate and destroy fixed and mobtl A£ile
`weapons systems, military platforms and othertargets from the current
`period of many hours or days, to minutes. HlBURST—TCT will support
`WAR BREAKER by providing situation assessment information derived
`from legacy database systems and near real—time updates via
`communications links. HlBURST—TCT is also being developed to support
`
`2 2*; Home| Reload| Open...| Save As...| Clone| New Windowl
`
`FIG. 30
`
`Ex. 1015 Page 32
`
`Ex. 1015 Page 32
`
`
`
`U.S. Patent
`
`Feb. 22, 2000
`
`Sheet 30 of 43
`
`6,029,175
`
`CLIENT
`
`308
`
`/'30“
`
`305
`
`307
`
`CLIENT
`
`LOCAL NETWORK
`
`CLIENT
`
`309
`
`REVISION
`MANAGER
`
`302
`
`304
`
`CLIENT
`
`320
`
`FILE
`SERVER
`
`315
`
`REVISKDN
`
`MANAGER
`
`301
`
`___
`
`FILE
`
`SERVER
`
`316
`
`
`
`2,
`
`m
`o
`5'
`
`:4
`E
`
`5 5
`
`Z
`
`317
`
`CLIENT
`
`3'3
`
`FILE
`SERVER
`
`318
`
`CLIENT
`
`3”
`
`FILE
`SERVER
`
`319
`
`CLIENT
`
`REVISION
`MANAGER
`
`303
`
`310
`
`CLIENT
`
`LOCAL NETWORK
`
`CLIENT
`
`312
`
`306
`
`CLIENT
`
`311
`
`Fig. 31
`
`Ex. 1015 Page 33
`
`Ex. 1015 Page 33
`
`
`
`U.S. Patent
`
`Feb. 22,2000
`
`Sheet 31 of 43
`
`6,029,175
`
`OBJECT ID
`
`ADDRESS
`
`LOCK PTR.
`
`CHANGE PTR.
`
`FILE SERVER DIRECTORY
`
`334
`
`DYNAMICALLY ALLOCATED MEMORY FOR LOCK
`LIST AND CHANGE NOTIFICATION LISTS
`
`335
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`RANDOM ACCESS MEMORY
`
` NETWORK
`
`INTERFACE
`
`333
`
`PROCESSOR
`
`330
`
`DISK STORAGE
`
`SIGNIFICANT CHANGE DETECTION METHOD
`
`541
`
`
`
`
`
`(USING CLIENT-SPECIFIED PARAMETERS, CLIENT-SPECIFIED
`PROCEDURES, OR CLIENT-SPECIFIED FACT OR RULE KNOWLEDGE)
`
`COMPUTE TIME—VALUE OF NEW OBJECT
`
`OBTAIN CLIENT-SPECIFIED THRESHOLD FOR THE NEW OBJECT
`
`542
`
`INCREASE THRESHOLD IF NETWORK IS EXPERIENCING
`UNUSUAL LATENCY OR SLOW THROUGHPUT
`
`543
`
`544 '
`
`COMPARE TIME—VALUE OF THE NEW OBJECT TO THE THRESHOLD,
`
`
`
`AND IF THE THRESHOLD IS EXCEEDED, THEN DECIDE THAT THE
`CHANGE IN THE OBJECT IS SIGNIFICANT TO THE CLIENT
`
`
`
`Fig 43
`
`Ex. 1015 Page 34
`
`Ex. 1015 Page 34
`
`
`
`U.S. Patent
`
`Feb. 22,2000
`
`Sheet 32 of 43
`
`6,029,175
`
`FILE SERVER ACCESS
`
`
`OBJECT
`FOUND
`?
`
` N
`
`
`
`O
`
`YES
`
`READ OBJECT
`FROM DISK
`
`345
`
`346
`
`
`
`344
`
`RETURN OBJECT
`
`RETURN MESSAGE
`"NOT FOUND"
`
`
`
`
`
`341
`
`
`
`LOOK UP
`OBJECT ID
`IN THE
`
`
`
`DIRECTORY
`
`
`
`®YES
`
`342
`
`347
` CHANGE
`NOTIFICATION
`
`
`