IP Library Granted Patent US 10,528,525
Granted Patent B2
US 10,528,525 · App. 14/662,389 · Granted Jan 7, 2020

Establishing connections in a multi-tenant environment

Inventor: Peter D. Bain (Ottawa, CA)
Assignee: International Business Machines Corporation
G06F16/178G06F9/52G06F9/54G06F16/2343G06F16/24575G06F16/275
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,528,525
App. No.
14/662,389
Granted
Jan 7, 2020
Kind
B2
Abstract

A method, executed by a computer, for inter-process communication in a multi-tenant environment includes creating an advertisement file for each tenant, determining that a semaphore is greater than zero, searching for a response file, and decrementing the semaphore. Detecting the response file may enable the specific tenant to establish a connection with an attachment process, and as a result, the semaphore may be reset to a value of zero. In one embodiment, a plurality of synchronization files are locked prior to incrementing the semaphore and unlocked in response to detecting the response file. Another method includes counting the targets to provide a target count, incrementing a semaphore to the target count, creating a response file, and establishing a connection with the specific target. A computer program product and computer system corresponding to the methods are also disclosed herein.

Claims (26)

1. A computer program product for inter-process communication in a multi-tenant environment, the computer program product comprising:

a computer readable storage medium and program instructions stored on the computer readable storage medium, the program instructions comprising instructions to:

create an advertisement file for each tenant of a plurality of tenants;

lock a plurality of synchronization files prior to incrementing a semaphore, wherein the plurality of synchronization files correspond to the plurality of tenants, and wherein locking the plurality of synchronization files ensure that the semaphore is only decremented once per tenant;

increment the semaphore by an integer equal to a target count, wherein the target count is calculated by adding the advertisement files for each tenant of the plurality of tenants to an advertisement file for a daemon;

responsive to a determination that the semaphore for the plurality of tenants is greater than zero, search for a response file corresponding to a specific tenant, wherein the response file includes metadata related to an information channel for communication with the specific tenant and information depicting a communication protocol used corresponding to the specific tenant;

decrement the semaphore, wherein the daemon decrements the semaphore in which the specific tenant is operating in the daemon once for each search loop;

detect the response file using the metadata related to the information channel to determine that the detected response file corresponds to the specific tenant;

responsive to detecting the response file, unlock the plurality of synchronization files;

responsive to detecting the response file, reset the semaphore to a value of zero; and

responsive to detecting the response file, establish a connection, wherein the connection comprises an encrypted communication channel between the specific tenant and the attachment process mediated by the daemon, and wherein the connection is established at a pre-determined time and is terminated after a pre-determined duration.

2. The computer program product of claim 1 , wherein the metadata and the information depicting a communication protocol are used in generating instructions enabling the attachment process to establish a connection with the specific tenant.

3. A computer system for inter-process communication in multi-tenant environment, the computer system comprising:

one or more computer processors;

one or more computer readable storage media;

program instructions stored therein for execution by at least one of the one or more computer processors, the program instructions comprising instructions to:

create an advertisement file for each tenant of a plurality of tenants;

lock a plurality of synchronization files prior to incrementing a semaphore, wherein the plurality of synchronization files correspond to the plurality of tenants, and wherein locking the plurality of synchronization files ensure that the semaphore is only decremented once per tenant;

increment the semaphore by an integer equal to a target count, wherein the target count is calculated by adding the advertisement files for each tenant of the plurality of tenants to an advertisement file for a daemon;

responsive to a determination that the semaphore for the plurality of tenants is greater than zero, search for a response file corresponding to a specific tenant, wherein the response file includes metadata related to an information channel for communication with the specific tenant and information depicting a communication protocol used corresponding to the specific tenant;

decrement the semaphore, wherein the daemon decrements the semaphore in which the specific tenant is operating in the daemon once for each search loop;

detect the response file using the metadata related to the information channel to determine that the detected response file corresponds to the specific tenant;

responsive to detecting the response file, unlock the plurality of synchronization files;

responsive to detecting the response file, reset the semaphore to a value of zero; and

responsive to detecting the response file, establish a connection, wherein the connection comprises an encrypted communication channel between the specific tenant and the attachment process mediated by the daemon, and wherein the connection is established at a pre-determined time and is terminated after a pre-determined duration.

4. The computer system of claim 3 , wherein the metadata and the information depicting a communication protocol are used in generating instructions enabling the attachment process to establish a connection with the specific tenant.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2015
From: BAIN, PETER D.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 035225/0284 →
Continuity (1)
Related Publication 20160275097A1 · Sep 22, 2016