throbber
a2) United States Patent
`US 6,745,224 BI
`(10) Patent No.:
`Jun.1, 2004
`(45) Date of Patent:
`D’Souza etal.
`
`US006745224B1
`
`(54)
`
`OBJECT FRAMEWORKAND SERVICES
`FOR PERIODICALLY RECURRING
`OPERATIONS
`
`Inventors:
`
`(75)
`
`David J. D’Souza, Kirkland, WA (US);
`Sabina Nawaz, Kirkland, WA (US);
`Erik Jon Snapper, Redmond, WA
`(US); Darren Mitchell, Seattle, WA
`(US); Raymond Edward Endres,
`Kirkland, WA (US); Teresa Martineau,
`Kirkland, WA (US); Bharat Shyam,
`Redmond, WA (US); Ian Michael
`Ellison-Taylor, Seattle, WA (US);
`Mohsin Ahmed,Scattlc, WA (US)
`
`5,586,304 A
`12/1996 Stupek, Jr. et ale... 717/170
`5,630,139 A *
`5/1997 Ozaki oe.
`wee 716/167
`
`5,701,408 A * 12/1997 Cornell et al. we. 714/38
`5,715,443 A *
`2/1998 Yanagihara et al.
`........... 707/3
`4/1998 Judson .............
`«715/500
`5,737,619 A *
`
`.. 709/329
`5,742,825 A *
`4/1998 Mathuret al
`5/1998 Mauldin .......
`wee 707/10
`5,748,954 A *
`5,751,966 A *
`5/1998 Dauereretal.
`«709/224
`5,774,667 A *
`6/1998 Garvey etal.
`....... . 709/222
`5,777,558 A *
`7/1998 Pennypacker ctal. ...... 340/635
`5,784,555 A
`7/1998 Stone
`5,802,304 A
`9/1998 Stone
`FOREIGN PATENT DOCUMENTS
`
`
`
`EP
`wo
`
`0749081 Al
`WO 96/30864
`
`5/1996
`10/1996
`
`(73)
`
`Assignee:
`
`Microsoft Corporation, Redmond, WA
`(US)
`
`* cited by examiner
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`US.C. 154(b) by 0 days.
`
`Primary Examiner—Nabil El-Hady
`(74) Attorney, Agent, or Firm—Klarquist Sparkman, LLP
`
`(57)
`
`ABSTRACT
`
`Appl. No.
`Filed:
`
`: 08/761,657
`
`Dec. 6, 1996
`
`Int. Cl.’ .
`US. Cl.
`.
`
`ceuessssnasessstvetestssessessuetsestsuveten GO6F 15/16
`ceceesssueteseseveee 709/202; 709/217; 709/218;
`709/220; 709/224; 709/227; 707/3; 707/10
`Field of Search 0.0.0.0... 395/680, 761,
`395/712, 610, 603, 635, 183.14, 200.52,
`200.54; 709/300, 303, 202, 217, 218, 220,
`224, 227; 707/3, 10
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,575,579 A
`5,305,195 A
`5,347,632 A
`5,491,820 A
`5,572,643 A
`
`3/1986 Simonetal.
`4/1994 Murphy
`9/1994 Filepp et al.
`2/1996 Beloveetal.
`11/1996 Judson
`
`A computer system includes an object oriented framework
`that provides a set of application integration interfaces that
`support programmatic updating operations for maintaining
`locally stored copies of resources such as hypertext docu-
`ment pages from remote servers on a computer network. The
`updating operations continually check for updates to the data
`at the remote server and download updated versions of the
`resources to maintain concurrencyof the locallystored copy.
`The updating operations are performed while a connection
`to the remote network is left idle,
`to maximize usage of
`on-line connection time. The updating operations also can be
`programmatically scheduled by a client program of the
`updating operations. The updating opcrations include updat-
`ing the contents of a folder or directory in a localfile system
`as specified in a file at a remote server on the network, and
`providing automatically updating and populating groups of
`sites or document pages organized by category.
`
`35 Claims, 10 Drawing Sheets
`
`320
`
`328
`
`CLIENT
`
`WEBCHECK
`
`CALLBACK
`
`
`IWEBCHECK-
`
`OFFLINEREADING
`
`SINK
` IPERSISTSTREAM
`
`OR IPERSIST
`
`
`
` WEBCHECK CORE,
`
`SCHEDULER AND
`
`DOWNLOADER
`IWEBCHECKSCHEDULER
`
`
`IWEBCHECKMODULEEVENTS
`
`
`
`
`WEBCHECK DOWNLOAD
`
`
`MODULE (WEBCHECK
`
`OFFLINEREADING)
`IPERSISTSTREAM
`
`
`
` IWEBCHECKMODULECONTROL
`
`
`
` IWEBCHECKOFFLINEREADING
`
`Zynga Ex. 1011, p. 1
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1011, p. 1
` Zynga v. IGT
` IPR2022-00199
`
`

`

