• ポートフォリオ機能


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

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 査定不服 2項進歩性 取り消して特許、登録 G06F
管理番号 1342355
審判番号 不服2017-13603  
総通号数 225 
発行国 日本国特許庁(JP) 
公報種別 特許審決公報 
発行日 2018-09-28 
種別 拒絶査定不服の審決 
審判請求日 2017-09-12 
確定日 2018-07-31 
事件の表示 特願2013-502184「データ制御システム、データ制御方法およびデータ制御用プログラム」拒絶査定不服審判事件〔平成24年 9月 7日国際公開、WO2012/117701、請求項の数(9)〕について、次のとおり審決する。 
結論 原査定を取り消す。 本願の発明は、特許すべきものとする。 
理由 第1 手続の経緯

本願は,2012年2月23日(優先権主張平成23年3月2日(以下,「優先日」という。))を国際出願日とする出願であって,その手続の経緯は以下のとおりである。
平成28年 3月25日付け:拒絶理由通知書
同年 5月27日 :意見書,手続補正書の提出
同年10月28日付け:拒絶理由(最後の拒絶理由)通知書
平成29年 1月 6日 :意見書,手続補正書の提出
同年 6月 7日付け:平成29年1月6日の手続補正についての
補正の却下の決定,拒絶査定
同年 9月12日 :審判請求書,手続補正書の提出
同年10月27日付け:前置報告


第2 原査定の概要

原査定(平成29年6月7日付け拒絶査定)の概要は次のとおりである。
1.(進歩性)この出願の下記の請求項に係る発明は、その出願前に日本国内又は外国において、頒布された下記の刊行物に記載された発明又は電気通信回線を通じて公衆に利用可能となった発明に基いて、その出願前にその発明の属する技術の分野における通常の知識を有する者が容易に発明をすることができたものであるから、特許法第29条第2項の規定により特許を受けることができない。

記 (引用文献等については引用文献等一覧参照)

●理由1(進歩性)について
・独立項 1,9,10 従属項 2,3,8
・引用文献等 1あるいは2、及びc?e

・従属項 4?7
・引用文献等 1?3、及びc?e

<引用文献等一覧>
1.国際公開第2003/069492号
2.特開平10-333924号公報
3.特開2001-159956号公報
c.特開2010-211349号公報
d.特開2009-123091号公報
e.特開2002-262099号公報


第3 審判請求時の補正について

審判請求時の補正は,特許法17条の2第3項から第6項までの要件に違反しているものとはいえない。
審判請求時の補正によって請求項1に「前記メインメモリは、転送データを記憶する複数のバッファを含み」及び「前記バッファごとに第一デバイス制御手段に対する読み取り指示を並列に行い、前記バッファごとに第二デバイス制御手段に対する書き込み指示を並列に行い」という事項を追加する補正,並びに同請求項8及び9に同様な事項を追加する補正は,特許請求の範囲の減縮を目的とするものであり,また,当該事項は,審判請求時の補正前の特許請求の範囲の請求項7に記載されているから,当該補正は新規事項を追加するものではないといえる。
そして,「第4 本願発明」から「第6 対比・判断」までに示すように,補正後の請求項1乃至9に係る発明は,独立特許要件を満たすものである。


第4 本願発明

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

