JP2020173498A - 管理装置、情報処理システムおよび管理プログラム - Google Patents

管理装置、情報処理システムおよび管理プログラム Download PDF

Info

Publication number
JP2020173498A
JP2020173498A JP2019073523A JP2019073523A JP2020173498A JP 2020173498 A JP2020173498 A JP 2020173498A JP 2019073523 A JP2019073523 A JP 2019073523A JP 2019073523 A JP2019073523 A JP 2019073523A JP 2020173498 A JP2020173498 A JP 2020173498A
Authority
JP
Japan
Prior art keywords
information
application
state
server
information processing
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.)
Granted
Application number
JP2019073523A
Other languages
English (en)
Other versions
JP7193732B2 (ja
Inventor
沢弥 松原
Takuya Matsubara
沢弥 松原
司芳 渡辺
Kazuyoshi Watanabe
司芳 渡辺
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019073523A priority Critical patent/JP7193732B2/ja
Priority to US16/836,980 priority patent/US10880364B2/en
Priority to CN202010260303.2A priority patent/CN111796918A/zh
Publication of JP2020173498A publication Critical patent/JP2020173498A/ja
Application granted granted Critical
Publication of JP7193732B2 publication Critical patent/JP7193732B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate

Abstract

【課題】アプリケーションと通信できなくなった情報処理装置に通信継続方法を判断するための情報を簡易な処理で通知する。【解決手段】管理装置10は、情報処理装置3へのアプリケーション1aの移行処理の開始に応じて送信された状態情報を受信すると、移行中であることを管理情報11aに記録し、移行処理の完了に応じて送信された、状態情報と移行先を示す移行先情報11bとを受信すると、移行済みであることを管理情報11aに記録するとともに移行先情報11bを記憶部11に格納し、アプリケーション1aとの通信の失敗に応じて情報処理装置2から送信された問合せを受信すると、管理情報11aに基づいてアプリケーション1aの状態を情報処理装置2に通知するとともに、移行済みの場合には移行先情報11bを情報処理装置2に送信する。【選択図】図1

Description

本発明は、管理装置、情報処理システムおよび管理プログラムに関する。
情報処理システムに含まれる各情報処理装置では、様々なアプリケーションが動作している。このような情報処理システムでは、アプリケーションの状態(例えば、正常に動作しているか、異常停止しているか)を管理するための仕組みを備えるものが多い。
このような技術の例として、次のようなネットワーク通信管理システムが提案されている。このシステムでは、あるコンピュータでのサーバアプリケーションの起動や停止の状況が隣接するコンピュータ間で順次通知されていくことで、各コンピュータがサーバアプリケーションの状態を管理できるようになっている。
また、サーバの切り替えに関して、次のようなクライアントサーバシステムが提案されている。このシステムでは、サーバ切り替え要因が発生すると、接続先切り替え装置が、クライアントから要因発生サーバへの信号が切り替え先のサーバへ配信されるように、この信号の宛先アドレスを書き替えて送信する。
特開2001−175560号公報 特開2000−322350号公報
ところで、情報処理システムでは、ある情報処理装置で動作していたアプリケーションが他の情報処理装置に移行する場合がある。例えば、アプリケーションが動作している情報処理装置が老朽化する、あるいはその情報処理装置のリソースが足りなくなった場合に、そのアプリケーションを他の情報処理装置に移行させる。
ここで、第1の情報処理装置で動作するアプリケーションと第2の情報処理装置とが通信している状態から、そのアプリケーションが第3の情報処理装置に移行した場合、第2の情報処理装置は移行前のアプリケーションと通信できなくなる。第2の情報処理装置が移行後のアプリケーションと通信を継続できるようにするには、第2の情報処理装置が、アプリケーションが移行したことやその移行先の情報を認識できる必要がある。しかし、第2の情報処理装置がアプリケーションとの通信を継続する方法をどのようにして判断するか、さらに、その判断を可能にするための処理をどのようにして簡易な仕組みで実現するかという点に課題がある。
1つの側面では、本発明は、アプリケーションと通信できなくなった情報処理装置に通信継続方法を判断するための情報を簡易な処理で通知できるようにした管理装置、情報処理システムおよび管理プログラムを提供することを目的とする。
1つの案では、記憶部と処理部とを有する次のような管理装置が提供される。この管理装置において、記憶部は、第1の情報処理装置で動作するアプリケーションの状態を管理するための管理情報を記憶する。処理部は、アプリケーションから第2の情報処理装置へのデータ送信に応じて第1の情報処理装置から送信された、アプリケーションが正常に通信可能であることを示す第1の状態情報を受信すると、第1の状態情報が示す状態を管理情報に記録し、第1の情報処理装置から第3の情報処理装置へのアプリケーションの移行処理の開始に応じて第1の情報処理装置から送信された、アプリケーションが移行中であることを示す第2の状態情報を受信すると、第2の状態情報が示す状態を管理情報に記録し、移行処理の完了に応じて第3の情報処理装置から送信された、アプリケーションが移行済みであることを示す第3の状態情報とアプリケーションの移行先を示す移行先情報とを受信すると、第3の状態情報が示す状態を管理情報に記録するとともに、移行先情報を記憶部に格納し、アプリケーションとの通信の失敗に応じて第2の情報処理装置から送信された問合せを受信すると、管理情報に基づいてアプリケーションの状態を第2の情報処理装置に通知するとともに、管理情報に第3の状態情報が示す状態が記録されている場合には移行先情報を第2の情報処理装置に送信する。
また、1つの案では、アプリケーションが動作する第1の情報処理装置と、アプリケーションと通信する第2の情報処理装置と、第3の情報処理装置、管理装置とを有する情報処理システムが提供される。この情報処理システムにおいて、第1の情報処理装置は、アプリケーションから第2の情報処理装置へのデータ送信に応じて、アプリケーションが正常に通信可能であることを示す第1の状態情報を送信し、第1の情報処理装置から第3の情報処理装置へのアプリケーションの移行処理の開始に応じて、アプリケーションが移行中であることを示す第2の状態情報を送信する。第3の情報処理装置は、移行処理が完了すると、アプリケーションが移行済みであることを示す第3の状態情報とアプリケーションの移行先を示す移行先情報とを送信する。第2の情報処理装置は、アプリケーションとの通信に失敗すると、管理装置に問合せを送信する。管理装置は、第1の状態情報を受信すると、第1の状態情報が示す状態を、アプリケーションの状態を管理するための管理情報に記録し、第2の状態情報を受信すると、第2の状態情報が示す状態を管理情報に記録し、第3の状態情報および移行先情報を受信すると、第3の状態情報が示す状態を管理情報に記録するとともに移行先情報を記憶部に格納し、問合せを受信すると、管理情報に基づいてアプリケーションの状態を第2の情報処理装置に通知するとともに、管理情報に第3の状態情報が示す状態が記録されている場合には移行先情報を第2の情報処理装置に送信する。
さらに、1つの案では、上記の管理装置と同様の処理をコンピュータに実行させる管理プログラムが提供される。
1つの側面では、アプリケーションと通信できなくなった情報処理装置に通信継続方法を判断するための情報を簡易な処理で通知できる。
第1の実施の形態に係る情報処理システムの構成例および処理例を示す図である。 第2の実施の形態に係る情報処理システムの構成例を示す図である。 サーバのハードウェア構成例を示す図である。 サーバ間でのアプリケーションの移行について説明するための図である。 状態管理サーバを用いたサーバ状態管理の概要を示す図である。 サーバおよび状態管理サーバが備える処理機能の構成例を示すブロック図である。 状態管理情報の構成例を示す図である。 マネージャの移行処理例を示す第1の図である。 マネージャの移行処理例を示す第2の図である。 マネージャの移行処理例を示す第3の図である。 マネージャの移行処理例を示す第4の図である。 マネージャの通常通信時の処理例を示すフローチャートである。 マネージャの移行通知時の処理例を示すフローチャートである。 エージェントの通常通信時の処理例を示すフローチャート(その1)である。 エージェントの通常通信時の処理例を示すフローチャート(その2)である。 エージェントによる情報送信の処理例を示すフローチャートである。 状態管理の処理例を示すフローチャートである。 問合せ応答の処理例を示すフローチャートである。 状態管理情報の遷移の例を示す図(その1)である。 状態管理情報の遷移の例を示す図(その2)である。 第3の実施の形態におけるマネージャの移行処理例を示す図である。 第3の実施の形態におけるエージェントの通常通信時の処理例を示すフローチャート(その1)である。 第3の実施の形態におけるエージェントの通常通信時の処理例を示すフローチャート(その2)である。
以下、本発明の実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る情報処理システムの構成例および処理例を示す図である。図1に示す情報処理システムは、情報処理装置1〜3と管理装置10を有する。
情報処理装置1では、情報処理装置2と通信するアプリケーション1aが動作する。アプリケーション1aの処理は、例えば、情報処理装置1が備えるプロセッサが所定のアプリケーションプログラムを実行することで実現される。アプリケーション1aは、アプリケーションプログラムによって実行されるひとまとめのプロセスと見なすこともできる。情報処理装置2は、アプリケーション1aと通信する。情報処理装置3は、本実施の形態では、アプリケーション1aの移行先として利用される。アプリケーション1aが情報処理装置3に移行すると、情報処理装置3上のアプリケーション1aが情報処理装置2と通信するようになる。
管理装置10は、記憶部11と処理部12を有する。記憶部11は、例えば、管理装置10が備える記憶装置である。記憶部11には、情報処理装置1におけるアプリケーション1aの状態を管理するための管理情報11aと、アプリケーション1aの移行先を示す移行先情報11bが記憶される。処理部12は、例えば、管理装置10が備えるプロセッサである。処理部12は、情報処理装置1からの状態情報を受信し、受信した状態情報が示すアプリケーション1aの状態を管理情報11aに記録する。また、処理部12は、情報処理装置2から問合せを受信すると、管理情報11aに基づいてアプリケーション1aの状態を情報処理装置2に通知する。
以下、情報処理システムにおける処理例について説明する。
情報処理装置1は、アプリケーション1aから情報処理装置2へのデータ送信(ステップS1a)に応じて、アプリケーション1aが正常に通信可能であることを示す状態情報を管理装置10へ送信する(ステップS1b)。管理装置10の処理部12は、受信した状態情報が示すアプリケーション1aの状態(すなわち、通信可能な状態)を管理情報11aに記録する。
また、情報処理装置1は、情報処理装置1から情報処理装置3へのアプリケーション1aの移行処理の開始(ステップS2a)に応じて、アプリケーション1aが移行中であることを示す状態情報を管理装置10へ送信する(ステップS2b)。管理装置10の処理部12は、受信した状態情報が示すアプリケーション1aの状態(すなわち、移行中の状態)を管理情報11aに記録する。
情報処理装置3は、アプリケーション1aの移行が完了すると(ステップS3a)、アプリケーション1aが移行済みであることを示す状態情報と、アプリケーション1aの移行先を示す移行先情報11bとを管理装置10へ送信する(ステップS3b)。移行先情報11bは、情報処理装置3を示す情報であり、例えば情報処理装置3のネットワークアドレスを示す。管理装置10の処理部12は、受信した状態情報が示すアプリケーション1aの状態(すなわち、移行済みの状態)を管理情報11aに記録するとともに、受信した移行先情報11bを記憶部11に格納する。
一方、情報処理装置2は、情報処理装置1のアプリケーション1aとの通信に失敗すると(ステップS4a)、管理装置10に対し、アプリケーション1aの状態を問い合わせるための問合せを送信する(ステップS4b)。管理装置10の処理部12は、問合せを受信すると、管理情報11aに基づいて、アプリケーション1aの状態を情報処理装置2に通知する(ステップS4c)。また、処理部12は、管理情報11aに、アプリケーション1aが移行済みの状態であることが記録されている場合には、状態の通知とともに、移行先情報11bを情報処理装置2に送信する(ステップS4d)。
このように、情報処理装置2は、管理装置10に問合せを送信することにより、通信先のアプリケーション1aの状態を認識できる。例えば、情報処理装置2は、アプリケーション1aとの通信に失敗したとき、アプリケーション1aが通信可能、移行中、移行済みのいずれの場合でも、アプリケーション1aに異常が発生しておらず、アプリケーション1aとの通信を継続可能と判断できる。情報処理装置2は、この判断結果に基づき、その後にアプリケーション1aとの通信を再実行できる。
例えば、情報処理装置2は、問合せの送信に応じて、アプリケーション1aが移行中であることが管理装置10から通知された場合、一定時間後に、情報処理装置1を通信先としたアプリケーション1aとの通信を再実行する。このとき、アプリケーション1aが情報処理装置3に移行済みであれば、再度通信に失敗し、問合せが管理装置10に送信されて、管理装置10からは、アプリケーション1aが移行済みであることの通知と、移行先情報11bとが送信される。情報処理装置2は、これらの情報に基づいて、アプリケーション1aが情報処理装置3に移行済みであることを認識し、送信先に関する設定変更を行い、移行先の情報処理装置3を通信先としたアプリケーション1aとの通信を再実行することができる。このとき通信に成功するので、情報処理装置2はアプリケーション1aとの通信を継続できる。
このように、第1の実施の形態では、アプリケーション1aと通信できなくなった情報処理装置2に対して、通信継続方法を判断するための情報を通知できる。情報処理装置2は、このような通知を受けることで、送信情報を再送する、送信先に関する設定変更を行うなど、アプリケーション1aの状態に応じた適切な通信継続方法を判断することが可能となる。また、このような通知を可能にするための処理を簡易に実現できる。
すなわち、情報処理装置1は、データ送信や移行開始、移行完了というアプリケーション1aに関する既存の処理の実行を契機として、アプリケーション1aの状態を管理装置10に通知する。情報処理装置1が、このような処理とは独立した処理によってアプリケーション1aの状態を管理装置10に通知する(例えば、定期的に通知する)場合と比較して、状態通知のための処理を簡易化できる。
また、管理装置10は、ポーリングなどによる管理装置10からの要求によってアプリケーション1aの状態を検出するのではなく、情報処理装置1からの自律的な状態通知によってアプリケーション1aの状態を認識する。そして、管理装置10は、情報処理装置2からの問合せに応じて、アプリケーション1aの状態に関する情報を提供する。これにより、管理装置10による状態管理および情報提供の処理を簡易化できる。
したがって、第1の実施の形態では、アプリケーション1aと通信できなくなった情報処理装置2に対して、通信継続方法を判断するための情報を簡易な処理によって通知できる。
〔第2の実施の形態〕
図2は、第2の実施の形態に係る情報処理システムの構成例を示す図である。図2に示す情報処理システムは、サーバ100,200,300、状態管理サーバ400およびストレージ装置500を含む。また、これらの装置はネットワーク600を介して接続されている。
サーバ100,200,300は、各種のアプリケーションソフトウェア(アプリケーションプログラム)が実行される汎用のサーバコンピュータである。状態管理サーバ400は、サーバ100,200,300の状態を管理するためのサーバコンピュータである。なお、状態管理サーバ400も、サーバ100,200,300のような汎用サーバの1つを用いて実現されてもよい。
ストレージ装置500は、ストレージ510と制御装置520を備える。ストレージ510には、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの複数台の不揮発性記憶装置が搭載されている。制御装置520は、ストレージ510に対するアクセスを制御するストレージ制御装置である。
例えば、制御装置520は、ストレージ510内の記憶装置を用いて論理ボリュームを生成する。制御装置520は、サーバ100,200,300のうち、業務処理を行うサーバ(業務サーバ)から論理ボリュームに対するアクセスを受け付けることで、ストレージ510にアクセスする。また、制御装置520は、ストレージ510内の記憶装置を用いて、論理ボリュームのデータを他の論理ボリュームにバックアップするバックアップ処理を実行することができる。
さらに、論理ボリュームが仮想ボリュームである場合、制御装置520は、仮想ボリュームに対して物理領域を動的に割り当てることができる。また、アクセス性能が異なる複数種類の記憶装置がストレージ510に搭載されている場合、制御装置520は、仮想ボリュームに対する業務サーバからのアクセス頻度に応じて、仮想ボリュームに割り当てる物理領域をアクセス性能が異なる記憶装置の間で動的に変更することができる。このような割り当て変更処理は、ストレージの階層制御と呼ばれる。
ここで、初期状態では、サーバ100は、ストレージ装置500の制御に関するマネージャ110を備え、サーバ200は、ストレージ装置500の制御に関するエージェント210を備えるものとする。マネージャ110およびエージェント210は、いずれもアプリケーションソフトウェアによって実現されるアプリケーションの一例である。例えば、マネージャ110は、サーバ200の業務処理によって利用可能な論理ボリュームに関する管理情報を保持する。マネージャ110は、この管理情報に基づいて処理対象の論理ボリュームを指定して、論理ボリュームについてのバックアップ処理の実行や、階層制御において論理ボリュームに割り当てられている記憶領域の変更を、エージェント210に指示することができる。エージェント210は、マネージャ110からの指示に応じて、バックアップ処理や階層制御における記憶領域の変更を、ストレージ装置500の制御装置520に指示する。これにより、エージェント210は、マネージャ110からのストレージ制御に関する実行指示を仲介する。
また、サーバ100,200,300の間では、アプリケーションが移行する場合がある。例えば、あるサーバにおける処理負荷やリソースの使用状況において、そのサーバで動作しているアプリケーションを別のサーバに移行させ、そのサーバで動作させる。これ以後、例として、サーバ100のマネージャ110をサーバ300に移行させる場合について説明する。図2に示すマネージャ310は、サーバ300に移行してマネージャ110の処理を引き継ぐことが可能になった、移行後のマネージャを示す。
図3は、サーバのハードウェア構成例を示す図である。図3では、サーバ100,200,300のうちサーバ100について例示する。
サーバ100は、例えば、図3に示すようなコンピュータとして実現される。図3に示すサーバ100は、プロセッサ101、RAM(Random Access Memory)102、HDD103、グラフィックインタフェース(I/F)104、入力インタフェース(I/F)105、読み取り装置106および通信インタフェース(I/F)107を備える。
プロセッサ101は、サーバ100全体を統括的に制御する。プロセッサ101は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)またはPLD(Programmable Logic Device)である。また、プロセッサ101は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
RAM102は、サーバ100の主記憶装置として使用される。RAM102には、プロセッサ101に実行させるOS(Operating System)プログラムやアプリケーションソフトウェアの少なくとも一部が一時的に格納される。また、RAM102には、プロセッサ101による処理に必要な各種データが格納される。
HDD103は、サーバ100の補助記憶装置として使用される。HDD103には、OSプログラム、アプリケーションソフトウェア、および各種データが格納される。なお、補助記憶装置としては、SSDなどの他の種類の不揮発性記憶装置を使用することもできる。
グラフィックインタフェース104には、表示装置104aが接続されている。グラフィックインタフェース104は、プロセッサ101からの命令にしたがって、画像を表示装置104aに表示させる。表示装置104aとしては、液晶ディスプレイや有機EL(Electroluminescence)ディスプレイなどがある。
入力インタフェース105には、入力装置105aが接続されている。入力インタフェース105は、入力装置105aから出力される信号をプロセッサ101に送信する。入力装置105aとしては、キーボードやポインティングデバイスなどがある。ポインティングデバイスとしては、マウス、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
読み取り装置106には、可搬型記録媒体106aが脱着される。読み取り装置106は、可搬型記録媒体106aに記録されたデータを読み取ってプロセッサ101に送信する。可搬型記録媒体106aとしては、光ディスク、光磁気ディスク、半導体メモリなどがある。
通信インタフェース107は、ネットワーク600を介してサーバ200などの他の装置との間でデータの送受信を行う。
以上のようなハードウェア構成によって、サーバ100の処理機能を実現することができる。なお、サーバ200,300、状態管理サーバ400および制御装置520も、図3のようなハードウェア構成のコンピュータとして実現可能である。
図4は、サーバ間でのアプリケーションの移行について説明するための図である。図4に示すように、サーバ100ではマネージャ110が動作し、サーバ200ではエージェント210が動作する。前述のように、エージェント210は、マネージャ110からの指示に応じて動作するので、マネージャ110とエージェント210との間では通信が行われる。
また、サーバ100は、マネージャ110の処理に必要な各種のデータが設定されている定義情報111を保持する。マネージャ110は、定義情報111を参照しながら処理を実行する。同様に、サーバ200は、エージェント210の処理に必要な各種のデータが設定されている定義情報211を保持する。エージェント210は、定義情報211を参照しながら処理を実行する。
定義情報111,211は、例えば、通信先のアプリケーションが動作するサーバのIP(Internet Protocol)アドレスを含む。ここでは例として、サーバ100のIPアドレスは「10.100.100.10」であり、サーバ200のIPアドレスは「10.100.100.20」であるとする。この場合、例えば、エージェント210の定義情報211には、通信先のサーバ100のIPアドレス(図4では「マネージャIP」と表記)として「10.100.100.10」が設定されている。
マネージャ110をサーバ100からサーバ300に移行する場合には、マネージャ110に対応するアプリケーションソフトウェアや定義情報111を、移行先のサーバ300に設定する処理が必要になる。このような移行処理は、例えば、マネージャ110に対応する移行ツールを用いて自動的に実行される場合もある。
しかしながら、このような移行処理を実行するだけでは、エージェント210は移行先のマネージャ310と通信することができない。なぜなら、エージェント210の定義情報211には通信先サーバのIPアドレスとしてサーバ100のIPアドレスが設定されたままであり、エージェント210はこの定義情報211に基づいてサーバ100としか通信できないからである。
エージェント210が移行先のマネージャ310と通信できるようにするには、例えば、移行先のサーバ300のIPアドレスを移行元のサーバ100と同一の値に設定し直さなければならない。図4の例では、サーバ300のIPアドレスは「10.100.100.30」であり、これをサーバ100と同じ「10.100.100.10」に設定し直さなければならない。
例えば、サーバ100の全体の機能をサーバ300に移行するのであれば、サーバ200の通信先のIPアドレスをサーバ100からサーバ300に設定し直せばよい。しかし、本実施の形態では、サーバ単位でなく、アプリケーション単位でサーバ間の移行が行われる。例えば、サーバ100のリソースが不足してきたため、サーバ100のあるアプリケーションがリソースに余裕のあるサーバ300に移行し、別のアプリケーションはリソースに余裕のある、サーバ300とは別のサーバに移行することもあり得る。このため、通信先IPアドレスの設定し直しは、サーバとアプリケーションとの組み合わせごとに行う必要があり、作業に大きな手間がかかる。
また、エージェント210は、マネージャ110の移行処理の実行中にはマネージャ110と通信できない状態となる。エージェント210は、マネージャ110の状態を把握していないので、マネージャ110と通信しようとしてそれができなかった場合、なぜ通信できないのかを判断できず、原因が特定できないエラーが発生したとしか判断できない。例えば、エージェント210はこのとき、サーバ200に接続された管理端末に対して、エラーの発生を通知できるのみであり、そのエラーの具体的な内容を通知できない。
以上の説明では、マネージャ110の移行について述べたが、エージェント210を他のサーバに移行させる場合でも同様の問題が生じる。
図5は、状態管理サーバを用いたサーバ状態管理の概要を示す図である。本実施の形態では、状態管理サーバ400を用いて、サーバ100,200,300の状態を管理し、サーバ100,200,300が状態管理サーバ400からの情報提供によって通信先のサーバの状態を認識できるようにする。
状態管理サーバ400は、サーバ100,200,300において動作するアプリケーションの状態を示す情報が登録された状態管理情報430を保持する。また、サーバ100,200,300には、状態管理サーバ400との通信を可能にする状態通知部が設けられる。例えば図5に示すように、サーバ100には、マネージャ110に対応する状態通知部120が設けられ、サーバ200には、エージェント210に対応する状態通知部220が設けられる。
サーバ100,200,300のアプリケーションの状態は、サーバ100,200,300のそれぞれからの自律的なデータ送信によって状態管理サーバ400に通知される。例えば、状態通知部120は、サーバ100のマネージャ110の状態を自律的に状態管理サーバ400に通知する。また、状態通知部120は、サーバ200のエージェント210の状態を状態管理サーバ400に問い合わせ、その状態に関する情報の提供を状態管理サーバ400から受けることができる。同様に、状態通知部220は、サーバ200のエージェント210の状態を自律的に状態管理サーバ400に通知する。また、状態通知部220は、サーバ100のマネージャ110の状態を状態管理サーバ400に問い合わせ、その状態に関する情報の提供を状態管理サーバ400から受けることができる。
例えばマネージャ110の状態に関しては、状態管理情報430には少なくとも、マネージャ110がエージェント210と通信可能であるか、マネージャ110が他のサーバへの移行中であるか、マネージャ110が他のサーバへ移行済みであるかのいずれかの状態が保持される。また、マネージャ110が移行済みである場合、状態管理情報430にはその移行先のサーバの情報も保持される。
状態通知部220は、エージェント210がマネージャ110と通信できない場合に、マネージャ110の状態を状態管理サーバ400に問い合わせる。マネージャ110が移行中または移行済みである場合、状態通知部220は状態管理サーバ400からの応答情報によってそのようなマネージャ110の状態を認識し、エージェント210に伝達できる。
また、マネージャ110が移行済みの場合、状態通知部220は状態管理サーバ400から移行先のサーバのIPアドレスを受信する。第2の実施の形態では、状態通知部220は、受信したIPアドレスを保持し、それ以後、エージェント210からサーバ100のマネージャ110宛ての送信情報を検知すると、その送信先のIPアドレスを移行先サーバのIPアドレスに振り替えて送信情報を送信する。これにより、移行先サーバのIPアドレスを手動で変更する手間を省略できる。
例えば、サーバ200のエージェント210と通信するサーバ100のマネージャ110が、サーバ300に移行するとする。これとともに、サーバ200で動作する別のアプリケーション(第1アプリケーションとする)と通信する、サーバ100で動作する別のアプリケーションが、さらに別のサーバに移行するとする。本実施の形態によれば、これらの移行処理が完了した後、マネージャ110の通信先と第1アプリケーションの通信先の両方が自動的に移行先に振り替えられる。このため、エージェント210の定義情報211と第1アプリケーションの定義情報の両方について通信先IPアドレスを設定し直す必要がなくなり、移行作業の効率を向上させることができる。
図6は、サーバおよび状態管理サーバが備える処理機能の構成例を示すブロック図である。
サーバ100は、前述したマネージャ110および状態通知部120と、記憶部130を備える。マネージャ110および状態通知部120の処理は、プロセッサ101が所定のプログラムを実行することで実現される。記憶部130は、RAM102、HDD103など、サーバ100が備える記憶装置の記憶領域として実現される。記憶部130には、マネージャ110に関する定義情報111が記憶される。
サーバ200は、前述したエージェント210および状態通知部220と、記憶部230を備える。エージェント210および状態通知部220の処理は、サーバ200が備えるプロセッサが所定のプログラムを実行することで実現される。記憶部230は、サーバ200が備える記憶装置の記憶領域として実現される。記憶部230には、エージェント210に関する定義情報211が記憶される。
サーバ300は、前述したマネージャ310と、状態通知部320および記憶部330を備える。マネージャ310および状態通知部320の処理は、サーバ300が備えるプロセッサが所定のプログラムを実行することで実現される。記憶部330は、サーバ300が備える記憶装置の記憶領域として実現される。記憶部330には、マネージャ310に関する定義情報311が記憶される。なお、マネージャ310、状態通知部320および定義情報311は、サーバ100からサーバ300へのマネージャ110の移行が完了したときに実装される。
状態通知部120はマネージャ110を送信元としたエージェント210との通信に関して、状態通知部220はエージェント210を送信元としたマネージャ110との通信に関して、状態通知部320はマネージャ310を送信元としたエージェント210との通信に関して、それぞれ同様の処理を実行する。
状態通知部120,220,320は、送信元アプリケーションから送信先アプリケーションへ送信される情報を捕捉する。状態通知部120,220,320は、捕捉した送信情報を送信先アプリケーションに送信するとともに、送信元アプリケーションが通信可能であることを状態管理サーバ400に通知する。
また、状態通知部120,220,320は、送信先アプリケーションに対する情報送信が不可能の場合、送信先アプリケーションの状態を状態管理サーバ400に問い合わせ、返信された状態を送信元アプリケーションに伝達する。さらに、状態通知部120,220,320は、送信先アプリケーションが移行済みの場合、その移行先サーバのIPアドレスを状態管理サーバ400から受信し、アドレス変換情報に記録する。アドレス変換情報には、移行元サーバのIPアドレスと移行先サーバのIPアドレス(振替先IPアドレス)とが対応付けて記録される。状態通知部120,220,320はそれ以後、送信元アプリケーションから送信先アプリケーションへの送信情報が出力されると、アドレス変換情報に基づき、その送信先のIPアドレスを移行先サーバのIPアドレスに振り替えて送信情報を送信する。図6では、状態通知部220に対応するアドレス変換情報221を例示している。アドレス変換情報221は、記憶部230に記憶され、移行元サーバ(例えばサーバ100)のIPアドレスと、移行先サーバ(例えばサーバ300)のIPアドレスとを対応付けて保持する。
また、状態通知部120,220,320は、送信元アプリケーションを他のサーバに移行させる移行処理が開始されると、送信元アプリケーションが移行中であることを状態管理サーバ400に通知する。さらに、状態通知部120,220,320は、対応するアプリケーションが移行先のものであり、その移行処理が完了したとき、移行済みであることと、その移行先サーバ(自分自身が実装されているサーバ)のIPアドレスとを状態管理サーバ400に送信する。
状態管理サーバ400は、状態管理処理部410と記憶部420を備える。状態管理処理部410の処理は、状態管理サーバ400が備えるプロセッサが所定のプログラムを実行することで実現される。記憶部420は、状態管理サーバ400が備える記憶装置の記憶領域として実現される。記憶部420には、状態管理情報430が記憶される。
状態管理処理部410は、状態通知部120,220,320からの通知に応じて、対応する送信元アプリケーションの状態を示す情報を状態管理情報430に登録する。また、状態管理処理部410は、状態通知部120,220,320からの問合せに応じて、状態管理情報430を参照し、指定された送信先アプリケーションの状態を示す情報を返信する。状態管理情報430には、送信元のサーバおよびアプリケーションのそれぞれについて、送信元アプリケーションの状態や、振替先サーバのIPアドレスなどが登録される。
図7は、状態管理情報の構成例を示す図である。状態管理情報430は、サーバテーブル431、ソフトウェアテーブル432および通信テーブル433を含む。
サーバテーブル431は、サーバごとに生成される管理テーブルであり、サーバを識別するサーバIDと、サーバのIPアドレスとが登録される。
ソフトウェアテーブル432は、各サーバにおいて実行されるアプリケーションソフトウェア(以下、「ソフトウェア」と略称する)ごとに生成される管理テーブルである。すなわち、ソフトウェアテーブル432は、各サーバで動作するアプリケーションごとに存在する。ソフトウェアテーブル432には、ソフトウェアが実行されるサーバのサーバIDと、ソフトウェアを識別するソフトウェアIDと、ソフトウェアの状態とが登録される。
状態の項目には、例えば、「通信可」「サービス停止」「ソフトウェア異常」「移行中」「移行済み」のいずれかが登録される。「通信可」は、ソフトウェアが通信可能な状態を示す。「サービス停止」は、ソフトウェアによるサービスが停止していることを示す。「ソフトウェア異常」は、ソフトウェアの異常が発生していることを示す。「移行中」は、他のサーバへの移行処理中であることを示す。「移行済み」は、他のサーバへの移行処理が完了していることを示す。
通信テーブル433は、通信元のソフトウェアと通信先のソフトウェアとの組み合わせごとに生成される管理テーブルである。すなわち、通信テーブル433は、通信元アプリケーションと通信先アプリケーションとの組み合わせごとに存在する。通信テーブル433は、通信元サーバID、通信元ソフトウェアID、通信先サーバID、通信先ソフトウェアIDおよび振替先サーバIDの各項目を含む。通信元サーバIDは、通信元のソフトウェアが実行されているサーバのサーバIDを示す。通信元ソフトウェアIDは、通信元のソフトウェアのソフトウェアIDを示す。通信先サーバIDは、通信先のソフトウェアが実行されているサーバのサーバIDを示す。通信先ソフトウェアIDは、通信先のソフトウェアのソフトウェアIDを示す。振替先サーバIDは、通信先のソフトウェアが他のサーバに移行済みの場合に、移行先サーバのサーバIDを示す。通信テーブル433が登録された初期状態では、振替先サーバIDの項目には「Null」が登録される。
例えば、図6に示すようにマネージャ110とエージェント210との通信が開始される状態では、次のような2つの通信テーブル433が登録される。第1の通信テーブル433には、通信元サーバIDとしてサーバ100のサーバIDが登録され、通信元ソフトウェアIDとしてマネージャ110のソフトウェアIDが登録され、通信先サーバIDとしてサーバ200のサーバIDが登録され、通信先ソフトウェアIDとしてエージェント210のソフトウェアIDが登録されている。第2の通信テーブル433には、通信元サーバIDとしてサーバ200のサーバIDが登録され、通信元ソフトウェアIDとしてエージェント210のソフトウェアIDが登録され、通信先サーバIDとしてサーバ100のサーバIDが登録され、通信先ソフトウェアIDとしてマネージャ110のソフトウェアIDが登録されている。例えばマネージャ110がサーバ300に移行すると、第2の通信テーブル433の振替先サーバIDとして移行先のサーバ300のサーバIDが登録される。
次に、図8〜図11を用いて、サーバ100のマネージャ110がサーバ300に移行する場合の移行処理例について説明する。なお、図8〜図11では、サーバ100,300のサーバIDをそれぞれ「サーバ#1」「サーバ#3」とする。また、マネージャ110,310のソフトウェアIDを「MNG」とする。
図8は、マネージャの移行処理例を示す第1の図である。図8では、図に示すように、サーバ100のマネージャ110とサーバ200のエージェント210との間で通信が行われている。なお、エージェント210の定義情報211には、通信先サーバのIPアドレス(マネージャIP)としてサーバ100のIPアドレス「10.100.100.10」が設定されている。
サーバ100の状態通知部120は、マネージャ110がエージェント210に対して情報を送信する際に、その送信情報を捕捉する。状態通知部120は、捕捉した送信情報をサーバ200に対して送信する(ステップS11)。すなわち、状態通知部120は、送信先への送信情報の送信を代行する。これとともに、マネージャ110が通信可能な状態であることを示す状態通知情報を状態管理サーバ400に送信する(ステップS12)。状態管理サーバ400の状態管理処理部410は、マネージャ110の状態が「通信可」であることを状態管理情報430に登録する。具体的には、状態管理情報430に含まれる、マネージャ110に対応するソフトウェアテーブル432の「状態」の項目に、「通信可」と登録される。
なお、サーバ200の状態通知部220も、エージェント210がマネージャ110に対して情報を送信する際に、その送信情報を捕捉する。状態通知部220は、捕捉した送信情報をサーバ100に対して送信するとともに、エージェント210が通信可能な状態であることを示す状態通知情報を状態管理サーバ400に送信する。
図9は、マネージャの移行処理例を示す第2の図である。図9は、サーバ100からサーバ300へのマネージャ110の移行処理が開始された状態を示す。
サーバ100の状態通知部120は、サーバ300へのマネージャ110の移行処理が開始されたことがマネージャ110から通知されると、マネージャ110が移行中であることを示す状態通知情報を状態管理サーバ400に送信する(ステップS21)。状態管理サーバ400の状態管理処理部410は、マネージャ110の状態が「移行中」であることを状態管理情報430に登録する。具体的には、状態管理情報430に含まれる、マネージャ110に対応するソフトウェアテーブル432の「状態」の項目が、「移行中」に更新される。
一方、サーバ200の状態通知部220は、エージェント210がマネージャ110に対して情報を送信する際に、その送信情報を捕捉し、捕捉した送信情報をサーバ100に対して送信する。しかし、マネージャ110が移行中の場合にはマネージャ110と通信できないので、通信エラーが発生する(ステップS22)。状態通知部220は、通信エラーが発生すると、マネージャ110の状態を状態管理サーバ400に問い合わせる(ステップS23)。
状態管理サーバ400の状態管理処理部410は、状態管理情報430に基づいて、マネージャ110の状態が「移行中」であることをサーバ200に通知する(ステップS24)。サーバ200の状態通知部220は、その通知に応じて、マネージャ110が他のサーバに移行中であり、通信できないことをエージェント210に通知する。これによりエージェント210は、マネージャ110が他のサーバに移行中であることを認識する。例えば、エージェント210は、マネージャ110が他のサーバに移行中のため通信できないことを示すメッセージ241を、管理端末に表示させることができる(ステップS25)。
なお、エージェント210はその後、例えば一定時間間隔で、マネージャ110に対する送信情報の再送を試みる。エージェント210は、状態通知部220からの通知によってマネージャ110が移行中であることを認識することによって、マネージャ110の異常ではないので通信を継続できる(停止する必要はない)と判断する。エージェント210はこの判断結果に基づいて、送信情報の再送を試みるように制御することができる。状態通知部220は、再送のためにマネージャ110から出力される送信情報を捕捉するたびに図9に示す処理を実行する。
図10は、マネージャの移行処理例を示す第3の図である。図10は、サーバ100からサーバ300へのマネージャ110の移行処理が完了した状態を示す。このとき、サーバ300ではマネージャ310と状態通知部320が起動する。
サーバ300の状態通知部320は、マネージャ110の移行処理が完了してマネージャ310が実装されると、マネージャ110が移行済みであることを示す状態通知情報と、移行先のサーバ300のIPアドレスとを状態管理サーバ400に送信する(ステップS31)。状態管理サーバ400の状態管理処理部410は、マネージャ110の状態が「移行済み」であることを状態管理情報430に登録する。具体的には、状態管理情報430に含まれる、マネージャ110に対応するソフトウェアテーブル432の「状態」の項目が、「移行済み」に更新される。
これとともに、状態管理処理部410は、移行先のサーバ300におけるマネージャ310のソフトウェアテーブル432を状態管理情報430に登録し、このソフトウェアテーブル432の状態の項目に「通信可」を登録する。さらに、状態管理処理部410は、サーバ100から通知されたIPアドレスに基づき、エージェント210の通信先に対応する振替先サーバとして、サーバ300の情報を状態管理情報430に登録する。具体的には、通信元サーバIDおよび通信元ソフトウェアIDとしてそれぞれサーバ200およびエージェント210のIDが登録され、通信先サーバIDおよび通信先ソフトウェアIDとしてそれぞれサーバ100およびマネージャ110のIDが登録された通信テーブル433における振替先サーバIDの項目に、サーバ300のサーバIDが登録される。
一方、サーバ200において、エージェント210は、マネージャ110に対する送信情報の再送を試みる。状態通知部220は、送信情報を捕捉して、その送信情報をマネージャ110宛てに送信するが、図9の場合と同様に通信エラーになり(ステップS32)、状態管理サーバ400に対してマネージャ110の状態を問い合わせる(ステップS33)。
状態管理サーバの状態管理処理部410は、状態管理情報430に基づいて、マネージャ110の状態が「移行済み」であることと、移行先のサーバ300のIPアドレスとをサーバ200に通知する(ステップS34)。サーバ200の状態通知部220は、その通知に基づき、エージェント210に対応するアドレス変換情報221を生成する(ステップS35)。このアドレス変換情報221には、元の送信先であるサーバ100のIPアドレスと、振替先サーバのIPアドレスとして通知されたサーバ300のIPアドレスとが対応付けて登録される。
そして、状態通知部220は、アドレス変換情報221に基づき、捕捉した送信情報の送信先IPアドレスを振替先サーバのIPアドレスに振り替えて、その送信情報を再送する。これにより、送信情報は移行先のサーバ300に送信され、移行後のマネージャ310によって受信される(ステップS36)。
図11は、マネージャの移行処理例を示す第4の図である。図11は、図10のようにエージェント210からの送信情報が移行先のサーバ300に送信された後、エージェント210からさらにサーバ100のマネージャ110宛ての送信情報が出力された場合について示す。
状態通知部220は、サーバ100のIPアドレスとマネージャ110のソフトウェアIDとを送信先として指定した送信情報をエージェント210から捕捉すると、アドレス変換情報221に基づき、送信先のIPアドレスを振替先のIPアドレスに振り替える(ステップS41)。状態通知部220は、IPアドレスが振り替えられた送信情報を送信する。これにより、送信情報は移行先のサーバ300に送信され、マネージャ310に受信される(ステップS42)。このように、状態通知部220は、エージェント210からマネージャ110宛ての送信情報をすべてマネージャ310宛てに送信する。
また、状態通知部220は、マネージャ310からエージェント210宛ての送信情報をサーバ300から受信すると、アドレス変換情報221に基づき、送信元IPアドレスを移行元のサーバ100のIPアドレスに変換する。状態通知部220は、送信元IPアドレスが変換された送信情報をエージェント210に出力する。
このようにして、エージェント210と、移行後のマネージャ310との通信が可能になる。状態通知部220の処理により、エージェント210は、通信先のマネージャ110が移行したことを意識することなく通信を継続できる。
以上の図8〜図11の処理によれば、状態管理サーバ400において、サーバとアプリケーションとの組み合わせごとに状態が管理される。さらに、アプリケーションがサーバ間を移行した場合には、移行先のサーバの情報も状態管理サーバ400で管理される。そして、一方のサーバ200のアプリケーションは、他方のサーバ100のアプリケーションの移行によってそのアプリケーションと通信できなくなったとき、移行により通信できないことを状態通知部220による状態管理サーバ400への問合せによって認識できるようになる。
また、状態通知部220は、通信先のアプリケーションが他のサーバに移行すると、移行先のサーバの情報を状態管理サーバ400から取得して、アドレス変換情報221を生成する。それ以後、状態通知部220は、アドレス変換情報221を用いて、通信先を移行先サーバ上の移行先アプリケーションに自動的に切り替えて通信を継続する。これにより、通信先アプリケーションがサーバ間で移行した場合でも、通信先のIPアドレスを手動で設定し直すことなく、通信を継続できる。その結果、運用管理者の作業効率を高めることができる。
また、アプリケーションに対応する状態通知部が導入され、状態通知部がそのアプリケーションと他方のアプリケーションとの間の通信を代行するとともに、状態管理サーバ400から他方のアプリケーションの状態を取得できる構成となっている。この構成により、アプリケーションに対応する既存のソフトウェアを改変することなく、上記の効果を得ることができる。
また、アプリケーション同士が正常に通信している状態では、一方のアプリケーションから他方に対して情報が送信される際に、一方のアプリケーションの状態が状態管理サーバ400に通知される。このため、アプリケーション間の通信とは独立した処理により、アプリケーションの状態を例えば定期的に状態管理サーバ400に通知する場合と比較して、アプリケーションが動作するサーバの処理負荷を低減でき、その処理を単純化できる。さらに、サーバ間およびサーバと状態管理サーバとを接続するネットワーク600における通信負荷を軽減する効果も期待できる。
また、状態管理サーバ400は、ポーリングなどによる自装置からの要求によってアプリケーションの状態を検出するのではなく、各サーバの状態通知部からの自律的な状態通知情報の送信によってアプリケーションの状態を認識する。そして、各サーバの状態通知部からの問合せに応じてアプリケーションの状態に関する情報を提供する。このような構成により、状態管理サーバ400の処理を簡易化し、その処理負荷を軽減できる。また、このような状態管理サーバ400の導入と、各サーバへの状態通知部の導入によって、各サーバのアプリケーションごとの状態管理やそのサーバ間の移行に伴うアドレス変更を効率的に実現できる。
このように、他のサーバのアプリケーションと通信できなくなったサーバやこのサーバ上のアプリケーションに対して、通信の継続可否や継続方法を判断するための情報を、簡易な仕組みによる簡易な処理によって通知できるようになる。
次に、サーバ100,200,300の処理についてフローチャートを用いて説明する。以下の説明では、図8のように、初期状態ではサーバ100のマネージャ110とサーバ200のエージェント210とが通信しており、マネージャ110が他のサーバに移行する場合について説明する。なお、マネージャ110は他のサーバに移行した後、サーバ100に戻る場合もある。
まず、図12、図13を用いて、マネージャに対応する状態通知部(例えば状態通知部120,320)の処理について説明する。
図12は、マネージャの通常通信時の処理例を示すフローチャートである。
[ステップS101]マネージャからエージェント210宛ての送信情報が出力されると、状態通知部は、この送信情報を取得する。送信情報には、送信先のサーバ200のIPアドレスと送信先のエージェント210のソフトウェアIDとが指定されている。
[ステップS102]状態通知部は、指定されているIPアドレスを送信先として送信情報を送信する。これにより、送信情報がサーバ200に送信される。
[ステップS103]状態通知部は、通信元サーバのIPアドレスとして状態通知部が動作するサーバのIPアドレスを指定し、通信元ソフトウェアIDとしてマネージャのソフトウェアIDを指定して、「正常」を示す状態通知情報を状態管理サーバ400に送信する。
図13は、マネージャの移行通知時の処理例を示すフローチャートである。
[ステップS111]マネージャから状態通知部に対して、サーバ間でのマネージャの移行処理の開始または完了が通知される。状態通知部は、通知内容が移行開始の場合、ステップS112の処理を実行し、通知内容が移行完了の場合、ステップS113の処理を実行する。
[ステップS112]このケースは、移行元サーバのマネージャ(移行前のマネージャ)から移行開始が通知されたケースである。状態通知部は、移行元サーバのIPアドレスとして状態通知部が動作するサーバのIDを指定し、移行対象のソフトウェアIDとしてマネージャのソフトウェアIDを指定して、移行開始を通知する状態通知情報を状態管理サーバ400に送信する。
[ステップS113]このケースは、移行先サーバのマネージャ(移行後のマネージャ)から移行完了が通知された通知されたケースである。状態通知部は、移行元サーバのIPアドレスをマネージャから受信する。状態通知部は、移行元サーバのIPアドレスとしてマネージャから受信したIPアドレスを指定し、移行先サーバのIPアドレスとして状態通知部が動作するサーバのIPアドレスを指定し、移行対象のソフトウェアIDとしてマネージャのソフトウェアIDを指定して、移行完了を通知する状態通知情報を状態管理サーバ400に送信する。これにより、完了した移行処理におけるマネージャとエージェントとの組み合わせが指定されるとともに、移行先サーバのIPアドレスが通知される。
なお、図示しないが、状態通知部は、マネージャのサービスが停止した場合には、「サービス停止」を示す状態通知情報を状態管理サーバ400に送信する。また、状態通知部は、マネージャの動作が異常停止した場合には、「ソフトウェア異常」を示す状態通知情報を状態管理サーバ400に送信する。いずれの場合でも、状態通知情報には、通信元サーバのIPアドレスとして状態通知部が動作するサーバのIPアドレスが指定され、通信元ソフトウェアIDとしてマネージャのソフトウェアIDが指定される。
次に、エージェント210に対応する状態通知部220の処理について説明する。
図14、図15は、エージェントの通常通信時の処理例を示すフローチャートである。
[ステップS121]エージェント210からマネージャ110宛ての送信情報が出力されると、状態通知部220は、この送信情報を取得する。送信情報には、送信先のサーバ100のIPアドレスと送信先のマネージャ110のソフトウェアIDとが指定されている。
[ステップS122]状態通知部220は、エージェント210からマネージャ110への通信に対応する振替先IPアドレスが存在するかを判定する。実際には、エージェント210に対応するアドレス変換情報221が記憶部230に登録されている場合、振替先IPアドレスが存在すると判定される。状態通知部220は、振替先IPアドレスが存在しない場合、ステップS123の処理を実行し、振替先IPアドレスが存在する場合、ステップS124の処理を実行する。
[ステップS123]状態通知部220は、送信情報に指定されているIPアドレスを送信先として送信情報を送信する。これにより、送信情報がサーバ100に送信される。
[ステップS124]状態通知部220は、エージェント210に対応するアドレス変換情報221から振替先IPアドレスを読み出し、この振替先IPアドレスを送信先として送信情報を送信する。これにより、送信情報が移行先のサーバ(サーバ100以外のサーバ)に送信される。
[ステップS125]状態通知部220は、送信情報の送信に成功した場合、ステップS126の処理を実行し、送信情報の送信に失敗した場合(通信エラーが発生した場合)、図15のステップS131の処理を実行する。
[ステップS126]状態通知部220は、エージェント210に対して送信が正常に完了したことを通知する。
以下、図15を用いて説明を続ける。
[ステップS131]状態通知部220は、状態管理サーバ400に対し、送信情報の送信先サーバ(通信先サーバ)のIPアドレスとマネージャ110のソフトウェアIDとを指定して、通信先のマネージャの状態を問い合わせる。ここで言う「通信先のマネージャ」とは、ステップS123またはステップS124での実際の送信情報の送信先のマネージャを含む。マネージャが移行している場合、マネージャ110でなく、移行先のサーバ上のマネージャを示す。
[ステップS132]状態通知部220は、状態管理サーバ400からの応答情報を受信する。
[ステップS133]状態通知部220は、応答情報に基づいて、通信先のマネージャの状態を判定する。状態通知部220は、通信先のマネージャが「移行中」の場合、ステップS134の処理を実行し、通信先のマネージャが「移行済み」の場合、ステップS135の処理を実行する。
[ステップS134]状態通知部220は、通信先のマネージャが「移行中」であることによる通信エラーが発生したことを、エージェント210に通知する。これにより、エージェント210は、例えば、通信先のマネージャがサーバ間の移行処理の実行中であるため通信できないことを示すメッセージを、管理端末に表示させることができる。
[ステップS135]通信先のマネージャが「移行済み」の場合、状態管理サーバ400から受信した応答情報には移行処理における移行先サーバのIPアドレスが含まれている。状態通知部220は、エージェント210に対応するアドレス変換情報221に、振替先IPアドレスとして応答情報に含まれる移行先サーバのIPアドレスが登録されているかを判定する。エージェント210に対応するアドレス変換情報221とは、通信元ソフトウェアIDとしてエージェント210のソフトウェアIDが登録され、通信元サーバのIPアドレスとしてサーバ200のIPアドレスが登録されたアドレス変換情報221である。状態通知部220は、該当IPアドレスが登録されていない場合、ステップS136の処理を実行し、該当IPアドレスが登録されている場合、ステップS138の処理を実行する。
[ステップS136]状態通知部220は、エージェント210に対応するアドレス変換情報221が記憶部230に記憶されていない場合、これを生成して記憶部230に登録する。状態通知部220は、生成したアドレス変換情報221に、振替先IPアドレスとして応答情報に含まれる移行先サーバのIPアドレスを登録する。また、エージェント210に対応するアドレス変換情報221がすでに記憶部230に記憶されている場合、状態通知部220は、このアドレス変換情報221における振替先IPアドレスを、応答情報に含まれる移行先サーバのIPアドレスに更新する。
[ステップS137]状態通知部220は、アドレス変換情報221に登録した振替先IPアドレスを送信先として、図14のステップS121で取得した送信情報を再送する。これにより、送信情報が移行先のサーバ(サーバ100以外のサーバ)に送信される。
[ステップS138]ステップS135で「Yes」と判定されるケースとは、マネージャの移行先がサーバ100に戻ったケースである。この場合、状態通知部220は、振替先IPアドレスを削除する。具体的には、状態通知部220は、エージェント210に対応するアドレス変換情報221を記憶部230から削除する。
[ステップS139]状態通知部220は、図14のステップS121で取得した送信情報に指定されているIPアドレスを送信先として送信情報を送信する。これにより、送信情報がサーバ100に送信される。
なお、図示しないが、ステップS133において、応答情報に基づく通信先のマネージャの状態が「サービス停止」であった場合、ステップS134では、通信先のマネージャが「サービス停止」の状態であるために通信エラーが発生したことがエージェント210に通知される。また、ステップS133において、応答情報に基づく通信先のマネージャの状態が「ソフトウェア異常」であった場合、ステップS134では、通信先のマネージャが「ソフトウェア異常」の状態であるために通信エラーが発生したことがエージェント210に通知される。このような処理により、エージェント210は、例えば、通信先のマネージャが、サービスを停止している、またはソフトウェアの異常が発生しているために通信できないことを示すメッセージを、管理端末に表示させることができる。
さらに、ステップS133において、応答情報に基づく通信先のマネージャの状態が「通信可」であった場合、ステップS134では、通信先のマネージャが「通信可」であることがエージェント210に通知される。この場合、状態通知部220は、通信エラーの原因が通信先のマネージャにはないことをエージェント210に通知してもよい。いずれの場合でも、エージェント210は、例えば、原因不明の通信エラーが発生したこと、あるいは、通信先のマネージャの異常以外の原因による通信エラーが発生したことを示すメッセージを、管理端末に表示させることができる。また、エージェント210は、通信先のマネージャが「通信可」の状態であることから、送信情報の再送を試みることもできる。
図16は、エージェントによる情報送信の処理例を示すフローチャートである。
[ステップS141]エージェント210は、マネージャ110宛ての送信情報を出力する。このとき、エージェント210は、定義情報211に基づき、送信情報に対して、送信先のサーバ100のIPアドレスと送信先のマネージャ110のソフトウェアIDとを指定する。
[ステップS142]エージェント210は、状態通知部220からの通知に基づき、送信に成功した場合には処理を終了し、送信に失敗した場合にはステップS143の処理を実行する。
[ステップS143]エージェント210は、状態通知部220から通知されたマネージャ110の状態に応じたエラーメッセージを、管理端末に表示させる。
[ステップS144]エージェント210は、状態通知部220から通知されたマネージャ110の状態に基づき、マネージャ110が停止している場合には処理を終了する。マネージャ110が停止している場合とは、マネージャ110が「サービス停止」または「ソフトウェア異常」の場合である。一方、エージェント210は、マネージャ110が停止していない場合には、通信を継続できると判断し、一定時間後にステップS141の処理を再実行する。この場合、ステップS141では同じ送信情報の再送処理が行われる。
次に、状態管理サーバ400の処理についてフローチャートを用いて説明する。
まず、図17は、状態管理の処理例を示すフローチャートである。
[ステップS151]状態管理処理部410は、サーバから、通信元サーバのIPアドレスとソフトウェアIDとが指定された状態通知情報を受信する。なお、通信元サーバのIPアドレスは、状態通知情報の送信元サーバのIPアドレスである。
以下、マネージャのソフトウェアIDが指定されたものとして説明を続ける。
[ステップS152]状態管理処理部410は、受信した状態通知が移行中または移行済みを示す移行通知である場合、ステップS154の処理を実行し、その他の状態を示す場合、ステップS153の処理を実行する。
[ステップS153]状態管理処理部410は、状態管理情報430に対し、マネージャの状態として受信した状態通知情報が示す状態を登録する。具体的には、状態管理処理部410は、指定されたIPアドレスに対応するサーバID(通信元サーバのサーバID)と、指定されたソフトウェアID(マネージャのソフトウェアID)とが登録されたソフトウェアテーブル432を参照する。状態管理処理部410は、参照先のソフトウェアテーブル432における「状態」の項目に、受信した状態通知情報が示す状態を登録する。ここでは、「通信可」「サービス停止」「ソフトウェア異常」のいずれかが登録される。すでに「状態」の項目に状態の情報が登録されている場合、この情報は更新される。
[ステップS154]状態管理処理部410は、受信した状態通知が移行開始を示す場合、ステップS155の処理を実行し、移行完了を示す場合、ステップS156の処理を実行する。
[ステップS155]状態管理処理部410は、状態管理情報430に登録された、移行元サーバにおけるマネージャの状態を「移行中」に更新する。具体的には、状態管理処理部410は、ステップS153と同じ参照先のソフトウェアテーブル432における「状態」の項目に登録された情報を、「移行中」に更新する。
[ステップS156]ステップS151では、移行完了を示す状態通知情報が受信された場合、これとともに移行先サーバのIPアドレスも受信されている。ステップS156において、状態管理処理部410は、このIPアドレスに対応する移行先サーバのサーバIDが通信先サーバIDとして登録された通信テーブル433が、状態管理情報430に含まれているかを判定する。この処理において登録の有無が判定される通信テーブル433とは、より正確には次の条件を満たす通信テーブル433である。
(1)通信元サーバIDとして、サーバ200のサーバIDが登録されている。
(2)通信元ソフトウェアIDとして、エージェント210のソフトウェアIDが登録されている。
(3)通信先サーバIDとして、状態通知情報とともに受信されたIPアドレスに対応する移行先サーバのサーバIDが登録されている。
(4)通信先ソフトウェアIDとして、マネージャのソフトウェアIDが登録されている。
以上の条件を満たす通信テーブル433とは、マネージャ110とエージェント210との通信が開始されたときに生成された、エージェント210を通信元とした通信テーブル433である。なお、(1)のサーバIDと(2)のソフトウェアIDは、マネージャ110とエージェント210との通信が開始されたときに生成された、マネージャ110を通信元とした通信テーブル433から取得される。
(1)〜(4)を満たす通信テーブル433が存在するケースとは、移行先サーバが元のサーバ100に戻ったケースである。この場合、状態管理処理部410はステップS160の処理を実行する。一方、(1)〜(4)を満たす通信テーブル433が存在しない場合、状態管理処理部410はステップS157の処理を実行する。
[ステップS157]状態管理処理部410は、状態管理情報430に対して移行先サーバの情報を登録する。具体的には、状態管理処理部410は、移行先サーバのサーバIDとマネージャのソフトウェアIDとが設定されたソフトウェアテーブル432を生成して状態管理情報430に追加登録する。このソフトウェアテーブル432の状態の項目には「通信可」が設定される。また、状態管理処理部410は、エージェント210と、移行先サーバのマネージャとの間の通信に関する次の第3、第4の通信テーブル433を生成して状態管理情報430に追加登録する。
第3の通信テーブル433には、通信元サーバIDとして移行先サーバのサーバIDが登録され、通信元ソフトウェアIDとしてマネージャのソフトウェアIDが登録され、通信先サーバIDとしてサーバ200のサーバIDが登録され、通信先ソフトウェアIDとしてエージェント210のソフトウェアIDが登録されている。第4の通信テーブル433には、通信元サーバIDとしてサーバ200のサーバIDが登録され、通信元ソフトウェアIDとしてエージェント210のソフトウェアIDが登録され、通信先サーバIDとして移行先サーバのサーバIDが登録され、通信先ソフトウェアIDとしてマネージャのソフトウェアIDが登録されている。いずれの通信テーブル433にも、振替先サーバIDの項目には「Null」が登録される。
[ステップS158]状態管理処理部410は、状態管理情報430に登録された、移行元サーバにおけるマネージャの状態を「移行済み」に更新する。具体的には、状態管理処理部410は、ステップS153と同じ参照先のソフトウェアテーブル432における「状態」の項目に登録された情報を、「移行済み」に更新する。
[ステップS159]状態管理処理部410は、状態管理情報430に対し、振替先サーバとして移行先サーバを登録する。具体的には、状態管理処理部410は、マネージャ110とエージェント210との通信が開始されたときに生成された、サーバ200およびエージェント210を通信元とした通信テーブル433における振替先サーバIDの項目に、移行先サーバのサーバIDを登録する。振替先サーバIDの項目にすでにサーバIDが登録されている場合(すなわち、2回目以降の移行の場合)、そのサーバIDは新たな移行先サーバのサーバIDによって更新される。
[ステップS160]前述のように、ステップS156で「Yes」と判定されるケースとは、移行先サーバが元のサーバ100に戻ったケースである。この場合、状態管理処理部410は、状態管理情報430に登録された、移行元サーバにおけるマネージャの状態を「移行済み」に更新する。具体的には、状態管理処理部410は、移行元サーバのサーバIDとマネージャのソフトウェアIDとが設定されたソフトウェアテーブル432を参照し、このソフトウェアテーブル432における「状態」の項目に登録された情報を、「移行済み」に更新する。また、状態管理処理部410はさらに、移行元サーバのマネージャとサーバ200のエージェント210との通信に関する通信テーブル433のうち、サーバ200を通信元とする通信テーブル433を参照し、振替先サーバIDとして移行先サーバのIDを登録する。
[ステップS161]状態管理処理部410は、振替先サーバの情報を削除する。具体的には、状態管理処理部410は、上記の(1)〜(4)を満たす通信テーブル433から、振替先サーバIDを削除する。
[ステップS162]状態管理処理部410は、状態管理情報430に登録された、移行先サーバにおけるマネージャの状態を「移行済み」から「通信可」に更新する。具体的には、状態管理処理部410は、ステップS153と同じ参照先のソフトウェアテーブル432における「状態」の項目に登録された情報を、「通信可」に更新する。
図18は、問合せ応答の処理例を示すフローチャートである。
[ステップS171]状態管理処理部410は、サーバからの問合せを受信する。ここでは、サーバ200の状態通知部220から問合せを受信するものとする。この問合せには、通信元サーバおよび通信先サーバの各IPアドレスと、エージェントおよびマネージャの各ソフトウェアIDとが指定されている。
[ステップS172]状態管理処理部410は、状態管理情報430から通信先サーバにおけるマネージャの状態を取得する。具体的には、状態管理処理部410は、指定された通信先サーバのサーバIDおよびマネージャのソフトウェアIDが設定されたソフトウェアテーブル432から、状態の項目に設定された情報を読み込む。
[ステップS173]状態管理処理部410は、通信先サーバにおけるマネージャの状態が「移行済み」の場合、ステップS174の処理を実行し、「移行済み」以外の状態である場合、ステップS176の処理を実行する。
[ステップS174]状態管理処理部410は、状態管理情報430から振替先のIPアドレスを取得する。具体的には、状態管理処理部410は次のような通信テーブル433を参照する。この通信テーブル433では、ステップS171で受信したIPアドレスに基づく通信元サーバのサーバIDおよび通信先サーバのサーバIDが、それぞれ通信元サーバIDおよび通信先サーバIDとして設定されている。また、ステップS171で受信したエージェントのソフトウェアIDおよびマネージャのソフトウェアIDが、それぞれ通信元ソフトウェアIDおよび通信先ソフトウェアIDとして設定されている。状態管理処理部410は、このような参照先の通信テーブル433から振替先サーバIDを読み出し、この振替先サーバIDが設定されたサーバテーブル431からIPアドレスを取得する。
[ステップS175]状態管理処理部410は、問合せに対する応答情報をサーバ200に送信する。この応答情報には、ステップS172で取得した、「移行済み」を示すマネージャの状態が含まれる。また、この応答情報には、ステップS174で取得した振替先のIPアドレスが、移行先サーバのIPアドレスとして含まれる。
[ステップS176]状態管理処理部410は、ステップS172で取得したマネージャの状態を含む応答情報をサーバ200に送信する。
次に、図19、図20を用いて、サーバ間でのアプリケーションの移行時における状態管理情報430の遷移の例について説明する。
図19、図20は、状態管理情報の遷移の例を示す図である。図19、図20に示すそれぞれの行は、通信元のサーバおよびソフトウェアに対応する通信テーブル433と、この通信テーブル433に基づいて参照されるサーバテーブル431およびソフトウェアテーブル432とに設定されている情報をまとめて示したものである。
例えば、図19の上段は、サーバ100のマネージャ110とサーバ200のエージェント210との通信が実行されている状態を示す。図19の上段において、行441には、サーバ100およびマネージャ110が通信元として設定され、サーバ200およびエージェント210が通信先として設定された通信テーブル433に基づく情報が記載されている。通信元のIPアドレスは、サーバ100のサーバテーブル431に設定され、通信元のソフトウェアIDおよび状態は、サーバ100およびマネージャ110に対応するソフトウェアテーブル432に設定されている。通信先のIPアドレスは、サーバ200のサーバテーブル431に設定され、通信先のソフトウェアIDおよび状態は、サーバ200およびエージェント210に対応するソフトウェアテーブル432に設定されている。
また、行442には、サーバ200およびエージェント210が通信元として設定され、サーバ100およびマネージャ110が通信先として設定された通信テーブル433に基づく情報が記載されている。通信元のIPアドレスは、サーバ200のサーバテーブル431に設定され、通信元のソフトウェアIDおよび状態は、サーバ200およびエージェント210に対応するソフトウェアテーブル432に設定されている。通信先のIPアドレスは、サーバ100のサーバテーブル431に設定され、通信先のソフトウェアIDおよび状態は、サーバ100およびマネージャ110に対応するソフトウェアテーブル432に設定されている。
この状態から、マネージャ110をサーバ100(サーバ#1)からサーバ300(サーバ#3)に移行する移行処理が開始されたとする。このとき、図19の中段に示すように、行441では通信元のマネージャ110の状態が「通信可」から「移行中」に更新され、行442では通信先のマネージャ110の状態が「通信可」から「移行中」に更新される。
次に、移行処理が完了したとする。このとき、図19の下段に示すように、エージェント210と、移行後のマネージャ310との通信に関する行443,444の情報が、状態管理情報430に登録される。行443には、サーバ200およびエージェント210が通信元として設定され、移行後のサーバ300およびマネージャ310が通信先として設定された通信テーブル433に基づく情報が記載されている。通信元のIPアドレスは、サーバ200のサーバテーブル431に設定され、通信元のソフトウェアIDおよび状態は、サーバ200およびエージェント210に対応するソフトウェアテーブル432に設定されている。通信先のIPアドレスは、サーバ300のサーバテーブル431に設定され、通信先のソフトウェアIDおよび状態は、サーバ300およびマネージャ310に対応するソフトウェアテーブル432に設定されている。
また、行444には、移行後のサーバ300およびマネージャ310が通信元として設定され、サーバ200およびエージェント210が通信先として設定された通信テーブル433に基づく情報が記載されている。通信元のIPアドレスは、サーバ300のサーバテーブル431に設定され、通信元のソフトウェアIDおよび状態は、サーバ300およびマネージャ310に対応するソフトウェアテーブル432に設定されている。通信先のIPアドレスは、サーバ200のサーバテーブル431に設定され、通信先のソフトウェアIDおよび状態は、サーバ200およびエージェント210に対応するソフトウェアテーブル432に設定されている。
さらに、行442では、振替先サーバのIPアドレスとしてサーバ300のIPアドレスが登録され、サーバ300における移行先のマネージャ310の状態として「通信可」が登録される。これは、サーバ200およびエージェント210が通信元として設定され、サーバ100およびマネージャ110が通信先として設定された通信テーブル433において、振替先サーバIDとしてサーバ300のサーバIDが登録されたことを示す。
次に、サーバ300のマネージャ310をサーバ100に移行する、すなわちサーバ100に戻す移行処理が開始されたとする。このとき、図20の上段に示すように、行443では通信先のマネージャ310の状態が「通信可」から「移行中」に更新され、行444では通信元のマネージャ310の状態が「通信可」から「移行中」に更新される。
次に、移行処理が完了したとする。このとき、図20の下段に示すように、行441では通信元のマネージャ110の状態が「移行済み」から「通信可」に戻される。また、行442では、通信先のマネージャ110の状態が「移行済み」から「通信可」に戻され、振替先のIPアドレスが削除される。また、エージェント210と、移行前のマネージャ310との通信に関する行443では、通信先サーバの状態が「移行済み」に更新され、振替先のIPアドレスとしてサーバ100のIPアドレスが登録され、サーバ100における移行先のマネージャ110の状態として「通信可」が登録される。
以上の図19、図20に示すように、状態管理サーバ400では、サーバ上のアプリケーションの通信状態や移行処理の状態、移行に伴う振替先サーバのIPアドレスが、状態管理情報430を用いて管理される。
〔第3の実施の形態〕
以下、第2の実施の形態における処理の一部を変形した第3の実施の形態について説明する。
図21は、第3の実施の形態におけるマネージャの移行処理例を示す図である。図21では、図10と同じ構成要素や処理ステップには同じ符号を付して示している。
第2の実施の形態では、状態通知部220は、通信先のマネージャ110が他のサーバに移行した後、エージェント210からの送信情報の送信先IPアドレスを、アドレス変換情報221に基づいて移行先サーバのIPアドレスに付け替えていた(図10参照)。これに対して、第3の実施の形態では、アドレス変換情報221を用いず、マネージャ110の移行が完了したとき、状態通知部220は、エージェント210の定義情報211に設定されている通信先サーバのIPアドレスを、移行後のサーバのIPアドレスに書き替える。
具体的には、サーバ100からサーバ300へのマネージャ110の移行が完了した後、図21に示すように、ステップS31からステップS34までの処理は図10と同様である。状態通知部220は、ステップS34での状態管理サーバ400からの通知を受けると、マネージャ110が移行済みであることと、移行先のサーバ300のIPアドレスとをエージェント210に通知する。通知を受けたエージェント210は、定義情報211に設定されている通信先サーバのIPアドレスを、移行先のサーバ300のIPアドレスに書き替える(ステップS35a)。その後、エージェント210は、定義情報211に基づき、サーバ300のIPアドレスを送信先と指定し、移行後のマネージャ310に対する送信情報の再送を試みる。状態通知部220は、この送信情報を捕捉し、指定されたIPアドレスに基づいて送信情報をサーバ300に送信する(ステップS36a)。すなわち、状態通知部220は、エージェント210からの送信情報を、アドレス変換を行わずにそのまま送信する。
このように、第3の実施の形態では、通信先のマネージャが他のサーバに移行したとき、状態管理サーバ400から取得した移行先サーバのIPアドレスを用いて、通信元のエージェント210の定義情報211自体が書き替えられる。これにより、エージェント210は、通信先のマネージャが他のサーバに移行したことと、その移行先とを認識して、移行先のサーバ上のマネージャとの通信を継続できる。
図22、図23は、第3の実施の形態におけるエージェントの通常通信時の処理例を示すフローチャートである。図22、図23では、それぞれ図14、図15と同じ処理内容の処理ステップには同じステップ番号を付して示しており、その説明を省略する。
図22では、図14におけるステップS122,S124が削除され、ステップS121の次にステップS123が実行され、ステップS123の次にステップS125が実行される。すなわち、第3の実施の形態では、第2の実施の形態とは異なり、送信情報に指定されている送信先IPアドレスを振替先IPアドレスに振り替える処理は実行されない。
また、図23では、ステップS133において通信先マネージャの状態が「移行済み」と判定された場合、図15のステップS135〜S139の代わりにステップS181,S182が実行される。
[ステップS181]状態通知部220は、通信先のマネージャが「移行済み」であることと、状態管理サーバ400から通知された移行先サーバのIPアドレスとをエージェント210に通知する。これにより、エージェント210は、定義情報211に登録された、通信先のマネージャが動作するサーバのIPアドレスを、状態通知部220から通知された移行先サーバのIPアドレスに書き替える。そして、エージェント210は、書き替え後の定義情報211に基づき、書き替え後のIPアドレスを送信先として指定した送信情報を、再送のために出力する。
[ステップS182]状態通知部220は、エージェント210から出力された送信情報を取得し、送信情報に指定されたIPアドレスを送信先として送信情報をそのまま送信する。
なお、状態管理サーバ400の状態管理処理部410による状態管理処理については、図17と同様である。また、状態管理処理部410による問合せ応答処理については、図18と同様である。
また、上記の各実施の形態に示した装置(例えば、情報処理装置1〜3、管理装置10、サーバ100,200,300、状態管理サーバ400)の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、磁気テープなどがある。光ディスクには、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク(Blu-ray Disc:BD、登録商標)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CDなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。
1〜3 情報処理装置
1a アプリケーション
10 管理装置
11 記憶部
11a 管理情報
11b 移行先情報
12 処理部

Claims (9)

  1. 第1の情報処理装置で動作するアプリケーションの状態を管理するための管理情報を記憶する記憶部と、
    前記アプリケーションから第2の情報処理装置へのデータ送信に応じて前記第1の情報処理装置から送信された、前記アプリケーションが正常に通信可能であることを示す第1の状態情報を受信すると、前記第1の状態情報が示す状態を前記管理情報に記録し、
    前記第1の情報処理装置から第3の情報処理装置への前記アプリケーションの移行処理の開始に応じて前記第1の情報処理装置から送信された、前記アプリケーションが移行中であることを示す第2の状態情報を受信すると、前記第2の状態情報が示す状態を前記管理情報に記録し、
    前記移行処理の完了に応じて前記第3の情報処理装置から送信された、前記アプリケーションが移行済みであることを示す第3の状態情報と前記アプリケーションの移行先を示す移行先情報とを受信すると、前記第3の状態情報が示す状態を前記管理情報に記録するとともに、前記移行先情報を前記記憶部に格納し、
    前記アプリケーションとの通信の失敗に応じて前記第2の情報処理装置から送信された問合せを受信すると、前記管理情報に基づいて前記アプリケーションの状態を前記第2の情報処理装置に通知するとともに、前記管理情報に前記第3の状態情報が示す状態が記録されている場合には前記移行先情報を前記第2の情報処理装置に送信する、処理部と、
    を有する管理装置。
  2. 前記管理情報は、前記アプリケーションと、前記第2の情報処理装置で動作して前記アプリケーションと通信する他のアプリケーションとに対応付けられており、
    前記問合せは、前記他のアプリケーションと前記アプリケーションとの通信の失敗に応じて、前記他のアプリケーションの識別情報が指定された状態で送信され、
    前記処理部は、受信した前記問合せにおいて指定された前記識別情報に基づいて前記管理情報を特定し、特定した前記管理情報に基づいて前記アプリケーションの状態を前記第2の情報処理装置に通知する、
    請求項1記載の管理装置。
  3. アプリケーションが動作する第1の情報処理装置と、前記アプリケーションと通信する第2の情報処理装置と、第3の情報処理装置と、管理装置とを有し、
    前記第1の情報処理装置は、前記アプリケーションから前記第2の情報処理装置へのデータ送信に応じて、前記アプリケーションが正常に通信可能であることを示す第1の状態情報を送信し、前記第1の情報処理装置から前記第3の情報処理装置への前記アプリケーションの移行処理の開始に応じて、前記アプリケーションが移行中であることを示す第2の状態情報を送信し、
    前記第3の情報処理装置は、前記移行処理が完了すると、前記アプリケーションが移行済みであることを示す第3の状態情報と前記アプリケーションの移行先を示す移行先情報とを送信し、
    前記第2の情報処理装置は、前記アプリケーションとの通信に失敗すると、前記管理装置に問合せを送信し、
    前記管理装置は、前記第1の状態情報を受信すると、前記第1の状態情報が示す状態を、前記アプリケーションの状態を管理するための管理情報に記録し、前記第2の状態情報を受信すると、前記第2の状態情報が示す状態を前記管理情報に記録し、前記第3の状態情報および前記移行先情報を受信すると、前記第3の状態情報が示す状態を前記管理情報に記録するとともに前記移行先情報を記憶部に格納し、前記問合せを受信すると、前記管理情報に基づいて前記アプリケーションの状態を前記第2の情報処理装置に通知するとともに、前記管理情報に前記第3の状態情報が示す状態が記録されている場合には前記移行先情報を前記第2の情報処理装置に送信する、
    情報処理システム。
  4. 前記第2の情報処理装置は、
    前記アプリケーションに対する送信データの送信に失敗したとき、前記問合せを送信し、
    前記問合せの送信に応じて前記管理装置から通知された状態に基づき、前記アプリケーションが前記移行処理を完了した状態である場合には、前記管理装置から受信した前記移行先情報に基づいて前記送信データを前記第3の情報処理装置に送信する、
    請求項3記載の情報処理システム。
  5. 前記第2の情報処理装置では、前記アプリケーションと通信する他のアプリケーションが動作し、
    前記第2の情報処理装置は、
    前記他のアプリケーションから、前記第1の情報処理装置を送信先とした前記アプリケーションに対する第1の送信データが出力されたとき、前記第1の送信データを前記第1の情報処理装置に送信し、
    前記第1の送信データの送信に失敗したとき、前記問合せを送信し、
    前記問合せの送信に応じて前記管理装置から通知された状態に基づき、前記アプリケーションが前記移行処理を完了した状態である場合には、前記管理装置から受信した前記移行先情報に基づいて前記第1の送信データを前記第3の情報処理装置に送信するとともに、前記移行先情報を保持し、
    前記他のアプリケーションから、前記第1の情報処理装置を送信先とした前記アプリケーションに対する第2の送信データが出力されたとき、保持された前記移行先情報に基づき、前記第2の送信データの送信先を前記第3の情報処理装置に変換して送信する、
    請求項3記載の情報処理システム。
  6. 前記第2の情報処理装置では、前記アプリケーションと通信する他のアプリケーションが動作し、
    前記第2の情報処理装置は、前記他のアプリケーションが前記アプリケーションと通信するための送信先アドレスとして前記第1の情報処理装置のアドレスが設定された定義情報を保持し、
    前記他のアプリケーションは、前記アプリケーションに送信データを送信する際、前記定義情報に基づいて送信先を指定し、
    前記第2の情報処理装置は、
    前記他のアプリケーションから、前記第1の情報処理装置が送信先として指定された前記アプリケーションに対する前記送信データが出力されたとき、前記送信データを前記第1の情報処理装置に送信し、
    前記送信データの送信に失敗したとき、前記問合せを送信し、
    前記問合せの送信に応じて前記管理装置から通知された状態に基づき、前記アプリケーションが前記移行処理を完了した状態である場合には、前記管理装置から受信した前記移行先情報に基づいて、前記定義情報に設定された送信先アドレスを前記第3の情報処理装置のアドレスに書き替える、
    請求項3記載の情報処理システム。
  7. 前記管理情報は、前記アプリケーションと、前記第2の情報処理装置で動作して前記アプリケーションと通信する他のアプリケーションとに対応付けられており、
    前記第2の情報処理装置は、前記他のアプリケーションと前記アプリケーションとの通信に失敗したとき、前記問合せを、前記他のアプリケーションの識別情報が指定された状態で送信し、
    前記管理装置は、受信した前記問合せにおいて指定された前記識別情報に基づいて前記管理情報を特定し、特定した前記管理情報に基づいて前記アプリケーションの状態を前記第2の情報処理装置に通知する、
    請求項3または4記載の情報処理システム。
  8. コンピュータに、
    第1の情報処理装置で動作するアプリケーションから第2の情報処理装置へのデータ送信に応じて前記第1の情報処理装置から送信された、前記アプリケーションが正常に通信可能であることを示す第1の状態情報を受信すると、前記第1の状態情報が示す状態を、前記アプリケーションの状態を管理するための管理情報に記録し、
    前記第1の情報処理装置から第3の情報処理装置への前記アプリケーションの移行処理の開始に応じて前記第1の情報処理装置から送信された、前記アプリケーションが移行中であることを示す第2の状態情報を受信すると、前記第2の状態情報が示す状態を前記管理情報に記録し、
    前記移行処理の完了に応じて前記第3の情報処理装置から送信された、前記アプリケーションが移行済みであることを示す第3の状態情報と前記アプリケーションの移行先を示す移行先情報とを受信すると、前記第3の状態情報が示す状態を前記管理情報に記録するとともに、前記移行先情報を記憶部に格納し、
    前記アプリケーションとの通信の失敗に応じて前記第2の情報処理装置から送信された問合せを受信すると、前記管理情報に基づいて前記アプリケーションの状態を前記第2の情報処理装置に通知するとともに、前記管理情報に前記第3の状態情報が示す状態が記録されている場合には前記移行先情報を前記第2の情報処理装置に送信する、
    処理を実行させる管理プログラム。
  9. 前記管理情報は、前記アプリケーションと、前記第2の情報処理装置で動作して前記アプリケーションと通信する他のアプリケーションとに対応付けられており、
    前記問合せは、前記他のアプリケーションと前記アプリケーションとの通信の失敗に応じて、前記他のアプリケーションの識別情報が指定された状態で送信され、
    前記アプリケーションの状態の通知では、受信した前記問合せにおいて指定された前記識別情報に基づいて前記管理情報を特定し、特定した前記管理情報に基づいて前記アプリケーションの状態を前記第2の情報処理装置に通知する、
    請求項8記載の管理プログラム。
JP2019073523A 2019-04-08 2019-04-08 管理装置、情報処理システムおよび管理プログラム Active JP7193732B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019073523A JP7193732B2 (ja) 2019-04-08 2019-04-08 管理装置、情報処理システムおよび管理プログラム
US16/836,980 US10880364B2 (en) 2019-04-08 2020-04-01 Application management apparatus, information processing system, and recording medium storing therein application management program
CN202010260303.2A CN111796918A (zh) 2019-04-08 2020-04-03 应用管理装置、信息处理系统以及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019073523A JP7193732B2 (ja) 2019-04-08 2019-04-08 管理装置、情報処理システムおよび管理プログラム

Publications (2)

Publication Number Publication Date
JP2020173498A true JP2020173498A (ja) 2020-10-22
JP7193732B2 JP7193732B2 (ja) 2022-12-21

Family

ID=72663294

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019073523A Active JP7193732B2 (ja) 2019-04-08 2019-04-08 管理装置、情報処理システムおよび管理プログラム

Country Status (3)

Country Link
US (1) US10880364B2 (ja)
JP (1) JP7193732B2 (ja)
CN (1) CN111796918A (ja)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124432A (ja) * 1996-10-18 1998-05-15 Nec Corp クライアントサーバシステム
WO2008126163A1 (ja) * 2007-03-08 2008-10-23 Fujitsu Limited アクセス権限設定プログラム、方法及び装置
JP2011018223A (ja) * 2009-07-09 2011-01-27 Canon Inc 情報通信システム及び情報通信方法
JP2013089029A (ja) * 2011-10-18 2013-05-13 Fujitsu Telecom Networks Ltd データ管理システム、センター装置およびデータ管理方法
WO2013157042A1 (ja) * 2012-04-20 2013-10-24 株式会社日立製作所 分散アプリケーション及びデータホスティングシステム
JP2014049116A (ja) * 2012-08-31 2014-03-17 Hitachi Ltd 仮想ストレージシステムの管理方法およびリモートコピーシステム
JP2014143617A (ja) * 2013-01-24 2014-08-07 Fujitsu Ltd 中継プログラム、中継方法および中継処理装置
JP2015219732A (ja) * 2014-05-19 2015-12-07 株式会社日立製作所 分散処理システム
JP2018136814A (ja) * 2017-02-23 2018-08-30 日本電信電話株式会社 アプリケーション冗長化管理システムおよびアプリケーション冗長化管理方法

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000099435A (ja) 1998-09-18 2000-04-07 Nippon Telegr & Teleph Corp <Ntt> サーバ切り替え装置および方法とサーバ切り替えプログラムを記録した記録媒体
JP3250729B2 (ja) * 1999-01-22 2002-01-28 日本電気株式会社 プログラム実行装置及びそのプロセス移動方法並びにプロセス移動制御プログラムを格納した記憶媒体
JP2000322350A (ja) 1999-05-11 2000-11-24 Hitachi Ltd クライアント・サーバシステムのサーバ切り替え方式
JP3591400B2 (ja) 1999-12-15 2004-11-17 日本電気株式会社 ネットワーク通信管理装置、ネットワーク通信管理システム、ネットワーク通信管理方法およびネットワーク通信管理用プログラムを記録した記録媒体
JP4500057B2 (ja) * 2004-01-13 2010-07-14 株式会社日立製作所 データ移行方法
US7613889B2 (en) * 2004-06-10 2009-11-03 International Business Machines Corporation System, method, and program for determining if write data overlaps source data within a data migration scheme
JP4704043B2 (ja) * 2005-01-07 2011-06-15 富士通株式会社 移動処理プログラム、情報処理装置、コンピュータシステム及び移動処理プログラムを格納したコンピュータ読み取り可能な記録媒体
US8893118B2 (en) * 2006-01-30 2014-11-18 International Business Machines Corporation Migratable unit based application migration
US8719787B2 (en) * 2006-09-30 2014-05-06 American Express Travel Related Services Company, Inc. System and method for server migration synchronization
JP4757165B2 (ja) * 2006-10-04 2011-08-24 株式会社日立製作所 計算機システム、データ移行監視方法及びデータ移行監視プログラム
JP5088366B2 (ja) * 2007-03-27 2012-12-05 富士通株式会社 仮想計算機制御プログラム、仮想計算機制御システムおよび仮想計算機移動方法
JP5087309B2 (ja) * 2007-04-24 2012-12-05 株式会社日立製作所 管理装置及び管理方法
US8335813B2 (en) * 2007-05-01 2012-12-18 Illinois Institute Of Technology Systems, methods, and protocols for process migration and group membership management
US8468230B2 (en) * 2007-10-18 2013-06-18 Fujitsu Limited Method, apparatus and recording medium for migrating a virtual machine
JP5132292B2 (ja) * 2007-12-07 2013-01-30 キヤノン株式会社 情報処理装置および情報処理方法
US8688773B2 (en) * 2008-08-18 2014-04-01 Emc Corporation System and method for dynamically enabling an application for business continuity
JP2010257020A (ja) * 2009-04-22 2010-11-11 Hitachi Ltd データマイグレーション管理装置及び管理方法
JP5284905B2 (ja) * 2009-08-12 2013-09-11 富士通株式会社 データ移行方法、及びプログラム
JP5499688B2 (ja) * 2009-12-23 2014-05-21 富士通株式会社 計算機システム、情報処理装置、仮想計算機運用方法及びプログラム
JP5454135B2 (ja) * 2009-12-25 2014-03-26 富士通株式会社 仮想マシン移動制御装置、仮想マシン移動制御方法および仮想マシン移動制御プログラム
WO2012017493A1 (ja) * 2010-08-06 2012-02-09 株式会社日立製作所 計算機システム及びデータ移行方法
WO2012127633A1 (ja) * 2011-03-22 2012-09-27 富士通株式会社 移動管理装置、移動管理方法および移動管理プログラム
US9223632B2 (en) * 2011-05-20 2015-12-29 Microsoft Technology Licensing, Llc Cross-cloud management and troubleshooting
WO2013014702A1 (en) * 2011-07-22 2013-01-31 Hitachi, Ltd. Computer system and data migration method thereof
CN102742223B (zh) * 2011-09-19 2015-01-21 华为技术有限公司 一种对用户服务进行迁移的方法、装置及系统
US9075811B2 (en) * 2011-09-30 2015-07-07 Symantec Corporation Cloud information migration systems and methods
US8850152B2 (en) * 2012-05-17 2014-09-30 Hitachi, Ltd. Method of data migration and information storage system
GB2506177A (en) * 2012-09-25 2014-03-26 Ibm Method of migrating an operating system executing an application
US9400664B2 (en) * 2012-12-20 2016-07-26 Hitachi, Ltd. Method and apparatus for offloading storage workload
JP6056578B2 (ja) * 2013-03-19 2017-01-11 富士通株式会社 仮想マシンの移動終了を検出する装置、方法、及びプログラム
US9841991B2 (en) * 2014-05-12 2017-12-12 Netapp, Inc. Techniques for virtual machine migration
WO2016138474A1 (en) * 2015-02-26 2016-09-01 Bittitan, Inc. Data migration systems and methods including archive migration
US9971708B2 (en) * 2015-12-02 2018-05-15 Advanced Micro Devices, Inc. System and method for application migration between docking station and dockable device
US10162559B2 (en) * 2016-09-09 2018-12-25 Veritas Technologies Llc Systems and methods for performing live migrations of software containers
US10326838B2 (en) * 2016-09-23 2019-06-18 Microsoft Technology Licensing, Llc Live migration of probe enabled load balanced endpoints in a software defined network
CN108469986B (zh) * 2017-02-23 2021-04-09 华为技术有限公司 一种数据迁移方法及装置
US10289409B2 (en) * 2017-03-29 2019-05-14 The Travelers Indemnity Company Systems, methods, and apparatus for migrating code to a target environment
CN109697120B (zh) * 2017-10-20 2023-06-27 伊姆西Ip控股有限责任公司 用于应用迁移的方法、电子设备
US10387041B2 (en) * 2017-11-02 2019-08-20 Salesforce.Com, Inc. Data migration system
US11467866B2 (en) * 2018-01-29 2022-10-11 Salesforce.Com, Inc. Scheduling framework for organization migrations
US10838647B2 (en) * 2018-03-14 2020-11-17 Intel Corporation Adaptive data migration across disaggregated memory resources
CN109067823A (zh) * 2018-06-11 2018-12-21 中国平安人寿保险股份有限公司 一种数据迁移方法、装置、计算机设备及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124432A (ja) * 1996-10-18 1998-05-15 Nec Corp クライアントサーバシステム
WO2008126163A1 (ja) * 2007-03-08 2008-10-23 Fujitsu Limited アクセス権限設定プログラム、方法及び装置
JP2011018223A (ja) * 2009-07-09 2011-01-27 Canon Inc 情報通信システム及び情報通信方法
JP2013089029A (ja) * 2011-10-18 2013-05-13 Fujitsu Telecom Networks Ltd データ管理システム、センター装置およびデータ管理方法
WO2013157042A1 (ja) * 2012-04-20 2013-10-24 株式会社日立製作所 分散アプリケーション及びデータホスティングシステム
JP2014049116A (ja) * 2012-08-31 2014-03-17 Hitachi Ltd 仮想ストレージシステムの管理方法およびリモートコピーシステム
JP2014143617A (ja) * 2013-01-24 2014-08-07 Fujitsu Ltd 中継プログラム、中継方法および中継処理装置
JP2015219732A (ja) * 2014-05-19 2015-12-07 株式会社日立製作所 分散処理システム
JP2018136814A (ja) * 2017-02-23 2018-08-30 日本電信電話株式会社 アプリケーション冗長化管理システムおよびアプリケーション冗長化管理方法

Also Published As

Publication number Publication date
CN111796918A (zh) 2020-10-20
US10880364B2 (en) 2020-12-29
US20200322424A1 (en) 2020-10-08
JP7193732B2 (ja) 2022-12-21

Similar Documents

Publication Publication Date Title
US10353790B1 (en) Disaster recovery rehearsals
US10346248B2 (en) Failure resistant volume creation in a shared storage environment
JP6056453B2 (ja) プログラム、データ管理方法および情報処理装置
RU2595482C2 (ru) Обеспечение прозрачной отработки отказа в файловой системе
US8910172B2 (en) Application resource switchover systems and methods
US20190108231A1 (en) Application Aware Snapshots
JP4371724B2 (ja) 記憶システム及び記憶装置システム
US20230367494A1 (en) Reseeding a mediator of a cross-site storage solution
JP2018088134A (ja) マイグレーションプログラム、情報処理装置およびマイグレーション方法
JP6005446B2 (ja) ストレージシステム、仮想化制御装置、情報処理装置、および、ストレージシステムの制御方法
US10503428B2 (en) System and method for concurrent multipoint backup
US11392464B2 (en) Methods and systems for mirroring and failover of nodes
JP6569476B2 (ja) ストレージ装置、ストレージシステムおよびストレージ制御プログラム
JP7193732B2 (ja) 管理装置、情報処理システムおよび管理プログラム
CN111209096B (zh) 信息处理设备和信息处理方法
US20220318106A1 (en) Automatic failover of a software-defined storage controller to handle input-output operations to and from an assigned namespace on a non-volatile memory device
JP6643706B2 (ja) 配布履歴管理プログラム、配布履歴管理装置および配布履歴管理方法
US20240143453A1 (en) Methods and systems to reduce latency of input/output (i/o) operations during creation of common snapshots based on batching of synchronous replicated datasets at a primary storage system to a cross-site secondary storage system
US10929250B2 (en) Method and system for reliably restoring virtual machines
US20240095011A1 (en) State machine operation for non-disruptive update of a data management system
US11892917B2 (en) Application recovery configuration validation
JP7044971B2 (ja) クラスタシステム、オートスケールサーバ監視装置、オートスケールサーバ監視プログラムおよびオートスケールサーバ監視方法
US20240134761A1 (en) Application recovery configuration validation
US20240095230A1 (en) Prechecking for non-disruptive update of a data management system
US20230236936A1 (en) Automatic backup distribution for clustered databases

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221028

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221121

R150 Certificate of patent or registration of utility model

Ref document number: 7193732

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150