JP2013164763A - 二重化システム系切替制御装置 - Google Patents
二重化システム系切替制御装置 Download PDFInfo
- Publication number
- JP2013164763A JP2013164763A JP2012027956A JP2012027956A JP2013164763A JP 2013164763 A JP2013164763 A JP 2013164763A JP 2012027956 A JP2012027956 A JP 2012027956A JP 2012027956 A JP2012027956 A JP 2012027956A JP 2013164763 A JP2013164763 A JP 2013164763A
- Authority
- JP
- Japan
- Prior art keywords
- control data
- determination unit
- determination
- abnormality
- unit
- 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
Links
Images
Landscapes
- Hardware Redundancy (AREA)
Abstract
【解決手段】各演算処理装置1、2から送信される状態データに基づいて、現用系及び待機系の演算処理装置を決定し、制御データとして各演算処理装置へそれぞれ送信する系切替判定装置3の3つの判定部A31、B32、C33は、それぞれ制御データ生成部35〜37により制御データを生成すると、この制御データを他の判定部に送信し、各判定部では、他部異常判定部38〜40により自制御データ生成部で生成した制御データと他の判定部から送信された制御データとを比較し、不一致の場合には、停止信号を当該他の判定部に送信し、他の全ての判定部から停止信号を受信した判定部は、停止制御部41〜43により自判定部の動作を停止する。
【選択図】図1
Description
この方式により、システムの稼動中に現用系の演算処理装置に故障等が発生した場合でも、他の演算処理装置を用いることによってシステムの動作を継続させることができるため、システムの信頼性を向上させることができる。演算処理装置を2台とする場合が二重化システムであり、よく使用される構成である。
これを受信した演算処理装置では、複数の判定部からの制御データの多数決に基づいて、自装置を現用系にするか待機系にするかを決めるようになっている。
しかしながら、従来では、異常が発生した判定部を検出し、停止させる機能を持っていなかった。
特許文献1のものでは、判定部そのものが異常になった場合にはCPUの異常を検出できなくなるという問題がある。
このため、特許文献1では、判定部を二重化させているものの、判定部の異常を検出し、その判定部を停止させるようにはなっていなかった。
以下、この発明の実施の形態1を図に基づいて説明する。
図1は、この発明の実施の形態1による二重化システム系切替制御装置を示す構成図である。
図1において、演算処理装置1と演算処理装置2が二重化システムを形成している。系切替判定装置3(二重化システム系切替制御装置)は、演算処理装置1、2のどちらを現用系に使用するかを判定する。操作装置4は、現用系及び待機系の系切替が必要な場合に、外部スイッチの操作等により系切替のための入力を行う。
演算処理装置1は、演算処理を行い、演算処理装置1の正常または異常の状態を示す状態データを系切替判定装置3に送信するとともに、後述する多数決判定部12の決定にしたがって、現用系または待機系として動作する演算処理部11と、系切替判定装置3から送信される、後述する複数の制御データの多数決をとり、演算処理装置1の現用系または待機系を決定する多数決判定部12とを有する。
演算処理装置2は、演算処理装置1と同様の構成で、演算処理部21と多数決判定部22を有している。
判定部A31は、例えば、FPGA(Field−Programmable Gate Array)などの論理回路により構成され、次の機能を有している。
制御データ生成部35は、演算処理装置1、2から受信した状態データに基づいて、演算処理装置1、2を現用系及び待機系のどちらにするかを示す制御データAを生成する。
停止制御部41は、他の判定部B32、C33の他部異常判定部39、40からの停止信号に基づいて、自判定部A31を停止させる。このとき、他の2つ判定部B32、C33の他部異常判定部39、40から、それぞれ停止信号が送信された場合には、自判定部A31を停止させ、そうでない場合は、停止させない。
2つの停止信号の受信を判定するために、図1では、アンド回路61を用いているが、このアンド回路61に限らず、他の方法によってもよい。停止制御部41は、判定部A31に対し、電源断やリセットをかけるなどにより、その動作を停止させる。
また、判定部C33も、判定部A31と同様の構成であり、制御データ生成部37と、他部異常判定部40と、停止制御部43と、アンド回路63とを有している。
演算処理装置1、2は、それぞれの現在の状態データを、例えば、10ms程度の定周期で各判定部A31〜C33にそれぞれ送信する。ここで、状態データは、各演算処理装置および演算処理装置に接続される周辺装置の正常/異常状態や、現在の現用系/待機系の状態等を含む。
各判定部A31〜C33は、受信した状態データおよび操作装置4からの入力信号を元に、どちらの演算処理装置を現用系として使用するかを各別に判定する。そして、その判定結果を元に生成した制御データを演算処理装置1、2へ順に送信する。
演算処理装置1、2が受信した各判定部A31〜C33からの制御データは、それぞれの多数決判定部12、22に入力され、自多数決判定部の出力結果に基づいて、自演算処理装置が現用系/待機系のどちらになるかを決定する。
図2で、例えば、判定部A31が制御データAを送信する場合を考える。
制御データ生成部35で生成された制御データAが演算処理装置1、2に送信される(図2のa)。それと同時に、制御データAが他の判定部B32、C33にも送信される(図2のb)。
他の判定部B32、C33は、その内部にある他部異常判定部39、40で、受信した制御データAが正しいか否かを判定する。すなわち、判定部B32の他部異常判定部39は、受信した制御データAと自身の制御データ生成部36で生成した制御データBが一致するかどうかを確認し、判定部C33でも同様に制御データAと制御データCが一致するかをどうかを確認する(図2のc)。
ここで、判定部B32、C33において、制御データが一致しなかった場合には、判定部A31に対して、停止信号を送信する(図2のd)。両方の判定部B32、C33が停止信号を送信した場合には、判定部A31は動作を停止する。
判定部A31と判定部B32との間のデータのやりとりを例にして説明する。
判定部B32は、状態データを受信する(ステップS1)と、制御データBを生成し(ステップS2)、生成した制御データBを演算処理装置1、2及び他の判定部A31、C33にそれぞれ送信する(ステップS3)。その後、判定部A31から制御データAを受信する(ステップS4)。
次いで、制御データAと制御データBを比較し(ステップS5)、同じであれば、何もしない(ステップS6)。同じでなければ、判定部A31へ停止信号を送信する(ステップS7)。
その後、判定部B32から停止信号を受信するとともに、判定部C33からも停止信号を受信すれば(ステップS14)、判定部A31の動作を停止する(ステップS15)。判定部B32及び判定部C33の双方から停止信号を受信していなければ、判定部A31の動作を継続する(ステップS16)。
また、判定部B32が、判定部A31、C33からの停止信号を受信した場合の処理は、判定部A31で説明したものと同じ処理を行う。
さらに、判定部B32と判定部C33との間の異常判定の処理、及び判定部A31と判定部C33との間の異常判定の処理も上述のものと同様にして行われる。
また、全ての他の判定部で異常と判断した場合のみ該当する判定部の動作を停止するようにしたので、異常の誤検出の可能性を低減でき、信頼性を高めることができる。
図4は、この発明の実施の形態2による二重化システム系切替制御装置を示す構成図である。
図4において、1〜4、11、12、21、22、31〜33、35〜43、61〜63は図1におけるものと同一のものである。図4では、他部異常判定部38、39、40にそれぞれ異常カウンタ44、45、46を設けている。
しかし、ノイズ等の外乱要因や操作装置4からのデータ入力タイミング等により、実際には判定部には異常がないにもかかわらず、異常と判断されてしまう可能性がある。
そこで、実施の形態2は、制御データが1回だけ一致しなかった場合に即座に停止するのではなく、制御データが一致しない状態が継続的に発生する場合にのみ、停止信号を送信するようにする。
この条件としては、異常カウンタを用いて、異常判定が一定数連続する、累計の異常判定回数が一定数を超える、異常判定の割合が一定値を超える、等がある。
図5は、この発明の実施の形態3による二重化システム系切替制御装置を示す構成図である。
図5において、1〜4、11、12、21、22、31〜33、35〜43、61〜63は図1におけるものと同一のものである。図5では、操作装置4からの入力を一次保持するためのバッファ47、48、49を、それぞれ判定部A31、B32、C33と操作装置4との間に配置し、操作装置4からの入力を一旦バッファ47、48、49に一次保持させ、タイミング(所定のタイミング)を指示して判定部A31、B32、C33に読み込むようにした。
そのため、実施の形態3は、演算処理装置1、2から状態データを受信してから次の状態データを受信するまでの間は、操作装置4からの入力信号が変化しても、変化前の入力信号をそのまま使用して、制御データを生成するようにすることで、各他部異常判定部38〜40における制御データの不一致を防ぐようにした。
実施の形態3では、各判定部A31、B32、C33の制御データ生成部35〜37へバッファ47〜49から読み込むタイミングは、各制御データ生成部35〜37が、制御データを演算処理装置及び他の判定部へ送信した時点とする。
なお、各判定部A31、B32、C33は、状態データより操作装置4からの系切替入力信号を優先して判定に用いるものの、異常の発生した演算処理装置を現用系とする制御データを生成することはしない。
図6は、この発明の実施の形態4による二重化システム系切替制御装置を示す構成図である。
図6において、1〜4、11、12、21、22、31〜33、35〜40は図1におけるものと同一のものである。図6では、各他部異常判定部38〜40にそれぞれ、判定部を正常に戻すためのカウントを行う正常カウンタ50〜52を設けている。また、各判定部A31、B32、C33と演算処理装置1、2の間にスイッチ53、54を配置するとともに、他部異常判定部の判定状況に応じて、スイッチ53、54を開閉制御するための論理部55を設けている。
この論理部55は、制御データAの送信時にはアンド回路56の出力で、制御データBの送信時にはアンド回路57の出力で、制御データCの送信時にはアンド回路58の出力で、それぞれスイッチ53、54を開閉制御するように、タイミングが調整されるようになっている。このタイミングは例えば、制御データA、B、Cの送信順序をあらかじめ決めておくことでもよいし、演算処理装置からの送信指示を受けて送信するようにしてもよい。
なお、論理部55の構成は、アンド回路とオア回路の組み合わせに限らず、他の論理回路を用いるものであってもよい。
また、制御データAの送信時にアンド回路56の出力でスイッチ53、54を開閉制御するためのタイミングの調整手段を別途設けるようにしてもよい。
しかし、判定部に一時的に異常が発生しても、その後の判定が正常である状態が継続されるならば、その判定部を再度使用することは可能である。
実施の形態4は、このように一時的に異常を示した判定部がその後、正常になった場合に再度使用できるようにするものである。
このため、異常を検知した判定部の動作を停止するのではなく、演算処理装置1、2への当該判定部からの制御データの送信は止めるが、演算処理装置1、2からの状態データの受信及び他の判定部への制御データの送信は継続するようにしている。
各判定部A31、B32、C33が状態データを受信するときはスイッチ53、54を接続状態として、全ての判定部が状態データを受信する。
各判定部A31、B32、C33が制御データを送信するときは、異常でない判定部から送信するときはスイッチ53、54を接続状態として、演算処理装置1、2と他の判定部の両方に制御データを送信可能とする。なお、各判定部A31、B32、C33からの制御データは、順次、送信されるものとする。
一方、異常を検知した判定部から制御データを送信する場合には、スイッチ53、54をオフにし、演算処理装置1、2には制御データを送信せず、他の判定部にのみ制御データを送信する。そして、異常が検知された判定部の制御データについて、連続して制御データが正常であることが確認されたときには、当該判定部の異常状態を解除して再び制御データの送信を有効とする。
したがって、使用者の手をわずらわせることなく使用できる判定部が増え、信頼性も向上することができる。
図7は、この発明の実施の形態5による二重化システム系切替制御装置を示す構成図である。
図7において、1〜4、11、12、21、22、31〜33、35〜43、61〜63は図1におけるものと同一のものである。図7では、演算処理部1、2に、それぞれ判定部の異常を外部へ通知するための通知部13、23を設けている。
このため、各判定部A31、B32、C33は、それぞれの他部異常判定部38、39、40が他判定部からの制御データの異常を検出したとき、その異常情報を自制御データ生成部に渡し、次回送信する制御データ内に異常情報(異常が検出された判定部情報を含む。)を含めて、演算処理装置1、2に送信する。
この異常情報を含む制御データを受け取った演算処理装置1、2は、それぞれ制御データを解析して該当する判定部の異常状態を通知部13、23により外部に通知する。
通知部13、23は、LEDや表示装置により外部へ表示する方法によってもよいし、ネットワークに接続された他の端末や携帯電話に通知するなどの方法によってもよい。
このため、使用者が異常を素早く検知し、系切替判定装置に対して適切な処置をすることが可能となり、システムの可用性を高めることができる。
3 系切替判定装置
4 操作装置
11 演算処理部
12 多数決判定部
13 通知部
21 演算処理部
22 多数決判定部
23 通知部
31、32、33 判定部
35、36、37 制御データ生成部
38、39、40 他部異常判定部
41、42、43 停止制御部
44、45、46 異常カウンタ
47、48、49 バッファ
50、51、52 正常カウンタ
53、54 スイッチ
55 論理部
56、57、58 アンド回路
59 オア回路
61、62、63 アンド回路
Claims (6)
- 二重化システムを構成する2台の演算処理装置の現用系と待機系との切替を制御する二重化システム系切替制御装置であって、
上記各演算処理装置からそれぞれの状態を示す状態データを受信し、この受信した状態データに基づいて、現用系及び待機系の演算処理装置を決定して、この決定した情報を含む制御データを生成して、上記各演算処理装置へ送信する処理を並行して行うとともに、相互に上記制御データを交換し合う3つ以上の判定部を備え、
上記各判定部は、
上記状態データに基づいて、上記制御データを生成し、この生成した制御データを上記各演算処理装置及び他の判定部に送信する制御データ生成部と、
自制御データ生成部で生成した制御データと上記他の判定部の制御データ生成部から送信された上記制御データとを比較し、不一致の場合には、上記他の判定部の制御データ生成部から送信された上記制御データを異常と判定して、停止信号を当該他の判定部に送信する異常判定部と、
複数の他の判定部の上記異常判定部から上記停止信号を受信した場合に、自判定部の処理を停止する停止制御部とを有することを特徴とする二重化システム系切替制御装置。 - 上記異常判定部は、他の判定部の制御データ生成部から送信された制御データの異常を検知した回数をカウントする異常カウンタを有し、
上記異常カウンタの値が第一の条件を満たしたとき、上記停止信号を送信することを特徴とする請求項1記載の二重化システム系切替制御装置。 - 上記各判定部に系切替を指示するための入力を行う操作装置からの入力信号を、それぞれ上記各制御データ生成部に対応して一時保持する複数のバッファを備え、
上記各制御データ生成部は、上記入力信号を用いて上記制御データを生成するとともに、
上記制御データの生成に当って、上記各判定部の上記制御データ生成部が同じ入力信号を用いるように、所定のタイミングで上記バッファから上記入力信号を取り込むことを特徴とする請求項1または請求項2記載の二重化システム系切替制御装置。 - 上記制御データ生成部は、上記異常判定部が判定した異常を示す情報を上記制御データに含めることを特徴とする請求項1〜請求項3のいずれか一項記載の二重化システム系切替制御装置。
- 二重化システムを構成する2台の演算処理装置の現用系と待機系との切替を制御する二重化システム系切替制御装置であって、
上記各演算処理装置からそれぞれの状態を示す状態データを受信し、この受信した状態データに基づいて、現用系及び待機系の演算処理装置を決定して、この決定した情報を含む制御データを生成して、上記各演算処理装置へ送信する処理を並行して行うとともに、相互に上記制御データを交換し合う3つ以上の判定部、
及び異常が検知された判定部からの上記制御データの上記各演算処理装置への送信を停止させる論理部を備え、
上記各判定部は、
上記状態データに基づいて、上記制御データを生成し、この生成した制御データを上記各演算処理装置及び他の判定部に送信する制御データ生成部と、
自制御データ生成部で生成した制御データと上記他の判定部の制御データ生成部から送信された上記制御データとを比較し、不一致の場合には、上記他の判定部の制御データ生成部から送信された上記制御データを異常と判定して、停止信号を上記論理部に送信する異常判定部とを有し、
上記論理部は、複数の上記判定部の異常判定部からの上記停止信号に基づいて、異常が確認された上記判定部からの上記制御データの上記各演算処理装置への送信を停止させることを特徴とする二重化システム系切替制御装置。 - 上記異常判定部は、他の判定部の制御データ生成部から送信された制御データが正常である回数をカウントする正常カウンタを有し、
上記正常カウンタの値が第二の条件を満たしたとき、上記論理部への停止信号の送信を停止することを特徴とする請求項5記載の二重化システム系切替制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012027956A JP2013164763A (ja) | 2012-02-13 | 2012-02-13 | 二重化システム系切替制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012027956A JP2013164763A (ja) | 2012-02-13 | 2012-02-13 | 二重化システム系切替制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013164763A true JP2013164763A (ja) | 2013-08-22 |
Family
ID=49176069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012027956A Pending JP2013164763A (ja) | 2012-02-13 | 2012-02-13 | 二重化システム系切替制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013164763A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015152167A1 (ja) * | 2014-03-31 | 2015-10-08 | 日本信号株式会社 | 冗長系制御装置及びその系切替方法 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05257753A (ja) * | 1992-03-03 | 1993-10-08 | Nec Corp | 周辺制御装置の障害警報出力回路 |
US5271023A (en) * | 1991-06-03 | 1993-12-14 | Motorola, Inc. | Uninterruptable fault tolerant data processor |
JPH06124213A (ja) * | 1992-10-12 | 1994-05-06 | Nec Corp | コンピュータのフォールト・トレラント方式 |
JPH07121393A (ja) * | 1993-10-21 | 1995-05-12 | Hitachi Ltd | 情報処理装置と情報処理方法 |
JPH09325899A (ja) * | 1996-06-05 | 1997-12-16 | Fujitsu Ltd | 情報処理装置 |
JPH11296398A (ja) * | 1998-04-09 | 1999-10-29 | Oki Electric Ind Co Ltd | 多重化サーバシステム |
JP2000040076A (ja) * | 1998-06-30 | 2000-02-08 | Sun Microsyst Inc | 多重コンピュ―タ・プロセスの制御 |
JP2001175545A (ja) * | 1999-12-15 | 2001-06-29 | Nec Corp | サーバシステムおよび障害診断方法ならびに記録媒体 |
JP2001306348A (ja) * | 2000-04-19 | 2001-11-02 | Aeroastro Inc | 冗長系情報処理システム |
JP2001356927A (ja) * | 2000-06-14 | 2001-12-26 | Mitsubishi Electric Corp | 二重系システム |
JP2002014943A (ja) * | 2000-06-30 | 2002-01-18 | Nippon Telegr & Teleph Corp <Ntt> | 耐故障性システム及びその故障検出方法 |
US7590727B1 (en) * | 2004-09-28 | 2009-09-15 | Sprint Communications Company L.P. | System and method for software failover on a bladed system |
-
2012
- 2012-02-13 JP JP2012027956A patent/JP2013164763A/ja active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5271023A (en) * | 1991-06-03 | 1993-12-14 | Motorola, Inc. | Uninterruptable fault tolerant data processor |
JPH05257753A (ja) * | 1992-03-03 | 1993-10-08 | Nec Corp | 周辺制御装置の障害警報出力回路 |
JPH06124213A (ja) * | 1992-10-12 | 1994-05-06 | Nec Corp | コンピュータのフォールト・トレラント方式 |
JPH07121393A (ja) * | 1993-10-21 | 1995-05-12 | Hitachi Ltd | 情報処理装置と情報処理方法 |
JPH09325899A (ja) * | 1996-06-05 | 1997-12-16 | Fujitsu Ltd | 情報処理装置 |
JPH11296398A (ja) * | 1998-04-09 | 1999-10-29 | Oki Electric Ind Co Ltd | 多重化サーバシステム |
JP2000040076A (ja) * | 1998-06-30 | 2000-02-08 | Sun Microsyst Inc | 多重コンピュ―タ・プロセスの制御 |
JP2001175545A (ja) * | 1999-12-15 | 2001-06-29 | Nec Corp | サーバシステムおよび障害診断方法ならびに記録媒体 |
JP2001306348A (ja) * | 2000-04-19 | 2001-11-02 | Aeroastro Inc | 冗長系情報処理システム |
JP2001356927A (ja) * | 2000-06-14 | 2001-12-26 | Mitsubishi Electric Corp | 二重系システム |
JP2002014943A (ja) * | 2000-06-30 | 2002-01-18 | Nippon Telegr & Teleph Corp <Ntt> | 耐故障性システム及びその故障検出方法 |
US7590727B1 (en) * | 2004-09-28 | 2009-09-15 | Sprint Communications Company L.P. | System and method for software failover on a bladed system |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015152167A1 (ja) * | 2014-03-31 | 2015-10-08 | 日本信号株式会社 | 冗長系制御装置及びその系切替方法 |
JP2015194971A (ja) * | 2014-03-31 | 2015-11-05 | 日本信号株式会社 | 冗長系制御装置 |
CN106233260A (zh) * | 2014-03-31 | 2016-12-14 | 日本信号株式会社 | 冗余系统控制装置及其系统切换方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9170569B2 (en) | Method for electing an active master device from two redundant master devices | |
CN103678031A (zh) | 二乘二取二冗余系统及方法 | |
JP6292032B2 (ja) | 基地局装置 | |
JP5292481B2 (ja) | デバイスに冗長な電力を供給するためのシステムおよび方法 | |
JP2012128697A5 (ja) | ||
KR101448013B1 (ko) | 항공기용 다중 컴퓨터의 고장 허용 장치 및 방법 | |
JP2013164763A (ja) | 二重化システム系切替制御装置 | |
EP1670190A1 (en) | Switching between layer 2 switches as destination of IP packets from cards | |
KR101594453B1 (ko) | 채널 고장 진단 장치 및 그 진단 방법 | |
JP2016103110A (ja) | 多重化制御装置 | |
US8917609B2 (en) | Line monitoring apparatus and line monitoring method | |
US11457293B2 (en) | Wireless communication device, control program and control method | |
JP6593745B2 (ja) | データ駆動型処理装置 | |
JPH05207637A (ja) | ディジタルリレー | |
US20170155546A1 (en) | Duplex control device and duplex system | |
JP6274436B2 (ja) | 二重化制御システム | |
JP2008301141A (ja) | 交換器 | |
JP2014164488A (ja) | 制御装置、制御方法、及び制御プログラム | |
JP4100382B2 (ja) | 受信側装置、送信側装置、フェールセーフシステム、受信側方法、送信側方法、および、プログラム | |
KR20130080616A (ko) | Can통신을 이용한 병렬 제어기 | |
JP6381059B1 (ja) | 警備装置、警備システム、通報送信方法及びプログラム | |
WO2019159347A1 (ja) | 電子機器 | |
KR102338113B1 (ko) | 디지털 보호계전기 | |
JP6234388B2 (ja) | 2重系制御装置 | |
JP4521722B2 (ja) | プラント操作制御システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140205 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141027 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141104 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141209 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20150303 |