US 12,298,976 B2
System and method for providing cross-microservice query optimization
Ning Dong, Fremont, CA (US); and Kenichi Mizuta, Los Altos, CA (US)
Assigned to Oracle International Corporation, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on Dec. 29, 2023, as Appl. No. 18/400,573.
Application 18/400,573 is a continuation of application No. 17/525,653, filed on Nov. 12, 2021, granted, now 11,893,019.
Prior Publication US 2024/0134855 A1, Apr. 25, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/2453 (2019.01); G06F 16/2455 (2019.01); G06F 16/2458 (2019.01); G06F 16/25 (2019.01)
CPC G06F 16/24544 (2019.01) [G06F 16/2456 (2019.01); G06F 16/2471 (2019.01); G06F 16/256 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A system for providing cross-microservice query processing, comprising:
a computer including one or more processors that provides a cloud computing environment, together with a plurality of microservices operating thereon;
an object service framework for use with the microservices and a database, wherein, for each microservice of the plurality of microservices, a microservice object provides;
an internal implementation definition that provides a mapping between the microservice and a database table view; and
a public contract definition that includes properties and actions of the microservice object that will be accessible by external systems;
wherein views associated with the plurality of microservices and their objects are used to populate a cross-service view into the database;
wherein a catalog of the microservice objects are managed via metadata including, for each microservice object, the public contract that defines how the object can be accessed and the object's internal implementation including database tables used by the object; and
wherein in response to a query based on the cross-service view, the query is transformed into one or more database queries directed to database tables that are associated with the microservices including, in response to a query to be joined across two or more of the microservices, receiving an object-level query based on the cross-service view, and transforming the query into one or more database queries that span data independently owned by the two or more microservices.