(57)【要約】  インターネット・セキュリティを提供する方法は、第１実行可能アプリケーション・モジュールを含む記憶媒体を提供するステップを含む。記憶媒体をローカル・コンピュータに入力したことに応答して、第１実行可能アプリケーション・モジュールを、ローカル・コンピュータ内の仮想メモリにロードする。第１実行可能アプリケーション・モジュールを実行し、第１実行可能アプリケーション・モジュールが、少なくとも１つのリモート・サーバを特定する情報を提供する。第１実行可能アプリケーション・モジュールが提供する情報を用いて、ローカル・コンピュータとリモート・サーバとの間において通信を行う。リモート・サーバに、第２アプリケーション・モジュールをローカル・コンピュータに送るように命令する。第２アプリケーション・モジュールを受信したときに、該第２アプリケーション・モジュールをローカル・コンピュータ上の仮想メモリにロードする。仮想メモリから第２アプリケーション・モジュールを実行し、プロンプトをユーザに表示する。【選択図】図４
2010527050.tif 000002
【特許請求の範囲】
【請求項１】
インターネット・セキュリティを提供する方法であって、
第１実行可能アプリケーション・モジュールを含む記憶媒体を提供するステップと、
前記記憶媒体のローカル・コンピュータへの入力に応答して、前記第１実行可能アプリケーション・モジュールを、前記ローカル・コンピュータ内の仮想メモリにロードし、前記第１実行可能アプリケーション・モジュールを実行し、前記第１実行可能アプリケーション・モジュールが、少なくとも１つのリモート・サーバを特定する情報を提供するステップと、
前記第１実行可能アプリケーション・モジュールが提供する前記情報を用いて、前記ローカル・コンピュータと前記リモート・サーバとの間において通信を行うステップと、
前記リモート・サーバに、第２アプリケーション・モジュールを前記ローカル・コンピュータに送るように命令するステップと、
前記第２アプリケーション・モジュールを受信したときに、該第２アプリケーション・モジュールを前記ローカル・コンピュータ上の仮想メモリにロードするステップと、
前記仮想メモリから前記第２アプリケーション・モジュールを実行し、プロンプトをユーザに表示するステップと、
を備えた、方法。
【請求項２】
請求項１記載の方法において、前記第１および第２実行可能アプリケーション・モジュールの少なくとも１つが、ロード後自動的に実行される、方法。
【請求項３】
請求項１記載の方法において、前記実行可能アプリケーション・モジュールの少なくとも１つを仮想メモリにロードしたとき、前記第１および第２実行可能アプリケーション・モジュールの前記少なくとも１つを実行すべきか否か判断するように、ユーザに促す、方法。
【請求項４】
請求項１記載の方法であって、更に、前記ローカル・コンピュータがアクティブのインターネット接続を有するか否か判断するステップを備えており、前記ローカル・コンピュータがアクティブのインターネット接続を有していないと判断した場合、ユーザに通知し、アクティブのインターネット接続を提供するようにユーザに要求する、方法。
【請求項５】
請求項１記載の方法において、前記ローカル・コンピュータ上の仮想メモリは、ランダム・アクセス・メモリ（ＲＡＭ）を備えた、方法。
【請求項６】
請求項１記載の方法において、前記第１実行可能アプリケーション・モジュールは、仮想メモリにロードした後自動的に実行されるログオン・アプリケーション・モジュールを含む、方法。
【請求項７】
請求項１記載の方法において、前記第１実行可能アプリケーション・モジュールを自動的に仮想メモリにロードする、方法。
【請求項８】
インターネット・セキュリティを提供する方法であって、
少なくとも１つのリモート・サーバへのアクセスを提供するアクセス・アプリケーション・モジュールを含む記憶媒体を提供するステップと、
前記記憶媒体をローカル・コンピュータに入力したことに応答して、前記アクセス・アプリケーション・モジュールを仮想メモリにロードし、前記アクセス・アプリケーション・モジュールを実行し、リモート・アクセス・モジュールを前記少なくとも１つのリモート・サーバからダウンロードするステップと、
前記リモート・アクセス・モジュールを前記ローカル・コンピュータ上の仮想メモリにロードし、アクセス画面をユーザに供給し、該アクセス画面が、少なくとも１つのリモート・データ・サーバへのアクセスのためリモート・ログオン・データを入力するように、ユーザに促すステップと、
リモート・ログオン・データを入力するステップと、
前記リモート・ログオン・データが有効である場合、少なくとも１つの追加のアプリケーション・モジュールを前記少なくとも１つのリモート・サーバから前記ローカル・コンピュータにダウンロードするステップと、
前記少なくとも１つの追加のアプリケーション・モジュールを仮想メモリにロードするステップと、
前記少なくとも１つの追加のアプリケーション・モジュールを実行するステップと、
データ表示画面およびナビゲーション画面のうち少なくとも１つをユーザに表示するステップと、
を備えた、方法。
【請求項９】
請求項８記載の方法において、前記アクセス画面を仮想メモリに供給するために前記アクセス・アプリケーション・モジュールをロードする前に、前記ローカル・コンピュータにログオンするためのローカル・ログオン情報を提供するように、ユーザに促す、方法。
【請求項１０】
請求項８記載の方法において、前記少なくとも１つのアクセス・アプリケーション・モジュールは、前記ローカル・コンピュータ内の前記仮想メモリにロードするアプリケーション表示モジュールを含む、方法。
【請求項１１】
請求項１０記載の方法であって、更に、前記ローカル・コンピュータ上で表示するデータを、前記仮想メモリに、前記アプリケーション表示モジュールと共にロードするステップを備えており、前記表示するデータは、前記記憶媒体と関連した少なくとも１つのアカウントを特定するアカウント情報を含む、方法。
【請求項１２】
請求項１０記載の方法において、前記アプリケーション表示モジュールは、実現することができる複数の機能を表示し、少なくとも１つの機能を選択するようにユーザに促す、方法。
【請求項１３】
請求項１２記載の方法において、ユーザが少なくとも１つの機能を選択したときに、選択された機能と関連する少なくとも１つのプロセス・モジュールを、前記リモート・サーバから前記ローカル・コンピュータにダウンロードし、前記少なくとも１つのプロセス・モジュールを前記仮想メモリにロードし、前記プロセス・モジュールを仮想メモリから実行する、方法。
【請求項１４】
請求項８記載の方法において、前記少なくとも１つのリモート・サーバは、アプリケーション・サーバおよびデータ・サーバのうち少なくとも１つを含む、方法。
【請求項１５】
請求項１４記載の方法において、前記少なくとも１つのアプリケーション・サーバおよびデータ・サーバは、別個のＵＲＬに位置する、方法。
【請求項１６】
請求項８記載の方法において、前記リモート・サーバは、リモート・アプリケーション制御サーバを含み、該リモート・アプリケーション制御サーバは、少なくとも１つのリモート・アプリケーション・サーバおよび少なくとも１つのリモート・データ・サーバの一方または双方にアクセスする、方法。
【請求項１７】
請求項１６記載の方法において、前記リモート・サーバは、少なくとも１つのアプリケーションおよびデータの一方または双方を入手し、該少なくとも１つのアプリケーションおよびデータの一方または双方を前記ローカル・コンピュータにダウンロードすることができる、方法。
【請求項１８】
請求項１７記載の方法において、ダウンロードした後、前記少なくとも１つのアプリケーションおよびデータの一方または双方は前記ローカル・コンピュータの仮想メモリにロードされる、方法。
【請求項１９】
リモート・アプリケーションおよびリモート・データのうち少なくとも１つに対する安全なアクセスを提供するためのコンピュータ実行可能コードを含む配布記録媒体であって、該配布記録媒体は、第１コンピュータ実行可能アプリケーション・モジュールを含み、該第１コンピュータ実行可能アプリケーション・モジュールが、
第１コンピュータ実行可能アプリケーション・モジュールをローカル・コンピュータ上の仮想メモリにロードするコードと、
所定のＵＲＬの少なくとも１つのリモート・サーバにアクセスするコードと、
前記所定のＵＲＬの少なくとも１つのリモート・サーバが第２実行可能アプリケーション・モジュールおよびデータのうち少なくとも１つを前記ローカル・コンピュータにダウンロードすること、を要求するコードと、
前記第２実行可能アプリケーション・モジュールおよびデータのうち前記少なくとも１つを前記ローカル・コンピュータ上の仮想メモリにロードするコードと、
を含む、配布記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願に対する引用
本願は、２００７年３月２９日に出願した米国仮特許出願第６０／９２０，６１３号に基づき、その優先権を主張する。米国仮特許出願第６０／９２０，６１３号をここで引用したことにより、その内容全体が本願にも含まれるものとする。
開示の分野
本開示は、インターネット・セキュリティに関し、特に、仮想ソフトウェアによるインターネット・セキュリティ方法およびシステムに関する。
【従来技術】
【０００２】
インターネット・セキュリティは、常に変化の状態にある。新たな暗号モデルが作成され、コンピュータ上または配布する媒体上にもトークンが置かれ、これらが流通している。インターネット・セキュリティ業界は、自分のデータのプライバシを維持する機関の権利を回避しようとする者よりも常に一歩前にい続けようとしているが、成功しないことも多い。
【０００３】
金融、医療、保険、工業、建設、政府等の組織のような組織は、現在、インターネット・セキュリティ方法を利用しているが、これらは同じ固有の弱点を内包している。例えば、現在のインターネット・セキュリティ方法の殆どは、インターネットを利用する人であれば誰にでもオンラインで利用可能なログオン・プロセスを利用している。ウェブサイトを訪問するとき、ユーザには多くの場合「サイン・オン」への選択肢が提示され、ユーザは情報を入力する。この情報には、ユーザＩＤおよびパスワードを含めるとよい。正しい情報を入力した後、ユーザには、オンライン・アプリケーションに基づいて、１つ以上のブラウザが提案される。例えば、銀行業では、ユーザに、彼らの当座口座、預金口座、クレジット・カード等を検査する選択肢、またはこれらを用いて作業する選択肢を提供することができる。しかしながら、組織のログオン画面およびオンライン・アプリケーションへの、このような自由に利用可能で開放されたアクセスは、システムに侵入しようとする個々の人々が、単にそうしようとする挑戦のため、または更に不穏な理由のための誘い掛けとなる。
【０００４】
コンピュータおよびアクティブ・インターネット接続へのアクセスを有する個人がウェブサイトを訪問し、ログオンし、次いで機密データにアクセスするためのアプリケーションに基づいてブラウザの使用を容認することができる限り、現行のインターネット・セキュリティ・モデルでは効果がないのは当然である。現行のログオン・プロセスに伴う弱点に加えて、ユーザが組織のウェブサイトにログオンすることに成功した後であっても、オンライン・アプリケーションに基づいてブラウザが与えるデータ・アクセスに関連するプロセスが更に別の弱点を露呈する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本開示の実施形態は、他のモデルが果たせない(miss)、理解し損ねた、または単に無視した弱点に取り組む。本開示の実施形態の実現を通じて、組織はログオン・プロセスを彼らのウェブサイトから除去することができるだけでなく、データを読み取り、書き込み、または更新するために現在採用されている、ブラウザに基づくオンライン・プロセス全体も除去することができる。
【０００６】
例えば、銀行は、本開示の実施形態の使用により、そのウェブサイトからのオンライン銀行業務を可能にする全ての画面およびプロセスを除去し、なおもその顧客のオンライン銀行業務の特権を許可することができる。この処置を講ずることにより、銀行は、その顧客およびそれ自体の双方に対する高いレベルの保護を提供することが可能となる。
【課題を解決するための手段】
【０００７】
本開示は、インターネット・セキュリティのためのツール（方法、装置、およびシステムの形態としたツール）について記載する。これらのツールは、コンピュータ読み取り可能媒体またはプログラム記憶デバイス上に格納された、および／またはコンピュータ・ネットワークまたはその他の送信媒体を通じてコンピュータ・データ信号の形態で１つ以上のセグメントで送信される１つ以上のコンピュータ・プログラムにおいて具現化することができる。
【０００８】
インターネット・セキュリティを提供する方法は、第１実行可能アプリケーション・モジュールを含む記憶媒体を提供することを含む。記憶媒体をローカル・コンピュータに入力したことに応答して、第１実行可能アプリケーション・モジュールを、ローカル・コンピュータ内の仮想メモリにロードする。第１実行可能アプリケーション・モジュールを実行し、第１実行可能アプリケーション・モジュールが、少なくとも１つのリモート・サーバを特定する情報を提供する。第１実行可能アプリケーション・モジュールが提供する情報を用いて、ローカル・コンピュータとリモート・サーバとの間において通信を行う。リモート・サーバに、第２アプリケーション・モジュールをローカル・コンピュータに送るように命令する。第２アプリケーション・モジュールを受信したときに、該第２アプリケーション・モジュールをローカル・コンピュータ上の仮想メモリにロードする。仮想メモリから第２アプリケーション・モジュールを実行し、プロンプトをユーザに表示する。
【０００９】
インターネット・セキュリティを提供する方法は、少なくとも１つのリモート・サーバへのアクセスを提供するアクセス・アプリケーション・モジュールを含む記憶媒体を提供することを含む。記憶媒体をローカル・コンピュータに入力したことに応答して、アクセス・アプリケーション・モジュールを仮想メモリにロードし、アクセス・アプリケーション・モジュールを実行し、リモート・アクセス・モジュールをリモート・サーバからダウンロードする。リモート・アクセス・モジュールをローカル・コンピュータ上の仮想メモリにロードし、アクセス画面をローカル・コンピュータ上に供給して、データを提供する少なくとも１つのリモート・データ・サーバへのアクセスのためのリモート・ログオン・データを入力するように、ユーザに促す。リモート・ログオン・データを入力する。リモート・ログオン・データが有効である場合、少なくとも１つの追加のアプリケーション・モジュールをリモート・サーバからローカル・コンピュータにダウンロードする。少なくとも１つの追加のアプリケーション・モジュールを仮想メモリにロードし、実行して、データ表示画面およびナビゲーション画面のうち少なくとも１つをユーザに表示する。
【００１０】
配布記録媒体は、アプリケーション・モジュールおよびデータを提供する少なくとも１つのリモート・サーバに対する安全なアクセスを提供するためのコンピュータ実行可能コードを含み、配布記録媒体は、第１コンピュータ実行可能アプリケーション・モジュールを含む。第１コンピュータ実行可能アプリケーション・モジュールは、ローカル・コンピュータ上の仮想メモリにロードするコードと、所定のＵＲＬにおいて少なくとも１つのリモート・サーバにアクセスするコードと、所定のＵＲＬにおける少なくとも１つのリモート・サーバが、第２実行可能アプリケーション・モジュールおよびデータのうち少なくとも１つをローカル・コンピュータにダウンロードすることを要求するコードと、第２実行可能アプリケーション・モジュールおよびデータのうち少なくとも１つをローカル・コンピュータ上の仮想メモリにロードするコードとを備えている、第１コンピュータ実行可能アプリケーション・モジュールを含む。
【図面の簡単な説明】
【００１１】
以下の詳細な説明を参照し添付図面と関連付けて検討することによって本開示が増々深く理解されていくので、本開示およびそれに関連する多くの利点についての更に完全な評価は容易に得られることになろう。
【図１】図１は、分散したローカル・コンピュータとのメディア相互作用を示す。
【図２】図２は、アプリケーション・モジュールおよびデータ双方に、１つのリモート・サーバからアクセスするローカル・コンピュータを示す。
【図３】図３は、１つのリモート・サーバ（群）からアプリケーション・モジュールにアクセスし、異なるリモート・サーバ（群）からデータにアクセスするリモート・コンピュータを示す。
【図４】図４は、アプリケーション制御サーバにアクセスするローカル・コンピュータを示す。アプリケーション制御サーバは、１つ以上のリモート・サーバ（群）からアプリケーション・モジュールにアクセスし、１つ以上のリモート・サーバ（群）からデータにアクセスするために、ローカル・コンピュータからの接続を導く。
【図５】図５は、単一および多重サーバ仮想ソフトウェア・アプリケーションのためのプロセスを示す。
【図６】図６は、本開示の実施形態による、アプリケーション・サーバ・モデルのためのプロセスを示す。
【図７】図７は、本開示の実施形態による、アプリケーション・サーバ・モデルのためのプロセスを示す。
【図８】図８は、本開示の種々の実施形態について説明するためのフロー・チャートを示す。
【図９】図９は、本開示の種々の実施形態について説明するためのフロー・チャートを示す。
【図１０】図１０は、本開示の種々の実施形態について説明するためのフロー・チャートを示す。
【図１１】図１１は、本開示の種々の実施形態について説明するためのフロー・チャートを示す。
【図１２】図１２は、本開示の種々の実施形態について説明するためのフロー・チャートを示す。
【発明を実施するための形態】
【００１２】
以下の実施形態例は、本開示の主題の理解を補助するために明記するのであって、その後に続く特許請求の範囲を限定することは全く意図しておらず、そのように解釈してはならない。したがって、ある実施形態例について記載する際に明確さのために具体的な用語を用いるが、本開示は、そのように選択した具体的な用語に限定されることを意図しているのではなく、各具体的な要素が、同様に動作するあらゆる技術的同等物を含むことは言うまでもない。
【００１３】
本開示の実施形態は、オブジェクト指向プログラミングに基づいており、したがって、種々の実施形態の説明は、論理的開発プロセス、大抵の論理アプリケーション・フローに従い、プロセスが利用可能になる時点でそのプロセスに分岐する。本開示の種々の実施形態の説明は、必ずしも１つのアプリケーションについて記載するのではなく、むしろ少なくとも１つのソフトウェア・アプリケーションにおける実施形態の論理アプリケーションについて記載する。
【００１４】
尚、本開示の実施形態は、各組織の個々の必要性に基づいて、様々な種類の組織にも適用可能であることは言うまでもない。本開示は、本開示の実施形態を適用することができる、様々な異なる種類の組織を同一視する。勿論、本開示は、開示する実施形態に限定されるのではない。本開示は、本開示の実施形態を適用することができる範囲の理解を与えるために様々な用途について端的に説明する。
【００１５】
本開示の一実施形態によれば、ブラウザに基づくオンライン・サービスの代わりに、仮想ソフトウェア・アプリケーションの使用によって、インターネット・セキュリティを提供する。この実施形態によれば、最初に、何らかの種類の配布媒体上で少なくとも１つの仮想ソフトウェア・アプリケーションをユーザに提供する。利用することができる配布媒体の種類の非限定的な例には、ＣＤ−ＲＯＭ、フラッシュ・ドライブ、メモリ・チップ、フラッシュ・メモリ、あるいは、限定ではないが、磁気的または光学的記録媒体を含む、その他のあらゆる種類の記録媒体が含まれる。
【００１６】
ユーザは、配布された媒体をドライブに入れるか、あるいはコンピュータまたはワークステーションのアクセス・ポート・例えば、ＵＳＢポートに差し込む。ユーザが配布媒体(distributed medium)をコンピュータまたはワークステーションに入れると、ソフトウェア・アプリケーションが仮想メモリ（例えば、ＲＡＭ）において組み立てられ、自動的にまたはユーザの要求に応じて起動される。次いで、ユーザは、マウス、キーボード等のようなヒューマン・インターフェース・デバイスを利用して、ソフトウェア・アプリケーションと相互作用を行う。
【００１７】
本開示の別の実施形態によれば、配布媒体上にあるソフトウェア・アプリケーション・モジュールは、「ログオン」中に供給される追加のセキュリティ・パラメータを用いて、ユーザに利用可能なソフトウェアのセクションを限定することができる。このようにすると、ユーザは、許可されているリモート・サーバにおいて、ソフトウェア・モジュールへのアクセスしか得られない。例えば、産業上の安全性では、会社は異なる許可パラメータを異なる個人グループ毎に供給することができ、各グループは異なるレベルのアクセス・クリアランス(access clearance)を有する。本開示の種々の実施形態によれば、各グループはオンライン情報へのアクセスを得るが、各個人は彼らのレベルのアクセス・クリアランスに関連のあるソフトウェア・モジュールよびデータにしかアクセスできない。例えば、会社が、内部における異なるグループ間、および／または外部のサブコントラクタと機密情報を共有する必要があることを知る場合がある。ユーザが彼らの配布媒体をローカル・コンピュータに挿入すると、ユーザ名およびパスワード、ならびに配布媒体に関連する暗号化コードまたはキーを用いてログオンすることにより、リモート・サーバにアクセスすることができる。本開示の一実施形態によれば、各ユーザが許可されている情報にしかアクセスできないように、ログオン後に、追加レベルのセキュリティ・アクセスを提供してもよい。
【００１８】
本開示の種々の実施形態によれば、配布媒体上の暗号化コード即ちキーは、媒体を一人のユーザに割り当てる。このセキュリティ・コードは、様々な長さとすることができ、数値および文字双方を収容することができる。セキュリティ・コード・フォーマットは、設計するアプリケーション、および仮想ソフトウェア・アプリケーションを作成する組織の必要性に基づいて、変化してもよい。セキュリティ・コードは、暗号化してもしなくてもよい。
【００１９】
以前に利用していたようなブラウザに基づくオンライン・プロセスの代わりに、配布可能媒体上で供給されるアクセス制御モジュールおよび／またはキーを用いて、許可された個人は、ランダム・アクセス・メモリ（ＲＡＭ）において仮想ソフトウェア・アプリケーションとして組み立てられたオンライン・プロセスを有することができる。この仮想アプリケーションを用いて、ユーザは次にオンライン・データベースにアクセスし、データを照会、表示、および操作することができる。
【００２０】
本開示が用いるアプリケーション・モジュールは、転送するデータの安全性を更に高めるために、暗号化を採用することができる。本開示の実施形態を説明する目的上、特定の暗号システムについて詳細に説明しない。しかしながら、本開示の実施形態を実現するためには、任意の適した種類の暗号システムを利用すればよいことは認められよう。本開示の実施形態によれば、暗号化方法を仮想ソフトウェアに書き込んでもよく、または各個人のアプリケーション要件に基づいて、データ転送プロセス上に積層する(layered over)こともできる。
【００２１】
銀行業を参照しながら、本開示の実施形態について説明する。以前のプロセスを利用すると、あらゆるインターネット・ユーザが銀行のウェブサイトを訪問し、有効なユーザ名およびパスワードを入力し、次いで関連する個人の銀行口座へのアクセスを得ることができる。これは、ユーザ名およびパスワードを入力した個人が許可されたユーザであっても、偽ってこの情報へのアクセスを得た何らかの個人であっても、該当する。
【００２２】
不正アクセスを回避するために、本開示の一実施形態によれば、銀行は、ログオン・プロセスをそのウェブサイトから除去することができる。銀行は、そのウェブサイトから、他の全てのオンライン処理画面をも除去することができる。本開示のこの実施形態によれば、銀行は、次に、フラッシュ・ドライブのような媒体をその顧客に配布する。
【００２３】
銀行利用者(consumer)は、配布された媒体をローカル・コンピュータ上で用いて、オンライン銀行プロセスを起動する。オンライン銀行プロセスの起動プロセスについては、後に以下で説明する。勿論、本開示はいずれの特定の種類の産業にも限定されることはない。
【００２４】
例えば、本開示の実施形態は、証券業（株式、債券等）にも容易に適用することができる。現在利用可能なオンライン・システムおよび方法をここでも利用すると、正しいユーザ名、パスワード、およびインターネット接続を有する個人は誰でも、個人の証券口座へのアクセスを得て、取引を行ったり資金を移動する(transfer)ことができる。
【００２５】
本開示の実施形態は、証券業に関係する場合、前述の銀行モデルと類似しており、唯一の相違は、ソフトウェア・アプリケーションが金融証券業務処理(transaction)を実行するように設計されていることである。
【００２６】
事実上あらゆるオンライン・システムが、ユーザ名およびパスワードだけを知っている不正ユーザによる違反行為を被る虞れがある。本開示の実施形態を利用すれば、このような不正アクセスを最小限にくい止めるか、または根絶することができる。
【００２７】
本開示の実施形態によれば、産業安全保障(industrial security)型システムに関係する１つ以上のログオン・プロセスを用い、その一部はユーザ名およびパスワードを利用してもよい。加えて、種々のその他のプロセスも実行してもよい。即ち、この実施形態によれば、ユーザ・ログオンが完了した後、ユーザに許可されているサービスのみをローカル・コンピュータに転送するように、プロセスを提供する。この実施形態によれば、本システムは、仮想ソフトウェアに、ユーザのアカウントと関連のあるソフトウェアだけをダウンロードさせ、ＲＡＭセクションにロードさせる。つまり、ソフトウェアは、不正配布またはアクセスから保護されることになる。
【００２８】
図１は、本開示の態様を実現するために用いることができる、様々な種類の配布媒体１７の例を示す。例えば、配布媒体１７は、ＣＤ−ＲＯＭ１０、フラッシュ・ドライブ１２、１４、メモリ・チップ１６、フラッシュ・メモリ、あるいは、限定ではないが、磁気的または光学的記録媒体を含む、その他の任意の種類の記録媒体の形態とすればよい。配布媒体上にある情報は、ローカル・コンピュータ１８によってアクセスが可能である。ローカル・コンピュータ１８は、例えば、デスクトップ・コンピュータまたはラップトップ・パーソナル・コンピュータとすればよく、あるいは他の任意の種類のインターフェース・デバイスであってもよい。インターフェース・デバイスには、限定ではなく、ＰＤＡ、セルラ・フォン、ゲーム・プラットフォーム、あるいは分散媒体をその多くの形式で読み込む容量を内蔵し、有線またはワイヤレス技術によってインターネットに接続し、人とデバイスとの間およびデバイスとリモート・サーバ（群）との間における相互作用を可能にし、双方向通信が可能な他の任意のデバイスが含まれる。
【００２９】
本開示の実施形態は、多数の形態をなすことができ、その一部だけについて本明細書において説明する。以下に説明するモデルの記載は、本開示の実施形態の用途を限定することを意図するのではなく、逆に本開示の柔軟性を示すことを意図している。以下に、本開示の実施形態を実現するために利用することができる形式のシステムについての、端的な全体像を示す。
【００３０】
図２に示すように、本開示の一実施形態によれば、配布媒体２１をローカル・コンピュータ１８の中に入れる。配布媒体２１上にあるアプリケーション・モジュールを、ローカル・コンピュータ１８内の仮想メモリにロードする。次いで、アプリケーション・モジュールは、１つのリモート・サーバＵＲＬ２０に対してコールを行う。リモート・サーバＵＲＬ２０は、アプリケーション・サーバおよびデータベース・サーバとしての役割を果たす。
【００３１】
図３に示すように、本開示の別の実施形態によれば、配布された媒体２５をローカル・コンピュータ２６に入れる。配布媒体２５上にあるアプリケーション・モジュールを、ローカル・コンピュータ２６上の仮想メモリに移動させ、実行する。アクティブなインターネット接続を利用して、アプリケーション・モジュールは、アプリケーション・サーバとしての役割を果たすリモート・アプリケーション・サーバＵＲＬ２２をコールする。また、アプリケーション・モジュールは、アクティブなインターネット接続を用いてリモート・データ・サーバＵＲＬ２４にアクセスし、データにアクセスする。２つのサーバ（２２、２４）は、同じＵＲＬの一部としてホストすることができ、あるいは２つの完全に異なるＵＲＬ上にホストすることもできる。
【００３２】
本開示の更に別の実施形態を図４に示す。配布された媒体３５をローカル・コンピュータ２７に入れる。配布媒体３５上にあるアプリケーション・モジュールを、ローカル・コンピュータ２７上の仮想メモリに移動し、実行する。アクティブなインターネット接続を利用して、アプリケーション・モジュールは、アプリケーション制御サーバとしての役割を果たすリモート・アプリケーション・サーバＵＲＬ３０にコールする。アプリケーション制御サーバ３０は、アプリケーション連携モジュールをローカル・コンピュータ２７にダウンロードし、これもローカル・コンピュータ２７上の仮想メモリにロードする。実行すると、アプリケーション連携モジュールは、利用者に利用可能な仮想ソフトウェア・アプリケーションのリストを提供する。本開示の一実施形態によれば、利用者が用いたいサービスを選択すると、ローカル・コンピュータ２７は、アプリケーション制御サーバ３０へのコールを行う。アプリケーション制御サーバ３０は、次に、選択されたサービスに適したアプリケーションおよび／またはデータを、１つ以上のサーバ３２〜３６上で発見する。アプリケーション制御サーバ３０は、データ／アプリケーションをサーバ（群）３２〜３６から読み出し、それをローカル・コンピュータ２７にダウンロードする。ローカル・コンピュータ２７は、データ／アプリケーションを仮想メモリに入れて、アプリケーションを実行する。この実施形態によるアプリケーション制御サーバを使用する一例をあげると、１つの配布媒体を用いて、複数の銀行における銀行サービス、１つ以上の仲介業務会社における金融サービス、株式取引にアクセスし、薬物(drug)またはサービスに対する請求書(bill)の保険処理(insurance processing)を追跡するときであろう。このアプリケーション・サーバ・モデルは、プロセス毎に独自の配布媒体を必要とするのではなく、利用者が１つの媒体を用いて数個のオンライン・サービスにアクセスすることを可能にする。
【００３３】
以上説明した３つの実施形態では、現行のブラウザに基づくシステムを利用すると、セキュリティ・プロセスにおける弱点は、個人、ならびにユーザ名およびパスワードを個人が安全確実に保持できることにある。この分野では、事務所に不在で、データが必要となり、アシスタントにそれを提供するように要求するといった単純な理由で、セキュリティにおける些細な過ちが発生することが多い。このアシスタントを信頼してよいのか。信頼してもよいのであれば、ユーザ名およびパスワードをそのときに言っても、差し支えない。この想定場面はあり得ないように思えるが、頻繁に発生している。また、ユーザはそのユーザ名およびパスワードを書き留めておくことが多く、それを紛失したり盗まれたりした場合、その情報が用いられる可能性がある。
【００３４】
暗号、トークン、またはその他のセキュリティ・デバイスを改良して構築しても、ユーザがユーザ名およびパスワードを漏洩することによって、セキュリティを脅かす可能性を排除できない。本開示の実施形態は、現行のインターネット・モデルに内在する弱点を解決するために設計されたのである。
【００３５】
本開示の実施形態は、現行のブラウザに基づく配信プロセスからオンライン・プロセスを除去し、こうして無許可のユーザが単にウェブサイトに行くことによって特権情報にアクセスすることを不可能にする。
【００３６】
加えて、本開示の一実施形態によれば、各配布媒体には、一意のキーを連続して振ることができ、したがってユーザ名およびパスワードと照合して、許可された個人であるか確かめることができる。このように、これらの実施形態は、組織の別の許可ユーザが、他の許可ユーザのオンライン・プロセスには、彼らの媒体がないと、アクセスすることを防止する。オンライン処理にアクセスすることができる個人は、媒体が割り当てられた人だけである。
【００３７】
本開示の実施形態は、ユーザ入力／選択について説明する。例えば、本開示のある種の実施形態は、ユーザ入力または相互作用に基づいて、仮想環境にダウンロードするアプリケーション・モジュールについて説明する。尚、ユーザ入力が必要となるような場合では、ローカル・コンピュータ上で、表示されている関連ボックスにおいてあるボタンをクリックすること、および／または情報を入力することをユーザに催促するのが一般的であることは認められよう。
【００３８】
以下に、本開示において想定する様々な種類のシステムの例について、更に詳細に説明する。勿論、特許請求の範囲は、開示する実施形態には限定されない。
図２に戻り、そして図５を参照しながら、本開示の一実施形態による単一サーバ型システムについて説明する。ユーザが配布媒体２１をローカル・コンピュータ１８に挿入すると、ローカル・コンピュータ１８は、配布媒体２１上にある実行ファイルを読み取り、それを仮想メモリ（ＲＡＭ）にロードし、実行ファイルを実行する（ステップＳ１００）。実行ファイルは、オートラン・プロセスを用いて自動的に、またはユーザによる要求に応じて実行することができる。アクティブなインターネット接続が利用可能か否か判断する（ステップＳ１０２）。利用可能でない場合、（ステップＳ１０４においてＮｏ）、ユーザに通知する（ステップＳ１０６）。利用可能な場合（ステップＳ１０４においてＹｅｓ）、ローカル・コンピュータ１８はアクティブ・インターネット接続２３を通じて、リモート・アプリケーションおよびデータ・サーバ２０と接続する。即ち、実行ファイルはローカル・コンピュータ１８に、指定されたＵＲＬにおいてリモート・サーバ２０に接続し、１つ以上の指定されたソフトウェア・アプリケーション・モジュールおよびデータをサーバ２０からダウンロードし、データを表示するように命令する（ステップＳ１０８）。次いで、アプリケーション・モジュール（群）および／またはデータをローカル・コンピュータ１８における仮想メモリ（例えば、ＲＡＭ）にロードする（ステップＳ１１０）。次いで、ユーザの相互作用にも基づいて、アプリケーション・モジュール（群）を実行する（ステップＳ１１２）。リモート・サーバ２０からダウンロードされ、アプリケーション・モジュールに適したデータも、ＲＡＭにロードし、ローカル・コンピュータ１８上に表示する。ユーザがローカル・コンピュータ１８上に表示されているデータと相互作用を行い、変更を保存する必要がある場合、処理および格納のためにデータをリモート・サーバ２０に返送する（ステップＳ１１４）。
【００３９】
これより、本開示の一実施形態による二重サーバ型システムについて、図３および図６を参照しながら説明する。この実施形態によれば、アプリケーション・サーバ２２およびデータ・サーバ２４は、別個のシステム上に設けられている。ローカル・コンピュータ２６は、データ・サーバ２４およびアプリケーション・サーバ２２とのアクティブ・インターネット接続２３ａ、２３ｂをそれぞれ有する。接続は、例えば、ワールド・ワイド・ウェブ（ＷＷＷ）経由とすればよい。この実施形態によれば、ユーザが配布媒体２５をローカル・コンピュータ２６に挿入すると、ローカル・コンピュータ２６は、実行ファイルを配布媒体２５から仮想メモリにロードし、オートラン・プロセスを用いて自動的に、またはユーザの要求に応じてのいずれかでこれを実行する（ステップＳ２００）。アクティブ・インターネット接続が利用可能か否か判断する（ステップＳ２０２）。利用可能でない場合（ステップＳ２０４においてＮｏ）、ユーザに通知する（ステップＳ２０６）。接続が利用可能な場合（ステップＳ２０４においてＹｅｓ）実行ファイルは、ローカル・コンピュータ２６に、指定されたＵＲＬにおいてリモート・アプリケーション・サーバ２２に接続し、１つ以上の指定されたソフトウェア・アプリケーション・モジュールをアプリケーション・サーバ２２からダウンロードするように命令する（ステップＳ２０８）。１つ以上の指定されたソフトウェア・アプリケーション・モジュールを、ローカル・コンピュータ２６上の仮想メモリ（例えば、ＲＡＭ）にロードし（ステップＳ２１０）、実行する（ステップＳ２１２）。ＲＡＭにロードしたアプリケーション・モジュールに基づいて、ローカル・コンピュータ２６は１つ以上の機能を実行することができる（ステップＳ２１４）。例えば、ユーザ入力に応答して、アプリケーション・モジュールは検証のためにクエリをデータ・サーバ２４に送ることを命令したり、あるいはローカル・コンピュータ２６上で表示するためにデータをダウンロードすることを、ローカル・コンピュータ２６に命令することができる。ダウンロードしたデータを、ローカル・コンピュータ２６上の仮想メモリに入れる。また、アプリケーション・モジュールは、ローカル・コンピュータ２６に追加のアプリケーション・モジュールをアプリケーション・サーバ２２からダウンロードするように命令することもできる。追加でダウンロードしたアプリケーション・モジュールのいずれも、ローカル・コンピュータ２６内の仮想メモリにロードし、走らせる。この場合、ローカル・コンピュータ２６においてユーザがデータを操作した場合、または新たなデータを入力した場合、操作されたデータおよび／または新たなデータは、処理および格納のために、データ・サーバ２４に送られる。
【００４０】
これより、図４および図７を参照しながら、本開示の一実施形態による多重アプリケーション配布媒体型システムについて説明する。この実施形態によれば、データ・サーバ３２、アプリケーション・サーバ３４、およびアプリケーション／データ・サーバ３６は別個のシステム上に設けられている。ローカル・コンピュータ２７は、アプリケーション制御サーバ３０とのアクティブ・インターネット接続２３を提供することができ、アプリケーション制御サーバ３０自体も、図示のように、サーバ３２〜３６とのアクティブ・インターネット接続２３ｂ〜２３ｄを提供することができる。アクティブ・インターネット接続は、例えば、ワールド・ワイド・ウェブ（ＷＷＷ）経由とすればよい。この実施形態によれば、ユーザが配布媒体３５をローカル・コンピュータ２７に挿入すると、ローカル・コンピュータ２７は、実行ファイルを配布媒体３５から仮想メモリにロードして、オートラン・プロセスを用いて自動的に、またはユーザの要求に応答してのいずれかでそれを実行する（ステップＳ３００）。アクティブ・インターネット接続が利用可能か否か判断する（ステップＳ３０２）。利用可能でない場合（ステップＳ３０４においてＮｏ）、ユーザに通知する（ステップＳ３０６）。接続が利用可能な場合（ステップＳ３０４においてＹｅｓ）、実行ファイルは、ローカル・コンピュータ２７に、指定されたＵＲＬにおいてリモート・アプリケーション制御サーバ３０に接続し（ステップＳ３０８）、１つ以上の指定されたソフトウェア・アプリケーション・モジュールをアプリケーション制御サーバ３０からダウンロードするように命令する（ステップＳ３１０）。例えば、アプリケーション制御サーバ３０は、リモート・ログオン画面モジュールをローカル・コンピュータ２７にダウンロードすることができる。ローカル・コンピュータ２７は、リモート・ログオン画面モジュールを仮想メモリに入れて、自動的にまたはユーザの要求に応答してのいずれかで、モジュールを実行する（ステップＳ３１２）。
【００４１】
ローカル・コンピュータ２７のユーザは、表示されたリモート・ログオン画面を通じて、アプリケーション制御サーバ３０へのアクセスのために、リモートユーザＩＤおよびパスワードを供給するように促される（ステップＳ３１４）。ユーザＩＤおよびパスワードをアプリケーション制御サーバ３０にアップロードする（ステップＳ３１６）。リモート・ログオン・データが無効である場合（ステップＳ３１８においてＮｏ）、アプリケーション制御サーバ３０はローカル・コンピュータ２７に指示をダウンロードし、ローカル・コンピュータ２７上にエラー・メッセージを表示する（ステップＳ３２０）。リモート・ログオン・データが有効である場合（ステップＳ３１８においてＹｅｓ）、アプリケーション制御サーバ３０は、例えば、メイン・メニューのようなアプリケーションと共に指示をローカル・コンピュータ２７にダウンロードする。メイン・メニューは、アプリケーション制御サーバ３０からローカル・コンピュータ２７内の仮想メモリ（例えば、ＲＡＭ）にダウンロードする（ステップＳ３２２）。次いで、システムは更に次のユーザ相互作用を待つ（ステップＳ３２４）。あるいはまたは加えて、アプリケーション制御サーバ３０は、アプリケーション表示モジュールを返してもよい。アプリケーション表示モジュールは、ローカル・コンピュータ２７内の仮想環境（例えば、ＲＡＭ）に、ローカル・コンピュータ２７上に表示するデータと共にロードされる。例えば、表示するデータは、配布媒体３５と関連のあるアカウントから成る場合もある。このアプリケーション表示モジュールは、ローカル・コンピュータ２７のユーザに、アクセスしたいアカウントを選択させ、次いで、選択されたアカウントと関連のあるサーバ（群）（例えば、データ・サーバ（群）３２、アプリケーション・サーバ（群）３４、および／またはアプリケーションおよびデータ・サーバ３６）と接続するように、アプリケーション制御サーバに指令する。
【００４２】
先に記したように、リモート・ログオンを試行する場合、ユーザは彼らのユーザ名およびパスワードを入力し、次いでデータを転送するボタンをクリックする。本開示の一実施形態によれば、配布媒体を一意に特定するＩＤを暗号化して、ログオン・データと共に送る。アプリケーションが、ローカル・コンピュータ１８、２６、または２７がインターネットとの接続を失ったことを発見した場合、エラー・メッセージを表示し、それ以外の場合、ユーザ名、パスワード、および暗号化したＩＤをリモート・サーバ（例えば、アプリケーションおよびデータ・サーバ２０、データ・サーバ２４、アプリケーション制御サーバ３０、あるいはデータおよびすらまたはアプリケーション・サーバ３２〜３６の内１つ以上）に送る。
【００４３】
次いで、リモート・サーバは、受け渡した情報全てがデータベースにおけるエントリと一致することを検証する。これは、受け入れられるプログラミング規範の任意のものを用いて遂行する。例えば、これは、ローカル・コンピュータ１８、２６、または２７から転送したＩＤ、ユーザ名、およびパスワードを用いて、ＯＤＢＣ準拠データベースに照会することによって、リモート・サーバにおいて実行することができる。クエリからの記録カウントがゼロよりも大きい場合、情報は一致であり、アクセスが付与される。クエリからの記録カウントが０に等しい場合、ローカル・コンピュータから転送されたデータは一致とならない。
【００４４】
本開示の一実施形態によれば、サーバ２０（図２）またはサーバ２２、２４（図３）は、銀行のような組織によって設けることができる。この場合、ログオン後ローカル・コンピュータにダウンロードされる最初の画面は、通常、メイン・メニューである。メイン・メニューは、銀行のオンライン処理アプリケーションの一部である。一旦メイン・メニューを表示したなら、ローカル・コンピュータはユーザの相互作用を待つ。
【００４５】
開示する実施形態の説明を先に進めると、コード機能性の具体的詳細に入ることのないプロセスに関して説明する。当技術分野に精通したプログラマであれば、用いられるプロセスや実行される機能を理解することができ、更に本開示に関してプロセスや機能を実現することができるであろう。  
【００４６】
更に、いずれの個々のアプリケーションの具体的詳細も、記載する本開示の実施形態には重要ではないことも認められよう。即ち、本開示の実施形態を実現するために用いられる具体的なコードは重要ではない。
【００４７】
図８を参照して説明する本開示の一実施形態は、オンライン銀行モデルを利用する。勿論、この実施形態は、本開示を銀行に限定することを意図するのではない。逆に、銀行モデルを用いるのは、本開示の実施形態が利用するプロセスを、どのようにしてこれらの種類のシステムに実装し用いることができるか説明するためである。
【００４８】
図８を参照すると、ユーザは配布媒体２１、２５、または３５（図２〜図４も参照）をローカル・コンピュータ１８、２６、または２７に挿入し、媒体２１、２５、または３５からの実行可能アプリケーションを、ローカル・コンピュータ１８、２６、または２７上の仮想メモリにロードする。ユーザが入力データをローカルに検証することに成功し（例えば、長さが６から２０文字の間のユーザ名、および長さが８から１５文字の間のパスワード）（ステップＳ４００〜Ｓ４０６）、前述のように遠隔地においてログオンに成功した（ステップＳ４０８〜Ｓ４１０）後、そしてリモート・サーバが、受け渡された情報全てがデータベースにおけるエントリに一致したことを検証した（ステップＳ４０８においてＹｅｓ）後、リモート・アプリケーション・サーバはアカウント・メニューと共にデータをローカル・コンピュータに返送する（ステップＳ４１２）。次いで、ローカル・コンピュータは、ユーザがアクセスするアカウントを選択するのを待つ（ステップＳ４１４）。ユーザがアカウントを選択した後、選択したアカウントに対するログオン画面をロードする（ステップＳ４１６）。これを遂行するには、アカウントのリモート・サーバ（群）からその画面をコールし、ログオン画面モジュールをアカウントのリモート・サーバ（群）からローカル・コンピュータに転送し、それを仮想メモリに入れ、次いでローカル・コンピュータ上にログオン画面を表示する。次いで、アプリケーションは、ユーザがデータを入力しログオンを開始するのを待つ（ステップＳ４１８）。次いで、アカウントに対して同様のログオン・プロセスを実行する。ユーザがアカウントにログオンするのに成功した後、アカウントに対するメイン・メニューをダウンロードし、ローカル・コンピュータ上に表示することができる。
【００４９】
図９を参照すると、ユーザがログオンに成功し、メイン・メニューがリモート・アプリケーション・サーバ（群）からローカル・コンピュータに表示のために転送された後、ローカル・コンピュータはユーザがプロセスを選択するのを待つ。例えば、本開示の一実施形態によれば、ユーザの処理要求に素早く応答するために、プロセスを小さなプロセス・モジュールに細分する。プロセス・モジュールは、１つの画面またはプロセス全体を構成することができる。図９に表示するような仮想ソフトウェア・アプリケーションを用いると、アプリケーションは、ユーザが選択するために、３つの主要な処理機能を有する。銀行は、本開示の実施形態を採用すれば、保険情報および処理または株式業務処理等のような機能を、減少または増大させて提供することを選択することができる。仮想ソフトウェア・アプリケーションは、プロセスを採用しているクライアントの想像によって限定されるだけである。
【００５０】
本開示のこの実施形態にしたがって採用する３つの主要プロセスは、ユーザ口座情報４４０、資金移動４４２、およびオンライン請求書支払い４４６である。これらの部門の各々は、１つのプロセス・モジュールまたは複数のプロセス・モジュールで構築することができる。一旦ユーザが機能と、当該機能に関係するプロセス・モジュール（群）を選択したなら、プロセス・モジュール（群）をリモート・サーバ（群）からコールし、ローカル・コンピュータにダウンロードし、仮想環境（例えば、ローカル・コンピュータ１８のＲＡＭ）にロードし、実行する。
【００５１】
プロセス・モジュール（群）をローカル・コンピュータにダウンロードし、仮想環境に一旦ロードする。その後この機能に入力する場合はいつでも、ユーザの最初の要求のときに、仮想ソフトウェア・アプリケーションに追加されたプロセス・モジュールを用いる。
【００５２】
図１０Ａおよび図１０Ｂを参照して、ユーザは、図９において特定した口座情報４４０を選択したと仮定する。この場合、リモート・アプリケーション・サーバ（群）をコールし（ステップＳ５００）、口座リスト・モジュールをダウンロードし、仮想環境（例えば、ローカル・コンピュータ１８におけるＲＡＭ）にロードする。口座リスト・モジュールのロードが完了したなら（ステップＳ５０２）、リモート・データ・サーバ（群）をコールし、リモート・データ・サーバにおいて照会を実行し、口座のリストを口座リスト・モジュールにダウンロードして表示する（ステップＳ５０４）。本開示のこの実施形態によれば、口座リスト・モジュールは、ユーザに利用可能な口座のリストをその口座残高、キーおよび外部キー、ならびに表示してもしなくてもよいその他の任意の関連データと共に表示する画面のみから成る。
【００５３】
次いで、ユーザは確認する口座を選択し（ステップＳ５０６）、仮想ソフトウェア・アプリケーションはリモート・サーバをコールし（ステップＳ５０６）、口座詳細モジュールをダウンロードして、ローカル・コンピュータ１８内の仮想メモリにロードする（ステップＳ５０８）。次いで、口座詳細モジュールはリモート・データ・サーバ（群）からデータを呼び出し、リモート・データ・サーバにおいてクエリを実行して、関連データを抽出する（ステップＳ５１２）。次いで、このデータをローカル・コンピュータに転送し、仮想ソフトウェア・アプリケーションにロードし、表示する（ステップＳ５１４）。
【００５４】
本開示の一実施形態によれば、プロセスは、以前に表示した口座を確認するためまたは新たな口座を確認するために、このセクション（例えば、口座情報４４０）において何らかの後続入力があれば、それに合わせて変化する。即ち、この実施形態によれば、アプリケーション・モジュールのためにリモート・アプリケーション・サーバにコールすることは、もはやない。何故なら、これらは、ユーザがアプリケーションを終了するまで、ローカル・コンピュータ１８のメモリに残留するからである。
【００５５】
口座情報セクションへのその後の入力プロセスでは、口座リスト・モジュールを表示する（ステップＳ５１６）。ユーザは、確認のために口座を選択し（ステップＳ５１８）、口座詳細モジュールが表示される（ステップＳ５２０）。次いで、口座詳細モジュールは、リモート・データ・サーバへのコールを行い（ステップＳ５２２）、リモート・データ・サーバにおいて照会を実行し、口座のリストを口座リスト・モジュールにダウンロードして表示する（ステップＳ５２４）。
【００５６】
これより図１１Ａおよび図１１Ｂを参照し、図９において特定した資金移動４２２をユーザが選択したと仮定する。リモート・アプリケーション・サーバ（群）に対してコールを行い（ステップＳ６００）、資金移動モジュールをダウンロードし、ローカル・コンピュータ１８内の仮想環境（例えば、ＲＡＭ）にロードする（ステップＳ６０２）。資金移動モジュールのロードが完了すると、リモート・データ・サーバ（群）に対してコールを行い、ユーザの納入業者リストを資金移動モジュールにダウンロードして表示する（ステップＳ６０４）。本開示のこの実施形態によれば、移動モジュールは、全体的なアプリケーションのこの部分についての表示および全ての処理セクションを含む。全ての資金移動動作は、このモジュールによって完了し、データ・サーバ（群）へのコールだけが行われ、データを送出および受信する（ステップＳ６０６）。資金移動モジュールを仮想環境にロードし、初期データ転送が完了した後（ステップＳ６０６）、アプリケーションはユーザの相互作用を待つ。ユーザは、画面上に表示された対応するボタンをクリックすることによって、資金を移動する元となる口座、資金を移動する先の口座、および移動する金額を選択することができる（ステップＳ６０８）。リセット・ボタン上でクリックすることにより、リセット選択肢（ステップＳ６１０）を実行する。このボタンは、画面上にある入力フィールドの各々に無またはゼロ値を入力する機能を開始し（ステップＳ６１２）、次いでアプリケーションはユーザの相互作用を待つ。
【００５７】
ユーザは、口座および移動する金額を選択するか、またはメイン・メニューに戻ることができる（図９）。ユーザが口座および移動する金額を選択し、資金移動ボタン上でクリックすると（ステップＳ６１４）、コールが実行され、ユーザ・データをリモート・データ・サーバに処理のために送る（ステップＳ６１６）。リモート・データ・サーバにおいて、データを受信し、データを照会し、一方の口座から他方へ資金を移動する。移動は、即時に行うことができ、または銀行の次のバッチ・プロセスにおける処理に合わせて予定を立てることもできる。処理を完了した後、処理結果をローカル・コンピュータに返送し、仮想ソフトウェア・アプリケーションにロードし、画面上に表示する（ステップＳ６１８）。次いで、ユーザはサインイン・メニューに戻るか、または支払い画面に戻ることができる。
【００５８】
このセッションの間に、その後このアプリケーションのセクション（例えば、資金移動４４２）に入力が行われたときはいつでも、資金移動モジュールを表示し（ステップＳ６２０）、選択口座入力データ画面において、口座情報を入力する。ステップＳ６２４〜Ｓ６３２は、対応するステップＳ６１０〜Ｓ６１８と同様であり、簡潔さのために、詳細には説明しない。
【００５９】
図１２を参照し、図９において特定したオンライン請求書支払い（４６６）をユーザが選択したと仮定する。リモート・アプリケーション・サーバ（群）に対してコールを行い（ステップＳ７００）、オンライン請求書支払いモジュールをダウンロードし、ローカル・コンピュータ内の仮想環境にロードする（ステップＳ７０２）。オンライン請求書支払いモジュールのロードを完了すると、リモート・データ・サーバ（群）に対してコールを行い、ユーザの納入業者リストをオンライン請求書支払いモジュールにダウンロードして、表示する（ステップＳ７０４）。本開示のこの実施形態によれば、オンライン請求書支払いモジュールは、アプリケーション全体のこの部分についての表示および全ての処理セクションを含む。オンライン請求書支払い動作の全ては、このモジュールによって完了し、リモート・データ・サーバ（群）へのコールだけが行われ、データを送出および受信する。
【００６０】
オンライン請求書支払いモジュールを仮想環境にロードし、初期データ転送が完了した後、アプリケーションはユーザの相互作用を待つ。ユーザは、納入業者を選択し、支払い金額を入力すること、および／または新たな納入業者を追加することができる。
【００６１】
支払いを行う際、ユーザは納入業者を選択し（ステップＳ７０６）、支払い金額、支払いを行う日付、および支払いの頻度(frequency)を入力する（ステップＳ７０８）ことができる。次いで、ユーザはプロセス支払いボタン上でクリックし、リモート・データ・サーバに対するコールを行って、支払い情報を処理のために送る（ステップＳ７１０）。
【００６２】
データ・サーバにおいて、データを受信する。データを照会し、支払いを追加し、データベースにおいてあらゆる追加の支払いプロセスを実行する（例えば、支払いを処理する予定を組む）。処理が完了した後、処理結果をローカル・コンピュータに返送し、仮想ソフトウェア・アプリケーションにロードし、画面上に表示する。次いで、ユーザはメイン・メニューに戻るか、または支払い画面に戻ることができる。
【００６３】
ユーザが支払いのために新たな納入業者を追加する必要がある場合、ユーザは、画面上に表示されている「新納入業者」ボタン上でクリックすれば、新納入業者画面が表示される（ステップＳ７１２）。ユーザは、名称、住所、および口座番号というような、納入業者に関する情報を入力し（ステップＳ７１４）、支払い金額を入力する（ステップＳ７１６）。次いで、ユーザは納入業者追加ボタンをクリックし、リモート・データ・サーバに対してコールを行い、納入業者情報を送る（ステップＳ７１８）。
【００６４】
リモート・データ・サーバにおいて、データを受信し、検証し、エラー・チェックを行い、データベースに追加するかまたは拒絶する。リモート・データ・サーバにおいてデータ処理の結果を完成し、このモジュールの初期画面上に表示するために、データをローカル・コンピュータに返送し、ユーザの相互作用を待つ。
【００６５】
このセッションの間に、その後このアプリケーションのセクションに入力が行われたときはいつでも、オンライン請求書支払いモジュールを初期画面に表示する（ステップＳ７２０）。次いで、後続の処理は全て、前述の最初の入力時と同一である。即ち、ステップＳ７２２〜Ｓ７３２はステップＳ７０６〜Ｓ７１８と同様であり、簡潔さのために、説明しない。
【００６６】
高レベルのセキュリティに備えるために、ユーザがシステムからログ・アウトするとき、またはそれ以外でセッションから離れるとき（例えば、ローカル・コンピュータを停止する）、本開示の実施形態が利用した仮想環境を格納していたエリアに、全てゼロ、全て１、ランダムなデータ等を上書きすることによって、ローカル・コンピュータ１８内のＲＡＭを消去することができる。このような高レベルのセキュリティが必要でない場合、ＲＡＭは、ローカル・コンピュータ上における他のアプリケーションが用いるために、単に解放すればよい。
【００６７】
Adobe社のFlash開発ツールのような製品を、本開示の実施形態を実現するための開発プラットフォームとして用いると、インターネット上のＵＲＬが、ローカル・コンピュータの記憶コンポーネントの延長であるかのように、動作させることが可能となる。
【００６８】
本開示の一実施形態によれば、配布モジュール上にある実行モジュールを作成し仮想環境にロードするように用意されている。環境が作成されると直ぐに、実行モジュールはコールを行い、最初の動作モジュールを仮想環境にロードする。
【００６９】
本開示の態様による動作モジュールは、コール、ロード・コマンドによって、外部モジュールまたはその他の動作モジュールから仮想環境にロードすることができる任意のアプリケーション、またはアプリケーションの一部である。動作モジュールは、他の動作モジュールをコールすることによってメニューとして、または情報を求めてデータ・サーバに対するコールを行う機能アプリケーションとして、あるいは双方の組み合わせとして実行することができる。
【００７０】
ローカル・コンピュータ上では、仮想環境において動作するアプリケーションは、転送するデータを暗号化することもできる。次いで、アプリケーションは、暗号化したデータを、データ・サーバ（群）を特定するＵＲＬに送る。
【００７１】
データ・サーバ上における受信プロセスは、ウェブ・サービス・コネクタ、または.cfmページのような、インターネット上のページとすることができ、.cfmはColdfusionページの拡張子である。本開示のこの実施形態では、サーバに基づく処理にColdfusionを選択した。何故なら、これは、そのままでFlashに適応し、本開示の実施形態を作成するために用いた開発ツールであるからである。Flashは、.php、.asp、.net等を含む多数のインターネット・アプリケーション・プロトコルと相互作用することができる。
【００７２】
データ・サーバに対するコールは、以下の機能のいずれでも、または全てを含むことができる。
１．アプリケーションが送ったデータを解読する。
【００７３】
２．ＯＤＢＣ準拠データベースに対して照会を行う。照会は、データの抽出、データの追加、またはデータの編集を含むことができる。
３．データの追加処理を実行する。
【００７４】
４．得られたデータを暗号化する。
５．ローカル・コンピュータ上の仮想環境内にあるアプリケーションにデータを返送する。
【００７５】
次いで、ローカル・コンピュータ上にある仮想ソフトウェア・アプリケーションはデータを解読し、結果をユーザに表示する。
本開示の実施形態を実現するには、Adobe社のFlashソフトウェアを利用することができる。Adobe Flashソフトウェアは、ディジタル、ウェブ、および移動体プラットフォームに合わせて豊富なインタラクティブ・コンテンツを作成するために用いられるオーサリング環境である。Flash は、当初アニメーション・ツールとして設計された。従前からの漫画を映画化するのと同じように、Flashは、互いに重ね合わせたレイヤを有するように設計されており、レイヤの全てを通じたビューが完全なビューを呈示する。アニメーション化した漫画の場合、基本レイヤは何もない空色の画面とすることができる。次のレイヤは、その上の白い雲を有することができる。基準レベル上に重ねると、白い雲が空に示される。次のレベルは、山とすることができ、これらが青い背景の底面(bottom)を遮るので、３つのレイヤを通して見ると、青い空および白い雲がある山の場面が得られる。後続の各レイヤは、ムービーに新たな要素を追加し、これらのエレメントは、その下にあるものを遮ることになる。
【００７６】
また、Flashは、アプリケーションの設計および作業にも同様に用いることができる。モジュールのレイヤを互いの上に重ね、モジュールを新たなレイヤ上に追加する限り、他のモジュールの全ては表示のために利用可能である。これらのレイヤに対する付番方式は、基準レイヤの０から始まり、数千ものレイヤを基準レイヤ上に重ねることができ、他のいずれのモジュールも除去する必要はない。既にモジュールを収容しているレイヤにモジュールをロードする場合、アプリケーションにおいて新たなモジュールが古いモジュールと入れ代わる。
【００７７】
仮想ソフトウェアの開発では、０は基準レイヤ、または「起動」モジュールをロードするレイヤである。次いで、後続の各モジュールをこのレイヤの上または下に積層する。レイヤをロードするには、順次法(sequential methodology)を用いる必要はない。しかしながら、２つのモジュールが同じレイヤを共有することはできない。全てのモジュールの配置を追跡し続けることは重要である。何故なら、終了するときには、全てのレイヤを「アンロード」しなければならないからである。即ち、レイヤをアンロードする場合、モジュール内に格納または表示されている全てのデータもFlashから除去する。これは、複数のアプリケーションにアクセスを提供する媒体にとっては重要となる。即ち、セキュリティを向上するためには、ユーザは、１つのアプリケーションからのデータが背景内で浮遊することや、異なるアプリケーションに利用可能になることは望まない。
【００７８】
本開示の一実施形態によれば、Flashを用いてアプリケーションを構築する場合、基準レベル即ち０レベルには「起動」モジュールを配置し、レベル１０は「ログオン」モジュールを収容する。これら２つのモジュールを標準化することによって、アプリケーションが用いるデータへのアクセスを効果的に制御することができる。
【００７９】
以下に、本開示の種々の態様を実現する方法を説明する。この説明は、本開示の開発プロセスおよび機能性を理解するのに役立つ。勿論、本明細書に記載する方法は、仮想ソフトウェアを開発するために利用することができる方法だけでなく、請求項または請求項の範囲を限定することを意図するのではないことは認められよう。この説明は、Adobe Flashを用いた開発に特定的であるが、Flash内部においてであっても、これがアプリケーションを開発する唯一の方法ではない。いずれのアプリケーションの開発にも微妙な差異があり、そのためにプロセスを異なる経路に導く可能性がある。したがって、この説明は、厳格な規則の集合ではなく、開発に対する指針と見なすこととする。
【００８０】
仮想ソフトウェア・アプリケーション環境を作成するプロセスは、種々の方法で実現することができる。現在ブラウザ・ウィンドウ内で走るソフトウェア・アプリケーションの殆どいずれでも、仮想ソフトウェア環境において走るように変換することができる。本開示の一実施形態による仮想ソフトウェア環境の２つの突出した特徴は、キー認識、およびログオン画面のロードである。これら２つのステップがアクセスを付与し、データを管理する。データ管理の問題は、１つの配布媒体が複数の組織にアクセスを付与するために用いられると、特に重要となる可能性がある。
【００８１】
セキュリティ強化のために、種々のシステムを用いることができる。例えば、本開示の実施形態は、ウィンドウス・クリプトＡＰＩ(windows crypto API)を用いた標準的なＳＳＬを用いることができる。更に高いレベルのセキュリティには、媒体上における暗号化チップ技術と合わせて、実施形態を実現することができる。採用するセキュリティのレベルは、ユーザの個々の必要性に応じて変更することができる。このように、各アプリケーションは、ユーザの使用に合わせて個別設計することができる。
【００８２】
キー認識は、本開示の種々の態様によるセキュリティ・プロセスの重要な部分とすることができる。キー認識は、媒体（例えば、スマート・カード）に特定の組織のアプリケーションにアクセスさせ、キーが認識されない場合、媒体を完全に遮断する。組織は、それ自体のキー・データベースを維持することができ、あるいはキー・データベースを外部サービスによって制御することもできる。外部サービスにキー・データベースを制御させることの便益は、利用者がキーを複数の口座に対して相互引用できることである。例えば、利用者が、その金融組織、健康保険提供業者、年金計画および投資管理サービス等のような複数のソースから媒体を受信する場合がある。外部サービスは、相互引用プロセスを提供することができるので、これらのキーの内任意のものが利用者の口座の全てへのアクセスを提供することができる。これらの配布媒体キーのいずれかを紛失した場合、そのキーをディスエーブルすることができるが、他のキーはいずれも、相互引用されている他の口座の各々へのアクセスを提供し続ける。
【００８３】
本開示の態様は、フラッシュ・ドライブを配布媒体として用いる場合を参照しながら説明する。勿論、フラッシュ・ドライブの使用は非限定的であり、本開示の態様は、他の種類の配布媒体を利用しても実用化することができることは認められよう。
【００８４】
以下に、本開示の種々の態様を実現するために用いることができるプロセスを実行するために用いられるアプリケーションまたはモジュールの一部について説明する。
本開示の一実施形態によれば、「起動」アプリケーションを配布媒体内に設ける。キー認識は、配布媒体内に配布される「起動」アプリケーションにおいて完了する。「起動」アプリケーションは、数個の機能を実行し、これらの機能には、アプリケーションが動作する環境を作成し、ＵＲＬをキー・データベースおよび「ログオン」モジュールに供給し、ＷＥＢサービス・コネクタを用いてまたは標準的なＵＲＬへのコールによってデータベースに接続し、サーバ・レベルにおいて実行されるキー妥当性判断を検証し、「ログオン」モジュールをロードすることを含む。
【００８５】
媒体、およびこの媒体上で提供される「起動」アプリケーションは、殆ど値のデータを収容しない。しかしながら、媒体を紛失したりまたは盗まれた場合でも、媒体にリバース・エンジニアリングやディコンパイルがかけられる現実的な公算は殆どない。キーには、暗号化チップを通じて、これらのチップを市場に現在供給している第三者が提供する、チップに関するセキュリティを設けることができる。理論的には、暗号化チップは、キー番号を露出する時点で、文字どおり１つのレイヤを磨く(sand down)ことができるが、このプロセスは精巧であり、精巧な電子機器および技法を必要とする。いずれにしろ、暗号化チップが損なわれるという、可能性が低い状況においても、唯一の露出は、１つの媒体およびそれに関連があるアカウントに対してだけである。本開示の態様によれば、媒体を紛失したと報告された場合、サーバ上でキーにインアクティブの印を付けることができ、損なわれたキーを役に立たなくすることができる。本開示の一実施形態によれば、キー照会に対するインアクティブな応答が、暗号化チップを自己破壊させることもできる。
【００８６】
何らかの理由で、「起動」アプリケーション自体が損なわれた場合、ハッカーに入手可能なデータは、キー・データベースのＵＲＬ、および「ログオン」モジュールをロードするために用いられるＵＲＬだけである。クライアントのデータおよびアプリケーションの位置は、損なわれない。これは、「ログオン」モジュールの設計によって保証される。「ログオン」モジュールは、残りのアプリケーション・モジュールおよびデータベース（群）のＵＲＬを収容する。
【００８７】
先に記したように、キーはアクティブまたは非アクティブのいずれかである。望まれるセキュリティのレベルに応じて、検証中にキーがアクティブでないと判断された場合、媒体上のチップおよび関連する回路は、チップに「自己破裂」させることができるように、および／またはキーがもはや有効でないことを述べるメッセージを提示するように設計することができる。チップが破壊された媒体には、キーを再度検証する理由は全くない。相互参照データベースは、そのキーを除去するように修正することができる。ある者が再度配布媒体を使用しようとして、「起動」アプリケーションが再度そのキーのチップからの読み取りを検査した場合、データベースに対してコールすることなく、キーがアクティブでないことを述べるメッセージを表示することができる。
【００８８】
キーがアクティブな場合、キー検証に成功した後、「起動」アプリケーションは「ログオン」モジュールをロードし、全ての制御を「ログオン」モジュールに移管する。本開示の一実施形態によれば、これは、「起動」アプリケーションにおいて最後に実行する機能を、「ログオン」モジュールのロードにすることによって、行うことができる。
【００８９】
「ログオン」モジュールは、本開示の種々の実施形態が利用する仮想ソフトウェアの種々の態様にとって、突出した特徴である。「ログオン」モジュールは、キーを有する配布媒体の保持者が許可されたユーザであることを更に検証するプロセスを提供する。ログオン中に用いられたユーザ名およびパスワードは、あらゆるオンライン・アプリケーションと同様に機能するが、追加のデータを１つ、即ち、暗号化キーを転送する。リモート・サーバ側では、リモート・サーバが、ユーザ名、パスワード、およびキーの組み合わせが正しいことを検証する。これら３つのフィールドの組み合わせのいずれかが正しくない場合、プロセスは「無効ユーザ」メッセージを、ローカル・コンピュータにおける「ログオン」モジュールに返送し、ユーザに表示する。これによって、キーを保持している人が真の所有者であること、または少なくとも真の所有者のログオン情報を彼らのキーと共に有することを保証する。
【００９０】
組織は、ログオン・プロセスにおけるアクセス制御のために、追加のパラメータ・チェックを追加することができる。ここで望むことは、ユーザの許可の範囲に該当しないソフトウェア全体のセクションへのユーザ・アクアセスを排除することである。このレベルでパラメータ・チェックを実行することによって、クライアントはモジュールをダウンロードしてセキュリティを高める必要性を解消することができる。このレベルのセキュリティの一例に、車両を製造する計画および概要(schematics)へのアクセスを提供する自動車会社（例えば、組織）がある。この組織は、データへのアクセスをサブコントラクタに提供したいが、サブコントラクタには、自動車全体ではなく、彼らの仕事を完成させるために必要なデータにアクセスするだけにして欲しい。各サブコントラクタに利用可能なデータ・アクセスを制限するように、パラメータを設定することができる。
【００９１】
キーが有効であり、ログオン情報が正しいと仮定すると、アプリケーションは次の論理モジュールをロードする。本開示の一実施形態によれば、次にロードするモジュールは「制御」モジュールである。この実施形態によれば、制御モジュールは、ボタン／リンクの１群を、利用可能なプロセスに表示し、および／または追加の表示情報を提供することもできる。
【００９２】
本開示の一実施形態によれば、モジュールから１つを選択し、これを例外なくデータのための保管場所として常に用いる。例えば、この実施形態によれば、「ログオン」モジュールは、常にデータの保管場所として用いられる。データを配置し保持するプロセスは、モジュール固有である。即ち、モジュールがロードされている限り、データは、現在アプリケーションにロードされている他のいずれのモジュールにも利用可能である。「ログオン」モジュールをアンロードすると、全てのデータがメモリから一掃され、アプリケーションの残りの部分にも、更に後続のいずれのアプリケーションにももはや利用可能ではなくなる。
【００９３】
本開示の一実施形態によれば、「ログオン」モジュールをアンロードすることによるデータのメモリからの一掃により、表示されているデータおよび処理のために用いられるデータの双方全てに対するアクセスが除去される。別の実施形態によれば、「ログオン」モジュールをアンロードすると、他のアプリケーション・モジュールの表示フィールドに格納されているデータを除いて、表示されているデータおよび処理のために用いられるデータの全てに対するアクセスが除去される。本開示の一実施形態によれば、「制御」モジュールに「終了機能」を設ける。データがロードされる毎に、エントリをこの機能に書き込み、そのレイヤをアンロードする。終了機能を実行すると、データを収容している各レイヤをアンロードし、これらのモジュールにおいて表示されているデータも全てアンロードする。本システムは、アプリケーションのレベル毎にモジュール・アンロードを実行する。未実装レベル(unpopulated level)をアンロードするコマンドは、無視される。
【００９４】
以下の説明は、銀行組織の要件の一例を実現する本開示の一実施形態に該当する。
本開示の一実施形態によれば、「制御」モジュールは、ログオンが完了した後にロードされる最初のモジュールである。「制御」モジュールは、画面の左片に沿ってボタンを表示し、各ボタンは、アプリケーションまたは機能のモジュールに対応する。これらのボタンは、アプリケーションの他のモジュールと相互作用を行う。これらのボタンの１つをクリックすると、モジュールをロードする（未だロードされていない場合）か、またはモジュールを表示する（既にロードされている場合）。
【００９５】
一実施形態によれば、「アカウント」モジュールが、制御モジュールの直後にロードされる次のモジュールであり、ユーザの相互作用なしにロードすることができる。「アカウント」モジュールは、アカウント画面の上辺にわたってタブを表示する。各タブは、「制御」モジュールにおけるボタンのように機能する。即ち、タブを選択すると、モジュールがロードされる（未だロードされていない場合）か、または既にロードされている場合、モジュールが表示される。現在選択されているタブは、他のタブとは異なる色になる。
【００９６】
「アカウント情報」モジュールは、次にロードされるモジュールであり、ユーザの相互作用なしにロードすることができる。このモジュールは、この組織を通じて利用可能な口座のリストを表示する。例えば、組織が銀行のような金融組織である場合、その銀行でのユーザの口座リストが表示される。リストには、ユーザ・ログオンが成功した後に照会されログオン・モジュールにロードされたデータが入れられる。ユーザがある口座上でクリックすると、選択されたアカウントキーをサーバに送る機能がコールされ、次いでサーバはクエリを処理して、ある日付の範囲内でキーに関係するアカウントの詳細を全て選択する。次いで、結果をアプリケーションに戻し、「ログオン」モジュールに格納する。結果が戻されると、アプリケーションは「アカウント情報」を隠し、「アカウント詳細」モジュールをロードする、即ち、出現させ、「アカウント詳細」モジュールに表示するために、クエリからの結果をロードする。
【００９７】
「口座詳細」モジュールは、ユーザの要求に応じてロードされる。ユーザが「口座情報」モジュールにおいてある口座上でクリックすると、「ログオン」モジュールにおける機能が実行されて、銀行データベースに、当該口座に関係する業務処理のリストを照会する。口座キー変数を「ログオン」モジュール機能に受け渡し、照会すべき口座を特定する。次いで、「ログオン」モジュールは照会プロセスを走らせ、サーバから結果が返送されると、口座詳細モジュールをロードまたは表示し、照会の結果を表示する。このモジュールでは、表示は、スクロール・バーに添付するテキスト・ボックスである。このボックスは、データが全て表示されることを確保するように設定されたタブを有し、照会結果は、一度に１行ずつロードされる。本開示の一実施形態によれば、ボタンを表示することができ、これをクリックしたときに、業務処理に関係するチェック画像が格納されている場合、チェックが表示される。
【００９８】
「口座」または「制御」モジュールにおいて「資金移動」ボタン上でクリックしたことの結果、「移動」モジュールをロードまたは表示する。このモジュールは、２つのドロップ・ダウン、コンボ、ボックスを有し、これらには、利用者の口座およびその残高のリストが、選択のために収納されている。利用者は、「移動元」口座および「移動先」口座を選択し、次いで移動する金額、移動の日付、および移動の頻度を入力する。次いで、受入ボタン上でクリックすることによって、データをリモート・サーバに送り、銀行による夜間バッチ処理のために格納する。
【００９９】
「口座」または「制御」モジュールにおいて「請求書支払い」ボタン上でクリックしたことの結果、「請求書支払い」モジュールをロードして表示する。このモジュールは、ユーザに納入業者をユーザの口座データベースに追加させ、ユーザに請求書支払い金額および支払い日付を設定させる。ユーザは、支払いの日付、または支払いの頻度、例えば、毎週または毎月を指定することができる。これらの支払いは、夜間バッチにおいて受取人によって処理することができる。
【０１００】
銀行のバッチ処理は、既にしかるべく存在していると思われ、本開示のこの実施形態を用いた利用者による相互作用における変化による影響を受けないので、これについては論じない。
【０１０１】
「口座」または「制御」モジュールにおいて「顧客支援」ボタン上でクリックしたことの結果、「顧客支援」モジュールをロードして教示する。「顧客支援」モジュールは、利用者についてのテキスト情報へのアクセスを提供する。「顧客支援」モジュールは、テキスト・ボックスに、ボックスの右側に沿ってスクロール・バーを設け、長すぎるデータをボックス内に納まるように表示する。このボックスには、選択したボタンに基づいたデータを収納することができる。これによって、複数のページまたはモジュールをロードする必要性を排除する。
【０１０２】
本開示の種々の態様は、ディジタル電子回路において、またはコンピュータ・ハードウェア、ファームウェア、ソフトウェア、あるいはこれらの組み合わせにおいて実現することができる。本システムは、コンピュータ・プログラム生産物、即ち、情報担体、例えば、機械読み取り可能記憶デバイスまたは伝搬信号において実体的に具体化した、データ処理装置、例えば、プログラマブル・プロセッサ、コンピュータ、または複数のコンピュータによる実行のため、またはその動作を制御するためのコンピュータ・プログラムとして実現することができる。コンピュータ・プログラムは、コンパイル言語またはインタプリタ言語を含む任意の形態のプログラミング言語で書くことができ、単体プログラム、またはモジュール、コンポーネント、サブルーチン、あるいは計算環境における使用に適したその他のユニットを含む、あらゆる形態で展開することができる。コンピュータ・プログラムは、１カ所における１つのコンピュータまたは複数のコンピュータ上で実行するように、または複数の場所に分散し通信ネットワークによって相互接続するように展開することができる。
【０１０３】
本開示と関連のある方法ステップは、入力データを処理して出力を発生することにより、本開示の機能を実行するコンピュータ・プログラムを実行する１つ以上のプログラマブル・プロセッサによって実行することができる。また、方法ステップは、特殊目的論理回路、例えば、ＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）またはＡＳＩＣ（特定用途集積回路）によって実行することができ、本開示の装置は、特殊目的論理回路として実現することができる。
【０１０４】
コンピュータ・プログラムの実行に適したプロセッサは、一例として、汎用マイクロプロセッサおよび特殊目的マイクロプロセッサの双方、ならびに任意の種類のディジタル・コンピュータの１つ以上の任意のプロセッサを含む。一般に、プロセッサは、命令およびデータをリード・オンリ・メモリまたはランダム・アクセス・メモリあるいは双方から受け取る。コンピュータのエレメントには、命令を実行するプロセッサと、命令およびデータを格納する１つ以上のメモリ・デバイスとがある。一般に、コンピュータは、データを格納するための１つ以上の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含むか、あるいはこれらからデータを受け取るまたはこれらにデータを転送する、あるいは双方を行うように動作的に結合されている。コンピュータ・プログラム命令およびデータを具体化するのに適した情報担体には、全ての形態の不揮発性メモリが含まれ、一例として、半導体メモリ・デバイス、例えば、ＥＰＲＯＭ（消去可能プログラマブル・リード・オンリ・メモリ）、ＥＥＰＲＯＭ（電気的消去可能プログラマブル・リード・オンリ・メモリ）、およびフラッシュ・メモリ・デバイス、磁気ディスク、例えば、内部ハード・ディスクまたはリムーバブル・ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（コンパクト・ディスク・リード・オンリ・メモリ）、およびＤＶＤ−ＲＯＭ（ディジタル・バーサタイル・ディスク・リード・オンリ・メモリ）が含まれる。プロセッサおよびメモリは、特殊目的論理回路によって補うこと、またはその中に組み込むことができる。
【０１０５】
ユーザとの相互作用に備えるために、本開示の態様は、情報をユーザに表示するためのディスプレイ・デバイス、例えば、ＣＲＴ（陰極線管）またはＬＣＤ（液晶ディスプレイ）モニタと、ユーザが入力をコンピュータに供給することができるキーボードおよびポインティング・デバイス、例えば、マウスまたはトラック・ボールを有するコンピュータ上で実現することができる。また、ユーザとの相互作用に備えるために、他の種類のデバイスを用いることもできる。例えば、ユーザに提供するフィードバックは、任意の形態の検知フィードバックでも可能であり、例えば、視覚フィードバック、聴覚フィードバック、触覚フィードバックがあり、ユーザからの入力は、音響、音声、または接触入力を含む、任意の形態で受け取ることができる。
【０１０６】
本開示の態様は、バック・エンド・コンポーネントを、例えば、データ・サーバとして含む計算システム、またはミドルウェア・コンポーネント、例えば、アプリケーション・サーバを含む計算システム、あるいはフロント・エンド・コンポーネント、例えば、グラフィカル・インターフェースまたはウェブ・ブラウザを含み、ユーザがこれによって本開示の実施態様と相互作用を行うことができる計算システム、あるいはこのようなバック・エンド・コンポーネント、ミドルウェア・コンポーネント、またはフロント・エンド・コンポーネントの任意の組み合わせにおいて実演することができる。計算システムのコンポーネントは、ディジタル・データ通信の任意の形態または媒体、例えば、通信ネットワークによって相互接続することができる。通信ネットワークの例には、ローカル・エリア・ネットワーク（「ＬＡＮ」）、およびワイド・エリア・ネットワーク（「ＷＡＮ」）、例えば、インターネットが含まれる。
【０１０７】
計算システムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に、互いに離れており、通例通信ネットワークを通じて相互作用する。クライアントおよびサーバの関係は、それぞれのコンピュータ上で走り、互いに対してクライアント−サーバ関係を有するコンピュータ・プログラムによって生ずる。
【０１０８】
特定的な実施形態に関して、本開示を説明した。他の実施形態も、以下の請求項の範囲に該当する。例えば、本システムは、更に大きなシステムにおけるコンポーネントとして記載したが、他のシステムの中でまたは単体システムとして実現することもできる。
【０１０９】
以上の教示を検討すれば、本開示の多数の更に別の修正や変形も可能である。したがって、添付した請求項の範囲内において、本開示は、具体的に本明細書で説明したこと以外でも実用化できることは言うまでもない。例えば、異なる例示的実施形態のエレメントおよび／または特徴を互いに組み合わせること、および／または互いに交換することも、本開示および添付した請求項の範囲内で可能である。
【図１】
2010527050.tif 000003
【図２】
2010527050.tif 000004
【図３】
2010527050.tif 000005
【図４】
2010527050.tif 000006
【図５】
2010527050.tif 000007
【図６】
2010527050.tif 000008
【図７】
2010527050.tif 000009
【図８】
2010527050.tif 000010
【図９】
2010527050.tif 000011
【図１０】
2010527050.tif 000012
【図１１】
2010527050.tif 000013
【図１２】
2010527050.tif 000014
【国際調査報告】
2010527050.tif 000015