JP2010079581A - データ取得管理装置、データ取得管理システム及びプログラム - Google Patents

データ取得管理装置、データ取得管理システム及びプログラム Download PDF

Info

Publication number
JP2010079581A
JP2010079581A JP2008246828A JP2008246828A JP2010079581A JP 2010079581 A JP2010079581 A JP 2010079581A JP 2008246828 A JP2008246828 A JP 2008246828A JP 2008246828 A JP2008246828 A JP 2008246828A JP 2010079581 A JP2010079581 A JP 2010079581A
Authority
JP
Japan
Prior art keywords
data acquisition
polling
server
communication
data
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
JP2008246828A
Other languages
English (en)
Inventor
Junya Kato
淳也 加藤
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2008246828A priority Critical patent/JP2010079581A/ja
Publication of JP2010079581A publication Critical patent/JP2010079581A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

【課題】ポーリングによりデータを取得する複数のデータ取得手段が分散された分散環境において、1つのデータ取得手段との間で通信障害が発生しても、データの取得及び処理を継続して行うことができる、可用性の高いデータ取得管理装置、データ取得管理システム及びプログラムを提供する。
【解決手段】複数のデータ取得サーバに対しポーリング先を配分した結果を示すポーリング先リストと、複数のデータ取得サーバと正常に通信が行われたことを示す情報を記録した通信記録とを記憶しておいて、データ取得サーバと正常に通信が行われた場合に通信記録を更新し、更新された通信記録に基づいて正常に通信を行うことができるデータ取得サーバを特定し、正常に通信を行うことができるデータ取得サーバの数が変動した場合には、ポーリング先を再配分し、再配分の結果に応じてポーリング先リストを更新する。
【選択図】図7

Description

本発明は、データ取得管理装置、データ取得管理システム及びプログラムに関する。
従来、複数のデータ取得手段、複数のデータ処理手段が分散されている分散環境において、1つのデータ取得手段で取得したデータをデータ処理手段に転送する際に、通信障害などにより転送に失敗した場合には、通信障害が解消するまで、そのデータを処理できないという課題があった。上記課題を解決する方法としては、データ取得手段を多重化し、通信障害の発生していない正常なデータ取得手段で処理させて、可用性を高めることが考えられる。
例えば、クライアントとサーバ間の要求と応答を取得し保持する手段と、サーバの障害検知手段と、サーバ障害時に保持していた要求を予備のサーバに送信する手段と、予備のサーバから応答を受信する手段と、障害が発生した時点のクライアントとサーバの通信状態を検出する手段と、上記状態から通信状態を再開するよう成り代わって応答を行う手段と、をプログラムの実行により実現する代理応答装置が提案されている(特許文献1)。
また、通信障害の発生を未然に防止する方法として、各分散型コンピュータの稼働情報データを、ポーリング方式によってホストコンピュータへ送信し、限界値を超えている分散型コンピュータについて、障害情報を表示し、ハードウェア障害の予測に利用する分散型コンピュータが提案されている(特許文献2)。
特開2004−280738号公報 特開平8−16519号公報
本発明の目的は、ポーリングによりデータを取得する複数のデータ取得手段が分散された分散環境において、1つのデータ取得手段との間で通信障害が発生しても、データの取得及び処理を継続して行うことができる、可用性の高いデータ取得管理装置、データ取得管理システム及びプログラムを提供することにある。
上記目的を達成するために請求項1に記載の発明は、複数のデータ取得サーバの各々と通信する通信手段と、複数のデータ取得サーバの各々に対し予め登録されたポーリング先を配分した結果を示すポーリング先リストと、複数のデータ取得サーバの各々と正常に通信が行われたことを示す情報を記録した通信記録と、を記憶した記憶手段と、データ取得サーバと正常に通信が行われた場合に、前記通信記録を更新する通信記録更新手段と、更新された通信記録に基づいて、正常に通信を行うことができるデータ取得サーバを特定するサーバ特定手段と、前記サーバ特定手段による特定の結果、正常に通信を行うことができるデータ取得サーバの数が変動した場合には、正常に通信を行うことができる複数のデータ取得サーバの各々に対し予め登録されたポーリング先を再配分し、再配分の結果に応じてポーリング先リストを更新するリスト更新手段と、正常に通信が行われたデータ取得サーバに対し、ポーリング先リストが更新された場合には更新されたポーリング先リストが送信され、ポーリング先リストが更新されない場合には更新前のポーリング先リストが送信されるように、前記通信手段から送信される情報を制御するリスト送信制御手段と、を備えたデータ取得管理装置である。
請求項2に記載の発明は、請求項1に記載のデータ取得管理装置において、前記リスト更新手段は、正常に通信を行うことができる複数のデータ取得サーバの各々に対し、予め登録されたポーリング先を、ポーリングによる負荷が分散するように再配分する。
請求項3に記載の発明は、請求項1または2に記載のデータ取得管理装置において、前記サーバ特定手段は、前記更新された通信記録に基づいて、最後にデータ取得サーバと正常に通信が行われた時刻から予め定めた時間内に正常に通信を行ったデータ取得サーバは、正常に通信を行うことができるデータ取得サーバであると特定する。
請求項4に記載の発明は、請求項1〜3のいずれか1項に記載のデータ取得管理装置において、前記サーバ特定手段は、前記通信記録が更新される毎に、前記更新された通信記録に基づいて、正常に通信を行うことができるデータ取得サーバを特定する。
請求項5に記載の発明は、請求項1〜4のいずれか1項に記載のデータ取得管理装置と、前記データ取得管理装置と通信する通信手段と、前記データ取得管理装置から受信したポーリング先リストを記憶した記憶手段と、前記ポーリング先リストに基づいてポーリングを行いポーリング先からデータを取得すると共に、取得されたデータを前記データ取得管理装置に送信するポーリング手段と、前記データ取得管理装置との通信が不能となった場合にポーリングを停止するポーリング停止手段と、を各々備えた複数のデータ取得サーバと、を含むデータ取得管理システムである。
請求項6に記載の発明は、請求項5に記載のデータ取得管理システムにおいて、前記複数のデータ取得サーバの各々と通信可能に接続され且つ予めポーリング先として登録された共有記憶装置を更に備え、前記ポーリング手段は、前記データ取得管理装置との通信が不能となった場合に、ポーリング先から取得されたデータを前記共有記憶装置に格納する。
請求項7に記載の発明は、請求項5に記載のデータ取得管理システムにおいて、前記複数のデータ取得サーバ同士が通信可能に接続され、前記ポーリング手段は、前記データ取得管理装置との通信が不能となった場合に、ポーリング先から取得されたデータを他のデータ取得サーバに転送する。
請求項8に記載の発明は、コンピュータを、請求項1〜4のいずれか1項に記載のデータ取得管理装置を構成する各手段として機能させるためのプログラムである。
請求項9に記載の発明は、コンピュータを、請求項5〜7のいずれか1項に記載のデータ取得管理システムに含まれる前記複数のデータ取得サーバの各々を構成する各手段として機能させるためのプログラムである。
本発明の各請求項に係る発明によれば以下の効果がある。
請求項1に係るデータ取得管理装置によれば、ポーリングによりデータを取得する複数のデータ取得手段が分散された分散環境において、1つのデータ取得手段との間で通信障害が発生しても、データの取得及び処理を継続して行うことができる、という効果がある。
請求項2に係るデータ取得管理装置によれば、負荷が分散するようにポーリング先の再配分が行われる、という効果がある。
請求項3に係るデータ取得管理装置によれば、正常に通信を行うことができるデータ取得手段を客観的に特定することができる、という効果がある。
請求項4に係るデータ取得管理装置によれば、通信障害の検出精度が向上する、という効果がある。
請求項5に係るデータ取得管理システムによれば、ポーリングによりデータを取得する複数のデータ取得手段が分散された分散環境において、1つのデータ取得手段との間で通信障害が発生しても、データの取得及び処理を継続して行うことができる、即ち、冗長化されたシステムを構築できる、という効果がある。
請求項6に係るデータ取得管理システムによれば、データ取得手段により取得されたデータが、データ処理手段に送信不能となるのを防止できる、という効果がある。
請求項7に係るデータ取得管理システムによれば、データ取得手段により取得されたデータが、データ処理手段に送信不能となるのを防止できる、という効果がある。
請求項8に係るプログラムによれば、ポーリングによりデータを取得する複数のデータ取得手段が分散された分散環境において、1つのデータ取得手段との間で通信障害が発生しても、データの取得及び処理を継続して行うことができる、という効果がある。
請求項9に係るプログラムによれば、ポーリングによりデータを取得する複数のデータ取得手段が分散された分散環境において、1つのデータ取得手段との間で通信障害が発生しても、データの取得及び処理を継続して行うことができる、即ち、冗長化されたシステムを構築できる、という効果がある。
以下、図面を参照して本発明の実施の形態の一例を詳細に説明する。
(第1の実施の形態)
<データ取得管理システムの構成>
図1は本発明の第1の実施の形態に係るデータ取得管理システムの構成の一例を示す概略図である。このデータ取得管理システムは、データ取得を管理するデータ取得管理装置として、中継サーバ10を含んで構成されている。中継サーバ10は、通信ネットワーク12を介して、データを取得するデータ取得サーバ14、データ取得サーバ16、及びデータ取得サーバ18の各々と接続されている。本実施の形態では、3台のデータ取得サーバを備えるシステムについて説明するが、データ取得管理システムは、複数のデータ取得サーバを備えていればよい。また、本実施の形態では、通信ネットワーク12としては、インターネットを使用する。
データ取得サーバ14、データ取得サーバ16、及びデータ取得サーバ18の各々は、LAN(local area network)等の比較的狭い範囲に設置された通信ネットワーク20を介して、クライアント・コンピュータ(以下、「クライアント」という。)22A、22B、及び複合機24A、24Bの各々と接続されている。複合機とは、複写機、プリンタ、スキャナ、及びファクシミリなどの複数の機能を備えた事務機器である。本実施の形態では、2台のクライアントと2台の複合機とが接続されている例を示すが、通信ネットワーク20には、他のクライアント、プリンタ、ファクシミリ等、その他の機器が接続されていてもよい。また、本実施の形態では、通信ネットワーク20としては、イーサネット(登録商標)等のLANを使用する。
データ取得サーバ14、データ取得サーバ16、及びデータ取得サーバ18の各々には、中継サーバ10によって、クライアント22A、22Bのフォルダや、複合機24A、24Bの親展ボックスなど、データの取得参照先としての「ポーリング先」が配分されている。データ取得サーバ14、データ取得サーバ16、及びデータ取得サーバ18の各々は、配分されたポーリング先について順次ポーリングを行い、データを取得する。データ取得サーバ14、データ取得サーバ16、及びデータ取得サーバ18の各々は、取得したデータを中継サーバ10に送信する。
例えば、データ取得サーバ14にクライアント22Aが「ポーリング先」として割り当てられているとする。データ取得サーバ14は、クライアント22Aに対して、ポーリング信号を送信する。クライアント22Aは、データ取得サーバ14に対して、送信要求が無い場合には終了信号を送信し、送信要求がある場合にはデータを送信する。データ取得サーバ14は、取得したデータを中継サーバ10に送信する。
また、中継サーバ10は、通信ネットワーク26を介して、データ処理サーバ28及びデータ処理サーバ30の各々と接続されている。本実施の形態では、通信ネットワーク26としては、イーサネット(登録商標)等のLANを使用している。データ処理サーバ28、30としては、プリントサーバ、データベースサーバ、ファイルサーバ、メールサーバ、ウエブサーバ、FTPサーバ等、その他のデータ処理を行うデータ処理サーバを用いることができる。例えば、データ処理サーバ28は、プリンタをネットワークプリンタとして制御するプリントサーバであり、受信したデータをプリント出力する。また、データ処理サーバ30は、保有するデータベースの更新や検索を行うデータベースサーバであり、受信したデータをデータベースに蓄積する。
<中継サーバの構成>
図2は中継サーバの構成の一例を示すブロック図である。中継サーバ10は、コンピュータ本体の外に、ハードディスク等の外部記憶装置や通信インタフェース(I/F)等のデータ入出力装置を含んで構成されている。なお、中継サーバ10は、ディスプレイ等の表示装置、キーボードやマウス等の入力装置、コンピュータ読み取り可能な記録媒体に対してプログラムやデータを読み書きするハードディスクドライブ等の各種ドライブを備えていてもよいが、ここでは図示を省略する。
中継サーバ10は、各部を制御する制御部32、ハードディスク等で構成された各種プログラムや各種データを記憶する記憶部34、データを検索可能な形態で蓄積するデータベース36、LAN接続用の通信I/F38、及びインターネット接続用の通信I/F40を備えている。これら各部は、バス54により相互に接続されて、データの授受が可能とされている。通信I/F38は、データ処理サーバと通信ネットワーク(LAN)26を介して通信するためのI/Fである。また、通信I/F40は、データ取得サーバと通信ネットワーク(インターネット)12を介して通信するためのI/Fである。
制御部32は、装置全体の制御及び各種演算を行うCPU(中央処理装置:Central Processing Unit)42、OS(Operating Systems)等の各種プログラムを記憶したROM(Read Only Memory)44、及びプログラムの実行時にワークエリアとして使用されるRAM(Random Access Memory)46を備えている。CPU42は、ROM44又は記憶部34からプログラムを読み出し、RAM46にロードする。そして、RAM46をワークエリアとして使用し、ロードされたプログラムを実行する。
記憶部34には、負荷配分プログラム48、ポーリング先リスト50、及び稼働通知記録52が記憶されている。ポーリング先リスト50は、予め登録されたポーリング先を複数のデータ取得サーバに配分した結果を示すリストである。稼働通知記録52は、複数のデータ取得サーバの各々について、正常に通信が行われたことを示す情報を記録した通信記録である。本実施の形態では、正常に通信が行われたことを示す情報として、データ取得サーバから最後に稼働通知を受信した時刻(最終稼働通知時刻)を記録する。負荷配分プログラム48については後述する。次に、本実施の形態で用いるポーリング先リスト50及び稼働通知記録52について、更に詳細に説明する。
<ポーリング先リスト>
図4はポーリング先リストの一例を示す図である。このポーリング先リスト50では、8個のポーリング先のIPアドレスが、エントリー順に付番されて並べられている。ポーリング先のIPアドレスの各々は、そのポーリング先をポーリングするデータ取得サーバのIPアドレスと対応付けられている。
例えば、図4に示すように、データ取得サーバ14のIPアドレスを「111.222.123.250」、データ取得サーバ16のIPアドレスを「111.222.123.251」、データ取得サーバ18のIPアドレスを「111.222.123.252」とする。ポーリング先リスト50によれば、データ取得サーバ14にエントリーNo.1〜No.3の3個のポーリング先が配分され、データ取得サーバ16にエントリーNo.4〜No.6の3個のポーリング先が配分され、データ取得サーバ18にエントリーNo.7及びNo.8の2個のポーリング先が配分されている。
データ取得サーバ14、データ取得サーバ16、及びデータ取得サーバ18の各々には、ポーリングによる負荷が分散されるように、即ち、ロードバランスするように、ポーリング先が配分される。各ポーリング先のポーリングによる負荷が等しい場合には、上記の通り、ポーリング先の数が略均等になるように、各データ取得サーバにポーリング先を配分することで、ポーリングによる負荷が分散される。ポーリング先の数が略均等とは、配分されたポーリング先の数が同数(均等)である場合の外に、配分されたポーリング先の数に2、3個までの差しかない場合を含む。
これに対し、各ポーリング先のポーリングによる負荷が異なる場合には、各データ取得サーバにかかる負荷が略等しくなるように、負荷に応じてポーリング先を配分してもよい。ここで、ポーリングによる負荷とは、例えば、ポーリングに要する時間や記憶容量等である。
<稼働通知記録>
図5は稼働通知記録の一例を示す図である。この稼働通知記録52では、IPアドレスで特定されたデータ取得サーバ14、データ取得サーバ16、及びデータ取得サーバ18の各々について、その最終稼働通知時刻が記録されている。例えば、データ取得サーバ14の最終稼働通知時刻は「2008/08/05 11:40:36」であり、データ取得サーバ16の最終稼働通知時刻は「2008/08/05 11:35:00」であり、データ取得サーバ18の最終稼働通知時刻は「2008/08/05 11:20:00」である。「2008/08/05 11:40:36」は、2008年8月5日の午前11時40分36秒という時刻を表す。ここでは、正常に通信が行われたことを示す情報として、最終稼働通知時刻を記録しているが、「正常」又は「異常」の種別や「成功」又は「失敗」の種別を示す情報でもよい。
<データ取得サーバの構成>
図3はデータ取得サーバの構成の一例を示すブロック図である。なお、以下では、データ取得サーバ14の構成を説明するが、データ取得サーバ16、18の各々は、データ取得サーバ14と同様の構成であるため説明を省略する。また、以下では、データ取得サーバ14、16、18の各々を区別する必要が無い場合には、データ取得サーバ14等と総称する。データ取得サーバ14は、コンピュータ本体の外に、外部記憶装置やデータ入出力装置を含んで構成されている。また、中継サーバ10と同様に、表示装置、入力装置、各種ドライブを備えていてもよいが、ここでは図示を省略する。
データ取得サーバ14は、各部を制御する制御部56、ハードディスク等により構成され各種プログラムや各種データを記憶する記憶部58、データを検索可能な形態で蓄積するデータベース60、LAN接続用の通信I/F62、及びインターネット接続用の通信I/F64を備えている。これら各部は、バス76により相互に接続されて、データの授受が可能とされている。通信I/F62は、クライアント22A等と通信ネットワーク(LAN)20を介して通信するためのI/Fである。通信I/F64は、中継サーバ10と通信ネットワーク(インターネット)12を介して通信するためのI/Fである。
制御部56は、CPU66、ROM68、及びRAM70を備えている。記憶部58には、ポーリングプログラム71、稼働通知プログラム72、及びポーリング先リスト74が記憶されている。ポーリング先リスト74は、予め登録されたポーリング先を複数のデータ取得サーバに配分した結果を示すリストである。ポーリング先リスト74は、稼働通知に対する応答として、中継サーバ10から受信したポーリング先リストである。正常に通信が行われている場合には、ポーリング先リスト74は、中継サーバ10の記憶部34に記憶されたポーリング先リスト50と同じものになる。
<中継サーバの処理動作>
次に、中継サーバ10の処理動作について説明する。図6は中継サーバ10の制御部32で実行される処理ルーチンの概略を示すフローチャートである。図6に示すように、中継サーバ10は、ステップ100で、情報を受信したか否かを繰り返し判断する。情報を受信すると、肯定判定してステップ102に進み、ステップ102で、受信した情報がデータ取得サーバ14等から送信された稼働通知か否かを判断する。受信した情報が稼働通知である場合には、ステップ102で肯定判定してステップ104に進む。
ステップ104では、負荷配分プログラム48(図2参照)を起動して、予め登録されたポーリング先をデータ取得サーバに配分する「負荷配分処理」を行う。一方、受信した情報が稼働通知でない場合には、受信した情報はデータ取得サーバ14等で取得されたデータであるから、ステップ102で否定判定してステップ106に進む。ステップ106では、データ処理サーバ28、30の何れかにデータを転送してルーチンを終了する。
図7は負荷配分処理の処理ルーチンを示すフローチャートである。データ取得サーバ14等の各々は、例えば10分毎、15分毎というように、所定時間毎に中継サーバ10に稼働通知を送信している。中継サーバ10は、データ取得サーバ14等から稼働通知を受信する度に負荷配分処理を行い、受信した稼働通知に対する応答として、稼働通知を送信してきたデータ取得サーバ14等にポーリング先リストを送信する。
なお、データ取得サーバ14、16、18は各々バラバラに、所定時間毎に中継サーバ10に稼働通知を送信している。従って、最初は、稼働通知を送信してきた1つのデータ取得サーバに、予め登録されたポーリング先の全部が配分されるが、稼働通知を受信する度に負荷配分処理を行うことで、徐徐に平準化されて複数のデータ取得サーバ間で負荷が分散されるようになる。
まず、ステップ200で、稼働通知を送信してきたデータ取得サーバ14等の最終稼働通知時刻を書き換えて、稼働通知記録52を更新する。次に、ステップ202で、稼働通知記録52に基づいて、今回の稼働通知の最終稼働通知時刻から予め定めた時間内に稼働通知が受信されたデータ取得サーバを、通信障害が発生しておらず、正常に通信を行うことができるデータ取得サーバであると特定する。即ち、通信可能なデータ取得サーバであると特定する。この「サーバ特定処理」については後述する。
次に、ステップ204で、受信した稼働通知に対する応答として、データ取得サーバ14等に送信するポーリング先リストを準備する。この「リスト準備処理」については後述する。次に、ステップ206で、稼働通知を送信してきたデータ取得サーバ14等に、準備したポーリング先リストを送信して、ルーチンを終了する。
図8は「サーバ特定処理」のサブルーチンを示すフローチャートである。サーバ特定処理では、まず、ステップ208で、今回の稼働通知の最終稼働通知時刻から予め定めた時間以内に稼働通知が受信されなかったデータ取得サーバがあるか否かを判断する。所定時間以内に稼働通知が受信されなかったデータ取得サーバがある場合には、ステップ208で肯定判定されてステップ210に進む。ステップ210では、中継サーバ10とそのデータ取得サーバとの間で通信障害が発生したとみなして、そのデータ取得サーバを通信可能なデータ取得サーバから除外する。
次に、ステップ212で、除外されなかったデータ取得サーバを、通信可能なデータ取得サーバであると特定する。所定時間以内に稼働通知が受信されなかったデータ取得サーバが無い場合には、ステップ208で否定判定されてステップ212に進む。ステップ212では、除外されなかったデータ取得サーバを、通信可能なデータ取得サーバであると特定する。通信可能なデータ取得サーバの特定が終わると、「サーバ特定処理」のサブルーチンが終了する。
図10は図1に示すデータ取得管理システムにおいて通信障害が発生した状態を説明する図である。なお、データ処理サーバ28、30は省略している。図10に示した例では、×印で示したように、中継サーバ10とデータ取得サーバ18との間に在る通信ネットワーク12上で、通信障害80が発生している。この場合には、データ取得サーバ18から中継サーバ10に稼働通知を送信しても、通信障害80により中継サーバ10には稼働通知が届かない。中継サーバ10は、稼働通知記録52からこの状況を読み取る。
例えば、図5を参照して説明すると、データ取得サーバ14からの最新の稼働通知により、データ取得サーバ14の最終稼働通知時刻が「2008/08/05 11:40:36」に書き換えられて、稼働通知記録52が更新される。ここでは所定時間以内を15分以内とする。通信障害の検出精度を高めるためには、所定時間を短く設定すればよい。実用的な観点からは、5分〜20分程度の範囲とすることが好ましい。
最新の稼働通知の時刻「2008/08/05 11:40:36」から遡ること15分以内に稼働通知が受信されていないデータ取得サーバ18は、中継サーバ10とデータ取得サーバ18との間で通信障害が発生したものとみなされ、通信可能なデータ取得サーバから除外される。一方、15分以内に稼働通知が受信されたデータ取得サーバ14、16は、通信可能なデータ取得サーバであると特定される。
図9は「リスト準備処理」のサブルーチンを示すフローチャートである。リスト準備処理では、まず、ステップ214で、「サーバ特定処理」の結果、通信可能なデータ取得サーバの数が変動したか否かを判断する。通信可能なデータ取得サーバの数が減少又は増加した場合には、ステップ214で肯定判定してステップ216に進む。ステップ216では、ポーリング先リストを更新するために、記憶されている最新のポーリング先リストを読み出す。次に、ステップ218で、通信可能なデータ取得サーバの各々に予め登録されたポーリング先を再配分して、新しいポーリング先リストを作成する。この新しいポーリング先リストを、稼働通知に応答するためのポーリング先リストとして準備する。
一方、通信可能なデータ取得サーバの数が変動しない場合には、ステップ214で否定判定してステップ220に進む。ステップ220では、記憶されている最新のポーリング先リストを読み出す。通信可能なデータ取得サーバの数が変動しない場合には、再配分を行う必要が無いので、既存の最新のポーリング先リストを稼働通知に応答するためのポーリング先リストとして準備する。リストが準備されると、「リスト準備処理」のサブルーチンが終了する。
例えば、図5を参照して説明した通り、通信可能なデータ取得サーバの数が3個から2個に減少した場合には、図11に示すように、通信可能なデータ取得サーバ14、16の各々に、データ取得サーバ14、16、18の各々に配分されていた8個のポーリング先を再配分して、新しいポーリング先リスト50Aを作成する。この例では、各ポーリング先のポーリングによる負荷が等しいと仮定し、各データ取得サーバのポーリング先の数が均等になるように、データ取得サーバ14、16の各々に4個ずつポーリング先を配分して負荷を分散している。なお、中継サーバ10の記憶部34に記憶されたポーリング先リスト50は、新たに作成されたポーリング先リスト50Aにより更新される。
<データ取得サーバの処理動作>
次に、データ取得サーバ14等の処理動作について説明する。図12はポーリングの処理ルーチンを示すフローチャートである。データ取得サーバ14等は、複合機の親展ボックス等のポーリング先に対し、定期的にポーリングを行ってデータを取得するためのサーバである。データ取得サーバ14等の制御部56は、例えば1分毎というように、所定時間毎に「ポーリングプログラム」を起動させて、ポーリングを実行している。
ポーリングプログラムが起動されると、ステップ400で、ポーリング先に対してポーリング信号を送信する。ポーリング先からは、データ取得サーバ14等に対して送信要求が無い場合には終了信号が送信され、送信要求がある場合にはデータが送信される。次に、ステップ402で、ポーリング先からデータを受信したか否かを判断する。データを受信した場合は、ステップ402で肯定判定してステップ404に進み、ステップ404で取得したデータを中継サーバ10に送信してルーチンを終了する。一方、データを受信していない場合は、ステップ402で否定判定してルーチンを終了する。
図13は稼働通知の処理ルーチンを示すフローチャートである。データ取得サーバ14等の制御部56は、上述した通り、例えば10分毎、15分毎というように、所定時間毎に「稼働通知プログラム」を起動させて、中継サーバ10に稼働通知を送信している。稼働通知の送信は、ポーリングを行っていない空き時間を利用して、ポーリングとは非同期で実行される。
稼働通知プログラムが起動されると、まず、ステップ500で、中継サーバ10に対して稼働通知を送信する。データ取得サーバ14等と中継サーバ10との間で正常に通信が行われている場合には、データ取得サーバ14等は、稼働通知への応答として、中継サーバ10からポーリング先リストを間もなく受信する。従って、次のステップ502で、例えば5分以内等の所定時間内に、中継サーバ10からポーリング先リストを受信したか否かを判断する。
ポーリング先リストを受信した場合には、ステップ502で肯定判定してステップ504に進む。ステップ504では、記憶部58に記憶されているポーリング先リスト74を、受信したポーリング先リストに更新してルーチンを終了する。所定時間が経過してもポーリング先リストを受信しない場合には、ステップ502で否定判定してステップ506に進む。ステップ506では、データ取得サーバ14等と中継サーバ10との間で通信障害が発生したとみなして、ポーリングを停止してルーチンを終了する。
ステップ506でポーリングを停止することで、ポーリング先からデータを取得することもなくなる。従って、ポーリングを停止することで、データ取得サーバ14等で取得されたデータが、通信障害が解消するまで処理されないという事態が、事前に回避される。
(第2の実施の形態)
<データ取得管理システムの構成>
図14は本発明の第2の実施の形態に係るデータ取得管理システムの構成の一例を示す概略図である。このデータ取得管理システムは、共有記憶装置として共有ストレージ82を備える以外は、第1の実施の形態に係るデータ取得管理システムと同じ構成であるため、同じ構成部分には同じ符号を付して説明を省略する。
共有ストレージ82は、クライアント22A、22B、複合機24A、24Bの各々と並列に、LAN等の通信ネットワーク20を介して、データ取得サーバ14等と接続されている。共有ストレージ82は、ポーリング先の1つとして予め登録されている。
なお、共有ストレージ82とは、ネットワークに直接接続できるデータストレージ機器である。ファイルを共有できるようにしたハードディスクは、共有ディスクとも称される。共有ストレージ82としては、ハードディスクを内蔵し、ファイルサーバとしての機能を搭載する共有ディスク専用のNAS(Network Attached Storage)等を用いることができる。
図15は中継サーバ、データ取得サーバ及びそのポーリング先の間での通信シーケンスを示す図である。例えば、図10と同様に、中継サーバ10とデータ取得サーバ18との間で、ポーリング動作の途中で通信障害80が発生すると仮定する。データ取得サーバ18は、最初にポーリング先No1、次にポーリング先No2というように、配分されたポーリング先に対して順番にポーリングを行う。
ポーリング先No1は送信要求が無いので、データ取得サーバ18からポーリング信号を受信すると終了信号を返信する。ポーリング先No2は送信要求があるので、データ取得サーバ18からポーリング信号を受信するとデータを返信する。データ取得サーバ18がデータを受信した後で通信障害80が発生すると、取得されたデータ84はデータ取得サーバ14等に取り残され、中継サーバ10に直接送信することができなくなる。従って、他の経路により、取得されたデータ84を中継サーバ10に送信しなければならない。
<データ取得サーバの処理動作>
次に、データ取得サーバ14等の処理動作について説明する。データ取得サーバ14等のポーリングの処理ルーチンが異なる以外は、中継サーバ10の処理動作、データ取得サーバ14等の処理動作は、第1の実施の形態に係るデータ取得管理システムと同じ手順であるため説明を省略する。
図16は第2の実施の形態に係るポーリングの処理ルーチンを示すフローチャートである。データ取得サーバ14等の制御部56は、所定時間毎に「ポーリングプログラム」を起動させて、ポーリングを実行している。ポーリングプログラムが起動されると、ステップ600で、ポーリング先に対してポーリング信号を送信する。ポーリング先からは、データ取得サーバ14等に対して送信要求が無い場合には終了信号が送信され、送信要求がある場合にはデータが送信される。
次に、ステップ602で、ポーリング先からデータを受信したか否かを判断する。データを受信した場合は、ステップ602で肯定判定してステップ604に進み、ステップ604で取得したデータを中継サーバ10に送信する。一方、データを受信していない場合は、ステップ602で否定判定してルーチンを終了する。
次に、ステップ606で、中継サーバ10へのデータ送信が成功したか否かを判断する。中継サーバ10とデータ取得サーバ14等との間で通信障害が発生していると、データの送信もできなくなる。中継サーバ10へのデータ送信が成功すると、データ取得サーバ14等に対し「データ送信が完了した旨」が通知される(送信完了通知)。これに対し、中継サーバ10へのデータ送信が失敗すると、データ取得サーバ14等に対し「データが未送信である旨」が通知される(未送信通知)。
送信完了通知を受けた場合には、ステップ606で肯定判定してルーチンを終了する。一方、未送信通知を受けた場合には、ステップ606で否定判定してステップ608に進む。ステップ608では、中継サーバ10との間で通信障害が発生したものとみなして、取得したデータを共有ストレージ82に格納し、ルーチンを終了する。
図17はポーリング先リストの一例を示す図である。このポーリング先リスト50Bでは、9個のポーリング先のIPアドレスが、エントリー順に付番されて並べられている。ポーリング先のIPアドレスの各々は、データ取得サーバのIPアドレスと対応付けられている。この例では、共有ストレージ82は、エントリーNo.9のポーリング先として予め登録されており、データ取得サーバ18に配分されている。
図18は新しいポーリング先リストの一例を示す図である。例えば、図10と同様に、中継サーバ10とデータ取得サーバ18との間で通信障害80が発生すると仮定する。これにより、通信可能なデータ取得サーバ14、16に対しポーリング先が再配分されて、新しいポーリング先リスト50Cが作成される。この例では、エントリーNo.9の共有ストレージ82は、データ取得サーバ16に再配分されている。
この通り、共有ストレージ82はポーリング先の1つとして予め登録されているので、共有ストレージ82に格納されたデータは、通信可能な他のデータ取得サーバ14等によりポーリングされる。ポーリングにより取得されたデータは、停滞することなく中継サーバ10に送信され、中継サーバ10からデータ処理サーバ28、30等に転送される。
図19はポーリング先リストの変形例を示す図である。このポーリング先リスト50Dでは、9個のポーリング先のIPアドレスが付番されて並べられている。ポーリング先のIPアドレスの各々は、データ取得サーバのIPアドレスと対応付けられている。この例では、共有ストレージ82は、エントリーNo.4、エントリーNo.8、エントリーNo.11のポーリング先として予め登録されており、データ取得サーバ14、16、18の各々に配分されている。
共有ストレージ82をデータ取得サーバ14、16、18の各々に対しポーリング先として配分することで、共有ストレージ82に格納されたデータは、通信可能な何れかのデータ取得サーバ14等によりポーリングされる。ポーリングにより取得されたデータは、停滞することなく中継サーバ10に送信され、中継サーバ10からデータ処理サーバ28、30等に転送される。
(第3の実施の形態)
本発明の第3の実施の形態に係るデータ取得管理システムの構成は、本発明の第1の実施の形態に係るデータ取得管理システムの構成と同じであるため説明を省略する。また、第2の実施の形態と同様に、データ取得サーバ14等のポーリングの処理ルーチンが異なる以外は、中継サーバ10の処理動作、データ取得サーバ14等の処理動作は、第1の実施の形態に係るデータ取得管理システムと同じ手順であるため説明を省略する。
図10を参照して説明した通り、中継サーバ10とデータ取得サーバ18との間で通信障害が発生する場合には、通信ネットワーク(インターネット)12上で通信障害80が発生することになる。これに対し、データ取得サーバ14、データ取得サーバ16、及びデータ取得サーバ18の各々は、通信ネットワーク(LAN)20を介して相互に通信が可能である。
従って、図15を参照して説明したように、通信障害の発生により、取得されたデータ84がデータ取得サーバ18に取り残された場合には、取得されたデータ84を、通信可能な他のデータ取得サーバ14、16に転送して、中継サーバ10に送信すればよい。
図20は第3の実施の形態に係るポーリングの処理ルーチンを示すフローチャートである。ステップ600〜ステップ606までは、第2の実施の形態の図16に示す処理ルーチンと同じ手順であるため説明を省略する。第3の実施の形態では、ステップ606で、中継サーバ10へのデータ送信が成功したか否かを判断し、未送信通知を受けた場合には、ステップ606で否定判定してステップ610に進む。ステップ610では、中継サーバ10との間で通信障害が発生したものとみなして、取得したデータを通信可能な他のデータ取得サーバに転送し、ルーチンを終了する。
(変形例)
なお、上記の実施の形態では、複数のデータ取得サーバ14等の各々が所定時間毎に中継サーバ10に稼働通知を送信し、中継サーバ10がデータ取得サーバ14等から稼働通知を受信する度に負荷配分処理を行い、受信した稼働通知に対する応答としてポーリング先リストを送信する例について説明したが、逆に、中継サーバ10側で所定時間毎に負荷配分処理を行うようにしてもよい。この場合の中継サーバ10の処理動作について説明する。
図21は中継サーバ10の制御部32で実行される処理ルーチンの概略を示すフローチャートである。ステップ100、ステップ102、及びステップ106は、第1の実施の形態の図6に示す処理ルーチンと同じ手順であるため説明を省略する。図21に示すように、中継サーバ10は、ステップ102で、受信した情報がデータ取得サーバ14等から送信された稼働通知か否かを判断する。受信した情報が稼働通知である場合には、ステップ102で肯定判定してステップ108に進む。ステップ108では、稼働通知を送信してきたデータ取得サーバ14等の最終稼働通知時刻を書き換えて、稼働通知記録52を更新してルーチンを終了する。こうして、稼働通知を受信する度に、稼働通知記録52を更新する(図5参照)。
中継サーバ10の制御部32は、所定時間毎に負荷配分プログラム48(図2参照)を起動して、予め登録されたポーリング先をデータ取得サーバに配分する「負荷配分処理」を行う。図22は負荷配分処理の処理ルーチンを示すフローチャートである。中継サーバ10は、所定時間毎に負荷配分処理を行ってポーリング先リストを準備し、通信可能なデータ取得サーバ14等の各々にポーリング先リストを同時に送信する。
まず、ステップ300で、「負荷配分処理」を行う所定時間になったか否かを判断する。所定時間になれば、肯定判定して次のステップ302に進み、最新の稼働通知記録52を読み出す。次に、ステップ304で、稼働通知記録52に基づいて、現時点から予め定めた時間内に稼働通知が受信されたデータ取得サーバを、通信障害が発生しておらず、正常に通信を行うことができるデータ取得サーバであると特定する。即ち、通信可能なデータ取得サーバであると特定する。この「サーバ特定処理」については、図7のステップ202(即ち、図8の処理ルーチン)と同様に行う。
次に、ステップ306で、データ取得サーバ14等に送信するポーリング先リストを準備する(図4参照)。この「リスト準備処理」については、図7のステップ204(即ち、図9の処理ルーチン)と同様に行う。次に、ステップ308で、ステップ306により特定された通信可能なデータ取得サーバ14等の各々に、準備したポーリング先リストを送信して、ルーチンを終了する。
本発明の第1の実施の形態に係るデータ取得管理システムの構成の一例を示す概略図である。 中継サーバの構成の一例を示すブロック図である。 データ取得サーバの構成の一例を示すブロック図である。 ポーリング先リストの一例を示す図である。 稼働通知記録の一例を示す図である。 中継サーバの制御部で実行される処理ルーチンの概略を示すフローチャートである。 負荷配分処理の処理ルーチンを示すフローチャートである。 「サーバ特定処理」のサブルーチンを示すフローチャートである。 「リスト準備処理」のサブルーチンを示すフローチャートである。 図1に示すデータ取得管理システムにおいて通信障害が発生した状態を説明する図である。 ポーリング先リストの一例を示す図である。 ポーリングの処理ルーチンを示すフローチャートである。 稼働通知の処理ルーチンを示すフローチャートである。 本発明の第2の実施の形態に係るデータ取得管理システムの構成の一例を示す概略図である。 中継サーバ、データ取得サーバ及びそのポーリング先の間での通信シーケンスを示す図である。 第2の実施の形態に係るポーリングの処理ルーチンを示すフローチャートである。 ポーリング先リストの一例を示す図である。 新しいポーリング先リストの一例を示す図である。 ポーリング先リストの変形例を示す図である。 第3の実施の形態に係るポーリングの処理ルーチンを示すフローチャートである。 中継サーバの制御部で実行される処理ルーチンの概略を示すフローチャートである。 負荷配分処理の処理ルーチンを示すフローチャートである。
符号の説明
10 中継サーバ
12 通信ネットワーク
14 データ取得サーバ
16 データ取得サーバ
18 データ取得サーバ
20 通信ネットワーク
22A クライアント
22B クライアント
24A 複合機
24B 複合機
26 通信ネットワーク
28 データ処理サーバ
30 データ処理サーバ
32 制御部
34 記憶部
36 データベース
38 通信インターフェース
40 通信インターフェース
42 CPU
44 ROM
46 RAM
48 負荷配分プログラム
50 ポーリング先リスト
50A ポーリング先リスト
50B ポーリング先リスト
50C ポーリング先リスト
50D ポーリング先リスト
52 稼働通知記録
54 バス
56 制御部
58 記憶部
60 データベース
62 通信インターフェース
64 通信インターフェース
66 CPU
68 ROM
70 RAM
71 ポーリングプログラム
72 稼働通知プログラム
74 ポーリング先リスト
76 バス
80 通信障害
82 共有ストレージ
84 データ