`U.S. Patent
`
`Jun. 1, 2004
`
`Sheet 1 of 10
`
`US 6,745,224 Bl
`
`
` ADIAAC
`
`
`
`WALSASAYOWAW
`
`LAdNI
`
`‘ADIARCONILNIOd
`
`
`
`
`
`
`
`
`ADIAAGLAdLNO]ze
`
`
`
`
`
`(OLA‘YSALNIYdAYVGNOO3FS
`
`Zynga Ex. 1011, p. 2
`Zyngav. IGT
`IPR2022-00199
`
`Zynga Ex. 1011, p. 2
` Zynga v. IGT
` IPR2022-00199
`
`
`
`
`

`

`U.S. Patent
`
`Jun.1, 2004
`
`Sheet 2 of 10
`
`US 6,745,224 B1
`
`
`
`
`BROWSER
`
`CACHE
`
` INTERNET
`
`UPDATE SERVICE
`(WEB CHECK)
`
`INTERNET
`
`Zynga Ex. 1011, p. 3
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1011, p. 3
` Zynga v. IGT
` IPR2022-00199
`
`

`

`U.S. Patent
`
`Jun.1, 2004
`
`Sheet 3 of 10
`
`US 6,745,224 B1
`
`FIG. 3
`
`80
`
`WEB CHECK PROPERTIES
`
`Monitoring Times:
`
`_-# Checksites for changes in the background while ['m
`connected to the Internet
`
`82
`
`© any site changes
`
`
`
`g4 —--° Checksites on a schedule at: WEEKLY|w
`
`90 —~ Taskbar Notify for:
`
`@ new bulletins
`
`Zynga Ex. 1011, p. 4
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1011, p. 4
` Zynga v. IGT
` IPR2022-00199
`
`

`

`U.S. Patent
`
`Jun.1, 2004
`
`Sheet 4 of 10
`
`US 6,745,224 B1
`
`FIG. 4
`
`FOLDER
`DESCRIPTION
`FILE
`
`te\
`
`
`
`
`
`RESOURCES
`
`REGISTRY
`
`53
`
`68
`
`UPDATE SERVICE
`(WEB CHECK)
`
`SMART
`FOLDER
`
`Zynga Ex. 1011, p. 5
`Zyngav. IGT
`IPR2022-00199
`
`Zynga Ex. 1011, p. 5
` Zynga v. IGT
` IPR2022-00199
`
`

`

`U.S. Patent
`
`Jun.1, 2004
`
`Sheet 5 of 10
`
`US 6,745,224 B1
`
`FIG. 5
`
`110
`
`SMART FOLDER
`UPDATE SERVICE
`
`
`
`
`RETRIEVE FDF
`
`DOWNLOAD ANY FILES
`SPECIFIED BY FDF TO
`SMART FOLDER
`
`CREATE INTERNET
`SHORTCUTS IN SMART
`FOLDER FOR ANY URLS
`SPECIFIED BY FDF
`
`112
`
`113
`
`114
`
`115
`
`116
`
`
`
`CACHE FILES SPECIFIED
`BY FDF AS "CACHE ONLY"
`
`
`
`
`
`
`DELETE ANY FILES AND
`INTERNET SHORTCUTS
`FROM SMART FOLDER NOT
`SPECIFIED IN FDF
`
`END SERVICE
`
`Zynga Ex. 1011, p. 6
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1011, p. 6
` Zynga v. IGT
` IPR2022-00199
`
`

`

`U.S. Patent
`
`Jun.1, 2004
`
`Sheet 6 of 10
`
`US 6,745,224 B1
`
`FIG. 6
`
`re
`\
`
`122
`
`RESOURCES
`
`52
`
`REGISTRY
`
`53
`
`128
`
`(WEB CHECK) INTERNET
`
`CACHE
`
`66
`
`UPDATE SERVICE
`
`SHORTCUTS
`FOLDER
`
`anna
`
`INTERNET
`SHORTCUT
`
`INTERNET
`SHORTCUT
`
`124
`
`125
`
`Zynga Ex. 1011, p. 7
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1011, p. 7
` Zynga v. IGT
` IPR2022-00199
`
`

`

`U.S. Patent
`
`Jun.1, 2004
`
`Sheet 7 of 10
`
`US 6,745,224 B1
`
`FIG 7
`,
`
`INTERNET
`SHORTCUTS UPDATE
`SERVICE
`
`160
`
`
`
`FOR EACH INTERNET
`SHORTCUT IN SHORTCUTS
`FOLDER
`
`
`
`161
`
`163
`
` YES
`
`UPDATE
`DOWNLOAD DOCUMENT
`HECKING SET2
`AT SHORTCUT'S URL
`
`
`
`
`UPDATE "ABOUT WEB
`SITE" PROPERTIES OF
`
`SHORTCUT
`
`
`UPDATED > LAST
`
`
`467
`
`164
`
`
`SET? a STORE INCACHE
`
` 170
`
`
`
`STORE DOCUMENT IN
`CACHE
`
`DEPENDENCIES
`
`DOWNLOAD DOCUMENT'S
`DEPENDENCIES AND
`
`# LEVELS
`DEEP > 0?
`
`YES
`
`DOWNLOAD AND CACHE
`HYPERLINKED
`DOCUMENTSUP TO #
`LEVELS DEEP
`
`
`PURGE SHORTCUT'S
`OUT-OF-DATE FILES
`
`
`
`
`SHORTCUT
`
`172
`
`173
`
`END SERVICE
`
`Zynga Ex. 1011, p. 8
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1011, p. 8
` Zynga v. IGT
` IPR2022-00199
`
`

`

`U.S. Patent
`
`Jun.1, 2004
`
`Sheet 8 of 10
`
`US 6,745,224 B1
`
`FIG. 8
`
`SERVER APPLICATION PROGRAM
`
`
`
`
`INSTANCE
`VIRTUAL
`
`
`DATA
`FUNCTION
` STRUCTURE
`METHOD 0
`
`
`290
`
`292
`
`METHOD 1
`
`METHOD2
`
`
`
`
`
`
`300
`
`302
`
`CLASS FACTORY
`
`Zynga Ex. 1011, p. 9
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1011, p. 9
` Zynga v. IGT
` IPR2022-00199
`
`

`

`U.S. Patent
`
`Jun.1, 2004
`
`Sheet 9 of 10
`
`US 6,745,224 B1
`
`\
`
`WEBCHECK CORE,
`SCHEDULER AND
`
`DOWNLOADER
`CLIENT
`IWEBCHECKSCHEDULER
`
`FIG. 9
`
`
`
`
`WEBCHECK
`
` CALLBACK
`WEBCHECK DOWNLOAD
`MODULE (WEBCHECK
`
`
` IWEBCHECK-
`OFFLINEREADING)
`
`
`
`OFFLINEREADING
`
`
`IPERSISTSTREAM
`SINK
`
`
`
`
`
`IPERSISTSTREAM
`
`OR IPERSIST
`IWEBCHECKMODULECONTROL
`
`
`
`IWEBCHECKOFFLINEREADING
`
`IWEBCHECKMODULEEVENTS
`
`
`
`Zynga Ex. 1011, p. 10
`Zyngav. IGT
`IPR2022-00199
`
`Zynga Ex. 1011, p. 10
` Zynga v. IGT
` IPR2022-00199
`
`

`

`U.S. Patent
`
`Jun.1, 2004
`
`Sheet 10 of 10
`
`US 6,745,224 B1
`
`320
`
`322
`
`
`WEBCHECK CORE,
`
`SCHEDULER AND
`330
`DOWNLOADER
`324
`
`IWEBCHECKSCHEDULER
`
`
`
`IWEBCHECKMODULE-
`EVENTS
`WEBCHECK DOWNLOAD
`
`OFFLINEREADING)
`MODULE (WEBCHECK
`
` IPERSISTSTREAM
`
` IWEBCHECKMODULECONTROL
`
`
`IWEBCHECKOFFLINEREADING
`
` WEBCHECK
`CALLBACK
`
`350
`
` IWEBCHECK-
`
`
`
`
`iPERSISTSTREAM
`OR IPERSIST
`
`
`OFFLINEREADING
`SINK
`
`Zynga Ex. 1011, p. 11
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1011, p. 11
` Zynga v. IGT
` IPR2022-00199
`
`

`

