(57)【要約】【課題】コンテンツ指向サービスを提供するコンテンツ・サービス・ネットワーク（ＣＳＮ）を提供すること。【解決手段】ＣＳＮは、アプリケーション・サーバを有するサービス配信オーバーレイ、コンテンツ・プロバイダとコンテンツ消費者の間の配信パスにおいてサービス可能プロキシ（ＳＥＰ）を有するコンテンツ配信ネットワーク・オーバーレイを含み、これらは、協調して適応ビデオ配信など、コンテンツ指向処理を提供する。ＣＳＮは、コンテンツ・プロバイダ／コンテンツ消費者からの申込を受け、申込まれたサービスを申込者のアイデンティティでバインディングすることを含むサービス命令を生成し、ＳＥＰに分配する。ＳＥＰは、申込サービスが必要な通過メッセージを検出すると、そのサービス用サービス命令を取り出して、アプリケーション・サービスへのリモート・コールの実行、あるいはローカル実行モジュール呼出、によってそのサービスを行う。【選択図】　　　　図４
2004070936.tif 000002
【特許請求の範囲】
【請求項１】
広域ネットワークを介して配信されるコンテンツを対象としたコンテンツ指向サービスを提供するコンテンツ・サービス・ネットワークであって、
前記広域ネットワーク上のコンテンツ・プロバイダとコンテンツ消費者の間のコンテンツ配信パスに配置された複数のサービス可能プロキシを有するコンテンツ配信ネットワークと、
コンテンツ処理を実行してコンテンツ指向サービスを行う複数のアプリケーション・サーバ、および、サービス申し込みを管理するサービス管理サーバであって、
申し込み者からのコンテンツ指向サービスについてのサービス申し込みを受信すること、
各申し込みされたサービスについて、前記各申し込まれたサービスについての申し込み者を識別し、かつ前記各申し込まれたサービスを識別する、サービス・バインディング・データを含むサービス命令を作成すること、および
前記サービス命令を前記サービス可能プロキシに分配すること
を行うためのサービス申し込みコンポーネント、を有する少なくとも１つのサービス管理サーバと
を有するサービス配信オーバーレイと
を備え、
前記各サービス可能プロキシは、前記サービス管理サーバから受信されたサービス命令を格納する命令キャッシュを有し、それを通過するメッセージを前記命令キャッシュ内の前記サービス命令のサービス・バインディング・データに対して突き合わせて前記メッセージについて行われるべきサービスを識別すること、前記識別されたサービスに関連付けられたサービス命令を取り出すこと、前記サービス配信オーバーレイ内のアプリケーション・サーバへのコールをして前記識別されたサービスに対して必要とされるコンテンツ処理を前記メッセージについて実行することを含んで前記関連付けられたサービス命令を実行して前記識別されたサービスを前記メッセージに対して実行すること、を行うようにプログラムされていることを特徴とするコンテンツ・サービス・ネットワーク。
【請求項２】
前記広域ネットワークは、インターネットであることを特徴とする請求項１に記載のコンテンツ・サービス・ネットワーク。
【請求項３】
前記サービス管理サーバは、前記コンテンツ・サービス・ネットワークに配備されるコンテンツ指向サービスのプロバイダからのサービス登録を受信するための、サービス登録コンポーネントをさらに含むことを特徴とする請求項１に記載のコンテンツ・サービス・ネットワーク。
【請求項４】
前記サービス登録コンポーネントは、登録されたサービスについての情報を、公に開示するためにネットワーク・レジストリへ送信するようにプログラムされることを特徴とする請求項３に記載のコンテンツ・サービス・ネットワーク。
【請求項５】
前記サービス配信オーバーレイは、コンテンツ処理のためのコールを前記サービス可能プロキシから前記アプリケーション・サーバに向けて送るための、複数のリダイレクション・サーバをさらに含むことを特徴とする請求項１に記載のコンテンツ・サービス・ネットワーク。
【請求項６】
前記サービス申し込みコンポーネントは、サービス申し込み者としてのエンド・ユーザに対して、前記ユーザの識別を収容するサービス・バインディング・データを有するサービス命令を、作成するようにプログラムされていることを特徴とする請求項１に記載のコンテンツ・サービス・ネットワーク。
【請求項７】
前記サービス申し込みコンポーネントは、サービス申し込み者としてのコンテンツ・プロバイダについて、前記コンテンツ・プロバイダのドメイン名を識別するサービス・バインディング・データを有するサービス命令を、作成するようにプログラムされていることを特徴とする請求項６に記載のコンテンツ・サービス・ネットワーク。
【請求項８】
各サービス可能プロキシは、サービス命令を格納するための命令キャッシュを含むことを特徴とする請求項１に記載のコンテンツ・サービス・ネットワーク。
【請求項９】
前記各サービス命令は、前記各サービス命令に関連付けられたサービスを行うための条件を含むことを特徴とする請求項８に記載のコンテンツ・サービス・ネットワーク。
【請求項１０】
各サービス可能プロキシは、それを通じて前記広域ネットワーク上のコンテンツ消費者に配信されたコンテンツをキャッシュするためのコンテンツ・キャッシュを含むことを特徴とする請求項１に記載のコンテンツ・サービス・ネットワーク。
【請求項１１】
広域ネットワーク上のコンテンツ・プロバイダとコンテンツ消費者との間のコンテンツ配信パスに配置され、コンテンツ指向サービスを提供するサービス可能プロキシであって、
サービス申し込み者を識別し、かつ申し込まれたコンテンツ指向サービスを指定するサービス・バインディング・データ、を有するサービス命令を格納するサービス命令キャッシュと、
前記サービス可能プロキシを通過するメッセージを構文解析して、前記サービス命令の前記サービス・バインディング・データに基づいて、前記メッセージについて行われるコンテンツ指向サービスを識別する情報を抽出するメッセージ・パーサと、
前記識別されたコンテンツ指向サービスに関連付けられたサービス命令を、前記サービス命令キャッシュからロードする命令プロセッサと、
前記ロードされたサービス命令を実行して、前記識別されたコンテンツ指向サービスを前記メッセージについて行うことを引き起こすサービス実行モジュールであって、前記ロードされたサービス命令がリモート処理をコールする場合、リモート・コールをリモート・アプリケーション・サーバに行って、前記識別されたコンテンツ指向サービスを行うコンテンツ処理を前記メッセージについて実行するようにプログラムされたサービス実行モジュールと
を備えることを特徴とするサービス可能プロキシ。
【請求項１２】
サービス管理サーバから受信されたサービス命令を構文解析する命令パーサをさらに含むことを特徴とする請求項１１に記載のサービス可能プロキシ。
【請求項１３】
前記識別されたコンテンツ指向サービスを行うために実行された、前記メッセージにおけるコンテンツ処理の結果をキャッシュする結果キャッシュをさらに含むことを特徴とする請求項１１に記載のサービス可能プロキシ。
【請求項１４】
前記サービス実行モジュールは、さらに、前記ロードされたサービス命令がローカル処理を要求する場合、前記識別されたコンテンツ指向サービスのためのローカル実行モジュールを呼び出すようにプログラムされていることを特徴とする請求項１１に記載のサービス可能プロキシ。
【請求項１５】
前記各サービス命令は、前記各サービス命令において識別された前記コンテンツ指向サービスを行うかどうかを前記サービス可能プロキシが決定するための条件を表すデータを含むことを特徴とする請求項１１に記載のサービス可能プロキシ。
【請求項１６】
広域ネットワーク上のコンテンツ・プロバイダとコンテンツ消費者の間のコンテンツ配信パスに配置されたサービス可能プロキシ用の、コンテンツ指向サービスを提供するステップを実行する、コンピュータ実行可能命令を有するコンピュータ可読媒体であって、前記ステップは、
コンテンツ配信パスに沿って経路指定されたメッセージを受信するステップと、
対応する申し込まれたコンテンツ指向サービスについて構築され、前記対応する申し込まれたコンテンツ指向サービスの申し込み者を識別しかつ前記対応する申し込まれたコンテンツ指向サービスを指定するサービス・バインディング・データを含むサービス命令で、命令キャッシュに格納されたサービス命令のサービス・バインディング・データに基づいて、関連付けられたコンテンツ指向サービスを前記メッセージが必要とするかどうかを決定するステップと、
前記メッセージ用の前記関連付けられたコンテンツ指向サービスのサービス命令を、前記命令キャッシュからロードするステップと、
前記ロードされたサービス命令を実行して、前記メッセージについての前記関連付けられたコンテンツ指向サービスを行う実行ステップであって、前記ロードされたサービス命令がリモート処理を要求する場合、リモート・コールをリモート・アプリケーション・サーバに行って、コンテンツ処理を前記メッセージにおいて実行して前記メッセージについての前記関連付けられたコンテンツ指向サービスを行うことを含む実行ステップと
を備えることを特徴とするコンピュータ可読媒体。
【請求項１７】
前記決定するステップは、前記メッセージを構文解析して関連情報を取り出すステップを含むことを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項１８】
前記メッセージのコンテンツ処理の結果を結果キューに格納するステップを実行するためのコンピュータ実行可能命令をさらに有することを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項１９】
サービス管理サーバから受信されたサービス命令を構文解析するステップ、および、前記構文解析されたサービス命令を前記サービス命令キャッシュに格納するステップを実行するためのコンピュータ実行可能命令をさらに有することを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項２０】
前記実行ステップは、前記ロードされたサービス命令がローカル処理を要求する場合、前記メッセージ用の前記関連付けられたコンテンツ指向サービスのためのローカル実行モジュールを呼び出すステップを含むことを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項２１】
前記ロードされたサービス命令を実行して前記関連付けられたコンテンツ指向サービスを前記メッセージにおいて行う前に、前記ロードされたサービス命令のサービス条件が満たされるかどうかを決定するステップを実行するためのコンピュータ実行可能命令をさらに有することを特徴とする請求項１６に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は一般に、インターネットなどの広域ネットワークを介したコンテンツの配信に関し、より詳細には、コンテンツ・プロバイダによってコンテンツ消費者に送信されたコンテンツを拡張またはモディファイするためのコンテンツ指向サービスを提供するためのフレームワークに関する。
【０００２】
【従来の技術】
インターネットの利用が拡大し、多数の新しいタイプのサービスがインターネット上で提供されるにつれて、インターネットはサービス中心モデル（ｓｅｒｖｉｃｅ−ｃｅｎｔｒｉｃ　ｍｏｄｅｌ）に近づきつつある。この傾向に伴い、ますます多くの記憶装置および計算リソースが、サービスを顧客に提供するために、インターネットのネットワーク・インフラストラクチャに投入されつつある。たとえば、過去数年間に、コンテンツ・プロバイダおよびネットワーク・アクセス・プロバイダ（たとえば、ＩＳＰ）で使用可能なネットワーク・オーバーレイ・インフラストラクチャ・サービスとしてのコンテンツ配信ネットワーク（ＣＤＮ）の開発に非常に多額の投資が行われてきた。コンテンツ配信ネットワークは、コンテンツをコンテンツ消費者に接近したポイントでプッシュするためにインターネット・ネットワーク構造の端部に位置するサーバに実装された多数のキャッシュおよび記憶デバイスを提供しており、それにより、高速かつ信頼性のあるコンテンツ配信が可能となっている。
【０００３】
改良されたコンテンツ配信に加えて、コンテンツ・プロバイダおよび消費者は、コンテンツの発信元（たとえば、Ｗｅｂサイト）とコンテンツ消費者の間のその途中でコンテンツ（またはコンテンツ・リクエスト）に操作を加える付加価値サービスに関心を有する。このようなサービスはしばしば「コンテンツ指向サービス」（または、時として「コンテンツ・サービス」）と呼ばれ、これにはたとえば、コンテンツ適合（ｃｏｎｔｅｎｔ　ａｄａｐｔａｔｉｏｎ）、コンテンツのパーソナライゼーション、ウォーターマーキング、ロケーション−アウェアのデータ挿入などが含まれる。コンテンツ配信ネットワークのエッジ・サーバは、すでにコンテンツ配信パス内に配置されており、コンテンツ指向サービスを提供するネットワーク中継（ｎｅｔｗｏｒｋ　ｉｎｔｅｒｍｅｄｉａｒｉｅｓ）の能力を拡張して、未加工の場所を提供している。しかし、このようなコンテンツ指向サービス用のネットワークにふさわしいフレームワークの設計には、解決しなければならない多数の困難な問題がある。たとえば、１つの主な問題は、サービスを利用したい者に対してどのようにサービスを利用可能にするかであり、もう１つの関連する主な問題は、サービスの顧客によって送信またはリクエストされたコンテンツが所期の処理を受けることになることを如何にして確実にするかである。
【０００４】
【発明が解決しようとする課題】
前述に鑑みて、本発明は、コンテンツ・プロバイダおよびコンテンツ消費者によって、インターネットなどの広域ネットワーク上で使用することができる、コンテンツ指向サービスを提供するためのコンテンツ・サービス・ネットワークを提供する。
【０００５】
【課題を解決するための手段】
コンテンツ・サービス・ネットワークは、２つの別々のオーバーレイ・ネットワーク、すなわち、サービス配信オーバーレイおよびコンテンツ配信ネットワークを含む。コンテンツ配信ネットワークは複数のサービス可能プロキシ（ｓｅｒｖｉｃｅ−ｅｎａｂｌｅｄ　ｐｒｏｘｉｅｓ）を含み、これらが、コンテンツ・キャッシング・サービスを提供するためにコンテンツ配信パスにおいて、エッジ・サーバとして配置される。これらのプロキシは、単に従来のキャッシング・プロキシが行うようにコンテンツをキャッシュおよび転送するのではなく、追加の処理（それらが提供する特定のサービスによって定義される）を、それらを通じて流れるメッセージに対して提供することができるという意味で、「サービス可能」である。サービス配信オーバーレイは、コンテンツを処理してコンテンツ指向サービスを行うための複数のアプリケーション・サーバ、および、サービス申し込み（ｓｅｒｖｉｃｅ　ｓｕｂｓｃｒｉｐｔｉｏｎ）を管理する少なくとも１つのサービス管理サーバを含む。
【０００６】
顧客が、コンテンツ・サービス・ネットワークによって提供されたサービスに申し込むと、サービス管理サーバはサービス契約をサービス・バインディング・データに変換する。このサービス・バインディング・データは、申し込まれたサービスと申し込み者（ｓｕｂｓｃｒｉｂｅｒ）情報の間の関連付けを記述するものであり、これを、申し込み者がエンド・ユーザであるときにユーザ・アイデンティティに、あるいは申し込み者がコンテンツ・プロバイダであるときにドメイン名またはメディア・オブジェクトにすることができる。サービス命令は、サービス・バインディング・データ、および、申し込みされたサービスを行うための条件を含み、次いで、これがコンテンツ配信オーバーレイ内のサービス可能プロキシに分配される。各サービス可能プロキシは、それを通過するコンテンツ・メッセージを監視し、それらがサービスを必要とするかどうかを、サービス命令におけるサービス・バインディング情報および条件に従って決定する。メッセージおよびその関連コンテンツがサービス条件を満たす場合、プロキシはサービスをローカルで提供するか、あるいはメッセージおよび関連パラメータをサービス配信オーバーレイ内のアプリケーション・サーバに渡して、必要とされたコンテンツ指向サービスを行うことができる。次いで、処理結果がプロキシによって、コンテンツ・メッセージの元の宛先に転送される。
【０００７】
【発明の実施の形態】
図面では、同様の参照番号は同様の要素を指し、本発明が適切なコンピューティング環境において実施されるものとして例示される。必要とはされないが、本発明を一般に、プログラム・モジュールなど、パーソナル・コンピュータによって実行されるコンピュータ実行可能命令に関連して説明する。一般に、プログラム・モジュールにはルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれ、これらは特定のタスクを実行するか、あるいは特定の抽象データ型を実施する。さらに、本発明を他のコンピュータ・システム構成により実施することができ、これにはハンドヘルド・デバイス、マルチ・プロセッサ・システム、マイクロ・プロセッサ・ベースまたはプログラマブルなコンシューマ・エレクトロニクス、ネットワークＰＣ、ミニ・コンピュータ、メインフレーム・コンピュータなどが含まれることは、当業者には理解されよう。本発明はまた分散コンピューティング環境において実施することもでき、この環境ではタスクが、通信ネットワークを通じてリンクされるリモート処理デバイスによって実行される。分散コンピューティング環境では、プログラム・モジュールがローカルおよびリモートのメモリ・デバイスに位置することができる。
【０００８】
以下の説明は、本発明を実施するための例示的システムにおいて使用することができる汎用コンピューティング・デバイスの説明により開始し、本発明をより詳細に、図２〜７を参照して説明する。このとき図１を参照すると、汎用コンピューティング・デバイスが従来のパーソナル・コンピュータ２０の形式で示され、これは処理装置２１、システム・メモリ２２、および、システム・メモリを含む様々なシステム・コンポーネントを処理装置２１に結合するシステム・バス２３を含む。システム・バス２３は、いくつかのタイプのバス構造のいずれかにすることができ、これには、様々なバス・アーキテクチャのいずれかを使用する、メモリ・バスまたはメモリ・コントローラ、周辺バスおよびローカル・バスが含まれる。システム・メモリは読み取り専用メモリ（ＲＯＭ）２４およびランダム・アクセス・メモリ（ＲＡＭ）２５を含む。基本入力／出力システム（ＢＩＯＳ）２６は、起動中など、パーソナル・コンピュータ２０内の複数の要素の間で情報を転送する助けとなる基本ルーチンを含み、ＲＯＭ２４に格納される。パーソナル・コンピュータ２０はさらに、ハード・ディスク６０に対する読み書きを行うためのハード・ディスク・ドライブ２７、リムーバブル磁気ディスク２９に対する読み書きを行うための磁気ディスク・ドライブ２８、および、ＣＤ−ＲＯＭまたは他の光媒体など、リムーバブル光ディスク３１に対する読み書きを行うための光ディスク・ドライブ３０を含む。
【０００９】
ハード・ディスク・ドライブ２７、磁気ディスク・ドライブ２８および光ディスク・ドライブ３０はシステム・バス２３に、それぞれハード・ディスク・ドライブ・インターフェース３２、磁気ディスク・ドライブ・インターフェース３３および光ディスク・ドライブ・インターフェース３４によって接続される。これらのドライブおよびそれらの関連付けられたコンピュータ可読媒体は、パーソナル・コンピュータ２０のためのコンピュータ可読命令、データ構造、プログラム・モジュールおよび他のデータの不揮発性記憶を提供する。本明細書で説明する例示的環境は、ハード・ディスク６０、リムーバル磁気ディスク２９およびリムーバブル光ディスク３１を使用するが、コンピュータによってアクセス可能であるデータを格納することができる他のタイプのコンピュータ可読媒体も例示的オペレーティング環境において使用することができ、これは磁気カセット、フラッシュ・メモリ・カード、デジタル・ビデオ・ディスク、ベルヌーイ・カートリッジ、ランダム・アクセス・メモリ、読み取り専用メモリ、ストレージ・エリアネットワークなどであることは、当業者には理解されよう。
【００１０】
いくつかのプログラム・モジュールを、ハード・ディスク６０、磁気ディスク２９、光ディスク３１、ＲＯＭ２４またはＲＡＭ２５に格納することができ、これにはオペレーティング・システム３５、１つまたは複数のアプリケーション・プログラム３６、他のプログラム・モジュール３７およびプログラム・データ３８が含まれる。ユーザはコマンドおよび情報をパーソナル・コンピュータ２０へ、キーボード４０およびポインティング・デバイス４２などの入力デバイスを通じて入力することができる。他の入力デバイス（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどが含まれる可能性がある。これらおよび他の入力デバイスがしばしば処理装置２１へ、システム・バスに結合されるシリアル・ポート・インターフェース４６を通じて接続されるが、これを、パラレルポート、ゲームポートまたはユニバーサル・シリアル・バス（ＵＳＢ）またはネットワーク・インターフェース・カードなど、他のインターフェースによって接続することができる。モニタ４７または他のタイプの表示デバイスもシステム・バス２３へ、ビデオ・アダプタ４８などのインターフェースを介して接続される。モニタに加えて、パーソナル・コンピュータは通常、スピーカおよびプリンタなど、図示しない他の周辺出力デバイスを含む。
【００１１】
パーソナル・コンピュータ２０はネットワーク化環境において、リモート・コンピュータ４９など、１つまたは複数のリモート・コンピュータへの論理接続を使用して動作することができる。リモート・コンピュータ４９を、別のパーソナル・コンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア・デバイスまたは他の共通ネットワークノードにすることができ、これは通常、パーソナル・コンピュータ２０に関して上述した要素の多数またはすべてを含むが、メモリ・デバイス５０のみを図１に例示した。図１に示す論理接続には、ローカル・エリア・ネットワーク（ＬＡＮ）５１および広域ネットワーク（ＷＡＮ）５２が含まれる。このようなネットワーキング環境は、オフィス、企業全体のコンピュータ・ネットワーク、イントラネットおよびインターネットにおいて一般的である。
【００１２】
ＬＡＮネットワーキング環境において使用されるとき、パーソナル・コンピュータ２０がローカル・ネットワーク５１に、ネットワーク・インターフェースまたはアダプタ５３を通じて接続される。ＷＡＮネットワーキング環境において使用されるとき、パーソナル・コンピュータ２０は通常、モデム５４、または、ＷＡＮ５２を介して通信を確立するための他の手段を含む。モデム５４は内部または外部にすることができ、これがシステム・バス２３へ、シリアル・ポート・インターフェース４６を介して接続される。ネットワーク化環境において、パーソナル・コンピュータ２０に関して示したプログラム・モジュールまたはその一部を、リモート・メモリ・デバイスに格納することができる。図示のネットワーク接続は例示的であり、通信リンクを複数のコンピュータの間で確立する他の手段を使用できることは理解されよう。
【００１３】
以下の説明では、特に断らない限り、本発明を、１つまたは複数のコンピュータによって実行されるオペレーションの動作および記号表現を参照して説明する。したがって、このような動作およびオペレーションを、時にはコンピュータにより実行されるものと称し、これらがコンピュータの処理装置による、データを構造化形式で表現する電気信号の操作を含むことは理解されよう。この操作はデータを変換するか、あるいはデータをコンピュータのメモリ・システムにおける場所で維持し、これはコンピュータのオペレーションを、当業者によく理解される方法で再構成し、あるいはそうでない場合は変更する。データが維持されるデータ構造は、データのフォーマットによって定義された特定の特性を有するメモリの物理的場所である。しかし、本発明を前述に関連して説明しているが、これは限定とする意味ではなく、以下に説明する様々な動作およびオペレーションをハードウェアにおいても実施できることは当業者には理解されよう。
【００１４】
このとき図２を参照すると、本発明は、コンテンツ・サービス・ネットワーク７０のフレームワークを対象とし、これは、インターネットなど、ネットワーク上のコンテンツ・プロバイダ（たとえば、Ｗｅｂサイト）とコンテンツ消費者（たとえば、エンド・ユーザ）の間のコンテンツ配信パスに配置されたエッジ・サーバを有して、配信されているコンテンツ・リクエストまたはコンテンツを処理して、コンテンツ指向サービスを提供する。これに関して、コンテンツ・サービス・ネットワーク（ＣＳＮ）７０は、コンテンツ・プロバイダとコンテンツ消費者の間の中継装置として、付加価値サービスを提供するために機能するインフラストラクチャ・サービスである。コンテンツ・サービス・ネットワークによって提供することができる、多数のタイプのコンテンツ指向サービスがある。例示的なタイプのコンテンツ指向サービスには、不良コンテンツを有するＷｅｂページに対するリクエストのブロッキング、コンテンツのパーソナライズ、小型インターネット・デバイスによって閲覧するためのＷｅｂページの適合、ワイヤレス・モバイル・デバイス上で閲覧するためのビデオ・ストリームのトランス・コーディング、Ｗｅｂページのコンテンツ上の言語翻訳などが含まれる。本発明のコンテンツ・サービス・ネットワークは、インターネット上に配備してコンテンツ指向サービスを効果的に提供するために設計されている。しかし、コンテンツ・サービス・ネットワークをまた、大規模組織の内部ネットワークなど、他の大規模ネットワークにも有利に配備できることは理解されよう。
【００１５】
コンテンツ・サービス・ネットワークによって提供されたコンテンツ指向サービスは、コンテンツ・プロバイダ、エンド・ユーザ、インターネット・サービス・プロバイダ（ＩＳＰ）、または従来のコンテンツ配信ネットワークプロバイダとすることができる幅広い顧客、が利用可能である。このサービスを使用するために、顧客は、コンテンツ・サービス・ネットワークによって提供された使用可能なサービスを申し込む。次いで、申し込まれたサービスを、コンテンツ・リクエストおよび／またはエッジ・サーバを通じて流れるコンテンツ・データについて行うようにエッジ・サーバに命令するために、申込者のサービス契約がエッジ・サーバに降ろされる。以下でより詳細に説明するように、本発明の特徴によれば、コンテンツ・サービス・ネットワークは、申し込まれたサービスをコンテンツにバインディングして、コンテンツ・サービス・ネットワークのサービス可能プロキシが、コンテンツ・リクエストおよび／または所望のコンテンツ指向サービスを行うために配信されているコンテンツにおいて必要なアクションを実行できるようにするためのメカニズムを提供する。
【００１６】
図２のように、コンテンツ・サービス・ネットワーク７０は、２つのレイヤのネットワーク・インフラストラクチャを含み、これらが、コンテンツ・プロバイダおよびコンテンツ消費者を接続するネットワーク７２（たとえば、インターネット）上でオーバーレイされる。一方のレイヤは「コンテンツ配信ネットワーク」７４と呼ばれ、複数のサービス可能プロキシ７６を含み、これらはネットワークの端部に配備され、コンテンツをよりエンド・ユーザ７８の付近で送り出すための分配チャネルとして使用される。他方のレイヤは「サービス配信オーバーレイ」８０と呼ばれ、複数のアプリケーション・サーバ８２を含み、これらはコンテンツ配信ネットワークを介して分配されるコンテンツを処理するためのものである。これに関して、主として２つのタイプのエッジ・サーバ、すなわち、コンテンツ配信ネットワーク７４のサービス可能キャッシング・プロキシ７６、および、サービス配信オーバーレイ８０のアプリケーション・サーバ８２、がコンテンツ・サービス・ネットワーク・フレームワーク内にあり、これらはサービス可能プロキシのためのリモート・コールアウト・サーバとして動作する。以下でより詳細に説明するように、コンテンツ配信ネットワーク７４のサービス可能プロキシ７６は、サービス配信オーバーレイ８０内のアプリケーション・サーバ８２と協調して、コンテンツ指向サービスをコンテンツ配信パスに注入する。好ましい実施形態では、２つのレイヤは、Ｓｉｍｐｌｅ　Ｏｂｊｅｃｔ　ＡｃｃｅｓｓＰｒｏｔｏｃｏｌ（ＳＯＡＰ）の下でメッセージを用いて互いに通信する。
【００１７】
コンテンツ配信ネットワーク７４では、個々のコンテンツ・プロバイダからのコンテンツは、推定される要求およびキャッシング・ポリシーに基づいて、サービス可能プロキシを収容するエッジ・サーバのセットに、複製される。ユーザのクライアント・マシン７８からのコンテンツ・リクエストは、サービス可能プロキシ７６に経路指定され、リクエストされたコンテンツがプロキシのキャッシュ内で発見されない場合、サービス可能プロキシ７６は、そのリクエストをコンテンツ・オリジン・サーバ８４に転送する。オリジン・サーバ８４によって送信されたコンテンツも、最初にプロキシ７６にも経路指定され、プロキシ７６は、コンテンツのキャッシュ可能部分をキャッシュして、そのコンテンツをリクエストしたユーザに転送する。好ましい実施形態では、ＤＮＳベースのリダイレクション技術が使用されて、ネットワークおよびサーバの負荷バランシングが行われることを確実にする。これはまた、多数のコピーを分配ネットワーク内で作成することによって、コンテンツの可用性も保証する。
【００１８】
他方では、サービス配信レイヤは、サービスのためのアプリケーション（たとえば、メディア処理およびトランス・コーディング）をネットワーク７２の端部に送り出すための分配チャネルを提供する。図３は、サービス配信オーバーレイ８０の一実施形態の構造を示す。図３のように、これは３つの主なタイプすなわち、アプリケーション・サーバ（ＡＰ）８２、サービス配信および管理（ｓｅｒｖｉｃｅ　ｄｅｌｉｖｅｒｙ　ａｎｄ　ｍａｎａｇｅｍｅｎｔ；ＳＤＭ）サーバ８６およびリダイレクション（Ｒ）サーバ８８、の要素を収容する。各ＳＤＭサーバ８６は、複数のアプリケーション・サーバ８２およびリダイレクション・サーバ８８を含むドメイン９０を管理する。各ドメインは、ネットワーク７２のエンド・ユーザ９６に接近した端部にある。たとえば、図３のように、ドメイン９０は、多数のユーザがネットワークにそれを通じてアクセスするインターネット・サービス・プロバイダ９８（ＩＳＰ）に接続される。
【００１９】
アプリケーション・サーバ８２は、コンテンツ指向サービスを提供するようにコンテンツを処理するソフトウェアをホストする。これらは、コンテンツ・サービス・ネットワーク７０を介して配信されたコンテンツを、サービスを使用するコンテンツ・プロバイダまたはコンテンツ消費者に代わって処理するための計算リソース（ｃｏｍｐｕｔａｔｉｏｎａｌ　ｒｅｓｏｕｒｃｅｓ）を提供する。以下でより詳細に説明するように、これらは、コンテンツ指向サービスを必要とするとき、コンテンツ配信ネットワーク内のサービス可能プロキシによって識別されたメッセージを処理するために、そのプロキシによってコールされる。
【００２０】
ＳＤＭサーバ８６はいくつかのタスクを担う。これらは、サービス・プロバイダによって提供されたコンテンツ指向サービスを登録し、発行する。これらは、推定される要求に基づいて対応するサービス・ソフトウェアをエッジ・サーバのセットに複製することによって、サーバ配信レイヤ内にアプリケーションを分配する。最初のサービス登録、発行および分配の後、ＳＤＭサーバは継続して各サービスのパフォーマンスを監視し、それについての要求に従ってサービスの分配および配備の規模を動的に適合させる。ＳＤＭサーバはまた、サーバの使用についての情報を統合し、この情報をリダイレクション・サーバに提供する。リダイレクション・サーバはこの情報を使用してネットワークおよびサーバの負荷バランシングを実行する。ＳＤＭサーバはまた、管理、会計およびビリング機能をサービス・プロバイダに提供する。各ＳＤＭは、そのドメインについての情報の収集を担い、定期的に情報を他のＳＤＭサーバと交換する。さらに、以下でより詳細に説明するように、ＳＤＭサーバは、また、サービス・コンテンツ・バインディング情報およびサービスを行うための条件を含むサービス命令をコンテンツ配信ネットワークにおけるサービス可能プロキシに提供する役目も担う。
【００２１】
リダイレクション・サーバは、いくつかの属性および測定値に従って、サービス・リクエストをアプリケーション・サーバに向けて送る役目を担う。これらは、このような情報をＳＤＭサーバから受信する。サービス配信レイヤ内のアプリケーション・サーバおよびＳＤＭサーバは、以下でより詳細に説明するように、コンテンツ配信ネットワーク７４内のサービス可能キャッシング・プロキシ７６と通信して、サービス申し込みおよび提供を達成する。
【００２２】
このとき図４を参照すると、コンテンツ配信レイヤ内のキャッシング・プロキシ７６は、これら（キャッシング・プロキシ７６）が単に従来のキャッシング・プロキシが行うようにコンテンツをキャッシュおよび転送するのではなく、追加の処理（それらが提供する特定のサービスによって定義される）を、それらを通じて流れるメッセージに対して提供することができるという理由で、「サービス可能」である。これらは、コンテンツ・サービス・ネットワーク７０のサービス配信オーバーレイ８０と対話して、コンテンツ指向サービスを行うことを実行する。図４に示す一実施形態では、サービス可能プロキシ７６は以下の主なコンポーネント、すなわち、（１）命令パーサ１０２、（２）メッセージ・パーサ１０４、（３）命令プロセッサ１０６、（４）サービス実行モジュール１０８、（５）命令キャッシュ１１０、および（６）結果キャッシュ１１２を含む。
【００２３】
サービス可能プロキシが、それを通過するコンテンツについてコンテンツ指向サービスを提供できるようにするために、サービス命令がＳＤＭサーバ８６からサービス可能プロキシ７６に転送される。この命令は、コンテンツ・プロバイダまたはエンド・ユーザからのサービス申し込み情報を表す。命令パーサ・モジュール１０２は、ＳＤＭサーバから受信された命令をコンパイルし、構文解析された命令をローカル命令キャッシュ１１０に格納する。
【００２４】
ランタイム中に、登録されたタイプのメッセージが、プロキシ７６をトリガしてメッセージ・パーサ１０４を活動化させ、次いで、適切なサービスを行うために、メッセージ・パーサ１０４はそのメッセージ（たとえば、ＨＴＭＬリクエストまたは応答）を構文解析して、コンテンツ・タイプまたはコンテンツの言語など、必要な情報を抽出する。このメッセージは、命令キャッシュ内の命令のサービス・バインディング・データに対して突き合わせられて、そのメッセージについて実行されるべきサービスが識別される。例として、そのメッセージはオリジン・サーバによって送信されることがあり、コンテンツ・プロバイダのドメイン名を含むことがある。このドメイン名がサービス命令のサービス・バインディング・データにおけるドメイン名と合致した場合、命令における条件が満たされるかどうかに応じて、その命令で指定されたサービスをそのメッセージについて行うことができる。次いで、命令プロセッサ１０６は、識別されたコンテンツ指向サービスについて関連する命令を命令キャッシュ１１０からロードする。命令プロセッサ１０６は、その命令を実行するローカル・サービス実行モジュール１０８をコールする。プロキシのローカル・サービス実行モジュール１０８は、軽量の処理のみを実行することになっている。命令において指示されて必要ならば、サービス実行モジュールは、サービス配信オーバーレイ内のアプリケーション・サーバ８２のリモート・サービスを、ＳＯＡＰプロトコルを通じて呼び出すことに使用される。この処理が、配信中のコンテンツにおいて実行された後、将来の使用に備えて、その結果を結果キューに格納することができる。
【００２５】
ネットワーク７２の端部でコンテンツ指向サービスを提供するいくつかのステップが、必要となる。最初に、コンテンツ指向サービスが、サービス配信レイヤ８０内のアプリケーション・サーバ８２、およびコンテンツ配信レイヤ７４内のサービス可能キャッシング・プロキシ７６を含むエッジ・サーバに登録される。次のステップは、サービス申込者が、どのサービスが自分たちのために提供されるべきであるかを指定することである。たとえば、提供されるサービス（すなわち、コンテンツが処理される方法）を、コンテンツ・プロバイダ、メディア・オブジェクトまたはユーザ・アイデンティティのドメインにバインディングさせることができる。次いで、サービスが、サービス命令に従って、ランタイム期間中、それを通過するコンテンツにエッジ・サーバによって適用される。これらのステップを実施するためのオペレーションを以下でより詳細に説明する。
【００２６】
上述のように、コンテンツ・サービス・ネットワークは、コンテンツ・プロバイダもコンテンツ消費者も使用することができる中間サービスの形式として、コンテンツ指向サービスを分配および配備するために、必要なネットワーク・インフラストラクチャを提供する。コンテンツ指向サービスが利用可能にされる前に、これを最初にコンテンツ・サービス・ネットワークに登録しなければならない。図５のように、サービス・プロバイダ１２０は、サービス仕様およびバイナリを含むそのコンテンツ指向サービス・コンポーネントを、ＳＤＭサーバ８６のサービス登録コンポーネント１２２に提供する。各登録されたサービスについて、サービスがその上で動作するパラメータタイプおよびトランスポートプロトコル、および、エッジ・サーバにおいてサービスを呼び出すための条件（たとえば、コンテンツ・タイプ、ユーザの好み、デバイスの機能、場所およびネットワーク帯域幅など）などの、サービスの呼び出しインターフェース（ｉｎｖｏｃａｔｉｏｎ　ｉｎｔｅｒｆａｃｅ）および実行環境が記述されたサービス仕様が提供される。このバイナリは、アプリケーション・サーバ上で実行するアプリケーション、および、サービス可能プロキシ上で実行する実行可能モジュール、を含む。
【００２７】
ＳＤＭサーバ８６は、サービス・プロバイダによって提出されたサービス仕様およびバイナリコードを、サービス・データベース１３２に格納する。次いでこれはサービス情報をネットワーク・レジストリ１２８へ、公の開示およびアクセスに備えて発行する。好ましい実施形態では、ネットワーク・レジストリ１２８は、Ｕｎｉｖｅｒｓａｌ　Ｄｅｓｃｒｉｐｔｉｏｎ，　Ｄｉｓｃｏｖｅｒｙ　ａｎｄ　Ｉｎｔｅｇｒａｔｉｏｎ（ＵＤＤＩ）レジストリである。ＵＤＤＩレジストリは、企業が、その企業のＷｅｂサービスについての情報を登録することを可能にして、他の企業がそれらを発見できるようにする、オープンでグローバルなレジストリである。コンテンツ・サービス・ネットワーク７０はＵＤＤＩを使用して、コンテンツ指向サービスを公の開示およびアクセスに備えて発行する。ＳＤＭサーバはサービス申し込み、申し込み解除、問合せおよび構成インターフェースを提供し、ＵＤＤＩにおいて発見されたサービス・タイプ仕様に従った特定のサービスに関心を有するエンド・ユーザまたはコンテンツ・プロバイダが、自分たちのリクエストをコンテンツ・サービス・ネットワークに送信できるようにする。
【００２８】
サービス登録および発行と共に、登録されたサービスについての対応するアプリケーションまたは実行可能モジュールが、サービス配信オーバーレイ８０のＳＤＭサーバ８６に提供される。ＳＤＭサーバ８６は、推定される要求および必要とされた地域的範囲に基づいて、いくつかのエッジ・サーバを動的に選択して、サービスを配備する。上述のように、コンテンツ・サービス・ネットワーク内に、アプリケーションおよび実行可能モジュールをホストするための２つのタイプのエッジ・サーバがある。実行可能モジュールとして提供することができる軽量なサービスが、コンテンツ配信レイヤ内のサービス可能プロキシにアップロードされ、そこを通過するコンテンツに基づいて実行される。他方では、重量のサービスがアプリケーション・サーバにインストールされ、ＳＯＡＰプロトコルによる通信を通じて、サービス可能プロキシによって、呼び出される。
【００２９】
コンテンツ指向中間サービスを使用可能にするための１つの基本要件は、コンテンツ配信ネットワークを通過するコンテンツ（たとえば、ＨＴＴＰメッセージ）にサービスが提供されるべきであるかどうか、および、そうである場合、どのようにしてサービスを呼び出すか（すなわち、対応するサービス命令を見つけだすか）を決定するための能力である。サービス申し込み契約はサービス・プロバイダと、コンテンツ・オリジン・サーバおよび／またはクライアントなど、通信の端部との間にあるので、申し込まれたサービスと、申込者（これをコンテンツ・プロバイダにもコンテンツ消費者にもすることができる）によってリクエストまたは配信されたコンテンツとの間のバインディングを、エッジ・サーバに承知させるための方法が必要とされる。
【００３０】
サービス申し込みおよびバインディングの問題に対する異なる解決策がある。１つの手法は、コンテンツ（たとえば、ＨＴＴＰメッセージ）にラベルを付けて、それが特殊な処理を必要とすることを指示することである。コンテンツのラベル付けのための少なくとも２つの異なる方法がある。サービス命令を直接コンテンツ（たとえば、ＨＴＴＰヘッダ）に埋め込むことができる。別法として、ラベルを、ＵＲＬなどの標識にすることができ、これは、サービス命令を含む外部ドキュメントを参照する。しかしながら、両方の方法は、コンテンツ・オリジン・サーバ（申し込み者がコンテンツ・プロバイダである場合）またはクライアント・デバイスのユーザ・エージェント（申し込み者がエンド・ユーザである場合）において変更を行うことを必要とする。既存のコンテンツ・サーバおよび／またはクライアントをモディファイしなければならないということは、コンテンツ・サービス・ネットワークの配備に障害をもたらす可能性がある。
【００３１】
本発明の特徴によれば、サービス・コンテンツ・バインディングに対して異なる手法が使用される。この手法では、申し込み者およびサービス・プロバイダがサービス契約に同意し、その後コンテンツ・サービス・ネットワークがこの契約をサービス・バインディングに変換する。サービス・バインディングは、コンテンツ配信プロセスにおいて要件とされているネットワーク通信に直接関係のある、申し込まれたサービスと申し込み者の識別の間の関連付けを記述する。たとえば、申し込み者がエンド・ユーザである場合、識別データはエンド・ユーザの識別を表すことになる。申込者がコンテンツ・プロバイダである場合、識別データはコンテンツ・プロバイダのドメイン名またはメディア・オブジェクトを表すことになる。サービス・バインディングは、コンテンツ・サービス・ネットワークによって維持され、コンテンツ・サービス・ネットワークは、申し込みの現在の状況を知り、常にサービス可能プロキシを最新のサービス命令により更新する。これを以下でより詳細に説明する。申し込み者またはサービス・プロバイダはコンテンツ・サービス・ネットワークと対話するだけでよい。これにより、コンテンツ指向サービスを、ネットワーク７２の既存のインフラストラクチャにおいて透過的に配信することができる。
【００３２】
コンテンツ指向サービスに申し込むために、コンテンツ・プロバイダまたはコンテンツ消費者は、最初に、ＵＤＤＩレジストリ１２８において望むサービスを、次いでコンテンツ・サービス・ネットワークのサービス申し込みインターフェース１３６へのアクセス・ポイントを見つける。申し込み者がサービス申し込みおよび関連する構成を確認した後、コンテンツ・サービス・ネットワークはサービス・バインディング情報をサービス・データベース１３２に格納する。このバインディングは、将来、当該コンテンツがコンテンツ配信ネットワークを使用して配信されるとき、申し込まれたサービスをそのコンテンツに提供することを可能とする。サービス・バインディング情報はまた、サービスを呼び出すための条件も収容する。
【００３３】
例として、ＸＭＬフォーマットにおける２つの例示的サービス・バインディング・データ構造を以下に提供する。最初の実施例では、サービス申し込み者はエンド・ユーザであり、申し込まれたサービスはｗｅｂページ適合である。ユーザＩＤが、このユーザからの、あるいはこのユーザへのメッセージにサービスをバインディングするために使用される。第２の実施例では、申し込み者はコンテンツ・プロバイダであり、申し込まれたサービスはウォーターマーキングである。コンテンツ・プロバイダのドメイン名が、コンテンツ・プロバイダによって送信されたコンテンツ・メッセージにそのサービスをバインディングするために使用される。
【００３４】
2004070936.tif 000003
【００３５】
2004070936.tif 000004
【００３６】
上述のように、サービス命令は、単一のサービスへのバインディングを表し、サービス配信オーバーレイ内の実際のサービス・アクセス・ポイントを含む。サービス命令は、ＳＤＭサーバから、申し込み者がそこに関連付けられているサービス可能プロキシに向けて転送され、それによって、適切な時間に、各プロキシが申し込み者へのサービスを行う命令に従って動作することになる。これに関して、申し込み者がコンテンツ・プロバイダである場合、申し込み者が、プロキシを所有するＣＤＮプロバイダとそのコンテンツを配信するための契約を行うとき、申し込み者がそのプロキシに関連付けられる。申し込み者がエンド・ユーザである場合、そのＩＳＰが、プロキシを所有するＣＤＮプロバイダと、コンテンツ・アクセスを加速させるための契約を行うとき、申し込み者がそのプロキシに関連付けられる。ＳＤＭサーバからサービス可能プロキシへの命令転送は、申し込みの直後にＳＤＭサーバがその命令をプロキシに送信する「イーガー（ｅａｇｅｒ）」モード、または、プロキシが、申し込み者についての命令をＳＤＭサーバから、定期的またはセッション毎にフェッチする「レイジー（ｌａｚｙ）」モード、にすることができる。上述のように、プロキシは、そのドメインについてのサービス・バインディングのサブセットを表すサービス命令を格納するキャッシュ／複製されたメモリ１１０を有する。プロキシはサービス命令をキャッシュ内で最新に保つ。
【００３７】
上述のように、コンテンツ配信ネットワークにおける各サービス可能プロキシ７６は、コンテンツ・プロバイダとコンテンツ消費者（たとえば、エンド・ユーザ）の間のコンテンツ配信パス内に位置している。プロキシが、コンテンツ消費者から、あるいは、リクエストされたコンテンツをコンテンツ・プロバイダからコンテンツ・リクエストを含むメッセージを受信すると、そのメッセージにコンテンツ指向サービスが適用されるべきであるかどうかを命令に従って決定する。メッセージおよびその関連するコンテクストが、申し込まれたサービスを提供するための命令において指定された条件を満たす場合、プロキシ７６はサービスをローカルで提供するか、あるいはメッセージおよび関連するパラメータをサービス配信レイヤ内のアプリケーション・サーバに渡す。後者の場合、処理結果がプロキシに戻され、つぎに、このプロキシがこの処理結果をメッセージの元の宛先に転送する。
【００３８】
コンテンツ指向サービスを、クライアント・リクエストにおいても、そのセッションのサーバ応答においても行うことができる。リクエストのフィルタリングおよびセキュリティ適合は前者のタイプであるが、ｗｅｂページ適合、ウォーターマーキング、ウィルス・スキャンなど、多数の他のサービスは後者のタイプである。図６は、サービスをクライアント・リクエストに基づいて提供する場合に含まれるデータの流れを示す。例示のため、このプロセスにおける複数のパーティの間の通信のシーケンスを、番号付きの矢印によって示す。図６のように、クライアント７８は最初に、コンテンツ・オリジン・サーバ８４からのコンテンツに対してリクエスト・メッセージ１４０を送信する。このメッセージが最初にサービス可能プロキシ７６に経路指定され、サービス可能プロキシ７６が、このメッセージを、クライアントのサービス申し込みのサービス・バインディングと比較してチェックし（たとえば、メッセージのユーザＩＤをバインディングのユーザＩＤと突き合わせる）、そのメッセージがコンテンツ指向サービスを必要とすることを決定する。提供されるサービスのタイプに応じて、プロキシ７６はメッセージをサービス配信オーバーレイ内のリモート・アプリケーション・サーバ８２に転送するか、あるいはこのサービスのためのローカル実行可能モジュール１６０を呼び出すことができる。前者の場合、アプリケーション・サーバ８２はメッセージをサービス契約に従って処理し、たとえばモディファイされたリクエスト・メッセージなどの結果をプロキシに戻す。次いで、プロキシは、モディファイされたリクエスト１４６を（処理結果により、モディファイされたリクエストを転送できると仮定して）コンテンツ・サーバ８４上に転送する。クライアントのリクエストに応答して、コンテンツ・サーバ８４は、リクエストされたコンテンツを含む応答メッセージ１４８を戻す。この応答メッセージ１４８は、プロキシ７６に経路指定され、つぎにプロキシ７６がこの応答メッセージをリクエスト側のクライアント７８に転送する。
【００３９】
図７は、サービスを応答メッセージについて行う場合のデータの流れを示す。図６と同様に、複数のパーティの間の通信のシーケンスを、番号付きの矢印によって示す。図７のように、クライアントは最初にリクエスト・メッセージ１５０を送信する。このリクエスト・メッセージは、プロキシ７６を通過して、コンテンツ・サーバ８４に転送される。これに応答して、コンテンツ・サーバは応答メッセージ１５２を戻す。応答メッセージ１５２はプロキシ７６に経路指定される。プロキシ７６が応答メッセージ１５２を受信すると、メッセージが、何らかのコンテンツ指向サービスを必要とするかどうかを、たとえば、コンテンツ・サーバ８４のドメイン名とサービス・バインディングのドメイン名との間の合致を発見することによって、チェックする。必要とする場合、プロキシ７６は、そのサービスを、サービス処理をメッセージについて実行するアプリケーション・サーバ８２に向けてメッセージを転送すること、または、ローカル実行可能モジュール１６２を呼び出して、それ自身でメッセージを処理すること、によってサービス・バインディングに関連付けられたサービス命令に従って行わせる。処理がアプリケーション・サーバによって実行された場合、処理の結果として生じるモディファイされたコンテンツがアプリケーション・サーバ８２によってプロキシ７６に戻される。つぎに、モディファイされたコンテンツ１５６がクライアント７８に転送される。
【００４０】
本発明の原理を適用することができる多数の可能な実施形態に鑑みて、図面に関して本明細書に記載した実施形態は例示的としてのみ意味され、本発明の範囲を限定するものとして取られるべきでないことを理解されたい。したがって、本明細書に記載したような本発明は、特許請求の範囲およびその同等物の範囲内に入る可能性のあるこのようなすべての実施形態を企図する。
【図面の簡単な説明】
【図１】本発明を実施することができる例示的コンピュータ・システムを概して例示するブロック図である。
【図２】サービス配信ネットワークおよびコンテンツ配信ネットワークを、インターネットなどの広域ネットワーク上でオーバーレイとして、コンテンツ指向サービスを提供するために含む、本発明を実施するコンテンツ・サービス・ネットワークを示す概略図である。
【図３】サービス配信オーバーレイの一実施形態の構造を示す概略図である。
【図４】図２に例示したコンテンツ配信ネットワークにおけるサービス可能プロキシのコンポーネントを示す概略図である。
【図５】サービス配信ネットワークのサービス申し込み者およびサーバの間の、サービス登録および配備のための通信を示す概略図である。
【図６】クライアントによってコンテンツ・サーバに送信されたリクエスト・メッセージについてコンテンツ指向サービスを行う際に含まれる通信のシーケンスを示す概略図である。
【図７】コンテンツ・サーバによってクライアントに送信された応答メッセージについてコンテンツ指向サービスを行う際に含まれる通信のシーケンスを示す概略図である。
【符号の説明】
７０　コンテンツ・サービス・ネットワーク
７２　ネットワーク
７４　コンテンツ配信ネットワーク
７６　サービス可能プロキシ
７８　クライアント
８０　サービス配信オーバーレイ
８２　アプリケーション・サーバ
８４　コンテンツ・オリジン・サーバ
８６　サービス配信および管理（ＳＤＭ）サーバ
９２　コンテンツ・プロバイダ
９６　エンド・ユーザ
１０２　命令パーサ
１０４　メッセージ・パーサ
１０６　命令プロセッサ
１０８　サービス実行
１１０　命令キャッシュ
１１２　結果キャッシュ
１２０　サービス・プロバイダ
１２８　ネットワーク・レジストリ（ＵＤＤＩ）
１２２　サービス登録
１３２　サービス・データベース
１３６　サービス申し込み
１４０　コンテンツ・リクエスト
１４６　モディファイされたリクエスト
１５０　コンテンツ・リクエスト
１５２　コンテンツを含む応答
１５６　モディファイされたコンテンツ
１６０、１６２　実行可能モジュール
【図１】
2004070936.tif 000005
【図２】
2004070936.tif 000006
【図３】
2004070936.tif 000007
【図４】
2004070936.tif 000008
【図５】
2004070936.tif 000009
【図６】
2004070936.tif 000010
【図７】
2004070936.tif 000011