[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2014049045A - ジョブ管理システムにおける障害対応システム及びそのプログラム - Google Patents

ジョブ管理システムにおける障害対応システム及びそのプログラム Download PDF

Info

Publication number
JP2014049045A
JP2014049045A JP2012193458A JP2012193458A JP2014049045A JP 2014049045 A JP2014049045 A JP 2014049045A JP 2012193458 A JP2012193458 A JP 2012193458A JP 2012193458 A JP2012193458 A JP 2012193458A JP 2014049045 A JP2014049045 A JP 2014049045A
Authority
JP
Japan
Prior art keywords
failure
information
job
handling
processing apparatus
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.)
Pending
Application number
JP2012193458A
Other languages
English (en)
Inventor
Motosuke Murai
基祐 村井
Yasunori Hayashida
安規 林田
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.)
Hitachi Solutions Ltd
Original Assignee
Hitachi Solutions 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 Hitachi Solutions Ltd filed Critical Hitachi Solutions Ltd
Priority to JP2012193458A priority Critical patent/JP2014049045A/ja
Publication of JP2014049045A publication Critical patent/JP2014049045A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】本発明は、ジョブ管理システムにおいて過去に発生した障害の情報や対象方法の情報を蓄積し、障害発生時にその対処方法を提示する技術を提供する。
【解決手段】本発明は、ジョブ管理システムにおける障害対応システムである。当該障害対応システムは、入出力手段と、記憶手段と、少なくとも1つの情報処理装置にジョブを実行させるジョブ実行制御手段と、少なくとも1つの情報処理装置の稼働状況を監視する稼働状況監視手段と、ジョブ実行結果情報に基づいて前記少なくとも1つの情報処理装置で発生した障害を判定する障害監視手段と、障害に対して実施した対処に関する情報を障害対応情報として記憶手段に格納する障害対応手段と、を備え、障害対応手段が、障害対応情報の中から、障害監視手段によって障害と判定された少なくとも1つの情報処理装置の障害の情報と一致する情報を取得し、取得した情報を入出力手段に表示させる。
【選択図】図1

Description

