Distributed application definition

US9778915B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9778915-B2
Application numberUS-201113037299-A
CountryUS
Kind codeB2
Filing dateFeb 28, 2011
Priority dateFeb 28, 2011
Publication dateOct 3, 2017
Grant dateOct 3, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method of creating an application definition for a distributed application is disclosed. Constructs corresponding with a schema of the distributed application are defined in a declarative and technology agnostic manner. The constructs include the application definition, a module definition, and a component definition. Each construct includes metadata.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of creating an application definition for a distributed application, comprising: declaratively defining a plurality of constructs corresponding with a schema of the distributed application in a technology agnostic manner, the distributed application including one or more modules, and the one or more modules include, respectively, one or more components; wherein the constructs include the application definition, a module definition, and a component definition, wherein the constructs include metadata, respectively; and declaratively defining in metadata an amount of module instances and an amount of partitions assigned to the module instances, respectively, to be activated at runtime; wherein at runtime, an application framework provides the connections between the components, and wherein at runtime the application definition is used by the application framework to validate a compositional structure of the distributed application. 2. The method of claim 1 wherein the application definition includes a plurality of module definitions and the module definitions include a plurality of component definitions, respectively. 3. The method of claim 2 wherein the module definitions include a common set of metadata shared in the module definitions, respectively. 4. The method of claim 3 wherein the common set of metadata includes metadata regarding “Name,” “Qualified Name,” “Isolation Level,” “Machine Size,” “Enable High Availability,” “Instance Count Hint,” “Component Definitions,” and “Aspect Definitions.” 5. The method of claim 2 wherein the component definitions include a common set of metadata shared in the module definitions, respectively. 6. The method of claim 5 wherein the common set of metadata includes metadata regarding “Component Name,” “Qualified Name,” “Version,” “Activation Policy,” “Module Affinity,” “Component Type,” and “Artifacts.” 7. The method of claim 1 and further comprising serializing the application definition. 8. The method of claim 7 wherein the application definition is serialized from a scripting language. 9. The method of claim 1 and further comprising including the application definition within an application manifest. 10. The method of claim 1 wherein the application definition is used through an application lifecycle. 11. The method of claim 1 wherein the constructs include a component export definition, a component import definition and a component aspect definition. 12. The method of claim 11 wherein the component export definition includes metadata regarding “Name,” “Qualified Name,” “Exporting Component Name,” “Proxy Artifacts,” “Proxy Type Hint,” “Aspects,” “Contract,” “Visibility,” “Listen Address,” “Claimed Listen Address Hint,” “Canonical Address,” and “Publish Address.” 13. The method of claim 11 wherein the component import definition includes metadata regarding “Name,” “Qualified Name,” “Owner Component,” “Instancing Policy,” “Cardinality,” and “Constraint.” 14. The method of claim 11 wherein the component aspect definition includes metadata regarding “Name,” “Qualified Name,” “Before Advice Pointcut Predicate,” “After Advice Pointcut Predicate,” “Error Advice Pointcut Predicate,” “Final Advice Pointcut Predicate,” “Around Advice Pointcut Predicate,” “Artifacts,” and “Component Aspect Type.” 15. The method of claim 1 wherein the application definition includes metadata regarding “Name,” “Base URI [universal resource identifier],” “ID [identifier],” “Version,” “Base Path,” “Module Definitions,” “Aspect Definitions,” “External Exports,” and “Tenant.” 16. A computer readable storage medium, which is not a transitory propagating signal, storing computer executable instructions for controlling a computing device to perform a method comprising: creating an application definition for a distributed application described in a schema, the distributed application including one or more modules, and the one or more modules include, respectively, one or more components, wherein the application definition includes a plurality of constructs corresponding with a schema of the distributed application, wherein creating the application definition includes: expressing component configurations and constraints within the constructs in a declarative manner; and expressing component dependencies, interrelationships, and interactions within the constructs in a declarative manner; wherein the constructs include metadata in a technology agnostic format; and adjustably programming the metadata to declaratively define an amount of module instances and an amount of partitions assigned to the module instances, respectively, to be assigned at runtime; wherein at runtime, an application framework provides the connections between the components, and wherein at runtime the application definition is used by the application framework to validate a compositional structure of the distributed application. 17. The computer readable storage medium of claim 16 and further comprising serializing the application definition. 18. The computer readable storage medium of claim 16 and further including applying the application definition to validate a compositional structure of the distributed application. 19. The computer readable storage medium of claim 18 and further including applying the application definition to enforce the compositional structure at runtime. 20. A method of creating an application definition for a distributed application, comprising: declaratively defining a plurality of constructs corresponding with a schema of the distributed application in a technology agnostic manner, wherein the schema includes one or more modules and the one or more modules include, respectively, one or more components; wherein the constructs include the application definition, a module definition for the one or more modules, respectively, a component definition for the one or more components, respectively, a component export definition for the one or more components providing an export, respectively, a component import definition for the one or more components using an import, respectively, and a component aspect definition; wherein the constructs include metadata; and adjustably programming the metadata to declaratively define an amount of module instances and an amount of partitions assigned to the module instances, respectively, to be assigned at runtime; wherein at runtime, an application framework provides the connections between the components, wherein at runtime the application definition is used by the application framework to validate and enforce a compositional structure of the distributed application. 21. A system for creating an application definition for a distributed application in an application framework, the system comprising: a processor; and memory comprising instructions executable by the processor to: declaratively define a plurality of constructs to correspond with a schema of the distributed application in a technology agnostic manner, the distributed application includes one or more modules, and the one or more modules include, respectively, one or more components, the plurality of constructs include an application definition, a module definition, and a component definition corresponding with one or more module instances of the schema of the distributed application, the one or more module instance having a plurality of components according to the component definition, and the constructs include metadata; declaratively define in metad

Assignees

Inventors

Classifications

  • G06F8/20Primary

    Software design · CPC title

  • G06F8/10Primary

    Requirements analysis; Specification techniques · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9778915B2 cover?
A method of creating an application definition for a distributed application is disclosed. Constructs corresponding with a schema of the distributed application are defined in a declarative and technology agnostic manner. The constructs include the application definition, a module definition, and a component definition. Each construct includes metadata.
Who is the assignee on this patent?
Shukla Dharma, Sagar Akash Jeevan, Talbert Nathan C, and 5 more
What technology area does this patent fall under?
Primary CPC classification G06F8/20. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 03 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).