(57)【要約】  本開示は一般に、ロケーションベースのデバイスサービスを実現するための手法に関する。ユニバーサルアプリケーションを介してサーバシステムへのデバイスの登録を可能にし、登録デバイスへのアクセスを提供するための手法が説明される。ある実施形態では、ユニバーサルアプリケーションは、登録デバイスのための１つ以上のロケーションベースの検索パラメータをエンドユーザから受信してもよい。ユニバーサルアプリケーションは、１つ以上のロケーションベースの検索パラメータを満たす登録デバイスを判断してもよい。いくつかの実施形態では、登録デバイスを検索する際に、サービス属性も入力可能である。加えて、いくつかの実施形態は、登録デバイスに関連付けられたデバイスアプリケーションを判断し、登録デバイスが選択されると、対応するデバイスアプリケーションが起動され得る。
2018508895.tif 000002
【特許請求の範囲】
【請求項１】
デバイスへのアクセスを可能にする、コンピュータにより実現される方法であって、前記方法は、
第１のエンドユーザデバイスから、物理的ロケーションを識別する情報を受信するステップと、
前記物理的ロケーションに関連付けられた１つ以上のデバイスを判断するステップと、
前記第１のエンドユーザデバイスから、前記１つ以上のデバイスの中から選択された第１のデバイスを識別する情報を受信するステップと、
前記第１のエンドユーザデバイスの第１のエンドユーザが、前記第１のエンドユーザデバイスを使用して、前記第１のデバイスに関連付けられたアプリケーションとやりとりすることを可能にするステップとを含む、方法。
【請求項２】
１つ以上のデバイスプロバイダが前記１つ以上のデバイスを登録することを可能にするステップと、
登録されるべき前記１つ以上のデバイスに関連付けられたデバイス情報を受信するステップとをさらに含み、前記デバイス情報は、デバイス識別子とデバイスロケーションとデバイス能力とを含み、
前記デバイス情報をデバイスインベントリに格納するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記１つ以上のデバイスの各々に関連付けられたコスト情報を提供するステップと、
選択された前記第１のデバイスによって提供されるサービスと引き換えに、前記アプリケーションを介して支払を受けるステップとをさらに含む、請求項１または２に記載の方法。
【請求項４】
前記物理的ロケーションに関連付けられた前記１つ以上のデバイスを判断するステップは、前記１つ以上のデバイスと前記１つ以上のデバイスに関連付けられた１つ以上のサービスとを前記物理的ロケーションに従って管理するように構成されたユニバーサルアプリケーションによって行なわれる、請求項１または２に記載の方法。
【請求項５】
前記物理的ロケーションに関連付けられた前記１つ以上のデバイスは、格納されたマッピング情報に従って判断される、請求項１に記載の方法。
【請求項６】
前記マッピング情報は、複数の物理的ロケーションを複数のデバイスとマッピングする、請求項５に記載の方法。
【請求項７】
前記マッピング情報は、デバイスを、前記デバイスを動作させるための１つ以上のデバイスアプリケーションとマッピングする、請求項５または６に記載の方法。
【請求項８】
前記マッピング情報は、デバイスを、前記デバイスによって提供される１つ以上のサービスとマッピングする、請求項５、６または７に記載の方法。
【請求項９】
前記１つ以上のデバイスアプリケーションは、アプリケーションサーバによって管理される、請求項７に記載の方法。
【請求項１０】
前記物理的ロケーションを識別する前記情報は、前記第１のエンドユーザデバイス上で動作するユニバーサルアプリケーションを介して入力された検索パラメータを含む、請求項１または２に記載の方法。
【請求項１１】
前記検索パラメータは、住所、ロケーション名、および関心地点（a point of interest）のうちの１つを含む、請求項１０に記載の方法。
【請求項１２】
前記１つ以上のデバイスは、登録されたインテリジェントコンピューティングデバイスである、請求項１に記載の方法。
【請求項１３】
前記物理的ロケーションを識別する前記情報は、住所、ロケーション名、および関心地点（a point of interest）のうちの１つを含む、請求項１に記載の方法。
【請求項１４】
前記第１のデバイスは、前記第１のデバイスのユニフォームリソースロケータ（ＵＲＬ）を選択することによって前記１つ以上のデバイスの中から選択される、請求項１に記載の方法。
【請求項１５】
前記１つ以上のデバイスの中から前記第１のデバイスが選択されると、前記第１のデバイスに関連付けられた前記アプリケーションは、前記第１のエンドユーザデバイスにおいて起動される、請求項１に記載の方法。
【請求項１６】
前記第１のエンドユーザデバイスの前記第１のエンドユーザが、前記第１のエンドユーザデバイスを使用して、前記第１のデバイスに関連付けられた前記アプリケーションとやりとりすることを可能にするステップは、前記アプリケーションを制御するためのユーザインターフェイスを前記第１のエンドユーザデバイス上に表示するステップを含む、請求項１に記載の方法。
【請求項１７】
デバイスへのアクセスを可能にする、コンピュータにより実現される方法であって、前記方法は、
第１のエンドユーザデバイスから、物理的ロケーションを識別する情報を受信するステップと、
前記物理的ロケーションに関連付けられた１つ以上のデバイスを判断するステップと、
前記第１のエンドユーザデバイスから、サービス属性を識別する情報を、サーバコンピューティングデバイスによって受信するステップと、
判断された、前記物理的ロケーションに関連付けられた前記１つ以上のデバイスの中から、前記サービス属性に関連付けられた１つ以上のデバイスを判断するステップと、
前記第１のエンドユーザデバイスから、前記サービス属性に関連付けられた前記１つ以上のデバイスの中から選択された第１のデバイスを識別する情報を受信するステップと、
前記第１のエンドユーザデバイスの第１のエンドユーザが、前記第１のエンドユーザデバイスを使用して、前記第１のデバイスに関連付けられたアプリケーションとやりとりすることを可能にするステップとを含む、方法。
【請求項１８】
１つ以上のデバイスプロバイダが前記１つ以上のデバイスを登録することを可能にするステップと、
登録されるべき前記１つ以上のデバイスに関連付けられたデバイス情報を受信するステップとをさらに含み、前記デバイス情報は、デバイス識別子とデバイスロケーションとデバイス能力とを含み、
前記デバイス情報をデバイスインベントリに格納するステップをさらに含む、請求項１７に記載の方法。
【請求項１９】
メモリと、
前記メモリに結合された１つ以上のプロセッサとを含む、システムであって、前記１つ以上のプロセッサは、
第１のエンドユーザデバイスから、物理的ロケーションを識別する情報を受信し、
前記物理的ロケーションに関連付けられた１つ以上のデバイスを判断し、
前記第１のエンドユーザデバイスから、前記１つ以上のデバイスの中から選択された第１のデバイスを識別する情報を受信し、
前記第１のエンドユーザデバイスの第１のエンドユーザが、前記第１のエンドユーザデバイスを使用して、前記第１のデバイスに関連付けられたアプリケーションとやりとりすることを可能にするように構成されている、システム。
【請求項２０】
１つ以上のデバイスプロバイダが前記１つ以上のデバイスを登録することを可能にし、
登録されるべき前記１つ以上のデバイスに関連付けられた、デバイス識別子とデバイスロケーションとデバイス能力とを含むデバイス情報を受信し、
前記デバイス情報をデバイスインベントリに格納する、
ように構成された１つ以上のプロセッサをさらに含む、請求項１９に記載のシステム。
【請求項２１】
１つ以上のプロセッサによって実行可能な複数の命令を格納する非一時的なコンピュータ読取可能記憶媒体であって、前記複数の命令は前記１つ以上のプロセッサに複数の動作を行なわせ、前記複数の動作は、
第１のエンドユーザデバイスから、物理的ロケーションを識別する情報を受信することと、
前記物理的ロケーションに関連付けられた１つ以上のデバイスを判断することと、
前記第１のエンドユーザデバイスから、前記１つ以上のデバイスの中から選択された第１のデバイスを識別する情報を受信することと、
前記第１のエンドユーザデバイスの第１のエンドユーザが、前記第１のエンドユーザデバイスを使用して、前記第１のデバイスに関連付けられたアプリケーションとやりとりすることを可能にすることとを含む、コンピュータ読取可能記憶媒体。
【請求項２２】
１つ以上のデバイスプロバイダが前記１つ以上のデバイスを登録することを可能にすることと、
登録されるべき前記１つ以上のデバイスに関連付けられた、デバイス識別子とデバイスロケーションとデバイス能力とを含むデバイス情報を受信することと、
前記デバイス情報をデバイスインベントリに格納することと、
を含む動作を行なうように構成された１つ以上のプロセッサをさらに含む、請求項２１に記載のコンピュータ読取可能記憶媒体。
【請求項２３】
前記１つ以上のデバイスの各々に関連付けられたコスト情報を提供することと、
選択された前記第１のデバイスによって提供されるサービスと引き換えに、前記アプリケーションを介して支払を受けることと、
を含む動作を行なうように構成された１つ以上のプロセッサをさらに含む、請求項２１に記載のコンピュータ読取可能記憶媒体。
【請求項２４】
前記物理的ロケーションに関連付けられた前記１つ以上のデバイスを判断することは、前記１つ以上のデバイスと前記１つ以上のデバイスに関連付けられた１つ以上のサービスとを前記物理的ロケーションに従って管理するように構成されたユニバーサルアプリケーションによって行なわれる、請求項２１に記載のコンピュータ読取可能記憶媒体。
【請求項２５】
前記物理的ロケーションに関連付けられた前記１つ以上のデバイスは、格納されたマッピング情報に従って判断される、請求項２１に記載のコンピュータ読取可能記憶媒体。
【請求項２６】
前記マッピング情報は、複数の物理的ロケーションを複数のデバイスとマッピングする、請求項２５に記載の方法。
【請求項２７】
第１のエンドユーザデバイスから、物理的ロケーションを識別する情報を受信するための手段と、
前記物理的ロケーションに関連付けられた１つ以上のデバイスを判断するための手段と、
前記第１のエンドユーザデバイスから、前記１つ以上のデバイスの中から選択された第１のデバイスを識別する情報を受信するための手段と、
前記第１のエンドユーザデバイスの第１のエンドユーザが、前記第１のエンドユーザデバイスを使用して、前記第１のデバイスに関連付けられたアプリケーションとやりとりすることを可能にするための手段とを含む、装置。
【請求項２８】
１つ以上のデバイスプロバイダが前記１つ以上のデバイスを登録することを可能にするための手段と、
登録されるべき前記１つ以上のデバイスに関連付けられたデバイス情報を受信するための手段とをさらに含み、前記デバイス情報は、デバイス識別子とデバイスロケーションとデバイス能力とを含み、
前記デバイス情報をデバイスインベントリに格納するための手段をさらに含む、請求項２７に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願との相互参照
本願は、２０１６年２月１７日に出願された「ロケーションベースのデバイスサービスを実現するための手法」（TECHNIQUES FOR IMPLEMENTING LOCATION BASED DEVICE SERVICES）と題された米国特許出願第１５／０４６，３５９号の利益および優先権を主張し、当該特許出願は、２０１５年２月１８日に出願された「ロケーション指向のインテリジェントなモノのサービスを実現するための方法およびシステム」（METHOD AND SYSTEM FOR IMPLEMENTING LOCATION ORIENTED INTELLIGENT THING SERVICES）と題された米国仮出願第６２／１１７，８２０号の利益および優先権を主張する。これらの出願は、それら全体があらゆる目的のためにここに引用により援用される。
【背景技術】
【０００２】
背景
本開示は一般に、ロケーションベースサービスを提供するための手法に関する。特に、この開示は、識別されたロケーションに従って、デバイスおよび／またはそれらのデバイスによって提供可能なサービスを判断することに関する。
【０００３】
ユーザがある特定のロケーションにいて、その特定のロケーションでどんなデバイスが利用可能か、およびそれらのデバイスによって提供されるどんなサービスが利用可能かについて知りたい場合がある。たとえば、野球の試合を観戦する人が、球場に、または自分の席の近くにどんなデバイス（たとえば自動販売機、カメラ、広告掲示板など）があるかについて知りたい場合がある。たとえば、ユーザは、購入できる飲料やスナックを提供するどんな自動販売機が近くにあるか、および利用可能な飲料やスナックの種類について知りたい場合がある。
【０００４】
しかしながら、ユーザがある特定のロケーション（たとえば球場）にどんなマシンがあるかを判断するには、ユーザは、その球場でどんなデバイスが利用可能か、およびそれらのデバイスによって提供されるどんなサービスが利用可能かを判断するために、その球場の地図を見なければならないかもしれず、またはその球場に詳しい誰かに尋ねなければならないかもしれない。また、あるデバイスのロケーションを識別できても、そのデバイスによって提供される特定のサービスは、そのデバイスがあるところに行くまでユーザにはすぐにはわからないかもしれない。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
簡単な概要
本開示は、ロケーションベースのデバイスサービスを実現するための手法に関する。特に、この開示は、デバイスを、それらのデバイス情報および／またはサービス情報に基づいてサーバに登録することに関する。また、この開示は、エンドユーザによって入力された検索パラメータに従ってエンドユーザが登録デバイスを検索し、当該デバイスと当該デバイスによって提供されるサービスとにアクセスすることまたはそれらを操作することを可能にすることに関する。
【０００６】
いくつかの実施形態はユニバーサルアプリケーションを提供し、それは、エンドユーザが、ユニバーサルアプリケーションのユーザおよび／またはプロバイダによって登録された１つ以上のデバイスとやりとりすることを可能にする。ユニバーサルアプリケーションは、ユーザおよび／またはプロバイダが１つ以上のデバイスを、それらのロケーション、サービスおよび機能性、および／または動的インターフェイスを含め、他人によって使用されるように登録できるようにしてもよい。ユニバーサルアプリケーションを使用して、エンドユーザまたはクライアントは、エンドユーザによって特定された１つ以上のパラメータを満たすデバイスを検索してもよい。ユニバーサルアプリケーションは、デバイスのリストをエンドユーザに提示してもよい。エンドユーザからある特定のデバイスの選択を受信すると、ユニバーサルアプリケーションは、その特定のデバイスに関連付けられたアプリケーションを呼び出し、そのアプリケーションをエンドユーザのデバイス（たとえば携帯電話）上で起動させてもよい。エンドユーザは次に、その特定のデバイスに関連付けられたアプリケーションを使用して、その特定のデバイスとやりとりしてもよい。
【課題を解決するための手段】
【０００７】
ある実施形態によれば、デバイスへのアクセスを可能にする方法は、第１のエンドユーザデバイスから、物理的ロケーションを識別する情報を受信するステップと、物理的ロケーションに関連付けられた１つ以上のデバイスを判断するステップと、第１のエンドユーザデバイスから、１つ以上のデバイスの中から選択された第１のデバイスを識別する情報を受信するステップと、第１のエンドユーザデバイスの第１のエンドユーザが、第１のエンドユーザデバイスを使用して、第１のデバイスに関連付けられたアプリケーションとやりとりすることを可能にするステップとを含み得る。
【０００８】
ある実施形態では、方法は、１つ以上のデバイスプロバイダが１つ以上のデバイスを登録することを可能にするステップと、登録されるべき１つ以上のデバイスに関連付けられたデバイス情報を受信するステップとを含み、デバイス情報は、デバイス識別子とデバイスロケーションとデバイス能力とを含み、方法はさらに、デバイス情報をデバイスインベントリに格納するステップを含み得る。
【０００９】
ある実施形態では、方法は、１つ以上のデバイスの各々に関連付けられたコスト情報を提供するステップと、選択された第１のデバイスによって提供されるサービスと引き換えに、アプリケーションを介して支払を受けるステップとを含み得る。
【００１０】
ある実施形態では、ユニバーサルアプリケーションが、物理的ロケーションに関連付けられた１つ以上のデバイスを判断でき、ユニバーサルアプリケーションは、１つ以上のデバイスと１つ以上のデバイスに関連付けられた１つ以上のサービスとを物理的ロケーションに従って管理するように構成される。
【００１１】
いくつかの実施形態では、物理的ロケーションに関連付けられた１つ以上のデバイスは、格納されたマッピング情報に従って判断される。
【００１２】
いくつかの実施形態では、マッピング情報は、複数の物理的ロケーションを複数のデバイスとマッピングする。
【００１３】
いくつかの実施形態では、マッピング情報は、デバイスを、デバイスを動作させるための１つ以上のデバイスアプリケーションとマッピングする。
【００１４】
いくつかの実施形態では、マッピング情報は、デバイスを、デバイスによって提供される１つ以上のサービスとマッピングする。
【００１５】
いくつかの実施形態では、１つ以上のデバイスアプリケーションは、アプリケーションサーバによって管理される。
【００１６】
いくつかの実施形態では、物理的ロケーションを識別する情報は、第１のエンドユーザデバイス上で動作するユニバーサルアプリケーションを介して入力された検索パラメータを含む。
【００１７】
いくつかの実施形態では、検索パラメータは、住所、ロケーション名、および関心地点（a point of interest）のうちの１つを含む。
【００１８】
いくつかの実施形態では、１つ以上のデバイスは、登録されたインテリジェントコンピューティングデバイスである。
【００１９】
いくつかの実施形態では、物理的ロケーションを識別する情報は、住所、ロケーション名、および関心地点のうちの１つを含む。
【００２０】
いくつかの実施形態では、第１のデバイスは、第１のデバイスのユニフォームリソースロケータ（uniform resource locator：ＵＲＬ）を選択することによって１つ以上のデバイスの中から選択される。
【００２１】
いくつかの実施形態では、１つ以上のデバイスの中から第１のデバイスが選択されると、第１のデバイスに関連付けられたアプリケーションは、第１のエンドユーザデバイスにおいて起動される。
【００２２】
いくつかの実施形態では、第１のエンドユーザデバイスの第１のエンドユーザが、第１のエンドユーザデバイスを使用して、第１のデバイスに関連付けられたアプリケーションとやりとりすることを可能にするステップは、アプリケーションを制御するためのユーザインターフェイスを第１のエンドユーザデバイス上に表示するステップを含む。
【００２３】
ある実施形態によれば、デバイスへのアクセスを可能にする方法は、第１のエンドユーザデバイスから、物理的ロケーションを識別する情報を受信するステップと、物理的ロケーションに関連付けられた１つ以上のデバイスを判断するステップと、第１のエンドユーザデバイスから、サービス属性を識別する情報を、サーバコンピューティングデバイスによって受信するステップと、判断された、物理的ロケーションに関連付けられた１つ以上のデバイスの中から、サービス属性に関連付けられた１つ以上のデバイスを判断するステップと、第１のエンドユーザデバイスから、サービス属性に関連付けられた１つ以上のデバイスの中から選択された第１のデバイスを識別する情報を受信するステップと、第１のエンドユーザデバイスの第１のエンドユーザが、第１のエンドユーザデバイスを使用して、第１のデバイスに関連付けられたアプリケーションとやりとりすることを可能にするステップとを含み得る。
【００２４】
いくつかの実施形態では、方法はまた、１つ以上のデバイスプロバイダが１つ以上のデバイスを登録することを可能にするステップと、登録されるべき１つ以上のデバイスに関連付けられたデバイス情報を受信するステップとを含み、デバイス情報は、デバイス識別子とデバイスロケーションとデバイス能力とを含み、方法はさらに、デバイス情報をデバイスインベントリに格納するステップを含み得る。
【００２５】
いくつかの実施形態では、システムは、メモリと、メモリに結合された１つ以上のプロセッサとを含んでいてもよく、１つ以上のプロセッサは、第１のエンドユーザデバイスから、物理的ロケーションを識別する情報を受信し、物理的ロケーションに関連付けられた１つ以上のデバイスを判断し、第１のエンドユーザデバイスから、１つ以上のデバイスの中から選択された第１のデバイスを識別する情報を受信し、第１のエンドユーザデバイスの第１のエンドユーザが、第１のエンドユーザデバイスを使用して、第１のデバイスに関連付けられたアプリケーションとやりとりすることを可能にするように構成されている。
【００２６】
いくつかの実施形態では、システムは、１つ以上のデバイスプロバイダが１つ以上のデバイスを登録することを可能にし、登録されるべき１つ以上のデバイスに関連付けられた、デバイス識別子とデバイスロケーションとデバイス能力とを含むデバイス情報を受信し、デバイス情報をデバイスインベントリに格納するように構成された１つ以上のプロセッサを含み得る。
【００２７】
他の実施形態は、ここに説明される方法に関連付けられたシステム、ポータブルコンシューマデバイス、およびコンピュータ読取可能媒体に向けられる。
【００２８】
例示的な実施形態の性質および利点のよりよい理解が、以下の詳細な説明および添付図面を参照して得られ得る。
【００２９】
この開示は、添付図面と関連する以下の詳細な説明によって容易に理解されるであろう。図中、同じ参照符号は同じ要素を示す。
【図面の簡単な説明】
【００３０】
【図１】いくつかの実施形態に従ったコンピューティングシステムのブロック図である。
【図２】いくつかの実施形態に従った、デバイスの登録を可能にするアプリケーションを提供する方法についてのフローチャートである。
【図３】いくつかの実施形態に従った、ユニバーサルアプリケーションへのデバイス登録のためのプロセスを示すシーケンス図である。
【図４】いくつかの実施形態に従った、エンドユーザが登録デバイスにアクセスして登録デバイスの機能性を利用することを可能にする例示的なプロセスを示す図である。
【図５】いくつかの実施形態に従った、デバイス検索および操作のためのプロセスを示すシーケンス図である。
【図６】いくつかの実施形態に従った、複数のデバイスの各々について単一のアプリケーションを含むマッピング情報を格納するロケーションベースサービス（Location Based Services：ＬＢＳ）システムサーバの一例を示す図である。
【図７】いくつかの実施形態に従った、単一のデバイスについて複数のアプリケーションを含むマッピング情報を格納するロケーションベースサービス（ＬＢＳ）システムサーバの一例を示す図である。
【図８】いくつかの実施形態に従った、サービス属性に基づいて１つのデバイスについて１つ以上のアプリケーションを含むマッピング情報を格納するロケーションベースサービス（ＬＢＳ）システムサーバの一例を示す図である。
【図９】いくつかの実施形態に従ったコンピューティングシステムの一実現化例の簡略ブロック図である。
【発明を実施するための形態】
【００３１】
詳細な説明
以下の説明では、例示的な実施形態の完全な理解を提供するために、特定の詳細が説明のために述べられる。しかしながら、これらの特定の詳細がなくてもさまざまな実施形態が実践され得ることは明らかであろう。たとえば、回路、システム、アルゴリズム、構造、手法、ネットワーク、プロセス、および他の構成要素は、実施形態を必要以上に詳細に説明して不明瞭にしないように、ブロック図の形での構成要素として示され得る。図および説明は、限定的であるよう意図されてはいない。
【００３２】
いくつかの実施形態は、デバイスの登録を容易にするための、およびユーザがこれらのデバイスおよびそれらの能力へのアクセスを得ることを可能にするための手法（たとえば、システム、方法、１つ以上のプロセッサによって実行可能な命令またはコードを格納するメモリまたは非一時的なコンピュータ読取可能媒体）に向けられる。登録されたデバイスは、インテリジェントデバイス、コンピューティングデバイス、インテリジェントコンピューティングデバイス、ネットワークデバイス、またはスマートデバイスとも呼ばれ得る。インテリジェントデバイスは、それ自体のコンピューティング能力を有するあらゆるタイプの装置、機器、またはマシンであり得る。登録可能なデバイスは、たとえば、自動販売機、広告掲示板、テレビ、カメラ、携帯電話、スコアボード、または、モノのインターネット（Internet of Things：ＩｏＴ）ネットワークにおいて使用可能なあらゆるデバイスを含み得る。これらのデバイスは単なる例であり、例示的な実施形態はこれらのデバイスに限定されない。
【００３３】
デバイスを登録するユーザは、プロバイダ、デバイスプロバイダ、サービスプロバイダ、ベンダー、または登録者と呼ばれ得る。また、特定の１つ以上のデバイスとデバイスによって提供されるサービスとにアクセスするユーザは、エンドユーザ、クライアント、またはカスタマーと呼ばれ得る。登録されたデバイスを提供するユーザは、システムにおいて登録されたデバイスのユーザでもあり得る。したがって、ユーザ、プロバイダ、およびエンドユーザは、同一人物を指していてもよく、異なる人々であってもよい。
【００３４】
いくつかの実施形態では、システムは、そのシステムの多くのプロバイダによって登録されるべきさまざまなデバイスのためのプラットフォームを提供してもよい。いくつかの実施形態は、プロバイダがあるデバイスを、そのデバイスに関連付けられたデバイスロケーション、デバイス能力、および／またはウェブアプリケーションまたはモバイルアプリケーションといった、そのデバイスについての情報とともに登録できるようにする、ユニバーサルアプリケーションを提供する。ユニバーサルアプリケーションはまた、エンドユーザが、あるロケーションの近くの登録されたインテリジェントデバイスを検索し、それらのインテリジェントデバイスによって提供されるリソースを利用することを可能にしてもよい。場合によっては、エンドユーザは、あるロケーションの周囲の所望のインテリジェントデバイスおよび所望の能力を、当該デバイスに関連付けられたソフトウェアアプリケーションまたは動的インターフェイスを使用して動作させ、それらにアクセスしてもよい。
【００３５】
さまざまなデバイスは、それらがネットワークを介して互いに相互接続され得るように、ネットワーキング能力を有し得る。これらのデバイスは、それらの現在位置またはロケーション（たとえば、あるビルのあるフロアの隅、家の上階、オフィスにいること、ある方向を向いていることなど）を認識できる。デバイスロケーションはデバイスにプログラミングされ、デバイスのロケーションが変わると再度プログラミングされ得る。デバイスのロケーションは、ユーザがデバイスを家に設置し、それをあるアプリケーションと対にしたときに設定されたかもしれない。いくつかの実施形態は、サーバがデバイスについてのロケーション情報を維持することを可能にする。たとえば、サーバは、地理的ロケーションにおけるデバイスとそれらのデバイスによって提供されるサービスとのマッピング情報を維持することができる。
【００３６】
いくつかの実施形態は、ユーザがネットワーキング可能デバイス（登録デバイスまたはネットワークデバイスとも呼ばれる）をロケーションに基づいて、および／またはそれらの機能性／能力に基づいて検索することを可能にするユニバーサルアプリケーションを提供する。ユーザは、あるロケーション（たとえば、今後の目的地、現在のロケーション、関心のあるロケーション）を検索でき、ユニバーサルアプリケーションは、エリア内のネットワーキング可能デバイスを提示してもよい。たとえば、ユーザはゴールデンゲートブリッジを検索して、関心地点のしきい値半径（たとえば１０マイル）内にカメラ、自動販売機、プリンタなどがあるかどうか見つけてもよい。これらのデバイスは必ずしも企業の一部でなくてもよく、自身のデバイスの能力をネットワークデバイスのシステムと共有することに関心がある個人によって所有されてもよい。また、これらのデバイスは単一の企業または所有者によって所有されてもよく、または、異なる企業および所有者によって所有されてもよい。
【００３７】
また、ユーザは、検索されているロケーションに現在いる必要はない。たとえば、家にいる親が、球場にいる自分の子供のために食物を提供する自動販売機を検索することができる。したがって、エンドユーザは、ある特定のロケーションで利用可能なデバイスおよびサービスを判断するためにその特定のロケーションにいる必要はない。
【００３８】
いくつかの実施形態では、デバイスは初期化され、あるロケーションに接続されてもよい。プロバイダはコンピューティングデバイスをシステムに登録し、そのコンピューティングデバイスをあるロケーションに関連付けてもよい。デバイスを登録中、プロバイダは、写真撮影または動画撮影といったデバイスの能力を特定してもよい。一例では、コンピューティングデバイスが自動販売機である場合、当該デバイスは、商品を提供するとして識別可能であり、また、その自動販売機によって提供される特定の商品および商品のブランドを識別することもできる。自動販売機は、その自動販売機で購入できるアイテムのリスト、および当該アイテムの価格情報を、たとえばエンドユーザのデバイス（たとえば携帯電話）上に提示または表示することができる、関連付けられたユーザインターフェイス（たとえばモバイルアプリケーションまたはウェブアプリケーション）を有していてもよい。
【００３９】
いくつかの実施形態では、エンドユーザは、エリア内の潜在的デバイスを識別するために、ユニバーサルアプリケーション上で検索を行なってもよい。ある実施形態は、プロバイダがコンピューティングデバイスを、そのロケーション、その能力、および場合によってはそのような情報を広めるべきその潜在的エンドユーザを特定することによって登録することを可能にする。ユニバーサルアプリケーションのエンドユーザは次に、ユーザがたとえばあるデバイスから指定距離内にいる場合に、そのデバイスを検索してもよい。
【００４０】
たとえば、ユーザがモールを歩き回り、（たとえばユーザの携帯電話上の）ユニバーサルアプリケーション上で検索を行なうことによって自分の周囲のデバイスを判断してもよい。システムに登録されたデバイスを通して、ユーザは、自分から指定距離（たとえば、徒歩５分、０．３マイル、ある特定の店舗の隣）内にある自動販売機を見つけるかもしれない。
【００４１】
別の例では、ユーザはスタジアム（たとえば、フットボール、野球、サッカーなど）にいるかもしれず、そのスタジアムは貸出可能なスマート広告掲示板を有するかもしれない。そのスマート広告掲示板は、ユーザが要求された価格（たとえば１００ドル）を支払えば、それが個人宛てのメッセージ（たとえば、「私と結婚してもらえませんか？」「誕生日おめでとう、ボブ」など）を表示できると広告しているかもしれない。ユニバーサルアプリケーションを使用して、ユーザはスタジアムの広告掲示板を検索し、エンドユーザが利用できる広告掲示板のサービスを判断することができる。
【００４２】
さらに別の例では、ユーザは、ユニバーサルアプリケーションを使用して、空港にあるプリンタを検索し、印刷ジョブを遠隔で送信してもよい。ユーザはたとえば空港に向かう車の中にいるかもしれず、または、現在空港にいるかもしれない。プリンタのサービスを手配した後で、ユーザは、空港に到着後、またはプリンタのロケーションに到着したときに印刷ジョブを受け取ってもよい。別の場合では、ユーザはミーティングのためにあるロケーションに向かいながら、そのロケーションを検索してもよい。ユーザは、そのロケーションの交差道路を指しているカメラがあると判断し、交差道路の写真を撮るようにカメラのサービスを手配してもよい。写真を受け取ると、ユーザはそのエリアについて調べて学んでもよく、また、その写真または一連の写真を使用して現在の交通状況を判断してもよい。写真は、現在時刻、またはユーザが要求するようなある特定の時間に取得可能である。たとえば、ユーザは水曜日の午前９時に約束しているかもしれず、指定された約束の一週間前にカメラを使用して、ある特定の日および／または時間についての写真またはビデオ画像を取得することができる。別の場合では、ユーザは、あるエリアで駐車場を見つけたい場合がある。ユーザは、公営および私営の駐車エリアを含む駐車メータまたは駐車区画を検索し、ある特定の時間帯について駐車場所を予約してもよい。上に述べたことは単なる例であり、実施形態に従って他の多くのデバイスおよびサービスを得ることができる。
【００４３】
いくつかの実施形態は、プロバイダがデバイスをシステムに登録できるようにするサービスを提供でき、プロバイダは、デバイスによって実行され得る特定の動作へのアクセスを得ることが許可されたユーザを特定できる。したがって、ある特定のデバイスは異なるアクセスレベルを有し得る。サービスは、ユーザが、関心地点（たとえばゴールデンゲートブリッジ）および／または関心地点に関連付けられるデバイスを、それらのデバイスによって提供されるサービスとともにデータベースにポピュレートできるようにしてもよい。ロケーション、デバイス、および／またはサービスのこのデータベースを用いて、いくつかの実施形態におけるシステムは、ユーザが、あるロケーション（たとえば、ランドマーク、住所、目的地の名前など）にあるデバイスを識別するためにロケーションベースの検索を行ない得る検索メカニズム、もしくは、ユーザが、ある機能性を有する、または特定のサービスを提供するデバイスを識別し得るサービス検索を提供する。これは、ユーザが、必ずしも自分自身が所有するとは限らないものの他人（たとえば公私の人または団体）によって共有されるリソース（たとえばサービス、機能性）を活用することを可能にする。
【００４４】
図１は、いくつかの実施形態に従ったコンピューティングシステム１００のブロック図を示す。コンピューティング環境１００は、１つ以上のエンドユーザデバイス１０２（たとえば、ユニバーサルアプリケーション１１０がインストールされた携帯電話）を含み得る。たとえば、ユニバーサルアプリケーションを介して利用可能なデバイスおよびサービスにアクセスしたい異なるユーザまたは同じユーザに属する複数のエンドユーザデバイス１０２ａ、１０２ｂ、および１０２ｂがあり得る。
【００４５】
エンドユーザデバイス１０２はさまざまな異なるタイプのものであってもよく、パーソナルコンピュータ、デスクトップ、ラップトップ、携帯電話、タブレットなどのモバイルまたはハンドヘルドデバイス、および他のタイプのデバイスを含むものの、それらに限定されない。エンドユーザデバイス１０２を介してユーザがアクセスできる１つ以上のアプリケーションがあってもよい。ある実施形態では、エンドユーザデバイス１０２は、エンドユーザデバイス１０２上に格納された、および／またはエンドユーザデバイス１０２上で実行されるユニバーサルアプリケーション１１０を有し得る。いくつかの実施形態では、ユニバーサルアプリケーション１１０は、エンドユーザが１つ以上の登録デバイス（たとえば登録デバイス１０８）を、たとえばある特定のロケーションに従って、またはデバイス１０８の所望の能力またはパラメータを特定することによって検索することを可能にしてもよく、ユニバーサルアプリケーション１１０は、エンドユーザによって特定されたようなパラメータを満たすであろうデバイス１０８を識別することができる。ユニバーサルアプリケーション１１０が説明されているが、実施形態はユニバーサルアプリケーション１１０に限定されず、いくつかの実施形態は、ユニバーサルサービスとシステムにおける１つ以上のデバイスへのアクセスとを提供するサービスを含み得る。
【００４６】
エンドユーザデバイス１０２は、通信ネットワーク１０６（たとえばインターネット）を介して、ロケーションベースサービス（ＬＢＳ）システム１１４と、１つ以上のアプリケーションサーバ１１２とに通信可能に結合され得る。ＬＢＳシステム１１４は、１つ以上のＬＢＳシステムサーバを含み得る。ＬＢＳシステムサーバは、バックエンドサーバまたはアグリゲータサーバとしても知られ得る。ＬＢＳシステム１１４は、登録デバイス１０８、登録デバイス１０８によって提供されるサービスに関する情報、および、アプリケーションサーバ１１２におけるアプリケーションにデバイス１０８をマッピングする情報を格納することができる。また、ＬＢＳシステム１１４は、ある特定の登録デバイスおよびその対応するサービスに関する情報を格納することができる。ＬＢＳシステム１１４は要求を受信し、要求に応答してアクションを行なう（たとえば、コンテンツを供給する）ことができる。
【００４７】
ＬＢＳシステム１１４は、ある物理的ロケーションにおける物理的デバイスに関する情報を格納することができる。ＬＢＳシステム１１４は、登録デバイス１０８の登録情報を、データベースまたはメモリ１１５などのデータストレージに格納してもよい。データベースまたはメモリ１１５は、たとえばデバイスインベントリにデバイス情報を格納することができる。データベースまたはメモリ１１５はＬＢＳシステム１１４の一部であってもよく、またはＬＢＳシステム１１４から離れていてもよい。
【００４８】
ＬＢＳシステムプロバイダが、ＬＢＳシステム１１４とユニバーサルアプリケーション１１０とを提供することができる。ユニバーサルアプリケーションは、エンドユーザデバイス１０２またはプロバイダデバイス１２０によってダウンロードされ、実行され得る。
【００４９】
１つ以上のアプリケーションサーバ１１２は、たとえば、アプリケーションサーバ１１２ａ、１１２ｂ、および１１２ｃを含み得る。登録デバイス１０８は、ある特定のアプリケーションサーバ１１２によって管理されてもよく、または、異なる企業が各々、それらのデバイスによって提供されるアプリケーションを管理するアプリケーションサーバ１１２を有していてもよい。アプリケーションサーバ１１２は、登録デバイス１０８用のアプリケーションをたとえばエンドユーザの携帯電話に提供しているサーバである。アプリケーションサーバ１１２は、登録デバイス１０８用のアプリケーションが実行され、および／または格納されるサーバである。
【００５０】
いくつかの実施形態では、複数のデバイス１０８がネットワーク１０６を介してＬＢＳシステム１１４に登録されてもよい。したがって、たとえば、異なるタイプのデバイスに対応し得るデバイス１０８ａ、１０８ｂ、１０８ｃによって提供されるリソースが登録され得る。デバイス１０８はさまざまな異なるタイプのものであってもよく、モニタ、ビデオカメラ、プリンタ、オーディオスピーカ、サーモスタット、カメラ、煙探知器、コンピュータ、テレビ、ラジオ、広告掲示板、自動販売機、充電ステーション、放送機器、照明機器などを含むものの、それらに限定されない。デバイスは登録デバイスと呼ばれるが、これは説明を明確にするためのものであり、システム１００における異なるデバイスを区別するためのものである。登録デバイス１０８は、それが登録デバイスとして識別されても、まだシステム１００に登録されていないかもしれない。
【００５１】
コンピューティングシステム１００は、１つ以上のプロバイダユーザデバイス１２０（たとえば１２０ａ、１２０ｂ、１２０ｃ）も含み得る。プロバイダユーザデバイス１２０は、登録デバイス１０８をＬＢＳシステム１１４に登録するために登録デバイス１０８のプロバイダによって使用される、たとえば携帯電話または任意のデバイス（たとえばラップトップ）であり得る。プロバイダユーザデバイス１２０はまた、ユニバーサルアプリケーション１１０のインスタンスを含むことができ、プロバイダはそれを使用して１つ以上のデバイス１０８をＬＢＳシステム１１４に登録することができる。
【００５２】
いくつかの実施形態では、登録デバイス１０８は、複数のプロバイダによって登録されたいくつかのデバイスの中にある。プロバイダは、ユニバーサルアプリケーションをダウンロードして、自分のデバイスを他人が利用できるようにすることを望むユーザであり得る。プロバイダは、関係またはつながりがない（たとえば、同じ会社に属さない）複数の人々または団体を含んでいてもよい。
【００５３】
アプリケーションサーバ１１２、登録デバイス１０８、およびプロバイダユーザデバイス１２０は、たとえば、プロバイダ要素１３０を作り上げることができる。すなわち、アプリケーションサーバ１１２、登録デバイス１０８、およびプロバイダユーザデバイス１２０は、１つ以上のデバイス１０８の１つ以上のプロバイダに属することができる。
【００５４】
通信ネットワーク１０６は、エンドユーザデバイス１０２などの１つ以上のエンドユーザデバイスとＬＢＳシステム１１４との間の通信を容易にする。通信ネットワーク１０６はさまざまなタイプのものであってもよく、１つ以上の通信ネットワークを含み得る。たとえば、通信ネットワーク１０６は、インターネット、ワイドエリアネットワーク（wide area network：ＷＡＮ）、ローカルエリアネットワーク（local area network：ＬＡＮ）、イーサネット（登録商標）ネットワーク、公的または私的ネットワーク、有線ネットワーク、無線ネットワークなど、およびそれらの組合せを制約なしで含み得る。通信を容易にするために、ＩＥＥＥ８０２．ＸＸプロトコルスイート、ＴＣＰ／ＩＰ、ＩＰＸ、ＳＡＮ、ＡｐｐｌｅＴａｌｋ（アップルトーク）、ブルートゥース（登録商標）、および他のプロトコルといった有線および無線プロトコル双方を含む、異なる通信プロトコルが使用されてもよい。一般に、通信ネットワーク１０６は、システム１００における、エンドユーザデバイス１０２などの１つ以上のエンドユーザデバイスと、ＬＢＳシステム１１４と、１つ以上のアプリケーションサーバ１１２との間の通信を容易にする任意の通信ネットワークまたはインフラストラクチャを含んでいてもよい。
【００５５】
図１に示す実施形態は単なる一例であり、請求される実施形態を過度に限定するよう意図されてはいない。当業者であれば、図１に示す例に多くの変更、代替、および修正を行なうことができるということを認識するであろう。たとえば、アプリケーションサーバ１１２はＬＢＳシステム１１４から離れて図示されているが、アプリケーションサーバ１１２はＬＢＳシステム１１４の一部であってもよい。
【００５６】
異なる実施形態は、さまざまなアクションを行なうために、追加のまたはより少ないサーバを含んでいてもよい。デバイスプロバイダが、自分たちのそれぞれの１つ以上のアプリケーションサーバ１１２上にウェブアプリまたはモバイルアプリケーション（デバイスアプリとも呼ばれる）をアップロードしてもよい。具体的には、デバイスプロバイダは、自分自身のアプリケーションサーバ１１２上にデバイス用のアプリケーションをアップロードすることができ、デバイスプロバイダは、アプリケーションサーバ１１２上よりも多く有することができる。
【００５７】
エンドユーザがデバイス（たとえば登録デバイス１０８）によって提供されるリソースとやりとりしてそれらを利用することを望んでいると判断すると、ＬＢＳシステム１１４は、アプリケーションサーバ１１２から関連付けられたアプリケーションを判断し、関連付けられたアプリケーションへのアクセスを提供することができる。ユーザは次に、関連付けられたアプリケーションを使用することによって、デバイス（たとえば登録デバイス１０８）の所望のサービスまたはコンピューティングリソースを特定してもよい。
【００５８】
ＬＢＳシステム１１４は、デバイス登録および管理を提供することができる。デバイスプロバイダは、たとえばＬＢＳシステム１１４のＬＢＳシステムサーバにアクセスすることによって、ＬＢＳシステム１１４の一部になるようにデバイスを登録してもよい。ある実施形態では、プロバイダは、モバイルアプリケーション（たとえばユニバーサルアプリケーション１１０）を介して、１つ以上のデバイスをＬＢＳシステム１１４に登録してもよい。いくつかの実施形態では、ＬＢＳシステム１１４は、デバイス情報がそのロケーションおよびサービス属性によって待ち行列に入れられるように、デバイス情報をそのデバイスインベントリに格納することができる。プロバイダはまた、エンドユーザが登録デバイス１０８の機能性にアクセスするなどのためにダウンロードする必要があるデバイス利用可能性、デバイス能力、任意の追加のモバイルアプリケーションまたはプラグインを特定してもよい。たとえば、プロバイダは、ある特定のデバイスが、週末の午前８時〜午後５時のみ利用可能であること、および／または、あるレベルの機密事項取扱許可を有する人々の部分集合にとってアクセス可能であることを特定してもよい。
【００５９】
ある実施形態では、ユニバーサルアプリケーション１１０は、１つ以上のデバイス１０８についての検索をエンドユーザから受信してもよい。エンドユーザは、登録デバイス１０８についての検索において、デバイスのロケーションまたはデバイスの１つ以上の能力といった、１つ以上のパラメータを特定してもよい。ユニバーサルアプリケーション１１０は、ネットワーク１０６を介してＬＢＳシステム１１４にアクセスし、検索パラメータを満たすデバイス情報（たとえばデバイスのリスト）を要求してもよい。たとえば、（たとえばエンドユーザデバイス上にある）ユニバーサルアプリケーション１１０は、あるロケーションの近くのデバイス名のリストを要求してもよい。ＬＢＳシステム１１４は次に、ＬＢＳシステム１１４によって維持されたデバイスインベントリに問い合わせ、選択されたロケーションに属する全デバイスのリストおよび対応する情報を取得してもよく、情報をエンドユーザデバイス上のユニバーサルアプリケーション１１０に送信することができる。
【００６０】
ユニバーサルアプリケーション１１０は、たとえば、ユーザによって特定された１つ以上のパラメータを満たすデバイス（たとえばデバイス１０８）のリストを提示してもよい。デバイスのリストおよびそれらの能力は、エンドユーザデバイス１０２上のインターフェイスを介してユーザに表示されてもよい。デバイス情報の構成および表示、表示されたデバイスの数、ならびに表示されたデバイス情報のタイプを含む検索結果情報が、エンドユーザによって要望通り選択され修正され得る。いくつかの実施形態では、ユニバーサルアプリケーション１１０は、エンドユーザが追加のパラメータを入力することによって検索をさらに絞ることができるようにする。ユニバーサルアプリケーション１１０は次に、検索結果におけるデバイスのリストを再度ポピュレートし、またはさらに絞ってもよい。いくつかの実施形態では、追加の関連情報が、デバイス識別情報とともにエンドユーザに提示されてもよい。たとえば、ユニバーサルアプリケーション１１０はまた、デバイスに関連付けられたサービスの使用に関連付けられた価格またはコストを示してもよい。場合によっては、ユニバーサルアプリケーション１１０はまた、ユーザが所望のデバイス仕様に基づいて所望のデバイスを選択することを可能にするであろうさまざまな記録デバイスの解像度といった情報を提示してもよい。
【００６１】
デバイスのリストからのデバイス（たとえば登録デバイス１０８）の選択を受信すると、ユニバーサルアプリケーション１１０は、選択されたデバイスに関連付けられたデバイスアプリケーションを識別してもよい。ある実施形態では、デバイスに関連付けられたデバイスアプリケーションは、ユニバーサルアプリケーション１１０であってもよい。いくつかの実施形態では、デバイスアプリケーションは、別個のモバイルアプリケーションであってもよい。ある実施形態では、ユニバーサルアプリケーション１１０は、エンドユーザデバイス１０２上でデバイスアプリケーションを起動するために、（たとえばアプリケーションサーバ１１２から）選択されたデバイスのユニバーサルリソースロケータ（universal resource locator：ＵＲＬ）を判断してアクセスしてもよい。エンドユーザは次に、デバイス（たとえば登録デバイス１０８）に、デバイス用のデバイスアプリケーションを介して命令を送信してもよい。
【００６２】
エンドユーザがユニバーサルアプリケーション１１０を使用して特定のロケーション検索基準を入力した後で、エンドユーザデバイス１０２には、特定の登録デバイス１０８を動かすアプリケーション用のＵＲＬが提供されてもよい。エンドユーザがそのＵＲＬを選択すると、エンドユーザデバイスはアプリケーションサーバ１１２に接続され、アプリケーションサーバ１１２上で実行されている登録デバイス１０８を制御するためのアプリケーションにアクセスすることができる。
【００６３】
加えて、プロバイダも、ユニバーサルアプリケーション１１０を使用して登録デバイス１０８を登録することができる。プロバイダは、たとえば、プロバイダデバイス１２０上でユニバーサルアプリケーション１１０を開くことができ、プロバイダは、ユニバーサルアプリケーション１１０に従ってプロバイダデバイス１２０上のインターフェイス上でデバイス登録を選択することができる。プロバイダによって登録されたデバイス情報およびサービスはユニバーサルアプリケーション１１０を介してＬＢＳシステム１１４に送信可能であり、その情報はＬＢＳシステム１１４によって格納可能である。
【００６４】
図２は、いくつかの実施形態に従った、システム１００への登録デバイス１０８の登録を可能にするためのアプリケーションを提供する方法２００のフローチャートを示す。ある実施形態では、方法２００は、プロバイダユーザデバイス１２０などの１つ以上のデバイスによって行なわれ得る。いくつかの実施形態では、システム１００は、登録デバイス１０８の登録を容易にし、エンドユーザが登録デバイス１０８およびそれらの能力へのアクセスを得ることを可能にしてもよい。デバイス１０８ごとに、ユニバーサルアプリケーション（たとえば図１のユニバーサルアプリケーション１１０）は、エンドユーザまたはプロバイダがデバイス（たとえば登録デバイス１０８）を検索または登録することを可能にするインターフェイスを提供することができる。プロバイダはまた、登録デバイス１０８用のウェブアプリケーションまたはモバイルアプリケーション（デバイスアプリケーションとも呼ばれる）をアプリケーションサーバ１１２上にアップロードしてもよい。ウェブアプリケーションまたはモバイルアプリケーションは、登録デバイスの機能性にアクセスしてそれらを利用することを望むエンドユーザが、命令を送信するかまたは登録デバイス１０８とやりとりすることを可能にしてもよい。
【００６５】
デバイスを登録すると、ユニバーサルアプリケーションのエンドユーザは登録デバイス１０８を検索して見つけることができるかもしれない。いくつかの実施形態では、エンドユーザはあるロケーションを検索して、関心のある登録デバイス１０８を見つけるかもしれない。一例として、エンドユーザは、検索されたロケーションの近くに自動販売機を見つけるかもしれず、その自動販売機の中身を見ることを望むかもしれない。
【００６６】
ブロック２０２で、プロバイダのデバイス１２０上でユニバーサルアプリケーション（たとえばユニバーサルアプリケーション１１０）が起動され得る。ユニバーサルアプリケーション１１０は、たとえば、登録デバイス１０８を登録するためにプロバイダのデバイス１２０にダウンロード可能であり、プロバイダによって使用可能である。ユニバーサルアプリケーション１１０は、プロバイダコンピューティングデバイス１２０上で実行されているモバイルアプリケーションであってもよく、登録デバイス１０８を登録するためにウェブブラウザを介して起動可能である。ユニバーサルアプリケーション１１０は、一般大衆と共有するためのネットワーキング可能デバイスを有する民間または公共団体もしくは個人が利用できるようになっていてもよい。しばしば、登録デバイス１０８は一貫して利用されないかもしれず、またはそれらの最大能力まで利用されないかもしれない。いくつかの実施形態のユニバーサルサービスは、人々が登録デバイス１０８によって提供可能なサービスまたは機能性を貸し出すことを可能にする。したがって、デバイス１０８はより一貫して使用可能であり、異なる人々にアクセスが提供され得る。また、エンドユーザは、そのようなデバイスの存在をより容易に知ることができる。
【００６７】
ブロック２０４で、プロバイダがユニバーサルアプリケーション１１０を介して登録デバイス１０８を登録することを選択したことに応答して、ＬＢＳシステム１１４に登録されるべき登録デバイス１０８に関連付けられたデバイス情報が、プロバイダによって提供され得る。デバイス情報は、登録デバイス識別子と、登録デバイスのロケーションと、登録デバイスサービスとを含み得る。異なる実施形態はプロバイダに、異なる組の情報を登録するよう要求してもよい。いくつかの実施形態では、登録デバイス１０８について登録されるべき情報の量は、登録中の登録デバイス１０８のタイプに依存し得る。たとえば、システム１００はプロバイダに、カメラについてのブランド、モデル、および解像度を登録するよう要求してもよい。
【００６８】
ブロック２０６で、登録デバイス１０８についてブロック２０４で受信されたデバイス情報は、ＬＢＳシステム１１４のＬＢＳシステムサーバに登録され得る。ＬＢＳシステムは、登録デバイス１０８の登録情報を、データベースまたはメモリ１１５などのデータストレージに格納してもよい。データベースまたはメモリ１１５はＬＢＳシステム１１４の一部であってもよく、またはＬＢＳシステム１１４から離れていてもよい。ＬＢＳシステム１１４は、登録デバイス１０８を特定のサービスにマッピングする情報、登録デバイス１０８を特定のロケーションにマッピングする情報、ならびに／もしくは、サービスを特定の登録デバイス１０８および／またはロケーションにマッピングする情報を格納することができる。
【００６９】
ブロック２０８で、登録デバイス１０８に関連付けられたアプリケーションインターフェイス情報（たとえばＵＲＬ）が、プロバイダによって提供され得る。たとえば、エンドユーザデバイス１０２を登録デバイス１０８のウェブアプリケーションまたはモバイルアプリケーションに向けるＵＲＬが提供され得る。プロバイダは、エンドユーザデバイス１０２を使用する潜在的エンドユーザと登録デバイス１０８とのやりとりを容易にするために、登録デバイス１０８用のモバイルアプリケーションまたはウェブアプリケーションを作成してもよい。
【００７０】
プロバイダによって作成され登録されたウェブアプリケーションまたはモバイルアプリケーションは、エンドユーザが登録デバイスの動作を選択することを可能にしてもよい。いくつかの実施形態では、アプリケーションインターフェイスは、デバイスについての所望の動作のユーザ選択によってロードされてもよい。
【００７１】
ディベロッパーが登録デバイス１０８用の動的インターフェイスを作成できるようにするために、登録デバイス１０８用のアプリケーションプログラミングインターフェイス（application programming interface：ＡＰＩ）をディベロッパーに公表することができる。プロバイダ、ディベロッパー、またはベンダーは、動的ユーザインターフェイスを作成し、その動的ユーザインターフェイスを登録デバイス１０８に、および／またはネットワークデバイスによって提供されるサービスに登録してもよい。たとえば、登録者またはベンダーは、中身のリストを表示する自動販売機用の動的ユーザインターフェイスをアップロードしてもよい。登録デバイス１０８用のモバイルアプリケーションまたはウェブアプリケーションは、たとえば登録デバイス１０８を制御してそれにアクセスするために、エンドユーザデバイス１０２によって使用可能である。
【００７２】
ブロック２１０で、ブロック２０８で受信されたアプリケーションインターフェイス情報は、ステップ２０４で受信されたデバイス情報とともに、ＬＢＳシステム１１４で格納され得る。たとえば、アプリケーションインターフェイス情報は、ＬＢＳシステム１１４のデータベースまたはメモリ１１５に格納され得る。いくつかの実施形態では、命令を登録デバイス１０８に送信するアプリケーションにエンドユーザを向けるＵＲＬが、登録デバイス１０８用のデバイス情報とともに格納され得る。
【００７３】
２１２で、プロバイダは、デバイス登録の受領確認を受信し得る。すなわち、特定の登録デバイスを登録するために必要な情報がすべて受信され、登録デバイスを動作させるための対応するアプリケーションが受信された場合、プロバイダは、登録デバイス１０８の登録が完了したと通知され得る。上述の例は単一の登録デバイス１０８の登録に関するものであるが、プロバイダは複数のデバイスまたはプロバイダの全デバイスを一度に登録することができる。
【００７４】
２１４で、デバイスの登録成功の受領確認が、プロバイダユーザデバイス１２０上に表示され得る。それに代えて、登録が成功しなかった場合、プロバイダは、登録デバイス１０８の登録が成功しなかったと通知され得る。これは、たとえば、公共用に利用可能である、またはユニバーサルアプリケーション１１０のユーザにとって利用可能である登録デバイス１０８の登録を完了する。
【００７５】
図３は、ユニバーサルアプリケーションを使用したデバイス登録についてのいくつかの実施形態のプロセス３００を示すシーケンス図である。たとえばユニバーサルアプリケーション１１０を介して登録デバイス１０８をロケーションベースサービス（ＬＢＳ）システム３５４に登録するために、プロバイダデバイス３５０を使用することができる。登録デバイス１０８とやりとりするためのアプリケーションに関する情報が、アプリケーションサーバ３５２に格納され得る。プロバイダユーザデバイス３５０、アプリケーションサーバ３５２、およびＬＢＳシステム３５４は、たとえば、図１のプロバイダユーザデバイス１２０、アプリケーションサーバ１１２、およびＬＢＳシステム１１４に対応し得る。
【００７６】
登録デバイス１０８がたとえばユニバーサルアプリケーション（たとえば図１のユニバーサルアプリケーション１１０）を介してユニバーサルサービスに一旦登録されると、ユニバーサルアプリケーション１１０のエンドユーザは、登録デバイス１０８と登録デバイス１０８によって提供されるサービスとを閲覧し、登録デバイス１０８上で利用可能なサービスを使用してもよい。
【００７７】
ステップ３０２で、登録デバイス１０８のプロバイダによって動作されるプロバイダユーザデバイス３５０は、登録デバイス１０８用のウェブアプリケーションまたはモバイルアプリケーション（デバイスアプリケーションとも呼ばれる）などのアプリケーションを、アプリケーションサーバ３５２上にアップロードすることができる。プロバイダユーザデバイス３５０は、プロバイダが共有したい、またはユニバーサルアプリケーション１１０のエンドユーザが利用できるようにしたい登録デバイス１０８用のアプリケーションを作成してもよい。そのアプリケーションは、エンドユーザと、共有されネットワーク化された登録デバイス１０８とのやりとりを容易にすることができる。たとえば、プロバイダがスタジアムの広告掲示板へのアクセスを提供したい場合、その広告掲示板用のデバイスアプリケーションがアプリケーションサーバ３５２にアップロードされ得る。
【００７８】
ステップ３０４で、アプリケーションサーバ３５２は、登録デバイス１０８用のアプリケーションにアクセスするためのＵＲＬをプロバイダユーザデバイス３５０に送信してもよい。３０６で、プロバイダユーザデバイス３５０は、デバイスをＬＢＳシステム３５４に（たとえば、ＬＢＳシステム３５４のＬＢＳシステムサーバに）登録してもよい。プロバイダユーザデバイス３５０は、デバイスを登録する際に、デバイス識別子、能力情報などのデバイス情報を提出してもよい。プロバイダユーザデバイス３５０はまた、アプリケーションにアクセスするためのＵＲＬをＬＢＳシステム３５４に提出してもよい。
【００７９】
この例では、デバイスプロバイダまたはユーザは、ＬＢＳシステムにアクセスして、デバイスの名前（たとえば「広告掲示板」）、それが属するロケーション（たとえばドジャースのスタジアム）、デバイス能力を概説するサービス属性（たとえば掲示板メッセージサービス）、デバイス能力のサービス説明（たとえば「あなたの個人メッセージをたった１００ドルでスタジアム広告掲示板に載せる」）、および関連付けられたデバイスアプリケーションを起動／ダウンロードするためのＵＲＬ、というデバイス情報を送信することによって、デバイスを登録する。
【００８０】
ステップ３０８で、ＬＢＳシステム３５４は登録デバイス１０８を登録し、たとえば、ＬＢＳシステム３５４のメモリまたはデータベースに格納されたデバイスインベントリにデバイス情報を格納してもよい。デバイスインベントリは、データストレージであってもよい。いくつかの実施形態では、デバイス情報は、デバイス情報がそのロケーションおよびサービス属性によって待ち行列に入れられるように格納されてもよい。ステップ３１０で、ＬＢＳシステム３５４は、デバイス登録の受領確認をプロバイダユーザデバイス３５０に送信してもよい。それに代えて、登録が成功しなかった場合、ＬＢＳシステム３５４は、登録が成功しなかったこと、および／または追加情報が必要とされることをプロバイダユーザデバイス３５０に通知してもよい。
【００８１】
登録デバイス１０８がＬＢＳシステム１１４に登録された後で、登録デバイス１０８はシステム１００のユーザによってアクセスされ得る。図４は、いくつかの実施形態に従った、エンドユーザが以前に登録されたデバイスにアクセスしてその機能性を利用することを可能にする例示的な方法４００を示す。ある実施形態では、方法４００は、図１に示すようなエンドユーザデバイス１０２によって行なわれ得る。いくつかの実施形態では、システム１００は、登録デバイス１０８の登録を容易にし、ユーザが登録デバイス１０８およびそれらの能力へのアクセスを得ることを可能にしてもよい。エンドユーザによって特定された１つ以上のパラメータ（たとえば、あるロケーションの近く、ある能力を有する、あるサービスを提供する）を満たす登録デバイスについての、エンドユーザからの検索要求の受信に応答して、システム１００は、たとえばＬＢＳシステム１１４を介して、１つ以上のパラメータを満たす登録デバイス１０８のリストをポピュレートして、エンドユーザがエンドユーザに提供された登録デバイス１０８のリストの中から選択を行なうことを可能にしてもよい。いくつかの実施形態では、デバイスのリストは、さまざまな人々によって登録されたさまざまなデバイスについてのデバイス情報を格納するデータベース（たとえばデータベース１１５）を使用することによってポピュレートされてもよい。
【００８２】
ブロック４０２で、ユーザデバイス１０２は、登録デバイス１０８のうちのある登録デバイスについての１つ以上の検索パラメータを受信し得る。いくつかの実施形態では、ある登録デバイスのエンドユーザは、１つ以上の登録デバイスを検索したいかもしれない。エンドユーザは、ユーザのエンドユーザデバイス１０２上でユニバーサルアプリケーションを起動してもよい。ユニバーサルアプリケーション１１０を使用して、エンドユーザは、所望の登録デバイスを検索するために、ロケーション、所望の機能性またはサービス、もしくはデバイス識別子といった１つ以上の検索パラメータを入力してもよい。たとえば、エンドユーザは、ある特定のロケーションの近くでプリンタを使用したいかもしれない。別の例では、エンドユーザは、ある交差点でカメラを使用したいかもしれない。別の例では、エンドユーザは、観客への放送といったある機能性を有するスタジアム広告掲示板を使用したいかもしれない。追加の検索パラメータは、エンドユーザが登録デバイス１０８を使用したい時間、持続時間、日付などを含んでいてもよい。
【００８３】
ブロック４０４で、エンドユーザデバイス１０２は、１つ以上の検索パラメータを満たす登録デバイス１０８のリストを受信し得る。エンドユーザデバイス１０２は、検索パラメータを満たす登録デバイス１０８のリストをＬＢＳシステム１１４から受信してもよい。ある実施形態では、ＬＢＳシステム１１４は、システム１００に登録された登録デバイス１０８に関連付けられた全デバイス情報を格納するデバイスインベントリに問い合わせてもよい。ＬＢＳシステム１１４は、特定されたパラメータに整合するデバイス情報を有する登録デバイス１０８を識別することによって、特定されたパラメータを満たす全デバイスのリストを取得してもよい。たとえば、特定されたパラメータがある特定のロケーションである場合、ＬＢＳシステム２２４は、登録デバイス１０８がその特定のロケーションにあることを特定するデバイス情報を有するすべての登録デバイス１０８を判断してもよい。
【００８４】
ブロック４０６で、エンドユーザデバイス１０２は、エンドユーザ検索パラメータを満たす登録デバイスのリストを、エンドユーザデバイス１０２のユーザインターフェイス上に表示することができる。１つ以上のパラメータを満たすコンピューティングデバイスのリストをＬＢＳシステム１１５から受信すると、ユーザエンドデバイス１０２は、ユニバーサルアプリケーション１１０を通して登録デバイスのリストをエンドユーザに表示することができる。エンドユーザは次に、登録デバイス１０８のリストを調べて、エンドユーザがどの登録デバイス１０８を使用したいか判断してもよい。
【００８５】
ブロック４０８で、エンドユーザデバイス１０２は、登録デバイスのリストからのある登録デバイスの選択を受信することができる。エンドユーザは、たとえばエンドユーザデバイス１０２のタッチスクリーンまたはユーザインターフェイスを介して、登録デバイスのリストから所望の登録デバイスを選択してもよい。いくつかの実施形態では、ユニバーサルアプリケーション１１０は、ユーザの選択プロセスを容易にするために、各登録デバイス１０８に関する追加情報を表示してもよい。たとえば、ユニバーサルアプリケーション１１０は、登録デバイスの機能性に関連付けられたコスト情報を表示してもよい。ユニバーサルアプリケーションはまた、登録デバイスまたは当該デバイスのサービスがいつ利用可能かを示す利用可能性情報（たとえば時間情報、補充情報）を表示してもよい。他の追加情報は、カメラの解像度、放送用スピーカのボリューム能力、充電ステーションなどの充電能力などといった、登録デバイスに関連付けられた仕様を含んでいてもよい。コンピューティングデバイスの制限（たとえば利用可能性、能力）も、エンドユーザにとって利用可能であってもよく、エンドユーザに提示されてもよい。
【００８６】
ブロック４１０で、選択された登録デバイスに関連付けられた登録デバイスアプリケーションが判断され得る。いくつかの実施形態では、エンドユーザは、ユニバーサルアプリケーション１１０を介して、選択された登録デバイスとやりとりしてもよい。ある実施形態では、登録デバイス１０８は、コンピューティングデバイスに関連付けられた別個のモバイルアプリケーションまたはウェブアプリケーションを有していてもよい。モバイルアプリケーションエンドユーザまたはウェブアプリケーションは、登録デバイス１０８の制御または操作とのエンドユーザのやりとりを容易にしてもよい。モバイルアプリケーションまたはウェブアプリケーションは、登録デバイスのプロバイダによって以前に作成され、登録デバイス１０８をエンドユーザが利用できるようにする際にプロバイダによってアップロードされてもよい。モバイルアプリケーションまたはウェブアプリケーションは、特定の登録デバイス１０８に合わせてカスタマイズされてもよい。ある特定の登録デバイス１０８がエンドユーザによって選択されたという表示を受信すると、ユニバーサルアプリケーション１１０は、ネットワークデバイスに関連付けられたユニフォームリソースロケータ（ＵＲＬ）を検索してもよい。いくつかの実施形態では、ＬＢＳシステム１１４は、特定の登録デバイス１０８が選択されたという表示を受信すると、たとえばＬＢＳシステム１１４のメモリ１１５に格納されたデバイスインベントリに他のデバイス情報とともに格納されたＵＲＬを検索してもよい。
【００８７】
ブロック４１２で、選択された登録デバイス１０８に関連付けられたアプリケーション（たとえばデバイスアプリケーション）が起動されてもよく、登録デバイス用のアプリケーションに関連付けられたグラフィカルユーザインターフェイスが、エンドユーザデバイス１０２上に表示されてもよい。いくつかの実施形態では、エンドユーザデバイス１０２は、登録デバイス用のアプリケーションをエンドユーザデバイス１０２上にダウンロードしてインストールしてもよい。ある実施形態では、登録デバイス用のアプリケーションはモバイルアプリケーションであってもよい。登録デバイス用のアプリケーションをインストールした後で、エンドユーザデバイス１０２は次に、選択された登録デバイス用のアプリケーションを起動してもよい。いくつかの実施形態では、エンドユーザデバイス１０２が登録デバイス１０８用のアプリケーションをインストールするための表示をエンドユーザから受信した後で、登録デバイス用のアプリケーションは自動的に起動されてもよい。登録デバイス１０８用のアプリケーションはユーザインターフェイスをエンドユーザに提示してもよく、アプリケーションのために登録する（たとえばログインする）よう、またはユーザ情報を入力するよう、エンドユーザを促してもよい。いくつかの実施形態は登録プロセスをスキップして、エンドユーザが、登録デバイス１０８用のアプリケーションに対する、登録デバイスに関する自分の要求をすぐに特定できるようにしてもよい。
【００８８】
ブロック４１４で、エンドユーザデバイス１０２と選択された登録デバイス１０８とのやりとりを進めることができる。登録デバイス１０８についての選択の受信に応答して、いくつかの実施形態は、関連付けられたデバイスアプリケーションを起動し、登録デバイスに関連付けられたウェブインターフェイスを提示して、ユーザがデバイスの機能性にアクセスすることを可能にしてもよい。たとえば、デバイスは、ユーザが特定のデバイス、この場合、広告掲示板に行なってもらいたいアクションそのものを特定できるようにする広告掲示板アプリケーションを起動してもよい。エンドユーザは、自分が広告掲示板に表示してもらいたい言葉、および何時に表示するかを特定してもよい。別の例では、登録デバイス１０８は、エンドユーザが自動販売機の中身、および自動販売機で購入できる、または利用可能であるアイテムの各々に関するより詳細な情報を調べられるようにする自動販売機アプリケーションを起動してもよい。登録デバイス１０８用のアプリケーションはまた、エンドユーザが、自分が要求したサービスと引き換えに支払を行なうことを可能にしてもよい。
【００８９】
図５は、デバイス検索および操作についてのいくつかの実施形態のプロセス５００を示すシーケンス図である。上述のように、ユニバーサルアプリケーション（たとえば図１のユニバーサルアプリケーション１１０）は、エンドユーザが、エンドユーザによって特定された１つ以上のパラメータを満たす登録デバイス（たとえば図１の登録デバイス１０８）を検索することを可能にして、登録デバイス１０８が、エンドユーザが利用できる登録デバイスの機能を使用して１つ以上のアクションを行なうようにしてもよい。
【００９０】
図５は、エンドユーザデバイス５５０と、ユニバーサルアプリケーション５５２と、ロケーションベースサービス（ＬＢＳ）システム５５４と、アプリケーションサーバ５５６と、登録デバイスアプリケーション５５８とを含む。エンドユーザデバイス５５０、ユニバーサルアプリケーション５５２、ＬＢＳシステム５５４、およびアプリケーションサーバ５５６は、たとえば、図１のエンドユーザデバイス１０２、ユニバーサルアプリケーション１１０、ＬＢＳシステム１１４、およびアプリケーションサーバ１１２に対応し得る。
【００９１】
ステップ５０２で、エンドユーザが、ユーザのエンドデバイス５５０（たとえば携帯電話）上でユニバーサルアプリケーション５５２を起動する。ステップ５０４で、エンドユーザがどこで登録デバイス１０８を検索したいかについて、エンドユーザデバイス５５０は、リストまたは地図上であるロケーションを選択し、もしくは、ユニバーサルアプリケーションの検索フィールドであるロケーション（たとえば住所、ロケーション名など）を特定する。たとえば、エンドユーザデバイス５５０は、ユニバーサルアプリケーションのインターフェイス上の検索ボックスにある特定のスタジアムの名前を入力することにより、そのスタジアムにある登録デバイス１０８の検索を入力してもよい。それに代えて、エンドユーザは、地図上である特定のロケーションを選択してもよい。
【００９２】
エンドユーザのデバイス５５０上で実行されているユニバーサルアプリケーション５５２は、特定されたパラメータ、この場合、ロケーションパラメータを受信する。ステップ５０６で、ユニバーサルアプリケーション５５２は、ＬＢＳシステム５５４（たとえばＬＢＳシステム５５４のＬＢＳシステムサーバ）にアクセスし、選択されたロケーションに属する全デバイス情報のリストを要求する。
【００９３】
５０８で、ＬＢＳシステム５５４は、たとえばＬＢＳシステム５５４のメモリに格納された、またはＬＢＳシステム５５４のＬＢＳシステムサーバのメモリに格納されたデバイスインベントリに問い合わせて、選択されたロケーションパラメータを満たした全デバイス情報のリストを取得する。いくつかの実施形態では、ＬＢＳシステムは、デバイスインベントリストレージにおけるデバイスに関連付けられたタグを特定された基準と整合させることにより、この判断を行なう。基準に整合する（あるしきい値変動以下の）タグを有するデバイスが集められてリストになる。デバイスが提供できるサービスについてのあらゆる制限、およびサービスに関連するコストといった、デバイスについての追加情報も検索可能である。いくつかの実施形態では、ユーザがデバイスおよび／またはサービスを選択する前にユーザがデバイスについての関連情報を更新したことを保証するために、それらのデバイスをサービスするサーバにテスト送信して応答を求めることにより、デバイスについての情報を動的に検索することができる。
【００９４】
ステップ５１０で、ＬＢＳシステム５５４は、エンドユーザデバイス５５０上で実行されているユニバーサルアプリケーション５５２にリストを送信する。ステップ５１２で、登録デバイスのリストがユニバーサルアプリケーション５５２を介してエンドユーザデバイス５５０に提示され、エンドユーザデバイス５５０上に表示される。
【００９５】
ステップ５１４〜５２２で、オプションで、デバイス検索をさらに絞り込むために、ステップ５０４〜５１２と同様のシーケンスを、異なるおよび／または追加の検索基準を使用して行なってもよい。この例では、検索基準はサービス属性を含み得る。ステップ５１４で、サービス属性を入力するためにエンドユーザデバイス５５０を使用でき、ユニバーサルアプリケーション５５２は、デバイス情報についての検索結果を絞り込む際の追加基準としてサービス属性を受信する。ステップ５１６で、ユニバーサルアプリケーション５５２は、追加の検索基準を（時には以前に入力された他の検索基準とともに）ＬＢＳシステム５５４に送信する。この例では、ユニバーサルアプリケーション５５２は、ロケーション（たとえばスタジアム）およびサービスパラメータ（たとえば掲示板メッセージサービス）をＬＢＳシステム５５４に送信する。
【００９６】
ステップ５２０で、ＬＢＳシステム５５４は、問い合わせからの結果（すなわち、デバイス情報のリスト）をユニバーサルアプリケーション５５２に送信する。ステップ５２２で、ユニバーサルアプリケーション５５２は結果をエンドユーザデバイス５５０に提供してもよく、それは検索結果を表示する。
【００９７】
上述の例では、サービス属性は、ロケーションパラメータに基づいて検索結果が受信された後に入力される。すなわち、サービス属性は、ロケーションパラメータに基づいた検索の結果を受信した後に入力され得る。サービス属性は次に、ロケーションパラメータに基づいて受信された検索結果をさらに絞るために使用され得る。それに代えて、サービス属性は、ロケーションパラメータが入力される前に入力されてもよく、ロケーションパラメータは、サービス属性に基づいた検索結果を受信した後に入力されてもよい。したがって、代替例では、ロケーションパラメータは、サービス属性に基づいて受信された検索結果を絞るために使用され得る。また、別の実施形態では、ロケーションパラメータおよびサービス属性は同時に入力され得る。
【００９８】
ステップ５２４で、エンドユーザデバイス５５０は、デバイスのリストおよびそれらのデバイス情報を調べた後に、検索結果において提供されるリストから登録デバイス１０８を選択してもよい。いくつかの実施形態では、エンドユーザデバイス５５０がある特定の登録デバイスへのアクセスを望んでいるという表示を受信すると、ユニバーサルアプリケーション５５２は、選択された登録デバイス１０８とやりとりするために、その登録デバイスが、エンドユーザデバイス５５０がアクセスし得る対応するウェブアプリケーションまたはモバイルアプリケーションを有するかどうか判断してもよい。ある実施形態では、ユニバーサルアプリケーション５５２は、ユーザが選択された登録デバイス１０８とやりとりすることを可能にするインターフェイスを提供し、したがって、選択された登録デバイス用の別個のまたは対応するウェブアプリケーションまたはモバイルアプリケーションは、必要ではないかもしれない。
【００９９】
選択された登録デバイスが対応するウェブアプリケーションまたはモバイルアプリケーションを有する場合、ステップ５２６で、登録デバイスの選択を受信すると、ユニバーサルアプリケーション５５２は、アプリケーションサーバ５５６からデバイスアプリケーションにアクセスすることによってデバイスアプリケーション５５８を起動してもよい。たとえば、検索結果として提供される登録デバイスのリストは、登録デバイスに対応するアプリケーション用のＵＲＬを含んでいてもよい。エンドユーザがある登録デバイスを選択した場合、すなわち、エンドユーザがある登録デバイス用のＵＲＬを選択した（たとえばエンドユーザがＵＲＬをクリックした）場合、選択された登録デバイスに対応するアプリケーションがアプリケーションサーバ５５６からアクセスされ、ユニバーサルアプリケーション５５２を介してエンドユーザデバイス５５０上で起動され得る。
【０１００】
ステップ５２８で、アプリケーションサーバ５５６は、デバイスアプリケーション５５８がエンドユーザデバイス５５０上で起動されるようにしてもよい。選択された登録デバイス１０８のＵＲＬにアクセスすることにより、エンドユーザデバイス５５０（たとえばモバイルデバイス）は、選択された登録デバイス用のデバイスアプリケーションをエンドユーザに提示してもよい。ステップ５３０で、エンドユーザは次に、必要に応じて、選択された登録デバイスにデバイスアプリケーション５５８を介してアクセスしてもよい。
【０１０１】
ステップ５３２で、デバイスアプリケーション５５８はエンドユーザデバイス５５０にとってアクセス可能にされてもよく、アプリケーションＵＩがエンドユーザデバイス５５０上に表示されてもよい。ステップ５３４で、エンドユーザデバイス５５０は、デバイスアプリケーション５５８を介してＵＩを操作してもよい。
【０１０２】
加えて、図５に示す例では、ステップ５３６で、エンドユーザデバイス５５０は、デバイスアプリケーション５５８を使用する特定のデバイスを通してユーザが取得しているサービスのための支払を行なうために使用されてもよく、ユーザは、自分のアクセスレベルに従って登録デバイスにアクセスすることができる。
【０１０３】
たとえば、ユーザは、クレジットカード情報と、広告掲示板上に表示すべきメッセージとをタイプ入力してもよい。広告掲示板用のデバイスアプリケーションは、広告掲示板上に表示すべきテキストを入力するためのフォーム、テキストを表示すべき時間を入力するためのフォーム、および支払用のクレジットカード情報を入力するためのフォームなどを含み得る。エンドユーザデバイス５５０は、フォームに入力すべき所望の情報を選択するために使用されてもよい。エンドユーザデバイス５５０はまた、広告掲示板用の支払アプリケーションを通して、登録デバイス１０８（たとえば広告掲示板）のサービスを手配するのに必要な支払情報を記入するために使用されてもよい。エンドユーザデバイス５５０はまた、必要に応じて追加の要求を行ない、選択された登録デバイスとやりとりするために使用されてもよい。
【０１０４】
ステップ５３８で、デバイスアプリケーション５５８はＵＩを更新し（５３８）、更新されたＵＩをエンドユーザデバイス５５０に表示してもよい。
【０１０５】
図６、図７および図８は、物理的ロケーション情報、デバイス情報およびデバイスアプリケーション情報などのマッピング情報をロケーションベースサービス（ＬＢＳ）システムサーバに格納するさまざまな順列を示す。図６は、いくつかの実施形態に従った、複数のデバイスの各々について単一のアプリケーションを含むマッピング情報を格納するＬＢＳシステムサーバの一例を示す。図７は、いくつかの実施形態に従った、単一のデバイスについて複数のアプリケーションを含むマッピング情報を格納するＬＢＳシステムサーバの一例を示す。図８は、いくつかの実施形態に従った、サービス属性に基づいて１つのデバイスについて１つ以上のアプリケーションを含むマッピング情報を格納するＬＢＳシステムサーバの一例を示す。図６、図７および図８において説明されるＬＢＳシステムは、図１のＬＢＳシステム１１４に対応し得る。加えて、ＬＢＳシステム１１４に格納された情報は、たとえばメモリまたはデータベース（たとえば図１のメモリ１１５）に格納され得る。図６、図７および図８に示すように、ＬＢＳシステムは、ロケーション、デバイス、およびそれらの対応するアプリケーションに関する情報を格納することができる。
【０１０６】
図６に示すように、各登録デバイスは、当該登録デバイスにアクセスしてそれを操作するための単一のアプリケーションにマッピングされ得る。たとえば、Location_1は複数の登録デバイス（たとえばDevice_1、Device_2、およびDevice_3など）を含んでいてもよく、複数の登録デバイス（たとえばDevice_1、Device_2、およびDevice_3など）の各々は、単一の対応するアプリケーション（たとえばApp_1、App_2およびApp_3など）を有していてもよい。エンドユーザがDevice_1を使用したい場合、エンドユーザがDevice_1を操作するために、対応するApp_1が、たとえばアプリケーションサーバを介してエンドユーザに提供されるであろう。たとえば、選択されたロケーション（たとえばLocation_1）についての検索結果は、Location_1にあるDevice_1、Device_2、およびDevice_3それぞれのためのApp_1、App_2およびApp_3の各々に対応するＵＲＬのリストを含み得る。エンドユーザがDevice_1のApp_1用のＵＲＬを選択すると、Device_1用のアプリケーションが起動され得る。
【０１０７】
図７に示すように、単一の登録デバイスが、当該登録デバイスにアクセスしてそれを操作するための複数のアプリケーションにマッピングされ得る。たとえば、Location_1は複数の登録デバイス（たとえばDevice_1、Device_2、およびDevice_3など）を含んでいてもよく、登録デバイス（たとえばDevice_1）は、複数の対応するアプリケーション（たとえばApp_D1_1、App_D1_2およびApp_D1_3など）を有していてもよい。したがって、エンドユーザがDevice_1を使用したい場合、エンドユーザがDevice_1を操作するために、複数の対応するアプリケーションがエンドユーザに提供されるであろう。たとえば、選択されたロケーション（たとえばLocation_1）についての検索結果は、Device_1のための複数のアプリケーション（たとえばApp_D1_1、App_D1_2およびApp_D1_3）の各々に対応する複数のＵＲＬを含み得る。
【０１０８】
図８に示すように、ＬＢＳシステムは、あるロケーション用のサービス属性に従って情報を格納することができる。サービス属性は、対応する登録デバイスにマッピングされてもよく、登録デバイスは、対応するデバイスアプリケーションにマッピングされてもよい。たとえば、ある特定のロケーション（たとえばLocation_1）用のサービス（たとえばService_1）が、そのサービスを実行できる１つ以上の登録デバイス（たとえばＤ１、Ｄ２、およびＤ３）にマッピングされてもよく、登録デバイス（たとえばＤ１、Ｄ２、およびＤ３）は、それらの対応する１つ以上のアプリケーション（たとえばApp_D1_1、App_D1_2、App_D2_1、App_D3_1など）にマッピングされる。上述の図６および図７と同様に、登録デバイスは単一の対応するデバイスアプリケーションを有していてもよく、または、登録デバイスは複数の対応するデバイスアプリケーションを有していてもよい。
【０１０９】
したがって、いくつかの実施形態によれば、ある物理的ロケーションを与えられると、ユニバーサルアプリケーションは、ロケーション情報に従って検索を行ない、登録デバイスを識別するために使用されてもよく、選択された登録デバイスを制御するためのアプリケーション（たとえばユニバーサルアプリケーションまたはデバイスアプリケーション）がエンドユーザに提供されてもよい。エンドユーザは、選択された登録デバイス用のアプリケーションを使用することにより、またはそれに代えてユニバーサルアプリケーションを使用することにより、選択された登録デバイスとやりとりすることができる。
【０１１０】
図９は、いくつかの実施形態に従って使用され得るコンピュータシステム９００の簡略ブロック図である。コンピュータシステム９００は、図１、図３および図５に示すようなエンドユーザデバイス１０２、ＬＢＳシステム１１４、アプリケーションサーバ１１２、登録デバイス１０８、およびプロバイダデバイス１２０といった、上述のデバイスの１つ以上を実現するために使用されてもよい。コンピュータシステム９００はさまざまなタイプのものであってもよく、モバイルデバイス、ハンドヘルドデバイス、ノートブックコンピュータ、デスクトップコンピュータ、ＩｏＴデバイス、または任意の好適な電子デバイスなどであるものの、それらに限定されない。また、コンピュータシステム９００は特定のブロックに関して説明されているが、これらのブロックは説明の便宜上規定されたものであり、構成部品のある特定の物理的配置を暗示するよう意図されてはいない、ということが理解されるべきである。いくつかの実施形態は、回路とソフトウェアとの任意の組合せを使用して実現された電子デバイスを含むさまざまな装置において実現され得る。コンピュータおよびネットワークの絶えず変化する性質により、図９に示すコンピュータシステム９００の説明は単に、例示のための一具体例として意図されている。図９に示すシステムよりも多い、または少ないコンポーネントを有する他の多くの構成が可能である。
【０１１１】
図９に示すように、コンピュータシステム９００は、処理サブシステム９０２と、ストレージサブシステム９０４と、ユーザ入力サブシステム９０６と、ユーザ出力サブシステム９０８と、ネットワークインターフェイスサブシステム９１０とを含む、複数のサブシステムを含む。図９に示す実施形態では、さまざまなサブシステムは、バスサブシステム９１２を介して互いに通信可能に結合される。バスサブシステム９１２は、コンピュータシステム９００のさまざまなコンポーネントおよびサブシステムが意図されるように互いに通信するようにするためのメカニズムを提供する。バスサブシステム９１２は単一のバスとして概略的に示されているが、バスサブシステムの代替的な実施形態は複数のバスを利用してもよい。
【０１１２】
１つ以上の集積回路（たとえば、１つ以上のシングルコアまたはマルチコアマイクロプロセッサまたはマイクロコントローラ）として実現され得る処理サブシステム９０２は、コンピュータシステム９００の動作を制御することができる。処理サブシステム９０２は、１つ以上の汎用プロセッサおよび／または１つ以上の専用プロセッサ（デジタル信号処理チップ、グラフィックス高速化プロセッサ、感知チップなど）を何ら限定されることなく含んでいてもよい。プロセッサは、１つ以上のマルチコアプロセッサを含んでいてもよい。さまざまな実施形態では、処理サブシステム９０２は、さまざまな機能を行なわせるさまざまなプログラム（たとえばプログラムコード、命令）を実行でき、並行して実行される複数のプログラムまたはプロセスを維持できる。任意の所与の時間に、実行されるべきプログラムコードの一部またはすべてが、処理サブシステム９０２に、および／またはストレージサブシステム９０４に常駐することができる。
【０１１３】
好適なプログラミングを通して、処理サブシステム９０２は、コンピュータシステム９００のためのさまざまな機能性を提供することができる。たとえば、処理サブシステム９０２は、コンピュータシステム９００にインストールされた１つ以上のアプリケーション９１６を実行することができる。アプリケーション９１６は、アプリケーションのさまざまな機能性のためのさまざまな方法を行なうことができる。
【０１１４】
ストレージサブシステム９０４は、処理サブシステム９０２の１つ以上の処理部（たとえばプロセッサ）によって実行され得るコード（命令）および情報を格納するための非一時的媒体を提供する。たとえば、ストレージサブシステム９０４は、ある実施形態の機能性を提供するデータ構造および基本プログラミング（たとえばアプリケーション９１６）を格納するように構成されてもよい。ストレージサブシステム９０４はまた、いくつかの実施形態に従って使用されるデータを格納するためのリポジトリを提供してもよい。たとえば、あるアプリケーションに関連付けられた構成データが、ストレージサブシステム９０４によって格納されてもよい。プログラムおよび／またはデータは、不揮発性ストレージに格納され、プログラム実行中に全体または部分が揮発性ワーキングメモリにコピーされ得る。ストレージサブシステム９０４は、たとえばディスク、フラッシュメモリ、または任意の他の記憶媒体を任意の組合せで使用して実現されてもよく、揮発性および／または不揮発性ストレージを要望通り含んでいてもよい。
【０１１５】
ある実施形態では、ストレージサブシステム９０４は、メモリサブシステムとファイル／ディスクストレージサブシステムとを含んでいてもよい。メモリサブシステムは、プログラム実行中の命令およびデータの格納のためのメインランダムアクセスメモリ（random access memory：ＲＡＭ）、固定命令が格納される読出し専用メモリ（read only memory：ＲＯＭ）、フラッシュメモリなどといった複数のメモリを含んでいてもよい。ある実施形態では、オペレーティングシステム、デバイスドライバ、実行可能ライブラリ、および／または、１つ以上のアプリケーションプログラム９１６などの他のコード、といったさまざまなソフトウェア要素が、システムメモリ内に位置していてもよい。ファイルストレージサブシステムは、プログラムおよびデータファイル用の持続性（不揮発性）ストレージを提供してもよく、ハードディスクドライブ、フロッピー（登録商標）ディスクドライブおよび関連付けられたリムーバブル媒体、コンパクトディスク読出し専用メモリ（Compact Disk Read Only Memory：ＣＤ−ＲＯＭ）ドライブ、光ドライブ、リムーバブル媒体カートリッジ、ローカルおよび／またはネットワークアクセス可能ストレージ、および他の同様の記憶媒体を含んでいてもよい。
【０１１６】
ユーザ入力デバイス９０６は、マウス、キーボード、タッチパッド、タブレット、ユーザ選択可能ボタンなどであるもののそれらに限定されない、コンピュータシステム９００に入力を提供するための１つ以上の異なるメカニズムを含んでいてもよい。ユーザ入力デバイス９０６は、タッチパッド、タッチスクリーン、スクロールホイール、クリックホイール、ダイヤル、ボタン、スイッチ、キーパッド、マイクロホンなどを含み得る。
【０１１７】
ユーザ出力デバイス９０８は、ディスプレイスクリーン、表示灯、スピーカ、ヘッドホン端子などであるもののそれらに限定されない、コンピュータシステム９００から情報を出力するための１つ以上の異なるメカニズムを、サポート電子部品（たとえば、デジタル−アナログまたはアナログ−デジタル変換器、信号プロセッサなど）とともに含み得る。
【０１１８】
コンピュータシステム９００は、コンピュータシステム９００との間でのデータ通信を可能にし容易にするネットワークインターフェイスサブシステム９１０を含んでいてもよい。ネットワークインターフェイスサブシステム９１０は、モデム、ネットワークカード（無線または有線）、赤外線通信デバイス、無線通信デバイスおよび／またはチップセット（ブルートゥース（登録商標）デバイス、８０２．１１デバイス、ＷｉＦｉデバイス、ＷｉＭａｘデバイス、移動体通信設備など）などを、何ら限定されることなく含み得る。ネットワークインターフェイスサブシステム９１０は、ネットワーク、他のコンピュータシステム、および／またはここに説明された任意の他のデバイスとデータが交換され得るようにしてもよい。たとえば、アプリケーション共有システムを実現するためにシステム９００が使用される場合、ネットワークインターフェイスサブシステム９１０は、１つ以上のエンドユーザデバイスとの通信を容易にしてもよい。いくつかの実施形態では、ネットワークインターフェイス９１０は、有線ネットワーク接続性（たとえばイーサネット（登録商標））を提供できる。ネットワークインターフェイス９１０は、ハードウェア（たとえば、アンテナ、変調器／復調器、エンコーダ／デコーダ、ならびに他のアナログおよび／またはデジタル信号処理回路）とソフトウエアコンポーネントとの組合せを使用して実現され得る。
【０１１９】
ここに使用されるような「マシン読取可能媒体」および「コンピュータ読取可能媒体」という用語は、コンピュータシステムを特定のやり方で動作させるデータの提供に関与するあらゆる非一時的媒体を指す。コンピュータシステム９００を使用して実現された一実施形態では、さまざまなコンピュータ読取可能媒体が、命令／コードを実行のためにプロセッサ９０２に提供することに関与していてもよく、および／または、そのような命令／コードを格納するために使用されてもよい。コンピュータ読取可能媒体は、不揮発性媒体および揮発性媒体といった多くの形を取ってもよい。
【０１２０】
上術の方法、システム、およびデバイスは例である。さまざまな実施形態はさまざまな手順または構成要素を適宜省略し、置換し、または追加してもよい。たとえば、代替的な構成では、説明された方法は、説明されたものとは異なる順序で行なわれてもよく、および／または、さまざまな段階が追加され、省略され、および／または組合されてもよい。ある実施形態に関して説明された特徴が、さまざまな他の実施形態において組合されてもよい。実施形態の異なる局面および要素が同様の態様で組合されてもよい。技術は進化するため、要素の多くは、この開示の範囲をそれらの特定の例に限定しない例である。
【０１２１】
説明では、実施形態の完全な理解を提供するために、特定の詳細が与えられる。しかしながら、実施形態はこれらの特定の詳細がなくても実践され得る。たとえば、実施形態を不明瞭にしないように、周知の回路、プロセス、アルゴリズム、構造、および手法は、不必要な詳細なく示されてきた。この説明は例示的な実施形態を提供するに過ぎず、この発明の範囲、利用可能性、または構成を限定するよう意図されてはいない。むしろ、実施形態の上述の説明は、実施形態を実現するための実施可能な説明を当業者に提供するであろう。実施形態の精神および範囲から逸脱することなく、要素の機能および構成においてさまざまな変更を加えてもよい。
【０１２２】
例示的な実施形態が説明されてきたが、さまざまな修正、変更、代替的構造、および均等物も説明される。いくつかの実施形態は、ある特定のデータ処理環境内での動作に制限されず、複数のデータ処理環境内で自由に動作する。加えて、ある特定の一連のトランザクションおよびステップを使用してある実施形態を説明してきたが、実施形態の範囲が説明された一連のトランザクションおよびステップに限定されないことは、当業者には明らかであるはずである。いくつかのフローチャートは動作を順次プロセスとして説明しているが、動作の多くは並列にまたは並行して行なわれ得る。加えて、動作の順序は並べ替えられてもよい。プロセスは、図に含まれない追加のステップを有していてもよい。
【０１２３】
また、ある実施形態がハードウェアとソフトウェアとのある特定の組合せを使用して説明されてきたが、ハードウェアとソフトウェアとの他の組合せも実施形態の範囲内にあるということが認識されるべきである。ある実施形態はハードウェアでのみ、またはソフトウェア（たとえば、コードプログラム、ファームウェア、ミドルウェア、マイクロコードなど）でのみ、またはそれらの組合せを使用して実現されてもよい。ここに説明されたさまざまなプロセスは、同じプロセッサまたは異なるプロセッサ上で任意の組合せで実現され得る。したがって、構成要素またはモジュールがある動作を行なうように構成されるとして説明される場合、そのような構成は、たとえば、動作を行なうように電子回路を設計することによって、動作を行なうようにプログラマブル電子回路（マイクロプロセッサなど）をプログラミングすることによって、たとえばコンピュータ命令またはコードを実行することによって、またはそれらの任意の組合せによって遂行され得る。プロセスは、プロセス間通信用の従来の手法を含むもののそれらに限定されないさまざまな手法を使用して通信可能であり、異なる対のプロセスが異なる手法を使用してもよく、または、同じ対のプロセスが異なる時間に異なる手法を使用してもよい。
【０１２４】
本開示に説明されたソフトウエアコンポーネントまたは機能のいずれも、たとえばＪａｖａ（登録商標）、Ｃ＋＋またはパールなどの任意の好適なコンピュータ言語を使用して、たとえば従来のまたはオブジェクト指向の手法を使用して、プロセッサによって実行されるべきソフトウェアコードとして実現されてもよい。ソフトウェアコードは、格納および／または送信のためにコンピュータ読取可能媒体上に一連の命令またはコマンドとして格納されてもよく、好適な媒体は、ランダムアクセスメモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、ハードドライブまたはフロッピーディスクなどの磁気媒体、もしくは、コンパクトディスク（ＣＤ）またはＤＶＤ（デジタル多用途ディスク）などの光学媒体、フラッシュメモリなどを含む。
【０１２５】
そのようなプログラムはまた、インターネットを含む、さまざまなプロトコルに準拠する有線ネットワーク、光ネットワーク、および／または無線ネットワークを介して、送信用に適合された搬送波信号を使用して符号化され送信されてもよい。そのため、一実施形態に従ったコンピュータ読取可能媒体は、そのようなプログラムを用いて符号化されたデータ信号を使用して作成されてもよい。プログラムコードを用いて符号化されたコンピュータ読取可能媒体は、互換性のあるデバイスとともにパッケージ化されてもよく、または（たとえば、インターネットダウンロードを介して）他のデバイスとは別個に提供されてもよい。そのようなコンピュータ読取可能媒体はいずれも、単一のコンピュータ製品（たとえば、ハードドライブ、ＣＤ、またはコンピュータシステム全体）上もしくは当該製品内に常駐してもよく、システムまたはネットワーク内の異なるコンピュータ製品上もしくは当該製品内に存在してもよい。コンピュータシステムは、ここに述べた結果のいずれかをユーザに提供するためのモニタ、プリンタ、または他の好適なディスプレイを含んでいてもよい。
【０１２６】
ここに説明された方法のいずれも、ステップを行なうように構成され得る１つ以上のプロセッサを含むコンピュータシステムを用いて全面的にまたは部分的に行なわれてもよい。このため、実施形態は、ここに説明された方法のいずれかにおけるステップを行なうように構成されたコンピュータシステムに向けられてもよく、当該コンピュータシステムは、それぞれのステップまたはそれぞれの群のステップを行なう異なるコンポーネントを潜在的に有する。番号が付いたステップとして提示されているものの、ここでの方法のステップは、同時にまたは異なる順序で行なわれ得る。加えて、これらのステップの一部は、他の方法からの他のステップの一部とともに使用されてもよい。また、１つのステップの全体または一部がオプションであってもよい。加えて、方法のうちのいずれかにおけるステップのいずれかは、これらのステップを行なうためのモジュール、回路、または他の手段を用いて行なわれ得る。
【０１２７】
特定の実施形態の特定の詳細は、この発明の実施形態の精神および範囲から逸脱することなく、任意の好適な態様で組合されてもよい。しかしながら、この発明の他の実施形態は、各個々の局面、またはこれらの個々の局面の特定の組合せに関する特定の実施形態に向けられてもよい。
【０１２８】
この発明の例示的な実施形態の上述の説明は、例示および説明のために提示されてきた。それは、網羅的であるよう、またはこの発明を説明された形そのものに限定するよう意図されてはおらず、上述の教示に鑑みて多くの修正および変更が可能である。この発明の原理およびその実際の適用を最良に説明し、それにより当業者がこの発明をさまざまな実施形態において、および考えられる特定の使用に適するようなさまざまな修正を加えて最良に利用できるようにするために、実施形態は選択され説明された。
【０１２９】
明細書および図面はしたがって、限定的な意味ではなく例示的な意味で見なされるべきである。しかしながら、請求項で述べるようなより広範な精神および範囲から逸脱することなく、加減、削除、および他の修正および変更をそれに行なってもよい、ということは明らかであろう。このため、特定の例示的な実施形態が説明されてきたが、これらは限定的であるよう意図されない。さまざまな修正および均等物が、特許請求の範囲内にある。
【０１３０】
別段の指示が特にない限り、単数形での記載は「１つ以上」を意味するよう意図される。
【図１】
2018508895.tif 000003
【図２】
2018508895.tif 000004
【図３】
2018508895.tif 000005
【図４】
2018508895.tif 000006
【図５】
2018508895.tif 000007
【図６】
2018508895.tif 000008
【図７】
2018508895.tif 000009
【図８】
2018508895.tif 000010
【図９】
2018508895.tif 000011
【国際調査報告】
2018508895.tif 000012
2018508895.tif 000013