Inspector for computed relevance messaging
First Claim
1. An inspector 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 comprising:
- an inspector library containing executable code which is invoked as part of a continual relevance evaluation process;
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;
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 properties which can be learned are an arbitrary combination of elementary properties that are determined according to basic calculations 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;
wherein said inspector library contains executable code which is invoked by said inspector dispatcher as part of said relevance determination process; and
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.
5 Assignments
0 Petitions
Accused Products
Abstract
The invention disclosed herein enables a collection of computers and associated communications infrastructure to offer a new communications process which allows information providers to broadcast information to a population of information consumers. The information may be targeted to those consumers who have a precisely formulated need for the information. This targeting may be based on information which is inaccessible to other communications protocols. The targeting also includes a time element. Information can be brought to the attention of the consumer precisely when it has become applicable, which may occur immediately upon receipt of the message, but may also occur long after the message arrives. The communications process may operate without intruding on consumers who do not exhibit the precisely-specified need for the information, and it may operate without compromising the security or privacy of the consumers who participate.
241 Citations
31 Claims
-
1. An inspector 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 comprising:
-
an inspector library containing executable code which is invoked as part of a continual relevance evaluation process;
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;
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 properties which can be learned are an arbitrary combination of elementary properties that are determined according to basic calculations 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;
wherein said inspector library contains executable code which is invoked by said inspector dispatcher as part of said relevance determination process; and
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26)
a user profile inspector for enabling a relevance language to refer to data stored in a user profile.
-
-
3. The inspector of claim 2, wherein said user profile comprises a dynamically expanding database, with new variables added as advice providers need them.
-
4. The inspector of claim 3, 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.
-
-
5. The inspector of claim 1, wherein said inspector comprises:
an advice system inspector for enabling a relevance language to refer to data stored and managed by said inspector dispatcher.
-
6. The inspector of claim 5, wherein said inspector inspects any of:
-
a subscription database;
an advice database;
inspector dispatchers log files; and
an inspector dispatchers configuration.
-
-
7. The inspector of claim 1, 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.
-
8. The inspector of claim 7, 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.
-
-
9. The inspector of claim 1, wherein said inspector comprises:
a remote inspector for inspecting properties of other communicating devices.
-
10. The inspector of claim 9, wherein said remote inspector inspects any of:
-
remote physical measurements;
remote device queries;
remote computation;
remote database queries; and
remote relevance invocation.
-
-
11. The apparatus of claim 1, further comprising:
one or more caches for avoiding heavy CPU and disk access overhead while successfully performing said continual relevance evaluation.
-
12. The apparatus of claim 1, 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 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.
-
14. The inspector of claim 1, wherein said inspector library is implemented in an object oriented language.
-
15. The inspector of claim 1, 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.
-
16. The inspector of claim 1, wherein inspector libraries are created by advice providers and downloaded to a client computer as part of a site synchronization.
-
17. The inspector of claim 1, 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.
- and
-
18. The inspector of claim 1, 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.
-
-
19. The inspector of claim 1, 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.
-
20. The inspector of claim 1, 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.
-
21. The inspector of claim 1, wherein said inspector comprises:
a registry inspector for enabling a relevance language to refer to and evaluate properties of a registry database.
-
22. The inspector of claim 1, 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.
-
23. The inspector of claim 1, wherein said inspector comprises:
a database inspector for enabling a relevance language to access fields in a database.
-
24. The inspector of claim 1, 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.
-
26. 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.
-
25. 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:
-
inspector dispatcher providing at least one inspector which includes an inspector library and associated methods 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; and
evaluating subexpressions with said at least one inspector;
providing an inspector dispatcher associated with an advice client computer for continually performing relevance determination 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 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;
wherein said relevance determination is driven by a database of relevance clauses which can be continually evaluated;
wherein said inspector library contains executable code which is invoked by said inspector dispatcher as part of said relevance determination process;
wherein said at least one inspector is built into said inspector dispatcher;
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; and
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 lits; and
systematically carrying out a sequence of method dispatches in an apropriate order. - View Dependent Claims (27, 28, 29)
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.
-
-
28. The method of claim 25, wherein relevance evaluation is driven in a master-slave relationship by a master machine which tells a slave machine to evaluate a relevance clause.
-
29. The method of claim 25, wherein properties which can be learned are an arbitrary combination of elementary properties that are determined according to basic calculations.
-
30. 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, comprising:
-
an inspector library and associated methods for evaluating subexpressions with said at least one inspector; and
one or more caches for avoiding heavy CPU and disk access overhead while successfully performing said continual relevance evaluation;
wherein said inspector library contains executable code which 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. - View Dependent Claims (31)
-
Specification