本発明は、指定された日時に指定された業務プログラムを実行するジョブ管理システムにおける障害対応システム及びそのプログラムに関するものである。
各種業務を遂行するコンピューターシステムにおいて、日々の業務を計画的にスケジューリングして自動運用を行うために、ジョブ管理システムが利用されている。ジョブ管理システムは、ジョブ毎に実行スケジュールを指定することができたり、ジョブを複数のコンピュータに分散させてジョブを実行させることができる。
一方で、ジョブ管理システムの構成は、規模に比例して複雑化し、何らかの障害が発生した場合の対処には、障害個所の特定や影響範囲の調査、回復方法の検討など、非常に大きな手間が掛かっていた。したがって、障害に対処するために、一般的に、システムの性能情報などを収集し、日々監視するシステムが利用されている。
特開2001−175492号公報 特開2004−287980号公報 特開2007−114908号公報
ジョブ管理システムで発生する障害の多くは、環境の変化に起因して発生している。ここで、「障害」とは、ジョブの異常終了や遅延を指し、「環境の変化」とは、ジョブ量の増加、ディスク容量不足、実メモリ不足、通信障害などを指している。また、実際に障害が発生した場合、表面的には、ジョブの異常終了や遅延という現象しかわからず、根本原因である環境の変化を調査することが困難なケースも多い。したがって、障害要因である環境の変化の調査などは、ユーザ自身が行い、その障害に対する対処方法もユーザ自身によって判断していた。その結果、障害の発生時の対応に時間がかかっていた。
本発明はこのような状況に鑑みてなされたものであり、ジョブ管理システムにおいて過去に発生した障害の情報や対象方法の情報を蓄積し、障害発生時にその対処方法を提示する技術を提供する。
上記課題を解決するために、本発明のある実施形態によれば、少なくとも1つの情報処理装置にジョブを実行させるジョブ管理システムの障害対応システムが提供される。当該障害対応システムは、入出力手段と、前記ジョブの実行結果を示すジョブ実行結果情報と、前記少なくとも1つの情報処理装置の稼働状況を示す稼働情報と、前記少なくとも1つの情報処理装置において発生した障害の情報を示す障害履歴情報と、前記少なくとも1つの情報処理装置において発生した障害に対して実施した対処に関する情報を示す障害対応情報とを格納する記憶手段と、前記少なくとも1つの情報処理装置に前記ジョブを実行させ、前記ジョブの実行結果を前記ジョブ実行結果情報として前記記憶手段に格納するジョブ実行制御手段と、前記少なくとも1つの情報処理装置の稼働状況を監視し、前記監視した稼働状況の情報を前記稼働情報として前記記憶手段に格納する稼働状況監視手段と、前記ジョブ実行結果情報に基づいて前記少なくとも1つの情報処理装置で発生した障害を判定し、前記障害の情報を前記障害履歴情報として前記記憶手段に格納する障害監視手段と、前記障害に対して実施した対処に関する情報を前記障害対応情報として前記記憶手段に格納する障害対応手段と、を備え、前記障害対応手段が、前記障害対応情報の中から、前記障害監視手段によって障害と判定された前記少なくとも1つの情報処理装置の前記障害の情報と一致する情報を取得し、前記取得した情報を前記入出力手段に表示させる。
また、本発明の別の実施形態によれば、演算手段と記憶手段と入出力手段とを備えるコンピュータに、少なくとも1つの情報処理装置にジョブを実行させるジョブ管理システムの障害対応処理を実行させるためのプログラムが提供される。当該プログラムは、前記演算手段に、前記少なくとも1つの情報処理装置に前記ジョブを実行させ、前記ジョブの実行結果をジョブ実行結果情報として前記記憶手段に格納するジョブ実行制御処理と、前記少なくとも1つの情報処理装置の稼働状況を監視し、前記監視した稼働状況の情報を稼働情報として前記記憶手段に格納する稼働状況監視処理と、前記ジョブ実行結果情報に基づいて前記少なくとも1つの情報処理装置で発生した障害を判定し、前記障害の情報を障害履歴情報として前記記憶手段に格納する障害監視処理と、前記障害に対して実施した対処に関する情報を障害対応情報として前記記憶手段に格納する障害対応処理と、前記障害対応情報の中から、前記障害監視処理によって障害と判定された前記少なくとも1つの情報処理装置の前記障害の情報と一致する情報を取得し、前記取得した情報を前記入出力手段に表示させる表示処理と、を実行させる。
本発明によれば、ジョブ管理システムにおいて過去に発生した障害の情報や対象方法の情報を蓄積し、障害発生時にその対処方法を提示することが可能になる。これにより、障害発生時の対処を迅速に行うことが可能になる。
本発明に関連する更なる特徴は、本明細書の記述、添付図面から明らかになるものである。また、上記した以外の、課題、構成および効果は、以下の実施形態の説明により明らかにされる。
本発明の一実施例を示すシステム構成図である。 本発明の一実施例におけるジョブ管理マネージャーの構成図である。 本発明の一実施例におけるジョブ実行エージェントの構成図である。 本発明の一実施例における障害対応システムの構成図である。 ジョブスケジュール定義DBに格納するスケジュール情報テーブル及びジョブスケジュール定義ファイルの一例を示した図である。 ジョブ定義DBに格納するジョブ定義テーブル及びジョブ定義ファイルの一例を示した図である。 実行結果情報DBに格納する実行結果テーブルの一例を示す図である。 ジョブ管理マネージャー用の稼働情報DBに格納する稼働情報テーブルの一例を示す図である。 ジョブ実行エージェント用の稼働情報DBに格納する稼働情報テーブルの一例を示す図である。 障害履歴DBに格納する障害履歴テーブルの一例を示す図である。 障害対応DBに格納する障害対応テーブルの一例を示す図である。 障害対応システムにおける障害履歴DBの蓄積処理を説明するフローチャートである。 障害対応システムにおける障害対応DBの蓄積処理を説明するフローチャートである。 図13のステップ1301において端末に表示される画面の一例である。 障害対応システムにおける障害対処方法の提示処理を説明するフローチャートである。 障害対応システムにおける障害の事前検知処理を説明するフローチャートである。 障害事前検知結果を表示し、障害対応テーブルの情報を更新する端末上の画面の一例である。
以下、添付図面を参照しながら、本発明のジョブ管理システムにおける障害対応システム及びそのプログラムを実施するための形態を詳細に説明する。なお、以下の実施例において、「ジョブ」とは、コンピュータ(情報処理装置)が処理する仕事の単位を意味し、各種業務に対応した外部プログラムを定義したものである。また、「ジョブネット」とは、複数のジョブをまとめたものであり、それぞれのジョブの実行順序を定義したものである。
<システムの構成>
図1は、本発明の一実施例を示すシステム構成図である。図1に示すように、本実施例では、ホストマシン101A〜101Eと、端末105とがネットワーク106を介して相互に接続されている。ホストマシン101A〜101E及び端末105は、パーソナルコンピュータやワークステーションなどの情報処理装置によって構成されている。ホストマシン101A〜101E及び端末105は、CPU(Central Processing Unit)などの中央演算処理装置と、メモリと、ハードディスク(記憶装置)と、キーボードなどの入力装置と、ディスプレイなどの出力装置とを備えている。
図1に示すように、ホストマシン101Aには、ジョブ管理マネージャー102がインストールされている。また、ホストマシン101B〜101Dには、それぞれ、ジョブ実行エージェント103B〜103Dがインストールされている。さらに、ホストマシン101Eには、障害対応システム104がインストールされている。
ジョブ実行環境は、1台のジョブ管理マネージャー102と3台のジョブ実行エージェント(103B〜103D)から構成される。ジョブ管理マネージャー102は、管理しているジョブを各ジョブ実行エージェント(103B〜103D)に配信し、各ジョブ実行エージェント(103B〜103D)が、受け取ったジョブを実行する。
ジョブの配信先は、各ジョブの業務内容によって異なり、ジョブ管理マネージャー102において任意に指定することができる。ジョブの実行が終了したら、ジョブ実行エージェント(103B〜103D)は、ジョブの実行結果をジョブ管理マネージャー102へ通知する。ジョブ管理マネージャー102は、結果の通知を受け取ると、該当のジョブの実行を終了させる。なお、端末105は、端末105上において、ジョブ管理マネージャー102と障害対応システム104に対してデータの入力と結果の出力を行うことができる。
以下において、ジョブ管理マネージャー102、ジョブ実行エージェント103B〜103D、及び、障害対応システム104の具体的な構成について説明する。なお、以下で説明するジョブ管理マネージャー102、ジョブ実行エージェント103B〜103D、及び、障害対応システム104の具体的な構成(図2〜図4に示す各処理部)は、実施形態の機能を実現するソフトウェアのプログラムコードで実現してもよい。すなわち、本実施例は、所定のプログラムがプログラムコードとしてメモリに格納され、中央演算処理装置が各プログラムコードを実行することによって実現できる。
図2は、ジョブ管理マネージャー102の構成図である。ジョブ管理マネージャー102は、ジョブスケジュール定義DB201と、ジョブ実行制御部202と、ジョブ定義DB206と、実行結果情報DB207と、稼働情報DB208と、ジョブ定義更新部211と、稼働状況監視部212とを備える。
ジョブスケジュール定義DB201は、ジョブネットのスケジュール情報を格納する。また、ジョブ実行制御部202は、スケジュール算出部203と、ジョブ定義読込部204と、ジョブ実行処理部205とを備え、これらの制御を行うものである。スケジュール算出部203は、ジョブスケジュール定義DB201からジョブネットのスケジュール情報を読み込み、ジョブネットの中の各ジョブのスケジュールを算出する。ジョブ定義読込部204は、ジョブネットを開始する時に、ジョブ定義DB206からジョブネットの中の各ジョブのデータをメモリ中に読み込む処理を実行する。
また、ジョブ実行処理部205は、ジョブネットの中でまだ実行されていないジョブの実行要求をジョブ実行エージェント(103B〜103D)に配信し、ジョブ実行エージェント(103B〜103D)からジョブの実行結果を受け取る。ジョブ実行処理部205は、受け取ったジョブの実行結果を実行結果情報DB207に格納する。実行結果情報DB207は、ジョブ実行処理部205で受け取ったジョブの実行結果(ジョブの状態や開始時刻、終了時刻、統計情報など)を格納するものである。
また、稼働情報DB208は、ホストマシン101Aの稼働状況を格納するものである。また、稼働状況監視部212は、ホストマシン101Aの稼働状況の監視結果を稼働情報DB208に格納する。
ジョブ管理マネージャー102は、ジョブスケジュール定義ファイル209と、ジョブ定義ファイル210とを更に備える。ジョブスケジュール定義ファイル209には、ジョブスケジュール定義DB201に登録するジョブスケジュール定義がCSV形式で記載されている。また、ジョブ定義ファイル210には、ジョブ定義DB206に登録するジョブ定義がCSV形式で記載されている。ジョブ定義更新部211は、ジョブスケジュール定義ファイル209及びジョブ定義ファイル210のデータを読み込んで、そのデータをジョブスケジュール定義DB201やジョブ定義DB206に格納する。したがって、ジョブスケジュールやジョブの定義が変更になった場合は、上述のように、ジョブスケジュール定義ファイル209とジョブ定義ファイル210を用いて更新することが可能である。
図3はジョブ実行エージェント(103B〜103D)の構成図である。ジョブ実行エージェント(103B〜103D)は、ジョブ実行部301と、稼働状況監視部302と、稼働情報DB303とを備える。
ジョブ実行部301は、ジョブ管理マネージャー102のジョブ実行処理部205からジョブの実行要求を受け付け、受け付けた要求に対してジョブプロセスを生成して実行する。また、ジョブ実行部301は、生成したプロセスが正常に終了したら「正常終了」を、プロセスを生成する過程で異常終了したら「異常終了」をジョブ実行処理部205に通知する。稼働情報DB303は、ホストマシン(101B〜101D)の稼働状況を格納するものである。稼働状況監視部302は、ホストマシン(101B〜101D)の稼働状況の監視結果を稼働情報DB303に格納する。
図4は、障害対応システム104の構成図である。障害対応システム104は、障害監視部401と、障害対応部402と、障害事前検知部403と、障害情報入力部404と、障害履歴DB405と、障害対応DB406とを備える。
障害履歴DB405は、過去に発生した障害の情報を格納するものであり、障害対応DB406は、過去に発生した障害に対して実施した対処方法などの情報を格納するものである。障害監視部401は、各ホストマシン101A〜101Dの障害状況を監視し、障害が発生していた場合にその障害の情報を障害履歴DB405に格納する。また、障害対応部402は、障害が発生していた場合にその障害の情報と障害対応DB406とを比較して障害への対処方法を検索し、検索した結果を端末105に送信する。また、障害情報入力部404は、発生した障害及びその障害に対して実施した対処方法の入力を受け付け、入力された情報を障害対応DB406に格納する。また、障害事前検知部403は、各ホストマシン101A〜101Dの稼働情報DB(208、303)から取得した稼働状況と障害対応DB406の情報とを比較することにより、障害を事前に検知する。
<データベースの構成>
以下に、本実施例で使用する各DBの構成について説明する。なお、以後の説明では「テーブル」構造を用いて本発明の情報について説明するが、これら情報は必ずしもテーブルによるデータ構造で表現されていなくても良く、他のデータ構造で表現されていても良い。そのため、データ構造に依存しないことを示すために、以下では単に「情報」と呼ぶことがある。また、以下で説明する各DBは、各情報処理装置のハードディスク(記憶装置)に格納されている。
図5は、ジョブスケジュール定義DB201に格納するスケジュール情報テーブル及びジョブスケジュール定義ファイルの一例を示した図である。スケジュール情報テーブル501は、ジョブネット名502と、開始時刻503と、処理サイクル504とを構成項目として含んでいる。ジョブネット名502は、ジョブネットを一意に特定するための名称などである。開始時刻503は、ジョブネット毎に設定した開始時刻である。処理サイクル504は、ジョブネットの処理サイクルである。
ジョブスケジュール定義ファイル505には、スケジュール情報テーブル501の各項目に対応する情報が、コンマ区切り(CSV形式)で格納されている。ジョブ定義更新部211が、ジョブスケジュール定義ファイル505を読み込んでインポート処理を行うことにより、ジョブスケジュール定義ファイル505の各行がスケジュール情報テーブル501のレコードとして格納される。図示した例では、JobNetAを毎日00:00に開始し、JobNetBを毎月15日の10:15に開始し、JobNetCを毎週木曜日の03:00に開始するスケジュールが定義されている。
図6は、ジョブ定義DB206に格納するジョブ定義テーブル及びジョブ定義ファイルの一例を示した図である。ジョブ定義テーブル601は、ジョブネット・ジョブ名602と、上位ジョブネット名603と、先行ジョブ名604と、実行先エージェント名605と、実行プログラム606とを構成項目として含んでいる。
ジョブネット・ジョブ名602は、ジョブネットを一意に特定するための名称、あるいはジョブを一意に特定するための名称などである。上位ジョブネット名603は、該当のジョブを含む上位のジョブネット名を示す。また、先行ジョブ名604は、該当のジョブの先行にあるジョブを示す。また、実行先エージェント名605は、該当のジョブの実行先を示し、本実施例では、ホストマシン(101B〜101D)のいずれかである。さらに、実行プログラム606は、該当のジョブを実行するための外部プログラムのパスなどを示す。
ジョブ定義ファイル607には、ジョブ定義テーブル601の各項目に対応する情報が、コンマ区切り(CSV形式)で格納されている。ジョブ定義更新部211が、ジョブ定義ファイル607を読み込んでインポート処理を行うことにより、ジョブ定義ファイル607の各行がジョブ定義テーブル601のレコードとして格納される。図示した例では、ジョブネット「JobNetA」の配下にジョブ「JobA−1」及び「JobA−2」がある。ジョブ「JobA−1」は、ジョブネットの中で先頭のジョブであり、実行先エージェント名605として「ホストマシン101B」が指定され、実行プログラム606として「/opt/xxxx/xx.sh」が指定されている。ジョブ「JobA−2」は、先行ジョブが「JobA−1」であり、実行先エージェント名605として「ホストマシン101D」が指定され、実行プログラム606として「/opt/yyyy/yy.sh」が指定されている。なお、ジョブ「JobA−1」の先行ジョブ名604のように設定するものがない場合は、値は設定されない。
図7は、実行結果情報DB207に格納する実行結果テーブルの一例を示す図である。実行結果テーブル701は、ジョブネット・ジョブ名702と、状態703と、開始時刻704と、終了時刻705とを構成項目として含んでいる。
ジョブネット・ジョブ名702は、ジョブネットを一意に特定するための名称、あるいはジョブを一意に特定するための名称などである。状態703は、該当のジョブネットやジョブの状態を示し、例えば、「実行中」、「正常終了」、「異常終了」などが設定される。開始時刻704は、該当のジョブネットやジョブを開始した時刻を示す。また、終了時刻705は、該当のジョブネットやジョブが終了した時刻を示す。ここで、該当のジョブネットやジョブが開始されるときにジョブネット・ジョブ名702、状態703、及び開始時刻704が格納され、終了するときに状態703と終了時刻705が更新される。
図8は、ジョブ管理マネージャー102用の稼働情報DB208に格納する稼働情報テーブルの一例を示す図である。稼働情報テーブル801は、監視時間帯802と、平均CPU使用率803と、平均メモリ使用率804と、平均ディスクI/O805と、ジョブ配信数806と、ユーザ操作量807と、DB使用率808と、DBレコード数809とを構成項目として含んでいる。監視時間帯802は、ジョブ管理マネージャー102の稼働情報を監視した時間帯を示す。なお、本実施例では、5分毎に1レコードを格納されているが、他の時間間隔で1レコードを格納してもよい。
平均CPU使用率803は、該当時間帯におけるホストマシン101Aの平均CPU使用率である。また、平均メモリ使用率804は、該当時間帯におけるホストマシン101Aの平均メモリ使用率である。平均ディスクI/O805は、該当時間帯におけるホストマシン101AのディスクI/O時間の占める割合の平均を示す。ジョブ配信数806は、該当時間帯において、ジョブ管理マネージャー102のジョブ実行処理部205からジョブ実行エージェント(103B〜103D)に対して配信したジョブの総数を示す。
また、ユーザ操作量807は、該当時間帯においてジョブ管理マネージャー102に対してユーザが行った操作の総量を示す。DB使用率808は、該当時間帯におけるジョブスケジュール定義DB201、ジョブ定義DB206、実行結果情報DB207、及び稼働情報DB208の使用済み領域の割合の平均を示す。また、DBレコード数809は、該当時間帯におけるジョブスケジュール定義DB201、ジョブ定義DB206、実行結果情報DB207、及び稼働情報DB208に格納されているレコード数を示す。稼働情報テーブル801の各項目ついては、稼働状況監視部212によって、ホストマシン101Aおよびジョブ管理マネージャー102から一定間隔で該当するデータが収集される。稼働状況監視部212は、収集したデータを1行ずつレコードとして稼働情報テーブル801に格納する。
図9は、ジョブ実行エージェント(103B〜103D)用の稼働情報DB303に格納する稼働情報テーブルの一例を示す図である。稼働情報テーブル901は、監視時間帯902と、CPU使用率903と、メモリ使用率904と、ディスクI/O905と、ジョブ実行数906とを構成項目として含んでいる。
監視時間帯902は、ジョブ実行エージェント(103B〜103D)の稼働情報を監視した時間帯を示す。CPU使用率903は、該当時間帯におけるホストマシン(101B〜101D)の平均CPU使用率である。また、メモリ使用率904は、該当時間帯におけるホストマシン(101B〜101D)の平均メモリ使用率である。
ディスクI/O905は、該当時間帯におけるホストマシン(101B〜101D)のディスクI/O時間の占める割合の平均を示す。また、ジョブ実行数906は、該当時間帯においてジョブ実行エージェント(103B〜103D)のジョブ実行部301で実行したジョブの総数を示す。稼働情報テーブル901の各項目については、稼働状況監視部302によって、ホストマシン(101B〜101D)およびジョブ実行エージェント(103B〜103D)から一定間隔で該当するデータが収集される。稼働状況監視部302は、収集したデータを1行ずつレコードとして稼働情報テーブル901に格納する。
図10は、障害履歴DB405に格納する障害履歴テーブルの一例を示す図である。障害履歴テーブル1001は、障害発生ホストマシン1002と、障害発生日時1003と、現象1004とを構成項目として含んでいる。障害発生ホストマシン1002は、障害が発生したホストマシン(101A〜101D)を示す。また、障害発生日時1003は、該当するホストマシン(101A〜101D)において障害が発生した時刻を示す。また、現象1004は、該当するホストマシン(101A〜101D)において発生した具体的な現象を示す。障害履歴テーブル1001の各項目は、障害監視部401によって各ホストマシン101A〜101Dの障害状況が監視されて障害の発生と判定された場合に格納される。
図11は、障害対応DB406に格納する障害対応テーブルの一例を示す図である。障害対応テーブル1101は、ホストマシン1102と、現象1103と、原因1104と、障害事前判定条件1105と、対処方法1106とを構成項目として含んでいる。ホストマシン1102は、障害対応の対象となるホストマシンを示す。現象1103は、該当するホストマシンにおいて発生した具体的な現象を示す。また、原因1104は、該当するホストマシンにおいて発生した現象の原因を示す。
障害事前判定条件1105には、稼働状況監視の結果で障害が発生していない場合でも、障害が発生する前に対処するための条件が設定される。ここでは、ジョブ配信数、ジョブ実行数、メモリ使用率、DB使用率などの条件が設定されている。これに限定されず、例えば、稼働情報テーブル801、901の構成項目に関する条件を、障害事前判定条件1105として設定することができる。対処方法1106は、障害が発生した場合、または障害事前判定条件1105を満たした場合の対処方法を示す。障害対応テーブル1101の各項目については、障害情報入力部404が、端末105からの入力情報を受け付けて、その入力情報を障害対応テーブル1101に格納する。
<障害対応システムにおける処理>
次に、障害対応システム104における処理を説明する。図12は、障害対応システム104における障害履歴DB405の蓄積処理を説明するフローチャートである。ここでは、障害対応システム104が、各ホストマシン(101A〜101D)の障害を監視して障害履歴DB405へ情報を格納し、端末105に障害を通知するまでの処理を説明する。
ステップ1201において、障害監視部401が、ホストマシン101Aの実行結果情報DB207を参照し、ジョブの実行結果を取得する。次に、ステップ1202において、障害監視部401が、実行結果テーブル701の情報に基づいて障害が発生しているかを判定する。例えば、実行結果テーブル701の状態703が「異常終了」となっている場合は、ジョブが異常終了していると判定することができる。また、別の方法として、障害監視部401が、スケジュール情報テーブル501の開始時刻503の情報を取得して、実行結果テーブル701の開始時刻704と比較して遅延を判定してもよい。また、開始時間になっても実行結果テーブル701にレコード自体が作成されていない場合、ジョブネットの開始自体が遅延していると判定できる。また、障害監視部401は、実行結果テーブル701の過去の処理サイクルで正常終了した時刻と比較して、今回の処理サイクルの各ジョブが遅延しているかを判定してもよい。ここで、障害が発生した場合は、ステップ1203に進み、障害が発生していない場合は、処理を終了する。
ステップ1203に進んだ場合、障害監視部401が、発生した障害の情報を障害履歴DB405に格納する。なお、障害監視部401は、ホストマシン101Aのジョブ定義DB206の情報を取得して、障害履歴テーブル1001の障害発生ホストマシン1002の項目を格納することができる。障害履歴テーブル1001の現象1004については、ステップ1202で判定された現象の情報が格納される。
次に、ステップ1204において、障害監視部401が、発生した障害を端末105に通知する。この際、障害監視部401は、障害履歴DB405に格納した障害情報、及び、その障害に該当する時間帯の稼働情報を、その障害が発生したホストマシンの稼働情報DB(208または303)から取得し、端末105に送信する。
以上の処理を定期的に実施することで、障害履歴DB405に障害情報を蓄積しながら、端末105に障害を通知することができる。
次に、障害対応システム104における別の処理を説明する。図13は、障害対応システム104における障害対応DB406の蓄積処理を説明するフローチャートである。ここでは、障害対応システム104が、端末105から入力情報を受信して、障害対応DB406に情報を格納するまでの処理を説明する。
ステップ1301において、障害情報入力部404が、発生した障害の障害原因やその対処方法、及び、障害事前判定条件の情報を端末105から受信する。なお、ここで、端末105で使用される画面については後述する。次に、ステップ1302において、障害情報入力部404が、受信した情報を障害対応DB406に格納する。以上の処理を実施することで、障害対応DB406に障害対応に関する情報を蓄積する。
図14は、図13のステップ1301において端末105に表示される画面の一例である。図14の画面は、障害履歴表示部1401と、障害時稼働状況表示部1402と、障害対応情報表示部1403とを備える。
障害履歴表示部1401には、障害履歴DB405の障害履歴テーブル1001のレコードに対応する情報が表示される。すなわち、障害履歴表示部1401には、障害発生ホストマシン1413と、障害発生日時1414と、現象1415とが表示される。また、障害時稼働状況表示部1402には、その障害が発生したホストマシンの稼働情報テーブル(801または901)のレコードに対応する情報が表示される。
障害対応情報表示部1403には、障害対応テーブル1101のレコードに対応するテキストボックスが表示される。障害対応情報表示部1403には、ホストマシン1404と、現象1405と、障害原因1407と、障害事前判定条件1408と、対処方法1409とが表示される。ここで、障害対応者(端末105のユーザ)は、障害履歴表示部1401と障害時稼働状況表示部1402の情報を基に、障害対応情報表示部1403の入力を行う。ホストマシン1404と現象1405については、障害履歴テーブル1001の障害発生ホストマシン1002及び現象1004から明らかであるから、入力済みの状態となっている。
障害対応者は、障害の発生原因である障害原因1407と、今後同じ現象が発生する前に事前通知するための条件である障害事前判定条件1408と、現象が発生した場合の対処方法(今回の障害に対して実施した対処方法)1409を入力する。なお、この例では、障害原因1407と、障害事前判定条件1408と、対処方法1409とがテキストボックスとなっているが、予め用意された複数の選択肢から選択するような形式でもよい。
最終的に、障害対応者は、データを入力後、画面下部の[障害対応情報登録]ボタン1410を押下する。これにより、入力された情報が、端末105から障害対応システム104の障害情報入力部404に送信され、その後、障害情報入力部404が、受信した情報を障害対応DB406に格納する。
次に、障害対応システム104における別の処理を説明する。図15は、障害対応システム104の障害対応部402によって実行される対処方法の提示処理を説明するフローチャートである。
まず、ステップ1501において、障害対応部402が、ホストマシン(101A〜101D)の障害情報を取得する。ここで、障害対応部402は、障害監視部401における障害判定処理(図12の処理)と連動してホストマシン(101A〜101D)の障害情報を取得することができる。例えば、障害対応部402は、障害監視部401が障害の発生を判定した後の段階(図12のステップ1203など)で、障害情報を障害監視部401から取得してもよい。
次に、ステップ1503において、障害対応部402が、障害対応DB406の障害対応テーブル1101を読み込む。次に、ステップ1504において、障害対応部402が、ステップ1501で取得した障害情報の中のホストマシンと現象の情報と、ステップ1503において読み込んだ障害対応テーブル1101のレコードの中のホストマシン1102と現象1103とを比較して、両方が一致しているかを判定する。
次に、ステップ1505において、ステップ1504の判定で一致する障害対応テーブル1101のレコードが見つかった場合、そのレコードの原因1104と対処方法1106を端末105に通知する。なお、一致するレコードが複数あった場合には、複数の対処方法を端末105に通知するようにしてもよい。端末105は、通知された原因1104と対処方法1106を表示装置に表示する。ここで、ステップ1505の端末105への通知が完了するか、あるいは、ステップ1504の判定で一致するレコードが見つからなかった場合は、ステップ1502に戻る。そして、障害対応部402が、レコードの終了までステップ1503〜1505の処理を繰り返し実行する。
なお、端末105へ通知された原因1104と対処方法1106は、図14で示した画面と一緒に表示されてもよい。また、端末105が、図14とは別の画面で原因1104と対処方法1106を表示してもよい。この場合、端末105は、その障害に対応する障害履歴テーブル1001のレコードと、その障害が発生したホストマシン101A〜101Dの稼働情報テーブル(801または901)のレコードと、通知された原因1104及び対処方法1106と、を表示装置に表示するようにしてもよい。
次に、障害対応システム104における別の処理を説明する。図16は、障害対応システム104の障害事前検知部403によって実行される障害事前検知処理を説明するフローチャートである。
まず、ステップ1601において、障害事前検知部403が、各ホストマシン101A〜101Dの稼働情報DB(208、303)から稼働情報を取得する。例えば、障害事前検知部403は、各ホストマシン101A〜101Dの稼働状況監視部(212、302)が稼働情報DB(208、303)へ情報を格納する時間間隔で、稼働情報を取得する。
次に、ステップ1603において、障害事前検知部403が、障害対応DB406の障害対応テーブル1101を読み込む。次に、ステップ1604において、障害事前検知部403は、ステップ1601で取得した各ホストマシン101A〜101Dの稼働情報テーブル(801、901)のレコードのホストマシンと障害対応テーブル1101のホストマシン1102とが一致し、且つ、各ホストマシン101A〜101Dの稼働情報テーブル(801、901)のレコードの各項目の値が障害対応テーブル1101の障害事前判定条件1105を満たすかを判定する。
次に、ステップ1605において、ステップ1604の判定を満たす障害対応テーブル1101のレコードが見つかった場合、障害事前検知部403は、そのホストマシン101A〜101Dの稼働状況が危険な状態であると判断し、障害対応テーブル1101のレコードの情報(ホストマシン1102、現象1103、原因1104、障害事前判定条件1105、及び対処方法1106)を端末105に通知する。端末105は、通知された情報を表示装置に表示する。なお、一致するレコードが複数あった場合には、複数の検知結果を端末105に通知するようにしてもよい。ここで、ステップ1605の端末105への通知が完了するか、あるいは、ステップ1604の判定で一致するレコードが見つからなかった場合は、ステップ1602に戻る。そして、障害事前検知部403が、レコードの終了までステップ1603〜1605の処理を繰り返し実行する。
なお、端末105へ通知された情報は、図14で示した画面とは別の画面で表示する。この場合、端末105は、稼働状況が危険な状態であると判定されたホストマシン101A〜101Dの稼働情報テーブル(801、901)のレコードと、障害対応テーブル1101のホストマシン1102、原因1104、障害事前判定条件1105、及び対処方法1106を表示する。
図17は、障害事前検知結果を表示し、障害対応テーブル1101の情報を更新する端末105上の画面の一例である。図17の画面は、障害事前検知結果表示部1701と、事前検知時稼働状況表示部1702と、障害対応情報表示部1703とを備える。
障害事前検知結果表示部1701には、障害事前検知部403によって事前に検知された障害の情報が出力される。ここでは、稼働状況が危険な状態であると判定されたホストマシン1710と、事前検知された時間帯1711(稼働情報テーブルの801、901の監視時間帯802、902に対応する情報)と、現象1712(障害対応テーブル1101の現象1103に対応する情報)とが障害事前検知結果表示部1701に表示される。また、事前検知時稼働状況表示部1702には、時間帯1711におけるホストマシン1710の稼働情報テーブル(801または901)のレコードが表示される。
障害対応情報表示部1703には、障害対応テーブル1101のレコードに対応するテキストボックスが表示される。すなわち、障害対応情報表示部1403には、ホストマシン1704と、現象1705と、障害原因1706と、障害事前判定条件1707と、対処方法1708とが表示される。ここで、障害対応者(端末105のユーザ)は、障害事前検知結果表示部1701と事前検知時稼働状況表示部1702の情報を基に、障害に対する対処の要否の判断を行うことができる。
また、障害対応者は、障害対応情報表示部1703に表示された情報に変更が必要な場合は、障害対応情報表示部1703の情報を変更後、画面下部の[障害対応情報更新]ボタン1709を押下することで、更新された情報を障害対応システム104の障害情報入力部404に送信することができる。その後、障害情報入力部404が、対応する障害対応テーブル1101のレコードの情報を更新する。これにより、障害が事前検知されたホストマシン101A〜101Dの障害事前判定条件をより適切な条件に設定し直すことができ、システムを運用しながら障害事前検知の精度をより高めることができる。また、障害の原因や対処方法などもより適切な内容に更新して蓄積していくことが可能になる。
本実施例によれば、ジョブ管理システムにおいて、ジョブの実行結果から各ホストマシン101A〜101Dの障害を判定し、その障害の情報を端末105に通知することができる。これにより、障害対応者に対して迅速に障害を通知することができる。また、本実施例によれば、ホストマシン101A〜101Dにおいて障害が発生した際に、ホストマシン101A〜101Dの障害に対する対処方法などの情報を障害対応テーブル1101に蓄積していくことができる。そして、障害が発生した際に、その障害に対応するレコードを障害対応テーブル1101で検索し、一致したレコードを端末105に出力させる。これにより、過去に発生した障害に対して実施した対処方法の履歴に基づいて、障害対応者が今回発生した障害に対する対処方法を検討することができる。これにより、障害発生時の対処を迅速に行うことが可能になる。
また、本実施例によれば、障害対応テーブル1101の対処方法1106とともにその障害の要因となる情報(原因1104)も端末105に表示される。したがって、障害対応者は、障害の要因についての判断も迅速に行うことが可能となる。さらに、本実施例によれば、障害発生時に対応する稼働情報テーブル(801、901)のレコードも端末105に表示される。したがって、障害要因である環境の変化の調査なども容易に行うことができる。
また、本実施例によれば、障害が発生した際に、障害対応テーブル1101に対処方法1106とともに障害事前判定条件1105を格納する。この構成によれば、ジョブ管理システムを運用中にホストマシン101A〜101Dの稼働情報を自動的に収集し、収集した稼働情報が障害事前判定条件1105を満たすかを判定し、ホストマシン101A〜101Dが危険な状態であることを事前に検知することができる。また、端末105には、障害の事前検知だけでなく、対処方法1106も表示されるので、過去に発生した障害と同様の問題が発生するのを防止したり、発生時に対処を迅速に行うことができる。
また、本実施例によれば、障害が事前検知された際に、障害対応テーブル1101の内容を更新することもできる。これにより、障害が事前検知されたホストマシン101A〜101Dの障害事前判定条件をより適切な条件に設定し直すことができ、システムを運用しながら障害事前検知の精度をより高めることができる。また、障害の原因や対処方法などもより適切な内容に更新して蓄積していくことが可能になる。
以上のように、本発明では、障害発生時に各種環境情報を自動的に収集することを特徴とし、障害発生時の調査を容易にすることができる。更に、本発明は、障害調査の結果、障害要因の判断基準や対処方法を記録できるユーザーインタフェースを持ち、運用中に障害要因の監視をすることができ、同様の問題が発生するのを防止したり、発生時に対処を迅速に行うことができる。
<変形例>
本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、障害の通知・入力を行う端末105は、複数の端末で構成されてもよい。また、図1の実施例では、ジョブ管理マネージャー102、ジョブ実行エージェント(103B〜103D)、及び、障害対応システム104などが、別々の情報処理装置に組み込まれているが、これらが1つの情報処理装置に組み込まれてもよい。
また、障害対応テーブル1101に、参照された頻度を格納するフィールドを設けて、よく障害が発生するホストマシン101A〜101Dを端末105に出力するように構成してもよい。また、頻度を格納するフィールドの値を参照して、より多く参照されたレコードの対処方法を優先的に提示するようにしてもよい。
さらに、障害対応テーブル1101に、「重要度」を格納するフィールドを設けて、障害対応時に入力するようにしてもよい。障害発生時に端末105において「重要度」も表示するようにして、障害対応者に対応の優先度を検討し易くするような構成としてもよい。
上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。例えば、過去の障害対応の履歴に基づいて対処方法を提示するという点においては、障害対応テーブル1101が少なくとも対処方法の情報を格納しており、障害対応部402が、少なくとも対処方法を端末105に通知すればよい。上述した全ての実施形態を含む構成は、本発明のより好ましい形態であり、当然ながら実施形態として説明した構成の一部を削除して本発明を構成することが可能である。
また、本分野にスキルのある者には、本発明を実施するのに相応しいハードウェア、ソフトウェア、およびファームウエアの多数の組み合わせがあることが解るであろう。例えば、本実施形態に記載の機能を実現するプログラムコードは、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラムまたはスクリプト言語で実装できる。
101A :ホストマシン
101B :ホストマシン
101C :ホストマシン
101D :ホストマシン
101E :ホストマシン
102 :ジョブ管理マネージャー
103B :ジョブ実行エージェント
104 :障害対応システム
105 :端末
106 :ネットワーク
201 :ジョブスケジュール定義DB
202 :ジョブ実行制御部
203 :スケジュール算出部
204 :ジョブ定義読込部
205 :ジョブ実行処理部
206 :ジョブ定義DB
207 :実行結果情報DB
208 :稼働情報DB
209 :ジョブスケジュール定義ファイル
210 :ジョブ定義ファイル
211 :ジョブ定義更新部
212 :稼働状況監視部
301 :ジョブ実行部
302 :稼働状況監視部
303 :稼働情報DB
401 :障害監視部
402 :障害対応部
403 :障害事前検知部
404 :障害情報入力部
405 :障害履歴DB
406 :障害対応DB

