(57)【特許請求の範囲】
【請求項１】
コンピュータにより実施される推奨エンジンであって、
１つまたは複数のプロセッサと、
前記１つまたは複数のプロセッサに接続される１つまたは複数のメモリデバイスであって、前記１つまたは複数のプロセッサによって実行可能であるコンピュータプログラムロジックを記憶して、
第１のユーザに関連付けられた第１のデバイス内に配設される１つまたは複数の組み込みシステムから生じる情報を受信することと、
前記受信された情報から１つまたは複数の情報要素を抽出することであって、
前記第１のデバイスに関連付けられる特定のデバイスタイプおよび／またはデバイスモデルを特定することと、
含まれる情報要素のタイプと、前記受信された情報の少なくとも一部分内で前記情報要素が捜し出される場所とを指示する、前記特定のデバイスタイプおよび／またはデバイスモデルに関連付けられた特定の所定のスキーマを、前記受信された情報の少なくとも前記一部分に適用し、前記１つまたは複数の情報要素の少なくとも１つを特定することと、
を含む、抽出することと、
前記１つまたは複数の情報要素に基づいて、前記第１のデバイスのエラーコードまたは問題を決定することと、
前記エラーコードまたは問題に関する１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースを特定するために、前記１つまたは複数の情報要素と、前記第１のデバイスと同じデバイスタイプであるが異なるユーザが所有するインスタンス内の複数の組み込みシステムから生じる情報要素とを利用することと、
前記第１のデバイスと異なるが、前記第１のデバイスと同じデバイスタイプである第２のデバイスの第２のユーザを特定することと、
前記１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースのそれぞれの識別子を、前記第２のユーザに関連付けられたウェブブラウザへの配信用に提供することであって、前記１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースのそれぞれの前記識別子は、前記第２のユーザの代わりに前記１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースにアクセスするために前記ウェブブラウザによって使用可能である、提供することと、
を含む動作を行う、１つまたは複数のメモリデバイスとを備える、コンピュータにより実施される推奨エンジン。
【請求項２】
前記動作は、１つまたは複数の推奨される検索クエリおよび結果を生成するために、前記１つまたは複数の情報要素と、複数の組み込みシステムから生じる前記情報要素とを利用することと、前記ウェブブラウザへの配信用に前記１つまたは複数の推奨される検索クエリおよび結果を提供することとをさらに含む、請求項１に記載のコンピュータにより実施される推奨エンジン。
【請求項３】
前記１つまたは複数の組み込みシステムから生じる前記情報は、ワイヤードまたはワイヤレス接続によって前記１つまたは複数の組み込みシステムから前記情報を受信する少なくとも１つのモノのインターネット（IoT）接続ハブから得られる、請求項１に記載のコ
ンピュータにより実施される推奨エンジン。
【請求項４】
前記提供する動作は、前記１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースのそれぞれの識別子を、前記ユーザに関連付けられたウェブブラウザへの配信用に新しいタブページコンテンツを動的に構築する新しいタブページサービスに提供することを含み、前記新しいタブページコンテンツは、前記１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースのそれぞれについての情報を含む、請求項１に記載のコンピュータにより実施される推奨エンジン。
【請求項５】
アドレスバードロップダウンメニュー内に提示するために前記ウェブブラウザへの配信用に前記１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースのそれぞれの前記識別子を提供することをさらに含む、請求項１に記載のコンピュータにより実施される推奨エンジン。
【請求項６】
前記提供する動作は、前記ウェブブラウザからのリクエストの受信に応答して行われる、請求項１に記載のコンピュータにより実施される推奨エンジン。
【請求項７】
前記１つまたは複数の組み込みシステムは、電気器具、電源出力、警報機、照明、個人向けフィットネスデバイス、自動車用デバイス、健康管理デバイス、製造用デバイス、エネルギー管理デバイス、およびリテールデバイスのうちの１つまたは複数を含む、請求項１に記載のコンピュータにより実施される推奨エンジン。
【請求項８】
前記所定のスキーマは、拡張マークアップ言語（XML）スキーマまたはＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ（JSON）スキーマを含む、請求項１に記載のコンピュータにより実施される推奨エンジン。
【請求項９】
前記１つまたは複数の情報要素を利用して前記１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースを特定することは、異種のデバイスタイプ内の複数の組み込みシステムから生じる情報要素に基づいて単一の推奨されるネットワークアクセスが可能な情報リソースを特定することを含む、請求項１に記載のコンピュータにより実施される推奨エンジン。
【請求項１０】
プロセッサベースのコンピューティングデバイス上で実行しているウェブブラウザによって実施される方法であって、
第１のデバイスの第１のユーザの識別子と関連したリクエストを送ることと、
前記リクエストに応答して１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースのそれぞれの識別子を受信することであって、前記１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースは、少なくとも、前記第１のデバイスと同じデバイスタイプであるが異なるユーザが所有するインスタンス内に配設される複数の組み込みシステムから生じる情報に基づいて選択され、前記１つまたは複数の情報要素は、前記同じデバイスタイプの各インスタンスのエラーコードまたは問題に関連付けられ、かつ前記組み込みシステムの各々から受信された情報から抽出され、前記抽出は、前記同じデバイスタイプの前記インスタンスの各々に関連付けられた特定のデバイスタイプおよび／またはデバイスモデルを特定することと、前記特定のデバイスタイプおよび／またはデバイスモデルに関連付けられた特定の所定のスキーマを前記受信された情報の少なくとも一部分に適用して、前記１つまたは複数の情報要素のうちの少なくとも１つを特定することとによって行われ、前記特定の所定のスキーマは、含まれる情報要素のタイプと、前記受信された情報の少なくとも前記一部分内で前記情報要素が捜し出される場所とを指示する、受信することと、
前記ウェブブラウザのユーザインターフェース内に前記１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースについての情報を表示することとを含む、方法。
【請求項１１】
前記１つまたは複数の組み込みシステムから生じる前記情報は、ワイヤードまたはワイヤレス接続によって前記１つまたは複数の組み込みシステムから前記情報を受信する少なくとも１つのモノのインターネット（IoT）接続ハブから得られる、請求項１０に記載の方法。
【請求項１２】
前記ウェブブラウザの前記ユーザインターフェース内に前記１つまたは複数のネットワークアクセスが可能な情報リソースについての前記情報を表示することは、前記１つまたは複数のネットワークアクセスが可能な情報リソースについての前記情報を含む新しいタブページを表示することを含む、請求項１０に記載の方法。
【請求項１３】
前記ウェブブラウザの前記ユーザインターフェース内に前記１つまたは複数のネットワークアクセスが可能な情報リソースについての前記情報を表示することは、アドレスバードロップダウンメニューにおいて前記１つまたは複数のネットワークアクセスが可能な情報リソースについての前記情報を表示することを含む、請求項１０に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  ウェブブラウザは、ワールドワイドウェブ上の情報リソースを取り出す、提示する、およびトラバースするために一般的に使用されるソフトウェアアプリケーションである。それぞれの情報リソースは、統一資源ロケータ（URL）によって特定され、かつ、ウェブページ、画像、ビデオ、または他のコンテンツであってよい。情報リソースに存在するハイパーリンクは、ユーザが、関連した情報リソースに対して自身のウェブブラウザを容易にナビゲートできるようにする。現代のウェブブラウザの例は、限定はされないが、ワシントン州レドモンドのマイクロソフト社によって発表されたＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲ（登録商標）、カリフォルニア州マウンテンビューのＧｏｏｇｌｅ社によって発表されたＣＨＲＯＭＥ（商標）、カリフォルニア州マウンテンビューのＭｏｚｉｌｌａ  Ｆｏｕｎｄａｔｉｏｎによって発表されたＦＩＲＥＦＯＸ（登録商標）、および、カリフォルニア州クパチーノのＡｐｐｌｅ社によって発表されたＳＡＦＡＲＩ（登録商標）を含む。ウェブブラウザは主に、ワールドワイドウェブをナビゲートすることを目的としているが、プライベートネットワークにおけるウェブサーバまたはファイルシステムにおけるファイルによって提供される情報にアクセスするためにも使用可能である。
【０００２】
[0002]  ウェブブラウザは典型的には、情報が求められた時点で単にユーザによって提供される入力に基づいて情報を得る。例えば、ユーザは、ウェブブラウザのユーザインターフェース（UI）のアドレスバーにリソースのＵＲＬをタイピングすることによって特定の情報リソースへウェブブラウザを誘導することができる。別の例として、ユーザは、ウェブブラウザを介してインターネット検索エンジンにアクセス後、ウェブブラウザの枠の中で提示される検索エンジンのＵＩに検索クエリをタイピングすることによって情報を得ることができる。どちらの場合でも、ユーザは、有用な情報を提供する情報リソースのＵＲＬ、または検索エンジンに有用な情報を含む情報リソースを特定させることになる精確なキーワードのセットのどちらかを知っていなければならないため、ユーザにとって有用な情報を見つけることは困難な場合がある。
【０００３】
[0003]  いくつかのウェブブラウザは、ユーザが、容易にアクセスするためのお気に入りのまたはブックマークしたウェブページのリストを維持することを可能にする。いくつかのウェブブラウザは、アドレスバー、または新しいタブページなどを介して、頻繁にアクセスしたまたは最近アクセスしたＵＲＬをユーザに提示することもできる。このような特徴は、該ブラウザによって、ユーザが過去にアクセスした情報リソースをナビゲート可能とだけできる点に限定されており、ユーザが新しい情報のソースを見つける助けとはならない。さらに、いくつかの検索エンジンは、ユーザの前の検索履歴に基づいて、または検索エンジンの他のユーザの中で現在トレンドになっている検索クエリに基づいて推奨される検索クエリをユーザに提示することができる。しかしながら、このような推奨される検索クエリは、有用な情報を必要な時点で得る際にユーザを支援するという点では役に立たないことが多い。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
[0004]  ユーザのデバイス（例えば、ユーザのIotデバイス）内に含まれる組み込みシステムによって生成されるデータを収集しかつ解析して、ユーザのウェブブラウザの枠の中でユーザに提示するための推奨を作成するシステム、方法、およびコンピュータプログラム製品が本明細書に記載される。推奨は、例えば、提案された情報リソース（例えば、ウェブページまたはビデオなど）および／または提案された検索クエリを含むことができる。このような推奨は、新しいタブページの一部として、または、ウェブブラウザのグラフィカルユーザインターフェース（GUI）のアドレスバー内にユーザに対して提示されてよい。実施形態は、ユーザ自身のデバイスから収集されているデータに基づいて（および、いくつかの実施形態では、他が所有する同じデバイスの他のインスタンスから）推奨を生成するため、該推奨は、ユーザに関係がある可能性がある。また、実施形態はユーザデバイスデータを迅速に収集しかつ解析することができるため、推奨は、ユーザが推奨された情報を所望する可能性がある時に生成できる。他の実施形態によると、ユーザデバイスデータは、検索エンジンによって、より関係がある検索結果、および／または検索結果の改善されたランク付けを提供するために使用される。
【課題を解決するための手段】
【０００５】
[0005]  この（発明の概要）は（発明を実施するための形態）においてさらに後述される選抜した概念を簡略化された形で紹介するために提供される。この（発明の概要）は、特許請求される主題の重要な特徴または本質的な特徴を特定するように意図するものでもなく、特許請求される主題の範囲を限定するために使用されることを意図するものでもない。また、特許請求される主題は、（発明を実施するための形態）および／または本書の他の節に記載される特有の実施形態に限定されないことは留意されたい。このような実施形態は例示の目的としてのみ本明細書に提示される。本明細書に包含される教示に基づいて追加の実施形態が当業者には明らかとなるであろう。
【０００６】
[0006]  本明細書に組み込まれ、かつ明細書の一部を形成する添付の図面は、本発明の実施形態を示し、その記載と共に、さらに、本発明の原理を説明し、かつ、当業者が、本発明を製作し使用することができるようにするのに役立つ。
【図面の簡単な説明】
【０００７】
【図１】[0007]ウェブブラウザが、このユーザに、ユーザのＩｏＴデバイスから得られたデータに基づいて自動的に生成された情報リソース提案を提供できるようにする例示的なシステムのブロック図である。
【図２】[0008]一実施形態による例示的な新しいタブページサービスのブロック図である。
【図３】[0009]一実施形態による例示的な推奨エンジンのブロック図である。
【図４】[0010]一実施形態によるユーザのＩｏＴデバイスから得られたデータに基づいて１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースについての情報をウェブブラウザに提供するための推奨エンジンによって行われる方法のフローチャートである。
【図５】[0011]一実施形態によるウェブブラウザによって、このユーザに、ユーザのＩｏＴデバイスから得られたデータに基づいて１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースについての情報を提供するために行われる方法のフローチャートである。
【図６】[0012]一実施形態による新しいタブページ内でユーザに、ユーザ自身のＩｏＴデバイスデータから得られたデータに基づいている情報リソース推奨を表示する例示的なウェブブラウザＧＵＩを示す図である。
【図７】[0013]ウェブブラウザが、このユーザに、ユーザ自身のＩｏＴデバイスから得られたデータに基づいて自動的に生成された情報リソース提案および検索クエリ提案を提供できるようにする例示的なシステムのブロック図である。
【図８】[0014]一実施形態による例示的なアドレスバーサービスのブロック図である。
【図９】[0015]一実施形態による例示的な推奨エンジンのブロック図である。
【図１０】[0016]一実施形態によるユーザのＩｏＴデバイスから得られたデータに基づいて１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースおよび／または１つまたは複数の推奨される検索クエリについての情報をウェブブラウザに提供するための推奨エンジンによって行われる方法のフローチャートである。
【図１１】[0017]一実施形態によるウェブブラウザによって、このユーザに、ユーザのＩｏＴデバイスから得られたデータに基づいて１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースおよび／または１つまたは複数の推奨される検索クエリについての情報を提供するために行われる方法のフローチャートである。
【図１２】[0018]一実施形態によるアドレスバードロップダウンメニュー内でユーザに、ユーザ自身のＩｏＴデバイスデータに基づいている、情報リソース推奨および／または検索クエリ推奨を表示する例示的なウェブブラウザＧＵＩを示す図である。
【図１３】[0019]一実施形態による、ユーザの代わりに検索結果を生成するために、および／またはユーザの代わりに検索結果をランク付けするために、ユーザＩｏＴデバイスデータが検索エンジンによって使用されるシステムのブロック図である。
【図１４】[0020]一実施形態によるユーザのＩｏＴデバイスから得られたデータに基づいてユーザに対して検索結果を生成するために検索エンジンによって行われる方法のフローチャートである。
【図１５】[0021]さまざまな実施形態を実施するために使用可能である例示的なモバイルデバイスのブロック図である。
【図１６】[0022]さまざまな実施形態を実施するために使用可能である例示的なプロセッサベースのコンピュータシステムのブロック図である。
【発明を実施するための形態】
【０００８】
[0023]  本発明の特徴および利点は、図面と併せると、以下に示される詳細な説明からより明らかになるであろう。該図面において、同様の参照記号は全体を通して相当する要素を特定する。図面において、同様の参照番号は概して、同一の、機能的に同様の、および／または構造的に同様の要素を指示する。ある要素が初めて現れる図面は、相当する参照番号における最左の数字によって指示される。
【０００９】
[0024]  Ｉ．概論
以下の詳細な説明は、本発明の例示的な実施形態を示す添付の図面に言及する。しかしながら、本発明の範囲はこれらの実施形態に限定されず、むしろ、添付の特許請求の範囲によって定義される。そのため、示される実施形態の修正版など、添付の図面に示されるもの以上の実施形態は、それにもかかわらず、本発明に包括的に含まれてよい。
【００１０】
[0025]  本明細書において、「１つの実施形態」、「一実施形態」、「例示的な実施形態」などへの言及は、説明される実施形態が特定の特徴、構造、または特性を含むことができるが、実施形態全てが必ずしも特定の特徴、構造、または特性を含むことができるわけではないことを指示する。また、このような文言は、必ずしも同じ実施形態に言及しているわけではない。さらに、特定の特徴、構造、または特性が一実施形態に関連して説明される時、明示的に説明されるか否かに関わらず、他の実施形態に関連してこのような特徴、構造、または特性を実装することは当業者の知識の範囲内であることが提起される。
【００１１】
[0026]  ユーザのデバイス内に含まれる組み込みシステムによって出力されるデータを収集しかつ解析して、ユーザのウェブブラウザの枠の中でユーザに提示するための推奨を生成するシステム、方法、およびコンピュータプログラム製品が本明細書に記載される。推奨は、例えば、提案された情報リソース（例えば、ウェブページまたはビデオなど）および／または提案された検索クエリを含むことができる。このような推奨は、新しいタブページの一部として、または、ウェブブラウザのＧＵＩのアドレスバー内にユーザに対して提示されてよい。実施形態は、ユーザ自身のデバイスから収集されているデータに基づいて（および、いくつかの実施形態では、他が所有する同じデバイスの他のインスタンスから）推奨を生成するため、該推奨は、ユーザに関係がある可能性がある。また、実施形態はユーザデバイスデータを迅速に収集しかつ解析することができるため、このような実施形態は、ユーザが推奨された情報を所望する可能性がある時に推奨を生成できる。他の実施形態によると、ユーザデバイスデータは、検索エンジンによって、より関係がある検索結果、および／または検索結果の改善されたランク付けを提供するために使用される。
【００１２】
[0027]  ウェブブラウザは、新しい情報を求めているユーザによって最も一般的に使用されるアプリケーションの１つである。ユーザはそれらウェブブラウザを頼りにして、教育、娯楽、他との通信を行い、生産性に関するタスクを行う。
【００１３】
[0028]  モノのインターネット（IoT）の進化に伴って、ますます多くのデバイスがインターネットに接続されている。このようなデバイスの例は、主要な家庭電化製品（洗濯機、ドライヤ、食洗機、冷蔵庫、ストーブ、空調機、または給湯器など）、小型家電製品（コーヒーメーカー、電子レンジ、テレビ、ＣＤおよびＤＶＤプレーヤ、ビデオゲーム機、カムコーダ、カメラ、時計、または目覚まし時計など）、電源出力、警報機、住宅照明および商業用照明、個人向けフィットネスデバイス、自動車用デバイス、健康管理デバイス、製造用デバイス、エネルギー管理デバイス、ならびにリテールデバイスを含むがこれらに限定されない。
【００１４】
[0029]  本明細書に記載される実施形態は、ますます多くのデバイスがインターネットに接続されるため、これらのデバイスによって出力される情報はウェブブラウザユーザのための推奨を生成するために使用でき、それによって、このようなユーザは、探しているコンテンツにアクセスすることが容易になるという認識を前提とする。本明細書に記載される実施形態は、ユーザが所有するデバイスおよび／またはこのようなデバイスの現在の状態に基づいてユーザにコンテンツを推奨することによってこれを実現する。
【００１５】
[0030]  実施形態によると、ウェブブラウザはユーザに、自動的に生成される情報リソース（例えばウェブページ）提案および／または検索クエリ提案を提供し、この場合、情報リソース提案および／または検索クエリ提案は少なくともユーザ自身のＩｏＴデバイスから収集されたデータに基づいて生成される。このような自動的に生成される提案は、新しいタブページおよびアドレスバーを含む、さまざまな異なるウェブブラウザＧＵＩコンポーネントまたは「サーフェス」を介して提示されてよい。これらの提案の提示は、ユーザが、有用な情報を提供する情報リソースの識別子（例えばURL）、または検索エンジンに有用な情報を含む情報リソースを特定させることになる精確なキーワードのセットを知らない時でも所望の情報にアクセスすることを容易にする。
【００１６】
[0031]  さまざまな実施形態によると、ユーザの普段のデバイスによって生成される情報は、１つまたは複数のネットワークベースの通信チャネルを介して推奨エンジンに提供される。この情報はその後、推奨エンジンによって、ユーザのウェブブラウザの枠の中で、提案されたコンテンツおよび検索をユーザに直接提供するために使用されることで、ユーザが、自身のデバイスについて知らなければならない、かつ、（例えば、推測の検索用語のセットで入力することによって）手動で検索を行わなければならない必要性を排除する。例えば、ユーザの製氷機のフィルタを取り換える時になると、ユーザのウェブブラウザは、ウェブブラウザの新しいタブページ（または他の所）における関係がある提案を、新しいフィルタの購入場所、およびフィルタの取り換え方法についての手順に対するリンクと共に提供することができる。
【００１７】
[0032]  さらなる実施形態によると、ユーザのＩｏＴデバイスデータは、検索エンジンによって、ユーザにとってより関係がある検索結果、および／またはユーザに対する検索結果の改善されたランク付けを生成するために使用される。
【００１８】
[0033]  ユーザが、ウェブページなど、所望されるネットワークアクセスが可能な情報をより迅速に捜し出すことができるようにすることによって、本明細書に記載される実施形態は、例えば、電力消費、プロセッサ利用、およびデバイスによるネットワーク利用を低減することによって、ウェブブラウザを稼働させているユーザコンピューティングデバイスの性能を改善することができる。このことは、所望の情報を得るために閲覧に費やさなければならない時間が少なくなることに起因する。また、ユーザが所望されるネットワークアクセスが可能な情報をより迅速に捜し出すことができるようにすることによって、本明細書に記載される実施形態は、ウェブブラウザおよび検索エンジンをサポートするバックエンドリソースと通信することが必要とされるネットワークリソースの利用の低減のみならず、バックエンドリソース自体の利用の低減が可能である。
【００１９】
[0034]  以下の節では、先に述べたシステム、方法、およびコンピュータプログラム製品の実施形態についてさらに詳しく説明する。特に、第ＩＩ節では、ウェブブラウザがこのユーザに、ユーザ自身のＩｏＴデバイスから得られるデータに基づく、自動的に生成される情報リソース提案および／または検索クエリ提案を提供できるようにするシステム、方法、およびコンピュータプログラム製品について説明する。第ＩＩＩ節では、検索エンジンが、ユーザ自身のＩｏＴデバイスから得られるデータに基づいて、ユーザにとってより関係がある検索結果、および／またはユーザに対する検索結果の改善されたランク付けを返すことを可能にするシステム、方法、およびコンピュータプログラム製品について説明する。第ＩＶ節では、さまざまな実施形態を実施するために使用可能である例示的なモバイルデバイスについて説明する。第Ｖ節では、さまざまな実施形態を実施するために使用可能である例示的なプロセッサベースのコンピュータシステムについて説明する。第ＶＩ節では、いくつかの追加の例示的な実施形態について説明する。第ＶＩＩ節では、いくつかの結論を提供する。
【００２０】
[0035]  ＩＩ．ユーザにＩｏＴデバイスデータに基づく推奨を提供する
図１は、ウェブブラウザが、このユーザに、ユーザ自身のＩｏＴデバイスから得られたデータに基づいて自動的に生成された情報リソース提案を提供できるようにする例示的なシステム１００のブロック図である。図１に示される実施形態では、情報リソース提案はウェブブラウザの新しいタブページに表示される。図１に示されるように、システム１００は、複数のユーザＩｏＴデバイス１０２、ＩｏＴ接続ハブ１１４、インテリジェントシステムサービス（ISS）１１６、検索エンジンサービス１１８、推奨エンジン１２０、新しいタブページサービス１２２、およびウェブブラウザ１２６を実行するユーザコンピューティングデバイス１２４を含む。システム１００のこれらの要素のそれぞれについてここで説明する。
【００２１】
[0036]  ユーザＩｏＴデバイス１０２は、ユーザが所有する、ユーザによってアクセス可能である、またはその他の場合ユーザに関連付けられるデバイスを表すことを目的としている。ユーザＩｏＴデバイス１０２のそれぞれは、ワイヤードまたはワイヤレス接続を介して少なくとも１つの他のエンティティに情報を通信可能である少なくとも１つの組み込みシステムを含む。本明細書において使用されるように、「組み込みシステム」という用語は、複雑な組み込みコンピュータのみならず簡易なセンサを含むデバイス内に配設できる任意のタイプの自動化機能性を広く包括的に含むことを目的としている。ユーザＩｏＴデバイス１０２内のそれぞれの組み込みシステムは、（例えば、デジタル回路および／またはアナログ回路を使用する）ハードウェアにおいて、ソフトウェア（例えば、１つまたは複数の汎用プロセッサおよび／または専用プロセッサによって実行されるソフトウェア）において、または、ハードウェアおよびソフトウェアの組合せとして、実装可能である。
【００２２】
[0037]  ユーザＩｏＴデバイス１０２は、限定はされないが、主要な家庭電化製品（洗濯機、ドライヤ、食洗機、冷蔵庫、ストーブ、空調機、または給湯器など）、小型家電製品（コーヒーメーカー、電子レンジ、テレビ、ＣＤおよびＤＶＤプレーヤ、ビデオゲーム機、カムコーダ、カメラ、時計、または目覚まし時計など）、電源出力、警報機、住宅照明および商業用照明、個人向けフィットネスデバイス、自動車用デバイス、健康管理デバイス、製造用デバイス、エネルギー管理デバイス、ならびにリテールデバイスを含む多種多様な異なるタイプのデバイスを含むことができる。
【００２３】
[0038]ユーザＩｏＴデバイス１０２のいくつかの特有の例が図１に示される。特に、図１に示されるように、ユーザＩｏＴデバイス１０２は、フィットネスデバイス１０４（例えば、マイクロソフトのＭＩＣＲＯＳＯＦＴ  ＢＡＮＤ（商標）、またはＦｉｔｂｉｔのＦＩＴＢＩＴ（登録商標）アクティビティ追跡デバイスの任意のもの）、デジタルビデオリコーダー（ＤＶＲ）１０６、ランプ１０８、アラーム１１０、および電気器具１１２を含む。これらのデバイスは、例としてのみ提示され、限定することを意図するものではない。ＩｏＴの進化に伴って、他のエンティティと自動的に通信する能力を有する組み込みシステムは、ますます多くのタイプのデバイスにおいて一体化されることになる。
【００２４】
[0039]  上に記されるように、ユーザＩｏＴデバイス１０２内に配設される組み込みシステムのそれぞれは、ワイヤードまたはワイヤレス接続を介して少なくとも１つの他のエンティティに情報を通信するように動作可能である。特定の組み込みシステムによって通信可能である情報のタイプはデバイスまたはデバイスタイプによって変えることができる。例えば、フィットネスデバイス１０４内の組み込みシステムは、ユーザアクティビティレベル、紫外線（UV）暴露、または心拍数などに関連する情報を通信することができる。対照的に、ＤＶＲ１０６内の組み込みシステムは、デバイス状態（例えば、オン／オフ、記録している／記録していないなど）、記憶されたプログラム、将来記録することがスケジューリングされたプログラム、または未使用の記憶領域量などに関連する情報を通信可能である。別の例として、ランプ１０８内の組み込みシステムは、オン／オフ状態、または電球が取り換えられてからの期間などの情報を通信可能である。
【００２５】
[0040]  ユーザＩｏＴデバイス１０２内の特定の組み込みシステムによって出力される情報は、特定のスキーマに従ってフォーマット可能である。このようなスキーマは、特定のブランドまたはモデルのデバイス（例えば、特定のブランドまたはモデルの洗濯機）と、または、あるクラスのデバイスタイプ（例えば全ての洗濯機）と関連付けられてよい。デバイスに関連付けられるスキーマは、デバイスによって出力されるデータ内に含まれる情報要素のタイプ、およびこのような要素が所与の通信ペイロード内で捜し出される場所の両方を指示することができる。該スキーマは、例えば、拡張マークアップ言語（XML）スキーマ、ＪａｖａＳｃｒｉｐｔ（登録商標）  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ（JSON）スキーマ、またはある他のタイプのスキーマを含むことができる。
【００２６】
[0041]  ユーザＩｏＴデバイス１０２におけるそれぞれの組み込みシステムが外部エンティティと通信するやり方は変えてもよい。例えば、組み込みシステムは、外部エンティティとワイヤレスに通信するためにＢＬＵＥＴＯＯＴＨ（登録商標）またはＩＥＥＥ８０２．１１（「ＷｉＦｉ」）プロトコルなどの通信プロトコルを利用することができる。しかしながら、これらは例に過ぎず、他の無線周波数（RF）通信プロトコルまたは赤外線（IR）通信プロトコルはワイヤレス通信を行うために使用可能である。いくつかの実施形態では、組み込みシステムは、外部エンティティと通信するためにワイヤード接続を利用する。ワイヤード接続上の通信は、シリアル通信プロトコル（例えば、ユニバーサルシリアルバス（USB）プロトコル）または他の適した通信プロトコルを使用して行われてよい。ワイヤード接続は、例えば、屋内電力線ネットワークまたは家庭用電話回線ネットワークを含むこともできる。
【００２７】
[0042]  図１に示されるシステムにおいて、ユーザＩｏＴデバイス１０２のそれぞれにおけるそれぞれの組み込みシステムは、ＩｏＴデバイスデータをＩｏＴ接続ハブ１１４に通信するように動作可能である。このような通信は矢印１３０によっておおまかに表される。このような通信が生じる時間および頻度は、ユーザＩｏＴデバイス１０２によって変えてよい。さらに、異なるユーザＩｏＴデバイス１０２は、異なる通信媒体およびプロトコルを使用してＩｏＴデバイスデータをＩｏＴ接続ハブ１１４に通信してよい。所与の通信は、特定のユーザＩｏＴデバイス１０２によって自動的にトリガされてよい、または、ＩｏＴ接続ハブ１１４からのリクエストに応答して行われてよい。
【００２８】
[0043]  ＩｏＴ接続ハブ１１４は、ユーザＩｏＴデバイス１０２内で一体化される組み込みシステムのそれぞれからＩｏＴデバイスデータを受信することができるデバイスを表すことを目的としている。１つの実施形態では、ＩｏＴ接続ハブ１１４は、ホームオートメーションハブ（カリフォルニア州アーバインのＳｍａｒｔｌａｂｓ社によって販売されているＩＮＳＴＥＯＮ（登録商標）ホームオートメーションハブなど）を含むが、これは一例に過ぎない。ＩｏＴ接続ハブ１１４がホームオートメーションハブを含む一実施形態では、ＩｏＴ接続ハブ１１４は、ユーザＩｏＴデバイス１０２のそれぞれと通信して、ユーザにこのようなデバイスに対する集中監視および／または制御を提供することができる。
【００２９】
[0044]  ユーザは、サポートされるユーザＩｏＴデバイスをＩｏＴ接続ハブ１１４に接続するためにある特定のステップを踏むことを要求される場合があり、この場合、踏むべきステップは、ハブタイプおよび／またはＩｏＴデバイスタイプによって変えることができる。
【００３０】
[0045]  ＩｏＴ接続ハブ１１４は、ユーザＩｏＴデバイス１０２における組み込みシステムのそれぞれからＩｏＴデバイスデータを集めるように、および、かかるＩｏＴデバイスデータをインターネットなどワイドエリアネットワーク（WAN）上でＩＳＳサービス１１６に渡すようにさらに動作可能である。このようなデータを渡すことは、図１の矢印１３２によって表される。新しいＩｏＴデバイスデータは、ＩｏＴ接続ハブ１１４からＩＳＳ１１６に継続的に渡されてよいが、かかるデータが渡される時間およびかかるデータが渡される頻度は、実装形態ごとに変えてよい。ＩｏＴ接続ハブ１１４からＩＳＳ１１６に渡されるＩｏＴデバイスデータは、ユーザＩｏＴデバイス１０２に関連付けられるユーザの識別子（ID）を含む。１つの実施形態では、ユーザのＩＤは、マイクロソフト管理サービスアカウント（MSA）ＩＤなどのアカウントＩＤを含む。
【００３１】
[0046]  図１において、ユーザＩｏＴデバイス１０２における組み込みシステムによって生成されるＩｏＴデバイスデータ全ては、ＩｏＴ接続ハブ１１４を介してＩＳＳ１６６に渡される。よって、ＩｏＴ接続ハブ１１４は、ユーザＩｏＴデバイス１０２における組み込みシステムとインターネットとの間の橋渡しの役をする。このような橋渡しは、組み込みシステムがワイヤードまたはワイヤレス媒体上で通信可能とすることができるが十分なインターネットスタックをサポートしない恐れがあるため、必要な場合がある。当然ながら、組み込みシステムが十分なインターネットスタックをサポートするインスタンスでは、組み込みシステムがＩｏＴデバイスデータをＩＳＳ１１６に直接通信可能とすることができる。
【００３２】
[0047]  ＩＳＳ１１６は、インターネットを介してマシン生成データを安全に収集し、管理し、および報告するためのクラウドベースのサービスのセットを表す。これらのサービスは、１つまたは複数のプロセッサベースのコンピューティングデバイス（例えばサーバ）上で実行される。１つの実施形態では、ＩＳＳ１１６は、ワシントン州レドモンドのマイクロソフト社によって発表されたＭｉｃｒｏｓｏｆｔ  ＡＺＵＲＥ（商標）インテリジェントシステムサービスを含む。しかしながら、これは一例に過ぎず、ＩＳＳ１１６は、ＩｏＴ接続ハブ１１４およびインターネット上の他のエンティティからＩｏＴデバイスデータを収集可能である任意のサービスを含むことができる。ＩＳＳ１１６は、ＩｏＴ接続ハブ１１４から（および、限定はされないが他のＩｏＴ接続ハブを含む他のエンティティから）受信されたＩｏＴデバイスデータのデータフィード１３４を検索エンジンサービス１１８に提供するように動作する。
【００３３】
[0048]  検索エンジンサービス１１８は、検索エンジン（例えば、マイクロソフトのＢＩＮＧ（登録商標）検索エンジン）をサポートするための、およびその他の場合、ユーザが自身のコンピューティングデバイスを介して所望の情報を得る際に支援するためのサービスのセットを含む。これらのサービスは、１つまたは複数のプロセッサベースのコンピューティングデバイス（例えばサーバ）上で実行される。図１に図示される実施形態では、データフィード１３４は検索エンジンサービス１１８によって推奨エンジン１２０に渡されることで、推奨エンジン１２０は該データフィードに含まれるデータを使用して、新しいタブページサービス１２２からのリクエストに応答してユーザに対して情報リソース推奨を生成することができる。検索エンジンサービス１１８のように、推奨エンジン１２０および新しいタブページサービス１２２はそれぞれ、１つまたは複数のプロセッサベースのコンピューティングデバイス（例えばサーバ）上で実行される。ＩｏＴデバイスデータを検索エンジンサービス１１８から推奨エンジン１２０に渡すことは、図１の矢印１３６によって表される。
【００３４】
[0049]  ＩｏＴデバイスデータを受信すると、推奨エンジン１２０は、情報要素（例えば、デバイスＩＤ、デバイスタイプ、デバイスモデル、デバイス状態情報、またはデバイスエラーコードなど）を、ユーザにとって関心があるかもしれない情報リソースを特定するために使用できるデータから抽出するように動作する。特に、推奨エンジン１２０は、適切なスキーマを使用してデータを復号することによってＩｏＴデバイスデータから情報要素を抽出する。例えば、推奨エンジン１２０は、洗濯機から得られたＩｏＴデータから情報要素を抽出するために洗濯機についてのスキーマを利用することができる。推奨エンジン１２０はその後、ユーザにとって関心があるかもしれないネットワークアクセスが可能なコンテンツ（例えば、ウェブページ、ビデオ、または画像など）を検索するために抽出された情報要素を使用することができる。
【００３５】
[0050]  実装形態によっては、推奨エンジン１２０は、ＩｏＴデバイスデータから情報要素を単に抽出後、ＩｏＴデバイスデータを具備するユーザＩＤと関連して情報要素を記憶することができる。その後、リクエストが新しいタブページサービス１２２から受信されて、１つまたは複数の推奨される情報リソースをユーザＩＤによって特定されたユーザに提供する時、推奨エンジン１２０は、情報要素を利用してその検索を行うことができる。代替的な実装形態では、推奨エンジン１２０は、新しいタブページサービス１２２から任意のリクエストを受信する前に情報要素を使用して推奨される情報リソースについての検索を行ってよい。このような代替的な実装形態によると、推奨エンジン１２０は、その後、ユーザＩＤと関連した検索によって発見された情報リソースの識別子（例えばURL）を記憶することができる。このような識別子は、後に、新しいタブページサービス１２２からのリクエストに応答して迅速にアクセス可能である。
【００３６】
[0051]  さらに図１のシステム１００によると、ユーザＩｏＴデバイス１０２に関連付けられたユーザは、ユーザコンピューティングデバイス１２４上で実行しているウェブブラウザ１２６と対話する。ユーザコンピューティングデバイス１２４は、ウェブブラウザを実行することが可能である任意のデバイスを含むことができる。限定ではなく例として、ユーザコンピューティングデバイス１２４は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ネットブック、スマートフォン、ゲーム機、またはスマートＴＶなどを含んでよい。
【００３７】
[0052]  ウェブブラウザ１２６と対話する間、ユーザは、新しいタブページをウェブブラウザ１２６のＧＵＩ内に表示させる。例えば、ユーザは、新しいタブページを、ウェブブラウザを立ち上げることによって、または、ウェブブラウザ１２６の「新しいタブ」のＧＵＩコンポーネントをクリックすることによって表示させることができる。これが生じる時、新しいタブページは新しいタブページコンテンツ１３８についてのリクエストをインターネット上で新しいタブページサービス１２２に送る。リクエスト１３８は、ユーザのユーザＩＤ（例えばMSA  ID）を含むか、その他の場合これに関連付けられる。ウェブブラウザ１２６は、例えば、ユーザが自身のユーザＩＤを使用してウェブブラウザ１２６を介して自身のアカウントにログオンした場合があるため、このユーザＩＤにアクセスすることができる。
【００３８】
[0053]  リクエスト１３８を受信すると、新しいタブページサービス１２２はクエリ１４０を推奨エンジン１２０に送る。クエリ１４０は、新しいタブページに含まれる推奨される情報リソースのリストについてのリクエストを含む。クエリ１４０はユーザのユーザＩＤを含む。
【００３９】
[0054]  クエリ１４０の受信に応答して、推奨エンジン１２０は推奨される情報リソースのリストを生成する。１つの実施形態では、推奨エンジン１２０は、クエリ１４０に含まれるユーザＩＤを使用して、ユーザＩＤによって特定されるユーザと関連付けられたＩｏＴデバイスデータ情報要素のセットにアクセスする。推奨エンジン１２０はその後、情報要素を使用して、ユーザにとって関心があるかもしれない情報リソース（例えば、ウェブページ、ビデオ、または画像など）についての検索を行う。情報リソース識別子（例えばURL）のリストを含む場合がある検索の結果は、次いで、クエリ応答１４２の一部として新しいタブページサービス１２２に提供される。代替的な実施形態では、このような検索は、前もって行われてよく、その結果は、推奨エンジン１２０によってユーザＩＤと関連して記憶される。このような実施形態によると、推奨エンジン１２０は、クエリ１４０に含まれるユーザＩＤを使用して、推奨される情報リソースの先に記憶されたリストにアクセスし、かつ、そのリストをクエリ応答１４２の一部として返す。
【００４０】
[0055]  推奨される情報リソースのリストを含むクエリ応答１４２を受信後、新しいタブページサービス１２２は新しいタブページのコンテンツを動的にビルドする。新しいタブページのコンテンツは、クエリ応答１４２からの推奨される情報リソースについての情報を含み、このような推奨される情報リソースそれぞれの識別子（例えばURL）を含むことができる。新しいタブページサービスは次いで、新しいタブページ１４４のコンテンツをウェブブラウザ１２６に返す。ウェブブラウザ１２６はその後、ユーザによって開かれていた新しいタブページ内の新しいタブページのコンテンツを表示する。
【００４１】
[0056]  図２は、一実施形態による例示的な新しいタブページサービス２００のブロック図である。新しいタブページサービス２００は、図１の新しいタブページサービス１２２の例示的な実装形態を含むことができる。図２に示されるように、新しいタブページサービス２００は、ウェブブラウザインターフェース２０２、推奨エンジンクエリロジック２０４、および新しいタブページコンテンツビルダー２０６を含む。これらのコンポーネントのそれぞれは、ソフトウェア（例えば、１つまたは複数の汎用プロセッサおよび／または専用プロセッサによって実行されるソフトウェア）において、（例えば、デジタル回路および／またはアナログ回路を使用する）ハードウェアにおいて、または、ソフトウェアおよびハードウェアの組合せとして、実装可能である。１つの実施形態では、コンポーネントの１つまたは複数は１つまたは複数のサーバコンピュータ上に実装される。
【００４２】
[0057]  ウェブブラウザインターフェース２０２は、ユーザコンピューティングデバイス１２４上で実行しているウェブブラウザ１２６などのクライアントデバイス上で実行しているウェブブラウザから新しいタブページコンテンツについてのリクエストを受信するように、かつ、かかるリクエストに対する応答をこのようなクライアントデバイスに送り返すように動作可能であるロジックを含む。該応答は、ウェブブラウザのＧＵＩの新しいタブページ部分に含めるコンテンツを含む。
【００４３】
[0058]  推奨エンジンクエリロジック２０４は、ウェブブラウザインターフェース２０２を介して新しいタブコンテンツページについてのクライアントリクエストの受信に応答して、推奨エンジン１２０などの推奨エンジンに対してクエリを生成しかつ送るように動作可能であるロジックを含む。一実施形態では、クエリは、１つまたは複数の推奨される情報リソースのリストについてのリクエストを含む。クエリはまた、特定のユーザＩＤを含むかこれに関連付けられてよい。推奨エンジンクエリロジック２０４は、推奨エンジンから１つまたは複数の推奨される情報リソースのリストを受信するように、かつ、新しいタブページコンテンツビルダー２０６のリストを提供するように動作可能であるロジックをさらに含む。
【００４４】
[0059]  新しいタブページコンテンツビルダー２０６は、ウェブブラウザインターフェース２０２を介して新しいタブコンテンツページについてのクライアントリクエストの受信に応答して、新しいタブページコンテンツを動的にビルドするように動作可能であるロジックを含む。このようなコンテンツは、推奨エンジンクエリロジック２０４から受信される推奨される情報リソースについての情報を含むことができ、かかる推奨される情報リソースそれぞれの識別子（例えばURL）を含むことができる。新しいタブページコンテンツビルダー２０６によって生成される新しいタブページコンテンツは、コンテンツをリクエストしたウェブブラウザに送信されるようにウェブブラウザインターフェース２０２に提供される。
【００４５】
[0060]  図３は、一実施形態による例示的な推奨エンジン３００のブロック図である。推奨エンジン３００は図１の推奨エンジン１２０の例示的な実装形態を含むことができる。図３に示されるように、推奨エンジン３００は、ＩｏＴデータ受信機３０２、ＩｏＴ情報要素抽出部３０４、情報リソース識別子３０６、およびクエリ応答ロジック３０８を含む。これらのコンポーネントのそれぞれは、ソフトウェア（例えば、１つまたは複数の汎用プロセッサおよび／または専用プロセッサによって実行されるソフトウェア）において、（例えば、デジタル回路および／またはアナログ回路を使用する）ハードウェアにおいて、または、ソフトウェアおよびハードウェアの組合せとして、実装可能である。１つの実施形態では、コンポーネントの１つまたは複数は１つまたは複数のサーバコンピュータ上に実装される。
【００４６】
[0061]  ＩｏＴデータ受信機３０２は、さまざまなユーザに関連付けられたデバイス内に配設される組み込みシステムから生じるＩｏＴデバイスデータを受信するように動作可能であるロジックを含む。このようなＩｏＴデバイスデータは、（図１のIoT接続ハブ１１４などの）任意の数のＩｏＴ接続ハブによって収集され、かつ、（図１のISSサービス１１６などの）ＩＳＳサービスに伝達されることによって、次いで、ＩＳＳサービスから（図１の検索エンジンサービス１１８などの）検索エンジンサービスに伝達可能である。検索エンジンサービスはＩｏＴデバイスデータを推奨エンジン３００に提供する。しかしながら、ＩｏＴデータ受信機３０２は他のやり方でもＩｏＴデバイスデータを受信可能である。一実施形態では、ＩｏＴデータ受信機３０２はいくらかのユーザに対するＩｏＴデバイスデータを受信し、特定のユーザに対するＩｏＴデバイスデータはこのようなＩｏＴデバイスデータに関連付けられるユーザＩＤによって特定される。
【００４７】
[0062]  ＩｏＴ情報要素抽出部３０４は、ＩｏＴデバイスデータから情報要素（例えば、デバイスＩＤ、デバイスタイプ、デバイスモデル、デバイス状態情報、またはデバイスエラーコードなど）を抽出するように動作可能であるロジックを含む。特に、ＩｏＴ情報要素抽出部３０４は、適切なスキーマを使用してデータを復号することによってＩｏＴデバイスデータから情報要素を抽出するように動作可能である。ＩｏＴ情報要素抽出部３０４は、特定のユーザＩＤと関連してＩｏＴデバイスデータの特定のセットについて抽出された情報要素を記憶可能である。
【００４８】
[0063]  情報リソース識別子３０６は、特定のユーザＩＤによって特定されるユーザに対して１つまたは複数の推奨される情報リソースについての検索を行うために特定のユーザＩＤに関連付けられた情報要素を利用するように動作可能であるロジックを含む。例えば、情報リソース識別子３０６は、ネットワークアクセスが可能な情報リソースのインデックスの検索における検索用語として情報要素を利用することができる。一実施形態では、情報リソース識別子３０６は、ユーザＩＤを含むかその他の場合これに関連付けられる新しいタブページサービス（図１の新しいタブページサービス１２２など）からのクエリの受信に応答してこのような検索を行うように動作可能である。別の実施形態では、情報リソース識別子３０６は、新しいタブページサービスからの任意のリクエストを受信する前にユーザＩＤに関連付けられた情報要素を使用して特定のユーザＩＤに対して推奨される情報リソースについての検索を行うことができる。かかる実施形態によると、情報リソース識別子３０６はユーザＩＤに関連した検索によって発見された推奨される情報リソースの識別子（例えばURL）を記憶してよい。かかる識別子は後に、新しいタブページサービスからのリクエストに応答して迅速にアクセス可能である。
【００４９】
[0064]  クエリ応答ロジック３０８は新しいタブページサービス（例えば、図１の新しいタブページサービス１２２または図２の新しいタブページサービス２００）からクエリを受信するように、かつ、情報リソース識別子３０６によって生成される推奨される情報リソースのリストを提供することによってかかるクエリに応答するように動作可能であるロジックを含む。一実施形態では、新しいタブページサービスから受信されたそれぞれのクエリはユーザＩＤを含み、クエリ応答ロジック３０８は、情報リソース識別子３０６が特定のユーザＩＤによって特定されるユーザに対する推奨される情報リソースのリストを生成できるように、ユーザＩＤを情報リソース識別子３０６に提供するように動作する。１つの実施形態では、クエリ応答ロジック３０８によって新しいタブページサービスに返される推奨される情報リソースのリストは、推奨される情報リソースのＵＲＬのリストを含む。
【００５０】
[0065]  図４は、一実施形態によるユーザのＩｏＴデバイスから得られたデータに基づいて推奨されるネットワークアクセスが可能な情報リソースのリストをウェブブラウザに提供するための推奨エンジンによって行われる方法のフローチャート４００である。フローチャート４００の方法は、例えば、図１の推奨エンジン１２０によって、または図３の推奨エンジン３００によって実施されてよい。しかしながら、方法はそれらの実施形態に限定されない。
【００５１】
[0066]  図４に示されるように、フローチャート４００の方法は情報が受信されるステップ４０２で始める。該情報は、ユーザに関連付けられた１つまたは複数のデバイス内に配設された１つまたは複数の組み込みシステムから生じる。一実施形態では、情報は、ワイヤードまたはワイヤレス接続によって１つまたは複数の組み込みシステムから情報を受信する少なくとも１つのＩｏＴ接続ハブから得られる。一実施形態では、ステップ４０２は推奨エンジン３００のＩｏＴデータ受信機３０２によって行われる。
【００５２】
[0067]  ステップ４０４では、１つまたは複数の情報要素はステップ４０２の間に受信される情報から抽出される。一実施形態では、このステップは、受信された情報の少なくとも一部分が生じたデバイスに関連付けられたデバイスタイプおよび／またはデバイスモデルを特定することを含む。次いで、デバイスタイプおよび／またはデバイスモデルに関連付けられた所定のスキーマは、受信された情報の少なくとも一部分に適用されて、１つまたは複数の情報要素の少なくとも１つを特定する。さらにかかる実施形態によると、所定のスキーマはＸＭＬスキーマまたはＪＳＯＮスキーマを含むことができるが、これらは例に過ぎない。一実施形態では、ステップ４０４は推奨エンジン３００のＩｏＴ情報要素抽出部３０４によって行われる。
【００５３】
[0068]  ステップ４０６では、ステップ４０４の間に抽出される１つまたは複数の情報要素は、１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースを特定するために利用される。ネットワークアクセスが可能な情報リソースそれぞれは、限定ではなく例として、ウェブサイト、ウェブページ、画像、またはビデオなどを含むことができる。１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースを特定するために１つまたは複数の情報要素を利用することは、例えば、ネットワークアクセスが可能な情報リソースのインデックスに対して行われるクエリにおける検索用語として１つまたは複数の情報要素を利用することを含むことができる。一実施形態では、ステップ４０６は推奨エンジン３００の情報リソース識別子３０６によって行われる。
【００５４】
[0069]  ステップ４０８では、１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースのそれぞれの識別子は、ユーザに関連付けられるウェブブラウザに配信するために提供される。このステップは、例えば、ウェブブラウザに配信するために新しいタブページコンテンツを動的に構築する新しいタブページサービスに１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースのそれぞれの識別子を提供することを含むことができる。新しいタブページコンテンツは、１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースのそれぞれについての情報を含む。ステップ４０８は、例えば、ウェブブラウザからの新しいタブページコンテンツについてのリクエストの受信に応答して行われてよい。一実施形態では、ステップ４０８は、推奨エンジン３００のクエリ応答ロジック３０８によって行われる。
【００５５】
[0070]  図５は、一実施形態によるウェブブラウザによって、このユーザに、ユーザのＩｏＴデバイスから得られたデータに基づいて推奨されるネットワークアクセスが可能な情報リソースのリストを提供するために行われる方法のフローチャート５００を図示する。フローチャート５００の方法は、例えば、図１のウェブブラウザ１２６によって実施可能である。しかしながら、方法はその実施形態に限定されない。
【００５６】
[0071]  図５に示されるように、フローチャート５００の方法はステップ５０２で開始する。ここでウェブブラウザはユーザの識別子（ID）に関連したリクエストを送る。ユーザＩＤは、例えば、先に説明されたマイクロソフトのＭＳＡ  ＩＤ、または、特定のユーザを特定するのに適した任意の他のＩＤを含むことができる。リクエストは、例えば、図１の新しいタブページサービス１２２、または図２の新しいタブページサービス２００などの新しいタブページサービスに送られてよい。
【００５７】
[0072]  ステップ５０４では、リクエストに応答して、ウェブブラウザは、１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースのそれぞれの識別子を受信する。１つまたは複数のネットワークアクセスが可能な情報リソースは、ユーザに関連付けられた１つまたは複数のデバイス内に配設された１つまたは複数の組み込みシステムから生じる少なくとも情報に基づいて選択される。一実施形態では、情報は、ワイヤードまたはワイヤレス接続によって１つまたは複数の組み込みシステムから情報を受信する少なくとも１つのＩｏＴ接続ハブから得られる。ステップ５０４の間に受信される識別子は、例えば、図１の新しいタブページサービス１２２または図２の新しいタブページサービス２００などの新しいタブページサービスから受信可能である。
【００５８】
[0073]  ステップ５０６では、ウェブブラウザは、ウェブブラウザのＵＩ内に１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースについての情報を表示する。例えば、ウェブブラウザは、ウェブブラウザのＧＵＩの新しいタブページ部分内に１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースについての情報を表示することができる。
【００５９】
[0074]  図６は、新しいタブページ内でユーザに情報リソース推奨を表示する例示的なウェブブラウザＧＵＩ６００を示す。この情報リソース推奨はユーザ自身のＩｏＴデバイスデータに基づく。図６に示されるように、ＧＵＩ６００は、ユーザがポインタ６０４でクリックした（タブの形状の）新しいタブページアクティブ化コンポーネント６０２を含む。ポインタ６０４はマウスなどのユーザ入力デバイスによって制御可能である。当然ながら、コンポーネント６０２と対話する他の方法が可能である。例えば、ウェブブラウザがタッチスクリーンを有するデバイス上で稼働している一実施形態では、ユーザはコンポーネント６０２の上のタッチスクリーンの一部分をタッチすることによってコンポーネント６０２と対話することができる。いずれの場合でも、コンポーネント６０２と対話することによって、ユーザはウェブブラウザに新しいタブページコンテンツについてのリクエストを（図１の新しいタブページサービス１２２または図２の新しいタブページサービス２００などの）新しいタブページサービスに送らせる。新しいタブページコンテンツは次いで、新しいタブページサービスによって、ＧＵＩ６００内のコンテンツを表示するウェブブラウザに返される。
【００６０】
[0075]  図６にさらに示されるように、新しいタブページサービスから返される新しいタブページコンテンツは、推奨される情報リソースについての情報を含む。ここで、それぞれの推奨される情報リソースは情報のセット６０６１〜６０６８によって表される。図６に示される例示的なＧＵＩにおいて、情報セットそれぞれは、推奨される情報リソースを表すサムネイル画像、および推奨される情報リソースの識別子（例えばURL）を含む。例えば、情報のセット６０６１はサムネイル画像６０８１および識別子６１０１を含む。一実施形態では、サムネイル画像または識別子のどちらかをクリックすることによって、ウェブブラウザは、関連付けられる推奨される情報リソースをナビゲートすることになる。
【００６１】
[0076]  先に説明されたように、情報がＧＵＩ６００に表示されるそれぞれの情報リソースは、有利には、ユーザによって所有されるまたはその他の場合ユーザに関連付けられる１つまた複数のデバイスから得られるＩｏＴデバイスデータに基づいて推奨されてよい。よって、例えば、ユーザの洗濯機が誤作動しており、特定のエラーコードを報告しているシナリオでは、推奨される情報リソースの１つまたは複数は、洗濯機が特定のエラーコードを報告している時にユーザが所有する洗濯機のモデルの修理に対処する情報リソースを含むことができる。例えば、推奨される情報リソースは、洗濯機製造業者のウェブサイト、洗濯機の修理方法を論じるウェブページ、エラーコードの意味を記載するウェブページ、洗濯機の修理についてのハウツービデオ、または地域の洗濯機修理サービスに関連付けられたウェブページなどを含むことができる。情報リソース提案を進めるためにユーザＩｏＴデバイスデータをどのように使用可能とするかを説明する追加の例示的なシナリオについて、本明細書で説明する。
【００６２】
[0077]図７は、ウェブブラウザが、このユーザに、ユーザ自身のＩｏＴデバイスから得られたデータに基づいて自動的に生成された情報リソース提案および検索クエリ提案を提供できるようにする例示的なシステム７００のブロック図である。図７に示される実施形態では、情報リソース提案および検索クエリ提案は、ウェブブラウザのアドレスバードロップダウンメニューに表示される。図７に示されるように、システム７００は、複数のユーザＩｏＴデバイス７０２、ＩｏＴ接続ハブ７１４、ＩＳＳ７１６、検索エンジンサービス７１８、推奨エンジン７２０、アドレスバーサービス７２２、およびウェブブラウザ７２６を実行するユーザコンピューティングデバイス７２４を含む。システム７００のこれらの要素のそれぞれについてここで説明する。
【００６３】
[0078]  （フィットネスデバイス７０４、ＤＶＲ７０６、ランプ７０８、アラーム７１０、および電気器具７１２を含む）ユーザＩｏＴデバイス７０２、ＩｏＴ接続ハブ７１４、ＩＳＳ７１６、検索エンジンサービス７１８、ユーザコンピューティングデバイス７２４、およびウェブブラウザ７２６は、それぞれ、図１の（フィットネスデバイス１０４、ＤＶＲ１０６、ランプ１０８、アラーム１１０、および電気器具１１２を含む）ユーザＩｏＴデバイス１０２、ＩｏＴ接続ハブ１１４、ＩＳＳ１１６、検索エンジンサービス１１８、ユーザコンピューティングデバイス１２４、およびウェブブラウザ１２６と実質的に同様に実装され、実質的に同様の機能を行うよう動作する。それ故に、それらコンポーネントの広範な説明は簡潔にするために本明細書に提供されない。
【００６４】
[0079]  ユーザＩｏＴデバイス７０２のそれぞれにおけるそれぞれの組み込みシステムは、ＩｏＴデバイスデータをＩｏＴ接続ハブ７１４に通信するように動作可能である。このような通信は図７で矢印７３０によっておおまかに表される。ＩｏＴ接続ハブ７１４は、ユーザＩｏＴデバイス７０２における組み込みシステムのそれぞれからＩｏＴデバイスデータを集めるように、および、かかるＩｏＴデバイスデータをインターネットまたは他のネットワーク上のＩＳＳサービス７１６に渡すように動作可能である。このようなデータを渡すことは、図７の矢印７３２によって表される。ＩｏＴ接続ハブ７１４からＩＳＳ７１６に渡されるＩｏＴデバイスデータは、ユーザＩｏＴデバイス７０２に関連付けられたユーザのＩＤを含む。
【００６５】
[0080]  ＩＳＳ７１６は、ＩｏＴ接続ハブ７１４から（および、限定はされないが、他のＩｏＴ接続ハブを含む他のエンティティから）受信されるＩｏＴデバイスデータのフィード７３４を検索エンジンサービス７１８に提供するように動作する。検索エンジンサービス７１８は、ＩｏＴデバイスデータを推奨エンジン７２０に渡すことで、推奨エンジン７２０は、このようなデータを使用して、アドレスバーサービス７２２からのリクエストに応答してユーザに対する情報リソース推奨および／または検索クエリ推奨を生成することができる。推奨エンジン７２０およびアドレスバーサービス７２２はそれぞれ、１つまたは複数のプロセッサベースのコンピューティングデバイス（例えばサーバ）上で実行される。ＩｏＴデバイスデータを検索エンジンサービス７１８から推奨エンジン７２０に渡すことは、図７の矢印７３６によって表される。
【００６６】
[0081]  ＩｏＴデバイスデータを受信すると、推奨エンジン７２０は、情報要素（例えば、デバイスＩＤ、デバイスタイプ、デバイスモデル、デバイス状態情報、またはデバイスエラーコードなど）を、ユーザにとって関心があるかもしれない情報リソースを特定するために使用できるデータから抽出するように、および／または、ユーザに対する推奨される検索クエリを生成するように動作する。特に、推奨エンジン７２０は、適切なスキーマを使用してデータを復号することによってＩｏＴデバイスデータから情報要素を抽出する。例えば、推奨エンジン７２０は、洗濯機から得られたＩｏＴデータから情報要素を抽出するために洗濯機についてのスキーマを利用することができる。推奨エンジン７２０はその後、ユーザにとって関心があるかもしれないネットワークアクセスが可能なコンテンツ（例えば、ウェブページ、ビデオ、または画像など）を検索するために、および／または、ユーザに対する推奨される検索クエリを生成するために、抽出された情報要素を使用することができる。
【００６７】
[0082]  実装形態によっては、推奨エンジン７２０は、ＩｏＴデバイスデータから情報要素を単に抽出後、ＩｏＴデバイスデータを具備するユーザＩＤと関連して情報要素を記憶することができる。その後、リクエストがアドレスバーサービス７２２から受信されて、１つまたは複数の推奨される情報リソース、および／または、ユーザＩＤによって特定されるユーザに対する１つまたは複数の推奨される検索クエリを提供する時、推奨エンジン７２０は、情報要素を利用してこのような情報リソースについての検索を行うこと、および／または、このような検索クエリを生成することが可能である。代替的な実装形態では、推奨エンジン７２０は、アドレスバーサービス７２２から任意のリクエストを受信する前に情報要素を使用して推奨される情報リソースについての検索を行うこと、および／または、推奨される検索クエリを生成することが可能である。このような代替的な実装形態によると、推奨エンジン７２０は、その後、検索によって発見された情報リソースの識別子（例えばURL）、および／または、生成された検索クエリをユーザＩＤと関連して記憶することができる。このような識別子および／または検索クエリは、後に、アドレスバーサービス７２２からのリクエストに応答して迅速にアクセス可能である。
【００６８】
[0083]  さらに図７のシステム７００によると、ユーザＩｏＴデバイス７０２に関連付けられたユーザは、ユーザコンピューティングデバイス７２４上で実行しているウェブブラウザ７２６と対話する。ウェブブラウザ７２６と対話する間に、ユーザは、ウェブブラウザ７２６のＧＵＩ内に表示されるアドレスバーと対話することができる。例えば、ユーザは、単にアドレスバーをクリックすることによって、または１つまたは複数の文字をアドレスバーに入力することによって、アドレスバーと対話できる。これが行われる時、ウェブブラウザ７２６は、アドレスバー推奨についてのリクエスト７３８をインターネット上でアドレスバーサービス７２２に送る。リクエスト７３８は、ユーザのユーザＩＤ（例えば、MSA  ID）を含むかその他の場合これに関連付けられる。ウェブブラウザ７２６は、例えば、ユーザが自身のユーザＩＤを使用してウェブブラウザ７２６を介して自身のアカウントにログオンした場合があるため、このユーザＩＤにアクセスすることができる。
【００６９】
[0084]  リクエスト７３８を受信すると、アドレスサービス７２２はクエリ７４０を推奨エンジン７２０に送る。クエリ７４０は、アドレスバーに表示されるべき推奨される情報リソースおよび／または推奨される検索クエリのリストについてのリクエストを含む。クエリ７４０はユーザのユーザＩＤを含む。一実施形態では、ユーザが既にアドレスバーにおけるタイピングを開始している場合、クエリ７４０は、ユーザが既にテキストバーにタイプしたテキストを含むこともできる。
【００７０】
[0085]  クエリ７４０の受信に応答して、推奨エンジン７２０は、推奨される情報リソースおよび／または推奨される検索クエリのリストを生成する。１つの実施形態では、推奨エンジン７２０は、クエリ７４０に含まれるユーザＩＤを使用して、ユーザＩＤによって特定されるユーザと関連付けられたＩｏＴデバイスデータ情報要素のセットにアクセスする。推奨エンジン７２０はその後、情報要素を使用して、ユーザにとって関心があるかもしれない情報リソース（例えば、ウェブページ、ビデオ、または画像など）についての検索を行う、および／または、ユーザに対して推奨される検索クエリを生成する。情報リソース識別子（例えばURL）および／または推奨される検索クエリのリストを含む場合がある検索の結果は、次いで、クエリ応答７４２の一部としてアドレスバーサービス７２２に提供される。代替的な実施形態では、情報リソースについての検索および／または検索クエリの生成は、前もって行われてよく、その結果は、推奨エンジン７２０によってユーザＩＤと関連して記憶される。このような実施形態によると、推奨エンジン７２０は、クエリ７４０に含まれるユーザＩＤを使用して、推奨される情報リソースおよび／または検索クエリの先に記憶されたリストにアクセスし、かつ、そのリストをクエリ応答７４２の一部として返す。ある特定の実施形態では、推奨エンジン７２０は、ユーザが既に、推奨される情報リソースまたは推奨される検索クエリを選択時にアドレスバーにタイプしたいずれのテキストも検討する。
【００７１】
[0086]  推奨される情報リソースおよび／または推奨される検索クエリのリストを含むクエリ応答７４２を受信後、アドレスバー７２２は、ウェブブラウザ７２６のアドレスバードロップダウンメニューで表示されるコンテンツを動的にビルドする。コンテンツは、それぞれの推奨される情報リソースの識別子（例えばURL）および／または１つもしくは複数の推奨される検索クエリを含むことができる。アドレスバーサービス７２２はその後、ウェブブラウザ７２６にコンテンツを返す。ウェブブラウザ７２６は次いで、アドレスバードロップダウンメニュー内にコンテンツを表示する。
【００７２】
[0087]  図８は、一実施形態による例示的なアドレスバーサービス８００のブロック図である。アドレスバーサービス８００は、図７のアドレスバーサービス７２２の例示的な実装形態を含んでよい。図８に示されるように、アドレスバーサービス８００は、ウェブブラウザインターフェース８０２、推奨エンジンクエリロジック８０４、およびアドレスバーコンテンツビルダー８０６を含む。これらのコンポーネントのそれぞれは、ソフトウェア（例えば、１つまたは複数の汎用プロセッサおよび／または専用プロセッサによって実行されるソフトウェア）において、（例えば、デジタル回路および／またはアナログ回路を使用する）ハードウェアにおいて、または、ソフトウェアおよびハードウェアの組合せとして、実装可能である。１つの実施形態では、コンポーネントの１つまたは複数は１つまたは複数のサーバコンピュータ上に実装される。
【００７３】
[0088]  ウェブブラウザインターフェース８０２は、ユーザコンピューティングデバイス７２４上で実行しているウェブブラウザ７２６など、クライアントデバイス上で実行しているウェブブラウザからアドレスバーコンテンツについてのリクエストを受信するように、および、このようなリクエストに対する応答をこのようなクライアントデバイスに送り返すように動作可能であるロジックを含む。この応答は、ウェブブラウザのＧＵＩのアドレスバードロップダウンメニューに含めるコンテンツを含む。
【００７４】
[0089]  推奨エンジンクエリロジック８０４は、ウェブブラウザインターフェース８０２を介してアドレスバーコンテンツページについてのクライアントリクエストの受信に応答して、推奨エンジン７２０などの推奨エンジンに対してクエリを生成しかつ送るように動作可能であるロジックを含む。一実施形態では、クエリは、１つまたは複数の推奨される情報リソースおよび／または１つまたは複数の推奨される検索クエリのリストについてのリクエストを含む。クエリはまた、特定のユーザＩＤを含むかその他の場合これに関連付けられてよい。クエリはさらにまた、ユーザがアドレスバーに既にタイプしているテキストを含むことができる。推奨エンジンクエリロジック８０４は、推奨エンジンから１つまたは複数の推奨される情報リソースおよび／または１つまたは複数の推奨される検索クエリのリストを受信するように、かつ、アドレスバーコンテンツビルダー８０６へリストを提供するように動作可能であるロジックをさらに含む。
【００７５】
[0090]  アドレスバーコンテンツビルダー８０６は、ウェブブラウザインターフェース８０２を介してアドレスバーコンテンツページについてのクライアントリクエストの受信に応答して、アドレスバーコンテンツを動的にアセンブルするように動作可能であるロジックを含む。このようなコンテンツは、推奨エンジンクエリロジック８０４から受信される推奨される情報リソースおよび／または推奨される検索クエリについての情報を含むことができる。アドレスバーコンテンツビルダー８０６によって生成されるアドレスバーコンテンツは、コンテンツをリクエストしたウェブブラウザに送信されるようにウェブブラウザインターフェース８０２に提供される。
【００７６】
[0091]  図９は、一実施形態による例示的な推奨エンジン９００のブロック図である。推奨エンジン９００は、図７の推奨エンジン７２０の例示的な実装形態を含むことができる。図９に示されるように、推奨エンジン９００は、ＩｏＴデータ受信機９０２、ＩｏＴ情報要素抽出部９０４、情報リソース識別子９０６、検索クエリ生成部９０８、およびクエリ応答ロジック９１０を含む。これらのコンポーネントのそれぞれは、ソフトウェア（例えば、１つまたは複数の汎用プロセッサおよび／または専用プロセッサによって実行されるソフトウェア）において、（例えば、デジタル回路および／またはアナログ回路を使用する）ハードウェアにおいて、または、ソフトウェアおよびハードウェアの組合せとして、実装可能である。１つの実施形態では、コンポーネントの１つまたは複数は１つまたは複数のサーバコンピュータ上に実装される。
【００７７】
[0092]  ＩｏＴデータ受信機９０２は、さまざまなユーザに関連付けられたデバイス内に配設される組み込みシステムから生じるＩｏＴデバイスデータを受信するように動作可能であるロジックを含む。このようなＩｏＴデバイスデータは、（図７のIoT接続ハブ７１４などの）任意の数のＩｏＴ接続ハブによって収集され、かつ、（図７のISSサービス７１６などの）ＩＳＳサービスに伝達されることによって、次いで、ＩＳＳサービスから（図７の検索エンジンサービス７１８などの）検索エンジンサービスに伝達可能である。検索エンジンサービスはＩｏＴデバイスデータを推奨エンジン９００に提供する。しかしながら、ＩｏＴデータ受信機９０２は他のやり方でもＩｏＴデバイスデータを受信可能である。一実施形態では、ＩｏＴデータ受信機９０２はいくらかのユーザに対するＩｏＴデバイスデータを受信し、特定のユーザに対するＩｏＴデバイスデータはこのようなＩｏＴデバイスデータに関連付けられるユーザＩＤによって特定される。
【００７８】
[0093]  ＩｏＴ情報要素抽出部９０４は、ＩｏＴデバイスデータから情報要素（例えば、デバイスＩＤ、デバイスタイプ、デバイスモデル、デバイス状態情報、またはデバイスエラーコードなど）を抽出するように動作可能であるロジックを含む。特に、ＩｏＴ情報要素抽出部９０４は、適切なスキーマを使用してデータを復号することによってＩｏＴデバイスデータから情報要素を抽出するように動作可能である。ＩｏＴ情報要素抽出部９０４は、特定のユーザＩＤと関連してＩｏＴデバイスデータの特定のセットについて抽出された情報要素を記憶可能である。
【００７９】
[0094]  情報リソース識別子９０６は、特定のユーザＩＤによって特定されるユーザに対して１つまたは複数の推奨される情報リソースについての検索を行うために特定のユーザＩＤに関連付けられた情報要素を利用するように動作可能であるロジックを含む。例えば、情報リソース識別子９０６は、ネットワークアクセスが可能な情報リソースのインデックスの検索における検索用語として情報要素を利用することができる。一実施形態では、情報リソース識別子９０６は、ユーザＩＤを含むかその他の場合これに関連付けられるアドレスバーサービス（図７のアドレスバーサービス７２２など）からのクエリの受信に応答してこのような検索を行うように動作可能である。別の実施形態では、情報リソース識別子９０６は、アドレスバーサービスからの任意のリクエストを受信する前にユーザＩＤに関連付けられた情報要素を使用して特定のユーザＩＤに対して推奨される情報リソースについての検索を行うことができる。かかる実施形態によると、情報リソース識別子９０６はユーザＩＤに関連した検索によって発見された推奨される情報リソースの識別子（例えばURL）を記憶してよい。かかる識別子は後に、アドレスバーサービスからのリクエストに応答して迅速にアクセス可能である。
【００８０】
[0095]  検索クエリ生成部９０８は、特定のユーザＩＤに関連付けられた情報要素を利用して、特定のユーザＩＤによって特定されるユーザに対して１つまたは複数の推奨される検索クエリを生成するように動作可能であるロジックを含む。例えば、検索クエリ生成部９０８は、推奨される検索クエリのコンポーネントとして、または推奨される検索クエリについての検索時に使用されるキーワードとして、情報要素を利用可能である。一実施形態では、検索クエリ生成部９０８は、ユーザＩＤを含むかその他の場合これに関連付けられるアドレスバーサービス（図７のアドレスバーサービス７２２など）からのクエリの受信に応答して、１つまたは複数の推奨される検索クエリを生成するように動作可能である。別の実施形態では、検索クエリ生成部９０８は、アドレスバーサービスからの任意のリクエストを受信する前に、ユーザＩＤに関連付けられる情報要素を使用して特定のユーザＩＤに対して推奨される検索クエリを生成可能である。かかる実施形態によると、検索クエリ生成部９０８は、ユーザＩＤに関連して推奨される検索クエリを記憶することができる。かかる識別子は後に、アドレスバーサービスからのリクエストに応答して迅速にアクセス可能である。
【００８１】
[0096]  クエリ応答ロジック９１０はアドレスバーサービス（例えば、図７のアドレスバーサービス）からクエリを受信するように、かつ、情報リソース識別子９０６によって生成される推奨される情報リソースのリストおよび／また検索クエリ生成部９０８によって生成される推奨される検索クエリのリストを提供することによってかかるクエリに応答するように動作可能であるロジックを含む。一実施形態では、アドレスバーサービスから受信されたそれぞれのクエリはユーザＩＤを含み、クエリ応答ロジック９１０は、ユーザＩＤを情報リソース識別子９０６に提供することで、情報リソース識別子９０６が特定のユーザＩＤによって特定されるユーザに対する推奨される情報リソースのリストを生成できるように動作する。１つの実施形態では、クエリ応答ロジック９１０によってアドレスバーサービスに返される推奨される情報リソースのリストは、推奨される情報リソースのＵＲＬのリストを含む。クエリ応答ロジック９１０は、ユーザＩＤを検索クエリ生成部９０８に提供することで、検索クエリ生成部９０８は特定のユーザＩＤによって特定されるユーザに対して推奨される検索クエリのリストを生成できるようにさらに動作可能である。
【００８２】
[0097]  図１０は、一実施形態によるユーザのＩｏＴデバイスから得られたデータに基づいて推奨されるネットワークアクセスが可能な情報リソースのリストおよび／または推奨される検索クエリのリストをウェブブラウザに提供するための推奨エンジンによって行われる方法のフローチャート１０００を図示する。フローチャート１０００の方法は、例えば、図７の推奨エンジン７２０によって、または図９の推奨エンジン９００によって実施可能である。しかしながら、該方法はそれら実施形態に限定されない。
【００８３】
[0098]  図１０に示されるように、フローチャート１０００の方法は情報が受信されるステップ１００２で始める。該情報は、ユーザに関連付けられた１つまたは複数のデバイス内に配設された１つまたは複数の組み込みシステムから生じる。一実施形態では、情報は、ワイヤードまたはワイヤレス接続によって１つまたは複数の組み込みシステムから情報を受信する少なくとも１つのＩｏＴ接続ハブから得られる。一実施形態では、ステップ１００２は推奨エンジン９００のＩｏＴデータ受信機９０２によって行われる。
【００８４】
[0099]  ステップ１００４では、１つまたは複数の情報要素はステップ１００２の間に受信される情報から抽出される。一実施形態では、このステップは、受信された情報の少なくとも一部分が生じたデバイスに関連付けられたデバイスタイプおよび／またはデバイスモデルを特定することを含む。次いで、デバイスタイプおよび／またはデバイスモデルに関連付けられた所定のスキーマは、受信された情報の少なくとも一部分に適用されて、１つまたは複数の情報要素の少なくとも１つを特定する。さらにかかる実施形態によると、所定のスキーマはＸＭＬスキーマまたはＪＳＯＮスキーマを含むことができるが、これらは例に過ぎない。一実施形態では、ステップ１００４は推奨エンジン９００のＩｏＴ情報要素抽出部９０４によって行われる。
【００８５】
[00100]  ステップ１００６では、ステップ１００４の間に抽出される１つまたは複数の情報要素は、１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースを特定するために、および／または、１つまたは複数の推奨される検索クエリを生成するために利用される。ネットワークアクセスが可能な情報リソースそれぞれは、限定ではなく例として、ウェブサイト、ウェブページ、画像、またはビデオなどを含むことができる。１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースを特定するために１つまたは複数の情報要素を利用することは、例えば、ネットワークアクセスが可能な情報リソースのインデックスに対して行われるクエリにおける検索用語として１つまたは複数の情報要素を利用することを含むことができる。１つまたは複数の推奨される検索クエリを生成するために１つまたは複数の情報要素を利用することは、例えば、推奨される検索クエリのコンポーネントとして、または推奨される検索クエリについての検索時に使用されるキーワードとして、１つまたは複数の情報要素を利用することを含むことができる。一実施形態では、ステップ１００６は推奨エンジン９００の情報リソース識別子９０６および／または検索クエリ生成部９０８によって行われる。
【００８６】
[00101]  ステップ１００８では、１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースのそれぞれの識別子および／または１つまたは複数の推奨される検索クエリは、ユーザに関連付けられるウェブブラウザに配信するために提供される。このステップは、例えば、ウェブブラウザに配信するためにアドレスバーコンテンツを動的にアセンブルするアドレスバーサービスに１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースのそれぞれの識別子および／または１つまたは複数の推奨される検索クエリを提供することを含むことができる。ステップ１００８は、例えば、ウェブブラウザからのアドレスバーコンテンツについてのリクエストの受信に応答して行われてよい。一実施形態では、ステップ１００８は、推奨エンジン９００のクエリ応答ロジック９１０によって行われる。
【００８７】
[00102]  図１１は、ウェブブラウザによって、このユーザに、一実施形態によるユーザのＩｏＴデバイスから得られたデータに基づいて推奨されるネットワークアクセスが可能な情報リソースのリストおよび／または推奨される検索クエリのリストを提供するために行われる方法のフローチャート１１００を図示する。フローチャート１１００の方法は、例えば、図７のウェブブラウザ７２６によって実施可能である。しかしながら、該方法はその実施形態に限定されない。
【００８８】
[00103]  図１１に示されるように、フローチャート１１００の方法はステップ１１０２で始める。ここで、ウェブブラウザはユーザの識別子（ID）に関連したリクエストを送る。ユーザＩＤは例えば、先に説明されたマイクロソフトのＭＳＡ  ＩＤ、または、特定のユーザを特定するのに適した任意の他のＩＤを含むことができる。リクエストは、例えば、図７のアドレスバーサービス７２２、または図８のアドレスバーサービス８００などのアドレスバーサービスに送られてよい。
【００８９】
[00104]  ステップ１１０４では、リクエストに応答して、ウェブブラウザは、１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースのそれぞれの識別子および／または１つまたは複数の推奨される検索クエリを受信する。１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースおよび／または１つまたは複数の推奨される検索クエリは、ユーザに関連付けられた１つまたは複数のデバイス内に配設された１つまたは複数の組み込みシステムから生じる少なくとも情報に基づいて選択される。一実施形態では、情報は、ワイヤードまたはワイヤレス接続によって１つまたは複数の組み込みシステムから情報を受信する少なくとも１つのＩｏＴ接続ハブから得られる。ステップ１１０４の間に受信される１つまたは複数の識別子および／または１つまたは複数の検索クエリは、例えば、図７のアドレスバーサービス７２２、または図８のアドレスバーサービス８００などのアドレスバーサービスから受信可能である。
【００９０】
[00105]  ステップ１１０６では、ウェブブラウザは、ウェブブラウザのＵＩ内に１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースおよび／または１つまたは複数の推奨される検索クエリについての情報を表示する。例えば、ウェブブラウザは、ウェブブラウザのＧＵＩのアドレスバードロップダウンメニュー内に１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースおよび／または１つまたは複数の推奨される検索クエリについての情報を表示することができる。
【００９１】
[00106]  図１２は、アドレスバードロップダウンメニュー内でユーザに、ユーザ自身のＩｏＴデバイスデータに基づいている、情報リソース推奨および／または検索クエリ推奨を表示する例示的なウェブブラウザＧＵＩ１２００を示す。図１２に示されるように、ＧＵＩ１２００はアドレスバー１２０２を含む。ユーザがアドレスバー１２０２と（例えば、これをクリックすることによって、またはこれにテキストをタイプし始めることによって）対話する時、ユーザはウェブブラウザにアドレスバーコンテンツについてのリクエストを（図７のアドレスバーサービス７２２、または図８のアドレスバーサービス８００などの）アドレスバーサービスに送らせる。アドレスバーコンテンツは次いで、アドレスバーサービスによってウェブブラウザに返され、このウェブブラウザはそのコンテンツをＧＵＩ１２００内に表示する。
【００９２】
[00107]  特に、ウェブブラウザはＧＵＩ１２００のアドレスバードロップダウンメニュー１２０４内にコンテンツを表示する。アドレスバーコンテンツは、推奨される情報リソースの１つまたは複数の識別子（例えばURL）、および／または１つまたは複数の推奨される検索クエリを含むことができる。アドレスバードロップダウンメニュー１２０４内の情報リソース識別子をクリックするまたはその他の場合これと対話することによって、ユーザはウェブブラウザに対応する情報リソースをナビゲートさせる。アドレスバードロップダウンメニュー１２０４内の検索クエリをクリックするまたはその他の場合これと対話することによって、ユーザはウェブブラウザに、選択された検索クエリを使用してコンテンツについて検索するために検索エンジンを呼び出させ、かつ、その後ウェブブラウザによって表示される検索結果を返させる。
【００９３】
[00108]  先に記載されるように、アドレスバードロップダウンメニュー１２０４において特定されるそれぞれの情報リソース、およびアドレスバードロップダウンメニュー１２０４において表示されるそれぞれの検索クエリは、有利には、所有されるまたはその他の場合ユーザに関連付けられる１つまた複数のデバイスから得られるＩｏＴデバイスデータに基づいて推奨されてよい。よって、例えば、ユーザの洗濯機が誤作動しており、特定のエラーコードを報告しているシナリオでは、アドレスバードロップダウンメニュー１２０４において特定される１つまたは複数の情報リソースは、洗濯機が特定のエラーコードを報告している時にユーザが所有する洗濯機のモデルの修理に対処する情報リソースを含むことができる。例えば、情報リソースは、洗濯機製造業者のウェブサイト、洗濯機の修理方法を論じるウェブページ、エラーコードの意味を記載するウェブページ、洗濯機の修理についてのハウツービデオ、または地域の洗濯機修理サービスに関連付けられたウェブページなどを含むことができる。さらに、アドレスバードロップダウンメニュー１２０４において表示される検索クエリは、特定のエラーを報告する時の洗濯機の修理についての有用な情報を返すように念入りに作られてよい。例えば、推奨される検索クエリは、洗濯機の名称、モデル、または他の識別子、およびエラーコードを含むことができる。
【００９４】
[00109]  前述の例において、新しいタブページ内にまたはウェブブラウザＧＵＩのアドレスバードロップダウンメニューにおいて、推奨される情報リソースおよび／または推奨される検索クエリについての情報が提示されるが、本明細書に記載される技法が、かかる情報をウェブブラウザＧＵＩの他の部分に提示させるために使用可能であることは理解されたい。さらに推奨される情報リソースおよび／または推奨される検索クエリは、他のＧＵＩ（例えば、デジタルパーソナルアシスタントのＧＵＩ）を介して、または非グラフィカルＵＩを介してユーザに提示可能である。
【００９５】
[00110]  情報リソース提案および検索クエリ提案を進めるためにどのようにユーザＩｏＴデバイスデータは使用可能であるかを説明する追加の例示的なシナリオをここで説明する。
【００９６】
[00111]  ユーザは、自分の車で家に帰り、チェックエンジンランプが点灯する。車内の組み込みシステムは、チェックエンジンコンディションを報告し、このデータは図１または図７の先に記載されたインフラストラクチャを介して、推奨される情報リソースを特定するおよび／または検索クエリを生成する推奨エンジンに伝達されて、ウェブブラウザを介して提示する。家に着くと、ユーザは自身のウェブブラウザを開いて、チェックエンジンランプについての情報の検索を開始する。ウェブブラウザは、推奨エンジンと通信状態にある新しいタブページサービスまたはアドレスバーサービスをコールする。該サービスによって、推奨される情報リソースおよび／または検索クエリについての情報はユーザのウェブブラウザ内に表示される。よって、例えば、ブラウザは、ユーザを支援するための瞬時の返答を提供するような特有のウェブサイトまたはクエリを提案することができる。このようにユーザによって得られる場合がある情報の例は、地域のサービスセンターの名称、住所、および連絡情報、ならびにチェックエンジンの状況、標準的な原因、および提案される改善法（例えば、ガソリンタンクのキャップが確実にしっかり閉められているかをチェックする）についての詳細な情報を含むことができる。ユーザは、自身の車についてのいずれの細目も提供することなく、この有用な情報を得ることができる。例えば、１つの実施形態では、ユーザに必要とされるのは、提供されるべき関係がある情報リソースまたは検索クエリについて、アドレスバー（または他のデータ入力インターフェースコンポーネント）に「チェックエン…」とタイプし始めることだけである。代替的な実施形態では、このような情報リソースまたは検索クエリへのリンクは、ユーザがいずれの情報を入力しなくても提供可能である。
【００９７】
[00112]  別の例示的なシナリオでは、ユーザの食洗機は誤作動しており、デバイスのパネル上にエラーコードを表示している。食洗機内の組み込みシステムは、誤作動を報告し、エラーコードおよびこのデータは図１または図７の先に記載されたインフラストラクチャを介して、推奨される情報リソースを特定するおよび／または検索クエリを生成する推奨エンジンに伝達されて、ウェブブラウザを介して提示する。ユーザは、自身のウェブブラウザを開始して、そのエラーについての情報を検索する。ユーザがウェブブラウザを開始する時、ウェブブラウザの新しいタブページは、推奨エンジンと通信状態にある新しいタブページサービスをコールする。該サービスによって、推奨される情報リソースについての情報はユーザの新しいタブページ内に表示される。推奨される情報リソースは、食洗機上のエラーコードに具体的に関連するウェブサイトを含む。よって、１回のクリックで、ユーザは、エラーコード、サービスセンターの情報、および提案される改善法についての詳細な情報を得ることができる。
【００９８】
[00113]  さらに別の例示的なシナリオでは、ユーザの冷蔵庫の製氷機フィルタを取り換える必要がある。冷蔵庫内の組み込みシステムはこのコンディションを報告し、そのデータは、図１または図７の先に記載されたインフラストラクチャを介して、推奨される情報リソースを特定するおよび／または検索クエリを生成する推奨エンジンに伝達されて、ウェブブラウザを介して提示する。次回ユーザが自身のウェブブラウザを開始する時に、新しいタブページは推奨エンジンと通信状態にある新しいタブページサービスをコールする。該サービスによって、推奨される情報リソースについての情報は新しいタブページ内に表示される。よって新しいタブページは、フィルタ状態についての詳細および新しいフィルタを購入するためのリンクを提供できる。
【００９９】
[00114]  さらに別の例示的なシナリオでは、ユーザはフィットネスデバイスを着用しており、３マイルのランニングから戻る。フィットネスデバイス内の組み込みシステムはランニング中に収集されたデータを報告し、このデータは、図１または図７の先に記載されたインフラストラクチャを介して、推奨される情報リソースを特定するおよび／または検索クエリを生成する推奨エンジンに伝達されて、ウェブブラウザを介して提示する。次回ユーザが自身のウェブブラウザを開始する時に、新しいタブページは推奨エンジンと通信状態にある新しいタブページサービスをコールする。該サービスによって、推奨される情報リソースについての情報は新しいタブページ内に表示される。例えば、推奨される情報リソースは、フィットネス関連商品、健康に良いレシピ、およびフィットネス機器についての情報を含むことができる。ユーザが運動し続けて自身の健康を改善するように、ウェブブラウザによって提供される提案を具体的にユーザに合わせることができる。
【０１００】
[00115]  追加の例示的なシナリオでは、ユーザの衣類乾燥機における組み込みシステムは、ユーザに代わって大量の洗濯物を乾燥させる時に乾燥時間がどんどん長くなっていることを報告する。このデータは、図１または図７の先に記載されたインフラストラクチャを介して、推奨される情報リソースを特定するおよび／または検索クエリを生成する推奨エンジンに伝達されて、ウェブブラウザを介して提示する。次回ユーザが自身のウェブブラウザを開始する時に、新しいタブページは推奨エンジンと通信状態にある新しいタブページサービスをコールする。該サービスによって、推奨される情報リソースについての情報は新しいタブページ内に表示される。例えば、該サービスは、乾燥機の性能を改善する方法についてのウェブサイト、商品、およびビデオへのリンクをもたらすことができる。
【０１０１】
[00116]  前述の例の多くにおいて、単一のＩｏＴデバイスから得られたデータは、ウェブブラウザ推奨を進めるために使用される。しかしながら、ある特定の実施形態では、異種のデバイスタイプ内の複数の組み込みシステムから得られたデータはまた、特定の情報リソースまたは検索クエリの推奨を進めるために使用可能である。例えば、ユーザの洗濯機が誤作動を報告しており、ユーザの家の別のセンサが床上の水を報告する場合、推奨エンジンは、このようなＩｏＴデバイスデータを解析して、洗濯機が漏れ出したことを推断することが可能であり、その推断に基づいて推奨を生成できる。別の例として、ユーザの煙探知器が、煙が検出されていることを報告しており、ユーザのオーブンが誤作動を報告している場合、推奨エンジンはこのようなＩｏＴデバイスデータを解析して、ユーザのオーブンが煙を出していると推断し、その推断に基づいて推奨を生成できる。さらに別の例として、暖房炉およびストーブ両方共が、ガス供給が利用できないことを報告している場合、推奨エンジンは、このようなＩｏＴデバイスデータを解析して、ユーザの家へのガス供給が止められていることを推断し、その推断に基づいて推奨を生成できる。さらに別の例として、ユーザの冷却システムは、これに関連付けられたエアフィルタがしばらく変えられていないことを報告する場合があり、ユーザの家の２階の部屋のサーモスタットが異常に高温になっていることを報告している場合がある。推奨エンジンはこのようなＩｏＴデバイスデータを解析して、エアフィルタが即刻変えられるべきであることを推断し、その推断に基づいて推奨を生成できる。
【０１０２】
[00117]  またさらなる実施形態では、異なるユーザが所有する同じデバイスタイプのインスタンス内の複数の組み込みシステムから得られるデータは、特定の情報リソースまたは検索クエリの推奨を進めるために使用されてよい。例えば、特定のブランドの多数の洗濯機が同様のエラーコードまたは問題を報告している場合、エラーコードまたは問題に関する推奨は、ユーザの洗濯機がまだエラーコードまたは問題を経験していない場合でも、洗濯機を所有するそのユーザを対象とすることができる。よって、推奨または提案は、デバイスを所有するユーザ全てに対してなされ得る。このように、ユーザにはデバイスの問題が生じる前に警告される可能性がある。例えば、推奨エンジンはある特定の情報リソースまたは検索クエリをユーザのデバイスの寿命に基づいて、および、異なるユーザが所有する同じデバイスの他のインスタンスから生成されるデータに基づいて、ユーザに対して自身のブラウザにおいて提示させることができる。
【０１０３】
[00118]  追加の実施形態では、１つまたは複数の各デバイス内の１つまたは複数の組み込みシステムから得られるデータは、ウェブブラウザのユーザに対して、特定の情報リソース、検索クエリ、または他の情報の推奨を進めるために使用可能である。この場合、他のユーザはその各デバイスのいずれも所有しない。例えば、ユーザデバイスから得られたデータを使用して、検索エンジンを作動させ、かつ、デバイスを所有しないユーザに対しても返答を与えることができる。例として、シアトルにおける平均室内温度、ある特定の人口がテレビを見る時間数、ある特定の家庭ではどれくらいの時間家にいないのかなどの情報の項目が収集され、かつ、ウェブブラウザまたは検索エンジン内でユーザに対する情報の配信を進めるために使用可能である。かかるシナリオでは、データの全てはユーザのプライバシーを保護するために匿名にされる。
【０１０４】
[00119]  ＩＩＩ．ユーザＩｏＴデバイスデータに基づく検索結果の生成および／またはランク付け
図１３は、ユーザの代わりにより関係がある検索結果を生じさせる助けとなるように、および／またはユーザの代わりに検索結果をランク付けするために、ユーザＩｏＴデバイスデータが検索エンジンによって使用されるシステム１３００のブロック図である。図１３に示されるように、システム１３００はユーザコンピューティングデバイス１３０２、および、ユーザコンピューティングデバイス１３０２が通信可能に接続される検索エンジン１３０４を含む。
【０１０５】
[00120]  ユーザコンピューティングデバイス１３０２は、ウェブブラウザを実行可能である任意のデバイスを含むことができる。限定ではなく例として、ユーザコンピューティングデバイス１３０２は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ネットブック、スマートフォン、ゲーム機、またはスマートＴＶなどを含んでよい。検索エンジン１３０４は、１つまたは複数のプロセッサベースのコンピューティングデバイス（例えばサーバ）上で実行している１つまたは複数のコンピュータプログラムを含む。ユーザコンピューティングデバイス１３０２は、限定はされないが、インターネットなどのネットワークを介して検索エンジン１３０４に通信可能に接続される。
【０１０６】
[00121]  ユーザは、検索クエリ１３０８を検索エンジン１３０４にサブミットするために、ユーザコンピューティングデバイス１３０２上で実行しているウェブブラウザ１３０６と対話する。検索クエリ１３０８の受信に応答して、検索エンジン１３０４は、検索クエリ１３０８に関係している１つまたは情報リソース（例えば、ウェブサイト、ウェブページ、ビデオ、または画像など）を見つけるために検索を実行する。検索エンジン１３０４は、１つまたは複数の情報リソースの識別子を、検索結果ページ１３１０の一部としてウェブブラウザ１３０６に返す。
【０１０７】
[00122]  検索エンジン１３０４は、そのクエリをサブミットしたユーザに関連付けられたＩｏＴデバイスデータ１３１２を受信する。このＩｏＴデバイスデータ１３１２は、例えば、図１または図７に示されるものと同様のインフラストラクチャを使用して受信されて、データフィード１３４または７３４をそれぞれ生じさせることができる。検索エンジン１３０４は、検索クエリ１３０８およびＩｏＴデバイスデータ１３１２両方共を利用して、関係する情報リソースについての検索を行うことができる。検索エンジン１３０４は、ＩｏＴデバイスデータ１３１２と関連付けられたユーザＩＤをクエリ１３０８と関連付けられたユーザＩＤに適合させることによって、クエリ１３０８をサブミットしたユーザにＩｏＴデバイスデータ１３１２を相関できるようにしてよい。
【０１０８】
[00123]  検索クエリ１３０８と併せてＩｏＴデバイスデータ１３１２を利用することによって、検索エンジン１３０４によって実施される検索アルゴリズムは、ユーザに対する特定の関連性を有する情報リソースを見つけることができる場合がある。例えば、ユーザの洗濯機が壊れており、「壊れた洗濯機」というキーワードを含む検索クエリ１３０８をサブミットすると仮定する。ただし、ＩｏＴデバイスデータ１３１２が、特有のエラーコードを含むユーザの洗濯機からのデータを含むとさらに仮定する。そして、この場合、検索エンジン１３０４は、ユーザの検索クエリだけでなく、洗濯機自体によって報告されるエラーコードも考慮する検索結果１３１０を返すことができる。よって、検索結果１３１０は、ユーザの洗濯機が経験している特定の問題に直接対処する情報リソースを含むことができる。
【０１０９】
[00124]  別の例として、ユーザの洗濯機が壊れており、「壊れた洗濯機」というキーワードを含む検索クエリをサブミットすると再び仮定する。ユーザが特定のブランドの洗濯機を有することをＩｏＴデバイスデータ１３１２が指示するとさらに仮定する。その洗濯機の全てが同じ欠陥に悩まされていることを指示する、他のユーザが所有する同じ洗濯機の多数の他のインスタンスからＩｏＴデバイスデータを検索エンジン１３０４が受信するとさらにまた仮定する。そして、この場合、検索エンジン１３０４は、ユーザの検索クエリだけでなく、ユーザの洗濯機のブランドが特定の欠陥に悩まされていることで知られている事実も考慮する結果１３１０を返すことができる。よって、検索結果１３１０は、ユーザの洗濯機のブランドに共通する特定の欠陥に対処する情報リソースを含むことができる。
【０１１０】
[00125]  ＩｏＴデバイスデータ１３１２を使用してより関係がある検索結果を返すことに加えて、検索エンジン１３０４は、検索結果をランク付けするためにＩｏＴデバイスデータ１３１２を使用することもできる。例えば、「壊れた洗濯機」という検索クエリに基づいて特定される情報リソースは、ユーザの洗濯機から得られるＩｏＴデバイスデータ１３１２内のある特定の情報要素を包含するかまたはこれと同様と見なされるかどうかを判断するために解析されてよい。情報要素に十分に相関しているそれらの情報リソースは、より関係があると見なされるため、検索結果内でより高くランク付けされる場合がある。さらに他の方法は、ＩｏＴデバイスデータ１３１２に基づいて検索結果をランク付けするために使用可能である。
【０１１１】
[00126]  図１４は、一実施形態によるユーザのＩｏＴデバイスから得られたデータに基づいてユーザに対して検索結果を生成するために検索エンジンによって行われる方法のフローチャート１４００を図示する。フローチャート１４００の方法は、例えば、図１３の検索エンジン１３０４によって実施されてよい。しかしながら、該方法はその実施形態に限定されない。
【０１１２】
[00127]  図１４に示されるように、フローチャート１４００の方法は情報が受信されるステップ１４０２で始める。該情報は、ユーザに関連付けられた１つまたは複数のデバイス内に配設された１つまたは複数の組み込みシステムから生じる。一実施形態では、情報は、ワイヤードまたはワイヤレス接続によって１つまたは複数の組み込みシステムから情報を受信する少なくとも１つのＩｏＴ接続ハブから得られる。
【０１１３】
[00128]  ステップ１４０４では、１つまたは複数の情報要素はステップ１４０２の間に受信される情報から抽出される。一実施形態では、このステップは、受信された情報の少なくとも一部分が生じたデバイスに関連付けられたデバイスタイプおよび／またはデバイスモデルを特定することを含む。次いで、デバイスタイプおよび／またはデバイスモデルに関連付けられた所定のスキーマは、受信された情報の少なくとも一部分に適用されて、１つまたは複数の情報要素の少なくとも１つを特定する。さらにかかる実施形態によると、所定のスキーマはＸＭＬスキーマまたはＪＳＯＮスキーマを含むことができるが、これらは例に過ぎない。
【０１１４】
[00129]  ステップ１４０６では、検索クエリはユーザから受信される。例えば、検索クエリはウェブブラウザを介してユーザから受信可能である。
【０１１５】
[00130]  ステップ１４０８では、１つまたは複数のネットワークアクセスが可能な情報リソースは、検索クエリ、およびステップ１４０４の間に抽出される１つまたは複数の情報要素に基づいて特定される。ネットワークアクセスが可能な情報リソースそれぞれは、限定ではなく例として、ウェブサイト、ウェブページ、画像、またはビデオなどを含むことができる。
【０１１６】
[00131]  ステップ１４１０では、１つまたは複数のネットワークアクセスが可能な情報リソースについての情報をユーザに対して提示させる。例えば、このステップは、（それぞれに対するリンクを含むことができる）１つまたは複数のネットワークアクセスが可能なリソースについての情報を含む検索結果ページを生成することと、次いで、検索結果ページをユーザに表示するためにウェブブラウザに送ることとを含むことができる。
【０１１７】
[00132]  フローチャート１４００の前述の方法は、ステップ１４０４の間に抽出される１つまたは複数の情報要素に基づいて１つまたは複数のネットワークアクセスが可能な情報リソースをランク付けすることをさらに含むことができる。
【０１１８】
[00133]  上述される検索エンジンは、異種のデバイスタイプ内の複数の組み込みシステムから生じる検索クエリおよび情報要素に基づいて特定のネットワークアクセスが可能な情報リソースを特定できることに留意されたい。さらに、上述される検索エンジンは、異なるユーザが所有する同じデバイスタイプのインスタンス内の複数の組み込みシステムから生じる検索クエリおよび情報要素に基づいて特定のネットワークアクセスが可能な情報リソースを特定できる。
【０１１９】
[00134]  ＩＶ．例示的なモバイルデバイス実装形態
図１５は、本明細書に記載される実施形態を実施可能である例示的なモバイルデバイス１５０２のブロック図である。例えば、モバイルデバイス１５０２は、図１のユーザコンピューティングデバイス１２４、図７のユーザコンピューティングデバイス７２４、または図１３のユーザコンピューティングデバイス１３０２のいずれかを実装するために使用可能である。図１５に示されるように、モバイルデバイス１５０２はさまざまなオプションのハードウェアコンポーネントおよびソフトウェアコンポーネントを含む。モバイルデバイス１５０２における任意のコンポーネントは、任意の他のコンポーネントと通信できるが、例示を容易にするために全ての接続部が示されているわけではない。モバイルデバイス１５０２は、さまざまなコンピューティングデバイス（例えば、携帯電話、スマートフォン、ハンドヘルドコンピュータ、携帯情報端末（ＰＤＡ）など）のいずれかとすることができ、セルラーネットワークまたは衛星ネットワークなどの１つまたは複数の通信ネットワーク１５０４、または、ローカルエリアネットワークもしくはワイドエリアネットワークとのワイヤレス双方向通信を可能にすることができる。
【０１２０】
[00135]  例示されるモバイルデバイス１５０２は、信号符号化、データ処理、入力／出力処理、電力制御、および／または他の機能などのタスクを行うためのコントローラまたはプロセッサ１５１０（例えば、信号プロセッサ、マイクロプロセッサ、ＡＳＩＣ、または他の制御器、および処理ロジック回路構成）を含むことができる。オペレーティングシステム１５１２は、モバイルデバイス１５０２のコンポーネントの割り当ておよび使用を制御し、かつ、１つまたは複数のアプリケーションプログラム１５１４（「アプリケーション」または「アプリ」とも言う）に対するサポートを行うことができる。アプリケーションプログラム１５１４は一般的なモバイルコンピューティングアプリケーション（例えば、電子メールアプリケーション、カレンダー、連絡先マネージャ、ウェブブラウザ、メッセージングアプリケーション）、および任意の他のコンピューティングアプリケーション（例えば、ワード処理アプリケーション、マッピングアプリケーション、メディアプレーヤアプリケーション）を含むことができる。
【０１２１】
[00136]  例示されるモバイルデバイス１５０２はメモリ１５２０を含むことができる。メモリ１５２０は取り外し不可能なメモリ１５２２および／または取り外し可能なメモリ１５２４を含むことができる。取り外し不可能なメモリ１５２２は、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ハードディスク、または他の周知のメモリデバイスもしくは技術を含むことができる。取り外し可能なメモリ１５２４は、フラッシュメモリ、もしくはＧＳＭ（登録商標）通信システムで周知の加入者識別モジュール（SIM）カード、または「スマートカード」などの他の周知のメモリデバイスもしくは技術を含むことができる。メモリ１５２０は、オペレーティングシステム１５１２およびアプリケーション１５１４を稼働させるためのデータおよび／またはコードを記憶するために使用可能である。例示的なデータは、ウェブページ、テキスト、画像、サウンドファイル、ビデオデータ、または、１つまたは複数のワイヤードもしくはワイヤレスネットワークを介して１つまたは複数のネットワークサーバもしくは他のデバイスとの間で送受信される他のデータを含むことができる。メモリ１５２０は、国際モバイル加入者識別（IMSI）などの加入者識別子、および国際モバイル機器識別子（IMEI）などの機器識別子を記憶するために使用可能である。このような識別子は、ユーザおよび機器を特定するために、ネットワークサーバに送信できる。
【０１２２】
[00137]  モバイルデバイス１５０２は、タッチ画面１５３２、マイクロホン１５３４、カメラ１５３６、物理キーボード１５３８、および／またはトラックボール１５４０などの１つまたは複数の入力デバイス１５３０、ならびにスピーカ１５５２および表示部１５５４などの１つまたは複数の出力デバイス１５５０をサポートすることができる。タッチ画面１５３２などのタッチ画面は種々のやり方で入力を検出することができる。例えば、容量性タッチ画面は、オブジェクト（例えば指先）が表面を横切る電流を歪ませるまたは遮断する時のタッチ入力を検出する。別の例として、タッチ画面は、光センサからのビームが遮断される時のタッチ入力を検出する光センサを使用することができる。画面の表面との物理的接触は、いくつかのタッチ画面によって検出されるべき入力にとって必要ではない。
【０１２３】
[00138]  他の可能な出力デバイス（図示せず）は、圧電型または他の触覚出力デバイスを含むことができる。いくつかのデバイスは、複数の入力／出力機能を果たすことができる。例えば、タッチ画面１５３２および表示部１５５４は、単一の入力／出力デバイスに組合せ可能である。入力デバイス１５３０は、Ｎａｔｕｒａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ（NUI）を含むことができる。
【０１２４】
[00139]  ワイヤレスモデム１５６０は、アンテナ（図示せず）に連結可能であり、当技術分野ではよく理解されるように、プロセッサ１５１０と外部デバイスとの間の双方向通信をサポートすることができる。モデム１５６０は、おおまかに示されており、モバイル通信ネットワーク１５０４および／または他の無線ベースのモデム（例えば、Bluetooth1564、および／またはＷｉ−Ｆｉ１５６２）と通信するためのセルラーモデム１５６６を含むことができる。ワイヤレスモデム１５６０のうちの少なくとも１つは、典型的には、単一のセルラーネットワーク内、セルラーネットワーク間、またはモバイルデバイスと公衆交換電話網（PSTN）との間のデータおよび音声通信用のＧＳＭネットワークといった、１つまたは複数のセルラーネットワークと通信するように構成される。
【０１２５】
[00140]  モバイルデバイス１５０２は、少なくとも１つの入力／出力ポート１５８０、電源１５８２、全地球測位システム（GPS）受信機などの衛星ナビゲーションシステム受信機１５８４、加速度計１５８６、および／または物理コネクタ１５９０をさらに含むことができ、この物理コネクタ１５９０は、ＵＳＢポート、ＩＥＥＥ１３９４（FireWire）ポート、および／またはＲＳ−２３２ポートとすることができる。モバイルデバイス１５２０の例示されたコンポーネントは、当業者によって認識されるように、いずれかのコンポーネントが削除される可能性があり、かつ他のコンポーネントが追加される可能性があるため、必須でもないし、全てが含まれているのでもない。
【０１２６】
[00141]  一実施形態では、モバイルデバイス１５０２は、図１のユーザコンピューティングデバイス１２４、図７のユーザコンピューティングデバイス７２４、または図１３のユーザコンピューティングデバイス１３０２の機能のいずれかを果たすように構成される。これらのデバイスの機能を果たすためのコンピュータプログラムロジックは、メモリ１５２０に記憶され、かつプロセッサ１５１０によって実行可能である。このようなコンピュータプログラムロジックを実行することによって、プロセッサ１５１０には、これらのデバイスのいずれかの特徴のいずれかを実装させることができる。また、このようなコンピュータプログラムロジックを実行することによって、プロセッサ１５１０には、図５または図１１に図示されるフローチャートのいずれかまたは全てのステップのいずれかまたは全てを行わせることができる。
【０１２７】
[00142]  Ｖ．例示的なコンピュータシステム実装形態
図１６は、本明細書に記載されるさまざまな実施形態を実施するために使用可能である例示的なプロセッサベースのコンピュータシステム１６００を図示する。例えば、システム１６００は、図１を参照して上述されるような、ＩＳＳ１６６、検索エンジンサービス１１８、推奨エンジン１２０、新しいタブページサービス１２２、もしくはユーザコンピューティングデバイス１２４、図２を参照して上述されるような新しいタブページサービス２００、図３を参照して上述されるような推奨エンジン３００、図７を参照して上述されるような、ＩＳＳ７１６、検索エンジンサービス７１８、推奨エンジン７２０、アドレスバーサービス７２２、もしくはユーザコンピューティングデバイス７２４、図８を参照して上述されるようなアドレスバーサービス８００、図９を参照して上述されるような推奨エンジン９００、または、図１３を参照して上述されるようなユーザコンピューティングデバイス１３０２もしくは検索エンジン１３０４のいずれかを実装するために使用可能である。システム１６００は、図４、図５、図１０、図１１、または図１４に図示されるフローチャートのいずれかまたは全てのステップのいずれかまたは全てを実装するために使用されてもよい。本明細書に提供されるシステム１６００の説明は、例示の目的として提供され、限定を意図するものではない。実施形態は、当業者には既知であるように、さらなるタイプのコンピュータシステムにおいて実施可能である。
【０１２８】
[00143]  図１６に示されるように、システム１６００は、処理ユニット１６０２、システムメモリ１６０４、およびシステムメモリ１６０４を含むさまざまなシステムコンポーネントを処理ユニット１６０２に連結するバス１６０６を含む。処理ユニット１６０２は、１つまたは複数のマイクロプロセッサまたはマイクロプロセッサコアを含むことができる。バス１６０６は、メモリバスまたはメモリコントローラ、周辺バス、アクセラレイティッドグラフィックスポート、およびさまざまなバスアーキテクチャのいずれかを使用するプロセッサまたはローカルバスを含む、いくつかのタイプのバス構造のいずれかの１つまたは複数を表す。システムメモリ１６０４は、読み取り専用メモリ（ROM）１６０８およびランダムアクセスメモリ（RAM）１６１０を含む。基本入出力システム１６１２（BIOS）はＲＯＭ１６０８に記憶される。
【０１２９】
[00144]  システム１６００はまた、以下のドライブ、つまり、ハードディスクに対する読み書きを行うためのハードディスクドライブ１６１４、取り外し可能磁気ディスク１６１８に対する読み書きを行うための磁気ディスクドライブ１６１６、および、ＣＤ  ＲＯＭ、ＤＶＤ  ＲＯＭ、ＢＬＵ−ＲＡＹ（商標）ディスク、または他の光媒体などの取り外し可能光ディスク１６２２に対する読み書きを行うための光ディスクドライブ１６２０のうちの１つまたは複数を有する。ハードディスクドライブ１６１４、磁気ディスクドライブ１６１６、および光ディスクドライブ１６２０は、それぞれ、ハードディスクドライブインターフェース１６２４、磁気ディスクドライブインターフェース１６２６、および光ドライブインターフェース１６２８によってバス１６０６に接続される。ドライブ、およびそれらの関連のコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、およびコンピュータについての他のデータの不揮発性記憶域を提供する。ハードディスク、取り外し可能磁気ディスク、および取り外し可能光ディスクについて説明されているが、フラッシュメモリカード、デジタルビデオディスク、ランダムアクセスメモリ（RAM）、および読み取り専用メモリ（ROM）などの他のタイプのコンピュータ可読メモリデバイスおよび記憶構造がデータを記憶するために使用可能である。
【０１３０】
[00145]  いくつかのプログラムモジュールは、ハードディスク、磁気ディスク、光ディスク、ＲＯＭ、またはＲＡＭにおいて記憶可能である。これらのプログラムモジュールは、オペレーティングシステム１６３０、１つまたは複数のアプリケーションプログラム１６３２、他のプログラムモジュール１６３４、およびプログラムデータ１６３６を含む。さまざまな実施形態によると、プログラムモジュールは、図１を参照して記載されるような、ＩＳＳ１６６、検索エンジンサービス１１８、推奨エンジン１２０、新しいタブページサービス１２２、もしくはユーザコンピューティングデバイス１２４、図２を参照して上述されるような新しいタブページサービス２００、図３を参照して上述されるような推奨エンジン３００、図７を参照して上述されるような、ＩＳＳ７１６、検索エンジンサービス７１８、推奨エンジン７２０、アドレスバーサービス７２２、もしくはユーザコンピューティングデバイス７２４、図８を参照して上述されるようなアドレスバーサービス８００、図９を参照して上述されるような推奨エンジン９００、または、図１３を参照して上述されるようなユーザコンピューティングデバイス１３０２もしくは検索エンジン１３０４の機能および特徴のいずれかまたは全てを果たすように処理ユニット１６０２によって実行可能であるコンピュータプログラムロジックを含んでよい。プログラムモジュールは、処理ユニット１６０２によって実行される時、図４、図５、図１０、図１１、および図１４のフローチャートを参照して示されるまたは記載されるステップまたは動作のいずれかを行うコンピュータプログラムロジックを含むこともできる。
【０１３１】
[00146]  ユーザは、キーボード１６３８およびポインティングデバイス１６４０などの入力デバイスを通して、システム１６００にコマンドおよび情報を入力することができる。他の入力デバイス（図示せず）は、マイクロホン、ジョイスティック、ゲームコントローラ、またはスキャナなどを含むことができる。１つの実施形態では、タッチ画面は、表示部１６４４と併せて提供されて、ユーザは、（例えば、指またはスタイラスによってなど）タッチによるアプリケーションを介してタッチ画面上の１つまたは複数の箇所に対してユーザ入力を行うことが可能になる。これらのおよび他の入力デバイスは、バス１６０６に連結されるシリアルポートインターフェース１６４２を通して処理ユニット１６０２に接続されることが多いが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（USB）などの他のインターフェースによって接続可能である。かかるインターフェースはワイヤードまたはワイヤレスインターフェースであってよい。
【０１３２】
[00147]  表示部１６４４はまた、ビデオアダプタ１６４６などのインターフェースを介してバス１６０６に接続される。表示部１６４４に加えて、システム１６００は、スピーカおよびプリンタなどの他の周辺出力デバイス（図示せず）を含むことができる。
【０１３３】
[00148]  システム１６００は、ネットワークインターフェースもしくはアダプタ１６５０、モデム１６５２、またはネットワーク上で通信を確立するための他の適した手段によってネットワーク１６４８（例えば、ローカルエリアネットワークまたはインターネットなどのワイドエリアネットワーク）に接続される。内部または外部にあってよいモデム１６５２は、シリアルポートインターフェース１６４２を介してバス１６０６に接続される。
【０１３４】
[00149]  本明細書において使用されるように、「コンピュータプログラム媒体」、「コンピュータ可読媒体」、および「コンピュータ可読記憶媒体」という用語は、ハードディスクドライブ１６１４、取り外し可能磁気ディスク１６１８、取り外し可能光ディスク１６２２、および、フラッシュメモリカード、デジタルビデオディスク、ランダムアクセスメモリ（RAM）、および読み取り専用メモリ（ROM）などの他のメモリデバイスまたは記憶構造に関連付けられたハードディスクといった、メモリデバイスまたは記憶構造に一般に言及するために使用される。このようなコンピュータ可読記憶媒体は、通信媒体とは区別され、非重複である（通信媒体を含まない）。通信媒体は、典型的には、搬送波などの変調されたデータ信号において、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを具現化する。「変調されたデータ信号」という用語は、その特性のうちの１つまたは複数を、情報をその信号において符号化するようなやり方で設定または変更させた信号を意味する。限定ではなく例として、通信媒体は、音響、ＲＦ、赤外線、および他のワイヤレス媒体などのワイヤレス媒体を含む。実施形態はまた、このような通信媒体を対象とする。
【０１３５】
[00150]  上で記されるように、（アプリケーションプログラム１６３２および他のプログラムモジュール１６３４を含む）コンピュータプログラムおよびモジュールは、ハードディスク、磁気ディスク、光ディスク、ＲＯＭ、またはＲＡＭにおいて記憶可能である。このようなコンピュータプログラムはまた、ネットワークインターフェース１６５０、シリアルポートインターフェース１６４２、または任意の他のインターフェースタイプを介して受信されてよい。このようなコンピュータプログラムは、アプリケーションによって実行されるまたはロードされる時、システム１６００が、本明細書に論じられた本発明の実施形態の特徴を実装することができるようにする。従って、このようなコンピュータプログラムはシステム１６００のコントローラを表す。
【０１３６】
[00151]  実施形態は、任意のコンピュータ使用可能媒体において記憶されるソフトウェアを含むコンピュータプログラム製品も対象とする。このようなソフトウェアは、１つまたは複数のデータ処理デバイスにおいて実行される時、データ処理デバイスを本明細書に記載されるように動作させる。本発明の実施形態は、現在または将来的に既知の任意のコンピュータ使用可能媒体またはコンピュータ可読媒体を採用する。コンピュータ可読媒体の例は、ＲＡＭ、ハードドライブ、フロッピーディスク、ＣＤ  ＲＯＭ、ＤＶＤ  ＲＯＭ、ジップディスク、テープ、磁気記憶デバイス、光記憶デバイス、ＭＥＭ、およびナノ技術ベースの記憶デバイスなどのメモリデバイスおよび記憶構造を含むがこれらに限定されない。
【０１３７】
[00152]  代替的な実装形態では、システム１６００は、ハードウェアロジック／電気回路構成またはファームウェアとして実装されてよい。さらなる実施形態によると、これらのコンポーネントの１つまたは複数は、システムオンチップ（SoC）において実装されてよい。ＳｏＣは、プロセッサ（例えば、マイクロコントローラ、マイクロプロセッサ、デジタル信号プロセッサ（DSP）など）、メモリ、１つもしくは複数の通信インターフェース、ならびに／または、この機能を果たすさらなる回路および／もしくは組み込みファームウェアの１つまたは複数を含む集積回路チップを含むことができる。
【０１３８】
[00153]  ＶＩ．追加の例示的な実施形態
コンピュータ実施推奨エンジンについて本明細書に記載される。コンピュータ実施推奨エンジンは、１つまたは複数のプロセッサ、および、１つまたは複数のプロセッサに接続される１つまたは複数のメモリデバイスを含む。１つまたは複数のメモリデバイスは、動作を行うために１つまたは複数のプロセッサによって実行可能であるコンピュータプログラムロジックを記憶する。動作は、ユーザに関連付けられた１つまたは複数のデバイス内に配設された１つまたは複数の組み込みシステムから生じる情報を受信することと、受信された情報から１つまたは複数の情報要素を抽出することと、１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースを特定するために１つまたは複数の情報要素を利用することと、ユーザに関連付けられたウェブブラウザへの配信用に１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースのそれぞれの識別子を提供することであって、１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースのそれぞれの識別子は、ユーザの代わりに１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースにアクセスするためにウェブブラウザによって使用可能である、提供することと、を含む。
【０１３９】
[00154]  前述のコンピュータ実施推奨エンジンの１つの実施形態では、動作は、１つまたは複数の推奨される検索クエリおよび結果を生成するために１つまたは複数の情報要素を利用することと、ウェブブラウザへの配信用に１つまたは複数の推奨される検索クエリおよび結果を提供することと、をさらに含む。
【０１４０】
[00155]  前述のコンピュータ実施推奨エンジンの別の実施形態では、１つまたは複数の組み込みシステムから生じる情報は、ワイヤードまたはワイヤレス接続によって１つまたは複数の組み込みシステムから情報を受信する少なくとも１つのＩｏＴ接続ハブから得られる。
【０１４１】
[00156]  前述のコンピュータ実施推奨エンジンのさらに別の実施形態では、提供する動作は、ウェブブラウザへの配信用に新しいタブページコンテンツを動的に構築する新しいタブページサービスに対して１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースのそれぞれの識別子を提供することであって、新しいタブページコンテンツは、１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースのそれぞれについての情報を含む、提供することを含む。
【０１４２】
[00157]  前述のコンピュータ実施推奨エンジンのまた別の実施形態では、提供する動作は、アドレスバードロップダウンメニュー内に提示するためにウェブブラウザへの配信用に１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースのそれぞれの識別子を提供することを含む。
【０１４３】
[00158]  前述のコンピュータ実施推奨エンジンのさらなる実施形態では、提供する動作は、ウェブブラウザからのリクエストの受信に応答して行われる。
【０１４４】
[00159]  前述のコンピュータ実施推奨エンジンのまたさらなる実施形態では、抽出する動作は、受信された情報の少なくとも一部分が生じたデバイスに関連付けられるデバイスタイプおよび／またはデバイスモデルを特定することと、デバイスタイプおよび／またはデバイスモデルに関連付けられた所定のスキーマを受信された情報の少なくとも一部分に適用して、１つまたは複数の情報要素の少なくとも１つを特定することと、を含む。さらにかかる実施形態によると、所定のスキーマは、拡張マークアップ言語（XML）スキーマまたはＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ（JSON）スキーマのうちの１つを含む。
【０１４５】
[00160]  前述のコンピュータ実施推奨エンジンの別の実施形態では、１つまたは複数の情報要素を利用して１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースを特定することは、異種のデバイスタイプ内の複数の組み込みシステムから生じる情報要素に基づいて単一の推奨されるネットワークアクセスが可能な情報リソースを特定することを含む。
【０１４６】
[00161]  前述のコンピュータ実施推奨エンジンのさらに別の実施形態では、１つまたは複数の情報要素を利用して１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースを特定することは、異なるユーザが所有する同じデバイスタイプのインスタンス内の複数の組み込みシステムから生じる情報要素に基づいて単一のネットワークアクセスが可能な情報リソースを特定することを含む。
【０１４７】
[00162]  プロセッサベースのコンピューティングデバイス上で実行しているウェブブラウザによって実施される方法についても本明細書に記載される。該方法は、ユーザの識別子と関連したリクエストを送ることと、該リクエストに応答して１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースのそれぞれの識別子を受信することであって、１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースは、ユーザに関連付けられる１つまたは複数のデバイス内に配設される１つまたは複数の組み込みシステムから生じる少なくとも情報に基づいて選択される、受信することと、ウェブブラウザのユーザインターフェース内に１つまたは複数の推奨されるネットワークアクセスが可能な情報リソースについての情報を表示することとを含む。
【０１４８】
[00163]  前述の方法の１つの実施形態では、１つまたは複数の組み込みシステムから生じる情報は、ワイヤードまたはワイヤレス接続によって１つまたは複数の組み込みシステムから情報を受信する少なくとも１つのＩｏＴ接続ハブから得られる。
【０１４９】
[00164]  前述の方法の別の実施形態では、ウェブブラウザのユーザインターフェース内に１つまたは複数のネットワークアクセスが可能な情報リソースについての情報を表示することは、１つまたは複数のネットワークアクセスが可能な情報リソースについての情報を含む新しいタブページを表示することを含む。
【０１５０】
[00165]  前述の方法のさらに別の実施形態では、ウェブブラウザのユーザインターフェース内に１つまたは複数のネットワークアクセスが可能な情報リソースについての情報を表示することは、アドレスバードロップダウンメニューにおいて１つまたは複数のネットワークアクセスが可能な情報リソースについての情報を表示することを含む。
【０１５１】
[00166]  コンピュータ実施検索エンジンについても本明細書に記載される。コンピュータ実施検索エンジンは、１つまたは複数のプロセッサ、および、１つまたは複数のプロセッサに接続される１つまたは複数のメモリデバイスを含む。１つまたは複数のメモリデバイスは、１つまたは複数のプロセッサによって実行可能であるコンピュータプログラムロジックを記憶して、ユーザに関連付けられた１つまたは複数のデバイス内に配設される１つまたは複数の組み込みシステムから生じる情報を受信することと、受信された情報から１つまたは複数の情報要素を抽出することと、ユーザから検索クエリを受信することと、検索クエリおよび１つまたは複数の情報要素に基づいて１つまたは複数のネットワークアクセスが可能な情報リソースを特定することと、１つまたは複数のネットワークアクセスが可能な情報リソースについての情報をユーザに対して提示させることとを含む動作を行う。
【０１５２】
[00167]  前述のコンピュータ実施検索エンジンの１つの実施形態では、１つまたは複数の組み込みシステムから生じる情報は、ワイヤードまたはワイヤレス接続によって１つまたは複数の組み込みシステムから情報を受信する少なくとも１つのＩｏＴ接続ハブから得られる。
【０１５３】
[00168]  前述のコンピュータ実施検索エンジンの別の実施形態では、抽出する動作は、受信された情報の少なくとも一部分が生じたデバイスに関連付けられるデバイスタイプおよび／またはデバイスモデルを特定することと、デバイスタイプおよび／またはデバイスモデルに関連付けられた所定のスキーマを受信された情報の少なくとも一部分に適用して、１つまたは複数の情報要素の少なくとも１つを特定することとを含む。
【０１５４】
[00169]  前述のコンピュータ実施検索エンジンのさらに別の実施形態では、動作は、１つまたは複数の情報要素に基づいて１つまたは複数のネットワークアクセスが可能な情報リソースをランク付けすることをさらに含む。
【０１５５】
[00170]  前述のコンピュータ実施検索エンジンのまた別の実施形態では、検索クエリおよび１つまたは複数の情報要素に基づいて１つまたは複数のネットワークアクセスが可能な情報リソースを特定することは、異種のデバイスタイプ内の複数の組み込みシステムから生じる検索クエリおよび情報要素に基づいて単一のネットワークアクセスが可能な情報リソースを特定することを含む。
【０１５６】
[00171]  前述のコンピュータ実施推奨エンジンのさらなる実施形態では、検索クエリおよび１つまたは複数の情報要素に基づいて１つまたは複数のネットワークアクセスが可能な情報リソースを特定することは、異なるユーザが所有する同じデバイスタイプのインスタンス内の複数の組み込みシステムから生じる検索クエリおよび情報要素に基づいて単一のネットワークアクセスが可能な情報リソースを特定することを含む。
【０１５７】
[00172]  ＶＩＩ．結論
さまざまな実施形態が上述されているが、それらは、限定ではなく例としてのみ提示されていることは理解されるべきである。形態および細部におけるさまざまな変更が、本発明の趣旨および範囲から逸脱することなくその中でなされ得ることは、当業者には明らかとなるであろう。よって、本発明の広さおよび範囲は、上述の例示的な実施形態のいずれかによって限定されるべきでなく、以下の特許請求の範囲およびその均等物に従ってのみ定義されるべきである。
【図１】
0006595598.tif 000002
【図２】
0006595598.tif 000003
【図３】
0006595598.tif 000004
【図４】
0006595598.tif 000005
【図５】
0006595598.tif 000006
【図６】
0006595598.tif 000007
【図７】
0006595598.tif 000008
【図８】
0006595598.tif 000009
【図９】
0006595598.tif 000010
【図１０】
0006595598.tif 000011
【図１１】
0006595598.tif 000012
【図１２】
0006595598.tif 000013
【図１３】
0006595598.tif 000014
【図１４】
0006595598.tif 000015
【図１５】
0006595598.tif 000016
【図１６】
0006595598.tif 000017