(57)【特許請求の範囲】
【請求項１】
いかなる順番で発生してもよいパラメータ名／値の１以上の組を含むよう構成された柔軟なトークンに組み込むことができる１以上のパラメータ名を規定する選択可能な複数のトークンセマンティックのメニューをコンテンツ配信ネットワークのセマンティック生成器により生成する段階と、
生成された前記メニューから前記複数のトークンセマンティックのうちの１以上を選択した選択結果を前記コンテンツ配信ネットワークの管理者がコンテンツ提供者から受信する段階と、
受信した選択された前記１以上のトークンセマンティックに従ってフォーマットされたパラメータ名／値の１以上の組を有する柔軟なトークンを含み、前記コンテンツ提供者がエンドユーザーからの要求に応じて前記エンドユーザーに提供した、コンテンツを要求するためのトークン化されたコンテンツデジグネータを前記コンテンツ配信ネットワークの柔軟なトークン解釈器が前記エンドユーザーから受信する段階と、
前記受信した選択された１以上のトークンセマンティックに従って、前記パラメータ名／値の１以上の組を前記コンテンツ配信ネットワークの前記柔軟なトークン解釈器により解釈する段階と、
解釈された前記パラメータ名／値の１以上の組に基づいて、前記トークン化されたコンテンツデジグネータへの応答を前記コンテンツ配信ネットワークの前記柔軟なトークン解釈器により決定する段階と、
前記コンテンツ配信ネットワークによりトークンに依存する前記応答を前記エンドユーザーへ送信する段階と
を備え、
前記トークン化されたコンテンツデジグネータは、取得するコンテンツに関連するコンテンツロケーションデジグネータを含み、取得するコンテンツに関連する、前記コンテンツ配信ネットワークの位置であるネットワークロケーションを含み、
前記受信した選択された１以上のトークンセマンティックに従ってフォーマットされた前記パラメータ名／値の組は、コンテンツ配布に関連して、満足すべき制限を規定する、
コンピュータに実装される方法。
【請求項２】
前記パラメータ名／値の１以上の組は、ビジネスロジックを規定する請求項１に記載のコンピュータに実装される方法。
【請求項３】
前記パラメータ名／値の１以上の組は、埋め込まれたパラメータ名／値の組を含む請求項１又は２に記載のコンピュータに実装される方法。
【請求項４】
前記応答は、メッセージ、前記トークン化されたコンテンツデジグネータによって指定されたコンテンツ、又は、代替コンテンツのうちの１以上を含む請求項１から３のいずれか一項に記載のコンピュータに実装される方法。
【請求項５】
前記柔軟なトークンは、コンテンツ提供者によって生成される請求項１から４のいずれか一項に記載のコンピュータに実装される方法。
【請求項６】
前記コンテンツ提供者は、前記トークン化されたコンテンツデジグネータに前記柔軟なトークンを挿入し、前記トークン化されたコンテンツデジグネータを、指定されたコンテンツを要求したエンドユーザーに送信する請求項５に記載のコンピュータに実装される方法。
【請求項７】
前記トークンに依存する応答を送信する段階は、前記コンテンツ配信ネットワーク内のエッジサーバーにより前記トークンに依存する応答を前記エンドユーザーに送信する段階を含む請求項１から６のいずれか一項に記載のコンピュータに実装される方法。
【請求項８】
前記パラメータ名／値の１以上の組は、地理的名前／値の１以上の組、時間的名前／値の１以上の組、暗号化名／値の１以上の組、及び、代替コンテンツ名／値の１以上の組を含む請求項１から７のいずれか一項に記載のコンピュータに実装される方法。
【請求項９】
エンドユーザーに対するコンテンツ配信を管理するシステムであって、
柔軟なトークンに含めることができる名前／値の組に対する、名前／値の組のセマンティックを生成するセマンティック生成器を有するコンテンツ配信ネットワークと、
コンテンツ提供者により選択可能な前記名前／値の組のセマンティックをユーザーメニューとして発行するセマンティック発行器と、
選択された前記名前／値の組のセマンティックに従ってフォーマットされた名前／値の組を有する柔軟なトークンを含み、前記コンテンツ提供者が前記エンドユーザーからの要求に応じて前記エンドユーザーに提供した、コンテンツを要求するためのトークン化されたコンテンツデジグネータをエンドユーザーから受信し、前記コンテンツ提供者からの選択された前記名前／値の組のセマンティックに従って、前記柔軟なトークンに含まれる前記名前／値の組を解釈し、柔軟なトークンに含まれる前記名前／値の組に基づいて、コンテンツ要求に対する応答を決定する前記コンテンツ配信ネットワークの柔軟なトークン解釈器と、
前記柔軟なトークン解釈器からの決定された前記応答に基づいて、コンテンツ要求に対するトークンに依存した応答を生成する前記コンテンツ配信ネットワークのエッジサーバーと、
トークンに依存する前記応答を前記エンドユーザーへ送信する前記コンテンツ配信ネットワークと
を備え、
前記名前／値の組は、コンテンツ配信に関連して、満足すべき制約を規定する前記選択された１以上の名前／値の組のセマンティックに従ってフォーマットされる、
システム。
【請求項１０】
少なくとも１つの柔軟なトークンが、埋め込まれた名前／値の組を含む請求項９に記載のシステム。
【請求項１１】
複数の前記名前／値の組は、地理的名前／値の１以上の組、時間的名前／値の１以上の組、暗号化名／値の１以上の組、及び、代替コンテンツ名／値の組を含む請求項９又は１０に記載のシステム。
【請求項１２】
前記名前／値の組のセマンティックは、顧客のセマンティック選択器によって選択される請求項９から１１のいずれか一項に記載のシステム。
【請求項１３】
前記名前／値の組のセマンティックが、マネタイズされる請求項９から１２のいずれか一項に記載のシステム。
【請求項１４】
前記エッジサーバーは、コンテンツデジグネータに挿入された前記柔軟なトークンを受信し、前記柔軟なトークンを前記柔軟なトークン解釈器に送信する請求項９から１３のいずれか一項に記載のシステム。
【請求項１５】
コンテンツ提供者により選択可能な名前／値の組のセマンティックのセットを生成する段階と、
前記生成されたセットから前記コンテンツ提供者により選択された１以上の前記名前／値の組のセマンティックを前記コンテンツ提供者から受信する段階と、
コンテンツ配信ネットワークの位置であり、要求されているコンテンツに関連するネットワークロケーションを規定し、コンテンツデジグネータの受信に応答する条件を示す柔軟なトークンを含み、コンテンツを要求するためのトークン化コンテンツデジグネータをエンドユーザーから受信する段階と、
前記柔軟なトークンに含まれ、順番に依存しない前記名前／値の複数の組を受信した選択された前記名前／値の組のセマンティックに従って解釈する段階と、
前記順番に依存しない名前／値の複数の組の解釈に基づいて、前記コンテンツデジグネータに対する応答を生成する段階と、
前記コンテンツの要求者へトークンに依存する前記応答を送信する段階と、
をコンテンツ配信ネットワークのコンピュータに実行させ、
前記トークン化コンテンツデジグネータは、前記コンテンツ提供者により前記エンドユーザーからの要求に応じて前記エンドユーザーに提供され、
前記条件は、選択された前記１以上の名前／値の組のセマンティックに従ってフォーマットされた名前／値の組を有し、
前記名前／値の組は、コンテンツ配布に関連して、満足すべき制限を規定する前記選択された１以上の名前／値の組のセマンティックに従ってフォーマットされる、
プログラム。
【請求項１６】
前記コンピュータに、
前記要求されたコンテンツを、前記コンテンツデジグネータの受信に応答して送信するべきか否かを判断する段階を更に実行させる請求項１５に記載のプログラム。
【請求項１７】
前記コンピュータに、
前記名前／値の組の複数のセマンティックをマネタイズする段階を更に実行させる請求項１５に記載のプログラム。
【請求項１８】
前記トークン化されたコンテンツデジグネータは、前記コンテンツ提供者によって生成される請求項１５又は１７に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示する実施形態は、概して、コンテンツ要求に対応することに関する。具体的には、本明細書に開示する実施形態は、コンテンツ配信で使用される柔軟なトークンに関する。
【０００２】
［著作権情報］
この特許文献の開示の一部には、著作権保護の対象となる内容が含まれる。著作権所有者は、米国特許商標局の特許ファイル又は特許記録に存在する特許開示の特許文献の何人による複製にも異議を唱えないが、それ以外については、著作権を保有する。Copyright 2009 Level 3 Communications, LLC.
【背景技術】
【０００３】
近年、インターネットの利用が急速に拡大し、また、今後も利用の拡大が見込まれる。ユーザーは、あらゆる種類のコンテンツを閲覧するべく、インターネットにアクセスする。ユーザーは、動画及び写真のような記憶されているコンテンツ、及び、スポーツイベントのようなイベントの生中継を視聴することができる。コンテンツのプロバイダは一般的に、コンテンツが視聴される態様及び視聴者について、ある程度制御したいと考える。例えば、動画のプロバイダは、配信する時に特定の動画（例えば、選ばれた動画、又は、動画の種類）を暗号化したいと考える場合がある。
【０００４】
インターネットコンテンツの典型的なプロバイダは、コンテンツを配布するインフラを提供するネットワークプロバイダとは別のエンティティである。多数の視聴者にサービスを届けるために、コンテンツ提供者は多くの場合、コンテンツを配布するための大型ネットワークインフラを有するコンテンツ配信ネットワークプロバイダのサービスを購入する。しかしながら、通常、コンテンツ提供者は、配布を制御することができないため、コンテンツをどのように及び誰に配布するかについて限られた範囲の制御しかできない。
【０００５】
コンテンツ提供者は、コンテンツがどのように配布されるかについてある程度規定することができるが、従来の方法では限られた範囲での規定しかできない。例えば、コンテンツ提供者は、コンテンツ配布者がどのようにコンテンツを配布するかを決定するのに使用することができるデータを含むＵＲＬ（Uniform Resource Locator）を生成することができる。しかしながら、ＵＲＬデータで利用可能な形式及び値は固定されており、特定のセットに限定されている。コンテンツ提供者は、この特定の形式及び値に従わなければならないため、コンテンツ配信の条件の規定が、コンテンツ配布者にとって一義的なものとなっている。相対的に標準化されているが、この固定的な方法では、コンテンツ提供者が、コンテンツがどのように配布されるかについて規定する際の柔軟性又は多様な方法を提供することができない。
【発明の概要】
【０００６】
本明細書に開示する実施形態は、概して、コンテンツ要求に対応することに関する。具体的には、本明細書に開示する実施形態は、コンテンツ配信で使用される柔軟なトークンに関する。実施形態は、コンテンツ提供者に、コンテンツ配布の態様を規定する柔軟性のある方法を提供する。コンテンツ提供者は、１以上のパラメータを含む柔軟なトークンを、（ＵＲＩ（Uniform Resource Identifier）又はＵＲＬ（Uniform Resource Locator）のような）コンテンツデジグネータ（指示子）に挿入することができ、コンテンツ配布者は柔軟なトークンを読み出すことができる。コンテンツ配布者は、柔軟なトークンを使用して、コンテンツ配信の態様を決定することができる。
【０００７】
コンピュータに実装される方法の一実施形態では、複数のトークンセマンティック（意味規則）のメニューを生成する段階を備え、複数のトークンセマンティックは、柔軟なトークンに組み込むことができる１以上のパラメータ名を規定し、柔軟なトークンは、パラメータ名／値の１以上の組を含むよう構成されており、パラメータ名／値の１以上の組は、いかなる順番で発生してもよい。方法は更に、複数のトークンセマンティックの１以上の選択結果を受信する段階と、選択された１以上のトークンセマンティックに従ってフォーマットされたパラメータ名／値の１以上の組を有する柔軟なトークンを含むトークン化されたコンテンツデジグネータを受信する段階と、選択された１以上のトークンセマンティックに従って、パラメータ名／値の１以上の組を解釈する段階と、解釈されたパラメータ名／値の１以上の組に基づいて、トークン化されたコンテンツデジグネータへの応答を決定する段階とを備える。
【０００８】
コンピュータに実装される方法の一実施形態において、パラメータ名／値の１以上の組は、ビジネスロジックを規定する。さらに、パラメータ名／値の１以上の組は、埋め込まれたパラメータ名／値の組を含む。また、応答は、メッセージ、前記トークン化コンテンツデジグネータによって指定されたコンテンツ、又は、代替コンテンツのうちの１以上を含む。柔軟なトークンは、コンテンツ提供者によって生成されてもよい。コンテンツ提供者は、トークン化コンテンツデジグネータに柔軟なトークンを挿入し、トークン化されたコンテンツデジグネータを、指定されたコンテンツを要求したエンドユーザーに送信してもよい。
【０００９】
上記コンピュータに実装される方法の別の実施形態では、方法は更に、トークンに依存する応答をエンドユーザーに送信する段階を備える。また、パラメータ名／値の１以上の組は、地理的名前／値の１以上の組、時間的名前／値の１以上の組、暗号化名／値の１以上の組、及び、代替コンテンツ名／値の１以上の組を含むことができる。
【００１０】
エンドユーザーに対するコンテンツ配信を管理するシステムの一実施形態は、柔軟なトークンに含めることができる名前／値の複数の組に対する、名前／値の組の複数のセマンティックを生成するセマンティック生成器と、選択可能な名前／値の組の複数のセマンティックをメニューとして発行するセマンティック発行器とを備える。システムは更に、名前／値の組の複数のセマンティックに従って、柔軟なトークンに含まれる名前／値の組を解釈する柔軟なトークン解釈器を備えてもよい。柔軟なトークン解釈器は、柔軟なトークンに含まれる名前／値の組に基づいて、コンテンツ要求に対する応答を決定する。システムは更に、柔軟なトークン解釈器からの決定された応答に基づいて、コンテンツ要求に対するトークンに依存した応答を生成するエッジサーバーを備えてもよい。
【００１１】
上記システムの一実施形態では、少なくとも１つの柔軟なトークンが、埋め込まれた名前／値の組を含んでもよい。名前／値の複数の組は、地理的名前／値の１以上の組、時間的名前／値の１以上の組、暗号化名／値の１以上の組、及び、代替コンテンツ名／値の１以上の組を含んでもよい。名前／値の組の１以上のセマンティックは、顧客のセマンティック選択器によって選択されてもよい。名前／値の組のセマンティックは、マネタイズ（収益化）されてもよい。エッジサーバーは、コンテンツデジグネータに挿入された柔軟なトークンを受信し、柔軟なトークンを柔軟なトークン解釈器に送信してもよい。
【００１２】
コンピュータプログラム物品の一実施形態は、コンピュータによって実行されると、当該コンピュータにプロセスを実行させるコンピュータ実行可能命令を格納するコンピュータ可読媒体を備える。上記プロセスは、要求されているコンテンツを規定するトークン化コンテンツデジグネータを受信する段階と、柔軟なトークンに含まれ、順番に依存しない名前／値の複数の組を解釈する段階とを有する。トークン化コンテンツデジグネータは、当該トークン化コンテンツデジグネータの受信に応答する条件を示す柔軟なトークンを含んでもよい。上記プロセスは更に、順番に依存しない名前／値の複数の組の解釈に基づいて、コンテンツデジグネータに対する応答を生成する段階を有する。
【００１３】
上記コンピュータプログラム物品の一実施形態では、プロセスは、要求されたコンテンツを、コンテンツデジグネータの受信に応答して送信するべきか否かを判断する段階を更に有してもよい。プロセスはまた、コンテンツ提供者が選択可能な名前／値の組の複数のセマンティックのセットを生成する段階を更に有してもよい。プロセスはまた、名前／値の組のセマンティックをマネタイズする段階を更に有してもよい。トークン化されたコンテンツデジグネータは、コンテンツ提供者によって生成されてもよい。プロセスは更に、コンテンツ提供者から、名前／値の組の複数のセマンティックのセットからの選択結果を受信する段階を有してもよい。
【図面の簡単な説明】
【００１４】
【図１】コンテンツ要求に対応するべく柔軟なトークンを使用するのに好適なネットワーク環境の例を示した図である。
【図２】柔軟なトークンを使用してコンテンツ要求に対応する機能モジュールを単位とするシステムを示した図である。
【図３】柔軟なトークンを使用してコンテンツ要求に対応することを伴うシナリオ例を示した図である。
【図４】トークンのセマンティックのメニューを生成し、トークンセマンティックの選択を受信し、選択されたトークンセマンティックに従ってトークンパラメータを解釈するシステムを示した図である。
【図５】トークン化されたコンテンツデジグネータ、トークン及びパラメータデジグネータに対するデータ形式の例を示した図である。
【図６】様々な実施形態に係る、柔軟なトークンを使用して、規則に基づく態様でコンテンツ要求に対応するのに使用してもよい階層例外ベースの決定木の例を示した図である。
【図７】柔軟なトークンを使用してコンテンツ要求に対応するコンテンツ配布者によって実行されてもよいプロセスの例を示したフローチャートである。
【図８】トークンセマンティックのセットを選択し、トークン化されたコンテンツデジグネータを生成するコンテンツ提供者によって実行されてもよいプロセスの例を示したフローチャートである。
【図９】本明細書に記載される実施形態に係る柔軟なトークン適用及びプロセスを使用したコンピュータシステム構成のブロック図例である。
【発明を実施するための形態】
【００１５】
本明細書に開示する実施形態は、概して、コンテンツ要求を扱うことに関する。具体的には、本明細書に開示する実施形態は、コンテンツ配信で使用される柔軟なトークンに関する。実施形態は、コンテンツ提供者に、コンテンツ配布の態様を規定する柔軟性のある方法を提供する。コンテンツ提供者は、１以上のパラメータを含む柔軟なトークンを、（ＵＲＩ（Uniform Resource Identifier）又はＵＲＬ（Uniform Resource Locator）のような）コンテンツデジグネータに挿入することができ、コンテンツ配布者は柔軟なトークンを読み出すことができる。コンテンツ配布者は、柔軟なトークンを使用して、コンテンツ配布の態様を決定することができる。
【００１６】
ある実施形態では、コンテンツ配布者は、トークンセマンティック（semantics）のメニューを生成する。セマンティックは、コンテンツデジグネータにおけるパラメータの条件及びフォーマットを指定する。一実施形態において、パラメータのフォーマットは、名前／値の組の形式である。名前／値の組のセマンティックのメニューは、通常、コンテンツ要求及びコンテンツ配信の前に生成される。コンテンツ提供者は、コンテンツ提供者がどのようにコンテンツを配信するかを規定するのに使用するトークンセマンティックのうちの１以上を選択することができる。トークンセマンティックは個別に選択されてもよいし、セマンティックのうちの幾つかをセットにして、コンテンツ配信の態様を指定するべく、コンテンツ提供者が使用できるようにセマンティックのセットを選択可能にしてもよい。
【００１７】
ある実施形態では、コンテンツ配布者は、名前／値の組のセマンティックにおいて、項目をマネタイズすることができる。マネタイズにおいては、コンテンツ提供者がメニューから多くのセマンティックを選択する場合には、単位当りのディスカウントを可能としてもよい。例えば、コンテンツ配布者は、コンテンツ提供者が選択するセマンティックの各々に対して固定の料金をそれぞれ課金することができるが、多くのセマンティックが選択される場合には、単位あたりの料金が通常よりも少なくなるように課金してもよい。コンテンツ配布者は、複数のセマンティックがまとめられたセットに対しては、セット料金を課金してもよい。セットにするセマンティックを選択可能であってもよく、コンテンツ配布者の配信システム及びプロセスに対して最適化できるようにしてもよい。
【００１８】
様々な実施形態において、柔軟なトークンは、パラメータのリスト及びダイジェスト（概要）を含む。ダイジェストは、データの信頼性及び作成元（ソース）の認証に使用することができる。パラメータは、コンテンツ配布に関連して、満足すべき制限を規定する。パラメータは、数多くの異なる種類及び値となる。例えば、パラメータリストは、データ、時間、プロトコル、暗号化デジグネータ、暗号化種類、地理的位置、代替コンテンツ及び／又はその他を含むことができる。
【００１９】
一実施形態において、コンテンツデジグネータは、プロトコル、ホスト、リソース経路及び柔軟なトークンパラメータを含む。プロトコルは、これらに限定するわけではないが、リアルタイムストリーミングプロトコル（ＲＴＳＰ）、ＲＴＳＰ ＵＤＰ(ＲＴＳＰＵ)、ＲＴＳＰ ＴＣＰ(ＲＴＳＰＴ)、リアルタイムメッセージングプロトコル（ＲＴＭＰ）、ＲＴＭＰ暗号化(ＲＴＭＰＥ)、ＲＴＭＰ ＳＳＬ−暗号化（ＲＴＭＰＳ)、又は、ハイパーテキストトランスポートプロトコル（ＨＴＴＰ）であってもよい。ホストは、これらに限定するわけではないが、ドットが付されたドメインパス又はドット付きの１０進数の形式で表されたインターネットプロトコル（ＩＰ）アドレスであってもよい。リソースパスは、これに限定するわけではないが、１以上のディレクトリ又はサブディレクトリであってもよい。トークンパラメータの各々は、これに限定するわけではないが、名前／値の組であってもよい。パラメータ名／値の組は、これに限定されないが、ビジネスロジック及びコンテンツ要求への応答条件を含む数多くのデータの種類を規定するのに使用することができる。ビジネスロジック及びコンテンツ要求への応答条件は、応答の態様及び／又はコンテンツデジグネータに具現化されるコンテンツ要求に応答するか全く応答しないかを規定することができる。
【００２０】
名前は、パラメータの名前を規定し、値は、パラメータに関係付けられている値を規定する。多数の種類の値を規定することができ、これに限定するわけではないが、暗号化デジグネータ、暗号化種類、期間（例えば、コンテンツ要求を有効とする時間）、コンテンツ要求が有効となる１以上の地理的領域、代替コンテンツ又はその他が含まれる。例えば、パラメータ名／値の組は、例えば、"start_time（開始時間）＝＜日時＞"といったように、ステートメントを使用して期間を規定してもよく、ここで、＜日時＞は、形式に従った日時を規定している。
【００２１】
別の例として、パラメータ名／値の組は、"location（ロケーション）＝＜国コード＞"といったように、ステートメントを使用して１以上の地理的領域を規定してもよく、ここで、国コードは、国を識別するあらゆる形式であってもよい。例えば、国コードの例としては、ＵＫ（英国）、ＧＢ（グレート・ブリテン）、ＵＳ（アメリカ合衆国）、ＣＡ（カナダ）、ＣＨ（中国）、ＪＰ（日本）等であってもよい。暗号化及び暗号化の種類を、パラメータ名／値の組を使用して規定することができ、例えば、"encryption（暗号化）＝＜はい／いいえ＞"、"encryption type（暗号化種類）＝＜暗号化種類コード＞としてもよい。
【００２２】
別の例として、代替コンテンツの名前／値の組を、"alternative content（代替コンテンツ）＝＜代替コンテンツ名又はパス＞"の形式で使用してもよく、ここで、＜代替コンテンツ名又はパス＞は、要求されたコンテンツの替わりに、リクエストしているエンドユーザーに送信する替わりのコンテンツを指定している。ある実施形態では、代替コンテンツが規定される場合には、トークンにおけるその他のパラメータ制限（例えば、期間又はロケーション）を満たしていない場合にのみ、代替コンテンツが送信される。別の実施形態では、代替コンテンツが規定される場合には、その他のパラメータ制限が満たされているか否かに関わらず、規定された代替コンテンツが送信される。
【００２３】
更に、異なる種類のトークン値を、その他のトークン値に埋め込むことができる。例えば、開始時間及び終了時間を、特定の地理的領域内に規定することができる。埋め込まれた名前／値の組を使用して、コンテンツ提供者は、コンテンツ要求が、１以上の地理的領域内各々における指定された時間に対して有効であるかを特定することができ、指定された時間は、１以上の地理的領域各々で異なっていてもよい。別の例として、コンテンツ提供者は、１以上の地理的領域の各々及び／又は指定された期間の間に、暗号化を使用するか否かを指定することができ、異なる地理的ロケーション及び／又は期間に対して異なる暗号化の種類が指定されてもよい。
【００２４】
様々な実施形態において、トークンは十分な柔軟性を有するので、リストで選択されたセマンティックのセットからのパラメータの全て又は一部を含む必要がない。すなわち、コンテンツ提供者は１以上のトークンセマンティックの特定のセットを選択するが、コンテンツ提供者は、セマンティックのパラメータ全てを含むといった固定された方法でトークンを生成する必要がない。パラメータの順番が変更されている並びに所与のコンテンツ要求においてパラメータがコンテンツデジグネータに含まれている又は取り除かれている場合であっても、コンテンツ配布者は、トークンのセマンティックに基づいてリスト内のパラメータの意味を判断することができる。したがって、パラメータは、順番に依存しない。
【００２５】
ある実施形態では、柔軟なトークンは、配布コンテンツに関する制限を規定するパラメータを含むことができる。例えば、パラメータは、配布を、例えば、サイト、州、省、国及び／又は大陸といったような特定の地理的エリアに限定することができる。別の例として、柔軟なトークンにおけるパラメータは、コンテンツの配布を、特定の日又は時間に限定することができる。パラメータは、制限の様々な組み合わせを使用してもよい。したがって、例えば、配布を、特定の時間及び特定の地理的領域に限定することができる。
【００２６】
ある実施形態では、柔軟なトークンは、制限の条件が満たされない場合に、代替を規定するパラメータを含むことができる。例えば、パラメータは、制限が満たされない場合に、代替コンテンツが配信されるべきであることを規定してもよい。これに替えて、制限が満たされない場合には、メッセージ（例えば、エラーメッセージ）を配信してもよい。メッセージは、実質的にあらゆる種類の情報又はエンドユーザーに対するプロンプトを含んでもよい。例えば、メッセージは、ユーザーに対して、特定のサービスにサインアップするよう促してもよい。これは、例えば、コンテンツ提供者が、特定のユーザー（所定の地理学的エリアのユーザー又は購買層）に特定のサービスを売り込みたいと望む場合に有用であってもよい。様々なトークン、ＵＲＩ及びパラメータの形式の例が示され、以下に説明されるが、トークン、ＵＲＩ及びパラメータは、図示されるこれらの特定の形式に限定されない。
【００２７】
図１は、様々な実施形態に係る、コンテンツ配布において柔軟なトークンを使用するのに好適なネットワーク環境１００の例を示した図である。コンテンツ提供者は、１以上のウェブページサービス１０４及び１以上のコンテンツ元サービス１０６を含んでもよいコンテンツプロバイダネットワーク１０２を保持する。コンテンツ配信ネットワーク（ＣＤＮ）１０８は、コンテンツ提供者からのコンテンツを提供するためのインフラを含む。図１の環境１００において、コンテンツ提供者は、ＣＤＮ１０８プロバイダの顧客であってもよく、ＣＤＮ１０８プロバイダは、コンテンツ提供者からのコンテンツを提供（ホスト）することに同意する。
【００２８】
例えば、様々な実施形態において、コンテンツ１１０は、コンテンツプロバイダネットワーク１０２のコンテンツ元サーバー１０６から、ＣＤＮ１０８の１以上のコンテンツ配信サーバー１１２へと伝播されてもよい。コンテンツ１１０は、１以上のコンテンツ配信サーバー１１２から提供されてもよい。これに替えて又は加えて、コンテンツ１１０の少なくとも一部が、１以上のエッジサーバー１１４に格納されて、エッジサーバーから提供されてもよい。例えば、コンテンツは、元のサーバー１０６又は配信サーバー１１２からエッジサーバー１１４へと配信されてもよい。エッジサーバー１１４を、ＣＤＮ１０８内に戦略的に位置させて、負荷バランシング又はその他の性能基準値を向上させるべく、エンドユーザーに地理的に近接するように配置してもよい。
【００２９】
コンピュータエンドユーザー（図示せず）は、コンテンツプロバイダネットワーク１０２又はＣＤＮ１０８のリソースのような様々なネットワークリソースにアクセスするべく、コンピュータ１１６を使用する。典型的には、コンピュータ１１６は、インターネットエクスプローラ（登録商標）又はＦｉｒｅｆｏｘ（登録商標）等のネットワークブラウザアプリケーションを実行して、ネットワークリソースにアクセスする。コンピュータ１１６はまた、Ｆｌａｓｈ Ｍｅｄｉａ Ｐｌａｙｅｒ（登録商標）又はＱｕｉｃｋｔｉｍｅ（登録商標）のようなストリーミングメディアプレーヤを実行してもよい。コンピュータ１１６で実行されるアプリケーションを通じて、ユーザーは、これに限定されないが、動画、音声、マルチメディア、画像、写真、ウェブページ、テキスト及びその他のコンテンツを視聴及び体験することができる。
【００３０】
複数の理由から、コンテンツ提供者は、エンドユーザーがコンテンツにアクセス可能か否か及びどのようにアクセス可能かを規定したいと望む場合がある。コンテンツ提供者は、エンドユーザーに関連する複数の属性に基づいて、このアクセス可能性を規定したいと望む場合がある。例えば、コンテンツ提供者は、ＣＤＮ１０８が提供するスポーツイベントのライブストリーミング・ウェブ放送を提供してもよい。ライセンス契約により、コンテンツ提供者は、特定の地理的エリア内のエンドユーザーのみがライブウェブ放送にアクセス可能であるようにしたいと望む場合がある。無論、コンピュータ１１６のエンドユーザーは、この地理的エリア内に居住している場合もあるし、居住していない場合もある。別の例としては、コンテンツ提供者は、エンドユーザーからリクエストされたコンテンツが利用不可能である場合、動画クリップのような代替コンテンツアイテムを提供したいと望む場合がある。
【００３１】
このようなコンテンツアクセス可能性に対する要求に対処するべく、ＣＤＮ１０８は、コンテンツアクセス規則を規定することができるユーティリティ及び機能、並びに、規定された態様で要求に対応するべく生成されるビジネスロジックを含む。規則は、多くの場合、コンテンツ要求を発行するコンピュータ（例えば、コンピュータ１１６）のＩＰアドレス、及び、ＩＰアドレスに関連する属性に基づく。規則は、ＩＰアドレスに基づいて要求が行われた時に決定することができる数多くの属性に基づいて、要求にどのように対応するかを規定することができる。この点に関して、ＣＤＮ１０８は、要求元である、可能性のある数多くのＩＰアドレスと関連付けられた様々な属性を特徴付けるＩＰアドレス相関データを含むため、ＩＰアドレス属性に基づいて規則を適用することができる。
【００３２】
例えば、図１の実施形態では、ＣＤＮ１０８は、例えば、コンテンツ提供者ネットワーク１０２の管理（administration）コンピュータ１２０から規則仕様を受信可能な規則生成サーバー１１８を含む。規則生成サーバー１１８は、コンピュータ１２０のユーザーに対してユーザーインターフェースを提供可能な機能モジュールを含む。ネットワーク管理者のようなコンピュータ１２０のユーザーは、ユーザーインターフェースを介して、コンテンツアクセス規則を規定することができる。規則生成サーバー１１８は、規則仕様を解釈し、規則仕様を編集、再フォーマット又はエンコードして、ソフトウェア実装されたビジネスロジック１２２にする機能を含む。
【００３３】
一実施形態において、規則生成サーバー１１８は、ＣＤＮ１０８の管理者が規則仕様の処理に使用することができるネットワークオペレーションコンピュータである。この点において、規則生成サーバー１１８の機能モジュールは、ユーザーが規定された規則を見ることができ、これらを編集及び／又は再フォーマットすることができる別のユーザーインターフェースを提供してもよい。規則生成サーバー１１８は、規則に基づくコンピュータ実行可能ビジネスロジック１２２の手動での生成及び／又は自動生成を可能とする。一実施形態において、規則に基づくコンピュータ実行可能ビジネスロジック１２２は、ＸＭＬ（Extensible Markup Language）形式で表されている。
【００３４】
図示の実施形態では、数多くのＩＰアドレスの各々を属性のセットと関連付けるＩＰアドレス属性マップエントリ１２６を生成するべく、プロビジョニングツール１２４が提供されている。プロビジョニングツール１２４は、リポジトリ１２８から生のＩＰアドレス属性データを取得し、当該データを構文解析及び指標付け可能な形式へとフォーマットしてもよい。
【００３５】
様々な実施形態において、規則生成サーバー１１８からのビジネスロジック１２２及びＩＰアドレス属性マップエントリ１２６が、ＣＤＮ１０８内の１以上の要求認証サーバー（ＲＡＳ）コンピュータ１３０に配備される。ＲＡＳコンピュータ１３０はそれぞれ、１以上の対応するエッジサーバー１１４に地理的に近接して配置される。ＲＡＳコンピュータ１３０は、要求に対して規則に基づいた応答を生成するために、コンピュータ１１６のようなエンドユーザーデバイスから受信したコンテンツ要求に関連する属性値に対してビジネスロジック１２２を適用する機能を含む。具体的には、ＲＡＳコンピュータ１３０は、トークン化されたコンテンツデジグネータ（例えば、ＵＲＬ又はＵＲＩ）に含まれるパラメータ名／値の組を解読するトークン解釈器（インタープリタ）を含む。以下の記載及び図面では、図１に示したシステム及び様々なプロセスの特定の実施形態が説明される。
【００３６】
図２は、様々な実施形態に係る、柔軟なトークンを使用してコンテンツ要求に規則に基づく対応を行うことができるシステム２００におけるモジュールを示した機能ブロック図である。システム２００は、設定部分又はプロセス、並びに、リアルタイムコンテンツ要求対応部分又はプロセスを含むと考えることができる。設定部分は、規則に基づくビジネスロジック、及び、フォーマットしたＩＰアドレス属性データを生成して、要求認証サーバー（ＲＡＳ）に配備する。リアルタイム要求対応部分は、規則に基づくビジネスロジックを、リアルタイムコンテンツ要求と関連付けられた属性値に適用して、コンテンツ要求に同様に対応するかを決定する。図２のシステムに示されている様々な機能モジュールは、図１の環境に示されるデバイス及びネットワークに実装されてもよい。
【００３７】
設定プロセスの一部として、規則生成器２０２は、コンテンツ提供者のような顧客から規則仕様２０４を受信する。規則生成器２０２は、規則仕様に基づいて、規則に基づくコンピュータ実行可能ビジネスロジックを生成する。規則に基づくビジネスロジックは、１以上のＸＭＬ（Extensible Markup Language）プログラム２０６の形式であってもよい。ビジネスロジックは、データ駆動型の決定ノードの階層構造として実装されてもよい。規則生成器２０２を介して、決定ノードを、顧客によって規定される規則にマップしてもよい。
【００３８】
設定プロセスの別の部分として、プロビジョニングツール２０８は、生のＩＰアドレス属性データ２１０を受信し処理する。一実施形態において、生のＩＰアドレス属性データ２１０は、Ｑｕｏｖａ（登録商標）のような商業的に利用可能なソースから取得される。ＩＰアドレス属性データは、ＩＰアドレスを個別に又は特定の範囲で、ＩＰアドレスと関連付けられた複数の準静的属性値にマップする。例えば、属性データは、国、都市、郵便番号、及び、各ＩＰアドレスが存在する自立システム番号を含んでもよい。また、属性データは、国、州、指定されたマーケットエリア、大都市の統計的エリア、接続種類、回線速度、及び、ＩＰアドレスと関連付けられたＩＰルーティング種類を含んでもよい。
【００３９】
準静的（semi-static）という言葉は、属性値が時間によって変化してもよいが、この変化は、特定のＩＰアドレスを取り出した場合に、相対的にはめったに発生しないことを意味している。例えば、準静的属性値は、所与のＩＰアドレスに対して、数年毎にしか変化しない。しかしながら、生のＩＰ属性データ２１０は、毎週又は毎月といったように、多かれ少なかれ、より高い頻度で変化してもよい。一実装例において、Ｑｕｏｖａ（登録商標）データの場合、ＩＰアドレス属性データは、毎週読み出されるが、複数のＩＰアドレスのうちのほんの数パーセントが変更される。生のＩＰアドレス属性データ２１０が、プロビジョニングツール２０８によって処理が行われるデータ格納場所２１２に格納される。
【００４０】
プロビジョニングツール２０８は典型的には、生のＩＰアドレス属性データ２１０をフォーマットして、データがＩＰアドレスで指標付け可能なようにする。ある実施形態では、プロビジョニングツール２０８は、以下に説明するように、ＩＰアドレスと関連付けられた属性値を読み出すためにＩＰアドレスによって指標付けできるデータ構造である、ＩＰアドレス属性マップを生成する。フォーマットを行った後、ＩＰアドレス属性マップ２１４は、利用可能なように管理サーバー２１６に配備される。同様に、規則に基づくビジネスロジック２０６が、利用可能なように、管理サーバー２１６の要求認証サーバー２１８に配備される。
【００４１】
コンテンツ要求が処理される時には、要求されたコンテンツがエッジサーバー２２２に存在しない場合には、管理サーバー２１６によって、コンテンツが、顧客のコンテンツ元サーバー２２０（又は、ＣＤＮ配信サーバー）から、エッジサーバー２２２へとダウンロードされる。エッジサーバー２２２は、エッジサーバー２２２で受信されたコンテンツ要求から属性データを収集可能なソフトウェアエージェント２２４を含む。エージェント２２４は、１以上の属性種類のうちの選択された属性値を特定し、属性値をパッケージして（例えば、フォーマットして）、それらをＲＡＳ２１８に送信する。
【００４２】
要求認証サーバー（ＲＡＳ）２１８は、コンテンツ要求と関連付けられている属性値に、規則に基づくビジネスロジック２０６を適用する。このような動作の間、要求が受信されると、ＲＡＳ２１８は、一部要求から決定される属性値を使用して、要求にどのように対処するかを決定する。要求に対応することは、コンテンツ要求を許可すること、コンテンツ要求を拒否すること又はコンテンツ要求をリダイレクトすることを含んでもよい。
【００４３】
例えば、エンドユーザーのブラウザアプリケーション２２６は、ユーザーが、顧客が管理するウェブサーバー２３０で提供されているウェブページからの関連するコンテンツを示すハイパーリンクを選択した時に、コンテンツに対する要求２２８を生成してもよい。ＨＴＴＰの場合には、要求２２８はＧＥＴ要求であってもよい。要求２２８は、顧客が管理するウェブサーバー２３０によって、送受信される。ウェブサーバー２３０からの応答には、所望のコンテンツ項目のロケーションを示すＵＲＩ（uniform resource identifier ）が含まれる。柔軟なトークンは、このＵＲＩに埋め込まれていてもよい。ＵＲＩは、例えば、次のようなものである。
rtmp://mediacorpfs.fplive.net/mediacorp/drama/george_and_carla.flv
【００４４】
上記のＵＲＩの部分は、コンテンツ要求に対応する時に、ＲＡＳ２１８によって使用されてもよい属性値の例である。例えば、"rtmp"はプロトコルを指定しており、属性の１種類である。別の例として、"mediacorp"は顧客ＩＤであり、これも属性の１種類である。更なる例として、"flv"はファイルの種類であり、これも属性の１種類である。上記の属性値の全てを、要求にどのように対応するかを決定するのに使用してもよい。
【００４５】
上述のように、ある実施形態では、顧客は、ＵＲＩに柔軟なトークンを含めることができる。上記したＵＲＩは、埋め込まれたトークンを有していない。柔軟なトークンを組み込んだ場合のＵＲＩの例を以下に示す。
rtmp://mediacorpfs.fplive.net/mediacorp/drama/george_and_carla.flv?token = F71A05E224B90016
【００４６】
上記のＵＲＩの例では、柔軟なトークン値"F71A05E224B90016"が挿入されている。柔軟なトークン値は、ＲＡＳ２１８によってデコード又は暗号解読可能なハッシュ値又は暗号化値であってもよい。トークンは、時間制約、クーポンのような１以上の属性値を規定してもよい。
【００４７】
ＵＲＩ２３２を受信した後、ブラウザアプリケーション２２６は、エッジサーバー２２２への別のコンテンツ要求２３４を生成する。エッジサーバー２２２の選択は、ドメインネームシステム（ＤＮＳ）への問い合わせ（クエリ）に基づいて発生してもよく、ＵＲＩ２３２の宛先が、エッジサーバー２２２のＩＰアドレスへと変換される。エッジサーバー２２２がコンテンツ要求２３４を受信すると、エージェント２２４は、要求２３４の構文解析を行い、エージェント２２４が収集するべき属性値を抽出する。
【００４８】
例えば、ある実施形態では、エージェント２２４は、ＩＰアドレス、顧客ＩＤ、プロトコル、ファイルの種類及びリソースを収集してもよい。これら及びその他の種類の属性は、リアルタイム属性と称されてもよい。リアルタイム属性のその他の種類には、例えば、ディレクトリ及びリソースが含まれる。エージェント２２４は、受信するリアルタイム属性値をパッケージ化して、これらを要求２３６においてＲＡＳ２１８に伝達する。ＲＡＳ２１８は、エージェント２２４からのＩＰアドレスを使用してＩＰアドレス属性マップ２１４に指標付け（indexing）することによって、更なる属性を決定するべく、ＩＰアドレスを使用する。
【００４９】
リアルタイム属性及び準静的属性を使用して、そして場合によってはその他の属性を使用して、ＲＡＳ２１８は、ビジネスロジックを適用し、コンテンツ要求２３４にどのように対応するかを決定する。様々な実施形態において、ビジネスロジックの適用は、データ駆動型決定ノードの階層構造を横断することを含む。図６には、決定ノードの階層構造の実施形態の例が示されており、これについては、以下に詳細に説明する。
【００５０】
ＲＡＳ２１８がビジネスロジックを適用した後、規則に基づく決定２３８が生成されて、エージェント２２４に戻される。規則に基づく決定２３８は、応答２４０に組み込まれて、エンドユーザーブラウザ２２６に戻される。以下で詳細に説明するように、応答２４０は、複数の異なる種類の応答のうちの１つであってもよい。
【００５１】
システム２００の一実施形態では、規則生成器２０２及びプロビジョンツール２０８は、ＣＤＮの中心に配置されているサーバーコンピュータ上で動作し、エッジサーバーコンピュータ２２２及び管理サーバーコンピュータ２１６は、ＣＤＮの別の領域に配置されている。この実施形態では、ＣＤＮに複数の領域が存在し、領域の各々は、１以上のエッジサーバーコンピュータ及び管理サーバーコンピュータのクラスタを有する。規則生成器２０２及びプロビジョンツール２０８は、様々な領域の管理コンピュータに、対応するロジック及びデータを配備することができる。
【００５２】
図３には、柔軟なトークンを利用可能なコンテンツ要求への規則に基づく対応についての方法例が示されている。図示されているシナリオでは、コンテンツ要求３０２にどのように対応するかを決定するのに、リアルタイム属性値３０４、準静的属性値３０６及びアドレスに依存しない属性値３０８の３つの一般的な種類の属性値が使用されている。多くの場合、属性値は、コンテンツ要求を受信した時点で決定される。複数の属性値のうちの一部は、アドレスに依存しており、その他の属性値はアドレスに依存しない。
【００５３】
例えば、リアルタイム属性値３０４は、ＩＰアドレス、プロトコル、顧客ＩＤ、要求リソース、サーバー、ファイルの種類、トークン及び／又はその他を含み、これらは、受信された要求に依存し、要求がなされた時点又は要求３０２を受信した直後に、確立される。要求３０２が受信されると、リアルタイム属性３０４が、例えば、エッジサーバーエージェント２２４（図２）によって要求３０２から抽出された後、階層構造決定プロセス３１４によって構文解析可能な形式でパッケージ化される。
【００５４】
国、都市、郵便番号、自立システム（ＡＳ）等の準静的属性３０６は、ＩＰアドレス３１０に基づいて決定される。したがって、準静的属性値３０６は要求に依存するが、これらは、要求が生成される前に確立されて、要求の時点で参照されることから、リアルタイム属性とは見なされない。ＩＰアドレス又はアドレスの範囲を１以上の対応する準静的属性値にマップするＩＰアドレスマップ３１２において、準静的属性３０６が参照される。ＩＰアドレス３１０は、マップ３１２における属性値を参照するための指標又は鍵として使用される。図に示される特定のシナリオでは、ＩＰアドレス３１０は、マップ３１２におけるＩＰアドレス範囲２内に決定される。
【００５５】
アドレスに依存しない属性値３０８には、これに限定されないが、例えば、要求３０２が受信された現在の時刻、日又は曜日が含まれる。時間とは、一日における現在時刻であり、要求に規定されているＩＰアドレスによって設定されるものではない。したがって、時間は、ＩＰアドレスに依存しない。また、以下に説明するように、要求３０２におけるトークンに設定されてもよい期間との比較に、現在の時刻、日付及び／又は曜日を使用してもよい、その他のアドレスに依存しない属性値は、ＩＰアドレスに基づいて設定及び決定されないシステム属性値であってもよい。
【００５６】
一実施形態において、要求３０２内の柔軟なトークンに関して、柔軟なトークンは、パラメータ名／値の１以上の組を含む。一実施形態において、柔軟なトークン値は、ベース６４へとエンコードされる。ベース６４へとエンコードされる前の柔軟なトークンの例を以下に示す。
start_time = 2008080808113000&end_time = 2008080808130000&digest = 2afda6bbc02153da236bd09245a3c332
【００５７】
上記の柔軟なトークンの例では、"start_time（開始時間）"、"end_time（終了時間）"及び"digest（要約）"がパラメータ名である。そして、数値がパラメータ値である。このように、上記の例は、３つの名前／値の組を含んでいる。
【００５８】
一実施形態において、digest（ダイジェスト：要約）の値は、１以上の単位のデータのエンコードされたバージョンであってもよい。ダイジェストメッセージは、メッセージになる数単位のデータを規定し、データはハッシングアルゴリズム（例えば、ＭＤ５）のような暗号化アルゴリズムによって１６進数字列に変換される。一実施形態において、ダイジェストメッセージへと暗号化される複数単位のデータとしては、以下のようなものが挙げられる。
<digest message（ダイジェストメッセージ）> = <resource path（リソースパス）>?<parameter list（パラメータリスト）>#<secret phrase（秘密の言葉）>
<resource path> = <path component>+
<path component（パスコンポーネント）> = '/'<segment（セグメント）>
<segment> = (<alpha>|<digit（>|'-'|'.'|'_'|'~')+
<alpha> = 'a'|…|'z'|'A'|…|'Z'<secret phrase> = <unreserved character in XML（ＸＭＬで使用されていない文字）>+
【００５９】
ダイジェストを生成するのに使用することができるメッセージの例を以下に示す。
/bigears/teens/john_joan.wmv?start_time = 2008080808113000&end_time = 2008080808130000#ourlittlesecret
【００６０】
リアルタイム属性値３０４、準静的属性値３０６及びアドレスに依存しない属性値３０８は、ＲＡＳ上で実行される階層構造決定プロセス３１４に入力される。様々な実施形態において、階層構造決定プロセス３１４は、データ駆動である。この実施形態では、階層構造内の各ノードにおいて、そのノードに入力される属性値のうちの１以上について、所定の値に対して検証を行い、それによって、ノードの出力であるのか、又は、別のノードが実行する出力であるのかを判断する。階層構造決定プロセス３１４では、最終的に、対応決定３１６が発行されて、コンテンツ要求にどのように対応するか、コンテンツ又はコンテンツ要求に対する返答の形式が指示される。
【００６１】
対応決定３１６は、返答モジュール３１８に入力される。返答モジュール３１８は、要求３０２に応答して返答３２０を生成する。返答３２０は、応答コード及びその他の情報を含んでもよい。例えば、返答３２０は、コンテンツに対する要求が許可されたか否か、又は、要求が代替コンテンツにリダイレクトされたかを示すコードを含んでもよい。
【００６２】
図４は、柔軟なトークンを使用して、コンテンツ要求対応を実行することができるネットワーク構成４００の別の実施形態を示している。ネットワーク構成４００は、コンテンツ配信ネットワーク４０２、顧客ネットワーク４０４及び１以上のエンドユーザー４０６を含む。
【００６３】
コンテンツ配信ネットワーク４０２は、柔軟なトークンセマンティックのメニューを生成し、柔軟なトークンパラメータをトークン化されたコンテンツデジグネータへと変換するための構成要素及びデータを含む。例えば、コンテンツ配信ネットワーク４０２は、顧客インターフェース４０８、セマンティック生成器４１０、及び、柔軟なトークンセマンティック４１４のメニューを生成するセマンティック発行器４１２を含む。顧客インターフェース４０８は、顧客４０４とやりとりして、顧客（例えば、コンテンツ提供者）にとって望ましい柔軟トークンセマンティックを判断する人又は自動化システムであってもよい。
【００６４】
顧客インターフェース４０８は、顧客の設定を、セマンティック生成器４１０にフィードバックすることができる。セマンティック生成器４１０は、顧客情報及び／又はその他の情報を使用して、柔軟トークンを生成するのに使用されるセマンティックのセットを生成することができる。セマンティック発行器４１２は、顧客４０４がアクセス可能なメニュー４１４として、生成されたセマンティックを発行する。一実施形態において、セマンティックメニュー４１４は、パラメータ名及び値の形式のリストを含む。顧客４０４は、顧客が使用したいと望むパラメータ値及び値の形式のセットを選択することができる。これに替えて、顧客は４０４は、リストに示されたパラメータ名及び値の形式の全てを使用してもよい。
【００６５】
ある実施形態では、セマンティックメニュー４１４におけるセマンティックは、グループにまとめられている又はパッケージ化されていてもよい。このようなトークンセマンティックのセットのパッケージ化は、顧客及び／又はコンテンツ配布者にとって便利である。例えば、複数のセマンティックの特定のセットが互換性を有する場合には互いにまとめることができ、セマンティックのその他の組み合わせが互換性を有さない場合には、同じパッケージに含まれない。コンテンツ配布者は、メニュー４１４におけるセマンティックをマネタイズしてもよく、この場合、顧客はセマンティックの使用に課金される。マネタイズは、パラメータ名／値の形式の組毎に適用してもよいし、パラメータ名／値の複数の組のグループに対して適用してもよい。
【００６６】
一実施形態では、管理者（administrator）４１６は、顧客のセマンティック選択結果４１８を受信する。管理者４１６は、ＲＡＳ４２０を設定するプロビジョニングシステムであってもよい。選択されたセマンティック４１８は、トークン解釈器４２２を含む要求認証サーバー（ＲＡＳ）４２０へと伝達される。トークン解釈器４２２は、トークンセマンティックに従って、柔軟なトークンを解釈することができる。トークン解釈器４２２は、パラメータ名／値の組の形式及び順番に柔軟性を与えるような態様で、トークンパラメータを解釈する。
【００６７】
例えば、トークン解釈器４２２は、パラメータ名／値の組が特定の順番で現れること、又は、所定のトークン内に特定数のパラメータ名前／値の組が存在することを必要としない。パラメータ名前／値の組は、自己定義されており、トークン解釈器４２２は、固定されたトークンフォーマットを使用せずに、トークンの意味を導出することができる。どのパラメータ名前／値の組がトークンに存在しているか及びその順番に関わらず、トークン解釈器４２２は、所与のトークンの意味を導き出すことができる。トークン解釈器４２２がセマンティックに従って意味を導出することができない場合には、トークン解釈器４２２は、パラメータに対する初期値を使用することができる。
【００６８】
ＲＡＳ４２０は、エッジサーバー４２４と通信を行い、エンドユーザー４０６からのコンテンツ要求に対する適切な応答の生成を容易にする。一実施形態において、ＲＡＳ４２０は、トークン解釈器４２２からの結果を使用して、エッジサーバー４２４に適切な応答を生成するように命令する。エッジサーバー４２４は、要求されたコンテンツ、代替コンテンツ、コンテンツなし、メッセージ又はその他を含む、トークンに依存する応答４２６を生成する。コンテンツは、コンテンツサーバー４２８から読み出されてもよい。
【００６９】
次に顧客４０４について説明する。顧客ネットワークは、セマンティック選択器４３０、及び、ＵＲＩ生成器４３２のようなコンテンツデジグネータ生成器を含んでもよい。ＵＲＩ生成器４３２は、柔軟なトークン生成器４３４を含んでもよい。セマンティック選択器４３０は、セマンティックメニューから１以上のセマンティックを選択する人又は自動化システムであってもよい。一実施形態では、セマンティックの全てが使用され、選択が行われなくてもよい。
【００７０】
ＵＲＩ生成器４３２は、エンドユーザー４０６からコンテンツ要求４３６を受信して、ユーザー４０６がコンテンツを要求するのに使用できる適切なトークン化されたＵＲＩ４３８を生成することができる。トークン生成器４３４は、ＵＲＩ４３８に含めるべき柔軟トークンを生成する（例えば、生成及びフォーマットする）。以下に説明するように、柔軟なトークンは、トークン内で特定の順番に配置する必要がないパラメータ名／値の１以上組を含む。"名前／値"の構文自体で、トークン解釈器４２２は、トークンパラメータの意味を判断することができる。無論、別の場合には、トークン化されたＵＲＩ４３８はトークンを含まない。
【００７１】
図５には、コンテンツ要求に対応するための柔軟トークンスキームで使用することができる様々なデータが示されている。データ単位は、トークン化ＵＲＩ５０２、トークン値５０４及びパラメータ名／値の組５０６である。トークン化ＵＲＩ５０２は、プロトコルフィールド５０８、ホストフィールド５１０、リソースパス５１２及びトークン５１４を含む。
【００７２】
一例として、ＵＲＩ５０２は、次のような形式であってもよい。
<tokenized URI（トークン化ＵＲＩ）> = <protocol（プロトコル）>://<host（ホスト）><resource path（リソースパス）>?token=<token value（トークン値）>
<protocol> = RTSP|RTSPU|RTSPT|RTMP|RTMPE|RTMPS|HTTP
【００７３】
属性<host>は、通常は、ドットが付されたドメインパス（例えば、video.cdn.netのような）、又は、ドット付きの１０進数の形式で表されたＩＰアドレスである。トークン化されたＵＲＩの具体例を以下に示す。
rtsp://bigearswm.fplive.com/bigears/teens/john_joan.wmv?flex_token = as4fd3dj8876dsdfrER454FGflj4534532sdsfd345FDGF3455dfdf
【００７４】
トークン値５０４は通常、パラメータ（例えば、パラメータ名／値の組）のリスト５１６及びダイジェスト５１８を含む。ダイジェストは、ユーザー承認及び認証に使用することができる。トークン値５０４の形式例を以下に示す。
<token value（トークン値）> = <parameter list（パラメータリスト）>&digest（ダイジェスト）=<MD5 digest>
【００７５】
パラメータリストの形式及びパラメータ形式の例を以下に示す。
<parameter list（パラメータリスト）> = <parameter（パラメータ）>|<parameter>&<parameter list>
<parameter> = start_time（開始時間）=<date and time（日時）> | <end_time（終了時間）>=<date and time（日時）>
<date and time（日時）> = <year（年）><month（月）><day（日）><hour（時）><minute（分）><second（秒）>
<year> = <digit（数字）><digit><digit><digit>
<month> = ('0'|'1')<digit>
<day> = ('0'|'1'|'2'|'3')<digit>
<hour> = ('0'|'1'|'2')<digit>
<minute> = <digit-b6><digit>
<second> = <digit-b6><digit>
<digit> = '0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9'
<digit-b6> = '0'|'1'|'2'|'3'|'4'|'5'|'6'
<MD5 digest> = 32<hex digit>
<hex digit> = <digit>|'a'|'b'|'c'|'d'|'e'|'f'
【００７６】
典型的には、パラメータ５０６は、パラメータ名５２０及びパラメータ値５２２を含む。パラメータ５０６は、パラメータ名／値の組、又は、単純に、名前／値の組とも称される。
【００７７】
図６は、特定のシナリオにおける、階層構造６００の決定ノードを示した樹形図である。上記したように、ＲＡＳは、ビジネスロジックを実行するためのデータ駆動型決定ノードの階層構造で構成されている。図６に示す決定ノードは、例示した規則に基づくビジネスロジックを実行する態様で配置されている。一実施形態において、ノードは、Ｃ＋＋におけるソフトウェアオブジェクトとして実装される。多くの場合、１以上の属性値が各ノードに入力される。各ノードは、出力経路を決定するべく、複数の属性のうちの１つをＯＮにする。ＯＮにされた属性が入力された属性に存在しない場合、又は、属性値に対する特定のスイッチ経路が存在しない場合には、出力経路はデフォルト経路となる。このため、各ノードは、デフォルト経路を備えている。
【００７８】
図６に示す特定のシナリオにおいて、複数の属性値６０２が、最上階のノードである顧客ノード６０４に入力される。顧客ノード６０４は、顧客ＩＤ属性をＯＮにする。この実施形態では、顧客ＩＤは、ＣＤＮを介して配信されるコンテンツを提供するコンテンツ提供者に対応している。顧客ＩＤをＯＮに切り替えることにより、顧客ノード以降のあらゆる決定について、顧客が設定することが可能となる。すなわち、顧客ノードより後ろの決定ノードが、顧客からの規則仕様に基づくような態様で、規則に基づいたビジネスロジックをフォーマットする。
【００７９】
例えば、図示されたシナリオでは、顧客１が属性値６０２で特定され、制御が、顧客１によって規定された規則に従ってビジネスロジックを実行する国ノード６０６Ａに渡される。図６の特定のシナリオでは、属性値６０２が、国としてアメリカ合衆国（ＵＳ）を特定する場合には、制御が、許可ノード６０８Ａに渡される。許可ノード６０８Ａでは、コンテンツ要求が許可されることを示す出力が生成される。プロトコルにＨＴＴＰが使用される場合、許可ノード６０８Ａでは、"２００"コードが生成される。
【００８０】
国ノード６０６Ａにおいて、国属性値が、英国（ＧＢ）である場合には、制御が、リダイレクトノード６１０Ａに渡される。リダイレクトノード６１０Ａでは、コンテンツ要求が、ビジネスロジックによって指定された態様でリダイレクトされることを示す出力が生成される。例えば、ビジネスロジックは、代替リソース、又は、要求が拒否されたことを示す適合されたメッセージを指定してもよい。無論、顧客１は、どの代替リソース又はメッセージをエンドユーザーにリダイレクトするべきかを規則に規定しておくことができる。使用されるプロトコルがＨＴＴＰである場合には、リダイレクトノード６１０Ａは、"３０２"コードを出力する。
【００８１】
国ノード６０６Ａに戻り、特定の実施形態では、属性値６０２で指定された国がＵＳ又はＧＢのどちらでもない場合、デフォルト経路が選択される。デフォルト経路は、制御を、ブロックノード６１２Ａに渡す。ブロックノード６１２Ａでは、コンテンツ要求が拒否されたことを示す出力が生成される。ＨＴＴＰの場合、ブロックノード６１２Ａでは、"４０３"コードが出力される。
【００８２】
顧客ＩＤノード６０４に戻り、属性値６０２において顧客２が特定された場合には、制御が、別の国ノード６０６Ｂに渡される。国ノード６０６Ｂ及び国ノード６０６Ｂより後のノードは、顧客２によって規定された規則に従ってビジネスロジックを実装する。国ノード６０６Ｂの場合であって、属性値６０２が、国としてＵＳを特定する場合、制御は、トークン：時間制約ノード６１４に渡される。上記したように、トークンを、エンドユーザに渡すことができ、トークンは、コンテンツ要求に埋め込まれて、顧客が更にコンテンツ要求にどのように対応するかについて制御することができる。
【００８３】
トークン：時間制約ノード６１４は、コンテンツ要求に柔軟なトークンが渡された場合には、柔軟なトークンからの時間制約データを分析する。柔軟なトークンに含まれていてもよい時間制約は、通常、コンテンツ要求が有効とされる時間の範囲を規定することができる。図６に示す特定のシナリオでは、トークン：時間制約ノード６１４は、現在の時刻が、時間制約によって規定されている時間の範囲内か範囲外かによってＯＮに切り替わる。現在時刻（すなわち、コンテンツ要求の受信時間）が、規定された時間の範囲内である場合、制御は、コンテンツ要求を許可する別の許可ノード６０８Ｂに渡される。現在時刻が、規定された時間の範囲外である場合、制御は初期設定として、コンテンツ要求を拒否する別のブロックノード６１２Ｂに渡される。
【００８４】
顧客ノード６０４に戻り、顧客ノード６０４によってＯＮに切り替えられる顧客ＩＤと一致する属性値６０２において顧客が特定されなかった場合には、初期設定として制御は、別の国ノード６０６Ｃに渡される。国ノード６０６Ｃが、属性値６０２における国データをＯＮにする。特定のシナリオにおいて、属性値６０２にＵＳが特定されなかった場合には、初期設定として制御は、コンテンツ要求を拒否する別のブロックノード６１２Ｅに渡される。
【００８５】
一方、属性値６０２にＵＳが特定された場合には、制御は、国ノード６０６Ｃからプロトコルノード６１６へと渡される。プロトコルノード６１６は、コンテンツ要求と関連付けられたプロトコルに基づいて決定を行うビジネスロジックを含む。図示されたシナリオでは、ＨＴＴＰ及びＲＴＭＰが属性値６０２において特定されなかった場合には、初期設定として、制御はコンテンツ要求を拒否する別のブロックノード６１２Ｄに渡される。
【００８６】
反対に、ＨＴＴＰが属性値６０２において特定された場合には、制御は、コンテンツ要求を代替リソースへとリダイレクトする別のリダイレクトノード６１０Ｂへと渡される。上記したように、リダイレクトの決定の場合には、顧客は、ユーザーがリダイレクトされる代替リソース及びメッセージを規定することができる。これに替えて、ＲＴＭＰが属性値６０２において特定された場合には、制御は、コンテンツ要求を許可する別の許可ノード６０８Ｃに渡される。
【００８７】
図６に示す階層構造６００に関して、階層構造６００は、データ駆動型の階層構造決定木を使用したシナリオの一例を示す目的のみで図示されている。当業者であれば、実施態様において、ビジネスロジックを実行するために、数多くのその他の種類のノードを階層構造に含めることができることは理解できる。例えば、その他の決定ノードは、ファイルの種類に基づいて決定を行うファイル種類ノード、及び、ディレクトリ構造内のファイルの位置に基づいて決定を行うファイルロケーションノードであってもよい。また、決定ノードの配置は固定されない。ビジネスロジックの全ての種類を実装するべく、ノードを数多くの態様で配置することができる。
【００８８】
図７は、柔軟なトークンを使用して、コンテンツ要求に対応するプロセスを示した図である。一実施形態において、コンテンツ対応プロセス７００は、コンテンツ配布又は配信ネットワークを介して、コンテンツ配布者によって実行される。概略的には、コンテンツ対応プロセス７００は、トークンセマンティックのメニューを生成し、１以上のトークンセマンティックのセットの顧客の選択結果を受信し、選択されたセマンティックに従ってトークン化コンテンツデジグネータを解釈すると同時に、トークンの形式（例えば、パラメータ名／値の組の順番）及び内容における柔軟性を提供する。
【００８９】
生成オペレーション７０２では、トークンセマンティックのメニューを生成する。一実施形態において、トークンセマンティックのメニューは、コンテンツ配信に関する制約を規定するのに顧客が使用することができるパラメータ名／値の組のリストである。また、生成オペレーション７０２は、パラメータ名／値の組をマネタイズすることを含む。
【００９０】
必要に応じて実行される受信オペレーション７０４では、選択されたセマンティックを顧客から受信する。一実施形態では、全てのセマンティックが使用されるため、顧客は、セマンティックを選択しなくてもよい。コンテンツ提供者によるセマンティックの選択を自動化された態様で、オンライン（電子的形式で）又は手動で（例えば、書面の提出及び人から人への意思の疎通により）実行してもよい。
【００９１】
別の受信オペレーション７０６では、エンドユーザーから、トークン化されたＵＲＩが受信される。トークン化ＵＲＩは、固定された形式ではなく、柔軟な形式を有する柔軟なトークンを含む。例えば、トークンパラメータ名／値の組は、トークン内で実質的にどのような順番であってもよい。したがって、名前／値の組は、順番に依存しない。さらに、名前／値の組がトークンに含まれることに対する必要条件が存在しない。顧客は、パラメータ名／値の組が存在する場合には、名前／値が含まれることに対して及び含まれる順番についての決定権を有する。
【００９２】
解釈オペレーション７０８では、トークン化ＵＲＩ内のトークンの解釈を行う。解釈オペレーション７０８は、トークンを構文解析して、パラメータ名及びパラメータ値を抽出する段階を含んでもよい。解釈オペレーション７０８は更に、トークンの部分の意味を認証、検証及び導出するべく、トークンからのデータを暗号解読、デコード及び／又はフォーマットする段階を含んでもよい。
【００９３】
そして、決定オペレーション７１０では、解釈されたトークンパラメータを使用して、どのようにコンテンツ要求に応答するかを決定する。決定オペレーション７１０では、パラメータ値を分析して、要求されたコンテンツを、要求者に送信するべきか否かを判断する。決定オペレーション７１０では、コンテンツを送信すべきではない、又は、代替コンテンツを送信すべきであるとの判断がなされてもよい。例えば、柔軟なトークンにおけるパラメータは、トークンのパラメータ制約が満たされない場合には、エンドユーザーに送信するべき代替コンテンツを示してもよい。
【００９４】
例えば、パラメータが、エンドユーザーの要求が満たされてもよい特定の時間的期間又は地理的領域を示してもよい。また、パラメータは、制約が満たされない場合に送信される代替コンテンツを示してもよい。例えば、指定された期間内に要求が送信されなかった場合、又は、エンドユーザーが指定された地理的領域内に位置していない場合には、指定の代替コンテンツが応答で選択されてもよい。
【００９５】
決定オペレーション７１０は、適切な応答がコンテンツ要求が満たされない理由を示す情報を提供するメッセージ（例えば、"４０３"メッセージ）を送信することであるか否かを判断してもよい。トークンパラメータによって規定される制約が満たされる場合には、要求されたコンテンツがエンドユーザーに送信される。配信オペレーション７１２では、決定された応答がエンドユーザーに供給される。
【００９６】
図８は、いつ、どこで、どのようにコンテンツが配信されるかの管理に柔軟なトークンを利用するべく、コンテンツ配信ネットワークの顧客（例えば、コンテンツ提供者）によって実行されてもよいプロセスを示したフローチャートである。コンテンツ配布者は、コンテンツ提供者に対してトークンセマンティックのセットを発行し、ここで、セマンティックは、パラメータ名／値の組を規定している。
【００９７】
必要に応じて実行される選択オペレーション８０２では、柔軟なトークンの生成に使用されるトークンセマンティックの１以上が選択される。ある実施形態では、全てのトークンセマンティックが使用されてもよく、選択段階が存在しない。通知オペレーション８０４では、どのトークンセマンティックが使用するために選択されたかが、コンテンツ配布者に通知されてもよい。コンテンツ配布者は、どの顧客がどのトークンセマンティックを使用するかを記録した台帳を保持してもよい。
【００９８】
受信オペレーション８０６では、エンドユーザーからコンテンツに対する要求を受信する。コンテンツ要求８０６は多くの場合、ファイル又はその他のリソースの名前を規定する。コンテンツ要求を受信した後、顧客は、生成オペレーション８０８において、柔軟なトークンを生成する。生成オペレーション８０８では、使用されるトークンセマンティックに基づいて、トークンパラメータを生成しフォーマットする。以下に記載するように、生成オペレーション８０８は、パラメータを柔軟なトークンに組み込む場合に、固定された形式に限定されない。生成オペレーション８０８では、トークンに組み込むべきセマンティックから、いかなるパラメータをも選択することができ、また、全く選択しなくてもよい。加えて、生成オペレーションでは、パラメータをどのような順番で配列させてもよい。
【００９９】
トークン化ＵＲＩが生成された後、送信オペレーション８１０では、トークン化ＵＲＩがコンテンツを要求しているエンドユーザーに送信される。トークン化ＵＲＩは、図５を参照して上記で説明したような形式であってもよい。
【０１００】
図９は、本発明の実施形態が実装及び実行されてもよいコンピュータシステム９００の概略図である。例えば、１以上のコンピューティングデバイス９００は、柔軟なトークンを使用してコンテンツ要求に対応し、柔軟なトークンで使用することができるパラメータを規定するトークンセマンティックのセットを生成又は選択するように構成される。コンピュータシステム９００は、概して、汎用コンピュータ（例えば、デスクトップ、ラップトップ又はサーバーコンピュータ）及び特殊用途コンピュータ（例えば、組み込みシステム）を含む、あらゆる数のコンピューティングデバイスを例示している。
【０１０１】
図示の例では、コンピュータシステム９００は、バス９０１（すなわち、インターコネクト）、少なくとも１つのプロセッサ９０２、少なくとも１つの通信ポート９０３、メインメモリ９０４、取り外し可能記憶媒体９０５、リードオンリーメモリ９０６及びマスストレージ９０７を含む。プロセッサ９０２は、あらゆる周知のプロセッサであってよく、これに限定しないが、例えば、インテル（登録商標）Ｉｔａｎｉｕｍ（登録商標）又はＩｔａｎｉｕｍ２（登録商標）プロセッサ、ＡＭＤ（登録商標）Ｏｐｔｅｒｏｎ（登録商標）又はＡｔｈｌｏｎ ＭＰ（登録商標）プロセッサ、又は、モトローラ（登録商標）のプロセッサラインであってもよい。
【０１０２】
通信ポート９０３は、モデムベースのダイヤルアップ接続で使用されるＲＳ−２３２ポート、１０／１００イーサーネットポート、銅又はファイバーを使用したギガビットポート、又は、ＵＳＢポートのうちのいずれであってもよい。ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、又は、コンピュータシステム９００が接続するあらゆるネットワークのようなネットワークに応じて、通信ポート９０３が選択されてもよい。コンピュータシステム９００は、入出力（Ｉ／Ｏ）ポート９０９を介して、周辺デバイス（例えば、ディスプレイ画面９３０、入力デバイス９１６）と通信可能であってもよい。
【０１０３】
メインメモリ９０４は、ランダムアクセスメモリ（ＲＡＭ）又は周知のその他のダイナミックストレージデバイスであってもよい。リードオンリーメモリ９０６は、プロセッサ９０２の命令のような静的情報を格納するプログラマブルリードオンリーメモリ（ＰＲＯＭ）チップのようなあらゆる静的記憶デバイスであってもよい。マスストレージ９０７は、情報及び命令を格納するのに使用されてもよい。例えば、Ａｄａｐｔｅｃ（登録商標）の一連のＳＣＳＩ（Small Computer Serial Interface）ドライブ、光ディスク、Ａｄａｐｔｅｃ（登録商標）の一連のＲＡＩＤドライブのようなＲＡＩＤ（Redundant Array of Independent Disk）、又は、その他のマスストレージデバイスを使用してもよい。
【０１０４】
バス９０１は、プロセッサ９０２を、その他のメモリ、ストレージ及び通信ブロックに通信可能に接続する。バス９０１は、使用される記憶デバイスに応じて、ＰＣＩ／ＰＣＩ−Ｘ、ＳＣＳＩ、又は、ＵＳＢ（Universal Serial Bus）ベースのシステムバス（又はその他）であってもよい。取り外し可能記憶媒体９０５は、あらゆる種類の外部ハードドライブ、フロッピー（登録商標）ドライブ、ＩＯＭＥＧＡ（登録商標）ジップドライブ、コンパクトディスク−リードオンリーメモリ（ＣＤ−ＲＯＭ）、コンパクトディスク−リライタブル（ＣＤ−ＲＷ）、デジタルビデオディスク−リードオンリーメモリ（ＤＶＤ−ＲＯＭ）等であってもよい。
【０１０５】
本明細書に記載された実施形態は、プロセスを実行させるべくコンピュータ（又はその他の電子デバイス）をプログラムするのに使用されてもよい命令を格納する機械可読媒体を含んでもよいコンピュータプログラム物品として提供されてもよい。機械可読媒体としては、これに限定されないが、フロッピー（登録商標）ディスク、光ディスク、ＣＤ−ＲＯＭ、磁気光学ディスク、ＲＯＭ、ＲＡＭ、消去プログラム可能リードオンリーメモリ（ＥＰＲＯＭ）、電気的消去可能リードオンリーメモリ（ＥＥＰＲＯＭ）、磁気又は光学カード、フラッシュメモリ、又は電気的命令を格納するのに好適なその他の種類の媒体／機械可読媒体を含んでもよい。さらに、本明細書に記載の実施形態は、コンピュータプログラム物品としてダウンロードされてもよく、プログラムは、リモートコンピュータから要求しているコンピュータへと、搬送波又はその他の伝播媒質に具現化されるデータ信号によって通信リンク（例えば、モデム又はネットワーク接続）を介して転送されてもよい。
【０１０６】
図に示すように、メインメモリ９０４は、本明細書に記載したような機能をサポートする柔軟なトークンアプリケーション９５０−１を使用してエンコードされる。例えば、柔軟なトークンアプリケーション９５０−１は、図４のセマンティック生成器４１０及び／又はトークン解釈器４２２を含むことができる。柔軟なトークンアプリケーション９５０−１（及び／又は明細書に記載したその他のリソース）は、記載された様々な実施形態に従う機能の処理をサポートするデータ及び／又はロジック命令（例えば、メモリ又はディスクのような別のコンピュータ可読媒体に格納されたコード）として具現化することができる。
【０１０７】
一実施形態のオペレーションの間に、柔軟なトークンアプリケーション９５０−１のロジック命令を起動、実行又は解釈するべく、プロセッサ９０２は、バス９０１を介してメインメモリ９０４にアクセスする。柔軟なトークンアプリケーション９５０−１の実行は、柔軟なトークンプロセス９５０−２における機能の処理を生成する。すなわち、柔軟なトークンプロセス９５０−２は、コンピュータシステム９００内のプロセッサ９０２において又はプロセッサ内で実行される柔軟なトークンアプリケーション９５０−１の１以上の部分を表している。
【０１０８】
上記のオペレーションを実行する柔軟なトークンプロセス９５０−２に加えて、別の実施形態では、柔軟なトークンアプリケーション９５０−１そのものを含む（すなわち、実行されていない又は実行されないロジック命令及び／又はデータ）。柔軟なトークンアプリケーション９５０−１は、フロッピー（登録商標）ディスク、ハードディスク又は光学媒体のようなコンピュータ可読媒体（例えば、リポジトリ）に格納されてもよい。別の実施形態では、柔軟なトークンアプリケーション９５０−１を、ファームウェア、リードオンリーメモリ（ＲＯＭ）のようなメモリ型のシステムに、この例では、メインメモリ９０４（例えば、ランダムアクセスメモリ又はＲＡＭ内）内の実行可能コードとして格納してもよい。例えば、柔軟なトークンアプリケーション９５０−１は、取り外し可能記憶媒体９０５、リードオンリーメモリ９０６、及び／又はマスストレージデバイス９０７に格納されてもよい。
【０１０９】
コンピュータシステム９００がサポートする機能の例、具体的には、柔軟なトークンアプリケーション９５０−１及び柔軟なトークンアプリケーション９５０−２に関連する機能については、図１−８を参照して上記で詳細に説明されている。
【０１１０】
これらの実施形態に加えて、別の実施形態は、柔軟なトークンアプリケーション９５０−２として、プロセッサ９０２内での柔軟なトークンアプリケーション９５０−１の実行を含む。したがって、当業者であれば、コンピュータシステム９００は、ハードウェアリソースの割り当て及び利用を制御するオペレーティングシステムのようなハードウェア構成要素及びソフトウェア及び／又はその他のプロセスを含むことができることが理解できる。
【０１１１】
以上記載したように、本発明の実施形態は、様々な段階及びオペレーションを含む。これらの段階の変形が、ハードウェア構成要素によって実行されてもよく、また、命令と共にプログラムされた汎用又は特殊用途プロセッサにオペレーションを実行させるべく使用される機械実行可能命令に具現化されてもよい。これに替えて、段階は、ハードウェア、ソフトウェア及び／又はファームウェアの組み合わせによって実行されてもよい。"モジュール"という言葉は、自己完結している機能的な構成要素を意味し、ハードウェア、ソフトウェア、ファームウェア及びこれらの組み合わせを含む。
【０１１２】
様々な変形及び付加構成を、本発明の範囲内で上記の実施形態例に加えることができる。例えば、上記で説明された実施形態は、特定の特徴を参照していたが、本発明の範囲は、異なる特徴の組み合わせを有する実施形態及び上記の特徴の全てを含まない実施形態も包含する。したがって、本発明は、このような代替構成、変形及び改良例も、これらの均等物と共に含むことを意図している。
【図１】
0005585898.tif 000002
【図２】
0005585898.tif 000003
【図３】
0005585898.tif 000004
【図４】
0005585898.tif 000005
【図５】
0005585898.tif 000006
【図６】
0005585898.tif 000007
【図７】
0005585898.tif 000008
【図８】
0005585898.tif 000009
【図９】
0005585898.tif 000010