JPH0877026A - 情報処理方法とその装置 - Google Patents

情報処理方法とその装置

Info

Publication number
JPH0877026A
JPH0877026A JP6207205A JP20720594A JPH0877026A JP H0877026 A JPH0877026 A JP H0877026A JP 6207205 A JP6207205 A JP 6207205A JP 20720594 A JP20720594 A JP 20720594A JP H0877026 A JPH0877026 A JP H0877026A
Authority
JP
Japan
Prior art keywords
cpu
information processing
group
load state
lending
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.)
Granted
Application number
JP6207205A
Other languages
English (en)
Other versions
JP3862293B2 (ja
Inventor
Shigeo Suzuki
茂夫 鈴木
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP20720594A priority Critical patent/JP3862293B2/ja
Priority to US08/520,586 priority patent/US5884077A/en
Publication of JPH0877026A publication Critical patent/JPH0877026A/ja
Application granted granted Critical
Publication of JP3862293B2 publication Critical patent/JP3862293B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 最小限のオーバヘッドで、通信回線に結ばれ
た他の計算機上のプロセッサの資源を有効利用する情報
処理方法と装置を提供する。 【構成】 第1グループ(201)のCPU202の負荷状態を
検知するCPU負荷状態検知部(250)と、第1グループ
以外の各グループ(301、401)のCPU(302、303、402)での
各負荷状態を獲得する他CPU負荷状態獲得部(250)
と、CPU負荷状態検知部で検知された負荷状態と、獲
得された第1のグループ以外の各グループのCPUでの
各処理負荷状態に基づいて、第1のグループ以外の各グ
ループから1つのグループを選択するグループ選択部(2
50)と、選択されたグループからCPUの貸出しを要求
するCPU貸出し要求部(250)と、CPU貸出し要求に
基づき、貸し出すCPUを選択し、前記選択されたCP
Uに、所定のプロセスの実行を許可して実行させる外部
CPU実行部(350)とを備え、CPUの負荷分散を行
う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、情報処理方法とその装
置、特に、複数台の計算機が高速な通信回線で結合さ
れ、各計算機に配置されたメモリ(またはその一部)が
全体で単一のメモリ空間を構成し、例えば、システム全
体でNUMA(Non Uniform Memory Access)型のマル
チプロセッサシステムのような形態で動作可能な情報処
理方法とその装置に関する。
【0002】
【従来の技術】従来、LANなどの低速な通信回線で結
ばれた計算機システムの場合、自計算機上でプログラム
がプロセスとして大量に実行され、プロセッサが混んで
くると、プロセスマイグレーション機能を持つOSの場
合は、実行中のプロセスを通信回線で結ばれた他の計算
機上に移動することにより、他の計算機上のプロセッサ
を有効利用することができる。
【0003】
【発明が解決しようとする課題】しかしながら、プロセ
スマイグレーションの場合、プロセスの移動、再実行の
ためには、プロセスの実行に必要なメモリ内容(テキス
トやデータやスタック)そしてOS内部のプロセス管理
テーブルなどを、移動先の計算機上のメモリに転送しな
ければならず、大きなオーバヘッドとなる。
【0004】また、プロセスの移動とそのプロセス再実
行のためには、以下に示すいくつかの制限を受ける場合
がある。即ち、 1 プロセス生成時にしかその移動できない。 2 移動後のプロセスとはプロセスの親子関係が切れ
る。 3 移動後のプロセスは、新たに子プロセスを生成でき
ない。
【0005】などの制限を受ける。これは、OS内部の
プロセス管理情報が、移動先OSと移動元OSで一貫性
を保つのが非常に難しいためである。本発明は上記従来
例に鑑みてなされたもので、最小限のオーバヘッドで、
またプロセスの生成、実行、管理において、不自由な制
限を受けることなく、通信回線に結ばれた他の計算機上
のプロセッサの資源を有効利用できる情報処理方法と装
置を提供することを目的とする。
【0006】
【課題を解決するための手段】上記目的を達成するた
め、本発明の情報処理方法とその装置は以下の構成を備
える。即ち、
【0007】1つ以上のCPUを有する情報処理装置で
あって、前記CPUの各々での処理負荷状態を検知する
CPU負荷状態検知手段と、他の情報処理装置のCPU
での処理負荷状態を獲得する他CPU負荷状態獲得手段
と、前記CPU負荷状態検知手段によって検知された処
理負荷状態と、前記他CPU負荷状態獲得手段によって
獲得された他の情報処理装置のCPUでの処理負荷状態
に基づいて、他の情報処理装置を選択する情報処理装置
選択手段と、前記情報処理装置選択手段によって選択さ
れた情報処理装置にCPUの貸出しを要求するCPU貸
出し要求手段と、前記CPU貸出し要求手段のCPU貸
出し要求に基づいて、貸し出されたCPUに、所定のプ
ロセスの実行を許可して実行させる外部CPU実行許可
手段とを備える。また、別の発明は、1つ以上のCPU
を有する情報処理装置であって、他の情報処理装置から
のCPU貸出し要求に基づき、貸し出し可能なCPUを
選択する選択手段と、前記選択手段で選択された貸し出
し可能なCPUの現在のプロセス、または実行が予定さ
れているプロセスを、他のCPUに割り当てるプロセス
割り当て手段と、前記選択手段で選択された貸し出し可
能なCPUに、前記他の情報処理装置の所定の記憶手段
に記憶されているプログラムをアクセスさせて実行させ
る他プロセス実行手段とを備える。また、別の発明は、
1つ以上のCPUを用いた情報処理方法であって、第1
のグループのCPUの処理負荷状態を検知するCPU負
荷状態検知工程と、他グループのCPUでの処理負荷状
態を獲得する他グループCPU負荷状態獲得工程と、前
記CPU負荷状態検知工程によって検知された処理負荷
状態と、前記他グループCPU負荷状態獲得工程によっ
て獲得された他グループのCPUでの処理負荷状態に基
づいて、他のグループから1つのグループを選択する他
グループ選択工程と、前記他グループ選択工程によって
選択された他グループからのCPUの貸出しを要求する
CPU貸出し要求工程と、前記CPU貸出し要求工程の
CPUの貸出し要求に基づき、貸し出すCPUを選択す
る貸し出しCPU選択工程と、前記貸し出しCPU選択
工程で選択されたCPUが所定のプロセスを実行するこ
とを許可する外部CPU実行許可工程と、前記外部CP
U実行許可工程で前記所定のプロセスの実行を許可され
たCPUに、前記他のグループの所定の記憶手段に記憶
されているプログラムをアクセスさせて実行させる他プ
ロセス実行工程とを備える。また、別の発明は、1つ以
上のCPUを有する情報処理方法であって、CPU貸出
し要求に基づき、貸し出し可能なCPUを選択する選択
工程と、前記選択工程で選択された貸し出し可能なCP
Uの現在のプロセス、または実行が予定されているプロ
セスを、他のCPUに割り当てるプロセス割り当て工程
と、前記選択工程で選択された貸し出し可能なCPU
に、他グループの所定のプロセスを実行させる他プロセ
ス実行工程とを備える。また、別の発明は、第1のグル
ープに属するCPUの処理負荷状態を検知するCPU負
荷状態検知手段と、第1のグループ以外の各グループに
属するCPUでの各処理負荷状態を獲得する他CPU負
荷状態獲得手段と、前記CPU負荷状態検知手段で検知
された処理負荷状態と、前記他CPU負荷状態獲得手段
によって獲得された前記第1のグループ以外の各グルー
プに属するCPUでの各処理負荷状態に基づいて、前記
第1のグループ以外の各グループから1つのグループを
選択するグループ選択手段と、前記グループ選択手段で
選択されたグループからCPUの貸出しを要求するCP
U貸出し要求手段と、前記CPU貸出し要求手段のCP
Uの貸出し要求に基づき、貸し出すCPUを選択する貸
し出しCPU選択手段と、前記貸し出しCPU選択手段
で選択されたCPUが所定のプロセスを実行することを
許可する外部CPU実行許可手段と、前記外部CPU実
行許可手段で前記所定のプロセスの実行を許可されたC
PUに、前記他のグループの所定の記憶手段に記憶され
ているプログラムをアクセスさせて実行させる他プロセ
ス実行手段とを備える。
【作用】以上の構成において、1つ以上のCPUを有す
る情報処理装置であって、CPU負荷状態検知手段が、
前記CPUの各々での処理負荷状態を検知し、他CPU
負荷状態獲得手段が、他の情報処理装置のCPUでの処
理負荷状態を獲得し、情報処理装置選択手段が、前記C
PU負荷状態検知手段によって検知された処理負荷状態
と、前記他CPU負荷状態獲得手段によって獲得された
他の情報処理装置のCPUでの処理負荷状態に基づい
て、他の情報処理装置を選択し、CPU貸出し要求手段
が、前記情報処理装置選択手段によって選択された情報
処理装置にCPUの貸出しを要求し、外部CPU実行許
可手段が、前記CPU貸出し要求手段のCPU貸出し要
求に基づいて、貸し出されたCPUに、所定のプロセス
の実行を許可して実行させる。また、別の発明は、1つ
以上のCPUを有する情報処理装置であって、選択手段
が、他の情報処理装置からのCPU貸出し要求に基づ
き、貸し出し可能なCPUを選択し、プロセス割り当て
手段が、前記選択手段で選択された貸し出し可能なCP
Uの現在のプロセス、または実行が予定されているプロ
セスを、他のCPUに割り当て、他プロセス実行手段
が、前記選択手段で選択された貸し出し可能なCPU
に、前記他の情報処理装置の所定の記憶手段に記憶され
ているプログラムをアクセスさせて実行させる。また、
別の発明は、1つ以上のCPUを用いた情報処理方法で
あって、第1のグループのCPUの処理負荷状態を検知
し、他グループのCPUでの処理負荷状態を獲得し、前
記検知された処理負荷状態と、前記獲得された他グルー
プのCPUでの処理負荷状態に基づいて、他のグループ
から1つのグループを選択し、前記選択された他グルー
プからのCPUの貸出しを要求し、前記CPUの貸出し
要求に基づき、貸し出すCPUを選択し、前記選択され
たCPUが所定のプロセスを実行することを許可し、前
記前記所定のプロセスの実行を許可されたCPUに、前
記他のグループの所定の記憶手段に記憶されているプロ
グラムをアクセスさせて実行させる。また、別の発明
は、1つ以上のCPUを有する情報処理方法であって、
CPU貸出し要求に基づき、貸し出し可能なCPUを選
択し、前記選択された貸し出し可能なCPUの現在のプ
ロセス、または実行が予定されているプロセスを、他の
CPUに割り当て、前記選択された貸し出し可能なCP
Uに、他グループの所定のプロセスを実行させる。ま
た、別の発明は、CPU負荷状態検知手段が、第1のグ
ループに属するCPUの処理負荷状態を検知し、他CP
U負荷状態獲得手段が、第1のグループ以外の各グルー
プに属するCPUでの各処理負荷状態を獲得し、グルー
プ選択手段が、前記CPU負荷状態検知手段で検知され
た処理負荷状態と、前記他CPU負荷状態獲得手段によ
って獲得された前記第1のグループ以外の各グループに
属するCPUでの各処理負荷状態に基づいて、前記第1
のグループ以外の各グループから1つのグループを選択
し、CPU貸出し要求手段が、前記グループ選択手段で
選択されたグループからCPUの貸出しを要求し、貸し
出しCPU選択手段が、前記CPU貸出し要求手段のC
PUの貸出し要求に基づき、貸し出すCPUを選択し、
外部CPU実行許可手段が、前記貸し出しCPU選択手
段で選択されたCPUが所定のプロセスを実行すること
を許可し、他プロセス実行手段が、前記外部CPU実行
許可手段で前記所定のプロセスの実行を許可されたCP
Uに、前記他のグループの所定の記憶手段に記憶されて
いるプログラムをアクセスさせて実行させる。
【実施例】本発明の実施例に関連する技術的背景を、以
下簡単に述べる。
【0008】近年、光ケーブルなど、信頼性もあり高速
で、計算機の内部バスにある程度近い性能を持つ通信媒
体の登場で、物理メモリを直接他の計算機から使用する
ような構成も可能となりつつある。これにより、各計算
機に配置されたメモリを(またはその一部を)全体で単
一のメモリ空間として、どの計算機からでも直接アクセ
ス可能にすることができるようなシステムが提案されて
きている。
【0009】このようなシステムの場合、上記のような
プロセスマイグレーションのように、プロセスを移動す
ることによって、他の計算機上のプロセッサを利用する
のではなく、他の計算機上のプロセッサを直接自計算機
上のOSの管理下に移動することで、自計算機上のプロ
セッサと同様の形態で、つまり自計算機のプロセッサが
増えたと同じ環境で利用できる可能性が出てきた。
【0010】このような状況を鑑み、本発明に係る実施
例の情報処理装置は、以下のような構成を備える。即
ち、計算機の管理下にあるプロセッサの負荷状態を検知
するプロセッサ負荷検知部と、通信回線で結ばれた他の
計算機の負荷情報を収集する他計算機情報収集部と、プ
ロセッサの貸出し元となる計算機を選定する貸出し元計
算機選定部と、貸出し元計算機選定部により選定された
計算機に対して、貸出し元計算機選定部により決定され
た数のプロセッサの貸出しを要求するプロセッサ貸出し
要求部と、その要求に従った数のプロセッサを貸し出す
プロセッサ貸出し部と、貸し出されたプロセッサを受け
取り、計算機の管理下におくプロセッサ受け取り部と、
借りていたプロセッサを貸出し元計算機に返還するプロ
セッサ返還部を備える。
【0011】以下、添付図面にしたがって本発明に係る
実施例を詳細に説明する。
【0012】図1は、本発明の情報処理システム構成の
概略を示すものであり、101は光ネットワークなどの
高速な通信回線、201,301,401は通信回線1
01で結ばれた計算機である。202,302,30
3,402は計算機201,301,401に各々備え
られたMMU(Memory Management Unit)内蔵プロセッ
サ、210,410は計算機201,401に備えられ
たユーザインターフェイスとしてのディスプレイ&キー
ボード、220,320は計算機201,301に備え
られたハードディスク装置などの2次記憶装置である。
【0013】尚、ディスプレイ&キーボードや2次記憶
装置は、計算機に装備されていてもされていなくてもよ
い。例えば、ディスプレイ&キーボードが装備されてい
ない計算機301は、サーバマシンまたはプロセッサプ
ールとして利用できる。
【0014】230,330,430は、全体でひとつ
の単一なメモリ空間を構成する物理メモリ、240,3
40,440は各計算機用のローカルメモリである。
【0015】尚、このローカルメモリは、主にOSなど
の処理のために必要となるが、物理メモリ230,33
0,430の一部でも代用可能であるため、なくてもよ
い。
【0016】各プロセッサ202、302、303、4
02は、物理メモリ230,330,430をアクセス
可能である。
【0017】250,350,450は、計算機20
1,301,401上で動作するそれぞれのOSであ
る。これらのOS(オペレーテイングシステム)は、ほ
ぼ同等の機能を持ち、各計算機201、301、401
上でそれぞれ動作し、互いに協調的に働くような構成を
とる。これにより、各計算機の独立性を保つことがで
き、システム全体の柔軟性も上がる。
【0018】図5は、本実施例での主要な各OS(例え
ば、OS250)の要素処理部の概要を示したものであ
り、プロセッサ負荷検知部、他計算機情報収集部、貸し
出し元計算機選定部、プロセッサ貸し出し要求部等を備
える。
【0019】尚、各OSは各計算機上のローカルメモリ
240,340,440上で動作しても、物理メモリ2
30,330,430上で動作してもよい。ただし、O
Sのデータ領域の一部は、各OSが管理するプロセッサ
の負荷情報などを交換可能にするため、物理メモリ23
0,330,430上に配置しておく。260,36
0,460がこれら情報交換領域である。また、10
2、302、402は、各計算機上で動作するOS間で
の非同期な通信を行なうための計算機間割込み処理線で
ある。
【0020】図2,3,4に本発明に係る一実施例の処
理の流れを示す。図2は、プロセッサの貸出しを要求す
る計算機上のプロセッサの処理の流れを示し、図3は、
貸出しを要求された計算機上のプロセッサで、かつ貸し
出される対象となったプロセッサの貸し出し処理の流れ
を示し、図4は、図3の処理を終え貸し出されたプロセ
ッサが返還されるときの処理の流れを示す。
【0021】尚、このフローチャートに対応する実行プ
ログラムは、予め、各OS250,350,450に組
み込まれており、各計算機のCPUで実行される。
【0022】以下、これらの流れにそって、計算機20
1上のプロセッサ202が計算機301に貸出しを要求
し、計算機301上のプロセッサ303が貸し出された
場合を例に説明する。
【0023】図1のようなシステムにおいて、プロセッ
サ202が実行するOS250は、立ち上げ時には、自
計算機のプロセッサ(プロセッサ202)のみを管理
し、タイムスライスなどのスケジューリング方法を用い
て、実行可能状態のプロセスにプロセッサを割り当て実
行させる(ステップS1)。
【0024】次に、ステップS2で、OS250内のプ
ロセッサ負荷検知部(図5)により、自計算機管理下の
プロセッサの負荷状態を検知して、ステップS11で、
負荷が高い状態か低い状態か、または普通の状態である
かを判定する。負荷状態は、そのとき実行可能状態(Re
ady 状態と呼ばれる)にあるプロセス数と、プロセッサ
数との割合で調べることができる。この割合があるしき
い値を越えたら、例えば実行可能プロセス数がプロセッ
サ数の4倍を越えたら、高負荷状態にあると判定し、ま
たもう一つのしきい値より小さかったら、例えば実行可
能プロセス数がプロセッサ数の同値以下になったら、低
負荷状態にあると判定でき、その2つのしきい値の間だ
ったらどちらでもないと判定できる。実行可能状態のプ
ロセスが増え、プロセッサの利用率が上がり、高負荷状
態と判定されると、ステップS3に進む。また、どちら
でもない状態と判定されると、ステップS2に戻る。低
負荷状態と判定された場合については後で述べる。
【0025】このプロセッサの負荷検知処理は、例えば
10mSecに1回といったように経験的に決められた
間隔で、定期的に実行されるようにする。
【0026】ステップS3では、OS250の他計算機
情報収集部(図5)により、通信回線で結ばれた他の計
算機のプロセッサ負荷情報を収集する。この情報収集
は、情報交換領域260,360,460と計算機間割
込みライン102、103、104とを利用したOS間
のデータ交換により実現できる。尚、この時、通信回線
で結ばれたすべての計算機の情報を収集しても、またい
くつか選んで収集しても構わない。また、一台の計算機
から情報収集するのにかかる時間を考慮して収集台数を
制限してもよい。さらに、このときの収集対象となる計
算機は、ランダムに、あるいはラウンドロビン的に自動
的に計算機が選んでも、ユーザがあらかじめ設定してお
いても構わない。
【0027】ステップS4では、OS250の貸出し元
計算機選定部(図5)により、プロセッサを借りる計算
機を選定する。この選定方法としては、自計算機よりも
負荷が軽く、かつ最も負荷の軽い計算機を選ぶ。また、
例えば、少なくとも自計算機より2倍以上負荷が軽いも
のを選択するといった選定方法でもよい。また、このス
テップでは、借りるプロセッサの数を決定する。この決
定方法は例えば、上記の選択方法で選ばれた計算機の負
荷が自計算機の負荷を越えない最大のプロセッサ数を借
りるプロセッサ数として決定する。例えば、選ばれた計
算機の負荷値が2(例えば、プロセス数8/プロセッサ
数4)で、自計算機の負荷値が8(例えば、プロセス数
16/プロセッサ数2)だったとすると、借りるプロセ
ッサ数は2となる。
【0028】上記の例では、一つの計算機を選んでそれ
から複数のプロセッサを借りる例を挙げたが、複数の計
算機を選んで、それらからそれぞれプロセッサを借りる
ようにしてもよい。
【0029】もし、貸出し元計算機が選ばれなかった
ら、つまり自計算機より負荷の軽い計算機がなかったよ
うな場合には、OS250のプロセッサ負荷検知部の高
負荷判定用のしきい値を以前の値より高めに設定し直し
て(ステップS7)、ステップS2に戻る。
【0030】尚、このように高めに設定し直したが、再
びステップS03に進んだ時に、他の計算機の負荷が前
に調べた時より軽くなっているかどうかチェックして、
そのしきい値を元の値に戻すようにしてもよい。このよ
うな場合は、他計算機情報収集部に、前に収集した各計
算機の負荷情報を保持しておく機構を持たせることで容
易に実現できる。
【0031】次に、ステップS4で、計算機301が貸
出し元計算機として選ばれ、1つのプロセッサを借りる
ことが決定した場合を例として説明を進める。
【0032】ステップS5では、OS250のプロセッ
サ貸出し要求部(図5)により、貸出し元計算機選定部
で選ばれた計算機(例えば、計算機301)に対して、
決定したプロセッサ数(例えば、1つ)の貸出しを要求
する。これは、自計算機上のOS250から貸出し元計
算機上のOS(例えば、OS350)への要求となるわ
けだが、これも情報交換領域260,360,460と
計算機間割込みライン102、103、104とを利用
したOS間の通信により実現できる。
【0033】一方、貸し出し要求を受けた貸出し元計算
機の処理を、図2のフローチャートを参照して以下説明
する。
【0034】図3を参照して、要求を受けた貸出し元計
算機上のOS(この場合、OS350)を実行するプロ
セッサ(ここでは、プロセッサ302またはプロセッサ
303のどちらでも構わないが、プロセッサ303だっ
た場合を一例とする)は、ステップS101で、プロセ
ッサ貸出し部により要求された数だけのプロセッサを貸
し出す処理を開始する。この貸出しは以下のように行
う。
【0035】まず、ステップS102で、要求を受けた
OS350を実行するプロセッサ303は、貸し出すプ
ロセッサを選ぶ。例えば、マルチプロセッサシステムの
構成方法が、シンメトリな方式で、かつスケジューリン
グ方式も全プロセッサの負荷を均等に割り振るような方
式であれば、どのプロセッサを選択しても同じなのでラ
ンダムに選んで構わない。ここで、シンメトリとは、保
有するプロセサの構成が同一であるという意味である。
【0036】尚、ここで、マルチプロセッサシステムの
構成方法がマスタースレーブ方式であったとすると、マ
スタープロセッサを貸し出すわけにはいかないのでスレ
ーブプロセッサの中から選択することになる。
【0037】以下、例えば、プロセッサ303が貸し出
すプロセッサとして選ばれた場合を一例として以下説明
を進める。
【0038】次に、ステップS103では、プロセッサ
303で動作中のプロセスと、動作予定だったプロセス
を他のプロセッサに移管する。この例の場合、現在この
処理を行なっているプロセッサ自体が貸出し対象のプロ
セッサであるため、プロセッサ303は、現在OS35
0を実行しており、プロセスが動作中ということはな
い。しかし、もしプロセッサ302が貸出しプロセッサ
として選ばれたとすると、、そのときプロセッサ302
がプロセスを実行中の可能性がある。そこで、動作中の
プロセスと、動作予定だったプロセスを他のプロセッサ
に移管する方法を以下説明する。
【0039】通常、実行可能状態(Ready 状態)にあ
り、実行のためにプロセッサ割り当てを待っているプロ
セスは、Ready キューと呼ばれるキューにつながれて管
理される。現行のシステムの場合、このReady キュー
は、プロセスの実行優先順位ごとに複数のキューを用意
する方式(UNIXなど)や、プロセスの実行優先順位の高
い順にソートして1つのReady キューにキューイングす
る方式などがある。そして、スケジューリング方式がタ
イムスライス方式の場合には、現在プロセッサが割り当
てられ実行中のプロセス(Running 状態と呼ばれる)の
タイムクォンタムが切れたり、またイベント待ち状態
(Suspend 状態と呼ばれる)に入ると、プロセッサは実
行プロセスの切り替えを行なう。今まで実行中だったプ
ロセスをReadyキューに戻したり(タイムクォンタムが
切れた場合など)、イベント待ち状態にするためSuspen
d キューに入れ、代りにReady キューの中から1つプロ
セスを取り出し、そのプロセスをRunning 状態にして実
行させる。Ready キューの中からの選択は、優先順位の
高いものから順に選んでいくのが一般的である。
【0040】マルチプロセッサシステムの場合、このRe
ady キューの使い方にいくつかの方式がある。各プロセ
ッサごとにそれぞれ固有のReady キューを持ち、各プロ
セッサは自分のReady キューからのみ実行プロセッサを
選択していく方法、また、複数あるプロセッサが共有し
て使用するReady キューを1つ用意し(優先順位ごとに
キューを持つ方式の場合には優先順位の数だけ用意)、
各プロセッサは共有しているReady キューから実行プロ
セスを選択していく方式などが考えられる。
【0041】プロセッサごとに固有のReady キューを持
つ方式の場合のプロセスの移管は、まず、移管元プロセ
ッサで実行中のプロセスの実行を中断して移管先プロセ
ッサのReady キューに入れ、そして移管元プロセッサの
Ready キューにキューイングされているすべてのプロセ
スをキューからはずし、移管先プロセッサのReady キュ
ーにつなぎかえることで実現できる。Ready キューを共
有する方式の場合は、移管元プロセッサで実行中のプロ
セスの実行を中断して共有のReady キューに入れること
でプロセスの移管を実現できる。
【0042】すべてのプロセスの移管が終了し、プロセ
ッサ303がアイドル状態になったら、プロセッサ30
3をOS350の管理下からOS250の管理下に、管
理元の移動処理を行なう。
【0043】まず、プロセッサ303は、OS250の
プログラムコードを実行できるようにするために、ステ
ップS104で、OS250の管理する物理メモリ領域
をアクセス可能とさせる。これを実現するために、プロ
セッサ303は、自分の実行モードを仮想記憶モードか
ら実記憶モードに切り替える。これにより、移動先のO
S250の管理するメモリ領域をアクセスできるように
なる。
【0044】そして、ステップS105で、OS250
がプロセッサの貸し出し処理用にあらかじめ用意したエ
ントリにジャンプする。
【0045】ジャンプ処理を終えて、OS250のプロ
グラムコードを実行し始めたプロセッサ303は、次に
ステップS106で、不図示のページテーブルのベース
レジスタに、OS250が管理するページテーブルの値
を設定し、仮想記憶モードに切り替え、OS250の仮
想記憶空間で動作可能にする。
【0046】次に、ステップS107では、不図示の例
外ベクタテーブルのベースレジスタも、同様にOS25
0が管理する不図示の例外ベクタテーブルの位置に設定
する。ベースレジスタ設定により例外ベクタテーブルの
再配置が不可能なプロセッサの場合には、テーブルのジ
ャンプアドレスを書き換えることにより、同様の処理が
可能である。
【0047】以上の処理により、プロセッサ303はO
S250の管理下に移動したことになり、ステップS1
08で、プロセッサ303が計算機301から借りたプ
ロセッサであることをOS250内部に記録する。そし
て、ステップS109で、通常のOS250の管理下の
プロセッサ202とまったく同様に、OS250上の実
行可能状態のプロセスを割り当て、そのプロセスを実行
していく。以上で、プロセッサの貸し出し処理が終了と
なる。
【0048】このようにして、プロセッサを他の計算機
から借りることにより負荷を軽くして動作を続けるが、
そのうち、いくつかの動作中のプロセスが終了し、負荷
がより軽くなる場合がある。つまり,ステップS2で、
プロセッサ負荷検知部により、負荷があるしきい値より
も低くなったことが検知され、低負荷状態になったこと
が判定されると、ステップS6に進む。この判定は、負
荷値が1(プロセッサ数と実行可能状態のプロセッサ数
が同じ)より小さくなったかどうかで判定する。
【0049】また、本例のように、プロセッサ303を
借りた後は、図2の処理は、プロセッサ202が実行し
ても、プロセッサ303が実行してもかまわない。本例
の場合は、プロセッサ202が実行した場合を例として
いるが、もし、プロセッサ303が図2の処理を実行し
てステップS1,S2,S6と進んだ場合には、そのま
ま図4のステップS201にすすみプロセッサの返還処
理を開始する。本例の場合は、プロセッサ202がステ
ップS1,S2,S6とすすみ、プロセッサ303に要
求を行い、プロセッサ303に返還処理(ステップS2
01)を開始させる。この要求は、割り込みのような手
段であってもいいし、プロセッサ303のプロセス切り
替えのタイミングなどを利用したポーリングによって行
ってもよい。
【0050】ステップS201に進むと、プロセッサ返
還部により、自プロセッサ(プロセッサ303)を元の
計算機に返還する。プロセッサ返還処理は、プロセッサ
貸し出し処理と同様の処理で実現できる。まず、ステッ
プS202で、プロセッサ303で実行予定だったプロ
セスを全て他のプロセッサに移管する。全てのプロセス
の移管が終了して、プロセッサ303がアイドル状態に
なると、次に、プロセッサ303をOS250の管理下
からOS350の管理下に管理元の移動処理を行うた
め、ステップS203で、実行モードを仮想記憶モード
から実記憶モードに切り替え、ステップS204で、O
S350がプロセッサ返還処理用にあらかじめ用意した
エントリにジャンプする。ジャンプ処理を終えて、OS
350のプログラムコードを実行し始めたプロセッサ3
03は、次にステップS205でページテーブルのベー
スレジスタに、OS350が管理するページテーブルの
値を設定し、仮想記憶モードに切り替え、OS350の
仮想記憶空間で動作可能にする。次にステップS206
で、例外ベクタテーブルのペースレジスタも、同様にS
O350が管理する例外ベクタテーブルの位置に設定す
る。
【0051】以上の処理により、プロセッサ303は、
OS350の管理下に戻ったことになり、ステップS2
07で、貸し出す前と同様に、OS350上の実行可能
状態のプロセスを割り当て、そのプロセスを実行してい
く。以上で、プロセッサの返還処理が終了となる。
【0052】尚、本発明は、複数の機器から構成される
システムに適用しても1つの機器から成る装置に適用し
ても良い。また、本発明は、システム或は装置にプログ
ラムを供給することによって達成される場合にも適用で
きることはいうまでもない。
【0053】以上説明したように、本実施例によれば、
自計算機の管理するプロセッサの負荷状態を検知し、も
し高負荷状態であることがわかると、通信回線で結ばれ
た他の計算機の負荷状態を調べ、低負荷状態の計算機を
選び借りるプロセッサ数を決定し、その数だけプロセッ
サを貸出し元計算機の管理下から貸出し先計算機の管理
下に移動することを可能とする。
【0054】これにより、最小限のオーバヘッドで、ま
たプロセスの生成、実行、管理において、まったく余計
な制限を受けることなく、通信回線に結ばれた他の計算
機上のプロセッサの有効利用を可能とする情報処理装置
を得ることができる。
【0055】
【発明の効果】以上説明したように本発明によれば、
【0056】最小限のオーバヘッドで、またプロセスの
生成、実行、管理において、不自由な制限を受けること
なく、通信回線に結ばれた他の計算機上のプロセッサの
資源を有効利用することができる。
【図面の簡単な説明】
【図1】本実施例の情報処理装置の構成図である。
【図2】プロセッサの貸し出しを要求する情報処理装置
上のプロセッサの処理の流れ図である。
【図3】プロセッサを貸し出しする情報処理装置上のピ
ロセッサの処理の流れ図である。
【図4】貸し出されたプロセッサの返還処理の流れ図で
ある。
【図5】本実施例での主要な各OSの要素処理部の概要
を示す図である。
【符号の説明】
101 高速な通信回線 102、103、104 CPU間割込みライン 201,301,401 通信回線101で結ばれた複
数台の計算機 202,302,303,402 各計算機に1つ以上
備えられたMMU内蔵プロセッサ 210,410 ディスプレイ&キーボード 220,320 ハードディスク装置などの2次記憶装
置 230,330,430 全体で単一なメモリ空間をな
す物理メモリ 240,340,440 各計算機上のローカルメモリ 250,350,450 各計算機上で動作するOS 260,360 460 情報交換領域

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 1つ以上のCPUを有する情報処理装置
    であって、 前記CPUの各々での処理負荷状態を検知するCPU負
    荷状態検知手段と、 他の情報処理装置のCPUでの処理負荷状態を獲得する
    他CPU負荷状態獲得手段と、 前記CPU負荷状態検知手段によって検知された処理負
    荷状態と、前記他CPU負荷状態獲得手段によって獲得
    された他の情報処理装置のCPUでの処理負荷状態に基
    づいて、他の情報処理装置を選択する情報処理装置選択
    手段と、 前記情報処理装置選択手段によって選択された情報処理
    装置にCPUの貸出しを要求するCPU貸出し要求手段
    と、 前記CPU貸出し要求手段のCPU貸出し要求に基づい
    て、貸し出されたCPUに、所定のプロセスの実行を許
    可して実行させる外部CPU実行許可手段とを備えるこ
    とを特徴とする情報処理装置。
  2. 【請求項2】 前記情報処理装置選択手段は、 前記CPU負荷状態検知手段によって検知された処理負
    荷状態が高ければ、前記他CPU負荷状態獲得手段によ
    って獲得された他の情報処理装置のCPUでの処理負荷
    状態に基づいて、他の情報処理装置を選択することを特
    徴とする請求項1に記載の情報処理装置。
  3. 【請求項3】 前記情報処理装置選択手段はさらに、前
    記CPU負荷状態検知手段によって検知された処理負荷
    状態が低く、かつ貸し出されたCPUがあれば、前記貸
    し出されたCPUを備える情報処理装置の管理下に戻す
    手段を備えることを特徴とする請求項1に記載の情報処
    理装置。
  4. 【請求項4】 前記情報処理装置の有するCPUと、前
    記他の情報処理装置の有するCPUとは、同じプログラ
    ムコードを解釈し、実行できることを特徴とする請求項
    1に記載の情報処理装置。
  5. 【請求項5】 1つ以上のCPUを有する情報処理装置
    であって、 他の情報処理装置からのCPU貸出し要求に基づき、貸
    し出し可能なCPUを選択する選択手段と、 前記選択手段で選択された貸し出し可能なCPUの現在
    のプロセス、または実行が予定されているプロセスを、
    他のCPUに割り当てるプロセス割り当て手段と、 前記選択手段で選択された貸し出し可能なCPUに、前
    記他の情報処理装置の所定の記憶手段に記憶されている
    プログラムをアクセスさせて実行させる他プロセス実行
    手段とを備えることを特徴とする情報処理装置。
  6. 【請求項6】 前記他プロセス実行手段は、前記選択手
    段で選択された貸し出し可能なCPUでのプロセス実行
    を、前記他の情報処理装置の所定のCPUでの所定のプ
    ロセスの実行とパラレルに行うことを特徴とする請求項
    5に記載の情報処理装置。
  7. 【請求項7】 1つ以上のCPUを用いた情報処理方法
    であって、 第1のグループのCPUの処理負荷状態を検知するCP
    U負荷状態検知工程と、 他グループのCPUでの処理負荷状態を獲得する他グル
    ープCPU負荷状態獲得工程と、 前記CPU負荷状態検知工程によって検知された処理負
    荷状態と、前記他グループCPU負荷状態獲得工程によ
    って獲得された他グループのCPUでの処理負荷状態に
    基づいて、他のグループから1つのグループを選択する
    他グループ選択工程と、 前記他グループ選択工程によって選択された他グループ
    からのCPUの貸出しを要求するCPU貸出し要求工程
    と、 前記CPU貸出し要求工程のCPUの貸出し要求に基づ
    き、貸し出すCPUを選択する貸し出しCPU選択工程
    と、 前記貸し出しCPU選択工程で選択されたCPUが所定
    のプロセスを実行することを許可する外部CPU実行許
    可工程と、 前記外部CPU実行許可工程で前記所定のプロセスの実
    行を許可されたCPUに、前記他のグループの所定の記
    憶手段に記憶されているプログラムをアクセスさせて実
    行させる他プロセス実行工程とを備えることを特徴とす
    る情報処理方法。
  8. 【請求項8】 前記他グループ選択工程は、 前記CPU負荷状態検知工程によって検知された処理負
    荷状態が第1の所定値より高ければ、前記他グループC
    PU負荷状態獲得工程によって獲得された処理負荷状態
    が第2の所定値より低い他のグループから、1つのグル
    ープを選択することを特徴とする請求項7に記載の情報
    処理方法。
  9. 【請求項9】 前記他グループ選択工程はさらに、前記
    CPU負荷状態検知工程によって検知された処理負荷状
    態が所定値より低く、かつ他のグループより貸し出され
    たCPUがあれば、前記貸し出されたCPUを前記他の
    グループの管理下に戻す工程を備えることを特徴とする
    請求項7に記載の情報処理方法。
  10. 【請求項10】 前記第1のグループのCPUと、前記
    他グループのCPUとは、同じプログラムコードを解釈
    し、実行することを特徴とする請求項7に記載の情報処
    理方法。
  11. 【請求項11】 前記貸し出しCPU選択工程はさら
    に、前記CPU貸出し要求工程のCPUの貸出し要求に
    基づいて、貸し出すCPUを選択した際、選択されたC
    PUが現在の実行中のプロセス、または実行が予定され
    ているプロセスを持つ場合、他のCPUに前記プロセス
    を割り当てるプロセス割り当て工程を備えることを特徴
    とする請求項7に記載の情報処理方法。
  12. 【請求項12】 1つ以上のCPUを有する情報処理方
    法であって、 CPU貸出し要求に基づき、貸し出し可能なCPUを選
    択する選択工程と、 前記選択工程で選択された貸し出し可能なCPUの現在
    のプロセス、または実行が予定されているプロセスを、
    他のCPUに割り当てるプロセス割り当て工程と、 前記選択工程で選択された貸し出し可能なCPUに、他
    グループの所定のプロセスを実行させる他プロセス実行
    工程とを備えることを特徴とする情報処理方法。
  13. 【請求項13】 他プロセス実行工程は、前記選択工程
    で選択された貸し出し可能なCPUでのプロセス実行
    を、前記他グループの所定のCPUでの所定のプロセス
    の実行とパラレルに行うことを特徴とする請求項12に
    記載の情報処理方法。
  14. 【請求項14】 前記グループは、1つまたは複数のC
    PUを管理する管理単位であることを特徴とする請求項
    12に記載の情報処理方法。
  15. 【請求項15】 第1のグループに属するCPUの処理
    負荷状態を検知するCPU負荷状態検知手段と、 第1のグループ以外の各グループに属するCPUでの各
    処理負荷状態を獲得する他CPU負荷状態獲得手段と、 前記CPU負荷状態検知手段で検知された処理負荷状態
    と、前記他CPU負荷状態獲得手段によって獲得された
    前記第1のグループ以外の各グループに属するCPUで
    の各処理負荷状態に基づいて、前記第1のグループ以外
    の各グループから1つのグループを選択するグループ選
    択手段と、 前記グループ選択手段で選択されたグループからCPU
    の貸出しを要求するCPU貸出し要求手段と、 前記CPU貸出し要求手段のCPUの貸出し要求に基づ
    き、貸し出すCPUを選択する貸し出しCPU選択手段
    と、 前記貸し出しCPU選択手段で選択されたCPUが所定
    のプロセスを実行することを許可する外部CPU実行許
    可手段と、 前記外部CPU実行許可手段で前記所定のプロセスの実
    行を許可されたCPUに、前記他のグループの所定の記
    憶手段に記憶されているプログラムをアクセスさせて実
    行させる他プロセス実行手段とを備えることを特徴とす
    る情報処理装置。
  16. 【請求項16】 前記グループは、1つまたは複数のC
    PUを管理する管理単位であることを特徴とする請求項
    15に記載の情報処理装置。
  17. 【請求項17】 前記貸し出しCPU選択手段はさら
    に、前記CPU貸出し要求手段のCPUの貸出し要求に
    基づき、貸し出すCPUを選択した際、選択されたCP
    Uが現在の実行中のプロセス、または実行が予定されて
    いるプロセスを持つ場合、他のCPUに前記プロセスを
    割り当てるプロセス割り当て手段を備えることを特徴と
    する請求項15に記載の情報処理装置。
JP20720594A 1994-08-31 1994-08-31 情報処理方法とその装置 Expired - Fee Related JP3862293B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP20720594A JP3862293B2 (ja) 1994-08-31 1994-08-31 情報処理方法とその装置
US08/520,586 US5884077A (en) 1994-08-31 1995-08-30 Information processing system and method in which computer with high load borrows processor of computer with low load to execute process

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20720594A JP3862293B2 (ja) 1994-08-31 1994-08-31 情報処理方法とその装置

Publications (2)

Publication Number Publication Date
JPH0877026A true JPH0877026A (ja) 1996-03-22
JP3862293B2 JP3862293B2 (ja) 2006-12-27

Family

ID=16535981

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20720594A Expired - Fee Related JP3862293B2 (ja) 1994-08-31 1994-08-31 情報処理方法とその装置

Country Status (1)

Country Link
JP (1) JP3862293B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1131082A (ja) * 1997-07-11 1999-02-02 Teijin Seiki Co Ltd オペレーティングシステムおよびオペレーティングシステムを記録した媒体
JP2004015829A (ja) * 2002-04-19 2004-01-15 Make Softwear:Kk 画像撮影編集装置,画像撮影編集方法および画像撮影編集プログラム
JP2004029052A (ja) * 2002-04-19 2004-01-29 Make Softwear:Kk 画像撮影編集方法,画像撮影編集装置
JP2005276164A (ja) * 2004-02-27 2005-10-06 Sony Corp 情報処理装置、情報処理方法、情報処理システムおよび情報処理用プログラム
WO2012066633A1 (ja) * 2010-11-16 2012-05-24 富士通株式会社 通信装置、負荷分散方法、および記録媒体
JP5968563B1 (ja) * 2015-04-27 2016-08-10 三菱電機株式会社 情報処理装置及びリソース割り当て方法及びリソース割り当てプログラム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05210522A (ja) * 1991-08-08 1993-08-20 Internatl Business Mach Corp <Ibm> デイスパツチ・モードの変更方法
JPH05257654A (ja) * 1992-03-12 1993-10-08 Hitachi Ltd 計算機の自動立ち上げ方法
JPH05324361A (ja) * 1992-05-15 1993-12-07 Fujitsu Ltd 仮想計算機システムのcpu制御方式
JPH05324357A (ja) * 1992-05-27 1993-12-07 Toshiba Corp 階層的アドレス管理方式
JPH07129518A (ja) * 1993-11-05 1995-05-19 Canon Inc 計算機システム
JPH07311749A (ja) * 1994-05-19 1995-11-28 Toshiba Corp マルチプロセッサシステム及びカーネル置換方法
JPH0830472A (ja) * 1994-07-19 1996-02-02 Canon Inc 負荷分散方式

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05210522A (ja) * 1991-08-08 1993-08-20 Internatl Business Mach Corp <Ibm> デイスパツチ・モードの変更方法
JPH05257654A (ja) * 1992-03-12 1993-10-08 Hitachi Ltd 計算機の自動立ち上げ方法
JPH05324361A (ja) * 1992-05-15 1993-12-07 Fujitsu Ltd 仮想計算機システムのcpu制御方式
JPH05324357A (ja) * 1992-05-27 1993-12-07 Toshiba Corp 階層的アドレス管理方式
JPH07129518A (ja) * 1993-11-05 1995-05-19 Canon Inc 計算機システム
JPH07311749A (ja) * 1994-05-19 1995-11-28 Toshiba Corp マルチプロセッサシステム及びカーネル置換方法
JPH0830472A (ja) * 1994-07-19 1996-02-02 Canon Inc 負荷分散方式

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
光澤敦: "分散OS Museの概要とマイグレーション機能の考察", インターフェース, vol. 第17巻,第10号, CSND199800206005, 1 October 1991 (1991-10-01), pages 183 - 189, ISSN: 0000773723 *
前川守他, 分散オペレーティングシステム −UNIXの次にくるもの, vol. 初版, CSNB199900259001, 25 December 1991 (1991-12-25), pages 91 - 105, ISSN: 0000773721 *
数藤義明他: "分散共有メモリ上の分散スレッド実行環境の構成と評価", 情報処理学会研究報告, vol. 第94巻,第64号, CSNG200000455021, 22 July 1994 (1994-07-22), pages 161 - 168, ISSN: 0000773722 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1131082A (ja) * 1997-07-11 1999-02-02 Teijin Seiki Co Ltd オペレーティングシステムおよびオペレーティングシステムを記録した媒体
JP2004015829A (ja) * 2002-04-19 2004-01-15 Make Softwear:Kk 画像撮影編集装置,画像撮影編集方法および画像撮影編集プログラム
JP2004029052A (ja) * 2002-04-19 2004-01-29 Make Softwear:Kk 画像撮影編集方法,画像撮影編集装置
JP2005276164A (ja) * 2004-02-27 2005-10-06 Sony Corp 情報処理装置、情報処理方法、情報処理システムおよび情報処理用プログラム
US8413149B2 (en) 2004-02-27 2013-04-02 Sony Corporation Priority based processor reservations
WO2012066633A1 (ja) * 2010-11-16 2012-05-24 富士通株式会社 通信装置、負荷分散方法、および記録媒体
JP5527425B2 (ja) * 2010-11-16 2014-06-18 富士通株式会社 通信装置、負荷分散方法、および記録媒体
US9021217B2 (en) 2010-11-16 2015-04-28 Fujitsu Limited Communication apparatus, load distribution method, and recording medium
JP5968563B1 (ja) * 2015-04-27 2016-08-10 三菱電機株式会社 情報処理装置及びリソース割り当て方法及びリソース割り当てプログラム
WO2016174717A1 (ja) * 2015-04-27 2016-11-03 三菱電機株式会社 情報処理装置及びリソース割り当て方法及びリソース割り当てプログラム

Also Published As

Publication number Publication date
JP3862293B2 (ja) 2006-12-27

Similar Documents

Publication Publication Date Title
US5884077A (en) Information processing system and method in which computer with high load borrows processor of computer with low load to execute process
JP3678414B2 (ja) 多重プロセッサ・システム
US6353844B1 (en) Guaranteeing completion times for batch jobs without static partitioning
JP3965157B2 (ja) 非均一メモリ・アクセス(numa)コンピュータ・システムでタスクをディスパッチする方法および装置
US9678497B2 (en) Parallel processing with cooperative multitasking
US7299468B2 (en) Management of virtual machines to utilize shared resources
JP4921054B2 (ja) 負荷分散制御システム及び負荷分散制御方法
US20050097384A1 (en) Data processing system with fabric for sharing an I/O device between logical partitions
JP2005536791A (ja) 動的多重レベルタスク管理方法及び装置
CA1304513C (en) Multiple i/o bus virtual broadcast of programmed i/o instructions
JPS616741A (ja) 階層型多重計算機システム
JP3862293B2 (ja) 情報処理方法とその装置
CN111125070A (zh) 一种数据交换方法及平台
JP3746826B2 (ja) 資源ロック制御機構
JPH07129518A (ja) 計算機システム
JP2002278778A (ja) 対称型マルチプロセッサシステムにおけるスケジュール装置
Jette et al. Gang scheduler-timesharing the cray t3d
JPH0115899B2 (ja)
JPH11249917A (ja) 並列型計算機及びそのバッチ処理方法及び記録媒体
CN117971429A (zh) 一种基于协程的近数据处理***及方法
Scherr The design of IBM OS/VS2 release 2
JP3585956B2 (ja) 情報処理装置及びその方法
JP3591883B2 (ja) 計算機及びそのシステム及びその制御方法
JP2856761B2 (ja) 資源ロック管理装置
Mac Operating Systems

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040806

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041005

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050708

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050906

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060308

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060428

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060926

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091006

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101006

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101006

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111006

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111006

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121006

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131006

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees