WO2014031044A1 - Method and node for enabling automatic deployment of resource components - Google Patents

Method and node for enabling automatic deployment of resource components Download PDF

Info

Publication number
WO2014031044A1
WO2014031044A1 PCT/SE2012/050893 SE2012050893W WO2014031044A1 WO 2014031044 A1 WO2014031044 A1 WO 2014031044A1 SE 2012050893 W SE2012050893 W SE 2012050893W WO 2014031044 A1 WO2014031044 A1 WO 2014031044A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
prerequisite
resource
resource component
node
Prior art date
Application number
PCT/SE2012/050893
Other languages
French (fr)
Inventor
Calin Curescu
Dimitri MAZMANOV
Joerg Niemoeller
Konstantinos Vandikas
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Priority to PCT/SE2012/050893 priority Critical patent/WO2014031044A1/en
Publication of WO2014031044A1 publication Critical patent/WO2014031044A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers

Definitions

  • the above method, node and computer program may be configured and implemented according to different optional embodiments.
  • the application request for deployment may be received by the resolution node.
  • the received request may include a description, which is translated into the prerequisite.
  • the prerequisite may comprise at least one dependency with at least one constraint, wherein the at least one dependency and constraint is matched with at least one offer with at least one characteristic.
  • a secondary prerequisite, of the at least one resource component may be determined.
  • the secondary prerequisite of the resource component may be matched with resource components indicated in the resource components record, and at least one resource component from the resource component record may be selected The selected resource component would be one that matches said secondary prerequisite of the resource component.
  • an aggregated performance of all selected resource components may be calculated.
  • the aggregated performance may be determined as being within a limitation, or outside a limitation, i.e. to fulfill a criterion or not.
  • An aggregated specification may be generated, which comprises all the selected resource components.
  • Fig. 4 is a flow chart illustrating an example of a procedure when the suggested solution is used.
  • dependencies and constraints both together express which functional and non-functional requirements that the resource component has.
  • the description of the database component may require the dependency 'operating system' with the constraints 'Linux'. This expresses that the database needs an operating system of type Linux.
  • Fig. 3 illustrates an example of a clustered solution of resolution nodes 100.
  • An idea with shared services is to be able to better utilize computing power.
  • Another advantage is to share costs of expensive resources.
  • Yet another advantage is to provide redundancy and load balancing by distributing an application 1 10 on a plurality of physical data centers. Thereby the application 1 10 may appear as originated from a single point, but may be executed in different locations. The different data centers may not be identical in terms of resource components. Therefore - in an embodiment it may be advantageous with resolution nodes 100 distributed around various data centers.
  • the resolution nodes 100 may further be linked together, such that they may cooperate.
  • one resolution node 100 may aggregate a number of distributed resolution nodes 100. Thereby it may be simpler to deploy applications in a cloud scenario.
  • a next step S250 it may be determined if a selected resource component, in its turn, has a prerequisite. This may also be seen as a

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

A method and a resolution node (100) for enabling automatic deployment of resource components used for execution of an application (110) in a communications system. The method comprises: determining a prerequisite of the application (110),matching the prerequisite of the application (110) with resource components indicated in a resource component record,selecting at least one resource component from the resource component record which matches said prerequisite of the application (110), generating a specification comprising the at least one selected resource component, and providing the specification to an application environment (150), thereby enabling deployment in the application environment (150) of the at least one resource component needed for execution of the application in the communications system.

Description

METHOD AND NODE FOR ENABLING AUTOMATIC DEPLOYMENT OF
RESOURCE COMPONENTS
Technical field
[0001 ] The present disclosure relates generally to a method, node and computer program product for enabling automatic deployment of resource components used for execution of an application in a communications system.
Background
[0002] Today's development in information technology and communication services is moving from local services to shared services. Such shared services may start from sharing the same data center with high security facilities, cooling, redundant electricity supply and redundant bandwidth. Shared services may range over shared computer hardware, shared operating systems, all the way to shared computing power distributed over a number of physical computers. There are a number of similar terms for shared services, such as hosted services, virtualized servers/computing, networked computing and cloud computing.
[0003] Centrally located resources, or distributed resources linked together such that they form a common pool of resources, are typically beneficial from a cost perspective. A few examples of resources which may be suitable to share for the purpose to save costs are; back-up diesel generators, doubled communication links provided from separated and different physical directions, hardware computer equipment, single point for software maintenance and updates instead of potentially many systems to maintain.
[0004] Further, it may be possible to provide shared resources at a central facility, or a networked resource, which might not be possible at a local single installation. An example is where an application may be possible to interwork with a number of different types of database engines. The application may however be optimized for a specific type of database engine. The local installation may have to compromise and use the current available database engine, but in the scenario with shared resources, a number of different database engines may be available, thereby meet requirements of an optimal combination of the application and database.
[0005] However - today's reality limits utilization of shared resources. When, for example, a new software application is to be deployed in a shared environment, typically, a number of resources must be in place before the application can be operational. There must be sufficient disk space, RAM (Random Access Memory), CPU (Central Processing Unit) processing capacity, etc. The application may further require a specific operating system, of a specific version, with specific components, a specific application server, a specific database, or a hardware resource. A hardware resource may be a virtual hardware resource. Further, different kind of data may be needed, such as user data, geographical data, weather data, just to mention a few non-limiting examples. In order for an application to work from an end user perspective, the application must respond within acceptable time. For example, all packages in a video stream must arrive in a correct order and time in order to enable the video stream to be displayed with an acceptable quality. If the application is a business critical solution or a life critical system, the application availability is of high importance for a user.
[0006] It is further a problem for builders and administrators of information and communication systems today, to overview available resources, both in terms of functionality and performance. It is a challenging work to meet functional requirements, acceptable performances, service levels, and balanced with cost constraints. It may further be difficult to overview free and allocated resources, or just to locate the resources in a large distributed system. When a set up around a new application is created there are tools available to automatically set up the environment for the application, but creation of a suitable environment for a new application is a time consuming work, and with the risk of faults created by human error. Summary
[0007] It is an object of the invention to address at least some of the problems and issues outlined above. It is possible to achieve these objects and others by using a method, a resolution node and computer program as defined in the attached independent claims.
[0008] According to one aspect, a method is provided in a resolution node for enabling automatic deployment of resource components used for execution of an application in a communications system. The method comprises determining a prerequisite of the application. The method also comprises matching the prerequisite of the application with resource components indicated in a resource component record. The method also comprises selecting at least one resource component from the resource component record which matches said prerequisite of the application. The method also comprises generating a specification comprising the at least one selected resource component. The method also comprises providing the specification to an application environment, thereby enabling deployment in the application environment of the at least one resource component needed for execution of the application in the communications system.
[0009] An advantage with a method for enabling of deployment of resource components is that resources in a communications system may be better utilized. Another advantage is that time consumption or work load may be reduced, when an application is to be executed in an application environment.
[00010] According to another aspect, a resolution node arrangement is provided, configured to enable automatic deployment of resource components used for execution of an application in a communications system. The node comprises a determination unit configured to determine a prerequisite of the application. The node also comprises a matching unit configured to match the prerequisite of the application with resource components indicated in a resource component record. The node also comprises the matching unit configured to select at least one resource component from the resource component record which matches said prerequisite of the application. The node also comprises a generation unit configured to generate a specification comprising the at least one selected resource component. The node also comprises an output unit configured to provide the specification to an application environment, thereby enabling deployment in the application environment of the at least one resource component needed for execution of the application in the communications system.
[0001 1 ] An advantage with a resolution node for enabling deployment of resource components, is that risk for errors created by human error may be avoided.
[00012] According to another aspect, a computer program, comprising computer readable code means, which when run in a resolution node arrangement configured to enable automatic deployment of resource components causes the resolution node arrangement configured to enable automatic deployment of resource components to perform the corresponding method.
[00013] The above method, node and computer program may be configured and implemented according to different optional embodiments. For example, the application request for deployment may be received by the resolution node.
Further, the received request may include a description, which is translated into the prerequisite. The prerequisite may comprise at least one dependency with at least one constraint, wherein the at least one dependency and constraint is matched with at least one offer with at least one characteristic. Further, a secondary prerequisite, of the at least one resource component, may be determined. The secondary prerequisite of the resource component may be matched with resource components indicated in the resource components record, and at least one resource component from the resource component record may be selected The selected resource component would be one that matches said secondary prerequisite of the resource component. Further, an aggregated performance of all selected resource components may be calculated. The aggregated performance may be determined as being within a limitation, or outside a limitation, i.e. to fulfill a criterion or not. An aggregated specification may be generated, which comprises all the selected resource components. [00014] Further possible features and benefits of this solution will become apparent from the detailed description below.
Brief description of drawings
[00015] The solution will now be described in more detail by means of exemplary embodiments and with reference to the accompanying drawings, in which:
[00016] Fig. 1 a is a communication scenario where the suggested solution may be used.
[00017] Fig. 1 b illustrates an example of a specification.
[00018] Fig 2 is a block diagram illustrating some possible embodiments of a resolution node.
[00019] Fig. 3 is a block diagram illustrating a clustered solution, according to further possible embodiments.
[00020] Fig. 4 is a flow chart illustrating an example of a procedure when the suggested solution is used.
[00021 ] Fig. 5 is a flow chart illustrating an example of a procedure when the suggested solution is used, according to further possible embodiments.
Detailed description
[00022] Briefly described, a solution is provided to facilitate automatic deployment of applications in communications systems. Before deploying an application in a communications system, e.g. a hosted solution with various resources, it is necessary to determine which resources those are necessary for the specific application to execute functionally and perform according to an agreed
performance level. A specific application may require e.g. a specific type and version of an operating system. In order to deliver e.g. a media stream according to an agreed quality level, a certain transportation protocol and bandwidth may be required. In a telephony application scenario, the delay between two calling parties may never exceed a certain limit, in order to deliver an acceptable speech quality. However - in a large scale communication system, it may be a complex task to identify suitable resources for the application, that fulfill functional and
performance needs, but which do not provide more e.g. capacity than necessary.
[00023] By determination of a prerequisite of the application to be deployed, it may be possible to match the prerequisite of the application with resource components available in the communication system. The components may be collected in a database. Then, the resource component matching the application prerequisite best, may be selected. If the application has multiple prerequisites, the matching may proceed, until all application prerequisites are fulfilled. The resource component in turn, may have a prerequisite, for execution of the resource component, which may have to be fulfilled before the application can be executed. Then, the process of matching prerequisites of the application may continue iterative until all prerequisites are fulfilled. The result of the resolution process is a specification of which resource components that should be in place, before execution of the application. The specification may be provided e.g. as an input to an application environment, suitable for execution of applications, such that the application environment may set up the correct environment for the application.
[00024] Fig. 1 a shows a resolution node 100 with a determination unit 120 and a database 130, for resolution of suitable resource components for an application 1 10. The application 1 10 may be arranged in an application environment 150. The output from the resolution node 100 is a specification 140.
[00025] The resolution node 100 is arranged to receive a request from an application 1 10, or a request which precedes at least a potential deployment of an application 1 10, or a request from an application environment 150. The term deployment may also include the meaning of allocation, assignment, or provisioning. The request includes a prerequisite of the application 1 10. The prerequisite may include a name or id of the application. The prerequisite may include an offer, such as an offer of some kind of functionality, provided by the application 1 10. The prerequisite may include a characteristic of the application 1 10. A non-limiting example of a characteristic is: soft switch providing a certain throughput e.g. 200 calls per second. The prerequisite may include a dependency. Such a dependency may describe what an application 1 10 may require for desired execution. Non-limiting examples are a certain type of application execution environment or a specific database. In an embodiment there are pluralities of dependencies in a prerequisite. The prerequisite may include a constraint. A constraint may describe a minimum performance required for the application to be able to execute, such as a minimal acceptable performance, minimum allowed CPU (Central Processing Unit) clock cycles, minimum allowed bandwidth, etc.
[00026] The resolution node 100 comprises the determination unit 120, arranged to determine which resource component that is needed for an application 1 10. The determination unit 120 uses resource components indicated in a record, i.e. a resource component record to match the application 1 10 prerequisite with at least one suitable resource component. In an embodiment, the resource component record is held in a database 130. Such a database may be a plain text database, an SQL-database (Structured Query Language), a relational database, not limiting other types of databases to be used. When the determination unit 120 has matched the at least one resource component with the application 1 10
prerequisite, the determination unit 120 is arranged to generate the specification 140.
[00027] The specification 140 may be a structure, such as a tree structure, a hierarchical structure, tree-like graph, a vertical stack or horizontal stack, or a combination thereof. The specification 140 may be formatted in different ways, non-limiting examples are: plain text, table structure, implemented in a computer readable script, hexadecimal format, binary format, or other suitable formats for a specification 140. The specification 140 may be readable by general computers or dedicated machines for interpretation of specifications.. The specification 140 may be suitable for setting up the infrastructure for the application 1 10. An example is by provision of the specification 140 to the application environment 150.
[00028] Fig. 1 b illustrates an example of a specification 140. This particular example shows a tree structure. However, the structures or formats of the specification 140 are not limited to being a tree structure. In the example in figure 1 b, an application 1 10 may be in the top of the tree structure. In this example the application 1 10 may have a prerequisite including two branches of resource components, for example resource component A "virtual environment", and resource component D "database". The resource component A "virtual
environment" may have a prerequisite of resource component B "operating system". The resource component B "operating system X" may have the prerequisite resource component C "computer hardware X". The resource component D "database" may have a prerequisite with two branches. One branch with resource component E "operating system Y". The resource component E "operating system Y" may have the prerequisite resource component F "computer hardware Y". The other branch of the resource component D "database" may be resource component G "bandwidth". The resource component G "bandwidth" may have the prerequisite resource component H "optical link". According to this example, each prerequisite may be matched with at least one resource
component, who all together builds a tree structure.
[00029] In an embodiment the application 1 10 is intended for execution on an application environment 150. Such application environment 150 may be exclusively intended for a particular application 1 10. The application environment 150 may be intended for execution of a plurality of different the applications, and the application environment 150 may also have a variety of resources for facilitating execution of applications.
[00030] Fig. 2 shows optional units in a resolution node 100. A receiving unit 150 for reception of requests from applications 1 10. A translation unit 160, a matching unit 170, a calculation unit 180, and a generation unit 190, are shown in the figure to provide optional functions in a resolution node 100. Further, a processor "P" 250 and a memory "M" 260 are shown, for operation of computer program code.
[00031 ] In an embodiment, the receiving unit 150 is arranged to receive requests. Such requests may originate from an application 1 10, or an application
environment 150. The receiving unit 150 may handle different sources of requests as well as various formats of the requests. The requests may be carried on
TCP/UDP/IP (Transfer Control Protocol/User Datagram Protocol/Internet
Protocol), or similar suitable network protocols, and on top an application protocol such as e-mail, http (Hypertext Transfer protocol), https (http secure), SOAP (Simple Object Access Protocol). Further, the receiving unit 150 may perform various security checks and unify any variations of requests formats to a common internal format within the resolution node 100.
[00032] In an embodiment, applications such as application 1 10 and resource components are represented by a description. The description or part of the description may form the prerequisite. Applications and resource components may collectively also be denoted "technical assets". This description may contain dependencies, constraints, offers and characteristics of the asset. A technical asset may be each component in a shared service, for example a cloud
deployment. Non-limiting examples of technical assets are: a virtual machine, an operating system, an application server, a database, a network link, or any kind of virtual and potentially also real hardware and software being used.
[00033] In an embodiment the prerequisite is specified by at least one
dependency with at least one constraint, wherein the at least one dependency and constraint is matched with at least one offer with at least one characteristic. A prerequisite may be specified by one dependency with a plurality of constraints, or a plurality of dependencies may be specified with a plurality of constraints. Each dependency is supposed to be matched with an offer.
[00034] The offer, indicated by a resource component, may describe what a component may offer in terms of functionally and service or performance. The characteristics provide the details per offer. For example, a database may offer the abstract property of 'data'. A virtual machine may offer 'processing'. The characteristics provide more functional and service or performance details about this offering. For example the database may have and offer the characteristic 'query language=SQL'. The virtual machine may offer in its characteristics
'processing capacity=10MIPS' (MIPS: Million Instructions per Second) and
'price=10EUR/h'.
[00035] The description of each resource component may also contain
dependencies and constraints. Dependencies and constraints both together express which functional and non-functional requirements that the resource component has. For example, the description of the database component may require the dependency 'operating system' with the constraints 'Linux'. This expresses that the database needs an operating system of type Linux.
[00036] The matching unit 170 is arranged to try to satisfy all constraints and dependencies, starting from an application, with the offers and characteristics of other resource components. In an embodiment, the matching is recursive, i.e. the matching may be repeated until all constrains and dependencies are fulfilled. When the matching unit 170 has completed the matching, the generation unit 190 may create the specification as a result. An example of the specification is shown in Fig. 1 b.
[00037] Artifacts may be linked to the descriptions of resource components. If the resource component, for example, is a software program, the artifacts needed are the executables of the program, and probably some configuration and setup scripts. By use of the artifacts, the deployment may be automatic, for example when providing the specification 140 to the applications node 150.
[00038] Fig. 2 also shows the calculation unit 180, which is arranged to perform calculations. Such calculations may include, but is not limited to: over all calculation of performance, calculation of an aggregated delay, calculation of an economical cost for the aggregate of resource components, based on all involved resource components. The calculation unit 180 may be consulted by the matching unit 170, as a part of the matching, to ensure that a shared service may perform according to a required service level, according to an application request. Another example of a task for the calculation unit 180 is to provide calculations of various parameters, and integrate the result with the specification 140. The different units within the resolution node 100, may be arranged or configured in different ways, where the structure shown in Fig. 2 is a non-limiting example.
[00039] The functional units 120, 130, 150, 160, 170, 180, 190, 200 described above may be implemented in the resolution node 100, by means of program modules of a respective computer program comprising code means which, when run by processor "P" 250 causes the resolution node 100 to perform the above- described actions. The processor P 250 may comprise a single Central Processing Unit (CPU), or could comprise two or more processing units. For example, the processor P 250 may include general purpose microprocessors, instruction set processors and/or related chips sets and/or special purpose microprocessors such as Application Specific Integrated Circuits (ASICs). The processor P 250 may also comprise a storage for caching purposes.
[00040] Each computer program may be carried by computer program products "M" 260 in the resolution node 100, shown in Fig. 2, in the form of memories having a computer readable medium and being connected to the processor P. Each computer program product M 260 or memory thus comprises a computer readable medium on which the computer program is stored e.g. in the form of computer program modules "m". For example, the memories M 260 may be a flash memory, a Random-Access Memory (RAM), a Read-Only Memory (ROM) or an Electrically Erasable Programmable ROM (EEPROM), and the program modules m could in alternative embodiments be distributed on different computer program products in the form of memories within the resolution node 100.
[00041 ] Fig. 3 illustrates an example of a clustered solution of resolution nodes 100. An idea with shared services is to be able to better utilize computing power. Another advantage is to share costs of expensive resources. Yet another advantage is to provide redundancy and load balancing by distributing an application 1 10 on a plurality of physical data centers. Thereby the application 1 10 may appear as originated from a single point, but may be executed in different locations. The different data centers may not be identical in terms of resource components. Therefore - in an embodiment it may be advantageous with resolution nodes 100 distributed around various data centers. The resolution nodes 100 may further be linked together, such that they may cooperate. In an embodiment one resolution node 100 may aggregate a number of distributed resolution nodes 100. Thereby it may be simpler to deploy applications in a cloud scenario.
[00042] Now, a procedure in a resolution node, such as the resolution node 100 will be described, with reference to Fig. 4. In a step S100, an application dependency is determined. The dependence is determined by the application prerequisite. In step S110 the determined application prerequisite is matched with resource components indicated in a record, which may be stored in a database. In step S120 the most suitable resource component matching the application prerequisite is selected. The selection is, for example, based on a functional prerequisite, performance and service level prerequisite and potentially also an economical prerequisite. In step S130 a specification is generated, including the in the previous step selected resource component. In a final step S140, the generated specification is provided to an application environment. Thereby is the application environment enabled to deploy the resource component, needed for execution of the application.
[00043] Fig. 5 shows a flow chart illustrating an example of a procedure when the herein suggested solution is used. A possible first step S200 may be the reception of the application request for deployment. Such a request may include an order for deployment in a shared service, like a hosted environment, a cloud, in a shared data center or similar. The request may be received directly to a resolution node, or via an application environment. In a next step S210 the description, is translated to the prerequisite for the particular application. In a next step S220 the at least one dependency of the application is determined. An application may have a plurality of dependencies, such as an operating system, a database, external bandwidth, as previously described in relation to Fig. 2. The dependency is optionally specified by at least one constraint. In a next step S230, the
prerequisite, including the at least one dependency of the application, is matched with resource components indicated in the record. In an embodiment, according to a large scale scenario, the matching procedure may continue if a match not is found in the record. The matching procedure may then continue in another resolution node with matching with other records, such as exemplified in Fig. 3.
[00044] In a next step S240, at least one matching resource component is selected. Thus, the at least one resource component has an offer with a
characteristic which fulfill the prerequisite of the application.
[00045] In a step S250 it may be determined if the prerequisite includes multiple dependencies. If so the matching procedure may for example be repeated from step S220, as a recursive process.
[00046] In a next step S250, it may be determined if a selected resource component, in its turn, has a prerequisite. This may also be seen as a
subordinated prerequisite. A resource component's prerequisite may be denoted "secondary prerequisite". A resource component's prerequisite may alternatively be denoted "sub ordinate prerequisite", or similar suitable terms. If it is determined that the resource component does not have any secondary prerequisite, the procedure may continue to the next step. However, if it is determined that the resource component has a prerequisite, the procedure may be repeated from step S220 in order to match the resource component's prerequisite with offers of other resource components indicated in the record. This explains why a tree structure is an advantageous way of describing a content of a specification, such as the specification 140. In a case where an application is dependent of multiple resource components, the resource components may in turn have multiple dependencies. With other words, dependencies with constraints may be fulfilled by offers with characteristics by a recursive process. From the starting point of the application, there may be a plurality of splits until all dependencies are fulfilled. At that point the procedure may not need to be repeated any further.
[00047] In a step S270, various calculations may be performed. Such calculations may be basis for determination if an aggregated performance is within a limitation, or outside a limitation, i.e. fulfills a predefined criterion, or not. Such calculation may also be basis for determination if a required service level is within, or outside, a limitation.
[00048] If the result of a calculation shows that, for example, an aggregated performance is outside a limitation, it may in step S280 be determined that at least one resource component needs to be replaced. In such a case the procedure may start over from for example step S220. If it is determined that the result of a calculation falls within required limits, the procedure may continue to a next step S290. In the step S290, a specification may be generated, comprising/indicating the application and resource components required for deployment of the application. When the specification is generated, the specification may in a final step S300, be provided to an application environment. Thereby, the application environment may, such as an application environment shown in Fig. 1 a, be enabled to deploy the application.
[00049] While the suggested solution has been described with reference to specific exemplary embodiments, the description is generally only intended to illustrate the inventive concept and should not be taken as limiting the scope of the solution. For example, the terms "resource component", "prerequisite" and
"resolution node" have been used throughout this description, although any other corresponding nodes, functions, and/or parameters could also be used having the features and characteristics described here. The solution is defined by the appended claims.

Claims

1 . A method in a resolution node (100) for enabling automatic deployment of resource components used for execution of an application (1 10) in a
communications system, the method comprising:
- determining (S100) a prerequisite of the application (1 10),
- matching (S1 10) the prerequisite of the application (1 10) with resource components indicated in a resource component record,
- selecting (S120) at least one resource component from the resource component record which matches said prerequisite of the application (1 10),
- generating (S130) a specification comprising the at least one selected resource component, and
- providing (S140) the specification to an application environment (150), thereby enabling deployment in the application environment (150) of the at least one resource component needed for execution of the application in the
communications system.
2. The method according to claim 1 , further comprising: -receiving a request for deployment of the application, wherein
- the application request for deployment is received to the resolution node.]
3. The method according to claim 2, further comprising:
-deriving the prerequisite from a description comprised in the received request, wherein - the received request includes the description which is translated into the prerequisite by a translation unit (160).
4. The method according to any of claims 1 - 3, wherein
- the prerequisite is specified by at least one dependency with at least one constraint, wherein
- the at least one dependency and constraint is matched with at least one offer with at least one characteristic.
5. The method according to any of claims 1 - 4, wherein
- a secondary prerequisite of the at least one resource component is determined.
6. The method according to any of claims 1 - 5, wherein
- the secondary prerequisite of the resource component is matched with resource components indicated in the resource component record; and wherein
- at least one resource component is selected which matches said secondary prerequisite of the resource component.
7. The method according to any of claims 1 - 6, wherein
- an aggregated performance of all selected resource components is calculated.
8. The method according to any of claims 1 - 7, further comprising: -determining whether the aggregated performance fulfills a criterion, wherein
- the aggregated performance is determined as within a limitation, or outside a limitation determined by the application (1 10) prerequisite.
9. The method according to any of claims 1 - 8, wherein
- an aggregated specification is generated comprising all the selected resource components.
10. A resolution node (100) arrangement configured to enable automatic deployment of resource components used for execution of an application (1 10) in a communications system, the node comprising:
- a determination unit (120) configured to determine a prerequisite of the application (1 10),
- a matching unit (170) configured to match the prerequisite of the application (1 10) with resource components indicated in a resource component record,
- the matching unit (170) configured to select at least one resource component from the resource component record which matches said prerequisite of the application (1 10),
- a generation unit (190) configured to generate a specification comprising the at least one selected resource component, and
- an output unit (200) configured to provide the specification to an application environment (150), thereby enabling deployment in the application environment (150) of the at least one resource component needed for execution of the application in the communications system.
1 1 . The node according to claim 10, wherein the resolution node (100) is configured to receive a request for deployment of the application, wherein
- the application request for deployment is received to the resolution node by a receive unit (150).
12. The node according to claim 1 1 , wherein the resolution node (100) is configured to derivate the prerequisite from a description comprised in the received request, wherein
- the received request includes a description which is translated into the prerequisite.
13. The node according to any of claims 10 - 12, wherein
- the prerequisite is specified by at least one dependency with at least one constraint, wherein
- the at least one dependency and constraint is matched with at least one offer with at least one characteristic.
14. The node according to any of claims 10 - 13, wherein
- a secondary prerequisite of the at least one resource component is determined.
15. The node according to any of claims 10 - 14, wherein
- the secondary prerequisite of the resource component is matched with resource components indicated in the resource component record, and wherein
- at least one resource component is selected which matches said secondary prerequisite of the resource component.
16. The node according to any of claims 10 - 15, wherein
- an aggregated performance of all selected resource components is calculated by a calculation unit (180).
17. The node according to any of claims 10 - 16, wherein the resolution node (100) is configured to determine whether the aggregated performance fulfills a criterion, wherein
- the aggregated performance is determined as within a limitation, or outside a limitation determined by the application (1 10) prerequisite.
18. The node according to any of claims 10 - 17, wherein
- an aggregated specification is generated comprising all the selected resource components by the generation unit (190).
19. A computer program, comprising computer readable code means, which when run in a resolution node arrangement configured to enable automatic deployment of resource components according to any of the claims 10-18, causes the resolution node arrangement configured to enable automatic deployment of resource components to perform the corresponding method according to any of the claims 1 - 9.
20. A computer program product, comprising a computer readable medium and a computer program according to claim 19, wherein the computer program is stored on the computer readable medium.
PCT/SE2012/050893 2012-08-23 2012-08-23 Method and node for enabling automatic deployment of resource components WO2014031044A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/SE2012/050893 WO2014031044A1 (en) 2012-08-23 2012-08-23 Method and node for enabling automatic deployment of resource components

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SE2012/050893 WO2014031044A1 (en) 2012-08-23 2012-08-23 Method and node for enabling automatic deployment of resource components

Publications (1)

Publication Number Publication Date
WO2014031044A1 true WO2014031044A1 (en) 2014-02-27

Family

ID=46875939

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SE2012/050893 WO2014031044A1 (en) 2012-08-23 2012-08-23 Method and node for enabling automatic deployment of resource components

Country Status (1)

Country Link
WO (1) WO2014031044A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10339148B2 (en) 2016-07-27 2019-07-02 Microsoft Technology Licensing, Llc Cross-platform computer application query categories
US10346457B2 (en) 2016-07-27 2019-07-09 Microsoft Technology Licensing, Llc Platform support clusters from computer application metadata
US10387435B2 (en) 2016-07-27 2019-08-20 Microsoft Technology Licensing, Llc Computer application query suggestions

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030167270A1 (en) * 2000-05-25 2003-09-04 Werme Paul V. Resource allocation decision function for resource management architecture and corresponding programs therefor
US20040177244A1 (en) * 2003-03-05 2004-09-09 Murphy Richard C. System and method for dynamic resource reconfiguration using a dependency graph
US20080244600A1 (en) * 2007-03-30 2008-10-02 Platform Computing Corporation Method and system for modeling and analyzing computing resource requirements of software applications in a shared and distributed computing environment
US20100050172A1 (en) * 2008-08-22 2010-02-25 James Michael Ferris Methods and systems for optimizing resource usage for cloud-based networks
US20110055377A1 (en) * 2009-08-31 2011-03-03 Dehaan Michael Paul Methods and systems for automated migration of cloud processes to external clouds

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030167270A1 (en) * 2000-05-25 2003-09-04 Werme Paul V. Resource allocation decision function for resource management architecture and corresponding programs therefor
US20040177244A1 (en) * 2003-03-05 2004-09-09 Murphy Richard C. System and method for dynamic resource reconfiguration using a dependency graph
US20080244600A1 (en) * 2007-03-30 2008-10-02 Platform Computing Corporation Method and system for modeling and analyzing computing resource requirements of software applications in a shared and distributed computing environment
US20100050172A1 (en) * 2008-08-22 2010-02-25 James Michael Ferris Methods and systems for optimizing resource usage for cloud-based networks
US20110055377A1 (en) * 2009-08-31 2011-03-03 Dehaan Michael Paul Methods and systems for automated migration of cloud processes to external clouds

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10339148B2 (en) 2016-07-27 2019-07-02 Microsoft Technology Licensing, Llc Cross-platform computer application query categories
US10346457B2 (en) 2016-07-27 2019-07-09 Microsoft Technology Licensing, Llc Platform support clusters from computer application metadata
US10387435B2 (en) 2016-07-27 2019-08-20 Microsoft Technology Licensing, Llc Computer application query suggestions

Similar Documents

Publication Publication Date Title
EP3389219B1 (en) Access request conversion method and device
CN111913818B (en) Method for determining dependency relationship between services and related device
CN106371889B (en) Method and device for realizing high-performance cluster system of scheduling mirror image
US8892945B2 (en) Efficient application management in a cloud with failures
CN111327647B (en) Method and device for providing service to outside by container and electronic equipment
JP2019533256A (en) Application link expansion method, apparatus, and system
CN109120614B (en) Service processing method and device based on distributed system
CN107172214B (en) Service node discovery method and device with load balancing function
CN112187958A (en) Method and device for registering, discovering and forwarding microservice
CN103457870A (en) Load-balancing and high-availability sub system used for distribution-type system and method
CN111124589A (en) Service discovery system, method, device and equipment
JP2022540785A (en) Intelligent load balancer
WO2014031044A1 (en) Method and node for enabling automatic deployment of resource components
CN115134373A (en) Data synchronization method and device, storage medium and electronic equipment
CN111352726A (en) Streaming data processing method and device based on containerized micro-service
CN109586970A (en) Resource allocation methods, apparatus and system
US12120205B2 (en) Communication protocol for a distributed event streaming platform
Malik et al. RACS: a framework for resource aware cloud computing
CN116755799A (en) Service arrangement system and method
US10937009B1 (en) Provisioning distributed ledger software
US11595471B1 (en) Method and system for electing a master in a cloud based distributed system using a serverless framework
CN113726638B (en) Method, device and equipment for managing multi-cloud multi-core container and storage medium
CN112380040B (en) Message processing method and device, electronic equipment and storage medium
CN114610732A (en) Bottom-pocketing data processing method and device
CN114862433A (en) Distributed bill processing method and device, storage medium and electronic equipment

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12759837

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12759837

Country of ref document: EP

Kind code of ref document: A1