JP4532423B2 - サーバシステム - Google Patents

サーバシステム Download PDF

Info

Publication number
JP4532423B2
JP4532423B2 JP2006073173A JP2006073173A JP4532423B2 JP 4532423 B2 JP4532423 B2 JP 4532423B2 JP 2006073173 A JP2006073173 A JP 2006073173A JP 2006073173 A JP2006073173 A JP 2006073173A JP 4532423 B2 JP4532423 B2 JP 4532423B2
Authority
JP
Japan
Prior art keywords
server
job
execution
request
storage unit
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.)
Expired - Fee Related
Application number
JP2006073173A
Other languages
English (en)
Other versions
JP2007249674A (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.)
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 JP2006073173A priority Critical patent/JP4532423B2/ja
Priority to US11/474,157 priority patent/US7730342B2/en
Publication of JP2007249674A publication Critical patent/JP2007249674A/ja
Application granted granted Critical
Publication of JP4532423B2 publication Critical patent/JP4532423B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、複数サーバを含む情報システムにおけるジョブ管理技術に関する。
サーバ間に共用できるアレイディスク装置(以下、共用ディスク)上にデータを配置した形態のシステムがある。このようなシステムでは、複数のサーバが、それぞれのサーバで実行される業務(以下、ジョブ)で使用される情報を共用ディスクによって共有する。
図1にそのような従来のシステム構成の例を示す。従来のシステムでは、図1のように、例えば、サーバAで実行されるジョブは当該データを共用ディスクに書き出す。一方、サーバBで実行されるジョブは、当該データを共用ディスクから読み込む。従来は、このような依存関係のあるジョブの実行順をルール(スケジュール)として設定し、運用している。
しかし、このようなシステムは、ジョブで使用されるデータのみに着目し、ジョブの制御については着目していない。また、複数のサーバで業務運用を行う場合には、各サーバにジョブのスケジュール情報が配備され、各サーバでジョブが運用されると共に、すべてのサーバのジョブスケジュールを一括管理する管理サーバが用意されていた。そして、管理サーバが、他のサーバのジョブを集中的にスケジュールしていた。このような形態では、ジョブを一括管理するサーバが停止すると、データを互いに授受し、連携するサーバ間でジョブのスケジュールを実施できず、業務の運用に支障をきたすことがあった。
このように、ジョブのスケジュール情報をある特定のサーバに一括管理する技術は従来から存在する(Systemwalker(登録商標)など)。これにより、複数のサーバで運用されるバッチ(業務)が構築されていた。しかし、ジョブのスケジュール情報を一括管理するサーバが何らかの理由で停止すると、複数のサーバで連携して運用する業務は停止していた。
また、ジョブのスケジュール情報は、管理サーバだけでなく、ジョブを実行するサーバにも存在することがある。このため、システムのバックアップ/リストアなどの保守では、これらすべてのサーバに存在するジョブのスケジュール情報をバックアップ/リストアする必要があった。
特公平7−101407号公報 特開昭55−037626号公報 特許第3516049号号公報 特開2001−282551号公報
本発明の目的は、複数サーバが連携するシステムにおいて、ジョブのスケジュール管理の信頼性およびシステムの安定性を向上させることにある。
本発明は前記課題を解決するために、以下の手段を採用した。すなわち、本発明は、第1サーバまたは第2サーバとして機能するサーバを含む複数のサーバと前記複数のサーバに共用される共用記憶装置とを備え、前記共用記憶装置は、ジョブの実行要求を登録してジョブの実行順序を制御するとともにジョブの実行を完了するまで前記ジョブの状態を記
憶するジョブキュー記憶部と、ジョブの実行を要求する要求サーバごとに設けられ、ジョブの実行要求の前記ジョブキュー記憶部への登録を依頼する、そのような登録依頼情報が書き込まれるジョブキュー登録依頼記憶部と、ジョブを実行する実行サーバごとに設けられ、前記実行サーバと前記実行サーバに割り当てられたジョブの実行要求との関係を記憶するジョブ割り当て記憶部と、を有し、前記第1サーバは、前記ジョブキュー登録依頼記憶部に書き込まれた登録依頼情報にしたがってジョブの実行要求を前記ジョブキュー記憶部に登録するジョブキュー登録処理部を有し、前記第2サーバは、前記ジョブキュー記憶部に登録されたジョブの実行要求を前記実行サーバに割り当てて、前記実行サーバと前記実行サーバに割り当てられたジョブの実行要求との関係を前記ジョブ割り当て記憶部に書き込む割り当て処理部を有し、前記実行サーバは、当該実行サーバに対して設けられたジョブ割り当て記憶部からジョブの実行要求を取得して割り当てられたジョブを実行する実行部を有する、サーバシステムである。
本発明によれば、共用記憶装置は、ジョブの実行要求を登録してジョブの実行順序を制御するとともにジョブの実行を完了するまで前記ジョブの状態を記憶し、第1サーバは、前記ジョブキュー登録依頼記憶部に書き込まれた登録依頼情報にしたがってジョブの実行要求を前記ジョブキュー記憶部に登録し、第2サーバは、前記ジョブキュー記憶部に登録されたジョブの実行要求を前記実行サーバに割り当て、実行サーバは、割り当てられたジョブを実行する。したがって、共用記憶装置を介して、複数のサーバ実行されるジョブを複数のサーバによって管理するとともに、複数のサーバでジョブを実行することができる。
また、本発明は、コンピュータその他の装置、機械等が上記いずれかの処理を実行する方法であってもよい。また、本発明は、コンピュータその他の装置、機械等に、上記いずれかの処理を実行させるコンピュータ実行可能なプログラムであってもよい。また、本発明は、そのようなプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものでもよい。
本発明によれば、複数サーバが連携するシステムにおいて、ジョブのスケジュール管理の信頼性およびシステムの安定性を向上することができる。
以下、図面を参照して本発明を実施するための最良の形態(以下、実施形態という)に係る情報システムについて説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
<発明の骨子>
本情報システムは、複数のサーバと複数のサーバに共用される共用ディスクを有する。この情報システムでは、共用ディスク上にジョブのキュー情報(以下、ジョブキューともいう)が配置される。各々のサーバには、ジョブをスケジュールする(キュー情報にジョブを登録する)機能とジョブを実行する機能とが設けられる。ジョブをスケジュールする機能を各々のサーバで行うことで、特定のサーバにジョブをスケジュールする機能を集中させず、共用ディスクを中心とした分散系のジョブが実行される。
ジョブをスケジュールする機能は、ジョブの登録を依頼する登録依頼機能と、その依頼にしたがって、ジョブをキュー情報として登録するスケジュール管理機能に分かれる。複数のサーバが、登録依頼機能を有する。これらの複数のサーバから選択される単一のサーバ(スケジュール管理サーバという)がスケジュール管理機能を担当する。ただし、スケジュール管理機能を担当するスケジュール管理サーバが不測の事態により停止したと判断
される場合、所定の優先順位にしたがって、スケジュール管理サーバに代わってスケジュール管理機能を実行するサーバが決定される。
同様に、ジョブを実行する機能は、ジョブを実行する実行機能と、実行機能に対して実行すべきジョブを指定する実行管理機能に分かれる。複数のサーバが、実行機能を有する。これらの複数のサーバから選択される単一のサーバ(実行管理サーバという)が実行管理機能を担当する。ただし、実行管理機能を担当する実行管理サーバが不測の事態により停止したと判断される場合、所定の優先順位にしたがって、実行管理サーバに代わって実行管理機能を実行するサーバが決定される。
複数のサーバ間でどのような順に管理機能を担当するかを決定する優先度に関する情報は、共用ディスクに格納される。このようなスケジュール管理サーバに代わって管理機能を実行することができる複数のサーバは、他のサーバが持つ優先度を調べる。そして、各サーバは、自装置が持つ優先度と他サーバが持つ優先度とを比べて、自装置がジョブスケジュールを担当するか否かを判断する機能とを持つ。
各サーバは、自装置がジョブスケジューリングを担当すると判断すると、共用ディスクに格納されているスケジュールを参照して、スケジュール管理機能、すなわち、ジョブのスケジューリングを実行する。
<システム構成>
図2に、本情報システムのシステム構成を示す。図2のように、本情報システムは、複数のサーバ1−1から1−5等と、前記複数のサーバ1−1から1−5等に共用される共用ディスク2とを有する。以下、本実施形態で、これらのサーバ1−1から1−5等を総称する場合には、単にサーバ1という。
本情報システムでは、各サーバには、異なるOS(オペレーティングシステム)を搭載することができる。各サーバは、搭載するOSごとにグループ分けされる。図2の例では、OS−A grpというグループには、OS−Aを搭載した1台のサーバ1−1が所属している。
また、OS−B grpというグループには、OS−Bを搭載したサーバ1−2、1−3が所属している。ただし、OS−B grpというグループ中には、さらに、細分化されたOS−B−DB grpというグループが含まれている。OS−B−DB grpは、OS−Bの制御下で、データベース機能を提供するグループであり、サーバ1−3が所属している。一方、OS−B−DB grp以外のOS−B grpグループは、データベース機能を有しないグループであり、サーバ1−2が所属している。このような細分化されたグループは、OS−C grpとOS−C−DB grpについても同様である。
なお、OS−AからOS−Cには、例えば、汎用大型計算機のOS、Linuxのような無償公開されたOS、Windows(登録商標)のような商用OS、その他ベンダーごとに異なる仕様で開発されたOSが含まれる。このようなOSによるグループ分けは、実行依頼されたジョブを各サーバに割り当てるときの条件(サーバ属性ともいう)として判断される。ジョブには、通常、特定のOSで機能するアプリケーションプログラムが指定されるからである。
また、図2のように、いずれかのサーバは、いずれかのサーバ属性の実行機能を有している。実行機能とは、ジョブを実行する機能である。また、サーバ1−1、1−2、および1−4は、スケジュール機能を有している。スケジュール機能は、ジョブスケジューラ製品からの実行依頼を受信し、あるいは、オペレータからのジョブの実行依頼を受け付け
、実行依頼を情報システムに要求する機能である。
さらに、本情報システムでは、スケジュール機能を有するサーバ(本発明の要求サーバに相当)のうち、いずれか1台がスケジュール管理機能を実行する。以下、スケジュール管理機能を実行しているサーバをスケジュール管理サーバ(本発明の第1サーバに相当)という。スケジュール管理サーバは、実行依頼を要求する他のサーバからの要求によるジョブの実行要求をジョブキューに登録する。
同様に、実行機能を有するサーバ(本発明の実行サーバに相当)のうち、いずれか1台が実行管理機能を実行する。以下、実行管理機能を実行しているサーバを実行管理サーバ(本発明の第2サーバに相当)という。実行管理サーバは、ジョブキューに登録されたジョブの情報にしたがって、該当するOSグループのサーバに、実行すべきジョブを指定する。
共用ディスクは、本情報システムを構成する複数のサーバからアクセスできる。複数サーバが共用ディスクにアクセスするためのインターフェースとしては、様々なものが提案されており、その構成は周知であるので、説明は省略する。そのようなインターフェースの例としては、FC−SCSI(Fibre Channel−Small Computer System Interface )
を挙げることができる。
図3に、スケジュール管理サーバと、実行管理サーバと、それら以外の他のサーバと、共用ディスクとの関係を示す。図3の例では、サーバ1−1がスケジュール管理サーバとして機能し、サーバ1−5が実行管理サーバとして機能し、サーバ1−2がジョブの実行依頼をするスケジュール機能を有し、サーバ1−5が実行機能を有していると仮定している。また、共用ディスク2には、ジョブキュー等の管理情報を格納するジョブキュー区画が設けられている。
図4に、ジョブキュー区画の構造を示す。ジョブキュー区画は、ジョブキューを格納するジョブキュー情報域、ジョブキューへの登録依頼を格納するジョブキュー登録依頼情報域、実行すべきジョブのジョブキューからの取り出しを依頼するジョブキュー取り出し依頼情報域、スケジュール管理機能を実行することができる複数サーバ間の優先度を管理するスケジュール機能制御域、および実行管理機能を実行することができる複数サーバ間の優先度を格納する実行機能制御域を有している。
ここで、図3に基づいて、ジョブの実行依頼、ジョブキューへの登録、およびジョブキューに登録されたジョブのサーバへの割り当ての概要を説明する。例えば、スケジュール機能を有するサーバ1−2、1−3等は、ジョブスケジューラ製品からの実行依頼を受信し、あるいは、オペレータからのジョブの実行依頼を受け付け、ジョブの実行依頼を共用ディスクに書き込む。書き込み先は、ジョブキュー区画のジョブキュー登録依頼情報域である。
スケジュール管理機能を実行するサーバ1−1(現在のスケジュール管理サーバ)は、ジョブキュー登録依頼情報域を監視している。そして、ジョブキュー登録依頼情報域にジョブの実行依頼が書き込まれており、かつ、ジョブキュー情報域に空きエントリがある場合、サーバ1−1は、そのジョブの実行依頼を基にジョブ実行要求をジョブキュー情報域に登録する。
一方、実行管理機能を実行するサーバ1−5(現在の実行管理サーバ)は、ジョブキュー情報域を監視している。そして、ジョブキュー情報域に実行待ち(未実行)のジョブがあり、かつ、実行機能を有するサーバ1−2等で、そのジョブで指定されたOSグループ
に所属するものが、ジョブの取り出し要求をしている場合、サーバ1−5は、該当するジョブをそのサーバ1−2等に引き渡す。このようにして、ジョブの内容を引き渡されたサーバ1−2等がそれぞれのジョブを実行する。なお、ジョブの取り出し要求は、実行機能を有するそれぞれのサーバによりジョブキュー区画のジョブキュー取出し依頼情報域に書き込まれている。
さらに、スケジュール機能を有するサーバ1−2等は、現在スケジュール管理機能を実行しているサーバ1−1を監視している。そして、サーバ1−1等が不測の事態によって停止していると推定される場合、スケジュール機能制御域の優先度にしたがって、サーバ1−2等のうち最も優先度の高いものがスケジュール管理機能を実行するようになる。このとき、サーバ1−1は、スケジュール管理機能を実行する役割から開放される。
同様に、実行機能を有するサーバ1−2等は、現在実行管理機能を実行しているサーバ1−5を監視している。そして、サーバ1−5等が不測の事態によって停止していると推定される場合、実行機能制御域の優先度にしたがって、サーバ1−2等のうちの最も優先度の高いものが実行管理機能を実行するようになる。このとき、サーバ1−5は、実行管理機能を実行する役割から開放される。
<ジョブキュー区画のデータ構造>
図5から図9の図面に基づいて、ジョブキュー区画のデータ構造を説明する。図5は、ジョブスケジュールを格納するジョブキュー情報域(本発明のジョブキュー記憶部に相当)のデータ構造を示す図である。図5の表で、最上部の行は、ジョブキュー情報域に登録されるレコードの項目を示している。したがって、図5の表で第2行目以下が、具体的なジョブスケジュールを示すレコードである。
図5のように、ジョブキュー情報域の各レコードは、格納日時、ジョブキュー内管理情報、ジョブ名、実行依頼されたサーバ、実行可能なサーバ属性、実行しているサーバ、ジョブのステータス、その他の情報を有している。
格納日時は、スケジュール管理機能を有するスケジュール管理サーバによって、ジョブキュー登録依頼情報域の情報を基にジョブキュー情報域に登録された日時である。
ジョブキュー内管理情報は、ジョブキュー情報域での通し番号である。ジョブキュー情報域の各ジョブのレコードは、ジョブキュー内管理情報によって一意に識別される。
ジョブ名は、ジョブの名称である。ジョブ名は、ジョブキュー情報域の内容を表示するときに、ユーザに認識しやすくするための名称である。通常は、ジョブで実行されるコマンド名、プログラム名等を含んだ名称である。その場合、ジョブの実行依頼をジョブキュー登録依頼情報域に書き込むサーバ1−2等が所定の手順でジョブ名を決定するようにしてもよい。また、例えば、スケジュール管理機能を実行するスケジュール管理サーバが所定の手順でジョブ名を決定するようにしてもよい。
実行依頼されたサーバとは、実行管理機能を有する実行管理サーバによってそのジョブが割り当てられたサーバ1−4等である。実行可能なサーバ属性とは、ジョブの実行依頼で指定された実行条件(サーバ属性)であり、例えば、OSのグループの指定である。実行しているサーバとは、そのジョブを現在実行しているサーバのコンピュータ名である。
ジョブのステータスは、例えば、実行中、実行待ち等である。なお、ジョブのステータスとは別に、スケジュール機能(スケジュール管理サーバ)または実行機能(実行管理サーバ)がジョブキューの処理中に異常終了した場合に備えて、スケジュール機能または実
行機能のステータス情報を格納する領域を共用ディスクに設けてもよい。
その他の情報とは、例えば、実行の優先順位、実行開始時間の指定などである。
図6に、登録依頼情報域(本発明のジョブキュー登録依頼記憶部に相当)のデータ構造を示す。登録依頼情報域は、スケジュール機能を有するサーバ1−2等ごとに、領域が分割されている。図6の例では、server01登録依頼情報域から、server b
登録依頼情報域まで、合計b個の領域(server x(x=1,...,b)に対応する領域)が設けられている。
図6では、server xの領域が詳細に例示されている。図6のように、登録依頼情報域の1つの領域(例えば、server x 用の領域)は、複数個のジョブ格納域
(図6の場合、合計c個の領域)に区分されている。ここで、c個は、スケジュール機能を有する1つのサーバであるserver xが依頼可能なジョブ数の限界(ジョブがジョブキュー情報域に登録される前に登録依頼を格納可能な容量の限界)である。
1つのジョブ格納域は、管理ステータス、ジョブ名、実行可能なサーバ属性、およびその他の情報を有している。
ここで、管理ステータスには、以下の情報が格納される。
・ジョブ格納域が未使用(ジョブのジョブキュー情報域への移動済みも含む);
これは、ジョブ格納域が空き状態であることを示している。
・ジョブのジョブキュー情報域への登録依頼済み;
これは、ジョブ格納域が使用中であり、ジョブキュー情報域への登録を待っていることを示している。
なお、管理ステータスとして、スケジュール機能(スケジュール管理サーバ)がジョブキュー情報域の処理中に異常終了した場合に備えて、スケジュール機能のステータスを示す情報を格納するようにしてもよい。
ジョブ名は、ジョブキュー情報域に登録されるジョブ名である。例えば、ユーザから指定されるパラメータによってジョブ名を設定してもよい。また、ユーザがジョブ名を指定しなかった場合、スケジュール機能を有するサーバ1−2等がデフォルトの名称を設定してもよい。また、ジョブで実行されるプログラムの名称等に基づき、スケジュール機能を有するサーバ1−2等が所定の手順でジョブ名を決定するようにしてもよい。
実行可能なサーバ属性は、そのジョブを実行するために必要なサーバ1−5等の条件である。例えば、OSグループが指定される。その他の情報は、例えば、実行の優先順位、実行開始時間の指定などである。ジョブ名、実行可能なサーバ属性、およびその他の情報は、ジョブキュー情報域の登録内容としてそのまま引き継がれる。
図7に、スケジュール機能制御域(本発明の第1サーバ管理情報記憶部に相当)のデータ構造の例を示す。図7の表で、最上部の行は、スケジュール機能制御域に登録されるレコードの項目を示している。したがって、図7の表で第2行目以下が、具体的なスケジュール機能制御域のレコードである。スケジュール機能制御域のレコードは、スケジュール機能を有するサーバの数だけ設けられ(図7では、b個)、各レコードがそれぞれのサーバに対応している。スケジュール機能制御域は、スケジュール機能を有するサーバの中で、現在スケジュール管理機能を実行するスケジュール管理サーバが停止したときに、スケジュール管理サーバに代わってスケジュール管理機能を実行するサーバを決定するための情報を有する。
図7のように、スケジュール機能制御域の各レコードは、処理優先順位、サーバ名、状態、スケジュール処理日時を有している。処理優先順位とは、各レコードで指定されているサーバ1−1等が、スケジュール管理機能を実行するときの優先度を示す。ここでは、優先度1が、最も優先度が高いとする。現在管理機能を実行しているスケジュール管理サーバが停止したと推定される場合に、そのスケジュール管理サーバ以外のサーバで、最も処理優先順位の高いサーバがスケジュール管理サーバとなる。
サーバ名は、各レコードで管理されるサーバのコンピュータ名である。状態とは、各サーバの動作状態を示している。例えば、動作中を示すactiveまたは停止中を示すstopが設定される。スケジュール処理日時は、スケジュール管理機能を実行するサーバが定期的に書き込む日時である。
スケジュール機能を有するサーバ1−2等で、スケジュール管理サーバ以外のものは、このスケジュール日時の欄を監視している。そして、スケジュール管理サーバ以外のサーバ1−2等が、所定時間以上、スケジュール日時の欄の値に変化がない場合に、スケジュール管理機能を有するサーバが不測の原因で動作を停止したと推定する。
その場合には、スケジュール機能を有するサーバ1−2等のうち、状態がactiveのもので、処理優先順位が最高のものがスケジュール管理サーバとなる。なお、本情報システムでは、現在スケジュール管理機能を実行しているサーバよりも処理優先順位の高いサーバで状態がactiveであるものが存在しても、直ちに、現在のスケジュール管理サーバに代わってスケジュール管理機能を実行することをしない。すなわち、スケジュール管理サーバが他のサーバに交代するのは、そのスケジュール管理サーバが停止したときか、または、オペレータ操作によって強制的に、スケジュール管理サーバが切り替えられた場合だけである。
処理優先順位は、スケジュール管理サーバが停止した場合に、他のサーバがスケジュール管理機能を確実に引き継ぐ可能性を極力高める(管理機能が停止する可能性を極力低減する)ためであり、サーバ間の優先順位調整自体が目的ではないからである。
図8に、実行機能制御域(本発明の第2サーバ管理情報記憶部に相当)のデータ構造の例を示す。実行機能制御域のレコードは、実行機能を有するサーバの数だけ設けられ(図8では、d個)、各レコードがそれぞれのサーバに対応している。実行機能制御域は、実行機能を有するサーバの中で、現在実行管理機能を実行する実行管理サーバが停止したときに、その実行管理サーバに代わって次に実行管理機能を実行するサーバを決定するための情報を有する。
図8のように、実行機能制御域のレコードの構成は、スケジュール機能制御域のレコードと同様である。すなわち、優先順位によって選択されるサーバが実行管理機能を有すること以外は、実行機能制御域の役割は、スケジュール機能制御域と同様だからである。
図9に、ジョブキュー取出し依頼情報域のデータ構造の例を示す。ジョブキュー取出し依頼情報域は、実行機能を有するサーバ1−2等ごとに、領域が分割されている。図6の例では、server01取出し依頼情報域から、server d取出し依頼情報域ま
で、合計d個の領域(server z(z=1,...,d)に対応する領域)が設けられている。
図9では、server zの領域が詳細に例示されている。図9のように、登録依頼情報域の1つの領域(例えば、server z 用の領域)は、取出し依頼格納情報域
100と、取出し依頼結果域101(本発明のジョブ割り当て記憶部に相当)を含む。
取出し依頼格納情報域100は、実行機能を有するそれぞれのサーバ1−2等により書き込まれる。取出し依頼格納情報域100は、グループ名と取出し依頼ジョブ数を含む。グループ名とは、その取出し依頼情報域で管理されるサーバ属性(サーバが搭載したOSのグループ)である。グループ名によって当該サーバがどの種類のサーバ属性を有するかが判別される。
取出し依頼ジョブ数とは、当該サーバが実行管理サーバに対して、ジョブキュー情報域からのジョブの取り出しを依頼するジョブ数である。取出し依頼ジョブ数は、当該サーバが現在どの程度までジョブを受け入れ可能かを示す情報である。この取出し依頼ジョブ数は、当該サーバの負荷に基づいて決定してもよい。
また、取出し依頼結果域101には、ジョブキュー情報域のジョブのうち、実行機能を有するサーバに割り当てられたジョブが格納される。すなわち、実行管理機能を有する実行管理サーバ(例えば、サーバ1−5)は、ジョブキュー情報域の状況と、取出し依頼格納情報域100とを照合する。そして、実行管理サーバは、取出し依頼格納情報域100のグループ名(サーバ属性)に合致するジョブを取出し依頼結果域101に書き込む。
図9のように、取出し依頼結果域101は、取り出したジョブ数と、複数個の取出し依頼結果格納域(図6の場合、合計e個の領域)に区分されている。ここで、e個は、実行機能を有する1つのサーバであるserver xに対して1回に割り当て可能なジョブ数の限界(ジョブが実行完了する前に割り当て可能なジョブ数)である。
さらに、それぞれの取出し依頼結果格納域には、取り出したジョブのジョブキュー情報域内での格納場所を示す情報が書き込まれる。
<処理フロー>
図10から図17の図面に基づいて本情報システムの処理フローを説明する。これらの処理は、それぞれの機能を有するサーバ上のコンピュータプログラムとして実現される。図10は、スケジュール機能起動時のスケジュール管理機能を担当する優先順位の決定方法を示すフローチャートである。この処理では、スケジュール管理機能を有するスケジュール管理サーバ(このサーバを最高位のスケジュール機能を実行するサーバともいう)が決定される。ここでは、サーバ1−1がスケジュール機能を起動した場合を例に説明する。
まず、サーバ1−1のスケジュール機能が起動されると、サーバ1−1は、共用ディスク2のスケジュール機能制御域を参照する。そして、サーバ1−1は、スケジュール機能制御域を参照し、自身のスケジュール機能がリストに存在するかを確認する。すなわち、サーバ1−1は、自サーバに対応するエントリがスケジュール機能制御域に定義されているか否かを判定する(S1)。
自サーバに対応するエントリがスケジュール機能制御域に定義されていない場合、サーバ1−1は、スケジュール機能を停止する(S2)。以降、サーバ1−1は、スケジュール機能を実行しない。
一方、自サーバに対応するエントリがスケジュール機能制御域に定義されている場合、サーバ1−1は、自サーバの処理優先順位を取得する。そして、サーバ1−1は、スケジュール機能制御域内の自身のスケジュール機能の状態をactiveに変更する(S3)。
次に、サーバ1−1は、スケジュール機能制御域内で、スケジュール処理日時を設定している他のスケジュール機能(他サーバ)を検索する(S4)。
そして、サーバ1−1は、スケジュール処理日時を設定しているスケジュール機能(他サーバ)が存在するか否かを判定する(S5)。スケジュール処理日時を設定しているスケジュール機能(他サーバ)が存在する場合には、サーバ1は、そのまま処理を終了する。
一方、スケジュール処理日時を設定しているスケジュール機能(他サーバ)が存在しない場合には、サーバ1−1は、スケジュール機能制御域内で、自スケジュール機能より処理優先順位が高く、状態がactiveである他スケジュール機能(他サーバ)を検索する(S6)。
そして、サーバ1−1は、自スケジュール機能より処理優先順位が高く、状態がactiveである他スケジュール機能(他サーバ)が存在するか否かを判定する(S7)。自スケジュール機能より処理優先順位が高く、状態がactiveである他スケジュール機能(他サーバ)が存在する場合には、サーバ1−1は、そのまま処理を終了する。
一方、自スケジュール機能より処理優先順位が高く、状態がactiveである他スケジュール機能(他サーバ)が存在しない場合には、サーバ1−1は、スケジュール機能制御域内の自身のスケジュール機能のスケジュール処理日時を設定する(S8)。これにより、当該サーバ1−1がスケジュール管理サーバ(すなわち、最高位のスケジュール機能)として動作するようになる。
図11は、実行機能起動時の処理優先順位の決定方法を示すフローチャートである。この処理では、実行管理機能を実行する実行管理サーバ(このサーバを最高位の実行機能を実行するサーバともいう)が決定される。ここでは、サーバ1−5が実行機能を起動した場合を例に説明する。
まず、サーバ1−5の実行機能が起動されると、サーバ1−5は、共用ディスク2の実行機能制御域を参照する。そして、サーバ1−5は、実行機能制御域を参照し、自身の実行機能がリストに存在するかを確認する。すなわち、サーバ1−5は、自サーバに対応するエントリが実行機能制御域に定義されているか否かを判定する(S11)。
自サーバに対応するエントリが実行機能制御域に定義されていない場合、サーバ1−5は、実行機能を停止する(S12)。
一方、自サーバに対応するエントリが実行機能制御域に定義されている場合、サーバ1−5は、自サーバの処理優先順位を取得する。そして、サーバ1−5は、実行機能制御域内の自身の実行機能の状態をactiveに変更する(S13)。
次に、サーバ1−5は、実行機能制御域内で、実行処理日時を設定している実行機能(他サーバ)を検索する(S14)。
そして、サーバ1−5は、実行処理日時を設定している実行機能(他サーバ)が存在するか否かを判定する(S15)。実行処理日時を設定している実行機能(他サーバ)が存在する場合には、サーバ1−5は、そのまま処理を終了する。
一方、実行処理日時を設定している実行機能(他サーバ)が存在しない場合には、サー
バ1−5は、実行機能制御域内で、自身の実行機能より処理優先順位が高く、状態がactiveである他実行機能(他サーバ)を検索する(S16)。
そして、サーバ1−5は、自身の実行機能より処理優先順位が高く、状態がactiveである他の実行機能(他サーバ)が存在するか否かを判定する(S17)。自身の実行機能より処理優先順位が高く、状態がactiveである他の実行機能(他サーバ)が存在する場合には、サーバ1−5は、そのまま処理を終了する。
一方、自身の実行機能より処理優先順位が高く、状態がactiveである他実行機能(他サーバ)が存在しない場合には、サーバ1−5は、実行機能制御域内の自身の実行機能の実行処理日時を設定する(S18)。これにより、当該サーバ1−5が実行管理サーバ(すなわち、最高位の実行機能)として動作するようになる。
図12に、一般のスケジュール機能を実行するサーバ1−2の処理フローを示す(ここでは、サーバ1−2が一般のスケジュール機能を実行すると仮定する)。ここで、一般のスケジュール機能とは、ジョブ登録依頼機能をいう。すなわち、スケジュール管理サーバの機能(最高位のスケジュール機能)以外のスケジュール機能をいう。
この処理では、一般のスケジュール機能を実行するサーバ1−2は、定期的に自サーバ用の登録依頼情報域のジョブ情報の空きを確認する(S21)。そして、ジョブ情報の空きが存在する場合には(S22でYESの場合)、サーバ1−2は、例えば、ジョブスケジューラ製品からジョブの実行依頼を受け取る(S23)。ただし、サーバ1−2は、オペレータの操作によるジョブの実行依頼を受け取ってもよい。
そして、サーバ1−2は、自サーバ用の登録依頼情報域に実行依頼を受けたジョブ情報を書き込む。このとき、サーバ1−2は、ジョブのステータスを登録依頼待ちにする(S24)。
図13に、スケジュール管理サーバのスケジュール管理機能(最高位のスケジュール機能)の処理フローを示す。以下、サーバ1−1がスケジュール管理機能を実行すると仮定する。
この処理では、まず、サーバ1−1は、起動直後にジョブキュー情報域に書き込まれている最後のジョブ情報の場所を把握する(S31)。
次に、サーバ1−1は、ジョブキュー情報域内の空き状況を把握する(S32)。
次に、サーバ1は、定期的にジョブキュー登録依頼情報域内の自サーバ/他サーバ用の登録依頼情報域にジョブの実行依頼が書き込まれることを監視する。すなわち、ステータスが登録依頼待ちのジョブの出現を監視する(S33)。
そして、サーバ1−1は、スケジュール機能制御域内の自身のスケジュール機能のスケジュール処理日時を最新時刻で更新する(S34)。次に、サーバ1−1は、ジョブの実行依頼が書き込まれたか否かを判定する(S35)。ジョブの実行依頼が書き込まれていない場合、サーバ1−1は、制御をS33に戻す。
ジョブの実行依頼が書き込まれている場合、サーバ1−1は、ジョブキュー登録依頼情報域内の自サーバ/他サーバ用の登録依頼情報域に書き込まれたジョブの実行依頼を読み出す。さらに、サーバ1−1は、登録依頼情報域の当該レコードのジョブのステータスを未使用にする(S36)。
次に、サーバ1−1は、空いているジョブキュー情報域にジョブの実行要求を書き込む。さらに、サーバ1−1は、ジョブキュー情報域の当該レコードのジョブのステータスを実行待ちにする(S37)。
図14に、一般の実行機能を実行するサーバ1−4の処理フローを示す(ここでは、サーバ1−4が一般の実行機能を実行すると仮定する)。ここで、一般の実行機能とは、ジョブキュー情報域のジョブを割り当てられ、そのジョブを実行する機能をいう。すなわち、実行管理サーバの機能(最高位の実行機能)以外の実行機能をいう。
この処理では、一般の実行機能を実行するサーバ1−4は、自サーバが所属するグループに対して、グループ内での最大同時実行可能ジョブ数と、現在実行中のジョブ数との差を把握する(S41)。
次に、サーバ1−4は、ジョブキュー取出し依頼格納情報域100内の自サーバの取出し依頼格納情報域100に、取り出して欲しいグループ名とジョブ数を設定する(S42)。このジョブ数は、例えば、上記最大同時実行可能ジョブ数と、現在実行中のジョブ数との差である。また、その差を所定の係数で補正したものであってもよい。
そして、サーバ1−4は、実行管理サーバ(最高位の実行機能)によってジョブキュー取出し依頼情報域内の自サーバの取出し依頼結果域101に情報が書き込まれるのを定期的に監視する(S43)。
そして、サーバ1−4は、ジョブキュー取出し依頼情報域内の自サーバの取出し依頼結果域101から、自サーバに割り当てられたジョブ(ジョブキュー情報域内のジョブ格納場所を示す情報)を取得する(S44)。
そして、自サーバの取出し依頼結果域101にジョブ格納場所を示す情報が存在しない場合(S45でNOの場合)、サーバ1−4は、制御をS41に戻す。
一方、自サーバの取出し依頼結果域101にジョブ格納場所を示す情報が存在した場合(S45でYESの場合)、サーバ1−4は、ジョブ格納場所を示す情報を元に、ジョブキュー情報域からジョブ情報を取得し、ジョブを実行する。このとき、サーバ1−4は、ジョブのステータスを実行中にする(S46)。
そして、サーバ1−4は、ジョブが終了後、ジョブキュー情報域からジョブ情報を削除する(S47)。
図15に、実行管理サーバの機能(最高位のスケジュール機能)の処理フローを示す。以下、サーバ1−5が実行管理機能を実行すると仮定する。
この処理では、まず、サーバ1−5は、定期的にジョブキュー取出し依頼情報域内の、各サーバの取出し依頼格納情報域100に情報が書き込まれるのを監視する(S51)。
次に、サーバ1−5は、実行機能制御域内の自実行機能の実行処理日時を最新時刻で更新する(S52)。
そして、サーバ1−5は、自サーバ/他サーバ用の取出し依頼情報域に情報が書き込まれたか否かを判定する(S53)。取出し依頼情報域に情報が書き込まれていない場合、サーバ1−5は、制御をS51に戻す。
一方、取出し依頼情報域に情報が書き込まれた場合、サーバ1−5は、各サーバの取出し依頼情報域から取り出し依頼されているグループ名とジョブ数を取得する(S54)。
そして、サーバ1−5は、取得したグループ名とジョブ数を元に、ジョブキュー情報域から該当するジョブの実行要求を検索する。さらに、サーバ1−5は、検索されたジョブの実行要求のジョブ情報域内での格納位置を各サーバの取出し依頼情報域内の取出し依頼結果域101に書き込む(S55)。
図16に、スケジュール管理サーバ(最高位のスケジュール機能)が停止した場合に、次のスケジュール管理サーバの順位を決定する処理フローを示す。以下、サーバ1(一般のスケジュール機能を有するサーバの総称)が図16の処理を実行すると仮定する。
この処理では、サーバ1は、定期的にスケジュール管理サーバ(最高位のスケジュール機能)のスケジュール処理日時の最新時刻を監視する(S61)。
そして、サーバ1は、所定時間内の更新が行われているか否かを判定する(S62)(なお、スケジュール処理日時が空白になっている場合には、サーバ1は、スケジュール管理サーバ(最高位のスケジュール機能)が他のサーバに交代したと見なし、スケジュール処理日時が書き込まれたスケジュール機能制御域のエントリを検索する)。
所定時間内の更新が行われている場合には、サーバ1は、制御をS71に戻す。一方、所定時間内の更新が行われていない場合には、サーバ1は、状態がactiveであるスケジュール機能のうち、自スケジュール機能の順位をスケジュール機能制御域から取得する(S63)。
そして、サーバ1は、自スケジュール機能の順位が最高位(以前の最高位は除く)か否かを判定する(S64)。自スケジュール機能の順位が最高位でない場合、サーバ1は、制御をS71に戻す。
一方、自スケジュール機能の順位が最高位である場合、サーバ1は、自スケジュール機能のスケジュール処理日時に最新の日時を格納する(S65)。これにより、サーバ1は、スケジュール管理サーバ(最高位のスケジュール機能)となる。
さらに、サーバ1は、必要であれば以前のスケジュール管理サーバ(最高位のスケジュール機能)のスケジュール処理日時を空白にしてもよい。また、サーバ1は、以前のスケジュール管理サーバの状態(図7に示したスケジュール機能制御域に含まれている)をactiveからstopに変更してもよい(S66)。
図17に、実行管理サーバ(最高位の実行機能)が停止した場合に、次の実行管理サーバを決定する処理フローを示す。以下、サーバ1(一般の実行機能を有するサーバの総称)が図17の処理を実行すると仮定する。
この処理では、サーバ1は、定期的に実行管理サーバ(最高位の実行機能)の実行処理日時の最新時刻を監視する(S71)。
そして、サーバ1は、所定時間内の更新が行われているか否かを判定する(S72)(なお、実行処理日時が空白になっている場合には、サーバ1は、実行管理サーバ(最高位の実行機能)が他のサーバに交代したと見なし、実行処理日時が書き込まれた実行機能制御域のエントリを検索する)。
所定時間内の更新が行われている場合には、サーバ1は、制御をS71に戻す。一方、所定時間内の更新が行われていない場合には、サーバ1は、状態がactiveである実行機能のうち、自身の実行機能の順位を実行機能制御域から取得する(S73)。
そして、サーバ1は、自身の実行機能の順位が最高位(以前の最高位は除く)か否かを判定する(S74)。自身の実行機能の順位が最高位でない場合、サーバ1は、制御をS71に戻す。
一方、自身の実行機能の順位が最高位である場合、サーバ1は、自身の実行機能の実行処理日時に最新の日時を格納する(S75)。これにより、サーバ1は、実行管理サーバ(最高位の実行機能)となる。
さらに、サーバ1は、必要であれば以前の実行管理サーバ(最高位の実行機能)の実行処理日時を空白にしてもよい。また、サーバ1は、以前の実行管理サーバの状態(図8に示した実行機能制御域内に含まれている)をactiveからstopに変更してもよい(S76)。
以上述べたように、本実施形態の情報システムによれば、複数のサーバで実行されるジョブを共用ディスクのジョブキュー区画を用いて管理することができる。その場合に、ジョブキュー情報域への登録を依頼する一般のスケジュール機能を複数のサーバに実行させる一方、そのようなジョブをジョブキュー情報域に登録する機能をスケジュール管理サーバ(最高位のスケジュール機能)に限定して、矛盾のないジョブの管理ができる。また、ジョブの実行を要求するスケジュール機能は、一般のスケジュール機能を有するサーバに分散させ、複数のサーバからジョブの実行要求ができる。
さらに、スケジュール管理サーバによるスケジュール処理日時の更新を監視することで、スケジュール管理サーバの不測の停止を推定することができる。そして、スケジュール管理サーバが停止したと推定される場合には、スケジュール機能制御域に設定されたサーバ間の優先順位にしたがって、次のスケジュール管理サーバ(最高位のスケジュール機能)を決定できる。したがって、本情報システムは、複数サーバによってバックアップ可能な体制にて、単一のサーバによってジョブの登録を管理することができる。このため、スケジュール管理サーバが停止しても、スケジュール管理処理が停止する事態を極力回避できる。
同様に、本実施形態の情報システムによれば、ジョブキュー情報域に登録されたジョブを複数のサーバに実行させる一方、そのようなジョブをサーバに割り当てる機能を実行管理サーバ(最高位の実行機能)に限定して、矛盾のない実行管理ができる。また、ジョブを実行する実行機能は、一般の実行機能を有するサーバに分散させ、複数のサーバに負荷分散できる。
さらに、実行管理サーバによる実行処理日時の更新を監視することで、実行管理サーバの不測の停止を推定することができる。そして、実行管理サーバが停止したと推定される場合には、実行機能制御域に設定されたサーバ間の優先順位にしたがって、次の実行管理サーバ(最高位の実行機能)を決定できる。したがって、本情報システムは、複数サーバによってバックアップ可能な体制にて、単一のサーバによってジョブの実行を管理することができる。このため、実行管理サーバが停止しても、実行管理処理が停止する事態を極力回避できる。
<コンピュータ読み取り可能な記録媒体>
コンピュータその他の機械、装置(以下、コンピュータ等)に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD-ROM、CD-R/W、DVD、DAT、8mmテープ、メモリカード等がある。
また、コンピュータ等に固定された記録媒体としてハードディスクやROM(リードオンリーメモリ)等がある。
<その他>
さらに、本実施の形態は以下の発明を開示する。また、以下の各発明(以下付記と呼ぶ)のいずれかに含まれる構成要素を他の付記の構成要素と組み合わせてもよい。
(付記1)
第1サーバまたは第2サーバとして機能するサーバを含む複数のサーバと前記複数のサーバに共用される共用記憶装置とを備え、
前記共用記憶装置は、
ジョブの実行要求を登録してジョブの実行順序を制御するとともにジョブの実行を完了するまで前記ジョブの状態を記憶するジョブキュー記憶部と、
ジョブの実行を要求する要求サーバごとに設けられ、ジョブの実行要求の前記ジョブキュー記憶部への登録を依頼する、そのような登録依頼情報が書き込まれるジョブキュー登録依頼記憶部と、
ジョブを実行する実行サーバごとに設けられ、前記実行サーバと前記実行サーバに割り当てられたジョブの実行要求との関係を記憶するジョブ割り当て記憶部と、を有し、
前記第1サーバは、前記ジョブキュー登録依頼記憶部に書き込まれた登録依頼情報にしたがってジョブの実行要求を前記ジョブキュー記憶部に登録するジョブキュー登録処理部を有し、
前記第2サーバは、前記ジョブキュー記憶部に登録されたジョブの実行要求を前記実行サーバに割り当てて、前記実行サーバと前記実行サーバに割り当てられたジョブの実行要求との関係を前記ジョブ割り当て記憶部に書き込む割り当て処理部を有し、
前記実行サーバは、当該実行サーバに対して設けられたジョブ割り当て記憶部からジョブの実行要求を取得して割り当てられたジョブを実行する実行部を有する、サーバシステム。(1)
(付記2)
前記共用記憶装置は、前記複数のサーバのうち、少なくとも2以上のサーバについて前記第1サーバとなって機能するための優先度情報と現在第1サーバとして機能していることを示す情報とを含む第1サーバ管理情報を前記サーバごとに記憶する第1サーバ管理情報記憶部をさらに有し、
前記少なくとも2以上のサーバは、前記優先度情報にしたがって第1サーバとして機能する付記1に記載のサーバシステム。(2)
(付記3)
前記第1サーバ管理情報記憶部に記憶された複数のサーバで、前記第1サーバとして機能しているサーバ以外のサーバは、前記第1サーバとして機能するサーバの稼働状態を監視し、前記第1サーバとして機能するサーバが停止したと推定されたときに、前記第1サーバとして機能するサーバを除外したサーバの中から前記優先度情報にしたがって決定されるサーバが前記第1サーバとして機能する付記2に記載のサーバシステム。(3)
(付記4)
前記共用記憶装置は、前記複数のサーバのうち、少なくとも2以上のサーバについて前記第2サーバとなって機能するための優先度情報と現在第2サーバとして機能していることを示す情報とを含む第2サーバ管理情報を前記サーバごとに記憶する第2サーバ管理情報記憶部をさらに有し、
前記少なくとも2以上のサーバは、前記優先度情報にしたがって第2サーバとして機能する付記1から3のいずれかに記載のサーバシステム。
(付記5)
前記第2サーバ管理情報記憶部に記憶された複数のサーバで、前記第2サーバとして機能しているサーバ以外のサーバは、前記第2サーバとして機能するサーバの稼働状態を監視し、前記第2サーバとして機能するサーバが停止したと推定されたときに、前記第2サーバとして機能するサーバを除外したサーバの中から前記優先度情報にしたがって決定されるサーバが前記第2サーバとして機能する付記4に記載のサーバシステム。
(付記6)
第1サーバまたは第2サーバとして機能するサーバを含む複数のサーバと前記複数のサーバに共用される共用記憶装置とを備えるサーバシステムが実行する情報処理方法であり、
前記共用記憶装置は、
ジョブの実行要求を登録してジョブの実行順序を制御するとともにジョブの実行を完了するまで前記ジョブの状態を記憶するジョブキュー記憶部と、
ジョブの実行を要求する要求サーバごとに設けられ、ジョブの実行要求の前記ジョブキュー記憶部への登録を依頼する、そのような登録依頼情報が書き込まれるジョブキュー登録依頼記憶部と、
ジョブを実行する実行サーバごとに設けられ、前記実行サーバと前記実行サーバに割り当てられたジョブの実行要求との関係を記憶するジョブ割り当て記憶部と、を有し、
前記第1サーバは、前記ジョブキュー登録依頼記憶部に書き込まれた登録依頼情報にしたがってジョブの実行要求を前記ジョブキュー記憶部に登録するジョブキュー登録処理ステップを実行し、
前記第2サーバは、前記ジョブキュー記憶部に登録されたジョブの実行要求を前記実行サーバに割り当てて、前記実行サーバと前記実行サーバに割り当てられたジョブの実行要求との関係を前記ジョブ割り当て記憶部に書き込む割り当て処理ステップを実行し、
前記実行サーバは、当該実行サーバに対して設けられたジョブ割り当て記憶部からジョブの実行要求を取得して割り当てられたジョブを実行する、情報処理方法。(4)
(付記7)
前記共用記憶装置は、前記複数のサーバのうち、少なくとも2以上のサーバについて前記第1サーバとなって機能するための優先度情報と現在第1サーバとして機能していることを示す情報とを含む第1サーバ管理情報を前記サーバごとに記憶する第1サーバ管理情報記憶部をさらに有し、
前記少なくとも2以上のサーバは、前記優先度情報にしたがって第1サーバとして機能する付記6に記載の情報処理方法。
(付記8)
前記第1サーバ管理情報記憶部に記憶された複数のサーバで、前記第1サーバとして機能しているサーバ以外のサーバは、前記第1サーバとして機能するサーバの稼働状態を監視し、前記第1サーバとして機能するサーバが停止したと推定されたときに、前記第1サーバとして機能するサーバを除外したサーバの中から前記優先度情報にしたがって決定されるサーバが前記第1サーバとして機能する付記7に記載の情報処理方法。
(付記9)
複数のサーバと前記複数のサーバに共用される共用記憶装置とを備えるサーバシステムにおいてそれぞれのサーバを第1サーバまたは第2サーバを含むいずれかのサーバとして機能させるコンピュータ実行可能プログラムであり、
前記共用記憶装置は、
ジョブの実行要求を登録してジョブの実行順序を制御するとともにジョブの実行を完了するまで前記ジョブの状態を記憶するジョブキュー記憶部と、
ジョブの実行を要求する要求サーバごとに設けられ、ジョブの実行要求の前記ジョブキュー記憶部への登録を依頼する、そのような登録依頼情報が書き込まれるジョブキュー登録依頼記憶部と、
ジョブを実行する実行サーバごとに設けられ、前記実行サーバと前記実行サーバに割り当てられたジョブの実行要求との関係を記憶するジョブ割り当て記憶部と、を有し、
前記第1サーバに、前記ジョブキュー登録依頼記憶部に書き込まれた登録依頼情報にしたがってジョブの実行要求を前記ジョブキュー記憶部に登録するジョブキュー登録処理ステップを実行させ、
前記第2サーバに、前記ジョブキュー記憶部に登録されたジョブの実行要求を前記実行サーバに割り当てて、前記実行サーバと前記実行サーバに割り当てられたジョブの実行要求との関係を前記ジョブ割り当て記憶部に書き込む割り当て処理ステップを実行させ、
前記実行サーバに、当該実行サーバに対して設けられたジョブ割り当て記憶部からジョブの実行要求を取得して割り当てられたジョブを実行させる、コンピュータ実行可能なプログラム。(5)
(付記10)
前記共用記憶装置は、前記複数のサーバのうち、少なくとも2以上のサーバについて前記第1サーバとなって機能するための優先度情報と現在第1サーバとして機能していることを示す情報とを含む第1サーバ管理情報を前記サーバごとに記憶する第1サーバ管理情報記憶部をさらに有し、
前記少なくとも2以上のサーバに、前記優先度情報にしたがって第1サーバとして機能させる付記9に記載のコンピュータ実行可能なプログラム。
(付記11)
前記第1サーバ管理情報記憶部に記憶された複数のサーバで、前記第1サーバとして機能しているサーバ以外のサーバに、前記第1サーバとして機能するサーバの稼働状態を監視させ、前記第1サーバとして機能するサーバが停止したと推定されたときに、前記第1サーバとして機能するサーバを除外したサーバの中から前記優先度情報にしたがって決定されるサーバに前記第1サーバとして機能させる付記10に記載のコンピュータ実行可能なプログラム。
従来のシステム構成の例を示す図である。 本発明の一実施形態に係る情報システムのシステム構成を示す図である。 スケジュール管理サーバと、実行管理サーバと、それら以外の他のサーバと、共用ディスクとの関係を示す図である。 ジョブキュー区画の構造を示す図である。 ジョブスケジュールを格納するジョブキュー情報域のデータ構造を示す図である。 登録依頼情報域のデータ構造を示す図である。 スケジュール機能制御域のデータ構造の例を示す図である。 実行機能制御域のデータ構造の例を示す図である。 ジョブキュー取出し依頼情報域のデータ構造の例を示す図である。 スケジュール機能起動時のスケジュール管理機能実行の優先順位の決定方法を示すフローチャートである。 実行機能起動時の処理優先順位の決定方法を示すフローチャートである。 一般のスケジュール機能を実行するサーバ1−2の処理フローを示す図である。 スケジュール管理サーバのスケジュール管理機能(最高位のスケジュール機能)の処理フローを示す図である。 一般の実行機能を実行するサーバ1−4の処理フローを示す図である。 実行管理サーバの機能(最高位のスケジュール機能)の処理フローを示す図である。 スケジュール管理サーバ(最高位のスケジュール機能)が停止した場合に、次のスケジュール管理サーバの順位の決定フローを示す図である。 実行管理サーバ(最高位の実行機能)が停止した場合に、次の実行管理サーバの決定フローを示す図である。
符号の説明
1(1−1、1−2、1−3、1−4、1−5) サーバ
2 共用ディスク

Claims (5)

  1. 各々が第1サーバとして動作可能でありいずれか一つが第1サーバとして動作する複数の要求サーバと、各々が第2サーバとして動作可能でありいずれか一つが第2サーバとして動作する複数の実行サーバを含む複数のサーバと前記複数のサーバに共用される共用記憶装置とを備え、
    前記共用記憶装置は、
    ジョブの実行要求を登録してジョブの実行順序を制御するとともにジョブの実行を完了するまで前記ジョブの状態を記憶するジョブキュー記憶部と、
    ジョブの実行を要求する前記要求サーバごとに設けられ、ジョブの実行要求の前記ジョブキュー記憶部への登録を依頼する、そのような登録依頼情報が書き込まれるジョブキュー登録依頼記憶部と、
    ジョブを実行する前記実行サーバごとに設けられ、前記実行サーバと前記実行サーバに割り当てられたジョブの実行要求との関係を記憶するジョブ割り当て記憶部と、を有し、
    前記各要求サーバは、ジョブの実行要求を受信し、該実行要求に関する登録依頼情報を要求サーバごとに設けられたジョブキュー登録依頼記憶部に格納し、
    前記複数の要求サーバのうち第1サーバとして動作するいずれか一つの要求サーバは、前記ジョブキュー登録依頼記憶部に書き込まれた登録依頼情報にしたがってジョブの実行要求を前記ジョブキュー記憶部に登録し、
    実行サーバは、当該実行サーバに対して設けられたジョブ割り当て記憶部からジョブの実行要求を取得して割り当てられたジョブをそれぞれ実行
    前記複数の実行サーバのうち第2サーバとして動作するいずれか一つの実行サーバは、前記ジョブキュー記憶部に登録されたジョブの実行要求を前記実行サーバに割り当てて、前記実行サーバと前記実行サーバに割り当てられたジョブの実行要求との関係を前記ジョブ割り当て記憶部に書き込む割り当て処理をする、
    サーバシステム。
  2. 前記共用記憶装置は、前記複数の要求サーバのうち、少なくとも2以上の要求サーバについて前記第1サーバとなって動作するための優先度情報と現在第1サーバとして動作していることを示す情報とを含む第1サーバ管理情報を前記要求サーバごとに記憶する第1サーバ管理情報記憶部をさらに有し、
    前記少なくとも2以上の要求サーバは、前記優先度情報にしたがって第1サーバとして動作する請求項1に記載のサーバシステム。
  3. 前記第1サーバ管理情報記憶部に記憶された複数の要求サーバで、前記第1サーバとして動作している要求サーバ以外の要求サーバは、前記第1サーバとして動作する要求サーバの稼働状態を監視し、前記第1サーバとして動作する要求サーバが停止したと推定されたときに、前記第1サーバとして動作する要求サーバを除外した要求サーバの中から前記優先度情報にしたがって決定される要求サーバが前記第1サーバとして動作する請求項2
    に記載のサーバシステム。
  4. 各々が第1サーバとして動作可能でありいずれか一つが第1サーバとして動作する複数の要求サーバと、各々が第2サーバとして動作可能でありいずれか一つが第2サーバとして動作する複数の実行サーバを含む複数のサーバと前記複数のサーバに共用される共用記憶装置とを備えるサーバシステムが実行する情報処理方法であり、
    前記共用記憶装置は、
    ジョブの実行要求を登録してジョブの実行順序を制御するとともにジョブの実行を完了するまで前記ジョブの状態を記憶するジョブキュー記憶部と、
    ジョブの実行を要求する前記要求サーバごとに設けられ、ジョブの実行要求の前記ジョブキュー記憶部への登録を依頼する、そのような登録依頼情報が書き込まれるジョブキュー登録依頼記憶部と、
    ジョブを実行する前記実行サーバごとに設けられ、前記実行サーバと前記実行サーバに割り当てられたジョブの実行要求との関係を記憶するジョブ割り当て記憶部と、を有し、
    前記各要求サーバは、ジョブの実行要求を受信し、該実行要求に関する登録依頼情報を要求サーバごとに設けられたジョブキュー登録依頼記憶部に格納し、
    前記複数の要求サーバのうち第1サーバとして動作するいずれか一つの要求サーバは、
    前記ジョブキュー登録依頼記憶部に書き込まれた登録依頼情報にしたがってジョブの実行要求を前記ジョブキュー記憶部に登録するジョブキュー登録処理ステップを実行し
    実行サーバは、当該実行サーバに対して設けられたジョブ割り当て記憶部からジョブの実行要求を取得して割り当てられたジョブをそれぞれ実行
    前記複数の実行サーバのうち第2サーバとして動作するいずれか一つの実行サーバは、前記ジョブキュー記憶部に登録されたジョブの実行要求を前記実行サーバに割り当てて、前記実行サーバと前記実行サーバに割り当てられたジョブの実行要求との関係を前記ジョブ割り当て記憶部に書き込む割り当て処理ステップを実行する、情報処理方法。
  5. 各々が第1サーバとして動作可能でありいずれか一つが第1サーバとして動作する要求サーバと、各々が第2サーバとして動作可能でありいずれか一つが第2サーバとして動作する実行サーバとを含む複数のサーバと前記複数のサーバに共用される共用記憶装置とを備えるサーバシステムにおいて前記複数の要求サーバのいずれか一つを第1サーバとして、前記複数の実行サーバのいずれか一つを第2サーバとして動作させるコンピュータ実行可能プログラムであり、
    前記共用記憶装置は、
    ジョブの実行要求を登録してジョブの実行順序を制御するとともにジョブの実行を完了するまで前記ジョブの状態を記憶するジョブキュー記憶部と、
    ジョブの実行を要求する前記要求サーバごとに設けられ、ジョブの実行要求の前記ジョブキュー記憶部への登録を依頼する、そのような登録依頼情報が書き込まれるジョブキュー登録依頼記憶部と、
    ジョブを実行する前記実行サーバごとに設けられ、前記実行サーバと前記実行サーバに割り当てられたジョブの実行要求との関係を記憶するジョブ割り当て記憶部と、を有し、
    前記各要求サーバに、ジョブの実行要求を受信し、該実行要求に関する登録依頼情報を要求サーバごとに設けられたジョブキュー登録依頼記憶部に格納するステップを実行させ

    前記複数の要求サーバのうち第1サーバとして動作するいずれか一つの要求サーバに、
    前記ジョブキュー登録依頼記憶部に書き込まれた登録依頼情報にしたがってジョブの実行要求を前記ジョブキュー記憶部に登録するジョブキュー登録処理ステップを実行させ
    実行サーバに、当該実行サーバに対して設けられたジョブ割り当て記憶部からジョブの実行要求を取得して割り当てられたジョブをそれぞれ実行させ、
    前記複数の実行サーバのうち第2サーバとして動作するいずれか一つの実行サーバに、前記ジョブキュー記憶部に登録されたジョブの実行要求を前記実行サーバに割り当てて、前記実行サーバと前記実行サーバに割り当てられたジョブの実行要求との関係を前記ジョブ割り当て記憶部に書き込む割り当て処理ステップを実行させる、コンピュータ実行可能なプログラム。
JP2006073173A 2006-03-16 2006-03-16 サーバシステム Expired - Fee Related JP4532423B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006073173A JP4532423B2 (ja) 2006-03-16 2006-03-16 サーバシステム
US11/474,157 US7730342B2 (en) 2006-03-16 2006-06-23 Server system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006073173A JP4532423B2 (ja) 2006-03-16 2006-03-16 サーバシステム

Publications (2)

Publication Number Publication Date
JP2007249674A JP2007249674A (ja) 2007-09-27
JP4532423B2 true JP4532423B2 (ja) 2010-08-25

Family

ID=38517450

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006073173A Expired - Fee Related JP4532423B2 (ja) 2006-03-16 2006-03-16 サーバシステム

Country Status (2)

Country Link
US (1) US7730342B2 (ja)
JP (1) JP4532423B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009217455A (ja) * 2008-03-10 2009-09-24 Fujitsu Ltd 情報処理装置、情報処理プログラム及び方法
JP5525263B2 (ja) * 2010-01-04 2014-06-18 株式会社野村総合研究所 運用管理装置、運用システムおよび定義データ同期方法
JP2011138455A (ja) * 2010-01-04 2011-07-14 Nomura Research Institute Ltd クラスタシステムおよびクラスタ管理方法
JP5331163B2 (ja) * 2011-05-31 2013-10-30 株式会社バッファロー Ipアドレス割り当てシステム、dhcpサーバ及びipアドレス割り当て方法
US8572244B2 (en) * 2011-08-05 2013-10-29 Bank Of America Corporation Monitoring tool deployment module and method of operation
JP5737062B2 (ja) * 2011-08-23 2015-06-17 日本電気株式会社 バッチジョブ実行システム、ジョブ管理サーバ、ジョブ認証情報更新方法および更新プログラム
KR20130119285A (ko) * 2012-04-23 2013-10-31 한국전자통신연구원 클러스터 컴퓨팅 환경에서의 자원 할당 장치 및 그 방법
WO2013186851A1 (ja) * 2012-06-12 2013-12-19 三菱電機株式会社 情報処理システム
US8924547B1 (en) * 2012-06-22 2014-12-30 Adtran, Inc. Systems and methods for managing network devices based on server capacity
US8943505B2 (en) * 2012-08-24 2015-01-27 National Instruments Corporation Hardware assisted real-time scheduler using memory monitoring
US20150227599A1 (en) * 2012-11-30 2015-08-13 Hitachi, Ltd. Management device, management method, and recording medium for storing program
JP6489978B2 (ja) * 2015-09-04 2019-03-27 株式会社日立ソリューションズ 計算機システム及びデータ配布方法
US20170118293A1 (en) * 2015-10-26 2017-04-27 Trilliant Networks, Inc. Method and system for efficient task management
EP3244360A1 (de) * 2016-05-12 2017-11-15 Skidata Ag Verfahren zur registrierung von geräten, insbesondere von zugangskontrollvorrichtungen oder bezahl- bzw. verkaufsautomaten bei einem server eines systems, welches mehrere derartige geräte umfasst
US11704302B2 (en) * 2017-08-08 2023-07-18 Perry + Currier Inc. Method, system and apparatus for processing database updates

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000122878A (ja) * 1998-10-14 2000-04-28 Nec Corp ジョブ起動と管理の方法及びシステム
JP2000268011A (ja) * 1999-03-19 2000-09-29 Nec Soft Ltd 分散ジョブ実行システムおよびそのプログラム記録媒体
JP2001306540A (ja) * 2000-04-18 2001-11-02 Fujitsu Ltd サーバの多重化方法及びサーバの多重化システム
JP2004318744A (ja) * 2003-04-21 2004-11-11 Hitachi Ltd 高可用性を提供するデータベース処理方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5537626A (en) 1978-09-08 1980-03-15 Hitachi Ltd Load decentralization system
EP0422310A1 (en) 1989-10-10 1991-04-17 International Business Machines Corporation Distributed mechanism for the fast scheduling of shared objects
JP3516049B2 (ja) 1995-03-17 2004-04-05 富士通株式会社 バッチジョブ制御システム
JP2001282551A (ja) 2000-03-29 2001-10-12 Hitachi Ltd ジョブ処理装置および方法
EP1415425B1 (en) * 2001-07-06 2019-06-26 CA, Inc. Systems and methods of information backup
EP2264628A1 (en) * 2002-09-18 2010-12-22 Netezza Corporation Intelligent storage device controller
JP2004206298A (ja) 2002-12-24 2004-07-22 Casio Soft Co Ltd ジョブ処理システム及びプログラム
JP5211778B2 (ja) * 2008-03-17 2013-06-12 富士通株式会社 ジョブ割当装置、並列計算機システム、ジョブ割当方法、及び、ジョブ割当プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000122878A (ja) * 1998-10-14 2000-04-28 Nec Corp ジョブ起動と管理の方法及びシステム
JP2000268011A (ja) * 1999-03-19 2000-09-29 Nec Soft Ltd 分散ジョブ実行システムおよびそのプログラム記録媒体
JP2001306540A (ja) * 2000-04-18 2001-11-02 Fujitsu Ltd サーバの多重化方法及びサーバの多重化システム
JP2004318744A (ja) * 2003-04-21 2004-11-11 Hitachi Ltd 高可用性を提供するデータベース処理方法

