JP5050601B2 - ジョブへの資源割当方式、ジョブへの資源割当方法およびプログラム - Google Patents

ジョブへの資源割当方式、ジョブへの資源割当方法およびプログラム Download PDF

Info

Publication number
JP5050601B2
JP5050601B2 JP2007077633A JP2007077633A JP5050601B2 JP 5050601 B2 JP5050601 B2 JP 5050601B2 JP 2007077633 A JP2007077633 A JP 2007077633A JP 2007077633 A JP2007077633 A JP 2007077633A JP 5050601 B2 JP5050601 B2 JP 5050601B2
Authority
JP
Japan
Prior art keywords
job
exception
priority
ready queue
instruction
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.)
Expired - Fee Related
Application number
JP2007077633A
Other languages
English (en)
Other versions
JP2008242510A (ja
Inventor
幹雄 伊藤
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2007077633A priority Critical patent/JP5050601B2/ja
Priority to US12/045,763 priority patent/US20080235695A1/en
Publication of JP2008242510A publication Critical patent/JP2008242510A/ja
Application granted granted Critical
Publication of JP5050601B2 publication Critical patent/JP5050601B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)

Description

本発明は、ジョブへの資源割当方式に関し、特に複数のジョブを単一システムで実行する場合に負荷のバランスを調整するジョブへの資源割当方式、ジョブへの資源割当方法およびプログラムに関する。
従来のジョブへの資源割当の方法として、当該ジョブに対するCPUの割り当て時間を保証するスケジュール方法を提供するものがある(例えば、特許文献1)。この従来のスケジュール方法は、CPU割り当て保証対象ジョブを予め定め、当該ジョブのCPU使用時間を計測し、予め定めた単位時間内に一定時間以上のCPUが割り当てられていなかった場合、優先的にCPUを割り当てるものである。これを実現するために、ジョブ開始時に当該ジョブがCPU割り当て保証対象ジョブであるか否かを判断し、CPU割り当て保証対象ジョブであると判断された場合は、当該ジョブのジョブ管理テーブルをCPU割り当て保証ジョブ管理テーブルに登録し、次に、当該ジョブが共用資源待ちになるか否かを判断し、共用資源待ちになると判断された場合には、先に共用資源を確保しているジョブがCPU割り当て保証対象ジョブであるか否かを判断し、CPU割り当て保証対象ジョブでないと判断した場合には一時優先フラグを設定した当該ジョブのジョブ管理テーブルをCPU割り当て保証ジョブ管理テーブルに登録し、共用資源を解放させる処理を行う。また、タイマ処理部から起動されたCPU割り当て保証制御部が、当該ジョブが起動されてからのCPU使用時間、CPU割り当て保証時間、CPU割り当て監視時間を参照して優先スケジュールキューを更新し、その後、スケジューラにて当該ジョブへのCPU割り当て処理を行う構成を有している。
特開2000−148512
しかしながら、この従来の方法では、ジョブをスケジューリングしてCPUを割り当てるためには、上述したようにジョブ管理テーブルを作成してCPU割り当て保証ジョブ管理テーブルに登録するというような煩雑な処理を実行する必要があり、その結果としてオーバヘッドが大きく汎用性に欠けるという問題があった。
本発明の目的は、複数のジョブを単一のシステムで実行する場合において、オーバヘッドの少ないシンプルな構成で汎用性に優れたジョブへの資源割当方式、ジョブへの資源割当方法およびプログラムを提供することにある。
本発明の第1のジョブへの資源割当方式は、情報処理システムにおいて、予め定められたジョブ毎のプロセッサ優先割り当て時間に基づいてジョブの切替を通知するタイマと、プロセスの命令を実行する命令実行手段と、前記タイマからの通知に基づいて優先ジョブとして選択したジョブに対応するプロセスを含むレディーキューから、先頭のプロセスを取り出して前記命令実行手段に割り当てて当該プロセスの命令を実行させるディスパッチャと、を備えた。
本発明の第2のジョブへの資源割当方式は、前記第1のジョブへの資源割当方式に於いて、前記ディスパッチャは、前記優先ジョブとして選択したジョブの前記レディーキューが空であった場合は、次の優先ジョブを選択する。
本発明の第3のジョブへの資源割当方式は、前記第1または第2のジョブへの資源割当方式に於いて、前記プロセッサ優先割り当て時間は、一定時間の周期を前記ジョブ毎のシステム割り当て割合で分配した時間である。
本発明の第4のジョブへの資源割当方式は、前記第1乃至第3のいずれかのジョブへの資源割当方式に於いて、前記ディスパッチャは、所定の処理を実行する例外プロセスを含む例外レディーキューに前記例外プロセスが存在する場合には、前記優先ジョブよりも前記例外プロセスに対応する最優先ジョブを優先して、前記例外レディーキューの先頭の例外プロセスを取り出して前記命令実行手段に割り当てて当該例外プロセスの命令を実行させる。
本発明の第5のジョブへの資源割当方式は、前記第1乃至第4のいずれかのジョブへの資源割当方式に於いて、前記ディスパッチャは、前記優先ジョブに対応するプロセス間で優先順位が変化した場合は、実行中のプロセスを対応する前記レディーキューに戻し、当該レディーキューの先頭のプロセスを取り出して前記命令実行手段に割り当てて当該プロセスの命令を実行させる。
本発明の第6のジョブへの資源割当方式は、前記第4乃至第5のジョブへの資源割当方式に於いて、前記ディスパッチャは、前記最優先ジョブに対応する例外プロセス間で優先順位が変化した場合は、実行中の例外プロセスを対応する前記例外レディーキューに戻し、当該例外レディーキューの先頭の例外プロセスを取り出して前記命令実行手段に割り当てて当該例外プロセスの命令を実行させる。
本発明の第7のジョブへの資源割当方式は、前記第1乃至第6のいずれかのジョブへの資源割当方式に於いて、前記タイマは、前記命令実行手段がプロセスの命令を一つ実行する度に、実行中のプロセスに対応するジョブの優先期間の計時値を更新し、当該ジョブの前記プロセッサ優先割り当て時間に達したか否かを確認する。
本発明の第8のジョブへの資源割当方式は、前記第1乃至第7のいずれかのジョブへの資源割当方式に於いて、前記ジョブの終了、追加の発生に対応して前記プロセッサ優先割り当て時間を再算出する手段を備えた。
本発明の第1のジョブへの資源割当方法は、情報処理システムにおけるジョブへの資源割り当て方法であって、予め定められたジョブ毎のプロセッサ優先割り当て時間に基づいてジョブの切替を通知し、前記通知に基づいて優先ジョブとして選択したジョブに対応するプロセスを含むレディーキューから、先頭のプロセスを取り出して当該プロセスの命令を実行する。
本発明の第2のジョブへの資源割当方法は、前記第1のジョブへの資源割当方法に於いて、前記通知に基づいて優先ジョブとして選択したジョブの前記レディーキューが空であった場合は、次の優先ジョブを選択する。
本発明の第3のジョブへの資源割当方法は、前記第1または第2のジョブへの資源割当方法に於いて、前記プロセッサ優先割り当て時間は、一定時間の周期を前記ジョブ毎のシステム割り当て割合で分配した時間である。
本発明の第4のジョブへの資源割当方法は、前記第1乃至第3のいずれかのジョブへの資源割当方法に於いて、所定の処理を実行する例外プロセスを含む例外レディーキューに前記例外プロセスが存在する場合には、前記優先ジョブよりも前記例外プロセスに対応する最優先ジョブを優先して、前記例外レディーキューの先頭の例外プロセスを取り出して当該例外プロセスの命令を実行する。
本発明の第5のジョブへの資源割当方法は、前記第1乃至第4のいずれかのジョブへの資源割当方法に於いて、前記優先ジョブに対応するプロセス間で優先順位が変化した場合は、実行中のプロセスを対応する前記レディーキューに戻し、当該レディーキューの先頭のプロセスを取り出して当該プロセスの命令を実行する。
本発明の第6のジョブへの資源割当方法は、前記第1乃至第5のいずれかのジョブへの資源割当方法に於いて、前記最優先ジョブに対応する例外プロセス間で優先順位が変化した場合は、実行中の例外プロセスを対応する前記例外レディーキューに戻し、当該例外レディーキューの先頭の例外プロセスを取り出して当該例外プロセスの命令を実行する。
本発明の第7のジョブへの資源割当方法は、前記第1乃至第6のいずれかのジョブへの資源割当方法に於いて、前記プロセスの命令を一つ実行する度に、実行中のプロセスに対応するジョブの優先期間の計時値を更新し、当該ジョブの前記プロセッサ優先割り当て時間に達したか否かを確認する。
本発明の第8のジョブへの資源割当方法は、前記第1乃至第7のいずれかのジョブへの資源割当方法に於いて、前記ジョブの終了、追加の発生に対応して前記プロセッサ優先割り当て時間を再算出する手段を備えた。
本発明のプログラムは、情報処理システムに、予め定められたジョブ毎のプロセッサ優先割り当て時間に基づいてジョブの切替を通知し、前記通知に基づいて優先ジョブとして選択したジョブに対応するプロセスを含むレディーキューから、先頭のプロセスを取り出して当該プロセスの命令を実行する処理を行わせる。
本発明によれば、複数のジョブを単一のシステムで実行する場合において、特定のジョブの負荷が増大した場合でも、他のジョブの性能低下や実行出来ない状況が発生することを防止する、オーバヘッドの少ないシンプルな構成で汎用性に優れたジョブへの資源割当方式を提供することが可能になる。その理由は、あらかじめ定められたジョブ毎のプロセッサ優先割り当て時間に基づいて、ジョブの優先期間の切替を通知し、当該通知に基づいて、優先期間に実行されるジョブとして選択されたジョブの、プロセッサが実行可能なプロセスを待ち行列にしたレディーキューの先頭からプロセスを取り出して、プロセッサに割り当てて実行させるようにしたからである。
次に、本発明について図面を参照して詳細に説明する。
図1を参照すると、本発明の第1の実施の形態は、命令実行手段111と、ディスパッチャ112と、タイマ113と、レディーキュー記憶部114と、割り当て時間記憶部115とで構成されている。
命令実行手段111は、ディスパッチャ112が選択した実行可能プロセスを構成する命令を実行する。
ディスパッチャ112は、図3に示す実行可能プロセス群311の中から、命令を実行すべき、当該実行可能プロセスを一つ選択する。ディスパッチャ112は、タイマ113にジョブの優先期間の割り当て時間を送信する。ディスパッチャ112は、タイマ113から切り替え指示を受信すると、当該優先期間のジョブを切り替える。
タイマ113は、当該割り当て時間を受信すると、ジョブの優先期間を計時し、当該優先期間が割り当て時間に達するとディスパッチャ112に切り替え指示を出力する。
レディーキュー記憶部114は、ジョブ毎に実行可能プロセスを待ち行列にしたレディーキュー群を記憶する。
図3を参照すると、レディーキュー群303は、レディーキュー304〜309およびレディーキュー310を含む。レディーキュー304〜309は、それぞれジョブA〜Fに対応し、実行可能プロセス群311の中で対応するジョブA〜Fの配下となる実行可能プロセスの待ち行列を構成する。例えば、レディーキュー306は、ジョブCの配下となる実行可能プロセスの待ち行列を構成する。
レディーキュー310は、最優先ジョブに対応し、配下となる実行可能例外プロセスの待ち行列を構成する。最優先ジョブとは、ジョブA〜Fに対応していないシステム共通処理、あるいは、ジョブA〜Fに対応しているが緊急性を要する処理のプロセスを例外プロセスとして定義し、例外プロセスの集合を示す。
レディーキュー310に実行可能プロセスが繋げられると、ディスパッチャ112はその先頭に繋がれた実行可能プロセスを最優先で選択する。命令実行手段111は、選択された実行可能プロセスの命令を実行する。最優先ジョブには、ジョブA〜Fへの割り当て割合202〜207と対応するものは定義されないため、プロセッサ優先割り当て時間に相当するものはない。
実行可能プロセス群311は、ディスパッチャ112から選択され、命令実行手段111により実行されるのを待っているプロセス群である。
一般的に、プロセスがレディーキューに繋がって待ち行列を構成し、レディーキューから取り出されて実行される処理は、当業者にとって周知の技術であるが、本実施の形態の理解をより容易にする上で有用な点について説明する。本実施の形態においては、命令実行手段111による実行状態にあるプロセスを実行中プロセスと呼ぶ。ある時点での実行中プロセスは一つだけである。プロセスは、ジョブA〜F、あるいは、最優先ジョブ内での実行順序に関する優先順位を持っている。
レディーキュー304〜309およびレディーキュー310は、各々のレディーキューにおいて、この優先順位に従った、先入れ先出し方式により実行可能プロセスの待ち行列を構成する。優先順位が高いプロセスは低いプロセスより対応するレディーキューの先頭側に繋がれ、同一優先順位のプロセス同士であれば、時間的に先に繋がれたプロセスが対応するレディーキューの先頭側に繋がれる。
従って、レディーキュー304〜309およびレディーキュー310の先頭に繋がれた実行可能プロセスは、そのレディーキュー304〜309およびレディーキュー310を構成する実行可能プロセスの中では、一番優先度が高く、命令実行手段111による実行状態となり、実行中プロセスと成り得るプロセスである。
図2は、本実施の形態が動作するシステム構成の例である。本実施の形態は、プロセッサ131と、メモリ132と、入出力制御部133と、サービスプロセッサ134と、周辺装置群135と、コンソール136を有している。
プロセッサ131は、本実施の形態においては、プログラムの指示に従い演算をはじめとするデータ処理を実行するものである。命令実行手段111、ディスパッチャ112、タイマ113が、それぞれの対応するプログラムと、プロセッサ131とによって実現されている。
メモリ132は、本実施の形態においては、プログラム、および、当該プログラムのワークエリア、バッファ等を記憶するものであり、レディーキュー記憶部114と、割り当て時間記憶部115とを少なくとも有している。
入出力制御部133、サービスプロセッサ134、周辺装置群135、および、コンソール136は、一般のコンピュータシステムを構成する周知の技術であり、本実施の形態においては特別な位置づけを持たないため、説明を省略する。
図4は、本発明が本実施の形態を用いて適用されるシステムにおける、プロセス識別番号101の構造を示す図である。ジョブ識別番号102は、各ジョブに対応したシステム内でユニークな番号である。ジョブ内のプロセス識別番号103は、各プロセスに対応したジョブ内でユニークな番号である。システム内のプロセス識別番号101は、ジョブ識別番号102とジョブ内のプロセス識別番号103を組み合わせた番号であり、各プロセスに対応したシステム内でユニークな番号である。本発明が本実施の形態を用いて適用されるシステムにおいて実行される各ジョブおよび各プロセスは、システム内のプロセス識別番号101、ジョブ識別番号102、ジョブ内のプロセス識別番号103で識別され、管理および制御される。
次に、図1〜図11を参照して、本発明の第1の実施の形態の動作について、具体的な実施例を示して詳細に説明する。
図5は、本発明が本実施の形態を用いて適用されるシステムにおける、プロセッサ優先割り当て時間算出の基となる周期201と、システム割り当て割合202〜207との例を示したものである。周期201は、システム割り当てを繰り返す一定時間の周期である。システム割り当て割合202〜207は、それぞれジョブA〜F毎に対応し、周期201内での各ジョブへのシステム割り当て割合を示すものである。例えば、周期を500μS、ジョブAに対するシステム割り当て割合202を20%とすると、ジョブAの優先期間であるプロセッサ優先割り当て時間は、500μS×0.2=100μSである。
図6は、本発明が本実施の形態を用いて適用されるシステムにおける、各ジョブに対する命令実行手段111の割り当てと、ディスパッチャ112、タイマ113の関係を示したイメージである。
ディスパッチャ112は、割り当て時間記憶部115の割り当て時間テーブル402をジョブ識別番号102に基づいて参照し、ジョブ識別番号102に対応する割り当て時間を取得する。ディスパッチャ112は、取得した割り当て時間を、タイマ113に出力する。
タイマ113は、割り当て時間を取得して、ジョブ識別番号102に対応するジョブの優先期間の計時を開始する。タイマ113は、優先期間の計時が割り当て時間に達すると、ディスパッチャ112に優先ジョブの切替指示405を出力する。ディスパッチャ112は、切り替え指示405を取得すると、優先ジョブを切り替える。即ち、切り替え指示405は、命令実行手段111により実行すべき実行可能プロセスの切替指示となる。
実行期間406〜419は、対応するジョブが優先期間となり命令実行手段111を割り当てられていることを表示している。実行期間406〜411では、ジョブA〜Fの割り当て時間に対応して命令実行手段111が割り当てられている。ジョブAの実行期間412と414の間に最優先ジョブの実行期間413が存在するが、これは実行期間412中において、最優先ジョブのレディーキュー310に実行可能プロセスが繋げられ、その先頭の実行可能プロセスが最優先で、命令実行手段111を割り当てられている状態を表現したものである。レディーキュー310に繋げられた実行可能プロセスが存在しなくなると(レディーキュー310が空になると)、中断されたジョブAの実行期間412の続きとして、実行期間414となる。実行期間414〜417までは、ジョブA〜Dの割り当て時間に対応して命令実行手段111が割り当てられている。実行期間417と418の間にジョブEの実行期間が存在しないが、これはこの時点で、ジョブEのレディーキュー308が空であることを表現している。ジョブFの実行期間418が終了すると、ジョブAの実行期間419になる。
図7は、本発明が本実施の形態を用いて適用されるシステムにおける、ジョブへの資源割当の基本の動作を示すフローチャートである。
以下の説明において、命令実行手段111の状態は、命令実行手段111による実行状態にあるプロセスである実行中プロセスが、命令実行手段111上にない状態(空き状態)と、命令実行手段111上に取り込んで、命令実行手段111上に存在している状態(プロセス状態)がある。プロセス状態では、一つだけ命令実行手段111上に存在している実行中プロセスを実行する。命令実行手段111に取り込む実行中プロセスは、レディーキュー群303に繋がれた実行可能プロセス群311の中から、その時点で最優先の実行可能プロセスが、ディスパッチャ112により一つだけ選択される。
以下の説明において、レディーキューm、レディーキューnは、レディーキュー304〜レディーキュー309のいずれかのレディーキューであることを示す。
ディスパッチャ112は、命令実行手段111上に最優先ジョブに属する実行中プロセスが存在するか否かを確認し、存在すればステップ511に分岐し、否であればステップ502に進む(ステップ501)。
ディスパッチャ112は、最優先ジョブのレディーキュー310に実行可能プロセスが存在するか否かを確認し、存在すればステップ514に分岐し、否であればステップ503に進む(ステップ502)。
ディスパッチャ112は、タイマ113から優先ジョブの切り替え指示405があるかどうかを確認する。処理は、優先ジョブの切り替え指示405が存在すればステップ518に分岐し、否であればステップ504に進む(ステップ503)。
ディスパッチャ112は、命令実行手段111上に実行中プロセスが存在するか否かを確認し、存在すればステップ505に進み、否であればステップ523に分岐する(ステップ504)。
ディスパッチャ112は、同一のジョブ内でプロセススイッチ要因があるか確認する。プロセススイッチ要因があればステップ506に進み、否であればステップ507に進む(ステップ505)。プロセススイッチとは、命令実行手段111上の実行中プロセスを実行可能プロセス群311の中に戻し、実行可能プロセス群311の中から規定に従った一つの実行可能プロセスを選択し、命令実行手段111上の実行中プロセスとする処理を言う。
ディスパッチャ112は、命令実行手段111上の実行中プロセスを対応するレディーキューmに戻すことにより実行可能プロセスとし、当該レディーキューmの先頭に存在する実行可能プロセスを命令実行手段111上に取り込み実行中プロセスとする。これにより、同一のジョブ内でのプロセススイッチが実施され、ステップ507に進む(ステップ506)。
命令実行手段111は、命令実行手段111上の実行中プロセスの命令を一つ実行する。この命令はプロセスを構成する命令群のひとつであり、予め定められた規則に従って命令群の中から選択された命令である。その後、処理は、ステップ508に進む(ステップ507)。
タイマ113は、命令実行手段111上の実行中プロセスが属するジョブの計時値を更新し、当該ジョブに与えられた割り当て時間を計測する。その後、処理は、ステップ509に進む(ステップ508)。
ディスパッチャ112は、命令実行手段111上の実行中プロセスは継続して実行可能か否かを確認する。ステップ507の命令の実行結果によっては、該実行中プロセスが、実行可能状態から他の状態に遷移する規則になっているためである。処理は、継続して実行可能であればステップ501に分岐し、否であればステップ510に進む(ステップ509)。
ディスパッチャ112は、命令実行手段111上の実行中プロセスを、実行中の状態から規則により規定された適当な状態に遷移させる。これにより、命令実行手段111上には実行中プロセスが存在しなくなる。その後、処理は、ステップ501に分岐する(ステップ510)。
図8は、命令実行手段111上で最優先ジョブに属する実行中プロセスが存在した場合の動作を示すフローチャートである。ディスパッチャ112は、最優先ジョブ内でプロセススイッチ要因があるか確認する。処理は、要因があればステップ512に進み、否であればステップ513に進む(ステップ511)。
ディスパッチャ112は、命令実行手段111上の実行中プロセスを最優先ジョブのレディーキュー310に戻すことにより実行可能プロセスとし、同レディーキュー310の先頭に存在する実行可能プロセスを命令実行手段111上に取り込み、実行中プロセスとする(ステップ512)。
ディスパッチャ112は、命令実行手段111上の実行中プロセスの一つの命令を実行する。本ステップ513での実行中プロセスは最優先ジョブに属している。その後、処理は、ステップ509に進む。最優先ジョブにはプロセッサ優先割り当て時間に相当するものが無いため、ステップ508は実行しない(ステップ513)。
図9は、命令実行手段111上に最優先ジョブに属する実行中プロセスは存在せず、かつ最優先ジョブのレディーキュー310には実行可能プロセスが存在する場合の動作を示すフローチャートである。ディスパッチャ112は、命令実行手段111上にジョブA〜Fに属する実行中プロセスが存在するか否かを確認し、存在すれば、ステップ515に進み、否であればステップ516に進む(ステップ514)。
ディスパッチャ112は、命令実行手段111上のジョブA〜Fに属する実行中プロセスを対応するレディーキューmに戻し実行可能プロセスとする。その後、処理は、ステップ516に進む(ステップ515)。
ディスパッチャ112は、最優先ジョブのレディーキュー310の先頭に存在する実行可能プロセスを命令実行手段111上に取り込み、実行中プロセスとする(ステップ516)。
ディスパッチャ112は、ステップ516で取り込んだ実行中プロセスの一つの命令を実行する。その後、処理は、ステップ509に分岐する。最優先ジョブにはプロセッサ優先割り当て時間に相当するものが無いため、ステップ508は実行しない(ステップ517)。
図10は、最優先ジョブに属する実行中プロセスも実行可能プロセスも存在せず、かつタイマ113から優先期間の切り替え指示405がある場合の動作を示すフローチャートである。ディスパッチャ112は、命令実行手段111上に実行中プロセスが存在するか否かを確認する。この実行中プロセスはジョブA〜Fの何れかに属しているものである。処理は、命令実行手段111上に実行中プロセスが存在すればステップ519に進み、否であればステップ520に進む(ステップ518)。
ディスパッチャ112は、命令実行手段111上の実行中プロセスを対応するレディーキューmに戻す。この実行中プロセスは、優先期間が終了したジョブに属したものである。その後、処理は、ステップ520に進む(ステップ519)。
ディスパッチャ112は、優先期間を次のジョブに切り替え、当該ジョブに対応した割り当て時間をタイマ113に出力する。対応する優先期間の優先ジョブの切替指示405はリセットされる。その後、処理は、ステップ521に進む(ステップ520)。
ディスパッチャ112は、優先期間の切替先のジョブに対応したレディーキューn(n=304〜309)に実行可能プロセスが存在するか否かを確認し、存在すればステップ522に進み、否であればステップ501に分岐する(ステップ521)。
ディスパッチャ112は、レディーキューnの先頭に存在する実行可能プロセスを命令実行手段111上に取り込み、実行中プロセスとする。その後、処理は、ステップ507に分岐する(ステップ522)。
図11は、最優先ジョブに属する実行中プロセスおよび実行可能プロセスが存在せず、タイマ113から優先期間の切り替え指示405も無く、かつ、命令実行手段111上にジョブA〜Fに属する実行中プロセスも無い場合の動作を示すフローチャートである。ディスパッチャ112は、優先期間をアサインされたジョブに対応したレディーキューmに実行可能プロセスが存在するか否かを確認し、存在する場合はステップ524に進む。否であれば、処理は、ステップ520に分岐し、優先期間を次のジョブに切り替える(ステップ523)。
ディスパッチャ112は、優先期間をアサインされたジョブに対応したレディーキューmの先頭に存在する実行可能プロセスを命令実行手段111上に取り込み、実行中プロセスとする。その後、処理は、ステップ507に分岐する(ステップ524)。
このようにして、ディスパッチャ112は、上記に述べた規則に従い、あるジョブの優先割り当て時間内で、規則に従い、当該ジョブのに対応するレディーキューの先頭から当該ジョブに属するプロセスを取り込み、命令実行手段111上の実行中プロセスとする。
本発明の第1の実施の形態によれば、あらかじめ定められたジョブ毎のシステム割り当て割合に基づいたプロセッサ割り当て時間をジョブ毎の優先期間とし、ジョブ毎に対応するレディーキューには、各ジョブに属する実行可能プロセスを繋ぎ、ジョブ毎の優先期間において、ジョブ毎に対応するレディーキューの先頭に繋がれた実行可能プロセスを選択し、プロセッサに割り当て実行させることができるようにしたことにより、各ジョブに対するプロセッサの割り当て時間は、予め設定された各ジョブへのシステム割り当て割合とほぼ同じになり、複数のジョブを単一のシステムで実行する場合において、特定のジョブの負荷が増大した場合でも、他のジョブが実行出来ない状況やシステムの割り当て割合が減少する状況を防止することが可能になるという効果を有している。
また、本発明の第1の実施の形態によれば、一つのジョブが、優先ジョブの期間であっても、実行すべき仕事が無くなり、優先ジョブのレディーキューが空であった場合、他のジョブが優先ジョブに切り替わるようにしたことにより、特定のジョブの負荷が軽くなり、ジョブのシステム使用時間が予め定めたシステム割り当て割合に満たない場合は、システム時間を無駄にすることなく、他のジョブにシステムを割り当てることが可能になるという効果を有している。
さらに、本発明の第1の実施の形態によれば、システム共通処理や緊急性を要するジョブを最優先ジョブと定義し、最優先ジョブに対応するレディーキューを備え、レディーキューに実行可能プロセスが繋がれた場合、即ちこの最優先ジョブで実行すべき仕事が発生すると、最優先でシステムを割り当てるようにしたことにより、最優先ジョブについては、一般のジョブが優先ジョブである期間か否かに関わらず、最優先でシステムを割り当てることが可能になるという効果を有している。
次に本発明の第2の実施の形態について図面を参照して詳細に説明する。
図12は、本発明の第2の実施の形態の構成を示すブロック図である。本発明の第2の実施の形態においては、本発明の第1の実施の形態の構成を示すブロック図である図1に対して、割り当て時間算出手段116が追加されていることが、本発明の第1の実施の形態と異なる。
割り当て時間算出手段116は、例えば図2に示すサービスプロセッサ134や、コンソール136から入力された、図5に示す周期201と、ジョブ毎のシステム割り当て割合202〜207を取得する。そして、割り当て時間算出手段116は、図5に示す周期201と、ジョブ毎のシステム割り当て割合202〜207に基づいて、ジョブ毎のプロセッサ優先割り当て時間を算出し、図6割り当て時間テーブル402に格納する。
第2の実施の形態の動作について、図5に示す例により、具体的な実施例を詳細に説明する。割り当て時間算出手段116は、図示しない何らかの手段から、図5に示す周期201=T[μs]として『500』を、ジョブAのシステム割り当て割合202=Ra[%]として『20』を、ジョブBのシステム割り当て割合203=Rb[%]として『10』、ジョブCのシステム割り当て割合204=Rc[%]として『30』を、ジョブDのシステム割り当て割合205=Rd[%]として『12』を、ジョブEのシステム割り当て割合206=Re[%]として『18』を、ジョブFのシステム割り当て割合207=Rf[%]として『10』、を取得する。そして、割り当て時間算出手段116は、これらに基づいて、ジョブAのプロセッサ優先割り当て時間=500[μs]×0.2=100[μs]を、ジョブBのプロセッサ優先割り当て時間=500[μs]×0.1=50[μs]を、ジョブCのプロセッサ優先割り当て時間=500[μs]×0.3=150[μs]を、ジョブDのプロセッサ優先割り当て時間=500[μs]×0.12=60[μs]を、ジョブEのプロセッサ優先割り当て時間=500[μs]×0.18=90[μs]を、ジョブFのプロセッサ優先割り当て時間=500[μs]×0.1=10[μs]を算出する。そして、割り当て時間算出手段116は、図6に示す割り当て時間テーブル402に格納する。
さらに、割り当て時間算出手段116は、ジョブの終了、ジョブの追加が発生した場合にプロセッサ優先割り当て時間を再算出するための再算出機能を有する。
以下に、図5に示す状態に対して、ジョブGが追加された場合の、プロセッサ優先割り当て時間を再算出する動作について具体的に説明する。ディスパッチャ112は、ジョブの追加を検出すると割り当て時間算出手段116にプロセッサ優先割り当て時間の再算出を指示する。割り当て時間算出手段116は、ジョブGのシステム割り当て割合Rg[%]=『10』を取得する。ここで、図5に示す周期201=『500[μs]』は、既存のジョブA〜Fのシステム割り当て割合の合計『100%』で配分されている。このため、割り当て時間算出手段116は、ジョブGのシステム割り当て割合を合わせて、全体が100%になるようにジョブA〜Fのシステム割り当て割合を再計算する。割り当て時間算出手段116は、ジョブAのシステム割り当て割合202=Ra[%]=20[%]÷1.1=18[%]、ジョブBのシステム割り当て割合203=Rb[%]=10[%]÷1.1=9[%]、ジョブC以下も同様であり、ジョブGのシステム割り当て割合Rg[%]=10[%]÷1.1=9[%]を算出する。
そして、割り当て時間算出手段116は、この再計算した各ジョブのシステム割り当て割合に基づいて、各ジョブのプロセッサ優先割り当て時間を再算出する。
尚、以上の例では、周期を変えずにシステム割り当て割合を再計算する場合を説明したが、周期201=『500[μs]』に対して、ジョブGのシステム割り当て割合Rg[%]=『10』に当たる分のプロセッサ優先割り当て時間『50μs』を周期に追加して周期201=『550[μs]』として再算出しても良い。
また、ジョブが終了した場合も、容易に同様の方法を適用できる。
本発明の第2の実施の形態によれば、割り当ての周期とジョブ毎のシステム割り当て割合に基づいて、また、ジョブの終了、追加の発生に対応してジョブ毎のプロセッサ優先割り当て時間を算出するようにしたことにより、プロセッサ優先割り当て時間をあらかじめ計算する手間を省略できる汎用的な、ジョブへの資源割当方式を提供することが可能になるという効果を有している。
本発明は、一般の情報処理装置で活用可能であるが、特に一つのプロセッサ上で複数の機能を処理する場合などに有効である。
本発明の活用例として、一つのプロセッサ上において、ネットワーク、ディスク、テープ、コンソールなどの入出力処理を行わせる場合、各処理に対して、予め定めた割合で効率良くプロセッサを使用させることが出来る。
本発明の第1の実施の形態の構成を示すブロック図である。 本発明の第1および第2の実施の形態のシステム構成を示す図である。 本発明の第1の実施の形態におけるレディーキュー群および実行可能プロセス群のイメージを示す図である。 本発明の第1の実施の形態におけるプロセス識別番号の構造を示す図である。 本発明の第1の実施の形態における周期201と、システム割り当て時間との例である。 本発明の第1の実施の形態における各ジョブに対するプロセッサの割り当てと、ディスパッチャ、タイマの関係のイメージを示す図である。 本発明の第1の実施の形態におけるジョブへの資源割当の基本の動作を示すフローチャートである。 本発明の第1の実施の形態におけるプロセッサ上で最優先ジョブに属する実行中プロセスが存在した場合の動作を示すフローチャートである。 本発明の第1の実施の形態におけるプロセッサ上に最優先ジョブに属する実行中プロセスは存在せず、かつ最優先ジョブのレディーキューには実行可能プロセスが存在する場合の動作を示すフローチャートである。 本発明の第1の実施の形態における最優先ジョブに属する実行中プロセスも実行可能プロセスも存在せず、かつタイマから優先期間の切り替え指示がある場合の動作を示すフローチャートである。 本発明の第1の実施の形態における最優先ジョブに属する実行中プロセスおよび実行可能プロセスが存在せず、タイマから優先期間の切り替え指示も無く、かつ、プロセッサ上にジョブA〜Fに属する実行中プロセスも無い場合の動作を示すフローチャートである。 本発明の第2の実施の形態の構成を示すブロック図である。
符号の説明
101 システム内のプロセス識別番号
102 ジョブ識別番号
103 ジョブ内のプロセス識別番号
111 命令実行手段
112 ディスパッチャ
113 タイマ
114 レディーキュー記憶部
115 割り当て時間記憶部
116 割り当て時間算出手段
131 プロセッサ
132 メモリ
133 入出力制御部
134 サービスプロセッサ
135 周辺装置群
136 コンソール
201 周期
202〜207 システム割り当て割合
304〜309 レディーキュー
310 レディーキュー
311 実行可能プロセス群
402 割り当て時間テーブル
405 優先ジョブの切替指示
406〜419 実行期間

