IP Library Granted Patent US 11,316,807
Granted Patent B2
US 11,316,807 · App. 16/817,842 · Granted Apr 26, 2022

Microservice deployment in multi-tenant environments

Inventors: Ankur Tagra (Bangalore, IN); Vijay Ekambaram (Chennai, IN); Smitkumar Narotambhai Marvaniya (Bangalore, IN); Apparsamy Perumal (Bangalore, IN); Shinoj Zacharias (Bangalore, IN)
Assignee: International Business Machines Corporation
H04L51/02G06F16/9558G06F40/20G06F40/30G06N3/0454G06N20/00H04L51/04G06N5/041G06N7/005
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,316,807
App. No.
16/817,842
Granted
Apr 26, 2022
Kind
B2
Abstract

A method includes providing a server executing computer code embodying the chat-bot, receiving, via the server, a requirement for customization of a main computer code, the main computer code including modules, and determining, by the chat-bot, top-k modules of the main computer code potentially affected given the requirement for customization. The determination of the top-k modules includes representing each of the modules of the main computer code in an embedding vector space, representing the requirement for customization as a vector in the embedding space, and fetching the top-k modules nearest the requirement for customization in the embedding space. The method further includes determining a question, communicating the question to an entity providing the requirement for customization, receiving a response to the question, and filtering the top-k modules using the response to determine a set of the modules associated with the requirement for customization.

Claims (56)

1. A method of operating an artificial intelligence chat-bot, the method comprising:

providing a server executing computer code embodying the chat-bot;

receiving, via the server, a requirement for customization of a main computer code, wherein the main computer code comprises a plurality of modules;

determining, by the chat-bot, top-k modules of the plurality of modules of the main computer code potentially affected given the requirement for customization, wherein the determination of the top-k modules comprises:

representing each module of the plurality of modules of the main computer code in an embedding vector space;

representing the requirement for customization as a vector in the embedding space; and

fetching the top-k modules nearest the requirement for customization in the embedding space;

applying an entropy analysis across the top-k modules to determine a distinguishing next question;

communicating the distinguishing next question to an entity providing the requirement for customization;

receiving a response to the distinguishing next question; and

filtering the top-k modules using the response to determine a set of the plurality of modules associated with the requirement for customization.

2. The method of claim 1 , wherein the embedding space is formed using code comments contained in the plurality of modules.

3. The method of claim 2 , wherein the distinguishing next question is configured to request an information item resolving a conflict in the code comments.

4. The method of claim 1 , further comprising:

performing, given the requirement for customization and a log comprising the distinguishing next question and the response, an entropy analysis of code documentation associated with the main computer code to determine a plurality of attributes; and

enriching the code documentation using the attributes.

5. The method of claim 1 , further comprising:

performing, given the requirement for customization and a log comprising the distinguishing next question and the response, an entropy analysis of code documentation associated with the main computer code to determine a plurality of attributes;

determining at least one ambiguity in the code documentation; and

outputting a communication including an indication of the at least ambiguity.

6. The method of claim 1 , further comprising:

extracting first topics from code comments contained in the module using natural language processing;

extracting second topics from the requirement for customization using natural language processing; and

generating a set of features by combing the first topics and the second comments, which describes a potential modification of the main code enabling requirement for customization.

7. The method of claim 1 , given the requirement for customization and a log comprising the distinguishing next question and the response, further comprising:

mapping a conversation block of the log to a portion of the requirement for customization;

identifying a code snippet of at least one module of the plurality of modules of the main code, the code snippet corresponding to the portion of requirement for customization; and

generating a set of hyperlinks mapping the conversation block with the code snippet.

8. A non-transitory computer readable storage medium comprising computer executable instructions which when executed by a computer cause the computer to perform a method of operating an artificial intelligence chat-bot, the method comprising:

providing a server executing the computer executable instructions embodying the chat-bot;

receiving, via the server, a requirement for customization of a main computer code, wherein the main computer code comprises a plurality of modules;

determining, by the chat-bot, top-k modules of the plurality of modules of the main computer code potentially affected given the requirement for customization, wherein the determination of the top-k modules comprises:

representing each module of the plurality of modules of the main computer code in an embedding vector space;

representing the requirement for customization as a vector in the embedding space; and

fetching the top-k modules nearest the requirement for customization in the embedding space;

applying an entropy analysis across the top-k modules to determine a distinguishing next question;

communicating the distinguishing next question to an entity providing the requirement for customization;

receiving a response to the distinguishing next question; and

filtering the top-k modules using the response to determine a set of the plurality of modules associated with the requirement for customization.

9. The non-transitory computer readable storage medium of claim 8 , wherein the embedding space is formed using code comments contained in the plurality of modules.

10. The non-transitory computer readable storage medium of claim 9 , wherein the distinguishing next question is configured to request an information item resolving a conflict in the code comments.

11. The non-transitory computer readable storage medium of claim 8 , further comprising:

performing, given the requirement for customization and a log comprising the distinguishing next question and the response, an entropy analysis of code documentation associated with the main computer code to determine a plurality of attributes; and

enriching the code documentation using the attributes.

12. The non-transitory computer readable storage medium of claim 8 , further comprising:

performing, given the requirement for customization and a log comprising the distinguishing next question and the response, an entropy analysis of code documentation associated with the main computer code to determine a plurality of attributes;

determining at least one ambiguity in the code documentation; and

outputting a communication including an indication of the at least ambiguity.

13. The non-transitory computer readable storage medium of claim 8 , further comprising:

extracting first topics from code comments contained in the module using natural language processing;

extracting second topics from the requirement for customization using natural language processing; and

generating a set of features by combing the first topics and the second comments, which describes a potential modification of the main code enabling the requirement for customization.

14. The non-transitory computer readable storage medium of claim 13 , given the requirement for customization and a log comprising the distinguishing next question and the response, further comprising:

mapping a conversation block of the log to a portion of the requirement for customization;

identifying a code snippet of at least one module of the plurality of modules of the main code, the code snippet corresponding to the portion of the requirement for customization; and

generating a set of hyperlinks mapping the conversation block with the code snippet.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2020
From: TAGRA, ANKUR; EKAMBARAM, VIJAY; MARVANIYA, SMITKUMAR NAROTAMBHAI; PERUMAL, APPARSAMY; ZACHARIAS, SHINOJ
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 052105/0877 →
Continuity (1)
Related Publication 20210288925A1 · Sep 16, 2021