特許第6237148号(P6237148)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士ゼロックス株式会社の特許一覧

<>
  • 特許6237148-中継装置、中継システム及びプログラム 図000002
  • 特許6237148-中継装置、中継システム及びプログラム 図000003
  • 特許6237148-中継装置、中継システム及びプログラム 図000004
  • 特許6237148-中継装置、中継システム及びプログラム 図000005
  • 特許6237148-中継装置、中継システム及びプログラム 図000006
  • 特許6237148-中継装置、中継システム及びプログラム 図000007
  • 特許6237148-中継装置、中継システム及びプログラム 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6237148
(24)【登録日】2017年11月10日
(45)【発行日】2017年11月29日
(54)【発明の名称】中継装置、中継システム及びプログラム
(51)【国際特許分類】
   G06F 12/00 20060101AFI20171120BHJP
   G06F 13/00 20060101ALI20171120BHJP
【FI】
   G06F12/00 545M
   G06F13/00 520C
   G06F13/00 520R
【請求項の数】8
【全頁数】13
(21)【出願番号】特願2013-239952(P2013-239952)
(22)【出願日】2013年11月20日
(65)【公開番号】特開2015-99544(P2015-99544A)
(43)【公開日】2015年5月28日
【審査請求日】2016年10月19日
(73)【特許権者】
【識別番号】000005496
【氏名又は名称】富士ゼロックス株式会社
(74)【代理人】
【識別番号】110000752
【氏名又は名称】特許業務法人朝日特許事務所
(72)【発明者】
【氏名】岸田 正吉
【審査官】 桜井 茂行
(56)【参考文献】
【文献】 特開2003−030081(JP,A)
【文献】 特開2009−225191(JP,A)
【文献】 米国特許出願公開第2009/0234930(US,A1)
【文献】 米国特許出願公開第2012/0311096(US,A1)
【文献】 特開2012−252709(JP,A)
【文献】 特開2005−276129(JP,A)
【文献】 特開2014−170458(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/00
G06F 13/00
G06F 3/06
(57)【特許請求の範囲】
【請求項1】
クライアント装置を介して入力され、当該クライアント装置から受信したデータを複数の格納装置に転送する第1の転送部と、
前記複数の格納装置に含まれる第1の格納装置への前記第1の転送部の転送による前記データの格納に失敗した場合には、前記複数の格納装置のうち前記データの格納に成功した複数の第2の格納装置を識別する識別情報を記憶する記憶部と
前記記憶部に記憶された前記識別情報により識別される前記複数の第2の格納装置の中から1の第2の格納装置を選択する選択部と
前記第1の格納装置へのデータの格納が可能な状態になったと判断されたときに、前記選択部により選択された前記1の第2の格納装置から前記データを取得する取得部と、
前記取得部によって取得された前記データを前記第1の格納装置に転送する第2の転送部と
を備える中継装置。
【請求項2】
記取得部は、前記複数の第2の格納装置に格納された前記データの更新状況に応じて、前記複数の第2の格納装置から1の第2の格納装置を選択する
請求項1に記載の中継装置。
【請求項3】
前記取得部は、前記複数の第2の格納装置から前記格納されたデータが最後に更新された日時を表す日時情報を取得し、当該取得した日時情報に基づいて、前記最後に更新された日時が最も古いデータを格納する1の第2の格納装置を前記複数の格納装置から選択する
請求項2に記載の中継装置。
【請求項4】
前記取得部は、前記複数の第2の格納装置から前記格納されたデータの容量を取得し、当該取得した容量に基づいて、前記第1の転送部により転送された前記データの容量との差異が最も小さいデータを格納する1の第2の格納装置を前記複数の第2の格納装置から選択する
請求項2に記載の中継装置。
【請求項5】
クライアント装置を介して入力され、当該クライアント装置から受信したデータを複数の格納装置に転送する第1の転送部と、
前記複数の格納装置に含まれる第1の格納装置への前記第1の転送部の転送による前記データの格納に失敗した場合には、前記複数の格納装置のうち前記第1の転送部により転送された前記データを格納する複数の第2の格納装置から前記格納されたデータが最後に更新された日時を表す日時情報を取得し、当該取得した日時情報に基づいて、前記最後に更新された日時が最も古いデータを格納する1の第2の格納装置を前記複数の格納装置から選択し、当該第1の格納装置へのデータの格納が可能な状態になったと判断されたときに、当該選択した1の第2の格納装置から前記データを取得する取得部と、
前記取得部によって取得された前記データを前記第1の格納装置に転送する第2の転送部と
を備える中継装置。
【請求項6】
クライアント装置を介して入力され、当該クライアント装置から受信したデータを複数の格納装置に転送する第1の転送部と、
前記複数の格納装置に含まれる第1の格納装置への前記第1の転送部の転送による前記データの格納に失敗した場合には、前記複数の格納装置のうち前記第1の転送部により転送された前記データを格納する複数の第2の格納装置から前記格納されたデータの容量を取得し、当該取得した容量に基づいて、前記第1の転送部により転送された前記データの容量との差異が最も小さいデータを格納する1の第2の格納装置を前記複数の第2の格納装置から選択し、当該第1の格納装置へのデータの格納が可能な状態になったと判断されたときに、当該選択した1の第2の格納装置から前記データを取得する取得部と、
前記取得部によって取得された前記データを前記第1の格納装置に転送する第2の転送部と
を備える中継装置。
【請求項7】
クライアント装置と、中継装置とを備え、
前記クライアント装置は、入力されたデータを前記中継装置に送信し、
前記中継装置は、
前記クライアント装置から受信したデータを複数の格納装置に転送する第1の転送部と、
前記複数の格納装置に含まれる第1の格納装置への前記第1の転送部の転送による前記データの格納に失敗した場合には、前記複数の格納装置のうち前記データの格納に成功した複数の第2の格納装置を識別する識別情報を記憶する記憶部と、
前記記憶部に記憶された前記識別情報により識別される前記複数の第2の格納装置の中から1の第2の格納装置を選択する選択部と、
前記第1の格納装置へのデータの格納が可能な状態になったと判断されたときに、前記選択部により選択された前記1の第2の格納装置から前記データを取得する取得部と、
前記取得部によって取得された前記データを前記第1の格納装置に転送する第2の転送部とを備える
中継システム。
【請求項8】
コンピュータに、
クライアント装置を介して入力され、当該クライアント装置から受信したデータを複数の格納装置に転送するステップと、
前記複数の格納装置に含まれる第1の格納装置への転送による前記データの格納に失敗した場合には、前記複数の格納装置のうち前記データの格納に成功した複数の第2の格納装置を識別する識別情報を記憶部に記憶するステップと、
前記記憶部に記憶された前記識別情報により識別される前記複数の第2の格納装置の中から1の第2の格納装置を選択するステップと、
前記第1の格納装置へのデータの格納が可能な状態になったと判断されたときに、前記選択された1の第2の格納装置から前記データを取得するステップと、
前記取得されたデータを前記第1の格納装置に転送するステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、中継装置、中継システム及びプログラムに関する。
【背景技術】
【0002】
データの送信にエラーが発生したときに、データを再送する技術が知られている。例えば、特許文献1には、ファクリミリ装置間の画情報の送受信において、受信側ファクシミリ装置の話中又は接続不可を検出すると、ファクシミリ通信動作を中断し、受信側ファクシミリ装置が受信可能になった時点で、画情報を受信側ファクシミリ装置に送信することが記載されている。特許文献2には、サーバとクライアントとの間のデータの送受信を中継する中継処理装置において、サーバがダウンしている場合には、クライアントから受信したリクエストデータをキューに貯め、サーバがダウンから復帰した場合に、キューに貯めておいたリクエストデータをサーバに送信することが記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−121672号公報
【特許文献2】特開2012−068995号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、格納装置へのデータの格納に失敗した場合に、このデータを中継装置で保持することなく、格納装置へのデータの格納が可能な状態になったときに中継装置から格納装置にデータを再送することを目的とする。
【課題を解決するための手段】
【0005】
請求項1に係る発明は、クライアント装置を介して入力され、当該クライアント装置から受信したデータを複数の格納装置に転送する第1の転送部と、前記複数の格納装置に含まれる第1の格納装置への前記第1転送部の転送による前記データの格納に失敗した場合には、前記複数の格納装置のうち前記データの格納に成功した複数の第2の格納装置を識別する識別情報を記憶する記憶部と前記記憶部に記憶された前記識別情報により識別される前記複数の第2の格納装置の中から1の第2の格納装置を選択する選択部と前記第1の格納装置へのデータの格納が可能な状態になったと判断されたときに、前記選択部により選択された前記1の第2の格納装置から前記データを取得する取得部と、前記取得部によって取得された前記データを前記第1の格納装置に転送する第2の転送部とを備える中継装置を提供する。
【0006】
請求項2に係る発明は、請求項1に記載の中継装置において、記取得部は、前記複数の第2の格納装置に格納された前記データの更新状況に応じて、前記複数の第2の格納装置から1の第2の格納装置を選択する。
【0007】
請求項3に係る発明は、請求項2に記載の中継装置において、前記取得部は、前記複数の第2の格納装置から前記格納されたデータが最後に更新された日時を表す日時情報を取得し、当該取得した日時情報に基づいて、前記最後に更新された日時が最も古いデータを格納する1の第2の格納装置を前記複数の格納装置から選択する。
【0008】
請求項4に係る発明は、請求項2に記載の中継装置において、前記取得部は、前記複数の第2の格納装置から前記格納されたデータの容量を取得し、当該取得した容量に基づいて、前記第1の転送部により転送された前記データの容量との差異が最も小さいデータを格納する1の第2の格納装置を前記複数の第2の格納装置から選択する。
【0009】
請求項5に係る発明は、クライアント装置を介して入力され、当該クライアント装置から受信したデータを複数の格納装置に転送する第1の転送部と、前記複数の格納装置に含まれる第1の格納装置への前記第1の転送部の転送による前記データの格納に失敗した場合には、前記複数の格納装置のうち前記第1の転送部により転送された前記データを格納する複数の第2の格納装置から前記格納されたデータが最後に更新された日時を表す日時情報を取得し、当該取得した日時情報に基づいて、前記最後に更新された日時が最も古いデータを格納する1の第2の格納装置を前記複数の格納装置から選択し、当該第1の格納装置へのデータの格納が可能な状態になったと判断されたときに、当該選択した1の第2の格納装置から前記データを取得する取得部と、前記取得部によって取得された前記データを前記第1の格納装置に転送する第2の転送部とを備える中継装置を提供する。
請求項6に係る発明は、クライアント装置を介して入力され、当該クライアント装置から受信したデータを複数の格納装置に転送する第1の転送部と、前記複数の格納装置に含まれる第1の格納装置への前記第1の転送部の転送による前記データの格納に失敗した場合には、前記複数の格納装置のうち前記第1の転送部により転送された前記データを格納する複数の第2の格納装置から前記格納されたデータの容量を取得し、当該取得した容量に基づいて、前記第1の転送部により転送された前記データの容量との差異が最も小さいデータを格納する1の第2の格納装置を前記複数の第2の格納装置から選択し、当該第1の格納装置へのデータの格納が可能な状態になったと判断されたときに、当該選択した1の第2の格納装置から前記データを取得する取得部と、前記取得部によって取得された前記データを前記第1の格納装置に転送する第2の転送部とを備える中継装置を提供する。
請求項7に係る発明は、クライアント装置と、中継装置とを備え、前記クライアント装置は、入力されたデータを前記中継装置に送信し、前記中継装置は、前記クライアント装置から受信したデータを複数の格納装置に転送する第1の転送部と、前記複数の格納装置に含まれる第1の格納装置への前記第1の転送部の転送による前記データの格納に失敗した場合には、前記複数の格納装置のうち前記データの格納に成功した複数の第2の格納装置を識別する識別情報を記憶する記憶部と、前記記憶部に記憶された前記識別情報により識別される前記複数の第2の格納装置の中から1の第2の格納装置を選択する選択部と、前記第1の格納装置へのデータの格納が可能な状態になったと判断されたときに、前記選択部により選択された前記1の第2の格納装置から前記データを取得する取得部と、前記取得部によって取得された前記データを前記第1の格納装置に転送する第2の転送部とを備える中継システムを提供する。
【0010】
請求項8に係る発明は、コンピュータに、クライアント装置を介して入力され、当該クライアント装置から受信したデータを複数の格納装置に転送するステップと、前記複数の格納装置に含まれる第1の格納装置への転送による前記データの格納に失敗した場合には、前記複数の格納装置のうち前記データの格納に成功した複数の第2の格納装置を識別する識別情報を記憶部に記憶するステップと、前記記憶部に記憶された前記識別情報により識別される前記複数の第2の格納装置の中から1の第2の格納装置を選択するステップと、前記第1の格納装置へのデータの格納が可能な状態になったと判断されたときに、前記選択された1の第2の格納装置から前記データを取得するステップと、前記取得されたデータを前記第1の格納装置に転送するステップとを実行させるためのプログラムを提供する。
【発明の効果】
【0011】
請求項1に係る発明によれば、格納装置へのデータの格納に失敗した場合に、このデータを中継装置で保持することなく、格納装置へのデータの格納が可能な状態になったときに中継装置から格納装置にデータを再送することができる。
請求項2に係る発明によれば、データの更新状況に応じて、格納装置に再送するデータを選択することができる。
請求項3または請求項5に係る発明によれば、元のデータから変更が少ないデータを格納装置に再送することができる。
請求項4または請求項6に係る発明によれば、元のデータから変更が少ないデータを格納装置に再送することができる。
請求項に係る発明によれば、格納装置へのデータの格納に失敗した場合に、このデータを中継装置で保持することなく、格納装置へのデータの格納が可能な状態になったときに中継装置から格納装置にデータを再送することができる。
請求項に係る発明によれば、格納装置へのデータの格納に失敗した場合に、このデータを中継装置で保持することなく、格納装置へのデータの格納が可能な状態になったときに中継装置から格納装置にデータを再送することができる。
【図面の簡単な説明】
【0012】
図1】実施形態に係る中継システムの全体構成を示す図である。
図2】クライアント装置のハードウェア構成を示す図である。
図3】中継装置のハードウェア構成を示す図である。
図4】トークン管理テーブルの一例を示す図である。
図5】失敗情報テーブルの一例を示す図である。
図6】中継システムの機能構成を示す図である。
図7】中継システムの動作を示すシーケンス図である。
【発明を実施するための形態】
【0013】
1.構成
(1)システム全体の構成
図1は、本実施形態に係る中継システム1の全体構成を示す図である。中継システム1は、格納装置10A、10B及び10Cと、複数のクライアント装置20と、中継装置30とを備える。なお、以下の説明では、格納装置10A、10B及び10Cを区別する必要がない場合には、これらを総称して「格納装置10」という。
【0014】
格納装置10、クライアント装置20及び中継装置30は、インターネット等の通信回線2を介して接続される。なお、クライアント装置20は、LAN(Local Area Network)等の別の通信回線を介して通信回線2に接続されてもよい。
【0015】
格納装置10は、データを保存するサービスを提供する。このサービスは、いわゆるクラウドサービスであってもよい。格納装置10にアクセスするには、格納装置10にアクセスする権限を示すトークンが必要となる。
【0016】
クライアント装置20は、ユーザが格納装置10から提供されるサービスを利用するときに用いられる。クライアント装置20には、例えばパーソナルコンピュータ、タブレット型コンピュータ、画像処理装置等の装置が含まれる。この画像処理装置は、スキャナ機能の他、コピー機能、プリント機能、ファクシミリ機能等の複数の機能を有していてもよい。
【0017】
中継装置30は、クライアント装置20と格納装置10との間のデータのやり取りを中継する機能を有する。中継装置30を中継してデータをやり取りすることにより、中継装置30にログインするだけで、複数の格納装置10から提供されるサービスの利用が実現される。
【0018】
(2)クライアント装置20のハードウェア構成
図2は、クライアント装置20のハードウェア構成を示す図である。クライアント装置20は、制御部21と、通信部22と、操作部23と、表示部24と、記憶部25とを備える。
【0019】
制御部21は、例えばCPU(Central Processing Unit)とメモリとを備え、クライアント装置20の各部を制御する。CPUは、メモリ又は記憶部25に記憶されたプログラムを実行する。メモリは、例えばROM(Read Only Memory)とRAM(Random Access Memory)とを備える。ROMは、予めプログラムやデータを記憶する。RAMは、プログラムやデータを一時的に記憶し、CPUがプログラムを実行する際の作業領域として用いられる。
【0020】
通信部22は、通信回線2に接続される通信用のインタフェースである。通信部22は、通信回線2を介して中継装置30と通信を行う。操作部23は、例えば各種のキー又はタッチパネルを備え、ユーザの操作に応じた情報を制御部21に入力する。表示部24は、例えば液晶ディスプレイを備え、各種の情報を表示する。記憶部25は、例えばハードディスク又はフラッシュメモリを備え、制御部21により用いられる各種のプログラムやデータを記憶する。
【0021】
なお、クライアント装置20が画像処理装置である場合には、図2に示す構成の他に、画像読取部と画像形成部とを備えてもよい。画像読取部は、例えばイメージスキャナを備え、原稿の画像を読み取って画像データを生成する。画像形成部は、例えば電子写真方式のプリントエンジンを備え、画像データに応じた画像を用紙等の媒体に形成する。
【0022】
(3)中継装置30のハードウェア構成
図3は、中継装置30のハードウェア構成を示す図である。中継装置30は、制御部31と、通信部32と、記憶部33とを備える。
【0023】
制御部31は、例えばCPUとメモリとを備え、中継装置30の各部を制御する。CPUは、メモリ又は記憶部33に記憶されたプログラムを実行する。メモリは、例えばROMとRAMとを備える。ROMは、予めプログラムやデータを記憶する。RAMは、プログラムやデータを一時的に記憶し、CPUがプログラムを実行する際の作業領域として用いられる。
【0024】
通信部32は、通信回線2に接続される通信用のインタフェースである。通信部32は、通信回線2を介してクライアント装置20や格納装置10と通信を行う。記憶部33は、例えばハードディスクを備え、制御部31により用いられる各種のプログラムやデータを記憶する。また、記憶部33は、トークンを管理するトークン管理テーブル331と、データの格納失敗に関する情報を管理する失敗情報テーブル332とを記憶する。
【0025】
図4は、トークン管理テーブル331の一例を示す図である。トークン管理テーブル331には、ユーザIDと、トークンとが対応付けて格納される。ユーザIDは、中継装置30を利用するユーザの識別情報である。トークンは、格納装置10にアクセスする権限を示す情報である。トークンは、ユーザ毎に発行され、予めトークン管理テーブル331に格納される。
【0026】
図5は、失敗情報テーブル332の一例を示す図である。失敗情報テーブル332には、データIDと、原因種別と、成功した格納装置10のIDと、失敗した格納装置10のIDと、登録日時とが対応付けて格納される。データIDは、格納に失敗したデータの識別情報である。原因種別は、格納に失敗した原因を示す情報である。成功した格納装置10のIDは、データの格納に成功した格納装置10の識別情報である。失敗した格納装置10のIDは、データの格納に失敗した格納装置10の識別情報である。図5に示す「ServiceA」、「ServiceB」及び「ServiceC」というIDは、それぞれ、格納装置10A、10B及び10Cの識別情報である。登録日時は、データの格納に成功した格納装置10にデータが格納された日時である。なお、中継装置30から格納装置10にデータを転送した日時が登録日時として用いられてもよい。
【0027】
(4)システムの機能構成
図6は、中継システム1の機能構成を示す図である。中継装置30は、第1の転送部311と、管理部312と、判断部313と、取得部314と、第2の転送部315という機能を有する。これらの機能は、例えば制御部31のCPUがプログラムを実行することにより実現される。第1の転送部311は、クライアント装置20を介して入力され、このクライアント装置20から受信したデータを複数の格納装置10に転送する。判断部313は、複数の格納装置10に含まれる第1の格納装置10へのデータの格納に失敗したときに、第1の格納装置10へのデータの格納が可能な状態になったか否かを判断する。取得部314は、判断部313により第1の格納装置10へのデータの格納が可能な状態になったと判断されたときに、複数の格納装置10のうち第1の転送部311により転送されたデータを格納する第2の格納装置10からこのデータを取得する。第2の転送部315は、取得部314によって取得されたデータを第1の格納装置10に転送する。
【0028】
2.動作
次に、中継システム1の動作について説明する。中継システム1では、クライアント装置20を介して入力されたデータが、中継装置30を介して格納装置10に格納される。このとき、中継装置30は、クライアント装置20を介して入力されたデータを、予め指定された複数の格納装置10に送信するマルチセンドを行う。このマルチセンドは、例えばデータをバックアップする場合や他のユーザに公開する場合に有用である。
【0029】
図7は、中継システム1の動作を示すシーケンス図である。ここでは、ユーザは、予め中継装置30にログインしているものとする。この場合、中継装置30のメモリには、このユーザのユーザIDが記憶される。このユーザIDは、ログインユーザのユーザIDとして用いられる。ここでは、「ユーザU1」というユーザIDがメモリに記憶されているものとする。
【0030】
格納装置10にデータを格納する場合、ユーザは、操作部23を用いた操作により、格納装置10に格納するデータを選択し、データの格納を指示する。このデータは、例えばクライアント装置20で作成された文書データや表データであってもよいし、クライアント装置20が画像処理装置である場合には、原稿の画像を読み取ることにより生成される画像データであってもよい。
【0031】
ステップS101において、クライアント装置20は、ユーザにより選択されたデータを含む格納要求を、通信部22を介して中継装置30に送信する。中継装置30は、通信部32を介してこの格納要求を受信する。
【0032】
ステップS102において、中継装置30の第1の転送部311は、クライアント装置20から受信した格納要求を、通信部32を介して予め指定された格納装置10に転送する。ここでは、格納装置10A〜10Cが予め指定されているものとする。
【0033】
具体的には、第1の転送部311は、まずメモリに記憶されたログインユーザのユーザIDと対応付けて格納されたトークンをトークン管理テーブル331から読み出す。例えば、図4に示すように、ログインユーザのユーザID「ユーザU1」と対応付けて、格納装置10AのトークンA1、格納装置10BのトークンB1及び格納装置10CのトークンC1が格納されている場合には、トークンA1、トークンB1及びトークンC1がトークン管理テーブル331から読み出される。
【0034】
続いて、第1の転送部311は、トークン管理テーブル331から読み出したトークンを用いて格納装置10A〜10Cにアクセスする。この例では、トークンA1、トークンB1及びトークンC1を用いて格納装置10A、10B及び10Cへのアクセスが行われる。ここで、格納装置10A及び10Bへのアクセスは許可されるが、格納装置10Cにはアクセスができない場合を想定する。この場合、格納装置10A及び10Bには、格納要求が転送され、この格納要求に応じてデータが格納される。一方、格納装置10Cへのデータの格納は失敗する。
【0035】
データの格納に失敗する原因としては、例えばシステムダウン、トークンの有効期限切れ、ストレージフルがある。システムダウンとは、格納装置10の動作が停止した状態をいう。トークンの有効期限切れとは、格納装置10にアクセスするためのトークンの有効期限が切れた状態をいう。ストレージフルとは、格納装置10のデータ格納容量が上限に達した状態をいう。
【0036】
データの格納に失敗する原因は、例えばステップS102で転送された格納要求に応じて格納装置10から送られてくる情報又は格納装置10からの応答の有無に基づいて判定される。例えば格納装置10から応答がない場合には、格納装置10の動作が停止していると考えられる。この場合、データの格納に失敗した原因としてシステムダウンが判定される。また、格納装置10からデータの格納容量が上限に達したことを示す情報が送られてきた場合には、データの格納に失敗した原因としてストレージフルが判定される。同様に、格納装置10からトークンの有効期限が切れていることを示す情報が送られてきた場合には、データの格納に失敗した原因としてトークンの有効切れが判定される。ステップS102でデータの格納に失敗した場合、中継装置30はステップS103に進む。
【0037】
ステップS103において、管理部312は、データの格納失敗に関する情報を失敗情報テーブル332に格納する。具体的には、管理部312は、失敗情報テーブル332にレコードを追加して、格納に失敗したデータのIDと、その原因を示す原因種別と、データの格納に成功した格納装置10のIDと、データの格納に失敗した格納装置10のIDと、登録日時とをこのレコードに格納する。
【0038】
例えば、「文書D1」というデータIDが付与されたデータの格納に失敗した場合には、図5に示す1行目のレコードのように、データIDとして「文書D1」が格納される。また、データの格納に失敗した原因がシステムダウンである場合には、図5に示す1行目のレコードのように、原因種別として「システムダウン」が格納される。また、格納装置10A及び10Bへのデータの格納に成功し、格納装置10Cへのデータの格納に失敗した場合には、図5に示す1行目のレコードのように、成功した格納装置10のIDとして「ServiceA」及び「ServiceB」が格納され、失敗した格納装置10のIDとして「ServiceC」が格納される。また、格納装置10A及び10Bへのデータの格納された日時が2013年1月10日10時00分である場合には、登録日時として「2013−01−10 10:00」が格納される。
【0039】
ステップS104において、判断部313は、データの格納に失敗した格納装置10の状態又はトークン管理テーブル331に格納されたトークンの状態を監視し、データの格納が可能な状態に復旧したか否かを判断する。
【0040】
例えば、データの格納に失敗した原因がシステムダウンである場合には、格納装置10の稼動状態が監視され、格納装置10が動作を開始したときに、データの格納が可能な状態に復旧したと判断される。また、データの格納に失敗した原因がストレージフルである場合には、格納装置10のデータ格納容量が監視され、格納装置10のデータ格納容量に空きが生じたときに、データの格納が可能な状態に復旧したと判断される。一方、データの格納に失敗した原因がトークンの有効期限切れである場合には、トークン管理テーブル331に格納されたトークンの状態が監視され、有効期限内の新たなトークンがトークン管理テーブル331に格納されたときに、データの格納が可能な状態に復旧したと判断される。
【0041】
例えば、図5に示す1行目のレコードのように、原因種別「システムダウン」及び失敗した格納装置のID「ServiceC」が格納されている場合には、システムダウンにより格納装置10へのデータの格納に失敗しているため、格納装置10Cの稼動状態が監視される。この稼動状態の監視は、例えば予め定められた時間間隔で格納装置10Cに応答要求を送信し、格納装置10Cからの応答の有無を確認することにより行われる。格納装置10Cの動作が停止している間は、格納装置10Cから応答がない。この場合、データの格納が可能な状態に復旧していないと判断される。一方、格納装置10Cがシステムダウンから復旧し、動作を開始すると、中継装置30からの応答要求に応じて格納装置10Cから応答が返ってくる。この場合、データの格納が可能な状態に復旧したと判断される。なお、ステップS104の処理は、失敗情報テーブル332のレコード毎に、個別に行われる。
【0042】
ステップS105において、取得部314は、復旧した格納装置10が格納すべきデータを、そのデータの格納に成功した格納装置10から取得する。
【0043】
具体的には、取得部314は、失敗情報テーブル332に基づいて、データの格納に成功した格納装置10をデータの取得先として選択する。例えば、図5に示す1行目のレコードのように、転送に成功した格納装置10のID「ServiceA」及び「ServiceB」が格納されている場合には、格納装置10A及び10Bのいずれかがデータの取得先として選択される。本実施形態では、例えば予め定められた条件を満たす方が選択されてもよいし、ランダムに選択されてもよい。ここでは、格納装置10Bが選択されたものとする。
【0044】
続いて、取得部314は、復旧した格納装置10が格納すべきデータの取得要求を、通信部32を介して選択された格納装置10に送信する。例えば、図5に示す1行目のレコードのように、文書ID「文書D1」が格納されている場合には、このIDが付与されたデータの取得要求が格納装置10Bに送信される。格納装置10Bは、中継装置30から受信した取得要求に応じて、「文書D1」というIDが付与されたデータを中継装置30に送信する。中継装置30は、通信部32を介してこのデータを受信する。
【0045】
ステップS106において、第2の転送部315は、ステップS105で取得したデータを含む格納要求を、通信部32を介して復旧した格納装置10に送信する。具体的には、第2の転送部315は、まずトークン管理テーブル331から、メモリに記憶されたログインユーザのユーザIDと対応付けて格納された、復旧した格納装置10のトークンを読み出す。例えば、図4に示すように、ログインユーザのユーザID「ユーザU1」と対応付けて格納装置10CのトークンC1が格納されている場合には、トークンC1がトークン管理テーブル331から読み出される。
【0046】
続いて、第2の転送部315は、トークン管理テーブル331から読み出したトークンを用いて、復旧した格納装置10にアクセスする。この例では、トークンC1を用いて格納装置10Cへのアクセスが行われる。このとき、格納装置10Cは、既にシステムダウンから復旧しているため、中継装置30からのアクセスを許可する。
【0047】
続いて、第2の転送部315は、ステップS105にて取得したデータを含む格納要求を、通信部32を介して復旧した格納装置10に送信する。この例では、「文書D1」というIDが付与されたデータを含む格納要求が格納装置10Cに送信される。これにより、格納装置10Cにこのデータが格納される。
【0048】
以上説明した実施形態によれば、格納装置10へのデータの格納に失敗した場合には、データの格納が可能な状態になったときに格納装置10にデータが再送される。このとき、ユーザの操作によらずデータが再送されるため、データの再送に関わる煩雑な操作が必要ない。また、データの格納が可能な状態に復旧するまでの間、格納に失敗したデータが中継装置30で保持されないため、中継装置30にこのデータを保持するための格納場所を確保する必要がない。
【0049】
3.変形例
上述した実施形態は、本発明の一例である。この実施形態は、以下のように変形してもよい。また、以下の変形例は、互いに組み合わせてもよい。
【0050】
(1)ステップS102で格納装置10A及び10Bに格納されたデータは、その後更新される場合があるが、ステップS106で復旧した格納装置10Cに転送するデータは、更新されていない又は更新が少ないデータの方が好ましい。そこで、ステップS105でデータを取得するときに、格納装置10に格納されたデータの更新状況に応じてデータの取得先が選択されてもよい。
【0051】
例えば、取得部314は、データの格納に成功した格納装置10が複数ある場合には、これらの格納装置10に格納されたデータが最後に更新された日時に基づいて、データの取得先を選択してもよい。この場合、取得部314は、データの格納に成功した複数の格納装置10から、取得対象となるデータが最後に更新された日時を表す日時情報を取得する。続いて、取得部314は、取得した日時情報に基づいて、最後に更新された日時が最も古いデータを格納する1の格納装置10を選択する。これは、最後に更新された日時が最も古いデータは、更新されていない可能性が高いと考えられるからである。
【0052】
例えば、格納装置10Aから取得した日時情報が「2013−01−10 10:20」であり、格納装置10Bから取得した日時情報が「2013−01−10 10:00」である場合には、格納装置10Bに格納されたデータの方が最後に更新された日時が古いため、格納装置10Bが選択される。この場合、ステップS105では、格納装置10Bからデータが取得される。
【0053】
もしくは、取得部314は、格納装置10から取得した日時情報に基づいて、失敗情報テーブル332に格納された登録日時と同じ日時に最後に更新されたデータを格納する格納装置10を選択してもよい。
【0054】
または、取得部314は、データの格納に成功した格納装置10が複数ある場合には、これらの格納装置10に格納されたデータの容量に基づいて、データの取得先を選択してもよい。この場合、失敗情報テーブル332には、図5に示す情報に加えて、格納に失敗したデータの容量が格納される。取得部314は、データの格納に成功した複数の格納装置10から、取得対象となるデータの容量を取得する。このデータの容量は、例えばファイルサイズである。続いて、取得部314は、取得した容量に基づいて、第1の転送部311により転送されたデータの容量との差異が最も小さいデータを格納する1の格納装置10を選択する。これは、第1の転送部311により転送されたデータの容量との差異が最も小さいデータは、更新されていない可能性が高いと考えられるからである。
【0055】
例えば、失敗情報テーブル332に格納されたデータの容量が「114KB」であり、格納装置10Aから取得されたデータの容量が「150KB」であり、格納装置10Bから取得されたデータの容量が「114KB」である場合には、格納装置10Bに格納されたデータの方が第1の転送部311により転送されたデータの容量との差異が小さいため、格納装置10Bが選択される。この場合、ステップS105では、格納装置10Bからデータが取得される。
【0056】
もしくは、取得部314は、格納装置10から取得したデータの容量に基づいて、失敗情報テーブル332に格納されたデータの容量と同じ容量のデータを格納する格納装置10を選択してもよい。
【0057】
(2)上述した実施形態において、クライアント装置20の制御部21により実行されるプログラム及び中継装置30の制御部31により実行されるプログラムは、インターネットなどの通信回線を介してダウンロードされてもよい。また、このプログラムは、磁気記録媒体(磁気テープ、磁気ディスクなど)、光記録媒体(光ディスクなど)、光磁気記録媒体、半導体メモリなどの、コンピュータが読取可能な記録媒体に記録した状態で提供されてもよい。
【符号の説明】
【0058】
1…中継システム、10…格納装置、20…クライアント装置、30…中継装置、311…第1の転送部、312…管理部、313…判断部、314…取得部、315…第2の転送部。
図1
図2
図3
図4
図5
図6
図7