IP Library Granted Patent US 11,321,295
Granted Patent B2
US 11,321,295 · App. 16/683,809 · Granted May 3, 2022

Systems and methods for improving indexer performance by multiplexing data of an underlying index

Inventors: Alexander Andreev (Sofia, BG); Sergey Onuchin (Moscow, RU); Hiten Gajjar (Singapore, SG); Dulitha Gunasekera (Singapore, SG); Dian Bakti (Singapore, SG); Prabhuraj Reddy (Singapore, SG); Yee Chen Lim (Singapore, SG); Serguei Beloussov (Costa del Sol, SG); Stanislav Protasov (Moscow, RU)
Assignee: Acronis International GmbH
G06F16/2272G06F16/2379
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,321,295
App. No.
16/683,809
Granted
May 3, 2022
Kind
B2
Abstract

Disclosed herein are systems and method for multiplexing data of an underlying index. In an exemplary aspect, an index handler may generate a plurality of slots and a plurality of data buckets for a traditional index. The index handler may receive, from a software application, a request to access a data file. The index handler may determine whether any slot of the plurality of slots is attached to a respective data bucket of the plurality of data buckets comprising the data file. In response to determining that a first slot of the plurality of slots is attached to a first data bucket comprising the data file, the index handler may enable, via the first data bucket attached to the first slot, access to the data file to the software application.

Claims (72)

1. A method for multiplexing data of an underlying index, the method comprising:

generating a plurality of slots and a plurality of data buckets for an index, wherein at least one respective data bucket of a plurality of data buckets is attached to a respective slot of the plurality of slots;

receiving, from a software application, a request to access a data file;

determining whether any slot of the plurality of slots is attached to a respective data bucket of the plurality of data buckets comprising the data file;

in response to determining that none of the plurality of slots is attached to the respective data bucket comprising the data file, searching for the data file in data buckets of the plurality of data buckets not attached to any of the plurality of slots;

in response to identifying, based on the searching, a first data bucket of the plurality of data buckets that (1) comprises the data file and (2) is not attached to any of the plurality of slots, attaching the first data bucket to a first slot of the plurality of slots; and

enabling, via the first data bucket attached to the first slot, access to the data file to the software application.

2. The method of claim 1 , wherein a first subset of the plurality of data buckets is stored on a first device and a second subset of the plurality of data buckets is stored on a second device.

3. The method of claim 1 , further comprising:

in response to determining that none of the plurality of data buckets comprises the data file, searching for an image associated with data file in a file system, wherein the data file is of a first type of data; and

generating a second data bucket based on the image.

4. The method of claim 3 , wherein an image associated with the data file is not found, further comprising:

in response to determining that the image does not exist, performing a look-up of index mapping configuration files for the first type of data;

requesting an indexer to create a new index based on the index mapping configuration files;

receiving, from the indexer, the new index;

generating an image of the new index; and

copying the generated image to create the second data bucket.

5. The method of claim 1 , wherein attaching the first data bucket to the first slot of the plurality of slots, further comprises:

determining whether at least one slot of the plurality of slots is available and is compatible with a first type of data associated with the data file;

in response to determining that the first slot is available is compatible with the first type of data, selecting the first slot to attach to the first data bucket.

6. The method of claim 5 , further comprising:

in response to determining that the at least one slot is not available, providing a configuration file to the indexer to create a new slot;

clearing contents of the new slot created by the indexer;

recording a slot name and information type of the new slot; and

identifying the first slot as the new slot to attach to the first data bucket.

7. The method of claim 1 , wherein attaching the first data bucket to the first slot of the plurality of slots comprises mounting the first data bucket to the first slot for a pre-determined lease time.

8. The method of the claim 7 , further comprising detaching the first data bucket from the first slot in response to determining that the pre-determined lease time has expired.

9. A system for multiplexing data of an underlying index, the system comprising:

a processor configured to:

generate a plurality of slots and a plurality of data buckets for an index, wherein at least one respective data bucket of a plurality of data buckets is attached to a respective slot of the plurality of slots;

receive, from a software application, a request to access a data file;

determine whether any slot of the plurality of slots is attached to a respective data bucket of the plurality of data buckets comprising the data file;

in response to determining that none of the plurality of slots is attached to the respective data bucket comprising the data file, search for the data file in data buckets of the plurality of data buckets not attached to any of the plurality of slots;

in response to identifying, based on the searching, a first data bucket of the plurality of data buckets that (1) comprises the data file and (2) is not attached to any of the plurality of slots, attach the first data bucket to a first slot of the plurality of slots; and

enable, via the first data bucket attached to the first slot, access to the data file to the software application.

10. The system of claim 9 , wherein a first subset of the plurality of data buckets is stored on a first device and a second subset of the plurality of data buckets is stored on a second device.

11. The system of claim 9 , wherein the processor is further configured to:

in response to determining that none of the plurality of data buckets comprises the data file, search for an image associated with data file in a file system, wherein the data file is of a first type of data; and

generate a second data bucket based on the image.

12. The system of claim 11 , wherein an image associated with the data file is not found, and wherein the processor is further configured to:

in response to determining that the image does not exist, perform a look-up of index mapping configuration files for the first type of data;

request an indexer to create a new index based on the index mapping configuration files;

receive, from the indexer, the new index;

generate an image of the new index; and

copy the generated image to create the second data bucket.

13. The system of claim 9 , wherein attaching the first data bucket to the first slot of the plurality of slots, wherein the processor is further configured to:

determine whether at least one slot of the plurality of slots is available and is compatible with a first type of data associated with the data file;

in response to determining that the first slot is available is compatible with the first type of data, select the first slot to attach to the first data bucket.

14. The system of claim 13 , wherein the processor is further configured to:

in response to determining that the at least one slot is not available, provide a configuration file to the indexer to create a new slot;

clear contents of the new slot created by the indexer;

record a slot name and information type of the new slot; and

identify the first slot as the new slot to attach to the first data bucket.

15. The system of claim 9 , wherein the processor is further configured to attach the first data bucket to the first slot of the plurality of slots by mounting the first data bucket to the first slot for a pre-determined lease time.

16. The system of the claim 15 , wherein the processor is further configured to detach the first data bucket from the first slot in response to determining that the pre-determined lease time has expired.

17. A non-transitory computer readable medium storing thereon computer executable instructions for multiplexing data of an underlying index, comprising instructions for:

generating a plurality of slots and a plurality of data buckets for an index, wherein at least one respective data bucket of a plurality of data buckets is attached to a respective slot of the plurality of slots;

receiving, from a software application, a request to access a data file;

determining whether any slot of the plurality of slots is attached to a respective data bucket of the plurality of data buckets comprising the data file;

in response to determining that none of the plurality of slots is attached to the respective data bucket comprising the data file, searching for the data file in data buckets of the plurality of data buckets not attached to any of the plurality of slots;

in response to identifying, based on the searching, a first data bucket of the plurality of data buckets that (1) comprises the data file and (2) is not attached to any of the plurality of slots, attaching the first data bucket to a first slot of the plurality of slots; and

enabling, via the first data bucket attached to the first slot, access to the data file to the software application.

18. The non-transitory computer readable medium of claim 17 , wherein a first subset of the plurality of data buckets is stored on a first device and a second subset of the plurality of data buckets is stored on a second device.

19. The non-transitory computer readable medium of claim 17 , further comprising instructions for:

in response to determining that none of the plurality of data buckets comprises the data file, searching for an image associated with data file in a file system, wherein the data file is of a first type of data; and

generating a second data bucket based on the image.

20. The non-transitory computer readable medium of claim 19 , wherein an image associated with the data file is not found, further comprising instructions for:

in response to determining that the image does not exist, performing a look-up of index mapping configuration files for the first type of data;

requesting an indexer to create a new index based on the index mapping configuration files;

receiving, from the indexer, the new index;

generating an image of the new index; and

copying the generated image to create the second data bucket.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENTS LISTED BY DELETING PATENT APPLICATION NO. 18388907 FROM SECURITY INTEREST PREVIOUSLY RECORDED ON REEL 66797 FRAME 766. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Nov 13, 2024
From: ACRONIS INTERNATIONAL GMBH
To: MIDCAP FINANCIAL TRUST
Reel/Frame 069594/0136 →
SECURITY INTEREST Recorded Mar 14, 2024
From: ACRONIS INTERNATIONAL GMBH
To: MIDCAP FINANCIAL TRUST
Reel/Frame 066797/0766 →
REAFFIRMATION AGREEMENT Recorded Aug 28, 2022
From: ACRONIS AG; ACRONIS INTERNATIONAL GMBH; ACRONIS SCS, INC.; ACRONIS, INC.; GROUPLOGIC, INC.; NSCALED INC.; ACRONIS MANAGEMENT LLC; 5NINE SOFTWARE, INC.; ACRONIS GERMANY GMBH; ACRONIS NETHERLANDS B.V.; ACRONIS BULGARIA EOOD; DEVICELOCK, INC.; DEVLOCKCORP LTD; ACRONIS INC.
To: MIDCAP FINANCIAL TRUST
Reel/Frame 061330/0818 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2022
From: ANDREEV, ALEXANDER; ONUCHIN, SERGEY; GAJJAR, HITEN; GUNASEKERA, DULITHA; BAKTI, DIAN; REDDY, PRABHURAJ; LIM, YEE CHEN; BELOUSSOV, SERGUEI; PROTASOV, STANISLAV
To: ACRONIS INTERNATIONAL GMBH
Reel/Frame 059422/0393 →
Continuity (1)
Related Publication 20210149863A1 · May 20, 2021