JP2007287098A - ネットワークメンテンナスシステム - Google Patents

ネットワークメンテンナスシステム Download PDF

Info

Publication number
JP2007287098A
JP2007287098A JP2006116887A JP2006116887A JP2007287098A JP 2007287098 A JP2007287098 A JP 2007287098A JP 2006116887 A JP2006116887 A JP 2006116887A JP 2006116887 A JP2006116887 A JP 2006116887A JP 2007287098 A JP2007287098 A JP 2007287098A
Authority
JP
Japan
Prior art keywords
server
request
maintenance
information
distribution
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.)
Withdrawn
Application number
JP2006116887A
Other languages
English (en)
Inventor
Hitoshi Sunada
仁 砂田
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2006116887A priority Critical patent/JP2007287098A/ja
Publication of JP2007287098A publication Critical patent/JP2007287098A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】 従来、インフラやアプリケーションの機能アップによるアップデートは行なわれているが、通常のメンテナンスでは、メンテナンス対象機器をインターネットに公開しない状態に保ちながらバックエンド側からの動作確認試験などを実施しているため、必ずしもインターネット経由で問題が発生しないかどうかの最終的な確認までは行えなかった。
【解決手段】 サーバごとのアプリケーションがモード情報テーブルを参照することで正式運用、メンテナンスのモードを認識し、通常リクエスト、メンテリクエストに応じ各モードに適した応答処理(そのまま処理または内部リダイレクト)を実施する。負荷分散装置は振分対象となるサーバのモードを意識せずに、設定されたアドレスに対する振分のみ実施することでインターネット経由でのリクエストを最適なサーバに振り分けることができる。
【選択図】 図1

Description

本発明は、ネットワークシステム、プログラム及びネットワークの負荷分散に関するものである。
インターネットサービスにおいて、365日24時間サービスを停止させることなくシステムの更新やアプリケーションのアップデートを実施するために、複数台のサーバ、ネットワーク機器を用意し、ユーザ側から変更作業中の機器を隠蔽させながら順番に作業を進めることで、ユーザからのリクエストおよびレスポンスを止めることなく提供することが広く一般に行われている。
従来例としては、例えば特許文献1をあげることが出来る。
特開平7−129343号公報
365日24時間稼動させるインターネットサービスを提供していく中で、サービスを提供するインフラのアップデート(ハードウェア、OS、セキュリティパッチ等)やサービスアプリケーションの機能アップによるアップデートは必要不可欠なものである。
しかし、通常のメンテナンスでは、メンテナンス対象機器をインターネットに公開しない状態に保ちながらバックエンド側からの動作確認試験などを実施しているため、必ずしもインターネット経由で問題が発生しないかどうかの最終的な確認までは行えなかった。
また、インターネット側に通常のサービスと異なるグローバルIPアドレスを用意してインターネット経由で動作確認を実施する方法もとられる場合があるが、動作確認するサーバーに合わせてロードバランサやファイヤーウォール機器の設定変更を進捗状況に合わせて変更したりする必要があるなど、機器の知識を有する担当者が必要であったり、設定変更ミスなどの要因にもなる場合があった。
複数の会社同士を接続するサービスにおいては、サーバー情報などを試験用に切り替えたりする手間が大きく作業手順が大幅に増加するため、インターネット越しに動作確認中のサーバをインターネットに公開する場合もよくとられている。
このときユーザに対しては仮オープンといった位置づけで公開するものであるが、一般ユーザからのアクセスを受けつけてしまうことに問題があった。
これは万が一メンテナンス作業に不備が発生した場合や、動作が不安定な自体が発生した場合に、もしユーザが課金操作もしくは重要なデータの処理を実施していた場合など損害を与えてしまう恐れがある。
このため、最終状態でインターネットから動作確認を行い、かつその間一般のユーザからのアクセスを正常なサービス提供サーバに振り分ける方法が求められていた。
上記目的を達成するために、サーバ装置に対しリクエストを発行するクライアント装置からのリクエストを任意のサーバ装置に配信する分散装置と、前記分散装置により振り分けられたリクエストを受信してコンテンツを配信するためのサーバ装置と、前記リクエストを受信し、前期リクエストに対し処理を行った後に送信元に応答するアプリケーションとを備え、前記アプリケーションは、応答判定情報を記録するデータベースと通信し情報を取得、更新する手段と、前記クライアントから受信した前記リクエストの内容を解析する処理を行うアプリケーション処理部と、前記分散装置に予約された内部配信情報または内部ネットワーク情報にリダイレクト処理を行うアプリケーション応答部とを備え、前記リクエスト情報に基づき前記応答処理を変更できることを特徴とする。
本発明によって次の問題が解決される。
ハードウェア機器(ユーザへのサービス提供に影響のあるネットワーク機器)の変更がないため、機器設定変更による接続不良などのトラブル軽減。
機器設定担当者が不要でありアプリケーション側で制御可能。
動作確認サーバと通常運用サーバを混在させた状態でユーザと同一のサイト(同一アドレス)からのアクセスによる動作確認を実施できるため、専用のインフラ(アドレス追加)や設定変更作業が不要になる。
最終的なメンテナンス解除をインターネット経由で実施できるため、海外から動作確認などを実施し、問題なければ海外の評価部門によってそのまま正常運用に移行することも可能。
以上から、メンテナンス作業の負荷軽減や、ユーザに対してサービスを停止させることなく、かつメンテナンス直後のサーバ(アプリケーション)を提供することなく動作確認を実施、問題なき時点で安定したサービスを公開できるものである。
(実施例1)
本発明の実施例を、図面に基づいて説明する。
図1は、本発明の実施の形態を実現するための基本構成を示している。このシステムはインターネット100に接続されたファイヤーウォール101と、ファイヤーウォール101に接続し負荷分散をおこなうロードバランサ102、コンテンツを提供するアプリケーションを備えるサーバ群105、前記サーバ群105がサービスを提供できない場合に、サービス提供できない旨を告知するためのメンテナンスサーバ106、および前記サーバ群105のデータ保管、管理をおこなうデータベース107で構成される。
前記システム構成に対しインターネット100経由でアクセスするクライアントコンピュータ103がある。
クライアントコンピュータ103はインターネット100経由でサーバ群105に対してリクエストを行い、その結果を受信することでサービスの提供を受けることができる。
クライアントコンピュータ103はインターネット100経由でサーバにアクセスリクエストをする一般のユーザである。
図2は本発明の実施例で実際にデータをやりとりする部分について説明する。
サーバ群105にはWWW(World Wide Web)サーバ202と、アプリケーションを動作させるアプリケーション203を備えている。アプリケーション203は内部ネットワーク205を介し、データベース107に対してデータを記録したり、またはデータを取り出す機能を備えている。クライアントコンピュータ103にはWWWサーバ202にリクエストを行うためのWWWブラウザ201を備えている。WWWブラウザ201はHTTP(Hyper Transfer Text Plotocol)プロトコルをサポートし、インターネット204を介してWWWサーバ202に対しリクエストを行い、またそのレスポンスを受信することができる。
図3はクライアントコンピュータ103からサーバ群105にリクエストした際のロードバランサ102によるサーバへの負荷分散および振分処理を説明している。
ロードバランサ102はサーバ群105のサーバ300〜303と、メンテナンス時に使用するメンテナンスサーバ106に接続するとともに監視を行っている。この監視によりロードバランサ102は各サーバが動作しているか確認したうえでクライアントコンピュータ103からのリクエストをサーバ300〜303に振り分けることができる。
ロードバランサ102に監視方法については図5、図6で説明する。
これにより、サーバ群105のすべてのサーバがダウン、もしくは任意に停止している場合のみクライアントコンピュータ103からのリクエストをメンテナンスサーバ106に振り分けることで図4のメンテナンス画面130をレスポンスとして返す。
図5ではロードバランサ102のサーバ監視方法について説明する。
ロードバランサはサーバ群105の各サーバ300〜303に対して、HTTPリクエスト150を発行し、それに対するレスポンス151の内容を判断することで各サーバ300〜303が動作しているかを判断する。
図5のHTTPリクエスト150において、サーバ300を監視したとする
・HEADメソッドで任意のコンテンツをリクエストする。(150)
・HEADメソッドリクエストに対する応答のレスポンスがある(151)
レスポンス151がHTTP200の場合、サーバが正常にコンテンツを返すことができると判断する。これによりロードバランサ102はクライアントコンピュータ103からのリクエストをサーバ300に振り分けることが可能となる。
これに対してレスポンスがHTTP200以外であった場合図6を用いて説明する。HTTPリクエスト152において、サーバ301を監視したとする。
・HEADメソッドで任意のコンテンツをリクエストする。(152)
・HEADメソッドリクエストに対する応答のレスポンスがある。または規定時間内にレスポンスがない(153)
レスポンス153がHTTP200以外の場合、サーバが正常にコンテンツを返すことができないと判断する。サーバの負荷が大きい、アプリケーションが何らかの状態でレスポンスを返せないなど様々な理由が考えられる。
これによりロードバランサ102はクライアントコンピュータ103からのリクエストを、サーバ301を除くサーバに振り分けることが可能となる。
サーバ群のすべてのサーバ300〜303がロードバランサ102の監視で問題があった場合、クライアントコンピュータ103のリクエストはメンテナンスサーバ106に振られる。これを図7に示す。
いままでの説明で、クライアントコンピュータ103はサーバへのリクエストに対してロードバランサ103の動作しているサーバ群105への振分により必ずレスポンスが返されることになる。
しかし、365日24時間サービスを提供するにはメンテナンスサーバ106に振り分けることは最終手段である。クライアントコンピュータ103に対して必ずサーバ群のどれかのサーバからレスポンスを返す為に、サーバアプリケーションのアップロード・セキュリティパッチ適用・ハードウェア交換などを実施する際に一部サーバを順々に停止させることで、クライアントコンピュータ103から見てサービスを止めずに提供できるようになる。
しかし、サーバ群105で作業し、プログラムを起動すると同時にロードバランサ102の監視によりクライアントコンピュータ103からのアクセスがいきなり振られる場合がある。これではアプリケーションの動作確認や、パッチ適用確認などの作業ができないままクライアントコンピュータ103に対してレスポンスを返し始めてしまう。
図8で問題のある動作を説明する。
サーバ300とサーバ301でアプリケーションのアップデート作業を実施する。アプリケーションが動作していない状態では監視時にエラーとなるためクライアントコンピュータ103からのリクエスト800はロードバランサ102によってサーバ302、またはサーバ303に振り分けられる。
図9においてサーバ300の作業が終了しアプリを起動したとともにロードバランサ102によってクライアントコンピュータ103のリクエスト900がサーバ300、302,303に振り分けられる。サーバ300はアプリケーションをアップデートして動作させたばかりであり、動作検証および設定が正しいか等の確認がないまま、一般にサーバを公開することになる。
本発明では図10にあるサーバのモードを設定する情報を用意し、前記情報の設定値に基づいて処理を変えることができるアプリケーションを備える。
情報テーブルserver_modeは、
サーバモード 1:正常 / 0:メンテナンス
ロケーション1 リダイレクト情報(正常運用)
ロケーション2 リダイレクト情報(メンテ運用)
ステータス 0:メンテナンス実施 / 1:作業完了
を備えている。
次に図11、図12にてロードバランサ102においてサーバ群105に対してバーチャルIPアドレスを用意する。
バーチャルIPはサーバごとに用意、または複数のサーバをグルーピングして用意してもよい。ここでは2台ずつをグループとしそれぞれのサーバ群に、バーチャルIPアドレス(VIP1)900、バーチャルIPアドレス(VIP2)901を設定する。ロードバランサ102はおのおののサーバ300〜303を個別に指定することも可能であり、かつサーバ群VIP1とVIP2と指定することも可能である。
バーチャルIPは個別サーバ監視により1台でも正常に稼動していれば振り分け対象としている。
図13ではクライアントコンピュータ103と同じ環境(インターネット100経由で正常運用サーバ群950にリクエストすることができる動作検証用クライアントコンピュータ110を用いてメンテ運用サーバ群951にリクエストする構成を示している。
図10の前記情報テーブルを参照することで、正常運用サーバ群とメンテ運用サーバ群のアプリケーションの動作モード切替え処理をおこなうことを図14を用いて説明する。
図14において、サーバ群105のアプリケーションは起動時に情報テーブルから自分自身がどのモードで動作すべきかを決定するmode情報を参照する。処理1001にてmodeが1の場合、正常運用モードと判断して処理1003に進み、リクエストに対して通常の動作を行う。
また処理1001にてmodeが0であった場合、メンテナンスモードと判断しリクエストに対してメンテモードで処理を行う。
図15ではmodeが0の場合、クライアントコンピュータ103または動作検証用クライアントコンピュータ110からのリクエストに対してどのように処理するかを説明している。
処理2000にてリクエストがメンテナンスリクエストであると判断されると通常処理2003としメンテナンスに対するレスポンス処理を実行する。
一方、クライアントコンピュータ103からの一般のリクエストに対して処理2000でメンテナンスリクエストでないと判断されると、正常運用モードで稼動しているサーバ群にリクエスト処理を転送する必要があるため、情報テーブルよりリダイレクト先の情報Location(正常運用)を参照する(2004)。
アプリケーションがHTTPで前記Location情報にリダイレクトすることで正常運用サーバ群にリダイレクトされそのまま処理が継続される。
図16ではmodeが1の場合、クライアントコンピュータ103または動作検証用クライアントコンピュータ110からのリクエストに対してどのように処理するかを説明している。
処理2010にてリクエストがメンテナンスリクエストと判断されるとメンテモードで稼動するサーバ群にリクエスト処理を転送する必要があるため、情報テーブルよりリダイレクト先の情報Location(メンテ運用)を参照し、その情報にリダイレクトする(2011,2012)。
次にリクエストとロードバランサ102の振分について図17、図18、図19、図20を用いて説明する。
図17はクライアントコンピュータ103からの通常のリクエストがロードバランサ102により正常運用しているサーバ300に振られる。サーバ300はメンテモードリクエストではないので、通常のレスポンスをクライアントコンピュータ103に対して返す。
正常運用サーバ301に振られた場合も同様である。
図18は動作検証用クライアントコンピュータ110からのメンテモードリクエストがロードバランサ102によりメンテ運用しているサーバ302に振られる。サーバ302は通常のリクエストではないので、メンテレスポンスを動作検証用クライアントコンピュータ110に返す。
メンテ運用サーバ303に振られた場合も同様である。
図19はクライアントコンピュータ103からの通常のリクエストがロードバランサ102によりメンテ運用しているサーバ302に振られる。サーバ302はメンテモードリクエストではないので、正常運用サーバにリクエストを渡すために、情報テーブルに記載された正常運用サーバのVIP1にリダイレクトし、ロードバランサ102の処理により正常運用サーバ301にリクエストが渡される。正常運用サーバは図17の動きと同様に通常のレスポンスをクライアントコンピュータ103に対して返す。
正常運用サーバ300に振られる場合も同様である。
図20は動作検証用クライアントコンピュータ110からのメンテモードリクエストがロードバランサ102により正常運用しているサーバ300に振られる。サーバ300は通常のリクエストではないので、メンテ運用サーバにリクエストを渡すために、情報テーブルに記載されたメンテ運用サーバのVIP2にリダイレクトし、ロードバランサ102の処理によりメンテ運用サーバ302にリクエストが渡される。正常運用サーバは図17の動きと同様に通常のレスポンスを動作検証用クライアントコンピュータ110に対して返す。
メンテ運用サーバ303に振られる場合も同様である。
図20の実際のリクエスト動作を図21で説明する。
パラメータにメンテモードを付与したHTTPリクエストがロードバランサ102により、正常運用モードで動作するサーバ300に振られ、メンテモードと判定されたアプリケーション処理によりVIP2にリダイレクトされる。
リダイレクトされたアドレス情報によりロードバランサ102がメンテ運用サーバ群で稼動しているサーバ302(303でも可)にリクエストを渡すことでメンテ運用サーバ302は、リクエストに対するレスポンスを返すことができる。
図22は各モードでリクエストした場合、サーバ950、サーバ951、ロードバランサ102、データベースによってクライアントごとにレスポンスが返されることを示したものである。
図23ではメンテモードリクエストによりメンテ運用サーバが返すコンテンツ800である。
通常のリクエストでは表示されないメンテナンスモード解除リンク801が表示されていて、動作検証で問題ない場合にはインターネット経由で解除することが可能である。
メンテ解除リンク801のリンクを事項するとメンテ運用サーバのアプリケーションは図24のメンテ解除確認画面802を表示し、メンテ運用で稼動しているサーバ群すべてを正常の運用に戻すための解除ボタン803を表示する。
解除ボタン803は実行されると、前述した情報テーブルのモードを更新することができ、解除によりmodeを1としアプリケーションが正常運用するようにする。また、同時にstatusを1にすることでリクエストの判定処理を実施しないことをアプリケーションに通知する。(図25)
尚、コンテンツに解除手段を用意するだけでなく専用のURL(ex.https://hogehoge/script/kaijopassword=xxxxxxxx)を用意することも考えられる。
システムの基本構成 データの流れ(簡易) ロードバランサ(負荷分散装置)の監視対象 メンテナンス画面 監視シーケンス 監視シーケンス メンテナンス画面表示時の接続図 ロードバランサのリクエスト振分 ロードバランサのリクエスト振分 情報テーブル ロードバランサ、および振り分け対象サーバ ロードバランサ、およびバーチャルIPアドレスを設定するサーバ クライアントの種類および構成 アプリケーションのモード設定フロー リクエストのモード判定フロー リクエストのモード判定フロー 振分処理 振分処理 振分処理 振分処理 リダイレクトシーケンス 各モードでのデータの流れ メンテモード処理時の画面 メンテモード解除画面 正常モード移行時の情報テーブル
符号の説明
100 インターネット
101 ファイヤーウォール
102 負荷分散装置(ロードバランサ)
105 サーバ群
106 メンテナンスサーバ
107 データベース

Claims (8)

  1. サーバ装置に対しリクエストを発行するクライアント装置と、前記クライアント装置からのリクエストを指定するサーバ装置に配信する配信手段と、前記配信手段により振り分けられたリクエストを受信するサーバ装置とを備え、前記サーバ装置は、前記サーバ装置の状態を決定する配信情報と、前記配信手段によって配信されたリクエスト種を判定する判定手段と、前記判定手段によって得たリクエスト種に基づき前記配信情報を取得する情報取得手段と、前記情報取得手段によって得た情報に基づき応答処理をおこなう応答処理手段とを備えることを特徴とするネットワークシステム。
  2. 前記配信手段は負荷分散装置によって定義されるネットワーク情報であることを特徴とする請求項1に記載のネットワークシステム。
  3. 前記配信情報は前記サーバの運用状態を決定する情報と、請求項2のネットワーク情報を含むことを特徴とする請求項1に記載のネットワークシステム。
  4. 前記判定手段は前記クライアント装置からのHTTPプロトコルで規定されたHTTPリクエストの情報に基づき判定する請求項1に記載のネットワークシステム。
  5. 前記情報取得手段は前記リクエスト種に適した情報のみを取得することを特徴とする請求項1に記載のネットワークシステム。
  6. 前記応答処理手段はHTTPプロトコルで規定されたリダイレクト処理によって実現する請求項1に記載のネットワークシステム。
  7. 前記クライアント装置はHTTPリクエストによって応答処理を選択できることを特徴とする請求項1のネットワークシステム。
  8. 前記配信情報は前記サーバ装置をグループ化してネットワークアドレスを定義することを特徴とする請求項2の負荷分散装置。
JP2006116887A 2006-04-20 2006-04-20 ネットワークメンテンナスシステム Withdrawn JP2007287098A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006116887A JP2007287098A (ja) 2006-04-20 2006-04-20 ネットワークメンテンナスシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006116887A JP2007287098A (ja) 2006-04-20 2006-04-20 ネットワークメンテンナスシステム

Publications (1)

Publication Number Publication Date
JP2007287098A true JP2007287098A (ja) 2007-11-01

Family

ID=38758781

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006116887A Withdrawn JP2007287098A (ja) 2006-04-20 2006-04-20 ネットワークメンテンナスシステム

Country Status (1)

Country Link
JP (1) JP2007287098A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11616719B2 (en) 2015-10-23 2023-03-28 Netflix, Inc Techniques for determining client-side effects of server-side behavior using canary analysis

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11616719B2 (en) 2015-10-23 2023-03-28 Netflix, Inc Techniques for determining client-side effects of server-side behavior using canary analysis

Similar Documents

Publication Publication Date Title
US11443007B2 (en) System and method for managing network traffic routing
JP5211160B2 (ja) コンピュータネットワークのシステムダウンタイムを自動的に管理する方法
CN108475251A (zh) 针对容器的虚拟网络、热交换、热缩放与灾难恢复
KR20050084802A (ko) 서버의 원격 및 동적 구성 시스템과 그 방법 및 컴퓨터 판독 가능 기록 매체
CN107360234A (zh) 计算机可读存储介质
WO2019210580A1 (zh) 访问请求处理方法、装置、计算机设备和存储介质
WO2016150153A1 (zh) 一种用于软件发布的方法和装置
US20150263885A1 (en) Method and apparatus for automatic enablement of network services for enterprises
JP2004005435A (ja) ダウンロード管理システム
CN113242299A (zh) 多数据中心的容灾系统、方法、计算机设备及介质
JP2006243985A (ja) メッセージ通知システム及びその方法並びにそれに用いるサーバ
JP2007287098A (ja) ネットワークメンテンナスシステム
JP2006106933A (ja) 負荷分散ネットワークシステム及び負荷分散用プログラム
JP2011159127A (ja) 管理装置、管理システム、管理方法、プログラム及び記録媒体
JPWO2002021188A1 (ja) 監視制御ネットワークシステム
CN106131129B (zh) 全局负载均衡的数据同步时间管理的方法和装置
JP4083049B2 (ja) 分散処理システム、リクエストの振り分け装置および方法
WO2012164711A1 (ja) 情報処理システム、ソフトウエア検証方法、及びプログラム
JP4863126B2 (ja) サーバ監視システム及びサーバ監視方法
JP2008077475A (ja) サーバクライアントシステム及び通信状態配信サーバ
US11862335B2 (en) Method and system for monitoring and controlling instruments
JP2014157622A (ja) 管理装置、ネットワークシステム、統合管理システム、管理方法、及び管理プログラム
JP2005078339A (ja) Wsdl文書生成装置および方法
JP2003256392A (ja) ロードバランス制御装置及びロードバランス制御方法
JP2017046061A (ja) 表示プログラム、制御装置、および、表示方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20090707