Claims (6)

  1. 少なくとも1つの情報処理装置にジョブを実行させるジョブ管理システムの障害対応システムであって、
    入出力手段と、
    前記ジョブの実行結果を示すジョブ実行結果情報と、前記少なくとも1つの情報処理装置の稼働状況を示す稼働情報と、前記少なくとも1つの情報処理装置において発生した障害の情報を示す障害履歴情報と、前記少なくとも1つの情報処理装置において発生した障害に対して実施した対処に関する情報を示す障害対応情報とを格納する記憶手段と、
    前記少なくとも1つの情報処理装置に前記ジョブを実行させ、前記ジョブの実行結果を前記ジョブ実行結果情報として前記記憶手段に格納するジョブ実行制御手段と、
    前記少なくとも1つの情報処理装置の稼働状況を監視し、前記監視した稼働状況の情報を前記稼働情報として前記記憶手段に格納する稼働状況監視手段と、
    前記ジョブ実行結果情報に基づいて前記少なくとも1つの情報処理装置で発生した障害を判定し、前記障害の情報を前記障害履歴情報として前記記憶手段に格納する障害監視手段と、
    前記障害に対して実施した対処に関する情報を前記障害対応情報として前記記憶手段に格納する障害対応手段と、
    を備え、
    前記障害対応手段が、前記障害対応情報の中から、前記障害監視手段によって障害と判定された前記少なくとも1つの情報処理装置の前記障害の情報と一致する情報を取得し、前記取得した情報を前記入出力手段に表示させることを特徴とする障害対応システム。
  2. 請求項1に記載の障害対応システムおいて、
    前記記憶手段が、前記障害対応情報として、前記障害に対して実施した対処方法の情報と前記障害の原因の情報とを格納しており、
    前記障害対応手段が、前記対処方法の情報と前記障害の原因の情報とを前記入出力手段に表示させることを特徴とする障害対応システム。
  3. 請求項1又は2に記載の障害対応システムおいて、
    前記少なくとも1つの情報処理装置で発生した障害を事前に検知する障害事前検知手段を更に備え、
    前記記憶手段が、前記障害対応情報として、前記障害を事前に検知するための判定条件情報を更に格納しており、
    前記障害事前検知手段が、
    前記稼働状況監視手段によって監視された前記少なくとも1つの情報処理装置の稼働状況の情報が前記判定条件情報を満たすかを判定し、
    前記判定条件情報を満たす場合には、前記障害対応情報を前記入出力手段に表示させることを特徴とする障害対応システム。
  4. 請求項3に記載の障害対応システムおいて、
    前記障害対応手段が、前記入出力手段に表示された前記障害対応情報の更新された情報を受け取り、前記更新された情報を前記障害対応情報として前記記憶手段に格納することを特徴とする障害対応システム。
  5. 請求項1乃至4のいずれか一項に記載の障害対応システムおいて、
    前記障害対応手段が、前記取得した情報とともに前記障害が発生した時に対応する前記稼働情報を前記入出力手段に表示させることを特徴とする障害対応システム。
  6. 演算手段と記憶手段と入出力手段とを備えるコンピュータに、少なくとも1つの情報処理装置にジョブを実行させるジョブ管理システムの障害対応処理を実行させるためのプログラムであって、
    前記演算手段に、
    前記少なくとも1つの情報処理装置に前記ジョブを実行させ、前記ジョブの実行結果をジョブ実行結果情報として前記記憶手段に格納するジョブ実行制御処理と、
    前記少なくとも1つの情報処理装置の稼働状況を監視し、前記監視した稼働状況の情報を稼働情報として前記記憶手段に格納する稼働状況監視処理と、
    前記ジョブ実行結果情報に基づいて前記少なくとも1つの情報処理装置で発生した障害を判定し、前記障害の情報を障害履歴情報として前記記憶手段に格納する障害監視処理と、
    前記障害に対して実施した対処に関する情報を障害対応情報として前記記憶手段に格納する障害対応処理と、
    前記障害対応情報の中から、前記障害監視処理によって障害と判定された前記少なくとも1つの情報処理装置の前記障害の情報と一致する情報を取得し、前記取得した情報を前記入出力手段に表示させる表示処理と、
    を実行させるためのプログラム。
