IP Library Granted Patent US 11,288,190
Granted Patent B2
US 11,288,190 · App. 16/887,197 · Granted Mar 29, 2022

Method, electronic device and computer program product for caching information using active and standby buffers

Inventors: Chun Ma (Beijing, CN); Jian Gao (Beijing, CN); Hongpo Gao (Beijing, CN); Jianbin Kang (Beijing, CN); Jibing Dong (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F12/0802G06F3/0604G06F3/0656G06F3/0689G06F2212/60
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,288,190
App. No.
16/887,197
Granted
Mar 29, 2022
Kind
B2
Abstract

Techniques for providing information involve: obtaining, from a first device for updating information, a first copy of the updated information, where a second copy of the information prior to the updating is cached in a first buffer acting as an active buffer and the second copy is provided in response to receiving a first request for providing the information from a second device; caching the first copy in a second buffer acting as a standby buffer; in response to the first copy being cached in the second buffer, switching the second buffer to the active buffer and switching the first buffer to the standby buffer; and in response to receiving a second request for providing the information from the second device, providing, to the second device, the first copy cached in the active buffer. Such techniques can ensure the consistency of the provided information without a lock.

Claims (41)

1. A method, performed by a computing apparatus, of providing information, comprising:

obtaining, from a first device for updating information, an updated first copy of the information, a second copy of the information prior to being updated being cached in both a first buffer acting as an active buffer and a second buffer acting as a standby buffer;

while the first buffer acts as the active buffer, providing the second copy prior to being updated from the first buffer to a second device in response to receiving, from the second device, a first request for providing the information;

caching the updated first copy in the second buffer acting as the standby buffer while the first buffer continues to cache the second copy of the information prior to being updated;

in response to the first copy being cached in the second buffer, switching the second buffer to act as the active buffer and the first buffer to act as the standby buffer; and

while the second buffer acts as the active buffer, in response to receiving, from the second device, a second request for providing the information, providing, to the second device, the updated first copy cached in the active buffer.

2. The method of claim 1 , wherein the first buffer comprises a first indicator indicating a role of the first buffer and the second buffer comprises a second indicator indicating a role of the second buffer, and wherein switching the second buffer to act as the active buffer and the first buffer to act as the standby buffer comprises:

updating the first indicator to indicate that the first buffer acts as the standby buffer; and

updating the second indicator to indicate that the second buffer acts as the active buffer.

3. The method of claim 2 , wherein the updating of the first indicator and the updating of the second indicator are performed atomically.

4. The method of claim 1 , wherein exactly one of the first buffer and the second buffer comprises an indicator indicating respective roles of the first buffer and the second buffer, and wherein switching the second buffer to act as the active buffer and the first buffer to act as the standby buffer comprises:

updating the indicator to indicate that the first buffer acts as the standby buffer and the second buffer acts as the active buffer.

5. The method of claim 4 , wherein the indicator comprises a single bit.

6. The method of claim 1 , further comprising:

in response to switching the second buffer to act as the active buffer and the first buffer to act as the standby buffer, copying the updated first copy cached in the active buffer to the standby buffer.

7. The method of claim 1 wherein:

the information is disk array metadata about a disk array; and

the first device includes a disk array management module configured to update disk array metadata about the disk array.

8. An electronic device, comprising:

at least one processing unit;

at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the device to perform acts comprising:

obtaining, from a first device for updating information, an updated first copy of the information, a second copy of the information prior to being updated being cached in both a first buffer acting as an active buffer and a second buffer acting as a standby buffer;

while the first buffer acts as the active buffer, providing the second copy prior to being updated from the first buffer to a second device in response to receiving, from the second device, a first request for providing the information;

caching the updated first copy in the second buffer acting as the standby buffer while the first buffer continues to cache the second copy of the information prior to being updated;

in response to the first copy being cached in the second buffer, switching the second buffer to act as the active buffer and the first buffer to act as the standby buffer; and

while the second buffer acts as the active buffer, in response to receiving, from the second device, a second request for providing the information, providing, to the second device, the updated first copy cached in the active buffer.

9. The device of claim 8 , wherein the first buffer comprises a first indicator indicating a role of the first buffer and the second buffer comprises a second indicator indicating a role of the second buffer, and wherein switching the second buffer to act as the active buffer and the first buffer to act as the standby buffer comprises:

updating the first indicator to indicate that the first buffer acts as the standby buffer; and

updating the second indicator to indicate that the second buffer acts as the active buffer.

10. The device of claim 9 , wherein the updating of the first indicator and the updating of the second indicator are performed atomically.

11. The device of claim 8 , wherein exactly one of the first buffer and the second buffer comprises an indicator indicating respective roles of the first buffer and the second buffer, and wherein switching the second buffer to act as the active buffer and switching the first buffer to act as the standby buffer comprises:

updating the indicator to indicate that the first buffer acts as the standby buffer and the second buffer acts as the active buffer.

12. The device of claim 11 , wherein the indicator comprises a single bit.

13. The device of claim 8 , wherein the acts further comprise:

in response to switching the second buffer to act as the active buffer and the first buffer to act as the standby buffer, copying the updated first copy cached in the active buffer to the standby buffer.

14. A computer program product having a non-transitory computer readable medium which stores a set of instructions to provide information; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

obtaining, from a first device for updating information, an updated first copy of the information, a second copy of the information prior to being updated being cached in both a first buffer acting as an active buffer and a second buffer acting as a standby buffer;

while the first buffer acts as the active buffer, providing the second copy prior to being updated from the first buffer to a second device in response to receiving, from the second device, a first request for providing the information;

caching the updated first copy in the second buffer acting as-a the standby buffer while the first buffer continues to cache the second copy of the information prior to being updated;

in response to the first copy being cached in the second buffer, switching the second buffer to act as the active buffer and the first buffer to act as the standby buffer; and

while the second buffer acts as the active buffer, in response to receiving, from the second device, a second request for providing the information, providing, to the second device, the updated first copy cached in the active buffer.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) 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 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) 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 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) 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 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
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 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
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 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
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 053574/0221 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2020
From: MA, CHUN; GAO, JIAN; GAO, HONGPO; KANG, JIANBIN; DONG, JIBING
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053149/0843 →
Priority Claims (1)
CN 201911050305.2 · Oct 31, 2019 · national
Continuity (1)
Related Publication 20210133101A1 · May 6, 2021