Claims
- 1. A method for inspecting any of the properties of a computer, said computer's configuration, contents of said computer's storage devices, said computer's peripherals, said computer's environment, or remote affiliated computers, comprising the steps of:
providing at least one inspector library which includes at least one library and associated methods; evaluating subexpressions with said at least one inspector; and said inspector performing any of mathematico-logical calculations, executing computational algorithms, returning results of system calls, accesseing contents of storage devices, and querying devices or remote computers to inspect any of said properties of said computer, said computer's configuration, contents of said computer's storage devices, said computer's peripherals, said computer's environment, or remote affiliated computers.
- 2. The method of claim 1, further comprising the step of:
providing an inspector dispatcher associated with an advice client computer for continually performing relevance determination; wherein said relevance determination is driven by a database of relevance clauses which can be continually evaluated.
- 3. The method of claim 1, further comprising the steps of:
sending certain relevance clauses to a remote location; evaluating said clauses; and returning said clauses after a user is made aware of what is being transferred; wherein properties of said remote location are learned.
- 4. The method of claim 1, wherein relevance evaluation is driven in a master-slave relationship by a master machine which tells a slave machine to evaluate a relevance clause.
- 5. The method of claim 1, wherein properties which can be learned are an arbitrary combination of elementary properties that are determined according to basic calculations.
- 6. The method of claim 1, wherein said at least one inspector is built into
said inspector dispatcher.
- 7. The method of claim 1, further comprising the step of:
providing one or more caches for avoiding heavy CPU and disk access overhead while successfully performing said continual relevance evaluation.
- 8. The method of claim 2, wherein an object, property name, and/or string selector is dispatched to said inspector dispatcher for relevance evaluation using a method dispatch module in accordance with dispatch information contained within a method dispatch table.
- 9. The method of claim 8, wherein said method dispatch module performs the steps of:
parsing a clause in a relevance language; generating a list of method dispatches in response to said parsing step, wherein specific methods are called in a specific order with specific argument lists; and systematically carrying out a sequence of method dispatches in an appropriate order.
- 10. An inspector library for inspecting any of the properties of a computer, said computer's configuration, contents of said computer's storage devices, said computer's peripherals, said computer's environment, or remote affiliated computers, said inspector library comprising:
at least one inspector which is invoked as part of a continual relevance evaluation process; and one or more inspector methods for performing any of mathematico-logical calculations, executing computational algorithms, returning the results of system calls, accessing the contents of storage devices, and querying devices or remote computers to inspect any of the properties of a computer, said computer's configuration, contents of said computer's storage devices, said computer's peripherals, said computer's environment, or remote affiliated computers.
- 11. The apparatus of claim 10, further comprising:
an inspector dispatcher associated with an advice client computer for continually performing relevance determination, wherein said relevance determination is driven by a database of relevance clauses which can be continually evaluated; wherein said inspector library is invoked by said inspector dispatcher as part of said relevance determination process.
- 12. The apparatus of claim 10, wherein certain relevance clauses are sent to a remote location, evaluated, and returned, after a user is made aware of what is being transferred, wherein properties of the remote location can be learned.
- 13. The apparatus of claim 10, wherein relevance evaluation is driven in a master-slave relationship by a master machine which tells a slave machine to evaluate a relevance clause.
- 14. The apparatus of claim 10, wherein properties which can be learned are an arbitrary combination of elementary properties that are determined according to basic calculations.
- 15. The apparatus of claim 10, further comprising:
one or more caches for avoiding heavy CPU and disk access overhead while successfully performing said continual relevance evaluation.
- 16. The apparatus of claim 15, said inspector library further comprising any of:
a declaration of a [Phrase] to be used in a relevance language; an association of said [Phrase] to a specific method; a declaration of a new data type to be used in an evaluation process; a declaration of a calling prototype of said specific method, including a number and required data types of arguments to be supplied to said specific method; a declaration of a result data type of said specific method; an implementation of said specific method in executable form; a declaration of special hooks associating code to be called on events, said events including any of inspector dispatcher initialization, inspector dispatcher termination, beginning of inspector dispatcher main evaluation loop, and ending of inspector dispatcher main evaluation loop; a declaration of special hooks associated with creation and maintenance of special caches associated with said specific method; and an implementation of special event methods and cache methods in executable form.
- 17. The apparatus of claim 10, further comprising:
a module for linking said inspector library into said inspector dispatcher with all declarations evaluated, resulting in changes to said inspector dispatcher's internal data structures, wherein new method invocations become available to said inspector dispatcher.
- 18. The apparatus of claim 17, further comprising:
a syntax table for providing said resulting changes to all allowed phrases and associated data types on which they operate; and a dispatch table for systematically determining an associated executable method for given phrase and data types.
- 19. The apparatus of claim 10, wherein said inspector library is implemented in an object oriented language.
- 20. The apparatus of claim 10, wherein a plurality of inspector libraries are installed in an instance of said inspector dispatcher to define a set of recognized Phrases in a relevance language, a set of allowable data types at evaluation time, and a set of methods associated with those data types.
- 21. The apparatus of claim 10, wherein inspector libraries are created by advice providers and downloaded to a client computer as part of a site synchronization.
- 22. The apparatus of claim 10, wherein said inspector libraries are linked into said inspector dispatcher at the time said inspector dispatcher is initialized; and
wherein declaration routines are invoked, new Phrases are installed in a lexical analysis table of a relevance language, and said new Phrases are associated to certain method invocations when said linking occurs.
- 23. The apparatus of claim 10, further comprising any of:
a base layer comprising a mechanism for elementary operations including any of arithmetic and logic, which are system-independent; a system-specific layer associated with a specific operating system; one or more vendor-specific layers for providing access to specific hardware devices and software products; and additional layers as appropriate, based on other advice providers.
- 24. The apparatus of claim 10, wherein said inspector inspects any of a version property of an application and properties of files including any of checksum, length, date, and date modified; and wherein said inspector verifies existence and configuration of any of files, directories, and file systems under a specific operating system.
- 25. The apparatus of claim 10, wherein said inspector comprises:
a system specific inspector for accessing properties of an operating system and allowing advice to be written to verify the existence and configuration of attached devices and other subsystems.
- 26. The apparatus of claim 10, wherein said inspector comprises:
a registry inspector for enabling a relevance language to refer to and evaluate properties of a registry database.
- 27. The apparatus of claim 10, wherein said inspector comprises:
a preferences inspector for enabling a relevance language to refer to and evaluate properties of a preferences file of a specific application.
- 28. The apparatus of claim 10, wherein said inspector comprises:
a database inspector for enabling a relevance language to access fields in a database.
- 29. The apparatus of claim 10, wherein said inspector comprises:
a user profile inspector for enabling a relevance language to refer to data stored in a user profile.
- 30. The apparatus of claim 29, wherein said user profile comprises a dynamically expanding database, such that an advice provider, following a recognized procedure, may add new variables to the database and prompt the user for the values of those variables.
- 31. The apparatus of claim 30, further comprising:
a template file for describing a collection of variables to which an advice provider plans to refer in advisories; wherein said template file is placed at an advice site and is automatically gathered at a synchronization time; wherein said template file is used to drive an editing module on a client computer which presents a user with a list of template variable names and a list of their current values or blanks if they have not previously been defined; and wherein said user can fill in said blank fields and edit other fields.
- 32. The apparatus of claim 10, wherein said inspector comprises:
a remote inspector for inspecting properties of other communicating devices.
- 33. The apparatus of claim 32, wherein said remote inspector inspects any of:
remote physical measurements; remote device queries; remote computation; remote database queries; and remote relevance invocation.
- 34. The apparatus of claim 10, wherein said inspector comprises:
a program log inspector for enabling a relevance language to refer to data stored in a specific log file or files associated with any specific application, wherein said specific log file may comprise any of a web browser log, a telecommunications log, a fax log, or a clickstream log.
- 35. The apparatus of claim 10, wherein said inspector comprises:
an advice system inspector for enabling a relevance language to refer to data stored and managed by said inspector dispatcher.
- 36. The apparatus of claim 35, wherein said inspector inspects any of:
a subscription database; an advice database; inspector dispatchers log files; and an inspector dispatchers configuration.
- 37. In a system including computational devices connected by a communications network, said system comprising a communications apparatus for linking an information provider to information consumer, said communications apparatus comprising specific units of advice to be shared, digital documents conveying said advice, an advice provider for broadcasting said advice in the form of advisories, an advice consumer for receiving said advisories, wherein advisories are broadcast over said communications network from said advice provider to said advice consumer, a communications protocol for narrowly-focused targeting of said advisories to said advice consumer by automatically matching advisories with an advice consumer for whom said advisories are relevant, and an inspector dispatcher associated with an advice client computer for continually performing relevance determination, wherein said relevance determination is driven by a database of relevance clauses which can be continually evaluated, at least one inspector library, comprising:
at least one inspector; and associated methods for evaluating subexpressions with said at least one inspector; wherein said inspector library is invoked by said inspector dispatcher as part of said relevance determination process; and wherein said inspector performs any of mathematico-logical calculations, executes computational algorithms, returns the results of system calls, accesses the contents of storage devices, and queries devices or remote computers.
- 38. The apparatus of claim 37, further comprising:
one or more caches for avoiding heavy CPU and disk access overhead while successfully performing said continual relevance evaluation.
- 39. The apparatus of claim 37, wherein relevance is determined by looking at a database on a server and not by immediate calculation, where said database arose by inspection once or periodically according to an inspector library.
- 40. A method for inspecting at a remote location any of the properties of a computer, said computer's configuration, contents of said computer's storage devices, said computer's peripherals, said computer's environment, or remote affiliated computers, comprising the steps of:
sending one or more relevance clauses to said remote location; providing at least one inspector library at said remote location which includes at least one inspector and associated methods; evaluating said one or more relevance clauses with said at least one inspector; and returning evaluation results after a user is made of what is being transferred.
- 41. In a system comprising a master computer, a method for inspecting any of the properties of a slave computer, said slave computer's configuration, contents of said slave computer's storage devices, said slave computer's peripherals, said slave computer's environment, or remote affiliated computers, comprising the steps of:
providing at least one inspector library which includes at least one inspector and associated methods; evaluating one or more relevance clauses with said at least one inspector; wherein said relevance clauses evaluation proceeds in connection with said slave computer as controlled by said master computer.
Parent Case Info
[0001] This application is a continuation of U.S. Ser. No. 09/447,196, filed Nov. 22, 1999.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60098798 |
Sep 1998 |
US |
Continuations (1)
|
Number |
Date |
Country |
Parent |
09447196 |
Nov 1999 |
US |
Child |
09997790 |
Nov 2001 |
US |