IP Library Granted Patent US 10,346,182
Granted Patent B2
US 10,346,182 · App. 15/525,305 · Granted Jul 9, 2019

Method and system for dynamic indexation and loading of module codes

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 10,346,182
App. No.
15/525,305
Granted
Jul 9, 2019
Kind
B2
Abstract

Computing device and a method for loading module codes, the module codes required for executing an action, the method comprising: receiving, by the computing device, a request for executing the action, the action being executable using a first module code; acquiring, from the first predetermined index a first module code reference indicating a first module code location and the indication that executing the first module code requires a second module code; acquiring, from a second predetermined index, a second module code reference, the second module code reference indicating a second module code location; based on the first module code reference, acquiring the first module code from the first module code location; based on the second module code reference, acquiring the second module code from the second module code location; executing the action by running the first module code and the second module code.

Claims (84)

1. A computer-implemented method for loading module codes, the module codes required by a computing device for executing an action, the method executed on the computing device,

the computing device being coupled to a remotely stored first predetermined index;

the computer device storing a locally stored at least a portion of the first predetermined index;

the method comprising:

receiving, by the computing device, a request for executing the action, the action being executable using a first module code;

responsive to the request for executing the action, performing a verification whether the locally stored at least the portion of the first predetermined index is available;

in response to the locally stored at least the portion of the first predetermined index being available, acquiring, from one of the locally stored at least the portion of the first predetermined index and the remotely stored first predetermined index:

a first module code reference, the first module code reference indicating a first module code location, and

an indication that executing the first module code requires a second module code, and

an indication of a second predetermined index, the second predetermined index comprising a second module code reference, the second module code reference indicating a second module code location, the second module code supporting execution of the first module code;

in response to the locally stored at least the portion of the first predetermined index being unavailable, acquiring, from the remotely stored first predetermined index:

the first module code reference;

the indication that executing the first module code requires the second module code; and

the indication of the second predetermined index;

acquiring, from the second predetermined index, the second module code reference;

based on the first module code reference, acquiring the first module code from the first module code location;

based on the second module code reference, acquiring the second module code from the second module code location; and

responsive to the presence of the first module code and the second module code, executing the action by running the first module code and the second module code.

2. Method of claim 1 , further comprising storing, on the computing device, an indication of the first predetermined index, the first predetermined index comprising the first module code reference, the first module code reference indicating the first module code location.

3. Method of claim 1 , wherein

the first predetermined index and the second predetermined index are a part of a plurality of predetermined indexes, the plurality of predetermined indexes comprising a default index, the default index selected from: the first predetermined index and the second predetermined index, the default index being stored on a default information storage medium; and wherein

the indication of an index other than the default index is made by the indicator of that particular index other than the default index, referencing to a particular information storage medium other than the default information storage medium, and wherein

an indication of the default index is made by any one, selected from:

an absence of an indicator of the predetermined index being the default index, the absence of the indicator being interpreted as a reference to the default information storage medium, and

the indicator of that predetermined index being the default index, referencing to the default information storage medium.

4. Method of claim 1 , wherein

the second predetermined index is any one, selected from:

a remotely stored second predetermined index, and

a locally stored at least a portion of the second predetermined index.

5. Method of claim 4 , wherein

the locally stored at least the portion of the first predetermined index is any one, selected from:

a modified version of at least the portion of the remotely stored first predetermined index and

an exact copy of at least the portion of the remotely stored first predetermined index,

and

the locally stored at least the portion of the second predetermined index is any one, selected from:

a modified version of at least the portion of the remotely stored second predetermined index and

an exact copy of at least the portion of the remotely stored second predetermined index.

6. Method of claim 1 , wherein responsive to the locally stored at least the portion of the first predetermined index being available, the using of one of: (i) the remotely stored first predetermined index and (ii) the locally stored at least the portion of the first predetermined index, is performed after selecting respective one of: (i) the remotely stored first predetermined index and (ii) the locally stored at least the portion of the first predetermined index, the selecting being executed by steps of:

determining a staleness parameter of the locally stored at least the portion of the first predetermined index,

comparing the staleness parameter of the locally stored at least the portion of the first predetermined index with a predetermined staleness threshold parameter, the predetermined staleness threshold parameter indicative whether a locally stored at least portion of a respective index is stale, and

responsive to the staleness parameter of the locally stored at least the portion of the first predetermined index exceeding the predetermined staleness threshold parameter, using the remotely stored first predetermined index as the source of at least one, selected from: the first module code reference and the indication of the second predetermined index; and

responsive to the staleness parameter of the locally stored at least the portion of the first predetermined index being below the predetermined staleness threshold parameter, using the locally stored at least the portion of the first predetermined index as the source of at least one, selected from: the first module code reference and the indication of the second predetermined index.

7. Method of claim 4 , wherein

the first module code location is any one, selected from: a local information storage medium and a remote information storage medium, and

the second module code location is any one, selected from: a local information storage medium and a remote information storage medium.

8. Method of claim 7 , wherein the second module code location is the remote information storage medium, after acquiring the second module code from the second module code location, the method further comprises:

responsive to determining that at least the portion of the second predetermined index is stored locally, modifying the locally stored at least the portion of the second predetermined index such that the modified locally stored at least the portion of the second predetermined index comprises the second module code reference indicating a second module code location on the local information storage medium, and

responsive to determining the absence of the locally stored at least the portion of the second predetermined index, generating the modified version of at least the portion of the remotely stored second predetermined index, the modified version of at least the portion of the remotely stored second predetermined index comprising the second module code reference indicating the second module code location on the local information storage medium.

9. Method of claim 1 , wherein the first predetermined index and the second predetermined index are implemented as a single third predetermined index, and wherein acquiring any one, selected from: at least the portion of the first predetermined index and at least the portion of the second predetermined index comprises acquiring from at least a portion of the third predetermined index.

10. Method of claim 9 , wherein the third predetermined index is any one, selected from: a remotely stored the third predetermined index, and a locally stored at least a portion of the third predetermined index.

11. Method of claim 10 , wherein the locally stored at least the portion of the third predetermined index is any one, selected from:

a modified version of at least the portion of the remotely stored the third predetermined index, and

an exact copy of at least the portion of the remotely stored the third predetermined index.

12. Method of claim 1 , wherein receiving, by the computing device, the request for the executing the action, is receiving the request initiated by a third module code.

13. Method of claim 1 , wherein the computing device is associated with a user, and wherein receiving, by the computing device, the request for the executing the action, is receiving from the user.

14. A computing device having an information storage medium, and a processor coupled to the information storage medium,

the computing device being coupled to a remotely stored first predetermined index;

the computer device storing a locally stored at least a portion of the first predetermined index;

the processor being configured to have access to computer readable commands which commands, when executed, cause the processor to perform:

receiving, by the computing device, a request for executing the action, the action being executable using a first module code;

responsive to the request for executing the action, perform a verification whether the locally stored at least the portion of the first predetermined index is available;

in response to the locally stored at least the portion of the first predetermined index being available, acquire, from the locally stored at least the portion of the first predetermined index and the remotely stored first predetermined index:

a first module code reference, the first module code reference indicating a first module code location, and

an indication that executing the first module code requires a second module code, and

an indication of a second predetermined index, the second predetermined index comprising a second module code reference, the second module code reference indicating a second module code location, the second module code supporting execution of the first module code;

in response to the locally stored at least the portion of the first predetermined index being unavailable, acquire, from the remotely stored first predetermined index:

the first module code reference;

the indication that executing the first module code requires the second module code; and

the indication of the second predetermined index;

acquire, from the second predetermined index, the second module code reference;

based on the first module code reference, acquire the first module code from the first module code location;

based on the second module code reference, acquire the second module code from the second module code location; and

responsive to the presence of the first module code and the second module code, execute the action by running the first module code and the second module code.

15. The computing of device claim 14 , wherein the processor is further configured to store, on the computing device, an indication of the first predetermined index, the first predetermined index comprising the first module code reference, the first module code reference indicating the first module code location.

16. The computing of device claim 14 , wherein

the first predetermined index and the second predetermined index are a part of a plurality of predetermined indexes, the plurality of predetermined indexes comprising one default index, the default index selected from: the first predetermined index and the second predetermined index, the default index being stored on a default information storage medium; and wherein

the indication of an index other than the default index is made by the indicator of that particular index other than the default index, referencing to a particular information storage medium other than the default information storage medium, and wherein

an indication of the default index is made by any one, selected from:

an absence of an indicator of the predetermined index being the default index, the absence of the indicator being interpreted as a reference to the default information storage medium, and

the indicator of that predetermined index being the default index, referencing to the default information storage medium.

17. The computing of device claim 14 , wherein

the second predetermined index is any one, selected from:

a remotely stored second predetermined index, and

a locally stored at least a portion of the second predetermined index.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2024
From: DIRECT CURSUS TECHNOLOGY L.L.C
To: Y.E. HUB ARMENIA LLC
Reel/Frame 068524/0925 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2023
From: YANDEX EUROPE AG
To: DIRECT CURSUS TECHNOLOGY L.L.C
Reel/Frame 065692/0720 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2017
From: ZINCHUK, ALEKSANDR ALEKSANDROVICH; KONSTANTINOV, SERGEY SERGEEVICH
To: YANDEX LLC
Reel/Frame 042286/0379 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2017
From: YANDEX LLC
To: YANDEX EUROPE AG
Reel/Frame 042286/0456 →