【事件の表示】
　特願２０１０−２５４７４９「情報処理装置」拒絶査定不服審判事件〔平成２４年　６月　７日出願公開、特開２０１２−１０８５８２、請求項の数（４）〕について、次のとおり審決する。
【結　論】
　原査定を取り消す。
　本願の発明は、特許すべきものとする。
【理　由】
第１　手続の経緯
　本件審判請求に係る出願（以下，「本願」という。）は，平成２２年１１月１５日の出願であって，その手続の経緯は以下のとおりである。
　　平成２４年　２月２３日　　　：出願審査請求書の提出
　　平成２５年　７月２２日付け　：原審の拒絶理由の通知
　　平成２５年　９月　２日　　　：意見書，手続補正書の提出
　　平成２６年　３月２７日付け　：拒絶査定
　　平成２６年　６月２６日　　　：審判請求書，手続補正書の提出
　　平成２６年　９月　２日　　　：前置報告
　　平成２７年　４月２７日付け　：当審の拒絶理由の通知
　　平成２７年　６月２３日　　　：意見書，手続補正書の提出
第２　本願発明
　本願の請求項１に係る発明（以下，「本願発明」という。）は平成２７年６月２３日付けの手続補正書により補正された特許請求の範囲に記載されたとおりの次のものと認める。
「処理プログラムの実行単位となる複数のタスクを当該複数のタスク毎に設定される優先度に基づき，前記優先度が相対的に高い上位タスクの実行により前記優先度が相対的に低い下位タスクの実行が一時的に中断され，前記上位タスクの終了時に前記下位タスクが中断位置から再開されるよう実行することによって一連の機能を実現する情報処理装置であって，
　前記上位タスクと前記下位タスクとの間で共通に使用されるグローバル変数を記憶する２つの記憶領域を設定し，
　前記下位タスクによる前記グローバル変数の参照途中で前記上位タスクによって前記グローバル変数が更新される可能性のある第１のケースにおいて，
　前記上位タスクは，前記２つの記憶領域の一方である作業領域を使用して前記グローバル変数を更新する上位更新処理を実行し，
　前記下位タスクは，前記２つの記憶領域の他方である公開領域を使用して前記グローバル変数を参照する下位参照処理を実行し，
　前記下位タスクは，前記下位タスク中の前記下位参照処理を開始する前に，前記作業領域から前記公開領域へ前記グローバル変数を複製する複製処理を実行し，
　前記下位タスクは，前記上位更新処理が前記複製処理の実行中に実行されることを禁止する割り込み禁止処理であって，前記下位タスクに含まれる複数の前記下位参照処理で参照される複数の前記グローバル変数について共通の割り込み禁止処理を実行することを特徴とする情報処理装置。」
第３　原査定の理由について
１　原査定の理由の概要
『この出願の下記の請求項に係る発明は，その出願前に日本国内又は外国において，頒布された下記の刊行物に記載された発明又は電気通信回線を通じて公衆に利用可能となった発明に基いて，その出願前にその発明の属する技術の分野における通常の知識を有する者が容易に発明をすることができたものであるから，特許法第２９条第２項の規定により特許を受けることができない。
　　　　　　　　　　　　　　　　　記
［引用文献等一覧］
１．特開２００２−１４９４２１号公報
２．特開２００２−１８９７０４号公報
３．特開２００２−１５７１３１号公報
４．特開昭５９−２０６９７２号公報
［理　由］
［請　求　項］１，４−５，７，１０−１１
［引用文献等］１−２
［備考］
　引用文献１には，複数のタスク毎に設定される優先度に基づき実行する情報処理装置において，優先度の高い上位タスクと優先度が低い下位タスクとの間で共通に使用されるグローバル変数を記憶する２つの記憶領域を設定し，上位タスクは，２つの記憶領域の一方である作業領域を使用してグローバル変数を更新する上位更新処理を行い，下位タスクは，２つの記憶領域の一方である公開領域を使用してグローバル変数を参照する下位参照処理を行う情報処理装置が記載されている。また，下位タスクが，グローバル変数を更新し，上位タスクがグローバル変数を参照する態様についても記載されている。
　引用文献２には，複数のＣＰＵ間で，データを共有するための共有メモリにおいて，共有メモリを２つのメモリセルで構成し，データを生成したＣＰＵは，２つのメモリセルの一方であるメモリセルＬ５に書き込みを行い，書き込み後，メモリセルＬ５から，他方のメモリセルであるメモリセルＲ５にデータを転送し，他のＣＰＵは，転送完了後，メモリセルＲ５のデータを参照するように構成した共有メモリが記載されている（段落【０００８】−【０００９】）。
　したがって，本願の請求項１，４−５，７，１０−１１に係る発明は，引用文献１，２に記載の発明に基づいて，当業者が容易に推考できたものである。
［請　求　項］２−３，８−９
［引用文献等］１−３
［備考］
　共有データの更新・参照を行う際，データの同時性・一貫性等を確保するため，更新処理を割り込み禁止・許可で制御することは，例えば，文献３（段落【０００７】−【０００８】）等にも記載されているように，広く行われていること
である。』
２　原査定の理由の判断
（１）引用文献
　本願出願前に頒布され又は電気通信回線を通じて公衆に利用可能とされ，原審の平成２５年７月２２日付け拒絶理由通知で引用文献１として引用された特開２００２−１４９４２１号公報（以下，「引用文献」という。）には，関連する図面とともに，以下の技術的事項が記載されている。
　（当審注：下線は，参考のために当審で付与したものである。）
Ａ　「【請求項１】
実行単位となる複数の処理プログラムを当該処理プログラム毎に設定される優先度に基づき実行することによって，一連の機能を実現する情報処理装置において，
前記優先度の相対的に低い下位プログラムと前記優先度の相対的に高い上位プログラムとの間で共通に使用されるグローバル変数を２つの領域に重複させて記憶させ，当該領域の一方を公開領域，他方を作業領域として設定しておき，
前記下位プログラムによる前記グローバル変数の参照途中で前記上位プログラムによって前記グローバル変数が更新される可能性のある第１のケースに対し，
前記上位プログラムでは，前記作業領域を使用して前記グローバル変数を更新する上位更新処理を実行するようにし，
一方，前記下位プログラムでは，前記公開領域を使用して前記グローバル変数を参照する下位参照処理
を実行するようにしたことを特徴とする情報処理装置。
Ｂ　「【請求項３】実行単位となる複数の処理プログラムを当該処理プログラム毎に設定される優先度に基づき実行することによって，一連の機能を実現する情報処理装置において，
前記優先度の相対的に低い下位プログラムと前記優先度の相対的に高い上位プログラムとの間で共通に使用されるグローバル変数を２つの領域に重複させて記憶させ，当該領域の一方を公開領域，他方を作業領域として設定しておき，
前記下位プログラムによる前記グローバル変数の更新途中で前記上位プログラムによって前記グローバル変数が参照される可能性のある第２のケース
前記上位プログラムでは，前記公開領域を使用して前記グローバル変数を参照する
上位参照処理
一方，前記下位プログラムでは，前記作業領域を使用して前記グローバル変数を更新する
下位更新処理
Ｃ　「【０００２】
【従来の技術】例えば車両に搭載される電子制御装置（以下「ＥＣＵ」という。）に用いられる制御プログラムでは，制御応答性や安全性の確保等から所定の処理をリアルタイムに実行する必要性がある。そのため，このようなリアルタイム性を必要とする処理（リアルタイム処理）は，メインルーチンとは別の割込ルーチンとして用意されるのが一般的である。
割り込みルーチンは，例えばイベントの発生等をトリガとしてメインルーチンの実行中に優先して実行される。優先して実行されるとは，割込ルーチンの実行により一時的にメインルーチンの実行が中断され，割込ルーチン終了後に，再びその中断位置からメインルーチンが実行されることをいう。
【０００３】近年では，
上述したＥＣＵの制御プログラムも
メインルーチンや割込ルーチン等の実行単位がタスクと呼ばれ，ＯＳにより管理されている。このタスクには実行の優先度を示すレベル（タスクレベル）が設定されており
相対的にレベルの高いタスクである上位タスクは，相対的にレベルの低いタスクである下位タスクに優先する（割り込む）。上述した例で言えば，メインルーチンによる処理が下位タスクに相当し，割込ルーチンによる処理が上位タスクに相当する。
Ｄ　「【０００８】なお，上述した例では２つのグローバル変数を処理対象としていたが，同時性を必要とする３つ以上のグローバル変数を処理対象とする場合も，同様の問題が発生する。また，１つのグローバル変数を処理対象とする場合であっても，同様の問題が発生する。例えば下位タスクで２回連続して同一のグローバル変数を読み出す場合が一例として挙げられる。このときは，下位タスクによる
１回目の変数の参照後に上位タスクでその変数が更新されると，２回目に読み出された変数は，１回目に読み出された変数と異なるものとなってしまい，同時性が失われることになる。
・・・（中略）・・・
【００１２】本発明は，このような問題を解決するためになされたものであり，相対的に優先度の高い
上位プログラム
下位プログラムとの間で共通に使用されるグローバル変数の参照時の同時性を確保することを目的とする。
Ｅ　「【００３４】このように構成されたＥＣＵ１は，各種センサ３０から入力回路２１を介して入力される信号に基づき，出力回路２２に接続されたアクチュエータ４０を駆動する，エンジン制御処理を行う。このエンジン制御を実現するためのエンジン制御プログラムは，上述したようにマイコン１０の備えるＲＯＭ１２に記憶されている。
そして，このエンジン制御プログラムは実行単位毎に細分化されて記述されている。
以下では，上位プログラムの実行単位を上位タスクと記述し，下位プログラムの実行単位を下位タスクと記述する。
各タスクは，優先度に基づく割込処理によって，上述したエンジン制御処理に係る制御データを算出し
以下に，引用文献に記載された事項について検討する。
ア　上記Ｃの「上述したＥＣＵの制御プログラムも・・・（中略）・・・メインルーチンや割込ルーチン等の実行単位がタスクと呼ばれ，ＯＳにより管理されている。このタスクには実行の優先度を示すレベル（タスクレベル）が設定されており」との記載，
　上記Ｅの「そして，このエンジン制御プログラムは実行単位毎に細分化されて記述されている。」，「以下では，上位プログラムの実行単位を上位タスクと記述し，下位プログラムの実行単位を下位タスクと記述する。」，「各タスクは，優先度に基づく割込処理によって上述したエンジン制御処理に係る制御データを算出し」との記載からすると，
　上記「情報処理装置」は，「制御プログラム」が，実行単位毎となる複数の「タスク」に細分化され，タスク毎に優先度が設定された「上位タスク」，「下位タスク」単位で実行されるといえる。
　してみれば，上記Ａの「実行単位となる複数の処理プログラムを当該処理プログラム毎に設定される優先度に基づき実行することによって，一連の機能を実現する情報処理装置において，
前記優先度の相対的に低い下位プログラムと前記優先度の相対的に高い上位プログラムとの間で共通に使用されるグローバル変数を２つの領域に重複させて記憶させ，当該領域の一方を公開領域，他方を作業領域として設定しておき，
前記下位プログラムによる前記グローバル変数の参照途中で前記上位プログラムによって前記グローバル変数が更新される可能性のある第１のケースに対し，
前記上位プログラムでは，前記作業領域を使用して前記グローバル変数を更新する上位更新処理を実行するようにし，
一方，前記下位プログラムでは，前記公開領域を使用して前記グローバル変数を参照する下位参照処理・・・（中略）・・・を実行するようにしたことを特徴とする情報処理装置。」との記載からすると，
　「複数の処理プログラム」は「制御プログラム」を細分化したものであり，各「処理プログラム」である「上位プログラム」及び「下位プログラム」は「上位タスク」及び「下位タスク」として実行されるものであるから，
　引用文献には，
　「制御プログラムは，実行単位となる複数のタスクを当該タスク毎に設定される優先度に基づき実行することによって，一連の機能を実現する情報処理装置において，
前記優先度の相対的に低い下位タスクと前記優先度の相対的に高い上位タスクとの間で共通に使用されるグローバル変数を２つの領域に重複させて記憶させ，当該領域の一方を公開領域，他方を作業領域として設定しておき，
前記下位タスクによる前記グローバル変数の参照途中で前記下位タスクによって前記グローバル変数が更新される可能性のある第１のケースに対し，
前記上位タスクでは，前記作業領域を使用して前記グローバル変数を更新する上位更新処理を実行するようにし，
一方，前記下位タスクでは，前記公開領域を使用して前記グローバル変数を参照する下位参照処理を実行するようにしたことを特徴とする情報処理装置。」が記載されているといえる。
イ　上記Ｃの「割り込みルーチンは，例えばイベントの発生等をトリガとしてメインルーチンの実行中に優先して実行される。優先して実行されるとは，割込ルーチンの実行により一時的にメインルーチンの実行が中断され，割込ルーチン終了後に，再びその中断位置からメインルーチンが実行されることをいう。」，「相対的にレベルの高いタスクである上位タスクは，相対的にレベルの低いタスクである下位タスクに優先する（割り込む）。上述した例で言えば，メインルーチンによる処理が下位タスクに相当し，割込ルーチンによる処理が上位タスクに相当する。」との記載からすると，
　引用文献には，上記「情報処理装置」において，「優先度の高い上位タスクにより相対的に優先度の低い下位タスクの実行が中断され，上位タスク終了後に，再びその中断位置から下位タスクが実行」されることが記載されているといえる。
ウ　以上，ア乃至イを踏まえると，引用文献には，次の発明（以下，「引用発明」という。）が記載されているものと認める。
「制御プログラムは，実行単位となる複数のタスクを当該タスク毎に設定される優先度に基づき実行することによって，一連の機能を実現する情報処理装置において，
　優先度の高い上位タスクにより相対的に優先度の低い下位タスクの実行が中断され，上位タスク終了後に，再びその中断位置から下位タスクが実行され，
前記優先度の相対的に低い下位タスクと前記優先度の相対的に高い上位タスクとの間で共通に使用されるグローバル変数を２つの領域に重複させて記憶させ，当該領域の一方を公開領域，他方を作業領域として設定しておき，
前記下位タスクによる前記グローバル変数の参照途中で前記上位タスクによって前記グローバル変数が更新される可能性のある第１のケースに対し，
前記上位タスクでは，前記作業領域を使用して前記グローバル変数を更新する上位更新処理を実行するようにし，
一方，前記下位タスクでは，前記公開領域を使用して前記グローバル変数を参照する下位参照処理を実行するようにしたことを特徴とする情報処理装置。」
（２）参考文献
ア　本願出願前に頒布され又は電気通信回線を通じて公衆に利用可能とされ，原審の平成２５年７月２２日付け拒絶理由通知で引用文献２として引用された特開２００２−１８９７０４号公報（以下，「参考文献１」という。）には，関連する図面とともに，以下の技術的事項が記載されている。
　（当審注：下線は，参考のために当審で付与したものである。）
Ｆ　「【０００８】
【発明の実施の形態】以下，本発明の実施例を図に基づいて説明する。図１は本発明のブロック図である。同図において，３はＣＰＵ１，２間に接続される共有メモリである。
共有メモリ３は
メモリセルＬ５とメモリセルＲ６により構成される。
【０００９】図２に本発明のＣＰＵ１とＣＰＵ２処理の概要を示す。図２において，
ＣＰＵ１はデータＡの生成と共有メモリ３のメモリセルＬ５への書き込みを行い（Ｓ１），その書き込み完了後，転送指令を発行し（Ｓ２），メモリセルＬ５からメモリセルＲ６にデータを転送する。ＣＰＵ２は転送完了を確認後，共有メモリ３のメモリセルＲ６のデータを使用し，
イ　本願出願前に頒布され又は電気通信回線を通じて公衆に利用可能とされ，原審の拒絶査定で引用文献Ａとして引用された特開平６−１４９７５１号公報（以下，「参考文献２」という。）には，関連する図面とともに，以下の技術的事項が記載されている。
　（当審注：下線は，参考のために当審で付与したものである。）
Ｇ　「【００３２】本実施例のコンパイル処理の中で従来のそれと異なるところは次の３点である。
【００３３】(1)並列実行複文のコード解析により，並列化のためのライブラリ手続き呼び出しを伴うコード生成を行なう点。
【００３４】
(2)共有変数書き換えに際して，局所メモリに配置された共有変数の実体（または複写）を書き換えると共に，遠隔メモリ操作を発生し，自分に対し接続されたプロセッサエレメント２上の，共有変数の複写（または実体）を書き換えるライブラリ手続きを呼び出すコード生成を行なう点。
【００３５】(3)共有変数参照に関して，局所メモリに複写された共有変数の値を参照するコード生成を行なう点。
」
Ｈ　「【０１１２】６．第２の実施例の説明
第１の実施例は，共有変数に対する書き換え要求の時間間隔の測定を目的としΔＴ測定回路８を使用した。しかし，本発明実施の上で，これは必要不可欠の構成要素ではない。次に第２の実施例として，ΔＴ測定回路８を用いない構成を説明する。この実施例の処理手順の方針は「参照要求発生以前に，１回以上の書き換え要求が有った場合は，書き換え要求頻度が高いと判断する。」と言うものである。もちろん，ここで「１回以上」と書かずＮ回以上としても同じである。しかし，実際にある変数の値は，それが参照される時点で初めて意味を持つものであるから，ある共有変数が書き換えられようとした場合，それが１回めの書き換えであっても，書き換えための遠隔メモリ操作は，参照時点まで遅延して行なうのが妥当である。
【０１１３】第２の実施例は，図１に示した第１の実施例の構成において，ΔＴ測定回路８を除いて全く同一の構成で実現される。処理のためのコンパイラ動作の点でも，第１の実施例と等しい。第２の実施例の第１の実施例に対する唯一の差は，共有変数参照時のライブラリ_S_READの動作だけである。図１７を用い，この点を説明する。
【０１１４】各プロセッサエレメント２のＭＰＵ４は，ユーザプログラム実行状態では，オブジェクトコードを実行する定常的な処理１７１を続けている。ここに共有変数書き換えを指示する制御トークンが，通信装置６を介し入力されると，割り込み回路７が，ＭＰＵ４に対し割り込み信号を入力する。割り込み処理に入ったＭＰＵ４は，データ受信のための例外処理１７２の処理状態に入り，常に遅延応答モードとなる。従って，応答パケットである「ＡＣＫ応答」は要求元のプロセッサエレメントへは返送されず，ＭＰＵ４は直ちに通常のオブジェクトコード実行状態１７１を継続する。
【０１１５】
オブジェクトコード実行状態１７１において，ライブラリ手続き_S_READの実行が行なわれると
共有変数のコピーを変更する処理状態１７４に入る。
【０１１６】手順１：書き換え要求の有ったプロセッサエレメント２へＡＣＫ応答を返す。
【０１１７】
手順２：共有変数書き換えのためのデータを受信する。
【０１１８】手順３：上記データによって共有変数の複写を更新する。
【０１１９】手順４：状態１７５へ遷移。
【０１２０】処理状態１７５では，実際の共有変数（の複写）が参照された後，遅延応答フラグ９の内容が論理「偽」に書き換えられることによって通常処理モード１７３が設定され，オブジェクトコードの実行状態１７１に戻る。
【０１２１】
一方，ライブラリ手続き_S_READの呼び出しが，次の共有変数書き換え以前に呼び出された場合
【０１２２】以上の説明から明らかな様に，第２の実施例でも，
遠隔メモリ操作に伴う「通信」は，共有変数に書き換えが有って，かつ書き換え後に更に参照する必要が有る場合だけ発生する。
・・・（後略）・・・」
ウ　本願出願前に頒布され又は電気通信回線を通じて公衆に利用可能とされ，原審の前置報告で引用文献６として引用された特開２００３−２０３０６２号公報（以下，「参考文献３」という。）には，関連する図面とともに，以下の技術的事項が記載されている。
　（当審注：下線は，参考のために当審で付与したものである。）
Ｉ　「【００２５】
リアルタイム処理用共有メモリ制御システム 10 は，
書込み側共有メモリ制御モジュール 120，読出し側共有メモリ制御モジュール 150 
から構成される。
【００２６】
書込み側共有メモリ制御モジュール 120 は，リアルタイムデータが書き込まれる共有メモリ 121
から構成される。
【００２７】
読出し側共有メモリ制御モジュール 150 は，
共有データ複写メモリ 151
から構成される。
【００２８】
共有データ複写メモリ更新制御手段 155 は
データ転送の開始を行う。
Ｊ　「【００３９】
読出し側共有メモリ制御モジュール 150 
共有メモリ 121 の内容の全部あるいは一部を受取り，共有データ複写メモリ 151 の更新領域の内容を変更する。
エ　本願出願前に頒布され又は電気通信回線を通じて公衆に利用可能とされ，原審の平成２５年７月２２日付け拒絶理由通知で引用文献３として引用された特開２００２−１５７１３１号公報（以下，「参考文献４」という。）には，関連する図面とともに，以下の技術的事項が記載されている。
　（当審注：下線は，参考のために当審で付与したものである。）
Ｋ　「【０００５】例えば，
下位タスクにて２つのグローバル変数ａ，ｂを参照し，上位タスクにて同一のグローバル変数ａ，ｂを更新する場合を考える。このとき，下位タスクにて変数ａが参照された後，変数ｂが参照される前に上位タスクが割り込むと，グローバル変数ａ，ｂが共に更新されてしまい，その後，下位タスクで参照されるグローバル変数ｂは上位タスクによる更新後のものになってしまう
このような状態は，グローバル変数の同時性
が失われた状態と表現され
【０００８】従来，このような不具合を回避するため，下位タスクのプログラム中には，必要に応じて割込禁止／許可命令を記述していた。割込禁止命令は，上位タスクの割り込みを禁止するものであり，割込許可命令は上位タスクの割り込みを許可するものである。つまり，割込禁止命令と割込許可命令で挟まれた処理ステップの途中では，上位タスクは割り込めない。したがって，
同時性を必要とするグローバル変数に係る処理の前後にそれぞれ割込禁止命令，割込許可命令を記述しておけば，上位タスクによる変数操作がなされないため，グローバル変数の同時性が確保できる。
（３）対比
ア　引用発明の「情報処理装置」は，本願発明の「情報処理装置」に対応するといえる。
イ　引用発明の「制御プログラム」，「上位タスク」，「下位タスク」，「優先度」，「グローバル変数」，「公開領域」，「作業領域」，「第１のケース」，「上位更新処理」，「下位参照処理」は，
　それぞれ本願発明の「処理プログラム」，「上位タスク」，「下位タスク」，「優先度」，「グローバル変数」「公開領域」，「作業領域」，「第１のケース」，「上位更新処理」，「下位参照処理」に相当する。
ウ　引用発明の「制御プログラムは，実行単位となる複数のタスクを当該タスク毎に設定される優先度に基づき実行することによって，一連の機能を実現する情報処理装置において，
　優先度の高い上位タスクにより相対的に優先度の低い下位タスクの実行が中断され，上位タスク終了後に，再びその中断位置から下位タスクが実行」されることは，
　上記「情報処理装置」が，「優先度の高い上位タスクにより相対的に優先度の低い下位タスクの実行が中断され，上位タスク終了後に，再びその中断位置から下位タスクが実行」される装置であるといえることから，
　本願発明の「処理プログラムの実行単位となる複数のタスクを当該複数のタスク毎に設定される優先度に基づき，前記優先度が相対的に高い上位タスクの実行により前記優先度が相対的に低い下位タスクの実行が一時的に中断され，前記上位タスクの終了時に前記下位タスクが中断位置から再開されるよう実行することによって一連の機能を実現する情報処理装置」に相当する。
エ　引用発明の「前記優先度の相対的に低い下位タスクと前記優先度の相対的に高い上位タスクとの間で共通に使用されるグローバル変数を２つの領域に重複させて記憶させ，当該領域の一方を公開領域，他方を作業領域として設定」することと，
　本願発明の「前記上位タスクと前記下位タスクとの間で共通に使用されるグローバル変数を記憶する２つの記憶領域を設定」することは，
“上位タスクと下位タスクとの間で共通に使用されるグローバル変数を記憶する２つの記憶領域を設定”する点で共通しているといえる。
オ　引用発明の「前記下位タスクによる前記グローバル変数の参照途中で前記上位タスクによって前記グローバル変数が更新される可能性のある第１のケースに対し，」は
　本願発明の「前記下位タスクによる前記グローバル変数の参照途中で前記上位タスクによって前記グローバル変数が更新される可能性のある第１のケースにおいて，」に相当する。
カ　上記エで検討した引用発明の「前記優先度の相対的に低い下位タスクと前記優先度の相対的に高い上位タスクとの間で共通に使用されるグローバル変数を２つの領域に重複させて記憶させ，当該領域の一方を公開領域，他方を作業領域として設定」することからすると，
　グローバル変数を記憶させる２つの領域の一方を公開領域，他方を作業領域として設定しておくものであるから，
引用発明の「前記上位タスクでは，前記作業領域を使用して前記グローバル変数を更新する上位更新処理を実行するようにし，」は，
　本願発明の「前記上位タスクは，前記２つの記憶領域の一方である作業領域を使用して前記グローバル変数を更新する上位更新処理を実行し，」に相当する。
キ　同様に，引用発明の「一方，前記下位タスクでは，前記公開領域を使用して前記グローバル変数を参照する下位参照処理を実行」することは，
　本願発明の「前記下位タスクは，前記２つの記憶領域の他方である公開領域を使用して前記グローバル変数を参照する下位参照処理を実行」することに相当する。
　以上から，本願発明と引用発明とは，以下の点で一致し，また，以下の点で相違する。
（一致点）
「処理プログラムの実行単位となる複数のタスクを当該複数のタスク毎に設定される優先度に基づき，前記優先度が相対的に高い上位タスクの実行により前記優先度が相対的に低い下位タスクの実行が一時的に中断され，前記上位タスクの終了時に前記下位タスクが中断位置から再開されるよう実行することによって一連の機能を実現する情報処理装置であって，
　前記上位タスクと前記下位タスクとの間で共通に使用されるグローバル変数を記憶する２つの記憶領域を設定し，
　前記下位タスクによる前記グローバル変数の参照途中で前記上位タスクによって前記グローバル変数が更新される可能性のある第１のケースにおいて，
　前記上位タスクは，前記２つの記憶領域の一方である作業領域を使用して前記グローバル変数を更新する上位更新処理を実行し，
　前記下位タスクは，前記２つの記憶領域の他方である公開領域を使用して前記グローバル変数を参照する下位参照処理を実行することを特徴とする情報処理装置。」
（相違点１）
　本願発明では，「前記下位タスクは，前記下位タスク中の前記下位参照処理を開始する前に，前記作業領域から前記公開領域へ前記グローバル変数を複製する複製処理を実行」する処理について特定されているのに対して，
　引用発明では，そのような処理について格別言及されていない点。
（相違点２）
　本願発明では，「前記下位タスクは，前記上位更新処理が前記複製処理の実行中に実行されることを禁止する割り込み禁止処理であって，前記下位タスクに含まれる複数の前記下位参照処理で参照される複数の前記グローバル変数について共通の割り込み禁止処理を実行」する処理について特定されているのに対して，
　引用発明では，そのような処理について格別言及されていない点。
（４）判断
ア　相違点１について
　引用発明の「下位タスク」は，上記Ａの「当該下位参照処理による前記グローバル変数の参照を完了すると，前記作業領域を新たに公開領域として設定しなおすと共に前記公開領域を新たに作業領域として設定しなおす領域切換処理」との記載からすると，
　作業領域と公開領域を切り換える処理が記載されるものの，
　本願発明のように，作業領域と公開領域間の複製処理は，引用文献には何ら示唆されていない。
　参考文献１，３について検討する。
　参考文献１の上記Ｆには，共有メモリ３の書き込み用のメモリセルＬ５と参照用のメモリセルＲ６間のデータ転送処理が記載されるものの，個別のタスクが動作主体となる点は記載も示唆もされていない。
　参考文献３の上記Ｉ，Ｊには，書き込み用の共有メモリ１２１と，参照用の共有データ複写メモリ１５１間のデータ転送処理が記載されるものの，個別のタスクと無関係な「共有データ複写メモリ更新制御手段」が動作主体となっている。
　一方，本願発明の「複製処理」の動作主体は「下位タスク」自身である。
　また，参考文献１，３は，「共有メモリ」や「共有メモリ制御方式」に係る発明であり，メモリ制御部ではなく，「下位タスク」側に，共有メモリ制御機能を備えさせる構成は想定されていない。
　参考文献２について検討する。
　参考文献２の上記Ｇ，Ｈには，複数のプロセッサエレメントの局所メモリ間で，一方のプロセッサの参照処理時に，割り込みでメモリ間で共有変数の値を自己の局所メモリに複写してから参照を実行するコードが記載されているものの，上記Ｇ，Ｈに記載の構成は，対等なマルチプロセッサを前提としており，「上位タスク」により中断される「下位タスク」が，複写機能を備えるようにすることは記載も示唆もされていない。
　さらに，参考文献２の上記Ｈの「オブジェクトコード実行状態１７１において，ライブラリ手続き_S_READの実行が行なわれると・・・（中略）・・・共有変数のコピーを変更する処理状態１７４に入る。」，「手順２：共有変数書き換えのためのデータを受信する。」，「一方，ライブラリ手続き_S_READの呼び出しが，次の共有変数書き換え以前に呼び出された場合」，『遠隔メモリ操作に伴う「通信」は，共有変数に書き換えが有って，かつ書き換え後に更に参照する必要が有る場合だけ発生する。』との記載からすると，「ライブラリ手続き_S_READ」は参照処理であるから，
　参考文献２の複写処理は，本願発明の如く「参照処理を開始する前」に限定されるものではなく，参照処理の後にも発生しうるものである。
　このような参考文献２の複写処理は，同一の共有変数に対する２つの参照処理の間で，更新処理が発生する場合，２回目の参照処理の結果が変わってしまう処理方式である。
　一方，引用発明は，上記Ｄに記載されるように，１回目の変数の参照後に上位タスクでその変数が更新されると，２回目に読み出された変数は，１回目に読み出された変数と異なるものとなってしまい，同時性が失われる課題に対して，上位プログラムと下位プログラムとの間で共通に使用されるグローバル変数の参照時の同時性を確保することを目的とするものであるから，
　参考文献２の複写処理の構成は，引用文献１の複製処理の課題の解決を阻害するものである。
　そうすると，引用発明の「下位タスク」に対して，本願発明のように「下位タスク」自身が，「下位タスク中の前記下位参照処理を開始する前に，前記作業領域から前記公開領域へ前記グローバル変数を複製する」機能を，追加しようとすることの動機付けを見いだすことはできないから，これを当業者が，容易に想到したものとはいえない。
イ　相違点２について
　複数の共有データを処理する際，データの同時性・一貫性等を確保するため，処理を割り込み禁止・許可で制御する技術は，例えば，参考文献４（上記Ｋ参照）に記載されているように，本願の出願前には，マルチタスク技術分野において適宜に採用されていた周知技術であった。
　してみると，引用発明の「情報処理装置」が，同時性を必要とする複数のグローバル変数について共通の割り込み禁止処理を実行するように構成すること，すなわち，上記相違点２に係る構成とすることは，当業者が容易に想到し得たことである。
（５）小括
　したがって，上記相違点１から，本願発明は，当業者が上記引用発明及び当該技術分野の周知技術に基づいて容易に発明をすることができたとはいえない。
　本願の請求項３に係る発明は，「前記下位タスクによる前記グローバル変数の更新途中で前記上位タスクによって前記グローバル変数が参照される可能性のある第２のケース」に関するものであり，「上位更新処理」，「下位参照処理」を「上位参照処理」，「下位更新処理」に置き換えたものであるものの，
　引用文献１の上記Ｂには，同様に，「第２のケース」について「上位更新処理」，「下位参照処理」を「上位参照処理」，「下位更新処理」に置き換えた構成が記載されており，相違点及び判断も上記の検討と同様である。
　本願の請求項２，４に係る発明は，それぞれ本願の請求項１，３に係る発明をさらに限定したものであるので，同様に，当業者が上記引用発明及び周知技術に基づいて容易に発明をすることができたとはいえない。
　よって，原査定の理由によっては，本願を拒絶することはできない。
第４　当審拒絶理由について
１　当審拒絶理由の概要
『１．（明確性要件）この出願は，特許請求の範囲の記載が下記の点で，特許法第３６条第６項第２号に規定する要件を満たしていない。
２．（サポート要件）この出願は，特許請求の範囲の記載が下記の点で，特許法第３６条第６項第１号に規定する要件を満たしていない。
　　　　　　　　　　　　　　　　記
●理由１について
（１）請求項　３−４
　本願の請求項３には「前記上位更新処理」との記載があるが，この記載よりも前に「上位更新処理」の記載が無く，「前記」が何を指し示しているのかが不明確である。
　また，請求項３を引用する請求項４にも同様の点が指摘される。
　よって，請求項３，４に係る発明は明確でない。
（２）請求項　３−４
　本願の請求項３には「前記下位参照処理」との記載があるが，この記載よりも前に「下位参照処理」の記載が無く，「前記」が何を指し示しているのかが不明確である。
　また，請求項３を引用する請求項４にも同様の点が指摘される。
　よって，請求項３，４に係る発明は明確でない。
●理由２について
・請求項　３−４
　平成２６年６月２６日付け手続補正による補正後の請求項３は，
「前記下位タスクは，前記２つの記憶領域の一方である作業領域を使用して前記グローバル変数を更新する下位更新処理を実行し，
　「前記上位タスクは，前記２つの記憶領域の他方である公開領域を使用して前記グローバル変数を参照する上位参照処理を実行し，
　・・・（中略）・・・
　前記下位タスクは，前記上位更新処理が前記複製処理の実行中に実行されることを禁止する割り込み禁止処理であって，前記下位タスクに含まれる複数の前記下位参照処理で参照される複数の前記グローバル変数について共通の割り込み禁止処理を実行することを特徴とする情報処理装置」に関するものである。
　一方，平成２６年６月２６日付け手続補正による補正後の明細書には，
　『最初に説明する第１〜第４実施形態は，「下位タスクによるグローバル変数の参照途中で上位タスクによってグローバル変数が更新される可能性がある」場合の処理に係る実施形態である。このケースを「第１のケース」という。・・・（後略）・・・』（段落［００４１］），及び，
　『（第５実施形態）
　次に説明する第５〜第８実施形態は，「下位タスクによるグローバル変数の更新途中で上位タスクによってグローバル変数が参照される可能性がある」場合の処理に係る実施形態である。このケースを「第２のケース」という。・・・（後略）・・・』（段落［００６１］）が記載されるものの，
　「下位タスク」が，下位更新処理を実行し（前記第２のケースに対応），かつ，前記上位更新処理（前記第１のケースに対応）が前記複製処理の実行中に実行されることを禁止する割り込み禁止処理であって，前記下位タスクに含まれる複数の前記下位参照処理（前記第１のケースに対応）で参照される複数の前記グローバル変数について共通の割り込み禁止処理を実行する構成は記載も示唆もされていない。
　よって，請求項３に係る発明は，発明の詳細な説明に記載したものでない。
　請求項３を引用する請求項４も同様である。』
２　当審拒絶理由の判断
　平成２７年６月２３日付け手続補正書によって，本願の請求項３は
「処理プログラムの実行単位となる複数のタスクを当該複数のタスク毎に設定される優先度に基づき，前記優先度が相対的に高い上位タスクの実行により前記優先度が相対的に低い下位タスクの実行が一時的に中断され，前記上位タスクの終了時に前記下位タスクが中断位置から再開されるよう実行することによって一連の機能を実現する情報処理装置であって，
　前記上位タスクと前記下位タスクとの間で共通に使用されるグローバル変数を記憶する２つの記憶領域を設定し，
　前記下位タスクによる前記グローバル変数の更新途中で前記上位タスクによって前記グローバル変数が参照される可能性のある第２のケースにおいて，
　前記下位タスクは，前記２つの記憶領域の一方である作業領域を使用して前記グローバル変数を更新する下位更新処理を実行し，
　前記上位タスクは，前記２つの記憶領域の他方である公開領域を使用して前記グローバル変数を参照する上位参照処理を実行し，
　前記下位タスクは，前記下位タスク中の前記下位更新処理を開始する前に，前記作業領域から前記公開領域へ前記グローバル変数を複製する複製処理を実行し，
　前記下位タスクは，前記上位参照処理が前記複製処理の実行中に実行されることを禁止する割り込み禁止処理であって，前記下位タスクに含まれる複数の前記下位更新処理で更新される複数の前記グローバル変数について共通の割り込み禁止処理を実行することを特徴とする情報処理装置。」
と補正された。
　特に，請求項３において，「前記上位更新処理」が「前記上位参照処理」に，「前記下位参照処理」が「前記下位更新処理」に，それぞれ補正された。このことにより，請求項３に係る発明は，明確となり，かつ，発明の詳細な説明に記載されたものとなった。
　よって，当審拒絶理由１，２は解消した。
第５　むすび
　以上のとおり，原査定の理由によっては，本願を拒絶することはできない。
　また，他に本願を拒絶すべき理由を発見しない。
　よって，結論のとおり審決する。