MLchartDataset catalogue

Patent · US11954112B2 · B2 · US

Systems and methods for data processing and enterprise AI applications

(11) Publication number
US11954112B2
(21) Application number
17/062,445
(22) Filing date
2020-10-02
(30) Priority date
2015-01-23
(43) Publication date
2024-04-09
(45) Date of grant
2024-04-09
(52) CPC
  • G06F Electric digital data processing: 16/254, 16/25, 16/283, 16/288, 8/10, 8/24, 8/35, 8/77, 9/54
  • G06N Computing arrangements based on specific computational models: 20/00, 20/20, 5/01
  • 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: 10/06
  • H04L Transmission of digital information, e.g. telegraphic communication: 67/10, 67/12, 67/53, 67/565, 67/5651, 67/566, 67/60, 67/61, 69/16, 69/40
  • Y02P Climate change mitigation technologies in the production or processing of goods: 90/80, 90/84
  • Y04S Systems integrating technologies related to power network operation, communication or information technologies for improving the electrical power generation, transmission, distribution, management or usage, i.e. smart grids: 40/18
(73) Assignee
C3 AI INC
(54) Title
Systems and methods for data processing and enterprise AI applications
(57) Abstract

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.

Full text
View on Google Patents

Claims (24)

  1. A method, comprising: providing a system comprising a plurality of types, wherein each type of the plurality of types comprises a respective data field definition and a respective method definition, and wherein at least one type of the plurality of types provides a configurable interface across disparate programming languages, protocols, and storage elements, wherein a first type of the plurality of types defines a subset of the plurality of types, and wherein the subset of the plurality of types excludes the first type, wherein the subset of the plurality of types abstract storage elements and computing services from an application, wherein the storage elements include any of database structure, database language, or storage format, wherein each respective type of the subset of the plurality of types identifies (i) respective data and (ii) at least one respective machine learning service for application to the respective data; implementing the system on a remote computing service comprising a plurality of computing resources; and executing, by a plurality of computing resources, the application using the subset of the plurality of types.
  2. The method of claim 1, further comprising storing the storage elements of the respective data and the computing services in metadata in at least a second type of the subset of the plurality of types.
  3. The method of claim 2, wherein the metadata of the second type of the subset of the plurality of types comprises the respective data field definition and the respective method definition of the respective type corresponding to the second type.
  4. The method of claim 2, further comprising updating the second type of the subset of the plurality of types by updating the metadata of the second type.
  5. The method of claim 4, wherein the metadata of the second type comprises validation rules.
  6. The method of claim 1, wherein the subset of the plurality of types abstract one or more data stores in which the respective data is stored.
  7. The method of claim 6, wherein the plurality of types abstract one or more methods for accessing the one or more data stores.
  8. The method of claim 6, wherein the one or more data stores comprise a key-value store and a relational database.
  9. The method of claim 8, wherein the key-value store is configured to store time-series data and the relational database is configured to store non-time-series data.
  10. The method of claim 8, further comprising implementing the key-value store and the relational database on one or more of the plurality of computing resources.
  11. The method of claim 1, wherein a second type of the plurality of types is associated with a graphical element in a visual analytics designer.
  12. The method of claim 1, wherein the plurality of computing resources comprises virtual machines.
  13. The method of claim 1, further comprising provisioning additional computing resources to accommodate increasing computing demand or releasing a subset of the plurality of computing resources to accommodate decreasing computing demand.
  14. The method of claim 1, wherein the subset of the plurality of types represent physical objects, and wherein the subset of the plurality of types abstract storage elements of the physical objects.
  15. The method of claim 14, wherein the physical objects comprise one or more of a customer, a facility, a sensor, a computing system, or a mobile communication device.
  16. The method of claim 1, wherein the machine learning services include machine learning classifiers for the respective data.
  17. The method of claim 1, wherein the machine learning services include a K-means clustering service for the respective data, and wherein the respective data includes sensor data.
  18. The method of claim 1, wherein the executing the application using the subset of the plurality of types utilizes the configurable interface to integrate disparate data from natively incompatible storage elements.
  19. The method of claim 18, wherein utilizing the configurable interface further integrates disparate data from natively incompatible programming languages.
  20. The method of claim 1, wherein the types enable the application to process data from disparate data sources independent of knowledge of the database structure, database language, or storage format.
  21. The method of claim 20, wherein the disparate data sources are natively incompatible.
  22. A system comprising: one or more processors; and memory storing instructions that, when executed by the one or more processors, cause the system to perform: providing a system comprising a plurality of types, wherein each type of the plurality of types comprises a respective data field definition and a respective method definition, and wherein at least one type of the plurality of types provides an interface across different programming languages, wherein a first type of the plurality of types defines a subset of the plurality of types, and wherein the subset of the plurality of types excludes the first type, wherein the subset of the plurality of types abstract storage elements of data and computing services from an application, wherein the storage elements include any of database structure, database language, or storage format, wherein each respective type of the subset of the plurality of types identifies (i) respective data and (ii) at least one respective machine learning service for application to the respective data; storing the storage elements of the data and the computing services in metadata in at least a second type of the subset of the plurality of types, wherein the metadata of the second type of the subset of the plurality of types comprises the respective data field definition and the respective method definition of the second type; providing access to the subset of the plurality of types to a remote computing service comprising a plurality of computing resources; executing, by the plurality of computing resources, the application using the subset of the plurality of types; and updating, subsequent to executing the application, the second type of the subset of the plurality of types.
  23. The system of claim 22, wherein the updating the second type of the subset of the plurality of types comprises updating the metadata of the second type.
  24. The system of claim 23, wherein updating the metadata of the second type comprises updating the respective data field definition and the respective method definition of the respective type corresponding to the second type.

Citations (119)

  • US10114367B2
  • US10157347B1
  • US10235780B2
  • US10592068B1
  • US10817530B2
  • US10824634B2
  • US10884039B2
  • US11126635B2
  • US11320469B2
  • US2003034998A1
  • US2003037322A1
  • US2003041163A1
  • US2003172368A1
  • US2003177146A1
  • US2004224549A1
  • US2004225649A1
  • US2005050054A1
  • US2005114369A1
  • US2005177816A1
  • US2005228808A1
  • US2005234969A1
  • US2005240592A1
  • US2006010148A1
  • US2006259442A1
  • US2007022093A1
  • US2007100790A1
  • US2007112714A1
  • US2007214408A1
  • US2009044179A1
  • US2009044196A1
  • US2009132867A1
  • US2009228726A1
  • US2010023546A1
  • US2010070217A1
  • US2010094475A1
  • US2010223296A1
  • US2010262313A1
  • US2010274367A1
  • US2010274602A1
  • US2010286937A1
  • US2011010016A1
  • US2011145657A1
  • US2011252426A1
  • US2012002733A1
  • US2012022910A1
  • US2012054147A1
  • US2012102180A1
  • US2012102451A1
  • US2012266129A1
  • US2012271472A1
  • US2012310559A1
  • US2013124453A1
  • US2013144605A1
  • US2013173322A1
  • US2013211870A1
  • US2013212420A1
  • US2013238795A1
  • US2013332194A1
  • US2013346422A1
  • US2014046956A1
  • US2014047107A1
  • US2014058572A1
  • US2014074670A1
  • US2014156806A1
  • US2014201642A1
  • US2014279824A1
  • US2014279837A1
  • US2014279899A1
  • US2014280142A1
  • US2014337429A1
  • US2015019195A1
  • US2015058681A1
  • US2015074037A1
  • US2015095303A1
  • US2015120224A1
  • US2015134733A1
  • US2015233983A1
  • US2015339572A1
  • US2015370873A1
  • US2016078379A1
  • US2017006135A1
  • US2017126741A1
  • US2018107660A1
  • US2018191867A1
  • US2019007517A1
  • US2019065545A1
  • US2019265971A1
  • US2020042627A1
  • US2022283208A1
  • US5132920A
  • US5524253A
  • US6178362B1
  • US6961148B2
  • US7137071B2
  • US7159208B2
  • US7200529B2
  • US7334015B1
  • US7590970B2
  • US7877421B2
  • US8166465B2
  • US8180872B1
  • US8190555B2
  • US8442917B1
  • US8442935B2
  • US8577823B1
  • US8626877B2
  • US8972484B2
  • US9069737B1
  • US9116985B2
  • US9148669B2
  • US9268815B2
  • US9281995B2
  • US9734221B2
  • US9799017B1
  • US9824133B1
  • US9886483B1
  • US9922101B1
  • WO2015066220A2
  • WO2016118979A2
Record as JSON
{
  "publication_number": "US11954112B2",
  "country": "US",
  "kind": "B2",
  "title": "Systems and methods for data processing and enterprise AI applications",
  "abstract": "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.",
  "claims": [
    "1. A method, comprising: providing a system comprising a plurality of types, wherein each type of the plurality of types comprises a respective data field definition and a respective method definition, and wherein at least one type of the plurality of types provides a configurable interface across disparate programming languages, protocols, and storage elements, wherein a first type of the plurality of types defines a subset of the plurality of types, and wherein the subset of the plurality of types excludes the first type, wherein the subset of the plurality of types abstract storage elements and computing services from an application, wherein the storage elements include any of database structure, database language, or storage format, wherein each respective type of the subset of the plurality of types identifies (i) respective data and (ii) at least one respective machine learning service for application to the respective data; implementing the system on a remote computing service comprising a plurality of computing resources; and executing, by a plurality of computing resources, the application using the subset of the plurality of types.",
    "2. The method of claim 1, further comprising storing the storage elements of the respective data and the computing services in metadata in at least a second type of the subset of the plurality of types.",
    "3. The method of claim 2, wherein the metadata of the second type of the subset of the plurality of types comprises the respective data field definition and the respective method definition of the respective type corresponding to the second type.",
    "4. The method of claim 2, further comprising updating the second type of the subset of the plurality of types by updating the metadata of the second type.",
    "5. The method of claim 4, wherein the metadata of the second type comprises validation rules.",
    "6. The method of claim 1, wherein the subset of the plurality of types abstract one or more data stores in which the respective data is stored.",
    "7. The method of claim 6, wherein the plurality of types abstract one or more methods for accessing the one or more data stores.",
    "8. The method of claim 6, wherein the one or more data stores comprise a key-value store and a relational database.",
    "9. The method of claim 8, wherein the key-value store is configured to store time-series data and the relational database is configured to store non-time-series data.",
    "10. The method of claim 8, further comprising implementing the key-value store and the relational database on one or more of the plurality of computing resources.",
    "11. The method of claim 1, wherein a second type of the plurality of types is associated with a graphical element in a visual analytics designer.",
    "12. The method of claim 1, wherein the plurality of computing resources comprises virtual machines.",
    "13. The method of claim 1, further comprising provisioning additional computing resources to accommodate increasing computing demand or releasing a subset of the plurality of computing resources to accommodate decreasing computing demand.",
    "14. The method of claim 1, wherein the subset of the plurality of types represent physical objects, and wherein the subset of the plurality of types abstract storage elements of the physical objects.",
    "15. The method of claim 14, wherein the physical objects comprise one or more of a customer, a facility, a sensor, a computing system, or a mobile communication device.",
    "16. The method of claim 1, wherein the machine learning services include machine learning classifiers for the respective data.",
    "17. The method of claim 1, wherein the machine learning services include a K-means clustering service for the respective data, and wherein the respective data includes sensor data.",
    "18. The method of claim 1, wherein the executing the application using the subset of the plurality of types utilizes the configurable interface to integrate disparate data from natively incompatible storage elements.",
    "19. The method of claim 18, wherein utilizing the configurable interface further integrates disparate data from natively incompatible programming languages.",
    "20. The method of claim 1, wherein the types enable the application to process data from disparate data sources independent of knowledge of the database structure, database language, or storage format.",
    "21. The method of claim 20, wherein the disparate data sources are natively incompatible.",
    "22. A system comprising: one or more processors; and memory storing instructions that, when executed by the one or more processors, cause the system to perform: providing a system comprising a plurality of types, wherein each type of the plurality of types comprises a respective data field definition and a respective method definition, and wherein at least one type of the plurality of types provides an interface across different programming languages, wherein a first type of the plurality of types defines a subset of the plurality of types, and wherein the subset of the plurality of types excludes the first type, wherein the subset of the plurality of types abstract storage elements of data and computing services from an application, wherein the storage elements include any of database structure, database language, or storage format, wherein each respective type of the subset of the plurality of types identifies (i) respective data and (ii) at least one respective machine learning service for application to the respective data; storing the storage elements of the data and the computing services in metadata in at least a second type of the subset of the plurality of types, wherein the metadata of the second type of the subset of the plurality of types comprises the respective data field definition and the respective method definition of the second type; providing access to the subset of the plurality of types to a remote computing service comprising a plurality of computing resources; executing, by the plurality of computing resources, the application using the subset of the plurality of types; and updating, subsequent to executing the application, the second type of the subset of the plurality of types.",
    "23. The system of claim 22, wherein the updating the second type of the subset of the plurality of types comprises updating the metadata of the second type.",
    "24. The system of claim 23, wherein updating the metadata of the second type comprises updating the respective data field definition and the respective method definition of the respective type corresponding to the second type."
  ],
  "cpc": [
    "G06F 16/254",
    "G06F 16/25",
    "G06F 16/283",
    "G06F 16/288",
    "G06F 8/10",
    "G06F 8/24",
    "G06F 8/35",
    "G06F 8/77",
    "G06F 9/54",
    "G06N 20/00",
    "G06N 20/20",
    "G06N 5/01",
    "G06Q 10/06",
    "H04L 67/10",
    "H04L 67/12",
    "H04L 67/53",
    "H04L 67/565",
    "H04L 67/5651",
    "H04L 67/566",
    "H04L 67/60",
    "H04L 67/61",
    "H04L 69/16",
    "H04L 69/40",
    "Y02P 90/80",
    "Y02P 90/84",
    "Y04S 40/18"
  ],
  "assignees": [
    "C3 AI INC"
  ],
  "filing_date": "2020-10-02",
  "publication_date": "2024-04-09",
  "grant_date": "2024-04-09",
  "priority_date": "2015-01-23",
  "application_number": "US-202017062445-A",
  "family_id": "56417934",
  "citations": [
    "US10114367B2",
    "US10157347B1",
    "US10235780B2",
    "US10592068B1",
    "US10817530B2",
    "US10824634B2",
    "US10884039B2",
    "US11126635B2",
    "US11320469B2",
    "US2003034998A1",
    "US2003037322A1",
    "US2003041163A1",
    "US2003172368A1",
    "US2003177146A1",
    "US2004224549A1",
    "US2004225649A1",
    "US2005050054A1",
    "US2005114369A1",
    "US2005177816A1",
    "US2005228808A1",
    "US2005234969A1",
    "US2005240592A1",
    "US2006010148A1",
    "US2006259442A1",
    "US2007022093A1",
    "US2007100790A1",
    "US2007112714A1",
    "US2007214408A1",
    "US2009044179A1",
    "US2009044196A1",
    "US2009132867A1",
    "US2009228726A1",
    "US2010023546A1",
    "US2010070217A1",
    "US2010094475A1",
    "US2010223296A1",
    "US2010262313A1",
    "US2010274367A1",
    "US2010274602A1",
    "US2010286937A1",
    "US2011010016A1",
    "US2011145657A1",
    "US2011252426A1",
    "US2012002733A1",
    "US2012022910A1",
    "US2012054147A1",
    "US2012102180A1",
    "US2012102451A1",
    "US2012266129A1",
    "US2012271472A1",
    "US2012310559A1",
    "US2013124453A1",
    "US2013144605A1",
    "US2013173322A1",
    "US2013211870A1",
    "US2013212420A1",
    "US2013238795A1",
    "US2013332194A1",
    "US2013346422A1",
    "US2014046956A1",
    "US2014047107A1",
    "US2014058572A1",
    "US2014074670A1",
    "US2014156806A1",
    "US2014201642A1",
    "US2014279824A1",
    "US2014279837A1",
    "US2014279899A1",
    "US2014280142A1",
    "US2014337429A1",
    "US2015019195A1",
    "US2015058681A1",
    "US2015074037A1",
    "US2015095303A1",
    "US2015120224A1",
    "US2015134733A1",
    "US2015233983A1",
    "US2015339572A1",
    "US2015370873A1",
    "US2016078379A1",
    "US2017006135A1",
    "US2017126741A1",
    "US2018107660A1",
    "US2018191867A1",
    "US2019007517A1",
    "US2019065545A1",
    "US2019265971A1",
    "US2020042627A1",
    "US2022283208A1",
    "US5132920A",
    "US5524253A",
    "US6178362B1",
    "US6961148B2",
    "US7137071B2",
    "US7159208B2",
    "US7200529B2",
    "US7334015B1",
    "US7590970B2",
    "US7877421B2",
    "US8166465B2",
    "US8180872B1",
    "US8190555B2",
    "US8442917B1",
    "US8442935B2",
    "US8577823B1",
    "US8626877B2",
    "US8972484B2",
    "US9069737B1",
    "US9116985B2",
    "US9148669B2",
    "US9268815B2",
    "US9281995B2",
    "US9734221B2",
    "US9799017B1",
    "US9824133B1",
    "US9886483B1",
    "US9922101B1",
    "WO2015066220A2",
    "WO2016118979A2"
  ]
}

Record 228 of 5,000 in Patents full text (MLC-0201). Request the full dataset.