JPH0830472A - 負荷分散方式 - Google Patents

負荷分散方式

Info

Publication number
JPH0830472A
JPH0830472A JP6166824A JP16682494A JPH0830472A JP H0830472 A JPH0830472 A JP H0830472A JP 6166824 A JP6166824 A JP 6166824A JP 16682494 A JP16682494 A JP 16682494A JP H0830472 A JPH0830472 A JP H0830472A
Authority
JP
Japan
Prior art keywords
load
information processing
distributed
processing device
information
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
JP6166824A
Other languages
English (en)
Other versions
JP3696901B2 (ja
Inventor
Yoshiaki Sudo
義明 数藤
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 JP16682494A priority Critical patent/JP3696901B2/ja
Priority to US08/502,702 priority patent/US5692192A/en
Priority to DE69520988T priority patent/DE69520988T2/de
Priority to EP95304960A priority patent/EP0697654B1/en
Publication of JPH0830472A publication Critical patent/JPH0830472A/ja
Application granted granted Critical
Publication of JP3696901B2 publication Critical patent/JP3696901B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 分散システム全体の負荷分散を均等に行うこ
とを目的とする。 【構成】 複数の情報処理装置201(ノード)をネッ
トワークで接続した分散情報処理装置であって、分散タ
スク204の拡張と圧縮を行なうことで、本負荷分散方
式では分散タスクの分散度の制御を行ない、高負荷のノ
ード201上で動作している分散タスクを低負荷のノー
ド201に拡張し、さらに高負荷のノード201上から
分散タスクを圧縮し、分散タスク内でスレッドを移送す
ることで負荷分散を行なう。203が本負荷分散方式を
行なう負荷分散サーバである。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は分散した複数の情報処理
装置上で動作するタスクを制御する負荷分散方式に関す
るものである。
【0002】
【従来の技術】複数のプロセッサを1台の情報処理装置
内にもつマルチプロセッサの情報処理装置上で、それら
のプロセッサを有効に活用可能なタスク/スレッドモデ
ルと呼ばれるプログラム形態が提案されている。これは
1つのプログラムをスレッドと呼ばれる複数の実行モジ
ュールと、タスクと呼ばれる資源割り当ての単位に分割
したモデルである。スレッドはプロセッサ資源の割り当
て単位となり、その他の記憶空間資源などはタスクに割
り当てられ、タスク内の全てのスレッドに解放されてい
る。このようなタスク/スレッドモデルは、マルチプロ
セッサの情報処理装置において、プロセッサ資源を効率
よく使用するプログラムのためのモデルである。
【0003】さらに、通常のタスク/スレッドモデルの
プログラム上で利用者空間内でコンテキスト切り換えや
スレッド生成等を行なうことが可能な利用者レベルスレ
ッドが提案されている。これは通常のタスク/スレッド
モデルのスレッドの生成やコンテキスト切り換え等が、
オペレーティングシステムカーネル(OSカーネル)へのシ
ステムコールを必要とし速度が低いという欠点を改善す
るために考えられた物である。複数のコンテキストを持
つことが可能で、かつ利用者空間内でスレッド生成やコ
ンテキスト切り換え等が行なえて高速であることが利点
である。このような利用者レベルスレッドに対して、従
来のOSカーネルに制御されるスレッドをカーネルレベル
スレッドと呼ぶ。
【0004】また、特殊な装置を持たずに従来の主記憶
管理装置と情報処理装置間のネットワークを制御するこ
とによって、複数の情報処理装置上のタスク間で仮想共
有記憶を実現する分散仮想共有記憶方式を用いて、その
タスク内の全仮想記憶空間を共有し、その中で複数のス
レッドを動作させる分散タスク/スレッドモデルが提案
されている。これは、複数の情報処理装置上の各タスク
上の全主記憶を分散仮想共有記憶とし、各タスクが1個
以上のスレッドを持った1つの分散したタスクと考えた
ものである。上述のタスク/スレッドモデルにおけるマ
ルチプロセッサの情報処理装置を、複数の情報処理装置
とネットワークによる接続に置き換え、これらの分散し
た資源を効率よく使用するためのものが、分散タスク/
スレッドモデルである。また、分散仮想共有記憶はネッ
トワークを固定長のページデータ転送で主に使用し、高
速なネットワークを効率よく使用可能となる。
【0005】また分散した情報処理装置システムにおい
て、各情報処理装置に与えられる負荷が均等ではなく、
負荷が集中することを防止するために様々な負荷分散方
式が提案されてきた。従来の負荷分散方式では、負荷の
高い情報処理装置から負荷の低い情報処理装置に動作中
のタスクを移送するタスク・マイグレーションと呼ばれ
る方法や、負荷の高い情報処理装置上で実行されようと
するタスクを負荷の低い情報処理装置で実行する遠隔タ
スク実行という方法が使用されていた。動作中のタスク
を移送してしまうタスク・マイグレーションでは、タス
クの状態をすべて完全に異なる情報処理装置に転送して
やらなければならない。遠隔タスク実行方式はそのよう
な転送を行なう必要がなく、実行タスク名や実行するた
めの環境や引数など僅かな情報を転送するだけで済む
が、一度実行してしまったタスクを移送することができ
ないため、負荷分散の実行を行なえる時点が限られてし
まうという欠点がある。
【0006】
【発明が解決しようとしている課題】上述のタスク・マ
イグレーション方式や遠隔タスク実行方式などの負荷分
散方式において、どちらの方式も移送時期が異なるだけ
でタスクを完全に他の情報処理装置に転送して動作させ
るということには変わりがない。これは、分散した各情
報処理装置がすべて同じ処理能力を持つ場合に、分散シ
ステム全体の負荷が高い時に、その中で特に負荷の高い
情報処理装置上のタスクを負荷の低い情報処理装置上に
移送する場合には問題はない。分散システム全体の負荷
が低く、全情報処理装置数よりも動作タスク数が少ない
場合を考える。このとき、たとえそれらタスクの内で多
数のスレッドが生成しているタスクがあり、そのタスク
の動作している情報処理装置では負荷が高くなっている
場合でも、負荷の低い情報処理装置にタスクを転送する
ことは負荷の移動は行なわれても負荷を均等化すること
は出来ず、もとの情報処理装置の負荷が低くなるだけで
ある。
【0007】つまり、このように動作するタスクが少な
い場合に、このようなタスクを完全に転送して動作させ
る負荷分散方式では、タスクが割り当てられていない情
報処理装置を生み処理能力を無駄にしてしまうという欠
点がある。
【0008】また、各情報処理装置の処理能力が異なっ
ている(各情報処理装置のもつプロセッサ数が異なる場
合も含む)ような場合を考える。このとき、各情報処理
装置の負荷が均等でなくタスクを移送をしようとする場
合に、処理能力の低い情報処理装置上から処理能力の高
い情報処理装置への移送は問題がないが、処理能力の高
い情報処理装置上から処理能力の低い情報処理装置への
移送は次のような問題を生じる。
【0009】処理能力の高い情報処理装置Aに負荷が集
中し、数個のタスクが動作しており、処理能力の低い情
報処理装置Bで動作中のタスクが終了し負荷がなくなっ
た場合、A上のタスクのうち何れかをBへ移送する。この
後、Aは処理能力が高いために次々とタスクを実行し終
わるが、Bへ移送されたタスクはBの処理能力が低いため
に延々と動作し続ける。このために、移送せずにAで実
行しておけば既に実行が終わっているような逆転現象が
起ってしまう。
【0010】この様な現象を避けるためには、Bに移送
したタスクを再びAに移送することが考えられるが、遠
隔タスク実行方式の場合には一度動作してしまったタス
クを移送することは出来ないし、タスク・マイグレーシ
ョン方式の場合でも再びタスク移送を行なうことは処理
効率の低下につながる。また逆にA上で動作しているタ
スクのうち、負荷が軽くBに移送して処理しても処理時
間が短くてBで実行させる意味のあるタスクを選択する
ことが考えられるが、そのようなタスクを動作中に選択
することは従来の技術では困難である。このようなこと
を考慮して、通常では処理能力の低い情報処理装置上に
積極的にタスクを移送することは考えられてはいなかっ
た。
【0011】
【課題を解決するための手段(及び作用)】上記課題を解
決する為に、本発明は、複数の情報処理装置をネットワ
ークで接続した分散情報処理装置で、分散した情報処理
装置上に存在するタスクの主記憶を分散仮想共有記憶に
よって共有する分散タスク内で、各情報処理装置上にス
レッドを分散して実行させる機構をもつオペレーティン
グシステムにおいて、複数の情報処理装置の負荷情報を
収集するステップと、収集した負荷情報に従って動作中
の分散タスクの分散度を制御するステップと、分散タス
ク内の高い負荷の情報処理装置上で動作しているスレッ
ドを低い負荷の情報処理装置上に移送するステップと、
を有することを特徴とする負荷分散方式を提供する。上
記課題を解決する為に、本発明は、好ましくは、前記分
散タスクの分散度を制御するステップは、収集した負荷
情報に従って負荷の高い情報処理装置が自装置上で動作
している分散タスクを負荷の低い情報処理装置へ拡張
し、スレッドを移送することを特徴とする。上記課題を
解決する為に、本発明は、好ましくは、前記分散タスク
の分散度を制御するステップは、収集した負荷情報に従
って負荷の低い情報処理装置が負荷の高い情報処理装置
上で動作している分散タスクを自装置へ拡張し、スレッ
ドを移送すること特徴とする。上記課題を解決する為
に、本発明は、好ましくは、前記分散タスクの分散度を
制御するステップは、収集した負荷情報に従って負荷の
高い情報処理装置が自装置上で動作している分散タスク
を負荷の低い情報処理装置へ拡張し、逆に負荷の低い情
報処理装置は負荷の高い情報処理装置上で動作している
分散タスクを自装置へ拡張し、それぞれがスレッドを移
送することを特徴とする。上記課題を解決する為に、本
発明は、好ましくは、前記分散タスクの分散度を制御す
るステップには、収集した負荷情報に従って負荷の高い
情報処理装置が自装置上で動作している分散タスクを負
荷の低い情報処理装置へ拡張し、さらに既に他の負荷の
低い情報処理装置に拡張している分散タスクをその情報
処理装置への圧縮し、逆に負荷の低い情報処理装置は負
荷の高い情報処理装置上で動作している分散タスクを自
装置へ拡張し、さらに既に他の負荷の高い情報処理装置
に拡張している分散タスクをその情報処理装置から自装
置へ圧縮し、それぞれがスレッドを移送することを特徴
とする。上記課題を解決する為に、本発明は、好ましく
は、前記分散タスク内のスレッドの移送を行なうステッ
プは、分散タスク上に利用者レベルのスレッド管理機構
を設けて、利用者空間の分散仮想共有記憶上でのコンテ
キスト切り換えを用いて、分散タスク内のスレッドを実
際には移送せずに、高い負荷の情報処理装置のスレッド
を停止し、低い負荷の情報処理装置にスレッドを生成す
ることで利用者レベルのスレッドを移動させることを特
徴とする。上記課題を解決する為に、本発明は、好まし
くは、前記複数の情報処理装置の負荷情報を収集するス
テップは、自装置の負荷情報を定期的にメッセージとし
て回覧することで負荷情報を収集することを特徴とす
る。上記課題を解決する為に、本発明は、好ましくは、
前記複数の情報処理装置の負荷情報を収集するステップ
は、自装置の負荷状態が低下したり高くなり変化して、
分散タスクの拡張やスレッドの移送を行なわなければな
らない状態になってはじめて、他の情報処理装置の負荷
情報を収集することを特徴とする。
【0012】
【実施例】以下、図面を参照して本発明の実施例を詳細
に説明する。
【0013】図1は本発明の、分散した情報処理装置を
示す図である。各情報処理装置は単独で一般的な情報処
理装置として動作することが可能であり、ネットワーク
によって接続され相互に通信可能である。但し、各情報
処理装置が全ての入出力装置を備えている必要はなく、
各情報処理装置の処理能力が同じである必要もない。
【0014】図2に本発明の負荷分散方式の概念図を示
す。201が各情報処理装置(以下ノードと呼ぶ)で相互に
ネットワークによって接続されている。202がオペレー
ティングシステムのマイクロカーネルであり、タスクの
制御、そのノード内の主記憶の制御、カーネルレベルの
スレッド制御などを行なう。203が本負荷分散方式を行
なう負荷分散サーバであり、各ノード上のサーバが通信
しあい協調して負荷分散を行なう。204が複数のノード
にまたがる分散タスクである。205が分散タスク内で動
作するスレッドである。206が分散タスクの分散仮想共
有記憶を実現する分散仮想共有記憶サーバである。
【0015】図3に本発明の負荷分散方式のフローチャ
ートを示す。
【0016】本負荷分散方式では、ステップS1で、従
来の負荷分散方式と同様に各情報処理装置の負荷情報を
収集する。ステップS2では、ステップS1で集めた各
情報処理装置の負荷情報が等しいか否か判別し、各情報
処理装置の負荷が等しい場合はステップS1の処理に移
る。集めた負荷情報から各ノードの負荷が均等でなく、
高負荷のノードと低負荷のノードが存在した場合に、ス
テップS3の処理に移る。ステップS3では、動作中の
分散タスクの分散度(分散タスクが動作しているノード
数)を制御する。ステップS4では、動作中の分散タス
ク内のスレッドを高負荷のノードから低負荷のノードヘ
移送する処理を行う。
【0017】分散タスクの分散度の制御には、分散度を
大きくすることと、分散度を減らすことの2つの方法が
ある。分散度を大きくするためには、分散タスクの分散
仮想共有記憶空間を他のノード上に拡張し、その上で分
散タスク内のスレッドを動作できるようにする。その分
散タスクの拡張の概念図を表したのが図4である。
【0018】また分散度を減らすためには、分散タスク
が既に拡張して動作しているノードからスレッドを全て
当該分散タスクの存在する他のノードへ移送し、全スレ
ッドを移送したノードから分散仮想共有記憶での共有を
やめる。この分散タスクの圧縮の概念図を表したのが図
5である。この分散タスクの拡張と圧縮を行なうこと
で、本負荷分散方式では分散タスクの分散度の制御を行
ない、高負荷のノード上で動作している分散タスクを低
負荷のノードに拡張し、さらに高負荷のノード上から分
散タスクを圧縮し、分散タスク内でスレッドを移送する
ことで負荷分散を行なう。
【0019】対象とする分散システムによって、この分
散タスクの拡張と圧縮のどちらかしか行なわなかった
り、両方とも行なうことが考えられる。例えば、タスク
を生成した際に、そのタスクで必要となる並列度分のノ
ードに分散タスクを拡張して生成するシステムや、分散
タスクの動作中に並列度が上がるとすぐに他のノードに
分散タスクを拡張するシステムでは、全ノードの負荷を
均等化するために負荷分散サーバが分散タスクを圧縮す
ることが必要である。
【0020】逆にタスクは自分から分散タスクになり他
のノードに分散したり、分散タスクから並列度が上がっ
たからといって、他のノードに拡張したりしないシステ
ムでは、負荷分散サーバが各ノードの負荷を分散させる
ために分散タスクの拡張を行なう。この場合、分散タス
クの圧縮を行なわず各ノードの負荷が一様に高くなった
場合には分散タスクの拡張を抑制するだけでも良いが、
分散タスクの圧縮も行なうようにすればより負荷分散の
効果が上がる。
【0021】図3のフローチャートでは負荷情報の収集
が負荷分散と同じ流れで示されているが、図6のように
別の流れで行なうことも可能である。図6のステップS
1からステップS4は図3のステップS1からステップ
S4と同じ処理を行っているので、ここでは説明を省略
し、ステップS5からステップS7について説明する。
ステップS6では、ステップS1で収集した各情報処理
装置の負荷情報を記録するか、負荷情報を負荷分散スレ
ッドに通知する処理を行う。ステップS7では一定時間
待機して、ステップS1の処理に戻る。ステップS5で
は、前記収集された負荷情報をチェックする。次のステ
ップS2からステップS4は図3のステップS2からス
テップS4の処理を実行する。即ち、収集した負荷情報
は負荷分散を行なうスレッドと負荷情報の収集を行なう
スレッドの両方が参照可能な記憶装置に記録すること
や、収集した負荷情報をメッセージなどによって転送す
る方法などがある。
【0022】(第2の実施例)上記の実施例では、負荷
分散を行なうサーバが集中して意志決定を可能な場合を
述べたが、本実施例では分散して自律的に負荷分散を行
なう場合について述べる。
【0023】図7に本実施例の負荷分散方式のフローチ
ャートを示す。
【0024】ステップS71では、各負荷分散サーバは
自ノードの負荷についての情報を監視し、自ノードの負
荷が低下したり、負荷が上昇した場合にはステップS7
2の処理に移る。負荷分散を行なおうとする。ステップ
S71で負荷が変化していないと判断された場合は、ス
テップS71の処理に戻る。ステップS72では、他の
情報処理装置の負荷情報を収集する。ステップS73で
は、自情報処理装置の負荷情報が、ステップS72で収
集した他の情報処理装置の負荷情報より高いと判断され
た場合は、ステップS75の処理に移る。ステップS7
5で動作中の分散タスクがないと判断された場合は、ス
テップS76の処理に移り、ステップS76では、低負
荷のノードへ分散タスクを拡張する処理を行う。ステッ
プS74で、自情報処理装置の負荷情報が、ステップS
72で収集した他の情報処理装置の負荷情報より低いと
判断された場合は、ステップS77の処理に移る。ステ
ップS77では動作中の分散タスクあるか否か判断し、
なければステップS78で、高負荷のノードから分散タ
スクを拡張する。ステップS76とステップS78の処
理の実行後ステップS79に移る。ステップS79で
は、分散タスク内のスレッドを高負荷のノードから低負
荷のノードに移送する。
【0025】本実施例では、各負荷分散サーバは基本的
に自ノードの負荷についての情報を監視し、自ノードの
負荷が低下したり、負荷が上昇した場合に負荷分散を行
なおうとする。負荷分散を行なうか行なわないかの決定
は、自ノードの負荷に対して閾値を設けておく方法があ
る。閾値は一つである必要はなく2つ持っておくことも
可能である。この場合、上下の閾値について現在の負荷
と比較して、上の閾値より負荷が上がった場合には自ノ
ードの負荷をさげようとし、下の閾値より負荷が下がっ
た場合には自ノードの負荷を上げようとして、負荷分散
を計る。
【0026】自ノードの負荷を下げるためには、他のノ
ードの負荷情報を収集して自ノードよりも負荷の低いノ
ードを探す。そして、自ノード上に動作中の分散タスク
が存在し、その分散タスクが自ノードより負荷の低いノ
ードに拡張していたならば、その分散タスク内のスレッ
ドを自ノードから負荷の低いノードに移送する。
【0027】また、自ノードで分散タスクが動作してい
なかったり、分散タスクはあるが自ノードよりも負荷の
高いノードに拡張している場合には、自ノードで動作し
ているタスクや分散タスクを負荷の低いノードに拡張し
てから、その低いノードへスレッドを移送する。このよ
うな方法で自ノードの負荷を他のノードへと分散でき
る。
【0028】この自ノードの負荷を他のノードに分散す
る場合には、自ノードのタスクを拡張するだけでなく、
動作中の分散タスクで負荷の低いノードに拡張している
ものを、そのノードへ自ノードから分散タスクを圧縮し
てしまうことも考えられる。この場合は、システム全体
の負荷が高い場合に分散タスクが拡張ばかりでなく圧縮
されるので、分散仮想共有記憶を保持するための処理の
負荷が減少し、ネットワークによるメッセージ転送が減
少し、システム全体の処理能力は上がる。
【0029】逆に自ノードの負荷が低下し、自ノードの
負荷を上げようとする場合には、他のノードの負荷情報
を収集して自ノードよりも負荷の高いノードを探す。そ
して自ノードの負荷を下げる場合と同様に、分散タスク
を負荷の高いノードから拡張や負荷の低いノードへの分
散タスクの圧縮をして、スレッドを負荷の高いノードか
ら移送してくることによって負荷の分散が計れる。
【0030】さらに本実施例では負荷分散を行なおうと
して必要になった時にはじめて他のノードの負荷情報を
収集する方式を説明したが、定期的に自ノードの負荷情
報を他のノードに伝達することによって、負荷情報を収
集する方式も考えられる。
【0031】(第3の実施例)以上の実施例では高い負
荷のノードから低い負荷のノードへスレッドの移送を行
なっていたが、分散タスク上で利用者レベルのスレッド
の管理機構を用いることによって利用者レベルスレッド
をコンテキストスイッチングを利用してノード移動を可
能とし、それでスレッド移送を行なわずに分散タスク内
の負荷を移動することが可能である。この場合には図8
のように、分散タスク内の負荷の低いノード上にカーネ
ルレベルスレッドを生成し、負荷の高いノード上で動作
している利用者レベルスレッドに移動要求を出して、移
動したあとに負荷の高いノード上のカーネルレベルスレ
ッドを停止することで負荷分散が行なえる。
【0032】また、利用者レベルスレッドの管理機構が
空きカーネルレベルスレッドを自動的に探して割り当て
る方式の場合には、利用者レベルスレッドに移動要求を
出す必要もなくなる。この場合は分散タスクに割り当て
るカーネルレベルスレッドの数をノード毎に制御するこ
とによって負荷分散が行なえることになる。さらに、あ
る分散タスクのひとつのノードに割り当てるカーネルレ
ベルスレッド数を零にすると決めた場合に、分散タスク
の圧縮を行なえば良い。この場合の負荷分散方式の流れ
図を図9に示す。図9のステップS71からステップS
78までの処理は、図7のステップS71からステップ
S78の処理と同じであるので、ここでは説明を省略す
る。自ノードの負荷が他ノード負荷より低いと判断され
た場合は、ステップS80の処理に移り、ステップS8
0では自ノード上のカーネルスレッドを増やす処理を実
行する。自ノードの負荷が他ノード負荷より高いと判断
された場合は、自ノード上のカーネルスレッドを減らす
処理を実行する。
【0033】
【発明の効果】以上説明したように、分散した複数の情
報処理装置をネットワークで接続した分散情報処理装置
で、分散仮想共有記憶によって共有する分散タスク内に
スレッドを分散して実行させる機構をもつオペレーティ
ングシステムにおいて、各情報処理装置の負荷情報を収
集して負荷が均等でない場合に、動作中の分散タスクの
分散度を制御し、分散タスク内で動作しているスレッド
を移送することによって、情報処理装置上の負荷が分散
され、分散システム全体の情報処理装置の処理能力を充
分に活用することが可能となる。
【0034】分散タスク上に利用者レベルのスレッド管
理機構を設けて、利用者空間の分散仮想共有記憶上での
コンテキスト切り換えを用いることで、分散タスク内の
スレッドを実際には移送せずに、情報処理装置上負荷の
分散が行える。また、自装置の負荷情報を定期的にメッ
セージとして回覧することで、効率的な負荷情報を収集
することができる。また、自装置の負荷状態が低下した
り高くなり変化して、分散タスクの拡張やスレッドの移
送を行なわなければならない状態になってはじめて、他
の情報処理装置の負荷情報を収集することで効率的な負
荷情報の収集が行える。
【図面の簡単な説明】
【図1】本発明の負荷分散方式を用いる分散した情報処
理装置の構成図である。
【図2】本発明の負荷分散方式の概念図である。
【図3】本発明の負荷分散方式のフローチャートであ
る。
【図4】分散タスクの拡張と圧縮について示した図であ
る。
【図5】分散タスクの拡張と圧縮について示した図であ
る。
【図6】負荷情報の収集を別のスレッドで行なう場合の
フローチャートである。
【図7】負荷分散を分散したノード上で自律して行なう
場合のフローチャートである。
【図8】カーネルレベルスレッドと利用者レベルスレッ
ドの関係を示す図である。
【図9】利用者レベルスレッドの移動を用いた場合の負
荷分散方式のフローチャートである。
【符号の説明】
101 情報処理装置 102 ネットワーク 201 情報処理装置 202 マイクロカーネル 203 負荷分散サーバ 204 分散タスク 205 スレッド 206 分散仮想共有記憶サーバ

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 複数の情報処理装置をネットワークで接
    続した分散情報処理装置で、分散した情報処理装置上に
    存在するタスクの主記憶を分散仮想共有記憶によって共
    有する分散タスク内で、各情報処理装置上にスレッドを
    分散して実行させる機構をもつオペレーティングシステ
    ムにおいて、複数の情報処理装置の負荷情報を収集する
    ステップと、収集した負荷情報に従って動作中の分散タ
    スクの分散度を制御するステップと、分散タスク内の高
    い負荷の情報処理装置上で動作しているスレッドを低い
    負荷の情報処理装置上に移送するステップと、を有する
    ことを特徴とする負荷分散方式。
  2. 【請求項2】 前記分散タスクの分散度を制御するステ
    ップは、収集した負荷情報に従って負荷の高い情報処理
    装置が自装置上で動作している分散タスクを負荷の低い
    情報処理装置へ拡張し、スレッドを移送することを特徴
    とする請求項1記載の負荷分散方式。
  3. 【請求項3】 前記分散タスクの分散度を制御するステ
    ップは、収集した負荷情報に従って負荷の低い情報処理
    装置が負荷の高い情報処理装置上で動作している分散タ
    スクを自装置へ拡張し、スレッドを移送すること特徴と
    する請求項1記載の負荷分散方式。
  4. 【請求項4】 前記分散タスクの分散度を制御するステ
    ップは、収集した負荷情報に従って負荷の高い情報処理
    装置が自装置上で動作している分散タスクを負荷の低い
    情報処理装置へ拡張し、逆に負荷の低い情報処理装置は
    負荷の高い情報処理装置上で動作している分散タスクを
    自装置へ拡張し、それぞれがスレッドを移送することを
    特徴とする請求項1記載の負荷分散方式。
  5. 【請求項5】 前記分散タスクの分散度を制御するステ
    ップは、収集した負荷情報に従って負荷の高い情報処理
    装置が自装置上で動作している分散タスクを負荷の低い
    情報処理装置へ拡張し、さらに既に他の負荷の低い情報
    処理装置に拡張している分散タスクをその情報処理装置
    への圧縮し、逆に負荷の低い情報処理装置は負荷の高い
    情報処理装置上で動作している分散タスクを自装置へ拡
    張し、さらに既に他の負荷の高い情報処理装置に拡張し
    ている分散タスクをその情報処理装置から自装置へ圧縮
    し、それぞれがスレッドを移送することを特徴とする請
    求項1記載の負荷分散方式。
  6. 【請求項6】 前記分散タスク内のスレッドの移送を行
    なうステップは、分散タスク上に利用者レベルのスレッ
    ド管理機構を設けて、利用者空間の分散仮想共有記憶上
    でのコンテキスト切り換えを用いて、分散タスク内のス
    レッドを実際には移送せずに、高い負荷の情報処理装置
    のスレッドを停止し、低い負荷の情報処理装置にスレッ
    ドを生成することで利用者レベルのスレッドを移動させ
    ることを特徴とする請求項1記載の負荷分散方式。
  7. 【請求項7】 前記複数の情報処理装置の負荷情報を収
    集するステップは、自装置の負荷情報を定期的にメッセ
    ージとして回覧することで負荷情報を収集することを特
    徴とする請求項1記載の負荷分散方式。
  8. 【請求項8】 前記複数の情報処理装置の負荷情報を収
    集するステップは、自装置の負荷状態が低下したり高く
    なり変化して、分散タスクの拡張やスレッドの移送を行
    なわなければならない状態になってはじめて、他の情報
    処理装置の負荷情報を収集することを特徴とする請求項
    1記載の負荷分散方式。
JP16682494A 1994-07-19 1994-07-19 負荷分散方法 Expired - Fee Related JP3696901B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP16682494A JP3696901B2 (ja) 1994-07-19 1994-07-19 負荷分散方法
US08/502,702 US5692192A (en) 1994-07-19 1995-07-14 Load distribution method and system for distributed threaded task operation in network information processing apparatuses with virtual shared memory
DE69520988T DE69520988T2 (de) 1994-07-19 1995-07-17 Lastverteilungsverfahren und -system
EP95304960A EP0697654B1 (en) 1994-07-19 1995-07-17 Load distribution method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16682494A JP3696901B2 (ja) 1994-07-19 1994-07-19 負荷分散方法

Publications (2)

Publication Number Publication Date
JPH0830472A true JPH0830472A (ja) 1996-02-02
JP3696901B2 JP3696901B2 (ja) 2005-09-21

Family

ID=15838352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16682494A Expired - Fee Related JP3696901B2 (ja) 1994-07-19 1994-07-19 負荷分散方法

Country Status (4)

Country Link
US (1) US5692192A (ja)
EP (1) EP0697654B1 (ja)
JP (1) JP3696901B2 (ja)
DE (1) DE69520988T2 (ja)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0877027A (ja) * 1994-09-01 1996-03-22 Canon Inc 計算機及びそのシステム及びその制御方法
JPH0877026A (ja) * 1994-08-31 1996-03-22 Canon Inc 情報処理方法とその装置
JPH0883255A (ja) * 1994-09-12 1996-03-26 Canon Inc 情報処理装置及びその方法
JP2000242609A (ja) * 1999-02-23 2000-09-08 Nippon Telegr & Teleph Corp <Ntt> 分散オブジェクト動的配置制御方法及び装置
KR100453723B1 (ko) * 1996-06-05 2004-12-17 선 마이크로시스템즈 인코퍼레이티드 감소된런-타임메모리공간의요구를가지고실행쓰레드들을실행하기위한컴퓨터시스템및방법
JP2007207225A (ja) * 2006-01-31 2007-08-16 Internatl Business Mach Corp <Ibm> ウェブ・アプリケーション・ミドルウェアのための非集中型のアプリケーション配置方法、システム、プログラム
JP2010092483A (ja) * 2004-09-28 2010-04-22 Intel Corp 利用可能な並列性の量に従って1命令当たりのエネルギーを変化させるための方法及び装置
WO2011155047A1 (ja) * 2010-06-10 2011-12-15 富士通株式会社 マルチコアプロセッサシステム、電力制御方法、および電力制御プログラム
WO2012066633A1 (ja) * 2010-11-16 2012-05-24 富士通株式会社 通信装置、負荷分散方法、および記録媒体
WO2012124077A1 (ja) * 2011-03-16 2012-09-20 富士通株式会社 マルチコアプロセッサシステムおよびスケジューリング方法
JP2013090072A (ja) * 2011-10-17 2013-05-13 Hitachi Ltd サービス提供システム
CN103274266A (zh) * 2013-01-11 2013-09-04 株洲时代新材料科技股份有限公司 一种数控纤维缠绕机及其应用
JP2015073314A (ja) * 2014-12-01 2015-04-16 株式会社日立製作所 サーバ装置群およびネットワークシステム
JP2019517052A (ja) * 2016-03-31 2019-06-20 クアルコム,インコーポレイテッド メモリ管理ユニットおよび分散仮想メモリネットワークのためのハードウェア管理電力コラプスおよびクロックウェイクアップ

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4429469A1 (de) * 1994-08-19 1996-02-22 Licentia Gmbh Verfahren zur Leitwegsteuerung
US5884077A (en) * 1994-08-31 1999-03-16 Canon Kabushiki Kaisha Information processing system and method in which computer with high load borrows processor of computer with low load to execute process
US5859898A (en) * 1996-09-17 1999-01-12 Nynex Science & Technology Messaging architecture supporting digital and analog media
US6119145A (en) * 1997-02-28 2000-09-12 Oracle Corporation Multithreaded client application storing a separate context for each transaction thus allowing threads to resume transactions started by other client threads
US6535878B1 (en) 1997-05-02 2003-03-18 Roxio, Inc. Method and system for providing on-line interactivity over a server-client network
JP3883647B2 (ja) * 1997-06-10 2007-02-21 インターナショナル・ビジネス・マシーンズ・コーポレーション メッセージ処理方法、メッセージ処理装置及びメッセージ処理を制御するプログラムを格納する記憶媒体
US6675195B1 (en) * 1997-06-11 2004-01-06 Oracle International Corporation Method and apparatus for reducing inefficiencies caused by sending multiple commands to a server
US6003066A (en) * 1997-08-14 1999-12-14 International Business Machines Corporation System for distributing a plurality of threads associated with a process initiating by one data processing station among data processing stations
JP4000223B2 (ja) * 1997-09-24 2007-10-31 富士通株式会社 情報検索方法,情報検索システムおよび同システム用検索管理装置
US6185662B1 (en) * 1997-12-22 2001-02-06 Nortel Networks Corporation High availability asynchronous computer system
US6243107B1 (en) 1998-08-10 2001-06-05 3D Labs Inc., Ltd. Optimization of a graphics processor system when rendering images
US6622155B1 (en) 1998-11-24 2003-09-16 Sun Microsystems, Inc. Distributed monitor concurrency control
US7216348B1 (en) * 1999-01-05 2007-05-08 Net2Phone, Inc. Method and apparatus for dynamically balancing call flow workloads in a telecommunications system
JP3250729B2 (ja) * 1999-01-22 2002-01-28 日本電気株式会社 プログラム実行装置及びそのプロセス移動方法並びにプロセス移動制御プログラムを格納した記憶媒体
US6986137B1 (en) * 1999-09-28 2006-01-10 International Business Machines Corporation Method, system and program products for managing logical processors of a computing environment
US6842899B2 (en) 1999-12-21 2005-01-11 Lockheed Martin Corporation Apparatus and method for resource negotiations among autonomous agents
US6957237B1 (en) 2000-06-02 2005-10-18 Sun Microsystems, Inc. Database store for a virtual heap
US6934755B1 (en) * 2000-06-02 2005-08-23 Sun Microsystems, Inc. System and method for migrating processes on a network
US6941410B1 (en) 2000-06-02 2005-09-06 Sun Microsystems, Inc. Virtual heap for a virtual machine
US6854115B1 (en) 2000-06-02 2005-02-08 Sun Microsystems, Inc. Process persistence in a virtual machine
US20030014507A1 (en) * 2001-03-13 2003-01-16 International Business Machines Corporation Method and system for providing performance analysis for clusters
US20030033345A1 (en) * 2002-06-27 2003-02-13 Keefer Christopher E. Thread-based methods and systems for using the idle processing power of one or more networked computers to solve complex scientific problems
US7594233B2 (en) * 2002-06-28 2009-09-22 Hewlett-Packard Development Company, L.P. Processing thread launching using volunteer information
US7389506B1 (en) * 2002-07-30 2008-06-17 Unisys Corporation Selecting processor configuration based on thread usage in a multiprocessor system
US7093258B1 (en) * 2002-07-30 2006-08-15 Unisys Corporation Method and system for managing distribution of computer-executable program threads between central processing units in a multi-central processing unit computer system
US7043729B2 (en) * 2002-08-08 2006-05-09 Phoenix Technologies Ltd. Reducing interrupt latency while polling
US20040055001A1 (en) * 2002-09-16 2004-03-18 Islam Farhad Fuad Method and apparatus for computational load sharing in a multiprocessor architecture
US7096470B2 (en) * 2002-09-19 2006-08-22 International Business Machines Corporation Method and apparatus for implementing thread replacement for optimal performance in a two-tiered multithreading structure
US7181744B2 (en) * 2002-10-24 2007-02-20 International Business Machines Corporation System and method for transferring data between virtual machines or other computer entities
US7231638B2 (en) 2002-12-03 2007-06-12 International Business Machines Corporation Memory sharing in a distributed data processing system using modified address space to create extended address space for copying data
US7251815B2 (en) * 2003-04-29 2007-07-31 International Business Machines Corporation Multiple virtual machines sharing processor and work queue in memory having program/dispatch functions for assigning and accessing work items while the virtual machine was not idle
JP4012517B2 (ja) 2003-04-29 2007-11-21 インターナショナル・ビジネス・マシーンズ・コーポレーション 仮想計算機環境におけるロックの管理
US7299468B2 (en) * 2003-04-29 2007-11-20 International Business Machines Corporation Management of virtual machines to utilize shared resources
US8104043B2 (en) * 2003-11-24 2012-01-24 Microsoft Corporation System and method for dynamic cooperative distributed execution of computer tasks without a centralized controller
US7380039B2 (en) * 2003-12-30 2008-05-27 3Tera, Inc. Apparatus, method and system for aggregrating computing resources
US20050240380A1 (en) * 2004-03-31 2005-10-27 Jones Kenneth D Reducing context memory requirements in a multi-tasking system
JP4086813B2 (ja) * 2004-06-09 2008-05-14 キヤノン株式会社 ネットワークプリントシステム及びネットワークプリントシステムにおけるグリッド網構築方法
WO2006026721A2 (en) * 2004-08-31 2006-03-09 Internetwork, Inc. Dynamically programmable embedded agents
US20060045019A1 (en) * 2004-09-01 2006-03-02 Patzschke Till I Network testing agent with integrated microkernel operating system
US8589944B2 (en) * 2005-03-16 2013-11-19 Ricoh Production Print Solutions Method and system for task mapping to iteratively improve task assignment in a heterogeneous computing system
US8429630B2 (en) 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
GB0519597D0 (en) * 2005-09-26 2005-11-02 Imagination Tech Ltd Scalable multi-threaded media processing architecture
US7860968B2 (en) 2005-11-21 2010-12-28 Sap Ag Hierarchical, multi-tiered mapping and monitoring architecture for smart items
US8156208B2 (en) 2005-11-21 2012-04-10 Sap Ag Hierarchical, multi-tiered mapping and monitoring architecture for service-to-device re-mapping for smart items
US8005879B2 (en) 2005-11-21 2011-08-23 Sap Ag Service-to-device re-mapping for smart items
US8489700B2 (en) * 2005-11-30 2013-07-16 International Business Machines Corporation Analysis of nodal affinity behavior
US8108863B2 (en) 2005-12-30 2012-01-31 Intel Corporation Load balancing for multi-threaded applications via asymmetric power throttling
US8522341B2 (en) 2006-03-31 2013-08-27 Sap Ag Active intervention in service-to-device mapping for smart items
US7890568B2 (en) 2006-04-28 2011-02-15 Sap Ag Service-to-device mapping for smart items using a genetic algorithm
US8296408B2 (en) 2006-05-12 2012-10-23 Sap Ag Distributing relocatable services in middleware for smart items
US8131838B2 (en) 2006-05-31 2012-03-06 Sap Ag Modular monitor service for smart item monitoring
US8065411B2 (en) 2006-05-31 2011-11-22 Sap Ag System monitor for networks of nodes
US8296413B2 (en) 2006-05-31 2012-10-23 Sap Ag Device registration in a hierarchical monitor service
US8396788B2 (en) 2006-07-31 2013-03-12 Sap Ag Cost-based deployment of components in smart item environments
US8212805B1 (en) 2007-01-05 2012-07-03 Kenneth Banschick System and method for parametric display of modular aesthetic designs
WO2008136075A1 (ja) * 2007-04-20 2008-11-13 Fujitsu Limited ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法
US10268741B2 (en) * 2007-08-03 2019-04-23 International Business Machines Corporation Multi-nodal compression techniques for an in-memory database
US8527622B2 (en) 2007-10-12 2013-09-03 Sap Ag Fault tolerance framework for networks of nodes
US7844620B2 (en) * 2007-11-16 2010-11-30 International Business Machines Corporation Real time data replication for query execution in a massively parallel computer
US8095512B2 (en) * 2007-11-19 2012-01-10 International Business Machines Corporation Managing database resources used for optimizing query execution on a parallel computer system
WO2010035480A1 (ja) * 2008-09-26 2010-04-01 日本電気株式会社 分散処理システム、分散処理方法およびプログラム
US8789065B2 (en) 2012-06-08 2014-07-22 Throughputer, Inc. System and method for input data load adaptive parallel processing
US9448847B2 (en) 2011-07-15 2016-09-20 Throughputer, Inc. Concurrent program execution optimization
US9417907B1 (en) * 2012-05-23 2016-08-16 Emc Corporation Impact management of system tasks
US8930956B2 (en) * 2012-08-08 2015-01-06 International Business Machines Corporation Utilizing a kernel administration hardware thread of a multi-threaded, multi-core compute node of a parallel computer
JP2014102691A (ja) * 2012-11-20 2014-06-05 Toshiba Corp 情報処理装置、通信機能を持つカメラ、および情報処理方法
CN103440165B (zh) * 2013-08-30 2016-04-27 西安电子科技大学 一种面向个人的任务分派与处理方法
US11200058B2 (en) 2014-05-07 2021-12-14 Qualcomm Incorporated Dynamic load balancing of hardware threads in clustered processor cores using shared hardware resources, and related circuits, methods, and computer-readable media
US9524193B1 (en) * 2015-09-09 2016-12-20 Ca, Inc. Transparent virtualized operating system
US11443186B2 (en) 2019-10-03 2022-09-13 Wipro Limited Method and system for executing processes in operating systems

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5031089A (en) * 1988-12-30 1991-07-09 United States Of America As Represented By The Administrator, National Aeronautics And Space Administration Dynamic resource allocation scheme for distributed heterogeneous computer systems
US5287508A (en) * 1992-04-07 1994-02-15 Sun Microsystems, Inc. Method and apparatus for efficient scheduling in a multiprocessor system
US5396614A (en) * 1992-06-25 1995-03-07 Sun Microsystems, Inc. Method and apparatus for a secure protocol for virtual memory managers that use memory objects
US5452447A (en) * 1992-12-21 1995-09-19 Sun Microsystems, Inc. Method and apparatus for a caching file server

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0877026A (ja) * 1994-08-31 1996-03-22 Canon Inc 情報処理方法とその装置
JPH0877027A (ja) * 1994-09-01 1996-03-22 Canon Inc 計算機及びそのシステム及びその制御方法
JPH0883255A (ja) * 1994-09-12 1996-03-26 Canon Inc 情報処理装置及びその方法
KR100453723B1 (ko) * 1996-06-05 2004-12-17 선 마이크로시스템즈 인코퍼레이티드 감소된런-타임메모리공간의요구를가지고실행쓰레드들을실행하기위한컴퓨터시스템및방법
JP2000242609A (ja) * 1999-02-23 2000-09-08 Nippon Telegr & Teleph Corp <Ntt> 分散オブジェクト動的配置制御方法及び装置
JP2013218721A (ja) * 2004-09-28 2013-10-24 Intel Corp 利用可能な並列性の量に従って1命令当たりのエネルギーを変化させるための方法及び装置
JP2010092483A (ja) * 2004-09-28 2010-04-22 Intel Corp 利用可能な並列性の量に従って1命令当たりのエネルギーを変化させるための方法及び装置
JP2011210275A (ja) * 2004-09-28 2011-10-20 Intel Corp 利用可能な並列性の量に従って1命令当たりのエネルギーを変化させるための方法及び装置
JP2015028810A (ja) * 2004-09-28 2015-02-12 インテル・コーポレーション 利用可能な並列性の量に従って1命令当たりのエネルギーを変化させるためのシステム
JP2007207225A (ja) * 2006-01-31 2007-08-16 Internatl Business Mach Corp <Ibm> ウェブ・アプリケーション・ミドルウェアのための非集中型のアプリケーション配置方法、システム、プログラム
WO2011155047A1 (ja) * 2010-06-10 2011-12-15 富士通株式会社 マルチコアプロセッサシステム、電力制御方法、および電力制御プログラム
US9395803B2 (en) 2010-06-10 2016-07-19 Fujitsu Limited Multi-core processor system implementing migration of a task from a group of cores to another group of cores
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
WO2012124077A1 (ja) * 2011-03-16 2012-09-20 富士通株式会社 マルチコアプロセッサシステムおよびスケジューリング方法
JP2013090072A (ja) * 2011-10-17 2013-05-13 Hitachi Ltd サービス提供システム
US9071612B2 (en) 2011-10-17 2015-06-30 Hitachi, Ltd. Service providing system
CN103274266A (zh) * 2013-01-11 2013-09-04 株洲时代新材料科技股份有限公司 一种数控纤维缠绕机及其应用
JP2015073314A (ja) * 2014-12-01 2015-04-16 株式会社日立製作所 サーバ装置群およびネットワークシステム
JP2019517052A (ja) * 2016-03-31 2019-06-20 クアルコム,インコーポレイテッド メモリ管理ユニットおよび分散仮想メモリネットワークのためのハードウェア管理電力コラプスおよびクロックウェイクアップ

Also Published As

Publication number Publication date
EP0697654A1 (en) 1996-02-21
DE69520988T2 (de) 2001-10-25
EP0697654B1 (en) 2001-05-23
US5692192A (en) 1997-11-25
DE69520988D1 (de) 2001-06-28
JP3696901B2 (ja) 2005-09-21

Similar Documents

Publication Publication Date Title
JP3696901B2 (ja) 負荷分散方法
US8321693B2 (en) Parallel processing method and system, for instance for supporting embedded cluster platforms, computer program product therefor
CN110677305B (zh) 一种云计算环境下的自动伸缩方法和***
CN102681895A (zh) 一种动态自迁移云服务方法
US20140019989A1 (en) Multi-core processor system and scheduling method
Setia et al. Processor scheduling on multiprogrammed, distributed memory parallel computers
CN107977271A (zh) 一种数据中心综合管理***负载均衡方法
US7032099B1 (en) Parallel processor, parallel processing method, and storing medium
Wan et al. A batch scheduler for the Intel Paragon with a non-contiguous node allocation algorithm
CN111459648B (zh) 面向应用程序的异构多核平台资源优化方法和装置
CN112860396A (zh) 一种基于分布式深度学习的gpu调度方法及***
CN116455612B (zh) 一种隐私计算中间数据流零拷贝装置及方法
CN117632457A (zh) 一种加速器调度方法及相关装置
Fu et al. Optimizing data locality by executor allocation in spark computing environment
JPS6077259A (ja) 負荷分散方式
Denning Equipment configuration in balanced computer systems
Diessel et al. On scheduling dynamic FPGA reconfigurations
JP2012038275A (ja) 取引計算シミュレーションシステム、方法及びプログラム
Carriero et al. Adaptive parallelism on multiprocessors: Preliminary experience with Piranha on the CM-5
Cai et al. A simulation study of dynamic load balancing for network-based parallel processing
CN114598706B (zh) 基于Serverless函数的存储***弹性伸缩方法
JPH09212468A (ja) 複合計算機システム
Goldman et al. A model for parallel job scheduling on dynamical computer Grids
Fang et al. Research of Task Scheduling Mechanism Based on Prediction of Memory Utilization
CN114384995A (zh) 一种功耗管理方法、装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041227

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050701

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090708

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090708

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100708

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100708

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110708

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120708

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120708

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130708

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees