(57)【要約】      （修正有）【課題】スマートナビゲーションサービスをプロビジョニングする。【解決手段】プロビジョニングされる情報は、少なくとも１つのネットワークロケータに相関するエンティティ名、キーワード、及び場合によっては他のデータを含む。ナビゲーションサービスは、エンティティ名、キーワード及び用いられる場合、他のデータを、少なくとも１つのネットワークロケータに相関付けるルールをナビゲーションサービス永続性メモリに電子的に記憶する。それによって、このナビゲーションサービスに通信可能に結合されたクライアントコンピュータから、エンティティ名、キーワード及び場合によっては他のデータを含むコマンドデータを受信すると、少なくとも１つのネットワークロケータを用いてクライアントコンピュータに応答する。【選択図】図１
2016045965.tif 000002
【特許請求の範囲】
【請求項１】
ナビゲーションサービスをプロビジョニングする方法であって、
コンピュータネットワークを介して、キーワードと、名前所有者に関連付けられたエンティティ名と、他のデータとを含むコマンドデータを解決して、キーワードサービスを用いて少なくとも１つのネットワークロケータに変換するための電子認可を受信するステップであって、前記キーワードサービスは、少なくとも前記エンティティ名及び前記他のデータを前記少なくとも１つのネットワークロケータに相関付ける少なくとも１つのルールをキーワードサービス永続性メモリに記憶するステップと、
前記キーワードサービスのためのネットワークロケータを取得するステップと、
コンピュータネットワークを介して、クライアントコンピュータから、前記エンティティ名及び前記他のデータを含むコマンドデータを受信するステップと、
コンピュータネットワークを介して、前記コマンドデータへの応答を提供するステップであって、前記クライアントコンピュータは前記少なくとも１つのネットワークロケータを取得するステップと、
を含む、ナビゲーションサービスをプロビジョニングする方法。
【請求項２】
前記クライアントコンピュータは、前記ナビゲーションサービスから前記少なくとも１つのネットワークロケータを取得し、前記方法は、
コンピュータネットワークを介して、前記キーワードサービスに、少なくとも前記エンティティ名及び前記他のデータを提供するステップであって、前記キーワードサービスが、前記エンティティ名及び前記他のデータを前記少なくとも１つのネットワークロケータに相関付けるステップと、
コンピュータネットワークを介して、前記キーワードサービスから、前記少なくとも１つのネットワークロケータを取得するステップと、
を含み、
前記コンピュータネットワークを介して、前記コマンドデータへの前記応答を前記提供するステップは、前記少なくとも１つのネットワークロケータを前記クライアントコンピュータに提供するステップを含む、請求項１に記載の方法。
【請求項３】
前記クライアントコンピュータは前記キーワードサービスから前記少なくとも１つのネットワークロケータを取得し、前記方法は、
前記エンティティ名及び前記キーワードを、前記キーワードサービスのための前記ネットワークロケータに相関付けるステップを更に含み、
前記コンピュータネットワークを介して、前記コマンドデータへの前記応答を前記提供するステップは、前記キーワードサービスのための前記ネットワークロケータを前記クライアントコンピュータに提供するステップを含み、
前記クライアントコンピュータは、少なくとも前記エンティティ名及び前記他のデータを前記キーワードサービスに提供し、前記キーワードサービスは前記エンティティ名及び前記他のデータを前記少なくとも１つのネットワークロケータに相関付け、前記クライアントコンピュータは前記少なくとも１つのネットワークロケータを前記キーワードサービスから受信する、請求項１に記載の方法。
【請求項４】
前記クライアントは、前記少なくとも１つのネットワークロケータを前記キーワードサービスから取得し、
前記コンピュータネットワークを介して、前記コマンドデータへの前記応答を提供するステップは、少なくとも前記エンティティ名と、前記他のデータと、前記クライアントコンピュータの識別子とを前記キーワードサービスに提供するステップを含み、
前記キーワードサービスは、少なくとも前記エンティティ名及び前記他のデータを前記少なくとも１つのネットワークロケータに相関付け、前記少なくとも１つのネットワークロケータを前記クライアントコンピュータの前記識別子を用いて前記クライアントコンピュータに提供する、請求項１に記載の方法。
【請求項５】
前記他のデータはジオロケーションデータを含む、請求項１に記載の方法。
【請求項６】
前記他のデータは、言語を特定するデータを含む、請求項１に記載の方法。
【請求項７】
前記コマンドデータは、前記クライアントコンピュータに提供されるコマンド文字列から導出され、前記コマンド文字列は、名前部分及びキーワード部分からなり、前記名前部分は、前記名前及び該名前に隣接する名前空間識別子を含み、前記キーワード部分は前記キーワードを含む、請求項１に記載の方法。
【請求項８】
前記キーワード部分は、前記キーワードに隣接するキーワードデリミタを更に含み、該キーワードデリミタは、＃、！、「．」、＄及び｜からなる群から選択され、前記名前空間識別子は、＠、ｆｂ、ｉｎ及び「．」からなる群から選択される、請求項７に記載の方法。
【請求項９】
前記他のデータはユーザインタフェースを通じて前記クライアントコンピュータに提供され、前記コマンドデータは前記他のデータから更に導出される、請求項７又は８に記載の方法。
【請求項１０】
前記電子認可を前記受信するステップは、前記名前所有者又は前記キーワードサービスから前記電子認可を受信するステップを含む、請求項１に記載の方法。
【請求項１１】
前記少なくとも１つのネットワークロケータは、ユニフォームリソースロケータ（ＵＲＬ）を含む、請求項１に記載の方法。
【請求項１２】
前記ナビゲーションサービスは、ドメイン名システム（ＤＮＳ）サービスでない、請求項１に記載の方法。
【請求項１３】
例示的なキーワード及び前記エンティティ名を少なくとも１つの例示的なネットワークロケータに相関付ける少なくとも１つのルールをナビゲーションサービス永続性メモリに電子的に記憶するステップを更に含む、請求項１に記載の方法。
【請求項１４】
前記少なくとも１つのルールはデータベースクエリを指定する、請求項１に記載の方法。
【請求項１５】
少なくとも前記エンティティ名及び前記他のデータを前記少なくとも１つのネットワークロケータに相関付ける前記少なくとも１つのルールは、前記キーワード、前記エンティティ名及び前記他のデータを前記少なくとも１つのネットワークロケータに相関付け、
前記コマンドデータは前記キーワードを更に含む、請求項１に記載の方法。
【請求項１６】
ナビゲーションサービスをプロビジョニングするためのシステムであって、
コンピュータネットワークに通信可能に接続され、該コンピュータネットワークを介して、キーワードと、名前所有者に関連付けられたエンティティ名と、他のデータとを含むコマンドデータを解決して、少なくとも１つのキーワードサービスサーバコンピュータを備えるキーワードサービスを用いて少なくとも１つのネットワークロケータに変換するための電子認可を受信するように構成される少なくとも１つのナビゲーションサービスサーバコンピュータであって、前記キーワードサービスは、少なくとも前記エンティティ名及び前記他のデータを前記少なくとも１つのネットワークロケータに相関付ける少なくとも１つのルールをキーワードサービス永続性メモリに記憶する、少なくとも１つのナビゲーションサービスサーバコンピュータと、
前記キーワードサービスのためのネットワークロケータを記憶するように構成される電子メモリと、
を備え、
前記少なくとも１つのナビゲーションサービスサーバコンピュータは、前記コンピュータネットワークを介して、クライアントコンピュータから、前記エンティティ名及び前記他のデータを含むコマンドデータを受信し、前記コンピュータネットワークを介して、前記コマンドデータへの応答を提供するように更に構成され、
前記クライアントコンピュータは、前記少なくとも１つのネットワークロケータを取得する、ナビゲーションサービスをプロビジョニングするためのシステム。
【請求項１７】
前記クライアントコンピュータは、前記ナビゲーションサービスから前記少なくとも１つのネットワークロケータを取得し、
前記少なくとも１つのナビゲーションサービスサーバコンピュータは、
コンピュータネットワークを介して、前記キーワードサービスに、少なくとも前記エンティティ名及び前記他のデータを提供し、これにより、前記キーワードサービスは、前記エンティティ名及び前記他のデータを前記少なくとも１つのネットワークロケータに相関付け、
前記少なくとも１つのナビゲーションサービスサーバコンピュータは、コンピュータネットワークを介して、前記キーワードサービスから、前記少なくとも１つのネットワークロケータを取得するように更に構成され、
前記少なくとも１つのナビゲーションサービスサーバコンピュータは、前記少なくとも１つのネットワークロケータを前記クライアントコンピュータに提供することによって、前記コンピュータネットワークを介して、前記コマンドデータへの前記応答を提供するように更に構成される、請求項１６に記載のシステム。
【請求項１８】
前記クライアントコンピュータは、前記キーワードサービスから前記少なくとも１つのネットワークロケータを取得し、
前記少なくとも１つのナビゲーションサービスサーバコンピュータは、
前記エンティティ名及び前記キーワードを、前記キーワードサービスのための前記ネットワークロケータに相関付けるように更に構成され、
前記少なくとも１つのナビゲーションサービスサーバコンピュータは、前記キーワードサービスのための前記ネットワークロケータを前記クライアントコンピュータに提供することによって、前記コンピュータネットワークを介して、前記コマンドデータへの前記応答を提供するように更に構成され、
前記クライアントコンピュータは、少なくとも前記エンティティ名及び前記他のデータを前記キーワードサービスに提供し、前記キーワードサービスは前記エンティティ名及び前記他のデータを前記少なくとも１つのネットワークロケータに相関付け、前記クライアントコンピュータは前記少なくとも１つのネットワークロケータを前記キーワードサービスから受信する、請求項１６に記載のシステム。
【請求項１９】
前記クライアントは、前記少なくとも１つのネットワークロケータを前記キーワードサービスから取得し、
前記少なくとも１つのナビゲーションサービスサーバコンピュータは、前記コンピュータネットワークを介して、少なくとも前記エンティティ名と、前記他のデータと、前記クライアントコンピュータの識別子とを前記キーワードサービスに提供することによって、前記コマンドデータへの前記応答を提供するように更に構成され、
前記キーワードサービスは、少なくとも前記エンティティ名及び前記他のデータを前記少なくとも１つのネットワークロケータに相関付け、前記少なくとも１つのネットワークロケータを前記クライアントコンピュータの前記識別子を用いて前記クライアントコンピュータに提供する、請求項１６に記載のシステム。
【請求項２０】
前記他のデータはジオロケーションデータを含む、請求項１６に記載のシステム。
【請求項２１】
前記他のデータは、言語を特定するデータを含む、請求項１６に記載のシステム。
【請求項２２】
前記コマンドデータは、前記クライアントコンピュータに提供されるコマンド文字列から導出され、前記コマンド文字列は、名前部分及びキーワード部分からなり、前記名前部分は、前記名前及び該名前に隣接する名前空間識別子を含み、前記キーワード部分は前記キーワードを含む、請求項１６に記載のシステム。
【請求項２３】
前記キーワード部分は、前記キーワードに隣接するキーワードデリミタを更に含み、該キーワードデリミタは、＃、！、「．」、＄及び｜からなる群から選択され、前記名前空間識別子は、＠、ｆｂ、ｉｎ及び「．」からなる群から選択される、請求項２２に記載のシステム。
【請求項２４】
前記他のデータはユーザインタフェースを通じて前記クライアントコンピュータに提供され、前記コマンドデータは前記他のデータから更に導出される、請求項２２又は２３に記載のシステム。
【請求項２５】
前記少なくとも１つのナビゲーションサービスサーバコンピュータは、前記名前所有者又は前記キーワードサービスから前記電子認可を受信することによって前記電子認可を受信するように更に構成される、請求項１６に記載のシステム。
【請求項２６】
前記少なくとも１つのネットワークロケータはユニフォームリソースロケータ（ＵＲＬ）を含む、請求項１６に記載のシステム。
【請求項２７】
前記ナビゲーションサービスは、ドメイン名システム（ＤＮＳ）サービスでない、請求項１６に記載のシステム。
【請求項２８】
前記少なくとも１つのナビゲーションサービスサーバコンピュータは、例示的なキーワード及び前記エンティティ名を少なくとも１つの例示的なネットワークロケータに相関付ける少なくとも１つのルールをナビゲーションサービス永続性メモリに記憶するように更に構成される、請求項１６に記載のシステム。
【請求項２９】
前記少なくとも１つのルールはデータベースクエリを指定する、請求項１６に記載のシステム。
【請求項３０】
少なくとも前記エンティティ名及び前記他のデータを前記少なくとも１つのネットワークロケータに相関付ける前記少なくとも１つのルールは、前記キーワード、前記エンティティ名及び前記他のデータを前記少なくとも１つのネットワークロケータに相関付け、
前記コマンドデータは前記キーワードを更に含む、請求項１６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、２０１４年８月２５日に出願された、「Ｋｅｙｗｏｒｄ  Ｓｅｒｖｉｃｅｓ  ｆｏｒ  Ｓｍａｒｔ  Ｎａｖｉｇａｔｉｏｎ」と題する米国特許仮出願第６２／０４１，３８４号明細書の優先権及び利益を主張する。
【０００２】
本出願は、２０１４年２月１０日に出願された、「Ｓｍａｒｔ  Ｎａｖｉｇａｔｉｏｎ  Ｓｅｒｖｉｃｅｓ」と題する係属中の米国特許出願第１４／１７６，７２３号明細書の一部継続出願であり、この米国特許出願第１４／１７６，７２３号明細書の優先権及び利益を主張する。
【０００３】
２０１４年２月１０日に出願された、「Ｓｍａｒｔ  Ｎａｖｉｇａｔｉｏｎ  Ｓｅｒｖｉｃｅｓ」と題する米国特許出願第１４／１７６，７２３号明細書は、２０１１年３月１４日に出願された米国特許仮出願第６１／４５２，５１６号明細書の利益を主張する、２０１１年９月３０日に出願された、「Ｍｅｔｈｏｄｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｆｏｒ  Ｐｒｏｖｉｄｉｎｇ  Ｃｏｎｔｅｎｔ  Ｐｒｏｖｉｄｅｒ−Ｓｐｅｃｉｆｉｅｄ  ＵＲＬ  Ｋｅｙｗｏｒｄ  Ｎａｖｉｇａｔｉｏｎ」と題する係属中の米国特許出願第１３／２５０，８６４号明細書の一部継続出願であり、この米国特許出願第１３／２５０，８６４号明細書の優先権及び利益を主張する。米国特許出願第１３／２５０，８６４号は、２０１１年３月１４日に出願された米国特許仮出願第６１／４５２，５１６号明細書の利益を主張する。これらの特許文献の開示は、参照によりその全体が本明細書に組み込まれている。
【０００４】
２０１４年２月１０日に出願された、「Ｓｍａｒｔ  Ｎａｖｉｇａｔｉｏｎ  Ｓｅｒｖｉｃｅｓ」と題する米国特許出願第１４／１７６，７２３号は、２０１１年９月３０日に出願された米国特許出願第１３／２５０，８６４号明細書の一部継続出願である、２０１２年９月１９日に出願された、「Ｍｅｔｈｏｄｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｆｏｒ  Ｐｒｏｖｉｄｉｎｇ  Ｃｏｎｔｅｎｔ  Ｐｒｏｖｉｄｅｒ−Ｓｐｅｃｉｆｉｅｄ  ＵＲＬ  Ｋｅｙｗｏｒｄ  Ｎａｖｉｇａｔｉｏｎ」と題する係属中の米国特許出願第１３／６２２，５４１号明細書の一部継続出願でもあり、この米国特許出願第１３／６２２，５４１号明細書の優先権及び利益を主張する。米国特許出願第１３／２５０，８６４号明細書は、２０１１年３月１４日に出願された米国特許仮出願第６１／４５２，５１６号明細書の利益を主張する。これらの特許文献の開示は、参照によりその全体が本明細書に組み込まれている。
【０００５】
２０１４年２月１０日に出願された、「Ｓｍａｒｔ  Ｎａｖｉｇａｔｉｏｎ  Ｓｅｒｖｉｃｅｓ」と題する米国特許出願第１４／１７６，７２３号明細書は、２０１３年４月７日に出願された、「Ｄｅｓｉｒｅｄ  Ｒｅｓｏｕｒｃｅ  Ｎａｖｉｇａｔｉｏｎ」と題する係属中の米国特許仮出願第６１／８０９，３７７号明細書、２０１３年４月１２日に出願された、「Ｄｅｓｉｒｅｄ  Ｒｅｓｏｕｒｃｅ  Ｎａｖｉｇａｔｉｏｎ」と題する係属中の米国特許仮出願第６１／８１１，２３４号明細書、及び２０１３年５月７日に出願された、「Ｓｍａｒｔ  Ｎａｖｉｇａｔｉｏｎ  ｉｎ  Ｇｅｎｅｒａｌ  Ｎａｍｅ  Ｓｐａｃｅｓ」と題する係属中の米国特許出願第６１／８２０，３９１号明細書の利益も主張する。これらの特許文献の開示は、参照によりその全体が本明細書に組み込まれている。
【発明の概要】
【課題を解決するための手段】
【０００６】
様々な実施形態によれば、名前所有者の代わりに、キーワードサービスによって、ナビゲーションサービスをプロビジョニングする方法が開示される。本方法は、コンピュータネットワークを介して、キーワードと名前所有者に関連付けられたエンティティ名との双方に関連して少なくとも１つのネットワークロケータをナビゲーションサービスにプロビジョニングするための電子認可を受信するステップと、ナビゲーションサービスに、コンピュータネットワークを介して、少なくともキーワード及びエンティティ名を少なくとも１つのネットワークロケータに相関付ける少なくとも１つのルールを提供するステップとを含み、それによって、ナビゲーションサービスは、少なくとも１つのルールをナビゲーションサービス永続性メモリに電子的に記憶し、それによって、ナビゲーションサービスは、このナビゲーションサービスに通信可能に結合されたクライアントコンピュータから、エンティティ名及びキーワードを含むコマンドデータを受信すると、少なくとも１つのネットワークロケータを用いてクライアントコンピュータに応答する。
【０００７】
上記の実施形態の様々な任意選択の特徴は以下を含む。電子認可を受信するステップは、名前所有者又はキーワードサービスから電子認可を受信するステップを含むことができる。少なくとも１つのネットワークロケータはユニフォームリソースロケータ（ＵＲＬ）を含むことができる。ナビゲーションサービスはドメイン名システム（ＤＮＳ）サービスでない場合がある。本方法は、名前所有者に、キーワード及びエンティティ名の双方に関連して少なくとも１つのネットワークロケータをプロビジョニングすることを要請するステップを含むことができ、要請するステップは、コンピュータネットワークを介して名前所有者に電子メッセージを送信するステップを含む。電子メッセージは、推奨されるネットワークロケータを含むことができる。本方法は、コンピュータネットワークを介して、キーワード及びそれぞれのエンティティ名に関連してそれぞれの少なくとも１つのネットワークロケータをプロビジョニングするための、それぞれの名前所有者の複数の電子認可を受信するステップと、コンピュータネットワークを介してナビゲーションサービスに、キーワード及びそれぞれのエンティティ名をそれぞれの少なくとも１つのネットワークロケータに相関付けるそれぞれの少なくとも１つのルールを提供するステップとを含むことができる。コマンドデータは、クライアントコンピュータに提供されるコマンド文字列から導出することができる。コマンド文字列は、名前部分及びキーワード部分からなり、名前部分は名前及び名前に隣接する名前空間識別子を含み、キーワード部分はキーワードを含む。キーワード部分は、キーワードに隣接するキーワードデリミタを更に含むことができ、キーワードデリミタは、＃、！、「．」、＄及び｜からなる群から選択され、名前空間識別子は、＠、ｆｂ、ｉｎ及び「．」からなる群から選択される。本方法は、提供と引き換えに、名前所有者から金銭的な補償を受けることを含むことができる。少なくとも１つのルールは、キーワード、エンティティ名及び他のデータを少なくとも１つのネットワークロケータに相関付けることができ、それによって、ナビゲーションサービスは、少なくとも１つのルールを永続性メモリに電子的に記憶し、それによって、ナビゲーションサービスは、クライアントコンピュータから、エンティティ名、キーワード及び他のデータを含むコマンドデータを受信すると、少なくとも１つのネットワークロケータを用いてクライアントコンピュータに応答する。他のデータはジオロケーションデータを含むことができる。他のデータは、言語を特定するデータを含むことができる。少なくとも１つのルールはデータベースクエリを指定することができる。
【０００８】
様々な実施形態によれば、名前所有者の代わりに、キーワードサービスによって、ナビゲーションサービスがプロビジョニングされる方法が開示される。本方法は、コンピュータネットワークを介して、キーワードと名前所有者に関連付けられたエンティティ名との双方に関連して少なくとも１つのネットワークロケータをナビゲーションサービスにプロビジョニングするための電子認可を受信するステップと、ナビゲーションサービスによって、キーワードサービスから、コンピュータネットワークを介して、少なくともキーワード及びエンティティ名を少なくとも１つのネットワークロケータに相関付ける少なくとも１つのルールを受信するステップと、少なくとも１つのルールをナビゲーションサービス永続性メモリに電子的に記憶するステップと、ナビゲーションサービスに通信可能に接続されたクライアントコンピュータから、コンピュータネットワークを介して、エンティティ名及びキーワードを含むコマンドデータを受信するステップと、少なくとも１つのルールをコマンドデータに適用して、少なくとも１つのネットワークロケータを取得するステップと、コンピュータネットワークを介して、少なくともネットワークロケータをクライアントコンピュータに提供するステップと、を含む。
【０００９】
上記の実施形態の様々な任意選択の特徴は以下を含む。電子認可を受信するステップは、名前所有者又はキーワードサービスから電子認可を受信するステップを含むことができる。少なくとも１つのネットワークロケータはユニフォームリソースロケータ（ＵＲＬ）を含むことができる。ナビゲーションサービスはドメイン名システム（ＤＮＳ）サービスでない場合がある。本方法は、名前所有者に、ナビゲーションサービスをプロビジョニングするキーワードサービスを認可することを要請するステップを含むことができる。要請するステップは、コンピュータネットワークを介して名前所有者に電子メッセージを送信するステップを含むことができる。本方法は、コンピュータネットワークを介して、キーワード及びそれぞれのエンティティ名に関連してそれぞれの少なくとも１つのネットワークロケータをプロビジョニングするための、それぞれの名前所有者の複数の電子認可を受信するステップと、ナビゲーションサービスによって、キーワードサービスから、コンピュータネットワークを介して、キーワード及びそれぞれのエンティティ名をそれぞれの少なくとも１つのネットワークロケータに相関付けるそれぞれの少なくとも１つのルールを受信するステップと、を含むことができる。コマンドデータは、クライアントコンピュータに提供されるコマンド文字列から導出することができる。コマンド文字列は、名前部分及びキーワード部分からなり、名前部分は名前及び名前に隣接する名前空間識別子を含み、キーワード部分はキーワードを含む。キーワード部分は、キーワードに隣接するキーワードデリミタを更に含むことができ、キーワードデリミタは、＃、！、「．」、＄及び｜からなる群から選択され、名前空間識別子は、＠、ｆｂ、ｉｎ及び「．」からなる群から選択される。本方法は、電子的関連付けの受信について、キーワードサービスに金銭的な補償を提供することを含むことができる。本方法は、少なくとも１つの例示的なネットワークロケータを例示的なキーワード及びエンティティ名に相関付ける少なくとも１つのルールをナビゲーションサービス永続性メモリに電子的に記憶するステップを含むことができる。本方法は、名前所有者に電子インタフェースを提供するステップと、名前所有者から、コンピュータネットワークを介して、及び電子インタフェースを通じて、追加の少なくとも１つのネットワークロケータ、追加のキーワード及びエンティティ名の電子的関連付けを受信するステップと、追加のキーワード及びエンティティ名を少なくとも１つのネットワークロケータに相関付ける追加の少なくとも１つのルールをナビゲーションサービス永続性メモリに電子的に記憶するステップとを含むことができる。少なくともキーワード及びエンティティ名を少なくとも１つのネットワークロケータに相関付ける少なくとも１つの規則は、キーワード、エンティティ名及び他のデータを少なくとも１つのネットワークロケータに相関付けることができ、コマンドデータを受信するステップは、エンティティ名、キーワード及び他のデータを含むコマンドデータを受信するステップを含むことができる。他のデータはジオロケーションデータを含むことができる。他のデータは、言語を特定するデータを含むことができる。少なくとも１つのルールはデータベースクエリを指定することができる。
【００１０】
様々な実施形態によれば、ナビゲーションサービスがプロビジョニングされる方法が開示される。本方法は、コンピュータネットワークを介して、キーワードと、名前所有者に関連付けられたエンティティ名と、他のデータとに関連して少なくとも１つのネットワークロケータをナビゲーションサービスにプロビジョニングするための電子認可を受信するステップと、少なくとも１つのネットワークロケータと、キーワードと、他のデータとを取得するステップと、少なくともエンティティ名、キーワード及び他のデータを少なくとも１つのネットワークロケータに相関付ける少なくとも１つのルールをナビゲーションサービス永続性メモリに電子的に記憶するステップと、ナビゲーションサービスに通信可能に結合されたクライアントコンピュータから、コンピュータネットワークを介して、エンティティ名、キーワード及び他のデータを含むコマンドデータを受信するステップと、少なくとも１つのルールをコマンドデータに適用して、少なくとも１つのネットワークロケータを取得するステップと、コンピュータネットワークを介して、クライアントコンピュータに少なくともネットワークロケータを提供するステップと、を含む。
【００１１】
上記の実施形態の様々な任意選択の特徴は以下を含む。取得するステップは、生成するステップを含むことができる。本方法は、電子インタフェースを名前所有者に提供するステップを含むことができ、取得するステップは、名前所有者から、コンピュータネットワークを介して、及び電子インタフェースを通じて、少なくとも１つのネットワークロケータ、キーワード及び他のデータを取得するステップを含むことができる。他のデータはジオロケーションデータを含むことができる。他のデータは、言語を特定するデータを含むことができる。電子認可を受信するステップは、名前所有者から電子認可を受信するステップを含むことができる。少なくとも１つのネットワークロケータはユニフォームリソースロケータ（ＵＲＬ）を含むことができる。ナビゲーションサービスはドメイン名システム（ＤＮＳ）サービスでない。本方法は、コンピュータネットワークを介して、キーワード、それぞれのエンティティ名及びそれぞれの他のデータに関連してそれぞれの少なくとも１つのネットワークロケータをプロビジョニングするための、それぞれの名前所有者の複数の電子認可を受信するステップと、キーワード、それぞれのエンティティ名及びそれぞれの他のデータをそれぞれの少なくとも１つのネットワークロケータに相関付けるそれぞれの少なくとも１つのルールをナビゲーションサービス永続性メモリに電子的に記憶するステップとを含むことができる。コマンドデータは、クライアントコンピュータに提供されるコマンド文字列から導出することができる。コマンド文字列は、名前部分及びキーワード部分からなり、名前部分は、エンティティ名及びエンティティ名に隣接する名前空間識別子を含み、キーワード部分はキーワードを含む。キーワード部分は、キーワードに隣接するキーワードデリミタを更に含むことができ、キーワードデリミタは、＃、！、「．」、＄及び｜からなる群から選択され、名前空間識別子は、＠、ｆｂ、ｉｎ及び「．」からなる群から選択される。他のデータは、ユーザインタフェースを通じてクライアントコンピュータに提供することができ、コマンドデータは他のデータから更に導出される。本方法は、ナビゲーションサービス永続性メモリ内に例示的なキーワード及びエンティティ名に関連する少なくとも１つの例示的なネットワークロケータを電子的に記憶するステップを含むことができる。少なくとも１つの規則はデータベースクエリを指定することができる。
【００１２】
様々な実施形態によれば、キーワードサービス及びナビゲーションサービスをプロビジョニングする方法が開示される。本方法は、コンピュータネットワークを介して、キーワードと、名前所有者に関連付けられたエンティティ名と、他のデータとに関連して少なくとも１つのネットワークロケータをキーワードサービスにプロビジョニングするための電子認可を受信するステップと、少なくともエンティティ名及び他のデータを少なくとも１つのネットワークロケータに相関付ける少なくとも１つのルールをキーワードサービス永続性メモリに電子的に記憶するステップと、コンピュータネットワークを介して、ナビゲーションサービスに、キーワードサービスのためのネットワークロケータを提供するステップと、コンピュータネットワークを介して、キーワードサービスのためのネットワークロケータにおいて、エンティティ名及び他のデータを含むコマンドデータを受信するステップと、コンピュータネットワークを介して、少なくとも１つのネットワークロケータを含む情報を用いてコマンドデータに応答するステップと、を含むことができる。
【００１３】
上記の実施形態の様々な任意選択の特徴は以下を含む。他のデータはジオロケーションデータを含むことができる。他のデータは、言語を特定するデータを含むことができる。コマンドデータを受信するステップは、ナビゲーションサービスからコマンドデータを受信するステップを含むことができ、コマンドデータに応答するステップは、ナビゲーションサービスに応答するステップを含むことができる。コマンドデータを受信するステップは、クライアントコンピュータからコマンドデータを受信するステップを含むことができ、コマンドデータに応答するステップは、クライアントコンピュータに応答するステップを含むことができ、それによって、ナビゲーションサービスは、キーワードサービスのためのネットワークロケータをクライアントコンピュータに提供する。コマンドデータを受信するステップは、コマンドデータ及びクライアントコンピュータ識別子をナビゲーションサービスから受信するステップを含むことができ、コマンドデータに応答するステップは、クライアントコンピュータに応答するステップを含むことができる。コマンドデータは、クライアントコンピュータに提供されるコマンド文字列から導出することができ、コマンド文字列は、名前部分及びキーワード部分からなり、名前部分は、名前及び名前に隣接する名前空間識別子を含み、キーワード部分はキーワードを含む。キーワード部分は、キーワードに隣接するキーワードデリミタを更に含むことができ、キーワードデリミタは、＃、！、「．」、＄及び｜からなる群から選択され、名前空間識別子は、＠、ｆｂ、ｉｎ及び「．」からなる群から選択される。他のデータは、ユーザインタフェースを通じてクライアントコンピュータに提供することができ、コマンドデータは他のデータから更に導出される。電子認可を受信するステップは、名前所有者又はナビゲーションサービスから電子認可を受信するステップを含むことができる。少なくとも１つのネットワークロケータはユニフォームリソースロケータ（ＵＲＬ）を含むことができる。ナビゲーションサービスはドメイン名システム（ＤＮＳ）サービスでない場合がある。本方法は、名前所有者に、キーワード及びエンティティ名に関連して少なくとも１つのネットワークロケータをプロビジョニングすることを要請するステップを含むことができ、要請するステップは、コンピュータネットワークを介して名前所有者に電子メッセージを送信するステップを含む。電子メッセージは、推奨されるネットワークロケータを含むことができる。本方法は、コンピュータネットワークを介して、キーワード及びそれぞれのエンティティ名に関連してそれぞれの少なくとも１つのネットワークロケータをプロビジョニングするための、それぞれの名前所有者の複数の電子認可を受信するステップと、少なくともそれぞれのエンティティ名をそれぞれの少なくとも１つのネットワークロケータに相関付けるそれぞれの少なくとも１つのルールをキーワードサービス永続性メモリに電子的に記憶するステップとを含むことができる。少なくとも１つのルールはデータベースクエリを指定することができる。エンティティ名及び他のデータを少なくとも１つのネットワークロケータに相関付ける少なくとも１つのルールは、キーワード、エンティティ名及び他のデータを少なくとも１つのネットワークロケータに相関付けることができ、コマンドデータはキーワードを更に含むことができる。
【００１４】
様々な実施形態によれば、ナビゲーションサービスをプロビジョニングする方法が開示される。本方法は、コンピュータネットワークを介して、キーワードと、名前所有者に関連付けられたエンティティ名と、他のデータとを含むコマンドデータを解決して、キーワードサービスを用いて少なくとも１つのネットワークロケータに変換するための電子認可を受信するステップであって、それによって、キーワードサービスは、少なくともエンティティ名及び他のデータを少なくとも１つのネットワークロケータに相関付ける少なくとも１つのルールをキーワードサービス永続性メモリに記憶するステップと、キーワードサービスのためのネットワークロケータを取得するステップと、コンピュータネットワークを介して、クライアントコンピュータから、エンティティ名及び他のデータを含むコマンドデータを受信するステップと、コンピュータネットワークを介して、コマンドデータへの応答を提供するステップであって、それによって、クライアントコンピュータは少なくとも１つのネットワークロケータを取得するステップと、を含む。
【００１５】
上記の実施形態の様々な任意選択の特徴は以下を含む。クライアントコンピュータは、ナビゲーションサービスから少なくとも１つのネットワークロケータを取得することができる。ここで、本方法は、コンピュータネットワークを介して、キーワードサービスに、少なくともエンティティ名及び他のデータを提供するステップであって、それによって、キーワードサービスは、少なくともエンティティ名及び他のデータを少なくとも１つのネットワークロケータに相関付けるステップと、コンピュータネットワークを介して、キーワードサービスから、少なくとも１つのネットワークロケータを取得するステップとを更に含むことができる。ここで、コンピュータネットワークを介して、コマンドデータへの応答を提供するステップは、少なくとも１つのネットワークロケータをクライアントコンピュータに提供するステップを含む。クライアントコンピュータはキーワードサービスから少なくとも１つのネットワークロケータを取得することができる。ここで、本方法は、エンティティ名及びキーワードを、キーワードサービスのためのネットワークロケータに相関付けるステップを更に含むことができ、コンピュータネットワークを介して、コマンドデータへの応答を提供するステップは、キーワードサービスのためのネットワークロケータをクライアントコンピュータに提供するステップを含み、それによって、クライアントコンピュータは、少なくともエンティティ名及び他のデータをキーワードサービスに提供し、それによって、キーワードサービスはエンティティ名及び他のデータを少なくとも１つのネットワークロケータに相関付け、それによって、クライアントコンピュータは少なくとも１つのネットワークロケータをキーワードサービスから受信する。クライアントは、少なくとも１つのネットワークロケータをキーワードサービスから取得することができる。ここで、コンピュータネットワークを介して、コマンドデータへの応答を提供するステップは、エンティティ名と、他のデータと、クライアントコンピュータの識別子とをキーワードサービスに提供するステップを含み、それによって、キーワードサービスは、少なくともエンティティ名及び他のデータを少なくとも１つのネットワークロケータに相関付け、少なくとも１つのネットワークロケータをクライアントコンピュータの識別子を用いてクライアントコンピュータに提供する。他のデータはジオロケーションデータを含むことができる。他のデータは、言語を特定するデータを含むことができる。コマンドデータは、クライアントコンピュータに提供されるコマンド文字列から導出することができ、コマンド文字列は、名前部分及びキーワード部分からなり、名前部分は、名前及び名前に隣接する名前空間識別子を含み、キーワード部分はキーワードを含む。キーワード部分は、キーワードに隣接するキーワードデリミタを更に含むことができ、キーワードデリミタは、＃、！、「．」、＄及び｜からなる群から選択され、名前空間識別子は、＠、ｆｂ、ｉｎ及び「．」からなる群から選択される。他のデータはユーザインタフェースを通じてクライアントコンピュータに提供することができ、コマンドデータは他のデータから更に導出される。電子認可を受信するステップは、名前所有者又はキーワードサービスから電子認可を受信するステップを含むことができる。少なくとも１つのネットワークロケータはユニフォームリソースロケータ（ＵＲＬ）を含むことができる。ナビゲーションサービスは、ドメイン名システム（ＤＮＳ）サービスでない場合がある。本方法は、例示的なキーワード及びエンティティ名を少なくとも１つの例示的なネットワークロケータに相関付ける少なくとも１つのルールをナビゲーションサービス永続性メモリに電子的に記憶するステップを更に含むことができる。少なくとも１つのルールはデータベースクエリを指定することができる。少なくともエンティティ名及び他のデータを少なくとも１つのネットワークロケータに相関付ける少なくとも１つのルールは、キーワード、エンティティ名及び他のデータを少なくとも１つのネットワークロケータに相関付け、コマンドデータはキーワードを更に含む。
【００１６】
様々な実施形態によれば、名前所有者の代わりに、キーワードサービスによって、ナビゲーションサービスをプロビジョニングするためのシステムが開示される。システムは、コンピュータネットワークに通信可能に結合された少なくとも１つのキーワードサービスサーバを備え、このキーワードサービスサーバは、コンピュータネットワークを介して、キーワードと名前所有者に関連付けられたエンティティ名との双方に関連して少なくとも１つのネットワークロケータをナビゲーションサービスにプロビジョニングするための電子認可を受信し、コンピュータネットワークを介して、少なくともキーワード及びエンティティ名を少なくとも１つのネットワークロケータに相関付ける少なくとも１つのルールを、ナビゲーションサービスの少なくとの１つのナビゲーションサービスサーバコンピュータに提供するように構成され、それによって、ナビゲーションサービスは、少なくとも１つのルールをナビゲーションサービス永続性メモリに電子的に記憶し、それによって、ナビゲーションサービスは、このナビゲーションサービスに通信可能に結合されたクライアントコンピュータから、エンティティ名及びキーワードを含むコマンドデータを受信すると、少なくとも１つのネットワークロケータを用いてクライアントコンピュータに応答する。
【００１７】
上記の実施形態の様々な任意選択の特徴は以下を含む。電子認可は、名前所有者又はキーワードサービスから送信することができる。少なくとも１つのネットワークロケータはユニフォームリソースロケータ（ＵＲＬ）を含むことができる。ナビゲーションサービスはドメイン名システム（ＤＮＳ）サービスでない場合がある。キーワードサービスは、コンピュータネットワークを介して名前所有者に電子メッセージを送信することによって、名前所有者に、キーワード及びエンティティ名の双方に関連して少なくとも１つのネットワークロケータをプロビジョニングすることを要請するように更に構成することができる。電子メッセージは、推奨されるネットワークロケータを含むことができる。少なくとも１つのキーワードサービスサーバコンピュータは、コンピュータネットワークを介して、キーワード及びそれぞれのエンティティ名に関連してそれぞれの少なくとも１つのネットワークロケータをプロビジョニングするための、それぞれの名前所有者の複数の電子認可を受信し、コンピュータネットワークを介してナビゲーションサービスに、キーワード及びそれぞれのエンティティ名をそれぞれの少なくとも１つのネットワークロケータに相関付けるそれぞれの少なくとも１つのルールを提供するように更に構成することができる。コマンドデータは、クライアントコンピュータに提供されるコマンド文字列から導出することができる。コマンド文字列は、名前部分及びキーワード部分からなり、名前部分は名前及び名前に隣接する名前空間識別子を含み、キーワード部分はキーワードを含む。キーワード部分は、キーワードに隣接するキーワードデリミタを更に含むことができ、キーワードデリミタは、＃、！、「．」、＄及び｜からなる群から選択され、名前空間識別子は、＠、ｆｂ、ｉｎ及び「．」からなる群から選択される。キーワードサービスは、少なくとの１つのルールを提供することと引き換えに、名前所有者から金銭的な補償を受けることができる。少なくとも１つのルールは、キーワード、エンティティ名及び他のデータを少なくとも１つのネットワークロケータに相関付けることができ、それによって、ナビゲーションサービスは、少なくとも１つのルールをナビゲーションサービス永続性メモリに電子的に記憶し、それによって、ナビゲーションサービスは、クライアントコンピュータから、エンティティ名、キーワード及び他のデータを含むコマンドデータを受信すると、少なくとも１つのネットワークロケータを用いてクライアントコンピュータに応答する。他のデータはジオロケーションデータを含むことができる。他のデータは、言語を特定するデータを含むことができる。少なくとも１つのルールはデータベースクエリを指定することができる。
【００１８】
様々な実施形態によれば、名前所有者の代わりに、キーワードサービスによって、ナビゲーションサービスがプロビジョニングされるためのシステムが開示される。システムは、コンピュータネットワークに通信可能に接続される少なくとも１つのナビゲーションサービスサーバコンピュータを備える。このナビゲーションサービスサーバコンピュータは、コンピュータネットワークを介して、キーワードと名前所有者に関連付けられたエンティティ名との双方に関連して少なくとも１つのネットワークロケータをナビゲーションサービスにプロビジョニングするための電子認可を受信し、ナビゲーションサービスによって、キーワードサービスから、コンピュータネットワークを介して、少なくともキーワード及びエンティティ名を少なくとも１つのネットワークロケータに相関付ける少なくとも１つのルールを受信し、少なくとも１つのルールをナビゲーションサービス永続性メモリに電子的に記憶し、ナビゲーションサービスに通信可能に結合されたクライアントコンピュータから、コンピュータネットワークを介して、エンティティ名及びキーワードを含むコマンドデータを受信し、少なくとも１つのルールをコマンドデータに適用して、少なくとも１つのネットワークロケータを取得し、コンピュータネットワークを介して、少なくとも１つのネットワークロケータをクライアントコンピュータに提供するように構成される。
【００１９】
上記の実施形態の様々な任意選択の特徴は以下を含む。少なくとも１つのナビゲーションサービスサーバコンピュータは、名前所有者又はキーワードサービスから電子認可を受信することができる。少なくとも１つのネットワークロケータはユニフォームリソースロケータ（ＵＲＬ）を含むことができる。ナビゲーションサービスはドメイン名システム（ＤＮＳ）サービスでない場合がある。少なくとも１つのナビゲーションサービスサーバコンピュータは、名前所有者に、ナビゲーションサービスをプロビジョニングするキーワードサービスを認可することを要請するように構成することができる。少なくとも１つのナビゲーションサービスサーバコンピュータは、コンピュータネットワークを介して名前所有者に電子メッセージを送信することによって名前所有者に要請することができる。少なくとも１つのナビゲーションサービスサーバコンピュータは、コンピュータネットワークを介して、キーワード及びそれぞれのエンティティ名に関連してそれぞれの少なくとも１つのネットワークロケータをプロビジョニングするための、それぞれの名前所有者の複数の電子認可を受信し、キーワードサービスから、コンピュータネットワークを介して、キーワード及びそれぞれのエンティティ名をそれぞれの少なくとも１つのネットワークロケータに相関付けるそれぞれの少なくとも１つのルールを受信するように構成することができる。コマンドデータは、クライアントコンピュータに提供されるコマンド文字列から導出することができる。コマンド文字列は、名前部分及びキーワード部分からなり、名前部分は名前及び名前に隣接する名前空間識別子を含み、キーワード部分はキーワードを含む。キーワード部分は、キーワードに隣接するキーワードデリミタを更に含むことができ、キーワードデリミタは、＃、！、「．」、＄及び｜からなる群から選択され、名前空間識別子は、＠、ｆｂ、ｉｎ及び「．」からなる群から選択される。ナビゲーションサービスは、電子的関連付けの受信について、キーワードサービスに金銭的な補償を提供することができる。システムは、少なくとも１つの例示的なネットワークロケータを例示的なキーワード及びエンティティ名に相関付ける少なくとも１つのルールを記憶するナビゲーションサービス永続性メモリを備えることができる。システムは、名前所有者によってアクセス可能な電子インタフェースを更に備え、この電子インタフェースは、名前所有者から、コンピュータネットワークを介して、及びこの電子インタフェースを通じて、追加の少なくとも１つのネットワークロケータ、追加のキーワード及びエンティティ名の電子的関連付けを受信するように構成される。ここで、ナビゲーションサービス永続性メモリは、追加のキーワード及びエンティティ名を少なくとも１つのネットワークロケータに相関付ける追加の少なくとも１つのルールを記憶するように構成される。少なくとも１つの規則は、キーワード及びエンティティ名及び他のデータを少なくとも１つのネットワークロケータに相関付けることができ、コマンドデータはエンティティ名、キーワード及び他のデータを含むことができる。他のデータはジオロケーションデータを含むことができる。他のデータは、言語を特定するデータを含むことができる。少なくとも１つのルールはデータベースクエリを指定することができる。
【００２０】
様々な実施形態によれば、ナビゲーションサービスをプロビジョニングするためのシステムが開示される。システムは少なくとも１つのナビゲーションサービスサーバコンピュータを備え、このナビゲーションサービスサーバコンピュータは、コンピュータネットワークを介して、キーワードと、名前所有者に関連付けられたエンティティ名と、他のデータとに関連して少なくとも１つのネットワークロケータをキーワードサービスにプロビジョニングするための電子認可を受信し、少なくとも１つのネットワークロケータと、キーワードと、他のデータとを取得し、少なくともエンティティ名、キーワード及び他のデータを少なくとも１つのネットワークロケータに相関付ける少なくとも１つのルールをナビゲーションサービス永続性メモリに電子的に記憶し、ナビゲーションサービスに通信可能に結合されたクライアントコンピュータから、コンピュータネットワークを介して、エンティティ名、キーワード及び他のデータを含むコマンドデータを受信し、少なくとも１つのルールをコマンドデータに適用して、少なくとも１つのネットワークロケータを取得し、コンピュータネットワークを介して、クライアントコンピュータに少なくともネットワークロケータを提供するように構成される。
【００２１】
上記の実施形態の様々な任意選択の特徴は以下を含む。少なくとも１つのナビゲーションサービスサーバコンピュータは、少なくとも１つのネットワークロケータ、キーワード及び他のデータを生成することによって、少なくとも１つのネットワークロケータ、キーワード及び他のデータを取得することができる。システムは、名前所有者によってアクセス可能な電子インタフェースを更に備えることができ、少なくとも１つのナビゲーションサービスサーバコンピュータは、名前所有者から、コンピュータネットワークを介して、及び電子インタフェースを通じて、少なくとも１つのネットワークロケータ、キーワード及び他のデータを取得する。他のデータはジオロケーションデータを含むことができる。他のデータは、言語を特定するデータを含むことができる。少なくとも１つのナビゲーションサービスサーバコンピュータは、名前所有者から電子認可を受信することができる。少なくとも１つのネットワークロケータはユニフォームリソースロケータ（ＵＲＬ）を含むことができる。ナビゲーションサービスはドメイン名システム（ＤＮＳ）サービスでない場合がある。少なくとも１つのナビゲーションサービスサーバコンピュータは、コンピュータネットワークを介して、キーワード、それぞれのエンティティ名及びそれぞれの他のデータに関連してそれぞれの少なくとも１つのネットワークロケータをプロビジョニングするための、それぞれの名前所有者の複数の電子認可を受信し、キーワード、それぞれのエンティティ名及びそれぞれの他のデータをそれぞれの少なくとも１つのネットワークロケータに相関付けるそれぞれの少なくとも１つのルールをナビゲーションサービス永続性メモリに電子的に記憶するように更に構成することができる。コマンドデータは、クライアントコンピュータに提供されるコマンド文字列から導出することができる。コマンド文字列は、名前部分及びキーワード部分からなり、名前部分は、エンティティ名及びエンティティ名に隣接する名前空間識別子を含み、キーワード部分はキーワードを含む。キーワード部分は、キーワードに隣接するキーワードデリミタを更に含むことができ、キーワードデリミタは、＃、！、「．」、＄及び｜からなる群から選択され、名前空間識別子は、＠、ｆｂ、ｉｎ及び「．」からなる群から選択される。他のデータは、ユーザインタフェースを通じてクライアントコンピュータに提供することができ、コマンドデータは他のデータから更に導出することができる。ナビゲーションサービス永続性メモリは、例示的なキーワード及びエンティティ名に関連して少なくとも１つの例示的なネットワークロケータを電子的に記憶することができる。少なくとも１つの規則はデータベースクエリを指定することができる。
【００２２】
様々な実施形態によれば、キーワードサービス及びナビゲーションサービスをプロビジョニングするためのシステムが開示される。システムは、コンピュータネットワークに通信可能に結合された少なくとも１つのキーワードサービスサーバコンピュータを備え、このキーワードサービスサーバコンピュータは、コンピュータネットワークを介して、キーワードと、名前所有者に関連付けられたエンティティ名と、他のデータとに関連して少なくとも１つのネットワークロケータをキーワードサービスにプロビジョニングするための電子認可を受信し、少なくともエンティティ名及び他のデータを少なくとも１つのネットワークロケータに相関付ける少なくとも１つのルールをキーワードサービス永続性メモリに電子的に記憶し、コンピュータネットワークを介して、ナビゲーションサービスに、キーワードサービスのためのネットワークロケータを提供し、コンピュータネットワークを介して、キーワードサービスのためのネットワークロケータにおいて、エンティティ名及び他のデータを含むコマンドデータを受信し、コンピュータネットワークを介して、少なくとも１つのネットワークロケータを含む情報を用いてコマンドデータに応答するように構成される。
【００２３】
上記の実施形態の様々な任意選択の特徴は以下を含む。他のデータは、ジオロケーションデータを含むことができる。他のデータは、言語を特定するデータを含むことができる。少なくとも１つのキーワードサービスサーバコンピュータは、ナビゲーションサービスサービスからコマンドデータを受信することができ、少なくとも１つのキーワードサービスサーバコンピュータは、少なくとも１つのネットワークロケータを含む情報を用いてナビゲーションサービスに応答することによってコマンドデータに応答することができる。少なくとも１つのキーワードサービスサーバコンピュータは、クライアントコンピュータからコマンドデータを受信することができ、少なくとも１つのキーワードサービスサーバコンピュータは、少なくとも１つのネットワークロケータを含む情報を用いてクライアントコンピュータに応答することによってコマンドデータに応答することができ、それによって、ナビゲーションサービスは、キーワードサービスのためのネットワークロケータをクライアントコンピュータに提供する。少なくとも１つのキーワードサービスサーバコンピュータは、コマンドデータ及びクライアントコンピュータ識別子をナビゲーションサービスから受信することができ、少なくとも１つのネットワークロケータを含む情報を用いてクライアントコンピュータに応答することによってコマンドデータに応答することができる。コマンドデータは、クライアントコンピュータに提供されるコマンド文字列から導出することができ、コマンド文字列は、名前部分及びキーワード部分からなり、名前部分は、名前及び名前に隣接する名前空間識別子を含み、キーワード部分はキーワードを含む。キーワード部分は、キーワードに隣接するキーワードデリミタを更に含むことができ、キーワードデリミタは、＃、！、「．」、＄及び｜からなる群から選択され、名前空間識別子は、＠、ｆｂ、ｉｎ及び「．」からなる群から選択される。他のデータは、ユーザインタフェースを通じてクライアントコンピュータに提供することができ、コマンドデータは他のデータから更に導出される。少なくとも１つのキーワードサービスサーバコンピュータは、名前所有者又はナビゲーションサービスから電子認可を受信することによって電子認可を受信することができる。少なくとも１つのネットワークロケータはユニフォームリソースロケータ（ＵＲＬ）を含むことができる。ナビゲーションサービスはドメイン名システム（ＤＮＳ）サービスでない場合がある。少なくとも１つのキーワードサービスサーバコンピュータは、コンピュータネットワークを介して名前所有者に電子メッセージを送信することによって、名前所有者に、キーワード及びエンティティ名に関連付けて少なくとも１つのネットワークロケータをプロビジョニングすることを要請するように更に構成することができる。電子メッセージは、推奨されるネットワークロケータを含むことができる。キーワードサービスは、コンピュータネットワークを介して、キーワード及びそれぞれのエンティティ名に関連してそれぞれの少なくとも１つのネットワークロケータをプロビジョニングするための、それぞれの名前所有者の複数の電子認可を受信し、少なくともそれぞれのエンティティ名をそれぞれの少なくとも１つのネットワークロケータに相関付けるそれぞれの少なくとも１つのルールをキーワードサービス永続性メモリに電子的に記憶するように更に構成することができる。少なくとも１つのルールはデータベースクエリを指定することができる。エンティティ名及び他のデータを少なくとも１つのネットワークロケータに相関付ける少なくとも１つのルールは、キーワード、エンティティ名及び他のデータを少なくとも１つのネットワークロケータに相関付けることができ、コマンドデータはキーワードを更に含むことができる。
【００２４】
様々な実施形態によれば、ナビゲーションサービスをプロビジョニングするためのシステムが開示される。システムは、コンピュータネットワークに通信可能に結合され、コンピュータネットワークを介して、キーワードと、名前所有者に関連付けられたエンティティ名と、他のデータとを含むコマンドデータを解決して、少なくとも１つのキーワードサービスサーバコンピュータを備えるキーワードサービスを用いて少なくとも１つのネットワークロケータに変換するための電子認可を受信するように構成される少なくとも１つのナビゲーションサービスサーバコンピュータであって、それによってキーワードサービスは、少なくともエンティティ名及び他のデータを少なくとも１つのネットワークロケータに相関付ける少なくとも１つのルールをキーワードサービス永続性メモリに記憶する、少なくとも１つのナビゲーションサービスサーバコンピュータと、キーワードサービスのためのネットワークロケータを記憶するように構成される電子メモリとを備え、少なくとも１つのナビゲーションサービスサーバコンピュータは、コンピュータネットワークを介して、クライアントコンピュータから、エンティティ名及び他のデータを含むコマンドデータを受信し、コンピュータネットワークを介して、コマンドデータへの応答を提供するように更に構成され、それによって、クライアントコンピュータは少なくとも１つのネットワークロケータを取得する。
【００２５】
上記の実施形態の様々な任意選択の機能は以下を含む。クライアントコンピュータは、ナビゲーションサービスから少なくとも１つのネットワークロケータを取得することができ、少なくとも１つのナビゲーションサービスサーバコンピュータは、コンピュータネットワークを介して、キーワードサービスに、少なくともエンティティ名及び他のデータを提供し、それによって、キーワードサービスがエンティティ名及び他のデータを少なくとも１つのネットワークロケータに相関付けるようにし、コンピュータネットワークを介して、キーワードサービスから、少なくとも１つのネットワークロケータを取得するように更に構成することができる。ここで、少なくとも１つのナビゲーションサービスサーバコンピュータは、少なくとも１つのネットワークロケータをクライアントコンピュータに提供することによって、コンピュータネットワークを介して、コマンドデータへの応答を提供するように更に構成される。クライアントコンピュータはキーワードサービスから少なくとも１つのネットワークロケータを取得することができ、少なくとも１つのナビゲーションサービスサーバコンピュータは、エンティティ名及びキーワードを、キーワードサービスのためのネットワークロケータに相関付けるように更に構成することができ、少なくとも１つのナビゲーションサービスサーバコンピュータは、キーワードサービスのためのネットワークロケータをクライアントコンピュータに提供することによって、コンピュータネットワークを介して、コマンドデータへの応答を提供するように更に構成され、それによって、クライアントコンピュータは、少なくともエンティティ名及び他のデータをキーワードサービスに提供し、それによって、キーワードサービスはエンティティ名及び他のデータを少なくとも１つのネットワークロケータに相関付け、それによって、クライアントコンピュータは少なくとも１つのネットワークロケータをキーワードサービスから受信する。クライアントは、少なくとも１つのネットワークロケータをキーワードサービスから取得することができ、ここで、少なくとも１つのナビゲーションサービスサーバコンピュータは、少なくともエンティティ名と、他のデータと、クライアントコンピュータの識別子とをキーワードサービスに提供することによって、コンピュータネットワークを介してコマンドデータへの応答を提供するように更に構成することができ、それによって、キーワードサービスは、少なくともエンティティ名及び他のデータを少なくとも１つのネットワークロケータに相関付け、少なくとも１つのネットワークロケータをクライアントコンピュータの識別子を用いてクライアントコンピュータに提供する。他のデータはジオロケーションデータを含むことができる。他のデータは、言語を特定するデータを含むことができる。コマンドデータは、クライアントコンピュータに提供されるコマンド文字列から導出することができ、コマンド文字列は、名前部分及びキーワード部分からなり、名前部分は、名前及び名前に隣接する名前空間識別子を含み、キーワード部分はキーワードを含む。キーワード部分は、キーワードに隣接するキーワードデリミタを更に含むことができ、キーワードデリミタは、＃、！、「．」、＄及び｜からなる群から選択され、名前空間識別子は、＠、ｆｂ、ｉｎ及び「．」からなる群から選択される。他のデータはユーザインタフェースを通じてクライアントコンピュータに提供することができ、コマンドデータは他のデータから更に導出される。少なくとも１つのナビゲーションサービスサーバコンピュータは、名前所有者又はキーワードサービスから電子認可を受信することによって電子認可を受信するように更に構成することができる。少なくとも１つのネットワークロケータはユニフォームリソースロケータ（ＵＲＬ）を含むことができる。ナビゲーションサービスは、ドメイン名システム（ＤＮＳ）サービスでない場合がある。少なくとも１つのナビゲーションサービスサーバコンピュータは、例示的なキーワード及びエンティティ名を少なくとも１つの例示的なネットワークロケータに相関付ける少なくとも１つのルールをナビゲーションサービス永続性メモリに記憶するように更に構成することができる。少なくとも１つのルールはデータベースクエリを指定することができる。少なくともエンティティ名及び他のデータを少なくとも１つのネットワークロケータに相関付ける少なくとも１つのルールは、キーワード、エンティティ名及び他のデータを少なくとも１つのネットワークロケータに相関付けることができ、コマンドデータはキーワードを更に含む。
【００２６】
様々な方法実施形態の任意のものについて、コンピュータ可読媒体を提供することができ、コンピュータ可読媒体は、少なくとも１つの電子プロセッサによって実行されると、少なくとも１つの電子プロセッサに本方法を実行させる命令を含むことに留意されたい。
【００２７】
本明細書に組み込まれ、本明細書の一部をなす添付の図面は、本発明の実施形態を例証し、説明と合わせて、本発明の原理を説明する役割を果たす。
【図面の簡単な説明】
【００２８】
【図１】いくつかの開示される実施形態による例示的なキーワードナビゲーションシステムを示す図である。
【図２】いくつかの開示される実施形態による、キーワード管理サーバによって実行される例示的なプロセスを示すフロー図である。
【図３】いくつかの開示される実施形態による、コンテンツ提供者がキーワード−ウェブページマッピングを作成、変更及び削除することを可能にするキーワード解決サーバによって提供される例示的なインタフェースである。
【図４】いくつかの開示される実施形態による、ユーザが供給したキーワードを解決してコンテンツ提供者が指定したウェブページに変換する例示的な方法を示すフロー図である。
【図５】いくつかの開示される実施形態による、ＵＲＬキーワードを含む例示的なＵＲＬのリストである。
【図６】いくつかの開示される実施形態による、ＵＲＬキーワードを含むＵＲＬのエントリから結果として生じる例示的なＨＴＴＰ要求である。
【図７】いくつかの開示される実施形態による、キーワード対応ウェブサーバからの例示的なＨＴＴＰ応答である。
【図８】いくつかの開示される実施形態による、ＵＲＬキーワードの解決を要求するための例示的なＵＲＬである。
【図９】いくつかの開示される実施形態による、コンテンツ提供者が指定したキーワード−ウェブページマッピングに対応する例示的なＵＲＬである。
【図１０】本発明による、例示的な実施形態の例示的な実施態様である。
【図１１】本発明による、サーバ側のキーワード／ＵＲＬマッピングの例示的な実施態様である。
【図１２】本発明による、クライアント側のキーワード／ＵＲＬマッピングの例示的な実施態様である。
【図１３】ＨＴＴＰリダイレクトを用いたキーワード／ＵＲＬマッピングの例示的な実施態様である。
【図１４】いくつかの開示される実施形態による、キーワード管理サーバのブランド管理コンポーネントによって実行される例示的なブランド管理プロセスを示すフロー図である。
【図１５】いくつかの開示される実施形態による、コンテンツ提供者がブランド駆動キーワードマッピングを管理することを可能にするためにキーワード解決サーバによって提供される例示的なインタフェースである。
【図１６】いくつかの開示される実施形態による、ブランド駆動キーワードマッピングに第三者が参加することを可能にするためにキーワード解決サーバによって提供される例示的なインタフェースである。
【図１７】本発明の原理による、エージェントから所望のネットワークリソースにナビゲートするためのシステム及び方法の例を示す。
【図１８】様々な実施形態による、ナビゲーションサービスの観点からの方法を示すフローチャートである。
【図１９】様々な実施形態による、エージェントの観点からの方法を示すフローチャートである。
【図２０】本発明による、実施形態を実施するのに用いることができる例示的なコンピューティングシステムを示す。
【図２１】いくつかの実施形態による、ナビゲーションサービスをプロビジョニングする例示的な技法を示す図である。
【発明を実施するための形態】
【００２９】
本開示は、エージェントからユーザが所望するネットワークリソースへの直接ナビゲーションのための方法、システム、コンピュータ可読媒体及び製造品を提供する。本開示は、エージェントのユーザが、所望のネットワークリソースに対応する正確なドメイン名、ＵＲＩ、ＵＲＬ等を知る必要も入力する必要もなく、所望のネットワークにナビゲート又は接続することを可能にする方法、システム、コンピュータ可読媒体及び製造品を更に提供する。
【００３０】
まず、製品、靴を販売する小売店ウェブサイト等の所望のネットワークリソースを探すときの従来のインターネットユーザの例示的な使用事例を考える。この例示的な使用事例では、ユーザは、ユーザによって指定される特定のエンティティのウェブサイト、すなわち、Ｇｉｍｂｅｌｓとして知られる架空の小売店から靴を購入することを望む。このために、ユーザは通常、まず、ブラウザのナビゲーションバー又はオムニバーに、「ｇｉｍｂｅｌｓ  ｓｈｏｅｓ」（引用符なし）等の所望のものを包括的に表す文字列をタイプインし、エンターを押す。次に、ブラウザは通常、この文字列を検索エンジンに送り、検索エンジンは多くの結果を返し、これらの結果がブラウザによって表示される。この従来のシナリオでは、小売ブランド及びドメイン所有者であるＧｉｍｂｅｌｓは、検索エンジンがユーザに対し表示するものを制御することができず、ほとんどの場合に、検索エンジンは、競合の小売店、的外れの製品（例えば、靴ではなくサンダル）、Ｇｉｍｂｅｌｓのウェブサイトの無関係のページ、又は広告主が検索エンジンに支払って表示させている場合がある他のほとんど何でも等の、Ｇｉｍｂｅｌｓに関係のない多くのネットワークリソースへのリンクを表示することになる。同様にこの従来のシナリオにおいて、検索エンジンは、多くの場合にＧｉｍｂｅｌｓのウェブページへのリンクの前に、Ｇｉｍｂｅｌｓに無関係の多くの異なるウェブページへのリンクを返すことになるので、ユーザは自身が指定し、望む正確なネットワークリソース、すなわち靴を販売するＧｉｍｂｅｌｓのウェブページを入手しない場合がある。
【００３１】
本発明による様々な実施形態は、Ｇｉｍｂｅｌｓのようなドメイン所有者等のエンティティが、そのエンティティによって制御又は操作される１つ又は複数のネットワークリソースに関連付けるか、関係付けるか又は他の形でマッピングすることができる、所望のネットワークリソースの大まかな記述に応答して提供されるナビゲーション結果を、形成、指定又は他の形で誘導することを可能にする。
【００３２】
Ｉ．ＵＲＬベースのスマートナビゲーション
図１は、開示される様々な実施形態を実施するのに用いることができる、例示的なシステムコンポーネントを備える例示的なＵＲＬキーワード解決システム１００を示す図である。しかし、コンポーネント及び構成は変動することができる。ＵＲＬキーワード解決サーバ１２０は、プロセッサ１２２と、メモリ１２３と、入／出力（Ｉ／Ｏ）デバイス（図示せず）と、ストレージ１２１とを備えることができる。ＵＲＬキーワード解決サーバ１２０は、様々な形で実装することができる。例えば、ＵＲＬキーワード解決サーバ１２０は、汎用コンピュータ、サーバ、メインフレームコンピュータ又はこれらのコンポーネントの任意の組合せとすることができる。ＵＲＬキーワード解決サーバ１２０は、リンクを介してネットワーク１１５と通信することができる。例えば、リンクは直接通信リンク、ＬＡＮ、ＷＡＮ又は他の適切な接続とすることができる。ネットワーク１１５はインターネットを含むことができる。ＵＲＬキーワード解決サーバ１２０は、スタンドアロンとすることができるか、又はサブシステムの一部とすることができ、そしてこのサブシステムは、レガシードメイン登録システム等のより大型のシステムの一部とすることができる。
【００３３】
プロセッサ１２２は、Ｉｎｔｅｌ（登録商標）によって製造されるＰｅｎｔｉｕｍ（登録商標）又はＸｅｏｎ（登録商標）ファミリーからのマイクロプロセッサ、ＡＭＤ（登録商標）によって製造されるＴｕｒｉｏｎ（登録商標）ファミリーからのマイクロプロセッサ、又はＳｕｎＭｉｃｒｏ  Ｓｙｓｔｅｍｓによって製造される様々なプロセッサのうちの任意のもの等の１つ又は複数の既知の処理デバイスを含むことができる。メモリ１２３は、プロセッサ１２２が開示される実施形態に関連していくつかの機能を実行するのに用いる情報を記憶するように構成される１つ又は複数のストレージデバイスを含むことができる。ストレージ１２１は、揮発性若しくは不揮発性、磁気、半導体、テープ、光、取り外し可能、取り外し不可能又は他のタイプのストレージデバイス又はコンピュータ可読媒体を含むことができる。
【００３４】
１つの実施形態では、メモリ１２３は、ＵＲＬキーワード解決サーバ１２０によって実行されると、開示される実施形態による様々な手順、動作又はプロセスを実行する、ストレージ１２１又は他の場所からロードされた１つ又は複数のキーワード解決プログラム又はサブプログラム１２４を備えることができる。例えば、メモリ１２３は、ドメイン名を認証し、ドメイン名管理者がドメイン名のためのキーワードをセットアップし維持することを可能にするキーワードレジストリプログラムと、ドメイン内の１つ又は複数のキーワードを解決することのユーザ要求を受信し、キーワード／ドメイン名の組合せをターゲットＵＲＬと照合し、ターゲットＵＲＬをユーザに提供するキーワード解決プログラムと、キーワードの使用、解決要求及び他のメトリックに関する統計を表示する報告プログラムと、他のプログラムをリンクし、それらのプログラムが共通データベースを用いることを可能にし、共通ユーザインタフェースを提供し、基本的な記帳タスク（ユーザの入力の記憶等）を実行し、ユーザガイダンス及びヘルプを提供する統合的なサポートプログラムと、第三者がドメインのためのキーワードを提供することをドメイン名管理者が可能にできるようにするブランド管理プログラムとを備えることができる。メモリ１２３は、通信サポート、インターネットアクセス等を提供するプログラム等の、他の機能及びプロセスを実行する他のプログラムも含むことができる。
【００３５】
開示される実施形態による方法、システム及び製造品は、専用のタスクを実行するように構成された別々のプログラム又はコンピュータに限定されない。例えば、メモリ１２３は、プロセッサ１２２によって実行されるといくつかの機能を実行するキーワード解決プログラム１２４を用いて構成することができる。例えば、メモリ１２３は、キーワード解決システムの機能を実行する単一のプログラム１２４を含むことができるか、又はプログラム１２４は複数のプログラムを含むことができる。更に、プロセッサ１２２は、ＵＲＬキーワード解決サーバ１２０から遠隔に位置する１つ又は複数のプログラムを実行することができる。例えば、ＵＲＬキーワード解決サーバ１２０は、実行されると、開示される実施形態に関連する機能を実行する１つ又は複数の遠隔プログラムにアクセスすることができる。
【００３６】
メモリ１２３は、ＵＲＬキーワード解決サーバ１２０によって実行されると、当該技術分野において既知のいくつかの機能を実行するオペレーティングシステム（図示せず）により構成することもできる。例として、オペレーティングシステムは、ＭｉｃｒｏｓｏｆｔＷｉｎｄｏｗｓ（登録商標）、Ｕｎｉｘ（登録商標）、Ｌｉｎｕｘ（登録商標）、Ｓｏｌａｒｉｓ（登録商標）、Ａｐｐｌｅ  Ｃｏｍｐｕｔｅｒｓオペレーティングシステム、Ｍｉｃｒｏｓｏｆｔ  ＣＥ（登録商標）等の携帯情報端末オペレーティングシステム、又は何らかの他のオペレーティングシステムとすることができる。オペレーティングシステムの選択、及び更にはオペレーティングシステムの使用は、任意の実施形態にとって重要でない。
【００３７】
ＵＲＬキーワード解決サーバ１２０は、ＵＲＬキーワード解決サーバ１２０によってデータが受信及び／又は送信されることを可能にする１つ又は複数のＩ／Ｏデバイス（図示せず）を備えることができる。Ｉ／Ｏデバイスは、ＵＲＬキーワード解決サーバ１２０がウェブサーバ１４０又はクライアントコンピュータ１５０等の他のマシン及びデバイスと通信することを可能にする１つ又は複数のデジタル及び／又はアナログ通信入／出力デバイスも備えることができる。ＵＲＬキーワード解決サーバ１２０は、Ｉ／Ｏデバイスを介して、外部のマシン及びデバイスからデータを受信し、データを外部のマシン及びデバイスに出力することができる。Ｉ／Ｏデバイス内に組み込まれる入力デバイス及び／又は出力デバイスの構成及び数は、いくつかの実施形態について適宜変動することができる。
【００３８】
ＵＲＬキーワード解決サーバ１２０は、例えばネットワーク１１５を通じて、１つ又は複数のデータリポジトリ１３０に通信可能に接続することもできる。データリポジトリ１３０は、情報を記憶し、ＵＲＬキーワード解決サーバ１２０を通じてアクセス及び／又は管理される１つ又は複数のファイル又はデータベース１３１を含むことができる。例として、データベースは、Ｏｒａｃｌｅ（登録商標）データベース、Ｓｙｂａｓｅ（登録商標）データベース若しくは他のリレーショナルデータベース、又はＨＢａｓｅ若しくはＣａｓｓａｎｄｒａ等の非リレーショナルデータベースとすることができる。データベース又は他のファイルは、例えば、ドメイン名に関連するデータ及び情報、ドメイン名のためのキーワード、記述、統計、及びキーワードに関連する他のデータ等を含むことができる。しかしながら、開示される実施形態のシステム及び方法は別々のデータベースに限定されない。
【００３９】
ＵＲＬキーワード解決サーバ１２０は、ネットワーク１１５を通じて１つ又は複数のクライアントコンピュータ１５０に通信可能に接続することもできる。クライアントコンピュータ１５０は、プロセッサ１５１と、メモリ１５２と、ＵＲＬキーワード解決サーバ１２０及び／又はウェブサーバ１４０と通信するためのウェブブラウザ１５３とを備えることができる。クライアントコンピュータ１５０は、ネットワーク１１５を通じてウェブサーバ１４０に通信可能に接続することもできる。いくつかの実施形態では、ＵＲＬキーワード解決サーバ１２０は、データをプロセッサ１５１及びウェブブラウザ１５３に送信することができ、ウェブブラウザ１５３はデータをキーワード登録インタフェースとして表示することができる。いくつかの実施形態では、クライアントコンピュータ１５０は、ＨＴＴＰプロトコルを用いてウェブサーバ１４０と通信し、ウェブサーバ１４０によって提供されるウェブページを検索し、表示することができる。いくつかの実施形態では、クライアントコンピュータ１５０は、ＵＲＬ及びキーワードデータをＵＲＬキーワード解決サーバ１２０に送信することができ、折り返し、特定のドメイン／キーワード対についてコンテンツ提供者によって指定されたＵＲＬに対応するターゲットＵＲＬデータを受信することができる。
【００４０】
ウェブサーバ１４０は、コンテンツ提供者又はドメイン名管理者によって所有又は操作することができ、１つ又は複数のドメイン名に関連付けられたウェブページ又は他のインターネットリソースを記憶することができる。ウェブサーバ１４０は、プロセッサ１４２と、ストレージ１４１と、メモリ１４３とを備えることができる。ストレージ１４１は、揮発性若しくは不揮発性、磁気、半導体、テープ、光、取り外し可能、取り外し不可能又は他のタイプのストレージデバイス又はコンピュータ可読媒体とすることができ、個々のウェブページを表示するのに用いられるデータを含むことができる。開示される実施形態において、メモリ１４３は、ＨＴＴＰ要求を受信し、ＨＴＴＰ要求に応答するための１つ又は複数のウェブサーバプログラムと、動的ウェブページを提供するための１つ又は複数のサーバ側スクリプト１４５と、ＵＲＬ／キーワード対に対する要求を受信し、この要求を解決するための１つ又は複数のキーワード解決プログラム１４６とを備えることができる。このような各プログラムは、例えば、ストレージ１４１又は他の場所からロードすることができる。
【００４１】
図２は、開示される実施形態による、キーワード管理サーバによって実行される例示的なプロセスを示すフロー図である。キーワード解決サービス提供者は、コンテンツ提供者が本発明によるＵＲＬキーワード機能を実施するのを可能にするための技術的インフラストラクチャの大部分を提供することができる。例えば、キーワード解決サービス提供者は、キーワード管理サーバを用いて、コンテンツ提供者に、ＵＲＬキーワードを登録及び管理するための、図３に示すインタフェース等のインタフェースを提供することができる。
【００４２】
ステップ２０５において、コンテンツ提供者の代わりに行動するユーザが、キーワード管理インタフェース３００にログインした後、キーワード管理サーバは、ユーザがキーワードを登録することを望むドメイン名を示すドメイン名（パス又はクエリ文字列情報も含む場合がある）をユーザから受信する。ドメイン名は、インターネットリソースの権限又は制御の範囲を識別する。ドメイン名は多くの場合に、ウェブサイトを識別するホスト名である。例えば、ａｃｍｅｃｏｒｐ．ｃｃは、Ａｃｍｅ  Ｃｏｒｐｏｒａｔｉｏｎによって用いられるドメイン名とすることができる。ドメイン名は多くの場合に、ドメイン名に関連付けられたインターネットリソースを用いる排他的な権利を表すためにドメイン名登録機関（ｄｏｍａｉｎ  ｎａｍｅ  Ｒｅｓｉｇｔｒａｒｓ）を通じて登録される。
【００４３】
ステップ２１０において、セキュリティのために、キーワード管理サーバはまず、ユーザが入力されたドメイン名のためのキーワードを登録する権限を有することを実証することによって、この入力されたドメイン名を認証することをユーザに要求することができる。例えば、キーワード管理サーバは、ユーザがドメインのホームページを挿入するためのメタタグを作成することができる。そのようなメタタグは、「＜ｍｅｔａ  ｎａｍｅ＝“ｋｅｙｗｏｒｄ−ｖｅｒｉｆｉｃａｔｉｏｎ”  ｃｏｎｔｅｎｔ＝“ｄｊｋａｏｉｅｉｏｓｌｄｉｓａ”／＞」のように見える場合がある。キーワード管理サーバは、ドメイン名及びコンテンツフィールドの値をデータベース又は他のファイルに記憶することができる。メタタグがホームページに挿入された後、ユーザは認証プロセスに戻ることができる。次に、キーワード管理サーバは、メタタグの存在を検出するために、ドメインのホームページを検査することができる。メタタグが存在し、キーワード管理サーバによって記憶されている値に合致するコンテンツ値を有する場合、ユーザはドメイン名に対する制御を有すると立証され得る。
【００４４】
代替の実施形態において、ユーザは、ドメイン名システム（ＤＮＳ）においてＣＮＡＭＥ記録をセットアップするように要求される場合がある。ＤＮＳレコードは、インターネットアドレス要求を解決して物理リソースに変換するのに用いられる情報を記憶する。ＣＮＡＭＥレコードは、ドメイン名が別のドメインのエイリアスであることを指定する。キーワード管理サーバは、例えば、ドメイン名管理者に、「ｄｊｋａｏｉｅｉｏｓｌｄｉｓａ」のＣＮＡＭＥホスト及び「ｗｗｗ．ｒｅｓｏｌｖｅｃｏｍ．ｃｏｍ」のＣＮＡＭＥテキストをＤＮＳに追加するように命令することができる。キーワード管理サーバは、ローカルデータベース内にドメイン名とともにＣＮＡＭＥホストを記憶することができる。ＣＮＡＭＥレコードがセットアップされた後、ユーザは認証プロセスに戻ることができる。次に、キーワード管理サーバは、ＣＮＡＭＥホストを探すようにドメインのＤＮＳにクエリし、ＣＮＡＭＥホストが見つかり、かつ記憶されているＣＮＡＭＥホストと合致する場合、ユーザはドメイン名の所有者であると立証され得る。
【００４５】
認証されたドメイン名について、ステップ２１５において、キーワード管理サーバはドメイン名管理者がそのドメインのためのキーワードを提供することを可能にすることができる。キーワード管理サーバは、コンテンツ提供者又はドメイン名管理者がキーワードをセットアップすることを可能にする、図３に示すインタフェース等のインタフェースを提供することができる。キーワードはドメイン名に関連付けることができ、キーワード管理サーバはインタフェースに現在のドメイン名３０５を表示することができる。図３に示すように、キーワード管理サーバは少なくともキーワード３１０及びＵＲＬ３１５をドメイン名管理者から受信し、キーワード−ＵＲＬ対を形成することができる。ＵＲＬは、ドメイン名管理者がキーワードと関連付けることを望む特定のウェブページを識別し、それによって、同様にキーワード３１０を含む、ドメイン名３０５に対する適切にフォーマット設定された要求が、ユーザをＵＲＬ３１５に自動的にリダイレクトする。
【００４６】
ＵＲＬ３１５は、ドメイン３０５においてホスティングされるウェブページとすることができるが、必ずしもそうである必要はない。ＵＲＬ３１５は、ドメイン名管理者が選択する任意のドメインの任意のウェブページのアドレスとすることができる。キーワード管理サーバは、キーワード及びＵＲＬを受信した後、キーワード−ＵＲＬ対をデータベース又は他のファイルに記憶することができる。キーワード−ＵＲＬ対は現在のドメイン名３０５に関連付けられる。
【００４７】
この情報に加えて、キーワード管理サーバは、例えばアイコン３２０を通じて、キーワードに関連する追加情報又はメタデータも収集することができる。この追加情報は、限定ではないが、ＵＲＬの説明又はキーワードの説明を含むことができる。ＵＲＬの説明は、ドメイン名管理者が選択するＵＲＬの事業内容説明とすることができる。説明は、キーワード管理サーバによって生成されるキーワード統計報告及び他の報告においても用いることができる。
【００４８】
インタフェースは、ドメイン名管理者が、ドメインを所有していない１つ又は複数の第三者がドメインのためのキーワードを提供することを可能にすることができるようにするブランド管理コンポーネントも備える。例えば、ユーザは、ボタン３５０を押して、サジェストされる第三者リストをキーワード管理サーバが生成することを要求することができる。キーワード管理サーバはこのリストをドメイン名管理者に対し表示することができる。ドメイン名管理者は、生成されたリスト上にないサジェストされる第三者をキーワード管理サーバに提供することもできる。ブランド管理コンポーネントについて以下で更に詳細に説明する。
【００４９】
キーワード−ＵＲＬ対をロケーションにマッピングすることもできる。ロケーションは、ジップコード、州、エリアコード、国、ジオロケーションコード又は何らかの他の地理的識別子を指定することができる。例えば、ドメイン名管理者は、ハワイ州に位置するウェブサイト訪問者に対し、ミネソタ州に位置するウェブサイト訪問者に対するものと異なるウェブページ表示を有することを望む場合がある。キーワード解決サーバは、ＧＰＳをサポートするデバイスからジオロケーションコードを受信することができるか、又はウェブサイト訪問者のソースＩＰアドレスを用いて、ウェブサイト訪問者のロケーションを求めることができる。キーワード解決サーバは、この情報を用いてキーワード−ＵＲＬ対を選択することができる。ロケーションは、ドメイン名管理者が地域の広告キャンペーンを行い、ウェブサイト訪問者を適切な地域のオファーに向けることを可能にする。
【００５０】
キーワードは関連するデバイスメタデータも有することができる。デバイスは、例えば、携帯情報端末（ＰＤＡ）、スマートフォン、ラップトップ、タブレット等を表すことができる。デバイスは、キーワード解決サーバが、デバイスタイプに適したウェブページにウェブサイト訪問者をリダイレクトすることを可能にすることができる。例えば、ドメインは、ＰＤＡ又はスマートフォン等のモバイルデバイスのための１つのウェブページと、全ての他のデバイスのための別のウェブページとを有することができる。キーワード解決サーバは、提供されたドメイン／キーワードに対するキーワード解決要求を開始したデバイスのタイプを求め、このデバイスタイプを用いて適切なキーワード−ＵＲＬ対を選択するように構成することができる。
【００５１】
キーワード管理サーバは、図３のキーワードタイプ３２５を用いて、ロケーション又はデバイスによりキーワードを識別することができる。例えば、タイプ「Ｒ」のキーワードは関連付けられたロケーション又はデバイスを一切有しないことができる。タイプ「Ｌ」のキーワードはキーワードに関連付けられたロケーションを有することができ、タイプ「Ｄ」のキーワードはキーワードに関連付けられたデバイスを有することができる。
【００５２】
ステップ２２０において、コンテンツ提供者又はドメイン名管理者が必要に応じてキーワードマッピングを登録、変更又は削除した後、ユーザはボタン３３０を押して、キーワード管理サーバが適切なクライアント実行可能プログラムを生成することを要求することができる。このプログラムは、以下で更に説明するように、コンテンツ提供者ＨＴＴＰ応答に埋め込まれ、ユーザが提供したＵＲＬキーワードが検出され解決されることを可能にする。そして、ステップ２２５において、ＪａｖａＳｃｒｉｐｔ（登録商標）プログラム等の適切なクライアント実行可能プログラムを、ユーザがコピーし、コンテンツ提供者のサーバロジック内に配置するために表示することができる。
【００５３】
図１４は、開示される実施形態による、キーワード管理サーバのブランド管理コンポーネントによって実行される例示的なブランド管理プロセスを示すフロー図である。ステップ１４１０において、キーワード管理サーバは、ドメイン名管理者等の、コンテンツ提供者の代わりに動作しているユーザが、第三者がドメイン名のためのキーワードを提供することを可能にすることによってブランド管理に参加することを望んでいることを示すブランド管理参加情報を受信することができる。ユーザは、キーワード管理インタフェース３００のボタン３５０をクリックすることによって、ブランド管理参加情報をキーワード管理サーバに提出することができるか、又はブランド管理参加情報をキーワード管理サーバに送信するための任意の他の既知の方法を用いることができる。ボタン３５０をクリックすることによって、ユーザをキーワード管理インタフェース３００からドメイン所有者ブランド管理インタフェースにリダイレクトすることができる。例示的なドメイン所有者ブランド管理インタフェースが図１５に示される。この例示的な実施形態では、ドメイン所有者ブランド管理インタフェースはキーワード管理インタフェースと別々であるが、ブランド管理インタフェース及びドメイン所有者キーワード管理インタフェースを組み合わせて単一のインタフェースにすることができるか、又は２つ以上のインタフェースに分離することができる。
【００５４】
ステップ１４２０において、キーワード管理サーバは、サジェストされる第三者のリストを生成することができる。このリストは、ドメイン名レジストリから自動的に生成することができるか、又は第三者がブランド管理に参加することに興味があることを示す情報をキーワード管理サーバに提供した第三者からのものとすることができる。このリストは、図１５に示すインタフェース１５００のセクション１５１０等のドメイン所有者ブランド管理インタフェース上でユーザに表示することができる。ドメイン名管理者は利用可能な第三者のリストをレビューし、これらの第三者のうちの１つ又は複数を、その第三者がドメインのためのブランド駆動キーワードマッピングをサジェストすることを可能にするように選択することができる。ドメイン名管理者は、セクション１５１０に表示されなかった第三者を有効にすることを望む場合、１つ又は複数のテキストボックス１５１５を用いてその第三者の名前を入力することができる。ドメイン名管理者は、第三者の選択をキーワード管理サーバに提出することができる。例えば、ドメイン名管理者は、インタフェース１５００上の提出ボタン１５１４をクリックすることによって、選択をキーワード管理サーバに提出することができる。
【００５５】
ステップ１４３０において、キーワード管理サーバは、ドメイン名管理者による１つ又は複数の第三者の選択を受信することができる。キーワード管理サーバは、任意の既知のデータ受信方法を用いて、ドメイン名管理者による１つ又は複数の第三者の選択を受信することができる。
【００５６】
ステップ１４４０において、キーワード管理サーバは、第三者選択情報を第三者に送信することができる。第三者選択情報は、第三者が提案されるブランド駆動キーワードマッピングを提出することを認可したドメイン名に関する情報を含むことができる。例えば、第三者選択情報は、ドメイン名、ドメイン名の所有者、サイトタイプ、第三者認可の日付を含むことができる。キーワード管理サーバは、図１６に示す例示的な第三者ブランド管理インタフェース等の第三者ブランド管理インタフェースにおいて第三者選択情報を表示することができる。
【００５７】
図１６に示すように、第三者ブランド管理インタフェースは、セクション１６１０、１６２０、１６３０、１６４０及び１６５０を含むことができる。キーワード管理サーバは、セクション１６１０において、ブランド駆動キーワードマッピングを提案することを第三者に最近認可したドメイン名を表示することができ、セクション１６２０において、第三者のブランド駆動キーワードマッピングのうちの１つ又は複数を受理した１つ又は複数の参加者の名前を表示することができる。キーワード管理サーバは、第三者が提案されるキーワード及び提案される関連ＵＲＬを入力して、例えば提出ボタン１６３２を押すことによって、ブランド駆動キーワードマッピングとしてユーザに提出することを可能にするセクション１６３０も表示することができる。図１６に示す例では、第三者「ＡｌｐｈａＣｏｒｐ．」は、キーワード「Ａｌｐｈａ」、「Ａｌｐｈａ  Ｗｉｄｇｅｔｓ」及び「Ａｌｐｈａ  Ｍｅｒｇｅｒ」並びに関連ＵＲＬを「Ａｃｍｅｃｏｒｐ．ｃｏｍ．」のためのドメイン名管理者に提出する過程にある。
【００５８】
キーワード管理サーバは、セクション１６４０において、１つ又は複数のドメイン名によって承認されたキーワードを表示することができ、セクション１６５０において、１つ又は複数のドメイン名管理者によって拒絶されたブランド駆動キーワードマッピングを表示することができる。図１６には示さないが、セクション１６５０は、ドメイン名管理者がブランド駆動キーワードマッピングを拒絶した理由も含むことができる。例えば、ドメイン名管理者は、キーワード又は関連ＵＲＬが不適切であったため、ブランド駆動キーワードマッピングを拒絶した場合がある。別の例として、ドメイン名管理者は、ブランド駆動キーワードを、そのキーワードとのマッピングがユーザ又は別の第三者によって既に用いられていたために拒絶した場合がある。
【００５９】
図１４に戻ると、ステップ１４５０において、キーワード管理サーバは、第三者からブランド駆動キーワードマッピングを受信する。例えば、第三者はキーワード１６３４及び関連ＵＲＬ１６３６（図１６に示す）を入力し、提出ボタン１６３２を押すことによってキーワード管理サーバにブランド駆動キーワードマッピングを提出することができる。第三者がブランド駆動キーワードマッピングを変更することを望む場合、第三者は、ドメイン名所有者による再承認のために新たなマッピングをキーワード管理サーバに提出する。ドメイン名管理者は、手直しされた各キーワードマッピングをレビューすることができるか、又は信頼された第三者のための承認を「オプトアウト」することができる。更に、ドメイン名管理者は任意の時点において第三者がキーワードマッピングを提供できないようにすることができる。
【００６０】
ステップ１４６０において、キーワード管理サーバはドメイン名管理者にブランド駆動キーワードマッピングを送信することができる。次に、キーワード管理サーバは、図１５におけるブランド管理インタフェース１５００のセクション１５２０等において、ドメイン所有者ブランド管理インタフェース上にブランド駆動キーワードマッピングを表示することができる。次に、ドメイン名管理者は、ブランド駆動キーワードマッピングを受理するか又は拒絶するかを判断することができる。例えば、図１５に示すように、ドメイン名管理者は、ドメイン名管理者がキーワードマッピングを受理する場合、「ｙｅｓ」に対応するボタンを選択することができるか、又はドメイン名管理者がキーワードマッピングを拒絶する場合、「ｎｏ」に対応するボタンを選択することができる。図１５には示さないが、ドメイン名管理者は、ドメイン名管理者がキーワードマッピングを拒絶することを選択した理由を示すコメントを入力することもできるか、又は提案される代替のキーワード若しくは関連ＵＲＬをキーワード管理サーバ若しくは第三者に提供することもできる。更に、ドメイン名管理者は、キーワード管理サーバが第三者の名前を提案されたキーワードと比較することを要求することによって選択を自動的に有効にすることができる。第三者名及び提案されるキーワードが類似しているか又は同一である場合、ドメイン名管理者は、キーワード管理サーバに、提案されるキーワードマッピングを自動的に受理するように指示することができる。同様に、ドメイン名管理者は、第三者の名前とキーワードとが合致していない場合、又はキーワードがキーワード管理サーバ及び／又はドメイン名管理者によって生成された禁止キーワードのリストと合致する場合、キーワード管理サーバに、提案されるキーワードマッピングを自動的に拒否するように指示することができる。
【００６１】
ステップ１４７０において、キーワード管理サーバは、ドメイン名管理者の選択に基づいてブランド駆動キーワードマッピングを受理又は拒否することができる。キーワードが受理又は拒否されると、キーワード管理サーバは第三者に通知する。例えば、キーワード管理サーバは、第三者ブランド管理インタフェース１６００において、セクション１６４０又はセクション１６５０等に、承認又は拒絶されたブランド駆動キーワードマッピングに関する情報を表示することができる。
【００６２】
ステップ１４８０において、キーワード管理サーバは、ブランド駆動キーワードレジストリデータベースにおいてドメイン名管理者によって受理されたブランド駆動キーワードマッピングを記憶する。ブランド駆動キーワードマッピングを用いて、ブランド駆動キーワードマッピング内のキーワードと同じであるか又は類似しているユーザが供給したＵＲＬキーワードに応答して、クライアントをウェブページに向ける。ブランド駆動キーワードレジストリデータベースは、第三者の識別情報、第三者がブランド駆動キーワードマッピングを自動的に更新する許可を与えられているか否か、統計的情報、及びブランド駆動キーワードマッピングに関連付けられた様々な他の情報等のブランド駆動キーワードマッピングに関連する追加情報を記憶することもできる。
【００６３】
図１４は、特定のステップを用いて実行されるプロセスを示すが、本発明による実施形態は、図１４に示す全てのステップを実行する必要はなく、追加のステップを実行してもよく、又は異なる順序でステップを実行してもよい。
【００６４】
図４は、いくつかの開示される実施形態による、ユーザが供給したＵＲＬキーワードに応答して、クライアントをウェブページに向ける例示的な方法を示すフロー図である。図４に示す実施形態では、エンドユーザ等のクライアント４１０は、ＵＲＬと関連付けられたウェブページのためのコンテンツ提供者サーバ４２０にＨＴＴＰ要求を送信することができる（ステップ４１１）。
【００６５】
例えば、図５に示すように、ユーザはＵＲＬ５１０「ｈｔｔｐ：／／ｗｗｗ．ｎｅｗｎｅｗｓ．ｃｏｍ／＃ｅａｒｔｈｑｕａｋｅ」をブラウザのアドレスバーにタイプインすることができ、これによって、図６に示すように、ブラウザに、「ｗｗｗ．ｎｅｗｎｅｗｓ．ｃｏｍ」のドメイン名をホスティングするウェブサーバ４２０に対するＨＴＴＰ  ＧＥＴ要求６００を作成させることができる。特に、ユーザがＵＲＬ５１０を指定するのに応答して、ユーザのブラウザからのＨＴＴＰ要求６００は、ドメイン名６２０「ｗｗｗ．ｎｅｗｎｅｗｓ．ｃｏｍ」をホスティングするウェブサーバ４２０に直接、ルート「／」ディレクトリに対応するリソース６１０を要求することができる。通常、ウェブサーバは、ルートディレクトリの要求に応答して、「ｉｎｄｅｘ．ｈｔｍｌ」等のデフォルトＨＴＭＬファイルを送信するように構成される。
【００６６】
ＵＲＬ５１０は、パウンドすなわちハッシュシンボル「＃」によって示されるように、リソースストリング５１０ａ及びキーワード５１０ｂを含むことができる。ハッシュシンボルを用いてＵＲＬキーワードを区切るこの技法は、構文に関して、ＵＲＬにおけるフラグメント識別子の使用と類似している。これらはインターネット技術タスクフォース（ＩＥＴＦ：Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）のＲＦＣ３９８６のＵＲＬ規格によって規定されている。
【００６７】
従来の使用では、フラグメント識別子を用いて、ウェブサーバから受信したＨＴＭＬページ内の特定のセクションを特定し、ＨＴＭＬページをレンダリングする際に、ブラウザに、そのセクションに直接ナビゲートするように命令することができる。例えば、ウェブページのＨＴＭＬテキスト内で、ウェブページの著者は、ウェブページのコンテンツを、「導入」セクション、「解析」セクション及び「結論」セクションに論理的に分割することができる。著者は、対応するセクションのコンテンツの前に、ＨＴＭＬアンカータグ「＜ａ  ｈｒｅｆ＝“＃ｉｎｔｒｏｄｕｃｔｉｏｎ”＞」、「＜ａ  ｈｒｅｆ＝“＃ａｎａｌｙｓｉｓ”＞」及び「＜ａ  ｈｒｅｆ＝“＃ｃｏｎｃｌｕｓｉｏｎ”＞」を更に配置することができる。ユーザがフラグメント識別子「＃ａｎａｌｙｓｉｓ」を含むＵＲＬを要求する場合、「＃ａｎａｌｙｓｉｓ」フラグメント識別子のためのＨＴＭＬアンカータグが存在し、ユーザのブラウザは、検索されたＨＴＭＬ文書のＨＴＭＬをダウンロードしレンダリングするのみでなく、「＃ａｎａｌｙｓｉｓ」フラグメント識別子が先行するＨＴＭＬ文書のセクションに直接自動的にスクロールする。このため、図６に示すように、従来のフラグメント識別子は、完全にブラウザ内で処理され、ウェブサーバに対するブラウザのＨＴＴＰ要求６００の指定されたリソース６１０には含まれず、ＨＴＴＰ要求６００を介してコンテンツが検索された後に処理される。更に、フラグメント識別子の従来の使用は追加のＨＴＴＰ要求を生成せず、ブラウザにおいてレンダリングが行われる際に、返されたコンテンツのどの部分が表示されるかを決定するためにのみ用いられる。
【００６８】
一方、以下で更に説明するように、本発明によれば、フラグメント識別子の構文を代わりに用いてＵＲＬキーワードを示すことができる。すなわち、フラグメント識別子５１０ｂ「＃ｅａｒｔｈｑｕａｋｅ」は、ユーザがブラウザにテキスト「ｅａｒｔｈｑｕａｋｅ」によってアンカリングされるウェブページのセクションへの初期スクローリングフォーカスを指定していることを示すのではなく、コンテンツ提供者がキーワード「ｅａｒｔｈｑｕａｋｅ」について指定した特定のウェブページが何であれ、その特定のウェブページにユーザを向けることによってコンテンツ提供者サーバ４２０が応答することをユーザが要求していることを示すことができる。この特定のウェブページは最初に要求されたウェブページと異なるウェブページであってもよい。コンテンツ提供者がフラグメント識別子を、初期ページヘのアンカー、及びユーザを特定のウェブページに向ける方法の双方として用いているとき等、競合が存在する状況では、コンテンツ提供者及び／又はキーワード解決サービスは、アンカー又はキーワードを中心にするか否かを判断することができる。例えば、キーワード解決サービスは、キーワードとの競合が存在しない場合、アンカーを自動的に優先することができ、競合が存在する場合、キーワードが優先権を得ることができる。このため、クライアントは特定のウェブページに向けられる。
【００６９】
この例について続けると、ユーザは、ある外国における地震に関する最近の重要な世界的事象について耳にした場合がある。そして、ユーザは、この事象に関する情報についてウェブサイトｗｗｗ．ｎｅｗｎｅｗｓ．ｃｏｍを調べることを更に望んだ場合がある。しかしながら、まずｗｗｗ．ｎｅｗｎｅｗｓ．ｃｏｍホームページに進み、地震の科学的説明から地震の歴史的要約にまで及び得る、地震について議論する記事を検索するか、又は最近の地震に関する情報を見つける（関連する国等のユーザが十分な情報を有していない場合がある情報を見つけ、更にはどこから見始めるべきかを知る）ためのメニュー及びサブディレクトリ等の従来のナビゲーション技法を通じてナビゲートを試みるのではなく、ユーザは代わりに、ＵＲＬにおいて、求めるトピックのベースドメイン名５１０ａ及びキーワード５１０ｂを単に指定することができる。
【００７０】
ブラウザにこのベースドメイン名／キーワードの組合せへのＨＴＴＰ要求を行わせることによって、ユーザは本質的に、ｗｗｗ．ｎｅｗｎｅｗｓ．ｃｏｍのドメイン名をホスティングするウェブサーバがユーザに、ＮｅｗＮｅｗｓコンテンツ提供者がそのキーワードについて指定した特定のウェブページが何であってもそれを提供することを要求している。例えば、ＮｅｗＮｅｗｓコンテンツ提供者が外国の大規模な地震について知ると、その編集スタッフが、最近のニュースとなる地震事象の基本的概要を提供するウェブページを探しているならばユーザが求めているであろうと思われる関連情報の全てを詳述するウェブページを作成することができる。ウェブページが作製され、図３のＵＲＬ３１５等のＵＲＬを割り当てられると、編集者の又は他の非技術者のコンテンツ提供者がキーワードシステムインタフェース３００にログインし、ｗｗｗ．ｎｅｗｎｅｗｓ．ｃｏｍのドメイン名のための新たなキーワード「地震」を登録し、これをＵＲＬ３１５に関連付ける。
【００７１】
図５は、本発明の実施形態による、キーワードを埋め込むことができるＵＲＬの他の潜在的な形態を示す。例えば、好ましい実施形態とすることができるＵＲＬ５２０におけるように、キーワード（ここでは「ａｎｖｉｌ」）を、ブラウザがＨＴＴＰ要求を作成するのに十分な情報を有することができる任意の形態のＵＲＬに埋め込むことができ、したがって、スキーム又はメカニズム（ここでは「ｈｔｔｐ」）は存在しない場合があり、ドメイン名とキーワードとの間のルートディレクトリ「／」シンボルも省略される場合がある。ＵＲＬ５２０の例では、ユーザは、購入する特定のタイプの製品（ここでは、「ａｎｖｉｌ」）のためのコンテンツ提供者指定のウェブページを要求するために、オンライン小売店（ここでは「ａｃｍｅｃｏｒｐ．ｃｃ」）のドメイン名にキーワードを付加することができる。
【００７２】
ＵＲＬ５３０に示されるように、キーワードは、スペース等の許可されていないＵＲＬ文字を含むことができる。これは、別々の、スペースで区切られた単語を用いるために、又は非ＡＳＣＩＩ文字等の特殊文字を含めるために、ＨＴＴＰ応答における送信の前にＵＲＩ符号化を受けることができる。ＵＲＬ５３０の例では、ユーザは、地元の事業のドメイン名（「ここではｍｏｍａｎｄｐｏｐｓｈｏｐ．ｃｏｍ」）に、地元の事業において行われている特定の販売促進又はイベントに関する情報のためのコンテンツ提供者指定のウェブページを要求するためのキーワード（ここでは「ｇｒｅｅｎｌｉｇｈｔｓｐｅｃｉａｌ」）を付加することができる。
【００７３】
ＵＲＬ５４０に示すように、キーワードはワイルドカード、正規表現、若しくはキーワードの柔軟性のある文字列合致を可能にする他の文字も含むことができるか、又は代替的なキーワードを含むことができ、この場合、例えば、選択肢がパイプ「｜」文字で分けられる。また、ＵＲＬ５４０は、キーワードがドメイン名に直接続く必要がなく、代わりに、ディレクトリ構造又はＵＲＬ内の他のパス内に配置されてもよいことを実証する。パス内に配置されるキーワードは、様々な方法で処理することができる。例えば、キーワードが見つかった場合、ＵＲＬ内の任意のパスが単に無視されるように、キーワードにいかなるパス情報にも勝る優先度を与えることができる。
【００７４】
代替的に、キーワードに先行する任意のパスは、範囲を限定するか、又は他の形で、そのキーワードに関連する名前空間を提供することができる。例えば、コンテンツ提供者は、ＵＲＬにおける「／ｓｔｕｄｅｎｔｓ／ｕｎｄｅｒｇｒａｄｕａｔｅ／」パス内にキーワード「ａｄｍｉｓｓｉｏｎ」が配置される場合、このキーワードのための第１のウェブページを指定する（例えば、学部生の入学情報を提供する）ことができ、ＵＲＬにおける「／ｓｔｕｄｅｎｔｓ／ｇｒａｄｕａｔｅ／」パス内にキーワード「ａｄｍｉｓｓｉｏｎ」が配置される場合、このキーワードのための第２のウェブページを指定する（例えば、大学院生の入学情報を提供する）ことができる。同様の技法を、種々の異なる会社又は組織に単一ドメイン内で「バニティ」ＵＲＬを提供するコンテンツ提供者に対して用いることができる。例えば、「ｗｗｗ．ｆａｃｅｂｏｏｋ．ｃｏｍ／ｃｏｃａｃｏｌａ」又は「ｗｗｗ．ｆａｃｅｂｏｏｋ．ｃｏｍ／ｔｏｙｏｔａ」等のバニティＵＲＬを提供するＦａｃｅｂｏｏｋ．ｃｏｍの場合、同じキーワード（例えば、「＃２０１１ｃｈａｌｌｅｎｇｅ」）を、これが「／ｃｏｃａｃｏｌａ」パス内に生じるか又は「／ｔｏｙｏｔａ」パス内に生じるかに依拠して異なるウェブページにリンクさせることができる。
【００７５】
ＵＲＬ５４０の例において、ユーザは、大学（ここでは「ｗｗｗ．ｖａｎｄｅｒｂｉｌｔ．ｅｄｕ」）又は他の非営利組織のドメイン名（更にはドメイン名に続くパス内）にキーワードを付加して、コンテンツ提供者指定のウェブページに、特定の主題（ここでは「ａｄｍｉｓｓｉｏｎ」）に関する全体情報（例えば、コンテンツテーブル）を要求することができる。
【００７６】
ＵＲＬ５５０に示すように、キーワードは、ＵＲＬ内のクエリ文字列内に埋め込むか又はこのクエリ文字列に付加することもできる。ＵＲＬ５４０と同様に、ＵＲＬ５５０内のクエリ文字列は、キーワードが検出される無視することができるか、又はキーワードが別個の若しくは別々の意味を有する名前空間を提供することができる。いくつかの実施形態では、ＵＲＬクエリ文字列は、ユーザが指定したキーワードに応答して返される任意のウェブページに適用される追加パラメータを単に提供することができる。この追加パラメータは、そのようなウェブページを特定の言語（ここではフランス語を表す「ｆｒ」）又は特定のフォーマット（ここではモバイルデバイスにおける表示のためにフォーマット設定される）において提供するべきであるという命令等である。ＵＲＬ５５０の例では、ユーザは、特定のトピック（ここでは「ＥＴＦ」）に関するステータス情報又はリアルタイム情報を提供するコンテンツ提供者指定のウェブページを要求するために、オンライン情報サービス提供者のドメイン名（ここでは「ｓｉｔｅ．ｎｅｔｏｐｓ．ｇｌｏｂａｌｓｅｃｕｒｉｔｉｅｓｔｒａｄｅ．ｏｒｇ」）にキーワードを付加することができる。
【００７７】
ＵＲＬ５５０に示すように、キーワードは、複数のサブドメイン名を含むドメイン名に付加することができる。そして、ＵＲＬ５４０のパスと同様に、先行するドメイン名の特異性により、キーワードが別個の又は別々の意味を有する名前空間を規定することができる。例えば、コンテンツ提供者は、キーワード「ＥＴＦ」が、より包括的な第２レベルのドメイン名「ｇｌｏｂａｌｓｅｃｕｒｉｔｉｅｓｔｒａｄｅ．ｏｒｇ」の後に続く場合、このキーワードのための第１のウェブページを指定する（例えば、一般的なＥＴＦ製品に関する情報を提供する）ことができ、キーワード「ＥＴＦ」が、より詳細なサブドメイン「ｎｅｔｏｐｓ．ｇｌｏｂａｌｓｅｃｕｒｉｔｉｅｓｔｒａｄｅ．ｏｒｇ」又はそのサブドメイン内の任意の他のサブドメインの後に続く場合、このキーワード「ＥＴＦ」のための第２のウェブページを指定する（例えば、様々な上場投資信託のためのリアルタイムの取引価格を提供する）ことができる。図５は、最上位レベルドメイン、第２レベルドメイン、第３レベルドメイン及び第４レベルドメインを含み、最上位レベルドメインの後にフラグメント識別子及びキーワードが続くＵＲＬを示しているが、本発明による実施形態は、ＵＲＬ内の任意のドメインレベルにおいてフラグメント識別子及びキーワードを実装することができ、かつ／又は任意のドメインレベルのうちの１つ若しくは複数を含むＵＲＬにおいてフラグメント識別子を実装することができる。
【００７８】
そして、ＵＲＬ５６０に示すように、複数のキーワード５６０ａ、５６０ｂ及び５６０ｃをＵＲＬに配置することができる。ＵＲＬ５６０のこの例では、ユーザは、オンライン小売店のドメイン名に複数のキーワードを付加して、特定の製品名について１つ又は複数のコンテンツ提供者指定のウェブページを要求することができる。複数のキーワードを処理するために、各キーワードを処理して合致が存在するか否かを判断し、第１のキーワードに応答して指定されたウェブページを有するウェブページを提供すること、様々なキーワードの優先順位を割り当て、ＵＲＬ内の最高ランクのキーワードについて指定されるウェブページを提供すること、又は別々のキーワード組合せについて特定のウェブページマッピングを提供すること（例えば、キーワード５６０ａに対し第１のウェブページ、キーワード５６０ｂに対し第２のウェブページ、キーワード５６０ｃに対し第３のウェブページ、キーワード５６０ａ、５６０ｂ及び５６０ｃの組合せについて第４のウェブページ）を含む、様々な技法を用いることができる。
【００７９】
ＵＲＬキーワードを特定する他の技法又は構文を用いることができる。例えば、ＵＲＬキーワードは代替的に、１６進数フォーマットに変換しない限り有効なＵＲＬ文字でない、「＄」、「｜」又は「＠」等の１つ又は複数の特徴によって指定することができる。しかしながら、そのような文字を用いてファイル名又はＵＲＬ内の有効パスを規定することもできるため、いくつかの実施形態では代わりにハッシュシンボルを用いることが望ましい場合がある。なぜなら、ほとんどのウェブブラウザはＨＴＴＰ要求からいかなるフラグメント識別子（ハッシュシンボルによって特定される）も省くように構成され、このため、ドメイン固有のキーワードのための機能を提供しないウェブサーバがそのファイル名にキーワードテキストを実際に含むファイルを位置特定することを試みる危険をなくすことができるためである。
【００８０】
本発明のＵＲＬキーワードは、他の場合にはＵＲＬに対し許可されない国際文字又は特殊文字も含むことができる。なぜなら任意のこのような文字を、ＨＴＴＰ要求において送信する前にユーザのブラウザによって１６進数形態に単に変換することができるためである。例えば、履歴書文案を対象とする本のためのキーワードウェブページを作成することを望む書籍販売者等のコンテンツ提供者は、ユーザが同様にキーワード「＃ｒｅｓｕｍｅ」を指定する場合があることを認識し、適切な国際文字を用いるキーワードを作成することができる。このキーワードを、ＨＴＴＰ要求が作成されるとき、ユーザのブラウザによってＵＲＩ符号化にかけ、「＃ｒ％Ｃ３％Ａ９ｓｕｍ％Ｃ３％Ａ９」にすることができる。
【００８１】
図４に戻ると、ステップ４２１において、コンテンツ提供者サーバ４２０はＨＴＴＰ要求６１０を受信し、図７に示すようにＨＴＴＰ応答７００を送信することによって応答する。ＨＴＴＰ応答７００は、ヘッダ情報７１０及びペイロードデータ７２０の双方を含む。キーワード５１０ｂは、この時点において、コンテンツ提供者サーバ４２０へのＨＴＴＰ要求６００に含まれていない場合があるので（なぜなら、フラグメント識別子としてフォーマット設定されるとき、このキーワードはクライアントのブラウザによって省かれる場合があるため）、コンテンツ提供者サーバ４２０は、「ｗｗｗ．ｎｅｗｎｅｗｓ．ｃｏｍ／」の要求がｗｗｗ．ｎｅｗｎｅｗｓ．ｃｏｍにおけるルートウェブページの実際の要求を意味するのか、又は単にドメイン固有のキーワードのためのドメイン名を指定するのに用いられたのかがわからない場合がある。したがって、コンテンツ提供者サーバ４２０は、サーバ上に「ｉｎｄｅｘ．ｈｔｍｌ」ファイルのためのＨＴＭＬテキストを含むペイロード７２０を送信することができる。
【００８２】
一方、クライアント４１０がドメイン固有のキーワードを要求している場合がある可能性を許容するために、コンテンツ提供者サーバ４２０は、ＨＴＭＬ文書／ペイロード７２０内に、例えば「＜ｈｅａｄ＞」セクション７２１等の少量のクライアント実行可能コードも含むことができる。この例示的な実施形態において、クライアント実行可能コードは「＜ｈｅａｄ＞」セクション内に含まれるが、クライアント実行可能コードはＨＴＭＬ文書内の任意の場所に含めることができる。クライアント実行可能コードは、ＪａｖａＳｃｒｉｐｔ（登録商標）又は他のクライアント実行可能プログラム７２１ｂを含むことができ、そのコンテンツはコンテンツ提供者サーバ４２０によって直接提供される。代替的に、コンテンツ提供者サーバ４２０は、キーワード解決サーバ４３０等の別のサーバに常駐するプログラムファイルへのリンク７２１ａのみを含むことができる。この手法を用いて、クライアント４１０は、リンク７２１ａによって指定されるプログラムファイルについてキーワード解決サーバ４３０に別個のＨＴＴＰ要求を行うことができ、プログラムファイルが受信されると、クライアントのブラウザプログラム内でプログラムファイルを実行することができる。
【００８３】
ステップ４１２において、クライアント４１０は、例えば「＜ｈｅａｄ＞」セクション７２１内に含まれる任意のスクリプトがＨＴＭＬ文書７２０の「＜ｂｏｄｙ＞」７２２セクション内の任意のコンテンツをパース（ｐａｒｓｉｎｇ）又はレンダリングする前に実行されるというブラウザルールの下で、クライアント実行可能プログラムを実行することができる。クライアント実行可能プログラムは、要求されるＵＲＬ内にユーザが含めた任意のＵＲＬキーワードを識別することができる。例えば、キーワードがフラグメント識別子としてフォーマット設定される場合、コンテンツ提供者サーバ４２０ではなくクライアント４１０内でクライアント実行可能プログラムが実行されるので、クライアント実行可能プログラムはそのようなフラグメント識別子にアクセスを有することができる。ＵＲＬ５１０の例において、クライアント実行可能プログラムは、「＃ｅａｒｔｈｑｕａｋｅ」フラグメント識別子をドメイン固有のキーワードとして識別する。
【００８４】
ステップ４１２において、１つ又は複数のドメイン固有のキーワードの存在を識別したことに応答して、クライアント実行可能プログラムは、クライアント４１０に、１つ又は複数のキーワードのための特定のコンテンツプロバイダ指定のウェブページのＵＲＬを要求するための、別個のキーワード解決サーバ４３０への別個のＨＴＴＰ要求を行わせることができる。例えば、図８に示すように、ＵＲＬ５１０の場合、クライアント４１０はＵＲＬ８００を用いてキーワード解決サーバ４３０へのＨＴＴＰ  ＧＥＴ要求を行うことができる。ＵＲＬ８００は、キーワード解決サーバのドメイン名８１０と、キーワードルックアップ動作を実行することが可能なキーワード解決サーバ４３０におけるサーバ側スクリプトのパス８２０と、元のＵＲＬ８３０ａ及びクライアント４１０によって要求されたドメイン固有のキーワード８３０ｂの双方を指定するクエリ文字列８３０とを含むことができる。
【００８５】
例えば、クライアント実行可能プログラムは、当業者によって既知のＪａｖａＳｃｒｉｐｔ（登録商標）及びＸＭＬによる非同期通信（「ＡＪＡＸ」）又はＪＱｕｅｒｙ技法を用いてキーワード解決サーバ４３０に同期又は非同期のＨＴＴＰ要求を行うことができる。クライアント実行可能プログラムは、解決サーバによってホスティングされるＵＲＬを指すターゲットを有するＨＴＭＬ「＜ＩＦｒａｍｅ＞」要素又はＨＴＭＬ「＜ｓｃｒｉｐｔ＞」要素を用いてキーワード解決サーバへのＨＴＴＰ要求を行うこともできる。当業者であれば、ユーザが要求したＵＲＬ及びドメイン固有のキーワードを、解決するためにキーワード解決サーバ４３０に提供するための他の手段を理解するであろう。
【００８６】
４３１において、キーワード解決サーバ４３０は、コンテンツ提供者のウェブサイト上のいずれの特定のウェブページが、要求されたキーワードのためにサービングされるように指定されたかを、そのウェブページが存在する場合に確定することができ、その特定のウェブページに対応するターゲットＵＲＬをクライアントに戻して提供することができる。例えば、ＵＲＬ５１０の場合、キーワード解決サーバ４３０は、図９に示すように、クライアント４１０にＵＲＬ９００を提供することができる。このＵＲＬはコンテンツ提供者がキーワード指定インタフェース３００においてＵＲＬ３１５として指定したのと同じＵＲＬである。キーワード解決サーバ４３０は、ＡＪＡＸ応答において、ＵＲＬ９００を単純なテキスト文字列としてクライアント４１０に提供することができる。代替的に、キーワード解決サーバ４３０は、例えばＨＴＴＰ３０１又は３０２のリダイレクトを用いてクライアント４１０をＵＲＬ９００にリダイレクトすることができる。
【００８７】
ステップ４１３において、クライアント４１０は、キーワード解決サーバによって提供されるターゲットＵＲＬについてコンテンツ提供者サーバ４２０への新たなＨＴＴＰ要求を行うことができる。例えば、クライアント４１０は、ＵＲＬ９００に関連付けられたウェブページについてコンテンツ提供者サーバ４２０へのＨＴＴＰ要求を行うことができる。そして、それに応答して、コンテンツ提供者サーバ４２０は、ＵＲＬ９００によって指定されるウェブページのためのＨＴＭＬテキストを含むＨＴＴＰ応答を提供し、これによって、クライアント４１０に、キーワード「地震」についてコンテンツ提供者が指定したウェブページを提供することができる。次に、クライアントは、メインブラウザウィンドウ内に、ユーザが見て対話するための、ＵＲＬ９００によって指定されたウェブページをレンダリング及び表示することができる。
【００８８】
ユーザ指定のキーワードに応答してコンテンツ提供者指定のウェブページを提供するための上記の技法は、ここで短く論じるのに値するいくつかの更なる利点を提示する。クライアントは、ブラウザプラグイン又はアドオン等によってブラウザプログラムの機能を変更も強化もする必要なく、既存のブラウザプログラムを用いてドメイン固有のキーワードウェブページを要求することができる。むしろ、本発明を実行するために、ブラウザはフラグメント識別子をＵＲＬに含める能力をユーザに提供し、ＪａｖａＳｃｒｉｐｔ（登録商標）等のクライアント実行可能プログラムを実行する基本機能を含むのみでよい。
【００８９】
コンテンツ提供者は同様に、既存のサーバ側スクリプト又はプログラムへの僅かな変更のみで、ＨＴＴＰに応答してドメイン固有のキーワード機能を実施することができる。特に、コンテンツ提供者は、コンテンツ提供者がドメイン固有のキーワードを提供することを望むドメインにおいて、各ウェブページ内に少量のクライアント実行可能コードを含むのみでよい。次に、コンテンツ提供者は、これをクライアントのブラウザ及び実際のキーワード解決動作を実行するための関連するキーワード解決サーバに任せることができる。実際に、コンテンツ提供者がウェブページに対するＨＴＴＰ応答において必須のクライアント実行可能プログラムを含むと仮定すると、コンテンツ提供者のサーバは、クライアントがドメイン固有のキーワードを要求したか、又は以前のキーワード解決に応答して固有のウェブページの要求を行っているかに関して完全にとらわれない（ｃｏｍｐｌｅｔｅｙ  ａｇｎｏｓｔｉｃ）ままであることができる。コンテンツ提供者サーバは、クライアントが実行可能なキーワード解決プログラムと共に常に任意の要求されたウェブページを返すので、コンテンツ提供者は、ウェブページを要求したクライアントが、それらを実際にレンダリングするためにそのようなウェブページを受信するのに対し、ウェブページを単に特定のＵＲＬキーワードのためのドメイン名空間を指定する手段として要求するクライアントが、キーワードを解決するのに必要なクライアント実行可能プログラムを提供されることを確実にすることができる。
【００９０】
同様に、構文又はフラグメント識別子を用いてドメイン固有のキーワードを指定することによって、ユーザは、任意のコンテンツ提供者へのＵＲＬキーワードを含むＨＴＴＰ要求を、そのコンテンツ提供者がキーワードに対応しているか否かにかかわらず、サーバ応答エラーを生じさせる危険なしに行うことができる。ブラウザはフラグメント識別子テキストをウェブサーバに送信しないので、キーワードに対応していないウェブサーバへのＨＴＴＰ要求にドメイン固有のＵＲＬキーワードを含めることによってエラーは一切生じないはずであり、代わりに単に、フラグメント識別子を有しないＵＲＬのウェブページがダウンロードされ表示されるはずである。そして、キーワードに対応しているウェブサーバの場合であっても、コンテンツ提供者がウェブページを指定していないドメイン固有のキーワードをユーザが指定する場合、キーワード解決サーバが単に、解決クエリに応答して空の文字列を提供することができ、ここでもまた、結果としてベースＵＲＬのウェブページがダウンロードされ表示される。
【００９１】
キーワードがコンテンツ提供者指定のウェブページに対応することがわかった場合、キーワードの解決を要求し、クライアントを解決されたターゲットＵＲＬにリダイレクトするための実行可能コードは、コンテンツ提供者サーバによって返される元のＨＴＭＬ文書の「＜ｈｅａｄ＞」セクション内にあり、そのようなコードは元のＨＴＭＬ文書の任意のレンダリングが行われる前に実行することができる。このため、ユーザは、短い間のみであっても、元々要求されたＨＴＭＬ文書が表示されるのを決して見るはずはなく、ユーザには、キーワードに関連付けられたウェブページに直接進んだように見えるはずである。
【００９２】
また、キーワード管理インタフェース３００とともに別個のキーワード解決サーバを用いることによって、コンテンツ提供者の非技術要員が、ＩＴ人員等の技術要員が関与する必要なく、事業ニーズの導くままにキーワードウェブページマッピングを作成、変更又は削除することが可能になる。実際に、コンテンツ提供者自体が特定のＩＴスキルを一切必要とすることなくキーワードを維持管理することができるので、コストを低減することができる。更に、コンテンツは迅速に変化し、既存の従来のナビゲーション技法はＩＴのプロがウェブサーバを再構成することを必要とする。
【００９３】
別の実施形態では、コンテンツ提供者自体がキーワード解決サービス提供者の役割を果たすことができる。特に、コンテンツ提供者サーバによってクライアントに提供されるクライアント実行可能プログラムは、１つ又は複数のＵＲＬキーワードを識別した後に、クライアントに、識別されたキーワードに対応するコンテンツ提供者指定のウェブページについて、別個のキーワード解決サーバではなくコンテンツ提供者自体にクエリするように命令することができる。
【００９４】
本発明は、ユーザがドメイン固有のキーワードをＵＲＬに手動でタイプインする状況に限定されない。むしろ、ドメイン固有のキーワードは、既存のＨＴＭＬ文書のハイパーリンク内に指定されるか、ナビゲーション「ブックマーク」に含まれるか、ＨＴＴＰリダイレクトの形態等でＷｅｂサーバによって提供されるか、又は携帯電話のネイティブアプリケーション内に含まれる等の任意の方式で、要求されるＵＲＬに含めることができる。
【００９５】
本発明は、ユーザがキーワードにおいて「ｅｎｇｉｎｅｅｒ＊」等のワイルドカード又は正規表現を用いることも可能にする。「ｅｎｇｉｎｅｅｒ＊」は「ｅｎｇｉｎｅｅｒ」、「ｅｎｇｉｎｅｅｒｓ」、「ｅｎｇｉｎｅｅｒｉｎｇ」、「ｅｎｇｉｎｅｅｒｉｎｇ  ｓｃｈｏｏｌｓ」等に変化することができる。いくつかの実施形態では、ワイルドカード又は正規表現のキーワードについて十分な数の潜在的解決が存在する場合、ユーザは選択肢リストをプロンプトされ得る。
【００９６】
ステップ４１１の元々要求されたベースＵＲＬ及びステップ４１３のターゲットＵＲＬの双方を同じコンテンツ提供者エンティティによってホスティングすることができるにもかかわらず、それぞれのＵＲＬによってホスティングされるリソースは別個のウェブサーバによってホスティングされてもよいことも当業者は理解するであろう。また、本出願において主に「ドメイン固有の」キーワードとして説明されたが、当業者であれば、この概念を提供者固有のキーワードに拡張することができることを理解するであろう。例えば、単一のコンテンツ提供者が、ともに同じホスティングサービスに向けられるか又は同じウェブサーバによってホスティングされる別々のドメイン名「ｚｕｌｕｍａｉｌ．ｔｖ」及び「ｚｍａｉｌ．ｔｖ」を所有しホスティングすることができる。そして、コンテンツ提供者は、キーワード「＃ｆｏｒｗａｒｄｉｎｇ」のための単一のウェブページを、これがユーザによっていずれのドメインに基づくＵＲＬの一部として要求されたかにかかわらず指定することができる。すなわち、「ｈｔｔｐ：／／ｚｕｌｕｍａｉｌ．ｔｖ／＃ｆｏｒｗａｒｄｉｎｇ」及び「ｈｔｔｐ：／／ｚｍａｉｌ．ｔｖ／＃ｆｏｒｗａｒｄｉｎｇ」を解決して、双方をＵＲＬ「ｈｔｔｐ：／／ｚｍａｉｌ．ｔｖ／ｕｓｅｒ＿ｏｐｔｉｏｎｓ／ｍａｉｌ＿ｈａｎｄｌｉｎｇ／ａｕｔｏｍａｔｉｃ＿ｆｏｒｗａｒｄｉｎｇ．ｈｔｍ」に変換することができる。
【００９７】
同様に、この概念は、第１のコンテンツ提供者が所与のキーワードについて別のコンテンツ提供者のウェブページを指定することを可能にするように拡張することができる。例えば、複数のより小規模な天気関連ウェブサイトが、より大規模なサービス提供者に依存してリアルタイム天気情報を供給する場合、より小規模な各ウェブサイトを担当するコンテンツ提供者は、キーワード「＃ｓｔｏｒｍｓ」について、より大規模なサービス提供者によってホスティングされるウェブページを指定することができる。
【００９８】
換言すれば、コンテンツ提供者は、所与のキーワードについて指定することができる特定のウェブページに一切制限されない。一方、図２に関して説明したように、コンテンツ提供者は、所有又は制御しておらず、権限も有しないウェブサイト又はドメインについてのキーワードを指定することができないという点において制限される場合がある。また更に、所与のコンテンツ提供者指定のキーワードは、ＵＲＬパス、クエリ文字列及び／又はポート番号も含むことができる、特定のドメイン名内のみで意味を有する場合がある。
【００９９】
更に、キーワード／ＵＲＬマッピングの実施形態について複数の実装オプションが存在する。図１０に示すように、一般的な事例では、ユーザ１０１０は「ｅｘａｍｐｌｅ．ｃｏｍ＃ｋｅｙｗｏｒｄ」等の直接ナビゲーションＵＲＬをブラウザ１０２０に入力し、ブラウザ１０２０にｅｘａｍｐｌｅ．ｃｏｍサーバ１０３０へのＨＴＴＰ  ＧＥＴ要求を行わせることができる。ユーザが直接ナビゲーションＵＲＬを指定するのに応答して、ブラウザ１０２０からのＧＥＴ要求は、ドメイン名「ｅｘａｍｐｌｅ．ｃｏｍ．」をホスティングするサーバ１０３０に、ルート「／」ディレクトリに対応するリソースを要求することができる。通常、ウェブサーバは、ルートディレクトリへの要求に応答して、「ｉｎｄｅｘ．ｈｔｍｌ」等のデフォルトＨＴＭＬファイルを、例えばＪａｖａＳｃｒｉｐｔ（登録商標）コード等の必須のキーワード／ＵＲＬマッピング及びキーワード解決プログラムと共に送信する。次に、ブラウザ１０２０はキーワード解決プログラムを実施して、キーワードマッピングへのＵＲＬ及びマッピングされたＵＲＬを求めることができる。次に、ブラウザ１０２０はマッピングされたＵＲＬページについてサーバ１０３０への要求を送信することができ、この要求に応答して、サーバはターゲットページ（すなわち、キーワードに関連するページ）を返すことができる。代替的に、コンテンツ提供者サーバは、キーワード解決サーバ等の別個のサーバにキーワードの解決を要求するか、クライアントに、この解決を要求するように命令することができる。
【０１００】
キーワード／ＵＲＬマッピングは様々な方法で実行することができる。例えば、キーワード／ＵＲＬマッピングはサーバ側で実行するか、クラウドベースとするか、又はクライアント側で実行することができる。図１１は、サーバ側で実行されるキーワード／ＵＲＬマッピングの例示的な実施である。図１１に示すように、インターネットユーザ１１１０と、ブラウザ１０２０と、サーバ１１３０と、キーワードレジストリ１１４０とが存在し得る。キーワードレジストリ１１４０は、ドメイン所有者１１５０によって、ドメイン所有者１１５０がキーワードをドメイン内の特定のウェブサイトに関連付けるように構成することができ、別個のサーバであってもよく、又はサーバ１１３０自体の一部であってもよい。更に、ブランド駆動キーワードレジストリ（図示せず）は別個に設けてもよく、又は結合されたキーワードレジストリ１１４０であってもよい。
【０１０１】
図１１に示すように、ユーザ１１１０は、「ｅｘａｍｐｌｅ．ｃｏｍ＃ｋｅｙｗｏｒｄ」等の直接ナビゲーションＵＲＬをブラウザ１１２０に入力することができる。ブラウザ１１２０は、「＃」を、「＠」等の何らかの他の文字に変換し、キーワード及び新たな文字を用いてサーバ側への要求を行う。次に、サーバ１１３０はキーワードレジストリ１１４０と通信してキーワードにマッピングされたＵＲＬを求めることができ、サーバ１１３０は、要求に応答して、例えばＪａｖａＳｃｒｉｐｔ（登録商標）コード等のキーワード解決プログラムと共に「ｉｎｄｅｘ．ｈｔｍｌ」等のデフォルトＨＴＭＬファイルを送信することができる。次に、ブラウザ１０２０は、マッピングされたＵＲＬページについてサーバ１１３０への要求を送信することができ、この要求に応答して、サーバはターゲットページを返すことができる。
【０１０２】
図１２は、クライアント側で実行されるキーワード／ＵＲＬマッピングの例示的な実施態様である。図１２に示すように、ユーザ１２１０は「ｅｘａｍｐｌｅ．ｃｏｍ＃ｋｅｙｗｏｒｄ」等の直接ナビゲーションＵＲＬをブラウザ１２２０に入力し、ブラウザ１２２０に、ｅｘａｍｐｌｅ．ｃｏｍサーバ１２３０へのＨＴＴＰ  ＧＥＴを行わせることができる。ユーザが直接ナビゲーションＵＲＬを指定するのに応答して、ブラウザ１２２０からのＧＥＴ要求は、ドメイン名「ｅｘａｍｐｌｅ．ｃｏｍ．」をホスティングするサーバ１２３０に、ルート「／」ディレクトリに対応するリソースを要求することができる。通常、ウェブサーバは、ルートディレクトリの要求に応答して、「ｉｎｄｅｘ．ｈｔｍｌ」等のデフォルトＨＴＭＬファイルを、例えばＪａｖａＳｃｒｉｐｔ（登録商標）コード等の必須のキーワード／ＵＲＬマッピング及びキーワード解決プログラムと共に送信する。次に、ブラウザ１２２０はキーワード解決プログラムを実施して、キーワードレジストリ１２４２を含むことができるクラウドインフラストラクチャ１２４０と通信することができる。クラウドインフラストラクチャ１２４０は、ＵＲＬとキーワードとのマッピング及びマッピングされたＵＲＬを求め、このマッピングされたＵＲＬをブラウザ１２２０に送信する。次に、ブラウザ１２２０は、マッピングされたＵＲＬページについてサーバ１２３０への要求を送信することができ、この要求に応答して、サーバはターゲットページを返すことができる。
【０１０３】
キーワード／ＵＲＬマッピングは完全にクライアント側で行うこともできる。いくつかの実施形態では、クライアントは、コンテンツ提供者又は第三者解決サービス提供者がキーワード／ＵＲＬマッピングを解決するのに頼るのではなく、ＵＲＬキーワードの解決のためのローカルファイルシステム又はデータベースを維持管理することができる。例えば、ＨＴＭＬ５は、ＪａｖａＳｃｒｉｐｔ（登録商標）等のクライアント実行可能コードが、データ又はコンテンツを検索するために、ローカルデータベースにアクセス又はクエリすることを可能にする。コンテンツ提供者から受信されるクライアント実行可能プログラムは、そのようなローカルデータベースがキーワードとＵＲＬとの間のマッピングをルックアップすることに頼ることができ、関連するＵＲＬが位置特定されると、ブラウザを直接そのＵＲＬに向け、これによりクライアントからプロセスの遠隔にあるサーバへの少なくとも１つのＨＴＴＰ要求を削減することができる。他の実施形態では、クライアント実行可能コード自体がＵＲＬキーワードの解決のためのローカルファイルシステム又はデータベースを生成することができる。
【０１０４】
別の実施形態では、ＵＲＬキーワード解決動作は、クライアントが任意のクライアント実行可能コードを実行するのに頼ることなく、完全にサーバ側で実行することができる。例えば、図１３に示すように、ユーザ１３１０は「ｅｘａｍｐｌｅ．ｃｏｍ＃ｋｅｙｗｏｒｄ」等の直接ナビゲーションＵＲＬをブラウザ１３２０に入力することができる。ＵＲＬキーワードがハッシュシンボル以外の文字（例えば、「＠」文字）によって区切られている場合、フラグメント識別子とは異なり、キーワードをクライアント１３２０の初期ＨＴＴＰ要求の一部としてコンテンツ提供者サーバ１３３０に送信することができる。コンテンツ提供者サーバ１３３０は、例えば、キーワードを識別し、キーワードのための適切なＵＲＬマッピングを求め、（例えば、ＨＴＴＰ３０１リダイレクト命令を用いて）クライアント１３２０をキーワードのための適切なＵＲＬに向ける。これらは全てクライアント１３２０が任意のクライアント実行可能コードを実行するのに頼ることなく行われる。代替的に、コンテンツ提供者サーバは、キーワード解決サーバ等の別個のサーバからのキーワードの解決を要求するか、クライアントに、この解決を要求するように命令することができる。
【０１０５】
別の実施形態では、クライアントが、コンテンツ提供者によって作成も指定もされていないキーワードを要求する場合、クライアント実行可能プログラム、キーワード解決サーバ又はコンテンツ提供者サーバは一定のデフォルトオプションを提供することができる。例えば、存在しないキーワードについての要求に応答して、クライアントは単に、初期ＨＴＴＰ要求のベースＵＲＬによって識別されるウェブページをレンダリングすることができる。代替的に、クライアントに、ウェブページ、ＪａｖａＳｃｒｉｐｔ（登録商標）アラート、又はユーザが存在しないキーワードを要求したことの他の通知を提供してもよい。ユーザが存在しない元々要求されたキーワードの代わりに選択することができる潜在的に類似した既存のキーワードのリストをユーザに提供してもよい。また、従来のキーワード検索技法を用いて生成されるウェブページの従来のリストをユーザに提供してもよい。また、ユーザが選択することができる潜在的に合致するキーワードのリストをユーザにプロンプトしてもよい。
【０１０６】
更に別の実施形態では、ユーザがコンテンツ提供者に対する要求キーワードにハッシュタグを入力する場合、ハッシュモジュールは、特定のドメインに関連付けられた利用可能な全てのキーワードのリストを提供することができる。例えば、ハッシュモジュールは、ユーザがブラウザのアドレスバーにハッシュタグを入力したか否かをリアルタイムで判断するブラウザアドオン又はプラグインとすることができる。その場合、自動補完モジュールがコンテンツ提供者、クライアント実行可能プログラム、キーワード解決サーバ又はコンテンツ提供者サーバのうちの１つ又は複数と通信して、任意のキーワードがその特定のドメインと関連付けられているか否かを判断する。ユーザによってより多くの英数字がブラウザに入力されるほど、特定のドメインに関連付けられた利用可能なキーワードのリストが狭くなる。ドメインに関連付けられたキーワードが存在する場合、ハッシュモジュールはこれらのキーワードを含むポップアップリストを生成することができる。ドメインに関連付けられたキーワードが存在しない場合、ハッシュモジュールはユーザを探索サービスページにリダイレクトすることができる。いくつかの実施形態によれば、ハッシュモジュールは、提供されたＵＲＬのウェブサイトのための検索ページにユーザを向けることができる。
【０１０７】
別の実施形態では、特定のドメインがキーワードスマートナビゲーションを有するか否かをユーザに通知するスマートナビゲーションモジュールを提供することができる。例えば、スマートナビゲーションモジュールは、アドレスに入力されるドメインをリアルタイムでレビューするブラウザアドオン又はプラグインとすることができ、コンテンツ提供者、クライアント実行可能プログラム、キーワード解決サーバ又はコンテンツ提供者サーバのうちの１つ又は複数と通信することによって、特定のドメインが関連付けられたキーワードを有するか否かを判断する。この場合、スマートナビゲーションモジュールは、例えば、アドレスバーの色を変化させるか、又はブラウザ若しくは関連付けられたウェブページに特定のグラフィックを挿入すること等の、ドメインが関連付けられたキーワードを有することの標識を提供することができる。
【０１０８】
解決サービス提供者は、キーワード管理インタフェース及び／又はキーワード解決サービスを提供することに加えて、コンテンツ提供者に、クライアントからのキーワード解決要求に関する豊富な基準及び統計へのアクセスも提供することができる。例えば、図３のインタフェース３００は、各作成されたキーワードがクライアントから要求された回数をユーザ及び／又はコンテンツ提供者が閲覧及び／又はダウンロードすることを可能にすることもできる。別の例として、解決サービス提供者は、キーワードが何回用いられたか、誰がキーワードを用いたか、用いられたキーワードのタイプ、訪問されたウェブサイト、及び様々な他の情報を、例えばクッキーを用いて追跡することができる。インタフェース３００は、ユーザによる様々な存在しないキーワードの要求数に関する情報も提供し、これによってコンテンツ提供者がユーザ需要の結果として追加のキーワードを作成する必要性を判断することを可能にすることができる。そのような存在しないキーワード情報は、既存のキーワードのミススペルに関する情報も含み、コンテンツ提供者に、既存のキーワードのミススペル若しくは同音異義語を考慮するための追加のキーワードを作成するか、又は許容可能なワイルドカード若しくは正規表現照合機能を改善する必要性を通知することができる。同様の情報は、ブランド駆動手法において第三者に提供してもよい。
【０１０９】
解決サービス提供者は、マルウェアのないセキュアなナビゲーションも提供することができる。インターネット上で利用可能なウェブサイト数は非常に大きいのでこれらの全てをマルウェアについてスキャンすることは実際的に不可能である。しかしながら、解決サービス提供者は、特定のキーワードに関連付けられたＵＲＬを知っているので、解決サービス提供者は、例えば、参照によりその内容全体が本明細書に組み込まれている特許文献１及び特許文献２に開示されているマルウェア検出及びスキャンのためのシステム及び方法を用いてＵＲＬをスキャンし、このＵＲＬにマルウェアがないか否かを判断することができる。したがって、ユーザが「ｅｘａｍｐｌｅ．ｃｏｍ＃ｋｅｙｗｏｒｄ」等の直接ナビゲーションＵＲＬをブラウザに入力するとき、ユーザは、ＵＲＬがブラウジングするのに安全であり、悪意のあるコンテンツを含まないことの高レベルの保証を有する。
【０１１０】
別の実施形態では、コンテンツ提供者、クライアント実行可能プログラム、キーワード解決サーバ又はコンテンツ提供者サーバのうちの１つ又は複数は、クライアントデバイスの識別に基づいて特定のウェブサイトを自動的に最適化することができる。例えば、クライアント実行可能プログラムは、ユーザのデバイス（例えば、携帯電話）を識別し、このユーザを、ウェブサイトの特定のデバイスのバージョンに転送することができる。クライアント実行可能プログラムは、参照によりその全体が本明細書に組み込まれている、２０１１年４月１日に出願された「Ｓｙｓｔｅｍｓ，  Ａｐｐａｒａｔｕｓ，  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｄｅｖｉｃｅ  Ｄｅｔｅｃｔｉｏｎ」と題する特許文献３において検討されている方法を用いてウェブサイトを自動的に最適化することができる。
【０１１１】
ＩＩ．  名前空間ベースのスマートナビゲーション
本発明による種々の実施形態は、非ＤＮＳ（例えば、非ＵＲＬ）名前空間を含む全体名前空間からの名前を利用する。すなわち、開示される実施形態は、任意の名前空間（更には一度に２つ以上の名前空間）と協働することができる。通常、名前空間は名前を含み、名前所有者は名前空間（又は部分空間）の権限を有し、その権限はいくつかの場合には委譲することができる。名前空間はパブリック又はプライベート、階層又はフラットとすることができる。名前空間の特定の非限定的な例が続く。
【０１１２】
全ての最上位レベルのドメイン名の集合が名前空間を形成する。更に、最上位レベルのドメインの全ての第２レベルのドメイン、第３レベルのドメイン、全てのサブドメイン等の、全てのドメイン名の一定の部分集合が名前空間を形成する。「ドメイン名」における「ドメイン」という用語は、各名前がその名前に関連付けられた「空間」について権限がある「所有者」を有することを指す。階層構造を有する従来のＤＮＳでは、名前所有者は、ドメイン下の任意のサブドメインについて権限があり、例えば、「ｅｘａｍｐｌｅ．ｃｏｍ」の所有者は、「ａ．ｅｘａｍｐｌｅ．ｃｏｍ」、「ｂ．ｅｘａｍｐｌｅ．ｃｏｍ」等について権限がある。名前所有者は、これらのサブドメインに対する権限を別の当事者に委譲することができるが、委譲されるのは、その「ドメイン」に対する名前所有者の権限である。
【０１１３】
多くの非ＤＮＳ名前空間が存在する。例えば、ＴＷＩＴＴＥＲ（登録商標）名前空間は、非ＤＮＳで、フラットで、パブリックの名前空間である。ＴＷＩＴＴＥＲはマイクロブログサービスであり、これを通じてユーザはショートメッセージを自身のフォロワーと共有することができる。各ＴＷＩＴＴＥＲアカウントは、「＠ｅｘａｍｐｌｅ＿ｂｒａｎｄ」等の「＠」文字で始まる文字列である一意の名前又は「ハンドル」を有する。
【０１１４】
他の例示的な名前空間は、ＦＡＣＥＢＯＯＫ（登録商標）名前空間及びＬＩＮＫＥＤＩＮ（登録商標）名前空間を含む。通常、これらのリソースに関して、ユーザは、それぞれｈｔｔｐ：／／ｗｗｗ．ｆａｃｅｂｏｏｋ．ｃｏｍ／ｅｘａｍｐｌｅ＿ｕｓｅｒ＿ｎａｍｅ又はｈｔｔｐ：／／ｗｗｗ．ｌｉｎｋｅｄｉｎ．ｃｏｍ／ｅｘａｍｐｌｅ＿ｕｓｅｒ＿ｎａｍｅの形態のＵＲＬを入力することによって例示的なユーザページにナビゲートされ得る。これらのＵＲＬの形態は、それぞれのリソース内にアカウントが存在する形態ｅｘａｍｐｌｅ＿ｕｓｅｒ＿ｎａｍｅの全ての名前からなる名前空間を提供する。
【０１１５】
別の名前空間は、電子メールアドレスの空間である。本明細書に開示される実施形態は、「ｕｓｅｒ＠ｅｘａｍｐｌｅ．ｃｏｍ！ｈｏｍｅ」等の形態のコマンド文字列を用いて、一般ユーザが電子メールアドレスによって例示的なユーザの個人ホームページ等の情報をルックアップすることを可能にすることができる。ここで、「ｕｓｅｒ＠ｅｘａｍｐｌｅ．ｃｏｍ」は電子メールアドレスである。
【０１１６】
更に別の例は、短縮されたＵＲＬによって規定される名前空間である。短縮されたＵＲＬは、潜在的に長く複雑なＵＲＬの略記版として採用されている。これらは通常、形態「ｎａｍｅ／ｃｏｄｅ」を有する。ここで「ｎａｍｅ」は短いドメイン名であり、「ｃｏｄｅ」は完全なＵＲＬへの特定の参照を識別する短い文字列である。本明細書に開示される実施形態に従って、ナビゲーションサービスによって、形態「ｂｉｔｌｙ：ｎａｍｅ／ｃｏｄｅ！ｋｅｙｗｏｒｄ」のエントリを、短縮されたＵＲＬ又はこの短縮されたＵＲＬが指すリソースに関する追加情報をルックアップする方法として処理することができる。
【０１１７】
プライベート名前空間の例は、会社内のユーザのリスト、ユーザの自宅内等のローカルエリアネットワーク内のリソース及び／又はデバイスのリストを含む。
【０１１８】
説明を明確にするために、ブランド（例えば、Ｇｉｍｂｅｌｓ）の所有者が、そのブランド（例えば、「ｇｉｍｂｅｌｓ」）に対応するドメインの登録者でもある使用事例の文脈において様々な実施形態を説明する。しかしながら、本発明はこの文脈のみに限定されるのではなく、この文脈を大きく超えた応用形態を有する。
【０１１９】
図１７は、本発明の原理による、エージェント１７１０によって所望のネットワークリソースにナビゲートするためのシステム１７００の例を示す。図１７の説明と共に、補完的な方法を説明する。示すように、システム１７００はユーザ１７０５を含み、ユーザ１７０５はエージェント１７１０と通信し、エージェント１７１０はナビゲーションサービス１７８０と通信する。
【０１２０】
様々な実施形態において、ユーザ１７０５は、所望のネットワークリソースを特徴付けるか、所望のネットワークに関するか、所望のネットワークリソースを指定するか、又は所望のネットワークリソースを他の形で記述する入力ナビゲーションデータ１７５１を提供することができ、少なくとも１つの提示されるサジェスト１７１４（以下で更に説明する）を指定又は選択する入力データ１７２６を提供することができる任意のものとすることができる。ユーザは、例えば、ナビゲーションデータ１７５１を適切なフィールドにタイプインするか、適合する構文を有するリンク上をクリックするか、そのようなデータを反映する音を捕捉することができるマイクロフォンに向かって話すことによって、ナビゲーションデータ１７５１を指定することができる。入力ナビゲーションデータ１７５１の１つの例は、文字列「ｇｉｍｂｅｌｓｓｈｏｅｓ」とすることができる。いくつかの実施形態では、ユーザ１７０５は、人間のユーザ、又は入力ナビゲーションデータ１７５１及び入力データ１７２６を提供する機能を実行するようにプログラムされたコンピューティングシステムとすることができる。
【０１２１】
このため、ユーザ１７０５は、コンピュータ又はコンピュータコードの実行とすることができる。そのようなユーザは、入力ナビゲーションデータ１７５１、サジェスト選択データ１７７１及び入力データ１７２６のうちの任意のもの又はそれらの組合せを提供することができる。例えば、コンピュータコード（例えば、アプリケーション）を実行することによって、ナビゲーションデータ１７５１をナビゲーションサービス１７８０に自動的に提供することにより、１つ又は複数の規定のキーワードに関連付けられたコンテンツに自動でナビゲートされ得る。そのようなコンピュータコードの実行は、ナビゲートションデータをナビゲーションサービスに提供するときに人間のインタラクションを必要としない。
【０１２２】
様々な実施形態において、エージェント１７１０（エージェント１７１０のうちの１つである「ナビゲーションクライアント」とも呼ばれる）は、本明細書において説明するようにユーザ１７０５及びナビゲーションシステム１７８０とインタラクトすることができる任意のものとすることができる。いくつかの実施形態では、エージェント１７１０は、ネットワークロケーションデータ１７７２又はネットワークロケータ１７３５〜１７３７によって指定されるネットワークリソースに接続し、このネットワークリソースとインタラクトすることもできる。エージェント１７１０は通常、ユーザ１７０５からの入力データを受理するか、受信するか、取得するか又は他の形でこの入力データにアクセスし、ナビゲーションサービス１７８０からのサジェストデータ１７６２及びネットワークロケーションデータ１７７２を受理するか、受信するか、取得するか又は他の形でこれらのデータにアクセスする。ユーザ１７０５は、例えば、文字をフィールドに入力するか、そのような文字を提供するリンクをクリックするか、オーディオ入力を提供することによって、そのような文字をエージェント１７１０に入力することができる。オーディオ入力に関して、未加工オーディオデータを、既知の技法を用いて、エージェント１７１０、ナビゲーションサービス１７８０、又はエージェント１７１０及び／若しくはナビゲーションサービス１７８０に通信可能に結合された別個のコンピュータ等の多岐にわたる手段のうちの任意のものによって、実施形態により使用可能な文字列に変換することができる。更にオーディオ入力に関して、ユーザ１７０５がトリガーワードを発したときにオーディオインタフェースが起動するように、トリガーワークを用いることができる。トリガーワードは例えば、「ａｔ」又は別の名前空間接頭語とすることができる。エージェント１７１０はまた、通常、ユーザ１７０５のためのサジェストデータ１７６２及びネットワークロケーションデータ１７７２を出力するか、送信するか、開くか、又は他の形でこれらのデータに関するアクセスを提供し、通常、ナビゲーションサービス１７８０のためのナビゲーションデータ１７５１及びサジェスト選択データ１７７１を出力するか、送信するか、開くか、又は他の形でこれらのデータに関するアクセスを提供する。エージェント１７１０の様々な実施形態は他の機能も実行することができる。様々な実施形態において、エージェント１７１０は、ソフトウェア、ファームウェア、ハードウェア又はそれらの任意の組合せで実施することができる。いくつかの例示的な実施形態において、エージェント１７１０は、中でも、ブラウザ、スタンドアロンアプリケーション、別のプログラムへのプラグイン又はアドオン（例えば、ブラウザプラグイン）、又はサービス、（例えば、ウェブサービス）とすることができる。エージェントは、スマートフォン等のモバイルデバイスにおけるナビゲーションアプリケーション（例えば、ブラウザ）内に存在することができる。エージェント１７１０は、ウェブブラウザと別としてもよく、ウェブブラウザ内のインタフェース又は制御部であってもよく、又は更にはウェブブラウザのアドレスバーの変更形態であってもよい。いくつかの実施形態では、エージェント１７１０は、上記のセクションＩに開示したように、クライアントコンピュータ上又はウェブブラウザにおいて実装することができる。より詳細には、エージェント１７１０は、上記のセクションＩにおいて開示されたウェブブラウザのいくつか又は全ての特徴、機能、通信、実施の詳細、コード、アルゴリズム、アーキテクチャ、構造及び特性を含むことができる。
【０１２３】
様々な実施形態において、ナビゲーションサービス１７８０は、本明細書において説明されるエージェント１７１０及びユーザ１７０５とインタラクトすることができる任意のものとすることができる。ナビゲーションサービス１７８０は通常、ユーザ１７０５からの入力データを受理するか、受信するか、取得するか又は他の形でこの入力データにアクセスし、エージェント１７１０からのナビゲーションデータ１７５１及びサジェスト選択データ１７７１を受理するか、受信するか、取得するか又は他の形でこれらのデータにアクセスする。ナビゲーションサービス１７８０はまた、通常、エージェント１７１０のためのサジェストデータ１７６２及びネットワークロケーションデータ１７７２を出力するか、送信するか、開くか、又は他の形でこれらのデータに関するアクセスを提供する。様々な実施形態において、ナビゲーションサービス１７８０は、ソフトウェア、ファームウェア、ハードウェア又はそれらの任意の組合せで実施することができる。いくつかの例示的な実施形態において、ナビゲーションサービス１７８０は、中でも、スタンドアロンアプリケーション、サーバアプリケーション、別のプログラムへのプラグイン又はアドオン（例えば、ブラウザプラグイン）、又はサービス、（例えば、ウェブサービス）とすることができる。いくつかの実施形態では、ナビゲーションサービス１７８０及びエージェント１７１０は別個のコンピューティングシステムにおいて実装することができ、インターネット、又はインターネット及び携帯電話ネットワークの組合せ等のネットワーク（図示せず）を介して通信することができる。他の実施形態では、ナビゲーションサービス１７８０及びエージェント１７１０は、同じコンピューティングシステムにおいて、別個のプログラムとして又は同じプログラム内で実施することができる。いくつかの実施形態では、ナビゲーションサービス１７８０は、上記のセクションＩにおいて説明したＵＲＬキーワード解決サーバにおいて、又はこのＵＲＬキーワード解決サーバとして実装することができる。より詳細には、ナビゲーションサービス１７８０は、セクションＩにおいて開示されたＵＲＬキーワード解決サーバのいくつか又は全ての特徴、機能、通信、実施の詳細、コード、アルゴリズム、アーキテクチャ、構造及び特性を含むことができる。
【０１２４】
図１７の例に示すように、システム１７００はエンティティ表現１７２０も含み、このエンティティ表現は、ナビゲーションサービス１７８０及びエージェント１７１０によって調査、アクセス及び他の形で利用される。いくつかの実施形態では、エンティティ表現１７２０は、上記のセクションＩにおいて開示されたような記憶されたキーワードマッピング及び／又はキーワードレジストリデータベースのコンテンツとして実装することができる。より詳細には、エンティティ表現１７２０は、セクションＩにおいて開示された記憶されたキーワードマッピング及び／又はキーワードレジストリデータベースのコンテンツのいくつか又は全ての特徴、機能、通信、実施の詳細、コード、アルゴリズム、アーキテクチャ、構造及び特性を含むことができる。
【０１２５】
様々な実施形態において、エンティティは、例えばドメイン又は名前空間を含むネットワークリソースを制御するか、制御する権利を有するか、又はこのネットワークリソースに何らかの他の関心を有する何らかのものである。上記の例示的な使用事例から、Ｇｉｍｂｅｌｓは、Ｇｉｍｂｅｌｓが（おそらく商標登録された）ブランド「Ｇｉｍｂｅｌｓ」を所有することに起因して、かつ、Ｇｉｍｂｅｌｓがドメイン「．ｇｉｍｂｅｌｓ」の登録者であり、したがって、Ｇｉｍｂｅｌｓウェブページ等のネットワークリソースを指定する「．ｇｉｍｂｅｌｓ」で終わるドメインを制御する権利を有することに起因して、エンティティである。エンティティは、上記のセクションＩにおいて説明したように、コンテンツ提供者及び／又はドメイン名管理者とすることができる。いくつかの実施形態では、エンティティは、名前所有者、又は名前所有者の代表者とすることができる。ここで、「名前所有者」という用語は、通常、名前が主に関連付けられ、所与の名前空間においてその名前を登録したユーザ又はエンティティを指す。知的財産構成に依拠して、「名前所有者」は名前に対する法的所有権を実際に有していない場合があるが、依然として、関連する情報及びサービスを識別するためのその名前の使用を促進することに主な関心を有する当事者である。いくつかの実施形態では、「ｚｏｏ」等の一般的なエンティティ名は、例えば名前オークション等の様々な技法を介して特定のエンティティに関連付けられる。すなわち、一般的な名前は、場合によっては関連付けられたエンティティを有することができる。
【０１２６】
いくつかの実施形態では、エンティティ表現１７２０を１つ又は複数のデータベース（例えば、１つ又は複数のディレクトリ）に記憶することができる。そのようなデータベースは、例えば第三者名前空間からの、第１の列のエンティティ名に含めることができる。このため、エンティティ名「ｇｉｍｂｅｌｓ」のための第１の列のエントリは、例えば、「＠ｇｉｍｂｅｌｓ」（ＴＷＩＴＴＥＲ名前空間に対応する）、「ｆｂ：ｇｉｍｂｅｌｓ」（ＦＡＣＥＢＯＯＫ名前空間に対応する）、及び「．ｇｉｍｂｅｌｓ」（ＤＮＳ名前空間に対応する）を含むことができる。これらのエンティティは、同じエンティティ表現データベース、別個のエンティティ表現データベース、又は１つ若しくは複数のデータベース内の別個のテーブルに含めることができる。名前空間ごとに別個のデータベース又はテーブルを用いる実施形態では、名前空間識別子は、記憶されるエンティティ名から省くことができ、代わりに各データベース又はテーブルは特定の名前空間で識別される。
【０１２７】
様々な実施形態において、エンティティ（例えば、名前所有者）は、エンティティに合致するか、マッピングするか、又は他の形で対応するエンティティ識別（ＩＤ）データ１７５２（例えば、エンティティ名）を有する等の一定の特徴を有するナビゲーションデータ１７１５のために生成するか又は返すためのサジェストデータ１７６２を、ナビゲーションサービス１７８０にプロビジョニングするか、指示するか、セットアップするか、命令するか、又は他の形で指定することができる。いくつかの実施形態では、この点に関するエンティティの規定又は命令は、エンティティ表現１７２０に記憶するか若しくは他の形で表すことができ、かつ／又はマッピング１７８２、マッピング１７８４、及び／若しくはルックアップ１７８７の機能に影響を及ぼし得る。いくつかの実施形態では、エンティティは、エンティティ表現１７２０、並びに／又は、ナビゲーションサービス１７８０中のマッピング１７８２、マッピング１７８４、及び／若しくはルックアップ１７８７の機能を操作することができ、それによって、サジェストデータ１７６２及び／又はネットワークロケーションデータ１７７２が頻繁に変動する。他の実施形態では、エンティティ以外の何らかのものが、ナビゲーションデータ１７５１の特性に従って生成するか又は返すためのサジェストデータ１７６２を、ナビゲーションサービス１７８０に指示するか、セットアップするか、命令するか、又は他の形で指定することができる。いくつかの実施形態では、サジェストデータ１７６２は１つ若しくは複数のキーワードを含むか、又はこれらからなる。「キーワード」は、複数の別個の語を連結したもの、例えば「ｓｈｏｅｓｏｎｓａｌｅ」であってもよいことに留意されたい。
【０１２８】
図１７の例示的な図では、エンティティ表現１７２０の各行１７３１〜１７３４は、異なるエンティティを表すか又は異なるエンティティに関連付けられたデータを含む。示すように、表現される任意の数「ｎ」のエンティティが存在し得る。示すように、各行の第１の（最も左側の）列は、エンティティのための識別子を含み、この例では、行１７３１はエンティティ識別子「ｅｎｔｉｔｙ  １」から開始し、行１７３２はエンティティ識別子「ｅｎｔｉｔｙ  ２」から始まる等である。いくつかの実施形態では、エンティティ識別子は名前空間からの名前である。各行の次の２つの列は、任意の数「ｍ」のサジェスト、及び第１の列において識別されるエンティティに関連付けられたネットワークロケータを含む。このため、この例では、各エンティティと、その関連付けられたサジェスト及びネットワークロケータとの間に１対多の関係（例えば、１対ｍ）が存在する。
【０１２９】
図１の項目１７３５〜１７３７は、「ｅｎｔｉｔｙ  ｎ」１２３の行１７３４の最後の２つの列の拡張又は追加の詳細を示す。項目１７３５〜１７３７は、「ｍ」個のネットワークロケータが存在すること、及びしたがってエンティティｎについて表される最大「ｍ」個のネットワークリソースが存在することを示す。示すように、項目１７３５〜１７３７のそれぞれは、右側の列内の各ネットワークロケータに関連付けられた左側の列内の１つ又は複数のサジェスト（キーワードとすることができる）を含む。例えば、エンティティｎ１７２３のための項目１７３５は、「ネットワークロケータ１」１７２５のための１つ又は複数の「サジェスト」１７２４を含む。このため、この例では、サジェストと、これらのサジェストに関連付けられたネットワークロケータとの間に（１つ又は複数）対１の関係（例えば、≧１対１）の関係が存在する。
【０１３０】
様々な実施形態において、ネットワークロケータ（例えば、「ネットワークロケータ１」１７２５）は、エージェント１７１０及び／若しくはユーザ１７０５がネットワークリソースを位置特定することを可能にするのに十分なデータ、並びに／又は、エージェント１７１０及び／若しくはユーザ１７０５がそのネットワークリソースにアクセスすることを可能にするのに十分な情報である。ネットワークロケータの例は、中でも、ＵＲＬ、ＵＲＩ、ＵＲＮ、ＩＰアドレス及びＤＮＳ  Ａレコードを含む。様々な実施形態において、サジェスト（例えば、「サジェスト」１７２４）は、サジェストが関連付けられるネットワークロケータを用いてアクセス可能なネットワークリソースをサジェストするか又は他の形で記述するデータ又はコードである。いくつかの実施形態では、サジェストは、人間（例えば、ユーザ１７０５）が、対応するネットワークリソースに導かれるか、このネットワークリソースを考慮するか、検討するか、又は他の形で想起するようにさせる単語、画像、ビデオ等の表現を含むか又は可能にする。サジェストはアプリケーションを含むことができ、これらのアプリケーションは、サジェストデータ１７６２を生成するためにナビゲーションサービス１７８０によって実行されるアプリケーション、及び／又はエージェント１７１０によって実行されるようにサジェストデータ１７６２において送信されるアプリケーションを含む。いくつかの実施形態では、サジェストデータ１７６２は１つ又は複数のキーワードを含むかこれらのキーワードからなる。サジェストの１つの例は、靴を購入するためのＧｉｍｂｅｌ小売ウェブページを指すネットワークロケータ（例えば、ネットワークロケータ「ｈｔｔｐ：／／ｗｗｗ１．ｇｉｍｂｅｌｓ．ｃｏｍ／ｓｈｏｐ／ｃｌｏｔｈｉｎｇ／ｓｈｏｅｓ」）に関連する文字「ｇｉｍｂｅｌｓ．ｓｈｏｅｓ」である。サジェストの別の例、この例ではキーワードは、「Ｇｉｍｂｅｌｓ」のエンティティ名及び靴を購入するためのＧｉｍｂｅｌ小売ウェブページを指すネットワークロケータに関連する文字「ｓｈｏｅｓ」である。
【０１３１】
「プロビジョニング」という用語は、本明細書において用いるとき、管理サービスの集合を指し、この管理サービスによって、エンティティ（例えば、名前所有者）は、エンティティ表現エントリを作成、更新及び削除し、また他の形で名前とキーワードとの組合せに関する情報を維持管理する。プロビジョニングインタフェースは、例えばウェブインタフェースを用いて実装することができる。
【０１３２】
いくつかの実施形態では、名前所有者は、自身の関連付けられたエンティティ表現データをプロビジョニングすることを許可する前に、自身を認証することを要求される場合があり、認証を行うための多くの可能な技法が存在する。いくつかの実施態様では、名前所有者は、自身が実際に当該のエンティティ名に関連付けられていることを実証する。これは、まず認証証明を確立するときに、例えば名前所有者がナビゲーションサービスを用いてアカウントをサインアップするときに達成することができる。例えば、名前空間が電子メールアドレスからなるとき、確認メッセージを指定された電子メールアドレスに送信することができる。その確認メッセージの受信に成功したことの証拠（例えば、返信電子メールによるか又は電子メール内のＵＲＬにおける特定のデータの受信による）が、電子メールアドレスの所有権を実証することができる。別の例として、名前空間がソーシャルネットワーク（例えば、ＦＡＣＥＢＯＯＫ）のうちの１つからのものである場合、名前所有者が、そのソーシャルネットワークからの証明書を用いてナビゲーションサービスにログインすることが可能である場合があり、これは、対応する名前の所有権を実証することができる。ドメイン名の所有権の実証のためのメカニズムは、ドメイン名管理の分野において既知であり、本明細書において検討されるプロビジョニング動作のために用いることができる。
【０１３３】
ＴＷＩＴＴＥＲ名前空間におけるプロビジョニングは、既存のＴＷＩＴＴＥＲ認証技法を用いて達成することができる。すなわち、プロビジョニングユーザがＴＷＩＴＴＥＲのサービスにメッセージをポストするとき、ＴＷＩＴＴＥＲ自体がＴＷＩＴＴＥＲユーザを認証し、このためツイートは関連付けられた名前の所有権の証拠を自動的に保有する。このため、ナビゲーションサービスのプロビジョニング動作への直接ツイートは、ナビゲーションサービスのエンティティ表現における情報を更新する認証済み要求として受理することができる。例えば、「ｕｐｄａｔｅ＃ｎｅｗｓ＜ＵＲＬ＞」の形態の「＠ｅｘａｍｐｌｅ＿ｂｒａｎｄ」から「＠ｐｒｏｖｉｓｉｏｎｉｎｇ＿ｏｐｅｒａｔｉｏｎ」へのツイート又はＴｗｉｔｔｅｒ「直接メッセージ」を用いて、「＜ＵＲＬ＞」への「＠ｅｘａｍｐｌｅ＿ｂｒａｎｄ＃ｎｅｗｓ」に関連付けられたネットワークロケータを更新することができる。この例を継続すると、いくつかの実施形態の場合、ウェブインタフェースも電子メールも要求されず、単にプロビジョニング動作への直接のツイートが要求される。プロビジョニング動作への「ツイート」チャネルは、新たなエンティティ名、キーワード及びネットワークロケータを設定することを含む、より広いコマンドセットをサポートすることができる。
【０１３４】
ＦＡＣＥＢＯＯＫ（登録商標）及びＬＩＮＫＥＤＩＮ（登録商標）等のソーシャルネットワークにおけるプロビジョニングは、それぞれの環境内で専用アプリケーションを介してある特定のキーワードコンテンツを「共有」することによって達成することができる。
【０１３５】
様々な実施形態において、エンティティ表現１７２０は、コンピュータ科学分野で既知であるように、ディレクトリ、データベース、データ構造、ルックアップテーブル、アレイ、レコード、直線コード等の複数の方法で実施することができる。また、様々な実施形態において、エンティティ表現１７２０は、ナビゲーションサービス１７８０の一部として、別個のサービスとして、別個のデータベースシステムにおいて、又はコンピュータ科学分野で既知の様々な他の方法で実施することができる。厳密な実施態様は本発明にとって重要でない。
【０１３６】
動作時に、図１に示すシステム１７００の実施形態は、靴ショッピングの例示的な使用事例に関して以下で説明したように機能することができる。この例では、ユーザ１７０５は、靴を購入するために小売店Ｇｉｍｂｅｌｓのウェブページに接続し、このウェブページとインタラクトすることを望む人間である。これを行うために、ユーザ１７０５は、入力ナビゲーションデータ１７５１（「コマンド文字列」とも呼ばれる）をエージェント１７１０に提供し、このデータ１７５１は通常、望まれているものを記述する。ユーザ１７０５は人間又はプログラムされたコンピュータとすることができ、コマンド文字列１７５１は、フィールドにタイプインするか、リンクをクリックするか、又はマイクロフォンに向かって話すことによって取得することができる。エージェント１７１０は、ナビゲーションサービスのためのネットワークロケータを、自身のソフトウェアにハードコーディングさせることができる。いくつかの実施形態では、ユーザ１７０５は、エージェント１７１０への入力ナビゲーションデータ１７５１として文字列をタイプインすることができる。特定の例では、ユーザ１７０５は、エージェント１７１０を含むブラウザのナビゲーションバー又はオムニバーに、「ｇｉｍｂｅｌｓｓｈｏｅｓ」、「＠ｇｉｍｂｅｌｓ！ｓｈｏｅｓ」、「ｇｉｍｂｅｌｓ．ｓｈｏｅｓ」又は「．ｇｉｍｂｅｌｓ！ｓｈｏｅｓ」をタイプインすることができる。エージェント１７１０は、ナビゲーションデータ１７５１をナビゲーションサービス１７８０に提供することができる。このため、エージェント１７１０は、要求メッセージを導出するために、ナビゲーションデータ１７５１の構文を処理することができ、この要求メッセージはナビゲーションサービスに送信される。
【０１３７】
いくつかの実施形態では、エージェント１７１０は、ナビゲーションデータ１７５１が（例えば一度に１文字ずつ）入力されるときにナビゲーションデータ１７５１を連続して提供することができる。他の実施形態では、エージェント１７１０は、ナビゲーションデータ１７５１を、指定された名前空間識別子、デリミタ、トリガー文字、シンボル等（例えば、ピリオド「．」、スラッシュ「／」、コロン「：」、スペース「  」、「＠」、「！」、「｜」、「ｆｂ」、「ｉｎ」等は部分同士を区別することができる）によっておそらく区別若しくは分離されるような、パーツ、セクション、又は他の部分に分けて提供することができる。例えば、そのような実施形態では、デリミタ又はトリガー文字として「．」を認識することに基づいて、入力データ「ｇｉｍｂｅｌｓ．ｓｈｏｅｓ」を２つのパーツ「ｇｉｍｂｅｌｓ」及び「ｓｈｏｅｓ」に分けて提供することができる。他の実施形態では、関連する名前空間（ここでは「＠」シンボルによってＴＷＩＴＴＥＲであると特定される）の標識とともに、コマンド文字列「＠ｇｉｍｂｅｌｓ！ｓｈｏｅｓ」を、「ｇｉｍｂｅｌｓ」及び「ｓｈｏｅｓ」の２つのパーツに分けてナビゲーションサービス１７８０に提供することができる。他の実施形態では、コマンド文字列「＠ｇｉｍｂｅｌｓ！ｓｈｏｅｓ」は、ナビゲーションサービス１７８０に一度に１文字ずつ提供することができ、ナビゲーションサービス１７８０はこれを累積して最終コマンド文字列を形成する。そのような実施形態では、区切り文字は伝達してもしなくてもよい。また更なる実施形態では、コマンド文字列「＠ｇｉｍｂｅｌｓ！ｓｈｏｅｓ」は、コマンド文字列の複数の反復において、連続してより完全なパーツでナビゲーションサービス１７８０に提供することができる。ここで、最終バージョンは、完全なコマンド文字列となり、例えば、まず「＠」、次に「＠ｇ」、次に「＠ｇｉ」、次に「＠ｇｉｍ」、次に「＠ｇｉｍｂ」等である。また他の実施形態では、エージェント１７１０は、ナビゲーションデータ１７５１を完全な状態でのみナビゲーションサービス１７８０に提供することができる。
【０１３８】
いくつかの実施形態では、エージェント１７１０は、入力されたコマンド文字列から導出されるクエリ文字列を導出し、これを要求に応じてナビゲーションサービスに送信することによって、コマンド文字列の構文を扱うことができる。このような実施形態では、ナビゲーションデータ１７５１「＠ｅｘａｍｐｌｅ＿ｂｒａｎｄ＃ｎｅｗｓ」は、ナビゲーションサービスに送信するために、例えば、「ｅｘａｍｐｌｅ＿ｎａｖｉｇａｔｉｏｎ＿ｓｅｒｖｉｃｅ．ｃｏｍ／ｌｏｏｋｕｐ？ｎａｍｅ＝％４０ｅｘａｍｐｌｅ＿ｂｒａｎｄ＆ｋｅｙｗｏｒｄ＝ｎｅｗｓ」に変換される（ここでは、クエリ文字列は「？ｎａｍｅ」から開始する部分である。表記「％４０」は「＠」シンボルを表し、これは従来のＵＲＬのこの部分では許可されない）。このような実施形態の利点は、構文が連続して発展することができることであり、解決が、２つ以上あり得るナビゲーションサービス１７８０の利用可能性にのみ依拠することである。
【０１３９】
いくつかの実施形態では、エージェント１７１０は、特定のフォーマットを有する従来のＵＲＬにナビゲーションデータ１７５１を直接マッピングする。例えば、コマンド文字列「＠ｅｘａｍｐｌｅ＿ｂｒａｎｄ＃ｎｅｗｓ」は、ナビゲーションサービス１７８０へのリクエストとして送信するために、又は従来のＤＮＳ（図１７に示さず）を用いた解決のために、「ｔｗｉｔｔｅｒｎａｖｉｇａｔｏｒ．ｎｅｔ／ｅｘａｍｐｌｅ＿ｂｒａｎｄ／ｎｅｗｓ」に変換することができる。そのような実施形態のためのナビゲーションサービスは、例えば、ＴＷＩＴＴＥＲ名ごとに１つ、ＦＡＣＥＢＯＯＫ名ごとに１つ等、様々な構文に対応するウェブサービスの集合として実施され得る。
【０１４０】
いくつかの実施形態では、エージェント１７１０は、構文に基づいて、入力されたナビゲーションデータ１７５１が従来のＵＲＬであるか又はスマートナビゲーションコマンド文字列であるかを判断し、従来のＵＲＬである場合、エージェント１７５１は従来のＤＮＳシステムを用いてこれを処理することができ、スマートナビゲーションコマンド文字列である場合、エージェント１７１９はこれを本明細書において開示するように処理することができる。
【０１４１】
ナビゲーションデータ１７５１のタイプ及びフォーマットに依拠して、上記の例示的な実施形態の組合せを含む、コマンド文字列構文処理に関する他の実施形態が可能である。
【０１４２】
ユーザが完全なコマンド文字列の完成したエントリを有する前に、エージェント１７１０がコマンド文字列の初期部分をナビゲーションサービスに提供する実施形態の場合、エージェント１７１０は、完全なエンティティ名の既に入力された部分に合致するエンティティ名のサジェストを表示することができる。すなわち、エージェント１７１０は、エンティティ名がユーザによって入力されるとき、エンティティ名の初期セグメントをナビゲーションサービス１７８０に伝達することができる。ナビゲーションサービス１７８０は、文字の同じ（及び／又は類似した）初期セグメントで開始するエンティティ名のリストを、この初期セグメントとエンティティ表現１７２０のコンテンツとの照合に基づいてエージェント１７１０に提供することができる。エージェントはリストを受信し、メニュー、例えばドロップダウンメニュー等において、リストのコンテンツの全て又はいくつかをユーザに表示するか又は他の形で提示することができる。ユーザ１７０５は、メニューに提示される完全な（又は部分的に完成した）エンティティ名を、従来の方式で、例えばそのエンティティ名をクリックすることにより選択することができる。そのような実施形態では、提示されるエンティティ名をクリックすることによって、エントリフィールドを、（完全な又は部分的に完成した）エンティティ名及び任意の関連付けられた名前空間識別子シンボルで自動的に埋めることができる。いくつかの実施形態では、これが行われると、エージェント１７１０はナビゲーションサービス１７８０と通信して、選択されたエンティティ名に関連付けられたキーワードのリストを取得し、ユーザ１７０５に提示することができる。このオプションは以下で更に検討される。
【０１４３】
提供されるサジェストによりエンティティ名を完成させることの例として、部分的な文字列「＠ｔｈｅｎｅｗ」をエージェント１７１０に提供することを考える。エージェントは、部分的データをナビゲーションサービス１７８０に提供するように構成される場合、この部分的データをナビゲーションサービス１７８０に提供することができる。ナビゲーションサービスは、部分的な文字列「＠ｔｈｅｎｅｗ」を、２つ以上のエンティティ名、例えば「＠ｔｈｅｎｅｗｙｏｒｋｔｉｍｅｓ」及び「＠ｔｈｅｎｅｗｙｏｒｋｙａｎｋｅｅｓ」と照合することができる。そして、ナビゲーションサービス１７８０は、サジェストされる完成形「＠ｔｈｅｎｅｗｙｏｒｋｔｉｍｅｓ」、「＠ｔｈｅｎｅｗｙｏｒｋｙａｎｋｅｅｓ」及び「＠ｔｈｅｎｅｗｙｏｒｋ」をエージェント１７１０に提供することができる。最初の２つのサジェストは、ナビゲーションサービス１７８０によって記憶される実際のエンティティ名であるのに対し、第３のサジェストは、サジェストされる部分的完成であり、これは記憶されているエンティティ名に到達するために２つ以上の形で完成させることができる。エージェント１７１０は、３つのサジェストされる完成形を、例えばポップアップメニューでユーザ１７０５に提示することができる。一方で、ユーザが最初の２つのサジェストのうちのいずれかを選択する場合、プロセスは、例えば、ユーザ１７０５に選択されたエンティティ名に関連付けられたキーワードのリストを提示することができる。これについては以下で更に検討する。他方で、ユーザが第３のサジェストされる完成形を選択する場合、エージェント１７１０は選択をナビゲーションサービス１７８０に通信することができ、ナビゲーションサービス１７８０は、これを「＠ｔｈｅｎｅｗｙｏｒｋｔｉｍｅｓ」又は「＠ｔｈｅｎｅｗｙｏｒｋｙａｎｋｅｅｓ」のいずれかによって完成させることができると判断することができる。ナビゲーションサービス１７８０は、これらのサジェストをエージェント１７１０に提供することによって応答することができ、エージェント１７１０はこれらのサジェストを、例えばポップアップメニューでユーザ１７０５に提示することができる。この時点で、ユーザ１７０５はいずれかのサジェストを選択することができ、プロセスは、例えば、エージェント１７１０がキーワードのサジェストされる完成形をナビゲーションサービス１７８０から取得し、これらをユーザ１７０５に提供することによって継続することができる。この段落において検討されるように、エンティティ名サジェストを提供するプロセスは、エージェント１７１０からナビゲーションサービス１７８０に部分データを提供する実施形態においてインタラクティブであることができ、この点で、最終的なエンティティ名がユーザ１７０５によって選択される前に複数のインタラクションを引き起こすことができる。
【０１４４】
提供されたエンティティ名に応答してエンティティ名サジェストを提供することに関して、実施形態は、厳密な初期セグメントの完成に限定されないことに留意されたい。このため、例えば、ユーザが部分的文字列「＠ｇｉｍｂ」をエージェント１７１０に提供しようとした場合、いくつかの実施形態では、エージェント１７１０及びナビゲーションサービス１７８０がインタラクトし、サジェストされる完成形「＠ｇｉｍｂｅｌｓ」及び「＠ｂｉｍｂａｌｓ」（「＠ｂｉｍｂａｌｓ」は、ナビゲーションサービス１７８０によりプロビジョニングされるエンティティ名であると仮定する）をユーザ１７０５に提供することができる。様々な既知の技法を用いて、この照合、例えば、制限付き編集距離検出等を行うことができる。
【０１４５】
いくつかの実施形態では、エージェント１７１０は、入力（又は選択）されたエンティティ名又はエンティティ識別情報が、関連付けられたキーワード及び／又はサジェストを有するという標識を提供する。すなわち、ユーザがコマンド文字列を入力するとき、エージェント１７１０は、エンティティ表現１７２０に含まれるエンティティの入力時にユーザに警告することができる。これらの実施形態は、エージェント１７１０がナビゲーションデータ１７５１を、パーツ、セクション、又は他の部分に分けてナビゲーションサービス１７８０に提供し、例えば、キーワードデリミタの入力時にエンティティ識別情報を提供する実施態様に特に適している。例示的な標識は、エージェント１７１０のエントリフィールドの色を変更する（例えば、ブラウザオムニバーの背景色を白から緑に変更する）こと、聴覚アラート（例えば「ビープ」）を発すること、及び入力されたエンティティ名に関連付けられたエンティティ表現１７２０に存在するキーワードのリストを提供することを含むことができる。この後者のバリエーションは、プレビューページをユーザに提示する形態をとり得る。ここで、プレビューページは、関連付けられたプロビジョニングされたキーワードとともにエンティティ名を提示する。
【０１４６】
ナビゲーションデータ１７５１を受信すると、ナビゲーションサービス１７８０はデータを処理して、ナビゲーションデータ１７５１を分類、分割、パース又は他の形で分離して、エンティティＩＤデータ１７５２及び補足データ１７５３にすることができる。いくつかの実施形態では、補足データ１７５３は、例えば、「！」等のキーワードデリミタ文字又はシンボルをプリペンドされる１つ又は複数のキーワードとすることができる。そのような実施形態では、サジェスト１７２４〜１７２８のうちのいくつか又は全てをキーワードとすることができる。いくつかの実施形態では、ナビゲーションデータ１７５１は、ナビゲーションサービス１７８０によって受信される前に、エージェント１７１０によって分離することができる。様々な実施形態において、エンティティＩＤデータ１７５２は、ナビゲーションサービス１７８０が、図１７に矢印１７８３で表される「エンティティｎ」１７２３等のエンティティ表現１７２０の少なくとも１つの対応するエンティティを識別するか若しくはこれにマッピングする（１７８２）か、又は他の形でこれを求めるのを可能にするのに十分なデータである。
【０１４７】
前の例示的な使用事例を継続するコンテキストにおけるこの機能について考えると、ナビゲーションサービス１７８０は、エンティティＩＤデータ１７５２「ｇｉｍｂｅｌｓ．」を、エンティティ表現１７２０の第１の列において識別子「．ｇｉｍｂｅｌｓ」にマッピングする（１７８２）ことができる。この例では、エンティティ表現１７２０における識別子「．ｇｉｍｂｅｌｓ」は、登録者小売店Ｇｉｍｂｅｌｓによって制御される最上位レベルドメインであり、ナビゲーションサービス１７２０は、「ｇｉｍｂｅｌｓ．」を「．ｇｉｍｂｅｌｓ」にマッピングする。なぜなら、トリガー文字「．」を無視すると、「ｇｉｍｂｅｌｓ」と「ｇｉｍｂｅｌｓ」とで正確な文字列合致となるためである。別の例として、ナビゲーションデータ１７５１からのコマンド文字列「＠ｇｉｍｂｅｌｓ！ｓｈｏｅｓ」について、ナビゲーションサービス１７８０は、名前空間識別子「＠」を考慮して、エンティティ名「＠ｇｉｍｂｅｌｓ」をエンティティ表現１７２０の第１の列内の識別子「＠ｇｉｍｂｅｌｓ」にマッピングすることができる。様々な実施態様が、正確な文字合致に加えて、又はその代わりに、エンティティＩＤデータ１７５２をエンティティ識別子１７２３にマッピングするか、又は他の形でエンティティ表現１７２０内のエンティティＩＤデータ１７５２に対応する１つ若しくは複数のエンティティ識別子１７２３を識別するための、当該技術分野において既知の様々な他の技法及びアルゴリズムを用いることができる。更に、様々な実施態様は、ユーザ１７０５のコンテキスト又はアイデンティティに従って制約されるマッピングを含むことができる。例えば、モバイルデバイスのコンテキストにおいてエージェント１７１０を利用しているユーザ１７０５の場合、ナビゲーションサービスは、マッピング１７８２及び／又は１７８４を、モバイルデバイスに適した名前空間（例えば、エンティティ識別子１７２３）並びに／又はサジェスト（例えば、キーワード）１７２４及びネットワークロケータ１７２５（例えば、靴を購入するためのＧｉｍｂｅｌｓ小売ウェブページのモバイルデバイス版に対応するネットワークロケータ１７２５）に制約することができる。正確なマッピング実施は、本発明にとって重要でない。
【０１４８】
エンティティＩＤデータ１７５２をエンティティ識別子「エンティティｎ」１７２３にマッピングした後、次に、ナビゲーションサービス１７８０は、補足データ１７５３を、エンティティ識別子「エンティティｎ」１７２３に関連付けられた１つ又は複数のサジェストにマッピングする（１７８４）ことができる。様々な実施形態において、補足データ１７５３は、ナビゲーションサービス１７８０が、補足データ１７５３（例えばキーワード）に対応するエンティティｎ１７２３に関連付けられた少なくとも１つのサジェストを識別するか、又はこれにマッピングするか（１７８４）、又は他の形でこれを求めることを試みることを可能にするのに十分なデータである。示す例では、矢印１７８５及び１７８６によって表されるように、ナビゲーションサービス１７８０は、補足データ１７５３をサジェスト１７２４及び１７２８（例えば、キーワード）にマッピングする。別の例として、入力されたコマンド文字列「＠ｇｉｍｂｅｌｓ！ｓｈｏｅｓ」について、ナビゲーションサービスは補足データ１７５３としてキーワード「ｓｈｏｅｓ」を用いることができ、この例では、キーワード「ｓｈｏｅｓ」は、エンティティ表現１７２０に記憶されているサジェスト１７２４又は１７２８「ｓｈｏｅｓ」にマッピングする（１７８４）ことができる。なぜならキーワード文字列「ｓｈｏｅｓ」はサジェスト文字列「ｓｈｏｅｓ」と互いに厳密に合致するためである。
【０１４９】
前の例示的な使用事例を継続するコンテキストにおけるこの機能について考えると、ナビゲーションサービス１７８０は、補足データ１７５３「ｓｈｏｅｓ」を、エンティティ識別子「．ｇｉｍｂｅｌｓ」に関連付けられたサジェスト１７２４「ｇｉｍｂｅｌｓ．ｓｈｏｅｓ」にマッピングする（１７８４）ことができ、また、補足データ１７５３「ｓｈｏｅｓ」を、エンティティ表現１７２０におけるエンティティ識別子「．ｇｉｍｂｅｌｓ」に関連付けられたサジェスト１７２８「ｇｉｍｂｅｌｓ．ｓｈｏｅｓ−ｏｎ−ｓａｌｅ」にマッピングすることもできる。いくつかの実施形態では、ナビゲーションサービス１７８０は、１つ又は複数のキーワードの形態の補足データ１７５３を、エンティティ表現１７２０に既に入力されたエンティティ名１７２３に関連付けられた１つ又は複数のキーワードの形態のサジェストにマッピングする（１７８４）。様々な実施態様は、部分的文字照合に加えて、又はこの代わりに、マッピング１７８４のための当該技術分野において既知の様々な他の技法及びアルゴリズムを用いることができる。これには、ユーザ１７０５のコンテキスト又はアイデンティティに従って制約されるマッピングを含めることができる。厳密な実施態様は本発明にとって重要でない。
【０１５０】
図１７の例に示すように、ナビゲーションサービス１７８０は、マッピング先サジェスト１７２４及びマッピング先サジェスト１７２８をサジェストデータ１７６２としてエージェント１７１０に送信する。様々な実施形態において、サジェストデータ１７６２は、エンティティ表現１７２０におけるマッピング先サジェスト（例えば、サジェスト１７２４及びサジェスト１７２８）を表すデータであり、ユーザ１７０５にデジタルで、視覚的に、可聴的に又は他の形で提示することができるデータである。上記に記載したように、いくつかの実施形態では、サジェストデータ１７６２は、エージェント１７１０によって実行することができる実行可能コード等を含むことができる。いくつかの実施形態では、サジェストデータ１７６２は、ユーザエージェント１７１０をホスティングするデバイスによる提示のためにカスタマイズすることができる。前の例示的な使用事例を継続すると、ナビゲーションサービス１７８０は、文字列「ｇｉｍｂｅｌｓ．ｓｈｏｅｓ」及び文字列「ｇｉｍｂｅｌｓ．ｓｈｏｅｓ−ｏｎ−ｓａｌｅ」を含むサジェストデータ１７６２を送信することができる。（正確なフラグメント完成がキーワードの完成をサジェストする１つの方法にすぎないことに留意されたい。部分的合致を求める他の方法も用いることができる。例えば、ユーザが「＠ｇｉｍｂｅｌｓ！ｓｋｏｅｓ」をエージェント１７１０に提供する場合、実施形態は、既知のヒューリスティックな照合技法（例えば制限付き編集距離）を用いて、部分的文字列「！ｓｋｏｅｓ」を「！ｓｈｏｅｓ」に合致させることができる。
【０１５１】
サジェストデータ１７６２を受信すると、エージェント１７１０はサジェストデータをユーザ１７０５に提示し、ユーザ１７０５がサジェストのうちの少なくとも１つを選択することを可能にすることができる（１７１４）。例示的な使用事例を継続すると、エージェント１７１０を実施するブラウザは、ユーザ１７０５が、入力データ１７２６によって表されるようなサジェストのうちの１つを、タッチスクリーン又はマウスを用いて選択することを可能にする、選択可能なリスト又はドロップダウンメニューにおいて、サジェストデータ１７６２「ｇｉｍｂｅｌｓ．ｓｈｏｅｓ」及び「ｇｉｍｂｅｌｓ．ｓｈｏｅｓ−ｏｎ−ｓａｌｅ」を表示することができる。このため、部分的なエンティティ名についてサジェストされる完成形を提供するプロセスに関して、このプロセスはインタラクティブであり得る。ユーザインタフェースの分野において既知であるように、ユーザが選択可能なリスト又はドロップダウンメニューにおいて選択するか又は選ぶことができる多数の方法のうちの１つの例は、所望のメニュー項目の上にマウスポインタを置き、左マウスボタンをクリックして入力データ１７２６を作成することである。様々なデータの選択肢を提示し、ユーザが、実施するのに用いることができる１つ又は複数を選ぶか又は選択することを可能にする（１７１４）、コンピュータ科学の分野において既知の多くの他の方法及び技法が存在し、厳密な実施態様は本発明にとって重要でない。
【０１５２】
いくつかの実施形態では、認識されるエンティティ名又はエンティティ識別情報又は他の名前空間識別情報の入力時に、エージェント１７１０は、入力されたエンティティ名に関連付けられるエンティティ表現１７２０に存在するキーワードサジェストのうちのいくつか又は全てを、メニュー、例えばドロップダウンメニューにおいてユーザに提供することによって、提供することができる。ユーザ１７０５は、メニューに提示されるキーワードを、従来の方式で、例えばキーワードをクリックすることによって選択することができる。そのような実施形態では、提示されるキーワードを選択することによって、キーワード及び任意の関連する区切り文字を用いてエントリフィールドを自動的に埋めることができ、入力されるエンティティ名及び選択されたキーワードを要求（例えば、ナビゲーションデータ１７５１）としてナビゲーションサービス１７８０に伝達することができる。特定の例として、ユーザは「＠ｇｉｍｂｅｌｓ」をエージェント１７１０の入力フィールドに入力することができ、エージェント１７１０はこの情報をナビゲーションサービス１７８０に伝達することができる。ナビゲーションサービス１７８０は、関連するサジェスト（キーワード）のリストで応答することができる。このリストは、エージェント１７１０が、ユーザが選択することができるドロップダウンメニュー（例えば、「ｓｈｏｅｓ」、「ｍｅｎ’ｓｃｌｏｔｈｅｓ」、「ｗｏｍｅｎ’ｓｃｌｏｔｈｅｓ」等を含む）でユーザに表示することができる。このため、ユーザは、入力されたエンティティ名に対応する複数のサジェストされるキーワードを提示される。更に、ナビゲーションサービス１７８０からリストを受信し、このためそのエンティティ名についてのエントリの存在を確認すると、エージェント１７１０は、例えば入力フィールドの色を灰色から青色に変更することによって、エンティティ名が認識されているという標識を提供することができる。
【０１５３】
提示されたサジェストの選択を示すユーザの入力１７２６に基づいて、エージェント１７１０はサジェスト選択データ１７７１をナビゲーションサービス１７８０に送信する。様々な実施形態において、サジェスト選択データ１７７１は、サジェストデータ１７６２においてエージェント１７１０に以前に送信されたサジェストのうちの１つに対応する。図１７の例において、ナビゲーションサービス１７８０はサジェスト選択データ１７７１を用いて、矢印１７８８によって表されるように、エンティティ表現１７２０における対応するサジェスト１７２８をルックアップするか（１７８７）又は他の形で見つける。次に、ナビゲーションサービス１７８０は、ルックアップされたサジェストに対応するネットワークロケータを特定し（図１７の例では、「ネットワークロケータｍ」１７２９は、サジェスト１７２８が同じ行に記憶されているので、サジェスト１７２８に対応する）、このネットワークロケータをネットワークロケーションデータ１７７２においてエージェント１７１０に返すことができる。
【０１５４】
いくつかの実施形態では、ナビゲーションサービス１７８０は、サジェストを（例えば、サジェストデータ１７６２の一部として）提供するのと同時に、ネットワークロケータをエージェント１７１０に提供する。そのような実施形態では、エージェント１７１０は、ユーザによって選択されたサジェストに対応するネットワークロケータを得るために、ナビゲーションクライアント１７８０との追加の通信（例えば、サジェスト選択データ１７７１を送信し、ネットワークロケーションデータ１７７２を受信する）に携わる必要がない。一方、いくつかのこのような実施形態では、エージェント１７１０は、いずれのネットワークロケータをユーザが選択したかを示すデータをナビゲーションサービス１７８０に送信することができる。
【０１５５】
上述したように、いくつかの実施形態は、ユーザ１７０５のコンテキスト又はアイデンティティに従って制約されるマッピングを用いることができる。このため、エージェント１７１０は、ネットワークロケーションデータ１７１６等のコンテキストデータを、ナビゲーションサービス１７８０に提供する（１７２２）ことによって利用する（１７７２）ことができる。これは、ユーザ入力を必要とすることなく自動的に行うことができる。ナビゲーションサービス１７８０は、ネットワークロケーションデータ１７１６を用いて、エンティティ表現１７２０内の合致したサジェスト１７２８に対応するのみでなく、コンテキストデータに基づいてトポロジー的にエージェント１７１０の近くに位置するネットワークロケータ１７３７をルックアップするか（１７８７）又は他の形で求めることができる。いくつかの実施形態は、様々な地理的ロケーション又はネットワークロケーションに対応する様々なネットワークロケータと対にされた同じサジェスト１７２８を含む複数の行を記憶することによってこれを達成することができる。代替の実施形態において、ナビゲーションサービス１７８０は、エージェント１７１０に、これらのエージェントの地理的ロケーション又はネットワークロケーションを反映する情報とともに、複数のネットワークロケータを提供することに留意されたい。そのような実施形態では、エージェント１７１０はコンテキスト情報を用いて、トポロジー的に又は地理的に最も近いネットワークロケータを選択することができる。
【０１５６】
いくつかの実施形態では、コンテキストデータは、初期ナビゲーションデータとともに、エージェント１７１０によって供給することができる。例えば、ナビゲーションサービス１７８０は、ナビゲーションデータ１７５１の一部としての地理的情報とともに、「＠ｚｏｏ」等の一般的なエンティティ名のための文字列を受信することができる。ナビゲーションサービス１７８０は、このエンティティＩＤを複数のエンティティ１７２３と照合し、提供された地理的データに最も近いものを選択し得る。代替的な実施形態では、ナビゲーションサービス１７８０は、複数のネットワークロケータをエージェント１７１０に提供し、エージェント１７１０はコンテキストデータに基づいて最も近いネットワークロケータを選択する。
【０１５７】
ネットワークロケーションデータ１７１６は、実施形態とともに使用可能なコンテキストデータのタイプの１つにすぎないことに留意されたい。他のタイプのコンテキストデータは、限定ではないが、言語タイプ、認証情報、ＩＰアドレス、評判データ、ユーザ名／パスワード、暗号化方式、ハードウェアキー、ジオロケーション情報、指紋識別情報、秘密鍵／公開鍵認証方式を用いた暗号化パッケージ、マシンハードウェアＩＤ、製品若しくはライセンスＩＤ、セキュリティポリシー証明、又は他の考え得るユーザ識別情報若しくはマシン識別情報を含むことができる。これらの例及び更なる例が、２０１３年３月１４日に出願された「Ａｄａｐｔｉｖｅ  Ｎａｍｅ  Ｒｅｓｏｌｕｔｉｏｎ」と題する特許文献４において詳細に検討されている。この特許文献の開示は、参照によりその全体が本明細書に組み込まれている。
【０１５８】
Ｇｉｍｂｅｌｓの例示的な使用事例を継続すると、ユーザ１７０５がドロップダウンメニューから「ｇｉｍｂｅｌｓ．ｓｈｏｅｓ」を選択する場合、ナビゲーションサービス１７８０は、エンティティ表現１７２０においてサジェスト「ｇｉｍｂｅｌｓ．ｓｈｏｅｓ」をルックアップし（１７８７）、対応するネットワークロケータとして「ｈｔｔｐ：／／ｗｗｗ１．ｇｉｍｂｅｌｓ．ｃｏｍ／ｓｈｏｐ／ｃｌｏｔｈｉｎｇ／ｓｈｏｅｓ」を見つけることができる。次に、ナビゲーションサービス１７８０は、ネットワークロケーションデータ１７７２において文字列「ｈｔｔｐ：／／ｗｗｗ１．ｇｉｍｂｅｌｓ．ｃｏｍ／ｓｈｏｐ／ｃｌｏｔｈｉｎｇ／ｓｈｏｅｓ」を送信することができる。
【０１５９】
図１７に示すように、エージェント１７１０は様々な目的でネットワークロケーションデータ１７７２を利用することができる。様々な実施形態において、エージェント１７１０は、ネットワークロケーションデータ１７７２を利用して、ネットワークロケーションデータ１７７２によってアドレス指定されるか又は識別されるネットワークリソースにナビゲートするか、直接接続されるか、このネットワークリソースとインタラクトするか、又は他の形でこのネットワークリソースにアクセスすることができる。ネットワークロケータ１７２５〜１７２９がサジェストデータ１７６２においてサジェスト１７２４〜１７２８とともに送信されるいくつかの実施形態では、エージェント１７１０は、ユーザがキーワード等の対応するサジェストを選択するときに、ネットワークロケータによってアドレス指定されるか又は識別されるネットワークリソースに自動的にナビゲートするか、直接接続されるか、このネットワークリソースとインタラクトするか、又は他の形でこのネットワークリソースにアクセスすることができる。
【０１６０】
Ｇｉｍｂｅｌｓの例示的な使用事例を継続すると、エージェント１７１０は、ネットワークロケーションデータ１７７２から文字列「ｈｔｔｐ：／／ｗｗｗ１．ｇｉｍｂｅｌｓ．ｃｏｍ／ｓｈｏｐ／ｃｌｏｔｈｉｎｇ／ｓｈｏｅｓ」を抽出し、これをブラウザに入力することができる。ブラウザは、この文字列を任意の他のＵＲＬのように解決し、ユーザ１７０５が靴を購入するための対応するＧｉｍｂｅｌｓウェブページをレンダリングすることができる。例えば、ブラウザは、ドメイン名サーバとコンタクトして、ネットワークロケーションデータに対応するインターネットプロトコルアドレスを取得し、次にそのインターネットプロトコルアドレスにナビゲートすることができる。
【０１６１】
Ｇｉｍｂｅｌｓの例示的な使用事例の結論として、エージェント１７１０、例えばブラウザは、オプションでエンティティ名とサジェスト（例えば、キーワード）との組合せを表示することができる。そのような表示は、ナビゲーションバー又はオムニバーにあり得る。いくつかの実施形態では、エージェントはネットワークロケータ１７２５〜１７２９又はネットワークロケーションデータ１７７２、例えばＵＲＬをブラウザのナビゲーションバー又はオムニバーに表示することができる。いくつかの実施形態では、エージェント１７１０は、一方ではエンティティ名とサジェスト（例えば、キーワード）との組合せを表示することと、他方で、ネットワークロケータ又はネットワークロケーションデータ、例えばＵＲＬを表示することとの間で切り替えることができる。そのような切り替えは、ユーザ入力、例えばユーザ１７０５が専用ソフトボタンをアクティベートすることによって開始することができる。いくつかの実施形態は、エンティティ名及びサジェスト（例えばキーワード）の組合せと、ネットワークロケータ又はネットワークロケーションデータとの双方を表示する。
【０１６２】
概して、いくつかの実施形態はリダイレクトを用いることができる。そのような実施形態では、ユーザ１７０５が、エンティティＩＤデータ１７５２（例えば、名前空間識別子を含むことができるエンティティ名）及び補足データ１７５３（例えば、キーワード）を含むコマンド文字列を選択するか又は他の方法でエージェント１７１０に入力し、エージェント１７１０が対応する要求をナビゲーションサービス１７８０に伝達すると、ナビゲーションサービス１７８０は同じ特殊フォーマットを利用するリダイレクトを実行することができる。リダイレクトはエンティティ名所有者（例えば、名前空間所有者）がプロビジョニングしたプリファレンスに基づくことができる。プリファレンスは、緊急性がある懸念事項又は他の特別な懸念事項を反映することができる。例えば、ユーザは、エージェント１７１０を備えるブラウザのナビゲーションバーに「＠ｇｉｍｂｅｌｓ！ｓｈｏｅｓ」を入力することができる。エージェント１７１０は、対応する要求を（例えばナビゲーションデータ１７５１を介して）ナビゲーションサービス１７８０に伝達する。ナビゲーションサービス１７８０は、要求のデータを、異なるコマンド文字列、例えば「＠ｇｉｍｂｅｌｓ！ｓｈｏｅｓ＿ｏｎ＿ｓａｌｅ＿Ｊａｎｕａｒｙ＿２０１４」に対応する異なるデータに照合するか又は他の形でマッピングすることができる。そのようなマッピングは、名前所有者自体によって指定することができ、ユーザに不可視とすることができる。次に、ナビゲーションサービス１７８０は、適切な対応データ（例えば、ネットワークロケータ１７２５〜１７２９）をエージェント１７１０に提供することができる。このデータは、リダイレクトがユーザに不可視になるように元のコマンド文字列（ここでは、「＠ｇｉｍｂｅｌｓ！ｓｈｏｅｓ」）を反映するデータと合わせて、又は新たなコマンド文字列（ここでは、「＠ｇｉｍｂｅｌｓ！ｓｈｏｅｓ＿ｏｎ＿ｓａｌｅ＿Ｊａｎｕａｒｙ＿２０１４」）を反映するデータと合わせて提供することができる。
【０１６３】
いくつかの実施形態は、様々な方法で誤り処理を実行する。すなわち、ナビゲーションサービスは、様々な形で、エンティティ表現１７２０にないエンティティ名（例えば、エンティティＩＤデータ１７５２）及び／又はキーワード（例えば、補足データ１７５３）を含む要求（例えば、ナビゲーションデータ１７５１）に応答することができる。ナビゲーションサービス１７８０が、ナビゲーションサービス１７８０のエンティティ表現１７２０内に存在するエンティティ名を含む要求を受信するが、名前及びキーワードの組合せは存在しない場合、ナビゲーションサービス１７８０は、誤りページについてネットワークロケータを返すか、名前及びキーワードの関連する組合せについてネットワークロケータを返すか、名前及びキーワードの関連する組合せを自動補正するか、名前及びキーワードの関連する組合せにリダイレクトするか、又はキーワードに対応する場合があるがエンティティ表現にまだ登録されていないコンテンツを見つけることを試みる。最後の４つはそれぞれ、既知の技法を用いた名前所有者（又はユーザの）プリファレンスのヒューリスティックな決定を伴う。いくつかの実施形態によれば、ナビゲーションサービスは、キーワードの検索結果に対応するウェブサイトのネットワークロケータに応答することができる。そのような検索結果は、例えば、ワールドワイドウェブ、又は対応する入力されたエンティティ名に対応するサイトの標準的な検索によって取得することができる。誤り処理は、名前所有者が大きなキーワード集合をプロビジョニングする方法も提供することができる。名前所有者は、ナビゲーションサービス１７８０に、一定の特性を有するキーワード（例えば、指定されたキーワードに等しいＳＯＵＮＤＥＸ、指定されたキーワードに対する同義語等）を含む要求を受信する場合、これを名前所有者によって指定されたルールに従ってマッピングすることを指定し得る。
【０１６４】
いくつかの実施形態は、ナビゲーションサービス１７８０のエンティティ表現１７２０内に存在するエンティティ名を含む要求を追跡するが、ここには名前及びキーワードの組合せは存在しない。ナビゲーションサービスは、そのような要求を順に並べ、例えばエンティティ名に従ってグルーピングし、キーワード頻度に従って各グループ内で要求を順に並べることができる。そのように順に並べることは、エンティティ名ごとに、最も一般的に要求されるが登録されていないキーワードを求めることを含むことができる。この情報は、サービスが、登録されていないキーワードをプロビジョニングするように対応する名前所有者に要請することができるように、第三者キーワードサービスに提供することができる。ナビゲーションサービス１７８０は、名前所有者の関連するコンテンツの解析に基づいて例示的なキーワード及びネットワークロケータもプロビジョニングする。これは、名前所有者がネットワークロケータを、このネットワークロケータのコンテンツについてプロビジョニングすることに取り掛かるのに役立つことができる。
【０１６５】
ナビゲーションサービス１７８０が、エンティティ表現１７２０内に存在しないが、何らかの名前空間内に存在する名前（例えば、エンティティＩＤデータ１７５２）を含む要求を受信する場合、上記で開示したオプションに加えて、ナビゲーションサービス１７８０は、名前空間からの検索結果についてネットワークロケータを返すことができる。例えば、ユーザが「＠ｇｉｍｂｅｌｓ！ｓｈｏｅｓ」を入力し、「“＠ｇｉｍｂｅｌｓ」がＴＷＩＴＴＥＲ名前空間に存在するが、ナビゲーションサービスのエンティティ表現１７２０内に存在しない場合、ナビゲーションサービスは、「ｓｈｏｅｓ」に関する「＠ｇｉｍｂｅｌｓ」によってツイートのページのネットワークロケータ（すなわち、ＴＷＩＴＴＥＲマイクロブログエントリ）を提供することができる。ページは、名前所有者に、キーワードをナビゲーションサービス１７８０に登録する機会を提供する情報メッセージも含むことができる。同様の結果ページを他の名前空間についても同様に構築することができる。
【０１６６】
ナビゲーションサービス１７８０が、エンティティ表現１７２０内にも何らかの他の名前空間にも存在しない名前（例えば、エンティティＩＤデータ１７５２）を含む要求を受信する場合、ナビゲーションサービス１７８０は、エラーページ又はサジェストのネットワークロケータを返すことができる。
【０１６７】
当業者であれば、システム１７００のコンポーネント及び実施の詳細は、説明を簡略かつ明確にするために提示される簡略化された例であることを認識するであろう。他のコンポーネント、実施の詳細及び変形形態を用いることができる。例えば、サジェストデータ１７６２及びネットワークロケーションデータ１７７２のいずれも、エラーコード、又はマッピング若しくはルックアップが失敗したか、若しくは直接ナビゲーションサービス１７８０が予期される応答を返すことができないことの他の標識を適宜含むことができる。多くの他の変形形態が可能である。
【０１６８】
図１８は、様々な実施形態によるナビゲーションサービスの観点からの方法を示すフローチャートである。図１８の方法は、本明細書において開示されるナビゲーションサービスによって実施することができる。より詳細には、図１８の方法は、図１７のナビゲーションサービス１７８０によって実行することができるか、又は上記のセクションＩに記載のＵＲＬキーワード解決サーバによって実行することができる。
【０１６９】
ブロック１８０２において、ナビゲーションサービスはネットワークリソースの要求を受信する。いくつかの実施形態では、要求は、エンティティ名とキーワードとを含む。要求は、名前空間識別子を含むことができるか、又は他の形で、エンティティ名に関連付けられる名前空間を示すことができる。要求は、エージェント、例えば、図１７のエージェント１７１０から、又はクライアントコンピュータから、又は上記のセクションＩにおいて開示されるようなウェブブラウザから受信することができる。エージェントは、本明細書において検討されるように、ユーザによって入力されたコマンド文字列から要求を導出した場合がある。ナビゲーションサービスは、インターネット等のネットワークを介してエージェントから要求を取得することができる。ナビゲーションサービスは、上記のセクションＩＩに開示されたように、要求を全て同時に、又は部分に分けて受信することができる。
【０１７０】
ブロック１８０４において、ナビゲーションサービスは、ブロック１８０２において受信した要求に対応するユニフォームリソースロケータ又は他のネットワークロケータ（例えば、ネットワークロケータ１７２５〜１７２９のうちの１つ又は複数）を取得する。いくつかの実施形態では、ナビゲーションサービスは、１つ若しくは複数のデータベース若しくはディレクトリ、例えばエンティティ表現を含む１つ若しくは複数のデータベース、又は上記のセクションＩに開示されたようなデータリポジトリ１３０に格納される１つ若しくは複数のデータベースからユニフォームリソースロケータを取得する。ナビゲーションサービスは、ブロック１８０２において受信したエンティティ名と、データベースに記憶されるエンティティ名との間、及びブロック１８０２において受信したキーワードと、合致したエンティティ名に関連付けて格納されているキーワードとの間の照合を行うことができる。エンティティ名及び／又はキーワードの照合は厳密な照合とすることができるか、又はヒューリスティックな技法若しくは他のファジーマッチング技法とすることができる。照合されると、ナビゲーションサービスは、データベースから、例えば合致したエンティティ名及びキーワードと同じ行から、対応するユニフォームリソースロケータ（又は他のネットワークロケータ）を検索する。
【０１７１】
ブロック１８０６において、ナビゲーションサービスは、要求者、例えばエージェントに、ユニフォームリソースロケータ（又は他のネットワークロケータ）を提供する。これは、ナビゲーションサービスが、ユニフォームリソースロケータを、インターネット等のネットワークを介して要求者に送信することによって行うことができる。いくつかの実施形態では、ナビゲーションサービスはまた、サジェストされるエンティティ名及び補足データ（例えば、キーワード）についてのサジェストの一方又は双方を提供する。
【０１７２】
図１９は、様々な実施形態による、エージェントの観点からの方法を示すフローチャートである。図１９の方法は、本明細書に開示されるエージェントによって実施することができる。より詳細には、図１９の方法は、図１７のエージェント１７１０によって実行することができるか、又は、上記でセクションＩにおいて開示したようにクライアントコンピュータ若しくはウェブブラウザによって実行することができる。
【０１７３】
ブロック１９０２において、エージェントは、例えばユーザがリンクをクリックするときに、又はユーザがナビゲーションバー若しくはオムニバー等のフィールドに入力するときに、コマンド文字列を受信する。コマンド文字列は、エンティティ名及びキーワードを含むことができる。コマンド文字列は、エンティティ名の隣の名前空間識別子、及び／又はキーワードの隣のキーワードデリミタを更に含むことができる。
【０１７４】
ブロック１９０４において、エージェントは、ブロック１９０２において受信したコマンド文字列からネットワークリソースの要求を導出する。エージェントは、コマンド文字列をパースして既知の技法を用いてエンティティ名及びキーワードを抽出することによって、要求を導出することができる。要求は、エンティティ名、キーワード、及び場合によっては、エンティティ名に対応する名前空間識別子を含むことができる。
【０１７５】
ブロック１９０６において、エージェントは、インターネット等のネットワークを介してナビゲーションサービスへのネットワークリソースの要求を提供することができる。ナビゲーションサービスは、例えば、図１７のナビゲーションサービス１７８０、又は上記のセクションＩにおいて説明されたＵＲＬキーワード解決サーバとすることができる。要求を伝達するために、エージェントはこの要求を、ユニフォームリソースロケータ、又はエージェントのソフトウェアにコーディングされた他のネットワークロケータに向けることができる。
【０１７６】
ブロック１９０８において、エージェントは、ブロック１９０６において提供された要求に対応するユニフォームリソースロケータ又は他のネットワークロケータを取得する。エージェントは、ナビゲーションサービスからユニフォームリソースロケータを取得することができ、ナビゲーションサービス自体は、本明細書に開示されるように、１つ又は複数のデータベースから、エンティティ名及びキーワードとの合致を見つけることによってこのユニフォームリソースロケータを取得する。エージェントは、ユニフォームリソースロケータを取得すると、例えば、ユニフォームリソースロケータによって識別されるリソースにナビゲートすること等の動作を行うことができる。
【０１７７】
図２１は、いくつかの実施形態による、ナビゲーションサービスをプロビジョニングする例示的な技法を示す。いくつかの実施形態では、プロビジョニング動作は、上記の図１４〜図１６を参照して示され説明されたプロビジョニングと類似しており、実際にはこれを一般化することができる。このため、図２１は、名前空間に基づくスマートナビゲーションのコンテキストにおいてプロビジョニングを説明する。
【０１７８】
図２１の技法にコンテキストを与えるために、「＠ｇｉｍｂｅｌｓ！ｓｈｏｅｓ」の例を継続すると、必須ではないがおそらく、名前所有者、例えばＧｉｍｂｅｌｓは、コマンド文字列「＠ｇｉｍｂｅｌｓ！ｓｈｏｅｓ」が関連付けられるべきコンテンツのプリファレンスを有する。更に、ユーザはおそらく、「ｓｈｏｅｓ」等のキーワードが名前所有者によって直接管理されることを予期する。したがって、この識別子について、名前所有者はネットワークロケータ自体を指定することができる。
【０１７９】
一方、他のコマンド文字列について、キーワードが第三者によって扱われることをユーザが予期し、名前所有者がこれについてプリファレンスを有する場合がある。例えば、キーワードが別の会社、例えばＡｌｐｈａ  Ｗｉｄｇｅｔを指すと仮定する。ユーザは、形態「＠＜ｎａｍｅ＞！ａｌｐｈａｗｉｄｇｅｔｓ」の識別子が解決され、提示の一貫性のために、多岐にわたる名前についてＡｌｐｈａＷｉｄｇｅｔｓによって推奨されるリソースに変換されることを予期し得る。Ｇｉｍｂｅｌｓは同様に、「＠ｇｉｍｂｅｌｓ！ａｌｐｈａｗｉｄｇｅｔｓ」に応答して表示されるコンテンツについてＡｌｐｈａ  Ｗｉｄｇｅｔｓによる推奨に依拠することが好ましい場合がある。したがって、複数の名前所有者は、例えば図１４を参照して上記で示し説明したように、更には形態「＠＜ｎａｍｅ＞！ａｌｐｈａｗｉｄｇｅｔｓ」の識別子の推奨を選択し、又はこの識別子の権限を、キーワードサービス提供者としてのＡｌｐｈａ  Ｗｉｄｇｅｔｓに委譲することができる。
【０１８０】
更なる例として、「＠ｇｉｍｂｅｌｓ！ｄｉｓｃｏｕｎｔ」を検討する。一般的なキーワード「ｄｉｓｃｏｕｎｔ」は通常、会社名とみなされるが、ユーザは依然として、おそらく共通サービス提供者によってサポートされる複数の名前にわたる一貫性を予期し得る。したがって、ｄｉｓｃｏｕｎｔのためのキーワードサービス提供者は、このキーワードに関連付けられたディレクトリエントリをプロビジョニングする際に名前所有者を支援することができる。「ａｌｐｈａｗｉｄｇｅｔｓ」の場合と同様に、名前所有者は、形態「＠＜ｎａｍｅ＞！ｄｉｓｃｏｕｎｔ」の識別子の推奨を選択し、かつ／又はこの識別子の権限をキーワードサービス提供者に委譲することができる。一方、「ａｌｐｈａｗｉｄｇｅｔｓ」の場合と対象的に、「ｄｉｓｃｏｕｎｔ」が会社名ではない場合、ナビゲーションサービスが名前所有者に、これらの識別子について２つ以上のサービス提供者の選択肢を提供することが妥当であろう。
【０１８１】
ここで、Ｇｉｍｂｅｌｓが、キーワードサービス提供者Ａｃｍｅ  Ｄｉｓｃｏｕｎｔｓから識別子「＠ｇｉｍｂｅｌｓ！ｄｉｓｃｏｕｎｔ」の推奨を取得する（又はその提供者に権限を委譲する）と仮定する。ユーザは、関連する識別子も、同じサービス提供者、例えば、「＠ｇｉｍｂｅｌｓ！ｄｉｓｃｏｕｎｔｓ」、「＠ｇｉｍｂｅｌｓ！ｃｏｕｐｏｎ」、「＠ｇｉｍｂｅｌｓ！ｃｏｕｐｏｎｓ」等に依存することを予期し得る。Ｇｉｍｂｅｌｓは、これらのキーワードについてもＡｃｍｅ  Ｄｉｓｃｏｕｎｔｓからのサービスにサブスクライブする。一方、別の名前所有者は、異なる１組の選択を行い得る。すなわち、「＠ｂｉｇｂｏｘ！ｄｉｓｃｏｕｎｔ」及び関連する識別子は、例示的な小売業者Ｂｉｇ  Ｂｏｘによって、キーワードサービス提供者Ｂｅｔａ  Ｄｉｓｃｏｕｎｔｓに委譲され得る。このため、キーワードサービス提供者は、名前所有者の事業について競合し得る。
【０１８２】
要約すると、キーワードサービス提供者の役割は、以下のように説明することができる。
・キーワードサービス提供者は、名前所有者が所与のキーワードを管理するのを助けるように提案することができる、
・名前所有者は、助けを受理するか又は受理しないかを選択することができる、
・助けには、名前＋キーワードの組合せからコンテンツへの推奨されるマッピングを含むことができ、名前所有者はこれを受理してもしなくてもよい、
・名前所有者は、キーワードサービス提供者へのマッピングを管理する権限も委譲することができる
・キーワードサービス提供者は、同じ名前所有者について複数のキーワードをサポートすることを提案することができる
・キーワードサービス提供者は、複数の名前所有者（互いに関連していてもしていなくてもよい）をサポートすることを提案することができる、
・名前所有者は、キーワードの様々なサブセットについて、複数のキーワードサービス提供者によって同時にサポートされることを選択することができ、キーワードサービス提供者の組を時間の経過とともに変更することができる、及び／又は、
・名前所有者は、例えば、コマンド文字列の解決が他の要因（例えば、要求者のジオロケーション）に依拠している場合、同じキーワードについて２つ以上のキーワードサービス提供者によってサポートされることを選択することもできる。
【０１８３】
名前所有者とキーワードサービス提供者との間の関係を、検索エンジンによるキーワード入札と対比させることが重要である。通常のキーワード入札プロセスでは、複数の入札者が、検索エンジンが検索要求を処理するのを助けることを提案する。次に検索エンジンは、検索結果の最上位の配置を最高の入札者に与えることができる。
【０１８４】
対称的に、スマートナビゲーションの枠組みでは、複数のキーワードサービス提供者が、名前所有者が名前とキーワードとの組合せ（潜在的に他のデータを有する）を処理するのを助けることを提案する。名前所有者は、助けを受理するか又は受理しないかを選択し、時間の経過とともに選択を変更することができる。ナビゲーションサービスは、名前所有者とキーワードサービス提供者との間の関係を仲介する。ナビゲーションサービスは、ユーザの興味及び活動に関する要約データをキーワードサービス提供者に提供し、（名前所有者に対して行うことができるように）これらのキーワードサービス提供者に潜在的な事業機会を紹介することもできるが、ナビゲーションサービス自体は、いずれのキーワードサービス提供者が事業を獲得するのかを判定しない。むしろ、そのような決定は名前所有者から端を発し、名前所有者の代わりにナビゲーションサービスによって実施される。
【０１８５】
名前所有者は、全てのキーワードについてキーワードサービス提供者を有することを必要とされないことに留意されたい。所与のキーワードをサポートする第三者のキーワードサービス提供者を選択することにより、名前所有者は、そのキーワードに関与する識別子を解決する権限をサービス提供者に効果的に委譲する。
【０１８６】
キーワードサービス提供者は、所与のキーワードに従ってナビゲートするときのユーザ体験を改善することによって、名前所有者がユーザとつながることを容易にする。キーワードサービス提供者は、名前所有者によって直接、又はナビゲーションサービスを通じて間接的に、このサービスについて金銭的に補償され得る。更に、キーワードサービス提供者、名前所有者又は双方が、ユーザがナビゲーションサービスとインタラクトする際に介するプラットフォーム（例えば、ブラウザ又はアプリケーション）の提供者に補償することができる。キーワードサービス提供者のためのサポートを含めることによって、ナビゲーションサービスは、四面で構成される市場（ユーザ／名前所有者／キーワードサービス／プラットフォーム提供者）を効果的に実現し、開発を奨励し、ナビゲーションサービスの機能を収益化するための複数のオプションを与える。
【０１８７】
図２１によってこれらの検討事項を説明すると、ブロック２１０２において、名前所有者（例えば、ドメイン名管理者）は、キーワードサービス（例えば、第三者）がプロビジョニングデータを用いてナビゲーションサービス（例えば、キーワード管理サーバ）をプロビジョニングすることを認可する。このブロックのアクションは、上記のブロック１４１０〜１４４０を参照して上記で説明したように進行することができる。このブロック、並びにブロック２１０４及び２１０６はオプションであることに留意されたい。すなわち、名前所有者は、自身の独自のスマートナビゲーションデータをプロビジョニングすることを選択することができる。当然ながら、そのような実施形態では、名前所有者がブロック２１０４のアクションを実行する。
【０１８８】
いくつかの実施形態によれば、名前所有者は、いくつかのデータをプロビジョニングすることができ、キーワードサービスは他のデータをプロビジョニングすることができる。いくつかの実施形態では、ナビゲーションサービスは、キーワード、名前及び／又は他のデータを用いてエンティティ表現１７２０のシーディングを行う。シーディングプロセスは、エンティティ表現１７２０を初めに埋めることができ、その後、名前所有者はいくつか又は全てのそのようなデータを変更することができる。
【０１８９】
ブロック２１０４において、プロビジョニングエンティティ（名前所有者とすることができる）は、キーワード及び／又は他のデータを提供する。プロビジョニングエンティティは、そのような情報をナビゲーションサービスに直接、又は名前所有者によって提供することができる。このブロックの動作は、ブロック１４５０を参照して上記で説明したように進行することができる。
【０１９０】
ブロック２１０６において、名前所有者は提供されたプロビジョニングデータを承認する。このブロックの動作は、図１４のブロック１４６０を参照して上記で説明したように進行することができる。名前所有者が自身でプロビジョニングを実行する実施形態では、このブロックは省略することができる。
【０１９１】
ブロック２１０８において、プロビジョニングされた情報はナビゲーションサービスに提供される。プロビジョニングされる情報は、名前所有者又はキーワードサービスによって提供することができる。このブロックの動作は、図１４のブロック１４６０を参照して上記で説明したように進行することができる。
【０１９２】
ブロック２１１０において、ナビゲーションサービスは、例えば、図１４を参照して上記で説明した、エンティティ情報１７２０又はキーワード管理サーバによって記憶されるデータとしてプロビジョニングされた情報を記憶する。
【０１９３】
ブロック２１１２において、ナビゲーションサービスは、例えば、図１８及び図１９を参照して本明細書に示し説明するように、エージェント解決要求に応答する準備ができている。
【０１９４】
本明細書において開示される実施形態により可能な多くの変形形態が存在する。例えば、ナビゲーションサービスは、エンティティ名及びキーワードの組合せを処理することのみに制限されない。むしろ、ナビゲーションサービスはエンティティ名のみ、２つ以上のエンティティ名の組合せ（例えば階層を形成する）、又は２つ以上のキーワードの組合せ（キーワードのうちの少なくとも１つの適切な所有権を仮定する）、又は何らかの他の組合せを扱うことができる。キーワードを名前所有者によって定義される名前空間とみなすことによって、ナビゲーションサービスは、少なくとも１つの名前所有者によって指定されるような、１つ又は複数の名前の組合せに関する情報をプロビジョニング及びルックアップする方法を提供することができる。
【０１９５】
別の変形形態は、ナビゲーションサービス１７８０が物理的及び論理的に実施される方法に関する。いくつかの実施形態では、ナビゲーションサービス１７８０は、利用可能性を増大させるためにルックアップ動作の複数のインスタンス（例えば、分散サーバ）を提供して、複数のインスタンスにわたって負荷を分散させることができる。いくつかの実施形態は、再帰的かつ権威的名前サーバのＤＮＳの概念と構造的に類似して、エージェント１７１０とインタフェースするナビゲーションサービス１７８０のフロントエンドサービスインスタンスと、エンティティ表現を保持するバックエンドインスタンスとを利用することができる。フロントエンドインスタンスは、要求に迅速に応答することができるようにディレクトリエントリをキャッシュすることができる。更に、エージェント１７１０自体がエンティティ表現エントリをキャッシュすることができる。ＤＮＳＳＥＣにおけるようなデータ完全性及びデータ発信元認証メカニズムも適用することができる。同様の実施の選択肢は、サジェスト及びプロビジョニング動作にも同様に適用することができる。
【０１９６】
別の変形形態は、エージェント１７１０がレンダリングをどのように扱うことができるかに関する。ユーザが（名前所有者によって指示されるように）検索している結果を表示することに加えて、エージェント１７１０は、追加のガイダンスを提示することができる。入力する名前及びキーワードのサジェストは、フィードバックの１つの可能な形態である。ユーザが認識又は登録された名前を入力したという確認が別の可能な形態である。ブラウザベースのエージェント１７１０に関連付けられたユーザインタフェースは、本明細書において開示するように、テキストを強調表示するか又はアイコンを表示することができ、ブラウザウィンドウ又は他のインタフェースにおいて、サウンドを鳴らし、アプリケーションを起動し、かつ／又は初期結果を提示することもできる。特に、ユーザとのインタラクションは、「アドレスバー」又は均等物に制限されない。最終的なウェブページ又は他のコンテンツを、ユーザが直接ナビゲーションデータを入力するインタフェースの外側にレンダリングすることができるのと同じように、中間フィードバックも異なるプログラムロケーションにレンダリングすることができる。
【０１９７】
別の変形形態は、代替的な字母系（ａｌｐｈａｂｅｔ）に関する。本開示は、標準的な英語の字母系に関して書かれているが、本発明はそのように限定されない。実施形態は、限定ではないが、中国語（例えば、繁体字、簡体字）、日本語字母系（例えば、漢字、ひらがな、カタカナ）、韓国語、ヒンディー語、キリル文字、タガログ語、タミル語、ハンガリー語、英語でないラテン字母系（例えば、ポルトガル語、スペイン語、フランス語）、ウルドゥー語、ギリシャ語、ヘブライ語、アルメニア語、アラビア語等を含む他の字母系をサポートすることができる。エンティティ名及びキーワードの双方を、様々なアルファベットのうちの任意のもの又は更にはこれらの組合せで表現することができる。例えば、以下はコマンド文字列のための有効な構文である。＠医生杜明！ｄｅｃｏｒａｔｉｆ。ここで、「医生杜明」は中国語のエンティティ名であり、「ｄｅｃｏｒａｔｉｆ」はフランス語のキーワードである。この場合、エンティティ名及びキーワードは異なる字母系であることに留意されたい。
【０１９８】
通常、検索エンジンは、検索結果を取り出し、記憶するために、ウェブをクロールする。検索エンジンは、ナビゲーションサービス空間を検索してプロビジョニングされたネットワークロケータを特定するように拡張され得る。そのような検索エンジンは特に、プロビジョニングされたネットワークロケータに偶然対応する検索結果を特定することができる。例えば、検索エンジンは、クエリを受信する場合があり、これを様々なリンクに照合する。検索エンジンは、結果ウェブページによってユーザにこれらのリンクを提供することができる。リンクのうちのいくつかは、実施形態においてエンティティによってプロビジョニングされるリンクとすることができる。この例では、検索エンジンは、エンティティによって提供されるリンクを、例えば異なる色、フォント、サイズ、ロケーション等で提示することによって、他のリンクと視覚的に区別することができる。本明細書において提示する進行中の例を継続する具体的な例として、ユーザは、「ｇｉｍｂｅｌｓ  ｓｈｏｅｓ」を検索エンジンのクエリフィールドにタイプインし得る。検索エンジンは、Ｇｉｍｂｅｌｓエンティティが一実施形態に提供した、Ｇｉｍｂｅｌｓに関する新たな記事、靴に関するブログ、及びリンクｈｔｔｐ：／／ｗｗｗ１．ｇｉｍｂｅｌｓ．ｃｏｍ／ｓｈｏｐ／ｃｌｏｔｈｉｎｇ／ｓｈｏｅｓ等の様々なリンクを含む結果ページを、すなわち、コマンド文字列、例えば＠ｇｉｍｂｅｌｓ！ｓｈｏｅｓに関連付けられたネットワークロケータとして提供することができる。このように、検索空間は、ナビゲーションサービスからのデータベースを組み込むように拡張される。結果ページにおいて、この後者のリンクは、本明細書において検討されるように他のリンクと区別することができる。
【０１９９】
いくつかの実施態様では、ナビゲーションサービスは、ネットワークロケータではなく、又はネットワークロケータに加えてコンテンツを返す。そのような実施態様では、エンティティ表現１７２０は、エンティティ名及びキーワードに関連してコンテンツを記憶する追加のフィールド（例えば、１つ又は複数の列）を含むことができる。次に、ナビゲーションサービスは、適切なエンティティ表現に存在するか若しくは適切なエンティティ表現から好まれるコンテンツを直接検索すること、又はエンティティ表現に記憶される適切なネットワークロケータを用いることによりコンテンツを検索することのいずれかによって、（ユーザが対応するサジェストを選択すると）コンテンツを取得することができる。いずれの変形形態においても、ナビゲーションサービスは、エージェントが関連付けられたネットワークロケータにナビゲートし、コンテンツを検索することを必要とすることなくコンテンツをユーザ自身に返すことができる。
【０２００】
いくつかの実施態様では、エージェント１７１０はナビゲーションデータ１７５１の全て又は一部について画像を利用することができる。この画像は、様々なフォーマット、例えば、ビットマップ、ＧＩＦ、ＪＰＥＧ、ＭＰＥＧ等のうちの任意のフォーマットであり得る。そのような実施形態では、画像を用いて、エンティティＩＤデータ１７５２、補足データ１７５３、又は双方を、多岐にわたる手段のうちの任意のものを用いて生成することができる。例えば、エージェント１７１０自体、ナビゲーションサービス１７８０、又は別個のシステムが、エージェント１７１０又はナビゲーションサービス１７８０から画像を取得し、これを既知の技法を用いて文字列に変換することができる。次に、文字列をナビゲーションサービスに提供することができ、本明細書に開示されるようにプロセスが継続することができる。
【０２０１】
具体的な例として、ユーザ１７０５は会社ロゴの画像、例えばＪＰＥＧフォーマットのＧｉｍｂｅｌｓロゴを取得することができる。ユーザは、例えば、グラフィカルユーザインタフェースを用いてエージェント１７１０をロゴに向けることができる。エージェント１７１０は、ナビゲーションサービス１７８０に画像を提供することができ、ナビゲーションサービス１７８０は既知の画像認識技法を用いて、画像を文字列「ｇｉｍｂｅｌｓ」に照合することができる。次に、ナビゲーションサービスは、例えば文字列「ｇｉｍｂｅｌｓ」をプロビジョニングされた名前空間識別子と照合し、次に合致したキーワードサジェストデータのリストをユーザに表示するためのエージェントに提供することによって、あたかもこの文字列を直接受信したかのように処理することができる。
【０２０２】
画像の使用は、エンティティの識別に限定されないことに留意されたい。例えば、ユーザは、「＠ｇｉｍｂｅｌｓ」をエージェント１７１０のフィールドにタイプインすることができ、エージェントがサジェストのリストを表示するとき、ユーザはエージェントを靴の画像に向けることができる。エージェント１７１０自体が既知の技法を用いて画像を認識するか、又は画像をナビゲーションサービス１７８０に提供して認識機能を実行することができる。いずれの場合も、ナビゲーションサービスは、あたかも文字列「＠ｇｉｍｂｅｌｓ！ｓｈｏｅｓ」を直接受信したかのように応答することができる。
【０２０３】
いくつかの実施形態は、対の名前空間識別子文字及び／又は対のキーワードデリミタ文字、例えば「［」と「］」との対、「｛」と「｝」との対、又は「（」と「）」との対を利用する。そのような実施形態では、適切なコマンド文字列構文の例は、例えば、｛ｇｉｍｂｅｌｓ｝（ｓｈｏｅｓ）、＠ｇｉｍｂｅｌｓ（ｓｈｏｅｓ）、｛ｇｉｍｂｅｌｓ｝ｓｈｏｅｓ等を含むことができる。
【０２０４】
ＩＩＩ．キーワードパラメータ
本明細書において詳細に説明するように、受信したコマンドデータ（例えば、名前及びキーワードを指定するデータ）に応答してネットワークロケータを提供する際に、ナビゲーションサービスは、（例えば、図１７の１７５１及び／又は１７７１において）ジオロケーション又は言語等の他のデータを考慮に入れることができる。すなわち、エージェントは、他のデータを名前及びキーワードの組合せと合わせて解決のためにナビゲーションサービスに提供することができる。そのような他のデータは、ジオロケーションデータ及び言語データに限定されない。いくつかの実施形態によれば、検討される他のデータタイプは、例えば、要求エージェントに関するコンテキスト情報、関連ユーザに関するコンテキスト情報、名前所有者からの他の情報、又は他のシステム状態情報を含む。他のデータは、名前、キーワード及びネットワークロケータデータとともにナビゲーションサービスにプロビジョニングすることができる。例えば図１４を参照して本明細書において説明されるように、プロビジョニングは、名前所有者、ナビゲーションサービス及び／又は第三者キーワードサービスによって行うことができる。
【０２０５】
１つの例として、識別子「＠ｇｉｍｂｅｌｓ！ｓｈｏｅｓ」は、靴ブランド、タイプ又はサイズに関する情報を用いて拡張され得る。このとき、組み合わされた識別子は、形態「＠ｇｉｍｂｅｌｓ！ｓｈｏｅｓ？ｍｅｎｓ＆ｒｕｎｎｉｎｇ＆ｓｉｚｅ＝１１」を有し得る（この構文は単なる例示であり、他の選択肢が可能であることに留意されたい）。次に、組み合わされたコマンド文字列を解決して、特定のパラメータ、例えばサイズ１１の男性用のランニングシューズのウェブページに関連付けられたコンテンツに変換することができる。ユーザはウェブページとインタラクトすることができ、従来のウェブブラウジングにより更なる選択を行うことができるか、又はユーザはコマンド文字列を変更するか若しくは新たな識別子を入力して他のコンテンツにナビゲートされ得る。
【０２０６】
別の例として、識別子「＠ｇｏｔｈａｍ！ｆｌｉｇｈｔｓ」は、出発時間及び到着時間、例えば、「＠ｇｏｔｈａｍ！ｆｌｉｇｈｔｓ？ｆｒｏｍ＝ｍｅｔｒｏｐｏｌｉｓ＆ｄｅｐａｒｔ＝２０１４−０８−１５＆ｒｅｔｕｒｎ＝２０１４−０８−１７」を用いて拡張され得る。キーワードサービス提供者（例えば、「＠ｇｏｔｈａｍ」の名前所有者によって選択される旅行サービス）は、ナビゲーションサービスにネットワークロケータをプロビジョニングすることができる。このネットワークロケータを解決すると、８月１５日に出発し、８月１７日に戻るメトロポリスからゴッサムへのフライトオプションのウェブページに変換される。ウェブページは、ユーザがフライトを選択するために更なるオプションを提供することができる。
【０２０７】
ユーザは、例えばウェブブラウザのオムニバーに、これらの組み合わされた識別子をコマンド文字列として潜在的にタイプインし得るが、ユーザがこれを行うことは好都合でない場合がある。したがって、いくつかの実施形態は、ユーザが認識的により容易な方法で、例えば図１７を参照して本明細書において説明するようなドロップダウン又はポップアップメニューによってユーザからキーワードパラメータを収集するようにユーザがインタラクトする強化型のウェブブラウザ又は他のアプリケーションを利用する。例えば、ユーザが「＠ｇｉｍｂｅｌｓ！ｓｈｏｅｓ」をタイプするとき、ブラウザ又はアプリケーションは、ナビゲーションサービスとインタラクトすることによって、この特定の識別子がキーワードパラメータをサポートすると判断し得る。ナビゲーションサービスは、サポートされるパラメータのタイプ例えば、靴のブランド、タイプ及びサイズ、又は出発市、出発日及び帰還日を決定し、このような情報をエージェントに伝達することができる。次に、エージェントは、ユーザが入力するか又は他の形でパラメータを選択することができるユーザインタフェース、例えば、靴のサイズのドロップダウンメニュー、サジェスト及びオートコンプリートを有する靴のブランドのテキスト入力ボックスを提示することができる。１つの例として、パラメータはナビゲーションサービスを処理するためにユーザによってフリーフォーム又は会話テキスト、例えば「ｍｅｎ  １１」、「ｍｅｎｓ  ｓｉｚｅ  １１」又は「１１  ｍｅｎｓ」として入力することができ、サービスにより更に解釈される。次に、ブラウザ又はアプリケーションは、ユーザ選択に基づいてキーワードパラメータを含む組み合わされたコマンド文字列を形成し、コマンド文字列から導出されたデータ、すなわちコマンドデータを、解決のためにナビゲーションサービスに送信する。組み合わされた識別子は、他のコンテキスト、例えば電子メールメッセージ又はツイートにおいて他のテキストに組み込むためにユーザによってコピーすることもできる。
【０２０８】
このため、ユーザは、強化型ユーザインタフェース（例えば、アドレスバー若しくはオムニバー又は他の入力フィールドへの拡張）を介してキーワードサービス提供者とインタラクトし、キーワードパラメータを提供することができる。インタラクションは、特定のパラメータ（並びに名前所有者及びキーワードサービス提供者のプリファレンス）に従ってカスタマイズすることができるが、ユーザにより親しみやすいものにするために、様々なサービス提供者にわたって一定の形で共通にすることもできる（例えば、ドロップダウンメニュー及びテキスト入力ボックスは一貫したルックアンドフィールを有することができる）。強化型ユーザインタフェースは、ユーザが最終的にナビゲートされるウェブページ又は他のコンテンツとインタフェースすることに加えて、名前所有者及びキーワードサービス提供者に、追加のより直接的な方法でユーザと関わりを持たせる。このため、サジェスト、キーワードパラメータ及び同様の機能を用いた、ナビゲーション情報を入力又は選択するための強化型ユーザインタフェースは、ＵＲＬを入力するための従来のアドレスバーに対する代替となる。
【０２０９】
一方、そのような強化型ユーザインタフェースは、検索エンジンとインタラクトするためのユーザインタフェースと別々のままであることに留意されたい。なぜなら、ユーザは、入力されたテキストの解釈についての検索エンジンのプリファレンスに従うのではなく、指定された識別子及び任意の関連パラメータに関連付けられたコンテンツにナビゲートするために、名前所有者及びキーワードサービス提供者とインタラクトし、これらのプリファレンスに従うためである。
【０２１０】
名前所有者は、デフォルトで、第三者に委譲していない全てのキーワードについて自身のキーワードサービス提供者であるので、キーワードパラメータは第三者が関与するか否かにかかわらずサポートされ得る。「＠ｇｉｍｂｅｌｓ！ｓｈｏｅｓ」の例は良好な例示である。デパートメントストアについて、「ｓｈｏｅｓ」キーワードのためのキーワード提供者が存在し得ることが可能であるが、靴のような主力製品に関するそのような情報は、店自体によってサービス提供することができる。名前所有者自体がキーワードをサービス提供する場合、名前所有者は、キーワードパラメータのための拡張構文及びユーザインタフェースもサポートすることができる。このため、キーワードパラメータは、プロセスに第三者が関与する場合に制限されず、スマートナビゲーションサービスの一部とみなすことができる。
【０２１１】
以下のテーブルは、キーワードサービス提供者によってサポートされ得るキーワードの多岐にわたる例を示す。簡潔にするために、単数形のみが列挙される。複数形及び他の変形も含めることができ、いくつかの実施形態によれば、同じ提供者によってサポートすることができる。
【０２１２】
【表１】
2016045965.tif 000003
【０２１３】
いくつかの実施形態によれば、同じカテゴリ内のキーワードは、所与の名前所有者について同じサービス提供者によってサポートすることができる。更に、異なる名前所有者は同じカテゴリであっても異なるサービス提供者によってサポートし、サービス提供者間の競合を容易にすることができる（しかし、ここで判定はナビゲーションサービスではなく名前所有者によって行われる）。
【０２１４】
ユーザの挙動は言語にも依拠する場合がある。例えば、上記の表は、英語のキーワードを含む。他の言語で対話する名前所有者及びユーザは、異なるキーワード組に収束する場合がある。名前所有者は多言語を使用し、複数の言語でキーワードをサポートすることもできる。キーワードサービス提供者は同様に、同じ名前所有者及び異なる名前所有者の双方について複数の言語をサポートすることを選択することができる。所与のスペルを有するキーワードが２つ以上の言語のキーワード分類に現れ得ることも可能である。キーワードはこれらの言語において同じ意味を有する場合もあるし、異なる意味を有する場合もある。名前所有者は、（上記で言及したジオロケーション機能と同様にして）ユーザの言語のプリファレンスに従ってキーワードを解決することによってこれらの複数の意味に適応することができる。スマートナビゲーションのためのキーワードサービスの他の態様について、キーワードがどのように解決されるべきかについての判定は、最終的に名前所有者に任せることができる。
【０２１５】
キーワードサービスを実施する２つの基本的な手法が存在することに留意されたい。第１の手法は、キーワードサービスが、名前及びキーワード（及び場合によっては他のデータ）から正しいネットワークロケータを取得するのに十分な情報をナビゲーションサービスに提供するためのものである。第２の手法は、キーワードサービスが、名前及びキーワード（及び場合によっては他のデータ）から正しいネットワークロケータを取得するのに十分な情報を記憶するためのものである。これらの手法の双方を以下で詳細に説明する。以下において、「コマンドデータ」という用語は、名前、キーワード及び場合によっては他のデータを指定するデータを意味する。
【０２１６】
第１の手法によれば、キーワードサービスは、ナビゲーションサービスへのコマンドデータを処理するための情報を提供する。そのような実施形態では、ナビゲーションサービスは、キーワードサービスと更に通信する必要なく、キーワード、名前及び場合によっては他のデータを含むコマンドデータ（例えば、クライアントコンピュータに提供されるコマンド文字列から導出される）を含むクライアントコンピュータの要求に応答することができる。代わりに、キーワードサービスが情報をナビゲーションサービスに提供すると、ナビゲーションサービスはクライアントコンピュータ要求を直接扱うことができる。第１の手法では、名前所有者は、キーワードサービスが、名前、キーワード及び他のデータから正しいネットワークロケータを取得するのに十分な情報をナビゲーションサービスに提供するのを認可することができる。
【０２１７】
更に第１の手法によれば、キーワードサービスが、名前、キーワード及び場合によっては他のデータを正しいネットワークロケータに照合するためのナビゲーションサービスを提供することができる少なくとも２つのタイプの情報が存在する。第１のタイプの情報は、ネットワークロケータへの特定のキーワード、名前及び他のデータのマッピング情報である。そのようなマッピング情報は、例えば形態（名前，キーワード，ネットワークロケータ）、（名前，キーワード，他のデータ，ネットワークロケータ）、又は（名前，キーワード、［ヌル値］，ネットワークロケータ）の、データの３つ組又は４つ組の形態をとることができる。ナビゲーションサービスは、本明細書において詳細に説明されるように、そのような３つ組を永続性メモリ（例えば、データベース）に記憶することができる。ナビゲーションサービスは、名前、キーワード及び場合によっては他のデータを用いてデータベースにクエリし、同じ行に記憶されたネットワークロケータを特定することができる。すなわち、ナビゲーションサービスは、名前、キーワード及び場合によっては他のデータを、対応するネットワークロケータに相関付けることができる。第１のタイプの情報は、キーワードサービスによってナビゲーションサービスに提供される複数のそのような３つ組を、例えば、名前及びキーワード（及び場合によっては他のデータ）の組合せごとに１つ含むことができることに留意されたい。
【０２１８】
キーワードサービスが、第１の手法を実施するためにナビゲーションサービスに提供することができる第２のタイプの情報は、例えば、１つ又は複数のルールの形態の解決ロジックである。そのようなルールは、名前、キーワード及び他のデータから正しいネットワークロケータをどのように導出するかを指定することができる。ルールは、名前、キーワード及び他のデータに対し、構文変形を行うことができるか、そのような入力データに対し（例えば、データベースクエリを用いて）情報ルックアップを実行することができるか、又はそのような手順の組合せを実行することができる。１つの例として、クライアントコンピュータによってナビゲーションサービスに提供されるコマンドデータを考える。ここで、コマンドデータは、名前「ｇｏｔｈａｍ」及びキーワード「ｆｌｉｇｈｔｓ」、並びに出発及び到着の場所及び日時を指定する他のデータを含む。ナビゲーションサービスは、コマンドデータをパースし、指定された名前及びキーワードが、ルールとともに用いられることを決定する。このルールは、ネットワークロケータが対応する他のデータについてフライトオプションを表示するウェブページのために構築されることを指定する。
【０２１９】
記憶された情報を検索することは、可能なルール要素であることに留意されたい。したがって、第１の手法のための第２のタイプの情報は、第１のタイプの情報を第１の手法のために一般化したものとみなすことができる。換言すれば、データベースクエリ（又は他の形態若しくは相関）はルールの一例である。
【０２２０】
キーワードサービスを実施するための第２の手法は、キーワードサービスが、コマンドデータから正しいネットワークロケータを得るのに十分な情報を記憶することである。この手法に従って、名前所有者は、ナビゲーションサービスがキーワードサービスを利用して、名前、キーワード及び場合によっては他のデータを解決して適切なネットワークロケータに変換するのを支援するための認可を提供することができる。ナビゲーションサービスは、名前及びキーワード（並びに場合によっては他のデータ）を含むコマンドデータをクライアントコンピュータから受信することができる。ナビゲーションサービスは、コマンドデータをパースし、キーワードサービスが特定の要求を解決すると判断することができる。そのような決定は様々な方法で行うことができる。例えば、ナビゲーションサービスは、全ての要求についてキーワードサービスをデフォルトで利用することができる。別の例として、ナビゲーションサービスは、名前及びキーワードに関連してキーワードサービスのためのネットワークロケータを記憶することができ、それによって、名前及びキーワードを照合するとき、キーワードサービスのためのネットワークロケータを検索する。
【０２２１】
ナビゲーションサービスがキーワードサービスのためのネットワークロケータを取得すると、ナビゲーションサービスには２つの可能性が存在する。第１の可能性は、ナビゲーションサービスがキーワードサービスのためのネットワークロケータをクライアントコンピュータに提供することであり、それによってクライアントコンピュータは、キーワードサービスネットワークロケータを用いて、キーワードサービスから名前、キーワード及び他のデータに対応する正しいネットワークロケータを取得することができる。ナビゲーションサービスは、クライアントに、（場合によっては、クライアントコンピュータがコマンドデータをキーワードサービスに渡すことを示すフラグ又は他のインジケータとともに）キーワードサービスのためのネットワークロケータを送信することができ、クライアントコンピュータは、コマンドデータからクエリを形成し、このクエリをキーワードサービスに送信して、対応する正しいネットワークロケータを取得することができる。第２の可能性は、ナビゲーションサービスが正しいネットワークロケータを自身で取得し、次にこれをクライアントに提供することである。
【０２２２】
第２の可能性の場合、ナビゲーションサービスは、対応する要求を用いてキーワードサービスとの接触に進むことができる。すなわち、ナビゲーションサービスは、コマンドデータを含む要求、例えば、名前、キーワード及び場合によっては他のデータを含む要求を用いてキーワードサービスと接触することができる。いくつかのキーワードサービスは特定の単語（「例えば、仕事」）のためのものである場合があるので、いくつかの実施形態では、例えば、キーワードサービスが単一のキーワード又は特定のキーワード組のみを扱う場合、ナビゲーションサービスからキーワードサービスへの要求からキーワードを省くことができる。キーワードサービスは、ナビゲーションサービスから要求を受信すると、例えば、ナビゲーションサービスが本明細書において説明したキーワードパラメータを実施するための第１の手法に従うように、すなわち、１つ又は複数のルールのルックアップ動作及び／又は実施によって、対応するネットワークロケータを取得することができる。
【０２２３】
キーワードサービスは、適切なネットワークロケータを取得した後、ナビゲーションサービスの要求に少なくとも２つの方法で応答することができる。第１の方法によれば、キーワードサービスは、ネットワークロケータをナビゲーションサービスに返し、それによって、ナビゲーションサービスはネットワークロケータを用いてクライアントに応答することができる。第２の方法によれば、キーワードサービスはネットワークロケータをクライアントに直接返すことができる。第２の手法の場合、ナビゲーションサービスからキーワードサービスへの要求は、キーワードサービスが、ナビゲーションサービスと更に対話することなくクライアントに応答することができるように、クライアントの識別情報を含むことができる。
【０２２４】
ＩＶ．コンピューティングシステム実施態様
図２０は、本発明による実施形態を実施するのに用いることができる例示的なコンピューティングシステム又はデータ処理システム２０００のブロック図である。他のコンポーネント及び／又は構成も用いることができる。いくつかの実施形態では、コンピューティングシステム２０００を用いて、例えば、スタンドアロンで、又はより大型のナビゲーションサービスシステムの一部として、図１７に示すようにナビゲーションサービス１７８０を実施することができる。様々な実施形態において、コンピューティングシステム２０００を用いて、図１７に示すようにエージェント１７１０を実施することができる。
【０２２５】
コンピューティングシステム２０００は、中央処理ユニット（ＣＰＵ）２００５、メモリ２０１０、入／出力（Ｉ／Ｏ）デバイス２０２５、不揮発性記憶デバイス２０２０等の複数のコンポーネントを備える。システム２０００は様々な方法で実施することができる。例えば、統合プラットフォーム（ワークステーション、サーバ、パーソナルコンピュータ、タブレットコンピュータ、ラップトップ、スマートフォン等）としての実装は、ＣＰＵ２００５、メモリ２０１０、不揮発性ストレージ２０２０及び／又はＩ／Ｏデバイス２０２５を備えることができる。そのような構成では、コンポーネント２００５、２０１０、２０２０及び２０２５は、ローカルデータバスを通じて接続及び通信することができ、外部Ｉ／Ｏ接続を介してデータベース（例えば、別個のデータベースシステムとして実装される）にアクセスすることができる。Ｉ／Ｏコンポーネント２０２５は、直接通信リンク（例えば、配線接続又はローカルｗｉｆｉ接続）を通じて、ローカルエリアネットワーク（ＬＡＮ）若しくは広域ネットワーク（ＷＡＮ）等のネットワークを通じて、及び／又は他の適切な接続を通じて外部デバイスに接続することができる。システム２０００は、スタンドアロンとすることができるか、より大型のシステムのサブシステムとすることができる。
【０２２６】
ＣＰＵ２００５は、カリフォルニア州サンタクララのＩｎｔｅｌ（登録商標）社によって製造されたＸｅｏｎ（登録商標）ファミリーからのマイクロプロセッサ等の１つ又は複数の既知の処理デバイスとすることができる。メモリ２０１０は、本発明の実施形態に関連する一定の機能、方法、動作及びプロセスを実行するためにＣＰＵ２００５によって実行されるか又は他の形で用いられる命令及び方法を記憶するように構成される１つ又は複数の固体記憶デバイス又は媒体とすることができる。ストレージ２０２０は、揮発性又は不揮発性、磁気、半導体、テープ、光、又は他のタイプのストレージデバイス若しくはコンピュータ可読ストレージ媒体とすることができ、長期記憶を意図したＣＤ及びＤＶＤ等のデバイスを含む。
【０２２７】
図示される実施形態では、メモリ２０１０は、ストレージ２０２０又はリモートシステム（図示せず）からロードすることができる１つ又は複数のプログラム又はサブプログラム２０１５を含む。このプログラム又はサブプログラムは、ＣＰＵ２００５によって実行されると、本発明による様々な動作、手順、機能、プロセス又は方法を実行する。代替的に、ＣＰＵ２００５は、システム２０００から遠隔に位置する１つ又は複数のプログラムを実行することができる。例えば、システム２０００はネットワーク２０３５を介して１つ又は複数のリモートプログラムにアクセスすることができる。このリモートプログラムは、実行されると、本発明の実施形態に関連するか又は本発明の実施形態を実施する機能及びプロセスを実行する。
【０２２８】
１つの実施形態では、メモリ２０１０は、上記でナビゲーションサービス１７８０に関して説明した通信、マッピング及びルックアップ機能を実施するプログラム２０１５を含むことができる。別の実施形態では、メモリ２０１０は、上記でナビゲーションサービス１７８０に関して説明した通信、表示、ナビゲーション及び接続機能を実施するプログラム２０１５を含むことができる。また別の実施形態では、メモリ２０１０は、図１８を参照して上記で説明した受信、取得及び提供機能を実行するプログラム２０１５を含むことができる。また別の実施形態では、メモリ２０１０は、図１９を参照して説明した、受信、導出、提供及び取得機能を実行するプログラム２０１５を含むことができる。いくつかの実施形態では、メモリ２０１０は、本発明に対する補助機能を提供する他の方法及びプロセスを実施する他のプログラム又はアプリケーションも含むことができる。例えば、メモリ２０１０は、所有者がエンティティＩＤ又は名前空間のためのエンティティ表現１７２０を構成することができるようにエンティティ所有者又は名前所有者とインタフェースするプログラムを含むことができる。
【０２２９】
メモリ２０１０は、ＣＰＵ２００５によって実行するときに当該技術分野において既知のいくつかの機能を実行する、本発明及び／又はオペレーティングシステム（図示せず）に関連しない他のプログラム（図示せず）を用いて構成することもできる。例として、オペレーティングシステムは、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）、Ｕｎｉｘ（登録商標）、Ｌｉｎｕｘ（登録商標）、Ａｐｐｌｅコンピュータ（登録商標）オペレーティングシステム、又は他のオペレーティングシステムとすることができる。オペレーティングシステムの選択、更にはオペレーティングシステムの使用は本発明にとって重要でない。
【０２３０】
Ｉ／Ｏデバイス２０２５は、データがシステム２０００によって受信及び／又は送信されることを可能にする１つ又は複数の入／出力デバイスを含むことができる。例えば、Ｉ／Ｏデバイス２０２５は、データがユーザ１０５等のユーザから入力されることを可能にする、キーボード、タッチスクリーン、マウス等の１つ又は複数の入力デバイスを含むことができる。更に、Ｉ／Ｏデバイス２０２５は、表示スクリーン、ＣＲＴモニタ、ＬＣＤモニタ、プラズマディスプレイ、プリンタ、スピーカデバイス等の、データがユーザに出力又は提示されることを可能にする１つ又は複数の出力デバイスを含むことができる。Ｉ／Ｏデバイス２０２５は、コンピューティングシステム２０００が、例えばウェブサーバとして動作しているときに、例えば他のマシン及びデバイスとデジタル通信することを可能にする１つ又は複数のデジタル及び／又はアナログ通信入／出力デバイスも含むことができる。他の構成及び／又は数の入力及び／又は出力デバイスもＩ／Ｏデバイス２０２５に組み込むことができる。
【０２３１】
示す実施形態では、システム２０００は、ネットワーク２０３５（インターネット、セルラネットワーク、プライベートネットワーク、バーチャルプライベートネットワーク又は他のネットワーク等）に接続され、このネットワーク２０３５は更に、エージェント１７１０を備えるユーザ１７０５のデスクトップコンピュータ、スマートフォン、タブレットコンピュータ若しくはラップトップコンピュータ、又はナビゲーションサービス１７８０を実装するサーバコンピュータを備える等の様々なシステム及びコンピューティングマシンに接続することができる。通常、システム２０００は、外部マシン及びデバイスからデータを入力し、外部マシン及びデバイスにネットワーク２０３５を介してデータを出力することができる。
【０２３２】
データベース２０３０もシステム２０００と合わせて用いることができる。示す実施形態では、システム２０００の外部のスタンドアロンデータベースを用いることができる。他の実施形態では、データベースはシステム２０００によってホスティングすることができる。データベースを用いて、本発明によるシステム及び方法を実施するのに用いられるデータを管理及び記憶することができる。例えば、データベース２０３０は、システム１７００のエンティティ表現１７２０を含むことができる。一般に、データベース２０３０は、システム２０００を通じてアクセス及び／又は管理される情報を記憶することができる。例として、そのようなデータベースは、Ｏｒａｃｌｅ（登録商標）データベース、Ｓｙｂａｓｅ（登録商標）データベース、又は他のリレーショナルデータベースとすることができる。一方、本発明によるシステム及び方法は、別個のデータ構造若しくはデータベースに限定されず、又は更にはデータベース若しくはデータ構造の使用にも限定されない。
【０２３３】
上記の説明は例示的で説明的なものでしかなく、限定的ではないことが理解される。概して、提示された技法を実行することが可能なシステムは様々な形態をとることができる。構成及び実施態様における更なる変形が可能である。例えば、単数で説明されたリソースは複数であってもよく、統合型として説明されたリソースは分散型であってもよい。複数又は分散型として説明されたリソースは組み合わせてもよい。したがって、提示される技法の範囲は、以下の特許請求の範囲によってのみ限定されることが意図される。
【図１】
2016045965.tif 000004
【図２】
2016045965.tif 000005
【図３】
2016045965.tif 000006
【図４】
2016045965.tif 000007
【図５】
2016045965.tif 000008
【図６】
2016045965.tif 000009
【図７】
2016045965.tif 000010
【図８】
2016045965.tif 000011
【図９】
2016045965.tif 000012
【図１０】
2016045965.tif 000013
【図１１】
2016045965.tif 000014
【図１２】
2016045965.tif 000015
【図１３】
2016045965.tif 000016
【図１４】
2016045965.tif 000017
【図１５】
2016045965.tif 000018
【図１６】
2016045965.tif 000019
【図１７】
2016045965.tif 000020
【図１８】
2016045965.tif 000021
【図１９】
2016045965.tif 000022
【図２０】
2016045965.tif 000023
【図２１】
2016045965.tif 000024
【外国語明細書】
2016045965000001.pdf