【事件の表示】
　特願２０１８−　４６４９３「オンプレミスとクラウドプラットフォーム間のハイブリッドアプリケーション動作」拒絶査定不服審判事件〔平成３０年　６月２８日出願公開，特開２０１８−１０１４４５〕について，次のとおり審決する。
【結　論】
　本件審判の請求は，成り立たない。
【理　由】
第１．手続の経緯
　本願は，平成２７年４月２０日（パリ条約による優先権主張２０１４年５月２３日　アメリカ合衆国）の外国語書面出願である特願２０１５−０８５６７８号の一部を，特許法第４４条第１項の規定により，平成３０年３月１４日に新たな特許出願としたものであって，
　平成３０年３月２０日付けで特許法３６条の２第２項の規定による外国語書面，及び，外国語要約書面の日本語による翻訳文が提出され，同日付けで審査請求がなされると共に手続補正がなされ，令和１年５月２０日付けで審査官により特許法５０条の２の通知を伴う拒絶理由が通知され，これに対して令和１年７月１９日付けで意見書が提出されると共に手続補正がなされたが，令和１年１１月２９日付けで審査官により令和１年７月１９日付けの手続補正が却下されると共に拒絶査定がなされ，これに対して令和２年２月７日付けで審判請求がなされると共に手続補正がなされ，令和２年４月６日付けで審査官により特許法１６４条３項の規定に基づく報告がなされ，令和２年７月２１日付けで上申書が提出され，令和２年１２月９日付けで当審により拒絶理由が通知され，令和３年３月１２日付けで意見書が提出されると共に手続補正がなされたものである。
　
第２．本件補正発明について
　本願の請求項１に係る発明（以下，これを「本件補正発明」という）は，令和３年３月１２日付けの手続補正により補正された特許請求の範囲の請求項１に記載された，次のとおりのものである。
　
「オンプレミスプラットフォームにデプロイされたオンプレミスアプリケーションによりクラウドプラットフォームのクラウドリソースを消費するコンピュータ実施方法であって，前記オンプレミスアプリケーションは，前記クラウドプラットフォーム上にインストールされたアプリケーションランタイムの技術に対応する技術を用いて前記オンプレミスプラットフォームのオンプレミスローカル開発環境において開発され，クラウドアプリケーションランタイムは，前記クラウドアプリケーションランタイムを前記オンプレミスプラットフォームの他のシステムに公開することによって，前記オンプレミスプラットフォームに組み込まれ，前記クラウドアプリケーションランタイムは，オンプレミスプラットフォームの拡張を実装することによって，前記オンプレミスプラットフォームにおいて提供され，前記方法は，
　前記クラウドプラットフォーム内で実行されている接続エージェントにおいて，前記クラウドリソースを消費する要求を前記アプリケーションランタイムのローカルバージョンにデプロイされた前記オンプレミスアプリケーションから受信するステップであって，前記オンプレミスアプリケーションは，前記アプリケーションランタイムの前記ローカルバージョンとして前記オンプレミスプラットフォーム上にインストールされているクラウドアプリケーションランタイムのローカルバージョンにデプロイされ，前記要求は，セキュアトンネルを介して，前記オンプレミスプラットフォームから前記接続エージェントへフォワードされる，ステップと，
　前記クラウドリソースから前記要求しているオンプレミスアプリケーションへ応答をフォワードするステップであって，前記応答は，セキュアトンネルを介して前記接続エージェントによりフォワードされる，ステップと，
を具備することを特徴とするコンピュータ実施方法。」
　
第４．引用文献に記載の事項
１．当審による令和２年１２月９日付けの拒絶理由（以下，これを「当審拒絶理由」という）に引用された，本願の第１国出願前に既に公知である，米国特許出願公開第２０１２／０１２４１２９号明細書（２０１２年５月１７日公開，以下，これを「引用文献１」という）には，関連する図面と共に，次の事項が記載されている。（下線は当審にて付加したものである。以下，同じ。）
　
Ａ．「[0024]　FIG.3 illustrates secure integration of external resources with a local system according to one embodiment of the present invention. 
A local system 300A may include a client 313 that is running software, such as a software application (e.g., Netweaver Design Studio by SAP AGＲ, for example. The client software program may be loaded and executed on a computer system, such as a laptop or desk top computer, for example. If a user of client 313 desires additional computing resources, the user may trigger a request to across a network, such as the Internet, to a cloud computing system 300B for such resources. For example, embodiments of the present invention include a cloud controller software component 311 for creating secure connections to new resources on a cloud computing system 300B
（［００２４］　図３は，本発明の１実施例に従う，ローカル・システムと，外部リソースとの安全な統合を説明している。
ローカル・システム３００Ａは，例えば，（例として，ＳＡＰ　ＡＧＲによる，ネットウィーバー・デザイン・スタジオといった，ソフトウェア・アプリケーションのような，ソフトウエアを実行している，クライアント３１３を含んでいる。クライアント・ソフトウェア・プログラムは，例えば，ラップトップ，或いは，デスクトップ・コンピュータのような，コンピュータ・システム上にロードされ，実行され得る。もし，クライアント３１３のユーザが，附加的な計算リソースを望めば，ユーザは，このようなリソースのために，インターネットのようなネットワークを介して，クラウド・コンピューティング・システム３００Ｂに，要求を送信する。例えば，本発明の実施例は，クラウド・コンピューティング・システム３００Ｂ上の，新しいリソースへの安全な接続を生成することのために，クラウド・コントローラ・ソフトウェア・コンポーネント３１１が含まれる
　
Ｂ．「[0030]　FIG.5 illustrates an example secure communication between external resources with a local system according to one embodiment of the present invention. Features and advantages of the present invention include using shared security information (e.g., a shared key) between a tunnel agent client on a local system and a tunnel agent server on a cloud computing system to establish a secure channel between local resources and cloud resources. In this example, a secure connection may be established between a client 501 and server instance 502. 
When client 501 sends data to server instance 502, the data transmission may be secured by way of encryption, for example, using the shared key. If data is being sent from client 501 on a local system to server 502 on a cloud, the tunnel agent client (“TAC”) may receive and encrypt the data at 503 using the shared security information received from the controller. The data is sent from the TAC to the tunnel agent server. At 504, tunnel agent server (“TAS”) receives and decrypts the data using the shared key before it is processed at server instance 502. If data is being sent from server instance 502 to client 501, TAS may encrypt the data at 505 using the shared security information before it is sent. The encrypted data may be sent across a network and received by the TAC. The TAC decrypts the data at 506 using the shared security information before it is sent to the client 501
（［００３０］　図５は，本発明の１実施例に従うローカル・システムと，外部リソースとの間の安全通信の例を説明している。本発明の特徴と利点は，ローカル・リソースと，クラウド・リソースとの間の安全なトンネルを構築するために，ローカル・システム上のトンネル・エージェント・クライアントと，クラウド・コンピューティング・システム上のトンネル・エージェント・サーバとの間で，共有されたセキュア情報（例えば，共有鍵）を用いることを含む。この例において，安全な接続は，クライアント５０１と，サーバ・インスタンス５０２との間に構築され得る。
クライアント５０１が，サーバ・インスタンス５０２へ，データを送信するとき，データ送信は，例えば，共有鍵を用いる，暗号化方法によって，安全に行われる。もし，ローカル・システム上のクライアント５０１から，クラウド上のサーバ５０２へ，データが送信されると，トンネル・エージェント・クライアント（“ＴＡＣ”）は，５０３で，コントローラから受け取った，共有セキュリティ情報を用いることで，データを受信し，暗号化する。そのデータは，ＴＡＣから，トンネル・エージェント・サーバに送信される。５０４で，トンネル・エージェント・サーバ（“ＴＡＳ”）は，データを受信し，それを，サーバ・インスタンス５０２で処理する前に，共有鍵を用いて，復号する。もし，データが，サーバ・インスタンス５０２から，クライアント５０１へ送信されると，ＴＡＳは，５０５で，それが送信される前に，共有セキュリティ情報を用いて，暗号化し得る。その暗号化されたデータは，ネットワークを渡って送信され，ＴＡＣによって受信される。ＴＡＣは，５０６で，そのデータを，それが，クライアント５０１に送られる前に，共有セキュリティ情報を用いて，復号する
　
Ｃ．「[0044]　FIGS.7A-B illustrate communication between local resources and cloud resources according to another embodiment of the present invention. In this embodiment, 
local system 700A includes multiple local computer systems 710 and 720 coupled together using a network 790, such as a local Ethernet or Intranet (e.g., computers 710 and 720 are in a common network inside firewall 760). Here, each computer 710 and 720 includes a client software system 711 and 721, respectively. Additionally, each computer includes a tunnel agent client 712 and 722, respectively, for communication with cloud computer system 700B. Each client may be configured to use resources on cloud computing system 700B. Resources on local system 700A may communicate with resources on cloud computer system 700B over another external network, such as the Internet
 clients 711 and 721 may each be local software applications, such as a Netweaver Design Studio Application, executing on a user's laptop or desktop computer. Each client software application may be configured to access a server instance 773 implemented on cloud computing system 700B
（［００４４］　図７Ａ−Ｂは，本発明の他の実施例に従う，ローカル・リソースと，クラウド・リソースとの間の通信を説明している。この実施例において，
ローカル・システム７００Ａは，ローカル・イーサネット，或いは，イントラネット（例えば，コンピュータ７１０と，７２０は，ファイヤ・ウォール７６０の内側の共通ネットワーク内である）のような，ネットワーク７９０を用いて連結された，複数のローカル・コンピュータ・システム７１０，及び，７２０を含む。ここで，コンピュータ７１０，及び，７２０それぞれは，クライアント・ソフトウェア・システム７１１，及び，７２１を，それぞれ，含む。さらに，それぞれのコンピュータは，クラウド・コンピュータ・システム７００Ｂと通信するために，トンネル・エージェント・クライアント７１２，及び，７２２を，それぞれ，含む。クライアントそれぞれは，クラウド・コンピューティング・システム７００Ｂ上のリソースを使用するために，構成されている。ローカル・システム７００Ａ上のリソースは，インターネットのような，他の外部ネットワークを通じて，クラウド・コンピューティング・システム７００Ｂ上のリソースと通信し得る
クライアント７１１，及び，７２１は，それぞれ，ユーザのラップトップ，或いは，デスクトップ・コンピュータ上で実行される，例えば，ネットウィーバー・デザイン・スタジオのような，ローカル・ソフトウェア・アプリケーションであり得る。クライアント・ソフトウェア・アプリケーションそれぞれは，クラウド・コンピューティング・システム７００Ｂ上に実装されている，サーバ・インスタンス７７３にアクセスするよう構成されている
　
Ｄ．「[0046]　(“TAS”) 772 provide secure access to pre-configured services (tcp ports) from the local network of the TAS to the TAC and vice-versa. Security may be based on secure socket layer (“SSL”) and pre-shared keys used for client authentication. In some implementations, no direct connections can be made between the TAS and TAC networks because of firewalls and/or https proxies. Accordingly, in this example only the TAC can initiate a connection to the TAS＿i.e., TAC 712 exclusively initiates connections with TAS 772. In other words, in this example tunnel agent server cannot initiate a connection with tunnel agent client as described in more detail below.
[0047]　In this example, there are three (3) types of connections. The first is referred to herein as a “service connection.” A service connection is established by the TAC when it initially connects to the TAS, and may later be used by the TAS to request a new connection be established by the TAC for use as a callback connection as described below. 
The second connection is referred to as a “forward connection.” A forward connection may be accepted by the TAC and forwarded to an address inside the TAS network. A forward connection may be used for communication between a client 711 and server instance 773, for example. The third connection is referred to herein as a “callback connection.” A callback connection may be accepted by the TAS from a server instance on the cloud and forwarded to an address inside the TAC network to another system other than the client (e.g., a server running a backend system). Callback connections may be used to allow a server instance to access resources on backend systems, such as retrieving data from a backend ERP system or database, for example
（［００４６］　（“ＴＡＳ”）７７２は，ＴＡＳのローカル・ネットワークから，ＴＡＣへ，及び，その逆へ，事前に設定されたサービス（ｔｃｐ）への安全なアクセスを提供する。安全は，セキュア・ソケット・レイヤ（“ＳＳＬ”）と，クライアント認証に用いられる，事前供給鍵に基づき得る。いくつかの実装においては，非直接接続が，ファイヤ・ウォール，及び／または，ｈｔｔｐｓプロキシのために，ＴＡＳとＴＡＣネットワークの間に，作成させることが可能である。それで，この例において，ＴＡＣのみが，ＴＡＳへの接続を開始することができる＿即ち，ＴＡＣ７１２は，ＴＡＳ７７２との接続を，独占的に開始する。言い換えると，この例において，トンネル・エージェント・サーバは，以下に詳細を述べるように，トンネル・エージェント・クライアントとの接続を開始できない。
［００４７］　この例においては，３種類のコネクションが存在する。第１は，“サービス・コネクション”として，この中に引用する。サービス・コネクションは，ＴＡＳへ最初に接続する時に，ＴＡＣによって確立され，後に，以下に述べるような，コールバック・コネクションとして使用のため，ＴＡＣによって新しいコネクションが確立される要求のため，ＴＡＳによって用いられる。
第２のコネクションは，“フォワード・コネクション”として，引用する。フォワード・コネクションは，ＴＡＣによって受理され，ＴＡＳネットワークの内側のアドレスへ転送され得る。フォワード・コネクションは，例えば，クライアント７１１と，サーバ・インスタンス７７３の間の通信のために用いられ得る。第３のコネクションは，“コールバック・コネクション”として，この中に引用する。コールバック・コネクションは，クラウド上のサーバ・インスタンスから，ＴＡＳによって受理され，クライアント以外の，他のシステム（例えば,バックエンド・システムが走っているサーバ）への，ＴＡＣネットワーク内のアドレスへ，転送され得る。コールバック・コネクションは，例えば，バックエンドＥＲＰシステム，或いは，データベースから，データを検索するような，バックエンド・システム上のリソースへアクセスすることを，サーバインスタンスに許可するために用いられ得る
　
Ｅ．「[0049]　In this example, when a connection is first established it is a service connection. Service connections are used for sending service messages back and forth between the TAC and TAS. A service connection protocol may be based on serializable java objects.
 For example, “serializable” java objects may be used to share data between two java programs (e.g., a java implementation of the TAC and TAS)
（［００４９］　この例においては，コネクションが第１に確立される時，それは，サービス・コネクションである。サービス・コネクションは，ＴＡＣと，ＴＡＳの間を行き来して，サービス・メッセージを送信することのために用いられる。サービス・コネクション・プロトコルは，シリアライズ可能なｊａｖａオブジェクトに基づき得る。
例えば，“シリアライズ可能な”ｊａｖａオブジェクトは，２つのｊａｖａプログラム（例えば，ＴＡＣと，ＴＡＳのｊａｖａ実装）間でデータを共有するために用いられ得る
　
Ｆ．「[0070]　Connections from a TAC to a TAS are initiated by a “ClientInit” message. For example, when a connection is made by a local system, such as client 711, to a TAS port (or server socket) where the TAC 712 is listening for some local service, the TAC 712 may establish a new connection to the TAS 772 and send an initialization message (“ClientInit”). The initialization message (“ClientInit”) may be sent by the TAC 712 to initiate new “forward” connection. The TAS 772 may reply with an acknowledgement message (“AckMessage”). The AckMessage is used as a confirmation that a message was received and processed and contains the result of the operation (e.g., “ok” or an error code). Next, the
[0071]　TAS 772 checks the authentication of the requesting TAC using the shared key, checks the service, and opens a connection to the target destination (e.g., server instance 773). If the TAC is authenticated and the service connection to the server instance 773 is established, then the TAS sends the AckMessage. For a forward connection, the connection starts in “service mode” for transferring initialization messages as described above, and then switches to “data mode” if the TAC is authorized and the TAS successfully completes the above steps. Accordingly, if the AckMessage is sent by the TAS and received by the TAC, both sides switch to the data forward protocol. If some error occurs (for example the destination service is not available at the moment)＿the TAS will send the corresponding ERROR AckMessage and terminate the connection. Once in data mode, messages may be sent between the local system resources and cloud resources using the TAC and TAS. For example, 
a data message for a forward connection may be a 4 byte length header and body. The body may be the size specified in the 4 byte header (e.g., serialized integer using standard java byte ordering). The body is the actual data that is being forwarded by the connection (unmodified)
（［００７０］　ＴＡＣからＴＡＳへのコネクションは，“ＣｌｉｅｎｔｉＩｎｉｔ”メッセージによって開始される。例えば，クライアント７１１などのローカル・システムによって，ＴＡＣ７１２が，何らかのローカル・サービスをリッスンしている，ＴＡＳポート（または，サーバ・ソケット）へのコネクションが確立されると，ＴＡＳ７１２は，ＴＡＳ７７２への，新しいコネクションを確立し，開始メッセージ（“ＣｌｉｅｎｔｉＩｎｉｔ”）を送信する。開始メッセージ（“ＣｌｉｅｎｔｉＩｎｉｔ”）は，新しい“フォワード”コネクションを開始するために，ＴＡＣ７１２によって，送信され得る。ＴＡＳ７７２は，確認メッセージ（“ＡｃｋＭｅｓｓａｇｅ”）で応答する。）ＡｃｋＭｅｓｓａｇｅは，メッセージが，受信され，処理されたことの確認として用いられ，処理の結果（例えば“ＯＫ”，或いは，エラーコード）を含む。次に，
［００７１］　ＴＡＳ７７２は，要求しているＴＡＣの認証を，共有鍵を用いることでチェックし，サービスをチェックし，目的の送り先（例えば，サーバ・インスタンス７７３）とのコネクションを開く。ＴＡＣが認証され，サーバ・インスタンス７７３へのサービス・コネクションが，確立されれば，そのとき，ＴＡＳは，ＡｃｋＭｅｓｓａｇｅを送信する。フォワード・コネクションのために，その接続は，上で述べたように，開始メッセージを送信することのために，“サービス・モード”において開始し，ＴＡＣが，許可され，ＴＡＳが，上のステップを，成功裏に完了するのであれば，そのとき，“データ・モード”に切り替わる。その結果，ＡｃｋＭｅｓｓａｇｅがＴＡＳによって送信され，ＴＡＣによって受信されると，両サイドは，データ・フォワード・プロトコルとして切り替わる。いくつかの障害（例えば，送り先サービスが，現在，利用できない）が発生すると，ＴＡＳは，一致するＥＲＲＯＲ　ＡｃｋＭｅｓｓａｇｅを送信し，コネクションを終了させる。データ・モードである時点で，メッセージは，ＴＡＣと，ＴＡＳを用いて，ローカル・システムリソースと，クラウド・リソースとの間で，送信され得る。例えば，
フォワード・コネクションのためのデータ・メッセージは，４バイト長のヘッダとボディであり得る。ボディは，４バイトのヘッダに記述されたサイズ（例えば，標準的な，ｊａｖａバイト・オーダリングに用いられている，シリアライズされた整数型）であり得る。ボディは，（修正されていない）コネクションによって，フォワードされている，実際のデータである
　
Ｇ．「[0074]　In this example, tunnel agent client 712 is the single connection point between backend resources on and cloud resources.  FIG.8B illustrates connections and messaging according to an embodiment of the present invention. In one embodiment, when TAC 712 connects to the TAS 772 for the first time, it will establish a service connection illustrated by dashed lines 898. The TAC 712 may send an “OpenCallback” at 810 across the service connection for the callback services it is configured to route. Specifically, the TAC may have the corresponding entry in the configuration file for routing callback services to a backend system such as QWA as follows:」
（［００７４］　この例において，トンネル・エージェント・クライアント７１２は，バックエンド・リソースと，クラウド・リソースとの間の，単一のコネクション・ポイントである。図８Ｂは，本発明の実施例に従う，コネクションと，メッセージングを説明している。１実施例において，最初に，ＴＡＣ７１２と，ＴＡＳ７７２が接続すると，それは，破線８９８で示されるサービス・コネクションを確立する。ＴＡＣ７１２は，８１０で，それのルートを設定する，コールバック・サービスのためのサービス・コネクションを渡って，“ＯｐｅｎＣａｌｌｂａｃｋ”を送信し得る。特に，ＴＡＣは，以下のように，ＱＷＡなどのバックエンド・システムへ，コールバック・サービスをルーティングするための，対応するエントリを，設定ファイル内に有し得る。）
　
２．当審拒絶理由に引用された，本願の第１国出願前に既に公知である，特表２００２−５０５４７１号公報（公表日；２００２年２月１９日，以下，これを「引用文献２」という）には，関連する図面と共に，次の事項が記載されている。
　
Ｈ．「　【００２８】
　　（典型的なクライアントサーバ・システム）
　図３は，この発明の典型的なクライアントサーバ・システムと典型的な分散システム１００を示している。従って，クライアントサーバ・システム３００は，クライアント・コンピュータ３０２（クライアント３０２とも呼ぶ），サーバコンピュータ３１２（サーバ３１２とも呼ぶ），およびクライアント３０２とサーバ３１２の間を接続するネットワーク３１０からなる。この特別なクライアントサーバ・システムは，Ｊａｖａ（登録商標）オブジェクト指向言語を使って，ＲＭＩ２１８への機能強化として実装される。しかし，当業者には明らかなように，この発明の同様のシステムは，一般的な遠隔手続き呼び出し（ＲＰＣ）システムと，他のオブジェクト指向および非オブジェクト指向言語を使って実装することもできる。
　　　【００２９】
　クライアント３０２は，遠隔メソッド呼び出し３０６，リモート・スタブ３０８，および遠隔メソッド・ランタイム３０９を備えたクライアント・アプリケーション３０４を有する。クライアント・アプリケーション３０４は，一般に利用者が開発したソフトウェアであって，サーバ３１２上の処理を呼び出すための遠隔メソッド呼び出し３０６を有する。例えば，クライアント・アプリケーション３０４は，Ｊａｖａ（登録商標）プログラミング言語で書かれたＪａｖａ（登録商標）アプリケーションである。遠隔メソッド呼び出し３０６は，ＲＭＩ等のＲＰＣ機構を使って実装される。
 　　 【００３０】
　遠隔メソッド・スタブ３０８は，遠隔メソッド呼び出し３０６によって提供されたデータとパラメータを整列させる。そのデータとパラメータは，サーバ３１２上の遠隔メソッド・スケルトン３１５が復号化可能な所定の形式に配置される。遠隔メソッド・ランタイム３０９は，それらがサーバ３１２で処理されるとき，遠隔メソッド呼び出し３０６に関連する処理の状態を追跡する。また，遠隔メソッド・ランタイム３０９は，クライアント・アプリケーション３０４とサーバ３１２の間の通信リンクが接続されているかどうかを確認する。遠隔メソッド・ランタイム３０９は，そのリンクの状態をサーバ３１２に問い合わせることもできる。適切な時間内に応答がなければ，あるいはサーバ３１２がそのリンクのダウンを示せば，遠隔メソッド・ランタイム３０９は，クライアント・アプリケーション３０４に遠隔メソッド呼び出しが終了していることを知らせる。
　　　【００３１】
　ネットワーク３１０は，クライアント３０２とサーバ３１２の間の通信リンクを提供する。ネットワーク３１０は，インターネットまたは企業や学内のイントラネットであってもよい。ネットワーク３１０は，ＴＣＰ／ＩＰ，またはＮｏｖｅｌｌ  Ｎｅｔｗａｒｅ，Ａｐｐｌｅ  Ｔａｌｋ，Ｘ．２５等の他のネットワーク・プロトコルを使用することができ，ＲＭＩ等のＲＰＣシステムをサポート可能な他のネットワークであってもよい。
　　　【００３２】
　サーバ３１２は，対応する遠隔メソッド・ランタイム３１４と，遠隔メソッド・スケルトン３１５を有する。クライアント３０２とは異なり，サーバ３１２は，一般資源管理部３１６とイベント処理部３１７，遠隔メソッド資源管理部３２２，遠隔イベント処理部３２３，および多数の遠隔メソッド資源３２４も有している。また，サーバ３１２は，遠隔オブジェクトＡ３１８と遠隔オブジェクトＢ３２０を有している。各遠隔オブジェクトは，クライアント・アプリケーション３０４が，遠隔メソッド呼び出し３０６を使って呼び出せる複数のメソッド（図示せず）に関連付けられる。サーバ３１２の別の構成では，特定のシステムに必要な遠隔メソッドを行うための遠隔メソッドをいくつでも有することができる。
　　　【００３３】
　遠隔メソッド・ランタイム３１４には，遠隔メソッドが実行状態であることをクライアント３０２に知らせる責任がある。遠隔メソッド・ランタイム３１４は，クライアント３０２に情報を提供し，遠隔メソッドがデータを処理していることを知らせる。この発明によると，遠隔メソッドが中断されても，この処理状態は中断されない。ただし，遠隔メソッド・ランタイム３１４は，遠隔メソッドが要求されたタスクの処理を完了するまで，クライアント３０２との接続を保持する。また，遠隔メソッド・ランタイム３１４は，遠隔メソッドが異常終了したり，エラーで終了したときにもクライアント３０２に知らせる。
　　　【００３４】
　このメソッドは，遠隔メソッドの処理に必要な一般資源が，現時点で利用できないかどうかを確認する。一般資源としては，メモリ，ディスク記憶空間，データ，またはシステム資源が依存可能な他の資源などがある。
　　　【００３５】
　遠隔メソッド・スケルトン３１５には，ネットワーク３１０上に送られるデータとパラメータを復号化する責任がある。このパラメータとデータは，サーバ３１２上で遠隔メソッドを実行するための引数として使われる。」
　
３．当審拒絶理由に引用された，本願の第１国出願前に既に公知である，「清水航，Ｊａｖａ２コンピューティングの可能性　Ｊａｖａ２　ＳＤＫ　ｖ１．２，Ｃｏｍｐｕｔｏｐｉａ，日本，株式会社コンピュータ・エージ社，１９９９年　４月１日，第３４巻，第３９１号，ｐ．３４−３８」（以下，これを「引用文献３」という）には，関連する図面と共に，次の事項が記載されている。
　
Ｉ．「ＪＤＫとは，Ｊａｖａ言語によるアプリケーション開発を行うための基本的なツールのことである。一部の例外を除き全てのＪａｖａアプリケーションやＪａｖａアプレットは，ＪＤＫを基に開発されている。それは，開発ツールを使用したＪａｖａアプリケーション開発とて例外ではない。何故なら，開発ツール自体がＪＤＫをサポートしているからである。
　ここで，Ｊａｖａの性質を思い起こしてみると，Ｗｒｉｔｅ Ｏｎｃｅ，Ｒｕｎ Ａｎｙｗａｒｅ。つまり，一度ソースコードを書いたらどこでも動作可能であることを明示している。Ｊａｖａにおいてこの目標を現実とするための手段のひとつがＪＤＫであった。プラットフォームや開発ツールが異なるマルチプラットフォーム環境下では，必然的に互換性のないコードが開発される。これは，プラットフォーム固有のＡＰＩを利用するために，そうなってしまう。
　しかし，Ｊａｖａアプリケーションの開発では，ＪＤＫが提供される機能を使用し，Ｊａｖａの定義から外れないコードの生成を行うことによってこの問題を解決している。つまり，ＪａｖａのＡＰＩ だけを知ればいい。Ｊａｖａは，“Ｗｒｉｔｅ Ｏｎｃｅ，Ｒｕｎ Ａｎｙｗａｒｅ” という発想によって，製品を提供する側と，利用する側の双方に利益をもたらすのである。」（３４頁左欄２行〜末行）
　
４．当審拒絶理由に引用された，本願の第１国出願前に既に公知である，「Ａｎｔｏｎｉｏ　Ｇｏｎｃａｌｖｅｓ著，日本オラクル株式会社監訳“Ｂｅｇｉｎｉｎｇ　Ｊａｖａ　ＥＥ６　ＧｌａｓｓＦｉｓｈ３で始めるエンタープライズＪａｖａ”　株式会社翔泳社　２０１３年１月１０日　初版第２刷発行」（以下，これを「引用文献４」という）には，関連する図面と共に，次の事項が記載されている。
　
Ｊ．「１．４．１　ＪＤＫ６
　本書におけるサンプルアプリケーションの開発と実行にはJava Development Kit（ＪＤＫ）が必要です。ＪＤＫはコンパイラ（ｊａｖａｃ），仮想マシン，ドキュメント・ジェネレータ（ｊａｖａｄｏｃ），監視ツール（ＶｉｓｕａｌＶＭ）などの複数のツールが付属しています。ＪＤＫ６をインストールするには，Ｏｒａｃｌｅ社の公式サイト（http://www.oracle.com/technetwork/jp/java/javase/downloads/，英語）にアクセスし，適切なプラットフォームと言語を選択してファイルをダウンロードします。
　ダウンロードページではソフトウェアのライセンスへの同意が求められます。これに同意しＭｉｃｒｏｓｏｆｔ　Ｗｉｎｄｏｗｓを実行している方は（ＬｉｎｕｘとＡｐｐｌｅ　Ｍａｃ　ＯＳＸは本書ではサポートしていませんが，コードは移植可能です）jdk-6u26-windows-i586.exeファイルをダウンロードします。ｅｘｅファイルを実行すると，インストール可能なＪＤＫモジュール（ＪＤＫ，ＪＲＥ，Ｄｅｒｂｙデータベース，ソース）が表示されます（図１−７参照）。」（２２頁１行〜１０行）
　
５．本願の第１国出願前に既に公知である，特開２０１１−０４８５９０号公報（２０１１年３月１０日公開，以下，これを「周知技術文献」という）には，関連する図面と共に，次の事項が記載されている。
　
Ｋ．「【００１６】
  Ｊａｖａ（登録商標）アプリケーション２１０（Ｊａｖａ（登録商標）アプリケーションＡ２０４，Ｊａｖａ（登録商標）アプリケーションＢ２０５，およびＪａｖａ（登録商標）アプリケーションＣ２０６）は，ＪＶＭ２０２上において，マルチスレッドにより複数の処理を並行して行うマルチ動作を実現している。このマルチ動作は，ＪＶＭ２０２により管理されているものとする。また，Ｊａｖａ（登録商標）アプリケーション２１０は，ソフトウェアプログラム２００の機能を拡張または縮小するために，追加または削除が実施されるプラグインである。」
　
第５．引用文献１に記載の発明
１．上記Ａの「A local system 300A may include a client 313 that is running software, such as a software application (e.g., Netweaver Design Studio by SAP AGＲ, for example. The client software program may be loaded and executed on a computer system, such as a laptop or desk top computer, for example. If a user of client 313 desires additional computing resources, the user may trigger a request to across a network, such as the Internet, to a cloud computing system 300B for such resources.（ローカル・システム３００Ａは，例えば，（例として，ＳＡＰ　ＡＧＲによる，ネットウィーバー・デザイン・スタジオといった，ソフトウェア・アプリケーションのような，ソフトウエアを実行している，クライアント３１３を含んでいる。クライアント・ソフトウェア・プログラムは，例えば，ラップトップ，或いは，デスクトップ・コンピュータのような，コンピュータ・システム上にロードされ，実行され得る。もし，クライアント３１３のユーザが，附加的な計算リソースを望めば，ユーザは，このようなリソースのために，インターネットのようなネットワークを介して，クラウド・コンピューティング・システム３００Ｂに，要求を送信する。）」という記載，同じく，上記Ａの「embodiments of the present invention include a cloud controller software component 311 for creating secure connections to new resources on a cloud computing system 300B. （本発明の実施例は，クラウド・コンピューティング・システム３００Ｂ上の，新しいリソースへの安全な接続を生成することのために，クラウド・コントローラ・ソフトウェア・コンポーネント３１１が含まれる。）」という記載と，上記Ｃの「clients 711 and 721 may each be local software applications, such as a Netweaver Design Studio Application, executing on a user's laptop or desktop computer. Each client software application may be configured to access a server instance 773 implemented on cloud computing system 700B. （クライアント７１１，及び，７２１は，それぞれ，ユーザのラップトップ，或いは，デスクトップ・コンピュータ上で実行される，例えば，ネットウィーバー・デザイン・スタジオのような，ローカル・ソフトウェア・アプリケーションであり得る。クライアント・ソフトウェア・アプリケーションそれぞれは，クラウド・コンピューティング・システム７００Ｂ上に実装されている，サーバ・インスタンス７７３にアクセスするよう構成されている。）」という記載から，引用文献１には，
“ローカル・システム上のクライアント・ソフトウェア・プログラムから，インターネットのようなネットワークを介して，クラウド・コンピューティング・システムに計算リソースの要求を行う方法”が記載されていることが読み取れる。
　
２．上記Ｂの「When client 501 sends data to server instance 502, the data transmission may be secured by way of encryption, for example, using the shared key. If data is being sent from client 501 on a local system to server 502 on a cloud, the tunnel agent client (“TAC”) may receive and encrypt the data at 503 using the shared security information received from the controller. The data is sent from the TAC to the tunnel agent server. At 504, tunnel agent server (“TAS”) receives and decrypts the data using the shared key before it is processed at server instance 502. If data is being sent from server instance 502 to client 501, TAS may encrypt the data at 505 using the shared security information before it is sent. The encrypted data may be sent across a network and received by the TAC. The TAC decrypts the data at 506 using the shared security information before it is sent to the client 501.（クライアント５０１が，サーバ・インスタンス５０２へ，データを送信するとき，データ送信は，例えば，共有鍵を用いる，暗号化方法によって，安全に行われる。もし，ローカル・システム上のクライアント５０１から，クラウド上のサーバ５０２へ，データが送信されると，トンネル・エージェント・クライアント（“ＴＡＣ”）は，５０３で，コントローラから受け取った，共有セキュリティ情報を用いることで，データを受信し，暗号化する。そのデータは，ＴＡＣから，トンネル・エージェント・サーバに送信される。５０４で，トンネル・エージェント・サーバ（“ＴＡＳ”）は，データを受信し，それを，サーバ・インスタンス５０２で処理する前に，共有鍵を用いて，復号する。もし，データが，サーバ・インスタンス５０２から，クライアント５０１へ送信されると，ＴＡＳは，５０５で，それが送信される前に，共有セキュリティ情報を用いて，暗号化し得る。その暗号化されたデータは，ネットワークを渡って送信され，ＴＡＣによって受信される。ＴＡＣは，５０６で，そのデータを，それが，クライアント５０１に送られる前に，共有セキュリティ情報を用いて，復号する。）」という記載，上記Ｃの「local system 700A includes multiple local computer systems 710 and 720 coupled together using a network 790, such as a local Ethernet or Intranet (e.g., computers 710 and 720 are in a common network inside firewall 760). Here, each computer 710 and 720 includes a client software system 711 and 721, respectively. Additionally, each computer includes a tunnel agent client 712 and 722, respectively, for communication with cloud computer system 700B. Each client may be configured to use resources on cloud computing system 700B. Resources on local system 700A may communicate with resources on cloud computer system 700B over another external network, such as the Internet.（ローカル・システム７００Ａは，ローカル・イーサネット，或いは，イントラネット（例えば，コンピュータ７１０と，７２０は，ファイヤ・ウォール７６０の内側の共通ネットワーク内である）のような，ネットワーク７９０を用いて連結された，複数のローカル・コンピュータ・システム７１０，及び，７２０を含む。ここで，コンピュータ７１０，及び，７２０それぞれは，クライアント・ソフトウェア・システム７１１，及び，７２１を，それぞれ，含む。さらに，それぞれのコンピュータは，クラウド・コンピュータ・システム７００Ｂと通信するために，トンネル・エージェント・クライアント７１２，及び，７２２を，それぞれ，含む。クライアントそれぞれは，クラウド・コンピューティング・シス��ム７００Ｂ上のリソースを使用するために，構成されている。ローカル・システム７００Ａ上のリソースは，インターネットのような，他の外部ネットワークを通じて，クラウド・コンピューティング・システム７００Ｂ上のリソースと通信し得る。）」という記載，上記（１）において引用した上記Ｃの記載内容，上記Ｄの「The second connection is referred to as a “forward connection.” A forward connection may be accepted by the TAC and forwarded to an address inside the TAS network. A forward connection may be used for communication between a client 711 and server instance 773, for example. The third connection is referred to herein as a “callback connection.” A callback connection may be accepted by the TAS from a server instance on the cloud and forwarded to an address inside the TAC network to another system other than the client (e.g., a server running a backend system). Callback connections may be used to allow a server instance to access resources on backend systems, such as retrieving data from a backend ERP system or database, for example.（第２のコネクションは，“フォワード・コネクション”として，引用する。フォワード・コネクションは，ＴＡＣによって受理され，ＴＡＳネットワークの内側のアドレスへ転送され得る。フォワード・コネクションは，例えば，クライアント７１１と，サーバ・インスタンス７７３の間の通信のために用いられ得る。第３のコネクションは，“コールバック・コネクション”として，この中に引用する。コールバック・コネクションは，クラウド上のサーバ・インスタンスから，ＴＡＳによって受理され，クライアント以外の，他のシステム（例えば,バックエンド・システムが走っているサーバ）への，ＴＡＣネットワーク内のアドレスへ，転送され得る。コールバック・コネクションは，例えば，バックエンドＥＲＰシステム，或いは，データベースから，データを検索するような，バックエンド・システム上のリソースへアクセスすることを，サーバインスタンスに許可するために用いられ得る。）」という記載，及び，上記Ｆの「a data message for a forward connection may be a 4 byte length header and body. The body may be the size specified in the 4 byte header (e.g., serialized integer using standard java byte ordering). The body is the actual data that is being forwarded by the connection (unmodified)（フォワード・コネクションのためのデータ・メッセージは，４バイト長のヘッダとボディであり得る。ボディは，４バイトのヘッダに記述されたサイズ（例えば，標準的な，ｊａｖａバイト・オーダリングに用いられている，シリアライズされた整数型）であり得る。ボディは，（修正されていない）コネクションによって，フォワードされている，実際のデータである。）」という記載と，上記（１）において検討した事項から，引用文献１においては，
“ローカル・システム上のクライアント・ソフトウェア・プログラムから，クラウド・コンピューティング・システム上のサーバインスタンスへ，要求が送信されると，ローカル・システム上のトンネル・エージェント・クライアントは，前記要求を暗号化し，フォワード・コネクションを介して，クラウド・コンピューティング・システム上のトンネル・エージェント・サーバにフォワードし，前記トンネル・エージェント・サーバは，フォワードされた要求を復号し，前記復号された要求は，前記サーバ・インスタンスによって処理され，前記サーバ・インスタンスからの応答が，前記ローカル・システムに送信されると，前記トンネル・エージェント・サーバは，前記応答を暗号化し，前記トンネル・エージェント・クライアントにフォワードし，前記トンネル・エージェント・クライアントは，前記フォワードされた応答を復号し，前記クライアント・ソフトウェア・プログラムに送信する”ものであることが読み取れる。
　
３．上記Ｅの「For example, “serializable” java objects may be used to share data between two java programs (e.g., a java implementation of the TAC and TAS).（例えば，“シリアライズ可能な”ｊａｖａオブジェクトは，２つのｊａｖａプログラム（例えば，ＴＡＣと，ＴＡＳのｊａｖａ実装）間でデータを共有するために用いられ得る。）」という記載から，引用文献１においては，
“ＴＡＣと，ＴＡＳはｊａｖａプログラムである”ことが読み取れる。
　
４．以上，上記１．〜上記３．において検討した事項から，引用文献１には，次の発明（以下，これを「引用発明」という）が記載されているものと認める。
　
「ローカル・システム上のクライアント・ソフトウェア・プログラムから，インターネットのようなネットワークを介して，クラウド・コンピューティング・システムに計算リソースの要求を行う方法であって，
　ローカル・システム上のクライアント・ソフトウェア・プログラムから，クラウド上のサーバ・インスタンスへ，要求が送信されると，
　ローカル・システム上のトンネル・エージェント・クライアントは，前記要求を暗号化し，フォワード・コネクションを介して，クラウド・コンピューティング・システム上のトンネル・エージェント・サーバにフォワードし，
　前記トンネル・エージェント・サーバは，フォワードされた要求を復号し，
　前記復号された要求は，前記サーバ・インスタンスによって処理され，
　前記サーバ・インスタンスからの応答が，前記ローカル・システムに送信されると，
　前記トンネル・エージェント・サーバは，前記応答を暗号化し，前記トンネル・エージェント・クライアントにフォワードし，
　前記トンネル・エージェント・クライアントは，前記フォワードされた応答を復号し，前記クライアント・ソフトウェア・プログラムに送信する，
　方法であって，
　前記トンネル・エージェント・クライアントと，前記トンネル・エージェント・サーバは，ｊａｖａプログラムである，方法。」
　
第６．本件補正発明と引用発明との対比
１．引用発明における「ローカルシステム」が，
　本件補正発明における「オンプレミスプラットフォーム」に相当し，
　引用発明における「ローカルシステム上のクライアント・ソフトウェア・プログラム」が，
　本件補正発明における「オンプレミスプラットフォームにデプロイされたオンプレミスアプリケーション」に相当し，
　引用発明における「クラウド・コンピューティング・システム」が，
　本件補正発明における「クラウドプラットフォーム」に相当し，
　引用発明において，「クラウド・コンピューティング・システムに計算リソースの要求を行う」ことは，「ローカル・システム上のクライアント・ソフトウェア・プログラム」が，「クラウド・コンピューティング・システム」の「計算リソース」を「消費」することを求めるものであるから，
　引用発明における「クラウド・コンピューティング・システムに計算リソースの要求を行う方法」とは，“クラウド・コンピューティング・システムに計算リソースの消費を行う方法”と言い得るものであり，
　引用発明における当該「方法」は，「コンピュータ」によって「実施」されるものに他ならないので，
　引用発明における「ローカル・システム上のクライアント・ソフトウェア・プログラムから，インターネットのようなネットワークを介して，クラウド・コンピューティング・システムに計算リソースの要求を行う方法」が，
　本件補正発明における「オンプレミスプラットフォームにデプロイされたオンプレミスアプリケーションによりクラウドプラットフォームのクラウドリソースを消費するコンピュータ実施方法」に相当する。
　
２．引用発明において，「ローカル・システム上のクライアント・ソフトウェア・プログラムから，クラウド上のサーバインスタンスへ，要求が送信される」ということは，
　引用発明における「クラウド上のサーバ・インスタンス」が，当該「要求」を受信することに他ならず，
　当該「サーバ・インスタンス」は，「ローカル・システム」と，「クラウド」との接続に関する処理を行うものであるから，
　本件補正発明における「接続エージェント」に相当するものである。したがって，
　引用発明における「ローカル・システム上のクライアント・ソフトウェア・プログラムから，クラウド上のサーバ・インスタンスへ，要求が送信される」ことと，
　本件補正発明における「クラウドプラットフォーム内で実行されている接続エージェントにおいて，前記クラウドリソースを消費する要求を前記アプリケーションランタイムのローカルバージョンにデプロイされた前記オンプレミスアプリケーションから受信するステップ」とは，
“クラウドリソースを消費する要求を，オンプレミスアプリケーションから受信するステップ”である点で共通する。
　
３．引用発明において，「ローカル・システム上のトンネル・エージェント・クライアントは，前記要求を暗号化し，フォワード・コネクションを介して，クラウド・コンピューティング・システム上のトンネル・エージェント・サーバにフォワード」することは，
「セキュアトンネル」を介して，「トンネル・エージェント・サーバ」に「要求」を「フォワード」することに他ならず，「トンネル・エージェント・サーバ」は，上記引用のとおり，「クラウド・コンピューティング・システム上」で動作するものであることは，明らかであるので，本件補正発明における「クラウドプラットフォーム内で実行されている接続エージェント」に相当する。
　したがって，引用発明における上記２．において検討した事項を踏まえると，
　引用発明における「ローカル・システム上のトンネル・エージェント・クライアントは，前記要求を暗号化し，フォワード・コネクションを介して，クラウド・コンピューティング・システム上のトンネル・エージェント・サーバにフォワードし」が，
　本件補正発明における「要求は，セキュアトンネルを介して，前記オンプレミスプラットフォームから前記接続エージェントへフォワードされる，ステップ」に相当する。
　
４．引用発明において，「サーバ・インスタンスからの応答が，前記ローカル・システムに送信されると，前記トンネル・エージェント・サーバは，前記応答を暗号化し，前記トンネル・エージェント・クライアントにフォワードし，前記トンネル・エージェント・クライアントは，前記フォワードされた応答を復号し，前記クライアント・ソフトウェア・プログラムに送信する」ということは，トンネル・エージェント・サーバから，セキュアトンネルを介して，トンネル・エージェント・クライアントにフォワードされ，当該トンネル・エージェント・クライアントから，クライアント・ソフトウェア・プログラムに送信される”ものであり，
　引用発明における「サーバ・インスタンス」と，
　本件補正発明にける「クラウドリソース」とは，
“クラウド側”である点で共通するので，
　引用発明における「サーバ・インスタンスからの応答が，前記ローカル・システムに送信されると，前記トンネル・エージェント・サーバは，前記応答を暗号化し，前記トンネル・エージェント・クライアントにフォワードし，前記トンネル・エージェント・クライアントは，前記フォワードされた応答を復号し，前記クライアント・ソフトウェア・プログラムに送信する」ことと，
　本件補正発明における「クラウドリソースから前記要求しているオンプレミスアプリケーションへ応答をフォワードするステップであって，前記応答は，セキュアトンネルを介して前記接続エージェントによりフォワードされる，ステップ」とは，
“クラウド側から，要求している前記オンプレミスアプリケーションへ応答をフォワードするステップであって，前記応答は，セキュアトンネルを介して前記接続エージェントによりフォワードされるステップ”である点で共通する。
　
５．以上，上記１．〜上記４．に検討したとおりであるから，本件補正発明と引用発明との，一致点，及び，相違点は，次のとおりである。
　
［一致点］
　オンプレミスプラットフォームにデプロイされたオンプレミスアプリケーションによりクラウドプラットフォームのクラウドリソースを消費するコンピュータ実施方法であって，前記方法は，
　前記クラウドリソースを消費する要求を，前記オンプレミスアプリケーションから受信するステップであって，前記要求は，セキュアトンネルを介して，前記オンプレミスプラットフォームから前記接続エージェントへフォワードされる，ステップと，
　クラウド側から，要求している前記オンプレミスアプリケーションへ応答をフォワードするステップであって，前記応答とは，セキュアトンネルを介して前記接続エージェントによりフォワードされる，ステップと
　を具備することを特徴とするコンピュータ実施方法。
　
［相違点１］
　本件補正発明においては，「オンプレミスアプリケーションは，前記クラウドプラットフォーム上にインストールされたアプリケーションランタイムの技術に対応する技術を用いて前記オンプレミスプラットフォームのオンプレミスローカル開発環境において開発され，クラウドアプリケーションランタイムは，前記クラウドアプリケーションランタイムを前記オンプレミスプラットフォームの他のシステムに公開することによって，前記オンプレミスプラットフォームに組み込まれ」るものであるのに対して，
　引用発明においては，「開発環境」，及び，「クラウドアプリケーションランタイム」に関する言及がない点。
　
［相違点２］
　本件補正発明においては，「クラウドアプリケーションランタイムは，オンプレミスプラットフォームの拡張を実装することによって，前記オンプレミスプラットフォームにおいて提供され」るものであるのに対して，
　引用発明においては，「クラウドアプリケーションランタイム」が，どのように実施され，提供されるものであるかについての言及がない点。
　
［相違点３］
　本件補正発明においては，「オンプレミスアプリケーションは，前記アプリケーションランタイムの前記ローカルバージョンとして前記オンプレミスプラットフォーム上にインストールされている前記クラウドアプリケーションランタイムにデプロイされ」るものであるのに対して，
　引用発明においては，そのような言及がない点。
　
［相違点４］
“クラウド側”に関して，
　本件補正発明においては，「クラウドリソース」であるのに対して，
　引用発明においては，「サーバインスタンス」である点。
　
第７．相違点についての当審の判断
１．［相違点１］について
　本願明細書の段落【００１７】に，
「クラウドアプリケーションランタイム132，クラウドアプリケーションランタイム136，及びアプリケーションランタイム150は，Apache Tomcat (TomEE)のJava(登録商標) Enterprise Edition，Lean Java(登録商標)サーバ(LJS)などのようなJava(登録商標)コンテナであり得る」，
　と記載されていて，この記載内容に従えば，本件補正発明における「クラウドアプリケーションランタイム」とは，“ｊａｖａランタイム”を指すものと解される。
　したがって，本件補正発明における「オンプレミスアプリケーション」とは，“クラウドから，オンプレミスプラットフォームにインストールされたｊａｖａランタイムを用いて動作するｊａｖａアプリケーション”であるといえる。
　この点については，「オンプレミスアプリケーション」について，審判請求人が，原出願についての平成３１年２月１３日付けの意見書において，
「(1) この指摘については，本願明細書の段落００２９に示されますように，オンプレミスアプリケーションは，例えば，Java(登録商標) Enterprise Edition 6 の技術を用いて，オンプレミスローカル開発環境において開発されます。」
　と述べている点からも裏付けられる。
　一方，引用発明においても，「トンネル・エージェント・クライアント」と，「トンネル・エージェント・サーバ」は，「ｊａｖａプログラム」であるから，引用発明は，当該「ｊａｖａプログラム」が動作するのに必要な，“ｊａｖａランタイム”が，「ローカル・システム」上にインストールされている態様を含むものである。
　ここで，引用発明における「クライアント・ソフトウェア・プログラム」が，どのように開発されたものであるか，引用発明には，特に言及されていないが，上記指摘のように，引用発明は，“ローカル・システム上に，ｊａｖａランタイムがインストールされている”態様を含むものであって，“ｊａｖａアプリケーションの開発環境”である「ＪＤＫ」については，上記Ｉに引用した引用文献３の記載，及び，“ＪａｖａＥＥ６”における「ＪＤＫ」の使用を示す，上記Ｊに引用した引用文献４の記載にもあるとおり，本願の第１国出願前に，当業者には周知の技術事項であるから，“ｊａｖａランタイムを有する”態様を含む引用発明において，「クライアント・ソフトウェア・プログラム」を，周知の「ＪＤＫ」を用いて，「ローカル・システム上」で開発し，当該開発した「クライアント・ソフトウェア・プログラム」を，当該「ローカル・システム上」で使用するよう構成することは，当業者が適宜なし得る事項である。
　そして，上記において検討したとおり，「クラウドアプリケーションランタイム」が，「ｊａｖａランタイム」である以上，引用発明においても，「サーバ」側に，「クラウドアプリ-ケーションランタイム」を導入することは，当業者が適宜なし得る事項である。
　よって，［相違点１］は，格別のものではない。
　
２．［相違点２］について
　上記Ｋに引用した周知技術文献の記載内容にもあるとおり，「ｊａｖａプログラム」が「拡張」として実装され，提供されることは，本願の第１国出願前に当業者には，周知の技術事項である。
　よって，［相違点２］は，格別のものではない。
　
３．［相違点３］について
　上記１．において検討した事項を踏まえると，引用発明は，“ｊａｖａランタイム”を有する態様，即ち，“ｊａｖａランタイム”がインストールされた態様を含むものであり，「クライアント・ソフトウェア・プログラム」は，“ｊａｖａプログラム”として実装する態様を含むものあり，当該「実装」が，本件補正発明における「デプロイ」に相当するものであるから，
　引用発明における“ｊａｖａプログラム”である「クライアント・ソフトウェア・プログラム」は，ローカル・システム上の“ｊａｖａランタイム”に「デプロイ」されることで使用されることは，本願の第１国出願前に，当業者には周知の技術事項である。
　よって，［相違点３］は，格別のものではない。
　
４．［相違点４］について
　引用発明における「サーバ・インスタンス」は，「クラウド・コンピューティング・システム」において，「ローカル・システム上」の「クライアント・ソフトウェア・プログラム」からの「要求」を受け付け，その「応答」を返す処理を行っているものであるから，その処理内容は，本件補正発明における「クラウドリソース」と同等である。
　そして，本件補正発明における「クラウドリソース」は，当該「クラウドリソース」特有のサービス等を提供する点については，何ら示されていないので，
　引用発明における「サーバ・インスタンス」と，本件補正発明における「クラウドリソース」とは，表現の差こそあれ，実質的な構成に格別の相違があるとは認められない。
　よって，［相違点４］は，格別のものではない。
　
５．上記１．〜上記４．において検討したとおり，［相違点１］〜［相違点４］は格別のものではなく，本件補正発明の構成によってもたらされる効果も，引用発明，及び，引用文献２〜引用文献４に記載の技術事項から当業者ならば容易に予測することができる程度のものであって，格別のものとはいえない。
　
第８．むすび
　したがって，本件補正発明は，本願の第１国出願前に日本国内又は外国において頒布された刊行物に記載された発明又は電気通信回線を通じて公衆に利用可能となった発明に基づいて当業者が容易に発明をすることができたものであるので，特許法２９条２項の規定により特許を受けることができない。
　
　よって，結論のとおり審決する。