JP7250121B2 - クラウドデグレードモードにおいてデバイス動作信頼性を継続的に確保するための方法および装置 - Google Patents

クラウドデグレードモードにおいてデバイス動作信頼性を継続的に確保するための方法および装置 Download PDF

Info

Publication number
JP7250121B2
JP7250121B2 JP2021519613A JP2021519613A JP7250121B2 JP 7250121 B2 JP7250121 B2 JP 7250121B2 JP 2021519613 A JP2021519613 A JP 2021519613A JP 2021519613 A JP2021519613 A JP 2021519613A JP 7250121 B2 JP7250121 B2 JP 7250121B2
Authority
JP
Japan
Prior art keywords
communication device
network
data
heartbeat
perform
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021519613A
Other languages
English (en)
Other versions
JP2022504548A (ja
Inventor
ヒース,タリバー
ハリソン,ケイト
バーギース,マシュー
ヨギースワラン,カーシック
シュエン,イー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2022504548A publication Critical patent/JP2022504548A/ja
Priority to JP2023044054A priority Critical patent/JP2023078322A/ja
Application granted granted Critical
Publication of JP7250121B2 publication Critical patent/JP7250121B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0859Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]

Description

本開示は、クラウドデグレードモード(cloud-degraded mode)におけるネットワーク接続されたデバイスの高信頼性動作に関する。
背景
モノのインターネット(IoT)デバイスおよび他のデバイスをサポートするために非常に高度の動作信頼性を必要とするクラウドサービスがある。デバイスは、進行中であったタスクまたは動作をデバイスが確実に実行し続けることができるように、クラウド環境からのハートビート(キープアライブ信号とも呼ばれる)の返信を必要とする傾向がある。デバイスがクリティカルになる点で、クラウドサービスが全システムの信頼性の大部分になるという問題が生じる。
クラウドサービスの信頼性を高める方法の1つは、システム全体を2つ以上の場所で複製してN+1の冗長性を効果的に提供することである。しかしながら、この技術は管理が困難であり、2つのシステム間の完全な一貫性は複雑かつ高価であり得る。
概要
1次クラウドネットワークなどの1次ネットワークは1つ以上のサーバなどのネットワークデバイスを含み、ネットワークデバイスは、1次ネットワークと通信するさまざまなデバイスについてのデバイス状態データを格納する。たとえば、デバイスは、モノのインターネット(IoT)デバイス、無線基地局、エンドユーザデバイス(無線モバイルデバイスおよび有線デバイス)、またはその他のデバイスを含む。一例における、2次クラウドネットワークなどの2次ネットワーク内の1つ以上のサーバなどのバックアップネットワークデバイスは、より小さいシステムであり、1次ネットワークが保持する状態データのサブセットをバックアップする。いくつかの実現例では、2次ネットワーク内のバックアップデバイスは、1次ネットワークから取得される有効なハートビート確認データ(キープアライブ信号データ)のコピーを保持する。一例では、キープアライブ信号データのみが2次ネットワークによってバックアップされる。しかしながら、ハートビート確認データとも呼ばれるキープアライブデータのバックアップを含む限り、デバイス状態データの任意のサブセットがバックアップされればよい。
いくつかの実現例では、システムは、1次クラウドインフラストラクチャ内の1つ以上のサーバによって提供される1次サービスと、2次クラウドインフラストラクチャ内のバックアップデバイスを通して維持されるハートビート専用システム(heartbeat-only system)(HBO)とによって構成される。2次ネットワークは、1次ネットワークに関連して発生する故障状態の間に用いられる。いくつかの実現例におけるシステム、方法、および装置では、故障状態の前、間、または後に無効化エージェントがハートビート確認データを無効にすることもできる。
ハートビート確認データは、デバイスが1次クラウドとの動作の継続を許可されていることを示すデータである。一例では、ハートビート確認データが2次ネットワーク内のテーブルに格納されることにより、第2のシステムは、完全に書き換えられたソフトウェアサービスがなくても最大分離(maximum separation)を提供することができる。これにより、複数のクラウドインフラストラクチャにまたがる状態データの完全な一貫したコピーが常になくても、およびクラウドネットワークの一部にわたって信頼性を確保するためのより小さい独立したサービスがなくても、1次ネットワークの故障状態中でもIoTデバイスまたは他のデバイスの一貫した動作を維持することができる。ハートビートの提供は、場合によっては静的ウェブページハンドラと言えるほど、大幅に単純化された状態で再現され得る。しかしながら、任意の適切な動作を使用してハートビートを提供すればよい。1次クラウドシステムによってデバイスハートビート確認データで更新される2次クラウドシステムにより、一貫した状態を維持することが大幅に単純化される。
本開示の態様は、クラウドデグレードモードにおけるネットワーク接続されたデバイスの高信頼性動作を提供する。本開示の一態様は、第1のネットワークと通信するように適合された通信デバイスの動作信頼性を提供するための方法を提供する。通信デバイスと第1のネットワークのネットワークデバイスとの間の通信を妨げるネットワーク故障状態が存在する場合、上記方法は、2次ネットワークのデータ処理ハードウェアにおいて、上記通信デバイスがデバイス動作を実行してもよいという許可を求めるハートビート要求を上記通信デバイスから受信することを含む。上記方法は、上記データ処理ハードウェアが、上記通信デバイスに対応付けられたデバイス状態データを取得することをさらに含む。上記方法は、上記データ処理ハードウェアが、上記通信デバイスに対応付けられた上記デバイス状態データに基づいて、上記通信デバイスが上記デバイス動作の実行を許可されているか否かを判断することをさらに含む。上記通信デバイスが上記デバイス動作の実行を許可されている場合、上記方法は、上記データ処理ハードウェアが、上記通信デバイスにハートビート確認信号を送信することをさらに含む。上記ハートビート確認信号は上記通信デバイスが上記デバイス動作を実行することを許可する。
本開示の実現例は、以下の任意の特徴のうちの1つ以上を含んでもよい。上記デバイス状態データを取得することは、上記通信デバイスに対応付けられた上記デバイス状態データを上記第1のネットワークの上記ネットワークデバイスから受信することを含んでもよい。いくつかの実現例では、上記通信デバイスから上記ハートビート要求を受信する前に上記デバイス状態データを受信した場合、および上記ネットワーク故障状態が存在しない場合、上記方法は、上記デバイス状態データをバックアップデータストアに格納することと、上記通信デバイスを識別するデバイス識別子を用いて上記バックアップデータストアから上記デバイス状態データを取り出すことと、上記通信デバイスを上記バックアップデータストアに格納された上記デバイス状態データに対応付けることとを含む。いくつかの例では、上記通信デバイスが上記デバイス動作の実行を許可されているか否かを判断することは、上記デバイス状態データがハートビート確認データを含むか否かを判断することを含む。上記ハートビート確認データは、上記通信デバイスが上記動作を実行してもよいという上記第1のネットワークの上記ネットワークデバイスからの許可を示してもよい。上記デバイス状態データがハートビート確認データを含む場合、上記方法は、上記通信デバイスが上記デバイス動作の実行を許可されていると判断することを含んでもよい。上記デバイス状態データがハートビート確認データを含まない場合、上記方法は、上記通信デバイスが上記ハートビート確認信号の受信を許可されていないと判断することを含んでもよい。いくつかの例では、上記方法は、上記デバイス状態データがハートビート確認データを含まない場合、上記通信デバイスへの上記ハートビート確認信号の送信を防止することによって、上記通信デバイスが上記デバイス動作を実行しないようにすることを含む。
いくつかの実現例では、上記通信デバイスが上記デバイス動作の実行を許可されていると判断することは、上記通信デバイスが上記デバイス動作を実行する能力を無効にする無効化データを上記デバイス状態データが含むか否かを判断することを含む。これらの実現例では、上記デバイス状態データがハートビート確認データを含み無効化データを含まない場合、上記方法は、上記通信デバイスが上記デバイス動作の実行を許可されていると判断することを含む。しかし、上記デバイス状態データが無効化データおよびハートビート確認データを含む場合は、上記方法は、上記通信デバイスが上記デバイス動作を実行してもよいという許可を取り消すことと、上記通信デバイスへの上記ハートビート確認信号の送信を保留することによって、上記通信デバイスが上記動作を実行しないようにすることとを含んでもよい。上記無効化データは、上記通信デバイスのソフトウェア更新が必要であること、上記通信デバイスが契約上の合意に従っていないこと、および/または上記通信デバイスが上記デバイス動作を実行するために必要なリソースを上記通信デバイスが利用できないことを示してもよい。
いくつかの例では、上記第1のネットワークの上記ネットワークデバイスは、上記ネットワーク故障状態の前に、上記通信デバイスに対応付けられたデバイス状態データを上記データ処理ハードウェアにプッシュするように構成される。これに加えてまたはこれに代えて、上記第1のネットワークの上記ネットワークデバイスは、上記データ処理ハードウェアによるプル動作に応答して、上記通信デバイスに対応付けられた上記デバイス状態データを送信するように構成されてもよい。上記デバイス状態データは、上記通信デバイスを識別するデバイス識別子、上記通信デバイスが上記デバイス動作を実行する能力を無効にする無効化データ、上記通信デバイスに対応付けられた動作信頼性情報、支払状況、上記通信デバイスが組織メタデータを更新する能力、および/または全体的な環境の健全性の集約計算(aggregation calculation of overall environment health)を含んでもよい。
上記ネットワーク故障状態が存在しない場合、上記通信デバイスは、上記第1のネットワークの上記ネットワークデバイスにデバイス動作の実行の許可を求める上記ハートビート要求を送信するように構成されてもよく、上記第1のネットワークの上記ネットワークデバイスは、上記通信デバイスに上記ハートビート確認信号を送信するように構成されてもよい。上記ネットワークデバイスは、上記通信デバイスに送信された上記ハートビート確認信号を含むように、上記通信デバイスに対応付けられた上記デバイス状態データを更新するようにさらに構成されてもよい。いくつかの実現例では、上記通信デバイスが上記第1のネットワークの上記ネットワークデバイスにハートビート要求を送信してから閾値期間内に上記ネットワークデバイスからハートビート確認信号を受信しない場合、上記ネットワーク故障状態が存在する。上記通信デバイスは、モノのインターネット(IoT)デバイス、温度センサ、無線基地局、モバイルデバイス、および/またはスマートアプライアンスを含んでもよい。
本開示の別の態様は、クラウドデグレードモードにおけるネットワーク接続されたデバイスの高信頼性動作のためのシステムを提供する。本開示の一態様は、バックアップネットワークのデータ処理ハードウェアと、上記データ処理ハードウェアと通信するメモリハードウェアとを含む。上記メモリハードウェアは、上記データ処理ハードウェア上で実行されると上記データ処理ハードウェアに動作を実行させる命令を格納してもよい。通信デバイスと第1のネットワークのネットワークデバイスとの間の通信を妨げるネットワーク故障状態が存在する場合、上記動作は、上記通信デバイスからハートビート要求を受信すること含む。上記ハートビート要求は、上記通信デバイスがデバイス動作を実行してもよいという許可を求める。上記動作は、上記通信デバイスに対応付けられたデバイス状態データを取得することと、上記通信デバイスに対応付けられた上記デバイス状態データに基づいて、上記通信デバイスが上記デバイス動作の実行を許可されているか否かを判断することとをさらに含む。上記通信デバイスが上記デバイス動作の実行を許可されている場合、上記動作は上記通信デバイスにハートビート確認信号を送信することを含む。上記ハートビート確認信号は上記通信デバイスが上記デバイス動作を実行することを許可する。
本開示の実現例は、以下の任意の特徴のうちの1つ以上を含んでもよい。上記デバイス状態データを取得することは、上記通信デバイスに対応付けられた上記デバイス状態データを上記第1のネットワークの上記ネットワークデバイスから受信することを含んでもよい。いくつかの実現例では、上記通信デバイスから上記ハートビート要求を受信する前に上記デバイス状態データを受信した場合、および上記ネットワーク故障状態が存在しない場合、上記動作は、上記デバイス状態データをバックアップデータストアに格納することと、上記通信デバイスを識別するデバイス識別子を用いて上記バックアップデータストアから上記デバイス状態データを取り出すことと、上記通信デバイスを上記バックアップデータストアに格納された上記デバイス状態データに対応付けることとを含む。いくつかの例では、上記通信デバイスが上記デバイス動作の実行を許可されているか否かを判断することは、上記デバイス状態データがハートビート確認データを含むか否かを判断することを含む。上記ハートビート確認データは、上記通信デバイスが上記デバイス動作を実行してもよいという上記第1のネットワークの上記ネットワークデバイスからの許可を示してもよい。上記デバイス状態データがハートビート確認データを含む場合、上記動作は、上記通信デバイスが上記デバイス動作の実行を許可されていると判断することを含んでもよい。上記デバイス状態データがハートビート確認データを含まない場合、上記動作は、上記通信デバイスが上記ハートビート確認信号の受信を許可されていないと判断することを含んでもよい。上記動作は、上記デバイス状態データがハートビート確認データを含まない場合、上記通信デバイスへの上記ハートビート確認信号の送信を防止することによって、上記通信デバイスが上記デバイス動作を実行しないようにすることを含んでもよい。
いくつかの実現例では、上記通信デバイスが上記デバイス動作の実行を許可されていると判断することは、上記通信デバイスが上記デバイス動作を実行する能力を無効にする無効化データを上記デバイス状態データが含むか否かを判断することを含む。これらの実現例では、上記デバイス状態データがハートビート確認データを含み無効化データを含まない場合、上記動作は、上記通信デバイスが上記デバイス動作の実行を許可されていると判断することとを含む。しかし、上記デバイス状態データが無効化データおよびハートビート確認データを含む場合は、上記動作は、上記通信デバイスが上記デバイス動作を実行してもよいという許可を取り消すことと、上記通信デバイスへの上記ハートビート確認信号の送信を保留することによって、上記通信デバイスが上記動作を実行しないようにすることとを含んでもよい。上記無効化データは、上記通信デバイスのソフトウェア更新が必要であること、上記通信デバイスが契約上の合意に従っていないこと、および/または上記通信デバイスが上記デバイス動作を実行するために必要なリソースを上記通信デバイスが利用できないことを示してもよい。
いくつかの例では、上記第1のネットワークの上記ネットワークデバイスは、上記ネットワーク故障状態の前に、上記通信デバイスに対応付けられたデバイス状態データを上記データ処理ハードウェアにプッシュするように構成される。これに加えてまたはこれに代えて、上記第1のネットワークの上記ネットワークデバイスは、上記データ処理ハードウェアによるプル動作に応答して、上記通信デバイスに対応付けられた上記デバイス状態データを送信するように構成されてもよい。上記デバイス状態データは、上記通信デバイスを識別するデバイス識別子、上記通信デバイスが上記デバイス動作を実行する能力を無効にする無効化データ、上記通信デバイスに対応付けられた動作信頼性情報、支払状況、上記通信デバイスが組織メタデータを更新する能力、および/または全体的な環境の健全性の集約計算を含んでもよい。
上記ネットワーク故障状態が存在しない場合、上記通信デバイスは、上記第1のネットワークの上記ネットワークデバイスに上記ハートビート要求を送信するように構成されてもよく、上記第1のネットワークの上記ネットワークデバイスは、上記通信デバイスに上記ハートビート確認信号を送信するように構成されてもよい。上記ネットワークデバイスは、上記通信デバイスに送信された上記ハートビート確認信号を含むように、上記通信デバイスに対応付けられた上記デバイス状態データを更新するようにさらに構成されてもよい。いくつかの実現例では、上記通信デバイスが上記第1のネットワークの上記ネットワークデバイスにハートビート要求を送信してから閾値期間内に上記ネットワークデバイスからハートビート確認信号を受信しない場合、上記ネットワーク故障状態が存在する。上記通信デバイスは、モノのインターネット(IoT)デバイス、温度センサ、無線基地局、モバイルデバイス、および/またはスマートアプライアンスを含んでもよい。
さまざまな図面における同様の参照符号は同様の要素を示す。
1次ネットワークおよび2次ネットワークを含むネットワークシステムの一例の概略図である。 図1のネットワークシステムの1次ネットワークにおいて使用されるネットワークデバイスの一例の概略図である。 図1のネットワークシステムの2次ネットワークにおいて使用されるバックアップデバイスの一例の概略図である。 1次ネットワークと通信するように適合された通信デバイスの動作信頼性を提供する方法のための動作の構成の一例のフローチャート図である。 1次ネットワークと通信するように適合された通信デバイスの動作信頼性を提供する方法のための動作の構成の一例のフローチャート図である。 1次ネットワークと通信するように適合された通信デバイスの動作信頼性を提供する方法のための動作の構成の一例のフローチャート図である。 コンピューティングデバイスの一例の概略図である。
詳細な説明
図1は、1次ネットワーク102および2次ネットワーク104を使用するネットワークシステム100の一例を示す。一例では、1次ネットワーク102は第1のプロバイダによって運営されるクラウドネットワークインフラストラクチャであり、2次ネットワーク104は異なるサービスプロバイダによって運営される異なるクラウドネットワークインフラストラクチャである。しかしながら、任意の適切なネットワーク構成を使用すればよい。さまざまな通信デバイス106、106a~eが、無線または有線インターフェースを介するなどの技術によって1次ネットワーク102に登録して1次ネットワーク102と通信する。5つの異なるタイプの通信デバイス106の例が示されているが、任意の数の通信デバイス106が任意の所定の時間に1次ネットワーク102に登録して1次ネットワーク102と通信すればよい。たとえば、一部の通信デバイス106a、106b、106eは、建物内の温度センサもしくはスマートアプライアンス、またはモバイルコンピューティングデバイス(たとえば、スマートフォン、タブレット、ウェアラブル等)など、モノのインターネット(IoT)デバイスまたはユーザ機器(UE)デバイスを含んでもよい。他の通信デバイス106c、106dは無線基地局を含んでもよい。示されている例では、通信デバイス106の各々が、インターネットプロトコル(IP)ベースの通信プロトコルまたはその他の適切なプロトコルを介して1次ネットワーク102と通信する。一例では、1つ以上の通信デバイス106は、インターネットベースのクラウドネットワークシステムの一部としてのドメインネームシステム(DNS)を介して1次ネットワーク102および2次ネットワーク104と通信することができる。1次ネットワーク102は1次ネットワークデバイス200を含む。ネットワークデバイス200(たとえば図1の1次ネットワークデバイス200)は、通信デバイス106のうちの1つ以上と通信するウェブサーバなどの1つ以上のサーバであってもよい。そのため、ネットワークデバイス200は、データ処理ハードウェア210と、データ処理ハードウェア210と通信するメモリハードウェア220とを含む。いくつかの例では、ネットワークデバイス200は、ウェブ登録サービス202などのソフトウェアアプリケーションまたはサービスを実行する。通信デバイス106はウェブ登録サービス202に登録して、通信デバイス106が進行中であったタスクまたは動作を実行し続けることを許可するハートビート確認信号126(ハートビート確認またはキープアライブ信号とも呼ばれる)を受信してもよい。通信デバイス106のすべては、すべてIoTタイプのデバイスなど、同じタイプであってもよく、またはスマートフォンおよび当該スマートフォンが通信のために使用することを望み得る無線基地局など、異なるタイプのデバイスのさまざまな組み合わせであってもよい。1次ネットワーク102の一例は市民ブロードバンド無線サービス(CBRS)システムを含むが、1次ネットワーク102は任意の適切なシステムであればよい。
IoTデバイス106aなどの通信デバイス106は、ネットワークデバイス200からのハートビート確認信号126の返信を要求するハートビート要求128を、1次ネットワーク102内のネットワークデバイス200(たとえばデータ処理ハードウェア210)に送信する。ハートビート確認信号126はハートビート確認データ118を含んでもよい。IoTデバイス106aがハートビート確認信号126を受信すると、IoTデバイス106aは、ネットワーク故障状態130が存在しないので、1次ネットワーク102との現在のタスクまたは動作を実行し続ける。通信デバイスとネットワークデバイス200との間のハートビート要求128およびハートビート確認信号126の通信は、少なくとも20秒に1回、240秒に1回、または任意の適切な期間中に1回発生し得る。いくつかの実現例では、サーバ200は、各特定の通信デバイス106に発行されたハートビート確認データ118を示すデバイス状態データ110を記録し、デバイス状態データ110を、当該特定の通信デバイス106に対応付けられたデバイス識別子(ID)114とともに、ネットワークデバイス200と通信するデバイス状態データストア212に格納する。いくつかの例では、デバイス状態データストア212は、ネットワークデバイス200のメモリハードウェア220上に存在する。デバイス状態データストア212に格納されるデバイス状態データ110は、1次ネットワーク102との現在のタスクまたは動作の実行に関連する情報を含む他の情報を含む。デバイス状態データ110は、支払状況、組織メタデータを更新する能力、全体的な環境の健全性の集約計算を表すデータ、および/またはその他の適切なデータを含み得るが、これらに限定されるものではない。IoTデバイス106aが、ハートビート要求128の発行に応答して対応するハートビート確認信号126を受信する限り、IoTデバイス106aは、自身が1次ネットワーク102との動作を継続可能であると理解している。しかし、たとえば1次ネットワーク102からハートビート確認信号126を受信しない場合は、IoTデバイス106aは1次ネットワーク102にネットワーク故障状態130が発生したと認識する。いくつかの例では、ハートビート要求128を発行/送信してから予め定められた期間内にハートビート確認信号126を受信しない場合、通信デバイス106はネットワーク故障状態130が存在すると認識する。
いくつかの例では、1次ネットワーク102は第1のプロバイダのクラウドネットワークである。クラウドネットワーク102(たとえば1次ネットワーク102(図1))は1次ネットワークデバイス200を含んでもよい。1次ネットワークデバイスはウェブ登録サービス202を実行してもよい。いくつかの例では、通信デバイスはウェブ登録サービス202に登録して1次ネットワーク102との動作を実行する。デバイス状態データ110は、通信デバイス106が1次クラウドネットワークとの動作を実行している間に格納される状態データであってもよい。たとえば、IoTデバイス106aがCBRSシステム内で通信するモバイルデバイスであり、1次ネットワーク102がCBRSシステムのスペクトル分析システム(SAS)に対応する場合、IoTデバイス106aは、1次ネットワーク102の1次ネットワークデバイス200にハートビート要求128を送信し、IoTデバイス106aが1次ネットワーク102と通信可能であることを示す対応するハートビート確認信号126を受信してもよい。そのため、1次ネットワーク102のネットワークデバイス200は、ハートビート確認データ118を、対応するデバイスID114を介してIoTデバイス106aにリンクされるデバイス状態データ110としてデバイス状態データストア212に格納してもよく、それによって、デバイス状態データ110は、1次ネットワーク102内のIoTデバイス106aの動作インスタンスが適切であることを示す。すなわち、IoTデバイス106aはウェブ登録サービス202に適切に登録される。
いくつかの例では、2次ネットワーク104はバックアップネットワークデバイス300を含む。バックアップネットワークデバイス300は、フォールバックネットワークデバイス300、バックアップデバイス300、またはミラーネットワークデバイス300と呼ばれることもある。ネットワークデバイス300は、通信デバイス106のうちの1つ以上と通信するウェブサーバなどの1つ以上のサーバであってもよい。そのため、バックアップネットワークデバイス300は、データ処理ハードウェア310と、データ処理ハードウェア310と通信するメモリハードウェア320とを含む。メモリハードウェア320は、データ処理ハードウェア310上で実行されるとデータ処理ハードウェア310にフローチャート400、500、および600(図4~図6)に関して説明するような動作を実行させる命令を格納してもよい。この例では、2次ネットワーク104のバックアップネットワークデバイス300は、1次ネットワークデバイス200によって1次ネットワーク102のデータストア212に格納されているデバイス状態データ110のサブセットを格納またはミラーリングする。1次ネットワーク102から取得した状態データ110のサブセットは、バックアップネットワークデバイス300によってバックアップされ、バックアップ済みデバイス状態データ110として図1に示されている。したがって、ネットワークデバイス300は、たとえば、通信デバイス106によって認識されるような、1次ネットワーク102に対応付けられたネットワーク故障状態130の間に、デバイス状態データ110のサブセットのためのバックアップデバイスまたはフォールバックデバイスとして機能する。状態データ110のサブセットは、クラウド内で実行されるアプリケーションのクラウドインスタンスに対応付けられたバックアップ動作の一部として2次ネットワーク104にプッシュされるまたは2次ネットワーク104によってプルされるなど、任意の適切なメカニズムを介して1次ネットワーク102によって提供される。バックアップデバイス300上で実行されるソフトウェアアプリケーションがバックアップ動作を実行してもよい。この例では、2次ネットワーク104は1次ネットワーク102のクラウドネットワークよりも小さいクラウドネットワークであるため、バックアップシステムのコストおよび動作の複雑さが低下する。また、2次ネットワーク104内のバックアップデバイス300は、1次ネットワーク102と通信しているデバイスの各々について1次ネットワーク102によって保持される状態データ110のサブセットのみをバックアップするので、ストレージコストおよび動作の複雑さが低下する。たとえば、2次ネットワーク104は、通信デバイス106が新たに登録することを許可しない場合がある。すなわち、いくつかの実現例では、バックアップデバイス300はウェブ登録サービスを実行しない。
ネットワークシステム100は無効化エージェント120(たとえばハートビート無効化エージェント120(図1))をさらに含み、無効化エージェント120は、1次ネットワーク102および2次ネットワーク104に関して通信デバイス106を無効にすることが認可されている任意の適切なデバイスであればよい。無効化エージェント120は、対応する無効化データ124、124aを1次ネットワーク102に対応付けられた1次ネットワークデバイス200に提供してもよく、および/または対応する無効化データ124、124bを2次ネットワーク104に対応付けられたバックアップデバイス300に提供してもよい。ソフトウェアサービスプロバイダ、システム管理者、または他の実体が、無効化エージェント120を使用して、特定の通信デバイス106からの(たとえばハートビート要求128を介した)要求時にネットワーク102、104からハートビート確認信号126を受信すべきではないそれらの特定の通信デバイス106を識別してもよい。より具体的には、無効化データ124は、ハートビート確認信号126を特定の通信デバイス106に送信しないように1次ネットワークデバイス200および/またはバックアップデバイス300に命令することによって、当該特定の通信デバイス106がタスクまたは動作を実行する能力を無効にする。無効化エージェント120は、通信デバイス106がデバイス動作を実行するために必要なリソースを通信デバイス106が利用できないと判断してもよい。これは、たとえば、特定の周波数または周波数のセットを通信デバイス106bによる使用のために基地局106cから利用できないと無効化エージェント120が判断した場合に、CBRSシステムにおいて行われてもよい。たとえば、CBRSシステム内の1つ以上の基地局(たとえば106c)が使用する周波数または特定の周波数は、政府系機関が使用中であり非政府系デバイスは利用できないとシステムおよび/または無効化エージェント120によって判断されてもよい。通信デバイス106bがそれらの周波数へのアクセスを試みないようにすることができる。他のシステムでは、ソフトウェア更新が必要な場合、通信デバイスの所有者がソフトウェア使用に関連して結ばれた契約上の合意に従っていない場合、または他の判定基準に基づいて、モノのインターネット(IoT)デバイス106aに1次ネットワーク102を使用させないようにしてもよい。
バックアップデバイス300は、ハートビート確認データ118を含むデバイス状態データ110のバックアップ済みサブセットを格納するバックアップデータストア318などのメモリを含む。ハートビート確認データ118は、1次ネットワーク102から取得される有効なハートビート確認データ118のコピーを含む。いくつかの実現例では、1次ネットワークデバイス200に提供される無効化データ124aは、バックアップデバイス300に伝搬されてバックアップデータストア318に格納される。たとえば、バックアップネットワークデバイス300によってバックアップされる状態データ110のサブセットは、通信デバイスと無効化エージェント120との間のデータのマッピングを表すデータを含んでもよい。いくつかの実現例では、バックアップネットワークデバイス300に提供される無効化データ124bはバックアップデータストア318に格納される。別の例では、キープアライブ信号データ118(ハートビート確認データ)のみが2次ネットワーク104によってバックアップされる。これにより、テーブルフォーマットなどにおいて少量のメモリの使用が可能になり得る。
そのため、2次ネットワーク104のバックアップデバイス300は、1次ネットワーク102と通信中の特定の通信デバイスの動作信頼性情報のみをバックアップする。一例では、ハートビート確認データ118とも呼ばれるキープアライブ信号データのみが1次ネットワーク102からバックアップされる。ハートビート確認データ118は、デバイスが1次ネットワーク102と実行する進行中の通信またはタスクに対応付けられており、通信デバイス106と1次ネットワークデバイス200との間の通信を妨げるネットワーク故障状態130が存在する場合に通信デバイス106がタスクまたは動作を実行し続けることを1次ネットワーク102の1次ネットワークデバイス200が許可することを示してもよい。いくつかの実現例では、無効化データ124bは、1次ネットワーク102に対応付けられたネットワーク故障状態130の間にバックアップデバイス300に直接提供される。本明細書に記載されている動作は、1次ネットワーク102に対応付けられたネットワーク故障状態130の間に、ハートビート認可解除が引き続き伝搬して、通信デバイスがタスクまたは動作を実行し続けてもよいという許可を取り消すように、一種のIf This Then Thatレベルの機能を提供する。たとえば、無効化エージェント120が1次ネットワーク102に対応付けられたネットワーク故障状態130を検出すると、無効化エージェント120はバックアップデバイス300に無効化メッセージ122を送信してもよい。ネットワークシステム100および方法400、500、600は、ハートビート信号プロトコルを構成および処理するための非常に単純な技術を提供する。上述のように、システムは、一例では、1次サービスとハートビート専用バックアップサービスとによって構成される。1次サービスは1次ネットワーク102のクラウドインフラストラクチャ上で実行されるのに対して、ハートビート専用サービスは完全に別個のクラウドインフラストラクチャ、すなわち2次ネットワーク104上で実行され、1次ネットワーク102に対応付けられたネットワーク故障状態130に応答してデバイス106に対する2次ネットワーク104による操作性を確認する能力を有する。
図2を参照して、ネットワークデバイス200はウェブ登録サービス202を実行してもよく、通信デバイス106はウェブ登録サービス202に登録して、通信デバイス106がタスクまたは動作を開始するまたは実行し続けることを許可するハートビート信号126(ハートビート確認信号、キープアライブ信号、または単にハートビートとも呼ばれる)を受信してもよい。示されている例では、通信デバイス106はネットワークデバイス200にハートビート要求128を送信し、対応するハートビート確認信号126を受信してもよい。いくつかの実現例では、通信デバイス106はハートビート信号126を連続的に(たとえば定期的に)受信し、ハートビート信号126の受信に応答してタスクまたは動作を実行し続ける。いくつかの例では、(たとえば、ハートビート要求128および対応するハートビート確認信号126の通信を介して)ネットワークデバイス200と通信する特定の通信デバイス106について、ネットワークデバイス200は、デバイス状態データ110を、当該特定の通信デバイス106に対応付けられたデバイス識別子(ID)114とともに、デバイス状態データストア212に記録する。デバイスID114は通信デバイス106を一意に識別してもよい。デバイス状態データ110は、限定されないが、支払状況、組織メタデータを更新する能力、全体的な環境の健全性の集約計算を表すデータ、および/またはその他の適切なデータなど、通信デバイス106によって実行される動作またはタスクに関連する任意の情報を含んでもよい。デバイスID114は、たとえば、データストア212に格納されて特定の通信デバイス106に対応付けられたデバイス状態データ110を探索または識別するための索引として用いられてもよい。特定の通信デバイス106に対応付けられたデバイス状態データ110は、デバイスID114を索引として用いて時間とともに更新されてもよい。たとえば、通信デバイス106がネットワークデバイス200からのハートビート確認信号126の受信に応答してタスクまたは動作を実行し続けるにつれて、ネットワークデバイス200はデバイス状態データ110を更新してもよい。いくつかの例では、デバイス状態データ110は、通信デバイス106のタスクまたは動作の実行を許可するためにネットワークデバイス200によって通信デバイス106に送信されるハートビート確認信号126に対応付けられたハートビート確認データ118を含む。
いくつかの実現例では、ネットワークデバイス200が通信デバイス106にハートビート信号126を送信するたびに、ネットワークデバイス200はハートビート確認データ118を更新する。そのため、ハートビート確認データ118は、通信デバイス106から受信したタイムスタンプ付きのハートビート要求128と、通信デバイス106に送信したタイムスタンプ付きのハートビート信号126とのログを提供してもよい。示されている例では、デバイス状態データ110は、ネットワークデバイス200が通信デバイス106にタスクまたは動作の開始または実行の継続を許可した直近の時間を反映してもよい。いくつかの例では、ネットワークデバイス200は無効化エージェント120から無効化メッセージ122を受信する。無効化メッセージ122は、通信デバイス106が1次ネットワークデバイス200からハートビート確認信号126を受信すべきではないことを示すハートビート無効化データ124、124aを含んでもよい。たとえば、モノのインターネット(IoT)デバイス106aが潜在的なセキュリティ脆弱性に対処するためにソフトウェア更新を必要としている場合、または、IoTデバイス106aの所有者が有効なソフトウェアライセンスを取得もしくは維持するなどの契約上の合意に従っていない場合、IoTデバイス106aに1次ネットワーク102を使用させないようにしてもよい。無効化メッセージ122は、これらの判定基準、または通信デバイス106が1次ネットワークデバイス200からハートビート確認信号126を可能な限り受信すべきではないという他の判定基準の表示を含むハートビート無効化データ124、124aを含んでもよい。無効化データ124aは、特定の通信デバイス106がタスクまたは動作を実行してもよいという1次ネットワークデバイス200による(たとえばウェブ登録サービス202による)許可を示すハートビート確認データ118を含むハートビート確認信号126を受信すべきではない特定の通信デバイス106を識別するデバイス識別子114(たとえばデバイスID114(図1))を含んでもよい。したがって、無効化エージェント120(たとえばハートビート無効化エージェント120(図1))からの無効化メッセージ122に含まれている無効化データl24aの受信に応答して、ネットワークデバイス200は、無効化データl24aによって識別される通信デバイス106にハートビート確認信号126を送信することを拒否してもよい。たとえば、ネットワークデバイス200が、タスクまたは動作の実行を求めるハートビート要求128を通信デバイス106から受信すると、ネットワークデバイス200は、対応付けられたデバイスID114を用いてデータストア212に問い合わせることにより、通信デバイス106のデバイス状態データ110が無効化データ124を含むか否かを判断してもよい。無効化データ124が存在する場合、ネットワークデバイス200は、対応するハートビート確認信号126を通信デバイス106に送信することを拒否することによって、通信デバイス106にタスクまたは動作を実行させないようにしてもよい。いくつかの例では、ネットワークデバイス200が通信デバイス106へのハートビート確認信号126の送信を中止すると、ネットワークデバイス200はデバイス状態データ110内のハートビート確認データ118の更新を停止する。いくつかの例では、デバイス状態データ110は、受信した無効化データ124aを含む。そのため、ネットワークデバイス200は、特定の通信デバイス106がネットワークデバイス200からハートビート確認信号126を受信すべきではなくなったことを示す無効化エージェント120から受信した無効化データ124aでデバイス状態データ110を更新するように構成されてもよい。
図3を参照して、バックアップデバイス300はバックアップコントローラ302および確認コントローラ304を実行してもよい。確認コントローラ304は、バックアップ確認コントローラ304またはハートビート確認コントローラ304と呼ばれることもある。いくつかの例では、通信デバイス106によって認識されるような、1次ネットワーク102に対応付けられたネットワーク故障状態130(図1)が発生する場合がある。たとえば、通信デバイス106が1次ネットワーク102に接続できない、またはハートビート要求128を送信してから閾値期間内にハートビート確認126を受信できない場合がある。1次ネットワーク102に対応付けられたネットワーク故障状態130は、1次ネットワーク102に影響を及ぼす停電、または損傷した通信ケーブルもしくはファイバ、または通信デバイス106と1次ネットワーク102との間の通信を妨げるその他の障害によって引き起こされ得る。いくつかの例では、ネットワーク故障状態130は、1次ネットワーク102が他の点では動作可能であるにもかかわらず通信デバイス106が1次ネットワーク102と通信できないことに起因する。ネットワーク故障状態130の他の原因も当てはまり得る。いくつかの例では、通信デバイス106が閾値期間内にハートビート確認126を受信できない場合、通信デバイス106はウェブ登録サービス202への再登録を試みる。これらの例では、通信デバイス106が接続タイムアウト期間内にウェブ登録サービス202に再登録することができなければネットワーク故障状態130が確立されてもよい。通信デバイス106は、ネットワーク故障状態130の間は1次ネットワーク102からハートビート確認信号126を受信しない場合があるので、通信デバイス106は、周期的なハートビート確認信号126の受信が条件付けられているタスクまたは動作の実行を中止する。いくつかの例では、1次ネットワークに対応付けられたネットワーク故障状態130の間は、通信デバイス106は1次ネットワーク102に代えて2次ネットワーク104との通信を開始するように構成される。すなわち、通信デバイス106が1次ネットワーク102の1次ネットワークデバイス200からハートビート確認信号126を受信できないネットワーク故障状態130の間、2次ネットワーク104は、通信デバイス106からハートビート要求128を提供するための、および通信デバイス106にハートビート確認信号126を発行するためのフォールバックを提供してもよい。示されている例では、通信デバイス106は、ネットワーク故障状態130の間、バックアップデバイス300のバックアップハートビート確認コントローラ304にハートビート要求128を送信し、通信デバイス106が1次ネットワーク102の1次ネットワークデバイス200と通信できないにもかかわらず、通信デバイス106がタスクまたは動作を実行し続けることを許可する対応するハートビート確認信号126(キープアライブ信号とも呼ばれる)を受信する。ここで、通信デバイス106にハートビート確認信号126を送信する前に、バックアップハートビート確認コントローラ304はまずバックアップコントローラ302に問い合わせることにより、通信デバイス106に対応付けられたバックアップ済みデバイス状態データ110が、通信デバイス106がハートビート確認信号126の受信を許可されていることを示すか否かを判断してもよい。
示されている例では、デバイスハートビートバックアップコントローラ302は、少なくとも1次ネットワーク102の1次ネットワークデバイス200からデバイス状態データ110のサブセットを受信する。状態データ110のサブセットは、ハートビート確認データ118と、通信デバイス106に対応付けられたデバイスID114と、1次ネットワーク登録デバイス200(たとえば1次ネットワークデバイス200(図1))がハートビート無効化エージェント120から受信した任意の無効化データ124aとを含んでもよい。いくつかの例では、受信した状態データ110(たとえばデバイス状態データ110(図1))は、上述のように1次ネットワーク102のデバイス状態データストア212に格納されている通信デバイス106に対応付けられたすべての状態データ110を含む。いくつかの例では、受信した状態データ110はハートビート確認データ118のみを含む。状態データ110の他のサブセットがバックアップコントローラ302によって受信されてもよい。いくつかの実現例では、1次ネットワークデバイス200が通信デバイス106にハートビート確認信号126を送信している間、1次ネットワークデバイス200はデバイス状態データ110をバックアップコントローラ302にプッシュする。これらの実現例では、1次ネットワークデバイス200は、状態データ110が変化すると、またはその他の適切な状況下で、通信デバイス106に対応付けられたデバイス状態データ110をバックアップコントローラ302に周期的にプッシュしてもよい。さらなる実現例では、バックアップデバイス300のバックアップコントローラ302は、プル動作時に1次ネットワーク102からデバイス状態データ110をプルする。たとえば、バックアップコントローラ302は、スケジュールされたバックアップ動作の一部として、および/またはバックアップ確認コントローラ304が通信デバイスからハートビート要求128を受信したことに応答して、1次ネットワークデバイス200からデバイス状態データ110をプルしてもよい。たとえば、バックアップコントローラ302は、対応付けられた1つ以上のデバイスID114を用いて1次ネットワークデバイス200に問い合わせることによって、1つ以上の通信デバイス106の状態データ110のサブセットをプルしてもよい。いくつかの例では、バックアップコントローラ302は、1次ネットワークデバイス200から受信したデバイス状態データ110をバックアップデータストア318にバックアップする。図2のデバイス状態データストア212と同様に、バックアップデータストア318は、デバイス状態データ110に対応付けられた通信デバイス106を識別するデバイスID114を用いて、バックアップデータストア318に格納されている受信したデバイス状態データ110に索引を付けてもよい。一例では、バックアップデバイス300は、デバイスID114によって索引を付けられたルックアップテーブルを含む。バックアップデータストア318から受信したデバイス状態データ110を格納し、索引を付け、探索し、取り出すための他の技術も可能である。
図2を参照して上述したように、受信したデバイス状態データ110は、ネットワークデバイス200が通信デバイス106にタスクまたは動作の開始または実行の継続を許可した直近の時間を反映してもよい。したがって、バックアップデータストア318に格納されている受信したデバイス状態データ110は、ネットワークデバイス200が通信デバイス106にタスクまたは動作の開始または実行の継続を許可した直近の時間を反映してもよい。ここで、バックアップコントローラ302によって受信されるデバイス状態データ110は、無効化エージェント120からの無効化メッセージ122において1次ネットワーク102の1次ネットワークデバイス200によって以前に受信されたハートビート無効化データ124、124aをさらに含んでもよい。すなわち、デバイスハートビートバックアップコントローラ302は、無効化データ124、124aをハートビート無効化エージェント120から直接的にではなく、1次ネットワーク102を介して間接的に受信してもよい。したがって、バックアップデータストア318に格納されている受信したデバイス状態データ110は、通信デバイス106がハートビート確認信号126を受信すべきではないという指示を反映してもよい。いくつかの例では、バックアップコントローラ302は無効化メッセージ122を無効化エージェント120から直接的に受信する。無効化メッセージ122は、通信デバイス106がバックアップ確認コントローラ304にハートビート要求128を送信したことに応答して、通信デバイス106が2次ネットワーク104のバックアップ確認コントローラ304からハートビート確認信号126を受信すべきではないことを示すハートビート無効化データ124、124b(たとえば無効化データ124、124b(図1))を含んでもよい。無効化データ124bは、その他の場合は特定の通信デバイス106がタスクまたは動作を実行することを許可するハートビート確認データ118を含むハートビート確認信号126を受信すべきではない特定の通信デバイス106を識別するデバイスID114を含んでもよい。無効化エージェント120は、対応する無効化データ124、124aを1次ネットワーク102に対応付けられた1次ネットワークデバイス200に提供してもよく、および/または対応する無効化データ124、124bを2次ネットワーク104に対応付けられたバックアップコントローラ302に提供してもよい。いくつかの例では、無効化エージェント120は、ネットワーク故障状態130が存在する場合にのみ、2次ネットワーク104のバックアップデバイス300に無効化メッセージ122を送信する。たとえば、無効化エージェント120が、特定の通信デバイス106と1次ネットワーク102の1次ネットワークデバイス200との間の通信を妨げるネットワーク故障状態130を検出すると、またはそうでなければ学習すると、無効化エージェント120は、無効化データ124bを含む無効化メッセージ122をバックアップコントローラ302に送信してもよい。いくつかの例では、特定の通信デバイス106に対応付けられた無効化メッセージ122の受信に応答して、バックアップコントローラ302は、たとえばデバイスID114によって索引を付けられるなど、通信デバイス106に対応付けられた無効化データ124bを含むように、バックアップデータストア318に格納されたデバイス状態データ110を更新する。示されている例では、ハートビート無効化エージェント120は、1次ネットワークに対応付けられたネットワーク故障状態130の間、通信デバイス106に対応付けられた無効化データ124を用いて、通信デバイス106に対応付けられたすべてのハートビート確認データ118を無効にすることによって、バックアップデバイス300のバックアップコントローラ302にハートビート確認信号を送信させないようにしてもよい。
いくつかの例では、通信デバイス106からのハートビート要求128の受信に応答して、バックアップハートビート確認コントローラ304は、通信デバイス106にハートビート確認126を送信して通信デバイス106にタスクまたは動作の開始または実行の継続を許可すべきか否かを判断する。ハートビート確認コントローラ304は、バックアップデータストア318に格納されたバックアップ済みデバイス状態データ110に基づいて、通信デバイス106にハートビート確認信号126を送信すべきか否かを判断してもよい。ここで、バックアップ確認コントローラ304は、バックアップコントローラ302に問い合わせることにより、対応付けられたデバイスID114を用いてバックアップデータストア318からバックアップ済みデバイス状態データ110を取り出してもよい。いくつかの例では、バックアップハートビート確認コントローラ304は、ハートビート要求128および対応付けられたデバイスID114をバックアップコントローラ302に提供する。バックアップコントローラ302は、たとえば対応付けられたデバイスID114を用いてバックアップ済みデバイス状態データ110を取り出し、バックアップ済みデバイス状態データ110をバックアップハートビート確認コントローラ304に提供してもよい。いくつかの例では、バックアップハートビート確認コントローラ304は、バックアップ済みデバイス状態データ110をバックアップデータストア318から直接取り出す。バックアップハートビート確認コントローラ304は、他の技術を用いてバックアップ済みデバイス状態データ110を取り出してもよい。これに代えて、バックアップコントローラ302は、取り出したバックアップ済みデバイス状態データ110が、無効化データ124なしのハートビート確認データ118を含むと判断し、通信デバイス106がハートビート確認信号126を受信すべきであることを示す信号をバックアップ確認コントローラ304に提供してもよい。いくつかの例では、バックアップコントローラ302は、取り出したバックアップ済みデバイス状態データ110をバックアップハートビート確認コントローラ304に提供し、バックアップハートビート確認コントローラ304は、バックアップ済みデバイス状態データ110に基づいて、通信デバイス106にハートビート確認信号126を送信すべきか否かを判断する。たとえば、デバイス状態データ110がハートビート確認データ118を含み、無効化データ124が存在しない場合、バックアップ確認コントローラ304は通信デバイス106にハートビート確認信号126を送信すると決定してもよい。上述のように、ハートビート確認データ118は、ネットワークデバイス200が通信デバイス106にタスクまたは動作の開始または実行の継続を許可した直近の時間を反映してもよい。いくつかの例では、バックアップデータストア318内のハートビート確認データ118が、ネットワークデバイス200が通信デバイスにタスクまたは動作の開始または実行の継続を以前に許可したことを示す場合は、バックアップハートビート確認コントローラ304は通信デバイス106にハートビート確認126を送信すると決定してもよい。バックアップ済みデバイス状態データ110が通信デバイス106に対応付けられたハートビート確認データ118を含まない場合は、バックアップハートビート確認コントローラ304は通信デバイス106にハートビート確認126を送信しないと決定してもよい。ハートビート確認データ118に基づいて通信デバイス106にハートビート確認126を送信すべきか否かを判断するための他の技術が可能である。いくつかの例では、バックアップハートビート確認コントローラ304が通信デバイス106にハートビート確認信号126を送信すると、バックアップハートビート確認コントローラ304は、バックアップデータストア318内の通信デバイス106に対応付けられたハートビート確認データ118を更新する。
バックアップ済みデバイス状態データ110は、プッシュもしくはプル動作時にバックアップコントローラ302によって受信されたデバイス状態データ110の一部として1次ネットワーク102の1次ネットワークデバイス200を介してバックアップコントローラ302によって間接的に受信されて、または無効化エージェント120から直接的に受信されて、バックアップデータストア318に格納された、無効化データ124を含んでもよい。同様に、コントローラ302がバックアップ済みデバイス状態データ110の取り出し動作を行っている間にハートビート無効化エージェント120が無効化データ124bをコントローラ302に提供する場合は、バックアップコントローラ302は、バックアップ確認コントローラ304に送信中のバックアップ済みデバイス状態データ110に無効化データ124を付加するだけでよい。いくつかの例では、無効化データ124に基づいて、バックアップ確認コントローラ304は、無効化データ124(たとえばハートビート無効化データ124(図1))によって識別される通信デバイス106にハートビート確認信号126を送信することを拒否してもよい。たとえば、バックアップ確認コントローラ304が、タスクまたは動作の実行を求めるハートビート要求128を通信デバイス106から受信すると、バックアップ確認コントローラ304(またはバックアップコントローラ302)は、デバイスID114を用いてバックアップデータストア318に問い合わせることにより、通信デバイス106に対応付けられたデバイス状態データ110が無効化データ124を含むか否かを判断してもよい。無効化データ124が存在する場合は、バックアップ確認コントローラ304は、通信デバイス106がデバイス動作を実行してもよいという許可を取り消し、対応するハートビート確認信号126を通信デバイス106に送信することを保留または拒否することによって、通信デバイス106にタスクまたは動作を実行させないようにしてもよい。
図4は、1次ネットワーク102と通信するように適合された通信デバイス106の動作信頼性を提供する方法400のための動作の構成の一例のフローチャートである。動作402において、通信デバイス106と第1のネットワーク102(たとえば1次ネットワーク102(図1))のネットワークデバイス200(たとえば1次ネットワークデバイス200(図1))との間の通信を妨げるネットワーク故障状態130が存在する場合、方法400は、第2のネットワーク104(たとえばバックアップネットワーク104または2次ネットワーク104(図1))のデータ処理ハードウェア310において、通信デバイス106がデバイス動作を実行してもよいという許可を求めるハートビート要求128を通信デバイス106から受信することを含む。いくつかの実現例では、通信デバイス106は、ネットワーク故障状態130が存在しない場合、第1のネットワーク102のネットワークデバイス200にハートビート要求128を送信し、対応するハートビート確認信号126をネットワークデバイス200から受信するように構成される。いくつかのシナリオでは、通信デバイス106が第1のネットワーク102のネットワークデバイス200にハートビート要求128を送信してから閾値期間内にネットワークデバイス200からハートビート確認信号126を受信しない場合、ネットワーク故障状態130が存在する。
動作404において、方法400は、データ処理ハードウェア310が、通信デバイス106に対応付けられたデバイス状態データ110を取得することを含む。たとえば、データ処理ハードウェア310は、第1のネットワーク102のネットワークデバイス200から直接的にまたは間接的にデバイス状態データ110を受信してもよい。たとえば、通信デバイス106とネットワークデバイス200との間の通信がデグレードしていない(たとえば故障状態130が存在しない)場合は、ネットワークデバイス200はデバイス状態データ110をデータ処理ハードウェア310に周期的にプッシュしてもよく、データ処理ハードウェア310はデバイス状態データ110をバックアップデータストア318に格納してもよい。したがって、データ処理ハードウェア300は、ネットワーク故障状態130の間にバックアップデータストア318にアクセスして、特定の通信デバイス106についてバックアップデータストア318に格納されているデバイス状態データ110を取り出してもよい。これに加えてまたはこれに代えて、データ処理ハードウェア310は、プル動作を実行してネットワークデバイス200からデバイス状態データ110を取得してもよい。ここで、データ処理ハードウェア310は、ネットワークデバイス200に問い合わせて特定の通信デバイス106についてのデバイス状態データ110を取り出すことによって、プル動作を実行してもよい。問い合わせは、ネットワークデバイス200が対応付けられたデバイス状態データ110をデータストア212から取り出すことができるように通信デバイス106を識別するデバイス識別子114を含んでもよい。
動作406において、方法400は、データ処理ハードウェア310が、通信デバイス106に対応付けられたデバイス状態データ110に基づいて、通信デバイス106がデバイス動作の実行を許可されているか否かを判断することを含む。たとえば、通信デバイス106がデバイス動作を実行してもよいという第1のネットワーク102のネットワークデバイス200からの許可を示すハートビート確認データ118をデバイス状態データ110が含む場合は、方法400は、通信デバイス106がデバイス動作の実行を許可されていると判断してもよい。しかし、デバイス状態データ110がハートビート確認データ118を含まない場合は、方法400は、通信デバイス106がデバイス動作の実行を許可されていないと判断してもよい。さらに、デバイス状態データ110がハートビート確認データ118を有しているにも関わらず無効化データ124を含む場合は、方法400は、通信デバイス106がデバイス動作の実行を許可されていないと判断してもよい。
動作408において、方法400は、通信デバイス106がデバイス動作の実行を許可されている場合、データ処理ハードウェア310が、通信デバイス106にハートビート確認信号126を送信することを含む。ここで、ハートビート確認信号126は、通信デバイス106がデバイス動作を実行することを許可する。これに代えて、通信デバイス106がデバイス動作の実行を許可されていない(たとえば、ハートビート確認データ118がない、および/またはデバイス状態データ110が無効化データ124を含む)シナリオでは、データ処理ハードウェア310は、通信デバイス106へのハートビート確認信号126の送信を保留することによって、通信デバイス106がデバイス動作を実行しないようにしてもよい。
図5および図6を参照して、バックアップデバイス300の動作の一例を説明する。いくつかの実現例では、デバイスハートビートバックアップコントローラ302は、1次ネットワーク102を使用する1つ以上の通信デバイス106、106a~106eについて、デバイス状態データ110として格納されたハートビート確認データ118を含む1次ネットワーク102からのデバイス状態データ110のサブセットをバックアップする。バックアップは、デバイス識別子114ごとに状態データ110のサブセットをデータストア318に格納することによって生じる。たとえば、データストアレコードは、通信デバイス106a~106eの各々のデバイス識別子114を、1次ネットワーク102がデバイス状態データ110として格納した対応するハートビート確認データ118とともに含んでもよい。IPアドレス障害によって示されるような、IoTデバイス106aが1次ネットワーク102に接続できないなどのネットワーク故障状態130が発生する場合があり、当該IPアドレス障害は、1次ネットワーク102に対してハートビート要求128を行う当該デバイスが1次ネットワーク102に接続しようとするDNS試行に起因する。
一例では、ネットワーク故障状態130は、DNSを介して2次ネットワーク104にインターネットプロトコルアドレス要求を行う通信デバイスが、2次ネットワーク104(バックアップデバイス)300に接続された後にDNS試行を介して1次ネットワーク102への接続を試みた際に適切な応答を受信することができなかったという理由で、当該通信デバイスなどのデバイスによって示される。IoTデバイス106aは2次ネットワーク104にハートビート要求128を発行する。デバイスからのハートビート要求に応答して、バックアップハートビート確認コントローラ304は、デバイスからのハートビート要求128に対応付けられているバックアップ済みハートビート確認データ118に基づいて、通信デバイス106にハートビート確認126を提供する。一例では、バックアップハートビート確認コントローラ304は、ハートビート要求128の一部としてIoTデバイス106aによって提出されたデバイスID114を用いて、バックアップデータストア318内のデバイス状態データ110を探索する。ハートビート確認コントローラ304は、受信したデバイスID114が、デバイス状態データ110のサブセットの一部として格納されているデバイスID114と一致するか否かを判断してもよい。デバイスID114がバックアップ済みの場合は、対応するバックアップ済みハートビート確認データ118を用いて通信デバイス106にハートビート確認126を返す。通信デバイスは次いで、1次ネットワーク102が動作中であることを要求しないメモリ内プログラムの実行を継続するなど、そのタスクを継続することができる。
引き続き図5および図6を参照して、システム100において無効化エージェント120が使用される場合、ソフトウェアサービスプロバイダ、システム管理者、または他の実体が、無効化エージェント120を使用して、デバイス識別子114を用いて特定の通信デバイスを指定し、通信デバイス106からのハートビート確認要求128に応答して当該通信デバイスがネットワーク(たとえば1次ネットワーク102または2次ネットワーク104)からハートビート確認126を受信すべきはでないことを示すことができる。これは、たとえば、無効化エージェント120が、たとえば、特定の周波数または周波数のセットを通信デバイス106bによる使用のために基地局106cから利用できないと判断した場合に行われてもよい。通信デバイス106bが特定の周波数へのアクセスを試みないようにすることができる。これはCBRS式システムにおいて好適であり得る。たとえば、CBRSシステム内の1つ以上の基地局(たとえば106c)が使用する周波数または特定の周波数は、政府系機関またはデバイスが使用中であるため非政府系デバイスは利用できないとシステムおよび/または無効化エージェント120によって判断されてもよい。たとえば特定の周波数が基地局によって使用されていない場合は、当該周波数はユーザ機器による公共使用に利用できると見なされ、次いでハートビート確認126が2次ネットワーク104からそれぞれのIoTデバイス106aに送信されてもよい。他のシステムでは、ソフトウェア更新が必要な場合、通信デバイスの所有者がソフトウェア使用に関連して結ばれた契約上の合意に従っていない場合、または他の判定基準に基づいて、モノのインターネット(IoT)デバイスに1次ネットワーク102を使用させないようにしてもよい。デジタルポリシー証明書または他のメカニズムを使用して、無効化データ124aおよび/または124bをそれぞれのネットワークにいつ送信すべきかを判断してもよい。また、動作は、複数のエンドユーザ通信デバイス106の使用に関連して説明される。しかしながら、システムは、所望通りの任意の適切な数のエンドユーザ通信デバイス106とともに使用されればよい。また、図5および図6に関する説明は、状態データのサブセットがハートビート確認データ118よりも多くを含む他の例とは対照的に、状態データ110のサブセットが1次ネットワーク102を使用する複数のデバイスの各々に対応付けられたハートビート確認データ118のみであるという文脈においてなされる。
ブロック502に示されるように、方法500は、バックアップデバイス300が、1次ネットワーク102を使用する複数のデバイスに対応付けられたハートビート確認データ118(および対応するデバイスID114)のみを1次ネットワークデバイス200から受信することを含む。バックアップされるハートビート確認データ118は、サーバ200がそれぞれのデバイスごとに維持するデバイス状態データ110のサブセットである。ブロック504に示されるように、当該方法は、1次ネットワーク102を使用する複数のデバイスについてのハートビート確認データ118のみをバックアップすることを含む。これは、デバイスハートビートバックアップコントローラ302が1次ネットワーク102からのハートビート確認データ118のみをバックアップすることによって行われる。ブロック506に示されるように、当該方法は、ネットワーク故障状態130に応答して、および複数のデバイスのうちの少なくとも1つからのハートビート要求128に応答して、バックアップされたハートビート確認データ118に基づくハートビート確認126を複数のデバイスのうちの少なくとも1つに提供することを含む。これは、この例ではバックアップハートビート確認コントローラ304によって行われる。
ブロック508に示されるように、無効化エージェント120からの無効化メッセージ122を介するなどして、2次ネットワーク104についての無効化データ124bを受信し、ネットワーク故障状態130に応答して、および少なくとも1つのデバイスからのハートビート要求128に応答して、無効化データ124bが通信デバイス106を無効にすることを指示している場合は要求側デバイスに対するハートビート確認126を否認する。換言すれば、無効化メッセージ122はいつでも来る可能性がある。ハートビート確認126がすでに送信された後に無効化メッセージ122が送信された場合は、無効化エージェント120は通信デバイスがハートビート確認126を有することをもはや望んでいないことが無効化データ124bを用いて示されるので、後続のハートビート要求128は否認される。
別の例では、ネットワーク故障状態130が発生した後のデバイスからの最初のハートビート要求128時に、無効化データ124bが通信デバイスが無効であることを示す場合は、ハートビート確認126は送信されず、バックアップハートビート確認コントローラ304はハートビート確認126を発行しない。一例では、バックアップ済みデバイス状態データが、対象のデバイスごとのデバイス識別子114と、1次ネットワーク102からの対応するバックアップ済みハートビート確認データ118と、無効化エージェント120から特定の通信デバイスについて受信した任意の無効化データ124bとを含むように、無効化データ124はデバイスごとにデータレコードの一部として格納される。そのため、一例における無効化データ124bは、デバイスID114に、通信デバイス106を無効にすべきか否かを指示するデータを加えたものを含む。そのため、バックアップデバイス300は、無効化エージェント120からの無効化メッセージ122に基づいて、ハートビート要求128を行っている通信デバイスに対するハートビート確認126を否認する。
図6を参照して、システムの観点から、ブロック602に示されるように、方法600は、デバイスがDNSアドレスを介して1次ネットワーク102に登録または接続することを含む。ブロック604に示されるように、接続が成功すると、当該方法はブロック606に進み、サーバ200(たとえば1次ネットワークデバイス200(図1))は、デバイス状態データ110として格納されているハートビートOK(ハートビート確認データ)118テーブルを更新する。これは、たとえば、データをメモリテーブル、データベースレコードまたは他のフォーマットに置いて、ハートビート確認126がハートビートを要求したデバイスに送信されたことを示すことを含む。サーバ200はさらに、バックアップ動作の一部として2次ネットワーク104にハートビート確認データ118を提供する。ハートビート確認データ118は、1次ネットワーク102が適切に動作している限り、1次ネットワークによって継続的に提供される。しかし、IoTデバイス106aなどの通信デバイス106によって認識されるような、1次ネットワーク102に対応付けられたネットワーク故障状態130が存在する場合は、たとえばブロック608に示されるように、通信デバイスはDNSを介して2次ネットワーク104への接続を試みる。ブロック610に示されるように、バックアップデバイス300、およびこの例ではバックアップハートビート確認コントローラ304は、デバイスID114に基づいてバックアップデータストア318内のバックアップ済み状態データを確認して、ハートビート確認126がネットワーク故障状態130の前にデバイスによって1次ネットワーク102によって提供されたことを、1次ネットワーク102によって直近に格納されたハートビートが示すことを、バックアップ済みデータが示すか否かを判断する。ブロック612に示されるように、バックアップネットワークデバイス300はさらに、デバイスに対応付けられたデータベースレコードを確認して、無効化エージェント120がそのデバイスについての無効化メッセージ122を送信したか否かを調べる。送信した場合は、ブロック614に示されるように、2次ネットワーク104は要求側の通信デバイス106へのハートビート確認126を否認する。しかし、無効化エージェント120が通信デバイス106を無効にすることを指示していない場合は、ブロック616に示されるように、バックアップネットワークデバイス300は、バックアップされたハートビート確認データ118に基づくハートビート確認126で、2次ネットワーク104からのハートビートを要求している通信デバイスに応答する。
数ある利点の中でも特に、有効なハートビート情報のコピーをテーブルなどに保持する第2のより小さいクラウドシステムを使用することにより、第2のシステムは、完全に書き換えられたソフトウェアサービスがなくても最大分離を有することができる。2次ネットワーク104およびバックアップデバイス300により、システム全体が、データの完全な一定のコピーが常になくても、および信頼性を確保するためのより小さい独立したソフトウェアサービスがなくても、1次ネットワーク102内のデバイスの一貫したビューを維持することができる。一例では、動作の最も重要な態様、すなわちデバイスにハートビート確認信号126を提供することのみを記憶する静的ページハンドラが存在する。2次ネットワーク104は、1次ネットワーク102によってハートビート確認データ118で更新されるだけでよく、デバイスの一貫した状態の維持が従来の方法よりもはるかに単純化される。本明細書におけるデバイスID114および対応するハートビート確認データ118は同じデータであってもよい。たとえばテーブルを使用する場合は、テーブル内のデバイスID114の存在自体が、特定の通信デバイスに対するハートビート確認データ118となり得る。
図7は、本明細書に記載されているシステム(たとえば、ネットワークデバイス200およびバックアップネットワークデバイス300)ならびに方法(たとえば、方法400、500、600)を実現するために使用され得るコンピューティングデバイス700の一例の概略図である。コンピューティングデバイス700は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、モバイルコンピューティングデバイス、ウェアラブルコンピューティングデバイス(たとえば、ヘッドセットおよび/または時計)、サーバ、ブレードサーバ、メインフレーム、ならびに他の適切なコンピュータなどのさまざまな形態のデジタルコンピュータを表すよう意図されている。ここに示されているコンポーネント、それらの接続および関係、ならびにそれらの機能は、単に例示的であるよう意図されており、本明細書に記載および/またはクレームされている発明の実現例を限定するよう意図されたものではない。
コンピューティングデバイス700は、プロセッサ710(処理ハードウェアまたはデータ処理ハードウェアとも呼ばれる)と、メモリ720(メモリハードウェアとも呼ばれる)と、記憶装置730と、メモリ720および高速拡張ポート750に接続する高速インターフェイス/コントローラ740と、低速バス770および記憶装置730に接続する低速インターフェイス/コントローラ760とを含む。コンポーネント710、720、730、740、750および760の各々は、さまざまなバスを使用して相互接続されており、共通のマザーボード上にまたは適宜他の態様で取り付けられていてもよい。プロセッサ710は、コンピューティングデバイス700内での実行のための命令を処理することができ、これらの命令は、グラフィカルユーザインターフェイス(GUI)のためのグラフィカル情報を、高速インターフェイス740に結合されたディスプレイ780などの外部入力/出力デバイス上に表示するための、メモリ720内または記憶装置730上に格納された命令を含む。他の実現例では、複数のメモリおよび複数のタイプのメモリとともに、複数のプロセッサおよび/または複数のバスが適宜使用されてもよい。また、複数のコンピューティングデバイス700が、各デバイスが(たとえば、サーババンク、ブレードサーバの群、またはマルチプロセッサシステムとして)必要なオペレーションの一部を提供する状態で、接続されてもよい。
メモリ720は、情報をコンピューティングデバイス700内に非一時的に格納する。メモリ720は、コンピュータ読取可能媒体、揮発性メモリユニット、または不揮発性メモリユニットであってもよい。非一時的なメモリ720は、コンピューティングデバイス700による使用のために、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を一時的または永久的に格納するために使用される物理デバイスであってもよい。不揮発性メモリの例としては、フラッシュメモリおよびリードオンリメモリ(ROM)/プログラマブルリードオンリメモリ(PROM)/消去可能プログラマブルリードオンリメモリ(EPROM)/電子的消去可能プログラマブルリードオンリメモリ(EEPROM)(たとえば、一般に、ブートプログラムなどのファームウェアに使用される)が挙げられるが、これらに限定されるものではない。揮発性メモリの例としては、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)およびディスクまたはテープが挙げられるが、これらに限定されるものではない。
記憶装置730は、コンピューティングデバイス700に対して大容量記憶を提供することができる。いくつかの実現例では、記憶装置730は、コンピュータ読取可能媒体である。さまざまな異なる実現例では、記憶装置730は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイスもしくはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、またはデバイスのアレイ(ストレージエリアネットワークもしくは他の構成のデバイスを含む)であってもよい。さらに他の実現例では、コンピュータプログラムプロダクトが情報担体の形で有形に具体化される。コンピュータプログラムプロダクトは、実行されると上記の方法などの1つ以上の方法を実行する命令を含む。情報担体は、メモリ720、記憶装置730、またはメモリオンプロセッサ710などの、コンピュータ読取可能媒体または機械読取可能媒体である。
高速コントローラ740は、コンピューティングデバイス700のための帯域幅集中型オペレーションを管理するのに対して、低速コントローラ760は、より低い帯域幅集中型オペレーションを管理する。このようなデューティの割り当ては例示に過ぎない。いくつかの実現例では、高速コントローラ740は、メモリ720に結合され、ディスプレイ780に(たとえば、グラフィックスプロセッサまたはアクセレレータを介して)結合され、さまざまな拡張カード(図示せず)を受け付け得る高速拡張ポート750に結合されている。いくつかの実現例では、低速コントローラ760は、記憶装置730および低速拡張ポート790に結合されている。さまざまな通信ポート(たとえば、USB、ブルートゥース(登録商標)、イーサネット(登録商標)、ワイヤレスイーサネット)を含み得る低速拡張ポート790は、たとえばネットワークアダプタを介して、1つ以上の入力/出力デバイス(キーボード、ポインティングデバイス、スキャナ、またはネットワーキングデバイス(スイッチもしくはルータなど)など)に結合されてもよい。
コンピューティングデバイス700は、図に示されているように、いくつかの異なる形態で実現されてもよい。たとえば、それは、標準的なサーバ700aとしてもしくはこのようなサーバ700aの群で複数回実現されてもよく、ラップトップコンピュータ700bとして実現されてもよく、またはラックサーバシステム700cの一部として実現されてもよい。
本明細書に記載されているシステムおよび技術のさまざまな実現例は、デジタル電子および/もしくは光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、ならびに/または、それらの組み合わせの形で実現可能である。これらのさまざまな実現例は、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能な1つ以上のコンピュータプログラムの形での実現例を含むことができ、プログラマブルプロセッサは、特殊目的であってもよく、または汎用であってもよく、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスに対してデータおよび命令を送受信するように結合されている。
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている)は、プログラマブルプロセッサのための機械命令を含み、高レベル手続き型プログラミング言語および/またはオブジェクト指向プログラミング言語および/またはアセンブリ/機械言語の形で実現可能である。本明細書における「機械読取可能媒体」および「コンピュータ読取可能媒体」という用語は、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラムプロダクト、非一時的なコンピュータ読取可能媒体、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を意味するものとし、機械命令を機械読取可能信号として受信する機械読取可能媒体を含む。「機械読取可能信号」という用語は、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意の信号を意味するものとする。
本明細書に記載されているプロセスおよびロジックフローは、入力データ上で動作して出力を生成することによって機能を実行するように1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実行可能である。これらのプロセスおよびロジックフローは、特殊目的論理回路(たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路))によっても実行可能である。コンピュータプログラムの実行に好適なプロセッサの例としては、汎用および特殊目的マイクロプロセッサ、ならびに任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサが挙げられる。一般に、プロセッサは、リードオンリメモリまたはランダムアクセスメモリまたはそれら両方から命令およびデータを受信する。コンピュータの不可欠な要素は、命令を実行するためのプロセッサ、ならびに、命令およびデータを格納するための1つ以上のメモリデバイスである。一般に、コンピュータは、データを格納するための1つ以上の大容量記憶装置(たとえば、磁気ディスク、光磁気ディスク、または光ディスク)も含んでおり、または、1つ以上の大容量記憶装置からデータを受信したり、1つ以上の大容量記憶装置にデータを送信したり、1つ以上の大容量記憶装置に対してデータを送受信したりするように動作可能に結合される。しかし、コンピュータは、このような装置を有していなくてもよい。コンピュータプログラム命令およびデータの格納に好適なコンピュータ読取可能媒体は、すべての形態の不揮発性メモリ、媒体およびメモリデバイスを含み、これらの例としては、半導体メモリデバイス(たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス)、磁気ディスク(たとえば、内部ハードディスクまたはリムーバブルディスク)、光磁気ディスク、ならびにCD ROMおよびDVD-ROMディスクが挙げられる。プロセッサおよびメモリは、特殊目的論理回路によって補完されてもよく、または特殊目的論理回路に組み込まれてもよい。
ユーザとの対話を提供するために、本開示の1つ以上の局面は、情報をユーザに表示するためのディスプレイデバイス(たとえば、CRT(陰極線管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーン)と、任意にユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス(たとえば、マウスまたはトラックボール)とを有するコンピュータ上で実現可能である。ユーザとの対話を提供するために他の種類のデバイスも使用されてもよい。たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック(たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であってもよく、ユーザからの入力は、音響入力、発話入力、または触覚入力を含む任意の形態で受信されてもよい。また、コンピュータは、ユーザによって使用されるデバイスに対してドキュメントを送受信することによって、たとえばウェブブラウザから受信した要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
いくつかの実現例について説明してきた。しかし、本開示の精神および範囲から逸脱することなくさまざまな変更がなされ得ることが理解されるであろう。したがって、他の実現例は、以下の特許請求の範囲の範囲内である。たとえば、特許請求の範囲に記載の動作は、異なる順序で実行されても所望の結果を達成することができる。

Claims (25)

  1. 方法であって、
    第1のネットワークのデータ処理ハードウェアにおいて、ネットワーク故障状態によって第2のネットワークのネットワークデバイスとの通信を妨げられた通信デバイスから、前記通信デバイスがデバイス動作を実行してもよいという許可を求めるハートビート要求を受信することと、
    前記第1のネットワークの前記データ処理ハードウェアにおいて、前記第2のネットワークの前記ネットワークデバイスから前記通信デバイスに対応付けられたデバイス状態データを受信することと、
    前記第1のネットワークの前記データ処理ハードウェアが、前記通信デバイスに対応付けられた前記デバイス状態データに基づいて、前記通信デバイスが前記デバイス動作の実行を許可されていることを判断することと、
    前記データ処理ハードウェアが、前記通信デバイスにハートビート確認信号を送信することとを備え、前記ハートビート確認信号は前記通信デバイスが前記デバイス動作を実行することを許可する、方法。
  2. 前記第1のネットワークの前記データ処理ハードウェアが、前記デバイス状態データをバックアップデータストアに格納することと、
    前記第1のネットワークの前記データ処理ハードウェアが、前記通信デバイスを識別するデバイス識別子を用いて前記バックアップデータストアから前記デバイス状態データを取り出すこととをさらに備え、前記デバイス識別子は、前記通信デバイスを前記バックアップデータストアに格納された前記デバイス状態データに対応付ける、請求項1に記載の方法。
  3. 前記通信デバイスが前記デバイス動作の実行を許可されていることを判断することは、
    前記デバイス状態データがハートビート確認データを含むことを判断することを備え、前記ハートビート確認データは、前記通信デバイスが前記デバイス動作を実行してもよいという前記第2のネットワークの前記ネットワークデバイスからの許可を示し、さらに、
    前記通信デバイスが前記デバイス動作の実行を許可されていると判断することを備える、請求項1または2に記載の方法。
  4. 前記第1のネットワークの前記データ処理ハードウェアが、前記通信デバイスが前記ハートビート確認信号の受信を許可されていないと判断することと、
    前記第1のネットワークの前記データ処理ハードウェアが、前記通信デバイスへの前記ハートビート確認信号の送信を防止することによって、前記通信デバイスが前記デバイス動作を実行しないようにすることとをさらに備える、請求項3に記載の方法。
  5. 前記通信デバイスが前記デバイス動作の実行を許可されていると判断することは、
    前記通信デバイスが、前記デバイス状態データが前記ハートビート確認データを含み、前記デバイス動作を実行する能力を無効にする無効化データを含まないことを判断することと、
    前記通信デバイスが前記デバイス動作の実行を許可されていると判断することとをさらに備える、請求項3または4に記載の方法。
  6. 前記デバイス状態データが前記無効化データおよび前記ハートビート確認データを含むことを判断することと、
    前記第1のネットワークの前記データ処理ハードウェアが、前記通信デバイスが前記デバイス動作を実行してもよいという許可を取り消すことと、
    前記第1のネットワークの前記データ処理ハードウェアが、前記通信デバイスへの前記ハートビート確認信号の送信を保留することによって、前記通信デバイスが前記デバイス動作を実行しないようにすることとをさらに備える、請求項5に記載の方法。
  7. 前記無効化データは、前記通信デバイスのソフトウェア更新が必要であること、前記通信デバイスが契約上の合意に従っていないこと、または前記通信デバイスが前記デバイス動作を実行するために必要なリソースを前記通信デバイスが利用できないこと、のうちの少なくとも1つの表示を含む、請求項5または6に記載の方法。
  8. 前記第2のネットワークの前記ネットワークデバイスは、
    前記ネットワーク故障状態の前に、前記通信デバイスに対応付けられた前記デバイス状態データを前記データ処理ハードウェアにプッシュすること、または
    前記データ処理ハードウェアによるプル動作に応答して、前記通信デバイスに対応付けられた前記デバイス状態データを送信すること、
    のうちの少なくとも一方を行うように構成される、請求項1~7のいずれか1項に記載の方法。
  9. 前記デバイス状態データは、前記通信デバイスを識別するデバイス識別子、前記通信デバイスが前記デバイス動作を実行する能力を無効にする無効化データ、前記通信デバイスに対応付けられた動作信頼性情報、支払状況、前記通信デバイスが組織メタデータを更新する能力、または全体的な環境の健全性の集約計算、のうちの少なくとも1つを含む、請求項1~8のいずれか1項に記載の方法。
  10. 前記通信デバイスは、前記第2のネットワークの前記ネットワークデバイスに前記ハートビート要求を送信するように構成され、
    前記第2のネットワークの前記ネットワークデバイスは、
    前記通信デバイスに前記ハートビート確認信号を送信し、
    前記通信デバイスに前記ハートビート確認信号を送信するたびに、前記通信デバイスに対応付けられた前記デバイス状態データを更新するように構成される、請求項1~9のいずれか1項に記載の方法。
  11. 前記通信デバイスが前記第2のネットワークの前記ネットワークデバイスに前記ハートビート要求を送信してから閾値期間内に前記ネットワークデバイスから前記ハートビート確認信号を受信しない場合、前記ネットワーク故障状態が存在する、請求項1~10のいずれか1項に記載の方法。
  12. 前記通信デバイスは、モノのインターネット(IoT)デバイス、温度センサ、無線基地局、モバイルデバイス、またはスマートアプライアンスを含む、請求項1~11のいずれか1項に記載の方法。
  13. システムであって、
    第1のネットワークのデータ処理ハードウェアと、
    前記データ処理ハードウェアと通信するメモリハードウェアとを備え、前記メモリハードウェアは、前記データ処理ハードウェア上で実行されると前記データ処理ハードウェアに動作を実行させる命令を格納しており、前記動作は、
    ネットワーク故障状態によって第2のネットワークのネットワークデバイスとの通信を妨げられた通信デバイスから前記通信デバイスがデバイス動作を実行してもよいという許可を求めるハートビート要求を受信することと、
    前記通信デバイスに対応付けられたデバイス状態データを前記第2のネットワークの前記ネットワークデバイスから受信することと、
    前記通信デバイスに対応付けられた前記デバイス状態データに基づいて、前記通信デバイスが前記デバイス動作の実行を許可されていることを判断することと、
    前記通信デバイスにハートビート確認信号を送信することとを備え、前記ハートビート確認信号は前記通信デバイスが前記デバイス動作を実行することを許可する、システム。
  14. 前記動作は、
    前記デバイス状態データをバックアップデータストアに格納することと、
    前記通信デバイスを識別するデバイス識別子を用いて前記バックアップデータストアから前記デバイス状態データを取り出すこととをさらに備え、前記デバイス識別子は、前記通信デバイスを前記バックアップデータストアに格納された前記デバイス状態データに対応付ける、請求項13に記載のシステム。
  15. 前記通信デバイスが前記デバイス動作の実行を許可されていることを判断することは、
    前記デバイス状態データがハートビート確認データを含むことを判断することを備え、前記ハートビート確認データは、前記通信デバイスが前記デバイス動作を実行してもよいという前記第2のネットワークの前記ネットワークデバイスからの許可を示し、さらに、
    前記通信デバイスが前記デバイス動作の実行を許可されていると判断することを備える、請求項13または14に記載のシステム。
  16. 前記動作は、
    前記通信デバイスが前記ハートビート確認信号の受信を許可されていないと判断することと、
    前記通信デバイスへの前記ハートビート確認信号の送信を防止することによって、前記通信デバイスが前記デバイス動作を実行しないようにすることとをさらに備える、請求項15に記載のシステム。
  17. 前記通信デバイスが前記デバイス動作の実行を許可されていることを判断することは、
    前記通信デバイスが、前記デバイス状態データが前記ハートビート確認データを含み、前記デバイス動作を実行する能力を無効にする無効化データを含まないことを判断することと、
    前記通信デバイスが前記デバイス動作の実行を許可されていると判断することとをさらに備える、請求項15または16に記載のシステム。
  18. 前記動作は、さらに、
    前記デバイス状態データが前記無効化データおよび前記ハートビート確認データを含むことを判断することと、
    前記通信デバイスが前記デバイス動作を実行してもよいという許可を取り消すことと、
    前記通信デバイスへの前記ハートビート確認信号の送信を保留することによって、前記通信デバイスが前記デバイス動作を実行しないようにすることとをさらに備える、請求項17に記載のシステム。
  19. 前記無効化データは、前記通信デバイスのソフトウェア更新が必要であること、前記通信デバイスが契約上の合意に従っていないこと、または前記通信デバイスが前記デバイス動作を実行するために必要なリソースを前記通信デバイスが利用できないこと、のうちの少なくとも1つの表示を含む、請求項17または18に記載のシステム。
  20. 前記第2のネットワークの前記ネットワークデバイスは、
    前記ネットワーク故障状態の前に、前記通信デバイスに対応付けられた前記デバイス状態データを前記データ処理ハードウェアにプッシュすること、または
    前記データ処理ハードウェアによるプル動作に応答して、前記通信デバイスに対応付けられた前記デバイス状態データを送信すること、
    のうちの少なくとも一方を行うように構成される、請求項13~19のいずれか1項に記載のシステム。
  21. 前記デバイス状態データは、前記通信デバイスを識別するデバイス識別子、前記通信デバイスが前記デバイス動作を実行する能力を無効にする無効化データ、前記通信デバイスに対応付けられた動作信頼性情報、支払状況、前記通信デバイスが組織メタデータを更新する能力、または全体的な環境の健全性の集約計算、のうちの少なくとも1つを含む、請求項13~20のいずれか1項に記載のシステム。
  22. 前記通信デバイスは、前記第2のネットワークの前記ネットワークデバイスに前記ハートビート要求を送信するように構成され、
    前記第2のネットワークの前記ネットワークデバイスは、
    前記通信デバイスに前記ハートビート確認信号を送信し、
    前記通信デバイスに前記ハートビート確認信号を送信するたびに、前記通信デバイスに対応付けられた前記デバイス状態データを更新するように構成される、請求項13~21のいずれか1項に記載のシステム。
  23. 前記通信デバイスが前記第2のネットワークの前記ネットワークデバイスに前記ハートビート要求を送信してから閾値期間内に前記ネットワークデバイスから前記ハートビート確認信号を受信しない場合、前記ネットワーク故障状態が存在する、請求項13~22のいずれか1項に記載のシステム。
  24. 前記通信デバイスは、モノのインターネット(IoT)デバイス、温度センサ、無線基地局、モバイルデバイス、またはスマートアプライアンスを含む、請求項13~23のいずれか1項に記載のシステム。
  25. 前記データ処理ハードウェアの少なくとも1つのプロセッサによって実行されると、前記データ処理ハードウェアに請求項1~12のいずれか1項に記載の方法を実行させる命令を備えるプログラム。
JP2021519613A 2018-10-09 2019-10-01 クラウドデグレードモードにおいてデバイス動作信頼性を継続的に確保するための方法および装置 Active JP7250121B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023044054A JP2023078322A (ja) 2018-10-09 2023-03-20 クラウドデグレードモードにおいてデバイス動作信頼性を継続的に確保するための方法および装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862743040P 2018-10-09 2018-10-09
US62/743,040 2018-10-09
PCT/US2019/054038 WO2020076557A1 (en) 2018-10-09 2019-10-01 Method and apparatus for ensuring continued device operational reliability in cloud-degraded mode

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023044054A Division JP2023078322A (ja) 2018-10-09 2023-03-20 クラウドデグレードモードにおいてデバイス動作信頼性を継続的に確保するための方法および装置

Publications (2)

Publication Number Publication Date
JP2022504548A JP2022504548A (ja) 2022-01-13
JP7250121B2 true JP7250121B2 (ja) 2023-03-31

Family

ID=68387396

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021519613A Active JP7250121B2 (ja) 2018-10-09 2019-10-01 クラウドデグレードモードにおいてデバイス動作信頼性を継続的に確保するための方法および装置
JP2023044054A Pending JP2023078322A (ja) 2018-10-09 2023-03-20 クラウドデグレードモードにおいてデバイス動作信頼性を継続的に確保するための方法および装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023044054A Pending JP2023078322A (ja) 2018-10-09 2023-03-20 クラウドデグレードモードにおいてデバイス動作信頼性を継続的に確保するための方法および装置

Country Status (6)

Country Link
US (3) US11496383B2 (ja)
EP (1) EP3864799A1 (ja)
JP (2) JP7250121B2 (ja)
KR (1) KR102567900B1 (ja)
CN (1) CN112805964B (ja)
WO (1) WO2020076557A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7271986B2 (ja) * 2019-02-13 2023-05-12 日本電信電話株式会社 ゲートウェイ、通信システム及び通信方法
JP7283103B2 (ja) * 2019-02-13 2023-05-30 日本電信電話株式会社 ゲートウェイ、通信システム及び通信方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005085102A (ja) 2003-09-10 2005-03-31 Canon Inc 保証システム
JP2009258917A (ja) 2008-04-15 2009-11-05 Mitsubishi Electric Corp プロキシサーバ、認証サーバおよび通信システム
US20140040380A1 (en) 2011-05-16 2014-02-06 Sk Telecom Co., Ltd. System and method for providing push service for reducing network loads
US20140095925A1 (en) 2012-10-01 2014-04-03 Jason Wilson Client for controlling automatic failover from a primary to a standby server

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030048503A (ko) * 2001-12-12 2003-06-25 주식회사 엘지이아이 이중화 서버 구조의 데이터 동기화를 위한 통신 시스템 및방법
US7634570B2 (en) * 2003-03-12 2009-12-15 Microsoft Corporation Managing state information across communication sessions between a client and a server via a stateless protocol
US20070041327A1 (en) * 2005-08-16 2007-02-22 Cisco Technology, Inc. Multicast heartbeat signaling
US8095828B1 (en) * 2009-08-31 2012-01-10 Symantec Corporation Using a data storage system for cluster I/O failure determination
KR20170016034A (ko) * 2010-11-05 2017-02-10 인터디지탈 패튼 홀딩스, 인크 장치 유효성 확인, 재난 표시, 및 복원
US20140079865A1 (en) 2012-09-14 2014-03-20 Cp Kelco Aps Process for Preparing a Stabilized Protein Suspension
US10061664B2 (en) * 2015-01-15 2018-08-28 Cisco Technology, Inc. High availability and failover
CN107124324B (zh) * 2016-02-25 2020-09-01 阿里巴巴集团控股有限公司 一种基于租约的心跳协议方法和设备
US10652097B2 (en) * 2018-03-30 2020-05-12 Hewlett Packard Enterprise Development Lp Virtual network probing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005085102A (ja) 2003-09-10 2005-03-31 Canon Inc 保証システム
JP2009258917A (ja) 2008-04-15 2009-11-05 Mitsubishi Electric Corp プロキシサーバ、認証サーバおよび通信システム
US20140040380A1 (en) 2011-05-16 2014-02-06 Sk Telecom Co., Ltd. System and method for providing push service for reducing network loads
US20140095925A1 (en) 2012-10-01 2014-04-03 Jason Wilson Client for controlling automatic failover from a primary to a standby server

Also Published As

Publication number Publication date
CN112805964B (zh) 2024-03-22
EP3864799A1 (en) 2021-08-18
WO2020076557A1 (en) 2020-04-16
KR102567900B1 (ko) 2023-08-18
US20240007383A1 (en) 2024-01-04
CN112805964A (zh) 2021-05-14
JP2023078322A (ja) 2023-06-06
US11784905B2 (en) 2023-10-10
US11496383B2 (en) 2022-11-08
JP2022504548A (ja) 2022-01-13
US20230030237A1 (en) 2023-02-02
KR20210044281A (ko) 2021-04-22
KR20230124099A (ko) 2023-08-24
US20220006718A1 (en) 2022-01-06

Similar Documents

Publication Publication Date Title
US7934018B1 (en) Methods and apparatus for synchronizing configuration data
US9100386B2 (en) Method and system of plug-in privilege control
US10819701B2 (en) Autonomous secrets management for a managed service identity
US8935560B2 (en) System and method of file locking in a network file system federated namespace
JP2023078322A (ja) クラウドデグレードモードにおいてデバイス動作信頼性を継続的に確保するための方法および装置
JP5091833B2 (ja) 監視対象装置管理システム、管理サーバおよび監視対象装置管理方法
US20160315954A1 (en) Detecting shared or compromised credentials through analysis of simultaneous actions
US20190286813A1 (en) Autonomous secrets management for a temporary shared access signature service
WO2017107827A1 (zh) 一种环境隔离方法及设备
WO2021184587A1 (zh) 基于Prometheus的私有云监控方法、装置、计算机设备及存储介质
US10963353B2 (en) Systems and methods for cross-regional back up of distributed databases on a cloud service
US11360788B2 (en) Transfer of control of configuration sources
CN112688983A (zh) 代理权限管理装置、终端设备及存储介质
EP2634720B1 (en) Service usage management method, recording medium, and information processing device
KR102665749B1 (ko) 클라우드 저하 모드에서 지속적인 디바이스 동작 안정성을 보장하기 위한 방법 및 장치
US10554789B2 (en) Key based authorization for programmatic clients
JP2005293088A (ja) 認証システム及び認証方法
CN117120977A (zh) 动态地获取在计算容量和资源中执行操作的范围许可
JP5894860B2 (ja) Id管理方法およびデータ管理装置
CN117435608A (zh) 多集群的数据查询方法、装置、设备和存储介质
CN117668398A (zh) 接口幂等性处理方法、装置及电子设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210629

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210629

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230105

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230320

R150 Certificate of patent or registration of utility model

Ref document number: 7250121

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150