{
  "patent_number": "US 9535948",
  "country": "US",
  "title": "How Software Automatically Translates Database Queries for Different Storage Systems",
  "original_title": "Data access statement translation",
  "summary": "A system that intercepts database queries written for traditional relational databases and automatically translates them to work with non-relational databases, allowing developers to switch storage systems without rewriting their application code.",
  "what_it_does": "This patent describes a middleware layer that sits between an application and its database. When the application sends a query in a language like SQL, the system intercepts it, parses it into a structural tree, and translates it into a different query language supported by a non-relational database. After executing the new query, the system monitors the application to see if it crashes or reports errors, effectively testing if the new database can successfully replace the old one. This allows engineers to migrate data from rigid relational tables to more flexible formats without manually updating every line of their application's code.",
  "what_it_does_not_cover": [
    "Does not cover manual database migration scripts or manual code refactoring.",
    "Does not cover query translation that happens at compile-time rather than during runtime execution.",
    "Does not cover systems that do not perform error monitoring or failure detection after the translation occurs."
  ],
  "filed": "2013-12-16",
  "granted": "2017-01-03",
  "expires": null,
  "status": "active",
  "holder": "Amazon Technologies Inc",
  "holder_url": "https://patentbrief.org/company/amazon-technologies-inc",
  "inventors": [
    {
      "name": "David Allen Cuthbert",
      "url": "https://patentbrief.org/inventor/david-allen-cuthbert"
    },
    {
      "name": "Shuo Li",
      "url": "https://patentbrief.org/inventor/shuo-li"
    }
  ],
  "times_cited": 11,
  "tags": [
    "software",
    "ai_ml",
    "telecommunications",
    "ecommerce"
  ],
  "abstract": "Techniques are described for dynamic translation of data access statements. A first set of statements is sent by an executing process to access a first data storage that supports a first query language. The first set of statements is intercepted and translated into a second set of statements configured to access a second data storage that supports a second query language. The second set of statements may be executed on the second data storage, and the result data set may be sent to the executing process that generated the first set of statements. The first and second storages may employ different data storage formats, such as relational and non-relational storage formats. The behavior of the executing process may be monitored to determine the feasibility of modifying the source code of the process to employ a different query language.",
  "url": "https://patentbrief.org/patent/us/9535948/facebook-watch",
  "markdown_url": "https://patentbrief.org/patent/us/9535948/facebook-watch/md",
  "google_patents_url": "https://patents.google.com/patent/US9535948",
  "relatedPatents": []
}