Machine learning-based universal software component identification
US-12175241-B1 · Dec 24, 2024 · US
US9298448B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9298448-B2 |
| Application number | US-201313898900-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 21, 2013 |
| Priority date | May 21, 2013 |
| Publication date | Mar 29, 2016 |
| Grant date | Mar 29, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A system and method of run time dependency resolution includes loading one or more dependency descriptors from an archive, determining that a class is to be loaded at run-time, selecting a first dependency descriptor from the one or more dependency descriptors based on information associated with the class, requesting the class from a dependency repository based on information associated with the class and information associated with the first dependency descriptor, receiving the class from the dependency repository, and loading the class. In some examples, the system and method further include determining a package for the dependency repository, loading the package, extracting a class file from the package, splitting the class file into one or more fragments, tagging each of the one or more fragments with information associated with the class file and the package, and transmitting each of the one or more tagged fragments to the dependency repository.
Opening claim text (preview).
What is claimed is: 1. A method of run-time dependency resolution, the method comprising: loading one or more dependency descriptors from an archive file used to distribute a software project; determining that a class is to be loaded at run-time; selecting a first dependency descriptor from the one or more dependency descriptors based on information associated with the class; requesting the class from a dependency repository based on information associated with the class and information associated with the first dependency descriptor; receiving the class from the dependency repository; loading the class; determining a package for the dependency repository; loading the package; extracting a class file from the package; splitting the class file into one or more fragments based on a predetermined fragment size in bytes; tagging each of the one or more fragments with information associated with the class file and the package; and transmitting each of the one or more tagged fragments to the dependency repository. 2. The method of claim 1 wherein the archive file is selected from a group consisting of a Java archive (JAR), a web archive (WAR), and an enterprise archive (EAR). 3. The method of claim 1 wherein the information associated with the class includes a class name. 4. The method of claim 1 wherein the dependency repository is a dependency cluster having a plurality of dependency nodes. 5. The method of claim 4 wherein requesting the class from the dependency repository comprises requesting the class from a first one of the dependency nodes in the dependency cluster. 6. The method of claim 1 wherein the first dependency descriptor includes a project identifier and a version for a project associated with the class. 7. The method of claim 1 wherein the first dependency descriptor includes a group identifier, an artifact identifier, and a version for a project associated with the class. 8. The method of claim 1 wherein loading of the one or more dependency descriptors from the archive file comprises reading a dependency descriptor file stored in the archive file. 9. The method of claim 8 wherein the dependency descriptor file is stored in a metadata directory of the archive file. 10. The method of claim 1 wherein receiving the class from the dependency repository includes receiving a class file. 11. The method of claim 1 wherein the information associated with the package includes a second dependency descriptor associated with the package. 12. The method of claim 1 wherein transmitting each of the one or more tagged fragments to the dependency repository comprises transmitting each of the one or more tagged fragments to a number of dependency nodes in the dependency archive based on a replication factor. 13. A non-transitory machine-readable medium comprising a first plurality of machine-readable instructions which when executed by one or more processors associated with one or more computing systems are adapted to cause the one or more processors to perform a method comprising: loading one or more dependency descriptors from an archive file used to distribute a software project; determining that a class is to be loaded at run-time; selecting a first dependency descriptor from the one or more dependency descriptors based on information associated with the class; requesting the class from a dependency repository based on information associated with the class and information associated with the first dependency descriptor; receiving the class from the dependency repository; loading the class; determining a package for the dependency repository; loading the package; extracting a class file from the package; splitting the class file into one or more fragments based on a predetermined fragment size in bytes; tagging each of the one or more fragments with information associated with the class file and the package; and transmitting each of the one or more tagged fragments to the dependency repository. 14. A system for management of dependencies, the system comprising: a deployment platform including one or more processors and memory storing an archive; and a dependency cluster including a plurality of dependency nodes; wherein: the one or more processors are running an augmented Java virtual machine (AJVM) including a class loader; the class loader loads a class at run-time as requested by the AJVM by selecting a dependency descriptor for the class based on information associated with the class, requesting the class from a first dependency node selected from the plurality of dependency nodes, and receiving the class from the first dependency node; and the first dependency node: receives a request for the class from the class loader; determines information about the class from the request; loads zero or more first fragments from memory of the first dependency node based on the information about the class, each of the first fragments corresponding to a corresponding first portion of a class file split into fragments based on a predetermined fragment size in bytes; requests zero or more second fragments from other dependency nodes selected from the plurality of dependency nodes based on the information about the class, each of the second fragments corresponding to a corresponding second portion of the class file; assembles the class using the first fragments and the second fragments; and returns the assembled class. 15. The system of claim 14 wherein the first dependency node further validates the assembled class. 16. The system of claim 14 wherein the information about the class includes information associated with the selected dependency descriptor. 17. The system of claim 14 wherein the assembled class includes the class file.
Version control (security arrangements therefor G06F21/57); Configuration management · CPC title
Software maintenance or management · CPC title
Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading · CPC title
Configuring for program initiating, e.g. using registry, configuration files · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.