「 【請求項1】
第一のデバイスから第二のデバイスへのデータ転送制御をカーネルモードで行うCPUと、
前記第一のデバイスから第二のデバイスへ転送されるデータを記憶するメインメモリとを備え、
前記メインメモリは、転送データを記憶する複数のバッファを含み、
前記CPUは、
前記第一のデバイスを制御する第一デバイス制御手段と、
前記第二のデバイスを制御する第二デバイス制御手段と、
前記第一のデバイスから読み取ったデータを前記メインメモリに記憶させる指示である読み取り指示を前記第一デバイス制御手段に対して行い、前記メインメモリに記憶されたデータを前記第二のデバイスに書き込む指示である書き込み指示を前記第二デバイス制御手段に対して行うデータ転送制御手段とを含み、
前記データ転送制御手段は、前記メインメモリにDMAリストを作成し、前記バッファごとに第一デバイス制御手段に対する読み取り指示を並列に行い、前記バッファごとに第二デバイス制御手段に対する書き込み指示を並列に行い、
前記第一デバイス制御手段は、前記DMAリストを用いたDMAにより前記メインメモリにデータを書き込ませる制御を前記第一のデバイスに対して行い、
前記第二デバイス制御手段は、前記DMAリストを用いたDMAにより前記第一のデバイスによって書き込まれたデータを読ませる制御を前記第二のデバイスに対して行う
ことを特徴とするデータ制御システム。
【請求項2】
データ転送制御手段は、第二のデバイスに書き込む指示を行う前に、メインメモリに記憶されたデータに対して予め定められた処理を行う
請求項1記載のデータ制御システム。
【請求項3】
データ転送制御手段は、第一のデバイスから第二のデバイスへのデータ転送要求が行われたときに、要求されたデータ量の転送が完了するまで、第一デバイス制御手段に対する読み取り指示および第二のデバイスに対する書き込み指示を繰り返す
請求項1または請求項2記載のデータ制御システム。
【請求項4】
メインメモリに、転送されるデータを記憶する領域を確保する領域確保手段と、
前記領域を解放する領域解放手段とを備えた
請求項1から請求項3のうちのいずれか1項に記載のデータ制御システム。
【請求項5】
メインメモリは、
読み取り指示を示す読み取り指示コマンドおよび書き込み指示を示す書き込み指示コマンドを記憶する指示コマンド記憶手段と、
メインメモリ内における転送データの記憶先を示すリストである記憶先リストを記憶する記憶先リスト記憶手段とを含み、
データ転送制御手段は、前記読み取り指示コマンドおよび前記書き込み指示コマンドを作成して前記指示コマンド記憶手段に記憶させ、前記記憶先リストを作成して前記記憶先リスト記憶手段に記憶させ、
第一デバイス制御手段は、前記指示コマンド記憶手段に記憶された読み取り指示コマンドおよび記憶先リストに基づいて、第一のデバイスから読み取ったデータを当該記憶先リストが示す記憶先に記憶させ、
第二デバイス制御手段は、前記指示コマンド記憶手段に記憶された書き込み指示コマンドおよび記憶先リストに基づいて、当該記憶先リストが示す記憶先から読み取ったデータを第二のデバイスに書き込む
請求項1から請求項4のうちのいずれか1項に記載のデータ制御システム。
【請求項6】
第一のデバイスおよび第二のデバイスの管理情報が記憶された位置を示すアドレスである管理情報アドレスを、当該第一のデバイスおよび第二のデバイスの名前と対応付けて記憶する管理情報アドレス記憶手段を備え、
データ転送制御手段は、前記管理情報アドレスが示す位置に記憶された管理情報に基づいて、読み取り指示コマンドおよび書き込み指示コマンドを作成する
請求項5記載のデータ制御システム。
【請求項7】
CPUは、第一のストレージデバイスから第二のストレージデバイスへのデータコピー制御をカーネルモードで行い、
メインメモリは、前記第一のストレージデバイスから第二のストレージデバイスへコピーされるデータを記憶し、
第一デバイス制御手段は、前記第一のストレージデバイスを制御し、
第二デバイス制御手段は、前記第二のストレージデバイスを制御する
請求項1から請求項6のうちのいずれか1項に記載のデータ制御システム。
【請求項8】
第一のデバイスから第二のデバイスへのデータ転送制御をカーネルモードで行うCPUが、転送データを記憶する複数のバッファを含み、当該第一のデバイスから当該第二のデバイスへ転送されるデータを記憶するメインメモリにDMAリストを作成し、
前記CPUが、前記第一のデバイスから読み取ったデータをメインメモリにおける前記バッファごとに記憶させる指示を、自CPUに備えた当該第一のデバイスを制御する第一デバイス制御手段に対して並列に行い、
前記第一デバイス制御手段が、前記DMAリストを用いたDMAにより前記メインメモリにデータを書き込ませる制御を前記第一のデバイスに対して行い、
前記CPUが、前記メインメモリにおける前記バッファごとに記憶されたデータを前記第二のデバイスに書き込む指示を、自CPUに備えた当該第二のデバイスを制御する第二デバイス制御手段に対して並列に行い、
前記第二デバイス制御手段が、前記DMAリストを用いたDMAにより前記第一のデバイスによって書き込まれたデータを読ませる制御を前記第二のデバイスに対して行う
ことを特徴とするデータ制御方法。
【請求項9】
第一のデバイスから第二のデバイスへのデータ転送制御をカーネルモードで行うCPUおよび前記第一のデバイスから第二のデバイスへ転送されるデータを記憶するメインメモリを備えたコンピュータに適用されるデータ制御用プログラムであって、
前記コンピュータに、
前記第一のデバイスを制御する第一デバイス制御処理、
前記第二のデバイスを制御する第二デバイス制御処理、および、
前記第一のデバイスから読み取ったデータを前記メインメモリに記憶させる指示である読み取り指示を前記第一デバイス制御処理で実行させ、前記メインメモリに記憶されたデータを前記第二のデバイスに書き込む指示である書き込み指示を前記第二デバイス制御処理で実行させるデータ転送制御処理を実行させ、
前記メインメモリは、転送データを記憶する複数のバッファを含み、
前記コンピュータに、
前記データ転送制御処理で、前記メインメモリにDMAリストを作成させ、前記バッファごとに第一デバイス制御処理における読み取り指示を並列に行わせ、前記バッファごとに第二デバイス制御処理における書き込み指示を並列に行わせ、
前記第一デバイス制御処理で、前記DMAリストを用いたDMAにより前記メインメモリにデータを書き込ませる制御を前記第一のデバイスに対して行わせ、
前記第二デバイス制御処理で、前記DMAリストを用いたDMAにより前記第一のデバイスによって書き込まれたデータを読ませる制御を前記第二のデバイスに対して行わせる
ためのデータ制御用プログラム。」


第5 引用例

1 引用例1に記載された事項及び引用発明
原審における平成28年10月28日付けの最後の拒絶理由(以下,これを「原審拒絶理由」という。)において引用した,本願の優先日前に既に公知である,国際公開第2003/069492号(2003年8月21日公開。以下,これを「引用例1」という。)には,関連する図面と共に,次の事項が記載されている。(下線は当審で説明のために付加。以下同様。)

A 「〔従来のアーキテクチャ〕
ここで、図13にはOSの代表的なものとしてWindows NT/2000(登録商標)のアーキテクチャの概要を図示している。図13からわかるように、Windows NT/2000は、全体的に概略するとハードウェア2、OS3、実際のユーザが要求する機能を実現するアプリケーションプログラム4という階層構造に成っている。マイクロカーネル51はOS3の全体的な管理を行うためのプログラムであり、マイクロカーネル51の階層を中心にして、その層の上で動作する各種ソフトウェア(カーネルモードソフトウェア)がカーネルモード8を構成している(後述の説明を参照)。そして、一番上の階層にあるアプリケーションプログラム4がユーザモード9で動作している(後述の説明を参照)。」(3ページ16行乃至26行)

B 「デバイスドライバ5はOS3に属し、電子計算機の外部ハードウェアを管理するためのソフトウェアであり、カーネルモード8で動作する。通常、デバイスドライバ5一つに対して同じ属性を持つデバイスが一つだけ存在する。ユーザモード9で動作するアプリケーションプログラム4は、各デバイスにアクセスするためにデバイスドライバ5を経由しなければならない。」(5ページ11行乃至16行)

C 「このように、データは「デバイスA」→「デバイスドライバA」→(動作モードの切り替え)「アプリケーションプログラム4」(動作モードの切り替え)→「デバイスドライバB」→「デバイスB」と転送される。この間、システムの動作モードはカーネルモード8とユーザモード9とに繰り返し切り替わりながら動作している。大量のデータを取り扱うようになるとこの動作モードの切り替え処理の数が多くなる。」(7ページ15行乃至20行)

D 「(共通インターフェースドライバ)
図1は、本発明の電子計算機のインターフェースドライバプログラムの実施の形態を示す概念図であり、共通インターフェースドライバを用いたOSの概念図である。図2は、データを転送するときのデータ及び命令の流れを示すフローチャートである。
電子計算機1はCPU、メモリ、周辺機器などのハードウェア2から構成され、これらのハードウェア2を記憶装置に記憶されているOS3によって制御し動作させる。エンドユーザが使うアプリケーションプログラム4のOS3が提供する環境で動作する。OS3には、周辺機器を制御するデバイスドライバ5が含まれており、アプリケーションプログラム4からの命令に従って、デバイス6を制御し、デバイス6(A)からデータを受信したり、デバイス6(B)へデータを送信したりする。
この実施の形態では、各デバイスドライバ5の共通の窓口となり、アプリケーションプログラム4とのやり取りをまとめて共通インターフェースドライバ7が行っている。また、アプリケーションプログラム4からの命令によって、デバイス6間のデータの送受信も制御することができる。共通インターフェースドライバ7は、デバイスドライバ5(A)とデバイスドライバ5(B)間のインターフェースで、カーネルモード8で動作するものである。
更に詳細に説明すれば、デバイス6には、デバイスAとデバイスBがあり、それぞれをデバイスドライバAとデバイスドライバBにより制御される。デバイスAからデバイスBへデータを転送する場合のデータの流れを図2のフローチャートに示す。ユーザモード9で動作するアプリケーションプログラム4が、デバイスAからデバイスBへとデータを転送するとき(S1)、データ転送の要求(命令)を出す(S2)。このときは、システムの動作モードはユーザモード9である。
システムの動作モードはカーネルモード8に切り替わり、共通インターフェースドライバ7はアプリケーションプログラム4からのデータ転送の要求を受け取り(S3)、共通インターフェースドライバ7はこのデータ転送の要求を分析して(S4)、各処理部に指示を出す。デバイスドライバAに対してデータ送信の要求を出す(S5)。デバイスドライバBに対してデータ受信の要求を出す(S6)。
デバイスドライバAが共通インターフェースドライバ7からのデータ送信の要求を受け取り(S7)、デバイスAに送信する(S8)。デバイスAがデータ送信の要求を受け取り(S9)、データをデバイスドライバAへ送信する(S10)。デバイスドライバAがデータを受信し(S11)、内部処理して(S12)、共通インターフェースドライバ7に渡す(S13)。共通インターフェースドライバ7は、データを受信し、圧縮・暗号化等の処理をして(S14)から、結果をデバイスドライバBへ送信する(S15)。
デバイスドライバBは共通インターフェースドライバ7からデータを受信し(S16)、内部処理し(S17)、この内部処理した処理結果をデバイスBへ送信する(S18)。デバイスBはデータを受け取り(S19)、データ受取済の情報をデバイスドライバBへ送る(S20)。デバイスドライバBはそのデータ受取済の情報を受け取り(S21)、データ転送完了の情報を共通インターフェースドライバ7に送る(S22)。
共通インターフェースドライバ7はデータ転送完了の情報を受け取り(S23)、アプリケーションプログラム4へデータ転送完了の情報を通知して次の命令を待機する(S24)。ここで、システムの動作モードはカーネルモード8からユーザモード9に替わり、アプリケーションプログラム4がデータ転送完了の情報を受け取り(S25)、次の処理にかかる。
これで、データ伝送の一連の作業が終了する(S26)。このように、データは「デバイスA」→「デバイスドライバA」→「共通インターフェースドライバ7」→「デバイスドライバB」→「デバイスB」と転送され、この間、システムの動作モードはカーネルモード8で動作し、モードの切り替えを行う必要がなくなる。
また、データはユーザモード9のアプリケーションプログラム4を経由せずに直接カーネルモード8でデバイス6間に転送され、大量のデータを高速に転送できるようになる。また、アプリケーションプログラム4から直接に取り扱いできないカーネルモード8で転送されているためデータの保全性も高まる。」(19ページ3行乃至21ページ11行)

上記記載事項A乃至Dより,引用例1には,次の発明(以下「引用発明」という。)が記載されているといえる。

