# US 12,008,350 B2 · System and method for fast application initialization with deferred injection

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,008,350 B2
- Document ID: US12008350B2
- Status: Granted
- Kind: B2
- Application number: 17/507,879
- Filed: 2021-10-22
- Published: 2023-04-27
- Granted: 2024-06-11
- Earliest claimed: 2021-10-22
- Assignees: EMC IP Holding Company LLC
- Applicants: EMC IP Holding Company, LLC
- Inventors: Daniel K. O'Reilly, Jr.; Evgeniy Kirichenko
- Web page: https://patentgrep.com/patent/US12008350B2

## CPC

- G06F 8/433: {Dependency analysis; Data or control flow analysis}
- G06F 8/24: {Object-oriented}
- G06F 8/61: Installation
- G06F 8/75: Structural analysis for program understanding
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method, computer program product, and computing system for defining, a plurality of dependency groups for one or more objects of an application, wherein at least two dependency groups of the plurality of dependency groups include one or more common objects. One or more injectors associated with the one or more common objects may be identified. A first dependency group with at least one common object of the one or more common objects may be processed. For each common object of the first dependency group, a reference to an injector associated with the respective common object from a different dependency group may be generated for deferred processing of the respective common object.

## Claims

### Claim 1

A computer-implemented method, executed on a computing device, comprising:
defining, a plurality of dependency groups for one or more objects of an application, wherein at least two dependency groups of the plurality of dependency groups include one or more common objects and wherein each dependency group of the plurality of dependency groups are defined based upon, at least in part, at least one common object of the one or more common objects with different modules for instantiating the at least one common object and a priority associated with an execution of each dependency group of the plurality of dependency groups;
identifying one or more injectors associated with the one or more common objects;
processing a first dependency group with the at least one common object of the one or more common objects;
instantiating the one or more objects associated with the first dependency group;
processing a second dependency group subsequently to the processing of the first dependency group;
instantiating the at least one common object when processing the second dependency group with the at least one common object; and
for each common object of the first dependency group, generating a reference to an injector associated with a respective common object from a different dependency group for deferred processing of the respective common object.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising:
generating an injector map with the one or more injectors associated with the one or more common objects.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein processing a first dependency group with at least one common object of the one or more common objects includes:
generating a dependency graph for the first dependency group.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3, wherein generating a reference to an injector associated with the respective common object of a different dependency group for deferred processing of the respective common object includes:
generating the dependency graph for the at least one common object when processing the second dependency group with the at least one common object.

### Claim 5

A computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising:
defining, a plurality of dependency groups for one or more objects of an application, wherein at least two dependency groups of the plurality of dependency groups include one or more common objects and wherein each dependency group of the plurality of dependency groups arc defined based upon, at least in part, at least one common object of the one or more common objects with different modules for instantiating the at least one common object and a priority associated with an execution of each dependency group of the plurality of dependency groups;
identifying one or more injectors associated with the one or more common objects;
processing a first dependency group with the at least one common object of the one or more common objects;
instantiating the one or more objects associated with the first dependency group;
processing a second dependency group subsequently to the processing of the first dependency group;
instantiating the at least one common object when processing the second dependency group with the at least one common object; and
for each common object of the first dependency group, generating a reference to an injector associated with a respective common object from a different dependency group for deferred processing of the respective common object.

### Claim 6 (depends on 5)

The computer program product of claim 5, wherein the operations further comprise:
generating an injector map with the one or more injectors associated with the one or more common objects.

### Claim 7 (depends on 5)

The computer program product of claim 5, wherein processing a first dependency group with at least one common object of the one or more common objects includes:
generating a dependency graph for the first dependency group.

### Claim 8 (depends on 7)

The computer program product of claim 7, wherein generating a reference to an injector associated with the respective common object of a different dependency group for deferred processing of the respective common object includes:
generating the dependency graph for the at least one common object when processing the second dependency group with the at least one common object.

### Claim 9

A computing system comprising:
a memory; and
a processor configured to define a plurality of dependency groups for one or more objects of an application, wherein at least two dependency groups of the plurality of dependency groups include one or more common objects, wherein each dependency group of the plurality of dependency groups are defined based upon, at least in part, at least one common object of the one or more common objects with different modules for instantiating the at least one common object and a priority associated with an execution of each dependency group of the plurality of dependency groups, wherein the processor is further configured to identify one or more injectors associated with the one or more common objects, wherein the processor is further configured to process a first dependency group with the at least one common object of the one or more common objects, instantiate the one or more objects associated with the first dependency group;
process a second dependency group subsequently to the processing of the first dependency group;
instantiate the at least one common object when processing the second dependency group with the at least one common object; and
wherein the processor is further configured to, for each common object of the first dependency group, generate a reference to an injector associated with a respective common object from a different dependency group for deferred processing of the respective common object.

### Claim 10 (depends on 9)

The computing system of claim 9, wherein the processor is further configured to:
generate an injector map with the one or more injectors associated with the one or more common objects.

### Claim 11 (depends on 9)

The computing system of claim 9, wherein processing a first dependency group with at least one common object of the one or more common objects includes:
generating a dependency graph for the first dependency group.

### Claim 12 (depends on 11)

The computing system of claim 11, wherein generating a reference to an injector associated with the respective common object of a different dependency group for deferred processing of the respective common object includes:
generating the dependency graph for the at least one common object when processing the second dependency group with the at least one common object.
