Metadata-based application model for large applications
AssigneeMicrosoft Corporation
InventorsAidan Hughes, J. East, James Bennett, Paul Barr
Life of this patent
Estimating the term…
Abstract
A metadata-based application model for software systems provides for the integration and storing of application metadata with the application itself effectively replacing the system registry. In calling or updating the application components or modules, queries to the metadata within the application folders returns references to the files with metadata that matches the query. The component or modules are called or updated within the file using the returned reference. The present invention also provides a data structure comprising a data field for the application code and another field for the metadata.
Claims20
A computer program product encoding a computer program of instructions for executing a computer implemented method for installing an application, comprising:
- receiving a command to install a first application;
- in response to the command to install the first application, creating a first application folder;
- storing at least one module within the first application folder;
- storing metadata integrated with the first application in the first application folder identifying one or more other modules as a submodule;
- creating a subfolder for the submodule;
- storing submodule in the subfolder;
- and
- storing metadata integrated with the submodule in the subfolder.
A computer program product as defined in 1, wherein metadata comprises one or more of file metadata, install metadata, or settings metadata.
A computer program product as defined in 2, wherein the install metadata is written upon storing the metadata in the first application folder.
A computer program product as defined in 1, the method further comprising:
- receiving a command to install a second application having at least one second module similar to a module stored with the first application;
- creating a second application folder separate from the first application folder;
- storing a second module associated with the second application in the second application folder;
- and
- storing metadata integrated with the second application in the second application folder without changing the metadata in the first application folder such that the similar second module is called by the second application and the first application does not call the second module as a result of the installation of the second application.
A computer program product as defined in 4, the method further comprising:
- querying metadata within one or more application folders;
- and
- returning one or more references for one or more modules having integrated metadata that matches the query.
A computer program product as defined in 5, calling at least one module using a returned reference without connecting to a system registry.
A computer program product as defined in 5, wherein the query also queries metadata in one or more subfolders.
A computer program product as defined in 5, the method further comprising:
- querying for an InstallId within metadata;
- and
- returning a reference to a module having the InstallId in metadata.
A computer program product as defined in 5, the method further comprising changing one or more modules with a returned reference.
A computer readable medium as defined in 9, the method further comprising changing the metadata integrated with the one or more modules.
A computer program product as defined in 5, the method further comprising:
- querying for a FileId within metadata for one or more modules;
- returning a reference to one or more modules with the FileId;
- and
- changing the one or more modules by replacing an old version of the one or more modules with a new version of the one or more modules.
A computer program product as defined in 11, wherein the FileId is changed as a result of replacing the old version of the one or more modules.
A computer program product as defined in 5, the method further comprising:
- querying for a version dependent InstallId within metadata for one or more modules;
- returning a reference to one or more modules with the version dependent InstallId;
- and
- changing the one or more software modules by replacing an old version of the one or more modules with a new version of the one or more modules.
A computer program product as defined in 13, wherein the InstallId of the metadata is changed after replacing the old version of the one or more modules.
A computer program product as defined in 5, the method further comprising:
- querying for a version independent InstallId within metadata for one or more one or more modules;
- returning a reference to one or more one or more modules with the version independent InstallId;
- and
- uninstalling the one or more one or more modules by erasing the one or more one or more modules.
A computer program product as defined in 15, wherein the one or more modules are all located in an application folder and the application folder is erased.
A computer program product as defined in 16, wherein all metadata integrated with the one or more modules is also erased.
A computer program product having stored thereon a data structure, comprising:
- a first data field operable to execute a module;
- and
- a second data field containing metadata describing the module and integrated with the first data field.
A computer program product as defined in 18, wherein the metadata comprises one or more of file metadata, install metadata, or settings metadata.
A computer program product as defined in 19, wherein the file metadata comprises a FileId and the install metadata comprises one or more of an InstallId, an Install Family, an Install Source, or an Install Package.
Dependencies are inferred from the claim text.