IP Library Granted Patent US 11,029,989
Granted Patent B2
US 11,029,989 · App. 16/180,014 · Granted Jun 8, 2021

Distributed notebook kernels in a containerized computing environment

Inventors: Luciano Resende (San Jose, CA); Kevin B. Bates (Sebastopol, CA); Frederick R. Reiss (Sunnyvale, CA)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F9/45558G06F9/545H04L12/66G06F2009/45575G06F2009/45595
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,029,989
App. No.
16/180,014
Granted
Jun 8, 2021
Kind
B2
Abstract

Distributing kernels in a containerized computing environment includes executing, using computer hardware, a notebook server in a first container, wherein the notebook server is configured to communicate with a gateway in a second container, in response to a request for a kernel from the notebook server, the gateway requesting, using the computer hardware, a new container including the kernel from a container manager, instantiating, using the computer hardware, the new container including the kernel within a selected computing node of a plurality of computing nodes, publishing, using the computer hardware, communication port information for the new container to the gateway, and exchanging electronic messages, using the computer hardware, between the notebook server and the kernel through the gateway using the communication port information for the new container.

Claims (39)

1. A method, comprising:

executing, using computer hardware, a notebook server in a first container, wherein the notebook server is configured to communicate with a gateway in a second container;

in response to a request for a kernel from the notebook server, the gateway requesting, using the computer hardware, a new container including the kernel from a container manager;

instantiating, using the computer hardware, the new container including the kernel within a selected computing node of a plurality of computing nodes;

publishing, using the computer hardware, communication port information for the new container to the gateway;

exchanging electronic messages, using the computer hardware, between the notebook server and the kernel through the gateway using the communication port information for the new container;

wherein in response to receiving a lifecycle management message for the kernel from the notebook server, the gateway sending the lifecycle management message to a communication port of a kernel controller; and

the kernel controller, in response to the lifecycle management message, performing a signal write to a process within the new container executing the kernel.

2. The method of claim 1 , wherein the first container and the new container execute in different computing nodes of the plurality of computing nodes.

3. The method of claim 1 , further comprising:

choosing the selected computing node from the plurality of computing nodes to implement the new container.

4. The method of claim 1 , further comprising:

the gateway receiving a location indicating the selected computing node in which the new container is instantiated.

5. A system, comprising:

computer hardware, having at least one processor, configured to initiate operations including:

executing a notebook server in a first container, wherein the notebook server is configured to communicate with a gateway in a second container;

in response to a request for a kernel from the notebook server, the gateway requesting a new container including the kernel from a container manager;

instantiating the new container including the kernel within a selected computing node of a plurality of computing nodes;

publishing communication port information for the new container to the gateway;

exchanging electronic messages between the notebook server and the kernel through the gateway using the communication port information for the new container;

wherein in response to receiving a lifecycle management message for the kernel from the notebook server, the gateway sending the lifecycle management message to a communication port of a kernel controller; and

the kernel controller, in response to the lifecycle management message, performing a signal write to a process within the new container executing the kernel.

6. The system of claim 5 , wherein the first container and the new container execute in different computing nodes of the plurality of computing nodes.

7. The system of claim 5 , wherein the computer hardware is configured to initiate operations further comprising:

choosing the selected computing node from the plurality of computing nodes to implement the new container.

8. The system of claim 5 , wherein the computer hardware is configured to initiate operations further comprising:

the gateway receiving a location indicating the selected computing node in which the new container is instantiated.

9. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by computer hardware to cause the computer hardware to initiate operations comprising:

executing a notebook server in a first container, wherein the notebook server is configured to communicate with a gateway in a second container;

in response to a request for a kernel from the notebook server, the gateway requesting a new container including the kernel from a container manager;

instantiating the new container including the kernel within a selected computing node of a plurality of computing nodes; publishing communication port information for the new container to the gateway;

exchanging electronic messages between the notebook server and the kernel through the gateway using the communication port information for the new container;

wherein in response to receiving a lifecycle management message for the kernel from the notebook server, the gateway sending the lifecycle management message to a communication port of a kernel controller; and

the kernel controller, in response to the lifecycle management message, performing a signal write to a process within the new container executing the kernel.

10. The computer program product of claim 9 , wherein:

the first container executes in a first computing node of the plurality of computing nodes; and

the second container executes in a second computing node of the plurality of computing nodes.

11. The computer program product of claim 9 , wherein the program instructions are executable by the computer hardware to cause the computer hardware to initiate operations further comprising:

choosing the selected computing node from the plurality of computing nodes to implement the second container.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2018
From: RESENDE, LUCIANO; BATES, KEVIN B.; REISS, FREDERICK R.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 047407/0047 →
Continuity (1)
Related Publication 20200142725A1 · May 7, 2020