Also Published As

Publication number Publication date
US7730342B2 (en) 2010-06-01
US20070216933A1 (en) 2007-09-20
JP2007249674A (ja) 2007-09-27

Similar Documents

Publication Publication Date Title
JP4532423B2 (ja) サーバシステム
US10810051B1 (en) Autoscaling using file access or cache usage for cluster machines
JP4757165B2 (ja) 計算機システム、データ移行監視方法及びデータ移行監視プログラム
JP4629587B2 (ja) 予約管理プログラム
JP4597488B2 (ja) プログラム配置方法及びその実施システム並びにその処理プログラム
JP4545225B2 (ja) システム管理装置、計算機システム、制御方法、および制御プログラム
US7979864B2 (en) Apparatus for setting used license of executing job into unused license state and allocating the set unused license to a to be executed job based on priority
US20050283673A1 (en) Information processing apparatus, information processing method, and program
JP4748950B2 (ja) 記憶領域管理方法及びシステム
EP0747832A2 (en) Customer information control system and method in a loosely coupled parallel processing environment
JPH03147047A (ja) 入出力チャネル経路上の負荷を均衡させる方法及びコンピュータ・システム
JPH04299748A (ja) ファイルの管理方法及び装置
JP2006215868A (ja) バックアップ生成装置、リカバリ処理装置、バックアップ生成方法、リカバリ処理方法、及びプログラム
JP5385458B2 (ja) 計算機システムおよびその更改方法
CN108475201A (zh) 一种虚拟机启动过程中的数据获取方法和云计算系统
JP4693589B2 (ja) 計算機システム、記憶領域割当方法及び管理計算機
JPWO2008126202A1 (ja) ストレージシステムの負荷分散プログラム、ストレージシステムの負荷分散方法、及びストレージ管理装置
JP4813975B2 (ja) 無共有型データベースシステムの構成変更方法、管理サーバ及び無共有型データベースシステム
JP2009230239A (ja) テープ装置のデータ移行方法およびテープ管理システム
EP0747812A2 (en) Customer information control system and method with API start and cancel transaction functions in a loosely coupled parallel processing environment
US12028269B2 (en) Method for optimal resource selection based on available GPU resource analysis in large-scale container platform
JP2008059599A (ja) 仮想化されたリソースの割当て方法及びその実施システム
CN114489517A (zh) 一种离线加速迁移方法、系统、设备及存储介质
US8856485B2 (en) Storage system and storage control method
JP5543653B2 (ja) 管理計算機

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100119

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100323

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100610

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130618

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130618

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees