CN105493046B - 面向服务的中介、方法和计算机可读存储介质 - Google Patents
面向服务的中介、方法和计算机可读存储介质 Download PDFInfo
- Publication number
- CN105493046B CN105493046B CN201380079198.0A CN201380079198A CN105493046B CN 105493046 B CN105493046 B CN 105493046B CN 201380079198 A CN201380079198 A CN 201380079198A CN 105493046 B CN105493046 B CN 105493046B
- Authority
- CN
- China
- Prior art keywords
- service
- dxl
- intermediary
- message
- enterprise
- 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/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/20—Network management software packages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5015—Service provider selection
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
在示例中,公开了用于在发布/订阅框架上提供面向服务的架构(包括请求/响应)的***和方法。在一个实施例中,公开了一种***,该***用于以可靠、可缩放的方式在发布/订阅消息收发框架上添加层,以实现诸如点对点(请求/响应)和查询可用服务的能力之类的先进消息收发。
Description
相关申请的交叉引用
本申请要求2013年9月28日提交的发明名称为“面向服务的架构”的美国临时申请61/884,026的优先权,该临时申请通过引用被结合在本申请中。
技术领域
本申请涉及企业安全领域,更具体涉及在数据交换层上的面向服务的架构。
背景技术
企业服务总线(ESB)是基于软件的网络架构,该网络架构在面向服务的架构上提供数据交换的媒介。在一些实施例中,ESB是客户机-服务器软件架构的特殊情况,其中客户机可通过服务器来路由消息。
提供给用户的软件、二进制文件、可执行档、广告、web页、文档、宏、可执行对象以及其它数据(统称为“可执行对象”)可能包括被恶意软件利用的安全缺陷和隐私泄漏。如本申请文件通篇中所使用,恶意软件(“malware”)可包括病毒、木马、僵尸程序(zombie)、隐匿程序(rootkit)、后门(backdoor)、蠕虫(worm)、间谍软件(spyware)、广告软件(adware)、勒索软件(“ransomware”)、拨号器、有效载荷、恶意浏览器助手对象、网络***(cookie)、记录器或相似的应用或应用的部分,这些应用或应用的部分被设计成进行可能不希望有的动作,作为非限制性示例,这些可能不想要的动作包括数据损毁、隐蔽数据收集、隐蔽通信、浏览器劫持、网络代理劫持或重定向、隐蔽跟踪、数据记录、键盘记录、过度或有意妨碍删除、联系人收集、不希望有的对优质服务的使用、以及未经授权的自传播。在一些情况下,恶意软件还可包括包含导致或使能恶意软件行为的无意安全缺陷的合法软件。“恶意软件行为”被定义为使应用合乎恶意软件或灰色软件的标准的任何行为。一些现有技术***被配置成例如通过维持已知恶意软件的数据库来标识和阻挡恶意软件。
除了可执行对象之外,计算设备可能遇到静态对象,静态对象并不意在改变计算机的操作状态。作为类,可执行对象和静态对象可被简称为“对象”。企业安全关注的问题是多个对象的恶意软件状态的分类。
附图说明
在与附图一起阅读时,可从以下详细说明最好地理解本公开。要强调的是,根据产业中的标准实践,多种特征未按比例绘制并仅用于说明目的。实际上,出于讨论清楚的目的,可任意地增大或减小多种特征的尺寸。
图1是根据本说明书的一个或多个示例的具有DXL能力的上下文感知(context-aware)网络的网络图。
图1A是根据本说明书的一个或多个示例的其中域主站是联合威胁情报(JTI)服务器的示例。
图1B是根据本说明书的一个或多个示例的选择元件和上下文感知网络的网络图。
图2是根据本说明书的一个或多个示例的公开分布式架构的网络图。
图3是根据本说明书的一个或多个示例的跨越传统企业边界操作的示例DXL网络的网络图。
图4是根据本说明书的一个或多个示例的上下文感知网络400的网络图。
图5是根据本说明书的一个或多个示例的DXL中介的框图。
图6是根据本说明书的一个或多个示例的CIM服务器的框图。
图7是根据本说明书的一个或多个示例的域主站160的框图。
图8是根据本说明书的一个或多个示例的客户机的框图。
图9是示出根据本说明书的一个或多个示例的以分层方式来评估对象的流程图。
图10是根据本说明书的一个或多个示例的由客户机120执行的方法的流程图。
图10A是根据本说明书的一个或多个示例实施例的与图10的方法相关地由JTI服务器执行的方法的流程图。
图11是根据本说明书的一个或多个示例的JTI服务器服务于声望请求的方法的流程图。
图12是根据本说明书的一个或多个示例的对图10A的方法的增强的流程图。
图13是根据本说明书的一个或多个示例的在DXL ESB上注册服务的示例方法的流程图。
图14是根据本说明书的一个或多个示例的服务注册表记录的框图。
图15是根据本说明书的一个或多个示例的与维持服务注册表相关地由DXL中介执行的示例方法的流程图。
图16是根据本说明书的一个或多个示例的在接收到来自客户机的DXL请求时由DXL中介执行的方法的流程图。
图17和17A示出根据本说明书的一个或多个示例的示例服务架构。
图18是根据本说明书的一个或多个示例的网络交互的框图。
图19是根据本说明书的一个或多个示例的公开多个信号的通过的信号流图。
实施例的详细描述
概览
在示例中,公开了用于在发布/订阅框架上提供面向服务的架构(包括请求/响应)的***和方法。在一个实施例中,公开了一种***,该***用于以可靠、可缩放的方式在发布/订阅消息收发框架上添加层,以实现诸如点对点(请求/响应)和查询可用服务的能力之类的先进消息收发。
本公开的多个示例
以下公开提供许多不同的实施例或示例,用于实现本公开的不同特征。以下描述了多个部件和安排的具体示例,以简化本公开。当然,这些仅仅是示例,不是为了限制。此外,本公开可在多个示例中重复参考标号和/或字母。该重复是出于简单和清楚的目的,其本身并不规定所讨论的各个实施例和/或配置之间的关系。
不同实施例可具有不同的优势,没有特定优势是任何实施例必须有的。
在日益异构的软件生态***中,企业可能面临新的和增强的安全挑战和恶意软件威胁。这产生了需要在原本自治的多个网络元件之间实时交换威胁情报的情形。增加的共享可提高设备之间的安全性,这些设备原本在它们自己的安全“仓(silo)”中操作。
本说明书的***和方法通过跨越多个数据源提供标准化的数据表示、并保护由异类的多个源共享的数据的质量,来解决这样的挑战。
上下文感知计算(CAC)是一种计算方式,其中使用与人、地点和事物有关的情况和环境信息来预料及时需要并主动地提供丰富的、情况感知的、以及可使用的功能和体验。上下文感知计算依赖于捕获在***正在运行时的那个时刻时与世界有关的数据。
根据本说明书的一个或多个示例,“上下文感知网络”是互连的多个服务的自适应***(包括例如安全***),互连的这些服务通信并共享信息以通过个体产品和/或集体作出实时、准确的决定。根据示例,网络、端点、数据库、应用和其它安全解决方案不再作为单独的“仓”而操作,而是作为一个同步的、实时的、上下文感知的和自适应的安全***而操作。
在示例中,多个网络元件经由数据交换层(DXL)彼此连接,数据交换层是一种类型的ESB,它适合在其它事物之间交换安全相关消息。如本申请中使用,“网络元件”包括用于在网络环境中交换信息的任何类型的客户机或服务器(例如视频服务器、web服务器等等)、路由器、交换机、网关、桥、负载均衡器、防火墙、内联服务节点、代理服务器、网络设备、处理器、模块或任何其它合适的设备、部件、元件或对象。更具体地,DXL端点是在DXL ESB上交互的网络元件。DXL端点可跨越顾客网络分布,并以受信任的、安全和可靠的方式“实时地”通信。这可提供增强的自动化和改进的安全服务。
在示例中,DXL端点被部署在网络内的多个战略位置处,以用于截取正在进行的业务活动、检查并解释该业务活动、并最终确定它是否经过授权(例如,它是否与企业安全策略一致)。在一些情况下,网络元件必须“在带内(in-band)”作出这些决定,暂时挂起该业务活动,并“在机器实际时间”中的等待时间足够低,以避免该业务活动中的显著的用户可感知的延迟。
在一些情况下,网络元件可能仅通过它们自己的独立分析和观测和经由定期的定义更新而获得对安全数据的独立访问,定期的定义更新例如可按周进行以作为更新的恶意软件定义。
因为网络元件通常是异构的并且可能以临时或自组织方式被部署(尤其在现代网络中),所以实时情报成为挑战(尤其在“带内”决定是必须的时候)。此外,企业可能以零碎方式实现安全解决方案,因此一个产品不能总是假定另一产品的存在。例如,可能没有供网络元件咨询的单个预定义的威胁情报库,并且定期的恶意软件定义更新可能不包括最近发现的威胁。数据的表示和解释带来了另一挑战。网络元件可能使用全异的、专用的数据表示。因此,例如,即便是反病毒扫描器也可能未配置成与基于网络的安全设备共享新发现的恶意软件信息。在其它上下文中,信息的可信性可能是又一挑战。换言之,即使反病毒扫描器和基于网络的安全性设备被配置成共享安全情报,每个设备也可能不具有验证从另一设备接收的情报的手段。
在示例中,本说明书提供数据交换层(DXL),该数据交换层可在轻量的基于消息收发的通信基础设施(诸如ESB)上操作,且可被配置成允许多个端点共享上下文数据。DXL可以是更大的安全连接框架的一个元件,该安全连接框架是互连的多个设备的自适应***,诸如安全性***,互连的多个设备通信并共享信息以通过个体安全产品和/或集体作出实时、准确的安全决定。根据示例,网络、端点、数据库、应用和其它安全解决方案不需要作为单独的“仓”而操作,而是作为一个同步的、实时的、上下文感知的和自适应的安全***而操作。
图1是具有DXL能力的上下文感知网络100的网络图。根据该示例,多个客户机120连接至DXL企业服务总线(ESB)130。DXL ESB 130是DXL结构的示例,并且可在诸如局域网(LAN)之类的现有网络之上被提供。客户机120可以是任何合适的计算设备,作为非限制性示例,包括计算机、个人数字助理(PDA)、膝上计算机或电子笔记本、蜂窝电话、IP电话、iPhoneTM、iPadTM、Microsoft SurfaceTM、AndroidTM手机、Google NexusTM、或能够在通信***内发起语音、音频或数据交换的任何其它设备、部件、元件或对象,包括提供给终端用户的合适的接口(诸如话筒、显示器、或键盘或其它终端设备)。在图1的示例中,客户机120-1是诸如网络安全传感器之类的嵌入式设备。客户机120-2是虚拟机。客户机120-3是膝上计算机或笔记本计算机。客户机120-4是桌面计算机。
DXL ESB 130可以是任何类型的物理或虚拟网络连接,适当的数据可在该物理或虚拟网络连接上通过。目前没有用于ESB的固定或全球标准,且如本申请中所使用的该术语旨在广泛地涵盖适用于消息交换的任何网络技术或布局。在一个实施例中,在端口8883上交换消息队列遥测传输(MQTT)消息。在一些情况下,客户机120、DXL中介110、域主站160、数据库162、JTI服务器(图1A)、代理服务器170(图1A)以及威胁情报服务180(图1A)(均作为非限制性示例)可被称为“网络元件”。
被配置成在DXL ESB 130上操作或与DXL ESB 130一起操作的网络元件可被称为“DXL端点”。在一示例中,这些端点可包括客户机120、DXL中介110以及域主站160。
DXL中介110可被配置成在DXL ESB 130上提供DXL消息收发服务,诸如保持DXL路由表和递送消息。
DXL中介110提供DXL服务190,在一示例中,DXL服务190是用于向DXL端点提供DXLESB 130的网络服务。
域主站160可被配置成通信地耦合至DXL中介130。域主站160可在诸如数据库162之类的数据库中保持域数据。在该示例中,域主站160和数据库162被示为两个不同的实体,但应当注意,许多配置都是可能的。例如,数据库162可驻留在域主站160本地的盘驱动器上,或可分开地或远程地被托管。作为示例,公开了数据库162,该数据库可以是任何合适的数据存储,作为非限制性示例,包括结构数据库或关系数据库、分布式数据库或平面文件。
作为操作性示例,诸如膝上型计算机120-3之类的客户机连接至LAN并接收新的IP地址。此时,膝上型计算机120-3的若干属性变得为其它网络元件所知,作为非限制性示例,这些属性包括其IP地址、与其操作***有关的信息、以及登录用户的用户名。为便于引用,在本示例通篇中,这些属性被称为“客户机属性”。客户机属性是安全情报数据的实施例,并且是虚拟机120-2所感兴趣的,虚拟机120-2先前已经向域主站160订阅安全情报数据主题。
可通过两个不同的源(即通过膝上型计算机120-3和通过网络安全传感器120-1)向DXL同时报告客户机属性。然而,网络安全传感器120-1可能未报告用户名值。它也可能报告与膝上型计算机120-3所报告的值不同的OS值。例如,这可能是因为网络安全传感器120-1正在远程地感测数据,并且可能不能像膝上型计算机120-3自身那样可靠地确定这些值。
域主站160负责“客户机***”数据域,该数据域包含客户机属性。当膝上型计算机120-3和客户机120-1发布包含客户机属性的消息时,这两个消息首先被路由至DXL中介110。DXL中介110然后可将客户机属性转发给域主站160。
域主站160可将从两个源接收的客户机属性组合并调适成单个真实记录,包含分别用于IP地址、操作***和用户名的单个值。具体地,该域主站可通过其自己的逻辑和可能的先前配置确定,对于OS值,膝上型计算机120-3比网络安全传感器120-1更值得信任。因此,当网络安全传感器120-1与膝上型计算机120-3冲突时,域主站160可忽略从网络安全传感器120-1接收的“操作***”值。
经调适的客户机属性被持续地存储在域数据库162中。域主站160然后可在DXLESB 130上发布客户机属性。DXL中介110然后可将发布的消息转发至虚拟机120-2,该虚拟机接收客户机属性的单个和最准确的值。
随后,客户机120-4可在DXL ESB 130上发送DXL请求,查询关于膝上型计算机120-3的客户机属性。DXL中介110接收该请求并将其自动路由至域主站160。域主站160从域数据库162检索客户机属性并发送DXL响应消息,DXL中介110接收该DXL响应消息并将其转发至客户机120-4。注意,虽然本示例中的“发布-订阅”事务是一对多,但“请求-响应”事务是一对一。
在一些实施例中,DXL的特征在于允许多个网络元件的松散集成或耦合的消息收发。松散耦合可减少每个DXL端点必须对其它DXL端点作出的假定,诸如某些能力、硬件或软件的存在。根据本说明书的一个或多个示例,DXL是“即插即用”API,并且可通过使上下文能在产品之间共享来便于上下文感知和自适应安全。
进一步根据本说明书的一个或多个示例,DXL是具有多个部署选项的弹性架构并且是高度可缩放的。还可开放地设计DXL,并且该DXL允许第三方集成。
DXL ESB 130可基于两层协议。“底”层是安全的、可靠的、低延迟时间的数据传输结构,该数据传输结构将多种多样的安全元件连接为网或以中心辐射式配置连接多种多样的安全元件。“顶”层是可扩展的数据交换框架,该数据交换框架被配置成便于可信的数据表示。
在示例中,DXL端点连接至DXL ESB 130。每个DXL端点被分配不同的身份,并且在启动时向DXL ESB 130认证自身(例如经由证书或其它安全令牌)。DXL端点可经由DXL ESB130建立一对一的通信(例如通过发送寻址至具有特定身份的DXL端点的DXL消息)。这使得DXL端口能够彼此通信,而不必建立点对点网络连接。在一示例中,这与个人对个人的电话类似。
在另一示例中,DXL可提供发布-订阅框架,其中某些DXL端点“订阅”至某种类型的消息。当DXL端点在DXL ESB 130上“发布”该类型的消息时,所有订户可处理该消息,而非订户可安全地忽略它。在一示例中,这与播客订阅服务类似。在又一示例中,DXL可提供请求-响应框架。在该情况下,一个DXL端点可在DXL ESB 130上发布请求。接收该请求的适当的DXL端点可提供响应。有利地,该响应可由比原始发布该请求的DXL端点更多的端点使用。例如,如果客户机120发布对于对象的声望的请求,则JTI服务器150可通过发布该声望来作出响应。因此,找到该对象的实例的其它客户机120可受益于该响应。例如,客户机120可维持在网络上发布的声望的综合高速缓存。如果客户机120然后新遇到该网络上已知的对象,则客户机120已经具有该对象的最新的声望。
可使用适合于连接安全元件的特定基础设施的多种多样的软件元件、模式和构造来实现DXL ESB 130。例如,在物理企业网络中,可部署由多个互连的消息中介组成的消息收发中间件,其中端点连接至最近的中介。在虚拟网络基础设施中,该结构可充分利用管理程序提供的通道。
如上所述,DXL ESB 130可被配置成在原本自治的动态组装的DXL端点之间提供实时的、受信的数据交换。因此,在一示例中,DXL ESB 130的概念框架可包括两个虚拟部件:
a.安全相关数据的广泛集合被分类成“数据域”。每个数据域是实体、属性和相互关系的紧密相关子集。
b.域主站160是每个域的被分配数据所有权的数据提供方。域主站160充当原始“情报”数据的一手源与诸如客户机120之类的数据消费者端点之间的中间受信数据中介。情报数据可从数据生产者端点流向适当的域主站160,然后被中继至诸如客户机120之类的数据消费者端点。注意,在本示例中,“数据生产者”和“数据消费者”的概念是上下文角色,并且不一定是物理设备。客户机120在一种上下文中可以是数据生产者,而在另一上下文中可以是数据消费者。
在示例中,域主站160可与数据提供方端点建立一手信任关系。这使得它能够测定它从任何特定源接收的数据(诸如声望数据)的质量(包括准确度和可靠性)。当从诸如不同客户机120之类的多个(独立)源接收到重复的零碎数据时,域主站160可调和该数据并解决冲突,以导出每个对象的单个最著名的真实记录(诸如例如声望)。这确保客户机120接收一致数据。
域主站160还可将数据转换成广为人知的标准化的表示。可在DXL ESB 130上发布该表示,使得所有客户机120接收可使用的数据。
有优势地,即使在需要一对一通信时,DXL端点也不需要知道什么设备发出数据、或者不需要与其它DXL端点建立点对点连接。相反,DXL客户机软件或DXL扩展使得DXL端点能够使用其自己的本地API来查询和接收数据。为了高效地增强网络,DXL端点可在本地高速缓存接收到的数据,这些数据可被信任直到被经授权的DXL消息取代为止。例如,客户机120可订阅已发布的对象的声望。当响应于请求-响应事务或在发布-订阅模型中接收到对象声望时,客户机120可将该声望存储在本地数据库中。该声望可被信任直到被取代,因为DXL主站160被配置成每当接收到更新的声望时发布声望更新。因此,来自客户机120的频繁的个体数据请求变成批量数据订阅,因为已发布的声望对订阅声望的所有客户机120可用。这样可有优势地减少数据交换的等待时间。
在另一示例中,DXL中介110提供发现和位置服务,该服务通知DXL端点关于应当将数据查询和订阅请求路由至的特定域主站160。
有优势地,本申请中描述的示例DXL架构是灵活的。例如,个体数据源可连接至网络或从网络断开,而不影响数据消费者。域主站160可简单地依赖于任何可用的数据源。此外,该框架不对物理位置或具体地域主站160或域端点如何部署或配置进行假定。只要每个网络元件提供有效的DXL消息收发,就可正确地路由业务量。
在以上示例中,DXL主站160是逻辑上的单件,但应注意,也可将DXL主站160实现为例如分布式的多个服务部件的集合,其中每个部件服务该域的子集,或提供在别处运行的服务的本地数据副本。这样的配置可增强规模、性能和可靠性。这也可允许透明地重新安置服务。
进一步有优势地,本申请中提供的DXL框架是可扩展的。例如,可通过创建新的数据域来简单地提供与新实体和关系有关的数据。可通过定义用于该域的新消息类型来简单地提供现有数据域的新属性和关系。
在一示例中,域主站160具有对恶意软件数据的域的责任。为了将诸如网络状态和设备维护之类的消息与“恶意软件”域区分开,可针对每个域定义名称空间。例如,声望域可使用“恶意软件(MALWARE)”名称空间,网络状态域可使用“状态(STATUS)”名称空间,且设备维护域可使用“MAINT”名称空间。因此,如果域主站160是声望域的主站,则它知道处理恶意软件名称空间之内的消息,并忽略所有其它的消息。这允许每个域的设计者分配消息的集合,而不必咨询现有的域来避免消息的名称冲突。
例如,声望域和设备维护域二者可使用诸如DOWNLOAD_UPDATES之类的消息。在声望域的情况下,该消息可以是用于从JTI服务器150检索现在更新的定义的指令。在设备维护域中,这可以是用于从供应商下载操作***更新的指令。
客户机120可被配置成交换来自若干DXL域的数据,且可订阅声望域和设备维护域二者上的消息。因此,例如客户机120-1用于通过请求批量声望更新来解析和响应于DXL消息DOWNLOAD_UPDATES。在一个实施例中,消息请求恶意软件更新自身可以是DXL消息。在例如更新很大并且不是实时需要的一些情况下,可在DXL架构的外部完成更新的递送,以预留DXL以实现轻量、高速的消息收发。
客户机120还可通过联系零售商的服务器并请求更新来了解它应当解析和响应于MAINT:DOWNLOAD_UPDATES。
在域主站160被配置为声望域的主站的情况下,它可能知道忽略不在恶意软件名称空间中的所有DXL消息。然而,应注意单个物理设备可被配置成充当多个域的域主站,在该情况下,可使不同名称空间中的业务量经过两个不同的子例程。在一些实施例中,DXL中介110可被配置成合成来自诸如DXL ESB130上的客户机120之类的被给予更少特权(例如“建议”特权)的多个DXL网络设备的报告。
进一步增加可扩展性,可通过将新的或更好的数据源与域主站160集成来包含新的或更好的数据源。这对于客户机120和其它DXL端点可以是完全透明的。
作为非限制性的示例,DXL中介110的附加特征可包括:服务和位置注册表,用于查找已注册的端点、可用的服务和它们的位置;发布/订阅(1:N)、请求/响应(1:1)、设备至设备(1:1)以及推送通知消息收发接口;中介之间的经优化的消息传递;目的地感知的消息路由;以及中介-中介故障转移。
有优势地,域主站160不需要关心每个DXL端点如何对待已发布的消息。确切而言,那是企业安全策略的问题。
作为非限制性的示例,客户机120的附加DXL特征可包括:本地消息总线集成API,用于发现中介、认证至DXL、以及发送和接收分类的消息。
作为非限制性的示例,上下文感知的网络100的附加一般特征可包括:DXL中介和客户机配置、域主站160的管理;端点在DXL ESB 130上的基于策略的授权;基于SSL的安全通信;对于外部部署的通信的代理服务器支持;以及预先配置有DXL中介功能的域主站应用(由此将域主站160和DXL中介110加入到一个设备中)。
图1A是根据本说明书的一个或多个示例的其中域主站160是联合威胁情报(JTI)服务器150的示例,该服务器在“声望”域上提供例如对象声望服务。JTI服务器150可通信地耦合至DXL中介110。JTI服务器150可以是中间件设备,该中间件设备被配置成提供声望服务、维持与网络对象有关的元数据(作为非限制性示例,诸如声望、流行度以及情报)、呼出至外部扫描器以获得对象的声望分类、并向威胁情报服务180提供遥测数据。JTI服务器150可经由代理服务器170与全局威胁情报服务180通信,该通信可包括在DXL ESB 130上的通信或在更传统的IP网络上的通信。
有优势地,JTI服务器150可与威胁情报服务180相关地提供众包的对象声望。JTI服务器150还可提供管理员超越(override)。这些可包括来自若干企业的、关于对象是否应当在网络上运行以及是否将证书视为“干净”的管理员超越策略的聚集。这些还可包括客户机侧的结果,诸如关于是否允许或阻止对象的终端用户决定的聚集。
在另一示例中,JTI服务器150可跟踪流行度数据,包括对象在上下文感知网络100上的流行度。
在另一示例中,JTI服务器150可作为遥测聚集器/代理服务器,以用于将来自不与威胁情报服务180直接交互的端点的遥测结果聚集并发送至威胁情报服务180。JTI服务器150也可向威胁情报服务180贡献文件元数据,诸如散列值、数字签名数据以及文件属性。
JTI服务器150可接收来自不同客户机120的若干这样的消息,且在一些情况下,这些消息可能彼此冲突。当接收到来自客户机120的将对象标识为恶意软件的初始报告时,域主站160可发布其它客户机应当对该对象进行附加的仔细检查的警告,诸如在执行该对象之前的深度扫描或请求用户验证。在其它实施例中,域主站160可响应于来自客户机120的对于对象声望的请求来提供此类信息。
如果另外的客户机120将该对象标识为恶意软件,则信心指数可能越过阈值。然后JTI服务器150可发布诸如命令级别之类的更高级别的消息,将该对象标识为恶意软件。如果JTI服务器150接收到来自不同客户机的多个冲突的报告,则合成算法可提供适当的动作。例如,如果一个或几个客户机被发现是报告与其它客户机中的大部分不同的状态的离群者,则离群者可被丢弃。该合成算法还可考虑特定客户的过去声望或基于安装的硬件或软件而分配的声望以进行准确的报告。
在域主站160是JTI服务器150的示例中,该示例示出了指定用于分配DXL端点特权的层次结构或其它方案的值。例如,关于将对象指定为恶意软件,客户机120可具有“建议”特权。例如,这可能意味着客户机120可标识它们认为是恶意软件的对象,并且可将特定消息指引至JTI服务器150,或可发布将该对象标识为恶意软件的一般消息。因为客户机在DXLESB 130上仅具有“建议”特权,所以订阅声望更新的其它DXL端点可将该标识视为比来自具有更高特权(诸如“分配”特权)的DXL网络元件的标识权威性更低。特权(尤其是诸如“分配”特权之类的更高的特权)可通过被提供作为DXL消息的部分的安全证书来认证。
图1B是根据本说明书的一个或多个示例的选择元件和上下文感知网络100的网络图。如图1B中可见,可将附加的DXL中介110-2添加至服务端点120-3和120-4。DXL中介110-2可与第二域主站160-2通信,第二域主站160-2可与域主站160-1共享域数据库162。
图2是根据本说明书的一个或多个示例的公开分布式架构的网络图。在该示例中,DXL中介110-1可被指定为“中枢(hub)”,而DXL中介110-2、110-3、110-4和110-5可被指定为“辐(spoke)”。在一示例中,通过辐的所有DXL业务量将被转发至中枢,该中枢将该业务量分发至其它辐。可通过任何合适的手段将DXL中介110指定为中枢,诸如基于MAC ID、IP地址或与域主站160的网络接近程度来选择中枢。
如果DXL中介110-1离线,则可能至少临时地需要另一中枢。在该情况下,可选择另一中枢。当DXL中介110-1恢复在线时,取决于网络布局和设计考虑,它可恢复其作为中枢的职责,或可充当辐。
在另一示例中,多个辐在有效使用时可与DXL中介110-1形成临时的网状网络。在其它实施例中,DXL中介110可被配置成全时地以网状配置操作。
通过跨越全异的网络桥接DXL ESB 130来提供附加的可扩展性,从而使数据能在更大的网络(包括因特网)上交换。图3是根据本说明书的一个或多个示例的跨越传统企业边界操作的示例DXL网络的网络图。在该示例中,第一企业302包括DXL中介110-2,该DXL中介110-2通信地耦合至域主站160和企业交换主站(ESM)330。在一个实施例中,域主站160和ESM 330可在传统的(非DXL)网络接口312上耦合。域主站160可连接至IP网络310。IP网络310可以是用于交换从多个端点发出的数据或信息的任何通信平台,作为非限制性的示例,多个端点包括:给终端用户提供电子交互能力的因特网架构;简易老式电话***(POTS),终端用户可使用该***来执行事务,其中终端用户可由人工接线员辅助或者可手动地向电话或其它合适的电子设备中键入数据;任何分组数据网络(PDN),在***中的任何两个节点之间提供通信接口或交换;或任何局域网(LAN)、城域网(MAN)、广域网(WAN)、无线局域网(WLAN)、虚拟专用网络(VPN)、内联网、或便于网络或电话环境中的通信的任何其它合适的架构或***。
第二企业304也包括DXL中介110-1。DXL中介110可在DXL ESB 130上彼此通信。在该示例中,DXL ESB 130由IP网络310物理地提供,但DXL业务量可与诸如http和其它以用户为中心的网络业务量之类的其它类型的因特网业务量不同,其原因例如因为它是在不同的端口或协议上被提供。
DXL中介110-1也可耦合至例如网络服务提供方(NSP)340、反病毒代理350、企业防火墙360以及高级威胁检测设备(ATD)370。
ATD 370可以是运行该高级检测软件的专用设备或通用计算机。在一个示例中,ATD 370被配置成分析不具有现有声望的对象,并基于该分析向那些对象分配威胁等级。
如该图所证实,DXL ESB 130可用于集成异构或其它不相关(甚至跨越不同企业)的网络架构。在示例中,第二企业304可以是第三方JTI服务提供方,向第一企业302递送ATD服务。
图4是根据本说明书的一个或多个示例的上下文感知网络400的网络图。在示例中,上下文感知网络400与上下文感知网络100基本相似。然而,在上下文感知网络400中,域主站160是公共信息模型(CIM)服务器410。
根据本说明书的一个或多个示例,CIM是开放和可扩展的逻辑数据库方案,被设计成主控不同类型的情况和环境信息。CIM可提供新对象、构建块以及数据类型的强健表示。作为非限制性的示例,CIM的核心实体包括资产、身份、应用和位置。
CIM可提供多对多关系和驱动多种使用情况的构建块。CIM还可支持高级数据可视化。有优势地,根据本说明书的一个或多个示例,CIM大规模地缩放,并且是开放和可扩展的,从而允许不同的产品集团和第三方开发新的数据扩展。
在CIM使用情况的示例中,“位置”表示形成映射至物理位置或场所的逻辑位置的网络元件的集合。作为非限制性的示例,位置上下文可用于收集关于组织的真实范围和尺寸的完整理解(即以网络布局图的形式)。
CIM还可通过合成由DXL ESB 130上的多个数据源共享的上下文信息来保持情况和环境信息的全局权威状态。
图5是根据本说明书的一个或多个示例的DXL中介的框图。在一些实施例中,可在单个物理计算设备中提供DXL中介110、DXL服务190以及JTI服务器150。
在一示例中,DXL中介110由处理器510控制。处理器510可经由***总线570连接至其它***元件。作为非限制性示例,这些其它元件可包括存储器520、网络接口540以及存储550。
处理器510被配置成例如经由可执行软件或固件指令来控制DXL中介110。如本申请中使用的“处理器”包括提供可编程逻辑的硬件、软件或固件的任何组合,作为非限制性示例,“处理器”包括微处理器、数字信号处理器、现场可编程门阵列、可编程逻辑阵列、专用集成电路、或虚拟机处理器。
在一些实施例中,存储器520可以是相对低等待时间的易失性存储器,且可包括主存储器、高速缓存、芯片上存储器、L1存储器、L2存储器或类似物。注意,在本实施例中,处理器510被描绘为与存储器520成直接存储器访问安排,但在其它实施例中,存储器520可经由***总线570、经由一些其它总线、或经由一些其它手段与处理器510通信。此外,虽然存储器520和存储550在本示例中被描绘为物理上或概念上分开的设备,但应当理解,在一些实施例中,存储器520和存储550可共享物理设备,该物理设备可或可以不被划分成分开的存储器区域。因此,应当理解,此处公开的安排仅仅是示例而不是限制性的。更确切而言,明确的意图是,即便分开地提及存储器和存储,它们也可实现在单个物理或逻辑设备中,除非明确地另有声明。
在本示例中,网络接口540提供至DXL ESB 130的物理和逻辑接口,且包括被配置成将客户机120通信地耦合至其它计算设备的任何通信介质(模拟的、数字的或混合信号的)。作为非限制性的示例,网络接口540可包括WiFi、以太网、火线、光纤、USB、串行接口、红外、蜂窝网络、数字PCS网络、2G数据网络、3G数据网络、4GWiMAX、或4G LTE数据网络。在一些实施例中,网络接口540还可提供至IP网络310的物理和逻辑接口。
存储550被公开作为非易失性存储器介质的示例,它可以是存储器520的种类。在一些实施例中,存储器520和存储550可以是分开的设备,其中存储器520是相对低等待时间的易失性存储器设备,而存储550是相对高等待时间的非易失性存储器设备。存储550也可以是另一设备,诸如硬驱动器、固态驱动器、外部存储、独立磁盘冗余阵列(RAID)、网络附接存储、光存储、带驱动器、备份***或上述的任何组合。许多其它配置也是可能的,并且意在被涵盖在本说明书的宽泛范围之内。
在一示例中,存储器520包含DXL中介522和DXL服务软件526。DXL中介软件522提供如本申请中描述的DXL中介服务。DXL服务软件526可提供DXL客户机服务或DXL中介110。例如,DXL中介110可订阅客户机容量中的某些类型的消息。
图6是根据本说明书的一个或多个示例的CIM服务器410的框图。在一示例中,CIM服务器410由处理器610控制。处理器610可经由***总线670连接至其它***元件。作为非限制性示例,这些其它元件可包括存储器620、网络接口640以及存储650。参考图5中的相应元件,其中包含附加的细节和定义。
存储器620可包括CIM服务器软件622。CIM服务器软件622可被配置成提供如本申请中描述的CIM服务。
存储650可包括本地对象数据库652。对象数据库652可包含存储的与网络上的对象有关的信息,包括例如声望和元数据。
图7是根据本说明书的一个或多个示例的域主站160的框图。在一示例中,域主站160由处理器710控制。处理器710可经由***总线770连接至其它***元件。作为非限制性示例,这些其它元件可包括存储器720、网络接口740以及存储750。参考图5中的相应元件,其中包含附加的细节和定义。
在一示例中,存储器720包含域主站软件722和DXL扩展724。域主站软件722可被配置成提供如本申请中描述的域主站服务。DXL扩展724可提供允许域主站162在DXL ESB 130上操作的服务器扩展。在一些实施例中,DXL扩展724可包括允许域主站160在一些情况下充当DXL客户机的指令。
图8是根据本说明书的一个或多个示例的客户机120的框图。客户机120由处理器810控制,该处理器通信地耦合至存储器元件820。在一示例中,处理器810经由总线870通信地耦合至其它***元件。作为非限制性示例,那些元件可包括网络接口840、存储850(在一些情况下,该存储可以是存储器元件820的种类)、以及用户接口860。明确意图的是,上述元件中的任一种可在硬件、软件、固件或其任何组合中实现。
在一些实施例中,可提供用户接口860以辅助用户与客户机120交互。“用户接口”包括被配置成使用户能够与客户机120交互(实时或非实时)的硬件、软件和固件的任何组合。在该示例中,作为非限制性示例,用户接口360可包括键盘(未示出)、鼠标(未示出)、显示监视器842、扬声器846、话筒844、触敏显示器(可充当组合的输入/输出设备,并且可以是显示器842的种类)、以及照相机848。用户接口860可包括诸如图形用户界面之类的软件服务,包括征求来自用户的输入或确认的实时对话框。
在一示例中,存储器820中存储有可操作的可执行指令,这些指令可被包含在若干不同模块中。DXL客户机826可提供用于与DXL ESB 130交互的软件服务,且可包括例如认证DXL ESB 130上的客户机120的证书、用于发布消息的子例程、以及用于解析订阅的传入消息的子例程。CIM客户机822可提供如关于图4更具体描述的CIM服务。CIM客户机822还可保持所存储对象852的综合分类,包括例如所安装应用的综合分类。JTI客户机824可提供JTI客户机服务,诸如本地声望管理和与JTI服务器150的交互。客户机120还可具有单独的反恶意软件代理828,其可提供反病毒和其它反恶意软件服务。在一些情况下,反恶意软件代理828与JTI客户机824集成。
图9是示出根据本说明书的一个或多个示例的以分层方式来评估对象的流程图。
在该示例中,左边的策略被指定为“黑”并且确定性地阻挡对象,而右边的策略被指定为“白”并且确定性地允许对象。作为非限制性示例,图9的策略被公开为固定的层次结构。然而,这不是意图为限制性的。例如,在其它实施例中,策略可被加权,或以循环方式被服务。此外,在使用层次结构的实施例中,此特定层次结构不是必须的。
在框910,管理员(可以是人类操作员和/或具有管理凭据的设备)可向对象分配“黑”超越(black override),该对象可由散列值标识。在框912,管理员可向由散列值标识的对象提供“白”超越(white override)。
在框920,管理员可向由证书标识的对象分配黑超越。在框922,管理员可向由证书标识的对象分配白超越。
在框930,威胁情报服务180可基于证书来分配黑状态(black status)。在框932,威胁情报服务180可基于证书给对象分配白状态(white status)。
在框940,威胁情报服务180可基于散列值来分配对象黑状态。在框942,威胁情报服务180可基于散列值给对象分配白状态。
在框950,恶意软件定义可将对象标识为黑,而在框952,恶意软件定义可将该对象标识为白。
在框960,JTI规则可假定该对象是脏的。在框962,JTI规则可假定该对象是干净的。
JTI客户机824可经由用户接口860提示终端用户确认执行或打开对象。如果用户拒绝,则在框970,阻止该对象。如果用户确认,则在框972,允许该对象。
在框980,如果该对象已经通过所有先前的过滤器,则阻止或允许该对象的决定取决于JTI策略和算法。这可包括请求该对象的声望。
图10是根据本说明书的一个或多个示例的由客户机120执行的方法的流程图。在框1010,客户机120打开新对象。例如,这可能是因为用户与该对象交互,或因为该对象的自动处理和上架。在框1020,客户机120检查其本地声望数据库以查明该对象是否具有高速缓存的声望。如果该对象具有现有的声望,则在框1030,客户机120可作出决定以阻止或允许该对象。在一些示例中,客户机120可在DXL ESB 130上发布阻止或允许的决定。这允许已订阅此类更新的其它DXL网络对象接收并集成该决定。在框1022,如果没有高速缓存的声望,则客户机120可从JTI服务器150请求声望。在框1024,客户机120可接收来自JTI服务器150的声望数据,之后控制进行至框130。如返回至1010的箭头所示,可对于每个新对象重复该过程。
图10A是根据本说明书的一个或多个示例实施例的与图10的方法相关地由JTI服务器150执行的方法的流程图。在框1040,JTI服务器150接收来自客户机120的声望请求。在框1060,JTI服务器150可查询其本地数据库以查明该对象是否已知。如果该对象已知,则在框1070,JTI服务器150可更新其本地威胁情报数据库。例如,这可包括标注来自客户机120的请求的环境。在框1080,JTI服务器150可将声望数据返回给客户机120。在框1090,该方法完成。
返回至框1060,如果该对象未知,则在框1050,JTI服务器150可从威胁情报服务180请求信息。在框1052,JTI服务器150接收来自威胁情报服务180的威胁情报数据,并在框1070,利用接收到的情报更新其本地JTI数据库。再次在框1080,将情报返回至客户机120,并在框1090该过程完成。
框1034表示该方法的替代进入点。在框1034,JTI服务器150接收已发布的阻止决定,例如由客户机120根据图10的方法作出的发布的决定。根据网络配置,JTI服务器150可订阅两个已发布的阻止/允许决定,并可在框1070使用发布决定来更新其本地数据库。在这种情况下,控制从框1080直接转到框1090。
图11是根据本说明书的一个或多个示例的JTI服务器150服务于声望请求的方法的流程图。在一些实施例中,可与图10A的框1080相关地执行
图11的方法。在框1110,管理员可进入白或黑超越,例如像与图9相关地公开那样。框1040对应于图10A的框1040,其中JTI服务器150接收来自客户机120的声望请求。在框1130,JTI服务器150检查以查明管理员是否已经进入超越,诸如企业范围的超越。具体地,超越可移除允许还是阻止该对象的决定。替代地,超越可确定性地允许或阻止该对象。因此,在框1140,JTI服务器150将超越返回给客户机120。在框1130,如果没有企业超越,则在框1150,JTI服务器150返回声望以供客户机120操作。
图12是根据本说明书的一个或多个示例的对图10A的方法的增强的流程图。图12中具有与图10A中的框相同编号的框可以与图10A中公开的框功能相同。
新框1210查询是否可从威胁情报服务180获得威胁情报。如果威胁情报可用,则在框1052,JTI服务器150如同图10A那样接收威胁情报。在框1220,如果威胁情报不可用,则JTI服务器150可将该对象发送给ATD370以进行分析。并非对该请求直接作出响应,而是ATD370可在完成分析时发布该对象的声望数据。在框1230,如果JTI服务器150可订阅两个已发布的声望数据消息,则会接收由ATD 370发布的DXL消息。该方法的余下部分不变。
在一些实施例中,发布-订阅框架未针对一对一交互(诸如单个客户机120连接至单个服务)进行优化。例如,一些实施例支持“通配符”句法以寻址消息,具体而言,请求-响应交互可能不被识别为第一级消息。这意味着实现请求-响应消息收发取决于个体实施例。此外,一些现有技术的发布-订阅中间件解决方案未提供用于确定服务是否主动连接至消息中介和监听请求的能力。因此,例如,客户机120可发送请求并且永远不接收响应。为了适配该可能性,客户机120可指定任意的“超时”值,如果在该“超时”值之后未接收到响应,则请求将被视为失败。
在示例中,公开了在发布-订阅架构之上操作的消息类型的层次结构。作为非限制性的示例,消息类型可包括请求、响应、导出的错误-响应类型、以及事件类型。事件类型可等价于默认的发布-订阅中间件消息类型。
可增强发布-订阅框架以检测请求-响应交互并优化它们的递送。例如,如果服务在DXL ESB 130不可用,则DXL中介110可返回“服务不可用”消息。这可立即通过“错误”响应被发送。这可消除客户机设置超时或使用其它相似的错误检测的需要。
可将请求立即被引导并递送至服务,而不要求对消息递送搜索(诸如通配符)的昂贵处理。可将路由相关信息嵌入在多个消息中,以流线化请求-响应消息交互的操作。例如,“中介网络”情形中的目标“中介”被DXL中介110包含并充分利用,以确保使用通过多个DXL中介160的最优路径来递送消息。
图13是根据本说明书的一个或多个示例的在DXL ESB130上注册服务的示例方法的流程图。在一示例中,例如,客户机120可在DXL ESB上发送DXL请求消息。在框1310,DXL中介110接收该请求消息。在框1320,DXL中介110检查以查明该服务在DXL ESB 130上是否可用。这可包括查询本地数据库以确定所请求的服务是否已经在DXL ESB 130上注册。例如,如果被配置成提供该服务的域主站160已经在DXL ESB 130上注册,则该服务可被注册。
在框1330,如果该服务不可用,则域主站110可向客户机120发送DXL响应消息以指示该服务不可用,或发布DXL通知以指示该服务不可用。在框1340,如果该服务可用,则DXL中介110可标识诸如DXL域主站160之类的提供该服务的设备。在框1350,DXL中介110可解析至提供该服务的DXL域主站160的路由信息。在框1360,DXL中介110可例如通过标识在物理上最接近客户机120的DXL域主站160或具有在客户机120与DXL域主站160之间的最低等待时间的设备,来确定最优的目标设备。在一些实施例中,确定最优的目标设备可包括查找之前被标识为最优的设备,该操作可离线地进行或由不同的设备执行。在框1370中,DXL中介110可向客户机120转发在框1360中标识的设备。在框1390中,该过程完成。
图13A是由DXL中介110执行的方法的框图,更具体地公开了图13的方法的某些方面。在该情况下,在框1312,诸如客户机120之类的端点可在DXL ESB 130上发布涉及特定主题的DXL消息。在框1322,DXL中介110检查以查明任何域主站160是否已经订阅该消息。在框1332,如果尚无域主站160订阅该消息,则DXL中介110推断该服务在DXL ESB 130上不可用。在框1332,DXL中介110可返回“未找到”消息。在框1392,该方法完成。
响应于框1322,如果DXL中介110发现存在已订阅该消息主题的端点,则在框1342,DXL中介110将该消息递送至已订阅的端点。在框1352,DXL中介110接收来自已订阅端点的所请求信息,并用所请求信息来对发布者作出响应。在框1392,该方法完成。
相关于以上描述的方法,DXL中介110维持服务注册表会是有用的,枚举哪些服务可用以及每个服务的多少实例是可用的。图14是根据本说明书的一个或多个示例的服务注册表记录1400的框图。例如,可由DXL中介110维持服务注册表记录1400。服务注册表记录1400跟踪示例服务1402,包括该示例服务的多个实例。在该示例中,服务注册表记录1400包含服务名称1410、服务元信息1420以及更多实例的阵列1430。对于每个实例,实例阵列1430可包括诸如设备标识符1432、状态1434以及最后登记时间1435之类的信息。例如,设备标识符1432可标识提供该服务的域主站160。该标识符可以是IP地址、MAC地址、标识符串或任何其它合适的标识符。状态1432可指示该服务当前在该设备上是否可用,并且可获知例如设备是否进入低功率或其它降低功能状态。最后登记1435可指示域主站160何时与DXL中介110最后交互,指示它仍然在线。如果过去了足够的时间,则DXL中介110可被配置成“探测(ping)”或以其它方式定位域主站160。这可允许DXL中介110连续地确保域主站160在线并提供服务1402。
图15是根据本说明书的一个或多个示例的与维持服务注册表相关地由DXL中介110执行的示例方法的流程图。在框1510,创建新服务。例如,域主站160可加入DXL ESB130,且可发布之前未注册的服务的可用性。在框1520,DXL中介110为新服务创建新的注册表记录。作为该方法的替代进入点,在框1530,域主站160可向DXL ESB 130注册,并发布现有服务的新实例的可用性。在框1550,不论这是新服务的第一实例还是现有服务的新实例,将该服务的实例添加至服务注册表记录1400。
作为该方法的又一进入点,在框1520,可在DXL ESB 130上解除服务1402的实例的注册。例如,这可包括域主站160发布其不可用性。在另一示例中,这可包括DXL中介110尝试探测不活动太长时间的域主站160并且未接收到响应。在框1570,从服务注册表记录1400去除服务1402的实例。
在框1580,DXL中介110发布该事件,包括添加服务实例或去除服务实例。在框1590,该方法完成。
图16是由DXL中介110在例如接收来自客户机120的DXL请求时执行的方法的流程图。在一个实施例中,该方法可形成图13的框1320的部分,其中DXL中介110确定这些服务是否可用。在框1610,DXL中介110接收服务请求消息。在框1620,DXL中介110查询其本地数据库,包括检查服务注册表记录1400,以确定所请求服务的至少一个实例是否可用。在框1630,DXL中介110可返回至客户机121或服务1402的更多可用实例。
图17和17A示出根据本说明书的一个或多个示例的示例服务架构。在图17中,端点120可例如经由域主站160与服务1402形成一对一连接。在图17A中,在框1710,包括客户机120的一个或多个订户可订阅主题。DXL中介110可充当客户机120与域主站160之间的中介。在框1720,一个或多个发布者可在DXL ESB 130上发布与该主题有关的信息。这提供一对多发布框架。
图18是根据本说明书的一个或多个示例的网络交互的框图。在框1810,服务向服务主题注册。例如,这可包括域主站160加入DXL ESB 130并发布其可用于处理服务请求。可将该消息发布至DXL中介110。在框1820,客户机120创建服务请求。在框1830,客户机通过向DXL中介110发送DXL请求消息来订阅响应主题。在框1840,客户机120可创建具有嵌入的响应主题的请求。在框1850,客户机120可向DXL中介110发布该请求。在框1860,中介110可例如通过将该消息转发至合适的域主站160,来将该请求转发至服务1402。在框1870,域主站160处理该服务请求。在框1880,域主站160接收该响应主题,并通过向DXL中介110发送消息来发布至该主题。
图19是公开客户机120、中介110和提供服务1402的域主站160之间的信号传递的信号流图。信号1910是客户机120传递至DXL中介110的“订阅响应主题”消息。信号1940是域主站160发送至中介110的“订阅服务主题”消息。信号1920是客户机120传递至DXL中介110的“发布消息至服务”消息,包括嵌入的响应主题。信号1950是DXL中介110将请求消息传递至域主站160的信号。根据信号1970,域主站160处理该消息以创建响应,并发布该响应。根据信号1960,域主站160将该响应消息发布至DXL中介110。根据信号1930,DXL中介110将该响应传递至端点130。
以上概述了若干实施例的多个特征,使得本领域技术人员可更好地理解本公开的多个方面。本领域技术人员应当理解,它们可容易地使用本公开作为设计或修改其它过程和结构的基础,以用于实现本申请中介绍的实施例的相同目的和/或实现本申请中介绍的实施例的相同优点。本领域技术人员还应当认识到,这些等价构造未偏离本公开的精神和范围,并且它们可对本申请作出各种改变、替换和改动,而不偏离本公开的精神和范围。
本公开的特定实施例可容易地包含芯片上***(SOC)中央处理单元(CPU)封装。SOC表示将计算机或其它电子***的组件集成到单个芯片中的集成电路(IC)。它可包含数字、模拟、混合信号以及射频功能:所有这些功能可被设置在单个芯片衬底上。其它实施例可包括多芯片模块(MCM),其具有位于单个电子封装之内的多个芯片,这多个芯片被配置成通过电子封装与彼此紧密交互。在各个其它实施例中,可在专用集成电路(ASIC)、现场可编程门阵列(FPGA)以及其它半导体芯片中的一个或多个硅核中实现数字信号处理功能。
在示例实现中,还可在软件中实现本申请中概述的处理动作中的至少一些部分。在一些实施例中,这些特征中的一个或多个可在所公开的附图的元件之外设置的硬件中被实现,或以任何适当的方式被整合以实现所预期的功能。多种部件可包括可协作以实现本申请所概述的多个操作的软件(或交互式软件)。在另外的其它实施例中,这些元件可包括便于其操作的任何适当的算法、硬件、软件、组件、模块、接口或对象。
此外,可去除或以其它方式整合与所描述的微处理器相关联的组件中的一些。一般而言,附图中描绘的安排在其表示上可以是更逻辑的,而物理架构可包括这些元件的各种置换、组合和/或混合。必须注意到,无数可能的设计配置可用于实现本申请中概述的操作目标。相应地,相关联的基础设施具有大量的替代安排、设计选择、设备可能性、硬件配置、软件实现、设备选项等等。
任何适当配置的处理器部件可执行与数据相关联的任何类型的指令以实现本申请中详细描述的操作。本申请中公开的任何处理器能够将元素或制品(例如,数据)从一种状态或事物变换成另一种状态或事物。在另一示例中,本申请中概述的一些活动可以用固定逻辑或可编程逻辑(例如,由处理器执行的软件/计算机指令)来实现,并且本申请中标识出的元件可以是一些类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(FPGA)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、包含数字逻辑、软件、代码、电子指令的ASIC、闪存、光盘、CD-ROM、DVD ROM、磁或光卡、适合用于存储电子指令的其它类型的机器可读介质、或其任何合适的组合。在操作时,在适当的情况下并且基于具体需要,处理器可在任何合适类型的非瞬态存储介质(例如随机存取存储器(RAM)、只读存储器(ROM)、现场可编程门阵列(FPGA)、可擦除可编程只读存储器(EPROM)、电可擦出可编程ROM(EEPROM)等等)、软件、硬件中存储信息或任何其它合适的部件、设备、元件或对象中存储信息。此外,基于具体需要和实现,可在任何数据库、寄存器、表、高速缓存、队列、控制列表或存储结构中提供在处理器中被跟踪、发送、接收或存储的信息,可在任何合适的时间范围中引用所有这些数据库、寄存器、表、高速缓存、队列、控制列表或存储结构。本申请中讨论的存储器项目中的任一种应当被理解为被涵盖在广义的术语“存储器”之内。类似地,应当将本申请中描述的任何潜在的处理元件、模块和机器中的任一种理解为被涵盖在广义的术语“微处理器”或“处理器”之内。
实现本申请中描述的功能的全部或部分的计算机程序逻辑以格式形式来具体化,包括但不限于源代码形式、计算机可执行形式以及各种中间形式(例如由汇编程序、编译器、链接器或***产生的形式)。在示例中,源代码包括以多种编程语言实现的一系列计算机程序指令,多种编程语言诸如对象代码、汇编语言、或诸如OpenCL、Fortran、C、C++、JAVA或HTML之类的与各种操作***或操作环境一起使用的高级语言。源代码可定义并使用多种数据结构和通信消息。源代码可以是计算机可执行的形式(例如通过解释器),或者源代码可被转换成计算机可执行的形式(例如通过转换器、汇编程序或编译器)。
在以上实施例的讨论中,可容易地更换、替换或以其它方式修改电容器、缓冲器、图形元件、互连板、时钟、DDR、照相机传感器、除法器、电感器、电阻器、放大器、开关、数字核、晶体管和/或其它部件,以容许特定的电路需求。此外,应当注意,使用互补电子设备、硬件、非瞬态软件等等提供用于实现本公开的教导的等同可行的选项。
在一个示例中,可在相关联的电子设备的板上实现附图的任何数量的电路。该板可以是通用电路板,该通用电路板保持该电子设备的内部电子***的各种部件,并且进一步提供用于其它***设备的连接器。更具体地,该板可提供该***的其它组件可籍以进行电通信的电连接。基于具体的配置要求、处理需求、计算机设计等等,任何合适的处理器(包括数字信号处理器、微处理器、支持芯片组等等)、存储元件等等可合适地耦合至该板。诸如外部存储、附加的传感器、用于音频/视频显示的控制器之类其它部件和***设备可作为***卡、通过电缆、或集成到该板自身中以附连至该板。在另一示例中,附图的电路可被实现为独立的模块(例如,具有被配置成执行专门应用或功能的相关联部件和电路的设备)或被实现为电子设备的专用硬件中的***模块。
注意,利用本申请中提供的多种示例,可按照两个、三个、四个或更多个电气部件来描述交互。然而,这仅仅出于清楚和示例的目的而完成。应当理解,可按照任何合适的方式来整合该***。在相似的设计替代方案之间,可按照各种可能的配置来组合附图的所示部件、模块和元件中的任一个,所有的可能配置无疑在本说明书的宽泛范围之内。在特定情况下,通过仅仅参考有限数量的电气元件来描述给定的流程集合中的一个或多个功能可能更容易。应理解,附图的电路(及其教导)可被容易地伸缩并且能够容许大量部件以及更复杂/精细的安排和配置。相应地,所提供的示例不应限制这些电路的范围或禁止这些电路的宽泛教导,因为可能适用于大量其它架构。
本领域普通技术人员可以查明许多其它的改变、替换、变型、更改和修改,并且本公开旨在将所有这样的改变、替换、变型、更改和修改涵盖为落在所附权利要求书的范围内。为了辅助美国专利和商标局(USPTO)以及对本申请颁发的任何专利的任何读者来解释所附的权利要求书,申请人希望注明:(a)申请人不希望所附权利要求中的任一项因为美国法典第35条第112章(35U.S.C.section 112)第(6)段在其申请日存在而援引该段,除非在具体权利要求中特别使用了单词“用于……的装置”或“用于……的步骤”;以及(b)申请人不希望本申请文件中的任何声明以未在所附权利要求中另外反映的任何方式限制本公开。
示例实施例实现
作为示例1,本申请中公开了一种或多种非瞬态计算机可读存储介质,具有存储在其上的可执行指令,可执行指令用于提供数据交换层(DXL)中介,可执行指令用于指示处理器:
接收企业服务总线上的服务注册消息;
确定服务注册消息是用于未注册服务;
创建用于该服务的新服务注册表记录;以及
在该服务注册表记录中创建服务的实例。
作为示例2,本申请中公开了如示例1的计算机可读介质,其中指令进一步用于:确定该服务注册消息是用于已注册服务,并在现有服务注册表记录中创建该服务的新实例。
作为示例3,本申请中公开了如示例1或2的计算机可读介质,其中指令进一步用于:确定服务已取消注册,并从现有服务注册表记录去除该服务的实例。
作为示例4,本申请中公开了如示例1-3中的任一个的计算机可读介质,其中指令进一步用于:
接收该企业服务总线上的服务请求消息;以及
确定该服务请求是针对服务注册表记录存在的服务,并将该服务请求转发至提供该服务的设备。
作为示例5,本申请中公开了如示例1-4中的任一个的计算机可读介质,其中指令进一步用于:确定该服务请求是针对服务注册表记录不存在的服务,并使用该服务不可用的消息来作出响应。
作为示例6,本申请中公开了如示例1-5中的任一个的计算机可读介质,其中指令进一步用于:确定该服务的多个实例可用,并返回可用实例的列表。
作为示例7,本申请中公开了如示例1-6中的任一个的计算机可读介质,其中该服务注册表记录被配置成包含该服务的可用实例的阵列。
作为示例8,本申请中公开了一种数据交换层(DXL)中介,包括:
处理器;
网络接口,被配置成将该处理器通信地耦合至DXL企业服务总线;以及
存储器,该存储器上存储有可执行指令,可执行指令用于指示该处理器:
接收企业服务总线上的服务注册消息;
确定该服务注册消息是用于未注册服务;
创建用于该服务的新服务注册表记录;以及
在该服务注册表记录中创建该服务的实例。
作为示例9,本申请中公开了如示例8的DXL中介,其中指令进一步用于:确定该服务注册消息是用于已注册服务,并在现有服务注册表记录中创建该服务的新实例。
作为示例10,本申请中公开了如示例8或9的DXL中介,其中指令进一步用于:确定服务已取消注册,并从现有服务注册表记录去除该服务的实例。
作为示例11,本申请中公开了如示例8-10中的任一个的DXL中介,其中指令进一步用于:
接收该企业服务总线上的服务请求消息;以及
确定该服务请求是针对服务注册表记录存在的服务,并将该服务请求转发至提供该服务的设备。
作为示例12,本申请中公开了如示例8-11中的任一个的DXL中介,其中指令进一步用于:确定该服务请求是针对服务注册表记录不存在的服务,并使用该服务不可用的消息来作出响应。
作为示例13,本申请中公开了如示例8-12中的任一个的DXL中介,其中指令进一步用于:确定该服务的多个实例可用,并返回可用实例的列表。
作为示例14,本申请中公开了如示例8-13中的任一个的DXL中介,其中该服务注册表记录被配置成包含该服务的可用实例的阵列。
作为示例15,本申请中公开了一种提供DXL中介服务的方法,包括:
接收企业服务总线上的服务注册消息;
确定该服务注册消息是用于未注册服务;
创建用于该服务的新服务注册表记录;以及
在该服务注册表记录中创建该服务的实例。
作为示例16,本申请公开了如示例15的方法,还包括:确定该服务注册消息是用于已注册服务,并在现有服务注册表记录中创建该服务的新实例。
作为示例17,本申请公开了如示例15的方法,还包括:确定服务已取消注册,并从现有服务注册表记录去除该服务的实例。
作为示例18,本申请公开了如示例15-17中的任一个的方法,还包括:
接收该企业服务总线上的服务请求消息;以及
确定该服务请求是针对服务注册表记录存在的服务,并将该服务请求转发至提供该服务的设备。
作为示例19,本申请公开了如示例15-18中的任一个的方法,还包括:确定该服务请求是针对服务注册表记录不存在的服务,并使用该服务不可用的消息来作出响应。
作为示例20,本申请公开了如示例15-19中的任一个的方法,还包括:确定该服务的多个实例可用,并返回可用实例的列表。
Claims (17)
1.一种或多种非瞬态计算机可读存储介质,具有存储在其上的可执行指令,所述可执行指令用于提供数据交换层DXL中介,所述可执行指令用于指示处理器:
在DXL结构上操作或与DXL结构一起操作,所述DXL结构在发布-订阅结构上提供请求-响应框架;
通信地耦合至企业服务总线,其中,所述企业服务总线是DXL结构的企业服务总线;
接收所述企业服务总线上的服务注册消息;
确定所述服务注册消息是用于未注册服务;
创建用于所述服务的新服务注册表记录;
在所述服务注册表记录中创建所述服务的实例;
接收所述企业服务总线上的服务请求消息;
确定所述服务请求针对所述服务;
将所述服务请求转发至提供所述服务的域主站;以及
接收来自所述域主站的响应消息。
2.如权利要求1所述的非瞬态计算机可读存储介质,其特征在于,所述指令进一步用于:确定所述服务注册消息是用于已注册服务,并在现有服务注册表记录中创建所述服务的新实例。
3.如权利要求1所述的非瞬态计算机可读存储介质,其特征在于,所述指令进一步用于:确定所述服务已取消注册,并从现有服务注册表记录去除所述服务的实例。
4.如权利要求1所述的非瞬态计算机可读存储介质,其特征在于,所述指令进一步用于:确定所述服务请求是针对服务注册表记录不存在的第二服务,并使用所述第二服务不可用的消息来作出响应。
5.如权利要求1所述的非瞬态计算机可读存储介质,其特征在于,所述指令进一步用于:确定所述服务的多个实例可用,并返回可用实例的列表。
6.如权利要求1所述的非瞬态计算机可读存储介质,其特征在于,所述服务注册表记录被配置成包含所述服务的可用实例的阵列。
7.一种数据交换层DXL中介,包括:
处理器;
网络接口,被配置成将所述处理器通信地耦合至DXL企业服务总线;以及
存储器,所述存储器上存储有可执行指令,所述可执行指令用于指示所述处理器:
在DXL结构上操作或与DXL结构一起操作,其中,所述DXL结构在发布-订阅结构上提供请求-响应框架;
通信地耦合至企业服务总线,其中,所述企业服务总线是DXL结构的企业服务总线;
接收所述企业服务总线上的服务注册消息;
确定所述服务注册消息是用于未注册服务;
创建用于所述服务的新服务注册表记录;
在所述服务注册表记录中创建所述服务的实例;
接收所述企业服务总线上的服务请求消息;
确定所述服务请求针对所述服务;
将所述服务请求转发至提供所述服务的域主站;以及
接收来自所述域主站的响应消息。
8.如权利要求7所述的DXL中介,其特征在于,所述指令进一步用于:确定所述服务注册消息是用于已注册服务,并在现有服务注册表记录中创建所述服务的新实例。
9.如权利要求7所述的DXL中介,其特征在于,所述指令进一步用于:确定所述服务已取消注册,并从现有服务注册表记录去除所述服务的实例。
10.如权利要求7所述的DXL中介,其特征在于,所述指令进一步用于:确定所述服务请求是针对服务注册表记录不存在的第二服务,并使用所述第二服务不可用的消息来作出响应。
11.如权利要求7所述的DXL中介,其特征在于,所述指令进一步用于:确定所述服务的多个实例可用,并返回可用实例的列表。
12.如权利要求7所述的DXL中介,其特征在于,所述服务注册表记录被配置成包含所述服务的可用实例的阵列。
13.一种提供DXL中介服务的方法,包括:
在DXL结构上操作或与DXL结构一起操作,其中,所述DXL结构在发布-订阅结构上提供请求-响应框架;
通信地耦合至企业服务总线,其中,所述企业服务总线是DXL结构的企业服务总线;
接收所述企业服务总线上的服务注册消息;
确定所述服务注册消息是用于未注册服务;
创建用于所述服务的新服务注册表记录;
在所述服务注册表记录中创建所述服务的实例;
接收所述企业服务总线上的服务请求消息;
确定所述服务请求针对所述服务;
将所述服务请求转发至提供所述服务的域主站;以及
接收来自所述域主站的响应消息。
14.如权利要求13所述的方法,其特征在于,还包括:确定所述服务注册消息是用于已注册服务,并在现有服务注册表记录中创建所述服务的新实例。
15.如权利要求13所述的方法,其特征在于,还包括:确定所述服务已取消注册,并从现有服务注册表记录去除所述服务的实例。
16.如权利要求13所述的方法,其特征在于,还包括:确定所述服务请求是针对服务注册表记录不存在的服务,并使用所述服务不可用的消息来作出响应。
17.如权利要求13所述的方法,其特征在于,还包括:确定所述服务的多个实例可用,并返回可用实例的列表。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361884026P | 2013-09-28 | 2013-09-28 | |
US61/884,026 | 2013-09-28 | ||
PCT/US2013/076865 WO2015047439A1 (en) | 2013-09-28 | 2013-12-20 | Service-oriented architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105493046A CN105493046A (zh) | 2016-04-13 |
CN105493046B true CN105493046B (zh) | 2019-08-13 |
Family
ID=52744303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380079198.0A Active CN105493046B (zh) | 2013-09-28 | 2013-12-20 | 面向服务的中介、方法和计算机可读存储介质 |
Country Status (3)
Country | Link |
---|---|
US (3) | US10171594B2 (zh) |
CN (1) | CN105493046B (zh) |
WO (1) | WO2015047439A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105493046B (zh) | 2013-09-28 | 2019-08-13 | 迈克菲有限公司 | 面向服务的中介、方法和计算机可读存储介质 |
WO2015047436A1 (en) | 2013-09-28 | 2015-04-02 | Mcafee, Inc. | Efficient request-response routing over a data exchange layer |
US9710648B2 (en) | 2014-08-11 | 2017-07-18 | Sentinel Labs Israel Ltd. | Method of malware detection and system thereof |
US11507663B2 (en) | 2014-08-11 | 2022-11-22 | Sentinel Labs Israel Ltd. | Method of remediating operations performed by a program and system thereof |
WO2016134267A1 (en) * | 2015-02-20 | 2016-08-25 | Convida Wireless, Llc | Message bus service directory |
US10104152B2 (en) * | 2016-04-28 | 2018-10-16 | TeamMate Licensing B.V. | Inter-application communication and integration broker |
US10542044B2 (en) * | 2016-04-29 | 2020-01-21 | Attivo Networks Inc. | Authentication incident detection and management |
US9716617B1 (en) * | 2016-06-14 | 2017-07-25 | ShieldX Networks, Inc. | Dynamic, load-based, auto-scaling network security microservices architecture |
US11695800B2 (en) | 2016-12-19 | 2023-07-04 | SentinelOne, Inc. | Deceiving attackers accessing network data |
US11616812B2 (en) | 2016-12-19 | 2023-03-28 | Attivo Networks Inc. | Deceiving attackers accessing active directory data |
US10462171B2 (en) | 2017-08-08 | 2019-10-29 | Sentinel Labs Israel Ltd. | Methods, systems, and devices for dynamically modeling and grouping endpoints for edge networking |
CN109391500B (zh) * | 2017-08-11 | 2021-08-31 | 华为技术有限公司 | 一种配置管理方法、装置及设备 |
US11470115B2 (en) | 2018-02-09 | 2022-10-11 | Attivo Networks, Inc. | Implementing decoys in a network environment |
FR3086821A1 (fr) * | 2018-09-28 | 2020-04-03 | Orange | Procedes de collaboration et de demande de collaboration entre services de protection associes a au moins un domaine, agents et programme d’ordinateur correspondants. |
CN109587169B (zh) * | 2018-12-29 | 2022-12-13 | 亿阳安全技术有限公司 | 一种服务准入的管理方法及装置 |
US10810147B1 (en) * | 2019-03-25 | 2020-10-20 | EMC IP Holding Company LLC | Type-based message bus with message type hierarches for non-object oriented applications |
EP3973427A4 (en) | 2019-05-20 | 2023-06-21 | Sentinel Labs Israel Ltd. | SYSTEMS AND METHODS FOR EXECUTABLE CODE DETECTION, AUTOMATIC FEATURE EXTRACTION, AND POSITION-INDEPENDENT CODE DETECTION |
US11579857B2 (en) | 2020-12-16 | 2023-02-14 | Sentinel Labs Israel Ltd. | Systems, methods and devices for device fingerprinting and automatic deployment of software in a computing network using a peer-to-peer approach |
US11899782B1 (en) | 2021-07-13 | 2024-02-13 | SentinelOne, Inc. | Preserving DLL hooks |
CN114095204B (zh) * | 2021-10-14 | 2024-03-15 | 北京天融信网络安全技术有限公司 | 基于订阅机制的情报设备联动方法、防护中心及安全设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7127526B1 (en) * | 2000-03-20 | 2006-10-24 | Nortel Networks Limited | Method and apparatus for dynamically loading and managing software services on a network device |
CN101794409A (zh) * | 2009-11-18 | 2010-08-04 | 山东浪潮齐鲁软件产业股份有限公司 | 一种跨平台应用***实时数据交换模型 |
CN102075554A (zh) * | 2009-11-19 | 2011-05-25 | ***通信集团北京有限公司 | 一种基于soa架构的服务处理方法及其*** |
CN102340495A (zh) * | 2010-07-26 | 2012-02-01 | ***通信集团广东有限公司 | 一种支撑跨***业务联动的事件中心及其事件处理方法 |
CN203057178U (zh) * | 2013-02-05 | 2013-07-10 | 吉林通钢自动化信息技术有限责任公司 | 基于企业服务总线的集成办公*** |
CN103281368A (zh) * | 2013-05-22 | 2013-09-04 | 河海大学 | 一种基于云计算的数据共享交换模型及方法 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6073142A (en) | 1997-06-23 | 2000-06-06 | Park City Group | Automated post office based rule analysis of e-mail messages and other data objects for controlled distribution in network environments |
US5987610A (en) | 1998-02-12 | 1999-11-16 | Ameritech Corporation | Computer virus screening methods and systems |
US6460050B1 (en) | 1999-12-22 | 2002-10-01 | Mark Raymond Pace | Distributed content identification system |
US6901519B1 (en) | 2000-06-22 | 2005-05-31 | Infobahn, Inc. | E-mail virus protection system and method |
CA2365427A1 (en) * | 2001-12-19 | 2003-06-19 | Ibm Canada Limited-Ibm Canada Limitee | Internal product fault monitoring apparatus and method |
US20050086469A1 (en) * | 2003-10-17 | 2005-04-21 | Microsoft Corporation | Scalable, fault tolerant notification method |
US20060117020A1 (en) * | 2004-12-01 | 2006-06-01 | John Toebes | Arrangement for selecting a server to provide distributed services from among multiple servers based on a location of a client device |
US8306831B2 (en) * | 2005-01-10 | 2012-11-06 | International Business Machines Corporation | Systems with message integration for data exchange, collection, monitoring and/or alerting |
US7827234B2 (en) * | 2005-01-10 | 2010-11-02 | International Business Machines Corporation | Privacy entitlement protocols for secure data exchange, collection, monitoring and/or alerting |
US7822620B2 (en) * | 2005-05-03 | 2010-10-26 | Mcafee, Inc. | Determining website reputations using automatic testing |
JP5136238B2 (ja) | 2008-06-25 | 2013-02-06 | 富士通株式会社 | サービスバス連携方法及びサービスバス |
US7996434B2 (en) * | 2009-02-12 | 2011-08-09 | Oracle International Corporation | System and method for creating and managing universally unique identifiers for services |
US8380797B2 (en) * | 2009-11-09 | 2013-02-19 | General Electric Company | Business data exchange layer |
US8156140B2 (en) | 2009-11-24 | 2012-04-10 | International Business Machines Corporation | Service oriented architecture enterprise service bus with advanced virtualization |
US9535769B2 (en) * | 2010-02-05 | 2017-01-03 | Oracle International Corporation | Orchestrated data exchange and synchronization between data repositories |
US9483312B2 (en) | 2010-08-16 | 2016-11-01 | International Business Machines Corporation | Locating service endpoints from a service registry |
US8701128B2 (en) * | 2011-02-14 | 2014-04-15 | General Electric Company | Method, system and computer program product for a client application programming interface (API) in a service oriented architecture |
KR101857020B1 (ko) | 2012-01-17 | 2018-05-14 | 삼성전자주식회사 | 서버에서 제공되는 서비스를 관리하기 위한 단말기의 장치 및 방법 |
US20140136650A1 (en) * | 2012-11-13 | 2014-05-15 | Nokia Corporation | Method and apparatus for subscription of notifications based on content items |
TWI543551B (zh) * | 2013-05-31 | 2016-07-21 | D Link Corp | The method of selecting the optimal central controller from the power line network |
CN105493046B (zh) | 2013-09-28 | 2019-08-13 | 迈克菲有限公司 | 面向服务的中介、方法和计算机可读存储介质 |
WO2015047436A1 (en) * | 2013-09-28 | 2015-04-02 | Mcafee, Inc. | Efficient request-response routing over a data exchange layer |
-
2013
- 2013-12-20 CN CN201380079198.0A patent/CN105493046B/zh active Active
- 2013-12-20 WO PCT/US2013/076865 patent/WO2015047439A1/en active Application Filing
- 2013-12-20 US US14/913,427 patent/US10171594B2/en active Active
-
2018
- 2018-12-29 US US16/236,406 patent/US11076003B2/en active Active
-
2021
- 2021-07-23 US US17/383,775 patent/US11902388B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7127526B1 (en) * | 2000-03-20 | 2006-10-24 | Nortel Networks Limited | Method and apparatus for dynamically loading and managing software services on a network device |
CN101794409A (zh) * | 2009-11-18 | 2010-08-04 | 山东浪潮齐鲁软件产业股份有限公司 | 一种跨平台应用***实时数据交换模型 |
CN102075554A (zh) * | 2009-11-19 | 2011-05-25 | ***通信集团北京有限公司 | 一种基于soa架构的服务处理方法及其*** |
CN102340495A (zh) * | 2010-07-26 | 2012-02-01 | ***通信集团广东有限公司 | 一种支撑跨***业务联动的事件中心及其事件处理方法 |
CN203057178U (zh) * | 2013-02-05 | 2013-07-10 | 吉林通钢自动化信息技术有限责任公司 | 基于企业服务总线的集成办公*** |
CN103281368A (zh) * | 2013-05-22 | 2013-09-04 | 河海大学 | 一种基于云计算的数据共享交换模型及方法 |
Also Published As
Publication number | Publication date |
---|---|
US10171594B2 (en) | 2019-01-01 |
US20160212225A1 (en) | 2016-07-21 |
CN105493046A (zh) | 2016-04-13 |
WO2015047439A1 (en) | 2015-04-02 |
US11902388B2 (en) | 2024-02-13 |
US20220053059A1 (en) | 2022-02-17 |
US11076003B2 (en) | 2021-07-27 |
US20190141143A1 (en) | 2019-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105493046B (zh) | 面向服务的中介、方法和计算机可读存储介质 | |
CN105518695B (zh) | 实时策略分发 | |
CN105531711B (zh) | 数据交换层上的上下文感知网络 | |
CN106605397B (zh) | 安全编排框架 | |
CN105519041B (zh) | 安全连接的框架 | |
US20180007002A1 (en) | Elastic outbound gateway | |
US11418605B2 (en) | Efficient request-response routing over a data exchange layer | |
US10205798B2 (en) | Merging multiple system trees over a data exchange layer | |
US10749843B2 (en) | One-click reputation adjustment | |
US10237303B2 (en) | Prevalence-based reputations | |
US20240155003A1 (en) | Governance and security control for services executing on cloud platforms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Texas, USA Applicant after: MCAFEE, Inc. Address before: California, USA Applicant before: Mcafee, Inc. |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230707 Address after: California, USA Patentee after: MASA ROBRA USA LLC Address before: Texas, USA Patentee before: MCAFEE, Inc. |