Automated system for messaging based on chains of relationships
Abstract
A computer system for automatically generating and sending messages to individuals, entities, processes, or locations (objects) in response to events when specified conditions are met. The automated messaging system is capable of delivering generated messages via a plurality of message delivery mechanisms (e.g. e-mail, FAX, voice mail, textual page). The automated messaging system provides the ability to link objects in chains of relationships and to use these chains to determine which messages to generate, which objects are the recipient of generated messages, and via which message delivery mechanism generated messages are sent. The automated messaging system is useful in a variety of environments including asset management, electronic-commerce, and Internet-based securities trading, as well as other applications.
Claims
exact text as granted — not AI-modified1 - 14 . (canceled)
15 . A computer readable medium containing a plurality of data structures that facilitate indirect message generation, each of said plurality of data structures comprising:
an attribute that defines a relationship type between a child and a parent object, and a plurality of relationships associating said data structure with an object database, said object database identifying the type of said parent and child objects; wherein said plurality of data structures are configured in a tree-structure hierarchy facilitating backwards traversal from child to parent objects, and said attribute facilitates selective generation of messages to parent objects.
16 .- 20 . (canceled)
21 . A method in a messaging system of generating messages for delivery to recipients in response to events when specified conditions are met, comprising:
recording a plurality of objects into an object database, wherein each object is one or more of a subject of an event or a recipient of a message; recording a plurality of recipient delivery addresses into a recipient address database, wherein each recipient address defines a message recipient address for a specific delivery mechanism; recording a plurality of message registrations into a message criteria database, wherein each message registration defines an associated set of message criteria that should trigger generation of at least one message, at least one associated message recipient and one or more delivery mechanisms for delivering generated messages to the at least one associated message recipient; recording a plurality of events into an event database; recording a plurality of hierarchical relationships between objects into a relationship database, wherein each object is associated with one or more of an event, a recipient or another object and wherein the hierarchical relationships form chains of relationships between objects from objects associated with events to recipients; matching each event with the message criteria and the chains of relationships with the message criteria to generate proto-message instructions; matching the proto-message instructions with the recipient addresses to transform the proto-message instructions into one or more message suitable for delivery to the recipient at the addresses and via the delivery mechanism in a corresponding entry in the recipient address database; delivering each message to its recipient at an address, originally recorded into the recipient address database, and via a delivery mechanism, originally recorded into the message criteria database, specified by the message recipient.
22 . A system comprising:
an action registration database, wherein each action registration in the action registration database defines a set of one or more entities that are subject of an action in response to a future event when the future event meets an action criteria associated with the action registration; a relationship database having at least one relationship instance that associates a relationship attribute with a first object and a second object, said first object and said second object having first object attributes and second object attributes, respectively; an action criteria database having at least one action criteria instance, the at least one action criteria instance having a plurality of action criteria attributes; and a processor that initiates an action in response to an event by identifying zero or more matching action registrations that match the event, and for each of the matching action registrations, matching the subjects of the matching action registrations with first objects according to first object attributes to identify zero or more matching first objects, mapping the matching first objects to a set of zero or more second objects using the relationship database, and initiating zero or more actions that match action criteria in the action criteria database associated with the matching action registrations using the set of zero or more second objects as subjects of the initiated actions.
23 . The system of claim 22 , wherein the actions are sending messages, the second objects are entities that can receive messages and the relationship database defines which entities get messages when events associated with first objects related in the relationship database to the second objects occur.
24 . The system of claim 22 , further comprising:
a proto-message database for receiving a proto-message instance created by the processor; a message instruction generator that creates message instructions based upon the proto-message instance; and a message server that creates messages based upon the message instructions.
25 . The system of claim 22 , further comprising an object database that holds first object instances and second object instances associated with said first objects and second objects, respectively.
26 . The system of claim 22 , wherein said object attributes include object types.
27 . The system of claim 22 , further comprising an event database having at least one event instance that associates event types with first object instances.
28 . In a messaging system for generating messages for delivery to recipients in response to specified conditions, an apparatus comprising:
an object database that contains a plurality of object records wherein each object record has an associated object type, the types including a person object records and asset type records; an event database comprising event records, wherein an event record indicates an event with respect to a basis object, wherein the basis object for the event record is represented in the object data base by an asset type record; a relationship database separate from the object database, wherein the relationship database relates objects in the object database along relationship chains of one or more links; and a message processor that reads event records from the event database and generates for an event record, under the specified conditions, one or more proto-message relating to the event represented by the event record and objects of asset type, wherein the message processor also reads the object database and the relationship database to determine relationship chains associated with the object that is the subject of the event record.
29 . The apparatus of claim 28 , further comprising:
logic for matching proto-message instructions with recipient addresses using a recipient database; and logic for delivering messages according to the results from the logic for matching proto-message instructions with recipient addresses.
30 . A computer readable medium containing program code and data structures usable in a messaging system for generating messages for delivery to recipients in response to events when specified conditions are met, comprising:
data structures or program code for generating data structures including an object database, a recipient address —database, a message criteria database, an event database and a relationship database; program code for recording a plurality of objects into the object database, wherein each object is one or more of a subject of an event or a recipient of a message; program code for recording a plurality of recipient delivery addresses into the recipient address database, wherein each recipient address defines a message recipient address for a specific delivery mechanism; program code for recording a plurality of message registrations into the message criteria database, wherein each message registration defines an associated set of message criteria that should trigger generation of at least one message, at least one associated message recipient and one or more delivery mechanisms for delivering generated messages to the at least one associated message recipient; program code for recording a plurality of events into the event database; program code for recording a plurality of hierarchical relationships between objects into the relationship database, wherein each object is associated with one or more of an event, a recipient or another object and wherein the hierarchical relationships form chains of relationships between objects from objects associated with events to recipients; program code for matching each event with the message criteria and the chains of relationships with the message criteria to generate proto-message instructions; program code for matching the proto-message instructions with the recipient addresses to transform the proto-message instructions into one or more message suitable for delivery to the recipient at the addresses and via the delivery mechanism in a corresponding entry in the recipient address database; program code for delivering each message to its recipient at an address, originally recorded into the recipient address database, and via a delivery mechanism, originally recorded into the message criteria database, specified by the message recipient.
31 . A computer readable medium containing program code and data structures for initiating actions based on action subjects and chains of relationships from the action subjects, comprising:
an action registration database, or program code to generate such a database, wherein each action registration in the action registration database defines a set of one or more entities that are subject of an action in response to a future event when the future event meets an action criteria associated with the action registration; a relationship database, or program code to generate such a database, having at least one relationship instance that associates a relationship attribute with a first object and a second object, said first object and said second object having first object attributes and second object attributes, respectively; an action criteria database, or program code to generate such a database, having at least one action criteria instance, the at least one action criteria instance having a plurality of action criteria attributes; program code for initiating an action in response to an event by identifying zero or more matching action registrations that match the event; program code for matching, for each of the matching action registrations, the subjects of the matching action registrations with first objects according to first object attributes to identify zero or more matching first objects; program code for mapping the matching first objects to a set of zero or more second objects using the relationship database; and program code for initiating zero or more actions that match action criteria in the action criteria database associated with the matching action registrations using the set of zero or more second objects as subjects of the initiated actions.
32 . The computer readable medium of claim 31 , wherein the actions are sending messages, the second objects are entities that can receive messages and the relationship database defines which entities get messages when events associated with first objects related in the relationship database to the second objects occur.
33 . The computer readable medium of claim 31 , further comprising:
program code for generating a proto-action object instance according to at least action criteria and the set of zero or more second objects; a proto-action object database, or program code for generating such a database, for receiving the proto-action object instance; program code implementing an action instruction generator that creates action instructions based upon the proto-action object instance; and program code implementing an action server that initiates actions based upon the action instructions.
34 . The computer readable medium of claim 31 , further comprising an object database that holds first object instances and second object instances associated with said first objects and second objects, respectively.
35 . The computer readable medium of claim 31 , wherein said object attributes include object types.
36 . The computer readable medium of claim 31 , further comprising an event database having at least one event instance that associates event types with first object instances.
37 . A computer readable medium containing program code for implementing a method of tracking assets using a computer, the program code comprising:
program code for recording a plurality of message objects; program code for recording a plurality of message recipients; program code for accepting message registrations into a message criteria database, wherein each message registration defines a set of one or more message entities objects that are to receive a message of be considered in response to a future event when the future event relating to one or more tracked assets meets a message criteria associated with the message registration; program code for detecting message events based on changes to a database of tracked assets; program code for querying, for each detected message event, the message criteria database to identify at least one message registration with a message criteria satisfied by the detected message event, resulting in a message registration query result; program code for generating, for each detected message event, a message recipient set from the message recipient query result and a chain of relationships, wherein the chain of relationships is a query result of querying a relationship database and includes at least one parent object and at least one child object; and program code for sending a message to each of the message recipients in the message recipient set following detection of the message events.Join the waitlist — get patent alerts
Track US2005058263A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.