IP Library Granted Patent US 11,960,465
Granted Patent B2
US 11,960,465 · App. 17/162,325 · Granted Apr 16, 2024

Database inventory isolation

Inventors: Udo Timpe (Jena, DE); Andreas Eiserloh (Jena, DE); Eckart Hilliger (Jena, DE)
Assignee: Salesforce, Inc.
G06F16/2343G06Q10/087G06Q30/0202
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,960,465
App. No.
17/162,325
Granted
Apr 16, 2024
Kind
B2
Abstract

Systems, devices, and techniques are disclosed for database inventory isolation. Demand levels for access to items may be monitored. The items may have associated inventory counts in a database. An item of the items for which to isolate the inventory count associated with the item may be determined based on the demand levels. The inventory count associated with the determined item may be isolated by moving the inventory count associated with the determined item from a first data block that stores the inventory count associated with the determined item and inventory counts associated with others of the items to a second data block that does not store any other inventory counts.

Claims (39)

1. A computer-implemented method comprising:

monitoring demand levels for access to items, wherein each of the items has an associated inventory count in a database stored in a physical storage of at least one computing device, the physical storage divided into data blocks that store the inventory counts, by monitoring lock events and unlock events for the data blocks which store the inventory counts;

determining based on the demand levels an item of the items for which to isolate the inventory count associated with the determined item by determining, based on the lock events and unlock events, that the first block, which stores the inventory count associated with the determined item, is subject to a number of parallel locks greater than a threshold; and

isolating the inventory count associated with the determined item by moving the inventory count associated with the determined item from a first data block, of the physical storage, that stores the inventory count associated with the determined item and inventory counts associated with others of the items to a second data block, of the physical storage, that does not store any other inventory counts.

2. The computer-implemented method of claim 1 , wherein monitoring demand levels for access to items, wherein each of the items has an associated inventory count in a database, comprises monitoring the database for timeouts in accessing data blocks which store the inventory counts associated with the items,

and wherein determining based on the demand levels an item for which to isolate the inventory count associated with the determined item comprises determining, based on the monitoring of the database for timeouts, that a timeout has occurred when accessing the first data block that stores the inventory count associated with determined item.

3. The computer-implemented method of claim 1 , wherein monitoring demand levels for access to items, wherein each of the items has an associated inventory count in a database, comprises monitoring accesses to the inventory counts associated with the items;

and wherein determining based on the demand levels an item for which to isolate the inventory count associated with the determined item comprises determining, based on the accesses to the inventory counts associated with the items, that the inventory count associated with the determined item has been accessed greater than a threshold number of times over a specified time period.

4. The computer-implemented method of claim 3 , wherein the specified time period is based on a rolling window.

5. The computer-implemented method of claim 1 , further comprising:

determining that the inventory count associated with the determined item has not been accessed in the second data block for a specified period of time; and

moving the inventory count associated with the determined item from the second data block to the first data block or second block to a third data block that stores inventory counts associated with others of the items, or moving inventory counts associated with one or more others of the items to the second data block.

6. The computer-implemented method of claim 1 , further comprising adding padding to the second data block.

7. The computer-implemented method of claim 6 , further comprising:

determining that the inventory count associated with the determined item has not been accessed in the second data block for a specified period of time; and

removing the padding from the second data block.

8. A computer-implemented system comprising:

one or more storage devices; and

a processor that monitors demand levels for access to items, wherein each of the items has an associated inventory count in a database stored in a physical storage of the one or more storage devices, the physical storage divided into data blocks that store the inventory counts, by monitoring lock events and unlock events for the data blocks which store the inventory counts,

determines based on the demand levels an item of the items for which to isolate the inventory count associated with the determined item by determining, based on the lock events and unlock events, that the first block, which stores the inventory count associated with the determined item, is subject to a number of parallel locks greater than a threshold, and

isolates the inventory count associated with the determined item by moving the inventory count associated with the determined item from a first data block, of the physical storage, that stores the inventory count associated with the determined item and inventory counts associated with others of the items to a second data block, of the physical storage, that does not store any other inventory counts.

9. The computer-implemented system of claim 8 , wherein the processor monitors demand levels for access to items, wherein each of the items has an associated inventory count in a database, by monitoring the database for timeouts in accessing data blocks which store the inventory counts associated with the items,

and wherein the processor determines based on the demand levels an item for which to isolate the inventory count associated with the determined item by determining, based on the monitoring of the database for timeouts, that a timeout has occurred when accessing the first data block that stores the inventory count associated with determined item.

10. The computer-implemented system of claim 8 , wherein the processor monitors demand levels for access to items, wherein each of the items has an associated inventory count in a database, by monitoring accesses to the inventory counts associated with the items;

and wherein the processor determines based on the demand levels an item for which to isolate the inventory count associated with the determined item by determining, based on the accesses to the inventory counts associated with the items, that the inventory count associated with the determined item has been accessed greater than a threshold number of times over a specified time period.

11. The computer-implemented system of claim 10 , wherein the specified time period is based on a rolling window.

12. The computer-implemented system of claim 8 , wherein the processor further determines that the inventory count associated with the determined item has not been accessed in the second data block for a specified period of time, and

moves the inventory count associated with the determined item from the second data block to the first data block or second block to a third data block that stores inventory counts associated with others of the items, or moving inventory counts associated with one or more others of the items to the second data block.

13. The computer-implemented system of claim 8 , wherein the processor further adds padding to the second data block.

14. The computer-implemented system of claim 13 , wherein the processor further determines that the inventory count associated with the determined item has not been accessed in the second data block for a specified period of time, and

removes the padding from the second data block.

15. A system comprising: one or more computers and one or more non-transitory storage devices storing instructions which are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

monitoring demand levels for access to items, wherein each of the items has an associated inventory count in a database stored in a physical storage of at least one computing device, the physical storage divided into data blocks that store the inventory counts, by monitoring lock events and unlock events for the data blocks which store the inventory counts;

determining based on the demand levels an item of the items for which to isolate the inventory count associated with the determined item by determining, based on the lock events and unlock events, that the first block, which stores the inventory count associated with the determined item, is subject to a number of parallel locks greater than a threshold; and

isolating the inventory count associated with the determined item by moving the inventory count associated with the determined item from a first data block, of the physical storage, that stores the inventory count associated with the determined item and inventory counts associated with others of the items to a second data block, of the physical storage, that does not store any other inventory counts.

16. The system of claim 15 , wherein the instructions that cause the one or more computers to perform operations comprising monitoring demand levels for access to items, wherein each of the items has an associated inventory count in a database, further comprise instructions that cause the one or more computer to perform operations comprising monitoring the database for timeouts in accessing data blocks which store the inventory counts associated with the items,

and wherein the instructions that cause the one or more computers to perform operations comprising determining based on the demand levels an item for which to isolate the inventory count associated with the determined item further comprise instructions that cause the one or more computer to perform operations comprising determining, based on the monitoring of the database for timeouts, that a timeout has occurred when accessing the first data block that stores the inventory count associated with determined item.

17. The system of claim 15 , wherein the instructions that cause the one or more computers to perform operations comprising monitoring demand levels for access to items, wherein each of the items has an associated inventory count in a database, further comprise instructions that cause the one or more computer to perform operations comprising monitoring accesses to the inventory counts associated with the items;

and wherein the instructions that cause the one or more computers to perform operations comprising determining based on the demand levels an item for which to isolate the inventory count associated with the determined item further comprise instructions that cause the one or more computer to perform operations comprising determining, based on the accesses to the inventory counts associated with the items, that the inventory count associated with the determined item has been accessed greater than a threshold number of times over a specified time period.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0512 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2024
From: TIMPE, UDO; EISERLOH, ANDREAS; HILLIGER, ECKART
To: SALESFORCE.COM, INC.
Reel/Frame 066457/0968 →
Continuity (1)
Related Publication 20220245119A1 · Aug 4, 2022