(57)【要約】【課題】セッション情報の移行に伴う通信サービスの中断時間を短縮し、スケールアウトによる効果が反映される時間を短縮する。【解決手段】計算機及び管理計算機を備える通信システムであって、計算機は端末を収容し、端末のセッションを用いた通信を制御する通信制御部を有し、通信制御部はセッション情報を格納するデータベースを管理し、管理計算機は、データベースに格納される複数のセッション情報の各々の属性を管理する属性管理情報を保持し、第１の通信制御部が管理する第１のデータベースに格納される複数のセッション情報の移行契機を検知し、属性管理情報に基づいて、第１のデータベースに格納される複数のセッション情報の中から、第２の通信制御部が管理する第２のデータベースに移行する複数のセッション情報を選択し、選択された複数のセッション情報の属性に基づいて、選択された複数のセッション情報の移行順番を決定する。【選択図】図１
2016045839.tif 000002
【特許請求の範囲】
【請求項１】
複数の計算機及び管理計算機を備える通信システムであって、
前記複数の計算機は、複数の端末を収容し、前記複数の端末の各々のセッションを用いた通信を制御する通信制御部を有し、
前記通信制御部は、前記複数の端末の各々のセッションのセッション情報を格納するデータベースを管理し、
前記管理計算機は、
前記複数の計算機の稼働状態を示す稼働情報を取得する情報取得部と、
任意の通信制御部が管理するデータベースに格納される複数のセッション情報の移行契機を検知し、前記任意の通信制御部が管理する前記データベースに格納される複数のセッション情報を、新たな通信制御部が管理するデータベースに移行するセッション情報移行制御部と、を有し、
前記通信制御部が管理する前記データベースに格納される複数のセッション情報の各々の属性を管理する属性管理情報と、
前記複数の計算機の稼働状態を管理する稼働管理情報と、を保持し、
前記複数の計算機は、第１のデータベースを管理する第１の通信制御部が稼働する第１の計算機、及び第２のデータベースを管理する第２の通信制御部が稼働する第２の計算機、を含み、
前記セッション情報移行制御部は、
前記稼働管理情報に基づいて、前記第１のデータベースに格納される複数のセッション情報の移行契機を検知し、
前記属性管理情報に基づいて、前記第１のデータベースに格納される複数のセッション情報の中から、前記第２のデータベースに移行する複数のセッション情報を選択し、
前記選択された複数のセッション情報の属性に基づいて、前記選択された複数のセッション情報の移行順番を決定し、
前記決定された移行順番を含む移行制御情報を生成することを特徴とする通信システム。
【請求項２】
請求項１に記載の通信システムであって、
前記セッション情報の属性は、前記セッション情報に対応する前記セッションの状態を示す情報を含み、
前記セッションの状態は、端末が通信可能な状態であるアクティブ状態及び前記端末が通信できない状態であるアイドル状態を含み、
前記データベースは、前記アクティブ状態のセッションのセッション情報である第１のセッション情報を複数格納し、前記アイドル状態のセッションのセッション情報である第２のセッション情報を複数格納し、
前記セッション情報移行制御部は、
前記第１のデータベースに格納される複数の第１のセッション情報の中から、前記第２のデータベースに移行する前記第１のセッション情報を一つ以上選択し、
前記第１のデータベースに格納される複数の第２のセッション情報の中から、前記第２のデータベースに移行する前記第２のセッション情報を一つ以上選択し、
前記選択された一つ以上の第１のセッション情報、前記選択された一つ以上の第２のセッション情報の順に、前記第２のデータベースに移行することを決定し、
前記第１の通信制御部の識別情報、前記第２の通信制御部の識別情報、前記選択された一つ以上の第１のセッション情報の識別子、前記選択された一つ以上の第２のセッション情報の識別子、及び前記決定された移行順番を含む前記移行制御情報を生成し、
前記移行制御情報に基づいて、前記選択された一つ以上の第１のセッション情報を前記第１のデータベースから前記第２のデータベースに移行し、
前記第２の通信制御部は、
前記選択された一つ以上の第１のセッション情報を受信した場合、前記選択された一つ以上の第１のセッション情報を前記第２のデータベースに格納し、
前記選択された一つ以上の第１のセッション情報を用いて一つ以上の端末の通信処理を開始し、
前記第１の通信制御部は、前記セッション情報移行制御部に移行完了通知を送信し、
前記セッション情報移行制御部は、前記移行完了通知を受信した場合、前記選択された一つ以上の第２のセッション情報を前記第１のデータベースから前記第２のデータベースに移行することを特徴とする通信システム。
【請求項３】
請求項１に記載の通信システムであって、
前記セッション情報の属性は、前記セッション情報に対応する前記セッションの状態を示す情報を含み、
前記セッションの状態は、端末が通信可能な状態であるアクティブ状態及び前記端末が通信できない状態であるアイドル状態を含み、
前記データベースは、前記アクティブ状態のセッションのセッション情報である第１のセッション情報を複数格納し、前記アイドル状態のセッションのセッション情報である第２のセッション情報を複数格納し、
前記管理計算機は、前記任意の通信制御部が管理する前記データベースに格納される複数のセッション情報の移行契機を検知するための移行条件、及び前記セッションの状態に基づいて決定された複数のセッション情報の移行順番が対応づけられたエントリを複数含むポリシ情報を保持し、
前記セッション情報移行制御部は、
前記第１のデータベースに格納される複数の第１のセッション情報の中から、前記第２のデータベースに移行する前記第１のセッション情報を一つ以上選択し、
前記第１のデータベースに格納される複数の第２のセッション情報の中から、前記第２のデータベースに移行する前記第２のセッション情報を一つ以上選択し、
前記ポリシ情報に格納されるエントリの前記移行条件を参照して、前記検知された複数のセッション情報の移行契機に対応する移行条件に一致するエントリを検索し、
前記検索されたにエントリの前記移行順番に基づいて、前記選択された一つ以上の第１のセッション情報、及び前記選択された一つ以上の第２のセッション情報の移行順番を決定し、
前記第１の通信制御部の識別情報、前記第２の通信制御部の識別情報、前記選択された一つ以上の第１のセッション情報の識別子、前記選択された一つ以上の第２のセッション情報の識別子、及び前記決定された移行順番を含む前記移行制御情報を生成し、
前記移行制御情報に基づいて、前記選択された一つ以上の第１のセッション情報、及び前記選択された一つ以上の第２のセッション情報を前記第１のデータベースから前記第２のデータベースに移行することを特徴とする通信システム。
【請求項４】
請求項２又は請求項３に記載の通信システムであって、
前記通信制御部は、当該通信制御部とは異なる他の通信制御部が管理する前記データベースのコピーであるバックアップデータを管理し、
前記セッション情報の属性は、前記セッション情報が前記バックアップデータに格納される前記セッション情報であるか否かを示す情報を含み、
前記セッション情報移行制御部は、
前記属性管理情報を参照して、前記選択された一つ以上の第２のセッション情報を格納するバックアップデータを管理する第３の通信制御部を特定し、
前記選択された一つ以上の第１のセッション情報の移行元である前記第１の通信制御部の識別情報、前記選択された一つ以上の第２のセッション情報の移行元である前記第３の通信制御部の識別情報、前記第２の通信制御部の識別情報、前記選択された一つ以上の第１のセッション情報の識別子、前記選択された一つ以上の第２のセッション情報の識別子、及び前記決定された移行順番を含む前記移行制御情報を生成し、
前記選択された一つ以上の第２のセッション情報を移行させる場合、前記第３の通信制御部が管理する前記バックアップデータに格納される前記選択された一つ以上の第２のセッション情報を、前記第２のデータベースに移行することを特徴とする通信システム。
【請求項５】
請求項２又は請求項３に記載の通信システムであって、
前記セッション情報移行制御部は、
前記第１のデータベースに格納される前記第１のセッション情報の数と、前記第２のデータベースに格納される前記第１のセッション情報の数とが均一になるように、前記第２のデータベースに移行する前記第１のセッション情報を一つ以上選択し、
前記第１のデータベースに格納される前記第２のセッション情報の数と、前記第２のデータベースに格納される前記第２のセッション情報の数とが均一になるように、前記第２のデータベースに移行する前記第２のセッション情報を一つ以上選択することを特徴とする通信システム。
【請求項６】
複数の端末を収容し、前記複数の端末の各々のセッションを用いた通信を制御する通信制御部を有する複数の計算機と接続する管理計算機であって、
前記管理計算機は、プロセッサ、前記プロセッサに接続される主記憶装置、及び前記プロセッサに接続され、前記複数の計算機と接続するインタフェースを備え、
前記通信制御部は、前記複数の端末の各々のセッションのセッション情報を格納するデータベースを管理し、
前記管理計算機は、
前記複数の計算機の稼働状態を示す稼働情報を取得する情報取得部と、
任意の通信制御部が管理するデータベースに格納される複数のセッション情報の移行契機を検知し、前記任意の通信制御部が管理する前記データベースに格納される複数のセッション情報を、新たな通信制御部が管理するデータベースに移行するセッション情報移行制御部と、を有し、
前記通信制御部が管理する前記データベースに格納される複数のセッション情報の各々の属性を管理する属性管理情報と、
前記複数の計算機の稼働状態を管理する稼働管理情報と、を保持し、
前記複数の計算機は、第１のデータベースを管理する第１の通信制御部が稼働する第１の計算機、及び第２のデータベースを管理する第２の通信制御部が稼働する第２の計算機を含み、
前記セッション情報移行制御部は、
前記稼働管理情報に基づいて、前記第１のデータベースに格納される複数のセッション情報の移行契機を検知し、
前記属性管理情報に基づいて、前記第１のデータベースに格納される複数のセッション情報の中から、前記第２のデータベースに移行する複数のセッション情報を選択し、
前記選択された複数のセッション情報の属性に基づいて、前記選択された複数のセッション情報の移行順番を決定し、
前記決定された移行順番を含む移行制御情報を生成することを特徴とする管理計算機。
【請求項７】
請求項６に記載の管理計算機であって、
前記セッション情報の属性は、前記セッション情報に対応する前記セッションの状態を示す情報を含み、
前記セッションの状態は、端末が通信可能な状態であるアクティブ状態及び前記端末が通信できない状態であるアイドル状態を含み、
前記データベースは、前記アクティブ状態のセッションのセッション情報である第１のセッション情報を複数格納し、前記アイドル状態のセッションのセッション情報である第２のセッション情報を複数格納し、
前記セッション情報移行制御部は、
前記第１のデータベースに格納される複数の第１のセッション情報の中から、前記第２のデータベースに移行する前記第１のセッション情報を一つ以上選択し、
前記第１のデータベースに格納される複数の第２のセッション情報の中から、前記第２のデータベースに移行する前記第２のセッション情報を一つ以上選択し、
前記選択された一つ以上の第１のセッション情報、前記選択された一つ以上の第２のセッション情報の順に、前記第２のデータベースに移行することを決定し、
前記第１の通信制御部の識別情報、前記第２の通信制御部の識別情報、前記選択された一つ以上の第１のセッション情報の識別子、前記選択された一つ以上の第２のセッション情報の識別子、及び前記決定された移行順番を含む前記移行制御情報を生成し、
前記移行制御情報に基づいて、前記選択された一つ以上の第１のセッション情報を前記第１のデータベースから前記第２のデータベースに移行し、
前記選択された一つ以上の第１のセッション情報の移行が完了した旨を通知する移行完了通知を前記第１の通信制御部から受信した場合、前記選択された一つ以上の第２のセッション情報を前記第１のデータベースから前記第２のデータベースに移行することを特徴とする管理計算機。
【請求項８】
請求項６に記載の管理計算機であって、
前記セッション情報の属性は、前記セッション情報に対応する前記セッションの状態を示す情報を含み、
前記セッションの状態は、端末が通信可能な状態であるアクティブ状態及び前記端末が通信できない状態であるアイドル状態を含み、
前記データベースは、前記アクティブ状態のセッションのセッション情報である第１のセッション情報を複数格納し、前記アイドル状態のセッションのセッション情報である第２のセッション情報を複数格納し、
前記管理計算機は、前記任意の通信制御部が管理する前記データベースに格納される複数のセッション情報の移行契機を検知するための移行条件、及び前記セッションの状態に基づいて決定された複数のセッション情報の移行順番が対応づけられたエントリを複数含むポリシ情報を保持し、
前記セッション情報移行制御部は、
前記第１のデータベースに格納される複数の第１のセッション情報の中から、前記第２のデータベースに移行する前記第１のセッション情報を一つ以上選択し、
前記第１のデータベースに格納される複数の第２のセッション情報の中から、前記第２のデータベースに移行する前記第２のセッション情報を一つ以上選択し、
前記ポリシ情報に格納されるエントリの前記移行条件を参照して、前記検知された複数のセッション情報の移行契機に対応する移行条件に一致するエントリを検索し、
前記検索されたにエントリの前記移行順番に基づいて、前記選択された一つ以上の第１のセッション情報、及び前記選択された一つ以上の第２のセッション情報の移行順番を決定し、
前記第１の通信制御部の識別情報、前記第２の通信制御部の識別情報、前記選択された一つ以上の第１のセッション情報の識別子、前記選択された一つ以上の第２のセッション情報の識別子、及び前記決定された移行順番を含む前記移行制御情報を生成し、
前記移行制御情報に基づいて、前記選択された一つ以上の第１のセッション情報、及び前記選択された一つ以上の第２のセッション情報を前記第１のデータベースから前記第２のデータベースに移行することを特徴とする管理計算機。
【請求項９】
請求項７又は請求項８に記載の管理計算機であって、
前記通信制御部は、当該通信制御部とは異なる他の通信制御部が管理する前記データベースのコピーであるバックアップデータを管理し、
前記セッション情報の属性は、前記セッション情報が前記バックアップデータに格納される前記セッション情報であるか否かを示す情報を含み、
前記セッション情報移行制御部は、
前記属性管理情報を参照して、前記選択された一つ以上の第２のセッション情報を格納するバックアップデータを管理する第３の通信制御部を特定し、
前記選択された一つ以上の第１のセッション情報の移行元である前記第１の通信制御部の識別情報、前記選択された一つ以上の第２のセッション情報の移行元である前記第３の通信制御部の識別情報、前記第２の通信制御部の識別情報、前記選択された一つ以上の第１のセッション情報の識別子、前記選択された一つ以上の第２のセッション情報の識別子、及び前記決定された移行順番を含む前記移行制御情報を生成し、
前記選択された一つ以上の第２のセッション情報を移行させる場合、前記第３の通信制御部が管理する前記バックアップデータに格納される前記選択された一つ以上の第２のセッション情報を、前記第２のデータベースに移行することを特徴とする管理計算機。
【請求項１０】
請求項７又は請求項８に記載の管理計算機であって、
前記セッション情報移行制御部は、
前記第１のデータベースに格納される前記第１のセッション情報の数と、前記第２のデータベースに格納される前記第１のセッション情報の数とが均一になるように、前記第２のデータベースに移行する前記第１のセッション情報を一つ以上選択し、
前記第１のデータベースに格納される前記第２のセッション情報の数と、前記第２のデータベースに格納される前記第２のセッション情報の数とが均一になるように、前記第２のデータベースに移行する前記第２のセッション情報を一つ以上選択することを特徴とする管理計算機。
【請求項１１】
複数の計算機及び管理計算機を備える通信システムにおけるセッション情報移行方法であって、
前記複数の計算機は、複数の端末を収容し、前記複数の端末の各々のセッションを用いた通信を制御する通信制御部を有し、
前記通信制御部は、前記複数の端末の各々のセッションのセッション情報を格納するデータベースを管理し、
前記管理計算機は、
前記複数の計算機の稼働状態を示す稼働情報を取得する情報取得部と、
任意の通信制御部が管理するデータベースに格納される複数のセッション情報の移行契機を検知し、前記任意の通信制御部が管理する前記データベースに格納される複数のセッション情報を、新たな通信制御部が管理するデータベースに移行するセッション情報移行制御部と、を有し、
前記通信制御部が管理するセッション情報の属性を管理する属性管理情報と、
前記複数の計算機の稼働状態を管理する稼働管理情報と、を保持し、
前記複数の計算機は、第１のデータベースを管理する第１の通信制御部が稼働する第１の計算機、及び第２のデータベースを管理する第２の通信制御部が稼働する第２の計算機を含み、
前記セッション情報移行方法は、
前記セッション情報移行制御部が、前記稼働管理情報に基づいて、前記第１のデータベースに格納される複数のセッション情報の移行契機を検知する第１のステップと、
前記セッション情報移行制御部が、前記属性管理情報に基づいて、前記第１のデータベースに格納される複数のセッション情報の中から、前記第２のデータベースに移行する複数のセッション情報を選択する第２のステップと、
前記セッション情報移行制御部が、前記選択された複数のセッション情報の属性に基づいて、前記選択された複数のセッション情報の移行順番を決定する第３のステップと、
前記セッション情報移行制御部が、前記決定された移行順番を含む移行制御情報を生成する第４のステップと、を含むことを特徴とするセッション情報移行方法。
【請求項１２】
請求項１１に記載のセッション情報移行方法であって、
前記セッション情報の属性は、前記セッション情報に対応する前記セッションの状態を示す情報を含み、
前記セッションの状態は、端末が通信可能な状態であるアクティブ状態及び前記端末が通信できない状態であるアイドル状態を含み、
前記データベースは、前記アクティブ状態のセッションのセッション情報である第１のセッション情報を複数格納し、前記アイドル状態のセッションのセッション情報である第２のセッション情報を複数格納し、
前記第２のステップは、
前記第１のデータベースに格納される複数の第１のセッション情報の中から、前記第２のデータベースに移行する前記第１のセッション情報を一つ以上選択する第５のステップと、
前記第１のデータベースに格納される複数の第２のセッション情報の中から、前記第２のデータベースに移行する前記第２のセッション情報を一つ以上選択する第６のステップと、を含み、
前記第３のステップでは、前記選択された一つ以上の第１のセッション情報、前記選択された一つ以上の第２のセッション情報の順に、前記第２のデータベースに移行することを決定し、
前記第４のステップでは、前記第１の通信制御部の識別情報、前記第２の通信制御部の識別情報、前記選択された一つ以上の第１のセッション情報の識別子、前記選択された一つ以上の第２のセッション情報の識別子、及び前記決定された移行順番を含む前記移行制御情報を生成し、
前記セッション情報移行方法は、
前記セッション情報移行制御部が、前記移行制御情報に基づいて、前記選択された一つ以上の第１のセッション情報を前記第１のデータベースから前記第２のデータベースに移行するステップと、
前記第２の通信制御部が、前記選択された一つ以上の第１のセッション情報を受信した場合、前記選択された一つ以上の第１のセッション情報を前記第２のデータベースに格納するステップと、
前記第２の通信制御部が、前記選択された一つ以上の第１のセッション情報を用いて一つ以上の端末の通信処理を開始するステップと、
前記第１の通信制御部が、前記セッション情報移行制御部に移行完了通知を送信するステップと、
前記セッション情報移行制御部が、前記移行完了通知を受信した場合、前記選択された一つ以上の第２のセッション情報を前記第１のデータベースから前記第２のデータベースに移行するステップと、を含むことを特徴とするセッション情報移行方法。
【請求項１３】
請求項１１に記載のセッション情報移行方法であって、
前記セッション情報の属性は、前記セッション情報に対応する前記セッションの状態を示す情報を含み、
前記セッションの状態は、端末が通信可能な状態であるアクティブ状態及び前記端末が通信できない状態であるアイドル状態を含み、
前記データベースは、前記アクティブ状態のセッションのセッション情報である第１のセッション情報を複数格納し、前記アイドル状態のセッションのセッション情報である第２のセッション情報を複数格納し、
前記管理計算機は、前記任意の通信制御部が管理する前記データベースに格納される複数のセッション情報の移行契機を検知するための移行条件、及び前記セッションの状態に基づいて決定された複数のセッション情報の移行順番が対応づけられたエントリを複数含むポリシ情報を保持し、
前記第２のステップは、
前記第１のデータベースに格納される複数の第１のセッション情報の中から、前記第２のデータベースに移行する前記第１のセッション情報を一つ以上選択する第７のステップと、
前記第１のデータベースに格納される複数の第２のセッション情報の中から、前記第２のデータベースに移行する前記第２のセッション情報を一つ以上選択する第８のステップと、を含み、
前記第３のステップは、
前記ポリシ情報に格納されるエントリの前記移行条件を参照して、前記検知された複数のセッション情報の移行契機に対応する移行条件に一致するエントリを検索するステップと、
前記検索されたにエントリの前記移行順番に基づいて、前記選択された一つ以上の第１のセッション情報、及び前記選択された一つ以上の第２のセッション情報の移行順番を決定するステップと、を含み、
前記第４のステップでは、前記第１の通信制御部の識別情報、前記第２の通信制御部の識別情報、前記選択された一つ以上の第１のセッション情報の識別子、前記選択された一つ以上の第２のセッション情報の識別子、及び前記決定された移行順番を含む前記移行制御情報を生成し、
前記セッション情報移行方法は、
前記セッション情報移行制御部が、前記移行制御情報に基づいて、前記選択された一つ以上の第１のセッション情報、及び前記選択された一つ以上の第２のセッション情報を前記第１のデータベースから前記第２のデータベースに移行するステップを含むことを特徴とするセッション情報移行方法。
【請求項１４】
請求項１２又は請求項１３に記載のセッション情報移行方法であって、
前記通信制御部は、当該通信制御部とは異なる他の通信制御部が管理する前記データベースのコピーであるバックアップデータを管理し、
前記セッション情報の属性は、前記セッション情報が前記バックアップデータに格納される前記セッション情報であるか否かを示す情報を含み、
前記第６のステップ又は前記第８のステップは、前記セッション情報移行制御部が、前記属性管理情報を参照して、前記選択された一つ以上の第２のセッション情報を格納するバックアップデータを管理する第３の通信制御部を特定するステップを含み、
前記第４のステップでは、前記選択された一つ以上の第１のセッション情報の移行元である前記第１の通信制御部の識別情報、前記選択された一つ以上の第２のセッション情報の移行元である前記第３の通信制御部の識別情報、前記第２の通信制御部の識別情報、前記選択された一つ以上の第１のセッション情報の識別子、前記選択された一つ以上の第２のセッション情報の識別子、及び前記決定された移行順番を含む前記移行制御情報を生成し、
前記セッション情報移行方法は、
前記セッション情報移行制御部が、前記選択された一つ以上の第２のセッション情報を移行させる場合、前記第３の通信制御部が管理する前記バックアップデータに格納される前記選択された一つ以上の第２のセッション情報を、前記第２のデータベースに移行するステップを含むことを特徴とするセッション情報移行方法。
【請求項１５】
請求項１２又は請求項１３に記載のセッション情報移行方法であって、
前記第５のステップ又は前記第７のステップでは、前記第１のデータベースに格納される前記第１のセッション情報の数と、前記第２のデータベースに格納される前記第１のセッション情報の数とが均一になるように、前記第２のデータベースに移行する前記第１のセッション情報を一つ以上選択し、
前記第６のステップ又は前記第８のステップでは、前記第１のデータベースに格納される前記第２のセッション情報の数と、前記第２のデータベースに格納される前記第２のセッション情報の数とが均一になるように、前記第２のデータベースに移行する前記第２のセッション情報を一つ以上選択することを特徴とするセッション情報移行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信サーバが保持するセッション情報の移行に関する。
【背景技術】
【０００２】
移動体通信ネットワークでは、４ＧシステムのＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）及びＷｉＭＡＸ２＋（Ｗｏｒｌｄｗｉｄｅ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  Ｍｉｃｒｏｗａｖｅ  Ａｃｃｅｓｓ）などの普及が進み、高速のモバイルブロードバンドが利用可能である。さらに、ＬＴＥ−Ａｄｖａｎｃｅｄと呼ばれるサービスでは、キャリアアグリゲーションによる無線帯域の拡大が予定されており、より一層の通信の高速化が可能となる。
【０００３】
ＬＴＥを利用したサービスではインターネットアクセスサービスに加えて、ＶｏＬＴＥ（Ｖｏｉｃｅ  ｏｖｅｒ  ＬＴＥ）サービスも提供されている。ＶｏＬＴＥでは、回線交換システムを用いて実現される音声サービスがＬＴＥ上のＩＰパケット通信を用いて実現される。
【０００４】
このように、移動体通信ネットワークは社会インフラとしての重要性がより高まっており、障害発生の防止、障害発生時の迅速なサービスの復旧、及びサービス継続性が求められている。
【０００５】
一方で、従来、専用装置を用いて構成されたネットワークノードの機能を、データセンタなどで用いられる汎用のサーバを用いて実現し、又は、仮想化技術を適用した汎用のサーバ上の仮想サーバを用いて実現するＮＦＶ（Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎ  Ｖｉｒｔｕａｌｉｚａｔｉｏｎ）と呼ばれる方式が検討されている。以下の説明では、ネットワークノードの機能を実現する汎用のサーバ又は汎用サーバ上の仮想サーバを通信サーバとも記載する。
【０００６】
ＮＦＶを用いたシステムでは、ネットワークの負荷に応じて、設備の増設（スケールアウト）及び設備の減設（スケールイン）、負荷分散のための仮想サーバの移行に伴うシステム構成の変更、及び冗長化されたシステムにおける障害発生時の切替え等における通信サービスの中断時間及び構成変更による効果が現れるまでの時間の短縮が求められる。
【０００７】
前述した要求に対して特許文献１のような技術が知られている。特許文献１には、「クライアントリクエストの処理結果をクライアントに返信するリクエスト割振り部と、受信したリクエストを処理するリクエスト処理部と、前記リクエストのセッション情報を管理するセッション情報管理部とを有するサーバ装置を複数備えてなるシステムでのセッション管理方法であって、第１のサーバ装置のセッション情報管理部は、第２のサーバ装置のセッション情報管理部にセッション情報を移動し、第１のサーバ装置のリクエスト割振り部は、前記第１のサーバ装置のリクエスト割振り部がリクエストを受信したリクエスト受信時刻及びクライアントに処理結果を返信したレスポンス返信時刻より前記セッション情報の移動時刻が遅い場合、前記セッション情報が移動した移動先情報に基づいて新たに受信したリクエストを第２のサーバ装置に割り振る」ことが記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１２−１０３８７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献１では、仮想サーバの増設等のスケールアウト時にセッション情報を移行することによって、高性能な仮想サーバに優先度の高いセッションを接続させる。これによって、優先度の高いセッションの品質を確保している。
【００１０】
しかし、特許文献１では、セッション情報の移行時における通信サービスの中断時間等が考慮されていない。そのため、多くのセッション情報を高性能の仮想サーバに移行する場合に、通信サービスが長時間中断等する可能性がある。すなわち、システムにおいてスケールアウトの効果がすぐに現れない。
【００１１】
本発明では、スケールアウト等に伴ってセッション情報を移行する場合に、通信サービスの中断時間（サービスの再開時間）を短縮し、また、スケールアウト等の効果が反映される時間を短縮する通信システム、装置、及びセッション情報の移行方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、複数の計算機及び管理計算機を備える通信システムであって、前記複数の計算機は、複数の端末を収容し、前記複数の端末の各々のセッションを用いた通信を制御する通信制御部を有し、前記通信制御部は、前記複数の端末の各々のセッションのセッション情報を格納するデータベースを管理し、前記管理計算機は、前記複数の計算機の稼働状態を示す稼働情報を取得する情報取得部と、任意の通信制御部が管理するデータベースに格納される複数のセッション情報の移行契機を検知し、前記任意の通信制御部が管理する前記データベースに格納される複数のセッション情報を、新たな通信制御部が管理するデータベースに移行するセッション情報移行制御部と、を有し、前記通信制御部が管理する前記データベースに格納される複数のセッション情報の各々の属性を管理する属性管理情報と、前記複数の計算機の稼働状態を管理する稼働管理情報と、を保持し、前記複数の計算機は、第１のデータベースを管理する第１の通信制御部が稼働する第１の計算機、及び第２のデータベースを管理する第２の通信制御部が稼働する第２の計算機、を含み、前記セッション情報移行制御部は、前記稼働管理情報に基づいて、前記第１のデータベースに格納される複数のセッション情報の移行契機を検知し、前記属性管理情報に基づいて、前記第１のデータベースに格納される複数のセッション情報の中から、前記第２のデータベースに移行する複数のセッション情報を選択し、前記選択された複数のセッション情報の属性に基づいて、前記選択された複数のセッション情報の移行順番を決定し、前記決定された移行順番を含む移行制御情報を生成することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、管理計算機は、セッションの属性に基づいて、セッションを用いた通信の中断時間が短く、かつ、セッション情報の移行による効果が迅速に通信システムに反映されるように複数のセッション情報の移行順番を決定する。決定された移行順番にしたがって、複数のセッション情報を移行させることによって、通信サービスの中断時間を短縮し、また、スケールアウト等の効果が反映される時間を短縮できる。
【００１４】
上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１５】
【図１】実施例１の通信システムの構成例を示す説明図である。
【図２】実施例１の通信システムを適用した移動通信システムの具体例を示す説明図である。
【図３】実施例１の管理サーバのハードウェア構成及びソフトウェア構成の一例を示すブロック図である。
【図４Ａ】実施例１の通信サーバが保持するデータベースの一例を示す説明図である。
【図４Ｂ】実施例１の通信サーバが保持するデータベースの一例を示す説明図である。
【図５】実施例１の負荷分散装置が保持する負荷管理情報の一例を示す説明図である。
【図６】実施例１の管理サーバが保持する属性管理情報の一例を示す説明図である。
【図７】実施例１の管理サーバが保持する稼働管理情報の一例を示す説明図である。
【図８】実施例１の負荷分散処理が実行された後の通信システムの構成例を示す説明図である。
【図９】実施例１の管理サーバが実行するセッション情報の移行処理に必要な移行条件情報を設定するためのユーザインタフェースの一例を示す説明図である。
【図１０Ａ】実施例１の通信システムの処理の流れを説明するシーケンス図である。
【図１０Ｂ】実施例１の通信システムの処理の流れを説明するシーケンス図である。
【図１１Ａ】実施例１の管理サーバが実行する処理の概要を説明するフローチャートである。
【図１１Ｂ】実施例１の管理サーバが実行する処理の概要を説明するフローチャートである。
【図１２】実施例１の管理サーバのセッション情報移行制御部が実行する移行順番決定処理の一例を説明するフローチャートである。
【図１３】実施例２の通信システムの構成例を示す説明図である。
【図１４】実施例２の通信システムの処理の流れを説明するシーケンス図である。
【図１５】実施例３の通信システムの構成例を示す説明図である。
【図１６】実施例３の管理サーバが保持する稼働管理情報の一例を示す説明図である。
【図１７】実施例３の通信システムの処理の流れを説明するシーケンス図である。
【図１８】実施例４の管理サーバのハードウェア構成及びソフトウェア構成の一例を示すブロック図である。
【図１９】実施例４の管理サーバが保持するポリシ情報の一例を示す説明図である。
【図２０】実施例４の管理サーバのセッション情報移行制御部が実行する移行順番決定処理の一例を説明するフローチャートである。
【図２１Ａ】実施例４の管理サーバが実行する処理の概要を説明するフローチャートである。
【図２１Ｂ】実施例４の管理サーバが実行する処理の概要を説明するフローチャートである。
【図２１Ｃ】実施例４の管理サーバが実行する処理の概要を説明するフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施例について、図面を参照して説明する。
【実施例１】
【００１７】
図１は、実施例１の通信システムの構成例を示す説明図である。図２は、実施例１の通信システムを適用した移動通信システムの具体例を示す説明図である。
【００１８】
図１に示すように通信システムは、管理サーバ１００、複数の通信サーバ１１０、及び負荷分散装置１２０から構成される。管理サーバ１００と複数の通信サーバ１１０とは管理ネットワーク１３０を介して接続される。また、負荷分散装置１２０は、外部ネットワーク１４０と接続される。負荷分散装置１２０と複数の通信サーバ１１０とは、直接接続されてもよいし、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワークを介して接続されてもよい。
【００１９】
ここで、図２を用いて図１に示す通信システムを適用した具体的な移動通信システムについて説明する。図２は、図１の通信システムをＬＴＥに適用したものである。
【００２０】
移動端末２０１は、基地局（ｅＮＢ：ｅｎｈａｎｃｅｄ  ＮｏｄｅＢ）２０２との間で無線リンクを接続する。基地局２０２は、無線アクセスネットワーク２０３に接続される。ここで、通信サーバ１１０は、無線アクセスネットワーク２０３内の各サーバに対応する。なお、管理サーバ１００は、無線アクセスネットワーク２０３内にあってもよいし、無線アクセスネットワーク２０３とは異なるネットワークにあってもよい。
【００２１】
無線アクセスネットワーク２０３内のサーバは、ＭＭＥ（Ｍｏｂｉｌｉｔｙ  Ｍａｎａｇｅｍｅｎｔ  Ｅｎｔｉｔｙ）２０４、Ｓ−ＧＷ（Ｓｅｒｖｉｎｇ  Ｇａｔｅｗａｙ）２０５、Ｐ−ＧＷ（Ｐａｃｋｅｔ  Ｄａｔａ  Ｎｅｔｗｏｒｋ  ＧＷ）２０６、ＰＣＲＦ（Ｐｏｌｉｃｙ  Ｃｈａｒｇｉｎｇ  Ｒｕｌｅ  Ｆｕｎｃｔｉｏｎ）２０７、及びＨＳＳ（Ｈｏｍｅ  Ｓｕｂｓｃｒｉｂｅｒ  Ｓｅｒｖｅｒ）２０８を含む。また、無線アクセスネットワーク２０３には、移動端末２０１に対してサービスを提供するインターネット２０９が接続される。
【００２２】
ＭＭＥ２０４は、移動端末２０１の位置情報の管理し、また、移動端末２０１の認証処理を実行する。Ｓ−ＧＷ２０５は、無線アクセスネットワーク２０３内のアンカーポイントとなる第１のモバイルゲートウェイである。Ｐ−ＧＷ２０６は、インターネット２０９及び無線アクセスネットワーク２０３の境界となる第２のモバイルゲートウェイである。ＰＣＲＦ２０７は、ＱｏＳの制御情報及び課金に関する情報をＰ−ＧＷ２０６に提供する。ＨＳＳ２０８は、移動端末２０１の位置登録データベースを管理する。
【００２３】
なお、図１に示す通信システムは、ＬＴＥ以外に、ＷｉＭＡＸシステム及び３Ｇシステムにも適用できる。例えば、ＷｉＭＡＸシステムの場合、ＭＭＥ２０４及びＳ−ＧＷ２０５がＡＳＮ−ＧＷ（Ａｃｃｅｓｓ  Ｓｅｒｖｉｃｅ  Ｎｅｔｗｏｒｋ  Ｇａｔｅｗａｙ）に相当する機能を有し、ＨＡ（Ｈｏｍｅ  Ａｇｅｎｔ）がＰ−ＧＷ２０６に相当する機能を有する。また、３Ｇシステムの場合、ＭＭＥ２０４及びＳ−ＧＷ２０５がＳＧＳＮ（Ｓｅｒｖｉｎｇ  ＧＰＲＳ  Ｓｕｐｐｏｒｔ  Ｎｏｄｅ）に相当する機能を有し、ＧＧＳＮ（Ｇａｔｅｗａｙ  ＧＰＲＳ  Ｓｕｐｐｏｒｔ  Ｎｏｄｅ）がＰ−ＧＷ２０６に相当する機能を有する。
【００２４】
図１の説明に戻る。
【００２５】
通信サーバ１１０は、移動端末２０１への通信サービスを提供する。実施例１では、説明の簡単のために、二つの通信サーバ１１０−１及び通信サーバ１１０−２から構成される通信システムを想定する。
【００２６】
通信サーバ１１０は、データベース１１１及びバックアップデータ１１２を保持する。データベース１１１は、各移動端末２０１のセッションのセッション情報を格納する。また、バックアップデータ１１２には、他の通信サーバ１１０が保持するデータベース１１１のコピーである。すなわち、実施例１では、セッション情報が多重化された構成となっている。
【００２７】
なお、バックアップデータ１１２の構成は、前述したものに限定されない。例えば、Ｎ多重化の構成でもよい。Ｎ多重化の構成では、Ｎ台の通信サーバ１１０が同一のバックアップデータ１１２を保持する。また、一つの通信サーバ１１０のデータベース１１１のバックアップデータを分割して、複数の通信サーバ１１０に分散して配置する構成でもよい。また、前述した構成を組み合わせてもよい。
【００２８】
実施例１では、通信サーバ１１０は、セッション情報の属性毎に異なるデータベース１１１を保持する。セッション情報の属性としては、セッションの状態が考えられる。セッションの状態には、アクティブ状態及びアイドル状態の二つの状態がある。
【００２９】
アクティブ状態は、移動端末２０１が基地局２０２との間の無線リンクを接続し、通信可能な状態を示す。すなわち、アクティブ状態は、移動端末２０１に対して無線リソースが割り当てられている状態である。一方、アイドル状態は、移動端末２０１が基地局２０２との間の無線リンクを切断され、通信できない状態を示す。すなわち、アイドル状態は、移動端末２０１に対して無線リソースが割り当てられていない状態である。
【００３０】
以下の説明では、アクティブ状態のセッションのセッション情報を第１のセッション情報と記載し、アイドル状態のセッションのセッション情報を第２のセッション情報と記載する。
【００３１】
実施例１では、通信サーバ１１０−１及び通信サーバ１１０−２はそれぞれ以下のようなデータベース１１１及びバックアップデータ１１２を保持する。
【００３２】
通信サーバ１１０−１は、複数の第１のセッション情報を格納するデータベース１１１−１、及び複数の第２のセッション情報を格納するデータベース１１１−２を保持する。また、通信サーバ１１０−１は、データベース１１１−３のコピーであるバックアップデータ１１２−１、及びデータベース１１１−４のコピーであるバックアップデータ１１２−２を保持する。
【００３３】
通信サーバ１１０−２は、複数の第１のセッション情報を格納するデータベース１１１−３、及び複数の第２のセッション情報を格納するデータベース１１１−４を保持する。通信サーバ１１０−２は、データベース１１１−１のコピーであるバックアップデータ１１２−３、及びデータベース１１１−２のコピーであるバックアップデータ１１２−４を保持する。
【００３４】
負荷分散装置１２０は、負荷管理情報１２１に基づいて、外部ネットワーク１４０から受信したパケットを所定の通信サーバ１１０に転送する。負荷管理情報１２１の詳細については、図５を用いて後述する。
【００３５】
実施例１では、すべての通信サーバ１１０が実行系として動作する全実行系（ＡＬＬ  ＡＣＴ系）であるものとする。ただし、本発明はこれに限定されず、バックアップデータ１１２のみを格納する通信サーバ１１０が待機系として動作するＡＣＴ−ＳＴＢ構成、又はＭ＋Ｎ冗長化構成でもよい。
【００３６】
管理サーバ１００は、通信サーバ１１０の移行処理、及び通信サーバ１１０間のセッション情報の移行処理を制御する。
【００３７】
通信サーバ１１０の移行処理では、管理サーバ１００は、通信サーバ１１０の稼働状態を監視し、通信サーバ１１０の負荷が高い場合、新たな通信サーバ１１０を追加するスケールアウトの指示を行う。
【００３８】
セッション情報の移行処理では、管理サーバ１００は、移行契機を検知し、移行元の通信サーバ１１０から移行先の通信サーバ１１０に複数のセッション情報を移行する。また、管理サーバ１００は、複数のセッション情報の移行に伴って、負荷分散装置１２０に負荷管理情報１２１の更新指示を行う。
【００３９】
ここで、図３を用いて管理サーバ１００の装置構成について説明する。図３は、実施例１の管理サーバ１００のハードウェア構成及びソフトウェア構成の一例を示すブロック図である。
【００４０】
管理サーバ１００は、ハードウェアとしてＣＰＵ３０１、主記憶装置３０２、副記憶装置３０３、ＮＩＣ３０４、及びＨＢＡ３０５を有する。なお、管理サーバ１００は、キーボード、マウス、タッチパネル及びディスプレイ等の入出力装置を有してもよい。
【００４１】
ＣＰＵ３０１は、主記憶装置３０２に格納されるプログラムを実行する。ＣＰＵ３０１がプログラムを実行することによって、管理サーバ１００が有する機能を実現できる。
【００４２】
主記憶装置３０２は、ＣＰＵ３０１によって実行されるプログラム及び当該プログラムの実行に必要な情報を格納する記憶装置である。以下の説明では、機能部を主語として説明する場合、ＣＰＵ３０１によって当該機能部を実現するプログラムが実行されていることを示す。主記憶装置３０２は、ＤＲＡＭ等の揮発性の記憶装置が考えられる。なお、主記憶装置３０２は不揮発性の記憶装置でもよい。主記憶装置３０２に格納されるプログラム及び情報については後述する。
【００４３】
副記憶装置３０３は、各種プログラム及び各種情報を格納する記憶装置である。副記憶装置３０３は、Ｆｌｕｓｈメモリ等の不揮発性の記憶装置が考えられる。なお、副記憶装置３０３は揮発性の記憶装置でもよい。
【００４４】
ＣＰＵ３０１は、所定のプログラムを用いて処理を実行する場合、副記憶装置３０３に格納されるプログラム及び情報を読み出し、当該プログラム及び情報を主記憶装置３０２上にロードする。ＣＰＵ３０１は、主記憶装置３０２上にロードされた当該プログラムを実行する。
【００４５】
ＮＩＣ３０４は、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）及びＬＡＮ等のネットワークを介して他の装置と接続するためのインタフェースである。ＨＢＡ３０５は、ＳＡＮ等のストレージネットワークを介して外部のストレージシステムと接続するためのインタフェースである。
【００４６】
ここで、主記憶装置３０２に格納されるプログラム及び情報について説明する。実施例１の主記憶装置３０２は、情報取得部３１１、負荷分散制御部３１２、及びセッション情報移行制御部３１３を実現するプログラムを格納し、また、属性管理情報３１４及び稼働管理情報３１５を格納する。
【００４７】
情報取得部３１１は、通信制御部が管理するセッション情報に関する情報、及び通信サーバ１１０の状態を示す状態情報を取得する。また、情報取得部３１１は、属性管理情報３１４及び稼働管理情報３１５に取得された情報を格納する。
【００４８】
具体的には、情報取得部３１１は、通信サーバ１１０から、通信制御部が管理するセッション情報に関する情報を取得する。また、情報取得部３１１は、通信サーバ１１０から当該通信サーバ１１０の稼働状態を示す情報、及び負荷分散装置１２０から通信サーバ１１０に転送されたパケットの転送量等を、状態情報として取得する。なお、状態情報としては、通信サーバ１１０が正常に稼働しているか否かを示す情報、通信システムにおける通信サーバ１１０の構成変更を示す情報等も含まれる。
【００４９】
負荷分散制御部３１２は、通信サーバ１１０の負荷を分散するための負荷分散処理（スケールアウト処理等）、及び通信サーバ１１０のマイグレーション処理等を実行する。セッション情報移行制御部３１３は、スケールアウト等に伴うセッション情報の移行契機を検知し、移行元の通信サーバ１１０から移行先の通信サーバ１１０へセッション情報を移行する。
【００５０】
属性管理情報３１４は、各通信サーバ１１０が管理するセッション情報の属性を管理するための情報を格納する。属性管理情報３１４の詳細については、図６を用いて後述する。稼働管理情報３１５は、通信サーバ１１０の稼働状態を管理するための情報を格納する。稼働管理情報３１５の詳細については、図７を用いて後述する。
【００５１】
実施例１の通信サーバ１１０及び負荷分散装置１２０は、管理サーバ１００と同一のハードウェア構成であるものとする。ただし、主記憶装置３０２及び副記憶装置３０３に格納されるプログラム及び情報が管理サーバ１００と異なる。
【００５２】
通信サーバ１１０の主記憶装置３０２には、移動端末２０１の通信を制御する通信制御部を実現するプログラムが格納される。通信制御部は、複数の移動端末２０１を収容し、また、各移動端末２０１のセッションを用いた通信を制御する。なお、通信制御部の機能は公知のものであるため詳細な説明は省略する。
【００５３】
通信制御部は、各移動端末２０１のセッションのセッション情報を管理する。具体的には、通信制御部は、自身が管理するセッション情報が格納されたデータベース１１１、及び他の通信制御部が管理するセッション情報が格納されたバックアップデータ１１２を管理する。データベース１１１及びバックアップデータ１１２は、通信サーバ１１０の副記憶装置３０３に格納される。データベース１１１の詳細については、図４Ａ及び図４Ｂを用いて後述する。
【００５４】
なお、データベース１１１及びバックアップデータ１１２は、副記憶装置３０３ではなく、通信サーバ１１０に接続された外部の記憶装置に格納されてもよい。
【００５５】
負荷分散装置１２０の主記憶装置３０２には、負荷分散装置１２０が有する機能を実現するプログラムが格納されている。また、負荷分散装置１２０の副記憶装置３０３には、負荷管理情報１２１が格納される。
【００５６】
次に、管理サーバ１００、通信サーバ１１０及び負荷分散装置１２０が管理する情報について説明する。
【００５７】
図４Ａ及び図４Ｂは、実施例１の通信サーバ１１０が保持するデータベース１１１の一例を示す説明図である。図４Ａは、通信サーバ１１０−１の通信制御部が管理する複数の第１のセッション情報を格納するデータベース１１１−１の一例を示す。図４Ｂは、通信サーバ１１０−１の通信制御部が管理する複数の第２のセッション情報を格納するデータベース１１１−２の一例を示す。
【００５８】
データベース１１１−１及びデータベース１１１−２には、一つのセッションに対して一つのエントリ、すなわち、一つのセッション情報に対して一つのエントリが存在する。
【００５９】
データベース１１１−１のエントリは、セッションＩＤ４０１、ＩＭＳＩ４０２、端末アドレス４０３、グループ番号４０４、基地局アドレス４０５、基地局ポート番号４０６、基地局トンネルＩＤ４０７、自宛アドレス４０８、自宛ポート番号４０９、及び自宛トンネルＩＤ４１０を含む。
【００６０】
セッションＩＤ４０１は、セッション情報、すなわち、セッションを一意に識別するための識別子である。ＩＭＳＩ４０２は、移動端末２０１に搭載されるＳＩＭ（Ｓｕｂｓｃｒｉｂｅｒ  Ｉｄｅｎｔｉｔｙ  Ｃａｒｄ）の識別子である。端末アドレス４０３は、移動端末２０１に割り当てられたＩＰアドレスである。グループ番号４０４は、スケールアウト時に利用するセッション情報の所属、又はセッション情報の冗長化のためのバックアップ先の通信サーバ１１０を指定する番号である。
【００６１】
基地局アドレス４０５は、移動端末２０１が通信を行っている基地局２０２に割り当てられたＩＰアドレスである。基地局ポート番号４０６は、基地局２０２が通信サーバ１１０と通信する場合に用いられるＬ４（ＴＣＰ／ＵＤＰ）等のポート番号である。基地局トンネルＩＤ４０７は、ユーザパケットをＩＰでカプセル化して送信する場合に、ユーザ又はトンネルを識別するための識別子である。
【００６２】
自宛アドレス４０８は、通信サーバ１１０が基地局２０２とパケットの送受信を行う場合に使用するＩＰアドレスである。自宛ポート番号４０９は、通信サーバ１１０が基地局２０２とパケットの送受信を行う場合に使用するＬ４（ＴＣＰ／ＵＤＰ）等のポート番号である。自宛トンネルＩＤ４１０は、ＩＰでカプセル化されたユーザパケットを基地局２０２から受信する場合に、ユーザ又はトンネルを識別するための識別子である。
【００６３】
データベース１１１−２に格納されるエントリは、セッションＩＤ４１１、ＩＭＳＩ４１２、端末アドレス４１３、グループ番号４１４、自宛アドレス４１５、自宛ポート番号４１６、及び自宛トンネルＩＤ４１７を含む。アイドル状態では、移動端末２０１と基地局２０２との間の無線リンクが切断された状態であるため、第２のセッション情報には、基地局アドレス、基地局ポート番号、及び基地局トンネルＩＤは含まれない。
【００６４】
実施例１では、第１のセッション情報及び第２のセッション情報は、それぞれ別々のデータベースとして管理されているが、同一のデータベースとして管理してもよい。この場合、セッション情報に対応するセッションの状態がアクティブ状態又はアイドル状態のいずれであるかを示すカラムを追加することによって、セッションの状態の異なる複数のセッション情報を一元的に管理できる。
【００６５】
図５は、実施例１の負荷分散装置１２０が保持する負荷管理情報１２１の一例を示す説明図である。
【００６６】
負荷管理情報１２１には、一つのセッションに対して一つのエントリ、すなわち、一つのセッション情報に対して一つのエントリが存在する。負荷管理情報１２１のエントリは、セッションＩＤ５０１、通信サーバＩＤ５０２、通信サーバアドレス５０３、端末アドレス５０４、送信量５０５、及び受信量５０６を含む。
【００６７】
セッションＩＤ５０１は、セッション情報、すなわち、セッションを一意に識別するための識別子である。セッションＩＤ５０１には、セッションＩＤ４０１と同一の情報が格納される。通信サーバＩＤ５０２は、通信サーバ１１０を一意に識別するための識別子である。通信サーバアドレス５０３は、負荷分散装置１２０が通信サーバ１１０にパケットを転送する場合に宛先として使用するアドレスである。例えば、通信サーバ１１０のＭＡＣアドレス、負荷分散装置１２０から通信サーバ１１０へ転送するために設定された専用のＩＰアドレスなどが考えられる。端末アドレス５０４は、移動端末２０１に割り当てられたＩＰアドレスである。端末アドレス５０４には、端末アドレス４０３と同一の情報が格納される。
【００６８】
送信量５０５は、セッションＩＤ５０１に対応するセッションを用いた通信において、通信サーバ１１０に対して送信されたデータ（パケット）の容量である。例えば、一定時間内に通信サーバ１１０に送信されたパケット数若しくはパケット量、又は、これまで通信サーバ１１０に送信されたパケット数若しくはパケット量の積算値が格納される。受信量５０６は、セッションＩＤ５０１に対応するセッションを用いた通信において、通信サーバ１１０から受信したデータ（パケット）の容量である。例えば、一定時間内に通信サーバ１１０から受信したパケット数若しくはパケット量、又は、これまで通信サーバ１１０から受信したパケット数若しくはパケット量の積算値が格納される。
【００６９】
図６は、実施例１の管理サーバ１００が保持する属性管理情報３１４の一例を示す説明図である。
【００７０】
属性管理情報３１４は、情報取得部３１１によって生成される。具体的には、情報取得部３１１が、各通信サーバ１１０からセッション情報の属性に関する情報を取得する。取得される情報には、少なくとも、通信サーバ１１０の識別子、セッションＩＤ、及びセッション情報の属性に関する情報が含まれる。
【００７１】
属性管理情報３１４には、一つの通信サーバ１１０に対して一つのエントリが存在する。属性管理情報３１４のエントリは、通信サーバＩＤ６０１、構成種別６０２、セッションＩＤ６０３、及び属性６０４を含む。
【００７２】
通信サーバＩＤ６０１は、通信サーバ１１０を一意に識別するための識別子である。通信サーバＩＤ６０１には、通信サーバＩＤ５０２と同一の情報が格納される。構成種別６０２は、通信サーバ１１０が物理サーバ又は仮想サーバのいずれであるかを示す情報である。具体的には、通信サーバ１１０が物理サーバの場合、構成種別６０２には「物理」が格納され、通信サーバ１１０が仮想サーバの場合、構成種別６０２には「仮想」が格納される。
【００７３】
セッションＩＤ６０３は、セッション情報、すなわち、セッションを一意に識別するための識別子である。セッションＩＤ６０３には、セッションＩＤ４０１と同一の情報が格納される。実施例１では、属性管理情報３１４を用いて、通信サーバ１１０が管理するすべてのセッション情報の属性が管理される。したがって、一つの通信サーバ１１０のエントリには、当該通信サーバ１１０が管理するすべてのセッション情報のセッションＩＤが含まれる。
【００７４】
属性６０４は、セッション情報の属性を示す情報である。実施例１のセッション情報の属性には、状態６０５及びデータタイプ６０６が含まれる。
【００７５】
状態６０５は、セッションの状態が、アクティブ状態又はアイドル状態のいずれであるかを示す情報である。具体的には、第１のセッション情報の場合、状態６０５には「Ａｃｔｉｖｅ」が格納され、第２のセッション情報の場合、状態６０５には「Ｉｄｌｅ」が格納される。
【００７６】
データタイプ６０６は、マスタのセッション情報又はバックアップのセッション情報のいずれであるかを示す情報である。具体的には、マスタのセッション情報の場合、データタイプ６０６には「マスタ」が格納され、バックアップのセッション情報の場合、データタイプ６０６には「バックアップ」が格納される。
【００７７】
ここで、マスタのセッション情報は、通信制御部がマスタとして管理するセッション情報であることを示す。すなわち、マスタのセッション情報は、データベース１１１に格納されるセッション情報である。一方、バックアップのセッション情報は、他の通信制御部がマスタとして管理するセッション情報のコピーであることを示す。すなわち、バックアップのセッション情報は、バックアップデータ１１２に格納されるセッション情報である。
【００７８】
図６に示すように、属性管理情報３１４には、セッション情報そのものではなく、セッション情報の属性に関する情報のみが格納される。ただし、属性管理情報３１４は、セッション情報そのものを格納してもよい。
【００７９】
また、属性６０４には、セッション情報に対応するセッションに設定される優先度を格納するカラムが含まれてもよい。優先度を格納するカラムには、例えば、通信の品質を示す値が格納される。
【００８０】
図７は、実施例１の管理サーバ１００が保持する稼働管理情報３１５の一例を示す説明図である。
【００８１】
稼働管理情報３１５には、一つの物理サーバに対して一つのエントリが存在する。稼働管理情報３１５のエントリは、物理サーバＩＤ７０１、ＣＰＵ使用率７０２、メモリ使用率７０３、収容ユーザ数７０４、処理データ量７０５、及び通信量７０６を含む。
【００８２】
物理サーバＩＤ７０１は、物理サーバを一意に識別するための識別子である。実施例１では、物理サーバと通信サーバ１１０とが一対一に対応しているため、物理サーバＩＤ７０１には、通信サーバＩＤ５０２と同一の情報が格納される。
【００８３】
ＣＰＵ使用率７０２は、通信サーバ１１０が有するＣＰＵの使用率である。メモリ使用率７０３は、通信サーバ１１０が有するメモリの使用率である。なお、メモリ使用率７０３の代わりにメモリ使用量を用いてもよい。収容ユーザ数７０４は、通信サーバ１１０が収容する移動端末２０１の数である。
【００８４】
処理データ量７０５は、通信サーバ１１０が処理したデータ（パケット）の容量である。処理データ量７０５には、一定時間内に処理されたパケット数若しくはパケット量、又は、これまでに処理されたパケット数若しくはパケット量の積算値が格納される。通信量７０６は、負荷分散装置１２０が通信サーバ１１０に転送したデータ（パケット）の容量である。通信量７０６には、例えば、一定時間内に通信サーバ１１０に転送したパケット数若しくはパケット量、若しくは、これまでに通信サーバ１１０に転送したパケット数若しくはパケット量の積算値、又は、通信サーバ１１０が一定時間内に負荷分散装置１２０へ送信したパケット数若しくはパケット量、若しくは、これまで負荷分散装置１２０へ送信したパケット数若しくはパケット量の積算値である。
【００８５】
次に、実施例１の通信システムの処理について説明する。
【００８６】
図８は、実施例１の負荷分散処理が実行された後の通信システムの構成例を示す説明図である。図９は、実施例１の管理サーバ１００が実行するセッション情報の移行処理に必要な移行条件情報を設定するためのユーザインタフェースの一例を示す説明図である。
【００８７】
実施例１では、図８に示すように、負荷が増大した通信サーバ１１０−１及び通信サーバ１１０−２の負荷を分散するために、通信サーバ１１０−３を新たに追加する負荷分散処理（スケールアウト）が実行されることを想定する。
【００８８】
このとき、管理サーバ１００は、負荷分散処理に伴って、データベース１１１−１に格納される複数の第１のセッション情報の一部をデータベース１１１−５に移行し、また、データベース１１１−２に格納される複数の第２のセッション情報の一部をデータベース１１１−６に移行する。また、管理サーバ１００は、負荷分散処理に伴って、データベース１１１−３に格納される複数の第１のセッション情報の一部をデータベース１１１−５に移行し、データベース１１１−４に格納される複数の第２のセッション情報の一部をデータベース１１１−６に移行する。
【００８９】
また、図９に示すようなユーザインタフェース９００を用いて、セッション情報の移行処理の移行条件情報が設定される。ここで、ユーザインタフェース９００について説明する。
【００９０】
ユーザインタフェース９００は、移行条件入力領域９１０、移行順番入力領域９２０、及び確認領域９３０を含む。
【００９１】
移行条件入力領域９１０は、セッション情報の移行契機を検知するための移行条件を設定する入力領域である。実施例１では、負荷分散処理の開始条件がセッション情報の移行条件として設定される。移行条件入力領域９１０は、対象項目９１１、閾値９１２、条件種別９１３、ＯＫボタン９１４、及びキャンセルボタン９１５を含む。
【００９２】
対象項目９１１は、セッション情報を移行するか否か、すなわち、スケールアウトするか否かを判定するための監視項目を設定する入力領域である。実施例１では、対象項目９１１には予め監視項目として選択可能な項目が表示される。図９に示す例では「ＣＰＵ使用率」が監視項目として選択されている。
【００９３】
閾値９１２は、監視項目の閾値を設定する入力領域である。実施例１では、閾値９１２には、上限値が設定される。すなわち、監視項目の値が閾値９１２の値より大きい場合に、セッション情報を移行すると判定される。
【００９４】
条件種別９１３は、複数の監視項目が選択される場合に、複数の監視項目の関連性を設定する入力領域である。実施例１では、条件種別９１３には「ＡＮＤ」及び「ＯＲ」が表示される。「ＡＮＤ」の場合、すべての監視項目が閾値以上となった場合に、セッション情報を移行すると判定される。また、「ＯＲ」の場合、複数の監視項目のうち少なくともいずれかの監視項目の値が閾値以上となった場合に、セッション情報を移行すると判定される。
【００９５】
ＯＫボタン９１４は、対象項目９１１、閾値９１２、及び条件種別９１３に設定された値を移行条件として設定するための操作ボタンである。キャンセルボタン９１５は、対象項目９１１、閾値９１２、及び条件種別９１３に設定された値をキャンセルするための操作ボタンである。
【００９６】
移行順番入力領域９２０は、複数のセッション情報の移行順番を設定する入力領域である。移行順番入力領域９２０は、移行順番９２１、オプション９２２、ＯＫボタン９２３、及びキャンセルボタン９２４を含む。
【００９７】
移行順番９２１は、第１のセッション情報、及び第２のセッション情報のどちらを先に移行するか選択する入力領域である。実施例１では、管理サーバ１００は、移行順番９２１において選択されたセッションの状態のセッション情報を最初に移行元の通信サーバ１１０から移行先の通信サーバに移行する。
【００９８】
オプション９２２は、複数のセッション情報の移行処理において、移行順番を決定するための追加条件を設定する入力領域である。例えば、オプション９２２には、移行するセッション情報を選択するための指標が設定される。図９に示す例では、セッション情報に対応するセッションの優先度が前述した指標として設定される。なお、オプション９２２には、必ずしも値を入力する必要はない。
【００９９】
ＯＫボタン９２３は、移行順番９２１及びオプション９２２に設定された値をセッション情報の移行順番の条件として設定するための操作ボタンである。キャンセルボタン９２４は、移行順番９２１及びオプション９２２に設定された値をキャンセルするための操作ボタンである。
【０１００】
なお、移行順番入力領域９２０は、移行先の通信サーバ１１０を設定する入力領域が含まれてもよい。また、移行順番入力領域９２０には、移行するセッション情報の数、セッション情報の送信間隔、及びセッション情報の送信タイミング等を設定する入力領域が含まれてもよい。
【０１０１】
確認領域９３０は、移行条件入力領域９１０及び移行順番入力領域９２０において設定された値を確認するための領域である。
【０１０２】
確認領域９３０には、表示領域９３１、登録ボタン９３２、及びキャンセルボタン９３３が含まれる。
【０１０３】
表示領域９３１は、移行条件及び移行順番の組合せを表示する領域である。登録ボタン９３２は、表示領域９３１に表示された組合せを移行条件情報として管理サーバ１００に登録するための操作ボタンである。キャンセルボタン９３３は、表示領域９３１に表示された移行条件の登録をキャンセルするための操作ボタンである。
【０１０４】
管理サーバ１００を操作するオペレータは、ユーザインタフェース９００を用いて、セッション情報に対応するセッションを用いた通信の中断時間が短く、かつ、セッション情報の移行による効果が迅速に通信システムに反映されるように、複数のセッション情報の移行順番を設定する。
【０１０５】
なお、図９に示すユーザインタフェース９００は、一例であって、同様の情報を設定できるものであればどのようなものであってもよい。
【０１０６】
図１０Ａ及び１０Ｂは、実施例１の通信システムの処理の流れを説明するシーケンス図である。
【０１０７】
負荷分散処理の実行前において、負荷分散装置１２０は、セッションＩＤが「ＡＡＡＡ」であるセッションを用いた通信のＩＰパケット、及びセッションＩＤが「ＢＢＢＢ」であるセッションを用いた通信のＩＰパケットを通信サーバ１１０−１に送信する（ステップＳ１００１、ステップＳ１００２）。
【０１０８】
また、負荷分散装置１２０は、セッションＩＤが「ＣＣＣＣ」であるセッションを用いた通信のＩＰパケット、及びセッションＩＤが「ＤＤＤＤ」であるセッションを用いた通信のＩＰパケットを通信サーバ１１０−２に送信する（ステップＳ１００３、ステップＳ１００４）。
【０１０９】
管理サーバ１００は、負荷分散装置１２０から周期的にトラフィック情報を取得する（ステップＳ１００５）。
【０１１０】
具体的には、情報取得部３１１が、負荷分散装置１２０にトラフィック情報の取得要求を送信する。負荷分散装置１２０は、当該取得要求を受信した場合、負荷管理情報１２１に格納される情報をトラフィック情報として情報取得部３１１に送信する。なお、トラフィック情報を取得するタイミングは、管理サーバ１００を操作するオペレータが任意に設定できる。また、負荷分散装置１２０が、周期的に、情報取得部３１１に対してトラフィック情報を送信してもよい。
【０１１１】
管理サーバ１００は、通信サーバ１１０−１及び通信サーバ１１０−２のそれぞれから周期的に稼働情報を取得する（ステップＳ１００６、ステップＳ１００７）。
【０１１２】
具体的には、情報取得部３１１が、通信サーバ１１０−１及び通信サーバ１１０−２に稼働情報の取得要求を送信する。通信サーバ１１０−１及び通信サーバ１１０−２のそれぞれは、当該取得要求を受信した場合、通信サーバ１１０の識別子、ＣＰＵ使用率、メモリ使用率、収容ユーザ数、及び処理したパケットの容量等を稼働情報として情報取得部３１１に送信する。なお、稼働情報を取得するタイミングは、管理サーバ１００を操作するオペレータが任意に設定できる。また、通信サーバ１１０が、周期的に、情報取得部３１１に対して稼働情報を送信してもよい。
【０１１３】
管理サーバ１００は、スケールアウトをするか否かを判定する。実施例１では、負荷分散処理の開始条件とセッション情報の移行条件とが一致するため、管理サーバ１００は、移行条件情報及び稼働管理情報３１５に基づいて、スケールアウトするか否かを判定する。
【０１１４】
ここでは、管理サーバ１００が、スケールアウトすると判定したものとする。この場合、管理サーバ１００は、負荷分散処理を実行する（ステップＳ１００８）。実施例１の負荷分散処理では、負荷分散制御部３１２が、通信システムに通信サーバ１１０−３を追加し、当該通信サーバ１１０−３を起動する。
【０１１５】
実施例１では、管理サーバ１００は、負荷分散処理の実行を、セッション情報の移行契機として検知する。したがって、管理サーバ１００は、負荷分散処理の完了後、セッション情報の移行処理を開始する。セッション情報の移行処理では、まず、管理サーバ１００は、移行順番決定処理を実行する（ステップＳ１００９）。
【０１１６】
移行順番決定処理では、セッション情報移行制御部３１３が、新たな通信サーバ１１０−３に移行する複数のセッション情報を選択し、選択された複数のセッション情報の移行順番を決定する。選択された複数のセッション情報には、一つ以上の第１のセッション情報、及び一つ以上の第２のセッション情報が含まれる。
【０１１７】
ここでは、セッションＩＤが「ＢＢＢＢ」のセッション情報、及びセッションＩＤが「ＤＤＤＤ」のセッション情報が新たな通信サーバ１１０−３に移行する第１のセッション情報として選択されたものとする。また、セッション情報の移行順番については、最初に第１のセッション情報が送信され、その後、第２のセッション情報が送信されるものとする。
【０１１８】
なお、管理サーバ１００が実行する処理については、図１１Ａ、図１１Ｂ、及び図１２を用いて後述する。
【０１１９】
管理サーバ１００は、通信サーバ１１０−１に第１のセッション情報の移行指示を送信する（ステップＳ１０１０）。また、管理サーバ１００は、通信サーバ１１０−２に第１のセッション情報の移行指示を送信する（ステップＳ１０１１）。
【０１２０】
具体的には、セッション情報移行制御部３１３が、セッションＩＤが「ＢＢＢＢ」の第１のセッション情報の移行指示を通信サーバ１１０−１に送信する。また、セッション情報移行制御部３１３が、セッションＩＤが「ＤＤＤＤ」の第１のセッション情報の移行指示を通信サーバ１１０−２に送信する。
【０１２１】
通信サーバ１１０−１は、移行指示を受信した場合、選択された第１のセッション情報、すなわち、セッションＩＤが「ＢＢＢＢ」のセッション情報を通信サーバ１１０−３に送信する（ステップＳ１０１２）。また、通信サーバ１１０−２は、移行指示を受信した場合、選択された第１のセッション情報、すなわち、セッションＩＤが「ＤＤＤＤ」のセッション情報を通信サーバ１１０−３に送信する（ステップＳ１０１３）。
【０１２２】
通信サーバ１１０−３は、通信サーバ１１０−１及び通信サーバ１１０−２のそれぞれから受信した第１のセッション情報をデータベース１１１−５に格納する。
【０１２３】
管理サーバ１００は、第１のセッション情報の移行が完了した後、負荷分散装置１２０に負荷管理情報１２１の更新指示を送信する（ステップＳ１０１４）。更新指示には、更新対象のセッション情報のセッションＩＤ、移行先の通信サーバ１１０の識別子、及び移行先の通信サーバ１１０のアドレスが含まれる。
【０１２４】
このとき、負荷分散装置１２０は、更新指示にしたがって、負荷管理情報１２１を更新する。具体的には以下のような処理が実行される。
【０１２５】
まず、負荷分散装置１２０は、受信した更新指示から、セッションＩＤ、移行先の通信サーバ１１０の識別子、及び移行先の通信サーバ１１０のアドレスを取得する。負荷分散装置１２０は、セッションＩＤ５０１が取得されたセッションＩＤに一致するエントリを検索する。負荷分散装置１２０は、検索されたエントリの通信サーバＩＤ５０２に取得された移行先の通信サーバ１１０の識別子を設定し、また、当該エントリの通信サーバアドレス５０３に取得された移行先の通信サーバ１１０のアドレスを設定する。また、負荷分散装置１２０は、送信量５０５及び受信量５０６の値を初期化する。
【０１２６】
以上の処理によって、新たな通信サーバ１１０−３が、移行した第１のセッション情報に対応するセッションを用いた通信を管理することになる。すなわち、負荷分散装置１２０は、セッションＩＤが「ＡＡＡＡ」であるセッションを用いた通信のＩＰパケットを通信サーバ１１０−１に送信し（ステップＳ１０１５）、セッションＩＤが「ＢＢＢＢ」であるセッションを用いた通信のＩＰパケットを通信サーバ１１０−３に送信する（ステップＳ１０１６）。また、負荷分散装置１２０は、セッションＩＤが「ＣＣＣＣ」であるセッションを用いた通信のＩＰパケットを通信サーバ１１０−２に送信し（ステップＳ１０１７）、セッションＩＤが「ＤＤＤＤ」であるセッションを用いた通信のＩＰパケットを通信サーバ１１０−３に送信する（ステップＳ１０１８）。
【０１２７】
管理サーバ１００は、通信サーバ１１０−１及び通信サーバ１１０−２のそれぞれに第２のセッション情報の移行指示を送信する（ステップＳ１０１９、ステップＳ１０２０）。移行指示には、管理サーバ１００によって選択された一つ以上の第２のセッション情報のセッションＩＤが含まれる。
【０１２８】
通信サーバ１１０−１は、移行指示を受信した場合、データベース１１１−２に格納される複数の第２のセッション情報のうち、移行指示に含まれるセッションＩＤに一致する第２のセッション情報を通信サーバ１１０−３に送信する（ステップＳ１０２１）。
【０１２９】
通信サーバ１１０−２は、移行指示を受信した場合、データベース１１１−４に格納される複数の第２のセッション情報のうち、移行指示に含まれるセッションＩＤに一致する第２のセッション情報を通信サーバ１１０−３に送信する（ステップＳ１０２２）。
【０１３０】
通信サーバ１１０−３は、通信サーバ１１０−１及び通信サーバ１１０−２のそれぞれから受信した第２のセッション情報をデータベース１１１−６に格納する。
【０１３１】
管理サーバ１００は、第２のセッション情報の移行が完了した後、負荷分散装置１２０に負荷管理情報１２１の更新指示を送信する（ステップＳ１０２３）。これによって、セッション情報の移行処理が完了する。
【０１３２】
負荷分散装置１２０は、更新指示にしたがって、負荷管理情報１２１を更新する。なお、更新方法は、ステップＳ１０１４において説明した方法と同一であるため、説明を省略する。
【０１３３】
次に、管理サーバ１００が実行する処理の詳細について説明する。
【０１３４】
図１１Ａ及び図１１Ｂは、実施例１の管理サーバ１００が実行する処理の概要を説明するフローチャートである。
【０１３５】
管理サーバ１００は、移行条件情報の登録を受け付ける（ステップＳ１１０１）。管理サーバ１００は、移行条件情報を主記憶装置３０２又は副記憶装置３０３に格納する。なお、移行条件情報は、管理サーバ１００に予め設定されてもよい。
【０１３６】
管理サーバ１００は、複数の通信サーバ１１０の各々から稼働情報を取得する（ステップＳ１１０２）。また、管理サーバ１００は、負荷分散装置１２０からトラフィック情報を取得する（ステップＳ１１０３）。
【０１３７】
具体的には、情報取得部３１１が、複数の通信サーバ１１０から稼働情報を取得し、また、負荷分散装置１２０からトラフィック情報を取得する。
【０１３８】
管理サーバ１００は、複数の通信サーバ１１０の各々取得された稼働情報、及び負荷分散装置１２０から取得されたトラフィック情報に基づいて、稼働管理情報３１５を更新する（ステップＳ１１０４）。具体的には、以下のような処理が実行される。
【０１３９】
情報取得部３１１は、取得された複数の稼働情報の中から一つの稼働情報を選択し、物理サーバＩＤ７０１が当該稼働情報に含まれる通信サーバ１１０の識別子と一致するエントリを検索する。情報取得部３１１は、稼働情報に含まれる値を、検索されたエントリのＣＰＵ使用率７０２、メモリ使用率７０３、収容ユーザ数７０４、及び処理データ量７０５のそれぞれに上書きする。管理サーバ１００は、取得された複数の稼働情報について前述した処理を繰り返し実行する。
【０１４０】
情報取得部３１１は、トラフィック情報（負荷管理情報１２１）の中から一つのエントリを選択する。情報取得部３１１は、物理サーバＩＤ７０１が選択されたエントリの通信サーバＩＤ５０２と一致するエントリを検索する。情報取得部３１１は、検索されたエントリの通信量７０６に受信量５０６に格納される値を上書きする。情報取得部３１１は、トラフィック情報に含まれるすべてのエントリについて前述した処理を繰り返し実行する。
【０１４１】
なお、通信量７０６には、送信量５０５に格納される値を設定してもよいし、送信量５０５及び受信量５０６のそれぞれに格納される値を設定してもよい。
【０１４２】
以上がステップＳ１１０４の処理の説明である。
【０１４３】
次に、管理サーバ１００は、移行条件情報及び稼働管理情報３１５に基づいて、スケールアウトするか否かを判定する（ステップＳ１１０５）。
【０１４４】
具体的には、負荷分散制御部３１２が、移行条件情報及び稼働管理情報３１５に基づいて、スケールアウトするか否かを判定する。
【０１４５】
例えば、図９の確認領域９３０に表示された移行条件情報が設定されている場合、負荷分散制御部３１２は、稼働管理情報３１５のＣＰＵ使用率７０２及びメモリ使用率７０３を参照し、ＣＰＵ使用率が８０パーセントより大きい通信サーバ１１０又はメモリ使用率が７５パーセントより大きい通信サーバ１１０が存在するか否かを判定する。
【０１４６】
前述した条件を満たす通信サーバ１１０が少なくとも一つ存在する場合、負荷分散制御部３１２は、スケールアウトすると判定する。
【０１４７】
スケールアウトとしないと判定された場合、管理サーバ１００は、ステップＳ１１０２に戻り、同様の処理を実行する。
【０１４８】
スケールアウトすると判定された場合、管理サーバ１００は、負荷分散処理を実行する（ステップＳ１１０６）。
【０１４９】
具体的には、負荷分散制御部３１２が、新たな通信サーバ１１０を通信システムに追加し、また、新たな通信サーバ１１０を起動する。なお、負荷分散処理は、公知のものを用いればよいため本明細書では詳細な説明は省略する。
【０１５０】
実施例１では、通信システムに新たに追加された通信サーバ１１０が、セッション情報の移行先の通信サーバ１１０となる。そのため、負荷分散制御部３１２は、移行先の通信サーバ１１０の識別子及びアドレス等の、通信サーバ１１０の識別情報をセッション情報移行制御部３１３に出力する。
【０１５１】
管理サーバ１００は、負荷分散処理の完了後、移行条件情報及び稼働管理情報３１５に基づいて、セッション情報を移行するか否かを判定する（ステップＳ１１０７）。ステップＳ１１０７の処理は、セッション情報の移行契機を検知するための処理である。
【０１５２】
具体的には、セッション情報移行制御部３１３が、移行条件情報及び稼働管理情報３１５に基づいて、セッション情報を移行するか否かを判定する。実施例１では、負荷分散処理の開始条件と、セッション情報の移行条件とが一致するため、ステップＳ１１０５の判定結果をそのまま利用すればよい。
【０１５３】
セッション情報を移行しないと判定された場合、管理サーバ１００は、ステップＳ１１０２に戻り、同様の処理を実行する。
【０１５４】
セッション情報を移行すると判定された場合、管理サーバ１００は、移行条件情報及び属性管理情報３１４に基づいて、移行順番決定処理を実行する（ステップＳ１１０８）。
【０１５５】
具体的には、セッション情報移行制御部３１３が、移行元の通信サーバ１１０が保持するデータベース１１１に格納される複数のセッション情報の中から、移行させる複数のセッション情報を選択する。また、セッション情報移行制御部３１３は、選択された複数のセッション情報の移行順番を決定する。移行順番決定処理の詳細は、図１２を用いて後述する。
【０１５６】
管理サーバ１００は、移行元の通信サーバ１１０から移行先の通信サーバ１１０に一つ以上の第１のセッション情報を移行する（ステップＳ１１０９）。
【０１５７】
具体的には、セッション情報移行制御部３１３が、ステップＳ１１０８において選択された一つ以上の第１のセッション情報の移行指示を移行元の通信サーバ１１０に送信する。当該移行指示には、選択された一つ以上の第１のセッション情報のセッションＩＤ、移行先の通信サーバ１１０の識別子、及び移行先の通信サーバ１１０のアドレスが含まれる。
【０１５８】
移行元の通信サーバ１１０は、管理サーバ１００から移行指示を受信した場合、当該移行指示にしたがって、データベース１１１から一つ以上の第１のセッション情報を読み出し、移行先の通信サーバ１１０に読み出された一つ以上の第１のセッション情報を送信する。移行元の通信サーバ１１０は、第１のセッション情報の移行が完了した後、管理サーバ１００に第１の移行完了通知を送信する。なお、移行先の通信サーバ１１０が、第１の移行完了通知を送信してもよい。
【０１５９】
移行先の通信サーバ１１０は、受信した一つ以上の第１のセッション情報をデータベース１１１に格納する。また、移行先の通信サーバ１１０は、移行された第１のセッション情報に対応するセッションを用いた通信処理を開始する。
【０１６０】
管理サーバ１００は、移行元の通信サーバ１１０から第１の移行完了通知を受信した場合（ステップＳ１１１０）、負荷分散装置１２０に負荷管理情報１２１の更新指示を送信する（ステップＳ１１１１）。
【０１６１】
具体的には、セッション情報移行制御部３１３が、移行した一つ以上の第１のセッション情報のセッションＩＤ、移行先の通信サーバ１１０の識別子、及び移行先の通信サーバ１１０のアドレスを含む更新指示を負荷分散装置１２０に送信する。
【０１６２】
管理サーバ１００は、第１のセッション情報の移行が完了したか否かを判定する（ステップＳ１１１２）。
【０１６３】
具体的には、セッション情報移行制御部３１３が、移行指示を送信したすべての通信サーバ１１０から第１の移行完了通知を受信したか否かを判定する。移行指示を送信したすべての通信サーバ１１０から第１の移行完了通知を受信した場合、セッション情報移行制御部３１３は、第１のセッション情報の移行が完了したと判定する。
【０１６４】
第１のセッション情報の移行が完了していないと判定された場合、管理サーバ１００は、ステップＳ１１１０に戻り、同様の処理を実行する。
【０１６５】
第１のセッション情報の移行が完了したと判定された場合、管理サーバ１００は、移行元の通信サーバ１１０から移行先の通信サーバ１１０に一つ以上の第２のセッション情報を移行する（ステップＳ１１１３）。
【０１６６】
具体的には、セッション情報移行制御部３１３が、ステップＳ１１０８において選択された一つ以上の第２のセッション情報の移行指示を移行元の通信サーバ１１０に送信する。当該移行指示には、選択された一つ以上の第２のセッション情報のセッションＩＤ、移行先の通信サーバ１１０の識別子、及び移行先の通信サーバ１１０のアドレスが含まれる。
【０１６７】
移行元の通信サーバ１１０は、管理サーバ１００から移行指示を受信した場合、当該移行指示にしたがって、データベース１１１から一つ以上の第２のセッション情報を読み出し、移行先の通信サーバ１１０に読み出された一つ以上の第２のセッション情報を送信する。移行元の通信サーバ１１０は、第２のセッション情報の移行が完了した後、管理サーバ１００に第２の移行完了通知を送信する。
【０１６８】
管理サーバ１００は、移行元の通信サーバ１１０から第２の移行完了通知を受信した場合（ステップＳ１１１４）、負荷分散装置１２０に負荷管理情報１２１の更新指示を送信する（ステップＳ１１１５）。
【０１６９】
具体的には、セッション情報移行制御部３１３が、移行した一つ以上の第２のセッション情報のセッションＩＤ、移行先の通信サーバ１１０の識別子、及び移行先の通信サーバ１１０のアドレスを含む更新指示を負荷分散装置１２０に送信する。
【０１７０】
管理サーバ１００は、第２のセッション情報の移行が完了したか否かを判定する（ステップＳ１１１６）。
【０１７１】
具体的には、セッション情報移行制御部３１３が、移行指示を送信したすべての通信サーバ１１０から第２の移行完了通知を受信したか否かを判定する。移行指示を送信したすべての通信サーバ１１０から第２の移行完了通知を受信した場合、セッション情報移行制御部３１３は、第１のセッション情報の移行が完了したと判定する。
【０１７２】
第２のセッション情報の移行が完了していないと判定された場合、管理サーバ１００は、ステップＳ１１１４に戻り、同様の処理を実行する。
【０１７３】
第２のセッション情報の移行が完了したと判定された場合、管理サーバ１００は、ステップＳ１１０２に戻り、同様の処理を実行する。
【０１７４】
実施例１では、セッション情報の移行条件が負荷分散処理の開始条件と一致するように設定されているが、本発明はこれに限定されない。セッション情報の移行条件と負荷分散処理の開始条件とが異なるように設定されてもよい。この場合、管理サーバ１００は、ステップＳ１１０４の処理を実行した後、移行条件情報及び稼働管理情報３１５に基づいて、セッション情報を移行するか否かを判定する（ステップＳ１１０７）。すなわち、ステップＳ１１０５及びステップＳ１１０６の処理が省略される。
【０１７５】
図１２は、実施例１の管理サーバ１００のセッション情報移行制御部３１３が実行する移行順番決定処理の一例を説明するフローチャートである。
【０１７６】
セッション情報移行制御部３１３は、処理対象の通信サーバ１１０、すなわち、セッション情報の移行元の通信サーバ１１０を決定する（ステップＳ１２０１）。
【０１７７】
具体的には、セッション情報移行制御部３１３は、負荷分散制御部３１２から出力された負荷分散処理の処理結果に基づいて、移行元の通信サーバ１１０を決定する。なお、セッション情報の移行条件が負荷分散処理の開始条件と異なる場合、セッション情報移行制御部３１３は、移行条件情報に設定された移行条件を満たす通信サーバ１１０を処理対象の通信サーバ１１０として決定する。
【０１７８】
セッション情報移行制御部３１３は、属性管理情報３１４に基づいて、処理対象の通信サーバ１１０が保持するデータベース１１１に格納される複数のセッション情報の中から、移行候補の複数のセッション情報を特定する（ステップＳ１２０２）。
【０１７９】
具体的には、セッション情報移行制御部３１３は、属性管理情報３１４を参照して、通信サーバＩＤ６０１が処理対象の通信サーバ１１０の識別子と一致するエントリを検索する。セッション情報移行制御部３１３は、検索されたエントリの属性６０４を参照し、データタイプ６０６に「マスタ」が設定されたセッション情報を移行候補のセッション情報として特定する。
【０１８０】
セッション情報移行制御部３１３は、移行する第１のセッション情報の数、及び移行する第２のセッション情報の数を決定する（ステップＳ１２０３）。
【０１８１】
移行するセッション情報の数の決定方法は様々考えられる。例えば、セッション情報移行制御部３１３は、移行元の通信サーバ１１０のデータベース１１１及び移行先の通信サーバ１１０のデータベース１１１に格納される第１のセッション情報の数が均一になるように、移行する第１のセッション情報の数を決定する。セッション情報移行制御部３１３は、移行する第２の数についても同様の方法を用いて決定する。以下の説明では、移行する第１のセッション情報の数を第１の移行数、移行する第２のセッション情報の数を第２の移行数とも記載する。
【０１８２】
なお、前述した決定方法は一例であってこれに限定されない。例えば、以下のような決定方法を用いてもよい。
【０１８３】
（１）セッション情報移行制御部３１３は、移行元の通信サーバ１１０の性能及び移行先の通信サーバ１１０の性能に基づいて、第１の移行数及び第２の移行数を決定する。この場合、セッション情報移行制御部３１３は、公知の技術を用いて通信サーバ１１０の性能値を算出し、移行元の通信サーバ１１０の性能値及び移行先の通信サーバ１１０の性能値の比に基づいて、第１の移行数及び第２の移行数を決定する。
【０１８４】
（２）移行するセッション情報の数が予め移行条件情報に含まれる場合、セッション情報移行制御部３１３は、移行条件情報に含まれる数に基づいて、第１の移行数及び第２の移行数を決定する。
【０１８５】
以上が、ステップＳ１２０３の処理の説明である。
【０１８６】
次に、セッション情報移行制御部３１３は、移行候補の複数の第１のセッション情報の中から、第１の移行数だけ第１のセッション情報を選択する（ステップＳ１２０４）。
【０１８７】
実施例１では、セッション情報移行制御部３１３は、データベース１１１の上のエントリから順に、第１の移行数だけ第１のセッション情報を選択するものとする。
【０１８８】
なお、第１のセッション情報の選択方法は前述したものに限定されない。例えば、移行条件情報にセッションの優先度にしたがってセッション情報を選択する旨の情報が含まれる場合、セッション情報移行制御部３１３は、セッションの優先度が高いものから順に、第１の移行数だけ第１のセッション情報を選択する。
【０１８９】
セッション情報移行制御部３１３は、移行候補の複数の第２のセッション情報の中から、第２の移行数だけ第２のセッション情報を選択する（ステップＳ１２０５）。ステップＳ１２０５の処理はステップＳ１２０４と同一である。
【０１９０】
セッション情報移行制御部３１３は、移行条件情報に基づいて、選択された第１のセッション情報及び第２のセッション情報の移行順番を決定する（ステップＳ１２０６）。
【０１９１】
実施例１では、セッション情報移行制御部３１３は、第１のセッション情報、及び第２のセッション情報の順に送信することを決定する。
【０１９２】
セッション情報移行制御部３１３は、処理結果に基づいて移行制御情報を生成する（ステップＳ１２０７）。その後、セッション情報移行制御部３１３は、処理を終了する。
【０１９３】
具体的には、セッション情報移行制御部３１３は、移行元の通信サーバ１１０の識別情報、移行先の通信サーバ１１０の識別情報、選択された第１のセッション情報のセッションＩＤ、選択された第２のセッション情報のセッションＩＤ、及び移行順番を含む移行制御情報を生成する。通信サーバ１１０の識別情報には、通信サーバ１１０の識別子及びアドレスが含まれる。
【０１９４】
なお、移行制御情報には、第２のセッション情報の送信タイミングが含まれてもよい。移行先の通信サーバ１１０は、第１のセッション情報を受信した後、当該第１のセッション情報を用いて通信処理を開始する。移行先の通信サーバ１１０に多くの第２のセッション情報を送信すると、通信処理に使用可能な帯域が確保できない。そのため、帯域を確保するために、予め送信タイミングを設定することが考えられる。
【０１９５】
移行順番決定処理が終了した後、セッション情報移行制御部３１３は、移行制御情報に基づいて、選択されたセッション情報の移行指示を移行元の通信サーバ１１０に送信する。なお、セッション情報移行制御部３１３は、生成された移行制御情報を負荷分散装置１２０等の他の装置に送信してもよい。この場合、当該他の装置が、移行制御情報に基づいて、複数のセッション情報の移行を制御する。
【０１９６】
実施例１によれば、セッション情報の属性に応じて、移行元の通信サーバ１１０から移行先の通信サーバ１１０に送信する複数のセッション情報の移行順番を決定できる。
【０１９７】
より具体的には、管理サーバ１００は、最初に、通信サーバ１１０−１及び通信サーバ１１０−２が保持するデータベース１１１に格納される第１のセッション情報を通信サーバ１１０−３に移行させ、第１のセッション情報の移行が完了した後に、負荷分散装置１２０に負荷管理情報１２１の更新を指示する。そのため、通信サーバ１１０−３は、負荷管理情報１２１の更新後、第１のセッション情報に対応するセッションを用いた通信の処理を実行できる。
【０１９８】
一方、第２のセッション情報に対応するセッションについては、実際に通信が行われていないため、すぐに第２のセッション情報を通信サーバ１１０−３に移行させなくても移動端末２０１の通信に影響がない。そのため、管理サーバ１００は、第１のセッション情報の移行後、所定のタイミングで、移行元の通信サーバ１１０に、第２のセッション情報の移行を指示する。
【０１９９】
これによって、スケールアウトによる負荷分散の効果を迅速に反映できる。また、スケールアウトに伴うサービスの中断時間を短縮できる。
【０２００】
なお、実施例１では、セッション情報の移行条件が負荷分散処理の開始条件と一致するものとして説明したが、本発明はこれに限定されない。例えば、障害発生をセッション情報の移行条件としてもよい。これによって、障害発生によるサービスダウンの時間を短縮することができ、また、冗長構成の再構築に要する時間を短縮できる。
【実施例２】
【０２０１】
実施例２では、第２のセッション情報の移行指示が送信される通信サーバ１１０が実施例１と異なる。具体的には、管理サーバ１００は、移行元の通信サーバ１１０が保持するデータベース１１１のコピーであるバックアップデータ１１２を保持する通信サーバ１１０に、第２のセッション情報の移行指示を送信する。以下、実施例１との差異を中心に実施例２について説明する。
【０２０２】
図１３は、実施例２の通信システムの構成例を示す説明図である。
【０２０３】
実施例２では、通信サーバ１１０−１の通信制御部が管理するセッション情報を通信サーバ１１０−３に移行することを想定する。また、通信サーバ１１０−２は、データベース１１１−１及びデータベース１１１−２のコピーであるバックアップデータ１１２−３及びバックアップデータ１１２−４のみを保持する待機系であるものとする。
【０２０４】
実施例２では、待機系である通信サーバ１１０−２が、第２のセッション情報の移行元の通信サーバ１１０として設定される。通信サーバ１１０−２は、管理サーバ１００から移行指示を受信した場合、通信サーバ１１０−１が保持するデータベース１１１−２のコピーであるバックアップデータ１１２−４から、第２の移行数だけ第２のセッション情報を通信サーバ１１０−３に送信する。
【０２０５】
実施例２の管理サーバ１００及び通信サーバ１１０の構成は実施例１の構成と同一であるため説明を省略する。実施例２の各種情報は、実施例１の各種情報と同一であるため説明を省略する。
【０２０６】
図１４は、実施例２の通信システムの処理の流れを説明するシーケンス図である。
【０２０７】
ステップＳ１４０１及びステップＳ１４０２の処理は、ステップＳ１００１及びステップＳ１００２の処理と同一である。ステップＳ１４０３からステップＳ１４０８の処理は、ステップＳ１００５からステップＳ１０１０の処理と同一である。ステップＳ１４０９の処理は、ステップＳ１０１２の処理と同一である。ステップＳ１４１０からステップＳ１４１２の処理は、ステップＳ１０１４からステップＳ１０１６の処理と同一である。また、ステップＳ１４１５の処理は、ステップＳ１０２３の処理と同一である。
【０２０８】
実施例２では、第１のセッション情報の移行が完了した後、管理サーバ１００が、通信サーバ１１０−２に、第２のセッション情報の移行指示を送信する（ステップＳ１４１３）。移行指示に含まれる情報は、実施例１と同一である。
【０２０９】
通信サーバ１１０−２は、移行指示を受信すると、データベース１１１−２のコピーであるバックアップデータ１１２−４から、第２の移行数だけ第２のセッション情報を読み出して、通信サーバ１１０−３に送信する（ステップＳ１４１４）。
【０２１０】
実施例２では、移行条件情報に、バックアップデータ１１２から複数の第２のセッション情報を移行させる旨の情報が含まれる。また、実施例２では、移行順番決定処理の処理内容が一部異なる。
【０２１１】
ステップＳ１２０１からステップＳ１２０４の処理は実施例１の処理と同一である。また、ステップＳ１２０６の処理は実施例１の処理と同一である。実施例２ではステップＳ１２０５の処理内容が一部異なる。
【０２１２】
セッション情報移行制御部３１３は、データベース１１１の上のエントリから順に、第２の移行数だけ第２のセッション情報を選択する。
【０２１３】
セッション情報移行制御部３１３は、属性管理情報３１４を参照し、セッションＩＤ６０３が選択されたセッション情報のセッションＩＤと一致し、かつ、データタイプ６０６が「バックアップ」であるセッション情報を格納するバックアップデータ１１２を保持する通信サーバ１１０を検索する。すなわち、セッション情報移行制御部３１３は、データベース１１１のコピーであるバックアップデータ１１２を保持する通信サーバ１１０を検索する。
【０２１４】
セッション情報移行制御部３１３は、検索された通信サーバ１１０を、第２のセッション情報の移行元の通信サーバ１１０に決定する。検索された通信サーバ１１０が複数存在する場合、セッション情報移行制御部３１３は、待機系の通信サーバ１１０を優先的に選択する。
【０２１５】
以上が実施例２のステップＳ１２０５の処理の説明である。
【０２１６】
また、実施例２ではステップＳ１２０７の処理が一部異なる。具体的には、セッション情報移行制御部３１３は、第１のセッション情報の移行元の通信サーバ１１０の識別情報、第２のセッション情報の移行元の通信サーバ１１０の識別情報、移行先の通信サーバ１１０の識別情報、選択された第１のセッション情報のセッションＩＤ、選択された第２のセッション情報のセッションＩＤ、及び移行順番を含む移行制御情報を生成する。
【０２１７】
以上の処理によって、管理サーバ１００は、ステップＳ１４１３において、通信サーバ１１０−２に第２のセッション情報の移行指示を送信できる。
【０２１８】
実施例２によれば、待機系の通信サーバ１１０が、第２のセッション情報を移行するため、第１のセッション情報の移行元の通信サーバ１１０の処理負荷を低減できる。
【実施例３】
【０２１９】
実施例３では、仮想サーバを用いて通信サーバ１１０を実現している点が実施例１と異なる。以下、実施例１との差異を中心に実施例３について説明する。
【０２２０】
図１５は、実施例３の通信システムの構成例を示す説明図である。
【０２２１】
実施例３では、仮想化技術が適用された物理サーバ１５００上に生成された仮想サーバを用いて通信サーバ１５２０を実現している点が実施例１と異なる構成である。
【０２２２】
具体的には、仮想化技術が適用された物理サーバ１５００では、ハイパバイザ１５１０を実現するプログラムが実行される。ハイパバイザ１５１０は、物理サーバ１５００の計算機リソースを論理的に分割することによって、一つ以上の仮想サーバを生成する。
【０２２３】
実施例３の通信サーバ１５２０−１は、複数の第１のセッション情報を格納するデータベース１１１−１、及び複数の第２のセッション情報を格納するデータベース１１１−２を保持する。また、通信サーバ１５２０−１は、データベース１１１−３のバックアップデータ１１２−１、及びデータベース１１１−４のバックアップデータ１１２−２を保持する。
【０２２４】
実施例３の通信サーバ１５２０−２は、複数の第１のセッション情報を格納するデータベース１１１−３、及び複数の第２のセッション情報を格納するデータベース１１１−４を保持する。通信サーバ１５２０−２は、データベース１１１−１のバックアップデータ１１２−３、及びデータベース１１１−２のバックアップデータ１１２−４を保持する。
【０２２５】
実施例３では、通信サーバ１５２０−１の負荷が増大し、物理サーバ１５００−３上に新たに通信サーバ１５２０−５が生成されるものとする。また、管理サーバ１００は、通信サーバ１５２０−１が保持するデータベース１１１−１に格納される複数の第１のセッション情報の一部を通信サーバ１５２０−５のデータベース１１１−５に移行し、また、通信サーバ１５２０−１が保持するデータベース１１１−２に格納される複数の第２のセッション情報の一部を通信サーバ１５２０−５のデータベース１１１−６に移行するものとする。
【０２２６】
データベース１１１に格納される複数のセッション情報は実施例１と同一の情報であるため説明を省略する。
【０２２７】
負荷管理情報１２１は実施例１と同一の情報であるため説明を省略する。ただし、通信サーバＩＤ５０２に格納される識別子が実施例１と異なる。
【０２２８】
具体的には、実施例３では、物理サーバ１５００の識別子及び通信サーバ１５２０の識別子を組み合わせた情報が通信サーバＩＤに格納される。物理サーバ１５００上の仮想サーバには一意な識別子が割り当てられるが、当該識別子は物理サーバ１５００内で一意な識別子であり、他の物理サーバ１５００上の仮想サーバと重複する可能性があるためである。
【０２２９】
属性管理情報３１４については、構成種別６０２に「仮想」が格納される点が実施例と異なる。他のカラムについては、実施例１と同一の情報が格納される。
【０２３０】
図１６は、実施例３の管理サーバ１００が保持する稼働管理情報３１５の一例を示す説明図である。
【０２３１】
実施例３の稼働管理情報３１５のエントリは、物理サーバＩＤ１６０１、ＣＰＵ使用率１６０２、メモリ使用率１６０３、仮想サーバＩＤ１６０４、仮想ＣＰＵ使用率１６０５、仮想メモリ使用率１６０６、収容ユーザ数１６０７、処理データ量１６０８、及び通信量１６０９を含む。
【０２３２】
物理サーバＩＤ１６０１は、物理サーバ１５００を一意に識別するための識別子である。ＣＰＵ使用率１６０２は、物理サーバ１５００が有するＣＰＵの使用率である。メモリ使用率１６０３は、物理サーバ１５００が有するメモリの使用率である。
【０２３３】
仮想サーバＩＤ１６０４は、物理サーバ１５００上で稼働する仮想サーバを一意に識別するための識別子である。
【０２３４】
仮想ＣＰＵ使用率１６０５は、通信サーバ１５２０に対応する仮想サーバに割り当てられた仮想ＣＰＵの使用率である。仮想メモリ使用率１６０６は、通信サーバ１５２０に対応する仮想サーバに割り当てられた仮想メモリの使用率である。収容ユーザ数１６０７は、通信サーバ１５２０が収容する移動端末２０１の数である。
【０２３５】
処理データ量１６０８は、通信サーバ１５２０が処理したデータ（パケット）の容量である。処理データ量１６０８には、一定時間内に処理されたパケット数若しくはパケット量、又は、これまでに処理されたパケット数若しくはパケット量の積算値が格納される。通信量１６０９は、負荷分散装置１２０が通信サーバ１１０に転送したデータ（パケット）の容量である。通信量１６０９には、負荷分散装置１２０が通信サーバ１５２０に一定時間内に転送したパケット数若しくはパケット量、若しくは、これまでに通信サーバ１１０に転送したパケット数若しくはパケット量の積算値、又は、通信サーバ１５２０が負荷分散装置１２０へ一定時間内に送信したパケット数若しくはパケット量、若しくは、これまで負荷分散装置１２０へ送信したパケット数若しくはパケット量の積算値である。
【０２３６】
図１７は、実施例３の通信システムの処理の流れを説明するシーケンス図である。図１７では、説明の簡単のために物理サーバ１５００−２を省略している。
【０２３７】
負荷分散処理の実行前において、負荷分散装置１２０は、セッションＩＤが「ＡＡＡＡ」であるセッションを用いた通信のＩＰパケット、及びセッションＩＤが「ＢＢＢＢ」であるセッションを用いた通信のＩＰパケットを通信サーバ１５２０−１に送信する（ステップＳ１７０１、ステップＳ１７０２）。
【０２３８】
ハイパバイザ１５１０−１は、負荷分散装置１２０からパケットを受信した場合、当該パケットを解析することによって、通信サーバ１５２０−１宛てのパケットであることを把握する。ハイパバイザ１５１０−１は、受信したパケットを通信サーバ１５２０−１に送信する。
【０２３９】
管理サーバ１００は、負荷分散装置１２０から周期的にトラフィック情報を取得する（ステップＳ１７０３）。ステップＳ１７０３の処理はステップＳ１００５と同一の処理である。
【０２４０】
管理サーバ１００は、周期的に、物理サーバ１５００−１の稼働情報、及び物理サーバ１５００−１上で稼働する通信サーバ１５２０の稼働情報を取得する（ステップＳ１７０４）。
【０２４１】
具体的には、情報取得部３１１が、物理サーバ１５００−１に稼働情報の取得要求を送信する。物理サーバ１５００のハイパバイザ１５１０は、当該取得要求を受信した場合、物理サーバ１５００の稼働情報を取得し、また、当該物理サーバ１５００上で稼働するすべての通信サーバ１５２０の稼働情報を取得する。ハイパバイザ１５１０は、物理サーバ１５００及び通信サーバ１５２０のそれぞれの稼働情報を情報取得部３１１に送信する。
【０２４２】
なお、ハイパバイザ１５１０が物理サーバ１５００及び通信サーバ１５２０から稼働情報を取得する方法は公知の技術であるため説明を省略する。
【０２４３】
管理サーバ１００は、周期的に、物理サーバ１５００−３の稼働情報、及び物理サーバ１５００−３上で稼働する通信サーバ１５２０の稼働情報を取得する（ステップＳ１７０５）。この時点では、通信サーバ１５２０−５は生成されていないため、通信サーバ１５２０−５の稼働情報を取得できない。
【０２４４】
管理サーバ１００は、スケールアウトするか否かを判定する。判定方法は実施例１と同一の判定方法である。
【０２４５】
ここでは、管理サーバ１００がスケールアウトすると判定したものとする。この場合、管理サーバ１００は、負荷分散処理を実行する（ステップＳ１７０６）。実施例３の負荷分散処理では、負荷分散制御部３１２が、物理サーバ１５００−３に通信サーバ１５２０−５を追加し、当該通信サーバ１５２０−５を起動する。
【０２４６】
管理サーバ１００は、負荷分散処理の完了後、セッション情報の移行処理を開始する。セッション情報の移行処理では、まず、管理サーバ１００は、移行順番決定処理を実行する（ステップＳ１７０７）。ステップＳ１７０７の処理は、通信サーバ１５２０が仮想サーバである点がステップＳ１００９の処理と異なる。ただし、ステップＳ１７０７の処理内容は、ステップＳ１００９の処理と同一である。
【０２４７】
ここでは、セッションＩＤが「ＢＢＢＢ」のセッション情報が新たな通信サーバ１５２０−５に移行する第１のセッション情報として選択されたものとする。また、セッション情報の順番については、最初に第１のセッション情報が送信され、その後、第２のセッション情報が送信されるものとする。
【０２４８】
管理サーバ１００は、通信サーバ１５２０−１に第１のセッション情報の移行指示を送信する（ステップＳ１７０８）。
【０２４９】
具体的には、セッション情報移行制御部３１３が、セッションＩＤが「ＢＢＢＢ」のセッション情報の移行指示を通信サーバ１５２０−１に送信する。
【０２５０】
物理サーバ１５００−１のハイパバイザ１５１０−１は、移行指示を受信した場合、当該移行指示を解析することによって、通信サーバ１５２０−１宛ての移行指示であることを把握する。ハイパバイザ１５１０−１は、受信した移行指示を通信サーバ１５２０−１に送信する。
【０２５１】
通信サーバ１５２０−１は、移行指示を受信した場合、第１のセッション情報、すなわち、セッションＩＤが「ＢＢＢＢ」のセッション情報を通信サーバ１５２０−５に送信する（ステップＳ１７０９）。
【０２５２】
物理サーバ１５００−３のハイパバイザ１５１０−３は、セッション情報を含むパケットを受信した場合、当該パケットを解析することによって、通信サーバ１５２０−５宛てのセッション情報であることを把握する。ハイパバイザ１５１０−３は、通信サーバ１５２０−５にセッション情報を送信する。通信サーバ１５２０−５は、受信したセッション情報をデータベース１１１−５に格納する。
【０２５３】
管理サーバ１００は、第１のセッション情報の移行が完了した後、負荷分散装置１２０に負荷管理情報１２１の更新指示を送信する（ステップＳ１７１０）。ステップＳ１７１０の処理は、ステップＳ１０１４と同一の処理である。ただし、更新指示に含まれる移行先の通信サーバ１５２０の識別子は、物理サーバ１５００−３及び通信サーバ１５２０−５の識別子が組み合わされた情報である。
【０２５４】
以上の処理によって、新たな通信サーバ１５２０−５が、移行した第１のセッション情報に対応するセッションを用いた通信を管理することとなる。すなわち、負荷分散装置１２０は、セッションＩＤが「ＡＡＡＡ」であるセッションを用いた通信のＩＰパケットを通信サーバ１５２０−１に送信し（ステップＳ１７１１）、セッションＩＤが「ＢＢＢＢ」であるセッションを用いた通信のＩＰパケットを通信サーバ１５２０−５に送信する（ステップＳ１７１２）。
【０２５５】
管理サーバ１００は、通信サーバ１５２０−１に第２のセッション情報の移行指示を送信する（ステップＳ１７１３）。ステップＳ１７１３の処理は、ステップＳ１０１９と同一の処理である。
【０２５６】
通信サーバ１５２０−１のハイパバイザ１５１０−１は、移行指示を含むパケットを受信した場合、当該パケットを解析することによって、通信サーバ１５２０−１宛ての移行指示であることを把握する。ハイパバイザ１５１０−１は、通信サーバ１５２０−１に移行指示を送信する。
【０２５７】
通信サーバ１５２０−１は、移行指示を受信した場合、データベース１１１−２に格納される複数の第２のセッション情報のうち、移行指示に含まれるセッションＩＤに対応する第２のセッション情報を通信サーバ１５２０−５に送信する（ステップＳ１７１４）。
【０２５８】
物理サーバ１５００−３のハイパバイザ１５１０−３は、セッション情報を含むパケットを受信した場合、当該パケットを解析することによって、通信サーバ１５２０−５宛てのセッション情報であることを把握する。ハイパバイザ１５１０−３は、通信サーバ１５２０−５にセッション情報を送信する。通信サーバ１５２０−５は、受信したセッション情報をデータベース１１１−６に格納する。
【０２５９】
管理サーバ１００は、第２のセッション情報の移行が完了した後、負荷分散装置１２０に負荷管理情報１２１の更新指示を送信する（ステップＳ１７１５）。ステップＳ１７１５の処理は、ステップＳ１０２３の処理と同一である。ただし、更新指示に含まれる移行先の通信サーバ１５２０の識別子は、物理サーバ１５００−３及び通信サーバ１５２０−５の識別子が組み合わされ情報である。
【０２６０】
実施例３によれば、仮想化技術を適用した物理サーバ１５００であっても、実施例１と同様の効果を奏することができる。
【実施例４】
【０２６１】
実施例４では、管理サーバ１００が、ポリシ情報に基づいて、セッション情報の移行順番を決定する点が実施例１と異なる。以下、実施例１との差異を中心に実施例４について説明する。
【０２６２】
通信システムの構成は実施例１と同一であるため説明を省略する。図１８は、実施例４の管理サーバ１００のハードウェア構成及びソフトウェア構成の一例を示すブロック図である。
【０２６３】
管理サーバ１００のハードウェア構成は、実施例１のハードウェア構成と同一のものである。実施例４では、ソフトウェア構成が異なる。具体的には、主記憶装置３０２にポリシ情報１８００が格納される。なお、主記憶装置３０２に格納されるその他のプログラム及びその他の情報は、実施例１のプログラム及び情報と同一のものである。
【０２６４】
ポリシ情報１８００は、セッション情報移行制御部３１３が複数のセッション情報の移行順番を決定する場合に参照する情報である。ポリシ情報１８００は、予め、管理サーバ１００に設定されているものとする。なお、オペレータは、ポリシ情報１８００を変更できる。
【０２６５】
ここで、ポリシ情報１８００について説明する。図１９は、実施例４の管理サーバ１００が保持するポリシ情報１８００の一例を示す説明図である。
【０２６６】
ポリシ情報１８００には、一つの移行条件に対して一つのエントリが存在する。すなわち、ポリシ情報１８００には、一つの移行条件情報に対して一つのエントリが存在する。ポリシ情報１８００のエントリは、ポリシＩＤ１９０１、移行条件１９０２、及び移行順番１９０３を含む。
【０２６７】
ポリシＩＤ１９０１は、ポリシを一意に識別するための識別子である。移行条件１９０２は、セッション情報の移行契機を検知するための移行条件である。移行順番１９０３は、複数のセッション情報の移行順番を決定するための指標となる情報である。移行順番１９０３には、セッション情報に対応するセッションを用いた通信の中断時間が短く、かつ、セッション情報の移行による効果が迅速に通信システムに反映される情報が格納される。
【０２６８】
実施例１では、オペレータがユーザインタフェース９００を用いて、移行条件及び移行順番を設定することによって移行条件情報を入力し、管理サーバ１００は、移行条件情報の入力に基づいて、移行順番を決定していた。実施例４では、管理サーバ１００が、予め、移行条件毎に最適な移行順番が設定された移行条件情報をポリシ情報１８００として保持し、移行条件に応じて、自動的に複数のセッション情報の移行順番を決定する。
【０２６９】
ポリシ情報１８００には、移行条件に応じて、様々なポリシを設定できる。例えば、ＣＰＵの負荷の増大、メモリ容量の不足、又は収容ユーザ数の増加が移行条件となる場合、それぞれの移行条件に対してポリシを設定できる。
【０２７０】
ＣＰＵの負荷の増大が移行条件の場合、通信サーバ１１０のＣＰＵの負荷が転送量の増加することによって高くなった場合、負荷分散処理の効果を迅速に反映するために、最初に第１のセッションを移行させるポリシが考えられる。また、メモリ容量の不足、又は収容ユーザ数の増加が移行条件の場合、最初に第２のセッション情報を移行させるポリシが考えられる。
【０２７１】
図２０は、実施例４の管理サーバ１００のセッション情報移行制御部３１３が実行する移行順番決定処理の一例を説明するフローチャートである。
【０２７２】
ステップＳ２００１からステップＳ２００５の処理は、ステップＳ１２０１からステップＳ１２０５の処理と同一である。ステップＳ２００７の処理は、ステップＳ１２０７の処理と同一である。
【０２７３】
セッション情報移行制御部３１３は、ポリシ情報１８００を参照して、複数のセッション情報の移行順番を決定する（ステップＳ２００６）。
【０２７４】
具体的には、セッション情報移行制御部３１３は、負荷分散制御部３１２から通知された負荷分散処理の開始条件が、ポリシ情報１８００の移行条件１９０２と一致するエントリを検索する。すなわち、セッション情報移行制御部３１３は、検知された移行契機に対応する移行条件と一致するエントリをポリシ情報１８００から検索する。セッション情報移行制御部３１３は、検索されたエントリの移行順番１９０３に基づいて、複数のセッション情報の移行順番を決定する。
【０２７５】
図２１Ａ、図２１Ｂ及び図２１Ｃは、実施例４の管理サーバ１００が実行する処理の概要を説明するフローチャートである。
【０２７６】
ステップＳ２１０１からステップＳ２１０６の処理は、ステップＳ１１０２からステップＳ１１０７の処理と同一である。ただし、ステップＳ２１０５において、負荷分散制御部３１２は、セッション情報移行制御部３１３に負荷分散処理の開始条件を通知する。また、ステップＳ２１０７の処理は図２０において説明したとおりである。
【０２７７】
移行順番決定処理の実行後（ステップＳ２１０７）、セッション情報移行制御部３１３は、移行制御情報に基づいて、最初に第１のセッション情報を移行させるか否かを判定する（ステップＳ２１０８）。
【０２７８】
最初に第１のセッション情報を移行させると判定された場合、セッション情報移行制御部３１３は、移行元の通信サーバ１１０から移行先の通信サーバ１１０に一つ以上の第１のセッション情報を移行する（ステップＳ２１０９）。ステップＳ２１０９からステップＳ２１１６の処理は、ステップＳ１１０９からステップＳ１１１６の処理と同一である。
【０２７９】
最初に第２のセッション情報を移行させると判定された場合、セッション情報移行制御部３１３は、移行元の通信サーバ１１０から移行先の通信サーバ１１０に一つ以上の第２のセッション情報を移行する（ステップＳ２１１７）。ステップＳ２１１７からステップＳ２１２０の処理は、ステップＳ１１１３からステップＳ１１１６の処理と同一である。
【０２８０】
ステップＳ２１２０の処理において、第２のセッション情報の移行が完了したと判定された場合、セッション情報移行制御部３１３は、移行元の通信サーバ１１０から移行先の通信サーバ１１０に一つ以上の第１のセッション情報を移行する（ステップＳ２１２１）。ステップＳ２１２１からステップＳ２１２４の処理は、ステップＳ１１０９の処理からステップＳ１１１２の処理と同一である。
【０２８１】
ステップＳ２１２４において、第２のセッション情報の移行が完了したと判定された場合、管理サーバ１００は、ステップＳ２１０２に戻り同様の処理を実行する。
【０２８２】
実施例４によれば、管理サーバ１００が、移行条件に応じて自動的に、複数のセッション情報の移行順番を決定できる。これによって、オペレータの管理負担を低減できる。
【０２８３】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【０２８４】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【０２８５】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）等の広範囲のプログラム又はスクリプト言語で実装できる。
【０２８６】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【０２８７】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【０２８８】
１００  管理サーバ
１１０  通信サーバ
１１１  データベース
１１２  バックアップデータ
１２０  負荷分散装置
１２１  負荷管理情報
１３０  管理ネットワーク
１４０  外部ネットワーク
３０１  ＣＰＵ
３０２  主記憶装置
３０３  副記憶装置
３０４  ＮＩＣ
３０５  ＨＢＡ
３１１  情報取得部
３１２  負荷分散制御部
３１３  セッション情報移行制御部
３１４  属性管理情報
３１５  稼働管理情報
９００  ユーザインタフェース
１５００  物理サーバ
１５１０  ハイパバイザ
１５２０  通信サーバ
１８００  ポリシ情報
【図１】
2016045839.tif 000003
【図２】
2016045839.tif 000004
【図３】
2016045839.tif 000005
【図４Ａ】
2016045839.tif 000006
【図４Ｂ】
2016045839.tif 000007
【図５】
2016045839.tif 000008
【図６】
2016045839.tif 000009
【図７】
2016045839.tif 000010
【図９】
2016045839.tif 000011
【図１０Ａ】
2016045839.tif 000012
【図１０Ｂ】
2016045839.tif 000013
【図１１Ａ】
2016045839.tif 000014
【図１１Ｂ】
2016045839.tif 000015
【図１２】
2016045839.tif 000016
【図１３】
2016045839.tif 000017
【図１４】
2016045839.tif 000018
【図１５】
2016045839.tif 000019
【図１６】
2016045839.tif 000020
【図１７】
2016045839.tif 000021
【図１８】
2016045839.tif 000022
【図１９】
2016045839.tif 000023
【図２０】
2016045839.tif 000024
【図２１Ａ】
2016045839.tif 000025
【図２１Ｂ】
2016045839.tif 000026
【図２１Ｃ】
2016045839.tif 000027
【図８】
2016045839.tif 000028