JP2016045965A - スマートナビゲーションサービスのためのプロビジョニング - Google Patents
スマートナビゲーションサービスのためのプロビジョニング Download PDFInfo
- Publication number
- JP2016045965A JP2016045965A JP2015165563A JP2015165563A JP2016045965A JP 2016045965 A JP2016045965 A JP 2016045965A JP 2015165563 A JP2015165563 A JP 2015165563A JP 2015165563 A JP2015165563 A JP 2015165563A JP 2016045965 A JP2016045965 A JP 2016045965A
- Authority
- JP
- Japan
- Prior art keywords
- keyword
- data
- service
- name
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
【課題】スマートナビゲーションサービスをプロビジョニングする。【解決手段】プロビジョニングされる情報は、少なくとも1つのネットワークロケータに相関するエンティティ名、キーワード、及び場合によっては他のデータを含む。ナビゲーションサービスは、エンティティ名、キーワード及び用いられる場合、他のデータを、少なくとも1つのネットワークロケータに相関付けるルールをナビゲーションサービス永続性メモリに電子的に記憶する。それによって、このナビゲーションサービスに通信可能に結合されたクライアントコンピュータから、エンティティ名、キーワード及び場合によっては他のデータを含むコマンドデータを受信すると、少なくとも1つのネットワークロケータを用いてクライアントコンピュータに応答する。【選択図】図1
Description
(関連出願の相互参照)
本出願は、2014年8月25日に出願された、「Keyword Services for Smart Navigation」と題する米国特許仮出願第62/041,384号明細書の優先権及び利益を主張する。
本出願は、2014年8月25日に出願された、「Keyword Services for Smart Navigation」と題する米国特許仮出願第62/041,384号明細書の優先権及び利益を主張する。
本出願は、2014年2月10日に出願された、「Smart Navigation Services」と題する係属中の米国特許出願第14/176,723号明細書の一部継続出願であり、この米国特許出願第14/176,723号明細書の優先権及び利益を主張する。
2014年2月10日に出願された、「Smart Navigation Services」と題する米国特許出願第14/176,723号明細書は、2011年3月14日に出願された米国特許仮出願第61/452,516号明細書の利益を主張する、2011年9月30日に出願された、「Methods and Systems for Providing Content Provider−Specified URL Keyword Navigation」と題する係属中の米国特許出願第13/250,864号明細書の一部継続出願であり、この米国特許出願第13/250,864号明細書の優先権及び利益を主張する。米国特許出願第13/250,864号は、2011年3月14日に出願された米国特許仮出願第61/452,516号明細書の利益を主張する。これらの特許文献の開示は、参照によりその全体が本明細書に組み込まれている。
2014年2月10日に出願された、「Smart Navigation Services」と題する米国特許出願第14/176,723号は、2011年9月30日に出願された米国特許出願第13/250,864号明細書の一部継続出願である、2012年9月19日に出願された、「Methods and Systems for Providing Content Provider−Specified URL Keyword Navigation」と題する係属中の米国特許出願第13/622,541号明細書の一部継続出願でもあり、この米国特許出願第13/622,541号明細書の優先権及び利益を主張する。米国特許出願第13/250,864号明細書は、2011年3月14日に出願された米国特許仮出願第61/452,516号明細書の利益を主張する。これらの特許文献の開示は、参照によりその全体が本明細書に組み込まれている。
2014年2月10日に出願された、「Smart Navigation Services」と題する米国特許出願第14/176,723号明細書は、2013年4月7日に出願された、「Desired Resource Navigation」と題する係属中の米国特許仮出願第61/809,377号明細書、2013年4月12日に出願された、「Desired Resource Navigation」と題する係属中の米国特許仮出願第61/811,234号明細書、及び2013年5月7日に出願された、「Smart Navigation in General Name Spaces」と題する係属中の米国特許出願第61/820,391号明細書の利益も主張する。これらの特許文献の開示は、参照によりその全体が本明細書に組み込まれている。
様々な実施形態によれば、名前所有者の代わりに、キーワードサービスによって、ナビゲーションサービスをプロビジョニングする方法が開示される。本方法は、コンピュータネットワークを介して、キーワードと名前所有者に関連付けられたエンティティ名との双方に関連して少なくとも1つのネットワークロケータをナビゲーションサービスにプロビジョニングするための電子認可を受信するステップと、ナビゲーションサービスに、コンピュータネットワークを介して、少なくともキーワード及びエンティティ名を少なくとも1つのネットワークロケータに相関付ける少なくとも1つのルールを提供するステップとを含み、それによって、ナビゲーションサービスは、少なくとも1つのルールをナビゲーションサービス永続性メモリに電子的に記憶し、それによって、ナビゲーションサービスは、このナビゲーションサービスに通信可能に結合されたクライアントコンピュータから、エンティティ名及びキーワードを含むコマンドデータを受信すると、少なくとも1つのネットワークロケータを用いてクライアントコンピュータに応答する。
上記の実施形態の様々な任意選択の特徴は以下を含む。電子認可を受信するステップは、名前所有者又はキーワードサービスから電子認可を受信するステップを含むことができる。少なくとも1つのネットワークロケータはユニフォームリソースロケータ(URL)を含むことができる。ナビゲーションサービスはドメイン名システム(DNS)サービスでない場合がある。本方法は、名前所有者に、キーワード及びエンティティ名の双方に関連して少なくとも1つのネットワークロケータをプロビジョニングすることを要請するステップを含むことができ、要請するステップは、コンピュータネットワークを介して名前所有者に電子メッセージを送信するステップを含む。電子メッセージは、推奨されるネットワークロケータを含むことができる。本方法は、コンピュータネットワークを介して、キーワード及びそれぞれのエンティティ名に関連してそれぞれの少なくとも1つのネットワークロケータをプロビジョニングするための、それぞれの名前所有者の複数の電子認可を受信するステップと、コンピュータネットワークを介してナビゲーションサービスに、キーワード及びそれぞれのエンティティ名をそれぞれの少なくとも1つのネットワークロケータに相関付けるそれぞれの少なくとも1つのルールを提供するステップとを含むことができる。コマンドデータは、クライアントコンピュータに提供されるコマンド文字列から導出することができる。コマンド文字列は、名前部分及びキーワード部分からなり、名前部分は名前及び名前に隣接する名前空間識別子を含み、キーワード部分はキーワードを含む。キーワード部分は、キーワードに隣接するキーワードデリミタを更に含むことができ、キーワードデリミタは、#、!、「.」、$及び|からなる群から選択され、名前空間識別子は、@、fb、in及び「.」からなる群から選択される。本方法は、提供と引き換えに、名前所有者から金銭的な補償を受けることを含むことができる。少なくとも1つのルールは、キーワード、エンティティ名及び他のデータを少なくとも1つのネットワークロケータに相関付けることができ、それによって、ナビゲーションサービスは、少なくとも1つのルールを永続性メモリに電子的に記憶し、それによって、ナビゲーションサービスは、クライアントコンピュータから、エンティティ名、キーワード及び他のデータを含むコマンドデータを受信すると、少なくとも1つのネットワークロケータを用いてクライアントコンピュータに応答する。他のデータはジオロケーションデータを含むことができる。他のデータは、言語を特定するデータを含むことができる。少なくとも1つのルールはデータベースクエリを指定することができる。
様々な実施形態によれば、名前所有者の代わりに、キーワードサービスによって、ナビゲーションサービスがプロビジョニングされる方法が開示される。本方法は、コンピュータネットワークを介して、キーワードと名前所有者に関連付けられたエンティティ名との双方に関連して少なくとも1つのネットワークロケータをナビゲーションサービスにプロビジョニングするための電子認可を受信するステップと、ナビゲーションサービスによって、キーワードサービスから、コンピュータネットワークを介して、少なくともキーワード及びエンティティ名を少なくとも1つのネットワークロケータに相関付ける少なくとも1つのルールを受信するステップと、少なくとも1つのルールをナビゲーションサービス永続性メモリに電子的に記憶するステップと、ナビゲーションサービスに通信可能に接続されたクライアントコンピュータから、コンピュータネットワークを介して、エンティティ名及びキーワードを含むコマンドデータを受信するステップと、少なくとも1つのルールをコマンドデータに適用して、少なくとも1つのネットワークロケータを取得するステップと、コンピュータネットワークを介して、少なくともネットワークロケータをクライアントコンピュータに提供するステップと、を含む。
上記の実施形態の様々な任意選択の特徴は以下を含む。電子認可を受信するステップは、名前所有者又はキーワードサービスから電子認可を受信するステップを含むことができる。少なくとも1つのネットワークロケータはユニフォームリソースロケータ(URL)を含むことができる。ナビゲーションサービスはドメイン名システム(DNS)サービスでない場合がある。本方法は、名前所有者に、ナビゲーションサービスをプロビジョニングするキーワードサービスを認可することを要請するステップを含むことができる。要請するステップは、コンピュータネットワークを介して名前所有者に電子メッセージを送信するステップを含むことができる。本方法は、コンピュータネットワークを介して、キーワード及びそれぞれのエンティティ名に関連してそれぞれの少なくとも1つのネットワークロケータをプロビジョニングするための、それぞれの名前所有者の複数の電子認可を受信するステップと、ナビゲーションサービスによって、キーワードサービスから、コンピュータネットワークを介して、キーワード及びそれぞれのエンティティ名をそれぞれの少なくとも1つのネットワークロケータに相関付けるそれぞれの少なくとも1つのルールを受信するステップと、を含むことができる。コマンドデータは、クライアントコンピュータに提供されるコマンド文字列から導出することができる。コマンド文字列は、名前部分及びキーワード部分からなり、名前部分は名前及び名前に隣接する名前空間識別子を含み、キーワード部分はキーワードを含む。キーワード部分は、キーワードに隣接するキーワードデリミタを更に含むことができ、キーワードデリミタは、#、!、「.」、$及び|からなる群から選択され、名前空間識別子は、@、fb、in及び「.」からなる群から選択される。本方法は、電子的関連付けの受信について、キーワードサービスに金銭的な補償を提供することを含むことができる。本方法は、少なくとも1つの例示的なネットワークロケータを例示的なキーワード及びエンティティ名に相関付ける少なくとも1つのルールをナビゲーションサービス永続性メモリに電子的に記憶するステップを含むことができる。本方法は、名前所有者に電子インタフェースを提供するステップと、名前所有者から、コンピュータネットワークを介して、及び電子インタフェースを通じて、追加の少なくとも1つのネットワークロケータ、追加のキーワード及びエンティティ名の電子的関連付けを受信するステップと、追加のキーワード及びエンティティ名を少なくとも1つのネットワークロケータに相関付ける追加の少なくとも1つのルールをナビゲーションサービス永続性メモリに電子的に記憶するステップとを含むことができる。少なくともキーワード及びエンティティ名を少なくとも1つのネットワークロケータに相関付ける少なくとも1つの規則は、キーワード、エンティティ名及び他のデータを少なくとも1つのネットワークロケータに相関付けることができ、コマンドデータを受信するステップは、エンティティ名、キーワード及び他のデータを含むコマンドデータを受信するステップを含むことができる。他のデータはジオロケーションデータを含むことができる。他のデータは、言語を特定するデータを含むことができる。少なくとも1つのルールはデータベースクエリを指定することができる。
様々な実施形態によれば、ナビゲーションサービスがプロビジョニングされる方法が開示される。本方法は、コンピュータネットワークを介して、キーワードと、名前所有者に関連付けられたエンティティ名と、他のデータとに関連して少なくとも1つのネットワークロケータをナビゲーションサービスにプロビジョニングするための電子認可を受信するステップと、少なくとも1つのネットワークロケータと、キーワードと、他のデータとを取得するステップと、少なくともエンティティ名、キーワード及び他のデータを少なくとも1つのネットワークロケータに相関付ける少なくとも1つのルールをナビゲーションサービス永続性メモリに電子的に記憶するステップと、ナビゲーションサービスに通信可能に結合されたクライアントコンピュータから、コンピュータネットワークを介して、エンティティ名、キーワード及び他のデータを含むコマンドデータを受信するステップと、少なくとも1つのルールをコマンドデータに適用して、少なくとも1つのネットワークロケータを取得するステップと、コンピュータネットワークを介して、クライアントコンピュータに少なくともネットワークロケータを提供するステップと、を含む。
上記の実施形態の様々な任意選択の特徴は以下を含む。取得するステップは、生成するステップを含むことができる。本方法は、電子インタフェースを名前所有者に提供するステップを含むことができ、取得するステップは、名前所有者から、コンピュータネットワークを介して、及び電子インタフェースを通じて、少なくとも1つのネットワークロケータ、キーワード及び他のデータを取得するステップを含むことができる。他のデータはジオロケーションデータを含むことができる。他のデータは、言語を特定するデータを含むことができる。電子認可を受信するステップは、名前所有者から電子認可を受信するステップを含むことができる。少なくとも1つのネットワークロケータはユニフォームリソースロケータ(URL)を含むことができる。ナビゲーションサービスはドメイン名システム(DNS)サービスでない。本方法は、コンピュータネットワークを介して、キーワード、それぞれのエンティティ名及びそれぞれの他のデータに関連してそれぞれの少なくとも1つのネットワークロケータをプロビジョニングするための、それぞれの名前所有者の複数の電子認可を受信するステップと、キーワード、それぞれのエンティティ名及びそれぞれの他のデータをそれぞれの少なくとも1つのネットワークロケータに相関付けるそれぞれの少なくとも1つのルールをナビゲーションサービス永続性メモリに電子的に記憶するステップとを含むことができる。コマンドデータは、クライアントコンピュータに提供されるコマンド文字列から導出することができる。コマンド文字列は、名前部分及びキーワード部分からなり、名前部分は、エンティティ名及びエンティティ名に隣接する名前空間識別子を含み、キーワード部分はキーワードを含む。キーワード部分は、キーワードに隣接するキーワードデリミタを更に含むことができ、キーワードデリミタは、#、!、「.」、$及び|からなる群から選択され、名前空間識別子は、@、fb、in及び「.」からなる群から選択される。他のデータは、ユーザインタフェースを通じてクライアントコンピュータに提供することができ、コマンドデータは他のデータから更に導出される。本方法は、ナビゲーションサービス永続性メモリ内に例示的なキーワード及びエンティティ名に関連する少なくとも1つの例示的なネットワークロケータを電子的に記憶するステップを含むことができる。少なくとも1つの規則はデータベースクエリを指定することができる。
様々な実施形態によれば、キーワードサービス及びナビゲーションサービスをプロビジョニングする方法が開示される。本方法は、コンピュータネットワークを介して、キーワードと、名前所有者に関連付けられたエンティティ名と、他のデータとに関連して少なくとも1つのネットワークロケータをキーワードサービスにプロビジョニングするための電子認可を受信するステップと、少なくともエンティティ名及び他のデータを少なくとも1つのネットワークロケータに相関付ける少なくとも1つのルールをキーワードサービス永続性メモリに電子的に記憶するステップと、コンピュータネットワークを介して、ナビゲーションサービスに、キーワードサービスのためのネットワークロケータを提供するステップと、コンピュータネットワークを介して、キーワードサービスのためのネットワークロケータにおいて、エンティティ名及び他のデータを含むコマンドデータを受信するステップと、コンピュータネットワークを介して、少なくとも1つのネットワークロケータを含む情報を用いてコマンドデータに応答するステップと、を含むことができる。
上記の実施形態の様々な任意選択の特徴は以下を含む。他のデータはジオロケーションデータを含むことができる。他のデータは、言語を特定するデータを含むことができる。コマンドデータを受信するステップは、ナビゲーションサービスからコマンドデータを受信するステップを含むことができ、コマンドデータに応答するステップは、ナビゲーションサービスに応答するステップを含むことができる。コマンドデータを受信するステップは、クライアントコンピュータからコマンドデータを受信するステップを含むことができ、コマンドデータに応答するステップは、クライアントコンピュータに応答するステップを含むことができ、それによって、ナビゲーションサービスは、キーワードサービスのためのネットワークロケータをクライアントコンピュータに提供する。コマンドデータを受信するステップは、コマンドデータ及びクライアントコンピュータ識別子をナビゲーションサービスから受信するステップを含むことができ、コマンドデータに応答するステップは、クライアントコンピュータに応答するステップを含むことができる。コマンドデータは、クライアントコンピュータに提供されるコマンド文字列から導出することができ、コマンド文字列は、名前部分及びキーワード部分からなり、名前部分は、名前及び名前に隣接する名前空間識別子を含み、キーワード部分はキーワードを含む。キーワード部分は、キーワードに隣接するキーワードデリミタを更に含むことができ、キーワードデリミタは、#、!、「.」、$及び|からなる群から選択され、名前空間識別子は、@、fb、in及び「.」からなる群から選択される。他のデータは、ユーザインタフェースを通じてクライアントコンピュータに提供することができ、コマンドデータは他のデータから更に導出される。電子認可を受信するステップは、名前所有者又はナビゲーションサービスから電子認可を受信するステップを含むことができる。少なくとも1つのネットワークロケータはユニフォームリソースロケータ(URL)を含むことができる。ナビゲーションサービスはドメイン名システム(DNS)サービスでない場合がある。本方法は、名前所有者に、キーワード及びエンティティ名に関連して少なくとも1つのネットワークロケータをプロビジョニングすることを要請するステップを含むことができ、要請するステップは、コンピュータネットワークを介して名前所有者に電子メッセージを送信するステップを含む。電子メッセージは、推奨されるネットワークロケータを含むことができる。本方法は、コンピュータネットワークを介して、キーワード及びそれぞれのエンティティ名に関連してそれぞれの少なくとも1つのネットワークロケータをプロビジョニングするための、それぞれの名前所有者の複数の電子認可を受信するステップと、少なくともそれぞれのエンティティ名をそれぞれの少なくとも1つのネットワークロケータに相関付けるそれぞれの少なくとも1つのルールをキーワードサービス永続性メモリに電子的に記憶するステップとを含むことができる。少なくとも1つのルールはデータベースクエリを指定することができる。エンティティ名及び他のデータを少なくとも1つのネットワークロケータに相関付ける少なくとも1つのルールは、キーワード、エンティティ名及び他のデータを少なくとも1つのネットワークロケータに相関付けることができ、コマンドデータはキーワードを更に含むことができる。
様々な実施形態によれば、ナビゲーションサービスをプロビジョニングする方法が開示される。本方法は、コンピュータネットワークを介して、キーワードと、名前所有者に関連付けられたエンティティ名と、他のデータとを含むコマンドデータを解決して、キーワードサービスを用いて少なくとも1つのネットワークロケータに変換するための電子認可を受信するステップであって、それによって、キーワードサービスは、少なくともエンティティ名及び他のデータを少なくとも1つのネットワークロケータに相関付ける少なくとも1つのルールをキーワードサービス永続性メモリに記憶するステップと、キーワードサービスのためのネットワークロケータを取得するステップと、コンピュータネットワークを介して、クライアントコンピュータから、エンティティ名及び他のデータを含むコマンドデータを受信するステップと、コンピュータネットワークを介して、コマンドデータへの応答を提供するステップであって、それによって、クライアントコンピュータは少なくとも1つのネットワークロケータを取得するステップと、を含む。
上記の実施形態の様々な任意選択の特徴は以下を含む。クライアントコンピュータは、ナビゲーションサービスから少なくとも1つのネットワークロケータを取得することができる。ここで、本方法は、コンピュータネットワークを介して、キーワードサービスに、少なくともエンティティ名及び他のデータを提供するステップであって、それによって、キーワードサービスは、少なくともエンティティ名及び他のデータを少なくとも1つのネットワークロケータに相関付けるステップと、コンピュータネットワークを介して、キーワードサービスから、少なくとも1つのネットワークロケータを取得するステップとを更に含むことができる。ここで、コンピュータネットワークを介して、コマンドデータへの応答を提供するステップは、少なくとも1つのネットワークロケータをクライアントコンピュータに提供するステップを含む。クライアントコンピュータはキーワードサービスから少なくとも1つのネットワークロケータを取得することができる。ここで、本方法は、エンティティ名及びキーワードを、キーワードサービスのためのネットワークロケータに相関付けるステップを更に含むことができ、コンピュータネットワークを介して、コマンドデータへの応答を提供するステップは、キーワードサービスのためのネットワークロケータをクライアントコンピュータに提供するステップを含み、それによって、クライアントコンピュータは、少なくともエンティティ名及び他のデータをキーワードサービスに提供し、それによって、キーワードサービスはエンティティ名及び他のデータを少なくとも1つのネットワークロケータに相関付け、それによって、クライアントコンピュータは少なくとも1つのネットワークロケータをキーワードサービスから受信する。クライアントは、少なくとも1つのネットワークロケータをキーワードサービスから取得することができる。ここで、コンピュータネットワークを介して、コマンドデータへの応答を提供するステップは、エンティティ名と、他のデータと、クライアントコンピュータの識別子とをキーワードサービスに提供するステップを含み、それによって、キーワードサービスは、少なくともエンティティ名及び他のデータを少なくとも1つのネットワークロケータに相関付け、少なくとも1つのネットワークロケータをクライアントコンピュータの識別子を用いてクライアントコンピュータに提供する。他のデータはジオロケーションデータを含むことができる。他のデータは、言語を特定するデータを含むことができる。コマンドデータは、クライアントコンピュータに提供されるコマンド文字列から導出することができ、コマンド文字列は、名前部分及びキーワード部分からなり、名前部分は、名前及び名前に隣接する名前空間識別子を含み、キーワード部分はキーワードを含む。キーワード部分は、キーワードに隣接するキーワードデリミタを更に含むことができ、キーワードデリミタは、#、!、「.」、$及び|からなる群から選択され、名前空間識別子は、@、fb、in及び「.」からなる群から選択される。他のデータはユーザインタフェースを通じてクライアントコンピュータに提供することができ、コマンドデータは他のデータから更に導出される。電子認可を受信するステップは、名前所有者又はキーワードサービスから電子認可を受信するステップを含むことができる。少なくとも1つのネットワークロケータはユニフォームリソースロケータ(URL)を含むことができる。ナビゲーションサービスは、ドメイン名システム(DNS)サービスでない場合がある。本方法は、例示的なキーワード及びエンティティ名を少なくとも1つの例示的なネットワークロケータに相関付ける少なくとも1つのルールをナビゲーションサービス永続性メモリに電子的に記憶するステップを更に含むことができる。少なくとも1つのルールはデータベースクエリを指定することができる。少なくともエンティティ名及び他のデータを少なくとも1つのネットワークロケータに相関付ける少なくとも1つのルールは、キーワード、エンティティ名及び他のデータを少なくとも1つのネットワークロケータに相関付け、コマンドデータはキーワードを更に含む。
様々な実施形態によれば、名前所有者の代わりに、キーワードサービスによって、ナビゲーションサービスをプロビジョニングするためのシステムが開示される。システムは、コンピュータネットワークに通信可能に結合された少なくとも1つのキーワードサービスサーバを備え、このキーワードサービスサーバは、コンピュータネットワークを介して、キーワードと名前所有者に関連付けられたエンティティ名との双方に関連して少なくとも1つのネットワークロケータをナビゲーションサービスにプロビジョニングするための電子認可を受信し、コンピュータネットワークを介して、少なくともキーワード及びエンティティ名を少なくとも1つのネットワークロケータに相関付ける少なくとも1つのルールを、ナビゲーションサービスの少なくとの1つのナビゲーションサービスサーバコンピュータに提供するように構成され、それによって、ナビゲーションサービスは、少なくとも1つのルールをナビゲーションサービス永続性メモリに電子的に記憶し、それによって、ナビゲーションサービスは、このナビゲーションサービスに通信可能に結合されたクライアントコンピュータから、エンティティ名及びキーワードを含むコマンドデータを受信すると、少なくとも1つのネットワークロケータを用いてクライアントコンピュータに応答する。
上記の実施形態の様々な任意選択の特徴は以下を含む。電子認可は、名前所有者又はキーワードサービスから送信することができる。少なくとも1つのネットワークロケータはユニフォームリソースロケータ(URL)を含むことができる。ナビゲーションサービスはドメイン名システム(DNS)サービスでない場合がある。キーワードサービスは、コンピュータネットワークを介して名前所有者に電子メッセージを送信することによって、名前所有者に、キーワード及びエンティティ名の双方に関連して少なくとも1つのネットワークロケータをプロビジョニングすることを要請するように更に構成することができる。電子メッセージは、推奨されるネットワークロケータを含むことができる。少なくとも1つのキーワードサービスサーバコンピュータは、コンピュータネットワークを介して、キーワード及びそれぞれのエンティティ名に関連してそれぞれの少なくとも1つのネットワークロケータをプロビジョニングするための、それぞれの名前所有者の複数の電子認可を受信し、コンピュータネットワークを介してナビゲーションサービスに、キーワード及びそれぞれのエンティティ名をそれぞれの少なくとも1つのネットワークロケータに相関付けるそれぞれの少なくとも1つのルールを提供するように更に構成することができる。コマンドデータは、クライアントコンピュータに提供されるコマンド文字列から導出することができる。コマンド文字列は、名前部分及びキーワード部分からなり、名前部分は名前及び名前に隣接する名前空間識別子を含み、キーワード部分はキーワードを含む。キーワード部分は、キーワードに隣接するキーワードデリミタを更に含むことができ、キーワードデリミタは、#、!、「.」、$及び|からなる群から選択され、名前空間識別子は、@、fb、in及び「.」からなる群から選択される。キーワードサービスは、少なくとの1つのルールを提供することと引き換えに、名前所有者から金銭的な補償を受けることができる。少なくとも1つのルールは、キーワード、エンティティ名及び他のデータを少なくとも1つのネットワークロケータに相関付けることができ、それによって、ナビゲーションサービスは、少なくとも1つのルールをナビゲーションサービス永続性メモリに電子的に記憶し、それによって、ナビゲーションサービスは、クライアントコンピュータから、エンティティ名、キーワード及び他のデータを含むコマンドデータを受信すると、少なくとも1つのネットワークロケータを用いてクライアントコンピュータに応答する。他のデータはジオロケーションデータを含むことができる。他のデータは、言語を特定するデータを含むことができる。少なくとも1つのルールはデータベースクエリを指定することができる。
様々な実施形態によれば、名前所有者の代わりに、キーワードサービスによって、ナビゲーションサービスがプロビジョニングされるためのシステムが開示される。システムは、コンピュータネットワークに通信可能に接続される少なくとも1つのナビゲーションサービスサーバコンピュータを備える。このナビゲーションサービスサーバコンピュータは、コンピュータネットワークを介して、キーワードと名前所有者に関連付けられたエンティティ名との双方に関連して少なくとも1つのネットワークロケータをナビゲーションサービスにプロビジョニングするための電子認可を受信し、ナビゲーションサービスによって、キーワードサービスから、コンピュータネットワークを介して、少なくともキーワード及びエンティティ名を少なくとも1つのネットワークロケータに相関付ける少なくとも1つのルールを受信し、少なくとも1つのルールをナビゲーションサービス永続性メモリに電子的に記憶し、ナビゲーションサービスに通信可能に結合されたクライアントコンピュータから、コンピュータネットワークを介して、エンティティ名及びキーワードを含むコマンドデータを受信し、少なくとも1つのルールをコマンドデータに適用して、少なくとも1つのネットワークロケータを取得し、コンピュータネットワークを介して、少なくとも1つのネットワークロケータをクライアントコンピュータに提供するように構成される。
上記の実施形態の様々な任意選択の特徴は以下を含む。少なくとも1つのナビゲーションサービスサーバコンピュータは、名前所有者又はキーワードサービスから電子認可を受信することができる。少なくとも1つのネットワークロケータはユニフォームリソースロケータ(URL)を含むことができる。ナビゲーションサービスはドメイン名システム(DNS)サービスでない場合がある。少なくとも1つのナビゲーションサービスサーバコンピュータは、名前所有者に、ナビゲーションサービスをプロビジョニングするキーワードサービスを認可することを要請するように構成することができる。少なくとも1つのナビゲーションサービスサーバコンピュータは、コンピュータネットワークを介して名前所有者に電子メッセージを送信することによって名前所有者に要請することができる。少なくとも1つのナビゲーションサービスサーバコンピュータは、コンピュータネットワークを介して、キーワード及びそれぞれのエンティティ名に関連してそれぞれの少なくとも1つのネットワークロケータをプロビジョニングするための、それぞれの名前所有者の複数の電子認可を受信し、キーワードサービスから、コンピュータネットワークを介して、キーワード及びそれぞれのエンティティ名をそれぞれの少なくとも1つのネットワークロケータに相関付けるそれぞれの少なくとも1つのルールを受信するように構成することができる。コマンドデータは、クライアントコンピュータに提供されるコマンド文字列から導出することができる。コマンド文字列は、名前部分及びキーワード部分からなり、名前部分は名前及び名前に隣接する名前空間識別子を含み、キーワード部分はキーワードを含む。キーワード部分は、キーワードに隣接するキーワードデリミタを更に含むことができ、キーワードデリミタは、#、!、「.」、$及び|からなる群から選択され、名前空間識別子は、@、fb、in及び「.」からなる群から選択される。ナビゲーションサービスは、電子的関連付けの受信について、キーワードサービスに金銭的な補償を提供することができる。システムは、少なくとも1つの例示的なネットワークロケータを例示的なキーワード及びエンティティ名に相関付ける少なくとも1つのルールを記憶するナビゲーションサービス永続性メモリを備えることができる。システムは、名前所有者によってアクセス可能な電子インタフェースを更に備え、この電子インタフェースは、名前所有者から、コンピュータネットワークを介して、及びこの電子インタフェースを通じて、追加の少なくとも1つのネットワークロケータ、追加のキーワード及びエンティティ名の電子的関連付けを受信するように構成される。ここで、ナビゲーションサービス永続性メモリは、追加のキーワード及びエンティティ名を少なくとも1つのネットワークロケータに相関付ける追加の少なくとも1つのルールを記憶するように構成される。少なくとも1つの規則は、キーワード及びエンティティ名及び他のデータを少なくとも1つのネットワークロケータに相関付けることができ、コマンドデータはエンティティ名、キーワード及び他のデータを含むことができる。他のデータはジオロケーションデータを含むことができる。他のデータは、言語を特定するデータを含むことができる。少なくとも1つのルールはデータベースクエリを指定することができる。
様々な実施形態によれば、ナビゲーションサービスをプロビジョニングするためのシステムが開示される。システムは少なくとも1つのナビゲーションサービスサーバコンピュータを備え、このナビゲーションサービスサーバコンピュータは、コンピュータネットワークを介して、キーワードと、名前所有者に関連付けられたエンティティ名と、他のデータとに関連して少なくとも1つのネットワークロケータをキーワードサービスにプロビジョニングするための電子認可を受信し、少なくとも1つのネットワークロケータと、キーワードと、他のデータとを取得し、少なくともエンティティ名、キーワード及び他のデータを少なくとも1つのネットワークロケータに相関付ける少なくとも1つのルールをナビゲーションサービス永続性メモリに電子的に記憶し、ナビゲーションサービスに通信可能に結合されたクライアントコンピュータから、コンピュータネットワークを介して、エンティティ名、キーワード及び他のデータを含むコマンドデータを受信し、少なくとも1つのルールをコマンドデータに適用して、少なくとも1つのネットワークロケータを取得し、コンピュータネットワークを介して、クライアントコンピュータに少なくともネットワークロケータを提供するように構成される。
上記の実施形態の様々な任意選択の特徴は以下を含む。少なくとも1つのナビゲーションサービスサーバコンピュータは、少なくとも1つのネットワークロケータ、キーワード及び他のデータを生成することによって、少なくとも1つのネットワークロケータ、キーワード及び他のデータを取得することができる。システムは、名前所有者によってアクセス可能な電子インタフェースを更に備えることができ、少なくとも1つのナビゲーションサービスサーバコンピュータは、名前所有者から、コンピュータネットワークを介して、及び電子インタフェースを通じて、少なくとも1つのネットワークロケータ、キーワード及び他のデータを取得する。他のデータはジオロケーションデータを含むことができる。他のデータは、言語を特定するデータを含むことができる。少なくとも1つのナビゲーションサービスサーバコンピュータは、名前所有者から電子認可を受信することができる。少なくとも1つのネットワークロケータはユニフォームリソースロケータ(URL)を含むことができる。ナビゲーションサービスはドメイン名システム(DNS)サービスでない場合がある。少なくとも1つのナビゲーションサービスサーバコンピュータは、コンピュータネットワークを介して、キーワード、それぞれのエンティティ名及びそれぞれの他のデータに関連してそれぞれの少なくとも1つのネットワークロケータをプロビジョニングするための、それぞれの名前所有者の複数の電子認可を受信し、キーワード、それぞれのエンティティ名及びそれぞれの他のデータをそれぞれの少なくとも1つのネットワークロケータに相関付けるそれぞれの少なくとも1つのルールをナビゲーションサービス永続性メモリに電子的に記憶するように更に構成することができる。コマンドデータは、クライアントコンピュータに提供されるコマンド文字列から導出することができる。コマンド文字列は、名前部分及びキーワード部分からなり、名前部分は、エンティティ名及びエンティティ名に隣接する名前空間識別子を含み、キーワード部分はキーワードを含む。キーワード部分は、キーワードに隣接するキーワードデリミタを更に含むことができ、キーワードデリミタは、#、!、「.」、$及び|からなる群から選択され、名前空間識別子は、@、fb、in及び「.」からなる群から選択される。他のデータは、ユーザインタフェースを通じてクライアントコンピュータに提供することができ、コマンドデータは他のデータから更に導出することができる。ナビゲーションサービス永続性メモリは、例示的なキーワード及びエンティティ名に関連して少なくとも1つの例示的なネットワークロケータを電子的に記憶することができる。少なくとも1つの規則はデータベースクエリを指定することができる。
様々な実施形態によれば、キーワードサービス及びナビゲーションサービスをプロビジョニングするためのシステムが開示される。システムは、コンピュータネットワークに通信可能に結合された少なくとも1つのキーワードサービスサーバコンピュータを備え、このキーワードサービスサーバコンピュータは、コンピュータネットワークを介して、キーワードと、名前所有者に関連付けられたエンティティ名と、他のデータとに関連して少なくとも1つのネットワークロケータをキーワードサービスにプロビジョニングするための電子認可を受信し、少なくともエンティティ名及び他のデータを少なくとも1つのネットワークロケータに相関付ける少なくとも1つのルールをキーワードサービス永続性メモリに電子的に記憶し、コンピュータネットワークを介して、ナビゲーションサービスに、キーワードサービスのためのネットワークロケータを提供し、コンピュータネットワークを介して、キーワードサービスのためのネットワークロケータにおいて、エンティティ名及び他のデータを含むコマンドデータを受信し、コンピュータネットワークを介して、少なくとも1つのネットワークロケータを含む情報を用いてコマンドデータに応答するように構成される。
上記の実施形態の様々な任意選択の特徴は以下を含む。他のデータは、ジオロケーションデータを含むことができる。他のデータは、言語を特定するデータを含むことができる。少なくとも1つのキーワードサービスサーバコンピュータは、ナビゲーションサービスサービスからコマンドデータを受信することができ、少なくとも1つのキーワードサービスサーバコンピュータは、少なくとも1つのネットワークロケータを含む情報を用いてナビゲーションサービスに応答することによってコマンドデータに応答することができる。少なくとも1つのキーワードサービスサーバコンピュータは、クライアントコンピュータからコマンドデータを受信することができ、少なくとも1つのキーワードサービスサーバコンピュータは、少なくとも1つのネットワークロケータを含む情報を用いてクライアントコンピュータに応答することによってコマンドデータに応答することができ、それによって、ナビゲーションサービスは、キーワードサービスのためのネットワークロケータをクライアントコンピュータに提供する。少なくとも1つのキーワードサービスサーバコンピュータは、コマンドデータ及びクライアントコンピュータ識別子をナビゲーションサービスから受信することができ、少なくとも1つのネットワークロケータを含む情報を用いてクライアントコンピュータに応答することによってコマンドデータに応答することができる。コマンドデータは、クライアントコンピュータに提供されるコマンド文字列から導出することができ、コマンド文字列は、名前部分及びキーワード部分からなり、名前部分は、名前及び名前に隣接する名前空間識別子を含み、キーワード部分はキーワードを含む。キーワード部分は、キーワードに隣接するキーワードデリミタを更に含むことができ、キーワードデリミタは、#、!、「.」、$及び|からなる群から選択され、名前空間識別子は、@、fb、in及び「.」からなる群から選択される。他のデータは、ユーザインタフェースを通じてクライアントコンピュータに提供することができ、コマンドデータは他のデータから更に導出される。少なくとも1つのキーワードサービスサーバコンピュータは、名前所有者又はナビゲーションサービスから電子認可を受信することによって電子認可を受信することができる。少なくとも1つのネットワークロケータはユニフォームリソースロケータ(URL)を含むことができる。ナビゲーションサービスはドメイン名システム(DNS)サービスでない場合がある。少なくとも1つのキーワードサービスサーバコンピュータは、コンピュータネットワークを介して名前所有者に電子メッセージを送信することによって、名前所有者に、キーワード及びエンティティ名に関連付けて少なくとも1つのネットワークロケータをプロビジョニングすることを要請するように更に構成することができる。電子メッセージは、推奨されるネットワークロケータを含むことができる。キーワードサービスは、コンピュータネットワークを介して、キーワード及びそれぞれのエンティティ名に関連してそれぞれの少なくとも1つのネットワークロケータをプロビジョニングするための、それぞれの名前所有者の複数の電子認可を受信し、少なくともそれぞれのエンティティ名をそれぞれの少なくとも1つのネットワークロケータに相関付けるそれぞれの少なくとも1つのルールをキーワードサービス永続性メモリに電子的に記憶するように更に構成することができる。少なくとも1つのルールはデータベースクエリを指定することができる。エンティティ名及び他のデータを少なくとも1つのネットワークロケータに相関付ける少なくとも1つのルールは、キーワード、エンティティ名及び他のデータを少なくとも1つのネットワークロケータに相関付けることができ、コマンドデータはキーワードを更に含むことができる。
様々な実施形態によれば、ナビゲーションサービスをプロビジョニングするためのシステムが開示される。システムは、コンピュータネットワークに通信可能に結合され、コンピュータネットワークを介して、キーワードと、名前所有者に関連付けられたエンティティ名と、他のデータとを含むコマンドデータを解決して、少なくとも1つのキーワードサービスサーバコンピュータを備えるキーワードサービスを用いて少なくとも1つのネットワークロケータに変換するための電子認可を受信するように構成される少なくとも1つのナビゲーションサービスサーバコンピュータであって、それによってキーワードサービスは、少なくともエンティティ名及び他のデータを少なくとも1つのネットワークロケータに相関付ける少なくとも1つのルールをキーワードサービス永続性メモリに記憶する、少なくとも1つのナビゲーションサービスサーバコンピュータと、キーワードサービスのためのネットワークロケータを記憶するように構成される電子メモリとを備え、少なくとも1つのナビゲーションサービスサーバコンピュータは、コンピュータネットワークを介して、クライアントコンピュータから、エンティティ名及び他のデータを含むコマンドデータを受信し、コンピュータネットワークを介して、コマンドデータへの応答を提供するように更に構成され、それによって、クライアントコンピュータは少なくとも1つのネットワークロケータを取得する。
上記の実施形態の様々な任意選択の機能は以下を含む。クライアントコンピュータは、ナビゲーションサービスから少なくとも1つのネットワークロケータを取得することができ、少なくとも1つのナビゲーションサービスサーバコンピュータは、コンピュータネットワークを介して、キーワードサービスに、少なくともエンティティ名及び他のデータを提供し、それによって、キーワードサービスがエンティティ名及び他のデータを少なくとも1つのネットワークロケータに相関付けるようにし、コンピュータネットワークを介して、キーワードサービスから、少なくとも1つのネットワークロケータを取得するように更に構成することができる。ここで、少なくとも1つのナビゲーションサービスサーバコンピュータは、少なくとも1つのネットワークロケータをクライアントコンピュータに提供することによって、コンピュータネットワークを介して、コマンドデータへの応答を提供するように更に構成される。クライアントコンピュータはキーワードサービスから少なくとも1つのネットワークロケータを取得することができ、少なくとも1つのナビゲーションサービスサーバコンピュータは、エンティティ名及びキーワードを、キーワードサービスのためのネットワークロケータに相関付けるように更に構成することができ、少なくとも1つのナビゲーションサービスサーバコンピュータは、キーワードサービスのためのネットワークロケータをクライアントコンピュータに提供することによって、コンピュータネットワークを介して、コマンドデータへの応答を提供するように更に構成され、それによって、クライアントコンピュータは、少なくともエンティティ名及び他のデータをキーワードサービスに提供し、それによって、キーワードサービスはエンティティ名及び他のデータを少なくとも1つのネットワークロケータに相関付け、それによって、クライアントコンピュータは少なくとも1つのネットワークロケータをキーワードサービスから受信する。クライアントは、少なくとも1つのネットワークロケータをキーワードサービスから取得することができ、ここで、少なくとも1つのナビゲーションサービスサーバコンピュータは、少なくともエンティティ名と、他のデータと、クライアントコンピュータの識別子とをキーワードサービスに提供することによって、コンピュータネットワークを介してコマンドデータへの応答を提供するように更に構成することができ、それによって、キーワードサービスは、少なくともエンティティ名及び他のデータを少なくとも1つのネットワークロケータに相関付け、少なくとも1つのネットワークロケータをクライアントコンピュータの識別子を用いてクライアントコンピュータに提供する。他のデータはジオロケーションデータを含むことができる。他のデータは、言語を特定するデータを含むことができる。コマンドデータは、クライアントコンピュータに提供されるコマンド文字列から導出することができ、コマンド文字列は、名前部分及びキーワード部分からなり、名前部分は、名前及び名前に隣接する名前空間識別子を含み、キーワード部分はキーワードを含む。キーワード部分は、キーワードに隣接するキーワードデリミタを更に含むことができ、キーワードデリミタは、#、!、「.」、$及び|からなる群から選択され、名前空間識別子は、@、fb、in及び「.」からなる群から選択される。他のデータはユーザインタフェースを通じてクライアントコンピュータに提供することができ、コマンドデータは他のデータから更に導出される。少なくとも1つのナビゲーションサービスサーバコンピュータは、名前所有者又はキーワードサービスから電子認可を受信することによって電子認可を受信するように更に構成することができる。少なくとも1つのネットワークロケータはユニフォームリソースロケータ(URL)を含むことができる。ナビゲーションサービスは、ドメイン名システム(DNS)サービスでない場合がある。少なくとも1つのナビゲーションサービスサーバコンピュータは、例示的なキーワード及びエンティティ名を少なくとも1つの例示的なネットワークロケータに相関付ける少なくとも1つのルールをナビゲーションサービス永続性メモリに記憶するように更に構成することができる。少なくとも1つのルールはデータベースクエリを指定することができる。少なくともエンティティ名及び他のデータを少なくとも1つのネットワークロケータに相関付ける少なくとも1つのルールは、キーワード、エンティティ名及び他のデータを少なくとも1つのネットワークロケータに相関付けることができ、コマンドデータはキーワードを更に含む。
様々な方法実施形態の任意のものについて、コンピュータ可読媒体を提供することができ、コンピュータ可読媒体は、少なくとも1つの電子プロセッサによって実行されると、少なくとも1つの電子プロセッサに本方法を実行させる命令を含むことに留意されたい。
本明細書に組み込まれ、本明細書の一部をなす添付の図面は、本発明の実施形態を例証し、説明と合わせて、本発明の原理を説明する役割を果たす。
本開示は、エージェントからユーザが所望するネットワークリソースへの直接ナビゲーションのための方法、システム、コンピュータ可読媒体及び製造品を提供する。本開示は、エージェントのユーザが、所望のネットワークリソースに対応する正確なドメイン名、URI、URL等を知る必要も入力する必要もなく、所望のネットワークにナビゲート又は接続することを可能にする方法、システム、コンピュータ可読媒体及び製造品を更に提供する。
まず、製品、靴を販売する小売店ウェブサイト等の所望のネットワークリソースを探すときの従来のインターネットユーザの例示的な使用事例を考える。この例示的な使用事例では、ユーザは、ユーザによって指定される特定のエンティティのウェブサイト、すなわち、Gimbelsとして知られる架空の小売店から靴を購入することを望む。このために、ユーザは通常、まず、ブラウザのナビゲーションバー又はオムニバーに、「gimbels shoes」(引用符なし)等の所望のものを包括的に表す文字列をタイプインし、エンターを押す。次に、ブラウザは通常、この文字列を検索エンジンに送り、検索エンジンは多くの結果を返し、これらの結果がブラウザによって表示される。この従来のシナリオでは、小売ブランド及びドメイン所有者であるGimbelsは、検索エンジンがユーザに対し表示するものを制御することができず、ほとんどの場合に、検索エンジンは、競合の小売店、的外れの製品(例えば、靴ではなくサンダル)、Gimbelsのウェブサイトの無関係のページ、又は広告主が検索エンジンに支払って表示させている場合がある他のほとんど何でも等の、Gimbelsに関係のない多くのネットワークリソースへのリンクを表示することになる。同様にこの従来のシナリオにおいて、検索エンジンは、多くの場合にGimbelsのウェブページへのリンクの前に、Gimbelsに無関係の多くの異なるウェブページへのリンクを返すことになるので、ユーザは自身が指定し、望む正確なネットワークリソース、すなわち靴を販売するGimbelsのウェブページを入手しない場合がある。
本発明による様々な実施形態は、Gimbelsのようなドメイン所有者等のエンティティが、そのエンティティによって制御又は操作される1つ又は複数のネットワークリソースに関連付けるか、関係付けるか又は他の形でマッピングすることができる、所望のネットワークリソースの大まかな記述に応答して提供されるナビゲーション結果を、形成、指定又は他の形で誘導することを可能にする。
I.URLベースのスマートナビゲーション
図1は、開示される様々な実施形態を実施するのに用いることができる、例示的なシステムコンポーネントを備える例示的なURLキーワード解決システム100を示す図である。しかし、コンポーネント及び構成は変動することができる。URLキーワード解決サーバ120は、プロセッサ122と、メモリ123と、入/出力(I/O)デバイス(図示せず)と、ストレージ121とを備えることができる。URLキーワード解決サーバ120は、様々な形で実装することができる。例えば、URLキーワード解決サーバ120は、汎用コンピュータ、サーバ、メインフレームコンピュータ又はこれらのコンポーネントの任意の組合せとすることができる。URLキーワード解決サーバ120は、リンクを介してネットワーク115と通信することができる。例えば、リンクは直接通信リンク、LAN、WAN又は他の適切な接続とすることができる。ネットワーク115はインターネットを含むことができる。URLキーワード解決サーバ120は、スタンドアロンとすることができるか、又はサブシステムの一部とすることができ、そしてこのサブシステムは、レガシードメイン登録システム等のより大型のシステムの一部とすることができる。
図1は、開示される様々な実施形態を実施するのに用いることができる、例示的なシステムコンポーネントを備える例示的なURLキーワード解決システム100を示す図である。しかし、コンポーネント及び構成は変動することができる。URLキーワード解決サーバ120は、プロセッサ122と、メモリ123と、入/出力(I/O)デバイス(図示せず)と、ストレージ121とを備えることができる。URLキーワード解決サーバ120は、様々な形で実装することができる。例えば、URLキーワード解決サーバ120は、汎用コンピュータ、サーバ、メインフレームコンピュータ又はこれらのコンポーネントの任意の組合せとすることができる。URLキーワード解決サーバ120は、リンクを介してネットワーク115と通信することができる。例えば、リンクは直接通信リンク、LAN、WAN又は他の適切な接続とすることができる。ネットワーク115はインターネットを含むことができる。URLキーワード解決サーバ120は、スタンドアロンとすることができるか、又はサブシステムの一部とすることができ、そしてこのサブシステムは、レガシードメイン登録システム等のより大型のシステムの一部とすることができる。
プロセッサ122は、Intel(登録商標)によって製造されるPentium(登録商標)又はXeon(登録商標)ファミリーからのマイクロプロセッサ、AMD(登録商標)によって製造されるTurion(登録商標)ファミリーからのマイクロプロセッサ、又はSunMicro Systemsによって製造される様々なプロセッサのうちの任意のもの等の1つ又は複数の既知の処理デバイスを含むことができる。メモリ123は、プロセッサ122が開示される実施形態に関連していくつかの機能を実行するのに用いる情報を記憶するように構成される1つ又は複数のストレージデバイスを含むことができる。ストレージ121は、揮発性若しくは不揮発性、磁気、半導体、テープ、光、取り外し可能、取り外し不可能又は他のタイプのストレージデバイス又はコンピュータ可読媒体を含むことができる。
1つの実施形態では、メモリ123は、URLキーワード解決サーバ120によって実行されると、開示される実施形態による様々な手順、動作又はプロセスを実行する、ストレージ121又は他の場所からロードされた1つ又は複数のキーワード解決プログラム又はサブプログラム124を備えることができる。例えば、メモリ123は、ドメイン名を認証し、ドメイン名管理者がドメイン名のためのキーワードをセットアップし維持することを可能にするキーワードレジストリプログラムと、ドメイン内の1つ又は複数のキーワードを解決することのユーザ要求を受信し、キーワード/ドメイン名の組合せをターゲットURLと照合し、ターゲットURLをユーザに提供するキーワード解決プログラムと、キーワードの使用、解決要求及び他のメトリックに関する統計を表示する報告プログラムと、他のプログラムをリンクし、それらのプログラムが共通データベースを用いることを可能にし、共通ユーザインタフェースを提供し、基本的な記帳タスク(ユーザの入力の記憶等)を実行し、ユーザガイダンス及びヘルプを提供する統合的なサポートプログラムと、第三者がドメインのためのキーワードを提供することをドメイン名管理者が可能にできるようにするブランド管理プログラムとを備えることができる。メモリ123は、通信サポート、インターネットアクセス等を提供するプログラム等の、他の機能及びプロセスを実行する他のプログラムも含むことができる。
開示される実施形態による方法、システム及び製造品は、専用のタスクを実行するように構成された別々のプログラム又はコンピュータに限定されない。例えば、メモリ123は、プロセッサ122によって実行されるといくつかの機能を実行するキーワード解決プログラム124を用いて構成することができる。例えば、メモリ123は、キーワード解決システムの機能を実行する単一のプログラム124を含むことができるか、又はプログラム124は複数のプログラムを含むことができる。更に、プロセッサ122は、URLキーワード解決サーバ120から遠隔に位置する1つ又は複数のプログラムを実行することができる。例えば、URLキーワード解決サーバ120は、実行されると、開示される実施形態に関連する機能を実行する1つ又は複数の遠隔プログラムにアクセスすることができる。
メモリ123は、URLキーワード解決サーバ120によって実行されると、当該技術分野において既知のいくつかの機能を実行するオペレーティングシステム(図示せず)により構成することもできる。例として、オペレーティングシステムは、MicrosoftWindows(登録商標)、Unix(登録商標)、Linux(登録商標)、Solaris(登録商標)、Apple Computersオペレーティングシステム、Microsoft CE(登録商標)等の携帯情報端末オペレーティングシステム、又は何らかの他のオペレーティングシステムとすることができる。オペレーティングシステムの選択、及び更にはオペレーティングシステムの使用は、任意の実施形態にとって重要でない。
URLキーワード解決サーバ120は、URLキーワード解決サーバ120によってデータが受信及び/又は送信されることを可能にする1つ又は複数のI/Oデバイス(図示せず)を備えることができる。I/Oデバイスは、URLキーワード解決サーバ120がウェブサーバ140又はクライアントコンピュータ150等の他のマシン及びデバイスと通信することを可能にする1つ又は複数のデジタル及び/又はアナログ通信入/出力デバイスも備えることができる。URLキーワード解決サーバ120は、I/Oデバイスを介して、外部のマシン及びデバイスからデータを受信し、データを外部のマシン及びデバイスに出力することができる。I/Oデバイス内に組み込まれる入力デバイス及び/又は出力デバイスの構成及び数は、いくつかの実施形態について適宜変動することができる。
URLキーワード解決サーバ120は、例えばネットワーク115を通じて、1つ又は複数のデータリポジトリ130に通信可能に接続することもできる。データリポジトリ130は、情報を記憶し、URLキーワード解決サーバ120を通じてアクセス及び/又は管理される1つ又は複数のファイル又はデータベース131を含むことができる。例として、データベースは、Oracle(登録商標)データベース、Sybase(登録商標)データベース若しくは他のリレーショナルデータベース、又はHBase若しくはCassandra等の非リレーショナルデータベースとすることができる。データベース又は他のファイルは、例えば、ドメイン名に関連するデータ及び情報、ドメイン名のためのキーワード、記述、統計、及びキーワードに関連する他のデータ等を含むことができる。しかしながら、開示される実施形態のシステム及び方法は別々のデータベースに限定されない。
URLキーワード解決サーバ120は、ネットワーク115を通じて1つ又は複数のクライアントコンピュータ150に通信可能に接続することもできる。クライアントコンピュータ150は、プロセッサ151と、メモリ152と、URLキーワード解決サーバ120及び/又はウェブサーバ140と通信するためのウェブブラウザ153とを備えることができる。クライアントコンピュータ150は、ネットワーク115を通じてウェブサーバ140に通信可能に接続することもできる。いくつかの実施形態では、URLキーワード解決サーバ120は、データをプロセッサ151及びウェブブラウザ153に送信することができ、ウェブブラウザ153はデータをキーワード登録インタフェースとして表示することができる。いくつかの実施形態では、クライアントコンピュータ150は、HTTPプロトコルを用いてウェブサーバ140と通信し、ウェブサーバ140によって提供されるウェブページを検索し、表示することができる。いくつかの実施形態では、クライアントコンピュータ150は、URL及びキーワードデータをURLキーワード解決サーバ120に送信することができ、折り返し、特定のドメイン/キーワード対についてコンテンツ提供者によって指定されたURLに対応するターゲットURLデータを受信することができる。
ウェブサーバ140は、コンテンツ提供者又はドメイン名管理者によって所有又は操作することができ、1つ又は複数のドメイン名に関連付けられたウェブページ又は他のインターネットリソースを記憶することができる。ウェブサーバ140は、プロセッサ142と、ストレージ141と、メモリ143とを備えることができる。ストレージ141は、揮発性若しくは不揮発性、磁気、半導体、テープ、光、取り外し可能、取り外し不可能又は他のタイプのストレージデバイス又はコンピュータ可読媒体とすることができ、個々のウェブページを表示するのに用いられるデータを含むことができる。開示される実施形態において、メモリ143は、HTTP要求を受信し、HTTP要求に応答するための1つ又は複数のウェブサーバプログラムと、動的ウェブページを提供するための1つ又は複数のサーバ側スクリプト145と、URL/キーワード対に対する要求を受信し、この要求を解決するための1つ又は複数のキーワード解決プログラム146とを備えることができる。このような各プログラムは、例えば、ストレージ141又は他の場所からロードすることができる。
図2は、開示される実施形態による、キーワード管理サーバによって実行される例示的なプロセスを示すフロー図である。キーワード解決サービス提供者は、コンテンツ提供者が本発明によるURLキーワード機能を実施するのを可能にするための技術的インフラストラクチャの大部分を提供することができる。例えば、キーワード解決サービス提供者は、キーワード管理サーバを用いて、コンテンツ提供者に、URLキーワードを登録及び管理するための、図3に示すインタフェース等のインタフェースを提供することができる。
ステップ205において、コンテンツ提供者の代わりに行動するユーザが、キーワード管理インタフェース300にログインした後、キーワード管理サーバは、ユーザがキーワードを登録することを望むドメイン名を示すドメイン名(パス又はクエリ文字列情報も含む場合がある)をユーザから受信する。ドメイン名は、インターネットリソースの権限又は制御の範囲を識別する。ドメイン名は多くの場合に、ウェブサイトを識別するホスト名である。例えば、acmecorp.ccは、Acme Corporationによって用いられるドメイン名とすることができる。ドメイン名は多くの場合に、ドメイン名に関連付けられたインターネットリソースを用いる排他的な権利を表すためにドメイン名登録機関(domain name Resigtrars)を通じて登録される。
ステップ210において、セキュリティのために、キーワード管理サーバはまず、ユーザが入力されたドメイン名のためのキーワードを登録する権限を有することを実証することによって、この入力されたドメイン名を認証することをユーザに要求することができる。例えば、キーワード管理サーバは、ユーザがドメインのホームページを挿入するためのメタタグを作成することができる。そのようなメタタグは、「<meta name=“keyword−verification” content=“djkaoieiosldisa”/>」のように見える場合がある。キーワード管理サーバは、ドメイン名及びコンテンツフィールドの値をデータベース又は他のファイルに記憶することができる。メタタグがホームページに挿入された後、ユーザは認証プロセスに戻ることができる。次に、キーワード管理サーバは、メタタグの存在を検出するために、ドメインのホームページを検査することができる。メタタグが存在し、キーワード管理サーバによって記憶されている値に合致するコンテンツ値を有する場合、ユーザはドメイン名に対する制御を有すると立証され得る。
代替の実施形態において、ユーザは、ドメイン名システム(DNS)においてCNAME記録をセットアップするように要求される場合がある。DNSレコードは、インターネットアドレス要求を解決して物理リソースに変換するのに用いられる情報を記憶する。CNAMEレコードは、ドメイン名が別のドメインのエイリアスであることを指定する。キーワード管理サーバは、例えば、ドメイン名管理者に、「djkaoieiosldisa」のCNAMEホスト及び「www.resolvecom.com」のCNAMEテキストをDNSに追加するように命令することができる。キーワード管理サーバは、ローカルデータベース内にドメイン名とともにCNAMEホストを記憶することができる。CNAMEレコードがセットアップされた後、ユーザは認証プロセスに戻ることができる。次に、キーワード管理サーバは、CNAMEホストを探すようにドメインのDNSにクエリし、CNAMEホストが見つかり、かつ記憶されているCNAMEホストと合致する場合、ユーザはドメイン名の所有者であると立証され得る。
認証されたドメイン名について、ステップ215において、キーワード管理サーバはドメイン名管理者がそのドメインのためのキーワードを提供することを可能にすることができる。キーワード管理サーバは、コンテンツ提供者又はドメイン名管理者がキーワードをセットアップすることを可能にする、図3に示すインタフェース等のインタフェースを提供することができる。キーワードはドメイン名に関連付けることができ、キーワード管理サーバはインタフェースに現在のドメイン名305を表示することができる。図3に示すように、キーワード管理サーバは少なくともキーワード310及びURL315をドメイン名管理者から受信し、キーワード−URL対を形成することができる。URLは、ドメイン名管理者がキーワードと関連付けることを望む特定のウェブページを識別し、それによって、同様にキーワード310を含む、ドメイン名305に対する適切にフォーマット設定された要求が、ユーザをURL315に自動的にリダイレクトする。
URL315は、ドメイン305においてホスティングされるウェブページとすることができるが、必ずしもそうである必要はない。URL315は、ドメイン名管理者が選択する任意のドメインの任意のウェブページのアドレスとすることができる。キーワード管理サーバは、キーワード及びURLを受信した後、キーワード−URL対をデータベース又は他のファイルに記憶することができる。キーワード−URL対は現在のドメイン名305に関連付けられる。
この情報に加えて、キーワード管理サーバは、例えばアイコン320を通じて、キーワードに関連する追加情報又はメタデータも収集することができる。この追加情報は、限定ではないが、URLの説明又はキーワードの説明を含むことができる。URLの説明は、ドメイン名管理者が選択するURLの事業内容説明とすることができる。説明は、キーワード管理サーバによって生成されるキーワード統計報告及び他の報告においても用いることができる。
インタフェースは、ドメイン名管理者が、ドメインを所有していない1つ又は複数の第三者がドメインのためのキーワードを提供することを可能にすることができるようにするブランド管理コンポーネントも備える。例えば、ユーザは、ボタン350を押して、サジェストされる第三者リストをキーワード管理サーバが生成することを要求することができる。キーワード管理サーバはこのリストをドメイン名管理者に対し表示することができる。ドメイン名管理者は、生成されたリスト上にないサジェストされる第三者をキーワード管理サーバに提供することもできる。ブランド管理コンポーネントについて以下で更に詳細に説明する。
キーワード−URL対をロケーションにマッピングすることもできる。ロケーションは、ジップコード、州、エリアコード、国、ジオロケーションコード又は何らかの他の地理的識別子を指定することができる。例えば、ドメイン名管理者は、ハワイ州に位置するウェブサイト訪問者に対し、ミネソタ州に位置するウェブサイト訪問者に対するものと異なるウェブページ表示を有することを望む場合がある。キーワード解決サーバは、GPSをサポートするデバイスからジオロケーションコードを受信することができるか、又はウェブサイト訪問者のソースIPアドレスを用いて、ウェブサイト訪問者のロケーションを求めることができる。キーワード解決サーバは、この情報を用いてキーワード−URL対を選択することができる。ロケーションは、ドメイン名管理者が地域の広告キャンペーンを行い、ウェブサイト訪問者を適切な地域のオファーに向けることを可能にする。
キーワードは関連するデバイスメタデータも有することができる。デバイスは、例えば、携帯情報端末(PDA)、スマートフォン、ラップトップ、タブレット等を表すことができる。デバイスは、キーワード解決サーバが、デバイスタイプに適したウェブページにウェブサイト訪問者をリダイレクトすることを可能にすることができる。例えば、ドメインは、PDA又はスマートフォン等のモバイルデバイスのための1つのウェブページと、全ての他のデバイスのための別のウェブページとを有することができる。キーワード解決サーバは、提供されたドメイン/キーワードに対するキーワード解決要求を開始したデバイスのタイプを求め、このデバイスタイプを用いて適切なキーワード−URL対を選択するように構成することができる。
キーワード管理サーバは、図3のキーワードタイプ325を用いて、ロケーション又はデバイスによりキーワードを識別することができる。例えば、タイプ「R」のキーワードは関連付けられたロケーション又はデバイスを一切有しないことができる。タイプ「L」のキーワードはキーワードに関連付けられたロケーションを有することができ、タイプ「D」のキーワードはキーワードに関連付けられたデバイスを有することができる。
ステップ220において、コンテンツ提供者又はドメイン名管理者が必要に応じてキーワードマッピングを登録、変更又は削除した後、ユーザはボタン330を押して、キーワード管理サーバが適切なクライアント実行可能プログラムを生成することを要求することができる。このプログラムは、以下で更に説明するように、コンテンツ提供者HTTP応答に埋め込まれ、ユーザが提供したURLキーワードが検出され解決されることを可能にする。そして、ステップ225において、JavaScript(登録商標)プログラム等の適切なクライアント実行可能プログラムを、ユーザがコピーし、コンテンツ提供者のサーバロジック内に配置するために表示することができる。
図14は、開示される実施形態による、キーワード管理サーバのブランド管理コンポーネントによって実行される例示的なブランド管理プロセスを示すフロー図である。ステップ1410において、キーワード管理サーバは、ドメイン名管理者等の、コンテンツ提供者の代わりに動作しているユーザが、第三者がドメイン名のためのキーワードを提供することを可能にすることによってブランド管理に参加することを望んでいることを示すブランド管理参加情報を受信することができる。ユーザは、キーワード管理インタフェース300のボタン350をクリックすることによって、ブランド管理参加情報をキーワード管理サーバに提出することができるか、又はブランド管理参加情報をキーワード管理サーバに送信するための任意の他の既知の方法を用いることができる。ボタン350をクリックすることによって、ユーザをキーワード管理インタフェース300からドメイン所有者ブランド管理インタフェースにリダイレクトすることができる。例示的なドメイン所有者ブランド管理インタフェースが図15に示される。この例示的な実施形態では、ドメイン所有者ブランド管理インタフェースはキーワード管理インタフェースと別々であるが、ブランド管理インタフェース及びドメイン所有者キーワード管理インタフェースを組み合わせて単一のインタフェースにすることができるか、又は2つ以上のインタフェースに分離することができる。
ステップ1420において、キーワード管理サーバは、サジェストされる第三者のリストを生成することができる。このリストは、ドメイン名レジストリから自動的に生成することができるか、又は第三者がブランド管理に参加することに興味があることを示す情報をキーワード管理サーバに提供した第三者からのものとすることができる。このリストは、図15に示すインタフェース1500のセクション1510等のドメイン所有者ブランド管理インタフェース上でユーザに表示することができる。ドメイン名管理者は利用可能な第三者のリストをレビューし、これらの第三者のうちの1つ又は複数を、その第三者がドメインのためのブランド駆動キーワードマッピングをサジェストすることを可能にするように選択することができる。ドメイン名管理者は、セクション1510に表示されなかった第三者を有効にすることを望む場合、1つ又は複数のテキストボックス1515を用いてその第三者の名前を入力することができる。ドメイン名管理者は、第三者の選択をキーワード管理サーバに提出することができる。例えば、ドメイン名管理者は、インタフェース1500上の提出ボタン1514をクリックすることによって、選択をキーワード管理サーバに提出することができる。
ステップ1430において、キーワード管理サーバは、ドメイン名管理者による1つ又は複数の第三者の選択を受信することができる。キーワード管理サーバは、任意の既知のデータ受信方法を用いて、ドメイン名管理者による1つ又は複数の第三者の選択を受信することができる。
ステップ1440において、キーワード管理サーバは、第三者選択情報を第三者に送信することができる。第三者選択情報は、第三者が提案されるブランド駆動キーワードマッピングを提出することを認可したドメイン名に関する情報を含むことができる。例えば、第三者選択情報は、ドメイン名、ドメイン名の所有者、サイトタイプ、第三者認可の日付を含むことができる。キーワード管理サーバは、図16に示す例示的な第三者ブランド管理インタフェース等の第三者ブランド管理インタフェースにおいて第三者選択情報を表示することができる。
図16に示すように、第三者ブランド管理インタフェースは、セクション1610、1620、1630、1640及び1650を含むことができる。キーワード管理サーバは、セクション1610において、ブランド駆動キーワードマッピングを提案することを第三者に最近認可したドメイン名を表示することができ、セクション1620において、第三者のブランド駆動キーワードマッピングのうちの1つ又は複数を受理した1つ又は複数の参加者の名前を表示することができる。キーワード管理サーバは、第三者が提案されるキーワード及び提案される関連URLを入力して、例えば提出ボタン1632を押すことによって、ブランド駆動キーワードマッピングとしてユーザに提出することを可能にするセクション1630も表示することができる。図16に示す例では、第三者「AlphaCorp.」は、キーワード「Alpha」、「Alpha Widgets」及び「Alpha Merger」並びに関連URLを「Acmecorp.com.」のためのドメイン名管理者に提出する過程にある。
キーワード管理サーバは、セクション1640において、1つ又は複数のドメイン名によって承認されたキーワードを表示することができ、セクション1650において、1つ又は複数のドメイン名管理者によって拒絶されたブランド駆動キーワードマッピングを表示することができる。図16には示さないが、セクション1650は、ドメイン名管理者がブランド駆動キーワードマッピングを拒絶した理由も含むことができる。例えば、ドメイン名管理者は、キーワード又は関連URLが不適切であったため、ブランド駆動キーワードマッピングを拒絶した場合がある。別の例として、ドメイン名管理者は、ブランド駆動キーワードを、そのキーワードとのマッピングがユーザ又は別の第三者によって既に用いられていたために拒絶した場合がある。
図14に戻ると、ステップ1450において、キーワード管理サーバは、第三者からブランド駆動キーワードマッピングを受信する。例えば、第三者はキーワード1634及び関連URL1636(図16に示す)を入力し、提出ボタン1632を押すことによってキーワード管理サーバにブランド駆動キーワードマッピングを提出することができる。第三者がブランド駆動キーワードマッピングを変更することを望む場合、第三者は、ドメイン名所有者による再承認のために新たなマッピングをキーワード管理サーバに提出する。ドメイン名管理者は、手直しされた各キーワードマッピングをレビューすることができるか、又は信頼された第三者のための承認を「オプトアウト」することができる。更に、ドメイン名管理者は任意の時点において第三者がキーワードマッピングを提供できないようにすることができる。
ステップ1460において、キーワード管理サーバはドメイン名管理者にブランド駆動キーワードマッピングを送信することができる。次に、キーワード管理サーバは、図15におけるブランド管理インタフェース1500のセクション1520等において、ドメイン所有者ブランド管理インタフェース上にブランド駆動キーワードマッピングを表示することができる。次に、ドメイン名管理者は、ブランド駆動キーワードマッピングを受理するか又は拒絶するかを判断することができる。例えば、図15に示すように、ドメイン名管理者は、ドメイン名管理者がキーワードマッピングを受理する場合、「yes」に対応するボタンを選択することができるか、又はドメイン名管理者がキーワードマッピングを拒絶する場合、「no」に対応するボタンを選択することができる。図15には示さないが、ドメイン名管理者は、ドメイン名管理者がキーワードマッピングを拒絶することを選択した理由を示すコメントを入力することもできるか、又は提案される代替のキーワード若しくは関連URLをキーワード管理サーバ若しくは第三者に提供することもできる。更に、ドメイン名管理者は、キーワード管理サーバが第三者の名前を提案されたキーワードと比較することを要求することによって選択を自動的に有効にすることができる。第三者名及び提案されるキーワードが類似しているか又は同一である場合、ドメイン名管理者は、キーワード管理サーバに、提案されるキーワードマッピングを自動的に受理するように指示することができる。同様に、ドメイン名管理者は、第三者の名前とキーワードとが合致していない場合、又はキーワードがキーワード管理サーバ及び/又はドメイン名管理者によって生成された禁止キーワードのリストと合致する場合、キーワード管理サーバに、提案されるキーワードマッピングを自動的に拒否するように指示することができる。
ステップ1470において、キーワード管理サーバは、ドメイン名管理者の選択に基づいてブランド駆動キーワードマッピングを受理又は拒否することができる。キーワードが受理又は拒否されると、キーワード管理サーバは第三者に通知する。例えば、キーワード管理サーバは、第三者ブランド管理インタフェース1600において、セクション1640又はセクション1650等に、承認又は拒絶されたブランド駆動キーワードマッピングに関する情報を表示することができる。
ステップ1480において、キーワード管理サーバは、ブランド駆動キーワードレジストリデータベースにおいてドメイン名管理者によって受理されたブランド駆動キーワードマッピングを記憶する。ブランド駆動キーワードマッピングを用いて、ブランド駆動キーワードマッピング内のキーワードと同じであるか又は類似しているユーザが供給したURLキーワードに応答して、クライアントをウェブページに向ける。ブランド駆動キーワードレジストリデータベースは、第三者の識別情報、第三者がブランド駆動キーワードマッピングを自動的に更新する許可を与えられているか否か、統計的情報、及びブランド駆動キーワードマッピングに関連付けられた様々な他の情報等のブランド駆動キーワードマッピングに関連する追加情報を記憶することもできる。
図14は、特定のステップを用いて実行されるプロセスを示すが、本発明による実施形態は、図14に示す全てのステップを実行する必要はなく、追加のステップを実行してもよく、又は異なる順序でステップを実行してもよい。
図4は、いくつかの開示される実施形態による、ユーザが供給したURLキーワードに応答して、クライアントをウェブページに向ける例示的な方法を示すフロー図である。図4に示す実施形態では、エンドユーザ等のクライアント410は、URLと関連付けられたウェブページのためのコンテンツ提供者サーバ420にHTTP要求を送信することができる(ステップ411)。
例えば、図5に示すように、ユーザはURL510「http://www.newnews.com/#earthquake」をブラウザのアドレスバーにタイプインすることができ、これによって、図6に示すように、ブラウザに、「www.newnews.com」のドメイン名をホスティングするウェブサーバ420に対するHTTP GET要求600を作成させることができる。特に、ユーザがURL510を指定するのに応答して、ユーザのブラウザからのHTTP要求600は、ドメイン名620「www.newnews.com」をホスティングするウェブサーバ420に直接、ルート「/」ディレクトリに対応するリソース610を要求することができる。通常、ウェブサーバは、ルートディレクトリの要求に応答して、「index.html」等のデフォルトHTMLファイルを送信するように構成される。
URL510は、パウンドすなわちハッシュシンボル「#」によって示されるように、リソースストリング510a及びキーワード510bを含むことができる。ハッシュシンボルを用いてURLキーワードを区切るこの技法は、構文に関して、URLにおけるフラグメント識別子の使用と類似している。これらはインターネット技術タスクフォース(IETF:Internet Engineering Task Force)のRFC3986のURL規格によって規定されている。
従来の使用では、フラグメント識別子を用いて、ウェブサーバから受信したHTMLページ内の特定のセクションを特定し、HTMLページをレンダリングする際に、ブラウザに、そのセクションに直接ナビゲートするように命令することができる。例えば、ウェブページのHTMLテキスト内で、ウェブページの著者は、ウェブページのコンテンツを、「導入」セクション、「解析」セクション及び「結論」セクションに論理的に分割することができる。著者は、対応するセクションのコンテンツの前に、HTMLアンカータグ「<a href=“#introduction”>」、「<a href=“#analysis”>」及び「<a href=“#conclusion”>」を更に配置することができる。ユーザがフラグメント識別子「#analysis」を含むURLを要求する場合、「#analysis」フラグメント識別子のためのHTMLアンカータグが存在し、ユーザのブラウザは、検索されたHTML文書のHTMLをダウンロードしレンダリングするのみでなく、「#analysis」フラグメント識別子が先行するHTML文書のセクションに直接自動的にスクロールする。このため、図6に示すように、従来のフラグメント識別子は、完全にブラウザ内で処理され、ウェブサーバに対するブラウザのHTTP要求600の指定されたリソース610には含まれず、HTTP要求600を介してコンテンツが検索された後に処理される。更に、フラグメント識別子の従来の使用は追加のHTTP要求を生成せず、ブラウザにおいてレンダリングが行われる際に、返されたコンテンツのどの部分が表示されるかを決定するためにのみ用いられる。
一方、以下で更に説明するように、本発明によれば、フラグメント識別子の構文を代わりに用いてURLキーワードを示すことができる。すなわち、フラグメント識別子510b「#earthquake」は、ユーザがブラウザにテキスト「earthquake」によってアンカリングされるウェブページのセクションへの初期スクローリングフォーカスを指定していることを示すのではなく、コンテンツ提供者がキーワード「earthquake」について指定した特定のウェブページが何であれ、その特定のウェブページにユーザを向けることによってコンテンツ提供者サーバ420が応答することをユーザが要求していることを示すことができる。この特定のウェブページは最初に要求されたウェブページと異なるウェブページであってもよい。コンテンツ提供者がフラグメント識別子を、初期ページヘのアンカー、及びユーザを特定のウェブページに向ける方法の双方として用いているとき等、競合が存在する状況では、コンテンツ提供者及び/又はキーワード解決サービスは、アンカー又はキーワードを中心にするか否かを判断することができる。例えば、キーワード解決サービスは、キーワードとの競合が存在しない場合、アンカーを自動的に優先することができ、競合が存在する場合、キーワードが優先権を得ることができる。このため、クライアントは特定のウェブページに向けられる。
この例について続けると、ユーザは、ある外国における地震に関する最近の重要な世界的事象について耳にした場合がある。そして、ユーザは、この事象に関する情報についてウェブサイトwww.newnews.comを調べることを更に望んだ場合がある。しかしながら、まずwww.newnews.comホームページに進み、地震の科学的説明から地震の歴史的要約にまで及び得る、地震について議論する記事を検索するか、又は最近の地震に関する情報を見つける(関連する国等のユーザが十分な情報を有していない場合がある情報を見つけ、更にはどこから見始めるべきかを知る)ためのメニュー及びサブディレクトリ等の従来のナビゲーション技法を通じてナビゲートを試みるのではなく、ユーザは代わりに、URLにおいて、求めるトピックのベースドメイン名510a及びキーワード510bを単に指定することができる。
ブラウザにこのベースドメイン名/キーワードの組合せへのHTTP要求を行わせることによって、ユーザは本質的に、www.newnews.comのドメイン名をホスティングするウェブサーバがユーザに、NewNewsコンテンツ提供者がそのキーワードについて指定した特定のウェブページが何であってもそれを提供することを要求している。例えば、NewNewsコンテンツ提供者が外国の大規模な地震について知ると、その編集スタッフが、最近のニュースとなる地震事象の基本的概要を提供するウェブページを探しているならばユーザが求めているであろうと思われる関連情報の全てを詳述するウェブページを作成することができる。ウェブページが作製され、図3のURL315等のURLを割り当てられると、編集者の又は他の非技術者のコンテンツ提供者がキーワードシステムインタフェース300にログインし、www.newnews.comのドメイン名のための新たなキーワード「地震」を登録し、これをURL315に関連付ける。
図5は、本発明の実施形態による、キーワードを埋め込むことができるURLの他の潜在的な形態を示す。例えば、好ましい実施形態とすることができるURL520におけるように、キーワード(ここでは「anvil」)を、ブラウザがHTTP要求を作成するのに十分な情報を有することができる任意の形態のURLに埋め込むことができ、したがって、スキーム又はメカニズム(ここでは「http」)は存在しない場合があり、ドメイン名とキーワードとの間のルートディレクトリ「/」シンボルも省略される場合がある。URL520の例では、ユーザは、購入する特定のタイプの製品(ここでは、「anvil」)のためのコンテンツ提供者指定のウェブページを要求するために、オンライン小売店(ここでは「acmecorp.cc」)のドメイン名にキーワードを付加することができる。
URL530に示されるように、キーワードは、スペース等の許可されていないURL文字を含むことができる。これは、別々の、スペースで区切られた単語を用いるために、又は非ASCII文字等の特殊文字を含めるために、HTTP応答における送信の前にURI符号化を受けることができる。URL530の例では、ユーザは、地元の事業のドメイン名(「ここではmomandpopshop.com」)に、地元の事業において行われている特定の販売促進又はイベントに関する情報のためのコンテンツ提供者指定のウェブページを要求するためのキーワード(ここでは「greenlightspecial」)を付加することができる。
URL540に示すように、キーワードはワイルドカード、正規表現、若しくはキーワードの柔軟性のある文字列合致を可能にする他の文字も含むことができるか、又は代替的なキーワードを含むことができ、この場合、例えば、選択肢がパイプ「|」文字で分けられる。また、URL540は、キーワードがドメイン名に直接続く必要がなく、代わりに、ディレクトリ構造又はURL内の他のパス内に配置されてもよいことを実証する。パス内に配置されるキーワードは、様々な方法で処理することができる。例えば、キーワードが見つかった場合、URL内の任意のパスが単に無視されるように、キーワードにいかなるパス情報にも勝る優先度を与えることができる。
代替的に、キーワードに先行する任意のパスは、範囲を限定するか、又は他の形で、そのキーワードに関連する名前空間を提供することができる。例えば、コンテンツ提供者は、URLにおける「/students/undergraduate/」パス内にキーワード「admission」が配置される場合、このキーワードのための第1のウェブページを指定する(例えば、学部生の入学情報を提供する)ことができ、URLにおける「/students/graduate/」パス内にキーワード「admission」が配置される場合、このキーワードのための第2のウェブページを指定する(例えば、大学院生の入学情報を提供する)ことができる。同様の技法を、種々の異なる会社又は組織に単一ドメイン内で「バニティ」URLを提供するコンテンツ提供者に対して用いることができる。例えば、「www.facebook.com/cocacola」又は「www.facebook.com/toyota」等のバニティURLを提供するFacebook.comの場合、同じキーワード(例えば、「#2011challenge」)を、これが「/cocacola」パス内に生じるか又は「/toyota」パス内に生じるかに依拠して異なるウェブページにリンクさせることができる。
URL540の例において、ユーザは、大学(ここでは「www.vanderbilt.edu」)又は他の非営利組織のドメイン名(更にはドメイン名に続くパス内)にキーワードを付加して、コンテンツ提供者指定のウェブページに、特定の主題(ここでは「admission」)に関する全体情報(例えば、コンテンツテーブル)を要求することができる。
URL550に示すように、キーワードは、URL内のクエリ文字列内に埋め込むか又はこのクエリ文字列に付加することもできる。URL540と同様に、URL550内のクエリ文字列は、キーワードが検出される無視することができるか、又はキーワードが別個の若しくは別々の意味を有する名前空間を提供することができる。いくつかの実施形態では、URLクエリ文字列は、ユーザが指定したキーワードに応答して返される任意のウェブページに適用される追加パラメータを単に提供することができる。この追加パラメータは、そのようなウェブページを特定の言語(ここではフランス語を表す「fr」)又は特定のフォーマット(ここではモバイルデバイスにおける表示のためにフォーマット設定される)において提供するべきであるという命令等である。URL550の例では、ユーザは、特定のトピック(ここでは「ETF」)に関するステータス情報又はリアルタイム情報を提供するコンテンツ提供者指定のウェブページを要求するために、オンライン情報サービス提供者のドメイン名(ここでは「site.netops.globalsecuritiestrade.org」)にキーワードを付加することができる。
URL550に示すように、キーワードは、複数のサブドメイン名を含むドメイン名に付加することができる。そして、URL540のパスと同様に、先行するドメイン名の特異性により、キーワードが別個の又は別々の意味を有する名前空間を規定することができる。例えば、コンテンツ提供者は、キーワード「ETF」が、より包括的な第2レベルのドメイン名「globalsecuritiestrade.org」の後に続く場合、このキーワードのための第1のウェブページを指定する(例えば、一般的なETF製品に関する情報を提供する)ことができ、キーワード「ETF」が、より詳細なサブドメイン「netops.globalsecuritiestrade.org」又はそのサブドメイン内の任意の他のサブドメインの後に続く場合、このキーワード「ETF」のための第2のウェブページを指定する(例えば、様々な上場投資信託のためのリアルタイムの取引価格を提供する)ことができる。図5は、最上位レベルドメイン、第2レベルドメイン、第3レベルドメイン及び第4レベルドメインを含み、最上位レベルドメインの後にフラグメント識別子及びキーワードが続くURLを示しているが、本発明による実施形態は、URL内の任意のドメインレベルにおいてフラグメント識別子及びキーワードを実装することができ、かつ/又は任意のドメインレベルのうちの1つ若しくは複数を含むURLにおいてフラグメント識別子を実装することができる。
そして、URL560に示すように、複数のキーワード560a、560b及び560cをURLに配置することができる。URL560のこの例では、ユーザは、オンライン小売店のドメイン名に複数のキーワードを付加して、特定の製品名について1つ又は複数のコンテンツ提供者指定のウェブページを要求することができる。複数のキーワードを処理するために、各キーワードを処理して合致が存在するか否かを判断し、第1のキーワードに応答して指定されたウェブページを有するウェブページを提供すること、様々なキーワードの優先順位を割り当て、URL内の最高ランクのキーワードについて指定されるウェブページを提供すること、又は別々のキーワード組合せについて特定のウェブページマッピングを提供すること(例えば、キーワード560aに対し第1のウェブページ、キーワード560bに対し第2のウェブページ、キーワード560cに対し第3のウェブページ、キーワード560a、560b及び560cの組合せについて第4のウェブページ)を含む、様々な技法を用いることができる。
URLキーワードを特定する他の技法又は構文を用いることができる。例えば、URLキーワードは代替的に、16進数フォーマットに変換しない限り有効なURL文字でない、「$」、「|」又は「@」等の1つ又は複数の特徴によって指定することができる。しかしながら、そのような文字を用いてファイル名又はURL内の有効パスを規定することもできるため、いくつかの実施形態では代わりにハッシュシンボルを用いることが望ましい場合がある。なぜなら、ほとんどのウェブブラウザはHTTP要求からいかなるフラグメント識別子(ハッシュシンボルによって特定される)も省くように構成され、このため、ドメイン固有のキーワードのための機能を提供しないウェブサーバがそのファイル名にキーワードテキストを実際に含むファイルを位置特定することを試みる危険をなくすことができるためである。
本発明のURLキーワードは、他の場合にはURLに対し許可されない国際文字又は特殊文字も含むことができる。なぜなら任意のこのような文字を、HTTP要求において送信する前にユーザのブラウザによって16進数形態に単に変換することができるためである。例えば、履歴書文案を対象とする本のためのキーワードウェブページを作成することを望む書籍販売者等のコンテンツ提供者は、ユーザが同様にキーワード「#resume」を指定する場合があることを認識し、適切な国際文字を用いるキーワードを作成することができる。このキーワードを、HTTP要求が作成されるとき、ユーザのブラウザによってURI符号化にかけ、「#r%C3%A9sum%C3%A9」にすることができる。
図4に戻ると、ステップ421において、コンテンツ提供者サーバ420はHTTP要求610を受信し、図7に示すようにHTTP応答700を送信することによって応答する。HTTP応答700は、ヘッダ情報710及びペイロードデータ720の双方を含む。キーワード510bは、この時点において、コンテンツ提供者サーバ420へのHTTP要求600に含まれていない場合があるので(なぜなら、フラグメント識別子としてフォーマット設定されるとき、このキーワードはクライアントのブラウザによって省かれる場合があるため)、コンテンツ提供者サーバ420は、「www.newnews.com/」の要求がwww.newnews.comにおけるルートウェブページの実際の要求を意味するのか、又は単にドメイン固有のキーワードのためのドメイン名を指定するのに用いられたのかがわからない場合がある。したがって、コンテンツ提供者サーバ420は、サーバ上に「index.html」ファイルのためのHTMLテキストを含むペイロード720を送信することができる。
一方、クライアント410がドメイン固有のキーワードを要求している場合がある可能性を許容するために、コンテンツ提供者サーバ420は、HTML文書/ペイロード720内に、例えば「<head>」セクション721等の少量のクライアント実行可能コードも含むことができる。この例示的な実施形態において、クライアント実行可能コードは「<head>」セクション内に含まれるが、クライアント実行可能コードはHTML文書内の任意の場所に含めることができる。クライアント実行可能コードは、JavaScript(登録商標)又は他のクライアント実行可能プログラム721bを含むことができ、そのコンテンツはコンテンツ提供者サーバ420によって直接提供される。代替的に、コンテンツ提供者サーバ420は、キーワード解決サーバ430等の別のサーバに常駐するプログラムファイルへのリンク721aのみを含むことができる。この手法を用いて、クライアント410は、リンク721aによって指定されるプログラムファイルについてキーワード解決サーバ430に別個のHTTP要求を行うことができ、プログラムファイルが受信されると、クライアントのブラウザプログラム内でプログラムファイルを実行することができる。
ステップ412において、クライアント410は、例えば「<head>」セクション721内に含まれる任意のスクリプトがHTML文書720の「<body>」722セクション内の任意のコンテンツをパース(parsing)又はレンダリングする前に実行されるというブラウザルールの下で、クライアント実行可能プログラムを実行することができる。クライアント実行可能プログラムは、要求されるURL内にユーザが含めた任意のURLキーワードを識別することができる。例えば、キーワードがフラグメント識別子としてフォーマット設定される場合、コンテンツ提供者サーバ420ではなくクライアント410内でクライアント実行可能プログラムが実行されるので、クライアント実行可能プログラムはそのようなフラグメント識別子にアクセスを有することができる。URL510の例において、クライアント実行可能プログラムは、「#earthquake」フラグメント識別子をドメイン固有のキーワードとして識別する。
ステップ412において、1つ又は複数のドメイン固有のキーワードの存在を識別したことに応答して、クライアント実行可能プログラムは、クライアント410に、1つ又は複数のキーワードのための特定のコンテンツプロバイダ指定のウェブページのURLを要求するための、別個のキーワード解決サーバ430への別個のHTTP要求を行わせることができる。例えば、図8に示すように、URL510の場合、クライアント410はURL800を用いてキーワード解決サーバ430へのHTTP GET要求を行うことができる。URL800は、キーワード解決サーバのドメイン名810と、キーワードルックアップ動作を実行することが可能なキーワード解決サーバ430におけるサーバ側スクリプトのパス820と、元のURL830a及びクライアント410によって要求されたドメイン固有のキーワード830bの双方を指定するクエリ文字列830とを含むことができる。
例えば、クライアント実行可能プログラムは、当業者によって既知のJavaScript(登録商標)及びXMLによる非同期通信(「AJAX」)又はJQuery技法を用いてキーワード解決サーバ430に同期又は非同期のHTTP要求を行うことができる。クライアント実行可能プログラムは、解決サーバによってホスティングされるURLを指すターゲットを有するHTML「<IFrame>」要素又はHTML「<script>」要素を用いてキーワード解決サーバへのHTTP要求を行うこともできる。当業者であれば、ユーザが要求したURL及びドメイン固有のキーワードを、解決するためにキーワード解決サーバ430に提供するための他の手段を理解するであろう。
431において、キーワード解決サーバ430は、コンテンツ提供者のウェブサイト上のいずれの特定のウェブページが、要求されたキーワードのためにサービングされるように指定されたかを、そのウェブページが存在する場合に確定することができ、その特定のウェブページに対応するターゲットURLをクライアントに戻して提供することができる。例えば、URL510の場合、キーワード解決サーバ430は、図9に示すように、クライアント410にURL900を提供することができる。このURLはコンテンツ提供者がキーワード指定インタフェース300においてURL315として指定したのと同じURLである。キーワード解決サーバ430は、AJAX応答において、URL900を単純なテキスト文字列としてクライアント410に提供することができる。代替的に、キーワード解決サーバ430は、例えばHTTP301又は302のリダイレクトを用いてクライアント410をURL900にリダイレクトすることができる。
ステップ413において、クライアント410は、キーワード解決サーバによって提供されるターゲットURLについてコンテンツ提供者サーバ420への新たなHTTP要求を行うことができる。例えば、クライアント410は、URL900に関連付けられたウェブページについてコンテンツ提供者サーバ420へのHTTP要求を行うことができる。そして、それに応答して、コンテンツ提供者サーバ420は、URL900によって指定されるウェブページのためのHTMLテキストを含むHTTP応答を提供し、これによって、クライアント410に、キーワード「地震」についてコンテンツ提供者が指定したウェブページを提供することができる。次に、クライアントは、メインブラウザウィンドウ内に、ユーザが見て対話するための、URL900によって指定されたウェブページをレンダリング及び表示することができる。
ユーザ指定のキーワードに応答してコンテンツ提供者指定のウェブページを提供するための上記の技法は、ここで短く論じるのに値するいくつかの更なる利点を提示する。クライアントは、ブラウザプラグイン又はアドオン等によってブラウザプログラムの機能を変更も強化もする必要なく、既存のブラウザプログラムを用いてドメイン固有のキーワードウェブページを要求することができる。むしろ、本発明を実行するために、ブラウザはフラグメント識別子をURLに含める能力をユーザに提供し、JavaScript(登録商標)等のクライアント実行可能プログラムを実行する基本機能を含むのみでよい。
コンテンツ提供者は同様に、既存のサーバ側スクリプト又はプログラムへの僅かな変更のみで、HTTPに応答してドメイン固有のキーワード機能を実施することができる。特に、コンテンツ提供者は、コンテンツ提供者がドメイン固有のキーワードを提供することを望むドメインにおいて、各ウェブページ内に少量のクライアント実行可能コードを含むのみでよい。次に、コンテンツ提供者は、これをクライアントのブラウザ及び実際のキーワード解決動作を実行するための関連するキーワード解決サーバに任せることができる。実際に、コンテンツ提供者がウェブページに対するHTTP応答において必須のクライアント実行可能プログラムを含むと仮定すると、コンテンツ提供者のサーバは、クライアントがドメイン固有のキーワードを要求したか、又は以前のキーワード解決に応答して固有のウェブページの要求を行っているかに関して完全にとらわれない(completey agnostic)ままであることができる。コンテンツ提供者サーバは、クライアントが実行可能なキーワード解決プログラムと共に常に任意の要求されたウェブページを返すので、コンテンツ提供者は、ウェブページを要求したクライアントが、それらを実際にレンダリングするためにそのようなウェブページを受信するのに対し、ウェブページを単に特定のURLキーワードのためのドメイン名空間を指定する手段として要求するクライアントが、キーワードを解決するのに必要なクライアント実行可能プログラムを提供されることを確実にすることができる。
同様に、構文又はフラグメント識別子を用いてドメイン固有のキーワードを指定することによって、ユーザは、任意のコンテンツ提供者へのURLキーワードを含むHTTP要求を、そのコンテンツ提供者がキーワードに対応しているか否かにかかわらず、サーバ応答エラーを生じさせる危険なしに行うことができる。ブラウザはフラグメント識別子テキストをウェブサーバに送信しないので、キーワードに対応していないウェブサーバへのHTTP要求にドメイン固有のURLキーワードを含めることによってエラーは一切生じないはずであり、代わりに単に、フラグメント識別子を有しないURLのウェブページがダウンロードされ表示されるはずである。そして、キーワードに対応しているウェブサーバの場合であっても、コンテンツ提供者がウェブページを指定していないドメイン固有のキーワードをユーザが指定する場合、キーワード解決サーバが単に、解決クエリに応答して空の文字列を提供することができ、ここでもまた、結果としてベースURLのウェブページがダウンロードされ表示される。
キーワードがコンテンツ提供者指定のウェブページに対応することがわかった場合、キーワードの解決を要求し、クライアントを解決されたターゲットURLにリダイレクトするための実行可能コードは、コンテンツ提供者サーバによって返される元のHTML文書の「<head>」セクション内にあり、そのようなコードは元のHTML文書の任意のレンダリングが行われる前に実行することができる。このため、ユーザは、短い間のみであっても、元々要求されたHTML文書が表示されるのを決して見るはずはなく、ユーザには、キーワードに関連付けられたウェブページに直接進んだように見えるはずである。
また、キーワード管理インタフェース300とともに別個のキーワード解決サーバを用いることによって、コンテンツ提供者の非技術要員が、IT人員等の技術要員が関与する必要なく、事業ニーズの導くままにキーワードウェブページマッピングを作成、変更又は削除することが可能になる。実際に、コンテンツ提供者自体が特定のITスキルを一切必要とすることなくキーワードを維持管理することができるので、コストを低減することができる。更に、コンテンツは迅速に変化し、既存の従来のナビゲーション技法はITのプロがウェブサーバを再構成することを必要とする。
別の実施形態では、コンテンツ提供者自体がキーワード解決サービス提供者の役割を果たすことができる。特に、コンテンツ提供者サーバによってクライアントに提供されるクライアント実行可能プログラムは、1つ又は複数のURLキーワードを識別した後に、クライアントに、識別されたキーワードに対応するコンテンツ提供者指定のウェブページについて、別個のキーワード解決サーバではなくコンテンツ提供者自体にクエリするように命令することができる。
本発明は、ユーザがドメイン固有のキーワードをURLに手動でタイプインする状況に限定されない。むしろ、ドメイン固有のキーワードは、既存のHTML文書のハイパーリンク内に指定されるか、ナビゲーション「ブックマーク」に含まれるか、HTTPリダイレクトの形態等でWebサーバによって提供されるか、又は携帯電話のネイティブアプリケーション内に含まれる等の任意の方式で、要求されるURLに含めることができる。
本発明は、ユーザがキーワードにおいて「engineer*」等のワイルドカード又は正規表現を用いることも可能にする。「engineer*」は「engineer」、「engineers」、「engineering」、「engineering schools」等に変化することができる。いくつかの実施形態では、ワイルドカード又は正規表現のキーワードについて十分な数の潜在的解決が存在する場合、ユーザは選択肢リストをプロンプトされ得る。
ステップ411の元々要求されたベースURL及びステップ413のターゲットURLの双方を同じコンテンツ提供者エンティティによってホスティングすることができるにもかかわらず、それぞれのURLによってホスティングされるリソースは別個のウェブサーバによってホスティングされてもよいことも当業者は理解するであろう。また、本出願において主に「ドメイン固有の」キーワードとして説明されたが、当業者であれば、この概念を提供者固有のキーワードに拡張することができることを理解するであろう。例えば、単一のコンテンツ提供者が、ともに同じホスティングサービスに向けられるか又は同じウェブサーバによってホスティングされる別々のドメイン名「zulumail.tv」及び「zmail.tv」を所有しホスティングすることができる。そして、コンテンツ提供者は、キーワード「#forwarding」のための単一のウェブページを、これがユーザによっていずれのドメインに基づくURLの一部として要求されたかにかかわらず指定することができる。すなわち、「http://zulumail.tv/#forwarding」及び「http://zmail.tv/#forwarding」を解決して、双方をURL「http://zmail.tv/user_options/mail_handling/automatic_forwarding.htm」に変換することができる。
同様に、この概念は、第1のコンテンツ提供者が所与のキーワードについて別のコンテンツ提供者のウェブページを指定することを可能にするように拡張することができる。例えば、複数のより小規模な天気関連ウェブサイトが、より大規模なサービス提供者に依存してリアルタイム天気情報を供給する場合、より小規模な各ウェブサイトを担当するコンテンツ提供者は、キーワード「#storms」について、より大規模なサービス提供者によってホスティングされるウェブページを指定することができる。
換言すれば、コンテンツ提供者は、所与のキーワードについて指定することができる特定のウェブページに一切制限されない。一方、図2に関して説明したように、コンテンツ提供者は、所有又は制御しておらず、権限も有しないウェブサイト又はドメインについてのキーワードを指定することができないという点において制限される場合がある。また更に、所与のコンテンツ提供者指定のキーワードは、URLパス、クエリ文字列及び/又はポート番号も含むことができる、特定のドメイン名内のみで意味を有する場合がある。
更に、キーワード/URLマッピングの実施形態について複数の実装オプションが存在する。図10に示すように、一般的な事例では、ユーザ1010は「example.com#keyword」等の直接ナビゲーションURLをブラウザ1020に入力し、ブラウザ1020にexample.comサーバ1030へのHTTP GET要求を行わせることができる。ユーザが直接ナビゲーションURLを指定するのに応答して、ブラウザ1020からのGET要求は、ドメイン名「example.com.」をホスティングするサーバ1030に、ルート「/」ディレクトリに対応するリソースを要求することができる。通常、ウェブサーバは、ルートディレクトリへの要求に応答して、「index.html」等のデフォルトHTMLファイルを、例えばJavaScript(登録商標)コード等の必須のキーワード/URLマッピング及びキーワード解決プログラムと共に送信する。次に、ブラウザ1020はキーワード解決プログラムを実施して、キーワードマッピングへのURL及びマッピングされたURLを求めることができる。次に、ブラウザ1020はマッピングされたURLページについてサーバ1030への要求を送信することができ、この要求に応答して、サーバはターゲットページ(すなわち、キーワードに関連するページ)を返すことができる。代替的に、コンテンツ提供者サーバは、キーワード解決サーバ等の別個のサーバにキーワードの解決を要求するか、クライアントに、この解決を要求するように命令することができる。
キーワード/URLマッピングは様々な方法で実行することができる。例えば、キーワード/URLマッピングはサーバ側で実行するか、クラウドベースとするか、又はクライアント側で実行することができる。図11は、サーバ側で実行されるキーワード/URLマッピングの例示的な実施である。図11に示すように、インターネットユーザ1110と、ブラウザ1020と、サーバ1130と、キーワードレジストリ1140とが存在し得る。キーワードレジストリ1140は、ドメイン所有者1150によって、ドメイン所有者1150がキーワードをドメイン内の特定のウェブサイトに関連付けるように構成することができ、別個のサーバであってもよく、又はサーバ1130自体の一部であってもよい。更に、ブランド駆動キーワードレジストリ(図示せず)は別個に設けてもよく、又は結合されたキーワードレジストリ1140であってもよい。
図11に示すように、ユーザ1110は、「example.com#keyword」等の直接ナビゲーションURLをブラウザ1120に入力することができる。ブラウザ1120は、「#」を、「@」等の何らかの他の文字に変換し、キーワード及び新たな文字を用いてサーバ側への要求を行う。次に、サーバ1130はキーワードレジストリ1140と通信してキーワードにマッピングされたURLを求めることができ、サーバ1130は、要求に応答して、例えばJavaScript(登録商標)コード等のキーワード解決プログラムと共に「index.html」等のデフォルトHTMLファイルを送信することができる。次に、ブラウザ1020は、マッピングされたURLページについてサーバ1130への要求を送信することができ、この要求に応答して、サーバはターゲットページを返すことができる。
図12は、クライアント側で実行されるキーワード/URLマッピングの例示的な実施態様である。図12に示すように、ユーザ1210は「example.com#keyword」等の直接ナビゲーションURLをブラウザ1220に入力し、ブラウザ1220に、example.comサーバ1230へのHTTP GETを行わせることができる。ユーザが直接ナビゲーションURLを指定するのに応答して、ブラウザ1220からのGET要求は、ドメイン名「example.com.」をホスティングするサーバ1230に、ルート「/」ディレクトリに対応するリソースを要求することができる。通常、ウェブサーバは、ルートディレクトリの要求に応答して、「index.html」等のデフォルトHTMLファイルを、例えばJavaScript(登録商標)コード等の必須のキーワード/URLマッピング及びキーワード解決プログラムと共に送信する。次に、ブラウザ1220はキーワード解決プログラムを実施して、キーワードレジストリ1242を含むことができるクラウドインフラストラクチャ1240と通信することができる。クラウドインフラストラクチャ1240は、URLとキーワードとのマッピング及びマッピングされたURLを求め、このマッピングされたURLをブラウザ1220に送信する。次に、ブラウザ1220は、マッピングされたURLページについてサーバ1230への要求を送信することができ、この要求に応答して、サーバはターゲットページを返すことができる。
キーワード/URLマッピングは完全にクライアント側で行うこともできる。いくつかの実施形態では、クライアントは、コンテンツ提供者又は第三者解決サービス提供者がキーワード/URLマッピングを解決するのに頼るのではなく、URLキーワードの解決のためのローカルファイルシステム又はデータベースを維持管理することができる。例えば、HTML5は、JavaScript(登録商標)等のクライアント実行可能コードが、データ又はコンテンツを検索するために、ローカルデータベースにアクセス又はクエリすることを可能にする。コンテンツ提供者から受信されるクライアント実行可能プログラムは、そのようなローカルデータベースがキーワードとURLとの間のマッピングをルックアップすることに頼ることができ、関連するURLが位置特定されると、ブラウザを直接そのURLに向け、これによりクライアントからプロセスの遠隔にあるサーバへの少なくとも1つのHTTP要求を削減することができる。他の実施形態では、クライアント実行可能コード自体がURLキーワードの解決のためのローカルファイルシステム又はデータベースを生成することができる。
別の実施形態では、URLキーワード解決動作は、クライアントが任意のクライアント実行可能コードを実行するのに頼ることなく、完全にサーバ側で実行することができる。例えば、図13に示すように、ユーザ1310は「example.com#keyword」等の直接ナビゲーションURLをブラウザ1320に入力することができる。URLキーワードがハッシュシンボル以外の文字(例えば、「@」文字)によって区切られている場合、フラグメント識別子とは異なり、キーワードをクライアント1320の初期HTTP要求の一部としてコンテンツ提供者サーバ1330に送信することができる。コンテンツ提供者サーバ1330は、例えば、キーワードを識別し、キーワードのための適切なURLマッピングを求め、(例えば、HTTP301リダイレクト命令を用いて)クライアント1320をキーワードのための適切なURLに向ける。これらは全てクライアント1320が任意のクライアント実行可能コードを実行するのに頼ることなく行われる。代替的に、コンテンツ提供者サーバは、キーワード解決サーバ等の別個のサーバからのキーワードの解決を要求するか、クライアントに、この解決を要求するように命令することができる。
別の実施形態では、クライアントが、コンテンツ提供者によって作成も指定もされていないキーワードを要求する場合、クライアント実行可能プログラム、キーワード解決サーバ又はコンテンツ提供者サーバは一定のデフォルトオプションを提供することができる。例えば、存在しないキーワードについての要求に応答して、クライアントは単に、初期HTTP要求のベースURLによって識別されるウェブページをレンダリングすることができる。代替的に、クライアントに、ウェブページ、JavaScript(登録商標)アラート、又はユーザが存在しないキーワードを要求したことの他の通知を提供してもよい。ユーザが存在しない元々要求されたキーワードの代わりに選択することができる潜在的に類似した既存のキーワードのリストをユーザに提供してもよい。また、従来のキーワード検索技法を用いて生成されるウェブページの従来のリストをユーザに提供してもよい。また、ユーザが選択することができる潜在的に合致するキーワードのリストをユーザにプロンプトしてもよい。
更に別の実施形態では、ユーザがコンテンツ提供者に対する要求キーワードにハッシュタグを入力する場合、ハッシュモジュールは、特定のドメインに関連付けられた利用可能な全てのキーワードのリストを提供することができる。例えば、ハッシュモジュールは、ユーザがブラウザのアドレスバーにハッシュタグを入力したか否かをリアルタイムで判断するブラウザアドオン又はプラグインとすることができる。その場合、自動補完モジュールがコンテンツ提供者、クライアント実行可能プログラム、キーワード解決サーバ又はコンテンツ提供者サーバのうちの1つ又は複数と通信して、任意のキーワードがその特定のドメインと関連付けられているか否かを判断する。ユーザによってより多くの英数字がブラウザに入力されるほど、特定のドメインに関連付けられた利用可能なキーワードのリストが狭くなる。ドメインに関連付けられたキーワードが存在する場合、ハッシュモジュールはこれらのキーワードを含むポップアップリストを生成することができる。ドメインに関連付けられたキーワードが存在しない場合、ハッシュモジュールはユーザを探索サービスページにリダイレクトすることができる。いくつかの実施形態によれば、ハッシュモジュールは、提供されたURLのウェブサイトのための検索ページにユーザを向けることができる。
別の実施形態では、特定のドメインがキーワードスマートナビゲーションを有するか否かをユーザに通知するスマートナビゲーションモジュールを提供することができる。例えば、スマートナビゲーションモジュールは、アドレスに入力されるドメインをリアルタイムでレビューするブラウザアドオン又はプラグインとすることができ、コンテンツ提供者、クライアント実行可能プログラム、キーワード解決サーバ又はコンテンツ提供者サーバのうちの1つ又は複数と通信することによって、特定のドメインが関連付けられたキーワードを有するか否かを判断する。この場合、スマートナビゲーションモジュールは、例えば、アドレスバーの色を変化させるか、又はブラウザ若しくは関連付けられたウェブページに特定のグラフィックを挿入すること等の、ドメインが関連付けられたキーワードを有することの標識を提供することができる。
解決サービス提供者は、キーワード管理インタフェース及び/又はキーワード解決サービスを提供することに加えて、コンテンツ提供者に、クライアントからのキーワード解決要求に関する豊富な基準及び統計へのアクセスも提供することができる。例えば、図3のインタフェース300は、各作成されたキーワードがクライアントから要求された回数をユーザ及び/又はコンテンツ提供者が閲覧及び/又はダウンロードすることを可能にすることもできる。別の例として、解決サービス提供者は、キーワードが何回用いられたか、誰がキーワードを用いたか、用いられたキーワードのタイプ、訪問されたウェブサイト、及び様々な他の情報を、例えばクッキーを用いて追跡することができる。インタフェース300は、ユーザによる様々な存在しないキーワードの要求数に関する情報も提供し、これによってコンテンツ提供者がユーザ需要の結果として追加のキーワードを作成する必要性を判断することを可能にすることができる。そのような存在しないキーワード情報は、既存のキーワードのミススペルに関する情報も含み、コンテンツ提供者に、既存のキーワードのミススペル若しくは同音異義語を考慮するための追加のキーワードを作成するか、又は許容可能なワイルドカード若しくは正規表現照合機能を改善する必要性を通知することができる。同様の情報は、ブランド駆動手法において第三者に提供してもよい。
解決サービス提供者は、マルウェアのないセキュアなナビゲーションも提供することができる。インターネット上で利用可能なウェブサイト数は非常に大きいのでこれらの全てをマルウェアについてスキャンすることは実際的に不可能である。しかしながら、解決サービス提供者は、特定のキーワードに関連付けられたURLを知っているので、解決サービス提供者は、例えば、参照によりその内容全体が本明細書に組み込まれている特許文献1及び特許文献2に開示されているマルウェア検出及びスキャンのためのシステム及び方法を用いてURLをスキャンし、このURLにマルウェアがないか否かを判断することができる。したがって、ユーザが「example.com#keyword」等の直接ナビゲーションURLをブラウザに入力するとき、ユーザは、URLがブラウジングするのに安全であり、悪意のあるコンテンツを含まないことの高レベルの保証を有する。
別の実施形態では、コンテンツ提供者、クライアント実行可能プログラム、キーワード解決サーバ又はコンテンツ提供者サーバのうちの1つ又は複数は、クライアントデバイスの識別に基づいて特定のウェブサイトを自動的に最適化することができる。例えば、クライアント実行可能プログラムは、ユーザのデバイス(例えば、携帯電話)を識別し、このユーザを、ウェブサイトの特定のデバイスのバージョンに転送することができる。クライアント実行可能プログラムは、参照によりその全体が本明細書に組み込まれている、2011年4月1日に出願された「Systems, Apparatus, and Methods for Mobile Device Detection」と題する特許文献3において検討されている方法を用いてウェブサイトを自動的に最適化することができる。
II. 名前空間ベースのスマートナビゲーション
本発明による種々の実施形態は、非DNS(例えば、非URL)名前空間を含む全体名前空間からの名前を利用する。すなわち、開示される実施形態は、任意の名前空間(更には一度に2つ以上の名前空間)と協働することができる。通常、名前空間は名前を含み、名前所有者は名前空間(又は部分空間)の権限を有し、その権限はいくつかの場合には委譲することができる。名前空間はパブリック又はプライベート、階層又はフラットとすることができる。名前空間の特定の非限定的な例が続く。
本発明による種々の実施形態は、非DNS(例えば、非URL)名前空間を含む全体名前空間からの名前を利用する。すなわち、開示される実施形態は、任意の名前空間(更には一度に2つ以上の名前空間)と協働することができる。通常、名前空間は名前を含み、名前所有者は名前空間(又は部分空間)の権限を有し、その権限はいくつかの場合には委譲することができる。名前空間はパブリック又はプライベート、階層又はフラットとすることができる。名前空間の特定の非限定的な例が続く。
全ての最上位レベルのドメイン名の集合が名前空間を形成する。更に、最上位レベルのドメインの全ての第2レベルのドメイン、第3レベルのドメイン、全てのサブドメイン等の、全てのドメイン名の一定の部分集合が名前空間を形成する。「ドメイン名」における「ドメイン」という用語は、各名前がその名前に関連付けられた「空間」について権限がある「所有者」を有することを指す。階層構造を有する従来のDNSでは、名前所有者は、ドメイン下の任意のサブドメインについて権限があり、例えば、「example.com」の所有者は、「a.example.com」、「b.example.com」等について権限がある。名前所有者は、これらのサブドメインに対する権限を別の当事者に委譲することができるが、委譲されるのは、その「ドメイン」に対する名前所有者の権限である。
多くの非DNS名前空間が存在する。例えば、TWITTER(登録商標)名前空間は、非DNSで、フラットで、パブリックの名前空間である。TWITTERはマイクロブログサービスであり、これを通じてユーザはショートメッセージを自身のフォロワーと共有することができる。各TWITTERアカウントは、「@example_brand」等の「@」文字で始まる文字列である一意の名前又は「ハンドル」を有する。
他の例示的な名前空間は、FACEBOOK(登録商標)名前空間及びLINKEDIN(登録商標)名前空間を含む。通常、これらのリソースに関して、ユーザは、それぞれhttp://www.facebook.com/example_user_name又はhttp://www.linkedin.com/example_user_nameの形態のURLを入力することによって例示的なユーザページにナビゲートされ得る。これらのURLの形態は、それぞれのリソース内にアカウントが存在する形態example_user_nameの全ての名前からなる名前空間を提供する。
別の名前空間は、電子メールアドレスの空間である。本明細書に開示される実施形態は、「user@example.com!home」等の形態のコマンド文字列を用いて、一般ユーザが電子メールアドレスによって例示的なユーザの個人ホームページ等の情報をルックアップすることを可能にすることができる。ここで、「user@example.com」は電子メールアドレスである。
更に別の例は、短縮されたURLによって規定される名前空間である。短縮されたURLは、潜在的に長く複雑なURLの略記版として採用されている。これらは通常、形態「name/code」を有する。ここで「name」は短いドメイン名であり、「code」は完全なURLへの特定の参照を識別する短い文字列である。本明細書に開示される実施形態に従って、ナビゲーションサービスによって、形態「bitly:name/code!keyword」のエントリを、短縮されたURL又はこの短縮されたURLが指すリソースに関する追加情報をルックアップする方法として処理することができる。
プライベート名前空間の例は、会社内のユーザのリスト、ユーザの自宅内等のローカルエリアネットワーク内のリソース及び/又はデバイスのリストを含む。
説明を明確にするために、ブランド(例えば、Gimbels)の所有者が、そのブランド(例えば、「gimbels」)に対応するドメインの登録者でもある使用事例の文脈において様々な実施形態を説明する。しかしながら、本発明はこの文脈のみに限定されるのではなく、この文脈を大きく超えた応用形態を有する。
図17は、本発明の原理による、エージェント1710によって所望のネットワークリソースにナビゲートするためのシステム1700の例を示す。図17の説明と共に、補完的な方法を説明する。示すように、システム1700はユーザ1705を含み、ユーザ1705はエージェント1710と通信し、エージェント1710はナビゲーションサービス1780と通信する。
様々な実施形態において、ユーザ1705は、所望のネットワークリソースを特徴付けるか、所望のネットワークに関するか、所望のネットワークリソースを指定するか、又は所望のネットワークリソースを他の形で記述する入力ナビゲーションデータ1751を提供することができ、少なくとも1つの提示されるサジェスト1714(以下で更に説明する)を指定又は選択する入力データ1726を提供することができる任意のものとすることができる。ユーザは、例えば、ナビゲーションデータ1751を適切なフィールドにタイプインするか、適合する構文を有するリンク上をクリックするか、そのようなデータを反映する音を捕捉することができるマイクロフォンに向かって話すことによって、ナビゲーションデータ1751を指定することができる。入力ナビゲーションデータ1751の1つの例は、文字列「gimbelsshoes」とすることができる。いくつかの実施形態では、ユーザ1705は、人間のユーザ、又は入力ナビゲーションデータ1751及び入力データ1726を提供する機能を実行するようにプログラムされたコンピューティングシステムとすることができる。
このため、ユーザ1705は、コンピュータ又はコンピュータコードの実行とすることができる。そのようなユーザは、入力ナビゲーションデータ1751、サジェスト選択データ1771及び入力データ1726のうちの任意のもの又はそれらの組合せを提供することができる。例えば、コンピュータコード(例えば、アプリケーション)を実行することによって、ナビゲーションデータ1751をナビゲーションサービス1780に自動的に提供することにより、1つ又は複数の規定のキーワードに関連付けられたコンテンツに自動でナビゲートされ得る。そのようなコンピュータコードの実行は、ナビゲートションデータをナビゲーションサービスに提供するときに人間のインタラクションを必要としない。
様々な実施形態において、エージェント1710(エージェント1710のうちの1つである「ナビゲーションクライアント」とも呼ばれる)は、本明細書において説明するようにユーザ1705及びナビゲーションシステム1780とインタラクトすることができる任意のものとすることができる。いくつかの実施形態では、エージェント1710は、ネットワークロケーションデータ1772又はネットワークロケータ1735〜1737によって指定されるネットワークリソースに接続し、このネットワークリソースとインタラクトすることもできる。エージェント1710は通常、ユーザ1705からの入力データを受理するか、受信するか、取得するか又は他の形でこの入力データにアクセスし、ナビゲーションサービス1780からのサジェストデータ1762及びネットワークロケーションデータ1772を受理するか、受信するか、取得するか又は他の形でこれらのデータにアクセスする。ユーザ1705は、例えば、文字をフィールドに入力するか、そのような文字を提供するリンクをクリックするか、オーディオ入力を提供することによって、そのような文字をエージェント1710に入力することができる。オーディオ入力に関して、未加工オーディオデータを、既知の技法を用いて、エージェント1710、ナビゲーションサービス1780、又はエージェント1710及び/若しくはナビゲーションサービス1780に通信可能に結合された別個のコンピュータ等の多岐にわたる手段のうちの任意のものによって、実施形態により使用可能な文字列に変換することができる。更にオーディオ入力に関して、ユーザ1705がトリガーワードを発したときにオーディオインタフェースが起動するように、トリガーワークを用いることができる。トリガーワードは例えば、「at」又は別の名前空間接頭語とすることができる。エージェント1710はまた、通常、ユーザ1705のためのサジェストデータ1762及びネットワークロケーションデータ1772を出力するか、送信するか、開くか、又は他の形でこれらのデータに関するアクセスを提供し、通常、ナビゲーションサービス1780のためのナビゲーションデータ1751及びサジェスト選択データ1771を出力するか、送信するか、開くか、又は他の形でこれらのデータに関するアクセスを提供する。エージェント1710の様々な実施形態は他の機能も実行することができる。様々な実施形態において、エージェント1710は、ソフトウェア、ファームウェア、ハードウェア又はそれらの任意の組合せで実施することができる。いくつかの例示的な実施形態において、エージェント1710は、中でも、ブラウザ、スタンドアロンアプリケーション、別のプログラムへのプラグイン又はアドオン(例えば、ブラウザプラグイン)、又はサービス、(例えば、ウェブサービス)とすることができる。エージェントは、スマートフォン等のモバイルデバイスにおけるナビゲーションアプリケーション(例えば、ブラウザ)内に存在することができる。エージェント1710は、ウェブブラウザと別としてもよく、ウェブブラウザ内のインタフェース又は制御部であってもよく、又は更にはウェブブラウザのアドレスバーの変更形態であってもよい。いくつかの実施形態では、エージェント1710は、上記のセクションIに開示したように、クライアントコンピュータ上又はウェブブラウザにおいて実装することができる。より詳細には、エージェント1710は、上記のセクションIにおいて開示されたウェブブラウザのいくつか又は全ての特徴、機能、通信、実施の詳細、コード、アルゴリズム、アーキテクチャ、構造及び特性を含むことができる。
様々な実施形態において、ナビゲーションサービス1780は、本明細書において説明されるエージェント1710及びユーザ1705とインタラクトすることができる任意のものとすることができる。ナビゲーションサービス1780は通常、ユーザ1705からの入力データを受理するか、受信するか、取得するか又は他の形でこの入力データにアクセスし、エージェント1710からのナビゲーションデータ1751及びサジェスト選択データ1771を受理するか、受信するか、取得するか又は他の形でこれらのデータにアクセスする。ナビゲーションサービス1780はまた、通常、エージェント1710のためのサジェストデータ1762及びネットワークロケーションデータ1772を出力するか、送信するか、開くか、又は他の形でこれらのデータに関するアクセスを提供する。様々な実施形態において、ナビゲーションサービス1780は、ソフトウェア、ファームウェア、ハードウェア又はそれらの任意の組合せで実施することができる。いくつかの例示的な実施形態において、ナビゲーションサービス1780は、中でも、スタンドアロンアプリケーション、サーバアプリケーション、別のプログラムへのプラグイン又はアドオン(例えば、ブラウザプラグイン)、又はサービス、(例えば、ウェブサービス)とすることができる。いくつかの実施形態では、ナビゲーションサービス1780及びエージェント1710は別個のコンピューティングシステムにおいて実装することができ、インターネット、又はインターネット及び携帯電話ネットワークの組合せ等のネットワーク(図示せず)を介して通信することができる。他の実施形態では、ナビゲーションサービス1780及びエージェント1710は、同じコンピューティングシステムにおいて、別個のプログラムとして又は同じプログラム内で実施することができる。いくつかの実施形態では、ナビゲーションサービス1780は、上記のセクションIにおいて説明したURLキーワード解決サーバにおいて、又はこのURLキーワード解決サーバとして実装することができる。より詳細には、ナビゲーションサービス1780は、セクションIにおいて開示されたURLキーワード解決サーバのいくつか又は全ての特徴、機能、通信、実施の詳細、コード、アルゴリズム、アーキテクチャ、構造及び特性を含むことができる。
図17の例に示すように、システム1700はエンティティ表現1720も含み、このエンティティ表現は、ナビゲーションサービス1780及びエージェント1710によって調査、アクセス及び他の形で利用される。いくつかの実施形態では、エンティティ表現1720は、上記のセクションIにおいて開示されたような記憶されたキーワードマッピング及び/又はキーワードレジストリデータベースのコンテンツとして実装することができる。より詳細には、エンティティ表現1720は、セクションIにおいて開示された記憶されたキーワードマッピング及び/又はキーワードレジストリデータベースのコンテンツのいくつか又は全ての特徴、機能、通信、実施の詳細、コード、アルゴリズム、アーキテクチャ、構造及び特性を含むことができる。
様々な実施形態において、エンティティは、例えばドメイン又は名前空間を含むネットワークリソースを制御するか、制御する権利を有するか、又はこのネットワークリソースに何らかの他の関心を有する何らかのものである。上記の例示的な使用事例から、Gimbelsは、Gimbelsが(おそらく商標登録された)ブランド「Gimbels」を所有することに起因して、かつ、Gimbelsがドメイン「.gimbels」の登録者であり、したがって、Gimbelsウェブページ等のネットワークリソースを指定する「.gimbels」で終わるドメインを制御する権利を有することに起因して、エンティティである。エンティティは、上記のセクションIにおいて説明したように、コンテンツ提供者及び/又はドメイン名管理者とすることができる。いくつかの実施形態では、エンティティは、名前所有者、又は名前所有者の代表者とすることができる。ここで、「名前所有者」という用語は、通常、名前が主に関連付けられ、所与の名前空間においてその名前を登録したユーザ又はエンティティを指す。知的財産構成に依拠して、「名前所有者」は名前に対する法的所有権を実際に有していない場合があるが、依然として、関連する情報及びサービスを識別するためのその名前の使用を促進することに主な関心を有する当事者である。いくつかの実施形態では、「zoo」等の一般的なエンティティ名は、例えば名前オークション等の様々な技法を介して特定のエンティティに関連付けられる。すなわち、一般的な名前は、場合によっては関連付けられたエンティティを有することができる。
いくつかの実施形態では、エンティティ表現1720を1つ又は複数のデータベース(例えば、1つ又は複数のディレクトリ)に記憶することができる。そのようなデータベースは、例えば第三者名前空間からの、第1の列のエンティティ名に含めることができる。このため、エンティティ名「gimbels」のための第1の列のエントリは、例えば、「@gimbels」(TWITTER名前空間に対応する)、「fb:gimbels」(FACEBOOK名前空間に対応する)、及び「.gimbels」(DNS名前空間に対応する)を含むことができる。これらのエンティティは、同じエンティティ表現データベース、別個のエンティティ表現データベース、又は1つ若しくは複数のデータベース内の別個のテーブルに含めることができる。名前空間ごとに別個のデータベース又はテーブルを用いる実施形態では、名前空間識別子は、記憶されるエンティティ名から省くことができ、代わりに各データベース又はテーブルは特定の名前空間で識別される。
様々な実施形態において、エンティティ(例えば、名前所有者)は、エンティティに合致するか、マッピングするか、又は他の形で対応するエンティティ識別(ID)データ1752(例えば、エンティティ名)を有する等の一定の特徴を有するナビゲーションデータ1715のために生成するか又は返すためのサジェストデータ1762を、ナビゲーションサービス1780にプロビジョニングするか、指示するか、セットアップするか、命令するか、又は他の形で指定することができる。いくつかの実施形態では、この点に関するエンティティの規定又は命令は、エンティティ表現1720に記憶するか若しくは他の形で表すことができ、かつ/又はマッピング1782、マッピング1784、及び/若しくはルックアップ1787の機能に影響を及ぼし得る。いくつかの実施形態では、エンティティは、エンティティ表現1720、並びに/又は、ナビゲーションサービス1780中のマッピング1782、マッピング1784、及び/若しくはルックアップ1787の機能を操作することができ、それによって、サジェストデータ1762及び/又はネットワークロケーションデータ1772が頻繁に変動する。他の実施形態では、エンティティ以外の何らかのものが、ナビゲーションデータ1751の特性に従って生成するか又は返すためのサジェストデータ1762を、ナビゲーションサービス1780に指示するか、セットアップするか、命令するか、又は他の形で指定することができる。いくつかの実施形態では、サジェストデータ1762は1つ若しくは複数のキーワードを含むか、又はこれらからなる。「キーワード」は、複数の別個の語を連結したもの、例えば「shoesonsale」であってもよいことに留意されたい。
図17の例示的な図では、エンティティ表現1720の各行1731〜1734は、異なるエンティティを表すか又は異なるエンティティに関連付けられたデータを含む。示すように、表現される任意の数「n」のエンティティが存在し得る。示すように、各行の第1の(最も左側の)列は、エンティティのための識別子を含み、この例では、行1731はエンティティ識別子「entity 1」から開始し、行1732はエンティティ識別子「entity 2」から始まる等である。いくつかの実施形態では、エンティティ識別子は名前空間からの名前である。各行の次の2つの列は、任意の数「m」のサジェスト、及び第1の列において識別されるエンティティに関連付けられたネットワークロケータを含む。このため、この例では、各エンティティと、その関連付けられたサジェスト及びネットワークロケータとの間に1対多の関係(例えば、1対m)が存在する。
図1の項目1735〜1737は、「entity n」123の行1734の最後の2つの列の拡張又は追加の詳細を示す。項目1735〜1737は、「m」個のネットワークロケータが存在すること、及びしたがってエンティティnについて表される最大「m」個のネットワークリソースが存在することを示す。示すように、項目1735〜1737のそれぞれは、右側の列内の各ネットワークロケータに関連付けられた左側の列内の1つ又は複数のサジェスト(キーワードとすることができる)を含む。例えば、エンティティn1723のための項目1735は、「ネットワークロケータ1」1725のための1つ又は複数の「サジェスト」1724を含む。このため、この例では、サジェストと、これらのサジェストに関連付けられたネットワークロケータとの間に(1つ又は複数)対1の関係(例えば、≧1対1)の関係が存在する。
様々な実施形態において、ネットワークロケータ(例えば、「ネットワークロケータ1」1725)は、エージェント1710及び/若しくはユーザ1705がネットワークリソースを位置特定することを可能にするのに十分なデータ、並びに/又は、エージェント1710及び/若しくはユーザ1705がそのネットワークリソースにアクセスすることを可能にするのに十分な情報である。ネットワークロケータの例は、中でも、URL、URI、URN、IPアドレス及びDNS Aレコードを含む。様々な実施形態において、サジェスト(例えば、「サジェスト」1724)は、サジェストが関連付けられるネットワークロケータを用いてアクセス可能なネットワークリソースをサジェストするか又は他の形で記述するデータ又はコードである。いくつかの実施形態では、サジェストは、人間(例えば、ユーザ1705)が、対応するネットワークリソースに導かれるか、このネットワークリソースを考慮するか、検討するか、又は他の形で想起するようにさせる単語、画像、ビデオ等の表現を含むか又は可能にする。サジェストはアプリケーションを含むことができ、これらのアプリケーションは、サジェストデータ1762を生成するためにナビゲーションサービス1780によって実行されるアプリケーション、及び/又はエージェント1710によって実行されるようにサジェストデータ1762において送信されるアプリケーションを含む。いくつかの実施形態では、サジェストデータ1762は1つ又は複数のキーワードを含むかこれらのキーワードからなる。サジェストの1つの例は、靴を購入するためのGimbel小売ウェブページを指すネットワークロケータ(例えば、ネットワークロケータ「http://www1.gimbels.com/shop/clothing/shoes」)に関連する文字「gimbels.shoes」である。サジェストの別の例、この例ではキーワードは、「Gimbels」のエンティティ名及び靴を購入するためのGimbel小売ウェブページを指すネットワークロケータに関連する文字「shoes」である。
「プロビジョニング」という用語は、本明細書において用いるとき、管理サービスの集合を指し、この管理サービスによって、エンティティ(例えば、名前所有者)は、エンティティ表現エントリを作成、更新及び削除し、また他の形で名前とキーワードとの組合せに関する情報を維持管理する。プロビジョニングインタフェースは、例えばウェブインタフェースを用いて実装することができる。
いくつかの実施形態では、名前所有者は、自身の関連付けられたエンティティ表現データをプロビジョニングすることを許可する前に、自身を認証することを要求される場合があり、認証を行うための多くの可能な技法が存在する。いくつかの実施態様では、名前所有者は、自身が実際に当該のエンティティ名に関連付けられていることを実証する。これは、まず認証証明を確立するときに、例えば名前所有者がナビゲーションサービスを用いてアカウントをサインアップするときに達成することができる。例えば、名前空間が電子メールアドレスからなるとき、確認メッセージを指定された電子メールアドレスに送信することができる。その確認メッセージの受信に成功したことの証拠(例えば、返信電子メールによるか又は電子メール内のURLにおける特定のデータの受信による)が、電子メールアドレスの所有権を実証することができる。別の例として、名前空間がソーシャルネットワーク(例えば、FACEBOOK)のうちの1つからのものである場合、名前所有者が、そのソーシャルネットワークからの証明書を用いてナビゲーションサービスにログインすることが可能である場合があり、これは、対応する名前の所有権を実証することができる。ドメイン名の所有権の実証のためのメカニズムは、ドメイン名管理の分野において既知であり、本明細書において検討されるプロビジョニング動作のために用いることができる。
TWITTER名前空間におけるプロビジョニングは、既存のTWITTER認証技法を用いて達成することができる。すなわち、プロビジョニングユーザがTWITTERのサービスにメッセージをポストするとき、TWITTER自体がTWITTERユーザを認証し、このためツイートは関連付けられた名前の所有権の証拠を自動的に保有する。このため、ナビゲーションサービスのプロビジョニング動作への直接ツイートは、ナビゲーションサービスのエンティティ表現における情報を更新する認証済み要求として受理することができる。例えば、「update#news<URL>」の形態の「@example_brand」から「@provisioning_operation」へのツイート又はTwitter「直接メッセージ」を用いて、「<URL>」への「@example_brand#news」に関連付けられたネットワークロケータを更新することができる。この例を継続すると、いくつかの実施形態の場合、ウェブインタフェースも電子メールも要求されず、単にプロビジョニング動作への直接のツイートが要求される。プロビジョニング動作への「ツイート」チャネルは、新たなエンティティ名、キーワード及びネットワークロケータを設定することを含む、より広いコマンドセットをサポートすることができる。
FACEBOOK(登録商標)及びLINKEDIN(登録商標)等のソーシャルネットワークにおけるプロビジョニングは、それぞれの環境内で専用アプリケーションを介してある特定のキーワードコンテンツを「共有」することによって達成することができる。
様々な実施形態において、エンティティ表現1720は、コンピュータ科学分野で既知であるように、ディレクトリ、データベース、データ構造、ルックアップテーブル、アレイ、レコード、直線コード等の複数の方法で実施することができる。また、様々な実施形態において、エンティティ表現1720は、ナビゲーションサービス1780の一部として、別個のサービスとして、別個のデータベースシステムにおいて、又はコンピュータ科学分野で既知の様々な他の方法で実施することができる。厳密な実施態様は本発明にとって重要でない。
動作時に、図1に示すシステム1700の実施形態は、靴ショッピングの例示的な使用事例に関して以下で説明したように機能することができる。この例では、ユーザ1705は、靴を購入するために小売店Gimbelsのウェブページに接続し、このウェブページとインタラクトすることを望む人間である。これを行うために、ユーザ1705は、入力ナビゲーションデータ1751(「コマンド文字列」とも呼ばれる)をエージェント1710に提供し、このデータ1751は通常、望まれているものを記述する。ユーザ1705は人間又はプログラムされたコンピュータとすることができ、コマンド文字列1751は、フィールドにタイプインするか、リンクをクリックするか、又はマイクロフォンに向かって話すことによって取得することができる。エージェント1710は、ナビゲーションサービスのためのネットワークロケータを、自身のソフトウェアにハードコーディングさせることができる。いくつかの実施形態では、ユーザ1705は、エージェント1710への入力ナビゲーションデータ1751として文字列をタイプインすることができる。特定の例では、ユーザ1705は、エージェント1710を含むブラウザのナビゲーションバー又はオムニバーに、「gimbelsshoes」、「@gimbels!shoes」、「gimbels.shoes」又は「.gimbels!shoes」をタイプインすることができる。エージェント1710は、ナビゲーションデータ1751をナビゲーションサービス1780に提供することができる。このため、エージェント1710は、要求メッセージを導出するために、ナビゲーションデータ1751の構文を処理することができ、この要求メッセージはナビゲーションサービスに送信される。
いくつかの実施形態では、エージェント1710は、ナビゲーションデータ1751が(例えば一度に1文字ずつ)入力されるときにナビゲーションデータ1751を連続して提供することができる。他の実施形態では、エージェント1710は、ナビゲーションデータ1751を、指定された名前空間識別子、デリミタ、トリガー文字、シンボル等(例えば、ピリオド「.」、スラッシュ「/」、コロン「:」、スペース「 」、「@」、「!」、「|」、「fb」、「in」等は部分同士を区別することができる)によっておそらく区別若しくは分離されるような、パーツ、セクション、又は他の部分に分けて提供することができる。例えば、そのような実施形態では、デリミタ又はトリガー文字として「.」を認識することに基づいて、入力データ「gimbels.shoes」を2つのパーツ「gimbels」及び「shoes」に分けて提供することができる。他の実施形態では、関連する名前空間(ここでは「@」シンボルによってTWITTERであると特定される)の標識とともに、コマンド文字列「@gimbels!shoes」を、「gimbels」及び「shoes」の2つのパーツに分けてナビゲーションサービス1780に提供することができる。他の実施形態では、コマンド文字列「@gimbels!shoes」は、ナビゲーションサービス1780に一度に1文字ずつ提供することができ、ナビゲーションサービス1780はこれを累積して最終コマンド文字列を形成する。そのような実施形態では、区切り文字は伝達してもしなくてもよい。また更なる実施形態では、コマンド文字列「@gimbels!shoes」は、コマンド文字列の複数の反復において、連続してより完全なパーツでナビゲーションサービス1780に提供することができる。ここで、最終バージョンは、完全なコマンド文字列となり、例えば、まず「@」、次に「@g」、次に「@gi」、次に「@gim」、次に「@gimb」等である。また他の実施形態では、エージェント1710は、ナビゲーションデータ1751を完全な状態でのみナビゲーションサービス1780に提供することができる。
いくつかの実施形態では、エージェント1710は、入力されたコマンド文字列から導出されるクエリ文字列を導出し、これを要求に応じてナビゲーションサービスに送信することによって、コマンド文字列の構文を扱うことができる。このような実施形態では、ナビゲーションデータ1751「@example_brand#news」は、ナビゲーションサービスに送信するために、例えば、「example_navigation_service.com/lookup?name=%40example_brand&keyword=news」に変換される(ここでは、クエリ文字列は「?name」から開始する部分である。表記「%40」は「@」シンボルを表し、これは従来のURLのこの部分では許可されない)。このような実施形態の利点は、構文が連続して発展することができることであり、解決が、2つ以上あり得るナビゲーションサービス1780の利用可能性にのみ依拠することである。
いくつかの実施形態では、エージェント1710は、特定のフォーマットを有する従来のURLにナビゲーションデータ1751を直接マッピングする。例えば、コマンド文字列「@example_brand#news」は、ナビゲーションサービス1780へのリクエストとして送信するために、又は従来のDNS(図17に示さず)を用いた解決のために、「twitternavigator.net/example_brand/news」に変換することができる。そのような実施形態のためのナビゲーションサービスは、例えば、TWITTER名ごとに1つ、FACEBOOK名ごとに1つ等、様々な構文に対応するウェブサービスの集合として実施され得る。
いくつかの実施形態では、エージェント1710は、構文に基づいて、入力されたナビゲーションデータ1751が従来のURLであるか又はスマートナビゲーションコマンド文字列であるかを判断し、従来のURLである場合、エージェント1751は従来のDNSシステムを用いてこれを処理することができ、スマートナビゲーションコマンド文字列である場合、エージェント1719はこれを本明細書において開示するように処理することができる。
ナビゲーションデータ1751のタイプ及びフォーマットに依拠して、上記の例示的な実施形態の組合せを含む、コマンド文字列構文処理に関する他の実施形態が可能である。
ユーザが完全なコマンド文字列の完成したエントリを有する前に、エージェント1710がコマンド文字列の初期部分をナビゲーションサービスに提供する実施形態の場合、エージェント1710は、完全なエンティティ名の既に入力された部分に合致するエンティティ名のサジェストを表示することができる。すなわち、エージェント1710は、エンティティ名がユーザによって入力されるとき、エンティティ名の初期セグメントをナビゲーションサービス1780に伝達することができる。ナビゲーションサービス1780は、文字の同じ(及び/又は類似した)初期セグメントで開始するエンティティ名のリストを、この初期セグメントとエンティティ表現1720のコンテンツとの照合に基づいてエージェント1710に提供することができる。エージェントはリストを受信し、メニュー、例えばドロップダウンメニュー等において、リストのコンテンツの全て又はいくつかをユーザに表示するか又は他の形で提示することができる。ユーザ1705は、メニューに提示される完全な(又は部分的に完成した)エンティティ名を、従来の方式で、例えばそのエンティティ名をクリックすることにより選択することができる。そのような実施形態では、提示されるエンティティ名をクリックすることによって、エントリフィールドを、(完全な又は部分的に完成した)エンティティ名及び任意の関連付けられた名前空間識別子シンボルで自動的に埋めることができる。いくつかの実施形態では、これが行われると、エージェント1710はナビゲーションサービス1780と通信して、選択されたエンティティ名に関連付けられたキーワードのリストを取得し、ユーザ1705に提示することができる。このオプションは以下で更に検討される。
提供されるサジェストによりエンティティ名を完成させることの例として、部分的な文字列「@thenew」をエージェント1710に提供することを考える。エージェントは、部分的データをナビゲーションサービス1780に提供するように構成される場合、この部分的データをナビゲーションサービス1780に提供することができる。ナビゲーションサービスは、部分的な文字列「@thenew」を、2つ以上のエンティティ名、例えば「@thenewyorktimes」及び「@thenewyorkyankees」と照合することができる。そして、ナビゲーションサービス1780は、サジェストされる完成形「@thenewyorktimes」、「@thenewyorkyankees」及び「@thenewyork」をエージェント1710に提供することができる。最初の2つのサジェストは、ナビゲーションサービス1780によって記憶される実際のエンティティ名であるのに対し、第3のサジェストは、サジェストされる部分的完成であり、これは記憶されているエンティティ名に到達するために2つ以上の形で完成させることができる。エージェント1710は、3つのサジェストされる完成形を、例えばポップアップメニューでユーザ1705に提示することができる。一方で、ユーザが最初の2つのサジェストのうちのいずれかを選択する場合、プロセスは、例えば、ユーザ1705に選択されたエンティティ名に関連付けられたキーワードのリストを提示することができる。これについては以下で更に検討する。他方で、ユーザが第3のサジェストされる完成形を選択する場合、エージェント1710は選択をナビゲーションサービス1780に通信することができ、ナビゲーションサービス1780は、これを「@thenewyorktimes」又は「@thenewyorkyankees」のいずれかによって完成させることができると判断することができる。ナビゲーションサービス1780は、これらのサジェストをエージェント1710に提供することによって応答することができ、エージェント1710はこれらのサジェストを、例えばポップアップメニューでユーザ1705に提示することができる。この時点で、ユーザ1705はいずれかのサジェストを選択することができ、プロセスは、例えば、エージェント1710がキーワードのサジェストされる完成形をナビゲーションサービス1780から取得し、これらをユーザ1705に提供することによって継続することができる。この段落において検討されるように、エンティティ名サジェストを提供するプロセスは、エージェント1710からナビゲーションサービス1780に部分データを提供する実施形態においてインタラクティブであることができ、この点で、最終的なエンティティ名がユーザ1705によって選択される前に複数のインタラクションを引き起こすことができる。
提供されたエンティティ名に応答してエンティティ名サジェストを提供することに関して、実施形態は、厳密な初期セグメントの完成に限定されないことに留意されたい。このため、例えば、ユーザが部分的文字列「@gimb」をエージェント1710に提供しようとした場合、いくつかの実施形態では、エージェント1710及びナビゲーションサービス1780がインタラクトし、サジェストされる完成形「@gimbels」及び「@bimbals」(「@bimbals」は、ナビゲーションサービス1780によりプロビジョニングされるエンティティ名であると仮定する)をユーザ1705に提供することができる。様々な既知の技法を用いて、この照合、例えば、制限付き編集距離検出等を行うことができる。
いくつかの実施形態では、エージェント1710は、入力(又は選択)されたエンティティ名又はエンティティ識別情報が、関連付けられたキーワード及び/又はサジェストを有するという標識を提供する。すなわち、ユーザがコマンド文字列を入力するとき、エージェント1710は、エンティティ表現1720に含まれるエンティティの入力時にユーザに警告することができる。これらの実施形態は、エージェント1710がナビゲーションデータ1751を、パーツ、セクション、又は他の部分に分けてナビゲーションサービス1780に提供し、例えば、キーワードデリミタの入力時にエンティティ識別情報を提供する実施態様に特に適している。例示的な標識は、エージェント1710のエントリフィールドの色を変更する(例えば、ブラウザオムニバーの背景色を白から緑に変更する)こと、聴覚アラート(例えば「ビープ」)を発すること、及び入力されたエンティティ名に関連付けられたエンティティ表現1720に存在するキーワードのリストを提供することを含むことができる。この後者のバリエーションは、プレビューページをユーザに提示する形態をとり得る。ここで、プレビューページは、関連付けられたプロビジョニングされたキーワードとともにエンティティ名を提示する。
ナビゲーションデータ1751を受信すると、ナビゲーションサービス1780はデータを処理して、ナビゲーションデータ1751を分類、分割、パース又は他の形で分離して、エンティティIDデータ1752及び補足データ1753にすることができる。いくつかの実施形態では、補足データ1753は、例えば、「!」等のキーワードデリミタ文字又はシンボルをプリペンドされる1つ又は複数のキーワードとすることができる。そのような実施形態では、サジェスト1724〜1728のうちのいくつか又は全てをキーワードとすることができる。いくつかの実施形態では、ナビゲーションデータ1751は、ナビゲーションサービス1780によって受信される前に、エージェント1710によって分離することができる。様々な実施形態において、エンティティIDデータ1752は、ナビゲーションサービス1780が、図17に矢印1783で表される「エンティティn」1723等のエンティティ表現1720の少なくとも1つの対応するエンティティを識別するか若しくはこれにマッピングする(1782)か、又は他の形でこれを求めるのを可能にするのに十分なデータである。
前の例示的な使用事例を継続するコンテキストにおけるこの機能について考えると、ナビゲーションサービス1780は、エンティティIDデータ1752「gimbels.」を、エンティティ表現1720の第1の列において識別子「.gimbels」にマッピングする(1782)ことができる。この例では、エンティティ表現1720における識別子「.gimbels」は、登録者小売店Gimbelsによって制御される最上位レベルドメインであり、ナビゲーションサービス1720は、「gimbels.」を「.gimbels」にマッピングする。なぜなら、トリガー文字「.」を無視すると、「gimbels」と「gimbels」とで正確な文字列合致となるためである。別の例として、ナビゲーションデータ1751からのコマンド文字列「@gimbels!shoes」について、ナビゲーションサービス1780は、名前空間識別子「@」を考慮して、エンティティ名「@gimbels」をエンティティ表現1720の第1の列内の識別子「@gimbels」にマッピングすることができる。様々な実施態様が、正確な文字合致に加えて、又はその代わりに、エンティティIDデータ1752をエンティティ識別子1723にマッピングするか、又は他の形でエンティティ表現1720内のエンティティIDデータ1752に対応する1つ若しくは複数のエンティティ識別子1723を識別するための、当該技術分野において既知の様々な他の技法及びアルゴリズムを用いることができる。更に、様々な実施態様は、ユーザ1705のコンテキスト又はアイデンティティに従って制約されるマッピングを含むことができる。例えば、モバイルデバイスのコンテキストにおいてエージェント1710を利用しているユーザ1705の場合、ナビゲーションサービスは、マッピング1782及び/又は1784を、モバイルデバイスに適した名前空間(例えば、エンティティ識別子1723)並びに/又はサジェスト(例えば、キーワード)1724及びネットワークロケータ1725(例えば、靴を購入するためのGimbels小売ウェブページのモバイルデバイス版に対応するネットワークロケータ1725)に制約することができる。正確なマッピング実施は、本発明にとって重要でない。
エンティティIDデータ1752をエンティティ識別子「エンティティn」1723にマッピングした後、次に、ナビゲーションサービス1780は、補足データ1753を、エンティティ識別子「エンティティn」1723に関連付けられた1つ又は複数のサジェストにマッピングする(1784)ことができる。様々な実施形態において、補足データ1753は、ナビゲーションサービス1780が、補足データ1753(例えばキーワード)に対応するエンティティn1723に関連付けられた少なくとも1つのサジェストを識別するか、又はこれにマッピングするか(1784)、又は他の形でこれを求めることを試みることを可能にするのに十分なデータである。示す例では、矢印1785及び1786によって表されるように、ナビゲーションサービス1780は、補足データ1753をサジェスト1724及び1728(例えば、キーワード)にマッピングする。別の例として、入力されたコマンド文字列「@gimbels!shoes」について、ナビゲーションサービスは補足データ1753としてキーワード「shoes」を用いることができ、この例では、キーワード「shoes」は、エンティティ表現1720に記憶されているサジェスト1724又は1728「shoes」にマッピングする(1784)ことができる。なぜならキーワード文字列「shoes」はサジェスト文字列「shoes」と互いに厳密に合致するためである。
前の例示的な使用事例を継続するコンテキストにおけるこの機能について考えると、ナビゲーションサービス1780は、補足データ1753「shoes」を、エンティティ識別子「.gimbels」に関連付けられたサジェスト1724「gimbels.shoes」にマッピングする(1784)ことができ、また、補足データ1753「shoes」を、エンティティ表現1720におけるエンティティ識別子「.gimbels」に関連付けられたサジェスト1728「gimbels.shoes−on−sale」にマッピングすることもできる。いくつかの実施形態では、ナビゲーションサービス1780は、1つ又は複数のキーワードの形態の補足データ1753を、エンティティ表現1720に既に入力されたエンティティ名1723に関連付けられた1つ又は複数のキーワードの形態のサジェストにマッピングする(1784)。様々な実施態様は、部分的文字照合に加えて、又はこの代わりに、マッピング1784のための当該技術分野において既知の様々な他の技法及びアルゴリズムを用いることができる。これには、ユーザ1705のコンテキスト又はアイデンティティに従って制約されるマッピングを含めることができる。厳密な実施態様は本発明にとって重要でない。
図17の例に示すように、ナビゲーションサービス1780は、マッピング先サジェスト1724及びマッピング先サジェスト1728をサジェストデータ1762としてエージェント1710に送信する。様々な実施形態において、サジェストデータ1762は、エンティティ表現1720におけるマッピング先サジェスト(例えば、サジェスト1724及びサジェスト1728)を表すデータであり、ユーザ1705にデジタルで、視覚的に、可聴的に又は他の形で提示することができるデータである。上記に記載したように、いくつかの実施形態では、サジェストデータ1762は、エージェント1710によって実行することができる実行可能コード等を含むことができる。いくつかの実施形態では、サジェストデータ1762は、ユーザエージェント1710をホスティングするデバイスによる提示のためにカスタマイズすることができる。前の例示的な使用事例を継続すると、ナビゲーションサービス1780は、文字列「gimbels.shoes」及び文字列「gimbels.shoes−on−sale」を含むサジェストデータ1762を送信することができる。(正確なフラグメント完成がキーワードの完成をサジェストする1つの方法にすぎないことに留意されたい。部分的合致を求める他の方法も用いることができる。例えば、ユーザが「@gimbels!skoes」をエージェント1710に提供する場合、実施形態は、既知のヒューリスティックな照合技法(例えば制限付き編集距離)を用いて、部分的文字列「!skoes」を「!shoes」に合致させることができる。
サジェストデータ1762を受信すると、エージェント1710はサジェストデータをユーザ1705に提示し、ユーザ1705がサジェストのうちの少なくとも1つを選択することを可能にすることができる(1714)。例示的な使用事例を継続すると、エージェント1710を実施するブラウザは、ユーザ1705が、入力データ1726によって表されるようなサジェストのうちの1つを、タッチスクリーン又はマウスを用いて選択することを可能にする、選択可能なリスト又はドロップダウンメニューにおいて、サジェストデータ1762「gimbels.shoes」及び「gimbels.shoes−on−sale」を表示することができる。このため、部分的なエンティティ名についてサジェストされる完成形を提供するプロセスに関して、このプロセスはインタラクティブであり得る。ユーザインタフェースの分野において既知であるように、ユーザが選択可能なリスト又はドロップダウンメニューにおいて選択するか又は選ぶことができる多数の方法のうちの1つの例は、所望のメニュー項目の上にマウスポインタを置き、左マウスボタンをクリックして入力データ1726を作成することである。様々なデータの選択肢を提示し、ユーザが、実施するのに用いることができる1つ又は複数を選ぶか又は選択することを可能にする(1714)、コンピュータ科学の分野において既知の多くの他の方法及び技法が存在し、厳密な実施態様は本発明にとって重要でない。
いくつかの実施形態では、認識されるエンティティ名又はエンティティ識別情報又は他の名前空間識別情報の入力時に、エージェント1710は、入力されたエンティティ名に関連付けられるエンティティ表現1720に存在するキーワードサジェストのうちのいくつか又は全てを、メニュー、例えばドロップダウンメニューにおいてユーザに提供することによって、提供することができる。ユーザ1705は、メニューに提示されるキーワードを、従来の方式で、例えばキーワードをクリックすることによって選択することができる。そのような実施形態では、提示されるキーワードを選択することによって、キーワード及び任意の関連する区切り文字を用いてエントリフィールドを自動的に埋めることができ、入力されるエンティティ名及び選択されたキーワードを要求(例えば、ナビゲーションデータ1751)としてナビゲーションサービス1780に伝達することができる。特定の例として、ユーザは「@gimbels」をエージェント1710の入力フィールドに入力することができ、エージェント1710はこの情報をナビゲーションサービス1780に伝達することができる。ナビゲーションサービス1780は、関連するサジェスト(キーワード)のリストで応答することができる。このリストは、エージェント1710が、ユーザが選択することができるドロップダウンメニュー(例えば、「shoes」、「men’sclothes」、「women’sclothes」等を含む)でユーザに表示することができる。このため、ユーザは、入力されたエンティティ名に対応する複数のサジェストされるキーワードを提示される。更に、ナビゲーションサービス1780からリストを受信し、このためそのエンティティ名についてのエントリの存在を確認すると、エージェント1710は、例えば入力フィールドの色を灰色から青色に変更することによって、エンティティ名が認識されているという標識を提供することができる。
提示されたサジェストの選択を示すユーザの入力1726に基づいて、エージェント1710はサジェスト選択データ1771をナビゲーションサービス1780に送信する。様々な実施形態において、サジェスト選択データ1771は、サジェストデータ1762においてエージェント1710に以前に送信されたサジェストのうちの1つに対応する。図17の例において、ナビゲーションサービス1780はサジェスト選択データ1771を用いて、矢印1788によって表されるように、エンティティ表現1720における対応するサジェスト1728をルックアップするか(1787)又は他の形で見つける。次に、ナビゲーションサービス1780は、ルックアップされたサジェストに対応するネットワークロケータを特定し(図17の例では、「ネットワークロケータm」1729は、サジェスト1728が同じ行に記憶されているので、サジェスト1728に対応する)、このネットワークロケータをネットワークロケーションデータ1772においてエージェント1710に返すことができる。
いくつかの実施形態では、ナビゲーションサービス1780は、サジェストを(例えば、サジェストデータ1762の一部として)提供するのと同時に、ネットワークロケータをエージェント1710に提供する。そのような実施形態では、エージェント1710は、ユーザによって選択されたサジェストに対応するネットワークロケータを得るために、ナビゲーションクライアント1780との追加の通信(例えば、サジェスト選択データ1771を送信し、ネットワークロケーションデータ1772を受信する)に携わる必要がない。一方、いくつかのこのような実施形態では、エージェント1710は、いずれのネットワークロケータをユーザが選択したかを示すデータをナビゲーションサービス1780に送信することができる。
上述したように、いくつかの実施形態は、ユーザ1705のコンテキスト又はアイデンティティに従って制約されるマッピングを用いることができる。このため、エージェント1710は、ネットワークロケーションデータ1716等のコンテキストデータを、ナビゲーションサービス1780に提供する(1722)ことによって利用する(1772)ことができる。これは、ユーザ入力を必要とすることなく自動的に行うことができる。ナビゲーションサービス1780は、ネットワークロケーションデータ1716を用いて、エンティティ表現1720内の合致したサジェスト1728に対応するのみでなく、コンテキストデータに基づいてトポロジー的にエージェント1710の近くに位置するネットワークロケータ1737をルックアップするか(1787)又は他の形で求めることができる。いくつかの実施形態は、様々な地理的ロケーション又はネットワークロケーションに対応する様々なネットワークロケータと対にされた同じサジェスト1728を含む複数の行を記憶することによってこれを達成することができる。代替の実施形態において、ナビゲーションサービス1780は、エージェント1710に、これらのエージェントの地理的ロケーション又はネットワークロケーションを反映する情報とともに、複数のネットワークロケータを提供することに留意されたい。そのような実施形態では、エージェント1710はコンテキスト情報を用いて、トポロジー的に又は地理的に最も近いネットワークロケータを選択することができる。
いくつかの実施形態では、コンテキストデータは、初期ナビゲーションデータとともに、エージェント1710によって供給することができる。例えば、ナビゲーションサービス1780は、ナビゲーションデータ1751の一部としての地理的情報とともに、「@zoo」等の一般的なエンティティ名のための文字列を受信することができる。ナビゲーションサービス1780は、このエンティティIDを複数のエンティティ1723と照合し、提供された地理的データに最も近いものを選択し得る。代替的な実施形態では、ナビゲーションサービス1780は、複数のネットワークロケータをエージェント1710に提供し、エージェント1710はコンテキストデータに基づいて最も近いネットワークロケータを選択する。
ネットワークロケーションデータ1716は、実施形態とともに使用可能なコンテキストデータのタイプの1つにすぎないことに留意されたい。他のタイプのコンテキストデータは、限定ではないが、言語タイプ、認証情報、IPアドレス、評判データ、ユーザ名/パスワード、暗号化方式、ハードウェアキー、ジオロケーション情報、指紋識別情報、秘密鍵/公開鍵認証方式を用いた暗号化パッケージ、マシンハードウェアID、製品若しくはライセンスID、セキュリティポリシー証明、又は他の考え得るユーザ識別情報若しくはマシン識別情報を含むことができる。これらの例及び更なる例が、2013年3月14日に出願された「Adaptive Name Resolution」と題する特許文献4において詳細に検討されている。この特許文献の開示は、参照によりその全体が本明細書に組み込まれている。
Gimbelsの例示的な使用事例を継続すると、ユーザ1705がドロップダウンメニューから「gimbels.shoes」を選択する場合、ナビゲーションサービス1780は、エンティティ表現1720においてサジェスト「gimbels.shoes」をルックアップし(1787)、対応するネットワークロケータとして「http://www1.gimbels.com/shop/clothing/shoes」を見つけることができる。次に、ナビゲーションサービス1780は、ネットワークロケーションデータ1772において文字列「http://www1.gimbels.com/shop/clothing/shoes」を送信することができる。
図17に示すように、エージェント1710は様々な目的でネットワークロケーションデータ1772を利用することができる。様々な実施形態において、エージェント1710は、ネットワークロケーションデータ1772を利用して、ネットワークロケーションデータ1772によってアドレス指定されるか又は識別されるネットワークリソースにナビゲートするか、直接接続されるか、このネットワークリソースとインタラクトするか、又は他の形でこのネットワークリソースにアクセスすることができる。ネットワークロケータ1725〜1729がサジェストデータ1762においてサジェスト1724〜1728とともに送信されるいくつかの実施形態では、エージェント1710は、ユーザがキーワード等の対応するサジェストを選択するときに、ネットワークロケータによってアドレス指定されるか又は識別されるネットワークリソースに自動的にナビゲートするか、直接接続されるか、このネットワークリソースとインタラクトするか、又は他の形でこのネットワークリソースにアクセスすることができる。
Gimbelsの例示的な使用事例を継続すると、エージェント1710は、ネットワークロケーションデータ1772から文字列「http://www1.gimbels.com/shop/clothing/shoes」を抽出し、これをブラウザに入力することができる。ブラウザは、この文字列を任意の他のURLのように解決し、ユーザ1705が靴を購入するための対応するGimbelsウェブページをレンダリングすることができる。例えば、ブラウザは、ドメイン名サーバとコンタクトして、ネットワークロケーションデータに対応するインターネットプロトコルアドレスを取得し、次にそのインターネットプロトコルアドレスにナビゲートすることができる。
Gimbelsの例示的な使用事例の結論として、エージェント1710、例えばブラウザは、オプションでエンティティ名とサジェスト(例えば、キーワード)との組合せを表示することができる。そのような表示は、ナビゲーションバー又はオムニバーにあり得る。いくつかの実施形態では、エージェントはネットワークロケータ1725〜1729又はネットワークロケーションデータ1772、例えばURLをブラウザのナビゲーションバー又はオムニバーに表示することができる。いくつかの実施形態では、エージェント1710は、一方ではエンティティ名とサジェスト(例えば、キーワード)との組合せを表示することと、他方で、ネットワークロケータ又はネットワークロケーションデータ、例えばURLを表示することとの間で切り替えることができる。そのような切り替えは、ユーザ入力、例えばユーザ1705が専用ソフトボタンをアクティベートすることによって開始することができる。いくつかの実施形態は、エンティティ名及びサジェスト(例えばキーワード)の組合せと、ネットワークロケータ又はネットワークロケーションデータとの双方を表示する。
概して、いくつかの実施形態はリダイレクトを用いることができる。そのような実施形態では、ユーザ1705が、エンティティIDデータ1752(例えば、名前空間識別子を含むことができるエンティティ名)及び補足データ1753(例えば、キーワード)を含むコマンド文字列を選択するか又は他の方法でエージェント1710に入力し、エージェント1710が対応する要求をナビゲーションサービス1780に伝達すると、ナビゲーションサービス1780は同じ特殊フォーマットを利用するリダイレクトを実行することができる。リダイレクトはエンティティ名所有者(例えば、名前空間所有者)がプロビジョニングしたプリファレンスに基づくことができる。プリファレンスは、緊急性がある懸念事項又は他の特別な懸念事項を反映することができる。例えば、ユーザは、エージェント1710を備えるブラウザのナビゲーションバーに「@gimbels!shoes」を入力することができる。エージェント1710は、対応する要求を(例えばナビゲーションデータ1751を介して)ナビゲーションサービス1780に伝達する。ナビゲーションサービス1780は、要求のデータを、異なるコマンド文字列、例えば「@gimbels!shoes_on_sale_January_2014」に対応する異なるデータに照合するか又は他の形でマッピングすることができる。そのようなマッピングは、名前所有者自体によって指定することができ、ユーザに不可視とすることができる。次に、ナビゲーションサービス1780は、適切な対応データ(例えば、ネットワークロケータ1725〜1729)をエージェント1710に提供することができる。このデータは、リダイレクトがユーザに不可視になるように元のコマンド文字列(ここでは、「@gimbels!shoes」)を反映するデータと合わせて、又は新たなコマンド文字列(ここでは、「@gimbels!shoes_on_sale_January_2014」)を反映するデータと合わせて提供することができる。
いくつかの実施形態は、様々な方法で誤り処理を実行する。すなわち、ナビゲーションサービスは、様々な形で、エンティティ表現1720にないエンティティ名(例えば、エンティティIDデータ1752)及び/又はキーワード(例えば、補足データ1753)を含む要求(例えば、ナビゲーションデータ1751)に応答することができる。ナビゲーションサービス1780が、ナビゲーションサービス1780のエンティティ表現1720内に存在するエンティティ名を含む要求を受信するが、名前及びキーワードの組合せは存在しない場合、ナビゲーションサービス1780は、誤りページについてネットワークロケータを返すか、名前及びキーワードの関連する組合せについてネットワークロケータを返すか、名前及びキーワードの関連する組合せを自動補正するか、名前及びキーワードの関連する組合せにリダイレクトするか、又はキーワードに対応する場合があるがエンティティ表現にまだ登録されていないコンテンツを見つけることを試みる。最後の4つはそれぞれ、既知の技法を用いた名前所有者(又はユーザの)プリファレンスのヒューリスティックな決定を伴う。いくつかの実施形態によれば、ナビゲーションサービスは、キーワードの検索結果に対応するウェブサイトのネットワークロケータに応答することができる。そのような検索結果は、例えば、ワールドワイドウェブ、又は対応する入力されたエンティティ名に対応するサイトの標準的な検索によって取得することができる。誤り処理は、名前所有者が大きなキーワード集合をプロビジョニングする方法も提供することができる。名前所有者は、ナビゲーションサービス1780に、一定の特性を有するキーワード(例えば、指定されたキーワードに等しいSOUNDEX、指定されたキーワードに対する同義語等)を含む要求を受信する場合、これを名前所有者によって指定されたルールに従ってマッピングすることを指定し得る。
いくつかの実施形態は、ナビゲーションサービス1780のエンティティ表現1720内に存在するエンティティ名を含む要求を追跡するが、ここには名前及びキーワードの組合せは存在しない。ナビゲーションサービスは、そのような要求を順に並べ、例えばエンティティ名に従ってグルーピングし、キーワード頻度に従って各グループ内で要求を順に並べることができる。そのように順に並べることは、エンティティ名ごとに、最も一般的に要求されるが登録されていないキーワードを求めることを含むことができる。この情報は、サービスが、登録されていないキーワードをプロビジョニングするように対応する名前所有者に要請することができるように、第三者キーワードサービスに提供することができる。ナビゲーションサービス1780は、名前所有者の関連するコンテンツの解析に基づいて例示的なキーワード及びネットワークロケータもプロビジョニングする。これは、名前所有者がネットワークロケータを、このネットワークロケータのコンテンツについてプロビジョニングすることに取り掛かるのに役立つことができる。
ナビゲーションサービス1780が、エンティティ表現1720内に存在しないが、何らかの名前空間内に存在する名前(例えば、エンティティIDデータ1752)を含む要求を受信する場合、上記で開示したオプションに加えて、ナビゲーションサービス1780は、名前空間からの検索結果についてネットワークロケータを返すことができる。例えば、ユーザが「@gimbels!shoes」を入力し、「“@gimbels」がTWITTER名前空間に存在するが、ナビゲーションサービスのエンティティ表現1720内に存在しない場合、ナビゲーションサービスは、「shoes」に関する「@gimbels」によってツイートのページのネットワークロケータ(すなわち、TWITTERマイクロブログエントリ)を提供することができる。ページは、名前所有者に、キーワードをナビゲーションサービス1780に登録する機会を提供する情報メッセージも含むことができる。同様の結果ページを他の名前空間についても同様に構築することができる。
ナビゲーションサービス1780が、エンティティ表現1720内にも何らかの他の名前空間にも存在しない名前(例えば、エンティティIDデータ1752)を含む要求を受信する場合、ナビゲーションサービス1780は、エラーページ又はサジェストのネットワークロケータを返すことができる。
当業者であれば、システム1700のコンポーネント及び実施の詳細は、説明を簡略かつ明確にするために提示される簡略化された例であることを認識するであろう。他のコンポーネント、実施の詳細及び変形形態を用いることができる。例えば、サジェストデータ1762及びネットワークロケーションデータ1772のいずれも、エラーコード、又はマッピング若しくはルックアップが失敗したか、若しくは直接ナビゲーションサービス1780が予期される応答を返すことができないことの他の標識を適宜含むことができる。多くの他の変形形態が可能である。
図18は、様々な実施形態によるナビゲーションサービスの観点からの方法を示すフローチャートである。図18の方法は、本明細書において開示されるナビゲーションサービスによって実施することができる。より詳細には、図18の方法は、図17のナビゲーションサービス1780によって実行することができるか、又は上記のセクションIに記載のURLキーワード解決サーバによって実行することができる。
ブロック1802において、ナビゲーションサービスはネットワークリソースの要求を受信する。いくつかの実施形態では、要求は、エンティティ名とキーワードとを含む。要求は、名前空間識別子を含むことができるか、又は他の形で、エンティティ名に関連付けられる名前空間を示すことができる。要求は、エージェント、例えば、図17のエージェント1710から、又はクライアントコンピュータから、又は上記のセクションIにおいて開示されるようなウェブブラウザから受信することができる。エージェントは、本明細書において検討されるように、ユーザによって入力されたコマンド文字列から要求を導出した場合がある。ナビゲーションサービスは、インターネット等のネットワークを介してエージェントから要求を取得することができる。ナビゲーションサービスは、上記のセクションIIに開示されたように、要求を全て同時に、又は部分に分けて受信することができる。
ブロック1804において、ナビゲーションサービスは、ブロック1802において受信した要求に対応するユニフォームリソースロケータ又は他のネットワークロケータ(例えば、ネットワークロケータ1725〜1729のうちの1つ又は複数)を取得する。いくつかの実施形態では、ナビゲーションサービスは、1つ若しくは複数のデータベース若しくはディレクトリ、例えばエンティティ表現を含む1つ若しくは複数のデータベース、又は上記のセクションIに開示されたようなデータリポジトリ130に格納される1つ若しくは複数のデータベースからユニフォームリソースロケータを取得する。ナビゲーションサービスは、ブロック1802において受信したエンティティ名と、データベースに記憶されるエンティティ名との間、及びブロック1802において受信したキーワードと、合致したエンティティ名に関連付けて格納されているキーワードとの間の照合を行うことができる。エンティティ名及び/又はキーワードの照合は厳密な照合とすることができるか、又はヒューリスティックな技法若しくは他のファジーマッチング技法とすることができる。照合されると、ナビゲーションサービスは、データベースから、例えば合致したエンティティ名及びキーワードと同じ行から、対応するユニフォームリソースロケータ(又は他のネットワークロケータ)を検索する。
ブロック1806において、ナビゲーションサービスは、要求者、例えばエージェントに、ユニフォームリソースロケータ(又は他のネットワークロケータ)を提供する。これは、ナビゲーションサービスが、ユニフォームリソースロケータを、インターネット等のネットワークを介して要求者に送信することによって行うことができる。いくつかの実施形態では、ナビゲーションサービスはまた、サジェストされるエンティティ名及び補足データ(例えば、キーワード)についてのサジェストの一方又は双方を提供する。
図19は、様々な実施形態による、エージェントの観点からの方法を示すフローチャートである。図19の方法は、本明細書に開示されるエージェントによって実施することができる。より詳細には、図19の方法は、図17のエージェント1710によって実行することができるか、又は、上記でセクションIにおいて開示したようにクライアントコンピュータ若しくはウェブブラウザによって実行することができる。
ブロック1902において、エージェントは、例えばユーザがリンクをクリックするときに、又はユーザがナビゲーションバー若しくはオムニバー等のフィールドに入力するときに、コマンド文字列を受信する。コマンド文字列は、エンティティ名及びキーワードを含むことができる。コマンド文字列は、エンティティ名の隣の名前空間識別子、及び/又はキーワードの隣のキーワードデリミタを更に含むことができる。
ブロック1904において、エージェントは、ブロック1902において受信したコマンド文字列からネットワークリソースの要求を導出する。エージェントは、コマンド文字列をパースして既知の技法を用いてエンティティ名及びキーワードを抽出することによって、要求を導出することができる。要求は、エンティティ名、キーワード、及び場合によっては、エンティティ名に対応する名前空間識別子を含むことができる。
ブロック1906において、エージェントは、インターネット等のネットワークを介してナビゲーションサービスへのネットワークリソースの要求を提供することができる。ナビゲーションサービスは、例えば、図17のナビゲーションサービス1780、又は上記のセクションIにおいて説明されたURLキーワード解決サーバとすることができる。要求を伝達するために、エージェントはこの要求を、ユニフォームリソースロケータ、又はエージェントのソフトウェアにコーディングされた他のネットワークロケータに向けることができる。
ブロック1908において、エージェントは、ブロック1906において提供された要求に対応するユニフォームリソースロケータ又は他のネットワークロケータを取得する。エージェントは、ナビゲーションサービスからユニフォームリソースロケータを取得することができ、ナビゲーションサービス自体は、本明細書に開示されるように、1つ又は複数のデータベースから、エンティティ名及びキーワードとの合致を見つけることによってこのユニフォームリソースロケータを取得する。エージェントは、ユニフォームリソースロケータを取得すると、例えば、ユニフォームリソースロケータによって識別されるリソースにナビゲートすること等の動作を行うことができる。
図21は、いくつかの実施形態による、ナビゲーションサービスをプロビジョニングする例示的な技法を示す。いくつかの実施形態では、プロビジョニング動作は、上記の図14〜図16を参照して示され説明されたプロビジョニングと類似しており、実際にはこれを一般化することができる。このため、図21は、名前空間に基づくスマートナビゲーションのコンテキストにおいてプロビジョニングを説明する。
図21の技法にコンテキストを与えるために、「@gimbels!shoes」の例を継続すると、必須ではないがおそらく、名前所有者、例えばGimbelsは、コマンド文字列「@gimbels!shoes」が関連付けられるべきコンテンツのプリファレンスを有する。更に、ユーザはおそらく、「shoes」等のキーワードが名前所有者によって直接管理されることを予期する。したがって、この識別子について、名前所有者はネットワークロケータ自体を指定することができる。
一方、他のコマンド文字列について、キーワードが第三者によって扱われることをユーザが予期し、名前所有者がこれについてプリファレンスを有する場合がある。例えば、キーワードが別の会社、例えばAlpha Widgetを指すと仮定する。ユーザは、形態「@<name>!alphawidgets」の識別子が解決され、提示の一貫性のために、多岐にわたる名前についてAlphaWidgetsによって推奨されるリソースに変換されることを予期し得る。Gimbelsは同様に、「@gimbels!alphawidgets」に応答して表示されるコンテンツについてAlpha Widgetsによる推奨に依拠することが好ましい場合がある。したがって、複数の名前所有者は、例えば図14を参照して上記で示し説明したように、更には形態「@<name>!alphawidgets」の識別子の推奨を選択し、又はこの識別子の権限を、キーワードサービス提供者としてのAlpha Widgetsに委譲することができる。
更なる例として、「@gimbels!discount」を検討する。一般的なキーワード「discount」は通常、会社名とみなされるが、ユーザは依然として、おそらく共通サービス提供者によってサポートされる複数の名前にわたる一貫性を予期し得る。したがって、discountのためのキーワードサービス提供者は、このキーワードに関連付けられたディレクトリエントリをプロビジョニングする際に名前所有者を支援することができる。「alphawidgets」の場合と同様に、名前所有者は、形態「@<name>!discount」の識別子の推奨を選択し、かつ/又はこの識別子の権限をキーワードサービス提供者に委譲することができる。一方、「alphawidgets」の場合と対象的に、「discount」が会社名ではない場合、ナビゲーションサービスが名前所有者に、これらの識別子について2つ以上のサービス提供者の選択肢を提供することが妥当であろう。
ここで、Gimbelsが、キーワードサービス提供者Acme Discountsから識別子「@gimbels!discount」の推奨を取得する(又はその提供者に権限を委譲する)と仮定する。ユーザは、関連する識別子も、同じサービス提供者、例えば、「@gimbels!discounts」、「@gimbels!coupon」、「@gimbels!coupons」等に依存することを予期し得る。Gimbelsは、これらのキーワードについてもAcme Discountsからのサービスにサブスクライブする。一方、別の名前所有者は、異なる1組の選択を行い得る。すなわち、「@bigbox!discount」及び関連する識別子は、例示的な小売業者Big Boxによって、キーワードサービス提供者Beta Discountsに委譲され得る。このため、キーワードサービス提供者は、名前所有者の事業について競合し得る。
要約すると、キーワードサービス提供者の役割は、以下のように説明することができる。
・キーワードサービス提供者は、名前所有者が所与のキーワードを管理するのを助けるように提案することができる、
・名前所有者は、助けを受理するか又は受理しないかを選択することができる、
・助けには、名前+キーワードの組合せからコンテンツへの推奨されるマッピングを含むことができ、名前所有者はこれを受理してもしなくてもよい、
・名前所有者は、キーワードサービス提供者へのマッピングを管理する権限も委譲することができる
・キーワードサービス提供者は、同じ名前所有者について複数のキーワードをサポートすることを提案することができる
・キーワードサービス提供者は、複数の名前所有者(互いに関連していてもしていなくてもよい)をサポートすることを提案することができる、
・名前所有者は、キーワードの様々なサブセットについて、複数のキーワードサービス提供者によって同時にサポートされることを選択することができ、キーワードサービス提供者の組を時間の経過とともに変更することができる、及び/又は、
・名前所有者は、例えば、コマンド文字列の解決が他の要因(例えば、要求者のジオロケーション)に依拠している場合、同じキーワードについて2つ以上のキーワードサービス提供者によってサポートされることを選択することもできる。
・キーワードサービス提供者は、名前所有者が所与のキーワードを管理するのを助けるように提案することができる、
・名前所有者は、助けを受理するか又は受理しないかを選択することができる、
・助けには、名前+キーワードの組合せからコンテンツへの推奨されるマッピングを含むことができ、名前所有者はこれを受理してもしなくてもよい、
・名前所有者は、キーワードサービス提供者へのマッピングを管理する権限も委譲することができる
・キーワードサービス提供者は、同じ名前所有者について複数のキーワードをサポートすることを提案することができる
・キーワードサービス提供者は、複数の名前所有者(互いに関連していてもしていなくてもよい)をサポートすることを提案することができる、
・名前所有者は、キーワードの様々なサブセットについて、複数のキーワードサービス提供者によって同時にサポートされることを選択することができ、キーワードサービス提供者の組を時間の経過とともに変更することができる、及び/又は、
・名前所有者は、例えば、コマンド文字列の解決が他の要因(例えば、要求者のジオロケーション)に依拠している場合、同じキーワードについて2つ以上のキーワードサービス提供者によってサポートされることを選択することもできる。
名前所有者とキーワードサービス提供者との間の関係を、検索エンジンによるキーワード入札と対比させることが重要である。通常のキーワード入札プロセスでは、複数の入札者が、検索エンジンが検索要求を処理するのを助けることを提案する。次に検索エンジンは、検索結果の最上位の配置を最高の入札者に与えることができる。
対称的に、スマートナビゲーションの枠組みでは、複数のキーワードサービス提供者が、名前所有者が名前とキーワードとの組合せ(潜在的に他のデータを有する)を処理するのを助けることを提案する。名前所有者は、助けを受理するか又は受理しないかを選択し、時間の経過とともに選択を変更することができる。ナビゲーションサービスは、名前所有者とキーワードサービス提供者との間の関係を仲介する。ナビゲーションサービスは、ユーザの興味及び活動に関する要約データをキーワードサービス提供者に提供し、(名前所有者に対して行うことができるように)これらのキーワードサービス提供者に潜在的な事業機会を紹介することもできるが、ナビゲーションサービス自体は、いずれのキーワードサービス提供者が事業を獲得するのかを判定しない。むしろ、そのような決定は名前所有者から端を発し、名前所有者の代わりにナビゲーションサービスによって実施される。
名前所有者は、全てのキーワードについてキーワードサービス提供者を有することを必要とされないことに留意されたい。所与のキーワードをサポートする第三者のキーワードサービス提供者を選択することにより、名前所有者は、そのキーワードに関与する識別子を解決する権限をサービス提供者に効果的に委譲する。
キーワードサービス提供者は、所与のキーワードに従ってナビゲートするときのユーザ体験を改善することによって、名前所有者がユーザとつながることを容易にする。キーワードサービス提供者は、名前所有者によって直接、又はナビゲーションサービスを通じて間接的に、このサービスについて金銭的に補償され得る。更に、キーワードサービス提供者、名前所有者又は双方が、ユーザがナビゲーションサービスとインタラクトする際に介するプラットフォーム(例えば、ブラウザ又はアプリケーション)の提供者に補償することができる。キーワードサービス提供者のためのサポートを含めることによって、ナビゲーションサービスは、四面で構成される市場(ユーザ/名前所有者/キーワードサービス/プラットフォーム提供者)を効果的に実現し、開発を奨励し、ナビゲーションサービスの機能を収益化するための複数のオプションを与える。
図21によってこれらの検討事項を説明すると、ブロック2102において、名前所有者(例えば、ドメイン名管理者)は、キーワードサービス(例えば、第三者)がプロビジョニングデータを用いてナビゲーションサービス(例えば、キーワード管理サーバ)をプロビジョニングすることを認可する。このブロックのアクションは、上記のブロック1410〜1440を参照して上記で説明したように進行することができる。このブロック、並びにブロック2104及び2106はオプションであることに留意されたい。すなわち、名前所有者は、自身の独自のスマートナビゲーションデータをプロビジョニングすることを選択することができる。当然ながら、そのような実施形態では、名前所有者がブロック2104のアクションを実行する。
いくつかの実施形態によれば、名前所有者は、いくつかのデータをプロビジョニングすることができ、キーワードサービスは他のデータをプロビジョニングすることができる。いくつかの実施形態では、ナビゲーションサービスは、キーワード、名前及び/又は他のデータを用いてエンティティ表現1720のシーディングを行う。シーディングプロセスは、エンティティ表現1720を初めに埋めることができ、その後、名前所有者はいくつか又は全てのそのようなデータを変更することができる。
ブロック2104において、プロビジョニングエンティティ(名前所有者とすることができる)は、キーワード及び/又は他のデータを提供する。プロビジョニングエンティティは、そのような情報をナビゲーションサービスに直接、又は名前所有者によって提供することができる。このブロックの動作は、ブロック1450を参照して上記で説明したように進行することができる。
ブロック2106において、名前所有者は提供されたプロビジョニングデータを承認する。このブロックの動作は、図14のブロック1460を参照して上記で説明したように進行することができる。名前所有者が自身でプロビジョニングを実行する実施形態では、このブロックは省略することができる。
ブロック2108において、プロビジョニングされた情報はナビゲーションサービスに提供される。プロビジョニングされる情報は、名前所有者又はキーワードサービスによって提供することができる。このブロックの動作は、図14のブロック1460を参照して上記で説明したように進行することができる。
ブロック2110において、ナビゲーションサービスは、例えば、図14を参照して上記で説明した、エンティティ情報1720又はキーワード管理サーバによって記憶されるデータとしてプロビジョニングされた情報を記憶する。
ブロック2112において、ナビゲーションサービスは、例えば、図18及び図19を参照して本明細書に示し説明するように、エージェント解決要求に応答する準備ができている。
本明細書において開示される実施形態により可能な多くの変形形態が存在する。例えば、ナビゲーションサービスは、エンティティ名及びキーワードの組合せを処理することのみに制限されない。むしろ、ナビゲーションサービスはエンティティ名のみ、2つ以上のエンティティ名の組合せ(例えば階層を形成する)、又は2つ以上のキーワードの組合せ(キーワードのうちの少なくとも1つの適切な所有権を仮定する)、又は何らかの他の組合せを扱うことができる。キーワードを名前所有者によって定義される名前空間とみなすことによって、ナビゲーションサービスは、少なくとも1つの名前所有者によって指定されるような、1つ又は複数の名前の組合せに関する情報をプロビジョニング及びルックアップする方法を提供することができる。
別の変形形態は、ナビゲーションサービス1780が物理的及び論理的に実施される方法に関する。いくつかの実施形態では、ナビゲーションサービス1780は、利用可能性を増大させるためにルックアップ動作の複数のインスタンス(例えば、分散サーバ)を提供して、複数のインスタンスにわたって負荷を分散させることができる。いくつかの実施形態は、再帰的かつ権威的名前サーバのDNSの概念と構造的に類似して、エージェント1710とインタフェースするナビゲーションサービス1780のフロントエンドサービスインスタンスと、エンティティ表現を保持するバックエンドインスタンスとを利用することができる。フロントエンドインスタンスは、要求に迅速に応答することができるようにディレクトリエントリをキャッシュすることができる。更に、エージェント1710自体がエンティティ表現エントリをキャッシュすることができる。DNSSECにおけるようなデータ完全性及びデータ発信元認証メカニズムも適用することができる。同様の実施の選択肢は、サジェスト及びプロビジョニング動作にも同様に適用することができる。
別の変形形態は、エージェント1710がレンダリングをどのように扱うことができるかに関する。ユーザが(名前所有者によって指示されるように)検索している結果を表示することに加えて、エージェント1710は、追加のガイダンスを提示することができる。入力する名前及びキーワードのサジェストは、フィードバックの1つの可能な形態である。ユーザが認識又は登録された名前を入力したという確認が別の可能な形態である。ブラウザベースのエージェント1710に関連付けられたユーザインタフェースは、本明細書において開示するように、テキストを強調表示するか又はアイコンを表示することができ、ブラウザウィンドウ又は他のインタフェースにおいて、サウンドを鳴らし、アプリケーションを起動し、かつ/又は初期結果を提示することもできる。特に、ユーザとのインタラクションは、「アドレスバー」又は均等物に制限されない。最終的なウェブページ又は他のコンテンツを、ユーザが直接ナビゲーションデータを入力するインタフェースの外側にレンダリングすることができるのと同じように、中間フィードバックも異なるプログラムロケーションにレンダリングすることができる。
別の変形形態は、代替的な字母系(alphabet)に関する。本開示は、標準的な英語の字母系に関して書かれているが、本発明はそのように限定されない。実施形態は、限定ではないが、中国語(例えば、繁体字、簡体字)、日本語字母系(例えば、漢字、ひらがな、カタカナ)、韓国語、ヒンディー語、キリル文字、タガログ語、タミル語、ハンガリー語、英語でないラテン字母系(例えば、ポルトガル語、スペイン語、フランス語)、ウルドゥー語、ギリシャ語、ヘブライ語、アルメニア語、アラビア語等を含む他の字母系をサポートすることができる。エンティティ名及びキーワードの双方を、様々なアルファベットのうちの任意のもの又は更にはこれらの組合せで表現することができる。例えば、以下はコマンド文字列のための有効な構文である。@医生杜明!decoratif。ここで、「医生杜明」は中国語のエンティティ名であり、「decoratif」はフランス語のキーワードである。この場合、エンティティ名及びキーワードは異なる字母系であることに留意されたい。
通常、検索エンジンは、検索結果を取り出し、記憶するために、ウェブをクロールする。検索エンジンは、ナビゲーションサービス空間を検索してプロビジョニングされたネットワークロケータを特定するように拡張され得る。そのような検索エンジンは特に、プロビジョニングされたネットワークロケータに偶然対応する検索結果を特定することができる。例えば、検索エンジンは、クエリを受信する場合があり、これを様々なリンクに照合する。検索エンジンは、結果ウェブページによってユーザにこれらのリンクを提供することができる。リンクのうちのいくつかは、実施形態においてエンティティによってプロビジョニングされるリンクとすることができる。この例では、検索エンジンは、エンティティによって提供されるリンクを、例えば異なる色、フォント、サイズ、ロケーション等で提示することによって、他のリンクと視覚的に区別することができる。本明細書において提示する進行中の例を継続する具体的な例として、ユーザは、「gimbels shoes」を検索エンジンのクエリフィールドにタイプインし得る。検索エンジンは、Gimbelsエンティティが一実施形態に提供した、Gimbelsに関する新たな記事、靴に関するブログ、及びリンクhttp://www1.gimbels.com/shop/clothing/shoes等の様々なリンクを含む結果ページを、すなわち、コマンド文字列、例えば@gimbels!shoesに関連付けられたネットワークロケータとして提供することができる。このように、検索空間は、ナビゲーションサービスからのデータベースを組み込むように拡張される。結果ページにおいて、この後者のリンクは、本明細書において検討されるように他のリンクと区別することができる。
いくつかの実施態様では、ナビゲーションサービスは、ネットワークロケータではなく、又はネットワークロケータに加えてコンテンツを返す。そのような実施態様では、エンティティ表現1720は、エンティティ名及びキーワードに関連してコンテンツを記憶する追加のフィールド(例えば、1つ又は複数の列)を含むことができる。次に、ナビゲーションサービスは、適切なエンティティ表現に存在するか若しくは適切なエンティティ表現から好まれるコンテンツを直接検索すること、又はエンティティ表現に記憶される適切なネットワークロケータを用いることによりコンテンツを検索することのいずれかによって、(ユーザが対応するサジェストを選択すると)コンテンツを取得することができる。いずれの変形形態においても、ナビゲーションサービスは、エージェントが関連付けられたネットワークロケータにナビゲートし、コンテンツを検索することを必要とすることなくコンテンツをユーザ自身に返すことができる。
いくつかの実施態様では、エージェント1710はナビゲーションデータ1751の全て又は一部について画像を利用することができる。この画像は、様々なフォーマット、例えば、ビットマップ、GIF、JPEG、MPEG等のうちの任意のフォーマットであり得る。そのような実施形態では、画像を用いて、エンティティIDデータ1752、補足データ1753、又は双方を、多岐にわたる手段のうちの任意のものを用いて生成することができる。例えば、エージェント1710自体、ナビゲーションサービス1780、又は別個のシステムが、エージェント1710又はナビゲーションサービス1780から画像を取得し、これを既知の技法を用いて文字列に変換することができる。次に、文字列をナビゲーションサービスに提供することができ、本明細書に開示されるようにプロセスが継続することができる。
具体的な例として、ユーザ1705は会社ロゴの画像、例えばJPEGフォーマットのGimbelsロゴを取得することができる。ユーザは、例えば、グラフィカルユーザインタフェースを用いてエージェント1710をロゴに向けることができる。エージェント1710は、ナビゲーションサービス1780に画像を提供することができ、ナビゲーションサービス1780は既知の画像認識技法を用いて、画像を文字列「gimbels」に照合することができる。次に、ナビゲーションサービスは、例えば文字列「gimbels」をプロビジョニングされた名前空間識別子と照合し、次に合致したキーワードサジェストデータのリストをユーザに表示するためのエージェントに提供することによって、あたかもこの文字列を直接受信したかのように処理することができる。
画像の使用は、エンティティの識別に限定されないことに留意されたい。例えば、ユーザは、「@gimbels」をエージェント1710のフィールドにタイプインすることができ、エージェントがサジェストのリストを表示するとき、ユーザはエージェントを靴の画像に向けることができる。エージェント1710自体が既知の技法を用いて画像を認識するか、又は画像をナビゲーションサービス1780に提供して認識機能を実行することができる。いずれの場合も、ナビゲーションサービスは、あたかも文字列「@gimbels!shoes」を直接受信したかのように応答することができる。
いくつかの実施形態は、対の名前空間識別子文字及び/又は対のキーワードデリミタ文字、例えば「[」と「]」との対、「{」と「}」との対、又は「(」と「)」との対を利用する。そのような実施形態では、適切なコマンド文字列構文の例は、例えば、{gimbels}(shoes)、@gimbels(shoes)、{gimbels}shoes等を含むことができる。
III.キーワードパラメータ
本明細書において詳細に説明するように、受信したコマンドデータ(例えば、名前及びキーワードを指定するデータ)に応答してネットワークロケータを提供する際に、ナビゲーションサービスは、(例えば、図17の1751及び/又は1771において)ジオロケーション又は言語等の他のデータを考慮に入れることができる。すなわち、エージェントは、他のデータを名前及びキーワードの組合せと合わせて解決のためにナビゲーションサービスに提供することができる。そのような他のデータは、ジオロケーションデータ及び言語データに限定されない。いくつかの実施形態によれば、検討される他のデータタイプは、例えば、要求エージェントに関するコンテキスト情報、関連ユーザに関するコンテキスト情報、名前所有者からの他の情報、又は他のシステム状態情報を含む。他のデータは、名前、キーワード及びネットワークロケータデータとともにナビゲーションサービスにプロビジョニングすることができる。例えば図14を参照して本明細書において説明されるように、プロビジョニングは、名前所有者、ナビゲーションサービス及び/又は第三者キーワードサービスによって行うことができる。
本明細書において詳細に説明するように、受信したコマンドデータ(例えば、名前及びキーワードを指定するデータ)に応答してネットワークロケータを提供する際に、ナビゲーションサービスは、(例えば、図17の1751及び/又は1771において)ジオロケーション又は言語等の他のデータを考慮に入れることができる。すなわち、エージェントは、他のデータを名前及びキーワードの組合せと合わせて解決のためにナビゲーションサービスに提供することができる。そのような他のデータは、ジオロケーションデータ及び言語データに限定されない。いくつかの実施形態によれば、検討される他のデータタイプは、例えば、要求エージェントに関するコンテキスト情報、関連ユーザに関するコンテキスト情報、名前所有者からの他の情報、又は他のシステム状態情報を含む。他のデータは、名前、キーワード及びネットワークロケータデータとともにナビゲーションサービスにプロビジョニングすることができる。例えば図14を参照して本明細書において説明されるように、プロビジョニングは、名前所有者、ナビゲーションサービス及び/又は第三者キーワードサービスによって行うことができる。
1つの例として、識別子「@gimbels!shoes」は、靴ブランド、タイプ又はサイズに関する情報を用いて拡張され得る。このとき、組み合わされた識別子は、形態「@gimbels!shoes?mens&running&size=11」を有し得る(この構文は単なる例示であり、他の選択肢が可能であることに留意されたい)。次に、組み合わされたコマンド文字列を解決して、特定のパラメータ、例えばサイズ11の男性用のランニングシューズのウェブページに関連付けられたコンテンツに変換することができる。ユーザはウェブページとインタラクトすることができ、従来のウェブブラウジングにより更なる選択を行うことができるか、又はユーザはコマンド文字列を変更するか若しくは新たな識別子を入力して他のコンテンツにナビゲートされ得る。
別の例として、識別子「@gotham!flights」は、出発時間及び到着時間、例えば、「@gotham!flights?from=metropolis&depart=2014−08−15&return=2014−08−17」を用いて拡張され得る。キーワードサービス提供者(例えば、「@gotham」の名前所有者によって選択される旅行サービス)は、ナビゲーションサービスにネットワークロケータをプロビジョニングすることができる。このネットワークロケータを解決すると、8月15日に出発し、8月17日に戻るメトロポリスからゴッサムへのフライトオプションのウェブページに変換される。ウェブページは、ユーザがフライトを選択するために更なるオプションを提供することができる。
ユーザは、例えばウェブブラウザのオムニバーに、これらの組み合わされた識別子をコマンド文字列として潜在的にタイプインし得るが、ユーザがこれを行うことは好都合でない場合がある。したがって、いくつかの実施形態は、ユーザが認識的により容易な方法で、例えば図17を参照して本明細書において説明するようなドロップダウン又はポップアップメニューによってユーザからキーワードパラメータを収集するようにユーザがインタラクトする強化型のウェブブラウザ又は他のアプリケーションを利用する。例えば、ユーザが「@gimbels!shoes」をタイプするとき、ブラウザ又はアプリケーションは、ナビゲーションサービスとインタラクトすることによって、この特定の識別子がキーワードパラメータをサポートすると判断し得る。ナビゲーションサービスは、サポートされるパラメータのタイプ例えば、靴のブランド、タイプ及びサイズ、又は出発市、出発日及び帰還日を決定し、このような情報をエージェントに伝達することができる。次に、エージェントは、ユーザが入力するか又は他の形でパラメータを選択することができるユーザインタフェース、例えば、靴のサイズのドロップダウンメニュー、サジェスト及びオートコンプリートを有する靴のブランドのテキスト入力ボックスを提示することができる。1つの例として、パラメータはナビゲーションサービスを処理するためにユーザによってフリーフォーム又は会話テキスト、例えば「men 11」、「mens size 11」又は「11 mens」として入力することができ、サービスにより更に解釈される。次に、ブラウザ又はアプリケーションは、ユーザ選択に基づいてキーワードパラメータを含む組み合わされたコマンド文字列を形成し、コマンド文字列から導出されたデータ、すなわちコマンドデータを、解決のためにナビゲーションサービスに送信する。組み合わされた識別子は、他のコンテキスト、例えば電子メールメッセージ又はツイートにおいて他のテキストに組み込むためにユーザによってコピーすることもできる。
このため、ユーザは、強化型ユーザインタフェース(例えば、アドレスバー若しくはオムニバー又は他の入力フィールドへの拡張)を介してキーワードサービス提供者とインタラクトし、キーワードパラメータを提供することができる。インタラクションは、特定のパラメータ(並びに名前所有者及びキーワードサービス提供者のプリファレンス)に従ってカスタマイズすることができるが、ユーザにより親しみやすいものにするために、様々なサービス提供者にわたって一定の形で共通にすることもできる(例えば、ドロップダウンメニュー及びテキスト入力ボックスは一貫したルックアンドフィールを有することができる)。強化型ユーザインタフェースは、ユーザが最終的にナビゲートされるウェブページ又は他のコンテンツとインタフェースすることに加えて、名前所有者及びキーワードサービス提供者に、追加のより直接的な方法でユーザと関わりを持たせる。このため、サジェスト、キーワードパラメータ及び同様の機能を用いた、ナビゲーション情報を入力又は選択するための強化型ユーザインタフェースは、URLを入力するための従来のアドレスバーに対する代替となる。
一方、そのような強化型ユーザインタフェースは、検索エンジンとインタラクトするためのユーザインタフェースと別々のままであることに留意されたい。なぜなら、ユーザは、入力されたテキストの解釈についての検索エンジンのプリファレンスに従うのではなく、指定された識別子及び任意の関連パラメータに関連付けられたコンテンツにナビゲートするために、名前所有者及びキーワードサービス提供者とインタラクトし、これらのプリファレンスに従うためである。
名前所有者は、デフォルトで、第三者に委譲していない全てのキーワードについて自身のキーワードサービス提供者であるので、キーワードパラメータは第三者が関与するか否かにかかわらずサポートされ得る。「@gimbels!shoes」の例は良好な例示である。デパートメントストアについて、「shoes」キーワードのためのキーワード提供者が存在し得ることが可能であるが、靴のような主力製品に関するそのような情報は、店自体によってサービス提供することができる。名前所有者自体がキーワードをサービス提供する場合、名前所有者は、キーワードパラメータのための拡張構文及びユーザインタフェースもサポートすることができる。このため、キーワードパラメータは、プロセスに第三者が関与する場合に制限されず、スマートナビゲーションサービスの一部とみなすことができる。
以下のテーブルは、キーワードサービス提供者によってサポートされ得るキーワードの多岐にわたる例を示す。簡潔にするために、単数形のみが列挙される。複数形及び他の変形も含めることができ、いくつかの実施形態によれば、同じ提供者によってサポートすることができる。
いくつかの実施形態によれば、同じカテゴリ内のキーワードは、所与の名前所有者について同じサービス提供者によってサポートすることができる。更に、異なる名前所有者は同じカテゴリであっても異なるサービス提供者によってサポートし、サービス提供者間の競合を容易にすることができる(しかし、ここで判定はナビゲーションサービスではなく名前所有者によって行われる)。
ユーザの挙動は言語にも依拠する場合がある。例えば、上記の表は、英語のキーワードを含む。他の言語で対話する名前所有者及びユーザは、異なるキーワード組に収束する場合がある。名前所有者は多言語を使用し、複数の言語でキーワードをサポートすることもできる。キーワードサービス提供者は同様に、同じ名前所有者及び異なる名前所有者の双方について複数の言語をサポートすることを選択することができる。所与のスペルを有するキーワードが2つ以上の言語のキーワード分類に現れ得ることも可能である。キーワードはこれらの言語において同じ意味を有する場合もあるし、異なる意味を有する場合もある。名前所有者は、(上記で言及したジオロケーション機能と同様にして)ユーザの言語のプリファレンスに従ってキーワードを解決することによってこれらの複数の意味に適応することができる。スマートナビゲーションのためのキーワードサービスの他の態様について、キーワードがどのように解決されるべきかについての判定は、最終的に名前所有者に任せることができる。
キーワードサービスを実施する2つの基本的な手法が存在することに留意されたい。第1の手法は、キーワードサービスが、名前及びキーワード(及び場合によっては他のデータ)から正しいネットワークロケータを取得するのに十分な情報をナビゲーションサービスに提供するためのものである。第2の手法は、キーワードサービスが、名前及びキーワード(及び場合によっては他のデータ)から正しいネットワークロケータを取得するのに十分な情報を記憶するためのものである。これらの手法の双方を以下で詳細に説明する。以下において、「コマンドデータ」という用語は、名前、キーワード及び場合によっては他のデータを指定するデータを意味する。
第1の手法によれば、キーワードサービスは、ナビゲーションサービスへのコマンドデータを処理するための情報を提供する。そのような実施形態では、ナビゲーションサービスは、キーワードサービスと更に通信する必要なく、キーワード、名前及び場合によっては他のデータを含むコマンドデータ(例えば、クライアントコンピュータに提供されるコマンド文字列から導出される)を含むクライアントコンピュータの要求に応答することができる。代わりに、キーワードサービスが情報をナビゲーションサービスに提供すると、ナビゲーションサービスはクライアントコンピュータ要求を直接扱うことができる。第1の手法では、名前所有者は、キーワードサービスが、名前、キーワード及び他のデータから正しいネットワークロケータを取得するのに十分な情報をナビゲーションサービスに提供するのを認可することができる。
更に第1の手法によれば、キーワードサービスが、名前、キーワード及び場合によっては他のデータを正しいネットワークロケータに照合するためのナビゲーションサービスを提供することができる少なくとも2つのタイプの情報が存在する。第1のタイプの情報は、ネットワークロケータへの特定のキーワード、名前及び他のデータのマッピング情報である。そのようなマッピング情報は、例えば形態(名前,キーワード,ネットワークロケータ)、(名前,キーワード,他のデータ,ネットワークロケータ)、又は(名前,キーワード、[ヌル値],ネットワークロケータ)の、データの3つ組又は4つ組の形態をとることができる。ナビゲーションサービスは、本明細書において詳細に説明されるように、そのような3つ組を永続性メモリ(例えば、データベース)に記憶することができる。ナビゲーションサービスは、名前、キーワード及び場合によっては他のデータを用いてデータベースにクエリし、同じ行に記憶されたネットワークロケータを特定することができる。すなわち、ナビゲーションサービスは、名前、キーワード及び場合によっては他のデータを、対応するネットワークロケータに相関付けることができる。第1のタイプの情報は、キーワードサービスによってナビゲーションサービスに提供される複数のそのような3つ組を、例えば、名前及びキーワード(及び場合によっては他のデータ)の組合せごとに1つ含むことができることに留意されたい。
キーワードサービスが、第1の手法を実施するためにナビゲーションサービスに提供することができる第2のタイプの情報は、例えば、1つ又は複数のルールの形態の解決ロジックである。そのようなルールは、名前、キーワード及び他のデータから正しいネットワークロケータをどのように導出するかを指定することができる。ルールは、名前、キーワード及び他のデータに対し、構文変形を行うことができるか、そのような入力データに対し(例えば、データベースクエリを用いて)情報ルックアップを実行することができるか、又はそのような手順の組合せを実行することができる。1つの例として、クライアントコンピュータによってナビゲーションサービスに提供されるコマンドデータを考える。ここで、コマンドデータは、名前「gotham」及びキーワード「flights」、並びに出発及び到着の場所及び日時を指定する他のデータを含む。ナビゲーションサービスは、コマンドデータをパースし、指定された名前及びキーワードが、ルールとともに用いられることを決定する。このルールは、ネットワークロケータが対応する他のデータについてフライトオプションを表示するウェブページのために構築されることを指定する。
記憶された情報を検索することは、可能なルール要素であることに留意されたい。したがって、第1の手法のための第2のタイプの情報は、第1のタイプの情報を第1の手法のために一般化したものとみなすことができる。換言すれば、データベースクエリ(又は他の形態若しくは相関)はルールの一例である。
キーワードサービスを実施するための第2の手法は、キーワードサービスが、コマンドデータから正しいネットワークロケータを得るのに十分な情報を記憶することである。この手法に従って、名前所有者は、ナビゲーションサービスがキーワードサービスを利用して、名前、キーワード及び場合によっては他のデータを解決して適切なネットワークロケータに変換するのを支援するための認可を提供することができる。ナビゲーションサービスは、名前及びキーワード(並びに場合によっては他のデータ)を含むコマンドデータをクライアントコンピュータから受信することができる。ナビゲーションサービスは、コマンドデータをパースし、キーワードサービスが特定の要求を解決すると判断することができる。そのような決定は様々な方法で行うことができる。例えば、ナビゲーションサービスは、全ての要求についてキーワードサービスをデフォルトで利用することができる。別の例として、ナビゲーションサービスは、名前及びキーワードに関連してキーワードサービスのためのネットワークロケータを記憶することができ、それによって、名前及びキーワードを照合するとき、キーワードサービスのためのネットワークロケータを検索する。
ナビゲーションサービスがキーワードサービスのためのネットワークロケータを取得すると、ナビゲーションサービスには2つの可能性が存在する。第1の可能性は、ナビゲーションサービスがキーワードサービスのためのネットワークロケータをクライアントコンピュータに提供することであり、それによってクライアントコンピュータは、キーワードサービスネットワークロケータを用いて、キーワードサービスから名前、キーワード及び他のデータに対応する正しいネットワークロケータを取得することができる。ナビゲーションサービスは、クライアントに、(場合によっては、クライアントコンピュータがコマンドデータをキーワードサービスに渡すことを示すフラグ又は他のインジケータとともに)キーワードサービスのためのネットワークロケータを送信することができ、クライアントコンピュータは、コマンドデータからクエリを形成し、このクエリをキーワードサービスに送信して、対応する正しいネットワークロケータを取得することができる。第2の可能性は、ナビゲーションサービスが正しいネットワークロケータを自身で取得し、次にこれをクライアントに提供することである。
第2の可能性の場合、ナビゲーションサービスは、対応する要求を用いてキーワードサービスとの接触に進むことができる。すなわち、ナビゲーションサービスは、コマンドデータを含む要求、例えば、名前、キーワード及び場合によっては他のデータを含む要求を用いてキーワードサービスと接触することができる。いくつかのキーワードサービスは特定の単語(「例えば、仕事」)のためのものである場合があるので、いくつかの実施形態では、例えば、キーワードサービスが単一のキーワード又は特定のキーワード組のみを扱う場合、ナビゲーションサービスからキーワードサービスへの要求からキーワードを省くことができる。キーワードサービスは、ナビゲーションサービスから要求を受信すると、例えば、ナビゲーションサービスが本明細書において説明したキーワードパラメータを実施するための第1の手法に従うように、すなわち、1つ又は複数のルールのルックアップ動作及び/又は実施によって、対応するネットワークロケータを取得することができる。
キーワードサービスは、適切なネットワークロケータを取得した後、ナビゲーションサービスの要求に少なくとも2つの方法で応答することができる。第1の方法によれば、キーワードサービスは、ネットワークロケータをナビゲーションサービスに返し、それによって、ナビゲーションサービスはネットワークロケータを用いてクライアントに応答することができる。第2の方法によれば、キーワードサービスはネットワークロケータをクライアントに直接返すことができる。第2の手法の場合、ナビゲーションサービスからキーワードサービスへの要求は、キーワードサービスが、ナビゲーションサービスと更に対話することなくクライアントに応答することができるように、クライアントの識別情報を含むことができる。
IV.コンピューティングシステム実施態様
図20は、本発明による実施形態を実施するのに用いることができる例示的なコンピューティングシステム又はデータ処理システム2000のブロック図である。他のコンポーネント及び/又は構成も用いることができる。いくつかの実施形態では、コンピューティングシステム2000を用いて、例えば、スタンドアロンで、又はより大型のナビゲーションサービスシステムの一部として、図17に示すようにナビゲーションサービス1780を実施することができる。様々な実施形態において、コンピューティングシステム2000を用いて、図17に示すようにエージェント1710を実施することができる。
図20は、本発明による実施形態を実施するのに用いることができる例示的なコンピューティングシステム又はデータ処理システム2000のブロック図である。他のコンポーネント及び/又は構成も用いることができる。いくつかの実施形態では、コンピューティングシステム2000を用いて、例えば、スタンドアロンで、又はより大型のナビゲーションサービスシステムの一部として、図17に示すようにナビゲーションサービス1780を実施することができる。様々な実施形態において、コンピューティングシステム2000を用いて、図17に示すようにエージェント1710を実施することができる。
コンピューティングシステム2000は、中央処理ユニット(CPU)2005、メモリ2010、入/出力(I/O)デバイス2025、不揮発性記憶デバイス2020等の複数のコンポーネントを備える。システム2000は様々な方法で実施することができる。例えば、統合プラットフォーム(ワークステーション、サーバ、パーソナルコンピュータ、タブレットコンピュータ、ラップトップ、スマートフォン等)としての実装は、CPU2005、メモリ2010、不揮発性ストレージ2020及び/又はI/Oデバイス2025を備えることができる。そのような構成では、コンポーネント2005、2010、2020及び2025は、ローカルデータバスを通じて接続及び通信することができ、外部I/O接続を介してデータベース(例えば、別個のデータベースシステムとして実装される)にアクセスすることができる。I/Oコンポーネント2025は、直接通信リンク(例えば、配線接続又はローカルwifi接続)を通じて、ローカルエリアネットワーク(LAN)若しくは広域ネットワーク(WAN)等のネットワークを通じて、及び/又は他の適切な接続を通じて外部デバイスに接続することができる。システム2000は、スタンドアロンとすることができるか、より大型のシステムのサブシステムとすることができる。
CPU2005は、カリフォルニア州サンタクララのIntel(登録商標)社によって製造されたXeon(登録商標)ファミリーからのマイクロプロセッサ等の1つ又は複数の既知の処理デバイスとすることができる。メモリ2010は、本発明の実施形態に関連する一定の機能、方法、動作及びプロセスを実行するためにCPU2005によって実行されるか又は他の形で用いられる命令及び方法を記憶するように構成される1つ又は複数の固体記憶デバイス又は媒体とすることができる。ストレージ2020は、揮発性又は不揮発性、磁気、半導体、テープ、光、又は他のタイプのストレージデバイス若しくはコンピュータ可読ストレージ媒体とすることができ、長期記憶を意図したCD及びDVD等のデバイスを含む。
図示される実施形態では、メモリ2010は、ストレージ2020又はリモートシステム(図示せず)からロードすることができる1つ又は複数のプログラム又はサブプログラム2015を含む。このプログラム又はサブプログラムは、CPU2005によって実行されると、本発明による様々な動作、手順、機能、プロセス又は方法を実行する。代替的に、CPU2005は、システム2000から遠隔に位置する1つ又は複数のプログラムを実行することができる。例えば、システム2000はネットワーク2035を介して1つ又は複数のリモートプログラムにアクセスすることができる。このリモートプログラムは、実行されると、本発明の実施形態に関連するか又は本発明の実施形態を実施する機能及びプロセスを実行する。
1つの実施形態では、メモリ2010は、上記でナビゲーションサービス1780に関して説明した通信、マッピング及びルックアップ機能を実施するプログラム2015を含むことができる。別の実施形態では、メモリ2010は、上記でナビゲーションサービス1780に関して説明した通信、表示、ナビゲーション及び接続機能を実施するプログラム2015を含むことができる。また別の実施形態では、メモリ2010は、図18を参照して上記で説明した受信、取得及び提供機能を実行するプログラム2015を含むことができる。また別の実施形態では、メモリ2010は、図19を参照して説明した、受信、導出、提供及び取得機能を実行するプログラム2015を含むことができる。いくつかの実施形態では、メモリ2010は、本発明に対する補助機能を提供する他の方法及びプロセスを実施する他のプログラム又はアプリケーションも含むことができる。例えば、メモリ2010は、所有者がエンティティID又は名前空間のためのエンティティ表現1720を構成することができるようにエンティティ所有者又は名前所有者とインタフェースするプログラムを含むことができる。
メモリ2010は、CPU2005によって実行するときに当該技術分野において既知のいくつかの機能を実行する、本発明及び/又はオペレーティングシステム(図示せず)に関連しない他のプログラム(図示せず)を用いて構成することもできる。例として、オペレーティングシステムは、Microsoft Windows(登録商標)、Unix(登録商標)、Linux(登録商標)、Appleコンピュータ(登録商標)オペレーティングシステム、又は他のオペレーティングシステムとすることができる。オペレーティングシステムの選択、更にはオペレーティングシステムの使用は本発明にとって重要でない。
I/Oデバイス2025は、データがシステム2000によって受信及び/又は送信されることを可能にする1つ又は複数の入/出力デバイスを含むことができる。例えば、I/Oデバイス2025は、データがユーザ105等のユーザから入力されることを可能にする、キーボード、タッチスクリーン、マウス等の1つ又は複数の入力デバイスを含むことができる。更に、I/Oデバイス2025は、表示スクリーン、CRTモニタ、LCDモニタ、プラズマディスプレイ、プリンタ、スピーカデバイス等の、データがユーザに出力又は提示されることを可能にする1つ又は複数の出力デバイスを含むことができる。I/Oデバイス2025は、コンピューティングシステム2000が、例えばウェブサーバとして動作しているときに、例えば他のマシン及びデバイスとデジタル通信することを可能にする1つ又は複数のデジタル及び/又はアナログ通信入/出力デバイスも含むことができる。他の構成及び/又は数の入力及び/又は出力デバイスもI/Oデバイス2025に組み込むことができる。
示す実施形態では、システム2000は、ネットワーク2035(インターネット、セルラネットワーク、プライベートネットワーク、バーチャルプライベートネットワーク又は他のネットワーク等)に接続され、このネットワーク2035は更に、エージェント1710を備えるユーザ1705のデスクトップコンピュータ、スマートフォン、タブレットコンピュータ若しくはラップトップコンピュータ、又はナビゲーションサービス1780を実装するサーバコンピュータを備える等の様々なシステム及びコンピューティングマシンに接続することができる。通常、システム2000は、外部マシン及びデバイスからデータを入力し、外部マシン及びデバイスにネットワーク2035を介してデータを出力することができる。
データベース2030もシステム2000と合わせて用いることができる。示す実施形態では、システム2000の外部のスタンドアロンデータベースを用いることができる。他の実施形態では、データベースはシステム2000によってホスティングすることができる。データベースを用いて、本発明によるシステム及び方法を実施するのに用いられるデータを管理及び記憶することができる。例えば、データベース2030は、システム1700のエンティティ表現1720を含むことができる。一般に、データベース2030は、システム2000を通じてアクセス及び/又は管理される情報を記憶することができる。例として、そのようなデータベースは、Oracle(登録商標)データベース、Sybase(登録商標)データベース、又は他のリレーショナルデータベースとすることができる。一方、本発明によるシステム及び方法は、別個のデータ構造若しくはデータベースに限定されず、又は更にはデータベース若しくはデータ構造の使用にも限定されない。
上記の説明は例示的で説明的なものでしかなく、限定的ではないことが理解される。概して、提示された技法を実行することが可能なシステムは様々な形態をとることができる。構成及び実施態様における更なる変形が可能である。例えば、単数で説明されたリソースは複数であってもよく、統合型として説明されたリソースは分散型であってもよい。複数又は分散型として説明されたリソースは組み合わせてもよい。したがって、提示される技法の範囲は、以下の特許請求の範囲によってのみ限定されることが意図される。
Claims (30)
- ナビゲーションサービスをプロビジョニングする方法であって、
コンピュータネットワークを介して、キーワードと、名前所有者に関連付けられたエンティティ名と、他のデータとを含むコマンドデータを解決して、キーワードサービスを用いて少なくとも1つのネットワークロケータに変換するための電子認可を受信するステップであって、前記キーワードサービスは、少なくとも前記エンティティ名及び前記他のデータを前記少なくとも1つのネットワークロケータに相関付ける少なくとも1つのルールをキーワードサービス永続性メモリに記憶するステップと、
前記キーワードサービスのためのネットワークロケータを取得するステップと、
コンピュータネットワークを介して、クライアントコンピュータから、前記エンティティ名及び前記他のデータを含むコマンドデータを受信するステップと、
コンピュータネットワークを介して、前記コマンドデータへの応答を提供するステップであって、前記クライアントコンピュータは前記少なくとも1つのネットワークロケータを取得するステップと、
を含む、ナビゲーションサービスをプロビジョニングする方法。 - 前記クライアントコンピュータは、前記ナビゲーションサービスから前記少なくとも1つのネットワークロケータを取得し、前記方法は、
コンピュータネットワークを介して、前記キーワードサービスに、少なくとも前記エンティティ名及び前記他のデータを提供するステップであって、前記キーワードサービスが、前記エンティティ名及び前記他のデータを前記少なくとも1つのネットワークロケータに相関付けるステップと、
コンピュータネットワークを介して、前記キーワードサービスから、前記少なくとも1つのネットワークロケータを取得するステップと、
を含み、
前記コンピュータネットワークを介して、前記コマンドデータへの前記応答を前記提供するステップは、前記少なくとも1つのネットワークロケータを前記クライアントコンピュータに提供するステップを含む、請求項1に記載の方法。 - 前記クライアントコンピュータは前記キーワードサービスから前記少なくとも1つのネットワークロケータを取得し、前記方法は、
前記エンティティ名及び前記キーワードを、前記キーワードサービスのための前記ネットワークロケータに相関付けるステップを更に含み、
前記コンピュータネットワークを介して、前記コマンドデータへの前記応答を前記提供するステップは、前記キーワードサービスのための前記ネットワークロケータを前記クライアントコンピュータに提供するステップを含み、
前記クライアントコンピュータは、少なくとも前記エンティティ名及び前記他のデータを前記キーワードサービスに提供し、前記キーワードサービスは前記エンティティ名及び前記他のデータを前記少なくとも1つのネットワークロケータに相関付け、前記クライアントコンピュータは前記少なくとも1つのネットワークロケータを前記キーワードサービスから受信する、請求項1に記載の方法。 - 前記クライアントは、前記少なくとも1つのネットワークロケータを前記キーワードサービスから取得し、
前記コンピュータネットワークを介して、前記コマンドデータへの前記応答を提供するステップは、少なくとも前記エンティティ名と、前記他のデータと、前記クライアントコンピュータの識別子とを前記キーワードサービスに提供するステップを含み、
前記キーワードサービスは、少なくとも前記エンティティ名及び前記他のデータを前記少なくとも1つのネットワークロケータに相関付け、前記少なくとも1つのネットワークロケータを前記クライアントコンピュータの前記識別子を用いて前記クライアントコンピュータに提供する、請求項1に記載の方法。 - 前記他のデータはジオロケーションデータを含む、請求項1に記載の方法。
- 前記他のデータは、言語を特定するデータを含む、請求項1に記載の方法。
- 前記コマンドデータは、前記クライアントコンピュータに提供されるコマンド文字列から導出され、前記コマンド文字列は、名前部分及びキーワード部分からなり、前記名前部分は、前記名前及び該名前に隣接する名前空間識別子を含み、前記キーワード部分は前記キーワードを含む、請求項1に記載の方法。
- 前記キーワード部分は、前記キーワードに隣接するキーワードデリミタを更に含み、該キーワードデリミタは、#、!、「.」、$及び|からなる群から選択され、前記名前空間識別子は、@、fb、in及び「.」からなる群から選択される、請求項7に記載の方法。
- 前記他のデータはユーザインタフェースを通じて前記クライアントコンピュータに提供され、前記コマンドデータは前記他のデータから更に導出される、請求項7又は8に記載の方法。
- 前記電子認可を前記受信するステップは、前記名前所有者又は前記キーワードサービスから前記電子認可を受信するステップを含む、請求項1に記載の方法。
- 前記少なくとも1つのネットワークロケータは、ユニフォームリソースロケータ(URL)を含む、請求項1に記載の方法。
- 前記ナビゲーションサービスは、ドメイン名システム(DNS)サービスでない、請求項1に記載の方法。
- 例示的なキーワード及び前記エンティティ名を少なくとも1つの例示的なネットワークロケータに相関付ける少なくとも1つのルールをナビゲーションサービス永続性メモリに電子的に記憶するステップを更に含む、請求項1に記載の方法。
- 前記少なくとも1つのルールはデータベースクエリを指定する、請求項1に記載の方法。
- 少なくとも前記エンティティ名及び前記他のデータを前記少なくとも1つのネットワークロケータに相関付ける前記少なくとも1つのルールは、前記キーワード、前記エンティティ名及び前記他のデータを前記少なくとも1つのネットワークロケータに相関付け、
前記コマンドデータは前記キーワードを更に含む、請求項1に記載の方法。 - ナビゲーションサービスをプロビジョニングするためのシステムであって、
コンピュータネットワークに通信可能に接続され、該コンピュータネットワークを介して、キーワードと、名前所有者に関連付けられたエンティティ名と、他のデータとを含むコマンドデータを解決して、少なくとも1つのキーワードサービスサーバコンピュータを備えるキーワードサービスを用いて少なくとも1つのネットワークロケータに変換するための電子認可を受信するように構成される少なくとも1つのナビゲーションサービスサーバコンピュータであって、前記キーワードサービスは、少なくとも前記エンティティ名及び前記他のデータを前記少なくとも1つのネットワークロケータに相関付ける少なくとも1つのルールをキーワードサービス永続性メモリに記憶する、少なくとも1つのナビゲーションサービスサーバコンピュータと、
前記キーワードサービスのためのネットワークロケータを記憶するように構成される電子メモリと、
を備え、
前記少なくとも1つのナビゲーションサービスサーバコンピュータは、前記コンピュータネットワークを介して、クライアントコンピュータから、前記エンティティ名及び前記他のデータを含むコマンドデータを受信し、前記コンピュータネットワークを介して、前記コマンドデータへの応答を提供するように更に構成され、
前記クライアントコンピュータは、前記少なくとも1つのネットワークロケータを取得する、ナビゲーションサービスをプロビジョニングするためのシステム。 - 前記クライアントコンピュータは、前記ナビゲーションサービスから前記少なくとも1つのネットワークロケータを取得し、
前記少なくとも1つのナビゲーションサービスサーバコンピュータは、
コンピュータネットワークを介して、前記キーワードサービスに、少なくとも前記エンティティ名及び前記他のデータを提供し、これにより、前記キーワードサービスは、前記エンティティ名及び前記他のデータを前記少なくとも1つのネットワークロケータに相関付け、
前記少なくとも1つのナビゲーションサービスサーバコンピュータは、コンピュータネットワークを介して、前記キーワードサービスから、前記少なくとも1つのネットワークロケータを取得するように更に構成され、
前記少なくとも1つのナビゲーションサービスサーバコンピュータは、前記少なくとも1つのネットワークロケータを前記クライアントコンピュータに提供することによって、前記コンピュータネットワークを介して、前記コマンドデータへの前記応答を提供するように更に構成される、請求項16に記載のシステム。 - 前記クライアントコンピュータは、前記キーワードサービスから前記少なくとも1つのネットワークロケータを取得し、
前記少なくとも1つのナビゲーションサービスサーバコンピュータは、
前記エンティティ名及び前記キーワードを、前記キーワードサービスのための前記ネットワークロケータに相関付けるように更に構成され、
前記少なくとも1つのナビゲーションサービスサーバコンピュータは、前記キーワードサービスのための前記ネットワークロケータを前記クライアントコンピュータに提供することによって、前記コンピュータネットワークを介して、前記コマンドデータへの前記応答を提供するように更に構成され、
前記クライアントコンピュータは、少なくとも前記エンティティ名及び前記他のデータを前記キーワードサービスに提供し、前記キーワードサービスは前記エンティティ名及び前記他のデータを前記少なくとも1つのネットワークロケータに相関付け、前記クライアントコンピュータは前記少なくとも1つのネットワークロケータを前記キーワードサービスから受信する、請求項16に記載のシステム。 - 前記クライアントは、前記少なくとも1つのネットワークロケータを前記キーワードサービスから取得し、
前記少なくとも1つのナビゲーションサービスサーバコンピュータは、前記コンピュータネットワークを介して、少なくとも前記エンティティ名と、前記他のデータと、前記クライアントコンピュータの識別子とを前記キーワードサービスに提供することによって、前記コマンドデータへの前記応答を提供するように更に構成され、
前記キーワードサービスは、少なくとも前記エンティティ名及び前記他のデータを前記少なくとも1つのネットワークロケータに相関付け、前記少なくとも1つのネットワークロケータを前記クライアントコンピュータの前記識別子を用いて前記クライアントコンピュータに提供する、請求項16に記載のシステム。 - 前記他のデータはジオロケーションデータを含む、請求項16に記載のシステム。
- 前記他のデータは、言語を特定するデータを含む、請求項16に記載のシステム。
- 前記コマンドデータは、前記クライアントコンピュータに提供されるコマンド文字列から導出され、前記コマンド文字列は、名前部分及びキーワード部分からなり、前記名前部分は、前記名前及び該名前に隣接する名前空間識別子を含み、前記キーワード部分は前記キーワードを含む、請求項16に記載のシステム。
- 前記キーワード部分は、前記キーワードに隣接するキーワードデリミタを更に含み、該キーワードデリミタは、#、!、「.」、$及び|からなる群から選択され、前記名前空間識別子は、@、fb、in及び「.」からなる群から選択される、請求項22に記載のシステム。
- 前記他のデータはユーザインタフェースを通じて前記クライアントコンピュータに提供され、前記コマンドデータは前記他のデータから更に導出される、請求項22又は23に記載のシステム。
- 前記少なくとも1つのナビゲーションサービスサーバコンピュータは、前記名前所有者又は前記キーワードサービスから前記電子認可を受信することによって前記電子認可を受信するように更に構成される、請求項16に記載のシステム。
- 前記少なくとも1つのネットワークロケータはユニフォームリソースロケータ(URL)を含む、請求項16に記載のシステム。
- 前記ナビゲーションサービスは、ドメイン名システム(DNS)サービスでない、請求項16に記載のシステム。
- 前記少なくとも1つのナビゲーションサービスサーバコンピュータは、例示的なキーワード及び前記エンティティ名を少なくとも1つの例示的なネットワークロケータに相関付ける少なくとも1つのルールをナビゲーションサービス永続性メモリに記憶するように更に構成される、請求項16に記載のシステム。
- 前記少なくとも1つのルールはデータベースクエリを指定する、請求項16に記載のシステム。
- 少なくとも前記エンティティ名及び前記他のデータを前記少なくとも1つのネットワークロケータに相関付ける前記少なくとも1つのルールは、前記キーワード、前記エンティティ名及び前記他のデータを前記少なくとも1つのネットワークロケータに相関付け、
前記コマンドデータは前記キーワードを更に含む、請求項16に記載のシステム。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462041384P | 2014-08-25 | 2014-08-25 | |
US62/041,384 | 2014-08-25 | ||
US14/834,198 US9781091B2 (en) | 2011-03-14 | 2015-08-24 | Provisioning for smart navigation services |
US14/834,198 | 2015-08-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016045965A true JP2016045965A (ja) | 2016-04-04 |
Family
ID=55636377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015165563A Pending JP2016045965A (ja) | 2014-08-25 | 2015-08-25 | スマートナビゲーションサービスのためのプロビジョニング |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016045965A (ja) |
-
2015
- 2015-08-25 JP JP2015165563A patent/JP2016045965A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10185741B2 (en) | Smart navigation services | |
US10075423B2 (en) | Provisioning for smart navigation services | |
US9811599B2 (en) | Methods and systems for providing content provider-specified URL keyword navigation | |
US9646100B2 (en) | Methods and systems for providing content provider-specified URL keyword navigation | |
US20200034398A1 (en) | Methods and systems for recommending packages of domain names for registration | |
US9715694B2 (en) | System and method for website personalization from survey data | |
US20130067115A1 (en) | Method And System For Mapping Domain Prefixes To Qualified URLs | |
US9613374B2 (en) | Presentation of candidate domain name bundles in a user interface | |
US9684918B2 (en) | System and method for candidate domain name generation | |
US20120271877A1 (en) | Suggesting domain names from online map selections | |
US20150039599A1 (en) | Methods and systems for recommending top level and second level domains | |
US9866526B2 (en) | Presentation of candidate domain name stacks in a user interface | |
US20120272172A1 (en) | Geographic domain name suggestion tools | |
EP2711852A1 (en) | Methods and systems for providing content provider-specified URL keyword navigation | |
US20180262444A1 (en) | Registrant defined prerequisites for registering a tertiary domain | |
US20150039679A1 (en) | Methods and systems for recommending top level and second level domains | |
JP2016515740A (ja) | スマートナビゲーションサービス | |
US10387854B2 (en) | Registering a tertiary domain with revenue sharing | |
US10140644B1 (en) | System and method for grouping candidate domain names for display | |
US20150106234A1 (en) | System and method for grouping name assets for display | |
US20190036877A1 (en) | Registrant defined limitations on a control panel for a registered tertiary domain | |
JP2016045965A (ja) | スマートナビゲーションサービスのためのプロビジョニング | |
EP2991022A1 (en) | Provisioning for smart navigation services |