PLATFORM FOR DATA AGGREGATION, COMMUNICATION, RULE EVALUATION, AND COMBINATIONS THEREOF, USING TEMPLATED AUTO-GENERATION
First Claim
1. A platform comprising:
- a core layer configured to manipulate data and messages, the core layer comprising;
a data block configured to receive a data request from a client, the request being generic to a plurality of database types, the data block configured to process the received database request into a specific database request including syntax specific to a first database type;
a messaging block including a message bus, subscribers, and subscriptions, the messaging block configured to receive a message from the client, store an event based on the message on the message bus, identify a subscription associated with the event, and generate a notification regarding the event for a subscriber associated with the identified subscription; and
a rule block configured to receive a rule from the client including a condition and an action, the rule block configured to evaluate the condition and execute the action;
an adaptive layer coupled to the core layer and configured to provide context to at least a portion of the data manipulated by the core layer; and
an intelligence layer coupled to the adaptive layer and the core layer and configured to generate knowledge based in part on data manipulated by the core layer and context-enriched by the adaptive layer.
8 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the present invention provide platforms for data aggregation, communication, rule evaluation, and combinations thereof. The platform may include three distinct functional layers; a core layer, an adaptive layer and an intelligence layer. Furthermore, the platform may include a data block, messaging block, rule block, or combinations thereof. Generally, the platform may facilitate data acquisition, storage, and manipulation between and among clients and data sources in a generic manner. That is, clients may communicate and make requests independent of a target system or database type. The platform may process the communications and requests in a manner suitable to the target system or database type. The platform may also evaluate rules received from the clients in a manner generic to the client application. Instances of the platform for a given application may be efficiently created using a template-based mechanism. In this manner, the platform may be used to support a variety of end user applications in a flexible, scalable manner.
146 Citations
37 Claims
-
1. A platform comprising:
-
a core layer configured to manipulate data and messages, the core layer comprising; a data block configured to receive a data request from a client, the request being generic to a plurality of database types, the data block configured to process the received database request into a specific database request including syntax specific to a first database type; a messaging block including a message bus, subscribers, and subscriptions, the messaging block configured to receive a message from the client, store an event based on the message on the message bus, identify a subscription associated with the event, and generate a notification regarding the event for a subscriber associated with the identified subscription; and a rule block configured to receive a rule from the client including a condition and an action, the rule block configured to evaluate the condition and execute the action; an adaptive layer coupled to the core layer and configured to provide context to at least a portion of the data manipulated by the core layer; and an intelligence layer coupled to the adaptive layer and the core layer and configured to generate knowledge based in part on data manipulated by the core layer and context-enriched by the adaptive layer. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system for processing monetary pledges, the system comprising:
-
a message bus configured to receive a first message containing information originating from a client device; a data block configured to receive the first message from the message bus and process data contained in the first message for storage in a pledge database, the data block configured to publish a second message to the message bus responsive to receipt of the first message; a rule block configured to receive the second message received from the message bus and determine the second message relates to a pledge, the rule block configured to publish a pledge confirmation event to the message bus responsive to determining the second message relates to the pledge; and a pledge confirmation system subscribed to pledge confirmation events on the message bus, the pledge confirmation system configured to send a third message responsive to notification of the pledge confirmation event. - View Dependent Claims (7, 8)
-
-
9. A system for conducting a point of sale transaction, the system comprising:
-
a message bus configured to receive a first message of a first type indicating a user is looking for a particular type of item; an inventory management application subscribed to messages of the first type on the message bus and configured to receive a notification of the first message responsive to receipt of the first message on the message bus, the inventory management application configured to access an inventory database using a data block and publish information to the message bus regarding the inventory of the particular type of item; a profile manager application subscribed to messages of the first type on the message bus and configured to
1) receive a notification of the first message and
2) access preferences of the user responsive to the notification, the profile manager application further configured to publish the preferences of the user to the message bus;a rule block configured to receive the published preferences of the user related to the particular type of item and the information regarding the inventory of the particular type of item, and evaluate at least one item in the inventory against at least one of the published preferences, the rule block configured to publish the at least one matching item to the message bus. - View Dependent Claims (10, 11, 12)
-
-
13. A method of communicating with one or more databases, the method comprising:
-
receiving a first call for a target database having a first type, the call including a command and a payload, the command being generic and not specific to the first type, the payload including at least one first method element, at least one first parameter associated with the first method element and a first trigger indicator; processing the payload to unpack the at least one first method element and at least one first parameter; and calling the target database using the first method element and the at least one parameter responsive to encountering the trigger indicator. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A method for communicating with a plurality of databases, each having a different type, the method comprising:
-
transmitting a first call including a command and a payload to a data engine, the command and the payload being generic and not specific to any of the database types; transmitting a first indicator of a first target database type for the first call to the data engine, the data engine configured to process the payload according to a template specific to the first target database type to generate a function call specific to the first target database type; transmitting a second call including the command and the payload to the data engine; and transmitting a second indicator of a second target database type for the second call to the data engine, the data engine configured to process the payload responsive to the second indicator according to a second template specific to the second target database type to generate a second function call specific to the second target database type. - View Dependent Claims (26, 27)
-
-
28. A method of automatically generating an object in a target database having a type, the method comprising:
-
receiving a payload including an entity name for creation in the target database at least one attribute associated with the entity name, the attribute having at least one parameter associated with the attribute; processing the payload using a template specific to the type of target database, the template including a statement having a format including at least one placeholder and a reference to at least one placeholder template for replacing the at least one placeholder, the template further including the placeholder template, the placeholder template including a placeholder format and a fieldmask, the act of processing including; replacing at least one placeholder in the statement with the entity name; for each attribute associated with the entity in the payload, generating a string having the placeholder format and containing at least one parameter from the payload placed in the format as specified by the fieldmask; concatenating each of the respective strings generated for all attributes and replacing the at least one placeholder with the concatenated strings; executing the completed statement to generate the object in the target database. - View Dependent Claims (29, 30)
-
-
31. A computer readable medium encoded with executable instructions that, when executed, cause a processor to communicate with one or more databases, the computer readable medium storing instructions for:
-
receiving a call for a target database of a first type, the call including a command and a first payload, the command being generic and not specific to the target database type, the first payload including at least one first method element, at least one first parameter associated with the method element and a first trigger indicator; processing the payload to unpack the at least one first method element and at least one first parameter element; and calling the target database using the first method element and the at least one parameter responsive to encountering the first trigger indicator. - View Dependent Claims (32)
-
-
33. A system for communicating with one or more databases, the system comprising:
-
a first target database having a type; a template memory storing at least one data template specifying at least one object used by the target database and a data format for the at least one object; a data engine coupled to the target database and the schema repository, the data engine configured to receive a payload for the target database, load the at least one data template, traverse the data payload and the data template, format the data payload in accordance with the data template to generate an executable for the target database, and transmit the executable to the target database. - View Dependent Claims (34)
-
-
35. A system for automatically generating an object in a target database, the system comprising:
-
a template memory storing at least one statement template, the template including a generic expression of a plurality of commands necessary to create the object in the target database and at least one data placeholder; an auto-generation engine configured to receive a call to generate the object in the target database, the call including a payload, the auto-generation engine further configured to load the template, replace the at least one data placeholder with at least a portion of the payload, and execute the statement to generate the object in the target database. - View Dependent Claims (36, 37)
-
Specification