CN112912862A - 用于连接计算设备和基于云的服务的模块上的数据系统(DSoM) - Google Patents

用于连接计算设备和基于云的服务的模块上的数据系统(DSoM) Download PDF

Info

Publication number
CN112912862A
CN112912862A CN201980061857.5A CN201980061857A CN112912862A CN 112912862 A CN112912862 A CN 112912862A CN 201980061857 A CN201980061857 A CN 201980061857A CN 112912862 A CN112912862 A CN 112912862A
Authority
CN
China
Prior art keywords
communication
data objects
hub
array
devices
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.)
Pending
Application number
CN201980061857.5A
Other languages
English (en)
Inventor
雷蒙德·爱德华·奥齐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bruce Co
Original Assignee
Bruce Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bruce Co filed Critical Bruce Co
Publication of CN112912862A publication Critical patent/CN112912862A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Abstract

提供了一种通信集线器,该通信集线器被配置为通信地耦合到通信设备(例如模块上的数据系统(DSoM)/封装中的数据系统(DSiP))和基于云的服务。通信集线器可以被配置为将通信设备组织为一个或多个通信设备组,其中,通信设备通信地耦合到一个或多个计算设备。通信集线器可以被配置为将一个或多个路由与通信设备组相关联,其中,路由被配置为在通信设备和基于云的服务之间路由数据对象。通信集线器可以被配置为相对于计算设备异步地在通信设备和基于云的服务之间路由数据对象。本公开的实施例可以提供封装在通信设备上并与基于互联网的安全通信集线器集成的分布式复制的时空数据库。

Description

用于连接计算设备和基于云的服务的模块上的数据系统 (DSoM)
相关申请的交叉引用
本专利申请要求享有于2018年7月25日提交的序列号为62/703,054的美国临时申请以及于2019年2月20日提交的序列号为62/807,840的美国临时专利申请的优先权,其全部内容通过引用并入本申请。
背景技术
蜂窝通信行业对通信的观点主要由两个核心假设组成。首先,全球互操作性至关重要(比速度更重要),而法规和标准委员会是定义技术的方式。其次,客户将使用他们生产的任何产品,行业和政府将进行设计和构建,行业将永远使用计量蜂窝业务模型,并且客户将来也是如此。客户对技术或技术定义的参与为零,与开发人员的联系为零。
计算/IT行业对通信的观点通常由两个核心假设所控制:首先,创新者、建造者和行业是定义技术的方式。开发人员最了解,应该为强大的高端平台定义架构的前瞻性思维,而不是将精力过多地放在过去性能欠佳的平台上。其次,存在一个由不同的设备、协议和网络组成的世界,占主导地位的平台提供者的主要工作是创建通用抽象,该抽象将支持任何设备和任何应用程序,并将所有网络都视为公开提供流套接字的管道。
这两个行业都不完全接受这样一个事实,即以蜂窝为中心的大规模物联网(IoT)–数十亿个设备–两种观点都不可接受。AT命令和调制解调器模块的低级性质以及基于标准的限制以及定制协商的蜂窝协议可能过于复杂且无法扩展。此外,证书管理和连接到云所需的基于高级
Figure BDA0002985059680000011
的高级应用程序接口(API)的复杂性对于试图在功能强大、价格低廉的微控制器上完成极其简单的事情的嵌入式开发人员来说是不现实的。
发明内容
在一个示例实现中,提供了一种通信集线器,其被配置为通信地耦合到一个或多个通信设备和基于云的服务。通信集线器可以被配置为:将一个或多个通信设备组织成一个或多个通信设备组,其中,一个或多个通信设备通信地耦合到一个或多个计算设备。通信集线器可以被配置为:将一个或多个路由与一个或多个通信设备组相关联,其中,一个或多个路由被配置为在通信地耦合到一个或多个计算设备的一个或多个通信设备与基于云的服务之间路由一个或多个数据对象。通信集线器可以被配置为:相对于一个或多个计算设备,经由一个或多个路由在一个或多个通信设备和基于云的服务之间异步地路由一个或多个数据对象。
可以包括以下示例性特征中的一个或多个。通信集线器可以是软件即服务(SaaS)服务。通信集线器可以是服务器。一个或多个计算设备可以是微控制器。通信集线器可以包括一个或多个数据对象中的至少一个数据对象阵列。路由一个或多个数据对象包括将通信集线器的至少一个数据对象阵列的至少一部分与通信地耦合到一个或多个计算设备的一个或多个通信设备的至少一个对应的数据对象阵列的至少一部分同步。将通信集线器的至少一个数据对象阵列的至少一部分与一个或多个通信设备的至少一个对应的数据对象阵列的至少一部分同步可以包括使通信集线器的至少一个数据对象阵列的至少一部分与一个或多个通信设备的至少一个对应的数据对象阵列的至少一部分双向同步。将通信集线器的至少一个数据对象阵列的至少一部分与一个或多个通信设备的至少一个对应的数据对象阵列的至少一部分同步可以包括将通信集线器的至少一个数据对象阵列的至少一部分与一个或多个通信设备的至少一个对应的数据对象阵列的至少一部分同步。使通信集线器的至少一个数据对象阵列的至少一部分与一个或多个通信设备的至少一个对应的数据对象阵列的至少一部分同步可以包括使通信集线器的至少一个数据对象阵列的至少一部分与一个或多个通信设备的至少一个对应的数据对象阵列的至少一部分同步。通信集线器的至少一个数据对象阵列的至少一部分与一个或多个通信设备的至少一个对应的数据对象阵列的至少一部分的同步可以至少部分地基于与一个或多个数据对象阵列中的每一个相关联的数据对象扩展。一个或多个数据对象可以是Java脚本对象表示法(JSON)对象。路由一个或多个数据对象可以包括转换一个或多个JSON对象。一个或多个路由可以使得能够在通信集线器和基于云的服务之间传送一个或多个数据对象,并且可以包括一个或多个基于云的服务地址。组织一个或多个通信设备可以包括提供一种管理工具,该管理工具被配置为允许用户组织一个或多个通信设备组并将一个或多个路由与一个或多个通信设备组相关联。
在另一个示例实现中,提供了一种通信集线器,其被配置为通信地耦合到一个或多个通信设备和一个或多个基于云的服务。通信集线器可以被配置为:将一个或多个通信设备产品标识符与一个或多个通信集线器项目相关联,从一个或多个通信设备接收一个或多个传入通信会话,其中每个传入通信会话包括一个或多个通信设备的产品标识符,其中一个或多个通信设备通信地耦合到一个或多个计算设备,以及至少部分地基于与一个或多个通信设备建立的通信会话的产品标识符,提供一个或多个通信设备与一个或多个通信设备组进行通信,并路由至基于云的服务。
可以包括以下示例特征中的一个或多个。一个或多个通信集线器项目可以包括一个或多个通信设备组以及与一个或多个通信设备组相关联的一个或多个路由,该路由被配置为在一个或多个通信设备与一个或多个基于云的服务之间路由数据对象。提供一个或多个通信设备以与通信集线器本身以及一个或多个基于云的服务进行通信可以包括将一个或多个通信设备与一个或多个通信设备组相关联。一个或多个数据对象可以是Java脚本对象表示法(JSON)对象。通信集线器可以包括一个或多个数据对象中的至少一个数据对象阵列。路由一个或多个数据对象可以包括将通信集线器的至少一个数据对象阵列的至少一部分与通信地耦合到一个或多个计算设备的一个或多个通信设备的至少一个对应的数据对象阵列的至少一部分同步。
在另一个示例实现中,提供一种用于将计算设备与基于云的服务进行通信地耦合的通信系统。该通信系统可以包括:一个或多个计算设备通信地耦合到一个或多个通信设备,并且每个计算设备包括无线蜂窝收发器,以及通信集线器,其被配置为通信地耦合到一个或多个通信设备和基于云的服务。一个或多个通信设备中的每个通信设备可以被配置为以下一个或多个:将一个或多个数据对象从计算设备发送到基于云的服务,以及从基于云的服务接收一个或多个数据对象。将一个或多个数据对象从计算设备发送到基于云的服务可以包括从计算设备接收至少一个数据对象,至少部分地基于所接收的至少一个数据对象,修改存储在通信设备的存储器中的一个或多个数据对象的至少一个数据对象阵列,以及相对于计算设备,经由无线蜂窝收发器将修改的至少一个数据对象阵列的至少一部分异步地发送到基于云的服务。从基于云的服务接收一个或多个数据对象可以包括:相对于计算设备,经由无线蜂窝收发器从基于云的服务异步地接收至少一个数据对象阵列的至少一部分,至少部分地基于所接收的至少一个数据对象阵列的至少一部分,来修改存储在计算设备的存储器中的至少一个数据对象阵列的一个或多个数据对象,以及相对于通信设备与基于云的服务的通信,异步地使至少一个数据对象阵列中的一个或多个修改后的数据对象可用于计算设备。通信集线器可以被配置为:将一个或多个通信设备组织为一个或多个通信设备组,将一个或多个路由与一个或多个通信设备组相关联,其中,一个或多个路由被配置为在通信地耦合到一个或多个计算设备的一个或多个通信设备与基于云的服务之间路由一个或多个数据对象,以及相对于一个或多个计算设备,经由一个或多个路由在一个或多个通信设备和基于云的服务之间异步地路由一个或多个数据对象。
在附图和以下描述中阐述了一个或多个示例实施方式的细节。根据说明书、附图和权利要求书,其他可能的示例特征和/或可能的示例优点将变得显而易见。一些实施方式可能不具有那些可能的示例特征和/或可能的示例优势,并且这样的可能的示例特征和/或可能的示例优势不一定是某些实施方式所必需的。
附图说明
图1是根据本公开的一个或多个示例实施方式的通信系统的示例示意图;
图2至图4是根据本公开的一个或多个示例实施方式的通信地耦合到计算设备和无线蜂窝收发器的通信设备的示例示意图;
图5是根据本公开的一个或多个示例实施方式的具有一个或多个数据对象阵列的通信系统的示例示意图;
图6是根据本公开的一个或多个示例实施方式的在通信设备和通信集线器之间同步以定义分布式复制的时空数据库的数据对象阵列的数据对象的示例示意图;
图7是根据本公开的一个或多个示例实施方式的与通信集线器相关联的管理工具的示例示意图;
图8是根据本公开的一个或多个示例实施方式的具有一个或多个数据对象阵列的通信系统的示例示意图;
图9至图10是根据本公开的一个或多个示例实施方式的与通信集线器相关联的管理工具的示例示意图;以及
图11至图12是根据本公开的一个或多个示例实施方式的通信集线器的示意图。
在各个附图中,相似的附图标记指示相似的元件。
具体实施方式
如上所述,目前有两种不同的用于蜂窝通信的系统架构,两者都被广泛采用。两者都很复杂。例如,蜂窝通信行业的观点主要由两个核心假设组成。首先,全球互操作性至关重要(比速度更重要),而法规和标准委员会是定义技术的方式。其次,客户将使用他们生产的任何产品,行业和政府将进行设计和构建,行业将永远使用计量蜂窝业务模型,并且客户将来也是如此。客户对技术或技术定义的参与为零,与开发人员的联系为零。
计算/IT行业对通信的观点通常由两个核心假设所控制:首先,创新者、建造者和行业是定义技术的方式。开发人员最了解,应该为强大的高端平台定义架构的前瞻性思维,而不是将精力过多地放在过去性能欠佳的平台上。其次,存在一个由不同的设备、协议和网络组成的世界,占主导地位的平台提供者的主要工作是创建通用抽象,该抽象将支持任何设备和任何应用程序,并将所有网络都视为公开提供流套接字的管道。例如,没有关注64kbps蜂窝作为传输,也没有关注边缘的64KB微控制器。
这两个行业都不完全接受这样一个事实,即以蜂窝为中心的大规模物联网(IoT)–数十亿个设备–两种观点都不可接受。AT命令和调制解调器模块的低级性质以及基于标准的限制以及定制协商的蜂窝协议可能过于复杂且无法扩展此外,证书管理和连接到云所需的基于高级Linux/Windows的高级应用程序接口(API)的复杂性对于试图在功能强大、价格低廉的微控制器上完成极其简单的事情的嵌入式开发人员来说是不现实的。
如将在下面更详细地讨论的,本公开的实施例可以包括模块上的数据系统(DSoM)、封装中的数据系统(DSiP)或通信设备和/或被配置为将微控制器与基于云的服务进行通信地耦合的通信集线器。如下面将更详细描述的,本公开的实施例可以提供以下一个或多个特征:带有调制解调器/无线蜂窝收发器、预付费蜂窝模块、存储、IP和TLS堆栈、安全元件和密钥/证书、GPS和加速度计的模块上的数据系统(DSoM),其可提供连接,而无需处理SSID、密码、访问点、网关、载波(carriers)或SIM;通过硬件加密/密钥和加密的“非互联网”通信,在没有任何配置挑战的情况下实现安全性;电池供电(μA)蜂窝电话无需管理调制解调器、连接、队列或存储的复杂性;将数据直接路由到其所属位置的极其精简基础架构即服务(IaaS)(例如亚马逊网络服务(AWSTM),AzureTM,Google Cloud StorageTM或自定义云);几乎没有障碍,所有技能水平的障碍都很少。(AWS是Amazon.com,Inc.在美国和/或其他国家或地区的商标;Azure是Microsoft Corporation在美国和/或其他国家或地区的注册商标;以及Google Cloud Storage是Google LLC在美国和/或其他国家或地区的注册商标)。以这种方式并且将在下面更详细地讨论,本公开的实施例可以提供封装在安全通信模块上并与基于互联网的通信集线器集成的分布式复制的时空数据库。
参考图1的示例,并且在一些实施例中,通信系统(例如通信系统100)通常可以包括被配置为通信地耦合到计算设备(例如计算设备104)的通信设备(例如通信设备102),以及通信集线器(例如通信集线器106),其被配置为通信地耦合到基于云的服务(例如基于云的服务108)。如将在下面更详细地讨论的,可以将应用程序写在计算设备(例如计算设备104)上,可以将来自计算设备(例如计算设备104)的数据(例如数据对象110)格式化为与通信设备(例如通信设备102)进行通信,并向/从通信集线器(例如通信集线器106)传输。通信集线器(例如通信集线器106)可以向/从基于云的服务(例如基于云的服务108)或应用传送数据。在一些实施例中,用于配置计算设备(例如微控制器)以与基于云的服务通信的功率和存储管理、供应和安全性以及软件更新、无线频带和载波的管理、法规认证、商业模型等可以全部由通信设备和通信集线器来管理。
在一些实施例中,通信设备可以将计算设备与基于云的服务通信地耦合。在一些实施例中,计算设备可以包括微控制器。微控制器或“MCU”通常可以在运行产品的应用逻辑的单个集成电路上包括计算设备。MCU可以与供应商的软件开发工具包(SDK)或在最小的操作环境(例如FreeRTOS、
Figure BDA0002985059680000071
MbedTMIoT设备平台等)一起“裸露”运行。(Arm是ArmHoldings在美国和/或其他国家的注册商标)。在一些实施例中,即使MCU可以与高端组件(例如单板计算机)共享其硬件设计的许多方面,但是MCU也可能不运行
Figure BDA0002985059680000072
(例如任何基于Linux内核的操作系统)。(Linux是Linus Torvalds在美国和/或其他国家的注册商标)。如本领域中已知的,MCU通常可以包括一个或多个CPU核、存储器(例如RAM)、输入/输出外围设备等。
在一些实施例中,计算设备可以包括单板计算机或“SBC”。SBC通常可以包括基于Linux(或要求内存管理单元(MMU)的任何OS,例如
Figure BDA0002985059680000073
或AndroidTM)的计算机。(Microsoft和Windows是Microsoft Corporation在美国和/或其他国家或地区的注册商标)。然而,将理解,SBC可以使用和/或安装其他操作系统,包括但不限于:
Figure BDA0002985059680000074
Figure BDA0002985059680000075
OS
Figure BDA0002985059680000076
Red
Figure BDA0002985059680000077
Mobile,Chrome OS,Blackberry OS,Fire OS或自定义操作系统。(Mac和OS X是Apple Inc.在美国和/或其他国家或地区的注册商标;Red Hat是Red Hat Corporation在美国和/或其他国家或地区的注册商标)。
与从实体自己的本地服务器(例如客户的服务器)提供的服务相反,基于云的服务通常可以包括经由互联网从云计算提供商的服务器按需提供给用户的任何服务或应用程序。云服务的示例通常可以包括在线数据存储和备份解决方案、基于Web的电子邮件服务、托管办公室套件和文档协作服务、数据库处理、托管技术支持服务等。将意识到,任何基于云的服务可以在本公开的范围内使用。
在一些实施例中,通信设备可以通信地耦合到计算设备。如上所述,在一些实施例中,计算设备可以是微控制器。在一些实施例中,通信设备可以是模块上的数据系统(DSoM)或封装中的数据系统(DSip)。如本领域中已知的,DSoM通常可以包括将系统功能集成在单个模块中的板级电路,而DSiP通常可以包括封装在单个芯片载体封装中的许多集成电路。在一些实施例中,通信设备可以被配置为以省电的方式异步地在蜂窝计算上分级和管理客户的计算设备与基于云的服务之间的数据分组(例如数据对象)的安全通信。
在一些实施例中,通信设备可能不是应用处理器,因为它可能没有托管客户应用代码。在一些实施例中,通信设备可以是专注于两个核心任务的智能外围设备:1)数据对象的双向异步安全数据通信;2)外围设备的电源管理。
在一个示例中,可以使用紧凑的行业标准M.2 3030(NGFF)Key E形状因数(30平方毫米)封装通信设备,该设备被设计用于嵌入各种情况。在一些实施例中,M.2形状因数可以具有带有集成的SIM开关的嵌入式SIM(eSIM),从而使硬件设计人员可以根据需要使用软件可选的外部SIM。在一些实施例中,通信设备可以包括一个或多个处理器。例如,通信设备的请求处理器(例如STM32L4S5)可以与1.7-3.6V范围内的电路接口,并且插座可以独立于主电源电压向该处理器供电,以适应各种设计需求。尽管上面已经用操作电压的特定范围描述了示例形状因数和处理器,但是应当理解,在本公开的范围内可以使用其他形状因数、处理器和电压操作范围。
在一些实施例中,并且如将在下面更详细地描述的,可以使用通信设备的一个或多个处理器来实现通信设备的功能。
在一些实施例中,通信设备的主电源电压可以被称为“V+”,并且可以被用于无线蜂窝收发器(例如Quectel BG96调制解调器和相关的电路)。尽管已经讨论了示例无线蜂窝收发器,但是应当理解,在本公开的范围内,可以使用其他无线蜂窝收发器和/或调制解调器。在一些实施例中,通信设备的板载调节器可以被配置用于直接连接到例如LiPo电池,并且可以提供例如在2.5-5.5V范围内的任何电压。然而,将理解的是,在本公开的范围内,可以使用具有不同电压范围的其他电源(例如非电池电源、其他类型的电池、太阳能电源等)。
还参考图2的示例,并且在一些实施例中,通信设备可以被配置为经由串行链路通信地耦合到计算设备。以这种方式,通信设备102可以通过两条线耦合到计算设备104。例如,计算设备(例如MCU)可以具有使用串行链路(例如串行链路202)向通信设备发送请求的选项。在一些实施例中,串行链路(例如串行链路202)可以是通用异步接收器/发送器(UART)、通用串行总线(USB)、内部集成电路(I2C)、串行外围接口(SPI)、
Figure BDA0002985059680000091
控制器局域网(CAN)总线、外围组件互连高速(PCIe)或任何其他串行链路/协议中的一个或多个。在一些实施例中,通信设备(例如通信设备102)的串行端口可以是由计算设备(例如计算设备104)驱动的请求/响应。在一些实施例中,通信设备102可以通过配置通信设备102以充当I2C从属设备来通信地耦合到计算设备104。如本领域中已知的,I2C是具有被配置为与从属设备通信的控制器的标准双向接口。在一些实施例中,I2C可以提供用于在计算设备104和通信设备102之间通信的极低功率的接口。
在一个示例中,USB连接器可以作为UART替代被添加,并且可以允许通信设备与
Figure BDA0002985059680000092
主机一起使用。在一些实施例中,串行链路波特率可以是固定的或可变的。在一个示例中,可以通过使用以固定波特率(例如9600bps)操作的内部低功率UART来将波特率固定为实现极低的功耗。虽然已经提供了9600bps的示例,但是应当理解,在本公开的范围内可以使用任何波特率。
在一些实施例中,通信设备102可以支持具有固定波特率的主要串行链路和具有自动波特率检测的次级或辅助串行链路。在一些实施例中,可以通过将通信设备102的“AUXWAKE”引脚设置为高来启用该接口或链路。然而,将理解,可以以各种方式(例如按下按钮,将一个或多个引脚设置为高或低等)来实现启用次级串行链路。在具有USB接口的通信设备102的一些实施例中,可以使用D+/D-线在通信设备102和计算设备104之间传送数据。
在一些实施例中,通信设备可以包括无线蜂窝收发器。在一些实施例中,无线蜂窝收发器(例如无线蜂窝收发器204)可以是通信设备102的模块。无线蜂窝收发器通常可以包括用于无线广域电信的任何无线蜂窝收发器。示例可以包括但不限于LTE-M、LTE Cat M1、窄带物联网(NB-IoT)、LTE Cat NB1、3G、2G等。如本领域中已知的那样,LTE-M和NB-IoT是3GPP开发的低功率广域网(LPWAN)无线电技术标准类型,以实现广泛的蜂窝设备和服务(特别是用于机器对机器和物联网应用程序)。尽管已经提供了特定示例性蜂窝和无线电技术标准,但是应当理解,在本公开的范围内可以使用任何蜂窝通信标准。
在一些实施例中,无线蜂窝收发器204可以被配置为与无线蜂窝收发器天线(例如天线206)和/或被配置用于无线蜂窝通信的天线阵列通信地耦合。在一些实施例中,无线蜂窝收发器天线206可以包括一个或多个全向和/或定向天线。
在一些实施例中,通信设备102可以耦合到载板(例如载板210)。载板通常可以包括被配置为使通信设备(例如通信设备102)与其他计算设备(例如计算设备104)接口的电路。在一些实施例中,载板210可以实现针对特定用户的通信设备的快速集成。例如,某些载板(例如载板210)可以集中于经由用于快速试验板原型的插头引脚以例如3.3V逻辑来暴露功能。其他载板(例如载板210)可以具有由载体预先认证的一体式全向LTE天线(例如天线206)和全球导航卫星系统(GNSS)天线(例如天线208),并具有平坦的背部和齿形连接,以便可以在工业或大批量生产环境中将载板焊接到母板上。例如,一个载板(例如载板210)可以不包括内置的无线蜂窝收发器天线206和/或GNSS天线208。在另一个示例中,载板(例如载板210)可以包括无线蜂窝收发器天线和/或GNSS天线。将理解的是,在本公开的范围内,可以将各种载板用于不同的配置。
在一些实施例中,载板(例如载板210)可以包括微型USB连接器,该微型USB连接器被配置用于向通信设备提供电力并且用于将数据对象中继到基于云的服务。例如,通过简单地将此USB连接器插入另一个计算设备(例如Raspberry PiTM),用户可以在任何串行终端程序中键入命令。(Raspberry Pi是Raspberry Pi Foundation在美国和/或其他国家或地区的注册商标)。
在一些实施例中,载板(例如载板210)可以包括被配置为提供变化的电压的微动开关。例如,微动开关可同时启用3.3V和1.8V操作。尽管已经提供了示例电压,但是应当理解,在本公开的范围内可以使用任何电压。
再次参考图3的示例,并且在一些实施例中,通信设备102可以包括通信地耦合到无线蜂窝收发器和/或无线蜂窝调制解调器(例如无线蜂窝收发器204)的一个或多个处理器(例如处理器302)。尽管在图3中处理器302被示为与无线蜂窝收发器204分离,但是在一些实施例中,处理器302可以是无线蜂窝收发器204的集成处理器。或者,处理器302可以在物理上与无线收发器204分离。例如,并且在一些实施例中,处理器302可以被配置为经由串行链路304通信地耦合到无线蜂窝收发器204。在一些实施例中,无线蜂窝收发器204可以排他地“拥有”并且由通信设备102控制。例如并且如上所述,通信设备102的功耗可以至少部分地取决于无线蜂窝收发器204的占空比和广播行为。例如,尽管当无线蜂窝收发器处于活动状态时电流消耗通常可以在0-250mA范围内,但是在几毫秒内,当在需要使用GSM的区域中时,电流消耗可能会飙升至接近2A。这样,通信设备102的电压输入或“VIN”可以直接连接到能够产生这种短暂尖峰的电池或其他电源。
在一些实施例中,通信设备可以被配置为启用和禁用其无线蜂窝收发器的电源。在一个示例中,通信设备102包括与无线通信设备分离的处理器,如图3所示,通信设备102可以包括耦合到一个或多个引脚(例如“MDM-EN”引脚)的功率控制电路(例如功率控制电路306),该引脚被配置为选择性地启用和/或禁用无线蜂窝收发器204的功率输入(例如“VIN”)。以这种方式,通信设备102可以控制无线蜂窝收发器/调制解调器的功率以执行占空比管理。
在一些实施例中,通信设备可以被配置为启用和/或禁用计算设备的电源。如图4的示例所示,在某些实施例中,通信设备102可以包括功率控制电路402,其耦合到一个或多个引脚(例如“MCU-EN”引脚),该引脚被配置为选择性地启用计算设备104的电源输入(例如“VIN”引脚)。例如,通信设备的软件调度功能可以允许控制计算设备的占空比。在一些实施例中,计算设备和通信设备可以被配置为进入“深度睡眠”模式,而不需要通过计算设备104和通信设备102之间的链路404的周期性轮询。例如,当从基于云的服务接收到传入的跟踪数据并可供计算设备处理时,可以向计算设备104提供软件选项以表示用于跟踪的特定数据对象阵列,并且可以断言通信设备102的一个或多个引脚(例如“WAKE-OUT”引脚)。数据对象阵列可以是用户定义的和/或自动定义的(例如通过默认设置)。当从基于云的服务接收到数据时,该配置可以仅通过唤醒计算设备104来允许显着的功率节省。
在一些实施例中,通信设备102通常可以在睡眠状态下等待定时器和/或来自计算设备104的命令经过串行链路202。在一些实施例中,当计算设备104知道它将不向通信设备102发布任何命令时,计算设备104可以声明一个或多个引脚(例如“WAKE-IN”引脚)。在该配置中,串行链路202可以被禁用以节省更多电量。
在一些实施例中,通信设备可以被配置为从计算设备接收至少一个数据对象。数据对象通常可以包括配置为用于向计算设备往返传递信息的数据分组。在一些实施例中,并且如下面将更详细地讨论的,计算设备104可以提供不包含用于基于云的服务的数据但是可以用于配置通信设备102与基于云的服务108的连接的通信会话数据对象。再次参考图1的示例,并且在一些实施例中,计算设备104可以向通信设备102发送(例如经由串行链路202)至少一个数据对象。在一些实施例中,计算设备104可以包括一个或多个传感器,和/或被配置为生成要存储在基于云的服务中的数据的控件。
在一些实施例中,至少一个数据对象可以是Java脚本对象表示法(JSON)对象。如本领域中已知的,JSON是一种开放标准的文件格式,它使用人类可读的文本来传输由属性-值对和数组数据类型(或任何其他可序列化的值)组成的数据对象。在一些实施例中,JSON对象可以包括一个或多个JSON请求和/或一个或多个JSON响应。如下面将更详细地讨论的,由计算设备生成的数据可以作为包括数据对象的JSON请求被传输到通信设备以存储在基于云的服务中。例如,计算设备104可以被配置为将数据封装为具有一个或多个属性(例如创建数据对象的时间、创建数据对象的位置、创建数据对象的计算设备等)的可选有效载荷和可选主体的组合。有效载荷通常可以包括例如包含任意应用程序数据的基本64编码的JSON字符串(例如“payload”:”YWJHhLW0tLW0tLW0tLW0tLGt5eg==”)。主体通常可以包括包含任意基于应用程序/基于云的服务数据的JSON对象(例如“body”:{“temp”:34.2,”alert”:true,”particle”:{“mass”:[5.1,12.32],”count”]}})。尽管上面的示例包括JSON对象,但是应该理解,其他数据对象格式也是可能的,并且在本公开的范围之内。
在一些实施例中,通信设备102可以被配置为利用两个或更多个JSON请求将数据对象提供给基于云的服务。在一个示例中,可以仅利用两个JSON请求将数据对象提供给基于云的服务。例如,当计算设备104启动时,它可以通过其串行端口(例如经由串行链接202)向通信设备102发送JSON请求,以配置1)该计算设备的标识符,使得基于云的服务知道哪个计算设备正在提供数据;2)在将数据与其他暂存数据成批发送到基于云的服务之前,应允许数据保留在通信设备上的最长时间。下面显示了可以接收的这些JSON数据对象或命令的示例,其中示例计算设备配置为监视例如空气湿度:
setup()
serial.println{“req”:”service.set”,”product”:”com.acme.airmon”,”minutes”:60}
loop()
serial.println
{“req”:”note.add”,”file”:”air.qo”,”body”:{“temp”:72,”humid”:61}}
如上所述,无需进一步设置,“loop()”命令可允许计算设备发出简单的JSON命令以将JSON数据对象添加到存储在通信设备中的类似数据的集合(例如数据对象阵列)。在此示例中,“air.qo”中的“.qo”可以表示“出站队列”,而“air”可以是用户定义的名称。如上面的示例所示,在某些实施例中,数据对象的“主体”可以是完全自由格式的JSON,可以由基于云的服务解释而不受模式约束。尽管上面的示例讨论了在计算设备启动时从计算设备接收数据对象,但是应当理解,可以在计算设备操作的任何时候从计算设备接收数据对象。
在一些实施例中,数据对象可以被配置为提供关于计算设备、通信设备、通信集线器和/或基于云的服务的信息。例如,数据对象可以配置为请求和返回服务配置的环境变量、返回当前服务配置参数、显示通信设备是已连接、已断开还是处于中间状态、手动初始化数据对象的同步、显示有关最后一次同步、向服务管理员发送“实时”消息或从服务管理员发送“实时”消息等等。
还参考图5的示例,并且在一些实施例中,通信设备可以被配置为至少部分地基于接收到的至少一个数据对象来修改存储在通信设备的存储器中的一个或多个数据对象的至少一个数据对象阵列。数据对象阵列通常可以包括一个持久文件,其中包含当添加第一个数据对象时自动创建的数据对象阵列。因此,在一些实施例中,可以在通信设备102接收到数据对象时创建数据对象阵列。在一些实施例中,可以为数据对象阵列分配名称。这些名称可以是任意的和/或可以与数据对象阵列的数据对象(例如与特定传感器相关联的数据对象等)的生成相关联。如图5所示,一组数据对象阵列(例如一组数据对象阵列502)可以存储在通信设备102的存储器内。在一些实施例中,该组数据对象阵列可以包括至少一个数据对象阵列(例如数据对象阵列504、506、508)。在一些实施例中,至少一个数据对象阵列中的每一个可包括一个或多个数据对象(例如数据对象510、512、514、516、518、520、522、524、526)。如下面将更详细讨论的,通信集线器106可以类似地包括一组数据对象阵列(例如数据对象阵列528),其包括至少一个数据对象阵列(例如数据对象阵列530、532、534)。在该示例中,数据对象阵列530可以包括数据对象436、438、540;数据对象阵列532可以包括数据对象542、544、546;以及数据对象阵列534可以包括数据对象548、550、552。
在一些实施例中,数据对象阵列(例如数据对象110)可以包括确定数据对象的某些属性的数据对象扩展。例如,一个数据对象扩展名(例如“.db”)可以指示该数据对象是可以在基于云的服务和通信设备之间完全复制的数据库对象。在一些实施例中,数据库扩展可以通常用于维护配置和状态信息。在另一个示例中,数据对象扩展名(例如“.qo”)可以指示该数据对象是仅出站数据对象,其仅从通信设备102发送到通信集线器106。一旦这些数据对象被传送到通信集线器106,就可以将它们从通信设备102内的数据对象阵列中删除。在另一个示例中,数据对象扩展名(例如“.qi”)可以指示该数据对象是仅入站数据对象,其从通信集线器106发送到通信设备102。一旦这些数据对象被传送到通信设备102,就可以将它们从通信集线器106内的数据对象阵列中删除。尽管上面已经描述了几个示例性数据对象扩展,但是应当理解,在本公开的范围内,其他数据对象扩展也是可能的。
在一些实施例中,数据对象扩展的安全变体(例如“.dbs”、“.qos”、“.qis”)可以指示数据对象将被加密。在一些实施例中,数据对象通常可以在不加密的情况下被发送,以减少带宽。但是,对于更敏感的数据对象,这些安全的数据对象扩展可以确保在TLS加密的通信会话中传输数据对象。
再次参考图5的示例,在一些实施例中,数据对象阵列504可以包括数据对象(例如数据对象510、512、514),并且可以与双向扩展相关联。数据对象阵列506可以包括数据对象(例如数据对象516、518、520),并且可以与仅出站扩展相关联。在该示例中,数据对象阵列506可以是仅出站队列,其被配置为将数据对象516、518、520传输到通信集线器506并从数据对象阵列506中删除数据对象。在一些实施例中,数据对象阵列508可以是与具有仅入站扩展的数据对象(例如数据对象522、524、526)相关联。在该示例中,数据对象阵列508可以被配置为接收从通信集线器106发送并从通信集线器106的数据对象阵列删除的数据对象522、524、526。以这种方式,通信设备102可以是具有分布式复制的时空数据库的封装中的数据系统(DSiP),其可以与基于互联网的安全通信集线器106集成在一起。虽然提供了与特定数据对象扩展相关联的三个数据对象阵列的示例,应当理解,在本公开的范围内可以使用任何数量的数据对象阵列,和/或数据对象阵列不必限于数据对象扩展。例如,可以为各种计算设备传感器、数据对象的类型等定义数据对象阵列。
在一些实施例中,修改至少一个数据对象阵列可以包括添加、删除和改变数据对象阵列的数据对象中的一项或多项。例如,如果数据对象是新的数据对象,则修改至少一个数据对象阵列可以包括将新的数据对象添加到数据对象阵列。如果数据对象包括删除现有数据对象,则修改至少一个数据对象阵列可以包括从数据对象阵列删除数据对象。如果数据对象阵列中的数据对象被更新或改变,则修改至少一个数据对象阵列可以包括更新或改变数据对象。
在一些实施例中,可以使用附加的元数据将数据对象添加到存储在通信设备的存储器中的至少一个数据对象阵列中或在其中更新。例如,当使用例如“note.add”请求从计算设备104接收到数据对象时,如果可以从通信设备的硬件获得,则可以用例如时间和位置信息来自动扩充该数据对象。类似地,当接收到更新或更改现有数据对象的数据对象时,该数据对象可以自动添加例如时间和位置信息(如果可从通信设备的硬件获得)。将理解的是,在本公开的范围内,可以将其他元数据添加到数据对象。
在一些实施例中,通信设备可以被配置为相对于计算设备异步地经由无线蜂窝收发器将修改的至少一个数据对象阵列的至少一部分发送到基于云的服务。如本文所用,“相对于计算设备,异步地传输”可以包括独立于计算设备或独立于计算设备并且不涉及计算设备地传输数据。如上所述,从通信设备102传输至少一个数据对象阵列的至少一部分可以相对于计算设备104异步。在一些实施例中,当通信设备发送数据对象时,通信设备102对数据对象的异步传输可以允许计算设备104离线或“睡眠”。
例如,假设计算设备104被配置为以预定频率(例如每小时)向基于云的服务108提供数据对象(例如空气温度和湿度读数)。计算设备104可以以预定频率向通信设备102提供数据对象。然而,通信设备102可以被配置为相对于计算设备104异步地将数据对象(例如以对数据对象阵列的修改的形式)发送到通信集线器106。如上所述,通信设备102的发送可以是独立于计算设备104或独立于计算设备104且不涉及计算设备104。在该示例中,通信设备102可以以不同的预定频率(例如每天一次)发送数据对象。以这种方式,计算设备104可以以其预定频率提供数据对象(例如对数据对象阵列的数据对象的修改),而无需管理或控制通信设备102。以这种方式并且在一些实施例中,计算设备104能够容易地向通信设备104提供数据,并且通信设备102可以独立于计算设备104将数据发送到基于云的服务108。如下面将更详细地讨论的,通信设备104对数据对象的这种异步传输可以允许通信设备102提供数据对象,同时节省通信设备102和/或计算设备104的功率和/或不需要计算设备104的参与。
在一些实施例中,通信设备可以被配置为从计算设备接收通信策略。通信策略通常可以是用于通信设备的一个或多个通信会话标准,包括节省功率、节省网络带宽、保护数据对象以及相对于其他数据对象优先化某些数据对象中的一个或多个。例如,假设用户希望优先考虑节省计算设备和/或通信设备的功率以延长使用寿命。在该示例中,通信策略可以定义通信设备104多久发送或接收一次数据对象。如下面将更详细地讨论的,这可能影响无线蜂窝收发器204被(例如由通信设备102)供电的频率和/或GNSS或GPS天线被(例如由通信设备102)供电的频率。在另一个示例中,假设用户希望优先处理数据对象通信的安全性。在该示例中,并且如下面将更详细地讨论的,通信策略可以定义何时使用通信102的安全元件来压缩和/或加密数据对象。在另一示例中,假设用户希望用包括通信设备102的位置的元数据来标记数据对象(例如在具有变化位置的通信设备的示例中)。在该示例中,并且如下面将更详细地讨论的,通信策略可以定义何时用包括通信设备102在特定时间的位置的元数据标记数据对象。虽然已经讨论了通信优先级的三个示例,但是应当理解,其他优先级也是可能的,并且包括在本公开的范围内(例如通信的数据量、从某些传感器提供某些数据等)。
在一些实施例中,从计算设备102接收的至少一个数据对象可以定义通信策略。例如,在一些实施例中,数据对象可以包括配置为设置通信设备蜂窝连接的请求,如以下示例请求所示:
Figure BDA0002985059680000171
Figure BDA0002985059680000181
在一些实施例中,通信设备可以被配置为生成调度,该调度用于经由无线蜂窝收发器将数据对象阵列的至少一部分发送至基于云的服务和/或用于至少部分地基于从计算设备接收的通信策略,经由无线蜂窝收发器从基于云的服务接收数据对象的至少一部分。例如,通信设备102使用其自身的启发法,可以调度到通信集线器106的连接,在该处通信集线器106根据需要双向同步数据对象。如下面将更详细地讨论的,可以从通信设备存储器与通信集线器存储器之间的数据对象阵列暂存区中移动和/或复制数据对象。
在一个示例中,由于经由无线蜂窝收发器204的蜂窝通信可能需要相对大量的功率,因此通信设备102可以管理确定与蜂窝网络建立通信的时间和频率的调度。在该示例中,通信策略可以优先考虑节省功率,并且通信设备102可以管理调度以确定何时以及如何频繁地发送和/或接收数据对象/修改数据对象阵列。
还参考图6的示例,并且在一些实施例中,通信设备102可被配置为相对于计算设备104经由无线蜂窝收发器204异步地向通信集线器106发送一个或多个数据对象。如上所述,通信集线器106可类似地包括一组数据对象阵列(例如数据对象阵列528),其包括至少一个数据对象阵列(例如数据对象阵列530、532、534)。在该示例中,数据对象阵列530可以包括数据对象536、538、540;数据对象阵列532可以包括数据对象542、544、546;以及数据对象阵列534可以包括数据对象548、550、552。尽管已经讨论了三个数据对象阵列,但是应当理解,在本公开的范围内,可以在通信集线器106内存储任何数量的数据对象阵列。
在一些实施例中,通信设备102可以包括数据对象阵列504和数据对象阵列506,其中数据对象510和数据对象516相对于计算设备104可以分别异步地传输到通信集线器106。在该示例中,数据对象510可以是双向复制的数据对象,使得数据对象510在数据对象阵列530中被复制为数据对象536。另外,数据对象516可以是仅出站数据对象,使得当数据对象516被发送到通信集线器106的数据对象阵列532时,数据对象516可以作为数据对象542被存储在数据对象阵列532中,以及可以从数据对象阵列506中删除数据对象516(例如如数据对象516周围的虚线所示)。尽管已经描述了两个数据对象被发送到通信集线器106的示例,但是应当理解,可以将任何数量的数据对象和/或数据对象阵列(例如部分和/或整个数据对象阵列)发送给在本公开范围内的通信集线器106。
在一些实施例中,通信设备可以被配置为相对于计算设备异步地经由无线蜂窝收发器从基于云的服务接收至少一个数据对象阵列的至少一部分。如本文所用,“相对于计算设备,异步地,接收”可以包括独立于计算设备或独立于计算设备且不涉及计算设备接收数据。例如,假设通信集线器106被配置为以预定频率(例如每小时)提供天气数据。如下面将更详细讨论的,通信集线器106可以以预定频率向通信设备102(例如无线蜂窝收发器204)发送数据对象或向通信设备102(例如无线蜂窝收发器204)提供数据对象。然而,通信设备102可以被配置为相对于计算设备104异步地从通信集线器106接收数据对象。如上所述,通信设备102对数据对象的接收可以独立于计算设备104或独立于计算设备104,并且不涉及计算设备104。在该示例中,计算设备104可以以不同的预定频率(例如每天一次)从通信设备102接收数据对象。以这种方式,计算设备104可以以其预定频率接收数据对象,而无需管理或控制通信设备102。
在一些实施例中,计算设备104可以能够从通信设备104接收数据,并且通信设备102可以独立于计算设备104从基于云的服务108接收数据。如下面将更详细地讨论的,由通信设备104的该数据对象的异步接收/对数据对象阵列的修改可以允许通信设备102接收数据对象,同时节省通信设备102和/或计算设备104的功率和/或不需要计算设备104的参与。在一些实施例中,当通信设备接收数据对象时,通信设备102对数据对象的异步接收可以允许计算设备104离线或“睡眠”。如上所述,通信设备102可以向计算设备104提供信号以“唤醒”计算设备104,使得当接收到数据时,计算设备104可以向通信设备102请求数据。以这种方式,计算设备104可以不参与通信设备102对数据对象的接收。
在一些实施例中,通信设备102可以至少部分地基于所接收的至少一个数据对象阵列的至少一部分,来修改存储在计算设备的存储器中的至少一个数据对象阵列的一个或多个数据对象。在一些实施例中,修改至少一个数据对象阵列可以包括添加、删除和改变数据对象阵列的数据对象中的一项或多项。例如,如果数据对象是新的数据对象,则修改至少一个数据对象阵列可以包括将新的数据对象添加到数据对象阵列。如果数据对象包括删除现有数据对象,则修改至少一个数据对象阵列可以包括从数据对象阵列删除数据对象。如果数据对象阵列中的数据对象被更新或改变,则修改至少一个数据对象阵列可以包括更新或改变数据对象。
如上所述,在一些实施例中,数据对象可以在基于云的服务和计算设备之间双向通信。在一些实施例中,无线蜂窝收发器204可以从通信集线器106接收一个或多个数据对象,并且可以经由串行链路304将一个或多个接收的数据对象传送到通信设备102。如上面和在一些实施例中所讨论的,通信设备可以被配置为至少部分地基于所接收的至少一个数据对象阵列的至少一部分,来修改存储在计算设备的存储器中的至少一个数据对象阵列的一个或多个数据对象。还参考图6的示例,并且在一些实施例中,通信集线器106可以包括具有可以被发送到通信设备102的数据对象552的数据对象阵列534。如上所述,通信设备102可以是具有分布式复制的时空数据库的封装中的数据系统(DSiP),该数据库可以与基于互联网的安全通信集线器106集成在一起。在该示例中,数据对象552可以是仅入站数据对象,使得当数据对象552被发送到通信设备102的数据对象阵列508时,数据对象552可以作为数据对象526被存储在数据对象阵列508中,并且可以从数据对象阵列534中删除数据对象552(例如如数据对象552周围的虚线所示)。尽管已经描述了一个数据对象被发送到通信集线器106的示例,但是应当理解,在本公开的范围内,任何数量的数据对象和/或数据对象阵列(例如部分和/或整个数据对象阵列)可以被通信设备102接收。
在一些实施例中,通信设备可以被配置为相对于通信设备与基于云的服务的通信,异步地,使至少一个数据对象阵列的一个或多个修改的数据对象可用于计算设备。如本文所用,“相对于通信设备与基于云的服务的通信,异步地,使至少一个数据对象阵列的一个或多个修改的数据对象可用于计算设备”可以包括使得从基于云的服务接收的数据对象(例如基于至少一个数据对象阵列的接收部分的修改后的数据对象)独立于通信设备与基于云的服务的通信或通信设备与基于云的服务进行通信时可用。再次参考图2的示例,并且在一些实施例中,通信设备102可以在通信设备102上(例如,如上所述,在通信设备102的存储器中)分阶段至少一个数据对象阵列的至少一部分来使至少一个数据对象阵列的至少一部分对计算设备104可用,并通过计算设备104接收对至少一个数据对象阵列的至少一部分的请求。以这种方式,计算设备104可以请求(经由串行链路202)至少一个数据对象阵列的至少一部分。因此,通信设备104可以独立于与基于云的服务108的任何通信而使修改后的数据对象可用于计算设备102。
再次参考图4的示例,并且在一些实施例中,通信设备可以被配置为经由无线蜂窝收发器接收以一个或多个数据对象的形式的固件数据,以存储在通信设备的存储器中。在一些实施例中,计算设备104可以经由通信设备102接收固件更新。例如并且如图4所示,仅出于示例目的,假设计算设备104包括两线串行线调试(SWD)接口(例如SWD接口306)。在一些实施例中,SWD接口406除其他外可以允许重新刷新计算设备(例如微控制器)固件。在该示例中,开发人员可以选择将持久固件数据(例如配置数据)存储在通信设备的存储器(例如闪存)中,而不是存储在计算设备的存储器中。通过这样做,授权的开发人员可以使新固件经由无线蜂窝收发器204被接收,并被下载到通信设备102。在一些实施例中,可以将其他固件数据或固件映像(例如“最新已知良好固件”)下载到通信设备。
继续该示例,通信设备102可以从计算设备接收一个或多个命令,以将接收到的固件数据的至少一部分发送到计算设备(例如经由SWD接口406),以将接收到的固件数据安装在计算设备上。在一些实施例中,通信设备102可以完全重新刷新计算设备104的固件。尽管图4示出了在计算设备上具有SWD引脚的示例,但是应该理解,可以使用其他配置来重新刷新计算设备104的固件。例如并且在一些实施例中,可以经由在通信设备102的一个或多个引脚(例如“RESET”引脚)引导计算设备104期间在计算设备104上将一个或多个引脚保持为低电平(例如GPIO-00引脚(未示出))来执行刷新固件。然后可以使用串行链路202将固件传输到计算设备104。
在一些实施例中,通信设备可以包括全球导航卫星系统(GNSS)系统,并且可以被配置为通信地耦合到GNSS天线。如本领域中已知的,GNSS接收器(GNSS接收器212)通常可以包括电子设备或模块,该电子设备或模块接收并数字处理来自GNSS卫星星座的信号以便提供(接收器的)位置、速度和时间。在一些实施例中,可以用时间和位置元数据来标记由通信设备102传送的数据对象。在一些实施例中,可以使用GNSS接收器来获得位置信息,同时可以从蜂窝网络和GNSS接收器两者中获得时间。在一些实施例中,通信设备102可以包括配置为在加速度计检测到运动时对GNSS天线进行采样的加速度计(加速度计214)。在一些实施例中,并且使得能量消耗可以针对非运动中的通信设备进行优化,通信设备102可以具有基于MEMS的加速度计(例如加速度计214),以确定何时不需要使用GNSS天线。以此方式,当由加速度计(例如加速度计214)检测到运动时,可以启用GNSS天线(例如GNSS天线208),否则可以禁用GNSS天线(例如GNSS天线208)以节省功率。
在一些实施例中,通信设备可以被配置为将元数据添加到一个或多个数据对象,该元数据包括通信设备的时间和位置中的一个或多个。例如,通信设备102可以被配置为用元数据标记数据对象。元数据可以包括使用GNSS天线208确定的通信设备的时间和/或位置。在一些实施例中,当(例如从计算设备104或通信集线器106)接收到数据对象时,计算设备102可以用时间信息元数据标记数据对象。
在一些实施例中,通信设备边缘引脚之一可以允许设计者按照任何有源GNSS/GPS天线的要求向GPS/GNSS的接收器u.fl连接器提供偏置电压。为了方便起见,可以由可用于该目的的通信设备102提供3.8V电源。在一些实施例中,如果GNSS天线(例如GNSS天线208)通信地耦合到通信设备102,则有源/无源开关可以使用户能够选择耦合到通信设备102的天线的类型。如果是有源的,则可以提供3.8V的偏置电压为天线的集成LNA供电。尽管上面已经讨论了特定的电压值,但是应当理解,可以在本公开的范围内提供GNSS天线所需的任何电压。
在一些实施例中,在制造时,通信设备的非易失性存储器被配置为包括一个或多个安全密钥和数字签名证书,该数字签名证书使得能够对通信设备进行安全认证以及与基于云的服务进行通信。例如并且如上所述,现代的基于云的服务可能要求云和通信设备102执行双向认证,以使得两者都不能被欺骗。此外,对于许多应用程序而言,对空中数据和有线数据进行加密可能很重要。由于这个原因,并且在一些实施例中,通信设备102可以集成例如STSAFE-A100安全元件,其可以包括在芯片制造或生产时在芯片内生成的对称密钥。因此,通信设备102的制造商或计算设备104的制造商都不需要处理或管理安全密钥材料。在一示例中,为通信设备102生成的安全密钥可以使用具有NIST P-384曲线的椭圆曲线密码术(ECC),并且签名算法可以是带有SHA384的ECDSA。尽管已经提供了安全元件的特定示例和特定签名算法,但是应当理解,可以使用任何配置为生成加密密钥的安全设备或模块和/或任何签名算法来保护在本公开的范围内的基于云的服务108和通信设备102之间的数据。
在一些实施例中,通信设备可以被配置为至少部分地基于从计算设备接收的通信策略以及添加到一个或多个数据对象的元数据来压缩和加密数据对象中的一个或多个。例如并且如上所述,加密数据对象可能需要来自通信设备102的大量能量。以这种方式,通信设备102可以利用数据对象元数据和/或通信策略来确定数据对象是否被压缩和/或加密。尽管已经讨论了基于功率节省来压缩和/或加密数据的示例,但是应当理解,元数据和通信策略也可以确定在其他情况下何时压缩和/或加密数据对象(例如基于位置、时间、安全优先级等)。
在一些实施例中,通信设备102可以具有功率控制并且可以大量使用可变时钟速度。如上所述,无线蜂窝收发器(例如无线蜂窝收发器204)和/或调制解调器可以在发送或接收时可能会消耗大量电流,GNSS接收时,CPU进行会话或数据对象加密时,甚至启用安全元件时,也可能会消耗恒定的功率,以防止某些边信道(side-channel)攻击。然而,并且在一些实施例中,通信设备设计中没有单个开关可以具有大于一微安(例如Iq>1μA)的静态电流。即通信设备102的每个开关的静态电流可以小于一微安。然而,将意识到,在本公开的范围内任何静态电流都是可能的。当在处理器处于“STOP”模式时,加上其运行一个或多个串行链接(例如I2C、UART、USB等)和实时时钟(RTC)的能力,通信设备102可能会当空闲时在例如3.3V下汲取小于例如8μA的电流。因此,通信设备102可以为微控制器和其他计算设备提供低功率的蜂窝系绳解决方案。
再次参考图1的示例,并且在一些实施例中,通信集线器可以被配置为通信地耦合到一个或多个通信设备和基于云的服务。如在下面和一些实施例中将更详细地讨论的,通信集线器106可以被配置为提供非常薄的功能层:首先,自动配置并使客户能够将具有类似功能的通信设备(例如通信设备102)聚合到可以监视其操作的通信设备组(例如“机群”)中;以及其次,用“路由”配置这些机群,通过这些路由,从通信设备(例如通信设备102)到达的数据对象(例如JSON格式的数据)可以转发到基于云的服务(例如基于云的服务108)。
如下所述,无线蜂窝收发器204可以被配置为在蜂窝网络上传输数据。例如并且如上所述,无线蜂窝收发器204可以被配置为使用各种通信协议(例如2G、LTE Cat-M、LTECat-NB1等)来发送和接收数据,其中数据与蜂窝塔和/或蜂窝节点(例如eNodeB)之间进行传输。如本领域中已知的,蜂窝节点或塔可以通信地耦合到回程或其他网络以将数据中继到特定目的地。因此,无线蜂窝收发器204可以被配置为通过蜂窝网络向通信集线器106发送数据。
在一些实施例中,通信集线器(例如通信集线器106)通常可以包括软件服务,该软件服务被配置为将一个或多个通信设备(例如通信设备102)组织为一个或多个通信设备组。通信集线器还可将一个或多个路由与一个或多个通信设备组相关联,其中一个或多个路由可被配置为在通信地耦合到一个或多个计算设备的一个或多个通信设备与基于云的服务之间路由一个或多个数据对象,并且可以相对于一个或多个计算设备,异步地经由一个或多个路由在一个或多个通信设备和基于云的服务之间路由一个或多个数据对象。在一些实施例中,并且如将在下面更详细地讨论的,通信集线器106可以部署为单实例超大规模软件即服务(SaaS)服务,也可以部署为服务器上部署的客户自己的专用通信集线器服务实例。
在一些实施例中,通信集线器(例如通信集线器106)可以被配置为管理一个或多个通信设备,其中一个或多个通信设备通信地耦合到一个或多个计算设备。在一些实施例中,一个或多个通信设备中的每个通信设备可以具有唯一的标识符。在一些实施例中,可以为每个通信设备(例如通信设备102)自动分配唯一标识符,和/或可以为每个通信设备手动分配或配置唯一标识符。
在一些实施例中,通信集线器106可以将一个或多个通信设备产品标识符与一个或多个通信集线器项目相关联。通信集线器项目通常可以包括特定于客户的实体,该客户特定实体包括一个或多个通信设备、通信设备组以及与一个或多个通信设备组相关联或分配给一个或多个通信设备组的路由,这些路由定义了来自通信设备(例如通信设备102)的由通信集线器106传送的数据对象的方式。还参考图7的示例管理工具(例如管理工具700),并且在一些实施例中,用户可以创建项目(例如给项目分配名称、创建一个或多个帐户等)。用户然后可以创建一个或多个通信设备产品标识符,通信集线器106将将该标识符与通信集线器项目相关联。例如,用户可以提供一个或多个通信设备产品标识符(例如“product.org.safecast.*”、“product.org.safecast.ninja”、“product.org.safecast.air”等)。在一些实施例中,星号“*”的使用可以包括任何通信设备产品标识符,包括在“*”符号之前的产品标识符的一部分。例如,通过创建通信设备产品标识符“product.org.safecast.*”,任何包含“product.org.safecast.”的通信设备产品标识符将与此项目相关联。尽管已经将星号符号描述为示例符号以指定开放式通信设备产品标识符,但是应当理解,在本公开的范围内可以使用其他符号。
在一些实施例中,通信集线器106可以从一个或多个通信设备接收一个或多个传入通信会话,其中每个传入通信会话包括一个或多个通信设备的产品标识符。例如,假设通信设备102(例如经由JSON对象)将传入通信会话传输到基于云的存储器108,如以下示例所示:
setup()
serial.println{“req”:”service.set”,”product”:”org.safecast.air”,”minutes”:60}
在该示例中,通信集线器106可以从传入通信会话中识别通信设备产品标识符(例如“org.safecast.air”)。在一些实施例中,因为与该项目相关联的通信设备产品标识符,通信集线器106可以将通信设备102与特定的通信集线器项目相关联。然而,将意识到,在本公开的范围内,可以从数据对象中识别其他通信设备产品标识符。
在一些实施例中,通信集线器106可以至少部分地基于与一个或多个通信设备建立的通信会话的产品标识符,来提供一个或多个通信设备以与一个或多个通信设备组进行通信,并路由至基于云的服务。在一些实施例中,提供一个或多个通信设备以与通信集线器本身和一个或多个基于云的服务进行通信可以包括将一个或多个通信设备与一个或多个通信设备组相关联。例如,通信集线器106可以将通信设备102组织或分配给通信设备组(例如用于通信集线器项目的用户定义的默认通信设备组)。如在下面将更详细地讨论的,通信集线器106可以将一个或多个通信设备与一个或多个通信设备、通信集线器和一个或多个基于云的服务之间的一个或多个路由自动相关联。
在一些实施例中,通信集线器106可以将一个或多个通信设备组织成一个或多个通信设备组。还参考图8的示例,并且在一些实施例中,通信地耦合到一个或多个计算设备(例如计算设备104、806、808)的一个或多个通信设备(例如通信设备102、802、804)可以被组织成一个或多个通信设备组(例如通信设备组810)。在一些实施例中,一个或多个通信设备组可以是用户定义的和/或可以由通信集线器106自动组织。
还参考图9至图10的示例,并且在一些实施例中,管理一个或多个通信设备可以包括提供配置成允许用户管理一个或多个的管理一个或多个通信设备组和一个或多个路由的管理工具(例如图形用户界面)。举例来说,可将管理工具(例如管理工具700)提供给用户以用于管理一个或多个通信设备组以及与一个或多个通信设备组相关联的路由。
在一些实施例中,通信集线器(例如通信集线器106)可以被配置为在通信地耦合到一个或多个计算设备的一个或多个通信设备与基于云的服务之间路由一个或多个数据对象。再次参考图8的示例,并且在一些实施例中,一个或多个路由(例如一个或多个路由814)可包括通信设备102、802、804与通信集线器106之间以及通信集线器106与基于云的服务108之间的通信信道。在一些实施例中,一个或多个路由可以使得能够在通信集线器和基于云的服务之间传送一个或多个数据对象。在一些实施例中,路由可以包括一个或多个基于云的服务地址、与基于云的服务相关联的认证信息、JSON转换信息(将在下文中讨论)、用于访问基于云的服务的用户证书(例如用户名和密码),以及用于允许通信集线器将一个或多个数据对象/对数据对象数组的修改路由到基于云的服务的任何其他信息。
参考图10,并且在一些实施例中,路由一个或多个数据对象可以包括将一个或多个通信设备组与一个或多个路由相关联。如图10所示,管理工具700可以被配置为允许用户将一个或多个通信设备组或“机群”与一个或多个项目数据路由(例如,路由1000)相关联。在一些实施例中,一个或多个路由(例如,一个或多个路由814)可以包括被配置为在通信集线器和基于云的服务之间传送一个或多个数据对象的一个或多个服务器。
如上所述,通信集线器106通常可以被部署为软件即服务(SaaS)服务或客户服务器上的服务实例。在通信集线器106被部署为客户服务器上的服务实例的一些实施例中,来自一个或多个通信设备和通信集线器的一个或多个数据对象的路由至少部分地通过互联网连接。例如,当通信集线器被部署为客户服务器上的服务实例时,通信设备到通信集线器的通信可以在互联网上(例如经由HTTP API)发生。在通信集线器106被部署为SaaS服务的另一示例中,来自一个或多个通信设备和通信集线器的一个或多个数据对象的路由至少部分地通过不可访问互联网的连接进行。换句话说,通信设备到通信集线器的通信在逻辑上可以是“断开互联网”。例如,数据对象可以被配置为在安全信道中从蜂窝运营商直接行进到虚拟私有云(VPC)(例如经由非互联网连接)。以这种方式,来自一个或多个通信设备和通信集线器的一个或多个数据对象的路由可能受到保护,以防止基于互联网的攻击漏洞,因为通信设备不可IP寻址。
在一些实施例中并且还参考图11的示例,路由一个或多个数据对象可以包括每个设备事件流(例如每个设备事件流1102),过滤和数据对象到数据对象转换(过滤和JSON到JSON转换1104)以及选择性路由(例如路由1106)。在一些实施例中,并且还参考图12,每个设备事件流1102可以包括从通信设备接收数据对象(例如经由HTTP API(例如基于互联网的通信)或设备隧道(例如非基于互联网的通信)。在经由设备隧道接收到的数据对象的示例中,事件前设备流1102可以将数据对象记录在临时会话日志(例如临时会话日志1202)中。如果经由HTTP API或设备隧道接收到数据对象,则事件前设备流1102可以将数据对象添加到存储在通信集线器106中的至少一个数据对象阵列(例如数据对象阵列存储器1204)。当从基于云的服务108传送数据对象时,可以反向上述过程。例如,可以从基于云的服务接收数据对象,将其添加到存储在通信集线器106中的至少一个数据对象阵列,并经由HTTP API或设备隧道将其传输到计算设备。
在一些实施例中,路由一个或多个数据对象可以包括使通信集线器的至少一个数据对象阵列的至少一部分与通信地耦合到一个或多个通信设备的一个或多个通信设备的至少一个对应的数据对象阵列的至少一部分同步。在一些实施例中,“同步”通常可以包括创建、删除和更新数据对象阵列。在一些实施例中,并且如将在下面更详细地讨论的,同步可以是单向向上/向外(例如仅到基于云的服务/未在通信设备中维护),单向向下/向内(例如仅到通信设备/不在通信集线器中维护)、或基于数据阵列的数据对象扩展双向同步(例如在通信设备和通信集线器中维护)。例如,如图12所示,当通信集线器106接收到数据对象时,可以将存储在数据对象阵列存储器1204中的通信集线器106的至少一个数据阵列对象的至少一部分与接收到的数据对象同步。
在一些实施例中,将通信集线器的至少一个数据对象阵列的至少一部分与一个或多个通信设备的至少一个对应的数据对象阵列的至少一部分同步可以包括:双向同步通信集线器的至少一个数据对象阵列的至少一部分与一个或多个通信设备的至少一个对应的数据对象阵列的至少一部分。例如并且再次参考图6,数据对象536可以是双向复制的数据对象,使得数据对象536作为数据对象510复制到数据对象阵列504中。
在一些实施例中,将通信集线器的至少一个数据对象阵列的至少一部分与一个或多个通信设备的至少一个对应的数据对象阵列的至少一部分同步可以包括:使通信集线器的至少一个数据对象阵列的至少一部分与一个或多个通信设备的至少一个对应的数据对象阵列的至少一部分同步。在该示例中,将通信集线器的至少一个数据对象阵列的至少一部分与一个或多个通信设备的至少一个对应的数据对象阵列的至少一部分同步可以是单向的。在一些实施例中,响应于同步一个或多个通信设备的至少一个对应的数据对象阵列的至少一部分(例如添加或修改一个或多个通信设备的至少一个对应的数据对象阵列),通信集线器可以被配置为删除通信集线器的至少一个数据对象阵列的至少一部分。例如,数据对象552可以是仅入站数据对象,使得当数据对象552被发送到通信集线器106的数据对象阵列508时,数据对象552可以作为数据对象526被存储在数据对象阵列508中,并且可以从数据对象阵列534中删除数据对象552(例如如数据对象534周围的虚线所示)。
在某些实施例中,使通信集线器的至少一个数据对象阵列的至少一部分与一个或多个通信设备的至少一个对应的数据对象阵列的至少一部分同步可以包括:使通信集线器的至少一个数据对象阵列的至少一部分与一个或多个通信设备的至少一个对应的数据对象阵列的至少一部分同步。在某些实施例中,响应于从一个或多个通信设备的至少一个对应的数据对象阵列的至少一部分同步通信集线器的至少一个数据对象阵列的至少一部分(例如添加或修改通信集线器的至少一个数据对象阵列),通信设备可以被配置为删除通信设备的至少一个对应的数据对象阵列的至少一部分。例如,通信设备102可以包括具有可以被发送到通信集线器106的数据对象516的数据对象阵列506。在该示例中,数据对象516可以是仅出站数据对象,使得当数据对象516被发送到通信集线器106的数据对象阵列532时,数据对象516可以作为数据对象542存储在数据对象阵列532中,并且数据对象516可以从数据对象阵列506中被删除(例如如数据对象516周围的虚线所示)。
在一些实施例中,使通信集线器的至少一个数据对象阵列的至少一部分与一个或多个通信设备的至少一个对应的数据对象阵列的至少一部分的同步,其至少部分地基于与一个或多个数据对象阵列中的每一个相关联的数据对象扩展。例如,并且如上所述,可以至少部分地基于与一个或多个数据对象阵列中的每一个相关联的数据对象扩展来定义数据对象阵列。以这种方式,数据对象扩展可以定义如何在通信集线器106和通信设备102之间移动和/或复制数据。
在一些实施例中,并且如上所述,路由一个或多个数据对象可以包括从通信地耦合到一个或多个计算设备的一个或多个通信设备接收一个或多个数据对象(例如JSON对象)。在一些实施例中,并再次参考图12的示例,通信集线器可以过滤和转换一个或多个数据对象(例如JSON对象)。在一些实施例中,用户可能希望提供用于转换从通信设备接收到的数据对象(例如JSON对象)和/或用于转换正被发送到通信设备的数据对象(例如JSON对象)的转换逻辑。再次参考图9的示例,并且在一些实施例中,管理工具700可以提供用户界面的一部分(例如窗口1002),以允许用户定义一个或多个JSON到JSON转换。在该示例中,用户可以在用户界面的另一部分(例如窗口1004)中选择一个或多个数据对象,以使得基于用户定义的转换来转换特定的数据对象。在一些实施例中,用户可以在另一窗口(例如窗口1006)中选择一个或多个通信设备组或“机群”,使得可以根据窗口1002中提供的转换来转换从所选通信设备组的窗口1004中选择的数据对象。虽然已经提供了各种窗口的示例,但是应当理解,可以以各种方式来配置用户界面,以促进用户在本公开范围内选择通信设备组、数据对象和数据对象转换(例如JSON转换)。
在一些实施例中,并再次参考图11的示例,通信集线器可以选择性地将一个或多个数据对象路由到基于云的服务和从基于云的服务路由(例如选择性路由1106)。再次参考图10的示例,并且在一些实施例中,可以确定一个或多个路由以用于在通信集线器106和基于云的服务108之间路由数据对象。如以上关于数据对象转换所讨论的,可以选择特定路由或将特定路由与特定数据对象相关联(例如经由窗口1004)和/或将特定通信设备组与特定数据对象(例如经由窗口1006)相关联。
在一些实施例中,可以使用一个或多个API向基于云的服务108发送数据对象或从基于云的服务108发送数据对象。再次参考图8的示例,并且在一些实施例中,一个或多个API(例如API 816)可以经由HTTP或具有可下载密钥的HTTP被调用。在一些实施例中,API816可以包括带有数据对象的HTTP GET或POST,该数据对象位于所发布或返回的内容的主体中。在一些实施例中,数据对象可以作为JSON对象被发送到基于云的服务108。例如,数据对象或JSON对象可以传输到基于云的存储器108,如以下示例所示:
POST
{"req":"note.add","file":"air.qo","device":"imei:8664250","product":"com.acme.airmon","when":1544643332,”where”:”JMC3+56”,”body”:{temp”:72,”humid”61}}
以这种方式,可以经由计算设备102和通信集线器106的组合以最小的用户实现和跨蜂窝通信将由计算设备104生成的数据对象通信到基于云的服务108。尽管在以上示例中讨论了JSON对象,但应理解,在本公开的范围内,可以经由API 816传送其他数据对象。
附图中的流程图和框图可以示出根据本公开的各种实施方式的系统、方法和计算机程序产品的可能的实施方式的架构、功能和操作。就这一点而言,流程图或框图中的每个框可以代表代码的模块、区段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。还应注意,在一些替代实施方式中,方框中指出的功能可以不按图中指出的顺序发生。例如,取决于所涉及的功能,实际上可以基本上同时执行连续示出的两个框,或者有时可以以相反的顺序执行这些框。还应注意,框图和/或流程图说明的每个方框以及框图和/或流程图说明中的方框的组合可以由执行指定功能或动作的基于专用硬件的系统来实现,或专用硬件和计算机指令的组合。
本文所使用的术语仅出于描述特定实施方式的目的,并且无意于限制本公开。如本文所用,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另外明确指出。还将理解,术语“包括”和/或“包含”在本说明书中使用时,指定存在所述特征、整数、步骤、操作、元件和/或组,但不排除存在或增加一个或多个其他特征、整数、步骤、操作、元素、组件和/或其组。
所附权利要求书中的所有装置或步骤加上功能元件的对应结构、材料、作用和等同物旨在包括用于与具体要求保护的其他要求保护的元件组合地执行功能的任何结构、材料或作用。已经出于说明和描述的目的给出了本公开的描述,但是其并不旨在是穷举的或将本公开限于所公开的形式。在不脱离本公开的范围和精神的情况下,许多修改和变型对于本领域普通技术人员将是显而易见的。选择和描述实施例是为了最好地解释本公开的原理和实际应用,并使本领域的其他普通技术人员能够理解本公开的各种实施方式,其中各种修改适合于预期的特定用途。
已经描述了许多实施方式。因此,已经详细地并且参考其实施方式描述了本申请的公开,将显而易见的是,在不脱离所附权利要求书中限定的本公开的范围的情况下,可以进行修改和变化。

Claims (21)

1.一种通信集线器,其被配置为通信地耦合到一个或多个通信设备和基于云的服务,所述通信集线器被配置为:
将所述一个或多个通信设备组织成一个或多个通信设备组,其中,所述一个或多个通信设备通信地耦合到一个或多个计算设备;
将一个或多个路由与所述一个或多个通信设备组相关联,其中,所述一个或多个路由被配置为在通信地耦合到所述一个或多个计算设备的所述一个或多个通信设备与所述基于云的服务之间路由一个或多个数据对象;以及
相对于所述一个或多个计算设备,经由所述一个或多个路由在所述一个或多个通信设备和所述基于云的服务之间异步地路由所述一个或多个数据对象。
2.根据权利要求1所述的通信集线器,其中,所述通信集线器是软件即服务(SaaS)服务。
3.根据权利要求1所述的通信集线器,其中,所述通信集线器是服务器。
4.根据权利要求1所述的通信集线器,其中,所述一个或多个计算设备是微控制器。
5.根据权利要求1所述的通信集线器,其中,所述通信集线器包括所述一个或多个数据对象中的至少一个数据对象阵列。
6.根据权利要求5所述的通信集线器,其中,路由所述一个或多个数据对象包括将所述通信集线器的所述至少一个数据对象阵列的至少一部分与通信地耦合到一个或多个计算设备的所述一个或多个通信设备的至少一个对应的数据对象阵列的至少一部分同步。
7.根据权利要求6所述的通信集线器,其中,将所述通信集线器的所述至少一个数据对象阵列的所述至少一部分与所述一个或多个通信设备的所述至少一个对应的数据对象阵列的所述至少一部分同步包括:使所述通信集线器的所述至少一个数据对象阵列的至少一部分与所述一个或多个通信设备的所述至少一个对应的数据对象阵列的所述至少一部分双向同步。
8.根据权利要求6所述的通信集线器,其中,将所述通信集线器的所述至少一个数据对象阵列的所述至少一部分与所述一个或多个通信设备的所述至少一个对应的数据对象阵列的所述至少一部分同步包括:
将所述通信集线器的所述至少一个数据对象阵列的所述至少一部分与所述一个或多个通信设备的所述至少一个对应的数据对象阵列的所述至少一部分同步。
9.根据权利要求6所述的通信集线器,其中,使所述通信集线器的所述至少一个数据对象阵列的所述至少一部分与所述一个或多个通信设备的所述至少一个对应的数据对象阵列的所述至少一部分同步包括:
从所述一个或多个通信设备的所述至少一个对应的数据对象阵列的所述至少一部分使所述通信集线器的所述至少一个数据对象阵列的所述至少一部分同步。
10.根据权利要求1所述的通信集线器,其中,所述通信集线器的所述至少一个数据对象阵列的所述至少一部分与所述一个或多个通信设备的至少一个对应的数据对象阵列的所述至少一部分的同步至少部分地基于与所述一个或多个数据对象阵列中的每一个相关联的数据对象扩展。
11.根据权利要求1所述的通信集线器,其中,所述一个或多个数据对象是Java脚本对象表示法(JSON)对象。
12.根据权利要求10所述的通信集线器,其中,路由所述一个或多个数据对象包括转换所述一个或多个JSON对象。
13.根据权利要求10所述的通信集线器,其中,所述一个或多个路由使得能够在所述通信集线器和所述基于云的服务之间传送所述一个或多个数据对象,并且包括一个或多个基于云的服务地址。
14.根据权利要求1所述的通信集线器,其中,组织所述一个或多个通信设备包括提供一种管理工具,所述管理工具被配置为允许用户组织所述一个或多个通信设备组并将所述一个或多个路由与所述一个或多个通信设备组相关联。
15.一种通信集线器,其被配置为通信地耦合到一个或多个通信设备和一个或多个基于云的服务,所述通信集线器被配置为:
将一个或多个通信设备产品标识符与一个或多个通信集线器项目相关联;
从所述一个或多个通信设备接收一个或多个传入通信会话,其中每个传入通信会话包括所述一个或多个通信设备的产品标识符,其中所述一个或多个通信设备通信地耦合到一个或多个计算设备;以及
至少部分地基于与所述一个或多个通信设备建立的通信会话的产品标识符,提供所述一个或多个通信设备与所述一个或多个通信设备组进行通信,并路由至基于云的服务。
16.根据权利要求14所述的通信集线器,其中,所述一个或多个通信集线器项目包括一个或多个通信设备组以及与所述一个或多个通信设备组相关联的一个或多个路由,所述路由被配置为在所述一个或多个通信设备与所述一个或多个基于云的服务之间路由数据对象。
17.根据权利要求15所述的通信集线器,其中,提供所述一个或多个通信设备以与所述通信集线器本身以及一个或多个基于云的服务进行通信包括将一个或多个通信设备与所述一个或多个通信设备组相关联。
18.根据权利要求14所述的通信集线器,其中,所述一个或多个数据对象是Java脚本对象表示法对象。
19.根据权利要求14所述的通信集线器,其中,所述通信集线器包括所述一个或多个数据对象中的至少一个数据对象阵列。
20.根据权利要求18所述的通信集线器,其中,路由所述一个或多个数据对象包括将所述通信集线器的所述至少一个数据对象阵列的至少一部分与通信地耦合到一个或多个计算设备的所述一个或多个通信设备的至少一个对应的数据对象阵列的至少一部分同步。
21.一种用于将计算设备与基于云的服务进行通信地耦合的通信系统,所述通信系统包括:
一个或多个计算设备通信地耦合到一个或多个通信设备,并且每个计算设备包括无线蜂窝收发器;以及
通信集线器,其被配置为通信地耦合到所述一个或多个通信设备和所述基于云的服务;
其中所述一个或多个通信设备中的每个通信设备被配置为以下一个或多个:
将一个或多个数据对象从所述计算设备发送到所述基于云的服务,包括:
从所述计算设备接收至少一个数据对象,
至少部分地基于所接收的至少一个数据对象,修改存储在所述通信设备的存储器中的一个或多个数据对象的至少一个数据对象阵列,
相对于所述计算设备,经由所述无线蜂窝收发器,将修改的至少一个数据对象阵列的至少一部分异步地发送到所述基于云的服务;以及
从所述基于云的服务接收一个或多个数据对象,包括:
相对于所述计算设备,经由所述无线蜂窝收发器从所述基于云的服务异步地接收所述至少一个数据对象阵列的至少一部分,
至少部分地基于所接收的至少一个数据对象阵列的至少一部分,修改存储在所述计算设备的存储器中的至少一个数据对象阵列的一个或多个数据对象,以及
相对于所述通信设备与所述基于云的服务的通信,异步地使所述至少一个数据对象阵列中的一个或多个修改后的数据对象可用于所述计算设备;
其中,所述通信集线器被配置为:
将一个或多个通信设备组织为一个或多个通信设备组;
将一个或多个路由与所述一个或多个通信设备组相关联,其中,所述一个或多个路由被配置为在通信地耦合到所述一个或多个计算设备的所述一个或多个通信设备与所述基于云的服务之间路由一个或多个数据对象;以及
相对于所述一个或多个计算设备,经由所述一个或多个路由在所述一个或多个通信设备和所述基于云的服务之间异步地路由所述一个或多个数据对象。
CN201980061857.5A 2018-07-25 2019-07-25 用于连接计算设备和基于云的服务的模块上的数据系统(DSoM) Pending CN112912862A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862703054P 2018-07-25 2018-07-25
US62/703,054 2018-07-25
US201962807840P 2019-02-20 2019-02-20
US62/807,840 2019-02-20
PCT/US2019/043383 WO2020023716A1 (en) 2018-07-25 2019-07-25 DATA SYSTEM ON A MODULE (DSoM) FOR CONNECTING COMPUTING DEVICES AND CLOUD-BASED SERVICES

Publications (1)

Publication Number Publication Date
CN112912862A true CN112912862A (zh) 2021-06-04

Family

ID=69178786

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201980061759.1A Pending CN112912861A (zh) 2018-07-25 2019-07-25 用于连接计算设备和基于云的服务的模块上的数据系统(DSoM)
CN201980061857.5A Pending CN112912862A (zh) 2018-07-25 2019-07-25 用于连接计算设备和基于云的服务的模块上的数据系统(DSoM)

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201980061759.1A Pending CN112912861A (zh) 2018-07-25 2019-07-25 用于连接计算设备和基于云的服务的模块上的数据系统(DSoM)

Country Status (8)

Country Link
US (1) US11012376B2 (zh)
EP (2) EP3827351A4 (zh)
JP (2) JP7376592B2 (zh)
KR (2) KR20210038914A (zh)
CN (2) CN112912861A (zh)
CA (2) CA3107419A1 (zh)
MX (2) MX2021000912A (zh)
WO (2) WO2020023709A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111475454B (zh) * 2020-03-27 2022-04-15 西安广和通无线软件有限公司 基于PCIe接口的通信方法和装置、计算机设备、计算机可读存储介质
KR102416162B1 (ko) * 2021-04-08 2022-07-05 (주)팜존에스엔씨 스마트 푸드 팩토리의 통합 운영 관리 서비스 제공 장치
KR102614429B1 (ko) 2023-06-21 2023-12-14 김호중 재설정 가능한 시스템 프레임워크 및 서버시각 동기부를 포함하는 에지 디바이스용 시스템 온 모듈

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1213483A (zh) * 1996-03-13 1999-04-07 北方电讯有限公司 用于在同步通信网络上传输工程联络线信息的方法和仪器
CN1398374A (zh) * 1998-11-03 2003-02-19 英特尔公司 计算机系统中的集线器之间进行事务类型通讯的方法和设备
US7228337B1 (en) * 2001-09-11 2007-06-05 Cisco Technology, Inc. Methods and apparatus for providing a network service to a virtual machine
JP2010183215A (ja) * 2009-02-04 2010-08-19 Nippon Dempa Kogyo Co Ltd 無線通信システム
WO2012075448A1 (en) * 2010-12-03 2012-06-07 Level 3 Communications, Llc Virtualized connectivity in a cloud services environment
US20150098320A1 (en) * 2013-10-08 2015-04-09 Dell Products L.P. Systems and methods of inter data center out-bound traffic management
JP2015200936A (ja) * 2014-04-04 2015-11-12 株式会社野村総合研究所 統合構成管理システム
US20160100035A1 (en) * 2014-10-06 2016-04-07 Eggcyte, Inc. Personal handheld web server and storage device
CN105794176A (zh) * 2013-11-29 2016-07-20 高通股份有限公司 为与用户相关联的IoT网络中的IoT设备发现基于云的服务
CN106462577A (zh) * 2014-03-31 2017-02-22 甲骨文国际公司 用于移动设备和移动云服务的同步的基础设施

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060098664A1 (en) * 2004-11-09 2006-05-11 Tvblob S.R.I. Intelligent application level multicast module for multimedia transmission
US8504609B2 (en) * 2009-08-21 2013-08-06 Fusionops Inc. System and method for facilitating secure integration and communication of cloud services and enterprise applications
US9128626B2 (en) * 2010-10-01 2015-09-08 Peter Chacko Distributed virtual storage cloud architecture and a method thereof
US9064276B2 (en) * 2011-05-24 2015-06-23 Amazon Technologies, Inc. Service for managing digital content resales
US8965333B1 (en) * 2011-08-16 2015-02-24 Michael A. Shreiber Remote monitoring system and method utilizing wireless network
US9307347B2 (en) 2012-06-01 2016-04-05 Nokia Technologies Oy Wireless programming
US9710982B2 (en) * 2011-12-23 2017-07-18 Microsoft Technology Licensing, Llc Hub key service
US9307006B2 (en) * 2012-04-11 2016-04-05 Salesforce.Com, Inc. System and method for synchronizing data objects in a cloud based social networking environment
WO2013154400A1 (en) * 2012-04-13 2013-10-17 Samsung Electronics Co., Ltd. Method and apparatus for communicating data packets in a cloud cell
US9589460B2 (en) 2012-11-06 2017-03-07 Aclara Meters Llc Systems and methods for implementation of a smart energy profile using data-interchange encoding
US20150133076A1 (en) 2012-11-11 2015-05-14 Michael Brough Mobile device application monitoring software
US9821999B2 (en) 2012-12-28 2017-11-21 Trimble Inc. External GNSS receiver module with motion sensor suite for contextual inference of user activity
US9858052B2 (en) * 2013-03-21 2018-01-02 Razer (Asia-Pacific) Pte. Ltd. Decentralized operating system
US9231946B2 (en) * 2014-02-07 2016-01-05 Oracle International Corporation Mobile cloud service architecture
WO2016044413A1 (en) * 2014-09-16 2016-03-24 CloudGenix, Inc. Methods and systems for business intent driven policy based network traffic characterization, monitoring and control
US9971574B2 (en) * 2014-10-31 2018-05-15 Oracle International Corporation JSON stylesheet language transformation
US10420151B2 (en) 2015-03-30 2019-09-17 Afero, Inc. Apparatus and method for intermediary device data collection
WO2016176601A1 (en) * 2015-04-30 2016-11-03 Lifespeed, Inc. Massively-scalable, asynchronous backend cloud computing architecture
US10756928B2 (en) * 2016-07-29 2020-08-25 At&T Intellectual Property I, L.P. Interconnection between enterprise network customers and network-based cloud service providers

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1213483A (zh) * 1996-03-13 1999-04-07 北方电讯有限公司 用于在同步通信网络上传输工程联络线信息的方法和仪器
CN1398374A (zh) * 1998-11-03 2003-02-19 英特尔公司 计算机系统中的集线器之间进行事务类型通讯的方法和设备
US7228337B1 (en) * 2001-09-11 2007-06-05 Cisco Technology, Inc. Methods and apparatus for providing a network service to a virtual machine
JP2010183215A (ja) * 2009-02-04 2010-08-19 Nippon Dempa Kogyo Co Ltd 無線通信システム
WO2012075448A1 (en) * 2010-12-03 2012-06-07 Level 3 Communications, Llc Virtualized connectivity in a cloud services environment
US20150098320A1 (en) * 2013-10-08 2015-04-09 Dell Products L.P. Systems and methods of inter data center out-bound traffic management
CN105794176A (zh) * 2013-11-29 2016-07-20 高通股份有限公司 为与用户相关联的IoT网络中的IoT设备发现基于云的服务
CN106462577A (zh) * 2014-03-31 2017-02-22 甲骨文国际公司 用于移动设备和移动云服务的同步的基础设施
JP2015200936A (ja) * 2014-04-04 2015-11-12 株式会社野村総合研究所 統合構成管理システム
US20160100035A1 (en) * 2014-10-06 2016-04-07 Eggcyte, Inc. Personal handheld web server and storage device

Also Published As

Publication number Publication date
CN112912861A (zh) 2021-06-04
MX2021000912A (es) 2021-06-23
EP3827351A4 (en) 2022-05-04
WO2020023716A1 (en) 2020-01-30
EP3827352A4 (en) 2022-05-11
CA3107419A1 (en) 2020-01-30
KR20210038913A (ko) 2021-04-08
EP3827352A1 (en) 2021-06-02
US20200036655A1 (en) 2020-01-30
JP7376592B2 (ja) 2023-11-08
CA3107422A1 (en) 2020-01-30
WO2020023709A1 (en) 2020-01-30
JP7376591B2 (ja) 2023-11-08
EP3827351A1 (en) 2021-06-02
MX2021000905A (es) 2021-06-23
JP2021531710A (ja) 2021-11-18
JP2021531711A (ja) 2021-11-18
KR20210038914A (ko) 2021-04-08
US11012376B2 (en) 2021-05-18

Similar Documents

Publication Publication Date Title
US20220271968A1 (en) Adaptive deployment of applications
CN107637011B (zh) 用于物联网网络的自配置密钥管理系统
US11936743B2 (en) Device management services based on restful messaging
US20190227908A1 (en) Remote debugging and management
US11012376B2 (en) Data system on a module (DSoM) for connecting computing devices and cloud-based services
US20220345417A1 (en) Technologies for configuring and reducing resource consumption in time-aware networks and time-sensitive applications
CN104063290A (zh) 处理超时的系统、方法和装置
US11487688B2 (en) Technologies for fast MAUSB enumeration
US11537631B2 (en) Data system on a module (DSoM) for connecting computing devices and cloud-based services
CA3132133A1 (en) Technologies for associating an offline wi-fi system with a wireless access point
US20220345371A1 (en) Control configuration for a plurality of endpoint devices
CN109315005B (zh) 与可移动物体的连接的自动更新
WO2023081202A1 (en) Mec dual edge apr registration on behalf of edge platform in dual edge deployments
TW201909595A (zh) 裝置管理技術
KR20230001016A (ko) 에지 어플라이언스들을 위한 스위치 기반 적응적 변환
US20230342496A1 (en) Trust brokering and secure information container migration
WO2019172959A1 (en) Credential dependency encoding in restful system based on resources
US20240107433A1 (en) Service based architecture for non-access stratum evolution
US20230188341A1 (en) Cryptographic operations in edge computing networks
Madhumathi et al. A comprehensive survey of IoT edge/fog computing protocols
CN112214432A (zh) 基于通讯板的可移动边缘计算一体机及其应用
Carranza et al. Overview of Wireless Sensor Network (WSN) Security
Ali et al. A survey of internet of things operating systems with cyber assurance
He et al. Design of 4G Remote Data Transmission system based on ARM
CN115525519A (zh) 分布式遥测平台

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination