JP2011248737A - タスク引継プログラム、処理装置及びコンピュータ・システム - Google Patents

タスク引継プログラム、処理装置及びコンピュータ・システム Download PDF

Info

Publication number
JP2011248737A
JP2011248737A JP2010122908A JP2010122908A JP2011248737A JP 2011248737 A JP2011248737 A JP 2011248737A JP 2010122908 A JP2010122908 A JP 2010122908A JP 2010122908 A JP2010122908 A JP 2010122908A JP 2011248737 A JP2011248737 A JP 2011248737A
Authority
JP
Japan
Prior art keywords
task
server
processing device
takeover
client
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
JP2010122908A
Other languages
English (en)
Other versions
JP5691248B2 (ja
Inventor
Kazuteru Akita
一輝 秋田
Takeshi Yamazaki
毅 山崎
Daisuke Shimabayashi
大祐 島林
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 JP2010122908A priority Critical patent/JP5691248B2/ja
Priority to US13/113,241 priority patent/US8671307B2/en
Publication of JP2011248737A publication Critical patent/JP2011248737A/ja
Application granted granted Critical
Publication of JP5691248B2 publication Critical patent/JP5691248B2/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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2048Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

【課題】冗長構成を実現するための複数の処理装置の間で共有資源の引き継ぎを高速で行うことができるようにする。
【解決手段】本タスク引継方法は、所定の機能を実現するタスクを管理するサーバのタスクを占有している現用系の処理装置からサーバのタスクの引き継ぎを行う待機系の処理装置により実行される。そして、本タスク管理方法は、現用系の処理装置における異常の発生が検知された場合、サーバのタスクを引き継ぐためのタスク引き継ぎ要求をサーバに送信する要求ステップと、サーバから当該サーバのタスクの引き継ぎ許可を受信した場合、サーバのタスクを占有可能である旨を待機系の処理装置において待機中のアプリケーション・プログラムのプロセスに対し通知するステップとを含む。
【選択図】図1

Description

本技術は、複数の処理装置間で共有する資源を管理する技術に関する。
一般に、クラスタシステムにおいては、処理装置を複数台用意しておき、処理を実行中の現用系処理装置が何らかの原因で停止した場合には、現用系処理装置の代わりに待機系処理装置に処理を実行させる。処理の実行に利用する資源を処理装置間で共有するクラスタシステムにおいては、このような引き継ぎ(フェイルオーバーとも言う)を行う際、処理に関連する資源を待機系処理装置が引き継いでおく必要がある。従って、システムの稼働停止時間を小さくするためには、共有資源の引き継ぎを処理装置間でスムースに行わなければならない。
従来、システムにおける共有資源の管理に関して、以下のような技術が存在する。具体的には、第1のタスクの次回実行開始予定時刻と、第1のタスクより優先度が低い第2のタスクの解放予定時刻とを比較する。そして、解放予定時刻より次回実行開始予定時刻が早ければ、第2のタスクに共有資源の占有を許可しない。一方、解放予定時刻より次回実行開始予定時刻が早くなければ、第2のタスクに共有資源の占有を許可する。
ところで、近年では、サービスの多様化等に伴い、処理装置に多数のアプリケーション・プログラムが搭載されるようになっている。引き継ぎに関連するアプリケーション・プログラムの数が増えると、共有資源の引き継ぎに要する時間もそれに従って長くなるという問題がある。しかしながら、上記の従来技術では、このような問題については考慮されていない。
特開2003−131892号公報
従って、本技術の目的は、冗長構成を実現するための複数の処理装置の間で共有資源の引き継ぎを高速で行うための技術を提供することである。
本タスク引継方法は、所定の機能を実現するタスクを管理するサーバのタスクを占有している現用系の処理装置からサーバのタスクの引き継ぎを行う待機系の処理装置により実行される。そして、本タスク管理方法は、現用系の処理装置における異常の発生が検知された場合、サーバのタスクを引き継ぐためのタスク引き継ぎ要求をサーバに送信する要求ステップと、サーバから当該サーバのタスクの引き継ぎ許可を受信した場合、サーバのタスクを占有可能である旨を待機系の処理装置において待機中のアプリケーション・プログラムのプロセスに対し通知するステップとを含む。
冗長構成を実現するための複数の処理装置の間で共有資源の引き継ぎを高速で行うことができるようになる。
図1は、本技術の実施の形態に係るシステムの構成図である。 図2は、タスク管理テーブル格納部に格納されるデータの一例を示す図である。 図3は、接続管理テーブル格納部に格納されるデータの一例を示す図である。 図4は、接続管理テーブル格納部に格納されるデータの一例を示す図である。 図5は、実施の形態1における処理の処理フローを示す図である。 図6は、接続管理テーブル格納部に格納されるデータの一例を示す図である。 図7は、接続管理テーブル格納部に格納されるデータの一例を示す図である。 図8は、タスク管理テーブル格納部に格納されるデータの一例を示す図である。 図9は、接続管理テーブル格納部に格納されるデータの一例を示す図である。 図10は、接続管理テーブル格納部に格納されるデータの一例を示す図である。 図11は、実施の形態2における処理の処理フローを示す図である。 図12は、実施の形態2における処理の処理フローを示す図である。 図13は、接続管理テーブル格納部に格納されるデータの一例を示す図である。 図14は、接続管理テーブル格納部に格納されるデータの一例を示す図である。 図15は、コンピュータの機能ブロック図である。
[実施の形態1]
図1に、本実施の形態に係るシステムの構成図を示す。例えばインターネットであるネットワーク1には、ユーザ端末5と、クライアント装置Aと、クライアント装置Bとが接続されている。クライアント装置A及びBには、例えばLAN(Local Area Network)であるネットワーク7を介して、クライアント装置A及びBとは疎な関係にあるリソースサーバAとリソースサーバBとが接続されている。リソースサーバA、リソースサーバB、クライアント装置A及びクライアント装置Bはクラスタシステム3を構成している。クラスタシステム3は、ユーザ端末5から受信した処理要求に応じ処理を実施し、処理結果をユーザ端末5に送信するシステムである。なお、図1においてはクライアント装置及びリソースサーバをそれぞれ2つしか示していないが、数に限定はない。
なお、実施の形態1においては、タスクA乃至Dを利用するクライアント装置は、クライアント装置A及びBだけであるとする。また、以下ではクライアント装置Aがハングアップする例について説明するが、クライアント装置Aがハングアップから回復することはないとする。
クライアント装置Aは、クライアントリソース管理部351と、タスク管理テーブル格納部352と、監視・切替部353と、アプリケーションA(354)と、アプリケーションB(355)と、アプリケーションC(356)とを含む。クライアント装置Bは、クライアントリソース管理部371と、タスク管理テーブル格納部372と、監視・切替部373と、アプリケーションA(374)と、アプリケーションB(375)と、アプリケーションC(376)とを含む。クライアント装置AにおけるアプリケーションAと、クライアント装置BにおけるアプリケーションAとは同一の機能を有するものとする。アプリケーションB及びCについても同様である。
クライアントリソース管理部351は、アプリケーションA乃至Cの代わりにリソースサーバA及びBにおけるタスクを占有するための処理等を行う。監視・切替部353は、クライアント装置Bにおける監視・切替部373と通信を行い、クライアント装置Bの状態を監視する処理等を行う。アプリケーションA乃至Cは、リソースサーバA及びBにおけるタスクA乃至Dを利用して処理を実施するアプリケーション・プログラムである。なお、クライアント装置Bにおけるクライアントリソース管理部371、タスク管理テーブル格納部372、監視・切替部373及びアプリケーションA乃至Cは、クライアント装置Aにおけるクライアントリソース管理部351、タスク管理テーブル格納部352、監視・切替部353及びアプリケーションA乃至Cと同じであるので、ここでは説明を省略する。
リソースサーバAは、タスクA(313)と、タスクB(314)と、接続管理テーブル格納部311と、通信監視部312とを含む。リソースサーバBは、タスクC(333)と、タスクD(334)と、接続管理テーブル格納部331と、通信監視部332とを含む。
タスクA乃至Dは、リソースサーバA及びBにおいて実行されているプロセスであり、アプリケーションA乃至Cのための処理を行う。通信監視部312及び332は、クライアント装置A及びBにおける監視・切替部353及び373との通信の異常を例えばハートビート等により確認する。なお、本実施の形態において、リソースサーバA及びBは、クライアント装置A及びBから送信される信号が途絶えたことにより通信異常を確認することはできるが、クライアント装置A及びBがどのような状態であるか(例えばハングアップの状態であるか)といったことは確認できない。
図2に、タスク管理テーブル格納部352及び372に格納されているデータの一例を示す。図2の例では、タスク名の列と、タスクのアドレスの列と、アプリケーションのアドレスの列とが含まれる。本実施の形態においては、クライアント装置Aにおけるタスク管理テーブル格納部352に格納されるデータ及びクライアント装置Bにおけるタスク管理テーブル格納部372に格納されるデータは同じである。
図3に、リソースサーバAに含まれる接続管理テーブル格納部311に格納されるデータの一例を示す。図3の例では、タスク名の列と、クライアントリソース管理部のアドレスの列とが含まれる。
図4に、リソースサーバBに含まれる接続管理テーブル格納部331に格納されるデータの一例を示す。図4の例では、図3の例と同様に、タスク名の列と、クライアントリソース管理部のアドレスの列とが含まれる。
次に、図5乃至7を用いて、図1に示したシステムの処理内容について説明する。まず、クライアント装置Aにおけるクライアントリソース管理部351は、タスク管理テーブル格納部352に格納されているタスクのアドレスを用いて、リソースサーバAにおけるタスクB、リソースサーバBにおけるタスクC及びリソースサーバBにおけるタスクDにタスク占有要求を送信する(図1:ステップS1)。
一方、リソースサーバAにおけるタスクBは、クライアント装置Aからタスク占有要求を受信する(ステップS3)。同様に、リソースサーバBにおけるタスクC及びタスクDは、クライアント装置Aからタスク占有要求を受信する(ステップS3)。
そして、リソースサーバAにおけるタスクBは、接続管理テーブル格納部311において、タスクBのタスク名に対応付けて格納されているクライアントリソース管理部のアドレスがないことを確認し、クライアントリソース管理部351のアドレスをタスクBのタスク名に対応付けて格納する(ステップS5)。同様に、リソースサーバBにおけるタスクC及びタスクDは、接続管理テーブル格納部331において、タスクC及びタスクDのタスク名に対応付けて格納されているクライアントリソース管理部のアドレスがないことを確認し、クライアントリソース管理部351のアドレスをタスクC及びタスクDのタスク名に対応付けて格納する(ステップS5)。
そして、リソースサーバAにおけるタスクBは、タスクBの占有許可通知をクライアント装置Aのクライアントリソース管理部351に送信する(ステップS7)。同様に、リソースサーバBにおけるタスクC及びタスクDは、タスクC及びタスクDの占有許可通知をクライアント装置Aのクライアントリソース管理部351に送信する(ステップS7)。ステップS7の処理が終了すると、接続管理テーブル格納部311及び331は、図3及び図4の例に示したデータが格納された状態になっている。
一方、クライアント装置Aのクライアントリソース管理部351は、タスクB乃至Dから占有許可通知を受信し(ステップS9)、占有が許可された旨を監視・切替部353に通知する。また、監視・切替部353は、待機中のアプリケーションA乃至Cのプロセスに対し現用化を指示する。そして、アプリケーションA乃至Cのプロセスは、クライアントリソース管理部351を介し、リソースサーバA及びBにおけるタスクB乃至Dの占有を開始する(ステップS11)。
その後、クライアント装置Aが例えば障害によりハングアップする(ステップS13)。
一方、リソースサーバAにおける通信監視部312及びリソースサーバBにおける通信監視部332は、クライアント装置Aとの通信の異常を検知する(ステップS17)。また、クライアント装置Bにおける監視・切替部373は、クライアント装置Aがハングアップしたことを検知し(ステップS15)、クライアントリソース管理部371にその旨を通知する。
そして、クライアント装置Bにおけるクライアントリソース管理部371は、タスク管理テーブル格納部352に格納されているタスクのアドレスを用いて、リソースサーバAにおけるタスクB、リソースサーバBにおけるタスクC及びリソースサーバBにおけるタスクDにタスク引継要求を送信する(ステップS19)。
一方、リソースサーバAにおけるタスクBは、クライアント装置Bからタスク引継要求を受信する(ステップS21)。同様に、リソースサーバBにおけるタスクC及びタスクDは、クライアント装置Bからタスク引継要求を受信する(ステップS21)。
そして、リソースサーバAにおけるタスクBは、接続管理テーブル格納部311において、タスクBのタスク名に対応付けて格納されているクライアントリソース管理部のアドレスが示す装置(クライアント装置A)との通信異常を検知しているときに、クライアントリソース管理部351のアドレスを、クライアントリソース管理部371のアドレスで更新する(ステップS23)。同様に、リソースサーバBにおけるタスクC及びタスクDは、接続管理テーブル格納部331において、タスクC及びタスクDのタスク名に対応付けて格納されているクライアントリソース管理部のアドレスが示す装置(クライアント装置B)との通信異常を検知しているときに、クライアントリソース管理部351のアドレスを、クライアントリソース管理部371のアドレスで更新する(ステップS23)。ステップS23の処理が終了すると、接続管理テーブル格納部311及び331は、図6及び図7の例に示したデータが格納された状態になっている。
そして、リソースサーバAにおけるタスクBは、引継許可通知をクライアント装置Bにおけるクライアントリソース管理部371に送信する(ステップS25)。また、リソースサーバBにおけるタスクC及びタスクDは、引継許可通知をクライアント装置Bにおけるクライアントリソース管理部371に送信する(ステップS25)。
一方、クライアント装置Bのクライアントリソース管理部371は、タスクB乃至Dから引継許可通知を受信し(ステップS27)、引き継ぎが許可された旨を監視・切替部373に通知する。また、監視・切替部373は、待機中のアプリケーションA乃至Cのプロセスに対し現用化を指示する。そして、アプリケーションA乃至Cのプロセスは、クライアントリソース管理部371を介し、リソースサーバA及びBにおけるタスクB乃至Dの占有を開始する(ステップS29)。そして、処理を終了する。
以上のように、クライアント装置BにおけるアプリケーションA乃至Cのプロセスがそれぞれ引き継ぎのための処理を行うのではなく、クライアントリソース管理部371が引き継ぎのための処理を代行する。これにより、引き継ぎを高速で行うことができ、また通信負荷を削減することができるようになる。
なお、従来では、ステップS17の処理によって計時を開始してから所定の時間(例えば数十秒などの時間)が経過するまでは通信異常が検知されたクライアント装置からの応答を待ち、所定の時間を経過後に他の装置からの引き継ぎ要求を受け入れるようにすることがあった。これに対し、本実施の形態における処理によれば、所定の時間の経過を待たずに引き継ぎを完了することができるようになっている。
[実施の形態2]
次に、第2の実施の形態について説明する。第2の実施の形態では、セションID及び実行優先度を用いてタスクの引き継ぎを行う。
第2の実施の形態に係るシステムの構成図及び各装置の機能ブロック図は第1の実施の形態で説明したものと同じであるため、ここでは説明を省略する。
図8に、タスク管理テーブル格納部352及び372に格納されているデータの一例を示す。図8の例では、タスク名の列と、セションIDの列と、タスクのアドレスの列と、アプリケーションのアドレスの列とが含まれる。第1の実施の形態におけるタスク管理テーブル格納部352及び372と比較すると、セションIDの列が設けられている点が異なっている。なお、第2の実施の形態においても、クライアント装置Aにおけるタスク管理テーブル格納部352に格納されるデータ及びクライアント装置Bにおけるタスク管理テーブル格納部372に格納されるデータは同じである。
図9に、リソースサーバAに含まれる接続管理テーブル格納部311に格納されるデータの一例を示す。図9の例では、タスク名の列と、セションIDの列と、実行優先度の列と、クライアントリソース管理部のアドレスの列とが含まれる。第1の実施の形態における接続管理テーブル格納部311と比較すると、セションIDの列及び実行優先度の列が設けられている点が異なっている。
図10に、リソースサーバBに含まれる接続管理テーブル格納部331に格納されるデータの一例を示す。図10の例では、図9の例と同様に、タスク名の列と、セションIDの列と、実行優先度の列と、クライアントリソース管理部のアドレスの列とが含まれる。
次に、図11乃至図14を用いて、第2の実施の形態におけるシステムの処理内容について説明する。まず、クライアント装置Aにおけるクライアントリソース管理部351は、予め付与されており且つ図示しないデータ格納部に格納されている実行優先度(ここでは、実行優先度は「1」であるとする)を読み出し、当該実行優先度を含むタスク占有要求を生成する。そして、クライアントリソース管理部351は、タスク管理テーブル格納部352に格納されているタスクのアドレスを用いて、リソースサーバAにおけるタスクB、リソースサーバBにおけるタスクC及びリソースサーバBにおけるタスクDにタスク占有要求を送信する(図11:ステップS31)。
ここで、実行優先度について説明する。実行優先度は、いずれのクライアント装置がタスクを優先的に占有できるかを表す優先順位である。例えば、クライアント装置Aの実行優先度が「1」であり、クライアント装置Bの実行優先度が「2」であるとする。この場合には、リソースサーバA及びBは、クライアント装置Bの実行優先度がクライアント装置Aの実行優先度よりも高いと判断し、クライアント装置Bにタスクを優先的に占有させる。
図11の説明に戻り、リソースサーバAにおけるタスクBは、クライアント装置Aにおけるクライアントリソース管理部351からタスク占有要求を受信する(ステップS33)。同様に、リソースサーバBにおけるタスクC及びDは、クライアント装置Aにおけるクライアントリソース管理部351からタスク占有要求を受信する(ステップS33)。
そして、リソースサーバAにおけるタスクBは、接続管理テーブル格納部311において、タスクBのタスク名に対応付けて格納されているクライアントリソース管理部のアドレスがないことを確認し、タスクBのタスク名に対応付けてクライアントリソース管理部351のアドレス及びステップS33において受信した実行優先度を格納する(ステップS35)。同様に、リソースサーバBにおけるタスクC及びDは、接続管理テーブル格納部331において、タスクC及びDのタスク名に対応付けて格納されているクライアントリソース管理部のアドレスがないことを確認し、タスクC及びDのタスク名に対応付けてクライアントリソース管理部351のアドレス及びステップS33において受信した実行優先度を格納する(ステップS35)。また、ステップS35において、タスクB乃至DはそれぞれセションIDを発行し、タスク名に対応付けて接続管理テーブル311及び331に格納する。ステップS35の処理が終了すると、接続管理テーブル格納部311及び331には、図9及び図10の例に示したデータが格納された状態になっている。
そして、リソースサーバAにおけるタスクBは、ステップS35において発行したセションIDを含む占有許可通知を生成し、クライアント装置Aにおけるクライアントリソース管理部351に送信する(ステップS37)。同様に、リソースサーバBにおけるタスクC及びDは、ステップS35において発行したセションIDを含む占有許可通知を生成し、クライアント装置Aにおけるクライアントリソース管理部351に送信する(ステップS37)。
一方、クライアント装置Aにおけるクライアントリソース管理部351は、リソースサーバAにおけるタスクB、リソースサーバBにおけるタスクC及びリソースサーバBにおけるタスクDから占有許可通知を受信し(ステップS39)、占有が許可された旨を監視・切替部353に通知する。また、ステップS39において受信したセションIDを当該セションIDを発行したタスクのタスク名に対応付けて格納する(ステップS41)。そして、ステップS39において受信したセションIDを含む更新通知を生成し、クライアント装置Bにおけるクライアントリソース管理部371に送信する(ステップS43)。なお、リソースサーバAにおけるタスクB、リソースサーバBにおけるタスクC及びリソースサーバBにおけるタスクDを引き継ぎ可能なクライアント装置がクライアント装置Bの他にも存在する場合には、そのクライアント装置にも更新通知を送信する。
そして、クライアント装置Aにおける監視・切替部353は、待機中のアプリケーションA乃至Cのプロセスに対し現用化を指示する。そして、アプリケーションA乃至Cのプロセスは、クライアントリソース管理部351を介し、リソースサーバA及びBにおけるタスクB乃至Dの占有を開始する(ステップS49)。
一方、クライアント装置Bにおけるクライアントリソース管理部371は、クライアント装置Aにおけるクライアントリソース管理部351から更新通知を受信する(ステップS45)。そして、ステップS45において受信したセションIDを、当該セションIDを発行したタスクのタスク名に対応付けて格納する(ステップS47)。そして、処理は端子A乃至Cを介して図12の処理に移行する。
図12を用いて端子A乃至C以降の処理について説明する。クライアント装置Aは、例えば障害によりハングアップする(ステップS51)。一方、リソースサーバAにおける通信監視部312及びリソースサーバBにおける通信監視部332は、クライアント装置Aとの通信の異常を検知する(ステップS55)。また、クライアント装置Bにおける監視・切替部373は、クライアント装置Aがハングアップしたことを検知し(ステップS53)、クライアントリソース管理部371にその旨を通知する。
そして、クライアント装置Bにおけるクライアントリソース管理部371は、タスク管理テーブル格納部372から実行優先度及びセションIDを読み出し、当該実行優先度及びセションIDを含むタスク引継要求を生成する。ここでは、実行優先度は「2」であるとする。そして、クライアントリソース管理部371は、タスク管理テーブル格納部372に格納されているタスクのアドレスを用いて、リソースサーバAにおけるタスクB、リソースサーバBにおけるタスクC及びリソースサーバBにおけるタスクDにタスク引継要求を送信する(ステップS57)。
一方、リソースサーバAにおけるタスクBは、クライアント装置Bにおけるクライアントリソース管理部371からタスク引継要求を受信する(ステップS59)。同様に、リソースサーバBにおけるタスクC及びDは、クライアント装置Bにおけるクライアントリソース管理部371からタスク引継要求を受信する(ステップS59)。
そして、リソースサーバAにおけるタスクBは、ステップS59において受信したセションIDが、接続管理テーブル格納部311に格納されているセションIDと一致することを確認する。また、ステップS59において受信した実行優先度が接続管理テーブル格納部311に格納されている実行優先度よりも高い(すなわち、数字が大きい)ことを確認する。そして、リソースサーバAにおけるタスクBは、接続管理テーブル格納部311において、タスクBのタスク名に対応付けて格納されているクライアントリソース管理部のアドレスを、クライアントリソース管理部371のアドレスで更新する(ステップS61)。同様に、リソースサーバBにおけるタスクC及びDは、ステップS59において受信したセションIDが、接続管理テーブル格納部331に格納されているセションIDと一致することを確認する。また、ステップS59において受信した実行優先度が接続管理テーブル格納部331に格納されている実行優先度よりも高いことを確認する。そして、リソースサーバBにおけるタスクC及びDは、接続管理テーブル格納部331において、タスクC及びDのタスク名に対応付けて格納されているクライアントリソース管理部のアドレスを、クライアントリソース管理部371のアドレスで更新する(ステップS61)。ステップS61の処理が終了すると、接続管理テーブル格納部311及び331には、図13及び図14の例に示したデータが格納された状態になっている。
そして、リソースサーバAにおけるタスクBは、引継許可通知をクライアント装置Bにおけるクライアントリソース管理部371に送信する(ステップS63)。また、リソースサーバBにおけるタスクC及びタスクDは、引継許可通知をクライアント装置Bにおけるクライアントリソース管理部371に送信する(ステップS63)。
一方、クライアント装置Bのクライアントリソース管理部371は、タスクB乃至Dから引継許可通知を受信し(ステップS65)、引き継ぎが許可された旨を監視・切替部373に通知する。また、監視・切替部373は、待機中のアプリケーションA乃至Cのプロセスに対し現用化を指示する。そして、アプリケーションA乃至Cのプロセスは、クライアントリソース管理部371を介し、リソースサーバA及びBにおけるタスクB乃至Dの占有を開始する(ステップS67)。そして、処理を終了する。
以上のような処理を実施することにより、クライアント装置Aとクライアント装置Bとの間のタスクの引き継ぎを高速で行うことができるようになる。また、リソースサーバはタスクを引き継ぎ可能であることをセションIDにより確認するので、タスクを引き継ぐべきではないクライアント装置による割り込みを防止できる。さらに、上で述べた例では、リソースサーバは、優先度が高いことを確認した上で引き継ぎを許可している。よって、クライアント装置Bへの引き継ぎが行われた後にクライアント装置Aがハングアップから回復し、占有の再開を要求してきたとしても、クライアント装置Aに対してタスクの占有を許可することはない。
以上、本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上で説明したクライアント装置A、クライアント装置B、リソースサーバA及びリソースサーバBの機能ブロック図は必ずしも実際のプログラムモジュール構成に対応するものではない。
また、上で説明した各テーブルの構成は一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
例えば、上で述べた例では各クライアント装置にクライアントリソース管理部を1つ設けるような構成であったが、負荷分散等のために複数のクライアントリソース管理部を設けるようにしてもよい。この場合には、複数のクライアントリソース管理部の間でタスク管理テーブル格納部に格納されているデータを共有して使用する。
また、上で述べた第2の実施の形態は、実行優先度及びセションIDを用いて処理を実施する構成であったが、セションIDを用いずに処理を実施するようにしてもよい。但し、この場合には、リソースサーバA及びBにおけるタスクを利用するクライアント装置がクライアント装置A及びB以外には存在しない場合に有効である。
逆に、実行優先度を用いずセションIDだけを用いて処理を実施するようにしてもよい。但し、この場合には、クライアント装置Aがハングアップから回復することはない場合又は回復してもネットワークから切り離される場合に有効である。
また、各クライアント装置を起動させるタイミングをずらし、クライアント装置が起動する際に取得したタイムスタンプを実行優先度として用いるようにしてもよい。
また、上で述べた例では、タスクを引き継ぎ可能なクライアント装置であるか判別するためにセションIDを用いているが、冗長構成を実現するための複数のクライアント装置間で共通して保持するデータ(例えば仮想IPアドレス)を用いるようにしてもよい。
なお、クライアント装置A、クライアント装置B、リソースサーバA及びリソースサーバBは、図15に示すように、メモリ2501(記憶部)とCPU2503(処理部)とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。OS及びWebブラウザを含むアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。必要に応じてCPU2503は、表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ2501に格納され、必要があればHDD2505に格納される。このようなコンピュータは、上で述べたCPU2503、メモリ2501などのハードウエアとOS及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本技術の実施の形態をまとめると以下のようになる。
本タスク引継方法は、サーバのタスクを占有している現用系の処理装置からサーバのタスクの引き継ぎを行う待機系の処理装置により実行される。そして、本タスク引継方法は、現用系の処理装置における異常の発生が検知された場合、サーバのタスクを引き継ぐためのタスク引き継ぎ要求を、待機系の処理装置において待機中のアプリケーション・プログラムのプロセスの代わりにサーバに送信する要求ステップと、サーバから当該サーバのタスクの引き継ぎ許可を受信した場合、サーバのタスクを占有可能である旨を待機系の処理装置において待機中のアプリケーション・プログラムのプロセスに対し通知するステップとを含む。
このようにすれば、サーバのタスクを利用するアプリケーション・プログラムのプロセスの数が多い場合であっても、引き継ぎを高速で行うことができるようになる。また、通信負荷を削減することができるようになる。
また、現用系の処理装置における異常の発生が検出される前に、サーバのタスクを引き継ぎ可能な待機系の処理装置であることを表す識別データを現用系の処理装置から受信し、第1のデータ格納部に格納するステップをさらに含むようにしてもよい。そして、上で述べた要求ステップが、現用系の処理装置における異常の発生が検知された場合、第1のデータ格納部から識別データを読み出し、当該識別データを含む引き継ぎ要求を生成するステップを含むようにしてもよい。これにより、サーバは、タスクを引き継ぎ可能な待機系の処理装置を識別することができるようになるので、タスクを引き継ぐべきでない待機系の処理装置による割り込みを防ぐことができる。
また、上で述べた要求ステップが、現用系の処理装置における異常の発生が検知された場合、サーバのタスクの占有優先順位を表す優先度を格納する第2のデータ格納部から優先度を読み出し、当該優先度を含む引き継ぎ要求を生成するステップを含むようにしてもよい。そして、現用系の処理装置の優先度は待機系の処理装置の優先度より高くてもよい。このような構成であれば、タスクの占有優先順位に従い引き継ぎを許可すべきか判断できるようになる。例えば、一旦タスクの引き継ぎが行われた後に、優先度が低い処理装置(すなわち、元々現用系であった処理装置)からタスクの占有を要求された場合に、タスクの占有を不許可と判定することができるようになる。
本技術の実施の形態に係るコンピュータ・システムは、サーバと、第1の処理装置と、第2の処理装置とを有する。そして、上で述べたサーバが、所定の機能を実現するためのタスクを実行するようになっている。また、上で述べた第1の処理装置が、タスクを占有している第2の処理装置において異常が発生したことを検知する監視部と、監視部により第2の処理装置において異常が発生したことが検知された場合、タスクを引き継ぐための引き継ぎ要求をサーバに送信し、サーバからタスクの引き継ぎ許可を受信した場合、タスクを占有可能である旨を第1の処理装置において待機中のアプリケーション・プログラムのプロセスに対し通知するリソース管理部とを有する。そして、上で述べたタスクが、第1の処理装置から引き継ぎ要求を受信した場合、第1の処理装置において待機中のアプリケーション・プログラムのプロセスに対する引き継ぎ許可を、リソース管理部に一括して送信する機能をサーバに実現させるようにしてもよい。
このような構成であれば、第1及び第2の処理装置に搭載されるアプリケーション・プログラムの数が多い場合であっても、引き継ぎを高速で行うことができるようになる。
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
所定の機能を実現するタスクを管理するサーバの前記タスクを占有している現用系の処理装置から前記サーバのタスクの引き継ぎを行う待機系の処理装置に、
前記現用系の処理装置における異常の発生が検知された場合、前記サーバのタスクを引き継ぐためのタスク引き継ぎ要求を前記サーバに送信する要求ステップと、
前記サーバから当該サーバのタスクの引き継ぎ許可を受信した場合、前記サーバのタスクを占有可能である旨を前記待機系の処理装置において待機中のアプリケーション・プログラムのプロセスに対し通知するステップと、
を実行させるためのタスク引継プログラム。
(付記2)
前記現用系の処理装置における異常の発生が検出される前に、前記サーバのタスクを引き継ぎ可能な待機系の処理装置であることを表す識別データを前記現用系の処理装置から受信し、第1のデータ格納部に格納するステップ
をさらに実行させ、
前記要求ステップが、
前記現用系の処理装置における異常の発生が検知された場合、前記第1のデータ格納部から前記識別データを読み出し、当該識別データを含む引き継ぎ要求を生成するステップ
を含む付記1記載のタスク引継プログラム。
(付記3)
前記要求ステップが、
前記現用系の処理装置における異常の発生が検知された場合、前記サーバのタスクの占有優先順位を表す優先度を格納する第2のデータ格納部から前記優先度を読み出し、当該優先度を含む引き継ぎ要求を生成するステップ
を含み、
前記現用系の処理装置の優先度は前記待機系の処理装置の優先度より高い
付記1又は2記載のタスク引継プログラム。
(付記4)
所定の機能を実現するタスクを管理するサーバの前記タスクを占有している他の処理装置から前記サーバのタスクの引き継ぎを行う処理装置であって、
前記他の処理装置における異常の発生を検知する監視部と、
前記監視部により前記他の処理装置における異常の発生が検知された場合、前記サーバのタスクを引き継ぐためのタスク引き継ぎ要求を前記サーバに送信し、前記サーバから当該サーバのタスクの引き継ぎ許可を受信した場合、前記サーバのタスクを占有可能である旨を前記処理装置において待機中のアプリケーション・プログラムのプロセスに対し通知するリソース管理部と、
を有する処理装置。
(付記5)
サーバと、
第1の処理装置と、
第2の処理装置と、
を有し、
前記サーバが、
所定の機能を実現するためのタスクを実行するようになっており、
前記第1の処理装置が、
前記タスクを占有している前記第2の処理装置において異常が発生したことを検知する監視部と、
前記監視部により前記第2の処理装置において異常が発生したことが検知された場合、前記タスクを引き継ぐための引き継ぎ要求を前記サーバに送信し、前記サーバから前記タスクの引き継ぎ許可を受信した場合、前記タスクを占有可能である旨を前記第1の処理装置において待機中のアプリケーション・プログラムのプロセスに対し通知するリソース管理部と、
を有し、
前記タスクが、
前記第1の処理装置から前記引き継ぎ要求を受信した場合、前記第1の処理装置において待機中のアプリケーション・プログラムのプロセスに対する前記引き継ぎ許可を、前記リソース管理部に一括して送信する機能を前記サーバに実現させる
コンピュータ・システム。
1,7 ネットワーク 3 クラスタシステム
5 ユーザ端末
311,331 接続管理テーブル格納部
312,332 通信監視部
313 タスクA 314 タスクB
333 タスクC 334 タスクD
351,371 クライアントリソース管理部
352,372 タスク管理テーブル格納部
353,373 監視・切替部
354 アプリケーションA 355 アプリケーションB
356 アプリケーションC 374 アプリケーションA
375 アプリケーションB 376 アプリケーションC

Claims (5)

  1. 所定の機能を実現するタスクを管理するサーバの前記タスクを占有している現用系の処理装置から前記サーバのタスクの引き継ぎを行う待機系の処理装置に、
    前記現用系の処理装置における異常の発生が検知された場合、前記サーバのタスクを引き継ぐためのタスク引き継ぎ要求を前記サーバに送信する要求ステップと、
    前記サーバから当該サーバのタスクの引き継ぎ許可を受信した場合、前記サーバのタスクを占有可能である旨を前記待機系の処理装置において待機中のアプリケーション・プログラムのプロセスに対し通知するステップと、
    を実行させるためのタスク引継プログラム。
  2. 前記現用系の処理装置における異常の発生が検出される前に、前記サーバのタスクを引き継ぎ可能な待機系の処理装置であることを表す識別データを前記現用系の処理装置から受信し、第1のデータ格納部に格納するステップ
    をさらに実行させ、
    前記要求ステップが、
    前記現用系の処理装置における異常の発生が検知された場合、前記第1のデータ格納部から前記識別データを読み出し、当該識別データを含む引き継ぎ要求を生成するステップ
    を含む請求項1記載のタスク引継プログラム。
  3. 前記要求ステップが、
    前記現用系の処理装置における異常の発生が検知された場合、前記サーバのタスクの占有優先順位を表す優先度を格納する第2のデータ格納部から前記優先度を読み出し、当該優先度を含む引き継ぎ要求を生成するステップ
    を含み、
    前記現用系の処理装置の優先度は前記待機系の処理装置の優先度より高い
    請求項1又は2記載のタスク引継プログラム。
  4. 所定の機能を実現するタスクを管理するサーバの前記タスクを占有している他の処理装置から前記サーバのタスクの引き継ぎを行う処理装置であって、
    前記他の処理装置における異常の発生を検知する監視部と、
    前記監視部により前記他の処理装置における異常の発生が検知された場合、前記サーバのタスクを引き継ぐためのタスク引き継ぎ要求を前記サーバに送信し、前記サーバから当該サーバのタスクの引き継ぎ許可を受信した場合、前記サーバのタスクを占有可能である旨を前記処理装置において待機中のアプリケーション・プログラムのプロセスに対し通知するリソース管理部と、
    を有する処理装置。
  5. サーバと、
    第1の処理装置と、
    第2の処理装置と、
    を有し、
    前記サーバが、
    所定の機能を実現するためのタスクを実行するようになっており、
    前記第1の処理装置が、
    前記タスクを占有している前記第2の処理装置において異常が発生したことを検知する監視部と、
    前記監視部により前記第2の処理装置において異常が発生したことが検知された場合、前記タスクを引き継ぐための引き継ぎ要求を前記サーバに送信し、前記サーバから前記タスクの引き継ぎ許可を受信した場合、前記タスクを占有可能である旨を前記第1の処理装置において待機中のアプリケーション・プログラムのプロセスに対し通知するリソース管理部と、
    を有し、
    前記タスクが、
    前記第1の処理装置から前記引き継ぎ要求を受信した場合、前記第1の処理装置において待機中のアプリケーション・プログラムのプロセスに対する前記引き継ぎ許可を、前記リソース管理部に一括して送信する機能を前記サーバに実現させる
    コンピュータ・システム。
JP2010122908A 2010-05-28 2010-05-28 タスク引継プログラム、処理装置及びコンピュータ・システム Active JP5691248B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010122908A JP5691248B2 (ja) 2010-05-28 2010-05-28 タスク引継プログラム、処理装置及びコンピュータ・システム
US13/113,241 US8671307B2 (en) 2010-05-28 2011-05-23 Task relay system, apparatus, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010122908A JP5691248B2 (ja) 2010-05-28 2010-05-28 タスク引継プログラム、処理装置及びコンピュータ・システム

Publications (2)

Publication Number Publication Date
JP2011248737A true JP2011248737A (ja) 2011-12-08
JP5691248B2 JP5691248B2 (ja) 2015-04-01

Family

ID=45023145

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010122908A Active JP5691248B2 (ja) 2010-05-28 2010-05-28 タスク引継プログラム、処理装置及びコンピュータ・システム

Country Status (2)

Country Link
US (1) US8671307B2 (ja)
JP (1) JP5691248B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014137798A (ja) * 2013-01-18 2014-07-28 Oki Electric Ind Co Ltd データベースシステム及びデータベースシステムの制御方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111026515B (zh) * 2018-10-10 2023-07-14 上海寒武纪信息科技有限公司 状态监控装置、任务调度器及状态监控方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997049034A1 (fr) * 1996-06-20 1997-12-24 Fujitsu Limited Systeme de prise en charge de taches
JP2003131892A (ja) * 2001-10-25 2003-05-09 Matsushita Electric Ind Co Ltd タスク実行制御装置及びタスク実行制御方法
JP2004192449A (ja) * 2002-12-12 2004-07-08 Toshiba Corp Web型クライアントサーバシステムにおける負荷分散方法、負荷分散システム、および負荷分散プログラム
JP2005293070A (ja) * 2004-03-31 2005-10-20 Toyota Motor Corp タスク実行システム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03156559A (ja) * 1989-11-14 1991-07-04 Nec Corp マルチプロセッサシステムに於ける割込み処理方式
US5822531A (en) * 1996-07-22 1998-10-13 International Business Machines Corporation Method and system for dynamically reconfiguring a cluster of computer systems
US7095747B2 (en) * 2001-03-28 2006-08-22 Siemens Communications, Inc. Method and apparatus for a messaging protocol within a distributed telecommunications architecture
JP2005018510A (ja) * 2003-06-27 2005-01-20 Hitachi Ltd データセンタシステム及びその制御方法
GB2416875A (en) * 2004-08-03 2006-02-08 Siemens Ag Switching from master computer system to standby computer system
JP4920391B2 (ja) * 2006-01-06 2012-04-18 株式会社日立製作所 計算機システムの管理方法、管理サーバ、計算機システム及びプログラム
JP5213108B2 (ja) * 2008-03-18 2013-06-19 株式会社日立製作所 データ複製方法及びデータ複製システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997049034A1 (fr) * 1996-06-20 1997-12-24 Fujitsu Limited Systeme de prise en charge de taches
JP2003131892A (ja) * 2001-10-25 2003-05-09 Matsushita Electric Ind Co Ltd タスク実行制御装置及びタスク実行制御方法
JP2004192449A (ja) * 2002-12-12 2004-07-08 Toshiba Corp Web型クライアントサーバシステムにおける負荷分散方法、負荷分散システム、および負荷分散プログラム
JP2005293070A (ja) * 2004-03-31 2005-10-20 Toyota Motor Corp タスク実行システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014137798A (ja) * 2013-01-18 2014-07-28 Oki Electric Ind Co Ltd データベースシステム及びデータベースシステムの制御方法

Also Published As

Publication number Publication date
US20110296233A1 (en) 2011-12-01
US8671307B2 (en) 2014-03-11
JP5691248B2 (ja) 2015-04-01

Similar Documents

Publication Publication Date Title
US7225356B2 (en) System for managing operational failure occurrences in processing devices
JP4572250B2 (ja) 計算機切り替え方法、計算機切り替えプログラム及び計算機システム
US20200042410A1 (en) Role designation in a high availability node
US8032786B2 (en) Information-processing equipment and system therefor with switching control for switchover operation
JP2007226400A (ja) 計算機管理方法、計算機管理プログラム、実行サーバの構成を管理する待機サーバ及び計算機システム
CN110224871A (zh) 一种Redis集群的高可用方法及装置
WO2016202051A1 (zh) 一种通信系统中管理主备节点的方法和装置及高可用集群
CN111130835A (zh) 数据中心双活系统、切换方法、装置、设备及介质
JP2007172334A (ja) 並列型演算システムの冗長性を確保するための方法、システム、およびプログラム
JP2009025965A (ja) フェールオーバにおける引き継ぎ先を自律的に変更する計算機システム及び方法
JP2012173996A (ja) クラスタシステム、クラスタ管理方法、およびクラスタ管理プログラム
EP3087483A1 (en) System and method for supporting asynchronous invocation in a distributed data grid
CN101442437B (zh) 一种实现高可用性的方法、系统及设备
JP2005301436A (ja) クラスタシステムおよびクラスタシステムにおける障害回復方法
JP2009223368A (ja) クラスタリング制御装置、制御システム、制御方法及び制御プログラム
JP5691248B2 (ja) タスク引継プログラム、処理装置及びコンピュータ・システム
TWM432075U (en) Monitoring device and monitoring system applicable to cloud algorithm
JP2011203941A (ja) 情報処理装置、監視方法、および監視プログラム
JP2009075710A (ja) 冗長化システム
JP2008250427A (ja) 情報処理システムに用いられるバージョンアップ装置及び該装置を備えた情報処理システム並びに情報処理システムをバージョンアップするためのプログラム
JP2006285453A (ja) 情報処理装置、情報処理方法、および情報処理プログラム
JP2015114952A (ja) ネットワークシステム、監視制御装置およびソフトウェア検証方法
JP6856574B2 (ja) サービス継続システムおよびサービス継続方法
JP4520899B2 (ja) クラスタ制御方法、クラスタ制御プログラム、クラスタシステムおよび待機サーバ
JP2016151965A (ja) 冗長構成システム及び冗長構成制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130403

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140507

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140704

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150119

R150 Certificate of patent or registration of utility model

Ref document number: 5691248

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150