Asset composition
First Claim
Patent Images
1. A method of performing asset composition with reduced complexity by automating otherwise time-consuming and error prone activities, the method comprising:
- utilizing at least one processor of a computing system, accessing a plurality of asset specifications, the plurality of asset specifications being stored in an asset specification store and each asset specification including metadata in an XML-based schema that describes compositional properties of respective assets and ports that support composition, wherein the XML-based schema for the asset specification for each of the plurality of assets includes;
an asset description as a list of ground predicates; and
a port specification describing an individual port, wherein the port specification includes at least;
a port description as a list of ground predicates, wherein each ground predicate has no variables; and
a port interfaces section including at least;
a configuration section;
a requirements section;
a services section; and
a wants section;
responsive to a composition request, searching the plurality of asset specifications, and the metadata therein, to match at least a first asset providing a service with at least a second asset having a requirement matching the service of the first asset, wherein matching the first asset with the second asset comprises;
computing a first hash, the first hash being a hash of the services section of an asset specification corresponding to the first asset;
computing a second hash, the second hash being a hash of the requirements section of an asset specification corresponding to the second asset;
comparing the first hash to the second hash, and obtaining a zero result from the determination; and
after comparing the first hash to the second hash, determining whether each expression in the requirements section of the asset specification of the second asset matches expressions in the services section of the asset specification of the first asset, and recording only variable matches as the services contain only ground predicates; and
composing an application that includes the at least first asset providing the service and the at least second asset having a requirement matching the provided service of the at least first asset, wherein composing the application includes linking ports of the first and second assets, as identified in respective asset specifications within the plurality of asset specifications, wherein composing the application is performed responsive to the composition request, and wherein communication between the first and second assets, through the ports, is provided through a third asset, wherein the third asset is a channel.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method facilitating asset composition based, at least in part, upon metadata (e.g., asset specification) describing compositional property(ies) of the asset(s) is provided. Asset specification(s) (e.g., metadata) that describe asset(s) to efficiently search and/or match asset(s) are employed. The system can facilitate matching (e.g., automatically) the particular software component to available server(s). Thus, the system can provide a flexible manner of describing asset(s) and an efficient way of locating matching description(s).
35 Citations
7 Claims
-
1. A method of performing asset composition with reduced complexity by automating otherwise time-consuming and error prone activities, the method comprising:
-
utilizing at least one processor of a computing system, accessing a plurality of asset specifications, the plurality of asset specifications being stored in an asset specification store and each asset specification including metadata in an XML-based schema that describes compositional properties of respective assets and ports that support composition, wherein the XML-based schema for the asset specification for each of the plurality of assets includes; an asset description as a list of ground predicates; and a port specification describing an individual port, wherein the port specification includes at least; a port description as a list of ground predicates, wherein each ground predicate has no variables; and a port interfaces section including at least; a configuration section; a requirements section; a services section; and a wants section; responsive to a composition request, searching the plurality of asset specifications, and the metadata therein, to match at least a first asset providing a service with at least a second asset having a requirement matching the service of the first asset, wherein matching the first asset with the second asset comprises; computing a first hash, the first hash being a hash of the services section of an asset specification corresponding to the first asset; computing a second hash, the second hash being a hash of the requirements section of an asset specification corresponding to the second asset; comparing the first hash to the second hash, and obtaining a zero result from the determination; and after comparing the first hash to the second hash, determining whether each expression in the requirements section of the asset specification of the second asset matches expressions in the services section of the asset specification of the first asset, and recording only variable matches as the services contain only ground predicates; and composing an application that includes the at least first asset providing the service and the at least second asset having a requirement matching the provided service of the at least first asset, wherein composing the application includes linking ports of the first and second assets, as identified in respective asset specifications within the plurality of asset specifications, wherein composing the application is performed responsive to the composition request, and wherein communication between the first and second assets, through the ports, is provided through a third asset, wherein the third asset is a channel. - View Dependent Claims (2, 6)
-
-
3. A computing system facilitating asset composition with reduced complexity and automation of otherwise time-consuming and error prone activities, the system comprising:
-
a processor; an asset specification store; and at least one of a hardware component or one or more computer readable media communicatively coupled to the processor and the asset specification store, and including; a composition component comprising that; receives a composition request, wherein the composition request includes a request that at lest two assets be composed together via respective ports; utilizes metadata within the asset specification store, wherein the metadata is in an XML-based schema and describes asset specification information for a plurality of assets, and wherein the metadata is utilized in searching for assets responsive to the composition request, the asset specification information comprising compositional properties of respective assets and ports that describe respective aspects of the assets that support composition, and wherein the XML-based schema for the asset specification for each of the plurality of assets includes; an asset description as a list of ground predicates; and a port specification describing an individual port, wherein the port specification includes; a port description as a list of ground predicates, wherein each ground predicate has no variables; and a port interfaces section that includes; a configuration section; a requirements section; a services section; and a wants section; utilizes the metadata in matching a first asset having a first description and first port with a second asset having a second description and a second port, wherein the first port describes services provided by the first asset, and wherein the second port of the second asset describes requirements of the second asset, and wherein matching the first asset with the second asset comprises; computing a first hash, the first hash being a hash of the services section of an asset specification corresponding to the first asset; computing a second hash, the second hash being a hash of the requirements section of an asset specification corresponding to the second asset; comparing the first hash to the second hash, and obtaining a zero result from the determination; and after comparing the first hash to the second hash, determining whether each expression in the requirements section of the asset specification of the second asset matches expressions in the services section of the asset specification of the first asset and recording only variable matches as the services contain only ground predicates; and automatically composing an application that includes the first asset and the second asset, which communicate over the first port and the second port, with the first asset providing the services to the second asset, wherein communication between the first asset and second asset occurs through a third asset, which third asset is a channel. - View Dependent Claims (4, 5)
-
-
7. A computer readable storage medium storing computer executable components of a composition component, comprising:
-
an input component that receives a composition request, wherein the composition request includes a request that three assets be composed together to form an application, with at least two of the assets communicating with each other via respective ports and the third asset; an identification component that; responsive to the composition request, accesses a plurality of asset specifications for a plurality of assets, the plurality of asset specifications being stored in an asset specification store and describing the plurality of assets using metadata in an XML based schema to provide descriptions of compositional properties of assets and ports for the assets, wherein the XML-based schema for the asset specification for each of the plurality of assets consists of; an asset description as a list of ground predicates; and a port specification describing an individual port, wherein the port specification consists of; a port description as a list of ground predicates, wherein each ground predicate has no variables; and a port interfaces section that consists of; a configuration section; a requirements section; a services section; and a wants section; utilizes the metadata in the XML-based schema in searching for assets responsive to the composition request, and matching a first asset with a second asset, wherein matching the first asset with the second asset comprises; computing a first hash, the first hash being a hash of the services section of an asset specification corresponding to the first asset; computing a second hash, the second hash being a hash of the requirements section of an asset specification corresponding to the second asset; comparing the first hash to the second hash, and obtaining a zero result from the determination; and after comparing the first hash to the second hash, using a backtracking algorithm and determining whether each expression in the requirements section of the asset specification of the second asset matches expressions in the services section of the asset specification of the first asset, and recording only variable matches as the services contain only ground predicates; and a composer component that composes an application that includes the first and second assets, wherein composing the application also includes linking ports of the first and second assets identified in respective asset specifications, and wherein communication between the first and second assets, through the ports, is provided through a third asset, wherein the third asset is a channel.
-
Specification