`Chow et al.
`
`111111 1111111111111111111111111111111111111111111111111111111111111
`US006029175A
`6,029,175
`[11] Patent Number:
`[45] Date of Patent:
`Feb.22,2000
`
`[54] AUTOMATIC RETRIEVAL OF CHANGED
`
`FILES BY A NETWORK SOFTWARE AGENT
`
`0651330A2 5/1995 Eur opean Pat. Off ........... G06F 9/46
`
`
`
`
`W082/02784 8/1982 WIPO ............................. G06F 11/00
`
`
`W094/00816 1!1994 WIPO ............................. G06F 13/00
`
`Yen-whei Chow, San Jose; Frederick
`[75] Inventors:
`
`A. Hayes-Roth, Atherton; Neil A.
`
`Jacobstein, Palo Alto; James E.
`Difference Engine and its
`
`
`
`B. Manley, San Jose; Christopher
`
`
`Applications," COMPCON ' 96 Conference, Technologies
`
`McMahan, Cupertino, all of Calif.
`
`
`for the Information Superhighway, 41st IEEE Computer
`
`
`
`
`Society Int'l Conference, IEEE, Feb. 1996, pp.p71-76, Feb.
`[73] Assignee: Teknowledge Corporation,
`
`Palo Alto,
`1996.
`Calif.
`
`OTHER PUBLICATIONS
`
`Thomas Ball et al., "An Internet
`
`Swarup Acharya and Stanley B. Zdonik,
`
`
`Scheme for Dynamic Data Replication," Sep. 1993 Techni
`
`
`
`cal paper CS-93-43, Department of Computer Science,
`
`
`Brown University, Providence, RI -2912 (25 pages).
`
`"An Efficient
`
`[21 ] Appl. No. : 08/664,323
`
`
`
`[22] Filed: Jun. 7, 1996
`
`Related U.S. Application Data
`
`
`[60]
`
`Provisional application No . 60/005,896, Oct. 26, 1995.
`
`[56]
`
`
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`
`
`(List continued on next page.)
`
`V. Kulik
`Firm-Ar nold White & Durkee
`An intelligent
`
`Int. Cl? ...................................................... G06F 17/30
`
`
`[51 ]
`
`Primary Examiner-Paul
`
`
`U.S. Cl. .......................... 707/104;
`707/200; 707/201;
`[52]
`Attorney, Agent, or
`
`707 /203; 707 /10; 709/202; 709/203
`ABSTRACT
`[57]
`
`Field of Search .................................. 707/104, 1, 10,
`[58]
`
`707/200, 201, 203; 395/200.33, 200.32,
`network agent intercepts transactions between
`
`
`
`
`
`
`200.34, 200.35; 709/202, 203, 219
`
`
`
`
`clients and servers to perform Distributed Information
`
`
`
`Logistics Services (DILS) functions such as automatically
`
`
`
`retrieving updated files from remote servers and delivering
`
`
`
`them to local client programs. For example, HTIP clients
`
`
`
`
`and HTTPD servers are connectionless and stateless, thus
`
`12/1985 Schmidt eta!. ........................ 364/300
`4,558,413
`
`
`
`there is no way for a server to update a browser automati
`
`8/1987 Ng ........................................... 364/200
`4,686,620
`
`
`cally when an HTML document is changed. The invention
`
`4/1991 Griffin et a!. ........................... 364/200
`5,005,122
`
`
`
`provides a method to update any number of clients from any
`
`9/1991 Berger et a!. ........................... 364/200
`5,051,887
`
`
`
`number of servers without making any changes to currently
`
`10/1991 Na ito et a!. ............................. 364/900
`5,060,185
`
`
`
`
`existing HTTP clients or HTIPD servers. Furthermore, the
`
`7/1992 R is c h . ... ... ... ... .... ... ... ... ... ... .... .. 395/800
`5,133,075
`
`
`
`
`invention can provide various other DILS services for
`
`10/1992 Beal et a!. .............................. 395!575
`5,155,845
`
`
`
`clients to reduce latency and communication costs for mem
`
`10/1992 Major et a!. ............................. 371/9.1
`5,157,663
`
`
`
`bers of a group with interests in similar objects. For
`
`5/1994 Sugiyama et a!. ...................... 364/405
`5,313,664
`
`5/1994 Matheny eta!. ........................ 395/164
`5,315,703
`
`
`
`
`example, the intelligent network agent maintains a cache of
`
`8/1994 Yamada .................................... 371/8.2
`5,343,477
`
`
`objects of interest to the group of clients, a log of changes
`
`11/1994 Matheny et a!. .. ... ... ... .... ... ... ... 395/164
`5,367,633
`
`
`
`to the objects, a list of the clients interested in the objects,
`
`7/1995 Shaheen .................................. 395!500
`5,434,994
`
`
`
`a list of significant change detection methods for the objects,
`
`
`
`a list of search specifications for the objects, lists of client
`
`
`
`
`
`notification methods, and lists of general interest specifica
`tions for the clients.
`
`
`
`(List continued on next page.)
`
`FOREIGN PATENT DOCUMENTS
`
`0384339A2 8/1990 Eur opean Pat. Off ........... G06F 9/46
`
`
`0479660A2 4/1992 Eur opean Pat. Off ........... G06F 9/46
`
`
`
`96 Claims, 43 Drawing Sheets
`
`Page 1 of 78
`
`HCC INSURANCE HOLDINGS, INC.
`Exhibit 1003
`
`
`
`
`
`01HER PUBLICATIONS
`
`the WWW," Boston University Com
`
`the WWW," Boston University
`
`6,029,175
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`Surfiogic corporate information page as of Oct. 10, 1998 at
`
`
`
`
`1 . 1" at hhtp://surhttp://www .surfiogic.com, "WebWatch
`
`5,444,347 8/1995 Yana i et a!. .............................
`395/489
`
`
`fiogic. com/ww.1x/products.html, "Web Watch 1.1 dta sheet"
`
`5,459,857 10/1995 L udlam et a!. .................... 395/182.04
`
`
`at http:// surfiogic.com/ww.l .x/products.html, "WebWatch
`
`
`5,471,629 11/1995 R is c h .......................................... 707/1
`
`1.1 online documentation" at http://surfiogic.com/ww.l .x/
`
`5,491,784 2/1996 Do ug la s eta!. ........................ 395/159
`
`
`
`online_doc_wwl.html, "WebWatch 1.1 Frequently Asked
`
`5,592,664 1!1997 Starkey ....................................... 707/1
`
`
`Questions" at http://surfiogic.com/ww.l .x/faq_wwl.html,
`
`5,594,910 1!1997 Filepp et a!. ............................ 395/800
`
`
`
`"WebWatch 1.1 releast notes, known bugs and bug-like
`
`5,727,129 3/1998 Barrett eta!. ............................. 395/12
`
`5,740,549 4/1998 Reilly eta!. .............................. 705/14
`
`
`
`features" at http:// surfiogic.com/ww.l .x/release_notes_
`
`5,754,850 5/1998 Janssen ................................... 385/615
`
`wwl.html (12 pages).
`
`5,799,318 8/1998 Cardinal eta!. ........................ 707/104
`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,
`
`
`
`(20 u/techreports 1995 and residing at http://www .cs.bu.ed
`Chris Dodge, Beate Marx, Hans Pfeiffenberger, "Web Cata
`
`pages).
`
`
`loguing Through Cache Exploitation and Steps Toward
`Azer Bestavros, "Demand-based Document Dissemination
`
`
`
`
`Consistency Maintenance," The Third International
`
`
`for the World-Wide Web," Boston University Computer
`
`
`World-Wide Web Conference, Apr. 10--141995, Darmstadt,
`
`
`
`
`Science Dept. technical report 95-003, containing a date
`Germany (12 pages).
`
`
`
`edu/techreFeb. 15, 1995 and residing at http://www .cs.bu.
`
`
`
`
`Paul Klark and Udi Manber, "Developing a Personal Inter
`ports (22 pages).
`
`net Assistant," Proceedings of ED-MEDIA-1995-World
`
`
`Azer Bestavros, "Using Speculation to Reduce Server Load
`
`
`Conference on Educational Multimedia and Hypermedia,
`
`and Service Time on
`
`
`Granz, Austria, Jun. 16-23 (HTML version, 10 pages).
`puter Science Sept. Technical Report 95--006, containing a
`
`
`
`
`
`
`Anawat Chankhunthod, Peter B. Danzig, Chuck Neerdaels,
`
`
`edu/ date Feb. 15, 1995, and residing at http://www .cs.bu.
`
`
`
`Michael F. Schwartz, and Kurt J. Worrell, "A Hierarchial
`
`techreports (17 pages).
`
`
`Internet Object Cache," USENIX 1996 Annual Technical
`
`
`
`Azer Bestavros and Carlos Cunha, "A Prefetching Protocol
`
`Conference, (11 pages).
`
`Using Client Speculation for
`Jim Gettys, Tim Berners-Lee and Henrik Frystyk Nielsen,
`
`
`
`Computer Science Dept. Technical Report Abstract 95-011,
`
`
`
`
`
`
`"Replication and Caching Position Statement," 1997/08/09,
`
`
`
`containing a date Apr. 28, 1995, and residing at http://
`
`
`
`Activity.html ( 6 pages). http://www .w3.org/Progpagation/
`
`
`5--011 (1 page). www .cs/bu/edu/ techreports/abstracts/9
`
`
`
`Ingrid Melve, "11 Web caching architecture, references,"
`
`
`
`
`M(aurice) William Collins, "A Network File Storage Sys
`
`Mar. 6, 1997 (last modified), http://www .uninett.no/
`
`
`
`tem," IEEE Seventh Symposium on Mass Storage Systems,
`
`
`prosjekt/desire/arneberg/ref.html (2 pages).
`Lab. No. LA-UR-85-3183.
`
`
`
`Peter Danzig, "NetCache Architecture and Deployment,"
`Matt Kramer, "Fault-Tolerant LANs Guard Against Mal
`
`
`
`
`
`Network Appliance, Inc., Santa Clara, California, 1998,
`
`function, Data Loss", PC Week, Sep. 15, 1987, vol. 4, No.
`
`
`
`
`
`(14 /level3/3029 .html com/technology http://www .netapp.
`37, p.C/26-C/34.
`pages).
`
`Herrick Johnson and Mark Adams, "RPC: The Key To
`
`
`
`Brooks Cutter, "v3new v0.4: Creates a What's New list of
`
`
`Distributed Software," EXE Magazine, Nov. 1987, pp.
`
`
`
`
`http: URL's," containing a date Jul. 25, 1994, residing at
`58-61.
`
`http:/www .ics.uci.edu/pub/websoft!libwww -perl/archive/
`John H. Howard et al., "An Overview of the Andrew File
`
`
`1994/0014.html on Oct. 10, 1998 (4 pages).
`
`
`System," USENIX Winter Conference, Feb. 9-12, 1988,
`
`
`First Floor Software Press Release regarding announced
`
`
`Dallas, TX, pp. 23-26.
`
`
`
`
`
`shipping of Netscape SmartMarks, containing a date Oct.
`John H. Howard et al., "Scale and Performance in a Dis
`
`
`
`
`30, 1995, and residing at one time at http://www .firstfioor
`
`
`
`tributed File System," ACM Transactions on Computer
`
`
`.com/press/1995/smtmarks.html (1 page).
`
`Systems, vol. 6, No. 1, Feb. 1988, pp. 51-81.
`
`
`
`First Floor Software Press Release, "First Floor Announces
`
`
`
`Eric Strandberg, "Not My Fault Tolerance," Connect, Winter
`
`
`
`Smart Bookmarks 1 .0 Availability," containing a date Jan. 8,
`1989, p. 66.
`
`
`
`1996, and residing at one time at http://www .firstfioor.com/
`"Fault Tolerance for LANs and Microcomputers," Atlantic
`
`
`
`
`press/1996_press.html (1 page).
`
`Microsystems, Inc., Salem, NH, 1989, 7 pages.
`
`
`
`
`Richard Karpinski, "Smart Bookmarks," Interactive Age,
`
`
`
`Alex Siegel et al., "Deceit: A Flexible Distributed File
`
`vol. 2, No. 22, Aug. 28, 1995 (2 pages).
`
`
`
`System," USENIX Summer Conference, Jun. 11-15, 1990,
`
`
`
`
`"Netscape Announces Add-on Product Suite for Popular
`
`
`Anaheim, California, pp. 51-61.
`
`
`
`Netscape Navigator Software," containing the date Oct. 25,
`Richard G. Guy et al., "Implementation of the Ficus repli
`
`
`
`
`
`
`1995, Netscape Communications Corp., Mountain View,
`
`
`cated File System," USENIX Summer Conference, Jun.
`
`
`/pr/ California, http:/www ,netscape.com/newsref
`
`
`
`11-15, 1990, Anaheim, California, pp. 63-71.
`
`newsrelease57.html (4 pp.).
`
`
`David C. Steere et al., "Efficient User-Level File Cache
`
`
`
`Specter, Inc. announcement, "ebWatch 1 .0 released," con
`
`
`
`Management on the Sun Vnode Interface," USENIX Sum
`
`
`taining a date May 12, 1995, residing at one time at
`
`
`
`
`mer Conference, Jun. 11-15, 1990, Anaheim, California, pp.
`
`
`
`http:/scout18.cs.wisc.edu/NH/95--05-16/0015 .html (one
`325-331 .
`page).
`Thomas W. Page, Jr., e t al., "Management o f Replicated
`
`Excerpt from a Surfiogic corporate information page on the
`
`
`
`
`
`
`
`Volume Location Data in the Ficus Replicated File System",
`WWW (one page).
`
`
`USENIX, Summer '91, Nashville, TN, pp. 17-29.
`
`Nov. 4--7, 1985, Tucson, AZ, pp. 1-11, Los Alamos Nat.
`
`Page 2 of 78
`
`
`
`6,029,175
`Page 3
`
`"Internet Marketing with Bulletins," First Floor, Inc., Moun
`
`"An Information
`"An Information
`
`Matt Blaze et al., "Long-Term Caching Strategies for Very
`
`
`
`
`
`
`
`
`
`Large Distributed File Systems," USENIX, Summer '91,
`tain View, CA, 4 pages.
`Nashville, TN, pp. 3-15.
`"Smart Bookmarks, The radically simple way to stay on top
`
`
`
`
`Tim Berners-Lee et al., "World-Wide Web: The Informa
`
`
`of the web," First Floor, Inc., Mountain View, CA, 1995, 2
`
`
`
`tion Universe," Electronic Networking: Research, Applica
`pages.
`
`
`tions and Policy, vol. 1, No. 2, Meckler, Westport, CT,
`Stewart Alsop, "Bookmarks mark the next chapter in the
`
`
`Spring '91, 9 pg.
`
`continuing story of the War of the Web," Info World, Sep. 11,
`
`
`Nathan Tarkington, "World Wide Web Primer," Sep. 16,
`1995, 2 pages.
`1993, pp. 1-10.
`Richard Karpiski, "SmartMarks Technology a pet project for
`
`
`
`
`
`Nathan Tarkington,
`Provider's Guide to
`
`
`First Floor CEO," Interactive Age, Aug. 21, 1995, 2 pages.
`
`Web Servers", Sep. 16, 1993, pp. 1-8.
`
`
`
`
`Netscape Press Releases, "Netscape Introduces Netscape
`Nathan Tarkington,
`Provider's Guide to
`
`
`
`Smart-Marks and Netscape Chat, Applications Bring New
`
`HTML," Sep. 16, 1993, pp. 1-6.
`
`
`
`Navigation and Communications Capabilities . . . " Aug. 22,
`T. Berners-Lee et al., "Hypertext Transfer Protocol-HTTP/
`
`
`
`
`1995, 2 pages.
`
`
`1 .0" Internet-Draft, Mar. 8, 1995, pp. 1-57.
`
`
`
`Robert Hertzberg, "Agent-Aided Bookmarking for Win95
`
`
`
`Application Programmer's Interface for the NCSA Mosaic
`
`
`Browers," Web Week, Jan. 1996, p. 33.
`
`
`
`Common Client Interface (CCI), Version 1.1, Mar. 31, 1995,
`
`
`Jessica Davis, "First Floor tools monitor Web site changes,"
`
`
`Mosaic/ pp. 1-9. (http:/www .ncsa.uiuc.edu/SDG/Software/S
`InfoWorld, Feb. 19, 1996, p. 51.
`
`CCI/cci-api.html).
`Bowman et al., Harvest: A Scalable, Customizable Discov
`
`
`
`T. Berners-Lee et al., "Hypertext Markup Language-2.0,"
`
`
`ery and Access System, Technical Report
`
`
`
`Internet Task Force, Jun. 16, 1995, pp. 1-77.
`
`
`
`CU-CSA-731-94, Department of Computer Science, Uni
`
`
`
`"The CGI Specification" (http://hoohoo.ncsa.uiuc.edu/cgi)
`
`
`
`
`
`versity of Colorado, Boulder, Colorado, (Revised Mar.
`
`
`
`including "CGI Environmental Variables," CGI Command
`1995).
`
`
`
`Line Options, "CGI Script Output," "Decoding FORMs
`
`
`
`
`with CGI," "Common Gateway Interface," 20 pages.
`
`Access System." (9 pages).
`
`
`
`Mosaic for X version 2.0 Fill-Out Form Support (http://
`
`www .ncsa .edu/SDG/Software/Mosaic/Docs/fill-out
`Gertzman and Seltzer, "The Case for Geographical Push
`
`
`
`
`
`-forms/overview.html), pp. 1-8.
`
`
`
`-Caching," VINO: The Fall Harvest, TR-34-04 Dec. 1994,
`
`
`
`First Floor Software Corporate Backgrounder, First Floor
`
`
`
`Center for Research in Computing Technology, Harvard
`
`Software, Mountain View, CA, 1995, 4 pages.
`
`
`University, Cambridge Mass.
`
`
`
`Bowman et al., "The Harvest Information Discovery and
`
`Page 3 of 78
`
`
`
`U.S. Patent Feb.22,2000 Sheet 1 of 43
`
`6,029,175
`
`2
`
`3
`
`Any CCI capable
`Web Browser
`
`Mosaic
`
`4a
`
`FIG.l
`
`Page 4 of 78
`
`
`
`U.S. Patent Feb.22,2000 Sheet 2 of 43
`
`6,029,175
`
`,- 6
`Revision Manager
`Daemon
`
`/ 1
`
`,- 7
`Polling Daemon
`
`,- s
`CGI Scripts
`
`FIG. 2
`
`Page 5 of 78
`
`
`
`U.S. Patent Feb.22,2000 Sheet 3 of 43
`
`6,029,175
`
`2
`
`Client
`
`(Mosaic)
`
`r 11
`GET htpp://rm_address/URL
`Revision
`Manager
`
`return altered document
`
`\__ 14
`
`Intended destination URL
`
`r 9
`
`r 12
`
`GET URL
`
`
`
`
`
`r 13
`
`Document
`return
`
`
`
`Intended document return
`
`10
`
`4
`
`Remote HTTP
`
`Server
`
`FIG. 3
`
`Page 6 of 78
`
`
`
`U.S. Patent
`
`Feb.22,2000
`Sheet 4 of 43
`
`6,029,175
`
`( 2
`
`' 6
`
`i
`I
`
`Client
`
`( 15 Revision
`Manager
`Daemon
`
`HTTP
`
`Document
`request
`
`£ 4
`
`Remote
`
`HTTP
`
`Server
`
`CGI services
`
`Returned
`document
`
`save to cache on update request
`RM_route.pl
`
`r-17
`
`r 16
`� RM_cacheParse.pl
`
`cache hit
`
`r 19
`__!L..------ !.._!._
`
`, 1s
`�
`
`�------------
`Future Extension
`
`cache on disk
`
`FIG. 4
`
`Page 7 of 78
`
`
`
`U.S. Patent Feb.22,2000 Sheet 5 of 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
`D Alert me on source update for: http://www .teknowledge.com/
`
`Check for souce update every
`
`seconds
`
`Enter the URL of the documents you wish to check:
`
`I Submit Info
`
`Clear Form
`
`FIG. 6
`
`Page 8 of 78
`
`
`
`U.S. Patent Feb.22,2000 Sheet 6 of 43
`
`6,029,175
`
`Remote
`Web Server
`
`,---.. 20
`
`et document
`if modified
`since
`last update
`
`7
`
`,...---23
`Send CCI
`
`command
`instructing
`browser to
`get updated
`document
`
`2
`Client
`Browser
`
`Polling Daemon
`Revision Manager
`Daemon)
`
`(launched
`by
`
`/22
`
`Save updated
`document to
`cache file
`
`290
`Client
`Files
`
`/26
`
`Get document
`text from cache
`file
`
`27
`Parse HTML
`Script
`
`�--------�
`
`Parse text
`and print to
`
`/28
`Revision
`Manager
`Daemon
`,..-25
`
`Execute
`parse script ----.t
`
`FIG. 7
`
`Revision
`Manager
`Daemon
`f----
`
`�-----�
`
`Page 9 of 78
`
`
`
`U.S. Patent
`
`Feb.22,2000 Sheet 7 of 43
`
`6,029,175
`
`6
`
`Revision Manager
`Daemon
`Process Started
`
`.-------.....:'L-------.1./, 30
`
`Parse command line
`
`/ 31
`
`Initialize
`server configuration
`
`Child
`
`Fork
`
`Parent
`
`C Polling
`
`Daemon
`
`7
`
`Open socket
`
`r
`
`/33
`
`Listen for connection
`
`�-----_..�
`
`I ...-34
`Incoming request _l / 35
`
`r37
`
`�..-Parent_
`process
`
`Accept ,__
`
`FIG. 8
`
`Forked child
`process
`
`Page 10 of 78
`
`
`
`U.S. Patent Feb.22,2000
`Sheet 8 of 43
`
`6,029,175
`
`NO
`
`47
`
`r----..L-----,
`
`Load rm_url
`from url_get data
`
`45
`
`Load client_port
`from port_number
`data
`
`Load client_interval
`from update_interval
`data
`
`51
`
`Process Cache
`
`FIG. 9
`
`Page 11 of 78
`
`
`
`U.S. Patent Feb.22,2000 Sheet 9 of 43
`
`6,029,175
`
`NO
`
`Translate
`page address to
`cache_filename
`
`Create lock file
`for cache_filename
`
`55
`Save client address,
`
`port, update_interval to
`cache filename.clients
`- file
`
`YES
`
`60
`
`Set the RM CACHE
`environmenf variable
`
`to the cache_filename
`
`NO
`
`YES
`
`NO
`
`YES
`
`65
`
`64
`
`Change request
`Set content_type
`method from POST
`and content_length
`to GET and create
`to zero
`QUERY _STRING
`
`Change selected
`CGI script from
`
`RM_route.pl to
`
`RM_cache Parse .pi
`
`66
`
`FIG. 10
`
`Page 12 of 78
`
`
`
`U.S. Patent Feb.22,2000 Sheet 10 of 43
`
`6,029,175
`
`66
`
`Forked
`child rocess
`
`69
`
`Exec CG I Script
`
`Y ES
`
`write rm_data
`to pipe
`
`Read pipe from
`CGI Script
`
`Delete
`cache filename
`lock file
`
`Exit
`
`FIG. 11
`
`Page 13 of 78
`
`
`
`U.S. Patent
`
`Feb.22,2000 Sheet 11 of 43
`
`6,029,175
`
`Parse
`GET input
`
`Parse
`POST input
`
`NO
`
`84
`
`83
`
`Get Browser
`Port Number 14--------1
`
`Set Update
`
`Interval to
`
`10 seconds
`
`NO
`
`YES
`
`NO
`
`91
`
`Assign
`Current
`Document
`Address to
`Request
`Address
`
`92
`
`Set Poll
`Flag O F F
`
`88
`
`YES
`
`89
`
`Assign
`New
`Document
`Address to
`Request
`Address
`
`90
`
`Set Poll
`Flag O F F
`
`86
`
`Assign Poll
`Document
`Address to
`Request
`Address
`
`87
`
`Set Poll
`Flag O N
`
`RM_getPage
`
`93
`
`FIG. 12
`
`Page 14 of 78
`
`
`
`U.S. Patent
`Feb.22,2000 Sheet 12 of 43
`
`6,029,175
`
`RM_getPage
`
`93
`
`NO
`
`YES
`
`106
`
`107
`
`Return
`HTML Text
`
`NO
`
`103
`Disable
`Redirect
`Flag
`
`FIG. 13
`
`Enable
`Redirect
`Flag
`
`Page 15 of 78
`
`
`
`U.S. Patent
`Feb.22,2000
`Sheet 13 of 43
`
`6,029,175
`
`Get Revision
`Manager
`HTPP Address
`
`NO
`
`,-------L-----''-,1 18
`
`Print Revision
`Manager Form
`To Browser
`
`.-- - -.L..-� 115
`
`Poll Notice
`to browser
`
`119
`
`Parse
`HTML Text
`
`FIG. 14
`
`Page 16 of 78
`
`
`
`U.S. Patent Feb.22,2000 Sheet 14 of 43
`
`6,029,175
`
`119
`
`120
`
`Get the Revision
`Manager HTTP Address
`
`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
`
`=
`HTM L address
`
`protocol and server
`
`126
`
`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
`
`r-----------L---------��
`
`Parse HTML text to add
`Revision Manager address
`and HTML address to
`incomplete url addresses
`
`128
`
`YES
`
`124
`
`=
`HTML address
`
`protocol, server, and
`port number
`
`129
`
`--�------�------�
`
`Parst HTML text to mark
`
`all complete image
`
`
`references for exclusion from
`Revision Manager
`processing
`
`131
`
`132
`
`FIG. 15
`
`Page 17 of 78
`
`
`
`U.S. Patent Feb.22,2000 Sheet 15 of 43
`
`6,029,175
`
`132
`
`.--- ---'
`
`/'232
`......,
`'--- --
`Get parsed
`HTML document
`
`NO
`
`YES
`
`134
`
`135
`
`Print error message
`
`Print HTML text
`
`136
`
`END PROGRAM
`
`FIG. 16
`
`Page 18 of 78
`
`
`
`U.S. Patent
`Feb.22,2000 Sheet 16 of 43
`
`6,029,175
`
`137
`
`138
`
`Get the document
`port number from the
`QUERY _STRING
`
`NO
`
`140
`
`Get the document
`URL from the
`QUERY _STRING
`
`142
`
`Open cache
`
`file listed in
`RM_CACHE
`
`144
`
`Place file
`HTML contents into
`local variable
`
`146
`
`219
`
`332
`
`Print HTML text
`
`,..---L..--.L.,
`
`Parse
`HTML Text
`
`Revision
`Manager
`Form
`
`FIG. 17
`
`Page 19 of 78
`
`
`
`U.S. Patent Feb.22,2000 Sheet 17 of 43
`
`6,029,175
`
`Daemon
`
`7
`
`£152
`
`Polling)
`� --------�---- ----�
`.. ...
`� --------� --------�
`
`Set current directory to
`
`to cache directory
`
`,.
`
`;" 153
`
`Walk through
`current directory
`
`� --------� --------�
`
`/ 154
`
`,
`
`Sleep for interval
`set by polling_interval
`
`FIG. 18
`
`Page 20 of 78
`
`
`
`U.S. Patent
`Sheet 18 of 43
`Feb.22,2000
`
`6,029,175
`
`Get next
`directory
`item
`
`NO
`
`Get next
`directory
`item
`
`YES
`
`YES
`
`FIG. 19
`
`Page 21 of 78
`
`
`
`U.S. Patent
`Feb.22,2000 Sheet 19 of 43
`
`6,029,175
`
`Start polling actions
`
`169
`171
`
`172
`
`Build document polling
`linked list from
`file contents
`
`Get next item
`from document
`polling list
`
`185
`.---- -'-- - ---',
`
`Write data to
`cache info file
`(contents
`unaltered)
`
`175
`
`180
`
`Open connection
`to document
`Web server
`
`181
`
`.--------X--------�
`
`Send HTTP GET
`command with document
`
`last-modified time
`
`Read response
`and update client
`
`FIG. 20
`
`Page 22 of 78
`
`
`
`U.S. Patent
`Feb.22,2000 Sheet 20 of 43
`
`6,029,175
`
`182
`
`Open a
`temporary
`tile
`
`187
`
`Read remote web server
`
`response and save to
`temp file
`
`YES
`
`195
`
`RETURN
`
`FIG. 21
`
`Page 23 of 78
`
`
`
`U.S. Patent
`Feb.22,2000
`Sheet 21 of 43
`
`6,029,175
`
`NO
`
`RETURN
`
`Enable
`need_to_update
`flag
`
`YES
`
`Set
`
`need_to _update
`flag to zero
`
`FIG. 22
`
`Page 24 of 78
`
`
`
`U.S. Patent Feb.22,2000 Sheet 22 of 43
`
`6,029,175
`
`File Qptions Navigate Annotate News
`
`Help
`
`jTeknowledge Hot Box
`URL: ��ttp://neon.teknowledge.com:804Z/hotbox.html
`
`Title:
`
`~
`MD �ASTO
`.... , ARPA Warb�aker
`TEKNOWLEDGE
`I&P
`
`Distributed Information logistics Services
`
`
`Hotbox Demonstration
`
`This form allows you to submit an HTTP address to route through
`
`the Hot Box agent by filling in the requested information in the
`spaces provided.
`
`lhttp://www.teknowledge.com/HIBURST/
`
`Enter the URL of the documents you wish to check:
`
`1804Q
`Enter the CCI port number you have selected
`Submit I nfo! Clear Formj
`
`on your browser:
`
`·�
`�
`Hamel Reload! Open ... ! Save As ... l Clonel New Windowj
`
`Backl r::,�j'_,·:n�l
`
`Data transfer complete.
`
`FIG. 23
`
`Page 25 of 78
`
`
`
`U.S. Patent Feb.22,2000 Sheet 23 of 43
`
`6,029,175
`
`File Qptions Navigate Annotate News
`
`Help
`
`New Window
`-
`Clone Window
`QpenURL...
`Open Local. ..
`Reload Current
`
`dge Hot Box
`
`eon .teknowledge.com:8042/hotbox.html
`
`-
`
`Refresh Current
`
`~
`� �A STO
`Relo!!_d Images �WLEDGE
`..,, ARPA Warbreaker
`I&P
`
`Find In Current ...
`View Source ...
`Edit Source ... nformation logistics Services
`onstration
`Save As ...
`p you to submit an HTTP address to route through
`rint ...
`ail To ...
`
`nt by filling in the requested information in the
`
`
`d.
`
`- P
`
`- M
`
`CCL
`Close Window teknowledge .com/HIBURST/;
`jso4d
`Submit Info! Clear Forml
`
`E?!ft Program ...
`
`
`the documents you wish to check:
`
`
`
`Enter the CCI port number you have selected on your browser:
`
`�
`J�
`Back! r::�;i-.'.·ar�i
`l Hamel Reload! Open ... ! Save As ... l Clone! New Window!
`Data transfer complete.
`
`FIG. 24
`
`Page 26 of 78
`
`
`
`U.S. Patent Feb.22,2000 Sheet 24 of 43
`
`6,029,175
`
`Help
`
`File Qptions Navigate Annotate News
`
`Title: Jreknowledge Hot Box
`~
`URL: jihttp: I /neon, teknowl edge. com: 8042/hotbox. html
`NVD �A STO
`TEKNOWLEDGE
`...,, ARPA Warbreaker
`I&P
`
`Distributed Information logistics Setvices
`
`
`Hotbnv n�n�nne••"lo•inn
`=-·
`This f<
`jso4ci
`the He CCI Port Address:
`space
`+ Accept requests
`<> I nte rfac e off
`
`Ok I Dismiss I H elp ... I
`
`1 httj:':
`Enter t
`1804d
`Submit lnfoj Clear Formj
`
`
`
`Enter the CCI port number you have selected on your browser:
`
`�
`·�
`
`Backj r::(Y·.':·ar(il Homej Reloadj Open ... l Save As ... l Clone! New Window!
`Data transfer complete.
`
`FIG. 25
`
`Page 27 of 78
`
`
`
`U.S. Patent Feb.22,2000 Sheet 25 of 43
`
`6,029,175
`
`File Qptions Navigate Annotate News
`jHIBURST-TCT
`Project Overview
`~
`URL: jhttp://neon.teknowledge.com:8042/cgi-bin/HB_
`NUl �ASTO
`�
`TEKNOWLEDGE
`...,, ARPA Warbreaker
`l&P
`..J Alert me on source update for:
`me when source updates within ji seconds.
`
`Help
`
`•
`
`Title:
`
`http:/lwww .teknowledge.com/HIBURST/
`
`Notify
`
`
`
`Enter the URL of the new document desired:
`
`I I
`Submit lnfoj Clear Formj
`HI BURST-TCT
`(C) 1995 TEKNOWLEDGE Corp. All Rights Reserved
`Overview
`
`•
`The High-performance Information Bases Using Real-time Scalable
`
`
`
`
`
`
`
`Technology (HI BURST) for Time Critical Targets (TCT) project is
`Aoencv (ARPA) within �
`
`
`sponsored bv the Advanced Research Projects
`D�
`��
`
`Backl F·�Y·:"dr(ij Hamel Reload! Open ... ! Save As ... l Clonel New Window!
`
`FIG. 26
`
`Page 28 of 78
`
`
`
`U.S. Patent Feb.22,2000 Sheet 26 of 43
`
`6,029,175
`
`-
`File Qptions Navigate Annotate News
`jHIBURST-TCT
`
`Project overview
`~
`
`URL: jihttp: I /neon. teknowl edge. com 8042 /cg"i-bi n/HB_
`NUl �A STO
`,, f-
`TEKNOWLEDGE
`....,, ARPA Warbreaker
`I&P
`r Alert me on source update for:
`Notify me when source updates within j3d seconds.
`
`Help
`
`,.
`
`Title:
`
`
`
`http:llwww .teknowledge.com/HIBURST/
`
`Enter the URL of the new document desired:
`
`I I
`Submit lnfol Clear Form I
`
`HI BURST-TCT
`(C) 1995 TEKNOWLEDGE Corp. All Rights Reserved
`Overview
`
`The High-performance Information Bases Using Real-time Scalable
`
`
`•
`
`
`Technology (HI BURST) for Time Critical Targets (TCT) project is
`Aoencv (ARPA) within u
`sponsored bv the Advanced Research Projects
`D�
`�J
`Back! r:::);'-u:il Hamel Reload! Open ... ! Save As ... j Clonel New Window!
`
`FIG. 27
`
`Page 29 of 78
`
`
`
`U.S. Patent Feb.22,2000 Sheet 27 of 43
`
`6,029,175
`
`File Qptions Navigate Annotate News
`
`Help
`
`Title: I HI BURST-TCT Project Overvlew
`~
`: I /neon .teknowledge.com:8042/cgl-bln/HB_
`URL: jihttp
`MlD �A STO
`TEKNOWLEDGE
`"""' ARPA Warbreaker
`I&P
`__J Alert me on source update for:
`Notify me when source updates within II seconds.
`
`
`
`http://www.teknowledge.com/HIBURSTf
`
`�
`
`..
`
`Enter the URL of the new document desired:
`
`lhttp://www.teknowledge.com/M4J
`Submit Info! Clear Form I
`HI BURST-TCT
`(C) 1995 TEKNOWLEDGE Corp. All Rights Reserved
`Overview
`The High- performance I nformation
`
`Bases Using Real-time Scalable
`
`1111
`
`
`(HI BURST) for Time Critical Targets (TCT) project is
`Technology
`Aoencv (ARPA) within �
`
`
`sponsored bv the Advanced Research Projects
`�
`_D�
`
`Back! f·.-:>-·'·ar:11 Hamel Reload! Open ... l Save As ... l Clone! New Window!
`
`FIG. 28
`
`Page 30 of 78
`
`
`
`U.S. Patent Feb.22,2000 Sheet 28 of 43
`
`6,029,175
`
`Title:
`
`Help
`
`File Qptions Navigate
`Annotate
`News
`-
`-
`IHIBURST-TCT
`Project overview ~
`URl: I Ihttp : I /neon .teknowledge.com.8042/cgi-bln/HB_
`� �A STO
`0
`T, ARPA Warbi'E'aker
`TEKNOWLEDGE
`I&P
`
`I""
`
`
`
`Enter the URL of the document desired:
`
`I I
`Submit URLj Clear Form I
`I . � Current
`
`document now registered for update:
`
`
`http :J/WW\1/.teknowledge.com/HIBURST/
`
`HIBURST-TCT
`TEKNOWLEDGE Corp. All Rights Reserved
`Overview
`
`(C) 1995
`
`The High-performance Information Bases Using Real-time Scalable
`
`
`
`
`
`
`
`Technology (HI BURST) for Time Critical Targets (TCT) project is
`Agency (ARPA) within •
`
`
`sponsored by the Advanced Research Projects
`T�rhnnlnmt �
`th� \A/6R �RI=6k'I=R nrnnr�m 11nrl�rth� 6ri11�nr�rl C:\t�t�mc;:
`l:l�
`�
`Backl r::c�·,·uzil
`Home! Reload! Open ... ! Save As ... ! Clone! New Window!
`Data transfer complete.
`
`FIG. 29
`
`Page 31 of 78
`
`
`
`U.S. Patent Feb.22,2000 Sheet 29 of 43
`
`6,029,175
`
`Title:
`
`File Qptions Navigate Annotate News
`jHIBURST-TCT
`Project Overview
`~
`URL: jhttp://neon.teknowledge.com:8042/cgi-bin/HB_
`MlO �A STO
`'J f-l
`TEKNOWLEDGE
`..,, Warbreaker
`I&P
`I
`. ;i This is an update from: http:J/www .teknowledge.com/HIBURST/
`
`Help
`
`�
`
`HIBURST-TCT
`
`(C) 1995 TEKNOWLEOGE Corp. All Rights Reserved
`Overview
`
`The High-performance Information Bases Using Real-time Scalable
`
`is
`
`Technology (HI BURST) for Time Critical
`
`the WAR BREAKER program under the Advanced Systems Technology
`
`
`
`
`locate, identify, decreasing the amount of time required to reconnoiter,
`
`
`
`
`evaluate, prioritize, target, designate and destroy
`from the current
`
`Targets (TCT) project
`sponsored by the Advanced Research Projects Agency (ARPA) within
`Office (ASTO). The WAR BREAKER program is tasked with drastically
`fixed and mobo Afile
`weapons systems, military platforms and other targets
`HI BURST-TCT will support
`WAR BREAKER by providing situation assessment
`period of many hours or days, to minutes.
`information derived
`
`..
`
`from legacy database systems and near real-time updates via
`
`to support �
`
`
`communications links. HI BURST-TCT is also being developed
`[]�
`�
`Hamel Reload! Open ... l Save As ... l Clone! New Window!
`l-:·:;d I r:,l:' ·ar,il
`
`FIG. 30
`
`Page 32 of 78
`
`
`
`U.S. Patent Feb.22,2000 Sheet 30 of 43
`
`6,029,175
`
`307
`
`317 CLIENT
`
`313
`
`FILE
`SERVER
`
`318 CLIENT
`
`314
`
`FILE
`SERVER
`
`319 CLIENT
`
`,- 300
`
`309
`
`302
`
`:::s:::
`0:::
`0
`s I-
`w
`z
`<(
`Cl) 0
`_J
`(9
`
`_J
`
`CLIENT
`
`320
`
`FILE
`SERVER
`304
`
`315
`
`REVISION 301
`MANAGER
`
`FILE
`SERVER
`
`316
`
`303
`
`310
`
`LOCAL NETWORK
`
`312
`
`Fig. 31
`
`Page 33 of 78
`
`
`
`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
`"-..._ 331
`
`RANDOM ACCESS MEMORY t
`I PROCESSOR
`t
`DISK STORAGE -332 Fig.
`3 2
`
`NETWORK
`INTERFACE
`333__./
`
`330
`
`........._ 313
`
`�
`( SIGNIFICANT CHANGE DETECTION METHOD )
`/ 541
`�
`�
`�
`�
`
`COMPUTE TIME-VALUE OF NEW OBJECT
`(USING CLIENT-SPECIFIED
`PARAMETERS, CLIENT-SPECIFIED
`PROCEDURES, OR CLIENT-SPECIFIED FACT OR RULE KNOWLEDGE)
`/ 542
`I OBTAIN CLIENT-SPECIFIED THRESHOLD FOR THE NEW OBJECT I
`/543
`INCREASE THRESHOLD IF NETWORK IS EXPERIENCING
`UNUSUAL LATENCY OR SLOW THROUGHPUT
`
`
`
`/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
`
`RETURN )
`
`Fig. 43
`
`Page 34 of 78
`
`
`
`U.S. Patent Feb.22,2000 Sheet 32 of 43
`
`6,029,175
`
`FILE SERVER ACCESS
`
`341
`
`LOOK UP
`OBJECT ID
`IN THE
`DIRECTORY
`
`345
`YES READ OBJECT
`FROM DISK
`
`346
`
`RETURN OBJECT
`
`RETURN MESSAGE
`"NOT FOUND"
`
`YES
`
`NO
`
`OTHER PROCESSING
`
`YES
`
`348
`
`PUT CLIENT ON
`CHANGE LIST
`FOR THE OBJECT
`
`ALLOCATE
`DISK STORAGE
`TO OBJECT
`
`355
`
`356
`
`WRITE OBJECT
`1-----<
`TO DISK
`
`ADD I REMOVE CLIENT
`
`FROM THE CHANGE
`LIST FOR THE OBJECT
`
`NOTIFY CLIENTS ON
`OBJECT'S CHANGE LIST
`
`YES
`
`Fig. 33
`
`Page 35 of 78
`
`
`
`U.S. Patent Feb.22,2000 Sheet 33 of 43
`
`6,029,175
`,_- 301
`
`DIRECTORY -384 387- OBJECTS' INTERESTED
`CLIENT LISTS
`OF OBJECTS
`
`CACHE OF -385 388- OBJECTS' SEARCH
`SPECIFICATIONS
`OBJECTS
`
`OBJECTS' SIGNIFICANT
`LOG OF
`CHANGES f-386 389- CHANGE DETECTION
`METHODS
`TO OBJECTS
`
`DIRECTORY f--390 391- CLIENTS' LISTS OF
`OBJECTS OF INTEREST
`OF CLIENTS
`
`CLIENTS' SIGNIFICANT
`392- CHANGE DETECTION
`METHODS FOR OBJECTS
`
`393- CLIENTS' NOTIFICATION
`METHODS
`
`394- CLIENTS' GENERAL
`INTEREST SPECIFICATIONS
`
`RANDOM ACCESS MEMORY
`/ 383
`/ 380
`NETWORK ----1 PROCESSOR I
`/ 382
`
`INTERFACE
`
`---
`
`'-381
`
`DISK STORAGE
`
`Fig. 34
`
`Page 36 of 78
`
`
`
`U.S. Patent Feb.22,2000 Sheet 34 of 43
`
`6,029,175
`
`UPDATE REQUEST
`FROM CLIENT
`
`Fig. 35
`
`LOOK UP CLIENT
`
`IN THE CLIENT 401
`
`DIRECTORY
`
`ADD/DELETE
`YES CLIENT TO OR
`FROM CLIENT
`DIRECTORY
`
`403
`
`NO
`
`NO
`
`YES ADD I DELETE OBJECT TO
`>---------' OR FROM CLIENT'S LIST OF 405
`
`OBJECTS OF INTEREST
`
`LOOK UP OBJECT IN
`OBJECT DIRECTORY
`
`406
`
`ADD I DELETE CLIENT
`TO OR FROM OBJECT'S 407
`
`INTERESTED CLIENT LIST
`
`409
`ADD I DELETE
`..� OBJECT TO OR
`FROM OBJECT
`DIRECTORY
`
`S-.
`>-Y
`
`_E
`
`Page 37 of 78
`
`
`
`U.S. Patent
`Feb.22,2000 Sheet 35 of 43
`
`6,029,175
`
`412
`ADD I DELETE CHANGE
`
`DETECTION METHOD
`TO OR FROM OBJECT'S
`SIGNIFICANT CHANGE
`DETECTION METHOD
`
`410
`
`ADD/DELETE CHANGE
`DETECTION METHOD
`TO OR FROM CLIENT'S
`SIGNIFICANT CHANGE
`DETECTION METHOD
`FOR THE OBJECT
`
`415
`
`ADD I DELETE GENERAL INTEREST
`YES SPECIFICATION TO OR FROM
`CLIENT'S GENERAL INTEREST
`SPECIFICATION
`
`417
`
`ADD/DELETE NOTIFICATION
`METHOD TO OR FROM CLIENT'S
`NOTIFICATION METHODS
`
`NO
`
`RETURN
`
`Fig. 36
`
`Page 38 of 78
`
`
`
`U.S. Patent Feb.22,2000 Sheet 36 of 43
`
`6,029,175
`
`SEARCH REQUEST FROM CLIENT
`
`433
`YES RETRIEVE THE
`>--�
`OBJECT FROM
`THE RM CACHE
`
`434
`
`RETURN OBJECT
`TO THE CLIENT
`
`RETURN
`
`440
`
`�------�--�--�
`SEARCH RM CACHE FOR
`OBJECTS MATCHING A
`GENERAL OBJECT
`DESCRIPTION
`
`YES
`
`SEARCH NETWORK FILE SERVER FOR OBJECTS
`MATCHING THE GENERAL OBJECT