Patent ID: 9477497
Filing Date: 2016-10-25
CPC Classification: G06F

Claim Text:
1. A method for automatically determining resource dependency when executing an application with a web browser on a client device, the method comprising: receiving, with the client device, input requesting execution of the application with the web browser of the client device, wherein the application comprises a plurality of modules stored on a server that is distinct from the client device, each of the modules being associated with one or more different resource files; responsive to receiving the request to execute the application with the web browser and prior to downloading the modules from the server, accessing, with the client device, an extensible markup language (XML) file specifying a master configuration for the application; identifying, with the client device, one or more root modules of the plurality of modules; automatically identifying, with the client device and based at least in part on the master configuration, one or more dependencies between two or more of the modules of the application to be executed by the web browser, the two or more of the modules including at least one of the one or more root modules, wherein the one or more dependencies indicate one or more orderings in which the two or more of the modules are to be downloaded from the server for execution; determining, with the client device, which one of at least two different types of dependencies corresponds to each of the identified one or more dependencies between the two or more of the modules, wherein the at least two different types of dependencies comprise a hard dependency that requires a fixed loading order between dependent modules of the application, and wherein the at least two different types of dependencies further comprise a soft dependency that requires loading of, but permits a flexible loading order between, dependent modules of the application; determining, with the client device, based on the identified one or more dependencies between the two or more of the modules and on the one or more identified root modules, and further based on the respective determined type of dependency that corresponds to each of the identified one or more dependencies, one or more ordered lists that specify the one or more orderings in which to download the two or more of the modules from the server; and downloading, with the web browser of the client device, the two or more of the modules from the server according to the determined one or more ordered lists.