`US 6,745,224 B1
`
`1
`OBJECT FRAMEWORK AND SERVICES
`FOR PERIODICALLY RECURRING
`OPERATIONS
`
`FIELD OF THE INVENTION
`
`This invention relates generally to an object-oriented
`software framework that provides services to support peri-
`odically recurring operations, including change monitoring
`and updating of locally stored copies of remote documents
`so as to be available for off line use.
`
`BACKGROUND AND SUMMARY OF THE
`INVENTION
`
`In many software applications,it is necessary or desirable
`to perform operations on a periodically recurring basis.
`Further, it is desirable to perform such operations without
`requiring continuing user action to activate the operations,
`or in other words while unattended by the user. An example
`is a hard disk utility application such as a disk checker,
`defragmenter or virus scanner. These utility applications are
`desirably executed automatically on a periodically recurring
`basis (e.g., daily, weekly or just once per month) to prevent
`degradation of disk performance over time as a result of
`normal usage. Further, the user desirably is not forced to
`track when these operations are done, or to manuallyinitiate
`the operations.
`Typically, applications that perform operations on a peri-
`odically recurring basis have each implemented their own
`mechanismsto schedule the recurring operations, initiate the
`operations on the scheduled basis, and monitorthe results. In
`an electronic mail application for example, mail software at
`a client computer on a network may include code to peri-
`odically check for new messages at a mail server on the
`network.If there are new messages,the client mail software
`transfers the mail messages to the client computer from the
`network’s mail server and may also display a notice to the
`user that a new message hasarrived.
`This typical practice of each application separately imple-
`menting mechanisms to support periodically recurring
`operations has several drawbacks. In order for the applica-
`tion to perform the periodically recurring operations while
`unattendedby a user, the application must remain loaded and
`running on the computer. Because the application often does
`no useful work while waiting to perform its next periodically
`recurring, operation,
`leaving the application running is
`wasteful of the computer’s memory and processing capaci-
`ties which could otherwise be used by other applications. If
`too many such applicationsare left running, the user may be
`unable to run applications for the user’s immediate work
`activities, such as a spreadsheet, word processor or browser.
`Another drawback is that this typical approach makes
`programming of periodically recurring, operations more dif-
`ficult. The mechanism that supports scheduling, initiating
`and monitoring of the periodically recurring operation is
`separately implemented in each application, often from
`scratch.
`
`A software utility called the “system agent” in the
`Microsoft® Windows® 95 operating system operates as a
`general mechanism to trigger applications (e.g., a disk
`checker or defragmenterutility) according to a preset sched-
`ule of times. The system agent provides user interface
`dialogs in which the user selects a schedule of times(e.g.,
`daily at 2 am, Tuesdays and Fridays at 4:30 pm, 9 pm on the
`third day of every month, etc.) at which to run a desired
`program (the “scheduled program”). Whenits user interface
`
`30
`
`40
`
`50
`
`60
`
`2
`is closed, the system agent runs as a background task. When
`the scheduled program’s next scheduled time arrives, the
`system agent loads and runs the scheduled program (using
`the CreateProcess API of Microsoft’s Win32 API set). The
`scheduled program thus can perform a periodically recurring
`operation when it is run by the system agent at each ofits
`scheduled times. Whenthe operation is complete, the sched-
`uled program must self terminate. Programs that implement
`a recurring operation thus are not left running between the
`scheduled times, which frees the computer’s memory and
`processing, capacity for use by other applications.
`‘The Windows® 95 system agentutility has several draw-
`backs which limit its use by applications to provide peri-
`odically recurring operations. One drawbackisthat there are
`limited ways in which an application program can interact
`with the system agent utility. In general, each scheduled
`program is scheduled with the system agent by user input to
`the user interface of the system agent. Alternatively, the
`system agent stores information on the times of scheduled
`programs in a system registry. (The system registry is a
`database file which stores configuration information for the
`operating system.) An application program therefore can
`schedule a program that implements a desired recurring
`operation with the system agent by addingentries containing
`appropriate scheduling information into the system registry.
`Further, once the system agent staris the program at the
`scheduled time (using the CreateProcess API), the system
`agent does not further interact with the program. Also, if the
`scheduled program is scheduled by an application adding
`entries to the system registry, the system agent provides no
`way for that application to further interact with the sched-
`uled program at the scheduled times. Thus, an application
`program is not able to programmatically schedule an opera-
`tion with the system agentutility, programmatically control
`the performance of the operation at its scheduled times, or
`receive notifications to monitor the operation.
`The present invention includes an object-oriented frame-
`work that provides a set of object integration interfaces
`which support programmatic scheduling, configuring, and
`notifications of periodically recurring operations. In other
`words, the frameworkacts as a system service or application
`programming interface to access services for an application
`program to schedule, configure, and subscribe to notifica-
`tions from an agent program that implements a desired
`periodically recurring operation, and especially operations
`for change monitoring and updating of data.
`The object-oriented framework in an illustrated embodi-
`ment of the invention includes a scheduler object
`that
`provides a set of integration interfaces with which a client
`application can programmatically schedule on a periodic
`basis initiating operations by an agent object in which the
`operations are implemented. A core object in the framework
`provides additional interfaces with which anyclient appli-
`cation can subscribe to receive notifications trom the agent
`relating to the operation. The framework further defines
`interfaces for agent objects and for a call back object of the
`client application. The interfaces on the agent objects allow
`the client application to programmatically set options con-
`trolling the operation that the agent performs. The interfaces
`on the client application’s call back object allow the client
`application to receive notifications from the agent as the
`operation is performed. The interfaces on the agent objects
`and client application call back objects also allow the
`framework to persisently store a state of the agent objects
`and client application call back objects so that the client
`application and agent objects can be terminated and
`unloaded from memory until the time for the operation
`arrives.
`
`Zynga Ex. 1011, p. 12
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1011, p. 12
` Zynga v. IGT
` IPR2022-00199
`
`

`

