IP Library › Granted Patent US 11,521,171
Granted Patent B2
US 11,521,171 · App. 17/473,552 · Granted Dec 6, 2022

System and method for a restaurant as a service platform

Inventor: Nagib Georges Mimassi (Palo Alto, CA)
Assignee: ROCKSPOON, INC.
G06Q10/087G06Q10/063118G06Q20/203G06Q50/12
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 11,521,171
App. No.
17/473,552
Granted
Dec 6, 2022
Kind
B2
Abstract

A system and method for a restaurant-as-a-service system, comprising one or more database(s), a cluster manager, and a platform which provides restaurants automated, multiple-domain spanning, intelligent business predictions and optimizations leveraging modular, highly integrable microservices which perform various domain-specific functions and tasks to enhance restaurant operations and patron experience. The cluster manager may intercept data requests and algorithmically forward requests to the appropriate microservice operating on an available cluster of computing devices.

Claims (103)

1. A restaurant-as-a-service platform, comprising:

a distributed network of computing devices configured to operate as a single platform wherein each computing device of the distributed network comprises a memory a processor, and a non-volatile data storage device;

a restaurant database stored on the non-volatile data storage device of one or more of the computing devices of the distributed network of computing devices, the restaurant database comprising financial information, inventory information, staffing information, patron information, and food preparation data for each of a plurality of restaurants;

a cluster manager comprising a first plurality of programming instructions stored in the memory of, and operating on the processor of, a first computing device of the distributed network of computing devices wherein the cluster manager is configured to:

receive microservice requests from client devices;

distribute the microservice requests to computing devices of the distributed network of computing devices using a load balancing algorithm;

receive microservice outputs from the distributed microservice requests; and

for each microservice request received from a client device, send the microservice output for that request to the client device from which the microservice request was received;

a real-time financial microservice comprising a second plurality of programming instructions stored in the memory of, and operating on the processor of, each of the other computing devices of the distributed network of computing devices wherein the second plurality of programming instructions causes the computing device on which it is installed to:

receive a first microservice request comprising a financial action request from the cluster manager, the financial action request comprising a restaurant identifier and a first parameter for optimization;

using the restaurant identifier, retrieve from the restaurant database, responsive to the received financial action request, operations data for the restaurant comprising financial information, inventory information, staffing information, and patron information;

process the retrieved information through a first machine learning algorithm to determine an optimal inventory level, an optimal staffing level, and an optimal payment schedule for the restaurant based on the parameter for optimization;

create a first microservice output comprising the determined optimal inventory level, staffing level, and payment schedule for the restaurant; and

send the first microservice output to the cluster manager;

an advanced inventory management microservice comprising a third plurality of programming instructions stored in the memory of, and operating on the processor of, each of the other computing devices of the distributed network of computing devices wherein the third plurality of programming instructions causes the computing device on which it is installed to:

receive a second microservice request comprising an inventory request comprising the restaurant identifier;

using the restaurant identifier, retrieve from the restaurant database, responsive to the received inventory request, inventory data comprising financial information, inventory information, staffing information, and patron information;

process the retrieved information through a second machine learning algorithm to determine a quantity of items to be purchased;

retrieve third-party data selected from the list of: local news and events, current and forecast weather, a social media posting, and a rating or review;

generate a smart shopping list for the restaurant based on the determined quantity of items to be purchased and the third party data, the smart shopping list comprising a;

break-even point a dynamic point of reorder; and

create a second microservice output comprising the generated shopping list for the restaurant; and

send the second microservice output to the cluster manager;

a food production management microservice comprising a fourth plurality of programming instructions stored in the memory of, and operating on the processor of, each of the other computing devices of the distributed network of computing devices wherein the fourth plurality of programming instructions causes the computing device on which it is installed to:

receive a third microservice request comprising a food order request comprising the restaurant identifier;

using the restaurant identifier, retrieve from the restaurant database, responsive to the received food order request, food preparation data for the restaurant comprising food items and preparation times;

process the retrieved information through a third machine learning algorithm to:

coordinate the preparation of food items in a food order in a food preparation area;

generate a predicted food order ready time;

coordinate the packaging of the food items in the food order; and

generate a predicted packaged food order ready time; and

create a third microservice output comprising the predicted food order ready time and predicted packaged food order ready time for the food order; and

send the third microservice output to the cluster manager; and

an operations microservice comprising a fifth plurality of programming instructions stored in the memory of, and operating on the processor of, each of the other computing devices of the distributed network of computing devices wherein the fifth plurality of programming instructions causes the computing device on which it is installed to:

receive a fourth microservice request comprising a reservation request comprising the restaurant identifier, a reservation time, and current seating data for the restaurant comprising information describing a plurality of patrons that are currently seated at tables in the restaurant;

using the restaurant identifier, retrieve from the restaurant database, responsive to the received reservation request, patron information comprising historical seating data for the restaurant;

calculate a preliminary table turn-time estimate comprising an estimate of when a table will become available to satisfy the request for a reservation, wherein the preliminary table turn-time estimate is based at least in part on the historical seating data, the current seating data, and the reservation time;

create a fourth microservice output comprising the preliminary table turn-time estimate; and

send the fourth microservice output to the cluster manager.

2. The system of claim 1 , further comprising a real-time staffing management microservice comprising a sixth plurality of programming instructions stored in the memory of, and operating on the processor of, each of the other computing devices of the distributed network of computing devices wherein the sixth plurality of programming instructions causes the computing device on which it is installed to:

receive a fourth microservice request comprising a staffing request;

using the restaurant identifier, retrieve from the restaurant database, responsive to the received staffing request, operations data for the restaurant comprising inventory information, staffing information, and patron information;

process the retrieved information through a fourth machine learning algorithm to determine an optimal staffing schedule;

create a fifth microservice output comprising the optimal staffing schedule; and

send the fifth microservice output to the cluster manager.

3. The system of claim 1 , further comprising an optimized routing for food delivery microservice comprising a seventh plurality of programming instructions stored in the memory of, and operating on the processor of, each of the other computing devices of the distributed network of computing devices wherein the seventh plurality of programming instructions causes the computing device on which it is installed to:

receive a fifth microservice request comprising a routing request comprising a restaurant location and a delivery location;

retrieve map data from a third party map data provider on the Internet;

process the restaurant location, the delivery location, and the map data through a fifth machine learning algorithm to:

generate an optimal food delivery route;

create a sixth microservice output comprising the optimal food delivery route; and

send the sixth microservice output to the cluster manager.

4. A method for operating a restaurant-as-a-service platform, comprising the steps of:

using a cluster manager operating on a first computing device of a distributed network of computing devices configured to operate as a single platform wherein each computing device of the distributed network comprises a memory a processor, and a non-volatile data storage device to:

receive microservice requests from client devices;

distribute the microservice requests to computing devices of the distributed network of computing devices using a load balancing algorithm;

receive microservice outputs from the distributed microservice requests; and

for each microservice request received from a client device, send the microservice output for that request to the client device from which the microservice request was received;

using a real-time financial microservice operating on each of the other computing devices of the distributed network of computing devices to:

receive a first microservice request comprising a financial action request from the cluster manager, the financial action request comprising a restaurant identifier and a first parameter for optimization;

using the restaurant identifier, retrieve from a restaurant database stored on the non-volatile data storage device of one or more of the computing devices of the distributed network of computing devices, the restaurant database comprising financial information, inventory information, staffing information, patron information, and food preparation data for each of a plurality of restaurants, responsive to the received financial action request, operations data for the restaurant comprising financial information, inventory information, staffing information, and patron information;

process the retrieved information through a first machine learning algorithm to determine an optimal inventory level, an optimal staffing level, and an optimal payment schedule for the restaurant based on the parameter for optimization;

create a first microservice output comprising the determined optimal inventory level, staffing level, and payment schedule for the restaurant; and

send the first microservice output to the cluster manager;

using an advanced inventory management microservice operating on each of the other computing devices of the distributed network of computing devices to:

receive a second microservice request comprising an inventory request comprising the restaurant identifier;

using the restaurant identifier, retrieve from the restaurant database, responsive to the received inventory request, inventory data comprising financial information, inventory information, staffing information, and patron information;

process the retrieved information through a second machine learning algorithm to determine a quantity of items to be purchased;

retrieve third-party data selected from the list of: local news and events, current and forecast weather, a social media posting, and a rating or review;

generate a smart shopping list for the restaurant based on the determined quantity of items to be purchased and the third party data, the smart shopping list comprising a dynamic point of reorder; and

create a second microservice output comprising the generated smart shopping list for the restaurant; and

send the second microservice output to the cluster manager;

using a food production management microservice operating on each of the other computing devices of the distributed network of computing devices to:

receive a third microservice request comprising a food order request comprising the restaurant identifier;

using the restaurant identifier, retrieve from the restaurant database, responsive to the received food order request, food preparation data for the restaurant comprising food items and preparation times;

process the retrieved information through a third machine learning algorithm to:

coordinate the preparation of food items in a food order in a food preparation area;

generate a predicted food order ready time;

coordinate the packaging of the food items in the food order; and

generate a predicted packaged food order ready time; and

create a third microservice output comprising the predicted food order ready time and predicted packaged food order ready time for the food order; and

send the third microservice output to the cluster manager; and

using an operations microservice operating on each of the other computing devices of the distributed network of computing devices to:

receive a fourth microservice request comprising a reservation request comprising the restaurant identifier, a reservation time, and current seating data for the restaurant comprising information describing a plurality of patrons that are currently seated at tables in the restaurant;

using the restaurant identifier, retrieve from the restaurant database, responsive to the received reservation request, patron information comprising historical seating data for the restaurant;

calculate a preliminary table turn-time estimate comprising an estimate of when a table will become available to satisfy the request for a reservation, wherein the preliminary table turn-time estimate is based at least in part on the historical seating data, the current seating data, and the reservation time;

create a fourth microservice output comprising the preliminary table turn-time estimate; and

send the fourth microservice output to the cluster manager.

5. The method of claim 4 , further comprising the steps of:

using a real-time staffing management microservice operating on each of the other computing devices of the distributed network of computing devices to:

receive a fourth microservice request comprising a staffing request;

using the restaurant identifier, retrieve from the restaurant database, responsive to the received staffing request, operations data for the restaurant comprising inventory information, staffing information, and patron information;

process the retrieved information through a fourth machine learning algorithm to determine an optimal staffing schedule;

create a fifth microservice output comprising the optimal staffing schedule; and

send the fifth microservice output to the cluster manager.

6. The method of claim 4 , further comprising the steps of:

using an optimized routing for food delivery microservice operating on each of the other computing devices of the distributed network of computing devices to:

receive a fifth microservice request comprising a routing request comprising a restaurant location and a delivery location;

retrieve map data from a third party map data provider on the Internet;

process the restaurant location, the delivery location, and the map data through a fifth machine learning algorithm to:

generate an optimal food delivery route;

create a sixth microservice output comprising the optimal food delivery route; and

send the sixth microservice output to the cluster manager.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2022
From: MIMASSI, NAGIB GEORGES
To: ROCKSPOON, INC.
Reel/Frame 059741/0209 →
Continuity (17)
Continuation In Part 17408449 · Aug 22, 2021
Continuation In Part 17223192 · Apr 6, 2021
Continuation In Part 17216360 · Mar 29, 2021
Continuation 17153213 · Jan 20, 2021
Continuation 17037200 · Sep 29, 2020
Continuation In Part 16993488 · Aug 14, 2020
Continuation 16993488 · Aug 14, 2020
Continuation 16898839 · Jun 11, 2020
Continuation 16796505 · Feb 20, 2020
Provisional Application 63162368 · Mar 17, 2021
Provisional Application 63143326 · Jan 29, 2021
Provisional Application 63005899 · Apr 6, 2020
Provisional Application 62956293 · Jan 1, 2020
Provisional Application 62956289 · Jan 1, 2020
Provisional Application 62938822 · Nov 21, 2019
Provisional Application 62938835 · Nov 21, 2019
Related Publication 20210406815A1 · Dec 30, 2021
Cited By (1)
US 12,742,648