(57)【特許請求の範囲】
【請求項１】
コンピュータであるサーバ、ユーザおよびクライアントがこの順で相互にネットワークに接続されたネットワーク環境で、サーバが標的コンテンツを選択または生成するために使用する、クライアント・プロパティを指定するための方法であって、
複数の要求されたクライアント・プロパティが対応づけられた、標的コンテンツを参照するリンク要素を含むドキュメントデータを、前記クライアントが、前記ネットワークを介して前記サーバから受けるステップと、
前記クライアントが、前記ドキュメントデータに含まれる前記リンク要素を選択するステップと、
前記クライアントが、前記複数の要求されたクライアント・プロパティの少なくとも一つを、前記標的コンテンツを前記サーバに検索させるための要求データに挿入するステップと、
前記複数の要求されたクライアント・プロパティの少なくとも一つが前記標的コンテンツの生成のための必須プロパティであり、かつ、前記クライアント・プロパティをサーバに伝送することを少なくともユーザに許可されていないため伝送不能である場合において、前記クライアントが、前記標的コンテンツを検索するための要求を打ち切るステップと、を含む方法。
【請求項２】
前記複数の要求されたクライアント・プロパティが前記リンク要素の属性の中に含まれる、請求項１記載の方法。
【請求項３】
前記属性が、ＨＴＭＬで用いられる属性のうち、特定のＨＴＭＬブラウザで無視可能なＰＲＯＦＩＬＥＡＴＴＲＳ属性である、請求項２記載の方法。
【請求項４】
前記要求されたクライアント・プロパティそれぞれ一つがカテゴリー、セパレータおよびプロパティ名を含む、請求項１記載の方法。
【請求項５】
前記複数の要求されたクライアント・プロパティが、所定のグループの中のいかなるプロパティも前記サーバにより利用し得ることを示すワイルドカードを含む、請求項１記載の方法。
【請求項６】
コンピュータであるサーバ、ユーザおよびクライアントがこの順で相互にネットワークに接続されたネットワーク環境で、サーバが標的コンテンツを選択または生成するために使用する、クライアント・プロパティを指定するシステムであって、
複数の要求されたクライアント・プロパティが対応づけられた、標的コンテンツを参照するリンク要素を含むドキュメントデータを、前記ネットワークを介して前記サーバから受けるための手段と、
前記ドキュメントデータに含まれる前記リンク要素を選択するための手段と、
前記クライアントが、前記複数の要求されたクライアント・プロパティの少なくとも一つを、前記標的コンテンツをサーバに検索させるための要求データに挿入するための手段と、
前記複数の要求されたクライアント・プロパティの少なくとも一つが前記標的コンテンツの生成のための必須プロパティであり、かつ、前記クライアント・プロパティをサーバに伝送することを少なくともユーザに許可されていないため伝送不能である場合において、前記クライアントが、前記標的コンテンツを検索するための要求を打ち切るための手段と、を含むシステム。
【請求項７】
前記複数の要求されたクライアント・プロパティが前記リンク要素の属性の中に含まれる、請求項６記載のシステム。
【請求項８】
前記属性が、ＨＴＭＬで用いられる属性のうち、特定のＨＴＭＬブラウザで無視可能なＰＲＯＦＩＬＥＡＴＴＲＳ属性である、請求項６記載のシステム。
【請求項９】
前記要求されたクライアント・プロパティそれぞれ一つがカテゴリー、セパレータおよびプロパティ名を含む、請求項６記載のシステム。
【請求項１０】
前記複数の要求されたクライアント・プロパティが、所定のグループの中のいかなるプロパティも前記サーバにより利用し得ることを示すワイルドカードを含む、請求項６記載のシステム。
【請求項１１】
コンピュータであるサーバ、ユーザおよびクライアントがこの順で相互にネットワークに接続されたネットワーク環境で、サーバが標的コンテンツを選択または生成するために使用する、クライアント・プロパティを指定するためのコンピュータプログラムであって、
前記クライアントに、
複数の要求されたクライアント・プロパティが対応づけられた、標的コンテンツを参照するリンク要素を含むドキュメントデータを、前記ネットワークを介して前記サーバから受けるステップと、
前記ドキュメントデータに含まれる前記リンク要素を選択するステップと、
前記複数の要求されたクライアント・プロパティの少なくとも一つを、前記標的コンテンツをサーバに検索させるための要求データに挿入するステップと、
前記複数の要求されたクライアント・プロパティの少なくとも一つが前記標的コンテンツの生成のための必須プロパティであり、かつ、前記クライアント・プロパティをサーバに伝送することを少なくともユーザに許可されていないため伝送不能である場合において、前記標的コンテンツを検索するための要求を打ち切るステップと、を実行させるためのプログラム。
【請求項１２】
前記複数の要求されたクライアント・プロパティが前記リンク要素の属性の中に含まれる、請求項１１記載のプログラム。
【請求項１３】
前記属性が、ＨＴＭＬで用いられる属性のうち、特定のＨＴＭＬブラウザで無視可能なＰＲＯＦＩＬＥＡＴＴＲＳ属性である、請求項１１記載のプログラム。
【請求項１４】
前記要求されたクライアント・プロパティそれぞれ一つがカテゴリー、セパレータおよびプロパティ名を含む、請求項１１記載のプログラム。
【請求項１５】
前記複数の要求されたクライアント・プロパティが、所定のグループの中のいかなるプロパティも前記サーバにより利用し得ることを示すワイルドカードを含む、請求項１１記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般にコンピュータ・ソフトウェアに関し、特に、ワールド・ワイド・ウェブ・ドキュメント要求に含まれる装置固有の情報を要求する方法およびシステムに関する。より具体的には、本発明は、検索されるウェブ・ドキュメントの動的カスタマイズをサポートするためにどの装置属性を要するかをサーバが指定することができる方法および装置に関する。
【０００２】
【従来の技術】
ワールド・ワイド・ウェブは、ユーザがサーバからドキュメントを検索することができる機構を提供する。ユーザは、Netscape  Navigator（Netscape  Communications社の商標）やInternet  Explorer（Microsoft社の商標）のようなウェブ・ブラウザをデスクトップ・コンピュータ上で実行する。このようなブラウザは、ＨＴＴＰ（Hyper  Text  Transfer  Protocol）を使用して、特定のドキュメントまたは他のコンテンツを求める要求をサーバに発する。ワールド・ワイド・ウェブは、いくつかの代替プロトコル、たとえばＦＴＰ（File  Transfer  Protocol）およびGopherプロトコルの使用をサポートすることに留意されたい。
【０００３】
サーバは、これらのブラウザ要求を受けると、ドキュメントを見つけ出し、それをブラウザに戻し、ブラウザが次にそれをユーザのために解釈する。これらのドキュメントは通常、ＨＴＭＬ（Hyper  Text  Markup  Language）で記述されているが、他のマークアップ言語、たとえばＷＭＬ（Wireless  Markup  Language）、ボイスＸＭＬ（Voice  Markup  Language）およびＸＭＬ（Extensible  Markup  language）も一般に使用されている。
【０００４】
最新のウェブ・サーバはまた、特定のユーザおよび要求を出す特定のブラウザに関する要求に含まれる情報に基づいてドキュメントを動的に生成することができる。たとえば、ＨＴＴＰプロトコルのユーザ・エージェント・ヘッダは通常、要求の出所であるブラウザ・ソフトウェアの識別情報を含む。ＨＴＴＰプロトコル中のさらなる情報がユーザを特定することができる。ウェブ・サーバでは、ＣＧＩ（Common  Gateway  Interface）プログラム、ＡＳＰ（Active  Server  Page）プログラムまたはJavaサーブレットがユーザ・エージェントおよびユーザ情報を解析して、戻されるドキュメントに含めるべきコンテンツを選択し、戻されるドキュメントをフォーマットする最良の方法を決定する。この個別化の概念は、ユーザが所望の情報をクライアント・ブラウザ上で示される最良の形式で受けることを保証するため、今日のウェブにとって重要である。しかし、既存の個別化方法はまた、サーバ・ソフトウェアが各タイプのブラウザを独立させて明示的に扱うことを要求するため、制限を受ける。
【０００５】
現在、ワイヤレス・ラップトップ、セルラー・フォン、パーソナル・デジタル・アシスタント（ＰＤＡ）、自動車コンピュータ、インテリジェント家庭用器具およびホーム・ゲートウェイをはじめとする、新たなタイプのウェブ接続装置が普及している。これらの装置は、ユーザ・インタフェース能力、インストールソフトウェアおよびネットワーク接続度が広く異なる。ブラウザの数が増すにつれ、サーバは、これらの異なる装置ごとにコンテンツを個別化するますます複雑なタスクを負担させられる。
【０００６】
装置がそれらのユーザ・インタフェース能力、インストールソフトウェア、ユーザの好みおよびネットワーク接続度をより抽象的な方法で記述することを許すため、新たな規格が出現しつつある。ワールド・ワイド・ウェブ・コンソーシアム（Ｗ３Ｃ）によって発表されたＣＣ／ＰＰ（Composite  Capability  and  Preference  Profiles）規格は、各ＨＴＴＰ要求内でこの情報を提供するためのフレームワークを記述している。ＷＡＰ（Wireless  Application  Protocol）フォーラムは、各ＷＳＰ（Wireless  Session  Protocol）要求内でこの情報を記述するための同様な方法（ユーザ・エージェント・プロファイルまたはUAProfと呼ばれる）を規定した。ＷＳＰは、低帯域幅ワイヤレス・ネットワーク上での使用のために最適化されたＨＴＴＰの形式である。
【０００７】
利用可能なクライアント情報の範囲が拡大するにつれ、装置が要求ごとにその情報すべてを提供することは実施不可能になるおそれがある。そのうえ、個人情報に敏感なユーザは、クライアント情報が各ウェブ・ドキュメント要求内で提供されることを望まないかもしれない。しかし、今日の技術では、サーバが、装置のために個別化されたコンテンツを動的に生成するためにどのクライアント特性を実際に使用または要するのかを示す方法はない。その結果、クライアントは、サーバが必要な情報を受け取ることを保証するため、単純に、要求ごとにその全プロフィールを含めなければならない。
【０００８】
したがって、ウェブ・サーバが、要求側ユーザのために個別化されたコンテンツを生成するためにどの装置、ユーザ、ソフトウェアおよびネットワーク・プロパティを使用することができるのかを示すことを許す方法およびシステムの必要性が存在する。ウェブ・サーバはまた、それが意味あるコンテンツを生成するためにはどのプロパティが実際に必要であるのかを示さなければならない。この機構を使用して、クライアントは、場合によっては、要求された情報を要求に含める前に、許可を求めてユーザに問い合わせすることができる。この機構を使用して、クライアントはさらに、サーバが使用する情報のみを伝送することにより、ネットワーク帯域幅を節約することができる。
【０００９】
【発明が解決しようとする課題】
本発明の目的は、ネットワーク環境内で、ウェブ・サーバが、要求側ユーザのために個別化されたコンテンツを生成するとき、どの装置、ユーザ、ソフトウェアおよびネットワーク・プロパティを使用することができるかを示すことができる方法を提供することである。
【００１０】
本発明のもう一つの目的は、ウェブ・サーバが、要求側ユーザのために意味あるコンテンツを生成するためにはどの装置、ユーザ、ソフトウェアおよびネットワーク・プロパティが必要であるかを示すことができる方法を提供することである。
【００１１】
本発明のさらに別の目的は、サーバが、既存のマークアップ言語の文脈内でどのクライアント・プロパティが使用または要求されるのかを記述することを可能にして、既存のブラウザがこの情報の存在によってマイナスの影響を受けないようにすることである。
【００１２】
本発明のさらに別の目的は、潜在的に機密を要する情報を要求側ウェブ・サーバに提供する前に、クライアントがユーザに問い合わせることができる方法を提供することである。
【００１３】
本発明のさらに別の目的は、ウェブ・サーバによって使用されない装置情報、ユーザ情報、ソフトウェア情報およびネットワーク情報を伝送するのに費やされるネットワーク帯域幅を減らす方法を提供することである。
【００１４】
本明細書に概説する本発明の趣旨にしたがって前記目的を達成するため、マークアップ言語リンクまたはアンカを、ウェブ・サーバによって使用または要求されるクライアント・プロパティに関する情報で注釈する方法およびシステムが開示される。この情報を使用して、クライアントは、個人情報を伝送する前に場合によってはユーザに問い合わせながら、どのプロパティをリンク要求とともに伝送すべきであるかを決定することができる。本発明のこれらおよび他の特徴、態様および利点は、以下の説明、請求の範囲および添付図面を参照することによってさらに理解されよう。
【００１５】
【課題を解決するための手段】
図面を参照すると、図１は、本発明を具現化するために利用することができる分散データ処理システムを表す。分散データ処理システム１００は、本発明を具現化することができるコンピュータのネットワークである。分散データ処理システム１００は、分散データ処理システム１００の中で接続された種々の装置およびコンピュータの間に通信リンクを提供するために使用される媒体であるネットワーク１０２を含む。ネットワーク１０２は、永久的な接続、たとえばワイヤまたは光ファイバ・ケーブルを含むものでもよいし、電話接続を介する一時的な接続を含むものでもよい。
【００１６】
図示する例では、サーバ１０４が記憶装置１０６とともにネットワーク１０２に接続されている。さらに、連携ウェブ・サーバＣＷＳ１０９のグループがネットワーク１０２に接続されている。また、クライアント１０８、１１０および１１２がネットワーク１０２に接続されている。これらのクライアント１０８、１１０および１１２は、たとえば、パーソナル・コンピュータまたはネットワーク・コンピュータであることができる。この用途のためには、ネットワーク・コンピュータは、ネットワークに結合された別のコンピュータからプログラムまたは他のアプリケーションを受け取る、ネットワークに結合されたいかなるコンピュータでもよい。図示する例では、サーバ１０４がデータ、たとえばブート・ファイル、オペレーティング・システム・イメージおよびアプリケーションをクライアント１０８〜１１２に提供する。クライアント１０８、１１０および１１２は、サーバ１０４のクライアントである。これらのクライアントに位置するユーザは、たとえば制限なしに、ブラウザを介して種々のリソースにアクセスすることができる。
【００１７】
分散データ処理システム１００は、図示されないさらなるサーバ、クライアントおよび他の装置を含むことができる。図示する例では、分散データ処理システム１００はインタネットであり、ネットワーク１０２は、ＴＣＰ／ＩＰプロトコルを使用して互いに通信するネットワークおよびゲートウェイの全世界的な集合体を表す。インタネットの中心部には、データおよびメッセージを送る何千もの民間企業、行政機関、教育機関および他のコンピュータ・システムからなる、主ノードまたはホストコンピュータ間の高速データ通信回線のバックボーンがある。もちろん、分散データ処理システム１００はまた、多数の異なるタイプのネットワーク、たとえばイントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）またはワイド・エリア・ネットワーク（ＷＡＮ）として具現化することもできる。図１は、一例として示すものであり、本発明のプロセスのアーキテクチャ上の限定として示すものではない。
【００１８】
図２を参照すると、ブロック図が、本発明にしたがってサーバ、たとえば図１のサーバ１０４として具現化することができるデータ処理システムを表す。データ処理システム２００は、システム・バス２０６に接続された複数のプロセッサ２０２および２０４を含むシンメトリック・マルチプロセッサ（ＳＭＰ）システムであってもよい。あるいはまた、単一プロセッサ・システムを使用してもよい。また、システム・バス２０６には、ローカル・メモリ２０９へのインタフェースを提供するメモリ制御装置／キャッシュ２８０が接続されている。入出力バス・ブリッジ２１０がシステム・バス２０６に接続され、入出力バス２１２へのインタフェースを提供している。メモリ制御装置／キャッシュ２０８と入出力バス・ブリッジ２１０とは、図示するように統合されていてもよい。
【００１９】
入出力バス２１２に接続された周辺部品相互接続（ＰＣＩ）バス・ブリッジ２１４が、ＰＣＩローカル・バス２１６へのインタフェースを提供する。多数のモデム２１８〜２２０をＰＣＩバス２１６に接続してもよい。典型的なＰＣＩバス具現態様は、４個のＰＣＩ拡張スロットまたは増設コネクタをサポートする。図１のネットワーク・コンピュータ１０８〜１１２への通信リンクは、増設ボードを介してＰＣＩローカル・バス２１６に接続されたモデム２１８およびネットワーク・アダプタ２２０を介して設けることができる。
【００２０】
さらなるＰＣＩバス・ブリッジ２２２および２２４が、さらなるＰＣＩバス２２６および２２８のためのインタフェースを提供し、このインタフェースから、さらなるモデムまたはネットワーク・アダプタをサポートすることができる。このようにして、サーバ２００は、多数のネットワーク・コンピュータへの接続を可能にする。また、メモリマップグラフィックス・アダプタ２３０およびハードディスク２３２を、図示するように、直接的または間接的に入出力バス２１２に接続してもよい。
【００２１】
当業者は、図２に示すハードウェアが異なってもよいことを理解するであろう。たとえば、図示するハードウェアに加えて、またはそれらの代わりに、他の周辺装置、たとえば光ディスク・ドライブなどを使用してもよい。図示する例は、本発明に関するアーキテクチャ上の限定を暗示するものではない。
【００２２】
図２に示すデータ処理システムは、たとえば、ＡＩＸ（Advanced  Interactive  Executive）オペレーティング・システムを作動させる、International  Business  Machines社（Armonk,  New  York）の製品であるＩＢＭ  ＲＩＳＣ／システム６０００システムであってもよい。
【００２３】
次に図３を参照すると、ブロック図が、本発明を具現化することができるデータ処理システムを示す。データ処理システム３００は、クライアント・コンピュータの一例である。データ処理システム３００は、周辺部品相互接続（ＰＣＩ）ローカル・バス・アーキテクチャを使用する。図示する例はＰＣＩバスを使用するが、他のバス・アーキテクチャ、たとえばマイクロチャネル(Micro Channel）やＩＳＡ（Industry  Standard  Architecture）を使用してもよい。プロセッサ３０２および主メモリ３０４がＰＣＩブリッジ３０８を介してＰＣＩローカル・バス３０６に接続されている。ＰＣＩブリッジ３０８はまた、プロセッサ３０２のための統合されたメモリ制御装置およびキャッシュ・メモリを含むことができる。直接部品相互接続または増設ボードを介してＰＣＩローカル・バス３０６へのさらなる接続を設けることもできる。図示する例では、ローカル・エリア・ネットワーク（ＬＡＮ）アダプタ３１０、小型コンピュータ・システム・インタフェース（ＳＣＳＩ）ホスト・バス・アダプタ３１２および拡張バス・インタフェース３１４が直接部品接続によってＰＣＩローカル・バス３０６に接続されている。対照的に、オーディオ・アダプタ３１６、グラフィックス・アダプタ３１８およびオーディオ／ビデオ・アダプタ（Ａ／Ｖ）３１９は、拡張スロットに挿入された増設ボードによってＰＣＩローカル・バス３０６に接続されている。拡張バス・インタフェース３１４は、キーボードおよびマウス・アダプタ３２０、モデム３２２およびさらなるメモリ３２４のための接続を提供する。ＳＣＳＩホスト・バス・アダプタ３１２は、ハードディスク・ドライブ３２６、テープ・ドライブ３２８およびＣＤ−ＲＯＭドライブ３３０のための接続を提供する。典型的なＰＣＩローカル・バス具現態様は、３または４個のＰＣＩ拡張スロットまたは増設コネクタをサポートする。
【００２４】
オペレーティング・システムがプロセッサ３０２上で作動し、図３のデータ処理システム３００内の種々の部品を同調させ、それらの制御を提供するために使用される。オペレーティング・システムは、市販のオペレーティング・システム、たとえばＯＳ／２（International  Business  Machines社の商標）であってもよい。オブジェクト指向プログラミング・システム、たとえばJava（Sun  Microsystems社の商標）がオペレーティング・システムとともに作動し、データ処理システム３００上で実行されるJavaプログラムまたはアプリケーションからオペレーティング・システムへの呼び出しを提供する。オペレーティング・システム、オブジェクト指向オペレーティング・システムおよびアプリケーションまたはプログラムのための命令は、記憶装置、たとえばハードディスク・ドライブ３２６上に位置し、プロセッサ３０２による実行のために主メモリ３０４にロードすることができる。
【００２５】
当業者は、図３のハードウェアが具現態様に応じて異なることを理解するであろう。図３に示すハードウェアに加えて、またはそれらの代わりに、他の内部ハードウェアまたは周辺装置、たとえばフラッシュＲＯＭ（もしくは同等の不揮発性メモリ）または光ディスク・ドライブなどを使用してもよい。また、本発明のプロセスは、マルチプロセッサ・データ処理システムに適用してもよい。
【００２６】
たとえば、データ処理システム３００は、ネットワーク・コンピュータとして構成されている場合には、任意の包含を示す図３の点線の囲い３３２によって記すように、ＳＣＳＩホスト・バス・アダプタ３１２、ハードディスク・ドライブ３２６、テープ・ドライブ３２８およびＣＤ−ＲＯＭ３３０を含まなくてもよい。その場合、コンピュータ、正確にはクライアント・コンピュータは、何らかのタイプのネットワーク通信インタフェース、たとえばＬＡＮアダプタ３１０、モデム３２２などを含まなければならない。もう一つの例として、データ処理システム３００は、何からのタイプのネットワーク通信インタフェースを含むか含まないかにかかわらず、何らかのタイプのネットワーク通信インタフェースに頼らずにブート可能に構成された独立型システムであってもよい。さらなる例として、データ処理システム３００は、オペレーティング・システム・ファイルおよび／またはユーザ生成ファイルを記憶するための不揮発性メモリを提供するため、ＲＯＭおよび／またはフラッシュＲＯＭで構成されたパーソナル・デジタル・アシスタント（ＰＤＡ）装置であってもよい。
【００２７】
図３に示す例および前記の例は、本発明に関するアーキテクチャ上の限定を暗示するものではない。図１〜３は、本発明を実施することができるコンピュータ・システムの構成例を提供するが、以下の背景情報が、本発明を使用することができる全体的なコンピューティング環境を理解するための文脈を提供することができる。
【００２８】
本発明を利用するソフトウェア・プログラム・コードは、通常、独立型ワークステーションまたはＬＡＮサーバの記憶装置２３２のメモリに記憶されており、そのメモリから、開発者は配布用のコードにアクセスすることができる。ソフトウェア・プログラム・コードは、データ処理システムとで使用するための多様な公知の媒体、たとえばディスケットまたはＣＤ−ＲＯＭのいずれで具現化してもよいし、あるコンピュータ・システムのメモリから他のコンピュータ・システムへの何らかのタイプのネットワークを介してそのような他のシステムのユーザによる使用のためにユーザに配布してもよい。ソフトウェア・コードを媒体上で具現化したり、ソフトウェア・コードを配布したりするためのそのような技術および方法は周知であり、本明細書でさらには論じない。
【００２９】
ウェブベースのマークアップ言語、たとえばＨＴＭＬおよびＷＭＬで書かれたドキュメントは通常、他のドキュメントへのポインタ、またはリンクを表す要素を含む。ここで図４を参照すると、スタート・２４０およびエンド・タグ２４１によって示される、ＨＴＭＬ（Hyper  Text  Markup  Language）で書かれたドキュメントの例が示されている。たとえばＨＴＭＬでは、ドキュメント・リンクがＡＮＣＨＯＲまたは「Ａ」タグ２４２によって示されている。「Ａ」タグ２４２と終端の＜／Ａ＞タグ２４３との間のテキスト２４４は通常、ユーザがそれをクリックするとアンカ・リンクによって参照されるドキュメントを検索できることを示すため、ブラウザにより、特別な色またはフォントで表示される。アンカ・リンク要素２４２は通常、リンクを記述する複数の属性（２４５、２４７）を含む。ＨＲＥＦ属性２４５は、アンカによって参照されるドキュメントの識別情報２４６を記述する。ＨＲＥＦ属性２４５は「Ａ」要素の中で必須である。ＴＹＰＥ属性２４７は「Ａ」要素の中でオプションであり、リンクされたドキュメントのタイプまたはフォーマット２４８を記述する。また、ＨＴＭＬ規格にしたがって、他の属性を「Ａ」要素に含めてもよい。ＨＴＭＬ規格に準ずると、ドキュメントのフォーマットは無意味であり、タグ名、要素および属性は、大文字であっても小文字であってもよいことが理解されよう。
【００３０】
次に図５を参照すると、タグ２５０および２５１によって示される、ＷＭＬ（Wireless  Markup  Language）で書かれたドキュメントが示されている。このドキュメントは、二つの「Ａ」リンク２５２および２５４を含む。リンク２５２は、ドキュメント中の第二のカードを指し示すＨＲＥＦ属性２５３を含む。リンク２５４は、別のドキュメントdeck2.wmlを指し示すＨＲＥＦ属性２５５を含む。オプションのＳＥＮＤＲＥＦＥＲＥＲ属性２５６は、リンクされたドキュメントを検索するための要求の中に現在のドキュメント名を含めるよう、ブラウザに指示する。ここでもまた、ＷＭＬ規格に準じて、ＷＭＬドキュメントは多くの方法でフォーマットできることが理解される。
【００３１】
図示しないが、ウェブ・ドキュメントは、多数の異なるマークアップ言語で書くことができることが理解される。これらの言語それぞれは、他のドキュメントにリンクするための指定されたタグを含むことができる。ドキュメント著者は、リンクされたドキュメントを検索する方法に関するさらなる情報をクライアントに提供する複数の必須およびオプションの属性をこれらのタグの中に含めることができる。
【００３２】
サーバは、ドキュメント要求がハードウェア装置、プラットフォームもしくはアプリケーション・ソフトウェアまたはユーザの好みに関する情報を含む限り、特定のリンクされたドキュメントを提供するサーバがそのドキュメントのコンテンツまたはフォーマットをクライアントにしたがってカスタマイズすることができることをクライアント・ブラウザに示さなければならないかもしれない。このために、サーバは、参照されるドキュメントをカスタマイズするために参照サーバが使用することができるプロパティをリストするリンク要素とともにさらなる属性（ＰＲＯＦＩＬＥＡＴＴＲＳ）を含めることができる。
【００３３】
ＨＴＭＬ規格は、さらなる属性を特定の要素、たとえば「Ａ」タグの中に含めることを考慮している。さらなる属性を認識しないブラウザは、その情報を単に無視すると期待される。しかし、その属性を認識するブラウザは、特殊な機能をとることができる。したがって、ＰＲＯＦＩＬＥＡＴＴＲＳ属性は、既存のブラウザを混乱させず、しかも、図１０に関して以下に論じるように、新たなブラウザが要求されたクライアント・プロパティを認識し、適切な措置を講じることを可能にする。
【００３４】
次に図６を参照すると、ドキュメント「http://www.ibm.com/index.html」３４３を指し示すＨＲＥＦ属性３４２を含むリンク要素３４１が示されている。このオプションの属性ＰＲＯＦＩＬＥＡＴＴＲＳ３４４は、ドキュメント３４３が要求されるサーバに提供することができるクライアント・プロパティのリスト３４５を指定する。リスト３４５は、１種のプロパティしか含まない。プロパティは、カテゴリーHardwareCharacteristics３４６、続いてコロン、さらにプロパティ名ScreenSizes３４７によって指定されている。セミコロンで分けることによってさらなるプロパティをリスト３４５に含めてもよい。
【００３５】
次に図７を参照すると、ＰＲＯＦＩＬＥＡＴＴＲＳ属性３５１を含むリンク要素３５０が示されている。プロパティ・リストは、セミコロンによって分けられた多数の値３５２および３５３を含む。第一の値３５２は、クライアントがHardwareCharacteristicsグループの中でLocationプロパティを提供できることを示す。第二の値３５３は、サーバがSoftwareCharacteristicsグループの中のいかなるプロパティをも利用しうることを示す。アスタリスク（＊）は、グループ内のプロパティの「ワイルドカード」を示す。
【００３６】
次に図８を参照すると、ＰＲＯＦＩＬＥＡＴＴＲＳ属性３７６を含むリンク要素３７５が示されている。プロパティ・リストは、セミコロンによって分けられた多数の値３７７および３７８を含む。第一の値３７７は、クライアントがHardwareCharacteristicsグループの中でLocationプロパティを提供できることを示す。しかし、このプロパティには、クライアントがこのプロパティ値を提供しない限りサーバは要求されたドキュメントを生成することができないことを示す感嘆符が先行する。換言するならば、クライアントは、リンクされたドキュメントを受けるためには、このプロパティ値を提供しなければならない。クライアントがこのプロパティを提供することができないか、提供する意志がないならば、この情報を受け取らない限りサーバは応答ドキュメントを送ることができないため、クライアントはドキュメントを検索しようとすべきではない。第二の値３７８は、サーバがHardwareCharacteristicsグループの中のScreenSizeプロパティを利用しうることを示す。このプロパティは感嘆符によって先行されないため、属性はオプションであるとみなされる。サーバは、そのプロパティが提供されるならばそれを使用することができるが、参照されるドキュメントを生成するのにその情報を要しない。
【００３７】
図６、７および８は、ある特定の方法で注釈されたリンクを示すが、本発明の代替態様が、異なる属性名（ＰＲＯＦＩＬＥＡＴＴＲＳ以外）、要求されたプロパティをリストするための異なる構文または指定されたワイルドカードもしくは必須の属性のための異なる構文をはじめとする多様な異なるフォーマットを使用してもよいことが理解される。これらの代替態様は、本明細書における発明的構成概念の価値を減じるものではないことが理解されよう。
【００３８】
ユーザが、ＰＲＯＦＩＬＥＡＴＴＲＳ属性で注釈されたリンクを選択すると、ブラウザ・ソフトウェアは、提供すべき要求されたプロパティのセットを決定し、続いて、リンクされたドキュメントのための要求を生成して、選択されたセットのプロパティを要求内に埋め込む責任を負う。どの要求されたプロパティを提供するかを決定する際、クライアントは、場合によっては、この情報を公開してもよいという確認を求めてユーザに問い合わせてもよい。これは、要求されたクライアント・プロパティが機密を要するものであると考えられるとき、特に適切である。
【００３９】
次に図９を参照すると、リンクされたドキュメントに対する要求とともに特定のプロパティを含めるべきかどうかをユーザに問い合わせるユーザ・インタフェース対話が示されている。対話４００は、少なくとも、リンクされたドキュメントの場所４０１、要求されている特定のプロパティ４０２ならびにプロパティを伝送すべきか伝送すべきでないかをユーザが示すことを許す選択装置４０３および４０４を含む。図９は、問い合わせ対話の特定の実施態様を示すが、代替態様が、音声ベースのインタフェースを含むものでもよい他のフォーマットでこの対話を提示してもよいことが理解される。これらの代替インタフェース態様は、本明細書における発明的概念の価値を減じるものではない。
【００４０】
次に図１０を参照すると、ユーザがＰＲＯＦＩＬＥＡＴＴＲＳ属性で注釈されたドキュメント・リンクを選択するときクライアントによって実行されるステップを示す流れ図が示されている。ブロック５００で、ユーザが、ＰＲＯＦＩＬＥＡＴＴＲＳ属性で注釈されたドキュメント・リンクを選択し、伝送プロパティ・リストが初期化されて空になる。決定ブロック５０５で、ＰＲＯＦＩＬＥＡＴＴＲＳ属性内でリストされたプロパティがさらにあるかどうかを決定する。リストされたプロパティがワイルドカードであるならば、このプロパティは、以下に論じる決定ブロック５０５およびブロック５１０のために、すべてのマッチするプロパティ名のリストに拡張されることが理解される。決定ブロック５０５に対する回答がＮＯであるならば、処理はブロック５９０に進み、そこでドキュメント要求を伝送プロパティとともに送る。すると、処理はブロック５９５で終了する。
【００４１】
図１０を続けると、決定ブロック５０５に対する回答がＹＥＳならば、ブロック５１０で、ＰＲＯＦＩＬＥＡＴＴＲＳリスト中の次のプロパティを選択する（ここでもまた、ワイルドカードはその個々のプロパティに拡張されると仮定）。決定ブロック５１５で、クライアントは、選択されたプロパティを伝送することができるかどうかを決定する。決定ブロック５１５に対する回答がＮＯであるならば、制御は決定ブロック５２０に進み、そこで、選択されたプロパティが必須であるかどうかを決定する。決定ブロック５２０に対する回答がＮＯであるならば、制御は決定ブロック５０５に戻り、そこで次のプロパティを処理する。決定ブロック５２０に対する回答がＹＥＳであるならば、必須プロパティが利用できないため、要求を正常に伝送することができないと判断される。制御はブロック５９５に進み、そこでプロセスは終了する。
【００４２】
図１０を続けると、決定ブロック５１５に対する回答がＹＥＳであるならば、制御は決定ブロック５２５に進み、そこで、選択されたプロパティを要求とともに提供するかどうかを確認するためにユーザに問い合わせしなければならないかどうかを決定する。この決定は、クライアント上でコンフィギュレーション・ファイルまたはデータベースにアクセスすることによって実施することができる。決定ブロック５２５に対する回答がＹＥＳであるならば、ブロック５３０で、リンクされたドキュメント要求とともにプロパティを含める許可を求めてユーザに問い合わせる。この問い合わせは、対話、たとえば図９に示す対話の形態をとることができる。決定ブロック５３５で、ユーザがプロパティを要求とともに伝送することに同意したかどうかを決定する。決定ブロック５３５に対する回答がＮＯであるならば、制御は決定ブロック５２０に進み、そこで、拒絶された必須プロパティが要求を終了させる。
【００４３】
図１０を続けると、決定ブロック５２５に対する回答がＮＯである（ユーザに催促する必要はない）か、決定ブロック５３５に対する回答がＹＥＳである（ユーザがリンクされたドキュメント要求とともにプロパティを伝送することに同意した）ならば、制御はブロック５４０に進む。ブロック５４０で、選択されたプロパティを、後でリンクされたドキュメント要求に挿入するため、伝送プロパティのリストに加える。そして、制御は決定ブロック５０５に戻り、次のプロパティを処理する。
【００４４】
このようにして、クライアントは、要求されたプロパティをドキュメント要求とともに含め、適宜、プロパティの包含をユーザに確認し、必須プロパティを送ることができない（またはそれが許されない）ならば、要求を終了させる。
【００４５】
本発明をその特定の好ましい実施態様に関して説明したが、種々の変更および変形が当業者に察知され、本発明は、請求の範囲に該当するそのような変更および変形を包含することを意図する。
【００４６】
まとめとして、本発明の構成に関して以下の事項を開示する。
（１）ネットワーク環境においてサーバが標的コンテンツを選択または生成するために使用することができるクライアント・プロパティを指定する方法であって、
複数の要求されたクライアント・プロパティに対応するリンク要素を受けるステップと、
前記リンク要素を選択するステップと、
前記複数の要求されたクライアント・プロパティの少なくとも一つを、ドキュメントを検索するための要求に挿入するステップと、
を含む方法。
（２）前記複数の要求されたクライアント・プロパティが前記リンク要素の属性の中に含まれる、上記（１）記載の方法。
（３）前記属性がＰＲＯＦＩＬＥＡＴＴＲＳ属性である、上記（２）記載の方法。
（４）前記要求されたクライアント・プロパティそれぞれ一つがカテゴリー、分離文字およびプロパティ名を含む、上記（１）記載の方法。
（５）前記複数の要求されたクライアント・プロパティが、ワイルドカードである少なくとも一つのプロパティを含む、上記（１）記載の方法。
（６）前記複数の要求されたクライアント・プロパティが、必須プロパティとして指定された少なくとも一つのプロパティを含む、上記（１）記載の方法。
（７）前記挿入するステップが、
前記複数の要求されたクライアント・プロパティからそれぞれ一つのプロパティを選択するステップと、
前記それぞれ一つのプロパティが伝送可能であるかどうかを決定するステップと、
を含む、上記（１）記載の方法。
（８）前記選択するステップが、ワイルドカード・プロパティを拡張することをさらに含む、上記（７）記載の方法。
（９）前記決定するステップが、前記それぞれ一つのプロパティを伝送するのかどうかユーザに催促することをさらに含む、上記（７）記載の方法。
（１０）必須プロパティが伝送不可能であるならば要求を打ち切るステップをさらに含む、上記（７）記載の方法。
（１１）ネットワーク環境においてサーバが標的コンテンツを選択または生成するために使用することができるクライアント・プロパティを指定するためのシステムであって、
複数の要求されたクライアント・プロパティに対応するリンク要素を受けるための手段と、
前記リンク要素を選択するための手段と、
前記複数の要求されたクライアント・プロパティの少なくとも一つを、ドキュメントを検索するための要求に挿入するための手段と、
を含むシステム。
（１２）前記複数の要求されたクライアント・プロパティが前記リンク要素の属性の中に含まれる、上記（１１）記載のシステム。
（１３）前記属性がＰＲＯＦＩＬＥＡＴＴＲＳ属性である、上記（１２）記載のシステム。
（１４）前記要求されたクライアント・プロパティそれぞれ一つがカテゴリー、分離文字およびプロパティ名を含む、上記（１１）記載のシステム。
（１５）前記複数の要求されたクライアント・プロパティが、ワイルドカードである少なくとも一つのプロパティを含む、上記（１１）記載のシステム。
（１６）前記複数の要求されたクライアント・プロパティが、必須プロパティとして指定された少なくとも一つのプロパティを含む、上記（１１）記載のシステム。
（１７）前記挿入するための手段が、
前記複数の要求されたクライアント・プロパティからそれぞれ一つのプロパティを選択するための手段と、
前記それぞれ一つのプロパティが伝送可能であるかどうかを決定するための手段と、
を含む、上記（１１）記載のシステム。
（１８）前記選択するための手段が、ワイルドカード・プロパティを拡張するための手段をさらに含む、上記（１７）記載のシステム。
（１９）前記決定するための手段が、前記それぞれ一つのプロパティを伝送するのかどうかユーザに催促するための手段をさらに含む、上記（１７）記載のシステム。
（２０）必須プロパティが伝送不可能であるならば要求を打ち切るための手段をさらに含む、上記（１７）記載のシステム。
（２１）ネットワーク環境においてサーバが標的コンテンツを選択または生成するために使用することができるクライアント・プロパティを指定するための、コンピュータ読み取り可能な媒体に記録されたコンピュータ・プログラム製品であって、
複数の要求されたクライアント・プロパティに対応するリンク要素を受けるためのコンピュータ読み取り可能な手段と、
前記リンク要素を選択するためのコンピュータ読み取り可能な手段と、
前記複数の要求されたクライアント・プロパティの少なくとも一つを、ドキュメントを検索するための要求に挿入するためのコンピュータ読み取り可能な手段と、
を含むプログラム製品。
（２２）前記複数の要求されたクライアント・プロパティが前記リンク要素の属性の中に含まれる、上記（２１）記載のプログラム製品。
（２３）前記属性がＰＲＯＦＩＬＥＡＴＴＲＳ属性である、上記（２２）記載のプログラム製品。
（２４）前記要求されたクライアント・プロパティそれぞれ一つがカテゴリー、分離文字およびプロパティ名を含む、上記（２１）記載のプログラム製品。
（２５）前記複数の要求されたクライアント・プロパティが、ワイルドカードである少なくとも一つのプロパティを含む、上記（２１）記載のプログラム製品。
（２６）前記複数の要求されたクライアント・プロパティが、必須プロパティとして指定された少なくとも一つのプロパティを含む、上記（２１）記載のプログラム製品。
（２７）前記挿入するためのコンピュータ読み取り可能な手段が、
前記複数の要求されたクライアント・プロパティからそれぞれ一つのプロパティを選択するためのコンピュータ読み取り可能な手段と、
前記それぞれ一つのプロパティが伝送可能であるかどうかを決定するためのコンピュータ読み取り可能な手段と、
を含む、上記（２１）記載のプログラム製品。
（２８）前記選択するためのコンピュータ読み取り可能な手段が、ワイルドカード・プロパティを拡張するためのコンピュータ読み取り可能な手段をさらに含む、上記（２７）記載のプログラム製品。
（２９）前記決定するためのコンピュータ読み取り可能な手段が、前記それぞれ一つのプロパティを伝送するのかどうかユーザに催促するためのコンピュータ読み取り可能な手段をさらに含む、上記（２７）記載のプログラム製品。
（３０）必須プロパティが伝送不可能であるならば要求を打ち切るためのコンピュータ読み取り可能な手段をさらに含む、上記（２７）記載のプログラム製品。
【図面の簡単な説明】
【図１】  本発明を具現化するために利用することができる分散データ処理システムを表す図である。
【図２】  本発明にしたがってサーバとして具現化することができるデータ処理システムを表すブロック図である。
【図３】  本発明を具現化することができるデータ処理システムを示すブロック図である。
【図４】  他のウェブ・ドキュメントを検索するためのリンクを含むＨＴＭＬドキュメント例を示す図である。
【図５】  他のウェブ・ドキュメントを検索するためのリンクを含むＷＭＬドキュメント例を示す図である。
【図６】  本発明にしたがって、要求されたクライアント・プロパティで注釈されたリンク要素を示す図である。
【図７】  本発明にしたがって、要求されたクライアント・プロパティで注釈されたリンク要素を示す図である。
【図８】  本発明にしたがって、要求されたクライアント・プロパティで注釈されたリンク要素を示す図である。
【図９】  本発明にしたがって、リンクされたドキュメント要求とともに特定のプロパティを含めるかどうかをユーザに問い合わせる対話例を示す図である。
【図１０】  本発明にしたがって、ユーザが注釈リンクをたどることを選択したときにクライアントで実行される処理を表す流れ図である。
【符号の説明】
３００  データ処理システム
３０２  プロセッサ
３０４  主メモリ
３０６  ＰＣＩローカル・バス
３０８  ＰＣＩブリッジ
３１０  ＬＡＮアダプタ
３１２  ＳＣＳＩ）ホスト・バス・アダプタ
３１４  拡張バス・インタフェース
３１６  オーディオ・アダプタ
３１８  グラフィックス・アダプタ
３１９  オーディオ／ビデオ・アダプタ
３２０  キーボードおよびマウス・アダプタ
３２２  モデム
３２４  メモリ
３２６  ハードディスク・ドライブ
３２８  テープ・ドライブ
３３０  ＣＤ−ＲＯＭドライブ
【図１】
0003980287.tif 000002
【図２】
0003980287.tif 000003
【図３】
0003980287.tif 000004
【図４】
0003980287.tif 000005
【図５】
0003980287.tif 000006
【図６】
0003980287.tif 000007
【図７】
0003980287.tif 000008
【図８】
0003980287.tif 000009
【図９】
0003980287.tif 000010
【図１０】
0003980287.tif 000011