JP2012193458A 2012-09-03 2012-09-03 ジョブ管理システムにおける障害対応システム及びそのプログラム Pending JP2014049045A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012193458A JP2014049045A (ja) 2012-09-03 2012-09-03 ジョブ管理システムにおける障害対応システム及びそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012193458A JP2014049045A (ja) 2012-09-03 2012-09-03 ジョブ管理システムにおける障害対応システム及びそのプログラム

Publications (1)

Publication Number Publication Date
JP2014049045A true JP2014049045A (ja) 2014-03-17

Family

ID=50608608

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012193458A Pending JP2014049045A (ja) 2012-09-03 2012-09-03 ジョブ管理システムにおける障害対応システム及びそのプログラム

Country Status (1)

Country Link
JP (1) JP2014049045A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019159474A (ja) * 2018-03-08 2019-09-19 富士通フロンテック株式会社 メッセージ監視サーバ、方法、プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10312321A (ja) * 1997-05-12 1998-11-24 Hitachi Ltd オンラインシステム障害解析方法
JP2004038535A (ja) * 2002-07-03 2004-02-05 Sumisho Computer Systems Corp 障害対応システムおよびこれに用いるサーバ装置、障害対応プログラム
JP2004318763A (ja) * 2003-04-21 2004-11-11 Nec Corp ジョブネットワーク管理システムおよびプログラム
JP2011002906A (ja) * 2009-06-16 2011-01-06 Fujitsu Ltd 監視プログラム、監視装置、および監視方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10312321A (ja) * 1997-05-12 1998-11-24 Hitachi Ltd オンラインシステム障害解析方法
JP2004038535A (ja) * 2002-07-03 2004-02-05 Sumisho Computer Systems Corp 障害対応システムおよびこれに用いるサーバ装置、障害対応プログラム
JP2004318763A (ja) * 2003-04-21 2004-11-11 Nec Corp ジョブネットワーク管理システムおよびプログラム
JP2011002906A (ja) * 2009-06-16 2011-01-06 Fujitsu Ltd 監視プログラム、監視装置、および監視方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019159474A (ja) * 2018-03-08 2019-09-19 富士通フロンテック株式会社 メッセージ監視サーバ、方法、プログラム

Similar Documents

Publication Publication Date Title
JP5267736B2 (ja) 障害検出装置、障害検出方法およびプログラム記録媒体
EP2523115B1 (en) Operation management device, operation management method, and program storage medium
EP2490126B1 (en) System operation management device, system operation management method, and program storage medium
US9122602B1 (en) Root cause detection service
EP2685380A1 (en) Operations management unit, operations management method, and program
US9244721B2 (en) Computer system and divided job processing method and program
US10331507B2 (en) Systems and methods for real time computer fault evaluation
US20150370627A1 (en) Management system, plan generation method, plan generation program
JP2011103030A (ja) インシデント管理方法および運用管理サーバ
JP2013054402A (ja) 運用監視装置、運用監視プログラム及び記録媒体
JP5740338B2 (ja) 仮想環境運用支援システム
US9021078B2 (en) Management method and management system
JP2011170518A (ja) 状態監視装置及び方法
US20170083397A1 (en) System and method for self-healing a database server in a cluster
JP4867908B2 (ja) 監視システム、ネットワーク監視装置及びサービス実行環境監視方法
JP2015064723A (ja) ジョブ管理システム
US20160080305A1 (en) Identifying log messages
JP2014049045A (ja) ジョブ管理システムにおける障害対応システム及びそのプログラム
US9542250B2 (en) Distributed maintenance mode control
JP7097408B2 (ja) 局所的ホットスポットを処理する方法、装置、電子デバイス及び記憶媒体
JP2015194805A (ja) 予測プログラム,予測装置及び予測方法
JP6436644B2 (ja) 分析装置およびコンピュータプログラム
JP6234759B2 (ja) 情報システム
JP2012068812A (ja) 対処提示装置、対処提示方法及び対処提示プログラム
JP2017040962A (ja) 管理プログラム、管理装置及び管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151013

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160308