(57)【特許請求の範囲】
【請求項１】
稼働中のマスタサーバと待機中のスレーブサーバとを備える冗長化されたシステムを構成する冗長システム用サーバであり、
マスタサーバであるかスレーブサーバであるかを示す設定を記憶する設定記憶部と、
データが更新されたことが通知された場合に動作するように設定された、複数のＡＰＰ（アプリケーションプログラム）を記憶するＡＰＰ記憶部と、
前記ＡＰＰ記憶部が記憶したいずれかのＡＰＰで使用するデータを記憶するデータ記憶部と、
他の冗長システム用サーバでデータが更新された場合に、更新されたデータを取得して、前記データ記憶部が記憶したデータを更新するデータ更新部と、
前記データ更新部がデータを更新すると、前記設定記憶部が記憶した設定がマスタサーバであることを示す場合には、前記複数のＡＰＰのうちの更新されたデータを使用するＡＰＰへデータが更新されたことを通知し、前記設定記憶部が記憶した設定がスレーブサーバであることを示す場合には、前記ＡＰＰへデータが更新されたことを通知しない更新通知部と
を備えることを特徴とする冗長システム用サーバ。
【請求項２】
前記サーバは、さらに、
前記ＡＰＰ記憶部が記憶したＡＰＰがデータを更新した場合に、他の冗長システム用サーバへ更新されたデータをブロードキャスト送信又はマルチキャスト送信するデータ送信部
を備え、
前記データ更新部は、他の冗長システム用サーバにおける前記データ送信部が送信したデータのうち、前記データ記憶部が記憶したデータを取得する
ことを特徴とする請求項１に記載の冗長システム用サーバ。
【請求項３】
前記ＡＰＰ記憶部は、ＡＰＰに優先度を付けて記憶し、
前記データ更新部は、前記サーバの負荷が高いと判定した場合、優先度の高いＡＰＰで使用するデータを優先的に更新することを特徴とする請求項１又は２に記載の冗長システム用サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、冗長化されたシステムを構築するためのサーバに関する。
【背景技術】
【０００２】
従来の冗長化されたシステムでは、アプリケーションサーバと、データベースサーバとのそれぞれについて、マスタサーバとスレーブサーバとを用意しておき、マスタサーバで障害が発生した場合にスレーブサーバを稼働させることにより、高可用性を実現していた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１５９２２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の冗長化されたシステムでは、アプリケーションサーバとデータベースサーバとのそれぞれについて冗長構成とする必要があった。また、従来の冗長化されたシステムでは、アプリケーションサーバとデータベースサーバとを接続するネットワークについても冗長構成とする必要があった。そのため、構成が複雑になるとともに、構築コストが高くなった。
この発明は、簡易的なサーバ構成により、システムの高可用性を実現することを目的とする。
【課題を解決するための手段】
【０００５】
この発明に係る冗長システム用サーバは、
稼働中のマスタサーバと待機中のスレーブサーバとを備える冗長化されたシステムを構成する冗長システム用サーバであり、
マスタサーバであるかスレーブサーバであるかを示す設定を記憶する設定記憶部と、
データが更新されたことが通知された場合に動作するように設定されたＡＰＰ（アプリケーションプログラム）を記憶するＡＰＰ記憶部と、
前記ＡＰＰ記憶部が記憶したＡＰＰで使用するデータを記憶するデータ記憶部と、
他の冗長システム用サーバでデータが更新された場合に、更新されたデータを取得して、前記データ記憶部が記憶したデータを更新するデータ更新部と、
前記データ更新部がデータを更新すると、前記設定記憶部が記憶した設定がマスタサーバであることを示す場合には、前記ＡＰＰへデータが更新されたことを通知し、前記設定記憶部が記憶した設定がスレーブサーバであることを示す場合には、前記ＡＰＰへデータが更新されたことを通知しない更新通知部と
を備えることを特徴とする。
【発明の効果】
【０００６】
この発明に係る冗長システム用サーバは、１台の冗長システム用サーバでアプリケーションサーバとデータベースサーバとを兼ねることができる。そのため、単に冗長システム用サーバを冗長構成とすれば、高可用性を実現することができる。
特に、この発明に係る冗長システム用サーバは、マスタサーバとスレーブサーバとの間で自動的にデータは同期されており、マスタサーバであるかスレーブサーバであるかの設定を切り替えるだけで、マスタサーバとして動作するかスレーブサーバとして動作するかが切り替わる。したがって、冗長システム用サーバを用いた冗長化されたシステムを容易に構築できる。
【図面の簡単な説明】
【０００７】
【図１】実施の形態１に係る冗長システム用サーバ１０の構成図。
【図２】サーバ１０を用いて構成された冗長化されたシステム１００を示す図。
【図３】サーバ１０ｄを加えたシステム１００を示す図。
【図４】データ同期の処理の流れを示す処理フロー図。
【図５】初期同期処理の流れを示す処理フロー図。
【図６】実施の形態１に係るサーバ１０のハードウェア構成の一例を示す図。
【発明を実施するための形態】
【０００８】
実施の形態１．
図１は、実施の形態１に係る冗長システム用サーバ１０（以下、サーバ１０と呼ぶ）の構成図である。
サーバ１０は、設定記憶部１１、共有メモリ１２（データ記憶部）、ＡＰＰ記憶部１３、インメモリデータ管理部１４を備える。
【０００９】
設定記憶部１１は、サーバ１０が稼働中のマスタサーバであるか、待機中のスレーブサーバであるかを示す設定を記憶するＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の記憶装置である。
【００１０】
共有メモリ１２は、ＡＰＰ（アプリケーションプログラム）が使用するデータを記憶するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の記憶装置である。
【００１１】
ＡＰＰ記憶部１３は、ＡＰＰを記憶するＨＤＤ等の記憶装置である。
ここで、ＡＰＰは、データが更新されたことが通知された場合に動作するように設定されている。また、ＡＰＰは、共有メモリ１２に記憶されたデータのうち、どのデータ種別を使用するかが予め定義されている。データ種別は、例えば、給与情報、売上情報、在庫情報等である。
【００１２】
インメモリデータ管理部１４は、共有メモリ１２に記憶されたデータの管理を行う。インメモリデータ管理部１４は、データ送信部１５、データ更新部１６、更新通知部１７を備える。
【００１３】
データ送信部１５は、ＡＰＰによってデータが更新された場合、更新されたデータを、他のサーバ１０へブロードキャスト送信又はマルチキャスト送信する。
【００１４】
データ更新部１６は、他のサーバ１０におけるデータ送信部１５が送信したデータのうち、自身のサーバ１０における共有メモリ１２に記憶されたデータ種別のデータを取得して、取得したデータにより共有メモリ１２のデータを更新する。データ更新部１６は、ＡＰＰ記憶部１３に記憶されたＡＰＰが使用するデータ種別のデータのみを共有メモリ１２に記憶するように動作する。
【００１５】
更新通知部１７は、データ更新部１６によって共有メモリ１２に記憶されたデータが更新されると、設定記憶部１１に記憶された設定がマスタサーバであることを示す場合には、ＡＰＰ記憶部１３に記憶されたＡＰＰのうち、更新されたデータを使用するＡＰＰへデータが更新されたことを通知する。一方、更新通知部１７は、設定記憶部１１に記憶された設定がスレーブサーバであることを示す場合には、ＡＰＰへデータが更新されたことを通知しない。
ＡＰＰはデータが更新されたことが通知された場合に動作するように設定されている。そのため、データが更新されると、マスタサーバの場合にはＡＰＰが動作するが、スレーブサーバの場合にはＡＰＰが動作しない。
【００１６】
図２は、サーバ１０を用いて構成された冗長化されたシステム１００を示す図である。
システム１００は、３台のサーバ１０ａ〜ｃがサービスバス２０により接続され構成されている。サーバ１０ａ，ｂはマスタサーバであり、サーバ１０ｃはスレーブサーバである。したがって、サーバ１０ａ，ｂの設定記憶部１１にはマスタサーバであることを示す設定が記憶され、サーバ１０ｃの設定記憶部１１にはスレーブサーバであることを示す設定が記憶されている。
【００１７】
サーバ１０ａの共有メモリ１２には、データＤ１，Ｄ２が記憶されており、サーバ１０ａのＡＰＰ記憶部１３には、データＤ１を使用するＡＰＰ１と、データＤ２を使用するＡＰＰ２が記憶されている。
サーバ１０ｂの共有メモリ１２には、データＤ２，Ｄ３が記憶されており、サーバ１０ｂのＡＰＰ記憶部１３には、データＤ２，Ｄ３を使用するＡＰＰ３が記憶されている。
サーバ１０ｃの共有メモリ１２には、データＤ１，Ｄ２，Ｄ３が記憶されており、サーバ１０ｃのＡＰＰ記憶部１３には、ＡＰＰ１，２，３が記憶されている。
【００１８】
（サーバ１０ａのＡＰＰ１がデータＤ１を変更した場合）
サーバ１０ａのデータ送信部１５は、更新されたデータＤ１をサービスバス２０を介してブロードキャスト送信又はマルチキャスト送信する。
この場合、サーバ１０ｂの共有メモリ１２にはデータＤ１が記憶されていないため、サーバ１０ｂのデータ更新部１６は送信されたデータＤ１を取得しない。
一方、サーバ１０ｃの共有メモリ１２にはデータＤ１が記憶されているため、サーバ１０ｃのデータ更新部１６は送信されたデータＤ１を取得する。そして、サーバ１０ｃのデータ更新部１６は、取得したデータＤ１で共有メモリ１２のデータＤ１を更新する。これにより、サーバ１０ａとサーバ１０ｃとの間で、データが同期する。ここで、サーバ１０ｃはスレーブサーバであるため、サーバ１０ｃの更新通知部１７は、データＤ１が更新されたことを、データＤ１を使用するＡＰＰ１へ通知しない。
【００１９】
（サーバ１０ａのＡＰＰ２がデータＤ２を変更した場合）
サーバ１０ａのデータ送信部１５は、更新されたデータＤ２をサービスバス２０を介してブロードキャスト送信又はマルチキャスト送信する。
この場合、サーバ１０ｂの共有メモリ１２にはデータＤ２が記憶されているため、サーバ１０ｂのデータ更新部１６は送信されたデータＤ２を取得する。そして、サーバ１０ｂのデータ更新部１６は、取得したデータＤ２で共有メモリ１２のデータＤ２を更新する。これにより、サーバ１０ａとサーバ１０ｂとの間で、データが同期する。ここで、サーバ１０ｂはマスタサーバであるため、サーバ１０ｂの更新通知部１７は、データＤ２が更新されたことを、データＤ２を使用するＡＰＰ３へ通知する。すると、ＡＰＰ３が更新されたデータＤ２を使用して動作する。
また、サーバ１０ｃの共有メモリ１２にはデータＤ２が記憶されているため、サーバ１０ｃのデータ更新部１６は送信されたデータＤ２を取得する。そして、サーバ１０ｃのデータ更新部１６は、取得したデータＤ２で共有メモリ１２のデータＤ２を更新する。これにより、サーバ１０ａとサーバ１０ｃとの間で、データが同期する。ここで、サーバ１０ｃはスレーブサーバであるため、サーバ１０ｃの更新通知部１７は、データＤ２が更新されたことを、データＤ２を使用するＡＰＰ２，３へ通知しない。
【００２０】
（サーバ１０ａに障害が発生した場合）
この場合、サーバ１０ｃの設定記憶部１１の設定がマスタサーバに変更されるとともに、サーバ１０ｂの設定記憶部１１の設定がスレーブサーバに変更される。これにより、サーバ１０ａ，ｂに代わって、サーバ１０ｃがマスタサーバとして動作することになる。
例えば、サーバ１０以外に、各サーバ１０の動作状態を監視する監視装置を設けておき、監視装置がマスタサーバの障害を検知した場合に、各サーバ１０の設定を変更してもよい。図示しない監視装置がサーバ１０ａ、１０ｂ、１０ｃにネットワーク接続され、それぞれのサーバ１０からポーリングに対する応答があるかどうか確認を行うことにより、サーバ１０に障害が発生したかどうかが検知できる。例えば、監視装置は、サーバ１０ａに障害が発生し、サーバ１０ｃは通常に動作していることが確認できたため、サーバ１０ｃをマスタサーバに変更しようとする。
【００２１】
（サーバ１０ａが復旧した場合）
この場合、サーバ１０ａの設定記憶部１１の設定がスレーブサーバにされ、サーバ１０ａが起動される。すると、サーバ１０ａは初期同期処理を実行して、最新のデータを共有メモリ１２に記憶する。
初期同期処理では、まず、サーバ１０ａのＡＰＰ記憶部１３に記憶された各ＡＰＰ１，２が必要なデータＤ１，Ｄ２をデータ更新部１６に要求する。すると、データ更新部１６は、サーバ１０ａが必要なデータＤ１，Ｄ２をマスタサーバであるサーバ１０ｃへ要求する。サーバ１０ｃのデータ送信部１５は、要求されたデータＤ１，Ｄ２を要求元のサーバ１０ａへ送信する。サーバ１０ａのデータ更新部１６は、送信されたデータＤ１，Ｄ２を取得し、取得したデータＤ１，Ｄ２で共有メモリ１２に記憶する。これにより、初期同期が完了する。
なお、新たなスレーブサーバを作る場合にも、初期同期処理によりデータを最新の状態にすることが可能である。
【００２２】
図３は、サーバ１０ｄを加えたシステム１００を示す図である。図３では、図２に示すシステム１００にサーバ１０ｄが加えられている。図３では、簡単のため、サーバ１０ａ〜ｃの構成を簡略化している。
サーバ１０ｄは、データを保存するためのバックアップサーバである。サーバ１０ｄの共有メモリ１２には、全てのマスタサーバ（ここでは、サーバ１０ａ，ｂ）に記憶されているデータＤ１〜Ｄ３が記憶されており、サーバ１０ｄのＡＰＰ記憶部１３には、ＡＰＰとしてデータ永続化プロセスが記憶されている。サーバ１０ｄはバックアップサーバであるため、サーバ１０ｄの設定記憶部１１にはバックアップサーバであることを示す設定が記憶されている。
共有メモリ１２は、ＲＡＭ等であるため、電源が切れるとデータが消去されてしまう。そこで、サーバ１０ｄでは、データ更新部１６が、マスタサーバと設定されている全てのサーバ１０から送信されたデータを取得し、共有メモリ１２のデータを更新する。そして、共有メモリ１２のデータが更新されると、データ永続化プロセスが動作してＨＤＤ等の不揮発性の記憶装置に記憶する。
【００２３】
図３のように、バックアップサーバが存在する場合、初期同期処理では、マスタサーバに対してデータを要求するのに代えて、バックアップサーバに対してデータを要求してもよい。これにより、稼働中のマスタサーバへ負荷をかけることなく、初期同期処理を実行することができる。
【００２４】
図４は、データ同期の処理の流れを示す処理フロー図である。
サーバ１０Ａにおいて、ＡＰＰによって共有メモリ１２のデータが更新されると（Ｓ１１）、サーバ１０Ａのデータ送信部１５は、更新されたデータを共有メモリ１２から取得し（Ｓ１２）、サービスバス２０を介してブロードキャスト送信又はマルチキャスト送信する（Ｓ１３）。
すると、サーバ１０Ａ以外のサーバ１０Ｂのデータ更新部１６は、送信されたデータを取得する（Ｓ１４）。そして、サーバ１０Ｂのデータ更新部１６は、取得したデータＤ２で共有メモリ１２のデータを更新する（Ｓ１５）。これにより、サーバ１０Ａとサーバ１０Ｂとの間で、データが同期する。
次に、サーバ１０Ｂの更新通知部１７は、サーバ１０Ｂがマスタサーバであるかスレーブサーバであるかを判定する（Ｓ１６）。そして、サーバ１０Ｂの更新通知部１７は、サーバ１０Ｂがマスタサーバであれば、データが更新されたことを、データを使用するＡＰＰへ通知する（Ｓ１７）。通知を受けると、ＡＰＰが更新されたデータを使用して動作する。一方、サーバ１０Ｂの更新通知部１７は、サーバ１０Ｂがスレーブサーバであれば、データが更新されたことを通知しない（Ｓ１８）。通知を受けないため、ＡＰＰは動作しない。
【００２５】
図５は、初期同期処理の流れを示す処理フロー図である。
初期同期処理を行うサーバ１０ＡのＡＰＰ記憶部１３に記憶された各ＡＰＰが必要なデータをデータ更新部１６に要求する（Ｓ２１）。すると、データ更新部１６は、サーバ１０Ａが必要なデータの転送をマスタサーバあるいはバックアップサーバであるサーバ１０Ｂへ要求する（Ｓ２２）。
サーバ１０Ｂのデータ送信部１５は、要求されたデータを共有メモリ１２から取得して（Ｓ２３）、要求元のサーバ１０Ａへ送信する（Ｓ２４）。サーバ１０Ａのデータ更新部１６は、送信されたデータで共有メモリ１２に記憶する（Ｓ２５）。これにより、初期同期が完了する。
【００２６】
以上のように、実施の形態１に係るサーバ１０では、単にサーバ１０を冗長構成とすれば、高可用性を実現することができる。
【００２７】
また、実施の形態１に係るサーバ１０で構成されたシステム１００では、ＡＰＰで使用するデータは、そのＡＰＰが記憶されたサーバ１０の共有メモリ１２に記憶されている。そのため、ＡＰＰのデータアクセスを高速化できるとともに、ネットワークの障害の影響を受けない。特に、共有メモリ１２は、上述した通り、ＲＡＭ等であるため、ＡＰＰのデータアクセスを高速化できる。
【００２８】
また、実施の形態１に係るサーバ１０で構成されたシステム１００では、各サーバ１０は、そのサーバ１０に記憶されたＡＰＰで使用するデータのみを記憶する。そのため、記憶装置のリソースを効率的に使用できる。
【００２９】
また、実施の形態１に係るサーバ１０で構成されたシステム１００では、マスタサーバに障害が発生した場合、共有メモリ１２の同期は既に行われているため、スレーブサーバの設定をマスタサーバに変更するだけで、システム１００の運用を継続できる。
【００３０】
なお、インメモリデータ管理部１４は、優先度の高いＡＰＰやデータを定義可能としてもよい。インメモリデータ管理部１４は、サーバ１０の負荷が高い場合、優先度の高いＡＰＰやデータに関する処理を優先して動作させる。つまり、インメモリデータ管理部１４は、データ更新部１６が同時に複数のデータを取得した場合には、優先度の高いデータを先に共有メモリ１２に書き込み、更新通知部１７がデータが更新されたことをＡＰＰに通知して、優先的に優先度の高いＡＰＰを動作させる。
また、インメモリデータ管理部１４は、ネットワークの負荷が高い場合、優先度が高いデータに関する処理を優先して動作させる、あるいは、優先度が低いデータに関するは処理は動作させないようにしてもよい。また、インメモリデータ管理部１４は、ネットワークの負荷により処理の優先度を変更してもよい。
【００３１】
また、あるサーバ１０で動作しているＡＰＰが他のサーバ１０で動作しているＡＰＰを呼び出して動作させたいような場合が考えられる。例えば、図２におけるサーバ１０ａで動作するＡＰＰ１がサーバ１０ｂで動作するＡＰＰ３を呼び出し動作させたいとする。この場合、原則として、ＡＰＰ１はＡＰＰ３がサーバ１０ｂで動作していることを認識する必要がある。
しかし、他のＡＰＰがどのサーバ１０で動作しているかを各ＡＰＰに予め認識させるには、各ＡＰＰへの設定が必要である。そこで、サーバ１０に、各ＡＰＰがどのサーバ１０で動作しているかを管理するネームサービス部を設けておき、ＡＰＰが他のＡＰＰを呼び出す場合、ネームサービス部へ問合せ、呼び出すＡＰＰがどのサーバ１０で動作しているかを確認させてもよい。これにより、各ＡＰＰへの設定が不要となる。
【００３２】
また、共有メモリ１２は、ＫＶＳ（Ｋｅｙ−Ｖａｌｕｅ  Ｓｔｏｒｅ）方式でデータを保存しているとしてもよい。この場合、ＡＰＰ記憶部１３は、ＫＶＳ方式で保存されたデータへアクセスするためのＡＰＩを各ＡＰＰに提供する。これにより、共有メモリ１２に記憶されたデータへの高速アクセスを実現することができる。
【００３３】
図６は、実施の形態１に係るサーバ１０のハードウェア構成の一例を示す図である。
図６に示すように、サーバ１０は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、ＬＣＤ９０１（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、キーボード９０２（Ｋ／Ｂ）、通信ボード９１５、ＨＤＤ９２０と接続され、これらのハードウェアデバイスを制御する。ＨＤＤ９２０（固定ディスク装置）の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。ＨＤＤ９２０は、所定の固定ディスクインタフェースを介して接続される。
「設定記憶部１１」や「ＡＰＰ記憶部１３」は、ＨＤＤ９２０やＲＯＭ９１３によって構成される。また、「共有メモリ１２」は、ＲＡＭ９１４によって構成される。
【００３４】
ＨＤＤ９２０又はＲＯＭ９１３又はＲＡＭ９１４などには、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００３５】
プログラム群９２３には、上記の説明において「インメモリデータ管理部１４」等として説明した機能を実行するソフトウェアやプログラムやその他のプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、上記の説明において「設定記憶部１１」、「共有メモリ１２」、「ＡＰＰ記憶部１３」に格納される情報やデータや信号値や変数値やパラメータが記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵ９１１の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵ９１１の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００３６】
また、上記の説明におけるフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、その他光ディスク等の記録媒体やＩＣチップに記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体や電波によりオンライン伝送される。
また、上記の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。また、「〜装置」として説明するものは、「〜回路」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組合せ、さらには、ファームウェアとの組合せで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ＲＯＭ９１３等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、上記で述べた「〜部」としてコンピュータ等を機能させるものである。あるいは、上記で述べた「〜部」の手順や方法をコンピュータ等に実行させるものである。
【符号の説明】
【００３７】
１０  サーバ、１１  設定記憶部、１２  共有メモリ、１３  ＡＰＰ記憶部、１４  インメモリデータ管理部、１５  データ送信部、１６  データ更新部、１７  更新通知部、２０  サービスバス、１００  システム。
【要約】
【課題】簡易的なサーバ構成により、高可用性を実現することを目的とする。
【解決手段】サーバ１０のインメモリデータ管理部１４は、データが他のサーバ１０で更新された場合に、更新されたデータを取得してデータを更新し、データを更新すると、サーバ１０がスレーブサーバである場合には、更新されたデータを使用するＡＰＰへデータが更新されたことを通知せず、サーバ１０がマスタサーバである場合には、ＡＰＰへデータが更新されたことを通知する。
【選択図】図２【図１】
0005562454.tif 000002
【図２】
0005562454.tif 000003
【図３】
0005562454.tif 000004
【図４】
0005562454.tif 000005
【図５】
0005562454.tif 000006
【図６】
0005562454.tif 000007