IP Library Granted Patent US 12,045,668
Granted Patent B2
US 12,045,668 · App. 17/237,853 · Granted Jul 23, 2024

System and method for efficient snapshots barrier mechanism for system with presorted container-based log

Inventors: Vladimir Shveidel (Pardes-Hana, IL); Geng Han (Beijing, CN)
Assignee: EMC IP Holding Company, LLC
G06F9/522G06F9/524G06F9/526G06F9/546G06F9/547
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 12,045,668
App. No.
17/237,853
Granted
Jul 23, 2024
Kind
B2
Abstract

A method, computer program product, and computer system for permitting, by a computing device, entering of a barrier object of a plurality of barrier objects with a first set of one or more Application Programming Interfaces (APIs) only when the barrier object is not set. The first set of the one or more APIs on the barrier object may wait until the barrier object is reset. A second set of the one or more APIs may set the barrier object. Waiting may occur until there are no longer any flows in the barrier object.

Claims (27)

1. A computer-implemented method comprising:

permitting, by a computing device, entering of a barrier object of a plurality of barrier objects with a first set of one or more Application Programming Interfaces (APIs) only when the barrier object is not set, wherein each barrier object is an array of spinlocks, wherein entering of the barrier object acquires a spinlock of the array of spinlocks related to the specific core of the number of cores;

waiting by the first set of the one or more APIs on the barrier object until the barrier object is reset;

setting, by a second set of the one or more APIs, the barrier object; and

waiting until there are no longer any flows in the barrier object,

wherein a waiting queue per a specific core of a number of cores is added to the barrier object to avoid spinning at a time of the barrier object is set completely, and

wherein exiting the barrier object releases the spinlock of the array of spinlocks related to the specific core of the number of cores.

2. The computer-implemented method of claim 1 wherein a size of the array of spinlocks is related to the number of cores.

3. The computer-implemented method of claim 1 wherein setting the barrier object acquires each of the array of spinlocks one by one in a loop.

4. A computer program product residing on a non-transitory computer readable storage medium having a plurality of instructions stored thereon which, when executed across one or more processors, causes at least a portion of the one or more processors to perform operations comprising:

permitting entering of a barrier object of a plurality of barrier objects with a first set of one or more Application Programming Interfaces (APIs) only when the barrier object is not set, wherein each barrier object is an array of spinlocks, wherein entering of the barrier object acquires a spinlock of the array of spinlocks related to the specific core of the number of cores;

waiting by the first set of the one or more APIs on the barrier object until the barrier object is reset;

setting, by a second set of the one or more APIs, the barrier object; and

waiting until there are no longer any flows in the barrier object,

wherein a waiting queue per a specific core of a number of cores is added to the barrier object to avoid spinning at a time of the barrier object is set completely, and

wherein exiting the barrier object releases the spinlock of the array of spinlocks related to the specific core of the number of cores.

5. The computer program product of claim 4 wherein a size of the array of spinlocks is related to the number of cores.

6. The computer program product of claim 4 wherein setting the barrier object acquires each of the array of spinlocks one by one in a loop.

7. A computing system including one or more processors and one or more memories configured to perform operations comprising:

permitting entering of a barrier object of a plurality of barrier objects with a first set of one or more Application Programming Interfaces (APIs) only when the barrier object is not set, wherein each barrier object is an array of spinlocks, wherein entering of the barrier object acquires a spinlock of the array of spinlocks related to the specific core of the number of cores;

waiting by the first set of the one or more APIs on the barrier object until the barrier object is reset;

setting, by a second set of the one or more APIs, the barrier object; and

waiting until there are no longer any flows in the barrier object,

wherein a waiting queue per a specific core of a number of cores is added to the barrier object to avoid spinning at a time of the barrier object is set completely, and

wherein exiting the barrier object releases the spinlock of the array of spinlocks related to the specific core of the number of cores.

8. The computing system of claim 7 wherein a size of the array of spinlocks is related to the number of cores.

9. The computing system of claim 7 wherein setting the barrier object acquires each of the array of spinlocks one by one in a loop.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0280) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0255 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0124) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0012 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0001) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062021/0844 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058297/0332 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0124 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0280 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PATENTS THAT WERE ON THE ORIGINAL SCHEDULED SUBMITTED BUT NOT ENTERED PREVIOUSLY RECORDED AT REEL: 056250 FRAME: 0541. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056311/0781 →
SECURITY AGREEMENT Recorded May 14, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056250/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2021
From: SHVEIDEL, VLADIMIR; HAN, GENG
To: EMC IP HOLDING COMPANY, LLC
Reel/Frame 056010/0744 →
Continuity (1)
Related Publication 20220342721A1 · Oct 27, 2022