「従来のアーキテクチャで,OSに属するデバイスドライバは,電子計算機の外部ハードウェアを管理するためのソフトウェアであり,カーネルモードで動作し,データが「デバイスA」→「デバイスドライバA」→(動作モードの切り替え)「アプリケーションプログラム4」(動作モードの切り替え)→「デバイスドライバB」→「デバイスB」と転送され,この間,システムの動作モードがカーネルモードとユーザモードとに繰り返し切り替わりながら動作し,大量のデータを取り扱うようになるとこの動作モードの切り替え処理の数が多くなる課題に対し,
CPU,メモリ,周辺機器などのハードウェア2から構成される電子計算機であって,
これらのハードウェア2を記憶装置に記憶されているOS3によって制御し動作させ,エンドユーザが使うアプリケーションプログラム4はOS3が提供する環境で動作し,OS3には,周辺機器を制御するデバイスドライバ5が含まれており,アプリケーションプログラム4からの命令に従って,デバイス6を制御し,デバイス6(A)からデータを受信したり,デバイス6(B)へデータを送信したりし,
アプリケーションプログラム4からの命令によって,デバイス6間のデータの送受信も制御することができ,共通インターフェースドライバ7は,デバイスドライバAとデバイスドライバB間のインターフェースで,カーネルモード8で動作するものであり,
デバイス6には,デバイスAとデバイスBがあり,それぞれをデバイスドライバAとデバイスドライバBにより制御され,デバイスAからデバイスBへデータを転送する場合,ユーザモード9で動作するアプリケーションプログラム4が,データ転送の要求(命令)を出し,共通インターフェースドライバ7はアプリケーションプログラム4からのデータ転送の要求を受け取り,共通インターフェースドライバ7はこのデータ転送の要求を分析して,デバイスドライバAに対してデータ送信の要求を出し,デバイスドライバBに対してデータ受信の要求を出し,
デバイスドライバAが共通インターフェースドライバ7からのデータ送信の要求を受け取り,デバイスAに送信し,デバイスAがデータ送信の要求を受け取り,データをデバイスドライバAへ送信し,デバイスドライバAがデータを受信し,共通インターフェースドライバ7に渡し,共通インターフェースドライバ7は,データを受信し,結果をデバイスドライバBへ送信し,
デバイスドライバBは共通インターフェースドライバ7からデータを受信し,デバイスBへ送信し,デバイスBはデータを受け取り,データ受取済の情報をデバイスドライバBへ送り,デバイスドライバBはそのデータ受取済の情報を受け取り,データ転送完了の情報を共通インターフェースドライバ7に送り,
共通インターフェースドライバ7はデータ転送完了の情報を受け取り,アプリケーションプログラム4へデータ転送完了の情報を通知し,ここで,システムの動作モードはカーネルモード8からユーザモード9に替わり,アプリケーションプログラム4がデータ転送完了の情報を受け取り,次の処理にかかることにより,
データが「デバイスA」→「デバイスドライバA」→「共通インターフェースドライバ7」→「デバイスドライバB」→「デバイスB」と転送され,この間,システムの動作モードはカーネルモード8で動作し,モードの切り替えを行う必要がなくなり,データはユーザモード9のアプリケーションプログラム4を経由せずに直接カーネルモード8でデバイス6間に転送され,大量のデータを高速に転送できるようになる
電子計算機。」

2 引用例2に記載された事項
原審拒絶理由において引用した,本願の優先日前に既に公知である,特開平10-333924号公報(平成10年12月18日公開。以下,これを「引用例2」という。)には,関連する図面と共に,次の事項が記載されている。

E 「【0022】
【発明の実施の形態】本明細書で用いられている「ユーザ・モード(user mode) 」という用語は、ユーザが書いたプログラムの大部分が実行されるときの、オペレーティング・システムにおける動作レベルのことである。ユーザ・モードの動作レベルはセキュリティ・レベルが最も高く、あるアプリケーション・プログラムまたはプロセスが別のアプリケーション・プログラムまたはプロセスに干渉するのを防止するために大量のオーバヘッドが消費されるのが代表的である。さらに、システム・リソースへのアクセスは特定のインタフェースを通して厳格に制御され、実行優先度は最低ではないとしても、最低優先度の1つであるのが一般である。」

F 「【0032】まず、図1を参照して説明すると、図示のシステム例は、サウンド・データのストリームをディスク・ドライブから読み取り、そのサウンド・データをレンダリング(rendering) して、従来のモデルに従ってスピーカから聞こえるようにするものである。あるデータ量はハード・ドライブ20にストアされるが、これはディジタル化されたサウンド・サンプルの形態でサウンドを表している。ほかにも、サウンド・データ・ストリームのソースとしては、電話回線を利用して送られてくるディジタル化情報、ネットワークや他の通信パケットからのディジタル化情報、この分野で公知の他のソースが考えられる。データ・ストリームはディジタル化サンプルから構成され、これらのサンプルはデータ・フォーマットと規則によって、または各サンプルに付加される明示的タイムスタンプ情報によってタイム・インターバル情報が関連づけられている。カーネル・モードのディスク・ドライバ22はディスク・ドライブ・ハードウェア20と相互作用し、ユーザ・モードのリーダ(reader)プログラム・コンポーネント24の制御下に置かれている。制御エージェント(controlling agent) 26はサウンド・データのレンダリングを行うために異なるコンポーネントを管理するが、動的グラフ作成機能(dynamic graph building capability) を備えている場合は、異なるソフトウェア・コンポーネントが動的に割当てられて、エンド・ユーザの指定に従ってカスタム・フィルタリングまたは他の処理経路を提供できるようにする。」

G 「【0038】本発明を利用する図1のシステムのアーキテクチャは図2に示すようになっている。制御エージェント44は知らされているドライバに照会し、データ・フォーマットと接続フォーマットに従って相互接続を行い、レンダリングを完全にカーネル・モードで行うようにする。さらに、制御エージェントは重要なイベントの通知を受けるので、必要に応じて制御を行うことができる。このようなイベントの例としては、処理の終了、データ・スターベーション事態などを含む。
【0039】この構成では、サウンド・データは前述したように、ディスク・ドライバ48によってディスク・ドライブ46から読み取られる。リーダ・ドライバ50はディスク・ドライバ48を制御し、従来の使い方と同じようにNT層(NT layered)入出力アーキテクチャに従ってディスク・ドライバ48と「垂直方向」に関連づけられている。「垂直方向」と「水平方向」の用語は、NT層入出力アーキテクチャの一部として現在行われているドライバ接続(垂直方向)と、サード・パーティ制御エージェントによって動的に行われる相互接続カーネル・モード・ドライバに従う接続(水平方向)とを区別するために用いられている。
【0040】リーダ・ドライバ50は以下で説明する接続メソッドに従ってデコンプレッサ・ドライバ52とも「水平方向」に相互接続され、制御エージェント44によって管理されている。デコンプレッサ52は伸張をカーネル・モードで行ってから、データとコントロールを効果フィルタ54に引き渡す。効果フィルタは必要に応じて効果プロセッサ56を利用して特殊効果を適用してからデータとコントロールをサウンド・レンダリング・ドライバ58に引き渡し、このドライバはサウンド・カードを制御し、データをスピーカ62からのサウンドとしてレンダリングする。図2から理解されるように、処理をカーネル・モードのままにしておくと、ユーザ・モードとカーネル・モードとの間の複数の遷移がなくなり、処理をユーザ・モードで行うと通常起こるオーバヘッド量が減少するので、効率面の利点が得られる。」

上記記載事項E乃至Gより,引用例2には,次の発明(以下「引用発明2」という。)が記載されているといえる。

「ユーザ・モードの動作レベルはセキュリティ・レベルが最も高く,あるアプリケーション・プログラムまたはプロセスが別のアプリケーション・プログラムまたはプロセスに干渉するのを防止するために大量のオーバヘッドが消費され,実行優先度は最低ではないとしても,最低優先度の1つであるのが一般であり,
サウンド・データのストリームをディスク・ドライブから読み取り,そのサウンド・データをレンダリングして,従来のモデルに従ってスピーカから聞こえるようにするシステムであって,
カーネル・モードのディスク・ドライバ22はディスク・ドライブ・ハードウェア20と相互作用し,ユーザ・モードのリーダプログラム・コンポーネント24の制御下に置かれ,
制御エージェント44は知らされているドライバに照会し,データ・フォーマットと接続フォーマットに従って相互接続を行い,レンダリングを完全にカーネル・モードで行うようにし,
サウンド・データは,ディスク・ドライバ48によってディスク・ドライブ46から読み取られ,
リーダ・ドライバ50はディスク・ドライバ48を制御し,デコンプレッサ・ドライバ52と「水平方向」に相互接続され,制御エージェント44によって管理されていて,
デコンプレッサ52は伸張をカーネル・モードで行ってから,データとコントロールを効果フィルタ54に引き渡し,効果フィルタは必要に応じて効果プロセッサ56を利用して特殊効果を適用してからデータとコントロールをサウンド・レンダリング・ドライバ58に引き渡し,このドライバはサウンド・カードを制御し,データをスピーカ62からのサウンドとしてレンダリングすることにより,
処理をカーネル・モードのままにしておくと,ユーザ・モードとカーネル・モードとの間の複数の遷移がなくなり,処理をユーザ・モードで行うと通常起こるオーバヘッド量が減少するので,効率面の利点が得られる
システム。」

3 引用例c乃至eに記載された事項及び周知技術
原審拒絶理由において引用した,本願の優先日前に既に公知である,特開2010-211349号公報(平成22年9月24日公開。以下,これを「引用例c」という。)には,関連する図面と共に,次の事項が記載されている。

H 「【0006】
すなわち、ASICは、ネットワークへの送信においては、メインメモリ上に保管されている送信データをリードDMACによって、PCIeエンドポイント回路からアービタを経由してイーサネットI/Fにデータ転送して、イーサネットI/Fによりネットワーク上へデータを送信する。また、ネットワークからのデータの受信においては、イーサネットI/Fによりネットワークから受信したデータをライトDMACによって、アービタを経由してメインメモリへライトさせる。
【0007】
同様に、ASICは、USBとの間のデータの送受信においても、メインメモリからデータをリードして、USB I/Fに送り、USB I/FがデータをUSBに送信する。また、USB I/Fからのデータを、ライトDMACによってアービタを経由してメインメモリにライトする。」

同じく原審拒絶理由において引用した,本願の優先日前に既に公知である,特開2009-123091号公報(平成21年6月4日公開。以下,これを「引用例d」という。)には,関連する図面と共に,次の事項が記載されている。

I 「【解決手段】 ST1で、画像処理パラメータをメインメモリ上に記憶する。ST2でパラメータDMAC用、データリードDMAC用、及びデータライトDMAC用のディスクリプタをメインメモリ上に作成する。ST3で、ディスクリプタのアドレスをディスクリプタポインタレジスタに設定する。ST4で画像処理コントローラに起動をかける。ST5で次のページの有無を判断し、ある場合は、引き続きST1?ST4の動作を繰り返し、最後のページまで終了したら、処理を終了する。」(要約,【解決手段】の項)

J 「【0032】
パラメータDMAC2154は、メインメモリ2400上に予めロードされた画像処理パラメータ2402を読み出して、レジスタ制御部2152内のパラメータレジスタ(図示せず)に設定する。データリードDMAC2153は、メインメモリ2400から、画素順次のRGB画像データと分離データX(入力画像データ2401)を読み出して、画像処理モジュール群2151へ送出する。画像処理モジュール群2151は、入力画像データに各種画像処理を施すモジュールの集まりであり、γ変換モジュール、フィルタモジュール、色補正モジュール、階調処理モジュールなどから構成される。第1?第4のデータライトDMAC2155?2158は、画像処理モジュール群2151から送出された画像処理後のCMYK面順次の画像データそれぞれをメインメモリ2400へ出力する(出力画像データ2403?2406)。」

同じく原審拒絶理由において引用した,本願の優先日前に既に公知である,特開2002-262099号公報(平成14年9月13日公開。以下,これを「引用例e」という。)には,関連する図面と共に,次の事項が記載されている。

K 「【0010】スキャナ106においてスキャンされた画像は、スキャナインターフェース107を介してマルチファンクションコントローラ111の内部に取り込まれる。取り込まれた画像はクロスバー回路104を介して、メインメモリ103に格納される。CPU102は、所定量のイメージがメインメモリ103に格納されるとイメージ圧縮回路101を起動し、メインメモリ103に格納された画像のデータ圧縮を開始させる。イメージ圧縮回路101が起動されると、リードDMAC101aがメインメモリ103よりスキャン画像をリードし、イメージ圧縮コア101bへ送る。イメージ圧縮コア101bは受け取ったイメージ画像をデータ圧縮し、圧縮後のデータをライトDMAC101cへと転送する。ライトDMAC101cは、イメージ圧縮コア101bから受け取った圧縮データをメインメモリ103へと書き戻す。ライトDMAC101cはイメージ圧縮コア101bから受け取ったデータとあらかじめ指定されたストリップ(小イメージ)間を示すリスタートマーカとを常に比較しており、圧縮データ内にリスタートマーカが存在した場合には、リスタートマーカをエンドオブイメージマーカに置き換え、マーカの後に次のワードバウンダリまでパディングデータを詰めて、圧縮イメージをメインメモリ103へと書き戻す。」

上記記載事項H乃至Kより,引用例c乃至引用例eには,次の技術(以下「周知技術」という。)が記載されているといえる。

「デバイスからメインメモリなどのメモリへのデータの読み込み,及び書き込みにあたって,DMAを用いること」


第6 対比・判断

1 本願発明1について

(1)対比
本願発明1と引用発明とを対比する。

(ア)引用発明の「デバイス6」には,「デバイスAとデバイスBがあ」り,当該「デバイスA」及び「デバイスB」は,それぞれ本願発明1の「第一のデバイス」及び「第二のデバイス」に相当する。

(イ)引用発明の「電子計算機」の構成要素である「メモリ」には,何らかのデータが記憶されることは当業者に自明であることから,本願発明1の「前記第一のデバイスから第二のデバイスへ転送されるデータを記憶するメインメモリとを備え」とは,下記の点で相違するものの,“データを記憶するメインメモリとを備え”る点で一致する。

(ウ)引用発明の「電子計算機」の構成要素である「CPU」は,本願発明1の「CPU」に相当する。そして引用発明は,「ハードウェア2を記憶装置に記憶されているOS3によって制御し動作させ,エンドユーザが使うアプリケーションプログラム4はOS3が提供する環境で動作し,OS3には,周辺機器を制御するデバイスドライバ5が含まれており,アプリケーションプログラム4からの命令に従って,デバイス6を制御し,デバイス6(A)からデータを受信したり,デバイス6(B)へデータを送信したり」するものであることから,「第一のデバイスから第二のデバイスへのデータ転送制御」を当該「CPU」で行っていることは当業者に明らかである。また,引用発明は,「アプリケーションプログラム4からの命令によって,デバイス6間のデータの送受信も制御する」ことができ,「共通インターフェースドライバ7」は,「デバイスドライバAとデバイスドライバB間のインターフェースで,カーネルモード8で動作するもの」であることから,引用発明と本願発明1とは,“第一のデバイスから第二のデバイスへのデータ転送制御をカーネルモードで行うCPU”を有する点で一致する。

(エ)引用発明は,「デバイスAとデバイスBがあり,それぞれをデバイスドライバAとデバイスドライバBにより制御され」るものであることから,当該「デバイスドライバA」及び「デバイスドライバB」はそれぞれ,本願発明1の「第一のデバイスを制御する第一デバイス制御手段」及び「第二のデバイスを制御する第二デバイス制御手段」に相当する。
また引用発明は,「デバイスAからデバイスBへデータを転送する場合,ユーザモード9で動作するアプリケーションプログラム4が,データ転送の要求(命令)を出し,共通インターフェースドライバ7はアプリケーションプログラム4からのデータ転送の要求を受け取り,共通インターフェースドライバ7はこのデータ転送の要求を分析して,デバイスドライバAに対してデータ送信の要求を出し,デバイスドライバBに対してデータ受信の要求を出」すものであること,さらに当該制御が「CPU」で行われることも当業者にとって自明であることから,引用発明と本願発明1とは,下記の点で相違するものの,“前記CPUは、前記第一のデバイスを制御する第一デバイス制御手段と、前記第二のデバイスを制御する第二デバイス制御手段とを含”む点で一致するといえる。

(オ)引用発明の「共通インターフェースドライバ7」は,「データ転送の要求を分析して,デバイスドライバAに対してデータ送信の要求を出し,デバイスドライバBに対してデータ受信の要求を出」すものであることから,本願発明1の「データ転送制御手段」に対応するといえる。
また,引用発明は,「デバイスドライバAが共通インターフェースドライバ7からのデータ送信の要求を受け取り,デバイスAに送信し,デバイスAがデータ送信の要求を受け取り,データをデバイスドライバAへ送信し,デバイスドライバAがデータを受信し,共通インターフェースドライバ7に渡し,共通インターフェースドライバ7は,データを受信し,結果をデバイスドライバBへ送信」するとともに,「デバイスドライバBは共通インターフェースドライバ7からデータを受信し,デバイスBへ送信し,デバイスBはデータを受け取り,データ受取済の情報をデバイスドライバBへ送り,デバイスドライバBはそのデータ受取済の情報を受け取り,データ転送完了の情報を共通インターフェースドライバ7に送」ることから,「共通インターフェースドライバ7」は,「デバイスドライバA」に対し,「デバイスA」からのデータの読み取り指示を行うと共に,「デバイスドライバB」に対し,「デバイスB」へのデータ転送を指示しているといえ,引用発明と本願発明1の「前記第一のデバイスから読み取ったデータを前記メインメモリに記憶させる指示である読み取り指示を前記第一デバイス制御手段に対して行い、前記メインメモリに記憶されたデータを前記第二のデバイスに書き込む指示である書き込み指示を前記第二デバイス制御手段に対して行うデータ転送制御手段とを含」むこととは,下記の点で相違するものの,“前記第一のデバイスへの読み取り指示を前記第一デバイス制御手段に対して行い、当該読み取ったデータを前記第二のデバイスに転送する指示を前記第二デバイス制御手段に対して行うデータ転送制御手段とを含”む点で共通する。

(カ)引用発明の「電子計算機」は,「デバイスAからデバイスBへデータを転送」したり,「アプリケーションプログラム4へデータ転送完了の情報を通知し,ここで,システムの動作モードはカーネルモード8からユーザモード9に替わり,アプリケーションプログラム4がデータ転送完了の情報を受け取り,次の処理にかかる」ものであることから,本願発明1とは,“データ制御システム”である点で共通するといえる。

(キ)以上,(ア)乃至(カ)の検討から,引用発明と本願発明1とは,次の一致点及び相違点を有する。

〈一致点〉
第一のデバイスから第二のデバイスへのデータ転送制御をカーネルモードで行うCPUと,
データを記憶するメインメモリとを備え,
前記CPUは,
前記第一のデバイスを制御する第一デバイス制御手段と,
前記第二のデバイスを制御する第二デバイス制御手段と,
前記第一のデバイスへの読み取り指示を前記第一デバイス制御手段に対して行い,当該読み取ったデータを前記第二のデバイスに転送する指示を前記第二デバイス制御手段に対して行うデータ転送制御手段とを含む
データ制御システム。

〈相違点1〉
本願発明1のメインメモリが,「第一のデバイスから第二のデバイスへ転送されるデータを記憶」し,「転送データを記憶する複数のバッファを含」むのに対し,引用発明は,メインメモリに相当する「メモリ」は有するものの,当該メモリに記憶されるデータや用途については特定がされていない点。

〈相違点2〉
本願発明1の「データ転送制御手段」は,「第一デバイス制御手段」に対して,「前記第一のデバイスから読み取ったデータを前記メインメモリに記憶させる指示である読み取り指示」を行うと共に,「第二デバイス制御手段」に対しては,「前記メインメモリに記憶されたデータを前記第二のデバイスに書き込む指示である書き込み指示」を行うのに対し,引用発明は,デバイスAとデバイスBとの間でデータの転送を行うものであることが特定されているものの,当該転送に係る「データ」を,「メモリ」に記憶させたり,当該記憶された「データ」をデバイスBに対して「書き込む」ことが特定されていない点。

〈相違点3〉
本願発明1の「データ転送制御手段」は,「前記メインメモリにDMAリストを作成し、前記バッファごとに第一デバイス制御手段に対する読み取り指示を並列に行い、前記バッファごとに第二デバイス制御手段に対する書き込み指示を並列に行」うものであるのに対し,引用発明の「共通インターフェースドライバ」は,そのような動作を行うことが特定されていない点。

〈相違点4〉
本願発明1の「前記第一デバイス制御手段」は,「前記DMAリストを用いたDMAにより前記メインメモリにデータを書き込ませる制御を前記第一のデバイスに対して行」うと共に,「第二デバイス制御手段」は,「前記DMAリストを用いたDMAにより前記メインメモリにデータを書き込ませる制御を前記第二のデバイスに対して行」うものであるのに対し,引用発明は,そのような動作を行うことが特定されていない点。

2 判断
事案に鑑み,先に相違点3及び4について検討する。
引用発明は,「従来のアーキテクチャで,OSに属するデバイスドライバは,電子計算機の外部ハードウェアを管理するためのソフトウェアであり,カーネルモードで動作し,データが「デバイスA」→「デバイスドライバA」→(動作モードの切り替え)「アプリケーションプログラム4」(動作モードの切り替え)→「デバイスドライバB」→「デバイスB」と転送され,この間,システムの動作モードがカーネルモードとユーザモードとに繰り返し切り替わりながら動作し,大量のデータを取り扱うようになるとこの動作モードの切り替え処理の数が多くなる」という課題を有し,これに対し,「カーネルモード8で動作」する「共通インターフェースドライバ7」を介して,デバイスA及びデバイスBの間でデータ転送を行い,当該データ転送の間,すなわち,「データが「デバイスA」→「デバイスドライバA」→「共通インターフェースドライバ7」→「デバイスドライバB」→「デバイスB」と転送され,この間,システムの動作モードはカーネルモード8で動作し,モードの切り替えを行う必要がなくな」ることにより,「大量のデータを高速に転送できるように」なったものである。
一方,本願発明1は,2つのI/O(Input/Output)デバイス間で高速にデータ移動させる制御を行うデータ制御システムに係り(本願明細書段落1),主記憶を介さずにDVD(Digital Versatile Disc)-ROM(Read Only Memory)インタフェースからDVDデコーダへ直接的に動画データを転送できるコンピュータシステムでは,DVDデコーダにI/Oリードトランザクションを開始できるマスタトランザクション制御部を設け,さらに,DVD制御ドライバによってDVDデコーダとDVDインタフェースの両方を制御するような構成により,主メモリを経由せず,DVDインタフェースからDVDデコーダに動画データがダイレクトに転送されたり(同段落2。以下「従来技術1」という。),複数のデバイスに対する複数の入出力コマンドを1回の入出力命令で実行できる計算機システムでは,入出力アダプタがCPUからの入出力コマンドを受け取ることで入出力動作を開始し,入出力アダプタは,データ送信の場合に,記憶ユニットから指定されたデータを該当する入出力制御装置に転送し,データ受信の場合に,その入出力制御装置から記憶ユニットの指定エリアにデータを転送し,ここで,入出力制御装置はデータを格納するためのバッファを備える(同段落3。以下「従来技術2」という。)といった従来技術があり,従来技術1では,直接データ転送を行う動作に対応していない2つのI/Oデバイスの間では,高速なデータ転送が実現できないという問題があり(同段落11),従来技術2では,あるI/Oデバイスから別のI/Oデバイスにデータを移動させる場合,I/Oデバイスの処理を代替させる入出力アダプタのような別デバイスをシステムに導入する必要があり(同段落12),直接データ転送を行う動作に対応していないI/Oデバイス間の転送処理においても,オーバヘッドを削減し高速にデータ転送を行えることが望ましいといった課題を背景としたものであり(同段落13),直接データ転送を行う動作に対応していない2つのI/Oデバイスの間で高速にデータ転送を行うことができるデータ制御システムを提供することを目的としたものである。(同段落14)
引用発明と本願発明1とは,2つのデバイス間のデータ転送を高速化する点では技術分野及び課題は共通するといえ,さらに,上記「(1)対比」の項でも検討したとおり,当該データ転送をカーネルモードで行うCPUを有する点においても共通するといえるが,引用発明では,専ら2つのデバイス間の当該データ転送制御にあたり,ユーザモード及びカーネルモードという2つの動作モードの切替えに伴うデータ転送の遅延を排除することを解決しようとする課題とし,「共通インターフェースドライバ7」という技術的解決手段を用いることのみを指向するものであって,データ転送に係る2つのデバイスが直接データ転送を行う動作に対応しているか否かというような課題については一切考慮されておらず,上記引用例c乃至eにみられるような,DMA転送技術を用いる周知技術があったとしても,引用発明は当該周知技術を採用する動機付けを欠くものといわざるを得ない。
したがって,デバイスからメインメモリなどのメモリへのデータの読み込み,及び書き込みにあたって,DMAを用いる周知技術を引用発明において採用し,上記相違点3及び4に係る構成,すなわち,「データ転送制御手段」を,「前記メインメモリにDMAリストを作成し、前記バッファごとに第一デバイス制御手段に対する読み取り指示を並列に行い、前記バッファごとに第二デバイス制御手段に対する書き込み指示を並列に行」うよう構成し,さらに,「前記第一デバイス制御手段」について,「前記DMAリストを用いたDMAにより前記メインメモリにデータを書き込ませる制御を前記第一のデバイスに対して行」うと共に,「第二デバイス制御手段」は,「前記DMAリストを用いたDMAにより前記メインメモリにデータを書き込ませる制御を前記第二のデバイスに対して行」うよう構成することは,当業者といえども容易であったとまではいうことができない。このことは,引用例2に記載された上記引用発明2の存在をもってしても同様である。
よって,上記その余の相違点について判断するまでもなく,本願発明1は,当業者であっても,引用発明及び周知技術に基づいて容易に発明できたものとはいえない。

2 本願発明2乃至7について
本願発明2乃至7は,本願発明1を直接乃至間接的に引用するものであり,本願発明1と同様,当業者であっても,引用発明及び周知技術に基づいて容易に発明できたものとはいえない。

3 本願発明8及び9について
本願発明8及び9は,本願発明1と単にカテゴリー表現を異ならせたものであって,本願発明1と同様,当業者であっても,引用発明及び周知技術に基づいて容易に発明できたものとはいえない。


第7 原査定について

<特許法第29条第2項>について

審判請求時の補正により,本願発明1乃至9は,実質的に「前記バッファごとに第一デバイス制御手段に対する読み取り指示を並列に行い、前記バッファごとに第二デバイス制御手段に対する書き込み指示を並列に行い」という事項を有するものとなっており,当業者であっても,拒絶査定において引用された引用例1乃至2及び引用例c乃至eに基づいて,容易に発明できたものとはいえない。したがって,原査定の理由を維持することはできない。


第8 むすび

以上のとおり,原査定の理由によっては,本願を拒絶することはできない。
また,他に本願を拒絶すべき理由を発見しない。
よって,結論のとおり審決する。
 
審決日 2018-07-18 
出願番号 特願2013-502184(P2013-502184)
審決分類 P 1 8・ 121- WY (G06F)
最終処分 成立  
前審関与審査官 坂東 博司  
特許庁審判長 辻本 泰隆
特許庁審判官 仲間 晃
山崎 慎一
発明の名称 データ制御システム、データ制御方法およびデータ制御用プログラム  
代理人 岩壁 冬樹  
代理人 塩川 誠人  

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