(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-13
(45)【発行日】2023-12-21
(54)【発明の名称】独立したコンピューティングリソースを管理し、および同期させるためのシステム、方法、装置、およびコンピュータプログラム製品
(51)【国際特許分類】
G06F 11/07 20060101AFI20231214BHJP
【FI】
G06F11/07 196
G06F11/07 140A
G06F11/07 151
(21)【出願番号】P 2022096952
(22)【出願日】2022-06-16
(62)【分割の表示】P 2020177872の分割
【原出願日】2020-10-23
【審査請求日】2022-06-16
(32)【優先日】2019-10-31
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】510146447
【氏名又は名称】アシュラント,インコーポレーテッド
(74)【代理人】
【識別番号】110001427
【氏名又は名称】弁理士法人前田特許事務所
(72)【発明者】
【氏名】カートライト チャールズ ダニエル
(72)【発明者】
【氏名】グプタ ピユシュ
(72)【発明者】
【氏名】アルモンテ ギルバート ホゼ
【審査官】北川 純次
(56)【参考文献】
【文献】特表2014-517946(JP,A)
【文献】特開2019-029025(JP,A)
【文献】特開2010-068047(JP,A)
【文献】米国特許出願公開第2019/0007829(US,A1)
【文献】米国特許出願公開第2016/0314299(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/07
G06F 16/182
H04L 67/00
(57)【特許請求の範囲】
【請求項1】
未登録デバイスについての請求を履行するように構成されたシステムであって、少なくとも1つのプロセッサおよび少なくとも1つのメモリを含み、前記少なくとも1つのメモリが、前記メモリ内にコンピュータコード化命令を含み、前記コンピュータコード化命令が、前記プロセッサによって実行されると、前記システムに、
加入者識別子データオブジェクトと関連付けられた請求データオブジェクトを受信することであって、前記請求データオブジェクトが、デバイス識別データオブジェクトを含む、受信することと、
前記システムと関連付けられたデバイス保護プログラム加入者データベースに、前記加入者識別子データオブジェクトと関連付けられた加入者プロファイルデータオブジェクトについて照会することと、
前記デバイス保護プログラム加入者データベースが前記加入者プロファイルデータオブジェクトを含まないことを示す結果データを受信することと、
サードパーティ登録ステータス要求データオブジェクトをサードパーティデバイス管理システムに伝送することであって、前記サードパーティ登録ステータス要求データオブジェクトが、前記加入者識別子データオブジェクトおよび前記デバイス識別データオブジェクトを含む、伝送することと、
前記サードパーティデバイス管理システムから、前記加入者識別子データオブジェクトと関連付けられたサードパーティ登録ステータスを示すサードパーティ登録ステータス応答データオブジェクトを受信することであって、前記サードパーティ登録ステータスが、前記サードパーティデバイス管理システムに記憶されたサードパーティ加入者プロファイルデータオブジェクトを示す、受信することと、
前記加入者プロファイルデータオブジェクトを伴わずに前記請求データオブジェクトと関連付けられた請求処理命令セットを開始することと、を行わせるように構成されている、システム。
【請求項2】
前記システムが、
リアルタイムデバイス情報を取得するための少なくとも1つの不正防止イベントを含む不正防止命令セットを識別することと、
前記不正防止命令セットを実行することと、を行うようにさらに構成されている、請求項1に記載のシステム。
【請求項3】
前記システムが、
アクションキューと関連付けられたキュー長を受信することであって、前記アクションキューが、少なくとも前記請求データオブジェクトのサブセットを含む、受信することと、
キュー長閾値を識別することと、
前記キュー長および前記キュー長閾値に基づいて、キュー関係を識別することと、
前記キュー関係が前記キュー長閾値を満たしていると決定することと、
少なくとも1つの実行されるアクションプロセスインスタンスを含む実行されるアクションプロセスインスタンスセットを識別することと、
前記キュー長に基づいて、前記実行されるアクションプロセスインスタンスセットを更新することと、を行うようにさらに構成されている、請求項1に記載のシステム。
【請求項4】
前記請求データオブジェクトが、第1のサードパーティデバイス管理システムから受信され、前記サードパーティ登録ステータス要求データオブジェクトが、第2のサードパーティデバイス管理システムに伝送される、請求項1に記載のシステム。
【請求項5】
前記システムが、
前記加入者識別子データオブジェクトに基づいて、前記サードパーティデバイス管理システムを識別するようにさらに構成されている、請求項1に記載のシステム。
【請求項6】
前記請求データオブジェクトが、サードパーティキャリアデバイス管理システムまたはサードパーティベンダーデバイス管理システムを含む第1のサードパーティデバイス管理システムから受信され、前記サードパーティ登録ステータス要求データオブジェクトが、第2のサードパーティデバイス管理システムに伝送され、前記請求データオブジェクトが、請求タイプ識別子データオブジェクトを含み、前記システムは、
前記請求タイプ識別子データオブジェクトがデバイス紛失請求またはデバイス盗難請求を表す状況で、
デバイスロケーションアプリケーションと関連付けられたデバイスロケーションアプリケーションステータスを取得することであって、前記デバイスロケーションアプリケーションがアクセス可能であることを前記デバイスロケーションアプリケーションステータスが示す、取得することと、
前記デバイスロケーションアプリケーションと関連付けられたデバイス紛失ステータスを取得することと、
前記デバイス紛失ステータスが紛失状態に設定されていると決定することであって、
前記請求処理命令セットは、前記デバイス紛失ステータスが紛失状態に設定されているとの前記決定に応答して開始される、決定することと、を行うように、および
前記請求タイプ識別子データオブジェクトがデバイス損傷請求を表す状況で、
前記デバイスロケーションアプリケーションと関連付けられたデバイスロケーションアプリケーションステータスを取得することと、
前記デバイスロケーションアプリケーションがアクセス不能であることを前記デバイスロケーションアプリケーションステータスが示すと決定することであって、
前記請求処理命令セットは、前記デバイスロケーションアプリケーションがアクセス不能であることを前記デバイスロケーションアプリケーションステータスが示すとの前記決定に応答して開始される、決定することと、を行うようにさらに構成されている、請求項1に記載のシステム。
【請求項7】
前記請求データオブジェクトが、サードパーティキャリアデバイス管理システムまたはサードパーティベンダーデバイス管理システムを含む第1のサードパーティデバイス管理システムから受信され、前記サードパーティ登録ステータス要求データオブジェクトが、第2のサードパーティデバイス管理システムに伝送され、前記請求データオブジェクトが、請求タイプ識別子データオブジェクトを含み、前記システムは、
前記請求タイプ識別子データオブジェクトがデバイス紛失請求またはデバイス盗難請求を表す状況で、
デバイスロケーションアプリケーションと関連付けられたデバイスロケーションアプリケーションステータスを取得することであって、前記デバイスロケーションアプリケーションがアクセス不能であることを前記デバイスロケーションアプリケーションステータスが示し、
前記請求処理命令セットは、前記デバイスロケーションアプリケーションがアクセス不能であることを前記デバイスロケーションアプリケーションステータスが示すとの決定に応答して開始される、取得することを行うように、および
前記請求タイプ識別子データオブジェクトがデバイス損傷請求を表す状況で、
前記デバイスロケーションアプリケーションと関連付けられたデバイスロケーションアプリケーションステータスを取得することと、
前記デバイスロケーションアプリケーションがアクセス不能であることを前記デバイスロケーションアプリケーションステータスが示すと決定することであって、
前記請求処理命令セットは、前記デバイスロケーションアプリケーションがアクセス不能であることを前記デバイスロケーションアプリケーションステータスが示すとの前記決定に応答して開始される、決定することと、を行うようにさらに構成されている、請求項1に記載のシステム。
【請求項8】
前記請求データオブジェクトが、サードパーティ製造者デバイス管理システムを含む第1のサードパーティデバイス管理システムから受信され、前記サードパーティ登録ステータス要求データオブジェクトが、第2のサードパーティデバイス管理システムに伝送され、前記請求データオブジェクトが、請求タイプ識別子データオブジェクトを含み、前記システムは、
前記請求タイプ識別子データオブジェクトがデバイス紛失請求またはデバイス盗難請求を表す状況で、
デバイスロケーションアプリケーションと関連付けられたデバイスロケーションアプリケーションステータスを取得することであって、前記デバイスロケーションアプリケーションがアクセス可能であることを前記デバイスロケーションアプリケーションステータスが示し、
前記請求処理命令セットは、前記デバイスロケーションアプリケーションがアクセス不能であることを前記デバイスロケーションアプリケーションステータスが示すとの決定に応答して開始される、取得することを行うように、および
前記請求タイプ識別子データオブジェクトがデバイス損傷請求を表す状況で、
前記デバイスロケーションアプリケーションと関連付けられたデバイスロケーションアプリケーションステータスを取得することと、
前記デバイスロケーションアプリケーションがアクセス不能であることを前記デバイスロケーションアプリケーションステータスが示すと決定することであって、
前記請求処理命令セットは、前記デバイスロケーションアプリケーションがアクセス不能であることを前記デバイスロケーションアプリケーションステータスが示すとの前記決定に応答して開始される、決定することと、を行うようにさらに構成されている、請求項1に記載のシステム。
【請求項9】
前記システムが、
前記システムに前記加入者プロファイルデータオブジェクトを前記デバイス保護プログラム加入者データベースに記憶させない伝送エラーを受信するようにさらに構成されている、請求項1に記載のシステム。
【請求項10】
前記システムが、
前記サードパーティ登録ステータス応答データオブジェクトに基づいてシステム同期イベントを開始するようにさらに構成されている、請求項1に記載のシステム。
【請求項11】
未登録デバイスについての請求を履行するためのコンピュータ実装方法であって、
加入者識別子データオブジェクトと関連付けられた請求データオブジェクトを受信することであって、前記請求データオブジェクトが、デバイス識別データオブジェクトを含む、受信することと、
デバイス保護プログラム加入者データベースに、前記加入者識別子データオブジェクトと関連付けられた加入者プロファイルデータオブジェクトについて照会することと、
前記デバイス保護プログラム加入者データベースが前記加入者プロファイルデータオブジェクトを含まないことを示す結果データを受信することと、
サードパーティ登録ステータス要求データオブジェクトをサードパーティデバイス管理システムに伝送することであって、前記サードパーティ登録ステータス要求データオブジェクトが、前記加入者識別子データオブジェクトおよび前記デバイス識別データオブジェクトを含む、伝送することと、
前記サードパーティデバイス管理システムから、前記加入者識別子データオブジェクトと関連付けられたサードパーティ登録ステータスを示すサードパーティ登録ステータス応答データオブジェクトを受信することであって、前記サードパーティ登録ステータスが、前記サードパーティデバイス管理システムに記憶されたサードパーティ加入者プロファイルデータオブジェクトを示す、受信することと、
前記加入者プロファイルデータオブジェクトを伴わずに前記請求データオブジェクトと関連付けられた請求処理命令セットを開始することと、を含む、コンピュータ実装方法。
【請求項12】
前記コンピュータ実装方法が、
リアルタイムデバイス情報を取得するための少なくとも1つの不正防止イベントを含む不正防止命令セットを識別することと、
前記不正防止命令セットを実行することと、をさらに含む、請求項11に記載のコンピュータ実装方法。
【請求項13】
前記コンピュータ実装方法が、
アクションキューと関連付けられたキュー長を受信することであって、前記アクションキューが、少なくとも前記請求データオブジェクトのサブセットを含む、受信することと、
キュー長閾値を識別することと、
前記キュー長および前記キュー長閾値に基づいて、キュー関係を識別することと、
前記キュー関係が前記キュー長閾値を満たしていると決定することと、
少なくとも1つの実行されるアクションプロセスインスタンスを含む実行されるアクションプロセスインスタンスセットを識別することと、
前記キュー長に基づいて、前記実行されるアクションプロセスインスタンスセットを更新することと、をさらに含む、請求項11に記載のコンピュータ実装方法。
【請求項14】
前記請求データオブジェクトが、第1のサードパーティデバイス管理システムから受信され、前記サードパーティ登録ステータス要求データオブジェクトが、第2のサードパーティデバイス管理システムに伝送される、請求項11に記載のコンピュータ実装方法。
【請求項15】
前記コンピュータ実装方法が、
前記加入者識別子データオブジェクトに基づいて、前記サードパーティデバイス管理システムを識別することをさらに含む、請求項11に記載のコンピュータ実装方法。
【請求項16】
前記請求データオブジェクトが、サードパーティキャリアデバイス管理システムまたはサードパーティベンダーデバイス管理システムを含む第1のサードパーティデバイス管理システムから受信され、前記サードパーティ登録ステータス要求データオブジェクトが、第2のサードパーティデバイス管理システムに伝送され、前記請求データオブジェクトが、請求タイプ識別子データオブジェクトを含み、前記コンピュータ実装方法は、さらに、
前記請求タイプ識別子データオブジェクトがデバイス紛失請求またはデバイス盗難請求を表す状況で、
デバイスロケーションアプリケーションと関連付けられたデバイスロケーションアプリケーションステータスを取得することであって、前記デバイスロケーションアプリケーションがアクセス可能であることを前記デバイスロケーションアプリケーションステータスが示す、取得することと、
前記デバイスロケーションアプリケーションと関連付けられたデバイス紛失ステータスを取得することと、
前記デバイス紛失ステータスが紛失状態に設定されていると決定することであって、
前記請求処理命令セットは、前記デバイス紛失ステータスが紛失状態に設定されているとの前記決定に応答して開始される、決定することと、を含み、および
前記請求タイプ識別子データオブジェクトがデバイス損傷請求を表す状況で、
前記デバイスロケーションアプリケーションと関連付けられたデバイスロケーションアプリケーションステータスを取得することと、
前記デバイスロケーションアプリケーションがアクセス不能であることを前記デバイスロケーションアプリケーションステータスが示すと決定することであって、
前記請求処理命令セットは、前記デバイスロケーションアプリケーションがアクセス不能であることを前記デバイスロケーションアプリケーションステータスが示すとの前記決定に応答して開始される、決定することと、を含む、請求項11に記載のコンピュータ実装方法。
【請求項17】
前記請求データオブジェクトが、サードパーティキャリアデバイス管理システムまたはサードパーティベンダーデバイス管理システムを含む第1のサードパーティデバイス管理システムから受信され、前記サードパーティ登録ステータス要求データオブジェクトが、第2のサードパーティデバイス管理システムに伝送され、前記請求データオブジェクトが、請求タイプ識別子データオブジェクトを含み、前記コンピュータ実装方法は、さらに、
前記請求タイプ識別子データオブジェクトがデバイス紛失請求またはデバイス盗難請求を表す状況で、
デバイスロケーションアプリケーションと関連付けられたデバイスロケーションアプリケーションステータスを取得することであって、前記デバイスロケーションアプリケーションがアクセス不能であることを前記デバイスロケーションアプリケーションステータスが示し、
前記請求処理命令セットは、前記デバイスロケーションアプリケーションがアクセス不能であることを前記デバイスロケーションアプリケーションステータスが示すとの決定に応答して開始される、取得することを含み、および
前記請求タイプ識別子データオブジェクトがデバイス損傷請求を表す状況で、
前記デバイスロケーションアプリケーションと関連付けられたデバイスロケーションアプリケーションステータスを取得することと、
前記デバイスロケーションアプリケーションがアクセス不能であることを前記デバイスロケーションアプリケーションステータスが示すと決定することであって、
前記請求処理命令セットは、前記デバイスロケーションアプリケーションがアクセス不能であることを前記デバイスロケーションアプリケーションステータスが示すとの前記決定に応答して開始される、決定することと、を含む、請求項11に記載のコンピュータ実装方法。
【請求項18】
前記請求データオブジェクトが、サードパーティ製造者デバイス管理システムを含む第1のサードパーティデバイス管理システムから受信され、前記サードパーティ登録ステータス要求データオブジェクトが、第2のサードパーティデバイス管理システムに伝送され、前記請求データオブジェクトが、請求タイプ識別子データオブジェクトを含み、前記コンピュータ実装方法は、さらに、
前記請求タイプ識別子データオブジェクトがデバイス紛失請求またはデバイス盗難請求を表す状況で、
デバイスロケーションアプリケーションと関連付けられたデバイスロケーションアプリケーションステータスを取得することであって、前記デバイスロケーションアプリケーションがアクセス可能であることを前記デバイスロケーションアプリケーションステータスが示し、
前記請求処理命令セットは、前記デバイスロケーションアプリケーションがアクセス不能であることを前記デバイスロケーションアプリケーションステータスが示すとの決定に応答して開始される、取得することを含み、および
前記請求タイプ識別子データオブジェクトがデバイス損傷請求を表す状況で、
前記デバイスロケーションアプリケーションと関連付けられたデバイスロケーションアプリケーションステータスを取得することと、
前記デバイスロケーションアプリケーションがアクセス不能であることを前記デバイスロケーションアプリケーションステータスが示すと決定することであって、
前記請求処理命令セットは、前記デバイスロケーションアプリケーションがアクセス不能であることを前記デバイスロケーションアプリケーションステータスが示すとの前記決定に応答して開始される、決定することと、を含む、請求項11に記載のコンピュータ実装方法。
【請求項19】
前記コンピュータ実装方法が、
前記加入者プロファイルデータオブジェクトを前記デバイス保護プログラム加入者データベースに記憶させない伝送エラーを受信することをさらに含む、請求項11に記載のコンピュータ実装方法。
【請求項20】
前記コンピュータ実装方法が、
前記サードパーティ登録ステータス応答データオブジェクトに基づいてシステム同期イベントを開始することをさらに含む、請求項11に記載のコンピュータ実装方法。
【請求項21】
未登録デバイスについての請求を履行するためのコンピュータプログラ
ムであって
、プロセッサでの実行時に、
前記プロセッサに、
加入者識別子データオブジェクトと関連付けられた請求データオブジェクトを受信することであって、前記請求データオブジェクトが、デバイス識別データオブジェクトを含む、受信することと、
デバイス保護プログラム加入者データベースに、前記加入者識別子データオブジェクトと関連付けられた加入者プロファイルデータオブジェクトについて照会することと、
前記デバイス保護プログラム加入者データベースが前記加入者プロファイルデータオブジェクトを含まないことを示す結果データを受信することと、
サードパーティ登録ステータス要求データオブジェクトをサードパーティデバイス管理システムに伝送することであって、前記サードパーティ登録ステータス要求データオブジェクトが、前記加入者識別子データオブジェクトおよび前記デバイス識別データオブジェクトを含む、伝送することと、
前記サードパーティデバイス管理システムから、前記加入者識別子データオブジェクトと関連付けられたサードパーティ登録ステータスを示すサードパーティ登録ステータス応答データオブジェクトを受信することであって、前記サードパーティ登録ステータスが、前記サードパーティデバイス管理システムに記憶されたサードパーティ加入者プロファイルデータオブジェクトを示す、受信することと、
前記加入者プロファイルデータオブジェクトを伴わずに前記請求データオブジェクトと関連付けられた請求処理命令セットを開始することと、
を行わせるように構成されている、コンピュータプログラ
ム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、デバイス保護プログラム管理のためのシステム、方法、および装置に関し、より具体的には、同期エラーおよび計算の非効率性を低減しながらの、独立したコンピューティングシステムの並列動作に関する。
【背景技術】
【0002】
デバイス保護プログラム管理と関連付けられたものなどの、様々なコンピューティングシステムは、加入者への便利なアクセスを可能にし、かつ効率的に動作すると同時に、バルクデータを、1つ以上のサードパーティコンピューティングシステムと通信し、および同期させる必要がある。加えて、様々なシステム間の失敗した伝送に応答して受信された通信エラーにより、システムが終了したり、効率的に機能しなくなったりする可能性がある。出願人は、そのようなシステムと関連付けられたいくつかの欠陥および問題を特定した。本開示の実施形態を含む解決策は、これらの識別された問題の多くを解決し、その多くの例が、本明細書に詳細に記載される。
【発明の概要】
【0003】
一般に、本明細書で提供される本開示の実施形態は、独立したコンピューティングリソースを管理し、および同期させるためのシステム、方法、装置、およびコンピュータプログラム製品を含む。さらに、少なくともいくつかの実施形態は、ロバストなおよび/または効率的な方法で独立したコンピューティングリソースを管理し、および同期させるためのアクションを処理するために提供される。他のシステム、装置、方法、およびコンピュータプログラム製品、ならびに同様の機能は、以下の図面および詳細な説明を検討することにより、当業者に明らかであるか、または明らかになるであろう。すべてのそのような追加のシステム、装置、方法、コンピュータプログラム製品、および機能は、この説明内に含まれ、本開示の範囲内にあり、および以下の特許請求の範囲によって保護されることが意図される。
【0004】
本開示の一態様によれば、ネットワーク通信同期エラーを検出するための第1の例示的なシステムが提供される。少なくとも1つの例示的な実施形態では、第1の例示的なシステムは、少なくとも1つのプロセッサおよび少なくとも1つのメモリを含み、少なくとも1つのメモリは、メモリ内にコンピュータコード化命令を含む。コンピュータコード化命令は、少なくとも1つのプロセッサによって実行されると、第1の例示的なシステムに、デバイス保護プログラムを示し、加入者識別子データオブジェクトを含む加入者データオブジェクトを含む登録管理要求を受信させるように構成される。第1の例示的なシステムは、サードパーティ登録ステータス要求データオブジェクトをサードパーティデバイス管理システムに伝送するようにさらに構成され、サードパーティ登録ステータス要求データオブジェクトが、加入者識別子データオブジェクトと関連付けられる。第1の例示的なシステムは、サードパーティデバイス管理システムからサードパーティ登録ステータス応答データオブジェクトを受信するようにさらに構成され、サードパーティ登録ステータス応答データオブジェクトが、サードパーティ登録ステータスデータを含む。第1の例示的なシステムは、サードパーティ登録ステータス応答データオブジェクトデータを、システム内の第2の登録ステータスデータと比較するようにさらに構成される。第1の例示的なシステムは、サードパーティ登録ステータスデータとデバイス保護プログラム管理システム内の登録ステータスとの差異に基づいて、ネットワーク通信同期エラーを検出するようにさらに構成される。第1の例示的なシステムは、ネットワーク通信同期エラーに基づいてシステム同期イベントを開始するようにさらに構成される。
【0005】
これに加えて、またはこれに代えて、第1の例示的なシステムのいくつかの例示的な実施形態では、登録管理要求データオブジェクトが、登録サブスクリプション要求または登録キャンセル要求データオブジェクトを含み、システムにシステム同期イベントを開始させるために、システムは、加入者識別子データオブジェクトに基づいてDPPMS加入者プロファイルデータオブジェクトを識別し、かつサードパーティ登録ステータス応答データオブジェクトに基づいてDPPMS加入者プロファイルデータオブジェクトを更新するように、構成される。
【0006】
これに加えて、またはこれに代えて、第1の例示的なシステムのいくつかの例示的な実施形態では、システムが、サードパーティ登録ステータスデータを第2の登録ステータスデータとリアルタイムで比較するように構成される。
【0007】
これに加えて、またはこれに代えて、第1の例示的なシステムのいくつかの例示的な実施形態では、登録管理要求データオブジェクトが、登録サブスクリプション要求を含み、加入者識別子データオブジェクトと関連付けられたサードパーティ加入者プロファイルデータオブジェクトをサードパーティデバイス管理システムが含まないことを、識別されたサードパーティ登録ステータスが示し、システムにシステム同期イベントを開始させるために、サードパーティデバイス管理システムに、加入者識別子データオブジェクトと関連付けられたサードパーティ加入者プロファイルデータオブジェクトをサードパーティデバイス管理システムに作成させるように構成されたサードパーティ加入者登録要求データオブジェクトを伝送するように、システムが構成される。
【0008】
これに加えて、またはこれに代えて、第1の例示的なシステムのいくつかの例示的な実施形態では、登録管理要求データオブジェクトが、登録キャンセル要求データオブジェクトを含み、加入者識別子データオブジェクトと関連付けられたサードパーティ加入者プロファイルデータオブジェクトをサードパーティデバイス管理システムが含むことを、識別されたサードパーティ登録ステータスが示し、システム同期イベントを開始するために、サードパーティデバイス管理システムに、加入者識別子データオブジェクトと関連付けられたサードパーティ加入者プロファイルデータオブジェクトをサードパーティデバイス管理システムにキャンセルさせるように構成されたサードパーティ加入者キャンセル要求データオブジェクトを伝送するように、システムが構成される。
【0009】
これに加えて、またはこれに代えて、第1の例示的なシステムのいくつかの例示的な実施形態では、システムは、サードパーティデバイス管理システムにサードパーティ登録管理要求データオブジェクトを伝送することを試みることと、サードパーティデバイス管理システムにサードパーティ登録管理要求データオブジェクトを伝送する試みに応答して、サードパーティデバイス管理システムと通信する際のエラーを示す伝送エラーを受信することと、伝送エラーと関連付けられたエラー分類を識別することであって、エラー分類が、再試行可能なエラーを含む、識別することと、要求再試行時間を決定することと、要求再試行時間が経過した後、サードパーティデバイス管理システムに第2のサードパーティ登録ステータス要求データオブジェクトを伝送することと、サードパーティデバイス管理システムから第2のサードパーティ登録ステータス応答データオブジェクトを受信することと、第2のサードパーティ登録ステータス応答データオブジェクトをリアルタイムで分析して、加入者識別子データオブジェクトと関連付けられた第2のサードパーティ登録ステータスを識別することと、第2の識別されたサードパーティ登録ステータスデータに基づいて、第2のシステム同期イベントを開始することと、を行うようにさらに構成される。
【0010】
これに加えて、またはこれに代えて、第1の例示的なシステムのいくつかの例示的な実
施形態では、サードパーティデバイス管理システムが、第2のサードパーティデバイス管理システムを含み、システムが、第1のサードパーティデバイス管理システムから登録管理要求を受信するように構成される。
【0011】
これに加えて、またはこれに代えて、第1の例示的なシステムのいくつかの例示的な実施形態では、システムが、加入者識別子データオブジェクトに基づいてサードパーティデバイス管理システムを識別するようにさらに構成される。
【0012】
これに加えて、またはこれに代えて、第1の例示的なシステムのいくつかの例示的な実施形態では、システムが、アクションキューと関連付けられたキュー長を受信することであって、アクションキューが、少なくともサードパーティ登録ステータス要求を含む、受信することと、キュー長閾値を識別することと、キュー長およびキュー長閾値に基づいて、キュー関係を識別することと、キュー関係がキュー長閾値を満たしていると決定することと、少なくとも1つの実行されるアクションプロセスインスタンスを含む実行されるアクションプロセスインスタンスセットを識別することと、キュー長に基づいて、実行されるアクションプロセスインスタンスセットを更新することと、を行うようにさらに構成される。
【0013】
本開示の別の態様によれば、ネットワーク通信同期エラーを検出するための第1の例示的なコンピュータ実装方法が提供される。コンピュータ実施方法は、本明細書に記載されるように、ハードウェア、ソフトウェア、ファームウェア、および/またはそれらの組み合わせを計算することによって実行される動作を含む。少なくとも1つの例示的な実施形態では、第1の例示的なコンピュータ実装方法は、デバイス保護プログラムを示し、加入者識別子データオブジェクトを含む加入者データオブジェクトを含む登録管理要求を受信することを含む。第1の例示的なコンピュータ実装方法は、サードパーティ登録ステータス要求データオブジェクトをサードパーティデバイス管理システムに伝送することをさらに含み、サードパーティ登録ステータス要求データオブジェクトが、加入者識別子データオブジェクトと関連付けられる。第1の例示的なコンピュータ実装方法は、サードパーティデバイス管理システムからサードパーティ登録ステータス応答データオブジェクトを受信することをさらに含み、サードパーティ登録ステータス応答データオブジェクトが、サードパーティ登録ステータスデータをさらに含む。第1の例示的なコンピュータ実装方法は、サードパーティ登録ステータス応答データオブジェクトデータを、システム内の第2の登録ステータスデータと比較することをさらに含む。第1の例示的なコンピュータ実装方法は、サードパーティ登録ステータスデータとデバイス保護プログラム管理システム内の登録ステータスとの差異に基づいて、ネットワーク通信同期エラーを検出することをさらに含む。第1の例示的なコンピュータ実装方法は、ネットワーク通信同期エラーに基づいてシステム同期イベントを開始することをさらに含む。
【0014】
これに加えて、またはこれに代えて、第1の例示的なコンピュータ実装方法のいくつかの例示的な実施形態では、登録管理要求データオブジェクトが、登録サブスクリプション要求または登録キャンセル要求データオブジェクトを含み、システム同期イベントを開始することが、加入者識別子データオブジェクトに基づいてDPPMS加入者プロファイルデータオブジェクトを識別することと、サードパーティ登録ステータス応答データオブジェクトに基づいてDPPMS加入者プロファイルデータオブジェクトを更新することと、を含む。
【0015】
これに加えて、またはこれに代えて、第1の例示的なコンピュータ実装方法のいくつかの例示的な実施形態では、サードパーティ登録ステータスデータを第2の登録ステータスデータと比較することが、リアルタイムで実行される。
【0016】
これに加えて、またはこれに代えて、第1の例示的なコンピュータ実装方法のいくつかの例示的な実施形態では、登録管理要求データオブジェクトが、登録サブスクリプション要求を含み、加入者識別子データオブジェクトと関連付けられたサードパーティ加入者プロファイルデータオブジェクトをサードパーティデバイス管理システムが含まないことを、識別されたサードパーティ登録ステータスが示し、システム同期イベントを開始することが、サードパーティデバイス管理システムに、加入者識別子データオブジェクトと関連付けられたサードパーティ加入者プロファイルデータオブジェクトをサードパーティデバイス管理システムに作成させるように構成されたサードパーティ加入者登録要求データオブジェクトを伝送することを含む。
【0017】
これに加えて、またはこれに代えて、第1の例示的なコンピュータ実装方法のいくつかの例示的な実施形態では、登録管理要求データオブジェクトが、登録キャンセル要求データオブジェクトを含み、加入者識別子データオブジェクトと関連付けられたサードパーティ加入者プロファイルデータオブジェクトをサードパーティデバイス管理システムが含むことを、識別されたサードパーティ登録ステータスが示し、システム同期イベントを開始することが、サードパーティデバイス管理システムに、加入者識別子データオブジェクトと関連付けられたサードパーティ加入者プロファイルデータオブジェクトをサードパーティデバイス管理システムにキャンセルさせるように構成されたサードパーティ加入者キャンセル要求データオブジェクトを伝送することを含む。
【0018】
これに加えて、またはこれに代えて、第1の例示的なコンピュータ実装方法のいくつかの例示的な実施形態では、コンピュータ実装方法が、サードパーティデバイス管理システムにサードパーティ登録管理要求データオブジェクトを伝送することを試みることと、サードパーティデバイス管理システムにサードパーティ登録管理要求データオブジェクトを伝送する試みに応答して、サードパーティデバイス管理システムと通信する際のエラーを示す伝送エラーを受信することと、伝送エラーと関連付けられたエラー分類を識別することであって、エラー分類が、再試行可能なエラーを含む、識別することと、要求再試行時間を決定することと、要求再試行時間が経過した後、サードパーティデバイス管理システムに第2のサードパーティ登録ステータス要求データオブジェクトを伝送することと、サードパーティデバイス管理システムから第2のサードパーティ登録ステータス応答データオブジェクトを受信することと、第2のサードパーティ登録ステータス応答データオブジェクトをリアルタイムで分析して、加入者識別子データオブジェクトと関連付けられた第2のサードパーティ登録ステータスを識別することと、第2の識別されたサードパーティ登録ステータスデータに基づいて、第2のシステム同期イベントを開始することと、をさらに含む。
【0019】
これに加えて、またはこれに代えて、第1の例示的なコンピュータ実装方法のいくつかの例示的な実施形態では、サードパーティデバイス管理システムが、第2のサードパーティデバイス管理システムを含み、登録管理要求を受信することが、第1のサードパーティデバイス管理システムからである。
【0020】
これに加えて、またはこれに代えて、第1の例示的なコンピュータ実装方法のいくつかの例示的な実施形態では、コンピュータ実装方法が、加入者識別子データオブジェクトに基づいてサードパーティデバイス管理システムを識別することをさらに含む。
【0021】
これに加えて、またはこれに代えて、第1の例示的なコンピュータ実装方法のいくつかの例示的な実施形態では、コンピュータ実装方法が、アクションキューと関連付けられたキュー長を受信することであって、アクションキューが、少なくともサードパーティ登録ステータス要求を含む、受信することと、キュー長閾値を識別することと、キュー長およびキュー長閾値に基づいて、キュー関係を識別することと、キュー関係がキュー長閾値を
満たしていると決定することと、少なくとも1つの実行されるアクションプロセスインスタンスを含む実行されるアクションプロセスインスタンスセットを識別することと、キュー長に基づいて、実行されるアクションプロセスインスタンスセットを更新することと、をさらに含む。
【0022】
本開示の別の態様によれば、ネットワーク通信同期エラーを検出するための第1の例示的なコンピュータプログラム製品が提供される。少なくとも1つの例示的な実施形態では、第1の例示的なコンピュータプログラム製品は、コンピュータプログラム命令を担持する少なくとも1つの非一過性のコンピュータ可読記憶媒体を含み、コンピュータプログラム命令が、プロセッサでの実行時に、デバイス保護プログラムを示し、加入者識別子データオブジェクトを含む加入者データオブジェクトを含む登録管理要求を受信するために構成される。第1の例示的なコンピュータプログラムは、サードパーティ登録ステータス要求データオブジェクトをサードパーティデバイス管理に伝送するためにさらに構成され、サードパーティ登録ステータス要求データオブジェクトが、加入者識別子データオブジェクトと関連付けられる。第1の例示的なコンピュータプログラムは、サードパーティデバイス管理システムからサードパーティ登録ステータス応答データオブジェクトを受信するためにさらに構成され、サードパーティ登録ステータス応答データオブジェクトが、サードパーティ登録ステータスデータを含む。第1の例示的なコンピュータプログラムは、サードパーティ登録ステータス応答データオブジェクトデータを、システム内の第2の登録ステータスデータと比較するようにさらに構成される。第1の例示的なコンピュータプログラムは、サードパーティ登録ステータスデータとデバイス保護プログラム管理システム内の登録ステータスとの差異に基づいて、ネットワーク通信同期エラーを検出するためにさらに構成される。第1の例示的なコンピュータプログラムは、ネットワーク通信同期エラーに基づいてシステム同期イベントを開始するためにさらに構成される。
【0023】
これに加えて、またはこれに代えて、第1の例示的なコンピュータプログラム製品のいくつかの例示的な実施形態では、登録管理要求データオブジェクトが、登録サブスクリプション要求または登録キャンセル要求データオブジェクトを含み、システム同期イベントを開始することが、加入者識別子データオブジェクトに基づいてDPPMS加入者プロファイルデータオブジェクトを識別することと、サードパーティ登録ステータス応答データオブジェクトに基づいてDPPMS加入者プロファイルデータオブジェクトを更新することと、を含む。
【0024】
これに加えて、またはこれに代えて、第1の例示的なコンピュータプログラム製品のいくつかの例示的な実施形態では、サードパーティ登録ステータスデータを第2の登録ステータスデータと比較することが、リアルタイムで実行される。
【0025】
これに加えて、またはこれに代えて、第1の例示的なコンピュータプログラム製品のいくつかの例示的な実施形態では、登録管理要求データオブジェクトが、登録サブスクリプション要求を含み、加入者識別子データオブジェクトと関連付けられたサードパーティ加入者プロファイルデータオブジェクトをサードパーティデバイス管理システムが含まないことを、識別されたサードパーティ登録ステータスが示し、システム同期イベントを開始することが、サードパーティデバイス管理システムに、加入者識別子データオブジェクトと関連付けられたサードパーティ加入者プロファイルデータオブジェクトをサードパーティデバイス管理システムに作成させるように構成されたサードパーティ加入者登録要求データオブジェクトを伝送することを含む。
【0026】
これに加えて、またはこれに代えて、第1の例示的なコンピュータプログラム製品のいくつかの例示的な実施形態では、登録管理要求データオブジェクトが、登録キャンセル要求データオブジェクトを含み、加入者識別子データオブジェクトと関連付けられたサード
パーティ加入者プロファイルデータオブジェクトをサードパーティデバイス管理システムが含むことを、識別されたサードパーティ登録ステータスが示し、システム同期イベントを開始することが、サードパーティデバイス管理システムに、加入者識別子データオブジェクトと関連付けられたサードパーティ加入者プロファイルデータオブジェクトをサードパーティデバイス管理システムにキャンセルさせるように構成されたサードパーティ加入者キャンセル要求データオブジェクトを伝送することを含む。
【0027】
これに加えて、またはこれに代えて、第1の例示的なコンピュータプログラム製品のいくつかの例示的な実施形態では、コンピュータプログラム製品が、サードパーティデバイス管理システムにサードパーティ登録管理要求データオブジェクトを伝送することを試みることと、サードパーティデバイス管理システムにサードパーティ登録管理要求データオブジェクトを伝送する試みに応答して、サードパーティデバイス管理システムと通信する際のエラーを示す伝送エラーを受信することと、伝送エラーと関連付けられたエラー分類を識別することであって、エラー分類が、再試行可能なエラーを含む、識別することと、要求再試行時間を決定することと、要求再試行時間が経過した後、サードパーティデバイス管理システムに第2のサードパーティ登録ステータス要求データオブジェクトを伝送することと、サードパーティデバイス管理システムから第2のサードパーティ登録ステータス応答データオブジェクトを受信することと、第2のサードパーティ登録ステータス応答データオブジェクトをリアルタイムで分析して、加入者識別子データオブジェクトと関連付けられた第2のサードパーティ登録ステータスを識別することと、第2の識別されたサードパーティ登録ステータスデータに基づいて、第2のシステム同期イベントを開始することと、をさらに含む。
【0028】
これに加えて、またはこれに代えて、第1の例示的なコンピュータプログラム製品のいくつかの例示的な実施形態では、サードパーティデバイス管理システムが、第2のサードパーティデバイス管理システムを含み、登録管理要求を受信することが、第1のサードパーティデバイス管理システムからである。
【0029】
これに加えて、またはこれに代えて、第1の例示的なコンピュータプログラム製品のいくつかの例示的な実施形態では、コンピュータプログラム製品が、加入者識別子データオブジェクトに基づいてサードパーティデバイス管理システムを識別するためのコンピュータプログラム命令をさらに含む。
【0030】
これに加えて、またはこれに代えて、第1の例示的なコンピュータプログラム製品のいくつかの例示的な実施形態では、コンピュータプログラム製品が、アクションキューと関連付けられたキュー長を受信することであって、アクションキューが、少なくともサードパーティ登録ステータス要求を含む、受信することと、キュー長閾値を識別することと、キュー長およびキュー長閾値に基づいて、キュー関係を識別することと、キュー関係がキュー長閾値を満たしていると決定することと、少なくとも1つの実行されるアクションプロセスインスタンスを含む実行されるアクションプロセスインスタンスセットを識別することと、キュー長に基づいて、実行されるアクションプロセスインスタンスセットを更新することと、を行うためのコンピュータプログラム命令をさらに含む。
【0031】
本開示の一態様によれば、ネットワーク通信同期エラーを検出するための第2の例示的なシステムが提供される。少なくとも1つのメモリ上にコンピュータコード化命令を含む少なくとも1つの実施形態では、コンピュータコード化命令が、少なくとも1つのプロセッサでの実行時に、システムを、システムからサードパーティデバイス管理にサードパーティ登録管理要求データオブジェクトを伝送することを試みるように構成する。第2の例示的なシステムは、試みられた伝送中の少なくとも1つのエラーの発生を示す、サードパーティデバイス管理システムへの試みられた伝送と関連付けられた伝送エラーを検出する
ようにさらに構成される。第2の例示的なシステムは、伝送エラーと関連付けられたエラー分類を識別するようにさらに構成される。第2の例示的なシステムは、エラー分類に基づいてエラー処理命令セットを識別するようにさらに構成される。第2の例示的なシステムは、エラー処理命令セットを実行するようにさらに構成される。
【0032】
これに加えて、またはこれに代えて、第2の例示的なシステムのいくつかの例示的な実施形態では、訓練されたエラー分類機会学習モデルを識別し、かつ訓練されたエラー分類機械学習モデルを使用してエラー分類を識別するように、構成される。
【0033】
これに加えて、またはこれに代えて、第2の例示的なシステムのいくつかの例示的な実施形態では、識別されたエラー分類再試行可能なエラー、およびエラー処理命令セットを実行するために、システムが、エスカレーションキューを識別するように、かつ再試行可能なエラーをエスカレーションキューに追加するように、構成される。
【0034】
これに加えて、またはこれに代えて、第2の例示的なシステムのいくつかの例示的な実施形態では、識別されたエラー分類が、再試行可能なエラーであり、エラー処理命令セットを実行するために、システムが、再試行最大閾値を識別することと、再試行試み数を識別することと、再試行最大閾値と再試行試み数との間の再試行関係を決定することと、再試行関係が、再試行最大閾値を満たしていると決定することと、要求再試行時間を決定することと、失敗した伝送を要求キューに追加して、要求再試行時間が経過した後に、失敗した伝送を再伝送することを試みることと、を行うように構成される。
【0035】
これに加えて、またはこれに代えて、第2の例示的なシステムのいくつかの例示的な実施形態では、要求再試行時間を決定するために、システムが、再試行試み数に基づいて要求再試行時間を更新するように構成される。これに加えて、またはこれに代えて、第2の例示的なシステムのいくつかの例示的な実施形態では、要求再試行時間を決定するために、システムが、指数バックオフに基づいて要求再試行時間を更新するように構成される。
【0036】
これに加えて、またはこれに代えて、第2の例示的なシステムのいくつかの例示的な実施形態では、識別されたエラー分類が、エスカレーションエラーを含み、エラー処理命令セットを実行するために、システムが、失敗した伝送を伝送キューに追加するように構成される。
【0037】
これに加えて、またはこれに代えて、第2の例示的なシステムのいくつかの例示的な実施形態では、エラー分類セットから識別された識別されたエラー分類が、エスカレーションエラーであり、エラー処理命令セットを実行するために、システムが、エラーエスカレーション要求をサードパーティエラー処理システムに伝送するように構成される。
【0038】
これに加えて、またはこれに代えて、第2の例示的なシステムのいくつかの例示的な実施形態では、システムが、サードパーティ登録ステータス要求データオブジェクトと関連付けられたアクションキューと関連付けられたキュー長を受信することと、キュー長閾値を識別することと、キュー長およびキュー長閾値に基づいて、キュー関係を識別することと、キュー関係がキュー長閾値を満たしていると決定することと、少なくとも1つの実行されるアクションプロセスインスタンスを含む実行されるアクションプロセスインスタンスセットを識別することと、キュー長に基づいて、実行されるアクションプロセスインスタンスセットを更新することと、を行うようにさらに構成される。
【0039】
ネットワーク伝送エラーを検出するための第2の例示的なコンピュータ実装方法である本開示の別の態様によれば、コンピュータ実装方法が、本明細書に記載されるコンピューティングハードウェア、ソフトウェア、および/またはファームウェアを介して実装する
ための少なくともいくつかの実施形態で提供される。第2の例示的なコンピュータ実装方法は、サードパーティデバイス管理システムにサードパーティ登録管理要求データオブジェクトを伝送することを試みることを含む。第2のコンピュータ実装方法は、試みられた伝送中の少なくとも1つのエラーの発生を示す、サードパーティデバイス管理システムへの試みられた伝送と関連付けられた伝送エラーを検出することをさらに含む。第2のコンピュータ実装方法は、伝送エラーと関連付けられたエラー分類を識別することをさらに含む。第2のコンピュータ実装方法は、エラー分類に基づいてエラー処理命令セットを識別することをさらに含む。第2のコンピュータ実装方法は、エラー処理命令セットを実行することをさらに含む。
【0040】
これに加えて、またはこれに代えて、第2の例示的なコンピュータ実装方法のいくつかの例示的な実施形態では、エラー分類を識別することが、訓練されたエラー分類機械学習モデルを識別することと、訓練されたエラー分類機械学習モデルを使用してエラー分類を識別することと、を含む。
【0041】
これに加えて、またはこれに代えて、第2の例示的なコンピュータ実装方法のいくつかの例示的な実施形態では、識別されたエラー分類再試行可能なエラー、エラー処理命令セットを実行することが、エスカレーションキューを識別することと、再試行可能なエラーをエスカレーションキューに追加することと、を含む。
【0042】
これに加えて、またはこれに代えて、第2の例示的なシステムのいくつかの例示的な実施形態では、識別されたエラー分類が、再試行可能なエラーであり、エラー処理命令セットを実行することが、再試行最大閾値を識別することと、再試行試み数を識別することと、再試行最大閾値と再試行試み数との間の再試行関係を決定することと、再試行関係が、再試行最大閾値を満たしていると決定することと、要求再試行時間を決定することと、失敗した伝送を要求キューに追加して、要求再試行時間が経過した後に、失敗した伝送を再伝送することを試みることと、を含む。
【0043】
これに加えて、またはこれに代えて、第2の例示的なコンピュータ実装方法のいくつかの例示的な実施形態では、要求再試行時間を決定することが、再試行試み数に基づいて要求再試行時間を更新することを含む。これに加えて、またはこれに代えて、第2の例示的なコンピュータ実装方法のいくつかの例示的な実施形態では、要求再試行時間を決定することが、指数バックオフに基づいて要求再試行時間を更新することを含む。
【0044】
これに加えて、またはこれに代えて、第2の例示的なコンピュータ実装方法のいくつかの例示的な実施形態では、識別されたエラー分類が、エスカレーションエラーを含み、エラー処理命令セットを実行することが、失敗した伝送を伝送キューに追加することを含む。
【0045】
これに加えて、またはこれに代えて、第2の例示的なコンピュータ実装方法のいくつかの例示的な実施形態では、エラー分類セットから識別された識別されたエラー分類が、エスカレーションエラーであり、エラー処理命令セットを実行することが、エラーエスカレーション要求をサードパーティエラー処理システムに伝送することを含む。
【0046】
これに加えて、またはこれに代えて、第2の例示的なコンピュータ実装方法のいくつかの例示的な実施形態では、コンピュータ実装方法が、サードパーティ登録ステータス要求データオブジェクトと関連付けられたアクションキューと関連付けられたキュー長を受信することと、キュー長閾値を識別することと、キュー長およびキュー長閾値に基づいて、キュー関係を識別することと、キュー関係がキュー長閾値を満たしていると決定することと、少なくとも1つの実行されるアクションプロセスインスタンスを含む実行されるアク
ションプロセスインスタンスセットを識別することと、キュー長に基づいて、実行されるアクションプロセスインスタンスセットを更新することと、をさらに含む。
【0047】
本開示の別の態様によれば、ネットワーク伝送エラーを検出するための第2の例示的なコンピュータプログラム製品が提供される。少なくとも1つの例示的な実施形態では、第2の例示的なコンピュータプログラム製品は、コンピュータプログラム命令を含み、コンピュータプログラム命令が、サードパーティ登録管理要求データオブジェクトをサードパーティデバイス管理システムに伝送することを試みるために構成される。第2のコンピュータプログラム製品は、試みられた伝送中の少なくとも1つのエラーの発生を示す、サードパーティデバイス管理システムへの伝送の試みと関連付けられた伝送エラーを検出するために、さらに構成される。第2のコンピュータプログラム製品は、伝送エラーと関連付けられたエラー分類を識別するためにさらに構成される。第2のコンピュータプログラム製品は、エラー分類に基づいてエラー処理命令セットを識別するためにさらに構成される。第2のコンピュータプログラム製品は、エラー処理命令セットを実行するためにさらに構成される。
【0048】
これに加えて、またはこれに代えて、第2の例示的なコンピュータプログラム製品のいくつかの例示的な実施形態では、エラー分類を識別することが、訓練されたエラー分類機械学習モデルを識別することと、訓練されたエラー分類機械学習モデルを使用してエラー分類を識別することと、を含む。
【0049】
これに加えて、またはこれに代えて、第2の例示的なコンピュータプログラム製品のいくつかの例示的な実施形態では、識別されたエラー分類再試行可能なエラー、エラー処理命令セットを実行することが、エスカレーションキューを識別することと、再試行可能なエラーをエスカレーションキューに追加することと、を含む。
【0050】
これに加えて、またはこれに代えて、第2の例示的なコンピュータプログラム製品のいくつかの例示的な実施形態では、識別されたエラー分類が、再試行可能なエラーであり、エラー処理命令セットを実行することが、再試行最大閾値を識別することと、再試行試み数を識別することと、再試行最大閾値と再試行試み数との間の再試行関係を決定することと、再試行関係が、再試行最大閾値を満たしていると決定することと、要求再試行時間を決定することと、失敗した伝送を要求キューに追加して、要求再試行時間が経過した後に、失敗した伝送を再伝送することを試みることと、を含む。
【0051】
これに加えて、またはこれに代えて、第2の例示的なコンピュータプログラム製品のいくつかの例示的な実施形態では、要求再試行時間を決定することが、再試行試み数に基づいて要求再試行時間を更新することを含む。これに加えて、またはこれに代えて、第2の例示的なコンピュータプログラム製品のいくつかの例示的な実施形態では、要求再試行時間を決定することが、指数バックオフに基づいて要求再試行時間を更新することを含む。
【0052】
これに加えて、またはこれに代えて、第2の例示的なコンピュータプログラム製品のいくつかの例示的な実施形態では、識別されたエラー分類が、エスカレーションエラーを含み、エラー処理命令セットを実行することが、失敗した伝送を伝送キューに追加することを含む。
【0053】
これに加えて、またはこれに代えて、第2の例示的なコンピュータプログラム製品のいくつかの例示的な実施形態では、エラー分類セットから識別された識別されたエラー分類が、エスカレーションエラーであり、エラー処理命令セットを実行することが、エラーエスカレーション要求をサードパーティエラー処理システムに伝送することを含む。
【0054】
これに加えて、またはこれに代えて、第2の例示的なコンピュータ実装方法のいくつかの例示的な実施形態では、コンピュータ実装方法が、サードパーティ登録ステータス要求データオブジェクトと関連付けられたアクションキューと関連付けられたキュー長を受信することと、キュー長閾値を識別することと、キュー長およびキュー長閾値に基づいて、キュー関係を識別することと、キュー関係がキュー長閾値を満たしていると決定することと、少なくとも1つの実行されるアクションプロセスインスタンスを含む実行されるアクションプロセスインスタンスセットを識別することと、キュー長に基づいて、実行されるアクションプロセスインスタンスセットを更新することと、をさらに含む。
【0055】
本開示のさらに別の態様によれば、未登録デバイスについての請求を履行するための第3の例示的なシステムが提供される。第3の例示的なシステムは、コンピュータコード化命令によって、加入者識別子データオブジェクトと関連付けられた請求データオブジェクトを受信するように構成され、請求データオブジェクトが、デバイス識別データオブジェクトを含む。第3の例示的なシステムは、システムと関連付けられたデバイス保護プログラム加入者データベースに、加入者識別子データオブジェクトと関連付けられた加入者プロファイルデータオブジェクトについて照会するようにさらに構成される。第3の例示的なシステムは、デバイス保護プログラムデータベースが加入者プロファイルデータオブジェクトを含まないことを示す結果データを受信するようにさらに構成される。第3の例示的なシステムは、サードパーティ登録ステータス要求をサードパーティデバイス管理システムに伝送するようにさらに構成され、サードパーティ登録ステータス要求データオブジェクトは、加入者識別子データオブジェクトおよびデバイス識別データオブジェクトを含む。第3の例示的なシステムは、サードパーティデバイス管理システムから、加入者識別子データオブジェクトと関連付けられたサードパーティ登録ステータスを示すサードパーティ登録ステータス応答データオブジェクトを受信するようにさらに構成され、サードパーティ登録ステータスが、サードパーティデバイス管理システムに記憶されたサードパーティ加入者プロファイルデータオブジェクトを示す。第3の例示的なシステムは、加入者プロファイルデータオブジェクトを伴わずに請求データオブジェクトと関連付けられた請求処理命令セットを開始するようにさらに構成される。
【0056】
これに加えて、またはこれに代えて、第3の例示的なシステムのいくつかの例示的な実施形態では、システムは、リアルタイムデバイス情報を取得するための少なくとも1つの不正防止イベントを含む不正防止命令セットを識別し、かつ不正防止命令セットを実行するようにさらに構成される。
【0057】
これに加えて、またはこれに代えて、第3の例示的なシステムのいくつかの例示的な実施形態では、システムが、アクションキューと関連付けられたキュー長を受信することであって、アクションキューが、少なくとも要求データオブジェクトのサブセットを含む、受信することと、キュー長閾値を識別することと、キュー長およびキュー長閾値に基づいて、キュー関係を識別することと、キュー関係がキュー長閾値を満たしていると決定することと、少なくとも1つの実行されるアクションプロセスインスタンスを含む実行されるアクションプロセスインスタンスセットを識別することと、キュー長に基づいて、実行されるアクションプロセスインスタンスセットを更新することと、を行うようにさらに構成される。
【0058】
これに加えて、またはこれに代えて、第3の例示的なシステムのいくつかの例示的な実施形態では、請求データオブジェクトが、第1のサードパーティデバイス管理システムから受信され、サードパーティ登録ステータス要求が、第2のサードパーティデバイス管理システムに伝送される。これに加えて、またはこれに代えて、第3の例示的なシステムのいくつかの例示的な実施形態では、システムが、加入者識別子データオブジェクトに基づいてサードパーティデバイス管理システムを識別するようにさらに構成される。
【0059】
これに加えて、またはこれに代えて、第3の例示的なシステムのいくつかの例示的な実施形態では、請求データオブジェクトが、サードパーティキャリアデバイス管理システムまたはサードパーティベンダーデバイス管理システムを含む第1のサードパーティデバイス管理システムから受信され、サードパーティ登録ステータス要求が、第2のサードパーティデバイス管理システムに伝送され、請求データオブジェクトが、請求タイプ識別子データオブジェクトを含み、システムは、請求タイプ識別子データオブジェクトがデバイス紛失請求またはデバイス盗難請求を表す状況で、デバイスロケーションアプリケーションと関連付けられたデバイスロケーションアプリケーションステータスを取得することであって、デバイスロケーションアプリケーションがアクセス可能であることをデバイスロケーションアプリケーションステータスが示す、取得することと、デバイスロケーションアプリケーションと関連付けられたデバイス紛失ステータスを取得することと、デバイス紛失ステータスが紛失状態に設定されていると決定することであって、請求処理命令セットは、デバイス紛失ステータスが紛失状態に設定されているとの決定に応答して開始される、決定することと、を行うように、および請求タイプ識別子データオブジェクトがデバイス損傷請求を表す状況で、デバイスロケーションアプリケーションと関連付けられたデバイスロケーションアプリケーションステータスを取得することと、デバイスロケーションアプリケーションがアクセス不能であることをデバイスロケーションアプリケーションステータスが示すと決定することであって、請求処理命令セットは、デバイスロケーションアプリケーションがアクセス不能であることをデバイスロケーションアプリケーションステータスが示すとの決定に応答して開始される、決定することと、を行うようにさらに構成される。
【0060】
これに加えて、またはこれに代えて、第3の例示的なシステムのいくつかの例示的な実施形態では、請求データオブジェクトが、サードパーティキャリアデバイス管理システムまたはサードパーティベンダーデバイス管理システムを含む第1のサードパーティデバイス管理システムから受信され、サードパーティ登録ステータス要求が、第2のサードパーティデバイス管理システムに伝送され、請求データオブジェクトが、請求タイプ識別子データオブジェクトを含み、システムは、請求タイプ識別子データオブジェクトがデバイス紛失請求またはデバイス盗難請求を表す状況で、デバイスロケーションアプリケーションと関連付けられたデバイスロケーションアプリケーションステータスを取得することであって、デバイスロケーションアプリケーションがアクセス不能であることをデバイスロケーションアプリケーションステータスが示し、請求処理命令セットは、デバイスロケーションアプリケーションがアクセス不能であることをデバイスロケーションアプリケーションステータスが示すとの決定に応答して開始される、取得することを行うように、および請求タイプ識別子データオブジェクトがデバイス損傷請求を表す状況で、デバイスロケーションアプリケーションと関連付けられたデバイスロケーションアプリケーションステータスを取得することと、デバイスロケーションアプリケーションがアクセス不能であることをデバイスロケーションアプリケーションステータスが示すと決定することであって、請求処理命令セットは、デバイスロケーションアプリケーションがアクセス不能であることをデバイスロケーションアプリケーションステータスが示すとの決定に応答して開始される、決定することと、を行うようにさらに構成される。
【0061】
これに加えて、またはこれに代えて、第3の例示的なシステムのいくつかの例示的な実施形態では、請求データオブジェクトが、サードパーティ製造者デバイス管理システムを含む第1のサードパーティデバイス管理システムから受信され、サードパーティ登録ステータス要求が、第2のサードパーティデバイス管理システムに伝送され、請求データオブジェクトが、請求タイプ識別子データオブジェクトを含み、システムは、請求タイプ識別子データオブジェクトがデバイス紛失請求またはデバイス盗難請求を表す状況で、デバイスロケーションアプリケーションと関連付けられたデバイスロケーションアプリケーショ
ンステータスを取得することであって、デバイスロケーションアプリケーションがアクセス可能であることをデバイスロケーションアプリケーションステータスが示し、請求処理命令セットは、デバイスロケーションアプリケーションがアクセス不能であることをデバイスロケーションアプリケーションステータスが示すとの決定に応答して開始される、取得することを行うように、および請求タイプ識別子データオブジェクトがデバイス損傷請求を表す状況で、デバイスロケーションアプリケーションと関連付けられたデバイスロケーションアプリケーションステータスを取得することと、デバイスロケーションアプリケーションがアクセス不能であることをデバイスロケーションアプリケーションステータスが示すと決定することであって、請求処理命令セットは、デバイスロケーションアプリケーションがアクセス不能であることをデバイスロケーションアプリケーションステータスが示すとの決定に応答して開始される、決定することと、を行うようにさらに構成される。
【0062】
これに加えて、またはこれに代えて、第3の例示的なシステムのいくつかの例示的な実施形態では、システムが、システムに加入者プロファイルデータオブジェクトをデバイス保護プログラムデータベースに記憶させない伝送エラーを受信するようにさらに構成される。これに加えて、またはこれに代えて、第3の例示的なシステムのいくつかの例示的な実施形態では、システムが、サードパーティ登録ステータス応答データオブジェクトに基づいてシステム同期イベントを開始するようにさらに構成される。
【0063】
本開示の別の態様によれば、未登録デバイスについての請求を履行するための第3の例示的なコンピュータ実装方法が提供される。第3の例示的なコンピュータ実施方法は、本明細書に記載されるように、ハードウェア、ソフトウェア、ファームウェア、および/またはそれらの組み合わせを計算することによって実行される動作を含む。いくつかの実施形態では、コンピュータ実施方法は、上述した第3の例示的な装置によって実行される動作を含む。例えば、少なくとも1つの実施形態では、第3の例示的なコンピュータ実装方法は、少なくとも、加入者識別子データオブジェクトと関連付けられた請求データオブジェクトを受信することであって、請求データオブジェクトが、デバイス識別データオブジェクトを含む、受信することと、システムと関連付けられたデバイス保護プログラム加入者データベースに、加入者識別子データオブジェクトと関連付けられた加入者プロファイルデータオブジェクトについて照会することと、デバイス保護プログラムデータベースが加入者プロファイルデータオブジェクトを含まないことを示す結果データを受信することと、サードパーティ登録ステータス要求をサードパーティデバイス管理システムに伝送することであって、サードパーティ登録ステータス要求データオブジェクトが、加入者識別子データオブジェクトおよびデバイス識別データオブジェクトを含む、伝送することと、サードパーティデバイス管理システムから、加入者識別子データオブジェクトと関連付けられたサードパーティ登録ステータスを示すサードパーティ登録ステータス応答データオブジェクトを受信することであって、サードパーティ登録ステータスが、サードパーティデバイス管理システムに記憶されたサードパーティ加入者プロファイルデータオブジェクトを示す、受信することと、加入者プロファイルデータオブジェクトを伴わずに請求データオブジェクトと関連付けられた請求処理命令セットを開始することと、を含む。これに加えて、またはこれに代えて、第3の例示的なコンピュータ実装方法は、構成された第3の例示的な装置の実施形態のいずれかによって実行される上述の動作のいずれかを含み得る。
【0064】
本開示の別の態様によれば、未登録デバイスについての請求を履行するための第3の例示的なコンピュータプログラム製品が提供される。第3の例示的なコンピュータプログラム製品は、少なくとも1つの非一過性コンピュータ可読記憶媒体上に記憶されたコンピュータプログラム命令を含む。いくつかの実施形態では、第3の例示的なコンピュータプログラム製品は、上述した第3の例示的な装置によって実行される動作を実行するために構
成されたコンピュータプログラム命令を含む。例えば、少なくとも1つの実施形態では、第3の例示的なコンピュータプログラム製品は、少なくとも、加入者識別子データオブジェクトと関連付けられた請求データオブジェクトを受信することであって、請求データオブジェクトが、デバイス識別データオブジェクトを含む、受信することと、システムと関連付けられたデバイス保護プログラム加入者データベースに、加入者識別子データオブジェクトと関連付けられた加入者プロファイルデータオブジェクトについて照会することと、デバイス保護プログラムデータベースが加入者プロファイルデータオブジェクトを含まないことを示す結果データを受信することと、サードパーティ登録ステータス要求をサードパーティデバイス管理システムに伝送することであって、サードパーティ登録ステータス要求データオブジェクトが、加入者識別子データオブジェクトおよびデバイス識別データオブジェクトを含む、伝送することと、サードパーティデバイス管理システムから、加入者識別子データオブジェクトと関連付けられたサードパーティ登録ステータスを示すサードパーティ登録ステータス応答データオブジェクトを受信することであって、サードパーティ登録ステータスが、サードパーティデバイス管理システムに記憶されたサードパーティ加入者プロファイルデータオブジェクトを示す、受信することと、加入者プロファイルデータオブジェクトを伴わずに請求データオブジェクトと関連付けられた請求処理命令セットを開始することと、のために構成される。これに加えて、またはこれに代えて、第3の例示的なコンピュータプログラム製品は、構成された第3の例示的な装置の実施形態のいずれかによって実行される上述の動作のいずれかのために構成され得る。
【0065】
本開示のまた別の態様によれば、実行のためのコンピュータコード化命令を備えた少なくとも1つのプロセッサおよび少なくとも1つのメモリを含む、第4の例示的なシステムが提供される。少なくとも1つの例示的な実施形態では、第4の例示的なシステムは、コンピュータでコード化命令によってアクションキューと関連付けられたキュー長を受信するように構成される。第4の例示的なシステムは、キュー長閾値を識別するようにさらに構成される。第4の例示的なシステムは、キュー長およびキュー長閾値に基づいてキューの関係を識別するようにさらに構成される。第4の例示的なシステムは、キュー関係がキュー長の閾値を満たしていると決定するようにさらに構成される。第4の例示的なシステムは、少なくとも1つの実行されるアクションプロセスインスタンスを含む実行されるアクションプロセスインスタンスセットを識別するようにさらに構成される。第4の例示的なシステムは、キュー長に基づいて、実行されるアクションプロセスインスタンスセットを更新するようにさらに構成される。
【0066】
これに加えて、またはこれに代えて、第4の例示的なシステムのいくつかの例示的な実施形態では、キュー長閾値が、キュー長最大閾値を含み、キュー関係が、最大キュー関係を含み、システムが、実行されるアクションプロセスインスタンスセットと関連付けられた実行されるインスタンス数を識別することと、アクションプロセスインスタンスカウント最大値を識別することと、実行されるインスタンス数およびアクションプロセスインスタンスカウント最大閾値に基づいて、最大プロセスインスタンス関係を決定することと、最大プロセスインスタンス関係がアクションプロセスインスタンスカウント最大閾値を満たしていると決定することと、を行うようにさらに構成され、システムに実行されるアクションプロセスインスタンスセットを更新させるために、システムが、新たなアクションプロセスインスタンスを実行することと、新たなアクションプロセスインスタンスを実行されるアクションプロセスインスタンスセットに追加することと、を行うようにさらに構成される。
【0067】
これに加えて、またはこれに代えて、第4の例示的なシステムのいくつかの例示的な実施形態では、キュー長閾値が、キュー長最小閾値を含み、キュー関係が、最小キュー関係を含み、システムが、実行されるアクションプロセスインスタンスセットと関連付けられた実行されるインスタンス数を識別することと、アクションプロセスインスタンスカウン
ト最小値を識別することと、実行されるインスタンス数およびアクションプロセスインスタンスカウント最小値に基づいて、最小プロセスインスタンス関係を決定することと、最小プロセスインスタンス関係がアクションプロセスインスタンスカウント最小値を満たしていると決定することと、を行うようにさらに構成され、システムに実行されるアクションプロセスインスタンスセットを更新させるために、システムが、実行されるアクションプロセスインスタンスセットからの選択された実行されるアクションプロセスインスタンスを終了するように構成される。
【0068】
これに加えて、またはこれに代えて、第4の例示的なシステムのいくつかの例示的な実施形態では、実行されるアクションプロセスインスタンスセットを更新するために、システムが、アクションキュー内の少なくとも1つの未処理のアクションと関連付けられたアクションタイプを識別することであって、アクションタイプが、第1のアクション優先度と関連付けられている、識別することと、第2のアクション優先度と関連付けられた第2のアクションタイプを処理するために構成された実行されるプロセススレッドを含む実行されるアクションプロセスインスタンスを識別することであって、第1のアクション優先度が、第2のアクション優先度よりも高い優先度であると決定される、識別することと、実行されるアクションプロセスインスタンスからプロセススレッドを消去することと、実行されるアクションプロセスインスタンスに対して新たなプロセススレッドを実行することであって、新たなプロセススレッドが、第1のアクションタイプと関連付けられた未処理のアクションを処理するために構成されている、実行することと、を行うように構成される。
【0069】
本開示の別の態様によれば、第4の例示的なコンピュータ実装方法が提供される。第4の例示的なコンピュータ実施方法は、本明細書に記載されるように、ハードウェア、ソフトウェア、ファームウェア、および/またはそれらの組み合わせを計算することによって実行される動作を含む。いくつかの実施形態では、コンピュータ実施方法は、上述した第4の例示的な装置によって実行される動作を含む。例えば、少なくとも1つの実施形態では、第4の例示的なコンピュータ実装方法は、少なくとも、アクションキューと関連付けられたキュー長を受信することと、キュー長閾値を識別することと、キュー長およびキュー長閾値に基づいて、キュー関係を識別することと、キュー関係がキュー長閾値を満たしていると決定することと、少なくとも1つの実行されるアクションプロセスインスタンスを含む実行されるアクションプロセスインスタンスセットを識別することと、キュー長に基づいて、実行されるアクションプロセスインスタンスセットを更新することと、を含む。これに加えて、またはこれに代えて、第4の例示的なコンピュータ実装方法は、構成第4の例示的な装置の上述の実施形態のいずれかによって実行される上述の動作のいずれかを含み得る。
【0070】
本開示の別の態様によれば、第4の例示的なコンピュータプログラム製品が提供される。第4の例示的なコンピュータプログラム製品は、少なくとも1つの非一過性コンピュータ可読記憶媒体上に記憶されたコンピュータプログラム命令を含む。いくつかの実施形態では、第4の例示的なコンピュータプログラム製品は、上述した第4の例示的な装置によって実行される動作を実行するために構成されたコンピュータプログラム命令を含む。例えば、少なくとも1つの実施形態では、第4の例示的なコンピュータプログラム製品は、少なくとも、アクションキューと関連付けられたキュー長を受信することと、キュー長閾値を識別することと、キュー長およびキュー長閾値に基づいて、キュー関係を識別することと、キュー関係がキュー長閾値を満たしていると決定することと、少なくとも1つの実行されるアクションプロセスインスタンスを含む実行されるアクションプロセスインスタンスセットを識別することと、キュー長に基づいて、実行されるアクションプロセスインスタンスセットを更新することと、のために構成される。これに加えて、またはこれに代えて、第4の例示的なコンピュータプログラム製品は、構成された第4の例示的な装置の
実施形態によって実行される上述の動作のいずれかのために構成され得る。
【図面の簡単な説明】
【0071】
【
図1】本開示の実施形態が動作し得る例示的なシステムを例示している。
【
図2】内部で本開示の実施形態が動作し得る、特別に構成され得るシステムのブロック図を例示している。
【
図3】本開示の例示的な実施形態に従って特別に構成され得る装置のブロック図を例示している。
【
図4A】本開示の例示的な実施形態の例に従って実行される動作を描示するフローチャートを例示している。
【
図4B】本開示の例示的な実施形態の例に従って実行される動作を描示するフローチャートを例示している。
【
図4C】本開示の例示的な実施形態による、登録同期のためのシステムおよび動作を描示する例示的なデータフロー図を例示している。
【
図5】本開示の例示的な実施形態に従って実行される動作を描示するフローチャートを例示している。
【
図6】本開示の例示的な実施形態に従って実行される動作を描示するフローチャートを例示している。
【
図7】本開示の例示的な実施形態に従って特別に構成されたモジュールを描示するブロック図を例示している。
【
図8A】本開示の例示的な実施形態に従って実行される動作を描示するフローチャートを例示している。
【
図8B】本開示の例示的な実施形態に従って実行される動作を描示するフローチャートを例示している。
【
図9】内部で本開示の実施形態が動作し得る、特別に構成され得るシステムのブロック図を例示している。
【発明を実施するための形態】
【0072】
本発明の実施形態を、ここで、本開示の実施形態のすべてではないがいくつかの実施形態における添付の図面を参照して、以下に、より完全に記載する。実際に、本開示の実施形態は、多くの異なる形態で具現化することができ、本明細書に述べる実施形態に限定されると解釈されるべきではなく、むしろ、これらの実施形態は、本開示が適用可能な法的要件を満たすように提供される。同じ番号は、全体を通して同じ要素を指している。
【0073】
概説
デバイス保護プログラムは、加入者デバイスが損傷したか、破損したか、紛失したか、盗難されたか、または他の影響を受けた場合に、加入者を保護する。多くのサードパーティが1つ以上のデバイス保護プログラムへの登録をオファーし得るが、すべてのサードパーティがまた、デバイス保護プログラムと関連付けられて提起されたすべての請求と関連付けられた請求を履行し、または他の方法で処理するわけではない。したがって、サードパーティは1つ以上のデバイス保護プログラムと関連付けられた新たな加入者を登録し得るが、そのようなサードパーティは、プロバイダエンティティによって制御されるデバイス保護プログラム管理システム(DPPMS)に依拠して、請求を積極的に実行する。いくつかの実施形態では、DPPMSと関連付けられたプロバイダエンティティは、サードパーティによって提供される保護に加えて、補足的なデバイス保護を提供することができ、これは、DPPMSのコンピューティングシステムと一次デバイス保護プロバイダのコンピューティングシステムとの間の高度な協調を必要とし得る。本明細書に記載されるように、本発明者らは、DPPMSおよびサードパーティシステムを含む多数の独立して運用されるコンピューティングシステムおよびデータベースの管理に関連する、独立したコンピューティングシステムの同期および一貫性を維持し、かつ冗長または不要なタスクで
個々のシステムに過度の負担をかけずに頻繁な変化を伴う大量の更新および処理動作を必要とする問題に対する、いくつかの解決策を特定した。
【0074】
DPPMSは、1つ以上のサードパーティシステムと相互作用することができ、各サードパーティシステムは、サードパーティエンティティと関連付けられる。対応するサードパーティエンティティは、加入者デバイスに対する制御のレベル(例えば、ソフトウェアのみ、ソフトウェアおよびハードウェア、ファームウェアなど)を示し得る。いくつかのサードパーティシステムは、例えば、モバイルキャリアと関連付けられており、この場合に、モバイルキャリアは、加入者デバイスと関連付けられた特定のソフトウェアおよび/またはファームウェアのみを制御する。他のサードパーティシステムは、例えば、デバイス製造者と関連付けられており、この場合に、デバイス製造者は、加入者デバイスと関連付けられたソフトウェア、ファームウェア、および/またはハードウェアを制御する。いくつかのサードパーティシステムは、サードパーティデバイス管理システムを介して1つ以上のデバイス保護プログラムと関連付けられた加入者、またはこれに登録された加入者と関連付けられた加入者プロファイルデータオブジェクトを維持するように構成されたサードパーティデバイス管理システムを含む。ユーザは、新たなまたは既存のデバイスをデバイス保護プログラムにサブスクライブし、および/または現在登録されている1つ以上の加入者デバイスに対するデバイス保護プログラムへの登録をキャンセルし得る。次に、サードパーティデバイス管理システムは、DPPMSと通信して、サードパーティデバイス管理システムを介して発生した加入者変化と関連付けられた1つ以上の登録管理要求データオブジェクトを提供し得る。他の実施形態では、ユーザは、DPPMSを直接介するか、または第2のサードパーティデバイス管理システムを介して、デバイス保護プログラムへの登録をサブスクライブおよび/またはキャンセルし得る。例えば、サブスクリプションまたはキャンセルは、キャリアシステムを介して起こり、DPPMSに転送される前に、キャリアシステムから製造者システムに(またはその逆に)通信され得る。登録管理要求データオブジェクトを使用して、DPPMSと1つ以上のサードパーティシステムとの間で加入者登録データを同期することができ、サードパーティシステムの各々は、デバイスおよび加入者と関連付けられた1つ以上のデータオブジェクトを独立に維持することができる。
【0075】
いくつかの実施形態では、1つ以上のサードパーティシステムは、加入者からデバイスインシデントデータ(例えば、加入者デバイスと関連付けられた紛失、盗難、損傷、または別の対象イベントを示す情報)を受信するように構成される。加入者は、DPPMSに直接、またはサードパーティシステムを介してのいずれかで、インシデントを報告し得る。例えば、加入者は、サードパーティシステムと関連付けられた報告インターフェース(例えば、ウェブインターフェースまたはモバイルアプリケーション)を介するか、またはコールセンター要求を介して、インシデントを報告し得る。いくつかのサードパーティシステムは、報告されたインシデントと関連付けられたユーザを認証するように構成される。例えば、サードパーティシステムは、ユーザにユーザ名およびパスワードの提供を要求することによってユーザを認証し、それに続いて、事前決定された2要素認証方法を利用して認証し得る。サードパーティシステムは、例えばサードパーティユーザアイデンティティ認証トークンの形式で、ユーザがDPPMSに対して正常に認証されたことを示す情報を提供し得る。サードパーティユーザアイデンティティ認証トークンは、サードパーティケースと関連付けられたデバイスインシデントを報告したユーザがサードパーティによって正常に認証されたことを検証するために、サードパーティケースと関連付けられたサードパーティケース情報の一部として含まれ得る。
【0076】
報告されたインシデントに応答して、デバイス製造者などのサードパーティは、例えばデバイスマネージャプロファイリングシステムなどのサードパーティデバイス管理システムを介して、報告されたインシデントと関連付けられたサードパーティケースを開始し得
る。したがって、サードパーティデバイス管理システムは、報告されたインシデント、加入者デバイス、加入者などと関連付けられた情報を取得、受信、および/または他の方法で記憶し得る。いくつかの実施形態では、情報は、サードパーティケースと関連付けられてアクセス可能であるように記憶され得る。サードパーティデバイス管理システムは、例えば、加入者デバイスと関連付けられたリアルタイムデバイス情報を取得し、リアルタイムデバイス情報をサードパーティケースに記憶し得る。
【0077】
DPPMSは、新たなおよび/またはキャンセルされた加入者と関連付けられたサードパーティデバイス管理システムからか、または第1のサードパーティデバイス管理システムおよびDPPMSと関連付けられた第2のサードパーティデバイス管理システムから、登録管理要求データオブジェクトを受信し得る。例えば、第1のサードパーティデバイス管理システムは、モバイルデバイスの特定のモバイルデバイスタイプと関連付けられた製造者システムであり得、第2のサードパーティデバイス管理システムは、それらのモバイルデバイスと関連付けられたサブスクリプション登録およびキャンセルを受信するためのキャリアシステムであり得る。登録管理要求データオブジェクトは、サードパーティデバイス管理システムを介して登録された新たな加入者を示し、加入者プロファイルデータオブジェクト、加入者デバイス識別子、加入者名(存在する場合)、加入者連絡先情報などを一意に識別する加入者識別子データオブジェクトなどの、デバイス保護プログラムへの新たな加入者と関連付けられた情報を含み得る。これに加えて、またはこれに代えて、サードパーティデバイス管理システムを介して登録された新たな加入者を示す登録管理要求データオブジェクトは、サードパーティデバイス管理システムが加入者を正常に認証したことを確証する際に使用するサードパーティアイデンティティ認証トークンを含み得る。
【0078】
これに代えて、登録管理要求データオブジェクトは、加入者がサードパーティデバイス管理システムを介してデバイス保護プログラムへの登録をキャンセルしたことを示し、加入者プロファイルデータオブジェクト、加入者デバイス識別子などを一意に識別する加入者識別子データオブジェクトなどの、デバイス保護プログラムへのキャンセルされた加入者と関連付けられた情報を含み得る。これに加えて、またはこれに代えて、サードパーティデバイス管理システムを介して加入者が登録をキャンセルしたことを示す登録管理要求データオブジェクトは、サードパーティデバイス管理システムが加入者を正常に認証したことを確証する際に使用するサードパーティアイデンティティ認証トークンを含み得る。
【0079】
例示的なDPPMSは、サードパーティデバイス管理システムなどのサードパーティシステムから受信された未処理のアクションおよび/または要求を記憶するための1つ以上のアクションキューを含む。DPPMSは、受信された登録管理要求データオブジェクトに基づいて、登録管理要求データオブジェクトと関連付けられた命令セットを含む登録プロトコルを識別および実行し得る。
【0080】
例示的なシステムでは、DPPMSは、1つ以上の事前決定された時間に(例えば、毎週、特定の曜日の特定の時間に)、特定のサードパーティデバイス管理システムから登録管理要求データオブジェクトを受信する。したがって、DPPMSは、受信された登録管理要求データオブジェクトをアクションキューに記憶し得る。DPPMSは、1つ以上のアクションプロセスを実行および維持することができ、この場合に、各アクションプロセスは、アクションプロセスキューからの未処理のアクション(例えば、登録管理要求データオブジェクト)を処理するように構成された1つ以上の実行されるプロセススレッドを含む。
【0081】
例えば、例示的なシステムでは、DPPMSは、アクションキューに記憶された未処理のアクションを処理するように構成された1つ以上のアクションインスタンスプロセスを開始し得る。アクションインスタンスプロセスは、単一の未処理のアクションタイプ(例
えば、未処理の登録管理要求データオブジェクト)または様々な未処理のアクションタイプ(例えば、未処理の登録管理要求データオブジェクト、未処理の請求など)を処理するように構成され得る。
【0082】
これに加えて、またはこれに代えて、例示的な実施形態DPPMSは、サードパーティケースに対応する請求を作成、維持、および処理することによってサードパーティケースを管理するように構成される。例えば、DPPMSは、デバイス製造者システムやモバイルキャリアシステムなどのサードパーティシステムからサードパーティケース情報を受信し得る。さらに、DPPMSは、サードパーティケースと関連付けられたユーザケース情報(例えば、インシデントの日付、インシデントのユーザの説明など)を受信し得る。
【0083】
DPPMSは、サードパーティケース情報およびユーザケース情報を使用して、サードパーティケースと関連付けられた請求を生成し得る。請求は、サードパーティケース情報とユーザケース情報との組み合わせの一部またはすべてを含み得る。いくつかの実施形態では、DPPMSは、履行のために請求をアクションキューに追加し得る。請求を処理するためのアクションキューと、登録管理要求データオブジェクトを処理するためのアクションキューとは、別個であり得る。これに加えて、またはこれに代えて、DPPMSは、対応するアクションキューからの請求を処理するための1つ以上のアクションプロセスインスタンスを含み得る。
【0084】
DPPMSは、1つ以上のサードパーティシステムから新たなサードパーティケースを受信し得る。例えば、DPPMSは、1つ以上のデバイス製造者システムおよび1つ以上のモバイルキャリアシステムと通信し得る。各サードパーティシステムは、例えばサードパーティシステムと関連付けられたインターフェースを介して、ユーザによって提出されたインシデントレポートに応答して、新たなサードパーティケースを開始するように構成され得る。これに加えて、またはこれに代えて、デバイス製造者システムなどのサードパーティシステムは、ユーザ認証を実行するように構成され得る。したがって、いくつかの実施形態では、DPPMSは、サードパーティケース情報の一部として、またはサードパーティケース情報の伝送に追加して、ユーザ認証トークンなどのユーザ認証情報を受信するように構成される。ユーザ認証情報は、サードパーティシステムがサードパーティリソースを認証したことを検証するために使用され得る。
【0085】
サードパーティケース情報を受信した後、DPPMSは、サードパーティケースと関連付けられたユーザケース情報を受信するように構成され得る。例えば、ユーザは、DPPMSまたは関連付けられたシステムによって生成されたインターフェースを介して、インシデントに関する情報(例えば、インシデントの日付、インシデントの時間、インシデントの説明など)を入力し得る。いくつかの実施形態では、DPPMSは、サードパーティケース情報およびユーザケース情報に基づいて請求を生成する。
【0086】
次に、DPPMSは、処理および履行の要求をアクションキューに記憶し得る。DPPMSは、未処理の請求を処理するように構成された1つ以上の実行されるアクション処理インスタンスを開始および/または維持し得る。DPPMSは、請求と関連付けられた不正リスクを識別するように構成された1つ以上のモジュールおよび/またはサブシステムを含み得る。少なくとも不正リスクに基づいて、請求は承認され得る(不正でないと見なされる場合)か、または拒否され得る(不正と見なされる場合)。
【0087】
これに代えて、またはこれに加えて、いくつかの実施形態では、DPPMSは、所与の請求と関連付けられた請求要件を識別し得る。各請求要件は、ユーザによるさらなるアクションが必要となり得る。例えば、所与の請求に対する請求要件は、請求と関連付けられた1つ以上の免責事項のユーザ承認を含み得る。いくつかの実施形態では、DPPMSは
、事前決定された請求完了期間(例えば、30日)内に、ユーザ要件などの請求と関連付けられたすべての情報を受信しなければならない。請求要件、および/または請求と関連付けられた他の情報が、事前決定された請求完了期間内にユーザから受信されない場合、DPPMSは、アクションの欠如ために請求を自動的にクローズし得る。
【0088】
DPPMSが請求を承認、拒否、またはクローズすると、DPPMSは、請求と関連付けられた対応する請求ステータスを設定するように構成され得る。例えば、請求が承認されると、DPPMSは、その請求の対応する請求ステータスを「承認済み」に設定し得る。これに代えて、アクションがないために請求が拒否またはクローズされた場合、DPPMSは、その請求の対応する請求ステータスをそれぞれ「拒否」または「クローズ」に設定し得る。
【0089】
いくつかの実施形態では、DPPMSは、1つ以上のサードパーティシステムに、設定された請求ステータスに基づいてサードパーティケースを更新させるように構成される。DPPMSは、特定のエンティティ、例えばプロバイダエンティティによって制御され得、プロバイダエンティティは、デバイス保護プログラムと関連付けられた多数の機能に対するDPPMSを作成、制御、または他の方法で利用して、請求が不正でないことを確証しながら、そのようなシステムが堅牢かつ効率的な方法で請求を処理することを確保し得る。
【0090】
例示的な局面では、例えば、DPPMSは、モバイルデバイスのための保険、保証などのようなデバイスに対するデバイス保護プログラムを管理する。このような状況では、DPPMSは、1つ以上のサードパーティシステム、例えば、キャリアシステムの第1のサードパーティシステムおよび製造者システムの第2のサードパーティシステムと通信して、様々なデバイス保護プログラムへの登録加入者を管理する。ユーザは、DPPMSまたは関連付けられたエンティティを介して履行されるデバイス保護プログラムへのサブスクリプションを管理し得る。ユーザは、デバイスサブスクリプションプログラムに登録することにより、デバイス保護プログラムの対象となるデバイスが損傷したか、紛失したか、盗難されたか、または同様のこと(例えば、デバイスにアクセスするための機能の低下、または他の機能不全をもたらす別のイベント)の場合に、1つ以上の料金(単数または複数)と引き換えに、そのデバイス保護プログラムと関連した請求を提出し得る。DPPMSおよび/または関連付けられたシステムが請求を処理して、請求を履行する(新たなデバイスの提供、既存のデバイスの修理など)か、または請求を不正または履行不能(例えば、ユーザがイベントの対象でない)として拒否することができる。
【0091】
このような状況では、DPPMSは、正当なユーザ要求に応答して必要な履行アクションを実行する。DPPMSは、請求の時点でユーザがデバイス保護プログラムに登録されているかどうかを決定するために照会を行い得る。ただし、ユーザは、デバイスの購入時、特定のイベント時、または所望時のいくつかの状況を含む様々な時点で、デバイス保護プログラムに登録することができ、同様に、特定の時間またはこれに代えて任意のそれらの選択時に登録をキャンセルし得る。さらに、ユーザは、キャリアシステム、製造者システムのいずれかを介して、または直接DPPMSを介して、デバイス保護プログラムに登録し得るか、または登録をキャンセルし得る。したがって、DPPMSによって維持されている加入者のデータベースは、DPPMSが、受信された請求を履行するかどうか、および/または受信された請求を履行する方法を決定する時点で最新ではない場合がある。
【0092】
したがって、DPPMSは、各加入者プロファイルデータオブジェクトが少なくとも1つのデバイス保護プログラムに登録されている、DPPMSがインターフェース接続するサードパーティシステムとは別個の加入者プロファイルデータオブジェクトのデータベースを構築および維持し得る。DPPMSは、1つ以上のサードパーティシステムを介して
登録し、および/または登録をキャンセルする加入者プロファイルデータオブジェクトを管理し得る。DPPMSは、1つ以上のサードパーティデバイス管理システムなどの1つ以上のサードパーティシステムと通信して、加入者プロファイルデータオブジェクトと関連付けられたサードパーティ登録ステータスを決定し、1つ以上のサードパーティデバイス管理システムから登録管理要求データオブジェクト(例えば、新たな加入者登録要求、または新たな加入者キャンセル要求)を受信する。加入者プロファイルデータオブジェクトは、人間の加入者、加入者デバイス、および/またはその両方と関連付けられ得る。
【0093】
ただし、DPPMSの加入者プロファイルデータオブジェクトは、サードパーティシステムに記憶された対応するサードパーティ加入者プロファイルデータオブジェクトに関して、登録ステータスと正確に一致しない場合がある。新たな加入者がサードパーティデバイス管理システムを介してデバイス保護プログラムに登録するか、またはデバイス保護プログラムへの登録をキャンセルすると、DPPMSは、後になるまで更新されない場合がある。これに関して、1つ以上のサードパーティデバイス管理システム(単数または複数)は、登録管理要求データオブジェクトを保持して、DPPMSと通信するための重要なネットワークリソースおよび他のコンピューティングリソースを絶えず利用することを回避し得る。例えば、いくつかのサードパーティデバイス管理システムは、新たな登録管理要求データオブジェクトを、週に1回、特定の時間など、バッチでDPPMSに伝送し得る。したがって、ユーザがデバイス保護プログラムに関して登録ステータスを変更する(例えば、新たにサブスクライブするか、またはキャンセルする)と、例えば新たな登録管理要求データオブジェクトのバッチ伝送を介して、サードパーティデバイス管理システムがDPPMSに新たな登録管理要求データオブジェクトを通知するまで、対応するDPPMSはこのステータスを反映しない場合がある。
【0094】
システム間の通信に障害があると、DPPMSが正確な加入者登録を反映することを確保する上でさらに問題が発生し得る。信号エラーおよび受信された登録要求を処理する際のエラーを含む伝送エラーにより、サードパーティデバイス管理システムがそのようなエラーが発生したことを検出せずに、サードパーティデバイス管理システムから受信された情報に基づいてDPPMSを更新することに失敗し得る。特にデバイス保護プログラム登録の局面では、例えば、1つ以上のサードパーティデバイス管理システムが、登録管理要求データオブジェクトをDPPMSに伝送して、加入者プロファイルデータオブジェクトのデータベース、リスト、または他のデータストアを更新し得る。ただし、DPPMSは、例えばDPPMSのコンポーネントのネットワーク障害またはネットワークインターフェース障害に起因して、伝送を受信することに失敗し得る。これに加えて、またはこれに代えて、データの破損または不整合に起因してDPPMSが受信された伝送を処理することができない場合、伝送エラーが発生し得る。このような状況では、サードパーティデバイス管理システムは、エラーを検出しない場合があるか、または検出することができない場合があり、DPPMSが登録データベースを適切に更新したが、そのような更新は成功していない、という前提で動作を継続し得る。したがって、DPPMSおよびサードパーティデバイス管理システムによって維持される加入者プロファイルデータオブジェクトは、同期されない場合があり、システムは、そのような状況を検出することができない場合がある。
【0095】
DPPMSがデバイス保護プログラムへの加入者と関連付けられた適切な登録ステータスを反映していない場合、DPPMSは、デバイス保護プログラムと関連付けられた請求または他のトランザクションを不適切に処理し得る。例えば、DPPMSが、サードパーティデバイス管理システムを介してデバイス保護プログラムへの加入者の登録をキャンセルしたデバイス保護プログラムの加入者と関連付けられた加入者プロファイルデータオブジェクトを含む場合、DPPMSは、請求を不適切に履行し得る。これに代えて、DPPMSが、デバイス保護プログラムへの加入者と関連付けられた加入者プロファイルデータ
オブジェクトを含まない場合、加入者がサードパーティデバイス管理システムを介してデバイス保護プログラムに登録していると、請求を不適切に履行しない場合がある。
【0096】
したがって、本開示の様々な実施形態は、リアルタイムでサードパーティデバイス管理システムを用いて加入者登録ステータスを確証するように構成された、DPPMSを介した加入者登録管理のための方法、コンピュータプログラム製品、およびシステムに関する。具体的には、本開示のいくつかの実施形態は、登録ステータス要求をサードパーティデバイス管理システムに伝送し、サードパーティデバイス管理システムからサードパーティ登録ステータス応答データオブジェクトを受信し、およびサードパーティ登録ステータス応答データオブジェクトを分析して、加入者と関連付けられたサードパーティ登録ステータス、または加入者識別子データオブジェクトをリアルタイムで識別するように構成される。これに加えて、いくつかの実施形態は、識別されたサードパーティ登録ステータスに基づいてシステム同期イベントを開始するように構成される。したがって、本開示の実施形態は、DPPMSと1つ以上のサードパーティデバイス管理システムとの間の不適切な同期に対する解決策を提供する。
【0097】
従来のサーバクライアントまたはマスタースレーブアーキテクチャとは異なり、DPPMSは、ネットワークシステム間でデータの制御を分離する。DPPMSは、以前に記憶されたデータ、またはDPPMSとネットワーク接続された他のサードパーティデバイス管理システムによって以前に記憶されたデータを自動的には信頼しない。DPPMSへのデータ伝送の性質に起因して、サードパーティデバイス管理システムからの特定の伝送は信頼され、DPPMS、DPPMSのサブシステム、または他のサードパーティデバイス管理システムを更新するために使用され得る。
【0098】
これに加えて、バッチ伝送を受信する性質に起因して、システムは、未処理のアクション(例えば、請求、登録管理要求データオブジェクトなど)の量に基づいて処理リソースを非効率的に利用する可能性がある。バッチ伝送時に、未処理のアクションが、処理のためにアクションキューに配置され得る。ただし、各アクションキューで未処理のアクションを処理するように構成された保守アクションプロセスインスタンスを処理するために十分なリソースが割り当てられない場合があり、これにより、未処理のアクションを処理するための待機時間がターゲット処理時間より長くなる可能性がある。したがって、DPPMSは、非効率的に機能する可能性がある。同様に、いくつかの状況では、アクションキュー長が短い場合など、アクションキューが、必要以上の処理リソースを割り当てられる可能性がある。このような状況では、処理リソースが無駄になり、システム全体の非効率につながる。
【0099】
したがって、本開示の様々な実施形態は、アクションキューと関連付けられた1つ以上のプロセスインスタンスを管理するためのスケーリングサービスを利用するための方法、コンピュータプログラム製品、およびシステムに関する。本開示のいくつかの実施形態は、キュー長および識別されたキューの関係に基づいて、実行されるアクションプロセスインスタンスセットを更新するように構成される。例えば、いくつかの実施形態は、キュー長およびキュー長最大閾値に基づいて最大キュー関係を識別し、最大キュー関係に基づいて、アクションキューに記憶された未処理のアクションを処理するように構成された少なくとも1つの処理スレッドを含む、新たなアクションプロセスインスタンスを実行することによって、実行されるアクションプロセスインスタンスセットを更新する。これに加えて、またはこれに代えて、いくつかの実施形態は、キュー長およびキュー長最小閾値に基づいて最小キュー関係を識別し、最小キュー関係に基づいて、実行されるアクションプロセスインスタンスセットからの選択された実行されるアクションプロセスインスタンスを終了することによって、実行されるアクションプロセスインスタンスセットを更新する。したがって、本開示の実施形態は、DPPMS処理リソースの非効率性に対する解決策を
提供する。
【0100】
これに加えて、DPPMSとサードパーティシステムとの間の伝送が失敗する場合がある。このような伝送障害は、接続の喪失、停電、または他の技術的および/または通信ベースのエラーからもたらされ得る。DPPMSは、失敗した伝送に応答して伝送エラーを受信し得る。受信された伝送エラーを処理する堅牢な手段がないと、DPPMSは、1つ以上のサードパーティデバイス管理システムと同期しなくなり続け、および/または非効率的に機能し得る。
【0101】
したがって、本開示の様々な実施形態は、サードパーティデバイス管理システムへの失敗した伝送に応答して、DPPMSによって、受信された伝送エラーを堅牢に処理するための方法、コンピュータプログラム製品、およびシステムに関する。いくつかの実施形態は、伝送エラーを受信し、伝送エラーと関連付けられたエラー分類を識別し、エラー分類と関連付けられたエラー処理命令セットを識別するように構成されており、エラー処理命令セットは、少なくとも1つのエラー処理イベントを含み、かつエラー処理命令セットを実行して少なくとも1つのエラー処理イベントを開始する、エラー処理プロトコルを表す。いくつかの実施形態では、エラー分類は、「再試行可能なエラー」分類および「エスカレーションエラー」分類を含み得る識別されたエラー分類セットからのものである。例示的な実施形態は、伝送エラーが再試行可能なエラーとして分類される場合、少なくとも、伝送エラーが再試行可能なエラーとして分類される場合、少なくとも、再試行最大閾値を識別することと、再試行試み数を識別することと、再試行最大閾値と再試行試み数との間の再試行関係を決定することと、再試行関係が、再試行最大閾値を満たしていると決定することと、要求再試行時間を決定することと、失敗した伝送を、要求再試行時間が経過した後の再伝送のための要求キューに追加することと、を行うように構成される。これに加えて、またはこれに代えて、例示的な実施形態は、伝送エラーがエスカレーションエラーとして分類される場合、伝送エラーをエスカレーションキューに追加するように構成される。したがって、本開示の実施形態は、DPPMSエラー処理を改善する。
【0102】
上述したように、DPPMSは、1つ以上のデバイス保護プログラムと関連付けられた加入者登録を管理し、および1つ以上のデバイス保護プログラムと関連付けられた請求を管理し得る。例えば、デバイス保護プログラムへの加入者は、損傷したか、紛失したか、盗難されたか、またはこれ以外に影響を受けた加入者デバイスに関する請求を提出し得る。いくつかの状況では、請求が、不正であり得る。例えば、加入者は、加入者デバイスが盗難に遭ったとの請求を提出し得る。請求が正当である場合、請求は、対応するデバイス保護プログラムに関連付けられて履行され得る(例えば、加入者に交換用デバイスが提供され得る)。ただし、請求が不正である(例えば、加入者がデバイスにアクセスできる)場合、DPPMSは、請求を履行するべきではない。DPPMSは、請求が受信された、または処理されているときに既知である情報を利用し得るが、そのような情報は、請求が不正であるかどうかをDPPMSが決定することを可能にするには不十分であり得る。
【0103】
したがって、本開示の様々な実施形態は、請求を受信することに応答して命令セットを含む不正防止プロトコルを実行するための方法、コンピュータプログラム製品、およびシステムに関する。いくつかの実施形態のシステムは、リアルタイムデバイス情報に基づいて、少なくとも1つの不正防止イベントのための命令セットを含む不正防止プロトコルを識別する。いくつかの実施形態のシステムは、請求と関連付けられた加入者デバイスと関連付けられたリアルタイムデバイス情報を取得する。例えば、いくつかの実施形態は、デバイスロケーションアプリケーションと関連付けられた情報を取得し、デバイスロケーションアプリケーションは、ユーザがアクセス時に加入者デバイスロケーションを受信することを可能にするように構成される。実施形態のシステムでは、不正防止プロトコルは、例えば、サードパーティデバイス管理システムから、請求と関連付けられた加入者が請求
と関連付けられた加入者デバイスをロケートすることを試みたかどうかを決定するための最新のデバイスロケーションアプリケーション使用状況を取得するリアルタイムデバイス情報イベントを含む。いくつかの実施形態システムは、少なくともリアルタイムデバイス情報に基づいて、不正の決定を行う(例えば、請求が詐不正あるか、または不正でないかを決定する)ように構成される。
【0104】
定義
本明細書で使用される場合、「データ」、「コンテンツ」、「情報」という用語、および同様の用語は、様々な例示的な実施形態に従って、キャプチャ、伝送、受信、表示、および/または記憶することができるデータを指すために交換可能に使用され得る。したがって、そのような用語の使用は、本開示の趣旨および範囲を制限するように受け取るべきではない。さらに、コンピューティングデバイスが別のコンピューティングデバイスからデータを受信するように本明細書に記載される場合、データは、別のコンピューティングデバイスから直接受信され得るか、または例えば、本明細書では「ネットワーク」と呼ばれることもある、1つ以上のサーバ、リレー、ルータ、ネットワークアクセスポイント、基地局などの1つ以上の中間コンピューティングデバイスを介して間接的に受信され得ることが理解されるであろう。同様に、別のコンピューティングデバイスにデータを送信するためのコンピューティングデバイスが本明細書に記載される場合、データは、別のコンピューティングデバイスに直接送信され得るか、または例えば、1つ以上のサーバ、リレー、ルータ、ネットワークアクセスポイント、基地局などの1つ以上の中間コンピューティングデバイスを介して間接的に送信され得ることが理解されるであろう。
【0105】
「デバイス保護プログラム」という用語は、1つ以上のユーザデバイス(例えば、本明細書で定義される加入者デバイス)のための補償または保護プログラムを指す。デバイス保護プログラムは、加入者デバイスの損傷、故障、および/または紛失に応答して、デバイスの交換、修理、または他の履行オプションを容易にし得る。デバイス保護プログラムは、加入者が、事前決定された間隔(例えば、月次または年次)で一定割合の頻度で加入者デバイスを修理、交換、または他の方法で変更して、デバイスを動作状態に復元するか、またはデバイスを交換するための請求を提出することを可能にし得る。いくつかの場合では、デバイス保護プログラムは、一次保険または補足保険、延長保証、またはデバイスの潜在的な紛失または障害に対するその他の補償を含み得る。いくつかの実施形態では、デバイス保護プログラムは、単一のユーザと関連付けられた多数のデバイスを補償することができる。
【0106】
「加入者デバイス」という用語は、関連付けられたデバイス保護プログラムに登録されるか、または現在登録されているユーザと関連付けられた電子コンピューティングデバイス、コンポーネント、またはシステムを指す。いくつかの実施形態では、加入者デバイスは、DPPMS管理識別子、国際モバイル機器識別子(IMEI)、シリアル番号、および加入者識別モジュール(SIM)番号を含むがこれらに限定されない、加入者デバイスを一意に識別する1つ以上の識別子と関連付けられる。加入者デバイスの例は、デバイス保護プログラムと関連付けられた次のデバイス、すなわち、パーソナルデバイス、エンタープライズデバイス、携帯電話(スマートフォンなど)、パーソナルコンピューター、ラップトップコンピュータ、タブレット、家庭用電化製品、ネットワーク機器、自動車などのうちの1つを含む。
【0107】
「加入者識別子データオブジェクト」という用語は、デバイス保護プログラムに加入している特定の加入者プロファイルデータオブジェクト、および/またはデバイス保護プログラムに加入している特定のデバイスと関連付けられた一意の識別子を含む、テキスト文字列、数値、コード、または他のデータタイプを指す。例示的な加入者識別子データオブジェクトは、特定の加入者デバイスと関連付けられたデバイス保護プログラムへの特定の
サブスクリプションと関連付けられた英数字文字列である。いくつかの実施形態では、加入者識別子データオブジェクトは、IMEI、インターネットプロトコルアドレス(IPまたはIP番号)、他のデバイス識別子、ランダムに生成された数値および/または英数字の一意の識別子などを含むグループからの少なくとも1つである。いくつかの実施形態では、加入者識別子データオブジェクトは、さらに含む。
【0108】
「加入者情報」という用語は、特定のデバイス保護プログラムと関連付けられた加入者デバイスおよび/または加入者ユーザと関連付けられた、デバイス保護プログラム管理システムによって用いられ得るデータまたは情報を指す。加入者情報は、加入者識別子データオブジェクト、加入者名、加入者連絡先情報などを含み得る。いくつかの実施形態では、加入者情報は、特定の加入者デバイスのみと関連付けられているか、または加入者デバイスの特定のグループと関連付けられており、対応する加入者ユーザ(例えば、加入者デバイス(単数または複数)の人間の所有者および/またはコントローラ)に関するいかなる情報も含まない。いくつかのそのような実施形態では、加入者デバイスと関連付けられた受信された請求データオブジェクトは、加入者デバイスと関連付けられたユーザを識別する補足情報を必要とし得る。別の例示的な実施形態では、加入者情報は、デバイス保護プログラムと関連付けられた加入者および/または加入者デバイスを一意に識別する加入者識別子データオブジェクトを含む。
【0109】
「加入者プロファイルデータオブジェクト」という用語は、ユーザまたは特定の加入者デバイスと関連付けられたデバイス保護プログラムへの加入に関する情報を含む、記憶された情報セットを指す。いくつかの実施形態では、加入者プロファイルデータオブジェクトは、エンティティまたはユーザ名、1つ以上の連絡先情報識別子(例えば、電子メール、電話番号、アドレスなど)、デバイスタイプ、デバイス識別子(例えば、IMEI)、加入者識別子データオブジェクト、加入識別子、または他の加入者情報のうちの1つ以上を含む。加入者プロファイルデータオブジェクトは、加入者プロファイルデータオブジェクト(例えば、加入者プロファイルデータオブジェクトと関連付けられた加入者デバイスの修理および/または交換を要求する請求データオブジェクト)と関連付けられた請求データオブジェクトが受信されたときの分析のための情報を含む。加入者プロファイルデータオブジェクトが加入者デバイス(または加入者デバイスグループ)のみを識別するいくつかの実施形態では、処理を容易にするために、提出された請求データオブジェクトと関連付けられた追加情報が必要とされ得る。例えば、いくつかの実施形態では、請求データオブジェクトが請求処理コールセンターシステムを介して発信される状況では、少なくとも、請求データオブジェクトと関連付けられた請求書情報および出荷情報を処理のために提出しなければならない。これに加えて、またはこれに代えて、いくつかの実施形態では、請求データオブジェクトがウェブポータルを介して発信される(例えば、クライアントデバイスを介してユーザによって提出される)状況では、少なくとも、加入者デバイスの特定の所有者を識別する情報、ビリング情報、出荷情報、および/または追加の請求情報が、処理のためにウェブポータルを介して伝送され得る。
【0110】
「登録管理要求データオブジェクト」という用語は、加入者プロファイルデータオブジェクトを変更するためにデバイス保護プログラム管理システムによって受信されるデータまたは情報を指す。例示的な登録管理要求データオブジェクトは、デバイス保護プログラム管理システムで、選択されたデバイス保護プログラムと関連付けられた新たな加入者プロファイルデータオブジェクトを作成する要求を表す。いくつかの実施形態では、例示的な登録管理要求データオブジェクトは、「登録サブスクリプション要求データオブジェクト」を含み、これは、選択されたデバイス保護プログラムと関連付けられた新たな加入者を登録する要求を表す。いくつかの実施形態では、登録サブスクリプション要求データオブジェクトは、少なくとも、(1)デバイス識別子(例えば、IMEI、MSN、MEIDなど)、および/または(2)加入者プロファイル識別子(例えば、アカウント番号)
を含み、そのような情報を使用して、将来提出される請求データオブジェクト(単数または複数)を処理するための特定の加入者プロファイルデータオブジェクトを識別することができる。別の例では、例示的な登録管理要求データオブジェクトは、デバイス保護プログラム管理システムで、選択されたデバイス保護プログラムと関連付けられた登録されたDPPMS加入者プロファイルデータオブジェクトをキャンセルする要求を表す。例えば、いくつかの実施形態では、例示的な登録管理要求データオブジェクトは、登録キャンセル要求データオブジェクトを含み、これは、選択されたデバイス保護プログラムと関連付けられた登録された加入者をキャンセルする要求を表す。いくつかの実施形態では、登録管理要求データオブジェクトは、対応する加入者プロファイルデータオブジェクトを識別する加入者情報を含む。いくつかの実施形態では、登録管理要求データオブジェクトは、対応する加入者デバイスを識別する加入者情報を含む。
【0111】
「デバイス保護プログラム管理システム」および「DPPMS」という用語は、プロバイダエンティティによって制御され、かつデバイス保護プログラムを容易にするように構成された、ハードウェアおよび/またはソフトウェアシステム、またはハードウェアとソフトウェアとの組み合わせを指し、1つ以上のサードパーティシステムと通信および同期するように構成され得る。デバイス保護プログラム管理システムは、デバイス保護プログラムと関連付けられたDPPMS加入者プロファイルデータオブジェクトの加入者登録、デバイス保護プログラムと関連付けられた請求の不正防止、および/またはデバイス保護プログラムと関連付けられた加入者請求の履行のうちの1つ以上を実行し得る。例示的な実施形態では、デバイス保護プログラム管理システムは、少なくとも登録管理サブシステム、不正防止サブシステム、および履行サブシステムを含む。いくつかの実施形態では、デバイス保護プログラム管理システムは、支払いサブシステムおよび/またはポリシーサブシステムを含む。いくつかの実施形態では、DPPMSは、支払いサブシステムまたは等価なサービスを含むか、またはそれらと通信可能である。いくつかの実施形態では、DPPMSは、登録管理サブシステム、不正防止サブシステム、または履行サブシステムのうちの1つのサブシステムとして支払いシステムを含む。いくつかの実施形態では、DPPMSは、登録管理サブシステム、不正防止サブシステム、または履行サブシステムのうちの1つのサブシステムとして、ポリシーサブシステムまたは等価なサービスを含む。
【0112】
「DPPMS加入者プロファイルデータオブジェクト」という用語は、DPPMS、DPPMS内のサブシステム、または関連付けられたデータストアに記憶された加入者プロファイルデータオブジェクト、または等価な情報を指す。例示的な実施形態では、1つ以上のデータベースは、特定の形式でDPPMS加入者プロファイルデータオブジェクトを記憶するように構成され、記憶された情報セットは、ユーザまたはクライアントデバイスと関連付けられたデバイス保護プログラムへのサブスクリプションに関する情報を含む。
【0113】
「サードパーティデバイス管理システム」という用語は、サードパーティの情報および/またはサービスを提供するように構成された、サードパーティにより管理されるハードウェアおよび/またはソフトウェアシステムを指す。いくつかの例示的な局面では、例えば、サードパーティシステムは、少なくとも、1つまたは加入者プロファイルデータオブジェクトを記憶し、これを取得し、これにアクセスし、および/またはこれを他の方法で管理するように構成される。いくつかの実施形態では、サードパーティプロファイリングシステムは、加入者プロファイルデータオブジェクトを管理するためのサードパーティデバイス管理システム内の1つのサブシステムである。いくつかの実施形態では、サードパーティデバイス管理システムは、サードパーティ加入者プロファイルデータオブジェクトと等価な情報を記憶し、これを取得し、これにアクセスし、および/またはこれを他の方法で管理するように構成され得る。いくつかの実施形態では、DPPMSは、アプリケーションプログラムインターフェース(API)を使用することによって、サードパーティデバイス管理システム、または多数のサードパーティデバイス管理システムと通信するよ
うに構成される。
【0114】
「サードパーティ加入者プロファイルデータオブジェクト」という用語は、サードパーティデバイス管理システムに記憶された加入者プロファイルデータオブジェクトまたは等価な情報を指す。例示的なサードパーティ加入者プロファイルデータオブジェクトは、新たなユーザデバイスが購入されたときに、ユーザがモバイルキャリアを介してデバイス保護プログラムに登録したときに、モバイルキャリアによって維持されるキャリア加入者プロファイルデータオブジェクトである。
【0115】
いくつかの実施形態では、多数のシステムが、単一の加入者プロファイルデータオブジェクトの多数のインスタンス、または加入者または加入者デバイスと関連付けられた多数のプロファイルデータオブジェクトを記憶することを理解されたい。例えば、いくつかの実施形態では、DPPMSおよびサードパーティは各々、特定の加入者または加入者デバイスと関連したプロファイル、例えば、同じデバイスと関連付けられた多数の保護プログラム(例えば、製造者によって提供される保証および延長保証、またはDPPMSを介してプロバイダエンティティによって提供される保険補償)を有し得る。いくつかの実施形態では、サードパーティは、保護製品とは無関連である加入者プロファイルデータオブジェクトを記憶し得る(例えば、加入者デバイスに有線または無線通信サービスを提供するキャリア、または加入者デバイスと関連付けられた顧客情報を記憶する小売業者)。さらに、多数のシステムが単一の加入者プロファイルデータオブジェクトの多数のインスタンスを記憶するいくつかの実施形態では、各インスタンスは、他のインスタンスのフォーマットから独立したフォーマットで記憶される。例えば、例示的な実施形態では、DPPMSは、デバイス保護プログラムへの選択されたサブスクリプションと関連付けられたDPPMS加入者プロファイルデータオブジェクトを記憶し、サードパーティデバイス管理システムは、デバイス保護プログラムへの同じサブスクリプションと関連付けられたサードパーティ加入者プロファイルデータオブジェクトを記憶する。この例示的な実施形態では、DPPMS加入者プロファイルデータオブジェクトは、第1のプロファイルフォーマットに従って記憶され得、サードパーティ加入者プロファイルデータオブジェクトは、第2のプロファイルフォーマットに従って記憶され得る。
【0116】
「サードパーティ登録ステータス」という用語は、サードパーティ加入者プロファイルデータオブジェクトがサードパーティデバイス管理システムに存在するかどうかを示すデータまたは情報を指す。いくつかの実施形態では、サードパーティ登録ステータスは、特定の識別情報(例えば、加入者情報)と関連付けられた特定のサードパーティプロファイルがサードパーティデバイス管理システムに存在するかどうかを示す。
【0117】
「サードパーティ登録ステータス要求データオブジェクト」という用語は、DPPMSによってサードパーティデバイス管理システムに送信され、特定の加入者識別子データオブジェクトと関連付けられた記憶されたプロファイルデータオブジェクトをサードパーティデバイス管理システムが含むかどうかを識別することを要求するデータまたは情報を指す。特定のサードパーティ登録ステータス要求データオブジェクトは、サードパーティデバイス管理システムに、関連付けられたサードパーティ加入者プロファイルデータオブジェクトについてサードパーティプロファイルデータベースに照会させる。いくつかの実施形態では、サードパーティ登録ステータス要求データオブジェクトを伝送する多数の試みが行われ、各試みは、伝送と関連付けられた試み数に基づいて識別可能であるようになる(例えば、第1のサードパーティ登録ステータス要求データオブジェクト、第2のサードパーティ登録ステータス要求データオブジェクト、第3のサードパーティ登録ステータス要求データオブジェクトなど)。
【0118】
「サードパーティ登録ステータス応答データオブジェクト」という用語は、サードパー
ティ登録ステータスを含むサードパーティ登録ステータス要求データオブジェクトに応答して、サードパーティデバイス管理システムによってDPPMSに送信されるデータまたは情報を指す。いくつかの実施形態では、サードパーティ登録ステータス応答データオブジェクトは、サードパーティ加入者プロファイルデータオブジェクト、またはサードパーティ登録ステータス要求データオブジェクトと関連付けられた等価な情報を含む。
【0119】
「サードパーティ加入者登録要求データオブジェクト」という用語は、DPPMSによってサードパーティデバイス管理システムに送信され、サードパーティデバイス管理システムに、サードパーティ加入者登録要求データオブジェクトに基づいて、サードパーティ加入者プロファイルデータオブジェクトを作成または更新させるように構成されたデータまたは情報を指す。いくつかの実施形態では、サードパーティ加入者登録要求データオブジェクトは、加入者情報を含み、サードパーティデバイス管理システムに、加入者情報に基づいてサードパーティ加入者プロファイルデータオブジェクトを作成または更新させる。いくつかの実施形態では、サードパーティ加入者登録要求データオブジェクトを伝送する多数の試みが行われ、各試みは、伝送と関連付けられた試み数に基づいて識別可能であるようになる(例えば、第1のサードパーティ加入者登録要求データオブジェクト、第2のサードパーティ加入者登録要求データオブジェクト、第3のサードパーティ加入者登録要求データオブジェクトなど)。
【0120】
「サードパーティ加入者登録応答」という用語は、サードパーティデバイス管理システムがサードパーティ加入者プロファイルデータオブジェクトを正常に作成したかどうかを示すサードパーティ加入者登録要求データオブジェクトに応答して、サードパーティデバイス管理システムによってDPPMSに送信されるデータまたは情報を指す。
【0121】
「サードパーティ加入者キャンセル要求データオブジェクト」という用語は、DPPMSによってサードパーティデバイス管理システムに送信され、システムに、サードパーティ加入者プロファイルデータオブジェクトを消去することによってなどキャンセルさせるように構成された、データまたは情報を指す。いくつかの実施形態では、サードパーティ加入者登録要求データオブジェクトは、加入者情報を含み、サードパーティデバイス管理システムに、加入者情報と関連付けられたサードパーティ加入者プロファイルデータオブジェクトを識別および消去させる。
【0122】
「サードパーティ加入者キャンセル応答」という用語は、サードパーティデバイス管理システムがサードパーティ加入者プロファイルデータオブジェクトを正常にキャンセルしたかどうかを示すサードパーティ加入者登録要求データオブジェクトに応答して、サードパーティデバイス管理システムによってDPPMSに送信されるデータまたは情報を指す。
【0123】
「サードパーティ登録管理要求データオブジェクト」という用語は、一般に、サードパーティ加入者登録要求データオブジェクト、サードパーティ加入者キャンセル要求データオブジェクト、またはいずれかの要求と等価なデータまたは情報を指す。
【0124】
「サードパーティ登録管理応答」という用語は、一般に、サードパーティ加入者登録応答、サードパーティ加入者キャンセル応答、またはいずれかの応答と等価なデータまたは情報を指す。
【0125】
「伝送エラー」という用語は、DPPMSとサードパーティシステムとの間の不完全な、読み取り不能な、破損した、または不正確な通信を指す。例示的な伝送エラーは、DPPMSとサードパーティデバイス管理システムとの間の不完全なまたは破損したサードパーティ加入者登録要求データオブジェクトである。別の例示的な伝送エラーは、DPPM
Sとサードパーティデバイス管理システムとの間の不完全なサードパーティ加入者キャンセル要求データオブジェクトである。伝送エラーの他の非限定的な例は、サードパーティシステムエラー(例えば、サードパーティシステムが要求を受信し、および/または要求に応答することができないことを示す)、保護プログラム重複エラー(例えば、加入者登録要求がデバイス保護プログラムと関連付けられて送信されるときに、加入者がすでにデバイス保護プログラムまたは関連付けデバイス保護プログラムに登録されていることを示す)、要求処理エラー(例えば、伝送された要求データオブジェクトをこの時点で処理することができなかったことを示す)、および/または要求タイムアウトエラー(例えば、要求データオブジェクトと関連付けられた応答信号が要求タイムアウト閾値より長く受信されていないことを示す)を含む。
【0126】
「サードパーティ加入者キャンセル応答」という用語は、サードパーティデバイス管理システムがサードパーティ加入者プロファイルデータオブジェクトを正常にキャンセルしたかどうかを示すサードパーティ加入者登録要求データオブジェクトに応答して、サードパーティデバイス管理システムによってDPPMSに送信されるデータまたは情報を指す。
【0127】
「サードパーティ加入者登録エラー」という用語は、サードパーティ加入者登録要求データオブジェクトのサードパーティパーティデバイス管理システムへの伝送が不成功であったか、不完全であったか、または他の方法で失敗したことを示す、サードパーティ加入者登録要求データオブジェクトに応答してDPPMSによって受信されるデータまたは情報を指す。
【0128】
「伝送エラーデータオブジェクト」という用語は、サードパーティシステムへの以前に試みられた伝送が失敗したことを示す、伝送エラーに応答してDPPMSによって受信されるデータまたは情報を指す。いくつかの実施形態では、DPPMSは、サードパーティ登録ステータス要求データオブジェクトを伝送することに応答して伝送エラーを受信する。いくつかの実施形態では、DPPMSは、サードパーティ加入者登録要求データオブジェクトに応答して、伝送エラーデータオブジェクトを受信する。いくつかの実施形態では、伝送エラーは、失敗した特定のサードパーティ登録ステータス要求データオブジェクト、または失敗した特定のサードパーティ加入者登録要求データオブジェクトを識別する情報などの、伝送エラーを示す情報を含む)。いくつかの実施形態では、伝送エラーデータオブジェクトは、サードパーティシステムに情報を送信するとき、またはサードパーティシステムから情報を受信するときに、DPPMSが伝送エラーを検出することに応答して、DPPMSによって生成される。例えば、サードパーティシステムがDPPMSとの通信を開始するが、メッセージが不完全であるか、または不十分な情報が受信される場合、伝送エラーデータオブジェクトが生成され得る。
【0129】
「エラー分類セット」という用語は、受信されたエラーが関連付けられ得る1つ以上の事前定義されたエラー分類を指す。例示的なエラー分類セットは、「再試行可能なエラー」および「エスカレーションエラー」を含む。特定の例では、再試行可能なエラーとして識別されるエラーは、第1のエラー処理命令セット(例えば、要求再試行時間を決定し、再試行時間が経過した後の失敗した要求の後続の伝送を試みる)と関連付けられており、エスカレーションエラーは、第2のエラー処理命令セットと関連付けられている(例えば、手動介入のために、エラーレポートをDPPMSの特定のサブシステムまたはサードパーティシステムに伝送する)。
【0130】
「エラー分類データオブジェクト」という用語は、エラータイプと、エラー処理プロトコルを表す対応するエラー処理命令セットと、を識別する、DPPMSによって受信されたエラーと関連付けられた識別子を指す。例示的な実施形態では、特定のエラー分類は、
再試行可能なエラーを識別し、第2のエラー分類は、エスカレーションエラーを識別する。
【0131】
「要求再試行時間」という用語は、DPPMSからサードパーティデバイス管理システムへの失敗した伝送後に受信された再試行可能なエラーに応答して、サードパーティ登録ステータス要求データオブジェクトまたはサードパーティ加入者登録要求データオブジェクトなどの、後続の伝送の試みの間に経過しなければならない時間の長さを指す。
【0132】
「再試行試み数」という用語は、DPPMSとサードパーティデバイス管理システムとの間の要求の伝送の試みまたは失敗した伝送の試みの数を指す。例示的な実施形態では、DPPMSは、再試行試み数を追跡し、失敗した伝送の数が、再試行試み数を使用して識別可能であるようになる。
【0133】
「再試行最大閾値」という用語は、特定の再試行可能なエラーに対応して許可される再伝送の試みの最大数を指す。例示的な実施形態では、DPPMSは、DPPMSが失敗した伝送を再試行最大閾値を超えて再伝送することを試み得ないように、決定可能な再試行最大閾値(例えば、10の再試行最大値)を設定する。
【0134】
「再試行関係」という用語は、再試行試み数と再試行閾値との間の比較または他の関係を指す。再試行関係は、いくつかの実施形態では、「再試行関係結果データオブジェクト」と関連付けられており、これは、電子的に管理されるデータ、例えば、再試行関係が満たされているとDPPMSが決定したかどうかを示すブールデータ値を指す。いくつかの実施形態では、再試行関係は、再試行試みカウントと再試行最大閾値との間の比較を表す「再試行最大関係」によって具現化され、対応する再試行関係結果データオブジェクトは、再試行試みカウントが、再試行最大閾値未満であるか、または再試行最大閾値以下である場合に関係が満たされていることを示すようになる。別の特定の例では、再試行関係は、再試行試みカウントと再試行最小閾値との比較を表す「再試行最小関係」によって具現化され、対応する再試行関係結果データオブジェクトが、再試行試みカウントが、再試行最大閾値より大きいか、または再試行最大閾値以上である場合に関係が満たされていることを示すようになる。
【0135】
「エラー処理命令セット」という用語は、サードパーティデバイス管理システムへの試みられた伝送に応答してエラーを受信することに応答してDPPMSが実行する1つ以上のアクションを表すコンピュータコード命令および/または電子データを指す。いくつかの実施形態では、異なるエラー処理命令セットが、各々異なるエラー分類と関連付けられる。いくつかの実施形態では、エラー処理命令セットは、失敗した伝送を再試行する1回以上の試みを含む再試行プロトコルを定義する。例えば、例示的な実施形態では、要求再試行時間は、指数バックオフによって決定され、後続の伝送試行の要求再試行時間は、前の要求再試行時間を2倍にすることによって決定される(例えば、再伝送試み数1の前に5分待機し、再伝送試み数2の前に10分待機し、再伝送試み数3との間に20分待機し、再伝送試み数4との間に40分待機する)。これに代えて、またはこれに加えて、他のエラー処理命令セットは、再試行最大閾値を決定することを含む。例えば、いくつかの実施形態では、DPPMSは、識別されたエラー処理命令セットに従って、再試行最大閾値を決定し、再試行試み数を追跡するように構成され、再試行試み数および再試行最大閾値に基づいて再試行関係が決定可能であるようになっている。例示的な実施形態では、DPPMSは、再試行関係が再試行最大閾値を満たしているかどうかを決定するように構成される。例えば、例示的な実施形態では、再試行関係は、再試行試み数が再試行最大閾値に等しい場合に、再試行最大閾値を満たす。いくつかの実施形態では、エラー処理命令セットは、可変であってDPPMSおよび/またはサードパーティシステムに依存する様々な動作を含むエラー処理プロトコルを定義し得る。いくつかの実施形態では、サーバ負荷を
使用して、いずれかのシステムが飽和しているかどうか、またはいずれかのシステムからの応答時間が長すぎるかどうかに応じて、エラー処理プロトコルの実行される動作を決定し得る。いくつかの実施形態では、サードパーティシステムは、エラー処理プロトコルを設定または変更するようにDPPMSに指示し得る。
【0136】
「エラー処理イベント」という用語は、開始されたエラー処理命令セットの一部としてDPPMSが実行するデータ伝送、データ変換、または他のアクションを指す。いくつかの実施形態では、特定のエラー処理命令セットは、失敗した伝送に応答して受信された再試行可能なエラー(例えば、失敗したサードパーティ加入者登録要求データオブジェクトに応答して受信されたサードパーティ加入者登録エラー)に応答するためのエラー処理プロトコルを定義する多数のエラー処理イベントを具現化する。例示的なエラー処理命令セットは、次のエラー処理イベント、すなわち、[1]再試行最大閾値を識別すること[2]再試行試み数を識別すること[3]再試行試み数および再試行最大閾値に基づいて再試行関係を決定すること[4]再試行関係が再試行最大閾値を満たしているかどうかを決定すること(例えば、再試行試み数が識別された再試行最大閾値と等価であるかどうかを比較することによって)、および満たしていない場合に[5]失敗した伝送を再伝送するか、または満たしている場合に[6]再試行可能なエラーをエラーエスカレーションキューに追加することを表す。
【0137】
「エスカレーションキュー」という用語は、エラー処理命令セットに従ってエスカレートされたエスカレーションエラーおよび/または再試行可能なエラーなどの、記憶された伝送エラーのセットを指す。いくつかの実施形態では、エスカレーションキューは、DPPMSと関連付けられたデータストアに記憶される。いくつかの実施形態では、DPPMSは、1つ以上のサードパーティ伝送エラーを記憶するように構成されたエスカレーションキューを作成および管理する。いくつかの実施形態では、エスカレーションキューは、DPPMSがサードパーティ伝送エラーまたは等価な情報を1つ以上のサードパーティエラー処理システムに伝送する決定された時間まで、サードパーティ伝送エラーを記憶する。いくつかの実施形態では、エスカレーションキューは、人間のオペレータが、サードパーティ伝送エラーと関連付けられた手動動作を実行するまで、サードパーティ伝送エラーを記憶する。
【0138】
「エラーエスカレーション要求」という用語は、DPPMSによってDPPMSのエラー処理サブシステム、DPPMSと関連付けられたエラー処理システム、またはサードパーティエラー処理システムに送信されるデータまたは情報を指す。いくつかの実施形態では、DPPMSは、エスカレーションエラーを受信することに応答して実行および/または開始されたエラー処理命令セットの一部として、エラー処理イベントでエラーエスカレーション要求を伝送する。いくつかの実施形態では、DPPMSは、再試行試み数が再試行最大閾値に等しい場合に、エラー処理命令セットの一部としてエラー処理イベントでエラーエスカレーション要求を伝送する。
【0139】
「サードパーティケース」という用語は、加入者デバイスと関連付けられたデバイスインシデントに応答してサードパーティシステムによって生成、取得、および/または他の方法で蓄積された情報セットを指す。例えば、ユーザは、紛失インシデント(例えば、加入者デバイスの紛失または盗難)をサードパーティシステムに報告し得る。例示的なシステムでは、サードパーティシステムは、加入者デバイスおよび紛失インシデントと関連付けられたサードパーティケースを生成する。いくつかの実施形態では、サードパーティケースは、「サードパーティケース情報」を含む。サードパーティケース情報は、サードパーティケースに記憶されるか、またはサードパーティケースと関連付けられた情報を指す。例示的な実施形態では、ケース情報は、サードパーティケース識別子、加入者識別子データオブジェクトおよび/または加入者デバイス識別子、加入者名、加入者レポートタイ
プ(例えば、損傷、紛失、盗難など)を含む。これに加えて、いくつかの実施形態では、サードパーティケース情報は、サードパーティシステムがデバイスインシデントを報告したユーザを認証したことを検証するための加入者認証情報を含む。
【0140】
「請求データオブジェクト」および「請求」という用語は、デバイス保護プログラムと関連付けられた損失またはポリシーインシデントに応答して、加入者デバイスの補償の要求と関連付けられたDPPMSによって生成または受信される情報セットを含む電子管理データを指す。いくつかの実施形態では、請求データオブジェクトは、少なくとも、(1)特定の加入者デバイスと関連付けられたデバイス識別情報および/または対応するサブスクリプションプロファイル、(2)紛失した日付のタイムスタンプ、および(3)請求タイプ(例えば、損失、盗難、偶発的な損傷、機械的故障など)を含む。いくつかの実施形態では、請求データオブジェクトは、(1)対応するサードパーティケースと関連付けられたサードパーティケース情報、および/または(2)追加のサブスクリプション情報、サブスクリプションプロファイル、またはサブスクリプションプロファイル識別子をさらに含む。いくつかの実施形態では、請求データオブジェクトは、DPPMSを介して、例えば、クライアントデバイスを介してユーザによってアクセスされるウェブポータルを介して直接受信される。いくつかの実施形態では、請求データオブジェクトは、DPPMSが、受信されたサードパーティケース情報と関連付けられたユーザケース情報を受信した後に生成される。請求データオブジェクトは、加入者デバイスの補償、修理、または交換の要求と関連付けられ得る。
【0141】
「請求情報」という用語は、デバイス保護プログラムと関連付けられて生成されている請求に関連するデータを指す。これに加えて、いくつかの実施形態では、請求情報は、請求と関連付けられた情報、請求と関連付けられた加入者、請求と関連付けられた加入者情報、請求と関連付けられた加入者デバイスなどを含む。例示的な実施形態では、請求情報は、少なくとも、サードパーティシステムから受信されたサードパーティケース情報を含む。
【0142】
「請求処理プロトコル」という用語は、請求を実行、処理、または履行するために実行される1つ以上のアクションを指す。いくつかの実施形態では、DPPMS、またはDPPMSの履行サブシステムは、請求および/または請求情報と関連付けられた請求処理プロトコルを識別するように構成される。これに加えて、またはこれに代えて、いくつかの実施形態では、DPPMS(例えば、DPPMSの履行サブシステム)は、請求処理プロトコルを実行するように構成される。
【0143】
「デバイス情報」という用語は、加入者デバイス、加入者デバイスの1つ以上のコンポーネント、および/または加入者デバイスの使用状況と関連付けられたデータ、情報などを指す。デバイス情報の例として、1つ以上のデバイス識別子、シリアル番号、コンポーネント識別子またはシリアル番号、デバイスモデルまたは製造情報などが挙げられる。デバイス情報のさらなる例は、加入者デバイスと関連付けられたロケーションデータ、アプリケーションアクセス情報(例えば、特定のアプリケーションの最後に記録された実行)、加入者デバイス設定などを含む。
【0144】
「リアルタイム」という用語は、所望の時間に、またはデータの即時またはほぼ即時の使用の要求に応じて(例えば、所定の時間枠内、例えば5秒以内、1分以内など)、特定の情報を取得することを指す。いくつかの実施形態では、デバイス情報は、「リアルタイムデバイス情報」と呼ばれるリアルタイムで取得され得る。いくつかの実施形態では、DPPMSは、サードパーティデバイス管理システムからリアルタイムデバイス情報を取得し、サードパーティデバイス管理システムは、(1)加入者デバイスにリアルタイムで連絡することによってリアルタイムデバイス情報を識別するように構成されるか、または(
2)より前の時間に、例えば、サードパーティデバイス管理システムに加入者デバイスと関連付けられた請求が通知されたときに、加入者デバイスからリアルタイムデバイス情報の一部またはすべてを取得および記憶するように構成されるかのいずれかである。
【0145】
いくつかの実施形態では、リアルタイムデバイス情報は、デバイス識別子、MACアドレス、IPアドレスなどのような、リアルタイムで取得されたデバイス識別情報を含む。これに代えて、またはこれに加えて、他の実施形態では、リアルタイムデバイス情報は、加入者デバイスの使用状況と関連付けられた情報を指す(例えば、1つ以上のアプリがアクセスされたかどうか、1つ以上のアプリがアクセスされたとき、加入者デバイス上で1つ以上のロケーション設定が有効にされたかどうかなど)。
【0146】
例えば、いくつかの実施形態では、デバイスロケーションアプリケーションは、第2のユーザデバイスからアクセス可能であり、デバイスロケーションアプリケーションは、加入者デバイスと関連付けられたロケーションを提供するように構成される。したがって、いくつかの実施形態では、リアルタイムデバイス情報は、ユーザがサードパーティデバイス管理システムまたはDPPMSにインシデントを提出したときにデバイスロケーションアプリケーションが有効であったかどうかを示すデバイスロケーションアプリケーションステータスを含む。いくつかの実施形態では、デバイス紛失アプリケーションは、第2のユーザデバイスからアクセス可能であり、デバイス紛失アプリケーションは、加入者デバイスに、一部またはすべての、加入者デバイスと関連付けられた機能をアクセス不能にし、および/または加入者と関連付けられた情報(例えば、連絡先情報)を表示し、加入者デバイスが紛失したことを示すデバイス紛失ステータスを設定することによって、および/または加入者デバイスが紛失していないことを示すデバイス紛失ステータスを設定することによってデバイス紛失アプリケーションステータスと関連付けられた機能を復元するように構成される。したがって、いくつかの実施形態では、リアルタイムデバイス情報は、デバイス紛失アプリケーションと関連付けられたデバイス紛失ステータスを含む。いくつかの実施形態では、デバイス紛失アプリケーションおよびデバイスロケーションアプリケーションは、単一のソフトウェアアプリケーション、ウェブモジュールなどを介して提供されることを理解されたい。
【0147】
これに加えて、またはこれに代えて、いくつかの実施形態では、リアルタイムデバイス情報は、加入者デバイスおよび/または関連付けられた加入者と関連付けられることによって報告された以前のインシデントと関連付けられた情報を指す。例えば、リアルタイムデバイス情報は、加入者デバイスと関連付けられたオープン修復リスト(加入者デバイスと関連付けられた現在保留中の修復を含む)、インシデントの残りのリスト、および/または以前の交換ステータス(サードパーティデバイス管理システムまたはDPPMSと関連付けられた請求を介するなど加入者デバイスが以前に交換されたかどうかを示す)を含む。
【0148】
「不正防止プロトコル」という用語は、請求情報を受信することに応答して、DPPMSまたはDPPMS内のサブシステム(例えば、不正防止サブシステム)が実行する1つ以上のアクションを指す。不正防止プロトコルは、不正請求情報を検出するように設計された1つ以上のアクションを含む。不正防止プロトコルの特定の例は、1つまたは多数の不正防止イベントを含む。
【0149】
「不正防止イベント」という用語は、データ伝送、データ変換、またはDPPMSまたはDPPMS内のサブシステム(例えば、不正防止サブシステム)が不正防止プロトコルの一部として実行する他のアクションを指す。例示的な特定の不正防止プロトコルは、次の不正防止イベント、すなわち、[1]加入者デバイスから、最新のデバイスロケーションアプリケーション使用状況と関連付けられたリアルタイムデバイス情報を取得すること
と、[2]リアルタイムデバイス情報が、許容可能なデバイス探索閾値内にあるかどうかを識別することと、を含む。例示的な実施形態では、不正防止イベントは、加入者デバイスまたは加入者デバイスにリンクされたシステムからリアルタイムで、加入者デバイスをロケートするように構成されたソフトウェアアプリケーションの最新の使用状況を取得し、最新の使用状況情報とデバイス探索閾値との間の関係を決定し、およびリアルタイムで取得された使用状況情報が、デバイス探索閾値を満たしているかどうかを識別する。
【0150】
「アクションプロセス」および「アクションプロセスインスタンス」という用語は、サードパーティシステムから伝送された特定のタイプの着信要求を履行するか、または他の方法で処理するように構成された、DPPMSまたはDPPMS内のサブモジュールによって実行または管理されるマイクロサービス、ソフトウェアモジュールインスタンスなどを指す。例示的なアクションプロセスは、モバイルキャリアシステムなどのサードパーティシステムから受信された1つ以上の新たな登録要求を処理するように構成されたソフトウェアモジュールのインスタンスである。いくつかの実施形態では、アクションプロセスは、1つ以上のアクションキューに記憶された1つ以上の未処理のアクションを処理するように構成された1つ以上のプロセススレッドで実行される。
【0151】
多数のアクションプロセスインスタンス(「アクションプロセス」)は、所与の時間に並行して実行され得る。したがって、「実行されるインスタンス数」という用語は、実行されるアクションプロセスの総数を表す。
【0152】
「プロセススレッド(単数または複数)」または「スレッド(単数または複数)」という用語は、単一のコンピューティングインスタンスまたは多数のコンピューティングインスタンス、例えば、1つ以上のプロセッサ、またはプロセッサ内の1つ以上の処理モジュールと関連付けられた1つ以上のサーバに分散された1つ以上のプロセッサ上で同時にまたは半同時に実行されるタスクの1つ以上のストリームを指す。例示的なプロセススレッドは、サードパーティシステムから伝送された登録要求を完了するように構成される。いくつかの実施形態では、実行されるアクションプロセスは、アクションプロセスに伝送された要求を完了するための1つ以上のプロセススレッドを含む。いくつかの実施形態では、アクションプロセスは、特定のアクションプロセスと関連付けられて実行できるプロセススレッドの総数を表す「プロセススレッドカウント最大値」と関連付けられる。「プロセススレッドカウント」という用語は、特定のアクションプロセスで実行された、または特定のアクションプロセスと他の方法で関連付けられたプロセススレッドの総数を指す。
【0153】
「アクションキュー」という用語は、1つ以上のアクションプロセスによって処理されることとなる、1つ以上のサードパーティシステムによって受信された、未実行の要求セットを指す。例示的なアクションキューは、サードパーティデバイス管理システムなどのサードパーティシステムによってDPPMSに伝送された登録要求を記憶するように構成される。アクションキューは、対応するアクションキューに存在する未実行の要求の数を指すキュー長と関連付けられる。
【0154】
「キュー関係」という用語は、キュー長とキュー長の閾値との間の特定の数学的な、またはアルゴリズムによる比較を指す。キュー関係は、「キュー関係結果データオブジェクト」と関連付けられており、これは、電子的に管理されるデータ、例えば、キュー関係が満たされているとDPPMSが決定したかどうかを示すブールデータ値を指す。特定の例では、キュー関係は、キュー長とキュー長最大閾値との間の比較を表す「最大キュー関係」によって具現化され、キュー長が最大キュー閾値よりも小さいか、最大キュー閾値以下である場合に関係が満たされることを対応するキュー関係結果データオブジェクトが示すようになる。別の特定の例では、キュー関係は、キュー長とキュー長最小閾値との間の比較を表す「最小キュー関係」によって具現化され、キュー長が最小キュー閾値よりも大き
いか、最小キュー閾値以上である場合に関係が満たされることを対応するキュー関係結果データオブジェクトが示すようになる。
【0155】
「キュー長閾値」という用語は、特定のアクションキューのキュー長のキュー関係が満たされると、DPPMSをトリガしてアクションプロセスインスタンスセットを更新するための数を指す。特定の例では、キュー長閾値は「キュー長最大閾値」であり、アクションプロセスインスタンスセットを更新する必要がある最大キュー長を表す。いくつかの実施形態では、最大キュー関係が、キュー長がキュー長最大閾値を超えることを表す場合、最大キュー関係は、キュー長最大閾値を満たす。いくつかの実施形態では、最大キュー関係が、キュー長最大閾値を超えることによってなどキュー長最大閾値を満たす場合、新たなアクションプロセスインスタンスがDPPMSによって実行され、および/またはアクションプロセスインスタンスセットに追加される。特定の例では、キュー長閾値は「キュー長最小閾値」であり、アクションプロセスインスタンスセットを更新する必要がある最小キュー長を表す。いくつかの実施形態では、最小キュー関係が、キュー長がキュー長最小閾値未満であることを表す場合、最小キュー関係は、キュー長最小閾値を満たす。いくつかの実施形態では、最小キュー関係が、キュー長がキュー長最小閾値未満である場合など、キュー長最小閾値を満たす場合、選択されたアクションプロセスインスタンスは、実行されるアクションプロセスインスタンスセットから終了される。
【0156】
いくつかの実施形態では、キュー長閾値、キュー長最小閾値、および/またはキュー長最大閾値は、各々、決定されるか、識別されるか、または他の方法で設定された数(例えば、20)である。いくつかの実施形態では、キュー長最大閾値およびキュー長最小閾値は、等価な数に設定される。いくつかの実施形態では、キュー長最大閾値およびキュー長最小閾値は、等しくない数に設定される。例えば、特定の実施形態では、キュー長最小閾値は、キュー長最大閾値よりも小さい(例えば、20のキュー長最小閾値、および100のキュー長最大閾値)。いくつかの実施形態では、アクションキュー内のすべての未処理のアクションが解決されると、実行されるアクションプロセスインスタンスがスケールダウンされるように、キュー長最小閾値はゼロである。
【0157】
「アクションプロセスインスタンスカウント最大値」という用語は、一度に初期化および実行され得るアクションプロセスの最大数を指す。例示的な実施形態では、各アクションプロセスは、実行されるAPIトランザクションの数と関連付けられており、アクションプロセスインスタンスカウント最大値は、すべての実行されるアクションプロセス、または特定のアクションキューまたは特定のタイプの未処理のアクションと関連付けられたすべての実行されるアクションについて、単位時間あたりの許可されるAPIトランザクションの最大数に従って設定される。
【0158】
「アクションプロセスインスタンスカウント最小値」という用語は、一度に初期化および実行され得るアクションプロセスの最小数を指す。いくつかの実施形態は、アクションプロセスインスタンスカウント最小値を決定する。いくつかの実施形態では、アクションプロセスインスタンスカウント最小値は、事前決定される。
【0159】
「最大プロセスインスタンス関係」という用語は、実行されるインスタンス数とアクションプロセスインスタンスカウント最大閾値との間の数学的な、またはアルゴリズムによる比較を指す。最大プロセスインスタンス関係は、電子的に管理されるデータ、例えば、最大プロセスインスタンス関係が満たされているとDPPMSが決定したかどうかを示すブールデータ値を指す「最大プロセスインスタンス関係結果データオブジェクト」と関連付けられる。いくつかの実施形態では、最大プロセスインスタンス関係は、対応する実行されるインスタンス数がアクションプロセスインスタンスカウント最大値未満または以下である場合、アクションプロセスインスタンスカウント最大値を満たす比較である。
【0160】
「最小プロセスインスタンス関係」という用語は、実行されるインスタンス数とアクションプロセスインスタンスカウント最小閾値との間の数学的な、またはアルゴリズムによる比較を指す。最大プロセスインスタンス関係は、電子的に管理されるデータ、例えば、最小プロセスインスタンス関係が満たされているとDPPMSが決定したかどうかを示すブールデータ値を指す「最小プロセスインスタンス関係結果データオブジェクト」と関連付けられる。いくつかの実施形態では、プロセスインスタンス関係は、対応する実行されるインスタンス数がアクションプロセスインスタンスカウント最小値よりも大きい場合に、アクションプロセスインスタンスカウント最小閾値を満たす比較である。
【0161】
「システム同期イベント」という用語は、サードパーティ加入者プロファイルデータオブジェクトに従って1つ以上のDPPMS加入者プロファイルデータオブジェクトを同期させるために、DPPMSまたはDPPS内の1つ以上のサブシステムによって実行される1つ以上のアクションを指す。例えば、例示的な実施形態では、DPPMSは、一貫性のない情報を含むサードパーティ加入者プロファイルデータオブジェクトおよびDPPMS加入者プロファイルデータオブジェクトを識別し、かつDPPMS加入者プロファイルデータオブジェクトは、サードパーティ加入者プロファイルデータオブジェクト内の情報に基づいてDPPMS加入者プロファイルデータオブジェクトを同期させるように構成される。これに代えて、またはこれに加えて、別の例示的な実施形態では、DPPMSは、受信されたサードパーティ登録ステータス応答データオブジェクトに基づいて、加入者識別子と関連付けられたサードパーティ加入者プロファイルデータオブジェクトをキャンセルしたサードパーティデバイス管理システムを識別し、かつ加入者識別子データオブジェクトと関連付けられたDPPMS加入者プロファイルデータオブジェクトをキャンセルするように構成される。いくつかの実施形態では、システム同期イベントは、1つ以上の登録管理要求を伝送することを含む。例えば、いくつかの実施形態では、DPPMSは、サードパーティ加入者登録要求データオブジェクトまたはサードパーティ加入者キャンセル要求データオブジェクトを伝送して、サードパーティデバイス管理システムを同期させる。他の実施形態では、DPPMSは、システム同期イベント中に、1つ以上の加入者プロファイル、または1つ以上のサブシステムの加入者プロファイルを更新する。
【0162】
システムアーキテクチャ
本開示の方法、装置、システム、およびコンピュータプログラム製品は、様々なシステムアーキテクチャにおける多様なデバイスのいずれかによって具現化され得る。例えば、例示的な実施形態の方法、装置、システム、およびコンピュータプログラム製品は、加入者デバイス、サードパーティデバイスなどの1つ以上のデバイスおよび1つ以上のサードパーティサーバと通信するように構成された、サーバまたは他のエンティティなどの1つ以上のネットワークデバイスによって具現化され得る。例示的な実施形態は、サーバとして動作する多様なネットワーク化されたデバイスを含む。これに加えて、またはこれに代えて、例示的な実施形態の実施形態の方法、装置、システム、および/またはコンピュータプログラム製品は、本明細書に開示されて実行され、かつネットワークに接続された1つ以上のサーバなどの1つ以上のハードウェアモジュールまたはシステム上で実行される動作の一部またはすべてを実行するように構成された、1つ以上のソフトウェアモジュールによって具現化され得る。
【0163】
これに関して、
図1は、本開示の実施形態が動作し得る簡略化された例示的なシステムを示すブロック図である。具体的には、システムは、デバイス保護プログラム管理サーバ102およびサードパーティデバイス管理システム118A~118Cを含む。各サードパーティデバイス管理システムは、通信ネットワーク116などのネットワークを介して、少なくともデバイス保護プログラム管理サーバ102に接続され得る。
【0164】
デバイス保護プログラム管理サーバ102は、多数の回路モジュール104~114と関連付けられ得る。いくつかの実施形態では、モジュール104~114の各々は、デバイス保護プログラム管理サーバ102と通信するハードウェアによって具現化され、特定のモジュールと関連付けられた動作を実行するように特別に構成される。いくつかの例示的なシステムでは、モジュール104~114のいくつかは、デバイス保護プログラム管理サーバ102と通信するように構成された第2のサーバまたはハードウェアコンポーネント上で実行されるソフトウェアによって具現化される。
【0165】
デバイス保護プログラム管理サーバ102は、1つ以上のソフトウェアおよび/またはハードウェアモジュールなどの手段を利用して、デバイス保護プログラムへのサブスクリプションを管理することと関連付けられた様々なタスクを実行するように構成され得る。デバイス保護プログラム管理サーバ102は、様々なデバイス保護プログラムと関連付けられた加入者のデータストアを記憶および/または維持するように構成され得る。加入者は、1つ以上のデバイスと関連付けられている人、または特定のデバイス自体であり得る。加入者と関連付けられた登録サブスクリプションおよび/またはキャンセル要求は、1つ以上のユーザおよび/またはクライアントデバイス120などのサブスクリプションデバイスから、または1つ以上のサードパーティサーバから直接受信され得る。例えば、デバイス保護プログラム管理サーバ102は、デバイス保護計画と関連付けられた新たな加入者を登録するように構成され得る。これに加えて、例えば、デバイス保護プログラム管理サーバ102は、デバイス保護計画と関連付けられた加入者をキャンセルするように構成され得る。
【0166】
デバイス保護プログラム管理サーバ102は、サードパーティデバイス管理システム118A~118Cなどの、サードパーティ加入者プロファイルデータオブジェクトの登録および/または管理のために構成された1つ以上のサードパーティデバイス管理システムと通信するように構成され得る(例えば、サードパーティデバイス管理システムと関連付けられたサードパーティプロファイリングシステム、またはサードパーティデバイス管理システムのサブシステムを介して)。いくつかのシステムでは、デバイス保護プログラム管理サーバ102は、サードパーティデバイス管理システムと通信して、1つ以上の加入者と関連付けられた登録ステータスを確証し、検証し、受信し、および/または同期し得る。例えば、サードパーティデバイス管理システム118A~118Cは、各々独立して、登録サブスクリプション要求、および/または1つ以上のデバイス保護プログラムと関連付けられた登録キャンセル要求データオブジェクトを受信し得る。各サードパーティデバイス管理システムは、デバイスの購入および/または保護と関連付けられ得る。例えば、サードパーティデバイス管理システムは、デバイス保護プログラム管理サーバ102と関連付けられたプロバイダエンティティによって履行される1つ以上のデバイス保護プログラムにユーザおよび/またはデバイスを登録する、デバイスベンダー、デバイス製造者、モバイルキャリア、または他のエンティティによって制御されるシステムを含み得る。
【0167】
デバイス保護プログラム管理サーバ102は、これに加えて、登録サブスクリプション要求データオブジェクト(単数または複数)および/または登録キャンセル要求データオブジェクト(単数または複数)の同期および/または処理を提供し得る。例えば、デバイス保護プログラム管理サーバは、サブシステムの各々が、記憶された情報と関連付けられた1つ以上のアクションを実行し得るように、1つ以上の他のサブシステムおよび/またはコンポーネントと通信して、加入者プロファイル(単数または複数)、および/または各サブシステムによって管理される対応する情報を同期させ得る。例えば、デバイス保護プログラム管理サーバ102は、加入者プロファイル登録データを、サードパーティ加入者プロファイルデータと共に、支払いシステムおよび/または請求書処理システム(図示せず)と同期させて、そのような情報が最新であり、かつ適合することを確保する。そのようなシステムを同期させることによって、デバイス保護プログラム管理サーバ102は
、システムが通信して、デバイス保護プログラムと関連付けられて請求が発生したときに特定の加入者の登録を確証できるようにする。これに関して、デバイス保護プログラム管理サーバ102および/またはサードパーティデバイス管理システムは、デバイス保護プログラムへの登録を検証する目的で、および適切なサービスの実行を開始するために、そのような同期されたデータを利用し得る。
【0168】
新たなデバイスまたはデバイスコントローラーが、サードパーティエンティティを介してデバイス保護プログラムにサブスクライブされると、サードパーティデバイス管理システムは、その登録を管理し、かつ対応するサードパーティと関連付けられた加入者がリストに反映されるように構成され得る。したがって、デバイス保護プログラム管理サーバ102は、各サードパーティデバイス管理システムと通信して、サードパーティのすべてを介して登録されたすべての加入者のデータストアを維持するように構成され得る。言い換えれば、デバイス保護プログラム管理サーバ102は、サードパーティデバイス管理システム118A~118Cの各々と通信して、加入者がサードパーティを介してキャンセルする際に、デバイス保護プログラム管理サーバ102と関連付けられた加入者データストアから加入者をキャンセルおよび/または消去することができ、および/またはサードパーティデバイス管理システム118A~118Cの各々と通信して、新たな加入者がサードパーティシステムを介して登録する際に、デバイス保護プログラム管理サーバ102と関連付けられた加入者データストアに新たな加入者を追加することができる。
【0169】
加入者登録管理と関連付けられて実行されるプロセスおよび動作の例が、本明細書でさらに考察される。したがって、上記の説明は、例示的な概要を提供することを意図しており、本開示の実施形態の範囲または趣旨を限定するものではない。
【0170】
いくつかの実施形態では、DPPMSのデバイス保護プログラム管理サーバ102は、1つ以上のソフトウェアおよび/またはハードウェアモジュールなどの手段を利用して、デバイス保護プログラムと関連した請求を管理することと関連付けられた様々なタスクを実行するように構成され得る。デバイス保護プログラム管理サーバ102は、例えば、1つ以上のデバイス保護プログラムと関連付けられた1つ以上の請求を処理するように構成され得る。例えば、加入者は、クライアントデバイスを利用して、サードパーティシステムを介して、またはデバイス保護プログラム管理サーバ102に直接、デバイス保護管理プログラムと関連した請求を提出し得る。次に、デバイス保護プログラム管理サーバ102は、請求に関連付けられて実行される1つ以上のアクションを記憶するように構成されたアクションキューを維持し得る。
【0171】
デバイス保護プログラム管理サーバ102は、モジュール104~114などの手段と関連付けられて、上述した、および本明細書にさらに記載される動作を実行し得る。例えば、登録モジュール104、または登録モジュール104を具現化する手段は、登録サブスクリプションおよび/またはキャンセルを実行するように構成され得る。本明細書のいくつかの実施形態では、登録モジュール104、または登録モジュール104を具現化する手段は、1つ以上のサードパーティデバイス管理システムと通信することによって加入者データストアを維持することと関連付けられた動作を実行するように構成された、自己回復フレームワーク110などの自己回復サブモジュールを含む。
【0172】
これに加えて、またはこれに代えて、不正防止モジュール106、または登録モジュール104を具現化する手段は、本明細書にさらに記載されるように、請求を分析して請求が不正であるかどうかを決定するための1つ以上の動作を実行するように構成され得る。例えば、いくつかの実施形態では、不正防止モジュール106は、不正防止プロトコルを識別し、かつ不正防止プロトコルに従って1つ以上の不正防止ステップを実行するように構成される。
【0173】
これに加えて、またはこれに代えて、履行モジュール108、または履行モジュール108を具現化する手段は、デバイス保護プログラムに関連付けられて提出された請求を履行するための1つ以上の動作を実行するように構成され得る。例えば、いくつかの実施形態では、履行モジュール108は、請求に応答して、デバイス保護プログラムと関連付けられた1つ以上の履行イベントを実行するように構成される。
【0174】
これに加えて、またはこれに代えて、エラー分類モジュール112、またはエラー分類モジュール112を具現化する手段は、伝送エラーを識別するための1つ以上の動作を実行するように構成され得る。例えば、デバイス保護プログラム管理サーバ102が、サードパーティデバイス管理システムへの接続に失敗するか、または接続を喪失すると、デバイス保護プログラム管理サーバ102は、伝送エラーを受信し得る。エラー分類モジュール112は、受信された伝送エラーと関連付けられたエラー分類を識別し、および/または識別されたエラー分類に基づいて1つ以上のアクションを実行し得る。特定の実施形態では、エラー分類モジュール112は、
図9および
図10に関して以下に記載される1つ以上の動作を実行するように構成され得る。
【0175】
これに加えて、またはこれに代えて、ワークフロー管理モジュール114、またはワークフロー管理モジュール114を具現化する手段は、1つ以上のアクションキューを維持するための1つ以上の動作を実行するように構成され得る。例えば、ワークフロー管理モジュール114は、不履行の請求のアクションキュー、保留中の新たな登録サブスクリプション要求のアクションキュー、および保留中の登録キャンセル要求データオブジェクトのアクションキューを管理するように構成され得る。いくつかの実施形態では、ワークフロー管理モジュール114は、対応するアクションキューを管理することと関連付けられた1つ以上の動作を実行するように構成された1つ以上のアクションプロセスを管理し得る。特定の実施形態では、ワークフロー管理モジュール114は、
図6、
図7A、および
図7Bに関して以下に記載される1つ以上の動作を実行するように構成され得る。
【0176】
いくつかの実施形態では、デバイス保護プログラム管理サーバ102は、様々なまたは特殊な目的で、1つ以上の他のサブシステムと関連付けられ得る。例えば、いくつかの実施形態では、デバイス保護プログラム管理サーバ102は、登録された加入者と関連付けられた支払いプロファイル、トランザクション情報、および/または他の支払い処理情報を管理するためのDPPMS支払いサブシステムと通信可能であるか、またはDPPMS支払いサブシステムと他の方法で関連付けられている。これに加えて、またはこれに代えて、いくつかの実施形態では、デバイス保護プログラム管理サーバ102は、登録された加入者と関連付けられたポリシープロファイル、ポリシールールおよび/または要件情報、または他のデバイス保護ポリシー情報を管理するためのDPPMSポリシーサブシステムと通信可能であるか、またはDPPMSポリシーサブシステムと他の方法で関連付けられている。これに加えて、またはこれに代えて、いくつかの実施形態では、デバイス保護プログラム管理サーバ102は、デバイス保護プログラムと関連付けられた請求の履行を容易にするために提供され得る交換用デバイス(例えば、使用されていない、および/または使用するように構成されないクライアントデバイス)の在庫を管理するためのDPPMS在庫サブシステムと通信可能であるか、またはDPPMS在庫サブシステムと関連付けられる。
【0177】
図2は、本開示の実施形態に従って特別に構成され得る例示的なシステムのブロック図を例示している。具体的には、描示されたシステムは、DPPMS(DPPMS)202、サードパーティシステム216、サードパーティシステム222、およびクライアントデバイス228、230、および232を含む。これらのデバイスの各々は、ネットワーク234を介して通信するように構成される。
【0178】
クライアントデバイス228、230、および232は、ネットワークと相互作用するための1つ以上のプロセッサ、メモリ、および通信インターフェースを備え得る、当技術分野で知られている任意のコンピューティングデバイスによって具現化され得る。クライアントデバイス228、230、および232から受信された情報は、様々な形態で、および様々な方法を介して提供され得る。例えば、クライアントデバイス228、230、および232は、本明細書に記載されるデバイスのいずれかを含む、ラップトップコンピュータ、スマートフォン、ネットブック、タブレットコンピュータ、ウェアラブルデバイスなどであってもよく、データは、これらの消費者向けデバイスによって提供されるデータ伝送の様々なモードを介して提供および受信され得る。いくつかのシステムでは、クライアントデバイス228、230、および232のうちの1つ以上は、本明細書に記載される実施形態による加入者デバイスであり得る。他の実施形態では、クライアントデバイス228、230、および232は、DPPMS202を介して少なくとも1つのデバイス保護プログラムに登録された加入者ユーザによって制御される他のデバイスであり得る。いくつかの実施形態では、クライアントデバイス228、230、および232のうちの1つ以上を利用して、請求、登録サブスクリプション要求、登録キャンセル要求データオブジェクトなどを、サードパーティシステム216または222などのサードパーティシステムに、および/またはDPPMS202に伝送し得る。例示的なシステムでは、クライアントまたはユーザデバイスは、加入者デバイス、および請求を伝送するために利用されるデバイスの両方であり得る。
【0179】
サードパーティシステム216および222は、デバイス保護プログラムへの登録および/または登録のキャンセルと関連付けられた少なくとも1つ以上の動作を実行するように構成され得る。例示されるように、各サードパーティシステムは、サードパーティサーバ218および224などのサードパーティサーバ、およびサードパーティデータベース220および226などのサードパーティデータベースを含み得る。いくつかの実施形態では、サードパーティシステムは、例えば、サードパーティサーバおよびサードパーティデータベースを利用して、所与の加入者がサードパーティを介して登録されているかどうかを決定するための登録ステータスチェックなどの追加の動作を実行するように構成され得る。
【0180】
サードパーティサーバ218および224などのサードパーティサーバは、サードパーティシステム216および222などのサードパーティシステムがネットワーク234などのネットワークと通信することを可能にするように構成され得る。各サードパーティシステムは、対応するサードパーティサーバを利用して、クライアントデバイス228、230、および232などの1つ以上のクライアントデバイスと通信するように構成され得る。これに加えて、またはこれに代えて、サードパーティシステムは、対応するサードパーティサーバを利用して、DPPMS202と通信し得る。
【0181】
各サードパーティサーバはまた、サードパーティデータベース220および226などの対応するサードパーティデータベースと関連付けられ得るか、接続され得るか、または他の方法で通信可能であり得る。サードパーティデータベースは、対応するサーバと統合され得るか、またはそれから分離され得る。いくつかのシステムでは、サードパーティデータベースは、サードパーティシステムと関連付けられた1つ以上の加入者の少なくとも加入者情報を記憶し得る。例えば、サードパーティシステムを介して登録された各加入者は、サードパーティシステムがサードパーティデバイス管理システムとして機能するように構成されるように、サードパーティデータベースに記憶された加入者情報と関連付けられ得る。これに加えて、またはこれに代えて、サードパーティサーバは、対応するサードパーティデータベースを利用して、クライアントデバイス228、230、および232(例えば、加入者デバイス)などのクライアントデバイスから受信された要求に応答して
、または、DPPMS202から受信された1つ以上の要求に応答して、動作を実行するように構成され得る。具体的には、クライアントデバイスは、サードパーティサーバ224との通信を通じてサードパーティシステム222を介してデバイス保護プログラムに登録することができ、サードパーティサーバ224は、サードパーティデータベース226を利用して加入者情報を記憶するユーザを登録することができる。サードパーティシステム222は、サードパーティサーバ224およびサードパーティデータベース226を利用して、サードパーティ加入者登録要求データオブジェクトへの応答などで、この新たな加入者情報をDPPMS202と通信し得る。
【0182】
サードパーティデータベース226は各々、ネットワーク接続ストレージ(NAS)デバイス(単数または複数)などのデータ記憶デバイス、または別個のデータベースサーバ(単数または複数)として具現化され得る。サードパーティデータベース220および226は各々、データの中でもとりわけ、ユーザデータ、加入者データ、加入者情報、加入者識別子データオブジェクト、加入者デバイス情報、または他のデータを含み得る。サードパーティデータベース220および226の各々は、単一のデータベース、多数のデータベース、または情報を記憶するように構成されたいくつかのコンポーネントの組み合わせであり得ることが容易に理解されよう。いくつかの実施形態では、記憶される各タイプのデータおよび/または情報は、別個の記憶コンポーネントにあり得る。
【0183】
DPPMS、またはDPPMS202は、加入者登録、加入者キャンセル、エラー処理、請求管理などの、デバイス保護プログラム管理と関連付けられた無数のアクションを実行するための様々な手段を含み得る。したがって、DPPMS202は、本明細書に記載される1つ以上の動作を実行するように構成された様々なソフトウェアおよび/またはハードウェアサブモジュールを含み得る。例えば、例示されるように、DPPMS202は、登録管理サブシステム204、不正防止サブシステム206、および履行サブシステム208を含み得る。これに加えて、またはこれに代えて、サブシステムの1つまたはすべては、データストア210などの1つ以上のデータストアと通信するように構成され得る。本明細書に記載されるように、DPPMS202の回路およびサブシステムは、本明細書に記載される動作を実行するようにデバイスを構成するソフトウェアと連携して、1つ以上の物理デバイスに集合的に具現化され得、デバイスを、プロバイダエンティティに対してローカルまたはリモートで動作させ得る。
【0184】
登録管理サブシステム204は、デバイス保護プログラムへの加入者および/または加入者デバイス登録を管理することと関連付けられた様々なタスクを実行するように構成された、ソフトウェアおよび/またはハードウェアなどの手段を含み得る。例えば、登録管理サブシステム204は、他のサブシステムおよび/またはデータストア210と連携して、デバイス保護プログラムへの登録サブスクリプションを容易にするように構成され得る。言い換えれば、登録管理サブシステム204は、他のサブシステムおよび/またはデータストア210と連携して、新たにデバイス保護プログラムによって補償され、および/またはデバイス保護プログラムに登録された加入者および/または加入者デバイスを、登録された加入者および/または加入者デバイスのリストおよび/または記憶されたデータ台帳に追加することを容易にするように構成され得る。登録機能性は、加入者が、サードパーティデバイス管理システムに、およびDPPMSに追加される、新たな加入者の登録に対する第1の状況と、2つのシステム間で不一致が発生した場合のDPPMSとサードパーティデバイス管理システムとの間の同期に対する第2の状況と、での両方で適用され得る。これに加えて、登録管理サブシステム204は、デバイス保護プログラムからの登録キャンセルを実行するように構成された、ソフトウェアおよび/またはハードウェアなどの手段を含み得る。言い換えれば、登録管理サブシステム204は、他のサブシステムおよび/またはデータストア210と連携して、加入者および/または加入者デバイスが現在登録されているデバイス保護プログラムからの加入者および/または加入者デバイ
スのキャンセルを容易にするように構成され得る。いくつかの実施形態のシステムでは、登録サブスクリプションおよび/またはキャンセルは、クライアントデバイス228、230、または232と、1つ以上のサードパーティシステム216および222と、の間の通信などの、サードパーティシステムとのユーザ通信に起因して発生し得る。例えば、ユーザは、クライアントデバイス228(例えば、モバイルデバイス)を介して、サードパーティシステム216と通信して、サードパーティシステムを介して(例えば、モバイルデバイスと関連付けられたモバイルデバイスキャリアを介して)デバイス保護プログラムに登録することができ、サードパーティシステムはこれに続いてDPPMS202と通信して、新たな加入者が登録したことを通信することができる。これに加えて、またはこれに代えて、キャンセルのために、ユーザは、クライアントデバイス228(例えば、モバイルデバイス)を介して、サードパーティシステム216と通信して、サードパーティシステムを介して(例えば、モバイルデバイスと関連付けられたモバイルデバイスキャリア)、デバイス保護プログラムと関連付けられた登録をキャンセルすることができ、サードパーティシステムはこれに続いてDPPMS202と通信して、ユーザがデバイス保護プログラムへのサブスクリプションをキャンセルしたことを識別することができる。登加入者および/または加入者デバイスが、それらが登録された特定のデバイス保護プログラムと関連付けられて識別され、これに続く請求が適切に処理され得る(例えば、履行を介するなど)ように、録管理サブシステム204は、正確な加入者および/または加入者デバイスリストを維持するための他の動作を実行するように構成され得る。
【0185】
不正防止サブシステム206は、デバイス保護プログラムと関連付けられた不正請求を検出するように構成された、ソフトウェアおよび/またはハードウェアなどの手段を含み得る。例えば、不正防止サブシステム206は、請求または請求情報を受信することに応答して不正防止プロトコルを識別および実行するように構成され得る。不正防止サブシステムは、履行サブシステムおよび/または登録サブシステムと連携して実行され、請求の履行および/または登録プロセスにおける不正行為を検出し得る。不正防止プロトコルは、1つ以上の不正防止イベントを含むことができ、各不正防止イベントは、不正防止サブシステム206の不正請求の決定に影響を及ぼし得る。特定の例示的なシステムでは、不正防止サブシステム206は、加入者デバイスと関連付けられた、または加入者デバイスからのリアルタイムデバイス情報を取得して、加入者デバイスに関してユーザによって実行されるアクションを決定することによって、特定の不正防止イベントを実行するように構成される。
【0186】
例えば、不正防止サブシステム206は、請求の提出または不正行為の兆候に応答して、1つ以上のAPIを介してサードパーティデバイス管理システムからリアルタイムデバイス情報を取得し得る。例えば、不正防止サブシステム206は、1つ以上のAPIを介して、サードパーティデバイス管理システムと通信して、請求がDPPMSまたはサードパーティデバイス管理システムに報告されたときに加入者デバイスからキャプチャされたリアルタイムデバイス情報を取得し得る。
【0187】
いくつかの実施形態では、不正防止サブシステム206は、サードパーティデバイス管理システムから、インシデントが報告されたときにデバイスロケーションアプリケーションが有効であったかどうかを示し得るデバイスロケーションアプリケーションステータスを、リアルタイムで取得する。不正防止サブシステム206は、デバイスロケーションアプリケーションステータスを利用して、少なくともサードパーティデバイス管理システムと関連付けられたデバイスロケーションアプリケーションステータスおよびサードパーティアイデンティティに基づいて、請求を不正請求リスクとして拒否することを決定し得る。例えば、いくつかの実施形態では、サードパーティデバイス管理システムがデバイス製造者システム(例えば、OEMシステム)である場合、デバイスロケーションアプリケーションが有効でないことをデバイスロケーションアプリケーションステータスが示す(し
たがって、デバイスロケーションアプリケーションを使用して加入者デバイスのロケーションを特定することができない)場合、不正防止サブシステム206は、不正リスクに基づいて請求を拒否し得る。
【0188】
いくつかの実施形態では、不正防止サブシステム206は、サードパーティデバイス管理システムから、インシデントが報告される前にデバイス紛失ステータスを紛失したと設定するためにデバイス紛失アプリケーションが利用されたかどうかを示すデバイス紛失ステータスを、リアルタイムで取得する。いくつかの実施形態では、不正防止サブシステム206は、少なくともデバイス紛失ステータス、および/または少なくともデバイス紛失ステータスおよびデバイスロケーションアプリケーションステータスに基づいて、請求と関連付けられた不正請求リスクを決定する。例示的な実施形態では、請求が発生したサードパーティデバイス管理システムがデバイス製造者である場合、デバイスロケーションアプリケーションが有効であるが、対応するデバイス紛失ステータスは紛失モードに設定されていないことをデバイスロケーションアプリケーションステータスが示す場合、不正防止サブシステム206は、請求を承認することを中断し得る。いくつかの実施形態では、デバイス紛失ステータスは、デバイス紛失アプリケーションと関連付けられたシステムおよび/またはデータベースによって記憶され得、デバイス紛失ステータスを識別するために不正防止サブシステム206によってアクセスされ得る。いくつかのそのような実施形態では、デバイス紛失ステータスは、システムおよび/またはデータベースからリアルタイムで取得され得る。
【0189】
いくつかの実施形態では、不正防止サブシステム206は、サードパーティデバイス管理システムと関連付けられたサードパーティアイデンティティ、請求タイプ(例えば、損失請求、盗難請求、損傷請求など)、デバイスロケーションアプリケーションステータス、およびデバイス紛失ステータスに基づいて、請求の許可性を決定し得る。例えば、いくつかの実施形態では、請求が発生したサードパーティデバイス管理システムと関連付けられたサードパーティアイデンティティが、モバイルキャリアシステムであり、かつ関連付けられた請求が、損失請求または盗難請求である場合、関連付けられた請求は、デバイスロケーションアプリケーションがアクセス可能でないことをデバイスロケーションアプリケーションステータスが示す場合にのみ承認され得る。これに代えて、またはこれに加えて、例えば、請求が発生したサードパーティデバイス管理システムと関連付けられたサードパーティアイデンティティがデバイス製造者であり、かつ関連付けられた請求が損失請求または盗難請求である場合、関連付けられた請求は、同様に、(1)デバイスロケーションアプリケーションにアクセス不能であることをデバイスロケーションアプリケーションステータスが示す場合、または(2)デバイスロケーションアプリケーションがアクセス可能であることをデバイスロケーションアプリケーションステータスが示し、かつデバイス紛失ステータスが紛失状態に設定されている場合にのみ、承認され得る。さらに、これに加えて、またはこれに代えて、いくつかの実施形態では、請求が発生したサードパーティデバイス管理システムと関連付けられたサードパーティアイデンティティに関わらず、関連付けられた請求が損害請求である場合、関連付けられた請求は、デバイスロケーションアプリケーションがアクセス不能であることをデバイスロケーションアプリケーションステータスが示す場合にのみ、承認され得る。
【0190】
いくつかの実施形態では、不正防止サブシステム206は、1つ以上のサードパーティデバイス管理システム(単数または複数)と通信して、保留中の請求データオブジェクトと関連付けられた加入者デバイスが保留中のサードパーティ請求データ、またはサードパーティデバイス管理システムによって管理される履行されたサードパーティ請求データオブジェクトと関連付けられているかどうかを識別するように構成され得る。これに関して、不正防止サブシステム206は、不正防止サブシステム206がそのようなデータを分析する状況、例えば、加入者デバイスが2つの別個のシステムを介して維持されている2
つの保留中の請求データオブジェクトと関連付けられていることを決定するために、請求データオブジェクトを処理する時点でリアルタイムで取得される状況で、またはリアルタイムで取得および分析されたそのようなデータが、加入者デバイスと関連付けられた以前の請求データオブジェクトがすでに履行されたことを示す状況で、不正の可能性があることに起因して、さらなる検討のために未処理の請求データオブジェクトを拒否および/またはマークし得る。これに加えて、またはこれに代えて、不正防止サブシステム206は、1つ以上のサードパーティデバイス管理システム(単数または複数)と通信して、加入者デバイスが、サードパーティデバイス管理システム(単数または複数)と関連付けられたサードパーティエンティティによって実行される1つ以上の修理および/または交換アクションと関連付けられているかどうかを識別するように構成され得る。これに関して、不正防止サブシステム206は、例えば、履行サブシステム208および/または1つ以上の関連付けられたサブシステムによる請求データオブジェクトの処理中に、そのようなデータをリアルタイムで取得および分析して、取得されたデータが、加入者デバイスがすでにサービスされており、かつ関連付けられたユーザが所有するものでなくなったはずであることを示す状況で不正が発生する可能性があることに起因して、さらなる検討のために未処理の請求データオブジェクトを拒否および/またはマークするように構成され得る。
【0191】
いくつかの実施形態では、不正防止サブシステム206は、サードパーティデバイス管理システムからオープン修理リストをリアルタイムで取得し、修理リストは、加入者デバイスと関連付けられた現在保留中の修理を含む。したがって、オープン修理リストを利用して、不正防止サブシステムは、加入者がサードパーティデバイス管理システムを介して加入者デバイスと関連付けられた請求をすでに開始しているかどうかを決定し得る。いくつかの実施形態では、不正防止サブシステム206は、リアルタイムで取得されたオープン修理リストに基づいて、加入者デバイスがすでにオープン請求と関連付けられていると決定した後に請求を拒否するように構成される。
【0192】
いくつかの実施形態では、不正防止サブシステム206は、サードパーティデバイス管理システムから、消費に利用可能なインシデントを含むインシデント残存リストをリアルタイムで取得する。消費に利用可能なインシデントは、特定の時間間隔内で特定のデバイス保護プログラムの下で許容される請求タイプの数を定義し得る。例えば、インシデント残存リストは、利用可能のままであり、および/または加入者プロファイルが登録されているデバイス保護プログラム下で以前に処理されていた、1つ以上の請求タイプを含み得る。例示的な局面では、デバイス保護プログラムは、登録された加入者が、事前定義された時間間隔、例えば24か月にわたって、第1の請求タイプの第1の数の請求データオブジェクト(例えば、無制限の機械故障請求)と、第2の請求タイプの第2の数の請求データオブジェクト(例えば、2つの偶発的損傷請求)と、を提出することを可能にし得る。デバイス保護プログラムは、無数の請求タイプのいずれか、例えば、いくつかの実施形態では、第3の数の第3の請求タイプの請求データオブジェクト(例えば、4つの紛失請求)に対する制限を含み得ることを理解されたい。この点で、インシデント残存リストは、サードパーティデバイス管理システムによって処理された特定の請求タイプの請求データオブジェクトの数を示し得る。不正防止サブシステム206は、インシデント残存リストを分析して、新たに提出された請求データオブジェクトが、デバイス保護プログラムの下で、関連付けられた請求タイプに対して処理された許可された請求データオブジェクトを超えるかどうかを決定し得る。請求データオブジェクトが残存インシデントリストに基づいて処理されることを不正防止サブシステム206が決定した場合、不正防止サブシステム206は、残存インシデントリストを調整し(例えば、新たに受信された請求データオブジェクトと関連付けられた残存インシデントリストの残存インスタンスカウントをデクリメントすることによって)、更新された残存インシデントリストを記憶し、および/または更新された残存インシデントリストをサードパーティデバイス管理システムに通知し
得る。不正防止サブシステム206は、例えば請求データオブジェクトの処理時に、残存インシデントリストをリアルタイムで取得および分析することによって、リアルタイムデータ分析を利用して不正検出を拡張して、デバイス保護プログラムに登録された加入者が、加入者が登録されたデバイス保護プログラムに違反して2つの請求データオブジェクトを処理しようとしたときを識別し得る。
【0193】
これに加えて、またはこれに代えて、不正防止サブシステム206は、インシデント残存リストを分析して、受信された請求データオブジェクトを適切なシステムにルーティングし得る。例えば、不正防止サブシステム206は、単独で、または履行サブシステム208と連携して、新たに提出された特定の請求タイプの請求データオブジェクトが、加入者が登録された対応するデバイス保護プログラムに基づいて、処理するためにサードパーティデバイス管理システムなどのサードパーティシステムに転送されるか、またはDPPMS202によって処理されるかどうかを決定し得る。例示的な局面において、デバイス保護プログラムは、請求ルーティングルールセット、例えば、各システムによって処理される特定のタイプの請求データオブジェクトの数(例えば、最初の2つの偶発的損傷請求データオブジェクトは、サードパーティデバイス管理システムによって処理され、後続のすべての偶発的損傷請求データオブジェクトは、DPPMSによって処理される)を定義し得る。不正防止サブシステム206および/または履行サブシステム208は、残存インシデントリストを分析して、請求データオブジェクトが請求ルーティングルールセットに基づいてサードパーティデバイス管理システムにルーティングされるべきかどうかを決定し得る。
【0194】
いくつかの実施形態では、不正防止サブシステム206は、サードパーティデバイス管理システムから、加入者デバイスが、DPPMSおよび/またはサードパーティデバイス管理システムを介して以前に請求と関連付けられて交換されたかどうかを示す、以前の交換ステータスをリアルタイムで取得する。したがって、いくつかの実施形態では、不正防止サブシステム206は、以前の交換ステータスに基づいて、請求と関連付けられた加入者デバイスが、サードパーティデバイス管理システムと関連付けられたサードパーティプロバイダエンティティによって、またはDPPMSによって、以前の請求を介してすでに交換されていることを識別するように構成される。いくつかの実施形態では、不正防止サブシステム206は、不正リスクと関連付けられたものとして、すでに交換された加入者デバイスと関連付けられた受信された請求を拒否するように構成される。
【0195】
いくつかの実施形態では、不正防止サブシステム206は、受信された情報の組み合わせを利用して、不正リスクを識別し得る。いくつかの実施形態では、不正防止サブシステム206が、識別された不正リスクに基づいて、請求が不正であると決定した場合、不正防止サブシステム206は、請求を拒否するか、または別のサブシステムによってなど他の方法で請求を拒否させ得る。
【0196】
履行サブシステム208は、請求を受信し、その請求を履行するための必要なアクション(例えば、1つ以上の履行イベント)を実行するように構成されたソフトウェアおよび/またはハードウェアなどの1つの手段を含み得る。言い換えれば、履行サブシステム208は、紛失した、損傷した、盗難された、または、修復するか、交換するか、または加入者に対するデバイス機能性を他の方法で復元するためのアクションをとらなければならないような他の影響を受けた加入者デバイスと関連付けられた請求を解決することに向けた1つ以上のステップを実行し得る。例えば、請求を処理し、追跡し、および/または他の方法で完了するために、履行サブシステム208は、DPPMSおよび/または1つ以上のサードパーティシステムの1つ以上の関連付けられたサブシステムと通信して、不正を回避し、かつシステム間で同期することができ、履行サブシステム208は、不正防止サブシステム206および/または登録管理サブシステム204と連携して動作し得る。
【0197】
DPPMSは、いくつかの実施形態では、様々な他の特定の機能性および/またはデータ管理のための追加のDPPMSサブシステム(図示せず)を含む。例えば、いくつかの実施形態では、DPPMSは、DPPMS支払いシステムを含む。これに加えて、またはこれに代えて、いくつかの実施形態では、DPPMSは、DPPMSポリシーシステムを含む。これに加えて、またはこれに代えて、いくつかの実施形態では、DPPMSサブシステムのうちの1つ以上は、登録管理サブシステム204、不正防止サブシステム206、および/または履行サブシステム208、またはそれらの組み合わせのうちの1つのサブシステムによってさらに具現化される。
【0198】
データストア210、ならびにDPPMS加入者プロファイルデータオブジェクトデータベース212、接続性データベース214、およびエラー処理データベース215などの個々のコンポーネントデータベースは各々、ネットワーク接続ストレージ(NAS)デバイス(単数または複数)などのデータ記憶デバイス、または個別のデータベースサーバ(単数または複数)として具現化され得る。これに加えて、これらのコンポーネントの各々は、加入者および/または加入者デバイス、サードパーティシステム(サードパーティデバイス管理システムなど)への接続性、伝送エラー分類および/または処理などに関連した特定のまたは一般的なデータを含み得る。例えば、例示的なシステムでは、DPPMS加入者プロファイルデータオブジェクトデータベース212は、データの中でもとりわけ、ユーザデータ、加入者データ、加入者情報、加入者識別子データオブジェクト、加入者デバイス情報、または他のデータを含み得る。さらに、例示的なシステムでは、接続性データベース214は、データの中でもとりわけ、サードパーティシステムデータ、サードパーティシステム識別子、サードパーティシステムIPアドレス、または他のデータを含み得る。さらに、例示的なシステムでは、エラー処理データベース215は、エラーログ、エラー分類データ、エラーコード、または他のデータを含み得る。データストア210は、これらのコンポーネントデータベースのうちの1つ以上からデータを取得し、受信されたデータを、登録管理サブシステム204、不正防止サブシステム206、および履行サブシステム208などの1つ以上のコンポーネントサブシステムに通信および/または伝送するように構成され得る。データストア210、および/またはDPPMS加入者プロファイルデータオブジェクトデータベース212、接続性データベース214、および/またはエラー処理データベース215の各々は、単一のデータベース、多数のデータベース、または情報を記憶するために構成されたいくつかのコンポーネントの組み合わせであり得ることが容易に理解されよう。いくつかの実施形態では、各タイプのデータおよび/または情報は、別個の記憶コンポーネントに記憶され得る。
【0199】
DPPMS202は、
図3に示されるDPPMS装置300のうちの1つ以上などの1つ以上のコンピューティングシステムによって具現化され得る。
図3に例示されるように、装置300は、プロセッサ302、メモリ304、入力および/または出力モジュール306、通信モジュール308、データストア管理モジュール310、登録モジュール312、履行モジュール314、不正モジュール316、およびエラーモジュール318を含み得る。装置300は、
図1および
図2のDPPMSに関して上述した、および
図4A~
図10に関して以下に記載される動作のいくつかまたはすべてを実行するように構成され得る。これらのコンポーネント302~318は、機能制限に関して記載されているが、特定の実装形態は、特定のハードウェアの使用を必然的に含むことを理解されたい。これらのコンポーネント302~318のうちのいくつかは、類似または共通のハードウェアを含み得ることも理解されたい。例えば、2つのモジュールは両方とも、同じプロセッサ、ネットワークインターフェース、記憶媒体などの使用を活用して、各モジュールに重複するハードウェアが必要とされないようなそれらの関連付けられた機能を実行し得る。
【0200】
したがって、装置のコンポーネントに関して本明細書で使用される「モジュール」およ
び「回路機構」という用語のユーザは、記載される特定のモジュールおよび/または回路機構と関連付けられた機能を実行するように構成された特定のハードウェアを含む。当然、「モジュール」および「回路機構」という用語は、ハードウェアを含むように広く理解されるべきであり、いくつかの実施形態では、回路機構および/またはモジュールは、ハードウェアを構成するためのソフトウェアも含み得る。例えば、いくつかの実施形態では、「モジュール」および/または「回路機構」は、処理回路機構、記憶媒体、ネットワークインターフェース、入力および/または出力デバイスなどを含み得る。いくつかの実施形態では、装置30の他の要素は、特定のモジュール(単数または複数)の機能性を提供または補足し得る。例えば、プロセッサ302は、処理機能性を提供することができ、メモリ304は、記憶機能性を提供することができ、通信モジュール308は、ネットワークインターフェース機能性を提供することができる、などである。
【0201】
実際、いくつかの実施形態では、1つ以上のモジュールは、装置300の他のモジュールのうちの1つ以上と通信し得る別個のデバイス、サーバ、および/または関連付けられたコンピューティングハードウェアと関連付けられ得ることを理解されたい。例えば、いくつかの実施形態では、登録モジュール312は、別個のコンピューティング装置に含まれ、および/または別個のコンピューティング装置によって具現化される。別個のコンピューティング装置は、いくつかの実施形態では、装置300に関して記載される同様の名称を有するコンポーネントと同様に機能するメモリ、プロセッサ、入力/出力モジュール、通信モジュール、データストア管理モジュール、および/またはそれらの任意の組み合わせを含む。別個の登録モジュール312のコンピューティング装置は、例えばハードウェア、ソフトウェア、またはそれらの組み合わせを介して、登録に関連したアクションを実行および/または処理するための1つ以上のアクションプロセスインスタンスを具現化するように特別に構成され得る。これに加えて、またはこれに代えて、いくつかの実施形態では、履行モジュール314は、同様にメモリ、プロセッサ、入力/出力モジュール、通信モジュール、データストア管理モジュール、および/またはそれらの任意の組み合わせを含む別個のコンピューティング装置に含まれ、および/または別個のコンピューティング装置によって具現化される。別個の履行モジュール314のコンピューティング装置は、例えばハードウェア、ソフトウェア、またはそれらの組み合わせを介して、履行に関連したアクションを実行および/または処理するための1つ以上のアクションプロセスインスタンスを具現化するように特別に構成され得る。これに加えて、またはこれに代えて、いくつかの実施形態では、不正モジュール316は、同様にメモリ、プロセッサ、入力/出力モジュール、通信モジュール、データストア管理モジュール310、および/またはそれらの任意の組み合わせを含む別個のコンピューティング装置に含まれ、および/または別個のコンピューティング装置によって具現化される。別個の不正モジュール316のコンピューティング装置は、例えばハードウェア、ソフトウェア、またはそれらの組み合わせを介して、不正に関連したアクションを実行および/または処理するための1つ以上のアクションプロセスインスタンスを具現化するように特別に構成され得る。別個の装置の各々は、本明細書に記載されるように、機能性を実行するための1つ以上のアプリケーション、またはその一部分を実行するように特別に構成され得る。
【0202】
さらに、これに加えて、またはこれに代えて、いくつかの実施形態では、エラーモジュール318は、同様にメモリ、プロセッサ、入力/出力モジュール、通信モジュール、および/またはそれらの任意の組み合わせを含む別個のコンピューティング装置に含まれ、および/またはそれらによって具現化される。また他の実施形態では、エラーモジュール318は、分離された装置のうちの1つ以上に含まれ、および/またはそれらによって共有される。これに関して、別個の装置の各々は、独立したコンポーネントまたは共有されるコンポーネントを利用して、エラーモジュール318に関して本明細書に記載されるエラー処理機能のいくつかまたはすべてを実行するように構成され得る。
【0203】
各別個のコンピューティング装置は、いくつかの実施形態では、複数のサブコンポーネント、サブデバイス、サブシステムなどによって具現化され得る。例えば、いくつかの実施形態では、各別個のコンピューティング装置は、多様な分散された、特別に構成されたクラウドサーバおよび/またはデータストアを含む。いくつかの実施形態では、コンピューティング装置のうちの1つ以上は、
図7に関して以下に記載されるように、実行されるアクション処理インスタンスとして特別に構成される。各別個のコンピューティング装置のサブコンポーネント、サブデバイス、および/またはサブシステムは、例えば、1つ以上の直接接続および/または1つ以上のネットワークを介して、互いに通信可能であり得る。これに加えて、またはこれに代えて、いくつかの実施形態では、別個のコンピューティング装置の各々は、他の別個のコンピューティング装置の各々と通信可能であり得る。
【0204】
いくつかの実施形態では、プロセッサ302(および/またはコプロセッサ、またはプロセッサを支援するか、またはプロセッサと他の方法で関連付けられた任意の他の処理回路機構)は、装置のコンポーネント間で情報を渡すためのバスを介してメモリ304と通信し得る。メモリ304は、非一過性であり得、例えば、1つ以上の揮発性および/または不揮発性メモリを含み得る。言い換えれば、例えば、メモリは、電子記憶デバイス(例えば、コンピュータ可読記憶媒体)であり得る。メモリ304は、装置が本開示の例示的な実施形態による様々な機能を実行することを可能にするために、情報、データ、コンテンツ、アプリケーション、命令などを記憶するように構成され得る。
【0205】
プロセッサ302は、いくつかの異なる方法で具現化され得、例えば、独立して実行するように構成された1つ以上の処理デバイスを含み得る。これに加えて、またはこれに代えて、プロセッサは、命令、パイプライン、および/またはマルチスレッドの独立した実行を可能にするために、バスを介してタンデムに構成された1つ以上のプロセッサを含み得る。「処理モジュール」および/または処理回路機構という用語の使用は、単一コアプロセッサ、マルチコアプロセッサ、装置内部の多数のプロセッサ、および/または1つ以上の別個の、遠隔の、または「クラウド」プロセッサを含むと理解され得る。
【0206】
例示的な実施形態では、プロセッサ302は、メモリ304に記憶された、または他の方法でプロセッサにアクセス可能な命令を実行するように構成され得る。これに代えて、またはこれに加えて、プロセッサ302は、ハードコードされた機能性を実行するように構成され得る。したがって、ハードウェアまたはソフトウェアによって構成されるか、またはハードウェアとソフトウェアとの組み合わせによって構成されるかに関わらず、プロセッサは、適宜構成されたときに本開示の実施形態による動作を実行することができるエンティティ(例えば、回路機構に物理的に具現化される)を表し得る。これに代えて、別の例として、プロセッサがソフトウェア命令の実行者として具現化される場合、命令は、命令が実行されるときに本明細書に記載されるアルゴリズムおよび/または動作を実行するようにプロセッサを具体的に構成し得る。
【0207】
いくつかの実施形態では、装置300は、入力および/または出力モジュール306を含むことができ、当該入力および/または出力モジュール306は、プロセッサ302と通信して、装置300と関連付けられたユーザに出力を提供し、いくつかの実施形態では、ユーザから指標を受信し得る。入力および/または出力モジュール306は、ユーザインターフェースを含むことができ、ウェブユーザインターフェース、モバイルアプリケーション、クライアントデバイスなどを含み得るデバイスディスプレイを含み得る。いくつかの実施形態では、入力および/または出力モジュール306は、キーボード、マウス、ジョイスティック、タッチスクリーン、カウチエリア、ソフトキー、マイクロフォン、スピーカ、または他の入力および/または出力機構を含み得る。プロセッサおよび/またはプロセッサを構成するユーザインターフェース回路機構は、プロセッサにアクセス可能なメモリ(例えば、メモリ304など)に記憶されたコンピュータプログラム命令(例えば
、ソフトウェアおよび/またはファームウェア)を介して、1つ以上のユーザインターフェース要素の1つ以上の機能を制御するように構成され得る。
【0208】
通信モジュール308は、装置300と通信するネットワーク、および/または任意の他のデバイス、回路機構、またはモジュールとの間でデータを受信および/または送信するように構成されたハードウェアまたはハードウェアとソフトウェアとの組み合わせのいずれかで具現化されるデバイス、モジュール、または回路機構などの任意の手段であり得る。これに関して、通信モジュール308は、例えば、有線または無線の通信ネットワークとの通信を可能にするためのネットワークインターフェースを含み得る。例えば、通信モジュール308は、1つ以上のネットワークインターフェースカード、アンテナ、バス、スイッチ、ルータ、モデム、およびサポートするハードウェアおよび/またはソフトウェア、またはネットワークを介した通信を可能にするのに好適な任意の他のデバイスを含み得る。これに加えて、またはこれに代えて、通信モジュール308は、アンテナ(単数または複数)と相互作用して、アンテナ(単数または複数)を介した信号の伝送を生じさせるため、またはアンテナ(単数または複数)を介して受信された信号の受信を処理するために、アンテナ(単数または複数)と相互作用するための回路機構を含み得る。これらの信号は、装置300によって、Bluetooth(登録商標)v1.0~v3.0、Bluetooth低エネルギー(BLE)、赤外線無線(例えば、IrDA)FREC、超広帯域(UWB)、誘導無線伝送などのいくつかの無線パーソナルエリアネットワーク(PAN)技術のいずれかを使用して伝送され得る。加えて、これらの信号は、Wi-Fi、近距離無線通信(NFC)、マイクロ波アクセスの世界的な相互運用性(WiMAX)、または他の近接ベースの通信プロトコルを使用して伝送され得ることを理解されたい。
【0209】
いくつかの実施形態では、通信モジュール308は、
図1および
図2に例示されるように、1つ以上のクライアントデバイスおよび/または加入者デバイス、および/または1つ以上のサードパーティシステムおよび/またはサードパーティデバイス管理システムとの通信を容易にし得る。例えば、通信モジュール308は、クライアントデバイスおよび/またはサードパーティシステムへの情報要求および/またはこれらへの応答を伝送すること、および/またはクライアントデバイスおよび/またはサードパーティシステムからの情報要求および/または応答を受信することを容易にし得る。
【0210】
データストア管理モジュール310は、装置300と関連付けられたデータストアとの通信、および/またはデータストアの管理を容易にする任意の手段であり得る。例えば、装置300は、(1)加入者リスト、(2)サードパーティシステム接続性リスト、および(3)エラー処理データリストを含むデータストアを管理し得る。データストア管理モジュール310は、これらのリスト内のデータを識別し、および/またはこれらのリストのうちの1つ以上を追加、キャンセル、消去、または他の方法で管理するように構成され得る。いくつかの実施形態では、データストア管理モジュール310は、モジュール312~318の各々によって実行される動作と関連付けられた特定のデータストア管理動作を達成するために、プロセッサ302、登録モジュール312、履行モジュール314、不正モジュール316、および/またはエラーモジュール318のうちの1つ以上と関連付けられ得る。
【0211】
登録モジュール312は、1つ以上のデバイス保護プログラムと関連付けられた加入者の追加、キャンセル、および他の管理を容易にする任意のハードウェアおよび/またはソフトウェア手段によって具現化され得る。いくつかの実施形態では、登録モジュール312は、
図2に例示されるように、登録管理サブシステム204を具現化するハードウェアおよび/またはソフトウェアを含む。例えば、登録モジュール312は、データストア管理モジュール310、プロセッサ302などと連携して、加入者情報が加入者デバイスと
新たな加入者が登録した対応するデバイス保護プログラムとを識別するように、新たな加入者および/または加入者デバイスと関連付けられた加入者リストに加入者情報を追加することによってなど、デバイス保護プログラムに新たな加入者を登録するように構成され得る。これに加えて、またはこれに代えて、登録モジュール312は、データストア管理モジュール310、プロセッサ302などと連携して、キャンセルされたデバイス保護プログラムと関連付けられた加入者リスト内の加入者情報をマークすること、キャンセルされたデバイス保護プログラムと関連付けられた加入者情報を加入者リストから消去すること、または加入者情報がデバイス保護プログラムのキャンセルを示すようなアクションを実行することによってなど、デバイス保護プログラムから既存の加入者をキャンセルするように構成され得る。
【0212】
登録モジュール312はまた、プロセッサ302、通信モジュール308などと連携して、1つ以上のサードパーティデバイス管理システムなどの1つ以上のサードパーティシステムと通信して、サードパーティデバイス管理システムとの同期を容易にし得る。例えば、登録モジュール312は、サードパーティ登録ステータス要求データオブジェクトを伝送し、かつサードパーティデバイス管理システム内の加入者または加入者デバイスと関連付けられた登録ステータスを示すサードパーティ登録ステータス応答データオブジェクトを受信するように構成され得る。これに加えて、またはこれに代えて、登録モジュール312は、サードパーティ登録管理要求データオブジェクトを伝送し、かつ加入者、加入者デバイス、または加入者情報がサードパーティデバイス管理システムに正常に追加されたかどうかを示すサードパーティ登録管理応答を受信するように構成され得る。
【0213】
いくつかの実施形態では、登録モジュール312は、未処理の登録アクションキューを管理し得る。これに加えて、またはこれに代えて、いくつかの実施形態では、登録モジュール312は、登録モジュール312によって制御されるアクションプロセスが、未処理の登録アクションキューからの登録管理要求データオブジェクトを処理するか、または登録管理要求データオブジェクトを処理するためのステップを他の方法で実行するように、未処理の登録アクションキューと関連付けられた1つ以上のアクションプロセスを作成し、実行し、消去し、配分し、または他の方法で管理し得る。未処理の登録アクションキューの長さが増加する際、登録モジュール312は、本明細書に記載される特定の実施形態に従って、現在実行されているアクションプロセスを介して追加のスレッドを実行するか、または新たなアクションプロセスを実行して、未処理の登録アクションが、受信されたが未処理である登録管理要求データオブジェクトなどの未処理の登録アクションキューから除去されて処理される速度を増加させるように構成され得る。これに加えて、またはこれに代えて、本明細書に記載される特定の実施形態によれば、登録モジュール312は、未処理の登録アクションキューがより低い値を満たす、例えば、未処理の登録管理要求データオブジェクトの数が特定の下限閾値を下回っているときに、特定の実行されたアクションプロセスにおけるスレッドの実行数を減少させるか、または実行されるアクションプロセスを終了するように構成され得る。
【0214】
履行モジュール314は、デバイス保護プログラムと関連付けられた受信された請求を受信することおよび/または履行することを容易にする任意のハードウェアおよび/またはソフトウェア手段によって具現化され得る。いくつかの実施形態では、履行モジュール314は、
図2に例示されるように、履行サブシステム206を具現化するハードウェアおよび/またはソフトウェアを含む。例えば、履行モジュール314は、プロセッサ302、データストア管理モジュール310などと連携して、加入者から受信された請求と関連付けられたデバイス保護プログラムを識別し、および/またはデバイス保護プログラムと関連付けられた命令セットを含む請求処理プロトコルを識別および実行し得る。いくつかの実施形態では、履行モジュール314は、未処理の請求アクションキューを管理し得る。これに加えて、またはこれに代えて、いくつかの実施形態では、履行モジュール31
4は、履行モジュールによって制御されるアクションプロセスが、未処理の請求アクションキューからの請求要求を処理するか、または請求要求を履行するためのステップを他の方法で実行するように、未処理の請求アクションキューと関連付けられた1つ以上のアクションプロセスを作成し、実行し、消去し、配分し、または他の方法で管理し得る。未処理の請求アクションキューの長さが増加する際、登録モジュール314は、本明細書に記載される特定の実施形態に従って、現在実行されているアクションプロセスを介して追加のスレッドを実行するか、または新たなアクションプロセスを実行して、未処理の請求が未処理の登録アクションキューから除去されて履行される速度を増加させるように構成され得る。これに加えて、またはこれに代えて、本明細書に記載される特定の実施形態によれば、履行モジュール314は、未処理の請求アクションキューがより低い閾値に達したときに、特定の実行されるアクションプロセスにおけるスレッドの実行数を減少させるか、または実行されるアクションプロセスを終了するように構成され得る。
【0215】
いくつかの実施形態では、履行モジュール314は、請求データオブジェクトを処理することに応答して、単独で、または1つ以上のサブシステムと共に、1つ以上のデバイス取得プロセスを実行するように構成される。例えば、履行モジュール314は、デバイス在庫を補充する目的で、1つ以上のデバイス取得信号(単数または複数)を、サードパーティデバイス管理システムなどの1つ以上のサードパーティシステムに伝送し得る。特定の例示的な局面では、履行モジュール314は、請求データオブジェクトを履行し、かつ請求データオブジェクトと関連付けられた特定のデバイスを提供することに応答して、デバイス取得信号を自動的に生成し、および/またはデバイス取得信号をサードパーティシステムに伝送することができ、デバイス取得信号は、履行モジュール314または関連付けられたサブシステムによって管理されるデバイス在庫への新たなデバイスの提供を生じさせる。いくつかの実施形態では、デバイス入手信号は、サードパーティシステムによって受信されて、サードパーティシステムと関連付けられたサードパーティエンティティ(例えば、デバイス製造者)に、それらの請求に応答して、登録された加入者に提供されるデバイスと関連付けられた特定のデバイス仕様に適合する新たなデバイスを提供するように促す。これに加えて、またはこれに代えて、履行モジュール314は、例えば、デバイスを入手するために使用されるサードパーティシステムから請求書データを取得し、かつ履行モジュール314および/または関連付けられた請求書管理サブシステムによって処理するために請求書データを記憶することによって、新たに入手されたデバイスと関連付けられた請求書データを自動的に取得および/または処理し得る。特定の例示的な局面では、例えば、請求データオブジェクトが処理されることができ、履行モジュール314は、受信および処理された請求データオブジェクトに応答して、交換デバイス(例えば、特定のデバイス保護プログラム用の加入者デバイスの同じモデル、メモリサイズ、および/または他の仕様を有するモバイルデバイス)の加入者ユーザへの提供を自動的に開始し得る。この例示的な局面を続けると、いくつかの実施形態では、履行モジュール314は、これに加えて、またはこれに代えて、交換用デバイスと関連付けられたサードパーティシステム(例えば、交換用デバイスの製造者によって管理されるサードパーティシステム)にデバイス入手信号を伝送して、交換用デバイスと同じデバイス仕様を有する新たなデバイスの提供を自動的に開始し、したがってこれらのデバイス特性に適合するデバイスの在庫を自動的に補充し得る。
【0216】
いくつかの実施形態では、履行と関連付けられた実行されるアクションプロセスと、登録などの他のアクションと関連付けられた実行されるアクションプロセスと、は別個であり得ることを理解されたい。他の実施形態では、単一の実行されるアクションプロセスが登録アクションと履行アクションとの両方を実行し得るように、履行と関連付けられた実行されるアクションプロセスと、登録などの他のアクションと関連付けられた実行されるアクションプロセスと、を共有し得る。同様に、いくつかの実施形態では、単一の組み合わされたアクションキューは、未処理の登録アクションと未処理の履行アクションとの両
方を記憶し得る一方、他の実施形態では、特定のアクションキューは、未処理の登録アクションのみに専用であってもよく、特定のアクションキューは、未処理の履行アクションのみに専用であってもよい。各アクションキューは、そのタイプのアクションを含む1つ以上の対応するアクションキューからの特定のタイプのアクションを処理するように構成された1つ以上の実行される処理インスタンスと関連付けられ得る。これに加えて、またはこれに代えて、履行モジュール314は、以下に記載されるように、1つ以上のアクションキューと関連付けられた実行されるアクションプロセスインスタンスの数をスケーリングするために構成された1つ以上のスケーリングサービスを管理するように構成され得る。
【0217】
不正モジュール316は、デバイス保護プログラムへの加入者と関連付けられた不正請求を識別すること、または他の方法で検出することを容易にする任意のハードウェアおよび/またはソフトウェア手段によって具現化され得る。いくつかの実施形態では、不正モジュール316は、
図2に例示されるように、不正防止サブシステム206を具現化するハードウェアおよび/またはソフトウェアを含む。例えば、不正モジュール316は、プロセッサ302、データストア管理モジュール310などと連携して、加入者が請求を提出したデバイス保護プログラムと関連付けられた命令セットを含む不正防止プロトコルを識別し得る。これに加えて、またはこれに代えて、不正モジュール316は、識別された不正防止プロトコルと関連付けられた1つ以上の不正防止イベントなどの1つ以上の不正防止イベントを実行するように構成され得る。不正モジュール316は、例えば、加入者デバイスと関連付けられたリアルタイムデータを、または加入者デバイスから直接にリアルタイムデータを抽出するように構成され得る。例えば、不正モジュール316は、1つ以上のAPIを介してサードパーティデバイス管理システムからリアルタイムデバイス情報を取得するように構成され得る。リアルタイムデバイス情報の例として、デバイスロケーションアプリケーションステータス、デバイス紛失ステータス、オープン修理リスト、および/またはインシデント残存リストが挙げられる。いくつかの実施形態では、不正モジュール316は、リアルタイムデバイス情報の1つ以上の部分を利用して、受信された請求と関連付けられた不正リスクを決定し、および/またはそれに応じて請求を履行のために拒否または承認する。
【0218】
エラーモジュール318は、伝送エラーを受信すること、伝送エラーを分類すること、および/または伝送エラーと関連付けられた後続のエラー処理を可能にする任意のハードウェアおよび/またはソフトウェア手段によって具現化される。エラーモジュール318は、登録モジュール312、履行モジュール314、不正モジュール316、および/または通信モジュール308のグループからの1つ以上のモジュールと連携して通信および/または動作して、サードパーティデバイス管理システムなどのサードパーティシステムへの失敗した試みられた伝送からもたらされる伝送エラーを識別し得る。伝送エラーは、例えば、サードパーティシステムに接続することに失敗すること、サードパーティシステムへの情報伝送中、伝送前、または伝送後のサードパーティシステムへの接続を喪失することに応答して、またはサードパーティシステムへの情報伝送への応答として、受信され得る。例示的な実施形態では、エラーモジュール318は、1つ以上のエラー分類を含むエラー分類セットを識別するように構成され得る。
【0219】
各エラー分類は、1つ以上のエラー処理命令セットと関連付けられ得る。いくつかの実施形態では、エラー処理命令セットは、エラー分類を識別するか、または他の方法で決定するためのビジネスルールセットに基づいて識別され得る。例えば、エラーモジュール318では、受信された伝送エラーと関連付けられたエラー分類を決定する際に使用するための1つ以上のエラー構成を維持し得る。いくつかの実施形態では、各エラー構成は、満たされる場合、エラー分類が伝送エラーと関連付けられることを示す特定のビジネスルールセットを含み得る。これに加えて、またはこれに代えて、いくつかの実施形態では、エ
ラー処理エラー処理命令セットは、エラー分類を識別するための1つ以上のアルゴリズムによる学習モデル、統計的学習モデル、および/または機械学習モデルに基づいて識別され得る。例えば、いくつかの実施形態では、エラー分類は、無数の機械学習実装形態を使用して識別され得る。いくつかの例示的な局面では、教師なし学習モデルを使用してエラー分類を識別し得る。他の例示的な局面では、教師あり学習モデルを使用してエラー分類を識別し得る。
【0220】
いくつかのそのような実施形態では、アルゴリズムによる学習モデル、統計的学習モデル、および/または機械学習モデルは、様々な入力を利用する。例えば、いくつかの実施形態では、エラー分類に使用される入力は、伝送エラーと関連付けられた情報、DPPMSと関連付けられたプリファレンス、サードパーティデバイス管理システムと関連付けられたプリファレンスなどを含む。いくつかの実施形態では、アルゴリズムによる学習モデル、統計的学習モデル、および/または機械学習モデルは、これに加えて、またはこれに代えて、請求、加入者、DPPMS、またはサードパーティデバイス管理システムと関連付けられた他の情報を利用し得る。
【0221】
いくつかの実施形態では、エラーは、エラー分類セット内の様々なエラー分類に基づいて分類され得る。例えば、エラー分類セットは、「再試行可能なエラー」のエラー分類と「エスカレーションエラー」のエラー分類とを含み得る。再試行可能なエラーは、失敗した伝送をキューに戻して後続の遷移を試み、再試行時間を待機し、および失敗した伝送を後続の伝送のためにキューに配置する前に待機する再試行時間を決定するなどの1つ以上のエラー処理イベントを含むエラー処理プロトコルを表すエラー処理命令セットと関連付けられ得る。いくつかの実施形態では、再試行時間は、失敗した伝送の試みの数に基づいて識別され得る。例えば、再試行時間は、1回目の失敗した伝送時に、まず、5分などの基本の時間長として識別され得る。各後続の失敗した伝送について、再試行時間は、2回目の失敗した伝送後の再試行時間が10分であり、3回目の失敗した伝送後の再試行時間が20分であり、3回目の失敗した伝送後の再試行時間が40分であるなどとなるように、2倍になり得る。他の実施形態では、異なる関係を使用して、伝送数に基づいて再試行時間を識別し得る。さらに他の実施形態では、関係を使用して、事前決定された時間長さを常に待機することによってなど、伝送数を利用しない再試行時間を識別し得る。
【0222】
エラーモジュール318は、エスカレーションエラーと関連付けられた命令セットを含むエスカレーションエラー処理プロトコルを識別することができ、エスカレーション処理プロトコルは、1つ以上のエラー処理イベントを含み得る。例示的なエラー処理プロトコルは、失敗した伝送を含むエスカレーションエラーおよび/または伝送エラーをエスカレーションキューに追加することを含むことを含むエラー処理命令セットによって定義され得る。例えば、エスカレーションキューは、処理するためにエラー処理システムおよび/またはサードパーティ処理システムに伝送されるか、または他の方法で通信される、伝送エラーのキュー、および/または関連付けられた失敗した伝送であり得る。いくつかの実施形態では、伝送エラーおよび/または関連付けられた失敗した伝送は、を通信した、および/または受信された伝送エラーと関連付けられたサードパーティシステムを制御するか、またはサードパーティシステムと他の方法で関連付けられたサードパーティエンティティと関連付けられたサードパーティエラー処理システムに伝送される。例示的なシステムでは、失敗した伝送の意図された受信側であったサードパーティシステムは、エスカレートされたエラーが伝送されるサードパーティシステムでもある。他のシステムでは、エスカレートされたエラー、および/または対応する失敗した伝送は、サードパーティエラー処理システムによる電子処理のためにサードパーティエラー処理システムに伝送される。これに代えて、またはこれに加えて、エスカレートされたエラーは、人間のオペレータに伝送され、および/または人間のオペレータによって処理され得る。
【0223】
いくつかの実施形態では、エラーモジュール318は、伝送エラーと関連付けられたエラー構成を決定するように構成される。エラー構成は、少なくともエラーコード、エラー分類、および/または関連付けられた再試行最大閾値を含み得る。いくつかの実施形態では、エラーモジュール318がエラー構成サービスを利用してエラー構成を識別し得るように、エラーモジュールは、エラー構成サービスと関連付けられる。
【0224】
本開示に関与する例示的な実施形態のデバイスおよびシステムの特定のコンポーネントを記載したため、本開示の実施形態によって実行される特定の例示的な動作を、
図4A~
図10に関連して以下に記載する。
【0225】
例示的なプロセス動作
図4Aおよび
図4Bは、受信された登録管理要求データオブジェクトに基づく自己回復登録のためのプロセスで実行される例示的な動作を例示している。具体的には、
図4Aは、受信された登録サブスクリプション要求に基づく自己回復登録の例示的な動作を例示しており、
図4Bは、受信された登録キャンセル要求データオブジェクトに基づく自己回復登録の例示的な動作を例示している。
図4Aおよび
図4Bに例示される動作は、サードパーティデバイス管理システム、および/または加入者デバイスなどのクライアントデバイスなどの、1つ以上のサードパーティシステムと通信するように構成されたDPPMS装置300などのネットワーク接続されたシステム内の様々なデバイスおよび/または装置によって実行され得る。以下で考察される動作は、DPPMS装置300に関して記載されているが、動作は、本明細書の開示の範囲内で、DPPMS装置300と同様かまたは異なる様々なデバイスによって、および/またはDPPMS装置300からの代替コンポーネントを用いて、実行され得ることを理解されたい。
【0226】
これに加えて、またはこれに代えて、いくつかの実施形態では、DPPMS装置300は、特定のサードパーティデバイス管理システムから受信された登録通知に基づいて、1つ以上の加入者プロファイル(単数または複数)を同期させるように構成され得る。例えば、1つ以上の特定のサードパーティデバイス管理システムが、デバイス保護プログラムと関連付けられていると信頼され得る。例示的な局面では、例えば、サードパーティデバイス管理システムは、登録された加入者にデバイス保護プログラムサービスを提供することと関連付けられ得る。サードパーティデバイス管理システムによって受信された新たな登録が、後続の確証を伴わずに装置300および/または装置300内のサブシステムを同期させるために使用されるべきである。そのような状況では、装置300は、サードパーティデバイス管理システムから、新たに登録されたサードパーティ加入者プロファイルと関連付けられた1つ以上の登録サブスクリプション通知、および/またはサードパーティ加入者プロファイルと関連付けられた、新たに登録をキャンセルしたとの1つ以上の登録キャンセル通知を受信し得る。受信された登録サブスクリプション通知(単数または複数)および/または登録キャンセル通知(単数または複数)を装置300によって使用して、1つ以上の同期イベントを実行するために、例えば、装置300または装置300の1つ以上のサブシステムについての1つ以上のDPPMS加入者プロファイルを同期させ得る。いくつかの実施形態では、装置300は、受信された通知に含まれる情報の一部またはすべてを利用して、そのような同期イベントで使用する関連付けられたデータを識別し得る(例えば、通知は、IMEIなどの処理するための1つ以上の追加のデバイス識別子を識別および/または取得する際に使用するための、デバイスシリアル番号などの1つ以上のデバイス識別子を含み得る)。
【0227】
まず
図4Aを参照すると、ブロック402Aで、装置300は、登録モジュール312、プロセッサ302、通信モジュール308などの、登録サブスクリプション要求を受信するための手段を含む。登録サブスクリプション要求は、例えば、現在未登録のデバイスおよび/または未登録のユーザが、デバイス保護プログラムにサブスクライブした(言い
換えれば、特定のデバイス保護プログラムと関連付けられた新たな加入者が追加された)ことを示し得る。いくつかの実施形態では、受信された登録サブスクリプション要求は、現在未登録のデバイスをデバイス保護プログラムに登録するか、または他の方法で登録処理するための加入者情報を含む。受信された加入者情報は、デバイス保護プログラムと関連付けられた人間の加入者または加入者デバイスを一意に識別する加入者識別子データオブジェクトを含み得る。受信された加入者識別子データオブジェクトの例として、加入者名(例えば、人名またはエンティティ名)加入者連絡先情報、加入者デバイスIPアドレス、加入者デバイス国際モバイル機器識別(IMEI)番号などのうちの1つまたは組み合わせが挙げられる。例示的な実施形態では、登録サブスクリプション要求は、デバイス保護プログラムにサブスクライブされるクライアントデバイスを一意に識別するIMEIを含む。いくつかの実施形態では、登録サブスクリプション要求が、加入者またはサードパーティによってDPPMSのインターフェースで直接行われ得るか、または登録サブスクリプション要求が、ブロック404A、406A、408A、410A、412A、414A、および416Aと同じであるか、または異なり得るサードパーティシステムによって、DPPMSに伝送され得る。例えば、いくつかの実施形態では、ブロック402Aでの要求は、加入者デバイスが購入された元である無線キャリアまたはベンダーと関連付けられたサードパーティデバイス管理システムによって伝送され得、製造者システムは、後続のブロックで確証および同期化されることができ、後続のブロックを使用して、DPPMS(および/またはDPPMSのサブシステム)、またはデバイス製造者もしくはデバイス保護計画と関連付けられた他のエンティティと関連付けられた第2のサードパーティデバイス管理システムを同期させ得る。
【0228】
ブロック404Aで、装置300は、受信された登録サブスクリプション要求と関連付けられたサードパーティデバイス管理システムを識別するための、登録モジュール312、プロセッサ302、データストア管理モジュール310などの手段を含む。いくつかの実施形態では、装置300は、受信された登録サブスクリプション要求からサードパーティデバイス管理システム識別子を抽出するための手段を含み得る。他の実施形態では、装置300は、受信された登録サブスクリプション要求に基づいて、サードパーティデバイス管理システム識別子を決定し得る。サードパーティデバイス管理システム識別子は、サードパーティデバイス管理システムに伝送するために利用され得るか、またはサードパーティデバイス管理システム識別子と関連付けられたサードパーティデバイス管理システムと通信するための通信プロトコルを決定するために利用され得る。特定の例では、ユーザまたはクライアントデバイスが介してデバイス保護プログラムに新たにサブスクライブされたサードパーティエンティティと関連付けられたサードパーティデバイス管理システム(例えば、モバイルキャリアシステム、デバイス製造者、および販売システムなど)。
【0229】
ブロック406Aでは、装置300は、登録モジュール312、プロセッサ302、通信モジュール308などの、サードパーティデバイス管理システムにサードパーティ登録ステータス要求データオブジェクトを伝送するための手段を含む。サードパーティ登録ステータス要求データオブジェクトは、サードパーティデバイス管理システムに、加入者識別子データオブジェクトまたは他の加入者情報などの登録サブスクリプション要求内の情報と関連付けられたサードパーティステータスを取得させ、および/または他の方法で識別させるように構成され得る。例示的な実施形態では、装置300は、IMEIなどの抽出された加入者識別子データオブジェクトと関連付けられたサードパーティ加入者プロファイルデータオブジェクトが存在するかどうかを決定するサードパーティ登録ステータス要求データオブジェクトを生成し得る。
【0230】
ブロック408Aで、装置300は、登録モジュール312、プロセッサ302、通信モジュール308などの、サードパーティデバイス管理システムからサードパーティ登録ステータス応答データオブジェクトを受信するための手段を含む。サードパーティ登録ス
テータス応答データオブジェクトは、伝送されたサードパーティ登録ステータス要求データオブジェクト内に提供される情報と関連付けられたサードパーティ加入者プロファイルデータオブジェクトが存在するかどうかなどの、サードパーティ登録ステータスを示し得る。例えば、サードパーティ加入者プロファイルデータオブジェクトが存在する場合、サードパーティ登録ステータス応答データオブジェクトは、サードパーティ加入者プロファイルデータオブジェクト、サードパーティ加入者プロファイルデータオブジェクトの情報サブセット(例えば、プロファイル全体ではなく、サードパーティ加入者プロファイルデータオブジェクトの一部分)、またはサードパーティ加入者プロファイルデータオブジェクトまたは情報サブセットのいずれかの等価な情報を含み得る。これに加えて、またはこれに代えて、サードパーティ登録ステータス応答データオブジェクトは、サードパーティ登録ステータスと関連付けられたステータスフラグ、例えば、サードパーティ加入者プロファイルデータオブジェクトがサードパーティデバイス管理システムに存在しないことを0が表し、かつサードパーティ加入者プロファイルデータオブジェクトがサードパーティデバイス管理システムに存在することを1が表すビットフラグを含み得る。これに加えて、またはこれに代えて、さらに、いくつかの実施形態では、サードパーティ登録ステータス応答データオブジェクトは、補償される加入者デバイス、デバイスステータス、保護プログラムステータス(例えば、保証ステータス)、サブスクリプション補償タイムスタンプ(単数または複数)(例えば、2つのタイムスタンプにまたがる補償間隔)、および/または加入者プロファイルと関連付けられた登録契約情報を識別し、および/またはこれらと関連付けられた情報を含み得る。
【0231】
判定ブロック410Aで、フローは、受信されたサードパーティ登録ステータスが、サードパーティ加入者プロファイルデータオブジェクトが存在することを示しているかどうかに基づいて継続する。いずれの場合も、装置300は、受信されたサードパーティ登録ステータスに基づいて、1つ以上のシステム同期イベントを実行するように構成され得る。例示の目的で、ブロック412Aおよび416Aは、システム同期イベントの2つの特定の例を提供する。
【0232】
判定ブロック410Aで、サードパーティ登録ステータスが、サードパーティ加入者プロファイルデータオブジェクトがサードパーティデバイス管理システムに存在しないことを示す場合、フローは、ブロック412Aに続く。ブロック412Aで、装置300は、登録モジュール312、プロセッサ302、通信モジュール308などの、システム同期イベントを実行する、具体的には、サードパーティデバイス管理システムにサードパーティ加入者登録要求データオブジェクトを伝送するための手段を含む。いくつかの実施形態では、装置300はまた、サードパーティ加入者登録要求データオブジェクトを生成し、および/またはサードパーティデバイス管理システムに、加入者識別子データオブジェクトなどの、抽出された加入者情報と関連付けられたサードパーティ加入者プロファイルデータオブジェクトを作成させるためのサードパーティ登録要求を構成するための手段を含む。他の実施形態では、装置300は、他の方法で、サードパーティデバイス管理システムに、加入者識別子データオブジェクトなどの、抽出された加入者情報と関連付けられたサードパーティ加入者プロファイルデータオブジェクトを作成させるように構成されたサードパーティ加入者登録要求データオブジェクトを決定する。生成または決定されたサードパーティ加入者登録要求データオブジェクトは、次に、ネットワークなどを介するなどサードパーティデバイス管理システムに伝送される。
【0233】
ブロック414Aで、装置300は、登録モジュール312、プロセッサ302、通信モジュール308などの、サードパーティ加入者登録応答を受信するための手段を含む。サードパーティ加入者登録応答は、サードパーティデバイス管理システムがサードパーティ加入者プロファイルデータオブジェクトを正常に作成したことを示す情報、データなどを含み得る。サードパーティ加入者登録応答は、サードパーティ加入者プロファイルデー
タオブジェクトが、加入者識別子データオブジェクトなどの抽出された加入者情報と関連付けられていることを示す情報を含み得る。したがって、サードパーティ加入者登録応答は、加入者識別子データオブジェクトなどの、抽出された加入者情報と関連付けられた後続のサードパーティ登録ステータス応答データオブジェクトが、作成されたサードパーティ加入者プロファイルデータオブジェクトを識別することになることを示し得る。したがって、いくつかの実施形態では、装置300は、次に、加入者識別子データオブジェクトなどの加入者情報を利用して、新たに作成されたサードパーティ加入者プロファイルデータオブジェクトを取得するか、または新たに作成されたサードパーティ加入者プロファイルデータオブジェクトと関連付けられたサードパーティ登録ステータスを取得することができる。
【0234】
判定ブロック410Aに戻ると、サードパーティ登録ステータスがサードパーティ加入者プロファイルデータオブジェクトが存在することを示している場合、フローはブロック416Aに続く。ブロック416Aで、装置300は、登録モジュール312、プロセッサ302などの、システム同期イベントを実行するための、具体的にはサードパーティ加入者プロファイルデータオブジェクトに基づいてDPPMS加入者プロファイルデータオブジェクトを更新するための手段を含む。特定の例では、装置300は、サードパーティ加入者プロファイルデータオブジェクトまたは受信された他の情報に基づいて、装置300によって直接管理されるか、または他の方法で制御されるDPPMS加入者プロファイルデータオブジェクトを更新するように構成された手段を含み得る。これに代えて、いくつかの実施形態では、装置300は、装置300と関連付けられているか、または装置300と他の方法で通信可能である1つ以上のサブシステムを識別し、かつ識別されたサブシステムのいくつかまたはすべてについて、識別されたサブシステムと関連付けられたDPPMS加入者プロファイルデータオブジェクトを更新するか、またはその更新を生じさせるように構成された手段を含み得る。特定の例では、装置300は、装置300と関連付けられた支払いサブシステムと、装置300と関連付けられたポリシーサブシステムと、を識別し得る。続いて、装置300は、支払いサブシステムと関連付けられた第1のDPPMS加入者プロファイルデータオブジェクトとポリシーサブシステムと関連付けられた第2のDPPMS加入者プロファイルデータオブジェクトとを更新するか、またはそれらの更新を生じさせるように構成され得る。いくつかの実施形態では、装置300は、識別されたDPPMSサブシステムと関連付けられた新たなDPPMS加入者プロファイルデータオブジェクトを作成するか、またはその作成を生じさせることによって、装置300の特定のサブシステムと関連付けられたDPPMS加入者プロファイルデータオブジェクトを更新するように構成され得る。他の実施形態では、装置300は、サブシステムと関連付けられたDPPMS加入者プロファイルデータオブジェクトを識別し、かつサードパーティ加入者プロファイルデータオブジェクトに基づいてDPPMS加入者プロファイルデータオブジェクトを同期させることによって、DPPMSサブシステムと関連付けられたDPPMS加入者プロファイルデータオブジェクトを更新するように構成され得る。例示的なシステムでは、装置300は、各サブシステムを独立して直接制御し、および/または各サブシステムが同じプロバイダエンティティによって制御可能であるようにサブシステムと通信する。
【0235】
ブロック412A、414A、および416Aに関して上述したシステム同期イベントは例であり、代替のシステム同期イベント、または追加のステップを利用するシステム同期イベントも実行され得ることを理解されたい。例えば、いくつかの実施形態では、ブロック416Aは、1つ以上のDPPMS加入者プロファイルデータオブジェクトが、サードパーティ加入者登録応答を受信した後に更新されるように、ブロック414Aの後に実行され得る。したがって、本明細書の開示の趣旨および範囲は、
図4Aに例示される例示的なブロックの詳細に限定されない。
【0236】
次に
図4Bを参照すると、ブロック402Bで、装置300は、登録モジュール312、プロセッサ302、通信モジュール308などの、登録キャンセル要求データオブジェクトを受信するための手段を含む。登録キャンセル要求データオブジェクトは、例えば、ユーザおよび/またはクライアントデバイスがデバイス保護プログラムへのサブスクリプションをキャンセルしていることを示し得る(言い換えれば、加入者は、関連付けられたデバイス保護プログラムによってアクティブに補償されなくなる)。いくつかの実施形態では、受信された登録キャンセル要求データオブジェクトは、加入者情報を含む。受信された加入者情報は、デバイス保護プログラムと関連付けられた人間の加入者または加入者デバイスを一意に識別する加入者識別子データオブジェクトを含み得る。受信された加入者識別子データオブジェクトの例として、加入者名(例えば、人名またはエンティティ名)加入者連絡先情報、加入者デバイスIPアドレス、加入者デバイス国際モバイル機器識別(IMEI)番号などのうちの1つまたは組み合わせが挙げられる。例示的な実施形態では、登録キャンセル要求データオブジェクトは、デバイス保護プログラムにサブスクライブされるクライアントデバイスを一意に識別するIMEIを含む。
図4Aの登録機能と同様に、キャンセル要求は、任意ので行われ得る。
【0237】
ブロック404Bで、装置300は、登録モジュール312、プロセッサ302、データストア管理モジュール310などの、受信された登録キャンセル要求データオブジェクトと関連付けられたサードパーティデバイス管理システムを識別するための手段を含む。いくつかの実施形態では、装置300は、受信された登録キャンセル要求データオブジェクトからサードパーティデバイス管理システム識別子を抽出するための手段を含み得る。他の実施形態では、装置300は、受信された登録キャンセル要求データオブジェクトに基づいて、サードパーティデバイス管理システム識別子を決定し得る。サードパーティデバイス管理システム識別子は、サードパーティデバイス管理システムに伝送するために利用され得るか、またはサードパーティデバイス管理システム識別子と関連付けられたサードパーティデバイス管理システムと通信するための通信プロトコルを決定するために利用され得る。特定の例では、サードパーティデバイス管理システムは、ユーザなどの加入者および/またはクライアントデバイスが介してデバイス保護プログラムにサブスクライブされた(例えば、モバイルキャリアシステム、デバイス製造者、および販売システムなどを介して)サードパーティエンティティと関連付けられる。
【0238】
ブロック406Bにおいて、装置300は、登録モジュール312、プロセッサ302、通信モジュール308などの、サードパーティデバイス管理システムにサードパーティ登録ステータス要求データオブジェクトを伝送するための手段を含む。サードパーティ登録ステータス要求データオブジェクトは、サードパーティデバイス管理システムに、加入者識別子データオブジェクトまたは他の加入者情報などの登録サブスクリプション要求内の情報と関連付けられたサードパーティステータスを取得させ、および/または識別させるように構成され得る。例示的な実施形態では、装置300は、IMEIなどの抽出された加入者識別子データオブジェクトと関連付けられたサードパーティ加入者プロファイルデータオブジェクトが存在するかどうかを決定するサードパーティ登録ステータス要求データオブジェクトを生成し得る。
【0239】
ブロック408Bで、装置300は、登録モジュール312、プロセッサ302、通信モジュール308などの、サードパーティデバイス管理システムからサードパーティ登録ステータス応答データオブジェクトを受信するための手段を含む。サードパーティ登録ステータス応答データオブジェクトは、伝送されたサードパーティ登録ステータス要求データオブジェクト内に提供される情報と関連付けられたサードパーティ加入者プロファイルデータオブジェクトが存在するかどうかなどの、サードパーティ登録ステータスを示し得る。例えば、サードパーティ加入者プロファイルデータオブジェクトが存在する場合、サードパーティ登録ステータス応答データオブジェクトは、サードパーティ加入者プロファ
イルデータオブジェクト、サードパーティ加入者プロファイルデータオブジェクトの情報サブセット(例えば、プロファイル全体ではなく、サードパーティ加入者プロファイルデータオブジェクトの一部分)、またはサードパーティ加入者プロファイルデータオブジェクトまたは情報サブセットのいずれかの等価な情報を含み得る。これに加えて、またはこれに代えて、サードパーティ登録ステータス応答データオブジェクトは、サードパーティ登録ステータスと関連付けられたステータスフラグ、例えば、サードパーティ加入者プロファイルデータオブジェクトがサードパーティデバイス管理システムに存在しないことを0が表し、かつサードパーティ加入者プロファイルデータオブジェクトがサードパーティデバイス管理システムに存在することを1が表すビットフラグを含み得る。
【0240】
次に、フローは判定ブロック410Bに続く。判定ブロック410Bで、フローは、受信されたサードパーティ登録ステータスが、サードパーティ加入者プロファイルデータオブジェクトが存在することを示すかどうかに基づいて継続する。いずれの場合も、装置300は、受信されたサードパーティ登録ステータスに基づいて、1つ以上のシステム同期イベントを実行するように構成され得る。例示の目的で、ブロック412B、414B、および416Bは、システム同期イベントの2つの特定の例を提供する。
【0241】
判定ブロック410Bで、サードパーティ登録ステータスが、サードパーティ加入者プロファイルデータオブジェクトがサードパーティデバイス管理システムに存在することを示す場合、フローはブロック412Bに続く。ブロック412Bで、装置300は、登録モジュール312、プロセッサ302、通信モジュール308などの、システム同期イベントを実行する、具体的には、サードパーティデバイス管理システムにサードパーティ加入者キャンセル要求データオブジェクトを伝送するための手段を含む。いくつかの実施形態では、装置300はまた、サードパーティ加入者キャンセル要求データオブジェクトを生成し、および/またはサードパーティデバイス管理システムに、加入者識別子データオブジェクトなどの、抽出された加入者情報と関連付けられたサードパーティ加入者プロファイルデータオブジェクトを消去するか、または他の方法で終了することを含み得る、キャンセルさせるためのサードパーティ登録要求を構成するための手段を含む。他の実施形態では、装置300は、他の方法で、サードパーティデバイス管理システムに、加入者識別子データオブジェクトなどの、抽出された加入者情報と関連付けられたサードパーティ加入者プロファイルデータオブジェクトを消去するか、または他の方法で終了することを含み得る、キャンセルさせるように構成されたサードパーティ加入者登録要求データオブジェクトを決定する。生成または決定されたサードパーティ加入者キャンセル要求データオブジェクトは、次に、ネットワークを介するなどサードパーティデバイス管理システムに伝送される。
【0242】
ブロック414Bで、装置300は、登録モジュール312、プロセッサ302、通信モジュール308などの、サードパーティ加入者キャンセル応答を受信するための手段を含む。サードパーティ加入者登録応答は、サードパーティデバイス管理システムがサードパーティ加入者プロファイルデータオブジェクトを正常にキャンセルしたことを示す情報、データなどを含み得る。したがって、サードパーティ加入者キャンセル応答は、加入者識別子データオブジェクトなどの、抽出された加入者情報と関連付けられた後続のサードパーティ登録ステータス応答データオブジェクトが、加入者情報と関連付けられて存在するサードパーティ加入者プロファイルデータオブジェクトは存在しないことを示すこととなることを示し得る。
【0243】
判定ブロック410Bで、サードパーティ登録ステータスが、サードパーティ加入者プロファイルデータオブジェクトがサードパーティデバイス管理システムに存在しないことを示す場合、フローは、ブロック416Bに続く。ブロック416Bで、装置300は、登録モジュール312、プロセッサ302などの、システム同期イベントを実行するため
の、具体的には1つ以上のDPPMS加入者プロファイルデータオブジェクト(単数または複数)をキャンセルするための手段を含む。例えば、装置300は、装置300と関連付けられた1つ以上のDPPMSサブシステムを識別し、かつ識別されたサブシステムのいくつかまたはすべてについて、識別されたサブシステムと関連付けられたDPPMS加入者プロファイルデータオブジェクトをキャンセルするように構成された手段を含み得る。特定の例では、装置300は、装置300と関連付けられたDPPMS支払いサブシステムと、装置300と関連付けられたDPPMSポリシーサブシステムと、を識別し得る。続いて、装置300は、DPPMS支払いサブシステムと関連付けられた第1のDPPMS加入者プロファイルデータオブジェクトとDPPMSポリシーサブシステムと関連付けられた第2のDPPMS加入者プロファイルデータオブジェクトとをキャンセルするように構成され得る。いくつかの実施形態では、装置300は、サブシステムと関連付けられたDPPMS加入者プロファイルデータオブジェクトをキャンセルし、消去し、または他の方法で終了するものとしてマークすることによって、DPPMSサブシステムと関連付けられたDPPMS加入者プロファイルデータオブジェクトをキャンセルするように構成され得る。したがって、いくつかの実施形態では、システム同期イベントの後、装置300および/または装置300の1つ以上のサブシステムによって管理されるDPPMS加入者プロファイルデータオブジェクトは、デバイス保護プログラムからの加入者のキャンセルを反映する。例示的なシステムでは、装置300および各関連付けられたサブシステムは、同じプロバイダエンティティによって制御される。
【0244】
ブロック412B、414B、および416Bに関して上述したシステム同期イベントは例であり、代替のシステム同期イベント、または追加のステップを利用するシステム同期イベントも実行され得ることを理解されたい。例えば、いくつかの実施形態では、ブロック416Bは、1つ以上のDPPMS加入者プロファイルデータオブジェクトが、サードパーティ加入者キャンセル応答を受信した後にキャンセルされるように、ブロック414Bの後に実行され得る。したがって、本明細書の開示の趣旨および範囲は、
図4Bに例示される例示的なブロックの詳細に限定されない。
【0245】
図4Cは、本開示の例示的な実施形態による、登録同期のための例示的なデータフロー図を例示している。例示的なデータフローは、DPPMSおよび/またはサードパーティデバイス管理システムの加入者プロファイル(単数または複数)を同期させるためにDPPMSまたはDPPMSのサブシステムによって実行される動作を描示している。特定のサービスまたは特定のサービスにおける動作は、DPPMSまたはDPPMS内の任意のサブシステムによって実行(perform)、実行(execute)、または模擬され得る。例えば、登録サービス450Cおよび/またはキャンセルサービス452Cは、装置300によって具現化されるDPPMSによって実行され得る。登録サービス450Cは、未登録デバイスをデバイス保護プログラムに登録するために使用され得る。例えば、デバイス識別子は、対応する未登録デバイスを1つ以上のデバイス保護プログラム(単数または複数)に登録するために、未登録デバイスと関連付けられて受信され得る。
【0246】
例えば、例示されるように、
図4Cは、登録サービス450Cを描示している。登録サービス450Cは、DPPMSまたはDPPMS内の任意のサブシステムによって実行(perform)、実行(execute)、または開始されて、デバイス識別子、加入者識別子など(例えば、特定のIMEI)に基づいてDPPMSとサードパーティシステムとを同期させ得る。これに加えて、またはこれに代えて、いくつかの実施形態では、登録サービス450Cは、DPPMSまたはDPPMS内の任意のサブシステムによって実行(perform)、実行(execute)、または開始されて、特定の加入者識別子、デバイス識別子などと関連付けられた登録サブスクリプション要求に基づいてDPPMSとサードパーティシステムとを同期させ得る。同様に、
図4Cは、キャンセルサービス452Cを描示している。キャンセルサービス452Cは、DPPMSまたはDPPM
S内の任意のサブシステムによって実行(perform)、実行(execute)、または開始されて、デバイス識別子、加入者識別子などに基づいてDPPMSとサードパーティシステムとを同期させ得る。これに加えて、またはこれに代えて、いくつかの実施形態では、キャンセルサービス452Cは、DPPMSまたはDPPMS内の任意のサブシステムによって実行(perform)、実行(execute)、または開始されて、特定の加入者識別子、デバイス識別子などと関連付けられたキャンセルサブスクリプション要求に基づいてDPPMSとサードパーティシステムとを同期させ得る。特定の描示された実施形態では、登録サービス450Cおよび/またはキャンセルサービス452Cは、1つ以上のDPPMSサブシステム452Cおよび/またはサードパーティデバイス管理システム454Cを同期させ得る。
【0247】
例示的な局面では、いくつかの実施形態では、登録サービス450Cまたはキャンセルサービス452Cは、加入者登録、請求不正分析、または請求処理プロトコルの開始中に開始される。例えば、いくつかの実施形態では、DPPMSは、デバイス識別子データオブジェクトと関連付けられた請求データオブジェクトを受信し得る。デバイス識別子データオブジェクトは、請求データオブジェクトを処理するために、加入者識別子データオブジェクトと関連付けられるか、または加入者識別子データオブジェクトを表し得る。DPPMSは、加入者識別子データオブジェクトと関連付けられた加入者プロファイルデータオブジェクトについてデバイス保護プログラム加入者デバイスデータベースに照会し、デバイス保護プログラムデータベースが加入者プロファイルデータオブジェクトを含まないことを示す結果データを受信し得る。これに関して、登録サービス450またはキャンセルサービス452Cは、結果データの受信時および/または分析時に開始され得る。
【0248】
まず登録サービス450Cを参照すると、ブロック402Cで、装置300は、登録モジュール312、履行モジュール314、不正モジュール316、エラーモジュール318、プロセッサ302などのうちのいずれか1つ、またはそれらの組み合わせなどの、デバイス識別子を受信するための手段を含む。いくつかの実施形態では、デバイス識別子は、新たな加入者の登録のための情報を提供するサードパーティデバイス管理システム、例えば、サードパーティデバイス管理システム458Cから受信され得る。これに代えて、装置300は、ルーチン同期サービスの一部としてデバイス識別子を識別または取得することによってデバイス識別子を受信し得る。例えば、DPPMSまたはDPPMS内のサブシステムは、特定の間隔で(例えば、毎日、毎週などの特定の時間に)、現在登録されているすべてのデバイス識別子の登録を同期させ得る。
【0249】
ブロック404Cで、装置300は、登録モジュール312、履行モジュール314、不正モジュール316、エラーモジュール318、プロセッサ302などのうちのいずれか1つ、またはそれらの組み合わせなどの、サードパーティデバイス管理システムから登録ステータスを受信するための手段を含む。例示されるように、例えば、登録ステータスは、サードパーティデバイス管理システム456Cから取得され得る。サードパーティデバイス管理システム456Cは、ブロック402Cで取得されたデバイス識別子と関連付けられたデバイスのデバイス保護プログラムと関連付けられた特定のサードパーティデバイス管理システムを具現化し得る。例えば、サードパーティデバイス管理システム456Cは、デバイス製造者と関連付けられたシステム、サーバなどを具現化し得る。サードパーティデバイス管理システム456Cは、DPPMSによって記憶された加入者プロファイルデータオブジェクトから独立して管理されるサードパーティ加入者プロファイルデータオブジェクトを記憶し得る。いくつかの実施形態では、装置300は、サードパーティデバイス管理システムに登録ステータス要求を伝送することによって、登録ステータスを取得する。
【0250】
登録サービス450Cは、次に、取得された登録ステータスに基づいて動作のフローを
決定し得る。例えば、描示されるように、取得された登録ステータスが、デバイス識別子がサードパーティデバイス管理システム456Cによって登録されていることを示す(例えば、関連付けられたサードパーティ加入者プロファイルデータオブジェクトが存在することを示す)場合、フローはブロック406Cを継続し得る。そのような状況では、装置300は、登録モジュール312、履行モジュール314、不正モジュール316、エラーモジュール318、プロセッサ302などのうちのいずれか1つ、またはそれらの組み合わせなどの、サードパーティデバイス管理システム456Cから受信された登録ステータスに基づいて、DPPMSおよび/または1つ以上のDPPMSサブシステムを同期させるための手段を含む。例えば、登録ステータスは、サードパーティ加入者プロファイルデータオブジェクトまたは対応するデータを含むことができ、これらを使用して、DPPMSによって管理される対応する加入者プロファイルデータオブジェクトおよび/またはDPPMSの1つ以上のサブシステムによって管理される1つ以上の加入者プロファイルデータオブジェクトを同期させ得る。例えば、装置300は、DPPMSサブシステム454Cの各々の加入者プロファイルデータオブジェクトに記憶された情報が、サードパーティ加入者プロファイルデータオブジェクトと関連付けられた情報に適合するように、DPPMSサブシステム454Cの各々の加入者プロファイルデータオブジェクトを同期させ得る。
【0251】
フローは、これに代えて、登録ステータスが、デバイス識別子がサードパーティデバイス管理システム456Cによって登録されていることを示す(例えば、関連付けられたサードパーティ加入者プロファイルデータオブジェクトが存在しないことを示す)場合、ブロック404Cからブロック408Cに続き得る。例示的な実施形態では、そのような状況では、装置300は、登録モジュール312、履行モジュール314、不正モジュール316、エラーモジュール318、プロセッサ302などのうちのいずれか1つ、またはそれらの組み合わせなどの、サードパーティデバイス管理システムを介してデバイス識別子を登録しようとするための手段を含む。これに関して、装置300は、1つ以上の要求、信号などを伝送して、サードパーティデバイス管理システム456Cに、デバイス識別子と関連付けられたサードパーティ加入者プロファイルデータオブジェクトを作成させることを試み得る。そのような試み(単数または複数)に応答して、装置300は、サードパーティ加入者プロファイルデータオブジェクトが正常に作成されたこと、または1つ以上の伝送エラー(単数または複数)が発生したことを示す確認情報を返信で受信し得る。
【0252】
いくつかの実施形態では、登録サービス450Cは、受信されたエラー(単数または複数)を分類し、および/または1つ以上の関連付けられたエラー処理命令セット(単数または複数)を実行するためのエラー処理システムと関連付けられて構成され得る。例えば、受信されたエラーは、1つ以上の動作によって分類および/または処理され得る。エラー処理動作は、登録サービス450Cと関連付けられたエラー処理システムによって実行され、および/または生じ得る。
【0253】
これに加えて、またはこれに代えて、いくつかの実施形態では、デバイス識別子は、装置が請求処理命令セットを開始するための手段を含み得るユーザ請求を表す請求データオブジェクトと関連付けられ得る。請求処理命令セットは、1つ以上のシステム同期イベントと並行して開始され得る。モバイルデバイスプロの例示的な局面では、請求処理命令セットは、請求を不正でないと確証するか、またはモバイルデバイスにサービスを提供する、モバイルデバイスを交換するなどのための情報を処理および/または伝送するための、1つ以上の請求処理処理イベントを含み得る。請求処理命令セットは、対応する同期した加入者プロファイルデータオブジェクト(後で作成され、および/または同期し得る)を伴わずに開始され得る。
【0254】
いくつかの実施形態では、登録450Cは、信頼できるサードパーティデバイス管理シ
ステムから、例えば458Cの代わりにサードパーティデバイス管理システム456Cから直接、登録サブスクリプション通知の形式でデバイス識別子を受信する。いくつかのそのような実施形態では、登録サービス450Cは、1つ以上のシステム同期イベントを、それが受信された元であるサードパーティデバイス管理システムによる後続の承認を伴わずに実行し得る。これに関して、いくつかのそのような実施形態では、登録サービス450Cは、新たなおよび/または既存のサブスクリプションプロファイル(単数または複数)を、受信された登録サブスクリプション通知によって識別される1つ以上の新たなデバイス保護プログラムに登録することによって、DPPMSおよび/または1つ以上のDPPMSサブシステムを同期させるためにブロック406Cに直ちに進み得る。
【0255】
次に登録サービス452Cを参照すると、ブロック410Cで、装置300は、登録モジュール312、履行モジュール314、不正モジュール316、エラーモジュール318、プロセッサ302などのうちのいずれか1つ、またはそれらの組み合わせなどの、デバイス識別子を受信するための手段を含む。いくつかの実施形態では、デバイス識別子は、新たな加入者の登録のための情報を提供するサードパーティデバイス管理システムから受信され得る。例えば、サードパーティデバイス管理システム458C。これに代えて、装置300は、ルーチン同期サービスの一部としてデバイス識別子を識別または取得することによってデバイス識別子を受信し得る。例えば、DPPMSまたはDPPMS内のサブシステムは、特定の間隔で(例えば、毎日、毎週などの特定の時間に)新たにキャンセルされた加入者プロファイルデータオブジェクトと関連付けられたすべてのデバイス識別子のキャンセルされた登録を同期させ得る。
【0256】
ブロック412Cで、装置300は、登録モジュール312、履行モジュール314、不正モジュール316、エラーモジュール318、プロセッサ302などのうちのいずれか1つ、またはそれらの組み合わせなどの、サードパーティデバイス管理システムから登録ステータスを受信するための手段を含む。例示されるように、例えば、登録ステータスは、サードパーティデバイス管理システム456Cから取得され得る。サードパーティデバイス管理システム456Cは、ブロック402Cで取得されたデバイス識別子と関連付けられたデバイスのデバイス保護プログラムと関連付けられた特定のサードパーティデバイス管理システムを具現化し得る。例えば、サードパーティデバイス管理システム456Cは、デバイス製造者と関連付けられたシステム、サーバなどを具現化し得る。サードパーティデバイス管理システム456Cは、DPPMSによって記憶された加入者プロファイルデータオブジェクトから独立して管理されるサードパーティ加入者プロファイルデータオブジェクトを記憶し得る。いくつかの実施形態では、装置300は、サードパーティデバイス管理システムに登録ステータス要求を伝送することによって、登録ステータスを取得する。
【0257】
キャンセルサービス452Cは、次に、取得された登録ステータスに基づいて動作のフローを決定し得る。例えば、描示されるように、取得された登録ステータスが、デバイス識別子がサードパーティデバイス管理システム456Cによって登録されていないことを示す(例えば、関連付けられたサードパーティ加入者プロファイルデータオブジェクトが存在しないことを示す)場合、フローはブロック414Cを継続し得る。そのような状況では、装置300は、登録モジュール312、履行モジュール314、不正モジュール316、エラーモジュール318、プロセッサ302などのうちのいずれか1つ、またはそれらの組み合わせなどの、サードパーティデバイス管理システム456Cから受信された登録ステータスに基づいて、DPPMSおよび/または1つ以上のDPPMSサブシステムを同期させるための手段を含む。例えば、装置300は、DPPMSおよび/または1つ以上のDPPMSサブシステムによって管理される1つ以上の既存の加入者プロファイルデータオブジェクトを識別し、加入者プロファイルデータオブジェクトを消去し、消去について各々をマークし、または加入者プロファイルデータオブジェクトを登録されてい
ないとしてマークし得る。
【0258】
フローは、これに代えて、登録ステータスが、デバイス識別子がサードパーティデバイス管理システム456Cによって登録されていることを示す(例えば、関連付けられたサードパーティ加入者プロファイルデータオブジェクトが存在しないことを示す)場合、ブロック412Cからブロック416Cに続き得る。そのような状況では、装置300は、登録モジュール312、履行モジュール314、不正モジュール316、エラーモジュール318、プロセッサ302などのうちのいずれか1つ、またはそれらの組み合わせなどの、サードパーティデバイス管理システムを介して登録デバイス識別子をキャンセルすることを試みるための手段を含む。これに関して、装置300は、1つ以上の要求、信号などを伝送して、サードパーティデバイス管理システム456Cに、デバイス識別子と関連付けられたサードパーティ加入者プロファイルデータオブジェクトを消去し、未登録としてマークし、またはそのキャンセルを他の方法で示すように試み得る。そのような試み(単数または複数)に応答して、装置300は、サードパーティ加入者プロファイルデータオブジェクトが正常に消去されたか、またはキャンセルされたとして、または1つ以上の伝送エラー(単数または複数)として示されることを示す確認情報を返信で受信し得る。
【0259】
いくつかの実施形態では、キャンセルサービス452Cは、信頼できるサードパーティデバイス管理システムから、例えば458Cの代わりにサードパーティデバイス管理システム456Cから直接、登録キャンセル通知の形式でデバイス識別子を受信する。いくつかのそのような実施形態では、キャンセルサービス452Cは、1つ以上のシステム同期イベントを、それが受信された元であるサードパーティデバイス管理システムによる後続の承認を伴わずに実行し得る。これに関して、いくつかのそのような実施形態では、キャンセルサービス452Cは、ブロック414Cに直ちに進んで、対応する登録されたサブスクリプションプロファイルをキャンセルすることによって、DPPMSおよび/または1つ以上のDPPMSサブシステムを同期させ得る。
【0260】
エラーの分類および処理
図9は、本開示の実施形態が本明細書の開示に従って内部で動作し得る例示的なシステムのブロック図を例示している。具体的には、
図9は、本開示の実施形態が、失敗した伝送からもたらされる受信された伝送エラーを受信、分類、および/または管理し得る例示的な構成を例示している。例示されるように、登録管理サブシステム902は、例示的なサードパーティデバイス管理システム912と通信し得る。登録管理サブシステム902は、以下に記載されるように、エラー管理および報告を容易にするために、ハードウェアおよび/またはハードウェア上で実行されるソフトウェアの組み合わせによって具現化され得る多数のサービスを含む。いくつかの実施形態では、登録管理システム902を、DPPMSの残りの部分に対する機能性を失うことなく登録管理システム上で保守およびトラブルシューティングが実行され得るように、機能し、かつDPPMS内の1つ以上の他のサービスとは独立して保守され得る別個のサービスとして動作させ得る。いくつかの実施形態では、登録管理サブシステム902を、例えば、
図7に関して記載されるように、1つ以上の実行されるアクションプロセスインスタンスで動作させる。
【0261】
例示的な実施形態では、登録管理サブシステム902は、装置300、または装置300の1つ以上のモジュール、例えば、登録モジュール312、プロセッサ302、エラーモジュール318などによって具現化され得る。他の実施形態では、登録管理サブシステム902は、装置300と関連付けられたサブシステムであり得る。いくつかの実施形態では、登録管理サブシステム902、および/または登録管理サブシステム902の1つ以上のコンポーネントは、そこに記載されたコンポーネントで特別に構成された1つ以上のリモートおよび/または「クラウド」サーバを含む構成されたクラウドシステムに対してアクセスされて実行され得る。同様に、いくつかの実施形態では、履行および/または
不正防止のための1つ以上のマイクロサービスサブシステムが、特別に構成されたリモートおよび/またはクラウドサーバ上で同様に実行され得る。
【0262】
登録管理サブシステム902は、ネットワーク914を介してサードパーティデバイス管理システム912と通信するように構成され得る。サードパーティデバイス管理システムは、サードパーティデバイス管理システムを介してデバイス保護プログラムに登録された1つ以上の加入者と関連付けられた1つ以上のサードパーティ加入者プロファイルデータオブジェクトを管理し得る。例えば、サードパーティデバイス管理システム912は、サードパーティシステムまたはエンティティを介してデバイス保護プログラムに登録されたすべてのサードパーティ加入者プロファイルデータオブジェクトを含むデータベースまたはリストを維持するように構成され得る。
【0263】
登録管理サブシステム902は、サードパーティデバイス管理システム912と通信して、1つ以上のDPPMS加入者プロファイルデータオブジェクトを含む1つ以上のDPPMSサブシステムを検証、確証、または更新し得る。例えば、登録管理サブシステム902は、サードパーティデバイス管理システム912と通信して、新たな登録管理要求データオブジェクトを受信し、および/または処理されている登録管理要求データオブジェクトと関連付けられたサードパーティ登録ステータスを確証するように構成され得る。
【0264】
例示されるように、登録管理サブシステム902は、登録処理マイクロサービス904、エラー処理サービス908、エラー構成サービス906、データストア910、および報告ソリューション909を含み得る。登録処理マイクロサービス904は、未処理の登録管理要求データオブジェクトを記憶するように構成されたアクションキューを維持するように構成され得る。これに加えて、またはこれに代えて、登録処理マイクロサービス904は、アクションキューからの未処理の登録管理要求データオブジェクトを処理するように構成された1つ以上のアクションプロセスインスタンスを管理するように構成され得る。
【0265】
登録管理要求データオブジェクトなどの未処理のアクションを、登録処理マイクロサービス904を介して処理している間、登録管理サブシステム902は、ネットワーク914を介してサードパーティデバイス管理システム912と通信し得る。登録管理サブシステム902は、例えば、サードパーティデバイス管理システム912に、サードパーティ登録ステータス要求データオブジェクト、サードパーティ加入者登録要求データオブジェクト、サードパーティ加入者キャンセル要求データオブジェクト、または他の登録管理要求データオブジェクトを含むグループからの1つ以上を伝送するように構成され得る。
【0266】
しかしながら、ネットワーキング、通信、電力、または他の問題を含む無数のコンピューティング問題に起因して、伝送は、サードパーティデバイス管理システム912によって正常に受信されることに、および/またはサードパーティデバイス管理システム912によって応答されることに失敗し得る。失敗した伝送の結果として、登録管理サブシステム902は、失敗した伝送からもたらされる伝送エラーを識別し、受信し、または他の方法で決定し得る。失敗した伝送は、ソフトウェア障害、ハードウェア障害、および/またはサードパーティ提出失敗を含むがこれらに限定されない、様々なタイプの様々な伝送エラーからもたらされ得る。
【0267】
エラー処理サービス908は、そのような伝送エラーの発生を識別し、受信し、または他の方法で決定するように構成され得る。これに加えて、またはこれに代えて、いくつかの実施形態では、エラー処理サービス908は、エラー処理ロジックで構成され得る。特定の実施形態では、エラー処理サービス908と関連付けられたエラー処理ロジックは、伝送エラーをエラー構成と関連付けるように構成され得る。伝送エラーをエラー構成と関
連付けることを使用して、受信された伝送エラーを分類し、および/または伝送エラーに応答して実行する1つ以上のエラー処理動作を識別し得る。
【0268】
エラー処理サービス908は、エラー構成サービス906を利用して、伝送エラーに基づいてエラー構成を識別するように構成され得る。例えば、エラー処理サービス908は、伝送エラーに含まれるか、または伝送エラーと関連付けられたエラーコードおよび/またはエラーメッセージを識別することができ、ここで、エラーコード、エラーメッセージ、またはそれらの組み合わせを使用して、関連付けられたエラー構成を識別する。エラー構成は、少なくとも、関連付けられた伝送エラーのエラーコードおよび/またはエラーメッセージ、ならびに伝送エラーと関連付けられたエラー分類と関連付けられるか、またはそれらを含み得る。いくつかの実施形態では、エラー構成はまた、エラー処理プロトコルを具現化するエラー処理命令セットと関連付けられた、またはエラー処理命令セットを識別する情報を含み得る。例えば、いくつかの実施形態では、エラー構成は、実行されるエラー処理命令セットで使用するための再試行最大閾値を含み得る。
【0269】
エラー処理ロジックは、エラー構成サービス906と連携して、1つ以上のエラー処理イベントを含むエラー処理プロトコルを表すエラー処理命令セットを識別、決定、または取得し得る。例えば、エラー処理サービス908は、伝送エラーと関連付けられたエラー分類などの、エラー構成に含まれるか、または他の方法で識別された情報と関連付けられたエラー処理命令セットを識別し得る。
【0270】
エラー処理サービス908は、識別されたエラー処理命令セットに基づいて1つ以上のエラー処理イベントを実行するように構成され得る。エラー構成が伝送エラーが再試行可能なエラーであることを示す特定の例では、エラー処理サービスは、失敗した伝送が、関連付けられた再試行最大閾値を超えて再試行されたかどうかを識別し、そうでない場合は要求再試行時間を識別し、かつ決定された再試行時間の後に再び伝送キューに失敗した伝送を送るように、構成され得る。エラー構成が、伝送エラーがエスカレーションエラーであることを示す別の特定の例では、エラー処理サービスは、失敗した伝送をエスカレーションキューに追加するか、または他の方法で挿入するように構成され得る。エスカレーションキューは、エラー処理のためにサードパーティエンティティまたは別のサードパーティシステムによる注意を必要とする1つ以上の失敗した伝送を記憶し得る。いくつかの実施形態では、エラー処理サービス908は、伝送エラーと関連付けられた1つ以上のエラーレポートを生成または識別するように構成され得る。
【0271】
エラー処理サービスは、データストア910を利用して、エラーレポートを記憶し、および/または1つ以上のアクションキューを管理し得る。いくつかの実施形態では、データストア910は、1人以上のユーザが登録管理サブシステムに関与して、レポートソリューション909を介してエラーレポートを取得し得るように、エラーレポートを記憶するように構成される。例えば、報告ソリューション909は、データストア910へのアクセスを可能にするように構成され得る。レポートソリューション909は、ユーザが、エスカレーションキュー内のエスカレーションエラーなどの1つ以上の伝送エラーをサードパーティエンティティにエスカレートすることを可能にするように構成され得る。例えば、報告ソリューション909は、エラーエスカレーション要求をサードパーティデバイス管理システム912、またはサードパーティエラーシステム(図示せず)などのサードパーティデバイス管理システム912と関連付けられた別のサードパーティシステムに伝送することによって、エスカレーションキュー内の伝送エラーのエスカレーションを可能にするように構成され得る。いくつかの実施形態では、エスカレーションキュー内のエスカレーションエラーは、1人以上の人間のオペレータを介して処理され得、キューは、報告ソリューション909を介して変更され、または他の方法で更新され得る。
【0272】
図5は、本明細書の本開示による、DPPMSによって受信されたエラー分類および伝送エラーの処理のための簡略化された例示的なプロセスにおける動作を例示している。
図5に関して例示および記載された動作は、
図9に例示されて上述された登録管理サブシステム902を具現化するハードウェアおよび/またはソフトウェアを含む、装置300によって具現化されるDPPMSによって実行され得る。例えば、特定の例示的な実施形態では、登録モジュール312、エラーモジュール318、プロセッサ302、通信モジュール308、データストア管理モジュール310、および/またはそれらの組み合わせは、
図9に関して上述したように登録管理サブシステム902を具現化するように構成され得る。
【0273】
ブロック502で、装置300は、サードパーティデバイス管理システムへの失敗した伝送に応答してサードパーティ伝送エラーを受信するための、エラーモジュール318、プロセッサ302、通信モジュール308などの手段を含む。特定の例として、装置300によって具現化されるDPPMSは、サードパーティ登録管理要求データオブジェクトをサードパーティデバイス管理システムに伝送し、接続を失うか、または他の方法によりサードパーティティデバイス管理システムから対応するサードパーティ登録管理応答を受信することが不可能であり得る。したがって、そのような応答を受信することなく、装置300によって具現化されるDPPMSは、サードパーティデバイス管理システムが、サードパーティ登録管理要求データオブジェクトに応答して必要なアクションを正常に実行したかどうかに関して認識しないままであり得る。
【0274】
ブロック504で、装置300は、エラーモジュール318、プロセッサ302などの、サードパーティの伝送エラーと関連付けられたエラー分類を識別するための手段を含む。特定の実施形態では、装置300は、1つ以上のエラー分類を含むエラー分類セットを識別し、エラー分類セットからエラー分類を識別し得る。エラー分類セットの例として、「再試行可能なエラー」および「エスカレーションエラー」が挙げられ得る。いくつかの実施形態では、装置300は、失敗した伝送、サードパーティ伝送エラー、失敗した伝送と関連付けられた加入者情報、および/または他の様々な要因に基づいてエラー分類を識別し得る。いくつかの実施形態では、装置300は、エラーモジュール318、プロセッサ302などの、伝送エラーと関連付けられたエラー構成を識別するための手段を含む。いくつかの実施形態では、エラー構成は、各々が伝送エラーと関連付けられた、少なくともエラー分類、および再試行最大閾値を含む。
【0275】
例示的な局面では、「再試行可能なエラー」および「エスカレーションエラー」のエラー分類は、1つ以上のサブ分類を含み得る。例えば、装置300は、伝送エラーを処理することを意図された特定のサードパーティエラー処理デバイスを識別するエスカレーションエラー分類を維持し得る。そのようなエラー分類の例として、特定の加入者デバイスの「販売時点管理エスカレーションエラー」および「製造者エスカレーションエラー」が挙げられるが、これらに限定されない。販売時点管理エスカレーションエラーは、例えば、販売時点管理システムを具現化するサードパーティデバイス管理システムなどのサードパーティシステムから、不十分にフォーマットされた、不完全な、または他の方法により使用不可能な、もしくは不良なデータが受信されたことを示し得る。この点で、販売時点管理エスカレーションエラーは、手動介入のために、最初の要求を伝送したキャリアエンティティによって制御されるシステムなどのサードパーティエラー処理システムへのエスカレーションを必要とするエラー構成と関連付けられ得る。製造者エスカレーションエラーは、例えば、特定の加入者デバイスの製造者エンティティと関連付けられたサードパーティシステムから取得可能であるデータを要求が必要とすることを示すことができ、エラーは、サードパーティエンティティによって制御されるサードパーティエラー処理システムに対してエラーのエスカレーションを必要とする構成と関連付けられ得る。
【0276】
同様に、装置300は、特定のエラー処理命令セットと関連付けられた再試行可能なエラー分類を維持することができ、例えば、失敗した伝送の後続の再試行が不成功である場合、エラー処理命令セットがエラー処理プロトコルをさらに定義する。このようなエラー分類の例として、「システムの再試行可能なエラー」および「再試行後の不適格エラー」が挙げられるが、これらに限定されない。システムの再試行可能なエラーは、伝送のフィールドフォーマットおよび/またはデータフォーマットがエラーを含むことを示すことができ、指数バックオフを使用するなど、1つ以上の再試行プロトコルに基づいて継続的に再試行可能であり得る。再試行後の不適格エラーは、1回以上の再試行試みを介して解決されない場合、エラーに対してアクションを実行することができないことを示すことができ、不適格であるとしてマークされるか、新たな不適格エラーを受信する前に、制限された再試行最大閾値(例えば、いくつかの実施形態では1回の再試行)で再試行され得る。不適格エラーは、そのようなエラーを処理するために必要とされるアクションがないように、いかなるエラー処理命令セットをも含まない特定の構成と関連付けられなくてもよい。例えば、特定のデバイス保護プログラムに登録することができない加入者デバイスと関連付けられた不適格なエラーが受信され得る。
【0277】
ブロック506で、装置300は、例えば、エラーモジュール318、プロセッサ302などの、識別されたエラー分類と関連付けられたエラー処理命令セットによって定義されるエラー処理プロトコルを識別するための手段を含む。各エラー分類は、各々が1つ以上のエラー処理イベントを含む、1つ以上のエラー処理プロトコルと関連付けられ得る。例えば、「再試行可能な」エラー分類と関連付けられたエラー処理プロトコルは、少なくとも、再試行時間を識別することと、失敗した伝送を再試行時間が経過した後に伝送のためにキューに入れることと、再試行時間を待機することと、を含み得る。例えば、「エスカレーション」エラー分類と関連付けられたエラー処理プロトコルは、伝送エラーをエスカレーションキューに挿入することを含み得る。いくつかの実施形態では、装置300は、例えばデータストアを介してエラーデータベースにアクセスして、識別されたエラー分類と関連付けられたエラー処理プロトコルを識別し得る。
【0278】
ブロック508で、装置300は、エラーモジュール318、プロセッサ302などの、識別されたエラー処理プロトコルに含まれるエラー処理イベントのうちの1つ以上を開始するための手段を含む。例えば、装置300は、再試行可能なエラーについて、再試行時間を識別し、失敗した伝送を再試行時間が経過した後に再伝送のために伝送キューに配置し、再試行時間を待機するように構成された手段を含み得る。装置300はまた、エスカレーションエラーのために、伝送エラーをエスカレーションキューに挿入するように構成された手段を含み得る。
【0279】
ブロック510で、装置300は、エラーモジュール318、プロセッサ302などの、受信されたサードパーティ伝送エラーに基づいてエラーレポートを生成するための手段を含む。エラーレポートは、サードパーティの伝送エラー、エラー分類、識別されたエラー処理命令セットなどに関連した情報および/またはメタデータを含み得る。
【0280】
ブロック512で、装置300は、エラーモジュール318、プロセッサ302などの、生成されたレポートをエラーデータベースに記憶するための手段を含む。いくつかの実施形態では、単一のデータストアは、すべての他の記憶されたデータと共にエラーレポートを記憶するように構成される。他の実施形態では、エラーデータベースは、他のデータタイプとは別のものである。エラーレポートが、同じタイプの後続のサードパーティ伝送エラーが発生したときに取得され、かつそのような伝送エラーを分類および/または処理する効率を向上させるために利用され得るように、エラーレポートは、受信されたサードパーティ伝送エラーに基づく情報および/またはメタデータと関連付けて記憶され得る。他の実施形態では、エラーデータベースが、受信されたエラーのエラーログとして機能す
るように、エラーレポートは、生成されてエラーデータベースに追加される。
【0281】
装置300によって具現化されるDPPMSなどのDPPMSは、サードパーティデバイス管理システムなどのサードパーティシステムへの試みられた伝送、例えば、
図4Aおよび
図4Bによって例示されるプロセス中に受信された伝送エラー、または任意の他のメッセージ障害または同期障害に関連して受信された伝送エラーに応答して受信された伝送エラーを処理するために、
図5に例示される動作のうちの1つ以上を実行し得る。したがって、
図6は、システム全体のロバスト性および効率を改善するための登録管理およびエラー処理のために構成された、装置300によって具現化されるDPPMSなどのDPPMSによって実行され得る動作を含む例示的な詳細プロセスを例示している。
【0282】
ブロック602で、装置300は、サードパーティデバイス管理システムへの失敗した伝送に応答してサードパーティ伝送エラーを受信するための、エラーモジュール318、プロセッサ302、通信モジュール308などの手段を含む。上述したように、例えば、装置300によって具現化されるDPPMSは、サードパーティ登録管理要求データオブジェクトをサードパーティデバイス管理システムに伝送し、接続を失うか、または他の方法によりサードパーティティデバイス管理システムから対応するサードパーティ登録管理応答を受信することが不可能であり得る。
【0283】
任意でのブロック604で、装置300は、エラーモジュール318、プロセッサ302などの、受信されたサードパーティ伝送エラーに基づいてエラーレポートを生成するための手段を含む。任意でのブロック606において、装置300は、エラーモジュール318、プロセッサ302、データストア管理モジュール310などの、生成されたエラーレポートをエラーデータベースに記憶するための手段を含む。したがって、エラーレポートは、将来の監査および/またはエラー処理のためにエラーデータベースに記録され得る。例えば、ユーザは、受信したが未分類のエラーについての1つ以上のエラーレポートを検討し、伝送エラーを処理するために適宜ユーザによって決定されたエラー分類および/またはエラー処理命令セットを含む対応するエラー構成を割り付け得る。
【0284】
ブロック608で、装置300は、エラーモジュール318、プロセッサ302などの、サードパーティの伝送エラーと関連付けられたエラー分類を識別するための手段を含む。例示された例では、上述したように、エラー分類は、少なくとも「再試行可能な」エラー分類および「エスカレーション」エラー分類を含むエラー分類セットから選択され得る。他の実施形態では、追加または代替のエラー分類をエラー分類セットに含め得る。エラー処理分類は、伝送エラーおよび/または失敗した伝送と関連付けられた情報および/またはメタデータに基づいて識別され得る。例えば、いくつかの実施形態では、装置300は、伝送エラーを識別する際に使用するために、伝送エラーからエラー識別子を抽出し得る。他の実施形態では、装置300は、失敗した伝送と関連付けられた伝送タイプを決定し、エラー分類を決定するために、伝送タイプを単独で、またはエラー識別子などの他の情報と組み合わせて利用し得る。
【0285】
ブロック610で、装置300は、エラーモジュール318、プロセッサ302などの、識別されたエラー分類と関連付けられたエラー処理プロトコルを識別するための手段を含む。エラー処理プロトコルは、エラーを解決するための命令セットによって表わされ得る。いくつかの実施形態では、エラー処理プロトコル命令セットは、ブロック612で始まる例示的なプロトコルなどの、再試行および/またはエスカレーション命令を含み得る。識別されたエラー処理プロトコルは、例示されるように、判定ブロック608で決定されたエラー分類に基づき得る。例えば、例示されるように、エスカレーションエラー処理プロトコルは、エスカレーションエラー分類と関連付けられて識別され得、ここで、エスカレーションエラー処理プロトコルは、少なくともブロック614などの1つ以上のエラ
ー処理イベントを含む。これに代えて、例示されるように、再試行可能なエラー処理プロトコルは、再試行可能なエラー分類と関連付けられて識別され得、ここで、再試行可能なエラー処理プロトコルは、少なくともブロック616~630、および614などの1つ以上のエラー処理イベントを含む。
【0286】
判定ブロック612を参照すると、識別されたエラー分類が、(例えば、受信された伝送エラーのエラーコードおよび/またはエラーメッセージに基づいて識別されたエラー構成からの)エスカレーションエラーである場合、フローは、エスカレーションエラー処理プロトコル中に単一のエラー処理イベントを具現化するブロック614に続く。ブロック614で、サードパーティの伝送エラーが、エスカレーションキューに追加される。いくつかの実施形態では、装置300は、エスカレーションキューを管理し、かつエスカレーションキュー内のエラーを1つ以上のサードパーティサーバに伝送するように構成される。いくつかの実施形態では、装置300は、エラーをサードパーティエラー処理システムに伝送し、かつサードパーティエラー処理システムから自動的にエスカレーション応答を受信もするための手段を含み得る。他の実施形態では、エスカレーションキュー内のエスカレーションエラーは、装置300によって具現化されるDPPMSなどのDPPMSを介した人間のオペレータ、またはサードパーティエラー処理システムを介した人間のオペレータによってなど手動介入によって解決される。
図6に例示されるエスカレーションエラー処理プロトコルはここで終了するが、他のエスカレーションエラー処理プロトコルは、追加または代替のエラーエスカレーションステップを含み得ることを理解されたい。
【0287】
再び判定ブロック612に戻ると、エラー分類が再試行可能なエラーであると決定された場合、フローはブロック616に続き、ブロック616~630および614によって具現化される再試行可能なエラーと関連付けられた、例示されるエラー処理プロトコルにおける最初のエラー処理イベントを具現化する。
【0288】
ブロック616で、装置300は、エラーモジュール318、プロセッサ302などの、再試行最大閾値を識別するように構成された手段を含む。再試行最大閾値は、装置300が特定の伝送エラーに対して実行し得る再伝送試みの最大数を定義する。いくつかの実施形態では、すべての再試行可能なエラーは、事前決定された再試行最大閾値と関連付けられ得る。他の実施形態では、再試行可能なエラーと関連付けられた再試行最大閾値は、現在の日付のタイムスタンプ、サーバ負荷、エスカレーションキュー長、再伝送キュー長などの様々な要因に基づいて決定され得る。
【0289】
いくつかの実施形態では、再試行最大閾値は、装置300が、受信された伝送エラーと関連付けられた失敗した伝送の伝送を再試行し続け得る特定の時間長さを表すタイムスタンプ間隔を表す。再試行最大閾値によって具現化される時間長さは、例えば、装置300のユーザによって設定される所定のタイムスタンプ間隔を表し得る。これに代えて、またはこれに加えて、再試行最大閾値は、現在の日付タイムスタンプ、サーバ負荷、エスカレーションキュー長、再伝送キュー長などの1つ以上の要因に基づいて装置300によって決定されるタイムスタンプ間隔を表し得る。
【0290】
ブロック618で、装置300は、エラーモジュール318、プロセッサ302などの、再試行試み数を識別するための手段を含む。いくつかの実施形態では、装置300は、失敗した伝送と関連付けられた、再試行試み数を表す伝送試みの数を追跡するように構成される。したがって、いくつかの実施形態では、装置300によって具現化されるDPPMSが失敗した伝送を再伝送することをまだ試みていない場合、ゼロの再試行試み数が割り付けられ得る。他の実施形態では、再試行試み数が事前決定された数(例えば、5回の再試行試み)に設定され、各再試行の後にデクリメントされるように、再試行試み数は、残りの再試行試みの数を表し得る。
【0291】
ブロック620で、装置300は、エラーモジュール318、プロセッサ302などの、再試行最大閾値および再試行試み数に基づいて再試行関係結果データオブジェクトを識別するための手段を含む。再試行関係結果データオブジェクトは、再試行関係に基づいて再試行最大閾値と再試行試み数とを比較することによって識別され、または他の方法で決定され得る。例えば、再試行関係結果データオブジェクトは、再試行試み番号が、再試行最大閾値よりも大きい(またはそれ以上)か、または再試行最大閾値よりも小さい(またはそれ以下)かを示し得る。
【0292】
これに代えて、いくつかの実施形態では、再試行試み数は、特定の失敗した伝送についての再試行試みに費やされた合計時間を表す。これに関して、再試行試み数は、前の再試行の反復(存在する場合)の待機時間だけインクリメントされ得る。いくつかの実施形態では、装置300は、例えば、ハードウェアおよび/またはソフトウェアで具現化される1つ以上のクロックおよび/またはタイマを使用して、再試行試み数を追跡するように構成される。また他の実施形態では、装置300は、伝送試みの数を追跡し、伝送試みの数を使用して、1つ以上の前の再試行試みに対する前の待機時間を決定する。いくつかのそのような実施形態では、再試行関係結果データオブジェクトは、再試行試み数が再試行最大閾値を超えるかどうか(例えば、再試行に費やされた合計時間を示すデータが許可される最大時間を超えるかどうか)を表し得る。いくつかの実施形態では、再試行関係結果データオブジェクトは、再試行試み数が再試行最大閾値を下回ったときに再試行最大閾値が満たされることを示す。
【0293】
判定ブロック622で、装置300は、エラーモジュール318、プロセッサ302などの、再試行関係結果データオブジェクトが、再試行関係が満たされていることを示すかどうかを決定するための手段を含む。いくつかの実施形態では、例えば、再試行関係は、再試行関係結果データオブジェクトによって示されるように、再試行試み数が再試行最大閾値よりも小さいときに満たされる。他の実施形態では、再試行試み数が再試行の最大閾値よりも大きい場合(例えば、再試行試み数がデクリメントされ、再試行最大閾値がゼロまたは境界数にある場合)、再試行関係が満たされる。
【0294】
例えば、再試行最大閾値がタイムスタンプ間隔を表し、再試行試み数が、すべての再試行試みに費やされた合計時間を表す、また他の実施形態では、再試行試み数が、再試行関係の結果データオブジェクトによって示される再試行最大閾値よりも小さい(またはこれ以下である)ときに再試行関係が満たされる。他の実施形態では、再試行試み数が再試行最大閾値よりも大きい場合(例えば、再試行試み数が待機時間に基づいてデクリメントされる場合)、再試行関係が満たされる。
【0295】
再試行関係が満たされていないと決定された場合、フローは、ブロック614を継続し得る。例えば、再試行関係が再試行最大閾値を満たさない場合、再試行可能なエラーがエスカレートされ、ブロック614に示されるように、エスカレーションキューに配置され得る。他の実施形態では、再試行可能なエラーは、エスカレーションキューに追加される前に、エスカレーションエラーに再分類され得る。
【0296】
これに代えて、伝送試みごとにインクリメントされる再試行試み数が再試行最大閾値よりも小さい場合など、再試行関係が満たされていると決定された場合、フローは、ブロック624を継続し得る。ブロック624で、装置300は、エラーモジュール318、プロセッサ302などの、要求再試行時間を決定するための手段を含む。再試行時間は、失敗した伝送を再伝送することを試みる前に、システムが待機しなければならない時間長さを表す。いくつかの実施形態では、要求再試行時間は、再試行試み数に基づいて決定される。例えば、要求再試行時間は、最小の再試行時間から開始して、直前の試行と関連付け
られた要求再試行時間を2倍にする指数バックオフアルゴリズムに基づき得る。例えば、再試行試み数がゼロである場合(例えば、最初の再試行試みの前の待機時間)に、装置300が再試行時間を5分であると決定するように、最小の再試行時間は、5分に設定され得る。それに続いて、再試行試み数が1である(例えば、2回目の再試行試み前)場合に再試行時間が10分であり、再試行試み数が2である(例えば、3回目の再試行試み前)場合に再試行時間が20分であるように、再試行時間は2倍にされる。他の実施形態では、代替のアルゴリズムまたは規則を利用して、再試行時間を決定し得る。
【0297】
ブロック626で、装置300は、エラーモジュール318、プロセッサ302などの、決定された再試行時間を待機するための手段を含む。いくつかの実施形態では、装置300は、前の伝送または再伝送の試みから経過した時間を追跡し得る。実施形態は、再試行時間を待機する間、他の伝送を試み、および/または他の動作を実行することによってなど、動作し続け得る。
【0298】
ブロック628で、装置300は、エラーモジュール318、プロセッサ302などの、失敗した伝送を伝送キューに追加するための手段を含む。伝送キューは、装置300が、ここより上下に識別されるとして処理および伝送するように構成された手段を含み得る1つ以上のサードパーティシステムに伝送される未処理の要求を含み得る。失敗した伝送がキューの先頭に到達した後、装置300によって具現化されるDPPMSは、失敗した伝送を処理し、それを再び伝送しようと試みる。
【0299】
判定ブロック630で、装置300は、エラーモジュール318、プロセッサ302、通信モジュール308などの、失敗した伝送が正常に再伝送されたかどうかを決定するための手段を含む。伝送が不成功であった場合、フローは、ブロック618に戻ることができ、この場合に、再試行試み数がインクリメントされる。いくつかの実施形態では、別のサードパーティ伝送エラーが受信され、前のエラー分類に基づいて再試行可能なエラーとして識別され得る。これに代えて、いくつかの実施形態では、フローは、ブロック602に戻ることができ、他のサードパーティ伝送エラーは、後続のサードパーティ伝送エラーも再試行可能なエラーであるかどうか、または新たなエスカレーションエラーが発生したかどうかを判定するために再分類され得る。判定630に戻ると、伝送が正常に伝送された場合、プロセスは終了する。
【0300】
図6に関して記載される動作を実行するように構成されたDPPMSは、処理リソースを効果的に割り当て、不必要にエスカレートするエラーの量を低減し、したがって、登録管理要求データオブジェクトまたは請求などのアクションを処理するための完了時間を改善し得ることを理解されたい。
【0301】
図6に例示されるエラー処理プロトコルと、
図6に例示される特定のエラー処理イベントと、が例であることも理解されたい。代替のエラー処理プロトコルは、代替のエラー処理イベント、エラー処理ステップの異なる手順、および/または追加のエラー処理イベントを含み得る。したがって、本明細書の開示の趣旨および範囲は、ブロック612~630によって例示されて上述した例示的なエラー処理プロトコルの詳細に限定されない。
【0302】
例示的なスケーリングサービス
装置300によって具現化されるDPPMSは、本明細書に記載されるシステム、サブシステム、およびプロセスのうちの1つ以上に関連して、1つ以上の受信および/またはトリガされたアクションおよび/または要求を処理するための手段を含み得る。例えば、登録管理要求データオブジェクト、請求などは、特定の目標を達成するために、装置300によって具現化されるDPPMSによる処理を必要とし得る。例えば、登録サブスクリプション要求は、サードパーティデバイス管理システムへの登録を確証し、DPPMS加
入者プロファイルデータオブジェクトを作成しおよび/またはDPPMSに追加し、および/またはDPPMSと関連付けられた1つ以上のDPPMSサブシステムと関連付けられたDPPMS加入者プロファイルデータオブジェクトをキャンセルするための処理リソースを必要とし得る。登録キャンセル要求データオブジェクトは、サードパーティデバイス管理システムからのキャンセルを確証し、DPPMSと関連付けられたDPPMS加入者プロファイルデータオブジェクトをキャンセルし、および/または1つ以上のDPPMSサブシステムと関連付けられたDPPMS加入者プロファイルデータオブジェクトをキャンセルするための処理を必要とし得る。請求は、請求が不正ではないことを確証し(不正防止プロトコルを実行することによってなど)、請求処理プロトコルを実行するための処理を必要とし得る。いくつかの実施形態では、請求処理プロトコルは、装置が特定の請求の請求データオブジェクトと関連付けられて開始する請求処理命令セットを含む。
【0303】
これらのアクションの処理は、かなりの処理リソースを必要とし、および/またはかなりの時間を必要とし得る。これに加えて、いくつかの実施形態では、未処理のアクションは、非常に大きなバッチで受信され得、未処理のアクションのアクションキューが、アクションキュー内のアクションがほとんどないか、まったくない状態から、短期間内にかなりの数の未処理のアクションに急速に拡大し得るようになる。例えば、本明細書に開示されるサードパーティシステムのうちの1つ以上は、バルク要求を(例えば、日中の所定の時間に)伝送することができ、様々なアクティビティの大規模なバッチが、迅速に、かつ加入者またはサードパーティに不当な遅延または負担をかけることなく、処理されなければならないようになる。したがって、装置300によって具現化されるDPPMSは、アクションキューに記憶された未処理のアクションを処理することと関連付けられた1つ以上のアクションプロセスインスタンスを管理するために、
図7に例示されるようにスケーリングサービスで構成され得る。
【0304】
図7を参照すると、スケーリングサービス702、アクションキュー716、およびアクションプロセスインスタンスセットを含み、具体的には実行されるアクションプロセスインスタンス704、706、および708を含むシステムが例示されている。アクションプロセスインスタンスの各々は、実行されるプロセススレッドセット710、712、および714などの実行されるプロセススレッドセットを含む。スケーリングサービス702は、例示される例では3に等しい、アクションプロセスインスタンスカウント最大値、または「最大アクションプロセス」と関連付けられる。スケーリングサービス702はまた、例示されるように1に等しい、アクションプロセスインスタンスカウント最小値または「最小アクションプロセス」と関連付けられる。これに加えて、またはこれに代えて、スケーリングサービス702は、プロセススレッドカウント最大値と関連付けられ得る。各実行されるアクションプロセスインスタンスは、プロセススレッドカウント最大値以下、またはいくつかの実施形態では非包含的にプロセススレッドカウント最大値未満のプロセススレッド数を含み得る。いくつかの実施形態では、各実行されるアクションプロセスインスタンスは、プロセススレッドカウント最大値に基づくスレッドの初期数で初期化され、および/または他の方法で実行される。新たに実行されるアクションプロセスインスタンスの初期スレッド数は、プロセススレッドカウント最大値と等しくあり得る。
【0305】
アクションキュー716は、1つ以上の未処理のアクション、および/または未処理のアクションタイプまたは要求タイプと関連付けられ得る。例えば、特定の実施形態では、アクションキュー716は、未処理の登録管理要求データオブジェクトなどの、単一の要求タイプと関連付けられた未処理の要求を維持するように構成され得る。別の実施形態では、アクションキュー716は、多数の要求タイプ、例えば、未処理の登録管理要求データオブジェクト、エスカレートされたエラー伝送要求、および/または処理を必要とする他のアクションと関連付けられた未処理の要求を維持するように構成され得る。
【0306】
実行されるアクションプロセスインスタンス704、706、および708の各々は、アクションキュー716からの1つ以上の要求タイプを処理するように構成され得る。例えば、実行されるアクションプロセスインスタンス704は、未処理の登録管理要求データオブジェクトを処理するように構成され得る。したがって、スケーリングサービス702は、少なくとも実行されるアクションプロセスインスタンス704、706、および708を含む実行されるアクションプロセスインスタンスセットを維持するように構成され得る。
【0307】
各実行されるアクションプロセスインスタンスは、実行されるアクションプロセスインスタンス704と関連付けられた実行されるプロセススレッドセット710などの実行されるプロセススレッドセットを含み得る。実行されるアクションプロセスインスタンスは、各実行されるプロセススレッドを利用して、特定の速度でアクションキュー716からの未処理のアクションを処理する。例えば、実行されるアクションプロセスインスタンス704について、実行されるプロセススレッドセット710内の各実行されるプロセススレッドは、1分あたり特定の数の未処理のアクションを処理するように構成され得る。したがって、特定の実行されるアクションプロセスインスタンスで実行されるプロセススレッドの数が増加するにつれて、実行されるアクションプロセスインスタンスと関連付けられた合計のアクション処理速度が増加する。いくつかの実施形態では、実行されるプロセスインスタンスは、アクションキュー716と関連付けられた未処理のアクションを処理するように自動的に構成された事前定義された数のプロセススレッドで実行される(例えば、実行されるプロセススレッドは、未処理の登録管理要求データオブジェクト、または別のタイプの未処理のアクションタイプを処理するように自動的に構成される)。未処理のアクションは、無数の計算タスク、ネットワーク呼び出し、データ管理アクションなどのいずれかであり得ることを理解されたい。
【0308】
スケーリングサービス702は、すべての実行されたプロセスインスタンスを管理し、実行されるアクションプロセスインスタンス704、706、または708などの実行されるアクションプロセスインスタンスのうちの1つによる処理のために、アクションキュー716から未処理のアクションを割り当てる、登録モジュール312、履行モジュール314、不正モジュール316、および/またはエラーモジュール318のうちの1つ以上によって制御されるか、またはこれらと他の方法で関連付けられた、ソフトウェア、またはソフトウェアとハードウェアとの組み合わせによって具現化され得る。特に、スケーリングサービス702は、対応するソフトウェアおよび/またはハードウェアとソフトウェアとの組み合わせと共に、装置300、または装置300内のサブモジュールの組み合わせによって具現化され得る。
【0309】
特定の実施形態では、スケーリングサービス702は、アクションキュー716と関連付けられたキュー長を識別するように構成され得、ここで、アクションキュー長は、特定の時間におけるアクションキュー716内の未処理のアクションの数を表す。スケーリングサービス702は、キュー長に基づいて、新たなアクションプロセスインスタンスを実行し、実行されるプロセスインスタンスを終了し、実行されるアクションプロセスインスタンスで新たなプロセススレッドを実行し、および/または実行されるアクションプロセスインスタンスで実行されたプロセススレッドを終了するように構成され得る。例えば、スケーリングサービス702は、キュー長最大閾値および/またはキュー長最小閾値を受信するか、または他の方法で識別するように構成され得る。スケーリングサービス702は、いくつかの実施形態では、キュー長とキュー長最大閾値との間の比較を表す最大キュー関係を決定し得る。いくつかの実施形態では、例えば、キュー長がキュー長最大閾値を超える場合など、最大キュー関係がキュー長最大閾値を満たす場合、スケーリングサービス702は、実行されるアクションプロセスインスタンスセットを更新する。例えば、最大キュー関係が、キュー長最大閾値を超えることによってなどキュー長最大閾値を満たす
場合、アクションプロセスインスタンスカウント最大値に達していない場合、スケーリングサービス702は、新たなアクションプロセスインスタンスを実行し得る。例えば、例示される
図7では、許可された最大アクションプロセスがすでに達成されているため、新たなアクションプロセスインスタンスを実行することはできない。
【0310】
いくつかの実施形態では、コンピューティングリソースは、各未処理のアクションに割り付けられた優先度値と、利用可能な未使用のコンピューティングリソースと、に応じて、特殊なアクションプロセスインスタンス間で再割り当てされ得る。例示的な局面では、登録要求は、キャンセル要求よりも優先され得、システムがアクションプロセスインスタンスカウント最大値またはプロセススレッドカウント最大値にある間に大量の登録要求が受信された場合、スケーリングサービス702は、1つ以上を再割り当てし得る。キャンセル要求を処理するように構成された特別な実行されるアクションプロセスインスタンスから、登録要求を処理するように構成された第2の特別な実行されるアクションプロセスインスタンスに、1つ以上のスレッドを再割り当てし得る。プロセススレッドは、例えば、第1のプロセススレッドを消去し、かつ新たな第2のプロセススレッドを再初期化することによって、無数の方法のいずれかで再割り当てされ得ることを理解されたい。
【0311】
これに加えて、またはこれに代えて、例えば、スケーリングサービス702は、いくつかの実施形態では、キュー長とキュー長最小閾値との間の比較を表す最小キュー関係を決定し得る。いくつかの実施形態では、キュー長がキュー長最小閾値未満である場合など、最小キュー関係がキュー長最小閾値を満たす場合に、スケーリングサービス702は、実行されるアクションプロセスインスタンスセットを更新する。例えば、キュー長がキュー長最小閾値未満である場合など、最小キュー関係がキュー長最小閾値を満たす場合に、アクションプロセスインスタンスカウント最小値に達していない場合、スケーリングサービス702は、選択されたアクションプロセスインスタンスを終了する。例えば、例示される
図7によって描示される特定の実施形態では、アクションプロセス708は、アクションプロセス708が、処理を停止し、かつ実行されるアクションプロセスインスタンスセットから除去されるように、選択および終了され得る。
【0312】
これに加えて、またはこれに代えて、例えば、スケーリングサービス702は、いくつかの実施形態では、キュー長に基づいて、1つ以上の実行されるアクションプロセスインスタンス(単数または複数)に対する実行されるプロセススレッドセット(単数または複数)を管理し得る。例えば、いくつかの実施形態では、実行されるアクションプロセスインスタンスをスケーリングする代わりに、スケーリングサービス702は、1つ以上の実行されるアクションプロセスインスタンスに対する実行されるプロセススレッドセット内の実行されるプロセススレッドの数を増加または減少させ得る。例えば、各実行されるアクションプロセスインスタンスは、最大の実行されるプロセススレッドカウント(例えば、例示されるように5)および/または最小の実行されるプロセススレッドカウント(例えば、1つの実行されるプロセススレッド)と関連付けられ得る。
【0313】
いくつかのそのような実施形態では、キュー長がキュー長最小閾値未満である場合など、最小キュー関係結果データが、最小プロセスキュー関係が満たされていることを示す場合、スケーリングサービス702は、最小の実行されるプロセススレッドカウントが満たされていない場合(例示的な局面では、複数のスレッドが実行される場合)、選択されたアクションプロセスインスタンスからの選択された実行されるプロセススレッドを終了する。選択されるアクションプロセスインスタンスに対して最小の実行されるプロセススレッドカウントが満たされている場合、スケーリングサービス702は、別の実行されるアクションプロセスインスタンスを選択し、新たに選択された実行されるアクションプロセスインスタンスに対して実行プロセススレッドが終了され得るかどうかを決定し得る。各実行されるアクションプロセスインスタンスが、各それぞれの最小の実行されるプロセス
スレッドカウントに適合する実行されるプロセススレッドカウントと関連付けられている状況では、スケーリングサービス702は、次に、最小プロセスインスタンス関係に応じて、上述したように、実行されるアクションプロセスインスタンスを終了することを試み得る。これに代えて、いくつかの実施形態では、第1の選択されたアクションプロセスインスタンスは、第1の選択されたアクションプロセスインスタンスの実行されるプロセススレッドセットを減少させ、第1の選択されたアクションプロセスインスタンスは、次に、スケーリングサービス702が別の実行されるアクションプロセスインスタンスからの実行されるプロセススレッドを終了する前に、終了され得る。
【0314】
同様に、いくつかの実施形態では、最大キュー関係結果データが、最大キュー関係が満たされていることを示す場合、スケーリングサービス702は、新たなアクションプロセスインスタンスを実行することを試みる前に、実行されるアクションプロセスインスタンスのうちの1つで新たなプロセススレッドを実行することを試み得る。例えば、スケーリングサービス702は、実行されるアクションプロセスインスタンスを選択し、選択された実行されるアクションプロセスインスタンスが最大の実行されるプロセススレッドカウントを(例えば、これより少ないことによって)満たすかどうかを決定し得る。選択されたアクションプロセスインスタンスの実行されるプロセススレッドカウントが、選択されたアクションプロセスインスタンスに対する最大の実行されるプロセススレッドカウントを満たす状況では、スケーリングサービス702は、選択されたアクションプロセスインスタンスを介して新たなプロセススレッドを実行し得る。選択されたアクションプロセスインスタンスに対する実行されるプロセススレッドカウントが、選択されたアクションプロセスインスタンスに対する最大の実行されるプロセススレッドカウントを(例えば、実行されるプロセススレッドカウントが選択されたアクションプロセスインスタンスに対する最大の実行されるプロセススレッドカウント以上であることによって)満たしていない状況では、スケーリングサービス702は、別の実行されるアクションプロセスインスタンスを選択して、新たなプロセススレッドを実行することを試み得る。各実行されるアクションプロセスインスタンスが、各それぞれの最大の実行されるプロセススレッドカウントに適合する実行されるプロセススレッドカウントと関連付けられている状況では、スケーリングサービス702は、次に、最大プロセスインスタンス関係に応じて、上述したように、新たなアクションプロセスインスタンスを開始し、および/または他の方法で実行することを試み得る。いくつかの実施形態では、プロセススレッドは、一度に1つの選択されたアクションプロセスインスタンスに対して実行および/または終了される(例えば、選択されたアクションプロセスインスタンスは、最大になるまでスレッド内でスケールアップされ、および/またはそれに続いて、スケーリングのための新たに選択されたアクションプロセスインスタンスとなる新たなアクションプロセスインスタンスを実行するか、または最小になるまでスレッド内でスケールダウンされ、および/またはそれに続いて、存在する場合、スケールダウンのための新たな実行されるアクションインスタンスを選択する前に終了される)。
【0315】
図7に例示される、実行されるインスタンス数、アクションプロセスインスタンスカウント最大閾値、プロセススレッドカウント、およびプロセススレッドカウント最大閾値は、単なる例であることを理解されたい。本開示の実施形態は、異なる実行されるインスタンス数、アクションプロセスインスタンスカウント最大閾値、プロセススレッドカウント、および/またはプロセススレッドカウント最大閾値を含み得る。
【0316】
いくつかの実施形態では、スケーリングサービス702は、1つ以上のコンピューティングデバイス、コンポーネント、またはサブシステムと関連付けられたソフトウェア、またはハードウェアとソフトウェアとの組み合わせとして実装される。いくつかの実施形態では、スケーリングサービス702は、
図8Aおよび
図8Bに関して以下に記載される動作を実行するための1つ以上のソフトウェアモジュールを実行するように構成されたハー
ドウェア手段によって具現化される。
【0317】
装置300、および/または1つ以上の他のシステムは、多様な異なる未処理のアクションを処理することと関連付けられた無数の実行されるアクションプロセスインスタンスをスケーリングするための1つ以上のスケーリングサービスを実装し得ることを理解されたい。例えば、いくつかの実施形態では、装置300は、未処理の登録アクションの第1のアクションキューを管理し、かつ第1のアクションキューからの未処理の登録アクションを処理するために構成された実行されるアクションプロセスインスタンスをスケーリングするスケーリングサービスを含み得る。装置300は、未処理の履行アクションの第2のアクションキューを管理し、かつ第2のアクションキューからの未処理の履行アクションを処理するために構成された実行されるアクションプロセスインスタンスをスケーリングするスケーリングサービスを追加的に含み得る。装置300は、未処理の不正行為の第3のアクションキューを管理し、かつ未処理の不正行為を処理するために構成された実行されるアクションプロセスインスタンスをスケーリングするスケーリングサービスを追加的に含み得る。これに代えて、いくつかの実施形態では、装置300は、例えば、前述のアクションキューのうちの1つと対応する実行されるアクションプロセスインスタンスセットとを管理するために各々が構成された、上述した1つ以上のマイクロサービスを介して実行される、3つのスケーリングサービスを実装し得る。
【0318】
他の実施形態では、装置300は、拡張された処理のためにアクションキューをさらに分割し得る。例えば、装置300は、第1のサードパーティデバイス管理システム(例えば、第1のキャリアと関連付けられたモバイルデバイスキャリアシステム)と関連付けられた未処理の登録アクションの第1のアクションキューを管理する第1のスケーリングサービスと、第2のサードパーティデバイス管理システム(例えば、第2のキャリアと関連付けられたモバイルデバイスキャリアシステム)と関連付けられた未処理の登録アクションの第2のアクションキューを管理する第2のスケーリングサービスと、を含み得る。同様に、装置300は、第1のサードパーティデバイス管理システム(またはこれに代えて、異なるサードパーティデバイス管理システム)についての請求データオブジェクトと関連付けられた未処理の履行アクションの第1のアクションキューと、第2のサードパーティデバイス管理システム(またはこれに代えて、異なるサードパーティデバイス管理システム)についての請求データオブジェクトと関連付けられた未処理の履行アクションの第2のアクションキューと、を管理する第1のスケーリングサービスを含み得る。これに関して、装置300は、実行されるプロセスインスタンスをスケーリングして、各タイプの未処理のアクションについて、サードパーティデバイス管理システムごとに(またはこれに代えて、サードパーティエンティティごとに)プロセスアクションを実行し得る。
【0319】
図8Aおよび
図8Bは、本開示の実施形態による、関連付けられたアクションキューに記憶された未処理のアクションを処理するように構成された実行されるアクションプロセスインスタンスを管理するための動作を例示している。例えば、
図8Aおよび
図8Bに描示される動作は、スケーリングサービス702を実行するためのハードウェアおよび/またはソフトウェアを含む本開示の実施形態によって実行され得る。特定の例として、
図8Aおよび
図8Bに例示される動作は、スケーリングサービス702などのスケーリングサービスを実行し、および/または他の方法で保守するための様々なハードウェア手段を利用して、装置300によって実行され得る。
図8Aおよび
図8Bに関して例示されるブロックは、描示されるように実行され得るか、または他の実施形態では、追加のブロック、代替ブロック、および/または描示されるよりも少ないブロックで、別の順序で実行され得ることを理解されたい。
【0320】
ブロック802で、装置300は、登録モジュール312、履行モジュール314、不正モジュール316、プロセッサ302などの、アクションキューと関連付けられたキュ
ー長最大閾値を識別するための手段を含む。アクションキューは、1つ以上の未処理のアクション、例えば、未処理の登録管理要求データオブジェクト、未処理の請求、および/または未処理のエラーエスカレーション要求を記憶するように構成され得る。装置300は、未処理のアクションと関連付けられた1つ以上のアクションキューを保守するか、または他の方法で制御するように構成され得る。いくつかの実施形態では、キュー長最大閾値は、装置300によってなど事前決定されている。いくつかの実施形態では、装置300は、様々な要因に基づいてキュー長最大閾値を決定するように構成される。例えば、装置300は、サーバ負荷、アクションキューと関連付けられたキュー長、時間、日付など、またはそれらの任意の組み合わせに基づいて、キュー長最大閾値を決定し得る。
【0321】
ブロック804で、装置300は、登録モジュール312、履行モジュール314、不正モジュール316、プロセッサ302などの、アクションキューと関連付けられたキュー長を識別するための手段を含む。いくつかの実施形態では、装置300は、キュー長を決定するために、アクションキュー内の未処理のアクションの数を合計するように構成される。他の実施形態では、装置300は、アクションが1つ以上の実行されるアクションプロセスインスタンスによってなどアクションキューから処理され、および新たな未処理のアクションがキューに挿入されるときに、キュー長を保守する。
【0322】
ブロック806で、装置300は、登録モジュール312、履行モジュール314、不正モジュール316、プロセッサ302などの、キュー長およびキュー長最大閾値に基づいて最大キュー関係結果データオブジェクトを識別するための手段を含む。最大キュー関係結果データは、特定の最大キュー関係が満たされているかどうかを示し得る。最大キュー関係は、キュー長とキュー長最大閾値との比較を表し得る。したがって、いくつかの実施形態では、最大キュー関係は、キュー長がキュー長最大閾値未満である場合、キュー長が、キュー長最大閾値に等しいか、またはキュー長最大閾値を超えている場合に満たされ得る。
【0323】
ブロック808で、装置300は、登録モジュール312、履行モジュール314、不正モジュール316、プロセッサ302などの、最大キュー関係結果データオブジェクトが、最大キュー関係が満たされていることを示すかどうかを決定するための手段を含む。特定の例では、最大キュー関係結果データオブジェクトは、キュー長がキュー長最大閾値を超えている場合に最大キューが満たされていることを示す。別の例示的な実施形態では、最大キュー関係結果データオブジェクトは、キュー長がキュー長最大閾値に等しいか、またはキュー長がキュー長最大閾値を超えている場合に最大キュー関係が満たされていることを示す。最大キュー関係が満たされている場合、本開示の実施形態は、以下に記載されるように、実行されるアクションプロセスインスタンスの数を増加させることによってなど、実行される処理インスタンスと関連付けられた合計の処理を増加させることを試み得る。
【0324】
最大キュー関係結果データオブジェクトが、最大キュー関係が満たされていることを示す場合、フローは、ブロック810に続く。ブロック810で、装置300は、登録モジュール312、履行モジュール314、不正モジュール316、プロセッサ302などの、実行されるインスタンス数を識別するための手段を含む。いくつかの実施形態では、装置300は、新たなアクションプロセスインスタンスが実行され、および実行されるプロセスインスタンスが終了されるときに、実行されるインスタンス数を保守するように構成される。いくつかの実施形態では、装置300は、すべての実行されるプロセスインスタンスを含む実行されるプロセスインスタンスリストを保守し、かつ実行されるプロセスインスタンスリストに基づいて、実行されるインスタンス数を識別するように構成される。
【0325】
ブロック812で、装置300は、登録モジュール312、履行モジュール314、不
正モジュール316、プロセッサ302などの、アクションプロセスインスタンスカウント最大値を識別するための手段を含む。いくつかの実施形態では、アクションプロセスインスタンスカウント最大値は、装置300によってなど事前決定される。いくつかの実施形態では、装置300は、アクションプロセスインスタンスカウント最大値を決定するように構成される。装置300は、いくつかの実施形態では、サーバ負荷、アクションキューと関連付けられたキュー長、時間、日付、利用可能な処理リソースなど、またはそれらの任意の組み合わせなどの様々な要因に基づいて、アクションプロセスインスタンスカウント最大値を決定し得る。
【0326】
いくつかの実施形態では、装置300は、実行されるアクションプロセスインスタンスと関連付けられた合計の処理速度を識別するための手段を含む。合計の処理速度は、サードパーティシステムと関連付けられたアプリケーションプログラミングインターフェース(API)を介したトランザクションの数を表す。装置300は、合計の処理速度が、決定された、または事前定義された許容閾値を超えないように、合計の処理速度に基づいてアクションプロセスインスタンスカウント最大値を決定し得る。例えば、合計の処理速度は、単位時間あたりのAPIトランザクションの許容閾値を超えなくてもよい。
【0327】
装置300は、未処理のアクションと関連付けられた1つ以上のアクションキューを保守するか、または他の方法で制御するように構成され得る。いくつかの実施形態では、キュー長最大閾値は、装置300によってなど事前決定される。いくつかの実施形態では、装置300は、様々な要因に基づいてアクションプロセスインスタンスカウント最大値を決定するように構成される。例えば、装置300は、サーバ負荷、実行される処理インスタンスと関連付けられた現在の合計の処理速度、および/または関連付けられた許容閾値、アクションキューと関連付けられたキュー長、時間、日付など、またはそれらの任意の組み合わせに基づいて、アクションプロセスインスタンスカウント最大値を決定し得る。
【0328】
ブロック814で、装置300は、登録モジュール312、履行モジュール314、不正モジュール316、プロセッサ302などの、実行されるインスタンス数およびアクションプロセスインスタンスカウント最大値に基づいて最大プロセスインスタンス関係結果データオブジェクトを識別するための手段を含む。
【0329】
最大プロセスインスタンス関係結果データオブジェクトは、実行されるインスタンス数とアクションプロセスインスタンスカウント最大値との比較に基づいて識別され得る。したがって、いくつかの実施形態では、最大プロセスインスタンス関係結果データオブジェクトは、最大プロセスインスタンス関係が満たされているかどうかを示し得る。最大プロセスインスタンス関係は、実行されるインスタンス数とアクションプロセスインスタンスカウント最大値との比較を表し得る。例えば、いくつかの実施形態では、実行されるインスタンス数がアクションプロセスインスタンスカウント最大値未満である場合、または実行されるインスタンス数がアクションプロセスインスタンスカウント最大値に等しい場合に、最大プロセスインスタンス関係が満たされる。
【0330】
ブロック816で、装置300は、登録モジュール312、履行モジュール314、不正モジュール316、プロセッサ302などの、最大プロセスインスタンス関係結果データオブジェクトが、最大プロセスインスタンス関係が満たされていることを示すかどうかを決定するための手段を含む。特定の例示的な実施形態では、最大プロセスインスタンス関係は、実行されるインスタンス数がアクションプロセスインスタンスカウント最大値未満である場合に満たされる。いくつかの実施形態では、最大プロセスインスタンス関係結果データオブジェクトが、最大プロセスインスタンス関係が満たされていることを示す場合、新たなアクションプロセスインスタンスが実行され得る。
【0331】
ブロック818で、装置300は、登録モジュール312、履行モジュール314、不正モジュール316、プロセッサ302などの、新たなアクションプロセスインスタンスを実行するための手段を含む。いくつかの実施形態では、新たなアクションプロセスインスタンスは、処理リソースを新たなアクションプロセスインスタンスに割り当てることによって実行され、割り当てられた処理リソースが、アクションキュー内の1つ以上の未処理のアクションを処理するために利用されるようになる。特定の例では、装置300は、1つ以上の事前構成されたプロセススレッドを有する新たなアクションプロセスインスタンスを作成するように構成される。プロセススレッドは、アクションキューに記憶された未処理のアクションを処理するための1つ以上のプロトコルを実行するように構成され得る。
【0332】
判定816で、最大プロセスインスタンス関係結果データオブジェクトが、最大プロセスインスタンス関係が満たされていないことを示す場合、フローは、ブロック820に続く。いくつかの実施形態では、例えば、最大プロセスインスタンス関係は、実行されるインスタンス数がプロセスインスタンスカウント最大値に等しいことを示す場合、最大プロセスインスタンス関係は、満たされていない。
【0333】
ブロック820で、装置300は、登録モジュール312、履行モジュール314、不正モジュール316、プロセッサ302などの、さらなる処理を待機するための手段を含む。いくつかの実施形態では、装置300は、事前決定された時間長さを待機するように構成される。他の実施形態では、装置300は、次の処理サイクルまたはクロックサイクルまで待機するように構成される。
【0334】
判定808に戻ると、最大キュー関係結果データオブジェクトが、最大キュー関係が満たされていないことを示していると装置が判断した場合、フローは、
図8Bのブロック822に続く。例示的な実施形態では、最大キュー関係が、キュー長がキュー長最大閾値に等しいか、またはキュー長最大閾値を超えていることを示す場合、最大キュー関係は、キュー長最大閾値を満たしていない。
【0335】
ブロック822で、装置300は、登録モジュール312、履行モジュール314、不正モジュール316、プロセッサ302などの、アクションキューと関連付けられたキュー長最小閾値を識別するための手段を含む。いくつかの実施形態では、キュー長最小閾値は、装置300によってなど事前決定される。いくつかの実施形態では、装置300は、様々な要因に基づいてキュー長最小閾値を決定するように構成される。例えば、装置300は、サーバ負荷、アクションキューと関連付けられたキュー長、時間、日付など、またはそれらの任意の組み合わせに基づいて、キュー長最小閾値を決定し得る。
【0336】
ブロック824で、装置300は、登録モジュール312、履行モジュール314、不正モジュール316、プロセッサ302などの、キュー長およびキュー長最小閾値に基づいて最小キュー関係結果データオブジェクトを識別するための手段を含む。最小キュー関係結果データオブジェクトは、キュー長とキュー長最小閾値との比較に基づいて識別され得る。最小キュー関係結果データオブジェクトは、最小キュー関係が満たされているかどうかを示し得る。最小キュー関係は、キュー長とキュー長最小閾値との間の比較を表し得る。したがって、いくつかの実施形態では、最小キュー関係は、キュー長がキュー長最小閾値未満である(またはこれ以下である)、キュー長が、キュー長最小閾値に等しいか、またはキュー長最小閾値を超えている/これよりも大きい(またはこれ以上である)場合に満たされ得る。
【0337】
ブロック826で、装置300は、登録モジュール312、履行モジュール314、不正モジュール316、プロセッサ302などの、最小キュー関係結果データオブジェクト
が、最小キュー関係が満たされていることを示すかどうかを決定するための手段を含む。特定の例では、最小キュー関係結果データオブジェクトは、キュー長がキュー長最小閾値未満である場合に最小キュー関係が満たされていることを示す。別の例示的な実施形態では、最小キュー関係結果データオブジェクトは、キュー長がキュー長最小閾値未満である場合、または最小キュー関係が、キュー長がキュー長最小閾値に等しいことを示す場合に、最小キュー関係が満たされていることを示す。最小キュー関係結果データオブジェクトが、最小キュー関係が満たされていることを示す場合、本開示のいくつかの実施形態は、以下に記載されるように、実行されるアクションプロセスの数を減少させることによってなど、処理リソースを節約し、かつ実行される処理インスタンスと関連付けられた合計の処理を減少させることを試み得る。最小キュー関係結果データオブジェクトが、最小キュー関係が満たされていないことを示す場合、フローは、さらなる処理を待機するためにブロック838を継続し得る。
【0338】
最小キュー関係結果データオブジェクトが、最小キュー関係が満たされていることを示す場合、判定826で、フローは、ブロック828に続く。ブロック828で、装置300は、登録モジュール312、履行モジュール314、不正モジュール316、プロセッサ302などの、実行されるインスタンス数を識別するための手段を含む。ブロック810に関して上述したように、いくつかの実施形態では、装置300は、新たなアクションプロセスインスタンスが実行され、および実行されるプロセスインスタンスが終了されるときに、実行されるインスタンス数を保守するように構成される。いくつかの実施形態では、装置300は、すべての実行されるプロセスインスタンスを含む実行されるプロセスインスタンスリストを保守し、かつ実行されるプロセスインスタンスリストに基づいて、実行されるインスタンス数を識別するように構成される。
【0339】
ブロック830で、装置300は、登録モジュール312、履行モジュール314、不正モジュール316、プロセッサ302などの、アクションプロセスインスタンスカウント最小値を識別するための手段を含む。いくつかの実施形態では、アクションプロセスインスタンスカウント最小値は、装置300によってなど事前決定される。いくつかの実施形態では、装置300は、アクションプロセスインスタンスカウント最小値を決定するように構成される。装置300は、いくつかの実施形態では、サーバ負荷、アクションキューと関連付けられたキュー長、時間、日付、利用可能な処理リソースなど、またはそれらの任意の組み合わせなどの様々な要因に基づいて、アクションプロセスインスタンスカウント最小値を決定し得る。
【0340】
いくつかの実施形態では、装置300は、ブロック812に関して上述したように、実行されるアクションプロセスインスタンスと関連付けられた合計の処理速度を識別するための手段を含む。合計の処理速度は、単位時間あたりにサードパーティシステムと関連付けられたAPIを介して実行されるトランザクションの数を表す。装置300は、合計の処理速度が、決定された、または事前定義されたより低い閾値を下回らないように、合計の処理速度に基づいてアクションプロセスインスタンスカウント最小値を決定し得る。
【0341】
装置300は、未処理のアクションと関連付けられた1つ以上のアクションキューを保守するか、または他の方法で制御するように構成され得る。いくつかの実施形態では、アクションプロセスインスタンスカウント最小値は、装置300によってなど事前決定される。いくつかの実施形態では、アクションプロセスインスタンスカウント最小値は、様々な要因に基づいてアクションプロセスインスタンスカウント最小値を決定するように構成される。例えば、装置300は、サーバ負荷、実行される処理インスタンスと関連付けられた現在の合計の処理速度、および/または関連付けられたより低い閾値、アクションキューと関連付けられたキュー長、時間、日付など、またはそれらの任意の組み合わせに基づいて、アクションプロセスインスタンスカウント最小値を決定し得る。
【0342】
ブロック832で、装置300は、登録モジュール312、履行モジュール314、不正モジュール316、プロセッサ302などの、実行されるインスタンス数およびアクションプロセスインスタンスカウント最小値に基づいて最小プロセスインスタンス関係結果データオブジェクトを識別するための手段を含む。最小プロセスインスタンス関係データオブジェクトは、最小プロセスインスタンス関係が満たされているかどうかを示し得る。最小プロセスインスタンス関係は、実行されるインスタンス数とアクションプロセスインスタンスカウント最小値との比較を表し得る。したがって、いくつかの実施形態では、最小プロセスインスタンス関係は、実行されるインスタンス数がアクションプロセスインスタンスカウント最小値よりも大きい場合、またはアクションプロセスインスタンスカウント最小値がアクションプロセスインスタンスカウント最小値に等しい場合に、満たされ得る。
【0343】
ブロック834で、装置300は、登録モジュール312、履行モジュール314、不正モジュール316、プロセッサ302などの、最小プロセスインスタンス関係結果データオブジェクトが、最小プロセスインスタンス関係が満たされていることを示すかどうかを決定するための手段を含む。特定の例示的な実施形態では、最小プロセスインスタンス関係結果データオブジェクトは、実行されるインスタンス数がアクションプロセスインスタンスカウント最小値よりも大きい場合に最小プロセスインスタンス関係が満たされていることを示す。いくつかの実施形態では、最小プロセスインスタンス関係結果データオブジェクトが、最小プロセスインスタンス関係が満たされていることを示すと装置が決定した場合、現在実行されているアクションプロセスインスタンスは終了され、消去され、またはその他の方法で処理を停止する。
【0344】
ブロック836において、装置300は、登録モジュール312、履行モジュール314、不正モジュール316、プロセッサ302などの、選択された実行されるアクションプロセスインスタンスを終了するための手段を含む。いくつかの実施形態では、装置300は、様々な要因に基づいて、非初期化のための実行されるアクションプロセスインスタンスを選択する。例えば、実行されるアクションプロセスインスタンスは、先入り順(例えば、最新のまたは最も古いインスタンスが最初に終了される)、処理リソース量(例えば、最も多いリソースが最初に終了されるか、最も少ないリソースが最初に終了されるか、または計算に基づく)などに基づいて、終了されるか、または非初期化され得る。
【0345】
判定834で、最小プロセスインスタンス関係結果データオブジェクトが、最小プロセスインスタンス関係が満たされていないことを示す場合、フローは、ブロック838に続く。いくつかの実施形態では、最小プロセスインスタンス関係は、実行されるインスタンス数がプロセスインスタンスカウント最小値に等しいことを示す場合、最小プロセスインスタンス関係は、満たされていない。
【0346】
ブロック838で、装置300は、登録モジュール312、履行モジュール314、不正モジュール316、プロセッサ302などの、さらなる処理を待機するための手段を含む。ブロック820と同様に、装置300は、事前決定された時間長さを待機するように構成され得る。他の実施形態では、装置300は、次の処理サイクルまたはクロックサイクルまで待機するように構成される。
【0347】
図8Aおよび
図8Bに描示される動作を実行することによって、本開示の実施形態は、キュー長に基づいて、実行されるアクションプロセスインスタンスを管理することによって、コンピューティングリソースを割り当てることと関連付けられた効率を高め得る。これに加えて、本開示の実施形態は、定義された、または決定されたパラメータ内にコンピューティングリソースを効率的に割り当て得る(例えば、合計の処理がAPIトランザク
ションの許容最大閾値を超えるように、実行されるアクションプロセスインスタンスを増加させることなく)。
【0348】
結論
いくつかの実施形態では、上記のフローチャートおよびデータフロー図に関する上記の動作のうちのいくつかは、変更され得るか、またはさらに拡張され得る。さらに、いくつかの実施形態では、追加の任意での動作が含まれ得る。上記の動作に対する変更、拡張、または追加は、任意の順序および任意の組み合わせで実行され得る。例えば、いくつかの実施形態では、例示された図面のいくつかまたはすべてのステップは、上述の手順とは異なる手順で実行される。
【0349】
本明細書に述べた本開示の多くの変更例および他の実施形態は、前述の説明および関連付けられた図面に提示された教示の恩恵を受けて、これらの発明が関係する当業者に思い浮かぶであろう。したがって、本開示は、開示された特定の実施形態に限定されるものではなく、変更および他の実施形態は添付の特許請求の範囲の範囲内に含まれることが意図されることを理解されたい。さらに、前述の説明および関連する図面は、要素および/または機能の特定の例示的な組み合わせを背景として例示的な実施形態を説明しているが、代替の実施形態によって、添付の特許請求の範囲の範囲から逸脱することなく、要素および/または機能の異なる組み合わせを提供し得ることを認識されたい。これに関連して、例えば、添付の特許請求の範囲のいくつかに記載されているように、上記で明示的に説明されたものとは異なる要素および/または機能の組み合わせも企図される。本明細書では特定の用語が用いられているが、それらは一般的かつ説明的な意味でのみ使用されており、限定を目的としていない。