(57)【要約】【課題】システムのメンテナンスを行っているときでも、継続してサービスを提供できるようにする。【解決手段】ネットワーク９を介して受け付けたリクエストを振り分けるリクエスト振り分け装置１と、それぞれ複数の情報処理装５を含む平日系２および休日系３と、系切り替え指示をする系切替管理装置４とを備える。リクエスト振り分け装置１は、系切替管理装置４からの指示を受けて、平日系または休日系のどちらかを送信先系に定める系切替部１３と、送信先系内の一の情報処理装置５を選択し、選択された情報処理装置へリクエストを送信するアドレス変換部１２とを備える。リクエストが送られた情報処理装置５は、このリクエストに対する応答を出力する。【選択図】  図１
2004295605.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ複数の情報処理装置を含む第１の系および第２の系と、
外部からリクエストを受け付けて、前記リクエストを第１の系または第２の系のいずれかに振り分ける振り分け装置と、
前記振り分け装置へ系切り替え指示をする系切替管理装置とを備え、
前記振り分け装置は、
前記系切替管理装置からの指示を受けて、第１の系または第２の系のどちらかを送信先系に定める系切替手段と、
前記送信先系内の一の情報処理装置を選択する選択手段と、
選択された情報処理装置へ前記リクエストを送信する手段とを備え、
前記第１の系および第２の系の各情報処理装置は、
自身に対して送信された前記リクエストを受信する手段と、
受信したリクエストに対する応答を出力する手段とを備える分散処理システム。
【請求項２】
前記系切替手段は、
第１の系を送信先系に定めるための第１の設定および第２の系を送信先系に定めるための第２の設定のいずれか一方を選択して前記送信先系を定め、
前記選択手段は、前記選択された設定に基づいて、前記送信先系内の一の情報処理装置を選択する請求項１記載の分散処理システム。
【請求項３】
前記系切替管理装置は、
前記振り分け装置に対して、前記系切替手段が定めている送信先系の問い合わせ情報を送信し、問い合わせ結果情報を受信する問い合わせ手段をさらに備える請求項１記載の分散処理システム。
【請求項４】
前記振り分け装置は、第１の振り分け装置と第２の振り分け装置とを備え、
前記系切替管理装置の前記問い合わせ手段は、第１の振り分け装置および第２の振り分け装置のそれぞれに対して、前記送信先系の問い合わせ情報を送信し、前記問い合わせ結果情報を受信し、
前記系切替管理装置は、第１の振り分け装置および第２の振り分け装置からの問い合わせ結果が一致しないときに、その旨を報知する手段をさらに備える請求項３記載の分散処理システム。
【請求項５】
前記系切替管理装置は、前記振り分け装置へテストリクエストを送信する手段と、
前記テストリクエストに対する応答を受信する手段と、
前記受信手段が受信した前記応答に基づいて、前記応答を返した情報処理装置を特定するテスト手段とをさらに備える請求項１記載の分散処理システム。
【請求項６】
第１の系全体の処理能力は、第２の系全体の処理能力よりも高いことを特徴とする請求項１記載の分散処理システム。
【請求項７】
前記系切替管理装置は、特定曜日の特定時刻に前記系切り替え指示を行う請求項１記載の分散処理システム。
【請求項８】
外部から受け付けたリクエストを、それぞれ複数の情報処理装置を含む第１の系および第２の系のいずれかに振り分ける振り分け装置であって、
系切替指示を受けて、第１の系または第２の系のどちらかを送信先系に定める系切替手段と、
前記送信先系内の一の情報処理装置を選択する選択手段と、
選択された情報処理装置へ前記リクエストを送信する手段とを備えるリクエストの振り分け装置。
【請求項９】
それぞれ複数の情報処理装置を含む第１の系および第２の系のいずれかにリクエストを振り分けるための方法であって、
系切替指示を受け付けるステップと、
第１の系または第２の系のどちらかを送信先系に定めるステップと、
前記送信先系内の一の情報処理装置を選択するステップと、
選択された情報処理装置へ前記リクエストを送信するステップとを備えるリクエストの振り分け方法。
【請求項１０】
コンピュータに実行されると、
それぞれ複数の情報処理装置を含む第１の系および第２の系のいずれかにリクエストを振り分けるために、
系切替指示を受け付けるステップと、
第１の系または第２の系のどちらかを送信先系に定めるステップと、
前記送信先系内の一の情報処理装置を選択するステップと、
選択された情報処理装置へ前記リクエストを送信するステップとを行う、リクエストの振り分けのためのコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、リクエストを分散して処理するための技術に関し、特に複数の系の切り替えと負荷分散を行う技術に関する。
【０００２】
【従来の技術】
耐障害性のための構成として、サービスの提供を行う現用系と、現用系でトラブルが生じたときにバックアップする待機系とを備えた二重化システムは広く知られている（例えば特許文献１）。
【０００３】
また、インターネット関連の技術では、ＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）サーバを利用してＩＰアドレスを割り当てるときに、ＩＰアドレスを切り替えることでリクエストの振り分けを行うことができる。
【０００４】
【特許文献１】
特開平１０−２９３７５２号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、従来の現用系と待機系とからなる二重化システムにおいて、待機系のシステム構成の変更や、プログラムの更新などのメンテナンスを行っているときは、待機系は停止状態である。つまり、このときに現用系でサービス提供を行うとバックアップのシステムがないことになり、現用系でトラブルが生じるとサービス停止となるの危険性がある。
【０００６】
ＤＮＳサーバでの切り替えは、クライアントがＩＰアドレスを用いて直接アクセスしてくるときには、まったく機能し得ない。
【０００７】
本発明の目的は、システムのメンテナンスを行っているときでも、継続してサービスを提供できるようにすることである。
【０００８】
本発明の他の目的は、系切替および負荷分散をするためにリクエストの振り分けを行うための技術を提供することである。
【０００９】
本発明の別の目的は、冗長構成のシステムの投資負担を軽減することである。
【００１０】
本発明のさらに別の目的は、系切替の整合性を担保することである。
【００１１】
【課題を解決するための手段】
本発明の一つの実施態様に従う分散処理システムは、それぞれ複数の情報処理装置を含む第１の系および第２の系と、外部からリクエストを受け付けて、前記リクエストを第１の系または第２の系のいずれかに振り分ける振り分け装置と、前記振り分け装置へ系切り替え指示をする系切替管理装置とを備え、前記振り分け装置は、前記系切替管理装置からの指示を受けて、第１の系または第２の系のどちらかを送信先系に定める系切替手段と、前記送信先系内の一の情報処理装置を選択する選択手段と、選択された情報処理装置へ前記リクエストを送信する手段とを備え、前記第１の系および第２の系の各情報処理装置は、自身に対して送信された前記リクエストを受信する手段と、受信したリクエストに対する応答を出力する手段とを備える。
【００１２】
好適な実施形態では、前記系切替手段は、第１の系を送信先系に定めるための第１の設定および第２の系を送信先系に定めるための第２の設定のいずれか一方を選択して前記送信先系を定める。前記選択手段は、前記選択された設定に基づいて、前記送信先系内の一の情報処理装置を選択する。
【００１３】
好適な実施形態では、前記系切替管理装置は、前記振り分け装置に対して、前記系切替手段が定めている送信先系の問い合わせ情報を送信し、問い合わせ結果情報を受信する問い合わせ手段をさらに備えてもよい。
【００１４】
このとき、前記振り分け装置は、第１の振り分け装置と第２の振り分け装置とを備えていてもよい。そして、前記系切替管理装置の前記問い合わせ手段は、第１の振り分け装置および第２の振り分け装置のそれぞれに対して、前記送信先系の問い合わせ情報を送信し、前記問い合わせ結果情報を受信するようにしてもよい。前記系切替管理装置は、第１の振り分け装置および第２の振り分け装置からの問い合わせ結果が一致しないときに、その旨を報知する手段をさらに備えてもよい。
【００１５】
好適な実施形態では、前記系切替管理装置は、前記振り分け装置へテストリクエストを送信する手段と、前記テストリクエストに対する応答を受信する手段と、前記受信手段が受信した前記応答に基づいて、前記応答を返した情報処理装置を特定するテスト手段とをさらに備えるようにしてもよい。
【００１６】
好適な実施形態では、第１の系全体の処理能力は、第２の系全体の処理能力よりも高くなるようにしてもよい。
【００１７】
好適な実施形態では、前記系切替管理装置は、特定曜日の特定時刻に前記系切り替え指示を行うこともできる。
【００１８】
本発明の一つの実施態様に従うリクエストの振り分け装置は、外部から受け付けたリクエストを、それぞれ複数の情報処理装置を含む第１の系および第２の系のいずれかに振り分ける振り分け装置であって、系切替指示を受けて、第１の系または第２の系のどちらかを送信先系に定める系切替手段と、前記送信先系内の一の情報処理装置を選択する選択手段と、選択された情報処理装置へ前記リクエストを送信する手段とを備える。
【００１９】
【発明の実施の形態】
以下、本発明を適用した一実施形態に係る、オンラインでサービスを提供するシステム１０について、図面を用いて説明する。
【００２０】
本システム１０は、インターネットなどのネットワーク９に接続されているリクエスト振り分け装置１と、ネットワーク９を介して受け付けるユーザ端末２０からのリクエストに対してサービスを提供する平日系システム（以下、平日系という）２および休日系システム（以下、休日系という）３と、平日系２と休日系３との切り替えを管理する系切替管理装置４とを備える。
【００２１】
本システム１０では、リクエスト振り分け装置１が外部から受け付けたリクエストを、平日であれば平日系２へ送り、休日であれば休日系３へ送って２つの系の切り替えを行う。なお、本実施形態では２系の切り替えについて説明するが、本発明は３系以上の切り替えにも適用可能である。
【００２２】
平日系２および休日系３は、それぞれ、複数のＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）サーバ５と、複数のＡＰ（Ａｐｐｌｉｃａｔｉｏｎ）サーバ６と、複数のＤＢ（Ｄａｔａｂａｓｅ）サーバ７とを備える。
【００２３】
リクエスト振り分け装置１、系切替管理装置４、ＷＷＷサーバ５、複数のＡＰサーバ６、および複数のＤＢサーバ７は、いずれも例えば汎用的なコンピュータシステムにより構成され、以下に説明する各装置内の個々の構成要素または機能は、例えば、コンピュータプログラムを実行することにより実現される。
【００２４】
各ＷＷＷサーバ５には、それぞれ独自のＩＰアドレス（内部ＩＰアドレス）が割り当てられている。一方、各ＷＷＷサーバ５が有する機能は、少なくとも各系内ではすべて同一である。そして、平日であれば平日系２内のいずれかのＷＷＷサーバ５へリクエストが送られ、休日であれば休日系３内のいずれかのＷＷＷサーバ５へリクエストが送られ、負荷が分散されるとともに、耐障害性機能も備えている。負荷分散のための処理の詳細は後述する。
【００２５】
ＡＰサーバ６およびＤＢサーバ７は、それぞれ、ネットワーク９を介してアクセスしてくるユーザへサービスを提供するために必要なアプリケーションプログラムおよびデータを格納し、リクエストに応じて動作する。
【００２６】
リクエスト振り分け装置１は、ネットワークからのリクエストを受け付け、平日系２または休日系３のいずれかに振り分ける系切替を行う。平日系２および休日系３のいずれへリクエストを振り分けるかは、系切替管理装置４からの指示に基づいて予め定められている。リクエスト振り分け装置１は、さらに、平日系２または休日系３内で処理を分散させる。
【００２７】
リクエスト振り分け装置１は、例えば、ネットワークインタフェース部１１と、アドレス変換部１２と、系切替部１３と、設定テーブル１４とを有する。
【００２８】
ネットワークインタフェース部１１は、ネットワーク９との間でデータの送受信を行う。例えば、ネットワーク９を介して本システムに対するリクエストを受け付け、このリクエストに対する応答を出力する。
【００２９】
設定テーブル１４は図示しない記憶装置に記憶されていて、平日テーブル１４１および休日テーブル１４２を有する。例えば、平日テーブル１４１および休日テーブル１４２はいずれも図２に示すような構造を有する。すなわち、平日テーブル１４１および休日テーブル１４２は、外部ＩＰアドレス１４５と、内部ＩＰアドレス１４６とを対応付けている。
【００３０】
外部ＩＰアドレス１４５とは、本システム１０の外部に対して公開されているＩＰアドレスであり、ユーザはこのＩＰアドレスへ宛ててリクエストを送信してくる。
【００３１】
平日テーブル１４１の内部ＩＰアドレス１４６には、平日系２のＷＷＷサーバ５のＩＰアドレスが設定されていて、休日テーブル１４２の内部ＩＰアドレス１４６には、休日系３のＷＷＷサーバ５のＩＰアドレスが設定されている。つまり、外部に公開されている一つのＩＰアドレスに対して、本システム１０内の複数のＷＷＷサーバ５が対応付けられている。
【００３２】
また、設定テーブル１４は、図３に示すように平日テーブル１４１（１４１ａ，１４１ｂ）および休日テーブル１４２（１４２ａ、１４２ｂ）をそれぞれ複数備えてもよい。
【００３３】
系切替部１３は、リクエストの送信先の系を定め、系を切り替える。例えば、系切替部１３は、平日テーブル１４１と休日テーブル１４２のいずれかを選択し、選択されたテーブルをアドレス変換部１２が行う処理と対応付けて系切替を行う。系切替処理は、例えば、後述する系切替管理装置４からの指示に基づいて行われる。
【００３４】
また、系切替部１３は、後述する系切替管理装置４からの照会コマンドに対して、選択されているテーブルを識別する情報などを応答として返す。
【００３５】
アドレス変換部１２は、系切替部１３により送信先として定められた系内のＷＷＷサーバ５のうちの一つを送信先として定め、定められた送信先へリクエストを送信する。つまり、外部に対して公開されているＩＰアドレスからシステム１０内のＩＰアドレスへの変換を行って、リクエストを転送する。例えば、アドレス変換部１２は、系切替部１３によって対応付けられているテーブルを参照して、リクエストの送信先候補のＷＷＷサーバ５を特定する。そして、候補となる各ＷＷＷサーバ５のＣＰＵ使用率を取得して、最もＣＰＵ使用率の低いＷＷＷサーバ５のＩＰアドレスをリクエストの送信先として選択する。この選択された送信先へリクエストを送ることにより、負荷分散が実現される。
【００３６】
また、このほかに、送信先のＷＷＷサーバ５の割り当ては、ラウンドロビン、あるいは、クライアントからのリクエスト中の情報（クッキー情報等）を参照して行ってもよい。あるいは、ＷＷＷサーバ５へのターンアラウンドタイムを計測し、これに基づいて各ＷＷＷサーバ５の負荷を判定して送信先を定めることもできる。さらに、各クライアントが、初回のアクセス時に割り当てられたＷＷＷサーバ５に対して、次回以降もアクセスするように振り分けてもよい（セッションパーシステンス）。
【００３７】
平日テーブル１４１または休日テーブル１４２が複数あるとき、平日の場合はアドレス変換部１２が平日１テーブル１４１ａまたは平日２テーブル１４１ｂのいずれかを所定のルールに従って選択したのち、上述のような処理により送信先のＷＷＷサーバ５を一つ定める。休日の場合も同様である。
【００３８】
本システム１０は、上記のような構成を備えるリクエスト振り分け装置１を複数台備えていてもよい。このとき、各リクエスト振り分け装置１は、それぞれ独立にリクエストの分散処理を行う。
【００３９】
系切替管理装置４は、計時部４１と、切替指示部４２と、照会処理部４３とを備える。
【００４０】
切替指示部４２は、リクエスト振り分け装置１へ系切替指示をする。系切替の指示は、例えば、計時部４１が示す現在の日、曜日、および時刻に基づき、所定の日時に自動的に送信するようにしてもよい。例えば、本実施形態においては、土曜日の午前０時、および祝日の午前０時に平日系から休日系への切替指示をし、月曜日の午前０時、および祝日の翌日の午前０時に休日系から平日系への切替指示をする。
【００４１】
リクエスト振り分け装置１が複数あるとき、系切替指示部４２はすべてのリクエスト振り分け装置１へ系切替指示をする。ここで、リクエスト振り分け装置１は、アクセスポイントでもあるため、上述のようにすることで、系切替管理装置４が全アクセスポイントを一元的に管理することができる。これにより、各リクエスト振り分け装置１が振り分ける系を統一し、システム全体を整合性のとれた状態にすることができる。
【００４２】
照会処理部４３は、リクエスト振り分け装置１へ、平日系２と休日系３のいずれが選択されているかを問い合わせる。例えば、問い合わせ情報である照会コマンドを送信し、そのコマンドに対する応答を受信する。リクエスト振り分け装置１が複数あるときは、そのすべてに対して問い合わせを行う。複数のリクエスト振り分け装置１への照会処理手順を、図４に示すフローチャートを用いて説明する。
【００４３】
照会処理部４３が、すべてのリクエスト振り分け装置１へ照会コマンドを送信し、その応答を受信する（Ｓ１１）。そして、受信した情報を解析し、すべてのリクエスト振り分け装置１の設定が一致するかどうかを判定する（Ｓ１２）。一つでも一致していない装置があれば（Ｓ１２：Ｎｏ）、図示しない表示装置にエラーメッセージを表示し、その旨を報知する（Ｓ１３）。エラーメッセージ表示の代わりに、図示しない管理者用の装置へ通知してもよい。
【００４４】
また、照会処理部４３は、リクエスト振り分け装置１の動作テストをする。例えば、リクエスト振り分け装置１に対してテストリクエストを送り、その応答を受信する。このとき、照会処理部４３は、テストリクエストに対する応答として受信した情報を解析して、応答を返したＷＷＷサーバ５を特定すると共に、テストリクエストの内容に対応する正しい応答であるかどうかも確認できる。これにより、系切替が一貫性を持って正しく行われたことを確認することができる。
【００４５】
系切替処理の手順について、図５に示すフローチャートを用いて説明する。
【００４６】
系切替管理装置４が出力した系切替指示を、リクエスト振り分け装置１が受信する（Ｓ２１）。系切替指示部１３は、この指示を受け付けると、図示しない設定ファイルのバックアップを行う（Ｓ２２）。そして、系切替指示部１３は、平日系から休日系、または休日系から平日系への系切替を行う（Ｓ２３）。これが終了すると、バックアップした設定ファイルをリストアする（Ｓ２４）。ここまでの処理で系が切り替わるので、リクエスト振り分け装置１は、系切替管理装置４へ系切替の完了を通知する。
【００４７】
この通知を受け取ると、系切替管理装置４は、照会処理部１３が照会コマンドを送信したり、テストリクエストを送信して動作テストを行ったりして系切替が正常に行われたことを検証する（Ｓ２５）。以上説明したようにして系切替が行われた後にリクエストを受信すると、リクエスト振り分け装置１は、系切替によって新たに送信先に定められた系へリクエストを送信する。
【００４８】
これにより、平日であれば平日系２がリクエストを処理してサービスの提供を行い、休日系３はサービス提供を行わない。休日は、これとは逆に平日系がサービス提供をしない。従って、平日に休日系３のプログラム入れ替え等を行い、休日に平日系２のプログラム入れ替え等を行えば、サービスの提供を中断せずにシステムのメンテナンスを行うことができる。
【００４９】
また、平日系２は平日用プログラムまたはコンテンツを備え、休日系３は休日用プログラムまたはコンテンツを備えていれば、系切替を行うだけで平日処理と休日処理とを明確に区別することができる。
【００５０】
上記のような構成を備えるサービス提供システム１０を、オンライン証券システムに適用することができる。オンライン証券システムの場合、平日のアクセスが休日のアクセスよりも多いことが予想される。このようにシステムにかかる負荷が周期的に変動するようなときは、サーバ５の台数、ＣＰＵ能力およびメモリ容量などの系のサイジングが異なる二つの系の間で、その周期に応じて切り替るようにしてもよい。本実施形態では、平日系２の各サーバ５の台数、ＣＰＵ能力およびメモリ容量を、休日系３のそれよりも大きくし、処理能力を高くすることもできる。これにより、休日系３は平日系２よりも処理能力を低く抑えることができ、設備投資負担が軽減される。
【００５１】
このオンライン証券システムでは、ユーザ端末２０からのリクエストに応じて、例えば、図６に示すような画面遷移を示す。すなわち、ログイン画面２１０でユーザＩＤ等を入力すると、メニュー画面２２０が表示される。この例では、株式等の売買画面２３０と、ユーザの資産管理画面２４０と、投資情報画面２５０とが用意されていて、メニュー画面２２０からはこのいずれかへ遷移できる。売買画面２３０、ユーザの資産管理画面２４０、および投資情報画面２５０は、それぞれ複数の画面がある。さらに、売買画面２３０、ユーザの資産管理画面２４０、および投資情報画面２５０で行き来することが可能である。そして、ユーザの利用が終了すると、ログアウト画面２６０からログアウトする。
【００５２】
このとき、例えば、売買画面２３０のうち、国内株式の買い注文画面２３１は平日系２と休日系３とでは異なる画面を提供している。つまり、平日系２には平日用の買い注文画面２３１ａが用意されていて、休日系３には休日用の買い注文画面２３１ｂが用意されている。その例を図７に示す。
【００５３】
買い注文画面２３１ａ、２３１ｂは、平日系、休日系ともに銘柄コードの入力領域２３２を備えている。そして、休日系の買い注文画面２３１ｂのみ「本日は証券市場が休みのため、翌営業日の取引となります」とメッセージ２３３が表示されている。これらの切替が、上述の系切り替えを行うだけで簡単に実現できる。
【００５４】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【００５５】
例えば、上述したリクエスト振り分け装置および系切替管理装置は、それらを纏めて一つのコンピュータマシンで集中的に実現することもできるし、それぞれ別々のコンピュータマシンに分けて実現することもできる。
【図面の簡単な説明】
【図１】本発明を適用した一実施形態に係るオンラインでサービスを提供するシステムの全体構成を示す図である。
【図２】設定テーブルのデータ構造の一例を示す図である。
【図３】設定テーブルの他の形態の例を示す図である。
【図４】複数のリクエスト振り分け装置への照会処理手順を示すフローチャートである。
【図５】系切替処理の処理手順を示すフローチャートである。
【図６】オンライン証券システムの画面遷移の例を示す図である。
【図７】オンライン証券システムで、平日と休日とで異なる画面を表示させるときの画面例である。
【符号の説明】
１…リクエスト振り分け装置、２…平日系システム、３…休日系システム、４…系切替管理システム、５…ＷＷＷサーバ、６…ＡＰサーバ、７…ＤＢサーバ、９…ネットワーク、１１…ネットワークインタフェース部、１２…アドレス変換部、１３…系切替部、１４…設定テーブル。
【図１】
2004295605.tif 000003
【図２】
2004295605.tif 000004
【図３】
2004295605.tif 000005
【図４】
2004295605.tif 000006
【図５】
2004295605.tif 000007
【図６】
2004295605.tif 000008
【図７】
2004295605.tif 000009