CN115039385B - 计算机实现的物联网通信系统及方法 - Google Patents

计算机实现的物联网通信系统及方法 Download PDF

Info

Publication number
CN115039385B
CN115039385B CN202080080449.7A CN202080080449A CN115039385B CN 115039385 B CN115039385 B CN 115039385B CN 202080080449 A CN202080080449 A CN 202080080449A CN 115039385 B CN115039385 B CN 115039385B
Authority
CN
China
Prior art keywords
endpoint
processing logic
custom
message
computer
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
Application number
CN202080080449.7A
Other languages
English (en)
Other versions
CN115039385A (zh
Inventor
亚历山德拉·伊丽莎白·巴奥博·李
尼古拉斯·A·戈切瑙尔
克里斯托夫·扎尔费尔德
希曼舒·因达尔
埃尚·施里拉姆·撒卡尔
贾里德·沙尔芬
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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CN115039385A publication Critical patent/CN115039385A/zh
Application granted granted Critical
Publication of CN115039385B publication Critical patent/CN115039385B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

提供了用于动态配置IoT通信系统的系统和方法。该IoT通信系统从IoT装置接收客户端消息。该客户端消息包括端点指定(诸如通过在TLS客户端问候消息的服务器名称指示(SNI)字段中指定端点)。该IoT通信系统确定该端点是与自定义处理逻辑和/或设置还是与默认处理逻辑和/或设置相关联。执行自定义或默认处理逻辑或应用自定义或默认设置。

Description

计算机实现的物联网通信系统及方法
参考任何优先权申请并入
本申请要求2019年11月24日提交的题为“CONFIGURABLE INTERNET OF THINGSCOMMUNICATIONS SYSTEM”的美国临时专利申请序列号62/939,641和2019年12月12日提交的题为“CONFIGURABLE INTERNET OF THINGS COMMUNICATIONS SYSTEM”的美国非临时专利申请序列号16/712,896的权益,其全部内容通过引用并入本文。
背景技术
物联网(IoT)通常是指网络连接装置诸如传感器、致动器、嵌入式装置或智能家电的系统。例如,计算装置可以嵌入日常对象中,使这些对象能够发送和接收数据。IoT装置在硬件和/或软件方面的差异可以很大。IoT装置的保质期可能很长,并且可能包括比当前软件标准或协议落后几个版本或几年的不可升级软件,所述标准或协议可能无法向后兼容。IoT装置可以使用的示例协议是被设计为通过计算机网络提供通信安全的密码安全协议,诸如传输层安全(TLS)或安全套接层(SSL)。
附图说明
这些和其他特征、方面和优点在下文参考附图进行描述,这些附图旨在用于说明性目的并且决不应被解释为限制实施方案的范围。此外,不同公开的实施方案的各种特征可以组合以形成附加的实施方案,这些实施方案是本公开的一部分。在附图中,相似的附图标记可以在相似的实施方案中表示对应的特征。以下是各图的简要说明。
图1是描绘用于实现IoT通信系统的说明性网络环境的框图。
图2A描绘了图1中描绘的网络环境的网关的一般架构。
图2B描绘了被配置为实现图1中描绘的网络环境的管理服务的计算装置的一般架构。
图3是描绘用于配置IoT通信系统的说明性交互的流程图。
图4是描绘用于与IoT通信系统通信的说明性交互的流程图。
图5是描绘用于配置IoT通信系统的示例方法的流程图。
图6是描绘与IoT通信系统通信的示例方法的流程图。
具体实施方式
本公开的各方面涉及一种使得能够在“无服务器”或“云计算”环境中实现物联网(IoT)装置和服务之间的通信的系统。如本文所用,术语“无服务器”或“云计算”环境是指管理底层执行环境的生成、配置和状态的责任从用户抽象出来的环境。例如,用户无需创建执行环境、安装操作系统或管理环境状态以便在环境中执行所需的代码。
现有系统可以与来自各种客户端的IoT装置进行通信。如本文所述,IoT装置可以是多种不同的装置类型,并且可以在硬件和/或软件方面广泛变化。与典型计算机、智能手机和/或此类装置上的应用(诸如web浏览器)通常集中使用一组或多组标准软件和/或协议不同,IoT装置可以使用范围广泛的软件和/或协议,跨越许多不同的版本或类型,其中一些可能已经过时。为了增加问题的复杂性,IoT装置上的软件可能是相当静态的,因为IoT装置上的软件可能不容易更新或可能根本不可更新和/或IoT装置可能有五年或十年的生命周期(诸如消费品)。例如,IoT装置可以放在仓库中,且在消费者购买并打开之前可能不会上电。因此,客户端和/或IoT系统可能无法更新IoT装置,直到该装置被购买并通电。在其他情况下,IoT装置可能每个月只上电一次(诸如割草机)。因此,IoT系统可配置为与多种IoT装置一起工作和/或具有向后兼容IoT装置使用的软件和/或协议的能力可能是有利的。
参考一些具体的示例,第一客户端诸如家用电器制造商开发和销售智能空调。客户端希望他们的智能空调与现有的IoT系统进行通信。智能空调上的固件使用传输层安全(TLS)扩展,诸如最大片段长度扩展或记录大小限制扩展。诸如TLS之类的密码安全协议可能具有默认片段或记录大小,诸如16kB。因此,实现默认密码安全协议的装置可能需要分配16kB输入缓冲区和16kB输出缓冲区。对于许多计算装置或应用(如智能手机或浏览器)而言,此要求不是问题。但是,对于可能具有有限存储器量的一些IoT装置(诸如总共128kB),默认记录或片段大小可能太大。因此,例如,密码安全协议扩展可以允许客户端和服务器之间的自定义片段或记录大小(诸如512字节)的协商。相应地,现有的IoT系统可以增加对TLS扩展的支持,诸如最大片段长度扩展或记录大小限制扩展。但是,一些现有客户端不实现TLS扩展和/或不包括不实现规范扩展的TLS库(诸如mbed TLS)。因此,如果智能空调推出对TLS扩展的支持,那么与扩展不兼容的现有IoT装置将无法与现有IoT系统连接。同样,第二客户端想使用现有的IoT系统;但是,由于第二客户端的安全策略,第二客户端的IoT装置可能只能使用1.2或以上的TLS版本。因此,如果现有的IoT系统对于某些消息传递路径仅支持1.2以下的TLS版本,那么升级现有的IoT系统可能会导致与现有客户端的IoT装置不兼容的问题。
一般而言,本公开的各方面针对用于动态配置IoT通信系统以与多种IoT装置兼容的系统和方法。IoT通信系统可以接收来自IoT装置的客户端消息(诸如TLS客户端问候消息)。客户端消息可以包括端点指定(诸如通过在TLS客户端问候消息的服务器名称指示(SNI)字段中指定端点)。在一些实施方案中,在协议栈的相对较低层(诸如密码安全协议层或更低层)实现本文描述的自定义特征可以允许自定义特征起作用而不管IoT装置使用的更高级别的协议,诸如HTTP或MQTT。如本文所述,用于切换自定义特征的消息可以在子应用通信层。IoT通信系统可以确定端点是与自定义还是默认处理逻辑和/或设置相关联。例如,IoT通信系统可以确定客户端的端点已被配置为最大片段长度扩展或记录大小限制扩展。因此,可以执行自定义或默认处理逻辑,或者可以应用自定义或默认设置。例如,如果客户端的端点实现了最大片段长度扩展或记录大小限制扩展,则IoT通信系统的网关可以发送服务器消息,以与IoT装置确认和/或协商自定义片段或记录长度。相反,如果执行默认处理逻辑,则网关可以基于默认片段或记录大小与IoT装置进行通信。因此,IoT通信系统可以与多种IoT装置进行通信,诸如通过向后兼容多种IoT装置。
如本文所用,除了其普通和习惯含义外,“子应用通信层”还可以指协议栈和/或通信模型中的层,诸如互联网协议群,它也可以称为TCP/IP堆栈。示例协议栈可以包括应用层、传输层、网络或互联网层以及链路层。特别地,子应用通信层可以指在协议栈和/或通信模型的应用层之下的层。示例应用层协议是HTTP和MQTT。示例子应用通信层包括密码安全协议(诸如TLS或SSL)、TCP或IP。如本文所述,在子应用通信层使用消息中的指示符(诸如TLS的服务器名称指示字段中的端点指定)可以有利地允许在服务器处进行自定义,该自定义不知道所使用的特定应用层协议(诸如HTTP或MQTT)。
服务器名称指示(SNI)是密码安全协议诸如TLS的扩展。在SNI扩展下,客户端会在握手过程开始时指示它尝试连接的主机名。在典型的场景中,SNI允许服务器在相同的IP地址和TCP端口号上提供多个证书,且因此,允许通过安全协议的多个安全服务由相同的IP地址提供服务,而无需所有这些站点使用相同的证书。
本文描述的系统和方法可以提高IoT装置和IoT通信系统之间的兼容性。如本文所述,一些现有IoT系统可能缺乏支持多种软件协议、扩展和/或其版本的灵活性。本文描述的自定义特征可以使系统能够与多种软件协议、扩展和/或其版本进行通信。此外,如上所述,在协议栈的相对较低层(诸如密码安全协议层或更低层)实现自定义特征可以允许自定义特征起作用而不管IoT装置使用的更高级别的协议。因此,本文描述的系统和方法可以通过增加与IoT装置的网络通信兼容性来有利地改进一些现有系统。
转向图1,示出了说明性网络环境100,其中物联网(IoT)通信系统105实现了IoT装置和服务之间的交互。网络环境100可以包括一个或多个IoT装置102、一个或多个管理装置103、网络104、IoT通信系统105和辅助服务106。IoT通信105可以包括管理服务112、网关114、配置服务116、配置数据存储区108、规则引擎118和一个或多个端点120。网络环境100的组成部分可以在本地或通过网络104彼此通信。
如本文所用,物联网(IoT)装置102可以包括能够通过网络104与IoT通信系统105通信的任何计算装置,诸如传感器、致动器、嵌入式装置或智能家电。示例计算装置包括但不限于智能移动装置、支持语音的扬声器、智能冰箱、智能空调、智能风扇、智能手表、智能火警报警器、智能门锁、智能自行车、医疗传感器、健身追踪器和/或智能安全系统。IoT装置102可以具有非常不同的硬件和/或软件规范,诸如通过包括不同的密码安全协议和/或版本。此外,可能难以更新IoT装置102上的软件,因为这些装置甚至在被激活之前可能在货架上放置数月或数年。因此,与典型的计算机、智能手机和/或此类装置上的应用(诸如web浏览器)不同,IoT装置102可以使用比当前标准落后几个月或许多版本的密码安全协议和/或版本。IoT装置102可以使用多种通信协议与IoT通信系统105通信,诸如超文本传输协议(HTTP)、开源消息传递协议(诸如MQTT)或密码安全协议(诸如TLS或SSL)。
管理员可以使用管理装置103来配置端点120。管理装置103可以包括能够通过网络104与IoT通信系统105通信的任何计算装置,诸如用户计算装置。示例用户计算装置包括膝上型计算机或平板计算机、个人计算机、个人数字助理(PDA)、混合PDA/移动电话、移动电话和/或智能手机。管理员可以使用图形用户界面、应用编程接口(API)和/或命令行界面(CLI)来配置端点120。例如,管理员可以指定添加或更新端点。管理服务112可以接收添加或更新端点的请求,该请求可以包括哪些端点被配置用于自定义的处理逻辑或设置诸如自定义的片段或特定的密码安全协议和/或版本的指示。管理服务112可以处理来自管理装置103的配置请求,诸如通过更新配置数据存储区108。
如本文所用,除了其普通和习惯含义外,“端点”还可以指代IoT装置与之通信的目的地。示例端点可以包括统一资源标识符(URI)、统一资源定位符(URL)、主机名和/或服务器名。如本文所述,配置端点可以指配置IoT通信系统105,诸如网关114,使得IoT通信系统105可以支持各种IoT装置的多个配置和/或自定义。因此,IoT通信系统105可以支持多个密码安全协议和/或版本及其特征,这可以包括向后兼容多个版本的密码安全协议。
如本文所用,除了其普通和习惯含义之外,“数据存储区”可以指代用于存储和/或组织数据的任何数据结构(和/或多个数据结构的组合),包括但不限于,关系数据库(例如,Oracle数据库、MySQL数据库等)、非关系数据库(例如,NoSQL数据库等)、键值数据库、存储器中数据库、数据库中的表、逗号分隔值(CSV)文件、可扩展标记语言(XML)文件、TeXT(TXT)文件、平面文件、电子表格文件和/或任何其他广泛使用或专有的数据存储格式。
一个或多个IoT装置102可以将消息发送到IoT通信系统105。网关114可以接收消息。网关114可以使用消息中的信息来确定是应该使用自定义的还是默认的处理逻辑和/或设置来与IoT装置102通信。网关114可以从配置服务116接收配置信息,该配置服务可以使用来自配置数据存储区108的数据。规则引擎118评估入站消息并且可以基于管理员定义的规则将消息变换和传递到另一个装置或服务。例如,消息可以包括对辅助服务106的请求,该辅助服务可以包括按需代码执行服务。辅助服务106可以与IoT装置102交互或处理来自该IoT装置的数据。例如,在与IoT通信系统105进行认证和/或授权之后,IoT装置102可以将输入数据(例如,传感器数据,诸如来自智能空调的当前温度)发送到系统105。服务106可以执行确定某一输出的代码指令,并且IoT通信系统105基于输出发送消息(例如,命令,诸如用于开启智能空调的命令)。
网络104可以是任何有线网络、无线网络或它们的组合。此外,网络104可以是个域网、局域网、广域网、电缆网络、卫星网络、蜂窝电话网络或它们的组合。此外,网络104可以是空中广播网络(例如,用于收音机或电视)或可能由各个不同方操作的链接网络的可公开访问网络,诸如互联网。在一些实施方案中,网络104可以是专用或半专用网络,诸如公司或大学内联网。网络104可以包括一个或多个无线网络,诸如全球移动通信系统(GSM)网络、码分多址(CDMA)网络、长期演进(LTE)网络或任何其他类型的无线网络。网络104可以使用用于经由互联网或其他前述类型的网络中的任一种进行通信的协议和部件,诸如HTTP或MQTT。用于经由互联网或其他前述类型的通信网络中的任一种进行通信的协议和部件对于计算机通信领域的技术人员来说是已知的,因此这里不需要更详细地描述。
另外,在一些实施方案中,IoT通信系统105及其部件由在托管计算环境中实现的一个或多个虚拟机实现。托管计算环境可以包括一个或多个快速供应和/或释放的计算资源。计算资源可以包括配置有具体配置的计算机可执行指令的硬件计算、联网和/或存储装置。托管计算环境也可以称为“无服务器”、“云”或分布式计算环境。
图2A是可以在图1中的环境100中使用的说明性网关114的示意图。网关114包括可用于处理从IoT装置102接收的消息的计算机硬件和软件部件的布置。虽然关于图2A示出和描述了网关114的一般架构,图2A的一般架构可用于实现本文描述的其他服务和/或应用。本领域技术人员将理解,网关114可以包括比图2A所示的部件更多(或更少)的部件。此外,本文描述的其他计算系统可以包括计算机硬件和软件部件的类似实现布置。
网关114可以包括硬件处理器202、网络接口204、非暂时性计算机可读介质驱动器206、和输入/输出装置接口208,所有这些可以经由通信总线相互通信。如图所示,网关114与任选显示器218和任选输入装置220相关联或与之通信。在其他实施方案中,显示器218和输入装置220可以包括在图1所示的管理装置103中。网络接口204可以为网关114提供到一个或多个网络或计算系统的连接性。硬件处理器202因此可经由网络104从其他计算系统(诸如IoT装置102)或服务接收信息和指令。硬件处理器202还可与存储器210通信,并且进一步经由输入/输出装置接口208提供用于任选显示器218的输出信息。输入/输出装置接口208可以接受来自任选输入装置220诸如键盘、鼠标、数字笔、触摸屏、加速度计、陀螺仪或经由运动捕捉和/或图像识别(例如,眼睛、手、头部和/或身体部位的放置和/或识别)记录的姿势的输入。输入/输出装置接口220还可以将音频数据输出到扬声器或耳机(未示出)。如本文所述,网关114可以与配置服务116通信。
存储器210可包含硬件处理器202执行以便实施网关114的一个或多个实施方案的具体配置的计算机程序指令。存储器210一般包括RAM、ROM和/或其他持久性或非暂时性计算机可读存储介质。存储器210可以存储操作系统214,该操作系统提供由处理单元202在网关114的一般管理和操作中使用的计算机程序指令。存储器210还可包括用于实现网关114的各方面的其他信息。
存储器210可以包括可以由硬件处理器202执行的通信应用216。在一些实施方案中,通信应用216可以实现本公开的各个方面。例如,通信应用216可以基于配置信息处理来自IoT装置的消息。
图2B是可以在图1中的环境100中使用的说明性管理服务112的示意图。管理服务112包括可用于配置网关114和/或端点120的计算机硬件和软件部件的布置。与网关114一样,管理服务112可以包括硬件处理器202、网络接口204、非暂时性计算机可读介质驱动器206、和输入/输出装置接口208,所有这些可以经由通信总线相互通信。如图所示,管理服务112与任选显示器218和任选输入装置220相关联或与之通信。本领域技术人员将理解,管理服务112可以包括比图2B所示的部件更多(或更少)的部件。此外,本文描述的其他计算系统可以包括计算机硬件和软件部件的类似实现布置。
存储器210可以包括可以由硬件处理器202执行的管理应用222。在一些实施方案中,管理222可以实现本公开的各个方面。例如,管理应用222可以检索或更新配置数据存储区108中的配置数据。
参考图3,描绘了用于配置IoT通信系统105的说明性交互。图3的环境300可以类似于图1的环境100。图3中描绘的交互是示例交互,其中一些或全部可以是任选的,这取决于环境或实施方案。在其他实施方案中,根据本公开,其他交互(未示出)可能是可能的。类似于图1的通信描绘,并非每一可能的通信都可以在图3中描绘。
图3的交互从步骤一(1)开始,其中用户可以经由管理装置103从IoT通信系统105请求信息。该请求可以是接收一个或多个现有端点的元数据的请求。示例元数据可以是现有端点的设置和/或配置。附加示例元数据可以是特定客户端的端点列表。关于一个或多个端点120的元数据可以存储在配置数据存储区108中。管理服务112可以接收对信息的请求。
在步骤二(2),IoT通信系统105可以提供所请求的信息。管理服务112可以接收信息。例如,管理服务112可以查询配置数据存储区108。管理服务112可以将所请求的信息发送到管理装置103。该信息可以指示端点的当前配置和/或设置,其可以是默认配置和/或默认设置。示例配置可以是端点的最新推荐安全配置。
在步骤三(3),用户可以经由管理装置103请求对IoT通信系统105的配置更改。更改请求可以是创建、更新或删除端点的请求。更改请求还可以包括端点应该与自定义或默认处理逻辑和/或设置相关联的指示。例如,用户可以配置端点以支持密码安全协议扩展,诸如最大片段长度扩展或记录大小限制扩展。
在步骤四(4),IoT通信系统105可以处理更改请求。特别地,管理服务112可以处理更改请求。例如,管理服务112可以创建、更新或删除端点。特别地,管理服务112可以创建、更新或删除关于配置数据存储区108中的端点的元数据。例如,为最大片段长度扩展或记录大小限制扩展配置的端点列表可以存储在数据结构中,诸如端点白名单。
在步骤五(5),IoT通信系统105可以向管理装置103提供更新的配置信息。管理服务112可以将更新的配置信息呈现给用户。例如,用户可以查看对端点的配置和/或设置的任何更改。
参考图4,描绘了用于与IoT通信系统105的部件通信的说明性交互。图4的环境400可以类似于图1的环境100。图4中描绘的交互是示例交互,其中一些可以是任选的,这取决于环境或实施方案。在其他实施方案中,根据本公开,其他交互(未示出)可能是可能的。类似于图1的通信描绘,并非每一可能的通信都可以在图4中描绘。
图4的交互开始于步骤一(1),其中IoT装置102将客户端消息发送到网关114。客户端消息可以包括端点的指示。客户端消息可以是子应用通信层的消息。例如,客户端消息可以是来自密码安全协议(例如,TLS)的消息,诸如客户端问候消息。客户端消息可以包括客户端消息的服务器名称指示(SNI)字段中的信息,诸如端点指示,其可以是主机名或服务器名。如本文所述,SNI字段通常用于允许服务器在相同的IP地址和TCP端口号上提供多个证书。在依赖于诸如TCP之类的不同通信协议的其他实施方案中,可以使用另一个字段来指示与配置相关的信息,诸如端点。
在步骤二(2),网关114可以处理客户端消息。例如,网关114可以从客户端消息中提取配置相关信息。在SNI示例中,网关114可以从客户端消息的SNI字段中提取端点名称。
在步骤三(3),网关114可以从配置服务116请求配置信息。例如,网关114可以请求包括在客户端消息中的端点的配置信息。在一些实施方案中,配置服务116可以嵌入在网关114中。附加地或替代地,网关114可以包括配置信息的数据结构,诸如高速缓存。因此,网关114可以快速检索配置信息,这可能有利于不过度地延迟响应时间以在诸如TLS或SSL的某些通信协议下发送消息。
在步骤四(4),配置服务116可以评估配置请求。例如,配置服务116可以在诸如白名单之类的数据结构中查找端点。配置数据可以指示以特定方式配置端点,诸如通过实现特定密码安全协议扩展(诸如最大片段长度扩展或记录大小限制扩展)、实现特定密码安全协议版本、实现特定认证特征(诸如多级通配符域证书特征)、实现自定义授权器、和/或实现安全证书的特定版本。
在步骤五(5),网关114从配置服务116接收配置响应。在步骤六(6),网关114处理配置响应。基于端点的特定配置,网关114可以应用自定义或默认处理逻辑和/或设置。例如,自定义或默认处理逻辑和/或设置可以与以下操作相关:实现特定密码安全协议扩展(诸如最大片段长度扩展或记录大小限制扩展)、实现特定密码安全协议版本、实现特定认证特征(诸如多级通配符域证书特征)、实现自定义授权器、和/或实现安全证书的特定版本。在配置最大片段长度扩展或记录大小限制扩展的情况下,网关114可以从客户端消息中提取自定义片段长度。网关114可以处理自定义片段长度,诸如通过实现密码安全协议。特别地,网关114可以被配置用于片段或记录扩展以发送确认自定义片段或记录长度和/或将片段或记录的大小限制为自定义片段或记录长度的后续消息。
在步骤七(7),网关114将服务器消息发送到IoT装置102。服务器消息可以基于执行的自定义或默认处理逻辑和/或设置。服务器消息可以是子应用通信层的消息。如果执行的自定义处理逻辑产生了一些数据,则所述数据可以包括在服务器消息中。例如,在配置最大片段长度扩展或记录大小限制扩展的情况下,服务器消息可以是TLS或SSL服务器问候消息,其包括商定的片段或记录大小。服务器消息也可以是握手完成后并且符合商定的片段或记录大小的消息。服务器消息还可以对应于如何配置端点,诸如通过符合特定密码安全协议版本、特定认证特征(诸如多级通配符域证书特征),包括授权响应,和/或包括安全证书的特定版本。
图5是描绘由IoT通信系统105实现的用于配置IoT通信系统105的端点和/或其他方面的示例方法500的流程图。如本文所述,IoT通信系统105可以包括管理服务112。在一些实施方案中,管理服务112可以包括管理应用222,并且可以实现方法500的各个方面。此外,方法500的一些方面可以参照图5在上面进行描述。
从框502开始,可以接收端点请求。特别地,管理应用222可以从管理装置103接收端点请求。用户可以经由管理装置103请求关于一个或多个端点的信息,诸如接收一个或多个现有端点的元数据的请求。如本文所述,端点元数据可以是现有端点的设置和/或配置,或者是特定客户端的端点列表。关于端点的元数据可以存储在配置数据存储区108中。管理服务112可以接收对信息的请求。关于一个或多个端点的元数据可以存储在配置数据存储区108中。
在框504,可以提供端点信息。特别地,管理应用222可以向管理装置103提供端点元数据。管理应用222可以向配置数据存储区108查询元数据。管理应用222可以将元数据发送到管理装置103。元数据可以指示端点的当前配置和/或设置,其可以是默认配置和/或默认设置。示例配置可以是端点的最新推荐安全配置。管理装置103可以在用户界面中将端点元数据呈现给用户。
在框506,可以接收端点配置请求。特别地,管理应用222可以从管理装置103接收端点配置请求。例如,端点配置请求可以是添加、更新或删除端点的请求。该请求可以进一步指示端点是应该与默认还是自定义处理逻辑和/或设置相关联。例如,在本文描述的其他自定义中,用户可以配置端点以支持密码安全协议扩展,诸如扩展,诸如最大片段长度扩展或记录大小限制扩展。
在框508,可以处理配置请求。特别地,管理应用222可以处理更改请求。例如,管理服务112可以创建、更新或删除端点。管理应用222可以更新配置数据存储区108中的数据结构以更新或添加端点,诸如通过将端点添加到白名单。如本文所述,为最大片段长度扩展或记录大小限制扩展配置的端点列表可以存储在数据结构中,诸如端点白名单。如本文所述,网关114可以高速缓存端点配置中的一些。因此,在经过一段时间(诸如每五分钟)之后,可以将更新的数据结构存储在网关114上。
在框510,可以提供配置信息。特别地,管理应用222可以向管理装置103提供更新的配置信息。例如,在创建、更新或删除端点之后,管理应用222可以向管理装置103提供对动作的确认。管理服务112可以将更新的配置信息呈现给用户。例如,用户可以查看对端点的配置和/或设置的任何更改。
图6是描绘由IoT通信系统105实现的用于与IoT装置通信的示例方法600的流程图。如本文所述,IoT通信系统105可以包括网关114和配置服务116。在一些实施方案中,网关114可以包括通信应用216,并且可以实现方法600的各个方面。此外,方法600的一些方面可以参照图6在上面进行描述。
从框602开始,可以接收客户端消息。例如,网关114和/或通信应用216可以从IoT装置102接收客户端消息。客户端消息可以指示端点,诸如通过包括端点的标识符。如本文所述,客户端消息可以是子应用通信层的消息。客户端消息可以包括密码安全协议消息,诸如作为TLS或SSL消息。例如,客户端消息可以是TLS或SSL客户端问候消息。如本文所述,在一些实施方案中,客户端消息可以包括在客户端消息的服务器名称指示(SNI)字段中的信息。SNI字段可以包括端点的指定,诸如主机或服务器名称。如本文所述,SNI字段通常用于允许服务器在相同的IP地址和TCP端口号上提供多个证书。然而,IoT通信系统105可以使用SNI字段中的信息来配置网关114的行为,如本文所述。
在框604,可以处理客户端消息。特别地,网关114可以处理客户端消息。例如,网关114的通信应用216可以从客户端消息中提取数据,诸如来自消息的字段值,其可以包括端点指定。
在框606,可以确定端点的自定义。特别地,网关114和/或通信应用216可以确定端点是否是自定义的,诸如通过与自定义处理逻辑和/或设置相关联。例如,通信应用216可以确定端点是否被配置为支持自定义的片段。如果端点是自定义的,则方法600可以前进到框608以基于自定义的设置来处理客户端消息(例如,端点被配置为支持自定义的片段)。另选地,如果端点不是自定义的,则方法600可以前进到框610以基于默认设置来处理客户端消息(例如,端点未被配置为支持自定义的片段)。
在一些实施方案中,通信应用216可以与配置服务116通信以确定端点是否是自定义的。通信应用216可以查询配置服务116。来自配置服务116的响应可以指示端点与自定义处理逻辑和/或设置相关联。在其他实施方案中,配置服务116可以将配置数据和/或更新推送到网关114。配置服务116可以从配置数据存储区108中检索端点配置。例如,通信应用216和/或配置服务116可以通过查询白名单来确定端点是否被配置为支持自定义的片段。示例白名单可以存储在配置数据存储区108中。示例白名单可以包括为自定义片段或其他自定义设置配置的多个端点指定。如本文所述,网关114可以存储高速缓存配置数据的本地数据结构。本地数据结构可以在经过一段时间后更新。
在框608,可以执行自定义处理逻辑和/或可以应用自定义设置。网关114和/或通信应用216可以执行自定义处理逻辑和/或应用自定义设置。自定义处理逻辑的执行可以改变不同于默认处理逻辑的行为的(网关114和/或通信应用216的)处理行为。例如,自定义处理逻辑的执行和/或自定义设置的应用不仅仅是依靠SNI字段来选择特定的证书。自定义处理逻辑的执行可以改变网关114和/或通信应用216与IoT装置102通信的行为,例如,以选择特定密码安全协议版本、特定认证特征(诸如多级通配符域证书特征),和/或使用自定义授权器。自定义处理逻辑的执行可以生成数据,该数据可以包括在对IoT装置102的服务器响应中。通信应用216可以至少部分地基于自定义处理逻辑的执行向IoT装置102发送服务器消息。服务器消息可以是子应用通信层的消息。例如,服务器消息可以是TLS或SSL服务器问候消息。可以基于自定义的设置处理服务器消息。特别地,通信应用216可以基于自定义的设置来处理客户端消息。
在自定义片段示例下,通信应用216可以从客户端消息中提取自定义片段长度。通信应用216可以通过与IoT装置102协商最大片段长度来进一步处理自定义片段长度。通信应用216可以至少部分地基于自定义片段长度将服务器消息发送到IoT装置102。如本文所述,服务器消息可以是TLS或SSL服务器问候消息。继续自定义片段示例,如果通信应用216接受自定义片段长度,则通信应用216可以准备并发送接受所提议参数的服务器消息,诸如通过在服务器消息中包括自定义片段长度,即与IoT装置102请求的自定义片段长度相同的值。另选地,如果通信应用216拒绝自定义片段长度,则通信应用216可以准备并发送拒绝所提议参数的服务器消息,诸如通过指示非法参数警报。IoT装置102随后可以协商不同的片段长度。
在一些实施方案中,自定义处理逻辑可以与密码安全协议的特定版本相关联。因此,通信应用216可以执行对应于密码安全协议的特定版本的指令。例如,密码安全协议的特定版本可以是TLS版本1.1、1.2或1.3。网关114因此可以基于端点的特定密码安全协议版本配置来触发不同的代码指令或代码路径。
在一些实施方案中,自定义处理逻辑可以包括认证特征。示例认证特征可以是多级通配符域证书特征的几种实现之一。例如,IoT通信系统105可以与自定义的多级通配符域证书特征或符合规范的多级通配符域证书特征相关联。取决于客户端和端点,对应的IoT装置的认证特征实现可以与端点和/或网关114的配置方式相匹配。因此,网关114可以启用特定的多级通配符域证书特征。
在一些实施方案中,自定义处理逻辑可以与自定义授权器相关联。此外,通信应用216可以调用自定义授权器。自定义授权器可以被配置为授权来自IoT装置的请求。示例自定义授权器可以使客户端能够编写可以由按需代码执行系统执行的自定义授权功能。自定义授权器可以接收令牌作为输入。自定义授权器可以返回身份和访问管理(IAM)策略作为输出。因此,客户端可以使用不同的授权器以自定义方式配置端点。
在一些实施方案中,自定义处理逻辑可以与安全证书的特定版本相关联。因此,通信应用216可以生成包括安全证书的特定版本的响应数据。例如,一段时间后,某些证书可能会被弃用,诸如某些机构或应用不信任这些证书。但是,特定客户端可能有要求或需要继续使用过时的证书,并且可能会发现使用该证书的相关风险是可以接受的。因此,客户端可以将端点配置为使用过时的证书,并且一些IoT装置可以基于配置继续接收特定的证书。
在框610,可以执行默认处理逻辑和/或可以应用默认设置。可以基于默认设置处理客户端消息。特别地,网关114和/或通信应用216可以基于默认设置来处理客户端。例如,如果端点未被配置用于特定自定义,诸如自定义的片段,则通信应用216基于默认片段与IoT装置通信。通信应用216可以至少部分地基于默认处理逻辑的执行将服务器消息(诸如,在子应用通信层的服务器消息)发送到IoT装置102。如本文所述,默认处理逻辑和/或设置可以与默认密码安全协议版本、默认认证特征(诸如多级通配符域证书特征)、默认授权器和/或安全证书的默认版本相关联。因此,一些IoT装置可以与网关114交互,就好像不存在诸如片段或记录大小扩展之类的扩展一样。
在自定义片段示例中,通信应用216可以至少部分地基于默认片段长度将服务器消息发送到IoT装置102。例如,通信应用216可以放弃尝试从客户端消息中提取片段长度(这将是适当的,因为IoT装置可能正在使用不支持自定义片段的较旧密码安全协议)并且可以使用默认片段长度将记录发送到IoT装置102。此外,通信应用216可以省略包括与自定义片段相关的任何数据,因为端点没有被配置用于自定义片段。
将理解,并非所有目的或优点都可根据本文描述的任何特定实施方案来实现。因此,例如,本领域技术人员将认识到,某些实施方案可被配置为按照实现或优化如本文所教导的一个优点或一组优点而不一定实现可在本文中教导或暗示的其他目的或优点的方式来操作。
本文描述的所有过程可以在由包括一个或多个计算机或处理器的计算系统执行的软件代码模块中体现并且经由所述软件代码模块来完全自动化。这些代码模块可存储在任何类型的非暂时性计算机可读介质或其他计算机存储装置中。可以在专用计算机硬件中体现所述方法中的一些或全部。
根据本公开,除了本文描述的变化之外的许多其他变化将明显。例如,依据实施方案,可按照不同顺序执行、可添加、合并或完全省去本文描述的算法中的任一者的某些动作、事件或功能(例如,不是所有的所描述的动作或事件对于算法的实践来说都是必要的)。此外,在某些实施方案中,可同时(例如,通过多线程处理、中断处理或多个处理器或处理器核心或在其他并行架构上)而非循序地执行动作或事件。另外,不同的任务或过程可由可一起运行的不同机器和/或计算系统执行。
可通过机器来实施或执行结合本文公开的实施方案而描述的各种说明性逻辑块和模块,所述机器诸如为处理单元或处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑装置、离散门或晶体管逻辑、离散硬件部件、或其任何组合,经设计以执行本文描述的功能。处理器可以是微处理器,但在替代方案中,处理器可以是控制器、微控制器或状态机、它们的组合等。处理器可包括被配置为处理计算机可执行指令的电路。在另一实施方案中,处理器包括在不处理计算机可执行指令的情况下执行逻辑操作的FPGA或其他可编程装置。处理器还可实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器、一个或多个微处理器与DSP核心的联合、或任何其他此类配置。虽然本文主要关于数字技术进行描述,但处理器还可主要包括模拟部件。例如,本文所述的信号处理算法中的一些或所有可以在模拟电路或混合的模拟和数字电路中实现。计算环境可包括任何类型的计算机系统,包括(但不限于)基于微处理器、大型计算机、数字信号处理器、便携式计算装置、装置控制器或电器内的计算引擎(仅举几例)的计算机系统。
除非另有明确规定,否则诸如尤其是“能够”、“可以”、“可能”或“可”等条件语言在上下文内应另外理解为一般用于传达某些实施方案包括某些特征、元件和/或步骤,而其他实施方案不包括某些特征、元件和/或步骤。因此,此类条件语言通常并非意图暗示无论如何所述特征、元件和/或步骤都是一个或多个实施方案必需的,或者并非暗示一个或多个实施方案必须包括用于在借助和不借助用户输入或提示下决定是否包括这些特征、元件和/或步骤或者是否在任何特定实施方案中实施这些特征、元件和/或步骤的逻辑。术语“包括(comprising)”、“包括(including)”、“具有”等是同义的并以开放形式包括性地使用,并且不排除附加元件、特征、动作、操作等。此外,如本文所用,术语“每个”除了具有其普通含义外,还可以表示应用了术语“每个”的一组元素的任何子集。
除非另有明确规定,否则诸如措辞“X、Y或Z中的至少一者”等连接性语言在上下文另外被理解为一般用于呈现项目、项等可以是X、Y或Z或它们的任何组合(例如,X、Y和/或Z)。因此,此类连接性语言一般无意并且不应将暗示某些实施方案需要存在X中的至少一者、Y中的至少一者或Z中的至少一者。
在本文描述和/或在附图中描绘的流程图中的任何过程描述、元素或框应理解为潜在地表示包括用于实施所述过程中的特定逻辑功能或元素的一个或多个可执行指令的代码的模块、段或部分。本领域技术人员将理解,在本文描述的实施方案的范围内包括了替代性实现方式,其中元素或功能可删除、按照不同于所示出或论述的次序执行,包括基本上同时执行或以相反次序执行,这取决于所涉及的功能性。
除非另外明确规定,否则诸如“一(a)”或“一(an)”等冠词一般应理解为包括一个或多个所描述的物品。因此,诸如“被配置为……的装置”等措辞意在包括一个或多个所述装置。此类一个或多个所述装置还可共同地被配置为执行所陈述的叙述。例如,“被配置为执行叙述A、B和C的处理器”可包括与被配置为执行叙述B和C的第二处理器联合工作的被配置为执行叙述A的第一处理器。
应当强调的是,可以对上述实施方案做出许多变化和修改,这些变化和修改的元素应当被理解为是在其他可接受的示例之中。在本文中,所有此类修改和变化意在包括在本公开的范围内,并且受以下权利要求书保护。

Claims (20)

1.一种计算机实现的方法,所述方法包括:
在配置有特定计算机可执行指令的计算机硬件处理器的控制下,
在协议栈的子应用通信层从第一物联网(IoT)装置接收第一消息,所述第一消息指示第一端点,其中所述子应用通信层在所述协议栈的应用层之下,并且其中所述第一端点与目的地相对应,所述目的地经由与所述第一端点不同的网关装置与所述第一IoT装置通信;
确定所述第一端点与自定义处理逻辑相关联;
响应于确定所述第一端点与所述自定义处理逻辑相关联,致使执行所述自定义处理逻辑,其中所述自定义处理逻辑的所述执行改变不同于默认处理逻辑的行为的处理行为;以及
至少部分地基于所述自定义处理逻辑的所述执行,在所述子应用通信层向所述第一IoT装置发送第二消息。
2.根据权利要求1所述的计算机实现的方法,其中所述第一消息包括传输层安全(TLS)客户端问候消息。
3.根据权利要求2所述的计算机实现的方法,其中所述第一消息在所述第一消息的第一服务器名称指示(SNI)字段中指示所述第一端点。
4.根据权利要求1所述的计算机实现的方法,其中确定所述第一端点与所述自定义处理逻辑相关联还包括:
确定所述第一端点被配置为支持自定义的片段,并且其中应用所述自定义处理逻辑还包括:
从所述第一消息中提取自定义片段长度;以及
处理所述自定义片段长度。
5.根据权利要求1所述的计算机实现的方法,所述方法还包括:
在所述子应用通信层从第二IoT装置接收第三消息,所述第三消息指示第二端点;
确定所述第二端点与所述默认处理逻辑相关联;
响应于确定所述第二端点与所述默认处理逻辑相关联,致使执行所述默认处理逻辑;以及
至少部分地基于所述默认处理逻辑的所述执行,在所述子应用通信层向所述第二IoT装置发送第四消息。
6.根据权利要求1所述的计算机实现的方法,其中确定所述第一端点与自定义处理逻辑相关联还包括:
识别包括多个端点的白名单中的所述第一端点。
7.一种系统,所述系统包括:
数据存储介质;和
与所述数据存储介质通信的一个或多个计算机硬件处理器,其中所述一个或多个计算机硬件处理器被配置为执行计算机可执行指令以至少:
在协议栈的子应用通信层从物联网(IoT)装置接收第一消息,所述第一消息指示第一端点,其中所述子应用通信层在所述协议栈的应用层之下,并且其中所述第一端点与目的地相对应,所述目的地经由与所述第一端点不同的网关装置与所述IoT装置通信;
确定所述第一端点与自定义处理逻辑相关联;
执行改变与默认处理逻辑的行为不同的处理行为的所述自定义处理逻辑,其中为了执行所述自定义处理逻辑,所述一个或多个计算机硬件处理器被配置为执行进一步的计算机可执行指令以至少:
生成第一数据;以及
在所述子应用通信层向所述IoT装置发送第二消息,所述第二消息包括所述第一数据。
8.根据权利要求7所述的系统,其中所述第一消息包括密码安全协议消息。
9.根据权利要求7所述的系统,其中所述自定义处理逻辑与密码安全协议的特定版本相关联,并且其中为了执行所述自定义处理逻辑,所述一个或多个计算机硬件处理器被配置为执行进一步的计算机可执行指令以至少:
执行与所述密码安全协议的所述特定版本相对应的指令。
10.根据权利要求7所述的系统,其中所述自定义处理逻辑包括认证特征。
11.根据权利要求10所述的系统,其中所述认证特征与多级通配符域证书特征相关联,并且其中为了执行所述自定义处理逻辑,所述一个或多个计算机硬件处理器被配置为执行进一步的计算机可执行指令以至少:
启用所述多级通配符域证书特征。
12.根据权利要求7所述的系统,其中所述自定义处理逻辑与自定义授权器相关联,并且其中为了执行所述自定义处理逻辑,所述一个或多个计算机硬件处理器被配置为执行进一步的计算机可执行指令以至少:
调用所述自定义授权器,其中所述自定义授权器被配置为授权来自所述IoT装置的请求。
13.根据权利要求7所述的系统,其中所述自定义处理逻辑与安全证书的特定版本相关联,并且其中为了生成所述第一数据,所述一个或多个计算机硬件处理器被配置为执行进一步的计算机可执行指令以至少:
将所述安全证书的所述特定版本并入到所述第一数据中。
14.一种系统,所述系统包括:
数据存储介质;和
与所述数据存储介质通信的一个或多个计算机硬件处理器,其中所述一个或多个计算机硬件处理器被配置为执行计算机可执行指令以至少:
在协议栈的子应用通信层从物联网(IoT)装置接收第一消息,所述第一消息指示第一端点,其中所述子应用通信层在所述协议栈的应用层之下,并且其中所述第一端点与目的地相对应,所述目的地经由与所述第一端点不同的网关装置与所述IoT装置通信;
确定所述第一端点与自定义处理逻辑相关联;
致使执行所述自定义处理逻辑,其中所述自定义处理逻辑的所述执行改变不同于默认处理逻辑的行为的处理行为;以及
至少部分地基于所述自定义处理逻辑的所述执行,在所述子应用通信层向所述IoT装置发送第二消息。
15.根据权利要求14所述的系统,其中所述数据存储介质存储包括多个端点的数据结构,并且其中为了确定所述第一端点与自定义处理逻辑相关联,所述一个或多个计算机硬件处理器被配置为执行进一步的计算机可执行指令以至少:
识别包括所述多个端点的所述数据结构中的所述第一端点。
16.根据权利要求15所述的系统,其中所述一个或多个计算机硬件处理器被配置为执行进一步的计算机可执行指令以至少:
从管理装置接收添加或更新第二端点的请求,所述请求指示所述第二端点应该与所述自定义处理逻辑相关联;以及
生成包括所述第二端点的更新数据结构。
17.根据权利要求16所述的系统,其中所述请求还经由以下至少一者来接收:图形用户界面、命令行界面或应用编程界面。
18.根据权利要求16所述的系统,其中所述一个或多个计算机硬件处理器被配置为执行进一步的计算机可执行指令以至少:
经过一段时间后,将所述更新数据结构存储在所述数据存储介质中。
19.根据权利要求14所述的系统,其中为了确定所述第一端点与自定义处理逻辑相关联,所述一个或多个计算机硬件处理器被配置为执行进一步的计算机可执行指令以至少:
查询配置服务以确定所述第一端点的配置;以及
从所述配置服务接收指示所述第一端点与所述自定义处理逻辑相关联的响应。
20.根据权利要求14所述的系统,其中所述自定义处理逻辑与通信协议的特定版本相关联,并且其中为了执行所述自定义处理逻辑,所述一个或多个计算机硬件处理器被配置为执行进一步的计算机可执行指令以至少:
执行对应于所述通信协议的所述特定版本的指令。
CN202080080449.7A 2019-11-24 2020-11-24 计算机实现的物联网通信系统及方法 Active CN115039385B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962939641P 2019-11-24 2019-11-24
US62/939,641 2019-11-24
US16/712,896 US11343318B2 (en) 2019-11-24 2019-12-12 Configurable internet of things communications system
US16/712,896 2019-12-12
PCT/US2020/061971 WO2021102444A1 (en) 2019-11-24 2020-11-24 Configurable internet of things communications system

Publications (2)

Publication Number Publication Date
CN115039385A CN115039385A (zh) 2022-09-09
CN115039385B true CN115039385B (zh) 2023-09-22

Family

ID=75974752

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080080449.7A Active CN115039385B (zh) 2019-11-24 2020-11-24 计算机实现的物联网通信系统及方法

Country Status (3)

Country Link
US (1) US11343318B2 (zh)
CN (1) CN115039385B (zh)
WO (1) WO2021102444A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11562057B2 (en) 2020-02-05 2023-01-24 Quantum Digital Solutions Corporation Ecosystem security platforms for enabling data exchange between members of a digital ecosystem using digital genomic data sets
CA3177626A1 (en) 2021-02-04 2022-08-11 Quantum Digital Solutions Corporation Cyphergenics-based ecosystem security platforms
WO2023154072A1 (en) * 2022-02-08 2023-08-17 QuSecure, Inc. System ans methods for switching among communication protocols

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7620821B1 (en) * 2004-09-13 2009-11-17 Sun Microsystems, Inc. Processor including general-purpose and cryptographic functionality in which cryptographic operations are visible to user-specified software
CN108293017A (zh) * 2015-12-08 2018-07-17 霍尼韦尔国际公司 用于使用物联网边缘安全网关的装置和方法
EP3496357A1 (en) * 2017-12-08 2019-06-12 Cork Institute Of Technology Method and device for enabling interoperability between networked iot devices in heterogeneous networks

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170187831A1 (en) * 2015-12-29 2017-06-29 Itron, Inc. Universal Abstraction Layer and Management of Resource Devices
US10616314B1 (en) * 2015-12-29 2020-04-07 Amazon Technologies, Inc. Dynamic source routing for data transfer
US20170223054A1 (en) * 2016-02-02 2017-08-03 Cisco Technology, Inc. Methods and Apparatus for Verifying Transport Layer Security Server by Proxy
KR102512364B1 (ko) * 2016-08-12 2023-03-22 인텔 코포레이션 저전력 광역 인터넷 프로토콜 통신
US10705864B2 (en) * 2017-05-24 2020-07-07 Twilio Inc. System and method for platform-integrated custom applications
US10798129B2 (en) * 2017-07-10 2020-10-06 Ebay Inc. Constraint-based multiuse certificates

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7620821B1 (en) * 2004-09-13 2009-11-17 Sun Microsystems, Inc. Processor including general-purpose and cryptographic functionality in which cryptographic operations are visible to user-specified software
CN108293017A (zh) * 2015-12-08 2018-07-17 霍尼韦尔国际公司 用于使用物联网边缘安全网关的装置和方法
EP3496357A1 (en) * 2017-12-08 2019-06-12 Cork Institute Of Technology Method and device for enabling interoperability between networked iot devices in heterogeneous networks

Also Published As

Publication number Publication date
CN115039385A (zh) 2022-09-09
EP4062625A1 (en) 2022-09-28
US11343318B2 (en) 2022-05-24
WO2021102444A1 (en) 2021-05-27
US20210160325A1 (en) 2021-05-27

Similar Documents

Publication Publication Date Title
CN115039385B (zh) 计算机实现的物联网通信系统及方法
KR102444106B1 (ko) 데이터 웨어하우스로부터 외부 함수를 호출하는 것
JP6935496B2 (ja) メッセージングプロトコル通信の管理
US20180309819A1 (en) Endpoint management system providing an application programming interface proxy service
WO2019100921A1 (zh) 消息推送方法及装置
US20120096043A1 (en) Data graph cloud system and method
US8296774B2 (en) Service-based endpoint discovery for client-side load balancing
WO2019113486A1 (en) Local profile assistant and application programming interface
US11265209B2 (en) System and method for dynamic and extensible management of device nodes
US20130290453A1 (en) System and method for a connector being able to adapt to newer features introduced to a messaging provider with only configuration changes
CN109918191B (zh) 一种业务请求防频的方法和装置
US10048713B2 (en) Energy operations across domains
WO2023087769A1 (zh) 基于分布式流计算引擎Flink的关键字段实时去重方法
US20180347842A1 (en) Energy operations across domains
WO2023011274A1 (zh) 一种通讯协议转换方法、设备、系统及网关设备
WO2020042973A1 (zh) 用于安全认证的数据处理方法、服务器、客户端设备和介质
US20170237687A1 (en) Resource trees by management controller
US9503420B2 (en) Logical network separation method and apparatus
WO2016074499A1 (zh) 调用路由算法的方法及sdn控制器和sdn-oaf
US9864691B1 (en) Deletion indication implementation based on internal model
EP4062625B1 (en) Configurable internet of things communications system
WO2017136979A1 (zh) 一种远程访问的实现方法、装置和系统
CN109240621A (zh) 一种非易失性内存储器管理方法与装置
US11582177B2 (en) Email tracking
US20120167092A1 (en) System and method for improved service oriented architecture

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
GR01 Patent grant
GR01 Patent grant