• ポートフォリオ機能


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

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 査定不服 2項進歩性 特許、登録しない。 G06F
審判 査定不服 5項独立特許用件 特許、登録しない。 G06F
管理番号 1372632
審判番号 不服2020-2298  
総通号数 257 
発行国 日本国特許庁(JP) 
公報種別 特許審決公報 
発行日 2021-05-28 
種別 拒絶査定不服の審決 
審判請求日 2020-02-19 
確定日 2021-03-31 
事件の表示 特願2015-130381「分散仮想アレイを用いるデータストレージシステム」拒絶査定不服審判事件〔平成28年12月15日出願公開,特開2016-212819〕について,次のとおり審決する。 
結論 本件審判の請求は,成り立たない。 
理由
第1 手続の経緯

本願は,平成27年6月29日(パリ条約による優先権主張2015年5月12日(以下,「優先日」という。),米国)の出願であって,その手続の経緯は以下のとおりである。
平成30年 6月20日 :出願審査請求書
平成31年 4月 9日付け:拒絶理由通知
令和 1年 6月 7日 :意見書,手続補正書の提出
令和 1年11月20日付け:拒絶査定
令和 2年 2月19日 :審判請求書,手続補正書の提出
令和 2年 6月23日 :前置報告書
令和 2年 9月 9日 :上申書

第2 令和2年2月19日にされた手続補正についての補正の却下の決定

[補正の却下の決定の結論]

令和2年2月19日にされた手続補正(以下,「本件補正」という。)を却下する。

[理由]

1 本件補正について(補正の内容)

(1)本件補正後の特許請求の範囲の記載

本件補正により,特許請求の範囲の請求項1の記載は,次のとおり補正された。(下線部は,補正箇所である。以下,この特許請求の範囲に記載された請求項を「補正後の請求項」という。)

「 【請求項1】
複数のホストサーバ(100)を備え、前記複数のホストサーバの各ホストサーバは少なくとも1つのプロセッサ(111)を含み、少なくとも1つのネットワーク(200)を介して複数のストレージノード(310)と通信するように構成され、
前記複数のストレージノードの少なくとも1つのストレージノードは少なくとも1つの永続性ストレージ装置(340-1,340-N)及び少なくとも1つのストレージコントローラ(320-1,320-2,..,320-N)を含む、データストレージシステムであって、
前記ホストサーバは、
データストレージ読出し/書込み要求を発行する少なくとも1つのプロセスと、
書込み要求に対応するデータを非永続的にキャッシュするように構成されたキャッシュ(113)を構成するメモリ装置と、
前記書込み要求に対応するデータを、少なくとも2回書き込むように構成されたシステムソフトウェア(115)コンポーネントと、
前記少なくとも1つのプロセッサで実行されたとき、前記少なくとも1つのプロセッサに、前記書込み要求に対応するデータに対して少なくとも1つのストレージ処理機能を実行させるコンピュータ実行可能なコードを備える分散仮想アレイ(DVA)サブシステム(405)と、
を含み、
前記システムソフトウェア(115)コンポーネントは、
第1の書き込み処理において、前記複数のストレージノード(310)のいずれの永続性ストレージ装置(340-1,340-N)とも関与せずに、前記ホストサーバからの前記書込み要求に対応するデータを、前記複数のストレージノード(310)の少なくとも1つのリモート不揮発性メモリ装置(330)に書き込み、
第2の書き込み処理において、前記少なくとも1つのリモート不揮発性メモリ装置(330)と関与せずに、前記書込み要求に対応するデータに対して前記少なくとも1つのストレージ処理機能により生成されたデータを、前記複数のストレージノード(310)の前記少なくとも1つの永続性ストレージ装置(340-1,340-N)に書き込み、
前記少なくとも1つのリモート不揮発性メモリ装置(330)は、一時的なバックアップデータストレージシステムを構成し、
前記少なくとも1つのストレージ処理機能は、
書き込まれるデータのフィンガープリントを計算し、前記フィンガープリントを前記複数のストレージノード(310)の選択された一つに格納する処理、
書き込まれるデータを圧縮し、そのデータを圧縮した形で前記複数のストレージノード(310)の少なくとも1つに格納のために送信する処理、
書き込まれるデータにわたって誤り訂正データを計算し、書き込まれるデータと計算した誤り訂正の両方を前記複数のストレージノード(310)の少なくとも1つに格納する処理、及び
データの書込みをログし、対応するログ情報を少なくとも1つのストレージノードのストレージコントローラ(320-1,320-2,..,320-N)に送信する処理、
のうちの少なくとも1つを含む、
ことを特徴とするシステム。」

(2)本件補正前の特許請求の範囲

本件補正前の,令和1年6月7日にされた手続補正により補正された特許請求の範囲の請求項1の記載は次のとおりである。(以下,この特許請求の範囲に記載された請求項を「補正前の請求項」という。)

「 【請求項1】
複数のホストサーバ(100)を備え、前記複数のホストサーバの各ホストサーバは少なくとも1つのプロセッサ(111)を含み、少なくとも1つのネットワーク(200)を介して複数のストレージノード(310)と通信するように構成され、
前記複数のストレージノードの少なくとも1つのストレージノードは少なくとも1つの永続性ストレージ装置(340-1,340-N)及び少なくとも1つのストレージコントローラ(320-1,320-2,..,320-N)を含む、データストレージシステムであって、
前記ホストサーバは、
データストレージ読出し/書込み要求を発行する少なくとも1つのプロセスと、
書込み要求に対応するデータを非永続的にキャッシュするように構成されたキャッシュ(113)を構成するメモリ装置と、
前記書込み要求に対応するデータを、一時的な書込み先として少なくとも1つのリモート不揮発性メモリ装置(330)に書き込むように構成されたシステムソフトウェア(115)コンポーネントと、
前記少なくとも1つのプロセッサで実行されたとき、前記少なくとも1つのプロセッサに、前記書込み要求に対応するデータに対して少なくとも1つのストレージ処理機能を実行させるコンピュータ実行可能なコードを備える分散仮想アレイ(DVA)サブシステム(405)と、
を含み、
前記少なくとも1つのストレージ処理機能は、
書き込まれるデータのフィンガープリントを計算し、前記フィンガープリントを前記複数のストレージノード(310)の選択された一つに格納する処理、
書き込まれるデータを圧縮し、そのデータを圧縮した形で前記複数のストレージノード(310)の少なくとも1つに格納のために送信する処理、
書き込まれるデータにわたって誤り訂正データを計算し、書き込まれるデータと計算した誤り訂正の両方を前記複数のストレージノード(310)の少なくとも1つに格納する処理、及び
データの書込みをログし、対応するログ情報を少なくとも1つのストレージノードのストレージコントローラ(320-1,320-2,..,320-N)に送信する処理、
のうちの少なくとも1つを含む、
ことを特徴とするシステム。」

2 補正の適否

本件補正は,本件補正前の請求項1に記載された発明を特定するために必要な事項である「ソフトウェア(115)コンポーネント」が行う書き込み処理について,
「少なくとも2回」書き込むとの限定,及び,
「第1の書き込み処理において、前記複数のストレージノード(310)のいずれの永続性ストレージ装置(340-1,340-N)とも関与せずに、前記ホストサーバからの前記書込み要求に対応するデータを、前記複数のストレージノード(310)の少なくとも1つのリモート不揮発性メモリ装置(330)に書き込み、
第2の書き込み処理において、前記少なくとも1つのリモート不揮発性メモリ装置(330)と関与せずに、前記書込み要求に対応するデータに対して前記少なくとも1つのストレージ処理機能により生成されたデータを、前記複数のストレージノード(310)の前記少なくとも1つの永続性ストレージ装置(340-1,340-N)に書き込み、
前記少なくとも1つのリモート不揮発性メモリ装置(330)は、一時的なバックアップデータストレージシステムを構成し」
との限定を付加するものである。
そして,補正前の請求項1に記載された発明と補正後の請求項1に記載される発明の産業上の利用分野及び解決しようとする課題が同一であるから,特許法17条の2第5項2号の特許請求の範囲の減縮を目的とするものに該当する。
そこで,本件補正後の請求項1に記載される発明(以下「本件補正発明」という。)が同条第6項において準用する同法第126条第7項の規定に適合するか(特許出願の際独立して特許を受けることができるものであるか)について,以下,検討する。

(1)本件補正発明

本件補正発明は,上記「1(1)」の請求項1に記載された下記のとおりのものである(再掲)。

「 複数のホストサーバ(100)を備え、前記複数のホストサーバの各ホストサーバは少なくとも1つのプロセッサ(111)を含み、少なくとも1つのネットワーク(200)を介して複数のストレージノード(310)と通信するように構成され、
前記複数のストレージノードの少なくとも1つのストレージノードは少なくとも1つの永続性ストレージ装置(340-1,340-N)及び少なくとも1つのストレージコントローラ(320-1,320-2,..,320-N)を含む、データストレージシステムであって、
前記ホストサーバは、
データストレージ読出し/書込み要求を発行する少なくとも1つのプロセスと、
書込み要求に対応するデータを非永続的にキャッシュするように構成されたキャッシュ(113)を構成するメモリ装置と、
前記書込み要求に対応するデータを、少なくとも2回書き込むように構成されたシステムソフトウェア(115)コンポーネントと、
前記少なくとも1つのプロセッサで実行されたとき、前記少なくとも1つのプロセッサに、前記書込み要求に対応するデータに対して少なくとも1つのストレージ処理機能を実行させるコンピュータ実行可能なコードを備える分散仮想アレイ(DVA)サブシステム(405)と、
を含み、
前記システムソフトウェア(115)コンポーネントは、
第1の書き込み処理において、前記複数のストレージノード(310)のいずれの永続性ストレージ装置(340-1,340-N)とも関与せずに、前記ホストサーバからの前記書込み要求に対応するデータを、前記複数のストレージノード(310)の少なくとも1つのリモート不揮発性メモリ装置(330)に書き込み、
第2の書き込み処理において、前記少なくとも1つのリモート不揮発性メモリ装置(330)と関与せずに、前記書込み要求に対応するデータに対して前記少なくとも1つのストレージ処理機能により生成されたデータを、前記複数のストレージノード(310)の前記少なくとも1つの永続性ストレージ装置(340-1,340-N)に書き込み、
前記少なくとも1つのリモート不揮発性メモリ装置(330)は、一時的なバックアップデータストレージシステムを構成し、
前記少なくとも1つのストレージ処理機能は、
書き込まれるデータのフィンガープリントを計算し、前記フィンガープリントを前記複数のストレージノード(310)の選択された一つに格納する処理、
書き込まれるデータを圧縮し、そのデータを圧縮した形で前記複数のストレージノード(310)の少なくとも1つに格納のために送信する処理、
書き込まれるデータにわたって誤り訂正データを計算し、書き込まれるデータと計算した誤り訂正の両方を前記複数のストレージノード(310)の少なくとも1つに格納する処理、及び
データの書込みをログし、対応するログ情報を少なくとも1つのストレージノードのストレージコントローラ(320-1,320-2,..,320-N)に送信する処理、
のうちの少なくとも1つを含む、
ことを特徴とするシステム。」

(2)引用文献の記載事項

ア 引用文献1に記載されている技術的事項及び引用発明

(ア)原査定の拒絶の理由で引用された,本願の優先日前に頒布された又は電気通信回線を通じて公衆に利用可能となった引用文献である,米国特許出願公開第2015/0127975号明細書(2015年5月7日出願公開。以下,「引用文献1」という。)には,関連する図面とともに,以下の技術的事項が記載されている。
(当審注:下線は,参考のために当審で付与したものである。以下同様。)

A 「[0014] Embodiments of a distributed virtual array data storage system and method are disclosed. Storage nodes made up of relatively inexpensive disks with associated processors are scalable to store very large amounts of data. The storage nodes communicate with servers directly over a network through, for example, an Ethernet connection. Control of the storage nodes and access to the storage nodes is handled entirely on the server side of the system by distributed virtual array (DVA) software running on the server side and employing a particular protocol over the standard network connection. The DVA software facilitates all data access functions for applications running on the servers, as well as all data maintenance functions such as disk reconstruction, garbage collection, etc.
[0015] FIG. 2 is a block diagram of a data storage system 200 according to an embodiment. System 200 includes multiple servers 204A-204G on the server side, and multiple simple storage nodes 202A-202L on the storage side. The actual numbers of servers and storage nodes shown is arbitrary and chosen for example only. There could be typically many more servers and many more storage nodes. In addition, the system 200 is scalable by adding elements such as servers and storage nodes.」
(当審訳; 「[0014] 分散仮想アレイデータストレージシステムおよび方法の実施形態が開示される。プロセッサが関連付けられた比較的安価なディスクで構成されるストレージノードは,非常に大量のデータを格納するためにスケーラブルである。ストレージノードは,イーサネット接続などを介して,ネットワークを介してサーバと直接通信する。ストレージノードの制御とストレージノードへのアクセスは,サーバ側で実行され,標準のネットワーク接続を介して特定のプロトコルを採用する分散仮想アレイ(DVA)ソフトウェアによって,システムのサーバ側で完全に処理される。DVAソフトウェアは,サーバ上で実行されているアプリケーションのすべてのデータアクセス機能,およびディスクの再構築,ガベージコレクションなどのすべてのデータ保守機能を容易にする。
[0015] 図2は,一実施形態によるデータストレージシステム200のブロック図である。システム200は,サーバ側に複数のサーバ204A-204Gを含み,ストレージ側に複数の単純なストレージノード202A-202Lを含む。図示されているサーバとストレージノードの実際の数は任意であり,例示のためにのみ選択されている。通常,さらに多くのサーバとさらに多くのストレージノードが存在する可能性がある。さらに,システム200は,サーバおよびストレージノードなどの要素を追加することによってスケーラブルである。」)

B 「[0017] FIG. 3 is a block diagram of one server 304A of multiple servers according to an embodiment. Server 304A includes Flash memory device for server-side cache 312 (also referred to as local cache), and multiple guest VMs 310A-310C and a driver 308. In various embodiments, server-side cache 312 could alternatively be any appropriate type of memory device for the purpose, such as any solid state memory device, including without limitation Flash, phase-change random access memory (PRAM), etc., and it could be packaged as a Solid-State Disk (SSD), a circuit card plugged into a bus within the server, or included as a module on the server motherboard. Server 304A also includes a DVA worker VM 311 that runs the DVA software 313. DVA software 313 handles all storage-related functions for the guest VMs, which are also referred to as application VMs. The DVA software may implement a file system for the storage of vDisks. The file system may be a block-addressed file system, a content-addressed deduplicating file system, a log-structured file system, or any other type of suitable file system. The DVA software handles reads and writes and other functions on the data path and also performs background storage management functions, such as background reconstruction of entire disks, scrubbing, garbage collection, rebalancing, migration, etc. In other embodiments, the server hosts multiple worker VMs, and these worker VMs cooperate to perform the DVA process including, the background storage management functions, for multiple vDisks. At times there may be vDisks that are not in use by any VM host. In an embodiment, such unused vDisks are reconstructed cooperatively by the multiple worker VMs.」
(当審訳; 「[0017] 図3は,一実施形態による,複数のサーバのうちの1つのサーバ304Aのブロック図である。サーバ304Aは,サーバ側キャッシュ312(ローカルキャッシュとも呼ばれる)のためのフラッシュメモリデバイス,ならびに複数のゲストVM310A-310Cおよびドライバ308を含む。様々な実施形態では,サーバ側キャッシュ312は,代替として,フラッシュ,相変化ランダムアクセスメモリ(PRAM)を含むがこれらに限定されない任意のソリッドステートメモリデバイスなど,目的に適した任意のタイプのメモリデバイスでよく,ソリッドステートディスク(SSD)やサーバ内のバスに接続された回路カードとしてパッケージ化でき,あるいは,サーバのマザーボードにモジュールとして含まれるものである。サーバ304Aはまた,DVAソフトウェア313を実行するDVAワーカーVM311を含む。DVAソフトウェア313は,アプリケーションVMとも呼ばれるゲストVMのためのすべてのストレージ関連機能を処理する。DVAソフトウェアは,vDiskを保存するためのファイルシステムを実装する場合がある。ファイルシステムは,ブロックアドレス指定されたファイルシステム,コンテンツアドレス指定された重複排除ファイルシステム,ログ構造化ファイルシステム,または他のタイプの適切なファイルシステムであり得る。DVAソフトウェアは,データパス上の読み取りと書き込みおよびその他の機能を処理し,ディスク全体のバックグラウンド再構築,スクラビング,ガベージコレクション,リバランス,移行などのバックグラウンドストレージ管理機能も実行する。他の実施形態では,サーバは複数のワーカーをホストする。VMとこれらのワーカーVMは連携して,複数のvDiskのバックグラウンドストレージ管理機能を含むDVAプロセスを実行する。VMホストで使用されていないvDiskが存在する場合がある。一実施形態では,そのような未使用のvDiskは,複数のワーカーVMによって協調的に再構築される。」)

