JP6737701B2 - 周辺装置、ホスト装置、保守装置、情報処理システム、方法およびプログラム - Google Patents
周辺装置、ホスト装置、保守装置、情報処理システム、方法およびプログラム Download PDFInfo
- Publication number
- JP6737701B2 JP6737701B2 JP2016240864A JP2016240864A JP6737701B2 JP 6737701 B2 JP6737701 B2 JP 6737701B2 JP 2016240864 A JP2016240864 A JP 2016240864A JP 2016240864 A JP2016240864 A JP 2016240864A JP 6737701 B2 JP6737701 B2 JP 6737701B2
- Authority
- JP
- Japan
- Prior art keywords
- failure
- peripheral device
- failure information
- information
- host device
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0769—Readable error formats, e.g. cross-platform generic formats, human understandable formats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0772—Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0787—Storage of error reports, e.g. persistent data storage, storage using memory protection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Description
本発明の第1の実施の形態としての情報処理システム1の機能ブロック構成を図1に示す。図1において、情報処理システム1は、周辺装置100と、ホスト装置200とを備える。周辺装置100は、記憶部101と、障害検出部102と、障害情報処理部103と、初期化部104とを有する。また、ホスト装置200は、第1の障害情報取得部201と、第2の障害情報取得部202とを有する。また、周辺装置100およびホスト装置200は、通信可能に接続される。
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第1の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
次に、本発明の実施の形態の最小構成の周辺装置10について、図面を参照して説明する。まず、周辺装置10の機能ブロック構成を図14に示す。図14において、周辺装置10は、記憶部11と、障害検出部12と、障害情報処理部13と、初期化部14とを有する。周辺装置10は、ホスト装置に接続されている。
次に、本発明の実施の形態の最小構成のホスト装置20について、図面を参照して説明する。まず、ホスト装置20の機能ブロック構成を図17に示す。図17において、ホスト装置20は、第1の障害情報取得部21と、第2の障害情報取得部22とを有する。また、ホスト装置20は、周辺装置に接続される。
次に、本発明の実施の形態の最小構成の保守装置30について、図面を参照して詳細に説明する。まず、保守装置30の機能ブロック構成を図20に示す。図20において、保守装置30は、第3の障害情報取得部31を有する。また、保守装置30は、周辺装置に備えられた保守装置接続部を介して、周辺装置の記憶部に接続可能となっている。
(付記1)
情報を記憶する記憶手段と、
自装置に関連する障害を検出すると、前記障害の発生をホスト装置に通知する障害検出手段と、
前記障害の発生の通知後に、前記ホスト装置から前記障害に関する障害情報を要求された場合、前記障害情報を前記ホスト装置に送信し、前記ホスト装置から前記障害情報の要求がない場合、前記記憶手段に前記障害情報を保存し、保存した障害情報を前記ホスト装置から要求された場合、前記記憶手段から前記障害情報を読み込んで前記ホスト装置に送信する障害情報処理手段と、
前記ホスト装置から初期化を指示された場合、前記指示に応じて自装置を初期化し、前記障害情報が前記記憶手段に保存された場合、前記保存後に自装置を初期化する初期化手段と、
を備えた周辺装置。
(付記2)
前記記憶手段を保守装置に接続する保守装置接続手段をさらに備えることを特徴とする付記1に記載の周辺装置。
(付記3)
付記1または付記2に記載の周辺装置から前記障害の発生を通知された場合、前記周辺装置に対して前記障害情報を要求し、前記障害情報の取得後に前記周辺装置に対して初期化を指示する第1の障害情報取得手段と、
前記周辺装置の初期化を検出した場合、前記障害情報を未だ取得していなければ、前記周辺装置に対して前記障害情報を要求して取得する第2の障害情報取得手段と、
を備えたホスト装置。
(付記4)
付記2に記載の周辺装置の前記記憶手段に前記保守装置接続手段を介して接続されると、前記障害情報を前記記憶手段から読み込んで取得する第3の障害情報取得手段を備えた保守装置。
(付記5)
付記1または付記2に記載の周辺装置と、
付記3に記載のホスト装置と、
を備えた情報処理システム。
(付記6)
付記2に記載の周辺装置と、
付記3に記載のホスト装置と、
付記4に記載の保守装置と、
を備えた情報処理システム。
(付記7)
前記障害情報処理手段は、前記記憶手段に前記障害情報を保存する際に、前記障害情報が未取得であることを表すフラグを併せて保存することを特徴とする付記1または付記2に記載の周辺装置。
(付記8)
前記第2の障害情報取得手段は、付記7に記載の周辺装置から前記障害情報を取得する処理を、前記フラグに基づき前記障害情報が未取得であると判断した場合に実行することを特徴とする付記3に記載のホスト装置。
(付記9)
前記第3の障害情報取得手段は、付記2に従属する付記7に記載の周辺装置から前記障害情報を取得する処理を、前記フラグに基づき前記障害情報が未取得であると判断した場合に実行することを特徴とする付記4に記載の保守装置。
(付記10)
周辺装置が、自装置に関連する障害を検出すると、前記障害の発生をホスト装置に通知し、
前記ホスト装置が、前記障害の発生の通知に応じて、前記周辺装置に対して前記障害に関する障害情報を要求し、
前記周辺装置が、前記要求に応じて、前記障害情報を前記ホスト装置に送信し、
前記ホスト装置が、前記障害情報の取得後に前記周辺装置に初期化を指示し、
前記周辺装置が、前記初期化の指示に応じて自装置を初期化し、
前記周辺装置が、前記障害の発生を前記ホスト装置に通知後、前記ホスト装置から前記障害情報の要求がない場合、記憶手段に前記障害情報を保存し、前記保存後に自装置を初期化し、
前記ホスト装置が、前記周辺装置の初期化を検出した場合、前記障害情報を未だ取得していなければ、前記周辺装置に前記障害情報を要求し、
前記周辺装置が、前記要求に応じて、前記障害情報を前記記憶手段から読み込んで前記ホスト装置に送信する方法。
(付記11)
前記周辺装置が、前記記憶手段に前記障害情報を保存後に自装置を初期化して初期化に失敗した場合、
保守装置が、前記周辺装置に備えられた保守装置接続手段を介して前記記憶手段に接続されると、前記障害情報を前記記憶手段から読み込んで取得する付記10に記載の方法。
(付記12)
周辺装置が、
自装置に関連する障害を検出すると、前記障害の発生をホスト装置に通知し、
前記障害の発生の通知後に前記ホスト装置から前記障害に関する障害情報を要求された場合、前記障害情報を前記ホスト装置に送信し、
前記ホスト装置から初期化を指示された場合、前記指示に応じて自装置を初期化し、
前記障害の発生の通知後に前記ホスト装置から前記障害情報の要求がない場合、記憶手段に前記障害情報を保存し、前記保存後に自装置を初期化し、
保存した障害情報を前記ホスト装置から要求された場合、前記記憶手段から前記障害情報を読み込んで前記ホスト装置に送信する方法。
(付記13)
自装置に関連する障害を検出すると、前記障害の発生をホスト装置に通知するステップと、
前記障害の発生の通知後に前記ホスト装置から前記障害に関する障害情報を要求された場合、前記障害情報を前記ホスト装置に送信するステップと、
前記ホスト装置から初期化を指示された場合、前記指示に応じて自装置を初期化するステップと、
前記障害の発生の通知後に前記ホスト装置から前記障害情報の要求がない場合、記憶手段に前記障害情報を保存し、前記保存後に自装置を初期化するステップと、
保存した障害情報を前記ホスト装置から要求された場合、前記記憶手段から前記障害情報を読み込んで前記ホスト装置に送信するステップと、
を周辺装置に実行させるプログラム。
(付記14)
付記13に記載のプログラムを実行する周辺装置から前記障害の発生を通知された場合、前記周辺装置に対して前記障害情報を要求し、前記障害情報の取得後に前記周辺装置に対して初期化を指示する第1の障害情報取得ステップと、
前記周辺装置の初期化を検出した場合、前記障害情報を未だ取得していなければ、前記周辺装置に対して前記障害情報を要求して取得する第2の障害情報取得ステップと、
をホスト装置に実行させるプログラム。
(付記15)
付記13に記載のプログラムを実行する周辺装置の前記記憶手段に、前記周辺装置に備えられた保守装置接続手段を介して接続されると、前記障害情報を前記記憶手段から読み込んで取得する第3の障害情報取得ステップを保守装置に実行させるプログラム。
10、100、120 周辺装置
11、101 記憶部
12、102 障害検出部
13、103、123 障害情報処理部
14、104 初期化部
124 保守装置接続部
20、200、220 ホスト装置
21、201 第1の障害情報取得部
22、202、222 第2の障害情報取得部
30、320 保守装置
31、321 第3の障害情報取得部
90、91、92 バス
1001 プロセッサ
1002 マイクロコントローラ
1003 不揮発性メモリ
1004、1005 周辺装置接続インタフェース
1005 周辺装置接続インタフェース
2001、3001 CPU
2002、3002 メモリ
2004、3005 周辺装置接続インタフェース
Claims (9)
- 情報を記憶する記憶手段と、
自装置に関連する障害を検出すると、前記障害の発生をホスト装置に通知する障害検出手段と、
前記障害の発生の通知後に、前記ホスト装置から前記障害に関する障害情報を要求された場合、前記障害情報を前記ホスト装置に送信し、前記ホスト装置から前記障害情報の要求がない場合、前記記憶手段に前記障害情報を保存し、保存した障害情報を前記ホスト装置から要求された場合、前記記憶手段から前記障害情報を読み込んで前記ホスト装置に送信する障害情報処理手段と、
前記ホスト装置から初期化を指示された場合、前記指示に応じて自装置を初期化し、前記障害情報が前記記憶手段に保存された場合、前記保存後に自装置を初期化する初期化手段と、
を備えた周辺装置。 - 前記記憶手段を保守装置に接続する保守装置接続手段をさらに備えることを特徴とする請求項1に記載の周辺装置。
- 請求項1または請求項2に記載の周辺装置から前記障害の発生を通知された場合、前記周辺装置に対して前記障害情報を要求し、前記障害情報の取得後に前記周辺装置に対して初期化を指示する第1の障害情報取得手段と、
前記周辺装置の初期化を検出した場合、前記障害情報を未だ取得していなければ、前記周辺装置に対して前記障害情報を要求して取得する第2の障害情報取得手段と、
を備えたホスト装置。 - 請求項1または請求項2に記載の周辺装置と、
請求項3に記載のホスト装置と、
を備えた情報処理システム。 - 前記障害情報処理手段は、前記記憶手段に前記障害情報を保存する際に、前記障害情報が未取得であることを表すフラグを併せて保存することを特徴とする請求項1または請求項2に記載の周辺装置。
- 周辺装置が、自装置に関連する障害を検出すると、前記障害の発生をホスト装置に通知し、
前記ホスト装置が、前記障害の発生の通知に応じて、前記周辺装置に対して前記障害に関する障害情報を要求し、
前記周辺装置が、前記要求に応じて、前記障害情報を前記ホスト装置に送信し、
前記ホスト装置が、前記障害情報の取得後に前記周辺装置に初期化を指示し、
前記周辺装置が、前記初期化の指示に応じて自装置を初期化し、
前記周辺装置が、前記障害の発生を前記ホスト装置に通知後、前記ホスト装置から前記障害情報の要求がない場合、記憶手段に前記障害情報を保存し、前記保存後に自装置を初期化し、
前記ホスト装置が、前記周辺装置の初期化を検出した場合、前記障害情報を未だ取得していなければ、前記周辺装置に前記障害情報を要求し、
前記周辺装置が、前記要求に応じて、前記障害情報を前記記憶手段から読み込んで前記ホスト装置に送信する方法。 - 前記周辺装置が、前記記憶手段に前記障害情報を保存後に自装置を初期化して初期化に失敗した場合、
保守装置が、前記周辺装置に備えられた保守装置接続手段を介して前記記憶手段に接続されると、前記障害情報を前記記憶手段から読み込んで取得する請求項6に記載の方法。 - 周辺装置が、
自装置に関連する障害を検出すると、前記障害の発生をホスト装置に通知し、
前記障害の発生の通知後に前記ホスト装置から前記障害に関する障害情報を要求された場合、前記障害情報を前記ホスト装置に送信し、
前記ホスト装置から初期化を指示された場合、前記指示に応じて自装置を初期化し、
前記障害の発生の通知後に前記ホスト装置から前記障害情報の要求がない場合、記憶手段に前記障害情報を保存し、前記保存後に自装置を初期化し、
保存した障害情報を前記ホスト装置から要求された場合、前記記憶手段から前記障害情報を読み込んで前記ホスト装置に送信する方法。 - 自装置に関連する障害を検出すると、前記障害の発生をホスト装置に通知するステップと、
前記障害の発生の通知後に前記ホスト装置から前記障害に関する障害情報を要求された場合、前記障害情報を前記ホスト装置に送信するステップと、
前記ホスト装置から初期化を指示された場合、前記指示に応じて自装置を初期化するステップと、
前記障害の発生の通知後に前記ホスト装置から前記障害情報の要求がない場合、記憶手段に前記障害情報を保存し、前記保存後に自装置を初期化するステップと、
保存した障害情報を前記ホスト装置から要求された場合、前記記憶手段から前記障害情報を読み込んで前記ホスト装置に送信するステップと、
を周辺装置に実行させるプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016240864A JP6737701B2 (ja) | 2016-12-13 | 2016-12-13 | 周辺装置、ホスト装置、保守装置、情報処理システム、方法およびプログラム |
US16/463,890 US11461157B2 (en) | 2016-12-13 | 2017-12-08 | Peripheral device, method, and recording medium |
PCT/JP2017/044195 WO2018110452A1 (ja) | 2016-12-13 | 2017-12-08 | 周辺装置、ホスト装置、保守装置、情報処理システム、方法および記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016240864A JP6737701B2 (ja) | 2016-12-13 | 2016-12-13 | 周辺装置、ホスト装置、保守装置、情報処理システム、方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018097558A JP2018097558A (ja) | 2018-06-21 |
JP6737701B2 true JP6737701B2 (ja) | 2020-08-12 |
Family
ID=62558710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016240864A Active JP6737701B2 (ja) | 2016-12-13 | 2016-12-13 | 周辺装置、ホスト装置、保守装置、情報処理システム、方法およびプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US11461157B2 (ja) |
JP (1) | JP6737701B2 (ja) |
WO (1) | WO2018110452A1 (ja) |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04649A (ja) * | 1990-04-18 | 1992-01-06 | Nec Corp | リモートチャネル装置の障害情報転送方式 |
JP3208885B2 (ja) * | 1993-01-11 | 2001-09-17 | 富士ゼロックス株式会社 | 障害監視システム |
JP3107521B2 (ja) * | 1996-11-28 | 2000-11-13 | 株式会社日立製作所 | プリンタ制御装置 |
JP2001147828A (ja) * | 1999-11-24 | 2001-05-29 | Nec Corp | 二重化構成装置の制御方式と制御方法 |
JP2002024071A (ja) * | 2000-07-07 | 2002-01-25 | Toshiba Corp | 情報処理装置、データバックアップ方法、データバックアッププログラムが記憶された記憶媒体 |
JP2002229816A (ja) * | 2001-01-31 | 2002-08-16 | Fujitsu Ltd | 障害情報取得システム |
JP2007207014A (ja) * | 2006-02-02 | 2007-08-16 | Nec Corp | 電子装置および保守情報の採取方法 |
US8108737B2 (en) * | 2009-10-05 | 2012-01-31 | Sandforce, Inc. | System, method, and computer program product for sending failure information from a serial ATA (SATA) solid state drive (SSD) to a host device |
JP2012069032A (ja) * | 2010-09-27 | 2012-04-05 | Hitachi Cable Ltd | 情報処理装置 |
JP2012168907A (ja) * | 2011-02-17 | 2012-09-06 | Nec Corp | 相互監視システム |
JP2014048782A (ja) | 2012-08-30 | 2014-03-17 | Fujitsu Ltd | 情報処理装置、及び情報処理装置の障害処理方法 |
JP6066748B2 (ja) * | 2013-01-29 | 2017-01-25 | 三菱重工業株式会社 | システム管理装置およびシステム |
JP2014182676A (ja) | 2013-03-21 | 2014-09-29 | Nec Corp | ログ採取装置、演算装置、およびログ採取方法 |
JP6055810B2 (ja) * | 2014-11-14 | 2016-12-27 | 京セラドキュメントソリューションズ株式会社 | 障害管理システム、障害管理サーバー、および障害管理プログラム |
-
2016
- 2016-12-13 JP JP2016240864A patent/JP6737701B2/ja active Active
-
2017
- 2017-12-08 WO PCT/JP2017/044195 patent/WO2018110452A1/ja active Application Filing
- 2017-12-08 US US16/463,890 patent/US11461157B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2018110452A1 (ja) | 2018-06-21 |
US11461157B2 (en) | 2022-10-04 |
US20190324839A1 (en) | 2019-10-24 |
JP2018097558A (ja) | 2018-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4458119B2 (ja) | マルチプロセッサシステム及びその制御方法 | |
US8489932B2 (en) | Server system and crash dump collection method | |
JP4558519B2 (ja) | 情報処理装置およびシステムバス制御方法 | |
US8930931B2 (en) | Information processing apparatus using updated firmware and system setting method | |
CN103491134B (zh) | 一种监控容器的方法、装置与代理服务系统 | |
JP2006195821A (ja) | 情報処理システムの制御方法、情報処理システム、ダイレクトメモリアクセス制御装置、プログラム | |
JP5609242B2 (ja) | 情報処理装置及びメモリダンプ採取方法 | |
CN109358982B (zh) | 硬盘自愈装置、方法以及硬盘 | |
JP5327105B2 (ja) | バックアップシステム | |
JP6737701B2 (ja) | 周辺装置、ホスト装置、保守装置、情報処理システム、方法およびプログラム | |
CN115904793B (zh) | 一种基于多核异构系统的内存转存方法、系统及芯片 | |
JP2006285384A (ja) | プロセッサ障害処理方式、管理プロセッサ及びプロセッサ障害処理方法 | |
KR102030461B1 (ko) | 복수의 프로세서 오류 감지 시스템 및 그 방법 | |
JP6357879B2 (ja) | システムおよび障害処理方法 | |
CN108664361B (zh) | Pcie非透明通道修复方法及装置 | |
US9405629B2 (en) | Information processing system, method for controlling information processing system, and storage medium | |
JP4633553B2 (ja) | デバッグシステム、デバッグ方法およびプログラム | |
JP6256087B2 (ja) | ダンプシステムおよびダンプ処理方法 | |
US10768940B2 (en) | Restoring a processing unit that has become hung during execution of an option ROM | |
JP2012190132A (ja) | 情報処理装置 | |
JP5437848B2 (ja) | 監視システム | |
US10108499B2 (en) | Information processing device with watchdog timer | |
JP7303083B2 (ja) | 動作監視装置、動作監視方法、動作監視プログラム及び動作監視システム | |
JP6232877B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP5716396B2 (ja) | 情報処理装置及び情報処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191115 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200421 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200604 |
|
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: 20200623 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200716 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6737701 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |