IP Library › Granted Patent US 8,769,071
Granted Patent B2
US 8,769,071 · App. 13/035,527 · Granted Jul 1, 2014

Dynamic mapping of identifiers in a multi-tenant computing system

Inventor: Jeffrey J. Darcy (Lexington, MA)
Assignee: Red Hat, Inc.
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 8,769,071
App. No.
13/035,527
Granted
Jul 1, 2014
Kind
B2
Abstract

Some embodiments of a system and a method to dynamically create mappings between tenant-specific user identifiers (IDs) and global user IDs in a multi-tenant computing system have been presented. In response to a request to map a tenant user identifier (ID) pair comprising a tenant identifier (ID) and a tenant-specific user ID, a server in a networked system creates a mapping of the tenant user ID pair to a global user ID that is not yet used. The server is communicably coupled to other servers in the networked system, and the tenant ID is associated with a tenant in the networked system. The server may immediately makes the mapping of the tenant user ID pair to the global user ID available to the other servers in the networked system.

Claims (33)

1. A method comprising:

in response to a request to map a tenant user identifier (ID) pair comprising a tenant identifier (ID) and a tenant-specific user ID, creating, by a processing device, a mapping of the tenant user ID pair to a global user ID that is not yet used, the processing device being communicably coupled to servers in a networked system, and the tenant ID being associated with a tenant in the networked system;

after creating the mapping of the tenant user ID pair to the global user ID, checking, by the processing device, whether one of the servers has mapped the tenant user ID pair to another global user ID different from the global user ID during creation of the mapping; and

deleting, by the processing device, the mapping of the tenant user ID pair to the global user ID in response to determining that one of the servers has mapped the tenant user ID pair to another global user ID different from the global user ID.

2. The method of claim 1 , further comprising:

causing, by the processing device, the servers in the networked system to map the tenant user ID pair to the global user ID after the mapping has been created; and

preventing, by the processing device, the servers from assigning another global user ID to the tenant user ID pair after the mapping has been created.

3. The method of claim 1 , further comprising:

assigning, by the processing device, a second global user ID to a second tenant user identifier (ID) pair comprising a second tenant identifier (ID) and a second tenant-specific user ID, wherein the second global user ID is adjacent to the global user ID and the second tenant ID is associated with a second tenant different from the tenant associated with the tenant ID.

4. The method of claim 1 , further comprising:

in response to receiving the tenant user ID pair, querying, by the processing device, for a global user ID mapped to the tenant user ID pair, if any; and

requesting, by the processing device, an unused global user ID if there is currently no global user ID mapped to the tenant user ID pair.

5. An apparatus comprising:

a network interface executable on a server, to couple to one or more servers of a networked system; and

a processing device executable on the server, to:

create a mapping of a tenant user identifier (ID) pair to a global user ID that is not yet used, the tenant user ID pair comprising a tenant identifier (ID) and a tenant-specific user ID, and the tenant ID being associated with a tenant in the networked system, and

after creating the mapping of the tenant user ID pair to the global user ID, checking whether one of the one or more servers has mapped the tenant user ID pair to another global user ID different from the global user ID during creation of the mapping; and

deleting the mapping of the tenant user ID pair to the global user ID in response to determining that one of the servers has mapped the tenant user ID pair to another global user ID different from the global user ID.

6. The apparatus of claim 5 , wherein the processing device causes the servers in the networked system to map the tenant user ID pair to the global user ID after the mapping has been created and prevents the servers in the networked system from assigning another global user ID to the tenant user ID pair after the mapping has been created.

7. The apparatus of claim 5 , wherein the processing device assigns a second global user ID to a second tenant user identifier (ID) pair comprising a second tenant identifier (ID) and a second tenant-specific user ID, wherein the second global user ID is adjacent to the global user ID and the second tenant ID is associated with a second tenant different from the tenant associated with the tenant ID.

8. The apparatus of claim 5 , wherein the processing device queries for a global user ID mapped to the tenant user ID pair, if any, in response to receiving the tenant user ID pair, and requests an unused global user ID if there is currently no global user ID mapped to the tenant user ID pair.

9. A non-transitory computer-readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to:

in response to a request to map a tenant user identifier (ID) pair comprising a tenant identifier (ID) and a tenant-specific user ID, create, by the processing device, a mapping of the tenant user ID pair to a global user ID that is not yet used, the processing device being communicably coupled to servers in a networked system, and the tenant ID being associated with a tenant in the networked system; and

after creating the mapping of the tenant user ID pair to the global user ID, check, by the processing device, whether one of the server has mapped the tenant user ID pair to another global user ID different from the global user ID while the processing device created the mapping; and

delete, by the processing device, the mapping of the tenant user ID pair to the global user ID in response to determining that one of the servers has mapped the tenant user ID pair to another global user ID different from the global user ID.

10. The non-transitory computer-readable storage medium of claim 9 , wherein the processing device is further to:

cause the servers in the networked system to map the tenant user ID pair to the global user ID after the mapping has been created; and

prevent the servers from assigning another global user ID to the tenant user ID pair after the mapping has been created.

11. The non-transitory computer-readable storage medium of claim 9 , wherein the processing device is further to:

assign a second global user ID to a second tenant user identifier (ID) pair comprising a second tenant identifier (ID) and a second tenant-specific user ID, wherein the second global user ID is adjacent to the global user ID and the second tenant ID is associated with a second tenant different from the tenant associated with the tenant ID.

12. The non-transitory computer-readable storage medium of claim 9 , wherein the processing device is further to:

in response to receiving the tenant user ID pair, query for a global user ID mapped to the tenant user ID pair, if any; and

request an unused global user ID if there is currently no global user ID mapped to the tenant user ID pair.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2011
From: DARCY, JEFFREY J.
To: RED HAT, INC.
Reel/Frame 025867/0101 →
Continuity (1)
Related Publication 20120221694A1 · Aug 30, 2012