CN106031092B - 用于管理网关的系统、方法和介质 - Google Patents
用于管理网关的系统、方法和介质 Download PDFInfo
- Publication number
- CN106031092B CN106031092B CN201580008489.XA CN201580008489A CN106031092B CN 106031092 B CN106031092 B CN 106031092B CN 201580008489 A CN201580008489 A CN 201580008489A CN 106031092 B CN106031092 B CN 106031092B
- Authority
- CN
- China
- Prior art keywords
- gateway
- virtual
- script
- remote physical
- virtual gateway
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/22—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/16—Gateway arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S40/00—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
用于管理网关的系统、方法和介质。在实施方案中,生成虚拟网关,所述虚拟网关包括存储在至少一个远程物理网关上的一个或多个活动脚本和/或装置信息(例如,装置驱动器和/或针对装置、装置类型和/或装置组的定义和/或配置)中的每个的表示。提供至少一个用户接口,以用于编辑所述虚拟网关中表示的所述一个或多个活动脚本和/或装置信息中的每个。通过至少一个网络来自动维持所述虚拟网关中表示的所述一个或多个活动脚本和/或装置信息与存储在所述至少一个远程物理网关上的所述一个或多个活动脚本和/或装置信息之间的同步。
Description
技术领域
本文中所述的实施方案大体涉及网关的管理,且更确切地说,涉及经由虚拟网关对物理网关上的控制脚本和/或驱动器进行管理。
相关技术描述
机器对机器(M2M)系统的使用现在并且将持续是商业和社会的普遍关注方面。M2M系统是物联网(IoT)的整体部分,并且具有广泛的应用,包括监测和控制工业和建筑自动化、智能设施、智能电网、智能城市、保健、酒店、食品服务等。
在M2M和IoT生态系统中,机器对机器系统中的装置之间的通信可以使用位于装置之间的网关装置来执行。网关装置也可以提供额外的服务,诸如,应用的安全执行,包括控制、监测、报告和警告脚本;一个或多个装置、装置类型和/或装置组的配置和激活/停用;以及以通信方式连接到网关装置的装置、装置类型和/或装置组的数据捕获和报告。
作为简单的实例,在工业自动化的背景下,物理设施内的各种装置可以通信方式连接到用于该设施的网关装置。这些装置可以包括传感器(例如,温度传感器、开启/闭合传感器、锁定/解锁传感器)和可操作装置,诸如,门、窗户、锁、灯、大门、阀门等。网关装置可以执行一个或多个控制脚本,所述控制脚本监测装置中的一个或多个(例如,通过接收来自温度传感器的温度测量、接收门锁的状态等)并且基于其他装置和/或条件的监测来控制装置中的一个或多个(例如,如果大门被打开则开灯、在某一时间开门或锁门、如果温度超出某一阈值则发出警报等)。
在分布式监测和控制系统中(例如,在大型设施或者多个地理上分散的设施上),多个网关可以通过一个或多个网络(例如,互联网)与彼此和/或中央平台通信。在此类情形中,可能存在必须要进行配置、安装、操作和管理的许多网关(例如,数百个)。这可能使得难以确保每个网关和任何相关联的脚本和装置、装置类型和/或装置组被适当配置、测试、实施、更新或备份,以保证预期的操作。
因此,需要能够更有效地管理网关的技术,包括M2M、IoT、基于云的系统和/或基于分布式服务器的系统内的网关、脚本和装置、装置类型和/或装置组的定义、配置、测试、实施、更新和恢复。
发明内容
因此,公开用于管理网关的系统、方法和介质。
在实施方案中,公开一种系统。所述系统包括:至少一个硬件处理器;以及一个或多个模块,所述一个或多个模块在被所述至少一个硬件处理器执行时:生成虚拟网关,所述虚拟网关包括存储在至少一个远程物理网关上的一个或多个活动脚本和活动装置信息(例如,装置驱动器和/或针对装置、装置类型和/或装置组的定义和/或配置)中的每个的表示;提供至少一个用户接口,以用于编辑所述虚拟网关中表示的所述一个或多个活动脚本和活动信息中的每个;以及通过至少一个网络来自动维持所述虚拟网关中表示的所述一个或多个活动脚本和活动装置信息与存储在所述至少一个远程物理网关上的所述一个或多个活动脚本和活动装置信息之间的同步。
在另一实施方案中,公开一种方法。所述方法包括使用至少一个硬件处理器以便:生成虚拟网关,所述虚拟网关包括存储在至少一个远程物理网关上的一个或多个活动脚本和活动信息中的每个的表示;提供至少一个用户接口,以用于编辑所述虚拟网关中表示的所述一个或多个活动脚本和活动装置信息中的每个;以及通过至少一个网络来自动维持所述虚拟网关中表示的所述一个或多个活动脚本和活动信息与存储在所述至少一个远程物理网关上的所述一个或多个活动脚本和活动装置信息之间的同步。
在另一实施方案中,公开一种存储有指令的非暂时计算机可读介质。所述指令在被处理器执行时致使所述处理器:生成虚拟网关,所述虚拟网关包括存储在至少一个远程物理网关上的一个或多个活动脚本和活动装置信息中的每个的表示;提供至少一个用户接口,以用于编辑所述虚拟网关中表示的所述一个或多个活动脚本和活动装置信息中的每个;以及通过至少一个网络来自动维持所述虚拟网关中表示的所述一个或多个活动脚本和活动装置信息与存储在所述至少一个远程物理网关上的所述一个或多个活动脚本和活动装置信息之间的同步。
附图说明
通过研究附图可以部分收集本发明在结构和操作方面的细节,其中类似参考数字指代类似部分,并且在附图中:
图1示出根据实施方案的可以操作所公开的系统、方法和介质的实施方案的基础设施;
图2示出根据实施方案的用于将网关同步的系统;
图3示出根据实施方案的用于将脚本镜像和同步到多个网关的系统;
图4示出根据实施方案的用于编辑网关的可编辑部件的过程;
图5示出根据实施方案的用于将网关同步的过程;
图6示出根据实施方案的用于将脚本中的通配符解引用的过程;以及
图7示出根据实施方案的可以执行本文所述的过程中的一个或多个的处理系统。
具体实施方式
在实施方案中,公开用于网关的管理的系统、方法和介质,包括虚拟网关、物理网关、控制脚本和/或装置信息(例如,装置驱动器和/或针对装置、装置类型和/或装置组的定义和/或配置)的执行、创建、配置、测试、实施、操作、更新、备份和恢复。在阅读本说明书之后,所属领域的技术人员将明白如何在各个替代实施方案和替代应用中实施本发明。然而,尽管本文中将描述本发明的各个实施方案,但应理解,仅通过实例和说明来呈现这些实施方案,而不限制。因此,各个实施方案的本详细描述不应被解释为限制如所附权利要求书中提出的本发明的范围或广度。
分布式M2M和IoT生态系统的设计、测试、实施、操作和恢复方面存在至少五个主要挑战:
(1) 装置、装置类型和装置组标识、定义、配置、内容管理(curation)、操作、更新、性能分析、恢复以及通信;
(2) 用于装置和网关操作、监测、控制、性能分析、恢复和管理的脚本创建、操作/性能测试、内容管理、实施以及更新;
(3) 网关配置、创建、操作/性能测试、内容管理、实施、更新、恢复、性能分析以及管理;
(4) 有效的M2M和IoT生态系统设计、测试、实施、操作、恢复和管理;以及
(5) 将新装置、装置类型、装置组、脚本、通信、控制协议和行业标准有效整合和实施到M2M和IoT生态系统中。
例如,通过下列一个或多个,本文中公开的某些实施方案解决这些挑战:
(1) 为授权用户提供能力(例如,授予具体的访问、权限和许可,以便访问生态系统中所选择的定义的物理和/或逻辑部件和/或执行生态系统中所选择的定义的物理和/或逻辑功能),以便创建、定义和测试特定装置、装置类型和/或装置组的虚拟表示,从而使得这些授权用户能够:
(a) 针对特定的虚拟装置(例如,具体型号的恒温器)来定义属性、相关联的值以及通信/控制协议(例如,BACnet、EnOcean、蓝牙低功耗等);
(b) 针对特定类型的虚拟装置(例如,任何型号的恒温器)来定义属性、相关联的值以及通信/控制协议;
(c) 针对一组虚拟装置来定义属性、相关联的值以及通信/控制协议(例如,建筑HVAC系统,其可包括,但不限于,一个或多个恒温器、锅炉控制器、CO2气体检测器、气体截止阀、冷却器控制器、水检测器、水截止阀、阻尼器控制器、占据检测器、阳光传感器等);
(d) 针对虚拟装置、虚拟装置类型和/或虚拟装置组来定义用于通信/控制协议的虚拟网关负载、处理、存储器和数据存储;和/或
(e) 将通配符用于虚拟装置、虚拟装置类型和/或虚拟装置组,当在一个或多个物理网关上激活并实施含有此类通配符的脚本时,所述虚拟装置、虚拟装置类型和/或虚拟装置组被以通信方式连接到这些物理网关的特定物理装置、特定类型的装置和/或特定装置组的标识符或其他表示自动替换(“解引用”),从而使得分配给所述物理装置、装置类型和/或装置组的所有适用的相关联属性值自动更新到它们对应的虚拟表示中定义的那些;
(2) 为授权用户提供能力,以便在虚拟环境中创建、定义和测试脚本,包括:
(a) 创建脚本并且分配受到所述脚本影响的虚拟装置、装置类型和/或装置组;
(b) 测试脚本和它们相关联的虚拟装置、装置类型和/或装置组的操作和性能特征;和/或
(c) 创建脚本和相关联的虚拟装置、装置类型和/或装置组的库;
(3) 为授权用户提供能力,以便创建、定义和测试虚拟网关,包括:
(a) 针对特定的虚拟网关(例如,北校区10号楼1层的位置)来定义属性、相关联的值以及通信/控制协议(例如,BACnet、EnOcean、蓝牙低功耗等);
(b) 针对特定类型的虚拟网关(例如,具体型号的网关)来定义属性、相关联的值以及通信/控制协议;
(c) 针对一组虚拟网关(例如,北校区10号楼的位置)来定义属性、相关联的值以及通信/控制协议;
(d) 将一个或多个虚拟装置、装置类型和/或装置组分配给虚拟网关、虚拟网关类型和/或虚拟网关组;
(e) 从虚拟网关、虚拟网关类型和/或虚拟网关组中移除一个或多个虚拟装置、虚拟装置类型和/或虚拟装置组;
(f) 测试分配给虚拟网关、虚拟网关类型和/或虚拟网关组的虚拟装置、虚拟装置类型和/或虚拟装置组的操作、性能、通信/控制协议的负载、处理、存储器和/或数据存储;
(g) 单独和/或共同将脚本和相关联的虚拟装置、虚拟装置类型和/或虚拟装置组分配给虚拟网关,以便测试虚拟装置、虚拟装置类型和/或虚拟装置组的操作、性能、通信/控制协议的负载、处理、存储器和/或数据存储;
(h) 单独和/或共同将脚本和相关联的虚拟装置、虚拟装置类型和/或虚拟装置组分配给虚拟网关类型,以便测试虚拟装置、虚拟装置类型和/或虚拟装置组的操作、性能、通信/控制协议的负载、处理、存储器和/或数据存储;
(i) 单独和/或共同将脚本和相关联的虚拟装置、虚拟装置类型和/或虚拟装置组分配给虚拟网关组,以便测试虚拟装置、虚拟装置类型和/或虚拟装置组的操作、性能、通信/控制协议的负载、处理、存储器和/或数据存储;
(j) 针对虚拟网关、虚拟网关类型和/或虚拟网关组,激活一个或多个脚本和相关联的虚拟装置、虚拟装置类型和/或虚拟装置组;
(k) 针对虚拟网关、虚拟网关类型和/或虚拟网关组,停用一个或多个脚本和相关联的虚拟装置、虚拟装置类型和/或虚拟装置组;
(l) 针对虚拟网关、虚拟网关类型和/或虚拟网关组,维持活动和不活动虚拟装置、虚拟装置类型和/或虚拟装置组的库;
(m) 针对虚拟网关、虚拟网关类型和/或虚拟网关组,维持活动/不活动、草案、经验证和未经验证脚本及相关联的虚拟装置、虚拟装置类型和/或虚拟装置组的库;以及
(n) 单独和/或共同将一个或多个虚拟网关、虚拟网关类型和/或虚拟网关组分配给计算环境,以识别所需的资源和它们的性能,以便设计、测试、最终确定、实施、管理和更新有效支持M2M或IoT生态系统所需的物理环境;
(4) 使得授权用户能够选择实施特定虚拟网关及其活动脚本、虚拟装置、虚拟装置类型和/或虚拟装置组的一个或多个物理网关。如果将要在物理网关上实施的活动脚本引用虚拟装置、虚拟装置类型和/或虚拟装置组,并且物理网关没有以通信方式连接到对应的物理装置、物理装置类型和/或物理装置组,那么可以暂停虚拟装置、虚拟装置类型和/或虚拟装置组的激活,直到物理网关与对应的物理装置、物理装置类型和/或物理装置组之间建立通信为止。一旦已建立通信,物理装置、物理装置类型和/或物理装置组中的每个便可以分别与其对应的虚拟装置、虚拟装置类型和/或虚拟装置组同步。装置、装置类型和/或装置组的暂停将不影响所实施的活动脚本的操作:
(a) 授权用户可以使用镜像来实施网关,在这种情况下,每当特定虚拟网关改变和/或每当镜像物理网关的集合内的任何物理网关改变时,镜像特定虚拟网关的所有物理网关都将自动同步;以及
(b) 授权用户可以使用复制来实施网关,在这种情况下,根据作为配置的来源的虚拟网关,实施该虚拟网关的复本的所有物理网关都将自动初始化。在实施方案中,针对每个复制的物理网关,创建相关联的镜像虚拟网关。在复制的虚拟网关或者实施复本的物理网关上激活的改变将在两者之间同步;
(5) 使得授权用户能够选择实施虚拟网关类型及其活动脚本、虚拟装置、虚拟装置类型和/或虚拟装置组的一个或多个物理网关类型:
(a) 授权用户可以基于网关的类型使用镜像来实施网关,在这种情况下,每当特定虚拟网关类型改变时和/或每当镜像类型的任何物理网关改变时,镜像特定虚拟网关类型的那种类型的所有物理网关都将自动同步;以及
(b) 授权用户可以基于网关的类型使用复制来实施网关,在这种情况下,根据作为配置的来源的虚拟网关类型,属于该虚拟网关类型的复本的那种类型的所有物理网关都将自动初始化。在实施方案中,针对每个物理网关类型,创建相关联的镜像虚拟网关类型。在复制的虚拟网关类型或者实施复制的虚拟网关类型的物理网关上激活的改变将在两者之间同步;
(6) 使得授权用户能够选择实施虚拟网关组及其活动脚本、虚拟装置、虚拟装置类型和/或虚拟装置组的一个或多个物理网关组:
(a) 授权用户可以基于相关联的网关组使用镜像来实施网关,在这种情况下,每当特定虚拟网关组改变时和/或每当该组中的任何物理网关改变时,镜像特定虚拟网关组的组中的所有物理网关都将自动同步;以及
(b) 授权用户可以基于相关联的网关组使用复制来实施网关,在这种情况下,根据作为配置的来源的虚拟网关组,作为该虚拟网关组的复本的组中的所有物理网关都将自动初始化。在实施方案中,针对每个物理网关组,创建相关联的镜像虚拟网关组。在复制的虚拟网关组或者实施复制的虚拟网关组的物理网关上激活的改变将在两者之间同步;以及
(7) 使得能够进行恢复:
(a) 针对实施虚拟网关、虚拟网关类型和/或虚拟网关组的复本的物理网关、物理网关类型和/或物理网关组:
(i) 如果物理网关、物理网关类型和/或物理网关组由于通信问题而离线,那么当它恢复在线时,它将分别与相关联的虚拟网关、虚拟网关类型和/或虚拟网关组自动同步;和,
(ii) 如果物理网关、物理网关类型和/或物理网关组由于系统故障而离线,那么当它恢复在线时,它将分别自动下载相关联的虚拟网关、虚拟网关类型和/或虚拟网关组的最近同步的复本;以及
(b) 针对镜像虚拟网关、虚拟网关类
型和/或虚拟网关组的物理网关、物理网关类型和/或物理网关组,如果物理网关、物理网关类型和/或物理网关组由于通信问题或系统故障而离线,那么当它恢复在线时,它将分别与镜像的虚拟网关、虚拟网关类型和/或虚拟网关组自动同步,
1. 系统概述
1.1. 基础设施
图1示出根据实施方案的用于控制脚本和/或驱动器的管理的示例系统。该系统可包括平台110,该平台包括托管和/或执行本文所述的各种功能、过程、方法和/或软件模块中的一个或多个的一个或多个服务器112的集合。应理解,平台110可包括可以或可不专用于所公开的网关管理过程的云环境。在云环境中,诸如虚拟、逻辑和/或物理计算资源、存储资源、安全资源、通信资源、管理资源等的资源可以在服务和应用之间共享和/或专用。
此外,平台110可(例如,经由一个或多个部件,诸如,平台110的通信资源)以通信方式经由一个或多个网络120连接到一个或多个网关130和/或一个或多个用户系统150,并且也可以通信方式连接到一个或多个数据库114(例如,经由一个或多个网络,诸如,网络120或专用网络,或者经由直接连接)和/或可包括一个或多个数据库114。网络120可包括互联网,并且服务器112可以使用标准传输协议(诸如,超文本传输协议(HTTP)、安全HTTP(HTTPS)、文件传输协议(FTP)、FTP安全(FTPS)、SSH FTP(SFTP)等)以及专用协议通过互联网来与网关130和用户系统150通信。还应理解,平台110的部件(例如,云资源,诸如服务器112)可以但不要求并置。此外,尽管将平台110示为通过网络120的单个集合连接到各个系统,但应理解,平台110可以经由一个或多个网络的不同集合连接到各个系统。还应理解,网关130和/或用户系统150可以包括能够有线和/或无线通信的任何一个或多个类型的计算装置,包括但不限于:台式计算机、膝上型计算机、平板计算机、智能电话或其他移动电话、服务器、游戏主控台、电视机、机顶盒、电子广告亭、自动出纳机、销售点(POS)终端、智能可穿戴装置、医疗或保健装置、IoT生态系统内的任何装置等等。此外,每个网关130可与一个或多个装置和/或其他网关130以通信方式连接。尽管只示出了一些网关130、装置140和用户系统150、一个平台110、服务器112的一个集合以及数据库114的一个集合,但应理解,基础设施可以包括任何数量的网关、装置、用户系统、平台、服务器集合以及数据库。
平台110可以包括托管一个或多个网站或网络服务的网络服务器。在提供网站的实施方案中,网站可以包括一个或多个用户接口,例如,包括用超文本标记语言(HTML)或其他语言(例如,基于图形和/或基于文本的语言)生成的网页。响应于来自用户系统150的请求,平台110传输或服务这些用户接口。应理解,用户系统150可以包括能够有线和/或无线通信的任何一个或多个类型的计算装置,包括但不限于:台式计算机、膝上型计算机、平板计算机、智能电话或其他移动电话、服务器、游戏主控台、电视机、机顶盒、电子广告亭、自动出纳机、销售点(POS)终端、智能可穿戴装置、医疗或保健装置、IoT生态系统内的任何装置等等。
在一些实施方案中,可以采用向导程序的形式服务这些用户接口,在这种情况下,两个或更多用户接口可以按顺序方式得到服务,并且顺序用户接口中的一个或多个可以取决于用户或用户系统150与一个或多个先前用户接口的交互。对平台110的请求和来自平台110的响应(包括用户接口)都可以使用标准通信协议(例如,HTTP、HTTPS)通过网络120进行传送,所述网络可包括互联网。这些用户接口或网页可以包括内容和元素的组合,诸如,文本、图像、视频、动画、引用(例如,超链接)、框架、输入(例如,文本框、文本区域、复选框、单选按钮、下拉菜单、按钮、表单等)、脚本(例如,JavaScript)等等,包括下列元素:该元素包含或来源于存储在一个或多个数据库(例如,数据库114)或者平台110可本地和/或远程访问的装置中的数据。平台110也可响应于来自用户系统150的其他请求。
平台110可以进一步包括、以通信方式耦接或者以其他方式访问一个或多个数据库114。例如,平台110可以包括管理一个或多个数据库114的一个或多个数据库服务器。用户系统150或者在平台110上执行的应用可以提交将要存储在数据库114中的数据(例如,用户数据、表单数据等),和/或请求访问存储在此类数据库114中的数据(例如,如果是授权用户请求的话)。可以使用任何合适的数据库,包括但不限于,任何关系型或非关系型数据库、数据存储区、数据blob等等,包括基于云的数据库实例和专用数据库。例如,使用HTTP支持的已知POST请求经由FTP、其他公共协议、专用协议等,数据可以发送到平台110。例如,该数据以及其他请求可以由平台110执行的云侧和/或服务器侧网络技术处理,诸如,小服务程序或其他软件模块。此外,平台110可以提供缓存,以便加速响应时间(例如,针对常见请求)。
在提供网络服务的实施方案中,平台110可以接收来自用户系统150的请求,并且用可扩展标记语言(XML)和/或任何其他合适或需要的格式提供响应。在此类实施方案中,平台110可以提供定义了用户系统150可与网络服务交互的方式的应用编程接口(API)。因此,本身可以是云环境和/或服务器的用户系统150可以定义它们自己的用户接口,并且依赖于网络服务来实施或以其他方式提供本文所述的后端过程、方法、功能、存储等。例如,在此类实施方案中,在一个或多个用户系统150上执行的客户端应用可以与在平台110上执行的服务器应用交互,以便执行一个或多个本文所述的各种功能、过程、方法和/或软件模块或者其中的一个或多个的一部分。客户端应用可能是“瘦”的,在这种情况下,处理主要由平台110在云侧和/或服务器侧实施。瘦客户端应用的基础实例是在用户系统150处只请求、接收和呈现网页的浏览器应用,而平台110负责生成网页和管理数据库功能。或者,客户端应用可能是“胖”的,在这种情况下,处理主要由用户系统150在客户端侧实施。应理解,客户端应用可以相对于平台110在沿着“瘦”与“胖”之间的这个范围的任何点处执行一些处理,取决于特定实施的设计目标。在任一情况下,可以完全存在于平台110或用户系统150上或者分布在平台110与用户系统150之间的应用可以包括实施本文所述的应用的过程、方法或功能中的一个或多个的一个或多个可执行软件模块。
1.2. 网关同步和操作
尽管网关130可以包括能够与平台110通信的任何类型的装置,但在实施方案中,每个网关130都是专用装置。此外,在实施方案中,每个网关130管理一个或多个以通信方式连接的(例如,无线或有线)装置140。
图2示出根据实施方案的以通信方式与平台110连接的示例物理网关。网关130包括脚本管理器132、脚本引擎134和装置管理器136。平台110包括用户接口模块116、同步模块118,并且可以访问虚拟网关130’(例如,存储在平台110或另一平台中的数据库114中)。应理解,可能存在平台110可访问的多个虚拟网关130’。每个虚拟网关130’都可包括物理网关的虚拟表示,包括脚本管理器132、脚本引擎134、装置管理器136和/或在物理网关上存储和/或执行的任何其他内容或数据。单个虚拟网关130’可以针对单独的物理网关或者两个或更多物理网关的组(其可以是相同配置的,除了装置、装置类型和/或装置组的数量和/或激活的差异之外)存在。例如,数据库114可以存储虚拟网关130’的标识符与一个或多个镜像物理网关的标识符之间的关联,所述镜像物理网关与或者应该与该虚拟网关130’同步。
在实施方案中,当通过将第一虚拟网关130’复制到物理网关上来实施物理网关时,针对物理网关创建唯一的第二虚拟网关并且该第二虚拟网关与该物理网关相关联(例如,经由数据库114中的物理网关的标识符与第二虚拟网关之间的存储关联)。应理解,这个第二虚拟网关可以是第一虚拟网关130’的复本。或者,第二虚拟网关可以从头开始创建,而不是从预先存在的第一虚拟网关复制。在任一情况下,第二虚拟网关在结构上都可以与第一虚拟网关相同。然而,当第二虚拟网关是从第一虚拟网关130’复制时,根据以通信方式连接到相关联的物理网关的物理装置、装置类型和/或装置组,第一虚拟网关130’中的任何脚本中的任何通配符可以在第二虚拟网关中解引用。随后,对第二虚拟网关作出的任何改变都将被镜像在物理网关中,并且物理网关中的任何改变都将被镜像在第二虚拟网关中。因此,不论是从头开始创建还是作为第一虚拟网关130’的复本的第二虚拟网关都采用与第一虚拟网关130’相同的方式操作,除了它与一个特定的物理网关相关联并且特定于该物理网关(例如,相对于该物理网关解引用),而第一虚拟网关130’与一个或多个物理网关相关联并且普遍用于所述物理网关。
平台110上的用户接口模块116提供图形用户接口,以便于管理用户域中的每个网关130、虚拟网关130’或者两个或更多物理网关和/或虚拟网关130’的组。在实施方案中,将每个虚拟网关130’和与该虚拟网关130’相关联的每个物理网关(例如,包括与单个虚拟网关130’或多个虚拟网关130’相关联的镜像物理网关的组,例如,所述多个虚拟网关分布在多个平台上)作为一对或集体管理。例如,平台110可以包括将网页供应给用户系统150的网络服务器。这些网页可包括用于创建、更改(例如,编辑部件、改变部件的状态,诸如,从活动到不活动等等)和/或删除网关130的部件的一个或多个输入。例如,网页可以包括使得用户能够创建、更改或删除用于一个特定物理网关及其相关联的虚拟网关130’或者与特定虚拟网关130’或多个虚拟网关130’相关联的所有物理网关的脚本的输入。作为另一实例,网页可以包括使得用户能够针对一个特定物理网关及其相关联的虚拟网关130’或者与特定虚拟网关130’或多个虚拟网关130’相关联的所有物理网关的装置管理器136来创建、更改或删除装置信息(例如,装置驱动器和/或针对装置、装置类型和/或装置组的定义和/或配置)的输入。在下文论述的实施方案中,针对每对镜像网关,同步模块118确保添加、更改或删除的脚本和/或装置信息在物理网关及其相关联的虚拟网关130’中分别添加、更改或删除。
在实施方案中,数据库114包括主脚本库和/或虚拟网关脚本库,其中任一个都可以包括用户经由用户接口模块116可用的一个或多个主脚本。主脚本可包括通用脚本、指导脚本、由增值分销商提供的脚本、许可脚本等等。例如,用户可以访问脚本的公共集合,和/或能够购买许可证以便访问和使用主脚本库内的各种脚本或脚本组。用户可以访问他们在主脚本库中可访问的脚本(例如,他们被授权访问和/或更改的脚本),并且根据需要来更改所述脚本,以便创建支持用户需要或需求的脚本。更改或未更改的脚本随后可以复制或镜像到它们控制(即,用户域)内的物理网关中。例如,用户可以从主脚本库中选择先前创建的脚本、任选地更改脚本,以及将更改或未更改的脚本下载到用户域内的网关130并且激活。在下文论述的实施方案中,到物理网关的连接一可用,同步模块118就将该激活脚本下载到对应物理网关的脚本管理器132。在使用脚本中的通配符的实施方案中,如果激活脚本包括任何通配符,那么这些通配符将被解引用,以便由以通信方式连接到物理网关的对应物理装置、物理装置类型和/或物理装置组的标识符替换。
平台110上的同步模块118提供虚拟网关130’与物理网关之间的同步。如上文论述,一个虚拟网关130’与一个物理网关之间可以是一对一对应。例如,在虚拟网关130’被复制到特定物理网关的情况下,该虚拟网关130’可被复制,它的脚本中的任何通配符可以解引用,并且虚拟网关130’的复本可以与一对一对应的特定物理网关独特关联。此外,一个虚拟网关130’与多个物理网关之间可以是一对多对应,或者多个虚拟网关130’与一个或多个物理网关之间可以是多对一或多对多对应。例如,当选择将一组物理网关镜像到特定虚拟网关130’或多个虚拟网关130’时,可能出现这种情况。然而,应理解,单个物理网关可以被镜像到特定虚拟网关130’,从而导致一对一对应,类似于得自将虚拟网关130’复制到物理网关的一对一对应。在实施方案中,唯一的区别可能在于,当虚拟网关130’被复制到物理网关时,平台110上的虚拟网关130’的复本中的任何脚本都相对于物理网关解引用,而当物理网关被镜像到虚拟网关130’时,平台110上的虚拟网关130’的脚本没有解引用。在后一种情况下,当被镜像到虚拟网关130’的物理网关与虚拟网关130’同步时,任何下载的脚本都可在物理网关处解引用(或者在被下载到物理网关之前,在平台110处解引用),而平台110上的虚拟网关130’中的脚本可以继续包括任何通配符。因此,无论虚拟网关130’的属性如何,由同步模块118执行的同步可以相同,但应理解,当虚拟网关130’包括通配符时,脚本可能需要解引用(例如,由同步模块118或另一模块,诸如脚本管理器132或脚本引擎134解引用)。因此,无论虚拟网关130’的属性如何,该虚拟网关130’与其一个或多个相关联的物理网关之间的同步在本文中都可称为“镜像”,并且这些相关联的物理网关在本文中可称为“镜像网关”或“镜像物理网关”。
在实施方案中,每当对虚拟网关130’和/或与虚拟网关130’相关联的任何物理网关中将要同步的模块中的一个(例如,脚本管理器132、脚本引擎134和/或装置管理器136)作出改变时,自动执行同步。例如,如果在虚拟网关130’的脚本管理器中更改了脚本(例如,经由用户接口模块116),那么同步模块118可以自动下载或更改任何相关联的物理网关的脚本管理器132中的对应脚本。类似地,如果将装置驱动器、虚拟装置、虚拟装置类型和/或虚拟装置组添加到虚拟网关130’的装置管理器,那么同步模块118可以自动将装置驱动器、对应的物理装置、对应的物理装置类型和/或对应的物理装置组分别添加到任何相关联的物理网关的装置管理器136。
只要平台110与网关130之间存在连接210,同步模块118便可继续与每个镜像网关同步。如果平台110与镜像网关之间的连接丢失,那么在平台110与镜像网关之间的连接210可以重新建立之后,同步模块118就可执行同步。在这种情况下,与当前没有建立连接210的镜像网关相关联的虚拟网关130’充当容器,该容器保存在连接210建立之后将由同步模块118实施的物理网关的配置。在替代或额外的实施方案中,可以手动执行同步(例如,响应于用户操作)和/或半自动执行同步(例如,在响应于提示后遵循用户确认)。
应理解,尽管图2将虚拟网关130’示为包括相关联的镜像物理网关的脚本管理器132、脚本引擎134和装置管理器136的虚拟表示,但虚拟网关130’可以包括镜像物理网关的更多或更少部件的虚拟表示,取决于给定的设计中需要同步哪些元件。例如,在实施方案中,只有活动脚本和/或装置信息(例如,装置驱动器和/或针对装置、装置类型和/或装置组的定义和/或配置)可以在虚拟网关130’与镜像物理网关之间同步。在此类实施方案中,虚拟网关130’只需要包括与本地存储在相关联的镜像物理网关上的对应活动脚本、物理装置、物理装置类型、物理装置组和/或装置驱动器同步的脚本列表、虚拟装置、虚拟装置类型、虚拟装置组和/或装置驱动器。在虚拟网关130’本身可执行(例如,在云中可执行)的实施方案中,公共或共享脚本引擎可用来在平台110处执行来自多个虚拟网关130’的脚本。
物理网关上的脚本管理器132管理用于控制以通信方式连接到镜像物理网关的一个或多个物理装置140、物理装置类型和/或物理装置组的脚本。在实施方案中,脚本管理器132将活动脚本存储在物理网关上的存储器的本地数据库中。脚本管理器132可以订阅平台110(即,被镜像到平台110上的虚拟网关130’),从而使得同步模块118维持与物理网关相关联的虚拟网关130’的活动脚本的至少子集与本地存储在物理网关的存储器中的脚本之间的同步。因此,每当将活动脚本添加到虚拟网关130’时,同步模块118也经由连接210将该脚本传输到每个镜像物理网关的脚本管理器132,从而使得脚本被本地存储在每个镜像物理网关上并且远程存储在虚拟网关130’中。同样地,每当从虚拟网关130’中删除或停用脚本时,同步模块118也经由连接210请求从每个镜像物理网关的脚本管理器132中删除或停用该脚本,从而使得从虚拟网关130’和物理网关中删除该脚本。此外,每当在虚拟网关130’中更改活动脚本时,同步模块118经由连接210与每个镜像物理网关的脚本管理器132通信,以便对物理网关上的脚本的本地存储复本实施相同的更改(例如,通过替换本地脚本或者通过将表示递增更改的delta应用到本地脚本)。应理解,通过类似的方式,同步模块118可以实现虚拟网关130’中的改变,以便使虚拟网关130’与相关联的镜像物理网关处的更改或改变同步。
在实施方案中,同步模块118只将虚拟网关130’中的活动和/或经验证脚本与存储在镜像物理网关上的脚本同步。例如,虚拟网关130’中的脚本可与“活动”或“不活动”的状态相关联。“不活动”状态表明脚本不应在虚拟网关130’及其相关联的镜像物理网关中执行,而“活动”状态表明脚本应在虚拟网关130’及其相关联的镜像物理网关中执行。当将来自虚拟网关130’的脚本同步到相关联的镜像物理网关时,同步模块118可以避免将具有“不活动”状态的任何脚本同步到镜像物理网关。或者,同步模块118可以将不活动脚本添加到镜像物理网关,但具有“不活动”状态。此外,如果虚拟网关130’中的脚本从“活动”变成“不活动”,那么同步模块118可以在镜像物理网关中将脚本的状态改成“不活动”,或者从镜像物理网关中删除该脚本。
同步模块118可以采用类似的方式处理经验证和未经验证脚本。经验证脚本是已被验证为采用预期方式操作的那些脚本,而未经验证脚本是没有被验证为采用预期方式操作的那些脚本。例如,未经验证脚本可包括不完整和/或未测试的脚本,仍处于开发或调试的过程中。在实施方案中,同步模块118没有将未经验证脚本从虚拟网关130’镜像到镜像物理网关。或者,用户可以指定未经验证脚本是否应被镜像在物理网关上(例如,通过将脚本的状态设置为“活动”或“不活动”,如上文所述)。
在实施方案中,物理网关上的脚本管理器132将本地存储的脚本提供作为脚本引擎134的输入。脚本引擎134可包括执行输入脚本的虚拟机。在实施方案中,物理网关还可包括置于脚本管理器132与脚本引擎134之间或者包括在其中一个内的编译器。在此类实施方案中,存储在物理网关上的脚本可以存储为通过编译器馈送的源代码,并且输出为将由脚本引擎134的虚拟机执行的虚拟机代码。在实施方案中,脚本引擎134的虚拟机并行提供多个脚本的线程执行。
在实施方案中,脚本引擎134与装置管理器136对接,而该装置管理器又经由有线和/或无线连接与装置140对接。装置管理器136可包括用于与装置140、装置类型和/或装置组通信和交互的一个或多个驱动器。装置140实际上可以包括任何类型的装置或装置组以及装置类型或组的组合,包括但不限于:传感器(例如,运动传感器、温度传感器、湿度传感器、气压计、开启/闭合传感器、锁定/解锁传感器等)、锁(例如,门锁或窗户锁)、门、窗户、灯、供热通风与空气调节单元(HVAC)、自动售货机、自动出纳机(ATM)、销售点(POS)终端、安全系统和部件、灌溉系统和部件、水池或温泉浴场、水龙头、家用电器(例如,烘箱、冰箱、洗衣机等)、电系统和部件、气体系统、打印机、电视机、扬声器、大门、锅炉、加热系统、冷却器、制冷系统、医疗或保健可穿戴设备和系统等。装置管理器136可以使用有线通信(例如,经由网关130中的物理端口)和/或无线通信(例如,BACnet、Modbus、LonWorks、EnOcean、蓝牙低功耗(BLE)、Wi-Fi,诸如,802.11 a/b/g/n/ac、Wi-Fi低功耗、Z-Wave、ZigBee™、Bluetooth™、近场通信(NFC)、ANT、GPIO、行业标准或专用协议等)与装置140通信。在实施方案中,网关130包括使网关130有能力经由一个或多个无线技术进行通信的一个或多个收发器(例如,天线)。
根据需要,可以添加、更改和/或从装置管理器136移除装置信息(例如,装置驱动器和/或针对装置、装置类型和/或装置组的定义和/或配置),取决于需要与物理网关通信的装置140、装置类型和/或装置组。例如,第一装置驱动器可以添加到装置管理器136,以便与第一装置通信和管理该第一装置,并且第二装置驱动器可以添加到装置管理器136,以便与第二不同的装置通信和管理该第二装置。同样的情况可用于不同的装置类型和装置组。此外,当不再需要时(例如,当网关130不再需要与某一装置、装置类型或装置组通信时),可以从装置管理器136中移除装置信息。
装置信息可以被实施为装置管理器136的插件软件模块,从而使得每个装置、装置类型、装置组和装置驱动器在需要时可以容易添加、更改和/或从装置管理器136中移除。有利的是,这使得系统的特征和支持(即,网关130和平台110)与单独装置140、装置类型和装置组的特征和支持分开。换言之,系统的新特征(以及用于这些和更老特征的技术支持)不会影响装置140、装置类型和装置组,因为针对这些装置、装置类型和装置组可以维持更老的配置(例如,驱动器)。相反,装置140、装置类型和装置组的新特征(以及用于这些和更老特征的技术支持)不会影响系统,因为更老的配置可以继续与受影响的装置、装置类型和装置组适当操作,或者可容易用更新的配置替换老配置(即,通过将新装置、装置类型、装置组和/或装置驱动器插入到装置管理器136,以代替或补充老的装置、装置类型、装置组和/或装置驱动器)。
如上文论述,装置管理器136中的装置信息(例如,装置驱动器,和/或针对装置、装置类型和/或装置组的定义和/或配置)可以经由同步模块118而与虚拟网关130’的装置管理器中的装置信息同步。因此,如果装置信息添加到物理网关,那么该装置信息也添加到相关联的虚拟网关130’,且反之亦然。类似于脚本,装置信息可以与状态相关联,诸如,“不活动”或“活动”(例如,特定装置、装置类型和/或装置组的定义和/或配置可以设置为“不活动”或“活动”),并且根据这些状态,同步模块118可以将物理网关的装置管理器136中的装置信息与虚拟网关130’的装置管理器中的装置信息同步。
装置管理器136提供接口,以便接收来自一个或多个装置140、装置类型和装置组的数据,和/或将数据发送到一个或多个装置140、装置类型和装置组。例如,装置管理器136可以接收来自传感器装置140的传感器数据(例如,来自温度传感器的温度测量、来自开启/闭合传感器的二进制值、开关的状态、表示来自运动传感器的运动的检测的值等)。此外,装置管理器136可以将指令或命令发送到可操作装置140(例如,让锁紧装置打开或关闭门上的门栓的命令、让照明装置打开或关掉泛光灯的命令等)、装置类型(例如,改变所有恒温器上的温度)或者装置组(例如,重置HVAC系统中的所有装置和装置类型的值)。由装置管理器136从装置140、装置类型和装置组接收到的数据可以提供作为在脚本引擎134上执行的一个或多个活动脚本的输入,而在脚本引擎134上执行的一个或多个活动脚本的输出可以由装置管理器136发送作为或转换成至一个或多个装置140、装置类型和装置组的指令、命令或其他数据。通过这种方式,在脚本引擎134上执行的活动脚本(例如,作为并行线程执行的多个活动脚本)可以控制活动装置140、装置类型和装置组和/或作出反应。
在实施方案中,装置管理器136检测不可用和/或缺失的装置、装置类型和装置组。例如,装置管理器136可以实施常规心跳特征或者检测每个装置140、装置类型和/或装置组的通信连接的丢失的其他方法。在装置管理器136检测到应该和/或先前具有连接的装置、装置类型和/或装置组不再连接的情况下(例如,在建立连接的预定尝试次数之后或者在连接丢失的预定持续时间之后),装置管理器136可以执行错误处理,可包括生成警报(例如,用户接口消息、电子邮件消息、文本消息等),以通知一个或多个接收者该故障。
1.3. 虚拟网关的利用
由于上述同步过程的结果,每个镜像物理网关与平台110处的虚拟网关130’(例如,存储在数据库114中并且由平台110操作)或者可在一个或多个平台110上实例化的多个虚拟网关130’相关联。在没有连接故障的情况下,与镜像网关相关联的虚拟网关130’将准确反映每个镜像网关的当前配置。例如,虚拟网关130’将至少识别在相关联的镜像网关上活动的每个脚本和装置信息(例如,装置驱动器和/或针对装置、装置类型和/或装置组的定义和/或配置)。在出现连接故障的情况下,虚拟网关130’可能无法准确镜像相关联的镜像网关的当前配置,但此类不准确是暂时的,并且一旦建立了与相关联的镜像网关的连接,则将得到解决。虚拟网关130’的准确连续更新属性提供若干利用机会。
1.3.1. 备份和恢复
由于每个虚拟网关130’镜像相关联的物理网关,因此,如果出现故障,则虚拟网关130’可以用作相关联的镜像物理网关的备份。具体而言,在镜像物理网关经历故障或者被新的物理网关替换(例如,经由热插拔)的情况下,与该镜像物理网关相关联的虚拟网关130’可以用来将恢复或替换网关恢复成适当的最新配置。这个备份和恢复过程可以是自动、半自动或手动的。应理解,备份和恢复过程的功能可以通过平台110的用户接口模块116提供的图形用户接口来执行和/或设置。
1.3.2. 快照
此外,一个或多个虚拟网关130’可被存储作为相关联的镜像网关的快照或恢复点。例如,给定的物理网关或物理网关的组可以与多个虚拟网关130’相关联,每个都表示该物理网关或该组物理网关在不同时间点的配置(例如,包括一个或多个过去时间以及当前时间)。因此,物理网关的配置可以恢复到由多个相关联的虚拟网关130’中的一个表示的任何时间点。应理解,快照过程的功能可以通过平台110的用户接口模块116提供的图形用户接口来执行和/或设置。
1.3.3. 基于云的网关
同步的虚拟网关130’的另一结果是针对给定物理网关的活动装置、装置类型和/或装置驱动器的活动脚本和/或装置驱动器和/或管理的执行可以卸载到平台110。例如,在平台110是云平台(即,利用共享或专用虚拟和/或物理资源的公共或专用平台)的实施方案中,针对给定物理网关的活动装置、装置类型和/或装置驱动器的活动脚本和/或装置驱动器和/或管理的执行可以“在云中”实施。在此类实施方案中,物理网关可以仅仅向装置140、装置类型和装置组提供电子接口,而控制处理由平台110上的脚本引擎执行,和/或与装置140、装置类型和/或装置组的通信由平台110上的装置管理器管理。例如,这可用于瘦网关的实施,或者如果物理网关中的内部故障不影响与装置140的通信的能力的话。在此类故障的情况下,平台110中的恢复模块可以自动切换或开始物理网关到瘦网关的切换,其中脚本执行和/或装置管理被卸载到平台110。
在实施方案中,用户可以指定某些物理网关的一个或多个功能应使用它们相关联的虚拟网关130’在云中执行。应理解,在这种情况下,物理网关可以从开始就被初始化为基于云的网关,其中它们功能中的一个或多个是基于云的(即,由相关联的虚拟网关130’执行)。
1.3.4. 初始化
此外,虚拟网关130’可以用来快速配置或初始化新的物理网关(例如,新购买的网关、从停电、硬件故障中恢复的网关等)。具体而言,在新网关将采用与先前配置的网关130相同的方式配置的情况下,新网关可以只和与该先前配置的网关130相关联的虚拟网关130’同步或者添加到由同步模块118自动且持续与虚拟网关130’同步的网关类型或网关组。或者,该虚拟网关130’可以复制到新物理网关,以便生成与新物理网关独特关联的虚拟网关130’(例如,在平台110处)的新(例如,解引用)复本。在这种情况下,虚拟网关130’的新复本可以自动并且持续与新物理网关同步。
1.3.5. 网关网络门户
此外,在实施方案中,虚拟网关130’结合平台110上的用户接口模块116可以充当至相关联的物理网关的网络门户。具体而言,基于虚拟网关130’构建的图形用户接口可以由用户用来管理虚拟网关130’(例如,编辑虚拟网关130’)。由于被管理的虚拟网关130’中的改变通过同步模块118而与相关联的镜像物理网关同步(例如,自动且持续同步),因此,虚拟网关130’的管理也是相关联的镜像物理网关的管理。换言之,由于虚拟网关130’中的改变在相关联的镜像物理网关中重复,因此,虚拟网关130’及其相关联的镜像物理网关由用户经由用户接口模块116通过虚拟网关130’的管理来同时管理。然而,应理解,在替代或额外的实施方案中,平台110上的用户接口模块116可以只结合每个镜像物理网关起作用,以便生成用于物理网关的网络门户(例如,通过查询每个网关130的状态和/或配置,以及根据查询结果动态生成图形用户接口)。
在实施方案中,用于管理虚拟网关130’及其相关联的镜像网关的图形用户接口可以包括用户友好的点击或触摸接口。例如,用户可以经由简单的点击操作或触摸操作(例如,针对支持触摸功能的用户系统150)来添加、编辑(例如,激活/停用、更改等)和/或删除镜像物理网关上的脚本。例如,图形用户接口可以使得用户具有适当的权利,以便容易从脚本的列表(例如,以类似方式存储在平台110的数据库114中的主脚本库)中选择添加到与特定虚拟网关130’相关联的相关联镜像网关的脚本。此外,图形用户接口可以使得授权用户能够容易从虚拟网关130’中的脚本列表中选择要移除、编辑、验证、激活和/或停用的脚本。图形用户接口还可以允许使得授权用户能够容易从第一虚拟网关130’中的脚本列表中选择脚本,并且将该脚本镜像或复制到第二不同的虚拟网关130’。如上文论述,虚拟网关130’的任何改变都将反映在同步模块118可以与其建立连接210的所有相关联的镜像网关中。
在实施方案中,图形用户接口使得授权用户能够将存储在源(例如,虚拟网关130’和/或物理网关)中的脚本和/或装置信息(例如,装置驱动器,和/或针对装置、装置类型和/或装置组的定义和/或配置)从该源中选择和镜像或复制到一个或多个目标(例如,另一虚拟网关130’和/或物理网关)。例如,授权用户可以选择虚拟网关130’,并且选择将所选择的虚拟网关130’镜像或复制到的一个或多个物理网关。通过类似的方式,授权用户可以选择装置信息,并且选择将所选择的装置信息镜像或复制到的一个或多个物理网关。
应理解,网关网络门户可用于用户经由平台110被授权的所有虚拟和/或物理网关。网关网络门户可以包括使得授权用户能够同时访问(例如,编辑)多个镜像虚拟和/或物理网关(例如,用户域内的所有网关和/或网关的子集或分组)的图形用户接口,和/或可以包括使得用户能够单独访问镜像虚拟和/或物理网关的图形用户接口。
1.4. 脚本编辑器
在实施方案中,平台110的用户接口模块116将图形用户接口(即,脚本编辑器)提供给用户,以用于创建和编辑存储在脚本库(例如,上述主脚本库和/或网关脚本库)中和/或存储在虚拟网关130’和物理网关上的脚本。如本文中其他地方论述,可以在网关管理期间的一个或多个点处编辑脚本(例如,由授权用户在这些用户的域内的网关上编辑、在授权和认证装置上编辑等)。例如,可以从主脚本库中和/或从存储在虚拟网关130’或物理网关中的脚本列表中选择用于编辑的脚本。
作为一个实例,响应于授权用户从图形用户接口中选择了特定物理网关的标识符,用户接口模块116可以为用户提供存储在所选择的物理网关上的脚本列表。随后,响应于用户从脚本列表中选择了特定脚本的标识符,用户接口模块116可以为用户提供用于脚本编辑器的用户接口。一旦用户在脚本编辑器中表明已完成脚本的编辑(例如,通过操作脚本编辑器中的“保存”图标或按钮以保存脚本,而无论完成还是未完成、经验证还是未经验证、活动还是不活动),用户接口模块116可以使用户返回到存储在所选择的物理网关上的脚本列表。
在实施方案中,脚本编辑器使得授权用户能够通过依照语义和句法用图形将各种脚本部件接合在一起来构建脚本。例如,脚本部件可包括,但不限于,触发器、条件、装置、装置属性或特性、动作等。脚本编辑器可以包括使得用户能够以逻辑方式依照图形、语义和句法来放置和连接这些部件的交互式接口。脚本编辑器可以在编辑期间和/或之后检查正确的语义和句法。如果脚本在语义和/或句法上不正确,那么脚本编辑器可将错误突出显示,以便用户校正。此外,脚本编辑器可以阻止用户将脚本保存为完成的和/或激活脚本。另外,脚本编辑器可以将用户构建的部件转换成基础的标准或专用脚本语言(例如,在编辑期间、在脚本被保存之后、在脚本被激活之后、在脚本已针对正确的语义和句法经过验证之后等)。作为替代或补充,脚本编辑器可以使得用户能够直接使用基础脚本语言来简单地编写脚本。在任一情况下,基础脚本语言可以编译成代码(例如,虚拟机代码、字节代码或二进制代码),以便由脚本引擎134执行。
脚本编辑器可以使得授权用户能够改变脚本的单独部件,例如,通过改变特定条件、触发器或装置来实现。脚本编辑器还可以使得用户能够将脚本镜像或复制用作新脚本的模板或起始点。另外,脚本编辑器可以使得用户能够将脚本重命名、改变脚本的状态(例如,激活或停用脚本)、手动将虚拟网关130’与相关联的物理网关同步,和/或在虚拟网关130’和/或物理网关之间自动、半自动和/或手动镜像或复制脚本。
在实施方案中,当用户正在编辑存储在虚拟或物理网关中的特定脚本时,脚本编辑器可以请求来自网关的装置管理器的动态改变。例如,如果用户正在编辑存储在物理网关上的特定脚本,那么针对以通信方式连接到该物理网关的所有装置140、装置类型和/或装置组的装置标识符可以被平台110检索(例如,通过查询装置管理器136或者物理网关的其他模块)。在适当的情况下,这些装置、装置类型和/或装置组标识符随后可用于脚本编辑器中,以便用户选择。例如,如果用户添加或者正在编辑脚本中的特定脚本部件并且该特定脚本部件引用特定装置,那么可以提供包括所有的可用装置、装置类型和/或装置组标识符或者针对适合于给定脚本部件(例如,适合于条件部件的传感器)的装置、装置类型和/或装置组的装置标识符的子集的下拉菜单,从而使得用户可以选择脚本部件中要引用的适当装置、装置类型或装置组标识符。在使用通配符的实施方案中,装置标识符的通配符版本可以自动或手动可用和/或可选择。例如,网关处可用的具体装置、装置类型和装置组标识符可以转换成正规表达或以其他方式变得通用,从而它们覆盖一个或多个特定类型的装置和/或装置的一个或多个组(例如,采用通配符格式,本文中其他地方更详细地描述),而不是只覆盖以通信方式连接到特定网关的特定物理装置。
在实施方案中,脚本编辑器可以包括诊断和/或调试工具。因此,脚本可以在激活之前自动或手动(例如,由用户)评估和调试(例如,验证)(例如,通过检查脚本在语义和/或句法上是否正确),或者以便解决激活之后识别的问题。应理解,可在调试之后执行的对脚本的验证可以对照通配符和/或该脚本中包含的物理装置、物理装置类型和/或物理装置组来验证脚本的操作,可以验证脚本在其上活动的所有网关上的脚本,并且可以为受影响的网关的整个组提供组诊断和调试信息。
脚本编辑器也可以管理和/或实施脚本的版本控制。例如,对脚本的每个递增更改可以自动、半自动和/或手动存储为脚本的新版本,并且脚本的每个更老版本可以保留在存储设备中,以便将来查看、引用、重新运行等。这个版本控制可以针对镜像和复制脚本来执行。
1.5. 脚本通配符
在实施方案中,一个或多个通配符可以用来在脚本的创建或编辑期间(例如,在上文论述的脚本编辑器中)抽象地表示装置140、装置类型和/或装置组。通配符使得脚本能够引用一个或多个类型的装置(例如,恒温器的特定模型)和/或装置的一个或多个组(例如,HVAC系统的部件),而没有束缚于特定装置。通配符可以采用能够提供表示装置的类型和/或装置的组的通用装置名称的任何形式(例如,星号、句号等)。
通过使用通配符来引用脚本中的装置、装置类型和/或装置组,该脚本可以普遍用于多个网关。因此,在实施方案中,主脚本库中的一个或多个或者所有脚本都可以包括通配符,以表示脚本中引用的装置、装置类型和/或装置组。这些通配符可以保留在添加到虚拟网关130’的脚本中。或者,当添加到虚拟网关130’时,通配符可以解引用。当虚拟网关130’只与单个物理网关相关联或者与以通信方式连接到装置140的同名集合的多个物理网关相关联时,虚拟网关130’内的这种解引用可以有用。
当脚本被本地存储在物理网关上(例如,经由同步模块118)或被编译(例如,由脚本管理器132或脚本引擎134编译)时,脚本中的任何通配符可以解引用(即,如果还没有解引用的话)。换言之,脚本将呈现出对应于通配符所引用的装置、装置类型和/或装置组的具体装置的特性。例如,每个通配符可以用以通信方式连接到网关130(例如,经由装置管理器136)并且满足通配符的装置140、装置类型或装置组的具体装置标识符(例如,装置编号或装置名称)进行替换。
作为非限制性实例,主脚本库中的脚本可以引用装置“frontdoorswitch*”。在这种情况下,通配符是星号“*”。因此,引用“frontdoorswitch*”通常表示装置140内的任何前门开关。当脚本在物理网关上实施时,通过用以通信方式可用于网关130并且与通配符“frontdoorswitch*”相关联的一个或多个特定物理装置140的标志符或其他特性进行自动替换,这个通配符被解引用(例如,在将执行该通配符的物理网关处)。每个特定装置140的属性值随后可以被配置成与针对物理网关上的脚本执行的通配符定义的属性值一致。
在实施方案中,如果物理网关可用的装置140、装置类型或装置组的列表中的装置标识符匹配引用“frontdoorswitch*”,那么引用“frontdoorswitch*”在将要在物理网关上执行的脚本中被该装置标识符替换。例如,如果装置标识符的列表包括装置标识符“frontdoorswitch01”,那么这个装置标识符匹配引用“frontdoorswitch*”并且被替换到脚本中(例如,在将脚本编译成虚拟机代码之前),以便代替引用“frontdoorswitch*”。因此,解引用的脚本将引用针对特定装置的标识符,而不是由通配符表示的通用装置。
1.6. 脚本镜像
图3示出根据实施方案的平台110的脚本镜像模块119。在此实施方案中,对一个或多个镜像网关具有控制权的授权用户可以经由平台110的用户接口模块116(例如,使用用户系统150)来访问图形用户接口(例如,网页)。该图形用户接口可以包括用于选择或以其他方式识别脚本的一个或多个输入,以及用于选择或以其他方式识别虚拟网关130’或多个虚拟网关130’的组和/或物理网关和/或多个网关130的组的一个或多个输入。该图形用户接口还可以包括用于接收来自用户的指示的一个或多个输入,以便将识别的脚本“镜像”到识别的网关或网关的组。脚本镜像包括将识别的脚本发送到每个识别的虚拟和/或物理网关。在识别出一个或多个物理网关的情况下,脚本通过连接210(例如,210-1、210-2、…210-N)传输到物理网关。例如,脚本镜像模块119可以请求每个识别的网关130的脚本管理器132,以便存储将由网关的各自脚本引擎134执行的脚本的本地镜像(例如,复本)。
此外,脚本镜像模块119可以将识别的脚本添加到与每个识别的物理网关相关联的虚拟网关130’。换言之,与物理网关相关联的所有虚拟网关130’都被更新,以便考虑镜像到物理网关的新脚本。如上文所述,可能存在与每个物理网关相关联的离散虚拟网关130’,或者可能存在与多个镜像(例如,相同配置的)物理网关相关联的单个虚拟网关130’。
作为实例,授权用户可以从上文论述的主脚本库中或者从用户创建的脚本的集合中选择脚本的标识符。用户随后可以选择虚拟或物理网关的标识符、多个虚拟或物理网关的标识符和/或包括多个虚拟或物理网关的一组的标识符。在所述实例中,多个物理网关的组包括网关130-1到130-N。当用户执行(例如,选择图标或按钮)表明识别的脚本应被“镜像”到识别的物理网关的操作时,脚本镜像模块119通过各自的连接210-1到210-N将识别的脚本的镜像传输到网关130-1到130-N中的每个。换言之,识别的脚本本地存储在物理网关中的每个处。如果识别的脚本的当前版本的镜像已经存储在识别的网关中的一个处,那么可以选择性地跳过镜像的传输,或者可以覆盖存储的镜像。此外,在利用上述虚拟网关130’的实施方案中,可以将识别的脚本添加到与物理网关相关联的虚拟网关130’。
当包括通配符的脚本被镜像到一个或多个物理网关时,脚本中的每个通配符都在每个网关130处解引用,以便被特定装置140自动替换,如本文中其他地方论述。因此,带有通用装置、装置类型和/或装置组引用的脚本可以被镜像到多个网关130,并且镜像脚本中的通用装置识别符被针对连接到每个各自物理网关的具体装置、装置类型和/或装置组的具体标识符自动替换。
2. 过程概述
现在将详细描述用于针对物理网关来管理控制脚本的过程的实施方案。应理解,所述过程可以体现在由一个或多个硬件处理器执行的一个或多个软件模块中,它可以完全由平台110的处理器执行、完全由网关130和/或用户系统150的处理器执行,或者可以分布在平台110和网关130和/或用户系统150上,从而使得应用的一些部分或模块由平台110执行,并且应用的其他部分或模块由网关130和/或用户系统150执行。所述过程可以实施为用源代码、目标代码和/或机器代码表示的指令。这些指令可以直接由硬件处理器执行,或者,可以由在目标代码与硬件处理器之间操作的虚拟机执行。此外,所公开的应用可以建立在一个或多个现有系统之上或者与所述现有系统对接。
2.1. 网关编辑
图4示出根据实施方案的用于编辑网关130的过程400。在步骤410,向用户提供用户接口,以便用于添加、更改(例如,改变脚本的部件或其他部件、改变脚本或其他部件的状态,诸如,激活或停用脚本)和/或删除一个或多个脚本、装置信息(例如,装置驱动器和/或针对装置、装置类型和/或装置组的定义和/或配置)和/或网关的其他可改变部件。例如,该用户接口可以由平台110的用户接口模块116提供。该用户接口可以提供用于编辑特定虚拟网关(例如,虚拟网关130’)、特定物理网关(例如,网关130)上和/或针对整个平台(例如,针对由平台110管理的每个虚拟网关130’和/或物理网关)或者平台的子集(例如,只针对由平台110管理的虚拟网关130’和/或物理网关的一部分)上的可改变部件(例如,脚本、装置信息等)。在实施方案中,需要注意的脚本和/或驱动器(例如,不完整脚本、未经验证的脚本或者在物理网关上或作为虚拟网关编译或执行期间已产生错误的脚本)可以使用突出显示(例如,粗体)、颜色(例如,红色)、符号(例如,“!”)等等便于用户区分。
在实施方案中,用户接口使得授权用户能够选择特定的虚拟和/或物理网关、提供该网关上的部件列表以及使得用户能够编辑每个部件以仅用于该网关。在用户选择了与多个物理网关形成镜像的虚拟网关的情况下,应理解,在虚拟网关上编辑部件可以影响相关联的镜像物理网关中的每个,如本文中其他地方论述。换言之,选择了具体的虚拟或物理网关,并且编辑该具体网关上的部件中的一个或多个。
在替代或额外的实施方案中,用户接口为用户提供用于识别一个或多个部件、识别该部件将被镜像或复制到的一个或多个虚拟和/或物理网关以及开始将部件镜像或复制到识别的网关的一个或多个输入。此外,用户接口可以为用户提供用于识别存储在一个或多个虚拟和/或物理网关上的脚本以及开始从网关中删除脚本的一个或多个输入。另外,用户接口可以为正在更改部件的用户提供用于识别应该应用更改的一个或多个虚拟和/或物理网关的一个或多个输入。换言之,编辑具体部件、选择或以其他方式识别具体的虚拟和/或物理网关,以及对选择的虚拟和/或物理网关(例如,可以包括由平台110控制的所有网关或网关的任何子集)实施编辑。
在步骤420中,确定用户是否已完成部件(例如,脚本、装置信息等)的添加、更改或删除。这个确定可以采用接收到具体用户操作(例如,在用户接口的输入上)或者完成更改或应添加或删除识别的部件的其他指示的形式。换言之,该过程可以假设部件的编辑未完成直至接收到具体用户操作为止,而不是阻止或轮询。
一旦完成部件的编辑,在步骤430中,更新适用的虚拟网关,以反映编辑。如果编辑只影响单个虚拟网关,那么只更新该虚拟网关。然而,如果编辑影响多个虚拟网关,那么更新多个虚拟网关中的每个。在任一种情况下,无论编辑的部件的状态如何(例如,不论诸如脚本等部件是否被停用或未经验证),都可以应用编辑。
在步骤440中,确定编辑中的任一个是否涉及经验证和/或活动部件或者涉及从物理网关中删除部件。如果是的话,则在步骤450中执行与适用的镜像物理网关的同步(例如,通过同步模块118)。否则,不需要同步,因为编辑只影响不完整、未经验证或不活动的部件。如本文中其他地方论述,在实施方案中,不完整、未经验证和/或不活动的部件可以保存在虚拟网关中,而不是同步到镜像或选择的物理网关。在替代实施方案中,不完整、未经验证、不活动和/或被删除的部件可以被镜像到和/或保留在物理网关处,但它们的状态可以设置成不活动,以反映出它们是不完整、未经验证、不活动或被删除的,从而物理网关可以适当处理它们(例如,不编译、执行或以其他方式处理它们)。
应理解,相同的过程400可以应用于对虚拟和物理网关作出的其他改变。也就是说,过程400可以类似地应用于部件的用户编辑,而不是网关的脚本和驱动器(例如,诸如网关的脚本引擎134)。
2.2. 同步
图5示出根据实施方案的同步过程500。在实施方案中,过程500可以是或被包括在过程400的步骤450中,并且可以实施为同步模块118或作为其一部分。过程500可以针对需要同步的每个虚拟和/或物理网关(例如,每个选择或镜像的虚拟网关130’和/或每个选择或镜像的物理网关)来执行。至于自动同步,可以针对需要同步的每个网关来迭代或并行执行过程500。
在步骤510中,识别要同步的网关,并且接收同步数据。同步数据可以包括将识别的网关同步所需的任何数据,并且可以采用任何多种形式或配置,取决于特定的实施。例如,在脚本必须添加到网关的情况下,同步数据可以包括脚本。在装置信息(例如,装置驱动器和/或针对装置、装置类型和/或装置组的定义和/或配置)必须添加到网关的情况下,同步数据可以包括装置信息。在可以对网关作出递增改变的实施方案中,同步数据可以包括应该应用到存储在网关处的数据以便进行同步的delta的表示。
在步骤520中,确定是否可以建立或建立了与识别的网关的连接(例如,连接210)。如果否,则过程500可以阻断,直到与识别的网关可以建立连接为止。在实施方案中,过程500可以在重新尝试连接之前等待预定的时间。此外,当连接失败、失败了预定的次数或者在预定的时间段之后没有建立起来时,过程500可以生成警报(例如,用户接口消息、电子邮件消息、文本消息等),以通知一个或多个接收者该故障。
另一方面,当在步骤520中建立了连接时,识别的网关在步骤530中同步。具体而言,将同步数据传输或以其他方式应用到网关(例如,通过网络120)。
2.3. 同步
图6示出根据实施方案的用于对脚本中的通配符解引用的过程640。如上文论述,与多个物理网关相关联的虚拟网关的脚本可以包括通配符(所述通配符在物理网关处解引用),而只与单个物理网关相关联的虚拟网关的脚本可以在虚拟网关中以及在物理网关处解引用。过程640可以实施为一个或多个网关130和/或平台110处的模块。
在步骤650中,接收脚本。如本文中其他地方论述,脚本可以包含通配符,所述通配符引用针对装置、装置类型和/或装置组的通用标识符。例如,通配符可以是添加到装置、装置类型或装置组标识符的一个或多个部件(例如,添加到针对装置、装置类型或装置组标识符的公共前缀的最后、添加到针对装置、装置类型或装置组标识符的公共后缀的开头)的星号或其他符号。在“frontdoorswitch*”的实例中,通配符是添加到前缀“frontdoordevice”的星号,表明通配符表示以前缀“frontdoorswitch”开始的任何装置标识符,而无论装置标识符中的该前缀之后的内容如何。
在步骤660中,确定任何通配符是否保留在正处理的脚本中。如果脚本从不包含通配符或不再包含任何通配符,则过程640结束。否则,在步骤670中处理脚本中的下一通配符。
在步骤670中,使用通配符来搜索包括特定网关处的装置、装置类型或装置组标识符的数据结构,以识别匹配的装置、装置类型或装置组标识符。数据结构可以包括数据库、表格、列表、对象、blob等。在实施方案中,通配符表示正规表达式,并且如果通配符满足该正规表达式,则装置、装置类型或装置组标识符匹配该通配符。
如果通配符不匹配任何装置、装置类型或装置组标识符,那么可以在步骤680中执行错误处理。错误处理可以包括生成警报(例如,用户接口消息、电子邮件消息、文本消息等)以通知一个或多个接收者该故障、记录错误等等。或者,替代于在步骤680中执行错误处理,过程640可以跳过不匹配的通配符、结束和/或执行其他处理。
如果通配符确实匹配装置、装置类型或装置组标识符,那么在步骤690中,用匹配的装置、装置类型或装置组标识符替换脚本中的通配符,并且如果有的话,在步骤660中识别下一个剩余的通配符。如果存在多个匹配的装置、装置类型或装置组标识符,那么可以用每个匹配的装置、装置类型或装置组标识符或者只用单个匹配的装置、装置类型或装置组标识符(例如,第一匹配的装置、装置类型或装置组标识符)来替换所述通配符,具体取决于过程640的特定实施。
3. 示例处理装置
图7是示出可以结合本文所述的各个实施方案使用的示例有线或无线系统550的框图。例如,系统550可以用作上述机构、过程、方法或功能中的一个或多个或者与其结合使用(例如,以便存储和/或执行一个或多个软件模块),并且可以表示平台110、服务器112、网关130、装置140、用户系统150和/或本文所述的其他装置的部件。系统550可以是服务器或任何常规的个人计算机,或者能够进行有线或无线数据通信的任何其他支持处理器功能的装置。如所属领域的技术人员将明白,也可以使用其他计算机系统和/或架构。此外,应理解,尽管所示系统550带有某些元件,但它可以包括比所示这些更少或更多的元件,取决于它表示的特定部件。例如,不具有无线通信能力的系统550可以不包括基带620、无线电615和天线610。
系统550优选包括一个或多个处理器,诸如,处理器560。可以提供额外的处理器,诸如,用以管理输入/输出的辅助处理器、用以执行浮点数学运算的辅助处理器、具有适合于信号处理算法的快速执行的架构的专用微处理器(例如,数字信号处理器)、从属于主处理系统的从属处理器(例如,后端处理器)、用于双处理器系统或多个处理器系统的额外微处理器或控制器、或者协处理器。此类辅助处理器可以是离散处理器,或者可以与处理器560集成。可以与系统550一起使用的处理器的实例包括,但不限于,Pentium®处理器、Corei7®处理器、Xeon®处理器以及可从加利福尼亚州圣克拉拉的英特尔公司(IntelCorporation of Santa Clara, California)得到的其他型号,以及来自其他制造商的硬件处理器,诸如,来自加利福尼亚州森尼维尔市的超微设备公司(Advanced Micro Devicesof Sunnyvale, California)。
处理器560优选连接到通信总线555。通信总线555可以包括用于促进系统550的存储设备与其他外围部件之间的信息传输的数据通道。此外,通信总线555可以提供用于与处理器560通信的信号的集合,包括数据总线、地址总线和控制总线(未示出)。通信总线555可以包括任何标准或非标准总线架构,例如,诸如符合下列标准的总线架构:工业标准架构(ISA)、扩展工业标准架构(EISA)、微通道架构(MCA)、外围部件互连(PCI)局部总线或者由电气和电子工程师协会(IEEE)颁布的标准,包括IEEE 488通用接口总线(GPIB)、IEEE 696/S-100等等。
系统550优选包括主存储器565,并且也可以包括辅助存储器570。主存储器565为在处理器560上执行的程序提供指令和数据的存储,诸如,上文论述的功能和/或模块中的一个或多个。应理解,存储在存储器中并且由处理器560执行的程序可以根据任何合适的语言进行编写和/或编译,包括但不限于:C/C++、Java、JavaScript、Perl、Visual Basic、.NET、专用视觉脚本语言、专用脚本语言等等。主存储器565通常是基于半导体的存储器,诸如,动态随机存取存储器(DRAM)和/或静态随机存取存储器(SRAM)。例如,其他基于半导体的存储器类型包括同步动态随机存取存储器(SDRAM)、Rambus动态随机存取存储器(RDRAM)、铁电随机存取存储器(FRAM)等等,包括只读存储器(ROM)。
辅助存储器570可任选地包括内部介质575和/或可移动介质580,例如,软盘驱动器、磁盘驱动器、光盘(CD)驱动器、数字多功能盘(DVD)驱动器、其他光驱、闪存驱动器、微型SD等。可移动介质580采用已知的方式读取和/或写入。例如,可移动介质580可以是软盘、磁带、CD、DVD、SD卡、拇指驱动器等。
可移动介质580是存储有计算机可执行代码(即,软件)和/或数据的非暂时计算机可读介质。存储在可移动介质580上的计算机软件或数据被读取到系统550中,以便由处理器560执行。
在替代实施方案中,辅助存储器570可以包括用于使得计算机程序或者其他数据或指令能够加载到系统550中的其他类似构件。例如,此类构件可以包括外部介质595和通信接口590。外部介质595的实例可以包括外部硬盘驱动器或外部光驱,或和外部磁光驱。
辅助存储器570的其他实例可以包括基于半导体的存储器,诸如,可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除只读存储器(EEPROM)或者闪存(类似于EEPROM的面向块的存储器)。还包括任何其他可移动介质580和通信接口590,从而允许软件和数据从外部介质595传输到系统550。
系统550可以包括通信接口590。通信接口590允许软件和数据在系统550与外部装置(例如,打印机)、网络或信息源之间传输。例如,计算机软件或可执行代码可以经由通信接口590从网络或云服务器传输到系统550。通信接口590的实例包括内置式网络适配器、网络接口卡(NIC)、个人计算机存储卡国际协会(PCMCIA)网卡、插件总线网络适配器、无线网络适配器、通用串行总线(USB)网络适配器、调制解调器、网络接口卡(NIC)、无线数据卡、通信端口、红外接口、IEEE 1394火线,或者能够将系统550与网络或另一计算装置对接的任何其他装置。
通信接口590优选实施工业颁布的协议标准,诸如,以太网IEEE 802标准、光纤通道、数字用户线(DSL)、异步数字用户线(ADSL)、帧中继、异步传输模式、综合数字服务网(ISDN)、个人通信服务(PCS)、传输控制协议/互联网协议(TCP/IP)、串行线路互联网协议/点对点协议(SLIP/PPP)等等,但也可以实施自定义或非标准接口协议。
经由通信接口590传输的软件和数据一般采用电通信信号605的形式。这些电通信信号605优选经由通信通道600提供到通信接口590。在一个实施方案中,通信通道600可以是有线或无线网络,或者任何多种其他通信链路。通信通道600携载电通信信号605,并且可以使用多种有线或无线通信构件进行实施,包括导线或线缆、光纤、常规电话线、蜂窝电话链路、无线数据通信链路、射频(“RF”)链路或者红外链路,这里仅举一些。
计算机可执行代码(即,计算机程序或软件,诸如,所公开的应用)存储在主存储器565和/或辅助存储器570中。计算机程序也可以经由通信接口590接收并且存储在主存储器565和/或辅助存储器570中。此类计算机程序在执行时使得系统550能够执行如先前所述的本发明的各种功能。
在本说明中,术语“计算机可读介质”、“存储介质”和“介质”用来指代用于将计算机可执行代码(例如,软件和计算机程序)提供到系统550的任何非暂时计算机可读存储介质。这些介质的实例包括主存储器565、辅助存储器570(包括内部介质575、可移动介质580和外部介质595)以及以通信方式与通信接口590耦接的任何外围装置(包括网络信息服务器或其他网络装置)。这些非暂时计算机可读介质是用于将可执行代码、编程指令和软件提供到系统550的构件。
在使用软件实施的实施方案中,通过可移动介质580、I/O接口585或通信接口590,软件可以存储在计算机可读介质上并且加载到系统550中。在此类实施方案中,软件采用电通信信号605的形式加载到系统550中。软件在由处理器560执行时优选导致处理器560执行本文中先前描述的本发明特征和功能。
在实施方案中,I/O接口585在系统550的一个或多个部件与一个或多个输入和/或输出装置之间提供接口。示例输出装置包括,但不限于,键盘、触摸屏或其他触敏装置、生物传感装置、计算机鼠标、跟踪球、基于笔的指向装置等等。输出装置的实例包括,但不限于,阴极射线管(CRT)、等离子显示器、发光二极管(LED)显示器、液晶显示器(LCD)、打印机、真空荧光显示器(VFD)、表面传导电子发射显示器(SED)、场发射显示器(FED)等等。
系统550还包括促进通过语音和通过数据网络的无线通信的任选无线通信部件。无线通信部件包括天线610、无线电615以及基带620。在系统550中,射频(RF)信号在无线电615的管理下由天线610在空中传输和接收。
在一个实施方案中,天线610可以包括一个或多个天线以及一个或多个多路复用器(未示出),所述多路复用器执行切换功能以便为天线610提供传输和接收信号路径。在接收路径中,接收到的RF信号可以从多路复用器耦接到低噪声放大器(未示出),所述低噪声放大器对接收到的RF信号进行放大并且将放大的信号发送到无线电615。
在替代实施方案中,无线电615可以包括被配置成通过各种频率和协议通信的一个或多个无线电。在一个实施方案中,无线电615可以将解调器(未示出)和调制器(未示出)组合在一个集成电路(IC)中。解调器和调制器也可以是单独的部件。在进入路径中,解调器除去RF载波信号而留下基带接收音频信号,所述基带接收音频信号从无线电615发送到基带620。
如果接收到的信号包含音频信息,那么基带620对信号进行解码,并且将它转换成模拟信号。随后,对信号进行放大并且发送到扬声器。基带620也接收来自麦克风的模拟音频信号。这些模拟音频信号被转换成数字信号并且被基带620编码。基带620也对用于传输的数字信号进行编码,并且生成基带传输音频信号,该信号被路由到无线电615的调制器部分。调制器将基带传输音频信号与RF载波信号进行混合,从而生成RF传输信号,该信号被路由到天线并且可以穿过功率放大器(未示出)。功率放大器对RF传输信号进行放大,并且将其路由到天线610,其中将信号切换到天线端口,以用于传输。
基带620也以通信方式与处理器560耦接。处理器560可以访问主存储器565和辅助存储器570。处理器560优选被配置成执行可存储在主存储器565或辅助存储器570中的指令(即,计算机程序或软件)。计算机程序也可以从基带620接收并且存储在主存储器565或辅助存储器570中,或者在接收之后就执行。此类计算机程序在执行时使得系统550能够执行如先前所述的本发明的各种功能。例如,主存储器565可以包括各种软件模块(未示出)。
例如,也可以使用诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)的部件主要在硬件中实施各个实施方案。相关领域的技术人员也将明白能够执行本文所述的功能的硬件状态机的实施。各个实施方案也可以使用硬件和软件的组合来实施。
此外,所属领域的技术人员将了解,结合上述附图和本文中公开的实施方案描述的各种说明性逻辑块、模块、电路和方法步骤通常可以实施为电子硬件、计算机软件或者这两个的组合。为了清楚地说明硬件和软件的这种互换性,上文大体就其功能描述了各种说明性部件、块、模块、电路和步骤。此类功能是实施为硬件还是软件,取决于整个系统上实施的特定应用和设计限制。针对每个特定的应用,技术人员可以用不同的方式实施所述功能,但此类实施决策不应被解释为导致脱离本发明的范围。此外,模块、块、电路或步骤内的功能分组是为了便于描述。在不脱离本发明的情况下,具体功能或步骤可以从一个模块、块或电路移动到另一个。
此外,通过被设计用于执行本文所述功能的通用处理器、数字信号处理器(DSP)、ASIC、FPGA或其他可编程逻辑装置、离散门或晶体管逻辑、离散硬件部件或者它们的任意组合,可以实施或执行结合本文中公开的实施方案描述的各种说明性逻辑块、模块、功能和方法。通用处理器可以是微处理器,但在替代方案中,所述处理器可以是任何处理器、控制器、微控制器或者状态机。处理器还可以实现为计算装置的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP内核的结合,或者任何其他此类配置。
此外,结合本文中公开的实施方案描述的方法或算法的步骤可以直接体现在硬件、由处理器执行的软件模块或者这两个的组合中。软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或者包括网络存储介质的任何其他形式的存储介质中。示例性存储介质可以耦接到处理器,从而使得处理器可以从存储介质中读取信息并将信息写入该存储介质。在替代方案中,存储介质可以与处理器成为整体。处理器和存储介质也可以存在于ASIC中。
本文所述的软件部件中的任一个可以采用多种形式。例如,部件可以是独立的软件包,或者它可以是并入为较大软件产品中的“工具”的软件包。它可以从网络,例如,网站下载作为独立的产品或插件包,以用于安装在现有的软件应用中。它也可以用作客户端-服务器软件应用、支持网络功能的软件应用和/或移动应用。
提供了所公开的实施方案的上述描述,以使得所属领域的任何技术人员能够实现或使用本发明。对于所属领域的技术人员而言,这些实施方案的各种更改将是明显的,并且在不脱离本发明的精神或范围的情况下,本文中描述的一般原理可以应用于其他实施方案。因此,应理解,本文中呈现的描述和附图表示本发明当前优选的实施方案,并且因此表示本发明广泛预期的主题。应进一步理解,本发明的范围完全涵盖所属领域的技术人员可以明白的其他实施方案,并且本发明的范围相应地不受到限制。
Claims (14)
1.一种用于管理网关的系统,其包括:
至少一个硬件处理器;以及
存储器,其存储一个或多个软件模块,所述一个或多个软件模块在被所述至少一个硬件处理器执行时,
生成虚拟网关,所述虚拟网关包括存储在至少一个远程物理网关上的一个或多个活动脚本中的每个的表示,其中所述至少一个远程物理网关以通信方式与一个或多个外部装置连接,并且其中存储在所述至少一个远程物理网关上并表示在所述虚拟网关中的所述一个或多个活动脚本被配置为监测或控制所述一个或多个外部装置;
提供至少一个用户接口,以用于编辑所述虚拟网关中表示的所述一个或多个活动脚本中的每个;
通过至少一个网络来自动维持所述虚拟网关中表示的所述一个或多个活动脚本与存储在所述至少一个远程物理网关上的所述一个或多个活动脚本之间的同步;
检测所述至少一个远程物理网关的故障;以及
响应于所述至少一个远程物理网关的所述故障,代替存储在所述至少一个远程物理网关上的所述一个或多个活动脚本,在本地执行在服务器处的所述虚拟网关中表示的所述一个或多个活动脚本,以监测或控制所述一个或多个外部装置。
2.根据权利要求1所述的系统,其中所述虚拟网关进一步包括存储在所述至少一个远程物理网关上的一个或多个活动驱动器中的每个的表示,并且其中所述一个或多个软件模块进一步:
提供至少一个用户接口,以用于编辑所述虚拟网关中表示的所述一个或多个活动驱动器中的每个;以及
通过所述至少一个网络来自动维持所述虚拟网关中表示的所述一个或多个活动驱动器与存储在所述至少一个远程物理网关上的所述一个或多个活动驱动器之间的同步。
3.根据权利要求1所述的系统,其中所述至少一个远程物理网关包括与所述虚拟网关相关联的多个远程物理网关,并且其中所述一个或多个软件模块进一步通过所述至少一个网络来自动维持所述虚拟网关中表示的所述一个或多个活动脚本与存储在所述多个远程物理网关中的每个上的所述一个或多个活动脚本之间的同步。
4.根据权利要求1所述的系统,其中所述虚拟网关进一步包括没有与存储在所述至少一个远程物理网关上的任何脚本同步的一个或多个不活动脚本中的每个的表示。
5.根据权利要求1所述的系统,其中存储在所述至少一个远程物理网关上并且表示在所述虚拟网关中的所述一个或多个活动脚本中的至少一个包括一个或多个通配符,并且其中所述一个或多个通配符中的每个引用用于所述一个或多个外部装置中的至少一个的通用标识符。
6.根据权利要求5所述的系统,其进一步包括所述至少一个远程物理网关,其中所述至少一个远程物理网关包括至少一个模块,所述至少一个模块被配置成通过针对所述至少一个活动脚本中的所述一个或多个通配符中的每个进行下列操作来对所述至少一个活动脚本解引用:
识别具有匹配所述通配符的装置标识符的所述一个或多个外部装置中的至少一个;以及
用识别的至少一个外部装置的所述装置标识符来替换所述通配符。
7.根据权利要求1所述的系统,其进一步包括所述至少一个远程物理网关,其中所述至少一个远程物理网关包括:
编译器,所述编译器被配置成将所述一个或多个活动脚本编译成一个或多个虚拟机代码;以及
虚拟机,所述虚拟机被配置成执行所述一个或多个虚拟机代码。
8.一种用于管理网关的方法,所述方法包括使用至少一个硬件处理器以便:
生成虚拟网关,所述虚拟网关包括存储在至少一个远程物理网关上的一个或多个活动脚本中的每个的表示,其中存储在所述至少一个远程物理网关上的所述一个或多个活动脚本被配置为监测或控制与所述至少一个远程物理网关通信连接的一个或多个外部装置;
提供至少一个用户接口,以用于编辑所述虚拟网关中表示的所述一个或多个活动脚本中的每个;
通过至少一个网络来自动维持所述虚拟网关中表示的所述一个或多个活动脚本与存储在所述至少一个远程物理网关上的所述一个或多个活动脚本之间的同步;
检测所述至少一个远程物理网关的故障;以及
响应于所述至少一个远程物理网关的所述故障,代替存储在所述至少一个远程物理网关上的所述一个或多个活动脚本,在本地执行在服务器处的所述虚拟网关中表示的所述一个或多个活动脚本,以监测或控制与所述至少一个远程物理网关通信连接的所述一个或多个外部装置。
9.根据权利要求8所述的方法,其中所述虚拟网关进一步包括存储在所述至少一个远程物理网关上的一个或多个活动驱动器中的每个的表示,并且其中所述方法进一步包括使用所述至少一个硬件处理器以便:
提供至少一个用户接口,以用于编辑所述虚拟网关中表示的所述一个或多个活动驱动器中的每个;以及
通过所述至少一个网络来自动维持所述虚拟网关中表示的所述一个或多个活动驱动器与存储在所述至少一个远程物理网关上的所述一个或多个活动驱动器之间的同步。
10.根据权利要求8所述的方法,其中所述至少一个远程物理网关包括与所述虚拟网关相关联的多个远程物理网关,并且其中所述方法包括使用所述至少一个硬件处理器以便通过所述至少一个网络来自动维持所述虚拟网关中表示的所述一个或多个活动脚本与存储在所述多个远程物理网关中的每个上的所述一个或多个活动脚本之间的同步。
11.根据权利要求8所述的方法,其中所述虚拟网关进一步包括没有与存储在所述至少一个远程物理网关上的任何脚本同步的一个或多个不活动脚本中的每个的表示。
12.根据权利要求8所述的方法,其中存储在所述至少一个远程物理网关上并且表示在所述虚拟网关中的所述一个或多个活动脚本中的至少一个包括一个或多个通配符,并且其中所述一个或多个通配符中的每个引用用于所述一个或多个外部装置中的至少一个的通用标识符。
13.一种存储有指令的非暂时计算机可读介质,其中所述指令在被处理器执行时导致所述处理器:
生成虚拟网关,所述虚拟网关包括存储在至少一个远程物理网关上的一个或多个活动脚本中的每个的表示,其中存储在所述至少一个远程物理网关上的所述一个或多个活动脚本被配置为监测或控制与所述至少一个远程物理网关通信连接的一个或多个外部装置;
提供至少一个用户接口,以用于编辑所述虚拟网关中表示的所述一个或多个活动脚本中的每个;以及
通过至少一个网络来自动维持所述虚拟网关中表示的所述一个或多个活动脚本与存储在所述至少一个远程物理网关上的所述一个或多个活动脚本之间的同步;
检测所述至少一个远程物理网关的故障;以及
响应于所述至少一个远程物理网关的所述故障,代替存储在所述至少一个远程物理网关上的所述一个或多个活动脚本,在本地执行在服务器处的所述虚拟网关中表示的所述一个或多个活动脚本,以监测或控制与所述至少一个远程物理网关通信连接的所述一个或多个外部装置。
14.根据权利要求13所述的非暂时计算机可读介质,其中存储在所述至少一个远程物理网关上并且表示在所述虚拟网关中的所述一个或多个活动脚本中的至少一个包括一个或多个通配符,并且其中所述一个或多个通配符中的每个引用用于所述一个或多个外部装置中的至少一个的通用标识符。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461952655P | 2014-03-13 | 2014-03-13 | |
US61/952,655 | 2014-03-13 | ||
PCT/US2015/020227 WO2015138756A1 (en) | 2014-03-13 | 2015-03-12 | Gateway management using virtual gateways and wildcards |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106031092A CN106031092A (zh) | 2016-10-12 |
CN106031092B true CN106031092B (zh) | 2019-08-30 |
Family
ID=54070312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580008489.XA Active CN106031092B (zh) | 2014-03-13 | 2015-03-12 | 用于管理网关的系统、方法和介质 |
Country Status (5)
Country | Link |
---|---|
US (3) | US9888072B2 (zh) |
EP (1) | EP3117564B1 (zh) |
CN (1) | CN106031092B (zh) |
CA (1) | CA2941122C (zh) |
WO (1) | WO2015138756A1 (zh) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015138756A1 (en) | 2014-03-13 | 2015-09-17 | Systech Corporation | Gateway management using virtual gateways and wildcards |
US10929907B1 (en) * | 2014-04-25 | 2021-02-23 | PetroCloud LLC | Automation platform for the internet of things |
US10149141B1 (en) | 2014-05-13 | 2018-12-04 | Senseware, Inc. | System, method and apparatus for building operations management |
US9813489B1 (en) | 2014-05-13 | 2017-11-07 | Senseware, Inc. | System, method and apparatus for enabling a shared infrastructure |
US10687231B1 (en) | 2014-05-13 | 2020-06-16 | Senseware, Inc. | System, method and apparatus for presentation of sensor information to a building control system |
US9876653B1 (en) * | 2014-05-13 | 2018-01-23 | Senseware, Inc. | System, method and apparatus for augmenting a building control system domain |
EP3570502B1 (en) * | 2015-01-02 | 2021-08-04 | Systech Corporation | Control infrastructure |
JP2016212656A (ja) * | 2015-05-11 | 2016-12-15 | キヤノン株式会社 | 情報処理装置、端末、情報処理装置と端末を有するシステム、情報処理方法及びプログラム |
US10484512B2 (en) | 2015-08-31 | 2019-11-19 | Ayla Networks, Inc. | Management of multi-radio gateway device using virtual gateway device |
US10404832B2 (en) * | 2015-08-31 | 2019-09-03 | Ayla Networks, Inc. | Management of gateway device using virtual gateway device |
KR101895254B1 (ko) * | 2016-01-11 | 2018-09-07 | (주)인더스웰 | 상황인지 기반 헬스케어 디바이스의 정보 전송장치 |
US10534746B2 (en) * | 2016-05-09 | 2020-01-14 | Droplit, Inc. | System and method for defining machine-to-machine communicating devices and defining and distributing computational tasks among same |
US10264066B2 (en) | 2016-05-10 | 2019-04-16 | Sap Portals Israel Ltd | Peer-to-peer data sharing between internet-of-things platforms |
US10178638B1 (en) * | 2016-07-29 | 2019-01-08 | Senseware, Inc. | System, method and apparatus for sensor control applications |
US10397303B1 (en) * | 2016-08-29 | 2019-08-27 | Amazon Technologies, Inc. | Semantic annotation and translations for devices |
US11089608B2 (en) * | 2016-09-01 | 2021-08-10 | Ikabit, Inc. | System and method for wireless communication |
US10650621B1 (en) | 2016-09-13 | 2020-05-12 | Iocurrents, Inc. | Interfacing with a vehicular controller area network |
US10372403B2 (en) * | 2016-09-15 | 2019-08-06 | Dell Products L.P. | Multi-user display collaboration system |
WO2018097572A1 (ko) * | 2016-11-23 | 2018-05-31 | 부산대학교 산학협력단 | 사물인터넷 자원 관리 시스템 및 방법 |
EP3334098B1 (en) * | 2016-12-08 | 2021-07-21 | Siemens Schweiz AG | Method, communication web service, web server, and client for providing network communication service between ip devices via the internet |
US10917706B2 (en) | 2016-12-15 | 2021-02-09 | Microsoft Technology Licensing, Llc | Configurable IoT device data collection |
US11039225B2 (en) * | 2016-12-15 | 2021-06-15 | Microsoft Technology Licensing, Llc | Declarative IoT data control |
TWI624185B (zh) * | 2016-12-29 | 2018-05-11 | Chunghwa Telecom Co Ltd | Wireless network service inspection system and its detection method |
CN108737454B (zh) * | 2017-04-13 | 2020-11-06 | 上海诺基亚贝尔股份有限公司 | 用于在虚拟网关服务器间进行信息同步的方法和设备 |
US10528293B2 (en) | 2017-06-26 | 2020-01-07 | International Business Machines Corporation | Grouping devices as a virtual device for providing better quality of device data |
JP6970578B2 (ja) * | 2017-10-02 | 2021-11-24 | キヤノン株式会社 | 通信装置およびその制御方法、プログラム |
US10621313B2 (en) * | 2017-10-04 | 2020-04-14 | Servicenow, Inc. | Distribution and enforcement of per-feature-set software application licensing |
US10684881B2 (en) | 2017-11-07 | 2020-06-16 | International Business Machines Corporation | Batch processing of computing elements to conditionally delete virtual machine(s) |
KR102071315B1 (ko) * | 2017-12-05 | 2020-01-30 | 서울대학교산학협력단 | 서비스 지향 사물 인터넷 플랫폼 및 그 제어 방법 |
US11044007B2 (en) * | 2018-10-10 | 2021-06-22 | Hughes Network Systems, Llc | System and apparatus for disaster backup gateway for a multi-gateway spot beam satellite |
US11528185B1 (en) * | 2018-12-05 | 2022-12-13 | Meta Platforms, Inc. | Automated network device provisioning |
CN110784359B (zh) * | 2019-10-31 | 2022-06-21 | 四川天邑康和通信股份有限公司 | 一种家庭网关语音状态的一键诊断方法 |
EP4238286A1 (en) * | 2020-10-30 | 2023-09-06 | Hitachi Vantara LLC | A failover mechanism for iot gateway |
CN113282374B (zh) * | 2021-06-25 | 2023-04-07 | 马上消费金融股份有限公司 | 一种服务器控制方法、装置及系统 |
CN115174433A (zh) * | 2022-07-07 | 2022-10-11 | 东软睿驰汽车技术(大连)有限公司 | 多终端接入网关的模拟方法、模拟装置和模拟系统 |
CN116545799B (zh) * | 2022-12-19 | 2024-01-30 | 南京群顶科技股份有限公司 | 支持可自定义规则的虚拟通讯点表的逻辑网关控制方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8108855B2 (en) * | 2007-01-02 | 2012-01-31 | International Business Machines Corporation | Method and apparatus for deploying a set of virtual software resource templates to a set of nodes |
EP2528302A1 (en) * | 2011-05-26 | 2012-11-28 | Digi International Inc. | Cloud enabled virtual gateway |
CN103312605A (zh) * | 2013-05-29 | 2013-09-18 | 华为技术有限公司 | 一种网关设备身份设置的方法及管理网关设备 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7466710B1 (en) * | 2001-08-24 | 2008-12-16 | Cisco Technology, Inc. | Managing packet voice networks using a virtual entity approach |
US7631084B2 (en) | 2001-11-02 | 2009-12-08 | Juniper Networks, Inc. | Method and system for providing secure access to private networks with client redirection |
US7958505B2 (en) | 2003-06-20 | 2011-06-07 | Ericsson Television, Inc | Systems and methods for distributing software for a host device in a cable system |
US8776050B2 (en) * | 2003-08-20 | 2014-07-08 | Oracle International Corporation | Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes |
US20070118609A1 (en) * | 2005-11-23 | 2007-05-24 | France Telecom | Distributed computing architecture and associated method of providing a portable user environment |
US20070239893A1 (en) | 2006-04-10 | 2007-10-11 | Sbc Knowledge Ventures, L.P. | Method for allocating ports in a communication network |
US8266472B2 (en) | 2006-05-03 | 2012-09-11 | Cisco Technology, Inc. | Method and system to provide high availability of shared data |
US8832179B2 (en) | 2006-06-20 | 2014-09-09 | Ianywhere Solutions, Inc. | Method, system, and computer program product for a relay server |
US8949369B2 (en) | 2007-06-12 | 2015-02-03 | Ux Ltd. | Two-tier architecture for remote access service |
US20090064279A1 (en) | 2007-09-05 | 2009-03-05 | Anthony Andrew Ardolino | System for secure remote access and control of computers |
JP4852502B2 (ja) | 2007-09-12 | 2012-01-11 | 株式会社日立製作所 | アクセスサーバ及び接続制限方法 |
US8266688B2 (en) | 2007-10-19 | 2012-09-11 | Citrix Systems, Inc. | Systems and methods for enhancing security by selectively opening a listening port when an incoming connection is expected |
US20090177996A1 (en) | 2008-01-09 | 2009-07-09 | Hunt Dorian J | Method and system for rendering and delivering network content |
US8478902B1 (en) * | 2012-02-06 | 2013-07-02 | Skytap | Virtual gateway router |
US8848508B2 (en) | 2009-11-16 | 2014-09-30 | Cisco Technology, Inc. | Method for the provision of gateway anycast virtual MAC reachability in extended subnets |
US9274825B2 (en) | 2011-08-16 | 2016-03-01 | Microsoft Technology Licensing, Llc | Virtualization gateway between virtualized and non-virtualized networks |
US8923296B2 (en) * | 2012-02-23 | 2014-12-30 | Big Switch Networks, Inc. | System and methods for managing network packet forwarding with a controller |
WO2015138756A1 (en) * | 2014-03-13 | 2015-09-17 | Systech Corporation | Gateway management using virtual gateways and wildcards |
-
2015
- 2015-03-12 WO PCT/US2015/020227 patent/WO2015138756A1/en active Application Filing
- 2015-03-12 EP EP15760844.9A patent/EP3117564B1/en active Active
- 2015-03-12 US US14/656,497 patent/US9888072B2/en active Active
- 2015-03-12 CN CN201580008489.XA patent/CN106031092B/zh active Active
- 2015-03-12 CA CA2941122A patent/CA2941122C/en active Active
-
2018
- 2018-02-02 US US15/887,899 patent/US10250680B2/en active Active
-
2019
- 2019-02-11 US US16/272,801 patent/US10652328B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8108855B2 (en) * | 2007-01-02 | 2012-01-31 | International Business Machines Corporation | Method and apparatus for deploying a set of virtual software resource templates to a set of nodes |
EP2528302A1 (en) * | 2011-05-26 | 2012-11-28 | Digi International Inc. | Cloud enabled virtual gateway |
CN103312605A (zh) * | 2013-05-29 | 2013-09-18 | 华为技术有限公司 | 一种网关设备身份设置的方法及管理网关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN106031092A (zh) | 2016-10-12 |
US20190173945A1 (en) | 2019-06-06 |
US10652328B2 (en) | 2020-05-12 |
EP3117564A4 (en) | 2017-11-01 |
EP3117564B1 (en) | 2019-09-04 |
WO2015138756A1 (en) | 2015-09-17 |
US9888072B2 (en) | 2018-02-06 |
EP3117564A1 (en) | 2017-01-18 |
US20150264138A1 (en) | 2015-09-17 |
CA2941122C (en) | 2021-09-07 |
US20180159930A1 (en) | 2018-06-07 |
CA2941122A1 (en) | 2015-09-17 |
US10250680B2 (en) | 2019-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106031092B (zh) | 用于管理网关的系统、方法和介质 | |
CN109587018B (zh) | 设备配置的方法、装置、网络系统以及移动终端 | |
US10474116B2 (en) | Device synchronization and testing | |
CN108139744A (zh) | 用于调试断开连接的过程控制回路的部分的设备参数的自动分发 | |
CN105683845A (zh) | 用于装置检测和app配置的系统和方法 | |
CN107942957A (zh) | 用于调试过程控制硬件的方法和系统 | |
CN106538042A (zh) | 订户标识模块管理方法和支持该方法的电子设备 | |
CN109413515A (zh) | 设备控制方法、装置、移动终端及服务器 | |
US10320605B2 (en) | Rapid gateway swap | |
CN107003836A (zh) | 用于所连接的消费者设备的灵活设备模板 | |
CN107147711A (zh) | 应用服务更新方法及装置 | |
CN108027742A (zh) | 处理数字内容 | |
US20160352577A1 (en) | Multiple gateway virtualization | |
CN106897750A (zh) | 改进的物理访问控制系统 | |
JP2021152832A (ja) | 制御装置、制御システム、制御方法、および、プログラム | |
CN112862624A (zh) | 用于工厂资源管理的方法、系统和计算机程序产品 | |
CN105743741A (zh) | 智能家庭整合服务器 | |
CN107077326A (zh) | 用于所连接的消费者设备的注册框架 | |
CN117221139A (zh) | 基于云模拟设备的物联网交互方法、装置及存储介质 | |
CN116758658A (zh) | 一种智能锁信息监测系统及方法 | |
CN108140222A (zh) | 被配置为经域概念抽象提供对建筑物装置的访问的框架和方法 | |
RU2012151033A (ru) | Автоматизированная интеграция устройств | |
CN107957884A (zh) | 用于以电子方式获得针对电子装置的指令命令的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |