(57)【特許請求の範囲】
【請求項１】
システムであって、
少なくとも１つのコンピューティングデバイスと、
少なくとも１つの前記コンピューティングデバイスで実行可能なプロバイダ管理システムと、
を備え、
前記プロバイダ管理システムが実行された場合は、前記プロバイダ管理システムによって少なくとも１つの前記コンピューティングデバイスが、
複数のプロバイダに関連する複数のプロバイダデバイスから、複数のロケーションベースサービスゾーンを符号化するデータを受信することであって、個々の前記ロケーションベースサービスゾーンが、複数の前記プロバイダのそれぞれの前記プロバイダに関連付けられている、前記データを受信することと、
複数の前記ロケーションベースサービスゾーンをデータベースに保存することと、
クライアントデバイスに通知を送信することであって、前記通知が、少なくとも前記ロケーションベースサービスゾーンの１以上のパラメータと、それぞれの前記プロバイダに関連付けられる少なくとも１つの前記ロケーションベースサービスゾーンに割り当てられるトークン識別子とを含み、それぞれの前記プロバイダのアイデンティティが前記クライアントデバイスに対して匿名のままである、前記通知を送信することと
を少なくとも行う、システム。
【請求項２】
前記プロバイダ管理システムが実行された場合は、前記プロバイダ管理システムによって少なくとも１つの前記コンピューティングデバイスが、さらに、
複数のプロバイダ識別子をランダムに生成することであって、個々の前記プロバイダ識別子が、複数の前記プロバイダの個々の前記プロバイダに固有のものである、前記プロバイダ識別子をランダムに生成すること
を少なくとも行う、請求項１に記載のシステム。
【請求項３】
前記プロバイダ管理システムが実行された場合は、前記プロバイダ管理システムによって少なくとも１つの前記コンピューティングデバイスが、さらに、
複数の前記プロバイダのそれぞれの前記プロバイダに関連付けられた１以上の前記ロケーションベースサービスゾーンを分析すること
を少なくとも行う、請求項１又は２に記載のシステム。
【請求項４】
前記プロバイダ管理システムが実行された場合は、前記プロバイダ管理システムによって少なくとも１つの前記コンピューティングデバイスが、さらに、
特定の前記プロバイダに関連付けられた前記ロケーションベースサービスゾーンの数、前記特定のプロバイダに関連付けられたそれぞれの前記ロケーションベースサービスゾーンに関連するそれぞれの位置、前記特定のプロバイダに関連する前記通知の数、又は前記特定のプロバイダに関連付けられたいずれかの前記ロケーションベースサービスゾーンに関連するアクティビティ時間、のうちの少なくとも１つに少なくとも一部基づいて、複数の前記プロバイダのうちの前記特定の前記プロバイダによる不正使用の可能性を検出すること
を少なくとも行う、請求項１乃至３のいずれか１項に記載のシステム。
【請求項５】
前記プロバイダ管理システムが実行された場合は、前記プロバイダ管理システムによって少なくとも１つの前記コンピューティングデバイスが、さらに、
前記特定のプロバイダによる前記不正使用の可能性の検出に応答して動作を開始することであって、前記動作が、前記特定の前記プロバイダに関連付けられたいずれかの前記ロケーションベースサービスゾーンを終了させること、又は前記不正使用の可能性のある前記特定のプロバイダに不正使用通知を送信することのうちの少なくとも一方を含む、前記開始すること
を少なくとも行う、請求項４に記載のシステム。
【請求項６】
前記プロバイダ管理システムが実行された場合は、前記プロバイダ管理システムによって少なくとも１つの前記コンピューティングデバイスが、さらに、
前記クライアントデバイスからイベント通知を受信することであって、前記イベント通知が、イベント情報と、特定のロケーションベースサービスゾーンに割り当てられる特定のトークン識別子とを含む、前記イベント通知を受信すること
を少なくとも行う、請求項１乃至５のいずれか１項に記載のシステム。
【請求項７】
前記プロバイダ管理システムが実行された場合は、前記プロバイダ管理システムによって少なくとも１つの前記コンピューティングデバイスが、さらに、
特定のロケーションベースサービスゾーンに割り当てられる前記特定のトークン識別子に少なくとも一部基づいて、前記イベント通知に関連付けられた複数の前記プロバイダのうちのそれぞれの前記プロバイダを識別すること
を少なくとも行う、請求項６に記載のシステム。
【請求項８】
前記プロバイダ管理システムが実行された場合は、前記プロバイダ管理システムによって少なくとも１つの前記コンピューティングデバイスが、さらに、
識別した前記プロバイダにプッシュ通知を送信することであって、前記プッシュ通知が前記イベント情報を含む、前記プッシュ通知を送信すること
を少なくとも行う、請求項７に記載のシステム。
【請求項９】
方法であって、
少なくとも１つのコンピューティングデバイスを介して、クライアントデバイスからトリガイベントのトリガイベント通知を受信することであって、前記トリガイベントが前記クライアントデバイスによって監視されているロケーションベースサービスゾーンに関連付けられ、前記トリガイベント通知が前記ロケーションベースサービスゾーンに割り当てられるトークン識別子を含む、前記トリガイベント通知を受信することと、
少なくとも１つの前記コンピューティングデバイスを介して、前記トークン識別子に少なくとも一部基づいて複数のプロバイダから特定の前記プロバイダを識別することであって、複数の前記プロバイダの個々の前記プロバイダが、別々の前記ロケーションベースサービスゾーンに関連付けられている、前記識別することと、
少なくとも１つの前記コンピューティングデバイスを介して、前記トリガイベント通知を含む通知を、前記トリガイベント通知の受信と前記特定のプロバイダの識別とに応答して、前記特定のプロバイダと関連したプロバイダデバイスに送信することと
を含み、
前記ロケーションベースサービスゾーンが、複数の前記ロケーションベースサービスゾーンの１つであり、
前記特定のプロバイダが、複数の前記ロケーションベースサービスゾーンに関連付けられた複数の前記プロバイダの１つであり、
前記方法は、
少なくとも１つの前記コンピューティングデバイスを介して、複数の前記ロケーションベースサービスゾーンのデータベースを維持することであって、複数の前記ロケーションベースサービスゾーンの個々の前記ロケーションベースサービスゾーンが、複数の前記プロバイダのそれぞれの前記プロバイダに関連付けられている、前記維持すること
をさらに含む方法。
【請求項１０】
前記クライアントデバイスで実行される単一のクライアントアプリケーションが、複数の前記プロバイダのサブセットに関連付けられた複数の前記ロケーションベースサービスゾーンのサブセットを監視するように構成されている、請求項９に記載の方法。
【請求項１１】
少なくとも１つの前記コンピューティングデバイスを介して、前記クライアントデバイスに別の前記通知を送信することであって、他方の前記通知が、前記ロケーションベースサービスゾーンに割り当てられる前記トークン識別子と、前記ロケーションベースサービスゾーンに関連する１以上のパラメータとを含む、前記送信すること
をさらに含む、請求項９又は１０に記載の方法。
【請求項１２】
前記ロケーションベースサービスゾーンに関連付けられている前記特定のプロバイダが、前記クライアントデバイスに対して匿名のままである、請求項１１に記載の方法。
【請求項１３】
少なくとも１つの前記コンピューティングデバイスを介して、前記プロバイダに関連付けられた前記ロケーションベースサービスゾーンの数量、前記プロバイダに関連付けられた前記ロケーションベースサービスゾーンに関連する位置、前記プロバイダに関連する前記通知の数、又は前記プロバイダに関連付けられた前記ロケーションベースサービスゾーンに関連するアクティビティ時間、のうちの少なくとも１つに少なくとも一部基づいて、前記プロバイダによる不正使用を検出すること
をさらに含む、請求項９乃至１２のいずれか１項に記載の方法。
【請求項１４】
前記クライアントデバイスが、前記ロケーションベースサービスゾーンを監視する複数の前記クライアントデバイスの１つであり、
複数の前記クライアントデバイスに、前記不正使用の検出に応答して別の前記通知を送信することであって、他方の前記通知により、複数の前記クライアントデバイスが、前記ロケーションベースサービスゾーンに関連付けられた情報を削除する、前記送信すること
をさらに含む、請求項１３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
＜関連出願の相互参照＞
本出願は、２０１７年５月２２日出願の「ＬＯＣＡＴＩＯＮ−ＢＡＳＥＤ  ＳＥＲＶＩＣＥ  ＺＯＮＥ  ＭＡＮＡＧＥＭＥＮＴ  ＦＯＲ  ＭＵＬＴＩＰＬＥ  ＰＲＯＶＩＤＥＲＳ」と題される米国特許出願第１５／６０１，５３８号の利益及びそれへの優先権を主張し、その内容は、その全体が参照により本明細書に援用される。
【背景技術】
【０００２】
地理的フェンス、即ち「ジオフェンス（geofences）」、及びビーコンは、ロケーションベースサービスに関連するマーケティング目的のために使用されることが可能である。たとえば、モバイルデバイスがジオフェンスの境界によって画定される地理的領域に入るときに、ジオフェンスを使用して、通知をモバイルデバイスへ提供することが可能である。同様に、モバイルデバイスが無線信号をブロードキャストするビーコンに物理的に近いときに、モバイルデバイスは、ブロードキャストされた信号を受信することが可能であり、通知は、トリガされてもよい。ジオフェンス及び／又はビーコンと関連する通知は、ロケーションベースサービスに関し得る。
【０００３】
本開示の多くの態様は、以下の図面を参照して、より良好に理解されることができる。図面の構成要素は、必ずしも縮尺通りになっているとは限らず、代わりに本開示の原理を明確に例示することに重点を置いている。さらに図面中で、同様の参照番号は、いくつかの図面全体にわたって対応する部分を指定する。
【図面の簡単な説明】
【０００４】
【図１Ａ】本開示のさまざまな実施形態に従い、クライアントデバイスによって監視されるロケーションベースサービスゾーンを含むアクティブゾーンを、クライアントデバイスの制限に部分的に基づき作成する、例示的なシナリオを示す図である。
【図１Ｂ】本開示のさまざまな実施形態に従い、時間制約されたロケーションベースサービスゾーンの管理に関する例示的なシナリオを示す図である。
【図１Ｃ】本開示のさまざまな実施形態に従い、ロケーションベースサービスゾーンの複数のプロバイダの管理に関する例示的なシナリオを示す図である。
【図２】本開示のさまざまな実施形態に従う、ネットワーク環境の概略ブロック図である。
【図３】本開示のさまざまな実施形態に従い、図２のネットワーク環境内のコンピューティング環境において実行されるアクティブゾーン管理システムの部分として実装される機能性の一例を示すフローチャートである。
【図４】本開示のさまざまな実施形態に従い、図２のネットワーク環境内のコンピューティング環境において実行されるアクティブゾーン管理システムの部分として実装される機能性の一例を示すフローチャートである。
【図５】本開示のさまざまな実施形態に従い、図２のネットワーク環境内のコンピューティング環境において実行されるアクティブゾーン管理システムの部分として実装される機能性の一例を示すフローチャートである。
【図６】本開示のさまざまな実施形態に従い、図２のネットワーク環境においてクライアントデバイス内で実行されるクライアントアプリケーションの部分として実装される機能性の一例を示すフローチャートである。
【図７】本開示のさまざまな実施形態に従い、図２のネットワーク環境内のコンピューティング環境において実行される時間窓ゾーン管理システムの部分として実装される機能性の一例を示すフローチャートである。
【図８】本開示のさまざまな実施形態に従い、図２のネットワーク環境内のコンピューティング環境において実行される時間窓ゾーン管理システムの部分として実装される機能性の一例を示すフローチャートである。
【図９】本開示のさまざまな実施形態に従い、図２のネットワーク環境内のコンピューティング環境において実行されるマルチプロバイダ管理システムの部分として実装される機能性の一例を示すフローチャートである。
【図１０】本開示のさまざまな実施形態に従い、図２のネットワーク環境内のコンピューティング環境において実行されるマルチプロバイダ管理システムの部分として実装される機能性の一例を示すフローチャートである。
【図１１】本開示のさまざまな実施形態に従い、図２のネットワーク環境内のコンピューティング環境において実行されるマルチプロバイダ管理システムの部分として実装される機能性の一例を示すフローチャートである。
【図１２】本開示のさまざまな実施形態に従い、図２のネットワーク環境において使用されるコンピューティング環境の一例の説明を提供する概略ブロック図である。
【発明を実施するための形態】
【０００５】
本開示は、ロケーションベースサービスゾーン（たとえば、ジオフェンス、ビーコンなど）を管理する、さまざまなシステム及び方法に関する。本開示のいくつかの実施形態は、ユーザデバイスの制限を上回らずに、包括的な１セットのロケーションベースサービスゾーンを含むユーザデバイスを囲む動的なサイズ領域を管理して、作成することに関する。本開示の別の実施形態は、ある特定の時間窓中でのみアクティブである場合があるロケーションベースサービスゾーンを管理することに関する。本開示の別の実施形態は、位置固有ユーザエクスペリエンスを提供する複数のプロバイダについてのロケーションベースサービスゾーンを管理することに関する。複数のプロバイダについてのロケーションベースサービスゾーンの管理を一元化することによって、他のプロバイダによる干渉なしで、プロバイダがそれらのそれぞれのロケーションベースサービスゾーンを安全な方式で独立して管理することを可能にしたままで、制約され共有されたリソースについてのユーザデバイス上での競合を制限してもよい。
【０００６】
ロケーションベースサービスゾーンの実施例は、地理的フェンス（「ジオフェンス」）及びビーコンを含む。ジオフェンスは、地理的座標及び半径の組み合わせのような、仮想地理的境界と定義されることが可能である。たとえば、ジオフェンスは、ユーザが特定のプロバイダと関連するロケーションベースサービスを経験し得る領域を画定してもよい。ジオフェンス領域は、ユーザが経験したい場合がある特定のロケーションベースサービスに対応する領域を囲む仮想境界線によって形成される、又は画定されることが可能である。ジオフェンスの内側領域は、いずれかの適切なサイズ、及びいずれかの適切な形状であってもよい。仮想境界線は、二次元又は三次元境界線に対応することができる。たとえば、プロバイダがデリバリサービスに関連すると仮定する。二次元境界線はデリバリ位置を中心とする領域を含むことができ、三次元境界線はデリバリ位置の高さ又は高度を含んでもよい。たとえば、三次元境界線は、建物の特定の階又はスイートにジオフェンスを置くために、高さ又は高度を利用してもよい。
【０００７】
ビーコンは、無線信号をブロードキャストするように構成されるデバイスを含んでもよい。デリバリサービスの実施例を使用して、プロバイダデバイスは、プロバイダデバイスの位置に関連する無線信号をブロードキャストするビーコンを含んでもよい。ユーザデバイスがビーコンの近接内にあるときに、ユーザデバイスは、無線信号を受信することにより、ビーコンと関連するイベント通知（たとえば、メッセージを表示する、近接位置のプロバイダデバイスを通知するなど）をトリガすることが可能である。
【０００８】
サービスプロバイダ（たとえば、モバイルストア、モバイルデリバリサービス、実店舗など）は、ロケーションベースサービスゾーンを作成して、これらのサービスに関連するユーザエクスペリエンスを開始してもよい。１つの非限定的な実施例において、プロバイダは、モバイルデリバリ位置においてマーチャントが販売する物品と関連付けられてもよい。各デリバリ位置は、それぞれのロケーションベースサービスゾーンと関連付けられてもよい。たとえば、マーチャントが位置Ａにおいて物品を販売しているときに、マーチャント位置を囲む境界を画定するジオフェンスを作成してもよい。ジオフェンスを監視しているユーザデバイスがジオフェンスによって画定される境界を横切るときに、クライアントデバイスは、ジオフェンスを認識し、ジオフェンスと関連するアクションを実行してもよい（たとえば、マーチャント位置を含むメッセージを表示し、通知をプロバイダへ送信して集荷のための物品を準備するなど）。
【０００９】
本開示の１つの実施形態は、特定のユーザデバイスについてのアクティブゾーンを管理し、作成することに関する。アクティブゾーンは、ユーザデバイスの制限を越えない、包括的な１セットのロケーションベースサービスゾーンを含む動的なサイズのジオフェンス領域である。クライアントデバイスは、ロケーションベースサービスゾーンを含むアクティブゾーンをアクティブゾーン管理システムから受信し、このアクティブゾーン中に含まれる位置サービスゾーンを監視することが可能である。
【００１０】
図１Ａは、本開示のさまざまな実施形態に従い、クライアントデバイス１０３によって監視される、複数のロケーションベースサービスゾーン１０１（図２）を含む、アクティブゾーン１００の作成を示す例示的なシナリオを描画する図である。この実施例において、クライアントデバイス１０３は、ハンドヘルドモバイルデバイス（たとえば、タブレット、スマートフォンなど）に対応する。ロケーションベースサービスゾーン１０１は、理解されることができるように、ジオフェンス１０６（たとえば、１０６ａ、１０６ｂ、１０６ｃ、１０６ｄ、１０６ｅ、１０６ｆ、１０６ｇ）、ビーコン１０９（たとえば、１０９ａ、１０９ｂ、１０９ｃ、１０９ｄ）、及び／又はいずれかの他のタイプのロケーションベースサービスゾーン１０１を含むことが可能である。クライアントデバイス１０３の制限に部分的に基づきアクティブゾーン１００を作成する。たとえば、異なるタイプのクライアントデバイス１０３は、クライアントデバイス１０３がサポートすることが可能である、ロケーションベースサービスゾーン１０１の数に関する制限を有してもよい。これらの制限は、クライアントデバイス１０３の電力使用量、メモリ使用量、及び／又はプロセッサ使用量を最適化するために、クライアントデバイス１０３によって課せられてもよい。
【００１１】
いくつかの実施形態において、クライアントデバイス１０３の位置を決定し、所定の半径に従い、このクライアントデバイス位置を含むアクティブゾーン１００を作成する。たとえば、いくつかの実施形態において、クライアントデバイス１０３の位置に中心点、及びいくつかの所定の値の半径（たとえば、１キロメートル（ｋｍ）、５ｋｍ、２５ｋｍなど）を有するアクティブゾーン１００を作成してもよい。アクティブゾーン１００を作成すると、このアクティブゾーン１００内のロケーションベースサービスゾーン１０１を識別し得る。たとえば、図１Ｂにおいて、ジオフェンス１０６ａ〜ｆ及びビーコン１０９ａ〜ｃは、アクティブゾーン１００内にあると識別されるが、ジオフェンス１０６ｇ及びビーコン１０９ｄは、アクティブゾーン１００内で識別されない。
【００１２】
いくつかの実施形態において、ロケーションベースサービスゾーン１０１がアクティブゾーン１００内にない場合、アクティブゾーン１００は、元のアクティブゾーン１００の外側に位置している場合があるロケーションベースサービスゾーン１０１を含むまで拡大され得る。たとえば、アクティブゾーン１００は、クライアントデバイス位置から１ｋｍ内の領域を含むように最初に作成されてもよい。しかしながら、ロケーションベースサービスゾーン１０１がアクティブゾーン１００によって占められる領域内にない場合、アクティブゾーン１００は、より大きな領域（たとえば、クライアントデバイス位置から２５ｋｍ）を含むまで拡大されてもよい。
【００１３】
いくつかの実施形態において、ロケーションベースサービスゾーン１０１をアクティブゾーン１００内で識別しない場合、クライアントデバイス１０３は、監視するためのロケーションベースサービスゾーン１０１がないことが通知され得る。他の実施形態において、アクティブゾーン１００内のロケーションベースサービスゾーン１０１の量は、クライアントデバイス１０３によってサポートされるロケーションベースサービスゾーン１０１の最大閾値を超える場合がある。ロケーションベースサービスゾーン１０１の量がクライアントデバイス１０３によってサポートされる最大閾値を超えるときに、ある特定の識別されたロケーションベースサービスゾーン１０１は、アクティブゾーン１００から除外されることが可能である。ロケーションベースサービスゾーン１０１を特定のアクティブゾーン１００から除外するか、このアクティブゾーン中に含むかを判定すし得る因子は、たとえば、理解されることが可能であるように、クライアントデバイス制限、ロケーションベースサービスゾーン１０１と関連するサービスがユーザ（たとえば、単一のユーザ）を標的とするか、広く（たとえば、複数のユーザを）標的とするかどうか、特定のロケーションベースサービスゾーン１０１のアクティブステータス、それぞれのサービスについてクライアントデバイスによるオプトインステータス、及び／又はいずれかの他の因子を含んでもよい。
【００１４】
本開示の別の実施形態は、時間制約されたロケーションベースサービスゾーン１０１（図２）の時間窓ゾーン管理に関する。図１Ｂは、クライアントデバイス１０３がロケーションベースサービスゾーン１０１に入る例示的なシナリオ、及びクライアントデバイス１０３がロケーションベースサービスゾーン１０１に入ることに応答する、コンピューティング環境２０３（図２）内で時間窓ゾーン管理システム１１２のビヘイビアを示す。図１Ｂの実施例は、ロケーションベースサービスゾーン１０１をジオフェンス１０６として示すが、このロケーションベースサービスゾーン１０１は、ビーコン１０９（図１Ａ）であることも可能である。
【００１５】
さまざまな実施形態に従い、ロケーションベースサービスゾーン１０１は、いくつかの期間中にアクティブであり、他の期間中に非アクティブであってもよい。たとえば、これらの期間は、所定のスケジュール（たとえば、１時間毎に１分）、１週間のうちの選択日（たとえば、月曜日、水曜日、金曜日）、業務時間中の平日、週末のみ、営業時間中の週末、１年のうちの選択季節中などにアクティブであってもよい。他の実施形態において、プロバイダデバイス１１５が特定のロケーションベースサービスゾーンの位置内にあるときに、ロケーションベースサービスゾーン１０１だけがアクティブであってもよい。
【００１６】
クライアントデバイス１０３がジオフェンス１０６によって画定される（又はビーコンによってブロードキャストされる通信を受信することが可能である場所によって画定される）地理的領域に入るときに、クライアントデバイス１０３は、トリガイベント通知１１７をコンピューティング環境２０３（図２）内の時間窓ゾーン管理システム１１２へ送信してもよい。さまざまな実施形態に従い、時間窓ゾーン管理システム１１２は、トリガイベント通知１１７を受信することに応答して、ロケーションベースサービスゾーン１０１がアクティブであるか、非アクティブであるかどうかを判定してもよい。特定のロケーションベースサービスゾーン１０１のアクティブステータスは、理解されることが可能であるように、クライアントデバイスからのトリガイベント通知１１７を受信することと関連する時間、クライアントデバイス設定（たとえば、クライアントデバイス１０３がロケーションベースサービスゾーンと関連するサービスによってオプトインされるかどうか）、ユーザアカウント設定、ロケーションベースサービスゾーン１０１と関連するパラメータ（たとえば、アクティブ期間、特定のユーザ又は複数のユーザに標的とされる、ジオフェンス座標への更新など）、コンピューティング環境２０３と関連するクロック、及び／又は因子に少なくとも部分的に基づくことが可能である。
【００１７】
図１Ｂの実施例において、クライアントデバイス１０３と関連するユーザが第一時間１１８及び第二時間１２１にジオフェンス１０６によって画定される地理的領域中へ入ると仮定する。さらに、プロバイダデバイス１１５と関連するプロバイダがデリバリサービスであり、ユーザがこのプロバイダによる集荷を３：００ｐｍにスケジューリングしたと仮定する。この実施例において、ジオフェンス１０６は、プロバイダデバイス１１５が置かれる地理的領域に関連してもよい。ユーザがジオフェンス１０６によって画定される地理的領域に第一時間１１８に入るときに、ジオフェンスは、アクティブではなく、クライアントデバイス１０３は、ジオフェンス１０６を監視していない。したがって、クライアントデバイス１０３は、アクションを取っていない。
【００１８】
いくつかの例示的なシナリオにおいて、クライアントデバイス１０３は、ジオフェンス１０６が非アクティブであるインディケーションなしでジオフェンス１０６を監視してもよく、トリガイベント通知１１７をコンピューティング環境２０３の時間窓ゾーン管理システム１１２へ送信してもよい。しかしながら、この実施例において、時間窓ゾーン管理システム１１２は、ジオフェンス１０６がトリガイベント通知１１７のその時点で特定のクライアントデバイス１０３についてアクティブではないと判定してもよい。このようなものとして、時間窓ゾーン管理システム１１２は、クライアントデバイス１０３と関連するトリガイベントのプロバイダデバイス１１５を通知することを控え得る。加えて、時間窓ゾーン管理システム１１２は、ジオフェンス１０６が古い状態にあるクライアントデバイス１０３を報告する通知をクライアントデバイス１０３へ送信し、ジオフェンス１０６の監視を中止してもよい。
【００１９】
しかしながら、ジオフェンス１０６がアクティブになるときに、時間窓ゾーン管理システム１１２は、監視するためにジオフェンスパラメータ２４４（図２）をクライアントデバイス１０３へ送信してもよい。このようなものとして、クライアントデバイス１０３に関するユーザが第二時間１２１にジオフェンス１０６によって画定されるジオフェンス領域に入るときに、クライアントデバイス１０３は、トリガイベント通知１１７を時間窓ゾーン管理システム１１２へ送信してもよい。トリガイベント通知１１７の受信時に、時間窓ゾーン管理システム１１２は、第二時間１２１がスケジューリングされた集荷時間に対応するため、ジオフェンス１０６がアクティブであると判定してもよい。このようなものとして、時間窓ゾーン管理システム１１２は、通知１２４をプロバイダデバイス１１５へ送信してもよく、プロバイダデバイス１１５と関連するプロバイダは、クライアントデバイス１０３と関連するユーザの到着のために準備することが可能である。
【００２０】
本開示のさまざまな実施形態に従い、時間窓ゾーン管理システム１１２は、コンピューティング環境２０３と関連するクロックに頼り、特定のロケーションベースサービスゾーン１０１がアクティブであるか、非アクティブであるかを判定してもよい。たとえば、クライアントデバイス１０３と関連する時間は、たとえば、クライアントデバイスクロックに対する、クロックスキュー、異なる時間帯、又はユーザ変更などのさまざまな因子が原因で正確ではない場合がある。時間窓ゾーン管理システム１１２と関連するクロックに頼ることによって、時間窓ゾーン管理システム１１２は、ロケーションベースアクティブゾーンの一元管理を提供し、ロケーションベースアクティブゾーンのアクティブステータスを判定する際に信頼性を高めることが可能である。
【００２１】
本開示の別の実施形態は、複数のプロバイダと関連するロケーションベースサービスゾーン１０１（図２）の一元管理に関する。具体的に、図１Ｃは、プロバイダデバイス１１５ａ、１１５ｂ、及び１１５ｃが関連したロケーションベースサービスゾーン１０１についてのロケーションベースサービスゾーンデータをマルチプロバイダ管理システム１２７へすべて送信することが可能である例示的なシナリオを示す。順に、マルチプロバイダ管理システム１２７は、複数のプロバイダと関連するロケーションベースサービスゾーン１０１を含むクライアントデバイス１０３へ通知を送信することが可能である。マルチプロバイダ管理システム１２７は、複数のプロバイダがクライアントデバイス１０３上で実行する１以上のクライアントアプリケーション１３０（図２）を共有することを可能にする安全かつ隔離されたシステムである。また、マルチプロバイダ管理システム１２７は、プロバイダ要件の乱用又は侵害の検出に応答して、プロバイダがロケーションベースサービスゾーン１０１をクライアントデバイス１０３へ提供することを制御し、制約することが可能である。
【００２２】
図１Ｃの実施例において、プロバイダデバイス１１５ａは、ジオフェンス１０６ｈと関連付けられ、プロバイダデバイス１１５ｂは、ジオフェンス１０６ｉと関連付けられ、そしてプロバイダデバイス１１５ｃは、ジオフェンス１０６ｊと関連付けられる。図１Ｃの実施例は、ジオフェンス１０６を含むが、マルチプロバイダ管理システム１２７は、ビーコン１０９（図１Ａ）と関連するプロバイダを管理することも可能である。
【００２３】
マルチプロバイダ管理システム１２７は、さまざまなユーザが経験したサービスに関連してロケーションベースサービスゾーン１０１を使用する複数のプロバイダをサポートするように構成されることが可能である。さまざまな実施形態に従い、クライアントデバイス１０３上の単一のクライアントアプリケーション１３０は、複数のプロバイダと関連するロケーションベースサービスゾーン１０１を監視するように構成されてもよい。プロバイダは、同一のクライアントアプリケーションを共有してもよいが、各プロバイダが互いの知識なしで同時に存在することが可能であるように、マルチプロバイダ管理システム１２７は、さまざまなプロバイダを互いから隔離するように構成されることが可能である。たとえば、トリガイベントがクライアントデバイス１０３上で発生するときに、マルチプロバイダ管理システム１２７は、トリガイベントと関連付けられるプロバイダデバイス１１５のみに通知を送信するように構成されることが可能である。さまざまな実施形態に従い、ロケーションベースサービスゾーン１０１に関連してクライアントデバイス１０３への、及び／又はプロバイダデバイス１１５へのいかなる通知も特定のプロファイルに固有であるように、各プロバイダは、一意のトークン識別子と関連付けられてもよい。
【００２４】
いくつかの実施形態において、マルチプロバイダ管理システム１２７は、特定のプロバイダと関連するロケーションベースサービスゾーン１０１を分析するように構成されることが可能である。その結果、マルチプロバイダ管理システム１２７は、特定のプロバイダによる乱用を識別し、必要があれば、プロバイダによる深刻度のレベルに基づきアクションを実行することが可能であり得る。たとえば、乱用は、特定のロケーションベースサービスゾーン１０１についてのパラメータを誤って設定する（たとえば、ジオフェンスは特定の実店舗と関連付けられるが、この店舗付近にない）こと、クライアントデバイス１０３に過剰な数のロケーションベースサービスゾーン１０１のスパムを送ること、及び／又は理解されることが可能であるようないずれかの他のタイプの乱用を備えてもよい。
【００２５】
他の実施形態において、プロバイダと関連するアクションを分析し、プロバイダ及び／又は対応するロケーションベースサービスゾーン１０１が特定の１セットの要件に応じることを検証することが可能である。これらの要件は、たとえば、複数のロケーションベースサービスゾーン１０１、時間制約、１以上のロケーションベースサービスゾーン１０１間の間隔要件、単一のユーザを標的としたロケーションベースサービスゾーン１０１、複数のユーザを標的としたカバレッジロケーションベースサービスゾーン１０１、時間窓ロケーションベースサービスゾーン１０１、許可される、又は制約されるロケーションベースサービスゾーン１０１のタイプ、及び／又は理解されることが可能であるような要件のいずれかの他のタイプを含んでもよい。要件に応じることに失敗するプロバイダに応答して、マルチプロバイダ管理システム１２７は、プロバイダと関連するロケーションベースサービスゾーン１０１をクライアントデバイス１０３へ提供することを控えることが可能である。
【００２６】
他の実施形態において、マルチプロバイダ管理システム１２７は、クライアントデバイス１０３のデバイス設定を分析し、特定のクライアントデバイス１０３が受信をオプトインした、又はオプトアウトしたのはどのサービスかを決定することが可能である。その結果、マルチプロバイダ管理システム１２７は、特定のクライアントデバイス１０３へ送信するのはどのロケーションベースサービスゾーン１０１か、及び／又は特定のプロバイダと関連するロケーションベースサービスゾーン１０１をクライアントデバイス１０３へ提供するかどうかを決定することが可能である。他の実施形態において、クライアントデバイス１０３は、特定のロケーションベースサービスゾーン１０１と関連付けられる特定のプロバイダに気付かない場合がある。
【００２７】
以下の説明では、システム及びその構成要素の一般的な説明を提供した後に、その動作の考察を伴う。
【００２８】
図２を参照すると、種々の実施形態によるネットワーク環境２００が示される。ネットワーク環境２００は、ネットワーク２０６を介して互いにデータ通信する、コンピューティング環境２０３、クライアントデバイス１０３、及びプロバイダデバイス１１５を含む。ネットワーク２０６は、たとえば、インターネット、イントラネット、エクストラネット、ワイドエリアネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、有線ネットワーク、無線ネットワーク、ケーブルネットワーク、衛星ネットワーク、もしくは他の適切なネットワークなど、又は２つ以上のこれらのようなネットワークのいずれかの組み合わせを含む。
【００２９】
コンピューティング環境２０３は、たとえば、サーバコンピュータ又は計算能力を提供する任意の他のシステムを含んでもよい。代わりに、コンピューティング環境２０３は、たとえば、１以上のサーババンクもしくはコンピュータバンク又は他の配置で配置し得る複数のコンピューティングデバイスを採用し得る。係るコンピューティングデバイスは、単独の設備に位置し得る、又は多くの異なる地理的な場所間に分散され得る。例えば、コンピューティング環境２０３は、ホストコンピューティングリソース、グリッドコンピューティングリソース、及び／又は任意の他の分散コンピューティング配列を一緒に備え得る複数のコンピューティングデバイスを含み得る。いくつかの場合では、コンピューティング環境２０３は、処理、ネットワーク、ストレージ、又は他のコンピューティング関連リソースの割り当て容量が経時的に変化してもよい弾性的な計算リソースに対応してもよい。
【００３０】
様々なアプリケーション及び／又は他の機能は、様々な実施形態に従って、コンピューティング環境２０３で実行され得る。また、種々のデータは、コンピューティング環境２０３にアクセス可能であるデータストア２０９に格納される。データストア２０９は、認識できるように、複数のデータストア２０９を代表するものであり得る。例えば、データストア２０９に記憶されるデータは、下記に説明される様々なアプリケーション及び／又は機能エンティティの動作と関連付けられる。
【００３１】
コンピューティング環境２０３上で実行される、これらの構成要素は、たとえば、アクティブゾーン管理システム２１２、時間窓ゾーン管理システム１１２、マルチプロバイダ管理システム１２７、及び本明細書に詳細に考察されていない他のアプリケーション、サービス、プロセス、システム、エンジン、又は機能性を含む。アクティブゾーン管理システム２１２を実行し、特定のコンピューティングデバイスについてのアクティブゾーン１００を作成する。アクティブゾーン１００は、ユーザデバイスの制限を越えない、包括的な１セットのロケーションベースサービスゾーンを含む動的なサイズの地理的領域である。いくつかの実施形態において、アクティブゾーン管理システム２１２は、特定のクライアントデバイス１０３及びクライアントデバイス制限に特有であるロケーションベースサービスゾーン１０１を含むアクティブゾーンを作成し、このアクティブゾーンのサイズに動的に合わせて作ることが可能である。アクティブゾーン管理システム２１２は、ロケーションベースサービスゾーン１０１を作成されたアクティブゾーン１００内で識別することが可能である。
【００３２】
いくつかの実施形態において、アクティブゾーン管理システム２１２は、デバイス制限を上回らないロケーションベースサービスゾーン１０１の量を含む、アクティブゾーン１００のサイズを動的に拡大する、及び／又は縮小することが可能である。いくつかの実施形態において、アクティブゾーン管理システム２１２は、クライアントデバイス１０３へ提供する、ロケーションベースサービスゾーン１０１の数を減少させることが可能である。アクティブゾーン管理システム２１２は、クライアントデバイス位置における変化、ロケーションベースサービスゾーン１０１と関連する時間制約、ロケーションベースサービスゾーン１０１の追加、ロケーションベースサービスゾーン１０１の除去、ロケーションベースサービスゾーンパラメータにおける変化、及び／又は理解されることが可能であるようないずれかの他の因子に少なくとも部分的に基づきアクティブゾーン１００を更新し、修正するように構成されることが可能である。
【００３３】
時間窓ゾーン管理システム１１２は、時間制約されたロケーションベースサービスゾーン１０１のアクティブステータスを管理するように実行される。さらに、時間窓ゾーン管理システム１１２は、ロケーションベースサービスゾーン１０１がアクティブであると判定されるときにクライアントデバイスからトリガイベント通知１１７を受信することに応答して、通知をプロバイダデバイス１１５へ送信するように実行される。さらに、時間窓ゾーン管理システム１１２は、特定のロケーションベースサービスゾーン１０１のアクティブステータスに関連して、通知をクライアントデバイス１０３へ送信するように実行される。また、時間窓ゾーン管理システム１１２は、トリガイベント通知１１７をクライアントデバイス１０３から受信し、トリガイベント通知１１７の受信と関連するタイムスタンプを生成するように実行されることが可能である。
【００３４】
マルチプロバイダ管理システム１２７は、複数のプロバイダと関連するロケーションベースサービスゾーン１０１を管理するように実行される。さらに、マルチプロバイダ管理システム１２７は、トリガイベントの通知を監視して適切なプロバイダデバイス１１５のみへ送信するために、各プロバイダについて一意の識別子を生成し、ロケーションベースサービスゾーン１０１をクライアントデバイス１０３へ送信することの安全かつ一元管理を提供するように実行される。さらに、マルチプロバイダ管理システム１２７は、プロバイダによる要件に関して乱用及び／又はノンコンプライアンスを検出するように実行され得る。
【００３５】
データストア２０９に格納されるデータは、たとえば、デバイスデータ２１５、プロバイダデータ２１８、アクティブゾーンプライオリティルール２２１、コンプライアンスルール２２４、及び潜在的に他のデータを含む。デバイスデータ２１５は、異なるクライアントデバイス１０３と関連するデータを含む。デバイスデータ２１５は、ユーザアカウント情報２２７、デバイスサポートデータ２３０、サービス２３３、位置データ２３６、アクティブゾーン１００、及び／又はクライアントデバイス１０３と関連するいずれかの他のデータを含んでもよい。
【００３６】
ユーザアカウント情報２２７は、クライアントデバイス１０３と関連する１以上のユーザアカウントと関係がある情報を含んでもよい。たとえば、ユーザアカウント情報２２７は、ユーザ名、名前及び姓名、及び／又は他の識別情報を含んでもよい。デバイスサポートデータ２３０は、クライアントデバイス１０３によってサポートされるロケーションベースサービスゾーン１０１の量、及び／又はこのデバイスによってサポートされる他の特徴を含む。サービス（複数可）２３３は、特定のデバイス及び／又はユーザアカウントがクライアントアプリケーション１３０及び／又はいずれかの他のアプリケーションに関与するようにオプトインしている、これらのアプリケーションに関与することからオプトアウトしている、及び／又はこれらのアプリケーションに関して事前に設定されてもよい、プロバイダと関連する１以上のユーザが経験したサービスを含む。たとえば、プロバイダＡ及びプロバイダＢは、ユーザがオプトインして経験することが可能である異なるサービス（たとえば、デリバリサービス、モバイルストア、デリバーロッカー、実店舗販売など）をそれぞれ提供してもよい。しかしながら、ユーザは、プロバイダＡによって提供されるサービス上でオプトインし、プロバイダＢによって提供されるサービスからオプトアウトしてもよい。位置データ２３６は、クライアントデバイス１０３の地理的位置を表す。アクティブゾーン（複数可）１００は、デバイス制限、ロケーションベースサービスゾーン１０１と関連するサービスがユーザ（たとえば、単一のユーザ）を標的とするか、幅広く（たとえば、複数のユーザを）標的とするかどうか、特定のロケーションベースサービスゾーン１０１のアクティブステータス、それぞれのサービスについてクライアントデバイスによるオプトインステータス、及び／又は理解されることが可能であるようないずれかの他の因子を考慮して特定のデバイス１０３について具体的に選択される、包括的な１セットのロケーションベースサービスゾーン１０１を含む特定のデバイス１０３についてのアクティブゾーン１００を含んでもよい。
【００３７】
プロバイダデータ２１８は、ロケーションベースサービスゾーン１０１のプロバイダと関連するデータを含む。プロバイダデータ２１８は、プロバイダ情報２３９、ジオフェンス（複数可）１０６、ビーコン（複数可）１０９、プロバイダ識別子（２４１）、及び／又はプロバイダと関連するいずれかの他のデータを含む。プロバイダ情報２３９は、たとえば、プロバイダについての、名前、サービス情報、アドレス情報、プロバイダデバイス情報、及び／又はいずれかの他の適切な情報などのプロバイダについての情報を識別することを備え得る。ジオフェンス１０６は、プロバイダのサービスに関連する仮想地理的境界を表す。ジオフェンス１０６は、ジオフェンス１０６と関連する、ジオフェンスパラメータ２４４、アクティブルール２４７、及び／又はいずれかの他のタイプのデータを含む。ジオフェンスパラメータ２４４は、地理的位置と関連する１以上の座標、内側領域の半径、非円形領域についての周囲仕様、クライアントデバイスが境界内にあるときにクライアントデバイス１０３のユーザに提示されるメッセージ（たとえば、「ＸＹＺ店舗で販売する。途中で立ち寄り、１つの物品の５０％割引を受ける」）、アクティブ時間、アクティブ日付、一意のトークン識別子、及び／又はジオフェンス１０６と関連する他のパラメータを含んでもよい。アクティブルール２４７は、特定のジオフェンス１０６がアクティブ又は非アクティブであるときに関連する情報を含む。たとえば、アクティブルール２４７は、ジオフェンスがアクティブ及び／又は非アクティブであるときを表す１以上の時間窓を含んでもよい。いくつかの実施形態において、ジオフェンス１０６は、日中の設定時間（たとえば、営業時間）中にアクティブであってもよい。他の実施形態において、ジオフェンス１０６は、定期的にアクティブであってもよい。たとえば、ジオフェンス１０６は、三（３）時間毎にアクティブであるように作成されてもよい。
【００３８】
ビーコン（複数可）１０９は、無線信号をブロードキャストするように構成されるデバイスを表す。ビーコン（複数可）１０９は、クライアントデバイス１０３がブロードキャストされた信号を受信する範囲内にあるときに、クライアントデバイス１０３がビーコン１０９からブロードキャストされる無線信号にアクセスするために使用することが可能である、ビーコン識別子を有するビーコンパラメータ２５０を含む。プロバイダ識別子２４１は、ロケーションベースサービスゾーン１０１を管理することに関連する各プロバイダに割り当てられ、そのプロバイダのロケーションベースサービスゾーン１０１と関連するトリガイベントの正しいプロバイダに通知する一意の識別子を表す。いくつかの実施形態において、プロバイダ識別子２４１をランダムに生成する。他の実施形態において、他のプロバイダ識別子２４１に対して所定の増大又は縮小に従い、プロバイダ識別子２４１を割り当てる。
【００３９】
アクティブゾーンプライオリティルール２２１は、アクティブゾーン管理システム２１２がアクティブゾーン１００内に含まれるロケーションベースサービスゾーン１０１を選択する際に使用してもよいルールを表す。アクティブゾーンプライオリティルール２２１は、たとえば、クライアントデバイス制限、ロケーションベースサービスゾーン１０１と関連するサービスがユーザ（たとえば、単一のユーザ）を標的とするか、広く（たとえば、複数のユーザを）標的とするかどうか、特定のロケーションベースサービスゾーン１０１のアクティブステータス、それぞれのサービスについてクライアントデバイスによるオプトインステータス、及び／又は理解されることが可能であるようないずれかの他の因子に基づいてもよい。いくつかの実施形態において、アクティブゾーンプライオリティルール２２１は、たとえば、ロケーションベースサービスゾーン１０１のプライオリティを決定するために、ランク付けアルゴリズムなどのアルゴリズムを含んでもよい。たとえば、アクティブゾーンプライオリティルール２２１は、各ロケーションベースサービスゾーン１０１と関連するさまざまな特徴に割り当てる重み付けを有してもよい。割り当てられた重み付けに基づき、作成されたアクティブゾーン１００内で識別されるロケーションベースサービスゾーン１０１をランク付けしてもよく、クライアントデバイス１０３によってサポートされる最大閾値内にある最高ランクのロケーションベースサービスゾーン１０１を選択してもよい。
【００４０】
コンプライアンスルール２２４は、プロバイダが乱用しているか、その他の方法によりそのプロバイダと関連するロケーションベースサービスゾーン１０１に関して対応していないかどうかを判定するときをマルチプロバイダ管理システム１２７が考慮してもよいルールを表す。コンプライアンスルール２２４は、たとえば、プロバイダと関連する複数のロケーションベースサービスゾーン１０１、ロケーションベースサービスゾーン１０１と関連する時間制約、１以上のロケーションベースサービスゾーン１０１間の間隔要件、許可される、又は制約されるロケーションベースサービスゾーン１０１のタイプ（たとえば、単一のユーザを標的としたロケーションベースサービスゾーン１０１、複数のユーザを標的としたカバレッジロケーションベースサービスゾーン１０１、時間窓ロケーションベースサービスゾーン１０１）、及び／又は理解されることが可能であるようないずれかの他のタイプのコンプライアンス因子に基づいてもよい。
【００４１】
いくつかの実施形態において、コンプライアンスルール２２４は、マルチプロバイダ管理システムが乱用及び／又はノンコンプライアンスの検出に基づき用いることが可能である、アクションリストをさらに備えてもよい。たとえば、アクションリストは、そのプロバイダについてのロケーションベースサービスゾーン１０１を監視して、それらのロケーションベースサービスゾーン１０１と関連するいずれかの情報を除去するようにクライアントデバイス１０３に通知すること、乱用及び／又はノンコンプライアンスのプロバイダに通知すること、所定の時間内に乱用及び／又はノンコンプライアンスを正すようにプロバイダに要求すること、及び／又はいずれかの他の適切なアクションを備えてもよい。いくつかの実施形態において、コンプライアンスルール２２４は、プロバイダによる乱用及び／又はノンコンプライアンスについての深刻度レベルを定義してもよい。たとえば、コンプライアンスルール２２４は、ロケーションベースサービスゾーン１０１の誤った設定より深刻であるような、ロケーションベースサービスゾーン１０１（たとえば、それが関連する特定の店舗を囲まないジオフェンス１０６）に関するスパムを送るクライアントデバイス１０３を定義し得る。深刻度レベルに従い、コンプライアンスルール２２４によって定義されるアクションを決定してもよい。
【００４２】
クライアントデバイス１０３は、ネットワーク２０６に連結され得る複数のクライアントデバイスを表す。クライアントデバイス１０３は、例えば、コンピュータシステム等のプロセッサベースのシステムを含み得る。係るコンピュータシステムは、デスクトップコンピュータ、ラップトップコンピュータ、パーソナルデジタルアシスタント、携帯電話、スマートフォン、セットトップボックス、音楽プレーヤ、ウェブパッド、タブレットコンピュータシステム、ゲーム機、電子書籍リーダ、スマートウォッチ、ヘッドマウントディスプレイ、音声インタフェースデバイス、又は他のデバイスの形で具体化されてもよい。クライアントデバイス１０３は、ディスプレイ２５３を含んでもよい。ディスプレイ２５３は、例えば、液晶ディスプレイ（ＬＣＤ）、ガスプラズマベースのフラットパネルディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、電子インク（Ｅインク）ディスプレイ、ＬＣＤプロジェクタ、又は他の種類の表示装置等の１以上の装置を含んでもよい。
【００４３】
クライアントデバイス１０３は、クライアントアプリケーション１３０及び／又は他のアプリケーション等の種々のアプリケーションを実行するよう構成されてもよい。クライアントアプリケーション１３０は、例えば、コンピューティング環境２０３及び／又は他のサーバによって提供されるネットワークコンテンツにアクセスし、それによって、ディスプレイ２５３上のユーザインタフェース２５６をレンダリングするために、クライアントデバイス１０３内で実行されてもよい。この目的のために、クライアントアプリケーション１３０は、たとえば、ブラウザ、専用アプリケーションなどを含んでもよく、ユーザインタフェース２５６は、ネットワークページ、アプリケーション画面などを含んでもよい。クライアントデバイス１０３は、たとえば、電子メールアプリケーション、ソーシャルネットワーキングアプリケーション、ワードプロセッサ、スプレッドシート、及び／又は他のアプリケーションなどのクライアントアプリケーション１３０を越えるアプリケーションを実行するように構成され得る。
【００４４】
プロバイダデバイス１１５は、ネットワーク２０６に連結され得る複数のプロバイダデバイスを表す。プロバイダデバイス１１５は、たとえば、コンピュータシステムなどのプロセッサベースのシステムを含んでもよい。係るコンピュータシステムは、デスクトップコンピュータ、ラップトップコンピュータ、パーソナルデジタルアシスタント、携帯電話、スマートフォン、セットトップボックス、音楽プレーヤ、ウェブパッド、タブレットコンピュータシステム、ゲーム機、電子書籍リーダ、スマートウォッチ、ヘッドマウントディスプレイ、音声インタフェースデバイス、又は他のデバイスの形で具体化されてもよい。代わりに、プロバイダデバイス１１５は、例えば、１以上のサーババンクもしくはコンピュータバンク又は他の配置で配置され得る複数のコンピューティングデバイスを採用し得る。係るコンピューティングデバイスは、単独の設備に位置し得る、又は多くの異なる地理的な場所間に分散され得る。例えば、プロバイダデバイス１１５は、ホストコンピューティングリソース、グリッドコンピューティングリソース、及び／又は任意の他の分散コンピューティング配列を一緒に備え得る複数のコンピューティングデバイスを含み得る。いくつかの場合、プロバイダデバイス１１５は、処理、ネットワーク、ストレージ、又は他のコンピューティング関連リソースの割り当て容量が経時的に変動し得る柔軟なコンピューティングリソースに対応し得る。
【００４５】
次に図３を参照すると、示されるのは、種々の実施形態に係るアクティブゾーン管理システム２１２の一部分の動作の一例を提示するフローチャートである。図３のフローチャートが本明細書に説明されるようなアクティブゾーン管理システム２１２の一部分の動作を実装するために利用され得る、多くの異なる種類の機能配置の一例を単に提示するにすぎないことが理解される。代わりに、図３のフローチャートは、１以上の実施形態による、コンピューティング環境２０３（図２）内に実装された方法の要素の例を示すように見られてもよい。
【００４６】
図３は、本開示のさまざまな実施形態に従いアクティブゾーン１００（図１Ａ）を作成することに関して、アクティブゾーン管理システム２１２によって実行され得る機能性の非限定的な実施例を提供する。ボックス３０３から始まり、アクティブゾーン管理システム２１２は、ロケーションベースサービスゾーン１０１（図２）を１以上のプロバイダデバイス１１５から受信する。プロバイダデバイス１１５（図２）は、アクティブゾーン管理システム２１２へ、プロバイダデバイス１１５のサービスプロバイダと関連付けられる、ジオフェンス１０６（図２）についてのジオフェンスパラメータ２４４（図２）、及び／又はビーコン１０９（図２）についてのビーコンパラメータ２５０（図２）を送信するように構成されてもよい。
【００４７】
たとえば、プロバイダが購入用のモバイル位置に１セットの物品を提示しているマーチャントであり、マーチャントが一日中さまざまな位置にいると仮定する。特定の位置に到着すると、モバイル位置についてのジオフェンスパラメータ２４４をプロバイダデバイス１１５によって符号化してもよい、及び／又はジオフェンス周囲座標をアクティブゾーン管理システム２１２へ送信してもよい。いくつかの実施形態において、プッシュ通知（たとえば、サイレント又は非サイレントプッシュ通知）をアクティブゾーン管理システム２１２から受信することへの応答に応じて、ロケーションベースサービスゾーン１０１をアクティブゾーン管理システム２１２へ送信する。
【００４８】
ボックス３０６において、アクティブゾーン管理システム２１２は、アクティブゾーン１００についての要求をクライアントデバイス１０３から受信する。この要求は、ロケーションベースサービスゾーン１０１に関するアクティブゾーン１００にデータを入れる、アクティブゾーン管理システムによって使用されてもよい、位置データ２３６（図２）を含む。ボックス３０９において、アクティブゾーン管理システム２１２は、アクティブゾーン領域を決定する。具体的に、アクティブゾーン管理システム２１２は、位置データ２３６に部分的に基づきアクティブゾーン領域を決定する。さまざまな実施形態に従い、アクティブゾーン領域は、中心点として、またある所定の値の半径（たとえば、１キロメートル（ｋｍ）、５ｋｍ、２５ｋｍなど）により中心点を含む、位置データ２３６からクライアントデバイス１０３の位置を使用することによって決定されてもよい。
【００４９】
ボックス３１２において、アクティブゾーン管理システム２１２は、いずれかのロケーションベースサービスゾーン１０１が作成されたアクティブゾーン領域の地理的領域内に位置しているかどうかを判定する。たとえば、アクティブゾーン管理システム２１２は、プロバイダデバイス（複数可）１１５によって提供されるロケーションベースサービスゾーン１０１を分析し、アクティブゾーン領域と関連する地理的領域にいずれかが対応するかどうかを判定してもよい。いくつかの実施形態において、アクティブゾーン管理システム２１２は、いずれかのロケーションベースサービスゾーン１０１をアクティブゾーン領域内に含むかどうかを判定する際にロケーションベースサービスゾーン１０１のアクティブステータスを使用してもよい。アクティブゾーン１００中で識別される、いかなるロケーションベースサービスゾーン１０１もない場合、アクティブゾーン管理システム２１２は、ボックス３１５に進む。ボックス３１５において、アクティブゾーン管理システム２１２は、アクティブゾーン領域がその最大閾値に達したかどうかを判定する。
【００５０】
たとえば、いくつかの実施形態において、アクティブゾーン１００は、サイズの範囲（たとえば、１キロメートル（ｋｍ）から１００ｋｍ）を使用して作成されてもよい。さまざまな実施形態に従い、アクティブゾーンは、最小サイズで最初に作成されてもよく、所望の、又は要求された数のロケーションベースサービスゾーン１０１を含むことが必要とされる場合に動的に拡大されることが可能である。しかしながら、必要とされる場合に、アクティブゾーン管理システム２１２は、最大サイズまでアクティブゾーンのサイズを拡大することが可能である。アクティブゾーンサイズは、所定の閾値、プロバイダ制限、及び／又はクライアントデバイス制限に基づいてもよい。アクティブゾーン領域が増大することが不可能である場合、アクティブゾーン管理システム２１２は、特定のデバイス位置についてのアクティブゾーン１００がないことをクライアントデバイスに通知するボックス３２１へ進む。いくつかの実施形態において、この通知は、プッシュ通知（たとえば、サイレントもしくは非サイレント通知）、又はいずれかの他の適切な通知の形式にあることが可能である。クライアントデバイス１０３について妥当なアクティブゾーンがないことをクライアントデバイス１０３に通知すると、アクティブゾーン管理システム２１２は、終了する。
【００５１】
ボックス３１５に戻り参照すると、アクティブゾーン領域のサイズが所定の最大アクティブゾーン領域サイズを下回る場合、アクティブゾーン管理システム２１２は、ボックス３１８へ進む。ボックス３１８において、アクティブゾーン管理システム２１２は、アクティブゾーン１００の領域を拡大させてもよい。いくつかの実施形態において、この領域が最大サイズを上回らない限り、この領域は、徐々に、急速に、及び／又はランダムに増大し得る。アクティブゾーン１００の領域を拡大させると、アクティブゾーン管理システムは、ボックス３１２へ進み、いずれかのロケーションベースサービスゾーン１０１をアクティブゾーン１００内で識別する。
【００５２】
ロケーションベースサービスゾーン１０１をアクティブゾーン内で識別すると、アクティブゾーン管理システム２１２は、ボックス３２４へ進む。ボックス３２４において、アクティブゾーン管理システム２１２は、識別されたロケーションベースサービスゾーン１０１の数がデバイスサポートデータ２３０（図２）中で識別されるデバイス制限を満たすか、上回るかどうかを判定する。たとえば、デバイスサポートデータ２３０は、クライアントデバイス１０３が二十（２０）個のロケーションベースサービスゾーン１０１のみをサポートすることが可能であることを指定してもよい。このようなものとして、２０個を上回るロケーションベースサービスゾーン１０１をアクティブゾーン１００内で識別する場合、アクティブゾーン管理システム２１２は、アクティブゾーン１００内のロケーションベースサービスゾーン１０１の数が最大閾値を上回ると判定し、ボックス３３０へ進む。アクティブゾーン１００内で識別されるロケーションベースサービスゾーン１０１の数が最大閾値内にある場合、アクティブゾーン管理システム２１２は、ボックス３２７へ進む。ボックス３２７において、アクティブゾーン管理システム２１２は、アクティブゾーン１００及び対応するロケーションベースサービスゾーン１０１の識別を符号化するデータをクライアントデバイス１０３へ送信する。この通知は、プッシュ通知（たとえば、サイレント又は非サイレント通知）、又はいずれかの他の適切な通知の形式にあることが可能である。
【００５３】
ボックス３３０において、アクティブゾーン管理システム２１２は、１つのサブセットのロケーションベースサービスゾーン１０１をアクティブゾーン１００内で識別する。１つのサブセットのロケーションベースサービスゾーン１０１を識別する際に、アクティブゾーン管理システム２１２は、アクティブゾーンプライオリティルール２２１（図２）を適用し、特定のクライアントデバイス１０３についての最適なロケーションベースサービスゾーン１０１をアクティブゾーン１００内で決定してもよい。いくつかの実施形態において、アクティブゾーン管理システム２１２は、たとえば、クライアントデバイス制限、ロケーションベースサービスゾーン１０１と関連するサービスがユーザ（たとえば、単一のユーザ）を標的とするか、広く（たとえば、複数のユーザを）標的とするかどうか、特定のロケーションベースサービスゾーン１０１のアクティブステータス、それぞれのサービスについてクライアントデバイスによるオプトインステータス、及び／又は理解されることが可能であるようないずれかの他の因子を含んでもよい、因子に基づきロケーションベースサービスゾーン１０１を重み付けする、及び／又はランク付けしてもよい。たとえば、アクティブゾーンプライオリティルール２２１は、各ロケーションベースサービスゾーン１０１と関連するさまざまな特徴に割り当てる重み付けを含んでもよい。
【００５４】
割り当てられた重み付けに基づき、アクティブゾーン１００内でロケーションベースサービスゾーン１０１をランク付けしてもよく、クライアントデバイス１０３によってサポートされる最大閾値内にある最高ランクのロケーションベースサービスゾーンをサブセットとして選択してもよい。他の実施形態において、アクティブゾーン管理システム２１２は、最大閾値を上回らなくなるまで、それぞれの特性に基づきロケーションベースサービスゾーン１０１を除外してもよい。たとえば、アクティブゾーンプライオリティルール２２１に従ってアクティブゾーン管理システム２１２は、ユーザに標的とされる、及び／又はユーザがオプトインしたサービスと関連付けられるロケーションベースサービスゾーン１０１を除去する前に、非アクティブであるロケーションベースサービスゾーン１０１、及びユーザが関与することにオプトインしていないサービスに関連するロケーションベースサービスゾーン１０１を除去してもよい。特定のデバイス１０３についてのアクティブゾーン１００を含むロケーションベースサービスゾーン１０１がクライアントデバイス１０３によって画定されるような最大閾値内にあるまで縮小すると、アクティブゾーン管理システム２１２は、ボックス３３３へ進む。ボックス３３３において、アクティブゾーン管理システム２１２は、アクティブゾーン１００、及び対応する１つのサブセットのロケーションベースサービスゾーン１０１の識別を符号化するデータをクライアントデバイス１０３へ送信する。この通知は、プッシュ通知（たとえば、サイレント又は非サイレント通知）、又はいずれかの他の適切な通知の形式にあることが可能である。アクティブゾーン１００をクライアントデバイス１０３へ送信した後に、アクティブゾーン管理システム２１２は、終了する。
【００５５】
ここで図４に戻り、示されるのは、種々の実施形態に係るアクティブゾーン管理システム２１２の一部分の動作の一例を提供するフローチャートである。図４のフローチャートが本明細書に説明されるようなアクティブゾーン管理システム２１２の一部分の動作を実装するために利用され得る、多くの異なる種類の機能配置の一実施例を単に提示するにすぎないことが理解される。代わりに、図４のフローチャートは、１以上の実施形態による、コンピューティング環境２０３（図４）内に実装された方法の要素の一実施例を示すように見られてもよい。
【００５６】
図４は、本開示のさまざまな実施形態に従い、クライアントデバイス１０３（図２）がサポートすることが可能である最大閾値をアクティブゾーン１００において最初に識別されるロケーションベースサービスゾーン１０１の量が上回るときに、アクティブゾーン１００（図２）を含むロケーションベースサービスゾーン１０１（図２）に優先順位を付けることに関して、アクティブゾーン管理システム２１２によって実行されてもよい機能性の非限定的な実施例を提供する。
【００５７】
ボックス４０３から始まり、アクティブゾーン管理システム２１２は、特定のロケーションベースサービスゾーン１０１をアクティブゾーン１００内で分析する。具体的に、アクティブゾーン管理システム２１２は、ロケーションベースサービスゾーン１０１を分析し、たとえば、時間制約、ロケーションベースサービスゾーン１００のタイプ（たとえば、ユーザ固有の標的とした、又は広くマルチユーザを標的とした）、アクティブゾーン要求と関連するクライアントデバイス１０３及び／又は固有のユーザアカウントがロケーションベースサービスゾーンと関連するユーザエクスペリエンスへオプトインしたかどうか、及び／又は他の因子などの特性を識別する。これらの特性を使用して、アクティブゾーン１００及び／又はクライアントデバイス１０３と比較してロケーションベースサービスゾーン１０１のプライオリティを決定することが可能である。
【００５８】
ボックス４０６において、アクティブゾーン管理システム２１２は、特性及びアクティブゾーンプライオリティルール２２１に従い、それぞれのロケーションベースサービスゾーン１０１に重み付けを割り当てる。たとえば、ユーザがオプトインしてサービスに関与することを示すクライアントデバイスのサービス２３３において識別されるサービスと関連付けられるロケーションベースサービスゾーン１０１は、ユーザがサービスに関与することからオプトアウトしたことを示すクライアントデバイス１０３のサービス２３３において識別されるサービスと関連付けられるロケーションベースサービスゾーン１０１より高い重み付けを受けてもよい。いくつかの実施形態において、ロケーションベースサービスゾーン１０１の特性のそれぞれに割り当てられる重み付けの総和を固有のロケーションベースサービスゾーン１０１へ割り当てる。
【００５９】
ボックス４０９において、アクティブゾーン管理システムは、分析を要求するアクティブゾーン１００において識別される、いずれかの残存するロケーションベースサービスゾーン１０１があるかどうかを判定する。他のロケーションベースサービスゾーン１０１がある場合、アクティブゾーン管理システム２１２は、ボックス４０３に戻る。そうでなければ、アクティブゾーン管理システム２１２は、ボックス４１２に進む。ボックス４１２において、アクティブゾーン管理システム２１２は、割り当てられた重み付けに従い、アクティブゾーン１００において識別されるロケーションベースサービスゾーン１０１をランク付けする。ボックス４１５において、アクティブゾーン管理システム２１２は、所定の制限（たとえば、クライアント固有の、サービス側の制限などの）内にあるロケーションベースサービスゾーン１０１の最高ランクの数を選択する。たとえば、２００個の識別されたロケーションベースサービスゾーン１０１がアクティブゾーン１００内にあり、クライアントデバイス１０３が１００個のロケーションベースサービスゾーン１０１のみをサポートする場合、アクティブゾーン管理システム２１２は、上位１００個のランク付けされたロケーションベースサービスゾーン１０１を選択する。１つのサブセットのロケーションベースサービスゾーン１０１を選択すると、アクティブゾーン管理システム２１２のこの部分は、終了する。
【００６０】
次に図５を参照すると、示されるのは、種々の実施形態に係るアクティブゾーン管理システム２１２の一部分の動作の一実施例を提示するフローチャートである。図５のフローチャートが本明細書に説明されるようなアクティブゾーン管理システム２１２の一部分の動作を実装するために利用され得る、多くの異なる種類の機能配置の一実施例を単に提示するにすぎないことが理解される。代わりに、図５のフローチャートは、１以上の実施形態による、コンピューティング環境２０３（図２）内に実装された方法の要素の実施例を示すように見られてもよい。
【００６１】
図５は、本開示のさまざまな実施形態に従い、特定のクライアントデバイス１０３（図２）についてのアクティブゾーン１００（図２）を修正することに関して、アクティブゾーン管理システム２１２によって実行されてもよい機能性の非限定的な実施例を提供する。
【００６２】
ボックス５０３から始まり、アクティブゾーン管理システム２１２は、アクティブゾーン１００についての要求をクライアントデバイス１０３から受信する。いくつかの実施形態において、クライアントデバイス１０３は、プル通知として要求、及び／又は他のクライアントが開始した要求を送信する。他の実施形態において、クライアントデバイス１０３は、アクティブゾーン１００を送信することが可能であることをクライアントデバイス１０３に通知するアクティブゾーン管理システム２１２からプッシュ通知（たとえば、サイレント又は非サイレントプッシュ通知）を受信することに応答して要求を送信するように構成されてもよい。ボックス５０６において、アクティブゾーン管理システム２１２は、アクティブゾーン１００、及びアクティブゾーン１００内で対応するロケーションベースサービスゾーン１０１の識別を符号化するデータをクライアントデバイス１０３へ送信する。
【００６３】
ボックス５０９において、アクティブゾーン管理システム２１２は、クライアントデバイス１０３がアクティブゾーン１００によって画定される地理的境界内にまだ位置しているかどうかを判定する。いくつかの実施形態において、クライアントデバイス１０３は、通知を位置データ２３６（図２）に関するアクティブゾーン管理システム２１２へ定期的に送信してもよい。他の実施形態において、アクティブゾーン管理システム２１２は、位置データ２３６についての要求をクライアントデバイス１０３へ送信してもよい。クライアントデバイス１０３がアクティブゾーン１００の境界内にある場合、アクティブゾーン管理システム２１２は、ボックス５１１へ進む。そうでなければ、アクティブゾーン管理システム２１２は、ボックス５１２ヘ進む。
【００６４】
ボックス５１１において、アクティブゾーン管理システム２１２は、クライアントデバイス１０３によって監視されるアクティブゾーン１００中に含まれるロケーションベースサービスゾーン１０１のいずれかを更新したかどうかを判定する。たとえば、ロケーションベースサービスゾーン１０１は、時間制約されてもよく、非アクティブであってもよい。別の非限定的な実施例において、クライアントデバイス１０３は、ロケーションベースサービスゾーン１０１と関連するユーザエクスペリエンスからオプトアウトした場合がある。別の非限定的な実施例において、プロバイダは、ロケーションベースサービスゾーン１０１をキャンセルした場合がある。ロケーションベースサービスゾーン１０１が同じようなままである場合、アクティブゾーン管理システム２１２は、ボックス５０９へ進む。そうでなければ、アクティブゾーン管理システム２１２は、ボックス５１２ヘ進む。
【００６５】
ボックス５１２において、アクティブゾーン管理システム２１２は、アクティブゾーン１００を修正する。いくつかの実施形態において、アクティブゾーン１００を修正することは、新規のアクティブゾーン領域を作成し、そして新規のアクティブゾーン１００のデータを新規のロケーションベースサービスゾーン１０１に入れることを備えてもよい。他の実施形態において、アクティブゾーン１００を修正することは、もとのアクティブゾーン領域を保ち、そしてロケーションベースサービスゾーン１０１をアクティブゾーン１００内で変えることを備えてもよい。
【００６６】
クライアントデバイス１０３がアクティブゾーン１００によって画定される境界の外側に移動したことを位置データ２３６が示す場合、アクティブゾーン管理システム２１２は、新規のアクティブゾーン領域を作成することによってアクティブゾーン１００を修正してもよいため、新規のアクティブゾーン１００は、更新されたクライアントデバイス位置に従う。アクティブゾーン管理システム２１２は、図３及び４に関して考察されるように、アクティブゾーン１００、及びアクティブゾーン１００内のロケーションベースサービスゾーン１０１を修正してもよい。
【００６７】
クライアントデバイス１０３が依然としてアクティブゾーン１００の境界内にあり、ロケーションベースサービスゾーン１０１のうちの１以上が更新された場合、アクティブゾーン管理システム２１２は、図３及び４に関して考察されるように、アクティブゾーン１００内でロケーションベースサービスゾーン１０１を再評価してもよい。いくつかのシナリオにおいて、アクティブゾーン１００は、ロケーションベースサービスゾーン１０１を除去するように修正される。他の実施形態において、アクティブゾーン１００は、ロケーションベースサービスゾーン１０１を加えるように修正されることが可能である。
【００６８】
ボックス５１５において、アクティブゾーン管理システム２１２は、修正されたアクティブゾーン１００、及び対応するロケーションベースサービスゾーン１０１について対応するパラメータによって符号化されるデータをクライアントデバイス１０３へ送信する。データをクライアントデバイス１０３へ送信した後に、アクティブゾーン管理システム２１２のこの部分は、終了する。
【００６９】
次に図６を参照すると、種々の実施形態に係るクライアントアプリケーション１３０の一部分の動作の一実施例を提示するフローチャートが示される。図６のフローチャートが本明細書に記載のクライアントアプリケーション１３０の一部の動作を実装するために用いられ得る、多くの異なるタイプの機能性配置の単なる実施例を提供することが理解される。代わりに、図６のフローチャートは、１以上の実施形態による、コンピューティング環境２０３（図２）内に実装された方法の要素の実施例を示すように見られてもよい。
【００７０】
図６は、本開示のさまざまな実施形態に従い、クライアント側アクティブゾーン管理に関してクライアントアプリケーション１３０によって実行され得る機能性の非限定的な実施例を提供する。
【００７１】
ボックス６０３から始まり、クライアントアプリケーション１３０は、複数のアクティブゾーン１００（図２）をアクティブゾーン管理システム２１２（図２）から受信してもよい。プル通知、プッシュ通知、及び／又はいずれかの他の適切な通知に応答して、アクティブゾーン１００を受信してもよい。いくつかの実施形態において、アクティブゾーン管理システム２１２は、クライアントデバイス１０３と関連する複数の異なる位置に少なくとも部分的に基づき、複数のアクティブゾーン１００を作成することが可能であってもよい。いくつかの実施形態において、クライアントデバイス１０３は、クライアントデバイス１０３について異なる位置を含む、位置データ２３６（図２）を提供してもよい。たとえば、クライアントデバイス１０３は、クライアントデバイスの現在の位置、及び／又はクライアントデバイスの将来の位置（たとえば、スケジューリングされた物品集荷位置）に関するアクティブゾーン管理システム２１２を提供することが可能であってもよい。
【００７２】
その結果、アクティブゾーン管理システム２１２は、異なる位置に基づき複数のアクティブゾーン１００を作成することが可能であってもよい。他の実施形態において、異なるアクティブゾーン１００は、ロケーションベースサービスゾーン１０１のタイプ、たとえば、ユーザを標的とした、広く標的とした、時間制約された、日付制約されたなど、クライアントデバイス１０３がロケーションベースサービスゾーン１０１と関連するサービスにオプトインしたかどうか、及び／又は他の因子などに少なくとも部分的にさらに基づいてもよい。
【００７３】
ボックス６０６において、クライアントアプリケーション１３０は、特定のアクティブゾーン１００を選択して監視してもよい。たとえば、異なるアクティブゾーン１００は、ロケーションベースであるため、クライアントアプリケーション１３０は、どのアクティブゾーン１００がクライアントデバイス１０３の位置に基づきクライアントデバイス１０３に適切であるかを判定することが可能であってもよい。クライアントデバイス１０３は、その位置を、たとえば、無線ネットワーク識別情報及び／又はセルラ三角測量データを使用して、追跡してもよい。クライアントデバイス１０３は、所定の期間中にクライアントデバイス１０３によって使用されるローカルメモリにすでに格納された複数のアクティブゾーン１００を含むことが可能であることによって、時間に従い特定のアクティブゾーン１００を選択してもよく、クライアントデバイス１０３は、追加のアクティブゾーン１００についてアクティブゾーン管理デバイスをポーリングすることを回避することによって、電力を節約することが可能である。
【００７４】
ボックス６０９において、クライアントアプリケーション１３０は、ロケーションベースサービスゾーン１０１を選択されたアクティブゾーン１００内で監視し始める。クライアントアプリケーション１３０がロケーションベースサービスゾーン１０１を選択されたアクティブゾーン１００内で監視し始めると、クライアントアプリケーション１３０のこの部分は、終了する。
【００７５】
次に図７を参照すると、示されるのは、種々の実施形態に係る時間窓ゾーン管理システム１１２の一部分の動作の一実施例を提示するフローチャートである。図７のフローチャートが本明細書に説明されるような時間窓ゾーン管理システム１１２の一部分の動作を実装するために利用され得る、多くの異なる種類の機能配置の一実施例を単に提示するにすぎないことが理解される。代わりに、図７のフローチャートは、１以上の実施形態による、コンピューティング環境２０３（図２）内に実装された方法の要素の実施例を示すように見られてもよい。
【００７６】
図７は、本開示のさまざまな実施形態に従いアクティブ及び非アクティブのロケーションベースサービスゾーン１０１（図２）を管理することに関して、時間窓ゾーン管理システム１１２によって実行されてもよい機能性の非限定的な実施例を提供する。具体的に、図７は、ロケーションベースサービスゾーン１０１がアクティブであるときか、失効したときかを判定し、その結果、クライアントデバイス１０３（図２）に通知することに関する。
【００７７】
ボックス７０３から始まり、時間窓ゾーン管理システム１１２は、ロケーションベースサービスゾーン１０１についての要求をクライアントデバイス１０３から受信する。いくつかの実施形態において、クライアントデバイス１０３は、プル通知として要求、及び／又は他のクライアントが開始した要求を送信する。他の実施形態において、クライアントデバイス１０３は、クライアントデバイス１０３にロケーションベースサービスゾーン１０１を要求することを伝える時間窓ゾーン管理システム１１２からプッシュ通知（たとえば、サイレント又は非サイレントプッシュ通知）を受信することに応答して要求を送信するように構成されてもよい。
【００７８】
ボックス７０６において、時間窓ゾーン管理システム１１２は、特定のロケーションベースサービスゾーンがアクティブであるかどうかを判定する。たとえば、ある特定のロケーションベースサービスゾーン１０１がある特定の期間中にのみ有効である場合、つぎに時間窓ゾーン管理システム１１２は、コンピューティング環境２０３に関する時間をロケーションベースサービスゾーン１０１についてのアクティビティの期間と比較し、ロケーションベースサービスゾーン１０１のステータスを決定してもよい。いくつかの実施形態において、時間窓ゾーン管理システム１１２は、つぎの所期の要求がロケーションベースサービスゾーン１０１についてのクライアントデバイス１０３を形成する前の期間に、ロケーションベースサービスゾーン１０１がアクティブではないと判定してもよい。ロケーションベースサービスゾーン１０１をクライアントデバイス１０３へ送信することを控えることによって、クライアントデバイス１０３への影響（たとえば、消費電力、ネットワークリソースなど）は、減少することが可能である。
【００７９】
ロケーションベースサービスゾーン１０１が非アクティブである場合、つぎに時間窓ゾーン管理システム１１２は、ロケーションベースサービスゾーン１０１をクライアントデバイスへ送信することを控える。ロケーションベースサービスゾーン１０１が非アクティブであると時間窓ゾーン管理システム１１２が判定する場合、時間窓ゾーン管理システム１１２のこの部分は、終了する。しかしながら、ロケーションベースサービスゾーン１０１がアクティブである場合、時間窓ゾーン管理システム１１２は、ボックス７１２へ進む。
【００８０】
ボックス７１２において、時間窓ゾーン管理システム１１２は、対応するパラメータ（たとえば、ジオフェンスパラメータ２４４（図２）、ビーコンパラメータ２５０（図２））を含むロケーションベースサービスゾーン１０１の識別によって符号化されるデータをクライアントデバイス１０３へ送信する。
【００８１】
ボックス７１５において、時間窓ゾーン管理システム１１２は、ロケーションベースサービスゾーン１０１が失効したかどうかを判定する。たとえば、時間窓ゾーン管理システム１１２は、ローカルタイムを、ロケーションベースサービスゾーン１０１がアクティブである期間と比較してもよい。ローカルタイムがロケーションベースサービスゾーン１０１についてアクティビティの期間外にある場合、時間窓ゾーン管理システム１１２は、ロケーションベースサービスゾーン１０１が失効したと判定し、ボックス７１８へ進む。そうでなければ、時間窓ゾーン管理システム１１２は、ロケーションベースサービスゾーン１０１が依然としてアクティブであると判定した後、その時間、及び／又はアクティブステータスにおける変化についてロケーションベースサービスゾーン１０１を監視し続ける。
【００８２】
ボックス７１８において、時間窓ゾーン管理システム１１２は、クライアントデバイス１０３がロケーションベースサービスゾーン１０１に関するすべての情報を除去することを要求する通知（たとえば、サイレント又は非サイレントプッシュ通知）をクライアントデバイス１０３へ送信する。その結果、クライアントデバイス１０３は、ロケーションベースサービスゾーン１０１をもはや監視しない。時間窓ゾーン管理システム１１２がロケーションベースサービスゾーン１０１の除去を要求する通知をクライアントデバイス１０３へ送信した後に、時間窓ゾーン管理システム１１２のこの部分は、終了する。
【００８３】
次に図８を参照すると、示されるのは、種々の実施形態に係る時間窓ゾーン管理システム１１２の一部分の動作の一実施例を提示するフローチャートである。図８のフローチャートが本明細書に説明されるような時間窓ゾーン管理システム１１２の一部分の動作を実装するために利用され得る、多くの異なる種類の機能配置の一実施例を単に提示するにすぎないことが理解される。代わりに、図８のフローチャートは、１以上の実施形態による、コンピューティング環境２０３（図２）内に実装された方法の要素の実施例を示すように見られてもよい。
【００８４】
図８は、ロケーションベースサービスゾーン１０１（図２）と関連するトリガイベントのプロバイダに通知するかどうかを判定することに関連して、時間窓ゾーン管理システム１１２によって実行され得る機能性の非限定的な実施例を提供する。具体的に、図８は、本開示のさまざまな実施形態に従い、非アクティブのロケーションベースサービスゾーン１０１と関連付けられるトリガイベントをフィルタリングすることを考察する。
【００８５】
ボックス８０３から始まり、時間窓ゾーン管理システム１１２は、ロケーションベースサービスゾーン１０１と関連するトリガイベント通知１１７（図２）をクライアントデバイス１０３から受信する。いくつかの実施形態において、ロケーションベースサービスゾーン１０１がジオフェンス１０６（図２）であった場合、トリガイベント通知１１７は、ジオフェンスパラメータ２４４（図２）によって画定される境界を通過するクライアントデバイス１０３によって引き起こされるトリガイベントに関し得る。他のシナリオにおいて、ロケーションベースサービスゾーン１０１がビーコン１０９（図２）であった場合、トリガイベント通知１１７は、ビーコン１０９によってブロードキャストされる無線信号を受信するクライアントデバイス１０３に対応してもよい。
【００８６】
ボックス８０６において、時間窓ゾーン管理システム１１２は、トリガイベントと関連する時間を決定する。本開示へのさまざま実施形態に従い、時間窓ゾーン管理システム１１２は、時間窓ゾーン管理システム１１２と関連するクロックに頼り、トリガイベントの時間を決定する。たとえば、１つの非限定的な実施例において、時間窓ゾーン管理システム１１２は、トリガイベント通知１１７を受信する時点でタイムスタンプを生成してもよい。
【００８７】
時間窓ゾーン管理システム１１２と関連する時間は、たとえば、クライアントデバイスクロックへの、クロックスキュー、異なる時間帯、又はユーザ変更などのさまざま因子が原因であるクライアントデバイス１０３と関連する時間を上回ることが好ましい。時間窓ゾーン管理システム１１２と関連するクロックに頼ることによって、時間窓ゾーン管理システム１１２は、ロケーションベースアクティブゾーンの一元管理を提供し、ロケーションベースアクティブゾーン１０１のアクティブステータスを判定する際に信頼性を高めることが可能である。
【００８８】
ボックス８０９において、時間窓ゾーン管理システム１１２は、このイベントのプロバイダデバイスに通知するべきかどうかを判定する。時間窓ゾーン管理システム１１２は、ロケーションベースサービスゾーン１０１がアクティブであるときにプロバイダデバイス１１５（図２）に通知し、ロケーションベースサービスゾーン１０１が非アクティブであるときにプロバイダデバイス１１５に通知することを控え得る。特定のロケーションベースサービスゾーン１０１のアクティブステータスは、理解されることが可能であるように、クライアントデバイスからのトリガイベント通知を受信することと関連する時間、クライアントデバイス設定（たとえば、クライアントデバイス１０３がロケーションベースサービスゾーンと関連するサービスによってオプトインされる）、ユーザアカウント設定、ロケーションベースサービスゾーン１０１と関連するパラメータ（たとえば、アクティブ期間、特定のユーザ又は複数のユーザに標的とされる、ジオフェンス座標に対する更新など）、コンピューティング環境２０３と関連するクロック、及び／又は他の因子に少なくとも部分的に基づくことが可能である。
【００８９】
デバイスがアクティブであると判定される場合、時間窓ゾーン管理システム１１２は、ボックス８１２へ進む。そうでなければ、時間窓ゾーン管理システム１１２は、ボックス８１５ヘ進む。ボックス８１２において、時間窓ゾーン管理システム１１２は、プロバイダ通知１２４（図１Ｂ）をプロバイダデバイス１１５へ送信する。このプロバイダ通知１２４は、プッシュ通知及び／又はいずれかの他の適切な通知の形式にあることが可能である。プロバイダ通知１２４をプロバイダデバイス１１５へ送信した後に、時間窓ゾーン管理システム１１２は、終了する。ボックス８１５において、時間窓ゾーン管理システム１１２は、クライアントデバイス１０３によって監視されるロケーションベースサービスゾーン１０１が古い状態にあることを示す通知をクライアントデバイス１０３へ送信する。このようなものとして、クライアントデバイス１０３は、ロケーションベースサービスゾーン１０１と関連するジオフェンス情報を除去し、ロケーションベースサービスゾーン１０１の監視を中止するように構成されてもよい。
【００９０】
次に図９を参照すると、示されるのは、種々の実施形態に係るマルチプロバイダ管理システム１２７の一部分の動作の一実施例を提示するフローチャートである。図９のフローチャートが本明細書に説明されるようなマルチプロバイダ管理システム１２７の一部分の動作を実装するために利用され得る、多くの異なる種類の機能配置の一実施例を単に提示するにすぎないことが理解される。代わりに、図９のフローチャートは、１以上の実施形態による、コンピューティング環境２０３（図２）内に実装された方法の要素の実施例を示すように見られてもよい。
【００９１】
図９は、本開示のさまざまな実施形態に従い、クライアントデバイス１０３（図２）から受信するロケーションベースサービスゾーン１０１（図２）に関して、トリガイベントと関連付けられる複数のプロバイダから正しいプロバイダを識別することに関して、マルチプロバイダ管理システム１２７によって実行され得る機能性の非限定的な実施例を提供する。
【００９２】
ボックス９０３から始まり、マルチプロバイダ管理システム１２７は、ロケーションベースサービスゾーン１０１と関連するトリガイベント通知１１７（図２）をクライアントデバイス１０３から受信する。いくつかの実施形態において、ロケーションベースサービスゾーン１０１がジオフェンス１０６（図２）であった場合、トリガイベント通知１１７は、ジオフェンスパラメータ２４４（図２）によって画定される境界を通過するクライアントデバイス１０３によって引き起こされるトリガイベントに関し得る。他の実施形態において、ロケーションベースサービスゾーン１０１がビーコン１０９（図２）であった場合、トリガイベント通知１１７は、ビーコン１０９によってブロードキャストされる無線信号を受信するクライアントデバイス１０３に対応してもよい。
【００９３】
ボックス９０６において、マルチプロバイダ管理システム１２７は、トリガイベントと関連するプロバイダを識別する。さまざまな実施形態に従い、マルチプロバイダ管理システム１２７は、トリガされたイベントと関連するロケーションベースサービスゾーン１０１についてトークン識別子に部分的に基づきプロバイダを識別してもよい。トークン識別子は、特定のロケーションベースサービスゾーン１０１に割り当てられる一意の識別子を表す。マルチプロバイダ管理システム１２７は、ロケーションベースサービスゾーン１０１のプロバイダと関連するプロバイダ識別子２４１とトークン識別子を関連させてもよい。たとえば、マルチプロバイダ管理システム１２７は、トークン識別子とプロバイダ識別子２４１との間の関連性を指定するレジストリにアクセスしてもよい。
【００９４】
トークン識別子は、クライアントデバイス１０３が監視するためにロケーションベースサービスゾーン１０１についての情報を受信した時点でロケーションベースサービスゾーン１０１によって受信されるパラメータ情報に含まれていてもよい。クライアントデバイス１０３がプロバイダの実際のアイデンティティに気づかないままである場合がありながら、クライアントデバイス１０３は、トークン識別子をロケーションベースサービスゾーン１０１と関連させ、トリガイベント通知１１７に関するトークン識別子を含むことが可能である。
【００９５】
ボックス９０９において、マルチプロバイダ管理システム１２７は、プロバイダ通知１２４（図２）をプロバイダデバイス１１５（図２）へ送信する。このプロバイダ通知１２４は、プッシュ通知及び／又はいずれかの他の適切な通知の形式にあることが可能である。プロバイダ通知１２４をプロバイダデバイス１１５へ送信した後に、マルチプロバイダ管理システム１２７のこの部分は、終了する。
【００９６】
次に図１０を参照すると、示されるのは、種々の実施形態に係るマルチプロバイダ管理システム１２７の一部分の動作の一実施例を提示するフローチャートである。図１０のフローチャートが本明細書に説明されるようなマルチプロバイダ管理システム１２７の一部分の動作を実装するために利用され得る、多くの異なる種類の機能配置の一実施例を単に提示するにすぎないことが理解される。代わりに、図１０のフローチャートは、１以上の実施形態による、コンピューティング環境２０３（図２）内に実装された方法の要素の実施例を示すように見られてもよい。
【００９７】
図１０は、本開示のさまざまな実施形態に従い、プロバイダが指定したロケーションベースサービスゾーン１０１のクライアントデバイス１０３（図２）を提供することに関して、マルチプロバイダ管理システム１２７によって実行され得る機能性の非限定的な実施例を提供する。
【００９８】
ボックス１００３から始まり、マルチプロバイダ管理システム１２７は、少なくとも１つのロケーションベースサービスゾーン１０１（図２）についての要求をクライアントデバイス１０３から受信する。いくつかの実施形態において、クライアントデバイス１０３は、プル通知として要求、及び／又は他のクライアントが開始した要求を送信する。他の実施形態において、クライアントデバイス１０３は、マルチプロバイダ管理システム１２７からプッシュ通知（たとえば、サイレント又は非サイレントプッシュ通知）を受信することに応答して要求を送信するように構成されてもよい。いくつかの実施形態において、この要求は、更新されたロケーションベースサービスゾーン１０１についてのものであってよい。いくつかの実施形態において、この要求は、特定のプロバイダと関連するロケーションベースサービスゾーン１０１を要求してもよい。
【００９９】
ボックス１００６において、マルチプロバイダ管理システム１２７は、この要求に含まれるロケーションベースサービスゾーン１０１のトークン識別子に部分的に基づき要求と関連するプロバイダを識別してもよい。たとえば、マルチプロバイダ管理システム１２７は、特定のプロバイダ識別子２４１と関連するトークン識別子のリストとトークン識別子を比較することが可能であってもよい。プロバイダ識別子２４１は、ロケーションベースサービスゾーン１０１を管理することに関連して、各プロバイダに割り当てられる一意の識別子を表す。
【０１００】
ボックス１００９において、マルチプロバイダ管理システム１２７は、識別されたプロバイダと関連するロケーションベースサービスゾーン１０１を取得する。いくつかの実施形態において、マルチプロバイダ管理システム１２７は、複数のプロバイダについてのロケーションベースサービスゾーン１０１を格納するデータストア２０９中のデータベースから、識別されたプロバイダと関連するロケーションベースサービスゾーン１０１を取得する。他の実施形態において、マルチプロバイダ管理システム１２７は、ロケーションベースサービスゾーン１０１を要求する、それぞれのプロバイダデバイス１１５（図２）をポーリングしてもよい。
【０１０１】
ボックス１０１２において、マルチプロバイダ管理システム１２７は、この要求と関連するロケーションベースサービスゾーン１０１の識別、及びこれらについてのパラメータによって符号化されるデータを送信する。このデータをクライアントデバイス１０３へ送信した後に、マルチプロバイダ管理システム１２７のこの部分は、終了する。
【０１０２】
次に図１１を参照すると、示されるのは、種々の実施形態に係るマルチプロバイダ管理システム１２７の一部分の動作の一実施例を提示するフローチャートである。図１１のフローチャートが本明細書に説明されるようなマルチプロバイダ管理システム１２７の一部分の動作を実装するために利用され得る、多くの異なる種類の機能配置の一実施例を単に提示するにすぎないことが理解される。代わりに、図１１のフローチャートは、１以上の実施形態による、コンピューティング環境２０３（図２）内に実装された方法の要素の実施例を示すように見られてもよい。
【０１０３】
図１１は、本開示のさまざまな実施形態に従い、プロバイダ間の乱用及び／又はノンコンプライアンスを検出することに関して、マルチプロバイダ管理システム１２７によって実行され得る機能性の非限定的な実施例を提供する。
【０１０４】
ボックス１１０３から始まり、マルチプロバイダ管理システム１２７は、特定のプロバイダと関連するプロバイダデバイス１１５（図２）から１以上のロケーションベースサービスゾーン１０１を受信する。いくつかの実施形態において、クライアントデバイス１０３は、マルチプロバイダ管理システム１２７からプッシュ通知（たとえば、サイレント又は非サイレントプッシュ通知）を受信することに応答してロケーションベースサービスゾーン１０１を送信するように構成されてもよい。他の実施形態において、プロバイダデバイス１１５は、ロケーションベースサービスゾーン１０１を作成することに応答してロケーションベースサービスゾーン１０１を送信してもよい。他の実施形態において、プロバイダデバイス１１５は、ロケーションベースサービスゾーン１０１を定期的に、及び／又はロケーションベースサービスゾーン１０１への更新に応答して、送信してもよい。
【０１０５】
ボックス１１０６において、マルチプロバイダ管理システム１２７は、受信したロケーションベースサービスゾーン１０１と関連するプロバイダがコンプライアンスルール２２４（図２）に関して対応しているかどうかを判定する。コンプライアンスルール２２４は、たとえば、プロバイダと関連する複数のロケーションベースサービスゾーン１０１、ロケーションベースサービスゾーン１０１と関連する時間制約、１以上のロケーションベースサービスゾーン１０１間の間隔要件、許可される、又は制約されるロケーションベースサービスゾーン１０１のタイプ（たとえば、シングルユーザを標的としたロケーションベースサービスゾーン１０１、マルチユーザを標的としたカバレッジロケーションベースサービスゾーン１０１、時間窓ロケーションベースサービスゾーン１０１）、ロケーションベースサービスゾーンの誤った設定、及び／又は理解されることが可能であるようないずれかの他のタイプのコンプライアンス因子に基づいてもよい。たとえば、各プロバイダが三十（３０）個の異なるロケーションベースサービスゾーン１０１だけと関連付けられるべきということをコンプライアンスルール２２４が示し、プロバイダが五十（５０）個の異なるロケーションベースサービスゾーン１０１と関連付けられことをマルチプロバイダ管理システム１２７が検出する場合、マルチプロバイダ管理システム１２７は、プロバイダが対応していないと判定し得る。いくつかのシナリオにおいて、過剰な数のロケーションベースサービスゾーン１０１は、スパミングを示してもよい。
【０１０６】
別の非限定的な実施例において、コンプライアンスルール２２４は、ロケーションベースサービスゾーン１０１間の間隔要件を示してもよい。たとえば、コンプライアンスルール２２４は、特定のプロバイダについての２つのロケーションベースサービスゾーン１０１間に１ｋｍの分離がなければならないことを示してもよい。このようなものとして、ロケーションベースサービスゾーン１０１が間隔要件を侵すことをマルチプロバイダ管理システム１２７が検出する場合、マルチプロバイダ管理システム１２７は、プロバイダが対応していないと判定してもよい。プロバイダが対応しているとマルチプロバイダ管理システム１２７が判定する場合、マルチプロバイダ管理システム１２７は、ボックス１１０９へ進み、ロケーションベースサービスゾーン１０１をプロバイダに関するデータベースに格納してもよい。ロケーションベースサービスゾーン１０１を格納した後に、マルチプロバイダ管理システム１２７のこの部分は、終了する。
【０１０７】
プロバイダが対応していないとマルチプロバイダ管理システム１２７が判定する場合、マルチプロバイダ管理システム１２７は、ボックス１１１２へ進む。ボックス１１１２において、マルチプロバイダ管理システム１２７は、プロバイダによるノンコンプライアンスと関連する深刻度のレベルを決定する。深刻度レベルは、検出されるノンコンプライアンスのタイプに従い、コンプライアンスルール２２４によって定義されてもよい。いくつかの実施形態において、深刻度レベルは、検出される、コンプライアンスルールの特定の侵害、及び／又は複数の侵害に基づいてもよい。たとえば、各タイプのコンプライアンス侵害に深刻度の重み付けを割り当ててもよい（たとえば、ジオフェンスの誤った設定に１を割り当ててもよく、スパミングに５を割り当ててもよい）。いくつかの実施形態において、深刻度レベルは、それぞれの検出された侵害についてのすべての重み付けの総和に部分的に基づいてもよい。
【０１０８】
ボックス１１１５において、マルチプロバイダ管理システム１２７は、深刻度のレベルに基づくアクションを開始する。いくつかの実施形態において、コンプライアンスルール２２４は、マルチプロバイダ管理システム１２７が乱用及び／又はノンコンプライアンスの検出に基づき用いることが可能である、アクションリストを備えてもよい。たとえば、アクションリストは、そのプロバイダについてのロケーションベースサービスゾーン１０１を監視して、それらのロケーションベースサービスゾーン１０１と関連するいずれかの情報を除去するようにクライアントデバイス１０３に通知すること、乱用及び／又はノンコンプライアンスのプロバイダへ通知を送信すること、所定の時間内に乱用及び／又はノンコンプライアンスを正す要求をプロバイダへ送信すること、及び／又はいずれかの他の適切なアクションを備えてもよい。深刻度レベルに基づくアクションを開始した後に、マルチプロバイダ管理システム１２７は、終了する。
【０１０９】
図１２を参照すると、示されるのは本開示の実施形態による、コンピューティング環境２０３の概略ブロック図である。コンピューティング環境２０３は、１以上のコンピューティング装置１２０３を含む。各コンピューティングデバイス１２０３は、例えば、プロセッサ１２０６及びメモリ１２０９を有する少なくとも１つのプロセッサ回路を含み、それら両方がローカルインタフェース１２１２に結合される。このために、各コンピューティングデバイス１２０３は、例えば、少なくとも１つのサーバコンピュータ又は同様のデバイスを備え得る。認識できるように、ローカルインタフェース１２１２は、例えば、付随するアドレス／制御バスを伴うデータバス又は他のバス構造を含み得る。
【０１１０】
メモリ１２０９に記憶されるのは、データと、プロセッサ１２０６によって実行可能ないくつかの構成要素との両方である。特に、メモリ１２０９に格納され、プロセッサ１２０６によって実行可能であるのは、アクティブゾーン管理システム２１２、時間窓ゾーン管理システム１１２、マルチプロバイダ管理システム１２７、及び潜在的に他のアプリケーションである。また、メモリ１２０９に記憶されるのは、データストア２０９及び他のデータであり得る。加えて、オペレーティングシステムは、メモリ１２０９に記憶され、プロセッサ１２０６によって実行可能であり得る。
【０１１１】
認識できるように、メモリ１２０９に記憶され及びプロセッサ１２０６によって実行可能である他のアプリケーションが存在し得ることを理解されたい。本明細書に説明される任意の構成要素が、ソフトウェアの形態で実装される場合、例えばＣ、Ｃ＋＋、Ｃ＃、Ｏｂｊｅｃｔｉｖｅ Ｃ、Ｊａｖａ（登録商標）、ＪａｖａＳｃｒｉｐｔ（登録商標）、Ｐｅｒｌ、ＰＨＰ、Ｖｉｓｕａｌ  Ｂａｓｉｃ（登録商標）、Ｐｙｔｈｏｎ（登録商標）、Ｒｕｂｙ、Ｆｌａｓｈ（登録商標）、又は他のプログラミング言語等のいくつかのプログラミング言語のうちの任意の１つを採用し得る。
【０１１２】
いくつかのソフトウェア構成要素が、メモリ１２０９に記憶され、プロセッサ１２０６によって実行可能である。この点において、用語「実行可能」は、プロセッサ１２０６によって最終的に起動することができる形態のプログラムファイルを意味する。実行可能プログラムの実施例は、例えば、メモリ１２０９のランダムアクセス部にロードし、プロセッサ１２０６によって起動され得る形式の機械コードに変換することができるコンパイルされたプログラム、メモリ１２０９のランダムアクセス部にロードされ、プロセッサ１２０６によって実行されることが可能であるオブジェクトコード等の適切な形式で表され得るソースコード、又はプロセッサ１２０６によって実行されるメモリ１２０９のランダムアクセス部に命令を生成するために別の実行可能なプログラムによって解釈され得るソースコード等であり得る。実行可能プログラムは、例えば、ランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、ハードドライブ、ソリッドステートドライブ、ＵＳＢフラッシュドライブ、メモリカード、コンパクトディスク（ＣＤ）又はデジタル多用途ディスク（ＤＶＤ）等の光学ディスク、フロッピーディスク、磁気テープ、又は他のメモリ構成要素を含む、メモリ１２０９の任意の部分又は任意の構成要素に記憶され得る。
【０１１３】
メモリ１２０９は、揮発性メモリと不揮発性メモリの両方と、データストレージ構成要素とを含むように本明細書に定義される。揮発性構成要素は、電源喪失時にデータ値を保持しないものである。不揮発性構成要素は、電源喪失時にデータを保持するものである。したがって、メモリ１２０９は、例えば、ランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、ハードディスクドライブ、ソリッドステートドライブ、ＵＳＢフラッシュドライブ、メモリカードリーダを介してアクセスされるメモリカード、関連付けられるフロッピーディスクドライブを介してアクセスされるフロッピーディスク、光ディスクドライブを介してアクセスされる光ディスク、適切なテープドライブを介してアクセスされる磁気テープ、及び／又は他のメモリ構成要素、又はこれらのメモリ構成要素のうちの任意の２つ以上の組み合わせを含み得る。加えて、ＲＡＭは、例えば、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、又は磁気ランダムアクセスメモリ（ＭＲＡＭ）、及び他の係るデバイスを含み得る。ＲＯＭは、例えば、プログラマブル読み取り専用メモリ（ＰＲＯＭ）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭ）、電気的消去可能プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ）、又は他の同様のメモリデバイスを含み得る。
【０１１４】
また、プロセッサ１２０６は、複数のプロセッサ１２０６及び／又は複数のプロセッサコアを表し得、メモリ１２０９は、各々、並列処理回路で動作する複数のメモリ１２０９を表し得る。係る場合、ローカルインタフェース１２１２は、複数のプロセッサ１２０６のうちの任意の２つの間、任意のプロセッサ１２０６とメモリ１２０９のうちのいずれかとの間、又はメモリ１２０９のうちの任意の２つの間等の通信を容易にする適切なネットワークであり得る。ローカルインタフェース１２１２は、例えば、ロードバランシングを行うことを含む、この通信を調整するように設計された追加システムを備え得る。プロセッサ１２０６は、電気式、又は、いくつかの他の利用可能な構成であり得る。
【０１１５】
アクティブゾーン管理システム２１２、時間窓ゾーン管理システム１１２、マルチプロバイダ管理システム１２７、及び本明細書に記載される他のさまざまシステムは、上記で考察されるように、汎用ハードウェアにより実行されるソフトウェア又はコードで具体化され得るが、代替として、同一のものが専用ハードウェア、又はソフトウェア／汎用ハードウェアと専用ハードウェアとの組み合わせで具体化されてもよい。専用ハードウェアで具体化される場合、それぞれがいくつかの技術のうちの任意の１つ又はそれらの組み合わせを採用する回路又はステートマシンとして実装されることができる。これらの技術は、１以上のデータ信号の適用時に様々な論理機能を実行する論理ゲートを有する個別論理回路、適切な論理ゲートを有する特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、又は他の構成要素等を含んでもよいが、これらに限定されない。この技術は通常、当業者にはよく理解されており、したがって、本明細書では詳述しない。
【０１１６】
図３〜１３のフローチャートは、アクティブゾーン管理システム２１２、時間窓ゾーン管理システム１１２、マルチプロバイダ管理システム１２７、及び／又はクライアントアプリケーション１３０の部分の実施態様の機能性及び動作を示す。ソフトウェアで具体化される場合、各ブロックは、指定された論理関数（複数可）を実装するプログラム命令を含むモジュール、セグメント、又はコードの一部を表し得る。プログラム命令は、プログラミング言語で作成される人間が読めるステートメントを含むソースコード、又はコンピュータシステムもしくは他のシステムのプロセッサ１２０６等の好適な実行システムにより認識可能な数値命令を含むマシンコードの形式で具体化され得る。マシンコードはソースコード等から変換され得る。ハードウェアで具体化される場合、各ブロックは、指定された論理関数（複数可）を実装するために、回路又はいくつかの相互接続回路を表し得る。
【０１１７】
図３〜１３のフローチャートは、具体的な実行順序を示すが、実行順序が図示する順序と異なってもよいことが理解される。例えば、２つ以上のブロックの実行順序は、示される順序に対してスクランブルがかけられ得る。また、図３〜１３に連続して示される２つ以上のブロックは、同時に、又は一部同時に実行し得る。さらに、いくつかの実施形態では、図３〜１３に示される１以上のブロックは、省略又は省かれる場合もある。加えて、有用性の向上、説明、性能測定、又はトラブルシューティングの補助の提供等の目的で、任意の数のカウンタ、状態変数、警告セマフォ、又はメッセージが、本明細書に説明する論理フローに追加される可能性がある。係る全ての変形例は、本開示の範囲内にあることを理解されたい。
【０１１８】
また、ソフトウェア又はコードを含む、アクティブゾーン管理システム２１２、時間窓ゾーン管理システム１１２、及びマルチプロバイダ管理システム１２７を含む、本明細書に記載されるいずれかのロジック又はアプリケーションは、たとえば、コンピュータシステム又は他のシステム内のプロセッサ１２０６などのインストラクション実行システムによって使用される、又はそれに関連して使用される、いずれかの非一時的コンピュータ可読媒体で具現化されることが可能である。この意味では、論理は、例えば、コンピュータ可読媒体からフェッチされ、及び命令実行システムによって実行することができる命令及び宣言を含むステートメントを含み得る。本開示の文脈において、「コンピュータ可読媒体」は、命令実行システムが使用する、又はそれに関連して使用する、本明細書に記載の論理又はアプリケーションを包含、格納、又は保持することができる任意の媒体であることができる。
【０１１９】
コンピュータ可読媒体は、例えば、磁気媒体、光媒体、又は半導体媒体等の多くの物理媒体のうちの任意の１つを含み得る。好適なコンピュータ可読媒体のより具体的な実施例は、限定ではないが、磁気テープ、磁気フロッピーディスク、磁気ハードドライブ、メモリカード、ソリッドステートドライブ、ＵＳＢフラッシュドライブ、又は光ディスクを含むであろう。また、コンピュータ可読媒体は、例えば、スタティックランダムアクセスメモリ（ＳＲＡＭ）及びダイナミックランダムアクセスメモリ（ＤＲＡＭ）、又は磁気ランダムアクセスメモリ（ＭＲＡＭ）を含むランダムアクセスメモリ（ＲＡＭ）であり得る。加えて、コンピュータ可読媒体は、読取専用メモリ（ＲＯＭ）、プログラマブル読取専用メモリ（ＰＲＯＭ）、消去可能プログラマブル読取専用メモリ（ＥＰＲＯＭ）、電気的消去可能プログラマブル読取専用メモリ（ＥＥＰＲＯＭ）、又は他の種類のメモリデバイスであり得る。
【０１２０】
さらに、アクティブゾーン管理システム２１２、時間窓ゾーン管理システム１１２、及びマルチプロバイダ管理システム１２７を含む、本明細書に記載されるいずれかのロジック又はアプリケーションは、さまざまな方式に実装され、構築されてもよい。例えば、説明される１以上のアプリケーションは、単一のアプリケーションのモジュール又は構成要素として実装され得る。さらに、本明細書に説明される１以上のアプリケーションは、共有されたコンピューティングデバイスもしくは別々のコンピューティングデバイス、又はそれらの組み合わせで実行され得る。例えば、本明細書に説明される複数のアプリケーションは、同じコンピューティングデバイス１２０３で、又は同じコンピューティング環境２０３中の複数のコンピューティングデバイス１２０３で実行し得る。
【０１２１】
特に明記しない限り、句「Ｘ、Ｙ又はＺのうちの少なくとも１つ」などの選言的な言葉は、そうでなければ項目、用語等がＸ、ＹもしくはＺのいずれか、又はその任意の組み合わせ（例えば、Ｘ、Ｙ及び／又はＺ）であってよいことを示すために一般的に用いられるとして文脈の中で理解される。(したがって、係る選言的言語は、概して、ある実施形態がＸの少なくとも１つ、Ｙの少なくとも１つ、又はＺの少なくとも１つがそれぞれ存在することを必要とすることを暗示することを意図しておらず、そのように暗示することを意味するべきではない。
【０１２２】
本開示の実施形態の実施例は、以下の条項を鑑みて説明できる。
【０１２３】
条項１．少なくとも１つのコンピューティングデバイスで実行可能なプログラムを具体化する非一時的コンピュータ可読媒体であって、前記プログラムが実行された場合は、前記プログラムによって少なくとも１つの前記コンピューティングデバイスが、複数のプロバイダに関連付けられた複数のロケーションベースサービスゾーンのレジストリを維持することであって、個々の前記ロケーションベースサービスゾーンが、ジオフェンス又はビーコンで構成され、個々の前記ロケーションベースサービスゾーンが、複数の前記プロバイダのそれぞれの前記プロバイダに関連付けられている、前記維持すること、複数の前記プロバイダの複数のプロバイダ識別子を生成することであって、複数の前記プロバイダ識別子の個々の前記プロバイダ識別子が、複数の前記プロバイダの個々の前記プロバイダに固有のものである、前記生成すること、少なくとも１つの前記ロケーションベースサービスゾーンの１以上のロケーションベースサービスゾーンパラメータを含むクライアントデバイスに、少なくとも１つのプッシュ通知を送信することであって、１以上の前記ロケーションベースサービスゾーンパラメータが、少なくとも１つの前記ロケーションベースサービスゾーンの少なくとも１つのゾーン識別子を含み、それぞれの前記プロバイダの識別情報が前記クライアントデバイスに対して匿名である、前記送信すること、前記クライアントデバイスから、少なくとも１つの前記ロケーションベースサービスゾーンのうちの特定の前記ロケーションベースサービスゾーンに関連付けられたトリガイベントのトリガイベント通知を受信することであって、前記トリガイベント通知が特定のゾーン識別子を含む、前記受信すること、特定の前記識別子と複数の前記プロバイダ識別子とに少なくとも一部基づいて、前記トリガイベント通知に関連付けられた前記プロバイダを識別すること、及び前記トリガイベント通知の受信と前記プロバイダの識別とに応答して、識別した前記プロバイダに関連したプロバイダデバイスに通知を送信することを少なくとも行う、前記非一時的コンピュータ可読媒体。
【０１２４】
条項２．前記プログラムが実行された場合は、前記プログラムによって少なくとも１つの前記コンピューティングデバイスが、それぞれの前記プロバイダの少なくとも１つのロケーションベースサービスゾーンに関連付けられた１以上のパラメータが、複数のプロバイダ要件に準拠していることを検証することを少なくとも行う、条項１に記載の非一時的コンピュータ可読媒体。
【０１２５】
条項３．前記プログラムが実行された場合は、前記プログラムによって少なくとも１つの前記コンピューティングデバイスが、少なくとも１つの前記プロバイダに関連付けられた前記ロケーションベースサービスゾーンの数、前記少なくとも１つの前記プロバイダに関連付けられたそれぞれのロケーションベースサービスゾーンに関連するそれぞれの位置、前記少なくとも１つの前記プロバイダに関連する前記通知の数、又は前記少なくとも１つの前記プロバイダに関連付けられた前記ロケーションベースサービスゾーンの少なくとも１つに関連するアクティビティ時間のうちの少なくとも１つに少なくとも一部基づいて、複数の前記プロバイダのうちの前記少なくとも１つの前記プロバイダによる不正使用を検出することを少なくともさらに行う、条項１又は条項２に記載の非一時的コンピュータ可読媒体。
【０１２６】
条項４．少なくとも１つのコンピューティングデバイスと、少なくとも１つの前記コンピューティングデバイスで実行可能なプロバイダ管理システムとを備える、システムであって、前記プロバイダ管理システムが実行された場合は、前記プロバイダ管理システムによって少なくとも１つの前記コンピューティングデバイスが、複数のプロバイダに関連する複数のプロバイダデバイスから、複数のロケーションベースサービスゾーンを符号化するデータを受信することであって、個々の前記ロケーションベースサービスゾーンが、複数の前記プロバイダのそれぞれの前記プロバイダに関連付けられている、前記データを受信すること、複数の前記ロケーションベースサービスゾーンをデータベースに保存すること、及びクライアントデバイスに通知を送信することであって、前記通知が、少なくとも前記ロケーションベースサービスゾーンの１以上のパラメータと、少なくとも１つの前記ロケーションベースサービスゾーンに関連付けられたそれぞれの前記プロバイダに関連付けられているトークン識別子とを含み、それぞれの前記プロバイダの識別情報が、前記クライアントデバイスに対して匿名のままである、前記通知を送信することを少なくとも行う、前記システム。
【０１２７】
条項５．前記プロバイダ管理システムが実行された場合は、前記プロバイダ管理システムによって少なくとも１つの前記コンピューティングデバイスが、複数のプロバイダ識別子をランダムに生成することであって、個々の前記プロバイダ識別子が、複数の前記プロバイダの個々の前記プロバイダに固有のものである、前記プロバイダ識別子をランダムに生成することを少なくともさらに行う、条項４に記載のシステム。
【０１２８】
条項６．前記プロバイダ管理システムが実行された場合は、前記プロバイダ管理システムによって少なくとも１つの前記コンピューティングデバイスが、複数の前記プロバイダのそれぞれの前記プロバイダに関連付けられた複数の前記ロケーションベースサービスゾーンのうちの１以上の前記ロケーションベースサービスゾーンに関連するログデータを分析することをさらに行う、条項４又は条項５に記載のシステム。
【０１２９】
条項７．前記プロバイダ管理システムが実行された場合は、前記プロバイダ管理システムによって少なくとも１つの前記コンピューティングデバイスが、特定の前記プロバイダに関連付けられた前記ロケーションベースサービスゾーンの数、前記特定の前記プロバイダに関連付けられたそれぞれの前記ロケーションベースサービスゾーンに関連するそれぞれの位置、前記特定の前記プロバイダに関連する前記通知の数、又は前記特定の前記プロバイダに関連付けられたいずれかの前記ロケーションベースサービスゾーンに関連するアクティビティ時間のうちの少なくとも１つに少なくとも一部基づいて、複数の前記プロバイダのうちの前記特定の前記プロバイダによる不正使用の可能性を検出することを少なくともさらに行う、条項４〜６のいずれか１項に記載のシステム。
【０１３０】
条項８．前記プロバイダ管理システムが実行された場合は、前記プロバイダ管理システムによって少なくとも１つの前記コンピューティングデバイスが、前記特定の前記プロバイダによる前記不正使用の可能性の検出に応答して動作を開始することであって、前記動作が、前記特定の前記プロバイダに関連付けられたいずれかの前記ロケーションベースサービスゾーンを終了させること、又は前記不正使用の可能性のある前記特定の前記プロバイダに不正使用通知を送信することのうちの少なくとも一方を含む、前記開始することをさらに行う、条項７に記載のシステム。
【０１３１】
条項９．前記プロバイダ管理システムが実行された場合は、前記プロバイダ管理システムによって少なくとも１つの前記コンピューティングデバイスが、前記クライアントデバイスからイベント通知を受信することであって、前記イベント通知が、イベント情報と特定のトークン識別子とを含む、前記イベント通知を受信することを少なくともさらに行う、条項４〜８のいずれか１項に記載のシステム。
【０１３２】
条項１０．前記プロバイダ管理システムが実行された場合は、前記プロバイダ管理システムによって少なくとも１つの前記コンピューティングデバイスが、前記特定のトークン識別子に少なくとも一部基づいて、前記イベント通知に関連付けられた複数の前記プロバイダのうちのそれぞれの前記プロバイダを識別することを少なくともさらに行う、条項９に記載のシステム。
【０１３３】
条項１１．前記プロバイダ管理システムが実行された場合は、前記プロバイダ管理システムによって少なくとも１つの前記コンピューティングデバイスが、識別した前記プロバイダにプッシュ通知を送信することであって、前記プッシュ通知が前記イベント情報を含む、前記プッシュ通知を送信することを少なくともさらに行う、条項１０に記載のシステム。
【０１３４】
条項１２．個々の前記ロケーションベースサービスゾーンが、ジオフェンス又はビーコンの少なくとも一方を備える、条項４〜１１のいずれか１項に記載のシステム。
【０１３５】
条項１３．少なくとも１つのコンピューティングデバイスを介して、クライアントデバイスからトリガイベントのトリガイベント通知を受信することであって、前記トリガイベントが、前記クライアントデバイスによって監視されているロケーションベースサービスゾーンに関連付けられ、前記トリガイベント通知が、前記ロケーションベースサービスゾーンに関連付けられたトークン識別子を含む、前記トリガイベント通知を受信すること、少なくとも１つの前記コンピューティングデバイスを介して、前記トークン識別子に少なくとも一部基づいて複数のプロバイダから特定の前記プロバイダを識別することであって、複数の前記プロバイダの個々の前記プロバイダが、別々の前記ロケーションベースサービスゾーンに関連付けられている、前記識別すること、及び少なくとも１つの前記コンピューティングデバイスを介して、前記トリガイベント通知を含む通知を、前記トリガイベント通知の受信と前記特定の前記プロバイダの識別とに応答して、前記特定の前記プロバイダと関連したプロバイダデバイスに送信することを含む方法。
【０１３６】
条項１４．前記ロケーションベースサービスゾーンが、ジオフェンス又はビーコンの少なくとも一方を備える、条項１３に記載の方法。
【０１３７】
条項１５．前記ロケーションベースサービスゾーンが、複数の前記ロケーションベースサービスゾーンの１つであり、前記特定の前記プロバイダが、複数の前記ロケーションベースサービスゾーンに関連付けられた複数の前記プロバイダの１つであり、少なくとも１つの前記コンピューティングデバイスを介して、複数の前記ロケーションベースサービスゾーンのデータベースを維持することであって、複数の前記ロケーションベースサービスゾーンの個々の前記ロケーションベースサービスゾーンが、複数の前記プロバイダのそれぞれの前記プロバイダに関連付けられている、前記維持することをさらに含む、条項１３又は条項１４に記載の方法。
【０１３８】
条項１６．前記クライアントデバイスで実行される単一のクライアントアプリケーションが、複数の前記プロバイダのサブセットに関連付けられた複数の前記ロケーションベースサービスゾーンのサブセットを監視するように構成されている、条項１５に記載の方法。
【０１３９】
条項１７．少なくとも１つの前記コンピューティングデバイスを介して、前記クライアントデバイスに別の前記通知を送信することであって、他方の前記通知が、前記トークン識別子と、前記ロケーションベースサービスゾーンに関連する１以上のパラメータとを含む、前記送信することをさらに含む、条項１３〜１６のいずれか１項に記載の方法。
【０１４０】
条項１８．前記ロケーションベースサービスゾーンに関連付けられている前記特定の前記プロバイダが、前記クライアントデバイスに対して匿名のままである、条項１７に記載の方法。
【０１４１】
条項１９．少なくとも１つの前記コンピューティングデバイスを介して、前記プロバイダに関連付けられた前記ロケーションベースサービスゾーンの数量、前記プロバイダに関連付けられた前記ロケーションベースサービスゾーンに関連する位置、前記プロバイダに関連する前記通知の数、又は前記プロバイダに関連付けられた前記ロケーションベースサービスゾーンに関連するアクティビティ時間のうちの少なくとも１つに少なくとも一部基づいて、前記プロバイダによる不正使用を検出することをさらに含む、条項１３〜１８のいずれか１項に記載の方法。
【０１４２】
条項２０．前記クライアントデバイスが、前記ロケーションベースサービスゾーンを監視する複数の前記クライアントデバイスの１つであり、複数の前記クライアントデバイスに、前記不正使用の検出に応答して別の前記通知を送信することであって、他方の前記通知により、複数の前記クライアントデバイスが、前記ロケーションベースサービスゾーンに関連付けられた情報を削除する、前記送信することをさらに含む、条項１９に記載の方法。
【０１４３】
本開示の上述の実施形態は、本開示の原理を明確に理解するために記述される単に実施態様の可能な実施例にすぎないことを強調すべきである。本開示の主旨及び原理から実質的に逸脱することなく、上述の実施形態（複数可）に多くの変形及び修正が行われ得る。係る変更及び変形の全ては、本開示の範囲内で本明細書に含まれ、添付の特許請求の範囲により保護されることが意図される。
【図１Ａ】
0006919839.tif 000002
【図１Ｂ】
0006919839.tif 000003
【図１Ｃ】
0006919839.tif 000004
【図２】
0006919839.tif 000005
【図３】
0006919839.tif 000006
【図４】
0006919839.tif 000007
【図５】
0006919839.tif 000008
【図６】
0006919839.tif 000009
【図７】
0006919839.tif 000010
【図８】
0006919839.tif 000011
【図９】
0006919839.tif 000012
【図１０】
0006919839.tif 000013
【図１１】
0006919839.tif 000014
【図１２】
0006919839.tif 000015