`US 6,745,224 B1
`
`3
`The object oriented framework of the invention over-
`comes many of the drawbacks of prior art mechanisms for
`performing periodically recurring operations. The frame-
`workallowsa client application to programmatically control
`scheduling of the operation, and set options controlling the
`operation itself. The framework also allows client
`applications,
`including applications other than the client
`application which schedules a periodically recurring
`operation, to receive notifications and alerts pertaining to the
`operation. Additionally, the framework allows agent soft-
`ware in which the operation is implemented and the client
`application which schedules the operation to be terminated
`between times that the operation is performed,so as to free
`memory and processing capacity for use by other active
`applications.
`A particular use of the framework is in a network
`environment, such as the Internet, to provide monitoring of
`data residing at a remote server for changes (“update
`checking”), and to download changed data to a user’s
`computer so as to maintain an updated local copy of the data
`at the user’s computer. The illustrated framework provides
`agent objects which implementvarious forms of such updat-
`ing operations. These updating operations include an opera-
`tion (herein called “smart folder updating”) to update the
`contents of a local folder (herein called a “smart folder”) as
`specified in a remote file. The updating operations also
`include an operation (herein called automatically populating
`and updating favorites categories) that automatically fill and
`periodically update lists of remote documents for a user to
`browse organized in categories.
`The scheduler in the illustrated framework supports
`scheduling of an agent’s updating operations on different
`periodic bases, which include at scheduled times and during
`networkidle times. The scheduled times are times scheduled
`
`by the user at which the updating operation is automatically
`triggered by the scheduler to connect to the Internet or other
`network unattended, and perform the updating operation.
`The scheduler also can perform the update operations on a
`periodic basis by detecting times when the user is connected
`to the Internet for other activities (suchas on-line browsing)
`and the connection is left idle. When such idle status is
`detected, the agent for the update operation automatically
`performs the update checking and downloading over the
`connection unattended as background processing,
`to the
`user’s other activities.
`
`20
`
`30
`
`40
`
`Additional features and advantages of the invention will
`be made apparent from the following detailed description of
`an illustrated embodiment which proceeds with reference to
`the accompanying drawings.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`50
`
`FIG. 1 is a block diagram of a computer system that may
`be used to implement a method and apparatus embodying
`the invention for an object-oriented framework supporting
`programmatic periodically recurring operations.
`FIG.2 is a diagramillustrating a browsing system includ-
`ing the computer of FIG. 1 which uses an object-oriented
`framework illustrated in FIG. 9 to provide periodically
`recurring change monitoring and updating operations
`according to an illustrated embodiment of the invention.
`FIG.3 is a view of a user interface dialog for setting user
`options of the framework.
`FIG. 4 is a data flow block diagramillustrating a smart
`folder updating operation provided in the browsing system
`of FIG. 2.
`
`FIG. 5 is a flow chart of the smart folder updating
`operation of FIG. 4.
`
`60
`
`4
`FIG. 6 is a data flow block diagram illustrating a shortcuts
`updating operation provided in the browsing system of FIG.
`
`FIG. 7 is a flow chart of the shortcuts folder updating
`operation of FIG. 6.
`FIG. 8 is a block diagram of typical data structures for an
`object in the computer system of FIG. 1.
`FIG. 9 is a block diagram showing scheduling of an
`update operation in an object-oriented framework which
`provides services for periodically recurring operationsin the
`browsing system of FIG. 2.
`FIG. 10 is a block diagram showing execution of an
`update operation in the object framework of FIG. 9.
`DETAILED DESCRIPTION OF THE
`ILLUSTRATED EMBODIMENTS
`
`1. Computer Overview
`Referring to FIG. 1, an operating environment for an
`illustrated embodiment of the present invention is a com-
`puter system 20 with a computer 22 that comprises at least
`one high speed processing unit (CPU) 24, in conjunction
`with a memory system 26, an input device 28, and an output
`device 30. These clements are interconnected byat least onc
`bus structure 32.
`
`The illustrated CPU 24 is of familiar design and includes
`an ALU 34 for performing computations, a collection of
`registers 36 for temporary storage of data and instructions,
`and a control unit 38 for controlling operation of the system
`20. The CPU 24 maybe a processor having anyofa variety
`of architectures including Alpha from Digital, MIPS from
`MIPS Technology, NEC, IDT, Siemens, and others, x86
`from Intcl and others, including Cyrix, AMD,and Nexgen,
`and the PowerPe from IBM and Motorola.
`
`The memory system 26 generally includes high-speed
`main memory40 in the form of a medium such as random
`access memory (RAM) and read only memory (ROM)
`semiconductor devices, and secondary storage 42 in the
`form of long term storage mediums such as floppy disks,
`hard disks, tape, CD-ROM, flash memory, etc. and other
`devices that store data using electrical, magnetic, optical or
`other recording media. The main memory 40 also can
`include video display memory for displaying images
`through a display device. Those skilled in the art will
`recognize that the memory 26 can comprise a variety of
`aliernative components having a variely of storage capaci-
`ties.
`
`The input and output devices 28, 30 also are familiar. The
`input device 28 can comprise a keyboard, a mouse, a
`physical transducer (e.g., a microphone), etc. The output
`device 30 can comprise a display, a printer, a transducer
`(c.g., a speaker), cte. Some devices, such as a network
`interface or a modem, can be used as input and/or output
`devices.
`
`As is familiar to those skilled in the art, the computer
`system 20 further includes an operating system andat least
`one application program.‘The operating system is the set of
`software which controls the computer system’s operation
`and the allocation of resources. The application program is
`the set of software that performs a task desired by the user,
`using computer resources made available through the oper-
`ating system. Both are resident in the illustrated memory
`system 26.
`In accordance with the practices of persons skilled in the
`art of computer programming,
`the present
`invention is
`described below with reference to acts and symbolic repre-
`
`Zynga Ex. 1011, p. 13
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1011, p. 13
` Zynga v. IGT
` IPR2022-00199
`
`

`

`US 6,745,224 B1
`
`5
`sentations of operations that are performed by computer
`system 20, unless indicated otherwise. Such acts and opera-
`tions are sometimesreferred to as being computer-executed.
`It will be appreciated that the acts and symbolically repre-
`sented operations include the manipulation by the CPU 24 of
`electrical signals representing data bits which causes a
`resulting transformation or reduction of the electrical signal
`representation, and the maintenance of data bits at memory
`locations in memory system 26 to thereby reconfigure or
`otherwise alter the computer system’s operation, as well as
`other processing of signals. The memory locations where
`data bits are maintained are physical locations that have
`particular electrical, magnetic, or optical properties corre-
`sponding to the data bits.
`2. Browser and Updating Operations Overview
`In an off-line browsing environment 50 of an illustrated
`embodimentof the invention shownin FIG. 2, the computer
`20 (also shown in FIG. 1) runs software, referred to herein
`as a “browser” 51, which provides on-line and off-line
`browsing of clectronic documents and other data from a
`remote computer network 52. The browser 51 can be inte-
`grated with the operating system software, or can be a
`separate application software. The illustrated browser 51 is
`the Microsoft® Internet Explorer browser. The computer 20
`also runs services software, herein called “Web Check” 53,
`which provides an object-oriented framework (shown in
`FIG. 10 and described more fully below) with programmatic
`access for client applications (such as the Internet browser
`51) to services supporting periodically recurring operations.
`The operations in the illustrated browsing environment are
`updating operations that provide change monitoring and
`updating of data by downloading from the network 52.
`The illustrated remote computer network 52 is the Inter-
`net. The Internet is a well known, global network of coop-
`eratively interconnected computer networks. The World-
`Wide Webportion of the Internet is a collection of server
`computers (referred to as “World-Wide Web sites”) on the
`Internet which store electronic documents in a hypertext
`mark-up language (“HTML”) format that can be publicly
`accessed by computer users having a connection to the
`Internet. There are many such World-Wide Websites on the
`Internet.
`
`In the illustrated browsing environment 50, the computer
`20 connects to the computer network 52 over a telephone
`line 54 with a modem 56. Other physical connections to the
`computer network alternatively can be used, such as an
`ISDN, T1 or like high speed telephone line and modem, a
`television cable and modem,a satellite link, an optical fiber
`link, an Ethernet orother local arca nctwork technology wire
`and adapter card, radio or optical transmission devices,etc.
`The invention canalternatively be embodied in a browsing
`environment for other public or private computer networks,
`such as a computer network of a commercial on-line service,
`a local area network (LAN), an intranet, or like computer
`network.
`
`Documents for browsing with the illustrated browser can
`reside as files of a file system stored in the computer’s
`secondary storage 42 (FIG. 1), or reside as resources at a
`remote computer 58 (also referred to as a “site”) connected
`to the computer network 52, such as a World-Wide Website
`on the Internet. The illustrated document 60 residing at the
`site 58 conforms with HTMLstandards, and may include
`extensions and enhancements of HTMT. standards. HTMT.
`
`documents are ASCII coded (a well known standard for
`coding alpha-numeric characters in 7- or 8-bits) character
`files generally consisting of text and H'ML “tags” which
`
`20
`
`30
`
`40
`
`50
`
`60
`
`6
`specify formatting of the document, links (referred to as
`“hyper-links”) to related documents, and other files that
`contain information (e.g., sound, images, video, etc.) which
`is to be combined into the document, among other tag
`features. Typical HTML documents found on the world wide
`web include both text and tags specifying files for several
`images that are to be displayed with the text.
`In conformance with HTML,the illustrated document 60
`can incorporate other additional
`information content 62,
`such as images, audio, video, executable programs, etc.
`(hereafter called “dependencies” 62), which also reside at
`the remote computer 58. The document 60 and dependencics
`62 preferably are stored asfiles in a file system of the remote
`computer 58. The document 60 incorporates the dependen-
`cies 62 using HTMLtagsthat specify the locationof files or
`other Internet resource containing the dependencies on the
`Internet 52.
`
`When browsing the HTML document 60 on-line (<.e.,
`while connected to the network), the illustrated browser 51
`retrieves the document from its site 58 on the Internet using
`the well-known windows sockets network programming
`interface (also known as “winsock”). In the Microsoft®
`Windows 95 operating system uscd on the illustrated com-
`puter 20, the Windowssockets network programminginter-
`face is implemented in a software module named
`wsock32.dll. Windows sockets, in turo, relies on a set of
`Internet communications protocols which are implemented
`in one or more other software modules, such as in a network
`protocol driver and a modem driver. These Internet protocols
`can include application protocols, such as File Transfer
`Protocol (FTP), Simple Mail Transfer Protocol (SMTP),
`Hyper ‘lext ‘Transter Protocol (HTP), Gopher, etc.; trans-
`port protocols, such as the Transmission Control Protocol
`(TCP) and the Internet Protocol (IP) protocol suite; and
`connection protocols, such as the Serial Line Protocol
`(SLIP) or the Point-to-Point Protocol (PPP). Alternative
`embodiments of the invention for browsing documents on
`other networks may utilize various other network protocols,
`such as the NetBIOS Extended User Interface(NetBEU]) by
`IBM Corporation, Internet Packet Exchange/Sequenced
`Packet Exchange (IPX/SPX) by Novell corporation,
`DECnet, by Digital Equipment Corporation, NetBIOS by
`Microsoft Corporation, and OSI/TP-4, amongothers. After
`retrieving the document 60 from the site 58, the browser 51
`processes the HTML data to generate a view of the
`document, which the browser then displays on the comput-
`er’s screen 30 (FIG. 1). The browser stores a copy of any
`documents with their dependencies which are browsed
`on-line in an Internet cache 66 in the computer’s local
`storage 42.
`The browser 51 also can be operated off-line (.e., when
`the computer 20 is disconnected from the network 52) to
`browse documents which are stored locally at the computer
`20. In addition to documents which are cached by the
`browser during on-line browsing, documentsalsoare locally
`stored by Web Check 53 foroff-line browsing(i.e., browsing
`while disconnected from the network 52) using the browser
`51.
`
`Web Check 53 is an object-oriented framework including
`a set of software modules that is described below with
`reference to FIG. 9. As described more fully below, Web
`Check 53 includes a core set of software modules with
`interfaces for a client application programto set up, schedule
`and monitor periodically recurring operations implemented
`by an agent program. In the illustrated system 50, the agent
`programs implement operations that serve to monitor for
`changes or
`to periodically update data in the system.
`
`Zynga Ex. 1011, p. 14
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1011, p. 14
` Zynga v. IGT
` IPR2022-00199
`
`

`

`US 6,745,224 B1
`
`7
`the agent programs in the illustrated system
`Specifically,
`implement updating operations for use by the operating
`system and application software (such as the browser 51) to
`automatically monitor a specified document (e.g., IITML
`document 60) residing at a remote site on a computer
`network for changes and maintain an up-to-date locally
`stored copy of the document for later off-line use.
`In
`alternative systems employing the Web Check framework,
`agent programs can implement other periodically recurring
`operations that differ from those in the illustrated system.
`Generally, although not necessarily, the periodically recur-
`ring operations serve to monitor for a change in the system
`or to maintain updated data in the system. For example,
`alternative systems can include agent programs that monitor
`for changesto files stored locally rather than remotely as in
`the illustrated system 50.
`The updating operations provided using the Web Check
`framework 53 in the system 50 maintain locally stored
`copies of documents in either the Internet cache 66 orin file
`system folders which are designated as “smart folders” 68.
`Web Check 53 thus provides a continually updated local
`copy of a document for off-line use, such as for off-line
`browsing using the browser 51.
`In one embodiment of the invention, the updating opera-
`tions to be performed by Web Check 53 are identified by
`entries in a system registry 66.
`In the Microsoft® Win-
`dows® operating system, the system registry is a database
`which stores configuration information for the operating
`system,
`including information to enumerate and track
`applications, device drivers, and operating system control
`parameters. For a detailed discussion of the registry, see
`Win32 Programmers Reference, Vol. 2, published by
`Microsoft Press, Redmond, Wash. (1993). Web Check 53
`performs the updating operations, and stores identifying
`entries for the updating operations in the registry on a
`per-user basis under an HKeyCurrentUserregistry key in the
`registry 70.
`Eachofthe registry entries for Web Check 53 stores three
`pieces of data, a “flags” double word value, a “path” text
`string, and a “URL”text string. The flags value contains bits
`which can besct to specify the particular updating scrvice to
`be performed by Web Check. The path stringis a file system
`path nameofa folder in the local storage 42 of the computer
`20. The URL string is a URL of a file on a remote
`World-Wide Web site 58. The definitions of the flag value
`bits for Web check registry entries in the illustrated system
`50 are listed in the following Table 1. The updating opera-
`tions specified by setting these flags value bits are described
`in more detail in subsequent sections.
`
`TABLE1
`
`Definition of Flags Value Bits
`
`Bit Definition
`
`0
`
`1
`
`Vv
`
`The registry entry specifies a smart folder updating service
`described in the “Smart Folders Updatin

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket