JP6289214B2 - 情報処理システム及びその方法 - Google Patents

情報処理システム及びその方法 Download PDF

Info

Publication number
JP6289214B2
JP6289214B2 JP2014072562A JP2014072562A JP6289214B2 JP 6289214 B2 JP6289214 B2 JP 6289214B2 JP 2014072562 A JP2014072562 A JP 2014072562A JP 2014072562 A JP2014072562 A JP 2014072562A JP 6289214 B2 JP6289214 B2 JP 6289214B2
Authority
JP
Japan
Prior art keywords
received
request
identification number
response
controller
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.)
Active
Application number
JP2014072562A
Other languages
English (en)
Other versions
JP2015194912A (ja
Inventor
順一 ▲あべ▼木
順一 ▲あべ▼木
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.)
Mitsubishi Precision Co Ltd
Original Assignee
Mitsubishi Precision Co 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 Mitsubishi Precision Co Ltd filed Critical Mitsubishi Precision Co Ltd
Priority to JP2014072562A priority Critical patent/JP6289214B2/ja
Priority to US14/672,762 priority patent/US20150278036A1/en
Publication of JP2015194912A publication Critical patent/JP2015194912A/ja
Application granted granted Critical
Publication of JP6289214B2 publication Critical patent/JP6289214B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1474Saving, restoring, recovering or retrying in transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/006Identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • G06F11/184Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality

Description

本発明は、情報処理システム及びその方法に関する。
従来、リソースを有するサーバーが、クライアント端末から受信したリクエストに応じて所定の処理を行い、レスポンスを作成すると共に、処理内容に対応したリソースの変更を行って、クライアント端末に対してレスポンスを送信するシステムが用いられている。
このようなシステムの多くでは、サーバーは24時間365日、連続して稼働することが求められる。システムの核となるサーバーが故障すると、システム全体の動作が停止するなど、致命的な影響を与える場合がある。
そこで、サーバーに故障が発生した場合には、代替の正常なサーバーに切り替える等の対応を行って、システムの機能を失わないように対策されている。
具体的には、システムは、実際の処理を行う運用系のサーバーと、実際の処理は行わずに待機する待機系のサーバーとを備えた冗長性を持つように対策することが通例である。もし、運用系のサーバーが故障した時には、待機系のサーバーに切り替えて、システムの機能が失われないようになされている。
特開平11−134210号公報 特表2002−525748号公報
しかし、運用系のサーバーの異常を検知し、故障した運用系のサーバーから待機系のサーバーに切り替える間には、その手順を実行するために、システムの停止する時間が生じる。
また、待機系のサーバーが異常を有している場合には、運用系のサーバーから待機系のサーバーへの切り替えが行えない場合もある。
更に、故障した運用系のサーバーから待機系のサーバーに切り替える作業が複雑なので、切り替え作業にトラブルが生じるおそれがある。
そこで、2重化されたプロセッサ又はメモリなどのハードウェアをリアルタイムで同期させて動作するフォールトトレラント型のサーバーが提案されている。
しかし、フォールトトレラント型のサーバーは、ハードウェアの結合度が高く、制約が大きいので、遠隔地にサーバーを分散して配置するようなシステムを構成することが困難であり、また、高価であるという問題点を有する。
そこで、本明細書では、上述した問題点を解決し、2台を超える数のサーバーで容易に冗長化でき、また、一部のサーバーを遠隔地に配置しうる情報処理システム及びその方法を提供することを課題とする。
本明細書に開示する情報処理システムによれば、リソースを有するサーバーが、クライアント端末から受信したリクエストに応じて所定の処理を行い、レスポンスを作成すると共に、上記処理内容に対応したリソースの変更を行って、クライアント端末に対してレスポンスを送信するシステムであって、クライアント端末と通信可能に接続されたコントローラと、上記コントローラと通信可能に接続された複数の上記サーバーと、を備え、上記コントローラは、クライアント端末から受信したリクエストに対して連続する識別番号を付して、受信したリクエストを複数の上記サーバーへ送信し、複数の上記サーバーから受信したレスポンスの内の一のレスポンス又は複数のレスポンスに基づいて生成したレスポンスを、リクエストを送信したクライアント端末へ送信し、各上記サーバーは、受信したリクエストに付された今回の上記識別番号が、前回に受信したリクエストに付された前回の上記識別番号と連続していれば、受信したリクエストに応じて所定の処理を行い、レスポンスを作成すると共に、上記処理内容に対応したリソースの変更を行って、上記コントローラに対してレスポンスを送信し、且つ今回の上記識別番号及び今回の上記識別番号と関連付けられたリソースの変更内容を記憶し、今回の上記識別番号が、前回の上記識別番号と連続していなければ、今回の上記識別番号と、前回の上記識別番号との間に位置する欠落している上記識別番号と関連付けられたリソースの変更内容を、他の上記サーバーから受信して、欠落している上記識別番号と関連付けられたリソースの変更内容をリソースに反映して、リソースの変更を行った後、受信したリクエストに応じて所定の処理を行い、レスポンスを作成すると共に、上記処理内容に対応したリソースの変更を行って、上記コントローラに対してレスポンスを送信し、且つ今回の上記識別番号及び今回の上記識別番号と関連付けられたリソースの変更内容を記憶する。
また、本明細書に開示する情報処理方法によれば、リソースを有する上記サーバーが、クライアント端末から受信したリクエストに応じて所定の処理を行い、レスポンスを作成すると共に、上記処理内容に対応したリソースの変更を行って、クライアント端末に対してレスポンスを送信する情報処理方法であって、クライアント端末と通信可能に接続されたコントローラが、クライアント端末から受信したリクエストに対して連続する識別番号を付して、受信したリクエストを複数の上記サーバーへ送信するステップと、各上記サーバーが、受信したリクエストに付された今回の上記識別番号が、前回に受信したリクエストに付された前回の上記識別番号と連続していれば、受信したリクエストに応じて所定の処理を行い、レスポンスを作成すると共に、上記処理内容に対応したリソースの変更を行って、上記コントローラに対してレスポンスを送信し、且つ今回の上記識別番号及び今回の上記識別番号と関連付けられたリソースの変更内容を記憶するステップと、各上記サーバーが、今回の上記識別番号が、前回の上記識別番号と連続していなければ、今回の上記識別番号と、前回の上記識別番号との間に位置する欠落している上記識別番号と関連付けられたリソースの変更内容を、他の上記サーバーから受信して、欠落している上記識別番号と関連付けられたリソースの変更内容をリソースに反映して、リソースの変更を行った後、受信したリクエストに応じた所定の処理を行い、レスポンスを作成すると共に、上記処理内容に対応したリソースの変更を行って、上記コントローラに対してレスポンスを送信し、且つ今回の上記識別番号及び今回の上記識別番号と関連付けられたリソースの変更内容を記憶するステップと、上記コントローラが、複数の上記サーバーから受信したレスポンスの内の一のレスポンス又は複数のレスポンスに基づいて生成したレスポンスを、リクエストを送信したクライアント端末へ送信するステップと、を備える。
また、本明細書に開示する情報処理システムによれば、リソースを有するサーバーが、クライアント端末から受信したリクエストに応じて所定の処理を行い、前記処理内容に対応してリソースを変更し、一つ又は複数のリクエストの処理結果をクライアント端末に対して送信する情報処理システムであって、各々がリソースを有する複数のサーバーと、複数のサーバーとクライアント端末と双方に通信可能なコントローラを備え、前記コントローラは、クライアント端末から受信したリクエストに対し、受信した順番に対応して連続する識別子を生成して各々のリクエストに付加し、サーバーへ送信する手段を有し、前記サーバーは、前記コントローラから受信したリクエストに付加された識別子の連続性を利用して、前回受信したリクエストと今回受信したリクエストの間に、受信していないリクエストが存在するか否かを判定する手段と、受信していないリクエストが存在すると判定したときは、受信していないリクエストに対応して変更されるべきリソースの変更内容の情報を他の前記サーバーへ問い合わせる手段を有する。
また、本明細書に開示するコントローラによれば、上述した情報処理システムのコントローラにおいて、連続する識別番号を生成する識別番号生成手段と、生成した前記識別番号に関する情報を記録するメモリと、を備え、クライアント端末から受信したリクエストに対し、前記識別番号を記録する前記メモリを参照し、前回受信したリクエストに対して生成した識別番号に関する情報を読み出して、今回受信したリクエストに対して連続する識別番号を生成する識別番号生成手段により連続する前記識別番号を生成し、前記受信したリクエストに付して、複数の前記サーバーへ送信し、複数の前記サーバーから受信した一つ又は複数のレスポンスに基づいてレスポンスを生成して、前記リクエストを送信した前記クライアント端末へ送信する。
更に、本明細書に開示するサーバーによれば、上述した情報処理システムのサーバー並びに上述したコントローラを有する情報処理システムのサーバーにおいて、受信したリクエストに付された今回の前記識別番号が、前回に受信したリクエストに付された前回の識別番号と連続しているときは、前記リクエストに応じて所定の処理を行い、前記処理内容に対応してリソースに対して行った変更の内容を前記識別番号に関連づけて記憶し、受信したリクエストに付された今回の識別番号が、前回に受信したリクエストに付された前回の識別番号と連続していないときは、今回の前記識別番号と、前回の前記識別番号との間に位置する欠落している前記識別番号と関連づけられたリソースの変更内容を、他の前記サーバーから受信して、欠落している前記識別番号と関連づけられたリソースの変更内容をリソースに反映して、リソースの変更を行った後、前記リクエストに応じて所定の処理を行い、前記処理内容に対応してリソースに対して行った変更の内容を前記識別番号に関連づけて記憶する。
上述した本明細書に開示する情報処理システムによれば、動作を停止しない情報処理システムが得られる。
また、上述した本明細書に開示する情報処理方法によれば、情報処理システムを停止させないで動作させることできる。
本明細書に開示するシステムの第1実施形態のシステム構成図である。 コントローラの構成図である。 サーバーリスト表を説明する図である。 サーバーの構成図である。 アクセスポイント位置情報表を説明する図である。 端末位置情報表を説明する図である。 サーバーアドレス表を説明する図である。 クライアント端末の構成図である。 システムの第1実施形態の動作を説明するフローチャート(その1)である。 システムの第1実施形態の動作を説明するフローチャート(その2)である。 システムの第1実施形態の動作を説明するフローチャート(その3)である。 システムの第1実施形態の動作を説明するフローチャート(その4)である。 システムの第1実施形態の動作を説明するフローチャート(その5)である。 システムの第1実施形態の動作を説明するフローチャート(その6)である。 本明細書に開示するシステムの第2実施形態のコントローラの構成図である。 分配部の構成図である。 サブコントローラリスト表を説明する図である。 システムの第2実施形態の動作を説明するフローチャート(その1)である。 システムの第2実施形態の動作を説明するフローチャート(その2)である。 本明細書に開示するシステムの第3実施形態のシステム構成図である。 サーバーリスト表を説明する図である。 システムの第3実施形態の動作を説明するフローチャート(その1)である。 システムの第3実施形態の動作を説明するフローチャート(その2)である。 システムの第3実施形態の動作を説明するフローチャート(その3)である。 システムの第3実施形態の動作を説明するフローチャート(その4)である。
以下、本明細書で開示する情報処理システムの好ましい第1実施形態を、図を参照して説明する。但し、本発明の技術範囲はそれらの実施形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
図1は、本明細書に開示する情報処理システム(以下、単にシステムともいう)の第1実施形態のシステム構成図である。図2は、コントローラの構成図である。図3は、サーバーの構成図である。図4は、クライアント端末の構成図である。
本実施形態のシステム10は、リソースを有するサーバーS1〜S3が、クライアント端末T1〜T4から受信したリクエストに応じて所定の処理を行い、レスポンスを作成すると共に、処理内容に対応したリソースの変更を行って、クライアント端末T1〜T4に対してレスポンスを送信する。
ここで、リクエストは、クライアント端末からのサーバーへの処理の要求であり、レスポンスは、サーバーが要求を処理した結果である。
また、リソースは、サーバーが有するデータベース、又は、ファイル、又は、メモリ、又は、情報出力部、又は、これらの組み合わせ等である。
システム10は、クライアント端末T1〜T4からのリクエストに対して、所定の処理を行い、レスポンスを作成する複数のサーバーS1〜S3を備えた冗長性を有している。図1に示す例では、システム10は、3つのサーバーS1〜S3を備えているが、サーバーの数は2つ以上であれば、特に限定されるものではない。
システム10は、例えば、1台又は2台のサーバーが故障により停止した場合、又は、ネットワークの障害によって1台又は2台のサーバーとの通信が切断された場合、又は、1台又は2台のサーバーの故障によりデータが消失した場合でも、システム10は停止することなく動作を継続することができる。更に、1台又は2台のサーバーが動作しない状態になったときも、正常なサーバーに切り替える特別な操作を必要としない。
また、システム10では、故障したサーバーが正常に機能するサーバーに置き換えられた時には、置き換えられた新たなサーバーは、リソースの更新を自動的に行って、他のサーバーのリソースと同期することができる。
図1に示すように、システム10は、複数のクライアント端末T1〜T4と、ネットワークN1を介して、通信可能に接続されたコントローラCと、コントローラCと、ネットワークN2を介して、通信可能に接続された複数のサーバーS1〜S3を備える。
サーバーS3は、ネットワークN2と通信可能に接続されたネットワークN3を介して、コントローラCと接続される。
ネットワークN1としては、例えば、イーサネット(登録商標)、WiFi(登録商標)等の無線LAN、インターネット等の広域ネットワークを用いることができる。
ネットワークN2としては、例えば、イーサネット(登録商標)等の構内ネットワークを用いることができる。ネットワークN3としては、例えば、インターネット等の広域ネットワークを用いることができる。
コントローラCは、クライアント端末T1〜T4から受信したリクエストに対して連続する識別番号を付して、受信したリクエストを複数のサーバーS1〜S3へ送信する。ここで、識別番号は、サーバーS1〜S3の間で同一である。また、コントローラCは、複数のサーバーS1〜S3から受信したレスポンスの内の一のレスポンスを、リクエストを送信したクライアント端末T1〜T4へ送信する。
図2に示すように、コントローラCは、演算部Caと、記憶部Cbと、操作部Ccと、表示部Cdと、通信部Ceを有する。
演算部Caは、記憶部Cbに予め記憶されている所定のプログラムに従い、コントローラCの各要素の制御及び各種処理を行い、処理中に生じるデータを一時的に保存するために記憶部Cbを利用する。記憶部Cbは、1次記憶装置及び2次記憶装置を有していても良い。記憶部Cbは、生成した識別番号に関する情報を記録する。
操作部Ccは、システム10の管理者等によって操作されて、各種の情報を入力する。操作部Ccとしては、例えば、キーボード又はマウスを用いることができる。管理者は、操作部Ccを使用せず、ネットワークN2に接続したパーソナルコンピュータ等の端末を用いて操作するよう構成しても良い。演算部Caは、操作部Ccから入力された各種の情報を用いて、各種処理を行う。
表示部Cdは、演算部Caの動作によって、各種の情報を表示する。表示部Cdとしては、例えば、液晶パネルを用いることができる。
通信部Ceは、ネットワークN1を介して、クライアント端末T1〜T4との間でデータの送受信を行う。また、通信部Ceは、ネットワークN2及びネットワークN3を介して、サーバーS1〜S3及び保守センターMの間でデータの送受信を行う。
コントローラCとしては、例えば、コンピュータ又はワンチップマイコン又はステートマシン等を用いることができる。演算部Caが、記憶部Cbに予め記憶されている所定のプログラムに従い、コントローラCの各要素の制御及び各種処理を行うことにより、クライアント端末から受信したリクエストに対し、識別番号を記録するメモリを参照し、前回受信したリクエストに対して生成した識別番号に関する情報を読み出して、今回受信したリクエストに対して連続する識別番号を生成する識別番号生成手段が実現される。
また、図2に示すように、コントローラCは、システム10が有するサーバーのリストを記憶するサーバリストデータベース(DB)30を有する。サーバーリストDB30には、サーバーリスト表30aが記憶される。
図3は、サーバーリスト表を説明する図である。
サーバーリスト表30aには、サーバーを識別するサーバー識別番号と、サーバーアドレスと、サーバーの異常の有無を示す状態とが関連付けられて記録されている。
コントローラCは、稼働しているサーバーのサーバー識別番号及びサーバーアドレスを、システム10の起動時又は変更が生じた時に、各サーバーへ送信する。
サーバーS1〜S3は、コントローラーCから受信したリクエストに応じたレスポンスを作成して、作成したレスポンスをコントローラCへ送信する。
図4に示すように、サーバーS1〜S3は、演算部Saと、記憶部Sbと、操作部Scと、表示部Sdと、通信部Seを有する。
演算部Saは、記憶部Sbに予め記憶されている所定のプログラムに従い、サーバーS1〜S3の各要素の制御及び各種処理を行い、処理中に生じるデータを一時的に保存するために記憶部Sbを利用する。記憶部Sbは、1次記憶装置及び2次記憶装置を有していても良い。
操作部Scは、システム10の管理者等によって操作されて、各種の情報を入力する。操作部Scとしては、例えば、キーボード又はマウスを用いることができる。演算部Saは、操作部Scから入力された各種の情報を用いて、各種処理を行う。
表示部Sdは、演算部Saの動作によって、各種の情報を表示する。表示部Sdとしては、例えば、液晶パネルを用いることができる。
通信部Seは、ネットワークN2又はネットワークN3を介して、コントローラC又は他のサーバーとの間でデータの送受信を行う。演算部Saが、記憶部Sbに予め記憶されている所定のプログラムに従い、サーバーS1〜S3の各要素の制御及び各種処理を行うことにより、コントローラから受信したリクエストに付加された識別子の連続性を利用して、前回受信したリクエストと今回受信したリクエストの間に、受信していないリクエストが存在するか否かを判定する手段が実現される。また、演算部Saが、記憶部Sbに予め記憶されている所定のプログラムに従い、サーバーS1〜S3の各要素の制御及び各種処理を行うことにより、受信していないリクエストに対応して変更されるべきリソースの変更内容の情報を他のサーバーへ問い合わせる手段が実現される。
本実施形態では、説明のために、クライアント端末の位置を無線通信の電波強度に基づいて測定し、測定されたクライアント端末の位置をデーターベースに記録し、クライアント端末からの問い合わせに対して、クライアント端末の位置情報を回答する位置情報サービスシステムへの応用に即して述べる。具体的には、システム10において、ネットワークN1としては、WiFi(登録商標)等の無線LANを用い、コントローラCと、複数のクライアント端末T1〜T4とは、図示しない3つのアクセスポイントAP1〜AP3を介して、通信可能に接続される。なお、本例では、3つのアクセスポイントを備えているが、アクセスポイントの数は特に限定されるものではない。図4に示すように、サーバーS1〜S3は、システム10が有するアクセスポイントAP1〜AP3の位置を記憶するアクセスポイント位置データベース(AP位置DB)31と、クライアント端末の位置を記憶するクライアント端末位置データベース(DB)32と、他のサーバーのアドレスを記憶するサーバーアドレスデータベース(DB)33を有する。
AP位置DB31には、アクセスポイント位置情報表31aが記憶される。
図5は、アクセスポイント位置情報表を説明する図である。
アクセスポイント位置情報表31aには、アクセスポイントを識別するAP識別番号と、アクセスポイントの位置を示すAP位置情報とが関連付けられて記録される。
クライアント端末位置DB32には、端末位置情報表32aが記憶される。
図6は、端末位置情報表を説明する図である。
端末位置情報表32aには、クライアント端末を識別する端末番号と、クライアント端末の位置を示す端末位置情報とが関連付けられて記録される。
サーバーアドレスDB33には、サーバーアドレス表33aが記憶される。
図7は、サーバーアドレス表を説明する図である。
サーバーアドレス表33aには、サーバーを識別するサーバー識別番号と、サーバーアドレスとが関連付けられて記録される。サーバーS1〜S3は、コントローラCから受信した稼働しているサーバーの識別番号及びサーバーアドレスを、サーバーアドレス表33aに記録する。
クライアント端末T1〜T4は、リクエストをコントローラCへ送信して、レスポンスをコントローラCから受信する。
図8に示すように、クライアント端末T1〜T4は、演算部Taと、記憶部Tbと、操作部Tcと、表示部Tdと、通信部Teを有する。
演算部Taは、記憶部Tbに予め記憶されている所定のプログラムに従い、クライアント端末T1〜T4の各要素の制御及び各種処理を行い、処理中に生じるデータを一時的に保存するために記憶部Tbを利用する。記憶部Tbは、1次記憶装置及び2次記憶装置を有していても良い。
操作部Tcは、クライアント端末の操作者等によって操作されて、各種の情報を入力する。操作部Tcとしては、例えば、タッチパネルを用いることができる。演算部Taは、操作部Tcから入力された各種の情報を用いて、各種処理を行う。
表示部Tdは、演算部Taの動作によって、各種の情報を表示する。表示部Tdとしては、例えば、液晶パネルを用いることができる。
通信部Teは、ネットワークN1を介して、コントローラCとの間でデータの送受信を行う。
クライアント端末T1〜T4としては、例えば、多機能型携帯電話機、タブレット端末、ノート型パーソナルコンピュータ等を用いることができる。
また、ネットワークN3には、保守センターMが接続される。コントローラCは、異常を有すると判断したサーバーのサーバー識別番号を、電子メールを用いて、ネットワークN3を介して、保守センターMのメールアドレスに送信する。保守センターMの管理者は、電子メールを用いて連絡を受けたサーバーの保守を行う。
次に、上述したシステム10の第1の動作例を、図9〜図11を参照して、以下に説明する。
システム10の第1の動作例では、自己の位置情報を問い合わせるクライアント端末のリクエストに対して、サーバーがクライアント端末の位置情報を計算し、コントローラが、クライアント端末に対してレスポンスを送信する。
まず、ステップS10において、クライアント端末T1〜T4は、自己の位置情報を問い合わせるリクエストを、3つのアクセスポイントAP1〜AP3から受信した電波強度及び端末番号と共に、コントローラCへ送信する。端末番号は、MACアドレス又はIPアドレスの何れかであっても良い。
図1に示す例では、クライアント端末T1〜T4は、3つのアクセスポイントAP1〜AP3からの電波を受信しており、それぞれのアクセスポイントからの電波強度を、通信部Teを用いて計測している。
クライアント端末の操作者は、クライアント端末を携帯して移動しており、クライアント端末と各アクセスポイントAP1〜AP3との距離は変動するので、クライアント端末の位置に応じて、それぞれのアクセスポイントからの電波強度も変化する。
次に、ステップS12において、コントローラCは、クライアント端末から受信したリクエストに対して連続する識別番号を付して、受信したリクエストを複数のサーバーS1〜S3へ送信する。識別番号は、一のリクエストを、他のリクエストから識別する一意性を有する番号である。識別番号は、システムの単位運用時間内に処理されるリクエストの件数を考慮して、十分に大きい数を表現できる桁数を有する整数とすることができる。連続する識別番号は、隣り合う識別番号の増分が1であるように生成することができる。同桁数の整数で表現できる最大の数で表す識別番号の次の識別番号は、0としても良い。コントローラCは、サーバーリスト表30aを参照して、異常の無いサーバーに対して、リクエストを送信する。
次に、ステップS14において、各サーバーS1〜S3は、受信したリクエストに付された今回の識別番号が、前回に受信したリクエストに付された前回の識別番号と連続しているかを判断する。識別番号が連続していれば、ステップS16へ進む。一方、識別番号が連続していなければ、ステップS30へ進む。
ステップS16へ進んだ場合、各サーバーS1〜S3は、端末位置情報表31aを参照して、リクエストを送信したクライアント端末の位置情報を計算して、レスポンスを作成する。各サーバーS1〜S3の記憶部Sbには、端末位置情報表31aを参照して、3つのアクセスポイントAP1〜AP3からの電波強度に基づいて、クライアント端末と各アクセスポイント間の距離を計算し、更に各アクセスポイントの位置データとこれらの距離データから、クライアント端末の位置情報を求めるプログラムが記憶されている。各サーバーS1〜S3は、このプログラムを実行して、クライアント端末の位置情報を計算する。
次に、ステップS18において、各サーバーS1〜S3は、計算されたクライアント端末の位置情報が、端末位置情報表31aに記録されていなければ、クライアント端末の識別番号と関連付けて記録する。また、各サーバーS1〜S3は、計算されたクライアント端末の位置情報が、端末位置情報表31aに記録されている位置情報と異なっていれば、記録されているクライアント端末の位置情報を今回計算された位置情報に更新する。このようにして、各サーバーS1〜S3は、処理内容に対応したリソースの変更を行う。
次に、ステップS20において、各サーバーS1〜S3は、今回の識別番号及び今回の識別番号と関連付けられた端末位置情報表31aの変更内容をログとしてログファイルに記憶する。ログファイルは、記憶部Sbに記憶される。
次に、ステップS22において、各サーバーS1〜S3は、コントローラCに対して算出した位置情報をレスポンスとして送信する。なお、ステップS18〜S22の順番は、前後が入れ替わっていても良い。
次に、ステップS24において、コントローラCは、複数のサーバーS1〜S3から受信したレスポンスの内の一のレスポンスを、識別番号を取り除いて、リクエストを送信したクライアント端末T1〜T4へ送信する。コントローラCは、複数のサーバーS1〜S3から受信したレスポンスの内の一のレスポンスを選択する方法として、例えば、以下の方法を用いることができる。このように、コントローラCは、リクエストを送信したクライアント端末へ送信するレスポンスを、複数のサーバーから受信したレスポンスの内の一のレスポンスに基づいて生成しても良い。また、コントローラCは、リクエストを送信したクライアント端末へ送信するレスポンスを、複数のサーバーから受信した複数のレスポンスに基づいて生成しても良い。
ステップS24aに示す例では、コントローラCは、複数のサーバーS1〜S3から受信したレスポンスの内、最も早く受信したレスポンスを、リクエストを送信したクライアント端末T1〜T4へ送信する。
ステップS24bに示す例では、コントローラCは、複数のサーバーS1〜S3から受信したレスポンスに対して、多数決判断を用いて多数派のレスポンスを決定し、多数派のレスポンスの内の一のレスポンスを、リクエストを送信したクライアント端末T1〜T4へ送信する。
ステップS24cに示す例では、コントローラは、複数のサーバーS1〜S3から受信したレスポンスが一致しない場合には、レスポンスを無効と判断して、リクエストに対応した所定の処理の実行ができないことを、リクエストを送信したクライアント端末T1〜T4へ送信する。
次に、ステップS26において、コントローラCは、受信したリクエストを複数のサーバーS1〜S3へ送信した後、所定の時間内に、コントローラCに対してレスポンスを送信しないサーバーは異常を有すると判断し、異常を有すると判断されたサーバーのサーバー識別番号を、電子メールを用いて、ネットワークN3を介して、保守センターMのメールアドレスに送信する。
そして、コントローラCは、サーバーリスト表30aに対して、異常を有するサーバーの状態として、異常有りのフラグを記録する。状態として、異常有りのフラグが記録されたサーバーは、稼働停止のサーバーとして判断される。そして、コントローラCは、稼働しているサーバーのサーバー識別番号及びサーバーアドレスを、各サーバーへ送信する。
次に、ステップS28において、リクエストを送信したクライアント端末T1〜T4は、コントローラCからのレスポンスを受信して、受信したクライアント端末の位置情報を表示部Tdに表示する。
一方、ステップS14において、識別番号が連続していない場合には、ステップS30へ進む。識別番号が連続していない場合としては、例えば、サーバーが故障により停止した場合、又は、ネットワークの障害によってコントローラとサーバーとの通信が切断された場合、又は、サーバーの故障によりデータが消失した場合等が挙げられる。このような異常を有するサーバーは、リクエストが送信されたとしても、リクエストを受信できないか又は正常にリクエストを処理することができない状態にある。そのため、異常を有するサーバーは、リクエストに付された識別番号を受信できないか、又はリクエストに対応する処理の実行を正常に完了できないので、欠落した識別番号が存在することになる。
ステップS30へ進んだ場合、一のサーバーS1〜S3は、今回の識別番号と、前回の識別番号との間に位置する欠落している識別番号と関連付けられた端末位置情報表31aの変更内容を、他のサーバーから受信して、欠落している識別番号と関連付けられた端末位置情報表31aの変更内容をリソースに加えて、端末位置情報表31aの変更を行う。一のサーバーS1〜S3は、サーバーアドレス表33aを参照して、他のサーバーと通信する。他のサーバーは、ログファイルを参照して、問い合わされた欠落している識別番号と関連付けられた端末位置情報表31aの変更内容を、一のサーバーS1〜S3へ送信する。ここで、データが消失等により、クライアント端末位置DB32に端末位置情報表31aが存在しない場合もあり得る。
このような場合には、ステップS30aに示すように、他のサーバから端末位置情報表31aを受信して、クライアント端末位置DB32に端末位置情報表31aを記憶する。
次に、ステップS32において、一のサーバーS1〜S3は、受信したリクエストに応じて所定の処理を行い、今回の識別番号が付されたレスポンスを作成すると共に、処理内容に対応した端末位置情報表31aの変更を行って、コントローラCに対してレスポンスを送信し、且つ今回の識別番号及び今回の識別番号と関連付けられた端末位置情報表31aの変更内容をログとしてログファイルに記憶する。そして、ステップS24へ進む。
このようにして、一のサーバーS1〜S3は、他のサーバーとリソースの同期をとる。他のサーバーとの同期を取った一のサーバーは、コントローラCへ自身が稼働可能であることを通知し、コントローラCはサーバーリスト表30a内の対応するサーバーの状態を、異常無しと更新する。
次に、上述したシステム10の第2の動作例を、図12〜図13を参照して、以下に説明する。
システム10の第2の動作例では、一のクライアント端末が、他のクライアント端末の位置情報を問い合わせるリクエストに対して、サーバーが指定されたクライアント端末の位置情報を端末位置情報表31aから読み出してレスポンスを作成し、コントローラが、問い合わせたクライアント端末にレスポンスを送信する。
まず、ステップS40において、一のクライアント端末T1〜T4は、他のクライアント端末T1〜T4の位置情報を問い合わせるリクエストを、端末番号と共に、コントローラCへ送信する。
次に、ステップS42において、コントローラCは、一のクライアント端末T1〜T4から受信したリクエストに対して連続する識別番号を付して、受信したリクエストを複数のサーバーS1〜S3へ送信する。
次に、ステップS44において、各サーバーS1〜S3は、受信したリクエストに付された今回の識別番号が、前回に受信したリクエストに付された前回の識別番号と連続しているかを判断する。識別番号が連続していれば、ステップS46へ進む。一方、識別番号が連続していなければ、ステップS50へ進む。
ステップS46へ進んだ場合、各サーバーS1〜S3は、端末位置情報表31aを参照して、他のクライアント端末T1〜T4の位置情報を読み出して、レスポンスを作成する。この処理では、端末位置情報表31aの内容の変更は行われない。
次に、ステップS48において、各サーバーS1〜S3は、コントローラCに対してレスポンスを送信する。その後のシステム10の動作は、上述したステップS24〜S28と同様である。
一方、ステップS44において、識別番号が連続していない場合には、ステップS50へ進む。
ステップS50へ進んだ場合、一のサーバーS1〜S3は、今回の識別番号と、前回の識別番号との間に位置する欠落している識別番号と関連付けられた端末位置情報表31aの変更内容を、他のサーバーから受信して、欠落している識別番号と関連付けられた端末位置情報表31aの変更内容をリソースに加えて、端末位置情報表31aの変更を行う。識別番号が連続していない場合には、端末位置情報表31aに記録されているクライアント端末の位置情報が最新のものではない可能性がある。そこで、上述したように、端末位置情報表31aの更新処理を行う。ここで、データが消失等により、クライアント端末位置DB32に端末位置情報表31aが存在しない場合もあり得る。
このような場合には、ステップS50aに示すように、一のサーバーS1〜S3は、他のサーバーS1〜S3から端末位置情報表31aを受信して、クライアント端末位置DB32に端末位置情報表31aを記憶する。
次に、ステップS52において、受信したリクエストに応じて所定の処理を行い、今回の識別番号が付されたレスポンスを作成して、コントローラCに対してレスポンスを送信する。その後のシステム10の動作は、上述したステップS24〜S28と同様である。
上述した第2の動作例では、コントローラCは、一のクライアント端末T1〜T4から受信したリクエストに対して連続する識別番号を付していたが、リソースの変更を伴わないリクエストに対しては、連続する識別番号を付さなくても良い。また、コントローラCは、リソースの変更を伴わないリクエストに対しては、物理的な距離が近いサーバー(例えばサーバーS1、S2)のみにリクエストを送信して、物理的な距離が遠いサーバー(例えば、サーバーS3)にはリクエストを送信しなくても良い。また、コントローラCは、リソースの変更を伴わないリクエストに対しては、サーバーの優先順位を設けて、優先順位の高いサーバーから順番にリクエストを送信するようにしても良い。ここで、サーバーの優先順位は、サーバーの処理能力に基づいて決定することができる。
次に、異常を有すると判断されたサーバーを正常に機能するサーバーに置き換えて、ネットワークに接続する手順を、図14を参照して、以下に説明する。
まず、ステップS60において、正常に機能するサーバーを用意して、所定のプログラムをインストールする。
次に、ステップS62において、稼働しているサーバーに問い合わせて、アクセスポイント位置表31a及びサーバーアドレス表33aを、正常に機能するサーバーに読み込ませる。アクセスポイント位置表31aは、AP位置DB31に記憶され、サーバーアドレス表33aは、サーバーアドレスDB33に記憶される。
次に、ステップS64において、異常を有すると判断されたサーバーから、最新のリクエストに付された識別番号と、端末位置情報表を読み出して、正常に機能するサーバーへ読み込ませる。なお、このステップは、異常を有すると判断されたサーバーから、最新のリクエストに付された識別番号と、端末位置情報表の読み出しを行えない場合には、行われなくてもよい。
次に、ステップS66において、異常を有すると判断されたサーバーをネットワークから取り外して、正常に機能するサーバーをネットワークに接続する。正常に機能するサーバーは、リクエストを処理する際に、リソースの更新を自動的に行って、他のサーバーのリソースと同期することができる。
上述した実施形態のシステムによれば、複数のサーバーが同じリソースを有し且つリソースの同期をとりながら同じ動作をする冗長性を有しているので、システムを停止させないで動作することができる。また、システム10によれば、故障した運用系のサーバーから待機系のサーバーに切り替え作業が不要なので、切り替えのための切り替え時間及び切り替え作業が不要となる。更に、故障したサーバーを正常なサーバーに交換する手順が簡単であり、交換と復旧を確実に行うことができる。
次に、上述したシステムの他の実施形態を、図を参照しながら以下に説明する。他の実施形態について特に説明しない点については、上述の第1実施形態に関して詳述した説明が適宜適用される。また、同一の構成要素には同一の符号を付してある。
図15は、本明細書に開示するシステムの第2実施形態のコントローラの構成図である。
本実施形態のシステム10では、コントローラCは、分配部Dと、複数のサブコントローラSC1〜SC3を有している。複数のサブコントローラSC1〜SC3は、上述した第1実施形態のコントローラと同様の機能を有している。即ち、本実施形態のシステムのコントローラCは、上述した第1実施形態のコントローラに対して冗長性を有している。
分配部Dは、クライアント端末T1〜T4から受信したリクエストを、複数のサブコントローラSC1〜SC3へ送信し、サブコントローラSC1〜SC3から受信した識別番号が付されたリクエストの内の一のリクエストを、複数のサーバーS1〜S3へ送信する。また、分配部Dは、複数のサーバーS1〜S3から受信したレスポンスを、複数のサブコントローラSC1〜SC3へ送信し、複数のサブコントローラSC1〜SC3から受信したレスポンスの内の一のレスポンスを、リクエストを送信したクライアント端末T1〜T4へ送信する。
図16に示すように、分配部Dは、演算部Daと、記憶部Dbと、操作部Dcと、表示部Ddと、通信部Deを有する。
演算部Daは、記憶部Dbに予め記憶されている所定のプログラムに従い、分配部Dの各要素の制御及び各種処理を行い、処理中に生じるデータを一時的に保存するために記憶部Dbを利用する。記憶部Dbは、1次記憶装置及び2次記憶装置を有していても良い。
操作部Dcは、システム10の管理者等によって操作されて、各種の情報を入力する。操作部Dcとしては、例えば、キーボード又はマウスを用いることができる。演算部Daは、操作部Dcから入力された各種の情報を用いて、各種処理を行う。管理者は、操作部Dcを使用せず、ネットワークN2に接続したパーソナルコンピュータ等の端末で操作するよう構成しても良い。
表示部Ddは、演算部Daの動作によって、各種の情報を表示する。表示部Ddとしては、例えば、液晶パネルを用いることができる。
通信部Deは、ネットワークN1を介して、クライアント端末T1〜T4との間でデータの送受信を行う。また、通信部Deは、ネットワークN2及びネットワークN3を介して、サーバーS1〜S3との間でデータの送受信を行う。また、通信部Deは、リンクR1〜R3を介して、サブコントローラSC1〜SC3とデータの送受信を行う。
また、図16に示すように、分配部Dは、コントローラCが有するサブコントローラのリストを記憶するサブコントローラリストデータベース(DB)34を有する。サブコントローラリストDB34には、サブコントローラリスト表34aが記憶される。
図17は、サブコントローラリスト表を説明する図である。
サブコントローラリスト表34aには、コントローラCが有するサブコントローラを識別するサブコントローラ識別番号と、サブコントローラアドレスと、サブコントローラの異常の有無を示す状態とが関連付けられて記録されている。
サブコントローラSC1〜SC3は、上述した第1実施形態のコントローラと同様の構成及び機能を有している。
サブコントローラSC1〜SC3は、分配部Dから受信したリクエストに対して連続する識別番号を付して、受信したリクエストを、分配部へ送信する。また、サブコントローラSC1〜SC3は、複数のサーバーS1〜S3から受信したレスポンスの内の一のレスポンスを、分配部Dへ送信する。
次に、上述した本明細書のシステム10の動作例を、図18及び図19を参照して、以下に説明する。
まず、ステップS70において、クライアント端末T1〜T4は、自己の位置情報を求めるリクエストを、3つのアクセスポイントAP1〜AP3から受信した電波強度及び端末番号と共に、コントローラCへ送信して、分配部Dはリクエストを受信する。
次に、ステップS72において、分配部Dは、クライアント端末T1〜T4から受信したリクエストを、複数のサブコントローラSC1〜SC3へ送信する。
次に、ステップS74において、各サブコントローラSC1〜SC3は、分配部Dから受信したリクエストに対して連続する識別番号を付して、受信したリクエストを、分配部Dへ送信する。各サブコントローラSC1〜SC3は、同じ動作をするので、一のリクエストに対して、同じ識別番号を付す。
次に、ステップS76において、分配部Dは、各サブコントローラSC1〜SC3から受信した識別番号が付されたリクエストの内の一のリクエストを、複数のサーバーS1〜S3へ送信する。そして、各サーバーS1〜S3は、上述したステップS14〜S22又はステップS30〜S32の動作を行って、コントローラCに対してレスポンスを送信し、分配部Dはレスポンスを受信する。
次に、ステップS78において、分配部Dは、複数のサーバーS1〜S3それぞれから受信したレスポンスを、複数のサブコントローラSC1〜SC3へ送信する。
次に、ステップS80において、各サブコントローラSC1〜SC3は、複数のサーバーS1〜S3から受信したレスポンスの内の一のレスポンスを、分配部Dへ送信する。各サブコントローラSC1〜SC3は、上述したステップS24と同様の処理を行う。
次に、ステップS82において、分配部Dは、複数のサブコントローラSC1〜SC3から受信したレスポンスの内の一のレスポンスを、リクエストを送信したクライアント端末T1〜T4へ送信する。複数のサブコントローラSC1〜SC3には、優先順位が付けられており、分配部Dは、この優先順位に基づいて、クライアント端末へ送信するリクエストを選択することができる。又は、分配部Dは、複数のサブコントローラから受信したレスポンスの内、最も早く受信したレスポンスを、リクエストを送信したクライアント端末へ送信しても良い。又は、分配部Dは、複数の前記サブコントローラから受信したレスポンスに対して、多数決判断を用いて多数派のレスポンスを採用し、多数派のレスポンスの内の一のレスポンスを、リクエストを送信したクライアント端末へ送信しても良い。
次に、ステップS84において、分配部Dは、クライアント端末T1〜T4から受信したリクエストを、複数のサブコントローラSC1〜SC3へ送信した後、所定の時間内に、識別番号が付されたリクエストを分配部Dに送信しないサブコントローラSC1〜SC3は異常を有すると判断し、異常を有すると判断されたサブコントローラSC1〜SC3の識別番号を、電子メールを用いて、ネットワークN3を介して、保守センターMのメールアドレスに送信する。また、分配部Dは、複数のサーバーS1〜S3から受信したレスポンスを、複数のサブコントローラSC1〜SC3へ送信した後、所定の時間内に、一のレスポンスを、分配部Dへ送信しないサブコントローラSC1〜SC3は異常を有すると判断し、異常を有すると判断されたサブコントローラSC1〜SC3の識別番号を、電子メールを用いて、ネットワークN3を介して、保守センターMのメールアドレスに送信する。
次に、ステップS86において、リクエストを送信したクライアント端末T1〜T4は、コントローラCからのレスポンスを受信して、受信したレスポンスを表示部Tdに表示する。
上述した実施形態のシステムによれば、一のサブコントローラが故障しても、他のサブコントローラが動作するので、システム10が停止することを防止できる。
次に、本明細書に開示するシステムの第3実施形態を、図を参照して、以下に説明する。
図20は、本明細書に開示するシステムの第3実施形態のシステム構成図である。
本実施形態のシステム10は、複数のサーバーS1〜S3により構成されるグループG1と、複数のサーバーS4〜S6により構成されるグループG2とを備える。同じグループに属するサーバーは、それぞれ同じリソースを有し且つ同じプログラムを実行して同じ動作を行う。また、同じグループに属するサーバーは、リソースの同期を行う。一方、異なるグループに配置されるサーバーは、異なるリソースを有しており、異なるプログラムを実行して、異なる処理を実行し得る。
システム10は、クライアント端末から受信した複数の連続するリクエストにより構成されるトランザクションを実行する。
図20に示す例では、システム10は、2つのグループG1,G2を備えているが、システム10は、3つ以上のグループを備えていても良い。また、システム10は、1つのグループだけを備えていても良い。
図21は、サーバーリスト表30aを説明する図である。
コントローラCが有するサーバーリストDB30に記憶されるサーバーリスト表30aには、サーバー識別番号と、サーバーアドレスと、状態と共に、トランザクションに対する各サーバーの有効性を記録するTSフラグが関連付けられて記録される。
次に、本実施形態のシステム10の動作例を、図22〜図25を参照して、以下に説明する。
まず、ステップS90において、クライアント端末T1〜T4は、トランザクションを構成する複数の連続する一群のリクエストを、トランザクションの開始を示す情報及び終了を示す情報を付して、端末番号と共に、コントローラCへ送信する。
次に、ステップS92において、コントローラCは、一群のリクエストであるトランザクションの開始を伝える開始通知に対して、グループ毎に連続する識別番号を付して、各グループG1、G2内の複数のサーバーS1〜S3,S4〜S6へ送信する。なお、トランザクションを確実に実行するための一つの方法として、コントローラCは、受信したトランザクションを構成する一群のリクエストの処理が全て完了するまで、他のリクエストを受け付けないようにしても良い。ここで、各グループG1、G2へ送信されるリクエストは、通常、グループG1とグループG2との間で異なっている。一方、同じグループ内のサーバーへは、同じリクエストが送信される。複数の連続するリクエストにより構成されるトランザクションを実行する時には、グループ毎に、各グループへ送信される全てのリクエストに対して連続する識別番号が付けられる。このように、本実施形態では、コントローラCは、クライアント端末から受信したリクエストに対して、グループ毎に連続する識別番号を付して、受信したリクエストを各グループG1,G2内の複数のサーバーへ送信する。また、システム10は、トランザクションを構成しないリクエストを処理することもできる。識別番号は、トランザクションを構成する各リクエストと同様に、トランザクションを構成しないリクエストに対してもグループ毎に連続して付けられる。
次に、ステップS94において、各サーバーS1〜S3,S4〜S6は、受信したリクエストに付された今回の識別番号が、前回に受信したリクエストに付された前回の識別番号と連続しているかを判断する。識別番号が連続していれば、ステップS96へ進む。一方、識別番号が連続していなければ、ステップS116へ進む。
ステップS96へ進んだ場合、各サーバーS1〜S3,S4〜S6は、現在の状態を保存するスナップショットを記録した後、開始通知を受信したことを伝える開始受信通知をコントローラCへ送信する。スナップショットは、記憶部Sbに記録される。
次に、ステップS98において、コントローラCは、開始受信通知を受信したサーバーを有効と判断する。コントローラCは、サーバーリスト表30aを更新すると共に、最初のリクエストに対して、グループ毎に連続する識別番号を付して、受信したリクエストに指定される送付先に基づいて定まる各グループG1,G2内の有効なサーバーに送信する。有効と判断されたサーバーのTSフラグには、サーバーが有効であることを示すフラグが記録される。一方、有効と判断されないサーバーのTSフラグには、サーバーが無効であることを示すフラグが記録される。有効と判断されないサーバーに対しては、最初のリクエストは送信されない。有効であると判断されたサーバーは、最初のリクエストに対して付された今回の識別番号と、前回の識別番号とが連続しているので、受信したリクエストに応じて所定の処理を行う。
次に、ステップS100において、各サーバーS1〜S3,S4〜S6は、最初のリクエストを処理した後、処理が完了したことを伝える処理完了通知をコントローラCへ送信すると共に、今回の識別番号及び今回の識別番号と関連付けられたリソースの変更内容をログファイルに記憶する。
次に、ステップS102において、コントローラCは、処理完了通知を受信したサーバーを有効と判断して、サーバーリスト表30aを更新すると共に、複数の連続するリクエストの内の次のリクエストに対して、グループ毎に連続する識別番号を付して、受信したリクエストに指定される送付先に基づいて定まる各グループG1,G2内の有効なサーバーに送信する。有効と判断されないサーバーに対しては、次のリクエストは送信されない。有効であると判断されたサーバーは、受信したリクエストに対して付された今回の識別番号と、前回の識別番号とが連続しているので、受信したリクエストに応じて所定の処理を行う。
次に、ステップS104において、各サーバーS1〜S3,S4〜S6は、複数の連続するリクエストの内の次のリクエストを処理した後、処理が完了したことを伝える処理完了通知をコントローラへ送信すると共に、今回の識別番号及び今回の識別番号と関連付けられたリソースの変更内容をログファイルに記憶する。ステップS102〜ステップS104は、一群を構成するリクエストの数に応じて繰り返される。
次に、ステップS106において、コントローラCは、複数の連続するリクエストの内の最後のリクエストに対する処理完了通知を受信した後、トランザクションの終了を伝える終了通知に対して、グループ毎に連続する識別番号を付して、各グループG1,G2内の有効なサーバーに送信する。
次に、ステップS108において、各サーバーS1〜S3,S4〜S6は、終了通知を受信すると、終了通知を受信したことを伝える終了受信通知を、コントローラCへ送信する。
次に、ステップS110において、コントローラCは、グループG1及びグループG2のそれぞれについて、各グループG1,G2内の少なくとも1つのサーバーから終了受信通知を受信すると、クライアント端末T1〜T4から受信したトランザクションである一群のリクエストの実行を完了したと判断する。そして、コントローラCは、グループG1及びグループG2のそれぞれについて、各グループG1,G2内の少なくとも1つのサーバーから受信した終了受信通知に基づいて、トランザクション処理の実行の成功を示すレスポンスを生成して、そのレスポンスを、リクエストを送信したクライアント端末へ送信する。もし、グループG1又はグループG2の何れか一つにおいて、グループ内のサーバーの何れからも終了受信通知が受信されない場合は、コントローラCは、トランザクション処理の実行の失敗を示すレスポンスを、リクエストを送信したクライアント端末へ送信する。
次に、ステップS112において、コントローラCは、サーバーリスト表30aを参照して、TSフラグに無効が記録されている、今回のトランザクションの実行に失敗したサーバーに対して、ロールバックすることを指示する。
次に、ステップS114において、ロールバックの指示を受けたサーバーS1〜S3,S4〜S6は、スナップショットを用いて、ロールバックして、トランザクションを開始する前の状態に戻る。
一方、ステップS94において、識別番号が連続していない場合には、ステップS116へ進む。
ステップS116へ進んだ場合には、各サーバーS1〜S3,S4〜S6は、今回の識別番号と、前回の識別番号との間に位置する欠落している識別番号と関連付けられたリソースの変更内容を、同じグループ内の他のサーバーから受信して、欠落している識別番号と関連付けられたリソースの変更内容をリソースに反映して、リソースを変更して同期を行う。そして、ステップS96へ進む。
このように、本実施形態では、各サーバーS1〜S3,S4〜S6は、トランザクションの実行に失敗した時にはロールバックして、次回のリクエストを受信した時に、欠落している前記識別番号と関連付けられたリソースの変更内容をリソースに反映して、リソースの同期を行う。また、ステップS118に示すように、コントローラCは、トランザクションの実行が完了しなかった場合には、全てのグループ内の複数のサーバーS1〜S3,S4〜S6に対して、サーバーが有するリソースを、トランザクションの実行を開始する前のリソースの状態へ戻すようにロールバックを指示する。
上述した本実施形態のシステムによれば、一部のサーバーに障害が発生した場合も、複数のリソースにまたがってリソースの変更を行うような複数のリクエストから構成するトランザクションを、動作を停止せずに実行することができる。また、システムは、一般にトランザクション処理システムに要求されるACID特性のうち、原子性(Atomicity)、一貫性(Consistency)及び耐障害性(Durability)の特性を有する。なお、独立性(Isolation)の特性については、本発明では対象とせず、言及しない。
本発明では、上述した実施形態の情報処理システム及びその方法は、本発明の趣旨を逸脱しない限り適宜変更が可能である。また、一の実施形態が有する構成要件は、他の実施形態にも適宜適用することができる。
例えば、本明細書に開示する情報処理システムは、クライアント端末として、駐車場に配置された入出ゲートの制御装置を用いても良い。この場合、サーバーは、駐車料金の精算処理及び車両の入退場の管理をしても良い。また、クライアント端末をスマートフォンやタブレット端末、パーソナルコンピュータとし、コントローラとクライアント端末が通信するネットワークをインターネットとして、商品の通信販売の管理、航空券やコンサート等の切符の予約販売の管理、駐車場の予約の管理等を行うサーバーを複数設置しても良い。
10 システム
C コントローラ
Ca 演算部
Cb 記憶部
Cc 操作部
Cd 表示部
Ce 通信部
D 分配部
Da 演算部
Db 記憶部
Dc 操作部
Dd 表示部
De 通信部
SC1〜SC3 サブコントローラ
R1〜R3 リンク
T1〜T4 クライアント端末
Ta 演算部
Tb 記憶部
Tc 操作部
Td 表示部
Te 通信部
S1〜S3、S4〜S6 サーバー
Sa 演算部
Sb 記憶部
Sc 操作部
Sd 表示部
Se 通信部
AP1〜AP3 アクセスポイント
N1〜N3 ネットワーク
M 保守センター
30 サーバーリストDB
30a サーバーリスト表
31 アクセスポイント位置DB
31a アクセスポイント位置情報表
32 クライアント端末位置DB
32a クライアント端末位置情報表
33 サーバーアドレスDB
33a サーバーアドレス表
34 サブコントローラリストDB
34a サブコントローラリスト表

Claims (17)

  1. リソースを有するサーバーが、クライアント端末から受信したリクエストに応じて所定の処理を行い、レスポンスを作成すると共に、前記処理に対応したリソースの変更を行って、クライアント端末に対してレスポンスを送信するシステムであって、
    クライアント端末と通信可能に接続されたコントローラと、
    前記コントローラと通信可能に接続された複数の前記サーバーと、
    を備え、
    前記コントローラは、
    クライアント端末から受信したリクエストに対して連続する識別番号を付して、受信したリクエストを複数の前記サーバーへ送信し、
    複数の前記サーバーから受信したレスポンスの内の一のレスポンス又は複数のレスポンスに基づいて生成したレスポンスを、リクエストを送信したクライアント端末へ送信し、
    各前記サーバーは、
    受信したリクエストに付された今回の前記識別番号が、前回に受信したリクエストに付された前回の前記識別番号と連続していれば、受信したリクエストに応じて所定の処理を行い、レスポンスを作成すると共に、前記処理に対応したリソースの変更を行って、前記コントローラに対してレスポンスを送信し、且つ今回の前記識別番号及び今回の前記識別番号と関連付けられたリソースの変更内容を記憶し、
    今回の前記識別番号が、前回の前記識別番号と連続していなければ、今回の前記識別番号と、前回の前記識別番号との間に位置する欠落している前記識別番号と関連付けられたリソースの変更内容を、他の前記サーバーから受信して、欠落している前記識別番号と関連付けられたリソースの変更内容をリソースに反映して、リソースの変更を行った後、受信したリクエストに応じて所定の処理を行い、レスポンスを作成すると共に、前記処理に対応したリソースの変更を行って、前記コントローラに対してレスポンスを送信し、且つ今回の前記識別番号及び今回の前記識別番号と関連付けられたリソースの変更内容を記憶する、情報処理システム。
  2. 前記コントローラは、
    分配部と、
    複数のサブコントローラと、
    を有し、
    前記分配部は、
    クライアント端末から受信したリクエストを、複数の前記サブコントローラへ送信し、
    各前記サブコントローラから受信した識別番号が付されたリクエストの内の一のリクエストを、複数の前記サーバーへ送信し、
    複数の前記サーバーから受信したレスポンスを、複数の前記サブコントローラへ送信し、
    複数の前記サブコントローラから受信したレスポンスの内の一のレスポンス又は複数のレスポンスに基づいて生成されたレスポンスを、リクエストを送信したクライアント端末へ送信し、
    各前記サブコントローラは、
    前記分配部から受信したリクエストに対して連続する識別番号を付して、受信したリクエストを、前記分配部へ送信し、
    複数の前記サーバーから受信したレスポンスの内の一のレスポンス又は複数のレスポンスに基づいて生成したレスポンスを、前記分配部へ送信する請求項1に記載の情報処理システム。
  3. 前記分配部は、
    クライアント端末から受信したリクエストを、複数の前記サブコントローラへ送信した後、所定の時間内に、識別番号が付されたリクエストを前記分配部に送信しない前記サブコントローラは異常を有すると判断し、
    複数の前記サーバーから受信したレスポンスを、複数の前記サブコントローラへ送信した後、所定の時間内に、レスポンスを、前記分配部へ送信しない前記サブコントローラは異常を有すると判断し、
    異常を有すると判断された前記サブコントローラの情報を所定のアドレスに送信する請求項2に記載の情報処理システム。
  4. 前記コントローラは、受信したリクエストを複数の前記サーバーへ送信した後、所定の時間内に、前記コントローラに対してレスポンスを送信しない前記サーバーは異常を有すると判断し、異常を有すると判断された前記サーバーの情報を所定のアドレスに送信する請求項1〜3の何れか一項に記載の情報処理システム。
  5. 前記コントローラは、複数の前記サーバーから受信したレスポンスの内、最も早く受信したレスポンスを、リクエストを送信したクライアント端末へ送信する請求項1〜4の何れか一項に記載の情報処理システム。
  6. 前記コントローラは、複数の前記サーバーから受信したレスポンスに対して、多数決判断を用いて多数派のレスポンスを採用し、多数派のレスポンスの内の一のレスポンスを、リクエストを送信したクライアント端末へ送信する請求項1〜4の何れか一項に記載の情報処理システム。
  7. 前記コントローラは、複数の前記サーバーから受信したレスポンスが一致しない場合には、レスポンスを無効と判断して、リクエストを実行できないことを、リクエストを送信したクライアント端末へ送信する請求項1〜5の何れか一項に記載の情報処理システム。
  8. リソースは、データベース、又は、ファイル、又は、メモリ、又は、情報出力部、又は、これらの組み合わせである請求項1〜7の何れか一項に記載の情報処理システム。
  9. 複数の前記サーバーにより構成するグループを一つ又は複数個備え、同じグループ内のサーバーはそれぞれ同じリソースを有し、異なるグループ間では、それぞれ異なるリソースを有し、
    前記コントローラは、クライアント端末から受信したリクエストに対して、グループ毎に連続する前記識別番号を付して、受信したリクエストを、受信したリクエストに指定される送付先に基づいて定まる前記グループ内の複数の前記サーバーへ送信し、
    クライアント端末から受信した複数の連続するリクエストにより構成されるトランザクションを実行するときには、
    各グループ内に配置された前記サーバーは、トランザクションの処理に失敗した時は、前記サーバーが有するリソースを、前記トランザクションの実行を開始する前のリソースの状態へ戻し、次回のリクエストを受信した時に、欠落している前記識別番号と関連付けられたリソースの変更内容をリソースに反映してリソースを変更することにより、リソースの同期を行う請求項1〜8の何れか一項に記載の情報処理システム。
  10. 前記コントローラは、
    前記トランザクションを構成するリクエストの一つを送信したサーバーからリクエスト実行の成功を示すレスポンスを受信しない場合、前記トランザクションを構成する残りのリクエストを当該サーバーへ送信せず、
    前記トランザクションを構成するリクエストの一つを送信したグループのサーバーから、リクエスト実行の成功を示すレスポンスをひとつも受信しない場合、
    前記トランザクションの実行に失敗したと判断し、
    全てのグループ内の全ての前記サーバーへ対して、前記サーバーが有するリソースを、前記トランザクションの実行を開始する前のリソースの状態へ戻すよう指示し、
    前記トランザクションを送信したクライアント端末へ、トランザクションの実行の失敗を送信する請求項9に記載の情報処理システム。
  11. リソースを有するサーバーが、クライアント端末から受信したリクエストに応じて所定の処理を行い、レスポンスを作成すると共に、前記処理に対応したリソースの変更を行って、クライアント端末に対してレスポンスを送信する情報処理方法であって、
    クライアント端末と通信可能に接続されたコントローラが、クライアント端末から受信したリクエストに対して連続する識別番号を付して、受信したリクエストを複数の前記サーバーへ送信するステップと、
    各前記サーバーが、受信したリクエストに付された今回の前記識別番号が、前回に受信したリクエストに付された前回の前記識別番号と連続していれば、受信したリクエストに応じて所定の処理を行い、レスポンスを作成すると共に、前記処理に対応したリソースの変更を行って、前記コントローラに対してレスポンスを送信し、且つ今回の前記識別番号及び今回の前記識別番号と関連付けられたリソースの変更内容を記憶するステップと、
    各前記サーバーが、今回の前記識別番号が、前回の前記識別番号と連続していなければ、今回の前記識別番号と、前回の前記識別番号との間に位置する欠落している前記識別番号と関連付けられたリソースの変更内容を、他の前記サーバーから受信して、欠落している前記識別番号と関連付けられたリソースの変更内容をリソースに反映して、リソースの変更を行った後、受信したリクエストに応じた所定の処理を行い、レスポンスを作成すると共に、前記処理に対応したリソースの変更を行って、前記コントローラに対してレスポンスを送信し、且つ今回の前記識別番号及び今回の前記識別番号と関連付けられたリソースの変更内容を記憶するステップと、
    前記コントローラが、複数の前記サーバーから受信したレスポンスの内の一のレスポンス又は複数のレスポンスに基づいて生成したレスポンスを、リクエストを送信したクライアント端末へ送信するステップと、
    を備える情報処理方法。
  12. 前記コントローラは、
    分配部と、
    複数のサブコントローラを有し、
    前記コントローラが、クライアント端末から受信したリクエストに対して連続する識別番号を付して、受信したリクエストを複数の前記サーバーへ送信する前記ステップは、
    前記分配部が、クライアント端末から受信したリクエストを、複数の前記サブコントローラへ送信するステップと、
    各前記サブコントローラが、前記分配部から受信したリクエストに対して連続する識別番号を付して、受信したリクエストを、前記分配部へ送信するステップと、
    前記分配部が、各前記サブコントローラから受信した識別番号が付されたリクエストの内の一のリクエストを、複数の前記サーバーへ送信するステップと、
    を有し、
    前記コントローラが、複数の前記サーバーから受信したレスポンスの内の一のレスポンス又は複数のレスポンスに基づいて生成したレスポンスを、リクエストを送信したクライアント端末へ送信する前記ステップは、
    前記分配部が、複数の前記サーバーから受信したレスポンスを、複数の前記サブコントローラへ送信するステップと、
    各前記サブコントローラが、複数の前記サーバーから受信したレスポンスの内の一のレスポンス又は複数のレスポンスに基づいて生成したレスポンスを、前記分配部へ送信するステップと、
    前記分配部が、複数の前記サブコントローラから受信したレスポンスの内の一のレスポンス又は複数のレスポンスに基づいて生成されたレスポンスを、リクエストを送信したクライアント端末へ送信するステップと、
    を有する請求項11に記載の情報処理方法。
  13. 前記コントローラが、複数の前記サーバーから受信したレスポンスの内の一のレスポンスを、リクエストを送信したクライアント端末へ送信する前記ステップでは、
    前記コントローラは、複数の前記サーバーから受信したレスポンスの内、最も早く受信したレスポンスを、リクエストを送信したクライアント端末へ送信する請求項11又は12に記載の情報処理方法。
  14. 前記コントローラが、複数の前記サーバーから受信したレスポンスの内の一のレスポンスを、リクエストを送信したクライアント端末へ送信する前記ステップでは、
    前記コントローラは、複数の前記サーバーから受信したレスポンスに対して、多数決判断を用いて多数派のレスポンスを採用し、多数派のレスポンスの内の一のレスポンスを、リクエストを送信したクライアント端末へ送信する請求項11又は12に記載の情報処理方法。
  15. リソースを有するサーバーが、クライアント端末から受信したリクエストに応じて所定の処理を行い、前記処理に対応してリソースを変更し、一つ又は複数のリクエストの処理結果をクライアント端末に対して送信する情報処理システムであって、
    各々がリソースを有する複数のサーバーと、
    複数のサーバーとクライアント端末と双方に通信可能なコントローラを備え、
    前記コントローラは、クライアント端末から受信したリクエストに対し、受信した順番に対応して連続する識別子を生成して各々のリクエストに付加し、サーバーへ送信する手段を有し、
    前記サーバーは、前記コントローラから受信したリクエストに付加された識別子の連続性を利用して、前回受信したリクエストと今回受信したリクエストの間に、受信していないリクエストが存在するか否かを判定する手段と、受信していないリクエストが存在すると判定したときは、受信していないリクエストに対応して変更されるべきリソースの変更内容の情報を他の前記サーバーへ問い合わせる手段を有する情報処理システム。
  16. 請求項1及び請求項15に記載の情報処理システムのコントローラにおいて、
    連続する識別番号を生成する識別番号生成手段と、
    生成した前記識別番号に関する情報を記録するメモリと、
    を備え、
    クライアント端末から受信したリクエストに対し、前記識別番号を記録する前記メモリを参照し、前回受信したリクエストに対して生成した前記識別番号に関する情報を読み出して、今回受信したリクエストに対して連続する前記識別番号を生成する識別番号生成手段により連続する前記識別番号を生成し、前記受信したリクエストに付して、複数の前記サーバーへ送信し、
    複数の前記サーバーから受信した一つ又は複数のレスポンスに基づいてレスポンスを生成して、前記リクエストを送信した前記クライアント端末へ送信するコントローラ。
  17. 請求項1に記載の情報処理システムのサーバー並びに請求項16に記載のコントローラを有する請求項15に記載の情報処理システムのサーバーにおいて、
    受信したリクエストに付された今回の前記識別番号が、
    前回に受信したリクエストに付された前回の前記識別番号と連続しているときは、
    前記リクエストに応じて所定の処理を行い、前記処理に対応してリソースに対して行った変更の内容を前記識別番号に関連づけて記憶し、
    受信したリクエストに付された今回の前記識別番号が、
    前回に受信したリクエストに付された前回の前記識別番号と連続していないときは、
    今回の前記識別番号と、前回の前記識別番号との間に位置する欠落している前記識別番号と関連づけられたリソースの変更内容を、他の前記サーバーから受信して、欠落している前記識別番号と関連づけられたリソースの変更内容をリソースに反映して、リソースの変更を行った後、
    前記リクエストに応じて所定の処理を行い、前記処理に対応してリソースに対して行った変更の内容を前記識別番号に関連づけて記憶するサーバー。
JP2014072562A 2014-03-31 2014-03-31 情報処理システム及びその方法 Active JP6289214B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014072562A JP6289214B2 (ja) 2014-03-31 2014-03-31 情報処理システム及びその方法
US14/672,762 US20150278036A1 (en) 2014-03-31 2015-03-30 Information processing system and method of same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014072562A JP6289214B2 (ja) 2014-03-31 2014-03-31 情報処理システム及びその方法

Publications (2)

Publication Number Publication Date
JP2015194912A JP2015194912A (ja) 2015-11-05
JP6289214B2 true JP6289214B2 (ja) 2018-03-07

Family

ID=54190535

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014072562A Active JP6289214B2 (ja) 2014-03-31 2014-03-31 情報処理システム及びその方法

Country Status (2)

Country Link
US (1) US20150278036A1 (ja)
JP (1) JP6289214B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019208056A1 (de) * 2019-06-03 2020-12-03 Robert Bosch Gmbh System und Verfahren zum Betreiben eines Systems

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978583A (en) * 1995-08-07 1999-11-02 International Business Machines Corp. Method for resource control in parallel environments using program organization and run-time support
US5838968A (en) * 1996-03-01 1998-11-17 Chromatic Research, Inc. System and method for dynamic resource management across tasks in real-time operating systems
JP3592016B2 (ja) * 1996-12-27 2004-11-24 株式会社日立製作所 リモートプロシジャコール処理方法
JP4094752B2 (ja) * 1998-11-27 2008-06-04 株式会社日立製作所 トランザクション処理方法及びその実施装置並びにその処理プログラムを記録した媒体
JP2003157189A (ja) * 2001-11-20 2003-05-30 Hitachi Ltd データ多重化管理方法およびこれに用いるコンピュータ装置および記憶装置
US7103884B2 (en) * 2002-03-27 2006-09-05 Lucent Technologies Inc. Method for maintaining consistency and performing recovery in a replicated data storage system
US7139939B2 (en) * 2003-06-20 2006-11-21 International Business Machines Corporation System and method for testing servers and taking remedial action
US7724599B2 (en) * 2003-12-03 2010-05-25 Hitachi, Ltd. Remote copy system
JP2005250626A (ja) * 2004-03-02 2005-09-15 Hitachi Ltd コンピュータシステム及びそのプログラム。
US20060095312A1 (en) * 2004-10-28 2006-05-04 International Business Machines Corporation Method, system, and storage medium for using comparisons of empirical system data for testcase and workload profiling
JP2006332935A (ja) * 2005-05-25 2006-12-07 Victor Co Of Japan Ltd コンテンツデータ伝送システム及びコンテンツデータ伝送方法
JP4969342B2 (ja) * 2007-07-03 2012-07-04 パナソニック株式会社 受信端末及び受信方法
US7882173B2 (en) * 2008-06-30 2011-02-01 International Business Machines Corporation Interactive remote command execution over a stateless client/server network protocol
TW201112006A (en) * 2009-05-29 2011-04-01 Ibm Computer system, method and program product
US9015564B2 (en) * 2009-08-19 2015-04-21 Qualcomm Incorporated Content delivery system with allocation of source data and repair data among HTTP servers
JP2012032927A (ja) * 2010-07-29 2012-02-16 At E Design Co Ltd 位置情報処理システム及び方法
JP2012138878A (ja) * 2010-12-28 2012-07-19 Mitsubishi Electric Corp 監視用レコーダーシステムおよびそれに用いるソフトウェア
EP2608029A1 (en) * 2011-12-19 2013-06-26 Siemens Aktiengesellschaft Method and system for managing resources among different clients for an exclusive use
US20140007097A1 (en) * 2012-06-29 2014-01-02 Brocade Communications Systems, Inc. Dynamic resource allocation for virtual machines
US9642019B2 (en) * 2014-02-19 2017-05-02 Maxlinear Asia Singapore Private Limited Low latency, automatic repeat request (“ARQ”) in a multi-device communications link

Also Published As

Publication number Publication date
JP2015194912A (ja) 2015-11-05
US20150278036A1 (en) 2015-10-01

Similar Documents

Publication Publication Date Title
CN109951331B (zh) 用于发送信息的方法、装置和计算集群
US9753954B2 (en) Data node fencing in a distributed file system
CN102594858B (zh) 云存储环境中的镜像解决方案
US20100333094A1 (en) Job-processing nodes synchronizing job databases
US20210191826A1 (en) Building system with ledger based software gateways
KR102142233B1 (ko) 기본 및 보조 데이터베이스를 관리하기 위한 방법, 시스템 및 장치
CN112039710B (zh) 服务故障处理方法、终端设备及可读存储介质
JPWO2014076838A1 (ja) 仮想マシン同期システム
CN104899116A (zh) 数据备份的方法、源服务器、目标服务器及系统
US20130205162A1 (en) Redundant computer control method and device
JP5446405B2 (ja) イベント検出制御方法及びシステム
CN111708668A (zh) 集群故障的处理方法、装置及电子设备
JP6289214B2 (ja) 情報処理システム及びその方法
KR101430570B1 (ko) 분산 컴퓨팅 시스템 및 상기 분산 컴퓨팅 시스템에서의 장애 복구 방법
JP5613119B2 (ja) マスター/スレーブシステム、制御装置、マスター/スレーブ切替方法、および、マスター/スレーブ切替プログラム
JP4806382B2 (ja) 冗長化システム
EP3232646B1 (en) Apparatus for relaying data transmission in scada system
CN111510336B (zh) 一种网络设备状态管理方法及装置
CN112799879A (zh) 节点的故障处理方法、装置、设备和存储介质
CN113176969A (zh) 服务提供方法、装置、设备及计算机可读存储介质
JP6851112B2 (ja) 鉄道信号設備監視支援プログラム
JP2009277120A (ja) サーバシステム
CN111064608A (zh) 消息系统的主从切换方法、装置、电子设备及存储介质
WO2018230117A1 (ja) アラーム通知システム及びアラーム通知方法
JP2000122982A (ja) 多階層クライアントサーバシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171031

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171031

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171205

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: 20180109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180206

R150 Certificate of patent or registration of utility model

Ref document number: 6289214

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250