IP Library Granted Patent US 10,511,651
Granted Patent B2
US 10,511,651 · App. 15/496,101 · Granted Dec 17, 2019

Infinite micro-services architecture

Inventor: Akshay Sahu (Edmonton, CA)
Assignee: General Electric Company
H04L67/02H04L61/106
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,511,651
App. No.
15/496,101
Granted
Dec 17, 2019
Kind
B2
Abstract

A plurality of micro-services is automatically registered with a central data storage device. During registration, a mapping is determined between intermediate identifiers that identify selected micro-services and physical addresses of one or more servers that execute the selected micro-services. At least one of the physical addresses are dynamically updated based upon operational changes to the one or more servers or based upon a registration of an additional server.

Claims (26)

1. A method, comprising:

automatically registering a plurality of micro-services with a central data storage device, the registering including determining a mapping between intermediate identifiers that identify selected micro-services and physical addresses of one or more servers that execute the selected micro-services, wherein each intermediate identifier of the intermediate identifiers is one or more of a name or a name space and is not an address;

executing a first micro-service using computer code including a first instruction, the first micro-service programmatically calling a second micro-service in the computer code with the first instruction including an intermediate identifier, the intermediate identifier being of the form of an x.y pair wherein x represents a name and y represents a type of authentication, the intermediate identifier being a first x.y pair or a second x.y pair, wherein the first x.y pair and the second x. y pair are fixed and do not change, the first micro-service using the second micro-service and calling the second micro-service via the intermediate identifier that identifies the second micro-service;

wherein the first x.y pair maps to a first prioritized table and the second x.y pair maps to a second prioritized table;

wherein the first prioritized table comprises a first plurality of first URLs arranged in a ranked priority order, each of the first URLs being a server address of a different server;

wherein the second prioritized table comprises a second plurality of second URLs arranged in a ranked priority order, each of the second URLs being a server address of a different server;

wherein when a server associated with a URL becomes disabled a first message is sent to the central data storage device, and responsively the URL of the disabled server is reduced in priority or removed from one or more of the first prioritized table or the second prioritized table, and the ranked priority order of one or more of the first prioritized table or the second prioritized table is readjusted and wherein the computer code and the intermediate identifier in the first instruction remain unchanged;

wherein when a new server with a new URL that executes the new micro-service comes on line a second message is sent to the central data storage device, and responsively the new URL of the new server is added to one or more of the first prioritized table or the second prioritized table and the ranked priority order is readjusted and wherein the computer code and the intermediate identifier in the first instruction remain unchanged;

wherein the computer code is executed including the first instruction and a determination is made as to whether the first x.y pair is being used or the second x.y pair is being used;

wherein the second micro-service is executed from the computer code by mapping the first x.y to the first prioritized table when the first x.y is being used, or by mapping the second x.y pair to the second prioritized table when the second x.y pair is being used, and subsequently utilizing the highest priority URL obtained from the first prioritized table or from the second prioritized table.

2. The method of claim 1 , wherein a customer device executes the first micro-service.

3. The method of claim 1 , wherein the registering further includes mapping each of the intermediate identifiers to one or more of: a HTTP method, an input consumption by a selected micro-service, an output production by a selected micro-service, and a version number.

4. A system, comprising:

a central data storage device;

a plurality of servers executing a plurality of micro-services, wherein each of the servers executes a selected one of the plurality of micro-services, the plurality of servers being coupled to the central data storage device;

wherein each of the plurality of micro-services registers with the central data storage device by determining a mapping between intermediate identifiers that identify selected ones of the micro-services and physical addresses of the servers, wherein each intermediate identifier of the intermediate identifiers is one or more of a name or a name space and is not an address;

wherein a first micro-service is executed using computer code including a first instruction, the first micro-service programmatically calling a second micro-service in the computer code with the first instruction with an intermediate identifier, the intermediate identifier being of the form of an x.y pair wherein x represents a name and y represents a type of authentication, the intermediate identifier being a first x.y pair or a second x.y pair, wherein the first x.y pair and the second x. y pair are fixed and do not change, the first micro-service using the second micro-service and calling the second micro-service via the intermediate identifier that identifies the second micro-service;

wherein the computer code is executed including the first instruction and a determination is made as to whether the first x.y pair is being used or the second x.y pair is being used;

wherein the first prioritized table comprises a first plurality of first URLs arranged in a ranked priority order, each of the URLs being a server address of a different server;

wherein the second prioritized table comprises a second plurality of second URLs arranged in a ranked priority order, each of the second URLs being a server address of a different server;

wherein when a server associated with a URL becomes disabled a first message is sent to the central data storage device, and responsively the URL of the disabled server is reduced in priority or removed from one or more of the first prioritized table or the second prioritized table, and the ranked priority order of one or more of the first prioritized table or the second prioritized table is readjusted and wherein the computer code and the intermediate identifier in the first instruction remain unchanged;

wherein when a new server with a new URL that executes the new micro-service comes on line a second message is sent to the central data storage device, and responsively the new URL of the new server is added to one or more of the first prioritized table or the second prioritized table and the ranked priority order is readjusted and wherein the computer code and the intermediate identifier in the first instruction remain unchanged;

wherein the computer code is executed including the first instruction and a determination is made as to whether the first x.y pair is being used or the second x.y pair is being used;

wherein the second micro-service is executed from the computer code by mapping the first x.y to the first prioritized table when the first x.y is being used, or by mapping the second x.y pair to the second prioritized table when the second x.y pair is being used, and subsequently utilizing the highest priority URL obtained from the first prioritized table or from the second prioritized table.

5. The system of claim 4 , wherein a customer device requests execution of the first micro-service.

6. The system of claim 4 , wherein the mapping further maps each of the intermediate identifiers to one or more of: a HTTP method, an input consumption by a selected micro-service, an output production by a selected micro-service, and a version number.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2023
From: GENERAL ELECTRIC COMPANY
To: GE DIGITAL HOLDINGS LLC
Reel/Frame 065612/0085 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2017
From: SAHU, AKSHAY
To: GENERAL ELECTRIC COMPANY
Reel/Frame 042140/0124 →
Continuity (1)
Related Publication 20180309802A1 · Oct 25, 2018
Cited By (7)
US 12,277,524 US 12,361,371 US 12,456,092 US 12,488,307 US 12,579,500 US 12,586,034 US 12,626,215