JPH11232143A - マルチスレッドの監視方法 - Google Patents

マルチスレッドの監視方法

Info

Publication number
JPH11232143A
JPH11232143A JP10052793A JP5279398A JPH11232143A JP H11232143 A JPH11232143 A JP H11232143A JP 10052793 A JP10052793 A JP 10052793A JP 5279398 A JP5279398 A JP 5279398A JP H11232143 A JPH11232143 A JP H11232143A
Authority
JP
Japan
Prior art keywords
thread
threads
primary
processing
primary thread
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
Application number
JP10052793A
Other languages
English (en)
Inventor
Toshihito Nishii
俊仁 西井
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP10052793A priority Critical patent/JPH11232143A/ja
Publication of JPH11232143A publication Critical patent/JPH11232143A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 コンピュータ等でプロセスを処理する場合
に、プロセスを構成する複数のスレッドのうちの一つで
異常が発生したときに、その異常を早期に発見し、か
つ、プロセスを復旧させる。 【解決手段】 プロセス1中のプライマリスレッド2
が、プロセス1を構成する複数のスレッド3、4、5の
動作を、ポーリングを通じて監視する。異常が発生する
と、そのスレッドは、プライマリスレッド2の問い合わ
せ信号に対し、応答信号を返すことができない。応答信
号の有無に基づき、プライマリスレッド2は、各スレッ
ドの動作が正常か否かを判断する。異常が発生したと判
断すると、プライマリスレッド2は、全てのスレッド
3、4、5の動作を終了させ、かつ、初期化を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータで実
行されるプロセスを構成する複数のスレッドの動作を監
視するマルチスレッドの監視方法に関する。
【0002】
【従来の技術】従来から、コンピュータが実行すべき処
理の基本単位として、プロセスが用いられている。例え
ば、特定の処理がCPU(Central Processing Unit)
を専有せずに、複数のタスクを公平に進めるという、プ
リエンプティブなマルチタスクOSでは、CPUの実行
単位としてスレッドを採用する。これにより、リソース
を浪費しない効率的なシステムを構築することが可能に
ある。
【0003】一般のマルチタスクで実行されるプロセス
間通信が増大すると、システムのパフォーマンスの向上
が妨げられる虞れがある。しかし、1つのプロセスに複
数のスレッドを割り当てることにより、プロセス間通信
を使用せずに、同等の機能を実現することが可能であ
り、より高速なプログラムを作ることができる。
【0004】
【発明が解決しようとする課題】ところで、上記のよう
な従来の技術の場合、複数のスレッドから構成されるプ
ロセスでは、各スレッドが非同期に動作する。この結
果、様々な不具合を引き起こす虞れがある。これらの不
具合は、プログラムを作成する過程において、完全に取
り除かれることが望ましい。しかし、現実には、不具合
を完全に除去することは困難である。特に、スレッドの
数が多かったり、処理が複雑であったりする場合には、
予期し難い不具合が発生する虞れがある。それらの不具
合をプログラムの開発段階で発見し、その対策を講じる
ことは時間的にも経済的にも極めて困難である。しか
も、プログラムの運用が開始された後に、何らかの原因
でスレッドの動作に不具合が生じたときには、プログラ
ムが停止する。この場合、オペレータや保守員がその不
具合を発見し、プログラムを復旧させるために必要な再
立上げ等を行わなければならない。無人の場所で運用さ
れる自動化装置の場合には、適切な監視システムが無い
と、不具合の発見並びに再立上げが遅れて、異常の状態
のままで放置されてしまう虞れもある。
【0005】
【課題を解決するための手段】本発明は以上の点を解決
するため次の構成を採用する。 〈構成1〉プロセスが実行するべき処理の一部を割り当
てられて動作する複数のスレッドに対して、プライマリ
スレッドから周期的に問い合わせ信号を送信し、上記ス
レッドのうちのいずれかから応答信号を受信することが
できないときには、プライマリスレッドは、全てのスレ
ッドを初期化することを特徴とするマルチスレッドの監
視方法。
【0006】〈構成2〉プロセスが実行するべき処理の
一部を割り当てられて動作する複数のスレッドに対し
て、プライマリスレッドから周期的に問い合わせ信号を
送信し、上記スレッドのうちのいずれかから応答信号を
受信することができないときには、プライマリスレッド
は、上記全てのスレッドとスレッド同士の間の通信を初
期化することを特徴とするマルチスレッドの監視方法。
【0007】〈構成3〉プロセスが実行するべき処理の
一部を割り当てられて動作する複数のスレッドに対し
て、プライマリスレッドから周期的に問い合わせ信号を
送信し、上記スレッドのうちのいずれかから応答信号を
受信することができないときには、プライマリスレッド
は、異常が発生したスレッドを初期化し、初期化したス
レッド以外のスレッドの動作状態を収集し、収集された
動作状態を初期化されたスレッドに通知して、その動作
状態を設定することを特徴とするマルチスレッドの監視
方法。
【0008】
【発明の実施の形態】本発明に係るマルチスレッドの監
視方法を用いたプロセスの具体例について説明する。 〈具体例1〉図1は、本発明に係るマルチスレッドの監
視方法を用いたプロセスの具体例1の構成図である。図
1に示すように、具体例1のプロセス1は、コンピュー
タ9によって処理され、その処理Pは、外部から入力さ
れた値Aについて、値Bを出力することである。このプ
ロセス1は、プライマリスレッド2及び複数のスレッド
3、4、5から構成される。プライマリスレッド2は、
コンピュータ9がプロセス1の実行を開始する際に生成
される。スレッド3、4、5は、プライマリスレッド2
によって生成される。
【0009】スレッド3、4、5は、プロセス1が実行
する処理Pを実行するのに必要な処理の一部をそれぞれ
割り当てられている。より具体的には、処理Pを実行す
るのに処理Sa、処理Sb、処理Scが必要であるとす
ると、スレッド3は、処理Saを割り当てられ、スレッ
ド4は、処理Sbを割り当てられ、スレッド5は、処理
Scを割り当てられる。処理Pを実行するときには、ス
レッド3、4、5は、他のスレッドの動作とは非同期的
に、すなわち、他のスレッドの動作とは独立して、それ
ぞれの処理Sa、Sb、Scを実行する。必要に応じ、
スレッド3、4、5は、他のスレッドとの間で通信を行
う。ここで、スレッド同士の間の通信とは、一のスレッ
ドから他のスレッドへ処理の結果を出力したり、一のス
レッドから他のスレッドへコマンドとパラメータを受け
渡し、そのパラメータを用いた、そのコマンドに対応す
る処理の結果を他のスレッドから一のスレッドへ戻した
りすることをいう。例えば、各スレッド3、4、5は、
周期的にイベントの受信関数をコールし、イベントを受
信した場合には、そのイベントの内容(コマンド、パラ
メータ)に対応する処理を行う。と同時に、スレッド間
でイベントを送受することにより、処理Pが進行する。
【0010】プライマリスレッド2は、主としてスレッ
ド3、4、5を管理する機能を有する。スレッド3、
4、5を生成することに加えて、プライマリスレッド2
は、それらのスレッド3、4、5を初期化したり、終了
させたりする。また、プライマリスレッド2は、スレッ
ド同士の間の通信に必要な初期設定を行う。さらに、プ
ライマリスレッド2は、各スレッド3、4、5の動作を
監視する。
【0011】プロセス1がコンピュータ9によって起動
されると、まず、プライマリスレッド2が生成される。
生成されたプライマリスレッド2は、スレッド3、4、
5を生成する。そして、それぞれに処理Sa、Sb、S
cを割り当てた後、それらのスレッド3、4、5を初期
化するとともに、スレッド同士の間の通信も初期化す
る。生成され、かつ、初期化されると、スレッド3、
4、5は、それぞれ割り当てられた処理Sa、Sb、S
cを実行すべきか否かを確認し、実行する必要が生じる
と、それらの処理Sa、Sb、Scを実行する。例え
ば、スレッド3は、外部から入力を与えられると、処理
Saを開始する。以後、各スレッドは、各々の処理S
a、Sb、Scを、他のスレッドとは非同期的に実行す
ると共に、必要に応じて他のスレッドとの間で通信を行
うことにより、プロセス1の処理Pを完了する。例え
ば、スレッド3は、値Aを入力されたことを契機に処理
Saを開始し、値Aを用いて処理Saを完了すると、ス
レッド間の通信により、コマンドと、パラメータ、すな
わち、処理の結果をスレッド4、5にいずれかに、ある
いは、その両方に出力する。スレッド4、5も同様にし
て、入力されたコマンドとパラメータとに基づき、それ
ぞれの処理Sb、Scを実行する。このようにして、最
後に、スレッド5が値Bを出力する。
【0012】スレッド3、4、5が上述した処理を行っ
ている間、プライマリスレッド2は、それぞれのスレッ
ド3、4、5が正常に動作しているか否かを確認するべ
く、予め定められた問い合わせ信号を周期的に送信す
る。各スレッドは、その動作が正常であれば、プライマ
リスレッド2から受信した問い合わせ信号に応答して、
予め定められた応答信号をプライマリスレッド2へ返信
する。反対に、スレッド3、4、5は、その動作が異常
であれば、問い合わせ信号を受信することができず、あ
るいは、たとえ受信することができても、予め定められ
た応答信号を返信することができない。
【0013】プライマリスレッド2は、スレッド3、
4、5から応答信号を受信することができている限りに
おいては、スレッド3、4、5に対し何ら特別な処理を
行わない。従って、例えば、スレッド3へ問い合わせ信
号を送信、スレッド3から応答信号を受信、スレッド4
へ問い合わせ信号を送信、スレッド4から応答信号を受
信、…、スレッド5から応答信号を受信、スレッド3へ
問い合わせ信号を送信、というようなポーリングの動作
を続ける。
【0014】しかしながら、万が一、いずれかのスレッ
ド3、4、5から応答信号を受信することができないと
きには、プライマリスレッド2は、直ちに、全てのスレ
ッド3、4、5の動作を終了させた後、異常を生じたス
レッドだけでなく、他のスレッドをも初期化する。より
具体的には、プライマリスレッド2は、異常を生じた時
点において存在する全てのスレッド3、4、5の動作を
終了させた後、それら全てのスレッド3、4、5を消滅
させ、それらのスレッド3、4、5に対応する新たなス
レッド6、7、8を生成した後、それらのスレッド6、
7、8を初期化すると共に、スレッド同士の間の通信も
初期化する。
【0015】図2は、新たなスレッドが生成されたプロ
セスの構成図である。図2に示すように、新たなスレッ
ド6、7、8によりプロセス1の処理Pが実行される。
これらのスレッド6、7、8によりそれぞれの処理S
a、Sb、Scが実行されている間も、上記の場合と同
様に、プライマリスレッド2は、それらのスレッド6、
7、8に対しポーリングを行うことにより、各スレッド
6、7、8の動作が正常か否かを確認する。
【0016】〈具体例1の効果〉上述したように、具体
例1のマルチスレッドの監視方法では、プライマリスレ
ッド2が周期的にスレッド3、4、5の動作を確認する
べく、問い合わせ信号を送信する。それらのスレッド
3、4、5が正常であれば、問い合わせ信号に対応する
応答信号を受信し、異常であれば、問い合わせ信号に対
応する応答信号を受信しない。これにより、万が一、ス
レッド同士の間で予期し難いタイミングでコマンドやパ
ラメータの授受が行われ、スレッドの動作が異常になっ
た場合であっても、プライマリスレッド2は、早期にそ
の異常を検出することが可能となる。従って、従来の場
合と異なり、保守員等が異常を発見する必要がないだけ
でなく、保守員等がいない無人の場所であっても、異常
を発見して立上げを行うことができる。これにより、保
守員等による発見が遅れて、そのプロセスの稼働率が低
下してしまうという事態を回避することが可能になる。
言い換えれば、プロセスの稼働率の低減を最小限に押さ
えることが可能になる。スレッドに発生した異常を検出
した場合に、プライマリスレッド2は、その検出した時
点において存在する全てのスレッド3、4、5や通信を
初期化することにより、誤動作の結果として、例えば、
値Bの代わりに値bが出力されてしまうという事態を回
避することが可能になる。プライマリスレッド2は、現
存するスレッド3、4、5を単に初期化するだけでな
く、それらのスレッド3、4、5に相当するスレッドを
新たに生成することにより、プロセス1の処理Pを早期
に再開することが可能となる。
【0017】〈変形例〉具体例1のマルチスレッドの監
視方法では、あるスレッドに異常が発生した場合に、プ
ライマリスレッド2は、その時点において存在する全て
のスレッドの動作を終了させたり、初期化したりする。
このようなプライマリスレッド2の動作とは対照的に、
プライマリスレッド2は、異常が発生したスレッドの動
作のみを終了させ、かつ、そのスレッドのみを初期化す
ることも可能である。これにより、全てのスレッドの動
作を終了させ、かつそれら全てのスレッドを初期化する
場合に比べて、プロセス1の処理Pをより早期に再開す
ることが可能となる。プライマリスレッド2は、異常が
発生したスレッド以外のスレッドの動作の状況を収集す
る。そして、その収集された動作の状況を、初期化され
たスレッドに通知あるいはその動作の状況に対応する、
初期化されたスレッドが有するべき動作の状況を設定す
る。これにより、さらに迅速かつ確実にプロセス1の処
理Pを再開することが可能となる。
【0018】〈具体例2〉本発明に係るマルチスレッド
の監視方法の具体例2について説明する。具体例2のマ
ルチスレッドの監視方法は、具体例1のマルチスレッド
の監視方法と概ね同じである。具体例2は、具体例1の
マルチスレッドの監視方法が実際の通信ネットワークシ
ステムに適用された例である。図3は、具体例2のマル
チスレッドの監視方法を用いたプロセスの構成図であ
る。図3に示すように、複数の端末同士の間で通信を行
うためのシステムである通信ネットワークシステム10
は、通信プロセス20を含む網管理システム(NMS:
Network Management System)により管理される。通信
プロセス20は、通信ネットワークシステム10を管理
するために必要なデータやコマンド等を格納するMIB
(Management Information Base)プロセス30との間
で、適宜、それらのデータやコマンド等を授受する。通
信プロセス20は、複数のスレッド21〜27及びプラ
イマリスレッド28から構成される。以下の説明におい
て、通信ネットワークシステム10と通信プロセス20
との間、通信プロセス20とMIBプロセス30との
間、通信プロセス20内のスレッド同士の間で授受され
るデータやコマンドをメッセージと総称する。
【0019】各スレッド21〜27及びプライマリスレ
ッド28の機能は、以下の通りである。スレッド21
は、通信プロセス20を代表して、MIBプロセス30
との間で、メッセージを授受する。スレッド22は、ス
レッド21から渡されたメッセージを元に、通信ネット
ワークシステム10に適したメッセージ20Sを生成す
る。スレッド23は、生成されたメッセージ20Sの送
信を制御する。スレッド24は、所定の通信プロトコル
に従って、メッセージ20Sを通信ネットワークシステ
ム10へ送信する。スレッド25は、スレッド24と同
様に、所定の通信プロトコルに従って、通信ネットワー
クシステム10からメッセージを受信する。スレッド2
6は、スレッド25から渡されたメッセージを元に、M
IBプロセス30に適したメッセージ20Rを生成す
る。スレッド27は、生成されたメッセージ20Rの送
信を制御する。スレッド21は、メッセージ20RをM
IBプロセス30へ送出する。
【0020】このような通信プロセス20の処理におい
て、スレッド23は、スレッド26と協同して、メッセ
ージ20Sに対応するメッセージが通信ネットワークシ
ステムから返送されたか否かを確認する。返送されたこ
とが確認されると、スレッド21は、そのメッセージ2
0Sを消去する。同様に、スレッド27は、スレッド2
2と協同して、メッセージ20Rに対応するメッセージ
がMIBプロセス30から返送されたか否かを確認す
る。返送されたことが確認されると、スレッド26は、
そのメッセージ20Rを消去する。プライマリスレッド
28は、通信プロセス20の実行が開始される際に生成
される。そして、スレッド21〜27を生成し、それら
のスレッド及びスレッド間の通信を初期化した後、それ
らのスレッドの動作を監視する。
【0021】上述したような通信プロセス20の処理が
実行される間、即ち、各スレッド21〜27の処理が実
行される間、プライマリスレッド28は、それらのスレ
ッド21〜27の動作が正常か否かを確認するべく、問
い合わせ信号を周期的に送信する。各スレッド21〜2
7は、正常であれば、その問い合わせ信号に対応する応
答信号をプライマリスレッド28へ返答することができ
る。しかし、異常であれば、応答信号をプライマリスレ
ッド28へ返答することができない。プライマリスレッ
ド28は、応答信号の有無に基づき、各スレッド21〜
27が正常であるか異常であるかを判断する。あるスレ
ッドに異常が発生したと判断した場合には、プライマリ
スレッド28は、全てのスレッド21〜27の動作を終
了させた後、それらのスレッド21〜27を初期化す
る。このようにして、通信プロセス20の処理が再開さ
れる。
【0022】〈具体例2の効果〉上述したように、具体
例2の通信プロセス20では、具体例1のプロセス1と
同様に、プライマリスレッド28が、複数のスレッド2
1〜27へ周期的に各スレッドの動作が正常か否かを確
認するための問い合わせ信号を送信し、各スレッドは、
正常であれば応答信号を返送し、異常であれば応答信号
を返送しない。従って、プライマリスレッド28は、各
スレッド21〜27から応答信号が返信されるか否かに
基づいて、各スレッド21〜27が正常に動作している
か否かを速やかに検出することができる。さらに、異常
を検出した場合に、プライマリスレッド28は、全ての
スレッド21〜27の動作を終了させ、かつ、全てのス
レッド21〜27を初期化する。従って、通信プロセス
20の処理を速やかに再開することが可能となる。
【図面の簡単な説明】
【図1】具体例1のプロセスの構成図である。
【図2】新たなスレッドが生成されたプロセスの構成図
である。
【図3】具体例2のプロセスの構成図である。
【符号の説明】
1 プロセス 2 プライマリスレッド 3,4,5 スレッド 9 コンピュータ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 プロセスが実行するべき処理の一部を割
    り当てられて動作する複数のスレッドに対して、 プライマリスレッドから周期的に問い合わせ信号を送信
    し、 前記スレッドのうちのいずれかから応答信号を受信する
    ことができないときには、プライマリスレッドは、全て
    のスレッドを初期化することを特徴とするマルチスレッ
    ドの監視方法。
  2. 【請求項2】 プロセスが実行するべき処理の一部を割
    り当てられて動作する複数のスレッドに対して、 プライマリスレッドから周期的に問い合わせ信号を送信
    し、 前記スレッドのうちのいずれかから応答信号を受信する
    ことができないときには、プライマリスレッドは、前記
    全てのスレッドとスレッド同士の間の通信を初期化する
    ことを特徴とするマルチスレッドの監視方法。
  3. 【請求項3】 プロセスが実行するべき処理の一部を割
    り当てられて動作する複数のスレッドに対して、 プライマリスレッドから周期的に問い合わせ信号を送信
    し、 前記スレッドのうちのいずれかから応答信号を受信する
    ことができないときには、プライマリスレッドは、異常
    が発生したスレッドを初期化し、初期化したスレッド以
    外のスレッドの動作状態を収集し、収集された動作状態
    を初期化されたスレッドに通知して、その動作状態を設
    定することを特徴とするマルチスレッドの監視方法。
JP10052793A 1998-02-18 1998-02-18 マルチスレッドの監視方法 Pending JPH11232143A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10052793A JPH11232143A (ja) 1998-02-18 1998-02-18 マルチスレッドの監視方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10052793A JPH11232143A (ja) 1998-02-18 1998-02-18 マルチスレッドの監視方法

Publications (1)

Publication Number Publication Date
JPH11232143A true JPH11232143A (ja) 1999-08-27

Family

ID=12924726

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10052793A Pending JPH11232143A (ja) 1998-02-18 1998-02-18 マルチスレッドの監視方法

Country Status (1)

Country Link
JP (1) JPH11232143A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277115A (ja) * 2005-03-28 2006-10-12 Fujitsu Ten Ltd 異常検出プログラムおよび異常検出方法
JP2019028593A (ja) * 2017-07-27 2019-02-21 キヤノン株式会社 システム、システムの制御方法、情報処理装置、情報処理装置の制御方法、及びプログラム
CN111459591A (zh) * 2020-03-31 2020-07-28 杭州海康威视数字技术股份有限公司 待渲染对象处理方法、装置和终端
CN114090270A (zh) * 2022-01-21 2022-02-25 武汉中科通达高新技术股份有限公司 线程管理方法、装置、电子设备及计算机可读存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277115A (ja) * 2005-03-28 2006-10-12 Fujitsu Ten Ltd 異常検出プログラムおよび異常検出方法
JP2019028593A (ja) * 2017-07-27 2019-02-21 キヤノン株式会社 システム、システムの制御方法、情報処理装置、情報処理装置の制御方法、及びプログラム
CN111459591A (zh) * 2020-03-31 2020-07-28 杭州海康威视数字技术股份有限公司 待渲染对象处理方法、装置和终端
CN114090270A (zh) * 2022-01-21 2022-02-25 武汉中科通达高新技术股份有限公司 线程管理方法、装置、电子设备及计算机可读存储介质

Similar Documents

Publication Publication Date Title
JP3737695B2 (ja) 透過的時間ベースの選択的ソフトウェア若返りのためのシステム及び方法
EP1099164B1 (en) Method and program for processing administrative requests of a distributed network application executing in a clustered computing environment
JPH0576654B2 (ja)
KR20030067712A (ko) 네트웍 매체 링크상태 기능을 이용한 컴퓨터 클러스터링시스템의 가용도 개선방법
JPH08328880A (ja) 複数のアプリケーションプログラムを同時に実行できるオペレーティングシステムにおける計算機運転管理システム
JP2005209191A (ja) 高可用性システムの遠隔エンタープライズ管理
JPH0145658B2 (ja)
JP2003173272A (ja) 情報処理システム,情報処理装置及び保守センタ
JPH11232143A (ja) マルチスレッドの監視方法
JP2000222376A (ja) 計算機システムとその運用方法
US6810487B2 (en) CORBA partial restart system in built-in device
JP2001331330A (ja) プロセス異常検知及び復旧システム
JP3190880B2 (ja) スタンバイシステム、スタンバイ方法、および記録媒体
JPH0736721A (ja) 多重化コンピュータシステムの制御方式
US7873941B2 (en) Manager component that causes first software component to obtain information from second software component
JPH10171769A (ja) 複合計算機システム
KR102517831B1 (ko) 미션 크리티컬 시스템 환경에서의 소프트웨어 관리방법 및 그 시스템
KR20030058144A (ko) 정보통신 시스템의 프로세스 장애 감시방법 및 복구방법
JPH10269110A (ja) 計算機システムのハングアップ回避方法並びにこの方法を用いた計算機システム。
JP2977705B2 (ja) ネットワーク接続された多重化コンピュータシステムの制御方式
JPH0271336A (ja) プロセッサの障害状態監視方式
JP2908430B1 (ja) マルチプロセッサシステムのホストプロセッサ監視装置および監視方法
JPH0340040A (ja) 計算機システム
JPS62180454A (ja) 通信システムの障害情報収集方法
JPH02310755A (ja) ヘルスチェック方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050324

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071120

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080401