Inventors list

Assignees list

Classification tree browser

Top 100 Inventors

Top 100 Assignees


Daniel Eshner, Issaquah US

Daniel Eshner, Issaquah, WA US

Patent application numberDescriptionPublished
20080270411DISTRIBUTED BEHAVIOR CONTROLLED EXECUTION OF MODELED APPLICATIONS - The present invention extends to methods, systems, and computer program products for distributed behavior controlled execution of modeled applications. Embodiments of the invention facilitate the interoperation of a central data store along with various peer-to-peer functionalities. Thus, distributed applications can be executed in an environment that utilizes advantages of both a central data store and peer-to-peer messaging. A read-only portion of a centralized data store can be used to provide some behavior control over various processing systems during execution of a distributed software application. Thus, embodiments of the invention can be used to form a policy-driven collective of nodes forming a distributed, decentralized run-time for model-based applications. Utilizing a cooperating collective of nodes that comply with centralized polices and execute applications over a peer-to-peer fabric permits a distributed application runtime to accommodate distribution and decentralization on a large scale.10-30-2008
20090006062PROGRESSIVELY IMPLEMENTING DECLARATIVE MODELS IN DISTRIBUTED SYSTEMS - A system for automatically implementing high-level instructions in a distributed application program, where the high-level instructions reflect the behavior of the distributed application program, includes at least a tools component. The tools component is used to write high-level instructions in the form of declarative models, and place them in a repository. An executive component then receives the declarative models from the repository and refines them (e.g., via progressive elaboration) until there are no ambiguities. A platform-specific driver then translates the commands from the executive component, effectively turning the declarative model instructions into a set of imperative actions to be implemented in one or more application containers. The platform-specific driver also relays one or more event streams to an analytics means, which can result in modifications to the declarative models and corresponding new sets of instructions coming through the platform-specific driver at a later point.01-01-2009
20090006063TUNING AND OPTIMIZING DISTRIBUTED SYSTEMS WITH DECLARATIVE MODELS - A system for automatically adjusting operation of a distributed application program includes analytics means having a monitoring component. The monitoring component receives one or more event streams of data corresponding to execution of one or more modules of the distributed application program. The monitoring component joins the received event streams with one or more declarative models to create operational data. A forensics component of the analytics means queries, such as by using data from a declarative model store, the operational data to identify trends or behavior information for the various modules or components of the distributed application program. A planner component then reviews data created by the forensics component to identify any needed changes to the declarative models. The planner component passes any modified declarative models back to the system, so that the distributed application program can operate more efficiently using the changes to the declarative models, as needed.01-01-2009
20090055838MONITORING DISTRIBUTED APPLICATIONS - The present invention extends to methods, systems, and computer program products for monitoring distributed applications. Declarative application models are used. Operational data for a deployed application can be compared to an application intent expressed in a corresponding declarative application to provide more effective monitoring of application behavior. Application components can subscribe to an event fabric to receive configurations that indicate what events the application is to emit (i.e., publish into the event fabric) for monitoring. Thus, applications essentially subscribe to produce information (as opposed to subscribing to receive information). Monitoring can be dynamically adjusted in response to environment changes.02-26-2009
20090112966ASSIGNMENT OF APPLICATION MODULESTO DEPLOYMENT TARGETS - A distributed application deployment engine uses declarative deployment data that describes deployment characteristics for application modules, and potential target environments. The engine uses the deployment data to potentially match a module to a deployment target. At some point, the modules may then be actually deployed on the identified deployment target. This may be performed for multiple modules in the distributed application, thereby deploying the distributed application in a distributed environment.04-30-2009
20090113379MODELING AND MANAGING HETEROGENEOUS APPLICATIONS - The present invention extends to methods, systems, and computer program products for modeling and managing heterogeneous applications. Application intent can be described in a relatively straight forward manner that abstracts underlying implementation details. Thus, application developers can develop applications without necessarily having to know extensive details of an underlying implementation environment. In any event, an application can be executed in different implementation environments without requiring changes to the corresponding model.04-30-2009
20090113407MANAGING SOFTWARE LIFECYCLE - The present invention extends to methods, systems, and computer program products for managing software lifecycle. Based on declarative models and knowledge of their interpretation, embodiments of the present invention facilitate lifecycle management for model-based software applications. Lifecycle models, such as, for example, lifecycle state machine models are stored in a shared repository such that executive services can determine how software application lifecycles are to be managed and transitioned. Software lifecycle activities can verify that a transition is possible and identify any errors preventing a lifecycle transition. Model-based error handling and error recovery mechanisms can be used to correct any identified errors.04-30-2009
20090113457PERFORMING REQUESTED COMMANDS FOR MODEL-BASED APPLICATIONS - The present invention extends to methods, systems, and computer program products for performing requested commands for model-based applications. Embodiments of the invention permit efficient implementation of operations for model-based applications. Since drivers that are to implement an operation request data for implementing the operation, embodiments significantly reduce the likelihood of superfluous data being exchanged between an executive service and drivers. Further, if an operation is interrupted before implementation is complete, the operation can be resumed without having to re-perform already completed portions of the operation. Additionally, a user can be regularly updated on the progress of their commands.04-30-2009
20090313620SYNCHRONIZING VIRTUAL MACHINE AND APPLICATION LIFE CYCLES - A virtual environment can be configured to coordinate life cycles of virtual machines and application programs executing therein. In one implementation, the virtual environment includes an application layer and a virtual machine layer. The application layer communicates with the virtual machine layer to coordinate and directs virtual machine creation and deletion in a coordinated fashion with application programs. For example, the application layer receives a request to initiate an application program. The application layer determines from associated application properties the type and/or number of virtual machines to be created. The application layer then directs creation of the appropriate virtual machines (through the virtual machine layer), and further directs installation of the requested application programs therein. When detecting removal of the application program from the created virtual machines, the application layer can automatically direct removal or decommissioning of the corresponding virtual machine.12-17-2009