Source: https://patents.google.com/patent/DE112010003144T5/en
Timestamp: 2019-11-13 20:53:56
Document Index: 354169161

Matched Legal Cases: ['Application No. 61', 'Application No. 12', 'art 508', 'art 510', 'art 512', 'art 514', 'art 516', 'art 508', 'art 516', 'arts 606', '§1']

DE112010003144T5 - Extensible basic structure to support various deployment architectures - Google Patents
Extensible basic structure to support various deployment architectures
DE112010003144T5
DE112010003144T5 DE201011003144 DE112010003144T DE112010003144T5 DE 112010003144 T5 DE112010003144 T5 DE 112010003144T5 DE 201011003144 DE201011003144 DE 201011003144 DE 112010003144 T DE112010003144 T DE 112010003144T DE 112010003144 T5 DE112010003144 T5 DE 112010003144T5
DE201011003144
2009-07-31 Priority to US61/230,584 priority
2010-03-05 Priority to US12/718,924 priority patent/US9201557B2/en
2010-03-05 Priority to US12/718,924 priority
2010-07-30 Application filed by eBay Inc filed Critical eBay Inc
2010-07-30 Priority to PCT/US2010/044015 priority patent/WO2011014835A1/en
2012-07-05 Publication of DE112010003144T5 publication Critical patent/DE112010003144T5/en
A method for managing services and resources across a variety of deployment architectures is described. The process begins by defining a profile that corresponds to a deployment architecture. Each profile is defined according to a meta-model. The meta-model comprises a service object representing a service accessible over a network, resource objects representing resources consumed by the service, inter-relationships between the service and the resources, and inter-relationships between the resources. For each profile, a topology is generated based on the profile. The topology includes the resources that are used to perform a task.
This invention claims the benefit of US Provisional Application No. 61/230,254, filed July 31, 2009, entitled "Management of Services and Resources" and US Application No. 12 / 718,924, filed March 5, 2009 2010 entitled "Extensible Framework to Support Different Deployment Architectures", which are incorporated here by reference in their entirety.
The present application relates generally to the management of services and resources in a data center or cloud computing environment and, in a specific example, to an extensible framework for supporting various deployment architectures.
In a data center environment, there can be many services to achieve business goals or to support other services. In some contexts, these services may include trading (selling articles, viewing items to be sold, etc.), messaging services, and searches. All of these services consume hardware and software resources. Examples of hardware resources include computers (servers), the network (switches, load balancers, firewalls, etc.), storage (SAN, NAS, etc.), and those for the latter include the operating system, an application platform stack (Java Virtual Machine, Tomcat Servlet Container, etc.) and a database. These hardware and software resources are set up in different configurations depending on the requirements of the particular service. The configurations are referred to as "deployment architectures". Examples of deployment architectures include the traditional 3-tier architecture (Web tier, application tier, database tier, each having a load balancer for which the traffic distribution may have), a messaging service infrastructure, etc. Within these, there may be variations, for example load balancers may be paired to provide high availability (HA). Traditionally, there have been management systems for each subset of the data center environment. For example, there are network management systems that focus on managing (e.g., configuring, testing, monitoring performance) switches. Others focus on applications (eg application use, etc.). This leads to an overflow of management systems.
Some embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings, wherein:
1 is a block diagram of a network environment in which various embodiments can be operated.
2 FIG. 4 is a block diagram of a management system according to various embodiments. FIG.
3 FIG. 3 is a flowchart of a method of using a model framework in the domain arrangement according to various embodiments. FIG.
4 is a hierarchy of objects within a resource classification according to various embodiments.
5 FIG. 4 is a block diagram of a model structure for hardware and software resources, according to some embodiments. FIG.
6 is a block diagram of a model structure that belongs to a group according to various embodiments.
7 FIG. 10 is a block diagram of a model structure for storing data according to various embodiments. FIG.
8th is a schematic engine representation within which a set of instructions may be executed to have the engine perform one or more of the methodologies discussed herein.
9 FIG. 4 is a block diagram of a profile generator according to various embodiments. FIG.
10 FIG. 4 is a block diagram of a two-layer structured information model according to some embodiments. FIG.
Example methods and systems for managing services in a data center environment and resources consumed by these services using an extensible framework will be described. In the following description, for purposes of explanation, numerous specific ones are Details are set forth in order to provide a thorough understanding of example embodiments. However, it will be apparent to those skilled in the art that the present invention may be practiced without these specific details. As used herein, the term "or" may be construed in an inclusive or exclusive sense.
In a large enterprise computing system, services are provided using different systems. Examples of such systems include trading services, search services, messaging services, payment services, and web publishing services. As each system performs separate functions, the operation of a corporate computing system as a whole depends on the performance of each of the other systems. This is especially true when more than one system is used to execute a transaction or "flow". For example, to complete a sale in an Internet trading system, the systems corresponding to the search, web publishing, payment, and messaging services may be used at certain times in the flow.
The systems are implemented using one or more resources. The resources may be hardware resources and / or software resources. Examples of hardware resources include servers, routers, load balancers, and the like. Examples of software resources include operating systems, applications and the like.
In the context of a management system, each managed functional unit (i.e., a service or resource) is modeled in terms of its operational configuration, performance, and status (e.g., active status). Furthermore, each such modeled functional unit is related to one or more modeled functional units to reflect the real relationships. For example, a computer program (application) runs on an operating system and therefore corresponding modeled functional units within the management system also reflect this relationship. The resulting model of modeled functional units (each functional unit consisting of attributes specifying their configuration, performance, and status) and their interrelations are known as an information model. The information model is generated in a modeling tool and stored in a model repository to be used, for example, by system architects.
Each type of service has a deployment architecture that shows the various constituent resources, their inter-relationships, and, if applicable, their dependencies on other services. In the context of a model-driven management system, the mission architecture of each service can be specified in the form of a specific information model. In this context, the information model is referred to as a deployment profile ("profile"). Thus, the profile is used to specify the deployment architecture in terms of its functional and non-functional criteria. By way of illustration, the simplest profile may be the "N number of servers", with the servers being assigned contiguously. Another profile might be the traditional 3-tier architecture consisting of load balancers, servers to be used as web servers, servers to be used as application servers, servers to be used as database servers, and a layer 3 server. Switch to provide LAN switching and Layer 3 routing between VLANs. The three types of servers can have different capabilities (for example, database servers can be big big-iron boxes, and web servers can be blade servers or even virtual machines). Other variations may result in a different profile, for example, load balancers may be configured in an active-active (or active-passive) configuration to provide high availability.
Yet another profile may use the 3-layer profile to create a profile of another service. For example, a profile may specify that the Web server (software) should be deployed on the Layer 1 servers, that application servers (software) be deployed on the Layer 2 servers, and that a database be on Layer 3 servers should be used, and so on. In these profiles, the application code to be used in the application servers may depend on other services (for example, a logging service).
The various deployment architectures in a data center or cloud computing environment have many common resource types, such as servers, load balancers, operating systems, etc. To allow a single management system to understand multiple deployment architectures, the common resource type definitions between profiles are reused. This is done by structuring the information model into two layers, as in 10 shown, done. The basic module 1002 provides the definitions for common resource types, such as servers, operating systems, etc., while the top layer provides the definitions for resource and service types that apply to a particular service, such as trading 1004 , Messaging Services 1006 , Search 1008 , Payment 1010 and Web publishing 1012 are specific. Then, a profile is built up by the service and resource types along with the types in the base module 1002 be incorporated into a particular domain.
When a service is to be deployed, its deployment configuration is specified in terms of the number and type of resources, configuration parameters of resources individually or by type, and then appropriate resource instances are determined and assigned. This allows the management system to automate deployment and other lifecycle management tasks. In the context of the present invention, such information is captured in a specification called an application topology (hereafter referred to as a topology). A topology is a realization of a profile. The specification of a topology proceeds in two stages - logical and physical. A logical topology specifies abstract types of resources and their widths (for example, 10 blade servers), and a physical topology specifies both the specific resource types and their specific instances (for example, IBM LS 20 Blade Servers with Attachments). ID 54321 abcde).
The management system manages services that correspond to different profiles, allows the introduction of new profiles, and therefore manages new services as a data center or cloud computing environment evolves. Furthermore, it does so without modifying the subsystems of the management system or reusing the management system or restarting a running management system. These goals can be achieved by providing a generic service manager, a meta-model, and a plug-in framework.
A service manager is responsible for completing the lifecycle and service level management of a service. Examples of lifecycle operations include deployment, configuration, startup, activation, updating, etc., and these operations may be performed as a whole for the service or for specific or grouped resources used by the service. Each instance of a service manager can manage multiple service instances that match the same profile. This specificity is in the controls that are specific to an abstract resource type (for example, load balancers) and in the adapters that are specific to a specific resource type (for example, Citrix NetScaler Load Balancer). When the service is first deployed, the service manager parses the topology and dynamically loads the appropriate controllers and associated adapters for each unique service and resource specified.
Each controller in a service manager manages multiple instances of the same service or resource type because it is defined per abstract type. For example, a single load balancing controller is used to manage all load balancers in the service regardless of the particular make or model of load balancer used. Adapters are specific to specific types (eg, a particular make or model) and translate generic commands to commands specific to the implementation. For example, there is a NetScaler load balancer adapter, a F5 BigIP load balancer adapter, and so on. As such, to introduce support for a Zeus load balancer, only its adapter is provided. To introduce a new type, for example, an SSL accelerator, its controller, and adapters are provided for the specific types (eg, an adapter for the Coyote Point SSL accelerator). The above examples are hardware specific, but the concept is also applicable to software types.
The information items that correspond to different resource and service types and the associated management semantics are restricted to the controllers and adapters within a service manager. The rest of the management system (including service manager components other than controllers and adapters) operates at a higher level of abstraction of the information model. This abstraction is referred to as a metamodel. Because the subsystems work at the level of the metamodel, they are not affected by the changes made in an existing profile or by the introduction of a new profile, as long as the profit matches the metamodel. Thus, using a meta-model allows the management of new services whose profiles may possibly contain new model elements (eg, a new type, such as an SSL accelerator).
The meta-model defines the following eight meta-objects: service, resource, part, configuration, performance, capability, group, and application data. A resource meta object also has subtypes. The meta-model also specifies the relationships between these meta-objects. Each type in a profile is classified as one of the metaobjects (ie, subtyped). For example, each resource in a profile is subtyped as one of the resource subtypes in the meta-model. As a concrete example, load balancers, switches, routers, firewalls are subtyped by a network element which, in turn, is subtyped by the hardware resource. The hardware resource is itself from a Resource subtyped. To introduce a new functional unit, for example an SSL accelerator, the new functional unit may be derived from a network element (which by generalization also makes it a hardware resource and a resource).
The meta-model can be seen as a model for creating profiles. A user or domain expert (for example, an application architect) who wishes to introduce management capabilities for a new service can review the model store and select from the available resource types and (if needed) create specific new resource or service types for that domain. The newly created types are subclassified by the existing meta objects or subtypes. Next, the domain expert can generate the appropriate relationships and widths between the various service and resource types, thereby creating a new profit. This profile can then be versioned and stored in the management system.
In order for the management system to use configuration, cardinality, resource binding, and relationship information as specified in the topology, the management system internally generates a programmatic representation of the types. This is done by creating class definitions from the profit. If a topology is specified as an input, the management system can generate the corresponding objects from which the said information can be obtained. In an example implementation, the profile may be represented by an XML schema and the topology by an XML instance document. Then, using a JAXB framework, the Java class representations can be generated, and at runtime, the topology can be parsed to produce the corresponding Java objects.
A plug-in framework is provided to allow the management system to dynamically load capabilities to load new services with possibly new deployment architectures. In particular, the plug-in framework allows bundling of class representations of the model elements in the profile and the corresponding controls and adapters as needed in a library. The library thus created is referred to as a plug-in and is stored in the management system using the plug-in framework. The classes and plug-ins are versioned to prevent dynamic class / library load errors. The plug-in framework maintains a mapping between the 2-tuple [profile name, profile version] and the 2-tuple [plug-in name, plug-in version]. When a service is to be deployed, the service manager inspects the topology metadata, storing the associated profile name and version number. Using this information, the service manager determines the appropriate plug-in with the correct version and dynamically loads it into its address space using the available voice and operating system devices. All this is done without re-using the management system or having to restart the current management system. Further, no subsystem modifications need to be made since the remainder of the system operates at the level of the metamodel. Thus, extensibility is achieved using a generic service manager, a meta-model, and a plug-in framework.
As an example, instead of developing their own management system to manage the search infrastructure (consisting of multiple services and resources), the search domain expert (or "search team") can provide the basic structure capabilities of the extensible model (monitoring, configuration management, resource management, etc.) Take advantage and add only those parts that are specific to the search domain. In particular, the search team may build its profiles by reusing the definitions of the server, the load balancer, the operating system, etc., and introduce new elements, for example a query node (a software resource). The search team can do its profile (s) according to the meta-model. For new types, the search team can write the relevant controllers and adapters. The search team can create a suitable plug-in that packages the class definitions of the model elements in the profile and packages the relevant controls and adapters as needed. The plug-in can then be versioned and stored in the management system and loaded dynamically if the corresponding service is to be used.
1 is a block diagram 100 an example infrastructure environment, such as a data center, and is called relationships between services 170 , Resources 180 and comprising a management system. The services 170 can, for example, search services 175A , Marketplace Services 175B Version 3, management services 175C Marketplace Services 175D Version 4, messaging services 175E and any other service 175N that uses and manages resources. The resources 180 can for example computer resources 185A , Memory resources 185B , Operating system resources 185C , VLAN resources 185D , Network Resources 185E , IP address resources 185F , Application resources 185G and every other resource 185N which the services 170 can use include. In an example embodiment the management system 110 an operating life cycle management (OLCM) engine 120 among other things the services 170 such that they use resources that come from the resources 180 are selected. In an example embodiment, the management system includes 110 also a service level management (SLM) machine 150 among other things the services 170 and the resources 180 to monitor and at least one of the resources 180 assign dynamically, so that each of the services 170 maintains a specific service level as defined by Key Performance Indicators (KPIs), such as mean response time or throughput.
In an example embodiment, the services are 170 and the resources 180 with the management system 100 coupled so that the management system 110 the services 170 and the resources 180 using the OLCM machine 120 and the SLM machine 150 can manage. In an example embodiment, one of the services 170 and one or more of the resources 180 coupled so that one or more of the resources 180 one of the services 170 assigned or one of the services 170 such that it contains one or more of the resources 180 used.
2 is a block diagram of the management system 102 according to various embodiments. The management system 102 includes an optional profile generator 202 , one or more service managers 204 , a microkernel 210 , a distributor 212 , a configuration manager 214 , a deployment manager 216 , a resource manager 218 and a lock manager 220 , The management system 102 Provides operational cycle life management, dynamic resource allocation and service level management capabilities to the managed services and constituent resources.
Now referring to 9 is an example profiler 202 displayed. The profile generator receives one or more inputs from a user 902 (for example, a domain expert) and access the model bin 904 to. The model shelf 904 stores models and meta-models of services and resources. The user 902 uses, as appropriate, model elements from the model shelf 904 again for the deployment architecture of the service type just created. When new model elements need to be created, the user generates 902 their definitions in the tool. Further, each newly created model element is subclassified by a metaobject or by one of the resource subtypes, as appropriate. Dependencies and parent-child relationships between the model elements can be created as needed. If there are dependencies between the target profile and other profiles (that is, the target service type depends on another service type), such dependencies can also be generated. In an example embodiment, the deployment architecture model may be created in UML, and then the UML representation may be transformed into an XML schema representation. Then, the XML schema can be compiled using JAXB to produce the Java class representations. Once the profile is created, it is exported by the tool and versioned and stored in the management system.
When a new service instance is created and deployed, the user (for example, an operations architect) uses a topology editor to generate the topology. The topology thus created is a logical topology. A logical topology specifies abstract resource types (eg, "server,""loadbalancer,""switch," etc.) and how many (eg, thickness) of resources are to be used. Then, in a two-step process - which connects the abstract resource type to a specific resource type (eg, "NetScaler Load Balancer", "Cisco 3550 Switch", "LS20 Server", etc.) and then connects to an actual resource instance, resource bindings for the resource generated abstract resource. This results in the generation of a physical topology. In some cases, the management system 102 Conveniently connect the concrete resource type to an actual resource instance when the service is deployed.
The service manager 204 manages service and constituent resources according to the profiles within the data center 104 or the cloud computing environment 106 , In particular, the service manager 204 Service Level Management (SLM) and Operational Life Cycle Management (OLCM) for the service and constituent resources. Based on the physical topology, the service manager begins, manages and / or terminates 204 execution by the actual resources in the data center 104 and / or the cloud computing environment 106 to provide the service.
The service manager 204 includes a controller 206 that is specific to a service or resource type. He is responsible for the overall lifecycle and service level management of all service / resource instances under their control. Every service manager 204 as such, more than one controller 206 for services that consume more than one resource type.
The service manager 204 also includes adapters 208 which involves an implementation of commands issued by the controller 206 be received, on the species' own Commands that are executable by the particular resource instance (s). The control 206 can apply to any specific resource type on a given adapter 208 access. A single adapter can be used to communicate with more than one instance of the same specific resource type.
The microkernel 210 provides the lifecycle and service level management for each subsystem (e.g., the service manager 204 , the distributor 212 , the configuration manager 214 , the deployment manager 216 , the resource manager 218 and the lock manager 220 ) ready. It also provides the service registration capability and service lock capability to register and lock subsystem service endpoints, respectively.
The distributor 212 serves as an entry point into the management system 102 , It receives all client requests, determined by looking in the microkernel 210 the subsystem to which the request is directed and then send the request to the target subsystem. It also provides user authentication and authorization for the management system 102 ready and create and maintain user sessions. User authentication can be sent to another server by the management system 102 is different, to be delegated. The user privilege may be internally performed based on the roles and rights of a particular user. After the successful authentication and authorization, a user session is created and the session persists until a period of time has elapsed or when the user logs off.
The configuration manager 214 may store / access existing profiles and / or their corresponding topologies (eg, logical or physical) stored in a configuration store. In some cases, the configuration store may be implemented using relational database management (RDBMS) or may be a configuration management database (CMDB).
The configuration manager 214 can work at the level of the metamodel rather than at the level of the model elements in the profiles to maintain independence from individual deployment architectures / models. The configuration manager 214 can translate the topology (stored as an XML document, for example) based on the corresponding metabase objects in relational database tables. The configuration manager 214 can also create and maintain version vectors for the profiles, topologies (both logical and physical), and individual objects within the topology, to the management system 102 to allow a service to be reset or prioritized to an earlier (or later) version of its deployed topology. The configuration manager 214 Additionally, you can check the deployed configurations and make sure that there is no configuration mismatch in the resources. If a configuration deviation is detected, the relevant service manager 204 appropriate corrective action to the affected resource.
The deployment manager 216 is responsible for the use of resources including an operating system, an application stack (eg Java Virtual Machine (JVM), Servlet Container) and application code for computing elements (eg servers). Because a variety of specialized products and tools may be available, the Deployment Manager provides 216 a service layer ready to use these products and tools using adapters 218 to abstract. Examples of such tools include, but are not limited to, Symantec's Altiris for OS deployment and eBay's TurboRoller for application stack and code deployment.
The resource manager 218 is responsible for reserving and allocating actual concrete resources. Reservations can be rented, meaning that reservations will expire by a certain amount of time unless they are used by a particular user. The reservations may be permanent (or up to a specified maximum duration) by performing a resource allocation based on a service mission command issued by the user (eg, a system administrator). The resource manager 218 can also dynamically allocate resources and periodically schedule resource allocation between services.
The lock manager 220 can work to prevent concurrent access to a shared resource. In some cases resources are shared by different services. If several ministers 204 concurrently accessing a shared resource, there is a possibility that an inconsistency in the configuration of the resource will be created because not all resources enforce or provide serial access. Therefore, an out-of-band synchronization mechanism or a mutual exclusion mechanism can be provided. To access a resource, the service manager receives 204 first a lock from the lock manager 220 and releases the lock after its session with the managed resource is over. Locks are rented, meaning they will expire after a specified period of time. A rent can be extended as needed to a tunable maximum. Locks are reentrant and persistent across reboots.
3 is a flowchart of a method 200 for creating profiles and topologies. Each service (eg messaging or trading, etc.) has its corresponding deployment architecture. The deployment architecture is as described above in one step 302 determined or generated.
However, this architecture is not usable by a software program. This creates a profile that is exploitable by software. The profile will be in one step 304 using the meta-model and existing model library (the library will contain the base module plus possibly other user-contributed model elements that can be reused). New model elements (usually domain-specific) can also be created if required. The profile is then versioned and stored in the management system.
When a new service instance (eg, a new instance of the messaging system) is to be deployed, in one step 306 their (mission) topology based on the parameters provided by the user (e.g., number of servers, configuration parameters, etc.) or strategy. The topology created in this way is a logical topology. The next step is to create resource bindings, as a result of which a physical topology is created. Both the logical and the physical topology are versioned and stored in the management system (more precisely in the configuration manager). The topologies can be generated programmatically visually or by another program using a topology editor. Once all pending releases have been obtained, the physical topology is used (more specifically, it is used by the management system to deploy the service instance).
4 is a hierarchy of objects 400 used to classify resources within a meta-model according to various embodiments. The hierarchy is generally composed of different resource types.
The resource 402 can be classified or subtyped into one or more resource types. These resources are in the present example of the model as a second layer under the resource 402 and include the hardware resource 404 , the IP address 406 , the virtual local area network (VLAN) 406 and the software resource 410 , The meta-model can take into account the additional classification of resources.
The hardware resource 404 and the software resource 410 can be further classified into subtypes in the metmodel. These subtypes are in 4 Shown in the third and fourth layer. These subtypes in 4 should not be limiting in the meta-model. A hardware resource 404 can as a computing element 412 (eg a server, a virtual machine, a computer or a handheld device) or as a network element 414 (eg, a router, load balancer, firewall, etc.) or as a storage element 416 (e.g., a storage device, an optical storage device, a storage network, a network attached storage, etc.) are subtyped. A software resource 410 can as an operating system 418 (eg Windows, Linux, etc.) or as an application 420 (eg browser or word processor) can be subtyped. The application 420 can also act as an application container 422 (eg Java Virtual Machine, Servlet Container) can be subtyped.
5 FIG. 10 is a block diagram to show the composition of hardware and software resources in a meta-model according to some embodiments. Both the hardware resource 404 as well as the software resource 410 have objects that their configuration 502 , Power 504 and ability 506 describe. Information in the configuration object 502 are used to configure the resource instances. A configuration object 502 may itself be composed of child configuration objects (not shown). Information obtained by monitoring performance metrics of the corresponding resource instance becomes the performance object 504 saved. In the ability object 506 Stored information describes the capabilities (eg number of CPUs, memory size, throughput, response time, etc.) of the resource type. They can be used during automated resource allocation by specifying the capabilities required of a resource type and matching them with the capabilities provided by an actual concrete type. Both the hardware resource 404 as well as the software resource 410 can each be from a hardware part 508 (eg network interface card) and a software part 510 (eg a dynamically linked library). Each part may also have an associated capability object (not shown). Some parts can themselves be subdivided (hardware subpart 512 and software subpart 514 ) and so on. One piece of hardware may be with another remote hardware part 516 be connected to a remote hardware resource 518 access. For example, a network connection (hardware part 508 ) on a server (hardware resource 404 ) through an Ethernet cable to another network port (more remote hardware part 516 ) on a network switch (remote hardware resource 518 ).
6 is a block diagram of a model structure 600 that become a group object 602 in a meta-model according to various embodiments. In some cases, resources 604 (eg the hardware resource 404 and the software resource 412 ) and / or parts 606 grouped to allow grouped operations. As examples, servers (which are computing elements) can be grouped into a pool, and contiguous IP addresses can be grouped into a subnet. The grouping can be done via a group object 602 to be provided. Each group can optionally have an associated configuration object 610 and a performance object 608 to have.
7 is a block diagram of a model structure 700 for application data in a meta-model according to various embodiments. The application data 702 can be stored in a file system that is an operating system 418 heard and from the application 420 is cared for or used. Examples of application data 702 include database tables, and those for content include web pages.
8th Figure 13 is a schematic diagram of the machine within which a set of instructions to cause the machine to perform one or more of the methodologies discussed herein may be performed. In alternative embodiments, the machine operates as an independent device or may be connected (eg, networked) with other machines. In a networked deployment, the machine may operate within the performance of a server or client machine in a server-client network environment or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a server computer, a client computer, a personal computer (PC), a set top computer (STB), a personal digital assistant (PDA), a cellular telephone, a web application, a network router, a switch or a bridge, or any Machine capable of executing a set of instructions (sequential or otherwise) specifying actions to be performed by that machine. Further, while only a single machine is illustrated, the term "machine" should be understood to include any collection of machines that individually or collectively execute a set (or sets of instructions) to perform one or more of the methodologies discussed herein.
The sample computer system 800 includes a processor 802 (For example, a central processing unit (CPU), a graphics processing unit (GPU), or both), a main memory 804 and a static memory 806 that over a bus 808 communicate with each other. The computer system 800 may further include a video display unit 810 (eg, a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 800 also includes an alphanumeric input device 812 (eg, a keyboard), a mouse pointer controller 814 (eg, a mouse), a disk drive unit 816 , a signal generating device 818 (eg, a speaker) and a network interface device 820 ,
The disk drive unit 816 includes a machine-readable medium 822 on which one or more sets of instructions (eg software 824 ) which embody one or more of the methodologies or functions described herein. The software 824 can while running through the computer system 800 also completely or at least partially in the main memory 804 and / or in the processor 804 reside, with the main memory 804 and the processor 802 also form machine-readable media.
The software 824 can also via the interface device 820 over a network 826 be sent or received.
While the machine-readable medium 822 In an example embodiment, as a single medium, the term "machine-readable medium" should be understood to include a single medium or multiple media (eg, a centralized or distributed database and / or associated caches and servers) containing the storing one or more sets of instructions. The term "machine-readable medium" is also to be understood to include any medium capable of providing a set of instructions for execution by the machine that causes the machine to perform one or more of the methodologies of the present invention store, encode or transport. The term "machine-readable medium" is thus to be understood to include, but is not limited to, solid-state storage, optical and magnetic media, and carrier wave signals.
Thus, a method and system for managing a variety of domain architectures using a model framework has been described. Although the present invention has been described with reference to specific example embodiments, it will be apparent that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention. Thus, the description and drawings are to be considered in an illustrative rather than a limiting sense.
Some embodiments described herein are used to solve one or more technical problems. For example, some embodiments may facilitate more efficient resource management and reduce the need to re-deploy a system when an architectural domain is added or modified.
The summary of the disclosure is provided to comply with CFR 37 §1.72 (b), which requires a summary that allows the reader to quickly determine the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope of the claims. Furthermore, in the foregoing detailed description, it can be seen that for purposes of streamlining the disclosure, various features are grouped together in a single embodiment. The method of the disclosure is not intended to be construed as an intent that the claimed embodiments require more features than expressly recited in each claim. Rather, as the following claims reflect, the inventive subject matter lies in less than all features of a single disclosed embodiment. Accordingly, the following claims are hereby incorporated into the detailed description, with each claim standing on its own as a single embodiment.
Method, comprising: Defining a profile that corresponds to a deployment architecture, where each profile is defined according to a meta-model, the meta-model comprising: a service object representing a service accessible over a network, and Resource objects representing resources consumed by the service, and Interrelationships between the service and the resources; and Interrelationships between resources, and for every profile using one or more processors, generating a topology based on the profile, wherein the topology comprises the resources to perform a task.
The method of claim 1, wherein the meta-model further comprises configuration objects each associated with a resource object of the resource objects, the configuration objects indicating a configuration associated with the resource object.
The method of claim 1, wherein the meta-model further comprises performance objects respectively associated with the resource object, the performance objects indicating a performance metric of the resource object.
The method of claim 1, wherein the meta-model further comprises capability objects respectively associated with the resource object, the capability objects indicating an ability metric of the resource object.
The method of claim 1, wherein at least a portion of the profiles are defined according to a base architectural domain model and another architectural domain.
The method of claim 1, wherein the service object is associated with another configuration object, another performance object and another capability object.
The method of claim 1, wherein the resource object is a hardware resource or software resource or internet protocol (IP) address or virtual local area network (VLAN) and the hardware and software resource comprises a plurality of sub-objects.
The method of claim 1, wherein the meta-model comprises a group object, wherein the group object determines one or more of the resource objects or one or more of the sub-objects, the group object having an associated performance object and an associated configuration object.
The method of claim 1, further comprising the management of the service specified in the topology, by: Managing a resource of the resources within the topology, the resource corresponding to the resource object, and Manage a physical component corresponding to the resource in the topology based on the resource's profile in the topology.
A system comprising: a management system implemented by one or more processors to access one or more service profiles in a deployment architecture and to generate a topology based on a profile, the profiles being defined according to a meta-model, the meta-model comprising: a service object representing a service of the services, and Resource objects representing resources consumed by at least a portion of the services, and intermediate relationships between the service and the resources; and interrelationships between the resources; and a service manager to manage the service life cycle and service levels of the service, the service corresponding to the mission architecture for which the service manager is configured to dynamically load: a controller to manage a resource resource within the topology, wherein the Resource corresponds to the resource object, and an adapter to translate commands from the controller to an instance of the managed resource.
The system of claim 10, wherein the meta-model further comprises configuration objects each associated with a resource object of the resource objects, the configuration objects indicating a configuration associated with the resource object.
The system of claim 10, wherein the meta-model further comprises performance objects respectively associated with the resource object, the performance objects indicating a performance metric of the resource object.
The system of claim 10, wherein the meta-model further comprises capability objects respectively associated with the resource object, the capability objects indicating an ability metric of the resource object.
The system of claim 10, further comprising a configuration manager for storing the one or more profiles and the topology in a storage device and verifying a configuration of a resource in the topology.
The system of claim 10, further comprising a resource manager for allocating the resources consumed by a service of the services.
The system of claim 10, further comprising a microkernel to generate and control the service manager.
The system of claim 10, wherein the profile is defined according to a base model, wherein the base model comprises the elements that are common across deployment architectures, and further comprises a collection of the elements that are specific only to a given deployment architecture.
The system of claim 17, wherein the meta-model comprises a group object, wherein the group object comprises one or more of the resource objects, the group object having an associated performance object and an associated configuration object.
The system of claim 10, wherein the resource instance is in a data center.
The system of claim 10, wherein the physical component is in a cloud computing environment.
The system of claim 10, wherein the resources comprise a hardware resource and / or a software resource and / or an internet protocol (IP) address and / or a virtual local area network (VLAN).
The system of claim 21, wherein the hardware resources and the software resources further comprise parts.
The system of claim 22, wherein the resources corresponding to the hardware resource include compute elements, network elements, and storage elements.
The system of claim 22, wherein the resources corresponding to the software resource include operating systems and applications.
A computer-readable storage medium having instructions thereon, the instructions being executable by one or more processors to perform a method of managing services over a variety of deployment architectures, the method comprising: Defining a profile for each deployment architecture, where the profile is defined according to a meta-model, comprising the meta-model a service object representing a service of the one or more services, and Resource objects representing resources consumed by the service, and Interrelationships between the service and the resources; and Interrelationships between resources; and for each profile, generating a topology based on the profile using one or more processors, wherein the topology comprises the resources to perform a task.
DE201011003144 2009-07-31 2010-07-30 Extensible basic structure to support various deployment architectures Ceased DE112010003144T5 (en)
US61/230,584 2009-07-31
US12/718,924 US9201557B2 (en) 2009-07-31 2010-03-05 Extensible framework to support different deployment architectures
US12/718,924 2010-03-05
PCT/US2010/044015 WO2011014835A1 (en) 2009-07-31 2010-07-30 Extensible framework to support different deployment architectures
DE112010003144T5 true DE112010003144T5 (en) 2012-07-05
DE201011003144 Ceased DE112010003144T5 (en) 2009-07-31 2010-07-30 Extensible basic structure to support various deployment architectures
US (11) US9329951B2 (en)
WO (3) WO2011014835A1 (en)
ES2614863T3 (en) * 2011-06-17 2017-06-02 Huawei Technologies Co., Ltd. Computer cloud service control and extended management architecture to connect to the network layer
JP6077009B2 (en) 2012-01-27 2017-02-08 エンパイア テクノロジー ディベロップメント エルエルシー Spiral protocol for iterative service level agreement (SLA) execution in cloud migration
WO2014088543A1 (en) * 2012-12-03 2014-06-12 Hewlett-Packard Development Company, L.P. Cloud object
WO2014090488A1 (en) * 2012-12-11 2014-06-19 Deutsche Telekom Ag Computer-implemented method, system and computer program product for deploying an application on a computing resource
CN104253706B (en) * 2013-06-29 2017-10-10 北京新媒传信科技有限公司 The monitoring method and device of a kind of database management platform
WO2015065392A1 (en) * 2013-10-30 2015-05-07 Hewlett-Packard Development Company, L.P. Facilitating autonomous computing within a cloud service
EP3155525A2 (en) * 2014-06-13 2017-04-19 Convida Wireless, LLC Automated service profiling and orchestration
US10148727B2 (en) 2014-12-31 2018-12-04 Vidscale Services, Inc. Methods and systems for an end-to-end solution to deliver content in a network
EP3259894A1 (en) * 2015-02-16 2017-12-27 Telefonaktiebolaget LM Ericsson (publ) Multi-stage defense-aware security modules placement in the cloud
US10411973B2 (en) 2017-03-20 2019-09-10 Red Hat, Inc. Automatic microservice problem detection in enterprise applications
US20190158416A1 (en) * 2017-11-21 2019-05-23 International Business Machines Corporation Automatic diagonal scaling of workloads in a distributed computing environment
US20190268431A1 (en) * 2018-02-27 2019-08-29 Elasticsearch B.V. Management Services for Distributed Computing Architectures Using Rolling Changes
CN1147325A (en) * 1994-02-28 1997-04-09 英国电讯有限公司 Service provision in communications networks
EP1540586A2 (en) * 2002-08-13 2005-06-15 Compagnie IBM France An adaptive management method and system with automatic dependency resolution
CA2520933A1 (en) * 2003-03-31 2004-10-21 System Management Arts, Inc. Method and apparatus for multi-realm system modeling
2010-07-30 DE DE201011003144 patent/DE112010003144T5/en not_active Ceased
2016-03-10 US US15/066,746 patent/US10374978B2/en active Active
2017-08-08 US US15/672,275 patent/US10320709B2/en active Active
2018-11-13 US US16/190,048 patent/US20190253367A1/en active Pending
US10374978B2 (en) 2009-07-31 2019-08-06 Paypal, Inc. System and method to uniformly manage operational life cycles and service levels
US10374978B2 (en) 2019-08-06
US10320709B2 (en) 2019-06-11
US20190253367A1 (en) 2019-08-15
2011-02-03 R163 Identified publications notified
2014-09-05 R016 Response to examination communication
2019-06-26 R002 Refusal decision in examination/registration proceedings
2019-08-13 R003 Refusal decision now final