(57)【特許請求の範囲】
【請求項１】
ユーザの端末装置に通信ネットワークを介してソフトウェアを配送する情報処理システムにおいて、
登録ソフトウェアの本体ファイルと管理情報とを含むソフトウェア情報を記憶するソフトウェア情報記憶手段と、
該登録ソフトウェアの販売形態および価格に関する価格情報を記憶する価格情報記憶手段と、
ユーザの購入したソフトウェアの購入履歴情報を記憶する購入履歴記憶手段と、
第１のユーザから前記登録ソフトウェアの配送要求を受け取った時、前記価格情報記憶手段に記憶された前記価格情報及び前記購入履歴記憶手段に記憶された前記購入履歴情報を読み出し、当該価格情報、及び購入履歴情報が示す前記ユーザが購入したソフトウェアが同一ソフトウェアであるか否かや関連ソフトウェアであるか否かに基づいて該登録ソフトウェアの価格を決定し、また前記販売形態に応じた配送処理を行う処理手段と
を備えることを特徴とするソフトウェア代金決裁システム。
【請求項２】
前記処理手段が決定した代金を前記第１のユーザに対して自動的に課金する課金手段をさらに備えることを特徴とする請求項１記載のソフトウェア代金決裁システム。
【請求項３】
前記処理手段は、前記ソフトウェア情報および価格情報を第２のユーザの端末装置から受け取り、前記ソフトウェア情報記憶手段および価格情報記憶手段に登録することを特徴とする請求項１記載のソフトウェア代金決裁システム。
【請求項４】
前記登録ソフトウェアがシェアウェアの場合、前記価格情報記憶手段は、シェアウェアの機能制限の解除手続きを含む前記価格情報を記憶し、前記処理手段は、代金の決裁時に該解除手続きに基づいて必要な処理を行うことを特徴とする請求項１記載のソフトウェア代金決裁システム。
【請求項５】
前記処理手段は、前記第１のユーザの端末からシェアウェア手続き用のフラグを受け取り、該フラグが立っていれば、前記シェアウェアの機能制限の解除処理を行うことを特徴とする請求項４記載のソフトウェア代金決裁システム。
【請求項６】
前記処理手段は、前記第１のユーザの端末の画面上にシェアウェア手続きを選択するメニューを表示させ、該第１のユーザが該シェアウェア手続きを選択すると、該第１のユーザの端末から送られるシェアウェア手続き用のフラグが立つことを特徴とする請求項５記載のソフトウェア代金決裁システム。
【請求項７】
前記処理手段は、前記解除処理において、前記シェアウェアの制限解除に必要なファイルを前記第１のユーザの端末に送り、該第１のユーザの端末に対して機能制限の解除を指示することを特徴とする請求項５記載のソフトウェア代金決裁システム。
【請求項８】
前記処理手段は、前記解除処理において、前記第１のユーザに代金を課金したことを通知する電子メールを、前記シェアウェアの登録者に対して発行することを特徴とする請求項５記載のソフトウェア代金決裁システム。
【請求項９】
前記購入履歴情報はソフトウェア識別子を含み、前記処理手段は、前記第１のユーザのユーザ識別子と該第１のユーザの端末のマシン識別子とに応じて、前記購入履歴情報に含まれるソフトウェア識別子を参照し、前記価格情報に従って前記登録ソフトウェアの価格を決定することを特徴とする請求項１記載のソフトウェア代金決裁システム。
【請求項１０】
前記購入履歴情報はユーザの購入したソフトウェアのソフトウェア識別子を含み、前記処理手段は、前記第１のユーザのユーザ識別子に応じて前記購入履歴情報に含まれるソフトウェア識別子を参照し、前記価格情報に従って前記登録ソフトウェアの価格を決定することを特徴とする請求項１記載のソフトウェア代金決裁システム。
【請求項１１】
前記購入履歴情報はユーザの購入したソフトウェアのソフトウェア識別子を含み、前記処理手段は、前記第１のユーザの端末のマシン識別子に応じて前記購入履歴情報に含まれるソフトウェア識別子を参照し、前記価格情報に従って前記登録ソフトウェアの価格を決定することを特徴とする請求項１記載のソフトウェア代金決裁システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信回線を介してソフトウェアをユーザの端末装置にインストールするサービスに係り、ソフトウェアの代金を決裁するソフトウェア代金決裁システムとその方法に関する。
【０００２】
【従来の技術】
近年のパソコン通信等の発達に伴い、通信回線を介してソフトウェアを入手したいというユーザの希望が生じているが、このようなソフトウェアの配送を自動的に行う本格的なシステムは実現していない。ソフトウェアの自動配送を行うには、まずユーザが希望するソフトウェアを自宅の端末装置から配送センターに知らせ、ユーザから通知を受けた配送センターは通信回線を介して要求されたソフトウェアをユーザの端末装置に送信するという形式が考えられる。
【０００３】
このようなソフトウェアの自動配送を実現するために、先願の「リモートインストールシステムおよび方法」（特願平７−１７９７）が考案された。以下、図面を参照しながら先願の技術について説明する。
【０００４】
図２８は、先願のリモートインストールシステムの構成図である。図２８のリモートインストールシステムは、ソフトウェアの配送センターにあるホスト計算機２１、ユーザの端末２３、およびこれらを結ぶ通信回線２２から成る。端末２３は、例えば配送センターから遠く離れたユーザの自宅にあるパーソナルコンピュータであり、通信回線２２は例えばパソコン通信のネットワーク用の回線であるものとする。
【０００５】
ホスト計算機２１は、図示されない格納領域内に配送可能な複数のソフトウェアを含むソフトウェア群３５と、そのソフトウェア群３５から特定のソフトウェアを選択するときに用いるキーワードのリストを保持する第１キーテーブル３２および第２キーテーブル３３を格納している。
【０００６】
ユーザが端末２３からホスト計算機２１にキーワードのリストを要求すると、ホスト計算機２１は第１キーテーブル３２、第２キーテーブル３３を順次送信して、それらに含まれるキーワードを端末２３の表示装置２４の画面に表示させる。ユーザは表示されたキーワードから希望するソフトウェアに対応するものを選び、ホスト計算機２１に通知する。
【０００７】
ホスト計算機２１は通知されたキーワードに該当するいくつかのソフトウェアの名称を含むメニューを表示装置２４の画面に表示させ、ユーザはその中から希望するソフトウェアを選んで、ホスト計算機２１に通知する。そして、ホスト計算機２１はソフトウェア群３５からユーザの選んだソフトウェアのコンテンツ（ファイル）を取り出し、端末２３のハードディスク２５に設定された配送（宅配、またはディストリビューション）用のディレクトリＤ：￥ＳＯＵＫＯに格納する。
【０００８】
このとき、宅配されたソフトウェアを起動するためのアイコン３７が自動的に登録され、表示装置２４の画面上でディレクトリＤ：￥ＳＯＵＫＯに対応して設けられた倉庫ウィンドウ３６内に表示される。例えば端末２３がＷＩＮＤＯＷＳを搭載している場合は、宅配されたソフトウェアはＷＩＮＤＯＷＳのプログラムマネージャに登録される。以後、ユーザはアイコン３７をマウス等の入力装置を用いてクリックするだけで、宅配されたソフトウェアを使用することができる。
【０００９】
端末２３が装備するハードウェアやソフトウェアツール等の動作環境を記述した環境ファイル３１は端末２３内で生成され、ホスト計算機２１のアクセス時にホスト計算機２１に送られる。ホスト計算機２１は受け取った環境ファイル３１を各ユーザ毎に保持し、ユーザが選んだソフトウェアが動作可能かどうかのチェックに用いる。
【００１０】
また、ホスト計算機２１はユーザ毎に個別の設定ファイル３４を用意し、ユーザが選んだソフトウェアの動作に必要なファイル一式とその格納場所をこれに記述する。そして、それらのファイル一式とともに設定ファイル３４を端末２３に一括して送り、端末２３にソフトウェアの自動インストールを行わせることができる。
【００１１】
次に、図２９から図３１までを参照しながら、図２８のリモートインストールシステムによるソフトウェアの宅配の動作フローを説明する。
図２９において、ユーザＡの端末２３は通信用の端末ソフトのインストール時に動作環境の情報を取得し、取得した情報を設定した環境ファイル３８を作成する（ステップＳ１）。このとき、ユーザの端末の機種や宅配に使用する格納場所ＳＯＵＫＯ等の取得に時間のかかる情報、あるいは、場合によってユーザに問い合わせなければならない情報を取得する。
【００１２】
格納場所ＳＯＵＫＯの決定にあたっては、端末２３はハードディスク２５に所定の容量以上の空き領域があるかどうかを調べ、空き領域があればそのルートに宅配用のディレクトリを作成する。このときディレクトリ名等は端末２３が自動的に生成し、ユーザＡはそれを確認する作業のみを行う。したがって、ユーザＡはディレクトリ名等を入力する必要がない。
【００１３】
ここでは、ユーザＡの機種はＴＯＷＮＳであり、ＳＯＵＫＯのディレクトリはＤ：￥ＳＯＵＫＯ（ドライブＤのディレクトリＳＯＵＫＯ）であることが環境ファイル３８に書き込まれる。ユーザＡは、必要があればＤ：￥ＳＯＵＫＯを他のディレクトリに変更することもできる。
【００１４】
既に設定されているパーティションに所定の容量の空き領域がなければ、別のパーティションの空き領域が一番大きい場所を探して、そこに宅配用のディレクトリを作成する。具体的には、ディレクトリＤ：￥ＳＯＵＫＯが一杯になったとすると、端末２３が”Ｄ：￥ＳＯＵＫＯが一杯です。倉庫をＦ：￥ＳＯＵＫＯに変更します。よろしいですか。”等のメッセージを表示装置２４の画面に表示する。ユーザＡがこれを承認すると、Ｆ：￥ＳＯＵＫＯが新たにＳＯＵＫＯのディレクトリとなる。所定の容量の空き領域がどのハードディスクにもなかったときは、”残念ながらディスク容量が足りません。ディスクを増設してください。”等のメッセージが表示される。
【００１５】
次に、端末ソフトの起動時（ホスト計算機２１へのアクセス時）に、ハードディスクやメモリの状況等のインストール後に変化した可能性のある情報を取得する（ステップＳ２）。ここでは、ユーザＡのハードディスクがドライブＤにあり、空き容量が３００Ｍバイトであることが環境ファイル３８に書き込まれる。こうして作成された環境ファイル３８の内容は、ユーザＡがホスト計算機２１にアクセス（接続）したときに、コマンドＲＩＳ ＳＥＮＤＥＮＶによりホスト計算機２１に送信される（ステップＳ３）。
【００１６】
ホスト計算機２１は受信した情報をユーザＡ環境ファイル３９として保持する。ユーザＡ環境ファイル３９には、機種、ハードディスク情報ＨＤ、格納場所ＳＯＵＫＯのほかに、使用しているＯＳ（オペレーティングシステム）とその格納場所が記述されている。ここでは、ユーザＡの端末２３のＯＳはＷＩＮＤＯＷＳであり、その格納場所ＷＩＮＤＩＲはＤ：￥ＷＩＮＤＯＷＳであることがわかる。
【００１７】
ホスト計算機２１からコマンドＲＩＳ ＳＥＮＤＥＮＶに対するレスポンスとしてＲＩＳ ＳＥＮＤＥＮＶ＊ＲＥＳＰ  ＯＫを受け取ると、端末２３はコマンドＲＩＳ ＫＥＹＬＩＳＴにより第１キーリストを要求する（ステップＳ４）。これに応じて、ホスト計算機２１は第１キーテーブル３２の内容をＲＩＳ ＫＥＹＬＩＳＴ＊ＲＥＳＰとともに送り返す。ここでは、第１キーテーブル３２には、キー番号１、２、３、・・・に対応するキーワードとして、ＯＳ／基本ソフト、開発支援、ゲーム、・・・が格納されている。
【００１８】
これらのキーワードが第１キーリストとして表示装置２４の画面に表示されると（ステップＳ５）、ユーザＡはそれらの中から第１キーワードを選び端末２３に入力する（ステップＳ６）。すると、端末２３はユーザＡの選んだ第１キーワードのキー番号とともに、第２キーリストを要求するコマンドＲＩＳ ＫＥＹＬＩＳＴをホスト計算機２１に送る（ステップＳ７）。ここでは、ユーザＡは第１キーワードとしてゲームを選択し、それに対応するキー番号３がホスト計算機２１に送られる。
【００１９】
第２キーリストを要求されたホスト計算機２１は、受け取ったキー番号に対応して第１キーテーブル３２内に格納されているポインタを用いて、対応する第２キーテーブル３３を求め、その内容をＲＩＳ ＫＥＹＬＩＳＴ＊ＲＥＳＰとともに送り返す。ここでは、第２キーテーブル３３には、キー番号５１、５２、５３、・・・に対応するキーワードとして、ＲＰＧ、アクション、パズル／クイズ、・・・が格納されている。
【００２０】
第２キーテーブルは第１キーテーブル３２内のキーワードに対応して一般に複数設けられており、その数は第１キーテーブル３２内のキーワードの数と同じか、またはそれより少ない。後者の場合には、第１キーテーブル３２内の２つ以上のキーワードが同じ１つの第２キーテーブルを指すことになる。
【００２１】
第２キーテーブル内のキーワードが第２キーリストとして表示装置２４の画面に表示されると（ステップＳ８）、ユーザＡはそれらの中から第２キーワードを選び端末２３に入力する（図３０、ステップＳ９）。すると、端末２３はユーザＡの選んだ第１および第２キーワードのキー番号とともに、第１および第２キーワードの両方に該当するソフトウェアのリストを要求するコマンドＲＩＳ ＬＩＳＴをホスト計算機２１に送る（ステップＳ１０）。ここでは、ユーザＡは第２キーワードとしてアクションを選択し、それに対応するキー番号５２がホスト計算機２１に送られる。
【００２２】
ソフトウェアのリストを要求されたホスト計算機２１は、第１および第２キーワードの２つのキー番号を持つソフトウェアをソフトウェア群３５の中から検索する。このとき、検索条件として第１キーワードと第２キーワードとを区別せずに、フラットに検索を行う。また、機種やＯＳの種別はデフォルトのキーとして扱い、これらも加味した上で検索する。これにより、例えばＴＯＷＮＳ以外の機種専用のソフトウェアが検索されてくることが防止される。
【００２３】
そして、該当するソフトウェアの名称と番号のリストをＲＩＳ ＬＩＳＴ＊ＲＥＳＰとともに端末２３に送る。ここでは、キー番号３と５２を持つテトリス、パチンコ等のソフトウェアが該当するので、それらの名称がそれぞれのソフトウェア番号５、３０等とともに端末２３に送られる。
【００２４】
ソフトウェアのリストが表示装置２４の画面に表示されると（ステップＳ１１）、ユーザＡはそれらの中から希望するソフトウェアを選び、端末２３に入力する（ステップＳ１２）。すると、端末２３はユーザＡの選んだソフトウェアの番号とともに、ユーザＡの環境がそのソフトウェアの動作に適するかどうかのチェックを要求するコマンドＲＩＳ ＣＨＫＥＮＶをホスト計算機２１に送る（ステップＳ１３）。ここでは、ユーザＡはテトリスを選択し、それに対応するソフトウェア番号５がホスト計算機２１に送られる。
【００２５】
ユーザＡが選択したソフトウェアの番号を受け取ったホスト計算機２１は、その番号に対応するソフトウェアの動作環境とユーザＡの端末２３の環境との整合性を調べるためのチェックスクリプト４０を用意し、環境チェックを行う。このチェックはチェックスクリプト４０の実行プログラムと端末２３の端末ソフトとの間のやりとりにより自動的に行われるので、ユーザＡは環境チェックが行われていることを必ずしも意識する必要はない（ステップＳ１４）。ユーザＡに何らかの問い合わせを行う必要が生じたときにのみ、ホスト計算機２１がその問い合わせを行う。
【００２６】
ここでは、ユーザＡが選択したテトリスの動作環境として、ＯＳがＷＩＮＤＯＷＳ、機種がＴＯＷＮＳ、ＰＣ９８等、推奨ディレクトリ（ＤＩＲ）名がＴＥＴであることが記述されている。これに対して、ユーザＡ環境ファイル３９には、機種がＴＯＷＮＳ、ＯＳがＷＩＮＤＯＷＳと記述されており、両者を比較することによって機種とＯＳが適合していることがわかる。
【００２７】
次に、テトリスのチェックスクリプト４０を見るとユーザＡ側の格納場所ＷＩＮＤＩＲにＶＢＲＪＰ２００．ＤＬＬというファイルがあるかどうか調査するためのコマンド”ＳＴ４  ＠ＷＩＮＤＩＲ＠ＶＢＲＪＰ２００．ＤＬＬ”があるので（ＭＱ１）、ホスト計算機２１はこれをＲＩＳ ＣＨＫＥＮＶ＊ＲＥＳＰとともに端末２３に送る。このとき、ホスト計算機２１はユーザＡ環境ファイル３９を参照して、＠ＷＩＮＤＩＲ＠をＤ：￥ＷＩＮＤＯＷＳに置き換えて送る。ここで、＠はワイルドカードを表す。また、ファイルＶＢＲＪＰ２００．ＤＬＬはテトリスの動作に必要なファイルの１つである。
【００２８】
このコマンドを受け取った端末２３は、ドライブＤのディレクトリＷＩＮＤＯＷＳにファイルＶＢＲＪＰ２００．ＤＬＬがあるかどうか調べ、その結果をＡＮＳとしてホスト計算機２１に送り返す。ここでは、該当するファイルがなかったのでＡＮＳ＝ＯＦＦが送り返される。
【００２９】
端末２３にファイルＶＢＲＪＰ２００．ＤＬＬがないことを知ったホスト計算機２１は、チェックスクリプト４０に従って（ＭＱ２）、”ＶＢＲＪＰ２００をコピーしてよいか？”という問い合わせを端末２３に送り、この問い合わせが表示装置２４の画面に表示される。ユーザＡは表示された問い合わせに対する回答を入力し、端末２３がその回答をホスト計算機２１に送り返す。ここでは、ＡＮＳ＝はい  が送り返され、ホスト計算機２１はチェックスクリプト４０に従って、リモートインストールを承諾し（ＲＩＳ＝ＯＫ）、ＶＢＲＪＰ２００．ＤＬＬのコピーを指示するフラグＦ２をＯＮにする（ＭＡ２）。
【００３０】
もし、ファイルＶＢＲＪＰ２００．ＤＬＬが端末２３の指定されたディレクトリにあった場合はＡＮＳ＝ＯＮが送り返されるので、その時点でＲＩＳ＝ＯＫとなる（ＭＡ１）。
【００３１】
このように環境チェックを自動的に行うことにより、ユーザＡの環境に適合しないソフトウェアが配送されるのを防ぐことができる。例えば、あるパッケージソフトウェアを通信回線２２を介して購入した後に、特定のドライバがないとそれが動作しないことを知るといったような事故が未然に防止される。
【００３２】
ＲＩＳ＝ＯＫとなるとホスト計算機２１は環境チェックを終了し、判定結果（ＪＵＤＧＥ＝ＯＫ）とともに、配送先のディレクトリＳＯＵＫＯＤＩＲを端末２３に送る。このＳＯＵＫＯＤＩＲは、ユーザＡ環境ファイルに格納されているＳＯＵＫＯのディレクトリであるＤ：￥ＳＯＵＫＯの下にテトリスの推奨ディレクトリであるＴＥＴをサブディレクトリとして付加した形式で指定される。
【００３３】
このとき同時に、インストールの可否（ＲＩＳ）、インストールプログラム（インストーラ）のアイコン登録の有無（ＩＣＯＮ）、およびダウンロードの可否（ＤＬＯＡＤ）が端末２３に送られる。これらのフラグＲＩＳ、ＩＣＯＮ、ＤＬＯＡＤにより、ホスト計算機２１はインストール、インストーラのアイコン登録、ダウンロードのうちのどれが可能かを端末２３に通知する。
【００３４】
インストールとはユーザＡの選んだソフトウェアを端末２３のシステム、例えばＷＩＮＤＯＷＳに登録して、端末２３上で使用可能にすることを意味する。したがって、この場合はそのソフトウェアの実行ファイルをＷＩＮＤＯＷＳ上でアイコン登録する作業までを含む。これに対して、インストーラのアイコン登録とはインストールを実行するプログラムを端末２３上でアイコン登録することを意味する。
【００３５】
ここでは、インストールとダウンロードが許諾され（ＲＩＳ＝ＯＫ、ＤＬＯＡＤ＝ＯＫ）、インストーラのアイコン登録は行わない（ＩＣＯＮ＝ＮＧ）という条件が提示される。複雑なインストールプログラムを持つソフトウェアの場合には、インストールが許諾される代わりにインストーラのアイコン登録が必要である旨が提示される。また、ＷＩＮＤＯＷＳを搭載している端末からＴＯＳ（ＴＯＷＮＳのＯＳ）用のアプリケーションを要求されたような場合には、ダウンロードのみが許諾される。
【００３６】
次に、端末２３の端末ソフトはインストール、インストーラのアイコン登録、ダウンロードの順に優先順位をつけて、より優先順位の高いものをデフォルトとして設定し、表示装置２４の画面に表示する。ここでは、ホスト計算機２１により許諾されたインストールとダウンロードのうち優先順位のより高いインストールがデフォルトとして設定され、インストール方法選択ウィンドウに表示される。
【００３７】
図３２は、インストール方法選択ウィンドウの表示例を示している。図３２において、「システム登録」がインストールに相当し、これがデフォルトで選択されている。
【００３８】
ユーザＡは表示されたインストール方法を確認して、確認した旨を入力する（ステップＳ１５）。また、ユーザＡはここで表示された設定を変更することもできる。例えば、インストーラのアイコン登録を行いたいときは、図３２のインストール方法選択ウィンドウ内の「インストーラのアイコン登録」を選択して入力する。
【００３９】
基本的には、ユーザＡは手間をかけずにできあいのインストールを行いたい場合は「システム登録」を選択し、細かいインストール設定を自分で行いたい場合は「インストーラのアイコン登録」を選択し、格納場所を後で変更したい（別の機種の端末にインストールしたい）場合は「ダウンロード」を選択する。「ダウンロード」を選択すれば、端末２３の機種とは異なる機種用のソフトウェアを入手して動作するかどうか試してみることも可能になる。
【００４０】
次に、端末２３はホスト計算機２１から指示された宅配用のサブディレクトリＤ：￥ＳＯＵＫＯ￥ＴＥＴを、ハードディスク２５内に自動的に生成する（ステップＳ１６）。ここでもし、端末２３にサブディレクトリＤ：￥ＳＯＵＫＯ￥ＴＥＴが既に存在している場合は、例えばＤ：￥ＳＯＵＫＯ￥ＴＥＴ  ００１というサブディレクトリをつくり、これも既に存在している場合はＤ：￥ＳＯＵＫＯ￥ＴＥＴ  ００２というサブディレクトリをつくる。
【００４１】
テトリスのファイル本体４１はファイルＴＥＴ１．ＬＺＨ（Ｆ１）とＶＢＲＪＰ２００．ＤＬＬ（Ｆ２）とから成り、ＴＥＴ１．ＬＺＨは４つのファイルＴＥＴＲＩＳ．ＥＸＥ、ＴＯＷＮＳ．ＤＲＶ、ＰＣ９８．ＤＲＶ、およびＭＡＣ．ＤＲＣを圧縮してできている。ＴＥＴ１．ＬＺＨを圧縮前の状態に伸長（解凍）するとこれらの４つのファイルに分かれるが、ＴＥＴ１．ＬＺＨの解凍はホスト計算機２１から端末２３に配送された後に行われる。
【００４２】
宅配用のサブディレクトリを生成した端末２３は、リモートインストールの開始を依頼するコマンドＲＩＳ ＩＮＳＴＡＬＬを選択したソフトウェアの番号とともにホスト計算機２１に送る（図３１、ステップＳ１７）。これを受けて、ホスト計算機２１は送られた番号に対応するソフトウェアのリモートインストールを開始する。リモートインストールは、ホスト計算機２１が作成したテトリスのインストールスクリプト４２に従って、ホスト計算機２１と端末２３の間のやりとりにより自動的に行われる（ステップＳ１８）。
【００４３】
インストールスクリプト４２には、まずファイルＴＥＴ１．ＬＺＨをユーザＡ側の格納場所＠ＳＯＵＫＯ＠にダウンロードすることを指示する記述がある。そこで、ホスト計算機２１は＠ＳＯＵＫＯ＠をＳＯＵＫＯＤＩＲ＝Ｄ：￥ＳＯＵＫＯ￥ＴＥＴに置き換えて、ハードディスク２５のサブディレクトリＤ：￥ＳＯＵＫＯ￥ＴＥＴにＴＥＴ１．ＬＺＨをダウンロードする。
【００４４】
端末２３からダウンロードの完了（ＯＫ）を通知されると、次にホスト計算機２１は、＠ＷＩＮＤＩＲ＠をＤ：￥ＷＩＮＤＯＷＳに置き換えて、ハードディスク２５のディレクトリＤ：￥ＷＩＮＤＯＷＳにＶＢＲＪＰ２００．ＤＬＬをダウンロードする。
【００４５】
端末２３からダウンロードの完了（ＯＫ）を通知されると、次にホスト計算機２１は、格納場所＠ＳＯＵＫＯ＠（Ｄ：￥ＳＯＵＫＯ￥ＴＥＴ）にダウンロードしたＴＥＴ１．ＬＺＨを解凍する指示、ＬＨＡ  Ｘ  Ｄ：￥ＳＯＵＫＯ￥ＴＥＴ￥ＴＥＴ１．ＬＺＨを送る。これを受けて、端末２３はＴＥＴ１．ＬＺＨを前述した４つのファイルＴＥＴＲＩＳ．ＥＸＥ、ＴＯＷＮＳ．ＤＲＶ、ＰＣ９８．ＤＲＶ、およびＭＡＣ．ＤＲＣに解凍する。これらの４つのファイルはＴＥＴ１．ＬＺＨと同じサブディレクトリＤ：￥ＳＯＵＫＯ￥ＴＥＴに保持される。
【００４６】
端末２３から解凍の完了（ＯＫ）を通知されると、次にホスト計算機２１は、格納場所＠ＳＯＵＫＯ＠（Ｄ：￥ＳＯＵＫＯ￥ＴＥＴ）の機種＠．ＤＲＶというファイルを格納場所＠ＷＩＮＤＩＲ＠（Ｄ：￥ＷＩＮＤＯＷＳ）に移動させてファイル名をＦＯＮＴ．ＤＲＶに変更する指示、ＭＯＶＥ  Ｄ：￥ＳＯＵＫＯ￥ＴＥＴ￥ＴＯＷＮＳ．ＤＲＶ  Ｄ：￥ＷＩＮＤＯＷＳ￥ＦＯＮＴ．ＤＲＶを送る。このとき、ホスト計算機２１はユーザＡ環境ファイル３９を参照して、機種＠をＴＯＷＮＳに置き換えて送る。これを受けて、端末２３はサブディレクトリＤ：￥ＳＯＵＫＯ￥ＴＥＴのファイルＴＯＷＮＳ．ＤＲＶをディレクトリＤ：￥ＷＩＮＤＯＷＳに移動し（ファイル移動）、ＦＯＮＴ．ＤＲＶというファイル名に変更する（リネーム）。
【００４７】
端末２３からファイル移動およびリネームの完了（ＯＫ）を通知されると、次にホスト計算機２１は、ファイルＴＥＴＲＩＳ．ＥＸＥのアイコン登録を行う指示、ＩＣＯＮ  ＴＥＴＲＩＳ．ＥＸＥを送る。これを受けて、端末２３はサブディレクトリＤ：￥ＳＯＵＫＯ￥ＴＥＴのファイルＴＥＴＲＩＳ．ＥＸＥをアイコン化して端末２３内に登録する。これにより、表示装置２４の画面に表示された倉庫ウィンドウ３６内に、例えばＴＥＴＲＩＳ．ＥＸＥを起動するアイコン３７が表示され、アイコン３７をクリックすればテトリスが動作を開始する。
【００４８】
端末２３からアイコン登録の完了（ＯＫ）を通知されると、ホスト計算機２１はＲＥＴＵＲＮを送り返してリモートインストールの終了を端末２３に通知し、一連のインストール作業を終了する。リモートインストールの終了を通知された端末２３は、ユーザＡの指示に従って次のソフトウェアの選択とそのリモートインストールを行うか、あるいは処理を終了する（ステップＳ１９）。
【００４９】
ステップＳ１８のインストール時に、インストールするソフトウエェアがそのダウンロード先の格納場所の空き容量に比べて大きければ、格納場所を変更してダウンロードする。
【００５０】
次に、図３３から図３８までを参照しながら、リモートインストールのプロトコルの例と第１および第２のキーワードの表示例について説明する。
図３３は、ステップＳ３の端末２３によるホスト計算機２１へのアクセス時に、端末２３が環境情報を送るプロトコルの一例を示している。図３３のプロトコルにおいて、リクエストＩＤ（ＲＩＤ）、端末を特定するマシンＩＤ（ＭＩＤ）、日時（ＴＩＭＥ）に続いて、端末２３に関するマシン情報（ＭＡＣＨＩＮＥ：）が記述されている。
【００５１】
ＭＡＣＨＩＮＥ：の中のドライブ情報（ＤＲＶ：）には、容量やドライブ名等のハードディスク２５に関する情報が記述されている。例えば、ＰＡＲＴＩＮＦ：の中のＣＡＰＡＣＩＴＹはそのパーティションの容量を表し、ＶＡＣＡＮＴはそのうちの空き容量を表し、ＤＲＶＮＡＭＥはそのパーティションに対応するドライブ名を表す。
【００５２】
ＤＲＶ：に続いて、宅配用の格納場所である倉庫ディレクトリＳＯＵＫＯＤＩＲと、ＯＳ（ＷＩＮＤＯＷＳ）の格納場所であるディレクトリＷＩＮＤＩＲが記述されている。ここでは、ＳＯＵＫＯＤＩＲ＝Ｄ：￥ＲＩＳ￥ＳＯＵＫＯであり、ＷＩＮＤＩＲ＝Ｄ：￥ＷＩＮＤＯＷＳである。その次には、メモリに関する情報（ＭＥＭ：）がある。このＳＯＵＫＯＤＩＲを指定することにより、端末２３はホスト計算機２１に宅配先を通知する。
【００５３】
そして、ＭＡＣＨＩＮＥ：に続いて、端末２３のマシンパスワード（ＭＰＳＷＤ）等が記述される。
図３４は、ステップＳ１４の環境チェックの終了時に、ホスト計算機２１がＳＯＵＫＯＤＩＲにサブディレクトリを付加して送り返すプロトコルの一例を示している。図３４のプロトコルにおいて、ＲＩＤ、環境チェックの判定結果（ＪＵＤＧＥ）に続いて、宅配先に関する情報（ＳＴＲＰＬＡＣＥ：）が記述されている。
【００５４】
ＳＴＲＰＬＡＣＥ：の中のＳＯＦＴはステップＳ１２でユーザが選択したソフトウェアの番号を表し、ＷＯＲＫＤＩＲは作業領域を表し、ＳＯＵＫＯＤＩＲはホスト計算機２１が指定した宅配先を表す。ここでは、ＷＯＲＫＤＩＲは図３３のＳＯＵＫＯＤＩＲと同じであり、ＳＯＵＫＯＤＩＲは図３３のＳＯＵＫＯＤＩＲにサブディレクトリ名ＦＭを付加した形になっている。
【００５５】
ＳＴＲＰＬＡＣＥ：に続いて、作業領域のサイズＷＯＲＫＳＩＺおよび宅配先のサイズＳＯＵＫＯＳＩＺが記述されている。
図３５は、ステップＳ４からＳ９において、ホスト計算機２１が第１および第２キーリストを端末２３に送り、ユーザＡの選択したキーワードのキー番号を端末２３が送り返すプロトコルの一例を示している。図３５のプロトコルにおいて、端末２３がコマンドＲＩＳ ＫＥＹＬＩＳＴにより第１キーリストを要求すると、ホスト計算機２１がレスポンスとしてＲＩＳ ＫＥＹＬＩＳＴ＊ＲＥＳＰとともに第１キーテーブルの内容ＫＥＹＬＩＳＴ：を送り返す。このＫＥＹＬＩＳＴ：内には、キー番号ＫＥＹ＝１、２、３、・・・に対応してキーワードＮＡＭＥ＝”ＯＳ／基本ソフト”、”開発支援”、”ゲーム”、・・・が記述されている。
【００５６】
次に、端末２３がコマンドＲＩＳ ＫＥＹＬＩＳＴとともに、ユーザＡの選択した第１キーワード”ゲーム”のキー番号３を送ると、ホスト計算機２１がレスポンスとしてＲＩＳ ＫＥＹＬＩＳＴ＊ＲＥＳＰとともに、キー番号３に対応する第２キーテーブルの内容ＫＥＹＬＩＳＴ：を送り返す。このＫＥＹＬＩＳＴ：内には、キー番号ＫＥＹ＝５１、５２、５３、５４、５５、・・・に対応してキーワードＮＡＭＥ＝”ＲＰＧ”、”アクション”、”パズル／クイズ”、”シミュレート”、”冗談”、・・・が記述されている。
【００５７】
そして、端末２３はコマンドＲＩＳ ＬＩＳＴとともに、ユーザＡの選択した第２キーワード”アクション”および”冗談”のキー番号５２および５５をホスト計算機２１に送り、３つのキー番号３、５２、５５を持つソフトウェアのリストを要求する。ここでは、既におくった第１キーワードのキー番号３はホスト計算機２１が記憶しているので、第２キーワードのキー番号５２および５５のみが送られる。
【００５８】
図３６は、第１および第２キーワードの表示例を示している。図３６における第１および第２キーワードは図３５のそれらとは異なっている。ユーザＡが見ている表示装置２４の画面には、例えば画像、ゲーム等の第１キーワードが表示され、ユーザＡが第１キーワードを選択すると、次にツール、テキスト、ＤＯＳ、ＷＩＮ、画像、音声、ゲーム等の第２キーワードが表示される。第２キーワードの中には、画像、ゲームのように第１キーワードと重複するものも含まれる。
【００５９】
ユーザＡは、表示されたいずれのキーワードも選択することができる。例えば、第１キーワードとして画像を選び、第２キーワードとしてツール、ＤＯＳ、ゲーム等を選んだり、あるいは第１キーワードとしてゲームを選び、第２キーワードとしてＤＯＳ、ＷＩＮ、画像、音声等を選ぶ。また、ユーザＡは第２キーワードとして２つ以上のキーワードを同時に選択することもできる。
【００６０】
一般に、ソフトウェア群３５の中から希望するソフトウェアを選択するためのキーワードは多数あるので、これらを一度に全部表示すると見づらく、まったく必要のないものも表示される。そこで、これを単純なツリー構造のメニューにして表示すると、最初に選択するキーワードが重要な役割を果たし、そこで選択を誤ると欲しいソフトウェアは得られなくなってしまう。
【００６１】
そこで、図３６のように重複を許して２つの階層でキーワードを表示することにより、ユーザは多数のキーワードの中から必要なものをより柔軟に選びだすことが可能になる。尚、キーワードの階層は２階層に限らず、より多くの階層に分けて表示してもよい。
【００６２】
ソフトウェア群３５の各ソフトウェアのコンテンツは、あらかじめいくつかのキーワードと関係付けられて格納されている。例えば図３６において、ソフトＡはゲーム、画像、ＤＯＳの３つのキーワードを持ち、ソフトＢは画像、ツール、ＷＩＮ、ゲームの４つのキーワードを持つ。したがって、ユーザＡが画像とゲームの２つのキーワードを選択すると、これらの２つのソフトウェアを含むリストがホスト計算機２１から送られてきて画面に表示される。
【００６３】
図３７は、ステップＳ３のホストアクセス時において、端末２３からホスト計算機２１へ送られる環境情報の送信プロトコルの他の例を示している。図３７のプロトコルにおいて、マシン情報ＭＡＣＨＩＮＥ：の中のＭＯＤＥＬは、ステップＳ１において端末ソフトのインストール時に取得した情報で、端末２３の機種ＴＯＷＮＳを表す。また、ＰＡＲＴＩＮＦ：の中のＶＡＣＡＮＴは、ステップＳ３のホスト計算機２１へのアクセスの前（ステップＳ２）に取得した情報で、対応するパーティションの空き容量を表す。
【００６４】
図３８は、ステップＳ１４における環境チェックとその後のステップＳ１７におけるインストール開始のプロトコルの一例を示している。図３８のプロトコルにおいて、まず端末２３はコマンドＲＩＳ ＣＨＫＥＮＶとともにユーザＡの選んだソフトウェアの番号（ソフトコード）ＳＯＦＴ＝５をホスト計算機
２１に送り、環境チェックを要求する。
【００６５】
ホスト計算機２１は、まずＶＢＲＪＰ２００．ＤＬＬというファイルが端末２３のシステムディレクトリにあるかどうか調査するための指示ＣＨＫＥＸＥ：を、レスポンスＲＩＳ ＣＨＫＥＮＶ＊ＲＥＳＰとともに端末２３に送る。ＣＨＫＥＸＥ：には、ＴＡＧ＝”ＶＢＲＪＰ２００．ＤＬＬ”、コマンドＣＭＤ＝”ＳＴ４  Ｄ：￥ＷＩＮＤＯＷＳ￥ＳＹＳＴＥＭ￥ＶＢＲＪＰ２００．ＤＬＬ”、作業用ディレクトリの指定ＷＯＲＫＤＩＲ＝”Ｄ：￥ＲＩＳ￥ＫＯＢＵＴＡ”、宅配先のディレクトリの指定ＳＯＵＫＯＤＩＲ＝”Ｄ：￥ＲＩＳ￥ＫＯＢＵＴＡ”等が記述されている。
【００６６】
端末２３は、ドライブＤのディレクトリＷＩＮＤＯＷＳ￥ＳＹＳＴＥＭにファイルＶＢＲＪＰ２００．ＤＬＬがあるかどうか調べ、その結果をＲＥＳＵＬＴ：としてホスト計算機２１に送り返す。ＲＥＳＵＬＴ：には、対応するＴＡＧ＝”ＶＢＲＪＰ２００．ＤＬＬ”とともに調査結果ＶＡＬ＝”ＯＦＦ”が記述されている。これは、ファイルＶＢＲＪＰ２００．ＤＬＬがシステムディレクトリになかったことを意味する。
【００６７】
そこで、ホスト計算機２１は、選択されたソフトウェアをインストールしてよいかどうかをユーザに問い合わせる指示ＡＳＫＣＨＫ：を、レスポンスＲＩＳ ＣＨＫＥＮＶ＊ＲＥＳＰとともに端末２３に送る。ＡＳＫＣＨＫ：には、ＴＡＧ＝”Ｑ１”、表示すべき質問文ＱＵＥＲＹ＝”このソフトを実行するためには〜インストールしてもよろしいですか？”、および回答のフォーマットＡＮＳ：が記述されている。
【００６８】
端末２３は、ユーザＡが入力した回答をＲＥＳＵＬＴ：として、コマンドＲＩＳ ＣＨＫＥＮＶとともにホスト計算機２１に送り返す。ＲＥＳＵＬＴ：には、対応するＴＡＧ＝”Ｑ１”とともに回答結果ＶＡＬ＝”ＯＫ”が記述されている。これは、ソフトウェアをインストールしてもよいという意味である。
【００６９】
そこで、ホスト計算機２１は、他に動作環境上の障害がなければ、レスポンスＲＩＳ ＣＨＫＥＮＶ＊ＲＥＳＰとともに環境チェック結果ＪＵＤＧＥ＝”ＯＫ”を端末２３に送る。これは、ファイルＶＢＲＪＰ２００．ＤＬＬがないことを除いて、ソフトコード５番のソフトウェアの動作環境が整っており、インストールが可能であることを意味する。
【００７０】
環境チェックの結果が”ＯＫ”となったので、端末２３はコマンドＲＩＳ ＩＮＳＴＡＬＬとともに、インストール方法の種別ＴＹＰＥ＝”ＲＩＳ”、宅配先の指定ＳＴＲＰＬＡＣＥ：等をホスト計算機２１に送り、インストールを要求する。ＳＴＲＰＬＡＣＥ：には、インストールするソフトウェアのソフトコードＳＯＦＴとともに、作業用ディレクトリＷＯＲＫＤＩＲ、宅配先のディレクトリＳＯＵＫＯＤＩＲが記述されている。
【００７１】
以後、ホスト計算機２１は指定された方法でソフトウェアのインストールを行う。インストールの際には、例えば図３１のステップＳ１８で説明したようにホスト計算機２１から送られるコマンドにより、端末２３がファイルを解凍して、コピーして、システムに登録するという逐次作業を行う。これらの作業が完了したかどうかは、端末２３がレスポンスとして逐次送り返すので、ホスト計算機２１はインストール作業の進行状況を最後まで監視することができる。
【００７２】
しかしこの方法では、端末２３が頻繁にホスト計算機２１との通信を行わなければならないので、通信の効率が悪くなる。そこで、ホスト計算機２１がインストール作業のコマンドを記述した設定ファイルを用意し、これを端末２３に渡して自動インストールを行わせる方法が考えられる。
【００７３】
図３９は、設定ファイルを用いた自動インストールのフローチャートである。図３９のインストール作業は、図３０のステップＳ１６におけるサブディレクトリの生成の後に行われる。
【００７４】
端末２３は、まずコマンドＲＩＳ ＩＮＳＴＡＬＬをソフトウェアの番号とともにホスト計算機２１に送る（ステップＳ２１）。これを受けて、ホスト計算機２１は送られた番号に対応するソフトウェアのリモートインストールを開始する。リモートインストールは、ホスト計算機２１が作成したテトリスのインストールスクリプト４３に従って、ホスト計算機２１と端末２３の間のやりとりにより自動的に行われる（ステップＳ２２）。
【００７５】
ホスト計算機２１は、まず＠ＳＯＵＫＯ＠をＳＯＵＫＯＤＩＲ＝Ｄ：￥ＳＯＵＫＯ￥ＴＥＴに置き換えて、ハードディスク２５のサブディレクトリＤ：￥ＳＯＵＫＯ￥ＴＥＴにファイルＴＥＴ１．ＬＺＨをダウンロードする。
【００７６】
端末２３からダウンロードの完了（ＯＫ）を通知されると、次にホスト計算機２１は、＠ＷＩＮＤＩＲ＠をＤ：￥ＷＩＮＤＯＷＳに置き換えて、ハードディスク２５のディレクトリＤ：￥ＷＩＮＤＯＷＳにＶＢＲＪＰ２００．ＤＬＬをダウンロードする。
【００７７】
端末２３からダウンロードの完了（ＯＫ）を通知されると、次にホスト計算機２１は、＠ＳＯＵＫＯ＠をＳＯＵＫＯ＝Ｄ：￥ＳＯＵＫＯに置き換えて、端末２３が行うべき作業のコマンドを記述したユーザＡ用設定ファイル４４（ＳＥＴＵＰ．ＩＮＦ）を、ハードディスク２５のディレクトリＤ：￥ＳＯＵＫＯにダウンロードする。このとき、ホスト計算機２１はステップＳ１８と同様にユーザＡ環境ファイル３９を参照して、設定ファイルＳＥＴＵＰ．ＩＮＦに含まれる機種、ＳＯＵＫＯ、ＷＩＮＤＩＲ等の情報をユーザＡ用の情報に書き換えて送る。設定ファイルＳＥＴＵＰ．ＩＮＦには、ファイルＴＥＴ１．ＬＺＨを解凍し、ファイルＴＯＷＮＳ．ＤＲＶを移動してリネームし、ファイルＴＥＴＲＩＳ．ＥＸＥをシステムに登録する一連の作業が記述されている。
【００７８】
端末２３からダウンロードの完了（ＯＫ）を通知されると、次にホスト計算機２１は、設定ファイルＳＥＴＵＰ．ＩＮＦの記述に従って自動インストールを行う指示ＩＮＳＴＡＬＬ  Ｄ：￥ＳＯＵＫＯ￥ＳＥＴＵＰ．ＩＮＦを端末２３に送る。
【００７９】
これを受けて端末２３は、設定ファイルＳＥＴＵＰ．ＩＮＦの記述に従って自動インストールを行う。端末２３は、まずコマンドＬＯＧ  ＯＦＦによりホスト計算機２１との間の回線を遮断する。これ以降は、通信回線２２を使用しないので通信料金もかからない。次に、コマンドＬＨＡ  Ｘ  Ｄ：￥ＳＯＵＫＯ￥ＴＥＴ￥ＴＥＴ１．ＬＺＨにより、ファイルＴＥＴ１．ＬＺＨを前述した４つのファイルＴＥＴＲＩＳ．ＥＸＥ、ＴＯＷＮＳ．ＤＲＶ、ＰＣ９８．ＤＲＶ、およびＭＡＣ．ＤＲＣに解凍する。
【００８０】
次に、端末２３はコマンドＭＯＶＥ  Ｄ：￥ＳＯＵＫＯ￥ＴＥＴ￥ＴＯＷＮＳ．ＤＲＶ  Ｄ：￥ＷＩＮＤＯＷＳ￥ＦＯＮＴ．ＤＲＶにより、ファイルＴＯＷＮＳ．ＤＲＶをディレクトリＤ：￥ＳＯＵＫＯ￥ＴＥＴからＤ：￥ＷＩＮＤＯＷＳに移動させて、そのファイル名をＦＯＮＴ．ＤＲＶに変更する。次に、コマンドＩＣＯＮ  ＴＥＴＲＩＳ．ＥＸＥにより、ファイルＴＥＴＲＩＳ．ＥＸＥをアイコン化して端末２３内に登録する。そして、コマンドＰＯＦＦにより電源をオフにし、インストール作業を終了する。
【００８１】
設定ファイルを用いた自動インストールでは、ホスト計算機２１が作業終了の最終確認をすることはできないが、通信回数を削減することにより通信回線２２の使用効率を高めることができる。また、ソフトウェアの購入前に機種等のインストール条件を解決して、後は自動的にインストールが行われる。
【００８２】
図４０は、他の形式の設定ファイルの一例を示している。図４０の設定ファイルにおいて、〔ＤｓｔＤｉｒｓ〕はファイルの格納先のリストであり、〔Ｆｉｌｅｓ〕は格納すべきファイルのリストである。ここでは、ユーザが希望するソフトウェアの実行ファイルＳｏｆｔ２．ＥｘｅをディレクトリＤ：￥ＲＩＳ￥ＫＯＢＵＴＡに格納し、ＴＯＷＮＳ用のドライバであるＴＯＷＮＳ．ＤＲＶの名称をＦＯＮＴ．ＤＲＶに変更してディレクトリＤ：￥ＷＩＮＤＯＷＳ￥ＳＹＳＴＥＭに格納することが記述されている。
【００８３】
設定ファイルの生成時には、〔ＤｓｔＤｉｒｓ〕は１＝ＳＯＵＫＯＤＩＲ、２＝ＷＩＮＤＩＲと記述されるが、ホスト計算機２１が実際のＳＯＵＫＯＤＩＲ、ＷＩＮＤＩＲの情報を得た時点で、１＝Ｄ：￥ＲＩＳ￥ＫＯＢＵＴＡ、２＝Ｄ：￥ＷＩＮＤＯＷＳ￥ＳＹＳＴＥＭと書き換えられる。このように、設定ファイルの中の設定条件は動的または選択的に変更することができる。
【００８４】
以上説明したように、先願によれば、配送センターから通信回線を介して、ユーザの希望するソフトウェアをその端末装置に自動的にインストールすることが可能になる。これを利用して、通信回線を介してソフトウェアをユーザに販売することも可能になる。
【００８５】
このとき、配送されたソフトウェアは専用のディレクトリに格納されるので保守性が良く、またユーザは配送先のディレクトリ等を指定する文字列を入力する必要がない。
【００８６】
ユーザは端末装置の画面上で希望するソフトウェアを効率よく選びだすことができ、そのインストールの方法も選択することができる。また、ユーザがソフトウェアの動作環境をチェックする必要がなく、自動的に環境チェックが行われる。
【００８７】
さらに、ソフトウェアのインストール時に通信回線の使用をできるだけ少なくすることができる。
【００８８】
【発明が解決しようとする課題】
しかしながら、上述のリモートインストールシステムには次のような問題がある。
【００８９】
現在、パソコン通信で流通しているソフトウェアには、様々な種類のものがある。例えば、フリーウェアと呼ばれるものは基本的に無料で配布され、シェアウェアと呼ばれるものは機能制限付きで一旦無料で送付された後、所定の代金が送金されれば機能制限が解除されることになっている。また、商品として販売されているものは、基本的に代金と引き換えに送付される。
【００９０】
配送センターがリモートインストールの機能を利用して、ソフトウェアをユーザに販売するサービスを行う場合、このような多様な販売形態に対応して、代金を確実に受け取ることを保証する機構が必要になる。特にシェアウェアの場合に、代金の受け取りと機能制限の解除をどのようにして処理するかが問題となる。
【００９１】
本発明は、通信回線を介してソフトウェアを販売するサービスにおいて、配送したソフトウェアの代金を自動的に決裁するソフトウェア代金決裁システムとその方法を提供することを目的とする。
【００９２】
【課題を解決するための手段】
図１は、本発明のソフトウェア代金決裁システムの原理図である。図１のソフトウェア代金決裁システムは、ユーザの端末装置に通信ネットワークを介してソフトウェアを配送する情報処理システムに設けられ、ソフトウェア情報記憶手段５１、価格情報記憶手段５２、処理手段５３、および課金手段５４を備える。
【００９３】
ソフトウェア情報記憶手段５１は、登録ソフトウェアの本体ファイルと管理情報とを含むソフトウェア情報を記憶する。
価格情報記憶手段５２は、上記登録ソフトウェアの販売形態および価格に関する価格情報を記憶する。
【００９４】
処理手段５３は、第１のユーザから上記登録ソフトウェアの配送要求を受け取った時、価格情報記憶手段５２に記憶された上記価格情報に基づいてその登録ソフトウェアの価格を決定し、上記販売形態に応じた配送処理を行う。
【００９５】
上記価格情報には、フリーウェア、シェアウェア等の登録ソフトウェアの販売形態とその価格とが記述され、処理手段５３はこの価格情報を参照して、配送要求を受けたソフトウェアの価格を決定し、適当な配送処理を行うことができる。例えば、登録ソフトウェアがフリーウェアの場合は第１のユーザの端末に無料でインストールし、商品の場合は指定された代金と引き換えにインストールする。また、シェアウェアの場合は、所定の代金と引き換えに機能制限の解除に必要な処理を行う。こうして、ソフトウェアの代金が自動的に決裁される。
【００９６】
処理手段５３は、上記ソフトウェア情報および価格情報を、例えばソフトウェアの登録を行う第２のユーザの端末からあらかじめネットワークを介して受け取り、それぞれソフトウェア情報記憶手段５１および価格情報記憶手段５２に登録しておく。
【００９７】
また、課金手段５４は、処理手段５３が決定した代金を上記第１のユーザに対して自動的に課金する。これにより、配送センターまたは第２のユーザが有料ソフトウェアの代金を確実に受け取ることが可能になる。
【００９８】
例えば、図１のソフトウェア情報記憶手段５１および価格情報記憶手段５２は、実施形態の図２におけるホスト計算機６３に付随する記憶装置に対応し、処理手段５３および課金手段５４は、ホスト計算機６３のＣＰＵ（中央処理装置）に対応する。
【００９９】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態を詳細に説明する。
図２は、実施形態のリモートインストールシステムの構成図である。図２のシステムにおいては、Ｎ個の端末６１−１、・・・、６１−Ｎが通信ネットワーク６２を介してホスト計算機６３と結合している。端末６１−１、・・・、６１−Ｎは、サービスの対象となる各ユーザの端末装置であり、ホスト計算機６３は配送センター側にある。ホスト計算機６３は、ネットワーク６２から見れば一台に見えるが、実際には、複数の計算機による分散処理も可能である。  まず、ネットワーク６２を介してホスト計算機６３にソフトウェア（コンテンツ）を登録する方法について説明する。ソフトウェアの作者は、作成した本体ファイルとともに登録に必要な情報をアップロードする必要があるが、このとき、アップロードする情報を標準化しておく。ソフトウェア情報をアップロードする具体的な方法としては、標準化され、いくつかに分類された情報に、その内容を示すＴＡＧを付けて送るようにする。情報を標準化することによって、登録作業やチェック作業の自動化が可能となる。また、情報を分割してアップロードすることにより、バグの発見時に必要な部分だけを再送し、再度のアップロードに要する時間を短縮することができる。アップロード情報は、大きく分類して次の５種類となる。
［１］ＣＦＧファイル（コンフィギュレーションファイル）：ソフトウェアをシステムに登録するための基礎情報（必須の情報）で、次のものを含む。
○データベースに登録するための情報
コンテンツ名称
コンテンツの前バージョン、現バージョン（必須ではない）
販売形態（フリーウェア／シェアウェア／市販品）
価格
動作可能なハードウェア
動作可能なＯＳ
検索キーワード
○インストールの本処理の情報
コンテンツ本体の圧縮方法
インストールの方法
○インストール時の前処理と後処理の情報
前処理の有無と方法
後処理の有無と方法
［２］説明ファイル：ソフトウェアの概要を書いた説明（必須の情報）
［３］本体ファイル：実行に必要なファイルを圧縮して１つにまとめたもの（必須の情報）
［４］ＣＨＫファイル（チェックファイル）：ソフトウェアが動作する環境条件を調査してリモートインストールを修飾するために、特別な言語で書かれたファイルで、環境依存性のあるソフトウェアのみ必要となる。よく使われるものはシステムで提供するが、特殊なものはオプションとしてユーザが作成する。ＣＨＫファイルには、例えば次のような情報が含まれる。
【０１００】
ＣＨＫＥＸＥ：オプションで行われる環境チェックのための実行プログラム
ＶＥＲＳＩＯＮ：ＤＬＬ（dynamic link library）のバージョン情報のチェックをオプションで行う必要がある場合に作成される。
【０１０１】
図３０のチェックスクリプト４０のような情報をＣＨＫファイルに記述しておくこともできる。
［５］インストール関連ファイル：リモートインストールの実際の手順を書いたもので、次のような情報が含まれる。
【０１０２】
ＩＮＳＴＡＬＬ：実際のインストールの手順書（手順を標準化した場合は不要）
標準化したインストール処理は以下のようになり、大半のソフトウェアはこの範囲内でインストール可能である。
【０１０３】
１．指定されていれば、前処理を行う。
２．圧縮された本体を端末のワーク領域にダウンロードする。
３．本体を展開して、適当なディレクトリにファイルをコピーする。
【０１０４】
４．指定があれば、ファイル属性を変更する。
５．指定があれば、メニューやアイコン登録を行う。
６．指定があれば、後処理を行う。
【０１０５】
ＩＣＯＮ：メニューとかマネージャといわれるものに、ソフトウェアを登録するための情報
ＦＩＲＳＴ：ＩＮＳＴＡＬＬを標準化した場合に、標準インストール処理の前に行う前処理で、例えば、バージョンアップ処理においては旧版のバックアップ処理等を指す。
【０１０６】
ＬＡＳＴ：ＩＮＳＴＡＬＬを標準化した場合に、標準インストールの後に行う後処理で、例えば、環境変数ファイルＣＯＮＦＩＧ．ＳＹＳの書換え処理等を指す。
次に、図３から図１０までを参照しながら、ファイルの具体例について説明する。図３から図６まではＣＦＧファイルの例を示しており、図７、８、９、１０は、それぞれ説明ファイル、本体ファイル、ＣＨＫファイル、およびインストール関連ファイルの例を示している。
【０１０７】
図３、４、５、６のＣＦＧファイルにおいて、；で始まる行はコメント文であることを表す。図３の［ｎａｍｅ］はソフト検索用名称を表し、［ｖｅｒｓｉｏｎ］はそのバージョンを表し、［ｏｌｄｖｅｒｓｉｏｎ］はその旧バージョンを表す。また、［ｔｙｐｅ］は販売形態を表し、［ｐｒｉｃｅ］は価格を表す。ここでは、［ｔｙｐｅ］はＳＨＡＲＥとなっており、シェアウェアであることを示している。［ｍａｃｈｉｎｅ］は動作可能なハードウェアを表し、ここではＴＯＷＮＳ、ＦＭＲ、ＰＣ９８、ＰＣ−ＡＴの４機種が挙げられている。
【０１０８】
図４において、［ｏｓ］は動作可能なＯＳを表し、ここではＷＩＮ３１Ｊのみが挙げられている。［ｋｅｙ］は検索用のキーワードを表し、ここでは”中国語”がキーワードとして記されている。［ｃｏｍｐｒｅｓｓｉｏｎ］は本体の圧縮形式を表し、ここではＬＨＡ方式と記されている。また、［ｉｎｓｔｙｐｅ］は可能なリモートインストールの方法を表している。「ＲＩＳ      ｉｃｏｎ．ｄｅｆ」は、通常のリモートインストールを行ってアイコンファイルｉｃｏｎ．ｄｅｆに登録する方法を表し、「ＩＮＳＴＡＬＬＥＲ      ｉｃｏｎ２．ｄｅｆ」は、インストーラ（ＩＮＳＴＡＬＬ．ＥＸＥ）自体をアイコン登録する方法を表し、「ＤＬＯＡＤ」はダウンロードする方法を表す。ここでは、これらの方法のいずれもが可能となっている。
【０１０９】
図５において、［ｓｏｕｋｏ］はインストール時にソフトウェアを格納する推奨ディレクトリを表し、ここではＰ１とＰ２の２つのディレクトリが記されている。
【０１１０】
［ｓｏｕｒｃｅ］は圧縮された本体ファイル（アーカイブファイル）の情報を表し、ここではＳ１とＳ２の２つのアーカイブファイルの情報が記されている。
Ｓ１のファイル名はＮＥＷＷＰ．ＬＺＨで、展開後（解凍後）の格納ディレクトリは＠Ｐ１＠、展開時のモードはＭ、ファイル容量は８０００００バイト、展開後の最低必要容量は２００００００バイトである。また、Ｓ２のファイル名はＮＥＷＷＰＬＩＢ．ＬＺＨで、展開後の格納ディレクトリは＠Ｐ２＠、展開時のモードはＦ、ファイル容量は７０００バイト、展開後の最低必要容量は１３０００バイト、重複チェックの対象ファイル名はＧＳＷＤＬＬ．ＤＬＬである。
【０１１１】
ここで、モードＭが指定されていれば、端末側で展開先ディレクトリを変更することができ、モードＦが指定されていれば変更不可能である。また、ＧＳＷＤＬＬ．ＤＬＬは、アーカイブファイルＮＥＷＷＰＬＩＢ．ＬＺＨの中に圧縮格納されているファイルの１つで、端末上でファイル名の重複がないかどうかをチェックするために記されている。
【０１１２】
［ｄｅｓｔｉｎａｔｉｏｎ］は特殊な展開先ディレクトリを表し、ここではＤ１として＠ＷＩＮＳＹＳＴＥＭ＠が記されている。また、［ｃｏｐｙ］はインストール時に移動させるべきファイル等の情報を表し、ここでは、Ｃ１として、Ｓ２で指定したアーカイブファイルに含まれるファイルＧＳＷＤＬＬ．ＤＬＬを、Ｄ１で指定したディレクトリに同じファイル名で移動することが記されている。
Ａｔｔｒの欄のＮは、移動後も属性が不変であることを表す。
【０１１３】
図６において、［ｆｉｒｓｔ］は前処理の情報を表し、インストールの際にアーカイブファイルのダウンロード前に実行しておきたいコマンドが記される。［ｌａｓｔ］は後処理の情報を表し、インストールの際にアイコン登録コマンド実行後に実行したいコマンドが記される。
【０１１４】
図７の説明ファイルは、図３から図６までのＣＦＧファイルに記述された新ワープロ−Ａ２というソフトウェアの概要をユーザに説明するための情報であり、図８の本体ファイルは、そのアーカイブファイルを示している。アーカイブファイルＮＥＷＷＰ．ＬＺＨは、３つのファイルＷＰ．ＥＸＥ、ＮＥＷＷＰ．ＩＣＯ、ＲＥＡＤＭＥ．ＤＯＣを含んでおり、アーカイブファイルＮＥＷＷＰＬＩＢ．ＬＺＨは１つのファイルＧＳＷＤＬＬ．ＤＬＬのみを含んでいることが分かる。
【０１１５】
図９のＣＨＫファイルは、インストール時の環境チェックのチェックスクリプトに対応する。ここでは、ＷＰ．ＥＸＥというファイルがユーザの端末にあるかどうかのチェックと、もしあれば、それが最新のバージョンかどうかのチェックと、それぞれのチェック結果に応じた処理とが記述されている。
【０１１６】
図１０は、インストール関連ファイルの一種であるＩＣＯＮファイルを示している。図１０のＩＣＯＮファイルには、新ワープロ−Ａ２の実行ファイル、カレント・ワーキング・ディレクトリ、アイコン登録用のファイル等の情報が記述されている。このＩＣＯＮファイルは、リモートインストール時のシステム登録の際に使用される。
【０１１７】
このようなＣＦＧファイル、説明ファイル、本体ファイル、ＣＨＫファイル、およびインストール関連ファイルを、端末からホスト計算機６３にアップロードすることにより、新ワープロ−Ａ２が自動的に登録される。登録されたソフトウェアは、ユーザからの要求に応じて有償または無償で端末に配送される。
【０１１８】
ところで、リモートインストールシステムによりソフトウェアを販売する場合、ソフトウェアの種類やユーザの過去の購入履歴等に応じて、課金のための特別な手続きや価格の変更が必要になることがある。そこで、宅配するソフトウェアの種類に応じた課金を行うために、さらに課金に関する手続きを定義したファイルをソフトウェア登録時にアップロードしておく。
【０１１９】
図１１は、端末６１−ｉ（ｉ＝１，２，．．．，Ｎ）上で作成されるファイル群の例を示している。図１１においては、メモリ７１内で、ＣＦＧファイル７２、説明ファイル７３、本体ファイル７４、ＣＨＫファイル７５、インストール関連ファイル７６に加えて、定義ファイル７７および書換えファイル７８が作成される。そして、これらのファイル群がホスト計算機６３にアップロードされる。
【０１２０】
ここで、シェアウェアソフトの作者がそれをホスト計算機６３に登録する場合を考える。シェアウェアの場合には、作者は、シェアウェアの送金手続き等を定義ファイル７７に記述しておく。定義ファイル７７には、ソフトウェア名、ソフトコード、送金先、送金金額、送金のタイプ、ユーザシステムのアップデートの方法が記述される。
【０１２１】
図１２は、シェアウェア用の定義ファイル７７の例を示している。図１２の定義ファイルＡＡＡＳ．ＣＦＧにおいて、［ｎａｍｅ］はシェアウェア「ＡＡＡスケジューラ」の名称を表し、［ｔｙｐｅ］には送金手続きが記述されている。ここでは、ソフトコード５５５に対する送金先のＩＤとして、ＦＪＯＫＩが記されている。ＡＡＡは指定追番のラベルを表し、ここでは「ＡＡＡスケジューラ」を意味している。［ｐｒｉｃｅ］は価格を表し、［ｍａｃｈｉｎｅ］と［ｏｓ］は、それぞれ動作可能な機種とＯＳを表し、［ｋｅｙ］は検索用のキーワードを表す。
【０１２２】
［ｉｎｓｔｙｐｅ］には送金のタイプが記述され、ここでは、送金依頼されればその場で機能制限を解除する処理が記されている。また、［ｌａｓｔ］にはインストールの後処理として、ユーザファイルのアップデート処理が記述される。ここでは、コマンドＣＨＧＩＮＩを用いて、ファイルＩＮＩ．ＤＥＦに記述されている内容に従いユーザのファイルを書き換える処理が記されている。
【０１２３】
尚、通常のソフトウェアとシェアウェアとの送金手続きの違いは、［ｔｙｐｅ］のセクションで識別される。
ＣＨＫファイル７５は、送金手続きに関するオプションファイルの１つとしても使用され、インストール時にユーザとホスト計算機６３がインタラクティブにやりとりする内容が記述される。図１３は、このようなＣＨＫファイル７５の例を示している。図１３のＣＨＫファイルＡＡＡＳ．ＣＨＫには、ファイルＡＡＡ．ＩＮＩがユーザシステムにあるかどうかを調べて、その格納場所をユーザに確認する処理が記述されている。ＡＡＡ．ＩＮＩはシェアウェアの機能を設定するためのファイルで、その［ＵｓｅｒＩｎｆｏ］のセクションに正しい情報を書込まないと、シェアウェアは完全には動作しない。
【０１２４】
書換えファイル７８は、ユーザシステムの書換え方法を定義するオプションファイルである。図１４は、書換えファイル７８の例を示している。図１４の書換えファイルＩＮＩ．ＤＥＦには、ユーザシステムのファイルＡＡＡ．ＩＮＩの中の［ＵｓｅｒＩｎｆｏ］のセクションのＬｉｃｅｎｃｅの値をＡＡ１２３ＡＡＡに書換える処理が記述されている。Ｌｉｃｅｎｃｅ＝ＡＡ１２３ＡＡＡは、シェアウェアの機能制限を解除する暗号コードの役割を果たす。
【０１２５】
図１５は、図１１に示したファイル群のアップロード処理の例を示している。図１５において、シェアウェアの作者は、まず本体登録ファイルとして、ＣＦＧファイル７２（ＡＡＡ．ＣＦＧ）、説明ファイル７３（ＡＡＡ．ＴＸＴ）、インストール関連ファイル７６（ここではアイコンファイルＩＣＯＮ．ＤＥＦ）、および本体ファイル７４（ＡＡＡ．ＬＺＨ）を自分の端末からアップロードする。ホスト計算機６３は、これらのアップロード情報をコンテンツデータベース８１に登録する。ここでは、アップロードされたソフトウェア「ＡＡＡスケジューラ」のソフトコード、名称、タイプ（ＴＹＰＥ）、本体ファイル名、説明ファイル名、アイコンファイル名等が管理情報として登録されている。タイプの欄のＳＨＡＲＥはソフトウェアの種類がシェアウェアであることを表す。コンテンツデータベース８１は、例えば、ホスト計算機６３内または外部のディスク装置内に設けられる。
【０１２６】
次に、作者は送金手続きファイルとして、定義ファイル７７（ＡＡＡＳ．ＣＦＧ）、ＣＨＫファイル７５（ＡＡＡＳ．ＣＨＫ）、および書換えファイル７８（ＩＮＩ．ＤＥＦ）をアップロードする。これにより、送金手続きファイルＡＡＡＳのソフトコード、名称、タイプ、ＣＨＫファイル名、後処理用のファイル名等がコンテンツデータベース８１に登録される。後処理用のファイルとして、ここでは、書換えファイル７８のファイル名ＩＮＩ．ＤＥＦが記されている。また、タイプの欄のＳＯＫＩＮ＃ＲＩＳは、ソフトウェアの種類がシェアウェアの送金手続きファイルであることを表し、ＡＡＡＳ．ＣＦＧの［ｉｎｓｔｙｐｅ］の情報に対応している。
【０１２７】
次に、図１６から図２０までを参照しながら、アップロードされたファイル群を用いたシェアウェアの送金手続きについて説明する。シェアウェア手続きにおいては、先願のリモートインストールの手続きに加えて、プロトコル上に送金フラグを設ける。そして、端末からこのフラグを立ててソフトウェアの検索を要求することにより、シェアウェア手続きを選択できるようにする。また、端末の画面に送金フラグをＯＮ／ＯＦＦするメニューを表示させる。
【０１２８】
図１６、１７、１８、１９は、シェアウェア「ＡＡＡスケジューラ」の送金手続きを示している。ただし、送金手続きの前に、シェアウェア「ＡＡＡスケジューラ」は機能制限付きでユーザシステムにインストールされているものとする。ユーザがこのソフトウェアを購入しようとした時は、ホスト計算機６３と端末の間で図示のようなコマンド／レスポンスのやりとりを行う。
【０１２９】
図１６において、端末は、まずユーザ環境をホスト計算機６３に送信し（ステップＳ３１）、ホスト計算機６３はこれを受信すると応答を返す（ステップＳ３２）。次に、ユーザがソフトウェア検索用のキーワードリストを要求すると（ステップＳ３３）、ホスト計算機６３はキーワードリストを返送する（ステップＳ３４）。
【０１３０】
このとき、図１７に示すように、端末の画面上にはオプション手続きのメニュー８２が表示され、ユーザはその中から「送金」を指定し、キーワードリストの中からキーワードを選択する。これにより、送金フラグＳＯＫＩＮが立てられ（オンになり）、シェアウェアの検索を開始する指示がホスト計算機６３に送られる（ステップＳ３５）。ホスト計算機６３は、指定されたキーワードでコンテンツデータベース８１を検索し、タイプがＳＯＫＩＮで始まるソフトウェアの名称とその送金手続きファイル（送金ソフト）のソフトコードとを返す（ステップＳ３６）。ここでは、「ＡＡＡスケジューラ」、「ＢＢＢスケジューラ」等の名称および送金ソフトのソフトコード４０００、４００１等が返送されている。
【０１３１】
端末は送金ソフトのみリスティングし、ユーザはリスティングされた中の特定の送金ソフトを指定する（ステップＳ３７）。ここでは、ソフトコード４０００が指定されている。ホスト計算機６３は、ソフトコード４０００の送金ソフトの条件により端末側とネゴシエーションを行う（ステップＳ３８）。ここでは、まず、コマンドＳＴ４を用いてユーザシステム内のＡＡＡ．ＩＮＩの位置を調べるように端末に指示する。これを受けて、端末はＡＡＡ．ＩＮＩの場所を調べ、その場所はＥ：￥ＡＡＡということをホスト計算機６３に通知する（ステップＳ３９）。ＳＴ４というコマンドは、あらかじめ端末側に具備されているものとする。
【０１３２】
次に、図１８において、ホスト計算機６３はダイアログＢＯＸ８３を端末の画面に表示させ、ＡＡＡ．ＩＮＩの位置はＥ：￥ＡＡＡでよいかどうかをユーザに確認する（ステップＳ４０）。ダイアログＢＯＸ８３に表示されたディレクトリが正しければ、ユーザはそのディレクトリをそのまま返送し（ステップＳ４１）、ホスト計算機６３は、ユーザシステムの書き換えるべきファイルのディレクトリパスはＥ：￥ＡＡＡ￥ＡＡＡ．ＩＮＩと確定する。もし、表示されたディレクトリが正しくなければ、ユーザは正しいディレクトリ名を入力する。例えばＧ：￥ＧＧＧと入力すると、端末はディレクトリパスＧ：￥ＧＧＧ￥ＡＡＡ．ＩＮＩをホスト計算機６３に返す。ＡＡＡ．ＩＮＩの格納場所が確定したので、ホスト計算機６３は、シェアウェア送金が可能であることを端末に通知する（ステップＳ４２）。
【０１３３】
次に、図１９において、ユーザは機能制限の解除を要求する（ステップＳ４３）。これを受けて、ホスト計算機６３は図１２の定義ファイルの［ｉｎｓｔｙｐｅ］を参照し、代金をそのユーザの口座等から引き落とした後に、ＡＡＡ．ＩＮＩの書換え手順が記述されている書換えファイルＩＮＩ．ＤＥＦを送付する。さらに、定義ファイルの［ｌａｓｔ］を参照して後処理のコマンドＣＨＧＩＮＩを送り、ＩＮＩ．ＤＥＦの手順に従って書換えを行うことを端末に指示する。
【０１３４】
これを受けて、端末はダウンロードされたＩＮＩ．ＤＥＦを参照し、図２０に示すようにＡＡＡ．ＩＮＩを書換える。図２０においては、書換え後の［ＵｓｅｒＩｎｆｏ］のＬｉｃｅｎｃｅにＡＡ１２３ＡＡＡが書込まれていることが分かる。これにより、シェアウェア「ＡＡＡスケジューラ」の機能制限が解除され、ユーザシステム上で完全に動作するようになる。
【０１３５】
その後、ホスト計算機６３はＩＮＩ．ＤＥＦを端末から削除して、処理を終了する。
図１２の定義ファイルでは、［ｉｎｓｔｙｐｅ］のセクションにその場で制限解除を行うという情報が記されていたので、代金の引き落としと同時にシェアウェアの機能制限を解除した。しかし、一般のパソコン通信センターと同様に、ホスト計算機６３が代金引き落としとシェアウェア登録者への電子メールの発行だけを行う構成とすることもできる。
【０１３６】
図２１は、代金引き落としおよび電子メールの発行のみをサポートする場合の定義ファイル７７の例を示している。図２１の「ＢＢＢスケジューラ」の定義ファイルＢＢＢＳ．ＣＦＧにおいて、［ｎａｍｅ］から［ｋｅｙ］までのセクションについては図１２と同様である。［ｉｎｓｔｙｐｅ］には送金処理のみが記されており、その場での機能制限の解除は行われない。また、この場合は、「ＢＢＢスケジューラ」の作者は図１３、１４のようなＣＨＫファイル、書換えファイルを用意しなくてもよい。定義ファイルＢＢＢＳ．ＣＦＧがホスト計算機６３にアップロードされると、コンテンツデータベース８１のタイプの欄にはＳＯＫＩＮ＃ＭＡＩＬと記録される。
【０１３７】
図２２、２３、２４は、ソフトウェア「ＢＢＢスケジューラ」の代金引き落とし手続きを示している。ただし、この手続きの前に、シェアウェア「ＢＢＢスケジューラ」は機能制限付きでユーザシステムにインストールされているものとする。ユーザがこのソフトウェアを購入しようとした時は、ホスト計算機６３と端末の間で図示のようなコマンド／レスポンスのやりとりを行う。
【０１３８】
図２２において、端末は、まずユーザ環境をホスト計算機６３に送信し（ステップＳ５１）、ホスト計算機６３はこれを受信すると応答を返す（ステップＳ５２）。次に、ユーザがソフトウェア検索用のキーワードリストを要求すると（ステップＳ５３）、ホスト計算機６３はキーワードリストを返送する（ステップＳ５４）。
【０１３９】
このとき、図２３に示すように、端末の画面上にはオプション手続きのメニュー８２が表示され、ユーザはその中から「送金」を指定し、キーワードリストの中からキーワードを選択する。これにより、送金フラグＳＯＫＩＮが立てられ、シェアウェアの検索を開始する指示がホスト計算機６３に送られる（ステップＳ５５）。ホスト計算機６３は、指定されたキーワードでコンテンツデータベース８１を検索し、タイプがＳＯＫＩＮで始まるソフトウェアの名称とその送金ソフトのソフトコードとを返す（ステップＳ５６）。端末は送金ソフトのみリスティングし、ユーザはリスティングされた中からソフトコード４００１の送金ソフトを指定する（ステップＳ５７）。
【０１４０】
次に、図２４において、ホスト計算機６３はメッセージ８４を端末の画面に表示させ、課金してよいかどうかをユーザに確認する（ステップＳ５８）。このとき、ホスト計算機６３は図２１の定義ファイルの［ｉｎｓｔｙｐｅ］を参照し、フラグＳＯＫＩＮの値をメール発行のみを表す「０ｘ０８」に変更して、端末に返送する。ユーザは、課金されてもよければＯＫを、購入しない場合はＮＧを選択する。ここでは、ＯＫが選択され、登録者に対するメールの発行の依頼が端末からホスト計算機６３に送られる（ステップＳ５９）。これを受けて、ホスト計算機６３は代金をそのユーザの口座等から引き落とし、「ＢＢＢスケジューラ」の登録者に代金引き落としを知らせる電子メールを送る。メールの送付先としては、定義ファイルの［ｔｙｐｅ］のセクションの送金先ＦＪＯＫＩを用いる。
【０１４１】
ホスト計算機６３から電子メールを受け取った登録者は、電子メール等の手段により、ソフトウェアの購入者に機能制限解除の方法を連絡する。これにより、購入者は「ＢＢＢスケジューラ」のすべての機能を使用することができるようになる。
【０１４２】
ところで、ユーザがあるソフトウェアの旧バージョンまたは関連するソフトウェアを既に購入しているかどうかによって、そのユーザに対する販売価格の設定を変えたい場合もあり得る。この場合、ソフトウェアの登録者は、定義ファイル７７の［ｐｒｉｃｅ］のセクションに、複数の価格とその販売条件とを記述しておく。例えば、既購入のソフトウェアのソフトコード、ユーザＩＤ（ＵＩＤ）、およびマシンＩＤ（ＭＩＤ）とを用いて、価格の変更条件を記述することができる。ここで、ＵＩＤはユーザを一意に特定する識別子であり、ＭＩＤはインストール先の端末を一意に特定する識別子である。このような、定義ファイル７７を用いた複数の価格設定の方法は、シェアウェアの送金手続きに限らず、通常の商品として販売されるＩＳＶ（independant software vender）ソフトの価格設定にも同様に適用できる。
【０１４３】
図２５は、複数の価格を設定した定義ファイル７７の例を示している。図２５の「ＣＣＣスケジューラ」の［ｔｙｐｅ］のセクションは、ＩＳＶソフトであることを表す。また、［ｐｒｉｃｅ］のセクションには、０円、２０００円、５０００円の３つの価格と、それらのうちから販売価格を選択するための条件が記されている。販売価格の選択条件は次の通りである。
（ａ）アクセスしてきたユーザおよび端末がソフトコード１１１のソフトウェアＸＳＯＦＴを既に買っている場合は無料。ＸＳＯＦＴは、例えば、ＣＣＣスケジューラの前身となるソフトウェアである場合もあり、ＣＣＣスケジューラの旧バージョンである場合もある。
（ｂ）アクセスしてきたユーザまたは端末がソフトコード１２３または１２４のソフトウェアＹＳＯＦＴを買っている場合は２０００円。ＹＳＯＦＴは、ＣＣＣスケジューラの関連ソフトウェアである。
（ｃ）（ａ）または（ｂ）に該当しない場合は５０００円。
また、ホスト計算機６３のデータベースは図２６に示すように構成される。図２６において、カスタマデータベース８５は、リモートインストールシステムのユーザとその端末に関する管理情報を記憶し、購入データベース８６は、過去にソフトウェアを購入したユーザ等に関する購入履歴を記憶する。また、コンテンツデータベース８１のＣＣＣスケジューラのＰＲＩＣＥの欄には、価格の選択条件を記した価格ファイル８７の格納先が記録される。これらのデータベース８５、８６、８１は、ホスト計算機６３内または外部のディスク装置内に設けられ、価格ファイル８７もまたそのディスク装置に格納される。ホスト計算機６３は、コンテンツデータベース８１を参照してＣＣＣスケジューラの価格ファイル８７を読み出し、その記述に従って価格を決定する。
【０１４４】
図２７は、価格ファイル８７に基づく価格決定処理のフローチャートである。図２７において処理が開始されると、ホスト計算機６３は、まずカスタマデータベース８５と購入データベース８６を参照し、アクセスしてきたユーザのＵＩＤおよびその端末のＭＩＤの組みあわせで、ソフトコード１１１のソフトウェアが購入されたことがあるかどうかを調べる（ステップＳ６１）。もし、そのような履歴データがあれば価格を０円として（ステップＳ６２）、処理を終了する。そのような履歴データがなければ、次に、アクセスしてきたユーザのＵＩＤまたはその端末のＭＩＤを含む購入履歴の中に、ソフトコード１２３または１２４のソフトウェアの購入記録があるかどうかを調べる（ステップＳ６３）。もし、そのような履歴データがあれば価格を２０００円として（ステップＳ６４）、処理を終了する。そして、そのような履歴データがなければ、価格を５０００円として（ステップＳ６５）、処理を終了する。
【０１４５】
今、ＣＣＣスケジューラの購入を希望するユーザのＵＩＤをＦＪＯＴＡとし、そのＭＩＤを０００５とする。図２６の購入データベース８６には、そのユーザがその端末を用いてソフトコード１１１のソフトウェアを購入したことが記録されているので、ステップＳ６１の判定結果はＹＥＳとなり、ＣＣＣスケジューラは無料で宅配される。
【０１４６】
もし、ソフトコード１１１、１２３、１２４のソフトウェアのいずれも購入していないユーザが、それらのいずれも購入していない端末からアクセスした場合には、価格は最高額の５０００円となる。また、ソフトコード１１１の購入履歴があったとしても、そのＵＩＤとＭＩＤのうち片方がアクセスに用いられた識別子と一致しなければ、ソフトウェアは有料となる。
【０１４７】
図２５の定義ファイルは価格設定の一例に過ぎず、登録者はソフトコード、ＵＩＤ、ＭＩＤを組み合わせて、他の任意の選択条件を設定してもかまわない。例えば、特定のＵＩＤまたはＭＩＤに対しては、特別価格で販売するように設定することもできる。このように、定義ファイル７７に価格の設定条件を記述してアップロードすることにより、ソフトウェアの多様な価格設定が可能になる。
【０１４８】
また、販売対象のソフトウェアがＩＳＶソフトではなくシェアウェアの場合は、図１９または図２４における代金引き落としの際に、その価格ファイルに基づいて価格が決定される。
【０１４９】
【発明の効果】
本発明によれば、通信回線を介してソフトウェアを販売するサービスにおいて、多様なソフトウェアの代金を自動的に決定し、課金処理を行うことができる。特に、シェアウェアの場合に、代金を引き落としてから機能制限の解除を行うことが可能になる。
【０１５０】
また、ソフトウェアの登録者は代金の決裁方法を指定して、その情報をあらかじめ登録しておくことができる。例えば、フリーウェア、シェアウェア、有料ソフトウェアの区別や、価格の設定条件等が指定される。
【図面の簡単な説明】
【図１】本発明の原理図である。
【図２】実施形態のシステム構成図である。
【図３】ＣＦＧファイルを示す図（その１）である。
【図４】ＣＦＧファイルを示す図（その２）である。
【図５】ＣＦＧファイルを示す図（その３）である。
【図６】ＣＦＧファイルを示す図（その４）である。
【図７】説明ファイルを示す図である。
【図８】本体ファイルを示す図である。
【図９】第１のＣＨＫファイルを示す図である。
【図１０】ＩＣＯＮファイルを示す図である。
【図１１】端末上で作成されるファイル群を示す図である。
【図１２】第１の定義ファイルを示す図である。
【図１３】第２のＣＨＫファイルを示す図である。
【図１４】書換えファイルを示す図である。
【図１５】アップロードを示す図である。
【図１６】シェアウェア手続きを示す図（その１）である。
【図１７】シェアウェア手続きを示す図（その２）である。
【図１８】シェアウェア手続きを示す図（その３）である。
【図１９】シェアウェア手続きを示す図（その４）である。
【図２０】ファイルの書換えを示す図である。
【図２１】第２の定義ファイルを示す図である。
【図２２】代金引き落とし手続きを示す図（その１）である。
【図２３】代金引き落とし手続きを示す図（その２）である。
【図２４】代金引き落とし手続きを示す図（その３）である。
【図２５】第３の定義ファイルを示す図である。
【図２６】ホスト計算機のデータベースを示す図である。
【図２７】価格決定処理のフローチャートである。
【図２８】先願のリモートインストールシステムの構成図である。
【図２９】リモートインストールのフローチャート（その１）である。
【図３０】リモートインストールのフローチャート（その２）である。
【図３１】リモートインストールのフローチャート（その３）である。
【図３２】インストール方法選択ウィンドウの例を示す図である。
【図３３】リモートインストールプロトコルを示す図（その１）である。
【図３４】リモートインストールプロトコルを示す図（その２）である。
【図３５】キーワード選択のプロトコルを示す図である。
【図３６】キーワードの表示例を示す図である。
【図３７】環境情報の送信プロトコルを示す図である。
【図３８】環境チェックのプロトコルを示す図である。
【図３９】自動インストールのフローチャートである。
【図４０】設定ファイルの例を示す図である。
【符号の説明】
２１、６３  ホスト計算機
２２  通信回線
２３、６１−１、６１−Ｎ、６１−ｉ  端末
２４  表示装置
２５  ハードディスク
３１、３８、３９  環境ファイル
３２  第１キーテーブル
３３  第２キーテーブル
３４、４４  設定ファイル
３５  ソフトウェア群
３６  倉庫ウィンドウ
３７  アイコン
４０  チェックスクリプト
４１  ファイル本体
４２、４３  インストールスクリプト
５１  ソフトウェア情報記憶手段
５２  価格情報記憶手段
５３  処理手段
５４  課金手段
６２  ネットワーク
７１  メモリ
７２  ＣＦＧファイル
７３  説明ファイル
７４  本体ファイル
７５  ＣＨＫファイル
７６  インストール関連ファイル
７７  定義ファイル
７８  書換えファイル
８１  コンテンツデータベース
８２  メニュー
８３  ダイアログＢＯＸ
８４  メッセージ
８５  カスタマデータベース
８６  購入データベース
８７  価格ファイル
【図１】
0003711162.tif 000002
【図２】
0003711162.tif 000003
【図３】
0003711162.tif 000004
【図４】
0003711162.tif 000005
【図５】
0003711162.tif 000006
【図６】
0003711162.tif 000007
【図７】
0003711162.tif 000008
【図８】
0003711162.tif 000009
【図９】
0003711162.tif 000010
【図１０】
0003711162.tif 000011
【図１１】
0003711162.tif 000012
【図１２】
0003711162.tif 000013
【図１３】
0003711162.tif 000014
【図１４】
0003711162.tif 000015
【図１５】
0003711162.tif 000016
【図１６】
0003711162.tif 000017
【図１７】
0003711162.tif 000018
【図１８】
0003711162.tif 000019
【図１９】
0003711162.tif 000020
【図２０】
0003711162.tif 000021
【図２１】
0003711162.tif 000022
【図２２】
0003711162.tif 000023
【図２３】
0003711162.tif 000024
【図２４】
0003711162.tif 000025
【図２５】
0003711162.tif 000026
【図２６】
0003711162.tif 000027
【図２７】
0003711162.tif 000028
【図２８】
0003711162.tif 000029
【図２９】
0003711162.tif 000030
【図３０】
0003711162.tif 000031
【図３１】
0003711162.tif 000032
【図３２】
0003711162.tif 000033
【図３３】
0003711162.tif 000034
【図３４】
0003711162.tif 000035
【図３５】
0003711162.tif 000036
【図３６】
0003711162.tif 000037
【図３７】
0003711162.tif 000038
【図３８】
0003711162.tif 000039
【図３９】
0003711162.tif 000040
【図４０】
0003711162.tif 000041