【事件の表示】
　特願２００９−　　１３７５「情報処理装置、スケジューラ、及びスケジューリング方法」拒絶査定不服審判事件〔平成２２年　７月２２日出願公開、特開２０１０−１６０６００〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
１　手続の経緯
　
　本件審判請求に係る出願（以下、「本願」という。）は、
平成２１年１月７日を出願日とする出願であって、
平成２３年１１月７日付けで審査請求がなされ、
平成２５年４月３０日付けで拒絶理由通知（同年５月２日発送）がなされ、
これに対して同年６月２６日付けで意見書が提出されたが、
同年８月２６日付けで拒絶査定（同年８月２８日謄本送達）がなされたものである。
　
　これに対して、「原査定を取り消す。本願の発明は特許すべきものとする、との審決を求める。」ことを請求の趣旨として平成２５年９月１１日付けで本件審判請求がなされた。
　そして、当審にて、平成２６年１０月１４日付けで拒絶理由通知（同年１０月１５日発送）がなされ、
同年１１月２６日付けで意見書が提出されると共に、同日付けで手続補正書が提出された。
　
　
２　本願発明
　
　本願の請求項６に係る発明（以下「本願発明」と言う。）は、上記平成２６年１１月２６日付けの手続補正書により補正された特許請求の範囲の記載からみて、その請求項６に記載されたとおりの次のものと認める。
　「複数のプログラムのそれぞれの演算周期の最大公約数を単位時間として算出することと、
　前記複数のプログラムのそれぞれの演算周期の最小公倍数を、前記複数のプログラムの総ての演算が少なくとも１回完了する完了時間として算出することと、
　前記完了時間を前記単位時間で割った数の、それぞれ前記単位時間を有する連続するベース期間を設けた後、前記複数のプログラムのそれぞれの演算時間を、前記連続するベース期間のそれぞれの中に、前記演算周期が短い順に割り当て、かつ、前記複数のベース期間のうちの一のベース期間の中で演算が完了しないプログラムの残りの演算時間を、前記一のベース期間の後のベース期間の中に、前記演算周期が短い順に割り当てることと、
　を含むスケジューリング方法。」
　
　
３　引用例
　
（１）　引用例１
　
　本願の出願日前に頒布または電気通信回線を通じて公衆に利用可能となり、平成２６年１０月１４日付けの拒絶理由通知で引用された文献である、特開平０２−１５９６０３号公報（平成２年６月１９日公開。以下、「引用例１」という。）には、図面とともに、次の記載がある。
（当審注：下線は、参考のために当審で付与したものである。）
　
Ａ．「他の装置例として、第２０図に示すように、制御対象のループの特性に応じて制御対象毎に制御周期を変えて制御を行うようにしたものがある。
すなわち、積分時間を長く取る必要があるプロセスを制御する場合、
ＣＰＵの負荷を軽減するために１つのＣＰＵに複数の制御周期を持たせ、ループ毎にその特性に応じて例えば１，２，４ｓｅｃのいずれかの制御周期を割り当てている。
サンプリング周期は制御周期の最大公約数に定められ、
　
Ｂ．「制御実行手段Ｆは各制御周期毎に対応する前記機械語を前記制御量記憶手段Ｅに格納されている制御量を用いて実行し、該実行により得られる制御操作量を前記出力手段Ｃから制御対象Ａに出力する。該制御実行手段Ｆによる機械語の実行中に発生する情報は各制御周期毎に設けられた記憶手段Ｇに格納される。前記制御実行手段Ｆによる制御実行動作は管理手段Ｈにより管理される。
　
前記管理手段Ｈは、前記制御実行手段Ｆにより実行する機械語の優先順位を管理する。２つの制御周期の機械語の実行タイミングが同時に発生した場合、制御周期の短い機械語の実行を制御周期の長い機械語の実行に優先させて実行し、制御周期の短い制御周期の実行終了後に制御周期の長い機械語の実行を開始させる。また管理手段Ｈは、前記制御実行手段Ｆが制御周期の長い機械語を実行している最中に制御周期の短い機械語の実行タイミングが発生したとき、現在実行している制御周期の長い機械語の実行を中断させ、これに代えて制御周期の短い機械語の実行を開始させる。そして、該中断した制御周期の長い機械語の実行を短い制御周期の機械語が終了した後に前記制御実行手段Ｆに再開させる。
　
Ｃ．「図中○１で示すように、例えばシリアルインターフェイス１ｆを介して外部から入力されＳＲＡＭ１ｃの演算式文字列エリアに格納している
２００ｍｓｅｃ周期で実行する制御ソースプログラム
５００ｍｓｅｃ，１０００ｍｓｅｃ周期で実行する制御ソースプログラム
　
Ｄ．「制御実行においては、ＥＰＲＯＭ１ｂに格納されているマルチタスク管理プログラムにより、まず○１０において優先順位最高位ですなわち真先に全チャンネルのＡ／Ｄ変換を行うタスクＩに起動をかけ、このタスクＩにより○１１において
ｌ００ｍｓｅｃ周期で全チャンネルについてのＡ／Ｄ変換を行わせ
　
全てのチャンネルをハードウェアでサンプリングしてＡ／Ｄ変換する周期が一定でなければならないので、全制御周期２００ｍｓｅｃ，５００ｍｓｅｃ，１０００ｍｓｅｃの最大公約数時間周期１００ｍｓｅｃ毎にアナログ入力の全チャンネルについてＡ／Ｄ変換を行い、各制御周期における制御実行の際にこのＡ／Ｄ変換した値を参照できるようにする。
各チャンネルそれぞれにおけるサンプリング間隔は１００ｍｓｅｃとなる。
　
Ｅ．「マルチタスク管理は、続いて○１３において
優先順位２番目で２００ｍｓｅｃ周期
　その後マルチタスク管理は、○１７において
優先順位３番目で５００ｍｓｅｃ周期
　更にその後マルチタスク管理は、○２１において
優先順位４番目で１０００ｍｓｅｃ周期
　
Ｆ．「ここで、処理時間が、ＡＤＣ（・・・・）；で１ｍｓｅｃ、ＳＶ（・・・・）＝ＸＸＸ；で０．１ｍｓｅｃ、ＰｉＤ（・・・・）；で５ｍｓｅｃ、ＤＡＣ（・・・・）；で０．９ｍｓｅｃの合計７ｍｓｅｃを要する仕様であるとすると、２００ｍｓｅｃでは上述のような記述が１５ループ（７×１５＝１０５ｍｓｅｃ）、５００ｍｓｅｃでは上述のような記述が１０ループ（７×１０＝７０ｍｓｅｃ）及び１０００ｍｓｅｃでは上述のような記述が３０ループ（７×３０＝２１０ｍｓｅｃ）だけされているとき、
２００、５００及び１０００ｍｓｅｃの最少公倍数１０００ｍｓｅｃの間に計算に要するＣＰＵ時間は、１０５×５（２００ｍｓｅｃが５回）＋７０×２（５００ｍｓｅｃが２回）＋２１０（１０００ｍｓｅｃが１回）＝８７５ｍｓｅｃである。従って、高速（２００ｍｓｅｃ）、中速（５００ｍｓｅｃ）、低速（１０００ｍｓｅｃ）の制御周期でそれぞれ１５、１０、３０ループの制御が可能である。
　
Ｇ．「本発明によるループ制御装置の上述した実施例では、タイマ割込みのうち第１８図（ａ）に示すような特に
１００ｍｓｅｃ毎のタイミングにおいてタイマ割込みが生じる
タスクＩでは、０、２００、４００、５００、６００及び８００ｍｓｅｃ等のタイミングでの起動時に、全てのチャンネルのＡ／Ｄ変換を行い、１００、３００、７００及び９００ｍｓｅｃ等のタイミングではＡ／Ｄ変換を行わずに直ちにぬける。
　
０、２００、４００、６００及び８００ｍｓｅｃのタイミングでのタイマ割込みでは、タスクＩでのＡ／Ｄ変換の終了後、第１８図（ｃ）に示すようにタスクＩＩが起動される。また０及び５００ｍｓｅｃのタイミングでのタイマ割込みでは、タスクＩＩの終了後、第１８図（ｄ）に示すようにタスクＩＩＩが起動される。タスクＩＩＩは、第１８図（ｄ）に示されているようにタスクＩ及びタスクＩＩの起動により中断され、タスクＩ及びタスクＩＩの終了により再開される。更に０ｍｓｅｃのタイミングでのタイマ割込みでは、タスクＩＩＩの終了後、第１８図（ｅ）に示すようにタスクＩＶが起動される。タスクＩＶは、第１８図（ｅ）に示すようにタスクＩ、タスクＩＩ及びタスクＩＶ（当審注：タスクＩＩＩの誤記と思われる。）の起動により中断され、タスクＩＩ或いはタスクＩＶ（当審注：「タスクＩＩＩ」の誤記と思われる。）の終了により再開される。
　以上により、
制御周期の短い優先順位の高いタスクが実行されていない空き時間を利用して優先順位の低いタスクが実行される
　
（２）　引用例２
　
　本願の出願日前に頒布または電気通信回線を通じて公衆に利用可能となり、平成２６年１０月１４日付けの拒絶理由通知で引用された文献である、特開２００２−３４２０９７号公報（平成１４年１１月２９日公開。以下、「引用例２」という。）には、図面とともに、次の記載がある。
（当審注：下線は、参考のために当審で付与したものである。）
　
Ｈ．「【０００１】
【発明の属する技術分野】本発明はソフト開発支援装置に関し、与えられた周期タスク群を指定されたスケジューリング方式に従ってプロセッサのスケジューリングを行う際に、スケジューリングが可能となるためのタスクの実行時間を予め算出するタスク割当可能時間決定装置及びタスク割当可能時間決定方法に関するものである。
【０００２】
【従来の技術】組み込みシステムでは、結果の正確さとともに時間的制約を伴う。この時間的制約の下では、システムに与えられる各タスクは、ある与えられた時刻までに決められた処理を終えなければならない。この守らなければならない時刻をデッドラインと呼ぶ。各タスクを並行して実行する場合、夫々のタスクがデッドラインを守るようにスケジューリングを行うことが重要な課題となる。このような時間的制約を持つスケジューリングをリアルタイムスケジューリングと呼ぶ。
【０００３】リアルタイムスケジューリングにおける代表的な手法としてＲＭ法（Rate Monotonic）とＥＤＦ法（Earliest Deadline First）がある。前者は周期的に起動するタスク群に対して周期が短いほど優先順位を高く設定する方法であり、後者はデッドラインと現在時刻との差が短いほど優先順位を高く設定する方法である。
【０００４】与えられたタスク群に対して、あるスケジューリング法を適用したときに、デッドラインを守るようにスケジューリングが可能かどうかを調べる方法をスケジューリング可能性判定といい、システム構築の際にリアルタイムスケジューリングを適用する上で重要な技術である。
【０００５】特にＲＭ法では、各タスクの周期とタスクの実行開始から終了までの最長時間、すなわち最悪実行時間を与えることにより、このタスク群にＲＭ法を適用した場合にスケジューリングが可能かどうかを判定することができる。」
　
Ｉ．「【００４４】[タスク割当時間決定装置の動作例]以下、具体例を手順を追って説明する。まず、ＲＭ法が選択された場合について説明する。３つのタスクのスケジューリングを考える。タスク記憶部１００より、図９（ａ) のようにタスク１は周期１００、負荷割合６０％、タスク２は周期１５０、負荷割合３０％、タスク３は周期３５０、負荷割合１０％を入力として与える。
【００４５】まず、
周期の最小公倍数を求めると２１００であるので、時刻０から２１００までに起動されるタスク回数は夫々、２１回、１４回、６回となる。
【００４６】次に、各ｉ（ｉ＝１，２，３) について条件式を導出する。ｉ＝１の場合はタスクが一つなので、Ｃ１＝１００が得られる。ｉ＝２の場合、スケジューリングポイントは１００と１５０の２つの時刻である。時刻０から１００までに起動するタスク回数は、タスク１が１回、タスク２が１回である。又、時刻０から１５０までに起動するタスク回数は、タスク１が２回、タスク２が１回である。ＲＭ法でスケジューリング可能となるためには、各スケジューリングポイントに対して、全てのタスク起動回数分の割当可能時間の和がスケジューリングポイントの時刻までに実行を完了していることが条件であるので、スケジューリングポイント１００では、
１×Ｃ１＋１×Ｃ２＝１００　・・・　（数５）
となる。Ｃ２はＣ１で表すことが出来るので、
１×Ｃ１＋１×０．７５Ｃ１＝１．７５×Ｃ１＝１００　・・・　（数６）
と置き換えることができ、Ｃ１＝５７．１４が得られる。同様にして、スケジューリングポイント１５０のときはＣ１＝５４．５４が得られる（図７（ａ)）。ｉ＝３の場合、スケジューリングポイントは１００、１５０、２００、２５０、３００、３５０の６つの時刻である。時刻０から１００までで起動するタスク回数は、タスク１が１回、タスク２が１回、タスク３が１回である。同様に、スケジューリングポイントである時刻１５０までで起動するタスク回数は、夫々２回、１回、１回である。これを各スケジューリングポイントに対して算出する。これらのスケジューリングポイントに付いて、ｉ＝２の場合と同様の方法で求めた結果が図７（ｂ) である。」
　
（３）　引用例３
　
　本願の出願日前に頒布または電気通信回線を通じて公衆に利用可能となり、平成２６年１０月１４日付けの拒絶理由通知で引用された文献である、特開２００７−２３３９３０号公報（平成１９年９月１３日公開。以下、「引用例３」という。）には、図面とともに、次の記載がある。
（当審注：下線は、参考のために当審で付与したものである。）
　
Ｊ．「【技術分野】
【０００１】
　本発明は、各種プラントを監視／制御するための分散制御システムの動作を模擬する分散制御システム用シミュレータに関し、さらに詳しくは、該シミュレータにおいて制御演算の遂行を管理制御する技術に関する。
【背景技術】
【０００２】
　工場、発電設備、ゴミ焼却設備、水処理設備などの各種のプラントを制御／監視するために分散制御システムが使用されている。図１は一般的な分散制御システムの一例の概略構成図である。図１において、制御装置１は通信ユニット（ＮＴＵ）１１を介してＬＡＮ等のネットワーク回線２に接続され、ネットワーク回線２を介してオペレータが操作するオペレータコンソール３に接続されている。制御装置１は通信ユニット１１以外に、演算ユニット（ＬＣＵ）１２、アナログ入力モジュール（ＡＩ）１３、アナログ出力モジュール（ＡＯ）１４、デジタル入力モジュール（ＤＩ）１５、デジタル出力モジュール（ＤＯ）１６等の各種ユニット又はモジュールを備えており、これら入出力モジュール１３〜１６を介してプロセスを監視するための各種監視端末（例えば流量センサ、圧力センサ、温度センサなど）４や各種制御端末（例えばバルブ、ヒータなど）５に接続されている。
【０００３】
　演算ユニット１２は各種の制御演算処理を実行するためにＣＰＵ、ＲＯＭ、ＲＡＭ等を備えた回路であって、図２に示すように、機能的には、タスク制御処理部２０とタスク格納部２１とを含む。タスク格納部２１は、プロセス制御のための制御演算用のプログラムデータをそれぞれタスクとして記憶しておくための記憶部であり、仮想的に複数のエリア（記憶領域）に分割されている。この例ではエリア数は４であって第１〜第４エリア２１１〜２１４としているが、このエリア数は予め定められた最大個数（例えば８個）の範囲内で任意である。各エリアにはそれぞれのタスクを格納することが可能であり、各エリア内に格納されたタスクは一つの処理単位として起動されることになる。
【０００４】
　各エリアには予め決められた複数の演算周期の中で任意のものを設定できる。例えば、１０ｍｓ、２０ｍｓ、５０ｍｓ、１００ｍｓ、２００ｍｓ、２５０ｍｓ、５００ｍｓ、１０００ｍｓの８種類の演算周期が用意されており、この中の任意のものを選んで各エリア毎に設定できるようにしている。即ち、プロセス制御の応答が緩慢でもよい処理は長い演算周期を設定すればよいし、高速の応答を要求される処理については短い演算周期を設定する必要がある。例えば
図２の例では、第１〜第４エリア２１１〜２１４にはそれぞれ２００ｍｓ、２５０ｍｓ、５００ｍｓ、１０００ｍｓの演算周期が設定されている。
【０００５】
　タスク制御処理部２０はタスク格納部２１から各エリア毎にタスクを読み出し、例えば入力されたプロセス監視信号に対してそのタスクのプログラムに従った制御演算処理を実行してプロセス制御信号を生成して出力する。したがって、各エリア２１１〜２１４に設定されている演算周期にできるだけ適合するようにエリアを選択して、そのエリア内のタスクを実行する必要がある。そこで、実機では、次のようにしてタスクの演算順序を決めている。図２の例における各エリア２１１〜２１４内のタスクの処理動作を図３により説明する。
【０００６】
　タスク制御処理部２０は上記８種類の演算周期の最大公約数である１０ｍｓを基本周期として各エリアのタスクを選択する機能を有する。また、
上記８種類の演算周期の最小公倍数である１０００ｍｓを単位周期として考える。
　
Ｋ．「【００２９】
　ここで
、処理スケジュール５１を作成する際の条件は次の通りである。
（１）複数の演算周期の中で最小の演算周期を基本周期とする。
（２）複数の演算周期の最小公倍数を単位周期とする。
（３）１単位周期内で実行される演算回数は、各タスク（ここではエリア）毎に、単位周期／演算周期となるようにする。
（４）異なる演算周期の開始点が一致した場合には、演算周期の短いものを優先的に処理する。
（５）異なるエリアに同じ演算周期が設定されている場合には、エリア番号の小さいものを優先的に処理する。
（６）起動指令が与えられたときに、まず演算周期が基本周期であるエリアの処理を実行した後に、次の起動指令までの基本周期内に演算周期の開始点が存在するエリアについては引き続いて処理を実行する。
【００３０】
　図６に示した例でいうと、
上記（１）、（２）により基本周期は２００ｍｓ、単位周期は１０００ｍｓとなり、１単位周期内に基本周期が５つ存在する。
【００３１】
　
具体的なタスク処理動作を図７により説明する。１単位周期の開始点（時間：０ｍｓ）において１番目（ｎ＝１）の起動指令が与えられたとき、このときには第１乃至第４エリア５４１〜５４２の全てを実行する必要があるが、演算周期の短いものから優先的に実行することになる。
【００３２】
　
１単位周期内において１個目の起動指令から２００ｍｓ後に２番目（ｎ＝２）の起動指令が与えられると、タスク選択部５２はまず第１エリア５４１のタスクを読み出してタスク実行部５３に設定する。
【００３３】
　
１単位周期内において１個目の起動指令から４００ｍｓ後に３番目（ｎ＝３）の起動指令が与えられると、タスク選択部５２はまず第１エリア５４１のタスクを読み出してタスク実行部５３に設定する。
【００３４】
　
１単位周期内において１個目の起動指令から６００ｍｓ後に４番目（ｎ＝４）の起動指令が与えられると、タスク選択部５２はまず第１エリア５４１のタスクを読み出してタスク実行部５３に設定する。
【００３５】
　
１単位周期内において１個目の起動指令から８００ｍｓ後に５番目（ｎ＝５）の起動指令が与えられると、タスク選択部５２は第１エリア５４１のタスクのみを読み出してタスク実行部５３に設定する。
【００３６】
　
以上で１単位周期内のタスクの実行が終了し、次の単位周期でも同様の手順で処理が繰り返される。
　
（４）引用発明の認定
　
　ここで、上記引用例１に記載されている事項を検討する。
　
ア　上記Ａの「サンプリング周期は制御周期の最大公約数に定められ」、上記Ｃの「２００ｍｓｅｃ周期で実行する制御ソースプログラム」及び「５００ｍｓｅｃ，１０００ｍｓｅｃ周期で実行する制御ソースプログラム」、並びに上記Ｄの「全てのチャンネルをハードウェアでサンプリングしてＡ／Ｄ変換する周期が一定でなければならないので、全制御周期２００ｍｓｅｃ，５００ｍｓｅｃ，１０００ｍｓｅｃの最大公約数時間周期１００ｍｓｅｃ毎にアナログ入力の全チャンネルについてＡ／Ｄ変換を行い、各制御周期における制御実行の際にこのＡ／Ｄ変換した値を参照できるようにする。」及び「各チャンネルそれぞれにおけるサンプリング間隔は１００ｍｓｅｃとなる。」との記載等から、「複数の制御ソースプログラムのそれぞれの制御周期の最大公約数時間周期にサンプリング周期を定めること」を行うことが読み取れる。
　
イ　上記Ｆには、「２００、５００及び１０００ｍｓｅｃの最少公倍数１０００ｍｓｅｃの間に計算に要するＣＰＵ時間は、１０５×５（２００ｍｓｅｃが５回）＋７０×２（５００ｍｓｅｃが２回）＋２１０（１０００ｍｓｅｃが１回）＝８７５ｍｓｅｃである。従って、高速（２００ｍｓｅｃ）、中速（５００ｍｓｅｃ）、低速（１０００ｍｓｅｃ）の制御周期でそれぞれ１５、１０、３０ループの制御が可能である。」と記載されていることから、「複数の制御ソースプログラムの制御周期の最小公倍数となる長さの期間に、前記複数の制御ソースプログラムの制御をそれぞれ１回以上実行した場合に要するＣＰＵ時間を求めて、当該期間に各制御ソースプログラムを何ループ実行できるか判断すること」が読み取れる。
　
ウ　上記Ｂには、「前記管理手段Ｈは、前記制御実行手段Ｆにより実行する機械語の優先順位を管理する。２つの制御周期の機械語の実行タイミングが同時に発生した場合、制御周期の短い機械語の実行を制御周期の長い機械語の実行に優先させて実行し、制御周期の短い制御周期の実行終了後に制御周期の長い機械語の実行を開始させる。また管理手段Ｈは、前記制御実行手段Ｆが制御周期の長い機械語を実行している最中に制御周期の短い機械語の実行タイミングが発生したとき、現在実行している制御周期の長い機械語の実行を中断させ、これに代えて制御周期の短い機械語の実行を開始させる。そして、該中断した制御周期の長い機械語の実行を短い制御周期の機械語が終了した後に前記制御実行手段Ｆに再開させる。」と記載されており、上記Ｃには、「２００ｍｓｅｃ周期で実行する制御ソースプログラム」及び「５００ｍｓｅｃ，１０００ｍｓｅｃ周期で実行する制御ソースプログラム」と記載されており、上記Ｄには、「全てのチャンネルをハードウェアでサンプリングしてＡ／Ｄ変換する周期が一定でなければならないので、全制御周期２００ｍｓｅｃ，５００ｍｓｅｃ，１０００ｍｓｅｃの最大公約数時間周期１００ｍｓｅｃ毎にアナログ入力の全チャンネルについてＡ／Ｄ変換を行い、各制御周期における制御実行の際にこのＡ／Ｄ変換した値を参照できるようにする。」及び「各チャンネルそれぞれにおけるサンプリング間隔は１００ｍｓｅｃとなる。」と記載されており、さらに、上記Ｅには、「優先順位」に関する記載がある。
　これらの記載等から、「前記複数の制御ソースプログラムの実行に際して、制御周期が短い順に優先順位を与え、前記最大公約数時間周期毎にどの制御周期の制御ソースプログラムについて実行開始させるかを判定し、制御周期の長い制御ソースプログラムの実行を制御周期の短い制御ソースプログラムの実行終了後に開始させ、制御周期の長い制御ソースプログラムの実行中には、制御周期の短い制御ソースプログラムの実行開始に応じて、制御周期の長い制御ソースプログラムの実行を中断させ、該中断させた制御ソースプログラムの実行を、制御周期の短い制御ソースプログラムの実行終了後に再開させる」ことが読み取れる。
　
エ　上記Ｇの「１００ｍｓｅｃ毎のタイミングにおいてタイマ割込みが生じる」、「０、２００、４００、６００及び８００ｍｓｅｃのタイミングでのタイマ割込みでは、タスクＩでのＡ／Ｄ変換の終了後、第１８図（ｃ）に示すようにタスクＩＩが起動される。また０及び５００ｍｓｅｃのタイミングでのタイマ割込みでは、タスクＩＩの終了後、第１８図（ｄ）に示すようにタスクＩＩＩが起動される。タスクＩＩＩは、第１８図（ｄ）に示されているようにタスクＩ及びタスクＩＩの起動により中断され、タスクＩ及びタスクＩＩの終了により再開される。更に０ｍｓｅｃのタイミングでのタイマ割込みでは、タスクＩＩＩの終了後、第１８図（ｅ）に示すようにタスクＩＶが起動される。タスクＩＶは、第１８図（ｅ）に示すようにタスクＩ、タスクＩＩ及びタスクＩＶ（当審注：タスクＩＩＩの誤記と思われる。）の起動により中断され、タスクＩＩ或いはタスクＩＶ（当審注：タスクＩＩＩの誤記と思われる。）の終了により再開される。」及び「制御周期の短い優先順位の高いタスクが実行されていない空き時間を利用して優先順位の低いタスクが実行される」との記載等から、「制御周期の異なるタスクの実行順序を制御する方法」が読み取れる。
　
オ　以上、ア〜エで検討した事項を踏まえると、引用例１には、次の発明（以下、「引用発明」という。）が記載されているものと認められる。
　
　「複数の制御ソースプログラムのそれぞれの制御周期の最大公約数時間周期にサンプリング周期を定めることと、
　前記複数の制御ソースプログラムの制御周期の最小公倍数となる長さの期間に、前記複数の制御ソースプログラムの制御をそれぞれ１回以上実行した場合に要するＣＰＵ時間として、当該期間に各制御ソースプログラムを何ループ実行できるか判断することと、
　前記複数の制御ソースプログラムの実行に際して、制御周期が短い順に優先順位を与え、前記最大公約数時間周期毎にどの制御周期の制御ソースプログラムについて実行開始させるかを判定し、制御周期の長い制御ソースプログラムの実行を制御周期の短い制御ソースプログラムの実行終了後に開始させ、制御周期の長い制御ソースプログラムの実行中には、制御周期の短い制御ソースプログラムの実行開始に応じて、制御周期の長い制御ソースプログラムの実行を中断させ、該中断させた制御ソースプログラムの実行を、制御周期の短い制御ソースプログラムの実行終了後に再開させることと、
　を行い、制御周期の異なるタスクの実行順序を制御する方法。」
　
４　対比
　
　本願発明と引用発明とを対比する。
　
（１）本願の明細書の【０００２】等には、「プロセス制御器及びＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）等のデジタル式コントローラは、離散的に制御処理を行う。そのため、デジタル式コントローラは、所定の演算周期で、制御処理を実現するプログラムの演算を繰り返している（例えば、特許文献1参照。）。近年、マイクロプロセッサの高集積化により、マイクロプロセッサの処理能力の高速化が進み、演算周期の短縮化も進んでいる。しかし、一方において、演算周期を短いものから長いものまで用意し、制御処理の用途に応じて、適切な演算周期を各プログラムに割り当てることも考案されている。」という記載があることから、本願発明の「プログラムの」「演算周期」は、引用発明の「制御ソースプログラムの制御周期」と同義のものと解される。
　したがって、引用発明の「複数の制御ソースプログラムのそれぞれの制御周期の最大公約数時間周期にサンプリング周期を定める」ことは、本願発明の「複数のプログラムのそれぞれの演算周期の最大公約数を単位時間として算出する」ことに相当する。
　
（２）引用発明の「複数の制御ソースプログラムの制御周期の最小公倍数」は、本願発明の「複数のプログラムのそれぞれの演算周期の最小公倍数」に相当する。
　そして、引用発明においても、「複数の制御ソースプログラムの制御周期の最小公倍数となる長さの期間」に、複数の制御ソースプログラムの制御をそれぞれ１回以上実行するものであることから、引用発明の（複数の制御ソースプログラムの制御をそれぞれ１回以上実行する）「期間」は、本願発明の（複数のプログラムの総ての演算が少なくとも１回完了する）「完了時間」に相当するといえる。
　してみると、引用発明と本願発明とは、「前記複数のプログラムのそれぞれの演算周期の最小公倍数を、前記複数のプログラムの総ての演算が少なくとも１回完了する完了時間とする」点で共通するといえる。
　
（３）本願発明には、「前記完了時間を前記単位時間で割った数の、それぞれ前記単位時間を有する連続するベース期間」と記載されており、本願発明において、「単位時間」を連続して並べた期間をそれぞれ「ベース期間」と呼ぶものであり、本願発明は、「連続するベース期間のそれぞれの中に、演算周期が短い順に」「複数のプログラムの」「演算時間を割り当て」ているものと認められる。
　一方、引用発明においても、「サンプリング周期」として定めた「最大公約数時間周期」毎に「複数の制御ソースプログラム」を「制御周期が短い順に」実行させる制御を行っているものである。
　ここで、引用発明の「制御周期の最大公約数時間周期」である「サンプリング周期」は、連続した期間を分割した一定間隔の時間を示すことから、引用発明の「サンプリング周期」で分割される一定間隔の期間は、本願発明の「ベース期間」と同義のものと解される。
　よって、引用発明の「前記複数の制御ソースプログラムの実行に際して、制御周期が短い順に優先順位を与え、前記最大公約数時間周期毎にどの制御周期の制御ソースプログラムについて実行開始させるかを判定し、制御周期の長い制御ソースプログラムの実行を制御周期の短い制御ソースプログラムの実行終了後に開始させ、制御周期の長い制御ソースプログラムの実行中には、制御周期の短い制御ソースプログラムの実行開始に応じて、制御周期の長い制御ソースプログラムの実行を中断させ、該中断させた制御ソースプログラムの実行を、制御周期の短い制御ソースプログラムの実行終了後に再開させる」ことは、本願発明の「前記複数のプログラムのそれぞれの演算時間を、前記連続するベース期間のそれぞれの中に、前記演算周期が短い順に割り当て、かつ、前記複数のベース期間のうちの一のベース期間の中で演算が完了しないプログラムの残りの演算時間を、前記一のベース期間の後のベース期間の中に、前記演算周期が短い順に割り当てる」ことに相当する。
　
（４）引用発明では「制御周期の異なるタスクの実行順序を制御する方法」が記載されていることから、「スケジューリング方法」について記載されているといえる。
　
（５）以上から、本願発明と引用発明とは、以下の点で一致し、また、以下の点で相違する。
　
（一致点）
「複数のプログラムのそれぞれの演算周期の最大公約数を単位時間として算出することと、
　前記複数のプログラムのそれぞれの演算周期の最小公倍数を、前記複数のプログラムの総ての演算が少なくとも１回完了する完了時間とすることと、
　前記複数のプログラムのそれぞれの演算時間を、前記連続するベース期間のそれぞれの中に、前記演算周期が短い順に割り当て、かつ、前記複数のベース期間のうちの一のベース期間の中で演算が完了しないプログラムの残りの演算時間を、前記一のベース期間の後のベース期間の中に、前記演算周期が短い順に割り当てることと、
　を含むスケジューリング方法。」
　
（相違点１）
　本願発明では、「複数のプログラムのそれぞれの演算周期の最小公倍数を、前記複数のプログラムの総ての演算が少なくとも１回完了する完了時間として算出する」のに対して、引用発明では、「制御周期の最小公倍数」を用いている点は一致するものの、完了時間として「算出する」との限定がなされたものではない点。
　
（相違点２）
　本願発明では、「前記完了時間を前記単位時間で割った数の、それぞれ前記単位時間を有する連続するベース期間を設けた後」に、スケジューリングのための割り当てを行うのに対して、引用発明には、「ベース期間」に相当する記載はあるものの、ベース期間を「設ける」との限定がなされたものではない点。
　
　
５　当審の判断
　
　上記相違点について検討する。
　
（１）　相違点１について
　
　上述したとおり、引用発明には、「各制御ソースプログラムの制御周期の最小公倍数」について記載されており、この「各制御ソースプログラムの制御周期の最小公倍数」となる長さの期間が、本願発明の「完了時間」に相当するものといえる。
　また、引用例２の上記Ｉには、「周期の最小公倍数を求めると２１００であるので、時刻０から２１００までに起動されるタスク回数は夫々、２１回、１４回、６回となる。」と記載されており、引用例３の上記Ｊには、「上記８種類の演算周期の最小公倍数である１０００ｍｓを単位周期として考える。」と記載されており、引用例３の上記Ｋにも、「複数の演算周期の最小公倍数を単位周期とする。」及び「１単位周期内のタスクの実行が終了」と記載されている。これらの記載から、複数の周期でタスクを実行する装置において、複数の周期の最小公倍数を算出して、その最小公倍数となる期間を複数のタスクの実行単位として用いることは、周知慣用技術に他ならない。
　したがって、引用発明において、周期の最小公倍数を「求める」ようにすること、すなわち、完了時間となる期間を「算出する」ようにすることは、当業者であれば容易に想到し得たことである。
　
（２）　相違点２について
　
　引用例１の上記Ｇには、「タスクＩでは、０、２００、４００、５００、６００及び８００ｍｓｅｃ等のタイミングでの起動時に、全てのチャンネルのＡ／Ｄ変換を行い、１００、３００、７００及び９００ｍｓｅｃ等のタイミングではＡ／Ｄ変換を行わずに直ちにぬける。」及び「０、２００、４００、６００及び８００ｍｓｅｃのタイミングでのタイマ割込みでは、タスクＩでのＡ／Ｄ変換の終了後、第１８図（ｃ）に示すようにタスクＩＩが起動される。また０及び５００ｍｓｅｃのタイミングでのタイマ割込みでは、タスクＩＩの終了後、第１８図（ｄ）に示すようにタスクＩＩＩが起動される。」と記載されていることから、サンプリング周期の長さで区切られたタイミング毎に制御周期の短い順にタスクを実行させるものと認められる。
　ここで、上記の１００ｍｓｅｃ毎の「タイミング」は、引用発明における「最大公約数時間周期毎」に他ならず、引用発明の実施に際しても、本願発明の「ベース期間」に相当する「タイミング」を考慮しているものといえる。
　一方、本願の発明の詳細な説明においても、「ベース期間」というものを作っているわけではなく、このようなタイミングを想定してスケジューリングを行っているだけに過ぎない。
　してみると、相違点２については、実質的な相違点とも認められない。
　
（３）　まとめ
　
　以上のように、相違点１、２は、引用発明及び引用例２、３の記載に基づいて、当業者であれば容易に想到しうる事項である。
　また、本願発明の奏する作用効果も、引用発明及び引用例２、３に代表される当該技術分野の周知技術の奏する作用効果から予測される範囲内のものに過ぎず、格別顕著なものでもない。
　したがって、本願発明は、上記引用例１〜３の記載に基づいて、当業者が容易に発明をすることができたものである。
　
　
６　むすび
　
　以上のとおり、本願発明は、その出願前に日本国内において頒布された刊行物に記載された発明又は電気通信回線を通じて公衆に利用可能となった発明に基づいて、当業者が容易に発明することができたものであるから、特許法第２９条第２項の規定により特許を受けることができないものであり、他の請求項に係る発明について検討するまでもなく、本願は拒絶されるべきものである。
　
　よって、結論のとおり審決する。