IP Library Granted Patent US 10,754,625
Granted Patent B2
US 10,754,625 · App. 16/010,034 · Granted Aug 25, 2020

Systems and methods for managing a database back end as a service

Inventors: Eliot Horowitz (New York, NY); Michael Patrick O'Brien (New York, NY); Eric Robert Daniels (New York, NY)
Assignee: MongoDB, Inc.
G06F8/31G06F8/40G06F9/45558G06F16/2452G06F16/252G06F21/629G06F21/6218G06F21/6227H04L63/102G06F2009/45575G06F2221/2141H04L63/08
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,754,625
App. No.
16/010,034
Granted
Aug 25, 2020
Kind
B2
Abstract

Systems and methods for managing a database back end as a service are described. In some aspects, the described systems and methods provide for a cloud-based resource for servicing a request for data from an application to a remote database and/or a service. In some aspects, the described systems and methods provide for a cloud-based application client for requesting data from a remote database and/or a service.

Claims (29)

1. A cloud-based resource for servicing a request for data from a cloud-based application to a remote database and/or a service, comprising:

a processor configured to:

receive, from a cloud-based application, a request for data from a remote database and/or a service;

parse, from the request, a declarative statement to determine one or more parameters for one or more rules including a first rule and a second rule, wherein the declarative statement includes code for executing the request, the code including a read or write operation and a user identification;

apply, using the one or more parameters, the first rule to determine whether the cloud-based application is allowed to make the request based on whether a user role associated with the user identification is authorized to request execution of the read or write operation; and

in response to determining that the cloud-based application is allowed to make the request:

transmit, based on the request, a database request to the remote database and/or a service request to the service;

receive, at the cloud-based resource, one or more results from the remote database and/or the service responsive to the database request and/or the service request;

subsequent to receiving the one or more results, apply, at the cloud-based resource, using the one or more parameters, the second rule to determine whether the cloud-based application is allowed to receive the one or more results based on whether the one or more results are locked from being accessed by the cloud-based application; and

in response to determining that the cloud-based application is allowed to receive the one or more results, transmit the one or more results to the cloud-based application.

2. The cloud-based resource of claim 1 , wherein parsing, from the request, the declarative statement to determine the one or more parameters comprises translating a raw expression for the declarative statement from the request into a general match expression.

3. The cloud-based resource of claim 2 , wherein translating the raw expression for the declarative statement from the request into the general match expression comprises interpolating the raw expression from the request to replace one or more placeholders in the raw expression with corresponding values.

4. The cloud-based resource of claim 3 , wherein translating the raw expression for the declarative statement from the request into the general match expression further comprises converting the interpolated expression into the general match expression.

5. The cloud-based resource of claim 4 , wherein translating the raw expression for the declarative statement from the request into the general match expression further comprises evaluating the general match expression against a value.

6. The cloud-based resource of claim 1 , wherein transmitting, based on the request, the database request to the remote database and/or the service request to the service comprises transmitting the database request to the remote database, and, based on a response from the remote database, transmitting the service request to the service.

7. A method for a cloud-based resource for servicing a request for data from a cloud-based application to a remote database and/or a service, comprising:

receiving, from a cloud-based application, a request for data from a remote database and/or a service;

parsing, from the request, a declarative statement to determine one or more parameters for one or more rules including a first rule and a second rule, wherein the declarative statement includes code for executing the request, the code including a read or write operation and a user identification;

applying, using the one or more parameters, the first rule to determine whether the cloud-based application is allowed to make the request based on whether a user role associated with the user identification is authorized to request execution of the read or write operation; and

in response to determining that the cloud-based application is allowed to make the request:

transmitting, based on the request, a database request to the remote database and/or a service request to the service;

receiving, at the cloud-based resource, one or more results from the remote database and/or the service responsive to the database request and/or the service request;

subsequent to receiving the one or more results, applying, at the cloud-based resource, using the one or more parameters, the second rule to determine whether the cloud-based application is allowed to receive the one or more results based on whether the one or more results are locked from being accessed by the cloud-based application; and

in response to determining that the cloud-based application is allowed to receive the one or more results, transmitting the one or more results to the cloud-based application.

8. The method of claim 7 , wherein parsing, from the request, the declarative statement to determine the one or more parameters comprises translating a raw expression for the declarative statement from the request into a general match expression.

9. The method of claim 8 , wherein translating the raw expression for the declarative statement from the request into the general match expression comprises interpolating the raw expression from the request to replace one or more placeholders in the raw expression with corresponding values.

10. The method of claim 9 , wherein translating the raw expression for the declarative statement from the request into the general match expression further comprises converting the interpolated expression into the general match expression.

11. The method of claim 10 , wherein translating the raw expression for the declarative statement from the request into the general match expression further comprises evaluating the general match expression against a value.

12. The method of claim 7 , wherein transmitting, based on the request, the database request to the remote database and/or the service request to the service comprises transmitting the database request to the remote database, and, based on a response from the remote database, transmitting the service request to the service.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2020
From: HOROWITZ, ELIOT; O'BRIEN, MICHAEL PATRICK; DANIELS, ERIC ROBERT
To: MONGODB, INC.
Reel/Frame 051477/0017 →
Continuity (2)
Provisional Application 62521303 · Jun 16, 2017
Related Publication 20180365440A1 · Dec 20, 2018