Self-describing artifacts and application abstractions
First Claim
Patent Images
1. A computing system comprising:
- a processor configured to execute processor-executable instructions;
a memory coupled to the processor; and
a storage sub-system coupled to the processor and configured to persistently save multiple self-describing software artifacts, wherein each software artifact comprises an offline manifestation of an executable entity, wherein each executable entity is one of;
a process, an application, or a component of an operating system, the artifacts being representative of software components of the computing system;
wherein each of the multiple self-describing software artifacts has an associated persistently saved manifest;
wherein each manifest comprises a metadata declarative description of the manifest'"'"'s software artifact;
wherein each manifest comprises a metadata declarative description of the associated executable entity,in the event that multiple manifestations of a particular executable entity exist, a separate manifest is associated with each manifestation of the particular executable entity;
wherein each manifest exists in one of two forms;
in an event that manifests are of a static manifest form the static manifests are stored in association with software artifacts; and
in an event that manifests are of a dynamic manifest format the dynamic manifests are employed during runtime of each of their associated executable entities, such that the dynamic manifests include static metadata which is available at runtime and dynamic metadata which is constructed at runtime to connect a plurality of runtime system elements.
2 Assignments
0 Petitions
Accused Products
Abstract
Described herein is at least one implementation employing multiple self-describing software artifacts persisted on one or more computer-storage media of a software-based computer. In this implementation, each artifact is representative of at least part of the software components (e.g., load modules, processes, applications, and operating system components) of the computing system and each artifact is described by at least one associated “manifest,” which include metadata declarative descriptions of the associated artifact.
-
Citations
41 Claims
-
1. A computing system comprising:
-
a processor configured to execute processor-executable instructions;
a memory coupled to the processor; and
a storage sub-system coupled to the processor and configured to persistently save multiple self-describing software artifacts, wherein each software artifact comprises an offline manifestation of an executable entity, wherein each executable entity is one of;
a process, an application, or a component of an operating system, the artifacts being representative of software components of the computing system;wherein each of the multiple self-describing software artifacts has an associated persistently saved manifest; wherein each manifest comprises a metadata declarative description of the manifest'"'"'s software artifact; wherein each manifest comprises a metadata declarative description of the associated executable entity, in the event that multiple manifestations of a particular executable entity exist, a separate manifest is associated with each manifestation of the particular executable entity; wherein each manifest exists in one of two forms; in an event that manifests are of a static manifest form the static manifests are stored in association with software artifacts; and in an event that manifests are of a dynamic manifest format the dynamic manifests are employed during runtime of each of their associated executable entities, such that the dynamic manifests include static metadata which is available at runtime and dynamic metadata which is constructed at runtime to connect a plurality of runtime system elements. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. One or more computer storage media having processor-executable instructions thereon that, when executed by a processor, performs acts comprising:
-
facilitating persistent saving of multiple self-describing software artifacts on a computing system, wherein each software artifact comprises an offline manifestation of an executable entity and is representative of functional operating system components or functional applications, such components and applications being installed on the computing system; facilitating persistent saving of multiple manifests respectively associated with the multiple self-describing software artifacts, wherein in an event that multiple manifestations of a particular executable entity exist, a separate manifest is associated with each manifestation of the particular executable entity, the manifests comprising metadata declarative descriptions of; the multiple self-describing software artifacts and an associated executable entity wherein each manifest exists in either a static manifest form or a dynamic manifest form such that; in an event that a manifest is of the static manifest form storing the static manifest in association with a self-describing software artifact; and in an event that a manifest is of the dynamic manifest form employing the dynamic manifest during runtime of an associated executable entity, such that the dynamic manifest comprises dynamic metadata which is constructed at runtime to connect a plurality of runtime system elements. - View Dependent Claims (18)
-
-
19. One or more computer storage media having processor-executable instructions that, when executed by a processor, perform acts comprising:
-
examining multiple self-describing software artifacts and manifests associated with the multiple self-describing software artifacts persistently saved on a computing system to gather information about the self-describing software artifacts and the manifests wherein; each software artifact comprises an offline manifestation of an executable entity;
each executable entity is one of;
a process, an application, or a component of an operating system,the manifests comprise metadata declarative descriptions of the multiple self-describing software artifacts and associated executable entities; in an event that multiple manifestations of a particular executable entity exist, a separate manifest is associated with each manifestation of the particular executable entity; each manifest exists in either a static manifest form or a dynamic manifest form such that; a manifest in the static manifest form is stored in association with a software artifact; and a manifest in the dynamic manifest form is employed during runtime of each associated executable entity, such that the manifest in the dynamic manifest form comprises dynamic metadata which is constructed at runtime to connect a plurality of runtime system elements; and
;performing verification on the multiple self-describing software artifacts; and
reporting results of the verification. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A data structure embodied on one or more computer storage media, the data structure comprising:
-
multiple self-describing software artifacts comprising an offline manifestation of an executable entity and processor-executable instructions representing operating system components or applications, such components and applications being installed on a computing system; manifests associated with the multiple self-describing software artifacts, the manifests being comprising metadata declarative descriptions of the multiple self-describing software artifacts and metadata declarative descriptions of associated executable entities, wherein in an event that multiple manifestations of a particular executable entity exist, a separate manifest is associated with each manifestation of the particular executable entity, and each manifest exists in one of a plurality of forms, the plurality of forms comprising; a static manifest form stored in association with software artifacts and a dynamic manifest form employed during runtime of each associated executable entity, such that the dynamic manifests comprise dynamic metadata which is constructed at runtime to collect a plurality of runtime system elements. - View Dependent Claims (32)
-
-
33. One or more computer storage media having processor-executable instructions that, when executed by a processor, perform acts comprising:
-
obtaining a copy of an offline “
system image”
of a software-based computer, the system image representing the content and configuration of software components installed on the computer, wherein the installed software components are represented on the system image as self-describing software artifacts wherein each software artifact comprises an offline manifestation of an executable entity, each executable entity is one of;
a process, an application, or a component of an operating system.and each self-describing software artifact has an associated persistently saved manifest comprising a metadata declarative description of the manifest'"'"'s software artifact and a metadata declarative description of an associated executable entity, such that in an event that multiple manifestations of a particular executable entity exist, a separate manifest is associated with each manifestation of the particular executable entity; and
each manifest exists in either a static manifest form or a dynamic manifest form;in an event that a first manifest exists in the static manifest form, storage the first manifest in association with software artifacts; and
,in an event that a second manifest exists in the dynamic manifest form, employing the second manifest during runtime of each associated executable entities, such that the second manifest comprises dynamic metadata which is constructed at runtime to collect a plurality of runtime system elements; analyzing the self-describing software artifacts of the offline system image;
reporting results of the analyzing act. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41)
-
Specification