KR20210044281A - 클라우드 저하 모드에서 지속적인 디바이스 동작 안정성을 보장하기 위한 방법 및 장치 - Google Patents

클라우드 저하 모드에서 지속적인 디바이스 동작 안정성을 보장하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20210044281A
KR20210044281A KR1020217008784A KR20217008784A KR20210044281A KR 20210044281 A KR20210044281 A KR 20210044281A KR 1020217008784 A KR1020217008784 A KR 1020217008784A KR 20217008784 A KR20217008784 A KR 20217008784A KR 20210044281 A KR20210044281 A KR 20210044281A
Authority
KR
South Korea
Prior art keywords
communication device
data
network
heartbeat
communication
Prior art date
Application number
KR1020217008784A
Other languages
English (en)
Other versions
KR102567900B1 (ko
Inventor
탈리버 히스
케이트 해리슨
매튜 바기즈
카틱 요게스와란
이 수안
Original Assignee
구글 엘엘씨
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 구글 엘엘씨 filed Critical 구글 엘엘씨
Priority to KR1020237027296A priority Critical patent/KR20230124099A/ko
Publication of KR20210044281A publication Critical patent/KR20210044281A/ko
Application granted granted Critical
Publication of KR102567900B1 publication Critical patent/KR102567900B1/ko

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]

Abstract

통신 디바이스(106)와 제1 네트워크(102)의 네트워크 디바이스(200) 사이의 통신을 방해하는 네트워크 장애 상태(fault condition)(130)가 존재하는 경우, 방법(400)은 통신 디바이스로부터 디바이스 동작을 수행하기 위해 통신 디바이스에 대한 허가를 요청하는 하트비트 요청(128)을 수신하는 단계를 포함한다. 방법은 통신 디바이스와 관련된 디바이스 상태 데이터(110)를 획득하는 단계 및 통신 디바이스가 통신 디바이스와 관련된 디바이스 상태 데이터에 기초하여 디바이스 동작을 수행하도록 허가되었는지 여부를 결정하는 단계를 더 포함한다. 통신 디바이스가 디바이스 동작을 수행하도록 허가된 경우, 방법은 또한 하트비트 확인 신호(126)를 통신 디바이스(106)로 전송하는 단계를 포함한다. 하트비트 확인 신호는 통신 디바이스가 디바이스 동작을 수행하도록 허가한다.

Description

클라우드 저하 모드에서 지속적인 디바이스 동작 안정성을 보장하기 위한 방법 및 장치
본 개시는 클라우드 저하 모드(degraded mode)에서 네트워크 연결 디바이스의 신뢰성있는 동작에 관한 것이다.
사물 인터넷(IoT) 디바이스들 및 기타 디바이스들을 지원하기 위해 매우 높은 수준의 동작 안정성을 요구하는 클라우드 서비스가 있다. 이 디바이스들은 디바이스가 진행중인 태스크 또는 동작을 계속 수행할 수 있도록 보장하기 위해 클라우드 환경으로부터 다시 하트비트(연결 유지(keep alive) 신호라고도 함)를 필요로 하는 경향이 있다. 디바이스들이 중요해지는 시점에서 클라우드 서비스가 전체 시스템 안정성의 큰 부분이 되는 문제가 발생한다.
클라우드 서비스의 신뢰성을 높이기 위한 일부 방법은 하나 이상의 위치에서 전체 시스템을 이중화하여 N+1 리던던시(중복성)를 효과적으로 제공하는 것을 포함한다. 그러나, 이 기술은 관리하기가 어렵고 그리고 두 시스템 간의 완전한 일관성은 복잡하고 비용이 많이 들 수 있다.
주(primary) 클라우드 네트워크와 같은 주 네트워크는 주 네트워크와 통신하는 다양한 디바이스에 대한 디바이스 상태 데이터를 저장하는 하나 이상의 서버와 같은 네트워크 디바이스를 포함한다. 예를 들어, 디바이스는 사물 인터넷(IoT) 디바이스, 무선 기지국, 최종 사용자 디바이스(무선 모바일 및 유선 디바이스) 또는 기타 디바이스를 포함한다. 일 예에서 보조(secondary) 클라우드 네트워크와 같은 보조 네트워크에 있는 하나 이상의 서버와 같은 백업 네트워크 디바이스는 더 작은 시스템이며, 주 네트워크에 의해 유지되는 상태 데이터의 세브 세트를 백업한다. 일부 구현에서, 보조 네트워크의 백업 디바이스는 주 네트워크로부터 획득된 유효 하트비트 확인 데이터(연결 유지 신호 데이터)의 사본을 유지한다. 일 예에서, 연결 유지 신호 데이터만 보조 네트워크에 의해 백업된다. 그러나, 디바이스 상태 데이터의 임의의 적절한 서브 세트는 또한 하트비트 확인 데이터라고도 지칭되는 연결 유지 데이터의 백업을 포함하는 한 백업될 수 있다.
일부 구현에서, 시스템은 주 클라우드 인프라에 있는 하나 이상의 서버에 의해 제공되는 주 서비스와 보조 클라우드 인프라에 있는 백업 디바이스를 통해 유지되는 하트비트 전용 시스템(HBO)으로 구성된다. 보조 네트워크는 주 네트워크와 관련하여 발생하는 장애 상태(fault condition) 동안 사용된다. 일부 구현에서 시스템, 방법 및 장치는 또한 무효화 에이전트가 장애 상태 전, 도중 또는 후에 하트비트 확인 데이터를 무효화할 수 있게 한다.
하트비트 확인 데이터는 디바이스가 주 클라우드로 동작들을 계속해도 괜찮았음을 나타내는 데이터이다. 일 예에서 하트비트 확인 데이터는 보조 네트워크의 테이블에 저장되어, 두 번째 시스템이 완전히 재작성된 소프트웨어 서비스 없이 최대 분리를 제공할 수 있다. 이는 클라우드 네트워크의 일부에서 안정성을 보장하기 위해 더 작고 독립적인 서비스를 가질뿐만 아니라 다수의 클라우드 인프라 전반에 걸쳐 상태 데이터의 완전한 일관된 사본을 가질 필요 없이 주 네트워크의 오류 상태동안에도 IoT 디바이스 또는 다른 디바이스의 일관된 동작을 유지할 수 있게 한다. 하트비트를 제공(서비스)하는 것은 잠재적으로 정적 웹 페이지 핸들러의 지점까지 훨씬 더 간단한 상태로 복제될 수 있다. 그러나, 하트비트를 제공하기 위해 임의의 적절한 동작들이 사용될 수 있다. 디바이스 하트비트 확인 데이터를 사용하여 주 클라우드 시스템에서 업데이트되는 보조 클라우드 시스템은 일관된 상태를 훨씬 더 간단하게 유지하도록 한다.
본 개시의 양태는 클라우드 저하 모드에서 네트워크 연결 디바이스들의 신뢰성있는 동작을 제공한다. 본 개시의 일 양태는 제1 네트워크와 통신하도록 적응된 통신 디바이스의 동작 신뢰성을 제공하기 위한 방법을 제공한다. 통신 디바이스와 제1 네트워크의 네트워크 디바이스 사이의 통신을 방해하는 네트워크 장애 상태가 존재하는 경우, 방법은 제2 네트워크의 데이터 처리 하드웨어에서, 디바이스 동작을 수행하기 위해 통신 디바이스에 대한 허가를 요청하는 통신 디바이스의 하트비트 요청을 수신하는 단계를 포함한다. 방법은 데이터 처리 하드웨어에 의해, 통신 디바이스와 관련된 디바이스 상태 데이터를 획득하는 단계를 더 포함한다. 방법은 또한 데이터 처리 하드웨어에 의해, 통신 디바이스가 통신 디바이스와 관련된 디바이스 상태 데이터에 기초하여 디바이스 동작을 수행하도록 허가되었는지 여부를 결정하는 단계를 포함한다. 통신 디바이스가 디바이스 동작을 수행하도록 허가된 경우, 방법은 또한 데이터 처리 하드웨어에 의해, 하트비트 확인 신호를 통신 디바이스로 전송하는 단계를 포함한다. 하트비트 확인 신호는 통신 디바이스가 디바이스 동작을 수행하도록 허가한다.
본 개시의 구현들은 다음의 선택적 특징들 중 하나 이상을 포함할 수 있다. 디바이스 상태 데이터를 획득하는 단계는 제1 네트워크의 네트워크 디바이스로부터 통신 디바이스와 관련된 디바이스 상태 데이터를 수신하는 단계를 포함할 수 있다. 일부 구현에서, 하트비트 요청을 수신하기 전에 디바이스 상태 데이터가 수신되는 경우 및 네트워크 장애 상태이 존재하지 않는 경우, 방법은 디바이스 상태 데이터를 백업 데이터 저장소에 저장하는 단계, 통신 디바이스를 식별하는 디바이스 식별자를 사용하여 백업 데이터 저장소로부터 디바이스 상태 데이터를 검색하는 단계 및 통신 디바이스를 백업 데이터 저장소에 저장된 디바이스 상태 데이터와 연관시키는 단계를 포함한다. 일부 예에서, 통신 디바이스가 디바이스 동작을 수행하도록 허가되었는지 여부를 결정하는 단계는 디바이스 상태 데이터가 하트비트 확인 데이터를 포함하는지 여부를 결정하는 단계를 포함한다. 하트비트 확인 데이터는 통신 디바이스가 디바이스 동작을 수행하기 위한 제1 네트워크의 네트워크 디바이스에 의한 허가를 나타낼 수 있다. 디바이스 상태 데이터가 하트비트 확인 데이터를 포함하는 경우, 방법은 통신 디바이스가 디바이스 동작을 수행하도록 허가된 것으로 결정하는 단계를 포함할 수 있다. 디바이스 상태 데이터가 하트비트 확인 데이터를 포함하지 않는 경우, 방법은 통신 디바이스가 하트비트 확인 신호를 수신하도록 허가되지 않은 것으로 결정하는 단계를 포함할 수 있다. 일부 예에서, 방법은 디바이스 상태 데이터가 하트비트 확인 데이터를 포함하지 않는 경우 통신 디바이스가 디바이스 동작을 수행하는 것을 방지하도록 통신 디바이스로의 하트비트 확인 신호의 전송을 방지하는 단계를 포함한다.
일부 구현에서, 통신 디바이스가 디바이스 동작을 수행하도록 허가된 것으로 결정하는 단계는 디바이스 상태 데이터가 디바이스 동작을 수행하는 기능으로부터 통신 디바이스를 무효화하는 무효화 데이터를 포함하는지 여부를 결정하는 단계를 포함한다. 이러한 구현에서, 디바이스 상태 데이터가 하트비트 확인 데이터를 포함하고 무효화 데이터를 포함하지 않는 경우, 방법은 통신 디바이스가 디바이스 동작을 수행하도록 허가된 것으로 결정하는 단계를 포함한다. 그러나, 디바이스 상태 데이터가 무효화 데이터와 하트비트 확인 데이터를 포함하는 경우, 방법은 통신 디바이스가 디바이스 동작을 수행하기 위한 허가를 취소하는 단계 및 통신 디바이스가 디바이스 동작을 수행하는 것을 방지하도록 통신 디바이스로의 하트비트 확인 신호의 전송을 보류하는 단계를 포함할수 있다. 무효화 데이터는 통신 디바이스가 소프트웨어 업데이트가 필요하고, 통신 디바이스가 계약상 동의를 준수하지 않으며 및/또는 통신 디바이스가 디바이스 동작을 수행하는데 필요한 자원이 통신 디바이스에서 사용할 수 없음을 나타낼 수 있다.
일부 예에서, 제1 네트워크의 네트워크 디바이스는 네트워크 장애 상태 이전에 통신 디바이스와 관련된 디바이스 상태 데이터를 데이터 처리 하드웨어로 푸시하도록 구성된다. 추가적으로 또는 대안적으로, 제1 네트워크의 네트워크 디바이스는 데이터 처리 하드웨어에 의한 풀(pull) 동작에 응답하여 통신 디바이스와 관련된 디바이스 상태 데이터를 전송하도록 구성될 수 있다. 디바이스 상태 데이터는 통신 디바이스를 식별하는 디바이스 식별자, 디바이스 동작을 수행하는 기능으로부터 통신 디바이스를 무효화하는 무효화 데이터, 통신 디바이스와 관련된 동작 신뢰성 정보, 결제 상태, 구성 메타 데이터를 업데이트하는 통신 디바이스의 기능 및/또는 전체 환경 보건의 집계 계산을 포함할 수 있다.
네트워크 장애 상태가 존재하지 않는 경우, 통신 디바이스는 제1 네트워크의 네트워크 디바이스로 하트비트 요청을 전송하도록 구성되고, 제1 네트워크의 네트워크 디바이스는 하트비트 확인 신호를 통신 디바이스로 전송하도록 구성될 수 있다. 네트워크 디바이스는 또한 통신 디바이스로 전송된 하트비트 확인 신호를 포함하도록 통신 디바이스와 관련된 디바이스 상태 데이터를 업데이트하도록 구성될 수 있다. 일부 구현에서, 네트워크 장애 상태는 통신 디바이스가 하트비트 요청을 네트워크로 전송한 후 임계 시간 기간내에 제1 네트워크의 네트워크 디바이스로부터 하트비트 확인 신호를 수신하지 못하는 경우에 존재한다. 통신 디바이스는 사물 인터넷(IoT) 디바이스, 온도 센서, 무선 기지국, 모바일 디바이스 또는 스마트 기기를 포함하는 포함할 수 있다.
본 개시의 다른 양태는 클라우드 저하 모드에서 네트워크 연결 디바이스의 신뢰성있는 동작들을 위한 시스템을 제공한다. 본 개시의 일 양태는 백업 네트워크의 데이터 처리 하드웨어 및 데이터 처리 하드웨어와 통신하는 메모리 하드웨어를 포함한다. 메모리 하드웨어는 데이터 처리 하드웨어에서 실행될 때 데이터 처리 하드웨어로 하여금 동작들을 수행하게 하는 명령들을 저장할 수 있다. 통신 디바이스와 주 네트워크의 네트워크 디바이스 사이의 통신을 방해하는 네트워크 장애 상태가 존재하는 경우, 동작들은 통신 디바이스로부터 하트비트 요청을 수신하는 단계를 포함한다. 하트비트 요청은 통신 디바이스가 디바이스 동작을 수행하기 위한 허가를 요청한다, 동작들은 통신 디바이스와 관련된 디바이스 상태 데이터를 획득하는 단계 및 통신 디바이스가 통신 디바이스와 관련된 디바이스 상태 데이터에 기초하여 디바이스 동작을 수행하도록 허가되었는지 여부를 결정하는 단계를 더 포함한다. 통신 디바이스가 디바이스 동작을 수행하도록 허가된 경우, 동작들은 하트비트 확인 신호를 통신 디바이스로 전송하는 단계를 포함한다. 하트비트 확인 신호는 통신 디바이스가 디바이스 동작을 수행하도록 허가한다.
본 개시의 구현들은 다음의 선택적 특징들 중 하나 이상을 포함할 수 있다. 디바이스 상태 데이터를 획득하는 단계는 주 네트워크의 네트워크 디바이스로부터 통신 디바이스와 관련된 디바이스 상태 데이터를 수신하는 단계를 포함할 수 있다. 일부 구현에서, 디바이스 상태 데이터가 하트비트 요청을 수신하기 전에 수신되는 경우 및 네트워크 장애 상태가 존재하지 않는 경우, 동작들은 디바이스 상태 데이터를 백업 데이터 저장소(318)에 저장하는 단계 및 통신 디바이스를 식별하는 디바이스 식별자를 사용하여 백업 데이터 저장소로부터 디바이스 상태 데이터를 검색하는 단계 및 통신 디바이스를 백업 데이터 저장소에 저장된 디바이스 상태 데이터와 연관시키는 단계를 포함한다. 일부 예에서, 통신 디바이스가 디바이스 동작을 수행하도록 허가되었는지 여부를 결정하는 단계는 디바이스 상태 데이터가 하트비트 확인 데이터를 포함하는지 여부를 결정하는 단계를 포함한다. 하트비트 확인 데이터는 통신 디바이스가 디바이스 동작을 수행하기 위한 주 네트워크의 네트워크 디바이스에 의한 허가를 나타낼 수 있다. 디바이스 상태 데이터가 하트비트 확인 데이터를 포함하는 경우, 동작들은 통신 디바이스가 디바이스 동작을 수행하도록 허가된 것으로 결정하는 단계를 포함할 수 있다. 디바이스 상태 데이터가 하트비트 확인 데이터를 포함하지 않는 경우, 동작들은 통신 디바이스가 하트비트 확인 신호를 수신하도록 허가되지 않은 것으로 결정하는 단계를 포함할 수 있다. 동작들은 통신 디바이스가 디바이스 동작을 수행하는 것을 방지하도록 통신 디바이스로의 하트비트 확인 신호의 전송을 방지하는 단계를 포함할 수 있다.
일부 구현에서, 통신 디바이스가 디바이스 동작을 수행하도록 허가된 것으로 결정하는 단계는 디바이스 상태 데이터가 디바이스 동작을 수행하는 기능으로부터 통신 디바이스를 무효화하는 무효화 데이터를 포함하는지 여부를 결정하는 단계를 포함한다. 이러한 구현예에서, 디바이스 상태 데이터가 하트비트 확인 데이터를 포함하고 무효화 데이터를 포함하지 않는 경우, 통신 디바이스가 디바이스 동작을 수행하도록 허가된 것으로 결정하는 단계를 포함한다. 그러나, 디바이스 상태 데이터가 무효화 데이터와 하트비트 확인 데이터를 포함하는 경우, 동작들은 통신 디바이스가 디바이스 동작을 수행하기 위한 허가를 취소하는 단계 및 통신 디바이스가 디바이스 동작을 수행하는 것을 방지하도록 통신 디바이스로의 하트비트 확인 신호의 전송을 보류하는 단계를 포함할 수 있다. 무효화 데이터는 통신 디바이스가 소프트웨어 업데이트가 필요하고, 통신 디바이스가 계약상 동의를 준수하지 않으며 및/또는 통신 디바이스가 디바이스 동작을 수행하는데 필요한 자원이 통신 디바이스에서 사용할 수 없음을 나타낼 수 있다.
일부 예에서, 주 네트워크의 네트워크 디바이스는 네트워크 장애 상태 이전에 통신 디바이스와 관련된 디바이스 상태 데이터를 데이터 처리 하드웨어로 푸시하도록 구성된다. 추가적으로 또는 대안적으로, 제1 네트워크의 네트워크 디바이스는 데이터 처리 하드웨어에 의한 풀 동작에 응답하여 통신 디바이스와 관련된 디바이스 상태 데이터를 전송하도록 구성될 수 있다. 디바이스 상태 데이터는 통신 디바이스를 식별하는 디바이스 식별자, 디바이스 동작을 수행하는 기능으로부터 통신 디바이스를 무효화하는 무효화 데이터, 통신 디바이스와 관련된 동작 신뢰성 정보, 결제 상태, 구성 메타 데이터를 업데이트하는 통신 디바이스의 기능 또는 전체 환경 보건의 집계 계산을 포함할 수 있다.
네트워크 장애 상태가 존재하지 않는 경우, 통신 디바이스는 주 네트워크의 네트워크 디바이스로 하트비트 요청을 전송하도록 구성될 수 있고, 주 네트워크의 네트워크 디바이스는 하트비트 확인 신호를 통신 디바이스로 전송하도록 구성될 수 있다. 네트워크 디바이스는 또한 통신 디바이스로 전송된 하트비트 확인 신호를 포함하도록 통신 디바이스와 관련된 디바이스 상태 데이터를 업데이트하도록 구성될 수 있다. 일부 구현에서, 네트워크 장애 상태는 통신 디바이스가 하트비트 요청을 네트워크로 전송한 후 임계 시간 기간내에 제1 네트워크의 네트워크 디바이스로부터 하트비트 확인 신호를 수신하지 못하는 경우에 존재한다. 통신 디바이스는 사물 인터넷(IoT) 디바이스, 온도 센서, 무선 기지국, 모바일 디바이스 또는 스마트 기기를 포함할 수 있다.
도 1은 주 네트워크와 보조 네트워크를 포함하는 예시적인 네트워크 시스템의 개략도이다.
도 2는 도 1의 네트워크 시스템의 주 네트워크에서 사용되는 예시적인 네트워크 디바이스의 개략도이다.
도 3은 도 1의 네트워크 시스템의 보조 네트워크에서 사용되는 예시적인 백업 디바이스의 개략도이다. 1.
도 4는 주 네트워크와 통신하도록 구성된 통신 디바이스에 대한 동작 신뢰성을 제공하는 방법에 대한 동작들의 예시적인 배열의 흐름도이다.
도 5는 주 네트워크와 통신하도록 구성된 통신 디바이스에 대한 동작 신뢰성을 제공하는 방법에 대한 동작들의 예시적인 배열의 흐름도이다.
도 6은 주 네트워크와 통신하도록 적응된 통신 디바이스에 대한 동작 신뢰성을 제공하는 방법에 대한 동작들의 예시적인 배열의 흐름도이다.
도 7은 예시적인 컴퓨팅 디바이스의 개략도이다.
다양한 도면에서 유사한 참조 기호는 유사한 요소를 나타낸다.
도 1은 주 네트워크(102)와 보조 네트워크(104)를 사용하는 네트워크 시스템(100)의 일 예를 도시한다. 일 예에서, 주 네트워크(102)는 제1 제공자에 의해 운영되는 클라우드 네트워크 인프라이고, 보조 네트워크(104)는 다른 서비스 제공자에 의해 운영되는 다른 클라우드 네트워크 인프라이다. 그러나, 임의의 적절한 네트워크 구성이 사용될 수 있다. 다양한 통신 디바이스(106, 106a-e)는 무선 또는 유선 인터페이스를 통한 기술을 통해 주 네트워크(102)에 등록하고 통신한다. 5개의 상이한 유형의 통신 디바이스(106)의 예가 도시되어 있지만, 임의의 수의 통신 디바이스(106)가 임의의 주어진 시간에 주 네트워크(102)에 등록하고 통신할 수 있다. 예를 들어, 일부 통신 디바이스(106a, 106b, 106e)는 사물 인터넷(IoT) 디바이스 또는 건물에 있는 온도 센서 또는 스마트 기기와 같은 사용자 장비(UE) 디바이스 또는 모바일 컴퓨팅 디바이스(예를 들어, 스마트 폰, 태블릿, 웨어러블 등)를 포함할 수 있다. 다른 통신 디바이스(106c, 106d)는 무선 기지국을 포함할 수 있다. 도시된 예에서, 각각의 통신 디바이스(106)는 인터넷 프로토콜(IP) 기반 통신 프로토콜 또는 임의의 다른 적절한 프로토콜을 통해 주 네트워크(102)와 통신한다. 일 예에서, 하나 이상의 통신 디바이스(106)는 인터넷 기반 클라우드 네트워크 시스템의 일부로서 도메인 네임 시스템(Domain Name System : DNS))를 통해 주 네트워크(102) 및 보조 네트워크(104)와 통신할 수 있다. 주 네트워크(102)는 주 네트워크 디바이스(200)를 포함한다. 네트워크 디바이스(200)(예를 들어, 도 1의 주 네트워크 디바이스(200))는 하나 이상의 통신 디바이스(106)와 통신하는 웹 서버와 같은 하나 이상의 서버 일 수 있다. 이와 같이, 네트워크 디바이스(200)는 데이터 처리 하드웨어(210) 및 그 데이터 처리 하드웨어(210)와 통신하는 메모리 하드웨어 (220)를 포함한다. 일부 예에서, 네트워크 디바이스(200)는 웹 등록 서비스(202)와 같은 소프트웨어 애플리케이션 또는 서비스를 실행한다. 통신 디바이스들(106)은 웹 등록 서비스(202)에 등록하여, 통신 디바이스(106)가 진행중인 태스크 또는 동작을 계속 수행하도록 허가하기 위해 하트비트 확인 신호(126)(하트비트 확인 또는 연결 유지 신호로도 지칭됨)를 수신할 수 있다. 모든 통신 디바이스(106)는 모든 IoT 유형 디바이스와 같이 동일한 유형일 수 있거나, 스마트폰 및 그 스마트 폰이 통신 목적으로 사용할 수 있는 무선 기지국과 같은 상이한 유형의 디바이스의 다양한 조합일 수 있다. 예시적인 주 네트워크(102)는 민수용 광대역 무선 서비스 (CBRS) 시스템을 포함한다. 그러나, 주 네트워크(102)는 임의의 적절한 시스템일 수 있다.
IoT 디바이스(106a)와 같은 통신 디바이스(106)는 네트워크 디바이스(200)가 하트비트 확인 신호(126)를 다시 전송하도록 요청하는 주 네트워크(102)의 네트워크 디바이스(200)(예를 들어, 데이터 처리 하드웨어(210))에 하트비트 요청(128)을 전송한다. 하트비트 확인 신호(126)는 하트비트 확인 데이터(118)를 포함할 수 있다. IoT 디바이스(106a)가 하트비트 확인 신호(126)를 수신하는 경우, IoT 디바이스(106a)는 네트워크 장애 상태(130)가 존재하지 않기 때문에 주 네트워크(102)로 현재 태스크 또는 동작을 계속 실행한다. 통신 디바이스와 네트워크 디바이스(200) 사이의 하트비트 요청(128)과 하트비트 확인 신호(126)의 통신은 20초, 240 초 또는 임의의 적절한 기간마다 적어도 한 번 발생할 수 있다. 일부 구현에서, 서버 (200)는 각각의 특정 통신 디바이스(106)에 발행된 하트비트 확인 데이터(118)를 나타내는 디바이스 상태 데이터(110)를 기록하고, 그 디바이스 상태 데이터(110)를 네트워크 디바이스(200)와 통신하는 디바이스 상태 데이터 저장소(212)에 특정 통신 디바이스(106)와 관련된 디바이스 식별자(ID)(114)와 함께 저장한다. 일부 예에서, 디바이스 상태 데이터 저장소(212)는 네트워크 디바이스(200)의 메모리 하드웨어(220)에 상주한다. 디바이스 상태 데이터 저장소(212)에 저장된 디바이스 상태 데이터(110)는 주 네트워크(102)와의 현재 태스크 또는 동작을 실행하는 것과 관련된 정보를 포함하여 다른 정보를 포함한다. 디바이스 상태 데이터(110)는 결제 상태를 나타내는 데이터, 구성 메타 데이터를 업데이트하는 기능, 전체 환경 보건의 집계 계산, 및/또는 임의의 다른 적절한 데이터를 포함할 수 있지만 이에 한정되지 않는다. IoT 디바이스(106a)가 하트비트 요청(128)의 발행에 응답하여 대응하는 하트비트 확인 신호(126)를 수신하는 한, IoT 디바이스(106a)는 주 네트워크(102)와의 동작을 계속할 수 있음을 알고 있다. 그러나, IoT 디바이스(106a)는, 예를 들어 하트비트 확인 신호(126)가 주 네트워크(102)로부터 수신되지 않는 경우, 주 네트워크(102)에서 네트워크 장애 상태(130)가 발생했음을 인식할 것이다. 일부 예에서, 통신 디바이스들(106)은 하트비트 요청(128)을 발행/송신한 후 사전 결정된 기간 내에 하트비트 확인 신호(126)가 수신되지 않는 경우 네트워크 장애 상태(130)가 존재함을 인식한다.
일부 예에서, 주 네트워크(102)는 제1 제공자의 클라우드 네트워크이다. 클라우드 네트워크(102)(예를 들어, 주 네트워크(102)(도 1))는 주 네트워크 디바이스(200)를 포함할 수 있다. 주 네트워크 디바이스는 웹 등록 서비스(202)를 실행할 수 있다. 일부 예에서, 통신 디바이스는 웹 등록 서비스(202)에 등록하여 주 네트워크(102)와의 동작들을 수행한다. 디바이스 상태 데이터(110)는 통신 디바이스(106)가 주 클라우드 네트워크와의 동작을 수행하는 동안 저장되는 상태 데이터일 수 있다. 예를 들어, IoT 디바이스(106a)가 CBRS 시스템에서 통신하는 모바일 디바이스이고 주 네트워크(102)가 CBRS 시스템의 스펙트럼 분석 시스템(SAS)에 해당하는 경우, IoT 디바이스(106a)는 주 네트워크(102)의 주 네트워크 디바이스(200)로 하트비트 요청(128)을 전송하고 IoT 디바이스(106a)가 주 네트워크(102)와 통신할 수 있음을 나타내는 대응 하트비트 확인 신호(126)를 수신할 수 있다. 이와 같이, 주 네트워크(102)의 네트워크 디바이스(200)는 하트비트 확인 데이터(118)를 대응하는 디바이스 ID(114)를 통해 IoT 디바이스(106a)에 링크된 디바이스 상태 데이터(110)로서 디바이스 상태 데이터 저장소(212)에 저장할 수 있으며, 이에 따라 디바이스 상태 데이터(110)는 주 네트워크(102)에서 IoT 디바이스(106a)의 동작 인스턴스가 적절함을 나타낸다. 즉, IoT 디바이스(106a)가 웹 등록 서비스(202)에 적절하게 등록되었음을 나타낸다.
일부 예에서, 보조 네트워크(104)는 백업 네트워크 디바이스(300)를 포함한다. 백업 네트워크 디바이스(300)는 폴백 네트워크 디바이스(300), 백업 디바이스(300) 또는 미러 네트워크 디바이스(300)로 지칭될 수 있다. 네트워크 디바이스(300)는 하나 이상의 통신 디바이스(106)와 통신하는 웹 서버와 같은 하나 이상의 서버일 수 있다. 이와 같이, 백업 네트워크 디바이스(300)는 데이터 처리 하드웨어(310) 및 그 데이터 처리 하드웨어(310)와 통신하는 메모리 하드웨어(320)를 포함한다. 메모리 하드웨어(320)는 데이터 처리 하드웨어(310)에서 실행될 때 데이터 처리 하드웨어(310)로 하여금 흐름도(400, 500, 600)(도 4-6)에 대해 설명된 것과 같은 동작들을 수행하게 하는 명령들(명령어)를 저장할 수 있다. 이 예에서, 보조 네트워크(104)의 백업 네트워크 디바이스(300)는 주 네트워크 디바이스(200)에 의해 주 네트워크(102)의 데이터 저장소(212)에 저장되는 디바이스 상태 데이터 (110)의 서브 세트를 저장하거나 미러링한다. 주 네트워크(102)로부터 획득된 상태 데이터(110)의 서브 세트는 백업 네트워크 디바이스(300)에 의해 백업되고 백업된 디바이스 상태 데이터(110)로 도 1에 도시된다. 따라서, 네트워크 디바이스(300)는 예를 들어 통신 디바이스(106)에 의해 인식되는 주 네트워크(102)와 관련된 네트워크 장애 상태(130) 동안 디바이스 상태 데이터(110)의 서브 세트에 대한 백업 또는 폴백 디바이스 역할을 한다. 상태 데이터(110)의 서브 세트는 클라우드에서 실행중인 애플리케이션의 클라우드 인스턴스와 관련된 백업 동작의 일부로서 보조 네트워크(104)로 푸시되거나 보조 네트워크(104)에 의해 풀링되는 것을 포함하는 임의의 적절한 메커니즘을 통해 주 네트워크(102)에 의해 제공된다. 백업 디바이스(300)에서 실행되는 소프트웨어 애플리케이션은 백업 동작을 수행할 수 있다. 이 예에서, 보조 네트워크(104)는 주 네트워크(102)보다 더 작은 클라우드 네트워크이므로 백업 시스템의 비용 및 운영 복잡성을 감소시킨다. 또한, 보조 네트워크(104)의 백업 디바이스(300)는 주 네트워크(102)와 통신하는 각각의 디바이스에 대해 주 네트워크(102)에 의해 유지되는 상태 데이터(110)의 서브 세트만을 백업함으로써 저장 비용 및 운영 복잡성을 감소시킨다. 예를 들어, 보조 네트워크(104)는 통신 디바이스(106)가 새로 등록하는 것을 허가하지 않을 수 있다. 즉, 일부 구현에서, 백업 디바이스(300)는 웹 등록 서비스를 실행하지 않는다.
네트워크 시스템(100)은 또한 주 네트워크(102)와 보조 네트워크(104)에 대해 통신 디바이스(106)를 무효화하도록 승인된 임의의 적절한 디바이스일 수 있는 무효화 에이전트(120)(예를 들어, 하트비트 무효화 에이전트(120)(도 1))를 포함한다. 무효화 에이전트(120)는 대응하는 무효화 데이터(124, 124a)를 주 네트워크(102)와 관련된 주 네트워크 디바이스(200) 및/또는 대응하는 무효화 데이터(124, 124b)를 보조 네트워크(104)와 관련된 백업 디바이스(300)로 제공할 수 있다. 소프트웨어 서비스 제공자, 시스템 관리자 또는 다른 엔티티는 무효화 에이전트(120)를 이용하여 특정 통신 디바이스들(106)로부터 (예를 들어, 하트비트 요청(128)을 통해) 요청될 때 네트워크(102, 104)로부터 하트비트 확인 신호들(126)을 수신하지 않아야 하는 특정 통신 디바이스들(106)을 식별할 수 있다. 보다 구체적으로, 무효화 데이터(124)는 특정 통신 디바이스(106)로 하트비트 확인 신호 (126)를 전송하지 않도록 주 네트워크 디바이스(200) 및/또는 백업 디바이스(300)에 지시함으로써 태스크 또는 동작을 수행하는 기능으로부터 특정 통신 디바이스(106)를 무효화한다. 무효화 에이전트(120)는 통신 디바이스(106)가 디바이스 동작을 수행하는데 필요한 자원이 통신 디바이스(106)에 이용 가능하지 않다고 결정할 수 있다. 이는 예를 들어 무효화 에이전트(120)가 특정 주파수 또는 주파수 세트가 통신 디바이스(106b)에 의한 사용을 위해 기지국(106c)으로부터 이용 가능하지 않다고 결정하는 경우 CBRS 시스템에서 수행될 수 있다. 예를 들어 CBRS 시스템의 하나 이상의 기지국(예를 들어, 106c)에 의해 사용되는 주파수 또는 특정 주파수들은 시스템 및/또는 무효화 에이전트(120)에 의해 정부 기관에 의해 사용 중이고 비정부 디바이스에 의해 사용 불가능한 것으로 결정될 수 있다. 통신 디바이스(106b)는 이러한 주파수에 액세스하려는 시도가 방지될 수 있다. 다른 시스템에서, 사물 인터넷(IoT) 디바이스(106a)는 소프트웨어 업데이트가 필요한 경우, 통신 디바이스의 소유자가 소프트웨어 사용과 관련하여 이루어진 계약상 합의 또는 다른 기준을 준수하지 않는 경우 주 네트워크(102)를 사용하는 것이 방지될 수 있다.
백업 디바이스(300)는 하트비트 확인 데이터(118)를 포함하여 디바이스 상태 데이터(110)의 백업된 서브 세트를 저장하는 백업 데이터 저장소(318)와 같은 메모리를 포함한다. 하트비트 확인 데이터(118)는 주 네트워크(102)로부터 획득된 유효 하트비트 확인 데이터(118)의 사본을 포함한다. 일부 구현에서, 주 네트워크 디바이스(200)에 제공된 무효화 데이터(124a)는 백업 디바이스(300)로 전파되어 백업 데이터 저장소(318)에 저장된다. 예를 들어, 백업 네트워크 디바이스(300)에 의해 백업된 상태 데이터(110)의 서브 세트는 통신 디바이스와 무효화 에이전트(120) 간의 데이터 매핑을 나타내는 데이터를 포함할 수 있다. 일부 구현에서, 백업 네트워크 디바이스(300)에 제공된 무효화 데이터(124b)는 백업 데이터 저장소(318)에 저장된다. 다른 예에서, 연결 유지 신호 데이터(118)(하트비트 확인 데이터)만이 보조 네트워크(104)에 의해 백업된다. 이것은 테이블 형식과 같이 메모리의 작은 사용을 허용할 수 있다.
이와 같이, 보조 네트워크(104)의 백업 디바이스(300)는 주 네트워크(102)와 통신하는 특정 통신 디바이스의 동작 신뢰성 정보만을 백업한다. 일 예에서, 하트비트 확인 데이터(118)라고도 지칭되는 연결 유지 신호 데이터 만이 주 네트워크(102)로부터 백업된다. 하트비트 확인 데이터(118)는 주 네트워크(102)를 이용하여 디바이스에 의해 수행되는 진행중인 통신 또는 태스크와 관련되고, 주 네트워크(102)의 주 네트워크 디바이스(200)는 통신 디바이스(106)가 통신 디바이스(106)와 주 네트워크 디바이스(200) 사이의 통신을 방지하는 네트워크 장애 상태(130)의 존재하에 태스크 또는 동작을 계속 수행하도록 허가한다는 것을 나타낼 수 있다. 일부 구현에서, 무효화 데이터(124b)는 주 네트워크(102)와 관련된 네트워크 장애 상태(130) 동안 백업 디바이스(300)에 직접 제공된다. 본 명세서에 설명된 동작들은 주 네트워크(102)와 관련된 네트워크 장애 상태(130) 동안 태스크 또는 동작을 계속 수행하기 위해 통신 디바이스에 대한 허가를 계속 전파하고 취소하기 위한 하트비트 비승인에 대한 기능 수준인 If This Then That 유형을 제공한다. 예를 들어, 무효화 에이전트(120)는 무효화 에이전트(120)가 주 네트워크(102)와 관련된 네트워크 장애 상태(130)을 검출할 때 무효화 메시지(122)를 백업 디바이스(300)로 전송할 수 있다. 네트워크 시스템(100) 및 방법(400, 500, 600)은 하트비트 신호 프로토콜을 구성하고 처리하기 위한 매우 간단한 기술을 제공한다. 위에서 언급한 바와같이, 일 예에서 시스템은 주 서비스와 하트비트 전용 백업 서비스로 구성된다. 주 서비스는 주 네트워크(102)의 클라우드 인프라에서 실행되는 반면, 하트비트 전용 서비스는 주 네트워크(102)와 관련된 네트워크 장애 상태(130)에 응답하여 디바이스(106)에 대한 보조 네트워크(104)에 의한 작동성을 확인하는 기능을 가진 완전히 별개의 클라우드 인프라, 즉 보조 네트워크(104)에서 실행된다.
도 2를 참조하면, 네트워크 디바이스(200)는 웹 등록 서비스(202)를 실행할 수 있고, 통신 디바이스(106)는 웹 등록 서비스(202)에 등록하여 통신 디바이스(106)가 태스크 또는 동작을 시작하거나 계속 수행하도록 하용하는 하트비트 신호(126)(하트비트 확인 신호, 연결 유지 신호 또는 단순히 하트비트라고도 지칭됨)를 수신할 수 있다. 도시된 예에서, 통신 디바이스(106)는 네트워크 디바이스(200)로 하트비트 요청(128)을 전송하고 대응하는 하트비트 확인 신호(126)를 수신할 수 있다. 일부 구현에서, 통신 디바이스(106)는 연속적으로 (예를 들어, 일정한 간격으로) 하트비트 신호(126)를 수신하고 하트비트 신호(126)를 수신하는 것에 응답하여 태스크 또는 동작을 계속 수행한다. 일부 예에서, (예를 들어, 하트비트 요청(128) 및 대응하는 하트비트 확인 신호(126)의 통신을 통해) 네트워크 디바이스(200)와 통신하는 특정 통신 디바이스(106)에 대해, 네트워크 디바이스(200)는 그 특정 통신 디바이스(106)와 관련된 디바이스 식별자(ID)(114)와 함께 디바이스 상태 데이터(110)를 디바이스 상태 데이터 저장소(212)에 기록한다. 디바이스 ID(114)는 통신 디바이스(106)를 고유하게 식별할 수 있다. 디바이스 상태 데이터 110는 결제 상태를 나타내는 이에 한정되지 않지만 데이터, 구성 메타 데이터 업데이트 기능, 전체 환경 보건의 집계 계산 및/또는 임의의 다른 적절한 데이터와 같이 통신 디바이스(106)에 의해 수행되는 동작 또는 태스크와 관련된 임의의 정보를 포함할 수 있다. 디바이스 ID(114)는 예를 들어 데이터 저장소(212)에 저장되고 특정 통신 디바이스(106)와 관련된 디바이스 상태 데이터(110)를 조회하거나 식별하기 위한 인덱스로서 사용될 수 있다. 특정 통신 디바이스(106)와 관련된 디바이스 상태 데이터(110)는 인덱스로서 디바이스 ID(114)를 사용하여 시간에 따라 업데이트될 수 있다. 예를 들어, 네트워크 디바이스(200)는 통신 디바이스(106)가 네트워크 디바이스(200)로부터 하트비트 확인 신호(126)를 수신하는 것에 응답하여 태스크 또는 동작을 계속 수행함에 따라 디바이스 상태 데이터(110)를 업데이트할 수 있다. 일부 예에서, 디바이스 상태 데이터(110)는 통신 디바이스(106)가 태스크 또는 동작을 수행하도록 허가하기 위해 네트워크 디바이스(200)에 의해 통신 디바이스(106)로 전송된 하트비트 확인 신호들(126)과 관련된 하트비트 확인 데이터(118)를 포함한다.
일부 구현에서, 네트워크 디바이스(200)는 네트워크 디바이스(200)가 통신 디바이스(106)로 하트비트 신호(126)를 전송할 때마다 하트비트 확인 데이터(118)를 업데이트한다. 이와 같이, 하트비트 확인 데이터(118)는 통신 디바이스(106)로부터 수신된 타임 스탬프된 하트비트 요청(128) 및 통신 디바이스(106)로 전송된 타임 스탬프된 하트비트 신호(126)의 로그(기록)를 제공할 수 있다. 도시된 예에서, 디바이스 상태 데이터(110)는 네트워크 디바이스(200)가 통신 디바이스(106)가 태스크 또는 동작을 시작하거나 계속 수행하도록 허가한 가장 최근 시간을 반영할 수 있다. 일부 예에서, 네트워크 디바이스(200)는 무효화 에이전트(120)로부터 무효화 메시지(122)를 수신한다. 무효화 메시지(122)는 통신 디바이스(106)가 주 네트워크 디바이스(200)로부터 어떠한 하트비트 확인 신호(126)도 수신하지 않아야 함을 나타내는 하트비트 무효화 데이터(124, 124a)를 포함할 수 있다. 예를 들어, 사물 인터넷(IoT) 디바이스(106a)는 IoT 디바이스(106a)가 잠재적인 보안 취약성을 해결하기 위해 소프트웨어 업데이트를 필요로하거나 IoT 디바이스(106a)의 소유자가 유효한 소프트웨어 라이선스를 얻거나 유지하는 것과 같은 계약상 동의를 준수하지 않을 때 주 네트워크 (102)를 사용하는 것이 방지될 수 있다. 무효화 메시지(122)는 통신 디바이스(106)가 가능한 한 주 네트워크 디바이스(200)로부터 어떠한 하트비트 확인 신호(126)도 수신해서는 안된다는 이러한 기준 또는 다른 기준의 표시를 포함하는 하트비트 무효화 데이터(124, 124a)를 포함할 수 있다. 무효화 데이터(124a)는 태스크 또는 동작을 수행하기 위해 특정 통신 디바이스(106)에 대한 주 네트워크 디바이스(200)(예를 들어, 웹 등록 서비스(202))에 의한 허가를 나타내는 하트비트 확인 데이터(118)를 포함하는 하트비트 확인 신호(126)를 수신하지 않아야 하는 특정 통신 디바이스(106)를 식별하는 디바이스 식별자(114)(예를 들어, 디바이스 ID 114(도 1))를 포함할 수 있다. 따라서, 무효화 에이전트(120)(예를 들어, 하트비트 무효화 에이전트(120)(도 1))로부터 무효화 메시지(122)에 포함된 무효화 데이터(124a)를 수신하는 것에 응답하여, 네트워크 디바이스(200)는 무효화 데이터(124a)에 의해 식별된 통신 디바이스(106)에 하트비트 확인 신호(126)를 전송하는 것을 거부할 수 있다. 예를 들어, 네트워크 디바이스(200)가 태스크 또는 동작을 수행하기 위해 통신 디바이스(106)로부터 하트비트 요청(128)을 수신하는 경우, 네트워크 디바이스(200)는 관련 디바이스 ID(114)를 사용하여 데이터 저장소(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)에 의해 인식되는 바와 같이, 주 네트워크(102)와 관련된 네트워크 장애 상태(130)(도 1)가 발생할 수 있다. 예를 들어, 통신 디바이스(106)는 주 네트워크(102)에 연결할 수 없거나 하트비트 요청(128)을 전송한 후 임계 시간 기간 내에 하트비트 확인(126)을 수신하지 못할 수 있다. 주 네트워크(102)와 관련된 네트워크 장애 상태(130)는 주 네트워크(102)에 영향을 미치는 정전 또는 손상된 통신 케이블 또는 광섬유, 또는 통신 디바이스(106)와 주 네트워크(102) 사이의 통신을 방해하는 임의의 다른 장애로 인해 발생할 수 있다. 일부 예에서, 네트워크 장애 상태(130)는 주 네트워크(102)가 동작 중일지라도 주 네트워크(102)와 통신하는 통신 디바이스(106)의 기능 장애로 인한 것이다. 네트워크 장애 상태(130)의 다른 소스도 당연히 적용될 수 있다. 일부 예에서, 통신 디바이스(106)가 임계 시간 기간 내에 하트비트 확인(126)을 수신하지 못하는 경우, 통신 디바이스(106)는 웹 등록 서비스(202)에 재등록을 시도한다. 이러한 예에서, 통신 디바이스(106)가 연결 타임 아웃 기간 내에 웹 등록 서비스(202)에 재등록할 수 없는 경우 네트워크 장애 상태(130)가 설정(수립)될 수 있다. 통신 디바이스(106)는 네트워크 장애 상태(130) 동안 주 네트워크(102)로부터 하트비트 확인 신호(126)를 수신하지 않을 수 있으므로, 통신 디바이스(106)는 주기적인 하트비트 확인 신호(126)를 수신하면 컨디셔닝된(조건화된) 태스크 또는 동작의 수행을 중단할 것이다. 일부 예에서, 주 네트워크와 관련된 네트워크 장애 상태(130) 동안, 통신 디바이스(106)는 주 네트워크(102) 대신에 보조 네트워크(104)와의 통신을 개시하도록 구성된다. 즉, 보조 네트워크(104)는 통신 디바이스(106)가 주 네트워크 (102)의 주 네트워크 디바이스(200)로부터 하트비트 확인 신호(126)를 수신할 수 없는 경우 통신 디바이스(106)로부터의 하트비트 요청(128)을 서비스(제공)하고 네트워크 장애 상태(130) 동안 통신 디바이스(106)로 하트비트 확인 신호(126)를 발행하기 위한 폴백을 제공할 수 있다. 도시된 예에서, 통신 디바이스(106)는 네트워크 장애 상태(130) 동안 백업 디바이스(300)의 백업 하트비트 확인 제어기(304)로 하트비트 요청(128)을 전송하고, 통신 디바이스(106)가 주 네트워크(102)의 주 네트워크 디바이스(200)와 통신할 수 없음에도 불구하고 통신 디바이스(106)가 태스크 또는 동작을 계속 수행할 수 있도록 허용하기 위해 대응하는 하트비트 확인 신호(126)(연결 유지 신호라고도 지칭됨)를 수신한다. 여기서, 통신 디바이스(106)에 하트비트 확인 신호(126)를 전송하기 전에, 백업 하트비트 확인 제어기(304)는 먼저 백업 제어기(302)에 질의하여 통신 디바이스(106)와 관련된 백업된 디바이스 상태 데이터(110)가 통신 디바이스(106)가 하트비트 확인 신호(126)를 수신하도록 허용되었음을 나타내는지 여부를 결정할 수 있다.
도시된 예에서, 디바이스 하트비트 백업 제어기(302)는 주 네트워크(102)의 주 네트워크 디바이스(200)로부터 디바이스 상태 데이터(110)의 적어도 서브 세트를 수신한다. 상태 데이터의 서브 세트(110)는 하트비트 확인 데이터(118), 통신 디바이스(106)와 관련된 디바이스 ID(114), 및 하트비트 무효화 에이전트(120)로부터 수신된 주 네트워크 등록 디바이스(200)(예를 들어, 주 네트워크 디바이스(200)(도 1))의 임의의 무효화 데이터(124a)를 포함할 수 있다. 일부 예에서, 수신된 상태 데이터(110)(예를 들어, 디바이스 상태 데이터(110(도 1)))는 앞서 설명한 바와 같이 주 네트워크(102)의 디바이스 상태 데이터 저장소(212)에 저장된 통신 디바이스(106)와 관련된 모든 상태 데이터(110)를 포함한다. 일부 예에서, 수신된 상태 데이터(110)는 하트비트 확인 데이터(118)만을 포함한다. 상태 데이터(110)의 다른 서브 세트가 백업 제어기(302)에 의해 수신될 수 있다. 일부 구현에서, 주 네트워크 디바이스(200)는 주 네트워크 디바이스(200)가 통신 디바이스(106)로 하트비트 확인 신호(126)를 전송하는 동안 디바이스 상태 데이터(110)를 백업 제어기(302)로 푸시한다. 이러한 구현에서, 주 네트워크 디바이스(200)는 통신 디바이스(106)와 관련된 디바이스 상태 데이터(110)를 주기적인 간격으로 상태 데이터(110)가 변경될 때 또는 임의의 다른 적절한 상황하에서 백업 제어기(302)로 푸시할 수 있다. 추가적인 구현에서, 백업 디바이스(300)의 백업 제어기(302)는 풀링 동작 동안 주 네트워크(102)로부터 디바이스 상태 데이터(110)를 풀링한다. 예를 들어, 백업 제어기(302)는 스케줄된 백업 동작의 일부로서 및/또는 통신 디바이스로부터 하트비트 요청(128)을 수신하는 백업 확인 제어기(304)에 응답하여 주 네트워크 디바이스(200)로부터 디바이스 상태 데이터(110)를 풀링(가져옴)할 수 있다. 예를 들어, 백업 제어기(302)는 관련된 하나 이상의 디바이스 ID(114)를 이용하여 주 네트워크 디바이스(200)를 질의함으로써 하나 이상의 통신 디바이스(106)에 대한 상태 데이터(110)의 서브 세트를 풀링할 수 있다. 일부 예에서, 백업 제어기(302)는 백업 데이터 저장소(318)에 주 네트워크 디바이스(200)로부터 수신된 디바이스 상태 데이터(110)를 백업한다. 도 2의 디바이스 상태 데이터 저장소(212)와 마찬가지로, 백업 데이터 저장소(318)는 디바이스 상태 데이터(110)와 관련된 통신 디바이스(106)를 식별하는 디바이스 ID(114)를 사용하여 그 안에 저장된 수신된 디바이스 상태 데이터(110)를 인덱싱할 수 있다. 일 예에서, 백업 디바이스(300)는 디바이스 ID(114)에 의해 인덱싱된 룩업(질의) 테이블을 포함한다. 백업 데이터 저장소(318)로부터 수신된 디바이스 상태 데이터(110)를 저장, 인덱싱, 질의 및 검색하기 위한 다른 기술도 가능하다.
도 2를 참조하여 전술한 바와 같다. 수신된 디바이스 상태 데이터(110)는 네트워크 디바이스(200)가 통신 디바이스(106)가 태스크 또는 동작을 시작하거나 계속 수행하도록 허용한 가장 최근 시간을 반영할 수 있다. 따라서, 백업 데이터 저장소(318)에 저장된 수신된 디바이스 상태 데이터(110)는 네트워크 디바이스(200)가 통신 디바이스(106)가 태스크 또는 동작을 시작하거나 계속 수행하도록 허용한 가장 최근 시간을 반영할 수 있다. 여기서, 백업 제어기(302)에 의해 수신된 디바이스 상태 데이터(110)는 또한 무효화 에이전트(120)로부터 무효화 메시지(122)에 주 네트워크(102)의 주 네트워크 디바이스(200)에 의해 이전에 수신된 하트비트 무효화 데이터(124, 124a)를 포함할 수 있다. 즉, 디바이스 하트비트 백업 제어기(302)는 하트비트 무효화 에이전트(120)로부터 직접이 아니라 주 네트워크(102)를 통해 간접적으로 무효화 데이터(124, 124a)를 수신할 수 있다. 따라서, 백업 데이터 저장소(318)에 저장된 상기 수신된 디바이스 상태 데이터(110)는 통신 디바이스(106)가 어떠한 하트비트 확인 신호(126)도 수신해서는 안된다는 표시를 반영할 수 있다. 일부 예에서, 백업 제어기(302)는 무효화 에이전트(120)로부터 직접 무효화 메시지(122)를 수신한다. 무효화 메시지(122)는 통신 디바이스(106)가 하트비트 요청(128)을 백업 확인 제어기(304)로 전송하는 것에 응답하여 통신 디바이스(106)가 보조 네트워크(104)의 백업 확인 제어기(304)로부터 어또한 하트비트 확인 신호(126)도 수신하지 않아야 함을 나타내는 하트비트 무효화 데이터(124, 124b)(예를 들어, 무효화 데이터(124, 124b)(도 1))를 포함할 수 있다. 무효화 데이터(124b)는 특정 통신 디바이스(106)가 태스크 또는 동작을 수행하도록 허용하는 하트비트 확인 데이터(118)를 포함하는 하트비트 확인 신호(126)를 수신하지 않아야 하는 특정 통신 디바이스(106)를 식별하는 디바이스 ID(114)를 포함할 수 있다. 무효화 에이전트(120)는 대응하는 무효화 데이터(124, 124a)를 주 네트워크(102)와 관련된 주 네트워크 디바이스(200) 및/또는 대응하는 무효화 데이터(124, 124b)를 보조 네트워크(104)와 관련된 백업 제어기(302)에 제공할 수 있다. 일부 예에서, 무효화 에이전트(120)는 네트워크 장애 상태(130)가 존재할 경우에만 무효화 메시지(122)를 보조 네트워크(104)의 백업 디바이스(300)로 전송한다. 예를 들어, 무효화 에이전트(120)는 무효화 에이전트(120)가 특정 통신 디바이스(106)와 주 네트워크(102)의 주 네트워크 디바이스(200) 사이의 통신을 방해하는 네트워크 장애 상태(130)을 감지하거나 이를 알게 되는 경우 무효화 데이터(124b)를 포함하는 무효화 메시지(122)를 백업 제어기(302)로 전송할 수 있다. 일부 예에서, 특정 통신 디바이스(106)와 관련된 무효화 메시지(122)를 수신하는 것에 응답하여, 백업 제어기(302)는 예를 들어, 디바이스 ID(114)에 의해 인덱싱된 통신 디바이스(106)와 관련된 무효화 데이터(124b)를 포함하도록 백업 데이터 저장소(318)에 저장된 디바이스 상태 데이터(110)를 업데이트한다. 도시된 예에서, 하트비트 무효화 에이전트(120)는 통신 디바이스(106)와 관련된 무효화 데이터(124)를 사용하여 주 네트워크와 관련된 네트워크 장애 상태(130) 동안 통신 디바이스(106)와 관련된 임의의 하트비트 확인 데이터(118)를 무효화하여 백업 디바이스(300)의 제어기(302)가 임의의 하트비트 확인 신호를 전송하는 것을 방지한다.
일부 예에서, 통신 디바이스(106)로부터 하트비트 요청(128)을 수신하는 것에 응답하여, 백업 하트비트 확인 제어기(304)는 하트비트 확인(126)을 통신 디바이스(106)에 전송하여 통신 디바이스(106)가 태스크 또는 동작을 개시하거나 계속 수행하도록 허용할지 여부를 결정한다. 하트비트 확인 제어기(304)는 백업 데이터 저장소(318)에 저장된 백업된 디바이스 상태 데이터(110)에 기초하여 하트비트 확인 신호(126)를 통신 디바이스(106)로 전송할지 여부를 결정할 수 있다. 여기서, 백업 확인 제어기(304)는 관련 디바이스 ID(114)를 사용하여 백업 데이터 저장소(318)로부터 백업된 디바이스 상태 데이터(110)를 검색하도록 백업 제어기(302)에 질의할 수 있다. 일부 예에서, 백업 하트비트 확인 제어기(304)는 하트비트 요청(128)과 관련 디바이스 ID(114)를 백업 제어기(302)에 제공한다. 백업 제어기 (302)는 예를 들어, 관련 디바이스 ID(114)를 사용하여 상기 백업된 디바이스 상태 데이터(110)를 검색할 수 있고, 그 백업된 디바이스 상태 데이터(110)를 백업 하트비트 확인 제어기(304)에 제공한다. 일부 예에서, 백업 하트비트 확인 제어기(304)는 백업 데이터 저장소(318)로부터 직접 상기 백업된 디바이스 상태 데이터(110)를 검색한다. 백업 하트비트 확인 제어기(304)는 백업된 디바이스 상태 데이터(110)를 검색하기 위해 다른 기술을 사용할 수 있다. 대안적으로, 백업 제어기(302)는 상기 검색된 백업된 디바이스 상태 데이터(110)가 임의의 무효화 데이터(124)없이 하트비트 확인 데이터(118)를 포함한다고 결정할 수 있고, 통신 디바이스(106)가 하트비트 확인 신호(126)를 수신해야 함을 나타내는 신호를 백업 확인 제어기(304)로 제공할 수 있다. 일부 예에서, 백업 제어기(302)는 검색된 백업된 디바이스 상태 데이터(110)를 백업 하트비트 확인 제어기(304)에 제공하고, 백업 하트비트 확인 제어기(304)는 백업된 디바이스 상태 데이터(110)에 기초하여 하트비트 확인 신호(126)를 통신 디바이스(106)로 전송할지 여부를 결정한다. 예를 들어, 디바이스 상태 데이터(110)가 하트비트 확인 데이터(118)를 포함하고 무효화 데이터(124)가 존재하지 않는 경우, 백업 확인 제어기(304)는 하트비트 확인 신호(126)를 통신 디바이스(106)로 전송하기로 결정할 수 있다. 전술한 바와 같이, 하트비트 확인 데이터(118)는 네트워크 디바이스(200)가 통신 디바이스(106)가 태스크 또는 동작을 시작하거나 계속 수행하도록 허용한 가장 최근 시간을 반영할 수 있다. 일부 예에서, 백업 하트비트 확인 제어기(304)는 백업 데이터 저장소(318)의 하트비트 확인 데이터(118)가 네트워크 디바이스(200)가 이전에 통신 디바이스가 태스크 또는 동작을 시작하거나 계속 수행하도록 허용했음을 나타내는 경우 하트비트 확인(126)을 통신 디바이스(106)로 전송하기로 결정할 수 있다. 백업 하트비트 확인 제어기(304)는 백업된 디바이스 상태 데이터(110)가 통신 디바이스(106)와 관련된 하트비트 확인 데이터(118)를 포함하지 않는 경우 하트비트 확인(126)을 통신 디바이스(106)로 전송하지 않기로 결정할 수 있다. 하트비트 확인 데이터(118)에 기초하여 하트비트 확인(126)을 통신 디바이스(106)에 전송할지 여부를 결정하기 위한 다른 기술이 가능하다. 일부 예에서, 백업 하트비트 확인 제어기(304)가 하트비트 확인 신호(126)를 통신 디바이스(106)에 전송할 때, 백업 하트비트 확인 제어기(304)는 백업 데이터 저장소(318)에서 통신 디바이스(106)와 관련된 하트비트 확인 데이터(118)를 업데이트한다.
백업된 디바이스 상태 데이터(110)는 푸시 또는 풀링 동작 동안 백업 제어기(302)에 의해 수신되거나 무효화 에이전트(120)로부터 직접 수신되어 백업 데이터 저장소(318)에 저장된 디바이스 상태 데이터(110)의 일부로서 주 네트워크(102)의 주 네트워크 디바이스(200)를 통해 백업 제어기(302)에 의해 간접적으로 수신된 무효화 데이터(124)를 포함할 수 있다. 유사하게, 제어기(302)가 백업된 디바이스 상태 데이터(110) 검색 동작을 수행하는 동안 하트비트 무효화 에이전트(120)가 무효화 데이터(124b)를 제어기(302)에 제공하는 경우, 백업 제어기(302)는 백업 확인 제어기(304)로 전송되는 백업된 디바이스 상태 데이터(110)에 무효화 데이터(124)를 단순히 첨부할 수 있다. 일부 예에서, 무효화 데이터(124)에 기초하여, 백업 확인 제어기(304)는 무효화 데이터(124)(예를 들어, 하트비트 무효화 데이터(124)(도 1))에 의해 식별된 통신 디바이스(106)에 하트비트 확인 신호(126)를 전송하는 것을 거부할 수 있다. 예를 들어, 백업 확인 제어기(304)가 태스크 또는 동작을 수행하기 위해 통신 디바이스(106)로부터 하트비트 요청(128)을 수신할 때, 백업 확인 제어기(304)(또는 백업 제어기(302))는 디바이스 ID (114)를 사용하여 백업 데이터 저장소(318)에 질의하여 통신 디바이스(106)와 관련된 디바이스 상태 데이터(110)가 무효화 데이터(124)를 포함하는지 여부를 결정할 수 있다. 무효화 데이터(124)가 존재하는 경우, 백업 확인 제어기(304)는 통신 디바이스(106)가 디바이스 동작을 수행하기 위한 허가를 철회하고 대응하는 하트비트 확인 신호(126)를 통신 디바이스(106)로 전송하는 것을 보류 또는 거부함으로써 통신 디바이스(106)가 태스크 또는 동작을 수행하는 것을 방지할 수 있다 .
도 4는 주 네트워크(102)와 통신하도록 적응된 통신 디바이스(106)에 대한 동작 신뢰성을 제공하는 방법(400)에 대한 동작들의 예시적인 배열의 흐름도이다. 동작(402)에서, 통신 디바이스(106)와 제1 네트워크(102)(예를 들어, 주 네트워크 (102)(도 1))의 네트워크 디바이스(200)(예를 들어, 주 네트워크 디바이스(200)(도 1)) 사이의 통신을 방지하는 네트워크 장애 상태(130)가 존재하는 경우, 방법은 제2 네트워크(104)(예를 들어, 백업 네트워크(104) 또는 보조 네트워크(104)(도 1))의 데이터 처리 하드웨어(310)에서, 통신 디바이스(106)로부터, 통신 디바이스(106)가 디바이스 동작을 수행하도록 허가를 요청하는 하트비트 요청(128)을 수신하는 단계를 포함한다. 일부 구현에서, 통신 디바이스(106)는 제1 네트워크(102)의 네트워크 디바이스(200)로 하트비트 요청(128)을 전송하고 네트워크 장애 상태(130)가 존재하지 않을 때 네트워크 디바이스(200)로부터 대응하는 하트비트 확인 신호(126)를 수신하도록 구성된다. 일부 시나리오에서, 네트워크 장애 상태(130)는 통신 디바이스(106)가 네트워크 디바이스(200)에 하트비트 요청(128)을 전송한 후 임계 기간 내에 제1 네트워크(102)의 네트워크 디바이스(200)로부터 하트비트 확인 신호(126)를 수신하지 않을 때 존재한다.
동작(404)에서, 방법(400)은 데이터 처리 하드웨어(310)에 의해, 통신 디바이스(106)와 관련된 디바이스 상태 데이터(110)를 획득하는 단계를 포함한다. 예를 들어, 데이터 처리 하드웨어(310)는 제1 네트워크(102)의 네트워크 디바이스(200)로부터 직접 또는 간접적으로 디바이스 상태 데이터(110)를 수신할 수 있다. 예를 들어, 네트워크 디바이스(200)는 통신 디바이스(106)와 네트워크 디바이스(200) 사이의 통신이 저하되지 않은 경우(예를 들어, 장애 상태(130)가 존재하지 않는 경우) 디바이스 상태 데이터(110)를 데이터 처리 하드웨어(310)로 주기적으로 푸시할 수 있으며, 데이터 처리 하드웨어(310)는 디바이스 상태 데이터(110)를 백업 데이터 저장소(318)에 저장할 수 있다. 따라서, 데이터 처리 하드웨어(300)는 네트워크 장애 상태(130) 동안 백업 데이터 저장소(318)에 액세스하여 특정 통신 디바이스(106)에 대해 그 안에 저장된 디바이스 상태 데이터(110)를 검색할 수 있다. 추가적으로 또는 대안적으로, 데이터 처리 하드웨어(310)는 풀 동작을 수행하여 네트워크 디바이스(200)로부터 디바이스 상태 데이터(110)를 획득할 수 있다. 여기서, 데이터 처리 하드웨어(310)는 특정 통신 디바이스(106)에 대한 디바이스 상태 데이터(110)를 검색하도록 네트워크 디바이스(200)에 질의함으로써 풀 동작을 수행할 수 있다. 질의는 네트워크 디바이스(200)가 데이터 저장소(212)로부터 관련 디바이스 상태 데이터(110)를 검색할 수 있도록 통신 디바이스(106)를 식별하는 디바이스 식별자(114)를 포함할 수 있다.
동작(406)에서, 방법(400)은 데이터 처리 하드웨어(310)에 의해, 통신 디바이스(106)와 관련된 디바이스 상태 데이터(110)에 기초하여 통신 디바이스(106)가 디바이스 동작을 수행하도록 허용되는지 여부를 결정하는 단계를 포함한다. 예를 들어, 디바이스 상태 데이터(110)가 통신 디바이스(106)가 디바이스 동작을 수행하도록 제1 네트워크(102)의 네트워크 디바이스(200)에 의한 허가를 나타내는 하트비트 확인 데이터(118)를 포함하는 경우, 방법(400)은 통신 디바이스(106)가 디바이스 동작을 수행하도록 허용된다고 결정할 수있다. 그러나, 디바이스 상태 데이터 (110)가 하트비트 확인 데이터(118)를 포함하지 않는 경우, 방법(400)은 통신 디바이스(106)가 디바이스 동작을 수행하도록 허용되지 않는다고 결정할 수 있다. 더욱이, 디바이스 상태 데이터(110)가 하트비트 확인 데이터(118)를 가지고 있음에도 불구하고 무효화 데이터(124)를 포함하는 경우, 방법(400)은 통신 디바이스(106)가 디바이스 동작을 수행하도록 허용되지 않는다고 결정할 수 있다.
동작(408)에서, 방법(400)은 통신 디바이스(106)가 디바이스 동작을 수행하도록 허용되는 경우, 데이터 처리 하드웨어(310)에 의해, 하트비트 확인 신호(126)를 통신 디바이스(106)로 전송하는 단계를 포함한다. 여기서, 하트비트 확인 신호(126)는 통신 디바이스(106)가 디바이스 동작을 수행하도록 허가한다. 대안적으로, 통신 디바이스(106)가 디바이스 동작을 수행하도록 허용되지 않는 시나리오에서(예를 들어, 하트비트 확인 데이터(118) 및/또는 디바이스 상태 데이터(110)가 무효화 데이터(124)가 포함하지 않음)에서, 데이터 처리 하드웨어(310)는 통신 디바이스(106)로의 하트비트 확인 신호(126)의 전송을 보류할 수 있고, 이에 의해 통신 디바이스(106)가 디바이스 동작을 수행하는 것을 방지할 수 있다.
도 5 및 도 6을 참조하여 백업 디바이스(300)의 동작의 일 예를 설명한다. 일부 구현에서, 디바이스 하트비트 백업 제어기(302)는 주 네트워크(102)를 사용하는 하나 이상의 통신 디바이스(106, 106a-106e)에 대해, 디바이스 상태 데이터(110)로서 저장된 하트비트 확인 데이터(118)를 포함하는 디바이스 상태 데이터(110)의 서브 세트를 주 네트워크(102)로부터 백업한다. 이 백업은 디바이스 별 식별자(114) 기반으로 데이터 저장소(318)에 상태 데이터(110)의 서브 세트를 저장함으로써 발생한다. 예를 들어, 데이터 저장소 기록(레코드)은 주 네트워크(102)가 디바이스 상태 데이터(110)로서 저장한 대응하는 하트비트 확인 데이터(118)와 함께 통신 디바이스(106a-106e) 각각에 대한 디바이스 식별자(114)를 포함할 수 있다. 주 네트워크(102)에 하트비트 요청을 만드는 디바이스에 의해 주 네트워크(102)에 연결하려는 DNS 시도로 인한 IP 주소 실패로 표시되는 바와같이 IoT 디바이스(106a)가 주 네트워크(102)에 연결할 수없는 것과 같은 네트워크 장애 상태(130)가 발생할 수 있다.
일 예에서, 네트워크 장애 상태(130)는 DNS를 통해 보조 네트워크(104)에 인터넷 프로토콜 주소를 요청하는 통신 디바이스와 같은 디바이스에 의해 표시되는데, 이는 통신 디바이스가 일단 보조 네트워크(104)(백업 디바이스)(300)에 연결되면 DNS 시도를 통해 주 네트워크(102)에 연결을 시도했을 때 적절한 응답을 수신할 수 없었기 때문이다. IoT 디바이스(106a)는 보조 네트워크(104)에 하트비트 요청(128)을 발행한다. 디바이스로부터의 하트비트 요청에 응답하여, 백업 하트비트 확인 제어기(304)는 그 디바이스로부터의 하트비트 요청(128)과 관련된 백업된 하트비트 확인 데이터(118)에 기초하여 통신 디바이스(106)에 하트비트 확인(126)을 제공한다. 일 예에서, 백업 하트비트 확인 제어기(304)는 백업 데이터 저장소(318)에서 디바이스 상태 데이터(110)를 조회하기 위해 하트비트 요청(128)의 일부로서 IoT 디바이스(106a)에 의해 제출된 디바이스 ID(114)를 사용한다. 하트비트 확인 제어기(304)는 수신된 디바이스 ID(114)가 디바이스 상태 데이터(110)의 서브 세트의 일부로서 저장된 디바이스 ID(114)와 일치(매치)하는지 여부를 결정할 수 있다. 만약 디바이스 ID(114)가 백업된 경우, 그 대응하는 백업된 하트비트 확인 데이터 (118)는 통신 디바이스(106)로 하트비트 확인(126)을 반환하는데 사용된다. 그 후, 통신 디바이스는 주 네트워크(102)가 동작할 것을 요구하지 않는 인(내장)-메모리 프로그램을 계속 실행하는 것과 같은 태스크를 계속할 수 있다.
무효화 에이전트(120)가 시스템(100)에서 사용되는 도 5 및 6을 계속 참조하면, 소프트웨어 서비스 제공자, 시스템 관리자 또는 다른 엔티티는 디바이스 식별자(114)를 사용하여 특정 통신 디바이스를 지정하여, 통신 디바이스(106)로부터의 하트비트 확인 요청(128)에 응답하여 통신 디바이스가 네트워크(예를 들어, 주 네트워크(102) 또는 보조 네트워크(104))로부터 하트비트 확인(126)을 수신하지 않아야함을 표시하기 위해 무효화 에이전트(120)를 사용할 수 있다. 이것은 예를 들어 무효화 에이전트(120)가 예를 들어, 특정 주파수 또는 주파수 세트가 통신 디바이스(106b)에 의한 사용을 위해 기지국(106c)으로부터 이용 가능하지 않다고 결정하는 경우에 수행될 수 있다. 통신 디바이스(106b)는 특정 주파수에 액세스하려는 시도가 방지될 수 있다. 이것은 CBRS 유형 시스템에 적합할 수 있다. 예를 들어, CBRS 시스템에서 하나 이상의 기지국(예를 들어, 106c)에 의해 사용되는 주파수 또는 특정 주파수들은 시스템 및/또는 무효화 에이전트(120)에 의해 정부 기관(들)에 의해 사용되는 것으로 결정될 수 있으므로 비정부 디바이스에 의한 사용은 가능하지 않다고 결정할 수 있다. 예를 들어, 특정 주파수들이 기지국에 의해 사용되지 않는 경우, 그 주파수들은 사용자 장비에 의해 공개적으로 사용 가능한 것으로 간주되고, 그런 다음 하트비트 확인(126)은 보조 네트워크(104)로부터 개별 IoT 디바이스(106a)로 전송될 수 있다. 다른 시스템에서, 사물 인터넷(IoT) 디바이스는 소프트웨어 업데이트가 필요할 때, 통신 디바이스의 소유자가 소프트웨어 사용과 관련하여 이루어진 계약상 동의를 준수하지 않는 경우, 또는 임의의 다른 원하는 기준에 기초하는 경우, 주 네트워크(102)를 사용하는 것이 방지될 수 있다. 무효화 데이터(124a 및/또는 124b)를 개별 네트워크에 전송할 시기를 결정하는데 디지털 정책 인증서 또는 다른 메커니즘이 사용될 수 있다. 또한, 이 동작은 다수의 최종 사용자 통신 디바이스들(106)을 사용하는 것과 관련하여 설명될 것이다. 그러나, 시스템은 원하는 대로 임의의 적절한 수의 최종 사용자 통신 디바이스(106)와 함께 사용될 수 있다. 또한, 도 5 및 6에 대한 설명은 상태 데이터의 서브 세트가 하트비트 확인 데이터(118) 이상을 포함하는 다른 예들과는 대조적으로, 주 네트워크(102)를 사용하는 복수의 디바이스 각각과 관련된 하트비트 확인 데이터(118) 만인 상태 데이터(110)의 서브 세트의 맥락에서 수행된다.
블록(502)에 도시된 바와 같이, 방법(500)은 주 네트워크 디바이스(200)로부터, 주 네트워크(102)를 사용하는 복수의 디바이스와 관련된 하트비트 확인 데이터(118)(및 대응 디바이스 ID(114))만을 수신하는 백업 디바이스(300)를 포함한다. 백업되는 하트비트 확인 데이터(118)는 서버(200)가 각각의 디바이스에 대해 유지하는 디바이스 상태 데이터(110)의 서브 세트이다. 블록(504)에 도시된 바와 같이, 이 방법은 주 네트워크(102)를 사용하는 복수의 디바이스에 대한 하트비트 확인 데이터(118)만을 백업하는 단계를 포함한다. 이것은 주 네트워크(102)로부터의 하트비트 확인 데이터(118)만을 백업하는 디바이스 하트비트 백업 제어기(302)에 의해 수행된다. 블록(506)에 도시된 바와 같이, 방법은 네트워크 장애 상태(130)에 응답하고 복수의 디바이스 중 적어도 하나로부터의 하트비트 요청(128)에 응답하여, 백업된 하트비트 확인 데이터(118)에 기초하여 하트비트 확인(126)을 복수의 디바이스 중 적어도 하나에 제공하는 단계를 포함한다. 이것은 이 예에서 백업 하트비트 확인 제어기(304)에 의해 수행된다.
블록(508)에 도시된 바와 같이, 보조 네트워크(104)에 대한 무효화 데이터(124b)는 무효화 데이터(124b)가 통신 디바이스(106)를 무효화할 것을 나타내는(지시하는) 경우 무효화 에이전트(120)의 무효화 메시지(122)를 통해, 네트워크 장애 상태(130)에 응답하여 그리고 적어도 하나의 디바이스로부터의 하트비트 요청(128)에 응답하여, 요청하는 디바이스에 대한 하트비트 확인(126)을 거부한다. 달리 말하면, 무효화 메시지(122)는 언제든지 올 수 있다. 하트비트 확인(126)이 이미 전송된 후 무효화 메시지(122)가 전송되면, 무효화 에이전트(120)가 더 이상 통신 디바이스가 하트비트 확인(126)을 갖기를 원치 않음을 나타내기 위해 무효화 데이터(124b)가 사용될 것이기 때문에 후속 하트비트 요청(128)은 거부될 것이다.
다른 예에서, 네트워크 장애 상태(130)가 발생한 후 디바이스로부터의 초기 하트비트 요청(128) 시, 무효화 데이터(124b)가 통신 디바이스가 유효하지 않음을 나타내면 하트비트 확인(126)이 전송되지 않고, 백업 하트비트 확인 제어기(304)는 하트비트 확인(126)을 발행하지 않을 것이다. 일 예에서, 무효화 데이터(124)는 백업된 디바이스 상태 데이터가 각각의 관심 디바이스에 대한 디바이스 식별자(114), 주 네트워크(102)로부터의 대응하는 백업된 하트비트 확인 데이터(118) 및 무효화 에이전트(120)로부터 특정 통신 디바이스에 대해 수신된 임의의 무효화 데이터(124b)를 포함하도록 디바이스별로 데이터 레코드의 일부로서 저장된다. 이와 같이, 일 예에서 무효화 데이터(124b)는 디바이스 ID(114)와 통신 디바이스(106)를 무효화할지 여부를 나타내는 데이터를 포함한다. 이와 같이, 백업 디바이스(300)는 무효화 에이전트(120)로부터의 무효화 메시지(122)에 기초하여 하트비트 요청(128)을 하는 통신 디바이스에 대한 하트비트 확인(126)을 거부한다.
도 6을 참조하면, 시스템 관점에서, 블록(602)에 도시된 바와 같이, 방법(600)은 DNS 어드레스를 통해 주 네트워크(102)에 등록 또는 연결하는 디바이스를 포함한다. 블록(604)에 도시된 바와 같이, 연결이 성공하면, 방법은 서버 (200) (예를 들어, 주 네트워크 디바이스(200)(도 1))가 디바이스 상태 데이터(110)로서 저장된 하트비트 양호(okey)(하트비트 확인 데이터)(118) 테이블을 업데이트하는 블록(606)으로 계속된다. 여기에는 예를 들어 하트비트 확인(126)이 하트비트를 요청한 디바이스로 전송되었음을 나타내는 메모리 테이블, 데이터베이스 레코드 또는 다른 포멧에 데이터를 배치하는 것이 포함된다. 서버(200)는 또한 백업 동작의 일부로서 보조 네트워크(104)에 하트비트 확인 데이터(118)를 제공한다. 하트비트 확인 데이터(118)는 주 네트워크가 적절하게 동작하는 한 주 네트워크(102)에 의해 계속해서 제공될 것이다. 그러나, 예를 들어 블록(608)에 도시된 바와 같이, IoT 디바이스(106a)와 같은 통신 디바이스(106)에 의해 인식되는 바와 같이 주 네트워크(102)와 관련된 네트워크 장애 상태(130)가 있는 경우, 통신 디바이스는 DNS를 통해 보조 네트워크(104)로의 연결을 시도할 것이다. 블록(610)에 도시된 바와 같이, 백업 디바이스(300) 및 이 예에서, 백업 하트비트 확인 제어기(304)는 디바이스 ID(114)에 기초하여 백업 데이터 저장소(318)의 백업된 상태 데이터를 체크하여, 백업(된) 데이터가 주 네트워크(102)에 의해 가장 최근에 저장된 하트비트가 네트워크 장애 상태(130) 이전에 디바이스에 의해 주 네트워크 (102)로 하트비트 확인(126)이 제공되었음을 나타내는지 여부를 결정한다. 블록(612)에 도시된 바와 같이, 백업 네트워크 디바이스(300)는 또한 무효화 에이전트(120)가 해당 디바이스에 대한 무효화 메시지(122)를 보냈는지 획인하기 위해 디바이스와 관련된 데이터베이스 레코드를 검사한다. 그런 경우, 블록(614)에 도시된 바와 같이, 보조 네트워크(104)는 요청하는 통신 디바이스(106)에 대한 하트비트 확인(126)을 거부할 것이다. 그러나, 블록(616)에 도시된 바와 같이 무효화 에이전트(120)가 통신 디바이스(106)를 무효화하도록 지시하지 않은 경우, 백업 네트워크 디바이스(300)는 백업된 하트비트 확인 데이터(118)에 기초하여 하트비트 확인(126)으로 보조 네트워크(104)로부터 하트비트를 요청하는 통신 디바이스에 응답할 것이다.
다른 장점들 중에서, 테이블과 같이 유효한 하트비트 정보의 사본을 유지하는 두 번째 및 더 작은 클라우드 시스템을 사용하면 완전히 재 작성된 소프트웨어 서비스 없이도 두 번째 시스템이 최대 분리를 가질 수 있다. 보조 네트워크(104)와 백업 디바이스(300)는 전체 시스템이 신뢰성을 보장하기 위해 더 작고 독립적인 소프트웨어 서비스를 가질수 있게 할 뿐만 아니라 데이터의 완전한 일정한 사본을 항상 가질 필요없이 주 네트워크(102)에서 디바이스의 일관된 뷰를 유지할 수 있게 한다. 일 예에서, 동작의 가장 중요한 양태만을 저장하는, 즉 하트비트 확인 신호(126)를 디바이스들에게 제공하는 정적 페이지 핸들러가 존재한다. 보조 네트워크(104)는 하트비트 확인 데이터(118)를 이용하여 주 네트워크(102)에 의해서만 업데이트될 필요가 있으며, 디바이스들의 일관된 상태를 이전의 방법보다 훨씬 더 간단하게 유지하게 한다. 본 명세서에서 사용되는 바와 같이, 디바이스 ID(114) 및 대응하는 하트비트 확인 데이터(118)는 동일한 데이터일 수 있다. 예를 들어, 테이블이 사용될 때, 테이블에 있는 디바이스 ID(114)의 단순한 존재는 특정 통신 디바이스에 대한 하트비트 확인 데이터(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)는 고속 인터페이스(740)에 연결된 디스플레이(780)와 같은 외부 입/출력 디바이스상의 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 디스플레이하기 위해 메모리(720) 또는 저장 디바이스(730)에 저장된 명령들을 포함하여 컴퓨팅 디바이스(700) 내에서 실행하기 위한 명령들을 처리할 수 있다. 다른 구현에서, 다중 프로세서 및/또는 다중 버스가 다중 메모리 및 다수 유형의 메모리와 함께 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스(700)는 필요한 동작들의 일부를 제공하는 각 디바이스(예를 들어, 서버 뱅크, 블레이드 서버 그룹 또는 다중 프로세서 시스템)와 연결될 수 있다.
메모리(720)는 컴퓨팅 디바이스(700) 내에 비-일시적으로 정보를 저장한다. 메모리(720)는 컴퓨터 판독 가능 매체, 휘발성 메모리 유닛(들) 또는 비-휘발성 메모리 유닛(들)일 수 있다. 비-일시적 메모리(720)는 컴퓨팅 디바이스(700)에 의해 사용하기 위해 일시적 또는 영구적으로 프로그램(예를 들어, 명령 시퀀스) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는데 사용되는 물리적 디바이스일 수 있다. 비-휘발성 메모리의 예로는 플래시 메모리 및 ROM/PROM/EPROM/EEPROM) (예를 들어, 부팅 프로그램과 같은 펌웨어에 일반적으로 사용됨)가 있지만 이에 ㅎ한종되지는 않는다. 휘발성 메모리의 예로는 RAM, DRAM, SRAM, PCM(Phase Change Memory) 및 디스크 또는 테이프가 포함되지만 이에 한정되지는 않는다.
저장 디바이스(730)는 컴퓨팅 디바이스(700)에 대용량 저장 디바이스를 제공할 수 있다. 일부 구현에서, 저장 디바이스(730)는 컴퓨터 판독 가능 매체이다. 다양한 다른구현에서, 저장 디바이스(730)는 스토리지 영역 네트워크 또는 기타 구성의 디바이스를 포함하여 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스 또는 테이프 디바이스, 플래시 메모리 또는 기타 유사 솔리드 스테이트 메모리 디바이스 또는 디바이스 어레이일 수 있다. 추가 구현에서, 컴퓨터 프로그램 제품은 정보 매체에 유형적으로 구현된다. 컴퓨터 프로그램 제품에는 실행시 위에서 설명한 것과 같은 하나 이상의 방법을 수행하는 명령들이 포함되어 있다. 정보 매체는 메모리(720), 저장 디바이스(730) 또는 프로세서(710)상의 메모리와 같은 컴퓨터 판독 가능 또는 기계 판독 가능 매체이다.
고속 제어기(740)는 컴퓨팅 디바이스(700)에 대한 대역폭 집약적인 동작을 관리하는 반면, 저속 제어기(760)는 낮은 대역폭 집약적인 동작을 관리한다. 이러한 업무 할당은 단지 예시적이다. 일부 구현에서, 고속 제어기(740)는 메모리 (720), 디스플레이(780)(예를 들어, 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드(미도시)를 수용할 수 있는 고속 확장 포트(750)에 결합된다. 일부 구현에서, 저속 제어기(760)는 저장 디바이스(730) 및 저속 확장 포트(790)에 결합된다. 다양한 통신 포트(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트(790)는 예를 들어, 네트워크 어댑터를 통해 키보드, 포인팅 디바이스, 스캐너, 또는 스위치 또는 라우터와 같은 네트워킹 디바이스와 같은 하나 이상의 입/출력 디바이스에 연결될 수 있다.
컴퓨팅 디바이스(700)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 표준 서버(700a)로서 또는 그러한 서버(700a)의 그룹에서 랩탑 컴퓨터(700b)로서 또는 랙 서버 시스템(700c)의 일부로서 여러 번 구현될 수 있다.
본 명세서에 설명된 시스템 및 기술의 다양한 구현은 디지털 전자 및/또는 광학 회로, 집적 회로, 특별히 설계된 ASIC, 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 실현될 수 있다. 이러한 다양한 구현은 적어도 하나의 프로그래밍 가능 프로세서를 포함하는 프로그래밍 가능 시스템에서 실행 가능 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있으며, 이는 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스로부터 데이터와 명령을 수신하고 데이터와 명령을 전송하도록 결합된 특수 또는 범용일 수 있다.
이러한 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드라고도 함)은 프로그래밍 가능한 프로세서에 대한 기계 명령을 포함하며, 높은 수준의 절차적 및/또는 객체 지향적 프로그래밍 언어 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본 명세서에서 사용된 바와같이, "기계 판독 가능 매체" 및 "컴퓨터 판독 가능 매체"라는 용어는 기계 판독 가능 신호로서 기계 명령을 수신하는 기계 판독 가능 매체를 포함하여 프로그래밍 가능 프로세서에 기계 명령 및/또는 데이터를 제공하는데 사용되는 컴퓨터 프로그램 제품, 비-일시적 컴퓨터 판독 가능 매체, 장치 및/또는 디바이스를 지칭한다. "기계 판독 가능 신호"라는 용어는 기계 명령 및/또는 데이터를 프로그래밍 가능 프로세서에 제공하는데 사용되는 임의의 신호를 의미한다.
본 명세서에 설명된 프로세스 및 로직 흐름은 입력 데이터에 대해 동작하고 출력을 생성함으로써 기능을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍 가능 프로세서에 의해 수행될 수 있다. 프로세스 및 로직 흐름은 또한 FPGA 또는 ASIC과 같은 특수 목적 로직 회로에 의해 수행될 수 있다. 컴퓨터 프로그램의 실행에 적합한 프로세서는 예를 들어 범용 및 특수 목적의 마이크로 프로세서와 임의의 종류의 디지털 컴퓨터의 하나 이상의 프로세서를 포함한다. 일반적으로 프로세서는 판독 전용 메모리나 랜덤 액세스 메모리 또는 둘 다에서 명령과 데이터를 수신한다. 컴퓨터의 필수 요소는 명령을 수행하기 위한 프로세서와 명령과 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어 자기, 광 자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 데이터를 전송하거나 둘 모두를 포함하거나 작동 가능하게 결합된다. 그러나, 컴퓨터에는 이러한 디바이스가 필요하지 않다. 컴퓨터 프로그램 명령과 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는 예를 들어 반도체 메모리 디바이스(예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스), 자기 디스크(예를 들어 내부 하드 디스크 또는 이동식 디스크); 광 자기 디스크; 및 CD ROM 및 DVD-ROM 디스크를 포함하여 모든 형태의 비-휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 개시 내용의 하나 이상의 양태는 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스(예를 들어, CRT(음극선관), LCD 모니터 또는 터치 스크린) 및 사용자가 컴퓨터에 입력을 제공할 수 있는 디스플레이 디바이스 및 선택적으로 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)을 갖는 컴퓨터에서 구현될 수 있다. 사용자와의 상호 작용을 제공하기 위해 다른 종류의 디바이스도 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 예를 들어 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 모든 형태의 감각 피드백일 수 있다. 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함한 모든 형태로 수신될 수 있다. 또한 컴퓨터는 예를 들어, 웹 브라우저에서 받은 요청에 대한 응답으로 사용자 클라이언트 디바이스의 웹 브라우저에 웹 페이지를 전송함으로써 사용자가 사용하는 디바이스로 문서를 송수신하여 사용자와 상호 작용할 수 있다.
다수의 구현이 설명되었다. 그럼에도 불구하고, 본 개시의 사상 및 범위를 벗어나지 않고 다양한 변형이 이루어질 수 있음을 이해할 것이다. 따라서, 다른 구현은 다음의 청구항의 범위내에 있다. 예를 들어, 청구항에 언급된 동작들은 다른 순서로 수행될 수 있으며 여전히 바람직한 결과를 얻을 수 있다.

Claims (26)

  1. 방법(400)으로서,
    통신 디바이스(106)와 제1 네트워크(102)의 네트워크 디바이스(200) 사이의 통신을 방해하는 네트워크 장애 상태(130)가 존재하는 경우, 제2 네트워크(104)의 데이터 처리 하드웨어(310)에서 통신 디바이스(106)로부터, 통신 디바이스(106)가 디바이스 동작을 수행하기 위한 허가를 요청하는 하트비트 요청(128)을 수신하는 단계;
    데이터 처리 하드웨어(310)에 의해, 통신 디바이스(106)와 관련된 디바이스 상태 데이터(110)를 획득하는 단계;
    데이터 처리 하드웨어(310)에 의해, 통신 디바이스(106)가 통신 디바이스(106)와 관련된 디바이스 상태 데이터(110)에 기초하여 디바이스 동작을 수행하도록 허가되었는지 여부를 결정하는 단계; 및
    통신 디바이스(106)가 디바이스 동작을 수행하도록 허가된 경우, 데이터 처리 하드웨어(310)에 의해, 하트비트 확인 신호(126)를 통신 디바이스(106)로 전송하는 단계를 포함하고, 상기 하트비트 확인 신호(126)는 통신 디바이스(106)가 디바이스 동작을 수행하도록 허가하는 것을 특징으로 하는 방법(400).
  2. 제1항에 있어서,
    상기 디바이스 상태 데이터(110)를 획득하는 단계는,
    제1 네트워크(102)의 네트워크 디바이스(200)로부터, 통신 디바이스(106)와 관련된 디바이스 상태 데이터(110)를 수신하는 단계를 포함하는 것을 특징으로 하는 방법(400).
  3. 제2항에 있어서,
    상기 디바이스 상태 데이터(110)가 하트비트 요청(128)을 수신하기 전에 수신되는 경우 및 네트워크 장애 상태(130)가 존재하지 않는 경우:
    데이터 처리 하드웨어(310)에 의해, 디바이스 상태 데이터(110)를 백업 데이터 저장소(318)에 저장하는 단계; 및
    데이터 처리 하드웨어(310)에 의해, 통신 디바이스(106)를 식별하는 디바이스 식별자(114)를 사용하여 백업 데이터 저장소(318)로부터 디바이스 상태 데이터(110)를 검색하는 단계를 더 포함하고, 상기 디바이스 식별자(114)는 통신 디바이스를 백업 데이터 저장소(318)에 저장된 디바이스 상태 데이터(110)와 연관시키는 것을 특징으로 하는 방법(400).
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 통신 디바이스(106)가 디바이스 동작을 수행하도록 허가되었는지 여부를 결정하는 단계는,
    디바이스 상태 데이터(110)가 하트비트 확인 데이터(118)를 포함하는지 여부를 결정하는 단계, 상기 하트비트 확인 데이터(118)는 통신 디바이스(106)가 디바이스 동작을 수행하기 위한 제1 네트워크(102)의 네트워크 디바이스(200)에 의한 허가를 나타내고; 및
    디바이스 상태 데이터(110)가 하트비트 확인 데이터(118)를 포함하는 경우, 통신 디바이스(106)가 디바이스 동작을 수행하도록 허가된 것으로 결정하는 단계를 포함하는 것을 특징으로 하는 방법(400).
  5. 제4항에 있어서,
    상기 디바이스 상태 데이터(110)가 하트비트 확인 데이터(118)를 포함하지 않는 경우:
    데이터 처리 하드웨어(310)에 의해, 통신 디바이스(106)가 하트비트 확인 신호(126)를 수신하도록 허가되지 않은 것으로 결정하는 단계; 및
    데이터 처리 하드웨어(310)에 의해, 통신 디바이스(106)가 디바이스 동작을 수행하는 것을 방지하도록 통신 디바이스(106)로의 하트비트 확인 신호(126)의 전송을 방지하는 단계를 포함하는 것을 특징으로 하는 방법(400).
  6. 제4항 또는 제5항에 있어서,
    상기 통신 디바이스(106)가 디바이스 동작을 수행하도록 허가된 것으로 결정하는 단계는,
    디바이스 상태 데이터(110)가 디바이스 동작을 수행하는 기능으로부터 통신 디바이스(106)를 무효화하는 무효화 데이터(124)를 포함하는지 여부를 결정하는 단계; 및
    디바이스 상태 데이터(110)가 하트비트 확인 데이터(118)를 포함하고 무효화 데이터(124)를 포함하지 않는 경우, 통신 디바이스(106)가 디바이스 동작을 수행하도록 허가된 것으로 결정하는 단계를 포함하는 것을 특징으로 하는 방법(400).
  7. 제6항에 있어서,
    상기 디바이스 상태 데이터(110)가 무효화 데이터(124)와 하트비트 확인 데이터(118)를 포함하는 경우:
    데이터 처리 하드웨어(310)에 의해, 통신 디바이스(106)가 디바이스 동작을 수행하기 위한 허가를 취소하는 단계; 및
    데이터 처리 하드웨어(310)에 의해, 통신 디바이스(106)가 디바이스 동작을 수행하는 것을 방지하도록 통신 디바이스(106)로의 하트비트 확인 신호(126)의 전송을 보류하는 단계를 포함하는 것을 특징으로 하는 방법(400).
  8. 제6항 또는 제7항에 있어서,
    상기 무효화 데이터(124)는,
    통신 디바이스(106) 중 적어도 하나가 소프트웨어 업데이트를 필요로 한다는 표시, 통신 디바이스(106)가 계약상 동의를 준수하지 않거나 또는 통신 디바이스 (106)가 디바이스 동작을 수행하는데 필요한 자원이 통신 디바이스(106)에서 사용할 수 없음을 포함하는 것을 특징으로 하는 방법(400).
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 제1 네트워크(102)의 네트워크 디바이스(200)는,
    네트워크 장애 상태(130) 이전에 통신 디바이스(106)와 관련된 디바이스 상태 데이터(110)를 데이터 처리 하드웨어(310)로 푸시하고; 또는
    데이터 처리 하드웨어(310)에 의한 풀(pull) 동작에 응답하여 통신 디바이스 (106)와 관련된 디바이스 상태 데이터(110)를 전송하는 것: 중 적어도 하나로 구성되는 것을 특징으로 하는 방법(400).
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 디바이스 상태 데이터(110)는,
    통신 디바이스(106)를 식별하는 디바이스 식별자(114), 디바이스 동작을 수행하는 기능으로부터 통신 디바이스(106)를 무효화하는 무효화 데이터(124), 통신 디바이스(106)와 관련된 동작 신뢰성 정보, 결제 상태, 구성 메타 데이터를 업데이트하는 통신 디바이스(106)의 기능, 또는 전체 환경 보건의 집계 계산 중 적어도 하나를 포함하는 것을 특징으로 하는 방법(400).
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    네트워크 장애 상태(130)가 존재하지 않는 경우:
    통신 디바이스(106)는 제1 네트워크(102)의 네트워크 디바이스(200)로 하트비트 요청(128)을 전송하도록 구성되고; 그리고
    제1 네트워크(102)의 네트워크 디바이스(200)는,
    하트비트 확인 신호(126)를 통신 디바이스(106)로 전송하고; 그리고
    통신 디바이스로 전송된 하트비트 확인 신호(126)를 포함하도록 통신 디바이스(106)와 관련된 디바이스 상태 데이터(110)를 업데이트하도록 구성되는 것을 특징으로 하는 방법(400).
  12. 제1항 내지 제11항 중 어느 한 항에 있어서,
    상기 네트워크 장애 상태는,
    통신 디바이스(106)가 하트비트 요청을 네트워크로 전송한 후 임계 시간 기간내에 제1 네트워크(102)의 네트워크 디바이스(200)로부터 하트비트 확인 신호 (126)를 수신하지 못하는 경우에 존재하는 것을 특징으로 하는 방법(400).
  13. 제1항 내지 제12항 중 어느 한 항에 있어서,
    상기 통신 디바이스(106)는,
    사물 인터넷(IoT) 디바이스, 온도 센서, 무선 기지국, 모바일 디바이스 또는 스마트 기기를 포함하는 것을 특징으로 하는 방법(400).
  14. 시스템(100)으로서,
    백업 네트워크(104)의 데이터 처리 하드웨어(310); 및
    데이터 처리 하드웨어(310)와 통신하는 메모리 하드웨어(320)를 포함하고, 상기 메모리 하드웨어(320)는 데이터 처리 하드웨어(310)에서 실행될 때 데이터 처리 하드웨어(310)로 하여금 동작들을 수행하게 하는 명령들을 저장하고, 상기 동작들은:
    통신 디바이스(106)와 주 네트워크(102)의 네트워크 디바이스(200) 사이의 통신을 방해하는 네트워크 장애 상태(130)가 존재하는 경우, 통신 디바이스(106)로부터, 통신 디바이스(106)가 디바이스 동작을 수행하기 위한 허가를 요청하는 단계;
    통신 디바이스(106)와 관련된 디바이스 상태 데이터(110)를 획득하는 단계;
    통신 디바이스(106)가 통신 디바이스(106)와 관련된 디바이스 상태 데이터(110)에 기초하여 디바이스 동작을 수행하도록 허가되었는지 여부를 결정하는 단계; 및
    통신 디바이스(106)가 디바이스 동작을 수행하도록 허가된 경우, 하트비트 확인 신호(126)를 통신 디바이스(106)로 전송하는 단계를 포함하고, 상기 하트비트 확인 신호(126)는 통신 디바이스(106)가 디바이스 동작을 수행하도록 허가하는 것을 특징으로 하는 시스템(100).
  15. 제14항에 있어서,
    상기 디바이스 상태 데이터(110)를 획득하는 단계는,
    주 네트워크(102)의 네트워크 디바이스(200)로부터, 통신 디바이스(106)와 관련된 디바이스 상태 데이터(110)를 수신하는 단계를 포함하는 것을 특징으로 하는 시스템(100).
  16. 제15항에 있어서,
    상기 디바이스 상태 데이터(110)가 하트비트 요청(128)을 수신하기 전에 수신되는 경우 및 네트워크 장애 상태(130)가 존재하지 않는 경우, 상기 동작들은,
    디바이스 상태 데이터(110)를 백업 데이터 저장소(318)에 저장하는 단계; 및
    통신 디바이스(106)를 식별하는 디바이스 식별자(114)를 사용하여 백업 데이터 저장소(318)로부터 디바이스 상태 데이터(110)를 검색하는 단계를 더 포함하고, 상기 디바이스 식별자(114)는 통신 디바이스를 백업 데이터 저장소(318)에 저장된 디바이스 상태 데이터(110)와 연관시키는 것을 특징으로 하는 시스템(100).
  17. 제14항 내지 제16항 중 어느 한 항에 있어서,
    상기 통신 디바이스(106)가 디바이스 동작을 수행하도록 허가되었는지 여부를 결정하는 단계는,
    디바이스 상태 데이터(110)가 하트비트 확인 데이터(118)를 포함하는지 여부를 결정하는 단계, 상기 하트비트 확인 데이터(118)는 통신 디바이스(106)가 디바이스 동작을 수행하기 위한 주 네트워크(102)의 네트워크 디바이스(200)에 의한 허가를 나타내고; 및
    디바이스 상태 데이터(110)가 하트비트 확인 데이터(118)를 포함하는 경우, 통신 디바이스(106)가 디바이스 동작을 수행하도록 허가된 것으로 결정하는 단계를 포함하는 것을 특징으로 하는 시스템(100).
  18. 제17항에 있어서,
    상기 디바이스 상태 데이터(110)가 하트비트 확인 데이터(118)를 포함하지 않는 경우, 상기 동작들은,
    통신 디바이스(106)가 하트비트 확인 신호(126)를 수신하도록 허가되지 않은 것으로 결정하는 단계; 및
    통신 디바이스(106)가 디바이스 동작을 수행하는 것을 방지하도록 통신 디바이스(106)로의 하트비트 확인 신호(126)의 전송을 방지하는 단계를 포함하는 것을 특징으로 하는 시스템(100).
  19. 제17항 또는 제18항에 있어서,
    상기 통신 디바이스(106)가 디바이스 동작을 수행하도록 허가된 것으로 결정하는 단계는,
    디바이스 상태 데이터(110)가 디바이스 동작을 수행하는 기능으로부터 통신 디바이스(106)를 무효화하는 무효화 데이터(124)를 포함하는지 여부를 결정하는 단계; 및
    디바이스 상태 데이터(110)가 하트비트 확인 데이터(118)를 포함하고 무효화 데이터(124)를 포함하지 않는 경우, 통신 디바이스(106)가 디바이스 동작을 수행하도록 허가된 것으로 결정하는 단계를 포함하는 것을 특징으로 하는 시스템(100).
  20. 제19항에 있어서,
    상기 디바이스 상태 데이터(110)가 무효화 데이터(124)와 하트비트 확인 데이터(118)를 포함하는 경우, 상기 동작들은,
    통신 디바이스(106)가 디바이스 동작을 수행하기 위한 허가를 취소하는 단계; 및
    통신 디바이스(106)가 디바이스 동작을 수행하는 것을 방지하도록 통신 디바이스(106)로의 하트비트 확인 신호(126)의 전송을 보류하는 단계를 포함하는 것을 특징으로 하는 시스템(100).
  21. 제19항 또는 제20항에 있어서,
    상기 무효화 데이터(124)는,
    통신 디바이스(106) 중 적어도 하나가 소프트웨어 업데이트를 필요로 한다는 표시, 통신 디바이스(106)가 계약상 동의를 준수하지 않거나 또는 통신 디바이스(106)가 디바이스 동작을 수행하는데 필요한 자원이 통신 디바이스(106)에서 사용할 수 없음을 포함하는 것을 특징으로 하는 시스템(100).
  22. 제14항 내지 제21항 중 어느 한 항에 있어서,
    상기 주 네트워크(102)의 네트워크 디바이스(200)는,
    네트워크 장애 상태(130) 이전에 통신 디바이스(106)와 관련된 디바이스 상태 데이터(110)를 데이터 처리 하드웨어(310)로 푸시하고; 또는
    데이터 처리 하드웨어(310)에 의한 풀(pull) 동작에 응답하여 통신 디바이스(106)와 관련된 디바이스 상태 데이터(110)를 전송하는 것: 중 적어도 하나로 구성되는 것을 특징으로 하는 시스템(100).
  23. 제14항 내지 제22항 중 어느 한 항에 있어서,
    상기 디바이스 상태 데이터(110)는,
    통신 디바이스(106)를 식별하는 디바이스 식별자(114), 디바이스 동작을 수행하는 기능으로부터 통신 디바이스(106)를 무효화하는 무효화 데이터(124), 통신 디바이스(106)와 관련된 동작 신뢰성 정보, 결제 상태, 구성 메타 데이터를 업데이트하는 통신 디바이스(106)의 기능, 또는 전체 환경 보건의 집계 계산 중 적어도 하나를 포함하는 것을 특징으로 하는 시스템(100).
  24. 제14항 내지 제23항 중 어느 한 항에 있어서,
    네트워크 장애 상태(130)가 존재하지 않는 경우:
    통신 디바이스(106)는 주 네트워크(102)의 네트워크 디바이스(200)로 하트비트 요청(128)을 전송하도록 구성되고; 그리고
    주 네트워크(102)의 네트워크 디바이스(200)는,
    하트비트 확인 신호(126)를 통신 디바이스(106)로 전송하고; 그리고
    통신 디바이스로 전송된 하트비트 확인 신호(126)를 포함하도록 통신 디바이스(106)와 관련된 디바이스 상태 데이터(110)를 업데이트하도록 구성되는 것을 특징으로 하는 시스템(100).
  25. 제14항 내지 제24항 중 어느 한 항에 있어서,
    상기 네트워크 장애 상태는,
    통신 디바이스(106)가 하트비트 요청을 네트워크로 전송한 후 임계 시간 기간내에 주 네트워크(102)의 네트워크 디바이스(200)로부터 하트비트 확인 신호(126)를 수신하지 못하는 경우에 존재하는 것을 특징으로 하는 시스템(100).
  26. 제14항 내지 제25항 중 어느 한 항에 있어서,
    상기 통신 디바이스(106)는,
    사물 인터넷(IoT) 디바이스, 온도 센서, 무선 기지국, 모바일 디바이스 또는 스마트 기기를 포함하는 것을 특징으로 하는 시스템(100).
KR1020217008784A 2018-10-09 2019-10-01 클라우드 저하 모드에서 지속적인 디바이스 동작 안정성을 보장하기 위한 방법 및 장치 KR102567900B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020237027296A KR20230124099A (ko) 2018-10-09 2019-10-01 클라우드 저하 모드에서 지속적인 디바이스 동작 안정성을보장하기 위한 방법 및 장치

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
KR1020237027296A Division KR20230124099A (ko) 2018-10-09 2019-10-01 클라우드 저하 모드에서 지속적인 디바이스 동작 안정성을보장하기 위한 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20210044281A true KR20210044281A (ko) 2021-04-22
KR102567900B1 KR102567900B1 (ko) 2023-08-18

Family

ID=68387396

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020217008784A KR102567900B1 (ko) 2018-10-09 2019-10-01 클라우드 저하 모드에서 지속적인 디바이스 동작 안정성을 보장하기 위한 방법 및 장치
KR1020237027296A KR20230124099A (ko) 2018-10-09 2019-10-01 클라우드 저하 모드에서 지속적인 디바이스 동작 안정성을보장하기 위한 방법 및 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020237027296A KR20230124099A (ko) 2018-10-09 2019-10-01 클라우드 저하 모드에서 지속적인 디바이스 동작 안정성을보장하기 위한 방법 및 장치

Country Status (6)

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

Families Citing this family (2)

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

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030048503A (ko) * 2001-12-12 2003-06-25 주식회사 엘지이아이 이중화 서버 구조의 데이터 동기화를 위한 통신 시스템 및방법
US20070041327A1 (en) * 2005-08-16 2007-02-22 Cisco Technology, Inc. Multicast heartbeat signaling
US20140040380A1 (en) * 2011-05-16 2014-02-06 Sk Telecom Co., Ltd. System and method for providing push service for reducing network loads
KR20140079865A (ko) * 2010-11-05 2014-06-27 인터디지탈 패튼 홀딩스, 인크 장치 유효성 확인, 재난 표시, 및 복원

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JP2005085102A (ja) * 2003-09-10 2005-03-31 Canon Inc 保証システム
JP2009258917A (ja) * 2008-04-15 2009-11-05 Mitsubishi Electric Corp プロキシサーバ、認証サーバおよび通信システム
US8095828B1 (en) * 2009-08-31 2012-01-10 Symantec Corporation Using a data storage system for cluster I/O failure determination
US20140079865A1 (en) 2012-09-14 2014-03-20 Cp Kelco Aps Process for Preparing a Stabilized Protein Suspension
US20140095925A1 (en) * 2012-10-01 2014-04-03 Jason Wilson Client for controlling automatic failover from a primary to a standby server
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
KR20030048503A (ko) * 2001-12-12 2003-06-25 주식회사 엘지이아이 이중화 서버 구조의 데이터 동기화를 위한 통신 시스템 및방법
US20070041327A1 (en) * 2005-08-16 2007-02-22 Cisco Technology, Inc. Multicast heartbeat signaling
KR20140079865A (ko) * 2010-11-05 2014-06-27 인터디지탈 패튼 홀딩스, 인크 장치 유효성 확인, 재난 표시, 및 복원
US20140040380A1 (en) * 2011-05-16 2014-02-06 Sk Telecom Co., Ltd. System and method for providing push service for reducing network loads

Also Published As

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

Similar Documents

Publication Publication Date Title
KR101923245B1 (ko) 투명한 장애 극복 기법
US8935560B2 (en) System and method of file locking in a network file system federated namespace
US10050832B2 (en) Server clustering in mobile computing environment
JP5091833B2 (ja) 監視対象装置管理システム、管理サーバおよび監視対象装置管理方法
JP2017208128A (ja) 分散キャッシュクラスタ管理
US9432449B2 (en) Managing connection failover in a load balancer
CN111258627B (zh) 一种接口文档生成方法和装置
US9529772B1 (en) Distributed caching cluster configuration
US11784905B2 (en) Method and apparatus for ensuring continued device operational reliability in cloud-degraded mode
CN101018227A (zh) 数据管理装置、存储有数据管理程序的存储介质、协议切换装置和方法
JP2012146083A (ja) セッション管理システム、セッション管理装置、サーバ装置およびセッション管理方法
US11556407B2 (en) Fast node death detection
CN111031126B (zh) 集群缓存共享方法、系统、设备及存储介质
US9733871B1 (en) Sharing virtual tape volumes between separate virtual tape libraries
CN114584545A (zh) 数据管理方法、装置、系统、存储介质及电子设备
CN106790458B (zh) 一种跨局域网的Memcache数据共享方法及系统
US20240089339A1 (en) Caching across multiple cloud environments
US11853560B2 (en) Conditional role decision based on source environments
JP2010198200A (ja) プロファイル情報管理装置、プロファイル情報管理方法、及びプログラム
JP2005293088A (ja) 認証システム及び認証方法
CN113626152A (zh) 一种用于访问分布式集群的代理方法和装置
WO2011070676A1 (ja) 情報処理装置、情報処理装置の制御方法、情報処理装置の制御プログラム、システム制御装置の制御プログラム
CN117131295A (zh) 资源管理方法、系统、装置、电子设备及存储介质
CN113407493A (zh) 运行方法、数据读写方法、装置、电子设备和介质
JP2012181803A (ja) トランザクション管理システム、管理装置、サーバ装置、トランザクション管理方法、及びプログラム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right