WO2000013121A1 - Method and apparatus for computed relevance messaging - Google Patents
Method and apparatus for computed relevance messaging Download PDFInfo
- Publication number
- WO2000013121A1 WO2000013121A1 PCT/US1999/019751 US9919751W WO0013121A1 WO 2000013121 A1 WO2000013121 A1 WO 2000013121A1 US 9919751 W US9919751 W US 9919751W WO 0013121 A1 WO0013121 A1 WO 0013121A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- advice
- inspector
- relevance
- consumer
- advisories
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1859—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast adapted to provide push services, e.g. data channels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/53—Network services using third party service providers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/564—Enhancement of application control based on intercepted application data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Definitions
- the invention relates to a new process of communication using computers and associated communications infrastructure. More particularly, the invention relates to a method and apparatus for computed relevance messaging.
- the aim of a communications process is to relay information between pairs of actors who, for purposes of the discussion herein, consist of an information provider and an information consumer. The following briefly discusses the concerns of each party.
- the information provider knows of pieces of information and of corresponding situations in which certain consumers would find those pieces of information interesting, useful, or valuable. For example, such pieces of information may concern problems consumers who have particular attributes might be interested in solving or that concern opportunities of interest to consumers having such particular attributes.
- the provider wishes to distribute the information to those consumers in those specific situations.
- an information provider might know of thousands or millions of conditions about which it can offer information. The audience for such conditions might involve thousands or millions of consumers.
- a particularly interesting situation is where a typical piece of information should be directed only to consumers having a very special combination of circumstances.
- a typical piece of information would in principle be of interest to only a small fraction of the consumer base, but where this small fraction nevertheless amounts to large number of consumers.
- the consumer is an individual or organization that knows of information providers who have information of potential benefit to them.
- the consumer may in fact know of tens or hundreds of such providers.
- the consumer does not want to review all the information available from the information provider. He would prefer to see the subset consisting of information, which is relevant to the consumer.
- the information which the provider is offering changes with time and the conditions experienced by the consumer are changing with time.
- the consumer would prefer not to have to track changes continually in his own status and the status of the information provider's offerings. He would also prefer not to have to remember that pieces of information published some time before could have suddenly become applicable.
- the consumer would prefer that a procedure be available for automatically detecting the existence of applicable information as it became applicable, either because the consumer's situation had changed, because the information provider's offerings had changed, or because the conditions for applicability of the information involved time considerations which had become applicable.
- the consumer would prefer not to reveal to the provider information about his identity or the details of his interests, preferences, and possessions. Rather, the consumer would prefer to receive information in a form where he may carefully study it before using it.
- the consumer would also prefer to have a method to inform himself about known problems with an information provider or with a certain piece of information before using the information.
- the consumer would prefer that if the decision to use a piece of information is made, the application of the information is painless and essentially automatic.
- the consumer would prefer to be insulated from the prospect of damage caused by incorrect information.
- the invention disclosed herein enables a collection of computers and associated communications infrastructure to offer a new communications process.
- This process 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, for example because under other protocols the targeting requires each potential recipient to reveal sensitive information, or because under other protocols the targeting requires each potential recipient to reveal information obtainable only after extensive calculations using data available only upon intimate knowledge of the consumer computer, its contents, and local environment.
- 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. Again, this is a feature inaccessible under other communication protocols, where the time of distribution of information and the time of consumer notification are closely linked.
- 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.
- the information provider does not learn the identity or attributes of the individuals who receive this information.
- the disclosed invention allows a provider to reach precisely those specific computers in a large consumer population which exhibit a specific combination of hardware, software, system settings, data, and local environment, and to offer the users of those computers appropriate remedies to correct problems known to affect computers in such situations.
- the presently preferred embodiment of the invention is specially tuned to address the concerns of consumers and providers in a technical support application. Many other interesting applications areas and embodiments of the invention are also described herein.
- advice providers referred to herein as advice providers, author advisories, which are specially structured digital documents which may contain:
- the relevance language describes precise conditions under which a given advisory may be relevant to a consumer, by referring to properties of the environment of the consumer computer interpreting the message, such as system configuration, file system contents, attached peripherals, or remotely accessible data.
- the humanly-interpretable content in an advisory may describe the condition that triggered the relevance determination and propose an action in response to the condition, which could range from installing software to changing system settings to purchasing information or software.
- the computer- interpretable content may include software which performs a certain computation or effects a certain change in the system environment.
- Advisories are communicated by a process of publication/subscription over a wide-area network such as the Internet. Advisories are placed by their authors at well-known locations, referred to herein as advice sites. Applications referred to as advice readers running on the computers of advice consumers periodically obtain advisories from advice servers which operate at advice sites.
- Advice readers process the messages so obtained and automatically interpret the relevance clauses. They determine whether a given message is relevant in the environment defined by the consumer's computer and associated devices. The user is then notified of those messages which are relevant, and the user may read the relevant advisories and invoke the recommended actions.
- Relevance evaluation is conducted by parsing relevance language clauses into constituent method dispatches. These clauses invoke specific inspectors which can return specific properties of the computer, its configuration, its file system, or other component of interest.
- the list of properties of the environment which may be referred to in the relevance language and verified by the advice reader is determined by the contents of the inspector library installed at run-time.
- inspector libraries provide the advice provider with a rich vocabulary for describing the state of the consumer computer and its environment.
- collection of inspector libraries can be dynamically expanded by advice providers.
- Advice readers operate continually in an automatic mode, gathering advice from many advice providers distributed across public networks such as the Internet, and diagnosing relevance as it occurs. Advice readers following an advice gathering protocol, referred to herein as Anonymous Exhaustive Update Protocol, may operate in a manner which fully respects the privacy of the computer's owner, information resulting from the relevance determination, i.e. information obtained from the consumer computer, does not leak out to the server. Information on the consumer computer stays on the consumer computer unless the consumer approves its distribution.
- Fig. 1 is a block diagram showing the process of matching advisories to consumers according to the invention
- Fig. 2 is a block diagram showing an advisor viewpoint according to the invention.
- Fig. 3 is a block diagram showing a consumer viewpoint according to the invention.
- Fig. 4 is a flow diagram showing a technical support application according to the invention
- Fig. 5 is a block diagram showing an advice site according to the invention
- Fig. 6 is a block diagram showing an advice reader according to the invention.
- Fig. 7 is a block diagram showing consumer response to relevance notification according to the invention.
- Fig. 8 is a data structure showing an advisory according to the invention.
- Fig. 9 is a block diagram showing the process of relevance evaluation according to the invention.
- Fig. 10 is a flow diagram showing expression tree generation according to the invention.
- Fig. 11 is a block diagram showing named property method dispatch according to the invention.
- Fig. 12 is a flow diagram showing an object evaluation model according to the invention.
- Fig. 13 is a flow diagram showing an object hierarchy according to the invention.
- Fig. 14 is a flow diagram showing a new component of an object hierarchy according to the invention.
- Fig. 15 is a data structure showing the contents of an inspector library according to the invention.
- Fig. 16 is a block diagram showing situational advice according to the invention
- Fig. 17 is a block diagram showing simulated conditions according to the invention
- Fig. 18 is a block diagram showing a commodity market according to the invention.
- Fig. 19 is a flow diagram showing a relevance-adapted document according to the invention.
- Fig. 20 is a flow diagram showing questionnaire processing according to the invention.
- Fig. 21 is a flow diagram showing a mandatory feedback variant according to the invention.
- Fig. 22 is a flow diagram showing a consumer feedback variant according to the invention.
- Fig. 23 is a flow diagram showing masked bi-directional communication by an anonymous server according to the invention.
- Fig. 24 is a flow diagram showing a further mandatory advice variant according to the invention.
- Fig. 25 is a block diagram showing remove relevance invocation according to the invention. DETAILED DESCRIPTION OF THE INVENTION
- the invention implements a process of communication which systematically solves the problem of linking an information provider to information consumer.
- the invention provides a system which depends on the use of computational devices connected by communications networks. In actual practice, these devices could range from traditional large-scale computers to personal computers to handheld personal information managers to embedded computational devices in the ambient environment, including consumer appliances such as remote controls and smart TVs, or other common computationally-dense environments, such as transportation vehicles.
- the communications mechanisms could include a modem or other wired media, or wireless communications, using the Internet or other protocols, and could include the physical distribution of media.
- the computational device shall be referred to as a computer and the communications infrastructure shall be referred to as a network. Typical examples of such infrastructure include intranets (private computer networks), and the Internet, the large public computer network that hosts the World Wide Web and related services.
- the invention architecture is best understood if a specific terminology is adopted, which evokes a focused instance of the above described communications problem.
- the specific units of information to be shared henceforth are referred to as pieces of advice (see Fig. 1 ).
- the special digital documents conveying advice are referred to as advisories.
- An advice provider 10 is an organization or individual which offers information in the form of advisories 12a-12d.
- the provider is represented by a server computer in a communicating network of computers.
- An advice consumer 14a-14c is an organization or individual which receives information in the form of advisories.
- the consumer is represented by a computer referred to as the consumer computer in a communicating network of computers.
- the advice provider is in fact a large organization running a large-scale server computer; that the advice consumer is in fact an individual represented by a single personal computer, smart TV, personal information manager, or other personal computational device; and to suppose that the network of computers may communicate according to a protocol similar to the TCP/IP protocol now in use by the Internet.
- the network of computers may communicate according to a protocol similar to the TCP/IP protocol now in use by the Internet.
- an advice provider may constitute an individual represented by a personal computer
- an advice consumer may be a corporation represented by a large-scale computing engine
- the communications process underlying the invention may be realized with other protocols operating over other physical means of communication.
- the invention allows one to relay advisories from advice providers to advice consumers.
- the communications protocol allows narrowly-focused targeting by automatically matching advisories with consumers for whom those advisories are relevant.
- Relevance determination is carried out by an applications program, referred to as the advice reader 20 which runs on the consumer computer and may automatically evaluate relevance based on a potentially complex combination of conditions, including:
- Hardware attributes These are, for example, the type of computer on which the evaluation is performed, the type of hardware configuration 21 , the capacity and uses of the hardware, the type of peripherals attached, and the attributes of peripherals.
- Configuration attributes These are, for example, values of settings for variables defined in the system configuration 22, the types of software applications installed, the version numbers and other attributes of the software, and other details of the software installation 27.
- Database attributes are, for example, attributes of files 23 and databases on the computer where evaluation is performed, which may include existence, name, size, date of creation and modification, version, and contents.
- Environmental attributes are, for example, attributes which can be determined after querying attached peripherals to learn the state of the environment in which the computer is located. Attributes may include results of thermal, acoustic, optical, geographic positioning, and other measuring devices.
- Computed attributes are, for example, attributes which can be determined after appropriate computations based on knowledge of hardware, configuration, and database and environmental attributes, by applying specific mathematico-logical formulas, or specific computational algorithms.
- Remote attributes 24 These are, for example, hardware, configuration, database, environmental, and computed attributes that are available by communicating with other computers having an affinity for the consumer or his computer.
- Timeliness 25 These are, for example, attributes based on the current time, or a time which has elapsed since a key event, such as relevance evaluation or advice gathering.
- Personal attributes are, for example, attributes about the human user(s) of the computer which can either be inferred by analysis of the hardware, the system configuration, the database attributes, the environmental attributes, the remote attributes, or else can be obtained by soliciting the information directly from the user(s) or their agents.
- Randomization 26 are, for example, attributes resulting from the application of random and pseudo-random number generators.
- Advice Attributes 27 are, for example, attributes describing the configuration of the invention and the existence of certain advisories or types of advisories in the pool of advice.
- the advice reader 30 may operate automatically to determine relevance. It may present to the consumer a display of relevant advisories 32 only from several advice sites 33a-33c, so that the consumer is not burdened with the task of reading irrelevant advisories. In this way advisories may provide an automatic diagnosis 34 to any problem which a relevance clause may describe.
- Advisories are digital documents which may contain an explanatory component, describing in terms the consumer can easily understand the reason that the advisory is relevant and the purpose and effects of the action which is being recommended to the consumer. These digital documents may also contain, as another component, executable computer programs, or links to executable computer programs. In this way advisories may provide an automatic solution to any problem which the relevance message may have diagnosed, and which may be activated at the consumer's discretion.
- the invention posits a situation where proactive advice providers identify situations of interest to consumers and provide advice about dealing with such situations.
- the advice provider offers a computer-related product or service, such as hardware, software, Internet service, or data processing service.
- the advice provider has a potentially large, potentially widely distributed customer base 40.
- the advice provider knows of problematic situations 41 which may affect certain computers belonging to the customers.
- the advice provider identifies these problematic situations 43, which may include the use of out-of-date versions of software, improper system settings, conflicting combinations of software applications, inadequate physical resources, corrupted files, other similar phenomena.
- the advice provider may know, for each problematic situation, a precise combination of hardware, system configuration, database configuration, timeliness, and other attributes which may signal the situation.
- the advice provider may know a precise solution 44 to each problematic situation, which may include:
- the advice provider authors an advisory 45, which is then preferably tested 46, and made available to relevant users at an advice site 47. In this way, the advice provider can use invention to reach the consumer population efficiently.
- the provider packages the information about the specific situation as a formal advisory concerning the situation. This digital document may include:
- the advice provider publishes the advisory 40 over the Internet or an Intranet, through an advice server running at the provider's advice site.
- the advice site may comprise a directory of advice files 51 a-51 b and inspector files 52a-52b (discussed below).
- These advisories may be communicated to the outside world 54 via such media as a directory message server 55, an HTTP server 56, and FTP server 57, or a file server 58.
- the advice consumer is a user of the products and services of the advice provider who knows of the advice provider's advice site and generally trusts the provider's organization and the advice that it authors.
- the advice consumer has available on his computer the advice reader application.
- the advice consumer instructs his advice reader to subscribe to the advice site offered by the advice provider.
- the advice reader 20 gathers advisories to which the user subscribes. Subscription to advisories are entered with a subscription manager 67 based, at least in part, on information in various user site definition files 68. Advisories are gathered from the advice provider's advice sites 33a-33b using a gatherer 60. The reader then parses the advisories using an unwrapper 61 and adds these advisories to any already existing body of advisories. Advisories may be provided to the reader via any of several sources, including alternate input streams 62. The advice reader determines the relevance of any of the existing or new advisories with a relevance evaluation module 63. This determination is made either continuously, at scheduled intervals, or under user manual control.
- the advice reader includes a user interface 65 that receives relevant advisories and a display and management system 66 that displays relevant advisories for inspection by the consumer the relevant advisories.
- a verification module 64 discussed in greater detail below.
- the advice consumer reviews such relevant advisories 100 (see Fig. 7), and acts on the advisories 110, for example by ignoring the advisory 11 1. Otherwise, the user potentially deliberates, which deliberation may include informing himself further about the advisory or its author 112, informing others of the advisory 113, or taking some other offline action 114 and then, depending on the outcome of the deliberation, he approves or denies approval. If the consumer gives approval, an automatic solution may result, which may involve a variety of activities, including software downloading 72, installation, and execution 71 , an automatic electronic response 73, or the purchase or order of a digital object 70.
- This particular application area shows how invention can be used to diagnose and fix problems on a computer automatically.
- the invention is fully responsive to the concerns discussed above.
- the invention In common with other computer-mediated communications systems, such as the world-wide web, the invention is able to reach a large number of consumers and convey to them a large body of informational messages, at low cost.
- the invention enables information to flow precisely to the appropriate consumers.
- the provider can guarantee this by carefully specifying the conditions under which a piece of advice is relevant.
- Information targeting in the invention is precisely focused on the attributes of the consumer because it has access to intimate knowledge of the inner details of the consumer computers state, without necessarily disclosing this knowledge to the provider. This degree of targeting is not possible under other protocols because other protocols require disclosure of this information to the provider to determine if a piece of information is relevant.
- the invention satisfies the main consumer concerns mentioned earlier.
- the invention is an automated messaging system which operates successfully with infrequent consumer involvement.
- the advice reader can periodically gather new advice from advice sites that it subscribes to. This process may be fully automatic (manual intervention is also available).
- the databases of advice resident on the consumer computer may be continually evaluated for relevance by automated unattended operation of the advice reader.
- a piece of advice may enter the consumer computer and remain resident for an extended period of time before becoming relevant, information is displayed when it has become applicable, not before it does.
- the advice reader does not automatically apply a recommended solution operator. Rather, the advice reader gives the consumer the chance to study the diagnosis and recommendation, and to evaluate the credibility of the provider, before proceeding.
- the advice reader does not automatically apply a recommended solution operator. Rather, the advice reader gives the consumer the chance to study the diagnosis and recommendation, and to evaluate the credibility of the provider, before proceeding.
- the invention enables advice providers to inform consumers fully about potential risks associated with following a certain recommended course of action.
- the invention allows advice providers to retract their own faulty advice.
- An instance of this is the UrgentAdviceNet mechanism (discussed below) for rapidly distributing advisories to the invention population.
- Automated Solution Typically the advice provider authors an advisory in such a way that the advice reader offers it to the user to apply a recommended solution operator automatically after the user has given approval.
- the invention offers an automated solution to the user's condition under user guidance.
- the invention provides a mechanism to match consumers with highly specific relevant advisories efficiently in a communications structure which is responsive to consumer concerns.
- the disclosed invention offers a comprehensive process for computed-relevance messaging. This is a broad idea, with many possible applications. In certain settings, this type of messaging must be implemented in a fashion which pays special attention to security and privacy concerns, i.e. a one-way membrane 35 (see Fig. 3). For a concrete instance, consider the technical support application (discussed above), where:
- the advice provider is a large business or other concern.
- the invention addresses this problem by proposing a method of interaction between the consumer computer and the Internet which protects the consumer's privacy.
- This mechanism need not be used in other settings.
- the invention has a variety of applications. In such settings, security and privacy are considered guaranteed by physical control of the computer and communications infrastructure involved, and possibly by contracts creating obligations on the participants in the process.
- the invention employs a special protocol for subscription and gathering in the security and privacy critical setting.
- this setting is referred to as the Anonymous Exhaustive Update Protocol (AEUP).
- AEUP Anonymous Exhaustive Update Protocol
- the intention of this interaction protocol is to create a one-way membrane, where information can enter the consumer computer in the form of advisories, but information about the consumer does not leave the consumer computer unless it is the consumer who initiates the transfer.
- the AEUP protocol is described as the default protocol of the invention. The reasons that this protocol offers consumers privacy is discussed below. This document also describes many applications where security and privacy are not critical to acceptance by the consumer. Thus, it is possible to provide a certain degree of security and privacy protection without using this protocol. See below for a discussion of alternative protocols, such as the Anonymous Selective Update Protocol (ASUP).
- ASUP Anonymous Selective Update Protocol
- the invention fully respects consumer security concerns.
- consumers may benefit from narrowly-targeted advice without exposing themselves to security threats from malicious sources.
- the invention enable advice providers to inform consumers fully about potential risks associated with following a certain recommended course of action.
- the invention allows advice providers to retract their own faulty advice. It allows other people to criticize an advice providers faulty advice.
- the advice provides typically authors an advisory in such a way that the advice reader offers to apply a recommended solution operator automatically to the user system after the user has given approval.
- the invention provides a mechanism for efficiently matching consumer with highly specific relevant advisories in a communications structure which is responsive to consumer concerns.
- a Relevance Clause 80 An assertion about the state of a consumer computer, its contents, or environment which can be automatically evaluated by comparing the assertion with the consumer computer's actual state.
- the relevance clause is preceded by a subject line 82 which gives a general description of the advisory's subject matter.
- a Watcher 63 (see Fig. 6). An application that has the ability to evaluate relevance clauses, i.e. assertions about consumer computer's own environment, by comparing them with the actual state of the environment, and by inspecting properties of the consumer computer and its environment and checking if these point towards or away from relevance.
- a key difference of the invention from other targeted information providers is that the invention provides a detailed tool for tapping into very highly defined targets, which other protocols for targeting information cannot match because they do not routinely have access to the state of the consumer's environment.
- the five-part model is run on a computer network in a secure network such as a corporate intranet.
- the five-part model is run on a public computer network such as the Internet.
- Certain concerns that affect the public setting e.g. security and privacy
- the basic five-part model of relevance guarded messaging makes a valuable contribution to connecting providers with consumers.
- this five-part model may have embodiments in which these five parts are not immediately evident.
- Potential implementations which make it clear that there can be many superficially different ways of achieving this basic structure are described below.
- the relevance clause and the associated message may be packaged together in the same file and communicated simultaneously.
- the relevance guarded message can be communicated in two stages, where the first stage sends a relevance clause, and the second part is sent only if the first part leads to a relevant result and if the consumer computer asks the provider for the second part.
- the same useful effect can be obtained using either of these two messaging protocols. Both methods are embodiments of the same invention.
- the presently preferred embodiment of the invention consists of a large collection of different interacting components, carefully designed to meet the goals underlying this system.
- the many subsystems illustrate the potential of the invention in the technical support application. Those skilled in the art will appreciate that there are many other applications to which the invention may be put.
- the site directory may contain a plurality of files, including advisories, digests of advisories, and inspector libraries.
- the software associated with the server may perform the functions of an HTTP server, an FTP server, or a file server, thereby providing access to the files stored in the directory using well-known communications protocols.
- the software associated with the server may also perform the functions of a specialized server, implementing invention-specific communications protocols.
- These protocols may include: • The ability to serve a directory message describing the contents of the site directory, including filenames, sizes, and dates;
- advice site server software The function of advice site server software is to process certain requests made by an advice reader running on a consumer computer.
- the advice reader may request information about the directory of the site, may ask for abstracts of advisories, and may ask for contents of individual advisories.
- the transaction between advice server and advice reader is described further below.
- Advisories in an advice site are digital files. Advisories typically have some of the following components:
- a relevance precondition written in a formal relevance language which is used to describe attributes of a computer and/or its contents and/or its environment. For more information on the relevance language, see below.
- a humanly-intelligible component which may summarize the purpose of the message, may describe the author, may explain the precondition in human language, and may explain the solution in human language.
- MIME Multipurpose Internet Mail Extensions Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies, Internet Standards Track RFC 1521 (1993)).
- This format is currently used for transport of Internet mail; it contains headers documenting the sender of the message and its subject, and mechanisms for including digital signatures.
- a MIME file is easily transported over the Internet and is easily broken into its constituent components using parsing algorithms well- known in the Internet community.
- the advisory file format is described further below (see, also A Guide to Writing Advisories for AdviceNet, Universe Communications, Inc., Berkeley, CA. (1998)).
- Associated with an advice site may be a certain digital signature mechanism, for example one of the standard signature mechanisms using public-key/private-key pairs.
- the signature mechanism may be used to sign advisories in a fashion that allows advice readers to verify that the advisory was in fact authored by the advice provider.
- the site description file is a specially structured ASCII text file authored by the advice provider. It describes the provider's advice site and serves as the basis for a consumer to initiate a subscription. This file specifies the site location (URL), the site name, and site security characteristics, such as whether the site avows only advice which has been digitally signed. It also provides various parameters of the subscription process intended for use by the advice reader (for example, the recommended frequency of synchronization, and the type of subscription relationship (free/fee)). It may contain humanly interpretable text indicating the purpose of the site.
- the SDF may also contain the public key associated with advice authored by the site. This public key is needed to verify signatures on advice authored by the site.
- the SDF may also be signed by a trusted authority, to establish the authenticity of this site description file. For example, it may be signed by advisories.com or the Better Advice Bureau: see below.
- the SDF may also contain a ratings block, provided by a trusted ratings service, to establish trust in the respect for privacy and security and the usefulness of advice at this site. See, for example, below.
- inspector libraries are libraries of special purpose executable code, which may be accessed by advice readers for the purpose of extending the capabilities of the relevance language. In effect, inspector libraries provide a mechanism for advice site specific extensions to the relevance language.
- additional files may be present in the advice site directory.
- data and applications files which do not play a role in the conduct of the invention per se may be included in the advice site directory. These files are distributed as are other files at the advice site.
- This implementation allows the distribution of installers, uninstallers, shell scripts, JAVA, and Visual Basic programs, i.e. in general, packages of data, applications, and other resources, that may play a supporting role in evaluating and following advice issued at the site.
- additional files may play a role as databases searched by the advice provider's own inspector libraries or as applications used in implementing the advice providers recommended solutions.
- the advice reader is an application running on the consumer computer. It is responsible for liaison with the advice site and for managing interactions with the user.
- the advice reader maintains a directory of files on the consumer computer. Inside that directory are contained various files described below which are used/managed in the course of advice reader operation.
- the advice reader has a number of jobs, which are listed below without elaboration:
- the advice reader maintains a database of subscription information which allows for the scheduling and conduct of site synchronization by the gatherer component.
- the subscription database contains information about the address of the advice site; information and recommendations provided by the advice sites site description file, such as recommended frequency of synchronization; information needed to verify digital signatures associated with the advice site; and information associated with the users experience with the advice site.
- the advice reader maintains a database of advice that has been received from various advice sites. These may be indexed according to the site from which they were received according to the systems that the advice concerns, or according to other principles which would be helpful to the consumer or to the author.
- the advice reader may organize advice into pools of advice which share a common basis for treatment. Examples of this principle include a pool of advice specially targeted to the concerns of one user of a multi-user consumer computer, a pool of advice scheduled for manual relevance evaluation only, and a pool of advice scheduled for nightly evaluation at a certain time.
- the advice reader maintains a special file or files containing data which have been obtained from interviews with the user, deduced from his actions, or deduced from the properties of the computer or its environment.
- data may describe the computer or its environment, and may also describe preferences, interests, requirements, capabilities, and possessions and plans of the user, including things unrelated to computer operations.
- the file or files may be encrypted.
- the file or files may be organized by advice site so that they describe interests, preferences, and so forth to be accessed by relevance queries associated with a specific site only.
- inspector libraries contain executable code which may be invoked by the advice reader as part of the relevance evaluation process. Inspectors can examine properties of the consumer computer, storage devices, peripherals, environment, or remote affiliated computers. These are further described below. Solution Wizards
- Solution wizards support the process of automated solution. They are applications which can perform stereotyped functions that are frequently of use for solving problems on computers. These are described further below.
- the initiative to begin an interaction typically comes from the consumer.
- the consumer becomes aware of the existence of an advice provider and associated advice site(s), for example, as part of installing a new hardware or software product on his computer, or as a result of advertising, or sharing experiences with other consumers.
- the consumer after potentially informing himself about the kind of advice being offered at that site and its reliability, makes a decision to subscribe.
- the consumer interacting with a piece of the advice reader called the subscription manager 67 (see Fig. 6), configures the advice reader to subscribe to the given advice site, by supplying it with either the corresponding site description file 68, or with a pointer to such a file, or with a pointer to the site itself which contains an instance of such a file.
- the consumer after studying the terms of interaction recommended in the SDF, configures the parameters associated with the subscription, which control how frequently advice from the site is gathered. Advice Gathering Using AEUP
- the advice reader Periodically, under the terms of the subscription, or manually under user control, the advice reader initiates a site synchronization.
- a component of the advice reader referred to as the gatherer, has the duty to synchronize the consumer site image with the current image of the advice site. These states can be different if the advice site has retracted advice or authored new advice since the most recent synchronization.
- the gatherer makes sure that there is a one-to-one correspondence between advisories at the advice site and advisories in the consumer machine.
- the gatherer opens a connection to the directory message server at the advice site. After an optional security handshake to verify the authenticity of the advice reader and server, the gatherer queries the server for a directory message. The gatherer inspects the response and checks whether the site directory has changed since the previous synchronization.
- the gatherer initiates FTP and/or HTTP and/or file server access to the new files.
- the gatherer also deletes any advisories on the consumer computer which no longer correspond to advisories on the server, and this terminates the synchronization of the consumer site image with the true site image.
- the protocol just described is the AEUP protocol that is described above.
- the gatherer is allowed, by the advice server, to gather all the files at the advice site anonymously or, at any rate, all files which have not previously been gathered.
- the intention is that the advice stored on the consumer machine consists at any given moment of all the advisories offered at the advice site at the time of the last synchronization, other than those that the user has specifically deleted. Hence, there is no selective gathering. Rather, gathering is exhaustive, i.e. every piece of advice is gathered. The implications of this protocol and alternative protocols are discussed below. Unpacking Advisories
- an advisory file is a potentially complex hierarchical structure, which may contain one or more than one message.
- the advice reader unpacks all the components of this structure. Components of the structure may be signed using a digital signature method, i.e. at unpacking time those signatures are verified. After unpacking, the advisories are entered in a pool of all advice, old and new, to be evaluated. In one typical implementation, the invention may suppress entry into the system of unsigned advisories or of advisories whose signatures cannot be verified.
- the pool of all advice to be evaluated may be processed, either continuously, or according to a consumer-defined schedule, or an immediate user request, or some specified trigger event (see Fig. 9).
- the advice reader parses the individual message and identifies the clauses determining relevance. These clauses are expressions in the formal relevance language which is described below.
- the advice reader parses the clauses using an expression tree generator 91 into a tree of elementary subexpressions (see Fig. 10) and then evaluates each subexpression of the tree using an expression tree evaluator. If evaluation proceeds successfully and results in a value of True, the message is deemed relevant 93.
- a dispatch method 94 is then used to consume the advisory which may include a file system inspector that identifies appropriate directory and file name references 96 in various user volumes 97, 98; a registry inspector 99 that inspects an operating system registry 120; an operating system inspector 121 that inspects various system elements 122; or a hardware device inspector 123 that inspects various system devices 124. Inspectors
- inspectors may perform mathematico-logical calculations, execute computational algorithms, return the results of system calls, access the contents of storage devices, and query devices or remote computers. These methods are called inspectors because a frequent purpose is to inspect the properties of the consumer computer, its configuration, or contents of its storage devices. Inspectors may come built in to the reader, and may also be plugged in via DLL or similar mechanisms. Thus, an object 130, property name 131 , and/or string selector 132 is dispatched to a reader using a method dispatch module 134 in accordance with dispatch information contained within a method dispatch table 133. Various inspectors 135, 136 are provided at a user location, each of which includes an inspector library 137, 139 and associated methods 138, 140. Inspectors are described in greater detail below.
- a relevant item may be entered into a list of items to be displayed. This list may be displayed to the consumer according to typical user-interface models.
- the user-interface may inform the user about the author of the advisory, about the date the advisory was acquired, about the date the advisory became relevant, about the subject of the advisory, and about other attributes of the advisory message.
- the user interface may offer the user to display the explanatory content of individual advisories.
- the explanatory content may contain simple text explanations, or may contain more elaborate multimedia explanations.
- the explanation may identify the situation which caused the advisory to be relevant, the implications of relevance, the recommended action or actions to take at this point, the anticipated effects of taking those actions or of not taking them, or the experiences of other users or other organizations with the proposed actions.
- the user studies this explanatory content, perhaps performing additional research (for example studying the trustworthiness of the provider, or the opinions of other users).
- consumer initiates correspondence with provider or other. This may include contact by mail, phone, fax, or e-mail. This may also include participation in an information exchange, including for technical support, training, or market survey purposes, as well as participation in a sale or other commercial interaction.
- consumer purchases object by e-commerce This may include a purchase entered by clicking on a button in the advice reader window which entry to e- commerce mode.
- a form This may include a form rendered by a Web browser, or a text file form intended to be returned by e-mail, or a form intended to be filled out and faxed or mailed back.
- off line action in real world. This may include any off line action ranging from actions associated with the computer modifying the state of hardware devices, gathering information in the environment surrounding the computer, or reading some instructions in a manual before beginning an online process. This action may also include purely personal items.
- consumer modifies system setting or data field on computer. This may involve the consumer executing a series of manual operations on the computer to change settings of some system component or software application or to modify an entry in a database.
- consumer initiates an Install/Uninstall/Execute solution. This may involve the consumer clicking on a button in the advice reader, followed by automatic execution of a sequence of download/install/uninstall/execute steps, or it may require the consumer to access physical media such as floppy disk or CD- ROM to perform an install under direct supervision. It may involve automatic execution, or execution under user control, following instructions indicated for the user by the advisory.
- the advisory may offer a series of instructions in a high-level system-affecting language, such as AppleScript,
- DOS Shell UNIX Shell
- Visual Basic which the consumer is expected to store as a file and then pass to a standard interpreter (e.g. AppleScript Editor, DOS Command Line Interpreter, UNIX Shell Command Line Interpreter, or Visual basic Interpreter).
- This action may alternatively involve the consumer executing a series of manual operations on the computer that involve typing in commands one by one in a certain window of a certain application.
- the advisory file format provides a mechanism to encode one single advisory or several advisories for transport across computer networks and other digital transport media, and to offer one or several variants of same basic explanatory material.
- the following discussion describes the components of an advisory in general terms and describes the currently understood best method for implementing advisories using MIME.
- Action Button Component providing the user the ability to invoke an automatic execution of the recommended action.
- the advisory may contain an expires-when clause. This is an expression in the formal relevance language which causes the message to expire if it evaluates to True.
- the advisory may contain an evaluate-when clause. This is an expression in the formal relevance language which causes the message to be evaluated for relevance if it evaluates to True.
- the advisory may contain an requires-inspector-library clause. This may give the name of an inspector library and a URL where it can be found. This indicates that a certain inspector library must be installed for relevance to be evaluated correctly.
- the advisory may contain a refers-to clause, giving keyword labeling of systems referenced by the condition associated with the advisory.
- the advisory may contain a solution-affects clause, giving keyword labeling of possible effects of the recommended response.
- the message body may occur in at least three forms:
- the explanatory material may be an unconstrained ASCII text document. This has no embedded variations in presentation style (e.g. no changes in font and/or no hypertext references to outside documents).
- HTML The explanatory material making up the message body may be an HTML document. This is familiar from Web browsers. HTML documents may contain variations in the presentation of text, may contain tables and visual formatting features, may contain references to external documents, and may contain references to external graphics files.
- Text/HTML Text/HTML.
- the explanatory material making up the message body may be given in both text and HTML forms.
- the advice reader has the option of using whichever form is more appropriate to the user. Further variations in message content, including audio and video content, are not excluded from the scope of the invention.
- the message body may have digital authentication features appended to the message to insure its integrity and authenticity.
- a digital digest may be appended to the message to ensure message integrity.
- a specialized functional of the message body may be computed and appended to the message.
- the recipient of the message can verify the integrity of the message by computing the same functional and verifying that it produces the same result as that appended to the message.
- digital digests include CRC, MD5, and SHA.
- Digital digests are familiar in the computer programming community under the name hashing.
- the idea is that certain mathematical operations based on modular arithmetic are applied to a numerical representation of a body of text, producing a numerical output ranging in magnitude from a small number to a number requiring some dozens of digits to represent, depending upon the details of the digest mechanism.
- These arithmetic operations typically produce an output which depends on the original body of text in a discontinuous way which is not easily invertible. That is, slightly different messages tend to have very different digests. Also, it may be difficult to find any two messages with the same digest, and if one of the two messages is previously specified, it is particularly difficult to find another message which happens to have the same digest.
- a digital signature may be appended to the message to ensure message authenticity (see C. Pfleeger, Security in Computing. Second Edition, Prentice- Hall (1996); and PGP 4.0 Users Manual. PGP Pretty Good Privacy, Inc. (1997)). This is a refinement of the digital digest idea, rendering the digest secure against malicious tampering.
- Digital signatures generally work as follows: At the time that the message is compiled by the author, a digital digest of the message is calculated. The digest is then encrypted using an encryption scheme that is well known and widely associated with the advice site. The encrypted digest is considered the advice site's signature on the message, and is appended to the message itself, labeled as a signature.
- the advice reader in seeking to verify the signature of the site, attempts to decrypt the signature using the well-known decryption algorithm associated with the advice site.
- a successful decryption produces a digital digest which agrees with the value that the advice reader calculates directly from the message.
- An unsuccessful decryption produces a result that does not agree with the digital digest of the received message.
- an advisory document is packaged as a single ASCII text file which is a valid instance of MIME file (see N. Borenstein, N. Freed, MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies, Internet Standards Track RFC 1521 (1993)).
- MIME Multipurpose Internet Mail Extensions
- MIME is an Internet standards track format extending the classical e-mail Internet standard commonly referred to as RFC 822.
- the MIME format is widely used for Internet transport of electronic mail. It has four features of particular usefulness in connection with advisories:
- MIME specifies that a message body may be preceded by an extensive message header consisting of a variety of header lines, where individual lines begin with a well known phrase and contain addressing, dating, and related commentary. Some of these lines can be easily adapted to serve the purposes of the invention. For example, the From Line and Subject Line components of an advisory can be implemented by the From: and Subject: header lines that are already part of the MIME standard.
- MIME provides a method for creating new message lines in messages. This includes a method for embedding the new message lines in messages and a method for registering the new line with the MIME authorities. Key invention constructs relevant-when and expires-when may therefore easily be added to the MIME language in that fashion.
- MIME provides a method, i.e. Multipart-Alternate, for offering two different versions of the same message, with the destination picking the appropriate display method. Therefore, the invention construct of transmitting one or more ways to display the same information may easily be implemented using the MIME standard and its Multipart-Alternate feature.
- MIME provides a well-understood mechanism, i.e. Multipart/mixed, for packing several complete MIME messages into a single file for Internet transport.
- MIME posits a recursive digest structure, in which a message can have several related components, and each component can itself be a MIME file inserted verbatim.
- a MIME file can be used to digest many component advisories, organized in a tree structure reminiscent of the branching structure of a modern personal computer file system.
- MIME becomes a tool, not for packaging e-mail, but instead for packaging a new kind of document, i.e. the advisory.
- an advisory is unlike e-mail because an advisory does not have an intended recipient or list of recipients. Rather, it is a broadcast message.
- An advisory typically has relevance and related clauses, and an advisory typically has active content.
- E-mail does not have relevance and related clauses, and does not typically have active content.
- the advisory is part of a new form of communications which can be implemented within the MIME standard.
- the advisory application of MIME addresses a different problem than e-mail by omitting certain MIME clauses which were used for e-mail, and by adding new specialized clauses which are used in the relevance determination and advice management process.
- advisories to e-mail is comparable to the relationship between USENET and e-mail.
- Both advisories and USENET news systems use MIME as a packaging mechanism. However, both offer means of communications which are distinct from e-mail.
- MIME is a convenient method of realizing the form of an advisory
- Action Button Not present in this advisory.
- the active component of the message (downloading) is handled by the HTML HREF link. The user sees the word Download and typically understands that a mouse click on that word causes the indicated action.
- an advisory in an additional variation, it is possible for an advisory to contain ratings blocks containing information rating the advisory according to criteria such as privacy, security, and usefulness.
- ratings blocks There exist standard formats for such ratings blocks (see Khare, Rohit, Digital Signature Label Architecture, The World Wide Web Journal, Vol. 2, Number 3, pp. 49-64 Oreilly (Summer 1997), http://www.w3.org/DSIG) and these are easily appended to messages with MIME structure. See also below.
- Advisories have a format resembling the format of e-mail messages, with many of the same components in the message/digest headers.
- One key extension offered by advisories is the institution of a new clause in the message, i.e. the relevance clause.
- the relevance clause is preceded by the keyword phrase relevant-When:.
- An expression from the relevance language follows the keyword. The following discussion describes the currently understood best method for describing the state of a consumer computer.
- a relevance clause is to examine the state of an individual computer and determine whether it meets various conditions which combine to imply the relevance of a certain advisory.
- the language itself i.e. in the allowable phrases of the language and the underlying semantics of the phrases, provides an intellectual model of the components of the consumer computer, its peripherals, storage devices, files, and related concepts. This is distinct from the usual model of computer languages, in which the language itself provides a rather meager picture of the problem it is used to address.
- the relevance language contains a few elementary data types, such as Boolean, integer, and string. Also in common with traditional languages, it is permissible to write arithmetico-logical expressions such as:
- the meaning of a typical subexpression is apply method + to the pair of objects resulting from evaluating the two subexpressions 1 and 2.
- the pair of objects in question are objects of type Integer having values of 1 and 2, respectively.
- the relevance language has a full range of arithmetic, string, and logical operations available, which are expressed as built in methods set to operate on the built in concrete data types (see Fig. 12).
- the relevance language contains an abstract data type, Worid, which may be thought of as the overall environment of the personal computer on which the relevance clause is evaluated.
- This object has properties. These properties yield objects of various types, and these objects may have further properties (see Fig. 13).
- World is a data type that, depending on the specific implementation and on the specific system configuration, may have many properties.
- these properties may include the system folder property, the CPU property, and the monitor property.
- Properties of an object are obtained by applying assessor methods to the object.
- the assessor method for the system folder of data type World returns an object of type system folder.
- the assessor method for the CPU property of data type World returns an object of type CPU.
- These derived objects have properties of their own.
- an object of type CPU may have a collection of properties such as speed, manufacturer, model, MMX, and cache.
- a method corresponds to each of these properties which, when applied to the object of type CPU, returns a result.
- speed results in an integer manufacturer results in a string naming the manufacturer
- model results also in a string, naming the model type, and MMX and cache return the more specialized object types MMX, and cache.
- the relevance language implicitly postulates that the set of inspectable properties of the consumer computer is identical to the set of properties of data type World and the set of properties derivable from World by repeated applications of asking for properties of an object derived from World (see Fig. 14).
- ObjectWorld gives an idea of the richness of the object world derivable in this way in the technical support application.
- Control Panel is a property of the World which takes an extra string parameter and returns an object of type Control Panel. If the Control Panel named MacTCP cannot be found by the method implementing the Control Panel property, then the result is a non-existent object, for which version is not an allowed property, and evaluation fails. If the Control Panel named MacTCP is found, then version, being an allowable property of Control Panels, leads to invocation of a method which returns an object of type version containing the version number of that Control Panel, recorded in a particular format. This result is compared with the result of subexpression version "2.02". This time version refers to a property of World, which takes an extra string parameter and returns an object of type version. If evaluation succeeds, the result of this comparison is Boolean: either True or False.
- Photoshop Plugln is a property of the World which takes an extra string parameter and returns an object of type Photoshop Plugln. If the Photoshop Plugln named PictureEnhancer cannot be found by the method implementing the Photoshop Plugln property, then the result is a nonexistent object, for which modification time is not an allowed property, and evaluation fails. If the Photoshop Plugln named PictureEnhancer is found, then modification time, being an allowable property of a Photoshop Plugln, leads to invocation of a method which returns an object of type time. This result is compared with the result of subexpression time "10 January 1997". Here, time refers to a property of World which takes an extra string parameter and returns an object of type time. If evaluation succeeds, the result of this whole expression is Boolean: either True or False.
- a key purpose of the relevance language is to enable an advice provider to publish advisories which can be accessed by the advice reader, running on a consumer computer, and be automatically read to determine, without intervention from the consumer, whether the advisory is relevant to the consumer.
- the relevance language is implemented as a context free grammar which can be automatically parsed into a tree of subexpressions.
- the tree of subexpressions can be understood as an abstract structure whose nodes are methods and whose branches are subexpressions.
- Control Panel "MacTCP” The expression version of Control Panel "MacTCP” is version "2.02" parses into:
- word stands for a reserved word in the language
- [Phrase] stands for a phrase as defined in the discussion of lexical analysis on the previous page.
- a grammar can be used to generate a parser by any of several means (see A. Aho, J. Ullman, Principles of Compiler Design, Addison-Wesley (1977)). These may include automatic parser generators, such as YACC, which create a table driven finite state automaton that recognizes the grammar. The table is created directly from the production forms above, and also by hand generation of recursive descent parsers based on mimicking the productions of the grammar in modules whose naming and internal structure mimic the structure of the productions of the grammar.
- New tokens are input, one-at-a- time, and compared with the current state and also with a table giving allowable type and mandated action on receiving that token, if any.
- the mandated action can be interpreted as specifying the individual steps in the systematic building up of an expression tree.
- a typical action is that associated with the production:
- $$ ($2 $1 $2) This is interpreted as follows: $$ refers to the result of the production, $1 , $2, $3 refer to the component subexpression trees, and the parentheses are notational devices that are used to delimit expression trees.
- This action calls for the association of the recognized ⁇ Relation> with an expression tree. This results from joining expression trees which are associated with the left-subexpression and the right sub-expression with a root method that compares the two expressions.
- Control Panel "MacTCP" is version "2.02”.
- the expression tree already associated with the left subexpression, $1 has representation (Control-Panel "MacTCP") and that associated with the right subexpression, $3, has representation (version (string "2.02”)).
- the expression tree associated to the overall ⁇ Relation> expression is the merger of these two according to the pattern (is $1 $3 ).
- the resulting expression tree is representable as (is (Control- Panel "MacTCP") (version (string "2.02”))).
- each production is an action of appropriate form which describes how the tree is built.
- the tree may only be built up implicitly.
- Parsing can continue normally, if at every step of the parsing the next available symbol matches an allowable type; or it can fail, if an unexpected combination occurs. As soon as parsing fails, the piece of advice may be declared not relevant.
- each valid method is already known to the parser at parse time. Unlike some other languages, parsing can fail if a clause is syntactically correct but uses phrases that name currently unknown methods.
- each subexpression takes values which are strongly typed and for which the type is known in advance.
- Example data types include integer, string, and Boolean.
- Each method is known at parse time to work with certain combinations of data types of inputs and to give certain definite data types as outputs. Attempts to apply methods to forbidden data types are diagnosed as failure of the parse. If so, the piece of advice may be declared not relevant.
- an expression tree is built up consisting in essence of a collection of method invocations and associated arguments and associated data types of those arguments. Evaluation of the expression is the process of performing the appropriate method dispatching in the appropriate order.
- Evaluation can be successful, or it can fail. It can fail, for example, from excessive use of system resources, unavailability of a resource, excessive delay in obtaining a resource, or for some other reason.
- Successful evaluation can yield a Boolean value of True or False or some other value. The interpretation of a piece of advice as relevant is equivalent to saying that the evaluation is successful, the value was Boolean, and is true.
- the purpose of the relevance language is to describe precisely the state of a computer, its contents, attachments, and environment.
- This state can change as the consumer purchases new software and/or hardware, or as new software/hardware objects are invented.
- This state can change as consumer computers are used to represent consumers in new problem areas, for example, in personal finance, management of communicating devices in the home, or other areas.
- the vocabulary of the relevance language may be extended by the authorities and by authors at individual advice sites.
- the relevance language is extensible by developing dynamically loaded libraries which add new vocabulary and semantics to the language and/or modify existing vocabulary and methods. These are referred to herein as inspector libraries and may be downloaded from an advice site and installed on a given consumer computer, thereby changing the meaning of the relevance language on that computer, and allowing new bodies of advice to be interpreted on that computer.
- the relevance language does not need to be procedural. That is, it need not specify how to manipulate the contents of various fragments of memory. This is the opposite of being descriptive. It is not necessary to enable traditional procedural services, such as loops, assignments, and conditionals.
- the structure of the language and the visible limitations should communicate a message of security to the consumer.
- the unnamed properties can be thought of as function calls applied to an object, but very bland ones, because no parameters are involved.
- a property is computed by extracting a certain value from a certain slot of a data structure. They typically pose little danger or resource burden.
- the named properties may be thought of as two-variable function calls. The first variable is the object and the second object is the string name-specifier. However, these also are not very general operations because the string name-specifier, in one implementation, may not itself be a computed result. It must instead be string constant. The types of calculations that can be specified in this way are tightly constrained.
- typically a named property is computed by extracting a certain value from a certain slot of a data structure, so it poses little danger or resource burden.
- the relevance language has no for, while, or if statements, but it does have a limited ability to perform iteration. It does this using a construct referred to as plural properties.
- plural properties there can be both singular and plural properties, e.g. both entry and entries properties, the first referring to a result which must be a singleton and the second referring to a result which may be a plurality.
- pluralities are further qualified by the use of the whose () clause to restrict to subcollections.
- the syntax of the relevance language resembles the syntax of plain English, with key roles in the language played by clauses formed from articles such as of, as, whose, and verbs such as exists.
- the highly constrained nature of the language fosters consumer understanding.
- the language avoids constructs which assume a computer programming background by suppressing concepts such as arrays, loops, and conditional evaluation. Inspector libraries
- Parsing of a clause in the relevance language results, conceptually, in the generation of a list of method dispatches (see Fig. 11), in which certain methods are called in a certain order with certain argument lists. This evaluation is a process of systematically carrying out the sequence of method dispatches in the appropriate order. Method dispatches are an important aspect the relevance process.
- An inspector library is a collection of methods (see Fig. 15) and associated interfaces which allows for the installation of methods into the advice reader. Because of the structure of the parser and the evaluation process, an inspector library may contain some of the following components:
- an inspector library can be linked into the advice reader with all the declarations evaluated, resulting in changes to the advice reader's internal data structures, so that new method invocations become available.
- the first is a syntax table giving all allowed phrases and the associated data types on which they may operate and the associated data types that result. This is used at lexical analysis time.
- the second is a method dispatch table, giving a systematic way to determine the associated executable method for a given phrase and data types. This is used at evaluation time.
- a convenient way to implement the above inspector library structure is to rely on the features of a modern object-oriented programming language, such as C++.
- the built-in features of such a language i.e. object declarations, polymorphism, and operator overloading, are ways of declaring that certain phrases have a certain meaning when applied to certain data types, and of systematically organizing that information.
- Other features such as constructors, copy-constructors, and destructors, are ways of defining certain initialize time and terminate time code bodies.
- inspector libraries in an instance of the advice reader.
- the inspector libraries that are so installed define the set of recognized [Phrasejs in the relevance language, the set of allowable data types at evaluation time, and the set of methods associated with those data types.
- inspector libraries may be created by advice providers and downloaded to the consumer computer as part of the site synchronization. Such libraries may be managed by the advice reader, for example, by storage in a well known location, such as a subdirectory of the overall directory managed by the advice reader. The inspector libraries in this directory may be linked into the advice reader at the time the advice reader is initialized.
- Base Layer Contains the basic mechanics of clause evaluation: a number of basic built-in phrases and associated methods. It is expected that the base layer is the same on every consumer computer carrying the advice reader.
- System-Specific Layer This consists of a layer associated with a certain operating system, giving information about the characteristics of a certain family of computers and their attached devices and environment. For example, such a layer, in one implementation, provides methods to get the system date and time, the sizes of various files, the contents of the PRAM, or the names of attached peripheral devices.
- Vendor-Specific Layers This collection of potentially a large number of extensions layers is typically produced by third parties, giving special access to the internals of certain hardware devices and software products.
- a String such as Alpha, Beta.
- this inspector makes available to the system a series of data types and properties which may be as depicted in Fig. 14. As an example, to check if the beta version of an application with version number 0.99 is used, one might write the relevance clause:
- a system specific inspector can access the properties of the operating system and allow advice to be written to verify the existence and configuration of attached devices and other subsystems.
- serial device potentially matches several different devices.
- the qualifier selects from among those the one which has the name "Modem Port.” If there are any such devices, the phrase evaluates to True. If not, the phrase evaluates to False. input name of serial device "Modem Port" is ".Aln"
- This fragment is to check if the modem port is using the standard serial driver for that port.
- the specific property of World referred to as serial device "Modem Port" is an object with property input name. The fragment checks to see if this is equal to .Aln, its usual value in the Mac OS.
- a registry inspector is an inspector library which, when installed in the advice reader, enables the relevance language to refer to and evaluate properties of the registry database.
- the intent of the fragment is to enter the Macintosh name registry, find entry "devices”, look for the entry "Device Tree” within that, and descend to the subentry "bandit” and then the subsubentry 'APPL. interrupt". The resulting entry is then converted into an integer value and compared with code 22.
- the registry may contain a vast amount of information about the computer on which it operates.
- the registry inspector makes all this information accessible to the relevance language.
- preferences files which record a considerable amount of information about the configuration of a certain program.
- a preferences inspector is an inspector library which, when installed in the advice reader, enables the relevance language to refer to and evaluate properties of the preferences file of a specific application.
- helper application knows how to process that content type.
- a helper application associated with a graphics file of type JPEG might be JPEGView
- a helper application associated with type x-pn-realaudio might be RealAudio Player.
- RealAudio wants to author advisories which target users whose Web browsers are misconfigured, and to provide them with automatic corrections to the configuration.
- Netscape Navigator Preferences becomes a property of World.
- the intent of the fragment is to access the Netscape Navigator Preferences file, find entry "Helper Table”, look for the entry "x-pn-realaudio” within that, and extract the associated helper name.
- the resulting entry is a string which is compared with "RealAudio Player 4.0.”
- the preferences file of a modern software application contains a considerable amount of information about the working of the application, and a preferences inspector makes all this information accessible to the relevance language.
- Databases associated with small office suites Consumers who are running small businesses have customer databases, supplier databases, and accounting databases on their machines.
- a database inspector is an extension to the base relevance language whose purpose is to allow the relevance language to access fields in a database.
- An example syntax is as follows:
- the intent of this fragment is as follows: The advice provider is attempting to reach consumers who use CheckFree. Users of CheckFree have a FoxBase- created database resident on their machine which is identified as Personal.DBF. The fragment intends to reach such consumers whose current bank balance, as indicated by the database, is negative. The semantics of the evaluation depend on the implementation of the FoxBase Database inspector.
- an advice provider publishes software which, as with CheckFree, creates and manages a database, and the provider would like to help consumers keep the database well updated.
- the advice provider could author advisories which target common problems in the consumer database, e.g. consumers who forgot to initialize the database with the correct balance. Such advisories would call these problems to the attention of consumers who have them, as well as specifying solutions to the problems.
- the invention maintains a file or files offering a user profile, consisting of certain identifying phrases and associated values.
- a user profile inspector is an inspector library that can be installed in the advice reader and which enables the relevance language to refer to data stored in the user profile. At a high level of abstraction, this is the same type of function that is enabled by the database inspectors or registry inspectors, only with a different database being inspected.
- the intent of this clause is as follows: The user profile is inspected, the variable named Zip Code is extracted, it is converted from string to integer, and the resulting integer is divided by 100. The two trailing digits are lost in the process, leaving an integer with three digits that may be compared to 947.
- the user profile is a dynamically expanding database, with new variables added as advice providers need them.
- a mechanism is provided so that an advice provider can author a template file which describes a collection of variables to which the advice provider plans to refer in advisories and would like the consumer to specify. The template file is placed at the advice site and is automatically gathered at synchronization time.
- the template file is used to drive an editing module on the consumer computer which presents the user a list of the template variable names and a list of their current values or blanks if they have not previously been defined. The user can then fill in the blank fields and edit other fields, in this way, the variables which the provider wants defined can be brought to the attention of the user and edited.
- the portion of the user profile associated with the specific advice site in this way is called the site profile.
- the advisory should have, as human-interpretable content, a message which indicates that the advice provider would like the user to fill out the user profile variables needed for correct functioning of advice associated with that site. It should have as computer interpretable content an invocation of an editing module which uses the new template to present the user with choices for editing a new user profile.
- Modification Time of Template file of site Profile checks whether the site profile has been updated since the last new template file. If not, the advisory should have, as human interpretable content, a message which indicates that the advice provider would like the user to add some new user profile variables needed for the future correct functioning of advice associated with that site. It should have as computer interpretable content an invocation of an editing module which uses the new template and the old profile to present the user with choices for editing.
- inspector libraries can also give the relevance language the ability to inspect properties of other communicating devices. These include:
- Remote Database Queries Ask other computers with databases to answer queries concerning contents of those databases.
- Remote relevance Invocation Pass a relevance clause to another computer and obtain the result, as evaluated by the other computer in that computer's environment.
- Model of Network Postscript Printer is "LaserJet 5" and ROM Version of Network Postscript Printer ⁇ version "2.0"
- the advice provider is a large organization that serves a population of advice consumers who are employees, who have small hand held computational devices, and who keep important data on a remote computer which has a trust relationship via security handshaking with these small devices.
- the employees use organizational data which is accessible via a Lightweight directory Access Protocol (LDAP) database server accessible over Internet (see W. Yeong, T. Howes, S. Kille, LDAP (Lightweight Directory Access Protocol), Internet Standards Track RFC 1777(1995)).
- LDAP Lightweight directory Access Protocol
- the advice provider would like to serve up advice which asserts conditions about the employees assigned project which is not available on the hand held machine, but instead is available by LDAP queries to the LDAP server. In addition, it asserts conditions about the employees status which are only available on the hand held machine.
- the provider develops an inspector library which can access data on the LDAP server, and an inspector library which can access data on the hand held device.
- the installation of these inspectors includes steps to configure the LDAP queries with appropriate passwords and appropriate usemames.
- a valid phrase in the relevance language is:
- This fragment is for a certain entry to be extracted from the LDAP database associated with this employee, and the sponsor name compared to "U.S. Government.” If that condition holds, the current travel expense record is queried for a per diem claim.
- This approach provides a way of anonymously and proactively targeting employees listed in the organizational database as subject to a per diem rate lower than the expenses they are generating.
- the invention provides a method of checking expense claims during travel, well before submission.
- Important issues arise in the specification of the interfaces with remote systems.
- One aspect is that there must be a trust relationship between the consumer computer requesting the remote service and the other device or computer fulfilling the request to allow automatic evaluation of relevance.
- the communications must be encrypted in some cases. The degree of resource use must be monitored. Digital authentication must be available in some cases.
- a program log inspector is an inspector library that can be installed in the advice reader and which enables the relevance language to refer to data stored in a certain log file or files. At a high level of abstraction, this is the same type of function that is enabled by database inspectors, registry inspectors, or user profile inspectors, only with a different database being inspected.
- Such an inspector library defines access methods the allow one to obtain key data items from log files. As an example of how such an inspector is used, suppose it was desired to reach users who run the application GraphMaker, where the log file generated by Graphmaker contained an error entry with error code 93456.
- this error code indicates that a certain PostScript printer was unable to process the file output by Graphmaker. It is desirable to communicate to consumers in this situation the fact that there is a workaround for this problem.
- Graphmaker has an inspector library available at its advice site which implements a set of methods associated with the central data type, which is referred to as GraphMaker error log. Assume that when this inspector library is installed in the advice reader, GraphMaker error log is a property of World. Assume that GraphMaker error log has a property referred to as entry, and that the result of such a property is an object of type GraphMaker error log entry with properties error code and error message, yielding integer and string data types, respectively. Then, there:
- the intent of this clause is as follows: The file associated with the GraphMaker error log is located and opened, and a search is made through this file for entries of type error as opposed to warning. These entries are examined to determine if any of them is associated with an error code of the indicated type.
- the advice reader maintains subscription information, pools of advisories and, in one implementation, logs that indicate the history of relevance evaluation and of automatic solution operation.
- An advice system inspector is an inspector library that can be installed in the advice reader and which enables the relevance language to refer to data stored and managed by the advice reader itself. At a high level of abstraction, this is the same type of function that is enabled by database inspectors, registry inspectors, or user profile inspectors, only with a different database being inspected.
- Such an inspector library defines access methods the allow one to obtain key data items from important components of the system:
- the subscription database Existence or nonexistence of certain subscriptions, address of advice sites associated with certain subscriptions, synchronization schedule associated with certain subscriptions, digital authentication information associated with certain subscriptions, other interesting attributes.
- the advice database Existence or nonexistence of certain advisory in the advice database. Relevance or irrelevance of certain advisory in the advice database. Existence or nonexistence of certain author in the advice database. Existence or nonexistence of certain subject in the advice database.
- the advice readers log files Existence of a subscription to a certain site sometime in the past. Existence or nonexistence of certain diagnostic conditions, for example, aborted evaluation of certain advisory due to excessive time to evaluate an advisory. Relevance of certain advisory at some time in the past. Acceptance by user of an automatic solution operator associated with certain advisory at some time in the past.
- a comprehensive strategy for this situation formulates several advisories.
- the strategy formulates an advisory for users who have a current subscription to the advice site. This is prosaic in construction, and uses mechanisms described earlier. However, a comprehensive strategy also formulates three other advisories intended ultimately for other users:
- the strategy formulates an advisory for users who no longer subscribe to the advice site, but who may have done so at some time in the past.
- the advisory is distributed by various means outside the normal subscription mechanism of the invention, for example through a service, e.g. UrgentAdviceNet.
- This advisory looks to see if GraphMaker is installed, to see if there is no active subscription to the GraphMaker advice site, and then at the log file generated by the advice reader to see if Graphmaker advisory "98/1/08-1 " was relevant at some time in the past and if the user had accepted the proposed solution. Any consumer for whom this is relevant is notified, first that they should resubscribe to the site if possible, and second that when they do they get instructions about updating the patched code.
- the strategy formulates an advisory for users who have never subscribed to the advice site and never received the earlier advisory.
- This advisory checks if the affected version of GraphMaker is installed, and then sees if the current subscription database shows no active subscription, and also if the log shows no formerly active subscription. Any consumer for whom this is relevant is notified, first that they should subscribe to the site if possible, and second that when they do they get instructions about updating the patched code.
- the strategy formulates a counter- advisory for users who have somehow obtained a copy of the former advisory by means other than subscription, and which is somehow still active in the advice database.
- Such an advisory is not automatically deleted by site synchronization because it is not associated with the originating advice site.
- the advisory identifies the existence in the advice database of the old advisory. Any consumer for whom this is relevant is notified, first that this active advisory is no longer avowed by its author, second that the consumer should subscribe to the site if possible, and third that when they do they get instructions about updating the patched code.
- advice reader has an inspector library installed which implements a set of methods associated with three central data types, referred to as adviceNet subscription inspector, adviceNet advice inspector, and adviceNet history inspector.
- a second type of example is provided by the case where an advice provider RealAudio wants to author an advisory checking whether a certain inspector is installed and is the correct version, for example, because advice depends on this. Assume that there is an inspector library which, when installed, adds adviceNet configuration as a property of World. RealAudio could serve up advice at its site with the relevance clause:
- the humanly interpretable content of the associated message is an explanation that for RealAudio advice to work properiy, the user should get the appropriate inspector from the Netscape site. In addition, it could serve up advice qualified by:
- An advisory may arrive at the consumer computer by file copy from a floppy disk, CD-ROM, or similar physically transportable medium.
- An advisory may arrive as part of an e-mail message, routed from another consumer, or from an advice provider.
- An advisory may arrive as part of a news message distributed according to the USENet protocol, posted by another consumer, or by an advice provider.
- An advisory may arrive as part of a message distributed according to a proprietary protocol.
- An advisory may be obtained by file transfer from another machine, where said transfer uses an application other than the advice reader.
- an application might direct a Web browser to download an advisory file that is pointed to by a hypertext link.
- an application might direct the downloading of an advisory, without user control, using FTP or some file sharing protocol.
- the advice is stored on the consumer computer's storage device for future use. This means that at some future time it is added to the advice database or at some future time it undergoes one-time evaluation.
- An advice digest arrives at the consumer computer as part of the shopping process for a new piece of software or hardware on the consumer computer. This collection may arrive by physical transport of media or by electronic transfer, for example, the consumer may obtain the digest from a Web site devoted to shopping.
- the digest when processed by the advice reader, evaluates the consumers hardware situation and informs the consumer about its suitability for various possible purchases. The process is typically run only once.
- An advice digest 160 may arrive at the consumer computer as part of the installation process for a new piece of software or hardware on the consumer computer. This piece of software may have arrived by physical transport of media 161 or by electronic transfer 162.
- the new advisories may be added as part of an automatic initialization process whereby a subscription is automatically initiated and the advisories are placed in the advice pool as a way of initiating the local site image.
- An optional synchronization of the user location with the advice site may occur 163.
- the user reader opens the advice digest 164 and evaluates advice relevance 165. Advisories are displayed with optional solutions 166 and the user reacts to the advisories 167.
- the system may perform a standard software installation 168 and enter a subscription to a post-install advice site 169 to receive post-install advisories 170.
- An advice digest may arrive at the consumer computer as part of the installation process for a new piece of software or hardware on the consumer computer. However, no use is made of the digest at installation time. Instead, the digest is copied onto the storage device of the computer. Later, the user is informed to open the digest by any of several means for situational use when a certain problem arises. Upon doing so, the user is notified of various advisories which apply to this specific situation and hardware/software/settings configuration. After the episode is over, the advice is closed, perhaps to be reopened at some later time for possible reuse.
- Advisories can be presented to the user in other ways than through the usual advice reader interface. For example:
- Notification uses a mechanism appropriate to that application. For example, the consumer is engaged in another activity, e.g. viewing a video, and is notified in an unobtrusive way, e.g. in this case by picture-in-picture.
- the user may be notified of the existence of a relevant advisory when he is not using an application. Notification uses a mechanism appropriate to the default presentation. For example, the desktop has an animated icon depicting the existence of relevant advisories. Another example, a Screensaver presents an animated presentation whose state indicates status of machine, e.g. subsystems affected by advisories.
- the user may be notified of the existence of a relevant advisory by electronic messaging driving other modalities of information transmission.
- This may include standard means of communication, such as pager, phone, and fax transmission.
- the invention inspects properties of the devices and pages the consumer with urgent messages.
- An advisory is written referencing the temperature in the home, with the effect that if the temperature were excessively high or low, an advisory is relevant. Assuming that the relevance notification is set up to use alphanumeric paging, the consumer is paged to indicate that the temperature in the house was out of normal bounds.
- relevance evaluation is a process carried out by the advice reader.
- a typical implementation continually evaluates all advice in the advice database for relevance, metering total CPU resource usage, and keeping resource consumption measured over intervals of, e.g. 1 second, below a certain fraction of available CPU time.
- a typical implementation allows user involvement in three ways:
- Skipping evaluation In certain settings, it may be desirable not to evaluate each piece of advice in a pool with each pass through the pool. For example, those pieces of advice which take a very long time to evaluate are periodically skipped, or skipped based on the CPU usage of other applications running on the consumer computer. A piece of advice which is unevaluated retains the relevance status of the previous evaluation.
- the author of the advisory can specify the scheduling of relevance evaluation. He includes in the advisory file an Evaluate-When line that specifies details of evaluation scheduling. Options may include either a periodic schedule for relevance evaluation, a condition for relevance evaluation, or membership in a well known advice pool with a standard evaluation schedule.
- a method is provided to simulate conditions which do not in fact obtain.
- Such an advice reader has a modification to the method invocation dispatcher of the advice reader.
- the name of the method and the involved data types are compared with a simulation table 172 in a proxy layer 173 before a method dispatch occurs.
- the simulation table contents are user editable 171. If there is no match, dispatch occurs as normally, i.e. an advisory received from an expression tree evaluator 174 is dispatched by the method dispatcher 175. If there is a match, dispatch is suspended, and instead the value of the method is obtained by look-up from the associated cell of the simulation table.
- the result in either case is passed by the proxy layer to the system, e.g. to the file system inspector 176 or registry inspector 177.
- Such an implementation allows the consumer to simulate conditions.
- the consumer overrides the usual relevance evaluation procedure by editing the simulation table, and by installing names of methods and argument types to be bypassed and the associated values to be returned.
- the invention provides a powerful tool for connecting advice consumers with advice provided by advice authors.
- the communications process disclosed herein is designed to support the development of wise habits on the parts of both advice consumers and advice providers.
- a cornerstone of the process is that users should only interact with trusted providers, and to this end, the invention provides technology supporting the evaluation of trustworthiness by consumers and maintenance of trustworthy status by providers.
- the invention offers a number of technological tools facilitating open communication between consumer and provider which lead to proper attributions of trust.
- the invention may offer mechanisms allowing interested providers to promote consumer trust and consumers to learn how to discriminate between trustworthy and untrustworthy providers:
- Advice providers may have the ability to disclose the potential effects of advice, to describe experiences during testing or in the field.
- Advice consumers may have the ability to learn about the potential effects of advice, and about the experiences of others with certain advice providers, or with certain advice sites.
- Advice providers may have the ability to retract faulty advice.
- Advice providers may have the ability to seek certification of their advice as safe and effective by an outside ratings service.
- the advice reader may have the ability to block advisories which are not rated in accordance with the consumer specifications.
- the invention offers advice providers the ability to describe, in the humanly Interpretable component of the message, the potential effects of advice, about the experiences of the advice provider in testing or from user feedback.
- an advice provider can gain consumer trust and visibility.
- a more formal method of documenting and monitoring the effects of the advice is offered, enabling an advice provider to disclose names of potential effects through stereotyped keywords.
- a central authority such as Better Advice Bureau, publishes a registered list of keywords which are used to describe the subsystems of the user computer or its environment which may be affected by the proposed solution, or the effects of the proposed solution on personal privacy.
- An advice provider in authoring advice, uses this mechanism to disclose potential effects of a recommended solution operator through stereotyped keywords in a header line Solution-Affects.
- these keywords are searchable, and indexable and relevance evaluation is subsidiary to it.
- Consumer ease of use may be bolstered, in one implementation, by allowing various kinds of user side filtering based on these keywords. For example, a user plagued by enormous numbers of advisories whenever he detached the CD- ROM drive temporarily could use this feature to simplify his life. He would declare irrelevant all advisories referring to the CD-ROM drive in their keywords fields, and then afterwards detach the CD-ROM drive. In this way, even if there were advisories ordinarily triggered by the non-existence of an attached CD- ROM drive, the user would not have to see them. For an alternate mechanism, see the discussion of simulated conditions above.
- Consumer confidence may also be bolstered by allowing such kinds of user-side filtering based on these keywords. For example, suppose that an available keyword reveals consumer Identity to a provider. By using this when it is the case, a provider has disclosed the effects of a message. A consumer who, as a matter of policy does not participate in surveys and similar information gathering advisories could specify that all advisories which contained this keyword should be declared irrelevant. In this way, the provider has done his duty to disclose and the consumer who trusts the provider is rewarded with the ability to see only the important messages.
- the advice consumer can inform himself of potential impacts of a piece of advice before deciding to apply the recommended solution operator. Some of this may already be done using existing Internet technology.
- the consumer can query other Web sites and search engines to see if there is any news about a certain advisory.
- the invention extends this mechanism through a special Internet server , referred to as the Better Advice Bureau.
- the Better Advice Bureau serves as a central clearinghouse for information about the effects and side effects of advice.
- the user can at any time query the Better Advice Bureau, asking for any recorded comments about a specific advisory or a specific site.
- Feedback Mechanisms
- the advice consumer can provide feedback to the advice provider and to other consumers describing user experience with a piece of advice. Some of this may already be done using existing Internet technology.
- the consumer can use e-mail and USENet newsgroups to notify others about experience with a certain advisory.
- the invention extends this mechanism through a special Internet server referred to as the Better Advice Bureau.
- the Better Advice Bureau serves as a central clearinghouse for information about the effects and side effects of advice.
- the user can at any time submit to the Better Advice Bureau Web site (described below), recording comments about the specific advisory or the specific site.
- the Better Advice Bureau can relay those comments to the advice provider, who can respond to them.
- the Better Advice Bureau protects the identity of the consumer by stripping off identifiers before mailing or posting.
- the Better Advice Bureau compiles all the information submitted by consumers, and provider responses, into a database available for queries over the network.
- the advice reader offers a direct access to this feature by including an easy way to create a message automatically about a certain advisory in the standard advisory display, and address it to the authorities at Better Advice Bureau. For example, a button is placed as part of the advice browser window. By clicking on that button, a mailer window opens up with the sending and recipient addresses, and with the advisory number and subject already supplied. The user is then always one click away from being able to record a commentary about certain advice. Correction Mechanisms
- the advice provider can disown advice that it has posted in error. This is done by removing the advisory from the provider's advice site. Over time, as subscribing advice readers synchronize with the provider's site, the advisory automatically disappears from those consumer computers.
- this is not a sufficiently proactive solution.
- certain advisories may be distributed by means other than the usual the advice reader/advice site model. To the extent that certain consumers may have such advisories in their advice pool, but without associating them with a subscription, they need to be dealt with by a counter advisory. This is an advisory which acts as advice against another piece of advice. Using an advice inspector library as described above, it is possible to write an advisory that is relevant when the consumer computer has a certain advisory in its main advice pool. Such an advisory is typically as follows:
- Such counter advice is distributed by submitting it to UrgentAdviceNet, a special advice site to which all advice readers subscribe.
- the piece of advice is rapidly diffused to users.
- the invention offers the following process for dealing with faulty advice: • Removing the bad advisory from the providers advice site.
- One technique to further consumer acceptance of the use of advisories and the associated solutions is to remove some of the burden for determining the trustworthiness of messages from the individual consumer.
- a method to do this is for a ratings service at a central site to offer a service to advice providers that certifies advice as being in accord with certain publicly known privacy and security standards.
- a ratings service at a central site to offer a service to advice providers that certifies advice as being in accord with certain publicly known privacy and security standards.
- existing Web protocols see Khare, Rohit, Digital Signature Label Architecture, The World Wide Web Journal, Vol. 2, Number 3, pp. 49-64, Oreilly (Summer 1997) http://www.w3.org/DSIG) there is a method for the establishment of URL ratings services, via a message block that can reliably certify that a certain ratings agency asserts that certain information resources have certain properties. The credibility of such assertions, i.e.
- a ratings service can be established at a central site, e.g. Better Advice Bureau.org as described below, to certify that certain advice operates in a fashion generally accepted as appropriate for the advertised task, is used in a manner to protect individual identity, and has generally benign effects.
- Advice authors seeking certification of the trustworthiness of their advice submit those advisories to the certification authority, which studies the messages and, at its option, agree to certifies some of those messages.
- certification means that, according to a well known standard, a special ratings block is appended to the message indicating that the message is asserted by the authority to have certain attributes.
- the consumer is offered the option of making integral use of one or more ratings services. This functions as follows:
- a ratings service uses a well known format, such as PICS (see Khare, Rohit, Digital Signature Label Architecture, The World Wide Web Journal, Vol. 2, Number 3, pp. 49-64, Oreilly (Summer 1997) http://www.w3.org/DSIG), for describing it ratings of resources such as advice sites and individual advisories.
- the ratings service publishes a list of descriptive keywords used in the ratings system, such as BAB-Privacy-Standards-Compliant or does not affect file system.
- the ratings service labels individual advice sites by attaching labels to site description files using its own defined labeling system, inserting these labels into the site description files as ratings blocks according to a standard labeling format, such as PICS.
- the ratings blocks are interpreted and authenticated by an established cryptographic signature mechanism associated with the service, and part of the ratings labeling standard.
- the user interface of the advice reader is extended to contain a new component, i.e. the certification manager.
- This component allows the user to permit advisories to be evaluated for relevance only when they have been credibly certified by a trusted privacy ratings service as having properties with which the user is comfortable. For example, the user blocks advisories which are not certified by Better Advice Bureau as BAB-Privacy-Standards-
- the certification manager has two defined roles:
- the certification manager plays a role in initializing the certification process. It makes available to the user a list of potential ratings services among which the user can select. When a service is selected, the certification manager obtains from the ratings service URL a list of the defined ratings keywords, and allows the user to design a filter based on specifying that certain keywords or combinations of keywords must be present (or absent) for a message to be trusted.
- the certification manager also has the responsibility to parse and validate the ratings associated with individual messages, and block the evaluation of uncertified messages, or of certified messages not exhibiting the users desired attributes.
- the advice reader is preconfigured with hardwired subscriptions to three privileged advice sites. These built-in subscriptions play a central role in ensuring the security of the invention; together they form an immune system.
- advisories.com is a Web and FTP site operated by the producer of the advice reader software. This allows users from all over the world to obtain information and updates about the system, about the advice reader, and any updates to the software or the invention's communication protocols.
- Keyword Coordination This concerns the way in which advisories are used by advice authors to disclose descriptions of potential effects of advice on the consumers computer or possessions or environment. A current listing of adopted keywords may be made available at advisories.com site.
- Better Advice Bureau.org is both a Web site and an advice site on the Internet. It is a site dedicated to the maintenance of the communications protocol as a civilized means of communication.
- the Better Advice Bureau.org Web site describes the principles of system operation, describes why the system is useful, and why it protects individual security and privacy. It describes known risks and recommended procedures for interacting with the system. It serves as a clearing house for user complaints about the operation of advisories, and as a place that consumers may come to for research about the experiences associated with an advisory that they are contemplating to apply.
- the Better Advice Bureau.org advice site is an advice site to which all advice readers subscribe. It issues what is referred to as meta-advice or counter- advice, in the form of advisories against bad advisories, or against bad sites.
- meta-advice or counter- advice in the form of advisories against bad advisories, or against bad sites.
- ratings information in particular, publication of certain rating conventions, as described above.
- There are commonly accepted methods for rating resources on the Web according to criteria provided by a ratings service see Khare, Rohit, Digital Signature Label Architecture, The World Wide Web Journal, Vol. 2, Number 3, pp. 49-64, Oreilly (Summer 1997) http://www.w3.org/DSIG).
- the Better Advice Bureau functions as a certifier of the privacy and security and usefulness of individual advisories.
- the Better Advice Bureau rates individual advisories by including in them a certain special ratings block, according to a well known ratings format, such as PICS.
- the Better Advice Bureau also publishes at its Web site the information needed to interpret such ratings blocks, including:
- UrgentAdviceNet serves to distribute advisories rapidly to all advisory consumers. It is used sparingly, to deal with urgent situations acutely affecting significant numbers of users. In one implementation, it has a high priority in synchronization, being synchronized every time any synchronization takes place.
- An Air Ticket consolidator purchases a block of 50 seats on a flight from New York to London for August 20. The consolidator wants to resell those seats to travelers. The consolidator maintains a relationship with a variety of travel agents.
- the consolidator uses the invention to market its product more efficiently.
- the consolidator functions as advice provider, and authors an advisory whose relevance line asserts the existence of a consumer in the travel agency customer database who has reserved a ticket to go to from New York to London on that date, or near that date.
- the advice provider places the advisory at his advice site.
- Advice consumers in this case the various travel agencies working with the ticket consolidator, have their representative computers set to subscribe to the consolidators advice site. They also install a special inspector in their computer which searches the travel agency customer database for customers with certain travel plans. Advisories flow to their computers and are automatically inspected for relevance. Here relevance means a potential traveler who has plans to travel. The travel agent offers the traveler a ticket at the reduced price provided by the consolidator. The consolidator then makes a sale and the travel agent a commission. All participants win.
- the airline wants to match the tickets to consumers with a continuing interest in last minute travel to certain cities.
- This airline can use the invention to market its product more efficiently.
- the airline functions as advice provider and authors advisories whose relevance line asserts the existence, in the user profile, of an expressed desire to travel to a certain city.
- the advice provider places the advisory at his advice site.
- Advice consumers in this case the potential travelers, have their representative computers set to subscribe to the airlines advice site. They add expressions of special interest to their user profiles indicating cities they are willing to fly to on short notice. Advisories flow to their computers and are automatically inspected for relevance. Here, relevance means a potential opportunity for a flight on short notice.
- Commodity.com that functions as the market maker. This is attractive in a setting currently handled by classified ads, where there are many individual offerers seeking a central marketplace. The process is as follows:
- Offeror submits to Commodity.com an advisory offering object for sale 180.
- Commodity.com advice site staff edits and posts advisories 181 , 182.
- Relevant advisories concern objects meeting their interests. The process proceeds are described above, where the advice reader gathers advisories from Comodity.com 183. Relevance evaluation is performed 185 in accordance with a user profile 190, as inspected by a user profile inspector 186. The user view the relevant commodities 187 and acts on the information contained therein 188.
- Advice reader uses remote connection to verify balance, preserving privacy.
- the invention can be used for a variety of consumer product warnings recalls, and safety advisories.
- the following is one example.
- BadPills.com is a site where information is available about drug products and their interactions. The following describes is how the site operates to notify pharmacies about potentially damaging drug interactions in their customer base. • The FDA and other organizations, e.g. pharmaceutical manufacturers and consumer organizations, submit information about interactions and side effects of medications. Each advisory has the following form:
- the relevance clause asserts the existence in the pharmacy database of customers with active prescriptions for drugs with a known potentially damaging interaction.
- the human readable content tells about the interaction, tells the pharmacist that he has such an interaction in his client base, and urges the pharmacist to correct the situation.
- a similar service for physicians is made available through a physician patient database inspector for those physicians who keep track of patient subscriptions on their office computers.
- a similar service for patients is made available through an individual health record database inspector for those Individuals who enter their own subscriptions in the user profile.
- One way to simplify this is to have an information exchange program, allowing a user to remotely query the pharmacy database for information about himself.
- G there is a group G of individuals who wish to have an anonymous communication with a provider P.
- the individuals in G are widely distributed and do not know each other.
- the site is an anonymous posting advice site where any e-mail sent to a certain address has its identity stripped and is posted at the advice site. Such an advice site operates completely automatically. This site may be referred to as SecretFriends.org.
- This site may be used in conjunction with private-public key cryptosystems.
- Secure off-line refers to a system where an agent of G arranges with P for a conversation. The agent delivers to P a public-key which is created for G for the purpose of conducting this discussion. This key is not actually public. It is a secret known only to G and to P. It is only referred to as a public key because it is the key which is commonly made public in standard applications of public- private key systems. The key is only delivered to P. Similarly, the agent returns a specially created public key from P to G.
- a variant on the group anonymous messaging embodiment in a specific setting, is provided as an information service for consumers of products who do not want it known that they use the indicated product. For example, users of antipsychotic medication or those undergoing cancer treatment.
- the users of the sensitive product are given a numerical code with the purchase of the product which serves as the (secret) public key.
- the users subscribe to a certain advice site, arranged in advance, which is, for example, SecretFriends.org, or an industrywide consortium site, for example Druglnfo.org.
- the users indicate in their subscription the (secret) public key.
- the advice reader periodically synchronizes with the site, and brings in advisories, some of which may concern the product. The others do not concern the product. Only the advisories associated with the specific medication pass the digital signature test and become relevant.
- the invention disclosed herein When the invention disclosed herein is implemented as described above and deployed in the technical support application, it may be operating in a security and privacy critical setting.
- the implemented system is then typically interacting automatically with the Internet, and obtaining and using resources from remote computers without direct human oversight. These resources remain resident on the consumer computer, typically over an extended period of time, being evaluated periodically for relevance.
- relevant advisories When relevant advisories are identified, the advice reader displays to the human consumer the explanatory content of the relevant advisory. This explanatory content may propose to the consumer actions which may have effects on the computer, on attached devices, or elsewhere. If the consumer gives approval, these actions typically are then carried out automatically.
- the advice reader introduces into the consumer computer documents that are processed automatically and that after processing may propose to the user potentially permanent modifications to the computer or its environment.
- the consensus opinion of networking professionals is that unsupervised interaction with the Internet poses serious risks.
- the invention in its standard mode of operation, does not expose the advice consumer or advice provider to risks greater than the baseline risks involved in typical usage of e-mail, browsers, and related Internet tools. Those modes of Internet interaction are currently considered acceptable risks.
- the invention in a typical mode of operation, offers lower risk.
- Trusted sites The concept of trust is discussed above. Users should only subscribe to advice sites that are known to them to provide trustworthy advice. In fact, consumers typically configure their advice reader to subscribe mainly to advice from large concerns which manufacture goods and services of interest to the consumer such as, for example, a computer manufacturer, a software publisher, or the provider of Internet service. Subscription to substantial organizations of this type is a reasonably secure practice. Such organizations have an interest in providing trustworthy advice so that they maintain rapport with their consumers. It is anticipated that very few risks are posed to advice consumers who subscribe to advice authored by such concerns.
- the Better Advice Bureau.org which is described above, is a fundamental tool for ensuring the security of invention users. All invention users subscribe to this site. This site compiles counter advice, informing users about dangerous sites and about bad advice which is circulating. The Better Advice Bureau functions in some respects as an immune system for the invention, allowing the correction of dangerous situations.
- UrgentAdviceNet is another site to which all users subscribe. It provides a special mechanism for delivering very urgent counter advice to the consumer population.
- the advice reader does not expose the consumer to additional risk from these high profile sources beyond the baseline risk he suffers now.
- the advice reader is not vulnerable to break-in because it does not offer any kind of interactive shell offering log-in access, as the term break-in requires.
- the advice reader does not expose the consumer computer to any extra risk of attack beyond the risk the consumer already faces due to Internet connectivity.
- the advice reader adds no risk because it does not make available any perpetually open TCP/IP port which can be flooded with requests. There is nothing the outside world can do to try to talk to or initiate an interaction with the advice reader.
- the advice reader does not expose the network to any risks of worms.
- the system does not offer any mechanism by which anything can spread from advice reader to advice reader.
- a server using the invention exists for the purpose of offering services to the outside world. It is visible on the Internet and open for business, typically around the clock.
- the server can be flooded with requests as with any Internet server. There are well known techniques to combat such request floods, and professional Web site operators know about them.
- the server side users of the invention are professionals who are well equipped to evaluate and react to this type of standard threat.
- the invention's server does not expose the server to any risks of worms.
- the system does not offer any mechanism by which anything can spread from advice reader to advice server, or by which anything other than an extremely narrow range of functions can be performed by the server.
- the advice delivery mechanism allows network security personnel to create advisories warning the consumer when the consumer is behaving in a way that leaves the door open to criminal disruption.
- the advice delivery mechanism also allows network security personnel to author advisories which diagnose whether a user is currently being attacked, or has been recently attacked. In this way, the invention functions as an immune system, allowing the rapid spread of corrective advice.
- the advice reader only interacts with advice sites that have been subscribed to by the user.
- the user is therefore, in his choice of subscriptions, exerting a kind of permanent high level supervision. If the user subscribes only to sites offered by organizations with a strong incentive to provide trustworthy advice, he is protected. An individual making harmful advice does not legally have a way to force the introduction of that advice into any given advice reader.
- an impostor creates a near clone of a popular and trusted site, such as the site of MicroComp.
- the impostor site also contains harmful advice.
- DNS spoofing provides a way for the impostor site to appear to certain users on the network as if it were actually the popular and trusted site of MicroComp. The only way this could happen under current network protocols is for the impostor to interfere with the DNS lookup process of certain consumers, and misdirect certain consumer advice requests aimed for MicroComp.
- DNS spoofing operates as follows: The impostor must have system level access to a machine on the Internet which is physically located in a position to intercept some of the domain name resolution requests intended for a certain Domain Name Server (DNS). The impostor programs the IP routing logic to inspect the intercepted requests looking for those which refer to MicroComp and, when such a request is found, to return an incorrect TCP/IP address, the returned address referring to his fake advice site. All advice readers situated downstream from the impostor are in this way misdirected to the fake advice site whenever they try to go to the MicroComp advice site. The fake site appears just like a real site, but distributes harmful advice under the pretense of being a trusted provider, in short, by perpetrating DNS fraud, there is a way for an attacker to introduce damaging advice directly into one or many computers.
- DNS Domain Name Server
- This sort of activity affects only a subset of the users of a large public network such as the Internet. For example, assuming that an individual consumer enjoys a secure connection to a DNS server, and assuming also that the information on the DNS is maintained securely, DNS spoofing is not a material threat for that particular consumer. In most moderately large corporate environments, DNS services are provided within the corporate intranet. Assuming that the impostor is outside the corporation, then for advice consumers within the corporation, this spoofing threat is stymied by the standard security devices for intranets, i.e. firewalls. Certain noncorporate advice consumers enjoy Internet access through Internet service providers offering DNS servers located on the Internet in close physical proximity to their modem banks. Assuming that the impostor is not inside the physical domain of the Internet service provider's offices, consumers who use such DNS services may also be secure against DNS spoofing.
- spoofing is only a threat for advice readers relying on insecure connections to their DNS.
- DNS connections may be digitally authenticated, and the spoofing threat is stymied in such settings as well.
- the invention has a way to stymie this threat under the current regime using digital authentication of advice itself.
- Digital authentication of advice is also of interest to those consumers with secure DNS connections because advice may be distributed, in some implementations, by insecure means such as e-mail or sneakemet. It gives the user additional confidence in the advice he is receiving.
- digital authentication refers to the use of existing digital signature mechanisms based on so called public- key/private-key pairs (see PGP 4.0 Users Manual. PGP Pretty Good Privacy, Inc. (1997)). This mechanism is developing into a well understood, mature, and reliable standard. Other forms of digital authentication can be used with equal validity.
- the advice provider e.g. MicroComp
- the provider takes steps, described below, to publicize the correct public key.
- the provider knowing both keys of the pair, attaches to each advisory a signature block which is successfully interpreted by an advice reader which knows the correct public key.
- the ability to interpret the block is considered by the advice reader proof that the author knew both keys, which is considered proof that the author is in fact MicroComp.
- a user interface component informs the user that a given piece of advice is signed by MicroComp. The precise meaning of this is that the signature block is successfully interpreted by using the known public key.
- the invention's mechanism for protection from the DNS spoofing threat involves actions by both the consumer and the provider.
- the provider authors a site description file, containing a listing of the information related to the subscription, including the site's location and the site's digital signature public key.
- the provider publishes the site description file, for example in physical media such as a disk or CD-ROM, as part of the distribution of a software product offered by MicroComp. In this way, many consumers obtain copies of the site description file by secure means.
- a consumer initializing a subscription to MicroComp presents to the advice reader's subscription manager the site description file for MicroComp.
- the provider whenever authoring an advisory, attaches a digital signature block.
- the advice reader whenever obtaining a piece of advice, checks that the digital signature is successfully interpreted using the public key known to the reader to correspond to MicroComp. Unless the advisory passes this test, the advice reader refuses to evaluate the advice for relevance. The reader may also notify the user that there is unsigned advice coming from a site whose site description file claims that the site provides only signed advice. The reader also offers to inform Better Advice Bureau of this fact.
- an impostor is highly unlikely to be able to author advice with a digital signature which is intelligible using the correct MicroComp public key. Unless the impostor can do this, the advice reader refuses to evaluate the advice for relevance, and so the impostors advice poses no substantial threat.
- the consumer's subscription must be initiated using a site description file that is not obtained through secure channels, such as the original software installation from physical media.
- the impostor must author fake site description files and distribute these on the internet.
- site description files may include a digital signature by a central authority, the Better Advice
- a typical implementation of the subscription manager performs key verification prior to recording a subscription. It contains hard wired information enabling it to make a direct TCP/IP connection to a hard wired IP address of a key authentication server. Such a server verifies that a given organizations public key is as it is said to be. Because the contact address of the server is hard wired into the program, access to the key server cannot be DNS spoofed.
- the advice consumer is protected from spoofing when the advice provider digitally signs his advisories.
- DNS Spoofing while a significant threat to Internet security, is not more of a threat to the invention than to other components of the Internet, especially e- commerce.
- the Better Advice Bureau.org and UrgentAdviceNet are important devices to help suppress spoofing of advice.
- Better Advice Bureau.org and UrgentAdviceNet are important devices to help suppress spoofing of all Internet activities.
- Another potential hole in the invention's security system is the possibility that a copy of the executable binary of a legitimate advice reader is acquired by an attacker, and then is systematically altered to introduce various new behaviors.
- the resultant illegitimate reader is then redistributed on the Internet, where it masquerades as a legitimate copy of the advice reader, and is downloaded and used by unsuspecting consumers.
- anyone who downloads software over the Internet from sites which are not authentic providers of trusted software exposes himself to the same risk, whether the software is a word processor, a spreadsheet, a Web browser, or the advice reader.
- the advice reader is written to create certain data blocks with known properties dynamically in memory at known location offsets from the beginning of the program.
- the method by which the data was created and the purpose of the creation are guarded secrets.
- the server selects random blocks of this data and asks the reader for the correct digital digest associated with such a block. If the program is altered, it is difficult for the executable code to answer the challenge correctly. If the server receives an unsatisfactory answer, the server then transmits advice to the reader which is automatically relevant, stating that the user's advice reader appears illegitimate.
- the advice reader may also refuse to interact with servers that do not pass a digital authentication test.
- the invention at Better Advice Bureau.org, offers advice whose intent is to verify that a valid configuration of the invention is installed.
- the advice which may change daily, asserts that certain blocks of the data in the CPU memory while the advice reader is running have certain digital digests.
- the blocks are chosen randomly by the Better Advice Bureau.org authority, or according to design, when a certain well known mole is to be diagnosed from a specific motif in the binary data at a specific location.
- invention diagnoses moles and notifies users about them. Reduction of Mole Threats
- Moles while a potential threat to Internet security and privacy, are not more of a threat to the invention than to other components of the Internet, especially e- commerce.
- Better Advice Bureau.org and UrgentAdviceNet are important devices to help suppress spoofing. The same remark applies to moles.
- Better Advice Bureau.org and UrgentAdviceNet are important devices to help suppress mole applications uniformly. By the use of these devices, the Internet's susceptibility to mole activities may be reduced, and the attractiveness of mole activities in other settings, outside of invention is reduced.
- Advice providers in one core application e.g. technical support, are part of sophisticated organizations which have the ability to do things in a disciplined way. They understand that advice should be tested for safety and effectiveness and be released in a deliberate, staged manner. Because of this, it is likely that very few pieces of advice in the technical support applications area are defective. Nevertheless, there are occasional problems with advice authored by typically trustworthy providers.
- the invention is specially designed to limit risk.
- the invention is typically used in a mode of automatic unattended operation.
- advisories are gathered from external advice sites without user intervention and are automatically evaluated for relevance without user intervention.
- the consensus of Internet experts is that automatic unattended operation over the Internet poses serious risks.
- the invention does not download arbitrary resources, nor does it evaluate arbitrary executable code. Its design imposes constraints on what information can flow into the computer automatically, and on what effects automatic evaluation can have. These constraints are specifically imposed to avoid the known risks of unattended operation.
- the invention does not automatically apply solution operators, even when performing automatic unattended operation.
- the effects of automatic unattended operation on the system are not direct effects, i.e. the advice reader does not enable modify access to a specific piece of the system environment.
- the effects are instead indirect, i.e. side effects of consuming too many resources during the downloading and evaluation of advice.
- the side effects to be concerned with are of three types:
- Problems (a) and (b) are solved by resource rationing.
- the information that can flow into the computer consists of ASCII text files.
- the system protects against the possibility that overly many network resources are used and protects against the possibility that overly big files are downloaded into the machine, exhausting the capacity of the processor or storage device.
- Problem (c) is also partly solved by resource rationing. By metering CPU usage and imposing resource quotas, the invention can address the problem.
- the invention is designed to support security habits in several ways.
- the relevance language is an example of mobile code. Such code is written by an author on one computer for interpretation on another computer. Recently, there has been considerable interest in the development of safe languages for mobile coding (see S. Oaks, Java Security, Oreilly(1998); and N. Borenstein, Email with a mind of its own: The Safe-TCL Language for Enabled mail, http://minsky.med.Virginia.edu:80/sdm7g/Projects/Python/safe-tcl/). Java and Safe-TCL are examples of so called safe languages, i.e. they are considered to provide a degree of safety that traditional languages such as C and C++ cannot offer.
- the relevance language is a language for mobile coding.
- the language offers a level of security protection in excess of the current norm of the Internet business community.
- Relevance Language interpretation is inherently safer than safe languages for mobile code, such as Java and TCL.
- Java, TCL, and related languages are procedural languages. They contain control features such as loops, recursion, and branching statements which, if abused, can consume large fractions of system CPU resources. They offer authors storage allocation facilities which, if abused, can potentially consume large fractions of system memory resources. Remote unattended operation of code from these languages obtained over the Internet can in fact be dangerous, despite the labeling as safe. In fact, these mobile code languages are typically only used in attended operation. For example, mobile Java code is typically used in Web browsers, with a human watching the screen as the code runs. It is implicitly understood that the human is supervising the execution of the process.
- the relevance language is a descriptive language rather than a procedural language. It describes a state of the computer and its environment. Relevance evaluation is a process of determining whether this state holds or not. This description of the state uses a language that does not exhibit traditional control structures, such as loops, nor does it have traditional storage allocation facilities.
- the relevance language is so tightly constrained that it is not Turing- complete. It does not suffer from the famous Turing halting problem, which is a typical property of procedural languages.
- the Turing halting problem is to decide whether a given computer program ever halts or not.
- Most procedural languages are undecidable. They contain programs, perhaps even simple ones, for which it can never be known in advance whether the program must always halt.
- Java and TCL programs can be undecidable.
- statements expressible in the relevance language are decidable, i.e. they halt. This is an additional level of security that goes well beyond the security guarantees of mobile code languages, such as Java and TCL.
- An additional security feature of the invention is the human intelligibility of the relevance language.
- the relevance language has an appearance which is reminiscent of ordinary English.
- a consumer who reads English can form an approximate sense of what a given piece of advice is doing by inspecting the plain text of the advisory. In this way, consumers are brought into the process of understanding the advisories sent to them. While it is true that untrustworthy advice providers, by writing opaque relevance clauses, may still be able to disguise their intentions, the more important point is that trustworthy advice providers are able to make their intentions clear to consumers, and thereby gain and cultivate trust.
- the invention offers, in one implementation, a mechanism to encourage advice providers to label their advisories clearly for intended effects and thereby provide the public an accurate understanding of the risks associated with a given solution operators.
- the Better Advice Bureau defines and maintains a list of special labels which indicate the effects of a certain solution operator, for example, the subsystems affected, the extent to which effects are reversible, and the availability of further documentation explaining the proposed change.
- the advice provider uses this labeling system to describe the effects of the advisories published by the provider.
- the advice reader uses this labeling mechanism as part of its user interface during the solution proposal process. When a consumer is contemplating applying a solution operator, part of the user interface indicates for the consumer the types of side effects which may result, according to the labeling which the provider has supplied.
- the advice reader accesses a great deal of information about the consumer's computer, about the contents of the files on the consumer's computer, and about the interactions of that computer with devices in the immediate environment.
- typical implementations of the advice reader are able to access that information, for example bank balances and prescription drug information.
- the advice reader is able to access information about that environment, for example whether certain devices are present in the environment, whether they are operating, and what their conditions of operation are. Enabling the invention to access this information is beneficial to the consumer, allowing helpful advice to be written which can identify problematic situations and call them to the attention of the consumer.
- the invention is designed to protect user privacy, offering a level of protection far in excess of the current norm of the Internet business community.
- Internet mediated activities can result in the disclosure to Web servers of information about the browsing consumer's identity, computer configuration, and also certain items about consumer shopping or browsing interests.
- Web servers of information about the browsing consumer's identity, computer configuration, and also certain items about consumer shopping or browsing interests.
- consumer oriented groups such as EPIC (Electronic Privacy information Center) have formed in response, and there are currently political battles over the consumer's right to electronic privacy.
- the invention offers a method which meets or exceeds the level of information privacy desired by consumer groups, while providing the fine grained targeting of messages to recipients desired by industry groups.
- the standard that the invention offers is understood by considering a classification of privacy respecting/threatening behaviors.
- the ethical standards of advice providers are classified into four categories, definitions of which are provided below.
- Completely ethical behavior of an information provider is defined as full respect of consumer privacy and of the intended purpose of the invention communications protocol.
- a completely ethical provider would ...
- the invention does not allow unsolicited interactions with the outside world. In routine operation, the invention has interactions only with the advice servers to the user has subscribed. Assuming that security problems, such as spoofing and moles are not an issue, the risk of compromising privacy is therefore focused on the interaction between consumer and trusted advice provider. As described below, the invention's communications protocol divides the advisory communications process into the following stages:
- ACP-b Gathering.
- the consumer's advice reader anonymously gathers advice from the site.
- the consumer's advice reader displays a document authored by the advice provider, explaining why a certain advisory is relevant, and proposing a solution/response.
- ACP-e Solution/Response.
- the consumer evaluates the document and, potentially, accepts the proposed solution/response, potentially interacting with the world as a result.
- the invention operating with the AEUP communications protocol, makes steps (ACP-a)-(ACP-d) completely private and localizes the information sharing potential to step (ACP-e) .
- a completely ethical advice provider never seeks to violate the privacy protection of steps (ACP-a)-(ACP-d) of the protocol.
- a completely ethical provider never seeks to perform covert identification or surveillance of a consumer community using the invention.
- server activity the identity or attributes of any user.
- tools to infer from network activity the attributes of any user.
- use the invention as a pure broadcast advertising medium, creating advisories which make unsolicited contact with all or a very large number of consumers.
- Any efforts to use the invention to gather information from consumers are based on a questionnaire process at solution time (ACP-e) and come with full prior disclosure to the consumer at explanation time (ACP-d), in easily understandable terms, of the types of information being gathered, of the purposes for which they are being gathered. There are no efforts to use information so received in ways unrelated to the disclosed purpose of the information gathering effort. There are no efforts to use information gathered from such a questionnaire to correlate with future server activity.
- the invention encourages providers to behave in a completely ethical way.
- the invention may provide mechanisms to encourage consumer knowledge of the standards of completely ethical behavior and knowledge of the standards kept by individual providers.
- the invention contains mechanisms to defeat and discourage criminal attacks on privacy and to defeat and discourage unethical behavior.
- the invention has several mechanisms to promote and enforce completely ethical behavior.
- the system encourages users to be aware of the quality of a site.
- One important component of quality is ethical quality.
- the Better Advice Bureau provides a mechanism to issue advisories warning against unethical sites.
- the Better Advice Bureau maintains an openly accessible list of objective causes for counter advisories. This list makes it clear to consumers and providers the types of behavior which result in counter advisories. In this way, providers receive guidance about what constitutes unethical behavior. Those providers wishing to preserve public trust act ethically.
- the invention may frustrate attempts to violate the privacy intent of the protocol. As described below, all legal threats to the protocol have effective responses from the invention, and a provider must engage in criminal activity to violate the communications protocol.
- the invention uses a protocol (AEUP) for information exchange over open public networks which imposes a much higher standard of information ethics than the current industry standard.
- AEUP protocol for information exchange over open public networks which imposes a much higher standard of information ethics than the current industry standard.
- the protocol protects against certain outright criminal behavior.
- AEUP provides a one way membrane between the consumer computer and the outside world.
- the word subscription implies a sort of registration process by which a user identifies himself to a provider as a subscriber.
- AEUP AEUP
- Advice is made freely and anonymously available in the same way that Web sites make Web pages available freely and anonymously.
- the subscription process is an interaction between the user and the user's own advice reader, not between user and some external advice provider.
- the advice reader operating on the user's computer obtains from the user the selection of advice sites of interest and stores those on the user's computer only as part of a database maintained locally by the subscription manager component of the advice reader. That database controls the evaluation of advice, causing the advice gatherer to gather advice periodically from some sites and not from others.
- Subscription is a private matter.
- the act of gathering advice does not reveal information that a certain consumer is interested in certain things, or that he has a certain computer configuration.
- an advice site can learn about the identity of a subscriber from the fact that the subscriber's advice reader frequently gathers information from the site.
- the only thing that can be learned from the act of gathering is that a connection to an advice site has been made from a certain IP address.
- IP address Under current network protocols most consumers have dynamic IP addresses, and so the correlation between IP address and identity is weak, lasting typically a few minutes. Hence, the information in an IP address is generally of little value.
- Proxy servers are a well known tool by which certain IP client-server transactions are replaced by a three-party client- proxy-server interaction, with the proxy requesting data of the server and routing it anonymously to the client. To the server, it appears that the proxy is the client. To the client, it appears that the proxy is the server. There is never any direct contact between the server and client. The server never obtains the identity of the client, i.e. its IP number.
- the invention in one implementation, is configured to offer universal proxy service to all users, and the advice reader offers to the user, as one optional means of connection, the use of such a server.
- Better Advice Bureau.org or another central authority offers an anonymous advice gathering server which accepts advice gathering requests from users, strips them of return addresses, routes them to advice sites, and forwards the returned information to the user. This mechanism conceals the IP address of the user.
- the act of gathering may be thought to divulge information because the gatherer selects only certain documents from among those available at the advice site. This objection is based on a misunderstanding of AEUP.
- the advice gatherer always accesses all documents available at a certain site, which are not already present on the consumer machine. No selection of any kind is performed at gathering time. Relevance is determined only after all the advice has been gathered and stored on the consumer computer. The only correct inference that can be made from the behavior of the advice gatherer is that the consumer has an ongoing subscription to that site.
- This approach is very different from currently popular approaches to obtaining relevant information using Internet.
- the user fills out a form expressing, for example, preferences, characteristics, and system configurations.
- This form is sent to the server.
- the server responds to the consumer in a focused way, based on the information that was contained in the form. This standard process reveals information about the consumer to the server.
- the relevance or irrelevance of a given piece of advice can signal a great deal of information about an advice consumer's computer and its environment.
- a very narrowly focused condition, specifying contents of the user profile, and contents of specific files can, if true, convey a great deal of information about the user.
- advice reader allows the fact of relevance or irrelevance of an advisory to leak out of the reader to the outside world, it compromises the consumer's privacy. If this happens during unattended operation, the outcome might be very serious because many thousands of advisories are being evaluated for relevance. If there is a mechanism for systematically discovering the relevance of an arbitrary collection of many pieces of advice, a complete profile about the consumer and his environment leaks out.
- the advice reader's relevance evaluation process has as its only externally observable effect a resulting change in the state of the user interface. The user is notified when a certain piece of advice has become relevant, and that is all.
- the simple fact that something evaluated to relevant causes no activity outside of the user's computer which can be observed by others. There is a possible exception to this when remote inspectors are available. See below.
- Reading a text file in the privacy of one's own interaction with one's own computer does not offer any breach of privacy. No one in the outside world need know that one has read the file. However, reading a Web page is a different matter.
- a hole in the one-way privacy membrane maintained by invention is opened by the careless offering of HTML or other hyperlinked media as a valid type of advisory content in the explanatory component of the advisory. The discussion below describes the hole and its consequences, and describes why the invention, in a typical implementation, does not leave this hole open.
- the final step in the advice processing chain is the application of a recommended solution operation. Because this operation can be an essentially arbitrary operation, it is not possible for the invention to control the effects of this operation.
- the recommended operation includes electronic correspondence with the advice author, divulging identity and attributes. For this reason, there is a design constraint:
- the advice reader does not apply recommended solution operators automatically. They may only be applied after user approval.
- the eavesdropper is then in a position to program the IP transport logic at the node under his control to take note of the existence of IP traffic between the consumer and the destination.
- the eavesdropper is in a position to author advice asserting R and I and to publish the advice at his advice site. After this advice is gathered by the consumer machine, it is evaluated automatically for relevance.
- conditional evaluation There are implementations of the advice reader that do not perform conditional evaluation. These schemes always evaluate all subexpressions of an expression before inferring the value of the expression. The decision to use conditional evaluation in an implementation is based on performance considerations. Advice readers using conditional evaluation typically run faster.
- eavesdropping activity of the sort described constitutes a form of electronic stalking and may be illegal.
- Such situation requires either that the trusted advice author be himself an eavesdropper, engaging in conspiracy with the eavesdropper, or does not act to prevent unauthorized advice from being injected in his name, for example by signing his advice.
- the advice consumer may protect himself from this threat by subscribing to trustworthy sites only, i.e. sites meeting the standard of completely ethical behavior.
- the advice consumer may also protect himself from this threat by configuring the advice reader to restrict the domain of allowed relevance checking to a domain where he has physical control. In extreme cases, this means limiting relevance to check conditions verifiable only on the machine where the advice reader is running.
- advice reader can allow network activity and yet protect against this type of eavesdropping.
- the advice reader is configured to avoid conditional evaluation. In that event, no information about relevance evaluation is revealed by the existence of observable network activity between consumer and destination.
- the advice reader is configured so that each inspector has an attribute Remote- Activity which is set in case the inspector causes activity off the machine running the inspector.
- the advice reader in parsing a relevance clause, identifies those subexpressions which have attribute Remote-Activity and forces evaluation of those subexpressions.
- Inspectors with the attribute Remote-Activity are constrained to work only on cached data, using queued requests, to a prespecified location or collection of locations. This means that an inspector, when receiving a request for an attribute determinable only remotely, can check a local cache. If the answer is found in the cache, it responds with the answer. If the answer is not found in the cache, the request is placed in the queue for future evaluation.
- a process runs according to a fixed schedule, e.g. once per day, which communicates with a fixed list of remote machines, and which at that time processes all requests that have been cached in the last day.
- a fixed schedule e.g. once per day
- relevance evaluation per se causes no network activity outside of regularly scheduled activity.
- HTML document The final appearance of a typical modern HTML document is the product of several files rather than a single one.
- the HTML document itself gives a kind of logical skeleton of the display, and an inventory of the textual component, and a collection of links to various graphics and multimedia files, which provide the visual components.
- a Web browser constructs the rendered image in a series of stages. First the HTML file is gathered and the skeleton of the document is rendered. If the HTML document refers to remotely located multimedia files, then the Web browser begins to gather those files;. After the files arrive, they are used to format and render the final display.
- an advice provider has authored an advisory containing an HTML file making references to files located on the advice providers server in its explanatory component.
- the advice reader behaves as a traditional Web browser in rendering HTML.
- the underlying graphics files is gathered from the advice server.
- there is noticeable activity at the advice server caused by the fact of reading an advisory. If the advisory is irrelevant, the HTML is not rendered and, because the unrendered HTML never leads to a gathering of the multimedia file, the server can infer from this activity that an advisory evaluated to relevant. This constitutes a leak of information through the one way membrane, back from consumer to provider.
- a completely ethical advice provider must not take any notice of this activity.
- a merely ethical advice provider could, in principle, exploit this fact to learn something about the consumer population.
- such an advice provider can author an advisory referred to a special multimedia file, pointed to only by this advisory. Counting the number of references to the multimedia file, and dividing by the number of gathers of the advisory itself, one can obtain an estimate of the fraction of the consumer population which exhibited a certain combination of circumstances.
- the advice reader can destroy all correlation which might otherwise be visible at the advice site between identity of gatherer and fact of gathering. In effect, the advice reader is requesting the multimedia file from the proxy server rather than the original site.
- the proxy server caches the multimedia file locally and so serves many requests for the multimedia file while only asking for the file once from the advice site.
- Advice sites may find this arrangement advantageous because it minimizes the load on their own server. In return, they lose the ability to make population attribute prevalence studies, or to make correlation between identity and attributes.
- the gathering process includes the automatic downloading of all multimedia files referred to in the HTML of an advisory. This works as follows: A preliminary parsing of the advisory leads to a listing of all multimedia files referred to in the HTML source of the explanatory component of the advisory. The advice gatherer gathers those files immediately, ensuring that if the advisory ever becomes relevant, the file is available locally. For this implementation of invention, there is no connection between the fact that a file was gathered and the possibility that a certain advisory may be relevant.
- HTML-A and (HTML-B) may be used simultaneously. That is, a proxy server may gather advice on behalf of a client, and also all multimedia files referred to in any HTML source contained within that advice. The consumer advice reader initially gets only the advisory files, and not all the multimedia files. At the proper time, the multimedia files are gathered from the proxy server. In this way, there is again no connection between the fact that a file was gathered and the possibility that a certain advisory may be relevant.
- the gathering process includes the random downloading of some multimedia files referred to in the HTML of some advisories. This works as follows: A preliminary parsing of the advisory leads to a listing of all multimedia files referred to in the HTML source of the explanatory component of the advisory. The advice gatherer periodically gathers a few randomly selected files from that list. This ensures that, for any advisory that an advice author publishes, a large fraction of the multimedia files are accessed, not for reasons of relevance, but due to outcomes pure chance experiments.
- the Better Advice Bureau is a fundamental tool for encouraging ethical behavior of authors. All users subscribe to this site. This site compiles counter advice, informing users about unethical sites and about unethical advice which has been circulating. Better Advice Bureau defines a solution operator as unethical if it involves divulging information to the author without first informing the user that information is to be divulged or without informing the user accurately about the nature of the information that is to be divulged. If pieces of mole advice are circulating which behave unethically, and they come to the attention of Better Advice Bureau.org, it may release counter advisories against them. Hence, the Better Advice Bureau functions in some respects as an privacy protection system for the invention, allowing the correction of unethical situations.
- the critical subsystems which may be affected by the advisory's proposed solution. Whether information may be revealed by using the advisory's proposed solution.
- Better Advice Bureau considers it grounds for a counter advisory if an advisory is mislabeled. Persistent, concerted efforts to misinform are considered by Better Advice Bureau grounds for a site counter subscription advisory.
- a key component of the invention is the synchronization between consumer and provider site images. This happens according to AEUP.
- synchronization is effected by different means. These are described below.
- each advisory message is abstracted into a short form consisting of at least a message identifier referring to the original advisory, the relevance clause of the original advisory and, potentially, other information, such as a subject line.
- the advice server in addition to directory messages and whole advisory files, also serves to the advice reader the abstracts of one or many advisories.
- the advice reader instead of ensuring that it has the entire body of each advisory of the advice site, ensures that it has at least the abstract for each message. It does this by issuing requests for all the abstracts of all the advisories that are new since the previous synchronization.
- the advice database changes.
- the database contains two kinds of entries: full advisories, and advisory abstracts.
- the advice reader schedules relevance evaluation for all the relevance clauses it has obtained, both those clauses contained in full advisories and those clauses contained in abstracts.
- a relevant advisory can trigger a new round of contact between advice reader and advice site.
- the advice reader either in anticipation of the user wanting the full advisory or after a direct user request, establishes a connection with the advice site, and requests the bodies of certain advisories.
- the result of this protocol is that, whereas the consumer's advice reader accesses and evaluates all the published relevance clauses, it does not download all the published advisories.
- This protocol can be advantageous if the published advisories consume considerably more storage than the abstracted advisories. It saves the consumer time in accessing a large body of advisories and saves the provider time in serving requests.
- a potential drawback of this protocol is the possibility of compromises of consumer privacy. Under the ASUP protocol, it is conceivable that an advice provider attempts to make inferences about the consumer based on observing the advisory files requested and not requested by the advice reader. If the protocol is implemented exactly as described above, the consumer never requests the entire advisory when the clause is not relevant and always request the entire advisory when the clause is relevant.
- An advice provider whose intent is to learn information about a specific consumer, in principle, correlates server requests for full advisories with IP addresses from which they came, inferring that requests signify the relevance of the corresponding advisory on the corresponding computer. If the IP address is permanently assigned to a certain consumer computer, the provider in principle correlates such requests with consumer identity. In this way, information about the consumer may leak back to the server.
- Proxy server The potential for information leaks is reduced by having the advice reader request full advisory bodies via a proxy server, which anonymously forwards advisory body requests to the advice site, and thereby masks to the advice site the identity of the requester.
- a centralized proxy server for example located at the Better Advice Bureau or at advisories.com is made available for this purpose.
- the supply of server software can be restricted by modifying the reader/server interaction so that a certain security handshake is mandatory.
- a certain security handshake is mandatory.
- digital encryption technology as part of the security handshake and by restricting access to the appropriate security handshake keys, one restricts access to the ability to build server software.
- Valid server software may be made available only on condition that recipients do not eavesdrop.
- the concept of anonymous subscription is not workable, for example because advisories are made available only on a for-pay basis, and the reader/server interaction includes a handshake segment in which the reader must qualify himself as a paying customer.
- a variant on this scenario is in providing advice to members of a club, where members are not in any narrow sense paying for the advice subscription itself, but need to be members to qualify for the advice.
- NEUP non-anonymous exhaustive update protocol
- the concept of anonymous subscription is not workable and the use of exhaustive updating is not workable, either because there is a very large body of potentially relevant advisories to consider or each advisory is rather large in size, and very few of the advisories are likely to be relevant, so consumers and providers are not willing to devote extensive resources to exhaustive updating.
- the non-anonymous selection update protocol provides this non- anonymous setting where the advice reader selectively updates, obtaining first abstracted advisories, evaluating relevance, and later downloads relevant advisories.
- the NSUP by itself gives the consumer no guarantees privacy from the provider.
- a single centralized site stores the advice offered by many different advice providers, with the different advice sites actually serving as different subdirectories of a single file system. All advice readers operating on consumer computers synchronize their site images by contacting this centralized site and requesting resources, such as advisories, from this site.
- the single site actually consists of a collection of computers mirroring each other's functions and contents.
- This arrangement limits advice sites to those satisfying certain standards imposed by the central server management by restricting the supply of advice sites, and thereby ensures that advice sites are run by typically responsible organizations.
- the centralized site allows advice providers to update the contents of their sites on the centralized server by use of standard methods, such as FTP or related file transfer methods.
- a single centralized site is available to act as a Proxy server for all advice readers.
- the centralized proxy server caches the advice offered by many different advice providers.
- Advice readers on consumer computers request the proxy server to make available resources, such as advisories, from certain advice sites. If those resources are available on the proxy site, they are served immediately to the user. If they are not available, the original site is queried for the resources, which are both forwarded anonymously to the user, and also placed in the proxy site cache.
- the advice site includes a method to signal the centralized proxy site when the original site is changed, indicating that it is time to flush the cache (see Hallam-Baker, Phillip M. (1996) Notification for Proxy Caches, World-Wide-Web Consortium Technical Report, http://www.w3.org/TR/WD-proxy).
- This arrangement addresses consumer privacy concerns. By insulating consumers from providers, this arrangement prevents providers from learning about the identity or about any relevance attributes of any consumers. In particular, even the ASUP protocol is safe in such a setting, provided the central advice site does not log or analyze reader-server transactions.
- Centralized Anonymous Advice Remailer
- advice distribution operates by the use of Internet e-mail transport, routed through a centralized remailer by the use of anonymous mailing lists.
- advice site architecture discussed above is maintained. However, there is a widely distributed base of advice sites. Many readers do not contact those sites directly. Instead, they get advice by anonymous mail. In this implementation, advice sites e-mail their new advisories to the central remailer site, which in turn e-mails them to a mailing list which is kept confidential, consisting of individuals who have contacted the central site and established a subscription relationship. In this implementation, there is a new form of advisory specially designed for retraction. Advice sites handle retraction of advice by e-maiiing retraction advisories to the central remailer site, which in turn e-mails them to the mailing list.
- the advice reader cooperates with the e-mail reader on the consumer computer and with the consumer's e-mail reader configured to filter advice automatically into a mailbox designated for advice reader access.
- the advice reader performs site synchronization, not by contacting the original advice site, but instead by interpreting the contents of the mailbox that have arrived since the previous synchronization.
- This approach is particularly suited for working with POP3 Internet mail servers.
- This arrangement is essentially an implementation of the AEUP protocol using e- mail. Neither the fact that a certain consumer has a subscription nor the fact of a certain advisory is relevant is generally available to the advice provider. Under this arrangement, the one way membrane that AEUP provides is made particularly clear to consumers. Consumers understand that the advice site need not know that they subscribe to the site and that there is never direct IP traffic between the consumer machine and the advice site. They can see, by inspecting the plain text of the mail, that advisories are not coming to them directly from the advice site, but instead are transferred anonymously to them from the centralized advice remailer.
- a potential weak spot in this arrangement is the existence of a secret mailing list whose secrecy is compromised. To inspire consumer confidence, it is best that the centralized remailer is operated by a trusted consumer minded authority.
- this arrangement prevents providers from learning about the identity or about any relevance attributes of any consumer who participates in this arrangement and who do not choose to disclose anything to the providers voluntarily.
- advice distribution operates via USENET news transport.
- the advice site architecture described above is maintained. There is a widely distributed base of advice sites. However, many readers do not contact those sites directly. Instead, they get advice by USENET. In this implementation, a whole collection of USENET newsgroups is created, e.g. one per advice site. The advice site, from time to time, posts new advisories to USENET, which, in turn, cause the new postings to be distributed worldwide to all machines that operate as newsgroup servers. Under this arrangement, the advice reader then performs site synchronization, not by contacting the original advice site, but instead using USENET protocols to contact a newsgroup server and access new postings in certain newsgroups.
- This arrangement is essentially an implementation of the AEUP protocol using USENET. Neither the fact that a certain consumer has a subscription nor the fact of a certain advisory's being relevant is generally available to the advice provider.
- the one way membrane that AEUP provides is made particularly clear to consumers. Consumers understand that the advice site need not know that they subscribe to the site and that there is never direct IP traffic between the consumer machine and the advice site. In fact, because the act of receiving news via USENET is anonymous, there is not even a mailing list anywhere and so there is no centralized information base linking them to the advice site.
- advice distribution operates by the use of what are commonly referred to as channels by push providers, such as Backweb, Marimba, and PointCast (see Ellerman, Castedo (1997) Channel Definition Format , Wo rl d-Wide-Web Conso rti u m Tech n ical Repo rt , http://www.w3.org/TR/NOTE-CDFsubmit.html).
- advice distribution operates by the use of e-mail mailing lists. In either case, the distribution method is referred to as a channel. The logical relationships are the same. None of importance changes below if every occurrence of the word channel is changed to mailing list.
- the advice site architecture discussed above is maintained. There is a widely distributed base of advice sites.
- the advice reader perform site synchronization by listening for incoming data on the channel, and processing the incoming advisories as they arrive.
- This arrangement is essentially an implementation of the NEUP protocol.
- the fact that a user has a subscription is known to the content provider.
- the fact a certain advisory is relevant is generally unavailable to the advice provider.
- the one way membrane that AEUP provides is made particularly clear to consumers, if channel providers offer truly one-way channels and explain this to consumers. For example, mailing lists are well understood by consumers to offer what is typically a one-way communication. Consumers understand that communication only becomes two-way when the consumer wishes to initiate contacts in the other direction.
- a way to address consumer concerns about advice provider intentions is to restrict the population of advice providers to just those providers who have signed and who are fulfilling a contract to behave in ways which offer consumers guarantees. This has three components:
- a relevance clause is an assertion about the state of a computer or of its environment or of the state and environment of computational devices reachable from the computer.
- the relevance language provides a way for an author to describe components of the state of a computer. However, there are other ways that components of the state could be described.
- the advice reader and the associated inspector libraries give a way to compare a description of the state with the actual state. However, there are other ways that components of the state could be compared with a description.
- a file watcher application that watches to see if certain files had appropriate attributes.
- This application maintains a database of assertions. Each entry names a file or directory, a list of the specified attributes of the object, a specified watching frequency, and a pointer to a message and action associated with failure of the assertion. Examples of specifiable attributes include existence, name, version, size, and checksum.
- the file system watcher running continually, at scheduled times, or under user control, goes through its database of assertions and checks that each entry has the asserted status, e.g. each file has the specified attributes. If it finds an entry that does not have the required status, then it passes information about the failure of the assertion, along with the message and actions associated with the assertion, to a user interface module.
- the user interface module a part of the watcher application, and an application used in common across the whole system, presents to the user information about failure of the asserted condition and relays the associated message and recommended response.
- a file watcher application also interprets messages making new assertions about the state, or revokes old assertions.
- the receipt of such a message causes the file watcher to update its database of assertions to include entries making the new assertions or to delete entries making the revoked assertions.
- the file watcher itself receives these messages from a messaging module, which is part of the watcher application or an application used in common across the whole system.
- a remote author who wants to assert conditions about the consumer computer authors messages intended for the file watcher application according to a published file watcher assertion specifier. This is a database entry homologous to the entries in the database kept by the file watcher, or a textual description of an entry, using a keyword language or other humanly interpretable descriptive device.
- Such a specifier is packaged for transport across networks or by other digital transfer mechanism. Such a package is distributed to consumer machines by any of the methods enumerated so far, i.e. AEUP, ASUP, NEUP, NSUP, e- mail, or channels.
- a watcher because it is specialized, is written to optimize the speed at completing a specialized set of tasks. For example, if a file system watcher has to watch several files in the same directory, it is to do so while making only one directory structure access rather than several, thereby saving disk operations. It is possible to avoid certain operations if it is known what the outcome is based on certain earlier operations. If several different assertions must be tested about the same file, it is possible to make a single file access to get the information about all of them simultaneously. In addition, if the watcher accepts instructions in a predefined format that avoids the need for parsing, it can evaluate assertions more quickly.
- a watcher because it is specialized, is written to use a very convenient mode of describing a specialized set of tasks. For example, if a file system watcher accepted expressions in a language, that language is designed to incorporate well proven useful idioms from other systems. Thus, in UNIX, wild cards * , [a-z], ? and related constructs are useful in efficiently describing properties of file systems, for example, in referring to a large collection of files with similar but not identical names. A file system watcher makes use of such a specialized idiom without impacting the design of the interfaces of other watchers in the community of watchers.
- Specialized scheduling algorithms A watcher, because it is specialized, is written to schedule execution of the specialized task set that it addresses appropriately. For example, a file system watcher operating in continuous watch mode follows a specialized scheduling algorithm which is different from the algorithm used for a system settings watcher. In certain operating systems, for example, the file system itself maintains information about whether files or directories changed, which is used to defer evaluation of assertions because it is known that the state of the assertions has not changed since the previous evaluation.
- watchers The collection of watchers is large. In addition to file system watchers and system settings watchers, files such as serial device watchers, printer watchers, and network watchers are provided.
- the community of watchers approach is a variation on the invention.
- the inspector libraries have their actual implementations carried out by variations of such specific watchers.
- a file system watcher is built to watch various characteristics of various files. This is then exploited by the advice reader, as follows: File related method dispatches in the advice reader are implemented as queries to the file system watcher. The file system watcher answers each query and records the query in its database of assertions. The next time the same dispatch occurs, the file system watcher uses its specialized caching, scheduling, and optimizations to get the answer more cheaply, where feasible.
- the community of watchers is an implementation layer for inspectors and the user interface/messaging software of the community of watchers is the advice reader software.
- the second is:
- the third is:
- the fifth is:
- a subtree is maximal if either:
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Finance (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
Claims
Priority Applications (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NZ510258A NZ510258A (en) | 1998-09-01 | 1999-08-27 | Method and apparatus for computed relevance messaging |
AU57914/99A AU762054B2 (en) | 1998-09-01 | 1999-08-27 | Method and apparatus for computed relevance messaging |
EP99945285A EP1116148A1 (en) | 1998-09-01 | 1999-08-27 | Method and apparatus for computed relevance messaging |
CA002344521A CA2344521A1 (en) | 1998-09-01 | 1999-08-27 | Method and apparatus for computed relevance messaging |
IL14154999A IL141549A0 (en) | 1998-09-01 | 1999-08-27 | Method and apparatus for computed relevance messaging |
JP2000568037A JP5235252B2 (en) | 1998-09-01 | 1999-08-27 | Method and apparatus for computed relevance messages |
IL141549A IL141549A (en) | 1998-09-01 | 2001-02-21 | Method and apparatus for computed relevance messaging |
HK02107360.5A HK1046044A1 (en) | 1998-09-01 | 2002-10-08 | Method and apparatus for computed relevance messaging |
IL171710A IL171710A (en) | 1998-09-01 | 2005-11-01 | Relevance clause for computed relevance messaging |
IL171711A IL171711A (en) | 1998-09-01 | 2005-11-01 | Inspector for computed relevance messaging |
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US9879898P | 1998-09-01 | 1998-09-01 | |
US60/098,798 | 1998-09-01 | ||
US09/272,937 | 1999-03-19 | ||
US09/272,937 US6256664B1 (en) | 1998-09-01 | 1999-03-19 | Method and apparatus for computed relevance messaging |
US09/315,732 | 1999-05-20 | ||
US09/315,732 US6356936B1 (en) | 1998-09-01 | 1999-05-20 | Relevance clause for computed relevance messaging |
US09/351,416 US6263362B1 (en) | 1998-09-01 | 1999-07-09 | Inspector for computed relevance messaging |
US09/351,416 | 1999-07-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2000013121A1 true WO2000013121A1 (en) | 2000-03-09 |
Family
ID=27493008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1999/019751 WO2000013121A1 (en) | 1998-09-01 | 1999-08-27 | Method and apparatus for computed relevance messaging |
Country Status (9)
Country | Link |
---|---|
US (3) | US6263362B1 (en) |
EP (1) | EP1116148A1 (en) |
JP (1) | JP5235252B2 (en) |
CN (1) | CN1344398A (en) |
AU (1) | AU762054B2 (en) |
CA (1) | CA2344521A1 (en) |
IL (1) | IL141549A0 (en) |
NZ (1) | NZ510258A (en) |
WO (1) | WO2000013121A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1211596A1 (en) * | 2000-11-30 | 2002-06-05 | Hewlett-Packard Company, A Delaware Corporation | Process and apparatus for automatically monitoring the hardware resources of a computer |
US7162538B1 (en) | 2000-10-04 | 2007-01-09 | Intel Corporation | Peer to peer software distribution system |
US9449350B2 (en) | 2011-05-20 | 2016-09-20 | Hallmark Cards, Incorporated | Prompting service |
Families Citing this family (191)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997036246A1 (en) * | 1996-03-22 | 1997-10-02 | Hitachi, Ltd. | Method and device for managing computer network |
AUPO525497A0 (en) * | 1997-02-21 | 1997-03-20 | Mills, Dudley John | Network-based classified information systems |
US6256664B1 (en) * | 1998-09-01 | 2001-07-03 | Bigfix, Inc. | Method and apparatus for computed relevance messaging |
US6263362B1 (en) * | 1998-09-01 | 2001-07-17 | Bigfix, Inc. | Inspector for computed relevance messaging |
US8914507B2 (en) | 1998-09-01 | 2014-12-16 | International Business Machines Corporation | Advice provided for offering highly targeted advice without compromising individual privacy |
US7197534B2 (en) | 1998-09-01 | 2007-03-27 | Big Fix, Inc. | Method and apparatus for inspecting the properties of a computer |
US7711714B2 (en) * | 1998-09-22 | 2010-05-04 | Hitachi, Ltd. | Method and a device for sterilizing downloaded files |
ATE273538T1 (en) * | 1998-10-28 | 2004-08-15 | Verticalone Corp | APPARATUS AND METHOD FOR AUTOMATIC AGGREGATION AND SUPPLY OF ELECTRONIC PERSONAL INFORMATION OR DATA |
US7672879B1 (en) | 1998-12-08 | 2010-03-02 | Yodlee.Com, Inc. | Interactive activity interface for managing personal data and performing transactions over a data packet network |
US8069407B1 (en) | 1998-12-08 | 2011-11-29 | Yodlee.Com, Inc. | Method and apparatus for detecting changes in websites and reporting results to web developers for navigation template repair purposes |
US7085997B1 (en) | 1998-12-08 | 2006-08-01 | Yodlee.Com | Network-based bookmark management and web-summary system |
US6338068B1 (en) * | 1998-12-14 | 2002-01-08 | International Business Machines Corporation | Method to demonstrate software that performs database queries |
GB9827831D0 (en) * | 1998-12-17 | 1999-02-10 | Tribeka Ltd | Method and apparatus for the distribution of digitised information on demand |
US6389533B1 (en) * | 1999-02-05 | 2002-05-14 | Intel Corporation | Anonymity server |
US6463427B1 (en) * | 1999-03-16 | 2002-10-08 | Microsoft Corporation | Use of object signature property as a search parameter during synchronization of objects on a computer |
US7607572B2 (en) * | 1999-03-19 | 2009-10-27 | Bigfix, Inc. | Formalizing, diffusing, and enforcing policy advisories and monitoring policy compliance in the management of networks |
US6901413B1 (en) * | 1999-03-19 | 2005-05-31 | Microsoft Corporation | Removing duplicate objects from an object store |
US7752535B2 (en) | 1999-06-01 | 2010-07-06 | Yodlec.com, Inc. | Categorization of summarized information |
US7093130B1 (en) * | 2000-01-24 | 2006-08-15 | The Regents Of The University Of California | System and method for delivering and examining digital tickets |
GB2351870B (en) * | 1999-07-09 | 2001-09-19 | Mitel Corp | Feature interaction resolution using fuzzy rules |
US7158986B1 (en) * | 1999-07-27 | 2007-01-02 | Mailfrontier, Inc. A Wholly Owned Subsidiary Of Sonicwall, Inc. | Method and system providing user with personalized recommendations by electronic-mail based upon the determined interests of the user pertain to the theme and concepts of the categorized document |
US6444072B1 (en) * | 1999-08-11 | 2002-09-03 | Southpac Trust International | Process for producing holographic material |
GB2354350B (en) * | 1999-09-17 | 2004-03-24 | Mitel Corp | Policy representations and mechanisms for the control of software |
JP2001134657A (en) * | 1999-11-05 | 2001-05-18 | Sony Corp | Device and method for coping with inquiry, computer readable information recording medium with program having function of coping with inquiry recorded thereon and transmitting medium transmitting program having function of copying with inquiry |
US6876991B1 (en) | 1999-11-08 | 2005-04-05 | Collaborative Decision Platforms, Llc. | System, method and computer program product for a collaborative decision platform |
US6571236B1 (en) * | 2000-01-10 | 2003-05-27 | General Electric Company | Method and apparatus for problem diagnosis and solution |
US7213024B2 (en) * | 2000-03-09 | 2007-05-01 | The Web Access, Inc. | Method and apparatus for accessing information within an electronic system |
IES20010363A2 (en) * | 2000-04-13 | 2001-10-17 | Twelve Horses Technology Ltd | A messaging system |
US7120629B1 (en) * | 2000-05-24 | 2006-10-10 | Reachforce, Inc. | Prospects harvester system for providing contact data about customers of product or service offered by business enterprise extracting text documents selected from newsgroups, discussion forums, mailing lists, querying such data to provide customers who confirm to business profile data |
US6948135B1 (en) | 2000-06-21 | 2005-09-20 | Microsoft Corporation | Method and systems of providing information to computer users |
US7000230B1 (en) | 2000-06-21 | 2006-02-14 | Microsoft Corporation | Network-based software extensions |
US7624356B1 (en) * | 2000-06-21 | 2009-11-24 | Microsoft Corporation | Task-sensitive methods and systems for displaying command sets |
US7191394B1 (en) | 2000-06-21 | 2007-03-13 | Microsoft Corporation | Authoring arbitrary XML documents using DHTML and XSLT |
US7155667B1 (en) | 2000-06-21 | 2006-12-26 | Microsoft Corporation | User interface for integrated spreadsheets and word processing tables |
US7346848B1 (en) | 2000-06-21 | 2008-03-18 | Microsoft Corporation | Single window navigation methods and systems |
US6883168B1 (en) | 2000-06-21 | 2005-04-19 | Microsoft Corporation | Methods, systems, architectures and data structures for delivering software via a network |
US7146347B1 (en) * | 2000-08-03 | 2006-12-05 | National Instruments Corporation | System and method for automatically creating a prototype to perform a process |
JP2002077192A (en) * | 2000-08-31 | 2002-03-15 | Fuji Photo Film Co Ltd | Reporting system and reporting method |
WO2002025461A1 (en) * | 2000-09-20 | 2002-03-28 | Uteina Corporation | A method and system for ipv6/h.323 protocol based on-demand/multidirectional multimedia communication, in a local broadband network infrastructure |
AU2001294677A1 (en) * | 2000-09-22 | 2002-04-02 | Patchlink.Com Corporation | Non-invasive automatic offsite patch fingerprinting and updating system and method |
US20040003266A1 (en) * | 2000-09-22 | 2004-01-01 | Patchlink Corporation | Non-invasive automatic offsite patch fingerprinting and updating system and method |
US7330850B1 (en) | 2000-10-04 | 2008-02-12 | Reachforce, Inc. | Text mining system for web-based business intelligence applied to web site server logs |
US6845374B1 (en) | 2000-11-27 | 2005-01-18 | Mailfrontier, Inc | System and method for adaptive text recommendation |
US7343390B2 (en) * | 2000-12-20 | 2008-03-11 | Microsoft Corporation | Systems and methods for conducting internet content usage experiments |
US20020165784A1 (en) * | 2001-03-01 | 2002-11-07 | John Taggart | Launch service or purchase request directly from a network-enabled appliance |
US6842321B2 (en) * | 2001-03-27 | 2005-01-11 | Texas Instruments Incorporated | Supply independent low quiescent current undervoltage lockout circuit |
US7457858B1 (en) * | 2001-04-02 | 2008-11-25 | Fujitsu Limited | Filtering network management messages |
US9633182B2 (en) | 2001-05-15 | 2017-04-25 | Altair Engineering, Inc. | Token based digital content licensing method |
JP3820925B2 (en) * | 2001-06-20 | 2006-09-13 | ソニー株式会社 | Receiving apparatus and method, information distribution method, filter storage program, and recording medium |
US20020198991A1 (en) * | 2001-06-21 | 2002-12-26 | International Business Machines Corporation | Intelligent caching and network management based on location and resource anticipation |
JP4854144B2 (en) * | 2001-07-16 | 2012-01-18 | キヤノン株式会社 | Printing system, management method, and printing apparatus |
US6996537B2 (en) | 2001-08-13 | 2006-02-07 | Qualcomm Incorporated | System and method for providing subscribed applications on wireless devices over a wireless network |
AU2002326118A1 (en) | 2001-08-14 | 2003-03-03 | Quigo Technologies, Inc. | System and method for extracting content for submission to a search engine |
US9203923B2 (en) * | 2001-08-15 | 2015-12-01 | Qualcomm Incorporated | Data synchronization interface |
US20030050981A1 (en) * | 2001-09-13 | 2003-03-13 | International Business Machines Corporation | Method, apparatus, and program to forward and verify multiple digital signatures in electronic mail |
EP1293981A1 (en) | 2001-09-18 | 2003-03-19 | Deutsche Thomson-Brandt Gmbh | Method for processing information parts of recorded data |
US9231827B2 (en) * | 2001-11-09 | 2016-01-05 | International Business Machines Corporation | Formalizing, diffusing and enforcing policy advisories and monitoring policy compliance in the management of networks |
GB2382683A (en) * | 2001-12-03 | 2003-06-04 | Skinkers Ltd | A message processing system |
US20060100914A1 (en) * | 2001-12-05 | 2006-05-11 | Jafri Vajid H | System for, and method of, providing travel-related services |
US20030135556A1 (en) * | 2001-12-14 | 2003-07-17 | International Business Machines Corporation | Selection of communication strategies for message brokers or publish/subscribe communications |
EP1461707A1 (en) * | 2001-12-31 | 2004-09-29 | Citadel Security Software Inc. | Automated computer vulnerability resolution system |
US7543056B2 (en) | 2002-01-15 | 2009-06-02 | Mcafee, Inc. | System and method for network vulnerability detection and reporting |
US7243148B2 (en) * | 2002-01-15 | 2007-07-10 | Mcafee, Inc. | System and method for network vulnerability detection and reporting |
US7257630B2 (en) * | 2002-01-15 | 2007-08-14 | Mcafee, Inc. | System and method for network vulnerability detection and reporting |
US7231448B1 (en) * | 2002-03-26 | 2007-06-12 | Bellsouth Intellectual Property Corp. | System and method for automated network element database population |
US7251689B2 (en) * | 2002-03-27 | 2007-07-31 | International Business Machines Corporation | Managing storage resources in decentralized networks |
US7181536B2 (en) * | 2002-03-27 | 2007-02-20 | International Business Machines Corporation | Interminable peer relationships in transient communities |
US7177929B2 (en) * | 2002-03-27 | 2007-02-13 | International Business Machines Corporation | Persisting node reputations in transient network communities |
US7143139B2 (en) * | 2002-03-27 | 2006-11-28 | International Business Machines Corporation | Broadcast tiers in decentralized networks |
US7069318B2 (en) * | 2002-03-27 | 2006-06-27 | International Business Machines Corporation | Content tracking in transient network communities |
US7039701B2 (en) * | 2002-03-27 | 2006-05-02 | International Business Machines Corporation | Providing management functions in decentralized networks |
US20030221105A1 (en) * | 2002-05-20 | 2003-11-27 | Autodesk, Inc. | Extensible mechanism for attaching digital signatures to different file types |
US7116995B2 (en) * | 2002-05-31 | 2006-10-03 | Nokia Corporation | System and method for operating intravendor and intervendor messaging systems |
US20030222903A1 (en) * | 2002-05-31 | 2003-12-04 | Wolfgang Herzog | Distributing customized computer settings to affected systems |
WO2003107321A1 (en) * | 2002-06-12 | 2003-12-24 | Jena Jordahl | Data storage, retrieval, manipulation and display tools enabling multiple hierarchical points of view |
US20030233422A1 (en) * | 2002-06-12 | 2003-12-18 | Andras Csaszar | Method and apparatus for creation, publication and distribution of digital objects through digital networks |
US20070244981A1 (en) * | 2002-06-27 | 2007-10-18 | Malden Matthew S | Disseminating information about security threats |
US8423374B2 (en) | 2002-06-27 | 2013-04-16 | Siebel Systems, Inc. | Method and system for processing intelligence information |
US7296266B2 (en) * | 2002-06-28 | 2007-11-13 | International Business Machines Corporation | Apparatus and method for monitoring and routing status messages |
US8335779B2 (en) * | 2002-08-16 | 2012-12-18 | Gamroe Applications, Llc | Method and apparatus for gathering, categorizing and parameterizing data |
US20040043753A1 (en) * | 2002-08-30 | 2004-03-04 | Wake Susan L. | System and method for third party application sales and services to wireless devices |
US20040078422A1 (en) * | 2002-10-17 | 2004-04-22 | Toomey Christopher Newell | Detecting and blocking spoofed Web login pages |
US20040260947A1 (en) * | 2002-10-21 | 2004-12-23 | Brady Gerard Anthony | Methods and systems for analyzing security events |
US7305432B2 (en) * | 2002-10-23 | 2007-12-04 | Aol Llc | Privacy preferences roaming and enforcement |
US7836103B2 (en) * | 2002-11-18 | 2010-11-16 | Siebel Systems, Inc. | Exchanging project-related data between software applications |
US8443036B2 (en) * | 2002-11-18 | 2013-05-14 | Siebel Systems, Inc. | Exchanging project-related data in a client-server architecture |
US7912920B2 (en) | 2002-12-13 | 2011-03-22 | Stephen Loomis | Stream sourcing content delivery system |
US20040177115A1 (en) * | 2002-12-13 | 2004-09-09 | Hollander Marc S. | System and method for music search and discovery |
US7493289B2 (en) * | 2002-12-13 | 2009-02-17 | Aol Llc | Digital content store system |
US7797064B2 (en) * | 2002-12-13 | 2010-09-14 | Stephen Loomis | Apparatus and method for skipping songs without delay |
US7412532B2 (en) * | 2002-12-13 | 2008-08-12 | Aol Llc, A Deleware Limited Liability Company | Multimedia scheduler |
US7627891B2 (en) * | 2003-02-14 | 2009-12-01 | Preventsys, Inc. | Network audit and policy assurance system |
US7624422B2 (en) | 2003-02-14 | 2009-11-24 | Preventsys, Inc. | System and method for security information normalization |
US20040181487A1 (en) * | 2003-03-10 | 2004-09-16 | Microsoft Corporation | Digital media clearing house platform |
US7370066B1 (en) | 2003-03-24 | 2008-05-06 | Microsoft Corporation | System and method for offline editing of data files |
US7415672B1 (en) | 2003-03-24 | 2008-08-19 | Microsoft Corporation | System and method for designing electronic forms |
US7398272B2 (en) | 2003-03-24 | 2008-07-08 | Bigfix, Inc. | Enterprise console |
US7296017B2 (en) | 2003-03-28 | 2007-11-13 | Microsoft Corporation | Validation of XML data files |
US7913159B2 (en) | 2003-03-28 | 2011-03-22 | Microsoft Corporation | System and method for real-time validation of structured data files |
US7788724B2 (en) * | 2003-04-10 | 2010-08-31 | Symantec Corporation | System and method for detecting malicious applications |
US20050015432A1 (en) * | 2003-05-13 | 2005-01-20 | Cohen Hunter C. | Deriving contact information from emails |
US7451392B1 (en) | 2003-06-30 | 2008-11-11 | Microsoft Corporation | Rendering an HTML electronic form by applying XSLT to XML using a solution |
US7454744B2 (en) * | 2003-07-03 | 2008-11-18 | International Business Machines Corporation | Private source code commenting |
US7406660B1 (en) | 2003-08-01 | 2008-07-29 | Microsoft Corporation | Mapping between structured data and a visual surface |
US7334187B1 (en) | 2003-08-06 | 2008-02-19 | Microsoft Corporation | Electronic form aggregation |
US7490113B2 (en) * | 2003-08-27 | 2009-02-10 | International Business Machines Corporation | Database log capture that publishes transactions to multiple targets to handle unavailable targets by separating the publishing of subscriptions and subsequently recombining the publishing |
US7945691B2 (en) * | 2003-09-15 | 2011-05-17 | Sap Ag | Data conveyance management |
FR2860366A1 (en) * | 2003-09-26 | 2005-04-01 | France Telecom | TELECOMMUNICATION SYSTEM IMPLEMENTING RESOLUTION OF SECURE DOMAIN NAMES |
US7640232B2 (en) * | 2003-10-14 | 2009-12-29 | Aol Llc | Search enhancement system with information from a selected source |
US20050080786A1 (en) * | 2003-10-14 | 2005-04-14 | Fish Edmund J. | System and method for customizing search results based on searcher's actual geographic location |
US7165119B2 (en) * | 2003-10-14 | 2007-01-16 | America Online, Inc. | Search enhancement system and method having rankings, explicitly specified by the user, based upon applicability and validity of search parameters in regard to a subject matter |
US7673046B2 (en) * | 2003-11-14 | 2010-03-02 | Microsoft Corporation | Trusted network transfer of content using off network input code |
US8028084B2 (en) * | 2004-01-20 | 2011-09-27 | Aspect Software, Inc. | IP ACD using buffer server |
US20050160420A1 (en) * | 2004-01-20 | 2005-07-21 | Kruta Andrew W. | Method and apparatus for distribution and installation of computer programs across an enterprise |
AU2005206954A1 (en) | 2004-01-21 | 2005-08-04 | Qualcomm Incorporated | Application-based value billing in a wireless subscriber network |
US8819072B1 (en) | 2004-02-02 | 2014-08-26 | Microsoft Corporation | Promoting data from structured data files |
US20050177597A1 (en) * | 2004-02-04 | 2005-08-11 | Steve Elmer | System and method of exercising a browser |
US7433892B2 (en) * | 2004-03-05 | 2008-10-07 | International Business Machines Corporation | Method, system and program product for imposing policy modification constraints |
US8201257B1 (en) | 2004-03-31 | 2012-06-12 | Mcafee, Inc. | System and method of managing network security risks |
US7519954B1 (en) | 2004-04-08 | 2009-04-14 | Mcafee, Inc. | System and method of operating system identification |
US7496837B1 (en) | 2004-04-29 | 2009-02-24 | Microsoft Corporation | Structural editing with schema awareness |
US20060218111A1 (en) * | 2004-05-13 | 2006-09-28 | Cohen Hunter C | Filtered search results |
US7281018B1 (en) | 2004-05-26 | 2007-10-09 | Microsoft Corporation | Form template data source change |
US7774620B1 (en) | 2004-05-27 | 2010-08-10 | Microsoft Corporation | Executing applications at appropriate trust levels |
KR100690764B1 (en) * | 2004-06-08 | 2007-03-09 | 엘지전자 주식회사 | Method for synchronizing presence in imps client |
US7774369B2 (en) * | 2004-07-07 | 2010-08-10 | Sap Aktiengesellschaft | Configuring computer systems with business configuration information |
US7735063B2 (en) * | 2004-07-07 | 2010-06-08 | Sap Aktiengesellschaft | Providing customizable configuration data in computer systems |
GB0420548D0 (en) * | 2004-09-15 | 2004-10-20 | Streamshield Networks Ltd | Network-based security platform |
US7692636B2 (en) | 2004-09-30 | 2010-04-06 | Microsoft Corporation | Systems and methods for handwriting to a screen |
US7577132B2 (en) * | 2004-10-28 | 2009-08-18 | Microsoft Corporation | User interface for securing lightweight directory access protocol traffic |
US7712022B2 (en) | 2004-11-15 | 2010-05-04 | Microsoft Corporation | Mutually exclusive options in electronic forms |
US7721190B2 (en) | 2004-11-16 | 2010-05-18 | Microsoft Corporation | Methods and systems for server side form processing |
US7904801B2 (en) | 2004-12-15 | 2011-03-08 | Microsoft Corporation | Recursive sections in electronic forms |
US7937651B2 (en) | 2005-01-14 | 2011-05-03 | Microsoft Corporation | Structural editing operations for network forms |
US7467189B2 (en) | 2005-01-21 | 2008-12-16 | Microsoft Corporation | Resource identifier zone translation |
US7779009B2 (en) * | 2005-01-28 | 2010-08-17 | Aol Inc. | Web query classification |
US20060179293A1 (en) * | 2005-02-07 | 2006-08-10 | Dell Products L.P. | Method to boot computer system only to a secure network |
US7725834B2 (en) | 2005-03-04 | 2010-05-25 | Microsoft Corporation | Designer-created aspect for an electronic form template |
US8010515B2 (en) | 2005-04-15 | 2011-08-30 | Microsoft Corporation | Query to an electronic form |
US20060239430A1 (en) * | 2005-04-21 | 2006-10-26 | Robert Gue | Systems and methods of providing online protection |
JP4900891B2 (en) | 2005-04-27 | 2012-03-21 | キヤノン株式会社 | Communication apparatus and communication method |
US9185538B2 (en) | 2005-05-31 | 2015-11-10 | Qualcomm Incorporated | Wireless subscriber application and content distribution and differentiated pricing |
US9350875B2 (en) | 2005-05-31 | 2016-05-24 | Qualcomm Incorporated | Wireless subscriber billing and distribution |
US20070005679A1 (en) * | 2005-06-21 | 2007-01-04 | Bui Richard T | Server-client hybrid search systems, methods, and apparatuses |
US8200975B2 (en) | 2005-06-29 | 2012-06-12 | Microsoft Corporation | Digital signatures for network forms |
US20070118664A1 (en) * | 2005-10-24 | 2007-05-24 | International Business Machines Corporation | Mail dispatch system |
US8001459B2 (en) | 2005-12-05 | 2011-08-16 | Microsoft Corporation | Enabling electronic documents for limited-capability computing devices |
US7685238B2 (en) * | 2005-12-12 | 2010-03-23 | Nokia Corporation | Privacy protection on application sharing and data projector connectivity |
US9143622B2 (en) | 2006-02-17 | 2015-09-22 | Qualcomm Incorporated | Prepay accounts for applications, services and content for communication devices |
US9185234B2 (en) | 2006-02-22 | 2015-11-10 | Qualcomm Incorporated | Automated account mapping in a wireless subscriber billing system |
US7739339B2 (en) * | 2006-06-28 | 2010-06-15 | The Boeing Company | System and method of communications within a virtual environment |
US7606752B2 (en) | 2006-09-07 | 2009-10-20 | Yodlee Inc. | Host exchange in bill paying services |
US8060390B1 (en) | 2006-11-24 | 2011-11-15 | Voices Heard Media, Inc. | Computer based method for generating representative questions from an audience |
KR20090003094A (en) * | 2006-12-04 | 2009-01-09 | 한국전자통신연구원 | Server, terminal and method for software group service |
US8495157B2 (en) | 2007-03-07 | 2013-07-23 | International Business Machines Corporation | Method and apparatus for distributed policy-based management and computed relevance messaging with remote attributes |
US20100332640A1 (en) * | 2007-03-07 | 2010-12-30 | Dennis Sidney Goodrow | Method and apparatus for unified view |
US8161149B2 (en) | 2007-03-07 | 2012-04-17 | International Business Machines Corporation | Pseudo-agent |
US8307114B2 (en) * | 2007-05-22 | 2012-11-06 | International Business Machines Corporation | High availability message transmission |
US9043727B2 (en) * | 2007-07-26 | 2015-05-26 | Microsoft Technology Licensing, Llc | Visualization techniques for imprecise statement completion |
US20090271377A1 (en) * | 2008-04-24 | 2009-10-29 | The Quantum Group, Inc. | System and method for medical episode recreation |
US8261334B2 (en) | 2008-04-25 | 2012-09-04 | Yodlee Inc. | System for performing web authentication of a user by proxy |
US8645559B2 (en) * | 2008-09-22 | 2014-02-04 | Microsoft Corporation | Redirection of multiple remote devices |
US20100100465A1 (en) * | 2008-10-17 | 2010-04-22 | Innovapost Inc. | Trusted third party authentication and notarization for email |
US10110631B2 (en) * | 2009-02-12 | 2018-10-23 | International Business Machines Corporation | Introducing encryption, authentication, and authorization into a publication and subscription engine |
US8555359B2 (en) | 2009-02-26 | 2013-10-08 | Yodlee, Inc. | System and methods for automatically accessing a web site on behalf of a client |
WO2010115107A2 (en) * | 2009-04-02 | 2010-10-07 | Altair Engineering, Inc. | Hardware unit-based license management method |
US8966110B2 (en) * | 2009-09-14 | 2015-02-24 | International Business Machines Corporation | Dynamic bandwidth throttling |
US8341534B2 (en) | 2010-03-05 | 2012-12-25 | Palo Alto Research Center Incorporated | System and method for flexibly taking actions in response to detected activities |
JP5573297B2 (en) * | 2010-03-31 | 2014-08-20 | ヤマハ株式会社 | Terminal device, electronic device and program |
US8612528B2 (en) * | 2011-06-30 | 2013-12-17 | Blackboard Connect Inc. | Dynamic population of notification template with language or transmission mode at time of transmission |
US20130080265A1 (en) * | 2011-09-27 | 2013-03-28 | Max Planck Gesellschaft zur Foerderung der Wissenschaffen | Auction modules in private online advertising systems |
US20130080330A1 (en) * | 2011-09-27 | 2013-03-28 | Max Planck Gesellschaft Zur Foerderung Der Wissenschaften | Conducting auctions in private online advertising systems |
US9408056B2 (en) | 2013-03-15 | 2016-08-02 | T-Mobile Usa, Inc. | Systems and methods for improving telecommunications device experiences |
EP3047453A1 (en) * | 2013-09-16 | 2016-07-27 | VII Network Inc. | A web and mobile-based platform that unites workflow management and asynchronous video collaboration for healthcare |
US10546326B2 (en) | 2013-09-26 | 2020-01-28 | Mark W. Publicover | Providing targeted content based on a user's preferences |
US10679151B2 (en) | 2014-04-28 | 2020-06-09 | Altair Engineering, Inc. | Unit-based licensing for third party access of digital content |
US10546299B1 (en) * | 2015-06-18 | 2020-01-28 | Wells Fargo Bank, N.A. | Fraudulent activity shell |
US10599662B2 (en) | 2015-06-26 | 2020-03-24 | Mcafee, Llc | Query engine for remote endpoint information retrieval |
US10685055B2 (en) | 2015-09-23 | 2020-06-16 | Altair Engineering, Inc. | Hashtag-playlist content sequence management |
AU2017222468B2 (en) * | 2016-02-23 | 2023-01-12 | nChain Holdings Limited | Agent-based turing complete transactions integrating feedback within a blockchain system |
WO2018149479A1 (en) * | 2017-02-14 | 2018-08-23 | Guan Wen | Distributed meta messaging computing |
US10467551B2 (en) | 2017-06-12 | 2019-11-05 | Ford Motor Company | Portable privacy management |
JP7053995B2 (en) * | 2018-04-16 | 2022-04-13 | 富士通株式会社 | Optimization device and control method of optimization device |
CN112567366B (en) * | 2018-05-28 | 2024-10-11 | 加拿大皇家银行 | System and method for securing an electronic transaction platform |
US11799864B2 (en) | 2019-02-07 | 2023-10-24 | Altair Engineering, Inc. | Computer systems for regulating access to electronic content using usage telemetry data |
US11568307B2 (en) * | 2019-05-20 | 2023-01-31 | International Business Machines Corporation | Data augmentation for text-based AI applications |
CN110517445A (en) * | 2019-08-05 | 2019-11-29 | 枣庄学院 | A kind of the elderly can position anti-rogue device |
US11727284B2 (en) | 2019-12-12 | 2023-08-15 | Business Objects Software Ltd | Interpretation of machine learning results using feature analysis |
US20210192376A1 (en) * | 2019-12-23 | 2021-06-24 | Sap Se | Automated, progressive explanations of machine learning results |
US11580455B2 (en) | 2020-04-01 | 2023-02-14 | Sap Se | Facilitating machine learning configuration |
CN112102617A (en) * | 2020-09-11 | 2020-12-18 | 深圳市自由美标识有限公司 | Multifunctional road indication and information acquisition intelligent management system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06224938A (en) * | 1993-01-27 | 1994-08-12 | Fujitsu Ltd | Electronic mail control method |
US5491791A (en) * | 1995-01-13 | 1996-02-13 | International Business Machines Corporation | System and method for remote workstation monitoring within a distributed computing environment |
WO1997010558A1 (en) * | 1995-09-14 | 1997-03-20 | Bell Communications Research, Inc. | Method and system for providing continually updated personalized information |
US5649186A (en) * | 1995-08-07 | 1997-07-15 | Silicon Graphics Incorporated | System and method for a computer-based dynamic information clipping service |
US5892909A (en) * | 1996-09-27 | 1999-04-06 | Diffusion, Inc. | Intranet-based system with methods for co-active delivery of information to multiple users |
Family Cites Families (189)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US627764A (en) * | 1897-06-26 | 1899-06-27 | Merritt F Stanley | Spring air-gun. |
US4517468A (en) | 1984-04-30 | 1985-05-14 | Westinghouse Electric Corp. | Diagnostic system and method |
US4654852A (en) | 1984-05-15 | 1987-03-31 | International Business Machines Corporation | On-line problem-determination procedure for diagnosis of faults in a data-processing system |
US4713775A (en) * | 1985-08-21 | 1987-12-15 | Teknowledge, Incorporated | Intelligent assistant for using and operating computer system capabilities to solve problems |
US4935870A (en) | 1986-12-15 | 1990-06-19 | Keycom Electronic Publishing | Apparatus for downloading macro programs and executing a downloaded macro program responding to activation of a single key |
JP2570725B2 (en) | 1987-03-06 | 1997-01-16 | 日本電気株式会社 | Remote diagnostic device |
JPH0644242B2 (en) | 1988-03-17 | 1994-06-08 | インターナショナル・ビジネス・マシーンズ・コーポレーション | How to solve problems in computer systems |
DE3885451T2 (en) | 1988-06-16 | 1994-05-11 | Ibm | Electronic post-follow system. |
US5155847A (en) | 1988-08-03 | 1992-10-13 | Minicom Data Corporation | Method and apparatus for updating software at remote locations |
US5115501A (en) | 1988-11-04 | 1992-05-19 | International Business Machines Corporation | Procedure for automatically customizing the user interface of application programs |
US5063523A (en) | 1989-11-16 | 1991-11-05 | Racal Data Communications Inc. | Network management system with event rule handling |
US5870724A (en) | 1989-12-08 | 1999-02-09 | Online Resources & Communications Corporation | Targeting advertising in a home retail banking delivery service |
US5446919A (en) | 1990-02-20 | 1995-08-29 | Wilkins; Jeff K. | Communication system and method with demographically or psychographically defined audiences |
JP2698685B2 (en) | 1990-03-27 | 1998-01-19 | 株式会社東芝 | Computer system remote control device |
EP0463251A1 (en) | 1990-06-28 | 1992-01-02 | International Business Machines Corporation | Software installation |
US5349674A (en) | 1990-08-17 | 1994-09-20 | International Business Machines Corp. | Automated enrollment of a computer system into a service network of computer systems |
US5179695A (en) | 1990-09-04 | 1993-01-12 | International Business Machines Corporation | Problem analysis of a node computer with assistance from a central site |
US5388252A (en) | 1990-09-07 | 1995-02-07 | Eastman Kodak Company | System for transparent monitoring of processors in a network with display of screen images at a remote station for diagnosis by technical support personnel |
US5278979A (en) * | 1990-12-20 | 1994-01-11 | International Business Machines Corp. | Version management system using pointers shared by a plurality of versions for indicating active lines of a version |
US5475625A (en) | 1991-01-16 | 1995-12-12 | Siemens Nixdorf Informationssysteme Aktiengesellschaft | Method and arrangement for monitoring computer manipulations |
US5535321A (en) | 1991-02-14 | 1996-07-09 | International Business Machines Corporation | Method and apparatus for variable complexity user interface in a data processing system |
JP3200877B2 (en) | 1991-09-03 | 2001-08-20 | 株式会社日立製作所 | Office information processing system |
US5283856A (en) | 1991-10-04 | 1994-02-01 | Beyond, Inc. | Event-driven rule-based messaging system |
US5627764A (en) | 1991-10-04 | 1997-05-06 | Banyan Systems, Inc. | Automatic electronic messaging system with feedback and work flow administration |
US5369570A (en) * | 1991-11-14 | 1994-11-29 | Parad; Harvey A. | Method and system for continuous integrated resource management |
US5428778A (en) | 1992-02-13 | 1995-06-27 | Office Express Pty. Ltd. | Selective dissemination of information |
US5388188A (en) * | 1992-03-17 | 1995-02-07 | At&T Corp. | Apparatus and methods for providing design advice |
US5384103A (en) * | 1992-03-17 | 1995-01-24 | Micromedics, Inc. | Instrument tray |
US5805897A (en) | 1992-07-31 | 1998-09-08 | International Business Machines Corporation | System and method for remote software configuration and distribution |
US5432542A (en) * | 1992-08-31 | 1995-07-11 | Television Computer, Inc. | Television receiver location identification |
US5245656A (en) | 1992-09-09 | 1993-09-14 | Bell Communications Research, Inc. | Security method for private information delivery and filtering in public networks |
JP3502114B2 (en) * | 1992-10-14 | 2004-03-02 | 株式会社日立製作所 | Information service system |
US5732212A (en) | 1992-10-23 | 1998-03-24 | Fox Network Systems, Inc. | System and method for remote monitoring and operation of personal computers |
US5566339A (en) | 1992-10-23 | 1996-10-15 | Fox Network Systems, Inc. | System and method for monitoring computer environment and operation |
US5576952A (en) | 1993-03-09 | 1996-11-19 | Metriplex, Inc. | Medical alert distribution system with selective filtering of medical information |
US5381403A (en) | 1993-04-02 | 1995-01-10 | Motorola, Inc. | Method for establishing and maintaining system configuration information |
US5603031A (en) | 1993-07-08 | 1997-02-11 | General Magic, Inc. | System and method for distributed computation based upon the movement, execution, and interaction of processes in a network |
US5377258A (en) | 1993-08-30 | 1994-12-27 | National Medical Research Council | Method and apparatus for an automated and interactive behavioral guidance system |
US5745669A (en) | 1993-10-21 | 1998-04-28 | Ast Research, Inc. | System and method for recovering PC configurations |
US5493692A (en) | 1993-12-03 | 1996-02-20 | Xerox Corporation | Selective delivery of electronic messages in a multiple computer system based on context and environment of a user |
US5555376A (en) | 1993-12-03 | 1996-09-10 | Xerox Corporation | Method for granting a user request having locational and contextual attributes consistent with user policies for devices having locational attributes consistent with the user request |
US5550734A (en) | 1993-12-23 | 1996-08-27 | The Pharmacy Fund, Inc. | Computerized healthcare accounts receivable purchasing collections securitization and management system |
US5862322A (en) | 1994-03-14 | 1999-01-19 | Dun & Bradstreet Software Services, Inc. | Method and apparatus for facilitating customer service communications in a computing environment |
US5848271A (en) | 1994-03-14 | 1998-12-08 | Dun & Bradstreet Software Services, Inc. | Process and apparatus for controlling the work flow in a multi-user computing system |
US5724567A (en) | 1994-04-25 | 1998-03-03 | Apple Computer, Inc. | System for directing relevance-ranked data objects to computer users |
US5636346A (en) | 1994-05-09 | 1997-06-03 | The Electronic Address, Inc. | Method and system for selectively targeting advertisements and programming |
US5694546A (en) | 1994-05-31 | 1997-12-02 | Reisman; Richard R. | System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list |
US6769009B1 (en) | 1994-05-31 | 2004-07-27 | Richard R. Reisman | Method and system for selecting a personalized set of information channels |
EP0687089B1 (en) | 1994-06-10 | 2003-05-28 | Hewlett-Packard Company, A Delaware Corporation | Event-processing system and method of constructing such a system |
US5854923A (en) * | 1994-06-21 | 1998-12-29 | International Business Machines Corp. | Facility for the intelligent selection of information objects (persona) |
US5586304A (en) | 1994-09-08 | 1996-12-17 | Compaq Computer Corporation | Automatic computer upgrading |
US5515098A (en) | 1994-09-08 | 1996-05-07 | Carles; John B. | System and method for selectively distributing commercial messages over a communications network |
US5633910A (en) * | 1994-09-13 | 1997-05-27 | Cohen; Kopel H. | Outpatient monitoring system |
US5600781A (en) | 1994-09-30 | 1997-02-04 | Intel Corporation | Method and apparatus for creating a portable personalized operating environment |
US5652789A (en) * | 1994-09-30 | 1997-07-29 | Wildfire Communications, Inc. | Network based knowledgeable assistant |
US5534911A (en) | 1994-11-02 | 1996-07-09 | Levitan; Gutman | Virtual personal channel in a television system |
US5717923A (en) | 1994-11-03 | 1998-02-10 | Intel Corporation | Method and apparatus for dynamically customizing electronic information to individual end users |
US5696965A (en) | 1994-11-03 | 1997-12-09 | Intel Corporation | Electronic information appraisal agent |
US5724521A (en) | 1994-11-03 | 1998-03-03 | Intel Corporation | Method and apparatus for providing electronic advertisements to end users in a consumer best-fit pricing manner |
US5613002A (en) | 1994-11-21 | 1997-03-18 | International Business Machines Corporation | Generic disinfection of programs infected with a computer virus |
US6460036B1 (en) | 1994-11-29 | 2002-10-01 | Pinpoint Incorporated | System and method for providing customized electronic newspapers and target advertisements |
US5758257A (en) | 1994-11-29 | 1998-05-26 | Herz; Frederick | System and method for scheduling broadcast of and access to video programs and other data using customer profiles |
US6029195A (en) * | 1994-11-29 | 2000-02-22 | Herz; Frederick S. M. | System for customized electronic identification of desirable objects |
US5619648A (en) | 1994-11-30 | 1997-04-08 | Lucent Technologies Inc. | Message filtering techniques |
US5774170A (en) | 1994-12-13 | 1998-06-30 | Hite; Kenneth C. | System and method for delivering targeted advertisements to consumers |
US5623656A (en) | 1994-12-15 | 1997-04-22 | Lucent Technologies Inc. | Script-based data communication system and method utilizing state memory |
EP0718784B1 (en) * | 1994-12-20 | 2003-08-27 | Sun Microsystems, Inc. | Method and system for the retrieval of personalized information |
US5614927A (en) | 1995-01-13 | 1997-03-25 | Bell Communications Research, Inc. | Protecting confidential information in a database for enabling targeted advertising in a communications network |
US5748877A (en) | 1995-03-08 | 1998-05-05 | Dell Usa, L.P. | Method for executing embedded diagnostics from operating system-based applications |
US5710884A (en) | 1995-03-29 | 1998-01-20 | Intel Corporation | System for automatically updating personal profile server with updates to additional user information gathered from monitoring user's electronic consuming habits generated on computer during use |
US5761622A (en) * | 1995-05-18 | 1998-06-02 | Ericsson Inc. | Method and apparatus for controlling operation of a portable or mobile battery-operated radios |
US6240451B1 (en) * | 1995-05-25 | 2001-05-29 | Punch Networks Corporation | Method and apparatus for automatically disseminating information over a network |
US5740549A (en) | 1995-06-12 | 1998-04-14 | Pointcast, Inc. | Information and advertising distribution system and method |
US5678002A (en) | 1995-07-18 | 1997-10-14 | Microsoft Corporation | System and method for providing automated customer support |
FR2737879A1 (en) | 1995-08-18 | 1997-02-21 | Valat Eric | BICYCLE CRANKSET WITH VARIABLE LENGTH ARMS |
US5974409A (en) * | 1995-08-23 | 1999-10-26 | Microsoft Corporation | System and method for locating information in an on-line network |
IL119444A (en) | 1995-10-20 | 2001-10-31 | Yeda Res & Dev | Private information retrieval |
US5845077A (en) | 1995-11-27 | 1998-12-01 | Microsoft Corporation | Method and system for identifying and obtaining computer software from a remote computer |
US6161218A (en) | 1996-01-16 | 2000-12-12 | Sun Microsystems Inc. | Software patch architecture |
US6324683B1 (en) | 1996-02-23 | 2001-11-27 | International Business Machines Corporation | System, method and program for debugging external programs in client/server-based relational database management systems |
US5862325A (en) * | 1996-02-29 | 1999-01-19 | Intermind Corporation | Computer-based communication system and method using metadata defining a control structure |
JPH09245049A (en) * | 1996-03-05 | 1997-09-19 | Toshiba Corp | Method and device for receiving information |
JP3195226B2 (en) * | 1996-03-14 | 2001-08-06 | 株式会社東芝 | Business support system |
JPH09271010A (en) * | 1996-03-29 | 1997-10-14 | Akihiko Tsunoda | Broadcast reception terminal equipment |
US5796395A (en) * | 1996-04-02 | 1998-08-18 | Wegener Internet Projects Bv | System for publishing and searching interests of individuals |
US5867799A (en) | 1996-04-04 | 1999-02-02 | Lang; Andrew K. | Information system and method for filtering a massive flow of information entities to meet user information classification needs |
US5828837A (en) | 1996-04-15 | 1998-10-27 | Digilog As | Computer network system and method for efficient information transfer |
US6049671A (en) * | 1996-04-18 | 2000-04-11 | Microsoft Corporation | Method for identifying and obtaining computer software from a network computer |
US5848396A (en) | 1996-04-26 | 1998-12-08 | Freedom Of Information, Inc. | Method and apparatus for determining behavioral profile of a computer user |
US5778187A (en) | 1996-05-09 | 1998-07-07 | Netcast Communications Corp. | Multicasting method and apparatus |
US5790798A (en) | 1996-05-31 | 1998-08-04 | Witness Systems, Inc. | Method and apparatus for simultaneously monitoring computer user screen and telephone activity from a remote location |
US5802518A (en) | 1996-06-04 | 1998-09-01 | Multex Systems, Inc. | Information delivery system and method |
US6151643A (en) | 1996-06-07 | 2000-11-21 | Networks Associates, Inc. | Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer |
US5850520A (en) | 1996-07-01 | 1998-12-15 | Electronic Data Systems Corporation | Method and system for electronic publication distribution including return receipt |
EP0912954B8 (en) * | 1996-07-22 | 2006-06-14 | Cyva Research Corporation | Personal information security and exchange tool |
US5919247A (en) * | 1996-07-24 | 1999-07-06 | Marimba, Inc. | Method for the distribution of code and data updates |
US5923845A (en) * | 1996-07-26 | 1999-07-13 | Nec Corporation | Integrated electronic information system |
US5854828A (en) | 1996-08-20 | 1998-12-29 | Dell U.S.A., L.P. | Telephone customer support utility |
US6006034A (en) | 1996-09-05 | 1999-12-21 | Open Software Associates, Ltd. | Systems and methods for automatic application version upgrading and maintenance |
US5974446A (en) * | 1996-10-24 | 1999-10-26 | Academy Of Applied Science | Internet based distance learning system for communicating between server and clients wherein clients communicate with each other or with teacher using different communication techniques via common user interface |
US5867714A (en) | 1996-10-31 | 1999-02-02 | Ncr Corporation | System and method for distributing configuration-dependent software revisions to a computer system |
US5924094A (en) * | 1996-11-01 | 1999-07-13 | Current Network Technologies Corporation | Independent distributed database system |
US6141664A (en) * | 1996-11-13 | 2000-10-31 | Puma Technology, Inc. | Synchronization of databases with date range |
US5917913A (en) | 1996-12-04 | 1999-06-29 | Wang; Ynjiun Paul | Portable electronic authorization devices and methods therefor |
US6745224B1 (en) * | 1996-12-06 | 2004-06-01 | Microsoft Corporation | Object framework and services for periodically recurring operations |
US6347398B1 (en) * | 1996-12-12 | 2002-02-12 | Microsoft Corporation | Automatic software downloading from a computer network |
US6802061B1 (en) | 1996-12-12 | 2004-10-05 | Microsoft Corporation | Automatic software downloading from a computer network |
US6366956B1 (en) * | 1997-01-29 | 2002-04-02 | Microsoft Corporation | Relevance access of Internet information services |
WO1998040805A2 (en) | 1997-02-27 | 1998-09-17 | Siebel Systems, Inc. | Method of synchronizing independently distributed software and database schema |
US5944839A (en) * | 1997-03-19 | 1999-08-31 | Symantec Corporation | System and method for automatically maintaining a computer system |
US6532491B1 (en) | 1997-03-24 | 2003-03-11 | Novell, Inc. | Processes and apparatuses for managing network devices |
US5822743A (en) * | 1997-04-08 | 1998-10-13 | 1215627 Ontario Inc. | Knowledge-based information retrieval system |
US5893091A (en) * | 1997-04-11 | 1999-04-06 | Immediata Corporation | Multicasting with key words |
US6119164A (en) | 1997-04-15 | 2000-09-12 | Full Circle Software, Inc. | Method and apparatus for distributing over a network unsolicited information to a targeted audience |
US6026148A (en) * | 1997-05-28 | 2000-02-15 | Blue Grotto Technologies, Inc. | System and method for delivering expert information by computer |
US5984508A (en) | 1997-06-18 | 1999-11-16 | Aveo, Inc. | System, method and article of manufacture for product return of software and other information |
US6012053A (en) * | 1997-06-23 | 2000-01-04 | Lycos, Inc. | Computer system with user-controlled relevance ranking of search results |
US6460175B1 (en) | 1997-07-18 | 2002-10-01 | International Business Machines Corporation | Program product for modular, parallel, remote software installation with repeatable, externally-invocable steps |
US6038399A (en) * | 1997-07-22 | 2000-03-14 | Compaq Computer Corporation | Computer manufacturing architecture with two data-loading processes |
US6259891B1 (en) * | 1997-09-04 | 2001-07-10 | Hughes Electronics Corporation | Adapter and method for use in a portable communication signal receiver system |
US6016394A (en) * | 1997-09-17 | 2000-01-18 | Tenfold Corporation | Method and system for database application software creation requiring minimal programming |
JP2000506661A (en) * | 1997-09-22 | 2000-05-30 | ヒューズ・エレクトロニクス・コーポレーション | Broadcast delivery of newsgroups of information to personal computers for local storage and access |
US6125369A (en) * | 1997-10-02 | 2000-09-26 | Microsoft Corporation | Continuous object sychronization between object stores on different computers |
US6029258A (en) * | 1997-10-09 | 2000-02-22 | Microsoft Corporation | Method and system for trouble shooting and correcting computer software problems |
US6092102A (en) * | 1997-10-24 | 2000-07-18 | University Of Pittsburgh Of The Commonwealth System Of Higher Education | System and method for notifying users about information or events of an enterprise |
US6185599B1 (en) * | 1997-11-19 | 2001-02-06 | At&T Corporation | Method of electronic bidding over networks through data tagging and data scanning |
US6330610B1 (en) | 1997-12-04 | 2001-12-11 | Eric E. Docter | Multi-stage data filtering system employing multiple filtering criteria |
EP1034492A1 (en) | 1997-12-04 | 2000-09-13 | Aveo, Inc. | Method and apparatus for multi-stage data filtering by a single device |
US6321258B1 (en) | 1997-12-11 | 2001-11-20 | Hewlett-Packard Company | Administration of networked peripherals using particular file system |
US5996073A (en) | 1997-12-18 | 1999-11-30 | Tioga Systems, Inc. | System and method for determining computer application state |
US6151708A (en) | 1997-12-19 | 2000-11-21 | Microsoft Corporation | Determining program update availability via set intersection over a sub-optical pathway |
US6035423A (en) * | 1997-12-31 | 2000-03-07 | Network Associates, Inc. | Method and system for providing automated updating and upgrading of antivirus applications using a computer network |
US6704804B1 (en) * | 1998-01-26 | 2004-03-09 | International Business Machines Corporation | Method and system for communicating information among interactive applications |
US6078924A (en) * | 1998-01-30 | 2000-06-20 | Aeneid Corporation | Method and apparatus for performing data collection, interpretation and analysis, in an information platform |
US6236983B1 (en) | 1998-01-31 | 2001-05-22 | Aveo, Inc. | Method and apparatus for collecting information regarding a device or a user of a device |
EP1057112A1 (en) | 1998-01-31 | 2000-12-06 | Aveo, Inc. | Method and apparatus for attribute-based addressing of messages in a networked system |
US6418445B1 (en) * | 1998-03-06 | 2002-07-09 | Perot Systems Corporation | System and method for distributed data collection and storage |
DE19810802A1 (en) * | 1998-03-12 | 1999-09-16 | Ericsson Telefon Ab L M | Software processing device with software actualization function |
JPH11259284A (en) | 1998-03-12 | 1999-09-24 | Fujitsu Ltd | On-line program updating system and computer readable storage medium for recording program for updating program |
US6278716B1 (en) | 1998-03-23 | 2001-08-21 | University Of Massachusetts | Multicast with proactive forward error correction |
US6170014B1 (en) * | 1998-03-25 | 2001-01-02 | Community Learning And Information Network | Computer architecture for managing courseware in a shared use operating environment |
US6438580B1 (en) | 1998-03-30 | 2002-08-20 | Electronic Data Systems Corporation | System and method for an interactive knowledgebase |
US6098099A (en) | 1998-04-21 | 2000-08-01 | International Business Machines Corporation | Third-party notification by network directory server |
US6421781B1 (en) * | 1998-04-30 | 2002-07-16 | Openwave Systems Inc. | Method and apparatus for maintaining security in a push server |
US6167567A (en) | 1998-05-05 | 2000-12-26 | 3Com Corporation | Technique for automatically updating software stored on a client computer in a networked client-server environment |
US6219788B1 (en) * | 1998-05-14 | 2001-04-17 | International Business Machines Corporation | Watchdog for trusted electronic content distributions |
US6330715B1 (en) | 1998-05-19 | 2001-12-11 | Nortel Networks Limited | Method and apparatus for managing software in a network system |
US6654714B1 (en) | 1998-05-22 | 2003-11-25 | Micron Technology, Inc. | Method and system for selecting compatible processors to add to a multiprocessor computer |
US6922831B1 (en) | 1998-06-04 | 2005-07-26 | Gateway Inc. | Method and system for providing software utilizing a restore medium and a network |
US6167448A (en) * | 1998-06-11 | 2000-12-26 | Compaq Computer Corporation | Management event notification system using event notification messages written using a markup language |
US6832247B1 (en) * | 1998-06-15 | 2004-12-14 | Hewlett-Packard Development Company, L.P. | Method and apparatus for automatic monitoring of simple network management protocol manageable devices |
US6381742B2 (en) | 1998-06-19 | 2002-04-30 | Microsoft Corporation | Software package management |
US6353926B1 (en) | 1998-07-15 | 2002-03-05 | Microsoft Corporation | Software update notification |
US6473745B2 (en) | 1998-07-31 | 2002-10-29 | Microsoft Corporation | Intelligent advisor system and method |
US6564369B1 (en) * | 1998-08-20 | 2003-05-13 | Pearson Technical Software, Inc. | Conflict checking using configuration images |
US6256664B1 (en) | 1998-09-01 | 2001-07-03 | Bigfix, Inc. | Method and apparatus for computed relevance messaging |
US7197534B2 (en) * | 1998-09-01 | 2007-03-27 | Big Fix, Inc. | Method and apparatus for inspecting the properties of a computer |
US6263362B1 (en) * | 1998-09-01 | 2001-07-17 | Bigfix, Inc. | Inspector for computed relevance messaging |
US6449642B2 (en) | 1998-09-15 | 2002-09-10 | Microsoft Corporation | Method and system for integrating a client computer into a computer network |
US6418554B1 (en) * | 1998-09-21 | 2002-07-09 | Microsoft Corporation | Software implementation installer mechanism |
US6237144B1 (en) * | 1998-09-21 | 2001-05-22 | Microsoft Corporation | Use of relational databases for software installation |
US6345386B1 (en) * | 1998-09-21 | 2002-02-05 | Microsoft Corporation | Method and system for advertising applications |
US6804663B1 (en) | 1998-09-21 | 2004-10-12 | Microsoft Corporation | Methods for optimizing the installation of a software product onto a target computer system |
US6836794B1 (en) | 1998-09-21 | 2004-12-28 | Microsoft Corporation | Method and system for assigning and publishing applications |
US6378127B1 (en) | 1998-09-21 | 2002-04-23 | Microsoft Corporation | Software installation and validation using custom actions |
US6389589B1 (en) * | 1998-09-21 | 2002-05-14 | Microsoft Corporation | Class store schema |
US6523166B1 (en) | 1998-09-21 | 2003-02-18 | Microsoft Corporation | Method and system for on-demand installation of software implementations |
US6378128B1 (en) | 1998-10-08 | 2002-04-23 | Microsoft Corporation | System and method for dynamically modifying an install-set |
US6324691B1 (en) | 1998-11-12 | 2001-11-27 | Hewlett-Packard Company | Manufacture of software distribution media packages from components resident on a remote server source |
US6163859A (en) | 1998-12-02 | 2000-12-19 | Support.Com, Inc. | Software vault |
US6353928B1 (en) | 1999-01-04 | 2002-03-05 | Microsoft Corporation | First run installer |
US6735766B1 (en) * | 1999-03-03 | 2004-05-11 | Microsoft Corporation | Method and computer-readable medium for installing an upgrade to an application program |
US6493594B1 (en) | 1999-06-04 | 2002-12-10 | Lucent Technologies Inc. | System and method for improved software configuration and control management in multi-module systems |
CA2315417A1 (en) | 1999-08-11 | 2001-02-11 | Hiroshi Une | Electret capacitor microphone |
US6996819B1 (en) * | 1999-09-10 | 2006-02-07 | Unisys Corporation | Method for efficiently downloading SCSI and SERVO firmware to SCSI target controllers |
US6839680B1 (en) * | 1999-09-30 | 2005-01-04 | Fujitsu Limited | Internet profiling |
US6496977B1 (en) | 1999-10-21 | 2002-12-17 | International Business Machines Corporation | Method and system for implementing network filesystem-based aid for computer operating system upgrades |
GB2359154B (en) * | 2000-02-11 | 2003-10-22 | Int Computers Ltd | Data processing |
US20020029350A1 (en) * | 2000-02-11 | 2002-03-07 | Cooper Robin Ross | Web based human services conferencing network |
US6971094B1 (en) | 2000-02-22 | 2005-11-29 | Hewlett-Packard Development Company, L.P. | Deployed agent used in the installation and maintenance of software |
US20020019746A1 (en) * | 2000-03-16 | 2002-02-14 | Rienhoff Hugh Y. | Aggregating persons with a select profile for further medical characterization |
US6658489B1 (en) | 2000-03-29 | 2003-12-02 | International Business Machines Corporation | Method for replacing a device driver during system operation |
US6725452B1 (en) * | 2000-06-01 | 2004-04-20 | Aduoa, Inc. | Method for resolving dependency conflicts among multiple operative entities within a computing environment |
CN1201083C (en) * | 2000-06-22 | 2005-05-11 | 三菱重工业株式会社 | Scrawl compressor |
US6996815B2 (en) * | 2000-11-29 | 2006-02-07 | Microsoft Corporation | Method and software tools for intelligent service pack installation |
US6904457B2 (en) * | 2001-01-05 | 2005-06-07 | International Business Machines Corporation | Automatic firmware update of processor nodes |
US8484333B2 (en) * | 2001-08-22 | 2013-07-09 | Aol Inc. | Single universal authentication system for internet services |
US6879979B2 (en) * | 2001-08-24 | 2005-04-12 | Bigfix, Inc. | Method to remotely query, safely measure, and securely communicate configuration information of a networked computational device |
US6941453B2 (en) | 2003-02-11 | 2005-09-06 | Bitfone Corporation | System and method for determining if a device needs to be updated and locating and invoking an update agent to update the firmware or software in the device |
-
1999
- 1999-07-09 US US09/351,416 patent/US6263362B1/en not_active Expired - Lifetime
- 1999-08-27 CA CA002344521A patent/CA2344521A1/en not_active Abandoned
- 1999-08-27 EP EP99945285A patent/EP1116148A1/en not_active Withdrawn
- 1999-08-27 IL IL14154999A patent/IL141549A0/en active IP Right Grant
- 1999-08-27 WO PCT/US1999/019751 patent/WO2000013121A1/en active Application Filing
- 1999-08-27 AU AU57914/99A patent/AU762054B2/en not_active Ceased
- 1999-08-27 NZ NZ510258A patent/NZ510258A/en not_active IP Right Cessation
- 1999-08-27 JP JP2000568037A patent/JP5235252B2/en not_active Expired - Lifetime
- 1999-08-27 CN CN99813053A patent/CN1344398A/en active Pending
- 1999-11-22 US US09/447,196 patent/US6801929B1/en not_active Expired - Lifetime
-
2001
- 2001-02-12 US US09/782,011 patent/US7689684B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06224938A (en) * | 1993-01-27 | 1994-08-12 | Fujitsu Ltd | Electronic mail control method |
US5491791A (en) * | 1995-01-13 | 1996-02-13 | International Business Machines Corporation | System and method for remote workstation monitoring within a distributed computing environment |
US5649186A (en) * | 1995-08-07 | 1997-07-15 | Silicon Graphics Incorporated | System and method for a computer-based dynamic information clipping service |
WO1997010558A1 (en) * | 1995-09-14 | 1997-03-20 | Bell Communications Research, Inc. | Method and system for providing continually updated personalized information |
US5892909A (en) * | 1996-09-27 | 1999-04-06 | Diffusion, Inc. | Intranet-based system with methods for co-active delivery of information to multiple users |
Non-Patent Citations (5)
Title |
---|
DATABASE INTERNET New Technology Holdings LLC.; 1999, XP002128142 * |
DATABASE INTERNET PC World Communications Inc.; 1999, XP002128141 * |
GABBER E ET AL: "How to make personalized Web browsing simple, secure and anonymous", FINANCIAL CRYPTOGRAPHY FIRST INTERNATIONAL CONFERENCE, FC '97. PROCEEDINGS, FINANCIAL CRYPTOGRAPHY FIRST INTERNATIONAL CONFERENCE, FC'97. PROCEEDINGS, ANGUILLA, 24-28 FEB. 1997, 1997, Berlin, Germany, Springer-Verlag, Germany, pages 17 - 31, XP002059819, ISBN: 3-540-63594-7 * |
PALME J ET AL: "Issues when designing filters in messaging systems", COMPUTER COMMUNICATIONS,NL,ELSEVIER SCIENCE PUBLISHERS BV, AMSTERDAM, vol. 19, no. 2, 11 January 1996 (1996-01-11), pages 95-101, XP004032392, ISSN: 0140-3664 * |
PATENT ABSTRACTS OF JAPAN vol. 018, no. 593 (E - 1629) 11 November 1994 (1994-11-11) * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7162538B1 (en) | 2000-10-04 | 2007-01-09 | Intel Corporation | Peer to peer software distribution system |
EP1415226B1 (en) * | 2000-10-04 | 2007-12-05 | Intel Corporation | Method, computer program and system for the distribution of software to processor-based systems |
EP1211596A1 (en) * | 2000-11-30 | 2002-06-05 | Hewlett-Packard Company, A Delaware Corporation | Process and apparatus for automatically monitoring the hardware resources of a computer |
US9449350B2 (en) | 2011-05-20 | 2016-09-20 | Hallmark Cards, Incorporated | Prompting service |
Also Published As
Publication number | Publication date |
---|---|
JP2002523841A (en) | 2002-07-30 |
US20010042104A1 (en) | 2001-11-15 |
AU5791499A (en) | 2000-03-21 |
US7689684B2 (en) | 2010-03-30 |
EP1116148A1 (en) | 2001-07-18 |
US6801929B1 (en) | 2004-10-05 |
JP5235252B2 (en) | 2013-07-10 |
AU762054B2 (en) | 2003-06-19 |
IL141549A0 (en) | 2002-03-10 |
CA2344521A1 (en) | 2000-03-09 |
US6263362B1 (en) | 2001-07-17 |
CN1344398A (en) | 2002-04-10 |
NZ510258A (en) | 2002-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6256664B1 (en) | Method and apparatus for computed relevance messaging | |
US7197534B2 (en) | Method and apparatus for inspecting the properties of a computer | |
US7689684B2 (en) | Method and apparatus for inspecting the properties of a computer | |
US7246150B1 (en) | Advice provided for offering highly targeted advice without compromising individual privacy | |
US8914507B2 (en) | Advice provided for offering highly targeted advice without compromising individual privacy | |
US7277919B1 (en) | Relevance clause for computed relevance messaging | |
JP2002523841A5 (en) | ||
US8069407B1 (en) | Method and apparatus for detecting changes in websites and reporting results to web developers for navigation template repair purposes | |
US7035828B2 (en) | Method and system for modifying and transmitting data between a portable computer and a network | |
US20020161680A1 (en) | Methods for managing and promoting network content | |
US20010016906A1 (en) | Process for personalized access to the internet network | |
TW491972B (en) | System, method, and article of manufacture for electronic merchandising in an e-commerce application framework | |
WO2000057327A1 (en) | Method and apparatus for computed relevance messaging | |
MXPA01002036A (en) | Method and apparatus for computed relevance messaging | |
User | file l | |
Tools et al. | 0 CyberServer | |
Hussin | PTA: Personal Trust Agent for e-Commerce | |
WO2001016843A2 (en) | System, method and article of manufacture for providing external agents in an e-commerce application framework |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 99813053.2 Country of ref document: CN |
|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW SD SL SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: IN/PCT/2001/220/KOL Country of ref document: IN Ref document number: IN/PCT/2001/00220/KO Country of ref document: IN |
|
ENP | Entry into the national phase |
Ref document number: 2344521 Country of ref document: CA Ref document number: 2344521 Country of ref document: CA Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 57914/99 Country of ref document: AU |
|
WWE | Wipo information: entry into national phase |
Ref document number: 141549 Country of ref document: IL |
|
WWE | Wipo information: entry into national phase |
Ref document number: PA/a/2001/002036 Country of ref document: MX |
|
WWE | Wipo information: entry into national phase |
Ref document number: 510258 Country of ref document: NZ |
|
ENP | Entry into the national phase |
Ref document number: 2000 568037 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1999945285 Country of ref document: EP |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
WWP | Wipo information: published in national office |
Ref document number: 1999945285 Country of ref document: EP |
|
WWG | Wipo information: grant in national office |
Ref document number: 57914/99 Country of ref document: AU |
|
WWE | Wipo information: entry into national phase |
Ref document number: 171711 Country of ref document: IL Ref document number: 171710 Country of ref document: IL |