【事件の表示】
　平成　６年特許願第１８２５７４号「公開部分と非公開部分を有するソフトウェアを複数ユーザに使用させるシステム」拒絶査定不服審判事件〔平成　８年　２月１６日出願公開、特開平　８−　４４５５３〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
第１．出願の経緯
　本願は、平成６年８月３日に出願されたものであって、原審において、平成１６年２月２６日付で拒絶の理由が通知され、それに対して、平成１６年５月６日付で意見書及び手続補正書が提出されたものの、平成１６年５月２７日付で拒絶査定されたので、平成１６年７月１日付で拒絶査定不服の審判が請求され、平成１６年８月２日付で手続補正書が提出され、平成１６年１１月１日付で手続補正書（方式）が提出されたものである。
　
第２．平成１６年８月２日付提出の手続補正の却下の決定
１．結論
　平成１６年８月２日付提出の手続補正を却下する。
　
２．理由
（１）平成１６年８月２日付提出の手続補正は、明細書の特許請求の範囲及び発明の詳細な説明を補正するものであって、その内、特許請求の範囲の補正（以下、「本件手続補正」という。）は、請求項の数を３から２に減ずるものであって、請求項１乃至３を、
　「【請求項１】
　正規のユーザに固有の認証情報に基づいて作成された暗号化キーによってソフトウェアの非公開部分を暗号化するソフトウェア供給部と、
　一つの前記ソフトウェア供給部に対して複数個存在するソフトウェア実行部であってそれぞれが、演算処理装置と、前記演算処理用のメモリと、前記メモリに対するアクセスを制御するメモリ制御装置と、各ユーザに固有の認証情報を格納する認証情報格納装置と、表示装置と、入力手段とを有するソフトウェア実行部とからなり、
　前記各ソフトウェア実行部のメモリ制御装置は、ソフトウェアの暗号化された非公開部分と公開部分を検出する暗号化検出回路と、前記認証情報格納装置から認証情報を入力して復号化キーを生成して前記暗号化検出回路によって検出されたソフトウェアの非公開部分を復号化するデータ復号化回路とを備えており、
　前記ソフトウェア実行部は、所定のソフトウェアを起動する前に、前記暗号化検出回路によって当該ソフトウェアにおける非公開部分あるいは公開部分あるいは非公開部分および公開部分を検出し、前記データ復号化回路により前記公開部分については復号化を行わずに前記演算処理用メモリ上に展開し、前記非公開部分については必ず前記認証情報格納装置に格納された認証情報から生成された復号化キーによって強制的に復号化処理を行った後に前記演算処理用メモリ上に展開する、ことを特徴とする公開部分と非公開部分を有するソフトウェアを複数ユーザに使用させるシステム。
　　【請求項２】
　前記ソフトウェアを前記メモリにロードする際に、前記暗号化検出回路によって検出された公開部分のプログラムあるいはデータを、前記メモリ上の参照可能領域にロードし、前記データ復号化回路によって復号化された非公開部分のプログラムあるいはデータを前記メモリ上の参照不可領域にロードするように前記メモリ制御装置を構成し、
　前記メモリ制御装置に、参照不可領域のプログラムの実行による参照不可領域へのアクセス命令を許可し、参照可能領域のプログラムの実行による参照不可領域へのアクセス命令を禁止するアクセス制御手段を備えたことを特徴とする請求項１に記載の公開部分と非公開部分を有するソフトウェアを複数ユーザに使用させるシステム。
　　【請求項３】
　前記ソフトウェア供給部と前記複数のソフトウェア実行部は通信回線によって互いに連結されていることを特徴とする請求項１または請求項２に記載の公開部分と非公開部分を有するソフトウェアを複数ユーザに使用させるシステム。」
から、
　「【請求項１】
　正規のユーザに固有の認証情報に基づいて作成された暗号化キーによってソフトウェアの非公開部分を暗号化し、前記ソフトウェアを記憶媒体に格納して提供するソフトウェア供給部と、
　一つの前記ソフトウェア供給部に対して複数個存在するソフトウェア実行部であってそれぞれが、演算処理装置と、前記演算処理用のメモリと、前記メモリに対するアクセスを制御するメモリ制御装置と、各ユーザに固有の認証情報を格納する認証情報格納装置と、表示装置と、入力手段とを有するソフトウェア実行部とからなり、
　前記各ソフトウェア実行部のメモリ制御装置は、ソフトウェアの暗号化された非公開部分と公開部分を検出する暗号化検出回路と、前記認証情報格納装置から認証情報を入力して復号化キーを生成して前記暗号化検出回路によって検出されたソフトウェアの非公開部分を復号化するデータ復号化回路とを備えており、
　前記ソフトウェア実行部は、所定のソフトウェアを起動する前に、前記暗号化検出回路により記憶媒体の所定領域に格納されたプログラムやデータを当該ソフトウェアにおける非公開部分、残るプログラムやデータを当該ソフトウェアにおける公開部分として検出し、前記データ復号化回路により前記公開部分については復号化を行わずに前記演算処理用メモリ上に展開し、前記非公開部分については必ず前記認証情報格納装置に格納された認証情報から生成された復号化キーによって強制的に復号化処理を行った後に前記演算処理用メモリ上に展開する、ことを特徴とする公開部分と非公開部分を有するソフトウェアを複数ユーザに使用させるシステム。
　　【請求項２】
　前記ソフトウェアを前記メモリにロードする際に、前記暗号化検出回路によって検出された公開部分のプログラムあるいはデータを、前記メモリ上の参照可能領域にロードし、前記データ復号化回路によって復号化された非公開部分のプログラムあるいはデータを前記メモリ上の参照不可領域にロードするように前記メモリ制御装置を構成し、
　前記メモリ制御装置に、参照不可領域のプログラムの実行による参照不可領域へのアクセス命令を許可し、参照可能領域のプログラムの実行による参照不可領域へのアクセス命令を禁止するアクセス制御手段を備えたことを特徴とする請求項１に記載の公開部分と非公開部分を有するソフトウェアを複数ユーザに使用させるシステム。」
に補正するものである。
　
　すなわち、本件手続補正は、請求項１において、（ａ）「正規のユーザに固有の認証情報に基づいて作成された暗号化キーによってソフトウェアの非公開部分を暗号化するソフトウェア供給部と、」を「正規のユーザに固有の認証情報に基づいて作成された暗号化キーによってソフトウェアの非公開部分を暗号化し、前記ソフトウェアを記憶媒体に格納して提供するソフトウェア供給部と、」に補正し、（ｂ）「前記ソフトウェア実行部は、所定のソフトウェアを起動する前に、前記暗号化検出回路によって当該ソフトウェアにおける非公開部分あるいは公開部分あるいは非公開部分および公開部分を検出し、」を「前記ソフトウェア実行部は、所定のソフトウェアを起動する前に、前記暗号化検出回路により記憶媒体の所定領域に格納されたプログラムやデータを当該ソフトウェアにおける非公開部分、残るプログラムやデータを当該ソフトウェアにおける公開部分として検出し、」と補正するとともに、（ｃ）請求項３を削除するものである。
　
（２）そこで本件手続補正が特許法第１７条の２に規定する要件を満たしているか否かを以下検討する。
　本件手続補正のうち、（ａ）及び（ｂ）については、「ソフトウェア供給部」及び「ソフトウェア実行部」を限定するものであって、これらの手続補正は、特許請求の範囲の限定的減縮に該当するものであり、又、（ｃ）は、請求項の削除に該当するものである。
　
　次に、本件手続補正が特許法第１７条の２第４項で読み替えて準用する同法第１２６条第３項の規定に違反しているか否かを以下検討する。
　
（３）原査定の拒絶の理由に引用された先行技術文献１乃至３の記載事項
Ａ．原査定の拒絶の理由に先行技術文献１として引用された刊行物である特開平３−６８０２４号公報（以下、「引用文献１」という。）には、図面とともに、以下のように記載されている。
　
　「〔産業上の利用分野〕
　本発明はプログラムの供給者がプログラムを供給した計算機システム以外でプログラムが使用されることを防止するプログラムの不正使用防止方式に関する。」（第１頁右下欄第２〜６行目）
　
　「第１図は本発明の実施例のブロック図であり、利用者システム７に供給する供給プログラム１及び利用者システム７に対する固有の利用者システム固有暗号化鍵２を入力してシステム固有暗号化供給プログラム５を生成する供給プログラム暗号化手段３と、利用者システム７内に設けられ、システム固有暗号化供給プログラム５及びシステム固有暗号解読鍵９を入力して解読プログラム１０を生成する暗号化プログラム解読手段８と、解読プログラム１０を実行すると共に暗号化プログラム解読手段８に起動指示を加えるプログラム実行手段１１とを含んでいる。
　供給プログラム暗号化手段３及び暗号化プログラム解読手段８はそれぞれ次式（１），（２）に示す処理を行なう。
　　　Ｑ＝Ｆ（Ｐ，Ｋ）　……　（１）
　　　Ｐ＝Ｇ（Ｑ，Ｌ）　……　（２）
　但し、式（１），（２）に於いて、Ｐは供給プログラム１、Ｋは利用者システム７に対する固有の利用者システム固有暗号化鍵２、Ｆは供給プログラム暗号化手段３の動作を示す関数、Ｑはシステム固有暗号化供給プログラム、Ｇは利用者システム７の暗号化プログラム解読手段８の操作を示す関数、Ｌは利用者システム７固有のシステム固有暗号解読鍵９である。即ち、供給プログラム暗号化手段３は供給プログラム１と利用者システム固有暗号化鍵２とに対して関数Ｆで示される操作を行なって供給プログラム１を暗号化したシステム固有暗号化供給プログラム５を生成し、暗号化プログラム解読手段８はシステム固有暗号化供給プログラム５とシステム固有暗号解読鍵９とに対して関数Ｇで示される操作を行なってシステム固有暗号化供給プログラム５を解読し、元に戻した解読プログラム１０を生成するものである。
　次に本実施例の動作を説明する。
　プログラムの供給者４は利用者システム７にプログラムを供給する場合、利用者システム７に供給する供給プログラム１及び利用者システム７に対して固有の利用者システム固有暗号化鍵２を用意し、供給プログラム暗号化手段３を起動する。供給プログラム暗号化手段３は起動されると、供給プログラム１と利用者システム固有暗号化鍵２とを入力し、供給プログラム１を利用者システム固有暗号化鍵２を使って暗号化し、システム有暗号化供給プログラム５を生成する。
　利用者システム７の利用者６は供給者４によって供給されたシステム固有暗号化供給プログラム５を実行する場合、プログラム実行手段１１を起動する。プログラム実行手段１１は起動されると、暗号化プログラム解読手段８を起動する。プログラム実行手段１１は起動されると、暗号化プログラム解読手段８を起動する。これにより、暗号化プログラム解読手段８はシステム固有暗号化供給プログラム５とシステム固有暗号解読鍵９とを入力し、システム固有暗号化供給プログラム５をシステム固有暗号解読鍵９を使って解読し、供給プログラム１と同一の解読プログラム１０を出力する。プログラム実行手段１１は暗号化プログラム解読手段８から出力された解読プログラム１０を実行する。」（第２頁右上欄第１８行〜第３頁左上欄第１５行目）
　
　「〔発明の効果〕
　以上説明したように、本発明は、プログラムを供給しようとする利用者システム固有の利用者システム固有暗号化鍵を用いてプログラムを暗号化し、暗号化したプログラムを供給するようにしたものであり、プログラムの供給者がプログラムを供給した利用者システム以外ではシステム固有暗号解読鍵が不明であり、供給プログラムを解読、実行することができないので、プログラムの供給者がプログラムを供給した利用者システム以外でのプログラムの不正利用を防止できる効果がある。」（第３頁左上欄第１６行〜同頁右上欄第７行目）
　
　即ち、引用文献１には、プログラムの供給者が利用者システムにプログラムを供給する場合、利用者システムに固有の利用者システム固有暗号化鍵を用いて供給プログラムを暗号化して利用者システムに供給することによって、プログラムを供給した利用者システム以外ではシステム固有暗号解読鍵が不明であるので、供給プログラムを解読、実行することができないようにして、プログラムの供給者がプログラムを供給した利用者システム以外でのプログラムの不正使用を防止できるようにしたプログラムの不正使用防止方式の発明が記載されている（以下、「引用発明１」という。）。
　
Ｂ．原査定の拒絶の理由に先行技術文献２として引用された刊行物である特開平４−３１０１２８号公報（以下、「引用文献２」という。）には、図面とともに、以下のように記載されている。
　
　「【０００１】
【産業上の利用分野】本発明は、情報処理装置における処理の内容の機密保護に係り、特にオブジェクトプログラム中の情報を開示できない部分に対し、不用意な逆アセンブルから保護する方法に関する。」
　
　「【０００２】
【従来の技術】パーソナルコンピュータやワークステーションなどにおいて利用者が自分でプログラムを作成する場合、システム提供のアセンブリライブラリとリンクをとってオブジェクトを作成することが多い。また、利用者がそのプログラムをデバッグする際に、逆アセンブルにより、プログラムの動きを機械語レベルで追跡することがある。この場合、システム提供のアセンブリライブラリの中には、処理の内容に守秘義務を要し、逆アセンブルしてはいけないものがある。」
　
　「【０００５】本発明はオブジェクトモジュールを部分的に逆アセンブルから保護することを目的とする。」
　
　「【０００６】
【課題を解決するための手段】上記目的を達成するために、本発明は、書き換え可能で不揮発な外部記憶装置に保持されたロードモジュールをメモリにロードし、プログラムを実行する情報処理装置において、機密保守を要するオブジェクトモジュールを暗号化し、該暗号化オブジェクトモジュールと他のオブジェクトモジュールとをリンケージしてロードモジュールを生成して外部記憶装置に保持すると共に、ロードモジュールをメモリへロードする際、暗号化部分を復号してメモリの特定ブロックへロードすることを特徴とするものである。
【作用】
【０００７】オブジェクトの内容に守秘義務が課せられているオブジェクトモジュールを暗号化し、該暗号化オブジェクトモジュールと通常の暗号化されていないオブジェクトモジュールとをリンケージするため、リンケージエディタの前処理部で暗号化オブジェクトを復号化し、後処理で再び暗号化する。このようにして生成されたロードモジュールに対し逆アセンブラをかけた場合、公開部は通常通り逆アセンブルできるが、非公開部は暗号化されているため、逆アセンブルできない。
【０００８】また、このロードモジュールをメモリへロードする際、暗号化部分はメモリの特別なブロックへロードする。このブロックを、ＣＰＵから命令語としての読出は許可するが、データとしての読出は禁止することにより、利用者がデバッグ目的で命令を読み出して逆アセンブル表示することから防止される。」
　
　「【０００９】
【実施例】図１は本発明の一実施例の全体構成図を示す。ロードモジュール１１は書き換え可能で不揮発な外部記憶装置に保持され、プログラムの実行の際、ローダ４でメモリ３へロードされ、メモリ管理部２を介してＣＰＵ１で実行される。このロードモジュール１１の一部は暗号化されており、ローダ４でメモリ３へロードする時、該暗号化分がローダ４の復号化部７で復号され、メモリ管理部２が管理する特別なブロックへロードされる。
このブロックはメモリ管理部２により、ＣＰＵ１から命令語としての読み込みを許可し、データとしての読み込みは禁止するように制御される。これにより、デバッガ等が実行中のメモリ３から、暗号化部分の命令を読み込んで逆アセンブル表示することから防止できる。
【００１０】以下、ロードモジュール１１の生成及びそれを実行する際のロード方法について詳述する。
【００１１】まず、オブジェクトの内容に守秘義務が課せられているオブジェクトモジュール８を暗号化装置６により暗号化し、暗号化オブジェクトモジュール９として本情報処理装置の利用者へ提供する。その際、暗号化装置６は、当該オブジェクトモジュール９が暗号化されていることを示す識別子と管理情報をモジュールの先頭に付加する。
【００１２】図２は、暗号化オブジェクトモジュール９の先頭に付加される管理情報の形式を示したもので、管理情報は暗号化されたブロックの開始アドレスと終了アドレス及び、暗号化の手法を示す識別子から構成される。
【００１３】次に、暗号化オブジェクトモジュール９と通常の暗号化されていないオブジェクトモジュール（非暗号化オブジェクトモジュール）１０とをリンケージエディタ５でリンケージしてロードモジュール１１を生成する。」
　
　「【００１４】図３はリンケージエディタ５の構成例を示したものである。即ち、暗号化オブジェクトモジュール９はその識別子により復号化部１２を通して復号化されてからリンケージエディタ部１３へ渡され、通常の非暗号化オブジェクトモジュール１０はそのままリンケージエディタ部１３へ渡される。リンケージエディタ部１３は両オブジェクトをリンケージ処理するが、このとき、非暗号化部分と暗号化されていた部分を、メモリ管理部２によって管理される別々の管理ブロック単位にそれぞれアドレスを割り当てる。その後、暗号化されていた部分は、暗号化部１４で再び暗号化され、ロードモジュール１１が生成される。これにより、ロードモジュールに対し逆アセンブラをかけても、公開部は通常通り逆アセンブルでき、非公開部は暗号化されているため、逆アセンブラをかけることはできない。
【００１５】プログラムの実行の際、このロードモジュール１１がローダ４によりメモリ３へロードされる。図４はロードモジュール１１とメモリ３の対応を示したものである。ローダ４は、ロードモジュール１１の識別子１５により暗号化されているロードモジュールであることを認識すると、管理情報１６を読み込み、非暗号部分１７はそのまま、暗号化部分１８は復号化部７を通して復号化し、メモリ３へロードする。このとき、暗号化部分１８はメモリ管理部２が管理する特別なブロックへロードされる。」
　
　「【００１６】
【発明の効果】本発明によれば、オブジェクトコードの内容に守秘義務が課されているオブジェクトと利用者が作成したオブジェクトが混在するロードモジュールを、利用者がデバッグの目的などで逆アセンブルする際に、守秘義務が課されているところは不用意な逆アセンブルからガードし、利用者が作成した部分は従来通り逆アセンブルできるという効果がある。また、既存の逆アセンブルツールを従来通り使用できるという効果もある。」
と記載されている。
　
　すなわち、引用文献２には、利用者が自分でプログラムを作成する場合、システム提供の、情報を開示できない、機密保守を要するオブジェクトモジュールを暗号化し、該暗号化オブジェクトモジュールと、利用者作成の、暗号化されていないオブジェクトモジュールとをリンケージしてロードモジュールを生成し、プログラム実行の際、このロードモジュールはローダでメモリへロードされ、メモリ管理部を介してＣＰＵで実行されるが、このロードモジュールをローダでメモリへロードする時、ロードモジュールの内、暗号化部分は、復号化部で復号されてから、メモリ管理部が管理する特別なブロックへロードされ、暗号化されていない通常の部分はそのまま別のブロックへロードすることによって、守秘義務が課されている部分の秘密を守ると共に、通常の部分、即ち、利用者が作成した部分は自由に利用させるようにした発明が記載されている（以下、「引用発明２」という。）。
　
Ｃ．同じく、原査定の拒絶の理由に先行技術文献３として引用された刊行物である特表平４−５０４７９４号公報（以下、「引用文献３」という。）には、図面とともに、以下のように記載されている。
　
　「　　　　　　　　　　
技　術　分　野
　本発明はコンピュータソフトウェアの使用の遠隔制御及びモニタに関する。さらに詳細には、本発明は、１）顧客の使用及び会計情報を引き出し；２）不正コピー及び不正使用を防止し；３）貸し出されるソフトウェア製品（以下「パッケージ」と称する）の保全性を確保し；４）ホスト及びユーザのコンピュータ間の関連音声、プログラム及びデータ通信を制御しながら、コンピュータソフトウェア製品を貸し出すためのシステムに関する。」（第５頁右下欄第４〜１１行目）
　
　「図１に示すように、ソフトウェアレンタルシステム１０は、一般的に、ホストコンピュータ１２，目的コンピュータ１４、ホストコンピュータに接続される遠隔制御モジュール（ＲＣＭ）１６及び目的コンピュータ１４に接続されるＲＣＭ１８から構成される。ホストコンピュータ１２と目的コンピュータ１４及びそれらのＲＣＭ１６及び１８の間の通信は、標準シリアルＲＳ２３２通信リンクを介して行なわれる。
　動作時、レンタル方式で正規ユーザに提供されるプログラムはホストコンピュータ１２に格納される。典型的には、ホストコンピュータは、ソフトウェアレンタルサービスまたは会社に所有され、それらのオフィスに設置される。図１に示すようにホストコンピュータ１２はシリアルデータ回線２０及びＲＣＭ１６を介してスイッチング可能公衆電話回線網２６に接続されている。
　目的コンピュータ１４は、ユーザのコンピュータであり、ワークステーションであっても、ミニコンピュータであっても、あるいはメインフレームあってもよい。しかし、ソフトウェアレンタルの目的のためには、大部分の目的コンピュータは、自宅又はオフィスでユーザに使用され動作されるパーソナルコンピュータが想定されている。
　目的コンピュータ１４は、シリアルデータ回線２２及びＲＣＭ１８を介して電話回線網２６に接続されている。ＲＣＭ１８は電力線２８を介して通常のＡＣ電源に接続され、さらに電力線２４を介してＲＣＭ１８により目的コンピュータ１４にも電力が供給される。
　動作時、ホストコンピュータ１２は目的コンピュータ１４にダイヤル可能であり、逆に目的コンピュータ１４はホストコンピュータ１２にダイヤル可能である。ホストコンピュータ１２の機能には、目的コンピュータ１４に対するソフトウェアの転送、ＲＣＭ１８からの目的コンピュータ１４に関連する顧客の使用状況データの要求及び受信、各種会計及びソフトウェアレンタルビジネスの機能の実行が含まれる。
　ＲＣＭ１６及び１８及びここに開示されるそれらを使用するための方法はどの種類のホストコンピュータ１２及び目的コンピュータ１４とでも作動することを意図している。ホストコンピュータ１２及び目的コンピュータ１４に組み込まれるソフトウェアは、もちろん、異なるタイプのコンピュータでも構わないが、方法は同様である。
　本発明によれば、いかなる時にでも、ホストコンピュータ１２は、接続されるＲＣＭの台数及びホストコンピュータ１２の通信能力次第でいかなる台数の目的コンピュータとも同時通信可能である。このように、ホストコンピュータのＲＣＭ、必要であればホストコンピュータを加えることにより、理論的には制限のない台数のＲＣＭ１８に接続される目的コンピュータ１４が、同時に、ホストコンピュータからレンタルソフトウェアパッケージにアクセス可能である。
　ホストコンピュータ１２との通信は、本発明のソフトウェアレンタルのコンセプトの必須部分であるが、ホストに対する使用状況データの通信のタイミングは厳密には要求されない。これは基本的には財務及び管理機能の問題だからである。もちろん、目的コンピュータ１４は、ユーザが所望する場合にはいつでも、レンタルソフトウェアを実行することが可能である
　ホストコンピュータ１２は、単なる従来のモデムの代わりにＲＣＭ１６を採用し、データの保全及びプログラムの保安を図っている。ＲＣＭ１６は、誤り検出回路及びデータ暗号化モジュールを含んでおり、これらはホストコンピュータ１２からの通信の際に使用される。」（第８頁左上欄第１１行〜同頁左下欄第１９行目）と記載されている。
　
　即ち、引用文献３には、ユーザに提供されるプログラムが格納されたホストコンピュータとユーザのコンピュータである目的コンピュータとを通信回線で結び、不正コピー及び不正使用を防止するようにしたコンピュータソフトウェア製品を貸し出すシステムの発明が記載されている（以下、「引用発明３」という。）
　
（４）対比・判断
Ａ．本願請求項１に係る発明について
　本願請求項１に係る発明（以下、「本願発明１」という。）と、引用発明２とを対比すると、
　引用発明２の「利用者」は、本願発明１の「正規のユーザ」に、
　引用発明２の「機密保守を要するオブジェクトモジュール」は、本願発明１の「ソフトウェアの非公開部分」に相当し、
　引用発明２の「ロードモジュール」は、本願発明１の「ソフトウェアを記憶媒体に格納して提供するソフトウェア供給部」に相当し、
　引用発明２の「ＣＰＵ」，「メモリ管理部」，「メモリ」及び「ローダ」等からなる部分は、本願発明１の「演算処理装置」，「メモリ制御装置」，「演算処理用のメモリ」及び「入力手段」等からなる「ソフトウェア実行部」に相当し、又、引用発明２の「ソフトウェア実行部」は、コンピュータであるので、当然に「表示装置」を備えているものと認められ、
　引用発明２の「復号化部」は、本願発明１の「データ復号化回路」に相当し、
　又、引用発明２の、ロードモジュールをローダでメモリへロードする時、ロードモジュールの内、暗号化部分は、復号化部で復号されてからロードされ、暗号化されていない通常の部分はそのままロードすることは、本願発明１における当該ソフトウェアにおける公開部分については復号化を行なわずにメモリ上に展開し、非公開部分については復号化処理を行なった後にメモリ上に展開することと実質的に同じことを行なっているものであり、
　更に、引用発明２は、利用者が、システム提供のアセンブリライブラリとリンクをとってオブジェクトを作成するものであるので、引用発明２は当然に複数の利用者に同じアセンブリライブラリを供給することを前提とした発明であることは当業者に自明であり、
　又、引用発明２においては、オブジェクトモジュールの内、暗号化されている部分の先頭には、当該オブジェクトモジュールが暗号化されていることを示す識別子と管理情報が付加され、該管理情報は暗号化されたブロックの開始アドレスと終了アドレス及び、暗号化手法を示す識別子から構成されているので、引用発明２は、暗号化部分と通常の部分を区別して検出するための暗号化検出回路が設けられていることは当業者に自明の事項であり、又、引用発明２においても、暗号化部分は復号してからメモリへロードするものであることしか記載されておらず、そこには、既に復号化されているものが入力された場合には、重ねて復号化しないというような記載はなされていないので、暗号化部分であることを意味する識別子と管理情報が付されたオブジェクトモジュールが入力された場合には、必ず復号化処理が行なわれるものであるものと認められるので、
　
　両者は共に、
　
　暗号化キーによってソフトウェアの非公開部分を暗号化し、前記ソフトウェアを記憶媒体に格納して提供するソフトウェア供給部と、一つの前記ソフトウェア供給部に対して複数個存在するソフトウェア実行部であってそれぞれが、演算処理装置と、前記演算処理用のメモリと、前記メモリに対するアクセスを制御するメモリ制御装置と、表示装置と、入力手段とを有するソフトウェア実行部とからなり、前記各ソフトウェア実行部のメモリ制御装置は、ソフトウェアの暗号化された非公開部分と公開部分を検出する暗号化検出回路と、前記暗号化検出回路によって検出されたソフトウェアの非公開部分を復号化するデータ復号化回路とを備えており、前記ソフトウェア実行部は、所定のソフトウェアを起動する前に、前記暗号化検出回路により記憶媒体の所定領域に格納されたプログラムやデータを当該ソフトウェアにおける非公開部分、残るプログラムやデータを当該ソフトウェアにおける公開部分として検出し、前記データ復号化回路により前記公開部分については復号化を行わずに前記演算処理用メモリ上に展開し、前記非公開部分については復号化キーによって強制的に復号化処理を行った後に前記演算処理用メモリ上に展開する、ことを特徴とする公開部分と非公開部分を有するソフトウェアを複数ユーザに使用させるシステム
　
である点では同じである。
　
Ｂ．ただ、（ｉ）本願発明１においては、「暗号化キー」は、正規のユーザに固有の認証情報に基づいて作成された暗号化キーであり、又、「復号化キー」は、該認証情報から生成された復号化キーであって、システムには、認証情報を格納するための「認証情報格納装置」が設けられているのに対して、引用発明２においては、暗号化キー及び復号化キーとしてどのようなものを用いるのかについては何ら示されておらず、又、正規のユーザ固有の認証情報を格納するための認証情報格納装置についても示されていない点で、両者は相違している。
　
Ｃ．そこで、上記相違点（ｉ）について判断すると、
　（ｉ）については、引用文献１に、プログラムの供給者が利用者システムにプログラムを供給する場合、利用者システムに固有の利用者システム固有暗号化鍵を用いて供給プログラムを暗号化して利用者システムに供給することによって、プログラムを供給した利用者システム以外ではシステム固有暗号解読鍵が不明であるので、供給プログラムを解読、実行することができないようにして、プログラムの供給者がプログラムを供給した利用者システム以外でのプログラムの不正使用を防止できるようにしたプログラムの不正使用防止方式の発明が記載されているので、この「利用者固有暗号化鍵」及びそれから生成した「解読鍵」は正規のユーザにのみ与えられているものであり、しかもこれはユーザに固有のものであるので、これらの鍵は正規のユーザに固有の認証情報に基づいて作成された暗号化キー及び復号化キーであり、しかも、利用者側には、認証情報を格納するための認証情報格納装置が設けられていることは自明であるので、引用発明２に引用発明１を適用して、本願発明１のようにすることは、当業者が容易に発明することができたものである。
　
　したがって、本願発明１は、引用発明２に引用発明１を適用することによって、当業者が容易に発明できたものである。
　
Ｄ．本願請求項２に係る発明について
　本願請求項２に係る発明（以下、「本願発明２」という。）は、本願発明１を前提として、前記ソフトウェアを前記メモリにロードする際に、前記暗号化検出回路によって検出された公開部分のプログラムあるいはデータを、前記メモリ上の参照可能領域にロードし、前記データ復号化回路によって復号化された非公開部分のプログラムあるいはデータを前記メモリ上の参照不可領域にロードするように前記メモリ制御装置を構成し、前記メモリ制御装置に、参照不可領域のプログラムの実行による参照不可領域へのアクセス命令を許可し、参照可能領域のプログラムの実行による参照不可領域へのアクセス命令を禁止するアクセス制御手段を備えたことに限定するものである。
　
　しかしながら、引用発明２においては、ロードモジュールをローダでメモリへロードする時、ロードモジュールの内、暗号化部分は、メモリ管理部が管理する特別なブロックへロードされ、暗号化されていない通常の部分はそのまま別のブロックへロードするようにされており、又、引用発明２においても、暗号化されている領域に対するアクセスは制限されているので、引用発明２は、本願発明２と同様に、前記ソフトウェアを前記メモリにロードする際に、前記暗号化検出回路によって検出された公開部分のプログラムあるいはデータを、前記メモリ上の参照可能領域にロードし、前記データ復号化回路によって復号化された非公開部分のプログラムあるいはデータを前記メモリ上の参照不可領域にロードするように前記メモリ制御装置を構成し、前記メモリ制御装置に、参照不可領域のプログラムの実行による参照不可領域へのアクセス命令を許可し、参照可能領域のプログラムの実行による参照不可領域へのアクセス命令を禁止するアクセス制御手段を備えたものである。
　
　したがって、本願発明２は、引用発明２に引用発明１を適用することによって、当業者が容易に発明できたものである。
　
（５）むすび
　以上の通りであるので、本件手続補正は、特許法第１７条の２第４項によって読み替えて準用する同法第１２６条第３項の規定に違反するものであり、同法第１５９条第１項によって読み替えて準用する同法第５３条第１項の規定により却下されるべきものである。
　
　よって結論のとおり決定する。
　
第３．本願発明
１．本願発明１乃至３
　上記のとおり、平成１６年８月２日付の手続補正は却下されたので、本願の請求項１乃至３に係る発明は、平成１６年５月６日付手続補正により補正された特許請求の範囲の請求項１乃至３に記載された以下のとおりの事項により特定されるものである（これを、それぞれ「本願補正前発明１乃至３」という。）。
　「【請求項１】
　正規のユーザに固有の認証情報に基づいて作成された暗号化キーによってソフトウェアの非公開部分を暗号化するソフトウェア供給部と、
　一つの前記ソフトウェア供給部に対して複数個存在するソフトウェア実行部であってそれぞれが、演算処理装置と、前記演算処理用のメモリと、前記メモリに対するアクセスを制御するメモリ制御装置と、各ユーザに固有の認証情報を格納する認証情報格納装置と、表示装置と、入力手段とを有するソフトウェア実行部とからなり、
　前記各ソフトウェア実行部のメモリ制御装置は、ソフトウェアの暗号化された非公開部分と公開部分を検出する暗号化検出回路と、前記認証情報格納装置から認証情報を入力して復号化キーを生成して前記暗号化検出回路によって検出されたソフトウェアの非公開部分を復号化するデータ復号化回路とを備えており、
　前記ソフトウェア実行部は、所定のソフトウェアを起動する前に、前記暗号化検出回路によって当該ソフトウェアにおける非公開部分あるいは公開部分あるいは非公開部分および公開部分を検出し、前記データ復号化回路により前記公開部分については復号化を行わずに前記演算処理用メモリ上に展開し、前記非公開部分については必ず前記認証情報格納装置に格納された認証情報から生成された復号化キーによって強制的に復号化処理を行った後に前記演算処理用メモリ上に展開する、ことを特徴とする公開部分と非公開部分を有するソフトウェアを複数ユーザに使用させるシステム。
　　【請求項２】
　前記ソフトウェアを前記メモリにロードする際に、前記暗号化検出回路によって検出された公開部分のプログラムあるいはデータを、前記メモリ上の参照可能領域にロードし、前記データ復号化回路によって復号化された非公開部分のプログラムあるいはデータを前記メモリ上の参照不可領域にロードするように前記メモリ制御装置を構成し、
　前記メモリ制御装置に、参照不可領域のプログラムの実行による参照不可領域へのアクセス命令を許可し、参照可能領域のプログラムの実行による参照不可領域へのアクセス命令を禁止するアクセス制御手段を備えたことを特徴とする請求項１に記載の公開部分と非公開部分を有するソフトウェアを複数ユーザに使用させるシステム。
　　【請求項３】
　前記ソフトウェア供給部と前記複数のソフトウェア実行部は通信回線によって互いに連結されていることを特徴とする請求項１または請求項２に記載の公開部分と非公開部分を有するソフトウェアを複数ユーザに使用させるシステム。」
　
２．引用文献１乃至３に記載の発明
　引用文献１乃至３に記載の発明は、上記「第２．　２．（３）Ａ．乃至Ｃ．」に記載したとおりのものである。
　
３．対比・判断
　上記したように、本願補正前発明１乃至３は、上記「第２．　２．（２）」で述べたように、平成１６年８月２日付手続補正における本願発明１及び２と比較して、本願補正前発明１は、「ソフトウェア供給部」については、「前記ソフトウェアを記憶媒体に格納して提供する」ことの限定がないものであり、又「ソフトウェア実行部」については、所定のソフトウェアを起動する前に、「前記暗号化検出回路により記憶媒体の所定領域に格納されたプログラムやデータを当該ソフトウェアにおける非公開部分、残るプログラムやデータを当該ソフトウェアにおける公開部分として検出し、」の限定がないものである。又、本願補正前発明２は、本願補正前発明１を前提とし、それに本願発明２と同じ限定を付したものである。更に、本願補正前発明３は平成１６年８月２日付手続補正によって削除されたものである。
　
　したがって、本願補正前発明１及び２については、上記限定のある本願発明１が引用発明１乃至２から当業者が容易に発明することができたものであると認められる以上、それらの限定がない本願補正前発明１及び２は当然に引用発明１乃至２から当業者が容易に発明できたものである。
　
　更に、補正前発明３は、本願補正前発明１又は２を前提として、「前記ソフトウェア供給部と前記ソフトウェア実行部は通信回線によって互いに連結されていることを特徴とする」ものであるが、上記引用発明３に、ユーザに提供されるプログラムが格納されたホストコンピュータとユーザのコンピュータである目的コンピュータとを通信回線で結び、不正コピー及び不正使用を防止するようにしたコンピュータソフトウェア製品を貸し出すシステムの発明が記載されており、本願補正前発明３の特徴点は、引用発明３から公知である。
　そして、引用発明２に引用発明１を適用したものに引用発明３を更に適用して、本願補正前発明３のようにすることに何ら困難性は認められないので、本願補正前発明３は引用発明１乃至３から当業者が容易に発明することができたものである。
　
第４．むすび
　以上の通りであるので、本願補正前発明１乃至３は、引用発明１乃至３から当業者が容易に発明をすることができたものであり、特許法第２９条第２項の規定により特許を受けることができない。
　
　よって、結論のとおり審決する。