背景技术
可以实行本节中描述的方法,但不一定是先前已经构思或实行的方法。因此,除非本文另有说明,否则本节中描述的方法不是本申请权利要求的现有技术,并且不因包含在本节中而被认为是现有技术。
在本文中称为“可配置电子装置”的许多电子装置是向其用户提供机制而创建和/或修改其功能以执行特定任务的电子装置。例如,向其用户提供机制来配置其IP地址以与一个或多个第3层装置通信的网络路由器是一种可配置电子装置。另一实例是电视,其包括由其用户编程以在特定时间记录来自特定频道的视频的机制。另一实例是智能冰箱,其可以被配置成当特定食品少于存储在冰箱中的预定量时提醒其用户。
可配置电子装置能够执行如以上实例给出的各种任务,而不需要对其制造商创建的系统设计进行改变。对可配置电子装置的系统设计进行改变意味着改变可配置电子装置的硬件、软件或固件,使得其能够执行制造商未设计由装置执行的一个或多个任务,或者使得其不能执行制造商设计的由装置执行的一个或多个任务。
例如,可配置电子装置(例如多端口网络路由器)的多个以太网接口可以被配置成桥接在一起,以使这些端口充当单个交换机,如果路由器的系统设计支持所述操作的话。但是,这些端口无法单独地被配置成实现超出其硬件限制的更高数据吞吐率。例如,快速以太网端口无法被配置成在不改变其系统设计的情况下实现千兆以太网端口的吞吐率。
再例如,许多网络装置都有制造商对装置所支持的最大并发telnet或SSH会话数设置的限制。在不改变其系统设计的情况下,不可能使用高于制造商设置的多个并发telnet或SSH会话。
根据其系统设计配置电子装置的另一实例是电视,其提供以用户确定的顺序存储频道的机制。当所述电视的用户按照他/她自己确定的顺序存储频道时,他/她根据电视的系统设计配置电视。但是,制造的仅用于接收模拟信号的电视在不改变其系统设计的情况下不能接收数字信号。
可配置电子装置包含:通用计算机系统,例如台式机、笔记本电脑、服务器计算机、平板电脑、智能手机、个人数字助理(PDA);或专用计算机系统,例如,例如路由器、管理型交换机、无线接入点(WAP)之类的网络装置,或例如防火墙、入侵防御系统(IPS)、入侵检测系统(IDS)之类的网络安全装置,可配置电子装置可进一步包含用于但不限于工业工程或医疗保健系统的机电装置。任何可配置电器,例如电视、智能冰箱、智能电视、智能汽车或医疗装置,尤其是在物联网(IoT)环境中,也是可配置电子装置。任何可配置电子系统或子系统,例如在基于微波的装置(例如卫星或雷达)中使用的控制器单元,或者在例如全球定位系统(GPS)或声纳的导航装置中使用的控制器单元也是可配置电子装置。
与可配置电子装置相比,不可配置电子装置不包括向其用户提供而在不改变其系统设计的情况下创建和/或修改其功能以执行特定任务的此机制。不可配置电子装置的实例有仅产生预设声音的电子门铃、不间断电源(UPS)、稳压器、不可编程计算器和不具有存储信息功能的计算器、用于电视、空调等的遥控器单元、网络集线器、非管理型网络交换机、计算机键盘和鼠标等等。
大多数传统的可配置电子装置包括接收指示的机制,所述指示被当作来自其用户的命令或指令,根据所述命令或指令执行一个或多个任务。发布给可配置电子装置的通常有两种类型的命令。在本文中称为“配置指令”的一种类型的命令指示可配置电子装置对其配置进行改变。另一种类型的命令不指示可配置电子装置对其配置进行改变。第二种类型的命令通常用于查看各种系统参数的配置或状态。
许多传统的可配置电子装置包括在本文中称为“管理界面”的在本地或远程接收指令的机制。管理界面通常包括用于从其用户接收指令的输入机制和用于向其用户提供信息的输出机制。通过与管理界面交互,各种客户端或用户,例如人类用户和自动脚本,可以执行配置任务。管理界面通常包含命令行界面(CLI)、图形用户界面(GUI)或触摸屏。管理界面还可以包括用于以交互方式从例如但不限于USSD、MMI或SMS的其它交互式通信协议接收配置指令的机制。
也可以由可配置电子装置接收或检索配置指令,而无需使用管理界面。当不通过管理界面接收配置指令时,可以无限制地从本地或远程数据库或检索系统、SMS、电子邮件、从客户端单独地或作为群组、以文本串、脚本或装置可执行文件的形式接收配置指令。只要指令可由装置解释和处理,对指令的来源或格式没有限制。
可配置电子装置在其操作期间起作用的配置被称为其操作配置。根据装置的系统设计,操作配置可以是可修改的或不可修改的。在典型的现有技术可配置电子装置中,操作配置存储在可配置电子装置的主存储器中,并且可以通过可配置电子装置的管理界面直接修改。在一些现有技术装置中,操作配置也称为运行配置。
根据许多传统的可配置电子装置,存档的配置是保存在数据检索系统中的配置。数据检索系统包括非暂时性或非易失性存储介质,其包括在可配置电子装置本身中或包括在例如FTP/TFTP服务器或存储装置之类的远程计算装置中。术语非暂时性或非易失性存储介质包含但不限于只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、随机存取存储器(RAM)、磁RAM、核心存储器、软盘、软磁盘、硬盘、磁带、CD-ROM、闪存装置、存储卡、订户身份模块(SIM)卡和/或用于存储信息的其它机器可读介质。术语“机器可读介质”包含但不限于便携式或固定存储装置、光学存储介质、磁介质、存储器芯片或盒式磁盘、无线信道,以及能够存储、包含或携载指令和/或数据的各种其它介质。机器可读介质可以通过虚拟化来实现,且可以是虚拟机器可读介质,包含在基于云的实例中的虚拟机器可读介质。
许多传统的可配置电子装置包括将其配置(通常是操作配置)存档并且当可配置电子装置下次启动时将所述配置用作默认配置的机制。此配置被称为启动配置。在一些现有技术装置中,启动配置也称为发动配置。
根据许多传统的可配置电子装置,配置回滚是检索存档的配置并将所述存档的配置用作其操作配置的机制。当预期回到特定的先前操作状态而不需要手动重新配置可配置电子装置时,通常使用配置回滚。当发生一些不希望的结果时,在一些现有技术的网络装置中也使用配置回滚。一个这样的不希望的结果是不能从远程节点访问管理界面。当装置执行配置回滚时,所选的存档的配置将从装置的辅助存储器加载到装置的主存储器。
根据一些现有技术机制,当执行配置回滚时,现有的操作配置完全被存档的配置替换。
根据一些现有技术机制,当执行配置回滚时,可配置电子装置比较这两种配置并仅应用差异。例如,如果在存档的配置中,网络路由器的主机名是“Router1”且在第一网络接口上没有配置IP地址,并且在操作配置中,网络路由器的主机名是“Router2”且在第一网络接口上配置的IP地址是1.1.1.1,然后在回滚期间,主机名将更改为“Router1”,而第一网络接口的IP地址将保持为1.1.1.1。比较两种配置的一种方法是通过从配置生成基于文本的脚本并使用例如“diff”的程序执行数据比较操作。
接收、检索、应用、存档或回滚配置或配置指令的操作通常在现有技术中被称为配置操作。
在许多传统的可配置电子装置中,使用登录会话具体地识别会话或系统的用户或管理员登录系统与退出系统之间的时间段。退出系统可以由用户或管理员自己手动完成,或者系统可以在预定义时间段之后或出于任何其它预定义原因(例如密码过期策略或未经授权的人员活动)停止使用的情况下强行注销此人。还可能由脚本替代人类执行登录和退出系统的操作。
当可配置电子装置被配置成执行一个或多个特定任务时,可配置电子装置成功完成的那些任务在本文中称为“预期结果”。例如,如果管理员应用一个或多个指令来配置路由器的网络接口的IP地址以使其与特定的第3层装置通信,则此情况下的预期结果是在根据那些指令更新其操作配置后路由器能够与所述特定的第3层装置通信。再例如,如果智能电视被配置成记录来自在特定时间开始并在特定时间结束的特定频道的视频流,则预期结果是电视能够执行所述任务。
通常,当由于错误配置而未实现预期结果时,管理员重新配置可配置电子装置,直到实现预期结果。如果由于装置系统问题而未实现预期结果,则在重试配置之前会执行系统故障排查。当由于外部因素(例如但不限于网络链路或网络资源不可用)而未实现预期结果时,需要对这些因素进行故障排查,之后可以从新配置预期所述预期结果。
在一些由于错误配置而未实现预期结果的情况下,结果可能导致可配置电子装置变得不可操作或可配置电子装置的管理界面变为本地或远程管理员不可访问。如果根据此非预期结果,管理界面变为无法从本地访问,则管理员可以执行本地故障排查操作来解决此问题。但是,如果根据非预期结果,管理界面变为无法从远程访问,则管理员有时无法撤消上次所做的更改并使可配置电子装置再次可远程访问。
有的现有技术的可配置网络装置通过向管理员提供临时应用新配置的选项来提供部分解决此问题的一个或多个机制。如果管理员在预定时间段内或者故意地或者由于新配置导致管理员无法远程访问管理界面而未确认新配置,则路由器执行回滚操作以在进行更改之前恢复可配置电子装置的状态。在一些现有技术装置中,不使用此确认时间段,而是使用特殊的配置模式。除非管理员确认,否则不会保存在此特殊模式下进行的任何配置更改。因此,如果管理员或者故意地或者由于新配置导致管理员无法远程访问管理界面而未确认新配置,则路由器执行回滚操作以在进行更改之前恢复其操作状态。恢复先前的配置状态后,管理员将返回管理界面。
从这些现有技术的回滚方法可以推断,保持对管理界面的远程访问被视为强制性的预期结果。但是,可能存在这样的情况:预期结果是远程无法访问管理界面,或者这是预期结果的可接受后果。例如,可能存在这样的情况:管理员可能故意将他/她连接到的可配置电子装置的网络接口的IP地址分配给从他/她连接自的网络节点的IP地址不可达的IP地址。再例如,管理员可以在可配置电子装置中创建一个或多个访问控制列表(ACL)规则,所述ACL规则拒绝到达或来自管理员从特定IP地址连接的或者管理员IP所属的整个IP子网的任何IP数据包。在应用这些配置中的任何一个之后,与可配置电子装置断开连接是预期的且可接受的结果。本领域需要提供一种指示可配置电子装置在这些情况下不执行回滚的方法。这种新方法应该可用作可配置电子装置的附加特征,并且不阻止可配置电子装置利用现有技术装置中可用的回滚方法。
当可配置电子装置被配置成执行一个或多个特定任务时,由于一个或多个原因可能无法实现预期结果。这些原因包含但不限于错误配置或一个或多个环境因素。本文中提及的术语“环境因素”包含可配置电子装置的硬件、软件或固件相关问题或本地附接或远程系统的类似问题。环境因素还可以包含可配置电子装置用于与远程系统通信的装置或链路的物理或服务质量(QoS)相关问题。只要环境因素会影响对应于特定配置的可配置电子装置的预期结果,对环境因素可以是什么就没有限制。
对于先前段落中的网络相关实例,环境因素可以包含但不限于路由器与第3层装置之间的网络链路的缺失或不良QoS,或路由器的对应网络接口的硬件问题,由于所述问题,即使配置正确,装置也无法通信。另一个可能导致无法实现预期结果的环境因素的实例是同一局域网(LAN)中的重复主机名或IP地址。对于先前段落中的电视相关实例,环境因素可以包含但不限于来自特定频道的视频信号的缺失或者缺少足够的存储空间来存储所记录的视频。
在多个装置可以彼此通信以交换信息的IoT的上下文中,一个特定的可配置电子装置的可能环境因素可以是但不限于从其它可配置电子装置接收的信息。例如,家庭中的一个智能冰箱可以通过进一步确定特定食品是否在所述特定家庭中的其它智能冰箱中有存货来确定是否需要补充所述特定食品。在这种情况下,如果特定的智能冰箱被配置成当特定食品低于预定数量时向所有者发送SMS,那么如果所述特定的智能冰箱由于网络问题导致不能与所述家庭的其它智能冰箱通信,则可能无法执行所述操作。
一些传统的现有技术装置,尤其是网络路由器,在未实现预期结果时包括配置回滚机制。但是现有技术的可配置电子装置中缺少机制来为管理员提供选项,以通过考虑相关环境因素的状态来有效且广泛地定义是否执行回滚。
例如,如果在应用正确的站点到站点VPN配置后,由于特定服务器脱机而导致路由器无法与服务器建立VPN连接,则路由器确定尚未实现预期结果。在这种情况下,许多现有技术路由器向管理员提供选择是否执行回滚的选项。但是,如果服务器有可能在几个小时后变得可用,则本领域缺乏使管理员能够通过考虑所述信息来应用具有回滚条件的配置。
再例如,如果智能电视被配置成记录来自特定电视频道的视频流而来自所述频道的视频信号不可用,则使用现有技术机制,智能电视可以确定未实现预期结果。在这种情况下,智能电视可以执行配置回滚,如果其被配置成如此执行。但是,如果特定频道有可能在特定时间段后变得可用,则本领域缺乏使管理员能够通过考虑所述信息来应用具有回滚条件的配置。
当配置操作实时完成时,管理员可以通过考虑相关环境因素的当前状态来确定是否执行回滚操作。但是,如果计划稍后应用配置,则管理员可能无法预测相关环境因素的未来状态,因此他/她也无法有效地确定在这种情况下是否执行回滚操作。
从以上实例可以推断,当需要基于相关环境因素的未来状态来决定是否执行配置回滚时,现有技术装置缺乏有效且广泛地定义可配置电子装置可以基于其进行此决定的条件的机制。
在可配置电子装置中,有可能在一段时间之后解决具有例如硬件或软件组件或其任何组合之类的环境因素的一些问题。例如,无法执行特定任务的操作系统可能在更新其一个或多个软件组件之后变得能够执行所述特定任务。再例如,由于缺少磁盘空间而无法存储数据的PC可能在通过删除不必要的文件来增加其存储空间之后变得能够存储数据。具有在一段时间后能解决的环境因素的问题在计算机网络中也是典型的。这些问题包含但不限于网络资源不可用、网络拥塞、高延迟或连接故障。当未实现预期结果时,一些现有技术系统包括等待适当时间量并再次自动重试操作的机制。这种重试操作通常执行预定时间段、预定最大次数,或直到达到预期结果。此过程在本文中称为“重试尝试”。
本领域中需要在适用于其系统设计的任何可配置电子装置上以灵活且方便的方式利用这种重试尝试机制。使用前面提及的智能电视的实例,如果由于缺少存储视频的存储空间而未从配置实现预期结果,则此项技术应为管理员提供指示可配置电子装置以合适的间隔继续重试以确定是否有足够的存储空间可用的机制。在达到最大重试限制之前,智能电视不会回滚到先前的配置。当管理员知道将来有可能解决存储空间问题时,此机制特别有用。
考虑到所有上述问题,现有技术中缺乏使可配置电子装置的管理员能够以足够的灵活性和效率来定义是否执行配置回滚的机制。
具体实施方式
随后的描述仅提供优选的示例性实施例,并且不旨在限制本发明的范围、适用性或配置。实际上,优选的示例性实施例的随后描述将为本领域技术人员提供实施本发明的优选示例性实施例的有利描述。应理解,在不脱离如在所附权利要求书中阐述的本发明的精神和范围的情况下可以对元件的功能以及布置进行各种改变。
在以下描述中给出特定细节以提供对实施例的透彻理解。然而,本领域的技术人员应理解,可以在没有这些具体细节的情况下实践所述实施例。例如,可以以框图示出电路以免以不必要的细节混淆实施例。在其它情况下,可以在没有不必要的细节的情况下示出熟知的电路、过程、算法、结构以及技术以便避免混淆实施例。
另外,应注意,实施例可以被描述为以流程图、流图、数据流图、结构图或框图示出的过程。尽管流程图可以将操作描述为顺序过程,但是许多操作可以并行或同时执行。另外,操作的顺序可重新安排。过程在其操作完成时终止,但是可以具有不包含在图中的另外步骤。过程可对应于方法、功能、程序、子例程、子程序等。当过程对应于功能时,过程的终止对应于功能返回到调用功能或主功能。
尽管已经根据所示实施例描述了方法和设备,但是本领域普通技术人员将容易认识到,在不脱离实施例的范围的情况下可以进行变化。因此,旨在将以上描述中包含的和附图中示出的所有内容解释为说明性而不是限制性的意义。
实施例或其各部分可以程序指令来实施,所述程序指令可在处理单元上操作以用于执行如本文中所描述的功能和操作。构成各种实施例的程序指令可以存储在非暂时性存储介质中。此外,如本文所公开,术语“非暂时性存储介质”可以表示用于存储数据的一个或多个装置,包含只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、随机存取存储器(RAM)、磁RAM、磁芯存储器、软盘、软磁盘、硬盘、磁带、CD-ROM、闪存装置、存储卡和/或用于存储信息的其它机器可读介质。术语“机器可读介质”包含但不限于便携式或固定存储装置、光学存储介质、磁介质、存储器芯片或盒式磁盘、无线信道,以及能够存储、包含或携载指令和/或数据的各种其它介质。机器可读介质可以通过虚拟化来实现,且可以是虚拟机器可读介质,包含在基于云的实例中的虚拟机器可读介质。
如本文所使用的术语“非暂时性计算机可读介质”、“主存储器”或“辅助存储装置”是指参与向处理单元提供指令以供执行的任何介质。计算机可读介质仅是机器可读介质的一个实例,所述机器可读介质可以携载指令以用于实施本文中所描述的方法和/或技术中的任一个。此类介质可呈许多形式,包含但不限于非易失性介质、易失性介质和传输介质。非易失性介质包含例如光盘或磁盘。易失性介质包含动态存储器。传输介质包含同轴电缆、铜线和光纤。传输介质还可以采用声波或光波的形式,例如在无线电波和红外线数据通信期间产生的声波或光波。
易失性存储装置可以用于在通过处理器/处理单元执行指令期间存储临时变量或其它中间信息。非易失性存储装置或静态存储装置可以用于存储用于处理器的静态信息和指令,以及各种系统配置参数。
存储介质可以包含多个软件模块,所述软件模块可以实施为通过处理单元使用任何合适的计算机指令类型来执行的软件代码。软件代码可以作为一系列指令或命令、或作为程序存储在存储介质中。
各种形式的计算机可读介质可以涉及将一个或多个指令的一个或多个序列载送到处理器以便执行。例如,指令最初可以携载在远程计算机的磁盘上。替代地,远程计算机可以将所述指令加载到其动态存储器中,且向运行一个或多个指令的一个或多个序列的系统发送所述指令。
处理单元可以是微处理器、微控制器、数字信号处理器(DSP)、那些装置的任何组合,或被配置成处理信息的任何其它电路。
处理单元执行程序指令或代码段以用于实施本发明的实施例。此外,实施例可以由硬件、软件、固件、中间件、微码、硬件描述语言或其任何组合来实施。当用软件、固件、中间件或微码实施时,执行必需任务的程序指令可以存储在非暂时性计算机可读存储介质中。处理单元可以通过虚拟化来实现,且可以是虚拟处理单元,包含在基于云的实例中的虚拟处理单元。
本发明的实施例涉及使用计算机系统来实施本文所描述的技术。在实施例中,本发明的处理单元可以驻存在计算机平台等机器上。根据本发明的一个实施例,响应于处理单元执行易失性存储器中所包含的一个或多个指令的一个或多个序列,由计算机系统执行本文中所描述的技术。此类指令可以从另一计算机可读介质读取到易失性存储器中。对易失性存储器中所包含的指令的序列的执行使得处理单元执行本文中所描述的过程步骤。在替代实施例中,可以使用硬连线电路代替软件指令或结合软件指令来实施本发明。因此,本发明的实施例不限于硬件电路和软件的任何具体组合。
例如程序指令的代码段可以表示过程、功能、子程序、程序、例程、子例程、模块、软件包、类别,或指令、数据结构或程序陈述的任何组合。代码段可通过传递和/或接收信息、数据、自变量、参数或存储器内容而耦合到另一代码段或硬件电路。信息、自变量、参数、数据等可以经由包含存储器共享、消息传递、令牌传递、网络传输等任何合适的方式传递、转发或传输。
可替代地,硬接线电路可以用于取代或结合软件指令以实施符合本发明原理的过程。因此,符合本发明原理的实施方案不限于硬件电路和软件的任何特定组合。
网络接口可以通过独立的电子组件实施或者可以与其它电子组件集成。根据配置,网络接口可以不具有网络连接或具有至少一个网络连接。网络接口可以是以太网接口、无线通信接口、帧中继接口、光纤接口、电缆接口、数字订户线(DSL)接口、令牌环接口、串行总线接口、通用串行总线(USB)接口、火线接口、外围组件互连(PCI)接口等。
网络接口可以连接到有线或无线接入网络。接入网络可以携载一个或多个网络协议数据。有线接入网络可以使用以太网、光纤、电缆、DSL、帧中继、令牌环、串行总线、USB、火线、PCI或可以传递信息的任何材料来实施。无线接入网络可以使用红外线、高速分组接入(HSPA)、HSPA+、长期演进(LTE)、WiMAX、GPRS、EDGE、GSM、CDMA、Wi-Fi、CDMA2000、WCDMA、TD-SCDMA、蓝牙、WiBRO、演进数据优化(EV-DO);数字增强型无绳通信(DECT);数字AMPS(IS-136/TDMA);集成数字增强型(iDEN)或任何其它无线技术来实施。
实施例或其部分可以实施于计算机数据信号中,所述计算机数据信号可以呈用于通过传输介质进行通信的任何合适形式,使得其可读取以由功能装置(例如,处理单元)执行来执行本文中描述的操作。计算机数据信号可以包含能够经由传输介质传播的任何二进制数字电子信号,所述传输介质例如电子网络信道、光纤、空气、电磁介质、射频(RF)链路等,且因此数据信号可以采用电信号、光信号、射频或其它无线通信信号等形式。在某些实施例中,可经由计算机网络下载代码段,计算机网络例如是互联网、企业内部网、LAN、MAN、WAN、PSTN、卫星通信系统、电缆传输系统等。
信息包是包含例如地址信息的控制信息以及用户数据的协议数据单元(PDU)。信息包可以是例如互联网协议(IPv4或IPv6)的网络层PDU、例如传输控制协议(TCP)或用户数据报协议(UDP)的传送层PDU,或能够通过通信链路携载信息的任何其它协议的PDU。
应理解,指示示例性实施例的详细描述和具体实例仅出于说明的目的给出,而并非作为限制。在不脱离本发明的精神的情况下可以进行许多更改和修改,并且本公开的原理包含所有这些修改。所有元件的对应结构、材料、动作和等效物旨在包含用于结合其它元件执行功能的任何结构、材料或动作。除非明确说明,否则对单数元件的引用并非旨在表示“一个且仅一个”,而是“一个或多个”。此外,当在权利要求书或说明书中使用类似于“A、B或C中的至少一个”或“A、B和C中的至少一个”的短语时,所述短语旨在表示以下任何一个:(1)A中的至少一个;(2)B中的至少一个;(3)C中的至少一个;(4)A中的至少一个和B中的至少一个;(5)B中的至少一个和C中的至少一个;(6)A中的至少一个和C中的至少一个;或(7)A中的至少一个、B中的至少一个和C中的至少一个。
本发明涉及一种系统和方法,其使得可配置电子装置能够基于未能满足一个或多个预定义条件来确定是否将操作配置回滚到存档的配置。预定义条件在本文中称为“成功参数”。更具体地,本发明提供多种方法,通过考虑各种环境因素的状态来详细说明成功参数的创建。另外,根据本发明,提供多个过程,详细说明通过在必要时使用重试尝试测试配置是否满足成功参数来提高确定是否执行回滚操作的准确性的方法。提供多种方法在单用户和多用户环境中实现这些技术。基于上述技术确定是否执行回滚操作缓解了先前描述的现有技术问题或挑战。
根据一个实施例,可配置电子装置通过进一步确定操作配置是否不满足个别成功参数来确定是否回滚到存档的配置。操作配置是否满足个别成功参数在本文中称为所述特定成功参数的“状态”。由可配置电子装置确定的个别成功参数的状态为“满足”或“不满足”,其可以表示为布尔数据,分别为“真”或“假”。
根据一个实施例,可配置电子装置通过进一步确定操作配置是否不满足特定的一组成功参数来确定是否回滚到存档的配置。在本文中称为“成功参数组”的一组成功参数包括至少一个成功参数。为便于阅读,本文中使用首字母缩略“SPG”来表示短语“成功参数组(success-parameter-group)”。操作配置是否满足SPG在本文中称为所述特定SPG的“状态”。
根据本发明,由可配置电子装置确定的个别成功参数的状态或SPG的状态为“满足”或“不满足”,其可以表示为布尔数据,分别为“真”或“假”。当SPG中包括超过一个成功参数时,通过对所述组的每个成功参数的状态执行逻辑操作来确定所述SPG的状态。对个别成功参数的状态执行的逻辑操作可以按照系统管理员或制造商定义的任何数量或组合来执行。
由于SPG的状态和个别成功参数的状态都是布尔数据,因此在实施例中可以类似地使用它们中的任何一个。因此,除非本文中专门陈述,否则还应假设在实施例中提及SPG以描述使用个别成功参数代替SPG的类似实施例。
根据一个实施例,在进一步确定新配置是否满足SPG之前,由可配置电子装置确定仅个别环境因素的状态。由可配置电子装置确定的个别环境因素的状态为“符合要求”或“不符合要求”,其可以表示为布尔数据,分别为“真”或“假”。
根据一个实施例,在进一步确定新配置是否满足SPG之前,由可配置电子装置确定特定的一组环境因素的状态。在本文中称为“环境因素组”的一组环境因素包括至少一个环境因素。为便于阅读,本文中使用首字母缩略“EFG”来表示短语“环境因素组(environmental-factor-group)”。EFG是否符合要求在本文中称为所述特定EFG的“状态”。如由可配置电子装置确定的EFG的状态为“符合要求”或“不符合要求”,其可以表示为布尔数据,分别为“真”或“假”。当EFG中包括超过一个环境因素时,通过对所述组的每个环境因素的状态执行逻辑操作来确定所述EFG的状态。对个别环境因素的状态执行的逻辑操作可以按照系统管理员或制造商定义的任何数量或组合来执行。
由于EFG的状态和个别环境因素的状态都是布尔数据,因此在实施例中可以类似地使用它们中的任何一个。因此,除非本文中专门陈述,否则还应假设在实施例中提及EFG以描述使用个别成功参数代替EFG的类似实施例。
在一个实施例中,可配置电子装置在应用配置之前接收SPG,并在应用配置之后确定所述SPG的状态。
在一个实施例中,可配置电子装置接收SPG并且还在应用配置之前确定所述SPG的状态。此特定实施例仅适用于确定SPG的状态,不要求可配置电子装置使新配置可操作的情况。
根据本发明,只要条件可由可配置电子装置确定,对于管理员可以使用哪些条件来定义成功参数没有限制。在实践中,使用与预期结果更相关的条件来创建成功参数会更有效。这取决于管理员的技能来创建与新配置的预期结果更相关的成功参数。
根据本发明,可以由可配置电子装置从管理员处单独地、一起地或以任何组合接收新配置、SPG和EFG。
在一个实施例中,基于由可配置电子装置确定的与SPG相关的环境因素,由可配置电子装置创建EFG。
在一个实施例中,可以从远程计算机或数据检索系统接收EFG或环境因素的状态或这两者。
根据本发明的技术,如果对特定网络服务器的可达性是配置的预期结果,则从托管网络服务器的特定机器接收ping回复可以被定义为第一成功参数。此外,如果可以预期由于任一个或两个通信装置的防火墙规则导致在ping过程中使用的ICMP包被丢弃的情况的可能性,则可以定义第二和第三成功参数以确定是否可以分别通过HTTP或HTTPS协议在应用层中访问网络服务器。此外,如果可以预期网络服务器当前处于离线但在一段时间后可用的情况的可能性,则可以创建第四成功参数以在特定时间间隔之后重试第一、第二和第三成功参数并执行此重试尝试特定次数。
对于上述场景,管理员可以创建包括上述四个成功参数的SPG,并且使可配置电子装置通过对所有四个成功参数的状态执行逻辑分离(“OR”)来确定SPG的状态。
在另一实例中,管理员为可配置电子装置创建特定配置以执行特定操作,所述特定操作将生成需要存储在预先分配的永久存储装置中的至少特定大小(例如,以兆字节为单位)的数据。可以在应用配置之后立即执行特定操作,或者在管理员确定的稍后时间执行特定操作。对于这种情况,管理员可以创建成功参数,如果在预先分配的存储装置中存储整个数据成功,则将满足所述成功参数。另外,在此实例中,有可能当执行操作时所需存储空间可能在预先分配的存储装置内不可用。由于来自预先分配的存储装置的现有数据通过脚本被移动到另一个存储装置,因此还有可能所需的存储空间将来在预先分配的存储装置内变得可用。这种移动数据的操作是在管理员未知的时间间隔完成的。对于此场景,管理员可以创建环境因素,当至少预先分配的存储装置中的所需存储空间可用时,所述环境因素将是符合要求的。将用于确定此环境因素的状态的技术与重试确定此环境因素的状态、管理员预定的次数和间隔的技术相结合,为管理员提供了更有效的技术来确定成功参数的状态。
根据一个实施例,对用于定义SPG和EFG的条件的方法没有限制。根据此特定实施例,可配置电子装置的制造商可以使用任何已知的或以后开发的编程语言、脚本语言、命令等为此目的单独地或以组合的方式使用。
图10是可以用于实施本文中所描述的实施例的可配置电子装置1000的示意性框图。在一个实施例中,可配置电子装置1000是可以用硬件、软件或其任何组合来实现的可编程机器。可配置电子装置1000包含一个或多个处理单元1001、主存储器1002、系统总线1003、辅助存储装置1004、输入/输出(I/O)装置1006,以及一个或多个环境因素状态检测模块1005。处理单元1001和主存储器1002彼此直接连接。处理单元1001通过系统总线1003连接到I/O装置1006、辅助存储装置1004和环境因素状态检测模块1005。系统总线1003可以是若干类型的总线结构中的任何一种,包含存储器总线、外围总线,以及使用任何各种总线架构的本地总线。辅助存储装置1004存储用于由处理单元1001执行的程序指令或配置。I/O装置1006通常包含但不限于计算机键盘、计算机鼠标、计算机监视器或其它人机接口装置(HID)。
环境因素状态检测模块1005是硬件、软件、算法、处理器、装置、模块、组件、元件或子系统的任何合适组合,其可操作以促进信息的收集,或者感测或检测一个或多个环境因素的状态。为便于阅读,本文中使用首字母缩略“EFSD”来表示“环境因素状态检测(environmental-factors state-detection)”。由于用于连接到网络或远程装置的网络接口也用作确定连接状态的组件,因此EFSD模块1005还可以包括网络接口。例如,EFSD模块1005可以是但不限于网络接口,例如以太网接口、3G网络接口、4G网络接口、WiMAX网络接口、串行接口、虚拟机(VM)的虚拟网络接口,或任何其它网络接口。这些网络接口使用一个或多个通信链路,其中通信链路采用光纤、以太网、ATM、帧中继、T1/E1、IPv4、IPv6、无线技术、Wi-Fi、WiMAX、高速分组接入技术、3GPP长期演进(LTE)等的形式。EFSD模块1005还可以包含用于任何通信链路的网络接口控制器,包括上文提及的那些通信链路。
EFSD模块1005还可以是电子、机械、化学或生物化学传感器、探针、检测器、扫描仪或换能器的个别或组合,例如但不限于温度传感器、光电传感器、光电检测器、生物传感器、气体传感器、烟雾检测器、安培表、电压表、麦克风、相机、速度计、加速度计、接近传感器、冲击传感器、陀螺仪、磁力计、金属检测器、水表、高度计、气压计、指南针、全球定位系统(GPS)、红外传感器、金属检测器、条形码读取器、指纹扫描仪、面部识别系统,用于感测、检测、计算或测量环境因素的状态。在一个实施例中,EFSD模块本身可以包括或者包括连接到可编程逻辑装置(PLC)以接收信息的机制。在一个实施例中,EFSD模块本身可以包括用于发送或接收信号或信息的通用输入输出(GPIO)引脚。
在一个实施例中,可配置电子装置1000也是能够通过EFSD模块1005接收SNMP数据的网络管理系统(NMS)。同样在此实施例中,可配置电子装置1000能够使用接收到的SNMP数据来确定是否执行适用的某些操作。
通常,EFSD模块将包括根据需要接收模拟和数字输入的机制。数字输入可以包含但不限于协议数据单元(PDU),例如以太网帧、IP包、SMS或位流。模拟数据可以包含但不限于音频信号、电压电平、光等,其可以通过模/数转换器(ADC)进一步转换为数字数据以由处理单元1001处理。
在一个实施例中,可配置电子装置1000包括任选地使用例如网络防火墙、入侵检测系统、入侵防御系统等网络安全系统来定义和/或确定成功参数的机制。为了确定预定义条件的结果,安全系统可以与或不与EFSD模块集成。
应理解,图10所示的如上所述可配置电子装置1000仅是实例,并且可以使用可配置电子装置1000的不同配置来实现本文描述的方法。
在一个实施例中,使用在本文中称为“操作配置锁”的锁定机制来防止对操作配置进行任何改变。当可配置电子装置1000需要将操作配置存档时,其将此锁设置为ON,强制防止对配置进行任何改变。存档操作完成后,此锁将被删除或设置为OFF。假设在本发明的所有实施例中包含设定和删除此锁的操作,即使未在对应描述中提及或在对应附图中示出。为便于阅读,本文中使用首字母缩略“OCL”来表示“操作配置锁(operational-configuration lock)”。
在根据本发明的一个实施例中,可配置电子装置1000执行特定的一组相关配置操作的特定会话在本文中称为“配置会话”。包含在这样的一组内的配置操作可以通过但不限于特定的“事件”或特定的管理员来关联。事件的实例可以包含但不限于从个别命令、配置脚本、SMS或电子邮件接收配置。事件的另一实例是通过在必要时停止其它并发配置操作来将一个或多个配置操作作为单组操作来执行。每组相关的配置操作可以由不同的管理员来执行,或者它们可以由同一管理员的不同配置会话来执行。
根据本发明,配置会话可以处于“ACTIVE(活动)”状态或“INACTIVE(非活动)”状态。当在本文中用于配置会话时,术语ACTIVE是指可操作的特定配置会话的状态。当在本文中用于配置会话时,术语INACTIVE是指不可操作的特定配置会话的状态。
根据使用配置会话的本发明的实施例,配置会话发起请求必须由打算对可配置电子装置执行配置操作的实体发出。所述实体可以是管理员或可配置电子装置内的进程。为便于阅读,本文中使用首字母缩略“CSIR”来表示“配置会话发起请求(configuration-session-initiation request)”。当发出CSIR时,可配置电子装置可以允许或不允许特定实体基于配置会话锁的状态来执行配置操作。在下文中更详细地描述配置会话锁。根据使用配置会话的实施例,可配置电子装置1000通过唯一标识符个别地分配和标识每个有状态配置会话。为便于阅读,此标识符号在此称为“CSID”。在一个实施例中,CSID是大多数操作系统使用的进程ID(PID)。
根据本发明,不限制必须在配置会话内执行配置操作。在一个实施例中,在不使用配置会话的情况下执行配置操作。这将有助于减少对存储器和处理器使用等系统资源的需求。这一特性使其更适合于实现具有较低制造成本的装置。但是由于此特定实施例不包括使用配置会话的机制,因此其不能执行需要配置会话的操作。此类操作包含但不限于会话管理操作,这是有效管理配置操作所需的,尤其是在多用户环境中。根据本发明,会话管理操作的一个实例是基于预定策略接受或拒绝新的CSIR。需要配置会话的另一此类操作是归档或回滚到对应于特定配置会话的配置。根据本发明,可配置电子装置1000不包括使用配置会话执行配置操作的机制的实施例不适用于多用户环境。
根据使用配置会话的实施例,当特定配置会话被设置为ACTIVE时,并且在对其进行任何更改之前,可配置电子装置1000根据其操作的操作配置在本文中被称为所述特定配置会话的“原始配置”。因此,原始配置是一种特殊类型的操作配置。根据不使用配置会话的实施例,原始配置是启动配置。
根据使用配置会话的实施例,当配置会话被设置为ACTIVE时,立即在对应的原始配置上设置OCL,将原始配置存档,然后从原始配置中删除OCL。这防止通过原始配置的对应配置会话或任何其它配置会话修改所述原始配置,并确保原始配置以未修改状态存档。根据此实施例,每个配置会话具有其自身的原始配置版本。
根据一个或多个实施例,可配置电子装置1000使用特定配置回滚机制(在本文中称为“原始配置回滚”)来回滚到原始配置。为便于阅读,本文中使用首字母缩略“OCR”来表示“原始配置回滚(original configuration rollback)”。根据使用配置会话的一个实施例,原始配置的所有存档操作将原始配置存档在相同的存储器位置中。因此,在此实施例中,当执行OCR时,先前存档的原始配置被最新存档的原始配置替换,并且只有最新存档的原始配置可用于检索。虽然此实施例节省了辅助存储器,但是用一个配置会话存档的原始配置替换另一个配置会话存档的原始配置可能在管理员之间造成混淆,造成可配置电子装置1000的不稳定状态,或者甚至使可配置电子装置1000无法操作。
根据使用配置会话的一个实施例,原始配置的所有存档操作将原始配置存档在不同的存储器位置中。因此,在此实施例中,当执行OCR时,每个原始配置被单独存档,并且当执行回滚操作时,向管理员提供选择要检索的特定存档原始配置的选项。尽管使用此实施例增加了辅助存储器的使用,但它提供了执行OCR的更有效且用户友好的方法。
此外,当管理员执行长的逐步配置时,执行原始配置回滚是很麻烦的,因为它将配置恢复到开始。
图1的流程图示出根据本发明的一个实施例的由可配置电子装置1000执行的步骤。在此实施例中,可配置电子装置1000在不使用配置会话的情况下执行配置操作。在步骤101,可配置电子装置1000接收新配置和SPG。在步骤102,可配置电子装置1000将其原始配置存档在辅助存储装置1004中。在步骤103,可配置电子装置1000应用新配置,所述新配置然后成为操作配置。在步骤104,在已根据新配置更改操作配置之后,可配置电子装置1000确定操作配置是否满足SPG。如果满足SPG,则在步骤105,可配置电子装置1000继续使用所述操作配置。如果不满足SPG,则可配置电子装置1000拒绝新操作配置,并且在步骤106,检索存档的配置。然后,在步骤107,可配置电子装置1000应用存档的配置作为操作配置。
根据本发明,不限制必须使用TCP/IP协议来建立登录会话。可以使用任何其它协议或方法来建立登录会话,包含但不限于SMS、蓝牙、条形码,或例如指纹扫描、视网膜扫描、面部识别等生物识别技术,或多个协议或方法的组合,只要其提供登录和注销系统的适当机制。也不限制必须使用登录会话来配置可配置电子装置1000。例如,当在没有来自管理员的实时交互的情况下配置可配置电子装置1000时,不使用登录和退出系统的操作。在此类配置操作中,向可配置电子装置1000发送配置指令的方法可以是但不限于例如SMS。例如,在SMS的情况下,消息中的一串字符可用于标识和/或认证管理员。此外,例如管理员的电话号码或源IP地址等任何其它可识别参数也可用于此目的。
根据本发明的一个实施例,个别配置命令是指示可配置电子装置1000执行特定任务的配置命令。另外,在此特定实施例中,一组配置命令是分组在一起的多个个别配置命令。在一组配置命令内,每个后续的个别配置命令通过可配置电子装置1000已知的定界符与其先前的个别配置命令分开。此定界符可以由可配置电子装置1000的制造商或管理员预先确定。使用此已知的定界符能使可配置电子装置1000单独地识别每个个别配置命令。另外,个别配置命令或一组配置命令可以包含精确的开始和结束标记,其分别标记所述个别配置命令或所述组配置命令的开始和结束。此开始和结束标记对于可配置电子装置1000也是已知的。开始和结束标记的实例可以是但不限于由可配置电子装置1000的制造商或管理员预先确定的字母数字字符或字符串。使用这些标记使可配置电子装置1000能够完全接收由于所使用的协议而在传输期间可能被分段的个别配置命令或一组配置命令。例如,当使用SMS作为发送配置命令的方法时,如果命令大于160个字符(即,当使用GSM 03.38标准时SMS PDU的最大长度),则命令可能被分段。根据本发明,接收或检索个别或一组配置命令被可配置电子装置1000视为单个事件,本文中称为“配置事件”。除非特别提及,否则假设术语“配置命令”表示个别配置命令或一组个别配置命令。
在一个实施例中,可配置电子装置1000使用无状态配置会话。无状态配置会话是基于单个配置事件。根据使用无状态配置会话的本发明的实施例,可配置电子装置1000彼此独立地处理配置事件,而不在它们之间创建任何关系。这样做的一个结果是可配置电子装置1000的管理员不能以交互方式实时地执行配置操作。因此,在一开始就与CSIR一起接收所有必要的指示。无状态配置会话可能需要也可能不需要认证,这由管理员或制造商预先确定。无状态配置会话也不属于登录会话。使用无状态配置会话的实施例适合于在需要避免要求高系统资源的操作同时确保配置会话分开的可配置电子装置中实现。
根据一个实施例,使用特定时间段来确定特定登录会话是否已到期。如果在此时间段内可配置电子装置1000没有检测到来自管理员的活动,则可配置电子装置1000确定特定登录会话已到期。此时间段在本文中称为“登录会话到期时间”。为便于阅读,本文中使用首字母缩略“LSET”来表示“登录会话到期时间(Login-session Expiration Time)”。以秒为单位测量LSET。在一个实施例中,管理员能在应用配置之前自由选择LSET的值。如果管理员未设置LSET的值,可配置电子装置1000将使用默认值。此默认值由可配置电子装置1000的制造商设置或由可配置电子装置1000基于一个或多个相关参数计算。相关参数可以包含但不限于用于登录会话的协议/方法、用于登录会话的连接的QoS或度量值。在一个实施例中,管理员没有给出设置LSET的值的选项。
在一个实施例中,可配置电子装置1000使用有状态配置会话。有状态配置会话是在其内所有配置事件彼此相关的特定类型的配置会话。有状态配置会话内的所有配置事件由于它们全部对应于相同的CSID而彼此相关。在此实施例中,可配置电子装置1000包括使用与管理员的实时交互来执行配置操作的机制。因此,在有状态配置会话期间可配置电子装置1000能够从管理员接收指令。只能在登录会话中创建有状态配置会话。此外,如果有状态配置会话的对应登录会话已过期或手动结束,则终止有状态配置会话。
根据本发明的一个具体实施例,在不使用配置会话的情况下执行配置操作的实施例还包括使用配置会话执行配置操作的机制。除非特别提及,否则在不使用配置会话的情况下执行配置操作的实施例不包括使用配置会话执行配置操作的机制。
根据本发明的一个具体实施例,包括使用有状态配置会话执行配置操作的机制的实施例还包括使用无状态配置会话执行配置操作的机制。除非本文中特别提及,否则包括使用有状态配置会话执行配置操作的机制的实施例不包括使用无状态配置会话执行配置操作的机制。除非本文中特别提及,否则包括使用无状态配置会话执行配置操作的机制的实施例不包括使用有状态配置会话执行配置操作的机制。
在一个实施例中,可配置电子装置1000不同时允许超过一个配置会话,无论它们是属于相同还是不同的登录会话。
在一个实施例中,可配置电子装置1000仅在超过一个配置会话属于不同的登录会话时才同时允许超过一个配置会话。
在一个实施例中,可配置电子装置1000同时允许超过一个配置会话,无论它们是属于相同还是不同的登录会话。
根据本发明,如果对应于特定配置会话的登录会话结束,则可以由管理员手动地或由可配置电子装置1000终止所述配置会话。由于其它一个或多个预定义原因,也可以终止配置会话,例如,根据本发明的一个实施例,管理员可以强制终止另一个管理员的配置会话。
在一个实施例中,可配置电子装置1000包括在配置会话为活动时拒绝CSIR的可选锁定机制。此机制在本文中称为“配置会话锁”。为便于阅读,本文中使用首字母缩略“CSL”来表示“配置会话锁(configuration-session-lock)”。在可配置电子装置1000的操作配置内,CSL用作一个特定标志位,其可以是“ON”或“OFF”。当CSL为ON时,它与特定的配置会话链接,针对所述配置会话将其设置为ON。CSL标志默认设置为OFF,并且除非向可配置电子装置1000发出指令,否则不将其设置为ON。在使用CSL的实施例中,与新配置会话一起使用的CSL的模式在本文中称为“CSL模式”。为便于阅读,本文中使用首字母缩略“CSLM”来表示“CSL模式”。CSLM是可以为“ON”或“OFF”的指令。配置会话的CSLM由所述特定配置会话的所有者确定。根据使用无状态配置会话的实施例,CSLM与CSIR一起发出。根据使用有状态配置会话的实施例,在使用有状态配置会话之前立即以交互方式从管理员接收CSLM。
在一个实施例中,如果CSL被设置为ON,则可配置电子装置1000拒绝任何新的CSIR,并且不可能有其它并发的配置会话。同样在此实施例中,如果CSL被设置为OFF,则其它并发的配置会话也是可能的。在使用无状态配置会话且不使用有状态配置会话的实施例中,由CSIR给出关于如何设置CSL标志的指令。在使用有状态配置会话且不使用无状态配置会话的实施例中,在接受CSIR之后以交互方式从管理员接收关于如何设置CSL标志的指令。
在一个实施例中,在可配置电子装置1000接受CSIR之后,其创建对应于所述请求的配置会话以及所述特定配置会话的CSID。然后,可配置电子装置1000执行适用于本发明的对应实施例的一个或多个操作。这种操作的一个实例是从新创建的配置会话的管理员接收新的CSL模式。然后,可配置电子装置1000将配置会话设置为“ACTIVE”。当在本文中用于配置会话时,术语ACTIVE是指可操作的特定配置会话的状态。在活动配置会话中,管理员可以执行配置操作以及与配置装置无直接关系的其它操作。这些其它操作包含但不限于查看配置或系统状态。
根据使用无状态配置会话的实施例,连同CSIR一起接收针对特定配置会话的期望CSL模式。根据使用有状态配置会话的实施例,在将特定配置会话设置为ACTIVE之前立即执行从管理员接收所述特定配置会话所需的CSL模式和设置所接收的CSL模式的操作。
在本发明的一个实施例中,当有预先存在的CSL的情况下管理员向可配置电子装置1000发出CSIR时,拒绝新的CSIR。但是当没有预先存在的CSL时,接受新的CSIR。在此特定实施例中,向管理员提供锁定配置会话的选项,类似地,另一管理员不能覆盖所述配置会话。
根据一个实施例,如果存在CSL被设置为OFF的多个配置会话,则那些配置会话可以同时起作用。因此,多个管理员可以同时对操作配置进行更改。这提供了多个管理员同时作用于可配置电子装置1000的优点,这在需要团队合作时尤其有用。但是其缺点是来自多个管理员的不一致的配置更改可能引起系统的不稳定状态。
图2的流程图示出图1所示的实施例的变型。在此特定变变型中,可配置电子装置1000包括使用有状态配置会话执行配置操作的机制。此外,在此特定变型中,使用CSL标志确定是否拒绝新的CSIR。如果接受新的CSIR,则为管理员提供选择是否将CSL设置为ON的选项。应结合图1来看图2,以更好地理解所述变型。在步骤201,可配置电子装置1000从管理员接收CSIR。当向可配置电子装置1000发出新的CSIR时,其可以呈三种状态中的一种:(a)可配置电子装置1000内预先不存在配置会话,(b)可配置电子装置1000内预先存在CSL被设置为OFF的一个或多个配置会话,或(c)可配置电子装置1000内预先仅存在一个CSL被设置为ON的配置会话。在步骤202,可配置电子装置1000确定CSL是否已经被设置为ON。如果CSL为ON,则在步骤203,可配置电子装置1000拒绝CSIR而不向管理员提供覆盖它的选项。如果CSL为OFF,则在步骤204,可配置电子装置1000接受CSIR。在步骤205,可配置电子装置1000为所接收的CSIR生成CSID。在步骤206,可配置电子装置1000接收与新创建的配置会话一起使用的CSLM。在步骤207,可配置电子装置1000根据在步骤206从管理员接收的CSLM设置CSL。如果管理员已经将CSLM选择为ON,则在此特定步骤,系统强制结束所有其它预先存在的配置会话。如果管理员已经将CSLM选择为OFF,则其它预先存在的配置会话将继续运行。在步骤208,可配置电子装置1000通过将新创建的配置会话设置为“ACTIVE”来启动所述会话。在步骤209,可配置电子装置1000从管理员接收新配置和SPG。在步骤210,可配置电子装置1000执行“进程A”。进程A包括图1的步骤102到107。在步骤211,可配置电子装置1000通过将配置会话设置为“INACTIVE”来结束所述配置会话。在此特定变型中,步骤211是步骤105和107两者的后续步骤。
在一个实施例中,如果在CSL已经被设置为ON的情况下向可配置电子装置1000发出CSIR,则可配置电子装置1000包括覆盖现有CSL并接受CSIR的可选机制。此选项对于想要配置装置但由于预先存在的CSL被设置为ON而无法执行此操作的管理员尤其有用。同样在此实施例中,如果CSL被设置为OFF,则可能有其它并发配置会话而不需要覆盖CSL。覆盖预先存在的CSL的指令在本文中称为“CSLO”。在一个实施例中,如果CSLO被设置为ON,则终止预先存在的配置会话并且执行回滚,以在终止的配置会话进行任何更改之前恢复操作配置的状态。在一个实施例中,如果CSLO被设置为ON,则终止预先存在的配置会话,并且保持对由终止的配置会话进行的操作配置所做的更改。在使用有状态配置会话的一个实施例中,如果CSLO被设置为ON,则向预先存在的配置会话的所有者通知覆盖操作并且为其提供在CSL被设置为OFF的情况下继续进行的配置会话的选项。在一个实施例中,由发出CSIR的管理员确定关于如何设置CSLO的决定。根据使用无状态配置会话的实施例,与CSIR一起发出关于如何设置CSLO的指令。根据使用有状态配置会话的实施例,在确定CSLO是否被设置为ON之前,立即以交互方式从管理员接收关于如何设置CSLO的指令。
图3示出图1所示的实施例的另一变型。在此特定变型中,可配置电子装置1000包括使用有状态配置会话执行配置操作的机制。另外,在此特定变型中,可配置电子装置1000包括使用CSLO的机制。应结合图1来看图3,以更好地理解所述变型。在步骤301,可配置电子装置1000从管理员接收CSIR。在步骤302,可配置电子装置1000确定CSL是否已经被设置为ON。如果CSL已经被设置为ON,则在步骤303,可配置电子装置1000从管理员接收CSLO指令。如果在步骤302可配置电子装置1000确定CSL未被设置为ON,则其进行到步骤307以接受CSIR。在步骤304,可配置电子装置1000确定管理员是否已经将CSLO设置为ON。如果管理员尚未将CSLO设置为ON,则在步骤305,可配置电子装置1000丢弃CSIR。如果在步骤304,管理员已经将CSLO设置为ON,则在步骤306,可配置电子装置1000覆盖预先存在的CSL。然后,可配置电子装置1000进行到步骤307并且接受CSIR。在步骤308,可配置电子装置1000生成对应于所接收的CSIR的CSID。在步骤309,可配置电子装置1000从管理员接收对于此特定配置会话的CSLM。在步骤310,可配置电子装置1000根据在步骤309从管理员接收的CSLM设置CSL。在步骤311,可配置电子装置1000将新生成的配置会话设置为ACTIVE。在步骤312,可配置电子装置1000从管理员接收新配置和SPG。在步骤313,可配置电子装置1000执行进程A。然后,在步骤314,可配置电子装置1000将配置会话设置为INACTIVE。在此特定变型中,步骤314是步骤105和107两者的后续步骤。
根据本发明的一个或多个实施例,可配置电子装置1000包括即使不满足SPG也继续使用新配置的机制。此机制在本文中称为“强制覆盖”。为便于阅读,本文中使用首字母缩略“FO”来表示“强制覆盖(forceful-override)”。FO机制使管理员能够在了解不满足SPG的情况下继续使用新配置。这种了解可以有助于对未来配置或故障排查操作的决策。FO用作标志位,其可以处于“ON”模式或“OFF”模式。当FO启用或被设置为ON模式时,指示即使不满足SPG,可配置电子装置1000也应使用新配置。当FO未启用或被设置为OFF模式时,指示可配置电子装置1000不应继续使用新配置。在使用无状态配置会话的实施例中,与CSIR一起接收与FO有关的指令。在使用无状态配置会话的实施例中,与CSIR一起接收与FO有关的指令。在使用有状态配置会话的实施例中,从管理员接收与FO有关的指令以及新配置。这样做是因为应用新配置可能使管理员无法访问管理界面,并且在这种情况下,可配置电子装置1000不可能以交互方式从管理员接收FO指令。
图4的流程图示出根据本发明的一个实施例的由可配置电子装置1000执行的步骤。在此实施例中,可配置电子装置1000在不使用配置会话的情况下执行配置操作。与图1所示的实施例不同,在此特定实施例中,为管理员提供使用FO的选项。在步骤401,可配置电子装置1000接收新配置和SPG。在步骤402,可配置电子装置1000将其原始配置存档在辅助存储装置1004中。在步骤403,可配置电子装置1000将新配置作为其操作配置应用。在步骤404,可配置电子装置1000确定新配置是否满足SPG。如果满足SPG,则在步骤405,可配置电子装置1000继续使用根据新配置创建的操作配置。如果不满足SPG,则在步骤406,可配置电子装置1000进一步确定是否启用FO。如果启用FO,则将继续使用根据新配置创建的操作配置。如果不启用FO,则在步骤407,可配置电子装置1000从辅助存储装置1004检索存档的原始配置。然后在步骤408,可配置电子装置1000应用检索的配置。
图5的流程图示出图4所示的实施例的变型。在此特定变型中,可配置电子装置1000包括使用有状态配置会话执行配置操作的机制。在此特定变型中,管理员可以选择使用FO。此外,在此特定变型中,以与图2所示的类似方法使用CSL和CSLM。在此变型中,可配置电子装置1000接收SPG和FO以及新配置。应结合图2和图4来看图5,以更好地理解所述变型。出于说明的目的,在步骤501,可配置电子装置1000执行进程T1,其包括图2的步骤201到208。然后在步骤502,可配置电子装置1000从管理员接收新配置、SPG和FO。在步骤503,可配置电子装置1000执行进程B,其包括图4的步骤402到408。然后在步骤504,可配置电子装置1000将配置会话设置为INACTIVE。步骤504是步骤405或408两者的后续步骤。
图6的流程图示出图4所示的实施例的变型。在此特定变化形式中,可配置电子装置1000包括使用有状态配置会话执行配置操作的机制。类似于图4所示的实施例,此变型还包括使用FO的机制。此外,在此特定变型中,以与图3所示的类似方法使用CSL、CSLM和CSLO。在此变型中,可配置电子装置1000接收SPG和FO以及新配置。应结合图3和图4来看图6,以更好地理解所述变型。在步骤601,可配置电子装置1000执行进程U1,其包括图3的步骤301到311。然后在步骤602,可配置电子装置1000从管理员接收新配置、SPG和FO。在步骤603,可配置电子装置1000执行进程B。然后在步骤604,可配置电子装置1000将配置会话设置为INACTIVE。步骤604是步骤405或408两者的后续步骤。
根据使用重试尝试的一个实施例,可配置电子装置在确定不满足SPG之前使用最大次数的重试尝试。此次数在本文中称为“最多重试尝试”。为便于阅读,本文中使用首字母缩略“MRA”来表示“最多重试尝试(maximum-retry-attempt)”。MRA的值可以是“0”或更大。MRA的值可以由制造商、管理员确定,或者由可配置电子装置1000计算。如果MRA的值不是由制造商或管理员确定,或者不是由可配置电子装置1000计算,则将0用作默认值。MRA的值为0意味着不执行重试。另外,在使用MRA的实施例中,可配置电子装置包括确定已经执行的重试尝试次数的机制。此次数在本文中称为“当前重试尝试”。为便于阅读,本文中使用首字母缩略“CRA”来表示“当前重试尝试(current-retry-attempt)”。CRA的值从-1开始,并且在确定环境因素的状态的每个操作之后递增1。如果可配置电子装置1000确定CRA的值不等于MRA的值,则可配置电子装置在再次重试之前等待合适的时间量。此时间段在本文中称为“重试间隔”。为便于阅读,本文中使用首字母缩略“RI”来表示“重试间隔(retry-interval)”。可配置电子装置使用RI等待适当的时间量来解决环境因素的问题。RI的持续时间可以由可配置电子装置的制造商或管理员确定,或者由可配置电子装置本身基于对应的SPG或EFG计算。其中RI由超过一个实体确定的情况下,将使用由具有最高优先级的实体确定的RI的值,其中此优先级由可配置电子装置的制造商预先确定。以秒为单位测量RI的值。在一个实施例中,为管理员提供在应用配置之前设置‘RI’的值的选项。如果管理员未设置‘RI’的值,可配置电子装置将使用默认值。此默认值由可配置电子装置的制造商设置,或由可配置电子装置基于与环境因素相关的一个或多个参数计算。在一个实施例中,管理员没有给出设置‘RI’的值的选项。如果可配置电子装置确定CRA等于MRA,则其结束所述进程。
图7的流程图示出根据本发明的一个实施例的由可配置电子装置1000执行的步骤。在此实施例中,可配置电子装置1000在不使用配置会话的情况下执行配置操作。另外,在此特定实施例中,如果使用新配置不满足SPG,则可配置电子装置1000包括进一步确定EFG是否符合要求的机制。此外,在此特定实施例中,可配置电子装置1000包括使用RI重试以确定新配置是否满足SPG的机制。对于每次执行重试并且发现不满足SPG,可配置电子装置1000进一步确定EFG是否符合要求。出于说明的目的,在步骤701,可配置电子装置1000接收新配置以及SPG、EFG、RI和MRA。在步骤702,可配置电子装置1000将原始配置存档在辅助存储装置1004中。在步骤703,可配置电子装置应用新配置。在步骤704,可配置电子装置1000确定使用新配置是否满足SPG。如果满足SPG,则在步骤705,可配置电子装置1000继续使用所述新配置。如果不满足SPG,则在步骤706,可配置电子装置1000进一步确定EFG是否符合要求。根据此实施例,如果不满足SPG但是EFG符合要求,则可配置电子装置1000断定不满足SPG的原因是错误配置,且因此可配置电子装置1000执行配置回滚。如果EFG符合要求,则在步骤710,可配置电子装置1000检索存档的原始配置。在步骤711,可配置电子装置1000应用检索的原始配置。如果EFG不符合要求,则在步骤708,可配置电子装置1000将CRA的值增加“-1”。然后在步骤709,可配置电子装置1000确定CRA的值是否等于MRA的值。如果值不相同,则在步骤709,可配置电子装置1000等待RI。可配置电子装置1000转至步骤704以再次确定是否满足SPG。除非在步骤706发现EFG符合要求,或直到CRA的值在步骤708变得等于MRA的值,否则此进程保持继续。如果在步骤708,CRA的值等于MRA的值,则可配置电子装置1000转至步骤705。
图8的流程图示出图7所示的实施例的变型。在此特定变型中,可配置电子装置1000包括使用有状态配置会话执行配置操作的机制。应结合图2和图7来看图8,以更好地理解所述变型。此特定变型还包括以图7所示类似的方法使用新配置、SPG、EFG、RI和MRA的机制。此外,在此特定变型中,以图2所示类似的方法使用CSL和CSLM。出于说明的目的,在步骤801,可配置电子装置1000执行进程T1。然后在步骤802,可配置电子装置1000从管理员接收新配置、SPG、EFG、RI和MRA。在步骤803,可配置电子装置1000执行进程C,其包括图7的步骤702到711。然后在步骤804,可配置电子装置1000将配置会话设置为INACTIVE。步骤804是步骤705或711两者的后续步骤。
图9的流程图示出图7所示的实施例的变型。在此特定变型中,可配置电子装置1000包括使用有状态配置会话执行配置操作的机制。应结合图3和图7来看图9,以更好地理解所述变型。此特定变型还包括以图7所示类似的方法使用新配置、SPG、EFG、RI和MRA的机制。此外,在此特定变型中,以图3所示类似的方法使用CSL、CSLM和CSLO。出于说明的目的,在步骤901,可配置电子装置1000执行进程U1。然后在步骤902,可配置电子装置1000从管理员接收新配置、SPG、EFG、RI和MRA。在步骤903,可配置电子装置1000执行进程C。然后在步骤904,可配置电子装置1000将配置会话设置为INACTIVE。步骤904是步骤705或711两者的后续步骤。
图11示出根据本发明的一个实施例网络拓扑结构1100。在此特定实施例中,可配置电子装置1000是例如网络路由器的网络设备。管理节点B1103通过点对点以太网连接1105直接连接到装置1000。管理节点A 1104使用链路1107通过例如互联网的互连网络1101连接到装置1000。远程服务器1102也使用链路1106通过互连网络1101连接到装置1000。可配置电子装置1000使用链路1108连接到互连网络1101。对于用来连接到管理节点A 1104、管理节点B 1103或远程服务器1102的连接类型或拓扑装置1000没有限制,只要它们使得在TCP/IP协议适用的互联网层可访问所述装置即可。
前文已相当广泛地概述了本发明的特征和技术优点,以便可以更好地理解下文中本发明的详细说明。下文将描述本发明的额外特征以及优点,这些额外特征以及优点形成本发明的权利要求的主题。本领域的技术人员应了解,所公开的概念以及具体实施例可以易于用作修改或设计用于实现本发明的相同目的的其它结构的基础。本领域的技术人员还应意识到,此类等效构造并未脱离如在所附权利要求书中所阐述的本发明的精神和范围。当结合附图考虑时,关于组构和操作方法被认为是本发明的特性的新颖特征与其它目标和优点一起将从以下描述得到更好理解。然而,应明确地理解附图中的每一个是出于图示和描述的目的提供,而并非意图作为本发明的限制的定义。