C 「[0020] FIG. 5 is a block diagram of one storage node 502A of multiple storage nodes according to an embodiment. The storage node 502A includes multiple disks 501A-501F and a standard CPU 505. Multiple disks 501A-501F are examples of physical data storage devices. There can be any number of disks in a storage node 501. Six disks 501 are shown as an example. Disks 501 themselves can be any appropriate type of physical storage device. In an embodiment, storage node 502A also includes non-volatile random-access memory (NVRAM) 510. NVRAM devices retain stored data when the power is lost, and have relatively low latency on write operations. According to embodiments of a DVA data layout scheme, each VM host compute server 204 writes to disjoint sets of physical stripes across disks 501. Also, new Write data is stored to the NVRAM 510 of at least one of the storage nodes 502 so that if there is a power failure, a copy of the new Write data survives. New Write data can also be stored to the NVRAM 510 of at least two storage nodes 502, so that if one node fails there is a redundant copy of the new Write data. According to an embodiment, the DVA method includes storing new Write data for at least one vDisk to at least one storage node so that if the VM host compute server fails, a copy of the newly written data survives on that storage node. New Write data can also be buffered in the VM host until there is enough data to write a full stripe of new data to storage nodes. New Write data can be buffered on the VM host for even longer periods to give time for later overwrites of the same location in a vDisk to obviate the need to write out the overwritten data in a stripe. Embodiments of the DVA method also include a writing VM host compute server computing at least one erasure coded block for a full stripe of data, and writing the at least one erasure coded block to a storage node.
[0021] The CPU 505 performs functions on the disks 501 as directed by the DVA software 513 via the network 206 over a standard network connection 208. For purposes of embodiments described herein, the DVA software 513 could be running anywhere on the server side. However, the DVA software 513 is not envisioned running on the storage side, for example in the CPU 505, as long as there are servers available to run the software. The relative simplicity of the storage nodes makes the storage nodes inexpensive, eliminates the need for dedicated backplanes and fibre channel connections on the storage side, and allows the entire storage side to communicate with the server side directly via a standard network connection. In various embodiments, the storage nodes are not configured to host VMs, at least in part because such a capability is never needed. In various embodiments, the storage nodes are not capable of hosting VMs, at least in part because the inexpensive storage CPUs are not sufficiently powerful to host VMs.」
(当審訳; 「[0020] 図5は,一実施形態による,複数のストレージノードのうちの1つのストレージノード502Aのブロック図である。ストレージノード502Aは,複数のディスク501A-501Fおよび標準のCPU505を含む。複数のディスク501A-501Fは,物理データストレージデバイスの例である。ストレージノード501には任意の数のディスクが存在することができる。6つのディスク501が例として示されている。ディスク501自体は,任意の適切なタイプの物理記憶装置であり得る。一実施形態では,ストレージノード502Aはまた,不揮発性ランダムアクセスメモリ(NVRAM)510を含む。NVRAMデバイスは,電力が失われたときに記憶されたデータを保持し,書き込み操作の待ち時間が比較的短い。DVAデータレイアウトスキームの実施形態によれば,各VMホスト計算サーバ204は,ディスク501全体の互いに素な物理ストライプのセットに書き込む。また,新しい書き込みデータは,電源障害が発生した場合,新しい書き込みデータのコピーが残るように,ストレージノード502の少なくとも1つのNVRAM510に格納される。新しい書き込みデータは,少なくとも2つのストレージノード502のNVRAM510に記憶することもできるので,1つのノードに障害が発生した場合,新しい書き込みデータの冗長コピーが存在する。一実施形態では,DVA方法は,VMホストコンピューティングサーバに障害が発生した場合に,新しく書き込まれたデータのコピーがそのストレージノード上に残るように,少なくとも1つのvDiskの新しい書き込みデータを少なくとも1つのストレージノードに格納することを含む。新しい書き込みデータは,ストレージノードに新しいデータの完全なストライプを書き込むのに十分なデータが得られるまでVMホストにバッファリングすることもできる。新しい書き込みデータをVMホストでさらに長期間バッファリングして,vDisk内の同じ場所を後で上書きする時間を確保し,上書きされたデータをストライプで書き出す必要をなくすことができる。また,DVA方法の実施形態は,データの完全なストライプに対して少なくとも1つの消失訂正符号化ブロックを計算する書き込みVMホスト計算サーバ,およびストレージノードへの少なくとも1つの消失訂正符号化ブロックを書き込むことを含む。
[0021] CPU505は,標準的なネットワーク接続208を介してネットワーク206を介してDVAソフトウェア513によって指示されるように,ディスク501上で機能を実行する。しかしながら,DVAソフトウェア513は,ソフトウェアを実行するために利用可能なサーバがある限り,例えば,CPU505において,ストレージ側で実行されることを想定されていない。ストレージノードが比較的単純なため,ストレージノードが安価になり,ストレージ側で専用のバックプレーンやファイバーチャネル接続が不要になり,ストレージ側全体が標準のネットワーク接続を介してサーバ側と直接通信できるようになる。様々な実施形態では,少なくとも部分的には,そのような機能が決して必要とされないため,ストレージノードはVMをホストするように構成されていない。様々な実施形態では,少なくとも部分的には,安価なストレージCPUがVMをホストするのに十分に強力ではないため,ストレージノードはVMをホストすることができない。」)

D 「[0027] FIGS. 9A and 9B are a flow diagram illustrating a method for a host driver to access data storage according to an embodiment. The driver determines at 902 whether a request for a storage access operation (typically or Read or Write operation) is the first one for this vDisk. If it is the first request, the driver obtains the vDisk map from the vDisk map service (904). Then it is determined (906) whether the operation is a READ or WRITE operation. This sequence is shown as an example. It is also possible to determine the type of operation before it is determined whether the operation is the first storage access request for the application. If it is not the first request, the process determines (906) whether the operation is a READ operation or a WRITE operation.
[0028] If the operation is a WRITE, data is written directly to the NVRAM of one or more of the storage nodes (914). Then new Write data is written to the local cache (916). If a full stripe of Write data is available (930), then an erasure code block is computed for the stripe of new Write data (932), and the Write data plus the erasure code block is written to one or more storage nodes (934). If a full stripe of Write data is not available at 930, new Write data can be buffered in the VM host until there is enough data to write a full stripe of new data to storage nodes. It is also possible to wait longer before writing the stripe to give time for overwrites to obviate the need write out some data in a stripe. The process then moves to the next instruction at 912.

(当審訳; 「[0027] 図9Aおよび9Bは,一実施形態による,ホストドライバがデータストレージにアクセスするための方法を示すフロー図である。ドライバは,902で,ストレージアクセス操作(通常は読み取りまたは書き込み操作)の要求がこのvDiskの最初の要求であるかどうかを判別する。それが最初の要求である場合,ドライバはvDiskマップサービス(904)からvDiskマップを取得する。次に,操作が読み取り操作であるか書き込み操作であるかが決定される(906)。このシーケンスは例として示されている。操作がアプリケーションの最初のストレージアクセス要求であるかどうかを判断する前に,操作のタイプを判断することもできる。それが最初の要求でない場合,プロセスは,操作が読み取り操作であるか書き込み操作であるかを決定する(906)。
[0028] 操作が書き込みである場合,データは,1つまたは複数のストレージノード(914)のNVRAMに直接書き込まれる。次に,新しい書き込みデータがローカルキャッシュに書き込まれる(916)。書き込みデータの完全なストライプが使用可能な場合(930),新しい書き込みデータのストライプに対して消失訂正符号化ブロックが計算され(932),書き込みデータと消失訂正符号化ブロックが1つ以上のストレージノードに書き込まれる(934)。書き込みデータのフルストライプが930で使用できない場合,ストレージノードに新しいデータのフルストライプを書き込むのに十分なデータが得られるまで,VMホストで新しい書き込みデータをバッファリングできる。ストライプを書き込む前に長く待機して,上書きする時間を与えて,ストライプにデータを書き出す必要をなくすこともできる。次に,プロセスは912の次の命令に移動する。」)

E 「図3




F 「図5



G 「 図9A



イ 上記A?Gの記載から,引用文献1には次の発明(以下,「引用発明」という。)が記載されているといえる。

「分散仮想アレイデータストレージシステムであって,
ストレージノードの制御とストレージノードへのアクセスは,サーバ側で実行され,分散仮想アレイ(DVA)ソフトウェアによって,システムのサーバ側で完全に処理されるものであって,
前記システムはサーバ側に複数のサーバを含み,ストレージ側に複数のストレージノードを含むものであり,
前記サーバは,サーバ側キャッシュ(ローカルキャッシュとも呼ばれる)およびドライバを含み,
前記サーバは,DVAソフトウェアを実行するDVAワーカーVMを含み,DVAソフトウェアは,アプリケーションVMとも呼ばれるゲストVMのためのすべてのストレージ関連機能を処理するものであって,
前記ストレージノードは,ネットワークを介して前記サーバと通信するものであり,
前記ストレージノードは,複数のディスクおよびCPUを含み,
前記ストレージノードは,不揮発性ランダムアクセスメモリ(NVRAM)を含み,
新しい書き込みデータは,電源障害が発生した場合,新しい書き込みデータのコピーが残るように,ストレージノードの少なくとも1つのNVRAMに格納されるものであり,
前記CPUは,前記ディスク上で機能を実行するものであり,
ホストドライバがデータストレージにアクセスする方法は,
ストレージアクセス操作(通常は読み取りまたは書き込み操作)が書き込みである場合,データは,1つまたは複数の前記ストレージノードの前記NVRAMに直接書き込まれ,次に,新しい書き込みデータがローカルキャッシュに書き込まれ,新しい書き込みデータのストライプに対して消失訂正符号化ブロックが計算され,書き込みデータと消失訂正符号化ブロックが1つ以上のストレージノードに書き込まれる,
分散仮想アレイデータストレージシステム。」

(3)対比

ア 本件補正発明と引用発明とを対比する。

(ア)引用発明の「分散仮想アレイデータストレージシステム」,「複数のサーバ」,「複数のストレージノード」,「ネットワーク」は,それぞれ本件補正発明の「データストレージシステム」,「複数のホストサーバ(100)」,「複数のストレージノード(310)」,「ネットワーク(200)」に対応するものである。
そして,引用発明の「複数のサーバ」の各サーバは,サーバとして情報処理を行うためのプロセッサを有していることは自明であって,また,「前記ストレージノードは,ネットワークを介して前記サーバと通信する」ものであるから,ネットワークを介して複数のストレージノードと通信するものである。
よって,本件補正発明と引用発明とは,“複数のホストサーバ(100)を備え,前記複数のホストサーバの各ホストサーバは少なくとも1つのプロセッサ(111)を含み,少なくとも1つのネットワーク(200)を介して複数のストレージノード(310)と通信するように構成され”た“データストレージシステム”である点で一致する。

(イ)引用発明の「ストレージノード」は,「複数のディスク」「を含」むものであるところ,「ディスク」は永続的にデータを記憶するものであるから,引用発明の「ディスク」は,本件補正発明の「永続性ストレージ装置(340-1,340-N)」に相当する。
そして,引用発明の「ストレージノード」は,「CPUを含」み,「前記CPUは,前記ディスク上で機能を実行するものであ」るから,情報処理機能を有していることは明らかであって,ストレージノードに対してデータの「書き込み」処理が行われるものである以上,かかる「書き込み」処理を制御するための何らかのストレージコントローラ機能を備えていることも明らかである。
よって,本件補正発明と引用発明とは,“複数のストレージノードの少なくとも1つのストレージノードは少なくとも1つの永続性ストレージ装置(340-1,340-N)及び少なくとも1つのストレージコントローラ(320-1,320-2,..,320-N)を含む,データストレージシステム”である点で一致する。

(ウ)引用発明は,「サーバは」「ドライバを含み」,「ホストドライバがデータストレージにアクセスする」ものであって,「ストレージアクセス操作(通常は読み取りまたは書き込み操作)」が行われるものであるから,サーバのホストドライバは,データストレージに対して読み取りまたは書き込み要求を発行する少なくともプロセスを実行するものであることは明らかである。
よって,本件補正発明と引用発明とは,“ホストサーバは,データストレージ読出し/書込み要求を発行する少なくとも1つのプロセス”“を含”む点で一致している。

(エ)引用発明は,「サーバは,サーバ側キャッシュ(ローカルキャッシュとも呼ばれる)」「を含み」,「新しい書き込みデータがローカルキャッシュに書き込まれ」るものであるから,サーバが,書き込み要求に対応する新しい書き込みデータを非永続的にキャッシュするメモリ装置を備えているといえる。
よって,本件補正発明と引用発明とは,“ホストサーバは”,“書込み要求に対応するデータを非永続的にキャッシュするように構成されたキャッシュ(113)を構成するメモリ装置”“を含”む点で一致している。

(オ)引用発明は,「サーバは」「ドライバを含み」,「ホストドライバがデータストレージにアクセス」する際に,「ストレージアクセス操作(通常は読み取りまたは書き込みする操作)が書き込みである場合,データは,1つまたは複数の前記ストレージノードの前記NVRAMに直接書き込まれ」,「次に」,「書き込みデータと消失訂正符号化ブロックが1つ以上のストレージノードに書き込まれる」ものである。
ここで,サーバの「ホストドライバ」は,システムソフトウェアコンポーネントの一種であるといえるところ,「書き込みである場合,データは,1つまたは複数の前記ストレージノードの前記NVRAMに直接書き込まれ」る書き込み処理は,“第1の書き込み処理”であるといえ,「次に」,「書き込みデータと消失訂正符号化ブロックが1つ以上のストレージノードに書き込まれる」書き込み処理は,“第2の書き込み処理”であるといえるから,引用発明は,サーバが含むソフトウェアコンポーネントの一種であるドライバが,第1,及び第2の書き込み処理という2回の書き込み処理を行っているといえる。
よって,本件補正発明と引用発明とは,後記の点で相違するものの,“ホストサーバは”,“書込み要求に対応するデータを,少なくとも2回書き込むように構成されたシステムソフトウェア(115)コンポーネント”“を含”む点で一致している。

(カ)引用発明は,「ストレージノードの制御とストレージノードへのアクセスは,サーバ側で実行され,分散仮想アレイ(DVA)ソフトウェアによって,システムのサーバ側で完全に処理されるものであって」,「サーバは,DVAソフトウェアを実行するDVAワーカーVMを含み,DVAソフトウェアは,アプリケーションVMとも呼ばれるゲストVMのためのすべてのストレージ関連機能を処理するもの」である。
ここで,上記(ア)で検討したように,サーバが少なくとも1つのプロセッサを備えるものであることは明らかなところ,引用発明の「分散仮想アレイ(DVA)ソフトウェア」は,かかるプロセッサで実行されるソフトウェアであることは明らかであり,本件補正発明の「コンピュータ実行可能なコードを備える分散仮想アレイ(DVA)サブシステム」に相当するものである。
そして,引用発明の「DVAソフトウェア」は,「すべてのストレージ関連機能を処理するもの」であるから,上記(オ)で検討した書き込み操作に関し,書き込み要求に対応するデータに対するストレージ関連機能を処理することも明らかである。
よって,本件補正発明と引用発明とは,後記の点で相違するものの,“ホストサーバは”,“少なくとも1つのプロセッサで実行されたとき,前記少なくとも1つのプロセッサに,前記書込み要求に対応するデータに対して少なくとも1つのストレージ処理機能を実行させるコンピュータ実行可能なコードを備える分散仮想アレイ(DVA)サブシステム(405)と,を含”む点で一致している。

(キ)上記(オ)で検討したように,引用発明における「ストレージアクセス操作(通常は読み取りまたは書き込みする操作)が書き込みである場合,データは,1つまたは複数の前記ストレージノードの前記NVRAMに直接書き込まれ」る書き込み処理は,“第1の書き込み処理”であるといえるところ,引用発明の「前記ストレージノードの前記NVRAM」は,本件補正発明の「ストレージノード(310)」の「リモート不揮発性メモリ」に相当するものである。そして,引用発明の「ドライバ」は,システムソフトウェアコンポーネントの一種であるといえるので,結局,引用発明は,システムソフトウェアコンポーネントの一種であるドライバが,第1の書き込み処理において,ストレージノードのリモート不揮発性メモリにデータを書き込んでいるといえる。
よって,上記(オ)の検討も踏まえると,本件補正発明と引用発明とは,後記の点で相違するものの,“システムソフトウェア(115)コンポーネントは”,“第1の書き込み処理において,前記ホストサーバからの前記書込み要求に対応するデータを,前記複数のストレージノード(310)の少なくとも1つのリモート不揮発性メモリ装置(330)に書き込”む点で一致している。

(ク)上記(オ)で検討したように,引用発明における「次に」,「書き込みデータと消失訂正符号化ブロックが1つ以上のストレージノードに書き込まれる」書き込み処理は,“第2の書き込み処理”であるといえるところ,引用発明において,「新しい書き込みデータのストライプに対して消失訂正符号化ブロックが計算され」ることは,書き込み要求に対応するデータに対して,ストレージ処理機能の一種である消失訂正符号化ブロックの計算が行われていることに他ならない。そして,引用発明は,「消失訂正符号化ブロックが1つ以上のストレージノードに書き込まれる」ところ,当該「消失訂正符号化ブロック」は,ストレージ処理機能により生成されたデータであるといえる。
よって,上記(オ)の検討も踏まえると,本件補正発明と引用発明とは,後記の点で相違するものの,“第2の書き込み処理において,前記書込み要求に対応するデータに対して前記少なくとも1つのストレージ処理機能により生成されたデータを,前記複数のストレージノード(310)に書き込”む点で一致している。

(ケ)引用発明は,「新しい書き込みデータは,電源障害が発生した場合,新しい書き込みデータのコピーが残るように,ストレージノードの少なくとも1つのNVRAMに格納されるもの」であるから,電源障害が発生した場合,「NVRAM」が書き込みデータを保存するための一時的なバップアップデータストレージとして機能しているといえる。
よって,上記(キ)の検討も踏まえると,本件補正発明と引用発明とは,“少なくとも1つのリモート不揮発性メモリ装置(330)は,一時的なバックアップデータストレージシステムを構成し”ている点で一致している。

(コ)上記(ク)で検討したように,引用発明において,「新しい書き込みデータのストライプに対して消失訂正符号化ブロックが計算され」ることは,書き込み要求に対応するデータに対して,ストレージ処理機能の一種である消失訂正符号化ブロックの計算が行われていることに他ならない。また,消失訂正符号化ブロックの計算では,書き込まれるデータにわたってパリティである誤り訂正データが計算されることは当業者には自明である。そして,引用発明では,「書き込みデータと消失訂正符号化ブロックが1つ以上のストレージノードに書き込まれる」ものであるから,結局,引用発明は,“ストレージ処理機能”として,“書き込まれるデータにわたって誤り訂正データを計算し,書き込まれるデータと計算した誤り訂正の両方を複数のストレージノードの少なくとも1つに格納する処理”を行っているといえる。
よって,本件補正発明と引用発明とは,本件補正発明の
「前記少なくとも1つのストレージ処理機能は、
書き込まれるデータのフィンガープリントを計算し、前記フィンガープリントを前記複数のストレージノード(310)の選択された一つに格納する処理、
書き込まれるデータを圧縮し、そのデータを圧縮した形で前記複数のストレージノード(310)の少なくとも1つに格納のために送信する処理、
書き込まれるデータにわたって誤り訂正データを計算し、書き込まれるデータと計算した誤り訂正の両方を前記複数のストレージノード(310)の少なくとも1つに格納する処理、及び
データの書込みをログし、対応するログ情報を少なくとも1つのストレージノードのストレージコントローラ(320-1,320-2,..,320-N)に送信する処理、
のうちの少なくとも1つを含む」点に関し,
“少なくとも1つ”として,“書き込まれるデータにわたって誤り訂正データを計算し,書き込まれるデータと計算した誤り訂正の両方を前記複数のストレージノード(310)の少なくとも1つに格納する処理”を“含む”点で一致しているといえる。

イ 上記(ア)?(コ)の検討から,本件補正発明と引用発明とは,以下の点で一致し,また,以下の点で相違する。

<一致点>

「複数のホストサーバ(100)を備え,前記複数のホストサーバの各ホストサーバは少なくとも1つのプロセッサ(111)を含み,少なくとも1つのネットワーク(200)を介して複数のストレージノード(310)と通信するように構成され,
前記複数のストレージノードの少なくとも1つのストレージノードは少なくとも1つの永続性ストレージ装置(340-1,340-N)及び少なくとも1つのストレージコントローラ(320-1,320-2,..,320-N)を含む,データストレージシステムであって,
前記ホストサーバは,
データストレージ読出し/書込み要求を発行する少なくとも1つのプロセスと,
書込み要求に対応するデータを非永続的にキャッシュするように構成されたキャッシュ(113)を構成するメモリ装置と,
前記書込み要求に対応するデータを,少なくとも2回書き込むように構成されたシステムソフトウェア(115)コンポーネントと,
前記少なくとも1つのプロセッサで実行されたとき,前記少なくとも1つのプロセッサに,前記書込み要求に対応するデータに対して少なくとも1つのストレージ処理機能を実行させるコンピュータ実行可能なコードを備える分散仮想アレイ(DVA)サブシステム(405)と,
を含み,
前記システムソフトウェア(115)コンポーネントは,
第1の書き込み処理において,前記ホストサーバからの前記書込み要求に対応するデータを,前記複数のストレージノード(310)の少なくとも1つのリモート不揮発性メモリ装置(330)に書き込み,
第2の書き込み処理において,前記書込み要求に対応するデータに対して前記少なくとも1つのストレージ処理機能により生成されたデータを,前記複数のストレージノード(310)に書き込み,
前記少なくとも1つのリモート不揮発性メモリ装置(330)は,一時的なバックアップデータストレージシステムを構成し,
前記少なくとも1つのストレージ処理機能は,
書き込まれるデータにわたって誤り訂正データを計算し,書き込まれるデータと計算した誤り訂正の両方を前記複数のストレージノード(310)の少なくとも1つに格納する処理,
を含む,
ことを特徴とするシステム。」

<相違点1>
本件補正発明は,第1の書き込み処理が「複数のストレージノード(310)のいずれの永続性ストレージ装置(340-1,340-N)とも関与せずに」行われるものであるのに対して,引用発明には,そのような特定がなされていない点。

<相違点2>
本件補正発明は,第2の書き込み処理が「少なくとも1つのリモート不揮発性メモリ装置(330)と関与せずに」行われるものであって,ストレージノード(310)の「少なくとも1つの永続性ストレージ装置(340-1,340-N)に書き込」まれるものであるのに対して,引用発明には,そのような特定がなされていない点。

(4)当審の判断

上記相違点について検討する。

ア 相違点1について
上記「(3)ア」の(イ)及び(キ)で検討したとおり,引用発明の「NVRAM」,「ディスク」は,それぞれ本件補正発明の「リモート不揮発性メモリ」,「永続性ストレージ装置」に相当するものである。
そして,引用発明は,第1の書き込み処理において,「データは,1つまたは複数の前記ストレージノードの前記NVRAMに直接書き込まれ」るところ,データがストレージノードの「NVRAMに直接書き込まれ」るものである以上,当該ストレージノードの「複数のディスク」に対して何らアクセスする必要は無いことは明らかである。
してみると,引用発明において,第1の書き込み処理が「複数のストレージノード(310)のいずれの永続性ストレージ装置(340-1,340-N)とも関与せずに」行われることは,第1の書き込み処理が「NVRAMに直接書き込まれ」るものである以上,当業者であれば容易になし得る事項である。

イ 相違点2について
引用発明は,第2の書き込み処理において,「書き込みデータと消失訂正符号化ブロックが1つ以上のストレージノードに書き込まれる」ものであって,かつ,引用発明のストレージノードは,永続性ストレージ装置である「ディスク」を有するものである。そして,引用発明は「分散仮想アレイデータストレージシステム」であるところ,ストレージシステムとは,データを永続的に格納するためのものであるから,引用発明における,「書き込みデータと消失訂正符号化ブロックが1つ以上のストレージノードに書き込まれる」第2の書き込み処理は,ストレージノードの永続性を有するストレージ装置である「ディスク」に書き込まれることを意味していると解するのが相当である。そして,「書き込みデータと消失訂正符号化ブロック」をストレージノードの「ディスク」に書き込む際に,当該ストレージノードの「NVRAM」に対するアクセスが必須であるとする技術的根拠は何ら認められない。
してみると,引用発明において,第2の書き込み処理が「少なくとも1つのリモート不揮発性メモリ装置(330)と関与せずに」行われるものであって,ストレージノード(310)の「少なくとも1つの永続性ストレージ装置(340-1,340-N)に書き込」まれるとすることは,引用発明が,ディスクを有するストレージシステムであって,ディスクに書き込む際にNVRAMに対するアクセスが必須であるとする技術的根拠が何ら認められないことを鑑みれば,当業者であれば容易になし得る事項と認められる。

ウ 小括

上記ア及びイで検討したとおり,相違点1及び相違点2に係る構成は,引用発明に記載された技術に基づいて,当業者が容易に想到し得たものであり,そして,これらの相違点を総合的に勘案しても,本件補正発明の奏する作用効果は,引用発明に記載された技術の奏する作用効果から予測される範囲内のものにすぎず,格別顕著なものということはできない。
したがって,本件補正発明は,引用発明に記載された技術的事項に基づいて,当業者が容易に発明をすることができたものであり,特許法第29条第2項の規定により,特許出願の際独立して特許を受けることができない。

3 本件補正についてのむすび

よって,本件補正は,特許法第17条の2第6項において準用する同法第126条第7項の規定に違反するので,同法第159条第1項の規定において読み替えて準用する同法第53条第1項の規定により却下すべきものである。
よって,上記補正の却下の決定の結論のとおり決定する。

第3 本願発明について

1 本願発明の認定

令和2年2月19日にされた手続補正は,上記のとおり却下されたので,本願の請求項に係る発明は,令和1年6月7日にされた手続補正により補正された特許請求の範囲の請求項1?23に記載された事項により特定されるものであるところ,その請求項1に係る発明(以下,「本願発明」という。)は,その請求項1に記載された事項により特定される,上記「第2[理由]1(2)」に記載された下記のとおりのものである。

「 複数のホストサーバ(100)を備え、前記複数のホストサーバの各ホストサーバは少なくとも1つのプロセッサ(111)を含み、少なくとも1つのネットワーク(200)を介して複数のストレージノード(310)と通信するように構成され、
前記複数のストレージノードの少なくとも1つのストレージノードは少なくとも1つの永続性ストレージ装置(340-1,340-N)及び少なくとも1つのストレージコントローラ(320-1,320-2,..,320-N)を含む、データストレージシステムであって、
前記ホストサーバは、
データストレージ読出し/書込み要求を発行する少なくとも1つのプロセスと、
書込み要求に対応するデータを非永続的にキャッシュするように構成されたキャッシュ(113)を構成するメモリ装置と、
前記書込み要求に対応するデータを、一時的な書込み先として少なくとも1つのリモート不揮発性メモリ装置(330)に書き込むように構成されたシステムソフトウェア(115)コンポーネントと、
前記少なくとも1つのプロセッサで実行されたとき、前記少なくとも1つのプロセッサに、前記書込み要求に対応するデータに対して少なくとも1つのストレージ処理機能を実行させるコンピュータ実行可能なコードを備える分散仮想アレイ(DVA)サブシステム(405)と、
を含み、
前記少なくとも1つのストレージ処理機能は、
書き込まれるデータのフィンガープリントを計算し、前記フィンガープリントを前記複数のストレージノード(310)の選択された一つに格納する処理、
書き込まれるデータを圧縮し、そのデータを圧縮した形で前記複数のストレージノード(310)の少なくとも1つに格納のために送信する処理、
書き込まれるデータにわたって誤り訂正データを計算し、書き込まれるデータと計算した誤り訂正の両方を前記複数のストレージノード(310)の少なくとも1つに格納する処理、及び
データの書込みをログし、対応するログ情報を少なくとも1つのストレージノードのストレージコントローラ(320-1,320-2,..,320-N)に送信する処理、
のうちの少なくとも1つを含む、
ことを特徴とするシステム。」

2 原査定の拒絶の理由

原査定の拒絶の理由は,この出願の請求項1に係る発明は,本願の優先日前に頒布された又は電気通信回線を通じて公衆に利用可能となった下記の引用文献1に記載された発明に記載された技術に基づいて,その出願前にその発明の属する技術の分野における通常の知識を有する者が容易に発明をすることができたものであるから,特許法第29条第2項の規定により特許を受けることができない,というものである。

1.米国特許出願公開第2015/0127975号明細書

3 引用文献

原査定の拒絶の理由に引用された,引用文献1,及びその記載事項は,上記「第2[理由]2(2)」に記載したとおりである。

4 対比・判断

本願発明は,上記「第2[理由]2(1)」で検討した本件補正発明の「ソフトウェア(115)コンポーネント」が行う書き込み処理について,
「少なくとも2回」書き込むとの限定,及び,
「第1の書き込み処理において、前記複数のストレージノード(310)のいずれの永続性ストレージ装置(340-1,340-N)とも関与せずに、前記ホストサーバからの前記書込み要求に対応するデータを、前記複数のストレージノード(310)の少なくとも1つのリモート不揮発性メモリ装置(330)に書き込み、
第2の書き込み処理において、前記少なくとも1つのリモート不揮発性メモリ装置(330)と関与せずに、前記書込み要求に対応するデータに対して前記少なくとも1つのストレージ処理機能により生成されたデータを、前記複数のストレージノード(310)の前記少なくとも1つの永続性ストレージ装置(340-1,340-N)に書き込み、
前記少なくとも1つのリモート不揮発性メモリ装置(330)は、一時的なバックアップデータストレージシステムを構成し」
との限定を削除するものである。

そうすると,本願発明の発明特定事項を全て含み,さらに他の事項を付加したものに相当する本件補正発明が,上記「第2[理由]2(3),(4)」に記載したとおり,引用発明に記載された技術に基づいて,当業者が容易に発明をすることができたものであるから,本願発明も,引用発明に記載された技術に基づいて,当業者が容易に発明をすることができたものである。

第4 むすび

以上のとおり,本願の請求項1に係る発明は,特許法第29条第2項の規定により特許を受けることができないものであるから,その余の請求項に係る発明について検討するまでもなく,本願は拒絶すべきものである。
よって,結論のとおり審決する。

 
別掲
 
審理終結日 2020-10-23 
結審通知日 2020-10-27 
審決日 2020-11-11 
出願番号 特願2015-130381(P2015-130381)
審決分類 P 1 8・ 121- Z (G06F)
P 1 8・ 575- Z (G06F)
最終処分 不成立  
前審関与審査官 田名網 忠雄  
特許庁審判長 田中 秀人
特許庁審判官 月野 洋一郎
山澤 宏
発明の名称 分散仮想アレイを用いるデータストレージシステム  
代理人 吉澤 雄郎  
代理人 杉村 憲司  

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