【事件の表示】
　特願２０１６−１６０１５７「仮想マシンイメージファイルを抽出する方法および装置」拒絶査定不服審判事件〔平成２９年　５月１８日出願公開、特開２０１７−　８４３３４、請求項の数（１６）〕について、次のとおり審決する。
【結　論】
　原査定を取り消す。
　本願の発明は、特許すべきものとする。
【理　由】
第１　手続の経緯
　本願は，平成２８年８月１７日（パリ条約による優先権主張２０１５年１０月２８日，中国）の出願であって，平成２９年６月１３日付けで拒絶の理由が通知され（同年６月２７日発送），同年９月２７日に意見書とともに手続補正書が提出され，平成３０年２月２３日付けで拒絶査定（謄本送達日同年２月２７日）がなされ，これに対して同年６月２７日に審判請求がなされると共に手続補正がなされ，同年１０月２３日付けで審査官により特許法１６４条３項の規定に基づく報告がなされ，令和１年６月３日付けで当審により拒絶の理由が通知され（同年６月４日発送），同年９月４日に手続補正書が提出されたものである。
第２　原査定の概要
　原査定（平成３０年２月２３日付け拒絶査定）の概要は次のとおりである。
１．（進歩性）この出願の下記の請求項に係る発明は、その出願前に日本国内又は外国において、頒布された下記の刊行物に記載された発明又は電気通信回線を通じて公衆に利用可能となった発明に基いて、その出願前にその発明の属する技術の分野における通常の知識を有する者が容易に発明をすることができたものであるから、特許法２９条２項の規定により特許を受けることができない。
２．（実施可能要件）この出願は、発明の詳細な説明の記載が下記の点で、特許法３６条４項１号に規定する要件を満たしていない。
３．（明確性）この出願は、特許請求の範囲の記載が下記の点で、特許法３６条６項２号に規定する要件を満たしていない。
　　　　　 記　　　（引用文献等については引用文献等一覧参照）
●理由１（進歩性）について
・請求項　１，４−１０，１３−１８
・引用文献等　１−３
●理由２（実施可能要件）及び理由３（明確性）について
省略
＜拒絶の理由を発見しない請求項＞
　請求項２−３，１１−１２に係る発明については、現時点では、拒絶の理由を発見しない。
＜引用文献等一覧＞
１.特開２０１４−０２１７５４号公報
２.米国特許出願公開第２０１４／０１４９６９６号明細書
３.国際公開第２０１５／０８３２５５号
第３　本願発明
　本願請求項１乃至１６に係る発明（以下「本願発明１」乃至「本願発明１６」という。）は，令和１年９月４日付け手続補正書によって補正された特許請求の範囲の請求項１乃至１６に記載された，次のとおりのものと認める。
「　　【請求項１】
　抽出されるべきイメージファイルのタイムスタンプを含むイメージ抽出コマンドを取得するステップであって、前記抽出されるべきイメージファイルは、基礎イメージファイルを含むか、或いは、前記基礎イメージファイルと増分ファイルとを含むステップと、
　前記イメージ抽出コマンドが基礎イメージファイルのみを抽出するコマンドであるかどうかを判断するステップと、
　前記イメージ抽出コマンドが基礎イメージファイルのみを抽出するコマンドである場合に、クラウドコンピューティングプラットフォームを構成する各物理マシンのうちの、仮想マシンに割り当てられるホスト物理マシンであるローカル物理マシンから、前記各物理マシンに予め分配された基礎イメージファイルを取得するステップと、
　前記イメージ抽出コマンドが基礎イメージファイル及び増分ファイルを抽出するコマンドである場合に、前記各物理マシンに予め分配された基礎イメージファイルを前記ローカル物理マシンから取得し、前記抽出されるべきイメージファイルのタイムスタンプを満たす増分ファイルを前記ローカル物理マシンまたはミラーサーバから取得するステップとを含み、
　前記抽出されるべきイメージファイルのタイムスタンプを満たす増分ファイルを前記ローカル物理マシンまたはミラーサーバから取得するステップにおいては、
　前記ローカル物理マシンに前記イメージ抽出コマンドを満たす増分ファイルが記憶されているかどうかを判断するステップと、
　前記ローカル物理マシンに前記増分ファイルが記憶されていれば、前記ローカル物理マシンから前記増分ファイルを取得し、前記ローカル物理マシンに前記増分ファイルが記憶されていなければ、イメージファイル依存チェーンが記憶されているデータベースに増分ファイル検索コマンドを送信し、検索結果に基づいて、ミラーサーバから前記増分ファイルを抽出するステップと
　を含むことを特徴とする仮想マシンイメージファイルを抽出する方法。
　　【請求項２】
　前記のイメージファイル依存チェーンが記憶されているデータベースに増分ファイル検索コマンドを送信し、検索結果に基づいて、ミラーサーバから前記増分ファイルを抽出するステップにおいては、さらに、
　前記データベースにおいて前記増分ファイルの依存関係を検索し、前記依存関係に基づいてローカル物理マシンに前記増分ファイルの依存ファイルが記憶されているかどうかを検索するステップと、
　ローカル物理マシンに前記増分ファイルの依存ファイルが記憶されていなければ、前記ミラーサーバから前記依存ファイルを抽出するステップと
　を含むことを特徴とする請求項１に記載の方法。
　　【請求項３】
　各物理マシンに予め分配された基礎イメージファイルが仮想マシンに引用されるかどうかを検出するステップと、
　各物理マシンに予め分配された基礎イメージファイルが仮想マシンに引用される場合に、検出された基礎イメージファイルをキープし、前記検出された基礎イメージファイルのタイムスタンプを検出時のタイムスタンプに更新するステップと、
　各物理マシンに予め分配された基礎イメージファイルが仮想マシンに引用されず、且つ前記検出された基礎イメージファイルのタイムスタンプが指示する時間から現在時間までの間隔がプリセット時間間隔を超える場合に、前記検出された基礎イメージファイルを削除するステップと
　を含むことを特徴とする請求項１又は２のいずれか１項に記載の方法。
　　【請求項４】
　所定時間おきに前記各物理マシンに予め分配された基礎イメージファイルを更新するステップを含む
　ことを特徴とする請求項３に記載の方法。
　　【請求項５】
　前記基礎イメージファイルは、
　オリジナルイメージファイル、または
　オリジナルイメージファイルおよびオリジナルイメージファイルのパッチファイルを含む
　ことを特徴とする請求項４に記載の方法。
　　【請求項６】
　前記基礎イメージファイルは、オリジナルイメージファイルおよびオリジナルイメージファイルの１つのパッチファイルを含む
　ことを特徴とする請求項５に記載の方法。
　　【請求項７】
　前記増分ファイルは仮想マシンイメージファイルを作成する時に仮想マシンフロッピーディスクファイルのトップファイルに基づいて生成されるイメージファイルである
　ことを特徴とする請求項６に記載の方法。
　　【請求項８】
　前記仮想マシンイメージファイルはｑｃｏｗ２チェーン式構造である
　ことを特徴とする請求項７に記載の方法。
　　【請求項９】
　抽出されるべきイメージファイルのタイムスタンプを含むイメージ抽出コマンドを取得するための第１の取得ユニットであって、前記抽出されるべきイメージファイルは、基礎イメージファイルを含むか、或いは、基礎イメージファイルと増分ファイルとを含む第１の取得ユニットと、
　前記イメージ抽出コマンドが基礎イメージファイルのみを抽出するコマンドであるかどうかを判断するための判断ユニットと、
　前記イメージ抽出コマンドが基礎イメージファイルのみを抽出するコマンドである場合に、クラウドコンピューティングプラットフォームを構成する各物理マシンのうちの、仮想マシンに割り当てられるホスト物理マシンであるローカル物理マシンから、前記各物理マシンに予め分配された基礎イメージファイルを取得するための第２の取得ユニットと、
　前記イメージ抽出コマンドが基礎イメージファイル及び増分ファイルを抽出するコマンドである場合に、前記各物理マシンに予め分配された基礎イメージファイルを前記ローカル物理マシンから取得し、前記抽出されるべきイメージファイルのタイムスタンプを満たす増分ファイルを前記ローカル物理マシンまたはミラーサーバから取得するための第３の取得ユニットとを含み、
　前記第３の取得ユニットは、
　前記ローカル物理マシンに前記イメージ抽出コマンドを満たす増分ファイルが記憶されているかどうかを判断するための判断サブユニットと、
　前記ローカル物理マシンに前記増分ファイルが記憶されていれば、前記ローカル物理マシンから前記増分ファイルを取得するための第１の取得サブユニットと、
　前記ローカル物理マシンに前記増分ファイルが記憶されていなければ、イメージファイル依存チェーンが記憶されているデータベースに増分ファイル検索コマンドを送信し、検索結果に基づいて、ミラーサーバから前記増分ファイルを抽出するための第１の抽出サブユニットと
　を含むことを特徴とする仮想マシンイメージファイルの抽出を加速する装置。
　　【請求項１０】
　前記第１の抽出サブユニットは、
　前記データベースにおいて前記増分ファイルの依存関係を検索し、前記依存関係に基づいてローカル物理マシンに前記増分ファイルの依存ファイルが記憶されているかどうかを検索するための検索サブユニットと、
　ローカル物理マシンに前記増分ファイルの依存ファイルが記憶されていなければ、前記ミラーサーバから前記依存ファイルを抽出するための第２の抽出サブユニットと
　を含むことを特徴とする請求項９に記載の装置。
　　【請求項１１】
　各物理マシンに予め分配された前記基礎イメージファイルが仮想マシンに引用されるかどうかを検出するための検出ユニットと、
　各物理マシンに予め分配された前記基礎イメージファイルが仮想マシンに引用される場合に、検出された基礎イメージファイルをキープし、前記検出された基礎イメージファイルのタイムスタンプを検出時のタイムスタンプに更新するための第１の更新ユニットと、
　各物理マシンに予め分配された前記基礎イメージファイルが仮想マシンに引用されず、且つ前記検出された基礎イメージファイルのタイムスタンプが指示する時間から現在時間までの間隔がプリセット時間間隔を超える場合に、前記検出された基礎イメージファイルを削除する削除ユニットと
　をさらに含むことを特徴とする請求項９又は１０に記載の装置。
　　【請求項１２】
　所定時間おきに各物理マシンに予め分配された前記基礎イメージファイルを更新するための第２の更新ユニットをさらに含む
　ことを特徴とする請求項１１に記載の装置。
　　【請求項１３】
　前記装置における前記基礎イメージファイルは、
　オリジナルイメージファイル、または
　オリジナルイメージファイルおよびオリジナルイメージファイルのパッチファイルを含む
　ことを特徴とする請求項１２に記載の装置。
　　【請求項１４】
　前記装置における前記基礎イメージファイルは、オリジナルイメージファイルおよびオリジナルイメージファイルの１つのパッチファイルを含む
　ことを特徴とする請求項１３に記載の装置。
　　【請求項１５】
　前記装置における前記増分ファイルは仮想マシンイメージファイルを作成する時に仮想マシンフロッピーディスクファイルのトップファイルに基づいて生成されるイメージファイルである
　ことを特徴とする請求項１４に記載の装置。
　　【請求項１６】
　前記装置における前記仮想マシンイメージファイルはｑｃｏｗ２チェーン式構造である
　ことを特徴とする請求項１５に記載の装置。」
第４　引用例
１　引用例１に記載された事項及び引用発明
　原査定の拒絶の理由において引用した，本願の第一国出願前に既に公知である，特開２０１４−２１７５４号公報（平成２６年２月３日公開。以下，これを「引用例１」という。）には，関連する図面と共に，次の事項が記載されている。（下線は説明のために当審で付加。以下同様。）
Ａ　「【００１５】
　図１に示すように、
仮想マシン管理システム１００は、サーバ等の一般的なコンピュータであり、記憶部１１０と、制御部１２０と、通信部１３０と、これらを相互に接続するシステムバス１４０と、を備えている
仮想マシン管理システム１００は、ネットワークを介して複数のクライアント端末２００に接続され
仮想マシン管理システム１００は、クライアント端末２００からの指示にしたがって、後述する登録、変更、削除といった各種操作に応じた処理を実行する
【００１６】
　
記憶部１１０は、
複数の履歴ＤＢ１１２と、差分情報テーブル１１３と、共通部分ＤＢ１１４と、が格納され
記憶部１１０には、仮想マシン起動領域が予め設定されている
【００１７】
　プログラム１１１は、仮想マシン管理システム１００上で実行される後述の処理を実施する機能を有するソフトウェアである。
【００１８】
　
履歴ＤＢ１１２は、図２に示すように、リビジョン情報と、操作日時情報と、差分識別情報と、コメント情報と、仮想マシン識別情報と、作業者名情報と、操作内容情報と、を対応付けたレコードを１レコードとするデータベースであり、仮想マシン単位で格納されている
履歴ＤＢ１１２には、初期の仮想マシンの状態を示すバイナリデータ（初期バイナリデータ）が記憶されている
【００１９】
　リビジョン情報は、仮想マシンに対する操作が行われる度に割り当てられ、操作が行われた順に付与される通し番号である。
操作日時情報は、仮想マシンに対する操作が行われた日時を示す情報である
差分識別情報は、後述する差分情報毎に付与される情報であり、当該差分情報を識別する識別情報である
仮想マシン識別情報は、複数構築された仮想マシンのうちのいずれの仮想マシンであるかを識別する情報である
【００２０】
　
差分情報テーブル１１３は、仮想マシンに対する操作が行われた場合に、操作の前後における仮想マシンの状態の差分を示す情報（差分情報）が、差分識別情報と対応付けられて格納されているテーブルである
差分情報は、記憶部１１０に設けられた仮想マシン起動領域に記憶されている仮想マシンバイナリデータの内容と、変更処理が行われる以前の仮想マシンバイナリデータの内容との差分を示す情報である
【００２１】
　共通部分ＤＢ１１４は、複数の仮想マシン間で共通する設定情報等が定義された共通情報を、仮想マシン識別情報とリビジョン情報とに応付けたレコードを１レコードとするデータベースである。共通情報には、共通するファイル名とそのパス情報が含まれている。
【００２２】
　制御部１２０は、ＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）等から構成される。制御部１２０は、記憶部１１０に記憶されたプログラム１１１に従って動作し、プログラム１１１に従った処理を実行する。
制御部１２０は、プログラム１１１により提供される主要な機能部として、コミット部１２１と、復元部１２２と、ブランチ作成部１２３と、ブランチ削除部１２４と、マスタファイル登録部１２５と、を備えている
【００２３】
　コミット部１２１は、後述する通信部１３０を介してクライアント端末２００からコミット命令を取得し、差分情報を生成して登録する機能を有している。
復元部１２２は、通信部１３０を介してクライアント端末２００から復元命令を取得し、当該復元命令に基づいて記憶部１１０の記憶されている差分情報と共通情報を特定して、仮想マシンの状態を、復元命令により要求される仮想マシンの状態に復元する機能を有している
Ｂ　「【００３８】
　次に、復元処理について、図６および図７を参照して説明する。
復元処理は、現在の仮想マシンの状態（現在のバイナリデータ）を、過去にコミット処理を行ったときの状態（過去のバイナリデータ）に戻す処理である
復元処理は、
クライアント端末２００からの復元命令に基づいて実行され
復元処理において
復元部１２２の機能により通信部１３０を介して受信した復元命令を取得する
復元命令には、仮想マシン識別情報と、操作内容情報と、作業者名情報と、リビジョン情報と、が含まれている
【００３９】
　続いて制御部１２０は、ステップＳ２０１で取得した
復元命令に含まれる仮想マシン識別情報に基づいて、復元対象となる仮想マシンを特定する
特定した仮想マシンに対応する初期バイナリデータを、記憶部１１０に格納されている履歴ＤＢ１１２を参照して取得する（ステップＳ２０３）
【００４０】
　ステップＳ２０３の処理を実行した後は、ステップＳ２０１で取得した
復元命令に含まれるリビジョン情報に基づいて復元すべきリビジョンを特定する
【００４１】
　ステップＳ２０５の処理を実行した後は、
記憶部１１０の履歴ＤＢ１１２を参照して、最初の（最も古い）リビジョン（リビジョン１）に対応する差分識別情報を特定し、差分情報テーブル１１３を参照して差分情報を取得する
初期バイナリデータに適用する
これにより、バイナリデータは、過去（過去にコミット処理を行ったとき）の状態（状態Ａ）に復元され
【００４２】
　ステップＳ２０８の処理を実行した後は、ステップＳ２０５にて記憶部１１０へ記憶した、復元に必要な差分情報の数を「１」減算することで、記憶部１１０に記憶されている復元に必要な差分情報の数を更新する（ステップＳ２０９）。例えば、状態Ｂの仮想マシンに復元する場合には、ステップＳ２０９の処理にて、復元に必要な差分情報の数を「２」から「１」へと「１」減算する。続いて、復元に必要な差分情報の数が「０」であるか否かを判定し（ステップＳ２１０）、「０」でない場合には（ステップＳ２１０；Ｎｏ）、ステップＳ２０７の処理に戻る。例えば、上記の例のように、状態Ｂの仮想マシンに復元する場合には、一度ステップＳ２０９の処理を行った段階では、復元に必要な差分情報の数が「１」になっており、「０」ではないため、ステップＳ２０７の処理に戻ることとなる。この場合には、ステップＳ２０７の処理にて、前回取得した差分情報の次の差分情報（差分２）を取得するようにすればよい。具体的には、初期値として適用すべき差分情報を「１」と設定しておき、ステップＳ２０７の処理を実行する度に、適用すべき差分情報を「１」インクリメントし、ステップＳ２０７にて取得すべき差分情報を特定すればよい。
【００４３】
　ステップＳ２１０の処理にて復元に必要な差分情報の数が「０」であると判定した場合、
復元すべきリビジョン情報の仮想マシンの状態（状態Ｃ）となったと判定し、当該バイナリデータを記憶部１１０の仮想マシン起動領域に登録する
　上記記載事項Ａ及びＢから，引用例１には次の発明（以下「引用発明」という。）が記載されているといえる。
「サーバ等の一般的なコンピュータである仮想マシン管理システム１００は，記憶部１１０と，制御部１２０と，通信部１３０と，これらを相互に接続するシステムバス１４０とを備えていて，ネットワークを介して複数のクライアント端末２００に接続され，クライアント端末２００からの指示にしたがって，登録，変更，削除といった各種操作に応じた処理を実行するものであって，
　前記記憶部１１０は，複数の履歴ＤＢ１１２と，差分情報テーブル１１３と，共通部分ＤＢ１１４と，が格納され，仮想マシン起動領域が予め設定されており，
　前記履歴ＤＢ１１２は，リビジョン情報と，操作日時情報と，差分識別情報と，コメント情報と，仮想マシン識別情報と，作業者名情報と，操作内容情報と，を対応付けたレコードを１レコードとするデータベースであり，仮想マシン単位で格納されており，初期の仮想マシンの状態を示すバイナリデータ（初期バイナリデータ）が記憶されており，
　前記操作日時情報は，仮想マシンに対する操作が行われた日時を示す情報であり，
　前記差分識別情報は，後述する差分情報毎に付与される情報であり，当該差分情報を識別する識別情報であり，
　前記仮想マシン識別情報は，複数構築された仮想マシンのうちのいずれの仮想マシンであるかを識別する情報であり，
　前記差分情報テーブル１１３は，仮想マシンに対する操作が行われた場合に，操作の前後における仮想マシンの状態の差分を示す情報（差分情報）が，差分識別情報と対応付けられて格納されているテーブルであり，
　前記差分情報は，記憶部１１０に設けられた仮想マシン起動領域に記憶されている仮想マシンバイナリデータの内容と，変更処理が行われる以前の仮想マシンバイナリデータの内容との差分を示す情報であり，
　前記制御部１２０は，プログラム１１１により提供される主要な機能部として，コミット部１２１と，復元部１２２と，ブランチ作成部１２３と，ブランチ削除部１２４と，マスタファイル登録部１２５と，を備え，
　前記復元部１２２は，通信部１３０を介してクライアント端末２００から復元命令を取得し，当該復元命令に基づいて記憶部１１０の記憶されている差分情報と共通情報を特定して，仮想マシンの状態を，復元命令により要求される仮想マシンの状態に復元する機能を有していて，
　復元処理は，現在の仮想マシンの状態（現在のバイナリデータ）を，過去にコミット処理を行ったときの状態（過去のバイナリデータ）に戻す処理であり，クライアント端末２００からの復元命令に基づいて実行され，前記復元処理において，復元部１２２の機能により通信部１３０を介して受信した復元命令を取得し，前記復元命令には，仮想マシン識別情報と，操作内容情報と，作業者名情報と，リビジョン情報と，が含まれており，
　前記復元命令に含まれる仮想マシン識別情報に基づいて，復元対象となる仮想マシンを特定し，前記特定した仮想マシンに対応する初期バイナリデータを，記憶部１１０に格納されている履歴ＤＢ１１２を参照して取得し，
　前記復元命令に含まれるリビジョン情報に基づいて復元すべきリビジョンを特定し，
　前記記憶部１１０の履歴ＤＢ１１２を参照して，最初の（最も古い）リビジョン（リビジョン１）に対応する差分識別情報を特定し，差分情報テーブル１１３を参照して差分情報を取得して初期バイナリデータに適用し，これにより，バイナリデータは，過去（過去にコミット処理を行ったとき）の状態（状態Ａ）に復元され，
　復元すべきリビジョン情報の仮想マシンの状態（状態Ｃ）となったと判定されたら，当該バイナリデータを記憶部１１０の仮想マシン起動領域に登録する
　仮想マシン管理システムの仮想マシン復元方法。」
２　引用例２に記載された事項
　原査定の拒絶の理由において引用した，本願の第一国出願前に既に公知である，米国特許公開第２０１４／０１４９６９６号明細書（２０１４年５月２９日公開。以下，これを「引用例２」という。）には，関連する図面と共に，次の事項が記載されている。
Ｃ　「[0034]　The method  300  starts, and the processing logic, at block  302 , identifies a restore request. The processing logic, in one embodiment, identifies a restore request by receiving, via a user interface, a request from a user or client device to restore a virtual machine. In another embodiment the processing logic receives a restore request from the virtualization manager which may be configured to identify when a virtual machine has become unresponsive, for example.
[0035]　At block  304 , the processing logic retrieves the virtual machine configuration data (e.g., metadata) from the data store. 
The processing logic, in one embodiment, is configured to retrieve a specific metadata and separate storage snapshot from the data store based upon the restore request. The restore request may include a snapshot identifier, such as a time stamp received from a user.
[0036]　At decision block  306 , the processing logic determines if the integrity of the virtual storage device snapshot is valid. In one embodiment, the processing logic determines if the integrity of the virtual storage device snapshot is valid by performing a cyclic redundancy check, or by comparing hash values. The processing logic, in one example, is also configured to determine if the desired storage snapshot of the storage devices no longer exists. Stated differently, over time, storage requirements may dictate that old storage snapshots of the storage devices be deleted. The processing logic determines if the storage snapshot corresponding to the retrieved metadata snapshot exists, and if the storage snapshot is valid. If not, the processing logic presents only the virtual machine metadata at block  308 . In a further embodiment, the processing logic may determine that while some virtual storage devices are corrupt, at least one virtual storage device is intact (i.e., integrity is verified). In this example, the processing logic presents the virtual machine configuration with the intact virtual storage device.
[0037]　If the processing logic determines that the storage snapshot is valid, the processing logic, at block  310 , presents a preview of the virtual machine based upon the storage snapshot and the metadata snapshot, as described above with reference to  FIG. 1 . At decision block  312 , the processing logic determines whether to “commit” the virtual machine to a host device. In other words, before provisioning the virtual machine based upon the metadata snapshot and storage snapshot, the processing logic presents the preview to the user and receives instructions from the user of whether to provision the virtual machine, or to preview a different snapshot. If yes, the processing logic, at block  314 , restores the virtual machine by provisioning, or instructing a hypervisor to provision a virtual machine based upon the metadata snapshot and the storage snapshot.」
（当審仮訳：
[0034]方法300が開始されると、処理ロジックは、ブロック302で、リストア要求を識別する。処理ロジックは、一実施形態では、ユーザインターフェースを介して、受信側のユーザまたはクライアント・デバイスからの要求を、仮想マシンを復元することにより、復元要求を識別する。別の実施形態では、処理ロジックは、仮想マシンが応答不能になったときを識別するように構成されていてもよい仮想化マネージャから復元要求を受信する。
[0035]ブロック304において、処理ロジックは、データストアから仮想マシンコンフィギュレーションデータ(例えば、メタデータ)を検索する。
処理論理は、1つの実施形態では、リストア要求に基づいてデータ記憶部から特定のメタ情報と別個のストレージのスナップショットを取得するように構成される
復元要求は、ユーザから受信されたタイムスタンプのようなスナップショット識別子を含むことができる
[0036]判定ブロック306において、処理ロジックは、仮想ストレージ装置のスナップショットの完全性が有効であるかどうかを判定する。一実施形態では、処理ロジックは、仮想ストレージ装置のスナップショットの完全性は、巡回冗長検査を行うことにより、ハッシュ値を比較することによって、有効であるかどうかを判定する。処理ロジックは、また、一例では、記憶装置はもはや所望のストレージのスナップショットが存在しないかどうかを判定するように構成される。別の言い方をすれば、時間が経つにつれて、貯蔵要件は、ストレージ・デバイスのストレージのスナップショットを削除するよう指示することができる。処理論理は、検索したメタデータのスナップショットに対応するスナップショットが存在する場合には、スナップショットが有効であるかどうかを判定する。そうでない場合、処理ロジックは、ブロック308で仮想計算機のみメタデータを提示する。さらなる実施形態では、処理ロジックは、いくつかの仮想記憶装置が破壊されているが、少なくとも1つの仮想記憶装置が無傷である(すなわち、完全性が検証された)と決定することができる。この例では、処理ロジックは、完全な仮想ストレージ装置と仮想マシンの構成を示す。
[0037]処理ロジックは、ストレージスナップショットが有効であると判定した場合、処理ロジックは、ブロック310で、スナップショット・メタデータのスナップショットに基づいて仮想マシンのプレビューを提示することを、図1を参照して上述した通りである。判定ブロック312において、処理ロジックは、仮想マシンをホスト・デバイスに“commit”するか否かを判定する。換言すると、メタデータのスナップショットを記憶するスナップショットに基づき仮想マシンをプロビジョニングする前に、処理ロジックは、プレビューをユーザに提示して、仮想マシンを提供するために、異なるスナップショットをプレビューするか否かのユーザからの指示を受け付ける。肯定の場合、処理ロジックは、ブロック314では、プロビジョニング時の仮想マシンを復元する、またはメタデータのスナップショットを記憶するスナップショットに基づき仮想マシンをプロビジョニングするためにハイパーバイザを指示する。）
３　引用例３に記載された事項
　原査定の拒絶の理由において引用した，本願の第一国出願前に既に公知である，国際公開第２０１５／０８３２５５号（２０１５年６月１１日国際公開。以下，これを「引用例３」という。）には，関連する図面と共に，次の事項が記載されている。
Ｄ　「[0018]　
マスタイメージ５０は、ＯＳ及びアプリケーションを含むブートイメージである
ひとつのマスタイメージ５０を複数のユーザで使用し、各ユーザがＯＳやアプリケーションを用いて生成又は更新したデータは、差分データ６０としてユーザ毎に保持される
Ｅ　「[0118]　ステップＳ５５で、
端末管理サーバ３は、新マスタイメージで当該ユーザの仮想マシン１１３を起動させるために、ターミナルサーバ４に新たな仮想マシン１１３の割り当て要求を送信する
使用マスタイメージ２０２１と差分データ２０２２を取得する
ターミナルサーバ４は、図１７に示したＶＭ割当プログラム１１０を実行して、新マスタイメージで仮想マシン１１３を起動させる
Ｆ　「[0121]　
端末管理サーバ３は、マスタイメージ管理テーブル２０１を参照し、最終使用日２０１３の値を取得する
最終使用日２０１３の日付から本日までの日数が所定の日数を超えたマスタイメージ又はコピー（レコード）があるか否かを判定する
…（中略）…
[0123]　ステップＳ６４では、端末管理サーバ３が、
未使用期間が閾値を超え、かつ、ゴールデンイメージが当サイトにないマスタイメージ（又はコピー）をストレージ装置５から削除する
第５　対比・判断
１　本願発明１について
（１）　対比
　本願発明１と引用発明とを対比する。
（あ）引用発明の「仮想マシン管理システム１００」は，「クライアント端末２００からの指示にしたがって，登録，変更，削除といった各種操作に応じた処理を実行するもの」であり，「記憶部１１０」に格納される「履歴ＤＢ１１２」には，「初期の仮想マシンの状態を示すバイナリデータ（初期バイナリデータ）が記憶されて」いる。
　そして，「制御部１２」の「主要な機能部」の一つである「復元部１２２」は，「クライアント端末２００から復元命令を取得し，当該復元命令に基づいて記憶部１１０の記憶されている差分情報と共通情報を特定して，仮想マシンの状態を，復元命令により要求される仮想マシンの状態に復元する機能を有して」いて，「現在の仮想マシンの状態（現在のバイナリデータ）を，過去にコミット処理を行ったときの状態（過去のバイナリデータ）に戻す処理」である「復元処理」は，「クライアント端末２００からの復元命令に基づ」いて実行され，「前記復元命令に含まれる仮想マシン識別情報」に基づいて，「復元対象となる仮想マシンを特定し，前記特定した仮想マシンに対応する初期バイナリデータを，記憶部１１０に格納されている履歴ＤＢ１１２を参照して取得」し，「前記復元命令に含まれるリビジョン情報に基づいて復元すべきリビジョンを特定」し，「前記記憶部１１０の履歴ＤＢ１１２を参照して，最初の（最も古い）リビジョン（リビジョン１）に対応する差分識別情報を特定し，差分情報テーブル１１３を参照して差分情報を取得して初期バイナリデータに適用し，これにより，バイナリデータは，過去（過去にコミット処理を行ったとき）の状態（状態Ａ）に復元」されることから，当該「初期バイナリデータ」及び「差分情報」は，当該復号の際に必要となる情報であって，本願発明１の「抽出されるべきイメージファイル」に対応し，引用発明の「初期バイナリデータ」は，本願発明１の「基礎イメージファイル」に対応するといえる。また，引用発明の「復元処理」は，「クライアント端末２００からの復元命令に基づ」いて実行されることから，当該「復元命令」は，本願発明１の「イメージ抽出コマンド」に対応するといえるので，引用発明と本願発明１とは，“抽出されるべきイメージファイルのイメージ抽出コマンドを取得するステップであって，前記抽出されるべきイメージファイルは，基礎イメージファイルを含むステップ”を含む点で一致する。
（い）引用発明の「復元処理」では，「復元対象となる仮想マシンを特定し，前記特定した仮想マシンに対応する初期バイナリデータを，記憶部１１０に格納されている履歴ＤＢ１１２を参照して取得」する処理を含む一方，「前記復元命令に含まれるリビジョン情報に基づいて復元すべきリビジョンを特定」し，「最初の（最も古い）リビジョン（リビジョン１）に対応する差分識別情報を特定し，差分情報テーブル１１３を参照して差分情報を取得して初期バイナリデータに適用し，これにより，バイナリデータは，過去（過去にコミット処理を行ったとき）の状態（状態Ａ）に復元」されることに鑑みれば，当該「差分情報」を用いない，すなわち「初期バイナリデータ」のみを用いた復元も行われ得ることが読み取れるから，上記（あ）の認定を踏まえて，引用発明と本願発明１とは，“前記イメージ抽出コマンドが基礎イメージファイルのみを抽出するコマンドであるかどうかを判断するステップ”を含む点，及び“前記イメージ抽出コマンドが基礎イメージファイルのみを抽出するコマンドである場合に，基礎イメージファイルを取得するステップ”を含む点で一致するといえる。
（う）引用発明の「復元処理」ではまた，「初期バイナリデータを，記憶部１１０に格納されている履歴ＤＢ１１２を参照して取得」するとともに，「差分情報テーブル１１３を参照して差分情報を取得」していて，当該「差分情報」と本願発明１の「増分ファイル」とは，“基礎イメージファイル”とともに取得される“他の情報”である点で共通するといえる。
　そして，当該「差分情報」は，「差分情報テーブル１１３を参照」して「取得」され，当該「差分情報テーブル１１３」は，「サーバ等の一般的なコンピュータである仮想マシン管理システム１００」の「記憶部１１０」に「格納されている」ものであり，“他の情報をサーバから取得”しているといえることから，引用発明と本願発明１とは，“前記イメージ抽出コマンドが基礎イメージファイル及び他の情報を抽出するコマンドである場合に，前記他の情報をサーバから取得するステップ”を含む点で一致する。
（え）引用発明において，「差分情報テーブル１１３を参照して差分情報を取得」する際には，「差分情報テーブル１１３を参照して」取得される。上記（う）のとおり，当該「差分情報テーブル１１３」は，「サーバ等の一般的なコンピュータである仮想マシン管理システム１００」が備える「記憶部１１０」に格納されるものであり，当該「差分情報テーブル１１３」から「差分情報を取得」する際にはそのようなテーブルが設けられた“データベース”といい得るものに対して“コマンドを送信”してなされることは当業者にとって自明であるから，引用発明と本願発明１とは，“前記他の情報を前記サーバから取得するステップにおいて”，“データベースにコマンドを送信し，検索結果に基づいて，前記サーバから前記他の情報を抽出するステップ”を含む点で一致するといえる。
（お）引用発明の「仮想マシン復元方法」は，上記（あ）乃至（う）で検討したとおり，本願発明１の「抽出されるべきイメージファイル」に対応する情報を抽出する方法であるともいえる。また，引用発明においては，「復元すべきリビジョン情報の仮想マシンの状態（状態Ｃ）となったと判定されたら，当該バイナリデータを記憶部１１０の仮想マシン起動領域に登録」して，仮想マシンを復元していることから，引用発明の「仮想マシン復元方法」と本願発明１の「仮想マシンイメージファイルを抽出する方法」とは，“仮想マシンイメージファイルを抽出する方法”の点で共通するといえる。
（か）以上，（あ）乃至（お）の検討から，引用発明と本願発明１とは，次の一致点及び相違点を有する。
〈一致点〉
　抽出されるべきイメージファイルのイメージ抽出コマンドを取得するステップであって，前記抽出されるべきイメージファイルは，基礎イメージファイルを含むステップと，
　前記イメージ抽出コマンドが基礎イメージファイルのみを抽出するコマンドであるかどうかを判断するステップと，
　前記イメージ抽出コマンドが基礎イメージファイルのみを抽出するコマンドである場合に，基礎イメージファイルを取得するステップと，
　前記イメージ抽出コマンドが基礎イメージファイル及び他の情報を抽出するコマンドである場合に，前記他の情報をサーバから取得するステップとを含み，
　前記他の情報を前記サーバから取得するステップにおいては，
　データベースにコマンドを送信し，検索結果に基づいて，前記サーバから前記他の情報を抽出するステップと
　を含む仮想マシンイメージファイルを抽出する方法。
〈相違点１〉
　本願発明１の「イメージ抽出コマンド」が，「抽出されるべきイメージファイルのタイムスタンプを含む」とともに，当該「抽出されるべきイメージファイル」が，「基礎イメージファイルを含むか、或いは、前記基礎イメージファイルと増分ファイルとを含む」ものであるのに対し，引用発明は，「履歴ＤＢ１１２」に「リビジョン情報」や「仮想マシンに対する操作が行われた日時を示す情報」である「操作日時情報」が含まれるものの，「クライアント端末２００」から取得されるところの「復元命令」にタイムスタンプが含まれることや，「抽出されるべきイメージファイル」に「基礎イメージファイルと増分ファイルとを含む」ことまでは特定されていない点。
〈相違点２〉
　本願発明１が，「クラウドコンピューティングプラットフォームを構成する各物理マシンのうちの、仮想マシンに割り当てられるホスト物理マシンであるローカル物理マシンから、前記各物理マシンに予め分配された基礎イメージファイルを取得する」ステップを有するのに対し，引用発明は，「クラウドコンピューティングプラットフォームを構成」する「各物理マシン」が特定されておらず，また当該「各物理マシンに予め分配された基礎イメージファイルを取得する」ことも特定されていない点。
〈相違点３〉
　本願発明１が，「前記イメージ抽出コマンドが基礎イメージファイル及び増分ファイルを抽出するコマンドである場合に、前記各物理マシンに予め分配された基礎イメージファイルを前記ローカル物理マシンから取得し、前記抽出されるべきイメージファイルのタイムスタンプを満たす増分ファイルを前記ローカル物理マシンまたはミラーサーバから取得するステップ」を含むのに対し，引用発明は，「各物理マシンに予め分配された基礎イメージファイルを前記ローカル物理マシンから取得」することが特定されておらず，「抽出されるべきイメージファイルのタイムスタンプを満たす増分ファイルを前記ローカル物理マシンまたはミラーサーバから取得する」ものではない点。
〈相違点４〉
　本願発明１が，「前記抽出されるべきイメージファイルのタイムスタンプを満たす増分ファイルを前記ローカル物理マシンまたはミラーサーバから取得するステップ」において，「前記ローカル物理マシンに前記イメージ抽出コマンドを満たす増分ファイルが記憶されているかどうかを判断」し，「前記ローカル物理マシンに前記増分ファイルが記憶されていれば、前記ローカル物理マシンから前記増分ファイルを取得し、前記ローカル物理マシンに前記増分ファイルが記憶されていなければ、イメージファイル依存チェーンが記憶されているデータベースに増分ファイル検索コマンドを送信し、検索結果に基づいて、ミラーサーバから前記増分ファイルを抽出するステップ」を有するのに対し，引用発明は，「ローカル物理マシン」や「ミラーサーバ」に相当する構成を有さず，したがって，「前記ローカル物理マシンに前記イメージ抽出コマンドを満たす増分ファイルが記憶されているかどうかを判断」したり，「前記ローカル物理マシンに前記増分ファイルが記憶されていれば、前記ローカル物理マシンから前記増分ファイルを取得し、前記ローカル物理マシンに前記増分ファイルが記憶されていなければ、イメージファイル依存チェーンが記憶されているデータベースに増分ファイル検索コマンドを送信し、検索結果に基づいて、ミラーサーバから前記増分ファイルを抽出する」ようなことは行われていない点。
（２）　相違点についての判断
　事案に鑑み，先に相違点２及び３について検討する。
　本願発明１は，従来，クラウドコンピューティングプラットフォームアーキテクチャが仮想マシンを作成する場合に，クラウドコンピューティングプラットフォームアーキテクチャにおける仮想マシン管理モジュールが仮想マシンイメージ管理モジュールによってイメージファイルを検索してミラーサーバからイメージファイルを抽出することで仮想マシンを作成することができ（本件明細書段落２），ハードウェア仮想化技術に基づくＫＶＭ仮想マシンにおいて，
仮想マシンシステムディスクのイメージファイルは，サイズが通常Ｇ　ｂｙｔｅｓのオーダーであり
クラウドコンピューティングプラットフォームアーキテクチャ
イメージファイルを検索してイメージファイルを抽出することで仮想マシンを作成
仮想マシンを作成するたびに，仮想マシンイメージ管理モジュールによってミラーサーバからイメージファイルを抽出するので，仮想マシンイメージ管理モジュールが所在するサーバおよびミラーサーバに対する負荷が非常に大きく，且つ仮想マシンの作成速度が遅い
各物理マシンに予め分配された基礎イメージファイルをローカルから取得
各物理マシンに予め分配された基礎イメージファイルをローカルから取得
　そして本願発明１は，それにより
仮想マシンを作成する時に抽出されるべきイメージファイルのデータ量を効果的に減少させ，イメージファイルを抽出する時間を減少させるとともに，仮想マシンイメージ管理モジュールが所在するサーバおよびミラーサーバの負荷を軽減し，それにより仮想マシンの作成速度を向上
　してみれば，上記相違点２及び３に係る構成，とりわけ，「クラウドコンピューティングプラットフォームを構成する各物理マシンのうちの、仮想マシンに割り当てられるホスト物理マシンであるローカル物理マシンから、前記各物理マシンに予め分配された基礎イメージファイルを取得する」こと，及び「前記各物理マシンに予め分配された基礎イメージファイルを前記ローカル物理マシンから取得し、前記抽出されるべきイメージファイルのタイムスタンプを満たす増分ファイルを前記ローカル物理マシンまたはミラーサーバから取得する」ことを欠き，単に，「クライアント端末２００」からの「復元命令に含まれる仮想マシン識別情報に基づいて，復元対象となる仮想マシンを特定し，前記特定した仮想マシンに対応する初期バイナリデータを，記憶部１１０に格納されている履歴ＤＢ１１２を参照して取得」し，「前記復元命令に含まれるリビジョン情報に基づいて復元すべきリビジョンを特定」し，「前記記憶部１１０の履歴ＤＢ１１２を参照して，最初の（最も古い）リビジョン（リビジョン１）に対応する差分識別情報を特定し，差分情報テーブル１１３を参照して差分情報を取得して初期バイナリデータに適用」し，これにより，「バイナリデータ」を「過去（過去にコミット処理を行ったとき）の状態（状態Ａ）に復元」する引用発明からは，当業者といえども相違点２及び３に係る構成を導き出すことは容易とはいえず，また，相違点２及び３に係る構成は，本願の第一国出願前に周知な構成ともいえない。
　さらに，上記第４　２及び３に示した，引用例２及び引用例３に記載された技術的事項をもってしても，相違点２及び３に係る構成を見いだすことはできず，したがって，上記その余の相違点について判断するまでもなく，本願発明１は，当業者であっても，引用発明，引用例２及び引用例３に記載された技術的事項に基づいて容易に発明できたものとはいえない。
２　本願発明２乃至８について
　本願発明２乃至８は，本願発明１をさらに限定するものであるから，本願発明１と同じ理由により，当業者であっても，引用発明，引用例２及び引用例３に記載された技術的事項に基づいて容易に発明できたものとはいえない。
３　本願発明９について
　本願発明９は，本願発明１とカテゴリー表現のみ異なるものであって，本願発明１と同じ理由により，当業者であっても，引用発明，引用例２及び引用例３に記載された技術的事項に基づいて容易に発明できたものとはいえない。
４　本願発明１０乃至１６について
　本願発明１０乃至１６は，本願発明９をさらに限定するものであるから，本願発明９と同じ理由により，当業者であっても，引用発明，引用例２及び引用例３に記載された技術的事項に基づいて容易に発明できたものとはいえない。
第６　当審拒絶理由の概要
＜特許法３６条６項２号について＞
　当審では，下記（１）乃至（４）の点につき特許請求の範囲の請求項１の記載が，下記（５）の点につき特許請求の範囲の請求項２乃至８の記載が，及び，下記（６）の点につき特許請求の範囲の請求項９乃至１６の記載がそれぞれ不明確であるとの拒絶理由を通知したが，上記第３に記載のとおり補正されることによって，上記拒絶理由は解消した。
　　　　　　　　　　　　　　　　記
（１）請求項１には，「前記抽出コマンド」と記載されているが，当該事項の前には，「抽出コマンド」が前記されておらず，不明確である点。
（２）請求項１に特定される，
「各物理マシンに予め分配された基礎イメージファイルをローカルから取得」
「増分ファイルをローカルまたはミラーサーバから取得」
における，「ローカル」が，具体的に何を意味するものか不明確である点。
（３）請求項１に特定される，「ローカルまたはミラーサーバから取得」の意味するところが不明確である点。
（４）請求項１に特定される，「イメージファイル」，並びに「基礎イメージファイル」及び「増分ファイル」の関係が不明確である点。
（５）上記（１）乃至（４）の点が，請求項２乃至８に特定される事項によっても明確ではない点。
（６）請求項１乃至８と概ねそのカテゴリーのみ異なる請求項９乃至１６に係る発明が，上記（１）乃至（５）と同じ理由によって不明確である点。
第７　原査定についての判断
＜特許法２９条２項について＞
　令和１年９月４日付けの補正により，補正後の請求項１乃至１６は，上記第３に記載されたものとなり，上記第５で示したとおり，本願発明１乃至１６は，当業者であっても，原査定における引用文献１乃至３（上記第４の引用例１乃至３に同じ。）に基づいて容易に発明できたものとはいえない。
＜特許法３６条４項１号及び同条６項２号について＞
　原査定では，「トップファイル」の意味についてその具体的な内容が不明である点，及び，「仮想マシンフロッピーイメージファイルのトップファイル」につき不明確である点で特許法３６条４項１号及び同条６項２号の要件を満たさないものと判断されたが，本件明細書段落３５に，「例示的に、本願の実施例に係る基礎イメージファイルを示す構造図である図３に示すように、仮想マシンシステムディスクにパッチがない場合に、システムディスクファイルの構造５１０は基礎イメージファイルおよび基礎イメージファイルに依存する
トップファイル
トップファイル
トップファイル
トップファイル
トップファイル
　したがって，原査定を維持することはできない。
第８　むすび
　以上のとおり，原査定の理由によっては，本願を拒絶することはできない。
　また，他に本願を拒絶すべき理由を発見しない。
　よって，結論のとおり審決する。