特許拒絶査定不服審判
2017-005289
メモリ管理方法、コンピュータシステム、コンピュータプログラム及び記憶媒体
- 審判番号
- 2017-005289
- 法域
- 特許
- 審判種別
- 拒絶査定不服審判(拒絶査定不服の審決)
- 出願番号
- 特願2014-517072外部サイト(J-PlatPat)へ移動します
- 請求日
- 2017年04月13日
- 審決日
- 2018年05月28日
- 公報発行日
- 2018年07月27日
- 結論
- 原査定取消(特許/登録すべき)
- 当事者
- 【請求人】マイクロソフト テクノロジー ライセンシング,エルエルシー
- 【請求人代理人】伊東 忠重
- 【請求人代理人】伊東 忠彦
- 【請求人代理人】大貫 進介
- 分類
- P18 .121-WY (G06F) / P18 .536-WY (G06F) / P18 .537-WY (G06F)
- 条文(本文から自動抽出・参考)
- 特許法第29条第2項、特許法第36条第6項第2号、特許法第36条第6項第1号
- データ出所
- 審決公報(SGML)
事件の表示
特願2014-517072「メモリ管理方法、コンピュータシステム、コンピュータプログラム及び記憶媒体」拒絶査定不服審判事件〔平成24年12月27日国際公開、WO2012/177579、平成26年 7月17日国内公表、特表2014-517434、請求項の数(13)〕について、次のとおり審決する。
結論
【結 論】
原査定を取り消す。
本願の発明は、特許すべきものとする。
理由
【理 由】
第1 手続の経緯
本願は,2012年6月18日(パリ条約による優先権主張2011年6月20日(以下,「優先日」という。);米国)を国際出願日とする出願であって,平成28年7月4日付けで拒絶理由通知がされ,平成28年10月11日に意見書が提出されるとともに手続補正がされ,平成28年12月6日付けで拒絶査定(原査定)がされ,これに対し,平成29年4月13日に拒絶査定不服審判の請求がされると同時に手続補正がされ,平成30年1月17日付けで拒絶理由通知がされ,平成30年4月19日に意見書が提出されるとともに手続補正がされたものである。
第2 本願発明
本願請求項1-13に係る発明(以下,それぞれ「本願発明1」-「本願発明13」という。)は,平成30年4月19日付けの手続補正で補正された特許請求の範囲の請求項1-13に記載された事項により特定される発明であり,本願発明1-13は以下のとおりの発明である。
「 【請求項1】
アプリケーションからメモリ優先度情報を受信するアプリケーションホストにおいてメモリ管理を行うためにコンピュータが少なくとも1つのプロセッサにより実行する方法であって,
メモリに対する複数の割当リクエストを示す第1情報項目と1つ以上のアプリケーションによりメモリの割当がどのように利用されるかを示す第2情報項目とを含む割当利用情報を,アプリケーションホストにおいて受信するステップと,
前記アプリケーションホストにおいてアプリケーションを効率的に実行させ続けるための処理の必要性を示す少なくとも1つのメモリ状態を検出するステップと,
処理する対象への割当を決定するために,受信した割当リクエストを列挙するステップと,
前記メモリ優先度情報に基づいて,処理する対象への1つ以上の列挙された割当リクエストを選択するステップと,
検出した前記メモリ状態を改善するために,選択された前記割当リクエストに応じた処理を実行するステップと
を有し,前記メモリ優先度情報は,前記第2情報項目として前記割当利用情報に含まれ,かつ,メモリへのアクセス頻度とは異なるメモリのアプリケーションに対する重要度を示すように,アプリケーションにより決定された優先順位である,ことを特徴とする方法。
【請求項2】
前記アプリケーションホストによりアプリケーションから受信された割当のリスト又は他のデータ構造が,前記コンピュータを含むシステムに保存されている,請求項1に記載の方法。
【請求項3】
前記割当利用情報は,何れの割当を解放できるか,何れの割当にページングできるか,或いは,利用可能なメモリを効率的に管理するために何れの処理が可能であるかを前記アプリケーションホストが決定することを支援する前記メモリ優先度情報を含む,請求項1に記載の方法。
【請求項4】
前記メモリ状態を検出するステップが,メモリの逼迫を検出することを含む,請求項1に記載の方法。
【請求項5】
前記受信した割当リクエストを列挙するステップが,解放される必要があった場合に容易に復元できる割当を判別するために割当のリスト又は他のデータ構造を検査することを含む,請求項1に記載の方法。
【請求項6】
前記受信した割当リクエストを列挙するステップが,アプリケーションが再度使用する見込みの薄い割当を判別するために,割当のリスト又は他のデータ構造を検査することを含む,請求項1に記載の方法。
【請求項7】
前記割当リクエストを選択するステップが,割当を要求した前記アプリケーションにより該割当がどのように使用されるかを示す受信した情報に基づいて該割当を選択することを含む,請求項1に記載の方法。
【請求項8】
前記割当リクエストを選択するステップが,メモリのサイズに関する特定の基準に従って複数の割当を選択することを含む,請求項1に記載の方法。
【請求項9】
前記処理を実行するステップが,以前に割り当てたメモリを解放する,或いはメモリ内容をディスク又は他のストレージと交換することを含む,請求項1に記載の方法。
【請求項10】
前記処理を実行するステップが,前記アプリケーションが前記割当に依存する処理を修正できるように前記アプリケーションに前記処理を通知することを含む,請求項1に記載の方法。
【請求項11】
請求項1~10のうち何れか1項に記載の方法を実行するコンピュータシステム。
【請求項12】
請求項1~10のうち何れか1項に記載の方法を前記少なくとも1つのプロセッサに実行させるコンピュータプログラム。
【請求項13】
請求項12に記載のコンピュータプログラムを記憶するコンピュータ読み取り可能な記憶媒体。」
第3 引用文献,引用発明等
原査定の拒絶の理由に引用された引用文献2(特開2006―107197号公報)には,図面とともに次の事項が記載されている。(下線は当審により付与。)
A.「【0012】
本発明の目的は,アプリケーションプログラムに対応してメモリの利用効率を高めるメモリ制御方法およびプログラムならびに端末装置を提供することにある。
【課題を解決するための手段】
【0013】
前記目的を達成する本発明の一つのアスペクトに係る端末装置は,システムメモリを制御してアプリケーションプログラムを実行する端末装置である。この端末装置は,システムメモリ残量と各アプリケーションプログラムの使用メモリ量とを管理し,システムメモリ残量がメモリの確保要求量を下回る際に,選択した所定のアプリケーションプログラムの使用するシステムメモリの一部もしくはすべてを解放するようにメモリ強制解放部に通知するメモリ量管理部を備える。また,アプリケーションプログラムからメモリの確保要求を受け,メモリ量管理部に要求メモリ量が確保可能かのチェックを依頼して確保可能であれば要求メモリ量を確保するメモリ確保部と,アプリケーションプログラムからシステムメモリの解放要求を受けて使用しているシステムメモリを解放し,メモリ量管理部にシステムメモリを解放したことを通知するメモリ解放部と,をそなえる。さらに,メモリ量管理部からの通知を受けて,選択したアプリケーションプログラムに対しシステムメモリを強制解放させるメモリ強制解放部を備える。
・・・(中略)・・・
【0017】
第4の展開形態の端末装置において,メモリ量管理部は,システムメモリを,アプリケーションプログラム毎にアプリケーションプログラムが最低限動作するのに必要な第1のメモリと,処理を中断すれば解放可能な第2のメモリとに分けて管理するようにしてもよい。
・・・(中略)・・・
【発明の効果】
【0027】
本発明によれば,メモリ負荷制御を行うための二次記憶をもたない端末装置などでも,アプリケーション毎に予めメモリを予約して一定量を保障しておく必要がなく,メモリの分割損が発生せず,メモリの使用効率が向上する。その理由は,メモリ負荷制御の必要な場面に,優先度の低いアプリケーションのメモリを一部解放させて利用できるようにする仕組みをもつためである。」
B.「【実施例1】
【0031】
本発明の実施例について図面を参照してさらに詳しく説明する。図1は,本発明の実施例に係る端末装置のメモリ負荷制御機能の構成を示すブロック図である。図1において,システムメモリ(ヒープ)10とこれを使用するアプリケーション群20とで構成されるシステムに,メモリ確保部11,メモリ解放部12,メモリ量管理部13,メモリ強制解放部14を設けてメモリ負荷制御機能を構成する。メモリ量管理部13は,メモリ情報記憶域15を持つ。メモリ情報記憶域15には,システムメモリ残量16,各アプリケーション毎の管理情報17を蓄える。管理情報17には,プロセスID31,優先度32,必須メモリ上限値33,必須メモリ使用量34,ワークメモリ使用量35の各情報が含まれる。
【0032】
本実施例では,各アプリケーションが使用中のシステムメモリを「必須メモリ」(第1メモリ)と「ワークメモリ」(第2メモリ)とに分ける。ここで,「必須メモリ」とは,従来アプリケーション毎に予め予約していたメモリ量のメモリに相当し,本実施例では予め予約せずに使用し,その代わりにスチールの対象とならないメモリという意味である。アプリケーションがメモリ確保部11でメモリを要求するときに「必須メモリ」と「ワークメモリ」のどちらかを指定するものとする。「ワークメモリ」として確保したメモリは,メモリ強制解放部14により強制解放の通知があった場合にいつでも解放しなければならないものとする。システムメモリ残量16の初期値は,システムメモリ(ヒープ)10の量とする。各アプリケーションの優先度32,必須メモリ上限値33は,予めアプリケーションの性質を考慮して定めておくものとする。アプリケーション群20には,通常のアプリケーションのミッションを遂行するプログラム21と,任意の時点でのワークメモリを解放するワークメモリ強制解放処理プログラム22とを備える。
【0033】
次に,図を参照して本実施例の動作について詳細に説明する。図1において,アプリケーション群20の各アプリケーションは,プログラム21からメモリを使用する場合,メモリ確保部11でメモリを確保(get)し,不要になればメモリ解放部12にて解放(free)する。メモリ確保部11でメモリを確保する際には,当該アプリケーションが最低限動作するのに必要な「必須メモリ」か,いつでも処理を中断すれば解放可能な「ワークメモリ」かの種別を指定する。また,各アプリケーションは,メモリ強制解放の通知(SIGNAL/メッセージ)を受けた場合,実行中の処理を中止して使用中のすべての「ワークメモリ」をメモリ解放部12にて解放するワークメモリ強制解放プログラム22を用意して登録しておく。このSIGNALやメッセージの機能は,一般的なOS(Operating System:オペレーティングシステム)に備えられているものであってもよい。
【0034】
まず,メモリ確保部11の動作を図2に示す。図2おいてメモリ確保部は,ステップS11でメモリ量管理部13にて要求されたメモリ量が確保可能かチェックする。確保可能(ステップS12のY)であれば,ステップS13で,要求量のメモリを確保する。確保可能でない場合(ステップS12のN)には,エラーを返す。
【0035】
次に,メモリ解放部12の動作を図3に示す。図3おいてメモリ解放部12は,まずステップS21で指定メモリを解放し,ステップS22で解放したメモリの種別(必須メモリ/ワークメモリの別)とメモリ量とを指定してメモリ量管理部13に通知する。
【0036】
メモリ量管理部13が要求されたメモリ量を確保可能かチェックする場合の動作を図4および図5に示す。図4おいて,メモリ量管理部13は,まず要求メモリが必須メモリであり(ステップS31のY),かつ当該アプリケーションの必須メモリ使用量34に要求メモリの量を加えると必須メモリ上限値33を超えてしまう場合(ステップS32のN),エラー(確保不可)を返す。そうでない場合(ステップS31のNあるいはステップS32のY),ステップS33で要求メモリがシステムメモリ残量16以下であるか否かをチェックする。要求メモリがシステムメモリ残量16以下であれば,ステップS34でシステムメモリ残量16から要求メモリ量を減算する。さらに,ステップS35で必須メモリ使用量34もしくはワークメモリ使用量35の,当該アプリケーションの要求メモリの種類に対応する方に要求メモリ量を加算して,OKを返す。
【0037】
一方,ステップS33で要求メモリがシステムメモリ残量16より大きい場合,ステップS36で要求メモリがワークメモリか否かをチェックする。要求メモリがワークメモリの場合(ステップS36のY)はエラー(確保不可)を返す。そうでない場合(ステップS36のN),図5のステップS37に進み,優先度の最も低いアプリケーションを検索する。探索したアプリケーションのワークメモリ使用量35がある場合(ステップS38のY),ステップS39でこのアプリケーションのプロセスIDを指定してメモリ強制解放部14でワークメモリを強制解放させる。強制解放が成功した場合(ステップS40のY)は,ステップS41でシステムメモリの残量に強制解放したワークメモリ量を加算し,ステップS42でこのアプリケーションのワークメモリ使用量35をクリアする。システムメモリの残量が要求メモリ量以上になった場合(ステップS43のY),図4のステップS34に進む。
【0038】
探索したアプリケーションのワークメモリ使用量35がない場合(ステップS38のN),ステップS40で強制解放が成功しなかった場合,あるいはステップS43でシステムメモリの残量がまだ要求メモリ量に達しない場合,ステップS44で他にアプリケーションの情報があるか否かをチェックする。他にアプリケーションがあれば(ステップS44のY),次に優先度が低いアプリケーションを検索し(ステップS45),ステップS38に戻る。他にアプリケーションがなくなった場合(ステップS44のN),メモリ不足としてエラーを返す。
【0039】
メモリ量管理部13でメモリの解放を通知する場合の動作を図6に示す。メモリの解放を通知時,メモリ量管理部13は,まずステップS51でシステムメモリ残量16に解放したメモリ量を加算する。そして,ステップS52で当該アプリケーションの解放したメモリ種別に対応する必須メモリ使用量34もしくはワークメモリ使用量35に解放したメモリ量を加算する。
【0040】
次に,メモリ強制解放部14の動作を図7に示す。ステップS61で指定されたプロセスIDに対応するアプリケーションにワークメモリ強制解放のSIGNALを送信する。このSIGNALを受けたアプリケーションでは,OSにより実行中の処理を中断して登録しておいたワークメモリ強制解放処理プログラム22を実行する。ここで実行中の処理を中止し,使用中のすべてのワークメモリをメモリ解放部12にて解放し,結果をメッセージにてSIGNAL送信元に返す。メモリ強制解放部14ではステップS62にて結果応答メッセージを待ち合わせる。その結果により成功であれば(ステップS63のY)OKを返し,成功でなければ(ステップS63のN)エラーを返す。
【0041】
以上のように,残りメモリの少ない状況であって,より優先度の高いアプリケーションがメモリを要求した場合等のようなメモリ負荷制御の必要な場面に,優先度の低いアプリケーションのメモリを一部解放させて利用できるようにする。このようにすることで,メモリ負荷制御を行うための二次記憶をもたない端末装置などであっても,アプリケーション毎に予めメモリを予約して一定量を保障しておく必要がなく,分割損(利用していないのに他からは使用できないメモリ)が発生せず,メモリの使用効率が向上する。
【0042】
また,リアルタイム性の要求される処理について,それが実行されるために必要なトータルのメモリ量を登録しておき,この処理が起動される時点で,対応するメモリ量をメモリ強制解放部14により解放する。これによって,リアルタイム性の要求される処理は,途中でメモリが不足してメモリ強制解放によってメモリ解放を行うような中断を生じること無しに,処理を実行できる確率が高くなる。」
したがって,上記引用文献2には次の発明(以下,「引用発明」という。)が記載されていると認められる。
「システムメモリ残量と各アプリケーションプログラムの使用メモリ量とを管理し,システムメモリ残量がメモリの確保要求量を下回る際に,選択した所定のアプリケーションプログラムの使用するシステムメモリの一部もしくはすべてを解放するようにメモリ強制解放部に通知するメモリ量管理部と,
アプリケーションプログラムからメモリの確保要求を受け,上記メモリ量管理部に要求メモリ量が確保可能かのチェックを依頼して確保可能であれば要求メモリ量を確保するメモリ確保部と,
アプリケーションプログラムからシステムメモリの解放要求を受けて使用しているシステムメモリを解放し,上記メモリ量管理部にシステムメモリを解放したことを通知するメモリ解放部と,
上記メモリ量管理部からの通知を受けて,選択したアプリケーションプログラムに対しシステムメモリを強制解放させるメモリ強制解放部とを,
備える端末装置において,
アプリケーション群の各アプリケーションは,プログラムからメモリを使用する場合,上記メモリ確保部でメモリを確保(get)し,不要になれば上記メモリ解放部にて解放(free)し,上記メモリ確保部でメモリを確保する際には,当該アプリケーションが最低限動作するのに必要な『必須メモリ』か,いつでも処理を中断すれば解放可能な『ワークメモリ』かの種別を指定するものであり,
上記メモリ確保部は,上記メモリ量管理部にて要求されたメモリ量が確保可能かチェックし,確保可能であれば,要求量のメモリを確保し,確保可能でない場合には,エラーを返すものであり,
上記メモリ解放部は,指定メモリを解放し,解放したメモリの種別(必須メモリ/ワークメモリの別)とメモリ量とを指定して上記メモリ量管理部に通知するものであり,
上記メモリ量管理部は,
まず要求メモリが必須メモリであり,かつ当該アプリケーションの必須メモリ使用量に要求メモリの量を加えると必須メモリ上限値を超えてしまう場合,エラー(確保不可)を返し,そうでない場合,要求メモリがシステムメモリ残量以下であるか否かをチェックし,要求メモリがシステムメモリ残量以下であれば,システムメモリ残量から要求メモリ量を減算し,さらに,必須メモリ使用量もしくはワークメモリ使用量の,当該アプリケーションの要求メモリの種類に対応する方に要求メモリ量を加算して,OKを返し,
一方,要求メモリがシステムメモリ残量より大きい場合,要求メモリがワークメモリか否かをチェックし,要求メモリがワークメモリの場合はエラー(確保不可)を返し,そうでない場合,優先度の最も低いアプリケーションを検索し,探索したアプリケーションのワークメモリ使用量がある場合,このアプリケーションのプロセスIDを指定して上記メモリ強制解放部でワークメモリを強制解放させ,強制解放が成功した場合は,システムメモリの残量に強制解放したワークメモリ量を加算し,このアプリケーションのワークメモリ使用量をクリアし,システムメモリの残量が要求メモリ量以上になった場合,システムメモリ残量から要求メモリ量を減算し,さらに,必須メモリ使用量もしくはワークメモリ使用量の,当該アプリケーションの要求メモリの種類に対応する方に要求メモリ量を加算して,OKを返し,
探索したアプリケーションのワークメモリ使用量がない場合,強制解放が成功しなかった場合,あるいはシステムメモリの残量がまだ要求メモリ量に達しない場合,他にアプリケーションの情報があるか否かをチェックし,他にアプリケーションがあれば,次に優先度が低いアプリケーションを検索し,他にアプリケーションがなくなった場合,メモリ不足としてエラーを返す,
方法。」
第4 対比・判断
1.本願発明1について
(1)対比
本願発明1と引用発明とを対比する。
ア.引用発明において,「アプリケーション群の各アプリケーションは,プログラムからメモリを使用する場合,上記メモリ確保部でメモリを確保(get)し,不要になれば上記メモリ解放部にて解放(free)し,上記メモリ確保部でメモリを確保する際に」,「指定」する,「最低限動作するのに必要な『必須メモリ』か,いつでも処理を中断すれば解放可能な『ワークメモリ』かの種別」とは,「最低限動作するのに必要な『必須メモリ』」と「いつでも処理を中断すれば解放可能な『ワークメモリ』」という,アプリケーションが指定する優先順位を示すものであり,また,上記『必須メモリ』は,「最低限動作するのに必要な」点で上記『ワークメモリ』より重要であることからして,メモリにおけるアプリケーションに対する重要度を示すものであるともいえ,さらに,上記『必須メモリ』と上記『ワークメモリ』との区別は,アクセス頻度において常に差異を有するものではないから,メモリへのアクセス頻度とは異なるものであるといえる。
一方,本願発明1の「メモリ優先度情報」は,「割当利用情報」に含まれて「アプリケーションホストにおいて受信」されるものであり,それに基づいて,「処理する対象への1つ以上の列挙された割当リクエストを選択」するものであり,「前記第2情報項目として前記割当利用情報に含まれ,かつ,メモリへのアクセス頻度とは異なるメモリのアプリケーションに対する重要度を示すように,アプリケーションにより決定された優先順位で」ある。
そうすると,後記する点で相違するものの,本願発明1の「メモリ優先度情報」と,引用発明の「最低限動作するのに必要な『必須メモリ』か,いつでも処理を中断すれば解放可能な『ワークメモリ』かの種別」とは,“メモリへのアクセス頻度とは異なるメモリのアプリケーションに対する重要度を示すように,アプリケーションにより決定された優先順位で”ある“メモリ優先度情報”である点において共通するといえる。
イ.引用発明は,「メモリ量管理部」を備える「端末装置」において実行される方法であるから,メモリ管理を行うための方法であるといえ,また,上記「端末装置」が「プロセッサ」を有する「コンピュータ」といえることは自明であるから,後記する点で相違するものの,本願発明1である「アプリケーションからメモリ優先度情報を受信するアプリケーションホストにおいてメモリ管理を行うためにコンピュータが少なくとも1つのプロセッサにより実行する方法」と,引用発明である「システムメモリ残量と各アプリケーションプログラムの使用メモリ量とを管理し,システムメモリ残量がメモリの確保要求量を下回る際に,選択した所定のアプリケーションプログラムの使用するシステムメモリの一部もしくはすべてを解放するようにメモリ強制解放部に通知するメモリ量管理部」を備える「端末装置において」実行される方法とは,“メモリ管理を行うためにコンピュータが少なくとも1つのプロセッサにより実行する方法”である点で共通するといえる。
ウ.引用発明は,「メモリ確保部」において,「メモリ量管理部にて要求されたメモリ量が確保可能かチェックし,確保可能であれば,要求量のメモリを確保し,確保可能でない場合には,エラーを返す」ものであり,チェック対象である「要求されたメモリ量が確保可能」か否かの状態とは「メモリ状態」であるといえ,また,上記「要求されたメモリ量が確保可能」でない状態とは,アプリケーションが要求するメモリ量が確保できないことからアプリケーションを実行させ続けることができないことを指し,逆に,上記「要求されたメモリ量が確保可能」である状態とは,アプリケーションを実行させ続けることができることを指しているといえることから,チェック対象である上記「要求されたメモリ量が確保可能」か否かとは,アプリケーションを実行させ続けることができるか否かを示しているといえる。
それに対し,本願発明1の,「前記アプリケーションホストにおいてアプリケーションを効率的に実行させ続けるための処理の必要性を示す少なくとも1つのメモリ状態を検出するステップ」における,「アプリケーションを効率的に実行させ続けるための処理の必要性」とは,アプリケーションを効率的に実行させ続けることができない状態であれば所定の処理が必要となり,逆に,アプリケーションを効率的に実行させ続けることができる状態であれば所定の処理が必要ないことになる,ことを意味するから,当該「アプリケーションを効率的に実行させ続けるための処理の必要性」を示す「メモリ状態」は,アプリケーションを実行させ続けることができるか否かを示しているということができる。
そうすると,後記する点で相違するものの,引用発明の,「メモリ確保部」において,「メモリ量管理部にて要求されたメモリ量が確保可能かチェックし,確保可能であれば,要求量のメモリを確保し,確保可能でない場合には,エラーを返す」ことと,本願発明1の,「前記アプリケーションホストにおいてアプリケーションを効率的に実行させ続けるための処理の必要性を示す少なくとも1つのメモリ状態を検出するステップ」とは,“アプリケーションを実行させ続けることができるか否かを示す少なくとも1つのメモリ状態を検出するステップ”である点で共通するといえる。
エ.引用発明では,「アプリケーション群の各アプリケーションは,プログラムからメモリを使用する場合,上記メモリ確保部でメモリを確保(get)し,不要になれば上記メモリ解放部にて解放(free)し,上記メモリ確保部でメモリを確保する際には,当該アプリケーションが最低限動作するのに必要な『必須メモリ』か,いつでも処理を中断すれば解放可能な『ワークメモリ』かの種別を指定するものであ」り,この場合,「各アプリケーション」が「メモリを確保」または「解放」しようとすることは,メモリの確保または解放に対する割当を要求することであるといえ,当該要求を行うことはメモリの確保または解放を行う対象への割当を決定するためのものであり,また,上記要求のために,要求に係るデータを当然に送信し送信先において示しているといえるから,本願発明1における,「割当リクエスト」を「列挙する」ことと,引用発明における,上記「各アプリケーション」が「メモリを確保」または「解放」するために要求データを送信し送信先において示すことは,“割当リクエスト”を“示す”ことである点で共通するといえる。
そうすると,後記する点で相違するものの,引用発明の,「アプリケーション群の各アプリケーションは,プログラムからメモリを使用する場合,上記メモリ確保部でメモリを確保(get)し,不要になれば上記メモリ解放部にて解放(free)し,上記メモリ確保部でメモリを確保する際には,当該アプリケーションが最低限動作するのに必要な『必須メモリ』か,いつでも処理を中断すれば解放可能な『ワークメモリ』かの種別を指定するものであ」って,「各アプリケーション」が「メモリを確保」または「解放」しようとするために要求データを送信し送信先において示すことと,本願発明1の,「処理する対象への割当を決定するために,受信した割当リクエストを列挙するステップ」とは,“処理する対象への割当を決定するために,受信した割当リクエストを示すステップ”である点で共通するといえる。
オ.上記ア.のとおり,後記する点で相違するものの,本願発明1の「メモリ優先度情報」が,「前記第2情報項目として前記割当利用情報に含まれ,かつ,メモリへのアクセス頻度とは異なるメモリのアプリケーションに対する重要度を示すように,アプリケーションにより決定された優先順位である」ことと,引用発明の「最低限動作するのに必要な『必須メモリ』か,いつでも処理を中断すれば解放可能な『ワークメモリ』かの種別」とは,“メモリ優先度情報”が,“メモリへのアクセス頻度とは異なるメモリのアプリケーションに対する重要度を示すように,アプリケーションにより決定された優先順位である”点で共通するといえる。
したがって,本願発明1と引用発明との間には,次の一致点,相違点があるといえる。
(一致点)
メモリ管理を行うためにコンピュータが少なくとも1つのプロセッサにより実行する方法であって,
アプリケーションを実行させ続けることができるか否かを示す少なくとも1つのメモリ状態を検出するステップと,
処理する対象への割当を決定するために,受信した割当リクエストを示すステップと
を有し,前記メモリ優先度情報は,メモリへのアクセス頻度とは異なるメモリのアプリケーションに対する重要度を示すように,アプリケーションにより決定された優先順位である,ことを特徴とする方法。
(相違点)
(相違点1)
本願発明1は,「アプリケーションからメモリ優先度情報を受信するアプリケーションホストにおいて」実行する方法であるのに対し,
引用発明は,そのような構成を備えていない点。
(相違点2)
本願発明1は,「メモリに対する複数の割当リクエストを示す第1情報項目と1つ以上のアプリケーションによりメモリの割当がどのように利用されるかを示す第2情報項目とを含む割当利用情報を,アプリケーションホストにおいて受信するステップ」を有するのに対し,
引用発明は,そのような構成を備えていない点。
(相違点3)
少なくとも1つのメモリ状態を検出するステップに関し,
本願発明1は,「前記アプリケーションホストにおいて」,「アプリケーションを効率的に実行させ続けるための処理の必要性を示す」少なくとも1つのメモリ状態を検出するものであるのに対し,
引用発明は,そのような構成を備えていない点。
(相違点4)
処理する対象への割当を決定するために,受信した割当リクエストを示すステップに関し,
本願発明1は,受信した割当リクエストを「列挙」するものであるのに対し,
引用発明は,そのような構成を備えていない点。
(相違点5)
本願発明1は,「前記メモリ優先度情報に基づいて,処理する対象への1つ以上の列挙された割当リクエストを選択するステップ」と,「検出した前記メモリ状態を改善するために,選択された前記割当リクエストに応じた処理を実行するステップ」を有するのに対し,
引用発明は,そのような構成を備えていない点。
(相違点6)
メモリ優先度情報に関し,
本願発明1は,「前記第2情報項目として前記割当利用情報に含まれ」るのに対し,
引用発明は,そのような構成を備えていない点。
(2)相違点についての判断
事案に鑑みて,上記相違点5について先に検討する。
引用発明において,メモリを確保または解放するために,対象として選択されるのは,「優先度の最も低いアプリケーション」であり,仮に,「優先度の最も低いアプリケーション」以外のアプリケーションに「ワークメモリ使用量がある場合」であっても,それに基づいて当該「優先度の最も低いアプリケーション」以外のアプリケーションが選択されることはないし,仮に,上記「優先度の最も低いアプリケーション」以外のアプリケーションが選択されるとしても,それは,当該アプリケーションのための要求が選択されることとはいえない。そうすると,相違点5に係る本願発明1の,「前記メモリ優先度情報に基づいて,処理する対象への1つ以上の列挙された割当リクエストを選択するステップ」という構成は,上記引用文献2には記載されておらず,本願優先日前において周知技術であるともいえない。
したがって,本願発明1は,相違点1ないし4,6を検討するまでもなく,当業者であっても引用発明,引用文献2に記載された技術的事項,および周知技術に基づいて容易に発明できたものであるとはいえない。
2.本願発明2-10について
本願発明2-10は,本願発明1を減縮したもので,本願発明1の「前記メモリ優先度情報に基づいて,処理する対象への1つ以上の列挙された割当リクエストを選択するステップ」と同一の構成を備えるものであるから,本願発明1と同じ理由により,当業者であっても引用発明,引用文献2に記載された技術的事項,および周知技術に基づいて容易に発明できたものであるとはいえない。
3.本願発明11-13について
本願発明11-13は,本願発明1に対応するシステム,プログラム,記憶媒体の発明であり,本願発明1の「前記メモリ優先度情報に基づいて,処理する対象への1つ以上の列挙された割当リクエストを選択するステップ」に対応する構成を備えるものであるから,本願発明1と同様の理由により,当業者であっても引用発明,引用文献2に記載された技術的事項,および周知技術に基づいて容易に発明できたものであるとはいえない。
第5 原査定の概要及び原査定についての判断
1.理由1(特許法第29条第2項)について
原査定は,請求項1-13について上記引用文献2に基づいて,当業者が容易に発明できたものであるから,特許法第29条第2項の規定により特許を受けることができないというものである。しかしながら,平成30年4月19日付け手続補正により補正された結果,請求項1,11,12,13は,それぞれ「前記メモリ優先度情報に基づいて,処理する対象への1つ以上の列挙された割当リクエストを選択するステップ」という事項,または対応する構成を有するものとなっており,上記のとおり,本願発明1-13は,上記引用発明,引用文献2に記載された技術的事項,および周知技術に基づいて,当業者が容易に発明できたものではない。したがって,原査定の理由1を維持することはできない。
2.理由2(特許法第36条第6項第2号)について
原査定は,請求項1においては,依然として「メモリ優先度情報」と「1つ以上のアプリケーションによりメモリの割当がどのように利用されるかを示す情報」の関係が不明であるというものである。しかしながら,平成30年4月19日付けの補正により,「1つ以上のアプリケーションによりメモリの割当がどのように利用されるかを示す情報項目」及び「前記メモリ優先度情報は,前記割当利用情報に含まれ」という記載は,「1つ以上のアプリケーションによりメモリの割当がどのように利用されるかを示す第2情報項目」及び「前記メモリ優先度情報は,前記第2情報項目として前記割当利用情報に含まれ」に補正されており,原査定の理由2を維持することはできない。
第6 当審拒絶理由について
1.特許法第36条第6項第1号について
当審では,請求項1には,「処理する対象への割当を決定するために,受信した割当リクエストを列挙」し,「処理する対象への1つ以上の列挙された割当を選択」し,「検出した前記メモリ状態を改善するために,選択された前記割当による処理を実行する」ために,メモリを利用するアプリケーションからのどのような情報を,どのように利用するのか,何ら反映されておらず,アプリケーションから受信する「メモリ優先度情報」又は「割当利用情報」を全く用いずに割当リクエストを選択する態様も包含しているから,当該請求項には,発明の詳細な説明に記載された,発明の課題を解決するための手段が反映されておらず,当該請求項に係る発明は,発明の詳細な説明に記載した範囲を超えることとなり,当該請求項に係る発明は,発明の詳細な説明に記載したものではないとの拒絶の理由を通知しているが,平成30年4月19日付けの補正において,「前記メモリ優先度情報に基づいて,処理する対象への1つ以上の列挙された割当リクエストを選択するステップ」(下線は補正箇所。以下,同じ。)と補正された結果,この拒絶の理由は解消した。
2.特許法第36条第6項第2号について
(1)当審では,請求項1における「処理する対象への割当を決定するために,受信した割当リクエストを列挙するステップ」における「割当リクエスト」と,「処理する対象への1つ以上の列挙された割当を選択するステップ」における「割当」との関係が不明であるとの拒絶の理由を通知しているが,平成30年4月19日付けの補正において,「前記メモリ優先度情報に基づいて,処理する対象への1つ以上の列挙された割当リクエストを選択するステップ」と補正された結果,この拒絶の理由は解消した。
(2)また,当審では,請求項1における「1つ以上のアプリケーションによりメモリの割当がどのように利用されるかを示す情報項目」は,請求項1に係る発明である「方法」においてどのように用いられるか,何ら記載されておらず,発明の各「ステップ」や他の構成要素とどのような関係にあるのか不明であるとの拒絶の理由を通知しているが,平成30年4月19日付けの補正において,「1つ以上のアプリケーションによりメモリの割当がどのように利用されるかを示す第2情報項目」及び「前記メモリ優先度情報は,前記第2情報項目として前記割当利用情報に含まれ」と補正された結果,この拒絶の理由は解消した。
第7 むすび
以上のとおり,本願発明1-13は,当業者が引用発明,引用文献2に記載された技術的事項,および周知技術に基づいて容易に発明をすることができたものではない。
したがって,原査定の理由によっては,本願を拒絶することはできない。
また,他に本願を拒絶すべき理由を発見しない。
よって,結論のとおり審決する。
審決本文(J-PlatPat)
J-PlatPatの審決検索トップを開きます。番号入力で「審判番号」を選び、下の番号を貼り付けて検索してください。
J-PlatPat 審決検索を開く
2017-005289