IP Library Granted Patent US 10,901,804
Granted Patent B2
US 10,901,804 · App. 16/209,163 · Granted Jan 26, 2021

Apparatus and method to select services for executing a user program based on a code pattern included therein

Inventors: Shridhar Choudhary (Kawasaki, JP); Atsuji Sekiguchi (Kawasaki, JP); Kosaku Kimura (Kawasaki, JP)
Assignee: FUJITSU LIMITED
G06F9/5077G06F8/425G06F8/61G06F9/445G06F9/5016G06F9/5027
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,901,804
App. No.
16/209,163
Granted
Jan 26, 2021
Kind
B2
Abstract

An apparatus selects services to be used by a user from a plurality of candidates for services used to execute a program. The apparatus acquires a constraint condition and the program. When executing the acquired program, the apparatus specifies a set of services satisfying the constraint condition from the plurality of candidates based on a code pattern included in the program, and uses the specified set of services to execute the program.

Claims (43)

1. A computer-implemented method for identifying cloud service resources within a cloud computing system including a plurality of cloud resource services to execute a program, the method comprising:

acquiring a constraint condition and the program;

analyzing the program to identify code patterns within the program;

identifying a plurality of candidate cloud resources capable of executing a service corresponding to a portion of the program corresponding to at least one identified code pattern;

selecting one of the plurality of candidate cloud resources for each of the at least one identified code pattern based on the constraint condition;

converting the acquired program into a program group to be executed by a specified set of the plurality of cloud resources services; and

installing the program group within the cloud computing system so that the program group is executed using the specified set of the plurality of cloud resource services, the specified set including the selected candidate cloud resource.

2. The method according to claim 1 , wherein the acquired program includes entire core logic developed for execution on a single computer rather than execution using the plurality of cloud resources.

3. The method according to claim 1 , wherein analyzing includes

generating an abstract syntax tree indicating structure of the program before the converting using at least one of a lexical analysis, syntax analysis and pattern matching; and

identifying code patterns with a depth-first search of the generated abstract tree based on rule information and parameters applied to each node of the generated abstract tree.

4. The method according to claim 3 , wherein the rule information includes templates indicating formats of programs defining processing of the cloud resource services.

5. The method according to claim 1 , wherein the constraint condition includes at least one of a condition based on cost, performance, visibility of code of the program after the converting, availability and response time.

6. The method according to claim 5 , wherein the acquiring acquires a plurality of constraint conditions and the method further comprises:

assigning a priority level to each constraint condition; and

the selecting is based on the assigned priority levels.

7. The method according to claim 1 , wherein the selecting is based on a cost function according to the constraint condition.

8. The method according to claim 7 , wherein the cost function includes computation for the costs of the plurality of cloud resource services, and

the method further comprises generating a conditional expression indicating a condition for selecting a first candidate and a second candidate among a plurality of identified candidates and the specified set of the plurality of cloud resource services being based on the computation using the conditional expression.

9. The method according to claim 3 , wherein

the rule information includes a plurality of first candidate cloud resources regarding a first code pattern and a plurality of second candidates cloud resources for a second code pattern, and

the selecting selects one of the plurality of first candidate cloud resources regarding the first code pattern included in the program and selects one of the plurality of second candidate cloud resources regarding the second code pattern included in the program.

10. The method according to claim 7 , wherein the cost function relates to billing amounts for a user associated with use of the plurality of cloud resource services, and

the constraint condition is an upper limit of a sum of the billing amounts for the user.

11. The method according to claim 7 , wherein the cost function is based on a coupling relationship between the plurality of cloud resource services.

12. The method according to claim 11 , wherein the cost function is based on a call probability between the candidates for the services included in the coupling relationship.

13. The method according to claim 1 , wherein the converting is based on conversions rules stored within the converting includes apply conversion rules to the acquired program to generate components of the program group.

14. A development server for converting a program into distributed processing software to be executed within cloud computing system including a plurality of cloud resource services, the development server comprising:

a memory configured to store a constraint condition and the program;

a processor coupled to the memory and configured to:

acquire a constraint condition and the program;

analyze the program to identify code patterns within the program;

identify a plurality of candidate cloud resources capable of executing a service corresponding to a portion of the program corresponding to at least one identified code pattern;

select one of the plurality of candidate cloud resources for each of the at least one identified code pattern based on the constraint condition;

convert the acquired program into a program group to be executed by a specified set of the plurality of cloud resources services; and

install the program group within the cloud computing system so that the program group is executed using the specified set of the plurality of cloud resource services, the specified set including the selected candidate cloud resource.

15. A non-transitory, computer-readable recording medium having stored therein an information processing program for causing a computer to execute a process, the process comprising:

acquiring a constraint condition and the program;

analyzing the program to identify code patterns within the program;

identifying a plurality of candidate cloud resources capable of executing a service corresponding to a portion of the program corresponding to at least one identified code pattern;

selecting one of the plurality of candidate cloud resources for each of the at least one identified code pattern based on the constraint condition;

converting the acquired program into a program group to be executed by a specified set of the plurality of cloud resources services; and

installing the program group within the cloud computing system so that the program group is executed using the specified set of the plurality of cloud resource services, the specified set including the selected candidate cloud resource.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 4, 2018
From: CHOUDHARY, SHRIDHAR; SEKIGUCHI, ATSUJI; KIMURA, KOSAKU
To: FUJITSU LIMITED
Reel/Frame 047718/0598 →
Priority Claims (2)
JP 2017-240235 · Dec 15, 2017 · national
JP 2018-136583 · Jul 20, 2018 · national
Continuity (1)
Related Publication 20190188049A1 · Jun 20, 2019