Claims (11)

  1. 予め定められた一定時間の周期をジョブ毎のシステム割り当て割合で分配したプロセッサ優先割り当て時間に基づいてジョブの切替を通知するタイマと、
    プロセスの命令を実行する命令実行手段と、
    前記タイマからの通知に基づいて優先ジョブとして選択したジョブに対応するプロセスを含むレディーキューから、先頭のプロセスを取り出して前記命令実行手段に割り当てて当該プロセスの命令を実行させるディスパッチャと、
    前記ジョブの終了、追加の発生に対応して前記プロセッサ優先割り当て時間を前記ジョブ毎のシステム割り当て割合に基づいて再算出する手段と、を含み、
    前記ディスパッチャは、前記命令実行手段が前記プロセスの命令を一つ実行する度に、所定の処理を実行する例外プロセスを含む例外レディーキューに前記例外プロセスが存在するかを確認し、前記例外レディーキューに前記例外プロセスが存在する場合には、前記優先ジョブよりも前記例外プロセスに対応する最優先ジョブを優先して、前記例外レディーキューの先頭の例外プロセスを取り出して前記命令実行手段に割り当てて当該例外プロセスの命令を実行させる
    ジョブへの資源割当方式。
  2. 前記ディスパッチャは、前記優先ジョブとして選択したジョブの前記レディーキューが空であった場合は、次の優先ジョブを選択する
    ことを特徴とする請求項1記載のジョブへの資源割当方式。
  3. 前記ディスパッチャは、前記優先ジョブに対応するプロセス間で優先順位が変化した場合は、実行中のプロセスを対応する前記レディーキューに戻し、当該レディーキューの先頭のプロセスを取り出して前記命令実行手段に割り当てて当該プロセスの命令を実行させる
    ことを特徴とする請求項1又は2記載のジョブへの資源割当方式。
  4. 前記ディスパッチャは、前記最優先ジョブに対応する例外プロセス間で優先順位が変化した場合は、実行中の例外プロセスを対応する前記例外レディーキューに戻し、当該例外レディーキューの先頭の例外プロセスを取り出して前記命令実行手段に割り当てて当該例外プロセスの命令を実行させる
    ことを特徴とする請求項1乃至3のいずれか1項に記載のジョブへの資源割当方式。
  5. 前記タイマは、前記命令実行手段がプロセスの命令を一つ実行する度に、実行中のプロセスに対応するジョブの優先期間の計時値を更新し、当該ジョブの前記プロセッサ優先割り当て時間に達したか否かを確認する
    ことを特徴とする請求項1乃至4のいずれかに記載のジョブへの資源割当方式。
  6. コンピュータシステムが、
    予め定められた一定時間の周期をジョブ毎のシステム割り当て割合で分配したプロセッサ優先割り当て時間に基づいてジョブの切替を通知し、
    前記通知に基づいて優先ジョブとして選択したジョブに対応するプロセスを含むレディーキューから、先頭のプロセスを取り出して当該プロセスの命令を実行し、
    前記ジョブの終了、追加の発生に対応して前記プロセッサ優先割り当て時間を前記ジョブ毎のシステム割り当て割合に基づいて再算出し、
    前記命令実行手段が前記プロセスの命令を一つ実行する度に、所定の処理を実行する例外プロセスを含む例外レディーキューに前記例外プロセスが存在するかを確認し、前記例外レディーキューに前記例外プロセスが存在する場合には、前記優先ジョブよりも前記例外プロセスに対応する最優先ジョブを優先して、前記例外レディーキューの先頭の例外プロセスを取り出して前記命令実行手段に割り当てて当該例外プロセスの命令を実行する
    ジョブへの資源割当方法。
  7. 前記通知に基づいて優先ジョブとして選択したジョブの前記レディーキューが空であった場合は、次の優先ジョブを選択する
    ことを特徴とする請求項6記載のジョブへの資源割当方法。
  8. 前記優先ジョブに対応するプロセス間で優先順位が変化した場合は、実行中のプロセスを対応する前記レディーキューに戻し、当該レディーキューの先頭のプロセスを取り出して当該プロセスの命令を実行する
    ことを特徴とする請求項6又は7記載のジョブへの資源割当方法。
  9. 前記最優先ジョブに対応する例外プロセス間で優先順位が変化した場合は、実行中の例外プロセスを対応する前記例外レディーキューに戻し、当該例外レディーキューの先頭の例外プロセスを取り出して当該例外プロセスの命令を実行する
    ことを特徴とする請求項6乃至8のいずれか1項に記載のジョブへの資源割当方法。
  10. 前記プロセスの命令を一つ実行する度に、実行中のプロセスに対応するジョブの優先期間の計時値を更新し、当該ジョブの前記プロセッサ優先割り当て時間に達したか否かを確認する
    ことを特徴とする請求項6乃9のいずれか1項に記載のジョブへの資源割当方法。
  11. コンピュータシステムに、
    予め定められた一定時間の周期をジョブ毎のシステム割り当て割合で分配したプロセッサ優先割り当て時間に基づいてジョブの切替を通知し、
    前記通知に基づいて優先ジョブとして選択したジョブに対応するプロセスを含むレディーキューから、先頭のプロセスを取り出し、
    前記ジョブの終了、追加の発生に対応して前記プロセッサ優先割り当て時間を前記ジョブ毎のシステム割り当て割合に基づいて再算出し、
    前記命令実行手段が前記プロセスの命令を一つ実行する度に、所定の処理を実行する例外プロセスを含む例外レディーキューに前記例外プロセスが存在するかを確認し、前記例外レディーキューに前記例外プロセスが存在する場合には、前記優先ジョブよりも前記例外プロセスに対応する最優先ジョブを優先して、前記例外レディーキューの先頭の例外プロセスを取り出して前記命令実行手段に割り当てて当該例外プロセスの命令を実行する、処理を行わせる
    ことを特徴とするプログラム。
JP2007077633A 2007-03-23 2007-03-23 ジョブへの資源割当方式、ジョブへの資源割当方法およびプログラム Expired - Fee Related JP5050601B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007077633A JP5050601B2 (ja) 2007-03-23 2007-03-23 ジョブへの資源割当方式、ジョブへの資源割当方法およびプログラム
US12/045,763 US20080235695A1 (en) 2007-03-23 2008-03-11 Resource allocation system for jobs, resource allocation method and resource allocation program for jobs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007077633A JP5050601B2 (ja) 2007-03-23 2007-03-23 ジョブへの資源割当方式、ジョブへの資源割当方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2008242510A JP2008242510A (ja) 2008-10-09
JP5050601B2 true JP5050601B2 (ja) 2012-10-17

Family

ID=39776019

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007077633A Expired - Fee Related JP5050601B2 (ja) 2007-03-23 2007-03-23 ジョブへの資源割当方式、ジョブへの資源割当方法およびプログラム

Country Status (2)

Country Link
US (1) US20080235695A1 (ja)
JP (1) JP5050601B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7424533B2 (ja) 2019-11-26 2024-01-30 株式会社鶴見製作所 無閉塞ポンプ

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2395430B1 (en) * 2009-02-09 2017-07-12 Fujitsu Limited Virtual computer allocation method, allocation program, and information processing device having a virtual computer environment
US8458368B2 (en) * 2009-05-26 2013-06-04 Oracle America, Inc. System and method for discovering and protecting shared allocated resources in a shared virtualized I/O device
US20120079486A1 (en) * 2010-09-23 2012-03-29 International Business Machines Corporation Integration of dissimilar job types into an earliest deadline first (edf) schedule
US9448846B2 (en) * 2011-12-13 2016-09-20 International Business Machines Corporation Dynamically configurable hardware queues for dispatching jobs to a plurality of hardware acceleration engines
US8943505B2 (en) * 2012-08-24 2015-01-27 National Instruments Corporation Hardware assisted real-time scheduler using memory monitoring
US9235905B2 (en) * 2013-03-13 2016-01-12 Ologn Technologies Ag Efficient screen image transfer
US10162683B2 (en) * 2014-06-05 2018-12-25 International Business Machines Corporation Weighted stealing of resources
CN107844370B (zh) * 2016-09-19 2020-04-17 杭州海康威视数字技术股份有限公司 一种实时任务调度方法及装置
CN107577528B (zh) * 2017-09-01 2020-09-08 长沙小卡机器人科技有限公司 多任务序列并行运行的方法
CN111274024B (zh) * 2019-03-19 2023-05-30 中标软件有限公司 基于cfs调度器的就绪队列平均负载优化方法及数据结构
US11256547B2 (en) * 2019-05-31 2022-02-22 Altair Engineering, Inc. Efficient allocation of cloud computing resources to job requests
WO2021186747A1 (ja) * 2020-03-20 2021-09-23 株式会社シナプスイノベーション 資源割当て方法及びシステム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0269174A (ja) * 1988-09-02 1990-03-08 Sumitomo Heavy Ind Ltd バイオプロセス用計側装置
US5386561A (en) * 1992-03-31 1995-01-31 International Business Machines Corporation Method of integrated system load control through dynamic time-slicing in a virtual storage environment
US5528513A (en) * 1993-11-04 1996-06-18 Digital Equipment Corp. Scheduling and admission control policy for a continuous media server
JPH09160792A (ja) * 1995-12-11 1997-06-20 Casio Comput Co Ltd データ処理装置
US6061709A (en) * 1998-07-31 2000-05-09 Integrated Systems Design Center, Inc. Integrated hardware and software task control executive
JP2000056992A (ja) * 1998-08-13 2000-02-25 Nec Corp タスクスケジューリングシステム、方法及び記録媒体
US6757897B1 (en) * 2000-02-29 2004-06-29 Cisco Technology, Inc. Apparatus and methods for scheduling and performing tasks
JP4292705B2 (ja) * 2000-11-24 2009-07-08 パナソニック株式会社 タスクスケジューリング装置
US20030037091A1 (en) * 2001-08-09 2003-02-20 Kozo Nishimura Task scheduling device
JP2004005227A (ja) * 2002-05-31 2004-01-08 Sony Corp 演算処理システム、コンピュータ・システム上での例外処理方法、並びにコンピュータ・プログラム
JP4750350B2 (ja) * 2003-03-13 2011-08-17 パナソニック株式会社 タスク切換装置、方法及びプログラム
JP2004326486A (ja) * 2003-04-25 2004-11-18 Matsushita Electric Ind Co Ltd タスク管理装置
JP4606142B2 (ja) * 2004-12-01 2011-01-05 株式会社ソニー・コンピュータエンタテインメント スケジューリング方法、スケジューリング装置およびマルチプロセッサシステム
JP4936517B2 (ja) * 2006-06-06 2012-05-23 学校法人早稲田大学 ヘテロジニアス・マルチプロセッサシステムの制御方法及びマルチグレイン並列化コンパイラ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7424533B2 (ja) 2019-11-26 2024-01-30 株式会社鶴見製作所 無閉塞ポンプ