Claims (9)

  1. 複数のデータ取得サーバの各々と通信する通信手段と、
    複数のデータ取得サーバの各々に対し予め登録されたポーリング先を配分した結果を示すポーリング先リストと、複数のデータ取得サーバの各々と正常に通信が行われたことを示す情報を記録した通信記録と、を記憶した記憶手段と、
    データ取得サーバと正常に通信が行われた場合に、前記通信記録を更新する通信記録更新手段と、
    更新された通信記録に基づいて、正常に通信を行うことができるデータ取得サーバを特定するサーバ特定手段と、
    前記サーバ特定手段による特定の結果、正常に通信を行うことができるデータ取得サーバの数が変動した場合には、正常に通信を行うことができる複数のデータ取得サーバの各々に対し予め登録されたポーリング先を再配分し、再配分の結果に応じてポーリング先リストを更新するリスト更新手段と、
    正常に通信が行われたデータ取得サーバに対し、ポーリング先リストが更新された場合には更新されたポーリング先リストが送信され、ポーリング先リストが更新されない場合には更新前のポーリング先リストが送信されるように、前記通信手段から送信される情報を制御するリスト送信制御手段と、
    を備えたデータ取得管理装置。
  2. 前記リスト更新手段は、正常に通信を行うことができる複数のデータ取得サーバの各々に対し、予め登録されたポーリング先を、ポーリングによる負荷が分散するように再配分する請求項1に記載のデータ取得管理装置。
  3. 前記サーバ特定手段は、前記更新された通信記録に基づいて、最後にデータ取得サーバと正常に通信が行われた時刻から予め定めた時間内に正常に通信を行ったデータ取得サーバは、正常に通信を行うことができるデータ取得サーバであると特定する請求項1または2に記載のデータ取得管理装置。
  4. 前記サーバ特定手段は、前記通信記録が更新される毎に、前記更新された通信記録に基づいて、正常に通信を行うことができるデータ取得サーバを特定する請求項1〜3のいずれか1項に記載のデータ取得管理装置。
  5. 請求項1〜4のいずれか1項に記載のデータ取得管理装置と、
    前記データ取得管理装置と通信する通信手段と、前記データ取得管理装置から受信したポーリング先リストを記憶した記憶手段と、前記ポーリング先リストに基づいてポーリングを行いポーリング先からデータを取得すると共に、取得されたデータを前記データ取得管理装置に送信するポーリング手段と、前記データ取得管理装置との通信が不能となった場合にポーリングを停止するポーリング停止手段と、を各々備えた複数のデータ取得サーバと、
    を含むデータ取得管理システム。
  6. 前記複数のデータ取得サーバの各々と通信可能に接続され且つ予めポーリング先として登録された共有記憶装置を更に備え、前記ポーリング手段は、前記データ取得管理装置との通信が不能となった場合に、ポーリング先から取得されたデータを前記共有記憶装置に格納する請求項5に記載のデータ取得管理システム。
  7. 前記複数のデータ取得サーバ同士が通信可能に接続され、前記ポーリング手段は、前記データ取得管理装置との通信が不能となった場合に、ポーリング先から取得されたデータを他のデータ取得サーバに転送する請求項5に記載のデータ取得管理システム。
  8. コンピュータを、請求項1〜4のいずれか1項に記載のデータ取得管理装置を構成する各手段として機能させるためのプログラム。
  9. コンピュータを、請求項5〜7のいずれか1項に記載のデータ取得管理システムに含まれる前記複数のデータ取得サーバの各々を構成する各手段として機能させるためのプログラム。
