(57)【要約】【課題】  サービスへのアクセスを制御するためのアーキテクチャを提供する。【解決手段】  本アーキテクチャは、特定のコンピュータのリストのサーバで任意の手動の管理なしにすべてだが選択された数の同時に存在する申込者に関連するクライアントに対し規則的かつ周期的なサービスの拒否を許可する。管理されたリストを要求するよりむしろ、システムは、どのクライアントが動作中であるか発見し、アクティブリストに動作中のクライアントを置き、アクティブリスト上にないすべてのクライアントを排除する。システムは、申込者が無制限の数のクライアントを追加していない、または申込者が権利を与えられるより多い数のコンピュータ上にサービスを効率的に維持するためのプールの中におよび外へクライアントを循環させていないことを保証するための機構を提供する強制の１つまたは複数のルールを含む。【選択図】  図１
2005235177.tif 000002
【特許請求の範囲】
【請求項１】
申込者の申込みサービスによって１つまたは複数のルールを処理するルールコンポーネントと、
同時に接続した申込者のクライアントの数に従って、部分的に、申込みサービスを自動的に強制する１つまたは複数のルールを使用するサービスコンポーネントと
を備えることを特徴とする申込みサービスの管理を容易にするシステム。
【請求項２】
チャーンパラメータおよび頻度パラメータの少なくとも１つに従って申込みサービスの自動強制を容易にする１つまたは複数のルールをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項３】
クライアント／サーバ接続形態およびピアツウピアト接続形態の少なくとも１つで使用されることを特徴とする請求項１に記載のシステム。
【請求項４】
同時に接続したクライアントの各々は、申込みサービスの強制を容易にするクッキーを備えることを特徴とする請求項１に記載のシステム。
【請求項５】
接続したクライアントの各々は、許可されたクライアントのアクティブリストに置かれることを特徴とする請求項１に記載のシステム。
【請求項６】
同時に接続したクライアントの数を超えた場合、関連する申込者の他のクライアントは、サービスコンポーネントに接続することを許可されないことを特徴とする請求項１に記載のシステム。
【請求項７】
前記１つまたは複数のルールは、関連する申込者に対して、同時に接続した無制限の数のクライアントを許可するルールを含むことを特徴とする請求項１に記載のシステム。
【請求項８】
申込者のクライアントの動作を追跡し、その結果申込者に請求書を送付することを容易にする追跡コンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項９】
前記１つまたは複数のルールは、クライアントがその場その場の基準で接続を試みるとき、申込者のクライアントに自動的に適用されることを特徴とする請求項１に記載のシステム。
【請求項１０】
クライアントの、サービスコンポーネントに接続することおよびサービスコンポーネントから切断することのそれぞれに従ってダイナミックに投入されおよび減らされるアクティブリストをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項１１】
第１のピアクライアントが、第２のピアクライアントによって課せられる１つまたは複数のルールに対して、異なる、重なった、および同一の、少なくとも１つであるピアツウピア接続形態において使用されることを特徴とする請求項１に記載のシステム。
【請求項１２】
前記１つまたは複数のルールは、特定の時間間隔毎のチャーンの量を制限するルールをさらに含むことを特徴とする請求項１に記載のシステム。
【請求項１３】
請求項１に記載のシステムを使用することを特徴とするサーバ。
【請求項１４】
請求項１に記載のシステムを使用することを特徴とするコンピュータ。
【請求項１５】
請求項１に記載のシステムを実施するためのコンピュータ実行可能命令をそれに格納したことを特徴とするコンピュータ読み取り可能な媒体。
【請求項１６】
推定に従って処理するルールの履行を助ける分類子をさらに備えることを特徴とする請求項１に記載のシステム。
【請求項１７】
申込者の申込みサービスによって１つまたは複数のルールを処理するルールコンポーネントと、
同時に接続した申込者のクライアントの数に従って申込みサービスの自動強制を容易にする１つまたは複数のルールを使用するサービスコンポーネントと、
同時に接続したクライアントのアクティブリストを管理することによって申込みサービスの下でのクライアントの動作を追跡し、その結果申込者に請求書を送付することができる追跡サービスと
を備えることを特徴とする申込みサービスの下でサービスに対するクライアントのアクセスの制御を容易にするシステム。
【請求項１８】
申込者によって強制される１つまたは複数のルールは、別の申込者によって強制される１つまたは複数のルールと、同じ、部分的に重なる、および異なる、の少なくとも１つであることを特徴とする請求項１７に記載のシステム。
【請求項１９】
同時に接続されたクライアントの数を超えた場合、関連する申込者の他のクライアントは、サービスコンポーネントに接続することを許可されないことを特徴とする請求項１７に記載のシステム。
【請求項２０】
前記１つまたは複数のルールは、特定の時間間隔毎のチャーンの量を制限するルールをさらに含むことを特徴とする請求項１７に記載のシステム。
【請求項２１】
クライアント情報をローカルに格納することからクライアント情報をクライアント上に格納することに切り換えるタイミングの判断を容易にする分類子をさらに備えることを特徴とする請求項１７に記載のシステム。
【請求項２２】
申込みサービスによってサービスへのアクセスを提供するステップと、
同時に前記サービスにアクセスしているクライアントの数に少なくとも部分的に基づく１つまたは複数のルールに従ったサービスへのアクセスを自動的に制御するステップと、
前記サービスに同時にアクセスしている前記クライアントの１つが、どのくらいの頻度で新規のクライアントと置き換わることができるかの制御を容易にする１つまたは複数のルールのチャーンルールを処理するステップと、
クライアントの１つが、所与の時間期間にサービスにアクセスすることができる回数の制御を容易にする１つまたは複数のルールの頻度ルールを処理するステップと
を備えることを特徴とする申込みサービスの管理方法。
【請求項２３】
前記サービスへのアクセスを探索する新規のクライアントに対しアクセスを拒否するためのチャーンルールおよび頻度ルールの少なくとも１つを自動的に強制するステップをさらに備えることを特徴とする請求項２２に記載の方法。
【請求項２４】
申込みサービスの申込者がイベントとしてチャーンルールを破ることを許可するチャーンルールを処理するステップと、
各イベントに従って申込者に請求書を送付するステップと
をさらに備えることを特徴とする請求項２２に記載の方法。
【請求項２５】
申込みサービスの申込者が１つまたは複数のルールの選択されたルールを破ることを許可することによって１つまたは複数のルールを処理するステップと、
破られた前記１つまたは複数のルールの選択されたルールに従ってサービスのレベルを新しいサービスレベルに変更するステップと、
その後、前記新しいサービスレベルで申込者に請求書を送付するステップと
をさらに備えることを特徴とする請求項２２に記載の方法。
【請求項２６】
申込みサービスの申込者が１つまたは複数のルールの選択されたルールを破ることを許可することによって前記１つまたは複数のルールを処理するステップと、
破られた前記１つまたは複数のルールの選択されたルールに従ってサービスのレベルを新しいサービスレベルに変更するステップと、
破られた前記１つまたは複数のルールの選択されたルールが所定の時間期間に破られなかった後にサービスのレベルを戻すステップと
をさらに備えることを特徴とする請求項２２に記載の方法。
【請求項２７】
申込みサービスを管理する方法を実行するためのコンピュータ実行可能命令を有するコンピュータ読み取り可能な媒体であって、前記方法は、
前記申込みサービスによってサービスへのアクセスを提供するステップと、
前記サービスに同時にアクセスしている既存のクライアントのアクティブリストに従って前記サービスへのアクセスを追跡するステップと、
新規のクライアントによって前記サービスへのアクセスを処理するステップと、
前記サービスに同時にアクセスするクライアントの数を自動的に強制するステップと
を備えることを特徴とする。
【請求項２８】
前記処理の動作は、
前記サービスに同時にアクセスしている前記既存のクライアントの１つがどのくらいの頻度で新規のクライアントと置き換えられたかに従って新規のクライアントに対しアクセスを拒否するステップと、
所与の時間期間に前記新規のクライアントが前記サービスにアクセスした回数に従って新規のクライアントに対してアクセスを拒否するステップ
の少なくとも１つをさらに含むことを特徴とする請求項２７に記載の方法。
【請求項２９】
前記処理の動作は、
新規のクライアントに前記サービスにアクセスすることを認可するステップと、
前記新規のクライアントを前記アクティブリストに置くステップと、
既存のクライアントを前記アクティブリストから離し保留リストに移動させるステップと
をさらに含むことを特徴とする請求項２７に記載の方法。
【請求項３０】
前記強制する動作は、
同時に接続したクライアントの少なくとも１つをはじき出すステップと、
前記既存のクライアントの一部を再認証するステップと、
再認証されたクライアントの一部を前記アクティブリストに戻すステップと
をさらに含むことを特徴とする請求項２７に記載の方法。
【請求項３１】
クライアントへクッキーを送信するステップと、
認証処理の間、前記クライアントが前記サービスにアクセスすることを容易にするため前記クッキーにアクセスするステップと
を備えることを特徴とする請求項２７に記載の方法。
【請求項３２】
申込みサービスによってサービスへのアクセスを提供する手段と、
前記サービスに同時にアクセスしている既存のクライアントの数に従って新規のクライアントによって前記サービスへのアクセスを処理する手段と、
前記サービスへのアクセスを追跡する手段と、
いくつものルールによって前記サービスに同時に接続しているクライアントの数を自動的に強制する手段と
を備えることを特徴とする申込みサービスの管理を容易にするシステム。
【請求項３３】
前記サービスにアクセスするために接続している前記クライアントを認可する手段と、
前記アクティブリスト上に前記接続しているクライアントを置く手段と、
既存のクライアントを前記アクティブリストから離し保留リストに移動させる手段
の少なくとも１つをさらに備えることを特徴とする請求項３２に記載のシステム。
【請求項３４】
前記既存のクライアントの一部を再認証する手段と、
再認証されたクライアントの一部を前記アクティブリストに戻す手段
の少なくとも１つをさらに備えることを特徴とする請求項３２に記載のシステム。
【請求項３５】
クッキーをクライアントに送信する手段と、
認証処理の間、前記クライアントが前記サービスにアクセスすることを容易にするためクッキーにアクセスする手段と
をさらに備えることを特徴とする請求項３２に記載のシステム。
【請求項３６】
前記サービスに同時にアクセスしている既存のクライアントのアクティブリストを維持する手段をさらに備えることを特徴とする請求項３２に記載のシステム。
【請求項３７】
前記ルールの選択されたルールを強制するタイミングを決定する手段をさらに備えることを特徴とする請求項３２に記載のシステム。
【請求項３８】
クライアントがどのように接続を許可されるかにおける優先度を決定する手段をさらに備えることを特徴とする請求項３２に記載のシステム。
【請求項３９】
申込者に対するサービスのレベルを、時間期間にわたるクライアントの動作に従って自動的に適合させる手段をさらに備えることを特徴とする請求項３２に記載のシステム。
【請求項４０】
自動的に強制するための前記手段は、テーブル無しのシステムであって、管理者がテーブルを管理する必要無しに前記サービスの申込者が追跡されることを特徴とする請求項３２に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアサーバシステムに関し、特に、申込者のトラッキングおよび管理を容易にするサーバアーキテクチャに関する。
【背景技術】
【０００２】
所定数（象徴的に「ｎ」）の同時に動作中のクライアント（各クライアントは、別のマシン上で動作する）に対する権利を申込者（ｓｕｂｓｃｒｉｂｅｒ）に与える申し込み（ｓｕｂｓｃｒｉｐｔｉｏｎ）は、発行することができまたは購入することができ、申し込みは、中央サーバ上のアクセスサービスに対する権利をクライアントに与える。各クライアントは、周期的だがルール的ではない、サーバのサービスを要求することができる。このような機構のための１挑戦は、申込者が、「ｎ」より多い同時に動作するクライアントを有することを妨げられるというポリシーまたはルールを強制する。同時に、申込者が、資格が与えられるさらなるサービスを効率的に得るために、サーバにアクセスしているクライアントを、システマティックに回転させないことを保証することが重要である。
【０００３】
これを管理する１つの方法は、各申込者に一意な識別子を割り当て、サービスを提供されるべきクライアントのリストを明示的に維持するよう申込者に求めることである。この管理されるリストは、サーバにアップロードされ、クライアントがサーバに接続を試みる際にいつでも、サーバは、接続しているクライアントが、接続を許可されたクライアントのリストにあるかどうか判断するために照合を行う。申込者は、認可されたリストから、マシンを付加するおよび／または除去する責任がある。
【０００４】
この方法の不利な点は、明示的にリストを維持するために、申込者とサービスプロバイダの両方に負担をかけるという点である。サービスプロバイダは、増加する運営コストをもたらすこれらのリストの維持を容易にするためのコンピュータベースおよび電話ベースのサービスセンタ資源を持たなければならないかもしれない。申込者は、簡単には新規のクライアントをコンセントにつなぐ（ｐｌｕｇ  ｉｎ）ことも古いクライアントのプラグを抜くこともできない。申込者は、最新の完全なデータベースを維持しなければならない。さもなければ、望まれるレベルのサービスは、失敗するであろう。これはまた営業費の増加につながる。例えば、申込者がそのサービスへ新規のクライアントを接続し、あっさりと古いクライアントのリタイアを選択する場合、申込者は、リストへのアクセスなしにそうすることはできない。大きな組織では、これは、情報テクノロジー管理スタッフの別の負担に相当する。
【０００５】
既存の自動ライセンシングの方式の１つは、「フローティングライセンス（ｆｌｏａｔｉｎｇ  ｌｉｃｅｎｓｅ）」サーバを使用することである。ライセンスサーバは、集中資源（ｃｅｎｔｒａｌｉｚｅｄ  ｒｅｓｏｕｒｃｅ）であり、これは、「ｎ」人の同時に存在するユーザが資源にアクセスできるように構成される。フローティングライセンスサーバは、クライアントにライセンスサーバにコンタクトするための１方法を提供し、１ライセンスを「貸し出す」。最大限のライセンスが貸し出された後、サーバは、既存の「貸し出しライセンス」のいくつかが開放されるまで、ライセンスの追加の要求を拒否する。いくつかのライセンスサーバは、貸し出されるライセンスの最大期間を規定し、この最大期間の後、クライアントはライセンスを失い、再びライセンスの貸し出しを受けなければならない。ライセンスサーバ手法の１つの制限は、以下の通りである。ライセンスサーバは、資源への連続的なアクセスが、意味があって要求される環境のためにある。例えば、ユーザがＳＱＬデータベースまたは交換サーバ（Ｅｘｃｈａｎｇｅ  ｓｅｒｖｅｒ）にアクセスする必要がある場合、そのアクセスは、一般に連続的に必要とされる。したがって、必要なのは、同時に存在するユーザのみが、判定される（ｍｅａｓｕｒｅｄ）フローティングライセンス方式だけである。クライアントの所有者は、連続的に接続することを必要とするクライアントの数のすべてを満足するのに十分なライセンスを購入しなければならない。
【０００６】
必要とされるものは、改良された申込み／ライセンシング管理および追跡機構である。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
サービスへのアクセスを制御するためのアーキテクチャを提供する。
【課題を解決するための手段】
【０００８】
以下は、本発明のいくつかの態様の基本的な理解を提供するために、本発明の簡略した概括を表す。この概括は、本発明の外延的な総括ではない。本発明のキーとなる／重大な要素を特定することや本発明の範囲を線引きすることを意図するものではない。唯一の目的は、本発明のいくつかのコンセプトを、簡略した形式で、後述する詳細な説明に対する前置きとして提示することである。
【０００９】
本明細書で開示し請求する本発明は、その１態様において、クライアントマシンが申し込みサービスに申し込み、その後、動的に、かつその場その場の基準で入力することを可能にするアーキテクチャからなる。したがって、申込者の新規のクライアントマシンがサービスを利用するために認証すると、新規のクライアントマシンは、自動的に、動作中の許可されたマシンのリストに置かれる。しかし、入会は、同時に存在する割り当てられた数のクライアントを申込者が上回らないことを保証するための照合を前提としている。同時に存在するクライアントに関するこの制限は、申込者の制約としての機能を果たす強制のルールの起動および強制を通じて、自動的に実施される。自動強制の結果、テーブルの要求の削除、およびその結果としてテーブルを管理する管理者を必要とする。
【００１０】
本発明の別の態様において、申込みサービスは、任意のクライアントマシンがどのくらいの頻度で任意の旧マシンに換えてサービスに置くことができるかであるチャーン（ｃｈｕｒｎ）に関するルールを強制する。
本発明のさらに別の態様において、申込みサービスは、所与の時間期間内でクライアントがサービスから去り、再度入る回数である頻度に関するルールを強制する。
【００１１】
前述した関連する目的を達成するため、本明細書では、本発明に係る所定の例示的な態様を、以下の記述および添付の図面とともに説明する。しかしながら、これらの態様は、本発明の原理を使用することができる様々な方法のほんの数例を示し、本発明は、このような態様および同等のものすべてを含むことを意図している。本発明のその他の有利性および新規な特徴は、図面とともに考慮すれば、以下の本発明の詳細な説明から明らかとなる。
【発明を実施するための最良の形態】
【００１２】
これから、本発明を図面を参照し説明する。なお、全体を通し、同じ参照番号を使用して、同じ構成要素を参照する。以下の説明において、本発明の十分な理解を提供するために、説明を目的として、多くの具体的な詳細を説明する。しかしながら、本発明がこれらの具体的な詳細無しで実施できることは明らかである。他の例では、周知の構造および装置を、本発明の説明を容易にするためにブロック図形式で示している。
【００１３】
この出願で使用する用語「コンポーネント」および「システム」は、コンピュータに関連する構成要素であるハードウェア、ハードウェアおよびソフトウェアの組み合わせ、ソフトウェアまたは実行中のソフトウェアを言うことを意図している。例えば、コンポーネントは、限定するものではないが、プロセッサで実行中の処理、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および／またはコンピュータであってよい。例として、サーバ上で実行中のアプリケーションおよびサーバの両方は、コンポーネントでありうる。１または複数のコンポーネントは、１つの処理および／または実行スレッドの中に存在し、１つのコンポーネントは、１つのコンピュータ上に置かれるか、および／または２以上のコンピュータ間に分散される。
【００１４】
本明細書で使用する用語「推定する（ｉｎｆｅｒ）」または「推定（ｉｎｆｅｒｅｎｃｅ）」は、一般に、システム、環境および／またはユーザの状態を、イベントおよび／またはデータによってキャプチャされる時の監視結果の１組から推論するまたは推定する処理を言う。推定は、例えば、特定のコンテキストまたは動作を識別するために使用することができ、または状態にわたる確率分布を生成することができる。推定は、確率的でありうるものであり、つまり、データおよびイベントの要件（ｃｏｎｓｉｄｅｒａｔｉｏｎ）に基づく関心（ｉｎｔｅｒｅｓｔ）の状態にわたる確率分布の計算になる。推定はまた、イベントおよび／またはデータの組から高レベルのイベントを構成するために使用される技法と言うこともできる。そのような推定は、イベントが、接近した一時的な近傍に関連するかどうかにかかわらず、またイベントおよびデータが１またはいくつかのイベントおよびデータソースに由来するかどうかにかかわらず、結果として、観察されたイベントおよび／または格納されたイベントデータの組から新しいイベントまたは動作を構成する。
【００１５】
さて、図１を参照すると、本発明によるシステム１００が図示されている。システム１００は、すべてだが選択された数の同時に存在する、申込者に関連付けられたクライアントに、特定のコンピュータのリストのサーバでの任意の手動の管理なしに、規則的かつ周期的なサービスの拒絶を許可する。管理されたリストを要求するよりはむしろ、システム１００は、どのクライアントが動作中であるか発見し、動作中のクライアントをアクティブリストに置き、アクティブリスト上にないすべてのクライアントを排除する。しかしながら、システム１００は、許容範囲で動的でありすぎることはない。なぜならば、もしそのようであるなら、少しも制限の強制が存在しないことになってしまうからである。したがって、システムは、申込者が、無制限の数のクライアントを追加していないこと、および、申込者に資格を与えている、多数のコンピュータ上のサービスを効率的に維持するためのプールの中にそしてこのプールの外へクライアントを循環させていないことを保証するための機構を提供するルールの体系を含んでいる。
【００１６】
それを支援して、システム１００は、申込みサーバ（図示せず）によってホストされる１つまたは複数のサービス１０２を備え、このサービスを１つまたは複数の申込者のクライアント１０４（申込者のクライアント１…申込者のクライアントＮとも示される）に提供する。クライアント１０４は、動的かつ場当たり的にネットワーク１０６を介してサービスにアクセスする。このネットワーク１０６は、例えば、ＬＡＮ、ＷＡＮ、およびインターネットを介した有線／無線接続であってよい。クライアント１０４は、少なくともパーソナルコンピュータ、ポータブルコンピュータ、ＰＤＡ、およびポータブル通信装置、従来の通信手段によってサービスにアクセスすることができる任意のまたはすべてのものを含む。本発明によれば、システム１００は、申込者のアカウントに対する１または複数のルールの強制を容易にするルールコンポーネント１０８も含む。ルールは、例えば、同時に接続されるクライアントの数に関する制限、所与の時間期間に置換されうるクライアントの数に関する「チャーン」制限、および、所与のクライアントが所与の時間期間にわたりサービスに再申込みすることができる回数に関する「頻度」制限を含む。
【００１７】
最初の申込者に課せられる１つまたは複数のものは、２番目の申込者に課せられる１つまたは複数のルールに対するいくつかの観点で同じであることも、異なることも、部分的に重なることもありうることも十分に認識されるべきである。したがって、様々な申込者のクライアントに課せられる、システム１００において適用できるルールの多くの異なる組が存在しうる。
【００１８】
このシステムは、また申込者のクライアントの動作の追跡を容易にする追跡コンポーネント１１０も含み、適宜申込者に請求書を送る。例えば、申込者は、チャーンおよび／または頻度パラメータを超えることを許される場合には、追跡コンポーネント１１０は、この動作を（例えば、アクティブリストに）ログ（ｌｏｇ）し、超過使用に対して申込者に請求書を送る。
【００１９】
ここでの説明の間、コンピューティングするクライアント／サーバの言語が、使用されるであろう。しかしながら、本発明は、互いにアクセスするピア（ｐｅｅｒ）の数を制限するためにアクセス制御が要求されるピアツウピア（ｐｅｅｒ-ｔｏ-ｐｅｅｒ）コンピューティングと同様に適用される。
【００２０】
フローティングライセンスサーバに関しては、以下の制限が、本発明によって扱われる。しばしば、サーバへの連続的なアクセスは要求されず、非常に少ない数のクライアントライセンスを購入すること、および非常に多くの数のクライアントの間でライセンスのチェックアウト（ｃｈｅｃｋ-ｏｕｔ）を循環させることは、顧客に役立つであろう。この場合、ライセンスサーバは、願いをいれることができこの上なくうれしい。顧客は、少ない数のライセンスを購入することができ、それらのわずかのライセンスによって数千のクライアントを循環させることができ、既存の従来技術では、その使用を制限しないであろう。ライセンスサーバは、フローティングライセンスの識別子を追跡せず、被許諾者（ｌｉｃｅｎｓｅｅｓ）にわたる任意の制御が、フローティングライセンスサーバによってサポートされるならば、多少なりともチェックアウトを制限するには、手動の管理が要求される。本発明は、クライアントにライセンスを自動的に提供するが、機械的に認可されたクライアントより多くのクライアントの匿名の循環（ａｎｏｎｙｍｏｕｓ  ｒｏｔａｔｉｏｎ）を許可しない。
【００２１】
ここで図２を参照すると、本発明によるピアツゥピアシステム２００が図示されている。この実施例では、システム２００は、相互に接続される２つのピアクライアント（図１のクライアント１０４と似ている）、第１のピアクライアント（クライアント１で示される）と第２のピアクライアント２０４（クライアント２で示される）を含む。しかしながら、任意の数のクライアントが、ピアツゥピアの接続形態で接続することができることに留意されたい。第１のクライアント２０２は、それとともに、第１のクライアント２０２に接続するために探索する際に第２のクライアント２０４上の１つまたは複数のルールの賦課を容易にする第１のルールコンポーネント２０６とを関連付けている。同様に、第２のクライアント２０４は、それと、第２のクライアント２０４に接続するために探索する際に第１のクライアント２０２上の１つまたは複数のルールの賦課を容易にする第２のルールコンポーネント２０８を関連付けている。１つまたは複数のルールは、限定するものではないが、１つのピアが別のピアに接続できる回数を制限すること、および、１つのピアが別のピアに接続する頻度を制限することを含めることができる。  
【００２２】
第１のルールコンポーネント２０６は、第２のルールコンポーネント２０８によって賦課されるルールに対するいくつかの観点において、異なるか部分的に重なる場合があることも、十分に認識されるべきである。したがって、第１のクライアント２０２は、第２のクライアント２０４の頻度を制限することができるけれども、第２のクライアント２０４は、第１のクライアント２０２の頻度を制限することはできない。
【００２３】
ここで図３を参照すると、本発明の申込み処理のフローチャートが図示されている。説明の簡単のために、本明細書で示す１つまたは複数の方法が、例えば、フローチャートの形式で、動作の連続として示され説明されるが、本発明は、動作の順序によって制限されるものではなく、いくつかの動作は、本発明によれば、異なる順序で、および／または、本明細書で示され説明される他の動作と同時に起きることができる。例えば、当業者は、方法を、代わりに状態図のような相互に関係のある状態またはイベントの連続として表すことができることを理解され認識されよう。さらに、図示されたすべての動作が、本発明による方法を実施するために必要とされるとは限らない。
【００２４】
３００で、申込者は、所定数のクライアントによって申込みサービスに申し込む。３０２で、新規のクライアントは、そのサービスに動的にその場その場の基準（ａｄ-ｈｏｃ  ｂａｓｉｓ）で認証を行うことによって接続を試みる。３０４で、サービスは、申込者に１つまたは複数のルールを課す。３０６で、サービスは、新規のクライアントがこのサービスに接続したままでいることを禁止されているかどうか判断する。もし禁止されていないなら、フローは３０８へ移行し、クライアントがサービスを得るために接続したままでいることを許可する。すなわち、クライアントは、その身元を証明するために接続する必要があり、サーバは、クライアントがサービスを許可されているかどうか判断する必要があるということである。３１０で、クライアントは、申込者アカウントにより現在接続しているクライアントのアクティブリストに置かれる。３１２で、１つまたは複数の申込者は、必要に応じてアクティブリストから削除される。３１４で、この動作はログされる。次いで、フローは、このサービスに接続を試みている任意の他のクライアントを処理するために３０２の入力に戻る。
【００２５】
サービスが、新規のクライアントの接続に制限を課す場合、フローは、持続する接続を不許可とするために、３０６から３１６へ移行する。フローは、３１４へ移行し、この動作をログする。
【００２６】
１実施例では、サービスにおける同時に存在するマシンの最大数の制限とともに、２つの追加のルールを申込者に強制する。しかしながら、１実施形態では、同時に存在する（ｃｏｎｃｕｒｒｅｎｔ）クライアントの数に対するルールが破られた場合、たとえ結果が残りのルールのいずれかに対するものであっても、クライアントは、自動的に持続的な接続を許可される。別の実施例では、接続しているクライアントは、持続した接続を許可される前に、すべてのルールに応じなければならない。第２のルールは、許可された「チャーン」、これはどのくらいの頻度で任意の新規のマシンが任意の旧マシンに換わってサービスに置かれることができるかである、に対処し、第３のルールは、個々のマシンの許可された再申込みの頻度に対処する。チャーンは、日毎または週毎、または月毎に（申し込みの最大「ｎ」に到達すると）サービスに入るのを許可された新規のシステムの数で定義することができる。許可された再申込み頻度は、週毎または月毎または年毎にコンピュータがサービスから去りサービスに再度入る回数で定義することができる。
【００２７】
各サービスは、特定のサービスに対する固有の意味をなすチャーンおよび不許可のクライアント循環に対する特徴的な時間制限を有することに留意されたい。もし、システムの効率的な動作が、６ヶ月毎のみ最新情報を入手することを要求する場合、チャーンを不許可にするタイムフレーム（ｔｉｍｅｆｒａｍｅ）は、その６ヶ月間隔に鍵をかけられる。
同様に、循環タイムフレームに対して、システムの効率的な動作が、クライアントが６ヶ月毎のみにサーバに接続することを必要とする場合、クライアントの循環を不許可にするタイムフレームは、６ヶ月間隔に鍵をかけられる。
【００２８】
図４を参照すると、追加のルールが本発明により課せられる申込み処理のフローチャートが図示されている。４００で、申込者は、所定数のクライアントによって１つまたは複数のサービスに申し込む。４０２で、クライアントは、サービスに動的にその場その場の基準で接続を試みる。４０４で、サービスは、１つまたは複数のルールを申込者アカウントに課す。４０６で、システムは、同時に存在するクライアントの数の制限が越えられたか判断する。前に示したように、これは、クライアントに持続的な接続を自動的に許可する主要なルールでありうる。したがって、任意の残りのルールは、このクライアントに対して処理されない。その結果、フローは、４０８へ移行し、そのクライアントに対して持続的な接続が許可される。４１０で、クライアントは、アクティブリストに置かれる。４１２では、必要に応じて、１つまたは複数の申込者が、アクティブリストから削除されうる。次いで、フローが４１４に移行し、システムは、この処理動作をログする。フローは４０２に戻り、次に試みられるクライアント接続を処理する。
【００２９】
システムが、同時に存在するクライアントの制限が破られたと判定すると、フローは４０６から４１６へと移り、このクライアントに対して持続的な接続を不許可とする。フローは４１４へ移行し、再び動作をログする。
【００３０】
クライアントは同時に存在するクライアントの制限ルールに加えて１つまたは複数のルールに従わなければならない別の実施例では、４０６で、同時に存在するクライアントの数が超えられていないと判定された場合、フローは４１８へ移行し、チャーンが超えられたかどうか判断をする。チャーンが越えられた場合、フローは４１６へ移行し、持続的な接続を不許可とする。もし、チャーン制限が越えられていない場合、フローは４１８から４２０へと移行し、頻度が超えられたかどうか判断をする。頻度が越えられた場合、フローは４１６へ移行し持続的な接続を不許可とする。申込みルールのいずれも破られなかったか超えられなかった場合、フローは、４２０から４０８へと移行し、クライアントに持続的な接続を許可し、４１０で示すように、このクライアントをアクティブリストに置く。次いで、フローは上記説明に従って続行する。
【００３１】
先の議論においては、クライアントがサービスに入る時点でのアクセスの制限をサーバが適用し、いずれかの閾値を超えたクライアントに対しアクセスを拒否することを仮定している。別の方法としては、すべてのクライアントにサーバにアクセスすることを認め、システムにおいて、動作中のクライアントの数を計数し、動作中のクライアントの数に基づく料金を顧客に課金することがあろう。この手法は、請求書発送（ｂｉｌｌｉｎｇ）および見積もり（ｒａｔｉｎｇ）の処理の一部として、オフラインでなされる申し込みの追跡を可能にする。
【００３２】
ここで図５を参照すると、すべての申込者のクライアントのアクセスを許可し、それに応じて申込者に請求書を発送する本発明の処理のフローチャートが図示されている。この実施例では、チャーンカウンタは、事前設定された制限を越えて増加することを許可されており、このカウンタによって記録された値は、所与の日にサービスのクライアント数とみなされる。支払請求システムは、ログファイルの、各固有の申込者に対する各エントリーを見直し、チャーンレートを追跡する。さらに、クライアントが、特定の期間（例えば、６ヶ月）内にサービスに再度入る回数も測られる。所与の間隔で特定の回数より多くサービスに入る任意のクライアントは、請求書発送の計算のために追加のクライアントとみなされる。したがって、追跡するルールが、サービスを拒否するためではなく、厳格な請求のための計測使用のために執行される。
【００３３】
５００で、申込者はサービスに申し込む。５０２で、各申込者のクライアントは、申込者の証明書と関連付けられ、一意に識別される。証明書は、例えば、ｅメールアドレスおよび／またはユーザパスワードを含むことができる。５０４で、申込者のクライアントは、サービスへの持続的な接続を試みる。５０６で、サーバは、自動的に、新規のクライントに認証と接続されたままでいることを許可する。５０８で、サーバは、新規のクライアントの接続動作を動作ログによって追跡し、その動作情報を申込者アカウントに適用する。５１０で、申込者は、そのクライアントが申込者のクライアントの１つであることを保証する１手段としてフィードバックを提供するために、新規のクライアントの申込みについて通知される。この通知は、申込者が、新規のクライアントが申込者システムに属することを検証することができるように、申込者に新規のクライアントの証明書を送ることを含めることができる。でなければ、申込者は、アクセスを妨げるためにすぐにサービスに通知することができる。５１２で、請求書発送処理が周期的に行われ、適切な課金が申込者に対し課せられるように、先の期間において、どのくらい多くのクライアントがサーバシステムにアクセスしたか判断する。支払請求システムは、ログされたアクセスイベントのすべてを検査し、同時にシステムを使用するクライアントの数を判断し、その数のクライアントに対する所定の料率に従って請求書を生成する。次いで、処理は、終了ブロックに到達する。
【００３４】
ここで、図６Ａおよび６Ｂを参照すると、本発明の図３および図４に従って説明される一般的な方式の実施例の詳細を提供する手順が図示されている。特に、この詳細は、一意に識別されるクライアントを使用し、アクティブリストおよび保留削除リストを使用して、どのようにしてアクティブリストを維持するのか、また、どのようにしてクライアントのチャーン、頻度および最大数がチェックされるのかに関連した態様からなる。説明のために、限定するものではないが、申込者は、最大３つの同時に存在するクライアントの、サーバへのアクセスのための申込みが許可されていると仮定し、正当なチャーンは、１日につき１つのクライアントであり、クライアントに対する正当な再申込み頻度は１年に２回である（すなわち、１年につき３回目は拒否される）。１年につき２回の選択は、マシンに、修理のためにサービスからはずれ、「代替の」マシンで置き換え、次いで、それが修理から戻ってくるとサービスに戻すことを可能にする。さらに、申込者が、Ａ，Ｂ，Ｃ，Ｄ，ＥおよびＦでラベルされた６つのクライアントマシンを所有し、Ａ，ＢおよびＣは、同時にサービスに接続された「元の」クライアントを表すものと仮定する。
【００３５】
６００で、申込者は、所定数の３つのクライアントによってサービスに申し込む。６０２で、元のクライアントＡ，ＢおよびＣは、サーバにアクセスするために、パワーアップされて構成される。元のクライアントは、申込者の証明書でサーバに認証を行い、クライアントＡ，ＢおよびＣとして一意に識別される。ここでサーバは、自動的にクライアントＡ，ＢおよびＣがサービスの資格を与えられたクライアントであるとみなすように構成される。６０４で、サーバは、クライアントＡ，ＢおよびＣをアクティブリストに置く。申込者は、同時に許可される申込みの最大に到達した。６０６で、サーバは、申込者が許可された申込みの最大数に到達したとき、日付と時刻を記録する。６０８で、サーバは、チャーンカウンタを０に設定し、頻度カウンタを０に設定する。
【００３６】
申込者がクライアントＡの電源を切り、新規のクライアントＤを代わりにすることを望むイベントにおいては、申込者は、単にそうする。６１０で、新規のクライアントＤは今、サービスのためにサーバに認証を行う。６１２で、サーバは、チャーンカウンタを確認し、それはゼロに設定されているので、アクティブリスト上の既存のマシンの１つがドロップアウトすると仮定する自由を認めるポリシーを適用して、新規のクライアントＤに資源にアクセスすることを許可する。６１４で、チャーンカウンタは、今「１」に設定されており、この変化の日付と時刻は、「最後のチャーンタイムスタンプ」として記録される。
【００３７】
引き続き図６Ｂで、６１６では、サーバは今、新規のクライアントＤをアクティブリストに置き、元のクライアントＡ，ＢおよびＣをアクティブリストから「保留ドロップ」リストへ移動させる。６１８で、クライアントＢおよびＣは、再認証を行う。認証を試みる新規のクライアントは、アクティブリストおよび保留ドロップリストをチェックされ、それらは「新規」として識別されるが、チャーンは１であるのでアクセスは拒否されるであろう。６２０で、保留ドロップリスト上のクライアントは、サーバに再認証を行い、１つずつアクティブリストに戻る。このようにして、サーバは元のクライアントＢとＣをアクティブリストに戻す。アクティブリストが再び一杯になると（例えばこの例では、もう一度アクティブリスト上に最大の３つのコンピュータが存在することになる）、保留ドロップリスト上の残りのすべてのコンピュータは実際はサービスの外にあると仮定され、このリストから除去され、６２２で示されるように元のクライアントＡは切り離される。
【００３８】
もし同じ日に、新規のクライアントＥがサービスに入ることを試みる場合、サーバは最後のチャーンタイムスタンプをチェックし、最後のチャーンされたクライアント（すなわち、クライアントＡ）とは１日より少ないので、サーバはそのチャーンカウンタをチェックする。チャーンカウンタは、最大の１に設定されているので、６２４で示されるように、新規のクライアントＥは、サーバにアクセスすることを拒否される。６２６で、特定の時間期間が過ぎると（この例では、最後のクライアントがサービスに入る時刻から１日）、チャーンカウンタはゼロにリセットされる。例えば、クライアントＥが最初にチャーンされたクライアントの後２４時間を超えサービスに入ることを試みると、サーバは最後のチャーンタイムスタンプをチェックするであろう。タイムスタンプは、２４時間より前に設定されているので、サーバは、チャーンカウンタをゼロにし、クライアントＥがサービスに入ることを認めるであろう。この例では、チャーンは、期間毎にばらばらに測定される。しかしながら、移動平均も使用することができるであろう。６２８で、サーバの処理は、新規の認証しているクライアントを、制限、チャーン、および頻度についてテストすることによって継続し、それに応じて他の処理を続ける。
【００３９】
アクティブリスト上にクライアント識別子を置くことによって、クライアントがサービスに置かれるときはいつでも、イベントの日付と時刻もまた記録される。これは、クライアント毎の基準で、中央データベースに記録することができる。これは、情報を格納する安全な方法であり、サーバの厳重な制御の下で情報を置く。このようにして、上記例によれば、クライアントＤおよび／またはＥは、最後の３ヶ月に２度サービスに入ることに関連付けられる場合、クライアントＤおよび／またはＥもサービスを拒否され、アクティブリストに入ることを許可されない。
【００４０】
同時に存在するクライアントの数を越えなかったなら、新規のクライアントは、サービスを受けるために持続的な接続を許可されるであろう。しかし、同時に存在するクライアントの数を越えた場合、接続を試みている新規のクライアントが、アクティブリスト上にない接続されたクライアントをはじき出す「バンピング（ｂｕｍｐｉｎｇ）」権利をもつとみなすことができる。追加のルールを処理することによって、新規のクライアントが既存の同時に存在するクライアントをはじき出す十分な権利をもっているかどうか判断することができる。上記例を参照すると、６１６で、クライアントＤがアクティブリスト上に置かれると、クライアントＡ、ＢおよびＣは、再認証処理のために保留ドロップリストに移動される。アクティブリストに戻ることを許可されないクライアント（すなわち、クライアントＡ）は、それ以上のサービスを得ることから効率的にはじき出されている。これは、本発明の申込み方式の下で１クライアントを別のクライアントに置き換える直接的な例である。
【００４１】
しかし、本実施形態では、クライアントＡ、ＢまたはＣの１つが、置換のためにオフラインで引き抜かれない（ｐｕｌｌ）が、より高い優先度を有し新規に接続しているクライアントがサービスを完了するまで、単に、さらなるサービスを一時的に停止される場合がある。例えば、申込者が現在、サービスを得るためにおよびサービスを得る過程で、クライアントＡ、ＢおよびＣを有しているとする。申込者が、既存の同時に存在するクライアントの１つを手動で除去し、新規のクライアントＤのために場所を作る代わりに、申込者は、単に、クライアントＤに対してサーバへの接続を提供することができ、既存の同時に存在するクライアントのどれが新規のクライアントＤのための場所を作るために一時的にはじき出されるべきか、（所定の基準に従って）サーバに判断させる。
【００４２】
この基準は、例えば、既存の接続済みのクライアントのどれがすでに最も長く接続されているか、どのクライアントがデータサービスの最も低い優先度に関連付けられているか、およびどのクライアントが、クライアントのシステムパフォーマンスに関して最も遅いかまたは最も速いかに基づくことができる。どの接続済みのクライアントが、新規のクライアントＤの接続を許可するためにはじき出されるべきかに到達するために、任意の数のルールを、単独でまたは組み合わせて課すことができる。
【００４３】
サービスの過程の途中で、または現在のサービスの過程が完了した後に、はじき出すために選択された接続済みのクライアントが直ちに切断できることは、さらに、本発明の意図する範囲内にある。さらに、中断されるべきではない一連のいくつかのサービスを含む、選択されたクライアントによって現在得られているサービスについて判断するのに、システムは十分にロバストである。再度のサービスは、時間と資源においてさらにコストがかかるので、選択されたクライアントを切断する前に一連のサービスが完了することを認める。
【００４４】
ここで図７を参照すると、申込者の動作とアカウント情報に従って申込みルールを適合させる申込み処理のフローチャートが図示されている。７００で、申込者は、所定の数のクライアントにより１つまたは複数のサービスに申し込む。７０２で、新規の申込者のクライアントは、動的にその場その場の基準でサービスに接続を試みる。７０４で、サービスは、申込者のアカウントに１つまたは複数のルールを課す。７０６で、システムは、課せられたルールの任意の１つが破られたか（または超えられたか）判断する。もし、破られていなければ、フローは７０８へ移行し、持続的な接続を許可する。７１０で、この動作はログされ、フローは７０２へ移行し、次に試みられているクライアント接続を処理する。
【００４５】
ルールのいずれかが超えられた場合、フローは７０６から７１２へ移行し、申込者情報にアクセスする。アカウント情報には、プリファレンス（ｐｒｅｆｅｒｅｎｃｅｓ）に明記された任意の数の基準に従ったルールの制限を越えることを申込みサービスに許可する申込者のプリファレンスを含めることができる。例えば、各クライアントは、証明書および／または固有の識別子を有するので、証明書／識別子は、さらに、この特定のクライアントに関するルールをどのように扱うかサービスに示すことができる。もし、証明書がこのクライアントが金融に関する情報を処理することを示す場合、クライアントは、次の接続を受けるための優先度リストに置かれることができる。次いで、サービスは、接続が使用可能になると、クライアントに通知をすることができる。あるいは、クライアントは、接続を許可されることができ、それに応じて申込みレベルが適合される。７１４で、システムは、それに応じて申込みレベルに適合され、クライアント接続が増加する原因となる。７１６で、申込者は、更新された申込みレベルについて通知される。７１８で、システムは、クライアントに、持続した接続を許可する。７２０で、クライアントはアクティブリストに置かれる。次いで、フローは７１０に戻り、この動作をログする。
【００４６】
さらに別の実施例では、申込みをするクライアントの制限は、「優先」クライアントが切断した後のルールの制限に帰する。申込者は、次いで、この時間期間の間、この短時間の「過剰（ｏｖｅｒａｇｅ）」に従って請求書が送られる。
【００４７】
ここで図８を参照すると、本発明によるクッキー（ｃｏｏｋｉｅｓ）を使用して、どの申込者がサービスに戻っているか追跡するシステム８００が図示されている。システム８００は、申込者が申込みをすることができる１つまたは複数のサービスを提供するサービスコンポーネント８０２を含む。ルールコンポーネント８０４は、サービスコンポーネント８０２にインターフェースし、特定の申込者から提供される申込者のアカウント情報およびサービスのレベルに従って申込者にルールを課すことを容易にする。サービスコンポーネント８０２は、すべての申込者に同じルールを課すように構成できることは理解されるべきである。サービスコンポーネント８０２からサービスを受けるために接続することは、複数のクライアント８０６（申込者のクライアント１、申込者のクライアントＮで表される）である。クライアントは、サービスを得るためにクライアントが、持続した接続を考慮されるべきである認証および確認のために証明書および／または固有の識別子をサービスコンポーネント８０２へ送信することによってサービスに対し接続する。一度認証されると、クライアントはアクティブリストに追加され、このリストはストレージコンポーネント８０８に格納することができる。ストレージコンポーネント８０８は、高速メモリ、マスストレージシステム、データベースシステムを含むことができ、例えば、これらのいずれかは、サービスコンポーネント８０２のサーバに対してローカルに置かれることができ、またはそれから遠隔に置かれることができる。
【００４８】
しかし、場合によっては数百万のクライアントに対しスケーリングするとき、記憶装置（ｓｔｏｒａｇｅ）としての中央データベースの使用は、非効率的である。さらに、この情報は、例えば、タイムスタンプ（または、このクライアントが非申込状態からサービスに入った複数の時刻に対応する複数のタイムスタンプ）を伴うクライアント上のクッキーをサーバに設定させることによって、各クライアントとともに格納することができる。クッキーの機構が使用される場合、クライアントは名目上申込者の制御の下にあるので、クッキーが削除されないまたはいたずらされないことが可能であることを保障するために追加のステップをとってもよい。１つの方法は、システム開発者によって書かれたことを保障するためのクライアントコードの身元に関していくつかの信頼性チェックを有し、さらに、クッキーを伴う任意の改ざんが、クライアントプログラムによっておよび／またはサーバによって検出されることを保障するローカルディスク上のクッキーのための安全な記憶装置を有することである。もしサーバが、クライアントが特定の時間間隔毎の許可された回数より多くサービスに入ったことを（中央データベースまたはクッキーを検査することによって）検出する場合、このクライアントもまたアクセスを拒否されるであろう。したがって、クライアント８０６は、本発明によりクッキーを処理することができる。各クライアント８０６は、それぞれのクッキー８１０（同様にクッキー１、クッキー２で表される）を含んでいる。
【００４９】
本発明の別の実施例では、主要な本発明の態様を実施するために、様々な人工知能を基にした方式を使用することができる。例えば、いつどのようにしてルールが適用されるべきか判断するための処理は、自動分類システムおよび処理８１２によって容易にすることができる。分類子８１２は、サービスコンポーネント８０２およびルールコンポーネント８０４の両方にインターフェースし、サービスおよびルール情報を処理する。
【００５０】
分類子は、入力属性ベクトルｘ ＝ （ｘ１, ｘ２, ｘ３, ｘ４, ｘｎ）を、入力がクラスに属する確かさ（ｃｏｎｆｉｄｅｎｃｅ）に写像する関数、すなわち、ｆ（ｘ） ＝ ｃｏｎｆｉｄｅｎｃｅ（ｃｌａｓｓ）である。このような分類は、確率的な、および／または統計に基づく解析を（例えば、解析ユーティリティおよびコストを計算に入れて）使用して、ユーザが自動的に実行されることを望む動作を予知するか推定する。申込みを基にしたシステムの場合では、例えば、属性は、クライアントの証明書および／または固有の識別子、または申込者のクライアント情報から抽出される他のデータ固有の属性でありうるものであり、クラスは、カテゴリーまたは関心（例えば、サービスのレベル）の範囲である。
【００５１】
サポートベクトルマシン（ＳＶＭ）は、使用することができる分類子の一例である。ＳＶＭは、超曲面が非トリガイベントからトリガ基準を分離しようとする可能な入力の空間における超曲面を見つけることによって動作する。直感的には、これは、近くにあるがトレイニングデータとは一致しないテストデータに対し分類を正しいものとする。他の有向および非有向のモデル分類手法は、例えば、ｎａ ｖｅ Ｂａｙｅｓ、ベイジアンネットワーク、決定ツリー、および別の独立パターンを提供する確率的分類モデルを使用することができる。本明細書で使用する分類は、優先モデルを開発するために使用する統計に基づく回帰も含む。
【００５２】
主題の詳述から用意に理解されるように、主題の発明は、（例えば、汎用のトレイニングデータによって）明白にトレイニングされ、さらに（例えば、ユーザの振る舞いを観察し、外部情報を受信することによって）暗黙のうちにトレイニングされる分類子を使用することができる。例えば、ＳＶＭは、分類子コンストラクタおよび特徴選択モジュール内のフェーズの学習またはトレイニングによって構成される。したがって、分類子を使用して、所与のクライアントにルールを課すタイミング、所与の申込者にルールを課すタイミング、どのように所与のクライアントおよび申込者にルールを課すか、同時存在の制限およびチャーン／頻度パラメータを変更するタイミングおよびどのように変更するか、申込者に請求書を送付するタイミングおよびどのように送付するか、および申込者のクライアントにサービスレベルおよび過去の履歴データに従って接続を許可するタイミングなど、所定の基準に従って自動的に判断することができる。
【００５３】
さらに具体的には、分類子８１２を使用して、接続しているクライアントによって送られている証明書を解析することができ、それに応じて、同時存在制限ルールが課せられ超えられた場所にクライアントが接続することを許可するためのルールを変更することができる。分類子８１２を使用して、例えば、試みられた接続の増加数により特定の申込者によって与えられた負荷に基づいてサービスレベルを更新するタイミングを予測するために統計分析を実行することも、および／または試みられたサービスへのログインに純粋に基づいてサービスレベルを適合させることもできる。
【００５４】
別の実施例では、典型的な条件は、サービスコンポーネント８０２のサービスに複数の申込者を含み、分類子８１２を使用して、増加または減少したサービスに接続するときの優先アクセスのレベルを適合させることができる。例えば、もし１申込者が、より高いレベルのサービスのために支払った場合、コンフリクトが存在するかもしれないより低いレベルの申込者の前ですら、申込者のクライアントにもっと多く接続することを許可することによって、その申込者のクライアントは、より高いレベルの優先度を与えられるであろう。
【００５５】
さらに別の実施例では、サービスコンポーネント８０２は、いくつかの異なる種類のサービスをホストし、分類子８１２は、どの申込者のクライアントが接続できるか、接続するタイミング、およびどのサービスに接続するか制御するために使用することができる。
これは、システムがオーバーロードし始めるときに有用である。
【００５６】
分類子８１２を使用して、クライアント上のクッキーを使用し記憶装置８０８上にローカルにクライアントの証明書を格納することから変えるタイミングを判断することができる。したがって、サービスシステムは、帰属するクライアントの数によって負担がさらに増すにつれて、分類子は、自動的に、システムの負担を制限するためにクッキーを発行することに切り替えることができる。
【００５７】
分類子８１２はまた、本発明の「はじき出し（ｂｕｍｐｉｎｇ）」態様とともに使用して、動作ログに格納された履歴データ、ごく一部だが、サービスに対しクライアントを接続し置き換える現在の傾向、クライアントハードウェアの種類（例えば、ハードウェアおよびソフトウェアコンポーネントの帯域幅を考慮して）、クライアントの種類（ポータブルクライアントかデスクトップクライアントかどうか）、クライアントのオペレーティングシステムの種類、任意の所与の接続の間に要求されたサービスの量（例えば、要求されたタイミングに基づいて、および、無矛盾性チェックを実行するために同じデータの二重のダウンロードをサービスが要求する場合に）に従って暗黙的および明示的な学習に基づいて、より「知的に」はじき出されるべき同時に存在するクライアントを選択でき、選択された同時に存在するクライアントがはじき出されるのを許可する最良のタイミングを判断できる。
【００５８】
図に示すように、分類子８１２の使用は、本発明の機能をかなり強化する。したがって、任意の統計解析、トレンド（ｔｒｅｎｄｉｎｇ）、学習、および機能を予測することは、本発明により考慮されている。
【００５９】
ここで、図９を参照すると、開示されたアーキテクチャを実行することができるコンピュータのブロック図が示されている。本発明の様々な態様に対する追加的なコンテキストを提供するために、図９および下記は、本発明の様々な態様を実施することができる適切なコンピューティング環境９００の簡単な、一般的な説明を提供することを意図している。本発明を、１つまたは複数のコンピュータ上で走らせることができるコンピュータ実行可能な命令の一般的なコンテキストで上述したが、本発明はまた、その他のプログラムモジュールおよび／またはハードウェアおよびソフトウェアの組み合わせ、と組み合わせて実施できることは当業者には認識されよう。
【００６０】
一般に、プログラムモジュールは、特定のタスクを実行しまたは特定の抽象データ型を実装するルーチン、プログラム、コンポーネント、データ構造などを含む。さらに、本発明の方法は、各々が動作可能なように１つまたは複数の関連した装置に接続することができる、シングルプロセッサまたはマルチプロセッサのコンピュータシステム、ミニコンピュータ、メインフレームコンピュータ、ならびにパーソナルコンピュータ、ハンドヘルドコンピュータ装置、マイクロプロセッサベースまたはプログラム可能な家電製品など、他のコンピュータシステム構成で実施できることは当業者には理解されよう。
【００６１】
説明する本発明の態様は、通信ネットワークを介してリンクされるリモート処理装置によって所定のタスクが実行される分散コンピューティング環境においても実施することができる。分散コンピューティング環境では、プログラムモジュールは、ローカルおよびリモートのメモリ記憶装置の両方に置くことができる。
【００６２】
コンピュータは、通常、様々なコンピュータ読み取り可能な媒体を含む。コンピュータ読み取り可能な媒体は、コンピュータがアクセスでき、揮発性および不揮発性両方の媒体、リムーバブルおよび非リムーバブル両方の媒体を含む任意の利用可能な媒体であることができる。一例として、限定するものではないが、コンピュータ読み取り可能な媒体は、コンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体には、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を記憶するための任意の方法または技術によって実施される、揮発性および不揮発性の両方、リムーバブルおよび非リムーバブルの媒体が含まれる。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、またはその他のメモリ技術、ＣＤ−ＲＯＭ、デジタルビデオディスク（ＤＶＤ）、またはその他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、またはその他の磁気記憶装置、あるいは所望の情報を記憶するのに使用でき、コンピュータによってアクセス可能なその他の任意の媒体が含まれるが、これらに限定されるものではない。
【００６３】
通信媒体は、典型的には、搬送波やその他の搬送メカニズムなどの変調されたデータ信号中のコンピュータ読み取り可能な命令、データ構造、プログラムモジュール、またはその他のデータなどを具現化するものであり、任意の情報伝達媒体を含む。「変調されたデータ信号」という用語は、信号内に情報を符号化するような方法で、１つまたは複数の特性が設定または変更された信号を意味する。限定するものではないが、通信媒体には、例として、有線ネットワーク、直接ワイヤ接続などの有線媒体と、音響、無線、赤外線などの無線媒体が挙げられる。上記の任意の組合せも、コンピュータ読み取り可能な媒体の範囲内に含まれるものとする。
【００６４】
図９を再び参照すると、コンピュータ９０２、処理装置９０４を含むコンピュータ９０２、システムメモリ９０６およびシステムバス９０８を含む本発明の様々な態様を実施するための例示的環境９００が示されている。システムバス９０８は、限定するものではないが、システムメモリ９０６を含むシステムコンポーネントを処理装置９０４に接続する。処理装置９０４は、商業的に利用可能な様々なプロセッサのいずれであってよい。デュアルマイクロプロセッサおよびその他のマルチプロセッサアーキテクチャもまた、処理装置９０４として使用することができる。
【００６５】
システムバス９０８は、（メモリコントローラを伴うまたは伴わない）メモリバス、周辺バス、および商業的に利用可能な様々なバスアーキテクチャのいずれかを使用するローカルバスにさらに相互接続することができるいくつかの種類のバス構造のいずれであってもよい。システムメモリ９０６は、ＲＯＭ（読み出し専用メモリ）９１０およびＲＡＭ（ランダムアクセスメモリ）９１２を含む。基本入出力システム（ＢＩＯＳ）は、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭなどの不揮発性メモリ９１０に格納されており、このＢＩＯＳは、コンピュータ９０２内の構成要素間の情報の転送を支援する基本ルーチンを含む。ＲＡＭ９１２は、データを捕らえるためにスタティックＲＡＭなどのハイスピードＲＡＭを含んでもよい。
【００６６】
コンピュータ９０２は、さらに、（ＥＩＤＥ、ＳＡＴＡなど）内蔵のハードディスクドライブ（ＨＤＤ）９１４（この内蔵ハードディスクドライブ９１４はまた、適切な筐体（図示せず）に入れ外付け用として構成することもできる）、（例えば、リムーバブルディスク９１８に読み書きするための）磁気フロッピー（登録商標）ディスクドライブ（ＦＤＤ）９１６、および（例えば、ＣＤ−ＲＯＭディスク９２２を読み取るまたはその他ＤＶＤなどの大容量の光媒体に読み書きするための）光ディスクドライブ９２０を含む。外付けドライブの実装のためのインターフェース９２４は、ユニバーサルシリアルバス（ＵＳＢ）およびＩＥＥＥ１３９４インターフェース技術の少なくとも一方または両方を含む。
【００６７】
ドライブおよびこれらに関連するコンピュータ読み取り可能な媒体は、データ、データ構造、コンピュータ実行可能命令などの不揮発性の記憶（ｓｔｒａｇｅ）を提供する。コンピュータ９０２に対して、ドライブおよび媒体は、適切なデジタル形式の任意のデータの記憶を提供する。上記コンピュータ読み取り可能な媒体の説明は、ＨＤＤ、読み取り可能な磁気ディスク、および、ＣＤまたはＤＶＤなどのリムーバブル光媒体を参照するが、ｚｉｐドライブ、磁気カセット、フラッシュメモリカード、カートリッジなどのコンピュータによって読み取り可能なその他の種類の媒体も、例示的なオペレーティング環境で使用することができること、さらに、そのような任意の媒体が、本発明の方法を実行するためのコンピュータ実行可能命令を含むことができることは、当業者には理解されるべきである。
【００６８】
多くのプログラムモジュールは、ドライブおよびＲＡＭ９１２に格納することができ、オペレーティングシステム９３０、１つまたは複数のアプリケーションプログラム９３２、その他のプログラムモジュール９３４およびプログラムデータ９３６を含んでいる。オペレーティングシステム、アプリケーション、モジュール、および／またはデータのすべてまたは一部は、ＲＡＭ９１２にキャッシュすることもできる。
【００６９】
本発明は、様々な商業上利用可能なオペレーティングシステムまたはその組み合わせを用いて実施することができることは理解されよう。
【００７０】
ユーザは、例えば、キーボード９３８、およびマウス９４０などのポインティング装置など、１つまたは複数の有線／無線の入力装置を介して、コンピュータ９０２にコマンドおよび情報を入力することができる。その他の入力装置（図示せず）としては、マイクロフォン、赤外線リモコン、ジョイスティック、ゲームパッド、スタイラスペン、タッチスクリーンなどが挙げられる。これらおよびその他の入力装置は、多くの場合、システムバス９０８に接続される入力装置インターフェース９４２を介して処理装置９０４に接続されるが、パラレルポート、ＩＥＥＥ１３９４シリアルポート、ゲームポート、ＵＳＢポート、赤外線インターフェースなどその他のインターフェースによって接続することができる。
【００７１】
モニタ９４４またはその他の種類の表示装置は、ビデオアダプタ９４６などのインターフェースを介してシステムバス９０８に接続することもできる。モニタ９４４に加え、コンピュータは通常、スピーカ、プリンタなどのその他の周辺出力装置（図示せず）を含む。
【００７２】
コンピュータ９０２は、有線通信および／または無線通信を介した、１つまたは複数のリモートコンピュータ、例えばリモートコンピュータ９４８への論理接続を使用してネットワーク環境で動作することができる。リモートコンピュータ９４８は、ワークステーション、サーバーコンピュータ、ルータ、パーソナルコンピュータ、ポータブルコンピュータ、マイクロプロセッサベースの娯楽機器、ピア装置、またはその他の通信ネットワークノードであってよく、簡潔にするためメモリ記憶装置９５０のみだが、コンピュータ９０２に関連して説明した多くのまたはすべての構成要素を通常含んでいる。図示する論理接続は、ローカルエリアネットワーク（ＬＡＮ）９５２および／またはワイドエリアネットワーク（ＷＡＮ）９５４などのラージネットワークへの有線／無線の接続を含む。このようなＬＡＮおよびＷＡＮネットワーク環境は、オフィスで、および会社で一般的であり、イントラネットなどの（これらのすべてはインターネットなどのグローバル通信環境に接続することができる）、企業規模のコンピュータネットワークを容易にする。
【００７３】
ＬＡＮネットワーク環境で使用するとき、コンピュータ９０２は、有線および／または無線の通信ネットワークインターフェースまたはアダプタ９５６を介してローカルネットワーク９５２に接続される。アダプタ９５６は、ＬＡＮ９５２に対する有線通信または無線通信を容易にすることができ、ＬＡＮ９５２は、無線アダプタ９５６と通信するためにその上に配置された無線アクセスポイントを含むこともできる。ＷＡＮネットワーク環境で使用するとき、コンピュータ９０２は、モデム９５８を含むことができるか、ＬＡＮ上の通信サーバに接続されるか、ＷＡＮ９５４を介して通信を確立するための他の手段を有する。モデム９５８は（これは内蔵または外付けかつ有線または無線の装置であってよい）、シリアルポートインターフェース９４２を介してシステムバス９０８に接続される。ネットワーク環境では、コンピュータ９０２またはそれの一部に関連して図示したプログラムモジュールは、リモートのメモリ／記憶装置９５０に格納することができる。図示されたネットワーク接続は、例示的であり、コンピュータ間の通信リンクを確立する他の手段を使用することができることは理解されよう。
【００７４】
コンピュータ９０２は、任意の無線装置または無線通信において動作可能に配置されるエンティティ、例えば、プリンタ、スキャナ、デスクトップおよび／またはポータブルコンピュータ、ポータブルデータアシスタント、通信サテライト、機器の任意の部分または無線で検出可能なタグと関連づけられた場所（例えば、キオスク、ニューススタンド、休憩室）、および電話と通信することができる。これは、少なくともＷｉ−Ｆｉおよびブルートゥース無線技術を含む。したがって、この通信は、従来のネットワークまたは簡単には少なくとも２つの装置間のその場限りの通信と同様に所定の仕組みであってよい。
【００７５】
Ｗｉ−Ｆｉ、またはワイヤレス・フィディリティーは、家庭のソファー、ホテルルームのベッド、または勤務先の会議室から、無線でインターネットへの接続を可能にする。
Ｗｉ−Ｆｉは、コンピュータなどの装置が、屋内におよび外にデータを送信および受信することを可能にする携帯電話のような無線技術である。Ｗｉ−Ｆｉネットワークは、ＩＥＥＥ ８０２．１１（ａ，ｂ，ｇなど）と呼ばれる無線技術を使用して、安全で、信頼性のある高速の無線接続を提供する。Ｗｉ−Ｆｉネットワークは、無認可の２．４および５ＧＨｚ帯において、１１Ｍｂｐｓ（８０２．１１ｂ）または５４Ｍｂｐｓ（８０２．１１ａ）のデータレートで、または両方の帯域（デュアルバンド）を含む製品を使用して動作し、それでこのネットワークは、多くのオフィスで使用されている基本的な１０ＢａｓｅＴ有線のイーサネット（登録商標）ネットワークと同様の架空でない性能を提供することができる。
【００７６】
ここで図１０を参照すると、本発明による例示的なコンピューティング環境の略ブロック図が示されている。システム１０００は、１つまたは複数のクライアント１００２を含んでいる。クライアント１００２は、ハードウェアおよび／またはソフトウェア（スレッド、プロセス、コンピューティング装置など）であってよい。クライアント１００２は、例えば、本発明を使用することによって、クッキーおよび／または関連するコンテキスト情報を内蔵することができる。システム１０００は、１つまたは複数のサーバ１００４も含む。サーバ１００４も、ハードウェアおよび／またはソフトウェア（スレッド、プロセス、コンピューティング装置など）であってよい。サーバ１００４は、例えば、本発明を使用することによって変換を実行するスレッドを内蔵することができる。クライアント１００２とサーバ１００４間の１つの可能な通信は、２以上のコンピュータプロセス間で送信されるように適合されたデータパケットの形式であってよい。データパケットは、例えば、クッキーおよび／または関連するコンテキスト情報を含むことができる。システム１０００は、クライアント１００２とサーバ１００４間の通信を容易にするために使用することができる通信フレームワーク１００６（例えば、インターネットなどのグローバル通信ネットワークなど）を含む。
【００７７】
通信は、（光ファイバーを含む）有線および／または無線技術によって容易にすることができる。クライアント１００２は、クライアント１００２に対してローカルに（例えば、クッキーおよび／または関連するコンテキスト情報）情報を格納するために使用することができる１つまたは複数のクライアントデータストア１００８に動作可能に接続される。同様に、サーバ１００４は、サーバ１００４に対してローカルに情報を格納するために使用することができる１つまたは複数のサーバデータストア１０１０に動作可能に接続することができる。
【００７８】
上述したことは、本発明の例を含んでいる。もちろん、本発明を説明するために構成要素または方法論の考えられるあらゆる組み合わせを説明することは不可能であるが、当業者には本発明のさらに多くの組み合わせおよび置換が可能であることを理解することができよう。したがって、本発明は、添付の請求の要旨および範囲内に含まれるそのような変更、修正、および変形のすべてを取り入れることを意図している。さらに、用語「含む（ｉｎｃｌｕｄｅｓ）」が詳細な説明または請求の範囲のいずれかで使用される範囲で、このような用語が、「からなる（ｃｏｍｐｒｉｓｉｎｇ）」が請求項において暫定の単語として使用されるとき解釈されるように、用語「からなる」と同様に、ある意味では包含的であることを意図している。
【図面の簡単な説明】
【００７９】
【図１】本発明によるシステムを示す図である。
【図２】本発明によるピアツーピアシステムを示す図である。
【図３】本発明の申込み処理を説明するフローチャートである。
【図４】本発明による、追加のルールがインポーズされた申込み処理を説明するフローチャートである。
【図５】全ての申込者のクライアントのアクセスを許可し、それに応じて申込者に勘定を請求する本発明の申込み処理を説明するフローチャートである。
【図６Ａ】本発明の図３および図４により説明される一般的な方式の実施例の詳細を提供する方法を示す図である。
【図６Ｂ】本発明の図３および図４により説明される一般的な方式の実施例の詳細を提供する方法を示す図である。
【図７】申込者の行動およびアカウント情報に従い申込みルールを適合させる申込み処理を説明するフローチャートである。
【図８】本発明による人工知能を使用するシステムを示す図である。
【図９】開示するアーキテクチャを実行することができるコンピュータのブロック図である。
【図１０】本発明による例示的なコンピューティング環境の概略ブロック図である。
【符号の説明】
【００８０】
９０４…処理装置
９０８…バス
９０６…システムメモリ
９２４、９２６、９２８…インターフェース
９４６…ビデオアダプタ
９４２…入力装置インターフェース
９５６…ネットワークアダプタ
９１４…内蔵ＨＤＤ
９１８，９２２…ディスク
９２０…ＣＤドライブ
９５８…モデム
９３０…オペレーティングシステム
９３２…アプリケーション
９３４…モジュール
９３６…データ
９１４…外付けＨＤＤ
９４４…モニタ
９３８…キーボード
９４０…マウス
９４８…遠隔コンピュータ
９５０…メモリ／ストレージ
１００２…クライアント
１００８…クライアントデータストア
１００６…通信フレームワーク
１００４…サーバ
１０１０…サーバデータストア
【図１】
2005235177.tif 000003
【図２】
2005235177.tif 000004
【図３】
2005235177.tif 000005
【図４】
2005235177.tif 000006
【図５】
2005235177.tif 000007
【図６Ａ】
2005235177.tif 000008
【図６Ｂ】
2005235177.tif 000009
【図７】
2005235177.tif 000010
【図８】
2005235177.tif 000011
【図９】
2005235177.tif 000012
【図１０】
2005235177.tif 000013