IP Library Granted Patent US 11,095,531
Granted Patent B2
US 11,095,531 · App. 16/670,495 · Granted Aug 17, 2021

Service-aware serverless cloud computing system

Inventors: Eunsoo Park (Suwon-si, KR); Jaeman Park (Suwon-si, KR)
Assignee: Samsung Electronics Co., Ltd.
H04L41/5025H04L41/0853H04L41/0866H04L41/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,095,531
App. No.
16/670,495
Granted
Aug 17, 2021
Kind
B2
Abstract

An electronic apparatus is provided. The electronic apparatus includes a communicator, a memory configured to store at least one instruction, and at least one processor configured to execute the at least one instruction. The at least one processor is configured to receive a plurality of requests to execute functions through the communicator, identify a service-level agreement (SLA) for each of a plurality of functions corresponding to the plurality of requests, determine priorities of the plurality of functions based on the identified SLAs, and execute the plurality of functions according to the determined priorities.

Claims (60)

1. An electronic apparatus comprising:

a communicator;

a memory configured to store at least one instruction; and

at least one processor configured to execute the at least one instruction,

wherein the at least one processor is configured to:

receive a plurality of requests through the communicator, each of the plurality of requests comprising a request to execute a function of a plurality of functions,

identify a service-level agreement (SLA) for each of the plurality of functions corresponding to the plurality of requests,

obtain function topology information based on information on consecutive execution of functions of the plurality of functions,

determine priorities of the plurality of functions based on the identified SLAs and the function topology information, and execute the plurality of functions based on the determined priorities.

2. The electronic apparatus of claim 1 , wherein the at least one processor is further configured to:

change the function topology information based on registration of a new function and correction of a pre-registered function.

3. The electronic apparatus of claim 2 , wherein the at least one processor is further configured to:

store a plurality of versions for the pre-registered function based on correction of the pre-registered function, and

when correction that cannot comply with the SLA occurs with respect to the pre-registered function and a request to execute the pre-registered function is received, execute the pre-registered function in a version of time before the correction that cannot comply with the SLA occurred.

4. The electronic apparatus of claim 1 , wherein the at least one processor is further configured to:

calculate a remaining time with respect to each of the plurality of functions, which is a result of subtracting from allowed latency defined by the SLA a predicted execution time calculated based on the function topology information, and determine the priorities of the plurality of functions in an order of having a less remaining time calculated with respect to each of the plurality of functions.

5. The electronic apparatus of claim 1 , wherein the at least one processor is further configured to:

check information on the SLAs included in hypertext transfer protocol (HTTP) headers of the plurality of requests, and

identify the SLA for each of the plurality of functions.

6. The electronic apparatus of claim 1 , wherein the at least one processor is further configured to:

convert the plurality of requests into message formats,

insert each of a plurality of messages generated by the conversion into a first message queue or a second message queue based on the priorities determined for each of the plurality of functions,

dequeue a message of the plurality of messages inserted into the first message queue prior to a message of the plurality of messages inserted into the second message queue, and

execute a function corresponding to the dequeued message.

7. The electronic apparatus of claim 1 , wherein the at least one processor is further configured to:

when a new function is registered, obtain information on an execution time of the new function for a preset time,

determine a plurality of SLAs in different grades for the new function based on the obtained information on the execution time, and

provide a user interface (UI) for selection of any one of the plurality of determined SLAs.

8. The electronic apparatus of claim 7 , wherein the at least one processor is further configured to:

when an SLA for the new function is set through the provided UI, associate information on the set SLA with the new function, and

store the information in the memory.

9. A method for controlling an electronic apparatus, the method comprising:

receiving a plurality of requests, each of the plurality of requests comprising a request to execute a function of a plurality of functions, the functions performed on elements that contain a hardware processor and non-transitory memory;

identifying a service-level agreement (SLA) for each of a-the plurality of functions corresponding to the plurality of requests;

obtaining function topology information based on information on consecutive execution of functions of the plurality of functions;

determining priorities of the plurality of functions based on the identified SLAs and the function topology information; and

executing the plurality of functions based on the determined priorities.

10. The method of claim 9 , further comprising:

changing the function topology information based on registration of a new function and correction of a pre-registered function.

11. The method of claim 10 , further comprising:

storing a plurality of versions for the pre-registered function based on correction of the pre-registered function; and

when correction that cannot comply with the SLA occurs with respect to the pre-registered function and a request to execute the pre-registered function is received, executing the pre-registered function in a version of time before the correction that cannot comply with the SLA occurred.

12. The method of claim 9 , wherein the determining of the priorities comprises:

calculating a remaining time with respect to each of the plurality of functions, which is a result of subtracting from an allowed latency defined by the SLA a predicted execution time calculated based on the function topology information; and

determining the priorities of the plurality of functions in an order of having a less remaining time calculated with respect to each of the plurality of functions.

13. The method of claim 9 , wherein the identifying comprises:

checking information on the SLAs included in hypertext transfer protocol (HTTP) headers of the plurality of requests and identifying the SLA for each of the plurality of functions.

14. The method of claim 9 , further comprising:

converting the plurality of requests into message formats,

wherein executing the plurality of functions comprises:

inserting each of a plurality of messages generated by the conversion into a first message queue or a second message queue based on the priorities determined for each of the plurality of functions;

dequeuing a message of the plurality of messages inserted into the first message queue prior to a message of the plurality of messages inserted into the second message queue; and

executing a function corresponding to the dequeued message.

15. The method of claim 9 , further comprising:

when a new function is registered, obtaining information on an execution time of the new function for a preset time;

determining a plurality of SLAs in different grades for the new function based on the obtained information on the execution time; and

providing a user interface (UI) for selection of any one of the plurality of determined SLAs.

16. The method of claim 15 , further comprising:

when an SLA for the new function is set through the provided UI, associating information on the set SLA with the new function; and

storing the information in a memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2019
From: PARK, EUNSOO; PARK, JAEMAN
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 050900/0134 →
Priority Claims (1)
KR 10-2018-0134699 · Nov 5, 2018 · national
Continuity (1)
Related Publication 20200145300A1 · May 7, 2020