`
`
`
`Patent Trial and Appeal Board
`
`
`Edward H. Moura
`2440 Camino Ramon
`Suite 337
`San Ramon, CA 94583
`
`Dear Mr. Edward H. Moura,
`
`We are contacting you, as the agent for service of process for
`Alladvantage.com (see Attachment A), to inform you of the ongoing inter
`partes reviews (IPR2015-01956 and IPR2015-01957) of United States
`Patent No. 6,519,581 B1, titled “Collection of Information Regarding a
`Device or a User of a Device Across a Communication Link” (“the ’581
`patent,” Attachment B). These proceedings are before the Patent Trial and
`Appeal Board of the United States Patent and Trademark Office, and are
`currently awaiting a final written decision from the Board regarding the
`patentability of claims in the ’581 patent. The final written decisions are
`expected to be issued by April 18, 2017.
`
`In both proceedings, Petitioners, Old Republic General Insurance Group,
`Inc.; Old Republic Insurance Company; Old Republic Title Insurance
`Group, Inc.; and Old Republic National Title Insurance Company
`(collectively “Old Republic”), filed petitions on September 28, 2015
`challenging the patentability of claims in the ’581 patent. The petitions filed
`in IPR2015-01956 and IPR2015-01957 are enclosed (Attachments C and D).
`
`On April 18, 2016, the Patent Trial and Appeal Board instituted inter partes
`review proceedings in both IPR2015-01956 and IPR2015-01957. The
`Decision to Institute in IPR2015-01956 and IPR2015-01957 are also
`enclosed (Attachments E and F).
`
`Until recently, Intellectual Ventures I LLC has participated in IPR2015-
`01956 and IPR2015-01957 as the purported Patent Owner of the ’581 patent.
`However, in related litigation between Intellectual Ventures I LLC and Old
`Republic, the United States Court of Appeals for the Federal Circuit issued a
`decision on March 7, 2017 that affirmed a district court’s dismissal of
`
`P.O. Box 1450, Alexandria, Virginia 22313-1450 – WWW.USPTO.GOV
`
`
`
`
`Intellectual Ventures I LLC’s patent infringement claims based on the ’581
`patent (Attachment G). On pages 4 through 12 of the enclosed copy of this
`Decision, the Federal Circuit determined that an assignment agreement
`between Alladvantage.com and Alset, Inc. “did not convey any rights to the
`’581 patent.” As such, Alladvantage.com may have ownership rights in the
`’581 patent.
`
`If Alladvantage.com plans to participate in IPR2015-01956 and IPR2015-
`01957, please contact the Board within seven (7) business days after
`receipt of this notification. The Board will issue the final written decisions
`in IPR2015-01956 and -01957 by April 18, 2017. To contact the Board,
`please email Trials@uspto.gov and include “IPR2015-01956 and IPR2015-
`01957” and the patent number in the subject line.
`
`Sincerely,
`
`/Lawrence J. Banks/
`Trial Paralegal
`
`Enclosure:
`Attachments A-G
`
`
`P.O. Box 1450, Alexandria, Virginia 22313-1450 – WWW.USPTO.GOV
`
`
`
`
`3/20/2017
`
`Business Search Business Entities Business Programs | California Secretary of State
`
`Alex Padilla
`California Secretary of State
` Business Search Entity Detail
`
`The California Business Search is updated daily and reflects work processed through Sunday, March 19, 2017. Please refer to
`document Processing Times for the received dates of filings currently being processed. The data provided is not a complete
`or certified record of an entity. Not all images are available online.
`
`C2158420 ALLADVANTAGE.COM
`
`Registration Date:
`Jurisdiction:
`Entity Type:
`Status:
`Agent for Service of Process:
`
`Entity Address:
`
`Entity Mailing Address:
`
`Document Type
`
`SINO CHANGE
`
`SICOMPLETE
`
`03/24/1999
`CALIFORNIA
`DOMESTIC STOCK
`DISSOLVED
`EDWARD H. MOURA
`3050 CITRUS CIRCLE, SUITE 114
`WALNUT CREEK CA 94598
`3050 CITRUS CIRCLE, SUITE 114
`WALNUT CREEK CA 94598
`P.O. BOX 3491
`WALNUT CREEK CA 94598
`
` File Date
`03/06/2006
`
`05/10/2004
`
`
`
`
`* Indicates the information is not contained in the California Secretary of State's database.
`
`If the status of the corporation is "Surrender," the agent for service of process is automatically revoked. Please refer to
`California Corporations Code section 2114 for information relating to service upon corporations that have surrendered.
`For information on checking or reserving a name, refer to Name Availability.
`If the image of a Statement of Information is not available online, for information on ordering a copy of that statement
`refer to Information Requests.
`For information on ordering certificates, status reports, certified copies of documents and copies of documents not
`currently available in the Business Search such as a filing that is not a Statement of Information or filings for other types
`of business entities, or to request a more extensive search for records, refer to Information Requests.
`For help with searching an entity name, refer to Search Tips.
`For descriptions of the various fields and status types, refer to Frequently Asked Questions.
`
`Modify Search New Search Back to Search Results
`
`https://businesssearch.sos.ca.gov/CBS/Detail
`
`1/1
`
`
`
`(12) United States Patent
`Hofmann et al.
`
`111111
`
`1111111111111111111111111111111111111111111111111111111111111
`US006519581Bl
`US 6,519,581 B1
`Feb. 11, 2003
`
`(10) Patent No.:
`(45) Date of Patent:
`
`(54) COLLECTION OF INFORMATION
`REGARDING A DEVICE OR A USER OF A
`DEVICE ACROSS A COMMUNICATION
`LINK
`
`(75)
`
`Inventors: William D. Hofmann, Berkeley, CA
`(US); John C. Hurley, Sanata Clara,
`CA(US)
`
`(73) Assignee: Alset, Inc, Palo Alto, CA (US)
`
`( *) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`Hofmann et al, "Mobile agents on the digital battlefield",
`ACM Autonomous agents, pp 219-225.*
`
`Hu et al, "Discovery of decision rules in relational data(cid:173)
`bases: a rough set approach", ACM CIKM pp 392-400.*
`
`Adomavicius et al, "User profiling in personalization appli(cid:173)
`cations through rules discovery and validation", ACM KDD
`pp 377-381.*
`
`Shyu et al, "Discovering quasi equivalance relationship
`from database system", ACM CIKM pp 102-108.*
`
`Rosset et al. "Discovery of fraud rules to telelcommunica(cid:173)
`tion challenges and soluctions" ACM KDD pp 409-413.*
`
`(21) Appl. No.: 09/844,858
`
`(22) Filed:
`
`Apr. 27, 2001
`
`* cited by examiner
`
`Related U.S. Application Data
`
`( 63) Continuation of application No. 09/017,112, filed on Jan. 31,
`1998, now Pat. No. 6,236,983.
`Int. Cl? .................................................. G06F 7/00
`(51)
`(52) U.S. Cl. .............................. 706/47; 706/45; 706/46
`(58) Field of Search .............................. 706/45, 46, 47,
`706/52, 61; 707/101, 102
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`5,185,860 A * 2/1993 Wu ............................ 709/224
`5,555,346 A * 9/1996 Gross et a!. .................. 706/45
`5,586,025 A * 12/1996 Tsuji eta!. ................... 707/50
`5,727,174 A * 3/1998 Aparicio et a!. ............ 345/348
`5,877,759 A * 3/1999 Bauer ......................... 345/339
`5,944,783 A * 8/1999 Nieten ........................ 709/202
`
`01HER PUBLICATIONS
`
`Elofson "intelligent agents extend knowledge base system
`feasibility", IBM system Journal vol. 34, No. 1, pp 78-95. *
`Hilbert et al "Agents for collecting application usage data
`over the internet", ACM Autonomous agents, pp 149-156. *
`
`Primary Examiner-Ani! Khatri
`(74) Attorney, Agent, or Firm-Lisa N. Benado
`
`(57)
`
`ABSTRACT
`
`A system is provided for collecting information regarding a
`device or a user of a device. Information is collected from
`a discovery agent residing on the computer system. At
`certain times, the agent may be activated to collect the
`information. A sender transmits a discovery rule across a
`communication link to a computer system. The discovery
`agent and the discovery rule are separate code sequences or
`separate programs. The discovery rule is then applied to the
`information received from the discovery agent and the
`resulting information is returned back to the sender. Where
`the sender receives a user request, such as regarding the
`computer system, the discovery rule may be transmitted and
`the sender may use the resulting information to respond to
`the user request.
`
`47 Claims, 6 Drawing Sheets
`
`Petitioners Old Republic Gen'l Insur. Group., et al.
`Ex. 1001, p. 1
`
`
`
`U.S. Patent
`
`Feb.l1,2003
`
`Sheet 1 of 6
`
`US 6,519,581 B1
`
`QIENT
`14A
`
`10
`
`148
`
`14C
`
`140
`
`Dlscx:MR
`Ac:c:Nf
`
`DISCXMR
`AGeNT
`
`DISCXJJER
`AGNT
`
`• • •
`
`20
`
`srrnAa= 1 - - - - - - - f
`
`Dlscx:MR
`RULE
`
`OIS(X)..ffi
`RULE
`
`01 SCXJv'ffi
`RULE
`
`• • •
`
`DISCD.Iffi
`RULE
`
`18A
`
`188
`
`18C
`
`180
`
`SERVER
`
`24
`.r-J
`
`01 SCXJ..Iffi
`ACENTS
`
`12
`
`28
`_2
`
`22
`
`26
`_2
`
`01 so::J./ffi
`RULES
`
`FIG. 1
`
`Petitioners Old Republic Gen'l Insur. Group., et al.
`Ex. 1001, p. 2
`
`
`
`U.S. Patent
`
`Feb. 11,2003
`
`Sheet 2 of 6
`
`US 6,519,581 B1
`
`OISCXJJffiY 8\JG NE
`40
`r1
`
`TABLECF
`DISCXNERY
`AG3\ITS
`
`46
`r1
`DISCXNER
`AG:NT
`ACTlVA llQ\1
`Mmt.JLE
`
`42
`r1
`
`T.ABLECF
`Dl SCXJJffiY
`RULES
`
`48
`r1
`Dl SCXJ.Iffi
`RULE
`EXEO.JnQ\1
`MCDULE
`
`16
`
`44
`r1
`
`SCHEDULffi
`MmtJLE
`
`50
`r1
`DATA
`CXl..LECTl 0\1
`MCD..LE
`
`FIG. 2
`
`Petitioners Old Republic Gen'l Insur. Group., et al.
`Ex. 1001, p. 3
`
`
`
`U.S. Patent
`
`Feb. 11,2003
`
`Sheet 3 of 6
`
`US 6,519,581 B1
`
`DiskDrivel nfo
`
`Memorylnfo
`
`Discovery
`Data Collected by Discovery Agent
`Agent Name
`HWConfiguration ProcessorMfr, ProcessorModel,
`ProcessorSpeed, RAMSize,
`Connected Devices
`DiskCapacity, DiskRemovable,
`UnusedDiskSpace
`UnusedRAM, CacheUsage,
`LargestContiguousBiock
`SWConfiguration Operating System, OpSysVersion,
`Softwarelist
`Open Windows, FrontTitle, FrontPosition,
`FrontSize, FrontType
`Hobbies, VacationPreference, Occupation,
`Gender
`
`ActiveWindows
`
`Personallnfo
`
`Invoke
`Interval
`5 min.
`
`1 min.
`
`5 sec.
`
`5 min.
`
`10 sec.
`
`5 sec.
`
`FIG. 3
`
`Discovery
`Data Required to Execute Discovery Rule
`Rule Name
`DiskDriveStatus DiskCapacity, UnusedDiskSpace
`UnusedDiskSpace, UnusedRAM, LargestContiguousBiock,
`System Status
`Open Windows
`UpgradeWindow OpenWindows, FrontTitle
`Hobbies, Softwarelist
`GolfGamers
`
`FIG. 4
`
`Petitioners Old Republic Gen'l Insur. Group., et al.
`Ex. 1001, p. 4
`
`
`
`U.S. Patent
`
`Feb. 11,2003
`
`Sheet 4 of 6
`
`US 6,519,581 B1
`
`Start )
`
`~
`
`Initialize Client System
`
`0
`
`r0
`
`Discovery engine Identifies Discovery Agents rJ
`
`and Discovery Rules Coupled to the
`Discovery Engine
`
`2
`
`1
`
`Discovery Engine Determines Which ~
`
`Discovery Rules can be Executed Based on
`the Available Discovery Agents
`
`4
`
`1r
`Discovery Engine Interrogates All
`Possible Discovery Rules
`
`6
`
`r0
`
`Discovery Engine Deactivates Discovery
`
`8
`6
`
`Agents that are Not Required to Execute rv
`
`the Identified Discovery Rules
`
`End )
`
`FIG. 5
`
`Petitioners Old Republic Gen'l Insur. Group., et al.
`Ex. 1001, p. 5
`
`
`
`U.S. Patent
`
`Feb.11,2003
`
`Sheet 5 of 6
`
`US 6,519,581 B1
`
`Reschedule
`Discovery Agent
`
`No
`
`No
`
`No
`
`Activate and Collect Data from
`the Appropriate Discovery Agents
`
`Execute the Discovery Rule Using the Data
`Collected by the Discovery Agents
`
`94
`
`FIG. 6
`
`Petitioners Old Republic Gen'l Insur. Group., et al.
`Ex. 1001, p. 6
`
`
`
`U.S. Patent
`
`Feb. 11,2003
`
`Sheet 6 of 6
`
`US 6,519,581 B1
`
`1
`
`~~ 50
`
`1
`
`~
`
`1 I
`
`1
`
`1
`
`~
`
`i
`
`~
`z
`
`~
`8 .....
`
`.
`<.9 -LL
`
`~
`a:
`
`rc_
`co
`..(cid:173)..-
`
`~~
`~~
`
`ll
`
`~~
`z~
`
`ll
`
`~
`~
`~
`0
`
`rl
`
`N .....
`.....
`
`Petitioners Old Republic Gen'l Insur. Group., et al.
`Ex. 1001, p. 7
`
`
`
`US 6,519,581 B1
`
`1
`COLLECTION OF INFORMATION
`REGARDING A DEVICE OR A USER OF A
`DEVICE ACROSS A COMMUNICATION
`LINK
`
`RELATED APPLICATION
`
`This is continuation of application Ser. No. 09/017,112,
`now U.S. Pat. No. 6,236,983, filed Jan. 31, 1998.
`
`FIELD OF THE INVENTION
`
`The present invention relates to information collection
`systems. More specifically, the invention provides a system
`for collecting information regarding a device or a user of a
`device.
`
`BACKGROUND
`
`2
`information. Instead, the discovery agents communicate the
`collected information to a discovery engine, which receives
`collected data from the discovery agents and applies dis(cid:173)
`covery rules to the collected data. The discovery rules
`s determine what, if any, action is to be taken based on the
`collected data.
`In one embodiment, the discovery rule is transmitted
`across a communication link to a computer system and the
`resulting information, e.g. analysis and collected
`10 information, is received back from the computer system
`through the link. In some instances, the sending of the
`discovery rule may be due to a user request. At times, the
`sender of the request is a remote individual. For example, the
`request may be a request for assistance made to a technical
`15 support representative or sales representative. In this case,
`the collected information/analysis information may be used
`to provide a respond to the user request.
`In still other embodiments, the discovery rule is transmit(cid:173)
`ted automatically, when the computer system establishes a
`20 connection with a server.
`In particular embodiments of the invention receives infor(cid:173)
`mation from a discovery agent, which collects information
`when activated. The discover agents may be periodically
`25 activated to collect information. The invention determines a
`discovery rule to be applied to the information received from
`the discovery agent. The discovery rule is then applied to the
`information received from the discovery agent. The discov(cid:173)
`ery agent and the discovery rule are separate code
`30 sequences.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`Different types of systems and procedures are available
`for collecting or retrieving information from a device or a
`user of a device. The collected information may be used to
`analyze system performance, identify existing problems, or
`identify potential problems. If a problem or potential prob(cid:173)
`lem is identified, a user or administrator of the system is
`notified of the problem and can take an appropriate action.
`Existing procedures for collecting or retrieving informa(cid:173)
`tion are typically contained in a software application or a
`built-in diagnostic routine that performs one or more pro(cid:173)
`cedures to monitor specific portions of a system. Generally,
`these procedures are included in a single application or a
`diagnostic routine that retrieves information about the sys(cid:173)
`tem and analyzes the retrieved information. Therefore, these
`procedures retrieve a particular set of information and
`perform a particular analysis on the information.
`These existing applications or diagnostic routines are not
`easily modified if a user or administrator wants to change the
`information retrieved or change the analysis performed on
`the retrieved information. To make such a change requires
`modifying the application source code or modifying the
`built-in diagnostic routine, both of which can be compli-
`cated and time-consuming.
`Additionally, many existing applications are invoked and
`operated by a user of the system. Instead of running auto(cid:173)
`matically or running in a "background" mode, these appli(cid:173)
`cations are executed at the direction of the user. Thus, to 45
`retrieve data about the system using this type of application,
`the user must install the application and know how to
`operate and command the application. If the application is
`used infrequently (e.g., only when a problem occurs), the
`user is not likely to be proficient when operating the appli- 50
`cation. In this situation, the user may need to re-learn the
`operation of the application before retrieving and analyzing
`data about the system.
`It is therefore desirable to provide a system that collects
`information automatically while requiring minimal interac(cid:173)
`tion with the user of the system. Additionally, it is desirable
`to provide an information collection system that is easily
`modified to collect different types of data and perform
`different operations on the collected data.
`
`40
`
`The present invention is illustrated by way of example in
`the following drawings in which like references indicate
`35 similar elements. The following drawings disclose various
`embodiments of the present invention for purposes of illus(cid:173)
`tration only and are not intended to limit the scope of the
`invention.
`FIG. 1 illustrates an embodiment of a client and a server
`capable of implementing the teachings of the present inven(cid:173)
`tion.
`FIG. 2 illustrates an embodiment of a discovery engine
`that receives data collected by one or more discovery agents
`and applies one or more discovery rules using the received
`data.
`FIG. 3 illustrates an embodiment of a table identifying
`various discovery agents and the data collected by each
`discovery agent.
`FIG. 4 illustrates an embodiment of a table identifying
`various discovery rules and the data required to execute each
`discovery rule.
`FIG. 5 is a flow diagram illustrating an embodiment of a
`procedure for initializing an information discovery mecha(cid:173)
`ss nism on a client system.
`FIG. 6 is a flow diagram illustrating an embodiment of a
`procedure for handling the activation of discovery agents
`and the execution of discovery rules.
`FIG. 7 illustrates an embodiment of a computer system
`that can be used with the present invention.
`
`60
`
`SUMMARY OF THE INVENTION
`Embodiments of the present invention provide a system
`for passively and actively collecting information about a
`device, such as a computing device and/or the user of the
`device. The system uses one or more discovery agents to 65
`collect information about a device or its user. The discovery
`agents do not have intelligence to understand the collected
`
`DETAILED DESCRIPTION
`
`The following detailed description sets forth numerous
`specific details to provide a thorough understanding of the
`invention. However, those of ordinary skill in the art will
`appreciate that the invention may be practiced without these
`
`Petitioners Old Republic Gen'l Insur. Group., et al.
`Ex. 1001, p. 8
`
`
`
`US 6,519,581 B1
`
`5
`
`35
`
`3
`specific details. In other instances, well-known methods,
`procedures, protocols, components, algorithms, and circuits
`have not been described in detail so as not to obscure the
`invention.
`The present invention provides a system for passively and
`actively collecting information about a device, such as a
`computing device and/or the user of the device. The system
`uses one or more discovery agents (implemented using
`individual programs or code sequences) to collect informa(cid:173)
`tion about a device or its user. The discovery agents them(cid:173)
`selves have no intelligence regarding how to interpret or act
`on the collected data. Instead, the discovery agents merely
`communicate the collected data to a discovery engine, which
`is a central control module for the information collection
`system. The discovery engine receives collected data from
`the discovery agents and applies one or more discovery rules
`to the collected data. The discovery rules determine what, if
`any, action is to be taken based on the collected data. As
`discussed below, the discovery rules may be a series of
`Boolean operations, mathematical equations, or other com- 20
`parisons or evaluations of the collected data.
`The discovery agents are separate programs (or code
`sequences) from the discovery rules, and there is no par(cid:173)
`ticular relationship between the discovery agents and the
`discovery rules. A particular discovery agent may collect 25
`data that is used by one or more discovery rules. Similarly,
`a particular discovery rule may use data collected by one or
`more discovery agents. Thus, if a particular piece of data
`collected by a discovery agent is used by multiple discovery
`rules, that data need only be collected once, rather than 30
`retrieving the required data multiple times (once for each
`discovery rule requiring the information). The discovery
`engine is responsible for determining what data is required
`by a particular discovery rule and activating the appropriate
`discovery agents to collect the required data.
`Since the discovery agents and the discovery rules are not
`linked to one another, new discovery agents can be gener(cid:173)
`ated and existing discovery agents can be modified without
`necessarily requiring a corresponding change to the existing
`discovery rules. Similarly, an existing discovery rule can be
`changed or an additional rule added without necessarily
`making any changes to the existing discovery agents. For
`example, a new discovery rule may be created that uses data
`from existing discovery agents. In this situation, no addi- 45
`tional discovery agents are required to implement the new
`discovery rule. Thus, the operation of the information col(cid:173)
`lection system can be modified without requiring a revision
`of all agents and rules contained in the system.
`The updating of discovery agents and discovery rules can
`be accomplished by downloading agents or rules from a
`server or other device, or installed from a diskette or other
`storage medium. In one embodiment of the invention, new
`or revised agents and rules are downloaded automatically
`from a server to the device when the device establishes a 55
`connection with the server. This embodiment updates the
`agents and rules without requiring any user interaction or
`user control. Since the discovery agents and discovery rules
`are separate programs or code sequences, individual agents
`and rules can be communicated across a common data 60
`communication link, without requiring a high-speed or
`high-bandwidth communication link.
`Particular embodiments of the invention allow an
`individual, such as a technical support representative or a
`sales representative, to download a particular discovery
`agent or discovery rule to a client across a communication
`link, without requiring action by the user of the client. In a
`
`4
`particular example, the user of a client requests assistance
`from a technical support representative. The technical sup(cid:173)
`port representative can then download discovery agents and
`discovery rules that collect and analyze information about
`the client system. This collected information and analysis is
`communicated back to the technical support representative
`for use in providing assistance to the user of the client.
`FIG. 1 illustrates an embodiment of a client 10 and a
`server 12 capable of implementing the teachings of the
`10 present invention. Client 10 includes multiple discovery
`agents 14a, 14a, 14c, and 14d. Although FIG. 1 illustrates
`four discovery agents, a particular client may include any
`number of discovery agents. Each discovery agent 14a-4d is
`coupled to a discovery engine 16 and is capable of commu-
`15 nicating information from the discovery agent to the dis(cid:173)
`covery engine. Discovery agents 14a-14d collect informa(cid:173)
`tion about the client or the user of client 10. The information
`collected may include the hardware and software configu(cid:173)
`ration of client 10 and the hobbies or personal interests of the
`user of client 10. As discussed in greater detail below,
`discovery engine 16 is responsible for activating particular
`discovery agents, thereby causing the activated agents to
`collect data about client 10 or the user of client 10. The
`information collected by discovery agents 14a-4d is com-
`municated to discovery engine 16. A particular set of dis(cid:173)
`covery agents may be installed on client 10 by the manu(cid:173)
`facturer as part of the manufacturing process. Additional
`discovery agents can be downloaded or otherwise installed
`on the client in the future to perform additional data collec-
`tion operations. Similarly, additional discovery rules can be
`installed on the client in the future to perform additional
`analysis.
`Client 10 also contains multiple discovery rules 18a, 18b,
`18c, and 18d. Although four discovery rules are illustrated in
`FIG. 1, a particular client 10 may include any number of
`discovery rules. Additionally, the number of discovery rules
`need not correspond to the number of discovery agents. As
`discussed above, the discovery rules and the discovery
`agents are independent of one another. Discovery engine 16
`40 receives data collected from one or more discovery agents
`14a-14d and uses the received data to execute one or more
`discovery rules 18a-18d. A particular discovery rule may
`require one or more data elements retrieved from one or
`more discovery agents 14a-14d. As discussed below, a
`discovery rule may compare the collected data to a prede(cid:173)
`termined value or threshold value, or may compare one
`collected data value to another collected value. A particular
`discovery rule may contain Boolean expressions, math(cid:173)
`ematical equations or other data operation or data com pari-
`50 son. The result of a particular discovery rule may store the
`received data, invoke another discovery rule, or combine the
`received data with previously stored data (e.g., performing
`data averaging). An exemplary discovery rule is provided
`below:
`IF
`Star age Me diaCo nfig. S tor ageMediaLis t[i]
`.AvailableSpace<50 MB AND
`NOT S torageMediaConfig.StorageMediaList[ i]
`.IsRemovable
`THEN
`increment profile. s ys tern. devices. fixed me(cid:173)
`dia.lowerWaterMarkCount
`Additionally, the result of a particular discovery rule may
`trigger one or more activities or events. For example, a
`65 particular discovery rule may generate a warning to the user
`of client 10 if the available disk space or available memory
`falls below a particular threshold. In this situation, the
`
`Petitioners Old Republic Gen'l Insur. Group., et al.
`Ex. 1001, p. 9
`
`
`
`US 6,519,581 B1
`
`5
`
`5
`discovery rule will receive collected data regarding the
`available disk space and the available memory in client 10.
`That data is initially collected by discovery engine 16 from
`one or more discovery agents 14a-14d. The discovery rule
`then compares the collected data to its predetermined thresh-
`olds. If the available disk space or the available memory
`falls below the predetermined threshold, then a warning is
`generated and displayed or otherwise provided to the user of
`client 10. If the available disk space and the available
`memory are above the predetermined threshold, then the rule 10
`may complete execution without causing the occurrence of
`any particular activity or operation.
`Client 10 also includes a storage mechanism 20 coupled
`to discovery engine 16. Storage mechanism 20 can be used
`to store various tables and other configuration information 15
`used by discovery engine 16 during its regular operation.
`Additionally, storage mechanism 20 may store data gener(cid:173)
`ated during execution of one or more discovery rules.
`Client 10 is coupled to server 12 using a communication
`link 22. Communication link 22 can be any type of com- 20
`munication link using any type of communication medium.
`In a particular embodiment of the invention, client 10 and
`server 12 are coupled to one another across a network, such
`a local area network (LAN), a wide area network (WAN), or
`the Internet. Server 12 includes one or more discovery 25
`agents 24, one or more discovery rules 26, and a storage
`mechanism 28. Although server 12 contains discovery
`agents 24 and discovery rules 26, the server does not
`necessarily activate the discovery agents or execute the
`discovery rules. Instead, the server stores various discovery 30
`agents 24 and discovery rules 26 for transmission to one or
`more clients, which are then activated or executed by the
`discovery engine contained in the client.
`Storage device 28 in server 12 can be used to store various
`information regarding the clients coupled to the server and 35
`the various discovery rules and discovery agents already
`installed on each client. In a particular embodiment of the
`invention, storage device 28 also maintains the particular
`version of each discovery agent and discovery rule installed
`on each client. A typical server 12 is coupled to multiple 40
`clients 10. Although multiple clients 10 may be coupled to
`server 12, only particular clients may contain discovery
`agents, discovery rules and a discovery engine for coordi(cid:173)
`nating the collection of data. Any number of clients 10
`coupled to server 12 may be capable of implementing the 45
`information collection system of the present invention. A
`particular client 10 may be coupled to multiple servers 12
`and may receive discovery agents and discovery rules from
`multiple servers.
`FIG. 1 illustrates a particular embodiment of a client 50
`capable of implementing an information collection system
`as described herein. Similarly, server 12 is one embodiment
`of a server capable of distributing discovery agents and
`discovery rules to one or more clients. Particular compo(cid:173)
`nents of client 10 and server 12 are not shown in FIG. 1, for 55
`purposes of simplifying the illustration. For example,
`processors, memory devices, printing devices, and other
`components and devices commonly used in computer
`devices are not shown in FIG. 1. However, those of ordinary
`skill in the art will appreciate that these additional campo- 60
`nents can be added to client 10 or server 12 without affecting
`the operation of the invention.
`FIG. 2 illustrates an embodiment of a discovery engine 16
`that receives data collected by one or more discovery agents
`and applies the collected data to one or more discovery rules. 65
`Discovery engine 16 includes a table of discovery agents 40,
`which contains information about the various discovery
`
`6
`agents contained in the client. Table 40 includes, for
`example, the name (or other unique identifier) of the dis(cid:173)
`covery agent, the data collected by the discovery agent when
`the agent is activated, and the typical time interval between
`activations of the discovery agent. An exemplary table of
`discovery agents 40 is illustrated in FIG. 3, and discussed
`below.
`Discovery engine 16 also includes a table of discovery
`rules 42. Table 42 contains the name (or other unique
`identifier) of each discovery rule contained in the client, and
`information regarding the data required to execute each
`discovery rule. As discussed above, a particular discovery
`rule may require one or more data elements, which are
`collected by one or more discovery agents. An exemplary
`table of discovery rules 42 is illustrated in FIG. 4, and
`discussed below.
`Discovery engine 16 also includes a scheduler module 44.
`Particular discovery agents may require activation and peri(cid:173)
`odic time intervals (e.g., activated once every two seconds
`or once every minute). Scheduler module 44 maintains the
`information regarding the periodic activation of the discov(cid:173)
`ery agents contained in the client. The scheduler module
`may maintain its own table or register of information
`regarding the next activation of each discovery agent, or that
`information may be stored in the table of discovery agents
`40. When a particular discovery agent is scheduled to be
`activated, scheduler module 44 causes a discovery agent
`activation module 46 to perform the steps necessary to
`activate the discovery agent. Additionally, discovery agent
`activation module 46 may receive requests to activate a
`particular discovery agent from an external source (such as
`an activity or an event) other than the expiration of a time
`interval. These external activities or events may be received
`from another device coupled to a common network.
`Additionally, the external activities or events can be gener(cid:173)
`ated by the local system (i.e., the device implementing the
`information collection system). Module 46 is able to deter(cid:173)
`mine whether or not a particular discovery agent should be
`activated when an activation signal is received from sched(cid:173)
`uler module 44 or another event.
`In certain situations, the scheduler module 44 or other
`event may indicate that a discovery agent should be acti(cid:173)
`vated. However, discovery agent activation module 46 may
`override the activation request based on other factors. For
`example, the data collected by a particular discovery agent
`may not be required by any currently active discovery rule.
`In this situation, although a discovery agent may be sched(cid:173)
`uled to be activated, any data collected by the discovery
`agent would not be used. Therefore, the activation of the
`discovery agent is unnecessary, and module 46 prevents the
`activation of the discovery agent.
`Discovery engine 16 also includes a discovery ru