用于数据通信的系统和方法技术方案

技术编号:38511274 阅读:6 留言:0更新日期:2023-08-19 16:55
描述了一种中间件系统和对应的方法,其中使用与计算元件(如接口、方法、参数、类等)相对应的加密标识符集合凭借该中间件系统和对应的方法来协调设备间或设备内的数据通信。加密标识符被耦合到跨中间件系统发送的数据消息,并被处理以指示遵守协议标准和/或引起数据消息的变换,以便接收方接收到遵守其可接受的协议标准的数据消息。议标准的数据消息。议标准的数据消息。

【技术实现步骤摘要】
【国外来华专利技术】用于数据通信的系统和方法
[0001]交叉引用
[0002]本申请是2020

05

27日提交的名称为“用于数据通信的系统和方法(Systems and Methods for Data Communications)”美国申请第63/030576号的非临时性申请并要求其全部优先权,该申请通过引用以其全文并入本文。


[0003]本公开的实施例总体涉及计算机联网和数据通信领域,并且更具体地,实施例涉及用于使用加密签名有效地路由和协调数据通信的设备、系统和方法。
[0004]引言
[0005]数据通信已变得越来越复杂,特别是考虑到不同标准和协议的激增。
[0006]一个系统可以包含松散耦合的异构设备集合,这些设备需要在彼此之间进行可靠的通信。例如,这些通信可以根据通信的语法/格式要求或消息封装(例如,特定报头信息)要求进行。
[0007]所存在的现有中间件解决方案提供了消息总线类型的机制,例如,可以对异步传递的消息进行排队和缓冲。
[0008]然而,这些解决方案具有技术缺陷,这可能包括要求集中式系统调用特定机器上的服务(例如,提供中心故障点),从而仅经由与集中式凭证提供方的HTTPS连接作为附加组件提供安全性以及较差的访问控制(例如,当访问控制列表被添加到方法中时,没有设施来限制用户对服务、应用程序、类、接口或方法的访问,并且这需要与系统分开构建)。这些缺点导致了通信不可信,以及与不同协议“堆栈”之间的设备通信相关的困难,从而导致互操作性孤岛或竖井。即使是方案依从性方面的细微差异,如语法差异、用作参数的变量类型不同等,也可能导致消息丢失、未处理的异常等。
[0009]从消息目标取向的角度来看,在服务调用中通常很少甚至没有目标用户的概念对于XMPP服务,目标用户不是实际用户,而是调用远程服务的一种手段,并且在大多数情况下,无法与防火墙(P2P)后面的服务通信。现有方法还容易受到中间人(MITM)类型的攻击,如果恶意用户可以访问web服务器环境,那么可以访问服务机器的该恶意用户可以凭借中间人类型攻击编写软件来使用调用。当可执行代码在执行之前未签名(例如,验证)时,这可能特别有问题。
[0010]机器到机器接口的示例方法包括XML

RPC、SOAP和REST,所有这些方法都与不兼容问题作斗争,因此,机器到机器通信通常是为以人为中心的互联网标准设计的拼凑方法,或者在一个(或几个)计算孤岛共享证书体系、访问控制和互通的简单定义的封闭系统中,其中解决孤岛问题的最常见方式是挑选一个中央提供方来管理设备之间的互通,如与谷歌助手(WWGA)或亚马逊的Alexa语音服务(AVS)的协作。这需要服务的发布者从有限的提供方列表中挑选一个(或多个)获胜者,或者建立其自己的孤岛。即使在挑选商业中央提供方时,设计者也可能会发现自己在招募竞争对手,以便有机会与其他服务进行互连。然而,该方法仍有缺点,因为标准可能很薄、功能有限,并且在任何时候,新的许可证或所有者可能会使其
中央提供方不受欢迎或无法继续使用。
[0011]无论开发者是选择XML

RPC、SOAP、REST、CORBA、DCOM、XMPP Jabber Components、WWN、WWGA、AVS还是其他技术,他们都面临缺点。

技术实现思路

[0012]现有协议通常具有一个或多个可调用方法的弱服务定义,没有应用定义的概念,也没有要由服务提供方捆绑的应用程序集合,并且不提供识别或确认己发布接口、类、应用程序、服务的作者的能力,也不提供识别或确认服务发布者的标识(即,本文中描述的软件包)的能力,正是这种弱服务定义使得难以跨设备进行强接口发现。
[0013]在各种实施例中描述了一种改进的计算方法。该方法包括对应的系统、方法、计算机可读介质(例如,基于计算机的制造物品)。该方法可以实现为一种提供改进的计算中间层(例如“中间件”)的计算系统。计算层是消息处理程序组件集合,其可以用于协调设备和/或逻辑对象之间的消息传递(例如,设备间或设备内通信)。计算层实际上是中间设备集合,如向连接的设备提供消息传递服务的路由器、交换机、交换电路。
[0014]消息传递服务可以包括设备间通信、设备内通信等,并且消息传递服务还可以包括在消息缓冲器中对消息进行排队/存储以用于异步通信、握手协议、消息传输确认/确认接收、纠错码实现等。消息传递服务可以操作例如面向消息的中间件。
[0015]当用于封装或处理消息的接口类型存在高度复杂性时,消息传递服务尤为重要。例如,设备可能是针对不同堆栈构建的,或者针对需要彼此交互的不同代系统(例如,传统的基于COBOL的系统)构建的不同设备的异构混合。
[0016]这一问题在企业级组织中尤为普遍,因为随着组织规模的扩大,复杂的后端计算基础设施是在多代计算技术上逐步构建的。在另一示例计算上下文中,本文所描述的中间件方面也可以关于智能家居/物联网应用来使用,其中存在需要改进的通信服务的潜在大量异构设备(例如,其中基本的点对点通信不再足够)。
[0017]本文所述的计算方法涉及一种用于设备和逻辑对象(例如,调用方/被调用方)之间的数据消息封装和路由的改进协议。计算系统可以是一个或多个服务器,它们可以彼此相结合地操作以提供改进的消息协调/路由平台,该平台操作以使分布式系统的各个组件能够通信和管理数据。计算系统适于实现互操作性和改进的通信流,以简化和改进设备间通信的安全性/鲁棒性。
[0018]可以在邮件服务器的上下文中提供说明性的非限制性示例。不同技术堆栈可能有不同类型的接口协议,如Microsoft Exchange
TM
、IBM Lotus
TM
以及Google Mail
TM
和Yahoo Mail
TM
。虽然这些技术中的每一种表面上都可以使用简单邮件传输协议(SMTP)进行操作,但出于本示例的目的,除了SMTP之外,这些技术堆栈中的每一种使用具有自定义方法的不同的非标准、潜在的专有邮件协议,从而有效地为其邮件API提供了非标准变型。
[0019]在该示例中,每个组织都投入了大量的时间和精力来改进底层接口定义,但结果是,接口的可操作性偏离了通用标准,并且可能使用不同的数据消息/处理方案,且来自一个设备的消息在发送到另一个设备时可能存在处理困难。当组织调整其技术以适应其特定上下文时,通常会遇到非标准变型。通信协议和方案以非标准化的方式得到修改,如重新调整字段用途、更改变量类型、添加或删除参数作为命令行参数(arguments)、需要增强加密
等。非标准化允许更灵活地使用技术堆栈。然而,对于建立技术互操作性非标准化也会导致巨大成本(例如,添加新设备或新技术合作伙伴需要大量的系统集成工作)。
[0020]该系统被配置为通过实现一种用于协调数据消息传递的计算机实现的方法来减轻上述技术挑战。根据一些实施例,该系统可以包括计算组件本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于协调数据消息传递的计算机实现的系统,所述系统包含:耦合到计算机存储器的处理器,所述处理器被配置为:生成表示与硬件设备或软件处理程序相关联的计算元件的一个或多个交互特征的加密标识符集合;从源设备接收用于路由到目标设备或与所述目标设备相关联的逻辑目标以进行处理的新消息,所述新消息包括所述加密标识符集合中的至少一个加密标识符;基于与所述新消息的所述至少一个加密标识符相对应的所述计算元件来处理所述新消息;以及将所述经处理的新消息路由到所述目标设备。2.根据权利要求1所述的系统,其中使用跨越多个接口交互层的级联散列来生成所述加密标识符集合,使得所述级联散列提供散列相互关系的层次结构,所述层次结构可以用于验证相对于在所述多个接口交互层内的定位,较低的加密标识符属于较高的加密标识符。3.根据权利要求2所述的系统,其中所述多个接口交互层包括以下中的至少两者:参数、包括所述参数作为命令行参数的可编程系统、包含所述一个或多个可编程系统的可编程接口、包含所述一个或多个可编程接口的可编程类、包含所述一个或多个可编程类的可编程应用程序以及包含所述一个或多个可编程应用程序的编程服务;并且其中所述级联散列合并了指示所述多个接口交互层的相关元件之间的关系的散列关系。4.根据权利要求1所述的系统,其中所述处理所述新消息包含:(i)通过使用访问控制列表(ACL)将所述新消息的所述至少一个加密标识符与所述新消息的发起方设备的标识符进行比较来认证所述新消息,以确定是否允许所述发起方设备使用与所述至少一个加密标识符相关联的所述计算元件;以及(ii)变换所述新消息以指示对与所述至少一个加密标识符相关联的所述计算元件的使用的授权。5.根据权利要求1所述的系统,其中所述处理所述新消息包含:(i)通过使用能够由所述目标设备处理的已知计算元件的列表来比较所述新消息的所述至少一个加密标识符以识别所述目标计算元件来认证所述新消息,以及(ii)变换所述新消息以指示对与所述至少一个加密标识符相关联的所述计算元件的使用的授权。6.根据权利要求4或5中任一项所述的系统,其中所述变换所述新消息包含:将所述新信息变换为与与所述至少一个加密标识符相关联的所述计算元件相关联的新方案相对应。7.根据权利要求6所述的系统,其中所述变换所述新消息包括为所述经变换的新消息生成新加密签名,并将所述新加密签名附加到所述经变换的新消息上。8.根据权利要求1所述的系统,其中所述处理器还被配置为接收用于新计算元件的新方案;以及基于所述新方案的加密表示来生成待附加到所述加密标识符集合的新加密标识符。9.根据权利要求8所述的系统,其中所述新方案被存储在与已知计算元件的列表相关联的存储方案的参考数据存储装置中。10.根据权利要求9所述的系统,其中所述将所述经处理的新消息路由到所述目标设备
包括将所述经处理的新消息加载到与消息总线相关联的缓冲器上,以用于将所述经处理的新信息异步路由到所述目标设备。11.根据权利要求4所述的系统,其中使用跨越多个接口交互层的级联散列来生成所述加密标识符集合,使得所述级联散列提供散列相互关系的层次结构,所述层次结构可以用于验证相对于在所述多个接口交互层内的定位,较低的加密标识符属于较高的加密标识符;并且其中通过使用所述访问控制列表(ACL)将所述新消息的所述至少一个加密标识符与所述新消息的所述发起方设备的所述标识符进行比较来认证所述新消息,以确定是否允许所述发起方设备使用与所述至少一个加密标识符相关联的所述计算元件包括将所述至少一个加密标识符与所述散列相互关系的层次结构内的另一加密标识符进行比较。12.根据权利要求5所述的系统,其中使用跨越多个接口交互层的级联散列来生成所述加密标识符集合,使得所述级联散列提供散列相互关系的层次结构,所述层次结构可以用于验证相对于在所述多个接口交互层内的定位,较低的加密标识符属于较高的加密标识符;并且其中通过使用能够由所述目标设备处理的所述已知计算元件的列表来比较所述新消息的所述至少一个加密标识符以识别所述目标计算元件来认证所述新消息包括将所述至少一个加密标识符与所述散列相互关系的层次结构内的另一加密标识符进行比较。13.根据权利要求11或12中任一项所述的系统,其中所述散列相互关系的层次结构对应于计算机编程语言中面向计算对象的对象的层次结构,所述计算机编程语言中面向计算对象的对象的层次结构定义哪些面向计算对象的对象彼此继承或扩展,并且其中用于比较的另一加密标识符位于所述计算机编程语言中面向计算对象的对象的层次结构内的更高位置,使得对于成功的验证,对应于所述至少一个加密标识符的面向计算对象的对象将被验证为从对应于另一加密标识符的面向计算对象的对象扩展。14.根据权利要求4所述的系统,其中所述访问控制列表(ACL)被存储在非暂时性计算机可读介质上并且包括存储映射到多个角色标识符标签的多个用户帐户的数据结构,所述多个角色标识符标签中的每个角色标识符标签与权限列表相耦合,所述权限列表定义允许所述角色标识符标签与之交互的可用计算元件集合。15.根据权利要求4所述的系统,其中所述多个用户帐户包括与人类用户相关联的帐户和与计算进程相关联的账户两者。16.根据权利要求14所述的系统,其中所述多个角色标识符标签包括用户标签、管理员标签和超级用户标签中的至少两者,并且所述多个角色标识符标签中的每个标识符标签包括指示允许所述角色标识符标签与之交互的不同可用计算元件的不同相关联的加密标识符。17.根据权利要求1至16中任一项所述的系统,其中所述系统是适于提供消息总线集线器的计算机服务器,所述消息总线集线器被配置为支持跨网络在多个相异计算设备之间传送的同步或异步消息传递,使得所述多个相异计算设备中的每一个计算设备能够被指定为源设备或目标设备以用于跨所述消息总线集线器进行设备间通信。18.根据权利要求17所述的系统,其中所述计算机服务器是多个计算机服务器中的一个,每个计算机服务器托管所述系统的单独实例,所述单独实例互操作以提供所述消息总
线集线器。19.根据权利要求18所述的系统,其中所述系统的第一实例耦合到跨第一网络连接的第一联网计算设备集合,所述系统的第二实例耦合到跨第二网络连接的第二联网计算设备集合,并且所述系统的所述第一实例和所述系统的所述第二实例在协调所述第一联网计算设备集合和所述第二联网计算设备集合之间的消息方面互操作。20.根据权利要求17所述的系统,其中所述计算机服务器驻留在数据中心中,并且耦合到所述数据中心内的多个计算设备。21.一种用于协调数据消息传递的计算机实现的方法,所述方法包含:生成表示与硬...

【专利技术属性】
技术研发人员:J
申请(专利权)人:斯特普软件有限责任公司
类型:发明
国别省市:

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1