(57)【要約】  構造化メタ言語に準拠するデータを、ネットワークを介してソースから１つ以上のクライアントにルーティングする方法であって、データをどこへルーティングすべきかを判定するにあたり、そのデータにアドレスを付加するのではなく、サーバがデータ自体に規則を適用することによりルーティングを実行する。本発明は、有効に、効率良くルーティングされるためには、データはデータエンベロープの中に隠蔽される必要はなく且つアドレスラベルを与えられる必要もないという直観とは異なる見識に基づいている。代わりに、データをそれらのメッセージエンベロープからアンパックし、それらを知的にフィルタリングし、あるいは他のメッセージからアンパックされたデータと組み合わせたりするネットワーク内の知的「ルーティング」サーバが、単純なルーティング規則をデータ自体に適用することにより、メッセージの実際のコンテンツに対するルーティングを実行し、ルーティング機能を実現している。
2005512398.tif 000002
【特許請求の範囲】
【請求項１】
構造化メタ言語に準拠するデータを、ネットワークを介してソースから１つ以上のクライアントにルーティングする方法であって、
サーバによって前記データにアドレスが付加されなくとも、該データに１つ以上の規則が適用されることによって前記ルーティングが実行され、該データの正確なルーティングを実現することを特徴とする方法。
【請求項２】
前記データを生成するために１つ以上のメッセージがアンパックされ、前記ルーティングサーバは該アンパックされたデータ又は該アンパックされたデータの１つ以上のサブセットに対して、前記各規則を適用することを特徴とする請求項１記載の方法。
【請求項３】
前記ルーティングサーバは前記アンパックされたデータ又は前記データサブセットに前記各規則を適用し、次に、該データ又は該データサブセットの一部又は全てを用いて１つ以上のメッセージを構築することを特徴とする請求項２記載の方法。
【請求項４】
前記構造化メタ言語はＸＭＬであることを特徴とする請求項１記載の方法。
【請求項５】
前記ルーティングサーバにより適用される前記各規則は絶えず更新可能であることを特徴とする請求項１記載の方法。
【請求項６】
前記各規則は、前記ルーティングサーバが１つ以上のメッセージ、又は１つ以上のメッセージの１つ以上のサブセットを受信し且つ処理することによって、絶えず更新可能であることを特徴とする請求項５記載の方法。
【請求項７】
前記各規則は前記ルーティングサーバによりリアルタイムで前記データに適用されることを特徴とする請求項６記載の方法。
【請求項８】
クライアントでの閲覧のためにレンダリングが必要な場合に、前記各規則は前記サーバによってリアルタイムに前記データに適用されるため、データの更新は、クライアントが閲覧可能なもの全てではなく、クライアントが実際に見ているものに限定して行われることを特徴とする請求項７記載の方法。
【請求項９】
前記アンパックされたデータは前記ルーティングサーバにより解析され、該ルーティングサーバでは、（ａ）該データの１つのサブセットのみが１つ以上のメッセージにパッケージングされた後、クライアントへルーティングされ、且つ（ｂ）該データの別のサブセットが１つ以上のメッセージにパッケージングされた後、異なるクライアントへルーティングされるように前記各規則を適用することを特徴とする請求項２記載の方法。
【請求項１０】
前記アンパックされたデータは前記サーバにより解析され、該サーバでは、該データの一部又は全てと、異なるソースからのデータとが組み合わされて、１つ以上のメッセージが形成された後、該組み合わせデータがクライアントへルーティングされるように前記各規則を適用することを特徴とする請求項２記載の方法。
【請求項１１】
スケーラビリティを与えるために、複数の並列サーバが単一のソースからルーティングできることを特徴とする請求項１記載の方法。
【請求項１２】
複数の並列サーバからなるグループのうちの１つのサーバが故障した場合には、該グループの別のサーバが引き継ぐことが可能であることを特徴とする請求項１１記載の方法。
【請求項１３】
複数の直列に接続されたサーバによってルーティングが実行可能であることを特徴とする請求項１記載の方法。
【請求項１４】
直列接続の階層のより上位にあるサーバは、階層の更に下位のサーバにより適用される前記各規則を認識する必要がないことを特徴とする請求項１３記載の方法。
【請求項１５】
前記各規則は、
（ａ）ユーザ独自の識別子に基づいてデータをルーティングする；
（ｂ）セキュリティ特権に基づいてデータをルーティングする；
（ｃ）クライアント性能及びネットワーク性能に関する規則に基づいてデータをルーティングする；
（ｄ）データを供給するサーバのうちの１つ以上がオーバーロード状態になった場合、該使用中のサーバへのアクセスを制限するために前記ルーティングサーバが使用されるよう、データを供給しているサーバの性能に関する規則に基づいてデータをルーティングする；
（ｅ）ユーザごとのカスタマイゼーション及びレガシーサーバにより委託されるセキュリティ規則に基づいてデータをルーティングする；
（ｆ）入力メッセージの所定のコンテンツは、高価ではあるがセキュリティの面で極めて優れているネットワークに迂回させる一方、他のコンテンツの一部又は全ては公衆の通信回線を介して送信されるようにした規則に従ってデータをルーティングする；
（ｇ）メッセージを送り出すにあたってメッセージの複数の部分を選択的に暗号化し且つ／又はデジタル署名を付し、メッセージのセキュリティに不当な影響を与えることなく暗号化プロセスのＣＰＵコストを低減して、データをルーティングする；
（ｈ）各クライアントにとってはメッセージの所定の部分しか解読することができないが、全てのクライアントに対して同じ暗号化メッセージを送信することができるブロードキャストネットワークに対してメッセージを送り出すにあたって、メッセージの複数の部分を複数のキーによって選択的に暗号化し且つ／又はデジタル署名を付すことにより、データをルーティングする；
（ｉ）整合するコンテンツをもって１つ以上の他のメッセージが受信されるまで、ある１つのメッセージを保持することにより、データをルーティングする、
という規則群から選択されたメンバであることを特徴とする請求項１記載の方法。
【請求項１６】
前記各規則は、データを前記サーバ内に局所的に保持されているデータと比較するＸクエリー（Xqueries）として構造化されていることを特徴とする請求項４記載の方法。
【請求項１７】
前記データは、インスタントメッセージングパーソナル通信であることを特徴とする請求項１記載の方法。
【請求項１８】
前記データは、ウェブサービス関連データであることを特徴とする請求項１記載の方法。
【請求項１９】
構造化メタ言語に準拠するデータを、ネットワークを介してソースから１つ以上のクライアントにルーティングするようにプログラムされた装置であって、
前記データにアドレスを付加せずに、前記データに１つ以上の規則を適用することによって、前記データの正確なルーティングを実現することを特徴とする装置。
【請求項２０】
前記データを生成するために１つ以上のメッセージをアンパックし、次に、該アンパックされたデータ又は該アンパックされたデータの１つ以上のサブセットに前記各規則を適用することを特徴とする請求項１９記載の装置。
【請求項２１】
前記アンパックされたデータ又は前記データサブセットに前記各規則を適用し、次に、該データ又は該データサブセットの一部又は全てを使用して１つ以上のメッセージを構築することを特徴とする請求項２０記載の装置。
【請求項２２】
前記各規則は絶えず更新可能であることを特徴とする請求項１９記載の装置。
【請求項２３】
前記各規則は、前記装置が１つ以上のメッセージ、又は１つ以上のメッセージの１つ以上のサブセットを格納し処理することにより絶えず更新可能であることを特徴とする請求項２２記載の装置。
【請求項２４】
前記各規則を前記データにリアルタイムで適用することを特徴とする請求項２３記載の装置。
【請求項２５】
クライアントでの閲覧のためにレンダリングが必要な場合に、前記各規則はリアルタイムに前記データに適用されるため、データの更新は、クライアントが閲覧可能なもの全てではなく、クライアントが実際に見ているものに限定して行われることを特徴とする請求項２４記載の装置。
【請求項２６】
前記アンパックされたデータを解析し、次に、（ａ）該データの１つのサブセットのみが１つ以上のメッセージにパッケージングされた後、クライアントへルーティングされ、且つ（ｂ）該データの別のサブセットが１つ以上のメッセージにパッケージングされた後、異なるクライアントへルーティングされるように前記各規則を適用することを特徴とする請求項２０記載の装置。
【請求項２７】
前記アンパックされたデータを解析し、次に、該データの一部又は全てが異なるソースからのデータと組み合わされて１つ以上のメッセージが形成された後、該組み合わされたデータがクライアントへルーティングされるように前記各規則を適用することを特徴とする請求項２０記載の装置。
【請求項２８】
スケーラビリティを与えるために、単一のソースからルーティングできる複数の並列サーバとして編成されていることを特徴とする請求項１９記載の装置。
【請求項２９】
複数の並列サーバからなるグループのうちの１つのサーバが故障した場合には、該グループの別のサーバが引き継ぐことが可能であることを特徴とする請求項２８記載の装置。
【請求項３０】
ルーティングを実行するために複数の直列接続サーバとして編成されていることを特徴とする請求項１９記載の装置。
【請求項３１】
直列接続の階層のより上位にあるサーバは、階層の更に下位にあるサーバにより適用される前記各規則を認識する必要がないことを特徴とする請求項３０記載の装置。
【請求項３２】
前記各規則は、
（ａ）ユーザ独自の識別子に基づいてデータをルーティングする；
（ｂ）セキュリティ特権に基づいてデータをルーティングする；
（ｃ）クライアント性能及びネットワーク性能に関する規則に基づいてデータをルーティングする；
（ｄ）データを供給するサーバのうちの１つ以上がオーバーロード状態になった場合、該使用中のサーバへのアクセスを制限するために前記ルーティングサーバが使用されるよう、データを供給しているサーバの性能に関する規則に基づいてデータをルーティングする；
（ｅ）ユーザごとのカスタマイゼーション及びレガシーサーバにより委託されるセキュリティ規則に基づいてデータをルーティングする；
（ｆ）入力メッセージのあるコンテンツは、高価ではあるがセキュリティの面で極めて優れているネットワークに迂回させる一方、他のコンテンツの一部又は全ては公衆の通信回線を介して送信されるようにした規則に従ってデータをルーティングする；
（ｇ）メッセージを送り出すにあたってメッセージの複数の部分を選択的に暗号化し且つ／又はデジタル署名を付し、メッセージのセキュリティに不当な影響を与えることなく暗号化プロセスのＣＰＵコストを低減して、データをルーティングする；
（ｈ）各クライアントにとってはメッセージの所定の部分しか解読することができないが、全てのクライアントに対して同じ暗号化メッセージを送信できるブロードキャストネットワークに対してメッセージを送り出すにあたって、メッセージの複数の部分を複数のキーによって選択的に暗号化し且つ／又はデジタル署名を付すことにより、データをルーティングする；
（ｉ）整合するコンテンツをもって１つ以上の他のメッセージが受信されるまで、ある１つのメッセージを保持することにより、データをルーティングする、
という規則群から選択されたメンバであることを特徴とする請求項１９記載の装置。
【請求項３３】
前記各規則は、データを前記装置内に局所的に保持されているデータと比較するＸクエリー（Xqueries）として構造化されていることを特徴とする請求項１９記載の装置。
【請求項３４】
請求項１記載のルーティングする方法を使用してルーティングされるメッセージであって、該メッセージは、前記ルーティングサーバで受信される１つ以上のメッセージからアンパックされたデータにより構成され、前記ルーティングサーバが、前記アンパックされたデータ又は前記アンパックされたデータの１つ以上のサブセットに、アドレスを付加せずに、規則を適用したことを特徴とするメッセージ。
【請求項３５】
請求項１から１８のいずれか１項に記載のルーティングする方法を使用するアプリケーション統合の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータルーティングに関する。特に、本発明は、自己記述ＸＭＬメタ言語などの構造化メタ言語に準拠するデータのルーティングに関する。「ルーティング」という用語は、データをそのソースから所定の受信先へ誘導するためのあらゆるプロセスを表す。本発明を用いることにより、ウェブサービスを実現するメッセージをルーティングすることができる。
【背景技術】
【０００２】
従来の技術によるデータのルーティングは、データエンベロープの中へデータをパッケージングすることに依存しており、ルーティングの決定はデータエンベロープに配置されたアドレスに基づいている。従来より、データにエンベロープとアドレスを加えた組み合わせは「メッセージ」と呼ばれている。「アドレス利用」「メッセージ」ルーティングの方式は、とりわけ、
（ａ）直接メッセージングシステム（例えば、Ｅメール／ＳＭＴＰ、ピアツーピアインスタントメッセージング）；
（ｂ）ストアアンドクエリーシステム（例えば、クライアントにサーバへの特定の問い合わせを送信させ、応答を受信させる、Ｏｒａｃｌｅ（登録商標）などのリレーショナルデータベース）；
（ｃ）発行及び引用システム（例えば、クライアントにサーバからのデータ及びメディアファイルを表示／ダウンロードさせるＵｓｅｎｅｔ）；
（ｄ）遠隔実行システム（例えば、クライアントにネットワークを介して遠隔アプリケーションの指定機能を直接実行させるＣ及びＪａｖａ（登録商標）に対応するＲＭＩ）；
（ｅ）トランザクション管理ミドルウェアシステム（例えば、Ｔｕｘｅｄｏ（登録商標）、クライアントは、１つ以上の遠隔システムにおいて実行される１つ以上の関連する操作を要求することができるが、全ての操作が有効である場合にのみ、それらの操作が首尾よく完了することが保証されており、クライアントは複雑なトランザクションを安全に実行できる）；
（ｆ）メッセージキューイングミドルウェアシステム（例えば、クライアントにメッセージを遠隔サーバへ送信することを要求させるＩＢＭ（登録商標）  ＭＱシリーズ、Ｔｉｂｃｏ（登録商標）、メッセージ待ち行列は、メッセージが送信された時点でサーバが利用不可能である場合であっても配信を保証するためにストアアンドフォワードメカニズムを使用する）；
（ｇ）分散型オブジェクトシステム（例えば、クライアントにリクエストブローカを介してアクセスされるプロキシクラス又はサービスによって遠隔オブジェクトの方法を実行させるＣＯＲＢＡ（登録商標）、ＤＣＯＭ）；
（ｈ）フィルタリングシステム（例えば、サイズ、ソース、宛先、セキュリティ要求、ネットワーク要求、ウィルス検出などのフィルタリング基準を使用することで、異なる種類のメッセージがシステム内を転送される際の転送方法について、アドミニストレータが規則として設定できるファイアウォール及びＥメールフィルタリングシステム）；
（ｉ）ネットワークレベルルーティングシステム（例えば、クライアントに、各パッケージの宛先及び順序付けを識別するために低レベルプロトコルアドレス指定を使用させ、インターネットなどの相互に接続されたコンピュータから成る複雑なネットワークを介してサーバへ一連の小さなパケットとしてメッセージを送信させるＣｉｓｃｏ（登録商標）インターネットルータ）；
（ｊ）ネットワークレベルブロードキャストシステム（例えば、サーバに適切に構成されたネットワークサーバを使用させ、ルータに多数のクライアントに対して同時にメッセージパケットを配信又はブロードキャストさせるｍ−Ｂｏｎｅ）
において使用される。
【０００３】
しかし、急速に（例えば、１秒間に何度も）変化する可能性があるリアルタイムメッセージを、数百又は数千のウェブサーバから何千にもなると考えられる（又はそれを超える数の）ユーザへ配信する場合、この種の「アドレス利用」メッセージルーティングは必然的に重大な問題を引き起こす。例えば、大量メッセージ配信が絶えず更新している情報をブロードキャストするために発行／引用モデルを使用している場合、全てのクライアントによってより正しいメッセージが受信されることを保証するために、情報を発行するサーバは接続されているクライアントの最低帯域幅に拘束され、ネットワークが低速であれば、増加し続ける（巨大になるおそれがある）データ量をキャッシングしなければならない。オーディオブロードキャスト及びビデオブロードキャストの用途においては多くの場合、ネットワーク輻輳によってメッセージパケットを「ドロップする」ことで、この問題を一部解決できるが、その結果、得られる音声又は画像の品質は低下する。
【０００４】
多くのウェブサーバ（この章の後の部分で更に詳細に説明する）では、メッセージパケットのアドホック「ドロッピング」は受け入れられないので、今日利用できる唯一の選択は、メッセージのサイズ及び量を縮小するか、又はネットワークの帯域幅を拡張することである。直接メッセージングシステム又はストア／クエリーシステムが使用されている場合には、おおよそウェブサーバの数とユーザの数の積としてデータトラフィックのボリュームが増加する；この増加率は、ウェブサーバの数が数百にものぼり、各サーバが潜在的に１秒間に何千もの更新がなされるメッセージを何万人ものユーザへ配信しなければならないようなときには、とても手におえないものとなる。
【０００５】
アドレス利用ルーティングによりネットワークに課される負担に加えて、エンドユーザに対する経済的な費用がある；それらのエンドユーザにとっては受信したデータに対してビット単位で支払額が増して行くため、特に、何百人又は何千人のクライアントを抱え、全く同じ問い合わせに応答するために同じデータを何度も送信するような場合、実際に多くの金額を自ら支払うことになる大規模商用ユーザにとっては、「アドレス利用」メッセージルーティングは非常に効率が悪く、費用のかかる方法であるといえる。あるいは、ユーザは、あるアプリケーションにおけるいくつかのポイントで生じる稀なピーク条件を許容するために余剰帯域幅に対して支払いを行っている。
【０００６】
より効率良く、有効にデータ（通常はＸＭＬデータ、又はＸＭＬの変形）をルーティングする方法は強制命題であろう。本発明はそのような命題である。これは特にウェブサービス関連メッセージをルーティングするときに適用される。「ウェブサービス」は、本質的には、データ及び／又は実行可能コードをインターネット又は他のネットワークを介してクライアント装置に供給することを含む；これは、同じ設備又は異なる設備における、２つ以上のコンピュータアプリケーション又は機能の間の構造化メッセージに基づく通信であり、通信は公衆通信回線、専用通信回線又はローカルネットワークを介して行われ、１つのアプリケーション／機能が別のアプリケーション／機能にサービスを提供する。ウェブサービスは、例えば、ユーザにインターネットなどのワイドエリアネットワークを介してペイ・パー・ユーズ方式で遠隔プロバイダからアプリケーション（従来はクライアント装置に常駐していたであろう）にアクセスさせる。従って、「ウェブサービス」という用語は、例えば、インターネットを介して発行される又は呼び出されうる自立、自己記述アプリケーションを供給するサービス、並びにそれらのアプリケーション自体を含む。別の例としては、外国為替相場を換算する、あるいはより単純に単に最新の株価又は交通情報を供給するために実行されるアプリケーションが含まれる。ウェブサービスは、メッセージを使用して分配される共通の特徴を共有している。プログラム開発担当者はウェブサービスを一体にまとめて、複雑な統合アプリケーションを形成することができるが、そのためには、各ウェブサーバにより提供されるデータを正しい宛先へ効率良くルーティングすることが要求される。
【０００７】
本発明の第１の面においては、構造化メタ言語に準拠するデータを、ネットワークを介してソースから１つ以上のクライアントにルーティングする方法であって、前記データにアドレスが付加されなくとも、サーバによって該データに１つ以上の規則が適用されることで前記ルーティングが実行され、該データの正確なルーティングを実現する。
【０００８】
本発明は、有効に、効率良くルーティングされるためには、データがアドレスラベルを含むエンベロープとともにあるいはエンベロープの中にある必要はないという、直観とは異なる見識に基づいている。代わりに、ルーティング機能を実現するために、ネットワーク内の「ルーティング」サーバにより単純なルーティング規則をデータ自体に適用することで、メッセージの実際のコンテンツに対するルーティングを実行可能としている。ルーティングサーバは、問い合わせを実行するなどの規則を適用することが可能なあらゆる種類の計算装置である。
【０００９】
規則が適用されるデータは単一の完全なメッセージのコンテンツ（すなわち、最終受信先が関心を持つ情報）を形成し、当該データは、１つのメッセージ全体、あるいは１つのメッセージの一部、いくつかのメッセージの各部分、又はいくつかのメッセージの集合体から抽出される。従って、１つの実施形態では、メッセージはアンパックされ（又は複数のメッセージがアンパックされ）、その結果得られたデータ（又はデータサブセット）は規則に基づくフィルタリングを受け、実際には、その結果得られたデータ（又はデータサブセット）はフィルタリングされ且つ／又は他のメッセージからのデータ（又はデータサブセット）と組み合わされることで正確なルーティングが実現される。従って、全てのメッセージを完全な形で維持する従来の技術のルーティング方式とは異なり、ルーティングサーバから出力されるデータはルーティングサーバに入力されたときのメッセージの中のデータと同一である必要はない。
【００１０】
本明細書で使用される用語「メッセージ」は、データ（すなわち、メッセージ受信先にとって関心あるコンテンツ）とデータエンベロープの組み合わせを意味する；それは、ヘッダにアドレス情報を含む従来のメッセージを必ずしも含まない（ただし、含んでいても差し支えない）。従って、本発明においては、ルーティングは、データにアドレスが付加されていない場合に、サーバがメッセージ受信先にとって関心あるコンテンツに１つ以上のルーティング規則を適用することにより実行されれば良い。同様に、データにアドレスが付加されていても良いが、サーバがルーティング規則を適用するとき、そのアドレスはサーバによって無視される。
【００１１】
ルーティングサーバにより、１つ又はいくつかの入力メッセージからデータ又はデータサブセットを使用して、単一又は複数のメッセージを構成することができる。
【００１２】
第２の面においては、構造化メタ言語に準拠するデータを、ネットワークを介してソースから１つ以上のクライアントにルーティングするようにプログラムされた装置であって、前記データにアドレスを付加せずに、前記データに１つ以上の規則を適用することによって、前記データの正確なルーティングを実現することを特徴とする。
【００１３】
第３の面においては、先に定義されたようなルーティングの方法を使用してルーティングされるときのメッセージであって、当該メッセージは、前記ルーティングサーバで受信される１つ以上のメッセージからアンパックされたデータにより構成され、前記ルーティングサーバが、前記アンパックされたデータ又は前記アンパックされたデータの１つ以上のサブセットに、アドレスを付加せずに、規則を適用したことを特徴とする。
【００１４】
本発明のその他の面及び詳細は添付の請求の範囲において指定されている。
【発明を実施するための最良の形態】
【００１５】
英国ロンドンのＡｌｔｉｏ  Ｌｉｍｉｔｅｄからの、プレゼンテーションサーバ（Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｓｅｒｖｅｒ）と呼ばれる１つの実施形態に関連させて本発明を説明する。基本的なことを再確認すると、従来の方式では、メッセージはアドレスヘッダを含み、入力メッセージは、ルーティング動作においてアドレスが読み取られ、使用される以外は全く解析されず、一体のブロックとしてルーティングされる。本発明は、ルーティングを実現するために、メッセージのデータコンテンツをアンパックし、規則に基づくフィルタリングをデータコンテンツに対して実行するよう要求することで、この従来の慣例に挑戦しており、出力される再パッケージングされたデータは１つ以上の入力メッセージの全体又はその一部のあらゆる組み合わせ（たとえば、１つ以上の入力メッセージのデータのサブセット、１つ以上の入力メッセージの全体、いくつかのメッセージのサブセットと他のメッセージの全体など）により構成される。
【００１６】
方法全体をルーティングサーバにおける知的な「アンパック−フィルタ−再パック」として要約することができるであろう。図１は、この方法を表す概略図である。図１において、いくつかの種類の異なるウェブサービス１Ａから１Ｄ（１Ａ：ニュース関連。１Ｂ：価格設定及び取引。１Ｃ：ホテル概要。１Ｄ：レストラン概要）が存在している。ウェブサービス関連データはＸＭＬメッセージ２としてルーティングサーバ３へ送信される。ルーティングサーバ３はＸＭＬメッセージデータコンテンツをアンパックし（４）、次に、そのコンテンツに異なる規則５Ａ、５Ｂ及び５Ｃを適用する。規則５ＡはＦＸ関連データのみを機密リンクを介してルーティングさせる。規則５Ｂはニュースのみを通過させる。規則５Ｃは、ロンドンのレストラン及びイタリア料理店の休日に関連するデータのみを通過させる。規則を満たすコンテンツは、その後、ＸＭＬメッセージ６として再びパッケージングされ、正しいユーザ７、８及び９へ送信される。このように、ロンドンにあるレストランとイタリア料理店の休日に関するデータを見ることにのみ関心を持つユーザ７は規則５Ｃによりサーブされ、従って、ユーザ７が関心を持っているデータのみがルーティングされることになる。同様に、ニュース見出しを要求するユーザ８は規則５Ｂによりサーブされる。ＦＸトレーダーであるユーザ９は規則５Ａによりサーブされる。この例では、ユーザ７は２つの異なるウェブサービスメッセージストリーム１Ｃ及び１Ｄからデータを受信する。しかし、ユーザ８及び９はそれぞれ単一のウェブサービスメッセージストリームからデータを受信する。これより複雑な組み合わせも容易に実現される。
【００１７】
別の例によりこの概念を説明する：証券取引所が１０００種類の株式を有し、その株価が全てリアルタイムで変化していると仮定する。この種の情報を配信するため従来の方式によれば、その情報をリレーショナルデータベースにおいてホスティングし、インターネットを介して接続されているユーザが、そのデータベースに対して、例えば、「ｓｈｏｗ  ｍｅ  ｙｏｕｒ  ｃｕｒｒｅｎｔ  ａｎｄ  ｈｉｓｔｏｒｉｃ  ｐｒｉｃｉｎｇ  ｄａｔａ  ｏｎ  Ｉｎｔｅｌ（登録商標）」という問い合わせを行っていた。この問い合わせはデータベースにより処理され、応答は元の問い合わせを送信したクライアントコンピュータのＩＰアドレスと共にエンベロープに入ってユーザに戻される。しかし、商用ユーザに対しては、問い合わせは単に１つの株式に関連しているだけではなく、おそらくは数百の株式に関連しており、正確なデータを提供するためにはリフレッシュレートは短い間隔でなければならない。同時に１つのシステムにアクセスできると考えられる何万ものユーザにこの数字を掛け合わせると、ネットワークトラフィック及びデータベースサーバに対する負荷はとても手におえないものになる可能性がある。
【００１８】
本発明によれば、ルーティングサーバにより規則を適用して、トラフィックを劇的に減少させることができる。例えば、図２に示すように、発信元サーバ２０は１０００種類の株式に関するリアルタイム株価データ２１をルーティングサーバ２２に供給することが可能であろう。ルーティングサーバ２２は、クライアントにより現在表示されている３０の株価データのみをそのクライアントへ送り出すために単一の規則を適用できるであろう（このために、ルーティングサーバはどんな瞬間にもクライアントが何を表示しているかを認識しておくことが要求されるが、それは英国ロンドンのＡｌｔｉｏ  Ｌｉｍｉｔｅｄによるプレゼンテーションサーバなどのシステムによって可能である）。この単純な規則を適用することにより、実際にルーティングサーバは、正しいメッセージ２３を、しかも正しいメッセージだけを適切なクライアント２４へルーティングすることが可能なフィルタとして動作する。
【００１９】
この原理の別の拡張形態では、ルーティングサーバは連続するリアルタイムメッセージフィードを受信し、全てのメッセージをスロークライアントへ送信するのではなく、変化した情報の最新の値のみを送信することを選択できるようにそれらのフィードを管理することができる（例えば、スロー−モデムクライアントがある株式に関して最前の株価相場を受信してから、その株価が５回変化したとすると、ルーティングサーバは前の４つではなく、最新の株価のみを送信することを選択できる）。
【００２０】
ルーティングサーバは以下のリストに記載される規則のような数多くの種類の異なる規則を適用できるが、以下のリストは全ての規則を挙げているわけではない。
【００２１】
−ユーザ独自の識別子に基づいてメッセージをルーティングする−例えば、各ユーザのポートフォリオ情報はユーザ独自のものであるので、「ルーティングサーバ」はこの方法によりユーザごとのルーティングを支援できる。
【００２２】
−セキュリティ特権に基づいてメッセージをルーティングする−適切な規則を使用して、「ルーティングサーバ」は、メッセージが認可されたクライアントにのみ送信されるように強制できる（例えば、銀行があらゆる支店にその他の全ての支店の情報を送信するのではなく、各支店にその支店特有の情報を送信することだけを望んでいるような場合）。
【００２３】
−クライアント性能及びネットワーク性能に関する規則に基づいてメッセージをルーティングする−各クライアントの個別の性能、及びクライアントのネットワークの輻輳のレベルを使用して、クライアントへ送信される情報の量を制御することが可能であろう。
【００２４】
−サーバ性能に関する規則に基づいてルーティングする−「ウェブサービス」サーバのうちの１つ以上がオーバーロード状態になった場合、「ルーティングサーバ」は使用中のサーバへのアクセスを制限するために使用されうるであろう。
【００２５】
−「ルーティングサーバ」を用い、自身は数千のクライアントそれぞれとのインタラクションの管理を行うようにすることで、２０人のユーザを支援するように設計されたレガシーシステムを、数千人にもなりうるユーザを支援するように向上させることができる。「ルーティングサーバ」規則は、このレガシーシステムにユーザごとのカスタマイゼーション及びセキュリティを委託させることができる。
【００２６】
−入力メッセージの所定のコンテンツは、高価ではあるがセキュリティレベルの高いネットワークに迂回させる一方、他のコンテンツの一部又は全ては公衆通信回線を介して送信されるようにした規則を使用することが可能であろう。
【００２７】
−入力メッセージを送り出すにあたってメッセージの複数の部分を選択的に暗号化し且つ／又はデジタル署名し、メッセージのセキュリティに不当な影響を与えることなく暗号化プロセスのＣＰＵコストを低減するように、入力メッセージに規則を適用することが可能であろう。
【００２８】
−各クライアントにとってはメッセージの所定の部分しか解読することができないが、全てのクライアントに対して同じ暗号化メッセージを送信することができるブロードキャストネットワークに対してメッセージを送り出すにあたって、メッセージの複数の部分を複数のキーによって選択的に暗号化し且つ／又はデジタル署名するように、メッセージに規則を適用することが可能であろう。
【００２９】
−同じ又は他のウェブサービスから整合するコンテンツとして１つ以上の他のメッセージが受信されるまで、あるメッセージを保持するように規則を適用することが可能であろう。例えば、在庫管理システムと会計システムの双方から受信されるメッセージをグループ分けし、組み合わされた１対に基づいて単一のメッセージを送信することのみを望む場合が考えられるであろう。
【００３０】
先の例の場合と同様に、これらの規則は、本来、アドレスに基づいておらず、最終的にクライアントに到達するリアルタイム情報の種類をそのクライアントの要求及びアクセス権に厳密に適合させるべくビジネス情報をフィルタリングするよう作用する。これはアドレス利用ルーティングと比較した場合の主要な進展であり、ウェブサービスの大規模な発行及び呼び出しを可能にするメッセージルーティングについての全く異なる方式の提供である。
【００３１】
この新たな方式から数多くの利点が得られる：
・リアルタイムウェブサービス関連メッセージデータを何千／何万のユーザへルーティングできるが、帯域幅オーバーヘッドは最小限に抑えられる。
・発信元サーバ負荷が減少する。例えば、２０の端末をサービスするように設計されたレガシーメインフレームが何千ものクライアントへデータを送信することを可能にする（スケーラビリティはネットワーク内に配置されたルーティングサーバに由来する）。
・フォールトトレランスを提供でき、複数の並列ルーティングサーバを使用して、容易にスケーリング可能である。
・セキュリティを容易にする（許されるならば、ルーティングサーバを用いて強力な暗号化規則を適用することが可能である；ドメイン内でそれほど強力ではない暗号化が要求される場合には、そのドメインに関わるルーティングサーバはそれほど強力ではない暗号化規則を適用できる）。
・発信元サーバから遠く離れた場所にいるユーザは中央で（不正確に）委託されたビジネス情報データにさらされるのではなく、ユーザ独自のルーティング規則を決定できるため、ユーザはビジネス情報データを処理／操作する上でより多くのフレキシビリティを与えられる。実際、これにより、ビジネス情報データの「マスカスタマイゼーション」が生み出される。
・複数の情報源の間のアプリケーション統合が容易になる。
・クライアントにおいて起こっていることからウェブサービスプロバイダを完全に切り離すことができる；代わりに、プロバイダは、今日、「ファブレス」企業により半導体ＩＰが供給されているのと全く同じように、プロバイダのＩＰを供給することに集中できる。
【００３２】
本発明の実施形態は次のような特徴を含むことができるであろう：
・データの構造化メタ言語はＸＭＬ又はＸＭＬの変形である。
・ルーティングサーバにより操作される規則は絶えず更新可能である。
・規則は、ルーティングサーバへ送信されるメッセージごとに絶えず更新可能である。
・規則はルーティングサーバによりリアルタイムでメッセージに適用される。
・クライアントでの閲覧のためにレンダリングが必要な場合に、規則はリアルタイムにデータに適用さるため、データの更新は、クライアントが閲覧可能なもの全てではなく、クライアントが実際に見ているものに限定して行われることとなる。
・ソースからのメッセージはルーティングサーバにより解析され、ルーティングサーバでは、そのデータの１つのサブセットのみが１つのクライアントへルーティングされ、別のサブセットは異なるクライアントへルーティングされるように１つ以上の規則を適用する。
・ソースからのメッセージはルーティングサーバにより解析され、ルーティングサーバでは、そのデータの一部又は全てが別のソースからのメッセージと組み合わされ、次に、組み合わせられたメッセージがクライアントへルーティングされるように１つ以上の規則を適用する；異なるクライアントはメッセージの異なる組み合わせを受信することができる。
・スケーラビリティを与えるために、複数の並列ルーティングサーバが単一のソースからルーティングすることができる。
・複数の並列ルーティングサーバから成るグループのうちの１つのルーティングサーバが故障した場合には、そのグループの別のルーティングサーバが引き継ぐことができる。
・複数の直列に接続されたルーティングサーバがルーティングを実行できる。
・複数の直列に接続されたルーティングサーバがルーティングできる場合には、階層の上位にあるルーティングサーバは階層の更に下位にあるルーティングサーバにより適用される規則を認識する必要がない。
・クライアントは「シン（ｔｈｉｎ）」クライアントである；異なる帯域幅接続を有する異なるクライアントは全て効率良く情報を提供されることが可能であり、より低い帯域幅接続にあるクライアントはより高い帯域幅接続のクライアントに対してデータ速度を譲歩しない（発行／引用システムとは異なる）。デスクトップＰＣよりも計算パワーの劣るクライアントは、本発明の方式により、クライアントエンドから必要なデータを取り出すために必要な計算解析の負担を、通常はネットワーク自体の一部であるルーティングサーバへ移行させることができる。
・規則はＸＭＬに適用される問い合わせ（例えば、ｘＰａｔｈ）として構造化される。
・メッセージはインスタントメッセージングパーソナル通信である。
【００３３】
先に述べたように、本発明は、ウェブサービスに関連するデータをルーティングする場合に特に適用される。ウェブサービスは次に挙げる特徴のうちの１つ以上を有する：
−ウェブサービスは公衆通信回線又は専用通信回線を介してアクセス可能なメッセージに基づく情報サービスである（インターネット及びＬＡＮ／ＷＡＮなど）。
【００３４】
−ウェブサービスは遠隔要求メッセージを送信し、応答メッセージを処理することによりアクセス可能である。
【００３５】
−ウェブサービスは、発信元を隠蔽し、その代わりにメッセージを送り出すキューイングメカニズムを介してアクセス可能である。
【００３６】
−ウェブサービスはキューを介さない直接的なプロバイダであってもよく、その場合、ウェブサービスの消費者は当該プロバイダから情報を直接送られ、消費者とプロバイダは互いに明示的に認識されている。
【００３７】
−ウェブサービスは、ネットワークにおけるアクセス及び資源を制御する仲介システムにより先導されても良い。
【００３８】
−ウェブサービスは、１つ以上のウェブサービスにわたる多段トランザクションの保証を提供するトランザクション管理ミドルウェアを介して処理されても良い。
【００３９】
図３は、デトロイトに拠点を持つある１つの自動車メーカーのディーラー情報の配信に関する提案についての単純な規則を示している。このシステムの目的は、世界中の各地方のカーディーラーに自動車の価格、オプション、特別割引、プロモーション、地方の競合会社の価格設定などに関連する最新のデータを提供することである。ディーラーは何百にものぼると考えられ、各ディーラーはその地方市場に特有である大量のデータをアクセスする必要があるだろう。通常、これは、デトロイトに配置され、グローバルディーラーシップコミュニティを支えるリレーショナルデータベースを使用して実現されるであろう。しかし、すでに、この問い合わせ／応答モデルは極めて高いデータトラフィックボリュームを生成する可能性があることがわかっている；更に、おそらくは５０のダムターミナルをサービスするように設計されたレガシーメインフレームがそこで課されるデータ需要に対処するのが不可能であろうということは確実である。
【００４０】
図３に示すプレゼンテーションサーバの実施形態の場合、これらの問題は解決される。プレゼンテーションサーバ（ネットワーク中の任意の場所に配置される単一のサーバとして、又はネットワーク内に配分される複数の接続されたサーバとして配置されることが可能であろう）は、単一のデータストリームを主リレーショナルデータベース３１から発行させる；これは、ディーラーへ送信される必要がある全てのデータを完全に定義するＸＭＬタグ付きメッセージ３２のセットである；これは、効率の良い規則に基づくフィルタリングを適用させる複数のタグ付きフィールドを含む。プレゼンテーションサーバ３３は、国及び州に特有のデータのみがインターネットを介してディーラーへ送信されるように、入力ＸＭＬメッセージデータを単純にフィルタリングしなければならない（すなわち、カリフォルニアの米国ディーラーは、他のどの領域でもなく、カリフォルニアに関連する自動車の価格設定、オプション、競合会社の価格設定などにのみ関連するリアルタイムデータを絶えず手に入れるべき状況にある）。プレゼンテーションサーバは２つの単純な段階を経てこれを実行できる；第１のレベル３４では、ＸＭＬに埋め込まれている国タグに従ってフィルタリングすることができる−例えば、全ての価格設定データは、それに関連して、関連する国（例えば、合衆国、英国など）を指定する国コードタグを有する。入力ＸＭＬメッセージはアンパックされ、すなわち、受信先が関心を持っているデータがデータエンベロープから引き剥がされ、次に、第１のレベルのルーティングサーバ３４により問い合わせがなされることで、合衆国関連データ（価格設定を含む全てのカテゴリ）がフィルタリングされ、合衆国特有データストリーム３５Ａが構成されたり、英国データがフィルタリングされ、英国特有データストリーム３５Ｂが構成されたりする。その後、第２のレベルのルーティングサーバ３６が必要に応じて更に地理的詳細を追加するが、合衆国においては、州特有のプロモーションなどが考えられるであろう。従って、第２のレベルのルータ３６はカリフォルニアなどに特有のプロモーション及び他の変数を問い合わせる。次に、カリフォルニアの全てのディーラーに特有のＸＭＬに基づくメッセージ３７を構成（又は再パッケージング）し、それらの再パッケージングされたメッセージ３８を出力する。これはインターネット３９を介してカリフォルニア地域本社へ送信される。この本社は独自のルーティングサーバを持つことができ、それらのルーティングサーバはそのオフィスで判定された規則を適用できる−例えば、入力ＸＭＬメッセージは、地域本社がまだディーラー４１へ公表できない機密の新発売モデルデータを含んでいても良い。また、データがディーラーによりアクセス可能になることを防止する規則を適用することも可能である。地方のディーラーは、カリフォルニア地域本社でホスティングされているプレゼンテーションサーバをアクセスすることにより、デトロイトの親会社から他の全てのデータを直接にアクセスできる。このデータを州レベルで有用な他の情報（例えば、カリフォルニアのニュース及び交通警報）と統合することを選択しても良い。
【００４１】
この方式は全体として、先に一般的用語で定義されていた数多くの特有の利点をもたらす。例えば：
・帯域幅オーバーヘッドを最小限に抑える
・発信元サーバ負荷を減少させる
・容易にスケーリング可能である
・セキュリティを容易にする
・発信元サーバから遠く離れた場所にいるユーザにビジネス情報データを処理／操作する上でより多くのフレキシビリティを与える
・複数の情報源にまたがるアプリケーション統合を容易にする
次に、ネットワークを介して情報がいかにしてルーティングされるかを判定するために問い合わせ動作がどのようにして起こるか及びそれが既存の方式とは異なる方式においてどのように使用できるかを検討する。
【００４２】
上記の例では、ルーティングと関連する規則は、ユーザに（又は最終宛先装置に）結び付けられた情報をネットワークを介して送信された情報に何らかの形で関連付けることにより判定することとした。これとは別の例としては、株式相場をＸＭＬドキュメントに保持し、新たな相場が利用可能になったときに送信するものがある。ユーザ並びにそれと関連する規則及び負担に対して別個のＸＭＬデータセットが維持される。新たな情報が利用可能になったとき（新たな株式相場など）、その情報は相場アプリケーションからルーティングサーバへ送信される。ルーティングサーバは相場内の情報をルーティングサーバ内部にローカルに設けられたデータベースに保持されている別の情報と比較して、その情報の宛先又はセキュリティアクセスを判定する。例えば、Ａｍａｚｏｎ．Ｃｏｍ（登録商標）の相場が現在接続されているユーザのリストと比較され、それらのユーザのうちの誰がその相場と関連する情報を受信することを希望しているか及び／又は誰が情報を受信することを許可されるべきかが判定される場合が考えられる。
【００４３】
ニュースの例では、Ａｍａｚｏｎ．ｃｏｍに関するニュースが同様に類似の規則のセットと比較されるが、この場合、プレミアムユーザのみがニュース情報を見ることができるという追加の制約条件があるという点が異なる。従って、ユーザとセキュリティ特権を合体させるために、それら２つが一致し、成功したときに限り情報がルーティングされるように、ルーティングアプリケーション内部にローカルに保持されている情報に対して問い合わせを実行することにより、二重の検査が実行される。
【００４４】
データの正しい配信を可能にするために、ネットワーク内のルーティングアプリケーションがルーティングアプリケーション内にローカルに保持されている情報に対してルックアップ又は問い合わせを実行し、データをどこへルーティングすべきかを判定するために、その情報をネットワークを介して送信されているデータと比較することとした。
【００４５】
データの「オンザフライ」ルーティングを実行するためには、それらのルーティングアプリケーション自体をオンザフライで最新の状態に保持するための手段を有していることが必要である。相当に安定している企業の中で接続されているユーザのリストのように、相対的に静的なデータの場合には、ルーティングアプリケーションが事前に定義された規則セットによって単純に初期化され、装置が動作している間にそれらの規則を解決するために必要な情報をルックアップすることが可能である。これは最も基本的な例であり、アプリケーションを上述のように動作させることが可能であろう。
【００４６】
しかし、比較されるべき情報（又はこの情報の分配を判定するために使用されるべき規則）が頻繁に変化するか、あるいは製品又はアプリケーションの実行中に変化する可能性がある場合には、規則を追加、変更又は削除するため、それらの規則と関連する情報（すなわち、ルックアップテーブル又はルックアップ情報）をリアルタイムで維持し及びネットワークが同様にオンザフライでこの情報をネットワーク内に分配できるようにすべく、ルーティングアプリケーションをオンザフライで更新すること（すなわち、修正をルーティングサーバが格納し、処理すること）が必要である。これはルーティングサーバを正しく、完全に機能的に動作させるためには不可欠である。
【００４７】
ルーティングサーバの次の例は先の例を更に１段階進めて、情報の保証済み又は検証可能更新を実行するものであるが、これは、後続する情報に対して適用されるべき規則が既に適用可能な状態にあり、次の情報が送信されたならば、直ちに正しく適用されるであろうということを確証する機能である。
【００４８】
例えば、ユーザがプレミアム加入をキャンセルすることを決定した場合を想定する。このユーザに対しては、ネットワークを介して以後に送信されるニュース項目が送信されなくなることを確認することができるようにしなければならない。同様に、ルーティングテーブルに新たなユーザを追加する場合にも、情報をユーザに配信することが可能でなければならない。ルーティングアプリケーションに対してその情報が利用可能になったならば、直ちに、ルーティングアプリケーションを再起動する必要なくオンザフライでそれを更新することが可能でなければならない。次の情報を送信する前に、ルーティングトランザクション及びルーティングアプリケーションが正しく更新されたことを検証できなければならないばかりでなく、最低でも、ネットワーク中のルータが更新されたことを検証するためのメカニズムを有しているべきである。これは、ネットワーク内の全ての情報が首尾一貫しており、正しい規則に従っていることを保証する。ここでは、規則及び情報が常時首尾一貫している状態でネットワークの全体状態を維持することが意図されている。
【００４９】
ネットワークが情報を合体させ、保護し、分配するための構成を有するならば、それは本質的にはエンドユーザに表示される前の情報についての優れた処理装置であるに等しい。時間内に任意点でネットワークのかかる状態を有効にすべく適所にかかる構成を有することが不可欠である。
【００５０】
別の例においては、クラスタ型ノード又はクラスタ型ルータの問題及びそれらがどのように動作するかについて説明する。
【００５１】
まず、ネットワーク中の全てのルーティングアプリケーションは同一の規則セット及びそれらの規則と関連するルックアップ情報を含んでおり、且つ情報の正しい配信を保証するように個別に動作することが意図されている。これにより、情報がネットワークを介して首尾良く送信されるよう繰り返してルックアップが行われるとともに、何らかの諸経費が導入されることとなるが、この方式の単純さと信頼性はアプリケーションに対して適切である。
【００５２】
利点は、それらのルーティングアプリケーションのうちのいずれか１つが故障した場合でも、このアプリケーションに加入することを希望するユーザアプリケーションが、それに代わる有効かつ動作中のルーティングアプリケーションに簡単に再加入することができ、従って、有効にユーザアプリケーションの再ルーティングができ、ネットワーク内の著しい消耗を克服することで、信頼性と安定性を増すことにある。
【００５３】
同様に、相当に単純な方式を採用することにより、ネットワーク全体を通して異なる規則を判定するという複雑さを伴わずに、極めてスケーラビリティの高いシステムを構築することが可能である。
【００５４】
クラスタ型アプリケーションのもう１つの例は、ルータが異なる規則をサポートし、その情報がネットワークを進むにつれて、情報の半分とそれがエンドユーザまで送信される際の経路とが首尾良く判定されるような場合であろう。
【００５５】
これは、適用されるべき規則がユーザ名及び加入率などのグローバル基準によって判定されるばかりでなく、それに加えて、物理的場所又はユーザが接続している元である装置によってローカルに判定されても良いような場合に重要であろう。言い換えれば、株式相場を携帯電話へ送信するのは妥当であろうが、長いニュース記事は妥当ではないであろう。従って、この場合には、画面が小さく、帯域幅が狭い電話装置を介して接続されているならば、それらのメッセージが電話に到達するのを防止するか又は可能であればその情報のサブセットを電話へ送信させるように、ネットワークを介して情報を構成することが可能であっても良いであろう。一例は、ニュース記事の見出しを電話へ送信するが、記事のコンテンツ全体が送信されるのは阻止されるような場合であろう。
【００５６】
同様に、企業のローカルエリアネットワークの中で、全ての情報を送信させるが、外部装置から接続される場合には情報が制限されても良いという規則を組み込むことが考えられる。そのため、企業内にいるユーザのみが情報にアクセスでき、企業の外からは、セキュリティ制限によって、あるいはおそらくは帯域幅の制限又は検索能力などの他の理由によって、その情報の一部しか利用できない。
【００５７】
その他の例は次の通りである：
−大量のコンテンツを、信頼性の高い専用通信回線を介して多数のクライアントへ配信するために使用されるメッセージブロードキャストネットワークに対して知的に送信するために、「データルーティング」を使用できる（例えば、単に集積回路設計会社に関するＮＡＳＤＡＱ（登録商標）株式相場の同じサブセットを全てのクライアントへ配信するために、確立されたブロードキャストメカニズムを使用しても良いであろう）。
【００５８】
−別の例は、マスブロードキャスト情報に加えて１つ以上のクライアントに対して独自コンテンツを検索するように１つ以上のクライアントからサーバへ追加アドホック接続を可能にするためにこれを拡張するような場合である（例えば、先に送信された株式相場に加えて、クライアントごとのポートフォリオ情報を各クライアントへ送信しても良いであろう）。
【００５９】
−更に別の例は、新たな／更新済み情報をストリーム／プッシュするためにクライアントへの別個のフルタイム接続を維持するような場合である（例えば、ポートフォリオにおける何らかの株式に関する売り注文が満たされたことの通知）。クライアントは、クライアントごとに締結される別個のフルタイム接続ではなく、定期的に又はアドホック方式でサーバとの接続を確立するためにポーリングすることが可能であろう。
【図面の簡単な説明】
【００６０】
【図１】本発明に従ったメッセージルーティングシステムの全体のシステムアーキテクチャの概略図である。
【図２】本発明に従ったメッセージルーティングシステムの全体のシステムアーキテクチャの概略図である。
【図３】本発明に従ったメッセージルーティングシステムの全体のシステムアーキテクチャの概略図である。
【図１】
2005512398.tif 000003
【図２】
2005512398.tif 000004
【図３】
2005512398.tif 000005
【手続補正書】
【提出日】平成15年10月10日(2003.10.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
構造化メタ言語に準拠するデータを、ネットワークを介してソースから１つ以上のクライアントにルーティングするにあたり、サーバによって該データにアドレスが付加されなくとも、該データに１つ以上の規則が適用されることによって該ルーティングが実行され、該データの正確なルーティングを実現させる方法であって、
前記データを生成するために１つ以上のメッセージがアンパックされ、前記ルーティングサーバは（ａ）該アンパックされたデータ又は該アンパックされたデータの１つ以上のサブセットに対して前記各規則を適用し、（ｂ）該データ又は該データサブセットの一部又は全てを使用して１つ以上のメッセージを構築することを特徴とする方法。
【請求項２】
前記構造化メタ言語はＸＭＬであることを特徴とする請求項１記載の方法。
【請求項３】
前記サーバことを特徴とする請求項１記載の方法。
【請求項４】
前記各規則は、前記サーバが１つ以上のメッセージ、又は１つ以上のメッセージの１つ以上のサブセットを受信し且つ処理することによって、絶えず更新可能であることを特徴とする請求項３記載の方法。
【請求項５】
前記各規則は前記サーバによりリアルタイムで前記データに適用されることを特徴とする請求項４記載の方法。
【請求項６】
クライアントでの閲覧のためにレンダリングが必要な場合に、前記各規則は前記サーバによってリアルタイムに前記データに適用されるため、データの更新は、クライアントが閲覧可能なもの全てではなく、クライアントが実際に見ているものに限定して行われることを特徴とする請求項５記載の方法。
【請求項７】
前記アンパックされたデータは前記ルーティングサーバにより解析され、該ルーティングサーバでは、（ａ）該データの１つのサブセットのみが１つ以上のメッセージにパッケージングされた後、クライアントへルーティングされ、且つ（ｂ）該データの別のサブセットが１つ以上のメッセージにパッケージングされた後、異なるクライアントへルーティングされるように前記各規則を適用することを特徴とする請求項１記載の方法。
【請求項８】
前記アンパックされたデータは前記サーバにより解析され、該サーバでは、該データの一部又は全てと、異なるソースからのデータとが組み合わされて、１つ以上のメッセージが形成された後、該組み合わせデータがクライアントへルーティングされるように前記各規則を適用することを特徴とする請求項１記載の方法。
【請求項９】
スケーラビリティを与えるために、複数の並列サーバが単一のソースからルーティングできることを特徴とする請求項１記載の方法。
【請求項１０】
複数の並列サーバからなるグループのうちの１つのサーバが故障した場合には、該グループの別のサーバが引き継ぐことが可能であることを特徴とする請求項９記載の方法。
【請求項１１】
複数の直列に接続されたサーバによってルーティングが実行可能であることを特徴とする請求項１記載の方法。
【請求項１２】
直列接続の階層のより上位にあるサーバは、階層の更に下位のサーバにより適用される前記各規則を認識する必要がないことを特徴とする請求項１１記載の方法。
【請求項１３】
前記各規則は、
（ａ）ユーザ独自の識別子に基づいてデータをルーティングする；
（ｂ）セキュリティ特権に基づいてデータをルーティングする；
（ｃ）クライアント性能及びネットワーク性能に関する規則に基づいてデータをルーティングする；
（ｄ）データを供給するサーバのうちの１つ以上がオーバーロード状態になった場合、該使用中のサーバへのアクセスを制限するために前記ルーティングサーバが使用されるよう、データを供給しているサーバの性能に関する規則に基づいてデータをルーティングする；
（ｅ）ユーザごとのカスタマイゼーション及びレガシーサーバにより委託されるセキュリティ規則に基づいてデータをルーティングする；
（ｆ）入力メッセージのあるコンテンツは、高価ではあるがセキュリティの面で極めて優れているネットワークに迂回させる一方、他のコンテンツの一部又は全ては公衆の通信回線を介して送信されるようにした規則に従ってデータをルーティングする；
（ｇ）メッセージを送り出すにあたってメッセージの複数の部分を選択的に暗号化し且つ／又はデジタル署名を付し、メッセージのセキュリティに不当な影響を与えることなく暗号化プロセスのＣＰＵコストを低減して、データをルーティングする；
（ｈ）各クライアントにとってはメッセージの所定の部分しか解読することができないが、全てのクライアントに対して同じ暗号化メッセージを送信できるブロードキャストネットワークに対してメッセージを送り出すにあたって、メッセージの複数の部分を複数のキーによって選択的に暗号化し且つ／又はデジタル署名を付すことにより、データをルーティングする；
（ｉ）整合するコンテンツをもって１つ以上の他のメッセージが受信されるまで、ある１つのメッセージを保持することにより、データをルーティングする、
という規則群から選択されたメンバであることを特徴とする請求項１記載の方法。
【請求項１４】
前記各規則は、データを前記サーバ内に局所的に保持されているデータと比較するＸクエリー（Xqueries）として構造化されていることを特徴とする請求項２記載の方法。
【請求項１５】
前記データは、インスタントメッセージングパーソナル通信であることを特徴とする請求項１記載の方法。
【請求項１６】
前記データは、ウェブサービス関連データであることを特徴とする請求項１記載の方法。
【請求項１７】
構造化メタ言語に準拠するデータを、ネットワークを介してソースから１つ以上のクライアントにルーティングするようにプログラムされ、該データにアドレスを付加せずに、該データに１つ以上の規則を適用することで該データの正確なルーティングを実現する装置であって、
（ａ）前記データを生成するために１つ以上のメッセージをアンパックし、（ｂ）該アンパックされたデータ又は該アンパックされたデータの１つ以上のサブセットに対して前記各規則を適用し、次に、該データ又は該データサブセットの一部又は全てを使用して１つ以上のメッセージを構成することを特徴とする装置。
【請求項１８】
前記各規則は絶えず更新可能であることを特徴とする請求項１７記載の装置。
【請求項１９】
前記各規則は、前記装置が格納し処理する１つ以上のメッセージ、又は１つ以上のメッセージの１つ以上のサブセットにより絶えず更新可能であることを特徴とする請求項１８記載の装置。
【請求項２０】
前記各規則を前記データにリアルタイムで適用することを特徴とする請求項１９記載の装置。
【請求項２１】
クライアントでの閲覧のためにレンダリングが必要な場合に、前記各規則はリアルタイムに前記データに適用されるため、データの更新は、クライアントが閲覧可能なもの全てではなく、クライアントが実際に見ているものに限定して行われることを特徴とする請求項１７記載の装置。
【請求項２２】
前記アンパックされたデータを解析し、次に、（ａ）該データの１つのサブセットのみが１つ以上のメッセージにパッケージングされた後、クライアントへルーティングされ、且つ（ｂ）該データの別のサブセットが１つ以上のメッセージにパッケージングされた後、異なるクライアントへルーティングされるように前記各規則を適用することを特徴とする請求項１７記載の装置。
【請求項２３】
前記アンパックされたデータを解析し、次に、該データの一部又は全てが異なるソースからのデータと組み合わされて１つ以上のメッセージが形成された後、該組み合わされたデータがクライアントへルーティングされるように前記各規則を適用することを特徴とする請求項１７記載の装置。
【請求項２４】
スケーラビリティを与えるために、単一のソースからルーティングできる複数の並列サーバとして編成されていることを特徴とする請求項１７記載の装置。
【請求項２５】
複数の並列サーバからなるグループのうちの１つのサーバが故障した場合には、該グループの別のサーバが引き継ぐことが可能であることを特徴とする請求項２４記載の装置。
【請求項２６】
ルーティングを実行するために複数の直列接続サーバとして編成されていることを特徴とする請求項１７記載の装置。
【請求項２７】
直列接続の階層のより上位にあるサーバは、階層の更に下位にあるサーバにより適用される前記各規則を認識する必要がないことを特徴とする請求項２６記載の装置。
【請求項２８】
前記各規則は、
（ａ）ユーザ独自の識別子に基づいてデータをルーティングする；
（ｂ）セキュリティ特権に基づいてデータをルーティングする；
（ｃ）クライアント性能及びネットワーク性能に関する規則に基づいてデータをルーティングする；
（ｄ）データを供給するサーバのうちの１つ以上がオーバーロード状態になった場合、該使用中のサーバへのアクセスを制限するために前記ルーティングサーバが使用されるよう、データを供給しているサーバの性能に関する規則に基づいてデータをルーティングする；
（ｅ）ユーザごとのカスタマイゼーション及びレガシーサーバにより委託されるセキュリティ規則に基づいてデータをルーティングする；
（ｆ）入力メッセージのあるコンテンツは、高価ではあるがセキュリティの面で極めて優れているネットワークに迂回させる一方、他のコンテンツの一部又は全ては公衆の通信回線を介して送信されるようにした規則に従ってデータをルーティングする；
（ｇ）メッセージを送り出すにあたってメッセージの複数の部分を選択的に暗号化し且つ／又はデジタル署名を付し、メッセージのセキュリティに不当な影響を与えることなく暗号化プロセスのＣＰＵコストを低減して、データをルーティングする；
（ｈ）各クライアントにとってはメッセージの所定の部分しか解読することができないが、全てのクライアントに対して同じ暗号化メッセージを送信できるブロードキャストネットワークに対してメッセージを送り出すにあたって、メッセージの複数の部分を複数のキーによって選択的に暗号化し且つ／又はデジタル署名を付すことにより、データをルーティングする；
（ｉ）整合するコンテンツをもって１つ以上の他のメッセージが受信されるまで、ある１つのメッセージを保持することにより、データをルーティングする、
という規則群から選択されたメンバであることを特徴とする請求項１７記載の装置。
【請求項２９】
前記各規則は、データを前記装置内に局所的に保持されているデータと比較するＸクエリー（Xqueries）として構造化されていることを特徴とする請求項１７記載の装置。
【請求項３０】
請求項１記載のルーティングする方法を使用してルーティングされるメッセージであって、該メッセージは、前記ルーティングサーバで受信される１つ以上のメッセージからアンパックされたデータにより構成され、前記ルーティングサーバが、前記アンパックされたデータ又は前記アンパックされたデータの１つ以上のサブセットに、アドレスを付加せずに、規則を適用したことを特徴とするメッセージ。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
本発明の第１の面においては、構造化メタ言語に準拠するデータを、ネットワークを介してソースから１つ以上のクライアントにルーティングするにあたり、サーバによって該データにアドレスが付加されなくとも、該データに１つ以上の規則が適用されることによって該ルーティングが実行され、該データの正確なルーティングを実現させる方法であって、
前記データを生成するために１つ以上のメッセージがアンパックされ、前記ルーティングサーバは（ａ）該アンパックされたデータ又は該アンパックされたデータの１つ以上のサブセットに対して前記各規則を適用し、（ｂ）該データ又は該データサブセットの一部又は全てを使用して１つ以上のメッセージを構成することを特徴とする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
規則が適用されるデータは単一の完全なメッセージのコンテンツ（すなわち、最終受信先が関心を持つ情報）を形成し、当該データは、１つのメッセージ全体、あるいは１つのメッセージの一部、いくつかのメッセージの各部分、又はいくつかのメッセージの集合体から抽出される。従って、全てのメッセージを完全な形で維持する従来の技術のルーティング方式とは異なり、ルーティングサーバから出力されるデータはルーティングサーバに入力されたときのメッセージの中のデータと同一である必要はない。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
第２の面においては、構造化メタ言語に準拠するデータを、ネットワークを介してソースから１つ以上のクライアントにルーティングするようにプログラムされ、該データにアドレスを付加せずに、該データに１つ以上の規則を適用することで該データの正確なルーティングを実現する装置であって、
（ａ）前記データを生成するために１つ以上のメッセージをアンパックし、（ｂ）該アンパックされたデータ又は該アンパックされたデータの１つ以上のサブセットに対して前記各規則を適用し、次に、該データ又は該データサブセットの一部又は全てを使用して１つ以上のメッセージを構成することを特徴とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
第３の面においては、先に定義されたようなルーティングの方法を使用してルーティングされるメッセージである。


【国際調査報告】
2005512398.tif 000006
2005512398.tif 000007
2005512398.tif 000008
2005512398.tif 000009
2005512398.tif 000010