JP2021039423A - システム、および制御方法 - Google Patents

システム、および制御方法 Download PDF

Info

Publication number
JP2021039423A
JP2021039423A JP2019158664A JP2019158664A JP2021039423A JP 2021039423 A JP2021039423 A JP 2021039423A JP 2019158664 A JP2019158664 A JP 2019158664A JP 2019158664 A JP2019158664 A JP 2019158664A JP 2021039423 A JP2021039423 A JP 2021039423A
Authority
JP
Japan
Prior art keywords
processing system
address
request
database
information
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
JP2019158664A
Other languages
English (en)
Inventor
佑太郎 小澤
Yutaro Ozawa
佑太郎 小澤
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 JP2019158664A priority Critical patent/JP2021039423A/ja
Priority to US17/002,056 priority patent/US11184431B2/en
Publication of JP2021039423A publication Critical patent/JP2021039423A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】 動作確認などを目的とした外部装置からのリクエストが直接Green環境へ送信される仕組みには、セキュリティリスクや作業者の負荷がある。【解決手段】 現行バージョンのアプリケーションが動作する第1の処理システムと、次バージョンのアプリケーションが動作する第2の処理システムと、管理サーバとを含むシステムであって、管理サーバは、第2の処理システムにアクセスするための情報を、システムのデータベースに登録する。第1の処理システムは、外部装置からのリクエストを、第1の処理システムに含まれる負荷分散装置を介して受信し、前記受信したリクエストが第2の処理システムでの処理対象となるリクエストである場合、データベースに登録されている第2の処理システムにアクセスするための情報を用いて、前記受信したリクエストを第2の処理システムに対して送信する。【選択図】 図8

Description

本発明は、現行バージョンのアプリケーションが動作する第1の処理システムと、次バージョンのアプリケーションが動作する第2の処理システムと、管理サーバとを含むシステム、および制御方法に関する。
クラウドベンダーがコンピューティング資源をIaaS(Infrastructures as a Service)やPaaS(Platform as a Service)として提供するクラウドサービスがある。企業や組織はIaaSやPaaSなどのクラウドサービスを利用して、社内業務や顧客へのサービス提供のためのシステムを構築する。
また、クラウドサービスを用いたシステムにおいては、システムのバージョンを更新する手段として、BlueGreenデプロイメントと呼ばれる方式が利用されている(特許文献1)。このBlueGreenデプロイメントでは、現行バージョンのアプリケーションが動作するBlue環境および次バージョンのアプリケーションが動作するGreen環境が構築されていて、それぞれの処理システムがロードバランサを有している。クライアントがシステムにアクセスする際に参照するDNS(Domain Name System)レコードをBlue環境に含まれるロードバランサのIPアドレスからGreen環境に含まれるロードバランサのIPアドレスに変更する。これにより、システムを停止することなくバージョンアップできる。
上述したBlueGreenデプロイメントを用いてバージョンを更新する前に、Green環境のアクセス確認や簡単な機能確認等を含む動作テストが、動作確認クライアントによって行われることが一般的である。この場合、DNSレコードが変更される前であるため、動作確認クライアントがGreen環境へアクセスするためには、ロードバランサのIPアドレスを直接指定する必要がある。これを実現する方法として、PC内に標準搭載されているhostsファイル(IPアドレスとドメイン名の対応付けを記載するテキストファイル)にGreen環境のロードバランサIPアドレスとドメインを記載しアクセスする方法がある。hostsファイルはDNSよりも先に参照されるため、動作確認クライアントPCのhostsファイルを書き換えることでGreen環境へのアクセスが可能となる。
特開2018−088114号公報
上述した、動作確認クライアントなどの外部装置がhostsファイルを用いて、動作確認のために、Green環境での処理対象となるリクエストを直接Green環境へ送信することには、以下のような課題がある。
動作確認クライアントでは、Green環境へアクセスするためにhostsファイルの書き換えを行う必要がある。ここで、hostsファイルは、一般的にPCのセキュリティソフトの監視対象になっている。その理由は、hostsファイルはファーミング(DNSのIPアドレスを書き換えることで、正しいURLにアクセスしていると見せかけて別のサイトへ誘導する手法)で改ざんされる対象となるためである。そこで、動作確認クライアントでは、hostsファイルの書き換えを行うために、hostsファイルをセキュリティソフトの監視対象から外す必要がある。したがって、動作確認クライアントとして動作するPCのセキュリティリスクが高まる懸念がある。
また、動作確認を行う作業者は、Green環境へのアクセスに用いる情報を調べることが必要となる。例えば、Green環境の負荷分散装置のIPアドレスなどを調べる必要がある。そのためには、クラウドベンダーが提供するWebUIへログインしIPアドレスを取得するためのキー情報を調べる必要があり、動作確認を行う作業者にとっては手間がかかる。
以上説明したように、動作確認などを目的とした外部装置からのリクエストが直接Green環境へ送信される仕組みには、セキュリティリスクや作業者の負荷がある。
そこで、本発明は、次バージョンのアプリケーションが動作する処理システムでの処理対象となるリクエストを当該処理システムへ直接送信することなく、当該処理システムで処理するための仕組みを提供することを目的とする。
上記課題を解決するために、本発明は、現行バージョンのアプリケーションが動作する第1の処理システムと、次バージョンのアプリケーションが動作する第2の処理システムと、管理サーバとを含むシステムであって、前記管理サーバは、前記第2の処理システムにアクセスするための情報を、前記システムのデータベースに登録する登録手段を有し、前記第1の処理システムは、外部装置からのリクエストを、前記第1の処理システムに含まれる負荷分散装置を介して受信する受信手段と、前記受信したリクエストが前記第2の処理システムでの処理対象となるリクエストである場合、前記データベースに登録されている前記第2の処理システムにアクセスするための前記情報を用いて、前記受信したリクエストを前記第2の処理システムに対して送信する送信手段と、を有することを特徴とする。
本発明によれば、次バージョンのアプリケーションが動作する処理システムでの処理対象となるリクエストを当該処理システムへ直接送信することなく、当該処理システムで処理することができる。
本発明の実施形態に係るネットワークシステムの構成を示す図である。 管理サーバのハードウェア構成を示す図である。 管理サーバのソフトウェア構成を示す図である。 アプリケーションサーバのソフトウェア構成の一例を示す図である。 IPアドレス情報管理テーブルの一例を示す図である。 HTTPリクエストの一例を示す図である。 ロードバランサIPアドレス登録処理の一例を示すフローチャートである。 リクエスト転送処理の一例を示すフローチャートである。 IPアドレス情報管理テーブルの一例を示す図である。 ロードバランサIPアドレス登録処理の一例を示すフローチャートである。 リクエスト転送処理の一例を示すフローチャートである。 IPアドレスキャッシュ情報の一例を示す図である。 リクエスト転送処理の一例を示すフローチャートである。 IPアドレス取得ポーリング処理の一例を示すフローチャートである。 IPアドレス情報管理テーブルの一例を示す図である。 ロードバランサIPアドレス登録処理の一例を示すフローチャートである。 リクエスト転送処理の一例を示すフローチャートである。 IPアドレス取得ポーリング処理の一例を示すフローチャートである。
以下、本発明を実施するための最良の形態について図面を用いて説明する。
(実施例1)
図1は、本発明の実施形態に係るネットワークシステムの構成の一例を示す図である。情報処理システム100は、クライアントコンピュータ105からの要求を受け付けて処理をする機能を提供するクラウドサービスである。クライアントコンピュータ105は、ユーザが操作するPCや、ユーザにサービスを提供するアプリケーションサーバ等が想定される。クライアントコンピュータ105は、インターネット106を経由して情報処理システム100に接続する。システム管理者コンピュータ104は、システム管理者による情報処理システム100を運用するための各種指示を管理サーバ101に実行させる。システム管理者コンピュータ104は、インターネット106を経由して管理サーバ101に接続する。
情報処理システム100は、DNSサーバ102、DB(データベース)103、現行バージョンのアプリケーションが動作する処理システムであるBlue環境107を含む。BlueGreenデプロイメントを実施する際には、情報処理システム100は、次バージョンのアプリケーションが動作する処理システムであるGreen環境110をさらに含む。Blue環境107およびGreen環境110は、ロードバランサ108および111、アプリケーションサーバ109および112を含む。このうち、DNSサーバ102、ロードバランサ108および111はクラウドベンダーによって提供される。
DNS(Domain Name System)サーバ102は、クライアントコンピュータ105が情報処理システム100にアクセスする際に参照するDNSレコードおよびクラウドベンダーが提供する各ロードバランサを表すDNSレコードを管理する。DNSサーバ102はインターネット106に接続されており、クライアントコンピュータ105はインターネット106を介してDNSサーバ102へアクセスする。DB103は、サービスを提供するための各種データ等が格納されているデータベースである。特に本実施例では、DB103には、Green環境110にアクセスするための情報が登録されている。Green環境110にアクセスするための情報は、例えば、Green環境110に含まれるロードバランサ111のIPアドレスなどであるがこれに限られない。
ロードバランサ108および111は、クライアントコンピュータ105からのリクエストをアプリケーションサーバ109および112に転送する負荷分散装置である。アプリケーションサーバ109は、ロードバランサ108を介して受信したリクエストを処理する仮想マシンである。アプリケーションサーバ112は、ロードバランサ111を介して受信したリクエストを処理する仮想マシンである。アプリケーションサーバ109、112は、オートスケール機能によってそれぞれ複数台が起動されていてもよい。本実施例では、アプリケーションサーバ109は、Green環境での処理対象となるリクエストを受信した場合、Green環境のロードバランサ111に対してリクエストを転送する処理を行う。
ここで、仮想マシンとは、仮想化技術によって、サーバを物理的な構成にとらわれずに論理的な単位で分割し、それぞれが独立したオペレーティングシステムをもって動作する論理的なコンピュータである。なお、アプリケーションサーバ109および112は仮想マシンに限られず、サーバレスの技術を用いたイベント駆動型コンピューティングサービスによってリクエストの処理が実行されてもよい。イベント駆動型コンピューティングサービスには、例えば、AWS Lambda、Google Cloud Functions、Microsoft Azure Functions等がある。イベント駆動型コンピューティングサービスを構成するサーバは、クラウドコンピューティングサービスとして提供されるものである。そして、後述する図2に示す各ハードウェアの機能は、それぞれ、仮想マシンソフトウェアによってアプリケーションソフトウェアとして実現され、物理ハードウェア要素と同様の挙動をとるものとする。
図2は、管理サーバ101、アプリケーションサーバ109および112として機能する情報処理装置のハードウェア構成の一例を示す図である。管理サーバ101においてハードディスク(HDD)212には、管理サーバソフトウェアのプログラムが格納される。なお、管理サーバ101、アプリケーションサーバ109および112が仮想マシンである場合においては、それらとして機能する仮想マシンが動作するサーバーコンピューターも、情報処理装置に含まれる。
CPU201は、管理サーバ101の全体の制御を司る。CPU201が、HDD212に記録されたデバイス管理プログラムをRAM203等に読み出して実行することにより、図3に示す管理サーバ101のソフトウェア構成及び後述する図7、図10、図14、図16、図18のフローチャートの処理が実現される。
ROM202には、BIOSのプログラムやブートプログラムが格納されている。RAM203は、CPU201の主メモリー、ワークエリア等として機能する。キーボードコントローラ(KBC)205は、キーボード(KB)209やポインティングデバイス(PD)210等からの指示入力を制御する。ディスプレイコントローラ(DSPC)206は、ディスプレイ(DSP)211の表示を制御する。
ディスクコントローラ(DKC)207は、ハードディスク(HDD)212やCDROM(CD)213等の記憶装置へのアクセスを制御する。HDD212及びCD−ROM(CD)213等には、ブートプログラム、オペレーティングシステムのプログラム、データベース、管理サーバソフトウェアプログラム及びデータ等が記憶されている。インタフェースコントローラ(IFC)208は、インターネット106を介してシステム管理者コンピュータ104とのデータ通信を行う。
これらの各構成要素は、システムバス204上に配置される。
なお、本実施形態に係るプログラムは、CD−ROM等の記憶媒体に格納された形で供給されてもよい。その場合には図2に示すCD213等によって記憶媒体からプログラムが読み取られ、HDD212にインストールされる。またロードバランサ108および111、アプリケーションサーバ109および112のハードウェア構成も図2に示す通りである。各装置のCPUが各装置のHDD等に記憶されたプログラムに基づき処理を実行することによって各装置の機能等が実現される。
図3は、管理サーバ101のソフトウェア構成の一例を示す図である。管理サーバ101は、システム管理者がシステム管理者コンピュータ104を通じてリクエストした処理を実行する。管理サーバ101は、環境構築部301、環境削除部302、DNS更新部303、IPアドレス取得部304、IPアドレス登録部305、IPアドレス削除部306を含む。
環境構築部301は、次バージョン環境であるGreen環境110を構築する。構築の際はクラウドベンダーが提供するAPIを実行することで、Green環境110の各構成要素を作成する。
環境削除部302は、BlueGreenデプロイメントによって旧バージョン環境となったBlue環境107を削除する。削除の際はクラウドベンダーが提供するAPIを実行することで、Blue環境107の各構成要素を削除する。
DNS更新部303は、DNSサーバ102が管理するDNSレコードを更新する。本実施例では、本番環境として動作する処理システムに係るレコードがDNS更新部303によって書き換えられることで、BlueGreenデプロイメントが実行される。なお、Green環境の動作確認中は、DNSサーバ102ではGreen環境に係るレコードは管理されていない。
IPアドレス取得部304は、環境構築部301が構築したGreen環境110のロードバランサ111のIPアドレス取得キーを取得し、該IPアドレス取得キーを用いてロードバランサ111のIPアドレスを取得する。IPアドレス取得キーはクラウドベンダーが提供するAPIを使用することで取得する。IPアドレス取得は該IPアドレス取得キーを引数にコマンドラインツールを実行することで取得する。Green環境110の動作確認中は、DNSサーバ102ではGreen環境に係るレコードは管理されていないため、本実施例では、Green環境110のロードバランサ111のIPアドレスをDB103で管理するようにする。
IPアドレス登録部305は、IPアドレス取得部304が取得したIPアドレスやその他付加情報をDB103へ登録する。
IPアドレス削除部306は、IPアドレス登録部305がDB103へ登録したIPアドレス等を削除する。本実施例では、Green環境110の動作確認が終了すると、Green環境110のロードバランサ111のIPアドレスはDB103から削除される。
図4は、アプリケーションサーバ109および112のソフトウェア構成の一例を示す図である。それぞれロードバランサ108および111から転送されたリクエストを処理する。アプリケーションサーバ109および112はリクエスト受信部401、リクエスト判断部402、IPアドレス情報管理部403、リクエスト振り分け部404を含む。
リクエスト受信部401はロードバランサ108および111からのリクエストを受信する。
リクエスト判断部402はリクエスト受信部401で受信したリクエストの内容から、動作確認権限を持つユーザ(後述)からのリクエストかどうかを判断する。なお、判定方法については後述する。
IPアドレス情報管理部403はリクエスト判断部402の判断結果に従って、IPアドレス登録部305によって登録されるDB103上のIPアドレス情報管理テーブル(後述)のデータを取得する。
リクエスト振り分け部404は、IPアドレス情報管理部403が取得したIPアドレスへリクエストを振り分ける。
図5は、IPアドレス情報管理テーブルの一例を示す図である。該テーブルはDB103で保持される。該テーブルには、IPアドレス登録部305が登録したロードバランサ111のIPアドレスが登録されている。なお、クラウドベンダーの仕様によって複数のIPを持つロードバランサの場合にはその全てを登録する(図5では一例としてIPアドレスを二つ記載)。本テーブルでは、動作確認中であるGreen環境にアクセスするための情報として、Green環境のロードバランサのIPアドレスが管理される。
図6は動作確認権限をもつユーザの操作によりクライアントコンピュータ105からロードバランサ108へ送信されるHTTPリクエストの構成の一例を示す図である。情報601はHTTPメソッドおよびリクエストURLを表している。情報602はHTTPヘッダを表している。情報603はリクエストのBodyを表しており、ここにリクエスト元ユーザの権限タイプが記載される。図6では動作確認権限を表す文字列としてTestMasterを設定している。該リクエストは認証サーバ(不図示)で検証を通過するとアプリケーションサーバ109へ送信される。アプリケーションサーバ109は情報603を確認し、権限タイプが動作確認権限を表す文字列かどうかを検証する。
図7は管理サーバ101のロードバランサIPアドレス登録処理の一例を示すフローチャートである。本フローチャートに示す処理は、新たに構築されたGreen環境のロードバランサのIPアドレスをDBに登録するために管理サーバ101により実行される。本フローチャートの処理は、CPU201が、ROM202やRAM203、HDD212などに記録されたプログラムを読み出して実行することにより実現される。
S701にて、環境構築部301は、Green環境110を構築する。
S702にて、IPアドレス取得部304は、クラウドベンダーが提供するAPIを使用してIPアドレス取得キーを取得する。
S703にて、IPアドレス取得部304は、S702で取得したIPアドレス取得キーを引数にコマンドラインツールを実行し、ロードバランサ111のIPアドレスを取得する。
S704にて、IPアドレス登録部305は、S703で取得したロードバランサ111のIPアドレスをIPアドレス情報管理テーブルとしてDB103へ登録する。
図8はアプリケーションサーバ109のリクエスト転送処理の一例を示すフローチャートである。本フローチャートで示す処理は、Green環境が構築された後の動作確認中に行われる処理である。本フローチャートの処理は、アプリケーションサーバ109のCPU201が、ROM202やRAM203、HDD212などに記録されたプログラムを読み出して実行することにより実現される。
S801にて、リクエスト受信部401が、ロードバランサ108を介して、外部装置からのリクエストを受信する。リクエストは、図6で示す構成を有する。
S802にて、リクエスト判断部402がS801で受信したリクエストBody内の権限タイプが動作確認権限を表す文字列と一致するかどうか検証する。一致する場合、S803へ進む。一致しない場合、S805へ進む。
S803にて、IPアドレス情報管理部403がDB103からIPアドレス情報管理テーブルを取得する。
S804にて、リクエスト振り分け部404がS803で取得したIPアドレスへリクエストを送信する。
S805にて、S801で受信したリクエストのうち動作確認権限を持たないユーザからのリクエストを処理する。
本実施例では、動作確認権限を表す所定の識別子がリクエストに含まれていることに基づいて、Green環境での処理対象となるリクエストであるとの判断が行われる。他の方法としては、例えば、リクエストの処理種別などに基づいて、Green環境での処理対象となるリクエストであるとの判断が行われるという方法などでもよい。
なおフローチャート上に図示していないが、動作確認作業が完了した後にシステム管理者コンピュータ104からの操作により、IPアドレス削除部306がDB103上のIPアドレス情報管理テーブルを削除する。また、DNS更新部303がDNSサーバ102へロードバランサ111のIPアドレスを登録し、Green環境とBule環境を切り替える。その後、環境削除部302が旧Blue環境となったBlue環境107を削除する。
以上説明したように、実施例1によれば、管理サーバがGreen環境構築時にロードバランサのIPアドレスを取得してDBに登録することで、外部装置からのリクエストはBlue環境経由でGreen環境へ送信されて処理される。これにより、Green環境での処理対象となるリクエストを、外部装置から直接Green環境へ送信する必要がなくなるため、IPアドレス取得キーの調査および動作確認者のPC上のhostsファイルを書き換えが不要となる。つまり、動作確認作業者の作業負荷と作業PCのセキュリティリスクを低減したGreen環境へのアクセスが可能となる。
(実施例2)
実施例1では、Blue環境のアプリケーションサーバ109が、DBに登録されているGreen環境のロードバランサのIPアドレスを用いてリクエストをGreen環境のロードバランサへ送信するようにした。しかしながら、Green環境のロードバランサのIPアドレスは予告なしに変更されてしまうことがある。その際、Blue環境のアプリケーションサーバ109は、Green環境へのアクセスに失敗する。そこで、本実施例では、Green環境へのアクセスに失敗した場合に、アプリケーションサーバ109は、変更後のIPアドレスを取得してDBに登録し、変更後のIPアドレスを用いてGreen環境へリクエストを送信するようにする。
実施例2では、図1〜図4、図6に示す構成が実施例1と同じであり、実施例1と同様の部分については同一の符号を用いてその説明を省略する。以下、実施例1と異なる点を主に説明する。
図9はS704でIPアドレス登録部305がDB103へ登録するIPアドレス情報管理テーブルを示す図である。図5との差異は、IPアドレスを取得するためのキー情報も保持している点である。本実施例では、IPアドレスが変更された際に、アプリケーションサーバ109は、このIPアドレス取得キーを用いてIPアドレスを再取得する。
図10は管理サーバ101のロードバランサIPアドレス登録処理の一例を示すフローチャートである。本フローチャートに示す処理は、新たに構築されたGreen環境のロードバランサのIPアドレスをDBに登録するために管理サーバ101により実行される。本フローチャートの処理は、CPU201が、ROM202やRAM203、HDD212などに記録されたプログラムを読み出して実行することにより実現される。
図7と比較して、S704がS1001と置き換わっている点で異なる。図7と同一の処理は、同一の符号を用いることで説明を省略する。
S1001にて、IPアドレス登録部305はS702およびS703で取得したIPアドレス取得キーおよびIPアドレスをIPアドレス情報管理テーブルとしてDB103に登録する。
図11はアプリケーションサーバ109のリクエスト転送処理の一例を示すフローチャートである。本フローチャートで示す処理は、Green環境が構築された後の動作確認中に行われる処理である。本フローチャートの処理は、アプリケーションサーバ109のCPU201が、ROM202やRAM203、HDD212などに記録されたプログラムを読み出して実行することにより実現される。
図8と比較して、S1101〜S1105が追加されている点で異なる。図8と同一の処理は、同一の符号を用いることで説明を省略する。
S1101にて、リクエスト振り分け部404はS804で送信したリクエストが失敗しているかどうかを判定する。失敗していた場合、S1102へ進む。成功している場合、リクエスト転送処理を終了する。
S1102にてリクエスト振り分け部404はS803で取得したIPアドレス情報管理テーブルのデータ内に別のIPアドレスが存在するか判定する。存在する場合、S804へ進む。存在しない場合、S1103へ進む。
S1103にて、IPアドレス情報管理部403はDB103上で管理しているIPアドレス情報管理テーブル内のIPアドレス取得キーを取得する。
S1104にて、S1103で取得したIPアドレス取得キーを使ってロードバランサ111のIPアドレスを取得する。
S1105にて、S1103およびS1104で取得したIPアドレス取得キーおよびIPアドレスをIPアドレス情報管理テーブルとしてDB103に登録する。
なお、S1103〜S1105は実施例中ではアプリケーションサーバ109が行っているが、管理サーバ101が行ってもよい。
以上説明したように、実施例2によれば、Green環境のロードバランサのIPアドレスが変更されていてアクセスに失敗した場合に、IPアドレスを再登録することで、動作確認者の作業効率を下げることなくGreen環境へのアクセスが可能となる。
(実施例3)
実施例1および実施例2では、アプリケーションサーバ109は、Green環境での処理対象となるリクエストを受信するたびに、DBに登録されているIPアドレスを取得していた。これに対して、本実施例では、アプリケーションサーバ109は、DBから取得したIPアドレスを有効期限付きで保持するようにする。実施例3では、図1〜図4、図6、図9、図10に示す構成が実施例2と同じであり、実施例2と同様の部分については同一の符号を用いてその説明を省略する。以下、実施例2と異なる点を主に説明する。
図12はアプリケーションサーバ109で保持するIPアドレスキャッシュ情報の一例を示す図である。該キャッシュ情報はIPアドレス情報管理部403がDB103から取得したIPアドレス情報管理テーブル内のIPアドレス情報に、有効期限を追加し格納される。図12中で有効期限はyyyymmdd−hhmmss形式で記載されている。
図13はアプリケーションサーバ109のリクエスト転送処理の一例を示すフローチャートである。図11と比較して、S1301〜S1302が追加されている点で異なる。図11と同一の処理は、同一の符号を用いることで説明を省略する。
S1301にて、IPアドレス情報管理部403がIPアドレスキャッシュ情報を保持しているか、かつ有効期限内かどうかを判定する。IPアドレスキャッシュ情報を保持しているかつ有効期限内である場合、S804へ進む。該判定条件に当てはまらない場合、S803へ進む。
S1302にて、IPアドレス情報管理部403がS803で取得したIPアドレス情報管理テーブル内のIPアドレスに有効期限を付与し、IPアドレスキャッシュ情報を更新する。
実施例3によれば、アプリケーションサーバ109が、IPアドレス情報をキャッシュすることで、IPアドレス情報管理テーブルへのアクセスを減らすことができる。
(実施例4)
実施例2では、Green環境のロードバランサのIPアドレスが変更されていてアクセスに失敗した際に、アプリケーションサーバ109がIPアドレスを再取得していた。これに対して、実施例4では、アプリケーションサーバ109が、任意のタイミングで定期的にIPアドレス取得キーを用いてIPアドレスを取得し、DBに登録するようにする。実施例4は、図1〜図4、図6、図9、図10、図12、図13に示す構成が実施例3と同じであり、実施例3と同様の部分については同一の符号を用いてその説明を省略する。以下、実施例3と異なる点を主に説明する。
図14はアプリケーションサーバ109のIPアドレス取得ポーリング処理の一例を示すフローチャートである。本フローチャートに記載の処理はシステム管理者が設定した所定のスケジュールに従い実行される。
S1401にて、IPアドレス情報管理部403がDB103にIPアドレス情報管理テーブルがあるか判定する。判定の結果該テーブルが存在する場合、S1402へ進む。該データが存在しない場合、IPアドレス取得ポーリング処理を終了する。
S1402にて、IPアドレス情報管理部403はDB103上で管理しているIPアドレス情報管理テーブル内のIPアドレス取得キーを取得する。
S1403にて、S1402で取得したIPアドレス取得キーを使ってロードバランサ111のIPアドレスを取得する。
S1404にて、S1402およびS1403で取得したIPアドレス取得キーおよびIPアドレスをIPアドレス情報管理テーブルとしてDB103に登録する。
なお、本フローチャートの処理は、アプリケーションサーバ109により実行されるものとして説明したが、管理サーバ101によって実行されても良い。
以上説明したように、実施例4によれば、ポーリング処理によりIPアドレス管理テーブルのIPアドレスとロードバランサのIPアドレスが異なる時間を極力短くすることによって、ロードバランサのIPアドレス再取得処理の発生頻度を減らすことができる。
(実施例5)
実施例5では、アプリケーションサーバ109が、Green環境のロードバランサのIPアドレスだけでなく、IPアドレスの取得日時の情報と関連づけて登録するようにする。実施例5では、図1〜図4、図6、図12に示す構成が実施例4と同じであり、実施例4と同様の部分については同一の符号を用いてその説明を省略する。以下、実施例4と異なる点を主に説明する。
図15はIPアドレス登録部305がDB103へ登録するIPアドレス情報管理テーブルを示す図である。図9との差異は、ロードバランサ111のIPアドレスを取得した日時も含んでいる点である。
図16は管理サーバ101のロードバランサIPアドレス登録処理の一例を示すフローチャートである。図10と比較して、S1001がS1601と置き換わっている点で異なる。図10と同一の処理は、同一の符号を用いることで説明を省略する。
S1601にて、IPアドレス登録部305はS702およびS703で取得したIPアドレス取得キーおよびIPアドレスにIPアドレス取得日時を付与し、IPアドレス情報管理テーブルとしてDB103に登録する。
図17はアプリケーションサーバ109のリクエスト転送処理の一例を示すフローチャートである。図13と比較して、S1701が追加されている点およびS1105がS1702で置き換わっている点で異なる。図13と同一の処理は、同一の符号を用いることで説明を省略する。
S1701にて、IPアドレス情報管理部403がDB103にすでに登録されているIPアドレス管理情報テーブル内のIP取得日時よりも、これから登録しようとしているIPアドレス管理情報テーブルのIP取得日時が新しいかを判定する。判定の結果、新しい場合はS1702へ進む。古い場合はS803へ進む。
S1702にて、IPアドレス情報管理部403はS1103およびS1104で取得したIPアドレス取得キーおよびIPアドレスにIPアドレス取得日時を付与し、IPアドレス情報管理テーブルとしてDB103に登録する。
図18はアプリケーションサーバ109のIPアドレス取得ポーリング処理の一例を示すフローチャートである。図14と比較して、S1801が追加されている点およびS1404がS1802で置き換わっている点で異なる。図14と同一の処理は、同一の符号を用いることで説明を省略する。
S1801にて、IPアドレス登録部305は、DB103にすでに登録されているIPアドレス管理情報テーブル内のIP取得日時に基づき、IPアドレスを登録するか否かを決定する。IPアドレス登録部305は、DB103にすでに登録されているIPアドレス管理情報テーブル内のIP取得日時よりも、これから登録しようとしているIPアドレス管理情報テーブルのIP取得日時が新しいかを判定する。判定の結果、新しい場合はS1404へ進む。古い場合はIPアドレス取得ポーリング処理を終了する。
S1802にて、IPアドレス登録部305がS1402およびS1403で取得したIPアドレス取得キーおよびIPアドレスにIPアドレス取得日時を付与し、IPアドレス情報管理テーブルとしてDB103に登録する。
上記第5の実施形態によれば、古いロードバランサIPアドレス情報がDBへ登録されてしまうことを防ぐことができるため、アクセス失敗が発生する頻度を低減させ、動作確認者の作業効率を下げることなくGreen環境へのアクセスが可能となる。
(他の実施例)
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
ここで、本発明は、上述した実施形態の機能を実現する1つ以上のソフトウェア(プログラム)を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の1つである。また、そのプログラムは、ネットワークまたは各種記憶媒体を介してシステムあるいは装置に供給され、そのシステムあるいは装置の1つ以上のコンピューター(CPUやMPU等)によりそのプログラムが読み出され、実行される。つまり、本発明の1つとして、さらにそのプログラム自体、あるいは当該プログラムを格納したコンピュータにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路(例えば、ASIC)によっても、本発明は実現可能である。
100 情報処理システム
101 管理サーバ
103 DB
107 Blue環境
110 Green環境
201 CPU

Claims (9)

  1. 現行バージョンのアプリケーションが動作する第1の処理システムと、次バージョンのアプリケーションが動作する第2の処理システムと、管理サーバとを含むシステムであって、
    前記管理サーバは、
    前記第2の処理システムにアクセスするための情報を、前記システムのデータベースに登録する登録手段を有し、
    前記第1の処理システムは、
    外部装置からのリクエストを、前記第1の処理システムに含まれる負荷分散装置を介して受信する受信手段と、
    前記受信したリクエストが前記第2の処理システムでの処理対象となるリクエストである場合、前記データベースに登録されている前記第2の処理システムにアクセスするための前記情報を用いて、前記受信したリクエストを前記第2の処理システムに対して送信する送信手段と、を有することを特徴とするシステム。
  2. 前記登録手段は、前記第2の処理システムにアクセスするための情報として、前記第2の処理システムに含まれる負荷分散装置のIPアドレスを前記データベースに登録することを特徴とする請求項1に記載のシステム。
  3. 前記外部装置からのリクエストは、前記システムのデータベースとは異なるDNS(Domain Name System)サーバで管理される前記第1の処理システムに含まれる負荷分散装置に係るレコードに従い、前記第1の処理システムに含まれる負荷分散装置に送信されることを特徴とする請求項1または2に記載のシステム。
  4. 前記登録手段は、前記第2の処理システムにアクセスするための情報として、前記第2の処理システムに含まれる負荷分散装置のIPアドレス、および、前記第2の処理システムに含まれる負荷分散装置のIPアドレスを取得するためのキー情報を前記データベースに登録し、
    前記第1の処理システムは、前記データベースに登録されている前記キー情報を用いてIPアドレスを取得する取得手段をさらに有し、
    前記取得手段は、前記データベースに登録されている前記IPアドレスの情報を用いて、前記受信したリクエストを前記第2の処理システムに対して送信できなかった場合、前記データベースに登録されている前記キー情報を用いてIPアドレスを取得し、当該取得したIPアドレスを前記データベースに登録し、
    前記送信手段は、前記取得されたIPアドレスを用いて、前記受信したリクエストを前記第2の処理システムに対して送信することを特徴とする請求項1乃至3のいずれか1項に記載のシステム。
  5. 前記第1の処理システムは、前記第2の処理システムにアクセスするための情報として、前記第2の処理システムに含まれる負荷分散装置のIPアドレスを有効期限付きで保持する保持手段をさらに有し、
    前記送信手段は、前記保持されているIPアドレスが有効期限内である場合、前記保持されているIPアドレスを用いて、前記受信したリクエストを前記第2の処理システムに対して送信し、
    前記保持手段は、前記保持されているIPアドレスが有効期限内でない場合、前記データベースに登録されているIPアドレスを取得し、当該取得したIPアドレスを保持し、
    前記送信手段は、前記保持されているIPアドレスを用いて、前記受信したリクエストを前記第2の処理システムに対して送信することを特徴とする請求項4に記載のシステム。
  6. 前記取得手段は、所定のスケジュールに従い、前記データベースに登録されている前記キー情報を用いてIPアドレスを取得し、当該取得したIPアドレスを前記データベースに登録することを特徴とする請求項4または5に記載のシステム。
  7. 前記取得手段は、前記データベースに登録されている前記キー情報を用いてIPアドレスを取得し、当該取得したIPアドレスを取得日時の情報と関連づけて前記データベースに登録し、
    前記取得手段は、前記取得したIPアドレスを前記データベースに登録する際に、前記データベースに登録されているIPアドレスと関連づく取得日時の情報に基づいて、前記取得したIPアドレスを前記データベースに登録するか否かを決定することを特徴とする請求項4乃至6のいずれか1項に記載のシステム。
  8. 前記第2の処理システムでの処理対象となるリクエストは、前記第2の処理システムの動作確認のためのリクエストであり、
    前記第1の処理システムは、前記受信したリクエストが前記第2の処理システムでの処理対象となるリクエストであるかどうかを判定する判定手段をさらに有し、
    前記判定手段は、前記受信したリクエストに所定の識別子が含まれる場合に、当該リクエストが前記第2の処理システムでの処理対象となるリクエストであると判定することを特徴とする請求項1乃至7のいずれか1項に記載のシステム。
  9. 現行バージョンのアプリケーションが動作する第1の処理システムと、次バージョンのアプリケーションが動作する第2の処理システムと、管理サーバとを含むシステムの制御方法であって、
    前記管理サーバが、前記第2の処理システムにアクセスするための情報を、前記システムのデータベースに登録する登録工程を有し、
    前記第1の処理システムが、外部装置からのリクエストを、前記第1の処理システムに含まれる負荷分散装置を介して受信する受信工程と、
    前記第1の処理システムが、前記受信したリクエストが前記第2の処理システムでの処理対象となるリクエストである場合、前記データベースに登録されている前記第2の処理システムにアクセスするための前記情報を用いて、前記受信したリクエストを前記第2の処理システムに対して送信する送信工程と、を有することを特徴とする制御方法。
JP2019158664A 2019-08-30 2019-08-30 システム、および制御方法 Pending JP2021039423A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019158664A JP2021039423A (ja) 2019-08-30 2019-08-30 システム、および制御方法
US17/002,056 US11184431B2 (en) 2019-08-30 2020-08-25 System and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019158664A JP2021039423A (ja) 2019-08-30 2019-08-30 システム、および制御方法

Publications (1)

Publication Number Publication Date
JP2021039423A true JP2021039423A (ja) 2021-03-11

Family

ID=74680336

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019158664A Pending JP2021039423A (ja) 2019-08-30 2019-08-30 システム、および制御方法

Country Status (2)

Country Link
US (1) US11184431B2 (ja)
JP (1) JP2021039423A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220345519A1 (en) * 2021-04-26 2022-10-27 Arrcus Inc. PFCP Session Load Balancer

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003281109A (ja) * 2002-03-26 2003-10-03 Hitachi Ltd 負荷分散方法
DE602006010526D1 (de) * 2005-04-04 2009-12-31 Ericsson Telefon Ab L M Verfahren und vorrichtung zur lastverteilung auf anwendungsservern
JP4241660B2 (ja) * 2005-04-25 2009-03-18 株式会社日立製作所 負荷分散装置
JP5724687B2 (ja) * 2011-07-04 2015-05-27 富士通株式会社 情報処理装置、サーバ選択方法、及びプログラム
US9071609B2 (en) * 2012-10-08 2015-06-30 Google Technology Holdings LLC Methods and apparatus for performing dynamic load balancing of processing resources
US9904533B2 (en) * 2013-03-15 2018-02-27 Oracle International Corporation Circular buffer of software versions
JP6783638B2 (ja) 2016-11-29 2020-11-11 キヤノン株式会社 管理システム、および制御方法

Also Published As

Publication number Publication date
US20210067583A1 (en) 2021-03-04
US11184431B2 (en) 2021-11-23

Similar Documents

Publication Publication Date Title
US9916321B2 (en) Methods and apparatus for controlling snapshot exports
JP7034806B2 (ja) 分散ストレージネットワークにおけるデータ経路モニタリング
JP5288334B2 (ja) 仮想アプライアンス配備システム
US8706834B2 (en) Methods and apparatus for remotely updating executing processes
US20140337493A1 (en) Client/server network environment setup method and system
US8423734B2 (en) Making automated use of data volume copy service targets
CN107690770B (zh) 自主私钥恢复
US8645240B1 (en) System and method for usage billing of hosted applications
US10050832B2 (en) Server clustering in mobile computing environment
US8745342B2 (en) Computer system for controlling backups using wide area network
US10474491B2 (en) Method and apparatus for managing cloud server in cloud environment
US11281550B2 (en) Disaster recovery specific configurations, management, and application
JP5439435B2 (ja) 計算機システムおよびその計算機システムにおけるディスク共有方法
US11184431B2 (en) System and control method
KR102567900B1 (ko) 클라우드 저하 모드에서 지속적인 디바이스 동작 안정성을 보장하기 위한 방법 및 장치
CN108566432A (zh) PaaS平台的应用部署方法、装置、服务器及存储介质
US11349718B2 (en) Capacity bursting using a remote control plane
JP7137072B2 (ja) 情報処理システム、負荷分散処理装置および負荷分散処理プログラム
US20200403847A1 (en) Remote control planes with automated failover
CN114584545A (zh) 数据管理方法、装置、系统、存储介质及电子设备
WO2012164711A1 (ja) 情報処理システム、ソフトウエア検証方法、及びプログラム
KR100832544B1 (ko) Toe와 이더넷 네트워크 인터페이스 카드를 동시에 지원하는 소켓 구조체 생성 방법, 소켓 구조체를 이용한 통신 방법 및 소켓 구조체를 기록한 기록매체
CN115623081A (zh) 数据下载方法、上传方法及分布式存储系统
WO2020263611A1 (en) Remote control planes with automated failover
US20180150336A1 (en) Management system and control method