(57)【要約】  アプリケーションへのアクセスを提供するための方法、装置、およびコンピュータ命令。アプリケーションへのアクセスのためのクライアントからの要求の受信に応答して、クライアントにおけるオペレーティングシステムが識別される。オペレーティングシステムの識別に応答して、クライアントについてアプリケーションの適切なバージョンが選択される。アプリケーションの適切なバージョンの実行のためにクライアントにおいて要求されるファイルがクライアントに送信される。アプリケーションの適切なバージョンがクライアントにおいて使用される時間量を識別するための課金プロセスが開始される。【特許請求の範囲】
【請求項１】
アプリケーションへのアクセスを提供するためのデータ処理システムにおける方法であって、前記アプリケーションへのアクセスのためのクライアントからの要求の受信に応答して、前記クライアントにおけるオペレーティングシステムを識別するステップと、前記オペレーティングシステムの識別に応答して、前記クライアントについて前記アプリケーションの適切なバージョンを選択するステップと、前記アプリケーションの前記適切なバージョンの実行のために前記クライアントにおいて要求されるファイルを前記クライアントに送信するステップと、前記アプリケーションの前記適切なバージョンが前記クライアントにおいて使用される時間量を識別するための課金プロセスを開始するステップとを含む方法。
【請求項２】
前記アプリケーションの前記適切なバージョンの使用を休止するためのユーザ入力に応答して、時間量の増大を休止するステップをさらに含み、前記休止が有効な間、前記アプリケーションの前記適切なバージョンは読み込み専用モードにロックされる請求項１に記載の方法。
【請求項３】
前記アプリケーションの前記適切なバージョンの使用を終了するユーザ入力に応答して、識別された時間量を形成するために時間量を識別するステップと、ユーザへの請求において使用するために前記識別された時間量を格納するステップとをさらに含む請求項１に記載の方法。
【請求項４】
課金エージェントをクライアントに送信するステップをさらに含み、前記課金エージェントは、前記時間量に関するステータス情報の表示を提供する請求項１に記載の方法。
【請求項５】
前記課金エージェントは、前記アプリケーションの前記適切なバージョンの使用についての現在の料金も表示する請求項４に記載の方法。
【請求項６】
アプリケーションへのアクセスを提供するためのデータ処理システムであって、前記アプリケーションへのアクセスのためのクライアントからの要求の受信に応答して前記クライアントにおけるオペレーティングシステムを識別するための識別手段と、前記オペレーティングシステムの識別に応答して前記クライアントについて前記アプリケーションの適切なバージョンを選択するための選択手段と、前記アプリケーションの前記適切なバージョンの実行のために前記クライアントにおいて要求されるファイルを前記クライアントに送信するための送信手段と、前記クライアントにおいて前記アプリケーションの前記適切なバージョンが使用される時間量を識別するために課金プロセスを開始するための開始手段とを含むデータ処理システム。
【請求項７】
前記アプリケーションの前記適切なバージョンの使用を休止するためのユーザ入力に応答して時間量の増大を休止するための休止手段をさらに含み、前記休止が有効な間、前記アプリケーションの前記適切なバージョンは読み込み専用モードにロックされる請求項６に記載のデータ処理システム。
【請求項８】
前記アプリケーションの前記適切なバージョンの使用を終了するユーザ入力に応答して、識別された時間量を形成するために時間量を識別する手段と、ユーザへの請求において使用するために前記識別された時間量を格納する手段とをさらに含む請求項６に記載のデータ処理システム。
【請求項９】
課金エージェントをクライアントに送信するための送信手段さらに含み、前記課金エージェントは、前記時間量に関するステータス情報の表示を提供する請求項６に記載のデータ処理システム。
【請求項１０】
デジタルコンピュータの内部メモリにロード可能なコンピュータプログラムであって、前記コンピュータプログラムがコンピュータ上で実行される場合に、請求項１〜５に記載の発明を実行するためのソフトウェアコード部分を含むコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、改善されたデータ処理システムに関し、より詳細には、データを処理するための方法および装置に関する。さらに詳細には、本発明は、アプリケーションへのアクセスを提供するための方法、装置およびコンピュータ命令に関する。
【背景技術】
【０００２】
今日のパーソナルホームコンピューティング環境において、ユーザは、様々な作業を実行するために、様々なアプリケーションソフトウェアを購入し、保守する。これらの作業としては、ワードプロセッシングプログラムを用いた手紙またはメモのような文書作成が含まれる。加えて、ユーザは財務プログラムを用いて予算および個人的な財務計画を保守することがある。電子メールプログラムは、メッセージを送受信するために使用される。多くの時間および金銭が、このアプリケーションソフトウェアのアップグレードに空費される。製品によっては、「バグ」またはセキュリティホールと共にインストールおよび配信される。これらのアプリケーションのインストールは典型的には、修正、パッチまたはアップグレードあるいはそれら全部を導入するために再インストールの手間を必要とする。
【０００３】
加えて、ユーザが購入した多くのソフトウェアパッケージは、ユーザが全く使用しないアプリケーションを含んでいる。例えば、ユーザは、ワードプロセッシングプログラム、表計算プログラム、電子メールプログラム、およびデータベースアクセスプログラムとバンドルされたアプリケーションパッケージを購入することがある。多くの場合、そのユーザは、データベースアクセスプログラムを全く使用しない。結果として、そのユーザは、そのパッケージをインストールすることによって金銭とディスクスペースとを無駄にしたことになる。加えて、場所および市場によっては、ホームユーザの中には、特定の作業を完了するためにアプリケーションを必要とするが、それらのアプリケーションは簡単に利用できないと感じるユーザもいる。例えば、ベンダは、特定の国において、特定のアプリケーションまたはアプリケーションのバージョンを提供できないことがある。さらに、ビジネスユーザの中には、職場では利用可能であるが、ある種の作業を家庭から実行するために家庭では実行できないアプリケーションを必要とする。
【０００４】
多くのソフトウェアベンダが毎年のようにソフトウェアパッケージ用アップグレードを送り出すので、さらに時間と金銭が浪費される。ユーザは、これらのより最近のバージョンにおける新機能を使用するために、これらのグレードアップの購入を強いられる。これらの新しい文書またはファイルを共有するために、他のユーザは、これらの新しい文書またはファイルを使用するために自分たちのソフトウェアパッケージをアップグレードすることを強いられる。なぜならば、これらの文書またはファイルは、ソフトウェアパッケージのより新しいバージョンで作成されたものであり、より古いバージョンの文書またはファイルと互換性がないことがあるからである。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従って、それらのアプリケーションの保守を必要とすることなくユーザがアプリケーションにアクセスできるようにするための改善された方法、装置およびコンピュータ命令を有することは有利であろう。
【課題を解決するための手段】
【０００６】
本発明は、アプリケーションへのアクセスを提供するための方法、装置、およびコンピュータ命令を提供する。アプリケーションへのアクセスのためのクライアントからの要求の受信に応答して、クライアントにおけるオペレーティングシステムが識別される。そのクライアントについてアプリケーションの適切なバージョンが、オペレーティングシステムの識別に応答して選択される。アプリケーションの適切なバージョンの実行のためにクライアントにおいて要求されるファイルがクライアントに送信される。アプリケーションの適切なバージョンがクライアントにおいて使用される時間量を識別するために、課金プロセスが開始される。
【０００７】
別の面から見ると、本発明は、アプリケーションにアクセスするためのデータ処理システムを提供し、このデータ処理システムは、サーバからのアプリケーションの要求に応答してデータ処理システムにおいてアプリケーションを実行するためにサーバからファイルを受信するための受信手段と、サーバからのファイルを用いてデータ処理システムを実行するための実行手段と、データ処理システムにおけるアプリケーションの実行に応答して経過時間量を識別するためにタイマを開始するための開始手段と、経過時間がその中に表示されるステータスウィンドウを表示するための表示手段と、ユーザ入力に応答してタイマを休止するための休止手段と、ユーザ入力に応答してアプリケーションを読み込み専用モードに配置するための配置手段とを含む。好ましくは、本発明は、クライアントにおける課金エージェントによって開始されたタイマを用いて経過時間量が識別され、課金エージェントがファイル中でデータ処理システムにおいて受信される、データ処理システムを提供する。
【０００８】
好ましくは、本発明は、第２のユーザ入力に応答してアプリケーションを読み込み専用モードから移動させるための移動手段と、タイマを開始するための開始手段とをさらに含むデータ処理システムを提供する。
【０００９】
好ましくは、本発明は、アプリケーションの使用を終了するユーザ入力に応答して、停止されたタイマを形成するためにタイマを停止するための停止手段と、アプリケーションの使用を終了するユーザ入力終結に応答して停止されたタイマにより示された経過時間量をサーバに送信するための送信手段とをさらに含む請求項１５のデータ処理システムを提供する。
【００１０】
別の面から見ると、本発明は、アプリケーションにアクセスするためのデータ処理システムにおける方法を提供し、この方法は、サーバからのアプリケーションの要求に応答してデータ処理システムにおいてアプリケーションを実行するためにサーバからファイルを受信するステップと、サーバからのファイルを用いてデータ処理システムを実行するステップと、データ処理システムにおけるアプリケーションの実行に応答して経過時間量を識別するためにタイマを開始するステップと、経過時間量がその中に表示されるステータスウィンドウを表示するステップと、ユーザ入力に応答してタイマを休止するステップと、ユーザ入力に応答してアプリケーションを読み込み専用モードに置くステップとを含む。
【００１１】
好ましくは、本発明は、クライアントにおいて課金エージェントによって開始されたタイマを用いて経過時間量が識別され、課金エージェントがファイル中でデータ処理システムにおいて受信される方法を提供する。
【００１２】
好ましくは、本発明は、第２のユーザ入力に応答してアプリケーションを読み込み専用モードから移動させるステップと、タイマを開始するステップとをさらに含む方法を提供する。
【００１３】
好ましくは、本発明は、アプリケーションの使用を終了するユーザ入力に応答して、停止されたタイマを形成するためにタイマを停止するステップと、アプリケーションの使用を終了するユーザ入力に応答して、停止されたタイマにより示された経過時間量をサーバに送信するステップとさらに含む方法を提供する。
【００１４】
本発明の実施形態は、例示のみの目的で、添付図面を参照して詳細に説明される。
【発明を実施するための最良の形態】
【００１５】
図を参照すると、図１は、本発明が実施され得るデータ処理システムのネットワークの概略図を示す。ネットワークデータ処理システム１００は、本発明が実行され得る複数のコンピュータのネットワークである。ネットワークデータ処理システム１００は、ネットワーク１０２を含んでおり、これは、ネットワークデータ処理システム１００内で一緒に接続された様々なデバイスとコンピュータとの間の通信リンクを提供するために使用される媒体である。ネットワーク１０２は、有線、無線通信リンク、または光ファイバケーブルのような接続を含み得る。示された例において、サーバ１０４は、ストレージユニット１０６と共にネットワーク１０２に接続されている。さらに、クライアント１０８、１１０、１１２、および１１４がネットワーク１０２に接続されている。クライアント１０８、１１０、および１１２は、例えば、パーソナルコンピュータまたはネットワークコンピュータとすることができる。クライアント１１４は、パーソナルデジタルアシスタント（ＰＤＡ）のようなポータブルクライアントである。示された例において、サーバ１０４は、ブートファイル、オペレーティングシステムイメージ、およびアプリケーションのようなデータをクライアント１０８〜１１２に提供する。クライアント１０８、１１０、および１１２は、サーバ１０４に対するクライアントである。ネットワークデータ処理システム１００は、図示されていない付加的なサーバ、クライアント、およびその他のデバイスを含み得る。示された例において、ネットワークデータ処理システム１００はインターネットであり、ネットワーク１０２は、互いに通信するためにＴｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ（ＴＣＰ／ＩＰ）プロトコルセットを使用するネットワークおよびゲートウェイの世界的な集積を表している。データおよびメッセージを送る数千の商業的、政府、教育的およびその他のコンピュータシステムから成る、主ノードまたはホストコンピュータの間の高速データ通信ラインのバックボーンがインターネットの中核にある。当然、ネットワークデータ処理システム１００は、例えば、イントラネット、ローカルエリアネットワーク（ＬＡＮ）、または広域ネットワーク（ＷＡＮ）のような、多くの異なるタイプのネットワークとしても実施され得る。図１は、１つの例とすることを意図されるものであり、本発明についてのアーキテクチャ的制約とすることを意図するものではない。図２を参照すると、図１におけるサーバ１０４のようなサーバとして実施し得るデータ処理システムのブロック図が、本発明の好ましい実施形態に従って示されている。データ処理システム２００は、システムバス２０６に接続された複数のプロセッサ２０２および２０４を含む対称型マルチプロセッサ（ＳＭＰ）システムとすることができる。代わりに、シングルプロセッサシステムを使用することができる。システムバス２０６には、ローカルメモリ２０９へのインタフェースを提供するメモリコントローラ／キャッシュ２０８も接続されている。Ｉ／Ｏバス２１０ブリッジは、システムバス２０６に接続されており、Ｉ／Ｏバス２１２へのインタフェースを提供する。メモリコントローラ／キャッシュ２０８およびＩ／Ｏバスブリッジ２１０は、示されているように統合し得る。
【００１６】
Ｉ／Ｏバス２１２に接続された周辺機器相互接続（ＰＣＩ）バス２１４ブリッジは、ＰＣＩローカルバス２１６へのインタフェースを提供する。多数のモデムがＰＣＩローカルバス２１６に接続され得る。典型的なＰＣＩバス実装は、３つまたは４つのＰＣＩ拡張スロットまたはアドインコネクタをサポートする。図１におけるクライアント１０８〜１１２への通信リンクは、アドインボードを介してＰＣＩローカルバス２１６に接続されたモデム２１８およびネットワークアダプタ２２０を介して提供され得る。
【００１７】
付加的なＰＣＩバスブリッジ２２２および２２４は、付加的なＰＣＩローカルバス２２６および２２８のためのインタフェースを提供し、これらの付加的ＰＣＩローカルバスから付加的なモデムまたはネットワークアダプタがサポートされ得る。このように、データ処理システム２００は、複数のネットワークコンピュータへの接続を可能にする。メモリマップグラフィックアダプタ２３０およびハードディスク２３２も、示されるように、直接的か間接的にＩ／Ｏバス２１２に接続され得る。
【００１８】
当業者は、図２に示されたハードウェアが様々であり得ることを理解するであろう。例えば、光ディスクドライブ等の他の周辺機器も、示されたハードウェアに加えてまたはこれに代えて使用され得る。示された例は、本発明に関してのアーキテクチャ的制約を暗に示すことを意図するものではない。図２に示されるデータ処理システムは、例えば、Ａｄｖａｎｃｅｄ  Ｉｎｔｅｒａｃｔｉｖｅ  Ｅｘｅｃｕｔｉｖｅ（ＡＩＸ）（ＩＢＭ社の登録商標）オペレーティングシステムまたはＬＩＮＵＸ（Ｒ）オペレーティングシステムを実行するニューヨーク州アーモンクのインターナショナル・ビジネス・マシーンズ・コーポレーションの製品であるＩＢＭ  ｅＳｅｒｖｅｒ  ｐＳｅｒｉｅｓシステム（ＩＢＭ社の登録商標）とすることができる。図３を参照すると、本発明を実施し得るデータ処理システムを例示するブロック図が示してある。データ処理システム３００は、クライアントコンピュータの１例である。データ処理システム３００は、周辺機器相互接続（ＰＣＩ）ローカルバスアーキテクチャを使用する。示される例は、ＰＣＩバスを使用しているが、Ａｄｖａｎｃｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ（ＡＧＰ）およびＩｎｄｕｓｔｒｉａｌ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＩＳＡ）のような他のバスアーキテクチャも使用し得る。プロセッサ３０２およびメインメモリ３０４は、ＰＣＩブリッジ３０８を介してＰＣＩローカルバス３０６に接続されている。ＰＣＩブリッジ３０８は、プロセッサ３０２のための統合されたメモリコントローラおよびキャシュメモリも含み得る。ＰＣＩローカルバス３０６への付加的な接続は、直接的な機器相互接続またはアドインボードを介して行い得る。示された例において、ローカルエリアネットワーク（ＬＡＮ）アダプタ３１０、ＳＣＳＩホストバスアダプタ３１２、および拡張バスインタフェース３１４は、直接的な機器接続によりＰＣＩローカルバス３０６に接続される。対照的に、オーディオアダプタ３１６、グラフィックスアダプタ３１８、およびオーディオ／ビデオアダプタ３１９は、拡張スロットに挿入されたアドインボードによりＰＣＩローカルバス３０６に接続される。拡張バスインタフェース３１４は、キーボードおよびマウスアダプタ３２０、モデム３２２、ならびに付加的なメモリ３２４のための接続を提供する。スモールコンピュータシステムインタフェース（ＳＣＳＩ）ホストバスアダプタ３１２は、ハードディスクドライブ３２６、テープドライブ３２８、およびＣＯ−ＲＯＭドライブ３３０のための接続を提供する。典型的なＰＣＩローカルバス実装は、３つまたは４つのＰＣＩ拡張スロットまたはアドインコネクタをサポートする。オペレーティングシステムがプロセッサ３０２において動作し、図３のデータ処理システム３００内の様々な構成要素の制御を調整し提供するために使用される。オペレーティングシステムは、マイクロソフト・コーポレーションから入手可能なＷｉｎｄｏｗｓＸＰ（Ｒ）のような商業的に利用可能なオペレーティングシステムとすることができる。Ｊａｖａ（Ｒ）のようなオブジェクト指向プログラミングシステムは、オペレーティングシステムと同時に動作して、データ処理システム３００上で��行するＪａｖａプログラムまたはアプリケーションからオペレーティングシステムにコールを提供することができる。「Ｊａｖａ」は、サン・マイクロシステムズ・インコーポレイテッドの登録商標である。オペレーティングシステム、オブジェクト指向プログラミングシステム、およびアプリケーションまたはプログラムのための命令は、ハードディスクドライブ３２６のようなストレージデバイス上に置かれており、プロセッサ３０２による実行のためにメインメモリ３０４にロードされ得る。
【００１９】
当業者は、図３でに示されたハードウェアが実施に応じて変わり得ることを理解するであろう。フラッシュリードオンリーメモリ（ＲＯＭ）、同等の不揮発性メモリ、または光ディスクドライブ等の他の内部ハードウェアまたは周辺機器は、図３に示されるハードウェアに加えてまたはこれに代えて用い得る。また、本発明のプロセスは、マルチプロセッサデータ処理システムに適用され得る。
【００２０】
別の例として、データ処理システム３００は、何らかのタイプのネットワーク通信インタフェースに頼ることなく起動可能に構成された独立型システムとすることができる。さらなる例として、データ処理システム３００は、パーソナルデジタルアシスタント（ＰＤＡ）デバイスとすることができ、これは、オペレーティングシステムファイルまたはユーザ生成データあるいはその両方を格納するための不揮発性メモリを提供するために、ＲＯＭまたはフラッシュＲＯＭあるいはその両方で構成されている。図３に示される例および上述の例は、アーキテクチャ的制約を暗に示すことを意図するものではない。例えば、データ処理システム３００は、ＰＤＡの形態を取るだけでなく、ノートブック型コンピュータまたはハンドヘルドコンピュータとすることもできる。データ処理システム３００は、キオスクまたはウェブアプライアンスとすることもできる。
【００２１】
本発明は、ユーザがアプリケーションを保守する必要なくそれらのアプリケーションにアクセスできるようにするための改善された方法、装置、およびコンピュータ命令を提供する。本発明の機構は、リモートサーバに置かれたアプリケーションにユーザがアクセスできるようにする。クライアントのユーザは、リモートサーバにコールまたはログインし、使用のためにアプリケーションを要求し得る。そのような要求に応答して、アプリケーションの実行に必要なクリティカルファイルがクライアントに送信される。これらのファイルは、アプリケーションを適切に実行するためにクライアントが必要とするファイルである。
【００２２】
クライアントは、これらのアプリケーションを実行し、アプリケーションが使用される時間量に基づいて課金される。加えて、サーバに接続されることなくユーザがアプリケーションを使用できないようにするために、いくつかの必須ファイルがサーバ上で保守される。この機構は、クライアントコールサービスとも呼ばれ、ホームユーザがいつでもどこからでもどのようなアプリケーションも実行できるようにする。
【００２３】
本発明の機構により、ユーザがアップグレードしたり、パッチまたは修正をインストールしたり、見つけるのが困難なアプリケーションの場所を特定する必要がなくなる。これらの説明的な例において、アプリケーションは、多くの同時ユーザがそのアプリケーションを使用できるようにする同時使用ライセンスを介してベンダから購入される。
【００２４】
図４を参照すると、ユーザへのアプリケーションの提供において用いられる構成要素を例示する図が、本発明の好ましい実施形態に従って示してある。この説明的な例において、クライアントコールサービス（ＣＣＳ）サーバ４００は、ＣＣＳクライアント４０２によりアクセスされ得る。特に、ＣＣＳクライアント４０２におけるユーザは、ＣＣＳサーバ４００に置かれたアプリケーション４０４のうちの１つ以上を使用することを望むことがある。これらのアプリケーションは、様々なライセンシングおよび購入契約を経てベンダ４０６からＣＣＳサーバ４００上に置かれる。これらの説明的な例において、アプリケーション４０４をＣＣＳサーバ４００上に置くために同時使用ライセンスが要求される。この説明的な例におけるＣＣＳサーバ４００は、図２におけるデータ処理システム２００のようなデータ処理システム上のソフトウェアとして実施し得る。ＣＣＳサーバ４００は、顧客またはクライアント情報を顧客プロファイル中に格納することにより種々のユーザにアクセスを提供する。この説明的な例において、この顧客プロファイルは、例えば、氏名、請求先住所、および電子メールアドレスを含む。
【００２５】
ＣＣＳサーバ４００は論理サーバであり、実際には１群の物理サーバの形を取り得る。このサーバは、種々のベンダからのアプリケーションを、クリティカルファイル４０８中に格納されているクリティカルインストールファイルと共にＣＣＳクライアント４０２に配信する機能と共に含んでいる。これらの説明的な例において、ＣＣＳサーバ４００は、適切なパッチおよびアップグレードがすでに適用された最新のアプリケーションを含んでいる。結果として、クライアントのユーザは、どのような種類のパッチもアップグレードも実行することを要求されない。ＣＣＳクライアント４０２は、ＣＣＳサーバ４００と通信するために高速または広帯域接続を用いる。アプリケーション４０４を使用するために、ＣＣＳクライアント４０２は、ＣＣＳサーバ４００に登録する。これらの例においては、ユーザファイルは、セキュリティ上の理由のためＣＣＳクライアント４０２上に局所的に保持される。これらのユーザファイルは、クリティカルファイル４０８と共に格納される。アプリケーションファイルのみが、ＣＣＳサーバ４００とＣＣＳクライアント４０２との間のネットワークデータ処理システムを越えて配信される。ネットワークデータ処理システムがインターネットを含む場合に、そのような特徴は特に重要である。ＣＣＳクライアント４０２は、図３におけるデータ処理システム３００のようなデータ処理システム上で実行されるソフトウェアとして実施し得る。
【００２６】
課金プロセス４１０は、どのソフトウェアアプリケーションがクライアントにより使用されているかを監視し、課金目的のためのデータを生成する監視プロセスである。このデータは格納され、ユーザについての月次明細書に組み込まれ得る。課金プロセス４１０は、クライアント側コンポーネント、課金エージェント４１２も含む。課金エージェント４１２は、ユーザにステータス情報を提供するための課金ウィンドウ４１４を表示する。この情報は、例えば、現在使用されているアプリケーションの名称を、それらのアプリケーションそれぞれの価格と共に恒常的に含んでいる。いくつかのアプリケーションは他のアプリケーションよりも使用が高価なことがあるので、これらの価格が示される。課金ウィンドウ４１４は、これらの示された例においては、１分ごとに更新される。加えて、セッションについて総費用のランニングタブも、課金ウィンドウ４１４内に表示され得る。課金エージェント４１２は、課金ウィンドウ４１４を介してアクセスできる休止機能も提供する。もしユーザがクリティカルファイル４０８の使用を「休止する」必要があれば、ユーザは、適切なユーザ入力を入力してクリティカルファイル４０８の使用を休止し得る。これらの説明的な例において、入力は、課金ウィンドウ４１４内に表示される休止ボタンを介してなされ得る。ユーザは、例えば、電話に出るためまたは文書を読むためような理由でクリティカルファイル４０８の使用を休止する必要があることがある。アプリケーション用のウィンドウは、ＣＣＳクライアント４０２上に表示され続けるが、アプリケーションは、ロックされたまたは読み込み専用モードになっている。
【００２７】
この説明的な例において、ＣＣＳクライアント４０２におけるユーザは、ＣＣＳサーバ４００にログオンして、複数のアプリケーション４０４から１つのアプリケーションを探し出す。アプリケーションは、例えば、編集またはワードプロセッシングアプリケーションであり得る。ＣＣＳサーバ４００は、クライアントのオペレーティングシステムを確認し、適切なファイルをＣＣＳクライアント４０２に送信してクリティカルファイル４０８を形成する。ユーザが編集プロセスを完了してアプリケーションを閉じると、ユーザは次に電子メールまたはノーツプログラムをアプリケーション４０４から探し出す。このアプリケーションのためのファイルは、アプリケーション４０４からクリティカルファイル４０８に送信される。個人的な住所録のようなファイルは、クリティカルファイル４０８の一部として永続的に格納される。ユーザは次に、画像を添付した電子メールメッセージを生成し、そのメッセージを送信する。ユーザは次に、アプリケーションを閉じ、ＣＣＳサーバ４００からログオフする。これを受けて、課金エージェント４１２は、課金情報をＣＣＳサーバ４００に送り返す。課金プロセス４１０は、この情報を格納し、月ごとのようなある周期ごとに総使用請求書を生成する。この請求書は、ユーザにより使用されたすべてのアプリケーションおよび時間を集約しており、この請求書はユーザに送られる。
【００２８】
次に図５を参照すると、課金ウィンドウを例示している図が、本発明の好ましい実施形態に従って示してある。課金ウィンドウ５００は、図４における課金ウィンドウ４１４の１例である。理解されるように、課金ウィンドウ５００は、ライン５０２および５０４にアプリケーションを列挙している。加えて、各ラインは、アプリケーション各々についての１分あたり価格（price per minute: ＰＰＭ）も示している。また、これまでの使用についての総費用も、課金ウィンドウ５００上に表示されている。この例においては、ライン５０２は、Ｌｏｔｕｓ  Ｎｏｔｅｓ（ＩＢＭ社の登録商標）がユーザにより使用された１つアプリケーションであることを示しており、ライン５０４のＭｉｃｒｏＳｏｆｔ  Ｗｏｒｄ（Ｒ）がユーザにより選択された第２のアプリケーションである。ユーザは、「休止」ボタン５０６を選択することにより、アプリケーションの使用を休止し得る。このボタンを選択すると、アプリケーションがロックまたはフリーズされるという結果になる。ユーザは依然としてウィンドウを閲覧できるが、そのプログラムのための機能は停止されている。このように、ユーザは、アプリケーションがユーザによって使用されてない時の使用について請求されることなく、電話に出たり文書を読んだりといった他の作業を処理することができる。次に図６を見ると、サーバ上のアプリケーションへのアクセスをユーザに提供するためのプロセスのフローチャートが、本発明の好ましい実施形態に従って示してある。図６に例示されるプロセスは、図４におけるＣＣＳサーバ４００のようなサーバプロセスにおいて実施され得る。
【００２９】
このプロセスは、アプリケーションの要求をクライアントから受信すること（ステップ６００）から始まる。この要求は、クライアントにおいて表示されるアプリケーションのリストからユーザがアプリケーションを選択することにより受信され得る。その後、そのクライアントのためのオペレーティングシステムが識別される（ステップ６０２）。オペレーティングシステムのこの識別は、クライアントから受信された要求の一部としてなされ得る。代わりに、クライアントのオペレーティングシステムは、ユーザが使用のためにサービスに登録する際に識別され得る。次に、要求されたアプリケーションのバージョンが、識別されたオペレーティングシステムに基づいて選択される（ステップ６０４）。クリティカル実行ファイルがクライアントに送信される（ステップ６０６）。その後、課金プロセスがそのアプリケーションについて開始される（ステップ６０８）。これらの説明的な例におけるステップ６０８は、使用されているアプリケーションのためのタイマを開始することを含む。説明的な例における課金エージェント４１２は、アプリケーションについての使用量を識別するためにタイマを実行するためのプロセスを含んでいる。加えて、万一２つのシステム間の接続が偶発的に切断または終了されるといけないので、課金エージェント４１２は、課金プロセス４１０に情報を周期的に送り得る。伝送におけるこのデータは、「ハートビート」データとも呼ばれる。このように、セッションが閉じられてユーザがログオフすると、課金エージェント４１２は、最終的なデータセットを課金プロセス４１０に送信する。このデータは、使用されたアプリケーションの識別だけでなくセッションについての総使用を含んでいる。課金プロセス４１０は次に、課金目的のためにこの情報を格納する。
【００３０】
次に図７を参照すると、クライアントのアプリケーション使用を監視するためのプロセスのフローチャートが、本発明の好ましい実施形態に従って示してある。図７に例示されるプロセスは、図４における課金プロセス４１０のようなサーバ上の課金プロセスとして実施され得る。
【００３１】
このプロセスは、課金エージェントからデータを受信するためにある期間待機することにより開始する（ステップ７００）。その期間が経過した後、データが受信されたかどうかについて決定がなされる（ステップ７０２）。課金サービスは、課金エージェントからのハートビートデータを周期的に予期する。もしデータが受信されていれば、セッションが終了されるべきであることをデータが示しているかどうかについて決定がなされる（ステップ７０４）。もしセッションが終了されるべきであれば、受信されたデータから最終課金データが識別される（ステップ７０６）。この課金データは、そのセッションについて保存され（ステップ７０８）、プロセスはその後終了する。ステップ７０４を再度参照すると、もしセッションが終了されなければ、課金データは保存され（ステップ７１０）、プロセスは次にステップ７００に戻る。課金エージェントとの接続が万一失われた場合に、このデータが受信および保存される。このように、セッションの一部分についての課金のために何らかの課金情報が存在し得る。
【００３２】
ステップ７０２を再度参照すると、その期間の間にデータが受信されていなければ、タイムアウトが発生したかどうかの決定がなされる（ステップ７１２）。タイムが発生しなかったのであれば、プロセスはステップ７００に戻る。さもなければ、クライアントについて存在するどのような課金データも、セッションについての課金データとして保存される（ステップ７１４）。予期しない終了が発生したことを示すためにエラー報告が生成され（ステップ７１６）、プロセスはその後終了する、
【００３３】
図８を参照すると、本発明の好ましい実施形態に従って、クライアントにおけるアプリケーションの使用を監視するためのプロセスのフローチャートが示してある。図８に例示されるプロセスは、図４の課金エージェント４１２ような課金エージェントにおいて実施され得る。
【００３４】
このプロセスは、タイマを開始することにより始まる（ステップ８００）。タイマが開始された後、ステータスウィンドウが表示される（ステップ８０２）。ステップ８０２において表示されたステータスウィンドウは、図５におけるステータスウィンドウ５００と同様である。次に、ハートビートデータが課金プロセスに送信されるべきかどうかについての決定がなされる（ステップ８０４）。この決定は、何らかの選択された期間が経過したかどうかを見ることによりなされる。万一クライアントが不意に終了したり接続が終了されたりした場合には、データは典型的には、課金目的でなんらかのデータを提供するためにサーバにおける課金プロセスに周期的に送信される。
【００３５】
ハートビートデータが送信される必要がなければ、ステータスウィンドウの表示が更新される（ステップ８０６）。次に、アプリケーションを休止するユーザ入力が受信されたかどうかについて決定がなされる（ステップ８０８）。アプリケーションを休止するユーザ入力が受信されていなければ、セッションをログアウトまたは終了するユーザ入力が受信されたかどうかについて決定がなされる（ステップ８１０）。ユーザがセッションを終了させなければ、プロセスは、上述のようにステップ８０４に戻る。さもなければ、ステータスウィンドウは閉じられ（ステップ８１２）、課金データは課金プロセスに送信され（ステップ８１４）、プロセスはその後終了する。ステップ８１４において送信された課金データは、アプリケーションのために使用されたすべての時間の総計である。
【００３６】
ステップ８０８を再度参照すると、休止がユーザにより選択されれば、アプリケーションはロックされ（ステップ８１６）、タイマは休止される（ステップ８１８）。次に、ユーザがアプリケーションを休止解除したかどうかについて決定がなされる（ステップ８２０）。ユーザが休止解除したのであれば、アプリケーションはロック解除され（ステップ８２２）、次にタイマが開始され（ステップ８２４）、次にプロセスは、上述のようにステップ８０４に戻る。ステップ８０４を再度参照すると、ハートビートデータを送信するための決定がなされれば、ハートビートデータは課金プロセスに送信され（ステップ８２６）、次にプロセスは、上述のようにステップ８０６へ進む。従って、本発明は、アプリケーションへのアクセスをユーザに提供ための改善された方法、装置、およびコンピュータ命令を提供する。本発明の機構により、バグまたは更新に関連した問題を解決するためにユーザがどのような保守も実行する必要性がなくなる。アプリケーションのすべての更新、パッチ、および保守は、上記のようにＣＣＳサーバを介してサービスにより実行される。このように、ユーザは、ユーザが必要とするアプリケーションのみを選択することもでき、ユーザが決して必要としないかもしれないアプリケーションの代金を払う必要を回避する。さらに、ユーザは、ユーザの場所では容易に購入できない必要なアプリケーションにもアクセスし得る。
【００３７】
本発明が完全に機能的なデータ処理システムの文脈で説明されてきた一方で、当業者は、本発明のプロセスが命令のコンピュータ可読媒体の形態および様々な形態で配布され得ること、ならびに本発明は、配布を実行するために実際に使用されている信号を載せた媒体の特定のタイプにかかわらず、等しく適用されることを理解するであろうことを指摘するのは重要である。コンピュータ可読媒体の例としては、フレキシブルディスク、ハードディスクドライブ、ＲＡＭ、ＣＯ−ＲＯＭ、ＤＶＤ−ＲＯＭのようなレコーダブルタイプ媒体、ならびにデジタルおよびアナログ通信リンク、例えば、無線周波数および光波伝送のような伝送形態を用いる有線または無線通信リンクが含まれる。コンピュータ可読媒体は、特定のデータ処理システムにおいて実際に使用するために解読される符号化型式の形態を取ることができる。本発明の説明は、例示および説明の目的で提示されたものであって、網羅的であったり開示された形での本発明に限定されることを意図するものではない。多くの変更および変型が当業者にとり明らかになるであろう。例えば、説明的な実施形態は、休止ボタンが選択される際に、アプリケーションのすべてを解放またはロックする。特定の実施によっては、休止機能の使用は選択的とすることができ、その場合、ユーザは、アプリケーション全部ではなくて、アプリケーションのうちの１つまたはいくつかだけを休止することができる。実施形態は、本発明の原理、実用例をもっともうまく説明するため、および当業者が、意図された特定の使用に適した様々な変更を伴う様々な実施形態について本発明を理解できるようにするために、選択および記載された。
【図面の簡単な説明】
【００３８】
【図１】本発明が実施され得るデータ処理システムのネットワークの概略図である。
【図２】本発明の好ましい実施形態に従ってサーバとして実施され得るデータ処理システムのブロック図である。
【図３】本発明が実施され得るデータ処理システムを例示するブロック図である。
【図４】本発明の好ましい実施形態に従ってユーザにアプリケーションを提供する際に用いられる構成要素を例示する図である。
【図５】本発明の好ましい実施形態による課金ウィンドウを例示する図である。
【図６】本発明の好ましい実施形態に従ってサーバにおけるアプリケーションへのユーザアクセスを提供するためのプロセスのフローチャートである。
【図７】本発明の好ましい実施形態に従ってクライアントのアプリケーション使用を監視するためのプロセスのフローチャートである。
【図８】本発明の好ましい実施形態に従ってクライアントにおけるアプリケーションの使用を監視するためのプロセスのフローチャートである。
【図１】
2007520807.tif 000002
【図２】
2007520807.tif 000003
【図３】
2007520807.tif 000004
【図４】
2007520807.tif 000005
【図５】
2007520807.tif 000006
【図６】
2007520807.tif 000007
【図７】
2007520807.tif 000008
【図８】
2007520807.tif 000009
【国際調査報告】
2007520807.tif 000010
2007520807.tif 000011
2007520807.tif 000012