Also Published As

Publication number Publication date
JP2008242510A (ja) 2008-10-09
US20080235695A1 (en) 2008-09-25

Similar Documents

Publication Publication Date Title
JP5050601B2 (ja) ジョブへの資源割当方式、ジョブへの資源割当方法およびプログラム
EP2701074B1 (en) Method, device, and system for performing scheduling in multi-processor core system
JP5598229B2 (ja) ジョブ分散処理システム、情報処理装置及びプログラム
JP5324934B2 (ja) 情報処理装置および情報処理方法
CN109445851B (zh) 多线程处理器
KR101827289B1 (ko) 실시간 운영체제에서 태스크 스케줄링 방법
KR101651871B1 (ko) 멀티코어 시스템 상에서 단위 작업을 할당하는 방법 및 그 장치
EP2562644B1 (en) Systems and methods for bounding processing times on multiple processing units
KR101640848B1 (ko) 멀티코어 시스템 상에서 단위 작업을 할당하는 방법 및 그 장치
KR100791296B1 (ko) 멀티 코어 시스템에서 협력적 스케줄링을 제공하는 장치 및방법
JP6201530B2 (ja) 情報処理システム、ジョブ管理装置、ジョブ管理装置の制御プログラム、及び、情報処理システムの制御方法
KR20110080735A (ko) 컴퓨팅 시스템 및 방법
JP2015194923A (ja) 並列計算機システム,ジョブ管理装置の制御プログラム,及び並列計算機システムの制御方法
US10606650B2 (en) Methods and nodes for scheduling data processing
JP2012073690A (ja) ジョブスケジューリングプログラム,方法,および装置
Xu et al. Prophet: Scheduling executors with time-varying resource demands on data-parallel computation frameworks
US10853133B2 (en) Method and apparatus for scheduling tasks to a cyclic schedule
JP2010186347A (ja) ジョブスケジューリングシステム、ジョブスケジューリング方法及びプログラム
JP5417626B2 (ja) 管理計算機、ジョブスケジューリング方法及びジョブスケジューリングプログラム
JP2005135426A (ja) 推定伸長率に基づくトランザクション負荷分散方法及び方式並びにコンピュータ可読記録媒体
JP7188472B2 (ja) コンピュータ、スケジューリング方法、及び、プログラム
JP2020021160A (ja) 情報処理装置、プログラム、及び情報処理システム
JP4650697B2 (ja) Cpuリソース管理方式
JP7355456B2 (ja) Cpuリソース管理装置
WO2022185527A1 (ja) スケジューリング装置、スケジューリング方法、および、スケジューリングプログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20090513

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110617

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20110705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120316

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120709

R150 Certificate of patent or registration of utility model

Ref document number: 5050601

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150803

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees