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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99935—Query 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
- 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.
- 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.
- 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.
- 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.
- 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.
- Thus there is a need for a system and method for efficiently sorting and sifting through a large information flow.
- It is an object of the present invention to provide a system and method for efficiently sorting through a large information flow.
- 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.
- 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.
- 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.
- 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:
- 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; and
- FIG. 8 shows a flowchart for describing the operations shown in FIG. 7 in more detail;
- 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.
- 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.
- 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.
- 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.
- 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.”
- With reference to FIGS. 1, 2,3, and 4, one preferred embodiment of the present invention includes
users sub-systems data storage originators 100,administrators 110,recipients 120, andrequesters 200, may be humans or computer agents. The sub-systems may include such sub-systems asentry 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. Anoriginator 100 interacts with the system by providing information to anentry sub-system 150 and adata sub-system 140. Anadministrator 110 interacts with thedata sub-system 140. Arecipient 120 interacts withdata sub-system 140 and adelivery sub-system 180. While FIG. 1 shows asingle originator 100, asingle administrator 110, and asingle recipient 120, it will be appreciated by those skilled in the art that there may be any number of each oforiginators 100,administrators 110, andrecipients 120. Each of theoriginators 100,administrators 110, andrecipients 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, orrequesters 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
entry 150,data 140,delivery 180, anddirect 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 toentry sub-system 150 to matchingsub-system 190 todelivery sub-system 180 torecipient 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
recipient 120 has been replaced with arequester 200. While arecipient 120 is reactive with respect to the receipt of information, arequester 200 is proactive. Arequester 200 interacts with adirect request sub-system 210. - FIG. 3 is a schematic representation of the data sub-system140 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 inprofile database 310,topic database 320, andrule 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. 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
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 theentry 150 anddata 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. - As mentioned above, rules contained in the
rule database 330 are XML representations of “If-Condition-Then-Actions-Else-Actions” statements. Rules are “system rules” entered by anadministrator 110, “profile rules” entered by all users, “request rules” entered by arequester 200, or “message rules” entered by anoriginator 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
information storage sub-system 195. Aninformation archive sub-system 400 handles requests for content as well as the addition and updating of content. Theinformation archive sub-system 400 retrieves information from message andcontent database 410 andmessage 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.
- 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.
- Referring to FIG. 1, the
entry sub-system 150 gets new information from anoriginator 100, stores information in aninformation storage sub-system 195, and provides the information to amatching sub-system 190. Information from theentry sub-system 150 is evaluated by thematching sub-system 190 along with data from adata sub-system 140 to determine whichrecipients 120 will receive the information. When arecipient 120 is identified as a target for the information, thedelivery sub-system 180 notifies thatrecipient 120. - If the
originator 100 is a human, theentry sub-system 150 is preferably a computer user interface. The computer user interface is preferably graphical and allowsoriginators 100 to interact with the system via keyboard, mouse, voice-activated entry, and/or some other form of entry. Theentry user interface 160 gets profile data about theoriginator 100 and based on that profile makes available a set of topics that theoriginator 100 can select to describe the message or information that is entered. After theoriginator 100 selects a sub-set of topics to be used, he enters descriptive information for each topic selected. The entry form presented to theoriginator 100 will depend on the topics selected and the display data for each topic as stored in thedata 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 eachoriginator 100. - If 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 theuser interface 160 and go directly to anentry 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 aspecific 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. - In a preferred embodiment, all users (i.e.,
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
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 byadministrators 110. - In a preferred embodiment, all users (
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 (
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.
- Referring to FIG. 1, the
matching sub-system 190 determines whichrecipients 120 should receive a given message from theentry 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 thedelivery sub-system 180. - After the
delivery sub-system 180 receives a list of recipients and a message from thematching sub-system 190, configuration profiles are obtained for eachrecipient 120. This information will be used to determine how to transmit the message to itsrecipient 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 arecipient 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 therecipient 200. While arecipient 120 is reactive with respect to the receipt of information, arequester 200 is proactive. Arequester 200 interacts with adirect request sub-system 210 to formulate a request for information. Thematching sub-system 190 processes the request together with data from thedata 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 amatching 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 thematching sub-system 190 in response to a request from thedirect 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 thedirect request sub-system 210 and on to therequester 200. - FIG. 3 represents the
data sub-system 300 and operation of the data management and indexing withprofiles 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 andindexing 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 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.
- 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.
- An example of a branch mapping based on the following XML DTD is provided immediately below the following XML DTD:
<!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.
- An example of a profile or message that may be specified from a topic with the above data definition is:
<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
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.
- 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
originator 100 instep 500. That is,originator 100 enters the information into the system usingentry user interface 160. The entered information is then evaluated by matchingsub-system 190 instep 502. Instep 504, interested recipients for the entered information are determined on the basis of evaluation instep 502. Instep 506, the information is delivered to the interested recipients, such asrecipient 120. - Next, the operations shown in FIG. 5 will be described in more detail with reference to FIG. 6. In
step 600, users enter profile data into the system usingdata 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. Instep 602, at the start of the operation by a particular originator, the profile data about that originator is retrieved fromprofile database 310 ofdata sub-system 140. Instep 604, a set of topics is then presented to the originator on the basis of the obtained profile data instep 602. The topics are retrieved from thetopic database 320 ofdata sub-system 140. Instep 606, the originator selects a topic or topics from those presented to him instep 604. Representative topic may be selected as “international business and “telecommunications industry”. Instep 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 ininformation storage sub-system 195 or, alternatively, the message may contain links to external content. - Continuing with the description of FIG. 6, in
step 610 the message is stored in thedatabase 410 ofinformation storage sub-system 195, and then rules are applied instep 612 for properly routing the message or content data. The rules for identifying the interested recipients are retrieved fromrule 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. Instep 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 instep 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.
- 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
step 700,requester 200 generates a request for information from a content archive. Instep 702, the generated request is evaluated by matchingsub-system 190, and content data that meets the request on the basis of evaluation is determined instep 704. Instep 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
step 800, users enter profile data into the system usingdata user interface 130. The profile data includes various information about the users, which is subsequently used to access information as explained more fully below. Instep 802, at the start of the operation by a particular requester, the profile data, if exists, about that requester is retrieved fromprofile database 310 ofdata sub-system 140. In step 804, a set of topics is then presented to the requester on the basis of the obtained profile data instep 802. The topics are retrieved from thetopic database 320 ofdata sub-system 140. Instep 806, the requester selects a topic or topics from those presented to him in step 804. Instep 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
step 810 the rules, including the selection rules and optionally message and system rules, are applied for accessing the content archive. Instep 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 instep 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.
- 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.
- For example, the system may omit any of the interactions between the
data sub-system 140 and any of theadministrator 100,originator 110,requester 200, orrecipient 120. The system may also omit interactions with theinformation 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)
- 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; andtransmitting 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.
- 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. - 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; andtransmitting 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.
- 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. - 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,
- 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.
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)
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)
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)
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 |
-
1999
- 1999-07-29 US US09/363,998 patent/US6741992B1/en not_active Expired - Lifetime
-
2000
- 2000-07-31 AU AU63943/00A patent/AU6394300A/en not_active Abandoned
- 2000-07-31 WO PCT/US2000/020934 patent/WO2001009770A1/en active Application Filing
-
2003
- 2003-02-14 US US10/365,783 patent/US20040034639A1/en not_active Abandoned
Cited By (10)
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 |