`Lambert et al.
`
`54
`
`(75)
`
`METHOD AND APPARATUS FOR STORING
`AND DELIVERING DOCUMENTS ON THE
`INTERNET
`
`Inventors: Mark L. Lambert, Atherton; Daniel J.
`G. van der Rijn, San Carlos; David J.
`Kemper, San Mateo; Jay L. Verkler,
`Menlo Park, all of Calif.
`Assignee: Tibco, Inc., Palo Alto, Calif.
`
`Appl. No.: 08/897,786
`Filed:
`Jul. 21, 1997
`Int. Cl. ...................................................... H04J 3/17
`U.S. Cl. ........................... 709/226; 370/468; 709/240
`Field of Search ......................... 395/200.33, 200.43,
`395/200.46-200.49, 200.54, 200.56, 200.57;
`370/234, 468, 444, 462; 709/232, 226,
`224, 240
`
`56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`3,848,193 11/1974 Martin et al. ............................. 325/53
`4,287,592 9/1981 Paulish et al. ............................ 370/88
`4,429,385
`1/1984 Cichelli et al. ........................... 370/92
`4,815,030 3/1989 Cross et al. .......
`... 364/900
`4,868,866 9/1989 Williams, Jr. ............................. 380/49
`4,974,149 11/1990 Valenti ..........
`... 364/200
`5,105,184 4/1992 Pirani et al. ..
`... 340/721
`5,220,657 6/1993 Bly et al. ......
`... 395/425
`5,230,048 7/1993 Moy ..............
`... 395/600
`5,339,239 8/1994 Manabe et al. ...
`... 364/401
`5,347,632 9/1994 Filepp et al...
`... 395/200
`5,515,098 5/1996 Carles ......................................... 348/8
`5,557,608 9/1996 Calvignac et al.
`370/462 X
`5,577,266 11/1996 Takahisa et al. .......................... 455/66
`5,579,537 11/1996 Takahisa ................................... 455/66
`5,617.565 4/1997 Augenbraun et al.
`... 395/604
`5,675,510 10/1997 Coffey et al. .....
`... 395/200.54
`5,687,167 11/1997 Bertin et al. ........................ 370/444 X
`
`
`
`US0060386O1A
`Patent Number:
`11
`(45) Date of Patent:
`
`6,038,601
`Mar. 14, 2000
`
`5,734,909 3/1998 Bennett .............................. 395/200.59
`5,742,772 4/1998 Sreenan ...
`... 395/200.56
`5,751,956 5/1998 Kirsch .........
`... 395/200.33
`5,754,774 5/1998 Bittinger et al.................... 395/200.33
`5,764,908 6/1998 Shoji et al. ........................ 395/200.47
`5,799,002 8/1998 Krishman ................................ 370/234
`FOREIGN PATENT DOCUMENTS
`
`93.09631 11/1991 WIPO.
`
`OTHER PUBLICATIONS
`Ari Luotonen et al., World Wide Proxies, http://
`www.w3.org/archives/pp. 1-8, Apr. 1994.
`Ari Luotonen et al., Logging Control in W3C httpd, http://
`www.w3.org/archives/, pp. 1-4, Jul. 1995.
`Ari Luotonen et al., Caching Algorithm of CERN httpd,
`http://www.w3.org/archives/, pp. 1-4, Dec. 1994.
`(List continued on next page.)
`Primary Examiner Zarni Maung
`ASSistant Examiner Patrice L. Winder
`Attorney, Agent, or Firm Blakley, Sokoloff, Taylor &
`Zafman LLP
`ABSTRACT
`57
`An improved method and apparatus is used for Storing and
`delivering information over the Internet and using Internet
`technologies. According to one embodiment of the present
`invention, a method and apparatus for maintaining Statistics
`on a Server is disclosed. According to an alternative
`embodiment, a method and apparatus is disclosed for pre
`dicting data that a client device may request from a server on
`a network. In another embodiment of the present invention,
`a method and apparatus is disclosed for managing band
`width between a client device and a network. According to
`yet another embodiment, a method and apparatus is dis
`closed for validating a collection of data. According to yet
`another embodiment, a method for providing notification to
`clients from Servers is disclosed.
`
`5 Claims, 10 Drawing Sheets
`
`ALLOCATING A PRIORITY TO EACHREQUES FROMACLIENT DEVICE
`
`
`
`
`
`ALLOCATING BANDWIDTH TO EACHREQUEST BASED ON THE
`PRIORITY
`
`PROCESSINGEACHREGUEST BASED ON THE ALLOCATED
`PRORTY AND THE ALLOCATED BANDWOTH
`
`Netflix, Inc. - Ex. 1054, Page 000001
`IPR2021-01319 (Netflix, Inc. v. CA, Inc.)
`
`
`
`6,038,601
`Page 2
`
`OTHER PUBLICATIONS
`Duane Wessels, Intelligent Caching for World Wide Web
`Objects, http://www/isoc.org/, pp. 1-15, May 1995.
`Evangelos P. Markatos et al., A Top-10 Approach to
`Prefetching on the Web, http://www.ics.forth.gr/proj/, pp.
`1-15, Aug. 1996.
`Pillip M. Hallam-Baker, Notification for Proxy Caches,
`http://www.w3.org/pub/, pp. 1-5, Feb. 1996.
`Chris Dodge et al., Web cataloguing through cache exploi
`tation and Steps toward consistency maintenance, Computer
`Networks and ISDN Systems, pp. 1003-1008, Dec. 1995.
`Thomas T. Kwan et al., NCSA's World Wide Web Server:
`Design and Performance, IEEE, pp. 68-74, Dec. 1995.
`“A Structure For Transportable, Dynamic Multimedia Docu
`ments', Dick C.A. Bulterman, Proceedings of the Summer
`1991 USENIX Conference Jun. 10–14, 1991, pp. iii-vi and
`137-155, Nashville, TN.
`“An Interchange Standard And System For Browsing Digital
`Documents', Andrew Jonathan Kass, pp. Cover page,
`Abstract page & pp. 5-105, Massachusetts Institute of
`Technology, 1995.
`“Pointcast To Team With Microsoft, Add New Net Dimen
`Sion', George Avalos, Contra Costa Times, 2 pp., Dec. 12,
`1996.
`“Microsoft Picks On-Line News From PointCast', David
`Bank, 1 pg., The Wall Street Journal Marketplace, Dec. 12,
`1996.
`“Microsoft To Expand Its Internet Reach'', 1 pg., Los
`Angeles Times, Dec. 12, 1996.
`The ISI Experimental Multimedia Mail System, Jonathan B.
`Postel, et al., ISI Research Report, Sep. 1986, pp. 1-27.
`“An Interpersonal Multimedia Visualization System”, Rich
`ard L. Philips, Los Alamos National Laboratory, IEEE
`Computer Graphics & Applications, pp. 20-27, May 1991.
`“Architectures For Personalized Multimedia', Srinivas
`Ramanathan, et al., University of California at San Diego,
`Spring, 1994 IEEE pp. 37–46.
`“Pushing the Envelope on delivery of Customized Internet”,
`New York Times, 2 pp., Laurence Zuckerman, Dec. 9, 1996.
`“SIFT A Tool For Wide-Area Information Dissemination,
`"Tak W. Yan, et al., pp. 177-186, 1995 USENIX Technical
`Conference, Jan. 16-20, 1995.
`“The RightPages Image-Based Electronic Library For
`Alerting And Browsing, pp. 17-26, Guy A. Story, et al.,
`AT&T Bell Laboratories, Sep. 1992.
`“Two Free Programs Deliver News To Your PC, 1 pg.,
`Gabrielle Mitchell, PC World Aug. 1996.
`“A Need-To-Know Basis', 1 pg., WebMaster, Oct. 1996.
`“Microsoft Cuts Deals With 2 Firms”, San Jose Mercury
`News, 1 pg., Dec. 12, 1996.
`“Microsoft Unites With PointCast at Trade Show”, The San
`Francisco Chronicle, Jean Sheartz, 1 pg., Dec. 12, 1996.
`“Microsoft And Point Cast In Broadcast Alliance', The New
`York Times, Laurence Zuckerman, 1 pg., Dec. 12, 1996.
`“Big Business at Businesswire.Com, Christopher Elliott,
`Web Techniques, Dec. 1996, pp. 95–99.
`“Microsoft Teams With PointCast', The Globe And Mail,
`Patrick Bretmour, 1 pg., Dec. 12, 1996.
`“JournalistTM , Your Personalized Newspaper for Com
`puServe”, PED Software Corporation, pp. 1-143.
`“Synchronization of Multimedia Data For A Multimedia
`NewS-On-Demand Application', Louise Lamont, et al.,
`IEEE Journal on Selected areas in Communications, pp.
`164-278, vol. 14, No. 1, Jan. 1996.
`
`“Tele-Briefs A Novel User-Selectable Real Time News
`Headline Service For Cable TV", Ralph H. Baer, 3 pp., IEEE
`Transactions on Consumer Electronics, vol. CE–25, No. 3,
`Ju1 1979.
`“News To The Desktop', Interactive Age, John Evan Frook,
`3 pp., Apr. 29, 1996.
`“The Digital News System. At EDUCOM: A Convergence of
`Interactive Computing, Newspapers, Television and High
`-Speed Networks”, pp. 113-116, Eric M. Hoffert, et al., Apr.
`1991, vol. 34, No. 4.
`“Point Cast Network', 1 pg., Netguide, Sep. 1996.
`“An Interchange Standard And System For Browsing Digital
`Documents', Andrew Jonathan Kass, Massachusetts Insti
`tute Of Technology, pp. 1-105, May 1995.
`“Journalist Quick Start, PED Software Corp., 2 pp.
`“News-on-demand For Multimedia Networks', Miller, et
`al., pp. 383–392, ACM Multimedia, 1993.
`“News Servers, A New Generation Of NNTP Servers Pro
`vides A Vehicle for Enhanced Collaboration', Amarendra
`Singh, PC Magazine, pp. 183-184 & 189-190, Jan. 21,
`1997.
`“Push Products Redefine Internet”, Jesse Berst, PC Week, 2
`pp. Nov. 25, 1996.
`“MediaView A General Multimedia Digital Publication Sys
`tem”, Richard L. Phillips, pp. 3 & 75-83, Communications
`of The ACM, Jul 1991, vol. 34, No. 7.
`“Initial Experience With Multimedia Documents. In Dia
`mond', Forsdick, et al., pp. 99-113, May 1-4, 1984.
`Proceedings of The Fifteenth International Conference On
`Very Large Data Bases, Peter M.G. Apers, et al., Aug.
`22–25, 1989.
`“Oracle-An Information Broadcasting Service Using Data
`Transmission. In The Vertical Interval”, G. A. McKenzie,
`Journal of the SMPTE, pp. 6-10 Jan. 1974.
`“Experience With Grapevine: The Growth Of A Distributed
`System”, Schroeder, et al., pp. 3–23, ACM Transactions on
`Computer Systems, vol. 2, No. 1, Feb. 1984.
`“For A Window On A New World of News”, Prodigy
`Interactive Personal Service, Copyright 1994.
`JournalistTM, “Your Personalized Newspaper For The Prodi
`gy Service”, PED Software Corporation, 1993, pp. 1-141.
`Patent Abstracts of Japan, European Patent Office, “Data
`base Retrieval Communication System”, Abstract date May
`9, 1991, Application JP3204259.
`“An Adaptation Method for SDI, Nauchno-Tekh, article,
`Nauchno-Teknicheskaya Informatsiya Seriya 2, 1973,
`USSR, 1 page.
`Simba Information, Inc., “PED Delivers Personalized News
`papers To Users Desktops”, Electronic Information Report,
`Apr. 15, 1994, vol. 15, No. 14.
`Journal Article, “Innovation That Has a Purpose Is Called
`Key to Technology Success”. Anonymous, Marketing News
`vol. 22, No. 6, Mar. 14, 1988, pp. 37, 40.
`Quain, J., “Journalist Delivers Your Own Personalized
`Newspaper”, PC Magazine, vol. 12, No. 17, p. 29.
`Flynn, M. et al., “The Daily Me: Laying Out Tomorrow's
`(electronic) News”, PC Magazine, vol. 12, No. 15, p. 29.
`UK: Home Computer “From Your Own Correspondent', 1
`pg., Independent (IND), Sep. 24, 1993.
`Journalist-“A New Prodigy Add-On’, PED Software, 1
`pg., 1994.
`New Custom File Capability For Nexis, 1 pg., May 1, 1995.
`Ad on CompuServe pp. 1-2.
`Prodigy article, Prodigy Services Company 1989, pp. 1-6.
`
`Netflix, Inc. - Ex. 1054, Page 000002
`
`
`
`U.S. Patent
`
`Mar. 14, 2000
`
`Sheet 1 of 10
`
`6,038,601
`
`CONTENT
`PROVIDER
`102
`
`FIG. 1A
`(PRIOR ART)
`
`CLIENT
`
`100
`
`Netflix, Inc. - Ex. 1054, Page 000003
`
`
`
`U.S. Patent
`
`Mar. 14, 2000
`
`Sheet 2 of 10
`
`6,038,601
`
`
`
`
`
`
`
`
`
`?ÔI
`
`HOSSE|00}}d
`
`| |
`
`EOLAEC]
`XHONA LEN
`
`Netflix, Inc. - Ex. 1054, Page 000004
`
`
`
`U.S. Patent
`
`Mar. 14, 2000
`
`Sheet 3 of 10
`
`6,038,601
`
`CONTENT
`BAR
`
`302
`
`CACHING
`SERVER
`304
`CLIENT 100
`
`A
`VIA INTERNET
`OR INTRANET
`
`
`
`BACKEND
`SERVER
`350
`
`Netflix, Inc. - Ex. 1054, Page 000005
`
`
`
`U.S. Patent
`
`Mar. 14, 2000
`
`Sheet 4 of 10
`
`6,038,601
`
`SUBSCRIPTION
`MANAGER
`306
`
`SUBSCRIPTION
`DRIVEN LOOKAHEAD
`
`TELLS BROWSER
`TO DISPLAY CONTENT WEBBROWSER
`ON CLIENT
`100
`
`STATUS
`UPDATES
`
`HTTP
`REQUEST
`
`HTTP
`RESPONSE
`CACHED C d
`UPDATED
`CONTENT
`
`
`
`
`
`
`
`SERVER
`
`204
`
`HTTP REQUESTS
`FOR NON-CACHED
`CONTENT
`
`HTTP RESPONSE
`
`FIG. 3
`
`Netflix, Inc. - Ex. 1054, Page 000006
`
`
`
`U.S. Patent
`
`Mar. 14, 2000
`
`Sheet 5 of 10
`
`6,038,601
`
`
`
`DEFINING ATABLE OF CONTENTS (TOC) FOR A COLLECTION OF DATA
`
`RECEIVING AREQUEST FOR DATA CONTAINED WITHIN THE
`COLLECTION OF DATA
`
`EXAMINING THE TOC TO DETERMINE WHETHER THE DATA WITHIN
`THE COLLECTION OF DATAS WALD
`
`UPDATING THE COLLECTION OF DATA IF THE DATA CONTAINED IN
`THE COLLECTION OF DATA IS NVALD
`
`FIG. 4
`
`Netflix, Inc. - Ex. 1054, Page 000007
`
`
`
`U.S. Patent
`
`Mar. 14, 2000
`
`Sheet 6 of 10
`
`6,038,601
`
`BEGIN
`
`RECEIVING STATISTICS FROMA DEVICE COUPLED TO A SERVER, THE STATISTICS
`BEING ASSOCATED WITH DATA ON THE SERVER THE RECEIVING STEP BEING
`PERFORMED ONLY WHEN AUSER ACCESSES THE DATA ON THE SERVER
`
`
`
`
`
`UPDATING THE STATISTICS ON THE SERVER IN RESPONSE
`TO A USER ACCESS OF DATA ON THE SERVER
`
`
`
`END
`
`FIG. 5
`
`Netflix, Inc. - Ex. 1054, Page 000008
`
`
`
`U.S. Patent
`
`Mar. 14, 2000
`
`Sheet 7 of 10
`
`6,038,601
`
`COMPUTING ASET OF METRICS CORRESPONDING TO A LIKELIHOOD DATA WILL
`BE REQUESTED BY A USER
`
`
`
`
`
`DOWNLOADING BASED ON THE METRICS DATA FROM THE SERVER
`TO THE CLIENT DEVICE PRIOR TO THE REQUEST FROM THE
`CLIENT DEVICE
`
`
`
`STORING THE DATA INA CACHE ON THE CLIENT DEVICE
`
`FIG. 6
`
`Netflix, Inc. - Ex. 1054, Page 000009
`
`
`
`U.S. Patent
`
`Mar. 14, 2000
`
`Sheet 8 of 10
`
`6,038,601
`
`POSITIVE LOOKAHEAD FILTER
`
`
`
`http://cnn.com/a/b
`
`http://cnn.com/alb -o- OK
`
`http:/cnnfn.com/a/b -
`
`DOK
`
`http://incommon.com/a1b - - X
`
`FIG. 7A
`
`Netflix, Inc. - Ex. 1054, Page 000010
`
`
`
`U.S. Patent
`
`Mar. 14, 2000
`
`Sheet 9 of 10
`
`6,038,601
`
`NEGATIVE LOOKAHEAD FILTER
`
`http://nytimes.com/a/b/*
`
`
`
`
`
`
`
`http://nytimeS.COm / C /d/ e -o- OK
`
`http://nytimes.com/a/c -D OK
`
`http://nytimes.com/a/b/ C - X
`
`FIG. 7B
`
`Netflix, Inc. - Ex. 1054, Page 000011
`
`
`
`U.S. Patent
`
`Mar. 14, 2000
`
`Sheet 10 Of 10
`
`6,038,601
`
`
`
`BEGIN
`
`ALLOCATING A PRIORITY TO EACH REQUEST FROM A CLIENT DEVICE
`
`ALLOCATING BANDWIDTH TO EACH REQUEST BASED ON THE
`PRIORITY
`
`PROCESSING EACH REQUEST BASED ON THE ALLOCATED
`PRIORITY AND THE ALLOCATED BANDWIDTH
`
`FIG. 8
`
`Netflix, Inc. - Ex. 1054, Page 000012
`
`
`
`1
`METHOD AND APPARATUS FOR STORING
`AND DELIVERING DOCUMENTS ON THE
`INTERNET
`
`6,038,601
`
`FIELD OF THE INVENTION
`The present invention relates to the field of Internet and
`wide-area networking technology. Specifically, the present
`invention relates to the Storage and delivery of information
`over the Internet and using Internet technologies.
`
`DESCRIPTION OF RELATED ART
`The World Wide Web (the Web) represents all of the
`computers on the Internet that offer users access to infor
`mation on the Internet via interactive documents or Web
`pages. Web information resides on Web servers on the
`Internet or within company networks. Web client machines
`running Web browserS or other internet Software can acceSS
`these Web pages via a communications protocol known as
`HyperText transport protocol (HTTP). With the proliferation
`of information on the Web and information accessible in
`company networks, it has become increasingly difficult for
`users to locate and effectively use this information. AS Such,
`the mode of Storing, delivering, and interacting with data on
`the Internet, and the Web in particular, has changed over
`time.
`FIG. 1A illustrates a typical Internet configuration com
`prising client 100 and content provider 102 coupled via the
`Internet. The content provider may include a media
`company, a consumer Service, a busineSS Supplier, or a
`corporate information Source inside the company's network.
`The use of information within a wide-area network Such
`as the Internet poses problems not usually experienced in
`Smaller, local-area networks. The latency of the Internet
`produces delays that become the performance bottleneck in
`retrieving information. Clients may be connected to the
`network only part of the time, but Still want access to
`information from their local platform that was retrieved
`from the content provider prior to being disconnected. The
`granularity and independence of the objects in a wide-area
`network, particularly the Internet, make the task of aggre
`gating them more difficult.
`The use of client and intermediate caching of the content
`provider information may alleviate Some of the problems of
`the wide-area network interactions. Certain implementations
`today perform this caching on behalf of the client, but
`Sacrifice data timelineSS and do not address performance
`problems because they must validate their caches in Single
`operations over the network.
`FIG. 1A also illustrates the typical Internet configuration
`of client-to-content-provider interaction. Subsequent to con
`necting to the Internet, client 100 will generally request
`objects from the content provider 102. The client must locate
`the information, often through manual or automatic
`Searches, then retrieve the data through the client.
`When searching for the data initially, this “pull” model
`provides great utility in locating information. Implicit in the
`model, however, is that the client machine has the respon
`Sibility for finding and downloading data as desired. The
`user is faced with the problem of having to scour the Web for
`various information Sites that may be of interest to him or
`her. Although this model provides a user with a large degree
`of flexibility in terms of the type of information that he or
`She would like to acceSS each time he or she connects to the
`Internet, there is clearly a downside to the model in that the
`user is forced to constantly Search for information on the
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`Internet. Given the exponential rate of growth of data on the
`Internet, this type of Searching is becoming increasingly
`cumberSome.
`While the pull model is effective for finding information,
`once a user has found an information Source-a location
`from which Subsequent information of interest to the user
`will be distributed-he or she must continue to check for
`new information periodically. In the “pull” model, the server
`is inherently passive and the client does all the work of
`initiating requests. If the Server has new information of
`interest to the client, the Server has no method of delivering
`either the information or a notification to the client that the
`information exists. The content provider cannot, in the pull
`model, provide an “information service” where active server
`information is identified, then passed to the client in terms
`of Some kind of notification.
`It is therefore an object of the present invention to provide
`a method to manage passive and active data throughout the
`network, and offer an improved method and apparatus for
`Storing and delivering information on the Internet.
`
`SUMMARY OF THE INVENTION
`The present invention discloses an improved method and
`apparatus for Storing and delivering information over the
`Internet and using Internet technologies. According to one
`embodiment of the present invention, a method for
`managing, and validating a collection of data that may be
`distributed in caches throughout a network is disclosed.
`According to an alternate embodiment, a method and appa
`ratus for maintaining Statistics on a server is disclosed.
`According to an alternative embodiment, a method and
`apparatus is disclosed for predicting data that a client device
`may request from a server on a network. In another embodi
`ment of the present invention, a method and apparatus is
`disclosed for managing bandwidth between a client device
`and a network. According to yet another embodiment, a
`method and apparatus is disclosed for validating a collection
`of data. According to yet another embodiment, a method for
`providing notification to clients from Servers is disclosed.
`Other objects, features and advantages of the present inven
`tion will be apparent from the accompanying drawings and
`from the detailed description.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`The present invention is illustrated by way of example
`and not by way of limitation in the figures of the accompa
`nying drawings in which like reference numerals refer to
`Similar elements and in which:
`FIG. 1A illustrates a typical Internet configuration.
`FIG. 1B illustrates a typical computer system in which the
`present invention operates.
`FIG. 2 illustrates the three major components according to
`one embodiment of the present invention.
`FIG. 3 illustrates an overview of how the three compo
`nents of one embodiment of the present invention interact
`with each other.
`FIGS. 4-6 are flow charts illustrating embodiments of the
`present invention.
`FIG. 7A illustrates a regular expression used as a "positive
`filter' for links on a page.
`FIG. 7B illustrates a regular expression used as a “nega
`tive filter for links on a page.
`FIG. 8 is a flow chart illustrating one embodiment of the
`present invention.
`
`Netflix, Inc. - Ex. 1054, Page 000013
`
`
`
`6,038,601
`
`15
`
`35
`
`40
`
`25
`
`3
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`The present invention relates to a method and apparatus
`for Storing and delivering documents on the Internet. In the
`following detailed description, numerous specific details are
`Set forth in order to provide a thorough understanding of the
`present invention. It will be apparent to one of ordinary skill
`in the art however, that these specific details need not be
`used to practice the present invention. In other instances,
`well known Structures, interfaces and processes have not
`been shown in detail in order not to unnecessarily obscure
`the present invention.
`FIG. 1B illustrates a typical computer system 100 in
`which the present invention operates. One embodiment of
`the present invention is implemented on a personal computer
`architecture. It will be apparent to those of ordinary skill in
`the art that other alternative computer System architectures
`may also be employed.
`In general, Such computer Systems as illustrated by FIG.
`1B comprise a bus 101 for communicating information, a
`processor 112 coupled with the bus 101 for processing
`information, main memory 103 coupled with the bus 101 for
`Storing information and instructions for the processor 112, a
`read-only memory 104 coupled with the bus 101 for storing
`Static information and instructions for the processor 112, a
`display device 105 coupled with the bus 101 for displaying
`information for a computer user, an input device 106
`coupled with the bus 101 for communicating information
`and command Selections to the processor 112, and a mass
`storage device 107 coupled with the bus 101 for storing
`information and instructions. A data Storage medium 108,
`Such as a magnetic disk and associated disk drive, containing
`digital information is configured to operate with mass Stor
`age device 107 to allow processor 112 access to the digital
`information on data storage medium 108 via bus 101.
`Processor 112 may be any of a wide variety of general
`purpose processors or microprocessorS Such as the PEN
`TIUM(R) brand processor manufactured by INTELOR Corpo
`ration. It will be apparent to those of ordinary skill in the art,
`however, that other varieties of processors may also be used
`in a particular computer system. Display device 105 may be
`a liquid crystal device, cathode ray tube (CRT), or other
`suitable display device. Mass storage device 107 may be a
`conventional hard disk drive, floppy disk drive, CD-ROM
`45
`drive, or other magnetic or optical data Storage device for
`reading and writing information Stored on a hard disk, a
`floppy disk, a CD-ROM a magnetic tape, or other magnetic
`or optical data Storage medium. Data Storage medium 108
`may be a hard disk, a floppy disk, a CD-ROM, a magnetic
`tape, or other magnetic or optical data Storage medium.
`In general, processor 112 retrieves processing instructions
`and data from a data Storage medium 108 using mass Storage
`device 107 and downloads this information into random
`access memory 103 for execution. Processor 112, then
`executes an instruction Stream from random acceSS memory
`103 or read-only memory 104. Command selections and
`information input at input device 106 are used to direct the
`flow of instructions executed by processor 112. Equivalent
`input device 106 may also be a pointing device Such as a
`conventional mouse or trackball device. The results of this
`processing execution are then displayed on display device
`105.
`Computer system 100 includes a network device 110 for
`connecting computer system 100 to a network. The network
`device 110 for connecting computer system 100 to the
`network includes Ethernet devices, data modems and ISDN
`
`50
`
`55
`
`60
`
`65
`
`4
`adapters. It will be apparent to one of ordinary skill in the art
`that other network devices may also be utilized.
`The preferred embodiment of the present invention is
`implemented as a Software module, which may be executed
`on a computer System Such as computer System 100 in a
`conventional manner. Using well known techniques, the
`application Software of the preferred embodiment is Stored
`on data Storage medium 108 and Subsequently loaded into
`and executed within computer system 100. Once initiated,
`the software of the preferred embodiment operates in the
`manner described below.
`1. Introduction
`The presently claimed invention improves use of the Web
`and wide-area networks by managing groups of network
`objects (content or applications) and bringing that content
`and notifications from Servers directly to desktops in a
`timely fashion and while consuming a minimal amount of
`desktop Screen Space. Users Subscribe to “channels', which
`automatically bring new content to the user's machine and
`render information in Summary form. Detailed content
`attached to the Subscription is rendered in the users web
`browser, and automatically pre-fetched by one embodiment
`of the present invention.
`Channel configuration and rendition, as well as related
`content pre-fetch are all controlled by default from the
`content provider via a back-end Server, thus giving content
`providers a large amount of control over their own data and
`how it is presented. Content providers can Supply their own
`graphics, advertising, ticker information, animation control,
`and content refresh parameters. Subscribing to channels is
`also simple: content providerS Simply place an icon on one
`or more pages in their site and clicking the icon causes a
`Subscription to be created on the client Side and/or the Server
`Side. The Subscription is then updated automatically.
`According to one embodiment, the presently claimed
`invention plays a unique role as an intermediary and media
`tor between end users, namely consumers of information,
`and content providers, namely producers of information.
`One embodiment of the present invention provides func
`tionality that gives to the content provider control over their
`brand, the way in which their information is presented, and
`the way in which users access their web site. At the same
`time, users are given the ability to pick and choose the
`information they want from the Sites they want, and presen
`tation of that information is accelerated, thus improving the
`user's Web experience.
`An intelligent caching infrastructure that uses information
`(called “Meta-Data”) about the content to control client and
`intermediate caches reduces the wide-area networking prob
`lems generally attributed to interactive content by allowing
`the caches to manage expiration, compaction, bulk-delivery
`and other operations guided via Meta-Data from the content
`provider. The caches become intelligent delivery nodes at
`the client, and within the network, because they are able to
`understand the important properties of the information they
`are managing.
`The presently claimed invention also provides a notifica
`tion System to the content provider and user that spans
`Internet, firewall, and internal network Systems, and can
`combine various underlying transports and notifications into
`a general notification architecture. This offers content pro
`viders (server) the opportunity to provide pro-active infor
`mation Service to the user. The user may receive various
`types of internet and internal, company notifications and
`information.
`When the notification and “active information' push
`model is combined with an intelligent caching network
`
`Netflix, Inc. - Ex. 1054, Page 000014
`
`
`
`S
`infrastructure, in the presently claimed invention, the user
`achieves the highest degree of functionality, performance,
`and usability. As described in further detail below, the
`presently claimed invention spans client and Server
`machines, creating a System that allows feedback from the
`client to the back-end Server, and Subsequent optimization of
`the client by the back-end server.
`2. Components
`The presently claimed invention consists of three major
`components: the content bar, caching Server and back-end
`server, as illustrated in FIG. 2. The content bar 302 and the
`caching Server 304 reside on one or more end-user comput
`ers 100 (“client machines”) owned by information subscrib
`ers. The back-end server 350 resides one or more server
`class computers owned by information publishers (“back
`end server machines”). The content bar 302 and caching
`Server 304 are logical components. Each component can be
`implemented as Separate processes or within a Single pro
`CCSS.
`The client machines 100 and the back-end server
`machines communicate over a network Such as the Internet
`or a corporate intranet. The communication mechanism
`includes open standard protocols such as HTTP (Hypertext
`Transfer Protocol), MIME (Multipurpose Internet Mail
`Extensions) and TCP/IP (Transmission Control Protocol/
`Internet Protocol).
`One embodiment of the present invention is implemented
`in the caching server 304. An alternate embodiment is
`implemented in a combination of the caching server 304 and
`the back-end server 350. The content bar 302 in either
`embodiment is a rendering environment for published con
`tent. Although the following Sections describe a two-tier
`client-Server architecture, the presently claimed invention
`may also be implemented according to other architectures.
`For example, while the content bar 302 always resides on a
`Subscriber's client machine 100 and the back-end server 350
`always resides on a publisher's back-end Server machine,
`there can be any number of intermediate caching Servers
`between the subscriber and the publisher.
`The caching Servers do not have to reside on the client
`machine. This configuration typically provides the best
`performance, however, by taking advantage of local disk
`access Speed to increase performance. Caching Servers can
`be deployed around the network to balance networkload and
`provide concentration of frequently used information. In this
`embodiment, each caching Server 304 is implemented as a
`standard HTTP proxy server thus allowing them to be
`coupled together hierarchically. FIG. 3 illustrates an over
`view of how the three components of one embodiment of the
`present invention interact with each other. A Subscriber's
`requests to retrieve certain published content are managed
`by Subscription manager 306 which resides on the subscrib
`er's client machine. Subscription manager 306 communi
`cates with Web browser 100 on the client machine to
`demand the requested content. Web browser 100 then sends
`an HTTP request to a remote caching server 204. In
`response, caching Server 204 either retrieves cached content
`from cache 300 or sends an HTTP request via the Internet to
`a publisher's machine to retrieve non-cached content.
`2.1 Content Bar
`The end user interacts with the content bar. According to
`one embodiment, the content bar is responsible for rendering
`channel Subscription content, configuring each Subscrip
`tion's look and feel, and managing the user's interaction
`with the web. The user can create Several content bars, and
`can float them on the desktop, dock them to one of the edges
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6,038,601
`
`6
`of the display, or dock them to a web browser. When docked
`to one of the Screen edges, the content bar can be configured
`to auto-hide, So that it appears only when the mouse is
`placed on the edge of the Screen.
`Each content bar contains one or more channels, namely
`areas of the content bar that belong to a particular content
`provider. Channel look and feel is under the control of the
`content provider via open data formats (MIME, HTTP,
`standard image formats such as GIF and JPEG). The content
`bar provides a common rendering environment for the
`channels So they can be moved, resized, or locally config
`ured by the user in a Standard way.
`Each channel contains one or more “Subscriptions.” Sub
`Scriptions are agents configured to retrieve information at
`various times, or to process asynchronous notifications of
`incoming data. Initial configuration is set up by the content
`provider according to the content provider's publishing
`Schedules. The user can change this information as well as
`add to it. Each channel Subscription uses a notification
`mechanism to retrieve new data the notification mechanism
`can be simple polling, or more complex asynchronous event
`notification mechanisms, as described later in the document.
`2.2 Caching Server
`The caching Server manages all of the user's interaction
`with the Web. All web requests, including those generated by
`the user's browser and those generated by channel
`Subscriptions, go through the caching Server. The caching
`Server is responsible for the follo