JP5707409B2 - 計算機 - Google Patents

計算機 Download PDF

Info

Publication number
JP5707409B2
JP5707409B2 JP2012532731A JP2012532731A JP5707409B2 JP 5707409 B2 JP5707409 B2 JP 5707409B2 JP 2012532731 A JP2012532731 A JP 2012532731A JP 2012532731 A JP2012532731 A JP 2012532731A JP 5707409 B2 JP5707409 B2 JP 5707409B2
Authority
JP
Japan
Prior art keywords
computer
input
request
task
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012532731A
Other languages
English (en)
Other versions
JPWO2012032572A1 (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Ltd filed Critical Hitachi Ltd
Publication of JPWO2012032572A1 publication Critical patent/JPWO2012032572A1/ja
Application granted granted Critical
Publication of JP5707409B2 publication Critical patent/JP5707409B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/182Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits based on mutual exchange of the output between redundant processing components
    • 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/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • G06F11/184Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • 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/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1687Temporal synchronisation or re-synchronisation of redundant processing components at event level, e.g. by interrupt or result of polling

Description

本発明は、計算機に関するものである。
計算機システムにおけるシステム稼働時間を長時間化するために、計算機を多重化する技術が存在している。 また、システム停止時間を最小化するための計算機として、フォールト・トレラントコンピュータ(Fault tolerant computer)がある(特許文献1参照)。
デュアルシステムやフォールトトレラントシステムにおいては、入出力などのプロセッサ処理ステップについて、実行の度に計算機間で互いに内容を送受信し、同期的に(すなわち並列に)同一処理を実施する「クロック同期」という技術がある。
一方、近年ではネットワークの高速化、及び計算機の汎用化に伴い、専用ハードウェアではなく、一般的なハードウェア・ネットワークを利用して複数計算機を接続する技術が発達してきた。これを用いたフォールトトレラントシステムとして、「仮想計算機同期」方式が提案されている。これは、対象となるオペレーティングシステム・アプリケーションソフトウェアを仮想計算機上で実行し、仮想計算機への入力、および、仮想計算機の動作を他の仮想計算機に転送し、当該仮想計算機上で動作を再現するものである(特許文献2参照)。
特開平8−314744号公報 US2010/0107158
前述した「クロック同期」方式はプロセッサの動作ステップ毎に計算機間で動作を一致させるものであり、専用ハードウェアによるプロセッサ動作ステップの観測・制御が必要である。しかし、近年はプロセッサと周辺チップセットの統合・高集積化が顕著になるにつれ、このようなプロセッサに対する動作ステップの観測・制御は困難になってきている。
さらに、「クロック同期」方式はプロセッサの入出力の度にノード間で同期処理を行うため、プロセッサの動作クロックを上げると同期処理によるオーバーヘッドが増加するという問題がある。
一方、「仮想計算機同期」方式は計算機に対する入力を仮想計算機のプロセッサ動作ステップ単位の精度にて観測し、他の仮想計算機上で再現することで同一の動作を再現するものである。これは、入力の内容及びタイミングが同一であれば観測時・再現時の動作が同一になるという前提により成り立つ。しかし、仮想計算機が複数プロセッサを備える場合には、プロセッサ間の動作順序が観測時と再現時で異なり、入力を完全に一致させても同一の動作とならない場合がある。従って、複数プロセッサを用いる場合にこの方式は適用できない。
そこで、専用ハードウェアを用いることなく、複数プロセッサを用いて複数のタスクが並列動作しお互いに影響を及ぼしあう場合においても、低オーバーヘッドでの同期処理が可能な技術を提供する。
計算機は少なくとも一の他の計算機と接続されている。計算機が有するプロセッサは、当該プロセッサが実行しているタスクにおいて入力若しくは出力要求を処理する際に、当該計算機の識別子と、当該タスクの識別子と、当該要求のアクセス対象の識別子とを含む要求通知を他の計算機に送信すると共に、他の計算機から当該他の計算機が送信した要求通知を受信する。プロセッサは、受信した要求通知の内容をメモリに格納し、メモリに格納された要求通知の内容に基づいて、プロセッサが処理しようとしている要求と、他の計算機のプロセッサが処理しようとしている要求とを比較する。そして、比較結果に基づいて、プロセッサが処理しようとしている要求の処理の可否を決定する。
複数のタスクが並列動作しお互いに影響を及ぼすような場合において、専用ハードウェアを用いることなく、低オーバーヘッドでの同期処理を行うことが可能となる。
フォールトトレラントシステムの構成例を示す図である プロセッサがタスクを実行するフローの一例を示す図である プロセッサが入出力について同期を行うフローの一例を示す図である 入出力要求の内容の一例を示す図である 入出力要求テーブルの一例容を示す図である 入出力要求通知の内容の一例を示す図である タスクの実行可否を判定するフローの一例を示す図である 入出力要求テーブルの他の一例を示す図である 入出力要求通知の他の一例を示す図である タスクの実行可否を判定するフローの他の一例を示す図である 異常計算機ノードの検知・切り離しを実現するための基盤ソフトウェアの構成例を示す図である 計算機ノード管理処理の一例を示す図である 計算機ノード管理テーブルの一例を示す図である タスク管理テーブルの一例を示す図である プロセッサが入出力について同期を行うフローの他の一例を示す図である 入出力要求テーブルの他の一例を示す図である 入出力要求通知の内容の他の一例を示す図である リーダにおけるプロセッサが入出力について同期を行うフローの一例を示す図である フォロワにおけるプロセッサが入出力について同期を行うフローの一例を示す図である 追従可否通知の内容の一例を示す図である 追従可否テーブルの一例を示す図である
本発明の実施形態について、図を用いて詳細に説明する。まず、本発明の基本形態である第一の実施形態について述べる。その後、タスクの実行条件を緩和した第二の実施形態、計算機ノードの異常に対する対策を加えた第三の実施形態、計算機ノード間の通知によるオーバーヘッドを軽減する工夫を加えた第四の実施形態について、第一の実施形態との差異として述べる。
‐‐‐‐第一の実施形態‐‐‐‐
図1は、本実施形態のフォールトトレラントシステム1の構成図である。フォールトトレラントシステム1は2台以上の計算機ノード10とVoter2から構成される。図1において計算機ノードは10−A、10−B、10−Cの3台が存在するが、本発明は計算機ノード10が3台の場合に限らない。フォールトトレラントシステム1はVoter2を介してフォールトトレラントシステム1外部の1台以上の端末3との入出力を行う。Voter2は少なくとも端末3からの入力を各計算機ノード10に分配する機能と、端末3への出力について各計算機ノード10からの出力を受け取り、端末3へ転送する機能を備える。端末3への転送に際しては、Voter2は各計算機ノード10から取得した出力について多数決等の方法により妥当性のあるものを選択し、これを転送する。Voter2が複数個存在して多重構成をとっていてもよく、また、各計算機ノード10の機能として実装されていてもよい。
各計算機ノード10は少なくともメモリ11、1つ以上のプロセッサ12、ノード間通信インタフェース15を備える。フォールトトレラントシステム1内の計算機ノード10は、ノード間通信インタフェース15を介して互いに接続されている。
この他、計算機ノード10は、計算機ノード内の記憶装置13、外部通信インタフェース14を備えていてもよい。また、ノード間通信インタフェース15が外部通信インタフェース14の機能を兼ねてもよい。ただし、記憶装置13、外部通信インタフェース14の有無はフォールトトレラントシステム内の全計算機ノード10で同一である。
メモリ11は、少なくともアプリケーションソフトウェア20と基盤ソフトウェア30を保持する。アプリケーション20は、一つ以上のタスク21から構成される。アプリケーションソフトウェア20を構成するタスク21は、フォールトトレラントシステム1を構成する全計算機ノード10で同一である。基盤ソフトウェア30は複数のタスク21を実行することのできるマルチタスク実行可能なオペレーティングシステムであり、少なくともスケジューラ31、入出力要求検出処理32、入出力判定処理33、入出力実行処理34、ノード間通信処理35、入出力要求テーブル36、要求受付処理38を備える。この他、基盤ソフトウェア30はタスク間共有記憶37を備えていてもよい。
図2は、アプリケーションソフトウェア20内タスク21と基盤ソフトウェア30内スケジューラ31に基づくプロセッサ12の動作を示したものである。
まず、プロセッサ12がスケジューラ31の処理を実行し、一つ以上のタスク21の中から実行すべきものを一つ選択する(S11)。プロセッサ12は、このタスク21の実行を開始する(S12)。プロセッサ12はタスク21として記載された処理の一部を順に実行する(S13)。タスク21内の処理には、メモリの確保・解放、入出力処理など、基盤ソフトウェア30の機能を呼び出すものもある。このような処理の実体は基盤ソフトウェア30内に存在するため、タスク21内では単に要求受付処理38にある特定機能に対する要求発行として記載される。このようにタスク21内の処理が基盤ソフトウェア30への要求であった場合(S14)、当該要求に対応する処理が直ちに完了するものでない場合(S15)は、プロセッサ12は再びスケジューラ31の処理を実行して他のタスク21を選択・実行する。処理が基盤ソフトウェア30への要求でない場合、あるいは要求に対応する基盤ソフトウェア30内の処理が直ちに完了した場合でも、実行中タスク21が最優先でなくなった場合(S16)に、プロセッサ12は再びスケジューラ31の処理を実行して他のタスク21を選択・実行する。ここで述べた実行中タスク21が最優先でなくなった場合とは、例えば実行中タスク21の連続実行時間が一定以上となった場合、または、より高優先度の別タスク21の実行が可能となった場合である。実行中タスク21が最優先である場合は、タスク21の処理の続きを実行する(S13)。これらの動作は、プロセッサ12が計算機ノード10内に複数存在する場合は各プロセッサ12が各々実行する。各プロセッサ12の動作は原則として独立である。
本フォールトトレラントシステム1では計算機ノード10間でクロック同期を行わないため、各計算機ノード10間で、各プロセッサ12の動作を完全に一致させることができない。例えば、プロセッサ内キャッシュ動作の差異による動作タイミングのずれ、基盤ソフトウェア30の内部状態の差異による基盤ソフトウェア30の動作不一致が考えられる。一方、フォールトトレラントシステム1を実現するにあたって、アプリケーションソフトウェア20に関する計算機ノード10間の致命的な動作不一致は許容されない。致命的な動作不一致とは、例えば計算機ノード10内間で、各タスク21内にある条件判定にて計算機ノード10間で異なる結果となり別々の処理が実行されること、または計算機ノード10同士でアプリケーションソフトウェア20に関する出力が異なることである。これを防止するため、本発明ではVoter2による外部入力データの各計算機ノード10への配信の他に、以降で述べる構成・動作を採用する。
図3は、プロセッサ12があるタスク21−aの処理として入出力処理を実行する際の、タスク21−a及び基盤ソフトウェア30、の動作を示したものである。ここで述べる入出力とは、例えばタスク間共有記憶37または記憶装置13内の特定領域に対する読み書き、外部通信インタフェース14を用いたFTシステム1外部の装置との送受信である。タスク21における入出力処理は、要求受付処理38に対する入出力要求40の発行として記述される(S20)。図4に示す通り、入出力要求40には少なくとも入出力対象及び必要に応じて対象内のアドレス等の情報を含む入出力対象情報41、入出力要求40において要求する入出力種別42、入出力を行うデータのサイズ43、さらに、入出力要求40が出力に関するものである場合のみ、出力データ44を含む。
プロセッサ12はこの入出力要求40を入出力要求検出処理32にて検出し(S21)、入出力要求情報55を入出力要求テーブル36に登録する(S22)。入出力要求テーブル36は計算機ノード10内で共通であり、同じ計算機ノード10内の各プロセッサ12は同一の入出力要求テーブル36を更新・参照する。図5に示す通り、入出力要求テーブル36は少なくとも入出力対象識別子51、計算機ノード識別子52、タスク識別子53、シーケンス番号54を含む。入出力対象識別子51は入出力対象情報41に記載され得る入出力対象部位・インタフェースとそれらの上のアドレスについて、一度にアクセスの対象となり得る単位毎に、入出力対象情報41から一意に定まる符号を付与したものである。例えば、ある入出力対象識別子51はタスク間共有記憶37の特定領域を表し、また、ある入出力対象識別子51は外部通信インタフェース14のうちの一つを表す。シーケンス番号54は、当該計算機10上にて入出力要求テーブル36に登録される入出力要求情報55に対して、同一の入出力対象識別子51を持つ入出力要求情報55毎に割り当てられるシーケンス番号である。異なる入出力対象識別子51に関する入出力要求情報55であればそれらのシーケンス番号54は無関係である。
また、プロセッサ12は、ノード間通信処理35にて、図6に示す入出力要求通知50を他計算機ノード10に送信するようノード間通信インタフェース15に指示する(S23)。ノード間通信インタフェースは、入出力要求通知50をフォールトトレラントシステム1内の全計算機ノード10に送信する。また、プロセッサ12はノード間通信処理35にて他計算機ノード10からの入出力要求通知50を受信し、これに基づき入出力要求テーブル36を更新する(S24)。ノード間通信処理35による入出力通知50の受信および入出力要求テーブル36の更新は、計算機ノード10内の特定のプロセッサ12が、タスク12とは非同期に行ってもよい。
プロセッサ12は入出力判定処理33にて入出力実行条件の成否判定を行い(S25)、未成立である限り入出力の実行を保留する(S26)。この間、プロセッサ12は他のタスクの実行を行ってもよい。
入出力実行条件の成否判定方式としては様々なものが考えられるため、ここでは一種類について記載し、その他の方式については第二移行の実施形態として各々記載する。本実施形態では、フォールトトレラントシステム1内で計算機ノード識別子A、B、Cを持つ、計算機ノード10−A、10−B、10−Cの3台が同期して動作する場合を例に説明する。
各計算機ノード10が相互に入出力要求通知50を伝達し、入出力要求テーブル36を更新することは既に述べた。これに基づき、プロセッサ12が自身の計算機ノード10内の入出力要求テーブル36を参照しながら、図7に示すフローを実行することでタスクの実行可否を判定する。
まず、判定対象となるタスクTの入出力要求が全計算機ノードで実行待ちであるか、すなわち入出力要求テーブル36に、当該タスクTのタスク識別子53と同一のタスク識別子53を備えた入出力要求情報55が、全計算機ノード識別子52について現れているか判定する(S31)。この条件を満たしていない場合、例えば図5におけるタスク識別子T2のタスクは、当該入出力要求を実行できない計算機ノードがあるため計算機ノード10−A、計算機ノード10−C上では勿論、計算機ノード10−Bにおいても実行条件不成立とする(S35)。タスクTの入出力要求が全計算機ノード上で実行待ちである場合、次に同じ入出力対象Rについて、フォールトトレラントシステム内の他の計算機ノード10においてTと同様に入出力実行待ちである他のタスクT’が存在するか、すなわち入出力要求テーブル36内に、入出力対象識別子51が同一でありタスク識別子53が異なる入出力要求情報55が現れているか判定する(S32)。先に述べたT’が存在しない場合、当該入出力要求は入出力対象Rについて全計算機ノード10上で唯一実行可能なものであるため、当該タスクTは実行条件成立となる(S34)。
T’が存在する場合、計算機ノード10毎にTとT’の実行順序が異なると計算機ノード10間の動作不一致となるため、計算機ノード10間で動作順序を一致させる必要がある。このため、条件に当てはまる全T’について、各計算機ノード10毎にTとT’のいずれが先に入出力要求テーブル36に現れたかを判定する。すなわち、同一の入出力対象識別子51、同一の計算機ノード識別子52を持つ複数の入出力要求情報55について、Tの入出力要求情報55とT’の入出力情報56のシーケンス番号54の大小を比較する。特定計算機ノードについてT’の入出力要求情報が現れていない場合、Tのシーケンス番号54がT’のものよりも小さいものとして扱う。以降、本実施形態、及び、他の実施形態において、入出力要求テーブル36におけるタスク21の出現順の判定は、同様にシーケンス番号の比較によって行う。もし任意のT’について、T’がTより先に出現している計算機ノード10の数が多い、すなわち入出力要求テーブル36内で(Tのシーケンス番号54)>(T’のシーケンス番号54)となっている計算機ノード10の数が、(Tのシーケンス番号54)<(T’のシーケンス番号54)となっている計算機ノード10の数よりも多い場合、T’はTより優先して実行すべきものとする。この場合、Tより優先して実行すべきタスクT’が存在するため、Tは実行条件不成立となる(S35)。例えば、図5におけるタスク識別子T3のタスクの実行条件判定を行う場合、計算機ノードA、計算機ノードCにてタスク識別子T4のタスクがタスク識別子T3のタスクより先に現れているため、T3の実行条件は不成立である。逆に、上記条件を満たすタスクT’が存在しない場合、タスクTは実行条件成立となる(S34)。例えば、図5におけるタスク識別子T4のタスクは実行条件成立となる。尚、異なる判定結果となる計算機ノード10が判定結果毎に同数の場合は、例えば特定の計算機ノード10が含まれる集合を多数派として扱うなどの方法で多数派が一意に定まるよう判定条件を設ける。この、計算機ノード数が同数となった場合の判定基準は、本発明に現れる計算機ノード数を比較する判定処理全てについても同様である。
条件が成立した場合、入出力実行処理34にて入出力処理を実行する(S27)。入出力実行処理34は、タスク間共有記憶37や記憶装置13内の特定の領域に対する読み書きや、外部通信インタフェース14に対する送信要求または受信内容の取得要求である。入出力実行処理34は別のプロセッサ12に対して実行を依頼してもよく、また、完了までの間他のタスク21を実行してもよい。
以上で述べた方式により、全計算機ノード10において、計算機10外部または他のタスク21への影響を及ぼす入出力処理を計算機ノード間で同期して実行することができる。
‐‐‐‐第二の実施形態‐‐‐‐
第二の実施形態として、図7に示したフローによるタスクの実行条件を緩和し、より効率的なタスク実行を行う構成について述べる。本方式では、図5、図6に示した入出力要求テーブル36、入出力要求通知50の代わりに各々図8、図9に示したものを、図7に示したフローの代わりに図10に示したものを用いる。
本実施形態では、入出力要求テーブル36、入出力要求通知50に状態変化有無情報56を含む。状態変化有無情報56は、当該入出力要求を実行した場合に状態変化が発生するか否かを示す情報である。例えば、記憶装置13やタスク間共有記憶37からの読み込み要求は状態変化が発生せず、書き込み要求は状態変化が発生する。また、外部通信インタフェース14に対する送受信要求は、送信は勿論のこと、受信に関しても外部通信インタフェース14の内部バッファの状態が変化する場合などは状態変化有とする。状態変化情報56は、図3のフロー中の入出力要求情報登録(S22)、入出力要求通知送信指示(S23)の際に、入出力要求40内の入出力対象情報41と入出力種別42に基づき設定する。
本実施形態において、入出力実行条件の判定方式として図10のフローを用いる。全計算機ノード10が入出力要求の実行待ちになるのを待たない点、状態変化を伴わない入出力要求同士の実行順序を入れ替える点において第一の実施形態と異なる。まず、判定対象となるタスクTの入出力要求が過半数の計算機ノードで実行待ちであるか、すなわち入出力要求テーブル36に、当該タスクTのタスク識別子53と同一のタスク識別子53を備えた入出力要求情報55が、過半数の計算機ノード識別子52について現れているか判定する(S41)。次に、同一入出力対象について実行待ちである他のタスクT’が存在するか判定する点は第一の実施形態と同様である(S42)。T’が存在する場合、第一の実施形態と同様にTとT’のいずれが入出力要求テーブル36に現れたか、シーケンス番号54に基づき判定する(S43)。ただし、ある計算機ノード10についてTが現れていない場合、T’の出現有無に関わらずT’が先に出現したものとして扱う。この判定にてTが最優先となった場合は第一の実施形態と同様にタスクTの実行条件成立と判定する。例えば、図8の入出力要求テーブル36において、入出力対象識別子R3の入出力対象についてタスク識別子T5のタスクは第一の実施形態では計算機ノード10−Bにて入出力要求が発生していないため実行条件未成立だが、本実施形態では実行条件成立となる。他のタスクT’が最優先となった場合には、第一の実施形態と異なり、TとT’の状態変化有無56を参照し、それらのタスクによる入出力要求が状態変化を伴うか判定する(S46)。全て状態変化無である場合はTの実行条件が成立と判定する(S44)。例えば、図8の入出力要求テーブル36において、入出力対象識別子R3の入出力対象についてタスク識別子T6のタスクはS44の条件を満たすため実行条件成立となる。Tが状態変化を伴う場合、またはT’のいずれかが状態変化を伴う場合はTの実行条件不成立と判定する(S45)。例えば、入出力対象識別子R2の入出力対象についてタスク識別子T3のタスクは状態変化を伴うためS44の条件を満たさず、従って実行条件未成立である。
以上で述べた通り、第二の実施形態では、少数の計算機ノード10上にて特定タスクの動作が遅れた場合や、状態変化を伴わない入出力要求が多数発生した場合に、第一の実施形態に比べてタスクの実行を遅延なく行うことができる。
‐‐‐‐第三の実施形態‐‐‐‐
第三の実施形態では第一の実施形態に対して、フォールトトレラントシステム1を構成する計算機ノード10の一部に異常が発生した場合に、これを検知して切り離すことができる方式を実現する。この方式では、図1の基盤ソフトウェア30を図11に示すもので置き換え、基盤ソフトウェア30に図12に示すノード管理処理61、図13に示すノード管理テーブル62、図14に示すタスク管理テーブル64を追加し、図7のフローに代わり図15のフロー、図5、図6に示した入出力要求テーブル36、入出力要求通知50の代わりに図16、図17に示したものを用いる。
この方式では、計算機ノード10間のハートビートによる生存監視、入出力要求情報55の比較照合によるタスク動作不一致の検出、入出力要求情報にタスク時間見積情報を付与することによるタスク動作タイムアウトの検知を実現する。本実施形態は簡単のため第一の実施形態に対する拡張として記述するが、第二の実施形態との複合も可能である。
第三の実施形態では、基盤ソフトウェア30は新たにノード管理処理61、ノード管理テーブル62、タスク管理テーブル64を備える。ノード管理処理61は、少なくともノード間通信処理35に対して生存監視パケットの送信を指示する計算機ノード管理情報送信処理71と、基盤ソフトウェア30内の任意の処理に基づき定期的にノード間通信処理35に対して生存監視パケットの受信を指示する計算機ノード管理情報受信処理72、一定時間生存監視パケットの受信が無かった場合に送信元の計算機ノード10について異常状態と判定する計算機ノード異常判定処理73を備える。計算機ノード管理情報送信処理71、計算機ノード管理情報受信処理72、計算機ノード異常判定処理73は、各計算機ノード10上の任意のプロセッサ12が定期的に実行する。また、ノード管理処理61は、計算機ノード異常判定処理73やその他基盤ソフトウェア30で検出した異常に基づき、ノード管理テーブル62に反映する他計算機ノード切り離し処理74、他計算機ノード10に対する切り離し実行通知の送信をノード間通信インタフェース15に指示するとともにノード管理テーブル62への反映を行う自計算機ノード切り離し処理75、タスク管理テーブル64と入出力要求テーブル36を照合しタスクの異常を検知するタスク異常検知処理76、を備える。
ノード管理テーブル62は、フォールトトレラントシステム1内の全計算機ノード10について同期動作中であるか否かを示すものである。ノード管理テーブル62は図13に示す通り、少なくとも計算機ノード識別子52と同期状態情報63を含む。入出力判定処理33とノード間通信処理35では、同期状態情報63に同期状態と記載されている計算機ノード10に関してのみ通信・入出力判定の対象とする。また、ノード管理処理61による他計算機ノード切り離し処理74は、ノード管理テーブル62内の対象計算機ノード10に対応するノード識別子52の項について、同期状態情報63を非同期状態に書き換えるものである。
タスク管理テーブル64は、計算機ノード10上での各タスク21に関して、各々前回の入出力要求後に行った処理の量を表すものである。タスク管理テーブル64は図14に示す通り、少なくともタスク識別子52の他、プロセッサ消費時間情報65と要求完了待ち実時間66と要求完了待ち最大時間67を備える。これらは各々、プロセッサ12があるタスク21について前回の入出力要求後の処理に費やした時間の合計、あるタスク21について要求完了待ちS15により動作を保留した時間の合計、要求完了待ちS15発生時に、対象となる要求の種類毎の、要求の完了までに要する時間の最大見積値の合計である。プロセッサ12は、スケジューラ31、及び、要求受付処理38の実行時に、前者においてはタスクが動作した時間をプロセッサ消費時間情報65に加算し、後者においては要求の実行に要した時間を要求完了待ち実時間66に加算、要求の内容に応じた最大見積時間を要求完了待ち最大時間67に加算する。また、タスク管理テーブル64は、各計算機ノード10上でタスクの動作が一致していたか照合するための情報である、タスク動作情報68を備えていてもよい。
本実施形態では、タスク21にて入出力要求が発生した場合に、プロセッサ12が図15に示すフローを実行する。本フローは図3に示した第一の実施形態のフローと類似するため、差異のみ説明する。まず、入出力要求情報の登録(S22)、入出力要求通知送信指示(S23)の際に、タスク管理テーブル64内のタスク21−aに関するプロセッサ消費時間65、要求完了待ち実時間66、要求完了待ち最大時間67を参照してこれを各々入出力要求テーブル36(図16)内、入出力要求通知50(図17)内に含める。また、プロセッサ12は入出力要求照合(S51)において、当該タスクに関する自計算機ノード10の入出力要求情報55と他計算機ノード10の入出力情報55を比較する。同一のタスク識別子53を持ち、計算機ノード識別子52が自計算機ノードと異なる入出力要求情報55、すなわち、他の計算機ノード上で同一タスク12が行った入出力要求に関する情報について、少なくとも入出力対象識別子51が一致しているか判定する。入出力対象識別子51以外にも、例えば第二の実施形態にて入出力要求情報55に含めた状態変化有無情報56など、計算機ノード10間でタスク12が同様の動作を行ったか判断するために有用な情報があれば、それらも一致判定の対象としてよい。また、入出力要求通知50、入出力要求テーブル36に、図4に示した入出力40中の入出力対象情報41、入出力種別42、入出力サイズ43、出力データ44そのもの、または出力データ44のハッシュ値などの情報を入出力要求通知にタスク動作情報68として含め、一致判定の対象としてもよい。本判定にて不一致が発生した場合、タスク動作情報が一致する計算機ノード10の集合毎に、当該集合に属する計算機ノード10の個数を比較し、多数派となる集合を選出する。もし自計算機ノード10が多数派集合に属していない場合は、ノード管理処理61の自計算機ノード切り離し処理75を実行する。
ノード管理処理61は、入出力要求テーブル36、タスク管理テーブル64に基づく自計算機ノード10上のタスク21に関するタスク異常検知処理76を備える。ここでの異常検知とは、あるタスク21について他の計算機ノード10に比べて自計算機ノード10で動作が遅れている、または停止している場合にこれを検知することである。タスク異常検知処理76は、計算機ノード10上の任意のプロセッサ12が実行する。まず、タスク管理テーブル64上で、他計算機ノード10に関してのみ現れている入出力要求情報55について、タスク管理テーブル64上の対応するタスクに関する情報と比較する。すなわち、条件を満たす入出力要求情報55内のタスク識別子53と同一のタスク識別子53を持つタスクについて、入出力要求テーブル36からプロセッサ消費時間65、要求完了待ち実時間66、要求完了待ち最大時間67を取得して、タスク管理テーブル64上の情報と比較する。比較の結果、自計算機ノード上のタスク21のプロセッサ消費時間65が他全ての計算機ノード10でのプロセッサ消費時間65より一定以上大きい場合、自計算機ノード上のタスク21の要求完了待ち実時間66が他全ての計算機ノード10上の要求完了待ち最大時間67より一定以上大きい場合に、当該タスク21にて異常発生と判断する。異常発生と判断した場合、自計算機ノード切り離し処理75を行う。
以上で述べた通り、第三の実施形態では、特定の計算機ノード10が動作を停止した場合、特定の計算機ノード10上にて他計算機ノード10とのタスク動作の不一致が発生した場合、他計算機ノード10に対してタスクの動作が遅れた場合に、当該計算機ノード10をフォールトトレラントシステム1から切り離して動作を続行することができる。
‐‐‐‐第四の実施形態‐‐‐‐
第四の実施形態では、入出力実行処理34における入出力処理開始から入出力実行までの時間が長い場合に、この時間を利用して計算機ノード10間の同期をとることで入出力時のオーバーヘッドを軽減するものである。この動作について、図18、図19のフロー図、図20、図21の通信内容、及び、データ形式を用いて説明する。
本実施形態では、フォールトトレラントシステム1を構成する計算機ノード10のうち一台をリーダ、その他をフォロワとする。リーダは独自の判断にて入出力を行い、フォロワは原則としてリーダと同一の順番にて入出力を行うものとする。ただし、フォロワの多数がリーダに追従不能と判断した場合は、このことをリーダに伝達することでリーダをフォールトトレラントシステム1から切り離し、残りの計算機ノード10にて処理を継続する。このため、基盤ソフトウェア30は少なくとも第一の実施形態の構成に加え、第三の実施形態で述べたノード管理テーブル62、図21に示す追従可否テーブル90を備えるものとする。
本実施形態において、基盤ソフトウェア30内における入出力要求検出から入出力処理実行までのフローはリーダにおいては図18、フォロワにおいては図19の通りである。この間、リーダとフォロワの間では、リーダから全フォロワへの入出力要求通知(図18、19フロー中C1)の送信、各フォロワからリーダ及び他フォロワへの追従可否通知(図18、19フロー中C2)の送信の順に通信が行われる。まず、リーダの動作について図18を用いて説明する。
リーダにおいて、プロセッサ12が入出力要求検出処理32にて入出力要求を検出し(S22)、自身の入出力要求テーブル36に登録(S22)するまでは第一、第二の実施形態と同様である。次に、ノード間通信処理35にて入出力要求通知の送信指示を行う(S63、C1)。入出力を開始(S69)したリーダの計算機ノード10上では、並行してノード間通信処理35にて、フォロワからの追従可否通知80を受信するようノード間通信インタフェース15に指示する。追従可否通知80を受信した(C2)場合、図21に示す追従可否テーブル90に登録する。そして、追従可否テーブル90においてリーダ及び追従可能な計算機ノード10の数、すなわち「追従可能」とした追従可否通知80を受信した数+1が過半数になるか、あるいは追従不可能な計算機ノード10の数が過半数となるまで、入出力処理の実処理直前にてタスク21の動作を保留する。ここで、入出力処理の実処理とは、例えばタスク間共有記憶37や記憶装置13について内容が書き変わる処理、または、共有メモリ37や記憶装置13の内容を転写する処理、ノード間通信インタフェース15に対するデータ取得・データ送信実行処理など、他タスク21や装置外部への影響が発生する処理である。追従可能または不可能な計算機ノード10の数が一定数を超えた場合、いずれが過半数であるか判定し(S71)、リーダ及び追従可否通知80にて追従可能とした計算機ノード10の数が多い場合は入出力の実処理を実行する(S76)。追従可否通知80にて追従不可能とした計算機ノード10の数の方が大きい場合、第三の実施形態と同様に同期離脱を行う(S77)。
次に、フォロワの動作について図19を用いて説明する。リーダの場合と同様、プロセッサ12が入出力要求検出処理32にて入出力要求を検出し(S22)、自身の入出力要求テーブル36に登録(S22)する。この後に、リーダからの入出力要求通知を受信(C1)するようノード間通信処理35に指示する(S64)。次に、入出力判定処理33にて、入出力開始条件が成立しているか判定を行う(S65)。ここで入出力開始条件は、当該タスク21についてリーダから入出力要求通知が届いている、すなわち、入出力要求テーブル36に同一のタスク識別子53、リーダの計算機ノード識別子52を持つ入出力要求情報55があるか否かである。入出力開始条件を満たしている場合、リーダ及び他のフォロワに対して図20に示す追従可否通知80にて追従可能である旨通知する(C2)ようノード間通信インタフェース15に対して指示を行い(S68)、入出力を開始する(S69)。入出力開始条件が未成立の場合、フォロワとしてリーダの入出力に追従可能か否かの判定を行う(S66)。例えば追従可能である場合とは、当該入出力要求の実行が一定時間以上遅延されていない場合である。この場合は、他タスクを実行した後に(S67)、入出力要求通知受信指示(S64)を経て再び入出力開始条件の判定を行う(S65)。入出力を開始(S69)した計算機ノード10上では、並行してノード間通信処理35にて、他フォロワからの追従可否通知80を受信する(C2)ようノード間通信インタフェース15に指示する。追従可否通知80を受信した場合、図21に示す追従可否テーブル90に登録する。そして、追従可否テーブル90におけるリーダ及び追従可能な計算機ノード10の数、すなわち「追従可能」とした追従可否通知80を受信した数+2が過半数になるか、あるいは追従不可能な計算機ノード10の数が過半数となるまで、リーダの場合と同様入出力処理の実処理直前にてタスク21の動作を保留する。追従可能または不可能な計算機ノード10の数が一定数を超えた場合、いずれが過半数であるか判定し(S71)、リーダ及び追従可否通知80にて追従可能とした計算機ノード10の数が多い場合は入出力の実処理を実行する(S76)。追従可否通知80にて追従不可能とした計算機ノード10の数の方が大きい場合はリーダ及びこれに追従可能と判定した計算機ノード10は第三の実施形態と同様に同期離脱を行う(S77)。
フォロワがリーダの入出力に追従不可能と判断した場合(S66)、ノード間通信処理35にてノードリーダ及び他のフォロワに対する「追従不可能」とした追従可否通知80の送信(C2)を、ノード間通信インタフェース15に指示する。この後、入出力を開始(S69)するフローの場合と同様に、他フォロワからの追従可否通知80を受信する(C2)ようノード間通信インタフェース15に指示する。追従可否テーブル90中で追従可能とした計算機ノード10の数・追従不可能とした計算機ノード10の数が一定以上となるまで処理を保留し、一定以上となった場合に追従可能・追従不可能な計算機ノード10の数を比較する(S74)点は、S71と同様である。自身を含めた追従不可能な計算機ノード10の数が少ない場合は自計算機ノード切り離し処理を行い(S77)、追従不可能な計算機ノード10が多数の場合はそれらの計算機ノード10にてリーダの再選出を行う(S75)。リーダの再選出は、例えば全計算機ノード10につけられている通し番号が、当該計算機ノード10の中で最も小さいものを選択する、などの方法にて行う。リーダ再選出後、新リーダは図18のフローのS63から、フォロワは、S64の入出力要求通知受信処理から動作を再開する。
以上で述べた通り、第四の実施形態では、フォールトトレラントシステム1を構成する計算機ノード10のうち1台をリーダとし残りをフォロワとすること、リーダはフォロワの応答を待つことなく入出力を開始し、入出力処理が外部、または、他タスクに影響を与える直前までの時間にフォロワの回答を確認することで、入出力の際のオーバーヘッドを軽減できる。
以上、第一から第四の実施形態を用いて説明した。第一の実施形態は、複数のタスクが並列動作しお互いに影響を及ぼすような場合において、専用ハードウェアを用いることなく、低オーバーヘッドでの同期処理を行うことが可能なフォールトトレラントシステムの基本方式を実現したものである。第二の実施形態は、第一の実施形態に対して、タスク間の依存関係による実行待ちを軽減するものである。第三の実施形態は、第一の実施形態に対して、計算機ノードやその上のタスクの異常を検知して正常な計算機ノードのみにて動作を継続するための仕組みを追加したものである。第四の実施形態は、第一の実施形態に対して、特定計算機ノードに特権を与えることにより処理の照合待ちを軽減し、オーバーヘッドを軽減するよう方式を工夫したものである。
1 フォールトトレラントシステム
2 Voter
3 端末
10 計算機ノード
11 メモリ
12 プロセッサ
13 記憶装置
14 外部通信インタフェース
15 ノード間通信インタフェース
20 アプリケーション
21 タスク
30 基盤ソフトウェア
31 スケジューラ
36 入出力要求テーブル
37 タスク間共有記憶
40 入出力要求
51 入出力対象識別子
52 計算機ノード識別子
53 タスク識別子
54 シーケンス番号
62 計算機ノード管理テーブル
64 タスク管理テーブル
80 追従可否通知
90 追従可否テーブル

Claims (4)

  1. 少なくとも一の他の計算機と通信可能に接続された計算機であって、
    プロセッサ、メモリ、前記他の計算機と通信するためのインタフェース部とを有しており、
    前記プロセッサは、
    当該プロセッサが実行しようとしているタスクにおいて入力若しくは出力の要求を処理する際に、
    当該計算機の識別子と、当該タスクの識別子と、当該要求のアクセス対象の識別子とを含む要求通知を前記他の計算機に送信し、
    前記他の計算機から当該他の計算機が送信した要求通知を受信し、
    受信した前記要求通知の内容を前記メモリに格納し、
    少なくとも1台以上の計算機にて、当該プロセッサが処理しようとしている要求と、前記他の計算機のプロセッサが処理しようとしている要求とを比較する際に、前記他の計算機全てから当該プロセッサが実行しようとしているタスクの識別子と同じタスクの識別子を受信したかを判定し、
    更に、前記プロセッサが処理しようとしている前記要求と同じアクセス対象をアクセスしようとする他の要求が存在する場合に、当該計算機上にて当該他の要求が前記要求より後に発生した要求であるか否かを判定し、
    当該計算機がリーダ計算機である場合には、前記他の計算機から追従可否通知を受信し、
    前記プロセッサは過半数の前記他の計算機から追従可を示す追従可否通知を受信した場合に、当該プロセッサが処理しようとしている要求を処理することを特徴とする計算機。
  2. 請求項1に記載の計算機であって、
    当該計算機がフォロワ計算機である場合には、前記リーダ計算機から受信した要求通知に基づいて、 当該プロセッサが処理しようとしている要求の処理の可否を決定する
    ことを特徴とする計算機。
  3. 請求項2に記載の計算機であって、
    前記フォロワ計算機はさらに、前記リーダ計算機への追従可否通知を前記他の計算機に送信し、
    前記プロセッサは前記他の計算機から受信した追従可否通知を参照して、所定の数以上の計算機から追従可を示す追従可否通知を受信している場合に、前記リーダ計算機を引き続きリーダ計算機とすることを特徴とする計算機。
  4. 請求項3に記載の計算機であって、
    前記フォロワ計算機は、
    前記所定の数より少ない計算機から追従可を示す追従可否要求を受信している場合に、前記リーダ計算機とは異なる計算機を新たなリーダ計算機とする
    ことを特徴とする計算機。
JP2012532731A 2010-09-08 2010-09-08 計算機 Expired - Fee Related JP5707409B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/005493 WO2012032572A1 (ja) 2010-09-08 2010-09-08 計算機

Publications (2)

Publication Number Publication Date
JPWO2012032572A1 JPWO2012032572A1 (ja) 2013-10-31
JP5707409B2 true JP5707409B2 (ja) 2015-04-30

Family

ID=45810201

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012532731A Expired - Fee Related JP5707409B2 (ja) 2010-09-08 2010-09-08 計算機

Country Status (3)

Country Link
EP (1) EP2615548B1 (ja)
JP (1) JP5707409B2 (ja)
WO (1) WO2012032572A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014078186A (ja) * 2012-10-12 2014-05-01 Mitsubishi Electric Corp 多重化装置、多重化方法および多重化プログラム
JP6100135B2 (ja) * 2013-09-26 2017-03-22 株式会社日立製作所 フォールトトレラントシステム及びフォールトトレラントシステム制御方法
EP3070606B1 (en) 2013-11-13 2022-03-16 Fujitsu Limited Event management program, event management method, and distributed system
JP2017027092A (ja) * 2013-12-03 2017-02-02 三菱電機株式会社 データ処理装置およびデータ処理プログラム

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05165793A (ja) * 1991-12-13 1993-07-02 Mitsubishi Electric Corp 計算機システムにおける資源の排他制御方式
JPH06282448A (ja) * 1993-03-29 1994-10-07 Nec Corp 共有資源排他制御方式
JPH08314744A (ja) * 1995-05-18 1996-11-29 Hitachi Ltd フォールトトレラントシステム
JPH1083379A (ja) * 1996-09-09 1998-03-31 Fujitsu Ltd 並列計算機システム
JP2002049601A (ja) * 2000-05-31 2002-02-15 Internatl Business Mach Corp <Ibm> コンピューティング環境のクラスタを自動的に構成するための方法、システム、およびプログラム製品
JP2005209191A (ja) * 2004-01-20 2005-08-04 Internatl Business Mach Corp <Ibm> 高可用性システムの遠隔エンタープライズ管理
JP2006508469A (ja) * 2002-11-27 2006-03-09 オラクル・インターナショナル・コーポレイション 相互接続を有するクラスタリングシステムおよび方法
JP2006519432A (ja) * 2003-02-27 2006-08-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 複数の処理要素を有するデータ処理システム、複数の処理要素を有するデータ処理システムを制御する方法
JP2009217503A (ja) * 2008-03-10 2009-09-24 Hitachi Ltd 計算機システム、計算機制御方法及び計算機制御プログラム
US20100107158A1 (en) * 2008-10-28 2010-04-29 Vmware, Inc. Low overhead fault tolerance through hybrid checkpointing and replay
JP2010128664A (ja) * 2008-11-26 2010-06-10 Fujitsu Ltd マルチプロセッサシステム、競合回避プログラム及び競合回避方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10133652A1 (de) * 2001-07-11 2003-01-30 Siemens Ag Zentraleinheit für ein redundantes Automatisierungssystem
US7426656B2 (en) * 2004-03-30 2008-09-16 Hewlett-Packard Development Company, L.P. Method and system executing user programs on non-deterministic processors
FR2912526B1 (fr) * 2007-02-13 2009-04-17 Thales Sa Procede de maintien du synchronisme d'execution entre plusieurs processeurs asynchrones fonctionnant en parallele de maniere redondante.

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05165793A (ja) * 1991-12-13 1993-07-02 Mitsubishi Electric Corp 計算機システムにおける資源の排他制御方式
JPH06282448A (ja) * 1993-03-29 1994-10-07 Nec Corp 共有資源排他制御方式
JPH08314744A (ja) * 1995-05-18 1996-11-29 Hitachi Ltd フォールトトレラントシステム
JPH1083379A (ja) * 1996-09-09 1998-03-31 Fujitsu Ltd 並列計算機システム
JP2002049601A (ja) * 2000-05-31 2002-02-15 Internatl Business Mach Corp <Ibm> コンピューティング環境のクラスタを自動的に構成するための方法、システム、およびプログラム製品
JP2006508469A (ja) * 2002-11-27 2006-03-09 オラクル・インターナショナル・コーポレイション 相互接続を有するクラスタリングシステムおよび方法
JP2006519432A (ja) * 2003-02-27 2006-08-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 複数の処理要素を有するデータ処理システム、複数の処理要素を有するデータ処理システムを制御する方法
JP2005209191A (ja) * 2004-01-20 2005-08-04 Internatl Business Mach Corp <Ibm> 高可用性システムの遠隔エンタープライズ管理
JP2009217503A (ja) * 2008-03-10 2009-09-24 Hitachi Ltd 計算機システム、計算機制御方法及び計算機制御プログラム
US20100107158A1 (en) * 2008-10-28 2010-04-29 Vmware, Inc. Low overhead fault tolerance through hybrid checkpointing and replay
JP2010128664A (ja) * 2008-11-26 2010-06-10 Fujitsu Ltd マルチプロセッサシステム、競合回避プログラム及び競合回避方法

Also Published As

Publication number Publication date
EP2615548A4 (en) 2015-12-02
EP2615548A1 (en) 2013-07-17
EP2615548B1 (en) 2016-12-28
WO2012032572A1 (ja) 2012-03-15
JPWO2012032572A1 (ja) 2013-10-31

Similar Documents

Publication Publication Date Title
FI101432B (fi) Vikasietoinen tietokonejärjestelmä
Tan et al. Coupling task progress for mapreduce resource-aware scheduling
EP3356937B1 (en) Distributed stream-based database triggers
CN108647104B (zh) 请求处理方法、服务器及计算机可读存储介质
CN100380364C (zh) 分布式系统和冗余控制方法
CN110807064B (zh) Rac分布式数据库集群系统中的数据恢复装置
CN102630315B (zh) 用于防止死锁状态的数据处理方法及系统
US7865763B2 (en) Data replication method
JP4529767B2 (ja) クラスタ構成コンピュータシステム及びその系リセット方法
US20060089975A1 (en) Online system recovery system, method and program
KR20040015223A (ko) 클러스터형 컴퓨터 시스템의 자원 작용 수행 방법,클러스터형 컴퓨터 시스템 및 그의 수행을 위한 컴퓨터프로그램
CN108063813B (zh) 一种集群环境下密码服务网络并行化的方法与系统
KR20110044858A (ko) 데이터 센터들에 걸쳐 데이터 서버들내 데이터 무결정의 유지
US9942107B2 (en) Computer system including plural computer nodes synchronized with each other
US9424301B2 (en) System and method for negotiated takeover of storage objects
JP5707409B2 (ja) 計算機
CN105373563B (zh) 数据库切换方法及装置
CN105579963B (zh) 任务处理装置、电子设备及方法
US20080077925A1 (en) Fault Tolerant System for Execution of Parallel Jobs
US9015717B2 (en) Method for processing tasks in parallel and selecting a network for communication
WO2021002054A1 (ja) 計算機システム及びプログラム実行方法
JP6119302B2 (ja) 排他制御装置、排他制御方法、排他制御システムおよびプログラム
US9396050B2 (en) Distributed execution system and distributed program execution method
JP6100135B2 (ja) フォールトトレラントシステム及びフォールトトレラントシステム制御方法
CN116069359A (zh) 基于Cortex内核芯片的程序在线更新方法及设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140527

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150108

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150302

R151 Written notification of patent or utility model registration

Ref document number: 5707409

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees