• ポートフォリオ機能


ポートフォリオを新規に作成して保存
既存のポートフォリオに追加保存

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 査定不服 2項進歩性 取り消して特許、登録 G06F
審判 査定不服 特36条6項1、2号及び3号 請求の範囲の記載不備 取り消して特許、登録 G06F
管理番号 1303684
審判番号 不服2014-12316  
総通号数 189 
発行国 日本国特許庁(JP) 
公報種別 特許審決公報 
発行日 2015-09-25 
種別 拒絶査定不服の審決 
審判請求日 2014-06-26 
確定日 2015-08-18 
事件の表示 特願2010-254749「情報処理装置」拒絶査定不服審判事件〔平成24年 6月 7日出願公開、特開2012-108582、請求項の数(4)〕について、次のとおり審決する。 
結論 原査定を取り消す。 本願の発明は、特許すべきものとする。 
理由 第1 手続の経緯

本件審判請求に係る出願(以下,「本願」という。)は,平成22年11月15日の出願であって,その手続の経緯は以下のとおりである。

平成24年 2月23日 :出願審査請求書の提出
平成25年 7月22日付け :原審の拒絶理由の通知
平成25年 9月 2日 :意見書,手続補正書の提出
平成26年 3月27日付け :拒絶査定
平成26年 6月26日 :審判請求書,手続補正書の提出
平成26年 9月 2日 :前置報告
平成27年 4月27日付け :当審の拒絶理由の通知
平成27年 6月23日 :意見書,手続補正書の提出

第2 本願発明

本願の請求項1に係る発明(以下,「本願発明」という。)は平成27年6月23日付けの手続補正書により補正された特許請求の範囲に記載されたとおりの次のものと認める。

「処理プログラムの実行単位となる複数のタスクを当該複数のタスク毎に設定される優先度に基づき,前記優先度が相対的に高い上位タスクの実行により前記優先度が相対的に低い下位タスクの実行が一時的に中断され,前記上位タスクの終了時に前記下位タスクが中断位置から再開されるよう実行することによって一連の機能を実現する情報処理装置であって,
前記上位タスクと前記下位タスクとの間で共通に使用されるグローバル変数を記憶する2つの記憶領域を設定し,
前記下位タスクによる前記グローバル変数の参照途中で前記上位タスクによって前記グローバル変数が更新される可能性のある第1のケースにおいて,
前記上位タスクは,前記2つの記憶領域の一方である作業領域を使用して前記グローバル変数を更新する上位更新処理を実行し,
前記下位タスクは,前記2つの記憶領域の他方である公開領域を使用して前記グローバル変数を参照する下位参照処理を実行し,
前記下位タスクは,前記下位タスク中の前記下位参照処理を開始する前に,前記作業領域から前記公開領域へ前記グローバル変数を複製する複製処理を実行し,
前記下位タスクは,前記上位更新処理が前記複製処理の実行中に実行されることを禁止する割り込み禁止処理であって,前記下位タスクに含まれる複数の前記下位参照処理で参照される複数の前記グローバル変数について共通の割り込み禁止処理を実行することを特徴とする情報処理装置。」

第3 原査定の理由について

1 原査定の理由の概要

『この出願の下記の請求項に係る発明は,その出願前に日本国内又は外国において,頒布された下記の刊行物に記載された発明又は電気通信回線を通じて公衆に利用可能となった発明に基いて,その出願前にその発明の属する技術の分野における通常の知識を有する者が容易に発明をすることができたものであるから,特許法第29条第2項の規定により特許を受けることができない。



[引用文献等一覧]
1.特開2002-149421号公報
2.特開2002-189704号公報
3.特開2002-157131号公報
4.特開昭59-206972号公報


[理 由]
[請 求 項]1,4-5,7,10-11
[引用文献等]1-2
[備考]
引用文献1には,複数のタスク毎に設定される優先度に基づき実行する情報処理装置において,優先度の高い上位タスクと優先度が低い下位タスクとの間で共通に使用されるグローバル変数を記憶する2つの記憶領域を設定し,上位タスクは,2つの記憶領域の一方である作業領域を使用してグローバル変数を更新する上位更新処理を行い,下位タスクは,2つの記憶領域の一方である公開領域を使用してグローバル変数を参照する下位参照処理を行う情報処理装置が記載されている。また,下位タスクが,グローバル変数を更新し,上位タスクがグローバル変数を参照する態様についても記載されている。
引用文献2には,複数のCPU間で,データを共有するための共有メモリにおいて,共有メモリを2つのメモリセルで構成し,データを生成したCPUは,2つのメモリセルの一方であるメモリセルL5に書き込みを行い,書き込み後,メモリセルL5から,他方のメモリセルであるメモリセルR5にデータを転送し,他のCPUは,転送完了後,メモリセルR5のデータを参照するように構成した共有メモリが記載されている(段落【0008】-【0009】)。
したがって,本願の請求項1,4-5,7,10-11に係る発明は,引用文献1,2に記載の発明に基づいて,当業者が容易に推考できたものである。

[請 求 項]2-3,8-9
[引用文献等]1-3
[備考]
共有データの更新・参照を行う際,データの同時性・一貫性等を確保するため,更新処理を割り込み禁止・許可で制御することは,例えば,文献3(段落【0007】-【0008】)等にも記載されているように,広く行われていること
である。』

2 原査定の理由の判断

(1)引用文献

本願出願前に頒布され又は電気通信回線を通じて公衆に利用可能とされ,原審の平成25年7月22日付け拒絶理由通知で引用文献1として引用された特開2002-149421号公報(以下,「引用文献」という。)には,関連する図面とともに,以下の技術的事項が記載されている。
(当審注:下線は,参考のために当審で付与したものである。)

A 「【請求項1】実行単位となる複数の処理プログラムを当該処理プログラム毎に設定される優先度に基づき実行することによって,一連の機能を実現する情報処理装置において,
前記優先度の相対的に低い下位プログラムと前記優先度の相対的に高い上位プログラムとの間で共通に使用されるグローバル変数を2つの領域に重複させて記憶させ,当該領域の一方を公開領域,他方を作業領域として設定しておき,
前記下位プログラムによる前記グローバル変数の参照途中で前記上位プログラムによって前記グローバル変数が更新される可能性のある第1のケースに対し,
前記上位プログラムでは,前記作業領域を使用して前記グローバル変数を更新する上位更新処理を実行するようにし,
一方,前記下位プログラムでは,前記公開領域を使用して前記グローバル変数を参照する下位参照処理及び,当該下位参照処理による前記グローバル変数の参照を完了すると,前記作業領域を新たに公開領域として設定しなおすと共に前記公開領域を新たに作業領域として設定しなおす領域切換処理を実行するようにしたことを特徴とする情報処理装置。」

B 「【請求項3】実行単位となる複数の処理プログラムを当該処理プログラム毎に設定される優先度に基づき実行することによって,一連の機能を実現する情報処理装置において,
前記優先度の相対的に低い下位プログラムと前記優先度の相対的に高い上位プログラムとの間で共通に使用されるグローバル変数を2つの領域に重複させて記憶させ,当該領域の一方を公開領域,他方を作業領域として設定しておき,
前記下位プログラムによる前記グローバル変数の更新途中で前記上位プログラムによって前記グローバル変数が参照される可能性のある第2のケースに対し,
前記上位プログラムでは,前記公開領域を使用して前記グローバル変数を参照する上位参照処理を実行するようにし,
一方,前記下位プログラムでは,前記作業領域を使用して前記グローバル変数を更新する下位更新処理及び,当該下位更新処理による前記グローバル変数の更新を完了すると,前記作業領域を新たに公開領域として設定しなおすと共に前記公開領域を新たに作業領域として設定しなおす領域切換処理を実行するようにしたことを特徴とする情報処理装置。」

C 「【0002】
【従来の技術】例えば車両に搭載される電子制御装置(以下「ECU」という。)に用いられる制御プログラムでは,制御応答性や安全性の確保等から所定の処理をリアルタイムに実行する必要性がある。そのため,このようなリアルタイム性を必要とする処理(リアルタイム処理)は,メインルーチンとは別の割込ルーチンとして用意されるのが一般的である。割り込みルーチンは,例えばイベントの発生等をトリガとしてメインルーチンの実行中に優先して実行される。優先して実行されるとは,割込ルーチンの実行により一時的にメインルーチンの実行が中断され,割込ルーチン終了後に,再びその中断位置からメインルーチンが実行されることをいう。
【0003】近年では,上述したECUの制御プログラムもOS(オペレーティング・システム)上で動作するようになっており,メインルーチンや割込ルーチン等の実行単位がタスクと呼ばれ,OSにより管理されている。このタスクには実行の優先度を示すレベル(タスクレベル)が設定されており,このタスクレベルに基づいて上述したような割込処理を実現している。つまり,OSの管理の下,相対的にレベルの高いタスクである上位タスクは,相対的にレベルの低いタスクである下位タスクに優先する(割り込む)。上述した例で言えば,メインルーチンによる処理が下位タスクに相当し,割込ルーチンによる処理が上位タスクに相当する。」

D 「【0008】なお,上述した例では2つのグローバル変数を処理対象としていたが,同時性を必要とする3つ以上のグローバル変数を処理対象とする場合も,同様の問題が発生する。また,1つのグローバル変数を処理対象とする場合であっても,同様の問題が発生する。例えば下位タスクで2回連続して同一のグローバル変数を読み出す場合が一例として挙げられる。このときは,下位タスクによる1回目の変数の参照後に上位タスクでその変数が更新されると,2回目に読み出された変数は,1回目に読み出された変数と異なるものとなってしまい,同時性が失われることになる。
・・・(中略)・・・
【0012】本発明は,このような問題を解決するためになされたものであり,相対的に優先度の高い上位プログラムによる割込処理を遅らせることなく,しかも,相対的に優先度の低い下位プログラムとの間で共通に使用されるグローバル変数の参照時の同時性を確保することを目的とする。」

E 「【0034】このように構成されたECU1は,各種センサ30から入力回路21を介して入力される信号に基づき,出力回路22に接続されたアクチュエータ40を駆動する,エンジン制御処理を行う。このエンジン制御を実現するためのエンジン制御プログラムは,上述したようにマイコン10の備えるROM12に記憶されている。そして,このエンジン制御プログラムは実行単位毎に細分化されて記述されている。実行単位となる各処理プログラムは,設定される優先度(タスクレベル)に基づき実行される。具体的には,優先度の相対的に高い処理プログラムである上位プログラムは,相対的に低い処理プログラムである下位プログラムに優先して実行される。これら処理プログラムの実行単位がタスクと呼ばれ,OSによって管理される。以下では,上位プログラムの実行単位を上位タスクと記述し,下位プログラムの実行単位を下位タスクと記述する。このようにして各タスクは,優先度に基づく割込処理によって,上述したエンジン制御処理に係る制御データを算出して更新したり,算出された制御データを参照して新たな制御データを算出したりする。」

以下に,引用文献に記載された事項について検討する。

ア 上記Cの「上述したECUの制御プログラムも・・・(中略)・・・メインルーチンや割込ルーチン等の実行単位がタスクと呼ばれ,OSにより管理されている。このタスクには実行の優先度を示すレベル(タスクレベル)が設定されており」との記載,
上記Eの「そして,このエンジン制御プログラムは実行単位毎に細分化されて記述されている。」,「以下では,上位プログラムの実行単位を上位タスクと記述し,下位プログラムの実行単位を下位タスクと記述する。」,「各タスクは,優先度に基づく割込処理によって上述したエンジン制御処理に係る制御データを算出し」との記載からすると,

上記「情報処理装置」は,「制御プログラム」が,実行単位毎となる複数の「タスク」に細分化され,タスク毎に優先度が設定された「上位タスク」,「下位タスク」単位で実行されるといえる。

してみれば,上記Aの「実行単位となる複数の処理プログラムを当該処理プログラム毎に設定される優先度に基づき実行することによって,一連の機能を実現する情報処理装置において,
前記優先度の相対的に低い下位プログラムと前記優先度の相対的に高い上位プログラムとの間で共通に使用されるグローバル変数を2つの領域に重複させて記憶させ,当該領域の一方を公開領域,他方を作業領域として設定しておき,
前記下位プログラムによる前記グローバル変数の参照途中で前記上位プログラムによって前記グローバル変数が更新される可能性のある第1のケースに対し,
前記上位プログラムでは,前記作業領域を使用して前記グローバル変数を更新する上位更新処理を実行するようにし,
一方,前記下位プログラムでは,前記公開領域を使用して前記グローバル変数を参照する下位参照処理・・・(中略)・・・を実行するようにしたことを特徴とする情報処理装置。」との記載からすると,

「複数の処理プログラム」は「制御プログラム」を細分化したものであり,各「処理プログラム」である「上位プログラム」及び「下位プログラム」は「上位タスク」及び「下位タスク」として実行されるものであるから,

引用文献には,
「制御プログラムは,実行単位となる複数のタスクを当該タスク毎に設定される優先度に基づき実行することによって,一連の機能を実現する情報処理装置において,
前記優先度の相対的に低い下位タスクと前記優先度の相対的に高い上位タスクとの間で共通に使用されるグローバル変数を2つの領域に重複させて記憶させ,当該領域の一方を公開領域,他方を作業領域として設定しておき,
前記下位タスクによる前記グローバル変数の参照途中で前記下位タスクによって前記グローバル変数が更新される可能性のある第1のケースに対し,
前記上位タスクでは,前記作業領域を使用して前記グローバル変数を更新する上位更新処理を実行するようにし,
一方,前記下位タスクでは,前記公開領域を使用して前記グローバル変数を参照する下位参照処理を実行するようにしたことを特徴とする情報処理装置。」が記載されているといえる。

イ 上記Cの「割り込みルーチンは,例えばイベントの発生等をトリガとしてメインルーチンの実行中に優先して実行される。優先して実行されるとは,割込ルーチンの実行により一時的にメインルーチンの実行が中断され,割込ルーチン終了後に,再びその中断位置からメインルーチンが実行されることをいう。」,「相対的にレベルの高いタスクである上位タスクは,相対的にレベルの低いタスクである下位タスクに優先する(割り込む)。上述した例で言えば,メインルーチンによる処理が下位タスクに相当し,割込ルーチンによる処理が上位タスクに相当する。」との記載からすると,

引用文献には,上記「情報処理装置」において,「優先度の高い上位タスクにより相対的に優先度の低い下位タスクの実行が中断され,上位タスク終了後に,再びその中断位置から下位タスクが実行」されることが記載されているといえる。

ウ 以上,ア乃至イを踏まえると,引用文献には,次の発明(以下,「引用発明」という。)が記載されているものと認める。

「制御プログラムは,実行単位となる複数のタスクを当該タスク毎に設定される優先度に基づき実行することによって,一連の機能を実現する情報処理装置において,
優先度の高い上位タスクにより相対的に優先度の低い下位タスクの実行が中断され,上位タスク終了後に,再びその中断位置から下位タスクが実行され,
前記優先度の相対的に低い下位タスクと前記優先度の相対的に高い上位タスクとの間で共通に使用されるグローバル変数を2つの領域に重複させて記憶させ,当該領域の一方を公開領域,他方を作業領域として設定しておき,
前記下位タスクによる前記グローバル変数の参照途中で前記上位タスクによって前記グローバル変数が更新される可能性のある第1のケースに対し,
前記上位タスクでは,前記作業領域を使用して前記グローバル変数を更新する上位更新処理を実行するようにし,
一方,前記下位タスクでは,前記公開領域を使用して前記グローバル変数を参照する下位参照処理を実行するようにしたことを特徴とする情報処理装置。」

(2)参考文献

ア 本願出願前に頒布され又は電気通信回線を通じて公衆に利用可能とされ,原審の平成25年7月22日付け拒絶理由通知で引用文献2として引用された特開2002-189704号公報(以下,「参考文献1」という。)には,関連する図面とともに,以下の技術的事項が記載されている。
(当審注:下線は,参考のために当審で付与したものである。)

F 「【0008】
【発明の実施の形態】以下,本発明の実施例を図に基づいて説明する。図1は本発明のブロック図である。同図において,3はCPU1,2間に接続される共有メモリである。共有メモリ3は4-1?4-nのブロックに分割されており,各部ブロックはmバイトの容量を持つメモリセルL5とメモリセルR6により構成される。メモリセルL5はCPU2より,ランダムにアクセスが可能であり,CPU1もしくはCPU2からの転送指令によりメモリセルL5からメモリセルR6へ,もしくはメモリセルR6からメモリセルL5へデータが転送される。転送制御回路7はCPU1もしくは2からの転送指令を解読し,メモリセル間のデータ伝送に必要な制御信号を発生させる。図1において,8,9は共有メモリ3とCPU1,2間のデータの処理速度の相違を緩衝するためのバッファである。
【0009】図2に本発明のCPU1とCPU2処理の概要を示す。図2において,CPU1はデータAの生成と共有メモリ3のメモリセルL5への書き込みを行い(S1),その書き込み完了後,転送指令を発行し(S2),メモリセルL5からメモリセルR6にデータを転送する。CPU2は転送完了を確認後,共有メモリ3のメモリセルR6のデータを使用し,データAの処理(S11)を行う。その間,CPU1は次の,データBの生成と共有メモリ3への書き込みを行い(S3),その書き込み完了後,転送指令を発行し(S4),メモリセルL5からメモリセルR6にデータを転送する。CPU2は転送完了を確認後,共有メモリ3のメモリセルR6のデータを使用し,データBの処理(S12)を行う。CPU2がデータの処理を行っている間,CPU1はさらに,データCの生成と共有メモリ3への書き込みを行う。」

イ 本願出願前に頒布され又は電気通信回線を通じて公衆に利用可能とされ,原審の拒絶査定で引用文献Aとして引用された特開平6-149751号公報(以下,「参考文献2」という。)には,関連する図面とともに,以下の技術的事項が記載されている。
(当審注:下線は,参考のために当審で付与したものである。)

G 「【0032】本実施例のコンパイル処理の中で従来のそれと異なるところは次の3点である。
【0033】(1)並列実行複文のコード解析により,並列化のためのライブラリ手続き呼び出しを伴うコード生成を行なう点。
【0034】(2)共有変数書き換えに際して,局所メモリに配置された共有変数の実体(または複写)を書き換えると共に,遠隔メモリ操作を発生し,自分に対し接続されたプロセッサエレメント2上の,共有変数の複写(または実体)を書き換えるライブラリ手続きを呼び出すコード生成を行なう点。
【0035】(3)共有変数参照に関して,局所メモリに複写された共有変数の値を参照するコード生成を行なう点。


H 「【0112】6.第2の実施例の説明
第1の実施例は,共有変数に対する書き換え要求の時間間隔の測定を目的としΔT測定回路8を使用した。しかし,本発明実施の上で,これは必要不可欠の構成要素ではない。次に第2の実施例として,ΔT測定回路8を用いない構成を説明する。この実施例の処理手順の方針は「参照要求発生以前に,1回以上の書き換え要求が有った場合は,書き換え要求頻度が高いと判断する。」と言うものである。もちろん,ここで「1回以上」と書かずN回以上としても同じである。しかし,実際にある変数の値は,それが参照される時点で初めて意味を持つものであるから,ある共有変数が書き換えられようとした場合,それが1回めの書き換えであっても,書き換えための遠隔メモリ操作は,参照時点まで遅延して行なうのが妥当である。
【0113】第2の実施例は,図1に示した第1の実施例の構成において,ΔT測定回路8を除いて全く同一の構成で実現される。処理のためのコンパイラ動作の点でも,第1の実施例と等しい。第2の実施例の第1の実施例に対する唯一の差は,共有変数参照時のライブラリ_S_READの動作だけである。図17を用い,この点を説明する。
【0114】各プロセッサエレメント2のMPU4は,ユーザプログラム実行状態では,オブジェクトコードを実行する定常的な処理171を続けている。ここに共有変数書き換えを指示する制御トークンが,通信装置6を介し入力されると,割り込み回路7が,MPU4に対し割り込み信号を入力する。割り込み処理に入ったMPU4は,データ受信のための例外処理172の処理状態に入り,常に遅延応答モードとなる。従って,応答パケットである「ACK応答」は要求元のプロセッサエレメントへは返送されず,MPU4は直ちに通常のオブジェクトコード実行状態171を継続する。
【0115】オブジェクトコード実行状態171において,ライブラリ手続き_S_READの実行が行なわれると,システムプログラムは遅延応答フラグ9の内容に従い処理分岐を行ない,遅延モードであれば,共有変数のコピーを変更する処理状態174に入る。ここではMPU4は次の動作を行なう。
【0116】手順1:書き換え要求の有ったプロセッサエレメント2へACK応答を返す。
【0117】手順2:共有変数書き換えのためのデータを受信する。
【0118】手順3:上記データによって共有変数の複写を更新する。
【0119】手順4:状態175へ遷移。
【0120】処理状態175では,実際の共有変数(の複写)が参照された後,遅延応答フラグ9の内容が論理「偽」に書き換えられることによって通常処理モード173が設定され,オブジェクトコードの実行状態171に戻る。
【0121】一方,ライブラリ手続き_S_READの呼び出しが,次の共有変数書き換え以前に呼び出された場合,処理モードが遅延応答モードではないことから,処理状態175への遷移が起こり,共有変数の複写の値が参照され,通信は発生しない。
【0122】以上の説明から明らかな様に,第2の実施例でも,遠隔メモリ操作に伴う「通信」は,共有変数に書き換えが有って,かつ書き換え後に更に参照する必要が有る場合だけ発生する。共有変数に書き換えが無い限り各プロセッサエレメント2の局所メモリが参照されるため通信は発生せず,また書き換えが有っても,次に参照が行なわれる時点まで通信の発生は遅延される。言うまでも無く,この間に共有変数の書き換えは複数回発生しているかもしれないが,その都度通信が行なわれる事は無い。
・・・(後略)・・・」

ウ 本願出願前に頒布され又は電気通信回線を通じて公衆に利用可能とされ,原審の前置報告で引用文献6として引用された特開2003-203062号公報(以下,「参考文献3」という。)には,関連する図面とともに,以下の技術的事項が記載されている。
(当審注:下線は,参考のために当審で付与したものである。)

I 「【0025】リアルタイム処理用共有メモリ制御システム 10 は,単一の書込み側共有メモリ制御モジュール 120,読出し側共有メモリ制御モジュール 150 および通信網 110 から構成される。
【0026】書込み側共有メモリ制御モジュール 120 は,リアルタイムデータが書き込まれる共有メモリ 121,共有メモリ制御手段 122,および書込み側通信網インタフェース 123 から構成される。共有メモリ制御手段 122 は,共有メモリ 121 内の単調増加変数の値を調整することで,共有されるリアルタイムデータの排他制御とバージョン管理を行う。
【0027】読出し側共有メモリ制御モジュール 150 は,3つのメモリ領域を有する共有データ複写メモリ 151,2つのメモリ領域切替え手段 152, 153,共有データ複写メモリ参照制御手段 154,共有データ複写メモリ更新制御手段 155 および読出し側通信網インタフェース 156 から構成される。
【0028】共有データ複写メモリ更新制御手段 155 は,通信網 110 経由で読出した単調増加変数の値に基づいて,読出し側通信網インタフェース 156 が書き換えるメモリ領域の割当てとデータ転送の開始を行う。共有データ複写メモリ参照制御手段154 は,データ読出し処理モジュール50が参照するメモリ領域の割当てを行う。」

J 「【0039】読出し側共有メモリ制御モジュール 150 の読出し側通信網インタフェース 156は,書込み側通信網インタフェース 123 と連携して,通信網 110 経由のデータ転送を行うことにより,共有メモリ 121 の内容の全部あるいは一部を受取り,共有データ複写メモリ 151 の更新領域の内容を変更する。」

エ 本願出願前に頒布され又は電気通信回線を通じて公衆に利用可能とされ,原審の平成25年7月22日付け拒絶理由通知で引用文献3として引用された特開2002-157131号公報(以下,「参考文献4」という。)には,関連する図面とともに,以下の技術的事項が記載されている。
(当審注:下線は,参考のために当審で付与したものである。)

K 「【0005】例えば,下位タスクにて2つのグローバル変数a,bを参照し,上位タスクにて同一のグローバル変数a,bを更新する場合を考える。このとき,下位タスクにて変数aが参照された後,変数bが参照される前に上位タスクが割り込むと,グローバル変数a,bが共に更新されてしまい,その後,下位タスクで参照されるグローバル変数bは上位タスクによる更新後のものになってしまう。つまり,一方のグローバル変数aについては時間的に古いものが参照され,他方のグローバル変数bについては時間的に新しいものが参照されるのである。このような状態は,グローバル変数の同時性(一貫性,無矛盾性などと呼ばれることもある)が失われた状態と表現され・・・(中略)・・・
【0008】従来,このような不具合を回避するため,下位タスクのプログラム中には,必要に応じて割込禁止/許可命令を記述していた。割込禁止命令は,上位タスクの割り込みを禁止するものであり,割込許可命令は上位タスクの割り込みを許可するものである。つまり,割込禁止命令と割込許可命令で挟まれた処理ステップの途中では,上位タスクは割り込めない。したがって,同時性を必要とするグローバル変数に係る処理の前後にそれぞれ割込禁止命令,割込許可命令を記述しておけば,上位タスクによる変数操作がなされないため,グローバル変数の同時性が確保できる。また,リードモディファイライトが生じる可能性があるグローバル変数に係る処理の前後にそれぞれ割込禁止命令,割込許可命令を記述しておけば,グローバル変数のリードモディファイライトを防止することができる。」

(3)対比

ア 引用発明の「情報処理装置」は,本願発明の「情報処理装置」に対応するといえる。

イ 引用発明の「制御プログラム」,「上位タスク」,「下位タスク」,「優先度」,「グローバル変数」,「公開領域」,「作業領域」,「第1のケース」,「上位更新処理」,「下位参照処理」は,
それぞれ本願発明の「処理プログラム」,「上位タスク」,「下位タスク」,「優先度」,「グローバル変数」「公開領域」,「作業領域」,「第1のケース」,「上位更新処理」,「下位参照処理」に相当する。

ウ 引用発明の「制御プログラムは,実行単位となる複数のタスクを当該タスク毎に設定される優先度に基づき実行することによって,一連の機能を実現する情報処理装置において,
優先度の高い上位タスクにより相対的に優先度の低い下位タスクの実行が中断され,上位タスク終了後に,再びその中断位置から下位タスクが実行」されることは,
上記「情報処理装置」が,「優先度の高い上位タスクにより相対的に優先度の低い下位タスクの実行が中断され,上位タスク終了後に,再びその中断位置から下位タスクが実行」される装置であるといえることから,

本願発明の「処理プログラムの実行単位となる複数のタスクを当該複数のタスク毎に設定される優先度に基づき,前記優先度が相対的に高い上位タスクの実行により前記優先度が相対的に低い下位タスクの実行が一時的に中断され,前記上位タスクの終了時に前記下位タスクが中断位置から再開されるよう実行することによって一連の機能を実現する情報処理装置」に相当する。

エ 引用発明の「前記優先度の相対的に低い下位タスクと前記優先度の相対的に高い上位タスクとの間で共通に使用されるグローバル変数を2つの領域に重複させて記憶させ,当該領域の一方を公開領域,他方を作業領域として設定」することと,
本願発明の「前記上位タスクと前記下位タスクとの間で共通に使用されるグローバル変数を記憶する2つの記憶領域を設定」することは,
“上位タスクと下位タスクとの間で共通に使用されるグローバル変数を記憶する2つの記憶領域を設定”する点で共通しているといえる。

オ 引用発明の「前記下位タスクによる前記グローバル変数の参照途中で前記上位タスクによって前記グローバル変数が更新される可能性のある第1のケースに対し,」は
本願発明の「前記下位タスクによる前記グローバル変数の参照途中で前記上位タスクによって前記グローバル変数が更新される可能性のある第1のケースにおいて,」に相当する。

カ 上記エで検討した引用発明の「前記優先度の相対的に低い下位タスクと前記優先度の相対的に高い上位タスクとの間で共通に使用されるグローバル変数を2つの領域に重複させて記憶させ,当該領域の一方を公開領域,他方を作業領域として設定」することからすると,
グローバル変数を記憶させる2つの領域の一方を公開領域,他方を作業領域として設定しておくものであるから,

引用発明の「前記上位タスクでは,前記作業領域を使用して前記グローバル変数を更新する上位更新処理を実行するようにし,」は,
本願発明の「前記上位タスクは,前記2つの記憶領域の一方である作業領域を使用して前記グローバル変数を更新する上位更新処理を実行し,」に相当する。

キ 同様に,引用発明の「一方,前記下位タスクでは,前記公開領域を使用して前記グローバル変数を参照する下位参照処理を実行」することは,
本願発明の「前記下位タスクは,前記2つの記憶領域の他方である公開領域を使用して前記グローバル変数を参照する下位参照処理を実行」することに相当する。

以上から,本願発明と引用発明とは,以下の点で一致し,また,以下の点で相違する。

(一致点)
「処理プログラムの実行単位となる複数のタスクを当該複数のタスク毎に設定される優先度に基づき,前記優先度が相対的に高い上位タスクの実行により前記優先度が相対的に低い下位タスクの実行が一時的に中断され,前記上位タスクの終了時に前記下位タスクが中断位置から再開されるよう実行することによって一連の機能を実現する情報処理装置であって,
前記上位タスクと前記下位タスクとの間で共通に使用されるグローバル変数を記憶する2つの記憶領域を設定し,
前記下位タスクによる前記グローバル変数の参照途中で前記上位タスクによって前記グローバル変数が更新される可能性のある第1のケースにおいて,
前記上位タスクは,前記2つの記憶領域の一方である作業領域を使用して前記グローバル変数を更新する上位更新処理を実行し,
前記下位タスクは,前記2つの記憶領域の他方である公開領域を使用して前記グローバル変数を参照する下位参照処理を実行することを特徴とする情報処理装置。」

(相違点1)
本願発明では,「前記下位タスクは,前記下位タスク中の前記下位参照処理を開始する前に,前記作業領域から前記公開領域へ前記グローバル変数を複製する複製処理を実行」する処理について特定されているのに対して,
引用発明では,そのような処理について格別言及されていない点。

(相違点2)
本願発明では,「前記下位タスクは,前記上位更新処理が前記複製処理の実行中に実行されることを禁止する割り込み禁止処理であって,前記下位タスクに含まれる複数の前記下位参照処理で参照される複数の前記グローバル変数について共通の割り込み禁止処理を実行」する処理について特定されているのに対して,
引用発明では,そのような処理について格別言及されていない点。

(4)判断

ア 相違点1について

引用発明の「下位タスク」は,上記Aの「当該下位参照処理による前記グローバル変数の参照を完了すると,前記作業領域を新たに公開領域として設定しなおすと共に前記公開領域を新たに作業領域として設定しなおす領域切換処理」との記載からすると,
作業領域と公開領域を切り換える処理が記載されるものの,
本願発明のように,作業領域と公開領域間の複製処理は,引用文献には何ら示唆されていない。

参考文献1,3について検討する。
参考文献1の上記Fには,共有メモリ3の書き込み用のメモリセルL5と参照用のメモリセルR6間のデータ転送処理が記載されるものの,個別のタスクが動作主体となる点は記載も示唆もされていない。
参考文献3の上記I,Jには,書き込み用の共有メモリ121と,参照用の共有データ複写メモリ151間のデータ転送処理が記載されるものの,個別のタスクと無関係な「共有データ複写メモリ更新制御手段」が動作主体となっている。
一方,本願発明の「複製処理」の動作主体は「下位タスク」自身である。
また,参考文献1,3は,「共有メモリ」や「共有メモリ制御方式」に係る発明であり,メモリ制御部ではなく,「下位タスク」側に,共有メモリ制御機能を備えさせる構成は想定されていない。

参考文献2について検討する。
参考文献2の上記G,Hには,複数のプロセッサエレメントの局所メモリ間で,一方のプロセッサの参照処理時に,割り込みでメモリ間で共有変数の値を自己の局所メモリに複写してから参照を実行するコードが記載されているものの,上記G,Hに記載の構成は,対等なマルチプロセッサを前提としており,「上位タスク」により中断される「下位タスク」が,複写機能を備えるようにすることは記載も示唆もされていない。

さらに,参考文献2の上記Hの「オブジェクトコード実行状態171において,ライブラリ手続き_S_READの実行が行なわれると・・・(中略)・・・共有変数のコピーを変更する処理状態174に入る。」,「手順2:共有変数書き換えのためのデータを受信する。」,「一方,ライブラリ手続き_S_READの呼び出しが,次の共有変数書き換え以前に呼び出された場合」,『遠隔メモリ操作に伴う「通信」は,共有変数に書き換えが有って,かつ書き換え後に更に参照する必要が有る場合だけ発生する。』との記載からすると,「ライブラリ手続き_S_READ」は参照処理であるから,
参考文献2の複写処理は,本願発明の如く「参照処理を開始する前」に限定されるものではなく,参照処理の後にも発生しうるものである。
このような参考文献2の複写処理は,同一の共有変数に対する2つの参照処理の間で,更新処理が発生する場合,2回目の参照処理の結果が変わってしまう処理方式である。
一方,引用発明は,上記Dに記載されるように,1回目の変数の参照後に上位タスクでその変数が更新されると,2回目に読み出された変数は,1回目に読み出された変数と異なるものとなってしまい,同時性が失われる課題に対して,上位プログラムと下位プログラムとの間で共通に使用されるグローバル変数の参照時の同時性を確保することを目的とするものであるから,
参考文献2の複写処理の構成は,引用文献1の複製処理の課題の解決を阻害するものである。

そうすると,引用発明の「下位タスク」に対して,本願発明のように「下位タスク」自身が,「下位タスク中の前記下位参照処理を開始する前に,前記作業領域から前記公開領域へ前記グローバル変数を複製する」機能を,追加しようとすることの動機付けを見いだすことはできないから,これを当業者が,容易に想到したものとはいえない。

イ 相違点2について

複数の共有データを処理する際,データの同時性・一貫性等を確保するため,処理を割り込み禁止・許可で制御する技術は,例えば,参考文献4(上記K参照)に記載されているように,本願の出願前には,マルチタスク技術分野において適宜に採用されていた周知技術であった。

してみると,引用発明の「情報処理装置」が,同時性を必要とする複数のグローバル変数について共通の割り込み禁止処理を実行するように構成すること,すなわち,上記相違点2に係る構成とすることは,当業者が容易に想到し得たことである。

(5)小括
したがって,上記相違点1から,本願発明は,当業者が上記引用発明及び当該技術分野の周知技術に基づいて容易に発明をすることができたとはいえない。

本願の請求項3に係る発明は,「前記下位タスクによる前記グローバル変数の更新途中で前記上位タスクによって前記グローバル変数が参照される可能性のある第2のケース」に関するものであり,「上位更新処理」,「下位参照処理」を「上位参照処理」,「下位更新処理」に置き換えたものであるものの,
引用文献1の上記Bには,同様に,「第2のケース」について「上位更新処理」,「下位参照処理」を「上位参照処理」,「下位更新処理」に置き換えた構成が記載されており,相違点及び判断も上記の検討と同様である。

本願の請求項2,4に係る発明は,それぞれ本願の請求項1,3に係る発明をさらに限定したものであるので,同様に,当業者が上記引用発明及び周知技術に基づいて容易に発明をすることができたとはいえない。

よって,原査定の理由によっては,本願を拒絶することはできない。

第4 当審拒絶理由について

1 当審拒絶理由の概要

『1.(明確性要件)この出願は,特許請求の範囲の記載が下記の点で,特許法第36条第6項第2号に規定する要件を満たしていない。

2.(サポート要件)この出願は,特許請求の範囲の記載が下記の点で,特許法第36条第6項第1号に規定する要件を満たしていない。



●理由1について
(1)請求項 3-4
本願の請求項3には「前記上位更新処理」との記載があるが,この記載よりも前に「上位更新処理」の記載が無く,「前記」が何を指し示しているのかが不明確である。
また,請求項3を引用する請求項4にも同様の点が指摘される。
よって,請求項3,4に係る発明は明確でない。

(2)請求項 3-4
本願の請求項3には「前記下位参照処理」との記載があるが,この記載よりも前に「下位参照処理」の記載が無く,「前記」が何を指し示しているのかが不明確である。
また,請求項3を引用する請求項4にも同様の点が指摘される。
よって,請求項3,4に係る発明は明確でない。

●理由2について

・請求項 3-4
平成26年6月26日付け手続補正による補正後の請求項3は,
「前記下位タスクは,前記2つの記憶領域の一方である作業領域を使用して前記グローバル変数を更新する下位更新処理を実行し,
「前記上位タスクは,前記2つの記憶領域の他方である公開領域を使用して前記グローバル変数を参照する上位参照処理を実行し,
・・・(中略)・・・
前記下位タスクは,前記上位更新処理が前記複製処理の実行中に実行されることを禁止する割り込み禁止処理であって,前記下位タスクに含まれる複数の前記下位参照処理で参照される複数の前記グローバル変数について共通の割り込み禁止処理を実行することを特徴とする情報処理装置」に関するものである。

一方,平成26年6月26日付け手続補正による補正後の明細書には,
『最初に説明する第1?第4実施形態は,「下位タスクによるグローバル変数の参照途中で上位タスクによってグローバル変数が更新される可能性がある」場合の処理に係る実施形態である。このケースを「第1のケース」という。・・・(後略)・・・』(段落[0041]),及び,
『(第5実施形態)
次に説明する第5?第8実施形態は,「下位タスクによるグローバル変数の更新途中で上位タスクによってグローバル変数が参照される可能性がある」場合の処理に係る実施形態である。このケースを「第2のケース」という。・・・(後略)・・・』(段落[0061])が記載されるものの,

「下位タスク」が,下位更新処理を実行し(前記第2のケースに対応),かつ,前記上位更新処理(前記第1のケースに対応)が前記複製処理の実行中に実行されることを禁止する割り込み禁止処理であって,前記下位タスクに含まれる複数の前記下位参照処理(前記第1のケースに対応)で参照される複数の前記グローバル変数について共通の割り込み禁止処理を実行する構成は記載も示唆もされていない。

よって,請求項3に係る発明は,発明の詳細な説明に記載したものでない。
請求項3を引用する請求項4も同様である。』

2 当審拒絶理由の判断

平成27年6月23日付け手続補正書によって,本願の請求項3は
「処理プログラムの実行単位となる複数のタスクを当該複数のタスク毎に設定される優先度に基づき,前記優先度が相対的に高い上位タスクの実行により前記優先度が相対的に低い下位タスクの実行が一時的に中断され,前記上位タスクの終了時に前記下位タスクが中断位置から再開されるよう実行することによって一連の機能を実現する情報処理装置であって,
前記上位タスクと前記下位タスクとの間で共通に使用されるグローバル変数を記憶する2つの記憶領域を設定し,
前記下位タスクによる前記グローバル変数の更新途中で前記上位タスクによって前記グローバル変数が参照される可能性のある第2のケースにおいて,
前記下位タスクは,前記2つの記憶領域の一方である作業領域を使用して前記グローバル変数を更新する下位更新処理を実行し,
前記上位タスクは,前記2つの記憶領域の他方である公開領域を使用して前記グローバル変数を参照する上位参照処理を実行し,
前記下位タスクは,前記下位タスク中の前記下位更新処理を開始する前に,前記作業領域から前記公開領域へ前記グローバル変数を複製する複製処理を実行し,
前記下位タスクは,前記上位参照処理が前記複製処理の実行中に実行されることを禁止する割り込み禁止処理であって,前記下位タスクに含まれる複数の前記下位更新処理で更新される複数の前記グローバル変数について共通の割り込み禁止処理を実行することを特徴とする情報処理装置。」
と補正された。
特に,請求項3において,「前記上位更新処理」が「前記上位参照処理」に,「前記下位参照処理」が「前記下位更新処理」に,それぞれ補正された。このことにより,請求項3に係る発明は,明確となり,かつ,発明の詳細な説明に記載されたものとなった。
よって,当審拒絶理由1,2は解消した。

第5 むすび
以上のとおり,原査定の理由によっては,本願を拒絶することはできない。
また,他に本願を拒絶すべき理由を発見しない。
よって,結論のとおり審決する。
 
審決日 2015-08-06 
出願番号 特願2010-254749(P2010-254749)
審決分類 P 1 8・ 537- WY (G06F)
P 1 8・ 121- WY (G06F)
最終処分 成立  
前審関与審査官 井上 宏一  
特許庁審判長 高木 進
特許庁審判官 戸島 弘詩
須田 勝巳
発明の名称 情報処理装置  
代理人 大庭 弘貴  
代理人 中村 広希  
代理人 碓氷 裕彦  

プライバシーポリシー   セキュリティーポリシー   運営会社概要   サービスに関しての問い合わせ