JP2013200805A - 信号振り分けシステム、信号振り分け方法及びコンピュータ・プログラム - Google Patents

信号振り分けシステム、信号振り分け方法及びコンピュータ・プログラム Download PDF

Info

Publication number
JP2013200805A
JP2013200805A JP2012069878A JP2012069878A JP2013200805A JP 2013200805 A JP2013200805 A JP 2013200805A JP 2012069878 A JP2012069878 A JP 2012069878A JP 2012069878 A JP2012069878 A JP 2012069878A JP 2013200805 A JP2013200805 A JP 2013200805A
Authority
JP
Japan
Prior art keywords
session
destination
transfer
control signal
distribution system
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.)
Pending
Application number
JP2012069878A
Other languages
English (en)
Inventor
Tomohito Iguchi
智仁 井口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2012069878A priority Critical patent/JP2013200805A/ja
Publication of JP2013200805A publication Critical patent/JP2013200805A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】サービスが停止する期間を低減する信号振り分けシステム等を提供する。
【解決手段】信号振り分けシステム10は、第1セッションにおいて発せられた制御信号40を、前記第1セッションに関連付けされた第1の送り先に送信する第1処理を行うと共に、第2セッションに関連付けされたセッションデータ30が転送される処理が完了したことを検出した場合に、前記第2セッションに関連付けされた第2の送り先を変更する第2処理を行う制御信号送信部25を備える。
【選択図】 図1

Description

本発明は、ライブマイグレーションを実現する情報処理の技術分野に関する。
ライブマイグレーションは、稼動している仮想マシン(以降、「VM」と略記する。)にて動作するオペレーティングシステム(以降、「OS」と略記する)、ソフトウェア(「アプリケーションプログラム」、「アプリケーション」とも記述する)などを、そのサービスを停止することなく、他のVM(以降、移し変える先に存在するVMを「転送先VM」と記述する。)へ移し変えることである。以降の説明において、元々、ソフトウェアなどサービスを提供しているVMを、「転送元VM」と記す。
非特許文献1は、ライブマイグレーション機能について紹介している。ライブマイグレーション機能は、VMが柔軟なプロビジョニングを行うことを可能にする。そのため、そのライブマイグレーション機能により、VM上で動作するサーバの停止・稼動と、計算機(以降、「情報処理装置」、「コンピュータ」、あるいは、「マシン」とも記述する)の交換・増設とを切り離すことが可能になる。即ち、サーバ管理者は、計算機の処理性能を増強する場合であっても、VMが提供しているサービスを止める必要がない。それは、運用面におけるメリットであるため、ライブマイグレーション機能は、サーバを仮想化する利点の一つとして考えられることが多い。
但し、これまで知られているライブマイグレーションシステム(以降、「LMS」と略記する)は、転送元VMにて稼動しているソフトウェア等のサービスを一時的に停止した後に、その停止中に転送元VMにおけるメモリに存在するビット列を、転送先VMにおけるメモリへコピーする。即ち、そのLMSは、サービス停止時間が発生するシステムである。図15を参照しながら、サービス停止時間が発生するLMSが実施する処理について説明をする。
図15は、ライブマイグレーション中にサービス停止時間が発生する一般的なLMSが行う処理を、概念的に示した図である。図15を参照すると、一般的なLMSは、まず、転送元VMと転送先VMとの間における通信接続を確立する(図15における「(a)接続の確立」)。次に、そのLMSは、転送元VMにおけるメモリに存在するビット列を、ページごとに転送先VMにおけるメモリへ転送する(図15における「(b)メモリ領域の転送(全域)」)。LMSがメモリに存在するビット列を転送しているときに、そのメモリに存在するビット列が更新されると、その更新されたメモリ領域が存在するページ(以降、このページを「DirtyPage」と表現する)について、DirtyPageフラグが設定される。
次に、そのLMSは、各DirtyPageフラグが設定されているページを探し、DirtyPageを再度、転送先VMに転送する。ただし、この転送中においてもメモリは更新されるため、更新が発生した場合には、DirtyPageフラグが、再度設定される。LMSは、DirtyPageフラグが存在しなくなるまで、転送先VMに、DirtyPageを繰り返し転送する(図15における「(c)DirtyPageの反復転送」)。
そのLMSは、未転送のメモリ領域量が所定の閾値を下回った場合に、強制的に転送元VMを停止する(図15における「(d)転送元VMの停止」)。それに伴って、転送元VMが行っているソフトウェア等のサービスは、停止する。従って、転送元VMが停止している間は、メモリ更新が行われない。LMSは、転送元VMが停止している間に、DirtyPageを転送先VMへコピーする。次に、そのLMSは、転送先VMを起動する。その後、転送先VMは、転送元VMにて稼動していたソフトウェア等のサービスを提供する(図15における「(e)VMの移行完了」)。
このような処理を行う一般的なLMSの一例として、例えば、特許文献1が開示するLMSは、稼動しているサービスにおける動作特性を監視・利用しながら、影響が小さいタイミングにてデータを転送する。
また、特許文献2が開示するLMSは、転送元VMから転送するデータを、更新が発生する可能性がない固定データと更新が発生する可能性がある可変データとに分ける。次に、そのLMSは、更新が発生する可能性がある可変データについて「論理コンテナ」を作成する。その後に、そのLMSは、転送するデータを、論理コンテナを単位として、転送先VMに転送する。
そして、特許文献3が開示するサーバ装置は、転送元VMと転送先VMとがそれぞれ参照しているストレージに、同じゲストOSのイメージをあらかじめ配置する。次に、そのサーバ装置は、移行時に各ゲストOSが使用しているメモリデータ・CPU(Central Processing Unit)レジスタをコピーすることにより移行する。そのような処理を行うことにより、2つのVMがストレージを共有することを回避する。その理由は、広域ネットワークを経由するデータセンター等において、通信ネットワーク(以下、「ネットワーク」と略記する)の遅延等により、ストレージを共有することが困難な場合があるためである。
特開2009−116852号公報 特開2009−116859号公報 特開2011−210151号公報
http://www.atmarkit.co.jp/fwin2k/operation/livemig01/livemig01_01.html
特許文献1あるいは特許文献2が開示するLMSは、上述したようにライブマイグレーションを実現するために、転送元VMを停止することがある。それに伴い、転送元VMが提供していたサービスは、停止する。サービスが停止する影響は、大量のセッションを処理するような、メモリを更新する頻度が高く、かつリアルタイム応答性が求められる場合に大きい。例えば、リアルタイム応答性が要求される分野には、電話システムなどが存在する。
本発明の主たる目的は、サービスが停止する期間を低減する信号振り分けシステム等を提供することである。
前述の目的を達成するために、本発明に係る信号振り分けシステムは、以下の構成を備えることを特徴とする。
即ち、本発明に係る信号振り分けシステムは、
第1セッションにおいて発せられた制御信号を、前記第1セッションに関連付けされた第1の送り先に送信する第1処理を行うと共に、第2セッションに関連付けされたセッションデータが転送される処理が完了したことを検出した場合に、前記第2セッションに関連付けされた第2の送り先を変更する第2処理を行う制御信号送信部を
備えることを特徴とする。
また、本発明の他の見地として、本発明に係る信号振り分け方法は、
第1セッションにおいて発せられた制御信号を、前記第1セッションに関連付けされた第1の送り先に送信する第1処理を行うと共に、第2セッションに関連付けされたセッションデータが転送される処理が完了したことを検出した場合に、前記第2セッションに関連付けされた第2の送り先を変更する第2処理を行う
ことを特徴とすることを特徴とする。
また、同目的は、上記構成を有する信号振り分けシステムを、並びに対応する方法を、コンピュータを使って実現するコンピュータ・プログラム、及びそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体を使っても達成される。
本発明に係る信号振り分けシステム等によれば、サービスが停止する期間を低減することができる。
次に、本発明の実施の形態について、図面を参照して詳細に説明する。
<第1の実施形態>
転送元の装置(例えば、「転送元VM」などを表している。以降、単に「転送元」と表す)は、さまざまなサービスを提供する。提供されるサービスは、システム利用者、あるいは、システム利用者の作業を自動化した外部サーバー(以降、「ユーザ」と総称する)に対して、関連付けされたメモリ領域を割り当てる。そして、それらのサービスは、ユーザごとに割り当てられたメモリ領域を表すものとして、メモリ領域における区切りを指すポインタに関する情報(以降、「メモリマップ」と略記する)を保持している。
ユーザは、割り当てられたメモリ領域(図1には不図示:例えば、後述する図14におけるメモリ102)に存在するデータを更新することを通じて、サービスとやり取りを行う(以降、サービスが提供されている期間中に、ユーザが割り当てられたメモリ領域に存在するデータを更新するという一連の行動等を「セッション」と表現する)。そして、ユーザに対してそれぞれ割り当てられたメモリ領域に存在するデータを、以下、「セッションデータ」と表現する。また、ユーザが、セッションにおいて行う一連の行動を、サービスに伝達するための電気的、電子的な信号として表し、それを「制御信号」と表現する。
図1は、本発明の第1の実施形態に係る信号振り分けシステムが備える構成を示すブロック図である。図1を参照すると、本発明の第1の実施形態に係る信号振り分けシステム10は、制御信号送信部25を備えている。
本発明の第1の実施形態に係る信号振り分けシステム10は、転送元上で提供されているサービスに関連するソフトウェア(OS、アプリケーションプログラム等)が、転送先の装置(例えば、「転送先VM」などを表している。以降、単に「転送先」と表す)上においても、既に、セッションデータを含まない状態において起動しているという状況に設置される。
セッションデータ転送システム48は、転送元から転送先へ、セッション単位ごとにセッションデータ30をセッションデータ45に転送する。次に、セッションデータ転送システム48は、転送が完了した場合に、そのセッションを示す識別子とともに、係る転送が完了したことを示す信号を、制御信号送信部25に送る。制御信号送信部25は、その信号を検知すると、そのセッションに関連付けされた送り先を「転送先」に更新(設定、変更)する。
制御信号送信部25は、セッションにおいて発せられた制御信号40を、セッションと関連付けされた送り先に応じて送信する。図1を参照しながら、制御信号送信部25が行う処理について説明を行う。制御信号送信部25は、セッションにおいて発せられた制御信号40を受け取る。
次に、制御信号送信部25は、セッションにおいて発せられた制御信号40を受信すると、そのセッションに関連付けされた送り先に、受け取った制御信号40を送信する。
制御信号送信部25における、セッションに関連付けされた送り先を更新する処理と、制御信号を送信する処理とは、お互いに非同期的に行われる。
即ち、本発明の第1の実施形態に係る信号振り分けシステムによれば、あるセッションに関連付いた送り先が「転送先」であれば、そのセッションに関連付けられた制御信号は、転送先にて実施される。また、あるセッションに関連付いた送り先が「転送元」であれば、そのセッションに関連付けられた制御信号は、転送元にて実施される。即ち、送り先が転送元であれば、セッションデータ30が更新され、送り先が転送先であれば、セッションデータ45が更新される。
次に、図2に示すフローチャートを参照しながら、第1の実施形態に係る信号振り分けシステムの処理について説明する。図2は、本発明の第1の実施形態に係る信号振り分けシステムが実行する処理の手順を示すフローチャートである。
制御信号送信部25は、セッションにおいて発せられた制御信号40を受け取る(ステップS25)と、そのセッションに関連付けされた送り先に対して制御信号40を送信する(ステップS35)。
それとともに、制御信号送信部25は、セッションデータ転送システム48からセッションデータの転送が完了したことを感知すると(ステップS15にてYESと判定)、そのセッションに関連する送り先を「転送先」に更新する(ステップS20)。制御信号送信部25は、セッションデータ転送システム48からセッションデータの転送が完了したことを感知しないと(ステップS15にてNOと判定)、更新処理を行わない。
制御信号送信部25は、全てのセッションデータの転送が完了したか否かを調べ(ステップS40)、転送先である場合には、処理を完了する(ステップS40にてYESと判定)。それ以外の場合(ステップS40にてNOと判定)には、ステップS15、あるいは、ステップS25の処理に戻る。
特許文献1あるいは特許文献2が開示するシステムは、セッションとは関係なく、ある大きさの単位で、転送元におけるメモリに存在するデータを転送する。しかしながら、それらのシステムによれば、転送元におけるメモリに存在する全データの転送が完了するまでの間、転送先を起動できない。そのため、ユーザが行う更新は、全て転送元にて実施される。即ち、制御信号は、全て転送元に送信される。そのため、転送元において、既に転送先に転送が完了したメモリ領域上におけるデータですら、制御信号を受けると更新されてしまう。そのため、これらのシステムによれば、更新されたメモリ領域におけるデータを、再度、転送先に転送することが必要になる。
一方、本発明の第1の実施形態に係る信号振り分けシステムによれば、セッションに関連する送り先に応じて制御信号40を送信している。そのため、転送元において、既に転送先に転送が完了したセッションデータ30は、更新されない。そのため、「背景技術」欄において上述したようなシステムと比較して、本発明の第1の実施形態に係る信号振り分けシステム10によれば、転送元におけるメモリに存在するデータを再度、転送する回数が減少することになる。
即ち、本発明の第1の実施形態に係る信号振り分けシステムによれば、サービスが停止する期間を低減することができる。
<第2の実施形態>
次に、上述した第1の実施形態を基本とする第2の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
図3を参照しながら、本発明の第2の実施形態に係る信号振り分けシステム11について説明を行う。図3は、本発明の第2の実施形態に係る信号振り分けシステム11が備える構成を示すブロック図である。図3を参照すると、本発明の第2の実施形態に係る信号振り分けシステム11は、セッション情報管理部20を更に備えている。
制御信号送信部26は、図5に示すように、各セッションを表す識別子(以降、単に「識別子」と表す)と、そのセッションに関する制御信号を送信する送り先(以降、単に「送り先」と表す)とを関連付けして、セッション情報管理部20に記憶する。図5は、本実施形態におけるセッション情報管理部20が記憶する、識別子と制御信号を送信する送り先とを関連付けした参照テーブルを表した図である。まず、制御信号送信部26は、全てのセッションに関連する送り先を「転送元」と設定する。
制御信号送信部26は、セッションデータ転送システム48からのデータ転送を完了したことを知らせる信号を受け取るたびに、セッション情報管理部20における、そのセッションに関連する送り先を「転送先」に更新する。制御信号送信部26は、それらの処理を、セッション情報管理部20における全てのセッションに関連する送り先が「転送先」となるまで繰り返す。
制御信号送信部26は、制御信号40をセッション情報管理部20における送り先に応じて送信する。図3を参照しながら、制御信号送信部26が行う処理について説明を行う。
制御信号送信部26は、セッションにおいて発せられた制御信号40を受け取る。次に、制御信号送信部26は、セッション情報管理部20における参照テーブルから、制御信号40に対応するセッションに関連付いた送り先を探す。次に、制御信号送信部26は、受け取った制御信号40を探索した送り先に送信する。
制御信号送信部26における、セッション情報管理部20の送り先を更新する処理と、制御信号を送信する処理とは、お互いに非同期的に行われる。
即ち、本発明の第2の実施形態に係る信号振り分けシステムによれば、あるセッションに関連付いた送り先が「転送先」であれば、そのセッションに関連付けられた制御信号40は、転送先にて実施される。また、あるセッションに関連付いた送り先が「転送元」であれば、そのセッションに関連付けられた制御信号40は、転送元にて実施される。即ち、送り先が転送元であれば、セッションデータ30が更新され、送り先が転送先であれば、セッションデータ45が更新される。
次に、図4のフローチャートを参照しながら、第2の実施形態に係る信号振り分けシステムの処理について説明する。図4は、本発明の第2の実施形態に係る信号振り分けシステムが実行する処理の手順を示すフローチャートである。
制御信号送信部26は、セッション情報管理部20における送り先を全て転送元に設定する(ステップS10)。次に、制御信号送信部26は、セッションにおいて発せられた制御信号40を受け取る(ステップS25)と、セッション情報管理部20を参照することにより、そのセッションに関連付いた送り先を読み取る(ステップS32)。次に、制御信号送信部26は、読み取った送り先に対して制御信号40を送信する(ステップS34)。
それとともに、制御信号送信部26は、セッションデータ転送システム48からセッションの転送が完了したことを感知すると(ステップS15にてYESと判定)、セッション情報管理部20における、そのセッションに関連する送り先を「転送先」に更新する(ステップS21)。制御信号送信部25は、セッションデータ転送システム48からセッションデータの転送が完了したことを感知しないと(ステップS15にてNOと判定)、更新処理を行わない。
本発明の第2の実施形態に係る信号振り分けシステムによれば、セッション情報管理部20が記憶する参照テーブルに応じて制御信号40を送信している。そのため、転送元において、既に転送先に転送が完了したセッションデータ30は、更新されない。そのため、「背景技術」欄において上述したようなシステムと比較して、本発明の第2の実施形態に係る信号振り分けシステム11によれば、転送元におけるメモリに存在するデータを再度、転送する回数が減少することになる。
即ち、本発明の第2の実施形態に係る信号振り分けシステムによれば、サービスが停止する期間を低減することができる。
<第3の実施形態>
次に、上述した第1あるいは第2の実施形態を基本とする第3の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第2の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
図6は、本発明の第3の実施形態に係る信号振り分けシステム12の構成を示すブロック図である。図6を参照すると、本発明の第3の実施形態に係る信号振り分けシステム12は、本発明の第2の実施形態に加え、さらに、セッションデータ転送部15を備えている。
まず、セッションデータ転送部15は、転送元上における各々のサービスが保持するメモリマップ35を読み取る。そして、セッションデータ転送部15は、転送先において対応するサービスが管理するメモリ領域上に、読み取ったメモリマップ35に対応するメモリマップ47を作成する。
次に、セッションデータ転送部15は、セッションデータ30ごとにデータを転送する。セッションデータ転送部15は、その転送が完了すると、そのセッションを示す識別子とともに、完了したことを示す信号を制御信号送信部26に送る。セッションデータ転送部15は、その処理を全てのセッションデータの転送が完了するまで行う。
また、セッションデータ転送部15がセッションデータを転送しているときに、そのセッションデータが更新されると、セッションデータ転送部15は、再度、そのセッションデータを、転送元から転送先へ転送する。
さらに、図7を参照しながら、セッションデータ転送部15が行う処理のフローについて説明する。図7は、本発明の第3の実施形態に係るセッションデータ転送部15が実行する処理の手順を示すフローチャートである。
まず、セッションデータ転送部15は、転送元上における各々のサービスが保持するメモリマップ35を読み取る。そして、セッションデータ転送部15は、転送先における対応するサービスが管理するメモリ領域上に、読み取ったメモリマップ35に対応するようにメモリマップ47を作成する(ステップS50)。次に、セッションデータ転送部15は、全てのセッションデータの転送が完了しているかを調べる(ステップS60)。その転送が完了している場合には、(ステップS60にてYESの判断)処理を完了する。
その転送が完了していない場合には、(ステップS60にてNOの判断)、セッションデータ転送部15は、転送元におけるセッションデータ30を転送先におけるセッションデータ45に転送する(ステップS70)。セッションデータ転送部15は、その転送が完了すると、そのセッションを示す識別子とともに、完了したことを示す信号を制御信号送信部26に送る(ステップS80)。
本発明の第3の実施形態に係る信号振り分けシステム12が、本発明の第2の実施形態に係る信号振り分けシステムを基本としているとして説明を行ったが、本発明の第1の実施形態に係る信号振り分けシステムを基本とすることもできる。
即ち、本発明の第3の実施形態に係る信号振り分けシステム12は、上述した第2の実施形態を基本としている。そのため、第3の実施形態に係る信号振り分けシステム12においても、上述した第2の実施形態と同様の効果を得ることができる。即ち、本発明の第3の実施形態に係る信号振り分けシステムによれば、サービスが停止する期間を低減することができる。
<第4の実施形態>
次に、上述した第1乃至3の実施形態に係る信号振り分けシステム(10、11あるいは12)を組み込んだ、LMSの動作について説明する。以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
図9は、本発明の第1乃至第3の実施形態に係る信号振り分けシステムを有する、LMS70が起動時に行う動作を表す概念図である。
図8は、本発明の第1乃至第3の実施形態に係る信号振り分けシステムを組み込んだLMS70が行う処理の手順を示すフローチャートである。以下の説明においては、図8及び図9を、主に参照しながら、上述した第3の実施形態係る信号振り分けシステム12を組み込んだ、LMS70が行う処理について説明する。
まず、ユーザは、転送元VMにおいて稼動しているアプリケーションを、転送先VMにおいても起動する(ステップS110)。次に、ユーザは、信号振り分けシステム12をLMS70に組み込み、転送元VMへ入力されていた制御信号40を信号振り分けシステム12に切り替える(ステップS120)。
転送先VMにて起動したアプリケーションが持つセッションデータは、その起動時に(初期状態)において、空の状態である(図9におけるメモリ60)。次に、ユーザは、制御信号40を転送元VMあるいは転送先VMに振分ける処理を行う信号振り分けシステム12を、転送元VMに設置する。
次に、信号振り分けシステム12は、セッションデータを転送する場合の処理を行う(図7)。上述した説明と重複した説明を避けるため、図8では、簡易的に、ステップS130として記述している。即ち、信号振り分けシステム12は、ステップS130において、上述したような、セッションデータを転送する処理と、制御信号を送信する処理とを行う。
信号振り分けシステム12が転送を完了すると、ユーザは、転送元VMを停止し(ステップS140)、信号振り分けシステム12へ入力されていた制御信号を、転送先VMへ入力するように切り替える(ステップS150)。その結果、ライブマイグレーション処理は、完了することになる。
次に、図9乃至図12を参照しながら、本発明の第1乃至第3の実施形態に係る信号振り分けシステムを有するLMS70が、セッションデータを転送している場合の動作について動作を説明する。図9は、本発明の第1乃至第3の実施形態に係る信号振り分けシステムを有するLMS70の、起動時における動作を表す概念図である。図10は、信号振り分けシステム12を有するLMS70の、データ転送時における動作を表す概念図である。図11は、本発明の第1乃至第3の実施形態に係る信号振り分けシステムを有するLMS70のデータ転送完了時における動作を表す概念図である。図12は、本発明の第1乃至第3の実施形態に係る信号振り分けシステムを有するLMSが、メモリマップ90を作成するときの動作を示した概念図である。
図9を参照すると、ユーザは、転送元VMにおいて稼動しているアプリケーションを、転送先VMにおいて起動する(図9右側)。次に、ユーザは、信号振り分けシステム12をLMS70に組み込み、転送元VMへ入力されていた制御信号を信号振り分けシステム12へ切り替える(図9、信号振り分けシステム12付近)。図9における、メモリ50に存在する網がけ部分は、転送が完了していないデータを模式的に表している。
次に、セッションデータ転送部15は、図12に示すように、セッション情報管理部20における送り先を全て転送元VMに設定した後に、転送元VMにおけるメモリマップ80を読み取り、読み取った情報に対応するメモリマップ90を、転送先VMに作成する。
次に、信号振り分けシステム12は、転送元VMにおけるメモリ50に存在するデータを、セッションごとに転送する。図10においてメモリ60に存在する網がけ部分は、転送が完了したデータを模式的に表している。上述したように、セッションデータ転送部15は、セッション情報管理部20における、転送が完了したセッションデータに関連付けされたセッションに関連付いた送り先を転送先VMに設定する(図4、ステップS21)。信号振り分けシステム12が全データの転送を完了すると、ユーザは、転送元VMを停止し(図11、左側)、信号振り分けシステム12へ入力されていた制御信号を転送先VMに切り替える。
次に、実際例を示しながら、本発明の実施形態に係る信号振り分けシステムを組み込んだLMS70の動作について説明する。アプリケーション(以降、「AP」と略記する)セッション制御方法として、セッションごとに独立したデータを持つSession Initiation Protocol サーバ(以降、「SIPサーバ」と略記する)、アプリケーションサーバ、Webサーバなどが可能である。
以下、セッション制御アプリケーションとしてSIPサーバ、ハイパーバイザとしてKernel−based Virtual Machine(以降、「KVM」と略記する)、信号振り分けシステム12として仮想的にスイッチ機能を提供するvirtual switch(以降、「vSwitch」と略記する)を用いた例で説明する。また、図13に示すように、メモリ機能は、VM間共有メモリ機能(以降、「ivshmem」と略記する)により実現されているとする。
一般に、SIPサーバは、各セッションに応じて、セッションデータ(図9におけるメモリ50)を持つ。SIPサーバの場合、メモリマップ80(あるいは、90)に関する情報としては、SIPサーバの信号内にある発信者識別番号を使うことができる。
ユーザは、転送元VMにおいて起動しているSIPサーバと同一のSIPサーバを、転送先VMにおいて起動する。転送先VMにおいてSIPサーバが持つセッションデータは(図9におけるメモリ60)、起動した直後において、空の状態である。次に、ユーザは、制御信号40を転送先VMあるいは転送先VMに振分ける処理を行うvSwitch(図9における信号振り分けシステム12)を設置する。次に、ユーザは、転送元VMに繋がれていた制御信号40の送り先を、vSwitchへ切り替える。
まず、vSwitchは、全ての制御信号40を、転送元へ送信する設定を行うようにセッション情報管理部20を設定する(図4におけるステップS10)。その結果、vSwitchは、そのセッション情報に従い、入力された制御信号40を全て転送元VMへ出力する。次に、vSwitchは、転送元VMにおいてSIPサーバが持つメモリマップ80に対応するメモリマップ90を、転送先VMに作成する(図7におけるステップS50)。
次に、vSwitchは、セッションデータ(図9におけるメモリ50)を、メモリマップ80あるいはメモリマップ90に基づき、セッション単位で、転送先VMにおけるSIPサーバが持つセッションデータ(図9におけるメモリ60)に転送を行う(図7におけるステップS70)。vSwitchにおける制御信号送信部26は、転送先VMへセッションデータが転送し終えたことを感知する(図4におけるステップS15)と、セッション情報管理部20において、そのセッションに関する送り先を、転送先に変更(設定)する(図4におけるステップS21)。
それとともに、vSwitchにおける制御信号送信部26は、制御信号40を受け取る(図4におけるステップS25)と、セッション情報管理部20の送り先を読み取る(図4におけるステップS32)。次に、制御信号送信部26、読み取った送り先へ、制御信号40を送信する(図4におけるステップS34)。即ち、vSwitchにおける制御信号送信部26は、セッションデータの転送完了を検知する前である場合には、制御信号40を転送元VMに送信する。vSwitchは、セッションデータの転送完了を検知した後である場合には、制御信号40を転送先VMに送信する。
ユーザは、vSwitchの処理が完了した後、転送元VMを停止する。その後、ユーザは、設置したvSwitchを除去した後、vSwitchに繋がれていた制御信号の送り先を転送先VMに変更する。
この方法により、ユーザは、ライブマイグレーションを行うときに、転送元VMあるいは転送先VMにおけるアプリケーションを改修する必要がない。
アプリケーションの例や、vSwitchの構成などは、上述した例に限られない。
即ち、本発明に係る信号振り分けシステム12を有するLMS70によれば、サービスの停止期間を低減することができる。
上記説明においては、第3の実施形態に係る信号振り分けシステム12を組み込んだLMS70の動作を説明したが、この説明は、第1および第2の実施形態に係る信号振り分けシステム(10あるいは11)を組み込んだLMS70の場合にも同様である。
(ハードウェア構成例)
次に、上述した各実施形態における信号振り分けシステムを、1つの計算処理装置(情報処理装置、コンピュータ)を用いて実現するハードウェア資源の構成例について説明する。但し、係る信号振り分けシステムは、物理的または、機能的に少なくとも2種類の計算処理装置を用いて実現してもよい。また、係る信号振り分けシステムは、専用の装置として実現してもよい。
図14は、本発明の第1乃至第3の実施形態に係る信号振り分けシステム、または、第4の実施形態に係るライブマイグレーションシステムを実現可能な計算処理装置のハードウェア構成を概略的に示す図である。計算処理装置100は、CPU(Central Processing Unit)101、メモリ102、ディスク103、出力装置104、および入力装置105を有する。
即ち、CPU101は、ディスク103が記憶しているソフトウェア・プログラム(コンピュータ・プログラム、以下、単にプログラムと称する)を、実行時にメモリ102にコピーし、演算処理を実行する。CPU101は、プログラム実行に必要なデータをメモリ102から読み込む。表示が必要な場合に、CPU101は、出力装置104に出力結果を表示する。外部からプログラムを入力する場合、CPU101は、入力装置105からプログラムを読み取る。メモリ102は、上記各実施形態において上述したメモリ領域等を保持している。CPU101は、メモリ102にある信号振り分けプログラム解釈し実行を行う。CPU101は、上述した各実施形態において参照したフローチャート(図2、図4、図7、図8)に応じた処理を順次行う。
本発明の第1の実施形態に係る信号振り分けシステムが備える構成を示すブロック図である。 本発明の第1の実施形態に係る信号振り分けシステムが実行する処理の手順を示すフローチャートである。 本発明の第2の実施形態に係る信号振り分けシステムが備える構成を示すブロック図である。 本発明の第2の実施形態に係る信号振り分けシステムが実行する処理の手順を示すフローチャートである。 本発明の第2の実施形態におけるセッション情報管理部が記憶する、セッションとデータの送り先の関連を表した参照テーブルを概念的に表した図である。 本発明の第3の実施形態に係る信号振り分けシステムが備える構成を示すブロック図である。 本発明の第3の実施形態に係る信号振り分けシステムにおけるセッションデータ転送部が実行する処理の手順を示すフローチャートである。 本発明の第1乃至第3の実施形態に係る信号振り分けシステムを組み込んだライブマイグレーションシステムが行う処理の手順を示すフローチャートである。 本発明の第1乃至第3の実施形態に係る信号振り分けシステムを有する、ライブマイグレーションシステムの起動時における動作を表す概念図である。 本発明の第1乃至第3の実施形態に係る信号振り分けシステムを有する、ライブマイグレーションシステムのデータ転送時における動作を表す概念図である。 本発明の第1乃至第3の実施形態に係る信号振り分けシステムを有する、ライブマイグレーションシステムのデータ転送完了時における動作を表す概念図である。 本発明の第1乃至第3の実施形態に係る信号振り分けシステムを有する、ライブマイグレーションシステムにおいて、メモリマップを作成するときの動作を示した概念図である。 本発明の第1乃至第3の実施形態に係る信号振り分けシステムとアプリケーションとが連携する様子を概念的に示した図である。 本発明の第1乃至第3の実施形態に係る信号振り分けシステム、または、第4の実施形態に係るライブマイグレーションシステムを実現可能な計算処理装置が備えるハードウェア構成を概略的に示すブロック図である。 ライブマイグレーション中にサービスが停止するライブマイグレーションシステムが行う処理を、概念的に示した図である。
10 信号振り分けシステム
11 信号振り分けシステム
12 信号振り分けシステム
15 セッションデータ転送部
20 セッション情報管理部
25 制御信号送信部
26 制御信号送信部
30 セッションデータ
35 メモリマップ
40 制御信号
45 セッションデータ
47 メモリマップ
48 セッションデータ転送システム
50 メモリ
60 メモリ
70 LMS
80 メモリマップ
90 メモリマップ
100 計算処理装置
101 CPU
102 メモリ
103 ディスク
104 出力装置
105 入力装置

Claims (10)

  1. 第1セッションにおいて発せられた制御信号を、前記第1セッションに関連付けされた第1の送り先に送信する第1処理を行うと共に、第2セッションに関連付けされたセッションデータが転送される処理が完了したことを検出した場合に、前記第2セッションに関連付けされた第2の送り先を変更する第2処理を行う制御信号送信部を備える
    ことを特徴とする信号振り分けシステム。
  2. セッションと送り先とを関連付けるセッション情報管理部を更に備え、
    前記セッションは、前記第1セッションと前記第2セッションとを含み、
    前記制御信号送信部は、
    前記第1処理における前記第1の送り先の取得を、前記セッション情報管理部にて前記第1セッションと関連付けされている前記送り先を参照することにより行い、
    前記第2処理における前記第2の送り先の変更を、前記セッション情報管理部にて前記第2セッションと関連付けされている前記送り先を変更することにより行う
    ことを特徴とする請求項1に記載の信号振り分けシステム。
  3. 前記制御信号送信部は、
    前記第1の送り先を転送元に設定して前記第1処理を行うと共に、前記第2処理における前記第2の送り先を転送先に変更する
    ことを特徴とする請求項1あるいは請求項2に記載の信号振り分けシステム。
  4. 前記セッションは複数存在し、
    前記第2セッションに関連付けされたセッションデータを前記転送元から前記転送先に転送する第3処理を、前記複数のセッションに対して個別に実施するセッションデータ転送部を更に備え、
    前記制御信号送信部は、
    前記第3処理が終了するのに応じて、前記第2の送り先を前記転送先に変更する
    ことを特徴とする請求項2あるいは請求項3に記載の信号振り分けシステム。
  5. 前記転送元は、転送元バーチャルマシンであり、
    前記転送先は、転送先バーチャルマシンである
    請求項1乃至請求項4のいずれか一項に記載の信号振り分けシステム。
  6. 請求項1乃至5のいずれか一項に記載の信号振り分けシステムを備えるライブマイグレーションシステム。
  7. 第1セッションにおいて発せられた制御信号を、前記第1セッションに関連付けされた第1の送り先に送信する第1処理を行うと共に、第2セッションに関連付けされたセッションデータが転送される処理が完了したことを検出した場合に、前記第2セッションに関連付けされた第2の送り先を変更する第2処理を行う
    ことを特徴とする信号振り分け方法。
  8. 第1セッションにおいて発せられた制御信号を、前記第1セッションに関連付けされた第1の送り先に送信する第1処理を行うと共に、第2セッションに関連付けされたセッションデータが転送される処理が完了したことを検出した場合に、前記第2セッションに関連付けされた第2の送り先を変更する第2処理を行う制御信号送信機能を、
    コンピュータに実現させるコンピュータ・プログラム。
  9. セッションと送り先とを関連付けるセッション情報管理機能を更に備え、
    前記セッションは、前記第1セッションと前記第2セッションとを含み、
    前記制御信号送信機能は、
    前記第1処理における前記第1の送り先の取得を、前記セッション情報管理部にて前記第1セッションと関連付けされている前記送り先を参照することにより行い、
    前記第2処理における前記第2の送り先の変更を、前記セッション情報管理部にて前記第2セッションと関連付けされている前記送り先を変更することにより行う
    ことを特徴とする請求項8に記載のコンピュータ・プログラム。
  10. 前記制御信号送信機能は、
    前記第1の送り先を転送元に設定して前記第1処理を行うと共に、前記第2処理における前記第2の送り先を転送先に変更する
    ことを特徴とする請求項8あるいは請求項9に記載のコンピュータ・プログラム。
JP2012069878A 2012-03-26 2012-03-26 信号振り分けシステム、信号振り分け方法及びコンピュータ・プログラム Pending JP2013200805A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012069878A JP2013200805A (ja) 2012-03-26 2012-03-26 信号振り分けシステム、信号振り分け方法及びコンピュータ・プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012069878A JP2013200805A (ja) 2012-03-26 2012-03-26 信号振り分けシステム、信号振り分け方法及びコンピュータ・プログラム

Publications (1)

Publication Number Publication Date
JP2013200805A true JP2013200805A (ja) 2013-10-03

Family

ID=49520976

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012069878A Pending JP2013200805A (ja) 2012-03-26 2012-03-26 信号振り分けシステム、信号振り分け方法及びコンピュータ・プログラム

Country Status (1)

Country Link
JP (1) JP2013200805A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017535196A (ja) * 2014-11-03 2017-11-24 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 仮想ネットワーク機能インスタンスをマイグレーションさせるための方法、装置およびシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017535196A (ja) * 2014-11-03 2017-11-24 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 仮想ネットワーク機能インスタンスをマイグレーションさせるための方法、装置およびシステム
US10455412B2 (en) 2014-11-03 2019-10-22 Huawei Technologies Co., Ltd. Method, apparatus, and system for migrating virtual network function instance

Similar Documents

Publication Publication Date Title
CN107506258B (zh) 用于数据备份的方法和设备
JP5594049B2 (ja) 仮想計算機移動方法、コンピュータ及びプログラム
CN107924383B (zh) 用于网络功能虚拟化资源管理的系统和方法
CN107534579B (zh) 资源管理的系统和方法
JP6140303B2 (ja) 仮想マシンのライブマイグレーション方法、仮想マシンのメモリデータ処理方法、サーバ及び仮想マシンシステム
JP2008294717A (ja) 仮想ネットワーク構成方法及びネットワークシステム
WO2016177260A1 (zh) 利博伟特软件热升级方法及设备
JP2017108231A (ja) 通信制御プログラム、通信制御方法及び情報処理装置
JP2011198299A (ja) プログラム、コンピュータ、通信装置および通信制御システム
JP2009187368A (ja) Usbポートの共有制御方法
US20110107344A1 (en) Multi-core apparatus and load balancing method thereof
US8615586B2 (en) Discovery of logical images at storage area network endpoints
US9858096B2 (en) Communication device migration method of extension function and communication system
EP3531280A1 (en) Accelerator loading method and system, and accelerator loading apparatus
JP2013242797A (ja) 情報処理装置、情報処理方法および情報処理プログラム
CN104239120A (zh) 一种虚拟机的状态信息同步的方法、装置及系统
EP3908928B1 (en) Low-latency events across a virtual machine boundary
JP2007304845A (ja) 仮想計算機システムおよびソフトウェア更新方法
EP3531282A1 (en) Accelerator loading method and system, and accelerator loading apparatus
JP2014195178A (ja) 情報処理装置、送信制御方法および送信制御プログラム
JP2010134710A (ja) 仮想マシンの移行方法、サーバ、及び、プログラム
JP2015005097A (ja) 電子機器、制御装置及びプログラム
JP5518143B2 (ja) 仮想マシンの移行方法、サーバ、プログラム、及び、仮想マシンシステム
CN104572315A (zh) 实现子系统间通信的方法、通信实体及分布式通信系统
JP4259390B2 (ja) 並列演算処理装置