| 【発明の名称】 |
コンテンツインタポレーティングウェブプロキシサーバ |
| 【発明者】 |
【氏名】マイケル ケネス ブラウン
【氏名】ビーイング ハワング ジュアング
|
| 【要約】 |
【課題】本発明は、ウェブプロキシサーバの所有または制御をする必要なく、効率的に異なるクライアントをサポートするために、ウェブコンテンツをインタポレートすることができる改良されたウェブプロキシサーバを提供することを目的とする。
【解決手段】コンテンツインタポレーティングウェブプロキシサーバは、クライアント機器によって生成されるクライアント要求を処理することによりクライアント機器に関連する特定のクライアントタイプを決定し、クライアント要求において識別されるウェブコンテンツを検索し、ウェブコンテンツと特定のクライアントタイプとに関連する1つまたは複数のオーグメンテーションファイルを検索し、1つまたは複数のオーグメンテーションファイルに従って検索されたウェブコンテンツを変更する。そして、変更されたウェブコンテンツは、クライアント機器に配信される。 |
【特許請求の範囲】
【請求項1】 コンピュータネットワークで使用される装置であって、クライアント機器によって生成されるクライアント要求を処理することにより前記クライアント機器に関連する特定のクライアントタイプを決定し、前記クライアント要求において識別されるウェブコンテンツを検索し、該ウェブコンテンツと前記特定のクライアントタイプとの少なくとも1つに関連する1つまたは複数のオーグメンテーションファイルを検索し、該1つまたは複数のオーグメンテーションファイルに従って前記検索されたウェブコンテンツを変更するよう動作可能な、前記ネットワーク内の少なくとも1つのサーバを具備し、該変更されたウェブコンテンツは、前記クライアント機器に配信される装置。 【請求項2】 前記クライアント機器は、コンピュータ、携帯情報端末、携帯電話および音声ブラウザ付機器のうちの少なくとも1つからなる請求項1記載の装置。 【請求項3】 前記ウェブコンテンツは、少なくとも部分的に、HTMLフォーマットおよびXMLフォーマットの少なくとも1つである請求項1記載の装置。 【請求項4】 前記オーグメンテーションファイルの1つまたは複数は、前記サーバから遠隔のサイトにおいて前記ウェブコンテンツと同じ場所に配置される請求項1記載の装置。 【請求項5】 前記オーグメンテーションファイルの少なくとも1つは、パッチファイルからなる請求項1記載の装置。 【請求項6】 前記サーバは、前記クライアントに関連する機器と前記クライアント要求において識別される前記ウェブコンテンツを提供する他のサーバとの間に構成されるインタポレーティングウェブプロキシサーバからなる請求項1記載の装置。 【請求項7】 前記サーバは、HTTPヘッダ要素、クライアント識別クッキーおよびHTTP GET要求QUERY_STRING属性のうちの少なくとも1つを使用して前記クライアントタイプを決定する請求項1記載の装置。 【請求項8】 前記サーバは、前記検索されたウェブコンテンツを1つまたは複数のコンポーネント構造に分析し、後にパターンマッチングプロセスを適用することにより、1つまたは複数のオーグメンテーションファイルに従って変更される指定されたコンポーネント構造を認識する請求項1記載の装置。 【請求項9】 前記パターンマッチングプロセスは、コンテキスト、パターン、手続きおよび置換の要素を含むパターンマッチング表現を利用する請求項8記載の装置。 【請求項10】 前記コンテキスト要素は、各々が前記対応するパターンの検出時に実現されるオーグメンテーションファイルのうちの1つから特定の置換を指定する、フォームパターン、すなわち置換の1つまたは複数の命令を含む構造スコープ制約表現を含む請求項9記載の装置。 【請求項11】 前記手続き要素は、前記コンテキスト要素に関連する前記命令の適用の順序を指定する請求項9記載の装置。 【請求項12】 前記受信されたクライアント要求は、複数の異なるクライアント機器に関連付けられ、前記検索されたオーグメンテーションファイルは、複数の異なるクライアント機器の各々に対する1つまたは複数のオーグメンテーションファイルを含む請求項1記載の装置。 【請求項13】 前記クライアント機器は、複数の別個の物理的クライアント機器によって提供される複数の異なる特徴のセットの組合せを有する仮想クライアント機器を含む請求項1記載の装置。 【請求項14】 前記サーバは、前記クライアント要求を、該要求が、複数の別個の物理的クライアント機器によって提供される複数の異なる特徴のセットの組合せを有する仮想クライアント機器から発生するように見えるように、処理する請求項1記載の装置。 【請求項15】 前記オーグメンテーションファイルの少なくとも1つは、前記少なくとも1つのサーバの外部の他のウェブサーバから検索可能であり、前記ウェブコンテンツの少なくとも一部が関連付けられた、外部検索可能なオーグメンテーションファイルからなる請求項1記載の装置。 【請求項16】 前記オーグメンテーションファイルの少なくとも1つは、前記少なくとも1つのウェブサーバに格納されるデフォルトのオーグメンテーションファイルからなる請求項1記載の装置。 【請求項17】 前記サーバは、1つまたは複数のデフォルトオーグメンテーションファイルのセットにアクセスすることができ、対応するクライアント要求に対して外部検索可能なオーグメンテーションファイルが関連付けられていないと判断された場合に、前記検索されたウェブコンテンツを変更するために使用される前記デフォルトオーグメンテーションファイルの所定の1つを検索するよう試みるように動作可能である請求項1記載の装置。 【請求項18】 コンピュータネットワークで使用される方法であって、クライアント機器によって生成されるクライアント要求を処理することにより、該クライアント機器に関連する特定のクライアントタイプを決定するステップと、前記クライアント要求において識別されるウェブコンテンツを検索するステップと、該ウェブコンテンツと前記特定のクライアントタイプとに関連する1つまたは複数のオーグメンテーションファイルを検索するステップと、該1つまたは複数のオーグメンテーションファイルに従って前記検索されたウェブコンテンツを変更するステップと、を含み、該変更されたウェブコンテンツを前記クライアント機器に配信する方法。 【請求項19】 コンピュータネットワークで使用される1つまたは複数のプログラムを格納する機械読取り可能媒体であって、該1つまたは複数のプログラムが、処理システムによって実行されるときに、クライアント機器によって生成されたクライアント要求を処理することにより、該クライアント機器に関連する特定のクライアントタイプを決定するステップと、該クライアント要求において識別されるウェブコンテンツを検索するステップと、該ウェブコンテンツと前記特定のクライアントタイプとに関連する1つまたは複数のオーグメンテーションファイルを検索するステップと、前記1つまたは複数のオーグメンテーションファイルに従って前記検索されたウェブコンテンツを変更するステップと、を実行し、該変更されたウェブコンテンツを前記クライアント機器に配信する、機械読取り可能媒体。 【請求項20】 処理システムであって、ウェブコンテンツを格納するよう動作可能なウェブサーバと、少なくとも一時的に該ウェブサーバに連結され、クライアント機器によって生成されたクライアント要求を処理することにより該クライアント機器に関連する特定のクライアントタイプを決定し、前記クライアント要求において識別され前記ウェブサーバに格納されるウェブコンテンツを検索し、該ウェブコンテンツと前記特定のクライアントタイプとに関連する1つまたは複数のオーグメンテーションファイルを検索し、該1つまたは複数のオーグメンテーションファイルに従って該検索されたウェブコンテンツを変更するよう動作可能なインタポレーティングプロキシサーバと、を具備し、前記変更されたウェブコンテンツは前記クライアント機器に配信される処理システム。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】本発明は、概してインタネットおよび他のコンピュータネットワークに関し、特にプロキシサーバを介してかかるネットワークで情報を通信する技術に関する。 【0002】 【従来の技術】従来からのウェブプロキシサーバは、ウェブページまたは他のタイプのウェブコンテンツを、インタネットまたは他のコンピュータネットワークで配信するために変換するよう構成される場合がある。たとえば、目下、適当に設計されたフィルタリングメカニズムのアプリケーションによってウェブコンテンツを変換する製品として、多数のいわゆるトランスコーディングウェブプロキシサーバがある。 【0003】 【発明が解決しようとする課題】かかるトランスコーディングウェブプロキシサーバの1つに、ニュー・ジャージー州、マレーヒルのルーセント・テクノロジーズ社(Lucent Technologies)からのNetBlitzプロキシサーバがある。NetBlitzサーバについては、引用をもってその開示内容がすべて本明細書内に包含されたものとする、たとえばS.Acharya、H.F.KorthおよびV.Poosalaによる「Systematic Multiresolution and its Application to the World Wide Web」(Proc. Intl Conf. on Data Engineering, Sydney, Australia, March 1999)において詳細に述べられている。NetBlitzサーバは、ネットワークを介してより高速なコンテンツの伝送を可能にするために、コンテンツを圧縮するよう設計されている。しかしながら、NetBlitzソリューションは、本来データ圧縮に焦点が当てられており、一般に、情報コンテンツを削除、編集または他の状態に変更はしない。 【0004】他の周知のウェブプロキシサーバは、http://www.spyglass.com/solutions/technologies/prismに述べられているSpyglass Prismプロキシサーバである。このサーバは、ウェブページの構造を表すためのドキュメントオブジェクトモデル(Document Object model(DOM))と、抽出され変更されるウェブコンテンツを記述するためのテンプレートと、を使用する。Spyglass Prismアプローチの重大な欠点は、DOMおよびテンプレートがプロキシサーバ自体に常駐する、ということである。これにより、コンテンツプロバイダが、テンプレートをウェブコンテンツの変化に同期させるためにプロキシサーバを所有しまたは制御することが必要になる。更に、DOMおよびテンプレートフォーマットは非常に複雑であるため、一般的には、特別に訓練された人員しかプロキシカスタマのためにこれらモジュールを作成することはできない。 【0005】したがって、コンテンツプロバイダがウェブプロキシサーバの所有または制御をする必要なく、効率的に種々の異なるクライアントをサポートするためにウェブコンテンツをインタポレート(interpolate)することができる、改良されたウェブプロキシサーバが必要であることは明らかである。 【0006】 【課題を解決するための手段】本発明は、ウェブページまたは他のウェブコンテンツを、インタネットまたは他のコンピュータネットワークで配信するために処理する際に使用される、コンテンツインタポレーティングウェブプロキシサーバを提供する。本発明の1つの態様によれば、コンテンツインタポレーティングウェブプロキシサーバは、コンピュータネットワークにおいて、たとえばコンピュータ、携帯情報端末(personal digital assistant(PDA))、携帯電話および音声ブラウザ等の特定のクライアント機器での提示に適したフォーマットとなるように、検索されたウェブコンテンツを処理するよう構成されている。 【0007】動作時、プロキシサーバは、クライアント機器によって生成されるクライアント要求を処理することによりクライアント機器に関連する特定のクライアントタイプを決定し、クライアント要求において識別されるウェブコンテンツを検索し、ウェブコンテンツおよび特定のクライアントタイプに関連する1つまたは複数のオーグメンテーション(augmentation)ファイルを検索し、1つまたは複数のオーグメンテーションファイルに従って検索したウェブコンテンツを変更する。そして、変更されたウェブコンテンツは、クライアント機器に配信される。有利には、1つまたは複数のオーグメンテーションファイルは、プロキシサーバから遠隔のサイトでウェブコンテンツと同じ場所に配置されてよく、それによってコンテンツ所有者が、プロキシサーバを所有、維持および他の方法で制御する必要がなくなる。 【0008】本発明の他の態様によれば、プロキシサーバは、まずウェブコンテンツを1つまたは複数のコンポーネント構造に解析し、次いで、パターンマッチングプロセスを適用することにより、1つまたは複数のオーグメンテーションファイルに従って変更される指定されたコンポーネント構造を認識する。例示的な実施の形態のパターンマッチングプロセスは、コンテキスト、パターン、手続きおよび置換の要素を含むパターンマッチング表現を利用してよい。コンテキスト要素は、各々が、対応するパターンの検出時に実現されるオーグメンテーションファイルのうちの1つから特定の置換を指定する、フォームパターンすなわち置換の1つまたは複数の命令、を含む、構造スコープ(有効範囲)制約表現であってよい。手続き要素は、コンテキスト要素に関連する命令の適用の順序を指定する。 【0009】本発明の他の態様によれば、インタポレーティングプロキシサーバによって受信される所定のクライアント要求は、多数の異なるクライアント機器に関連付けられてよく、検索されたオーグメンテーションファイルは、異なるクライアント機器の各々に対して1つまたは複数のオーグメンテーションファイルを含んでよい。 【0010】有利には、本発明によるコンテンツインタポレーティングウェブプロキシサーバは、クライアントタイプに基づいてウェブコンテンツの複数の解釈を提供するよう構成することができる。更に、本発明は、インタポレーティングプロキシサーバプラットフォームからインタポレーションスクリプトの制御を分離することにより、コンテンツプロバイダが、コンテンツのすべての面を完全に制御する一方でインタポレーティングプロキシサーバ自体を制御する必要がないようにする。これにより、プロキシサーバを、たとえばインタネットサービスプロバイダ(ISP)によって提供され複数のコンテンツプロバイダによって同時に利用可能である汎用サービスとして等、遠隔に配置することができる。更に、コンテンツインタポレーティングウェブプロキシサーバは、他のタイプのウェブコンテンツと同様に、ハイパーテキストマークアップ言語(HTML)およびエクステンシブルマークアップ言語(Extensible Mark-up Language(XML))ドキュメントに存在する意味情報をよりよく利用する。更に、本発明を使用して、リモートインタポレーションスクリプトの指示の元でプロトコル変換を実行すること、たとえば無線アクセスプロトコル(Wireless Access Protocol(WAP))使用可能機器にサービス変換を提供することができる。 【0011】 【発明の実施の形態】本発明を、例示的な処理システムと関連して以下に説明する。しかしながら、本発明は、いかなる特定のタイプのシステム、ネットワーク、ネットワーク通信プロトコルまたは構成との使用にも限定されない、ということは理解されるべきである。本明細書で使用される「ウェブコンテンツ」という用語は、1つまたは複数のドキュメント、ファイル、ウェブページ、あるいはワールドワイドウェブにより、インターネットの他の部分により、または他のタイプの通信ネットワークによりアクセス可能な、他のあらゆるタイプまたは構成の情報を含むことが意図されている。本明細書で使用される「処理システム」という用語は、本明細書で述べる1つまたは複数のコンテンツインタポレーション機能を提供するように構成された1つまたは複数のハードウェアまたはソフトウェア要素を備えた、あらゆるタイプのコンピュータベースシステムまたは他のタイプのシステムを含むことが意図されている。本明細書で使用される「サーバ」という用語は、単一サーバ機器またはシステムと、複数のサーバ機器またはシステムのセットまたは他のグループあるいは配置と、を共に含むことが意図されている。 【0012】図1は、本発明によるウェブベース処理システム100(以下、単にシステム100とする)の例示的な実施の形態を示す。システム100は、1組のクライアント機器104とウェブサーバ106との間の通信をサポートするよう構成されたインタポレーティングプロキシサーバ102を含む。本実施の形態におけるクライアント機器104の組には、携帯情報端末(PDA)110、携帯電話112およびパーソナルコンピュータ114が含まれる。ウェブサーバ106には、ハイパーテキストマークアップ言語(HTML)データベース、音声拡張(voice-augmented)HTML(VHTML)データベースおよびPDAデータベースを含む多数のウェブコンテンツデータベースが含まれる。なお、クライアント機器104およびウェブサーバ106のデータベースは単に例であり、本発明は多数の他のタイプおよび構成の機器およびデータベースと共に使用することができる、ということは理解されなければならない。更に、図には単一のウェブサーバ106のみを示しているが、当然ながらインタポレーティングプロキシサーバ102は複数のウェブサーバとインタフェースすることができる。 【0013】プロキシサーバ102は、例示的な実施の形態に関して、「インタポレーティング(interpolating)」プロキシサーバと呼ぶ。なお、本明細書で使用される「インタポレーティング」という用語は、トランスコーディングまたは変換(translation)等の動作と、ウェブコンテンツに関連する他のタイプの処理動作と、を含むことが意図されている、ということは理解されるべきである。 【0014】システム100の種々のクライアントおよびサーバ要素は、伝送制御プロトコル/インターネットプロトコル(Transmission Control Protocol/Internet Protocol(TCP/IP))規格または他の適切な通信プロトコルを使用する従来からの方法でネットワークによって確立されるコネクション等、従来からのネットワークコネクションを介して通信するものと仮定される。 【0015】本明細書では、システム100の動作を、HTMLおよびエクステンシブルマークアップ言語(Extensible Mark-up Language(XML))に関して述べるが、本発明は他のウェブコンテンツ言語に関連して実現することも可能である。本明細書で参照する音声拡張HTMLは、たとえばフォーンマークアップ言語(Phone Mark-up Language(PML))、音声拡張可能マークアップ言語(Voice eXtensible Mark-up Language(VoiceXML))、スピーチマークアップ言語(Speech Mark-up Language(SpeechML))、トークマークアップ言語(Talk Mark-up Language(TalkML))等であってよい。なお、現在、ワールドワイドウェブコンソーシアム(World Wide Web Consortium(W3C))音声ブラウザワーキンググループ(Voice Browser Working Group)により、種々の開発中のウェブベース音声ブラウザ言語提案が考究されている。これら新しい規格は、本発明の所定の実施の形態に関連する特定の実現の詳細に影響を与える可能性がある。 【0016】本発明によれば、インタポレーティングプロキシサーバ102は、自身が通信しているクライアントのタイプを識別することができ、コンテンツが特定のクライアント機器に対して適当なフォーマットで提供されるように、ウェブサーバ106からそのクライアントへ配信されるウェブコンテンツをインタポレートすることができる。たとえば、アクセスされたウェブサイトに関連するHTMLコンテンツは、携帯電話112によるウェブコンテンツに対する適当な音声インタフェースを提供するために、音声拡張HTML情報に従ってインタポレートされてよく、あるいは、PDA110によるウェブコンテンツに対する適当なPDAインタフェースを提供するために、PDA拡張情報に従ってインタポレートされてもよい。 【0017】インタポレーティングプロキシサーバ102は、たとえばハイパーテキスト転送プロトコル(HTTP)User_Agent(ユーザエージェント)およびContent_Type(コンテンツタイプ)プロトコルヘッダ、クライアント識別「クッキー(cookies)」またはHTTP GET(取出し)要求QUERY_STRING(クエリストリング)属性等、多数の異なる技術のうちのいずれかを使用してクライアント機器タイプを識別することができる。識別された特定のクライアントタイプは、ファイル名拡張子によって指定される補助コンテンツファイルタイプに関連付けられる。また、これら補助コンテンツファイルを、本明細書ではパッチファイル、より広くはオーグメンテーションファイルと呼ぶ。 【0018】たとえば、PhoneBrowserクライアントは、HTTPヘッダのUser_Agent、すなわちPhoneBrowser/2.3を指定することにより自身を識別してよい。これにより、インタポレーティングプロキシサーバ102は、オリジナルのHTTP GET要求されたファイル(たとえば、File.html)と関連するインタポレーションスクリプトまたはオーグメンテーションファイル(たとえば、File.vhtml)とを共に捜すことができる。PhoneBrowserに関する更なる詳細は、たとえばhttp://www.phonebrowser.comで見ることができる。 【0019】他の例として、PDAオーグメンテーションファイルは、File.pdaとして識別することができる。各クライアントタイプは、対応するオーグメンテーションファイルをその対応するウェブサイトの同じ場所に配置することができる。一般に、オーグメンテーションファイルは、オリジナルHTMLコンテンツファイルより小さい。本明細書で使用される「オーグメンテーションファイル」という用語は、インタポレーションスクリプト、補助コンテンツファイル、パッチファイル、または要求されたウェブコンテンツの少なくとも一部に対する変換、変更または他のタイプのインタポレーションを定義するあらゆる他のタイプの情報を含むことが意図されている。 【0020】音声情報を生成するためのHTMLかまたは他のタイプのウェブコンテンツの処理に関する更なる詳細は、引用をもってその開示内容がすべて本明細書内に包含されたものとする、発明者M.K.Brown等の名によって1998年10月6日に出願され、「Web-Based Platform for Interactive Voice Response」と題された、米国特許出願第09/168,405号に見ることができる。 【0021】ここで、システム100のサーバ側制御面をより詳細に説明する。インタポレーティングプロキシサーバ102によって実現されるサーバ側編集および他のインタポレーションプロセスは、一般にUNIX(登録商標)ソースコードを更新する際に使用されるパッチ(patch)機能と同様に実行されてよく、それに対する多くのサポートツールは、本技術分野では周知である。基本的なパッチ機能は、探索されるターゲットファイルライン番号および入力パターンを識別することによって動作する。入力パターンが文字ストリングと一致すると、対応する出力スクリプトが置換として挿入される。この方法は、ソースコードパッチングに適しており、インタポレーティングプロキシサーバで実現される編集プロセスに使用することができる。 【0022】パターンを新たなストリングに置換する上述したパッチング機能のほかに、種々の適当なプログラミング言語のいずれかを使用して、テキスト上の変換を計算することにより、パッチング機能をもたらすことができる。かかるパッチング機能は、ターゲットウェブページを変更し、HTMLのいくつかの他のページからのコンテンツかまたは他のウェブコンテンツを統合することにより単一の仮想ページを作成することができる。パッチング機能の可能な使用法には、ウェブサイトまたはウェブサイトのサブセットを単一のサマリページに要約することが含まれる。 【0023】また、インタポレーティングプロキシサーバ102は、単一ウェブページをいくつかの仮想ページに断片化することもでき、それら仮想ページは、その後、すべてまたは部分的に他のウェブページと統合されることにより、構成された仮想ウェブページを作成することができる。これは、仮想ページコンテンツを指定するQUERY_STRINGパラメータをインタセプトするようインタポレーティングプロキシサーバを構成することによって達成することができる。そして、インタポレーティングプロキシサーバは、1つまたは複数のウェブサイトからのウェブページのセットを統合するかまたは断片化することにより、QUERY_STRINGからの命令に基づいて仮想ページを構成する。命令は、仮想ページの実際の構成に対して実行される、ローカルまたはリモートサーバ上の1つまたは複数のプログラムファイルを参照することができる。 【0024】上述した統合または断片化の能力は、有用なウェブドキュメントを要約する機能を提供するだけでなく、言語間の直接マッピングが1対1でない状況でさえも、1つのウェブ言語での実現を他のウェブ言語へ変換するためにも使用することができる。たとえば、所定ウェブサイトのVoiceXML実現は、ウェブページ毎にいくつかの対話ターン(dialogue turn)を含む場合があり、ウェブサイトの対応するHTML実現は、ページごとに唯一の対話ターンを含むより多くのウェブページを含む場合がある。上述したプロキシ統合能力を使用して、HTML実現をVoiceXML実現に変換することができ、プロキシ断片化能力を使用して、VoiceXML実現をHTML実現に変換することができる。上述した簡単な条件付きストリングマッチおよび置換機構は、以下の方法で、HTML、XMLまたは他のタイプのマークアップ言語(Mark-up Language(ML))ドキュメントの処理を改良するために変更することができる。最初に、オリジナルMLドキュメントは、完全にコンポーネント構造に解析される。そして、パターンマッチャを使用して、特別なトークンを備えたオーグメンテーションスクリプトで簡潔に表される既知のML構造を認識する。この手法は、XML構造において、ウェブページ上の同じ位置に常に現れるとは限らない情報を探索することに特に適している。MLはレコード指向ではないため、解析されたML構造は、ライン番号制約に代る制約に対して使用されてよい。組込まれた基礎構造は、再帰的に処理されてよい。かかる構造は、パターンマッチングの有効範囲を確立する。 【0025】所定の解析された構造内では、タグパターンおよびストリングパターンを、構造化コンテキスト内のトークンの正規表現によってマッチさせることができる。トークンは、文字ストリング、HTMLタグ、XMLタグ、タグシーケンス等とすることができる。置換パターンは、同様のトークンを用いて表現される。置換パターンマッチングシンタックスの詳細は、使用される特定のマークアップ言語の仕様によって決まる。 【0026】一例としてのパターンマッチング表現には、コンテキスト、パターン、優先権および置換の要素が含まれる。コンテキスト要素は、1つまたは複数のパターン、すなわち置換の命令を含むことができる構造スコープ(有効範囲)制約表現である。パターンすなわち置換命令の順序は、アプリケーションの優先順を指示する。一般に、最も特定の、すなわち最長のパターンマッチは、最高の手続きをとる。命令スコープ内におけるパターンマッチ毎の0または1命令の適用の制限を示す指定された接頭記号(たとえば、「?」)と共に、命令を、指定されたデリミタ(たとえば、中括弧)内に含めることができる。それ以外は、すべてのマッチング構造は優先順に適用される。 【0027】コンテキストは、<BODY>および</BODY>構造等のHTMLコンテキストと同程度に単純にすることができる。コンテキストを指定する便利な表記法は、すべてのHTMLタグのスコープ設定特性の知識を有するインタプリタによって提供することができる。パターン命令と同様にコンテキストは、他のコンテキスト内に組込むことができ、それによってドキュメント全体に対しコンパクトな表現を提供することができる。 【0028】インタポレーティングプロキシサーバ102において、HTTPヘッダ情報の変更または置換のための機構を提供することができる。たとえば、User_Agentパラメータの値は、クライアントマスカレーディング(masquerading)を可能にするためにプロキシトランスコーディングによって変更することができる。要求の送信とサーバデータの受信との両方において、HTTPクッキーを変更することができる。HTTPクッキーをサポートすることができない機器が、各識別可能なクライアントに割当てられるユーザプロファイルと共に使用される場合、クッキーサポートを有するかのように動作させることができる。クライアント識別は、REMOTE_USER HTTPパラメータを含む種々の情報源からかまたはユーザログインにより、取得することができる。このように、インタポレーティングプロキシサーバ102は、パームトップ機器等、能力が制限されたクライアントに対してクッキートランザクションを提供することができる。 【0029】インタポレーティングプロキシサーバ102は、スクリプトを解釈し、特定のクライアント機器タイプに適当なHTMLタグと置換することにより、クライアント機器がJava、Javascriptおよび他のウェブスクリプティング言語をサポートすることを可能にする。HTML入力形式は、情報を要求する適当なプロンプトを提供しユーザ応答から情報を回収する解釈メカニズムを提供する、他のHTMLタグと置換することができる。 【0030】上述したサーバ側制御は、上述したように、クライアント機器タイプの識別によりユーザセッションの開始時に起動される。クライアント側制御では、セッション中一意でかつ変化しないREMOTE_ADDR(リモートアドレス)HTTPパラメータを、個々のユーザ識別に利用することができる。セッション中、ユーザは、クライアントの特性を変更したい場合がある。たとえば、グラフィカルユーザインタフェース(GUI)および音声インタフェースの両方を有する無線PDAは、ハンドヘルドユーズのための動作の1つのモード(たとえば、音声およびGUIが共にアクティブ)と、車内での使用のための他のモード(たとえば、音声のみのモード)と、を有することができる。他の可能なモードは、たとえば音声対話が不適当な会議中での使用等、GUIのみの使用である。音声のみのモードでは、音声出力を視覚情報がないことを補償するように改良することができる。モード特性は、セッション中に使用されるようにセッション前に事前定義することができ、あるいは、セッション中にユーザによって再定義することができる。 【0031】モード変更は、ローカルクライアントインタフェースかまたはサーバコールバックプロセスを介して達成することができる。サーバコールバックプロセスでは、ユーザが、クライアントのモードを遠隔で変更するために、クライアントにコールバックするサーバによってインタフェースする。代替的に、モードは、1日に何回か(たとえば、毎日車で通勤する時)クライアントを適当なモードにするよう自動的に調整する事前定義されたスケジュールによって、変更することができる。モード変更は、プロキシサーバでステータスファイルに、あるいは、クライアントでクッキーを格納することによるかまたはユニバーサルリソース識別子(Universal Resource Identifier(URI))符号化により、記録することができる。 【0032】URI符号化は、クライアント機器がクッキーをサポートすることができない場合に使用され、それは多くのハンドヘルド機器に対して当てはまる。URI符号化は、QUERY_STRINGパラメータをURIに添付することにより、達成される。それは、通常、次の5つの部分からなる。 protocol://host/path/PATH_INFO?QUERY_STRINGフォーム要求の場合のように、QUERY_STRINGがすでに存在する場合、「&」演算子を使用して、クライアントパラメータを追加のパラメータストリングとしてQUERY_STRINGに添付することができる。QUERY_STRINGがすでに存在しない場合、「?」演算子を使用して新たなQUERY_STRINGを追加するためにクライアントパラメータが追加される。インタポレーティングプロキシサーバ102は、ダウンロードされたHTMLを編集することにより、クライアントパラメータストリングをすべてのURIに追加し、それらURIはその後クライアントに送信される。クライアントがURI要求を作成する場合はいつも、追加のクライアントパラメータストリングが自動的にインタポレーティングプロキシサーバ102へのHTTP要求に含まれる。そして、インタポレーティングプロキシサーバ102は、処理されるためにURIをウェブサーバ106に送信する前に、そのURIからクライアントパラメータストリングを剥取る。ウェブサーバ106からコンテンツを受信すると、インタポレーティングプロキシサーバ102は、現クライアントパラメータ設定に従ってコンテンツを変更し、クライアントに配信される際に再びクライアントパラメータストリングをコンテンツに含まれるすべてのURIに追加する。 【0033】例示的な実施の形態におけるクライアントは、インタフェースモード設定を保持し実現することができるか、あるいは、たとえばW3Cかまたは他の規格団体によって定義され標準化されるかまたはそれが可能であるタイプの、コンテンツモードタグを解釈することができなければならない。クライアントパラメータは、キーボード、マウス、ペン、タッチ、音声等の各主入力タイプ、およびビュースクリーン、音声、タッチ(たとえば、ページャのバイブレーション)等の各メイン出力タイプに対し、アクティビティのレベルの仕様を含む。代替的に、インタポレーティングプロキシサーバ102は、サーバにおいてファイルにこの情報のいくつかまたはすべてを格納することができ、URIは、パラメータファイル関連識別子のみを符号化する。この動作のモードは、特に、トランザクション毎に送信されるデータの量を低減するため、狭帯域データチャネルに望ましい。 【0034】ユーザがインタフェースモード設定をオーバライドすることができるように、インタポレーティングプロキシサーバ102内にウェイクアップメカニズムを設けてもよい。かかるメカニズムは、ユーザが表示のみのためにすべての入力モードを使用不可にした場合、必要とされる場合がある。音声インタフェースの場合、「フォンブラウザウェイクアップ(phone browser wake up)」等、通常はシステムによって聴取されない特別なキーフレーズを使用して、音声インタフェースを再開させることができる。同様に、特別なペンジェスチャ入力を使用して、そのインタフェースを再開させることができる。音声インタフェースの起動のためのキーフレーズは、待機中の計算資源消費の量を制限するようすべてのインタフェースが使用不可となっている場合にのみ、使用可能であってよい。インタフェースが再開されると、それは他のインタフェースを同様に再開させるために使用されてよい。 【0035】図2は、本発明の他の実施の形態の動作を示すより詳細な図を示す。この実施の形態は、インタポレーティングプロキシサーバ102およびクライアントPDA機器110を含むウェブベース処理システム200の形態である。また、本システムは、PhoneBrowser(携帯電話向け音声ブラウザ)の形態のクライアント機器204も含む。 【0036】クライアントのPhoneBrowser204は、無線アクセスプロトコル(WAP)使用可能電話210(以下、WAP電話210とする)に関連して動作するように構成されている。WAP電話210は、通話仲介サーバとしてPhoneBrowser204を使用する端末機器であり、PhoneBrowser204はコンテンツをインタポレートするためにインタポレーティングプロキシサーバ102を使用する。 【0037】更に、本システム200は、示されているように多数のコンテンツファイルとパッチファイルとが関連付けられたウェブサーバ215を含む。より詳細には、本実施の形態におけるウェブサーバ215は、それぞれXML(File.xml)およびHTML(File.html)コンテンツを含むコンテンツファイル220および222と、それぞれPDA(File.pda)、PhoneBrowser(File.pb)およびWAP(File.wap)オーグメンテーションまたはパッチファイルを含むパッチファイル230、232および234と、を含む。 【0038】システム200の動作を、多数の例を用いて説明する。ユーザが、PhoneBrowser204を介してウェブサーバ215に対してHTMLページを要求すると仮定する。PhoneBrowser204は、対応するHTTP要求のヘッダエントリとしてそのUser_Agent識別を追加し、この要求をインタポレーティングプロキシサーバ102を介してウェブサーバ215に送信する。インタポレーティングプロキシサーバ102は、PhoneBrowser204から来る要求を調べるため、要求されたHTMLコンテンツファイルを探索するだけでなく、HTMLコンテンツに適用されるPhoneBrowserパッチに対する対応するオーグメンテーションファイル232(File.pb)も探索する。そして、インタポレーティングプロキシサーバ102によって実現されるパッチングプロセスは、HTMLコンテンツの所定の部分をPhoneBrowser用に設計されたコンテンツと置換する。 【0039】他の例として、同じユーザが、WAP電話210を介してウェブコンテンツを要求することができる。この場合、HTMLファイルが要求されると、WAP電話210はそのUser_Agent識別を要求に追加し、PhoneBrowser204もまたそのUser_Agent識別を要求に追加する。2つの識別は、結合されて、インタポレーティングプロキシサーバ102が後に復号化することができる複合クライアント識別とされてよい。インタポレーティングプロキシサーバ102は、この複合クライアント識別を調べると、要求されたHTMLコンテンツファイルを検索するのみでなく、コンテンツに適用するパッチ用にPhoneBrowser(File.pb)とWAP電話(File.wap)との両方に対するオーグメンテーションファイルを探索する。パッチは、いくつかの事前定義された優先順に適用されなければならず、あるいは、適用の順序を決定するために優先度メカニズムが追加されてもよい。このように、本発明は、ユーザに対し、図2の例におけるPhoneBrowser204およびWAP電話210等、複数の別個の物理的クライアント機器によって提供される異なる特徴のセットの組合せであってよい、「仮想クライアント」タイプの指定を制御することができるようにする。 【0040】図3は、本発明によるインタポレーティングウェブプロキシサーバ102において実現されてよい処理動作の他の例を示すフローチャートである。また、インタポレーティングプロキシサーバ102は、この例では単純に「プロキシ」と呼ぶ。ステップ302において、クライアントは、プロキシの1つまたは複数の上述した特徴の使用を含む動作モードをセットする。クライアントは、プロキシによって生成されるページ等の仮想ウェブサイトを訪れることにより、たとえば対応するクライアント機器においてローカルに、このモードを設定してもよい。そして、ステップ304において、クライアントは、たとえばウェブコンテンツに対するクライアント要求の一部として等、プロキシに対してユニフォームリソースロケータ(Uniform Resource Locator(URL))を要求する。代替的に、ステップ304における要求は、URIに対する要求であってよい。 【0041】ステップ306において、プロキシは要求を解析し、対応するデータおよびクライアントタイプを決定する。そして、プロキシは、要求に関連するデータおよびクライアントのタイプが既知のトランスコード可能データおよびクライアントタイプであるか判断する。そうである場合、プロキシは、図2に関連して上述した方法で、ウェブサーバ、たとえばウェブサーバ215に対し適当なパッチファイルを要求する。ステップ312において、パッチファイルがウェブサーバ上で見付かったと判断された場合、ステップ314において、プロキシはウェブパッチファイルを適用し、その後ステップ316において、仮想クライアントモードを設定し結果としてのトランスコードウェブコンテンツを仮想クライアントに配信する。図2に関連して上述したように、仮想クライアントは、複数の別々の物理的機器に対応してよい。ステップ312においてそのデータおよびクライアントタイプのパッチファイルが突止められなかったと判断される場合、ステップ318において、プロキシ上にデフォルトパッチファイルを捜し出すよう試みられる。かかるデフォルトパッチファイルが見付かった場合、それらはステップ320において適用され、その後プロセスはステップ316に移動する。 【0042】ステップ308において、プロキシが、要求に関連するデータおよびクライアントのタイプが既知のトランスコード可能なデータおよびクライアントのタイプではないと判断した場合、またはステップ318において使用可能なデフォルトパッチファイルがない場合、プロセスは、示されているようにステップ316に直接移動し、仮想クライアントモードを設定しトランスコードウェブコンテンツを配信する。 【0043】この例は仮想クライアントモード、すなわち、クライアント要求がプロキシにより、複数の別個の物理的機器の特徴を組込んでいる単一の仮想機器において発生しているように扱われるモードを利用するが、処理動作は、簡単に、単一または複数の物理的クライアントから直接発生しているように扱われる要求を処理するように変更することができる。 【0044】なお、図1、図2および図3に関連して述べた処理動作は、例示的な例としてのみ提供されており、決して本発明を限定するものとして解釈されるべきではない、ということは理解されるべきである。本発明の他の実施の形態は、当業者には明らかとなるように、他の処理動作を利用してよい。 【0045】上述した例示的な実施の形態におけるリモートコンテンツインタポレーティングウェブプロキシサーバは、従来からのウェブプロキシサーバに対し多数の利点を提供する。たとえば、本インタポレーティングウェブサーバは、クライアントタイプに基づいてウェブコンテンツの複数の解釈を提供する。更に、本発明は、プロキシサーバプラットフォームからインタポレーティングスクリプトの制御を分離することにより、コンテンツプロバイダがウェブコンテンツのすべての面を完全に制御する一方で、インタポレーティングプロキシサーバ自体を制御する必要はないようにする。これにより、たとえば、インタネットサービスプロバイダ(ISP)によって提供され、複数のコンテンツプロバイダに同時に利用可能とされる汎用サービスとして、インタポレーティングプロキシサーバを遠隔に配置することができる。また、本発明のインタポレーティングプロキシサーバは、他のタイプのMLドキュメントと同様にXMLドキュメントのタグ名に存在する意味情報をよりよく利用する。更に、本発明を使用して、リモートインタポレーションスクリプトの指示によってプロトコル変換を実行すること、たとえばWAP使用可能機器にサービス変換を提供することが可能である。 【0046】本発明の上述した実施の形態は、例示的であることのみが意図されている。特許請求の範囲の適用範囲内にある多数の代替的実施の形態は、当業者に明らかとなろう。
|
| 【出願人】 |
【識別番号】596092698 【氏名又は名称】ルーセント テクノロジーズ インコーポレーテッド
|
| 【出願日】 |
平成13年7月19日(2001.7.19) |
| 【代理人】 |
【識別番号】100064447 【弁理士】 【氏名又は名称】岡部 正夫 (外11名)
|
| 【公開番号】 |
特開2002−132646(P2002−132646A) |
| 【公開日】 |
平成14年5月10日(2002.5.10) |
| 【出願番号】 |
特願2001−218924(P2001−218924) |
|