JP2008246828A 2008-09-25 2008-09-25 データ取得管理装置、データ取得管理システム及びプログラム Pending JP2010079581A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008246828A JP2010079581A (ja) 2008-09-25 2008-09-25 データ取得管理装置、データ取得管理システム及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008246828A JP2010079581A (ja) 2008-09-25 2008-09-25 データ取得管理装置、データ取得管理システム及びプログラム

Publications (1)

Publication Number Publication Date
JP2010079581A true JP2010079581A (ja) 2010-04-08

Family

ID=42209950

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008246828A Pending JP2010079581A (ja) 2008-09-25 2008-09-25 データ取得管理装置、データ取得管理システム及びプログラム

Country Status (1)

Country Link
JP (1) JP2010079581A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10963161B2 (en) 2018-08-28 2021-03-30 Hitachi, Ltd. Storage apparatus and its control method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0442632A (ja) * 1990-06-08 1992-02-13 Hitachi Ltd システム管理方式
JPH09160875A (ja) * 1995-12-08 1997-06-20 Nec Corp マルチエージェント相互バックアップ方式
JP2004221930A (ja) * 2003-01-15 2004-08-05 Kddi Corp 分散型ネットワークを管理する管理範囲決定方法、装置及びプログラム
JP2006340176A (ja) * 2005-06-03 2006-12-14 Nippon Telegr & Teleph Corp <Ntt> マルチキャストデータ転送方法及びシステム
JP2007122439A (ja) * 2005-10-28 2007-05-17 Kyocera Corp 通信装置および通信方法
JP2007164284A (ja) * 2005-12-09 2007-06-28 Mitsubishi Electric Corp 情報管理装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0442632A (ja) * 1990-06-08 1992-02-13 Hitachi Ltd システム管理方式
JPH09160875A (ja) * 1995-12-08 1997-06-20 Nec Corp マルチエージェント相互バックアップ方式
JP2004221930A (ja) * 2003-01-15 2004-08-05 Kddi Corp 分散型ネットワークを管理する管理範囲決定方法、装置及びプログラム
JP2006340176A (ja) * 2005-06-03 2006-12-14 Nippon Telegr & Teleph Corp <Ntt> マルチキャストデータ転送方法及びシステム
JP2007122439A (ja) * 2005-10-28 2007-05-17 Kyocera Corp 通信装置および通信方法
JP2007164284A (ja) * 2005-12-09 2007-06-28 Mitsubishi Electric Corp 情報管理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10963161B2 (en) 2018-08-28 2021-03-30 Hitachi, Ltd. Storage apparatus and its control method

Similar Documents

Publication Publication Date Title
US8553255B2 (en) Information processing apparatus, servers, data processing method, and computer-readable storage medium
CN102594858B (zh) 云存储环境中的镜像解决方案
US8266301B2 (en) Deployment of asynchronous agentless agent functionality in clustered environments
JP5979986B2 (ja) 配信システム及びその制御方法
US20160234129A1 (en) Communication system, queue management server, and communication method
US20180089055A1 (en) Method and apparatus for monitoring logs
CN105450753A (zh) 一种数据获取方法、目录服务器及分布式文件系统
JP3850859B2 (ja) ホール管理システム
JP2009151467A (ja) 配信印刷システム
JP5282569B2 (ja) 管理装置、管理システム、管理方法及び管理プログラム
JP5717887B1 (ja) 印刷システム、プリントサーバおよび印刷ジョブの投入方法
US9250841B2 (en) Print server, control method of print server, and storage medium
JP2013105237A (ja) ジョブ処理システム、ジョブ処理装置、負荷分散装置、ジョブ処理プログラムおよび負荷分散プログラム
US10298719B2 (en) Network system, and control method for network system
JP2009151470A (ja) 印刷制御装置および、印刷制御方法ならびに印刷制御方法を実行するプログラム
US9697064B2 (en) System, system control method, and storage medium
JP2010079581A (ja) データ取得管理装置、データ取得管理システム及びプログラム
JP6320073B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2017004502A (ja) 情報システムおよびアップデート方法
CN103530071B (zh) 打印控制装置和图像形成系统
JP2018124827A (ja) 第1のサーバー、第2のサーバー、システム、およびそれらの制御方法、並びにプログラム
JP2011170429A (ja) 印刷システム、印刷装置、プログラム、および記憶媒体
US8819465B2 (en) Information processing device and data distribution method
US20240256363A1 (en) Cluster, cluster management method, and cluster management program
JP7223591B2 (ja) データ移行管理装置、データ移行管理プログラム、およびデータ移行管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130806

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131210