`
`1.
`
`My name is James L. Olivier. I am over the age of twenty-one (21)
`
`years, of sound mind and capable of making the statements set forth in this
`
`Declaration. I am competent to testify to matters set forth herein. All the facts and
`
`statements contained herein are within my personal knowledge and they are, in all
`
`things, true and correct.
`
`Education and Experience
`
`2.
`
`My experience and education are detailed in my curriculum vitae,
`
`which is attached as Appendix 1 to this declaration.
`
`3.
`
`I earned a Bachelor’s of Science Degree in Electrical Engineering, a
`
`Master’s Degree in Electrical Engineering, and a Ph.D. degree in Electrical
`
`Engineering, all from The Ohio State University. I received my Bachelor’s Degree
`
`in Electrical Engineering from The Ohio State University in 1983. I received my
`
`Master’s Degree in Electrical Engineering from The Ohio State University in 1985.
`
`My main area of study was computer system design and software engineering. I
`
`received my Ph.D. in Electrical Engineering along with a minor in Computer
`
`Science, Microelectronics, Semiconductor Fabrication, and Discrete Mathematics
`
`from The Ohio State University in 1988.
`
`27316012.1
`
`- 1 -
`
`HCC INSURANCE HOLDINGS, INC.
`Exhibit 1002
`
`Page 1 of 246
`
`
`
`4.
`
`My area of expertise is in computer system design, software
`
`engineering and telecommunications.
`
`5.
`
`I have been working in the field of computer system design and
`
`software engineering since my academic career began. A more detailed account of
`
`my work experience and other qualifications is listed in my Curriculum Vitae.
`
`Cases in which I have testified as an expert either at a trial, hearing, or deposition
`
`during the previous five years are listed in Appendix 2 attached to this declaration.
`
`6.
`
`I personally have studied, conducted research and worked in the
`
`field computer system design and software engineering since my graduate school
`
`days at The Ohio State University. My Master’s Thesis was on Artificial
`
`intelligence (AI) and my Ph.D. dissertation was based on computer design and was
`
`titled “Concurrent Error Detection in Arithmetic Processors using GAN Codes.”
`
`7.
`
`I have been involved in the development of software for computer
`
`systems since my work at AT&T Bell Laboratory. Later at DSC, I was the Senior
`
`Manager of the ATM systems engineering group developing ATM packet switches
`
`for Motorola’s Cellular Switches. At Samsung, I was a Principal Engineer for
`
`wireless broadband services over UMTS. At Marconi I worked on a number of
`
`computer systems for the access market, such as DSL modems, and DSLAMs. At
`
`Navini Networks I was responsible for layer 2 and layer 3 network protocols for
`
`27316012.1
`
`- 2 -
`
`Page 2 of 246
`
`
`
`their CDMA broadband modems. All of these systems make use of software
`
`computer systems.
`
`8.
`
`I am familiar with the knowledge and capabilities of a person of
`
`ordinary skill in the art (POSITA) in the area of computer software systems and in
`
`particular agent-based computing. Specifically, I am familiar with the
`
`understandings of one of ordinary skill in the art prior to and during the period in
`
`which U.S. Patent No. 7,949,752 (“the ‘752 Patent”) was allegedly invented, and
`
`my testimony herein when referring to one of ordinary skill, and what was known
`
`in the art, refers to that period.
`
`Compensation
`
`9.
`
`I am being compensated by the Petitioner at the rate of $495.00 per
`
`hour for my assistance with its Inter Partes Review (IPR) and, specifically, for my
`
`time spent reviewing documents in association with the IPR and in preparing my
`
`testimony. Additionally, I am not, and have never been, an employee of Petitioner,
`
`and my compensation is not dependent upon the outcome of this proceeding.
`
`Technology Background
`
`10.
`
`It was well known at the time the ‘752 Patent was filed to charge on
`
`a per-unit of time basis for online data access time or inquiry. For example,
`
`Internet services providers, such as America Online, charged consumers for online
`
`27316012.1
`
`- 3 -
`
`Page 3 of 246
`
`
`
`data access time or inquiry on a per-unit of time basis, such as $9.95 for the first 5
`
`hours, and then $2.95 per hour thereafter. Peter H. Lewis, New Flat Rate Creates
`
`Surge In Use of America Online, THE NEW YORK TIMES, Dec. 3, 1996,
`
`http://www.nytimes.com/1996/12/03/business/new-flat-rate-creates-surge-in-use-
`
`of-america-online.html, attached as Appendix 3.
`
`11.
`
`At the time of the ‘752 Patent, a POSITA would understand that an
`
`acceptable cost level (e.g., for server charges) represents a discrete unit of a service
`
`resource which can be used up. (e.g., money and/or data access time).
`
`12.
`
`At the time the ‘752 Patent was filed, a POSITA would understand
`
`that a cost per-unit of time represents a discrete quantity that can be used up (e.g.,
`
`money).
`
`13.
`
`At the time the ‘752 Patent was filed, a POSITA would know that it
`
`was well known to store programs as instructions on a non-transitory computer-
`
`readable medium, such as floppy disks. For example, U.S. Patent No. 4,590,557,
`
`filed September 12, 1983, issued May 20, 1986 (attached hereto as Appendix 4)
`
`teaches that it was well-known to market software in the form of computer-
`
`readable media, such as floppy disks. U.S. Patent No. 4,590,557 at 1:21-32.
`
`14.
`
`A POSITA would readily understand that programs, once compiled,
`
`are stored as instructions executable by a processor. It is appreciated that user
`
`interfaces for enabling a user to create programs were well known at the time the
`
`27316012.1
`
`- 4 -
`
`Page 4 of 246
`
`
`
`‘752 Patent was filed. JavaBeans are reusable software components which can be
`
`manipulated visually by a graphical user interface builder. See U.S. Patent No.
`
`6,356,931 (attached hereto as Appendix 5), at 1:5-19, 4:53-5:4.
`
`15.
`
`A POSITA at the time the ‘752 Patent was filed would understand
`
`that the Java code (e.g., the registerMe.java code) could be modified using a text
`
`editor. See U.S. Patent No. 6,356,931, at 1:5-19.
`
`16.
`
`A POSITA at the time the ‘752 Patent was filed would understand
`
`user interfaces for enabling a user to install or create executable programs were
`
`well known at the time the ‘752 Patent was filed. For example, at the time the ‘752
`
`Patent was filed, it was well known that the Unix shell provided a user interface
`
`that allows users to create, install and run executable programs.
`
`17.
`
`A POSITA at the time the ‘752 Patent was filed would understand
`
`that event handlers were well known. Event handlers were well known
`
`programing constructs for use in interfacing computer programs with the users or
`
`other exterior generators of events. See U.S. Patent No. 5,430,875 (attached hereto
`
`as Appendix 7), 1:12- 2:68. Polling was a common method used to implement
`
`event handlers. See U.S. Patent No. 5,430,875, 1:44 - 61.
`
`18.
`
`At the time the ‘752 Patent was filed, it was well known to charge
`
`users on a per-unit of time basis for access to supercomputers. For example,
`
`according to the Alabama Supercomputer Center User Manual, Fifth Edition,
`
`27316012.1
`
`- 5 -
`
`Page 5 of 246
`
`
`
`published March 1997, hereinafter ASC User Manual, attached hereto as Appendix
`
`6, usage commands can be used to present session cost information to a user, such
`
`as to show the user’s account dollar balance. ASC User Manual, 21. Further, the
`
`ASC User Manual indicates that an account will automatically be prohibited from
`
`further processing when the account limit is exceeded, and that when this occurs, a
`
`user will receive a message stating that the dollar limit has been exceeded for a
`
`requested session. ASC User Manual, 20. Access to the supercomputer is charged
`
`based on a per-unit of time basis (e.g., a “recorded hour”) which is calculated by
`
`the accounting system based on CPU time, interactive connect time, memory
`
`usage, and disk access. ASC User Manual, 18, 19.
`
`19.
`
`At the time the ‘752 Patent was filed, it was well known to use
`
`remote logins to access network devices. For example, remote logins could be
`
`accomplished using a number of common Unix tools, such as ssh, rsh, rlogin, and
`
`telnet. In particular, ssh “secure shell”, was available to provide a secure login.
`
`See Tatu Ylonen, SSH - Secure Login Connections over the Internet,
`
`PROCEEDINGS OF THE SIXTH USENIX UNIX SECURITY SYMPOSIUM, SAN JOSE
`
`CALIFORNIA, July 1996 (attached hereto as Appendix 8), Abstract.
`
`27316012.1
`
`- 6 -
`
`Page 6 of 246
`
`
`
`Analysis of the ‘752 Patent
`
`20.
`
`I have reviewed the ‘752 Patent. The ‘752 Patent describes a
`
`computer system including an agent server and one or more agents, as shown in
`
`FIG. 1 of the ‘752 Patent, reproduced below. ‘752 Patent, FIG. 1, Abstract,
`
`5:23-30.
`
`21.
`
`The agents provided by the system are extensible (e.g.,
`
`programmable) by “end-users” (i.e., entities capable of logging into the system).
`
`‘752 Patent, 2:5-64. The agents perform operations using conventional computer
`
`components, such as a central processing unit (CPU) or processor, and memory
`
`
`
`27316012.1
`
`- 7 -
`
`Page 7 of 246
`
`
`
`storage devices. ‘752 Patent, 4:53-67. A communication line couples a user
`
`device to the agent server to facilitate exchanges of data between the user device
`
`and the agent server. ‘752 Patent, 14:48-57. The user device presents a graphical
`
`user interface (GUI) to the user that enables the user to interact with the agent
`
`server, such as to provide data to, and view data received from, the agent server.
`
`‘752 Patent, 6:16-48. The ‘752 Patent teaches that the GUI is implemented as a
`
`forms-capable browser capable of interpreting hypertext markup language
`
`(HTML) code that can provide forms including fill-in text boxes, portion buttons,
`
`dropdown lists, radio buttons, and the like, which can be utilized by the user to
`
`provide inputs to the system. ‘752 Patent, 6:16-48.
`
`22.
`
`During operation, the user provides commands to the agent server
`
`via the GUI, which are used to interact with, execute, modify, and select agents
`
`provided by the agent server. ‘752 Patent, FIGs. 9-12; 18:62-22:11. The
`
`commands include agent commands (e.g., commands to run an agent), agent
`
`template commands (e.g., commands to modify an agent template), and selection
`
`commands (e.g., commands instructing the network system to focus on a particular
`
`template or a particular agent in order to provide a context for any subsequent
`
`template or agent command). ‘752 Patent, 8:1-6, 19:12-25. The ‘752 Patent
`
`teaches that agent templates are classes from which agents can be created by
`
`instantiating the class/template. ‘752 Patent, 8:1-6, 19:12-25. The commands are
`
`27316012.1
`
`- 8 -
`
`Page 8 of 246
`
`
`
`issued by the user to: 1) provide services to the user, such as by issuing agent
`
`commands; 2) modify the agents, such as by issuing template commands; and 3)
`
`select an agent, such as by issuing a select template command, which can then be
`
`run (e.g., by subsequently issuing an agent command for the selected agent) or
`
`modified (e.g., by subsequently issuing a template command for the selected
`
`agent). ‘752 Patent, FIGs. 9-12; 18:62-22:11.
`
`23.
`
`When providing a service to the user, the agents perform various
`
`tasks that consume computational resources (e.g., processing time, memory storage
`
`space, elapsed time, and the like) and service resources (e.g., disk space, Internet
`
`connections, online data access time). ‘752 Patent, FIGs. 1, 2, 8:15-23, 9:31-33,
`
`10:59-11:5, 12:45-14:24, 15:54-16:4, 18:1-21, 22:17-21. The ‘752 Patent teaches
`
`that online data access time or inquiry service resources are consumed as an agent
`
`retrieves data. ‘752 Patent, 11:6-16. A service resource may comprise discrete
`
`units which are consumed by agents. ‘752 Patent, 11:6-16. For example, the ‘752
`
`Patent teaches that on-line data retrieval may comprise units of data-access time or
`
`inquiry consumed as an agent retrieves data (e.g., information or files relating to
`
`stock quotes or newspaper articles). ‘752 Patent, 11:6-16.
`
`27316012.1
`
`- 9 -
`
`Page 9 of 246
`
`
`
`Analysis of the ‘752 Patent Prosecution History
`
`24.
`
`I have reviewed the prosecution history for the ‘752 Patent. The
`
`‘752 Patent was filed on November 24, 2004 and assigned U.S. Patent Application
`
`No. 10/995,159 (hereinafter “the ‘159 Application”). The ‘752 Patent is a
`
`continuation of U.S. Patent Application No. 09/712,712, now U.S. Patent No.
`
`6,839,733, which is a continuation of U.S. Patent Application No. 09/178,366,
`
`filed on October 23, 1998, now U.S. Patent No. 6,163,794. The ‘159 Application,
`
`as originally filed, included 76 claims, which were canceled and replaced by new
`
`claims 77-97 in a preliminary amendment. File History November 24, 2004
`
`Preliminary Amendment at 3-6. In response to the Restriction Requirement mailed
`
`December 15, 2008, restricting claims 77-97 into Group I (claims 77-85) and
`
`Group II (claims 86-97), Applicant canceled the claims of Group I, elected the
`
`claims of Group II, and added new claims 98-106. File History December 15,
`
`2008 Restriction Requirement at 2; March 16, 2009 Response to Restriction
`
`Requirement at 2-7.
`
`25.
`
`Following the response filed on March 16, 2009, several Office
`
`Actions were issued, and responses including amendments were filed attempting to
`
`distinguish the claims over various aspects pertaining to claim features directed to
`
`service resources and service resources being consumed and/or exhausted. File
`
`History May 5, 2009 OA; August 5, 2009 Response to OA (arguing the cited
`
`27316012.1
`
`- 10 -
`
`Page 10 of 246
`
`
`
`reference(s) did not teach “using a service and a service resource configured to be
`
`consumed by the agent when performing the operation”) (emphasis original);
`
`October 30, 2009 OA; November 13, 2009 Response to OA (arguing the cited
`
`reference(s) did not teach “a service resource configured to be consumed by the
`
`agent . . . wherein the service resource is exhausted after it is consumed by the
`
`agent”) (emphasis original); December 9, 2009 Supplemental Amendment and
`
`Reply (arguing the cited reference(s) did not teach “a service resource configured
`
`to be consumed by the agent . . . wherein the service resource is exhausted after it
`
`is consumed by the agent”); May 25, 2010 OA; October 20, 2010 Response to OA
`
`(arguing the cited reference(s) did not teach “wherein an amount of the service
`
`resource is exhausted upon being consumed by the agent” and “wherein a
`
`discrete unit of the service resource is exhausted upon being consumed by the
`
`agent”) (emphasis original).
`
`26.
`
`On November 8, 2010, an Office Action was mailed, finally
`
`rejecting claims 86-93, 107-112, and 120-140 of the ‘159 Application. File
`
`History November 8, 2010 Final Office Action. Further, the Final Office Action
`
`indicated that claim 135, which recited “identifying the predetermined event by a
`
`URL, wherein the URL defines a type of the predetermined event and a recipient
`
`network based agent,” was objected to as being dependent upon a rejected base
`
`claim, but would be allowable if rewritten in independent form. File History
`
`27316012.1
`
`- 11 -
`
`Page 11 of 246
`
`
`
`November 8, 2010 Final Office Action at 5. The independent claims were
`
`subsequently amended to include the subject matter of claim 135. File History
`
`January 4, 2011 Response to Final Office Action at 2-12.
`
`27.
`
`Nowhere in the prosecution history of the ‘159 Application did the
`
`Examiner appear to be aware of using uniform resource locators (URLs) to identify
`
`an event or a recipient, such as an agent. However, using URLs to identify an
`
`event or a recipient was well known to a POSITA at the time the ‘159 Application
`
`was filed. As an example, Goddard, which was published in May of 1997, teaches
`
`techniques for using URLs to identify events and agents, as described in more
`
`detail below.
`
`A Person of Ordinary Skill
`
`28.
`
`In my opinion, a person of ordinary skill in the art of the ‘752
`
`Patent at the time of the alleged invention would typically be a person with a
`
`bachelor’s degree in computer science or electrical engineering and 3 – 5 years of
`
`experience in computer software systems.
`
`Claim Construction
`
`29.
`
`I understand that, in an inter partes review, a claim in an unexpired
`
`patent is given the “broadest reasonable construction in light of the specification of
`
`the patent in which it appears.” 37 C.F.R. § 42.100(b); Cuozzo Speed Techs., LLC
`
`27316012.1
`
`- 12 -
`
`Page 12 of 246
`
`
`
`v. Michelle K. Lee, 579 U.S. ___ (2016) (concluding that the Patent Office’s use of
`
`the broadest reasonable construction standard during inter partes review
`
`proceedings is reasonable). Petitioner therefore requests that the claim terms be
`
`given their broadest reasonable interpretation (“BRI”), as understood by one of
`
`ordinary skill in the art and consistent with the disclosure. See Office Patent Trial
`
`Practice Guide, 77 Fed. Reg. 48756, 48764 (Aug. 14, 2012).
`
`30.
`
`The following summarizes how certain claim phrases of the ‘752
`
`Patent should be construed for purposes of this Inter Partes Review:
`
`31.
`
` “event handler” – The ‘752 Patent teaches that event handlers
`
`comprise a routine which includes data and instructions for handling a particular
`
`event. ‘752 Patent, 18: 22 – 28. The ‘752 Patent teaches that the event handler is
`
`part of the agent. See ‘752 Patent, 26:27 – 31, 27:22 – 28, 28:12-20. Therefore,
`
`when given its BRI, the term “event handler” should be construed as “a software
`
`routine in an agent for handling an occurrence of an event comprising instructions
`
`and data.”
`
`32.
`
`Claim 1 of the ‘752 Patent recites “means for receiving data for
`
`creating a network-based agent” (emphasis added). This term is a means-plus-
`
`function element. The function is “receiving data for creating a network-based
`
`agent.” The ‘752 Patent discloses that a communication line enables
`
`communication via the interconnection of computers via the Internet. ‘752 Patent,
`
`27316012.1
`
`- 13 -
`
`Page 13 of 246
`
`
`
`6:16-27, 14:48-57. Thus, the BRI of the means for carrying out the above-
`
`identified function is a computing device operable to receive information over a
`
`communication line.
`
`33.
`
`Claim 1 of the ‘752 Patent further recites “means for invoking, in
`
`response to receiving a URL defining a type of event and identifying the
`
`network-based agent, an execution of the network-based agent” (emphasis
`
`added). This term is a means-plus-function element. The function is “invoking an
`
`execution of the network-based agent in response to receiving a URL defining a
`
`type of event and identifying the network-based agent.” The corresponding
`
`structure is an agent server. The ‘752 Patent states “agent server 20 may invoke,
`
`initiate, or execute various routines, processes, objects, and the like. For example,
`
`when a user wishes to interact with network system 2 via graphical user interface
`
`12, agent server 20 may cause web pages to be downloaded to an electronic user
`
`device. . . . Additional functionality of agent server 20 includes, but is not limited
`
`to, executing agent objects, identifying computational and service permissions, and
`
`controlling the consumption of computational and service resources.” ‘752 Patent,
`
`7:47-65. Further, the ‘752 Patent states “This allows a web server providing a
`
`graphical user interface to network system 10 to receive HyperText Transfer
`
`Protocol (HTTP) requests for the web page at the URL so that agent server 20 can
`
`27316012.1
`
`- 14 -
`
`Page 14 of 246
`
`
`
`relay the event to the particular agent 22. ” ‘752 Patent, 18:34-38. Thus, the BRI
`
`of the means for carrying out the above-identified function is an agent server.
`
`34.
`
`Claim 1 of the ‘752 Patent further recites “means, including the
`
`network-based agent, for using a service and a service resource configured to be
`
`consumed by the network-based agent for performing the operation” (emphasis
`
`added). This term is a means-plus-function element. The function is “using a
`
`service and a service resource configured to be consumed by the network-based
`
`agent for performing the operation.” The corresponding structure is an agent. For
`
`example, the ‘752 Patent states “agents 22 may also use or consume various
`
`service resources (described below in more detail) during the performance of their
`
`respective tasks.” ‘752 Patent, 9:26-39. Thus, the BRI of the means for carrying
`
`out the above-identified function is an agent.
`
`35.
`
`Claim 1 of the ‘752 Patent further recites “means for
`
`communicating a result of the operation over a network communications link”
`
`(emphasis added). This term is a means-plus-function element. The function is
`
`“communicating a result of the operation over a network communications link.”
`
`The corresponding structure is a communication line. The ‘752 Patent discloses
`
`that a communication line enables communication via the interconnection of
`
`computers via the Internet. ‘752 Patent, 6:16-27, 14:48-57. Thus, the BRI of the
`
`means for carrying out the above-identified function is a communication line.
`
`27316012.1
`
`- 15 -
`
`Page 15 of 246
`
`
`
`36.
`
`Claim 6 of the ‘752 Patent recites “means for allowing a user to
`
`modify the network-based agent” (emphasis added). This term is a means-plus-
`
`function element. The function is “allowing a user to modify the network-based
`
`agent.” The corresponding structure is a network system. For example, the ‘752
`
`Patent states “network system 2 allows users (e.g., subscribers) to create, copy,
`
`modify, edit, or delete agents 22 and the associated templates as desired, thereby
`
`affording extensibility.” ‘752 Patent, 10:12-15. Thus, the BRI of the means for
`
`carrying out the above-identified function is a network system.
`
`Analysis of Prior Art to the ‘752 Patent
`
`37.
`
`I have reviewed U.S. Patent No. 6,029,175 to Chow (hereinafter
`
`“Chow”). Chow teaches that data in a web-based system changes rapidly, and that
`
`when Chow was filed, a server could not contact a client device to inform the
`
`client that the data has been changed. Chow, 3:1-18. Chow discloses that a
`
`solution could be configuring the server to provide an interval for the data to be
`
`refreshed, such as indicating that the document will become stale (e.g., expire) at a
`
`specified time (e.g., Wednesday, Dec. 7, 1994 22:03:39 GMT). Chow, 3:1-37.
`
`But, Chow teaches that this solution does not enable the server to automatically
`
`refresh the information without user intervention. Chow, 3:1-37.
`
`27316012.1
`
`- 16 -
`
`Page 16 of 246
`
`
`
`38.
`
`To solve these problems, Chow discloses a network agent, referred
`
`to as a Revision Manager (RM), that operates as an intermediary between a client
`
`(e.g., a browser of a client terminal) and a server (e.g., a local or remote network
`
`server) to automatically detect a change to a resource (e.g., a document, a web
`
`page, etc.), to notify the client of that the resource has changed, and to retrieve the
`
`changed resource from the server. Chow, FIGs. 3, 36, Abstract, 3:60-4:5, 26:18-
`
`27:51. Chow teaches that the RM could be provided in connection with a
`
`commercial software program to provide an automatic software update distribution
`
`service to users of the program. Chow, 20:65-21:10, 39:26-44. In view of Chow’s
`
`teachings that the RM could be provided in connection with a commercial software
`
`program, and the general common knowledge of a POSITA that commercial
`
`software was commonly stored on floppy disks, a POSITA would understand that
`
`the RM could be provided as software stored on an article of manufacture
`
`including a non-transitory computer-readable medium, such as a floppy disk, and
`
`would have been motivated to do so because it would simplify the process of
`
`installing the RM software in multiple systems, such as the system illustrated in
`
`FIG. 31 of Chow, which includes multiple RMs. Chow, FIG. 31. Chow also
`
`teaches that the RM can interact with Unix-based systems and browsers. Chow,
`
`1:60-63, 39:4-25.
`
`27316012.1
`
`- 17 -
`
`Page 17 of 246
`
`
`
`39.
`
`The RM can be a dedicated computer programmed to implement
`
`the functions of the RM, or one of many different programs executed by a
`
`computer. Chow, 9:45-51. FIG. 34 of Chow, reproduced below, teaches that a
`
`computer programmed to implement the operations of the RM includes a
`
`processor, a disk storage, a random access memory (RAM), and a network
`
`interface that communicatively couples the RM to other nodes, such as user
`
`workstations, to facilitate the exchange of information between the RM and other
`
`nodes. Chow, FIGs. 1, 3, 5, 34, Abstract, 3:60-4:5, 9:23-32, 25:15-47.
`
`27316012.1
`
`- 18 -
`
`Page 18 of 246
`
`
`
`
`
`A POSITA would recognize that when the RM is implemented as a software
`
`program, the RM program is stored as instructions executable by the processor to
`
`perform RM operations. Chow, 20:65- 21:10.
`
`40.
`
`Data structures for implementing the RM’s functionality are stored
`
`in the RM’s RAM, or in the disk storage, where the processor reads the data
`
`27316012.1
`
`- 19 -
`
`Page 19 of 246
`
`
`
`structures from the disk storage and writes them to the RAM as needed during the
`
`RM’s operations. Chow, FIG. 34, 25:15-47. The data structures include: a
`
`directory of objects that is accessed to determine whether a specified object is
`
`recognized by the RM; a log of changes including information indicating changes
`
`to the objects in the cache of objects and providing an audit trail of changes in the
`
`objects over time; object’s interested client lists including information that
`
`identifies clients interested in receiving notifications of significant changes in an
`
`object and time stamps indicating when the clients were last notified of change in
`
`an object; significant change detection methods which are used to determine
`
`whether a change in an object of interest is significant enough for recording in a
`
`log of changes to objects, and for updating the version of the object that is stored in
`
`the cache of objects; a directory of clients that includes a list of clients being
`
`serviced by the RM; a client’s list of objects of interest; and a client's significant
`
`change detection methods (e.g., predetermined procedures used to compute
`
`changes in altered objects of interest and to determine which changes should
`
`trigger a notification to the interested clients). Chow, FIG. 34, 25:15-26:60. A
`
`GUI provides users the ability to modify their significant change detection
`
`methods. Chow, FIGs. 23-30, 36, 26:18-27:51. In view of Chow’s teachings that
`
`the RM performs operations on behalf of a user, such as to monitor resources for
`
`changes and provide change notifications to the user, and Chow’s teachings that
`
`27316012.1
`
`- 20 -
`
`Page 20 of 246
`
`
`
`the user can modify the way the RM operates, such as to modify the significant
`
`change detection method, a POSITA at the time the ‘752 Patent was filed would
`
`understand that the RM of Chow is an agent that performs user customized
`
`network-based operations.
`
`41.
`
`The cache of objects stores copies of monitored resources (e.g.,
`
`documents), and, the RM may serve a requested resource to an interested user from
`
`the cache of objects. Chow, 27:53-63. When the RM intercepts a request for a
`
`resource, a CGI service (RM_route.pl) retrieves the resource from the remote
`
`server, and stores a copy in the RM’s cache of objects. Chow, 9:44-10:11. Chow
`
`teaches that the RM checks a time stamp in its directory of objects to determine
`
`when an object was last updated, and that, if more than a certain time has elapsed
`
`(e.g., 10 minutes) since the last update, the RM searches for a source for the object.
`
`Chow, FIG. 45, 2:31-41, 9:1-7, 25:48-26:17, 29:20-30:57, 32:59-40:17. The RM
`
`checks costs, such as communication charges, server charges, and copyright holder
`
`charges, associated with retrieving the document from a source. Id. Chow further
`
`teaches that that RM can check costs associated with retrieving a document from
`
`different sources, and select a source for the document when the cost would not
`
`exceed an acceptable level. Chow, 25:48-26:17. At the time the ‘752 Patent was
`
`filed it was well-known to charge users for access to online data on a per-unit of
`
`time basis, such as charging a monetary amount per hour (e.g., $22.80 per hour).
`
`27316012.1
`
`- 21 -
`
`Page 21 of 246
`
`
`
`Accordingly, a POSITA at the time the ‘752 Patent was filed would recognize that
`
`communication charges and server charges, as taught by Chow, represent
`
`exhaustible service resources that are consumed by the RM polling Daemon during
`
`its operation. Further, a POSITA would readily recognize that the RM of Chow
`
`uses a service (e.g., retrieving a document) and a service resource (e.g., costs
`
`associated with retrieving the document) configured to be consumed by the RM for
`
`performing the operation, and that the structure for performing this functionality is
`
`the RM polling Daemon, which is an agent. Chow, FIG. 45, 2:31-41, 9:1-7, 25:48-
`
`26:17, 29:60-30:34, 34:36-40:17.
`
`42.
`
`Users interact with the RM using a browser interface (e.g., a GUI)
`
`that receives inputs to designate a resource that the RM should monitor and/or
`
`retrieve, and a port number of the user’s local machine where notifications and
`
`copies of the resource can be provided to the browser. Chow, FIGs. 5, 6, 23-30,
`
`3:54-64, 5:32-63, 15-6:15. The system of Chow provides a browser interface that
`
`supports forms which allow a user to provide instructions to, or control the
`
`operations of, the RM, such as to modify the significant change detection method,
`
`or configure an update interval or to specify a resource to be monitored. Chow,
`
`FIGs. 5, 6, 14, 17, 23-30, 36, 4:54-5:31, 26:18-25, 27:35-51. For example, FIG. 5
`
`of Chow, reproduced below, illustrates an exemplary GUI for specifying resources
`
`to be monitored for changes by the RM.
`
`27316012.1
`
`- 22 -
`
`Page 22 of 246
`
`
`
`
`
`43.
`
`As illustrated in FIG. 5, above, the user specifies a resource for
`
`monitoring by the RM as a URL. Chow, FIGs. 23, 3:54-64, 5:32-63. Additionally,
`
`Chow teaches that a user could provide a program to the RM to, for example,
`
`monitor prices of certain stocks and bonds and notify the user if the price changes
`
`by more than 5% over a week. Chow, 26:38-60. A POSITA at the time the ‘752
`
`Patent was filed would recognize that the RM of Chow runs on a network system
`
`that allows a user to modify agents of the RM. Chow, 9:25-32, 26:38-60.
`
`44.
`
`The RM includes: a RM Daemon, a polling Daemon, and a set of
`
`CGI scripts. Chow, FIG. 2, 9:23-10:30. The RM Daemon process starts by
`
`reading command line arguments and a server configuration file in order to
`
`customize itself to reflect the configuration of the host system and how it should
`
`act as a server in response to requests from a client browser. Chow, FIG. 8, 11:35-
`
`42. With reference to FIG. 8, the relevant portions of which are reproduced below,
`
`27316012.1
`
`- 23 -
`
`Page 23 of 246
`
`
`
`Chow discloses that the RM Daemon process starts by reading command line
`
`arguments and a server configuration file in order to customize itself to reflect the
`
`configuration of the host system and how it should act as a server in response to
`
`requests from a client browser. Chow, FIG. 8, 11:35-42.
`
`
`
`A POSITA at the time the ‘752 Patent was filed would understand that the server
`
`configuration file of Chow is an agent template that is used to initialize the
`
`configuration of an agent (e.g., the RM), and that modification of the server
`
`configuration file would modify the agent template, thereby creating a user-
`
`customized agent. A POSITA would understand that Chow teaches that the RM
`
`receives data (e.g., the command line information) for creating a network-based
`
`agent, and also teaches that the structure for receiving the data as being a
`
`27316012.1
`
`- 24 -
`
`Page 24 of 246
`
`
`
`computing device having a communication line. Chow, FIGs. 1, 3, 5, 34, Abstract,
`
`3:60-4:5, 9:23-32, 25:15-47.
`
`45.
`
`The RM Daemon facilitates communication between the RM and
`
`the user’s client web browser. Chow, 9:45-11:17. The RM polling Daemon,
`
`which is an agent, is spawned by the RM Daemon at start-up. Chow, 10:40-50.
`
`The RM polling Daemon handles various events that occur during the RM’s
`
`operations