【事件の表示】
　特願２００８−５３３３０３「仮想マシン、イベント処理方法および記録媒体」拒絶査定不服審判事件〔平成２０年　３月１３日国際公開、ＷＯ２００８／０３０２０７、平成２１年　２月１２日国内公表、特表２００９−５０６４６７〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
第１．手続の経緯
　本願は、平成１７年２月９日（パリ条約による優先権主張外国庁受理２００４年２月１８日、米国）を国際出願日とする出願であって、平成１８年８月１７日に国内書面の提出がなされ、同年１０月５日付けで特許協力条約第３条（２）に規定する明細書、請求の範囲、図面（図面の中の説明に限る）及び要約の日本語による翻訳文の提出がなされ、平成２１年１２月１日付けで拒絶理由通知がなされ、平成２２年６月７日付けで手続補正がなされ、同年７月６日付けで最後の拒絶理由通知がなされ、同年１０月４日付けで手続補正がなされたが、同年１０月２１日付けで前記平成２２年１０月４日付けの手続補正を却下するとともに同日付けで拒絶査定がなされ、これに対し、平成２３年２月２２日に審判請求がなされるとともに、同日付けで手続補正がなされたものである。そして、平成２３年３月１７日付けで審査官から前置報告がなされ、同年１０月２０日付けで当審より審尋がなされ、平成２４年１月２３日付けで回答書が提出されたものである。
　
第２．平成２３年２月２２日付けの手続補正についての補正却下の決定
［補正却下の決定の結論］
　平成２３年２月２２日付けの手続補正を却下する。
　
［理由］
１．補正の内容
　平成２３年２月２２日付けの手続補正（以下、「本件補正」という。）は、平成２２年６月７日付けの手続補正により補正された特許請求の範囲の記載
「【請求項１】
　プラットフォーム上で動作し第１および第２のタスクを並行して実行可能な仮想マシンによってネイティブイベントを処理する方法であって、
　前記仮想マシンが、前記プラットフォームに関連付けられた複数のネイティブイベントを受け付ける工程と、
　前記仮想マシンが、前記複数のネイティブイベントの各々について、前記第１のタスクおよび前記第２のタスクのどちらが受け取るべきかを選択する工程と、
　前記仮想マシンが、前記複数のネイティブイベントの各々を、前記第１のタスクおよび前記第２のタスクのうち前記複数のネイティブイベント毎に選択されたタスクにディスパッチする工程と、
　前記仮想マシンが、前記複数のネイティブイベントの各々がそれぞれディスパッチされた前記第１のタスクおよび前記第２のタスクを並行して実行することによって、アプリケーションをサポートする工程と
　を備え、
　前記選択する工程は、前記第１のタスクおよび前記第２のタスクのうちフォアグラウンドタスクを選択する工程である、方法。
　　【請求項２】
　請求項１に記載の方法であって、更に、
　前記仮想マシンが、前記第１のタスクおよび前記第２のタスクの少なくとも一方にイベントリポジトリおよびイベントハンドラを用意する工程と、
　前記仮想マシンが、前記ネイティブイベントを前記イベントリポジトリに格納する工程と、
　前記仮想マシンが、前記ネイティブイベントの処理を開始するために前記イベントハンドラを呼び出す工程と、
　前記仮想マシンが、前記イベントハンドラに基づいて前記ネイティブイベントを処理する工程と
　を備える方法。
　　【請求項３】
　請求項２に記載の方法であって、
　前記イベントリポジトリは、先入れ先出しキューを含み、
　前記イベントハンドラは、イベントハンドラスレッドを含み、
　前記ネイティブイベントをディスパッチする工程は、イベントマネージャスレッドによって実行される方法。
　　【請求項４】
　更に、前記仮想マシンが、前記ネイティブイベントをＪａｖａ（登録商標）に対応させる工程を備える請求項１ないし請求項３のいずれか一項に記載の方法。
　　【請求項５】
　前記第１のタスクおよび前記第２のタスクの少なくとも一方は、Ｊａｖａ（登録商標）対応ミッドレットを含む請求項１ないし請求項４のいずれか一項に記載の方法。
　　【請求項６】
　前記第１のタスクおよび前記第２のタスクの少なくとも一方は、Ｊａｖａ（登録商標）対応ミッドレットの一部を含む請求項１ないし請求項４のいずれか一項に記載の方法。
　　【請求項７】
　前記フォアグラウンドタスクは、ユーザに対して表示されているタスクである請求項１ないし請求項６に記載の方法。
　　【請求項８】
　前記プラットフォームは、携帯機器を含む請求項７に記載の方法。
　　【請求項９】
　プラットフォーム上で動作してアプリケーションをサポートするために、第１および第２のタスクを並行して実行可能であり前記プラットフォームに関連付けられたネイティブイベントを処理する仮想マシンであって、
　前記プラットフォームに関連付けられた複数のネイティブイベントを受け付け、前記複数のネイティブイベントの各々について、前記第１のタスクおよび前記第２のタスクのうちフォアグラウンドタスクを選択し、前記複数のネイティブイベントの各々を、前記第１のタスクおよび前記第２のタスクのうち前記複数のネイティブイベント毎に選択されたタスクにディスパッチするネイティブイベント・ディスパッチャを備える仮想マシン。
　　【請求項１０】
　前記第１のタスクおよび前記第２のタスクの少なくとも一方は、前記ネイティブイベント・ディスパッチャによる呼び出しに基づいて、前記ネイティブイベントを処理するネイティブイベント・ハンドラを含む請求項９に記載の仮想マシン。
　　【請求項１１】
　請求項９に記載の仮想マシンであって、
　前記第１のタスクおよび前記第２のタスクの少なくとも一方は、
　　前記ネイティブイベント・ディスパッチャによってディスパッチされたネイティブイベントを格納するネイティブイベント・リポジトリと、
　　前記ネイティブイベント・ディスパッチャによる呼び出しに基づいて、前記ネイティブイベント・リポジトリに格納されているネイティブイベントの処理を開始するためのネイティブイベント・ハンドラと
　を含む、仮想マシン。
　　【請求項１２】
　プラットフォーム上で動作し該プラットフォーム上で第１および第２のタスクを並行して実行可能な仮想マシンによってネイティブイベントを処理する方法であって、
　前記仮想マシンが、前記プラットフォームに関連付けられた前記ネイティブイベントを受け付ける工程と、
　前記仮想マシンが、前記第１のタスクおよび前記第２のタスクのうち、表示されている唯一のタスクであるフォアグラウンドタスクに、前記受け付けられたネイティブイベントをディスパッチする工程と、
　前記仮想マシンが、前記第１のタスクおよび前記第２のタスクを並行して実行する過程で、前記フォアグラウンドタスクにディスパッチされたネイティブイベントを処理することによって、アプリケーションをサポートする工程と
　を備える方法。
　　【請求項１３】
　前記プラットフォームは、携帯機器を含む請求項１２に記載の方法。
　　【請求項１４】
　前記第１のタスクおよび前記第２のタスクは、ミッドレットを含む請求項１２または請求項１３に記載の方法。
　　【請求項１５】
　プラットフォーム上で第１および第２のタスクを並行して実行可能な仮想マシンに、ネイティブイベントを処理する機能を実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
　前記仮想マシンが、前記プラットフォームに関連付けられたネイティブイベントを受け付ける機能と、
　前記仮想マシンが、前記第１のタスクおよび前記第２のタスクのうち、表示されている唯一のタスクであるフォアグラウンドタスクに、前記受け付けられたネイティブイベントをディスパッチする機能と、
　前記仮想マシンが、前記第１のタスクおよび前記第２のタスクを並行して実行する過程で、前記フォアグラウンドタスクにディスパッチされたネイティブイベントを処理することによって、アプリケーションをサポートする機能と
　を実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
　　【請求項１６】
　請求項１５に記載のコンピュータ読み取り可能な記録媒体であって、
　前記仮想マシンは、携帯機器上で動作し、
　前記フォアグラウンドタスクは、Ｊａｖａ（登録商標）対応ミッドレットを含む、コンピュータ読み取り可能な記録媒体。」（以下、請求項１〜請求項１６をそれぞれ「補正前の請求項１」〜「補正前の請求項１６」という。）を、
　
「【請求項１】
　プラットフォーム上で動作し第１および第２のタスクを並行して実行可能な仮想マシンによってネイティブイベントを処理する方法であって、
　前記仮想マシンが、前記プラットフォームに関連付けられた複数のネイティブイベントを受け付ける工程と、
　前記仮想マシンが、前記複数のネイティブイベントの各々について、前記第１のタスクおよび前記第２のタスクのどちらが受け取るべきかを選択する工程と、
　前記仮想マシンが、前記複数のネイティブイベントの各々を、前記第１のタスクおよび前記第２のタスクのうち前記複数のネイティブイベント毎に選択されたタスクに、前記ネイティブイベントが前記選択されたタスクによってアクセスできないデータ構造である場合に前記選択されたタスクによってアクセス可能なデータ構造に操作した上で、ディスパッチする工程と、
　前記仮想マシンが、前記複数のネイティブイベントの各々がそれぞれディスパッチされた前記第１のタスクおよび前記第２のタスクを並行して実行することによって、アプリケーションをサポートする工程と
　を備え、
　前記選択する工程は、前記第１のタスクおよび前記第２のタスクのうち、ディスプレイに表示されている唯一のタスクであるフォアグラウンドタスクを選択する工程である、方法。
　　【請求項２】
　請求項１に記載の方法であって、更に、
　前記仮想マシンが、前記第１のタスクおよび前記第２のタスクの少なくとも一方にイベントリポジトリおよびイベントハンドラを用意する工程と、
　前記仮想マシンが、前記ネイティブイベントを前記イベントリポジトリに格納する工程と、
　前記仮想マシンが、前記ネイティブイベントの処理を開始するために前記イベントハンドラを呼び出す工程と、
　前記仮想マシンが、前記イベントハンドラに基づいて前記ネイティブイベントを処理する工程と
　を備える方法。
　　【請求項３】
　請求項２に記載の方法であって、
　前記イベントリポジトリは、先入れ先出しキューを含み、
　前記イベントハンドラは、イベントハンドラスレッドを含み、
　前記ネイティブイベントをディスパッチする工程は、イベントマネージャスレッドによって実行される方法。
　　【請求項４】
　更に、前記仮想マシンが、前記ネイティブイベントをＪａｖａ（登録商標）に対応させる工程を備える請求項１ないし請求項３のいずれか一項に記載の方法。
　　【請求項５】
　前記第１のタスクおよび前記第２のタスクの少なくとも一方は、Ｊａｖａ（登録商標）対応ミッドレットを含む請求項１ないし請求項４のいずれか一項に記載の方法。
　　【請求項６】
　前記第１のタスクおよび前記第２のタスクの少なくとも一方は、Ｊａｖａ（登録商標）対応ミッドレットの一部を含む請求項１ないし請求項４のいずれか一項に記載の方法。
　　【請求項７】
　前記フォアグラウンドタスクは、ユーザに対して表示されているタスクである請求項１ないし請求項６のいずれか一項に記載の方法。
　　【請求項８】
　前記プラットフォームは、携帯機器を含む請求項７に記載の方法。
　　【請求項９】
　プラットフォーム上で動作してアプリケーションをサポートするために、第１および第２のタスクを並行して実行可能であり前記プラットフォームに関連付けられたネイティブイベントを処理する仮想マシンであって、
　前記プラットフォームに関連付けられた複数のネイティブイベントを受け付け、前記複数のネイティブイベントの各々について、前記第１のタスクおよび前記第２のタスクのうち、ディスプレイに表示されている唯一のタスクであるフォアグラウンドタスクを選択し、前記複数のネイティブイベントの各々を、前記第１のタスクおよび前記第２のタスクのうち前記複数のネイティブイベント毎に選択されたタスクに、前記ネイティブイベントが前記選択されたタスクによってアクセスできないデータ構造である場合に前記選択されたタスクによってアクセス可能なデータ構造に操作した上で、ディスパッチするネイティブイベント・ディスパッチャを備える仮想マシン。
　　【請求項１０】
　前記第１のタスクおよび前記第２のタスクの少なくとも一方は、前記ネイティブイベント・ディスパッチャによる呼び出しに基づいて、前記ネイティブイベントを処理するネイティブイベント・ハンドラを含む請求項９に記載の仮想マシン。
　　【請求項１１】
　請求項９に記載の仮想マシンであって、
　前記第１のタスクおよび前記第２のタスクの少なくとも一方は、
　　前記ネイティブイベント・ディスパッチャによってディスパッチされたネイティブイベントを格納するネイティブイベント・リポジトリと、
　　前記ネイティブイベント・ディスパッチャによる呼び出しに基づいて、前記ネイティブイベント・リポジトリに格納されているネイティブイベントの処理を開始するためのネイティブイベント・ハンドラと
　を含む、仮想マシン。
　　【請求項１２】
　プラットフォーム上で動作し該プラットフォーム上で第１および第２のタスクを並行して実行可能な仮想マシンによってネイティブイベントを処理する方法であって、
　前記仮想マシンが、前記プラットフォームに関連付けられた前記ネイティブイベントを受け付ける工程と、
　前記仮想マシンが、前記第１のタスクおよび前記第２のタスクのうち、ディスプレイに表示されている唯一のタスクであるフォアグラウンドタスクに、前記受け付けられたネイティブイベントを、前記ネイティブイベントが前記選択されたタスクによってアクセスできないデータ構造である場合に前記選択されたタスクによってアクセス可能なデータ構造に操作した上で、ディスパッチする工程と、
　前記仮想マシンが、前記第１のタスクおよび前記第２のタスクを並行して実行する過程で、前記フォアグラウンドタスクにディスパッチされたネイティブイベントを処理することによって、アプリケーションをサポートする工程と
　を備える方法。
　　【請求項１３】
　前記プラットフォームは、携帯機器を含む請求項１２に記載の方法。
　　【請求項１４】
　前記第１のタスクおよび前記第２のタスクは、ミッドレットを含む請求項１２または請求項１３に記載の方法。
　　【請求項１５】
　プラットフォーム上で第１および第２のタスクを並行して実行可能な仮想マシンに、ネイティブイベントを処理する機能を実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
　前記仮想マシンが、前記プラットフォームに関連付けられたネイティブイベントを受け付ける機能と、
　前記仮想マシンが、前記第１のタスクおよび前記第２のタスクのうち、ディスプレイに表示されている唯一のタスクであるフォアグラウンドタスクに、前記受け付けられたネイティブイベントを、前記ネイティブイベントが前記選択されたタスクによってアクセスできないデータ構造である場合に前記選択されたタスクによってアクセス可能なデータ構造に操作した上で、ディスパッチする機能と、
　前記仮想マシンが、前記第１のタスクおよび前記第２のタスクを並行して実行する過程で、前記フォアグラウンドタスクにディスパッチされたネイティブイベントを処理することによって、アプリケーションをサポートする機能と
　を実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
　　【請求項１６】
　請求項１５に記載のコンピュータ読み取り可能な記録媒体であって、
　前記仮想マシンは、携帯機器上で動作し、
　前記フォアグラウンドタスクは、Ｊａｖａ（登録商標）対応ミッドレットを含む、コンピュータ読み取り可能な記録媒体。」（以下、請求項１〜請求項１６をそれぞれ「補正後の請求項１」〜「補正後の請求項１６」という。）
　に補正するものである。
　　
２．補正の適否
２−１．新規事項の有無、補正の目的要件 
　本件補正は、願書に最初に添付した明細書、特許請求の範囲又は図面に記載した事項の範囲内においてなされており、特許法第１７条の２第３項の規定に適合する。
　そして、本件補正は、補正前の請求項１〜補正前の請求項１６をそれぞれ補正後の請求項１〜補正後の請求項１６に補正したものである。
　そして、本件補正は、特許法第１７条の２第４項第２号の特許請求の範囲の限定的減縮（請求項に記載した発明を特定するために必要な事項を限定するものであって、その補正前の当該請求項に記載された発明とその補正後の請求項に記載された発明の利用分野及び解決しようとする課題が同一であるもの）を目的とするものである。
　
２−２．独立特許要件
　本件補正は、特許法第１７条の２第４項第２号の特許請求の範囲の限定的減縮（請求項に記載した発明を特定するために必要な事項を限定するものであって、その補正前の当該請求項に記載された発明とその補正後の請求項に記載された発明の利用分野及び解決しようとする課題が同一であるもの）を目的とするものであるから、補正前の請求項１についてなされた補正、すなわち補正後の請求項１（以下「補正後の発明」という。）が、特許出願の際独立して特許を受けることができるものであるか、（平成１８年法律第５５号改正附則第３条第１項によりなお従前の例によるとされる同法による改正前の特許法第１７条の２第５項において準用する同法第１２６条第５項の規定に適合するか）以下に検討する。
　
（１）補正後の発明
　前記補正前の請求項１についてなされた補正により、補正後の発明は、前記「１．補正の内容」の「補正後の請求項１」に記載された以下のものと認められる。
　
　「プラットフォーム上で動作し第１および第２のタスクを並行して実行可能な仮想マシンによってネイティブイベントを処理する方法であって、
　前記仮想マシンが、前記プラットフォームに関連付けられた複数のネイティブイベントを受け付ける工程と、
　前記仮想マシンが、前記複数のネイティブイベントの各々について、前記第１のタスクおよび前記第２のタスクのどちらが受け取るべきかを選択する工程と、
　前記仮想マシンが、前記複数のネイティブイベントの各々を、前記第１のタスクおよび前記第２のタスクのうち前記複数のネイティブイベント毎に選択されたタスクに、前記ネイティブイベントが前記選択されたタスクによってアクセスできないデータ構造である場合に前記選択されたタスクによってアクセス可能なデータ構造に操作した上で、ディスパッチする工程と、
　前記仮想マシンが、前記複数のネイティブイベントの各々がそれぞれディスパッチされた前記第１のタスクおよび前記第２のタスクを並行して実行することによって、アプリケーションをサポートする工程と
　を備え、
　前記選択する工程は、前記第１のタスクおよび前記第２のタスクのうち、ディスプレイに表示されている唯一のタスクであるフォアグラウンドタスクを選択する工程である、方法。」
　
（２）引用文献 
　原査定の拒絶の理由に引用された文献「D. Balfanz and L. Gong, Experience with Secure Multi-Processing in Java, Proceedings of the 18th International Conference on Distributed Computing Systems, 26 May 1998, pp.398−405」（以下、「引用文献」という。）には、図面とともに次の事項が記載されている。
　 
（ア）「In this paper, we report our experiences in attempting to implement multi-processing capabilities for the Java platform. We describe changes and additions to the Java system APIs (part of JDK)that we found necessary and useful. 」（３９８頁左欄下から２行目〜右欄２行目。）
（和訳：この論文では、Javaプラットフォームにおけるマルチプロセス能力をインプリメントすることを試みた経験を報告する。我々がJavaシステムAPI(JDKの一部)に対して行った、必要かつ有用であると気づいた、変更と追加について、記述する。）
　
（イ）「Therefore, we reworked the AWT event-dispatching to have the following features. 
・When an application opens a window, the system makes note about which application the window belongs to. 
・When an event occurs in a GUI element, the enclosing window and its application are found. Then, the AWT event is put on the particular event queue of that application, where it will be picked up and dispatched by a thread that belongs to that application. 
　This redesign also improves responsiveness, as each application's event dispatching is now independent from other applications (see Figure 3). 」（４０３頁左欄下から２２行目〜１０行目。）
（和訳：したがって、私たちはAWTイベント−ディスパッチングを次の特徴を持つように再加工した。
・アプリケーションがウィンドウをオープンする場合、システムは該ウィンドウがどのアプリケーションに属するかに関して書き留める。
・イベントがＧＵＩ要素に生じる場合、それを囲むウィンドウおよびそのアプリケーションが見つかる。その後、AWTイベントは、そのアプリケーションの特別のイベントキューに置かれ、その後、前記AWTイベントはピックアップされ、そのアプリケーションに属するスレッドによってディスパッチされる。
　この再設計により、各アプリケーションのイベントディスパッチングが他のアプリケーションとは独立し、応答を改善する(図３を参照)。）
　
（ウ）「Figure3」（４０３頁）には、JavaVirtualMachine（Ｊａｖａ仮想マシン）におけるMtoolkitが、複数のAWTイベントの各々を複数のアプリケーションのうち前記複数のAWTイベント毎に選択されたアプリケーションにディスパッチされ、前記JavaVirtualMachine（Ｊａｖａ仮想マシン）において、前記複数のAWTイベントの各々がディスパッチされた前記複数のアプリケーションの各々が並行して実行されることが記載されている。
　
　（ア）における記載及び（ウ）の「Figure3」に関する記載からすると、引用文献には、複数のアプリケーション（プロセス）が並行して実行可能なＪａｖａ仮想マシンによって、イベントを処理する方法が記載されていると解される。なお、Ｊａｖａ仮想マシンが、プラットフォーム上で動作するものであることは、当業者にとって自明の事項である。
　
　（イ）及び（ウ）に記載された「ＡＷＴ」とは、Ａｂｓｔｒａｃｔ　Ｗｉｎｄｏｗｉｎｇ　Ｔｏｏｌｋｉｔの略であって、Ｊａｖａ仮想マシンにおいて使用されるＧＵＩツールキットであり、プラットフォームに依存しない形で提供され、ボタンやメニューなどのＧＵＩ部品に対する、ユーザによるマウス操作（マウス・イベント）やキーボード操作（キー・イベント）などのイベントを、プラットフォームから受け付けて、操作の内容に関する詳しい情報が含まれた抽象化されたイベント・オブジェクトであるＡＷＴイベントを発生させて、Ｊａｖａ仮想マシン上で実行されるアプリケーションにディスパッチする環境を提供するフレームワークであることは、当業者にとって自明の事項である。
　
　そして、（イ）及び（ウ）の「Figure3」に関する記載から、前記引用文献には、プラットフォーム上で動作し複数のアプリケーションを並行して実行可能なＪａｖａ仮想マシンによってプラットフォームにおけるユーザによるマウス操作のイベント（マウス・イベント）やキーボード操作のイベント（キー・イベント）などを処理する方法であって、
　前記Ｊａｖａ仮想マシンは、前記プラットフォームにおけるマウス・イベントやキー・イベントなどの複数のイベントを受け付け、前記複数のイベントの各々について、前記複数のアプリケーションのいずれが受け取るべきかを選択し、
　前記複数のイベントの各々を、前記複数のアプリケーションのうち前記複数のイベント毎に選択されたアプリケーションに、前記イベントが前記選択されたアプリケーションによってアクセス可能な、操作の内容に関する詳しい情報が含まれた抽象化されたイベント・オブジェクトであるＡＷＴイベントを発生させた上で、前記イベント・オブジェクトであるＡＷＴイベントをディスパッチし、
　前記複数のイベント・オブジェクトであるＡＷＴイベントの各々がディスパッチされた前記複数のアプリケーションの各々を並行して、前記Ｊａｖａ仮想マシン上で実行することによって、アプリケーションをサポートする方法が記載されていると解される。
　
　したがって、引用文献には、次の発明（以下、「引用発明」という。）が記載されていると認められる。 
　
　プラットフォーム上で動作し複数のアプリケーションを並行して実行可能なＪａｖａ仮想マシンによってプラットフォームにおけるユーザによるマウス操作のイベント（マウス・イベント）やキーボード操作のイベント（キー・イベント）などを処理する方法であって、
　前記Ｊａｖａ仮想マシンが、前記プラットフォームにおけるマウス・イベントやキー・イベントなどの複数のイベントを受け付ける工程と、
　前記Ｊａｖａ仮想マシンが、前記複数のイベントの各々について、前記複数のアプリケーションのいずれが受け取るべきかを選択する工程と、
　前記Ｊａｖａ仮想マシンが、前記複数のアプリケーションのうち前記複数のイベント毎に選択されたアプリケーションに、前記イベントが前記選択されたアプリケーションによってアクセス可能な、操作の内容に関する詳しい情報が含まれた抽象化されたイベント・オブジェクトであるＡＷＴイベントを発生させた上で、ディスパッチする工程と、
　前記Ｊａｖａ仮想マシンが、前記複数の抽象化されたイベントオブジェクトの各々がそれぞれディスパッチされた前記複数のアプリケーションを並行して実行することによって、アプリケーションをサポートする工程と
　を備える、方法。
　
（３）対比 
　引用発明の「複数のアプリケーション」及び「アプリケーション」は、それぞれ補正後の発明の「第１および第２のタスク」及び「タスク」に相当する。
　引用発明の「Ｊａｖａ仮想マシン」は、補正後の発明の「仮想マシン」に相当する。
　引用発明の「ユーザによるマウス操作のイベント（マウス・イベント）やキーボード操作のイベント（キー・イベント）」は、補正後の発明の「ネイティブイベント」に相当する。
　引用発明の「プラットフォームにおけるマウス・イベントやキー・イベントなどの複数のイベント」は、補正後の発明の「プラットフォームに関連付けられた複数のネイティブイベント」に相当する。
　引用発明の「前記選択されたアプリケーションによってアクセス可能な、操作の内容に関する詳しい情報が含まれた抽象化されたイベント・オブジェクトであるＡＷＴイベントを発生」させることは、前記ＡＷＴイベントが前記アプリケーションによってアクセス可能な抽象化されたイベント・オブジェクトであることから、補正後の発明の「前記選択されたタスクによってアクセス可能なデータ構造に操作」することに相当する。
　
　よって、補正後の発明と引用発明とは、以下の点で一致し、また、相違している。 
　 
（一致点） 
　プラットフォーム上で動作し第１および第２のタスクを並行して実行可能な仮想マシンによってネイティブイベントを処理する方法であって、
　前記仮想マシンが、前記プラットフォームに関連付けられた複数のネイティブイベントを受け付ける工程と、
　前記仮想マシンが、前記複数のネイティブイベントの各々について、前記第１のタスクおよび前記第２のタスクのどちらが受け取るべきかを選択する工程と、
　前記仮想マシンが、前記複数のネイティブイベントの各々を、前記第１のタスクおよび前記第２のタスクのうち前記複数のネイティブイベント毎に選択されたタスクに、前記ネイティブイベントが前記選択されたタスクによってアクセスできないデータ構造である場合に前記選択されたタスクによってアクセス可能なデータ構造に操作した上で、ディスパッチする工程と、
　前記仮想マシンが、前記複数のネイティブイベントの各々がそれぞれディスパッチされた前記第１のタスクおよび前記第２のタスクを並行して実行することによって、アプリケーションをサポートする工程と
　を備える、方法。
　
（相違点）
　補正後の発明の「選択する工程」は、「前記第１のタスクおよび前記第２のタスクのうち、ディスプレイに表示されている唯一のタスクであるフォアグラウンドタスクを選択する」のに対して、引用発明の「選択する工程」は、前記複数のアプリケーションのうち、ディスプレイに表示されている唯一のアプリケーションであるフォアグラウンドアプリケーションを選択するものではない点。
　
（４）判断 
　相違点について検討する。
　携帯電話のようなモバイル機器を対象とする、Ｊａｖａ２プラットフォームの一つのエディションであるＪ２ＭＥ（Ｊａｖａ２　Ｍｉｃｒｏ　Ｅｄｉｔｉｏｎ）のＭＩＤＰ（Ｍｏｂｉｌｅ Ｉｎｆｏｒｍａｔｉｏｎ Ｄｅｖｉｃｅ Ｐｒｏｆｉｌｅ）仕様において、前記モバイル機器上のＪａｖａ仮想マシン上で、Ｍｉｄｌｅｔと呼ばれるＭＩＤＰをベースに開発されたアプリケーションについて、１つの装置で複数のＭｉｄｌｅｔアプリケーションを実行する際、フォアグラウンドのＭｉｄｌｅｔアプリケーションのみが、ユーザにとっていっときに表示される唯一のアプリケーションであって、ユーザからの入力イベントが、当該フォアグラウンドのＭｉｄｌｅｔアプリケーションに送られることは、当業者にとってよく知られた技術常識（以下、「技術常識」という）である。
（例えば、刊行物（Ｙｕ　Ｆｅｎｇ，外１名，”Ｊ２ＭＥ　ワイヤレス　Ｊａｖａ　プログラミング　初版”，株式会社アスキー，２００２年５月１１日，ｐ．２９，ｐ．４８，９７，単行本2003-00054-001）における記載「Ｊ２ＭＥ （Ｊａｖａ ２ Ｍｉｃｒｏ Ｅｄｉｔｉｏｎ）はＪａｖａ ２プラットフォームの新しいメンバーで、１９９９年に追加されたばかりである。コンシューマ電子機器や組み込み型装置を対象とした次世代アプリケーションを開発するためのものであり、このＪ２ＭＥのＣＬＤＣ （Ｃｏｎｎｅｃｔｅｄ Ｌｉｍｉｔｅｄ Ｄｅｖｉｃｅ Ｃｏｎｎｇｕｒａｔｉｏｎ） とＭＩＤＰ （Ｍｏｂｉｌｅ Ｉｎｆｏｒｍａｔｉｏｎ Ｄｅｖｉｃｅ Ｐｒｏｆｉｌｅ）には、主に携帯電話や双方向ページャといった小さな携帯端末用のワイヤレスアプリケーションを開発するために、ポータブルで拡張可能なプラットフォームが用意されている。」（２９頁２行目〜７行目）、「ＭＩＤＰ端末上のアプリケーションは「ＭＩＤｌｅｔ」と呼ばれており、Ｊａｖａアプレットと非常によく似ている。」（４８頁１１行目〜１２行目）、及び「１つの装置で複数のＭＩＤｌｅｔアプリケーションを同時に実行したいユーザーも多いが、残念ながら、ＭＩＤｌｅｔのカレントＤｉｓｐｌａｙａｂｌｅを表示させるディスプレイは１つしか装置に備わっていない。ＭＩＤｌｅｔのカレントＤｉｓｐｌａｙａｂｌｅがディスプレイに実際に表示されている場合、そのＭＩＤｌｅｔのことを「フォアグラウンドのＭＩＤｌｅｔ」と呼び、ユーザーからの入力イベントは、そのフォアグラウンドのＭＩＤｌｅｔに送られる。」（９７頁下から１０行目〜６行目。）、
　刊行物（林佑樹，”携帯Ｊａｖａでアプリを作ろう！　第３回　ＭＩＤｌｅｔを作る”，Ｎｏｔｅｓ／Ｄｏｍｉｎｏ　Ｍａｇａｚｉｎｅ　Ｎｏ．７０，ソフトバンクパブリッシング株式会社，２００２年８月１日，ｐ．７８−８７，国内技術雑誌2004-00299-008）における記載「ＭＩＤＩｅｔにはいくつかの画面表示方法が存在する（図２）。　…　これらの画面に表示できるクラスは、すべてＤｉｓｐｌａｙａｂｌｅクラスを基底クラスとしている。高レベルユーザーインタフェースのコンテナとなるクラスは、そこからさらに派生したＳｃｒｅｅｎクラスを基底クラスとしている。画面表示クラスのうち、同時に可視に設定できるのは１つだけである。」（８１頁左欄下から９行目〜中欄７行目。）、及び
　刊行物（千房けん輔，”Ｊａｖａで遊ぶ　第３０回　携帯電話で遊ぶ”，Ｊａｖａ　ＷＯＲＬＤ　第４巻　第１０号，（株）ＩＤＧジャパン，２０００年１０月１日，ｐ．１４８−１５２，国内技術雑誌2003-00074-011）における記載「このように、ＭＩＤＰでは、メソッドｓｅｔＣｕｒｒｅｎｔにＴｅｘｔＢｏｘオブジェクト、すなわちＤｉｓｐｌａｙａｂｌｅのサブクラスのオブジェクトを渡すことによって、画面表示や画面の切り替えを行う仕組みになっています。ご存じのように、携帯電話やぺージャには非常に小さいディスプレイしか付いていません。そのため、その上で何らかのプログラムを次々に操作する際には、表示画面の切り替えが必ずと言ってよいほど発生します。上記のような仕組みは、そうした携帯電話やぺージャの（画面表示領域の）持性を考慮したものなのでしょう。」（１５０頁右欄１９行目〜２９行目。）等参照。）
　
　そして、引用発明及び前記技術常識は、ともにプラットフォーム上で動作し複数のアプリケーションを並行して実行可能なＪａｖａ仮想マシンに関する技術であって、両者は技術的に共通の分野に属するものであるから、引用発明の方法を、携帯電話のようなモバイル機器に適用することは、当業者であれば、容易に想到し得たことである。そうすることで、引用発明の「選択する工程」が、前記複数のＭｉｄｌｅｔアプリケーションのうち、ディスプレイに表示されている唯一のアプリケーションであるフォアグラウンドＭｉｄｌｅｔアプリケーションを選択するように構成されることは、当業者にとって自明である。
　よって、相違点は格別のものではない。
　
　上記で検討したごとく、相違点は格別のものではなく、そして、補正後の発明の構成によってもたらされる効果も、当業者であれば当然に予測可能なものに過ぎず格別なものとは認められない。
　
　したがって、補正後の発明は引用発明及び技術常識に基づいて容易に発明できたものであるから、特許法第２９条第２項の規定により、特許出願の際独立して特許を受けることができないものである。
　
３．むすび 
　以上のとおり、補正後の発明は、上記「２．補正の適否」の「２−２．独立特許要件」で指摘したように特許出願の際独立して特許を受けることができるものではないから、本件補正は、平成１８年法律第５５号改正附則第３条第１項によりなお従前の例によるとされる同法による改正前の特許法第１７条の２第５項の規定により準用する特許法第１２６条第５項の規定に違反するものであり、特許法第１５９条第１項において読み替えて準用する同法第５３条第１項の規定により却下すべきものである。
　
第３．本願発明について 
　平成２３年２月２２日付けの手続補正は上記のとおり却下されたので、本願の請求項１に係る発明（以下、同項記載の発明を「本願発明」という。）は、平成２２年６月７日付けの手続補正により補正された特許請求の範囲の請求項１に記載された事項により特定される、以下のとおりのものである。
　
「プラットフォーム上で動作し第１および第２のタスクを並行して実行可能な仮想マシンによってネイティブイベントを処理する方法であって、
　前記仮想マシンが、前記プラットフォームに関連付けられた複数のネイティブイベントを受け付ける工程と、
　前記仮想マシンが、前記複数のネイティブイベントの各々について、前記第１のタスクおよび前記第２のタスクのどちらが受け取るべきかを選択する工程と、
　前記仮想マシンが、前記複数のネイティブイベントの各々を、前記第１のタスクおよび前記第２のタスクのうち前記複数のネイティブイベント毎に選択されたタスクにディスパッチする工程と、
　前記仮想マシンが、前記複数のネイティブイベントの各々がそれぞれディスパッチされた前記第１のタスクおよび前記第２のタスクを並行して実行することによって、アプリケーションをサポートする工程と
　を備え、
　前記選択する工程は、前記第１のタスクおよび前記第２のタスクのうちフォアグラウンドタスクを選択する工程である、方法。」
　
（１）引用文献 
　原査定の拒絶の理由に引用された、引用文献およびその記載事項は、前記「第２．平成２３年２月２２日付けの手続補正についての補正却下の決定」の「２．補正の適否」の「２−２．独立特許要件」の「（２）引用文献」に記載したとおりである。
　
（２）対比・判断 
　本願発明は、前記「第２．平成２３年２月２２日付けの手続補正についての補正却下の決定」の「２．補正の適否」の「２−２．独立特許要件」の「（１）補正後の発明」に記載された補正後の発明の発明特定事項「前記仮想マシンが、前記複数のネイティブイベントの各々を、前記第１のタスクおよび前記第２のタスクのうち前記複数のネイティブイベント毎に選択されたタスクに、前記ネイティブイベントが前記選択されたタスクによってアクセスできないデータ構造である場合に前記選択されたタスクによってアクセス可能なデータ構造に操作した上で、ディスパッチする工程」から「前記ネイティブイベントが前記選択されたタスクによってアクセスできないデータ構造である場合に前記選択されたタスクによってアクセス可能なデータ構造に操作した上で、」を削除し「前記仮想マシンが、前記複数のネイティブイベントの各々を、前記第１のタスクおよび前記第２のタスクのうち前記複数のネイティブイベント毎に選択されたタスクにディスパッチする工程」とするとともに、補正後の発明の発明特定事項「前記選択する工程は、前記第１のタスクおよび前記第２のタスクのうち、ディスプレイに表示されている唯一のタスクであるフォアグラウンドタスクを選択する工程」から「ディスプレイに表示されている唯一のタスクである」を削除し「前記選択する工程は、前記第１のタスクおよび前記第２のタスクのうちフォアグラウンドタスクを選択する工程」としたものである。
　そうすると、本願発明の構成要件を全て含み、さらに特定の構成要件に限定要件を付加したものに相当する補正後の発明が、前記「第２．平成２３年２月２２日付けの手続補正についての補正却下の決定」の「２．補正の適否」の「２−２．独立特許要件」の「（４）判断」に記載したとおり、引用発明及び技術常識に基づいて、当業者が容易に発明をすることができたものであるから、本願発明も、同様の理由により、引用発明及び技術常識に基づいて、当業者が容易に発明をすることができたものである。
（備考）なお、引用発明の「選択する工程」が、前記複数のアプリケーションのうちフォアグラウンドアプリケーションを選択する点については、平成２２年７月６日付け拒絶理由通知で指摘したことからも当業者が容易に発明をすることができたものである。
　 
（３）むすび 
　以上のとおり、本願の請求項１に係る発明は、本願の特許出願前に日本国内又は外国において頒布された刊行物に記載された発明又は電気通信回線を通じて公衆に利用可能となった発明に基いて、その出願前にその発明の属する技術の分野における通常の知識を有する者が容易に発明をすることができたものであるから、特許法第２９条第２項の規定により特許を受けることができない。
　よって、結論のとおり審決する。