2022-010023
情報処理装置、情報処理システム、情報処理装置制御方法及び情報処理装置制御プログラム
- 審判番号
- 2022-010023
- 法域
- 特許
- 審判種別
- 拒絶査定不服審判(拒絶査定不服の審決)
- 出願番号
- 特願2017-140920外部サイト(J-PlatPat)へ移動します
- 請求日
- 2022年06月29日
- 審決日
- 2023年01月06日
- 公報発行日
- 2023年02月24日
- 結論
- 原査定取消(特許/登録すべき)
- 当事者
- 【請求人】富士通株式会社
- 【請求人代理人】弁理士法人酒井国際特許事務所
- 分類
- P18 .121-WY (G06F)
- 条文(本文から自動抽出・参考)
- 特許法第164条、特許法第29条第2項、特許法第17条の2第3項、特許法第29条
- データ出所
- 審決公報(XML)
事件の表示
結論
理由
目次 ▾ 18項目
第1 手続の経緯
折りたたみ中(クリックで表示)
本願は、平成29年7月20日の出願であって、令和3年2月16日付けで拒絶の理由が通知され、同年4月15日に意見書とともに手続補正書が提出され、同年9月29日付けで拒絶の理由が通知され、同年11月30日に意見書とともに手続補正書が提出され、令和4年4月14日付けで拒絶査定(謄本送達日同年4月19日)がなされ、これに対して同年6月29日に拒絶査定不服審判の請求がなされるとともに手続補正がなされ、同年9月27日付けで審査官により特許法164条3項の規定に基づく報告がなされ、同年10月20日に上申書が提出されたものである。
第2 原査定の概要
原査定(令和4年4月14日付け拒絶査定)の概要は次のとおりである。
(進歩性)この出願の下記の請求項に係る発明は、その出願前に日本国内又は外国において、頒布された下記の刊行物に記載された発明又は電気通信回線を通じて公衆に利用可能となった発明に基いて、その出願前にその発明の属する技術の分野における通常の知識を有する者が容易に発明をすることができたものであるから、特許法第29条第2項の規定により特許を受けることができない。
記 (引用文献等については引用文献等一覧参照)
・請求項 1、3-5、7-9
・引用文献等 1-4
<拒絶の理由を発見しない請求項>
令和 3年11月30日付け手続補正書による補正後の請求項(2,6)に係る発明については、現時点では、拒絶の理由を発見しない。
<引用文献等一覧>
1.加藤 純 ほか、All-Flash Hyper-Converged Infrastructureに向けたアーキテクチャーの提案、情報処理学会研究報告、システムソフトウェアとオペレーティング・システム(OS)、2017-OS-141[online]、日本、情報処理学会、2017年07月19日、p.1-7
2.特表2015-520876号公報
3.特開2013-164822号公報
4.特表2016-536714号公報
第3 審判請求時の補正(本件補正)について
審判請求時の補正(以下、「本件補正」という。)は、以下に示すとおり、特許法17条の2第3項から第6項までの要件に違反しているものとはいえない。(下線は当審で付加。)
本件補正によって請求項1に「、並びに、前記第1処理要求及び前記第2処理要求の発行数」という事項を追加する補正事項(以下、「補正事項1」という。)は、本件補正前の「情報収集部」について限定的に減縮するものである。
また、本件補正によって、本件補正前の請求項1に「前記情報収集部により収集された前記第1処理要求の前記IOPSが、前記第1仮想化部におけるレイテンシが悪化する境界にあたる判定閾値以上の場合に、前記第2仮想環境の性能の低下を抑制するための性能低下抑制処理について、前記第1仮想化部を前記処理対象とすると判定し、前記アプリケーション実行部毎のスロットリング量の分担を決定して、前記分担にしたがって各前記アプリケーション処理実行部から出力される第1処理要求の出力を抑制する判定部」とあったものを、本件補正後に「前記第1処理要求の発行数が少なくとも前記第1仮想化部のレイテンシが悪化する前記第1処理要求の発行数の境界にあたるVM閾値以上で且つ前記第2処理要求の発行数が少なくとも前記第2仮想化部のレイテンシが悪化する前記第2処理要求の発行数の境界にあたるコンテナ閾値以上の場合であって、前記情報収集部により収集された前記第1処理要求の前記IOPSが、前記第1処理要求に対する処理が前記第2処理要求に対する処理を低下させると判定される基準となる対象判定閾値以上の場合に、前記第2仮想環境の性能の低下を抑制するための性能低下抑制処理について、前記第1仮想化部を処理対象とすると判定し、前記第1処理要求の前記IOPSが前記対象判定閾値未満の場合に、前記第2仮想化部を前記処理対象とすると判定し、前記アプリケーション実行部毎のスロットリング量の分担を決定して、前記分担にしたがって各前記アプリケーション実行部から出力される第1処理要求の出力を抑制する判定部」とする補正事項(以下、「補正事項2」という。)は、概ね、本件補正前の「判定閾値」及び「前記第2仮想環境の性能の低下を抑制するための性能低下抑制処理」について限定的に減縮するとともに、「処理対象」が「第1仮想化部」又は「第2仮想化部」と判定される条件についても限定して、本件補正前の「判定部」について限定的に減縮するものである。
また、補正事項1については、当初明細書段落【0027】に、「統計情報取得部203は、I/O受付部202が出力したI/O要求に関する情報をI/O受付部202から取得する。例えば、統計情報取得部203は、I/O受付部202が出力したI/O要求のサイズ、出力の通知及び応答の受信の通知をI/O受付部202から取得する。そして、統計情報取得部203は、各I/O要求について、I/Oサイズの分布や、所定時間毎のI/O発行数及びIOPS(Input/output Operations Per Second)といったI/O要求のレイテンシに影響を与える情報を取得する。そして、統計情報取得部203は、取得した各I/O要求に関する情報をI/O要求の送信元の情報とともにI/Oスケジューラ10の統計情報管理部103へ出力する。」と記載されているから、当初明細書等に新規事項を追加するものとはいえない。
補正事項2については、本件補正前の請求項2に「前記判定部は、前記第1処理要求の発行数が少なくとも前記第1仮想化部のレイテンシが悪化する前記第1処理要求の発行数の境界にあたるVM閾値以上で且つ前記第2処理要求の発行数が少なくとも前記第2仮想化部のレイテンシが悪化する前記第2処理要求の発行数の境界にあたるコンテナ閾値以上の場合であって、前記第1処理要求の前記IOPSが、前記第1処理要求に対する処理が前記第2処理要求に対する処理を低下させると判定される基準となる対象判定閾値以上の場合に、前記第1仮想化部を前記処理対象とし、前記第1処理要求の前記IOPSが前記対象判定閾値未満の場合に、前記第2仮想化部を前記処理対象とする」と記載されているから、当初明細書等に新規事項を追加するものとはいえない。
本件補正前の請求項7~9(本件補正後の請求項6~8)に対する補正も同様に、限定的減縮を目的とする補正であって、かつ、当初明細書等に新規事項を追加するものではない。
そして、以下、第4~第6に示すように、本件補正後の請求項1~8に係る発明は、独立特許要件を満たすものである。
第4 本願発明
本願請求項1~8に係る発明(以下、「本願発明1」~「本願発明8」といい、これらをまとめて「本願発明」ということがある。)は、令和4年6月29日付け手続補正書の特許請求の範囲の請求項1~8に記載された、次のとおりのものと認める。(下線は、補正箇所を示すとものとして、審判請求人が付加したものである。)
「 【請求項1】仮想的なストレージコントローラにより形成される第1共有ストレージを有し、前記第1共有ストレージを用いてアプリケーションを実行する複数のアプリケーション実行部を含む第1仮想環境を提供する第1仮想化部と、物理的なストレージコントローラにより形成される第2共有ストレージを有する第2仮想環境を提供する第2仮想化部と、データを格納する記憶部と、続きを表示(全37行)前記記憶部に対する前記第1仮想化部からの第1処理要求及び前記第2仮想化部からの第2処理要求を処理する処理実行部と、前記第1処理要求の1秒あたりの入出力操作数(IOPS)、並びに、前記第1処理要求及び前記第2処理要求の発行数を収集する情報収集部と、前記第1処理要求の発行数が少なくとも前記第1仮想化部のレイテンシが悪化する前記第1処理要求の発行数の境界にあたるVM閾値以上で且つ前記第2処理要求の発行数が少なくとも前記第2仮想化部のレイテンシが悪化する前記第2処理要求の発行数の境界にあたるコンテナ閾値以上の場合であって、前記情報収集部により収集された前記第1処理要求の前記IOPSが、前記第1処理要求に対する処理が前記第2処理要求に対する処理を低下させると判定される基準となる対象判定閾値以上の場合に、前記第2仮想環境の性能の低下を抑制するための性能低下抑制処理について、前記第1仮想化部を処理対象とすると判定し、前記第1処理要求の前記IOPSが前記対象判定閾値未満の場合に、前記第2仮想化部を前記処理対象とすると判定し、前記アプリケーション実行部毎のスロットリング量の分担を決定して、前記分担にしたがって各前記アプリケーション実行部から出力される第1処理要求の出力を抑制する判定部とを備えたことを特徴とする情報処理装置。【請求項2】前記第1仮想化部は、仮想マシンが動作する前記第1仮想環境を提供し前記第2仮想化部は、オペレーティングシステム(OS)における仮想的な動作環境である前記第2仮想環境を提供することを特徴とする請求項1に記載の情報処理装置。【請求項3】前記判定部は、決定した処理対象からの前記第1処理要求の前記処理実行部による処理数を抑制することを特徴とする請求項1又は2に記載の情報処理装置。【請求項4】前記判定部は、前記第1仮想化部に対して前記第1処理要求の出力数を抑制する指示することで、前記処理実行部による前記第1処理要求の処理数を抑制することを特徴とする請求項1~3のいずれか一つに記載の情報処理装置。【請求項5】前記判定部は、前記処理実行部に対して前記第2処理要求を処理する割合の低下を指示することで、前記処理実行部による前記第2処理要求の処理数を抑制することを特徴とする請求項1に記載の情報処理装置。【請求項6】演算処理を行う演算処理装置及びデータを格納する記憶装置を有する情報処理システムであって、前記演算処理装置は、仮想的なストレージコントローラにより形成される第1共有ストレージを有し、前記第1共有ストレージを用いてアプリケーションを実行する複数のアプリケーション実行部を含む第1仮想環境を提供する第1仮想化部と、物理的なストレージコントローラにより形成される第2共有ストレージを有する第2仮想化部と、前記記憶装置に対する前記第1仮想化部からの第1処理要求及び前記第2仮想化部からの第2処理要求を処理する処理実行部と、前記第1処理要求のIOPS、並びに、前記第1処理要求及び前記第2処理要求の発行数を収集する情報収集部と、前記第1処理要求の発行数が少なくとも前記第1仮想化部のレイテンシが悪化する前記第1処理要求の発行数の境界にあたるVM閾値以上で且つ前記第2処理要求の発行数が少なくとも前記第2仮想化部のレイテンシが悪化する前記第2処理要求の発行数の境界にあたるコンテナ閾値以上の場合であって、前記情報収集部により収集された前記第1処理要求の前記IOPSが、前記第1処理要求に対する処理が前記第2処理要求に対する処理を低下させると判定される基準となる対象判定閾値以上の場合に、前記第2仮想化部の性能の低下を抑制するための性能低下抑制処理について、前記第1仮想化部を処理対象とすると判定し、前記第1処理要求の前記IOPSが前記対象判定閾値未満の場合に、前記第2仮想化部を前記処理対象とすると判定し、前記アプリケーション実行部毎のスロットリング量の分担を決定して、前記分担にしたがって各前記アプリケーション実行部から出力される第1処理要求の出力を抑制する判定部とを備えたことを特徴とする情報処理システム。【請求項7】データを格納する記憶装置に対する、仮想的なストレージコントローラにより形成される第1共有ストレージを有し、前記第1共有ストレージを用いてアプリケーションを実行する複数のアプリケーション実行部を含む第1仮想環境からの第1処理要求及び物理的なストレージコントローラにより形成される第2共有ストレージを有する第2仮想環境からの第2処理要求を処理し、前記第1処理要求のIOPS、並びに、前記第1処理要求及び前記第2処理要求の発行数を収集し、前記第1処理要求の発行数が少なくとも前記第1仮想環境のレイテンシが悪化する前記第1処理要求の発行数の境界にあたるVM閾値以上で且つ前記第2処理要求の発行数が少なくとも前記第2仮想環境のレイテンシが悪化する前記第2処理要求の発行数の境界にあたるコンテナ閾値以上の場合であって、収集された前記第1処理要求の前記IOPSが、前記第1処理要求に対する処理が前記第2処理要求に対する処理を低下させると判定される基準となる対象判定閾値以上の場合に、前記第2仮想環境の性能の低下を抑制するための性能低下抑制処理について、前記第1仮想環境を処理対象とすると判定し、前記第1処理要求の前記IOPSが前記対象判定閾値未満の場合に、前記第2仮想環境を前記処理対象とすると判定し、前記アプリケーション実行部毎のスロットリング量の分担を決定して、前記分担にしたがって各前記アプリケーション実行部から出力される第1処理要求の出力を抑制することを特徴とする情報処理装置制御方法。【請求項8】データを格納する記憶装置に対する、仮想的なストレージコントローラにより形成される第1共有ストレージを有し、前記第1共有ストレージを用いてアプリケーションを実行する複数のアプリケーション実行部を含む第1仮想環境からの第1処理要求及び物理的なストレージコントローラにより形成される第2共有ストレージを有する第2仮想環境からの第2処理要求を処理し、前記第1処理要求のIOPS、並びに、前記第1処理要求及び前記第2処理要求の発行数を収集し、前記第1処理要求の発行数が少なくとも前記第1仮想環境のレイテンシが悪化する前記第1処理要求の発行数の境界にあたるVM閾値以上で且つ前記第2処理要求の発行数が少なくとも前記第2仮想環境のレイテンシが悪化する前記第2処理要求の発行数の境界にあたるコンテナ閾値以上の場合であって、収集された前記第1処理要求の前記IOPSが、前記第1処理要求に対する処理が前記第2処理要求に対する処理を低下させると判定される基準となる対象判定閾値以上の場合に、前記第2仮想環境の性能の低下を抑制するための性能低下抑制処理について、前記第1仮想環境を処理対象とすると判定し、前記第1処理要求の前記IOPSが前記対象判定閾値未満の場合に、前記第2仮想環境を前記処理対象とすると判定し、前記アプリケーション実行部毎のスロットリング量の分担を決定して、前記分担にしたがって各前記アプリケーション実行部から出力される第1処理要求の出力を抑制する処理をコンピュータに実行させることを特徴とする情報処理装置制御プログラム。」
第5 引用例
1 引用例1に記載された事項及び引用発明
(1)原査定の拒絶の理由において引用した、本願の出願前に既に公知である、加藤 純 ほか、All-Flash Hyper-Converged Infrastructureに向けたアーキテクチャーの提案、情報処理学会研究報告、システムソフトウェアとオペレーティング・システム(OS)、2017-OS-141[online]、日本、情報処理学会、2017年07月19日、p.1-7(以下、「引用例1」という。)には、次の事項が記載されている。
ア 「概要:従来の仮想化基盤にストレージ機能を統合したHyper-Converged Infrastructure(HCI)では、ストレージデバイスをすべてSSDとするAll-Flashが注目されている。本稿では、 HCIのアーキテクチャーをストレージの構成から2種類に分類して分析を行い、All-Flash化に伴うデバイス性能の向上によってI/O仮想化がオーバーヘッドとなることを明らかにした。このオーバーヘッドを解決するため、従来の仮想マシンとI/O仮想化のないコンテナをハイブリッドしたアーキテクチャーを提案する。仮想マシンとコンテナでI/O性能が異なるため、このようなアーキテクチャーを活用するためにはI/O性能差を前提としたI/Oスケジューリングが課題であり、今後はこの課題に取り組む予定である。」(1ページ1~7行)
イ 「2.1 アーキテクチャーの分類HCIでは、クラスター内の複数のサーバーにまたがって、サーバー内蔵のストレージデバイスをバックエンドデバイスとして仮想的な共有ストレージを提供するコントローラーがあり、このコントローラーが仮想マシンで実現されているか、ホスト内のコンポーネントとして実現されているかによりアーキテクチャーが異なる。本稿では、前者を仮想マシン型、後者をホスト型と定義することにより、HCIのアーキテクチャーを2つに分類する。本稿で定義する仮想マシン型のアーキテクチャーは図1である。このアーキテクチャーでは、クラスターに参加するホスト1つにつきコントローラーVM(CVM)と呼ばれるシステム用の仮想マシンが1つあり、クラスター内の複数のコントローラーVMがホスト間ネットワークを通して協調することで、仮想的な共有ストレージを提供する。ユーザーのVMはこの共有ストレージに対してiSCSI、NFS、 CIFSなどのストレージプロトコルを通じてアクセスできる。これらのプロトコルを通じて共有ストレージに対してI/Oが発行されると、まずユーザーのVMと同一のホスト上にあるCVMに対してVM間通信でI/Oが送られる。I/Oを受け取ったCVMはクラスター内でのデータレイアウトを考慮してこのI/O処理を担当するCVMを決定して、必要であれぼホスト間通信でI/Oを転送する。CVMにはストレージデバイスであるSSDがパススルーで接続されており、I/O処理を担当するCVMはこのSSDに対してI/Oを行う。ホスト型のアーキテクチャーは図2が示すように仮想マシン型のようなCVMはなく、ホスト内のストレージコントローラーと呼ばれるコンポーネントによって共有ストレージを実現する。共有ストレージはハイパーバイザーによって仮想化され、ユーザーのVMからは仮想デバイスとしてアクセスできる。この仮想デバイスに対してI/Oが発行されると、ハイパーバイザーがI/Oをハンドリングしてストレージコントローラーに対してI/Oを通知する。ストレージコントローラーでの処理は仮想マシン型のCVMと同様に、データのレイアウトからこのI/O処理を担当するストレージコントローラーを決定して、必要ならホスト間通信でI/Oを転送した後に、I/O処理を担当するストレージコントローラーでSSDに対してI/Oを行う。仮想マシン型とホスト型の違いは、共有ストレージを扱うコントローラーとハイパーバイザーの結合性である。仮想マシン型のようにコントローラーをVMとして独立させてハイパーバイザーとの結合を疎にすることで、ハイパーバイザーを問わない可搬性の高いHCIが実現できる。これに対して、ホスト型のように密結合にすると可搬性が犠牲になる代わりにVM間通信がなくなるため高いI/O性能を発揮できる。このように仮想マシン型とホスト型では可搬性とI/O性能がトレードオフの関係にあり、All-Flashに向けたHCIのアーキテクチャーを検討する上では定性的な可搬性比較に加えて定量的なI/O性能比較が必要である。そのため、以下では仮想マシン型とホスト型でI/O性能比較を行い、定量的な面からも検討を行う。」(2ページ左欄2行~右欄下から5行)
ウ 「2.3 All-Flash HCIに向けた考察仮想マシン型はハイパーバイザーを問わない点で可搬性に優れるが、2.2節の性能比較からレイテンシーと10PSのどちらにおいてもホスト型の3分の1以下の性能であり、CVMによって10PSが律速されることが分かった。CVMはユーザーVMが動作するホスト上での動作を前提とするため、CVMにCPUやMcmoryなどのリソースを大量に割くことはユーザーVMに提供するリソースの削減につながるため期待できない。今後のハードウェアの進歩に伴うCPUコア数やメモリー容量の増加によりホスト当たりのVM数が増加したとしても、同様にCVMにリソースを大量に割くことができず、逆にVM数が増えることでCVMがボトルネックになりやすく、性能面で将来性が乏しい。複数の異なるハイパーバイザーを前提とするHCIであれば、仮想マシン型の可搬性を活かして1つだけの実装でハイパーバイザーに依存せずHCIを構築できる点を評価しつつも、本稿では、All-Flash HCIとしては性能面の懸念が大きいためホスト型を採用する。ホスト型は仮想マシン型と比較すると3倍近い性能でありスケーラビリティー上のボトルネックもないが、ストレージデバイスであるSSDと比較すると仮想マシンからストレージコントローラーまでの処理に当たるI/O仮想化のオーバーヘッドが大きい。図3のレイテンシーの内訳に注目すると、ReadはSSDのレイテンシーが99マイクロ秒とI/O仮想化の18マイクロ秒に比べて十分大きいが、WriteはSSDのレイテンシーが20マイクロ秒とI/O仮想化の16マイクロ秒とほぼ同程度であり、I/O仮想化に伴いレイテンシーが2倍近くに伸びていることがわかる。10PSに関しても、合計10PSはVM数に比例してスケールするが、1つのVMあたりの平均10PSに着目すると、VM間でI/Oが競合しない1VM時が最もよく、このときのReadの10PSは図4によると248K IOPSであるが、本評価で使用したSSDの諸元は4KiB Readが460KIOPS[20]であるため、 VMあたりではSSD1本の半分程度の10PSが限度である。2.2節で述べた準仮想化ブロックデバイスだけでも4KiB Readで395K IOPSとSSD1本分の性能にも達しておらず、I/O仮想化がストレージデバイスの性能を引き出す上でのボトルネックとなっている。このようにホスト型でもI/O仮想化がボトルネックとして顕在化するため、HCI基盤にI/O-intensiveなアプリケーションを集約することは困難である。これを解決するために、4節で述べる仮想I/O処理の高速化[14]、[15]、[21]、[22]がこれまで提案されてきたが、2倍に改善してようやくSSD1本の性能に到達する現状を踏まえると、この改善だけでは複数のSSDを束ねた場合に匹敵する性能を引き出すことは難しく、高速化と直交してI/O仮想化自体を課題と捉えてアーキテクチャーレベルで改善に取り組むのが望ましい。本稿では、I/O仮想化のないコンテナ[23]に着目して、従来のホスト型にコンテナを組み合わせたハイブリッドアーキテクチャーを提案する。」(3ページ右欄17行~4ページ左欄末行)
エ 「3.仮想マシンとコンテナのハイブリッドコンテナは仮想マシンのようなOSレベルの仮想化ではなく、ホストOSからプロセスIDやファイルシステムのマウントポイントなどの名前空間を分離[24]させ、cgroups[25]などでCPUやメモリーなどのリソースを制約することで実現するプロセスレベルの仮想化である。ゲストがホストOSに密結合してしまうためOSを選べないというデメリットがあるものの、I/O仮想化のような処理がないため軽量[26]、[27]である。実際に、表1の環境において仮想マシンと同等の諸元のコンテナをDocker[28]で配備を行い、1から2冪で128多重で4KiBのRead/Writeを行った結果が図5である。I/O仮想化がないコンテナでは2.3節で述べたような低多重度におけるWriteのレイテンシーの増加はなく、仮想マシンと比較して半分近くに短縮とストレージデバイスであるSSDと同等の値となった。IOPSに関しても同様の理由によって改善しており、コンテナを活用することでI/O-intensiveなアプリケーションの性能要件を満たしやすくなり、これまで以上のHCI基盤への集約が期待できる。コンテナを扱うハイブリッド型における課題は、仮想マシンとのI/O競合時の性能低下である。図6は同一ホスト上の仮想マシンとコンテナから同一のSSDに対して、同時に1から2冪で128多重でRead負荷をかけてI/Oを競合させた場合の結果である(なお、この評価ではdata-planeの設定により挙動が不安定になったため、標準でdata-planeのコードが含まれるQEMU 2.9.0を用いた)。仮想マシンとコンテナのどちらも32多重以上の場合にI/Oの競合による単体時との性能差が読み取れるが、このような高多重時の性能低下の傾向は仮想マシンとコンテナで異なっており、仮想マシンではレイテンシーが、コンテナではIOPSが大幅に低下していることがわかる。コンテナ側のIOPSの低下幅はVM側のIOPS値に等しいことから、コンテナのIOPSが低下するのはVMのI/Oを処理する分だけコンテナのI/Oが処理できないためであり、逆に仮想マシン側はI/O仮想化のオーバーヘッドがないコンテナからの高速なI/Oが高多重度で混じったことによりI/Oの処理待ちが増えたため、レイテンシーが増加したと考えられる。本稿の提案するハイブリッド型の狙いからコンテナには高I/O性能が期待されるが、このように競合する仮想マシンからのI/Oによる影響を受けやすく、実際に期待されるI/O性能を提供できるかどうかはワークロード依存である。そのような課題を解決するために、本稿ではハイブリッド型向けのI/Oスケジューラーを提案する。ハイブリッド型では図5が示すようにI/Oの発行元が仮想マシンかコンテナかによって大きくI/O性能が異なるため、従来のI/Oスケジューラーが目指した公平の方向ではなく、アーキテクチャーとしてI/O性能差があることを前提としてシステムの全休最適化を目指す。図6のI/O競合の結果から、仮想マシンからのI/Oはコンテナからの高多重なI/OがあるとI/O待ちになりやすい傾向があり、スロットリングを行ったとしてもそれによる性能低下は小さい。このことを利用して、コンテナからの高多重なI/O発行により高いI/O性能が求められる場合には仮想マシンからのI/Oに対してはスロットリングを行い、代わりにコンテナからのI/Oを優先して処理することでコンテナ側のI/O性能を向上させることができる。また、仮想マシンからのI/O負荷に応じてスロットリングを行うことでワークロードによる依存度合いを減らし、仮想マシン側がどのようなワークロードであったとしてもコンテナ側は安定した高いI/O性能が期待できる。仮想マシンからのI/OのスロットリングはI/Oのスケジューリングを行うホストではなく仮想マシン内で行うことにより、ホストと仮想マシン間のコンテキストスイッチの回数が減少してCPU使用率を削減できる。スロットリングはI/O待ちによるレイテンシーの増加という欠点があるものの、I/O待ち中にI/Oをまとめることができるという利点もある。実際に、複数のI/Oをまとめて1つのシーケンシャルなI/Oにすることでデバイスの性能を引き出す最適化[29]、[30]もあるが、このような最適化と直交して仮想マシン内の準仮想化ブロックデバイスでスロットリングを行い、ホストへのI/Oをまとめることでホストへのコンテキストスイッチを引き起こすI/O発行の回数を削減できる。」(4ページ右欄1行~5ページ左欄下から7行)
オ 「図2[図:0001393915000001.jpg]」
カ 「図6[図:0001393915000002.jpg]」
(2)上記(1)の記載から、それぞれ次の事項を読取ることができる。
ア 上記(1)アの「(HCI)では、ストレージデバイスをすべてSSDとするAll-Flashが注目されている。本稿では、…中略…仮想マシンとI/O仮想化のないコンテナをハイブリッドしたアーキテクチャーを提案する」との記載から、引用例1には、“仮想マシンとI/O仮想化のないコンテナをハイブリッドしたアーキテクチャーであるストレージデバイスをすべてSSDとするAll-Flash HCI”が記載されているといえる。
イ 上記(1)イの「クラスター内の複数のサーバーにまたがって、サーバー内蔵のストレージデバイスをバックエンドデバイスとして仮想的な共有ストレージを提供するコントローラーがあり、このコントローラーが仮想マシンで実現されているか、ホスト内のコンポーネントとして実現されているかによりアーキテクチャーが異なる。本稿では、前者を仮想マシン型、後者をホスト型と定義することにより、HCIのアーキテクチャーを2つに分類する」との記載、及び上記(1)ウの「本稿では、All-Flash HCIとして…中略…ホスト型を採用する」との記載から、引用例1には、“クラスター内の複数のサーバーにまたがって、サーバー内蔵のストレージデバイスをバックエンドデバイスとして仮想的な共有ストレージを提供するコントローラーがあり、このコントローラーが仮想マシンで実現されている仮想マシン型のアーキテクチャーと、ホスト内のコンポーネントとして実現されているホスト型のアーキテクチャーとに分類されるHCIアーキテクチャーを有”することが記載されているといえる。
ウ 上記(1)イの「ホスト型のアーキテクチャーは図2が示すように…中略…ホスト内のストレージコントローラーと呼ばれるコンポーネントによって共有ストレージを実現する。共有ストレージはハイパーバイザーによって仮想化され、ユーザーのVMからは仮想デバイスとしてアクセスできる。」との記載、及び上記(1)オ(図2)並びに上記イの認定から、引用例1には、“ホスト型のHCIアーキテクチャーは、ホスト内のストレージコントローラーと呼ばれるコンポーネントによって共有ストレージを実現し、共有ストレージはハイパーバイザーによって仮想化され、ユーザーのVMからは仮想デバイスとしてアクセスでき”ることが記載されているといえる。
エ 上記(1)ウの「本稿では、I/O仮想化のないコンテナ…に着目して、従来のホスト型にコンテナを組み合わせたハイブリッドアーキテクチャーを提案する」との記載、及び上記(1)エの「コンテナは仮想マシンのようなOSレベルの仮想化ではなく、ホストOSからプロセスIDやファイルシステムのマウントポイントなどの名前空間を分離…させ…中略…プロセスレベルの仮想化である」との記載、並びに上記ウの認定から、引用例1には、“仮想マシンのようなOSレベルの仮想化ではなく、ホストOSからプロセスIDやファイルシステムのマウントポイントなどの名前空間を分離させる、I/O仮想化のない、プロセスレベルの仮想化であるコンテナと、前記ホスト型のHCIアーキテクチャーとを組み合わせ”ることが記載されているといえる。
オ 上記(1)エの「図6は同一ホスト上の仮想マシンとコンテナから同一のSSDに対して、同時に1から2冪で128多重でRead負荷をかけてI/Oを競合させた場合の結果である…中略…仮想マシンとコンテナのどちらも32多重以上の場合にI/Oの競合による単体時との性能差が読み取れる」との記載、及び上記(1)カ(図6)から、引用例1には、“同一ホスト上の仮想マシンとコンテナから同一のSSDに対して、同時に1から2冪で128多重でRead負荷をかけてI/Oを競合させた場合、仮想マシンとコンテナのどちらも32多重以上の場合にI/Oの競合による単体時との性能差が生じる”ことが記載されているといえる。
カ 以上、ア~オの認定から、引用例1には次の発明(以下、「引用発明」という。)が記載されているといえる。
「仮想マシンとI/O仮想化のないコンテナをハイブリッドしたアーキテクチャーであるストレージデバイスをすべてSSDとするAll-Flash HCIであって、クラスター内の複数のサーバーにまたがって、サーバー内蔵のストレージデバイスをバックエンドデバイスとして仮想的な共有ストレージを提供するコントローラーがあり、このコントローラーが仮想マシンで実現されている仮想マシン型のアーキテクチャーと、ホスト内のコンポーネントとして実現されているホスト型のアーキテクチャーとに分類されるHCIアーキテクチャーを有し、ホスト型のHCIアーキテクチャーは、ホスト内のストレージコントローラーと呼ばれるコンポーネントによって共有ストレージを実現し、共有ストレージはハイパーバイザーによって仮想化され、ユーザーのVMからは仮想デバイスとしてアクセスでき、仮想マシンのようなOSレベルの仮想化ではなく、ホストOSからプロセスIDやファイルシステムのマウントポイントなどの名前空間を分離させる、I/O仮想化のない、プロセスレベルの仮想化であるコンテナと、前記ホスト型のHCIアーキテクチャーとを組み合わせ、同一ホスト上の仮想マシンとコンテナから同一のSSDに対して、同時に1から2冪で128多重でRead負荷をかけてI/Oを競合させた場合、仮想マシンとコンテナのどちらも32多重以上の場合にI/Oの競合による単体時との性能差が生じるAll-Flash HCI。」
2 引用例2に記載された事項
(1)原査定の拒絶の理由において引用した、本願の出願前に既に公知である、特表2015-520876号公報(平成27年7月23日公表。以下、これを「引用例2」という。)には、関連する図面と共に、次の事項が記載されている。(下線は当審で付加。以下同様。)
ア 「【0124】IOPS/レスポンス時間の性能閾値が予め決定されており、その閾値を基準に階層の負荷状態が定義されている。IOPSの値とレスポンス時間の値は一対一の関係である。したがって、モニタされているIOPS又はレスポンス時間が閾値を超えると、その階層の負荷状態は高負荷であり、閾値以下であれば低負荷である。本例は階層のI/O回数(IOPS)をモニタするため、再配置速度決定プログラム406は、IOPSの値から階層の負荷状態を決定する。ストレージコントローラ155は、IOPSとレスポンス時間をモニタし、それらの値からレスポンスカーブを作成し、性能閾値を決定してもよい。」
イ 「図18[図:0001393915000003.jpg]」
3 引用例3に記載された事項
(1)原査定の拒絶の理由において引用した、本願の出願前に既に公知である、特開2013-164822号公報(平成25年8月22日公開。以下、これを「引用例3」という。)には、関連する図面と共に、次の事項が記載されている。
ア 「【0080】ここで、IOPS(XRup)は、第j階層のRAIDグループのリード要求に対する応答性能が、要求される応答性能を満たす場合のリード要求の平均IOPSである。すなわち、RAIDグループにかかる負荷であるIOPS(xR)がIOPS(XRup)を下回れば、RAIDグループが要求される応答性能を十分に満たすと判断することができる。【0081】換言すれば、RAIDグループにかかる負荷であるIOPS(xR)がIOPS(XRup)を上回る場合は、RAIDグループ内のいずれかのSub-LUNを、第j階層よりもI/O要求に対する応答性能が高い第(j+1)階層に移動したほうがよいと判断することができる。【0082】そこで、第1の算出部603は、算出したIOPS(XRup)をRAIDグループ内のSub-LUNの個数で除算することにより、Sub-LUNへのI/O要求の平均IOPSの上限値を表す上方IOPS閾値(Xup)を算出することにしてもよい。これにより、リード要求に対する平均応答時間(W)が最大応答時間(Wmax)の場合にSub-LUNにかかる負荷であるリード要求の平均IOPSを上方IOPS閾値(Xup)として算出することができる。」
4 引用例4に記載された事項
(1)原査定の拒絶の理由において引用した、本願の出願前に既に公知である、特表2016-536714号公報(平成28年11月24日公表。以下、これを「引用例4」という。)には、関連する図面と共に、次の事項が記載されている。
ア 「【0071】[0082] 第2に、施行である。コントローラーは、VMp、q、rからシェアX、Yまでの全てのIOの合計レートが、総帯域幅Bを保証することを確認する。この総帯域幅制限は、グラフにおける任意のカット(cut)において施行することができる。この例は、顧客の1人だけの視点からのものである。図8に示すように、VMがホストされているハイパーバイザーまたはストレージ・サーバーにおいてこれを施行することができる。この例では、コントローラーがハイパーバイザー内部のあるステージにおいて帯域幅制限を施行することを選択したと仮定する。これを行うためには、制限の総和がBに等しくなるように、VM毎に帯域幅制限を決定する必要がある。つまり、コントローラー・アプリケーションは、分散型レート制限を行う必要がある。即ち、1組のN個のVM(この例では、N=3)を想定し、これらの間で帯域幅Bを分散することがタスクになる。これは、各ソースにリンクのその最大-最小公正シェアを与えることによって行うことができる。最大-最小分配(sharing)では、VMのトラフィック要求量、即ち、これらがトラフィックを送ることができるレートに基づいて、VMにレートを割り当てる(assign)。具体的には、VMがその要求量よりも大きなレートを得ることがなく、要求量が満たされないVMが等しいレートを得るように、要求量が少ない順にレートが割り当てられる。つまり、VMに対して要求量の集合Dを想定すると、コントローラーは、最大-最小公正シェアfを決定し、次いで個々のVMに割り当てられるレートを指定し、これらのレートの合計が前述の帯域幅となることを確保する。」
第6 対比・判断
1 本願発明1について
(1)対比
本願発明1と引用発明とを対比する。
ア 引用発明の「仮想的な共有ストレージを提供するコントローラー」及び「仮想的な共有ストレージ」は、それぞれ本願発明1の「仮想的なストレージコントローラ」及び「第1共有ストレージ」に相当する。
また、引用発明では、所定のアプリケーションが実行されるのは自明であり、また、「同一ホスト上の仮想マシンとコンテナから同一のSSDに対して、同時に1から2冪で128多重でRead負荷をかけてI/Oを競合させ」ることができることから、本願発明1の「複数のアプリケーション実行部」に相当する構成を有することは明らかである。
してみれば、引用発明の「クラスター内の複数のサーバーにまたがって、サーバー内蔵のストレージデバイスをバックエンドデバイスとして仮想的な共有ストレージを提供するコントローラーがあり、このコントローラーが仮想マシンで実現されている仮想マシン型のアーキテクチャー」は、本願発明1の「仮想的なストレージコントローラにより形成される第1共有ストレージを有し、前記第1共有ストレージを用いてアプリケーションを実行する複数のアプリケーション実行部を含む第1仮想環境を提供する第1仮想化部」に相当するものといえる。
イ 引用発明は、「コンテナと、前記ホスト型のHCIアーキテクチャーとを組み合わせ」るものであって、そのうち、「コンテナ」は、「I/O仮想化のない、プロセスレベルの仮想化である」ところ、ホスト型のHCIアーキテクチャーは、物理的なストレージコントローラによって共有ストレージにアクセスするものと認められるから、引用発明の「仮想マシンのようなOSレベルの仮想化ではなく、ホストOSからプロセスIDやファイルシステムのマウントポイントなどの名前空間を分離させる、I/O仮想化のない、プロセスレベルの仮想化であるコンテナ」は、本願発明1の「物理的なストレージコントローラにより形成される第2共有ストレージを有する第2仮想環境を提供する第2仮想化部」に相当するものといえる。
ウ 引用発明の「ストレージデバイスをすべてSSDとするAll-Flash HCI」における、「SSD」は、本願発明1の「データを格納する記憶部」に相当する。
エ 引用発明は、「コンテナと、前記ホスト型のHCIアーキテクチャーとを組み合わせ」た上、「同一ホスト上の仮想マシンとコンテナから同一のSSDに対して、同時に1から2冪で128多重でRead負荷をかけてI/Oを競合させ」ることができるものであるから、本願発明1の「前記記憶部に対する前記第1仮想化部からの第1処理要求及び前記第2仮想化部からの第2処理要求を処理する処理実行部」に相当する構成を有するといえる。
オ 引用発明は、「同一ホスト上の仮想マシンとコンテナから同一のSSDに対して、同時に1から2冪で128多重でRead負荷をかけてI/Oを競合させた場合、仮想マシンとコンテナのどちらも32多重以上の場合にI/Oの競合による単体時との性能差が生じる」ものであるところ、当該「Read負荷をかけてI/Oを競合させ」るにあたって、「VM」側のIOPS及び「仮想マシンとコンテナ」の処理要求の発行数を取得する構成を有するものといえ、上記ア及びエの認定を踏まえれば、本願発明1の「前記第1処理要求の1秒あたりの入出力操作数(IOPS)、並びに、前記第1処理要求及び前記第2処理要求の発行数を収集する情報収集部」に相当する構成を有するといえる。
カ 引用発明の「All-Flash HCI」は、“情報処理装置”によって実現されていることは明らかであるから、上記ア~オの検討を踏まえると、引用発明と本願発明1とは、次の一致点及び相違点を有する。
〈一致点〉
仮想的なストレージコントローラにより形成される第1共有ストレージを有し、前記第1共有ストレージを用いてアプリケーションを実行する複数のアプリケーション実行部を含む第1仮想環境を提供する第1仮想化部と、
物理的なストレージコントローラにより形成される第2共有ストレージを有する第2仮想環境を提供する第2仮想化部と、
データを格納する記憶部と、
前記記憶部に対する前記第1仮想化部からの第1処理要求及び前記第2仮想化部からの第2処理要求を処理する処理実行部と、
前記第1処理要求の1秒あたりの入出力操作数(IOPS)、並びに、前記第1処理要求及び前記第2処理要求の発行数を収集する情報収集部と、
を備えたことを特徴とする情報処理装置。
〈相違点〉
本願発明1が、「前記第1処理要求の発行数が少なくとも前記第1仮想化部のレイテンシが悪化する前記第1処理要求の発行数の境界にあたるVM閾値以上で且つ前記第2処理要求の発行数が少なくとも前記第2仮想化部のレイテンシが悪化する前記第2処理要求の発行数の境界にあたるコンテナ閾値以上の場合であって、前記情報収集部により収集された前記第1処理要求の前記IOPSが、前記第1処理要求に対する処理が前記第2処理要求に対する処理を低下させると判定される基準となる対象判定閾値以上の場合に、前記第2仮想環境の性能の低下を抑制するための性能低下抑制処理について、前記第1仮想化部を処理対象とすると判定し、前記第1処理要求の前記IOPSが前記対象判定閾値未満の場合に、前記第2仮想化部を前記処理対象とすると判定し、前記アプリケーション実行部毎のスロットリング量の分担を決定して、前記分担にしたがって各前記アプリケーション実行部から出力される第1処理要求の出力を抑制する判定部」を備えるのに対し、引用発明は、そのような構成を有しない点。
(2)相違点についての判断
上記相違点について検討する。
本願発明は、情報処理装置等に関するものであって(【0001】)、近年、仮想化技術は、目覚ましい発展を遂げていて、仮想化技術とは、サーバやストレージなど物理的な構成を論理的に扱えるようにしてリソースプールを構成し、リソースプールの中の資源を自由に利用して情報処理システムを構築する技術であり、例えば、サーバの仮想化では、1台の物理マシン上で複数の仮想マシン(VM:Virtual Machine)が稼働し、この仮想化技術を利用することで、リソースの効率的な活用、ハードウェアの初期投資コストの抑制、省電力及び省スペースなどが実現でき(【0002】)、このような仮想化技術として、ハイパーバイザー型仮想化やコンテナ型仮想化といった技術が提案されており、ハイパーバイザー型仮想化は、上述した仮想マシンを管理するハイパーバイザーが存在し、各仮想マシン上でそれぞれ異なるOS(Operating System)やアプリケーションが動作し、ハイパーバイザー型仮想化では、仮想マシンはハイパーバイザーを介して動作することになるのに対し、コンテナ型仮想化は、1つのOS上でコンテナ管理ソフトウェアが動作し、そのコンテナ管理ソフトウェアが複数のアプリケーションをそれぞれ独立したプロセス空間や名前空間を有する異なる環境で動作させるものであり、アプリケーション毎の異なる環境のそれぞれがコンテナと呼ばれ(【0003】)、また、最近では、情報処理システムに対して、用途に応じた柔軟且つ迅速な拡張が求められるようになってきており、この要望に応えるために、シンプルな構成をとり管理が容易なHCI(Hyper Converged Infrastructure)という技術が注目を集めていて、HCIは、複数のサーバを有する情報処理システムにおいて、各サーバの内蔵ストレージをその情報処理システム内の全てのサーバからアクセスできる仮想的な共有ストレージとする技術であり、HCIにより、サーバなどの情報処理装置上に、仮想化技術を用いて構成した仮想化基盤を用いて演算処理機能とストレージ機能とを統合した仮想化インフラが実現され(【0004】)、さらに、SSD(Solid State Drive)などのNAND型フラッシュメモリの低価格化により、ストレージデバイスのHDD(Hard Disk Drive)からNAND型フラッシュ型メモリへの移行が増加していて、NAND型フラッシュメモリは、HDDと比較して動作速度が速く、NAND型フラッシュメモリへの移行により、情報処理システムにおける一層の性能向上が見込まれることを背景とし(【0005】)、記憶装置に対するデータの読み出し及び書き込みの技術として、レイテンシの長さに応じてSSDに行わせる動作を第1タイプと第2タイプとに分け、第1タイプの動作を優先して行わせるようにスケジューリングする従来技術や、各プログラムから出力されたデータを一時的に記憶域に格納し、プログラムの重要度に応じて優先的に記憶装置へデータを出力する従来技術があり(【0006】)、コンテナ型仮想化には、各コンテナは異なるOS上で動作することは困難であるなどの制約が存在するため、異なるOSで動作させたい場合など運用上の理由などによりハイパーバイザー型仮想化を利用することが望ましい場合が存在するが(【0008】)、ハイパーバイザー型仮想化ではハイパーバイザーを介して記憶装置に対するデータの読み出し及び書き込みが行われ、ハイパーバイザーは、仮想マシンから送信された命令の物理的な記憶装置への書き込み命令への変換や物理的な記憶装置から読み出したデータを仮想マシンへ送信するための変換といった仮想化のための処理を行うため、ハイパーバイザー型仮想化では、記憶装置に対するデータの読み出し及び書き込み時に、仮想化のためのオーバヘッドが発生し、NAND型フラッシュメモリの性能を生かし切れず、コンテナ型仮想化による環境とハイパーバイザー型仮想化による環境とを共存させる場合、記憶装置に対するデータの読み出し及び書き込みの性能を向上させることが困難であり(【0009】)、また、レイテンシの長さに応じて動作を第1タイプと第2タイプとに分けて一方を優先的に処理する従来技術を用いても、コンテナ型仮想化による環境とハイパーバイザー型仮想化による環境のいずれからもそれぞれのタイプの動作は指示されるため、この従来技術を用いても、仮想化のオーバヘッドは発生するおそれがあり、記憶装置に対するデータの読み出し及び書き込みの性能を向上させることが困難であり(【0010】)、また、プログラムの重要度に応じて記憶装置へ送信するデータの優先度を決定する従来技術を用いても、ハイパーバイザー型仮想化による環境のプログラムの重要度が高いことは考えられるため、この従来技術を用いても、記憶装置に対するデータの読み出し及び書き込みの性能を向上させることが困難であることを解決しようとする課題とし(【0010】)、当該課題に対し、データの読み出し及び書き込みの性能を向上させる情報処理装置などを提供することを目的としてなされたものである。(【0012】)
一方で引用発明は、単に「仮想マシンとI/O仮想化のないコンテナをハイブリッドしたアーキテクチャー」であって、「同一ホスト上の仮想マシンとコンテナから同一のSSDに対して、同時に1から2冪で128多重でRead負荷をかけてI/Oを競合させた場合、仮想マシンとコンテナのどちらも32多重以上の場合にI/Oの競合による単体時との性能差が生じる」ものではあるが、上記相違点に係る構成は有さず、また引用例2~4のいずれにも、当該構成は記載されておらず、この点が本願出願前周知であったということもできない。
したがって、本願発明1は、当業者であっても、引用発明及び引用例2~4に記載された技術的事項に基づいて容易に発明できたものとはいえない。
2 本願発明6~8について
本願発明6~8は、概ね本願発明1とそのカテゴリーのみ異なるものであり、また、本願発明1の上記相違点に係る「判定部」と同一の構成を備えるものであるから、本願発明1と同じ理由により、当業者であっても、引用発明及び引用例2~4に記載された技術的事項に基づいて容易に発明できたものとはいえない。
3 本願発明2~5について
本願発明2~5は、本願発明1を直接又は間接的に引用するものであり、本願発明1の上記相違点に係る「判定部」と同一の構成を備えるものであるから、本願発明1と同じ理由により、当業者であっても、引用発明及び引用例2~4に記載された技術的事項に基づいて容易に発明できたものとはいえない。
第7 原査定について
<特許法29条2項について>
本件補正により、本願発明1~8は、上記第4に示すとおりのものとなり、上記第6に示したとおり、当業者であっても、拒絶査定において引用された引用文献1~4(上記第5の引用例1~4)に基づいて、容易に発明できたものとはいえない。したがって、原査定の理由を維持することはできない。
第8 むすび
以上のとおり、原査定の理由によっては、本願を拒絶することはできない。
また、他に本願を拒絶すべき理由を発見しない。
よって、結論のとおり審決する。
審決本文(J-PlatPat)
J-PlatPatの審決検索トップを開きます。番号入力で「審判番号」を選び、下の番号を貼り付けて検索してください。
2022-010023