US20040034639A1 - Flexible rule-based communication system and method for controlling the flow of and access to information between computer users - Google Patents

Flexible rule-based communication system and method for controlling the flow of and access to information between computer users Download PDF

Info

Publication number
US20040034639A1
US20040034639A1 US10/365,783 US36578303A US2004034639A1 US 20040034639 A1 US20040034639 A1 US 20040034639A1 US 36578303 A US36578303 A US 36578303A US 2004034639 A1 US2004034639 A1 US 2004034639A1
Authority
US
United States
Prior art keywords
information
message
computer
data
rule
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/365,783
Inventor
Brian McFadden
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US10/365,783 priority Critical patent/US20040034639A1/en
Publication of US20040034639A1 publication Critical patent/US20040034639A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access

Definitions

  • the invention disclosed herein relates generally to systems and methods that allow for control of the flow of and access to information. More particularly, the invention relates to a system for information processing, delivery, and access with applications to information in electronic format.
  • One existing approach to reduce the flow of information is collaborative filtering. Such filtering allows profiled users to express interest in content. The system then records the interest level and uses it to predict the interest of other users based on the similarity of their respective profiles. This approach is inappropriate for accessing and directing time-sensitive information as it is inherently not a real-time method. Further, entities employing this approach can offer users no more expertise in directing the flow of information than as determined by a group of peers, with the peers possibly having no more expertise than a given user. A related existing method, learning-by-action, is another approach that is ineffective in real-time environments.
  • Keyword matching suffers from the problem that matches are not context specific. That is, there is no efficient way to match words based on their meaning. An additional problem is that there is no uniformity of keywords. Further, “structured information” content is not utilized by this method of searching for information.
  • the originator generates a message rule for indicating types of end-users that are eligible to receive the information.
  • An end-user generates a profile rule for indicating types of information and types of originators that the end-user would be interested in receiving the information from.
  • an administrator generates a system rule for indicating what types of information from what types of originators should be delivered to what types of end-users. Then, at least one end-user is identified that is eligible and interested to receive the information on the basis of the generated message, profile and system rules. And the information is delivered to the identified at least one end-user.
  • the identity of the end-user is not disclosed to the originator.
  • the generated message, profile and system rules are specified by an autonomous agent.
  • FIG. 1 is a schematic diagram of a preferred embodiment of the present invention for targeted distribution, comprising a recipient and a delivery sub-system;
  • FIG. 2 is a schematic diagram of a preferred embodiment of the present invention for direct access, comprising a requester and a direct-request sub-system;
  • FIG. 3 is a schematic diagram of a data sub-system of a preferred embodiment of the present invention.
  • FIG. 4 is a schematic diagram of an information storage sub-system of a preferred embodiment of the present invention.
  • FIG. 5 illustrates a high level flowchart for controlling the flow of information from an originator to a recipient according to one aspect of the present invention
  • FIG. 6 shows a flowchart for describing the operations shown in FIG. 5 in more detail
  • FIG. 7 shows a high level flowchart for providing a direct access to information by a recipient according to another aspect of the present invention.
  • FIG. 8 shows a flowchart for describing the operations shown in FIG. 7 in more detail
  • a flexible rule-based information system allows information originators, administrators, recipients, and requesters (collectively, “users”) to control and influence the flow of and access to information. How much control each user is given depends on the configuration of the system by the administrator and the choice of system-wide rules by the administrator.
  • the originators generate messages or evaluate external content, then optionally specify rules indicating the type of recipients they would like to reach.
  • Recipients specify rules indicating what types of messages and from what types of originators they want to receive. Users provide profile information and have incentive to provide as much information as possible so as to trigger the right rules.
  • Messages and profiles are structured information that can contain nested and repeated data groups to any arbitrary level.
  • the rules reference profiles and messages, and are specified in a standard logic format capable of addressing multiple levels of data nesting while abstracting from the details of procedural and query languages.
  • the system maintains sets of information topics to be used for describing profiles, content, and messages. Users can add and embed additional descriptive topics in profiles and messages and add rules to reference new topics, making the process dynamic and adaptive.
  • the process can work as conduit between humans whereby all users are humans or wherein any combination of users may be mechanical or computational agents.
  • the present invention can greatly reduce the total cost of information access, filtering, and processing.
  • Profiles consist of information and data about or characterizing a particular user or autonomous agent, and can be broad and encompassing without limit.
  • profile data could include financial data about investments, transactions, risk preferences, and expertise with various aspects of financial decision making.
  • An example of profile information could also include medical information and history that would include all known ailments and treatments.
  • career information is career information that includes details of work experiences and skills, or detailed hobby information about expertise and experiences with any recreational activity.
  • Still another example of profile is purchasing objectives, decision patterns and influence on buying decisions.
  • Rules can be expressed in natural language and reference any profile and message data.
  • some rules pertaining to financial domain might be “Send introductory research reports with recommendations to recipients who are active and knowledgeable investors and do not hold any securities in the mentioned industries”.
  • Another example might be “Send all messages from active computer programmers with entrepreneurial business ambitions who are looking for any kind of legal advise”, or “Send RFP to consultants in the facilities management business who have been purchasing agents”, or “Don't send job posts from recruiters”.
  • a rule might be “Alert active mountain bikers about news stories detailing lime disease outbreaks in their state.”
  • one preferred embodiment of the present invention includes users 100 , 110 , 120 , 200 , sub-systems 140 , 150 , 180 , 190 , 195 , 210 and data storage 310 , 320 , 330 , 410 , 420 .
  • the users categorized as originators 100 , administrators 110 , recipients 120 , and requesters 200 , may be humans or computer agents.
  • the sub-systems may include such sub-systems as entry 150 , data 140 , information storage 195 , matching 190 , delivery 180 , direct request 210 .
  • the data storage may contain content, profiles, topics, and rules.
  • FIG. 1 is a schematic representation of an embodiment of the present invention operating as a rule-based information system with a component for targeted distribution.
  • the flow of information starts with an originator 100 .
  • An originator 100 interacts with the system by providing information to an entry sub-system 150 and a data sub-system 140 .
  • An administrator 110 interacts with the data sub-system 140 .
  • a recipient 120 interacts with data sub-system 140 and a delivery sub-system 180 . While FIG. 1 shows a single originator 100 , a single administrator 110 , and a single recipient 120 , it will be appreciated by those skilled in the art that there may be any number of each of originators 100 , administrators 110 , and recipients 120 .
  • Each of the originators 100 , administrators 110 , and recipients 120 may be either human or a computer agent or process.
  • All sub-systems interacting with any of the originators 100 , administrators 110 , recipients 120 , or requesters 200 have both a computer user interface (“UI”) 130 , 160 for interaction with humans and an application programming interface (“API”), object, or module interface for direct interaction with computer agents and other processes.
  • UI computer user interface
  • API application programming interface
  • the user interface is graphical and supports keyboard, mouse, and/or voice-activated entry.
  • the user interface comprises client and server components, with the Internet- and network-accessible client components operating in a web-browser, as a plug-in, or as any network distributed program.
  • the client and server parts of the user interface interact using secure and non-secure Internet, network, and distributed object protocols.
  • the server component interacts with the other sub-systems using standard Internet, network, and distributed object protocols.
  • Sub-systems interacting with computer agents or mechanical devices employ an API that is implemented using standard Internet, network, and distributed object protocols.
  • Sub-systems interacting with users support a scaleable number of connections. This means that a large number of users can be connected to the entry 150 , data 140 , delivery 180 , and direct request 210 sub-systems simultaneously. The maximum number is limited only by the bandwidth utilized by the process and the size and number of computer servers running the system portion of the process.
  • the matching sub-system 190 is a multi-threaded and distributed sub-system. It is implemented as a continually operating computer process or service on at least one server.
  • the messages that move through the system from originator 100 to entry sub-system 150 to matching sub-system 190 to delivery sub-system 180 to recipient 120 comprise “structured information” and/or objects.
  • Structured information is information in Extensible Markup Language (“XML”) and Standardized General Markup Language (“SGML”), and the objects are computer program representations of messages that can be expressed in those formats.
  • the messages may contain references to separate content in the form of links that may or may not be stored in information storage. Nothing in this description should be interpreted to limit the nature of external content that is referenced by the messages.
  • FIG. 2 is a schematic representation of an embodiment of the invention as a rule-based information system with a component for direct access.
  • the process is similar to the embodiment represented in FIG. 1, except that the recipient 120 has been replaced with a requester 200 . While a recipient 120 is reactive with respect to the receipt of information, a requester 200 is proactive. A requester 200 interacts with a direct request sub-system 210 .
  • FIG. 3 is a schematic representation of the data sub-system 140 that includes a data management and indexing sub-system 300 for handling requests for data as well as the addition and updating of data.
  • the data is stored in profile database 310 , topic database 320 , and rule database 330 .
  • Topics contained in the topic database 320 describe information sets. Each topic includes definition and display data.
  • the topic definition data is an SGML/XML Document Type Definition (“DTD”) or XML Definition Schema. It describes the type and characteristics of the information that compose a topic.
  • the topic display information describes how an instance of a topic will be displayed singularly or in a form editor or rules editor.
  • Profiles and messages contained in the profile database 310 comprise instances of topics. When specifying descriptive information for topics it will be necessary for this information to adhere to one or more topic definitions.
  • the user interfaces that are part of the entry 150 and data 130 sub-systems for editing and adding profile data and for adding messages use the topic display information to construct the forms presented to users.
  • All topic information is a combination of XML and XML definitions. It is stored in the topic database 320 , with each entry indexed by topic name and meta-data describing each topic.
  • Profiles are XML data sets validating to one or more topics. They are stored in the profile database 310 with each entry indexed by topics used and data values for elements and attributes within topics.
  • rules contained in the rule database 330 are XML representations of “If-Condition-Then-Actions-Else-Actions” statements.
  • Rules are “system rules” entered by an administrator 110 , “profile rules” entered by all users, “request rules” entered by a requester 200 , or “message rules” entered by an originator 100 .
  • each type of rule is stored in a separate database.
  • Topic reference, elements and attributes, type, and creator index all rules.
  • Profile rules are grouped by creator.
  • Message rules are grouped by message.
  • “Requester rules” may be stored temporarily, if at all. Topics, profiles, and rules are all stored either as text in XML format or objects representing XML.
  • FIG. 4 is a schematic representation of the information storage sub-system 195 .
  • An information archive sub-system 400 handles requests for content as well as the addition and updating of content.
  • the information archive sub-system 400 retrieves information from message and content database 410 and message rule database 420 .
  • Messages are XML data sets validating to one or more topics. They are stored in a database with each entry indexed by topics used and data values for select fields within topics.
  • content may or may not be stored together with the messages in the information archive.
  • the messages will reference the external content items.
  • the entry sub-system 150 gets new information from an originator 100 , stores information in an information storage sub-system 195 , and provides the information to a matching sub-system 190 .
  • Information from the entry sub-system 150 is evaluated by the matching sub-system 190 along with data from a data sub-system 140 to determine which recipients 120 will receive the information.
  • the delivery sub-system 180 notifies that recipient 120 .
  • the entry sub-system 150 is preferably a computer user interface.
  • the computer user interface is preferably graphical and allows originators 100 to interact with the system via keyboard, mouse, voice-activated entry, and/or some other form of entry.
  • the entry user interface 160 gets profile data about the originator 100 and based on that profile makes available a set of topics that the originator 100 can select to describe the message or information that is entered. After the originator 100 selects a sub-set of topics to be used, he enters descriptive information for each topic selected.
  • the entry form presented to the originator 100 will depend on the topics selected and the display data for each topic as stored in the data sub-system 140 .
  • a special topic is used for profile configuration data and it is this configuration data that is used to determine the set of topics available to each originator 100 .
  • the originator 100 is a computer agent or mechanical device, it interacts with the system via an API, object interface, or access module. Interaction may bypass the user interface 160 and go directly to an entry server 170 or interact with a variation of interface. Interaction with and within the system preferably uses standard Internet, network, or distributed object protocols. If the agent or device interacts with an interface, it is able to register as a specific originator 100 and get a list of available topics. It is also able to check that the message or entered information is valid for the selected topics.
  • An originator 100 may also enter “message rules” specific to the message or information. These rules will be attached to the message as it flows through the system and are stored with or in parallel with the message in the information storage.
  • all users may enter profile rules. Entry of profile rules data occurs via a data user interface. For each rule, a user selects topics from a set of available topics. These topics include both message- and profile-specific topics. After a user selects a sub-set of topics to be used, the user will construct a rule. The rule construction form presented to the user will depend on the topics selected and the display data for each topic used to create the rule construction form. The rule construction procedure allows a user to specify one or more Boolean conditions.
  • Each condition is constructed by selecting an operand and—depending on the operand—selecting a single reference, two references, or a reference and a value.
  • the choice of references and values are determined from the topics and the operand selected. Topic branches, described below, map into references.
  • Conditions can be combined using logical operators (“AND”, “OR”, “NOT”).
  • Rule construction also involves the selection of actions to be completed if the rule evaluates “true” and alternative actions to be completed by the process if the rule evaluates “false”.
  • Actions are defined by the administrator 110 when the process is initiated and preferably include at least actions for ranking, categorizing, including, excluding, flow control (jump to another rule), etc.
  • Rules may also be entered via a natural language interface. The “system rules” are entered similarly to “profile rules”, but can only be entered by administrators 110 .
  • all users may enter profile data. Entry of profile data occurs via a data user interface.
  • a user selects profile-specific topics from a set of available topics. After the user selects a sub-set of topics to be used, they enter descriptive information for each topic selected. The entry form presented to the user will depend on the topics selected and the display data for each topic as stored in the data sub-system.
  • a special “system topic” is used for profile configuration data and this configuration data will be entered first and used to determine the set of topics available to each user.
  • all users may enter topics.
  • restrictions are placed on the creation of new topics.
  • New topics are entered via a topic entry form that is part of the data user interface. This form facilitates the entry of a definition describing an information set.
  • the information set contains multiple data elements and attributes and allows nested and repeated data groups to any arbitrary level.
  • Topics can be edited but it may be necessary to create maps from old versions of a topic so that all parts of the process that reference data described in the older version can be updated.
  • System topics are part of the initial system and cannot be edited. The distinction between profile topics and message topics is made when a new topic is created.
  • Topic creation is a multi-step procedure.
  • the definition of the information set is completed. Users specify an arrangement of data elements and attributes with nested and repeated data groups to any arbitrary level. Based on this definition, a sequence of branches is derived. Every defined element and attribute will be a branch, and each branch will represent either a grouping branch or an entry point branch. This derivation will be stored as part of a topic.
  • additional display data is entered for each branch. Some display information will be determined automatically from the topic definition and the rest is specified as part of the creation procedure.
  • Topic display data include data to be used by the rule constructors, profile editors, message editors and display devices. The display data for each branch includes but is not limited to description, type, display name, choices, format, etc.
  • the matching sub-system 190 determines which recipients 120 should receive a given message from the entry sub-system 150 .
  • the matching procedure includes several steps.
  • a typical embodiment of the system employs these steps: first, system rules and message rules are combined, giving priority to one type of rules over the other depending on configuration options set by administrators.
  • configuration profiles are obtained for each recipient 120 . This information will be used to determine how to transmit the message to its recipient 120 . Messages may be transmitted via e-mail, fax, postal mail, Internet protocols, wireless electronic delivery, sonar, radar, foot messenger or any other delivery mechanism or method without affecting the nature of the process. Messages may also be logged to a special file or other device for later retrieval by a recipient 120 .
  • FIG. 2 represents an embodiment of the present invention as a rule-based information system with a component for direct access.
  • the embodiment represented in FIG. 2 is similar to the embodiment represented in FIG. 1, except that a requester 120 has replaced the recipient 200 . While a recipient 120 is reactive with respect to the receipt of information, a requester 200 is proactive.
  • a requester 200 interacts with a direct request sub-system 210 to formulate a request for information.
  • the matching sub-system 190 processes the request together with data from the data sub-system 140 and determines what information from a content archive will meet the request.
  • the request is formulated in the same manner as profile rules, as discussed above.
  • the request in the form of requester rules is sent to the direct request sub-system 210 and then passed to a matching sub-system 190 .
  • Requester rules include the request and profile rules of the requester, if applicable.
  • the matching procedure used by the matching sub-system 190 in response to a request from the direct request sub-system 210 comprises several steps. A preferred embodiment of the process would employ these steps: first, system rules and request rules are combined, giving priority to one type of rules over the other depending on configuration options set by administrators. Next, using the references to topic branches, operands, and values specified, within each rule, a preliminary set of messages is determined.
  • Indexing on the message rules further refines this set. With a fully refined set of messages, the system rules, message rules and requester rules are applied to determine which recipients should receive the message. This list of messages is passed on to the direct request sub-system 210 and on to the requester 200 .
  • FIG. 3 represents the data sub-system 300 and operation of the data management and indexing with profiles 310 , topics 320 , and rules 330 . Operation of this sub-system involves storage and indexed retrieval of data to be used elsewhere in the system.
  • a data management and indexing sub-system 300 will support adding of new data and indexing of this data for faster retrieval.
  • the actual algorithms used in indexing, adding, and retrieving data do not directly impact the operation of the system, provided that data is indexed for efficient retrieval and can support the functions of the matching sub-systems. Indexing is preferably by those fields as indicated above.
  • FIG. 4 represents the information storage sub-system 400 and operation of the information archive sub-system with content and message rules. Operation of this sub-system involves storage and indexed retrieval of data to be used elsewhere in the system.
  • An information archive supports adding of new data and indexing of this data for faster retrieval.
  • the actual algorithms used in indexing, adding, and retrieving data do not directly impact the operation of the system, provided that data is indexed for efficient retrieval and supports the functions of the matching sub-systems. Indexing is preferably by those fields as indicated above.
  • the topic creation procedure maps data definitions into branches. These branches are the references used for constructing rules and the mapping removes a user from having to contend with nested and repeated data groups when specifying rules.
  • the branch mapping is determined by constructing a tree from the topic definition. Each defined element and attribute is placed in the tree. Multiple occurrences of an element are ignored. The branches will terminate at any point where an element contains other elements that are undefined. A defined element may be represented by more than one branch.
  • Rules are constructed from Boolean expressions involving Branches. Each branch referred to in the rule will reference data in the message or profile. Combining expressions within a rule can impact the interpretation of that rule. References based on user selections may be interpreted as tag matches, path matches, or branch matches. In a preferred embodiment of the present invention, the default is branch match. This interpretation of rules is used by the matching sub-system 190 to control the flow and access of information through the process.
  • FIGS. 5 and 6 corresponding to the targeted distribution architecture shown in FIG. 1.
  • FIG. 5 illustrates a high level flowchart for controlling the flow of information from an originator to a recipient according to one aspect of the present invention.
  • information is provided by originator 100 in step 500 . That is, originator 100 enters the information into the system using entry user interface 160 . The entered information is then evaluated by matching sub-system 190 in step 502 .
  • interested recipients for the entered information are determined on the basis of evaluation in step 502 .
  • the information is delivered to the interested recipients, such as recipient 120 .
  • step 600 users enter profile data into the system using data user interface 130 .
  • the profile data includes various information about the users, which is subsequently used to route a message to a proper recipient as explained more fully below.
  • step 602 at the start of the operation by a particular originator, the profile data about that originator is retrieved from profile database 310 of data sub-system 140 .
  • step 604 a set of topics is then presented to the originator on the basis of the obtained profile data in step 602 .
  • the topics are retrieved from the topic database 320 of data sub-system 140 .
  • the originator selects a topic or topics from those presented to him in step 604 .
  • Representative topic may be selected as “international business and “telecommunications industry”.
  • the originator enters a message and enters data related to the selected topics, which he desires to send to interested recipients.
  • the message may be as follows: “Nippon Telegraph and Telephone of Japan is divided into 3 telecommunications companies.”
  • the originator would enter data as defined for the chosen topics “international business” and “telecommunications industry” and optionally a set of message rules to reflect the originator's target audience. It is understood, of course, that instead of entering the message, the originator may reference content data in information storage sub-system 195 or, alternatively, the message may contain links to external content.
  • step 610 the message is stored in the database 410 of information storage sub-system 195 , and then rules are applied in step 612 for properly routing the message or content data.
  • the rules for identifying the interested recipients are retrieved from rule database 330 and include system rules generated by an administrator and may optionally include message rules, associated with the message, that are generated by the originator, and profile rules of the potential recipients.
  • step 614 a determination is made on whether a match has been found, i.e., recipient(s) determined, on the basis of the applied rules. If so, the message or content data is delivered to the interested recipients in step 616 .
  • FIGS. 7 and 8 corresponding to the direct access architecture shown in FIG. 2.
  • FIG. 7 shows a high level flowchart for providing a direct access to information by a recipient according to another aspect of the present invention.
  • requester 200 generates a request for information from a content archive.
  • the generated request is evaluated by matching sub-system 190 , and content data that meets the request on the basis of evaluation is determined in step 704 .
  • the content data is delivered to the recipient.
  • step 800 users enter profile data into the system using data user interface 130 .
  • the profile data includes various information about the users, which is subsequently used to access information as explained more fully below.
  • step 802 at the start of the operation by a particular requester, the profile data, if exists, about that requester is retrieved from profile database 310 of data sub-system 140 .
  • step 804 a set of topics is then presented to the requester on the basis of the obtained profile data in step 802 .
  • the topics are retrieved from the topic database 320 of data sub-system 140 .
  • step 806 the requester selects a topic or topics from those presented to him in step 804 .
  • step 808 the requester enters a selection rule for retrieving the information.
  • the formulation and presentation of the selection rule interface is specific to the topics selected.
  • step 810 the rules, including the selection rules and optionally message and system rules, are applied for accessing the content archive.
  • step 812 a determination is made on whether a match has been found, i.e., content data ascertained, on the basis of the applied rules. If so, the content data is delivered to the interested requester in step 814 .
  • a typical use of the system may involve thousands and possibly millions of users. Thousands of messages may be transferred daily. However, as a simple example let it be assumed that there are 2 users, and a single message is entered into the system by the second user.
  • the first user's profile includes, amongst a multitude of profile information, the characterization that could be described as “Patent Attorney specializing in a variety of bio related fields”.
  • the second user's profile includes, amongst other characterizations, that she is medical worker with an advanced degree.
  • the second user posts a request for contemporary legal information related to the application of medical devices. To complete this post, the second user selects topics pertaining to legal and medical fields and fills in relevant data for each topic. For the legal topic the second user indicates some general selections, and for the medical device the second user indicates applications and descriptions of “valves” and “inhibitors”.
  • the second user also specifies “Message Rules” indicating that she only wants the message to go to users who are knowledgeable with the certain types of “valves” and “inhibitors”.
  • the “System Rules” dictate that messages of the type specified should be sent to “a set of users that includes certain professionals in the medical and legal fields”. The above message rule narrows this list further.
  • the first user has a set of “Profile Rules” indicating what types of posts, and from whom, he would like to receive. His rules for receiving messages includes “posts requesting legal information from medical professionals with advanced degrees”, and hence receives the message. A third user in the medical field that indicated a non-interest in “requests for information” does not receive the message even though, based on the criteria of the System and Messages rules, he was eligible.
  • the system may omit any of the interactions between the data sub-system 140 and any of the administrator 100 , originator 110 , requester 200 , or recipient 120 .
  • the system may also omit interactions with the information storage sub-system 195 .
  • Any or all of the sub-systems could be combined without changing the nature or functioning of the system.
  • the system is not dependent on any particular representation of information. Use of XML and SGML syntax and references are for explanatory purposes only. In no way is the system limited to information using these representations, and the system will work equally well with any alternative information representation that supersedes these or includes the relevant features of these representations. Further, the system is not dependent on the use of a particular database system or computer platform.

Abstract

Flexible rule-based information system allows information originators, administrators, recipients, and requesters (collectively, “users”) to control and influence the flow of and access to information. How much control each user is given depends on the configuration of the system by the administrator and the choice of system-wide rules by the administrator. The originators generate messages or evaluate external content, then optionally specify rules indicating the type of recipients they would like to reach. Recipients specify rules indicating what types of messages and from what types of originators they want to receive. Users provide profile information and have incentive to provide as much information as possible so as to trigger the right rules.

Description

    COPYRIGHT NOTICE
  • A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever. [0001]
  • BACKGROUND OF THE INVENTION
  • The invention disclosed herein relates generally to systems and methods that allow for control of the flow of and access to information. More particularly, the invention relates to a system for information processing, delivery, and access with applications to information in electronic format. [0002]
  • While access to electronically stored information has increased drastically with the use of computers and, specifically, global computer networks such as the Internet, the cost of information access is often dominated not by the cost of the information itself or of the gathering or digitization of the information, but by the time required to sort out and evaluate data relevant to a given query. This is particularly apparent for real-time event-driven information and content. Such information includes news, notifications, advisements, announcements, commentary, press releases, message postings to Internet-based newsgroups (such as via Usenet), data in discussion groups and chat boards, as well as information generated by product searches, job searches, consulting searches, matchmaking, and networking. Often, the cost of sorting and evaluating information is too great to justify the search, resulting in an overload of information. [0003]
  • One existing approach to reduce the flow of information is collaborative filtering. Such filtering allows profiled users to express interest in content. The system then records the interest level and uses it to predict the interest of other users based on the similarity of their respective profiles. This approach is inappropriate for accessing and directing time-sensitive information as it is inherently not a real-time method. Further, entities employing this approach can offer users no more expertise in directing the flow of information than as determined by a group of peers, with the peers possibly having no more expertise than a given user. A related existing method, learning-by-action, is another approach that is ineffective in real-time environments. [0004]
  • Another existing method is known as “keyword matching” or “textual searches.” Keyword matching suffers from the problem that matches are not context specific. That is, there is no efficient way to match words based on their meaning. An additional problem is that there is no uniformity of keywords. Further, “structured information” content is not utilized by this method of searching for information. [0005]
  • Thus there is a need for a system and method for efficiently sorting and sifting through a large information flow. [0006]
  • BRIEF SUMMARY OF THE INVENTION
  • It is an object of the present invention to provide a system and method for efficiently sorting through a large information flow. [0007]
  • It is another object of the present invention to provide a system and method for employing an intuitive, rule-based approach to allow information originators to more intelligently distribute their information and to allow end-users to leverage their own expertise and domain specific knowledge. [0008]
  • Some of the above and other objects of the present invention are achieved by a method and system for distributing information between an originator and at least one end-user. According to the invention, the originator generates a message rule for indicating types of end-users that are eligible to receive the information. An end-user generates a profile rule for indicating types of information and types of originators that the end-user would be interested in receiving the information from. Further, an administrator generates a system rule for indicating what types of information from what types of originators should be delivered to what types of end-users. Then, at least one end-user is identified that is eligible and interested to receive the information on the basis of the generated message, profile and system rules. And the information is delivered to the identified at least one end-user. [0009]
  • According to one aspect of the present invention, the identity of the end-user is not disclosed to the originator. According to another aspect of the present invention, the generated message, profile and system rules are specified by an autonomous agent.[0010]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The invention is illustrated in the figures of the accompanying drawings which are meant to be exemplary and not limiting, in which like references refer to like or corresponding parts, and in which: [0011]
  • FIG. 1 is a schematic diagram of a preferred embodiment of the present invention for targeted distribution, comprising a recipient and a delivery sub-system; [0012]
  • FIG. 2 is a schematic diagram of a preferred embodiment of the present invention for direct access, comprising a requester and a direct-request sub-system; [0013]
  • FIG. 3 is a schematic diagram of a data sub-system of a preferred embodiment of the present invention; [0014]
  • FIG. 4 is a schematic diagram of an information storage sub-system of a preferred embodiment of the present invention; [0015]
  • FIG. 5 illustrates a high level flowchart for controlling the flow of information from an originator to a recipient according to one aspect of the present invention; [0016]
  • FIG. 6 shows a flowchart for describing the operations shown in FIG. 5 in more detail; [0017]
  • FIG. 7 shows a high level flowchart for providing a direct access to information by a recipient according to another aspect of the present invention; and [0018]
  • FIG. 8 shows a flowchart for describing the operations shown in FIG. 7 in more detail;[0019]
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • As a general overview, a flexible rule-based information system allows information originators, administrators, recipients, and requesters (collectively, “users”) to control and influence the flow of and access to information. How much control each user is given depends on the configuration of the system by the administrator and the choice of system-wide rules by the administrator. [0020]
  • The originators generate messages or evaluate external content, then optionally specify rules indicating the type of recipients they would like to reach. Recipients specify rules indicating what types of messages and from what types of originators they want to receive. Users provide profile information and have incentive to provide as much information as possible so as to trigger the right rules. Messages and profiles are structured information that can contain nested and repeated data groups to any arbitrary level. The rules reference profiles and messages, and are specified in a standard logic format capable of addressing multiple levels of data nesting while abstracting from the details of procedural and query languages. [0021]
  • The system maintains sets of information topics to be used for describing profiles, content, and messages. Users can add and embed additional descriptive topics in profiles and messages and add rules to reference new topics, making the process dynamic and adaptive. The process can work as conduit between humans whereby all users are humans or wherein any combination of users may be mechanical or computational agents. [0022]
  • By employing an intuitive rule-based approach to allow information originators to more intelligently distribute their information and by allowing end-users to leverage their own expertise and domain specific knowledge, the present invention can greatly reduce the total cost of information access, filtering, and processing. [0023]
  • Profiles, as used in this invention, consist of information and data about or characterizing a particular user or autonomous agent, and can be broad and encompassing without limit. For example, profile data could include financial data about investments, transactions, risk preferences, and expertise with various aspects of financial decision making. An example of profile information could also include medical information and history that would include all known ailments and treatments. Another example of profile information is career information that includes details of work experiences and skills, or detailed hobby information about expertise and experiences with any recreational activity. Still another example of profile is purchasing objectives, decision patterns and influence on buying decisions. [0024]
  • Rules, as used in this invention, can be expressed in natural language and reference any profile and message data. For example, some rules pertaining to financial domain might be “Send introductory research reports with recommendations to recipients who are active and knowledgeable investors and do not hold any securities in the mentioned industries”. Another example might be “Send all messages from active computer programmers with entrepreneurial business ambitions who are looking for any kind of legal advise”, or “Send RFP to consultants in the facilities management business who have been purchasing agents”, or “Don't send job posts from recruiters”. In the family medical space a rule might be “Alert active mountain bikers about news stories detailing lime disease outbreaks in their state.”[0025]
  • With reference to FIGS. 1, 2, [0026] 3, and 4, one preferred embodiment of the present invention includes users 100, 110, 120, 200, sub-systems 140, 150, 180, 190, 195, 210 and data storage 310, 320, 330, 410, 420. The users, categorized as originators 100, administrators 110, recipients 120, and requesters 200, may be humans or computer agents. The sub-systems may include such sub-systems as entry 150, data 140, information storage 195, matching 190, delivery 180, direct request 210. The data storage may contain content, profiles, topics, and rules.
  • FIG. 1 is a schematic representation of an embodiment of the present invention operating as a rule-based information system with a component for targeted distribution. The flow of information starts with an [0027] originator 100. An originator 100 interacts with the system by providing information to an entry sub-system 150 and a data sub-system 140. An administrator 110 interacts with the data sub-system 140. A recipient 120 interacts with data sub-system 140 and a delivery sub-system 180. While FIG. 1 shows a single originator 100, a single administrator 110, and a single recipient 120, it will be appreciated by those skilled in the art that there may be any number of each of originators 100, administrators 110, and recipients 120. Each of the originators 100, administrators 110, and recipients 120 may be either human or a computer agent or process.
  • All sub-systems interacting with any of the [0028] originators 100, administrators 110, recipients 120, or requesters 200 have both a computer user interface (“UI”) 130, 160 for interaction with humans and an application programming interface (“API”), object, or module interface for direct interaction with computer agents and other processes. In a preferred embodiment, the user interface is graphical and supports keyboard, mouse, and/or voice-activated entry. The user interface comprises client and server components, with the Internet- and network-accessible client components operating in a web-browser, as a plug-in, or as any network distributed program. The client and server parts of the user interface interact using secure and non-secure Internet, network, and distributed object protocols. Further, the server component interacts with the other sub-systems using standard Internet, network, and distributed object protocols. Sub-systems interacting with computer agents or mechanical devices employ an API that is implemented using standard Internet, network, and distributed object protocols.
  • Sub-systems interacting with users (human and/or computer) support a scaleable number of connections. This means that a large number of users can be connected to the [0029] entry 150, data 140, delivery 180, and direct request 210 sub-systems simultaneously. The maximum number is limited only by the bandwidth utilized by the process and the size and number of computer servers running the system portion of the process.
  • The [0030] matching sub-system 190 is a multi-threaded and distributed sub-system. It is implemented as a continually operating computer process or service on at least one server.
  • The messages that move through the system from [0031] originator 100 to entry sub-system 150 to matching sub-system 190 to delivery sub-system 180 to recipient 120 comprise “structured information” and/or objects. Structured information is information in Extensible Markup Language (“XML”) and Standardized General Markup Language (“SGML”), and the objects are computer program representations of messages that can be expressed in those formats. The messages may contain references to separate content in the form of links that may or may not be stored in information storage. Nothing in this description should be interpreted to limit the nature of external content that is referenced by the messages.
  • FIG. 2 is a schematic representation of an embodiment of the invention as a rule-based information system with a component for direct access. In this embodiment, the process is similar to the embodiment represented in FIG. 1, except that the [0032] recipient 120 has been replaced with a requester 200. While a recipient 120 is reactive with respect to the receipt of information, a requester 200 is proactive. A requester 200 interacts with a direct request sub-system 210.
  • FIG. 3 is a schematic representation of the data sub-system [0033] 140 that includes a data management and indexing sub-system 300 for handling requests for data as well as the addition and updating of data. The data is stored in profile database 310, topic database 320, and rule database 330.
  • Topics contained in the [0034] topic database 320 describe information sets. Each topic includes definition and display data. The topic definition data is an SGML/XML Document Type Definition (“DTD”) or XML Definition Schema. It describes the type and characteristics of the information that compose a topic. The topic display information describes how an instance of a topic will be displayed singularly or in a form editor or rules editor. There are three types of topics: “profile topics” describing profiles; “message topics” describing messages and incoming information; and “system topics” that have special system or configuration meaning.
  • Profiles and messages contained in the [0035] profile database 310 comprise instances of topics. When specifying descriptive information for topics it will be necessary for this information to adhere to one or more topic definitions. The user interfaces that are part of the entry 150 and data 130 sub-systems for editing and adding profile data and for adding messages use the topic display information to construct the forms presented to users.
  • All topic information is a combination of XML and XML definitions. It is stored in the [0036] topic database 320, with each entry indexed by topic name and meta-data describing each topic.
  • Profiles are XML data sets validating to one or more topics. They are stored in the [0037] profile database 310 with each entry indexed by topics used and data values for elements and attributes within topics.
  • As mentioned above, rules contained in the [0038] rule database 330 are XML representations of “If-Condition-Then-Actions-Else-Actions” statements. Rules are “system rules” entered by an administrator 110, “profile rules” entered by all users, “request rules” entered by a requester 200, or “message rules” entered by an originator 100. In a preferred embodiment of the present invention, each type of rule is stored in a separate database. Topic reference, elements and attributes, type, and creator index all rules. “Profile rules” are grouped by creator. “Message rules” are grouped by message. “Requester rules” may be stored temporarily, if at all. Topics, profiles, and rules are all stored either as text in XML format or objects representing XML.
  • FIG. 4 is a schematic representation of the [0039] information storage sub-system 195. An information archive sub-system 400 handles requests for content as well as the addition and updating of content. The information archive sub-system 400 retrieves information from message and content database 410 and message rule database 420.
  • Messages are XML data sets validating to one or more topics. They are stored in a database with each entry indexed by topics used and data values for select fields within topics. [0040]
  • Depending on the embodiment and the raw form, content may or may not be stored together with the messages in the information archive. In the event that content is not stored together with the messages in the information archive, the messages will reference the external content items. [0041]
  • Referring to FIG. 1, the [0042] entry sub-system 150 gets new information from an originator 100, stores information in an information storage sub-system 195, and provides the information to a matching sub-system 190. Information from the entry sub-system 150 is evaluated by the matching sub-system 190 along with data from a data sub-system 140 to determine which recipients 120 will receive the information. When a recipient 120 is identified as a target for the information, the delivery sub-system 180 notifies that recipient 120.
  • If the [0043] originator 100 is a human, the entry sub-system 150 is preferably a computer user interface. The computer user interface is preferably graphical and allows originators 100 to interact with the system via keyboard, mouse, voice-activated entry, and/or some other form of entry. The entry user interface 160 gets profile data about the originator 100 and based on that profile makes available a set of topics that the originator 100 can select to describe the message or information that is entered. After the originator 100 selects a sub-set of topics to be used, he enters descriptive information for each topic selected. The entry form presented to the originator 100 will depend on the topics selected and the display data for each topic as stored in the data sub-system 140. A special topic is used for profile configuration data and it is this configuration data that is used to determine the set of topics available to each originator 100.
  • If the [0044] originator 100 is a computer agent or mechanical device, it interacts with the system via an API, object interface, or access module. Interaction may bypass the user interface 160 and go directly to an entry server 170 or interact with a variation of interface. Interaction with and within the system preferably uses standard Internet, network, or distributed object protocols. If the agent or device interacts with an interface, it is able to register as a specific originator 100 and get a list of available topics. It is also able to check that the message or entered information is valid for the selected topics.
  • An [0045] originator 100 may also enter “message rules” specific to the message or information. These rules will be attached to the message as it flows through the system and are stored with or in parallel with the message in the information storage.
  • In a preferred embodiment, all users (i.e., [0046] originators 100, administrators 110, recipients 120, and/or requesters 200) may enter profile rules. Entry of profile rules data occurs via a data user interface. For each rule, a user selects topics from a set of available topics. These topics include both message- and profile-specific topics. After a user selects a sub-set of topics to be used, the user will construct a rule. The rule construction form presented to the user will depend on the topics selected and the display data for each topic used to create the rule construction form. The rule construction procedure allows a user to specify one or more Boolean conditions. Each condition is constructed by selecting an operand and—depending on the operand—selecting a single reference, two references, or a reference and a value. The choice of references and values are determined from the topics and the operand selected. Topic branches, described below, map into references. The choice of operands includes all binary operands for character and numeric data (including but not limited to “<”, “=”, “>”,“≠”, “≧”, “≦”, “contains”, “starts with”, “ends with”, etc.). Conditions can be combined using logical operators (“AND”, “OR”, “NOT”).
  • Rule construction also involves the selection of actions to be completed if the rule evaluates “true” and alternative actions to be completed by the process if the rule evaluates “false”. Actions are defined by the [0047] administrator 110 when the process is initiated and preferably include at least actions for ranking, categorizing, including, excluding, flow control (jump to another rule), etc. Rules may also be entered via a natural language interface. The “system rules” are entered similarly to “profile rules”, but can only be entered by administrators 110.
  • In a preferred embodiment, all users ([0048] originators 100, administrators 110, recipients 120, and requesters 200) may enter profile data. Entry of profile data occurs via a data user interface. A user selects profile-specific topics from a set of available topics. After the user selects a sub-set of topics to be used, they enter descriptive information for each topic selected. The entry form presented to the user will depend on the topics selected and the display data for each topic as stored in the data sub-system. A special “system topic” is used for profile configuration data and this configuration data will be entered first and used to determine the set of topics available to each user.
  • In a preferred embodiment, all users ([0049] originators 100, administrators 110, recipients 120, and requesters 200) may enter topics. In a typical embodiment with many users, restrictions are placed on the creation of new topics. New topics are entered via a topic entry form that is part of the data user interface. This form facilitates the entry of a definition describing an information set. The information set contains multiple data elements and attributes and allows nested and repeated data groups to any arbitrary level. Topics can be edited but it may be necessary to create maps from old versions of a topic so that all parts of the process that reference data described in the older version can be updated. System topics are part of the initial system and cannot be edited. The distinction between profile topics and message topics is made when a new topic is created.
  • Topic creation is a multi-step procedure. In the first step, the definition of the information set is completed. Users specify an arrangement of data elements and attributes with nested and repeated data groups to any arbitrary level. Based on this definition, a sequence of branches is derived. Every defined element and attribute will be a branch, and each branch will represent either a grouping branch or an entry point branch. This derivation will be stored as part of a topic. In the second step of the topic creation procedure, additional display data is entered for each branch. Some display information will be determined automatically from the topic definition and the rest is specified as part of the creation procedure. Topic display data include data to be used by the rule constructors, profile editors, message editors and display devices. The display data for each branch includes but is not limited to description, type, display name, choices, format, etc. [0050]
  • Referring to FIG. 1, the [0051] matching sub-system 190 determines which recipients 120 should receive a given message from the entry sub-system 150. In a preferred embodiment, the matching procedure includes several steps. A typical embodiment of the system employs these steps: first, system rules and message rules are combined, giving priority to one type of rules over the other depending on configuration options set by administrators. Next, using the references to topic branches, operands, and values specified, within each rule, a preliminary set of recipients' profiles is determined. Indexing on the profile rules further refines this set. With a fully refined set of recipients the system rules, message rules and profile rules are applied to determine which recipients should receive the message. This list of recipients is passed on to the delivery sub-system 180.
  • After the [0052] delivery sub-system 180 receives a list of recipients and a message from the matching sub-system 190, configuration profiles are obtained for each recipient 120. This information will be used to determine how to transmit the message to its recipient 120. Messages may be transmitted via e-mail, fax, postal mail, Internet protocols, wireless electronic delivery, sonar, radar, foot messenger or any other delivery mechanism or method without affecting the nature of the process. Messages may also be logged to a special file or other device for later retrieval by a recipient 120.
  • FIG. 2 represents an embodiment of the present invention as a rule-based information system with a component for direct access. The embodiment represented in FIG. 2 is similar to the embodiment represented in FIG. 1, except that a [0053] requester 120 has replaced the recipient 200. While a recipient 120 is reactive with respect to the receipt of information, a requester 200 is proactive. A requester 200 interacts with a direct request sub-system 210 to formulate a request for information. The matching sub-system 190 processes the request together with data from the data sub-system 140 and determines what information from a content archive will meet the request.
  • The request is formulated in the same manner as profile rules, as discussed above. The request in the form of requester rules is sent to the [0054] direct request sub-system 210 and then passed to a matching sub-system 190. Requester rules include the request and profile rules of the requester, if applicable. In a preferred embodiment of the present invention, the matching procedure used by the matching sub-system 190 in response to a request from the direct request sub-system 210 comprises several steps. A preferred embodiment of the process would employ these steps: first, system rules and request rules are combined, giving priority to one type of rules over the other depending on configuration options set by administrators. Next, using the references to topic branches, operands, and values specified, within each rule, a preliminary set of messages is determined. Indexing on the message rules further refines this set. With a fully refined set of messages, the system rules, message rules and requester rules are applied to determine which recipients should receive the message. This list of messages is passed on to the direct request sub-system 210 and on to the requester 200.
  • FIG. 3 represents the [0055] data sub-system 300 and operation of the data management and indexing with profiles 310, topics 320, and rules 330. Operation of this sub-system involves storage and indexed retrieval of data to be used elsewhere in the system. A data management and indexing sub-system 300 will support adding of new data and indexing of this data for faster retrieval. The actual algorithms used in indexing, adding, and retrieving data do not directly impact the operation of the system, provided that data is indexed for efficient retrieval and can support the functions of the matching sub-systems. Indexing is preferably by those fields as indicated above.
  • FIG. 4 represents the [0056] information storage sub-system 400 and operation of the information archive sub-system with content and message rules. Operation of this sub-system involves storage and indexed retrieval of data to be used elsewhere in the system. An information archive supports adding of new data and indexing of this data for faster retrieval. The actual algorithms used in indexing, adding, and retrieving data do not directly impact the operation of the system, provided that data is indexed for efficient retrieval and supports the functions of the matching sub-systems. Indexing is preferably by those fields as indicated above.
  • The flow of information (messages and content) through the system is determined by the various types of rules described here. Rules are used by the matching sub-system as also described here. The interaction between topics and rules facilitates the main features of the system. [0057]
  • The topic creation procedure maps data definitions into branches. These branches are the references used for constructing rules and the mapping removes a user from having to contend with nested and repeated data groups when specifying rules. The branch mapping is determined by constructing a tree from the topic definition. Each defined element and attribute is placed in the tree. Multiple occurrences of an element are ignored. The branches will terminate at any point where an element contains other elements that are undefined. A defined element may be represented by more than one branch. [0058]
  • An example of a branch mapping based on the following XML DTD is provided immediately below the following XML DTD: [0059]
    <!ELEMENT root  (p+,q)>
    <!ELEMENT p  (c*,b) >
    <!ELEMENT q  (c+,b|d) >
    <!ATTLIST q a (CDATA) #REQUIRED>
    <!ELEMENT c  (#PCDATA) >
    <!ELEMENT b  (#PCDATA) >
    <!ELEMENT d  (ANY) >
    Branch Name Branch Type Branch Path End Node
    ROOT Grouping /root root
    P Grouping /root/p p
    Q Grouping /root/q q
    C1 Entry /root/p/c c
    C2 Entry /root/q/c c
    B1 Entry /root/p/b b
    B2 Entry /root/q/b b
    D Entry /root/q/d d
    A Entry /root/q/a a
  • The use of XML syntax is for explanatory purposes only. [0060]
  • An example of a profile or message that may be specified from a topic with the above data definition is: [0061]
    <root>
    <p>
    <c>X</c>
    <c>Z</c>
    <c>V</c>
    <b>alpha</b>
    </p>
    <p>
    <c>Y</c>
    <c>W</c>
    <c>U</c>
    <b>beta</b>
    </p>
    <q a=“hellow” >
    <c>T</c>
    <b>gamma</b>
    </q>
    </root>
  • Rules are constructed from Boolean expressions involving Branches. Each branch referred to in the rule will reference data in the message or profile. Combining expressions within a rule can impact the interpretation of that rule. References based on user selections may be interpreted as tag matches, path matches, or branch matches. In a preferred embodiment of the present invention, the default is branch match. This interpretation of rules is used by the [0062] matching sub-system 190 to control the flow and access of information through the process. The differences are clarified in the following table:
    Rule Branch Match Tag Match Path Match
    C1 ≠ S True True True
    C1 ≠ X False False False
    C1 ≠ X AND B1 = beta True False False
    C1 = X AND B1 = beta False True True
    C1 = X AND B1 = gamma False True False
    C1 = X AND B1 ≠ gamma True False True
  • The operation of the system according to the preferred embodiment of the present invention will now be described with reference to FIGS. 5 and 6 corresponding to the targeted distribution architecture shown in FIG. 1. [0063]
  • FIG. 5 illustrates a high level flowchart for controlling the flow of information from an originator to a recipient according to one aspect of the present invention. As shown in the figure, information is provided by [0064] originator 100 in step 500. That is, originator 100 enters the information into the system using entry user interface 160. The entered information is then evaluated by matching sub-system 190 in step 502. In step 504, interested recipients for the entered information are determined on the basis of evaluation in step 502. In step 506, the information is delivered to the interested recipients, such as recipient 120.
  • Next, the operations shown in FIG. 5 will be described in more detail with reference to FIG. 6. In [0065] step 600, users enter profile data into the system using data user interface 130. The profile data includes various information about the users, which is subsequently used to route a message to a proper recipient as explained more fully below. In step 602, at the start of the operation by a particular originator, the profile data about that originator is retrieved from profile database 310 of data sub-system 140. In step 604, a set of topics is then presented to the originator on the basis of the obtained profile data in step 602. The topics are retrieved from the topic database 320 of data sub-system 140. In step 606, the originator selects a topic or topics from those presented to him in step 604. Representative topic may be selected as “international business and “telecommunications industry”. In step 608, the originator enters a message and enters data related to the selected topics, which he desires to send to interested recipients. As an example, the message may be as follows: “Nippon Telegraph and Telephone of Japan is divided into 3 telecommunications companies.” The originator would enter data as defined for the chosen topics “international business” and “telecommunications industry” and optionally a set of message rules to reflect the originator's target audience. It is understood, of course, that instead of entering the message, the originator may reference content data in information storage sub-system 195 or, alternatively, the message may contain links to external content.
  • Continuing with the description of FIG. 6, in [0066] step 610 the message is stored in the database 410 of information storage sub-system 195, and then rules are applied in step 612 for properly routing the message or content data. The rules for identifying the interested recipients are retrieved from rule database 330 and include system rules generated by an administrator and may optionally include message rules, associated with the message, that are generated by the originator, and profile rules of the potential recipients. In step 614, a determination is made on whether a match has been found, i.e., recipient(s) determined, on the basis of the applied rules. If so, the message or content data is delivered to the interested recipients in step 616.
  • Next, the operation of the system according to the preferred embodiment of the present invention will now be described with reference to FIGS. 7 and 8 corresponding to the direct access architecture shown in FIG. 2. [0067]
  • FIG. 7 shows a high level flowchart for providing a direct access to information by a recipient according to another aspect of the present invention. In [0068] step 700, requester 200 generates a request for information from a content archive. In step 702, the generated request is evaluated by matching sub-system 190, and content data that meets the request on the basis of evaluation is determined in step 704. In step 706, the content data is delivered to the recipient.
  • The operations shown in FIG. 7 will be described in more detail with reference to FIG. 8. In [0069] step 800, users enter profile data into the system using data user interface 130. The profile data includes various information about the users, which is subsequently used to access information as explained more fully below. In step 802, at the start of the operation by a particular requester, the profile data, if exists, about that requester is retrieved from profile database 310 of data sub-system 140. In step 804, a set of topics is then presented to the requester on the basis of the obtained profile data in step 802. The topics are retrieved from the topic database 320 of data sub-system 140. In step 806, the requester selects a topic or topics from those presented to him in step 804. In step 808, the requester enters a selection rule for retrieving the information. The formulation and presentation of the selection rule interface is specific to the topics selected.
  • Continuing with the description of FIG. 8, in [0070] step 810 the rules, including the selection rules and optionally message and system rules, are applied for accessing the content archive. In step 812, a determination is made on whether a match has been found, i.e., content data ascertained, on the basis of the applied rules. If so, the content data is delivered to the interested requester in step 814.
  • A typical use of the system may involve thousands and possibly millions of users. Thousands of messages may be transferred daily. However, as a simple example let it be assumed that there are 2 users, and a single message is entered into the system by the second user. [0071]
  • The first user's profile includes, amongst a multitude of profile information, the characterization that could be described as “Patent Attorney specializing in a variety of bio related fields”. The second user's profile includes, amongst other characterizations, that she is medical worker with an advanced degree. The second user posts a request for contemporary legal information related to the application of medical devices. To complete this post, the second user selects topics pertaining to legal and medical fields and fills in relevant data for each topic. For the legal topic the second user indicates some general selections, and for the medical device the second user indicates applications and descriptions of “valves” and “inhibitors”. The second user also specifies “Message Rules” indicating that she only wants the message to go to users who are knowledgeable with the certain types of “valves” and “inhibitors”. The “System Rules” dictate that messages of the type specified should be sent to “a set of users that includes certain professionals in the medical and legal fields”. The above message rule narrows this list further. [0072]
  • The first user has a set of “Profile Rules” indicating what types of posts, and from whom, he would like to receive. His rules for receiving messages includes “posts requesting legal information from medical professionals with advanced degrees”, and hence receives the message. A third user in the medical field that indicated a non-interest in “requests for information” does not receive the message even though, based on the criteria of the System and Messages rules, he was eligible. [0073]
  • While the invention has been described and illustrated in connection with preferred embodiments, many variations and modifications as will be evident to those skilled in this art may be made without departing from the spirit and scope of the invention, and the invention is thus not to be limited to the precise details of methodology or construction set forth above as such variations and modification are intended to be included within the scope of the invention. [0074]
  • For example, the system may omit any of the interactions between the [0075] data sub-system 140 and any of the administrator 100, originator 110, requester 200, or recipient 120. The system may also omit interactions with the information storage sub-system 195. Any or all of the sub-systems could be combined without changing the nature or functioning of the system. Further, the system is not dependent on any particular representation of information. Use of XML and SGML syntax and references are for explanatory purposes only. In no way is the system limited to information using these representations, and the system will work equally well with any alternative information representation that supersedes these or includes the relevant features of these representations. Further, the system is not dependent on the use of a particular database system or computer platform.

Claims (6)

    What is claimed is:
  1. 22. A method for distributing a message from a message provider to one or more computer users, the method comprising:
    storing, in a database, a plurality of information definitions, the information definition comprising a hierarchical context with at least one branch;
    obtaining profile information from the at least one computer user, comprising allowing the at least one computer user to specify values for at least one information definition;
    generating, utilizing a second set of information provided by the message provider, a logically conditional, boolean, computer-interpretable message rule referencing one or more information definition branch;
    determining, utilizing a interpretation of the context of each referenced branch together and individually, whether a first computer user of the one or more computer users is eligible to receive the message on the basis of the message rule; and
    transmitting the message to the one or more computer user if the computer user is eligible to receive the message.
    Whereby a message provider will be able select a set of computer users that the message provider would like to receive the message by only referencing branches from information definitions.
  2. 23. The method of claim 22, wherein the message rule comprises a representation in natural language where the representation does not require specific knowledge of the form of the contextual hierarchical information definitions or require use of a special query or procedural language in the representation or require use of a special structure of the representation.
  3. 24. A method for distributing a message from a message provider to one or more computer users, the method comprising:
    storing, in a database, a plurality of information definitions the information definition comprising a hierarchical context with at least one branch;
    obtaining message information from the message provider, comprising allowing the message provider to specify values for at least one information definition:
    generating utilizing a second set of information provided by the at least one computer user, a logically conditional, boolean, computer-interpretable profile rule referencing one or more information definition branch;
    determining, utilizing a interpretation of the context of each referenced branch together and individually, whether the message satisfies the profile rule; and
    transmitting the message to the first computer user if the message information satisfies the profile rule.
    Whereby, a computer user will be able select a set of messages that the computer users would like to receive by only referencing branches from information definitions.
  4. 25. The method of claim 24, wherein the profile rule comprises a representation in natural language where the representation does not require specific knowledge of the form of the contextual hierarchical information definitions or require use of a special query or procedural language in the representation or require use of a special structure of the representation.
  5. 26. A method for distributing a message from a message providers to one or more computer users, the method comprising:
    storing, in a database, a plurality of information definition, the information definition comprising a hierarchical context with at least one branch;
    obtaining message information from the message provider, comprising allowing the message provider to specify values for at least one information definition;
    obtaining profile information from the at least one computer user comprising allowing the at least one computer user to specify values for at least one information definition;
    generating, utilizing information provided by a administrator, a logically conditional, boolean, computer-interpretable system rule for matching appropriate messages and appropriate message providers with appropriate computer users and referencing one or more information definition branch;
    determining, utilizing a interpretation of the context of each referenced branch together and individually, whether the message satisfies the system rule: and transmitting the message to the first computer user if the message information satisfies the system rule.
    Whereby, a administrator will be able select a set of messages that the computer users should or should not receive by only referencing branches from information definitions,
  6. 27. The method of claim 26, wherein the system rule comprises a representation in natural language where the representation does not require specific knowledge of the form of the contextual hierarchical information definitions or require use of a special query or procedural language in the representation or require use of a special structure of the representation.
US10/365,783 1999-07-29 2003-02-14 Flexible rule-based communication system and method for controlling the flow of and access to information between computer users Abandoned US20040034639A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/365,783 US20040034639A1 (en) 1999-07-29 2003-02-14 Flexible rule-based communication system and method for controlling the flow of and access to information between computer users

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/363,998 US6741992B1 (en) 1999-07-29 1999-07-29 Flexible rule-based communication system and method for controlling the flow of and access to information between computer users
US10/365,783 US20040034639A1 (en) 1999-07-29 2003-02-14 Flexible rule-based communication system and method for controlling the flow of and access to information between computer users

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/363,998 Division US6741992B1 (en) 1999-07-29 1999-07-29 Flexible rule-based communication system and method for controlling the flow of and access to information between computer users

Publications (1)

Publication Number Publication Date
US20040034639A1 true US20040034639A1 (en) 2004-02-19

Family

ID=23432607

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/363,998 Expired - Lifetime US6741992B1 (en) 1999-07-29 1999-07-29 Flexible rule-based communication system and method for controlling the flow of and access to information between computer users
US10/365,783 Abandoned US20040034639A1 (en) 1999-07-29 2003-02-14 Flexible rule-based communication system and method for controlling the flow of and access to information between computer users

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/363,998 Expired - Lifetime US6741992B1 (en) 1999-07-29 1999-07-29 Flexible rule-based communication system and method for controlling the flow of and access to information between computer users

Country Status (3)

Country Link
US (2) US6741992B1 (en)
AU (1) AU6394300A (en)
WO (1) WO2001009770A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050091648A1 (en) * 2003-10-22 2005-04-28 International Business Machines Corporation Validating a variable data item in a software routine
US20090063418A1 (en) * 2007-08-31 2009-03-05 Jonathan Robie Method and an apparatus to deliver messages between applications
US7590620B1 (en) * 2004-06-18 2009-09-15 Google Inc. System and method for analyzing data records

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7356498B2 (en) 1999-12-30 2008-04-08 Chicago Board Options Exchange, Incorporated Automated trading exchange system having integrated quote risk monitoring and integrated quote modification services
US9727916B1 (en) 1999-12-30 2017-08-08 Chicago Board Options Exchange, Incorporated Automated trading exchange system having integrated quote risk monitoring and integrated quote modification services
WO2001086592A2 (en) * 2000-05-09 2001-11-15 Hnc Software Inc. Approach for generating rules
US7124203B2 (en) * 2000-07-10 2006-10-17 Oracle International Corporation Selective cache flushing in identity and access management systems
US8661539B2 (en) * 2000-07-10 2014-02-25 Oracle International Corporation Intrusion threat detection
US7194764B2 (en) * 2000-07-10 2007-03-20 Oracle International Corporation User authentication
US9038170B2 (en) * 2000-07-10 2015-05-19 Oracle International Corporation Logging access system events
US7249369B2 (en) * 2000-07-10 2007-07-24 Oracle International Corporation Post data processing
US7171487B2 (en) * 2000-09-22 2007-01-30 International Business Machines Corporation Method and system for application specific packet forwarding
US7185364B2 (en) * 2001-03-21 2007-02-27 Oracle International Corporation Access system interface
US20020138588A1 (en) * 2001-03-20 2002-09-26 Richard Leeds System and method for adaptive forums communication
NO20015791L (en) * 2001-11-27 2003-05-28 Beep Science As Arrangement and procedure for defining and controlling message distribution
US7225256B2 (en) 2001-11-30 2007-05-29 Oracle International Corporation Impersonation in an access system
RU2005134907A (en) 2003-04-22 2006-06-10 Войс Дженесис, Инк. (Us) UNIVERSAL MESSAGE TRANSMISSION SYSTEM
US20050060281A1 (en) * 2003-07-31 2005-03-17 Tim Bucher Rule-based content management system
US7904487B2 (en) 2003-10-09 2011-03-08 Oracle International Corporation Translating data access requests
US7882132B2 (en) * 2003-10-09 2011-02-01 Oracle International Corporation Support for RDBMS in LDAP system
US20060074711A1 (en) * 2004-10-01 2006-04-06 Prakash Mahesh System and method for handling multiple radiology applications and workflows
FR2877178A1 (en) * 2004-10-26 2006-04-28 France Telecom Message filtering method for e.g. Internet network, involves verifying if filtering is defined in list of contacts of one client intended to receive message, and sending message to third client, upon positive verification
US7574425B2 (en) * 2004-12-03 2009-08-11 International Business Machines Corporation System and method for query management in a database management system
US7734613B2 (en) * 2005-11-03 2010-06-08 International Business Machines Corporation Enabling a user to create a mini information center thereby reducing the time needed for the user to obtain the desired information
US8688813B2 (en) * 2006-01-11 2014-04-01 Oracle International Corporation Using identity/resource profile and directory enablers to support identity management
US20080065591A1 (en) * 2006-09-08 2008-03-13 Leon Guzenda Configurable software database parallel query system and method
KR101282254B1 (en) * 2006-12-08 2013-07-10 삼성전자주식회사 Image processing apparatus and image processing method and media for computer program thereof
US9027039B2 (en) * 2007-01-29 2015-05-05 Intel Corporation Methods for analyzing, limiting, and enhancing access to an internet API, web service, and data
JP4419102B2 (en) * 2007-09-03 2010-02-24 富士ゼロックス株式会社 Information management apparatus, information management system, and information management program
US8671385B2 (en) * 2011-01-07 2014-03-11 Mastercard International Incorporated Methods and systems for throttling calls to a service application through an open API
US8677308B2 (en) 2011-01-07 2014-03-18 Mastercard International Incorporated Method and system for generating an API request message
US8707276B2 (en) 2011-01-07 2014-04-22 Mastercard International Incorporated Method and system for managing programmed applications in an open API environment
US9032204B2 (en) 2011-01-07 2015-05-12 Mastercard International Incorporated Methods and systems for providing a signed digital certificate in real time
US9083534B2 (en) 2011-01-07 2015-07-14 Mastercard International Incorporated Method and system for propagating a client identity
IL219499B (en) 2012-04-30 2019-02-28 Verint Systems Ltd System and method for malware detection
IL222743A (en) 2012-10-29 2017-03-30 Verint Systems Ltd System and method for identifying contacts of a target user in a social network
IL224482B (en) 2013-01-29 2018-08-30 Verint Systems Ltd System and method for keyword spotting using representative dictionary
IL226057A (en) * 2013-04-28 2017-07-31 Verint Systems Ltd System and method for automated configuration of intrusion detection systems
IL226747B (en) 2013-06-04 2019-01-31 Verint Systems Ltd System and method for malware detection learning
IL233776B (en) 2014-07-24 2019-02-28 Verint Systems Ltd System and method for range matching
US10560842B2 (en) 2015-01-28 2020-02-11 Verint Systems Ltd. System and method for combined network-side and off-air monitoring of wireless networks
IL238001B (en) 2015-03-29 2020-05-31 Verint Systems Ltd System and method for identifying communication session participants based on traffic patterns
IL242218B (en) 2015-10-22 2020-11-30 Verint Systems Ltd System and method for maintaining a dynamic dictionary
IL242219B (en) 2015-10-22 2020-11-30 Verint Systems Ltd System and method for keyword searching using both static and dynamic dictionaries
IL245299B (en) 2016-04-25 2021-05-31 Verint Systems Ltd System and method for decrypting communication exchanged on a wireless local area network
IL248306B (en) 2016-10-10 2019-12-31 Verint Systems Ltd System and method for generating data sets for learning to identify user actions
IL252037B (en) 2017-04-30 2021-12-01 Verint Systems Ltd System and method for identifying relationships between users of computer applications
IL252041B (en) 2017-04-30 2020-09-30 Verint Systems Ltd System and method for tracking users of computer applications
IL256690B (en) 2018-01-01 2022-02-01 Cognyte Tech Israel Ltd System and method for identifying pairs of related application users
IL260986B (en) 2018-08-05 2021-09-30 Verint Systems Ltd System and method for using a user-action log to learn to classify encrypted traffic
WO2020188524A1 (en) 2019-03-20 2020-09-24 Verint Systems Ltd. System and method for de-anonymizing actions and messages on networks
WO2021084439A1 (en) 2019-11-03 2021-05-06 Verint Systems Ltd. System and method for identifying exchanges of encrypted communication traffic

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5794001A (en) * 1989-06-30 1998-08-11 Massachusetts Institute Of Technology Object-oriented computer user interface
US5619648A (en) * 1994-11-30 1997-04-08 Lucent Technologies Inc. Message filtering techniques
US5794210A (en) * 1995-12-11 1998-08-11 Cybergold, Inc. Attention brokerage
AU1566597A (en) * 1995-12-27 1997-08-11 Gary B. Robinson Automated collaborative filtering in world wide web advertising
US6253188B1 (en) * 1996-09-20 2001-06-26 Thomson Newspapers, Inc. Automated interactive classified ad system for the internet
US6182029B1 (en) * 1996-10-28 2001-01-30 The Trustees Of Columbia University In The City Of New York System and method for language extraction and encoding utilizing the parsing of text data in accordance with domain parameters
US6182059B1 (en) * 1997-04-03 2001-01-30 Brightware, Inc. Automatic electronic message interpretation and routing system
US6151624A (en) * 1998-02-03 2000-11-21 Realnames Corporation Navigating network resources based on metadata
US6356920B1 (en) * 1998-03-09 2002-03-12 X-Aware, Inc Dynamic, hierarchical data exchange system
US6115709A (en) * 1998-09-18 2000-09-05 Tacit Knowledge Systems, Inc. Method and system for constructing a knowledge profile of a user having unrestricted and restricted access portions according to respective levels of confidence of content of the portions
US6163794A (en) * 1998-10-23 2000-12-19 General Magic Network system extensible by users
US6199077B1 (en) * 1998-12-08 2001-03-06 Yodlee.Com, Inc. Server-side web summary generation and presentation

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050091648A1 (en) * 2003-10-22 2005-04-28 International Business Machines Corporation Validating a variable data item in a software routine
US8549488B2 (en) * 2003-10-22 2013-10-01 International Business Machines Corporation Validating a variable data item in a software routine
US7590620B1 (en) * 2004-06-18 2009-09-15 Google Inc. System and method for analyzing data records
US20100005080A1 (en) * 2004-06-18 2010-01-07 Pike Robert C System and method for analyzing data records
US8126909B2 (en) 2004-06-18 2012-02-28 Google Inc. System and method for analyzing data records
US9405808B2 (en) 2004-06-18 2016-08-02 Google Inc. System and method for analyzing data records
US9830357B2 (en) 2004-06-18 2017-11-28 Google Inc. System and method for analyzing data records
US11275743B2 (en) 2004-06-18 2022-03-15 Google Llc System and method for analyzing data records
US20090063418A1 (en) * 2007-08-31 2009-03-05 Jonathan Robie Method and an apparatus to deliver messages between applications
US7974966B2 (en) * 2007-08-31 2011-07-05 Red Hat, Inc. Method and an apparatus to deliver messages between applications

Also Published As

Publication number Publication date
US6741992B1 (en) 2004-05-25
AU6394300A (en) 2001-02-19
WO2001009770A1 (en) 2001-02-08

Similar Documents

Publication Publication Date Title
US6741992B1 (en) Flexible rule-based communication system and method for controlling the flow of and access to information between computer users
US7177859B2 (en) Programming model for subscription services
US6260041B1 (en) Apparatus and method of implementing fast internet real-time search technology (first)
US7398261B2 (en) Method and system for managing and tracking semantic objects
US6546387B1 (en) Computer network information management system and method using intelligent software agents
US8161066B2 (en) Methods and systems for creating a semantic object
US7209916B1 (en) Expression and flexibility framework for providing notification(s)
US7467183B2 (en) Method, apparatus, and user interface for managing electronic mail and alert messages
US7941416B2 (en) Harvesting of media objects from searched sites without a user having to enter the sites
US20040002988A1 (en) System and method for modeling subscriptions and subscribers as data
US7640267B2 (en) Methods and systems for managing entities in a computing device using semantic objects
US8725711B2 (en) Systems and methods for information categorization
US6681369B2 (en) System for providing document change information for a community of users
US5428778A (en) Selective dissemination of information
US8645915B2 (en) Dynamic data restructuring
US20170053033A1 (en) System and method for providing an information-centric application
CA3143138C (en) Electronic content ranking based on distribution and consumption
US8539030B2 (en) System and method for managing digests comprising electronic messages
US8095873B2 (en) Promoting content from one content management system to another content management system
US7389290B2 (en) System and method for scoring new messages based on previous responses within a system for harvesting community knowledge
Jokela et al. The role of structured content in a personalized news service
Jarke et al. Broker's lounge-an environment for multi-dimensional user-adaptive knowledge management
US20050223060A1 (en) Retrieving information for processing a received electronic message
Glance et al. Collaborative document monitoring
JPH11184776A (en) Electronic mail system

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION