首页> 中国专利> 用于在云降级模式下确保连续装置操作可靠性的方法及设备

用于在云降级模式下确保连续装置操作可靠性的方法及设备

摘要

在存在阻止通信装置(106)与第一网络(102)的网络装置(200)之间的通信的网络故障状况(130)的情况下,方法(400)包括从通信装置接收心跳请求(128),该心跳请求请求通信装置执行装置操作的许可。该方法还包括:获得与通信装置相关联的装置状态数据(110),以及基于与通信装置相关联的装置状态数据确定是否许可通信装置执行装置操作。当许可通信装置执行装置操作时,该方法还包括将心跳确认信号(126)传送至通信装置。心跳确认信号许可通信装置执行装置操作。

著录项

  • 公开/公告号CN112805964A

    专利类型发明专利

  • 公开/公告日2021-05-14

    原文格式PDF

  • 申请/专利权人 谷歌有限责任公司;

    申请/专利号CN201980066740.6

  • 申请日2019-10-01

  • 分类号H04L12/24(20060101);

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人金玉洁

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 10:58:46

说明书

技术领域

本公开涉及网络连接装置在云降级模式下的可靠操作。

背景技术

有一些云服务需要很高程度的操作可靠性以支持物联网(IoT)装置以及其他装置。这些装置往往需要从云环境发回的心跳(heartbeat)(也被称为保持活动(keep alive)信号)以确保装置可以继续执行正在进行的任务或操作。在装置变得非常重要这一点上,会出现如下问题:云服务变为总系统可靠性的很大一部分。

提高云服务的可靠性的一些方式包括在多于一个的位置复制整个系统,从而有效提供N+1冗余度。然而,该技术难以管理,并且两个系统之间的完全一致性可能是复杂的并且成本高昂的。

发明内容

诸如主云网络之类的主网络包括诸如一个或多个服务器之类的网络装置,其存储与主网络通信的各种装置的装置状态数据。例如,这些装置包括物联网(IoT)装置、无线基站、端用户装置(无线移动以及有线装置)或任何其他装置。在一个示例中,次级网络(诸如次级云网络)中的备份网络装置(诸如一个或多个服务器)是较小的系统并对主网络所保存的状态数据的子集进行备份。在一些实施方式中,次级网络中的备份装置保存了从主网络获得的有效心跳确认数据(保持活动信号数据)的副本。在一个示例中,仅保持活动信号数据被次级网络备份。然而,装置状态数据的任何适当子集也可进行备份,只要它包括保持活动数据(也被称为心跳确认数据)的备份。

在一些实施方式中,系统由主云基础设施中的一个或多个服务器提供的主要服务以及通过次级云基础设施中的备份装置维护的仅心跳(hearbeat-only,HBO)系统构成。在关于主网络出现的故障状况期间使用次级网络。一些实施方式中的系统、方法及设备还允许失效代理(invalidation agent)在故障状况之前、期间或之后使心跳确认数据失效。

心跳确认数据是指示装置可以继续与主云进行操作的数据。在一个示例中,心跳确认数据被存储在次级网络中的表中,从而允许第二系统提供最大分离性而无需具有完全重写的软件服务。这允许甚至在主网络的故障状况期间也保持IoT装置或其他装置的一致操作,而无需不得不在多个云基础设施上总是具有状态数据的完全一致的副本,以及具有较小的独立服务来在云网络的各部分之间确保可靠性。可以用明显较简单的状态将服务心跳复制到可能为静态的网页处理机的点。然而,可以采用任何合适的操作来提供心跳。由主云系统以装置心跳确认数据更新的次级云系统使得保持一致状态明显更为简单。

本公开的一些方面提供了网络连接装置在云降级模式下的可靠操作。本公开的一个方面提供了一种用于提供适合于与第一网络通信的通信装置的操作可靠性的方法。在存在阻止通信装置与第一网络的网络装置之间的通信的网络故障状况的情况下,该方法包括在次级网络的数据处理硬件处从通信装置接收心跳请求,该心跳请求请求许可该通信装置执行装置操作。该方法还包括由数据处理硬件获得与通信装置相关联的装置状态数据。该方法还包括由数据处理硬件基于与通信装置相关联的装置状态数据来确定是否许可通信装置执行装置操作。当许可通信装置执行装置操作时,该方法还包括通过数据处理硬件将心跳确认信号传送至通信装置。心跳确认信号许可通信装置执行装置操作。

本公开的实施方式可包括以下可选特征中的一个或多个。获得装置状态数据可包括从第一网络的网络装置接收与通信装置相关联的装置状态数据。在一些实施方式中,当在从通信装置接收心跳请求之前接收到装置状态数据时并且当不存在网络故障状况时,该方法包括:将装置状态数据存储到备份数据存储器中,使用识别该通信装置的装置标识符从备份数据存储器检索装置状态数据,以及使通信装置与存储在备份数据存储器中的装置状态数据相关联。在一些示例中,确定是否许可通信装置执行装置操作包括确定装置状态数据是否包括心跳确认数据。心跳确认数据可指示第一网络的网络装置许可通信装置执行操作。当装置状态数据包括心跳确认数据时,该方法可包括确定许可通信装置执行装置操作。当装置状态数据不包括心跳确认数据时,该方法可包括确定不许可通信装置接收心跳确认信号。在一些示例中,该方法包括:当装置状态数据不包括心跳确认数据时,阻止将心跳确认信号传送至通信装置,由此阻止通信装置执行装置操作。

在一些实施方式中,确定许可通信装置执行装置操作包括确定装置状态数据是否包括失效数据,该失效数据使通信装置失去执行装置操作的能力。在这些实施方式中,当装置状态数据包括心跳确认数据且不包括失效数据时,该方法包括确定许可通信装置执行装置操作。然而,当装置状态数据包括失效数据以及心跳确认数据时,该方法可包括:撤销通信装置执行装置操作的许可以及抑制心跳确认信号到通信装置的传送,由此阻止通信装置执行操作。失效数据可指示:通信装置需要软件更新,通信装置不符合合约协议,和/或通信装置无法获得通信装置执行装置操作所必需的资源。

在一些示例中,第一网络的网络装置被配置成在网络故障状况之前将与通信装置相关联的装置状态数据推送至数据处理硬件。附加地或可替换地,第一网络的网络装置可被配置成响应于数据处理硬件的拉取操作而发送与通信装置相关联的装置状态数据。装置状态数据可包括:识别通信装置的装置标识符、使通信装置失去执行装置操作的能力的失效数据、与通信装置相关联的操作可靠性信息、支付状态、通信装置更新组织元数据的能力、和/或整体环境健康的合计计算。

当不存在网络故障状况时,通信装置可被配置成向第一网络的网络装置发送心跳请求以请求执行装置操作的许可,并且第一网络的网络装置可被配置成向通信装置发送心跳确认信号。网络装置还可被配置成更新与通信装置相关联的装置状态数据以包括被发送至通信装置的心跳确认信号。在一些实施方式中,当通信装置在向网络装置发送心跳请求之后的阈值时间段内没有从第一网络的网络装置接收到心跳确认信号时,存在网络故障状况。通信装置可包括物联网(IoT)装置、温度传感器、无线基站、移动装置和/或智能电器。

本公开的另一方面提供了一种用于网络连接装置在云降级模式下可靠操作的系统。本公开的一方面包括备份网络的数据处理硬件以及与该数据处理硬件通信的存储器硬件。存储器硬件可存储指令,这些指令当在数据处理硬件上执行时使数据处理硬件执行操作。在存在阻止通信装置与第一网络的网络装置之间的通信的网络故障状况的情况下,操作包括从通信装置接收心跳请求。该心跳请求请求通信装置执行装置操作的许可。操作还包括获得与通信装置相关联的装置状态数据以及基于与通信装置相关联的装置状态数据确定是否许可通信装置执行装置操作。当许可通信装置执行装置操作时,操作包括将心跳确认信号传送至通信装置。该心跳确认信号许可通信装置执行装置操作。

本公开的实施方式可包括以下可选特征中的一个或多个。获得装置状态数据可包括从第一网络的网络装置接收与通信装置相关联的装置状态数据。在一些实施方式中,当在从通信装置接收心跳请求之前接收到装置状态数据时并且当不存在网络故障状况时,操作包括:将装置状态数据存储到备份数据存储器中,使用识别该通信装置的装置标识符从备份数据存储器检索装置状态数据,以及使通信装置与存储在备份数据存储器中的装置状态数据相关联。在一些示例中,确定是否许可通信装置执行装置操作包括确定装置状态数据是否包括心跳确认数据。心跳确认数据可指示第一网络的网络装置许可通信装置执行装置操作。当装置状态数据包括心跳确认数据时,操作可包括确定许可通信装置执行装置操作。当装置状态数据不包括心跳确认数据时,操作可包括确定不许可通信装置接收心跳确认信号。操作可包括:当装置状态数据不包括心跳确认数据时,阻止将心跳确认信号传送至通信装置,由此阻止通信装置执行装置操作。

在一些实施方式中,确定许可通信装置执行装置操作包括确定装置状态数据是否包括失效数据,该失效数据使通信装置失去执行装置操作的能力。在这些实施方式中,当装置状态数据包括心跳确认数据且不包括失效数据时,操作包括确定许可通信装置执行装置操作。然而,当装置状态数据包括失效数据以及心跳确认数据时,操作可包括:撤销通信装置执行装置操作的许可以及抑制心跳确认信号到通信装置的传送,由此阻止通信装置执行操作。失效数据可指示:通信装置需要软件更新,通信装置不符合合约协议,和/或通信装置无法获得通信装置执行装置操作所必需的资源。

在一些示例中,第一网络的网络装置被配置成在网络故障状况之前将与通信装置相关联的装置状态数据推送至数据处理硬件。附加地或可替换地,第一网络的网络装置可被配置成响应于数据处理硬件的拉取操作而发送与通信装置相关联的装置状态数据。装置状态数据可包括:识别通信装置的装置标识符、使通信装置失去执行装置操作的能力的失效数据、与通信装置相关联的操作可靠性信息、支付状态、通信装置更新组织元数据的能力、和/或整体环境健康的合计计算。

当不存在网络故障状况时,通信装置可被配置成向第一网络的网络装置发送心跳请求,并且第一网络的网络装置可被配置成向通信装置发送心跳确认信号。网络装置还可被配置成更新与通信装置相关联的装置状态数据以包括被发送至通信装置的心跳确认信号。在一些实施方式中,当通信装置未在向网络装置发送心跳请求之后的阈值时间段内从第一网络的网络装置接收到心跳确认信号时,存在网络故障状况。通信装置可包括物联网(IoT)装置、温度传感器、无线基站、移动装置和/或智能电器。

附图说明

图1是包括主网络以及次级网络的示例性网络系统的示意图。

图2是图1的网络系统的主网络中所采用的示例网络装置的示意图。

图3是图1的网络系统的次级网络中所采用的示例备份装置的示意图。

图4是为适合于与主网络通信的通信装置提供操作可靠性的方法的示例性操作布置的流程图。

图5是为适合于与主网络通信的通信装置提供操作可靠性的方法的示例操作布置的流程图。

图6是为适合于与主网络通信的通信装置提供操作可靠性的方法的示例操作布置的流程图。

图7是示例性计算装置的示意图。

各个附图中的类似参考符号指示类似的元素。

具体实施方式

图1示出了采用主网络102以及次级网络104的网络系统100的一个示例。在一个示例中,主网络102是由第一供应商操作的云网络基础设施,并且次级网络104是由不同的服务供应商操作的不同的云网络基础设施。然而,可以采用任何合适的网络配置。各种通信装置106、106a–e注册到主网络102并通过技术,包括通过无线或有线接口,与主网络102通信。虽然示出了五种不同类型的通信装置106的示例,但是任何数量的通信装置106均可以在任何给定时间注册到主网络102并与主网络102通信。例如,一些通信装置106a、106b、106e可包括物联网(IoT)装置或用户设备(UE)装置,诸如建筑物中的温度传感器或智能电器、或移动计算装置(例如智能电话、平板、可穿戴等等)。其他通信装置106c、106d可包括无线基站。在所示的示例中,通信装置106中的每一个均通过基于互联网协议(IP)的通信协议或任何其他合适的协议与主网络102通信。在一个示例中,一个或多个通信装置106可以通过作为基于互联网的云网络系统的一部分的域名系统(DNS)与主网络102以及次级网络104通信。主网络102包括主网络装置200。网络装置200(例如图1所示的主网络装置200)可以是一个或多个服务器(诸如网络服务器),其与通信装置106中的一个或多个通信。照此,网络装置200包括数据处理硬件210以及与数据处理硬件210通信的存储器硬件220。在一些示例中,网络装置200执行软件应用或服务,诸如网络注册服务202。通信装置106可以向网络注册服务202注册以接收心跳确认信号126(也被称为心跳确认或保持活动信号),以许可通信装置106继续执行正在进行的任务或操作。所有通信装置106可以是同一类型的(诸如都是IoT类型装置),或可以是不同类型的装置的各种组合,诸如智能电话与智能电话可能希望采用以用于通信目的的无线基站。示例性主网络102包括公民宽带无线电服务(citizen’sbroadband radio services,CBRS)系统;然而,主网络102可以是任何合适的系统。

通信装置106(诸如IoT装置106a)向主网络102中的网络装置200(例如数据处理硬件210)发送心跳请求128,请求网络装置200发送回心跳确认信号126。心跳确认信号126可包括心跳确认数据118。当IoT装置106a接收心跳确认信号126时,由于不存在网络故障状况130,因此IoT装置106a继续与主网络102执行当前任务或操作。通信装置与网络装置200之间的心跳请求128与心跳确认信号126的通信可以至少每20秒、240秒或任何适当的时间段发生一次。在一些实施方式中,服务器200记录装置状态数据110(其指示发布给每一特定通信装置106的心跳确认数据118)并将装置状态数据110与和特定通信装置106相关联的装置标识符(ID)114一起存储到与网络装置200通信的装置状态数据存储器212中。在一些示例中,装置状态数据存储器212驻留在网络装置200的存储器硬件220上。装置状态数据存储器212中所存储的装置状态数据110包括其他信息,包括关于与主网络102执行当前任务或操作的信息。装置状态数据110可包括但不限于表示支付状态的数据、更新组织元数据的能力、整体环境健康的合计计算和/或任何其他合适的数据。只要IoT装置106a响应于发布心跳请求128而接收到对应心跳确认信号126,IoT装置106a就会知道其可以继续其与主网络102的操作。然而,例如当未从主网络102接收到心跳确认信号126时,IoT装置106a将认识到,出现了与主网络102的网络故障状况130。在一些示例中,当在发布/发送心跳请求128之后的预定时间段内未接收到心跳确认信号126时,通信装置106认识到存在网络故障状况130。

在一些示例中,主网络102是第一供应商的云网络。云网络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备份并在图1中被示为备份装置状态数据110。因此,例如在由通信装置106所察觉的与主网络102相关联的网络故障状况130期间,网络装置300用作装置状态数据110的子集的备份或回退装置。状态数据110的子集是通过任何合适的机制由主网络102提供的,该机制包括作为与在云中运行的应用的云实例相关联的备份操作的一部分被推送至次级网络104或由次级网络104拉取。在备份装置300上执行的软件应用可以执行备份操作。在该示例中,次级网络104是与主网络102相比较小的云网络,因此降低了备份系统的成本以及操作复杂性。另外,次级网络104中的备份装置300仅备份由主网络102针对与主网络102通信的装置中的每一者保存的状态数据110的子集,由此降低了存储成本以及操作复杂性。例如,次级网络104可不允许通信装置106的新注册。换句话说,在一些实施方式中,备份装置300不执行网络注册服务。

网络系统100还包括失效代理120(例如心跳失效代理120(图1)),其可以是被授权使通信装置106关于主网络102以及次级网络104失效的任何合适的装置。失效代理120可向与主网络102相关联的主网络装置200提供对应失效数据124、124a和/或向与次级网络104相关联的备份装置300提供对应失效数据124、124b。软件服务供应商、系统管理员或其他实体可以采用失效代理120来识别特定通信装置106,在从这些特定通信装置106发出请求(例如通过心跳请求128)时,这些特定通信装置106不应从网络102、104接收心跳确认信号126。更具体而言,失效数据124通过指示主网络装置200和/或备份装置300不向特定通信装置106传送心跳确认信号126来使特定通信装置106失去执行任务或操作的能力。失效代理120可确定通信装置106无法获得通信装置106执行装置操作所必需的资源。可以在CBRS系统中实现这一点,例如,如果失效代理120确定无法从基站106c获得特定频率或频率组以供通信装置106b使用。例如,CBRS系统中的一个或多个基站(例如106c)所使用的频率或某些频率可以由系统和/或失效代理120确定为正由政府实体使用并且不能供非政府装置使用。可以阻止通信装置106b尝试接入那些频率。在其他系统中,当需要软件更新时,当通信装置的所有者不符合关于软件使用所作出的合约协议或其他标准时,可以阻止物联网(IoT)装置106a使用主网络102。

备份装置300包括存储器,诸如存储装置状态数据110的备份子集(包括心跳确认数据118)的备份数据存储器318。心跳确认数据118包括从主网络102获得的有效心跳确认数据118的副本。在一些实施方式中,提供给主网络装置200的失效数据124a被传播到备份装置300并被存储到备份数据存储器318中。例如,由备份网络装置300备份的状态数据110的子集可包括表示通信装置与失效代理120之间的数据映射的数据。在一些实施方式中,提供给备份网络装置300的失效数据124b被存储到备份数据存储器318中。在另一示例中,次级网络104仅备份保持活动信号数据118(心跳确认数据)。这可以允许诸如以表的格式较少地使用存储器。

照此,次级网络104的备份装置300仅备份正与主网络102通信的特定通信装置的操作可靠性信息。在一个示例中,仅保持活动信号数据(也被称为心跳确认数据118)被从主网络102备份。心跳确认数据118与由装置与主网络102执行的正在进行的通信或任务相关联,并且可指示主网络102的主网络装置200许可通信装置106在存在阻止通信装置106与主网络装置200之间的通信的网络故障状况130的情况下继续执行任务或操作。在一些实施方式中,失效数据124b在与主网络102相关联的网络故障状况130期间被直接提供至备份装置300。本文所述的操作提供了一种类型的“如果这样则那样”级别的功能以用于取消仍然传播心跳的授权,从而撤销在与主网络102相关联的网络故障状况130期间通信装置继续执行任务或操作的许可。例如,当失效代理120检测到与主网络102相关联的网络故障状况130时,失效代理120可向备份装置300传送失效消息122。网络系统100以及方法400、500、600提供了用于配置并处理心跳信号协议的非常简单的技术。如上所述,在一个示例中,系统由主服务以及仅心跳备份服务构成。主服务在主网络102的云基础设施上运行,而仅心跳服务在完全分离的云基础设施(即次级网络104)上运行,其具有响应于与主网络102相关联的网络故障状况130而由次级网络104向装置106确认可操作性的能力。

参照图2,网络装置200可执行网络注册服务202,并且通信装置106可以向网络注册服务202注册以接收心跳信号126(也被称为心跳确认信号、保持活动信号或简称心跳),以许可通信装置106启动或继续执行任务或操作。在所示的示例中,通信装置106可向网络装置200发送心跳请求128并接收对应的心跳确认信号126。在一些实施方式中,通信装置106连续地接收心跳信号126(例如以定期的间隔)并响应于接收心跳信号126而继续执行任务或操作。在一些示例中,对于与网络装置200通信(例如通过心跳请求128与对应心跳确认信号126的通信)的特定通信装置106,网络装置200将装置状态数据110以及与特定通信装置106相关联的装置标识符(ID)114一起记录到装置状态数据存储器212中。装置ID 114可唯一地识别通信装置106。装置状态数据110可包括关于通信装置106所执行的操作或任务的任何信息,诸如但不限于表示支付状态的数据、更新组织元数据的能力、整体环境健康的合计计算和/或任何其他合适的数据。装置ID 114可以用作索引,例如以查找或识别存储在数据存储器212中并与特定通信装置106相关联的装置状态数据110。与特定通信装置106相关联的装置状态数据110可以使用装置ID 114作为索引而随时间更新。例如,当通信装置106响应于从网络装置200接收到心跳确认信号126而继续执行任务或操作时,网络装置200可更新装置状态数据110。在一些示例中,装置状态数据110包括与心跳确认信号126相关联的心跳确认数据118,心跳确认信号126被网络装置200发送至通信装置106以许可通信装置106执行任务或操作。

在一些实施方式中,每当网络装置200向通信装置106发送心跳信号126时,网络装置200都会更新心跳确认数据118。照此,心跳确认数据118可提供从通信装置106接收到的带时间标记的心跳请求128以及被发送至通信装置106的带时间标记的心跳信号126的记录。在所示的示例中,装置状态数据110可反映网络装置200许可通信装置106启动或继续执行任务或操作的最近时间。在一些示例中,网络装置200从失效代理120接收失效消息122。失效消息122可包含心跳失效数据124、124a,其指示通信装置106不应从主网络装置200接收任何心跳确认信号126。例如,当物联网(IoT)装置106a需要软件更新以解决潜在的安全漏洞时,或当IoT装置106a的所有者不符合合约协议(诸如获得或维持有效软件许可)时,可以阻止IoT装置106a使用主网络102。失效消息122可包含心跳失效数据124、124a,其包括这些标准或通信装置106不应从主网络装置200接收任何心跳确认信号126的可能的其他标准的指示。失效数据124a可包含装置标识符114(例如装置ID114(图1)),其识别不应接收包含心跳确认数据118的心跳确认信号126的特定通信装置106,该心跳确认数据118指示主网络装置200(例如网络注册服务202)许可特定通信装置106执行任务或操作。因此,响应于从失效代理120(例如心跳失效代理120(图1))接收失效消息122中所包含的失效数据124a,网络装置200可拒绝向失效数据124a所识别的通信装置106传送心跳确认信号126。例如,当网络装置200从通信装置106接收用于执行任务或操作的心跳请求128时,网络装置200可使用相关联的装置ID 114查询数据存储器212以确定通信装置106的装置状态数据110是否包括失效数据124。当存在失效数据124时,网络装置200可拒绝向通信装置106传送对应的心跳确认信号126,由此阻止通信装置106执行任务或操作。在一些示例中,当网络装置200停止向通信装置106传送心跳确认信号126时,网络装置200停止更新装置状态数据110中的心跳确认数据118。在一些示例中,装置状态数据110包括接收到的失效数据124a。照此,网络装置200可被配置成用从失效代理120接收到的失效数据124a更新装置状态数据110,该失效数据124a指示特定通信装置106应不再从网络装置200接收心跳确认信号126。

参照图3,备份装置300可执行备份控制器302以及确认控制器304。确认控制器304可被称为备份确认控制器304或心跳确认控制器304。在一些示例中,可出现由通信装置106所察觉的与主网络102相关联的网络故障状况130(图1)。例如,通信装置106可能无法连接至主网络102或可能无法在发送心跳请求128之后的阈值时间段内接收到心跳确认126。与主网络102相关联的网络故障状况130可以由影响主网络102的停电或受损的通信电缆或光纤或阻止通信装置106与主网络102之间的通信的任何其他故障造成。在一些示例中,网络故障状况130是由于通信装置106与主网络102通信的能力出现故障,即使主网络102在其它方面是可使用的。网络故障状况130的其他源也可以适用。在一些示例中,当通信装置106无法在阈值时间段内接收到心跳确认126时,通信装置106尝试向网络注册服务202重注册。在这些示例中,当通信装置106无法在连接超时时段内重注册到网络注册服务202时,可以建立网络故障状况130。由于通信装置106无法在网络故障状况130期间从主网络102接收心跳确认信号126,因此通信装置106将停止执行以接收到周期性心跳确认信号126为条件的任务或操作。在一些示例中,在与主网络相关联的网络故障状况130期间,通信装置106被配置成启动与次级网络104(代替主网络102)的通信。换句话说,当通信装置106无法从主网络102的主网络装置200接收心跳确认信号126时,次级网络104可在网络故障状况130期间提供回退以服务来自通信装置106的心跳请求128并向通信装置106发布心跳确认信号126。在所示的示例中,尽管通信装置106不能与主网络102的主网络装置200通信,但是通信装置106在网络故障状况130期间向备份装置300的备份心跳确认控制器304发送心跳请求128并接收许可通信装置106继续执行任务或操作的对应的心跳确认信号126(也被称为保持活动信号)。在这里,在向通信装置106发送心跳确认信号126之前,备份心跳确认控制器304可首先查询备份控制器302以确定与通信装置106相关联的备份装置状态数据110是否指示许可通信装置106接收心跳确认信号126。

在所示的示例中,装置心跳备份控制器302从主网络102的主网络装置200接收至少装置状态数据110的子集。状态数据110的子集可包括心跳确认数据118、与通信装置106相关联的装置ID 114、以及主网络注册装置200(例如主网络装置200(图1))从心跳失效代理120接收到的任何失效数据124a。在一些示例中,接收到的状态数据110(例如装置状态数据110(图1))包括与通信装置106相关联的所有状态数据110,其如上所述存储在主网络102的装置状态数据存储器212中。在一些示例中,接收到的状态数据110仅包括心跳确认数据118。备份控制器302可接收状态数据110的其他子集。在一些实施方式中,当主网络装置200向通信装置106发送心跳确认信号126时,主网络装置200将装置状态数据110推送至备份控制器302。在这些实施方式中,当与通信装置106相关联的装置状态数据110改变时或在任何其他合适的情况下,主网络装置200可以周期性间隔将状态数据110推送至备份控制器302。在另外的实施方式中,备份装置300的备份控制器302在拉取操作期间从主网络102拉取装置状态数据110。例如,作为计划的备份操作的一部分和/或响应于备份确认控制器304从通信装置接收心跳请求128,备份控制器302可从主网络装置200拉取装置状态数据110。例如,备份控制器302可通过使用相关联的一个或多个装置ID 114查询主网络装置200来拉取一个或多个通信装置106的状态数据110的子集。在一些示例中,备份控制器302将从主网络装置200接收到的装置状态数据110备份到备份数据存储器318中。如同图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可通过主网络102间接地接收失效数据124、124a,而不是直接从心跳失效代理120接收。因此,存储在备份数据存储器318中的接收到的装置状态数据110可反映通信装置106不应接收任何心跳确认信号126的指示。在一些示例中,备份控制器302直接从失效代理120接收失效消息122。失效消息122可包含心跳失效数据124、124b(例如失效数据124、124b(图1)),其指示通信装置106不应响应于通信装置106向备份确认控制器304发送心跳请求128而从次级网络104的备份确认控制器304接收任何心跳确认信号126。失效数据124b可包含装置ID 114,其识别不应接收包含心跳确认数据118的心跳确认信号126的特定通信装置106,该心跳确认数据118否则将许可特定通信装置106执行任务或操作。失效代理120可向与主网络102相关联的主网络装置200提供对应失效数据124、124a和/或向与次级网络104相关联的备份控制器302提供对应失效数据124、124b。在一些示例中,失效代理120仅在存在网络故障状况130的情况下向次级网络104的备份装置300传送失效消息122。例如,当失效代理120检测到或以其他方式得知阻止特定通信装置106与主网络102的主网络装置200之间的通信的网络故障状况130时,失效代理120可向备份控制器302传送包含失效数据124b的失效消息122。在一些示例中,响应于接收与特定通信装置106相关联的失效消息122,备份控制器302更新备份数据存储器318中所存储的装置状态数据110以包括与通信装置106相关联的失效数据124b(例如按装置ID 114索引)。在所示的示例中,心跳失效代理120可在与主网络相关联的网络故障状况130期间使用与通信装置106相关联的失效数据124来使与通信装置106相关联的任何心跳确认数据118失效,由此阻止备份装置300的备份控制器302发送任何心跳确认信号。

在一些示例中,响应于从通信装置106接收心跳请求128,备份心跳确认控制器304确定是否向通信装置106发送心跳确认126以许可通信装置106启动或继续执行任务或操作。心跳确认控制器304可以基于备份数据存储器318中所存储的备份装置状态数据110来确定是否向通信装置106发送心跳确认信号126。在这里,备份确认控制器304可以查询备份控制器302以使用相关联的装置ID 114从备份数据存储器318检索备份装置状态数据110。在一些示例中,备份心跳确认控制器304向备份控制器302提供心跳请求128以及相关联的装置ID 114。备份控制器302可例如使用相关联的装置ID 114来检索备份的装置状态数据110并向备份心跳确认控制器304提供备份的装置状态数据110。在一些示例中,备份心跳确认控制器304直接从备份数据存储器318检索备份的装置状态数据110。备份心跳确认控制器304可使用其他技术来检索备份的装置状态数据110。在替代方案中,备份控制器302可确定所检索的备份装置状态数据110包括心跳确认数据118而没有任何失效数据124,并向备份确认控制器304提供信号以指示通信装置106应接收心跳确认信号126。在一些示例中,备份控制器302向备份心跳确认控制器304提供所检索的备份装置状态数据110,并且备份心跳确认控制器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可包括失效数据124,该失效数据124是在推送或拉取操作期间作为由备份控制器302接收到的装置状态数据110的一部分由备份控制器302通过主网络102的主网络装置200间接接收、或直接从失效代理120接收,并存储到备份数据存储器318中的。类似地,如果当控制器302正在执行备份的装置状态数据110检索操作时,心跳失效代理120向控制器302提供失效数据124b,则备份控制器302可简单地将失效数据124附加到正被发送至备份确认控制器304的备份的装置状态数据110中。在一些示例中,基于失效数据124,备份确认控制器304可拒绝向失效数据124(例如心跳失效数据124(图1))所识别的通信装置106传送心跳确认信号126。例如,当备份确认控制器304从通信装置106接收用于执行任务或操作的心跳请求128时,备份确认控制器304(或备份控制器302)可使用装置ID 114查询备份数据存储器318以确定与通信装置106相关联的装置状态数据110是否包括失效数据124。当存在失效数据124时,备份确认控制器304可撤销通信装置106执行装置操作的许可并抑制或拒绝向通信装置106传送对应的心跳确认信号126,由此阻止通信装置106执行任务或操作。

图4是为适合于与主网络102通信的通信装置106提供操作可靠性的方法400的示例操作布置的流程图。在操作402处,在存在阻止通信装置106与第一网络102(例如主网络102(图1))的网络装置200(例如主网络装置200(图1))之间的通信的网络故障状况130的情况下,方法400包括:在第二网络104(例如备份网络104或次级网络104(图1))的数据处理硬件310处,从通信装置106接收心跳请求128,该心跳请求128请求通信装置106执行装置操作的许可。在一些实施方式中,通信装置106被配置成向第一网络102的网络装置200发送心跳请求128并且当不存在网络故障状况130时从网络装置200接收对应的心跳确认信号126。在一些情况下,当通信装置106未在向网络装置200发送心跳请求128之后的阈值时间段内从第一网络102的网络装置200接收心跳确认信号126时,存在网络故障状况130。

在操作404处,方法400包括由数据处理硬件310获得与通信装置106相关联的装置状态数据110。例如,数据处理硬件310可直接或间接从第一网络102的网络装置200接收装置状态数据110。例如,当通信装置106与网络装置200之间的通信未被降级(例如不存在故障状况130)时,网络装置200可将装置状态数据110周期性地推送至数据处理硬件310,并且数据处理硬件310可将装置状态数据110存储到备份数据存储器318中。因此,数据处理硬件310可以在网络故障状况130期间访问备份数据存储器318以针对特定通信装置106检索其中所存储的装置状态数据110。附加地或可替换地,数据处理硬件310可执行拉取操作以从网络装置200获得装置状态数据110。在这里,数据处理硬件310可通过查询网络装置200以针对特定通信装置106检索装置状态数据110来执行拉取操作。查询可包括识别通信装置106的装置标识符114,使得网络装置200可从数据存储器212检索相关联的装置状态数据110。

在操作406处,方法400包括:由数据处理硬件310基于与通信装置106相关联的装置状态数据110确定是否许可通信装置106执行装置操作。例如,当装置状态数据110包括指示第一网络102的网络装置200许可通信装置106执行装置操作的心跳确认数据118时,方法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针对使用主网络102的一个或多个通信装置106、106a–106e备份来自主网络102的装置状态数据110的子集,其包括作为装置状态数据110存储的心跳确认数据118。通过基于每个装置的标识符114将状态数据110的子集存储到数据存储器318中来进行备份。例如,数据存储器记录可包括每一通信装置106a–106e的装置标识符114以及作为装置状态数据110由主网络102存储的对应心跳确认数据118。可出现网络故障状况130,诸如IoT装置106a不能连接至主网络102,如向主网络102作出心跳请求128的装置的连接至主网络102的DNS尝试而导致的IP地址故障所指示的。

在一个示例中,网络故障状况130由诸如通信装置之类的装置指示,该通信装置由于在尝试通过曾经连接至次级网络104(备份装置300)的DNS尝试连接至主网络102时不能接收适当的响应,因此该通信装置通过DNS向次级网络104作出互联网协议地址请求。IoT装置106a向次级网络104发布心跳请求128。响应于来自装置的心跳请求,备份心跳确认控制器304基于与来自该装置的心跳请求128相关联的所备份的心跳确认数据118而向通信装置106提供心跳确认126。在一个示例中,备份心跳确认控制器304使用作为心跳请求128的一部分由IoT装置106a提交的装置ID 114来查找备份数据存储器318中的装置状态数据110。心跳确认控制器304可确定接收到的装置ID 114是否与作为装置状态数据110的子集的一部分存储的装置ID 114匹配。如果装置ID 114进行了备份,则使用对应的备份的心跳确认数据118将心跳确认126返回到通信装置106。通信装置随后可继续其任务,诸如继续执行不需要主网络102操作的内存程序。

继续参照图5及图6,其中在系统100中使用失效代理120,软件服务供应商、系统管理员或其他实体可以使用失效代理120来使用装置标识符114标明特定通信装置,以指示该通信装置不应响应于来自通信装置106的心跳确认请求128而从网络(例如主网络102或次级网络104)接收心跳确认126。例如,如果失效代理120确定例如不能从基站106c获得特定频率或频率组以供通信装置106b使用,则可以这样做。可以阻止通信装置106b尝试接入某些频率。这可在CBRS类型系统中适用。例如,CBRS系统中的一个或多个基站(例如106c)所使用的频率或某些频率可以由系统和/或失效代理120确定为正由政府实体或装置使用并且因此不能供非政府装置使用。例如,当基站未正在使用特定频率时,这些频率被视为可供用户设备公开使用并且随后可从次级网络104向相应的IoT装置106a发送心跳确认126。在其他系统中,当需要软件更新时,当通信装置的所有者不符合关于软件使用所作出的合约协议或基于任何其他期望的标准时,可以阻止物联网(IoT)装置使用主网络102。可以采用数字策略证书或其他机制来确定何时向相应的网络发送失效数据124a和/或124b。另外,将关于使用多个终端用户通信装置106来描述该操作。然而,可以采用根据需要具有任何适当数量的终端用户通信装置106的系统。另外,不同于其中状态数据的子集不只是包括心跳确认数据118的其他示例,关于图5及图6的描述是在状态数据110的子集仅为与使用主网络102的多个装置中的每一者相关联的心跳确认数据118的上下文中进行的。

如方框502所示,方法500包括:备份装置300从主网络装置200仅接收与使用主网络102的多个装置相关联的心跳确认数据118(以及对应的装置ID 114)。所备份的心跳确认数据118是服务器200针对每个相应装置维护的装置状态数据110的子集。如方框504所示,该方法包括仅备份使用主网络102的所述多个装置的心跳确认数据118。这通过装置心跳备份控制器302仅备份来自主网络102的心跳确认数据118来实现。如方框506所示,该方法包括:响应于网络故障状况130并且响应于来自所述多个装置中的至少一者的心跳请求128,基于备份的心跳确认数据118向所述多个装置中的至少一者提供心跳确认126。在该示例中,这由备份心跳确认控制器304来实现。

如方框508所示,在诸如通过来自失效代理120的失效消息122的次级网络104的失效数据124b的情况下,并且当失效数据124b指示使通信装置106失效时,响应于网络故障状况130且响应于来自所述至少一个装置的心跳请求128,拒绝针对发出请求的装置的心跳确认126。换句话说,失效消息122可以在任何时间到来。如果在已经发送了心跳确认126之后发送失效消息122,则由于失效数据124b将用于指示失效代理120不再希望通信装置具有心跳确认126,后续的心跳请求128将被拒绝。

在另一示例中,如果来自装置的初始心跳请求128在网络故障状况130出现之后,失效数据124b指示通信装置是无效的,备份心跳确认控制器304将不发布心跳确认126,则将不发送心跳确认126。在一个示例中,失效数据124按照每个装置作为数据记录的一部分进行存储,使得备份的装置状态数据包括每一感兴趣装置的装置标识符114、来自主网络102的对应备份心跳确认数据118以及从失效代理120接收到的针对特定通信装置的任何失效数据124b。照此,在一个示例中,失效数据124b包括装置ID 114加上指示是否使通信装置106失效的数据。照此,备份装置300基于来自失效代理120的失效消息122拒绝针对作出心跳请求128的通信装置的心跳确认126。

参照图6,从系统视角,如方框602所示,方法600包括装置通过DNS地址注册到主网络102或与主网络102连接。如方框604所示,如果连接成功,则该方法继续至方框606,其中服务器200(例如主网络装置200(图1))更新作为装置状态数据110存储的心跳批准(心跳确认数据)118表。这包括例如将数据置于存储表、数据库记录或其他格式中以指示已经向请求心跳的装置发送了心跳确认126。作为备份操作的一部分,服务器200还向次级网络104提供心跳确认数据118。主网络102将持续地提供心跳确认数据118,只要该主网络正在正确地操作。然而,例如,如果存在由通信装置106(诸如IoT装置106a)所察觉的与主网络102相关联的网络故障状况130,则如方框608所示,通信装置将尝试通过DNS连接至次级网络104。如方框610所示,备份装置300以及在本示例中的备份心跳确认控制器304基于装置ID114检查备份数据存储器318中的备份状态数据,以确定备份数据是否指示最近由主网络102存储的心跳指示心跳确认126是在网络故障状况130之前通过装置由主网络102提供的。如方框612所示,备份网络装置300还检查与装置相关联的数据库记录以查看失效代理120是否已经针对该装置发送过失效消息122。如果是,则如方框614所示,次级网络104将拒绝对发出请求的通信装置106的心跳确认126。然而,如果失效代理120尚未指示使通信装置106失效,则如方框616所示,备份网络装置300将基于备份的心跳确认数据118以心跳确认126从次级网络104对请求心跳的通信装置做出响应。

除了其他优点之外,采用诸如以表的形式保存有效心跳信息的副本的第二且较小的云系统,允许第二系统具有最大分离性而无需具有完全重写的软件服务。次级网络104以及备份装置300允许整个系统对主网络102中的装置保持一致的看法而不必总是具有数据的完全恒定副本,以及具有较小的独立软件服务来确保可靠性。在一个示例中,存在静态页面处理机(handler),其仅存储操作的最重要方面,即将心跳确认信号126提供给装置。次级网络104仅需要由主网络102以心跳确认数据118进行更新,并使得维持装置的一致状态较现有方法明显更加简单。如本文中所用,装置ID 114与对应心跳确认数据118可以是相同的数据。例如,当使用表时,仅仅装置ID 114在表中的存在即可用作特定通信装置的心跳确认数据118。

图7是示例性计算装置700的示意图,其可以用于实施本文件中所述的系统(例如网络装置200以及备份网络装置300)以及方法(例如方法400、500、600)。计算装置700旨在表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、移动计算装置、可穿戴计算装置(例如头戴式受话器和/或手表)、服务器、刀片服务器、大型机以及其他合适的计算机。这里所示出的组件、它们的连接及关系以及它们的功能意图仅仅是示例性的,而非意图限制本文件中描述和/或要求的发明的实施方式。

计算装置700包括处理器710(也被称为处理硬件或数据处理硬件)、存储器720(也被称为存储器硬件)、存储装置730、连接至存储器720以及高速扩展端口750的高速接口/控制器740、以及连接至低速总线770以及存储装置730的低速接口/控制器760。组件710、720、730、740、750以及760中的每一者使用各种总线进行互连,并且可以安装在公共母板上或以其他合适的方式来安装。处理器710可以处理用于在计算装置700内执行的指令,包括存储在存储器720中或存储在存储装置730上的指令,以在外部输入/输出装置(诸如耦接至高速接口740的显示器780)上显示图形用户接口(GUI)的图形信息。在其他实施方式中,可以根据需要使用多个处理器和/或多个总线以及多个存储器及多种类型的存储器。而且,还可连接多个计算装置700,其中每一装置提供必要操作的部分(例如作为服务器阵列、刀片服务器组或多处理器系统)。

存储器720在计算装置700内非暂时性地存储信息。存储器720可以是计算机可读介质、易失性存储器单元或非易失性存储器单元。非暂时性存储器720可以是物理装置,其用于在暂时性或永久性基础上存储程序(例如指令序列)或数据(例如程序状态信息)以供计算装置700使用。非易失性存储器的示例包括但不限于闪存以及只读存储器(ROM)/可编程只读存储器(PROM)/可擦除可编程只读存储器(EPROM)/电可擦除可编程只读存储器(EEPROM)(例如通常用于固件,诸如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、相变存储器(PCM)以及磁盘或磁带。

存储装置730能够为计算装置700提供大容量存储。在一些实施方式中,存储装置730是计算机可读介质。在各种不同的实施方式中,存储装置730可以是软盘装置、硬盘装置、光盘装置或磁带装置、闪存或其他类似的固态存储装置、或者包括存储区域网络中的装置或其他配置的装置阵列。在另外的实施方式中,计算机程序产品有形地包含在信息载体中。计算机程序产品包含指令,这些指令在被执行时执行诸如上述那些方法之类的一种或多种方法。信息载体是计算机或机器可读介质,诸如存储器720、存储装置730或处理器710上的存储器。

高速控制器740管理用于计算装置700的带宽密集操作,而低速控制器760管理较低的带宽密集操作。这样的职责分配仅仅是示例性的。在一些实施方式中,高速控制器740耦接至存储器720、显示器780(例如通过图形处理器或加速器)并耦接至可以接受各种扩展卡(未示出)的高速扩展端口750。在一些实施方式中,低速控制器760耦接至存储装置730以及低速扩展端口790。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口790可以例如通过网络适配器耦接至诸如键盘、指示装置、扫描仪之类的一个或多个输入/输出装置或诸如交换机或路由器之类的连网装置。

如图所示,可以以很多不同的形式来实施计算装置700。例如,它可以作为标准服务器700a来实施,或作为膝上型计算机700b或作为机架式服务器系统700c的一部分在一组这种服务器700a中实施多次。

本文所述的系统及技术的各种实施方式可以在数字电子和/或光学电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种实施方式可包括以可编程系统上可执行和/或可解释的一个或多个计算机程序来实施,该可编程系统包括至少一个可编程处理器,该至少一个可编程处理器可以是专用的或通用的,并且耦接成从存储系统、至少一个输入装置以及至少一个输出装置接收数据及指令并向它们传送数据及指令。

这些计算机程序(也被称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以以高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施。如本文中所用,术语“机器可读介质”以及“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、非暂时性计算机可读介质、设备和/或装置(例如磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。

在本说明书中所述的过程及逻辑流程可以由一个或多个可编程处理器来执行,该一个或多个可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并产生输出来执行功能。这些过程及逻辑流程还可由专用逻辑电路来执行,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。例如,适于执行计算机程序的处理器包括通用及专用微处理器、以及任何种类的数字计算机中的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或二者接收指令及数据。计算机的基本元件是用于执行指令的处理器以及用于存储指令及数据的一个或多个存储装置。通常,计算机还将包括用于存储数据的一个或多个大容量存储装置(例如,磁盘、磁光盘或光盘),或者可操作地耦接至所述一个或多个大容量存储装置以从其接收数据或向其传递数据,或者二者。然而,计算机不需要具有这种装置。适于存储计算机程序指令及数据的计算机可读介质包括所有形式的非易失性存储器、介质及存储装置,包括例如:半导体存储装置,例如EPROM、EEPROM以及闪存装置;磁盘,例如内部硬盘或可移动盘;磁光盘;以及CD ROM及DVD-ROM盘。处理器及存储器可以通过专用逻辑电路增补,或者被并入专用逻辑电路中。

为了提供与用户的交互,可以在具有用于向用户显示信息的显示装置(例如,CRT(阴极射线管)、LCD(液晶显示器)监视器或触控屏幕)并且可选地具有可供用户用来向计算机提供输入的键盘及指示装置(例如,鼠标或轨迹球)的计算机上实施本公开的一个或多个方面。也可以使用其他种类的装置来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入可以以任何形式接收,包括声音、语音或触觉输入。另外,计算机可以通过向用户所使用的装置发送文件以及从该装置接收文件来与用户交互;例如,通过响应于从用户的客户端装置上的网络浏览器接收到的请求而向该网络浏览器发送网页。

已经描述了许多实施方式。然而,应当理解,在不背离本公开的精神及范围的条件下可以进行各种修改。因此,其他实施方式包含在权利要求的范围内。例如,权利要求中描述的动作可以不同的顺序执行,并且仍然实现期望的结果。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号