WO2017169947A1 - 運用装置、通信システムおよび更新方法 - Google Patents
運用装置、通信システムおよび更新方法 Download PDFInfo
- Publication number
- WO2017169947A1 WO2017169947A1 PCT/JP2017/011097 JP2017011097W WO2017169947A1 WO 2017169947 A1 WO2017169947 A1 WO 2017169947A1 JP 2017011097 W JP2017011097 W JP 2017011097W WO 2017169947 A1 WO2017169947 A1 WO 2017169947A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- update
- calculation
- virtual machine
- destination
- calculation resource
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
Definitions
- the present invention relates to an operation device, a communication system, and an update method.
- Non-Patent Document 1 discloses a technique for connecting geographically dispersed data centers by a dedicated line provided by a wide area network. With the technology described in Non-Patent Document 1, it is possible to provide a more flexible and wide range of services to mobile users by connecting a data center with a dedicated line and using it as a single cloud.
- Non-Patent Document 2 discloses Blue-Green Deployment as a method for updating a server on a virtual machine.
- Blue-Green Deployment first, in addition to a virtual machine (Green slice) that operates a network application such as the Web, another virtual machine (Blue slice) that performs a desired update is provided.
- the Blue slice synchronizes the data of the Blue slice with the data of the Green slice.
- the router that transfers traffic to the Green slice switches the traffic transfer destination from the Green slice to the Blue slice. This makes it possible to update software without logically stopping the service. Further, after switching the traffic transfer destination from the Green slice to the Blue slice, the resources used by the Green slice can be used for the next update.
- Non-Patent Document 1 shows a means for determining the best placement location when creating a new virtual machine.
- a delay or bandwidth with an existing virtual machine with which a new virtual machine can communicate is used as a network distance, and the sum of the network distances with the existing virtual machine is minimized. Create a new virtual machine.
- Non-Patent Document 2 In addition, in order to apply the Blue-Green Deployment described in Non-Patent Document 2, two virtual machines are started for one server, so that twice as many computational resources are required. When update work is required for a large number of virtual machines, it is necessary to arrange the same number of computing resources as the virtual machines as surplus resources, resulting in a great cost. In particular, when multiple distributed data centers are used in a single cloud environment, it is not realistic to think that there are plenty of surplus computing resources in terms of the size of the building, power supply capacity, material costs, etc. .
- an object of the present invention is to provide an operation device that can satisfy required delay and bandwidth conditions while suppressing surplus resources when updating a virtual machine. is there.
- An operation apparatus includes an update procedure calculation unit that determines an update procedure for sequentially updating a plurality of virtual machines, and an update that executes an update of the plurality of virtual machines according to the determined update procedure
- the update procedure calculation unit extracts an update destination calculation resource candidate for each of the plurality of virtual machines, and based on the extracted update destination calculation resource candidates, The calculation resource of each virtual machine and the update order of the plurality of virtual machines are determined.
- a communication system includes a computing resource in which a virtual machine is configured, and an operation device that instructs to update the virtual machine, and the operation device updates a plurality of virtual machines in order.
- An update procedure calculation unit that determines an update procedure of the virtual machine, and an update execution unit that executes an update of the plurality of virtual machines in accordance with the determined update procedure.
- Update-destination calculation resource candidates are extracted from the update-destination calculation resource candidates, and the update-destination calculation resource of each of the plurality of virtual machines and the update order of the plurality of virtual machines are extracted based on the extracted update-destination calculation resource candidates It is characterized by determining.
- An update method is an update method for sequentially updating a plurality of virtual machines, and includes extracting a calculation resource candidate for an update destination for each of the plurality of virtual machines, Based on the update destination calculation resource candidates, a step of determining an update destination calculation resource of each of the plurality of virtual machines and an update order of the plurality of virtual machines, and the plurality of virtual machines according to the determined update procedure. Performing an update of the virtual machine.
- the operation device or the like according to an aspect of the present invention can satisfy required delay and bandwidth conditions while suppressing surplus resources when updating a virtual machine.
- FIG. 1 is a communication network configuration example according to the first embodiment of the present invention.
- the communication network includes a node 10, a computing resource 20, an inter-node link 30, a virtual machine 40, and a computing resource link 50.
- the node 10 is a node 10-1 to a node 10-8.
- the hyphen “-” and the subsequent signs (1, 2,%) May be omitted for convenience of explanation.
- the solid line which connects the component elements 10 to 50 in FIG. 1 shows a logical communication or callable relationship
- the implementation form of the component elements 10 to 50 is a configuration or network connected in this shape. It is not limited to.
- the communication network is not limited to the configuration example of FIG. 1, and may have more nodes 10 and inter-node links 30, for example, and may have different connections.
- the node 10 is, for example, a physical or virtual switch or router. Each node 10 relays and controls data transfer, for example.
- the nodes 10 are connected through an inter-node link 30.
- the inter-node link 30 may be a physical link or a virtual link.
- the computing resource 20 is connected to the node 10 (network) via a computing resource link 50.
- the calculation resource link 50 may be a physical link or a virtual link.
- the computing resource 20 includes, for example, a CPU (Central Processing Unit), a RAM (Random Access Memory), and a hard disk.
- the virtual machine 40 is arranged using the computing resource 20.
- the virtual machine 40 communicates between the virtual machines 40 via the calculation resource link 50 and the inter-node link 30.
- FIG. 2 is a configuration example of the operation device 60 in the first embodiment of the present invention.
- the operation device 60 in the first embodiment of the present invention manages the communication network in the first embodiment of the present invention.
- the operation apparatus 60 includes a topology information holding unit 61, a route candidate holding unit 62, a flow information holding unit 63, an update procedure calculation unit 64, and an update execution unit 65.
- the solid line connecting the constituent elements 61 to 65 in FIG. 2 indicates a logical communication or callable relationship, and the implementation of the constituent elements 61 to 65 according to the present invention is connected in this shape. It is not limited to the network.
- the delay times of the inter-node links 30 and the calculation resource links 50 are all 1, but the delay times of the links in the network to which the present invention is applied are different. It does not matter.
- the delay in the node is set to 0. However, if the delay in the node is measured or the communication delay time between virtual machines is measured, the delay time in the node is also determined. Consideration is possible.
- the topology information holding unit 61 holds information related to the connection relationship (topology) between the node 10, the computing resource 20, the inter-node link 30, and the computing resource link 50 in the communication network.
- FIG. 3 is a configuration example of the network topology management table 611 held by the topology information holding unit 61 in the first embodiment of the present invention.
- the node 10-1 and the computing resource 20-1 are connected to the computing resource link 50-1.
- the information stored in the topology information holding unit 61 is not limited to the link ID (IDentifier) or the ID of the node 10 to which the communication link is connected.
- the name of the link the IP (Internet Protocol) address, the MAC (Media)
- An URL Uniform Resource Locator
- TCP Access Control
- TCP Transmission Control Protocol
- the route candidate holding unit 62 holds candidate information on communication paths between the computing resources 20 existing on the topology of the communication network held by the topology information holding unit 61.
- the route candidate holding unit 62 holds one or a plurality of communication route candidates between the computing resources 20 in which the virtual machines 40 can be placed in the topology recorded in the topology information holding unit 61.
- FIG. 4 is a configuration example of the communication route candidate upper node table 621 held by the route candidate holding unit 62 in the first embodiment of the present invention.
- Path candidate 1 for transferring data from the computing resource 20-3 to the computing resource 20-5 passes through the node 10-3, the node 10-4, and the node 10-5.
- Path candidate 2 for transferring data from the computing resource 20-3 to the computing resource 20-5 passes through the node 10-3, the node 10-6, and the node 10-5.
- FIG. 5 is a configuration example of the communication route candidate upper link table 622 held by the route candidate holding unit 62 in the first embodiment of the present invention.
- Path candidate 1 for transferring data from the computing resource 20-1 to the computing resource 20-3 includes the computing resource link 50-1, the inter-node link 30-1, the inter-node link 30-2, and the computing resource link 50-3. Pass through.
- Path candidate 2 for transferring data from the computing resource 20-1 to the computing resource 20-3 includes a computing resource link 50-1, an internode link 30-8, an internode link 30-7, an internode link 30-6, It passes through the inter-node link 30-10 and the calculation resource link 50-3.
- the route candidate holding unit 62 may hold a table described by nodes passing through a route, like the communication route candidate upper node table 621 in FIG. Like the communication path candidate upper link table 622 in FIG. 5, a table described by links passing through a path may be held, or both may be held in a combined form. For example, when there is only one inter-node link 30 between the nodes 10 or when it is not necessary to distinguish the inter-node link 30, only the communication path candidate upper node table 621 in FIG. 4 may be retained.
- the information held by the route candidate holding unit 62 is not limited to the forms described in the communication route candidate upper node table 621 in FIG. 4 and the communication route candidate upper link table 622 in FIG.
- the name of the node through which the node is routed is described in the node table 621 on the communication path candidate in FIG. 4, the IP address or MAC address of the node 10 or an identifier such as a label for specifying such an address may be used. I do not care.
- the communication route candidate upper node table 621 and the communication route candidate upper link table 622 are, for example, Any number of one or more route candidates may be held.
- the flow information holding unit 63 holds information on flows existing on the network topology held by the topology information holding unit 61.
- the flow information holding unit 63 holds information for specifying required communication quality, such as a transmission source, a destination, a requested bandwidth, and a delay upper limit value, for example, regarding the flow.
- FIG. 6 is a configuration example of the flow information table 631 held by the flow information holding unit 63 in the first embodiment of the present invention.
- the flow F801 is transmitted from the virtual machine 40-8 and transferred to the virtual machine 40-1. While being transferred from the virtual machine 40-8 to the virtual machine 40-1, the required bandwidth is 1 and the delay upper limit value is 5.
- the information held by the flow information holding unit 63 is not limited to the form described in the flow information table 631 of FIG.
- the packet information used for specifying the communication flow such as the IP address, MAC address, and port number of the virtual machine 40
- the information for specifying the communication flow is recorded in a table or map other than the flow information table 631 in FIG. .
- the information held by the flow information holding unit 63 may be a bidirectional link or a unidirectional link.
- the information held by the route candidate holding unit 62 can be applied only to the forward direction of the unidirectional link.
- the information held by the flow information holding unit 63 can be applied only to the forward direction of the unidirectional link even when the bidirectional link is expressed as a pair of unidirectional links in the reverse direction.
- the information held by the flow information holding unit 63 is given so that each unidirectional link can be distinguished when the bidirectional link is expressed as a pair of reverse unidirectional links.
- the communication network information held by the topology information holding unit 61, the route candidate holding unit 62, and the flow information holding unit 63 is, for example, NMS (Network Management System), OSS (Operation Support System), or external data file. Is input automatically or manually.
- NMS Network Management System
- OSS Operaation Support System
- external data file Is input automatically or manually.
- the update procedure calculation unit 64 refers to the information held by the topology information holding unit 61, the route candidate holding unit 62, and the flow information holding unit 63, and calculates the update procedure of the virtual machine 40.
- the update procedure calculation unit 64 moves the calculation resource 20 that satisfies the communication requirements of the flow flowing into the virtual machine 40 that is the target of the update work to the destination Consider as a candidate.
- the update procedure calculation unit 64 refers to the flow information holding unit 63 and confirms whether there is a flow flowing into each virtual machine 40 to be updated.
- the update procedure calculation unit 64 refers to the route candidate holding unit 62, and the flow and the transmission source are the same, and the virtual machine 40 to be updated Different destinations are extracted as destination candidates.
- the update procedure calculation unit 64 refers to not only the route candidate holding unit 62 but also the flow information holding unit 63, and sets a destination that is the same as the flow and the transmission source and is different from the virtual machine 40 to be updated. It may be extracted as a destination candidate.
- the update procedure calculation unit 64 refers to, for example, the route candidate holding unit 62 and the flow information holding unit 63, and communication requirements among the routes from the transmission source to the movement destination candidate of the flow flowing into the virtual machine 40 to be updated.
- a path satisfying is extracted as a set C.
- the update procedure calculation unit 64 compares the delay upper limit value of the flow flowing into the virtual machine 40 to be updated with the delay of the route candidate extracted from the route candidate holding unit 62, and the route does not exceed the delay upper limit value. Are extracted as route candidates and set as set C.
- the update procedure calculation unit 64 requires synchronization of data and state between the Green slice and the Blue slice. Are extracted as a set C.
- the update procedure calculation unit 64 calculates, for example, a route that passes through all the calculation resources in which the virtual machine 40 to be updated exists, starting from the calculation resource 20 (free calculation resource) in which the virtual machine 40 is not activated. .
- the update procedure calculation unit 64 uses, for example, a depth-first search method to calculate a route that passes through all the calculation resources in which the virtual machine 40 to be updated is present, starting from a free resource.
- the method of calculating a route that passes through all the calculation resources in which the virtual machine 40 to be updated exists is not limited to the depth-first search method, and other calculation methods may be used.
- the update procedure calculation unit 64 When there are a plurality of free calculation resources, the update procedure calculation unit 64, for example, provides one dummy node as a starting point for path calculation, connects the dummy node and each free calculation resource node by a dummy link, The route calculation described above may be performed starting from the dummy node. For example, the update procedure calculation unit 64 deletes the dummy node and the dummy link portion from the route after the route calculation. As a result, the update procedure calculation unit 64 can calculate a plurality of paths that pass through the virtual machine 40 to be updated, starting from each free calculation resource.
- the update procedure calculation unit 64 transfers the reverse route of the calculated route to the update execution unit 65 as a virtual machine update procedure.
- the update execution unit 65 updates the virtual machine based on the virtual machine update procedure calculated by the update procedure calculation unit 64.
- the update execution unit 65 creates, for example, a Blue slice of the virtual machine 40 to be updated in an empty calculation resource.
- the update execution unit 65 synchronizes the created Blue slice with the status and data of the virtual machine 40 to be updated.
- the update execution unit 65 switches the destination of the flow that has flowed into the virtual machine 40 to be updated to the created Blue slice after completing the synchronization between the Blue slice and the virtual machine 40 to be updated.
- the update execution unit 65 selects a route from the flow transmission source to the Blue slice from the set C.
- the update execution unit 65 may select, for example, the shortest path or the minimum cost path from the flow source to the Blue slice.
- the update execution unit 65 may select a plurality of routes as a route from the flow transmission source to the Blue slice and accommodate the flow by multipath routing.
- the update execution unit 65 is configured so that the flow can be communicated through the route of the selected route candidate before switching the destination of the flow that has flowed into the virtual machine 40 to be updated to the created Blue slice. Control the network.
- This network control is not limited to being executed by the update execution unit 65 of the operation apparatus 60, and may be performed intensively by, for example, an NMS or an OpenFlow controller.
- the operation device 60 may be, for example, an NMS or an OpenFlow controller. Further, this network control may be performed in a distributed manner using RSVP (Resource reServation Protocol) or the like.
- RSVP Resource reServation Protocol
- the update execution unit 65 confirms that the Blue slice is operating normally after switching the destination of the flow flowing into the virtual machine 40 to be updated to the created Blue slice. After confirming that the Blue slice is operating normally, the update execution unit 65 deletes the virtual machine 40 that was the update target.
- the update execution unit 65 executes the update of the new update target virtual machine 40 using the calculation resource 20 which has become a new empty calculation resource. For example, when the update execution unit 65 executes an update of a new update target virtual machine 40, the flow path to be newly set is the flow path used by the virtual machine 40 that existed before. A similar route may be set. For example, if the flow path used by the previously existing virtual machine 40 cannot be reset, the update execution unit 65 deletes the path information and sets a new path.
- the flow source is the single virtual machine 40, but the virtual machine 40 may have a different flow source.
- the flow transmission source in this description may be the external network 70 instead of the virtual machine 40.
- FIG. 7 shows different communication network configuration examples in the first embodiment of the present invention.
- the node 10-8 is connected to the external network 70 via a calculation resource link 50-8.
- the external network 70 is, for example, a physical or virtual switch or router.
- the node 10-8 into which the flow flows from the external network 70 can switch the flow destination.
- FIG. 8 is a flowchart showing an operation example of the update procedure calculation unit 64 in the first embodiment of the present invention.
- the update procedure calculation unit 64 checks whether there is a flow flowing into the virtual machine 40-1 (S101).
- the update procedure calculation unit 64 refers to the flow information held by the flow information holding unit 63 and confirms that the flow F801 is flowing into the virtual machine 40-1 from the calculation resource 20-8.
- the update procedure calculation unit 64 refers to the route candidate holding unit 62 and flows to the update target virtual machine 40 as a destination Is added to the set C (S103).
- the virtual machine 40-1 does not correspond to this case (No in S102).
- the update procedure calculation unit 64 refers to the route candidate holding unit 62, and the transmission source is the calculation resource 20-8, and A route of a flow whose destination is not the virtual machine 40-1 is extracted (S104).
- the update procedure calculation unit 64 refers to the communication path candidate upper node table 621, and determines six paths as flow paths whose transmission source is the calculation resource 20-8 and whose destination is not the virtual machine 40-1. To extract.
- the routes extracted by the update procedure calculation unit 64 are [10-8, 10-1, 10-2, 10-3], [10-8, 10-7, 10-6, 10-3], [10- 8, 10-1, 10-2, 10-3, 10-6, 10-5], [10-8, 10-7, 10-6, 10-5], [10-8, 10-7] , [10-8, 10-1, 10-2, 10-7].
- the update procedure calculation unit 64 may extract a path of a flow whose transmission source is the calculation resource 20-8 and whose destination is not the virtual machine 40-1 with reference to the communication path candidate upper link table 622. .
- the update procedure calculation unit 64 confirms the delay of the extracted flow path (S105).
- the update procedure calculation unit 64 selects the flow path from the path candidate. Remove (S107). If the delay of the extracted flow path is within the delay upper limit value of the flow that originally flowed into the virtual machine 40 to be updated (Yes in S106), the update procedure calculation unit 64 routes the flow path. It adds to the set C as a candidate (S108).
- the update procedure calculation unit 64 extracts a path of a flow that is within the delay upper limit value of the flow F801 that has flowed into the virtual machine 40-1 from the calculation resource 20-8 among the extracted six paths. To do. Since the delay upper limit value of the flow F801 is 5, the update procedure calculation unit 64 calculates [10-8, 10-1, 10-2, 10-3, 10-6, 10-5] with a delay of 7. The five routes that are excluded are extracted. As a result, the update procedure calculation unit 64 extracts the calculation resources 20-3, 20-5, and 20-7 as migration destination candidates for the virtual machine 40-1.
- the update procedure calculation unit 64 compares a specific communication requirement for completing synchronization with the route of the set C (S109). For example, in the first embodiment of the present invention, it is assumed that the synchronization of the virtual machines 40 is possible if the delay between the virtual machines 40 is 4 or less in any of the virtual machine 40 updates.
- the update procedure calculation unit 64 excludes the route of the flow from the set C when the delay with the virtual machine 40-1 among the extracted five route candidates is not 4 or less (No in S110) ( S111).
- the update procedure calculation unit 64 leaves the extracted route candidate as a route candidate in the set C when the delay with the virtual machine 40-1 is 4 or less (Yes in S110). S112).
- the update procedure calculation unit 64 extracts the calculation resources 20-3 and 20-7 as migration destination candidates of the virtual machine 40-1 according to the procedure from S101 to S112 (S113).
- the update procedure calculation unit 64 repeats the procedure from S101 to S112, and extracts the migration destination candidates of all virtual machines 40 that are the update targets.
- FIG. 9 is a diagram illustrating movement destination candidates for the virtual machine 40 according to the first embodiment of this invention.
- the virtual machine 40-3 uses the calculation resources 20-1, 20-5, and 20-7 as migration destination candidates.
- the virtual machine 40-5 uses the calculation resources 20-3 and 20-7 as migration destination candidates.
- the update procedure calculation unit 64 uses, for example, a depth-first search method, starting from the calculation resource 20-7 that is a free calculation resource, and the virtual machines 40-1, 40-3, and 40-5 to be updated. A route that passes through all of the computing resources 20 in which is present is calculated. The update procedure calculation unit 64 calculates a route opposite to the calculated route as an update procedure (S114).
- FIG. 10 is a diagram showing an update procedure of the virtual machine 40 in the first embodiment of the present invention. For example, in FIG. 10, the virtual machine 40 is updated in the order of the virtual machines 40-1, 40-3, and 40-5.
- FIG. 11 is a flowchart showing an operation example of the update execution unit 65 in the first embodiment of the present invention.
- the update execution unit 65 creates a Blue slice of the virtual machine 40-1 in the calculation resource 20-7 that is a free calculation resource (S201).
- the update execution unit 65 synchronizes the created blue slice of the virtual machine 40-1 with the state and data of the virtual machine 40-1 (S202).
- the update execution unit 65 determines the destination of the flow F801 flowing into the virtual machine 40-1. Switch to the created Blue slice (S203).
- the update execution unit 65 confirms that the created Blue slice is operating normally as the virtual machine 40-1, and then deletes the virtual machine 40-1 existing in the computing resource 20-1 (S204).
- the update execution unit 65 updates the virtual machine 40-3 using the computational resource 20-1 that has become a new free resource.
- the update execution unit 65 repeats the procedure from S201 to S204 to update all the virtual machines 40 that are the update targets.
- the update of the virtual machine 40 is performed by repeating the operation of creating a Blue slice in the free computing resource and switching the destination of the flow flowing into the virtual machine 40. It is possible to maintain the service continuity state.
- the operation of creating a new Blue slice in the computing resource 20 that has become a new free computing resource and switching the destination of the flow flowing into the virtual machine 40 is repeated. Thereby, it is not necessary to have the same number of computing resources 20 as the virtual machine 40 to be updated, and surplus resources can be suppressed.
- the present invention can be applied even in a situation where a plurality of flows flow. .
- route candidates and destination candidates that satisfy the requirements are used for all the flows that flow.
- FIG. 12 is a diagram showing a configuration example of the operation device 60 in the second embodiment of the present invention.
- the operation device 60 in the second embodiment of the present invention manages the communication network in the first embodiment of the present invention.
- the operation device 60 includes a topology information holding unit 61, a route candidate holding unit 62, a flow information holding unit 63, an update procedure calculation unit 64, an update execution unit 65, and a route calculation unit 66.
- the solid line connecting the constituent elements 61 to 66 in FIG. 12 indicates a logical communication or callable relationship, and the implementation of the constituent elements 61 to 66 according to the present invention is connected in this shape. It is not limited to the network.
- the route candidate holding unit 62 holds candidate information on communication paths between the computing resources 20 existing on the topology of the communication network held by the topology information holding unit 61.
- the route candidate holding unit 62 holds one or a plurality of communication route candidates between the computing resources 20 in which the virtual machines 40 can be placed in the topology recorded in the topology information holding unit 61.
- the configuration example of the candidate communication path information held by the route candidate holding unit 62 is the same as the configuration example of the candidate communication path information held by the route candidate holding unit 62 in the first embodiment illustrated in FIGS. 4 and 5. Therefore, detailed description is omitted.
- the information held by the route candidate holding unit 62 may be saved by the user or may be saved by the route calculation unit 66.
- the route candidate holding unit 62 is included in the operation device 60 when, for example, the update procedure calculating unit 64 makes an inquiry to the route calculating unit 66 for candidate information of communication routes existing on the topology of the communication network each time. You don't have to.
- the update procedure calculation unit 64 refers to information held by the topology information holding unit 61, the route candidate holding unit 62, and the flow information holding unit 63, and calculates the update procedure of the virtual machine. For example, the update procedure calculation unit 64 considers, as a transfer destination candidate, the calculation resource 20 that satisfies the communication requirements of the inflowing flow as the transfer destination for each virtual machine 40 to be updated.
- the update procedure calculation unit 64 instructs the route calculation unit 66 to calculate a route between the calculation resources 20 in the communication network. For example, when a route candidate is already recorded in the route candidate holding unit 62, the update procedure calculation unit 64 does not need to instruct calculation of a route between the calculation resources 20 in the communication network, or the calculation in the communication network. A route update instruction between the resources 20 may be issued.
- the update procedure calculation unit 64 refers to the flow information holding unit 63 and confirms whether there is a flow flowing into each virtual machine 40 to be updated.
- the update procedure calculation unit 64 refers to the information stored in the calculated route candidate storage unit 62, and sets a destination that is the same as the flow and the transmission source and is different from the virtual machine 40 to be updated as a movement destination candidate. Extract.
- the update procedure calculation unit 64 refers to not only the route candidate holding unit 62 but also the flow information holding unit 63, and sets a destination that is the same as the flow and the transmission source and is different from the virtual machine 40 to be updated. It may be extracted as a destination candidate.
- the update procedure calculation unit 64 inquires of the route calculation unit 66 about candidate route information between the calculation resources 20 in the communication network each time, the update procedure calculation unit 64 obtains the candidate communication route information from the route calculation unit 66. You may get it.
- the process by which the update procedure calculation unit 64 calculates the update procedure is the same as the example of the update procedure calculation unit 64 in the first embodiment, and thus detailed description thereof is omitted.
- the update procedure calculation unit 64 transfers the calculated update procedure of the virtual machine 40 to the update execution unit 65.
- the route calculation unit 66 calculates a route for the flow in response to a route calculation request from the outside.
- the route calculation unit 66 acquires the topology information of the communication network from the topology information holding unit 61.
- the route calculation unit 66 calculates a route between the calculation resources 20 in the communication network from the acquired topology information of the communication network.
- the route calculation unit 66 calculates the route using a heuristic method such as CSPF (Constrained Shortest Path First) or GA (Genetic Algorithm).
- the route calculation unit 66 stores the calculated route information in the route candidate holding unit 62, for example.
- FIG. 13 is a diagram showing a different configuration example of the operation device 60 in the second exemplary embodiment of the present invention.
- the route calculation unit 66 may transfer the calculated route to the update procedure calculation unit 64, for example, when the operation device 60 does not include the route candidate holding unit 62.
- FIG. 14 is a flowchart showing an operation example of the update procedure calculation unit 64 in the second embodiment of the present invention.
- the update procedure calculation unit 64 checks whether there is a flow flowing into the virtual machine 40-1 (S301).
- the update procedure calculation unit 64 refers to the flow information held by the flow information holding unit 63 and confirms that the flow F801 is flowing into the virtual machine 40-1 from the calculation resource 20-8.
- the update procedure calculation unit 64 instructs the route calculation unit 66 to calculate a route between the calculation resources 20 in the communication network (S302).
- the route calculation unit 66 refers to the topology information holding unit 61 and calculates a route between the calculation resources 20 in the communication network.
- the route calculation unit 66 stores the calculated route in the route candidate holding unit 62.
- the update procedure calculation unit 64 refers to the route candidate holding unit 62 and determines the flow of the flow that is destined for the update target virtual machine 40.
- the route is added to the set C (S304).
- the virtual machine 40-1 does not correspond to this case (No in S303).
- the update procedure calculation unit 64 refers to the route candidate holding unit 62, and the transmission source is the calculation resource 20-8, and A route of a flow whose destination is not the virtual machine 40-1 is extracted (S305).
- S306 to S315 are the same as S105 to S114, which are operation examples of the update procedure calculation unit 64 of the first embodiment illustrated in FIG. 8, and thus detailed description thereof is omitted.
- the update of the virtual machine 40 is communicated and updated by repeating the operation of creating a Blue slice in the free computing resource and switching the destination of the flow flowing into the virtual machine 40. It is possible to maintain the service continuity state.
- the operation of creating a new Blue slice in the computational resource 20 that has become a new free computational resource and switching the destination of the flow flowing into the virtual machine 40 is repeated. Thereby, it is not necessary to have the same number of computing resources 20 as the virtual machine 40 to be updated, and surplus resources can be suppressed.
- the operation device 60 itself calculates a route candidate for a flow by referring to network topology information and flow information. As a result, it is not necessary for the user to set route candidates in advance, and the update work of the virtual machine 40 can be simplified.
- the present invention can also be applied in a situation where a plurality of flows flow in. .
- route candidates and destination candidates that satisfy the requirements are used for all the flows that flow.
- FIG. 15 is a diagram illustrating a configuration example of the operation apparatus 60 in the third embodiment of the present invention.
- the operation device 60 in the third embodiment of the present invention manages the communication network in the first embodiment of the present invention.
- the operation device 60 includes an update procedure calculation unit 64 and an update execution unit 65.
- the solid lines connecting the constituent elements 64 to 65 in FIG. 15 indicate the logical communication or callable relationship, and the implementation of the constituent elements 64 to 65 according to the present invention is connected in this shape. It is not limited to the network.
- the update procedure calculation unit 64 calculates the update procedure of the virtual machine 40.
- the update procedure calculation unit 64 moves the calculation resource 20 that satisfies the communication requirements of the flow flowing into the virtual machine 40 that is the target of the update work to the destination Consider as a candidate.
- the update procedure calculation unit 64 checks whether there is a flow flowing into each virtual machine 40 to be updated. When there is a flow flowing into the virtual machine 40 to be updated, the update procedure calculation unit 64 extracts a destination having the same source as the flow and different from the virtual machine 40 to be updated as a movement destination candidate. To do.
- the update procedure calculation unit 64 extracts, for example, a route satisfying the communication requirement from the transmission source to the movement destination candidate of the flow flowing into the virtual machine 40 to be updated, and sets it as a set C. For example, the update procedure calculation unit 64 compares the delay upper limit value of the flow flowing into the virtual machine 40 to be updated with the delay of the extracted route candidate, and extracts a route that does not exceed the delay upper limit value as a route candidate. , Set C.
- the update procedure calculation unit 64 requires synchronization of data and state between the Green slice and the Blue slice. Are extracted as a set C.
- the update procedure calculation unit 64 calculates, for example, a route that passes through all the calculation resources in which the virtual machine 40 to be updated exists, starting from the calculation resource 20 (free calculation resource) in which the virtual machine 40 is not activated. .
- the update procedure calculation unit 64 uses, for example, a depth-first search method to calculate a route that passes through all the calculation resources in which the virtual machine 40 to be updated is present, starting from a free resource.
- the method of calculating a route that passes through all the calculation resources in which the virtual machine 40 to be updated exists is not limited to the depth-first search method, and other calculation methods may be used.
- the update procedure calculation unit 64 When there are a plurality of free calculation resources, the update procedure calculation unit 64, for example, provides one dummy node as a starting point for path calculation, connects the dummy node and each free calculation resource node by a dummy link, The route calculation described above may be performed starting from the dummy node. For example, the update procedure calculation unit 64 deletes the dummy node and the dummy link portion from the route after the route calculation. As a result, the update procedure calculation unit 64 can calculate a plurality of paths that pass through the virtual machine 40 to be updated, starting from each free calculation resource.
- the update procedure calculation unit 64 transfers the reverse route of the calculated route to the update execution unit 65 as a virtual machine update procedure.
- the update execution unit 65 updates the virtual machine based on the virtual machine update procedure calculated by the update procedure calculation unit 64.
- the update execution unit 65 creates, for example, a Blue slice of the virtual machine 40 to be updated in an empty calculation resource.
- the update execution unit 65 synchronizes the created Blue slice with the status and data of the virtual machine 40 to be updated.
- the update execution unit 65 switches the destination of the flow that has flowed into the virtual machine 40 to be updated to the created Blue slice after completing the synchronization between the Blue slice and the virtual machine 40 to be updated.
- the update execution unit 65 selects a route from the flow transmission source to the Blue slice from the set C.
- the update execution unit 65 may select, for example, the shortest path or the minimum cost path from the flow source to the Blue slice.
- the update execution unit 65 may select a plurality of routes as a route from the flow transmission source to the Blue slice and accommodate the flow by multipath routing.
- the update execution unit 65 is configured so that the flow can be communicated through the route of the selected route candidate before switching the destination of the flow that has flowed into the virtual machine 40 to be updated to the created Blue slice. Control the network.
- This network control is not limited to being executed by the update execution unit 65 of the operation apparatus 60, and may be performed intensively by, for example, an NMS or an OpenFlow controller.
- the operation device 60 may be, for example, an NMS or an OpenFlow controller. Further, this network control may be performed in a distributed manner using RSVP or the like.
- the update execution unit 65 confirms that the Blue slice is operating normally after switching the destination of the flow flowing into the virtual machine 40 to be updated to the created Blue slice. After confirming that the Blue slice is operating normally, the update execution unit 65 deletes the virtual machine 40 that was the update target.
- the update execution unit 65 executes the update of the new update target virtual machine 40 using the calculation resource 20 which has become a new empty calculation resource. For example, when the update execution unit 65 executes an update of a new update target virtual machine 40, the flow path to be newly set is the flow path used by the virtual machine 40 that existed before. A similar route may be set. For example, if the flow path used by the previously existing virtual machine 40 cannot be reset, the update execution unit 65 deletes the path information and sets a new path.
- the flow source is the single virtual machine 40, but the virtual machine 40 may have a different flow source.
- the flow transmission source in this description may be the external network 70 instead of the virtual machine 40.
- a configuration example when the flow transmission source is the external network 70 is the same as the configuration example of the first embodiment illustrated in FIG. 7, and thus detailed description thereof is omitted.
- FIG. 16 is a flowchart showing an operation example of the update procedure calculation unit 64 in the third embodiment of the present invention.
- the update procedure calculation unit 64 checks whether there is a flow flowing into the virtual machine 40-1 (S401). The update procedure calculation unit 64 confirms that the flow F801 is flowing into the virtual machine 40-1 from the calculation resource 20-8.
- the update procedure calculation unit 64 adds the route of the flow destined for the update target virtual machine 40 to the set C ( S403).
- the virtual machine 40-1 does not correspond to this case (No in S402).
- the update procedure calculation unit 64 sends a flow of a flow whose transmission source is the calculation resource 20-8 and whose destination is not the virtual machine 40-1.
- a route is extracted (S404).
- the update procedure calculation unit 64 confirms the delay of the extracted flow path (S405).
- the update procedure calculation unit 64 removes the route of the flow from the route candidates when the delay of the extracted flow route does not satisfy the communication requirement (No in S406) (S407). When the delay of the extracted flow path satisfies the communication requirement (Yes in S406), the update procedure calculation unit 64 adds the flow path to the set C as a path candidate (S408).
- the update procedure calculation unit 64 repeats the procedure from S401 to S408, and extracts the migration destination candidates of all virtual machines 40 that are the update targets (S409).
- the update procedure calculation unit 64 uses, for example, a depth-first search method to start the calculation resource 20 including the virtual machines 40-1, 40-3, and 40-5 that are the update work targets, starting from an empty calculation resource. Calculate a route that goes all the way.
- the update procedure calculation unit 64 calculates a route opposite to the calculated route as an update procedure (S410).
- the operation example of the update execution unit 65 according to the third embodiment is the same as the operation example of the update execution unit 65 according to the first embodiment illustrated in FIG.
- the update of the virtual machine 40 is communicated and updated by repeating the operation of creating a Blue slice in the free computing resource and switching the destination of the flow flowing into the virtual machine 40. It is possible to maintain the service continuity state.
- the operation of creating a new Blue slice in the computational resource 20 that has become a new free computational resource and switching the destination of the flow flowing into the virtual machine 40 is repeated. Thereby, it is not necessary to have the same number of computing resources 20 as the virtual machine 40 to be updated, and surplus resources can be suppressed.
- the present invention can be applied even in a situation where a plurality of flows flow in. .
- route candidates and destination candidates that satisfy the requirements are used for all the flows that flow.
- the computer, CPU, or MPU (Micro-Processing Unit) of the operation apparatus may execute software (program) that realizes the functions of the above-described embodiments.
- the computer, CPU, MPU, or the like of the operation apparatus may acquire software (program) that realizes the functions of the above-described embodiments via various storage media such as CD-R (Compact Disc Recordable) or a network. Good.
- the program acquired by the operation apparatus and the storage medium storing the program constitute the present invention.
- the software (program) may be stored in advance in, for example, a predetermined storage unit included in the operation apparatus.
- the computer, CPU, MPU, or the like of the operation apparatus may read and execute the program code of the acquired software (program).
- Update procedure calculation means for determining an update procedure for sequentially updating virtual machines; Update execution means for executing the update of the plurality of virtual machines according to the determined update procedure,
- the update procedure calculation means includes Extract update resource candidates for each of the plurality of virtual machines, An operation apparatus that determines an update destination calculation resource for each of the plurality of virtual machines and an update order of the plurality of virtual machines based on the extracted update destination calculation resource candidates.
- Appendix 2 The operation apparatus according to appendix 1, wherein the update procedure calculation unit determines a calculation resource in which the virtual machine is not activated as a calculation resource of an update destination of a virtual machine to be updated first.
- Appendix 3 The operation apparatus according to appendix 1 or 2, wherein the update procedure calculation unit extracts candidates for update destination calculation resources for each of the plurality of virtual machines based on a flow flowing into each of the plurality of virtual machines.
- Appendix 5 The operation apparatus according to appendix 3 or 4, wherein the update procedure calculation means extracts a calculation resource that satisfies a condition related to communication of the flow as a candidate of the update destination calculation resource.
- the update procedure calculation means includes Any one of appendices 3 to 5, wherein, among the extracted update destination calculation resource candidates, a calculation resource whose time required for updating the virtual machine does not exceed the allowable delay time of the flow is determined as an update destination calculation resource Operational device described in 1.
- [Appendix 7] Computing resources on which the virtual machine is configured;
- An operation device that instructs to update the virtual machine The operation device is: Update procedure calculation means for determining an update procedure for sequentially updating the plurality of virtual machines; Update execution means for executing the update of the plurality of virtual machines according to the determined update procedure,
- the update procedure calculation means includes Extract update resource candidates for each of the plurality of virtual machines, A communication system for determining an update destination calculation resource of each of the plurality of virtual machines and an order of updating the plurality of virtual machines based on the extracted update destination calculation resource candidates.
- Appendix 8 The communication system according to appendix 7, wherein the update procedure calculation unit determines a calculation resource in which the virtual machine is not activated as a calculation resource of an update destination of a virtual machine to be updated first.
- Appendix 9 9. The communication system according to appendix 7 or 8, wherein the update procedure calculation unit extracts candidates for update calculation resources for each of the plurality of virtual machines based on a flow flowing into each of the plurality of virtual machines.
- Appendix 10 The communication system according to appendix 9, wherein the update procedure calculation unit extracts a calculation resource that can be communicated by a virtual machine that is a transmission source of the flow as a candidate of the update destination calculation resource.
- Appendix 11 The communication system according to appendix 9 or 10, wherein the update procedure calculation unit extracts a calculation resource that satisfies a condition regarding communication of the flow as a candidate of the update destination calculation resource.
- the update procedure calculation means includes Any one of appendices 9 to 11 that, among the extracted update destination calculation resource candidates, determines a calculation resource whose time required for updating the virtual machine does not exceed the flow delay allowable time as the update destination calculation resource
- the communication system according to 1.
- An update method for sequentially updating virtual machines Extract update resource candidates for each of the plurality of virtual machines, Based on the extracted update-destination calculation resource candidates, determine the update-destination calculation resources of each of the plurality of virtual machines and the update order of the plurality of virtual machines;
- An update method including executing update of a plurality of the virtual machines in accordance with the determined order of the update.
- Appendix 14 The update method according to appendix 13, further comprising: determining a calculation resource in which the virtual machine is not activated as a calculation resource of an update destination of a virtual machine to be updated first.
- Appendix 15 15. The update method according to appendix 13 or 14, further comprising: extracting update-destination calculation resource candidates for each of the plurality of virtual machines based on a flow flowing into each of the plurality of virtual machines.
- appendix 17 The update method according to appendix 15 or 16, further comprising: extracting a calculation resource that satisfies a condition related to communication of the flow as a candidate of the update-destination calculation resource.
- An update method for sequentially updating virtual machines Extract update resource candidates for each of the plurality of virtual machines, Based on the extracted update-destination calculation resource candidates, determine the update-destination calculation resources for each of the plurality of virtual machines, and the update order of the plurality of virtual machines, An update method including executing update of a plurality of the virtual machines in accordance with the determined order of the update.
- Appendix 20 The update method according to appendix 19, further comprising: determining a calculation resource in which the virtual machine is not activated as a calculation resource of an update destination of a virtual machine to be updated first.
- Appendix 21 The update method according to appendix 19 or 20, further comprising: extracting candidates for the update-destination computing resource for each of the plurality of virtual machines based on a flow flowing into each of the plurality of virtual machines.
- Appendix 22 The update method according to appendix 21, further comprising: extracting a calculation resource communicable with a virtual machine that is a transmission source of the flow as a candidate of the update destination calculation resource.
- Appendix 23 23.
- Supplementary notes 21 to 21 further comprising: determining, among the extracted update-destination calculation resource candidates, a calculation resource whose time required for updating the virtual machine does not exceed the flow delay allowable time as the update-destination calculation resource 24.
- the updating method according to any one of 23.
- node 20 computing resource 30 inter-node link 40 virtual machine 50 computing resource link 60 operation device 61 topology information holding unit 611 network topology management table 62 route candidate holding unit 621 communication route candidate upper node table 622 communication route candidate upper link table 63 Flow information holding unit 631 Flow information table 64 Update procedure calculation unit 65 Update execution unit 66 Route calculation unit 70 External network
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Stored Programmes (AREA)
Abstract
本発明は、仮想マシンの更新を行う際に、余剰資源を抑えつつ、求められる遅延や帯域の条件を満たすことが可能な運用装置等を提供する。本発明の一態様における運用装置は、複数の仮想マシンを順番に更新するための更新手順を決定する更新手順計算部と、前記決定した更新手順に従って、前記複数の仮想マシンの更新を実行する更新実行部と、を含み、前記更新手順計算部は、前記複数の仮想マシンそれぞれに対して更新先の計算資源の候補を抽出し、抽出した更新先の計算資源の候補に基づいて、当該複数の仮想マシンそれぞれの更新先の計算資源と、前記複数の仮想マシンの更新の順番とを決定する。
Description
本発明は、運用装置、通信システム、および更新方法に関する。
クラウド技術の進展に伴い、アプリケーションプログラムを仮想マシン上で実行することが一般的になっている。アプリケーションプログラムを実行するユーザは、仮想マシンを用いることで、必要なときに必要なだけのマシンを稼動でき、余剰資源を最小限にすることができる。また、仮想マシンであるため、ユーザは実際に機器を所有する必要がなく、またそれが配置されている物理的な場所を意識する必要がない等の利点がある。
非特許文献1には、地理的に分散したデータセンタを広域網が提供する専用線などで接続する技術が開示されている。非特許文献1に記載の技術では、データセンタを専用線などで接続し、一つのクラウドとして用いることで、モバイルユーザに対して、更に柔軟かつ幅広いサービスの提供が可能になる。
一方、仮想マシンであっても、バグやセキュリティ問題を解決するためには、物理マシン同様に、内部のソフトウェアをメンテナンスする必要がある。非特許文献2には、仮想マシン上のサーバの更新方法として、Blue-Green Deploymentが開示されている。Blue-Green Deploymentでは、まず、Webなどのネットワークアプリケーションを動かす仮想マシン(Greenスライス)の他に、所望の更新を行った別の仮想マシン(Blueスライス)を設ける。Blueスライスは、BlueスライスのデータをGreenスライスのデータと同期させる。同期が終了後、Greenスライスにトラヒックを転送しているルータにおいて、トラヒックの転送先を、GreenスライスからBlueスライスに切り替える。これにより、論理的にサービスを停止することなく、ソフトウェアの更新を行うことが可能になる。また、トラヒックの転送先をGreenスライスからBlueスライスに切り替えた後、Greenスライスが使用している資源は、次の更新に用いることが可能である。
Tarik Taleb,"Toward Carrier Cloud:Potential, Challenges, and Solutions,"IEEE Wireless Communications, vol.21, no.3, June 2014,PP.80-91
Ken Collier"Agile Analytics"Addison-Wesley,July 2011,pp.169-170
上述したように、非特許文献1には、新規の仮想マシンを作成する際に、最良の配置場所を決定するための手段が示されている。非特許文献1に記載の技術では、新規の仮想マシンが通信しうる既設の仮想マシンとの間の遅延や帯域をネットワーク距離として用い、既設の仮想マシンとのネットワーク距離の和が最小となる所に、新規の仮想マシンを作成する。
しかしながら、ネットワーク距離が最小であっても、遅延や帯域量等に関して、所望の性能が満たされない恐れがある。
また、非特許文献2に記載のBlue-Green Deploymentを適用するためには、1つのサーバに対し2つの仮想マシンを起動するため、2倍の計算資源を要する。多数の仮想マシンに対して更新作業が必要な場合、仮想マシンと同数の計算資源を余剰資源として配置する必要があり、多大なコストが生じる。とりわけ、複数の分散データセンタを1つのクラウド環境とする場合、局舎の大きさ、電力の供給力、資材コスト等の観点から、余剰の計算資源が潤沢にあると考えるのは現実的ではない。
また、クラウド環境においても、アプリケーションプログラムが所望の性能を達成するための設計は必要となる。Blue-Green Deploymentにより、サーバの接続性を維持したままソフトウェアの更新を行うことが可能であったとしても、Blueスライスの場所によっては、求められる遅延や帯域の条件が満たされない可能性がある。
そこで、本発明の目的は、上述した課題に鑑み、仮想マシンの更新を行う際に、余剰資源を抑えつつ、求められる遅延や帯域の条件を満たすことが可能な運用装置等を提供することにある。
本発明の一態様における運用装置は、複数の仮想マシンを順番に更新するための更新手順を決定する更新手順計算部と、前記決定した更新手順に従って、前記複数の仮想マシンの更新を実行する更新実行部と、を含み、前記更新手順計算部は、前記複数の仮想マシンそれぞれに対して更新先の計算資源の候補を抽出し、抽出した更新先の計算資源の候補に基づいて、当該複数の仮想マシンそれぞれの更新先の計算資源と、前記複数の仮想マシンの更新の順番とを決定することを特徴とする。
本発明の一態様における通信システムは、仮想マシンが構成される計算資源と、前記仮想マシンの更新を指示する運用装置と、を含み、前記運用装置は、複数の仮想マシンを順番に更新するための更新手順を決定する更新手順計算部と、前記決定した更新手順に従って、前記複数の仮想マシンの更新を実行する更新実行部と、を含み、前記更新手順計算部は、前記複数の仮想マシンそれぞれに対して更新先の計算資源の候補を抽出し、抽出した更新先の計算資源の候補に基づいて、当該複数の仮想マシンそれぞれの更新先の計算資源と、前記複数の仮想マシンの更新の順番とを決定することを特徴とする。
本発明の一態様における更新方法は、複数の仮想マシンを順番に更新するための更新方法であって、複数の仮想マシンそれぞれに対して更新先の計算資源の候補を抽出するステップと、抽出した更新先の計算資源の候補に基づいて、当該複数の仮想マシンそれぞれの更新先の計算資源と、前記複数の仮想マシンの更新の順番とを決定するステップと、前記決定した更新手順に従って、前記複数の仮想マシンの更新を実行するステップと、を含むことを特徴とする更新方法。
本発明の一形態における運用装置等は、仮想マシンの更新を行う際に、余剰資源を抑えつつ、求められる遅延や帯域の条件を満たすことが可能となる。
以下、本発明の実施形態について、図面を参照して説明する。各実施形態は、例示であり、本発明は各実施形態に限定されるものではない。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。
[第1の実施の形態]
[構成の説明]
本発明の第1の実施形態を、図面を参照して詳細に説明する。
[構成の説明]
本発明の第1の実施形態を、図面を参照して詳細に説明する。
図1は、本発明の第1の実施形態における通信ネットワーク構成例である。
本発明の第1の実施形態における通信ネットワークは、ノード10と、計算資源20と、ノード間リンク30と、仮想マシン40と、計算資源用リンク50とを含む。例えば、ノード10は、ノード10-1乃至ノード10-8である。ハイフン“-”とその後の符号(1、2、…)は、説明の便宜上、省略される場合がある。
なお、図1の構成要素10から50を繋ぐ実線は論理的な通信ないし呼び出し可能な関係を示したものであり、構成要素10から50の実装形態は、この形状で接続されている構成やネットワークに限定されるものではない。また、通信ネットワークは、図1の構成例に限られず、例えば、より多くのノード10やノード間リンク30を有してもよく、接続が異なっていてもよい。
ノード10は、例えば、物理的もしくは仮想的なスイッチやルータである。各ノード10は、例えば、データの転送の中継や制御を行う。ノード10間は、ノード間リンク30を介して接続されている。ノード間リンク30は、物理的であっても、仮想的なリンクであってもよい。
計算資源20は、ノード10(ネットワーク)と、計算資源用リンク50とを介して接続している。計算資源用リンク50は、物理的であっても、仮想的なリンクであってもよい。計算資源20は、例えば、CPU(Central Processing Unit)、RAM(Random Access Memory)、ハードディスクから構成される。
仮想マシン40は、計算資源20を用いて配置される。仮想マシン40は、計算資源用リンク50と、ノード間リンク30とを介して、仮想マシン40間で通信を行う。
図2は、本発明の第1の実施形態における運用装置60の構成例である。
本発明の第1の実施形態における運用装置60は、本発明の第1の実施形態における通信ネットワークを管理する。運用装置60は、トポロジ情報保持部61と、経路候補保持部62と、フロー情報保持部63と、更新手順計算部64と、更新実行部65とを含む。
なお、図2の構成要素61から65を繋ぐ実線は論理的な通信ないし呼び出し可能な関係を示したものであり、本発明が構成要素61から65の実装は、この形状で接続されている構成やネットワークに限定されるものではない。
また、以下の説明においては、簡単のために、各ノード間リンク30および各計算資源用リンク50の遅延時間はいずれも1とするが、本発明を適用するネットワークにおけるリンクの遅延時間はそれぞれ異なっていても構わない。以下の説明においては、簡単のために、ノード内の遅延は0とするが、ノード内の遅延を計測する、あるいは仮想マシン間の通信遅延時間を計測するなどすれば、ノード内の遅延時間も考慮が可能である。
以下の説明においては、簡単のために、図1の通信ネットワークにおいて、仮想マシン40-1、40-3、40-5のソフトを更新したい場合を例にする。
トポロジ情報保持部61は、通信ネットワーク内のノード10と、計算資源20と、ノード間リンク30と、計算資源用リンク50との接続関係(トポロジ)に関する情報を保持する。
図3は、本発明の第1の実施形態において、トポロジ情報保持部61の保持する、ネットワークトポロジ管理テーブル611の構成例である。例えば、ネットワークトポロジ管理テーブル611を参照すると、計算資源用リンク50-1には、ノード10-1と、計算資源20-1が接続されている。トポロジ情報保持部61に格納する情報は、リンクID(IDentifier)や当該通信リンクが接続しているノード10のIDに限定されず、例えば、リンクの名称やIP(Internet Protocol)アドレス、MAC(Media Access Control)アドレス、TCP(Transmission Control Protocol)アドレスやシリアル番号、IPアドレスを参照するURL(Uniform Resource Locator)を格納してもよい。
経路候補保持部62は、トポロジ情報保持部61の保持する通信ネットワークのトポロジ上に存在する、計算資源20間の通信経路の候補情報を保持する。経路候補保持部62は、トポロジ情報保持部61に記録されているトポロジにおいて、仮想マシン40が配置されうる計算資源20間の通信経路の候補を、一つあるいは複数保持する。
図4は、本発明の第1の実施形態において、経路候補保持部62の保持する、通信経路候補上ノードテーブル621の構成例である。例えば、計算資源20-3から計算資源20-5へデータを転送する場合の経路候補は、通信経路候補上ノードテーブル621を参照すると、2通り存在することが分かる。計算資源20-3から計算資源20-5へデータを転送する経路候補1は、ノード10-3、ノード10-4、ノード10-5を通る。計算資源20-3から計算資源20-5へデータを転送する経路候補2は、ノード10-3、ノード10-6、ノード10-5を通る。
図5は、本発明の第1の実施形態において、経路候補保持部62の保持する、通信経路候補上リンクテーブル622の構成例である。例えば、計算資源20-1から計算資源20-3へデータを転送する場合の経路候補は、通信経路候補上リンクテーブル622を参照すると、2通り存在することが分かる。計算資源20-1から計算資源20-3へデータを転送する経路候補1は、計算資源用リンク50-1、ノード間リンク30-1、ノード間リンク30-2、計算資源用リンク50-3を通る。計算資源20-1から計算資源20-3へデータを転送する経路候補2は、計算資源用リンク50-1、ノード間リンク30-8、ノード間リンク30-7、ノード間リンク30-6、ノード間リンク30-10、計算資源用リンク50-3を通る。
経路候補保持部62は、図4の通信経路候補上ノードテーブル621のように、経路を経由するノードで記載したテーブルを保持してもよい。図5の通信経路候補上リンクテーブル622のように、経路を経由するリンクで記載したテーブルを保持してもよいし、両方を合わせた形で保持してもよい。例えば、ノード10間にノード間リンク30が1本しかない場合や、ノード間リンク30を区別する必要のない場合には、図4の通信経路候補上ノードテーブル621のみ保持してもよい。
経路候補保持部62の保持する情報は、図4の通信経路候補上ノードテーブル621と、図5の通信経路候補上リンクテーブル622とに記載の形態に限定しない。例えば、図4の通信経路候補上ノードテーブル621に、経由するノードの名称を記載しているが、ノード10のIPアドレスやMACアドレス、あるいはそのようなアドレスを特定するためのラベル等の識別子でも構わない。また、通信経路候補上ノードテーブル621と、通信経路候補上リンクテーブル622に記載の経路候補は2通りであるが、通信経路候補上ノードテーブル621と、通信経路候補上リンクテーブル622は、例えば、経路候補を1通り以上の任意の数を保持していればよい。
フロー情報保持部63は、トポロジ情報保持部61の保持するネットワークのトポロジ上に存在するフローの情報を保持する。フロー情報保持部63は、例えば、フローに関して、送信元、宛先、要求帯域、遅延上限値など、要求される通信品質を特定するための情報を保持する。
図6は、本発明の第1の実施形態において、フロー情報保持部63の保持するフロー情報テーブル631の構成例である。例えば、フローF801は、仮想マシン40-8から送信され、仮想マシン40-1へ転送される。仮想マシン40-8から仮想マシン40-1へ転送される間、要求帯域は1、遅延上限値は5までである。
フロー情報保持部63の保持する情報は、図6のフロー情報テーブル631に記載の形態に限定しない。例えば、図6のフロー情報テーブル631に、仮想マシン40の名称を記載しているが、仮想マシン40のIPアドレスやMACアドレス、ポート番号など、通信フローを特定するために用いられるパケット情報や、その組み合わせを用いてもよい。あるいは、図6のフロー情報テーブル631に、通信フローを特定するための情報を参照する名前、ラベル等の識別子を記載してもよい。通信フローを特定するための情報を参照する場合、通信フローを特定するための情報は、識別子をキーとして参照できる形で図6のフロー情報テーブル631とは別のテーブルないしマップ等に記録される。
フロー情報保持部63の保持する情報は、双方向リンクであっても、単方向リンクを含んでいてもよい。フロー情報保持部63の保持する情報が単方向リンクを含んでいる場合、経路候補保持部62の保持する情報は、単方向リンクの順方向のみに適用できる。フロー情報保持部63の保持する情報は、双方向リンクを逆向きの単方向リンクの一対で表現した場合でも同様に、単方向リンクの順方向のみに適用できる。フロー情報保持部63の保持する情報は、双方向リンクを逆向きの単方向リンクの一対で表現した場合、リンクの識別子はそれぞれの単方向リンクが区別できるように付与される。
なお、トポロジ情報保持部61と、経路候補保持部62と、フロー情報保持部63とが保持する通信ネットワークの情報は、例えば、NMS(Network Management System)、OSS(Operation Support System)、外部データファイルから自動ないし手動で入力される。
更新手順計算部64は、トポロジ情報保持部61と、経路候補保持部62と、フロー情報保持部63とが保持する情報を参照し、仮想マシン40の更新手順を計算する。
更新手順計算部64は、例えば、更新作業の対象となる個々の仮想マシン40に対して、更新作業の対象となる仮想マシン40に流入するフローの通信要件が満たされる計算資源20を、移動先候補として検討する。
例えば、更新手順計算部64は、フロー情報保持部63を参照して、更新対象となる個々の仮想マシン40に流入するフローの有無を確認する。更新対象の仮想マシン40に流入するフローが存在する場合、更新手順計算部64は、経路候補保持部62を参照し、該フローと送信元が同じで、かつ該更新対象の仮想マシン40とは異なる宛先を、移動先候補として抽出する。なお、更新手順計算部64は、経路候補保持部62だけでなく、フロー情報保持部63を参照して、該フローと送信元が同じで、かつ該更新対象の仮想マシン40とは異なる宛先を、移動先候補として抽出してもよい。
更新手順計算部64は、例えば、経路候補保持部62やフロー情報保持部63を参照して、更新対象の仮想マシン40に流入するフローの送信元から移動先候補への経路のうち、通信要件が満たされる経路を抽出し、集合Cとする。例えば、更新手順計算部64は、更新対象の仮想マシン40に流入するフローの遅延上限値と、経路候補保持部62から抽出した経路候補の遅延を比較して、該遅延上限値を超えない経路を経路候補として抽出し、集合Cとする。
更新手順計算部64は、例えば、Blue-Green Deploymentやその類似手段で仮想マシン40を更新する場合、GreenスライスとBlueスライスの間でデータや状態の同期が必要なため、同期が可能な通信要件の経路候補を抽出し、集合Cとする。
更新手順計算部64は、例えば、仮想マシン40を起動していない計算資源20(空き計算資源)を始点として、更新対象である仮想マシン40が存在する計算資源を全て通るような経路を計算する。更新手順計算部64は、例えば、深さ優先探索法を用いて、空き資源を始点として、更新作業対象となる仮想マシン40が存在する計算資源を全て通るような経路を計算する。ただし、更新対象である仮想マシン40が存在する計算資源を全て通るような経路を計算する方法は、深さ優先探索法に限定されず、他の計算方法でもよい。
なお、空き計算資源が複数箇所存在する場合、更新手順計算部64は、例えば、経路計算の始点となるダミーノードを1つ設け、ダミーノードと各空き計算資源のノードをダミーリンクで接続し、ダミーノードを始点として前述の経路計算を行うとよい。更新手順計算部64は、例えば、該経路計算の後に、経路からダミーノードおよびダミーリンクの部分を削除する。これにより、更新手順計算部64は、各空き計算資源を始点として、更新対象の仮想マシン40を通過する複数本の経路を算出できる。
更新手順計算部64は、算出した経路の逆の経路を、仮想マシンの更新手順として、更新実行部65へ転送する。
更新実行部65は、更新手順計算部64が計算した仮想マシンの更新手順に基づいて、仮想マシンの更新を実行する。
更新実行部65は、例えば、空き計算資源に更新対象の仮想マシン40のBlueスライスを作成する。更新実行部65は、作成したBlueスライスと、更新対象の仮想マシン40の状態およびデータの同期を行う。
更新実行部65は、Blueスライスと、更新対象の仮想マシン40の同期を完了した後に、更新対象の仮想マシン40に流入していたフローの宛先を、作成したBlueスライスへ切り替える。更新実行部65は、フローの送信元からBlueスライスへの経路を、集合Cの中から選択する。更新実行部65は、フローの送信元からBlueスライスへの経路について、例えば、最短となる経路を選択してもよいし、最小コストとなる経路を選択してもよい。更新実行部65は、例えば、フローの送信元からBlueスライスへの経路として、複数の経路を選択し、マルチパスルーティングによりフローを収容しても構わない。
なお、更新実行部65は、更新対象の仮想マシン40に流入していたフローの宛先を、作成したBlueスライスへ切り替える前に、選択した経路候補の経路でフローの通信が可能であるように、ネットワークを制御する。このネットワークの制御は、運用装置60の更新実行部65が実行することに限られず、例えば、NMSや、OpenFlowコントローラが集中的に行ってもよい。運用装置60が、例えば、NMSやOpenFlowコントローラであってもよい。また、このネットワークの制御は、RSVP(Resource reSerVation Protocol)などを用いて、分散的に行ってもよい。
更新実行部65は、更新対象の仮想マシン40に流入していたフローの宛先を、作成したBlueスライスへ切り替えた後に、Blueスライスが正常に動作していることを確認する。更新実行部65は、Blueスライスが正常に動作していることを確認した後、更新対象であった仮想マシン40を削除する。
更新実行部65は、新たに空き計算資源となった計算資源20を用いて、新たな更新対象の仮想マシン40の更新を実行する。更新実行部65は、例えば、新たな更新対象の仮想マシン40の更新を実行する場合に、新たに設定するフローの経路は、前に存在していた仮想マシン40が用いていたフローの経路と、同様の経路を設定してもよい。更新実行部65は、例えば、前に存在していた仮想マシン40が用いていたフローの経路を再設定できない場合には、その経路の情報を削除し、新たな経路を設定する。
以上、本発明の第1の実施形態において、フローの送信元が単一の仮想マシン40としていたが、個々のフローの送信元が異なる仮想マシン40であっても構わない。また、本説明におけるフローの送信元が仮想マシン40ではなく、外部ネットワーク70であってもよい。
図7は、本発明の第1の実施形態における、異なる通信ネットワーク構成例である。図7の通信ネットワークにおいて、ノード10-8は、計算資源用リンク50-8を介して、外部ネットワーク70と接続している。外部ネットワーク70とは、例えば、物理的もしくは仮想的なスイッチないしルータである。
送信元が外部ネットワーク70である場合、外部ネットワーク70からフローが流入するノード10-8が、フローの宛先を切り替えられる。
[動作の説明]
本発明の第1実施形態における運用装置60の動作について、図8を参照して説明する。以降の説明では、簡単のために、図1に記載の通信ネットワークの構成において、仮想マシン40-1、40-3、40-5を更新する場合について説明する。
本発明の第1実施形態における運用装置60の動作について、図8を参照して説明する。以降の説明では、簡単のために、図1に記載の通信ネットワークの構成において、仮想マシン40-1、40-3、40-5を更新する場合について説明する。
図8は、本発明の第1の実施形態における更新手順計算部64の動作例を示すフローチャートである。
更新手順計算部64は、仮想マシン40-1に対して流入するフローの有無を確認する(S101)。更新手順計算部64は、フロー情報保持部63の保持するフロー情報を参照して、仮想マシン40-1に対して、計算資源20-8から、フローF801が流入していることを確認する。
更新手順計算部64は、更新対象の仮想マシン40に対して流入するフローが存在しない場合(S102のNo)、経路候補保持部62を参照して、更新対象の仮想マシン40を宛先とするフローの経路を、集合Cへ追加する(S103)。仮想マシン40-1は、この場合(S102のNo)に該当しない。
更新手順計算部64は、仮想マシン40-1に対して流入するフローが存在する場合(S102のYes)、経路候補保持部62を参照して、送信元が計算資源20-8であり、かつ宛先が仮想マシン40-1でないフローの経路を抽出する(S104)。
例えば、更新手順計算部64は、通信経路候補上ノードテーブル621を参照して、送信元が計算資源20-8であり、かつ宛先が仮想マシン40-1でないフローの経路として、6通りの経路を抽出する。更新手順計算部64が抽出した経路は、[10-8、10-1、10-2、10-3]、[10-8、10-7、10-6、10-3]、[10-8、10-1、10-2、10-3、10-6、10-5]、[10-8、10-7、10-6、10-5]、[10-8、10-7]、[10-8、10-1、10-2、10-7]の6通りである。なお、更新手順計算部64は、通信経路候補上リンクテーブル622を参照して、送信元が計算資源20-8であり、かつ宛先が仮想マシン40-1でないフローの経路を抽出してもよい。
更新手順計算部64は、抽出したフローの経路の遅延を確認する(S105)。
更新手順計算部64は、抽出したフローの経路の遅延が、元々更新対象の仮想マシン40へ流入していたフローの遅延上限値より大きい場合(S106のNo)、該フローの経路を経路候補から外す(S107)。更新手順計算部64は、抽出したフローの経路の遅延が、元々更新対象の仮想マシン40へ流入していたフローの遅延上限値以内である場合に(S106のYes)、該フローの経路を経路候補として集合Cへ追加する(S108)。
例えば、更新手順計算部64は、抽出した6通りの経路のうち、仮想マシン40-1に対して計算資源20-8から流入していたフローF801の遅延上限値以内であるフローの経路を抽出する。フローF801の遅延上限値は5であるため、更新手順計算部64は、遅延が7である[10-8、10-1、10-2、10-3、10-6、10-5]を除いた、5通りの経路を抽出する。これにより、更新手順計算部64は、仮想マシン40-1の移動先候補として、計算資源20-3、20-5、20-7を抽出する。
例えば、更新手順計算部64は、Blue-Green Deploymentの場合、同期を完了させるための特定の通信要件と、集合Cの経路とを比較する(S109)。例えば、本発明の第1の実施形態において、いずれの仮想マシン40の更新においても、仮想マシン40の同期は、仮想マシン40間の遅延が4以下ならば可能であるとする。更新手順計算部64は、抽出した5つの経路候補のうち、仮想マシン40-1との間の遅延が4以下でない場合(S110のNo)には、集合Cから該フローの経路を除外する(S111)。更新手順計算部64は、抽出した5つの経路候補のうち、仮想マシン40-1との間の遅延が4以下である場合(S110のYes)には、集合Cに経路候補として残しておく(S112)。
更新手順計算部64は、S101からS112の手順により、仮想マシン40-1の移動先候補として、計算資源20-3、20-7を抽出する(S113)。
更新手順計算部64は、S101からS112の手順を繰り返し、更新対象である全ての仮想マシン40の移動先候補を抽出する。図9は、本発明の第1の実施形態における、仮想マシン40の移動先候補を示す図である。例えば、仮想マシン40-3は、計算資源20-1、20-5、20-7を移動先候補とする。仮想マシン40-5は、計算資源20-3、20-7を移動先候補とする。
更新手順計算部64は、例えば、深さ優先探索法を用いて、空き計算資源である計算資源20-7を始点として、更新作業対象となる仮想マシン40-1、40-3、40-5が存在する計算資源20を全て通るような経路を計算する。更新手順計算部64は、算出した経路と逆向きの経路を、更新手順として算出する(S114)。図10は、本発明の第1の実施形態における、仮想マシン40の更新手順を示す図である。例えば、図10において、仮想マシン40は、仮想マシン40-1,40-3,40-5の順に更新される。
図11は、本発明の第1の実施形態における更新実行部65の動作例を示すフローチャートである。
更新実行部65は、空き計算資源である計算資源20-7に、仮想マシン40-1のBlueスライスを作成する(S201)。
更新実行部65は、作成した仮想マシン40-1のBlueスライスと、仮想マシン40-1の状態およびデータを同期する(S202)。
更新実行部65は、作成した仮想マシン40-1のBlueスライスと、仮想マシン40-1の状態およびデータの同期を完了した後、仮想マシン40-1に流入しているフローF801の宛先を、作成したBlueスライスへ切り替える(S203)。
更新実行部65は、作成したBlueスライスが仮想マシン40-1として正常に動作していることを確認した後に、計算資源20-1に存在する仮想マシン40-1を削除する(S204)。
更新実行部65は、新たに空き資源となった計算資源20-1を用いて、仮想マシン40-3の更新を行う。更新実行部65は、S201からS204の手順を繰り返し、更新対象である全ての仮想マシン40を更新する。
上記のとおり、本発明の第1の実施形態では、空き計算資源にBlueスライスを作成し、仮想マシン40に流入するフローの宛先を切り替える動作を繰り返すことで、仮想マシン40の更新を、通信およびサービスの継続状態を維持して行うことが可能である。
また、本発明の第1の実施形態では、新たに空き計算資源となった計算資源20に、新たなBlueスライスを作成し、仮想マシン40に流入するフローの宛先を切り替える動作を繰り返す。これにより、更新対象の仮想マシン40と同数の計算資源20を持っておく必要がなくなり、余剰資源を抑えることが可能になる。
以上、本発明の第1の実施形態において、更新対象の仮想マシン40に1つのフローが流入する場合を例に説明したが、複数のフローが流入している状況でも本発明は適用可能である。更新対象の仮想マシン40に複数のフローが流入する場合には、流入する全てのフローに対して、要件を満たすような経路候補および移動先候補を用いる。
[第2の実施の形態]
[構成の説明]
本願発明の第2の実施形態を、図面を参照して詳細に説明する。なお、第2の実施形態の技術は、第1の実施形態、後述の実施形態のいずれにも適用可能である。
[構成の説明]
本願発明の第2の実施形態を、図面を参照して詳細に説明する。なお、第2の実施形態の技術は、第1の実施形態、後述の実施形態のいずれにも適用可能である。
第2の実施形態の通信システムの構成例は、図1に例示する第1の実施形態の通信システムの構成例と同様であるため、詳細な説明は省略される。
図12は、本発明の第2の実施形態における、運用装置60の構成例を示す図である。
本発明の第2の実施形態における運用装置60は、本発明の第1の実施形態における通信ネットワークを管理する。運用装置60は、トポロジ情報保持部61と、経路候補保持部62と、フロー情報保持部63と、更新手順計算部64と、更新実行部65と、経路計算部66とを含む。
なお、図12の構成要素61から66を繋ぐ実線は論理的な通信ないし呼び出し可能な関係を示したものであり、本発明が構成要素61から66の実装は、この形状で接続されている構成やネットワークに限定されるものではない。
経路候補保持部62は、トポロジ情報保持部61の保持する通信ネットワークのトポロジ上に存在する、計算資源20間の通信経路の候補情報を保持する。経路候補保持部62は、トポロジ情報保持部61に記録されているトポロジにおいて、仮想マシン40が配置されうる計算資源20間の通信経路の候補を、一つあるいは複数保持する。経路候補保持部62の保持する通信経路の候補情報の構成例は、図4、図5に例示した第1の実施形態における経路候補保持部62の保持する通信経路の候補情報の構成例と同様であるため、詳細な説明は省略される。
経路候補保持部62の保持する情報は、ユーザによって保存されてもよいし、経路計算部66によって保存されてもよい。
経路候補保持部62は、例えば、更新手順計算部64が、経路計算部66に対して、通信ネットワークのトポロジ上に存在する通信経路の候補情報をその都度問い合わせる場合には、運用装置60に含まれなくてもよい。
更新手順計算部64は、トポロジ情報保持部61と、経路候補保持部62と、フロー情報保持部63とが保持する情報を参照し、仮想マシンの更新手順を計算する。更新手順計算部64は、例えば、更新作業対象となる個々の仮想マシン40に対して、移動先として、流入するフローの通信要件が満たされる計算資源20を移動先候補として検討する。
更新手順計算部64は、例えば、経路計算部66に対して、通信ネットワークにおける計算資源20間の経路の計算を指示する。更新手順計算部64は、例えば、経路候補保持部62に既に経路候補が記録されている場合には、通信ネットワークにおける計算資源20間の経路の計算を指示しなくてもよいし通信ネットワークにおける計算資源20間の経路の更新指示を出してもよい。
更新手順計算部64は、フロー情報保持部63を参照して、更新対象となる個々の仮想マシン40に流入するフローの有無を確認する。
更新手順計算部64は、算出された経路候補保持部62の保持する情報を参照し、該フローと送信元が同じで、かつ該更新対象の仮想マシン40とは異なる宛先を、移動先候補として抽出する。
なお、更新手順計算部64は、経路候補保持部62だけでなく、フロー情報保持部63を参照して、該フローと送信元が同じで、かつ該更新対象の仮想マシン40とは異なる宛先を、移動先候補として抽出してもよい。
更新手順計算部64が、例えば、経路計算部66に対して、通信ネットワークにおける計算資源20間の経路の候補情報をその都度問い合わせる場合には、経路計算部66から、該通信経路の候補情報を取得してもよい。
更新手順計算部64が更新手順を算出する過程は、第1の実施形態における更新手順計算部64の例と同様であるため、詳細な説明は省略される。
更新手順計算部64は、算出した仮想マシン40の更新手順を、更新実行部65へ転送する。
経路計算部66は、外部からの経路計算要求に応じて、フローに対する経路を計算する。
経路計算部66は、トポロジ情報保持部61から通信ネットワークのトポロジ情報を取得する。経路計算部66は、取得した通信ネットワークのトポロジ情報から、通信ネットワークにおける計算資源20間の経路を計算する。経路計算部66は、例えば、CSPF(Constrainted Shortest Path First:制約付き最短経路法)や、GA(Genetic Algorithm:遺伝的アルゴリズム)等のヒューリスティック法を用いて、該経路を計算する。
経路計算部66は、算出した経路情報を、例えば、経路候補保持部62に保存する。
運用装置60の他の構成は、図2に例示した第1の実施形態における運用装置60の構成例と同様であるため、詳細な説明は省略される。
図13は、本発明の第2の実施形態における、運用装置60の異なる構成例を示す図である。経路計算部66は、例えば、運用装置60に経路候補保持部62が含まれていない場合、算出した経路を更新手順計算部64へ転送してもよい。
[動作の説明]
本発明の第2実施形態における運用装置60の動作について、図14を参照して説明する。以降の説明では、簡単のために、図1に記載の通信ネットワークの構成において、仮想マシン40-1、40-3、40-5を更新する場合について説明する。
本発明の第2実施形態における運用装置60の動作について、図14を参照して説明する。以降の説明では、簡単のために、図1に記載の通信ネットワークの構成において、仮想マシン40-1、40-3、40-5を更新する場合について説明する。
図14は、本発明の第2の実施形態における更新手順計算部64の動作例を示すフローチャートである。
更新手順計算部64は、仮想マシン40-1に対して流入するフローの有無を確認する(S301)。更新手順計算部64は、フロー情報保持部63の保持するフロー情報を参照して、仮想マシン40-1に対して、計算資源20-8から、フローF801が流入していることを確認する。
更新手順計算部64は、経路計算部66に対して、通信ネットワークにおける計算資源20間の経路の計算を指示する(S302)。経路計算部66は、トポロジ情報保持部61を参照し、通信ネットワークにおける計算資源20間の経路を算出する。経路計算部66は、算出した経路を、経路候補保持部62に保存する。
更新手順計算部64は、更新対象の仮想マシン40対して流入するフローが存在しない場合(S303のNo)、経路候補保持部62を参照して、更新対象の仮想マシン40を宛先とするフローの経路を、集合Cへ追加する(S304)。仮想マシン40-1は、この場合(S303のNo)に該当しない。
更新手順計算部64は、仮想マシン40-1に対して流入するフローが存在する場合(S303のYes)、経路候補保持部62を参照して、送信元が計算資源20-8であり、かつ宛先が仮想マシン40-1でないフローの経路を抽出する(S305)。
以降のS306乃至S315は、図8に例示した第1の実施形態の更新手順計算部64の動作例であるS105乃至S114と同様であるので、詳細な説明は省略される。
上記のとおり、本発明の第2の実施形態では、空き計算資源にBlueスライスを作成し、仮想マシン40に流入するフローの宛先を切り替える動作を繰り返すことで、仮想マシン40の更新を、通信およびサービスの継続状態を維持して行うことが可能である。
また、本発明の第2の実施形態では、新たに空き計算資源となった計算資源20に、新たなBlueスライスを作成し、仮想マシン40に流入するフローの宛先を切り替える動作を繰り返す。これにより、更新対象の仮想マシン40と同数の計算資源20を持っておく必要がなくなり、余剰資源を抑えることが可能になる。
本発明の第2の実施形態では、運用装置60自身が、ネットワークのトポロジ情報およびフロー情報を参照することで、フローに対する経路候補を算出する。これにより、ユーザが事前に経路候補を設定する必要がなくなり、仮想マシン40の更新作業を簡素化することが可能である。
以上、本発明の第2の実施形態において、更新対象の仮想マシン40に1つのフローが流入する場合を例に説明したが、複数のフローが流入している状況でも本発明は適用可能である。更新対象の仮想マシン40に複数のフローが流入する場合には、流入する全てのフローに対して、要件を満たすような経路候補および移動先候補を用いる。
[第3の実施の形態]
[構成の説明]
本願発明の第3の実施形態を、図面を参照して詳細に説明する。なお、第3の実施形態の技術は、第1の実施形態、第2の実施形態、後述の実施形態のいずれにも適用可能である。
[構成の説明]
本願発明の第3の実施形態を、図面を参照して詳細に説明する。なお、第3の実施形態の技術は、第1の実施形態、第2の実施形態、後述の実施形態のいずれにも適用可能である。
第3の実施形態の通信システムの構成例は、図1に例示する第1の実施形態の通信システムの構成例と同様であるため、詳細な説明は省略される。
図15は、本発明の第3の実施形態における、運用装置60の構成例を示す図である。
本発明の第3の実施形態における運用装置60は、本発明の第1の実施形態における通信ネットワークを管理する。運用装置60は、更新手順計算部64と、更新実行部65とを含む。
なお、図15の構成要素64から65を繋ぐ実線は論理的な通信ないし呼び出し可能な関係を示したものであり、本発明が構成要素64から65の実装は、この形状で接続されている構成やネットワークに限定されるものではない。
更新手順計算部64は、仮想マシン40の更新手順を計算する。
更新手順計算部64は、例えば、更新作業の対象となる個々の仮想マシン40に対して、更新作業の対象となる仮想マシン40に流入するフローの通信要件が満たされる計算資源20を、移動先候補として検討する。
例えば、更新手順計算部64は、更新対象となる個々の仮想マシン40に流入するフローの有無を確認する。更新対象の仮想マシン40に流入するフローが存在する場合、更新手順計算部64は、該フローと送信元が同じで、かつ該更新対象の仮想マシン40とは異なる宛先を、移動先候補として抽出する。
更新手順計算部64は、例えば、更新対象の仮想マシン40に流入するフローの送信元から移動先候補への経路のうち、通信要件が満たされる経路を抽出し、集合Cとする。例えば、更新手順計算部64は、更新対象の仮想マシン40に流入するフローの遅延上限値と、抽出した経路候補の遅延を比較して、該遅延上限値を超えない経路を経路候補として抽出し、集合Cとする。
更新手順計算部64は、例えば、Blue-Green Deploymentやその類似手段で仮想マシン40を更新する場合、GreenスライスとBlueスライスの間でデータや状態の同期が必要なため、同期が可能な通信要件の経路候補を抽出し、集合Cとする。
更新手順計算部64は、例えば、仮想マシン40を起動していない計算資源20(空き計算資源)を始点として、更新対象である仮想マシン40が存在する計算資源を全て通るような経路を計算する。更新手順計算部64は、例えば、深さ優先探索法を用いて、空き資源を始点として、更新作業対象となる仮想マシン40が存在する計算資源を全て通るような経路を計算する。ただし、更新対象である仮想マシン40が存在する計算資源を全て通るような経路を計算する方法は、深さ優先探索法に限定されず、他の計算方法でもよい。
なお、空き計算資源が複数箇所存在する場合、更新手順計算部64は、例えば、経路計算の始点となるダミーノードを1つ設け、ダミーノードと各空き計算資源のノードをダミーリンクで接続し、ダミーノードを始点として前述の経路計算を行うとよい。更新手順計算部64は、例えば、該経路計算の後に、経路からダミーノードおよびダミーリンクの部分を削除する。これにより、更新手順計算部64は、各空き計算資源を始点として、更新対象の仮想マシン40を通過する複数本の経路を算出できる。
更新手順計算部64は、算出した経路の逆の経路を、仮想マシンの更新手順として、更新実行部65へ転送する。
更新実行部65は、更新手順計算部64が計算した仮想マシンの更新手順に基づいて、仮想マシンの更新を実行する。
更新実行部65は、例えば、空き計算資源に更新対象の仮想マシン40のBlueスライスを作成する。更新実行部65は、作成したBlueスライスと、更新対象の仮想マシン40の状態およびデータの同期を行う。
更新実行部65は、Blueスライスと、更新対象の仮想マシン40の同期を完了した後に、更新対象の仮想マシン40に流入していたフローの宛先を、作成したBlueスライスへ切り替える。更新実行部65は、フローの送信元からBlueスライスへの経路を、集合Cの中から選択する。更新実行部65は、フローの送信元からBlueスライスへの経路について、例えば、最短となる経路を選択してもよいし、最小コストとなる経路を選択してもよい。更新実行部65は、例えば、フローの送信元からBlueスライスへの経路として、複数の経路を選択し、マルチパスルーティングによりフローを収容しても構わない。
なお、更新実行部65は、更新対象の仮想マシン40に流入していたフローの宛先を、作成したBlueスライスへ切り替える前に、選択した経路候補の経路でフローの通信が可能であるように、ネットワークを制御する。このネットワークの制御は、運用装置60の更新実行部65が実行することに限られず、例えば、NMSや、OpenFlowコントローラが集中的に行ってもよい。運用装置60が、例えば、NMSやOpenFlowコントローラであってもよい。また、このネットワークの制御は、RSVPなどを用いて、分散的に行ってもよい。
更新実行部65は、更新対象の仮想マシン40に流入していたフローの宛先を、作成したBlueスライスへ切り替えた後に、Blueスライスが正常に動作していることを確認する。更新実行部65は、Blueスライスが正常に動作していることを確認した後、更新対象であった仮想マシン40を削除する。
更新実行部65は、新たに空き計算資源となった計算資源20を用いて、新たな更新対象の仮想マシン40の更新を実行する。更新実行部65は、例えば、新たな更新対象の仮想マシン40の更新を実行する場合に、新たに設定するフローの経路は、前に存在していた仮想マシン40が用いていたフローの経路と、同様の経路を設定してもよい。更新実行部65は、例えば、前に存在していた仮想マシン40が用いていたフローの経路を再設定できない場合には、その経路の情報を削除し、新たな経路を設定する。
以上、本発明の第3の実施形態において、フローの送信元が単一の仮想マシン40としていたが、個々のフローの送信元が異なる仮想マシン40であっても構わない。また、本説明におけるフローの送信元が仮想マシン40ではなく、外部ネットワーク70であってもよい。フローの送信元が外部ネットワーク70である場合の構成例は、図7に図示する第1の実施形態の構成例と同様であるため、詳細な説明は省略される。
[動作の説明]
本発明の第3実施形態における運用装置60の動作について、図16を参照して説明する。以降の説明では、簡単のために、図1に記載の通信ネットワークの構成において、仮想マシン40-1、40-3、40-5を更新する場合について説明する。
本発明の第3実施形態における運用装置60の動作について、図16を参照して説明する。以降の説明では、簡単のために、図1に記載の通信ネットワークの構成において、仮想マシン40-1、40-3、40-5を更新する場合について説明する。
図16は、本発明の第3の実施形態における更新手順計算部64の動作例を示すフローチャートである。
更新手順計算部64は、仮想マシン40-1に対して流入するフローの有無を確認する(S401)。更新手順計算部64は、仮想マシン40-1に対して、計算資源20-8から、フローF801が流入していることを確認する。
更新手順計算部64は、更新対象の仮想マシン40に対して流入するフローが存在しない場合(S402のNo)、更新対象の仮想マシン40を宛先とするフローの経路を、集合Cへ追加する(S403)。仮想マシン40-1は、この場合(S402のNo)に該当しない。
更新手順計算部64は、仮想マシン40-1に対して流入するフローが存在する場合(S402のYes)、送信元が計算資源20-8であり、かつ宛先が仮想マシン40-1でないフローの経路を抽出する(S404)。
更新手順計算部64は、抽出したフローの経路の遅延を確認する(S405)。
更新手順計算部64は、抽出したフローの経路の遅延が、通信要件を満たしていない場合(S406のNo)、該フローの経路を経路候補から外す(S407)。更新手順計算部64は、抽出したフローの経路の遅延が、通信要件を満たしている場合に(S406のYes)、該フローの経路を経路候補として集合Cへ追加する(S408)。
更新手順計算部64は、S401からS408の手順を繰り返し、更新対象である全ての仮想マシン40の移動先候補を抽出する(S409)。
更新手順計算部64は、例えば、深さ優先探索法を用いて、空き計算資源を始点として、更新作業対象となる仮想マシン40-1、40-3、40-5が存在する計算資源20を全て通るような経路を計算する。更新手順計算部64は、算出した経路と逆向きの経路を、更新手順として算出する(S410)。
第3の実施形態の更新実行部65の動作例は、図11に例示する第1の実施形態の更新実行部65の動作例と同様であるため、詳細な説明は省略される。
上記のとおり、本発明の第3の実施形態では、空き計算資源にBlueスライスを作成し、仮想マシン40に流入するフローの宛先を切り替える動作を繰り返すことで、仮想マシン40の更新を、通信およびサービスの継続状態を維持して行うことが可能である。
また、本発明の第3の実施形態では、新たに空き計算資源となった計算資源20に、新たなBlueスライスを作成し、仮想マシン40に流入するフローの宛先を切り替える動作を繰り返す。これにより、更新対象の仮想マシン40と同数の計算資源20を持っておく必要がなくなり、余剰資源を抑えることが可能になる。
以上、本発明の第3の実施形態において、更新対象の仮想マシン40に1つのフローが流入する場合を例に説明したが、複数のフローが流入している状況でも本発明は適用可能である。更新対象の仮想マシン40に複数のフローが流入する場合には、流入する全てのフローに対して、要件を満たすような経路候補および移動先候補を用いる。
以上、本発明の実施形態を説明したが、本発明は、上記したそれぞれの実施形態に限定されるものではない。本発明は、各実施形態の変形・置換・調整に基づいて実施できる。
また、本発明は、各実施形態を任意に組み合わせて実施することもできる。即ち、本発明は、本明細書の全ての開示内容、技術的思想に従って実現できる各種変形、修正を含む。
また、本発明は、SDN(Software-Defined Network)の技術分野にも適用可能である。
また、本発明は、各実施形態を任意に組み合わせて実施することもできる。即ち、本発明は、本明細書の全ての開示内容、技術的思想に従って実現できる各種変形、修正を含む。
また、本発明は、SDN(Software-Defined Network)の技術分野にも適用可能である。
また、本発明の実施形態において、運用装置のコンピュータ、CPU又はMPU(Micro-Processing Unit)等が、上述した各実施形態の機能を実現するソフトウェア(プログラム)を実行してもよい。運用装置のコンピュータ、CPU又はMPU等は、例えばCD-R(Compact Disc Recordable)等の各種記憶媒体又はネットワークを介して、上述した各実施形態の機能を実現するソフトウェア(プログラム)を取得してもよい。運用装置が取得するプログラムや該プログラムを記憶した記憶媒体は、本発明を構成することになる。なお、該ソフトウェア(プログラム)は、例えば、運用装置に含まれる所定の記憶部に、予め記憶されていてもよい。運用装置のコンピュータ、CPU又はMPU等は、取得したソフトウェア(プログラム)のプログラムコードを読み出して実行してもよい。
以上、各実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2016年3月30日に出願された日本出願特願2016-066980を基礎とする優先権を主張し、その開示の全てをここに取り込む。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
[付記1]
仮想マシンを順番に更新するための更新手順を決定する更新手順計算手段と、
決定された前記更新手順に従って、複数の前記仮想マシンの更新を実行する更新実行手段と、を含み、
前記更新手順計算手段は、
複数の前記仮想マシンそれぞれに対して更新先の計算資源の候補を抽出し、
抽出された更新先の計算資源の候補に基づいて、複数の前記仮想マシンそれぞれの更新先の計算資源と、複数の前記仮想マシンの更新の順番とを決定する
運用装置。
仮想マシンを順番に更新するための更新手順を決定する更新手順計算手段と、
決定された前記更新手順に従って、複数の前記仮想マシンの更新を実行する更新実行手段と、を含み、
前記更新手順計算手段は、
複数の前記仮想マシンそれぞれに対して更新先の計算資源の候補を抽出し、
抽出された更新先の計算資源の候補に基づいて、複数の前記仮想マシンそれぞれの更新先の計算資源と、複数の前記仮想マシンの更新の順番とを決定する
運用装置。
[付記2]
前記更新手順計算手段は、前記仮想マシンが起動されていない計算資源を、最初に更新する仮想マシンの更新先の計算資源として決定する
付記1に記載の運用装置。
前記更新手順計算手段は、前記仮想マシンが起動されていない計算資源を、最初に更新する仮想マシンの更新先の計算資源として決定する
付記1に記載の運用装置。
[付記3]
前記更新手順計算手段は、複数の前記仮想マシンそれぞれに流入するフローに基づいて、複数の前記仮想マシンそれぞれに対して更新先の計算資源の候補を抽出する
付記1又は2に記載の運用装置。
前記更新手順計算手段は、複数の前記仮想マシンそれぞれに流入するフローに基づいて、複数の前記仮想マシンそれぞれに対して更新先の計算資源の候補を抽出する
付記1又は2に記載の運用装置。
[付記4]
前記更新手順計算手段は、前記フローの送信元の仮想マシンが通信可能な計算資源を、前記更新先の計算資源の候補として抽出する
付記3に記載の運用装置。
前記更新手順計算手段は、前記フローの送信元の仮想マシンが通信可能な計算資源を、前記更新先の計算資源の候補として抽出する
付記3に記載の運用装置。
[付記5]
前記更新手順計算手段は、前記フローの通信に関する条件を満たす計算資源を、前記更新先の計算資源の候補として抽出する
付記3又は4に記載の運用装置。
前記更新手順計算手段は、前記フローの通信に関する条件を満たす計算資源を、前記更新先の計算資源の候補として抽出する
付記3又は4に記載の運用装置。
[付記6]
前記更新手順計算手段は、
抽出した更新先の計算資源の候補のうち、前記仮想マシンの更新に必要な時間が前記フローの遅延許容時間を超えない計算資源を、更新先の計算資源として決定する
付記3乃至5のいずれかに記載の運用装置。
前記更新手順計算手段は、
抽出した更新先の計算資源の候補のうち、前記仮想マシンの更新に必要な時間が前記フローの遅延許容時間を超えない計算資源を、更新先の計算資源として決定する
付記3乃至5のいずれかに記載の運用装置。
[付記7]
仮想マシンが構成される計算資源と、
前記仮想マシンの更新を指示する運用装置と、を含み、
前記運用装置は、
複数の前記仮想マシンを順番に更新するための更新手順を決定する更新手順計算手段と、
決定された前記更新手順に従って、複数の前記仮想マシンの更新を実行する更新実行手段と、を含み、
前記更新手順計算手段は、
複数の前記仮想マシンそれぞれに対して更新先の計算資源の候補を抽出し、
抽出した更新先の計算資源の候補に基づいて、複数の前記仮想マシンそれぞれの更新先の計算資源と、複数の前記仮想マシンの更新の順番とを決定する
通信システム。
仮想マシンが構成される計算資源と、
前記仮想マシンの更新を指示する運用装置と、を含み、
前記運用装置は、
複数の前記仮想マシンを順番に更新するための更新手順を決定する更新手順計算手段と、
決定された前記更新手順に従って、複数の前記仮想マシンの更新を実行する更新実行手段と、を含み、
前記更新手順計算手段は、
複数の前記仮想マシンそれぞれに対して更新先の計算資源の候補を抽出し、
抽出した更新先の計算資源の候補に基づいて、複数の前記仮想マシンそれぞれの更新先の計算資源と、複数の前記仮想マシンの更新の順番とを決定する
通信システム。
[付記8]
前記更新手順計算手段は、前記仮想マシンが起動されていない計算資源を、最初に更新する仮想マシンの更新先の計算資源として決定する
付記7に記載の通信システム。
前記更新手順計算手段は、前記仮想マシンが起動されていない計算資源を、最初に更新する仮想マシンの更新先の計算資源として決定する
付記7に記載の通信システム。
[付記9]
前記更新手順計算手段は、複数の前記仮想マシンそれぞれに流入するフローに基づいて、複数の前記仮想マシンそれぞれに対して更新先の計算資源の候補を抽出する
付記7又は8に記載の通信システム。
前記更新手順計算手段は、複数の前記仮想マシンそれぞれに流入するフローに基づいて、複数の前記仮想マシンそれぞれに対して更新先の計算資源の候補を抽出する
付記7又は8に記載の通信システム。
[付記10]
前記更新手順計算手段は、前記フローの送信元の仮想マシンが通信可能な計算資源を、前記更新先の計算資源の候補として抽出する
付記9に記載の通信システム。
前記更新手順計算手段は、前記フローの送信元の仮想マシンが通信可能な計算資源を、前記更新先の計算資源の候補として抽出する
付記9に記載の通信システム。
[付記11]
前記更新手順計算手段は、前記フローの通信に関する条件を満たす計算資源を、前記更新先の計算資源の候補として抽出する
付記9又は10に記載の通信システム。
前記更新手順計算手段は、前記フローの通信に関する条件を満たす計算資源を、前記更新先の計算資源の候補として抽出する
付記9又は10に記載の通信システム。
[付記12]
前記更新手順計算手段は、
抽出した更新先の計算資源の候補のうち、前記仮想マシンの更新に必要な時間が前記フローの遅延許容時間を超えない計算資源を、更新先の計算資源として決定する
付記9乃至11のいずれかに記載の通信システム。
前記更新手順計算手段は、
抽出した更新先の計算資源の候補のうち、前記仮想マシンの更新に必要な時間が前記フローの遅延許容時間を超えない計算資源を、更新先の計算資源として決定する
付記9乃至11のいずれかに記載の通信システム。
[付記13]
仮想マシンを順番に更新するための更新方法であって、
複数の前記仮想マシンそれぞれに対して更新先の計算資源の候補を抽出し、
抽出された更新先の計算資源の候補に基づいて、複数の前記仮想マシンそれぞれの更新先の計算資源と、複数の前記仮想マシンの更新の順番とを決定し、
決定された前記更新の順番に従って、複数の前記仮想マシンの更新を実行する
ことを含む更新方法。
仮想マシンを順番に更新するための更新方法であって、
複数の前記仮想マシンそれぞれに対して更新先の計算資源の候補を抽出し、
抽出された更新先の計算資源の候補に基づいて、複数の前記仮想マシンそれぞれの更新先の計算資源と、複数の前記仮想マシンの更新の順番とを決定し、
決定された前記更新の順番に従って、複数の前記仮想マシンの更新を実行する
ことを含む更新方法。
[付記14]
前記仮想マシンが起動されていない計算資源を、最初に更新する仮想マシンの更新先の計算資源として決定する
ことをさらに含む付記13に記載の更新方法。
前記仮想マシンが起動されていない計算資源を、最初に更新する仮想マシンの更新先の計算資源として決定する
ことをさらに含む付記13に記載の更新方法。
[付記15]
複数の前記仮想マシンそれぞれに流入するフローに基づいて、複数の前記仮想マシンそれぞれに対して更新先の計算資源の候補を抽出する
ことをさらに含む付記13又は14に記載の更新方法。
複数の前記仮想マシンそれぞれに流入するフローに基づいて、複数の前記仮想マシンそれぞれに対して更新先の計算資源の候補を抽出する
ことをさらに含む付記13又は14に記載の更新方法。
[付記16]
前記フローの送信元の仮想マシンが通信可能な計算資源を、前記更新先の計算資源の候補として抽出する
ことをさらに含む付記15に記載の更新方法。
前記フローの送信元の仮想マシンが通信可能な計算資源を、前記更新先の計算資源の候補として抽出する
ことをさらに含む付記15に記載の更新方法。
[付記17]
前記フローの通信に関する条件を満たす計算資源を、前記更新先の計算資源の候補として抽出する
ことをさらに含む付記15又は16に記載の更新方法。
前記フローの通信に関する条件を満たす計算資源を、前記更新先の計算資源の候補として抽出する
ことをさらに含む付記15又は16に記載の更新方法。
[付記18]
抽出した更新先の計算資源の候補のうち、前記仮想マシンの更新に必要な時間が前記フローの遅延許容時間を超えない計算資源を、更新先の計算資源として決定する
ことをさらに含む付記15乃至17のいずれかに記載の更新方法。
抽出した更新先の計算資源の候補のうち、前記仮想マシンの更新に必要な時間が前記フローの遅延許容時間を超えない計算資源を、更新先の計算資源として決定する
ことをさらに含む付記15乃至17のいずれかに記載の更新方法。
[付記19]
仮想マシンを順番に更新するための更新方法であって、
複数の前記仮想マシンそれぞれに対して更新先の計算資源の候補を抽出し、
抽出した更新先の計算資源の候補に基づいて、複数の前記仮想マシンそれぞれの更新先の計算資源と、複数の前記仮想マシンの更新の順番とを決定し、
決定された前記更新の順番に従って、複数の前記仮想マシンの更新を実行する
ことを含む更新方法。
仮想マシンを順番に更新するための更新方法であって、
複数の前記仮想マシンそれぞれに対して更新先の計算資源の候補を抽出し、
抽出した更新先の計算資源の候補に基づいて、複数の前記仮想マシンそれぞれの更新先の計算資源と、複数の前記仮想マシンの更新の順番とを決定し、
決定された前記更新の順番に従って、複数の前記仮想マシンの更新を実行する
ことを含む更新方法。
[付記20]
前記仮想マシンが起動されていない計算資源を、最初に更新する仮想マシンの更新先の計算資源として決定する
ことをさらに含む付記19に記載の更新方法。
前記仮想マシンが起動されていない計算資源を、最初に更新する仮想マシンの更新先の計算資源として決定する
ことをさらに含む付記19に記載の更新方法。
[付記21]
複数の前記仮想マシンそれぞれに流入するフローに基づいて、複数の前記仮想マシンそれぞれに対して更新先の計算資源の候補を抽出する
ことをさらに含む付記19又は20に記載の更新方法。
複数の前記仮想マシンそれぞれに流入するフローに基づいて、複数の前記仮想マシンそれぞれに対して更新先の計算資源の候補を抽出する
ことをさらに含む付記19又は20に記載の更新方法。
[付記22]
前記フローの送信元の仮想マシンが通信可能な計算資源を、前記更新先の計算資源の候補として抽出する
ことをさらに含む付記21に記載の更新方法。
前記フローの送信元の仮想マシンが通信可能な計算資源を、前記更新先の計算資源の候補として抽出する
ことをさらに含む付記21に記載の更新方法。
[付記23]
前記フローの通信に関する条件を満たす計算資源を、前記更新先の計算資源の候補として抽出する
ことをさらに含む付記21又は22に記載の更新方法。
前記フローの通信に関する条件を満たす計算資源を、前記更新先の計算資源の候補として抽出する
ことをさらに含む付記21又は22に記載の更新方法。
[付記24]
抽出した更新先の計算資源の候補のうち、前記仮想マシンの更新に必要な時間が前記フローの遅延許容時間を超えない計算資源を、更新先の計算資源として決定する
ことをさらに含む付記21乃至23のいずれかに記載の更新方法。
抽出した更新先の計算資源の候補のうち、前記仮想マシンの更新に必要な時間が前記フローの遅延許容時間を超えない計算資源を、更新先の計算資源として決定する
ことをさらに含む付記21乃至23のいずれかに記載の更新方法。
10 ノード
20 計算資源
30 ノード間リンク
40 仮想マシン
50 計算資源用リンク
60 運用装置
61 トポロジ情報保持部
611 ネットワークトポロジ管理テーブル
62 経路候補保持部
621 通信経路候補上ノードテーブル
622 通信経路候補上リンクテーブル
63 フロー情報保持部
631 フロー情報テーブル
64 更新手順計算部
65 更新実行部
66 経路計算部
70 外部ネットワーク
20 計算資源
30 ノード間リンク
40 仮想マシン
50 計算資源用リンク
60 運用装置
61 トポロジ情報保持部
611 ネットワークトポロジ管理テーブル
62 経路候補保持部
621 通信経路候補上ノードテーブル
622 通信経路候補上リンクテーブル
63 フロー情報保持部
631 フロー情報テーブル
64 更新手順計算部
65 更新実行部
66 経路計算部
70 外部ネットワーク
Claims (24)
- 仮想マシンを順番に更新するための更新手順を決定する更新手順計算手段と、
決定された前記更新手順に従って、複数の前記仮想マシンの更新を実行する更新実行手段と、を含み、
前記更新手順計算手段は、
複数の前記仮想マシンそれぞれに対して更新先の計算資源の候補を抽出し、
抽出された更新先の計算資源の候補に基づいて、複数の前記仮想マシンそれぞれの更新先の計算資源と、複数の前記仮想マシンの更新の順番とを決定する
運用装置。 - 前記更新手順計算手段は、前記仮想マシンが起動されていない計算資源を、最初に更新する仮想マシンの更新先の計算資源として決定する
請求項1に記載の運用装置。 - 前記更新手順計算手段は、複数の前記仮想マシンそれぞれに流入するフローに基づいて、複数の前記仮想マシンそれぞれに対して更新先の計算資源の候補を抽出する
請求項1又は2に記載の運用装置。 - 前記更新手順計算手段は、前記フローの送信元の仮想マシンが通信可能な計算資源を、前記更新先の計算資源の候補として抽出する
請求項3に記載の運用装置。 - 前記更新手順計算手段は、前記フローの通信に関する条件を満たす計算資源を、前記更新先の計算資源の候補として抽出する
請求項3又は4に記載の運用装置。 - 前記更新手順計算手段は、
抽出した更新先の計算資源の候補のうち、前記仮想マシンの更新に必要な時間が前記フローの遅延許容時間を超えない計算資源を、更新先の計算資源として決定する
請求項3乃至5のいずれかに記載の運用装置。 - 仮想マシンが構成される計算資源と、
前記仮想マシンの更新を指示する運用装置と、を含み、
前記運用装置は、
複数の前記仮想マシンを順番に更新するための更新手順を決定する更新手順計算手段と、
決定された前記更新手順に従って、複数の前記仮想マシンの更新を実行する更新実行手段と、を含み、
前記更新手順計算手段は、
複数の前記仮想マシンそれぞれに対して更新先の計算資源の候補を抽出し、
抽出した更新先の計算資源の候補に基づいて、複数の前記仮想マシンそれぞれの更新先の計算資源と、複数の前記仮想マシンの更新の順番とを決定する
通信システム。 - 前記更新手順計算手段は、前記仮想マシンが起動されていない計算資源を、最初に更新する仮想マシンの更新先の計算資源として決定する
請求項7に記載の通信システム。 - 前記更新手順計算手段は、複数の前記仮想マシンそれぞれに流入するフローに基づいて、複数の前記仮想マシンそれぞれに対して更新先の計算資源の候補を抽出する
請求項7又は8に記載の通信システム。 - 前記更新手順計算手段は、前記フローの送信元の仮想マシンが通信可能な計算資源を、前記更新先の計算資源の候補として抽出する
請求項9に記載の通信システム。 - 前記更新手順計算手段は、前記フローの通信に関する条件を満たす計算資源を、前記更新先の計算資源の候補として抽出する
請求項9又は10に記載の通信システム。 - 前記更新手順計算手段は、
抽出した更新先の計算資源の候補のうち、前記仮想マシンの更新に必要な時間が前記フローの遅延許容時間を超えない計算資源を、更新先の計算資源として決定する
請求項9乃至11のいずれかに記載の通信システム。 - 仮想マシンを順番に更新するための更新方法であって、
複数の前記仮想マシンそれぞれに対して更新先の計算資源の候補を抽出し、
抽出された更新先の計算資源の候補に基づいて、複数の前記仮想マシンそれぞれの更新先の計算資源と、複数の前記仮想マシンの更新の順番とを決定し、
決定された前記更新の順番に従って、複数の前記仮想マシンの更新を実行する
ことを含む更新方法。 - 前記仮想マシンが起動されていない計算資源を、最初に更新する仮想マシンの更新先の計算資源として決定する
ことをさらに含む請求項13に記載の更新方法。 - 複数の前記仮想マシンそれぞれに流入するフローに基づいて、複数の前記仮想マシンそれぞれに対して更新先の計算資源の候補を抽出する
ことをさらに含む請求項13又は14に記載の更新方法。 - 前記フローの送信元の仮想マシンが通信可能な計算資源を、前記更新先の計算資源の候補として抽出する
ことをさらに含む請求項15に記載の更新方法。 - 前記フローの通信に関する条件を満たす計算資源を、前記更新先の計算資源の候補として抽出する
ことをさらに含む請求項15又は16に記載の更新方法。 - 抽出した更新先の計算資源の候補のうち、前記仮想マシンの更新に必要な時間が前記フローの遅延許容時間を超えない計算資源を、更新先の計算資源として決定する
ことをさらに含む請求項15乃至17のいずれかに記載の更新方法。 - 仮想マシンを順番に更新するための更新方法であって、
複数の前記仮想マシンそれぞれに対して更新先の計算資源の候補を抽出し、
抽出した更新先の計算資源の候補に基づいて、複数の前記仮想マシンそれぞれの更新先の計算資源と、複数の前記仮想マシンの更新の順番とを決定し、
決定された前記更新の順番に従って、複数の前記仮想マシンの更新を実行する
ことを含む更新方法。 - 前記仮想マシンが起動されていない計算資源を、最初に更新する仮想マシンの更新先の計算資源として決定する
ことをさらに含む請求項19に記載の更新方法。 - 複数の前記仮想マシンそれぞれに流入するフローに基づいて、複数の前記仮想マシンそれぞれに対して更新先の計算資源の候補を抽出する
ことをさらに含む請求項19又は20に記載の更新方法。 - 前記フローの送信元の仮想マシンが通信可能な計算資源を、前記更新先の計算資源の候補として抽出する
ことをさらに含む請求項21に記載の更新方法。 - 前記フローの通信に関する条件を満たす計算資源を、前記更新先の計算資源の候補として抽出する
ことをさらに含む請求項21又は22に記載の更新方法。 - 抽出した更新先の計算資源の候補のうち、前記仮想マシンの更新に必要な時間が前記フローの遅延許容時間を超えない計算資源を、更新先の計算資源として決定する
ことをさらに含む請求項21乃至23のいずれかに記載の更新方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018509070A JPWO2017169947A1 (ja) | 2016-03-30 | 2017-03-21 | 運用装置、通信システムおよび更新方法 |
| US16/086,661 US20190108050A1 (en) | 2016-03-30 | 2017-03-21 | Operation device, communication system, and update method |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016066980 | 2016-03-30 | ||
| JP2016-066980 | 2016-03-30 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2017169947A1 true WO2017169947A1 (ja) | 2017-10-05 |
Family
ID=59965206
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2017/011097 Ceased WO2017169947A1 (ja) | 2016-03-30 | 2017-03-21 | 運用装置、通信システムおよび更新方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20190108050A1 (ja) |
| JP (1) | JPWO2017169947A1 (ja) |
| WO (1) | WO2017169947A1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018032940A (ja) * | 2016-08-23 | 2018-03-01 | 日本電気株式会社 | 仮想マシン制御装置とその制御方法、及び、管理装置とその制御方法 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005092803A (ja) * | 2003-09-19 | 2005-04-07 | Fujitsu Ltd | ソフトウェアに修正情報を適用する装置および方法 |
| JP2015022629A (ja) * | 2013-07-22 | 2015-02-02 | 日本電信電話株式会社 | 統合制御装置および統合制御方法 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2693336A4 (en) * | 2011-03-28 | 2016-03-23 | Nec Corp | VIRTUAL MACHINE MANAGEMENT SYSTEM AND METHOD FOR MANAGING VIRTUAL MACHINES |
| HK1198564A1 (en) * | 2013-08-15 | 2015-05-15 | 华为技术有限公司 | A resource provisioning method |
-
2017
- 2017-03-21 WO PCT/JP2017/011097 patent/WO2017169947A1/ja not_active Ceased
- 2017-03-21 JP JP2018509070A patent/JPWO2017169947A1/ja active Pending
- 2017-03-21 US US16/086,661 patent/US20190108050A1/en not_active Abandoned
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005092803A (ja) * | 2003-09-19 | 2005-04-07 | Fujitsu Ltd | ソフトウェアに修正情報を適用する装置および方法 |
| JP2015022629A (ja) * | 2013-07-22 | 2015-02-02 | 日本電信電話株式会社 | 統合制御装置および統合制御方法 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018032940A (ja) * | 2016-08-23 | 2018-03-01 | 日本電気株式会社 | 仮想マシン制御装置とその制御方法、及び、管理装置とその制御方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPWO2017169947A1 (ja) | 2019-02-07 |
| US20190108050A1 (en) | 2019-04-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101989333B1 (ko) | 소프트웨어 정의 네트워킹에서의 데이터 전달 방법, 기기 및 시스템 | |
| US9900221B2 (en) | Controlling a topology of a network | |
| CN102884763B (zh) | 跨数据中心的虚拟机迁移方法、服务控制网关及系统 | |
| US10893108B2 (en) | Maintaining application state of mobile endpoint device moving between virtualization hosts based on sharing connection-based metadata | |
| ES2614863T3 (es) | Control de servicio en nube informática y arquitectura de gestión extendida para conectarse al estrato de red | |
| JP6619096B2 (ja) | ファイアウォールクラスタ | |
| US20160006642A1 (en) | Network-wide service controller | |
| CN103684960A (zh) | 网络系统以及虚拟节点的迁移方法 | |
| CN103973567B (zh) | 虚拟专用网络的路由配置方法及装置 | |
| WO2015167479A1 (en) | Efficient routing in software defined networks | |
| US11444840B2 (en) | Virtualized networking application and infrastructure | |
| JP6206508B2 (ja) | パケット転送装置、制御装置、通信システム、通信方法及びプログラム | |
| CN108123819B (zh) | 一种虚实网络无缝融合的仿真方法 | |
| JP2011160363A (ja) | コンピュータシステム、コントローラ、スイッチ、及び通信方法 | |
| CN105227460B (zh) | 一种基于sdn的地震解释系统 | |
| CN108400922B (zh) | 虚拟局域网络配置系统与方法及其计算机可读存储介质 | |
| CN109587286A (zh) | 一种设备接入控制方法及装置 | |
| CN104065553B (zh) | 虚拟网络迁移方法和相关设备 | |
| JP5904285B2 (ja) | 通信システム、仮想ネットワーク管理装置、通信ノード、通信方法及びプログラム | |
| WO2020098946A1 (en) | Network node and method for supporting a service based architecture | |
| EP2983333B1 (en) | A system and method for providing routes to physical residential gateways | |
| WO2017169947A1 (ja) | 運用装置、通信システムおよび更新方法 | |
| US20180109472A1 (en) | Controller, control method and program | |
| JP5889813B2 (ja) | 通信システムおよびプログラム | |
| CN112751766A (zh) | 报文转发方法、装置及计算机存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 2018509070 Country of ref document: JP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17774488 Country of ref document: EP Kind code of ref document: A1 |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 17774488 Country of ref document: EP Kind code of ref document: A1 |