JP6322592B2 - 転送装置および復旧制御装置 - Google Patents

転送装置および復旧制御装置 Download PDF

Info

Publication number
JP6322592B2
JP6322592B2 JP2015028668A JP2015028668A JP6322592B2 JP 6322592 B2 JP6322592 B2 JP 6322592B2 JP 2015028668 A JP2015028668 A JP 2015028668A JP 2015028668 A JP2015028668 A JP 2015028668A JP 6322592 B2 JP6322592 B2 JP 6322592B2
Authority
JP
Japan
Prior art keywords
transfer
information base
transfer information
information
flag
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.)
Active
Application number
JP2015028668A
Other languages
English (en)
Other versions
JP2016152492A (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.)
Alaxala Networks Corp
Original Assignee
Alaxala Networks Corp
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 Alaxala Networks Corp filed Critical Alaxala Networks Corp
Priority to JP2015028668A priority Critical patent/JP6322592B2/ja
Priority to US14/857,951 priority patent/US10082967B2/en
Publication of JP2016152492A publication Critical patent/JP2016152492A/ja
Application granted granted Critical
Publication of JP6322592B2 publication Critical patent/JP6322592B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Retry When Errors Occur (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データ転送装置に関する。
近年、ネットワークシステムの信頼性に対する要求が高まっている。それに伴い、ネットワークシステムを構成するネットワーク間におけるデータ転送を行うデータ転送装置が可能な限りデータ転送を継続することが求められている。
データ転送装置は、当該データ転送装置が保持するルーティングテーブルに従って適切な転送先にデータを転送する。ルーティングテーブルには各ネットワークから次にデータを転送するための転送先情報が格納される。
従来の多くのデータ転送装置では、データ転送の高速化のために転送エンジンと呼ばれる専用のデバイスがデータを転送する。転送エンジンは高い性能が求められるデバイスであるため、一般に、専門の半導体メーカーによって設計、製造されたものが用いられる。
データを高速に転送するためにはデータの転送先を短い時間で検索する必要がある。これを実現するために、データ転送装置にデータの転送先の検索に用いるためのメモリを設け、当該メモリに転送情報ベースを格納する。転送情報ベースは、転送エンジンが転送先を検索しやすいデータ形式にルーティングテーブルを変換したものである。
通常、転送情報ベースを格納するメモリには揮発性メモリが使用されている。そのため、データ転送装置が停止した場合、当該メモリに格納される転送情報ベースは消失する。
データ転送装置の再起動が発生した場合、データ転送装置は、再度ルーティングテーブルを生成し、さらに、ルーティングテーブルを変換することによって生成された転送情報ベースを揮発性メモリに格納する必要がある。したがって、従来のデータ転送装置は、前述したような処理が完了し、データ転送を再開するまで通常数十秒から数分の時間を要するという課題がある。
前述した課題を解決する手段として、特許文献1に記載された発明が知られている。特許文献1には、「ルータは、パケットの宛先情報であるルーティングテーブルが格納された随時読み書き可能のルーティングテーブル用記憶部と、上記ルーティングテーブルに基づき作成され、上記パケットの転送可能な宛先と、該宛先に最短経路で届けるための適切な行き先との対応関係の情報である転送情報ベースが格納された随時読み書き可能の転送情報ベース用記憶部を含み、上記転送情報ベースを基に上記パケットの行き先を検索する検索エンジン部と、上記ルーティングテーブル用記憶部および転送情報ベース用記憶部に電源を供給する電源部と、上記電源部を制御する制御部と、を備える。そして、上記ルーティングテーブル用記憶部と転送情報ベース用記憶部のうち、少なくとも1つが不揮発性メモリであり、上記制御部は上記不揮発性メモリに対し、該不揮発性メモリが動作するとき上記電源部から電源供給し、非動作のとき電源供給を遮断する。」ことが記載されている。
特許文献1に記載の発明では、パケットの転送先の検索に用いるメモリとして不揮発性メモリを使用することによってパケット転送装置が再起動しても転送情報ベースが消失するのを防止できるため、パケット転送を素早く再開できる。
特開2013−187601号公報
特許文献1に記載の発明のように、転送情報ベースを不揮発性メモリに格納した場合、次のような問題が存在する。
一つの問題は、転送情報ベースの更新中にデータ転送装置が再起動した場合、転送情報ベースに格納される転送先情報に不整合が発生することである。もう一つの問題は、データ転送装置が長時間停止した場合、転送情報ベースに格納される転送先情報が古くなる可能性がある。これらの問題によって誤った転送先にデータが転送される可能性があるため、適切に転送先の検索が行える場合に不揮発性メモリに格納される転送情報ベースを使用する必要がある。
上記課題を解決し、かつ、データ転送装置の再起動時に速やかにデータ転送を再開するためには、転送エンジンおよびCPU等以外のデバイスが、不揮発性メモリに格納される転送情報ベースが転送先を検索するための情報として適切であるか否かを判定する必要がある。しかし、一般的に転送エンジンは専門の半導体メーカーによって設計、製造されたものであるため、前述した判定処理を実行するための機能を転送エンジン等に追加することが困難である。
本発明では、転送エンジンに変更を加えることなく、不揮発性メモリに格納される転送情報ベースが検索に用いる情報として適切であるか否かを判定することを実現し、かつ、データ転送装置が早期にデータ転送を再開することを実現する。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、データを転送する転送装置であって、前記転送装置は、CPU、前記CPUに接続されるメモリ、前記CPUに接続され、前記転送装置の再起動時における情報の復旧を制御する復旧制御部、前記復旧制御部に接続される不揮発性メモリ、前記復旧制御部に接続され、前記データの転送を制御する転送エンジン、および前記転送エンジンに接続される揮発性メモリを備え、前記メモリは、前記データの転送先を示すルーティング情報を格納し、前記揮発性メモリは、前記ルーティング情報に対応する情報であり、前記転送エンジンが前記データの転送先を判定する際に用いる第1の転送情報ベースを格納し、前記不揮発性メモリは、前記第1の転送情報ベースのバックアップデータである第2の転送情報ベースを格納し、前記転送エンジンは、前記第1の転送情報ベースを用いて前記転送装置が受信したデータの転送先を決定して、決定された転送先に前記受信したデータを転送し、前記復旧制御部は、前記CPUから更新データを含む前記第2の転送情報ベースの更新指示を受信した場合、前記更新データに基づいて前記第2の転送情報ベースを更新し、前記転送エンジンに、前記更新データを含む前記第1の転送情報ベースの更新指示を送信し、前記転送装置が再起動した場合に、前記第1の転送情報ベースおよび前記第2の転送情報ベースの整合性を確認し、前記第1の転送情報ベースおよび前記第2の転送情報ベースの整合性がある場合、前記第2の転送情報ベースを用いて前記第1の転送情報ベースを復旧することを特徴とする。
本発明によれば、不揮発性メモリに格納される転送情報ベースの整合性の確認、および、データ転送装置の再起動時の早期データ転送の再開を実現できる。上記した以外の課題、構成および効果は、以下の実施例の説明により明らかにされる。
実施例のネットワークシステムの構成およびデータ転送装置の構成の一例を示す説明図である。 実施例の復旧制御部の構成の一例を示すブロック図である。 実施例のデータ転送装置において使用されるコマンドのフォーマットの一例を示す説明図である。 実施例のデータ転送装置が保持するルーティングテーブルの一例を示す説明図である。 実施例のデータ転送装置が保持する転送情報ベースの一例を示す説明図である。 実施例の復旧制御部が保持する揮発性制御情報の一例を示す説明図である。 実施例の不揮発性メモリに格納される不揮発性制御情報の一例を示す説明図である。 実施例のデータ転送装置の通常運用中における転送情報ベースの更新処理の流れを説明するシーケンス図である。 実施例の復旧制御部が転送情報ベースの更新時に実行する処理を説明するフローチャートである。 実施例のデータ転送装置の再起動時における転送情報ベースの復旧処理の流れを説明するシーケンス図である。 実施例の復旧制御部が実行する転送情報ベースの復旧処理を説明するフローチャートである。
実施例について以下に図を用いて示す。
図1は、実施例のネットワークシステム100の構成およびデータ転送装置400の構成の一例を示す説明図である。
ネットワークシステム100は、複数のネットワーク200、複数の端末300、および複数のデータ転送装置400から構成される。図1に示す例では、ネットワークシステムは、3つのネットワーク200A、200B、200Cを含み、2つの端末300A、300Bを含み、また、2つのデータ転送装置400A、400Bを含む。
なお、本実施例は、ネットワーク200、端末300、およびデータ転送装置400の数に限定されない。本明細書では、ネットワーク200A、200B、200Cを区別しない場合はネットワーク200と記載し、端末300A、300Bを区別しない場合は端末300と記載し、また、データ転送装置400A、400Bを区別しない場合はデータ転送装置400と記載する。
端末300Aおよびデータ転送装置400Aはネットワーク200Aを介して互いに接続され、端末300Bおよびデータ転送装置400Bはネットワーク200Cを介して接続され、また、データ転送装置400Aおよびデータ転送装置400Bはネットワーク200Bを介して互いに接続される。ネットワーク200は、例えば、LAN(Local Area Network)またはWAN(Wide Area Network)等が考えられるが、本実施例はネットワーク200の種別に限定されない。また、端末300およびデータ転送装置400と、ネットワーク200との間の接続形式は有線または無線のいずれであってもよい。
端末300は、ネットワーク200を介して他の端末300に宛先情報を含むデータを送信し、また、他の端末300から宛先情報を含むデータを受信する。なお、端末300は、図示しないCPU(Central Processing Unit)、メモリ、およびネットワークインタフェース等を有する。
データ転送装置400は、ネットワーク200を介して端末300または他のデータ転送装置400からデータを受信した場合、受信したデータに含まれる宛先情報に従って適切な転送先に当該データを転送する。ここで、データ転送装置400Aを例にデータ転送装置400の構成について説明する。なお、データ転送装置400Bも同一の構成である。
データ転送装置400Aは、CPU410、メインメモリ420、復旧制御部430、不揮発性メモリ440、転送エンジン450、揮発性メモリ460、ポート470、およびバス480を備える。なお、CPU410、復旧制御部430、および転送エンジン450を区別しない場合、デバイスとも記載する。
CPU410および復旧制御部430はバス480Aを介して互いに接続され、復旧制御部430および転送エンジン450はバス480Bを介して接続され、転送エンジン450およびポート470はバス480Cを介して接続される。また、ポート470は、回線485を介してネットワーク200と接続する。
各デバイスは、バス480を介して他のデバイスにコマンド490を送信し、また、バス480を介して他のデバイスからコマンド490を受信する。これによって、各デバイスは、他のデバイスに対して指示を行い、また、他のデバイスが保持する情報または他のデバイスに接続されたメモリに対してデータの読み書きを行う。
CPU410は、データ転送装置400A全体を制御する。本実施例のCPU410は、ルーティングテーブル421の生成および更新を行い、また、転送情報ベース441および転送情報ベース461の更新の指示を行う。
メインメモリ420は、CPU410に接続され、ルーティングテーブル421を格納する。メインメモリ420は、例えば、DRAM(Dynamic Random Access Memory)等の揮発性メモリを用いるものとする。
ルーティングテーブル421は、各ネットワーク200ごとに、データの転送先を示す転送先情報を格納する。ルーティングテーブル421に格納される転送先情報は、ネットワークシステム100の運用者によって固定的に設定され、または、他のデータ転送装置400との間で転送先情報を送受信して動的に設定される。また、本実施例では、前述したものの他に、データ転送装置400Aの再起動時に、不揮発性メモリ440に格納される転送情報ベース441に基づいてルーティングテーブル421が生成される。ルーティングテーブル421の詳細は図4を用いて後述する。
復旧制御部430は、データ転送装置400Aの通常運用中にCPU410から送信された転送先情報を不揮発性メモリ440の転送情報ベース441に格納し、さらに、転送エンジン450に当該転送先情報を含む転送情報ベース461の更新指示を送信する。具体的には、復旧制御部430は、CPU410から送信されたコマンド490に基づいて、不揮発性メモリ440の転送情報ベース441にコマンド490に含まれる転送先情報を格納する。また、復旧制御部430は、転送先情報を含むコマンド490を転送エンジン450に送信することによって、揮発性メモリ460の転送情報ベース461の更新を転送エンジン450に指示する。
また、復旧制御部430は、データ転送装置400Aの再起動時に転送情報ベース441および転送情報ベース461の整合性を判定し、当該判定結果に基づいて、転送情報ベース441を用いた揮発性メモリ460の転送情報ベース461の復旧を制御する。
不揮発性メモリ440は、復旧制御部430に接続され、転送情報ベース441および不揮発性制御情報442を格納する。本実施例の不揮発性メモリ440は、データの書き込みによる性能の劣化が発生せず、かつ、揮発性メモリ460と同程度の速度で動作するものとする。前述の条件を満たす不揮発性メモリとしては、MRAM(Magnetoresistive Random Access Memory)、ReRAM(Resistance Random Access Memory)、およびFeRAM(Ferroelectric Random Access Memory)等がある。
転送情報ベース441は、転送エンジン450が使用する転送情報ベース461のバックアップデータである。転送情報ベース441は、不揮発性メモリ440に格納されているため、データ転送装置400Aが停止しても消失しない。転送情報ベース441は、ルーティングテーブル421が更新された場合、CPU410からの指示に基づいて書き換えられる。後述するように、転送情報ベース441の更新時には、揮発性メモリ460に格納される転送情報ベース461も同時に書き換えられる。
不揮発性制御情報442は、復旧制御部430が実行する処理を制御するための情報である。本実施例では不揮発性制御情報442を用いて転送情報ベース441および転送情報ベース461の状態が管理される。不揮発性制御情報442の詳細は図7を用いて後述する。
転送エンジン450は、ネットワーク200を介して受信したデータの転送処理を実行する。具体的には、転送エンジン450は、ネットワーク200から回線485を経由してデータを受信した場合、揮発性メモリ460に格納された転送情報ベース461を用いてデータの転送先を検索し、検索結果に基づいて適切な転送先にデータを転送する。
揮発性メモリ460は、転送エンジン450に接続され、転送情報ベース461を格納する。揮発性メモリ460としては、動作速度が速いSRAM(Static Random Access Memory)、および検索処理に特化したTCAM(Ternary Content Addressable Memory)等がある。検索に適した、木構造またはハッシュテーブル等のデータ構造に変換された転送情報ベース461が格納される場合、SRAMが用いられる。
転送情報ベース461は、転送エンジン450がデータの転送先を検索するのに適したデータ形式にルーティングテーブル421が変換された情報である。転送情報ベース461の詳細は図5を用いて後述する。
ポート470は、外部のネットワークまたは外部の装置と接続するインタフェースである。本実施例では、データ転送装置400Aは、ポート470Aに接続される回線485Aを介してネットワーク200Bと接続し、また、ポート470Bに接続される回線485Bを介してネットワーク200Cと接続する。バス480は、データ転送装置400A内の構成を接続する。バス480にはコマンド490が流れる。
一般的なデータ転送装置400の場合、CPU410およびメインメモリ420は制御カードに搭載され、転送エンジン450および揮発性メモリ460は転送カードに搭載される。そのため、復旧制御部430および不揮発性メモリ440を搭載するカードの形態として様々考えられる。
例えば、制御カードまたは転送カードのいずれか一方に復旧制御部430および不揮発性メモリ440を搭載する形態が考えられる。また、制御カードには復旧制御部430を搭載し、転送カードには不揮発性メモリ440を搭載する形態、または、制御カードには不揮発性メモリ440を搭載し、転送カードには復旧制御部430を搭載する形態も考えられる。また、復旧制御部430および不揮発性メモリ440を搭載した復旧制御カードとしてデータ転送装置400に搭載する形態でもよい。また、制御カード、転送カード、および復旧制御カードは、データ転送装置400に対して挿抜可能な構成であってもよい。
なお、CPU410、メインメモリ420、復旧制御部430、不揮発性メモリ440、転送エンジン450、揮発性メモリ460は、カード形式の装置として搭載されていなくてもよい。例えば、一つのチップとしてデータ転送装置400に搭載されていてもよい。
図2は、実施例の復旧制御部430の構成の一例を示すブロック図である。
復旧制御部430は、CPUインタフェース部431、メモリインタフェース部432、制御処理部433、時刻管理部434、および転送エンジンインタフェース部435を有し、また、揮発性制御情報436を保持する。なお、復旧制御部430は図示しない揮発性メモリを有し、当該揮発性メモリには揮発性制御情報436および処理のために一時的に保持するデータ等が格納される。
制御処理部433は、CPUインタフェース部431、メモリインタフェース部432、時刻管理部434、および転送エンジンインタフェース部435と内部バス等を介して接続する。また、制御処理部433は、内部バス等を介して揮発性制御情報436が格納される揮発性メモリと接続する。
CPUインタフェース部431は、CPU410から送信されるコマンド490の受信処理を実行する。また、CPUインタフェース部431は、制御処理部433からの指示に従って、CPU410に対してコマンド490を送信する。
メモリインタフェース部432は、制御処理部433からの指示に従って、不揮発性メモリ440の指示されたアドレスに対してデータの読み出しおよび書き込みを行う。
制御処理部433は、復旧制御部430全体の制御を行う。制御処理部433は、処理の内容に応じて、CPU410および転送エンジン450との間で指示およびデータの送受信を行い、不揮発性メモリ440に対するデータの読み出しおよび書き込みを行う。
時刻管理部434は、揮発性制御情報436に格納される時刻の情報を管理する。時刻管理部434は、バッテリー等の電源によって動作可能な回路によって、データ転送装置400が停止した状態においても時刻を刻み続ける。
転送エンジンインタフェース部435は、CPUインタフェース部431と同様に、転送エンジン450との間でコマンド490の送受信を行う。
揮発性制御情報436は、復旧制御部430が実行する処理を制御するための情報である。本実施例では揮発性制御情報436を用いて復旧制御部430の処理の状態が管理される。なお、揮発性制御情報436は、復旧制御部430が保持する揮発性メモリに格納されているため、データ転送装置400が停止すると消失する。揮発性制御情報436の詳細は図6を用いて後述する。
図3は、実施例のデータ転送装置400において使用されるコマンド490のフォーマットの一例を示す説明図である。
コマンド490は、宛先デバイス4911、送信元デバイス4912、コマンド種別4913、アドレス4914、およびデータ4915から構成される。
宛先デバイス4911は、コマンド490の送信先のデバイスの識別情報である。送信元デバイス4912は、コマンド490の送信元のデバイスの識別情報である。宛先デバイス4911および送信元デバイス4912のそれぞれには、CPU410、復旧制御部430、および転送エンジン450の少なくともいずれかが設定される。コマンド種別4913は、コマンドの種別を示す情報である。コマンドの種別としては、リード要求、リード応答、およびライト要求がある。
アドレス4914は、コマンド490の処理の対象となるメモリ領域のアドレスである。データ4915は、コマンド490の処理の対象となるデータである。なお、コマンド種別4913に「リード要求」が設定される場合、アドレス4914にのみ値が設定され、データ4915には値は設定されない。また、コマンド種別4913に「リード応答」または「ライト要求」のいずれかが設定される場合、アドレス4914およびデータ4915のいずれにも値が設定される。
各デバイスは、他のバイスとの間でコマンド490を送受信することによって、他のデバイスに対して指示を行い、他のデバイスが保持する情報または他のデバイスに接続されるメモリに対してデータの読み出しおよび書き込みを行う。
他のデバイスに対する指示は、他のデバイスが保持する特定の情報に対してデータを書き込むことによって行われる。データを読み出す情報またはデータを書き込む情報が、他のデバイスが保持する情報、または、他のデバイスに接続されるメモリに格納される情報のいずれであるかは、アドレス4914に設定されたアドレスの範囲によって判定される。
コマンド種別4913に「リード要求」または「リード応答」のいずれかが設定されたコマンド490は、他のデバイスが保持する情報または他のデバイスに接続されるメモリからデータを読み出す場合に使用される。
デバイスは、受信したコマンド490のコマンド種別4913に「リード要求」が設定される場合、当該デバイスが保持する情報または当該デバイスに接続されるメモリのアドレス4914に設定された値に対応するメモリ領域からデータを読み出す。また、デバイスは、受信したコマンド490の送信元デバイス4912に対して、コマンド種別4913に「リード応答」が設定され、データ4915に読み出されたデータが設定されたコマンド490を送信する。
コマンド種別4913に「ライト要求」が設定されたコマンド490は、他のデバイスが保持する情報または当該デバイスに接続されるメモリに対してデータを書き込む場合に使用される。
デバイスは、受信したコマンド490のコマンド種別4913に「ライト要求」が設定される場合、当該デバイスが保持する情報または当該デバイスに接続されるメモリに対して、アドレス4914に設定された値に対応するメモリ領域にデータ4915を書き込む。
図4は、実施例のデータ転送装置400が保持するルーティングテーブル421の一例を示す説明図である。図4では、データ転送装置400Aが保持するルーティングテーブル421を示す。なお、データ転送装置400Bも同様のルーティングテーブル421を保持する。
本実施例のルーティングテーブル421は、テーブル形式のデータであり、一つのエントリにデータの転送先を特定する転送先情報を格納する。当該エントリは、宛先ネットワーク4211、転送先4212、および生成フラグ4213を含む。
宛先ネットワーク4211は、データ転送装置400が、転送先の装置等にデータを転送する場合に当該データを送信するネットワーク200の識別情報である。転送先4212は、宛先ネットワーク4211に対応するネットワーク200から次にデータを転送するデータ転送装置400の識別情報である。
図4では、ネットワーク200Aおよびネットワーク200Bに対してデータ転送装置400Aが当該ネットワークから次にデータを転送する転送先であることを示す。また、図4では、ネットワーク200Cに対してデータ転送装置400Bが当該ネットワークから次にデータを転送する転送先であることを示す。
生成フラグ4213は、エントリが通常の処理によって生成されたか否かを示すフラグである。生成フラグ4213には、生成フラグ4213が有効化されていることを示す「ON」、または、生成フラグ4213が無効化されていることを示す「OFF」のいずれかが設定される。
データ転送装置400の再起動時に、不揮発性メモリ440に格納される転送情報ベース441を用いた復旧処理によって生成されたエントリの場合、生成フラグ4213には「OFF」が設定される。復旧処理以外の方法でエントリが生成された場合、生成フラグ4213には「ON」が設定される。
なお、復旧処理以外の方法でエントリが生成された場合としては、ネットワークシステム100の運用者によって固定的にルーティングテーブル421が設定された場合、または、通常の運用時に他のデータ転送装置400と転送先情報を送受信することによって動的にエントリが生成された場合等がある。
図5は、実施例のデータ転送装置400が保持する転送情報ベース461の一例を示す説明図である。図5では、データ転送装置400Aが保持する転送情報ベース461を示す。なお、データ転送装置400Bも同様の転送情報ベース461を保持する。
転送情報ベース461は、ルーティングテーブル421を転送エンジン450がデータの転送先を容易に検索できるデータ形式に変換した情報である。本実施例の転送情報ベース461は、テーブル形式のデータであり、一つのエントリに宛先を特定する情報を格納する。一つのエントリは、アドレス4611およびデータ4612を含む。
アドレス4611は、揮発性メモリ460のアドレスである。データ4612は、アドレス4611に対応するメモリ領域に格納されるデータである。
ルーティングテーブル421では、転送先情報が一つのエントリに格納されていたが、転送情報ベース461では、アドレス4611が示すメモリ領域に転送先情報の一部が格納される。例えば、アドレス4611「0x00000000」に対応するメモリ領域には宛先ネットワーク4211に対応する「ネットワーク200A」が格納され、アドレス4611「0x00000004」に対応するメモリ領域には転送先4212に対応する「データ転送装置400A」が格納される。
不揮発性メモリ440に格納される転送情報ベース441は、転送情報ベース461と同一のものであるため説明を省略する。なお、揮発性メモリ460に格納される転送情報ベース461は、データ転送装置400の通常運用中において転送エンジン450によって使用されるが、不揮発性メモリ440に格納される転送情報ベース441は、データ転送装置400の運用時において転送エンジン450によって使用されない。
なお、図5に示す転送情報ベース461は、ルーティングテーブル421に格納される転送先情報の一部を格納するメモリ領域のアドレスとデータとが対応付けられた情報であるがこれに限定されない。例えば、CPU410は、ハッシュテーブル等、検索に適したデータ構造にルーティングテーブル421に含まれる転送先情報を変換した上で、転送情報ベース461にアドレスとデータとを対応付けたエントリを格納してもよい。
揮発性メモリ460に格納される転送情報ベース461のバックアップデータとして不揮発性メモリ440に転送情報ベース441を格納することは障害対策および早期のデータ転送の再開に有用であるが、転送情報ベース441をそのまま転送情報ベース461として復旧させた場合、様々な問題が発生する。すなわち、データ転送装置400Aが、転送情報ベース461の更新中に再起動した場合、転送情報ベース461と転送情報ベース441との間でデータの不整合が発生する可能性がある。
例えば、転送情報ベース441がすでに更新されており、転送情報ベース461の更新が終了していない場合データの不整合が発生する。また、データ転送装置400の再起動前と再起動後のハッシュ値が異なるため、転送情報ベース441および転送情報ベース461のデータ構造に不整合、すなわち、データの不整合が発生する。
データの不整合が発生している状態において、データ転送装置400Aが転送情報ベース441を用いて揮発性メモリ460の転送情報ベース461を復旧した場合、不整合が発生したデータを含む転送情報ベース461を用いてデータの転送先の検索を行うと、誤った転送先にデータを転送し、または、データ転送装置400Aが停止する可能性がある。
また、データ転送装置400Bが停止した場合、ルーティングテーブル421および転送情報ベース461からネットワーク200Cに関する転送先情報を削除する必要がある。データ転送装置400Aが通常運用中の場合、転送情報ベース461の更新処理の実行時に転送情報ベース441からもネットワーク200Cに関する転送先情報が削除される。しかし、データ転送装置400Aが停止した場合、転送情報ベース441は更新されない。
従って、データ転送装置400Aが長時間停止している間にネットワークシステム100のネットワーク構成の変更が発生した場合、転送情報ベース441に格納される転送先情報が古くなっている可能性がある。転送エンジン450が、古い転送先情報を格納する転送情報ベース441を用いて復旧した転送情報ベース461に基づいてデータの転送先を検索する場合、誤った転送先または存在しない転送先にデータを転送する可能性がある。これによって、ネットワークシステム100のネットワーク負荷が上昇し、また、ネットワークシステム100上のデータの消失が発生する可能性がある。
図6は、実施例の復旧制御部430が保持する揮発性制御情報436の一例を示す説明図である。
揮発性制御情報436は、更新開始フラグ4361、更新終了フラグ4362、復旧中フラグ4363、復旧済フラグ4364、および現在時刻4365を含む。
更新開始フラグ4361は、CPU410が転送情報ベース441および転送情報ベース461の更新を開始したことを復旧制御部430に通知するフラグである。更新開始フラグ4361は、更新開始フラグ4361が有効化されていることを示す「ON」、または、更新開始フラグ4361が無効化されていることを示す「OFF」のいずれかが設定される。更新開始フラグ4361には初期値として「OFF」が設定される。後述するように、CPU410は、転送情報ベース441および転送情報ベース461の更新を開始する場合、コマンド490を用いて更新開始フラグ4361に「ON」を設定する。
更新終了フラグ4362は、CPU410が転送情報ベース441および転送情報ベース461の更新が終了したことを復旧制御部430に通知するフラグである。更新終了フラグ4362には、更新終了フラグ4362が有効化されていることを示す「ON」、または、更新終了フラグ4362が無効化されていることを示す「OFF」のいずれかが設定される。更新終了フラグ4362には初期値として「OFF」が設定される。後述するように、CPU410は、転送情報ベース441および転送情報ベース461の更新を終了する場合、コマンド490を用いて更新終了フラグ4362に「ON」を設定する。
復旧中フラグ4363は、復旧制御部430によって揮発性メモリ460に転送情報ベース441が復旧中であることを示すフラグである。復旧中フラグ4363には、復旧中フラグ4363が有効化されていることを示す「ON」、または、復旧中フラグ4363が無効化されていることを示す「OFF」のいずれかが設定される。復旧中フラグ4363には初期値として「OFF」が設定される。後述するように、復旧制御部430は、データ転送装置400の再起動時に復旧中フラグ4363に「ON」を設定する。
復旧済フラグ4364は、復旧制御部430によって揮発性メモリ460の転送情報ベース461の復旧が終了したことを示すフラグである。復旧済フラグ4364には、復旧済フラグ4364が有効化されていることを示す「ON」、または、復旧済フラグ4364が無効化されていることを示す「OFF」のいずれかが設定される。復旧中フラグ4363には初期値として「OFF」が設定される。後述するように、復旧制御部430は、転送情報ベース461の復旧が終了した後に復旧済フラグ4364に「ON」を設定する。
現在時刻4365は、ネットワークシステム100における現在の時刻を表す情報である。現在時刻4365に格納される値は復旧制御部430の時刻管理部434によって管理される。
図7は、実施例の不揮発性メモリ440に格納される不揮発性制御情報442の一例を示す説明図である。
不揮発性制御情報442は、有効化フラグ4421、更新中フラグ4422、最終更新時刻4423、および有効期限4424を含む。
有効化フラグ4421は、データ転送装置400の再起動時に、転送情報ベース441を用いて揮発性メモリ460上に転送情報ベース461を復旧するか否か、すなわち、復旧処理が有効か否かを示すフラグである。有効化フラグ4421には、有効化フラグ4421が有効化されていることを示す「ON」、または、有効化フラグ4421が無効化されていることを示す「OFF」のいずれかが設定される。本実施例では、データ転送装置400の通常運用中に、運用者が「ON」または「OFF」のいずれかを有効化フラグ4421に設定する。
有効化フラグ4421に「ON」が設定されている場合にのみ、復旧制御部430は復旧処理を実行する。なお、有効化フラグ4421には初期値として「OFF」が設定される。これによって、データ転送装置400が初めて起動した場合等、転送情報ベース441に全く転送先情報が格納されていない場合に、復旧処理が実行されることを抑止することができる。
また、データ転送装置400が長時間停止することが予想される場合、有効化フラグ4421を「OFF」に設定することによって、長時間の停止状態が解除されてデータ転送装置400が再起動する場合に、復旧処理が実行されることを抑止できる。
更新中フラグ4422は、復旧制御部430が転送情報ベース441および転送情報ベース461の更新中であるか否かを示すフラグである。更新中フラグ4422には、更新中フラグ4422が有効化されていることを示す「ON」、または、更新中フラグ4422が無効化されていることを示す「OFF」のいずれかが設定される。更新中フラグ4422には初期値として「OFF」が設定される。
なお、データ転送装置400の再起動時に更新中フラグ4422が「ON」の場合、転送情報ベース441および転送情報ベース461の更新中にデータ転送装置400が停止したことを意味する。この場合、転送情報ベース441および転送情報ベース461に格納される転送先情報に不整合が発生している可能性があるため、復旧制御部430は復旧処理を実行しない。
最終更新時刻4423は、転送情報ベース441および転送情報ベース461が最後に更新された時刻である。本実施例では、復旧制御部430は、CPU410から転送情報ベース441および転送情報ベース461の更新終了が通知された場合、当該通知を受信した時点における現在時刻4365の値を最終更新時刻4423に設定する。
有効期限4424は、復旧処理に用いる転送情報ベース441の有効期限である。データ転送装置400の再起動時に、現在時刻4365に設定される時刻が有効期限4424に設定された有効期限を経過している場合、転送情報ベース441に格納される転送先情報が古い可能性がある。この場合、復旧制御部430は復旧処理を実行しない。
なお、有効期限4424には、あらかじめ固定の期限が設定されてもよいし、データ転送装置400の運用中に運用者から入力された期限が設定されてもよい。また、有効期限4424に設定される期限は、現在時刻4365に対する絶対時刻でもよいし、最終更新時刻4423からの相対時間でもよい。
図8は、実施例のデータ転送装置400の通常運用中における転送情報ベース441および転送情報ベース461の更新処理の流れを説明するシーケンス図である。
CPU410は、データ転送装置400の通常運用中に、ルーティングテーブル421を更新する(ステップS1101)。
ルーティングテーブル421を更新する契機としては、ネットワークシステム100の運用者によってルーティングテーブル421の情報が設定された場合、または、他のデータ転送装置400と転送先情報を送受信することによって動的に更新する場合がある。このとき、CPU410は、エントリを追加する場合には、当該エントリの生成フラグ4213に「ON」を設定する。また、更新されたエントリの生成フラグ4213に「OFF」が設定されている場合、CPU410は、生成フラグ4213に「ON」を設定する。
CPU410は、コマンド490を用いて、復旧制御部430に転送情報ベース441および転送情報ベース461の更新開始を通知する(ステップS1102)。
具体的には、CPU410は、ルーティングテーブル421が更新された後、コマンド490を用いて揮発性制御情報436の更新開始フラグ4361に「ON」を設定する。これ以降、CPU410は、更新されたルーティングテーブル421に格納される転送先情報を所定のデータ形式に変換し、変換された転送先情報を含むコマンド490を用いて転送情報ベース441および転送情報ベース461の更新を指示する。なお、CPU410は、更新された転送先情報のみを送信してもよい。
復旧制御部430は、CPU410から転送情報ベース441および転送情報ベース461の更新開始の通知を受信した場合、更新中フラグ4422に「ON」を設定する(ステップS1103)。
具体的には、復旧制御部430は、更新開始フラグ4361に「ON」が設定されたことを検知することによって、転送情報ベース441および転送情報ベース461の更新が開始したことを把握して、更新開始フラグ4361に「OFF」を設定する。その後、復旧制御部430は、更新中フラグ4422に「ON」を設定する。
CPU410は、更新されたルーティングテーブル421を変換することによって生成された転送先情報を含むコマンド490を用いて、復旧制御部430に転送情報ベース441の更新を指示する(ステップS1104)。
復旧制御部430は、CPU410から転送情報ベース441の更新の指示を受信した場合、不揮発性メモリ440に格納される転送情報ベース441を更新する(ステップS1105)。また、復旧制御部430は、コマンド490を用いて、転送エンジン450に対して転送情報ベース461の更新を指示する(ステップS1106)。なお当該コマンド490には変換された転送先情報が含まれる。
転送エンジン450は、復旧制御部430から転送情報ベース461の更新の指示を受信した場合、揮発性メモリ460に格納された転送情報ベース461を更新する(ステップS1107)。
CPU410は、更新されたルーティングテーブル421の転送先情報を全て送信した場合、コマンド490を用いて、復旧制御部430に転送情報ベース441および転送情報ベース461の更新終了を通知する(ステップS1108)。
具体的には、CPU410は、コマンド490を用いて揮発性制御情報436の更新終了フラグ4362に「ON」を設定する。なお、更新された転送先情報にのみが送信される場合、CPU410は、更新された転送先情報を全て送信した後に、コマンド490を用いて揮発性制御情報436の更新終了フラグ4362に「ON」を設定する。
復旧制御部430は、CPU410から転送情報ベース441および転送情報ベース461の更新終了の通知を受信した場合、現在時刻4365に格納される時刻に基づいて最終更新時刻4423を更新し(ステップS1109)、更新中フラグ4422に「OFF」を設定する(ステップS1110)。
具体的には、復旧制御部430は、更新終了フラグ4362に「ON」が設定されたことを検知することによって、転送情報ベース441および転送情報ベース461の更新が終了したことを把握して、更新終了フラグ4362に「OFF」を設定する。その後、復旧制御部430は、最終更新時刻4423を更新し、また、更新中フラグ4422に「OFF」を設定する。
図9は、実施例の復旧制御部430が転送情報ベース441および転送情報ベース461の更新時に実行する処理を説明するフローチャートである。
復旧制御部430の制御処理部433は、データ転送装置400が起動すると、以下で説明する処理を開始する。まず、制御処理部433は、CPU410からコマンド490を受信したか否かを判定する(ステップS1201)。
CPU410からコマンド490を受信していない場合(ステップS1201がNO)、制御処理部433は、ステップS1201に戻り、コマンド490を受信するまで同様の判定処理を繰り返し実行する。
CPU410からコマンド490を受信した場合(ステップS1201がYES)、制御処理部433は、受信したコマンド490が転送情報ベース441および転送情報ベース461の更新開始を通知するコマンドであるか否かを判定する(ステップS1202)。
具体的には、制御処理部433は、受信したコマンド490によって揮発性制御情報436の更新開始フラグ4361に「ON」が設定されたか否かを判定する。受信したコマンド490によって揮発性制御情報436の更新開始フラグ4361に「ON」が設定された場合、制御処理部433は、受信したコマンド490が転送情報ベース441および転送情報ベース461の更新開始を通知するコマンドであると判定する。
受信したコマンド490が転送情報ベース441および転送情報ベース461の更新開始を通知するコマンドである場合(ステップS1202がYES)、制御処理部433は、不揮発性制御情報442の更新中フラグ4422に「ON」を設定する(ステップS1203)。その後、制御処理部433は、ステップS1201に戻り、コマンド490を受信するまで同様の判定処理を繰り返し実行する。
受信したコマンド490が転送情報ベース441および転送情報ベース461の更新開始を通知するコマンドでない場合(ステップS1202がNO)、制御処理部433は、受信したコマンド490が転送情報ベース441および転送情報ベース461の更新終了を通知するコマンドであるか否かを判定する(ステップS1204)。
具体的には、制御処理部433は、受信したコマンド490によって揮発性制御情報436の更新終了フラグ4362に「ON」が設定されたか否かを判定する。受信したコマンド490によって揮発性制御情報436の更新終了フラグ4362に「ON」が設定された場合、制御処理部433は、受信したコマンド490が転送情報ベース441および転送情報ベース461の更新終了を通知するコマンドであると判定する。
受信したコマンド490が転送情報ベース441および転送情報ベース461の更新終了を通知するコマンドである場合(ステップS1204がYES)、制御処理部433は、不揮発性制御情報442の更新中フラグ4422に「OFF」を設定する(ステップS1205)。その後、制御処理部433は、ステップS1201に戻り、コマンド490を受信するまで同様の判定処理を繰り返し実行する。
受信したコマンド490が転送情報ベース441および転送情報ベース461の更新終了を通知するコマンドでない場合は(ステップS1204がNO)、制御処理部433は、受信したコマンド490が、変換された転送先情報を含む転送情報ベース441の更新を指示するコマンドであるか否かを判定する(ステップS1206)。
受信したコマンド490が転送情報ベース441の更新を指示するコマンドである場合(ステップS1206がYES)、制御処理部433は、当該コマンド490に含まれる転送先情報に基づいて不揮発性メモリ440に格納される転送情報ベース441を更新する(ステップS1207)。
また、制御処理部433は、転送エンジン450に対して転送情報ベース461の更新を指示するコマンド490を送信することによって、転送エンジン450に揮発性メモリ460に格納される転送情報ベース461の更新を指示する(ステップS1208)。その後、制御処理部433は、ステップS1201に戻り、コマンド490を受信するまで同様の判定処理を繰り返し実行する。
なお、転送エンジン450に送信されるコマンド490のデータ4915には、CPU410から受信したコマンド490に含まれる転送先情報が含まれる。転送エンジン450は、復旧制御部430から転送情報ベース461の更新指示を受信した場合、コマンド490に含まれる転送先情報に基づいて揮発性メモリ460に格納される転送情報ベース461を更新する。
受信したコマンド490が転送情報ベース441の更新を指示するコマンドでない場合(ステップS1206がNO)、制御処理部433は、受信したコマンド490に応じた処理を実行する(ステップS1209)。その後、制御処理部433は、ステップS1201に戻り、コマンド490を受信するまで同様の判定処理を繰り返し実行する。
図10は、実施例のデータ転送装置400の再起動時における転送情報ベース461の復旧処理の流れを説明するシーケンス図である。
データ転送装置400が再起動した場合(ステップS1301)、CPU410、復旧制御部430、および転送エンジン450はそれぞれ起動処理を開始する。
このとき、CPU410は、復旧中フラグ4363の監視を開始する。復旧中フラグ4363に「ON」が設定されている場合、復旧制御部430によって転送情報ベース461の復旧処理が実行されるため、CPU410は、周期的に復旧中フラグ4363を監視する。なお、復旧中フラグ4363の監視には、復旧中フラグ4363に対する読み出しを指示するコマンド490が用いられる。また、揮発性メモリ460の転送情報ベース461は空であるため、転送エンジン450はデータの転送処理を開始しない。
まず、復旧制御部430は、復旧中フラグ4363に「ON」を設定する(ステップS1302)。このとき、復旧制御部430は、有効化フラグ4421に「ON」が設定されていることを確認する。
CPU410は、復旧中フラグ4363に「ON」が設定されたことを検知した場合、復旧中フラグ4363に「ON」が設定されている間、転送情報ベース441および転送情報ベース461の更新を抑止する。
次に、復旧制御部430は、更新中フラグ4422に「ON」を設定し(ステップS1303)、さらに、コマンド490を用いて、転送エンジン450に対して、転送情報ベース441を用いた転送情報ベース461の復旧を指示する(ステップS1304)。なお、転送エンジン450に送信されるコマンド490のデータ4915には転送情報ベース441に格納された転送先情報が含まれる。
転送エンジン450は、復旧制御部430から転送情報ベース461の復旧の指示を受信した場合、受信した転送情報ベース441に格納された転送先情報を用いて揮発性メモリ460上に転送情報ベース461を復旧する(ステップS1305)。これによって、データ転送装置400の停止前の転送情報ベース461を迅速に復旧できる。転送エンジン450は、転送情報ベース461の復旧後、データの転送処理を再開することができる。
復旧制御部430は、転送エンジン450において転送情報ベース461の復旧が終了した後、更新中フラグ4422に「OFF」を設定する(ステップS1306)。例えば、復旧制御部430は、転送情報ベース441に格納される全ての転送先情報を転送エンジン450に送信した場合、または、転送エンジン450から転送情報ベース461を復旧した旨を通知するコマンド490を受信した場合、転送情報ベース461の復旧が終了したと判定する。
復旧制御部430は、復旧済フラグ4364に「ON」を設定し(ステップS1307)、さらに、復旧中フラグ4363に「OFF」を設定する(ステップS1308)。これによって、転送情報ベース461の復旧処理が終了したことCPU410が検知できる。
CPU410は、復旧中フラグ4363が「ON」から「OFF」に変更されたことを検知した場合、復旧済フラグ4364を読み出し、当該フラグに「ON」が設定されていることを確認した後、コマンド490を用いて転送情報ベース441の読み出しを復旧制御部430に指示する(ステップS1309)。なお、復旧済フラグ4364に「OFF」が設定されている場合、CPU410は、復旧済フラグ4364が「ON」に変更されるまで転送情報ベース441の読み出し指示を行わない。
復旧制御部430は、CPU410から転送情報ベース441の読み出しの指示を受信した場合、転送情報ベース441に格納される転送先情報を読み出し、コマンド490を用いて読み出した転送先情報をCPU410に送信する(ステップS1310)。
CPU410は、読み出された転送情報ベース441に格納される転送先情報に基づいて、再度、ルーティングテーブル421を生成する(ステップS1311)。
具体的には、CPU410は、転送情報ベース441に格納される転送先情報に基づいてルーティングテーブル421を生成する。このとき、CPU410は、ルーティングテーブル421に含まれる各エントリの生成フラグ4213に「OFF」を設定する。
当該処理の後、ネットワークシステム100の運用者によって固定的な転送先情報が設定された場合、または、他のデータ転送装置400とデータの転送先情報を送受信することによって動的に転送先情報が設定された場合等、読み出された転送情報ベース441に基づく転送先情報の復旧以外の方法で転送先情報が設定される場合、CPU410は、エントリの情報を更新し、当該エントリの生成フラグ4213に「ON」を設定する。
CPU410は、一定時間が経過後に生成フラグ4213に「OFF」が設定されているエントリが存在する場合、ルーティングテーブル421から当該エントリを削除する。これによって、不要な転送先情報を削除し、また、古い転送先情報を整理することができる。また、CPU410は、エントリの削除に伴う転送情報ベース461の更新を復旧制御部430に指示する。
図11は、実施例の復旧制御部430が実行する転送情報ベース461の復旧処理を説明するフローチャートである。
データ転送装置400が起動し、CPU410、復旧制御部430、および転送エンジン450が起動した後、復旧制御部430の制御処理部433は以下で説明する処理を開始する。
まず、制御処理部433は、復旧中フラグ4363に「ON」を設定し(ステップS1401)、転送情報ベース461の復旧処理を実行する必要があるか否かを判定する(ステップS1402)。
具体的には、制御処理部433は、有効化フラグ4421に「ON」が設定されているか否かを判定する。有効化フラグ4421に「ON」が設定されている場合、制御処理部433は、転送情報ベース461の復旧処理を実行する必要があると判定する。
転送情報ベース461の復旧処理を実行する必要がない場合(ステップS1402がNO)、制御処理部433は、復旧済フラグ4364に「OFF」を設定し(ステップS1410)、その後、ステップS1409に進む。この場合、有効化フラグ4421に「OFF」が設定されているので、転送情報ベース461の復旧処理は実行されず、CPU410によって通常の起動処理が実行される。
転送情報ベース461の復旧処理を実行する必要がある場合(ステップS1402がYES)、制御処理部433は、転送情報ベース441および転送情報ベース461の更新中にデータ転送装置400が停止した後の再起動であるか否かを判定する(ステップS1403)。
具体的には、制御処理部433は、更新中フラグ4422に「ON」が設定されているか否かを判定する。更新中フラグ4422に「ON」が設定されている場合、制御処理部433は、転送情報ベース441および転送情報ベース461の更新中にデータ転送装置400が停止した後の再起動であると判定する。
転送情報ベース441および転送情報ベース461の更新中にデータ転送装置400が停止した後の再起動である場合(ステップS1403がYES)、制御処理部433は、復旧済フラグ4364に「OFF」を設定し(ステップS1410)、その後、ステップS1409に進む。
転送情報ベース441および転送情報ベース461の更新中にデータ転送装置400が停止した場合、転送情報ベース441および転送情報ベース461に格納される転送先情報に不整合が発生している可能性がある。そのため、転送情報ベース441および転送情報ベース461の更新中にデータ転送装置400が停止した後の再起動である場合、復旧制御部430は、転送情報ベース461の復旧処理の実行を中止し、通常の起動処理が行われるように制御する。
転送情報ベース441および転送情報ベース461の更新中にデータ転送装置400が停止した後の再起動でない場合(ステップS1403がNO)、制御処理部433は、転送情報ベース441に設定された有効期限を経過しているか否かを判定する(ステップS1404)。
具体的には、制御処理部433は、現在時刻4365の時刻が有効期限4424に設定された有効期限内であるかを判定する。
転送情報ベース441に設定された有効期限を経過している場合(ステップS1404がYES)、制御処理部433は、復旧済フラグ4364に「OFF」を設定し(ステップS1410)、その後、ステップS1409に進む。
転送情報ベース441に設定された有効期限を経過している場合、当該転送情報ベース441に格納される転送先情報が古い可能性がある。そのため、復旧制御部430は、古い転送先情報を格納する転送情報ベース441を用いた転送情報ベース461の復旧処理の実行を停止し、通常の起動処理が行われるように制御する。
転送情報ベース441に設定された有効期限を経過していない場合(ステップS1404がNO)、制御処理部433は、更新中フラグ4422に「ON」を設定して(ステップS1405)、揮発性メモリ460上に転送情報ベース461を復旧させる(ステップS1406)。
具体的には、制御処理部433は、不揮発性メモリ440の転送情報ベース441から転送先情報を読み出し、読み出された転送先情報を含むコマンド490を、転送情報ベース461の復旧指示として転送エンジン450に送信する。転送エンジン450は、当該コマンド490を受信した場合、当該コマンド490に含まれる転送先情報に基づいて、転送情報ベース461を復旧する。
制御処理部433は、転送情報ベース461の復旧が終了した後、更新中フラグ4422に「OFF」を設定し(ステップS1407)、さらに、復旧済フラグ4364に「ON」を設定する(ステップS1408)。
制御処理部433は、例えば、転送情報ベース441に格納される全ての転送先情報を転送エンジン450に送信した場合、または、転送エンジン450から転送情報ベース461を復旧した旨を通知するコマンド490を受信した場合、転送情報ベース461の更新が終了したと判定する。
ステップS1408またはステップS1410の処理が実行された後、制御処理部433は、復旧中フラグ4363に「OFF」を設定する(ステップS1409)。その後、制御処理部433は、転送情報ベース461の復旧処理を終了する。
CPU410は、復旧中フラグ4363に「OFF」が設定された場合、転送情報ベース441および転送情報ベース461の更新を再開する。このとき、復旧済フラグ4364の状態に応じて、以下のような処理に分岐する。
復旧済フラグ4364に「ON」が設定されている場合、CPU410は、転送情報ベース441を用いてルーティングテーブル421を再生成して、以後のルーティングテーブル421の更新、並びに転送情報ベース441および転送情報ベース461の更新を行う。
復旧済フラグ4364に「OFF」が設定される場合、CPU410は、揮発性メモリ460の転送情報ベース461が復旧されていないため、CPU410は転送情報ベース441を用いたルーティングテーブル421の生成を行わない。復旧済フラグ4364に「OFF」が設定される場合、転送情報ベース441に誤った転送先情報が格納されている可能性がある。そのため、CPU410は、通常のデータ転送装置400の起動時と同様に、転送情報ベース441および転送情報ベース461を初期化した上で、再度、ルーティングテーブル421を生成し、また、転送情報ベース441および転送情報ベース461を更新する。
なお、通常のデータ転送装置400の起動時における転送情報ベース441および転送情報ベース461を初期化とは、転送情報ベース441および転送情報ベース461に格納される情報を消去し、新たに転送先情報を格納できる状態にすることを示す。また、CPU410は、運用者が予め設定した情報等に基づいて、ルーティングテーブル421を生成する。
転送情報ベース461の復旧中にデータ転送装置400が停止した場合、通常の転送情報ベース441および転送情報ベース461の更新時におけるデータ転送装置400の停止の場合と同様に、転送情報ベース441に不整合が発生する可能性がある。そのため、制御処理部433は、更新中フラグ4422を操作することによって、転送情報ベース461の復旧中にデータ転送装置400が停止した場合であっても、再起動時に復旧処理が実行されるのを回避できる。
なお、図11に示す処理では、ステップS1404において、制御処理部433は、復旧中フラグ4363に「ON」が設定されている場合に、有効期限を経過しているか否かを判定しているが、有効期限を考慮しない場合にはステップS1404の処理を省略してもよい。
以上で説明したように、実施例によれば、復旧制御部430が、不揮発性メモリ440に格納する転送情報ベース461のバックアップデータである転送情報ベース441の更新を制御し、また、データ転送装置400の再起動時には転送情報ベース441の整合性を確認し、整合性がある場合に転送情報ベース441を用いて揮発性メモリ460上に転送情報ベース461を復旧する。
転送情報ベース441および転送情報ベース461に整合性がある場合に不揮発性メモリ440に格納される転送情報ベース441を用いて転送情報ベース461を復旧することによって、データ転送装置400の再起動時に早期のデータ転送を再開することができる。また、転送情報ベース441および転送情報ベース461に整合性がない場合には、当該転送情報ベース441を用いた転送情報ベース461の復旧処理の実行が抑止されるため、誤った転送先へのデータの転送、またはデータ転送装置400の停止等を回避することができる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるCPUが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、およびそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラムまたはスクリプト言語で実装できる。
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段またはCD−RW、CD−R等の記憶媒体に格納し、コンピュータが備えるCPUが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
100 ネットワークシステム
200 ネットワーク
300 端末
400 データ転送装置
410 CPU
420 メインメモリ
421 ルーティングテーブル
430 復旧制御部
431 CPUインタフェース部
432 メモリインタフェース部
433 制御処理部
434 時刻管理部
435 転送エンジンインタフェース部
436 揮発性制御情報
440 不揮発性メモリ
441 転送情報ベース
442 不揮発性制御情報
450 転送エンジン
460 揮発性メモリ
461 転送情報ベース
470 ポート
480 バス
485 回線
490 コマンド
4211 宛先ネットワーク
4212 転送先
4213 生成フラグ
4361 更新開始フラグ
4362 更新終了フラグ
4363 復旧中フラグ
4364 復旧済フラグ
4365 現在時刻
4421 有効化フラグ
4422 更新中フラグ
4423 最終更新時刻
4424 有効期限
4611 アドレス
4612 データ
4911 宛先デバイス
4912 送信元デバイス
4913 コマンド種別
4914 アドレス
4915 データ

Claims (11)

  1. データを転送する転送装置であって、
    前記転送装置は、CPU、前記CPUに接続されるメモリ、前記CPUに接続され、前記転送装置の再起動時における情報の復旧を制御する復旧制御部、前記復旧制御部に接続される不揮発性メモリ、前記復旧制御部に接続され、前記データの転送を制御する転送エンジン、および前記転送エンジンに接続される揮発性メモリを備え、
    前記メモリは、前記データの転送先を示すルーティング情報を格納し、
    前記揮発性メモリは、前記ルーティング情報に対応する情報であり、前記転送エンジンが前記データの転送先を判定する際に用いる第1の転送情報ベースを格納し、
    前記不揮発性メモリは、前記第1の転送情報ベースのバックアップデータである第2の転送情報ベースを格納し、
    前記転送エンジンは、前記第1の転送情報ベースを用いて前記転送装置が受信したデータの転送先を決定して、決定された転送先に前記受信したデータを転送し、
    前記復旧制御部は、
    前記CPUから更新データを含む前記第2の転送情報ベースの更新指示を受信した場合、前記更新データに基づいて前記第2の転送情報ベースを更新し、
    前記転送エンジンに、前記更新データを含む前記第1の転送情報ベースの更新指示を送信し、
    前記転送装置が再起動した場合に、前記第1の転送情報ベースおよび前記第2の転送情報ベースの整合性を確認し、
    前記第1の転送情報ベースおよび前記第2の転送情報ベースの整合性がある場合、前記第2の転送情報ベースを用いて前記第1の転送情報ベースを復旧することを特徴とする転送装置。
  2. 請求項1に記載の転送装置であって、
    前記復旧制御部は、前記第2の転送情報ベースの更新が完了していない状態で前記転送装置が再起動した場合に、前記第1の転送情報ベースおよび前記第2の転送情報ベースの整合性がないと判定することを特徴とする転送装置。
  3. 請求項2に記載の転送装置であって、
    前記不揮発性メモリは、前記第1の転送情報ベースおよび前記第2の転送情報ベースが更新中であることを示す第1のフラグを含む制御情報を格納し、
    前記復旧制御部は、
    前記CPUから前記第2の転送情報ベースの更新の開始指示を受信した場合、前記第1のフラグを有効化し、
    前記CPUから前記第2の転送情報ベースの更新の終了指示を受信した場合に、前記第1のフラグを無効化し、
    前記転送装置の再起動した場合に、前記制御情報を参照して前記第1のフラグが有効化されているかを判定し、
    前記第1のフラグが無効化されていると判定した場合、前記第1の転送情報ベースおよび前記第2の転送情報ベースに整合性があると判定することを特徴とする転送装置。
  4. 請求項3に記載の転送装置であって、
    前記復旧制御部は、
    前記第1の転送情報ベースおよび前記第2の転送情報ベースに整合性があると判定した場合、前記第1のフラグを有効化し、
    前記第1の転送情報ベースが復旧したことを検知した場合、前記第1のフラグを無効化することを特徴とする転送装置。
  5. 請求項3に記載の転送装置であって、
    前記制御情報は、前記第2の転送情報ベースを前記第1の転送情報ベースの復旧に用いる有効期間を示す期間情報を含み、
    前記復旧制御部は、
    前記第1のフラグが無効化されていると判定した場合、前記制御情報から前記期間情報を取得し、
    現在の時刻および前記期間情報に基づいて、前記有効期間を経過しているかを判定し、
    前記有効期間が経過していないと判定した場合、前記第1の転送情報ベースおよび前記第2の転送情報ベースに整合性があると判定することを特徴とする転送装置。
  6. 請求項3に記載の転送装置であって、
    前記ルーティング情報は、データの転送先を示す複数の転送先情報を格納し、
    前記転送先情報は、前記第2の転送情報ベースに基づいて当該転送先情報が生成されていないことを示す第2のフラグを含み、
    前記CPUは、
    前記復旧制御部によって前記第1の転送情報ベースが復旧されたことを検知した場合、前記不揮発性メモリから前記第2の転送情報ベースを読み出し、
    前記読み出された第2の転送情報ベースを用いて前記転送先情報を生成することによって前記ルーティング情報を復旧し、
    前記復旧したルーティング情報に格納される前記転送先情報に含まれる前記第2のフラグを無効化し、
    前記復旧したルーティング情報に格納される前記転送先情報が更新された場合、前記更新された転送先情報に含まれる前記第2のフラグを有効化し、
    前記復旧したルーティング情報に格納される前記転送先情報のうち、前記第2のフラグが無効化された前記転送先情報が一定期間更新されない場合、前記ルーティング情報から前記第2のフラグが無効化された前記転送先情報を削除することを特徴とする転送装置。
  7. データを転送する転送装置の再起動時にバックアップデータを用いた復旧処理を制御する復旧制御装置であって、
    前記転送装置は、CPUおよび転送エンジンを有し、
    前記復旧制御装置は、前記CPUと前記転送エンジンとの間を接続し、
    前記CPUに接続されるメモリには、前記データの転送先を示すルーティング情報が格納され、
    前記転送エンジンに接続される揮発性メモリには、前記ルーティング情報に対応する情報であり、前記転送エンジンが前記データの転送先を判定する際に用いる第1の転送情報ベースが格納され、
    前記復旧制御装置は、
    前記第1の転送情報ベースのバックアップデータである第2の転送情報ベースを格納する不揮発性メモリと接続し、
    前記CPUから更新データを含む前記第2の転送情報ベースの更新指示を受信した場合、前記更新データに基づいて前記第2の転送情報ベースを更新し、
    前記転送エンジンに、前記更新データを含む前記第1の転送情報ベースの更新指示を送信し、
    前記転送装置が再起動した場合に、前記第1の転送情報ベースおよび前記第2の転送情報ベースの整合性を確認し、
    前記第1の転送情報ベースおよび前記第2の転送情報ベースの整合性がある場合、前記第2の転送情報ベースを用いて前記第1の転送情報ベースを復旧することを特徴とする復旧制御装置。
  8. 請求項7に記載の復旧制御装置であって、
    前記第2の転送情報ベースの更新が完了していない状態で前記転送装置が再起動した場合に、前記第1の転送情報ベースおよび前記第2の転送情報ベースの整合性がないと判定することを特徴とする復旧制御装置。
  9. 請求項8に記載の復旧制御装置であって、
    前記不揮発性メモリは、前記第1の転送情報ベースおよび前記第2の転送情報ベースが更新中であることを示す第1のフラグを含む制御情報を格納し、
    前記復旧制御装置は、
    前記CPUから前記第2の転送情報ベースの更新の開始指示を受信した場合、前記第1のフラグを有効化し、
    前記CPUから前記第2の転送情報ベースの更新の終了指示を受信した場合に、前記第1のフラグを無効化し、
    前記転送装置の再起動した場合に、前記制御情報を参照して前記第1のフラグが有効化されているかを判定し、
    前記第1のフラグが無効化されていると判定した場合、前記第1の転送情報ベースおよび前記第2の転送情報ベースに整合性があると判定することを特徴とする復旧制御装置。
  10. 請求項9に記載の復旧制御装置であって、
    前記第1の転送情報ベースおよび前記第2の転送情報ベースに整合性があると判定した場合、前記第1のフラグを有効化し、
    前記第1の転送情報ベースが復旧したことを検知した場合、前記第1のフラグを無効化することを特徴とする復旧制御装置。
  11. 請求項9に記載の復旧制御装置であって、
    前記制御情報は、前記第2の転送情報ベースを前記第1の転送情報ベースの復旧に用いる有効期間を示す期間情報を含み、
    前記復旧制御装置は、
    前記第1のフラグが無効化されていると判定した場合、前記制御情報から前記期間情報を取得し、
    現在の時刻および前記期間情報に基づいて、前記有効期間を経過しているかを判定し、
    前記有効期間が経過していないと判定した場合、前記第1の転送情報ベースおよび前記第2の転送情報ベースに整合性があると判定することを特徴とする復旧制御装置。
JP2015028668A 2015-02-17 2015-02-17 転送装置および復旧制御装置 Active JP6322592B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015028668A JP6322592B2 (ja) 2015-02-17 2015-02-17 転送装置および復旧制御装置
US14/857,951 US10082967B2 (en) 2015-02-17 2015-09-18 Transfer apparatus and recovery control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015028668A JP6322592B2 (ja) 2015-02-17 2015-02-17 転送装置および復旧制御装置

Publications (2)

Publication Number Publication Date
JP2016152492A JP2016152492A (ja) 2016-08-22
JP6322592B2 true JP6322592B2 (ja) 2018-05-09

Family

ID=56622139

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015028668A Active JP6322592B2 (ja) 2015-02-17 2015-02-17 転送装置および復旧制御装置

Country Status (2)

Country Link
US (1) US10082967B2 (ja)
JP (1) JP6322592B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7151548B2 (ja) * 2019-02-26 2022-10-12 富士通株式会社 異常検知プログラム、異常検知方法及び異常検知装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10232849A (ja) * 1997-02-19 1998-09-02 Fujitsu Ltd ディスク制御装置
US6564228B1 (en) * 2000-01-14 2003-05-13 Sun Microsystems, Inc. Method of enabling heterogeneous platforms to utilize a universal file system in a storage area network
JP2002049502A (ja) * 2000-08-01 2002-02-15 Fujitsu Ltd 複数プロセッサシステムにおけるアップデート方式
US7805583B1 (en) * 2003-04-23 2010-09-28 Emc Corporation Method and apparatus for migrating data in a clustered computer system environment
US7573880B2 (en) * 2003-11-12 2009-08-11 Agere Systems Inc. Set-associative memory architecture for routing tables
US7657186B2 (en) * 2004-03-05 2010-02-02 Finisar Corporation Consistency checking over internal information in an optical transceiver
US7506194B2 (en) * 2004-03-24 2009-03-17 Cisco Technology, Inc. Routing system and method for transparently rocovering routing states after a failover or during a software upgrade
JP4622490B2 (ja) * 2004-12-02 2011-02-02 株式会社日立製作所 データ転送装置
US8751467B2 (en) * 2007-01-18 2014-06-10 Dot Hill Systems Corporation Method and apparatus for quickly accessing backing store metadata
US8040900B2 (en) * 2008-07-16 2011-10-18 International Business Machines Corporation N-port network adaptor
US20100318746A1 (en) * 2009-06-12 2010-12-16 Seakr Engineering, Incorporated Memory change track logging
JP5488346B2 (ja) * 2010-08-30 2014-05-14 富士通株式会社 ストレージシステム、制御装置および制御方法
JP5703860B2 (ja) * 2011-03-09 2015-04-22 日本電気株式会社 フォールトトレラントシステム、メモリ制御方法、及びプログラム
US8862865B2 (en) * 2011-08-30 2014-10-14 International Business Machines Corporation Rebooting infiniband clusters
JP2013187601A (ja) 2012-03-06 2013-09-19 Sony Corp ルータ、ルータ内記憶部の電源供給方法
JP2014014052A (ja) * 2012-07-05 2014-01-23 Alaxala Networks Corp ネットワーク通信装置及びメモリの修復方法
US9128887B2 (en) * 2012-08-20 2015-09-08 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Using a buffer to replace failed memory cells in a memory component
US9798631B2 (en) * 2014-02-04 2017-10-24 Microsoft Technology Licensing, Llc Block storage by decoupling ordering from durability

Also Published As

Publication number Publication date
JP2016152492A (ja) 2016-08-22
US20160239225A1 (en) 2016-08-18
US10082967B2 (en) 2018-09-25

Similar Documents

Publication Publication Date Title
JP5346253B2 (ja) ファームウェア更新システム、及び情報機器、並びにプログラム
WO2017107900A1 (zh) 一种虚拟机恢复的方法及虚拟机管理设备
US20140297597A1 (en) Computer system and management method for the same
CN105027070A (zh) 卷操作的安全性
JP2005196683A (ja) 情報処理システム、情報処理装置、及び情報処理システムの制御方法
JP4990332B2 (ja) データバックアップ管理システム、計算機システム及びプログラム記録媒体
CN102132259A (zh) 固件更新系统,固件传输服务器、固件整合设备以及程序
CN102238093A (zh) 防止业务中断的方法和装置
JP2010020570A (ja) 情報処理システム及びデータ回復方法
JP2007310631A (ja) ストレージシステム及びそのリカバリボリューム作成方法
KR101983208B1 (ko) 데이터 관리 방법, 노드, 그리고 데이터베이스 클러스터를 위한 시스템
WO2011036707A1 (en) Computer system for controlling backups using wide area network
CN105278882A (zh) 一种分布式文件系统的磁盘管理方法
JP2007018312A (ja) ディスクアレイ装置及びその制御方法
JP6322592B2 (ja) 転送装置および復旧制御装置
EP2966572B1 (en) Database device, program, and data processing method
JP2012234482A (ja) 記憶制御装置及びその制御方法、並びにプログラム
CN111880969B (zh) 存储节点恢复方法、装置、设备和存储介质
JP2007080012A (ja) 再起動方法、システム及びプログラム
CN103631533A (zh) 计算装置以及计算装置的操作方法
JP6575157B2 (ja) ファームウェアのダウンロード方法及びファームウェア組込機器
KR101456104B1 (ko) 비휘발성 메모리를 위한 듀얼 버퍼링 파일 관리 방법, 파일 관리 시스템 및 대용량 저장 장치
WO2017054643A1 (zh) 一种数据抢救方法及文件服务器
JP2016053927A (ja) 情報処理装置、ストレージ制御装置、情報処理プログラムおよびストレージ制御プログラム
CN107111459B (zh) 存储系统及其控制方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180222

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180409

R150 Certificate of patent or registration of utility model

Ref document number: 6322592

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250