Systems, methods, and devices for a cyberphysical (IoT) software application development platform based upon a model driven architecture and derivative IoT SaaS applications are disclosed herein. The system may include concentrators to receive and forward time-series data from sensors or smart devices. The system may include message decoders to receive messages comprising the time-series data and storing the messages on message queues. The system may include a persistence component to store the time-series data in a key-value store and store the relational data in a relational database. The system may include a data services component to implement a type layer over data stores. The system may also include a processing component to access and process data in the data stores via the type layer, the processing component comprising a batch processing component and an iterative processing component.
Legal claims defining the scope of protection, as filed with the USPTO.
1. An application development platform implemented on one or more processors and one or more storage devices, said application development platform comprising: a persistence component to store time-series data in a key-value store and non-time-series data in a relational database; a data services component to implement abstraction over a plurality of data stores comprising the key-value store and the relational database, wherein the abstraction comprises a metadata-based mapping framework over a plurality of data formats associated with the plurality of data stores; a plurality of configurable transformers, wherein each configurable transformer is associated with exactly one of said plurality of data formats, wherein a configurable transformer associated with a selected data format comprises at least a transformation rule for transforming between the selected data format and a standardized data format that conforms to a canonical data model comprising standardized data definitions, without requiring direct conversion between the plurality of data formats; a user interface to receive a request for data having said selected data format on said application development platform, wherein said configurable transformer is configured to transform said requested data to said standardized data format that conforms to said canonical data model; and an application component for processing said transformed data, wherein said application component comprises application logic, including functions, data processing, and machine learning, configured to access or process said transformed data, wherein said application logic comprises at least two applications that have incompatible programmatic interfaces, and wherein said standardized data format is agnostic to said at least two applications, thereby enabling said at least two applications to communicate directly with each other.
2. The platform of claim 1 , wherein the canonical data model comprises conceptual domain models of various attributes and processes related to different entities or domains.
3. The platform of claim 2 , wherein the various attributes and processes comprise persistence, data representations, data interrelationships, computing processes, or machine learning algorithms.
4. The platform of claim 1 , wherein the standardized data format comprises an aggregation and correlation of two or more data formats associated with the plurality of data stores, while ensuring automatic and guaranteed referential integrity of the underlying two or more data formats.
5. The platform of claim 4 , wherein the standardized data format is automatically exposed and accessible through RESTful interfaces.
6. A method comprising: storing time-series data in a key-value store and non-time-series data in a relational database; implementing, on an application development platform, abstraction over a plurality of data stores comprising the key-value store and the relational database, wherein the abstraction comprises a metadata-based mapping framework over a plurality of data formats associated with the plurality of data stores by: transforming the plurality of data formats to a standardized data format that conforms to a canonical data model comprising standardized data definitions, wherein the transforming is performed with a plurality of configurable transformers, wherein each configurable transformer is associated with exactly one of said plurality of storage formats, wherein a configurable transformer associated with a selected data format comprises at least a transformation rule for transforming between the selected data format and the standardized data format, without requiring direct conversion between the plurality of data formats; in response to a request for data having said selected data format on said application development platform, using said configurable transformer to transform said requested data to said standardized data format that conforms to said canonical data model; and providing application logic, including functions, data processing, and machine learning, for one or more applications that access or process said requested data that was transformed to said selected defined type, wherein said one or more applications comprise at least two applications that have incompatible programmatic interfaces, and wherein said standardized format is agnostic to said at least two applications, thereby enabling said at least two applications to communicate directly with each other.
7. The method of claim 6 , wherein the canonical data model comprises conceptual domain models of various attributes and processes related to different entities or domains.
8. The method of claim 7 , wherein the various attributes and processes comprise persistence, data representations, data interrelationships, computing processes, or machine learning algorithms.
9. The method of claim 6 , wherein the standardized data format comprises an aggregation and correlation of two or more data formats associated with the plurality of data stores, while ensuring automatic and guaranteed referential integrity of the underlying two or more data formats.
10. The method of claim 9 , wherein the standardized data format is automatically exposed and accessible through RESTful interfaces.
11. The method of claim 6 , wherein said canonical data model is extensible to allow users of said application development platform to integrate new data formats.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
March 23, 2016
October 27, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.