CN117581210A - 使用事件级策略的事件总线中的事件级粒度控制 - Google Patents

使用事件级策略的事件总线中的事件级粒度控制 Download PDF

Info

Publication number
CN117581210A
CN117581210A CN202280045682.0A CN202280045682A CN117581210A CN 117581210 A CN117581210 A CN 117581210A CN 202280045682 A CN202280045682 A CN 202280045682A CN 117581210 A CN117581210 A CN 117581210A
Authority
CN
China
Prior art keywords
message
event
target
routing system
policy
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
CN202280045682.0A
Other languages
English (en)
Inventor
费里普德阿圭尔·卡玛库瑞
R·巴尔达瓦
N·斯米特
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 CN117581210A publication Critical patent/CN117581210A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • 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/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/542Intercept
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging middleware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue
    • 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/06Management of faults, events, alarms or notifications
    • H04L41/0604Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time
    • H04L41/0618Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time based on the physical or logical position

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

用针对消息路由系统实施的消息级策略可用于在各种消息源和接收并使用消息的消息目标之间进行协调。所述消息级策略可以允许消息路由系统策略可能能够提供的精细粒度逐消息策略评估。所述消息级策略还可以与所述消息路由系统策略交互以提供避免受保护消息意外泄漏或溢出到受保护区域的机制。

Description

使用事件级策略的事件总线中的事件级粒度控制
背景技术
事件驱动架构(EDA)是一种软件架构范例,它使用事件在经解耦的服务之间进行通信。事件是任何实体(如应用的微服务)的状态改变或状态更新。事件的使用使得能够进行应用的解耦,因为不管感兴趣的接收实体是否存在都允许事件存在。EDA达成经高度解耦的应用,该应用可以独立于应用的各种微服务进行扩展。可将使用EDA的应用中的事件发送到事件总线系统,该事件总线系统对在多个区域的各种目标之间发送和接收的事件进行协调。
附图说明
图1A至1B是示出根据一些实施例的使用消息路由系统对消息进行消息级粒度控制以将消息限制到选定分组的逻辑框图。
图2是示出根据一些实施例的实施将事件限制到选定区域的事件总线服务的提供商网络的逻辑框图。
图3是示出根据一些实施例的事件总线服务和策略管理服务的各种组件以及它们与事件的交互的逻辑框图。
图4是示出根据一些实施例的事件策略和事件总线策略交互的各种配置的逻辑框图。
图5是示出根据一些实施例的事件总线策略和规则之间的交互(包括规则管理)的逻辑框图。
图6是示出根据一些实施例的事件策略和事件之间的交互(包括事件度量服务)的逻辑框图。
图7是示出根据一些实施例的使用消息策略在消息路由系统中实现消息的消息级粒度控制的各种方法和技术的高级流程图。
图8是示出根据一些实施例的用于利用各种事件策略和事件总线策略交互来实现事件总线中的事件的事件级粒度控制的各种方法和技术的高级流程图。
图9是示出根据各种实施例的使用允许事件级粒度控制的事件总线的示例性计算机系统的框图。
虽然本文中通过几个实施例和例示性附图的示例描述了实施例,但是本领域技术人员将认识到,实施例不限于所描述的实施例或附图。应当理解,附图及其详细描述并不旨在将实施例限制于所公开的特定形式,而是相反,本发明旨在覆盖落入由所附权利要求限定的精神和范围内的所有修改、等效物和替代物。本文中使用的标题仅用于组织目的,并且并不意指用于限制说明书或权利要求的范围。如在整个申请中所使用的,词语“可以”是在许可的意义上使用的(即,意指有可能),而不是强制的意义上使用的(即,意指必须)。词语“包括(include/including/includes)”表示开放式关系,并且因此意指包括但不限于。类似地,词语“具有(have/having/has)”也表示开放式关系,并且因此意指具有但不限于。如本文所用的术语“第一”、“第二”、“第三”等用作它们前面的名词的标签,并且并不意指任何类型的排序(例如,空间、时间、逻辑等),除非另外明确指出这种顺序。
如本文所用的术语“基于”用于描述影响确定的一个或多个因素。此术语不排除可能影响确定的其他因素。也就是说,确定可以仅仅基于那些因素或者至少部分基于那些因素。考虑短语“基于B来确定A”。虽然B可能是影响A的确定的因素,但是这样的短语并不排除也基于C来确定A。在其他情况下,可以仅基于B来确定A。
本公开的范围包括在本文中公开的任何特征或特征的组合(明确地或隐含地),或其任何概括,无论它是否减轻了在本文中提出的任何或所有问题。因此,在本申请(或主张其优先权的申请)的审查过程期间,可以对任何这样的特征组合提出新的权利要求。特别地,参考所附权利要求,从属权利要求的特征可以与独立权利要求的特征相结合,并且各个独立权利要求的特征可以按照任何适当的方式相结合,而不仅仅是按照所附权利要求中列举的特定结合。
具体实施方式
本文中描述了使用消息路由系统实现对消息的消息级粒度控制的各种技术。消息路由系统可以充当各种消息源和接收并使用消息的消息目标之间的中介。消息级粒度控制的一个这样的实施例可以是使用事件总线系统的事件级粒度控制。事件总线系统可以充当各种事件源和接收并使用事件的事件目标之间的中介。在各种实施例中,例如用于事件总线系统的事件源如消息源可以是各种应用,如软件即服务(SaaS)应用、内部服务应用或外部服务应用。类似地,如事件目标等消息目标可以是各种应用,如SaaS应用、内部服务应用或外部服务应用。消息路由系统可以允许缓解充当消息源和消息目标的不同应用之间的紧密耦合,从而解决随着添加越来越多的服务而可能出现的问题。例如,事件总线系统可以协调在添加新服务中涉及的各种应用编程接口(API),以防止由依赖性引起的错误。这种SaaS应用或其他类型的应用可以利用事件驱动架构(EDA)来进一步对利用微服务构建的应用的服务解耦。
例如,当事件目标接收或消费如任何实体(例如,微服务)的状态变化等事件时,可以实施EDA。在EDA中,事件可能不会被明确地传达给特定的接收者,相反,可将事件源和事件解耦到事件目标,使得事件生产者或事件源不需要知道事件消费者的身份。而不是由事件源确定事件目标的身份,目标本身或其他类似的事件消费者可以订阅接收事件。此外,可以允许事件存在,而不管下游是否存在任何感兴趣的事件接收者或事件目标,这进一步促进了解耦。在EDA中,可以使用事件总线来帮助应用协调事件源和事件目标。
在各种实施例中,如事件总线系统等消息路由系统可以是EDA的一部分,并且可以通过选择事件并且将事件与事件目标相匹配来与各种下游服务进行交互,从而承担确保事件被适当传播的复杂性。如事件等消息可以包括事件数据,该事件数据提供事件源的系统的改变和/或状态的各种信号、指示、消息、通信或其他通知。充当中介的事件总线可以允许消费者和源进一步解耦。例如,为了使各种服务消费事件,不是更新所有涉及的服务,而是可以更新事件总线系统,以根据可以确定事件总线系统如何处理事件的规则而将事件路由到适当的服务。以此种方式,事件总线系统可以适应新的服务,参与事件的发送和接收。
由于EDA中是事件的解耦(其中事件源不依赖于对事件目标的身份的访问),所以事件总线可能无法在逐个事件的基础上应用策略。对于一般应用用于EDA中的事件的解耦架构的消息,可能发生解耦。消息路由系统策略(例如事件总线策略)可用于基于参数(如地理位置、标签、超群组或基于事件总线策略的其他地理位置分组)来限制整个区域或区域群组。
此外,由于隐私和各种监管问题,事件的流量可能被限制在某些区域。为了便于对某些区域的服务器的事件流量和流量进行限制,可以使用事件总线系统来协调具有消息级策略(如发送和接收的事件级策略)的事件。流量事件可能限于其中客户数据需要限于事件的起源地区的某些地区,如具有通用数据保护法规的欧盟(EU GDPR)。基于事件总线策略,可使用消息路由系统策略来基于如地理位置、标签、超群组或其他地理位置分组等参数来限制整个区域或区域群组。
例如,使用事件级策略的事件总线可以位于多个分组(如基于地理区域的分组)之间。在其中允许多个区域和多个区域之间的通信的选定系统中,事件必须限制在计划范围内。除了它的有效载荷之外,每个事件可以具有将允许事件总线对事件被限制到哪个区域起源进行控制的事件策略。这些事件级策略将增大可对事件进行设置的粒度。这种包含事件级策略的事件总线将提供避免受保护事件意外泄漏或溢出到受保护区域的机制。通过事件级策略的这种粒度可以不限于将事件限制到区域,而是可以应用于其他策略,如关于账户身份和其他参数的策略。这种使用事件级过滤器的事件总线服务将增强对事件的控制和过滤能力。
图1A和1B是示出使用消息路由系统对消息进行消息级粒度控制以将消息限制到选定分组的逻辑框图。一个或多个消息源110可以产生多个消息112a、112b并且通过消息流108来传送它们。消息112a可以是消息源状态的改变或者可以是消息源状态的标识符。消息路由系统130可以接收消息112a、112b,并且跨多个分组(如分组A 140和分组B 146)将消息路由到消息目标120a、120b。消息路由系统130可以接收各种消息112a、112b,通过目标消息流122a、122b将它们发送到各种消息目标120a、120b。消息路由系统130的消息动作处理程序144可以执行消息到各个消息目标120a、120b的传送。此外,消息动作处理程序144可以与策略管理服务150交互,以进一步实行消息路由系统130的功能,如向消息目标120a传送消息、在被丢弃消息度量服务(消息路由系统130的服务150)中存储被丢弃消息等。消息目标可以是系统、服务或应用,如软件即服务(SaaS)应用、可以接收消息数据或消息数据流的内部服务应用。此外,消息目标可以是使用API目的地的超文本传送协议(HTTP)调用端点。分组可以是地理分组、基于策略的分组等。消息动作处理程序144和策略管理服务150能够实施消息总线级或其他系统级策略,消息总线级或其他系统级策略可以在较粗的尺度上限制消息路由系统130的某些行为,如126处所示,如阻止被阻止的分组B 146的整个目标事件流。
在各种实施例中,可以存在类似于消息源110的多个消息源,该多个消息源可以通过各种消息流产生消息,这些消息流可以将它们传送到消息路由系统130。消息路由系统130可被实施为提供者网络的一部分(如下文讨论的事件总线服务210)以及可利用与实施消息源110和消息目标120的系统分开的消息路由系统的各种其他系统或应用。消息源110可以是系统、服务或应用,如软件即服务(SaaS)应用、产生消息数据或消息数据流的内部或外部服务应用。消息可以指以各种数据格式发布或发送的每个单独的消息数据,如JavaScript对象简谱(JSON)、二进制JSON(BSON)、可扩展标记语言(XML)、YAML非标记语言(YAML)等。在一些实施例中,消息112a、112b可以是构成目标消息流122a、122b的正在进行的一系列消息。
在一些实施例中,除了其有效载荷之外,消息112a、112b还可以具有各自的分组策略140a、140b,该分组策略可以为消息路由系统提供利用这些策略来实施消息级控制的能力。策略管理服务150可以管理策略,其中消息路由系统接收并且利用这些策略来逐消息地确定消息动作处理程序144可以采取的动作。例如,基于分组策略140a和140b,可允许将两个消息112a和112b发送到分组A 140a中的消息目标120a,由于其消息策略140b对消息112b的限制,因此只有消息112a可被发送到分组B 148中的消息目标120b。在其他实施例中,消息策略可以指定受限分组或允许分组或两者的组合。策略管理服务还可以根据如下面在图4中描述的消息路由系统配置来处理消息级策略和消息总线级策略或其他系统级策略之间的冲突。
请注意,图1被提供作为消息源、消息、规则管理服务、过滤引擎和消息目标的逻辑图示,并不旨在限制实现这些特征的组件、模块或装置的物理布置、大小或数量。例如,可能存在由消息路由系统协调的多个消息源与一个消息分组/每个分组的一个目标。也可能有多个采用类似架构的消息路由系统。
图2是示出根据一些实施例的实施将事件限制到选定区域的事件总线服务的提供商网络的逻辑框图。提供商网络可以是私有或封闭的系统或者可以由如公司或公共部门组织的实体建立,以向客户端250提供可经由互联网和/或其他网络访问的一个或多个服务(如各种类型的虚拟计算服务),该客户端可以位于一个或多个区域中并且还可以充当事件目标251和/或事件源252。在一些实施例中,客户端250可以位于单个位置或者在多个网络区域上实施。提供商网络也可以在单个位置实施或者在多个网络区域200上实施,该多个网络区域可以包括托管各种资源池的一个或多个数据中心,如物理和/或虚拟化计算机服务器、存储装置、网络设备及类似装置的集合(例如,下面参考图9描述的计算系统900),其需要实施和操作事件总线服务210(包括其中的规则管理服务220和策略管理服务230)以及由提供商网络区域200内的提供商网络提供的一个或多个虚拟计算服务240和存储服务。提供商网络供应和修补对各种资源池进行托管的该一个或多个数据中心以允许自动扩展和内置高可用性。
在一些实施例中,多个客户端250可以通过跨多个网络区域或各种地理分组的网络260与提供商网络区域200交互。客户端可以是事件源252,其中事件源产生要传送到事件总线服务210的事件。客户端同样可以是事件目标251,其中事件源接收由事件总线服务210传送的事件。事件源252可以产生具有附加事件级策略的事件,以给予事件总线服务粒度控制,如将事件限制到特定区域的策略。提供商网络区域200可以在相应的区域中实施事件总线服务210、规则管理服务220、策略管理服务230和/或虚拟计算服务240。注意,在可能存在给定组件的一个或多个实例的情况下,本文中对该组件的引用可以是单数或复数。然而,使用任何一种形式都不是为了排除另一种形式。
在各种实施例中,图2中所示的组件可以直接在计算机硬件内实现,作为可由计算机硬件(例如,微处理器或计算机系统)直接或间接执行的指令,或者使用这些技术的组合。一般而言,客户端250可以包括能够经由网络260向提供商网络区域200提交基于网络的服务请求的任何类型的客户端,包括对事件总线服务的请求。例如,给定的客户端250可以包括网络浏览器的合适版本或者可以包括插件模块或其他类型的代码模块(可以作为网络浏览器提供的执行环境的扩展或在网络浏览器提供的执行环境中执行)。替代地,在一些实施例中,客户端250可包含如数据库应用(或其用户接口)、媒体应用、办公应用或可利用事件总线服务210来发送事件以供虚拟计算服务消费、从事件总线服务210接收事件和/或为事件指定规则的任何其他应用。在一些实施例中,事件总线级策略(或其他系统级策略)还可用于事件总线服务210。在一些实施例中,这样的应用可以包括足够的协议支持(例如,对于HTTP的合适版本),用于产生和处理基于网络的服务请求,而不必实施对所有类型的基于网络的数据的完全浏览器支持。即,客户端250可以是可以直接与各种提供商网络区域200的事件总线服务210交互的应用。在一些实施例中,客户端250可以根据表述性状态转移(REST)风格的网络服务架构、基于文档或基于消息的基于网络的服务架构或另一种合适的基于网络的服务架构来产生基于网络的服务请求。
尽管客户端250被示为在提供商网络区域200的外部,但是在一些实施例中,客户端可以用提供商网络区域200(如在可以利用各种区域中的事件总线服务210的其他虚拟计算资源上实施的应用或系统)来实施。在一些实施例中,客户端250可以经由网络260向提供商网络200传达基于网络的服务请求,并且从提供商网络接收响应。在各种实施例中,网络260可以包括在客户端250和提供商网络200之间建立基于网络的通信所需的网络硬件和协议的任何合适的组合。例如,提供商网络区域200通常可以包括共同实施互联网的各种电信网络和服务提供商。网络260还可以包括专用网络,如局域网(LAN)或广域网(WAN)以及公共或专用无线网络。例如,给定的客户端250和提供商网络区域200两者可以分别在具有它们自己的内部网络的企业中提供。在这样的实施例中,网络260可以包括硬件(例如,调制解调器、路由器、交换机、负载平衡器、代理服务器等)和软件(例如,协议栈、会计软件、防火墙/安全软件等),其是在给定客户端250和互联网之间以及互联网和基于网络的事件总线服务之间建立网络链接所必需的。注意,在一些实施例中,客户端250可以使用专用网络而不是公共互联网与提供商网络区域200通信。例如,客户端250可以在与事件总线服务210相同的企业内提供。在这种情况下,客户端250可以完全通过虚拟专用网络260(例如,可以使用基于互联网的通信协议但是不能公开访问的LAN或WAN)与平台区域200通信。
一般而言,提供商网络区域200可以实施一个或多个服务端点,该一个或多个服务端点可以接收和处理基于网络的服务请求,如接收各种事件和接收用于处理事件的规则。例如,提供商网络区域200可以包括可以实施特定端点的硬件和/或软件,使得指向此端点的基于HTTP的基于网络的服务请求被恰当地接收和处理。在一个实施例中,提供商网络区域200可以被实施为服务器系统,该服务器系统可以从客户端250接收基于网络的服务请求并且将它们转发给实施事件总线服务210、规则管理服务220和/或另一策略管理服务230的系统的组件以供处理。在其他实施例中,提供商网络区域200可以被实施为实施负载平衡的多个不同的系统(例如,在集群拓扑中)并且其他请求管理特征可以动态地管理大规模的基于网络的服务请求处理负载。在各种实施例中,提供商网络区域200可以支持REST风格或基于文档(例如,基于SOAP)类型的基于网络的服务请求。
在一些实施例中,提供商网络区域200可以实施各种客户端管理特征。例如,提供商网络区域200可以协调从客户端接收事件以及其中包含的各种事件策略。提供商网络区域200还可以实施财务会计和计费系统或者可以维护使用数据的数据库(该数据库可以由外部系统进行查询和处理)以对客户端使用活动进行报告和计费。在某些实施例中,提供商网络区域200可以收集、监视和/或聚集各种存储服务系统操作度量,如反映从客户端250接收的请求的速率和类型、这样的请求所利用的带宽、这样的请求的系统处理延迟、系统组件利用率(例如,网络带宽和/或存储服务系统内的存储利用率)、由请求导致的错误的速率和类型、存储和请求的数据页面或其记录的特征(例如,大小、数据类型等)或者任何其他合适的度量。在一些实施例中,这样的度量可以被系统管理员用来调整和维护系统组件,而在其他实施例中,这样的度量(或这样的度量的相关部分)可以被展示给客户端250以使得这样的客户端能够监视它们对事件总线服务210或虚拟计算服务240(或实现那些服务的底层系统,如规则管理服务220或策略管理服务230)的使用。在一些实施例中,该一个或多个虚拟计算服务240还可以是事件目标241或事件源242。虚拟计算服务240的相应事件目标241可以与事件总线服务210交互,以从各个区域中的客户端250的相应事件源252以及从不同提供商网络区域中的事件源241接收事件。在其他实施例中,虚拟计算服务240的相应事件源242可以与事件总线服务210交互,以将事件发送到各个区域中的客户端250的相应事件目标251以及不同提供商网络区域中的事件目标241。
在一些实施例中,事件总线服务210可以根据各种规则将从事件源接收的事件路由到一个或多个事件目标,这些规则可以经由用于事件总线服务210的接口来指定。在各种实施例中,事件总线服务210的业务和操作可以大致分为两类:在逻辑控制平面上进行的控制平面操作和在逻辑数据平面上进行的数据平面操作。事件总线服务210可以实施事件动作处理程序214,该动作处理程序可以充当事件总线服务210的数据平面。例如,尽管数据平面表示事件数据通过事件总线服务210向事件目标的移动,控制平面212表示控制信号通过事件总线服务210的移动。控制平面通常包括分布在一个或多个控制服务器上并且由一个或多个控制服务器实施的一个或多个控制平面组件。控制平面流量通常包括管理操作,如系统配置和管理(例如,资源放置、硬件容量管理、诊断监控、系统状态信息)。数据平面流量通常包括非管理性操作,如事件数据的路由。某些控制平面212组件(例如,第一层控制平面组件,如用于事件总线服务210的控制平面)可以在与数据平面服务器分开的一组服务器上实施,而其他控制平面212组件(例如,第二层控制平面组件,如分析服务)可以与数据平面共享虚拟化服务器,并且控制平面212流量和数据平面流量可以通过单独的/不同的网络发送。
在一些实施例中,事件总线服务210可以实施作为控制平面212的一部分的用户授权和访问控制过程。例如,控制平面212可以判断请求是否被授权配置事件策略/事件总线策略交互、发布事件总线策略、发布事件、指定规则和/或从事件总线服务210接收事件。控制平面212可通过例如对照与请求事件总线服务210摄取事件数据的特定事件源相关联的凭证来评估身份、密码或其他凭证而确定这种授权。例如,如果客户端250没有足够的凭证来向事件总线服务210发布事件,则代理节点可以拒绝相应的基于网络的服务请求,例如通过向请求客户端250返回指示错误状况的响应。各种访问控制策略可由事件总线服务210和虚拟计算服务240存储为访问控制信息的记录或列表。在一些情况下,提供商网络区域200的记账和/或凭证服务对于如管理客户端等内部客户端或者同一企业内的服务组件之间可能是不必要的。
图3是示出根据一些实施例的事件总线服务和策略管理服务的各种组件以及它们与事件的交互的逻辑框图。
事件总线服务210可以通过事件流310接收一个或多个事件312a、312b,其中事件包含允许对事件进行粒度控制的事件级区域策略340a、340b。在一些实施例中,一个或多个事件目标350a、350b、350c可以位于区域280a、280b、280c内。事件312a、312b可以被发送到一个或多个事件目标350a、350b、350c。区域策略340a、340b可以是事件级别的策略,并且可以指定允许的区域或限制的区域。在其他实施例中,区域策略340a、340b还可以是描述事件可能被限制的区域的策略,但是还可以描述描述一般事件的任何策略。例如,事件策略可以不限于关于区域的策略,而是关于某些账户或用户的策略。
在此示例中,事件总线服务210包括事件动作处理程序214、规则管理服务220、策略管理服务230和控制平面212。控制平面212协调规则管理服务220和策略管理服务230,使得这些部分能够彼此协同工作,并且能够处理事件总线服务210的各种功能,如对事件的控制。控制平面212还可以促进授权和访问控制过程,并且可以判断事件流310或产生事件312a、312b的事件源是否被授权向事件总线服务210发布事件,或者被授权从事件总线服务210接收事件312a、312b。
在一些实施例中,事件总线服务210可以接收事件312a、312b。使用策略管理服务230,区域策略340a和340b可以被策略管理服务230识别和评估以采取后续事件动作。在一些实施例中,事件动作处理程序214可以向策略管理服务230请求区域策略验证360,以便采取适当的动作,例如是否发送被确定为路由到特定区域的事件目标的事件。策略管理服务230的策略评估引擎334可以评估区域策略340a、340b,并且向事件动作处理程序214返回区域策略验证响应362。该响应可以是允许将事件发送到事件目标(如将事件312a、312b及其相应的区域策略340a、340b发送到区域A 280a的事件目标350a,如目标事件流342a处所示)的指令。另一方面,在一些实施例中,基于区域策略验证响应362,事件动作处理程序214可以不允许将事件发送到区域中的事件目标350b,如具有被允许发送到区域B 280b的区域策略340a的事件312a,但是具有其区域策略340b的事件312b被发送到区域B 280b的事件目标350b,如目标事件流342b处所示。
在一些实施例中,策略管理前端332可以接收允许事件总线服务210确定事件路由的事件总线策略。这些事件总线策略可用于在事件总线级处确定事件总线服务的行为,如通过限制事件被发送到区域C 280c的事件总线策略来阻止目标事件流342c。事件总线级策略或其他这样的系统级策略可以与事件级策略相区别,因为事件总线级策略不针对单个事件的粒度控制,其中事件本身将提供区域许可或区域限制。无论是通过使用事件总线级策略还是通过事件策略来阻止整个区域,由事件动作处理程序214丢弃而不传送的事件(例如事件312a)都可以被给予期望的度量服务或者被丢弃事件380的事件产生器。接收到的事件总线策略可以存储在策略配置存储区中。
在一些实施例中,规则管理服务220管理规则,其中事件总线系统接收并且利用规则来将事件312a、312b路由到事件目标350a、350b、350c。事件目标350a、350b、350c由事件总线应用规则将适当的事件路由到适当的事件目标120而产生。在各种实施例中,规则可以是通知事件总线系统如何将传入事件匹配到事件目标并且相应地对其进行路由的条件(例如,如下面参考图6详细所讨论)。在一些实施例中,单个规则可以将事件路由到多个目标。规则可经由用于事件总线130的接口来指定或发送到规则管理服务220,并且以类似于如JSON、BJSON、XML、YAML等事件的各种数据格式发布。规则管理服务220可以使用规则来并行处理事件,并且不需要以特定的顺序来处理。规则管理服务220可以包括修改要由事件总线系统发送到事件目标的事件的指令,如传递事件的某些部分或者用预定义值重写事件的某些部分。在一些实施例中,事件总线服务210可以在事件级策略340a、340b和事件总线级策略之间具有多层策略。如下面参考图4详细所讨论,多个策略和策略种类可以通过事件总线服务配置来组织,该事件总线服务配置可以由账户所有者或事件总线服务的用户来配置。
图4是示出根据一些实施例的事件策略和事件总线策略交互的各种配置的逻辑框图。在事件总线服务中,可能存在描述事件可能被发送或可能被限制的区域的多个策略以及多个级别的策略,如粒度事件级策略和更广泛的事件总线级策略(或其他系统级策略)。在一些实施例中,事件总线服务可以利用配置来解决两种类型的策略之间的潜在冲突。
在一些实施例中,事件总线可以采用事件策略将取代事件总线策略410的配置。在该配置中,当事件总线已经存储了限制事件被发送到区域442的事件总线策略,并且具有允许将事件发送到区域440的事件策略的事件到达时,事件总线将按照策略配置410将事件发送到区域。在其中允许将事件发送到区域462的事件总线策略被存储并且事件总线服务接收到事件具有限制将事件发送到区域460的事件策略的情况下,事件总线服务不会按照事件策略偏好策略配置410将事件发送到区域。
在一些实施例中,事件总线可以采用其中事件总线策略将取代事件策略420的配置。在该配置中,当事件总线已经存储了允许将事件发送到区域450的事件总线策略,并且具有限制事件被发送到区域452的事件策略的事件到达时,事件总线将按照策略配置420将事件发送到区域。在其中存储了限制事件被发送到区域470的事件总线策略并且事件总线服务接收到具有允许将事件发送到区域472的事件策略的情况下,事件总线服务不会按照事件总线策略偏好策略配置420将事件发送到区域。
在一些实施例中,事件总线可以采用其中限制性的事件策略将取代事件策略的配置,而不支持事件总线策略或事件策略430。在这种配置中,当存储了允许将事件发送到区域462的事件总线策略并且事件总线服务接收到事件具有限制将事件发送到区域460的事件策略时,事件总线服务将不会根据事件策略偏好限制430将事件发送到区域。在其中存储了限制事件被发送到区域470的事件总线策略并且事件总线服务接收到事件具有允许事件被发送到区域472的事件策略的情况下,事件总线服务不会根据事件总线策略偏好限制430将事件发送到区域。
事件总线策略配置可以包括事件策略和事件总线策略之间关系的其他方面,如事件总线服务或组件(如事件动作处理程序)要采取的附加动作。在一些实施例中,除了上述三种配置之外,还可以存在其他配置,如使用不同的限制标准(如限制某个区域)以及上述配置的混合(即,优先考虑允许发送事件的事件策略,但是优先考虑限制事件的事件总线)。
图5是示出根据一些实施例的事件总线策略和规则(包括规则管理)之间的交互的逻辑框图。在此示例中,账户所有者502产生新事件总线策略或对事件总线策略510的修改,并且将其发送给事件总线服务210。事件总线策略510可以是如JavaScript JSON、BJSON、XML、YAML等各种数据格式并且存储在策略配置存储区中。控制平面212可能要求账户所有者502经历授权和访问控制过程以判断它是否被授权发布指定新事件总线策略510或访问策略配置存储区338来修改事件总线服务210的现有策略。控制平面212可通过例如对照与请求事件总线服务210的特定事件源相关联的凭证评估身份、密码或其他凭证来确定这种授权。事件总线服务210可以将各种访问控制策略存储为访问控制信息的记录或列表。在向事件总线服务210提供新规则或新规则修改520时,事件总线用户508的控制平面212可能需要类似的授权和访问控制过程。新规则或规则修改520可用于确定由事件总线服务210接收的发送事件。规则管理前端532可以接收规则/规则修改520,这允许事件总线服务210确定事件与事件目标的匹配。
在接收到新规则/规则修改520之后,策略管理服务230可以从规则管理220接收规则策略验证请求。规则策略验证请求560从策略管理服务230请求新规则/规则修改520是否包括被任何事件总线策略将禁止发送到该区域的事件目标的事件目标区域。在接收到规则策略验证响应562时,具有被事件总线策略另外排除的事件目标或条件的规则被规则管理拒绝。排除发送到事件目标的规则的移除减轻了规则管理需要执行以确定传入事件是否匹配事件目标之一的负载。在一些实施例中,如530处所示,策略管理服务220向事件总线用户508返回规则管理220拒绝将新规则520存储在规则522中。
这些事件总线策略可用于在事件总线级处确定事件总线服务的行为,如通过限制事件被发送到区域C 280c的事件总线策略来阻止目标事件流342c。事件总线级策略或其他这样的系统级策略可以与事件级策略相区别,因为事件总线级策略不针对单个事件的粒度控制,其中事件本身将提供区域许可或区域限制。无论是通过使用事件总线级策略还是通过事件策略来阻止整个区域,被事件动作处理程序214丢弃而不传送的事件(如事件312a)都可以被给予期望的度量服务或者被丢弃事件380的事件产生器。接收到的事件总线策略可以存储在策略配置存储区中。
图6是示出根据一些实施例的事件策略和事件之间的交互(包括事件度量服务)的逻辑框图。在此示例中,账户所有者502产生新的事件总线设置或对事件总线设置610的修改,并且将其发送给事件总线服务210,其中设置610可包括事件级策略/事件总线级策略冲突配置。事件总线设置610可以是如JavaScript JSON、BJSON、XML、YAML等各种数据格式并且存储在策略配置存储区中。控制平面212可能要求账户所有者502经历授权和访问控制过程以确定它是否被授权发布指定事件总线设置610或访问策略配置存储区338来修改事件总线服务210的现有策略设置。控制平面212可通过例如对照与请求事件总线服务210的特定事件源相关联的凭证评估身份、密码或其他凭证来确定这种授权。事件总线服务210可以将各种访问控制策略存储为访问控制信息的记录或列表。事件源602的控制平面212在建立目标事件流312时可能需要类似的授权和访问控制过程,其中事件312a、312b具有各自的区域策略340a、340b。
一旦事件总线服务210接收到事件312a、312b,事件动作处理程序214便请求规则管理服务220基于规则来判断是否存在匹配的事件目标。规则可以是通知事件总线系统如何将传入事件匹配到事件目标并且相应地对其进行路由的条件。单个规则可以将事件路由到多个目标并且可以由事件总线系统以如JSON、BJSON、XML、YAML等各种数据格式接收。规则管理服务可以使用规则来并行处理事件,并且不需要以特定的顺序来处理。规则管理服务可以包括修改要由事件总线系统发送到事件目标的事件的指令,如传递事件的某些部分或者用预定义常数重写事件的某些部分。可以用除了从事件目标接收之外的各种方式来定义规则,如通过直接的用户输入或预定义的默认规则。规则管理服务220可以用事件目标匹配响应662来响应事件动作处理程序,该事件目标匹配响应包括与事件312a、312b匹配的目标的身份。
事件动作处理程序214然后请求策略管理服务230,以便验证在事件目标匹配响应662中确定的事件目标不受事件策略或事件总线策略的限制或约束。策略评估引擎334可以将区域策略340a、340b与所存储的事件总线策略进行比较,并且可以根据新事件总线设置610的事件级策略/事件总线级策略冲突配置来解决这两种类型的策略之间的潜在冲突。如图4所示,在事件级策略和事件总线级策略/系统级策略之间可能存在各种交互和冲突解决方案。策略管理服务230可以利用区域策略验证请求360来响应事件动作处理程序214,该区域策略验证请求具有用于事件动作处理程序214相应地解决事件312a、312b的指令。在一些实施例中,事件312a、312b可以被丢弃并且不被发送到任何事件目标,在这种情况下,被丢弃事件380的通知可以被发送到事件度量服务632。事件度量服务632可以是单独的服务或者可以是事件总线服务210的一部分,并且可以进而允许事件度量对如事件源612等的感兴趣的实体可见。
图2至图6中讨论的事件总线服务210提供了系统的示例,该系统示出了事件的事件级粒度控制以使用事件路由系统将事件限制到选定区域。图7是示出根据一些实施例的使用消息策略在消息路由系统中实现消息的消息级粒度控制的各种方法和技术的高级流程图。各种系统和装置可以单独或一起实施下面描述的各种方法和技术。例如,事件路由系统可以实施上述各种方法。替代地,不同系统和装置的组合可以实施各种方法。因此,上述示例和/或被称为执行所示方法的任何其他系统或装置不旨在限制其他不同的组件、模块、系统、或者系统和装置的配置。
如710处所示,可以接收在第一环境中具有第一消息级策略和第一消息数据的第一消息。第一环境中的消息数据可以包括第一环境状态的变化或者可以是第一环境状态的标识符。第一消息级策略可以是限制消息的策略。在一些实施例中,消息策略可以是限制目标选择地理区域或地理区域群组的策略。在其他实施例中,策略可以是允许将消息发送到选择的地理区域或地理区域群组的策略。
如720处所示,可以接收在第二环境中具有第二消息级策略和第一消息数据的第二消息。第二环境中的消息数据可以包括第二环境状态的变化或者可以是第二环境状态的标识符。第二消息级策略可以是限制消息的策略。在一些实施例中,消息策略可以是限制目标选择地理区域或地理区域群组的策略。在其他实施例中,策略可以是允许将消息发送到选择的地理区域或地理区域群组的策略。
如730处所示,可以确定消息目标,其中消息目标与第一消息和第二消息两者匹配。在一些实施例中,可以基于一个或多个规则来匹配这两个消息,该一个或多个规则确定消息被发送到消息目标所必须满足的条件。消息目标可以是系统、服务或应用,如软件即服务(SaaS)应用、可以接收消息数据或消息数据流的内部服务应用。此外,消息目标可以是使用API目的地的超文本传送协议(HTTP)调用端点。
如740处所示,可以评估第一消息级策略和第二消息级策略。对两个策略的评估可以包括对消息级策略的限制和/或消息级策略的允许的评估,以确定第二消息被排除发送到消息目标。在一些实施例中,可以基于消息路由系统的配置来评估消息路由总线级策略或其他系统级策略与消息级策略之间的交互。
如750处所示,可以将第一消息发送到被确定为处于相同的消息目标。与消息源类似,API目的地是可以使用HTTP请求调用的目标。消息路由系统可以调用HTTP端点,其中消息作为HTTP请求内的有效载荷被发送。在HTTP请求中可以使用各种HTTP方法,如GET或POST。
图8是示出根据一些实施例的用于利用各种事件策略和事件总线策略交互来实现事件总线中的事件的事件级粒度控制的各种方法和技术的高级流程图。如810处所示,事件总线服务可以接收事件。事件可以源自各种系统、服务或应用,如软件即服务(SaaS)应用、产生事件数据或事件数据流的内部或外部服务应用。如820处所示,可以确定事件目标。在一些实施例中,事件目标基于一个或多个规则而与第一事件和第二事件两者匹配,该一个或多个规则确定了将事件发送到事件目标所必须满足的条件。事件目标可以是系统、服务或应用,如软件即服务(SaaS)应用、可以接收事件数据或事件数据流的内部服务应用。此外,事件目标可以是使用API目的地的超文本传送协议(HTTP)调用端点。
如830处所示,评估事件策略或事件总线策略是否限制了在820处标识的目标。如果事件策略和事件总线策略都不限制目标,则将事件发送到事件目标。如850处所示,检查事件策略和事件总线策略之间是否存在冲突。冲突可以是如图4中所描述的各种冲突之一,如允许某些目标区域或区域群组与限制那些目标区域的事件策略相冲突的事件总线策略之间的冲突。如850处所示,如果在事件总线策略和事件策略之间没有冲突,则将在810处接收的事件包括在被丢弃事件的度量860中。
如870处所示,如果在事件策略和事件总线策略之间存在冲突,则根据事件总线配置中的先例集来解决冲突。在一些实施例中,可以通过事件总线服务配置来解决多个策略冲突和多种类型的策略冲突。在一些实施例中,可以通过将事件发送到事件目标、丢弃事件、以及将被丢弃事件包括在度量中、或者由配置先例指示的任何其他动作来解决冲突。
在各种实施例中,本文所述的方法可以通过硬件和软件的任意组合来实施。例如,在一个实施例中,方法可以由包括一个或多个处理器的计算机系统(例如,图8中的计算机系统)来实施,该一个或多个处理器执行存储在耦合到处理器的计算机可读存储介质上的程序指令。程序指令可以实施本文所述的功能(例如,实施本文所述的基于网络的虚拟计算资源提供者的各种服务器和其他组件的功能)。如图所示和本文所述的各种方法代表方法的示例性实施例。可以改变任何方法的顺序,并且可以对各种元件进行添加、重新排序、组合、省略、修改等。
图9是示出根据各种实施例的使用允许事件级粒度控制的事件总线的示例性计算机系统的框图。例如,在各种实施例中,计算机系统900可以实施事件源、事件总线系统和/或事件目标的各种特征。计算机系统900可以是各种类型的装置中的任何一种,该装置包括但不限于个人计算机系统、台式计算机、膝上型或笔记本计算机、大型计算机系统、手持计算机、工作站、网络计算机、消费者装置、应用服务器、存储装置、电话、移动电话或一般任何类型的计算装置。
计算机系统900包括经由输入/输出(I/O)接口930耦合到系统存储器920的一个或多个处理器910(其中任何一个都可以包括多个核,该多个核可以是单线程或多线程的)。计算机系统900还包括耦合到I/O接口930的网络接口940。在各种实施例中,计算机系统900可以是包括一个处理器910的单处理器系统、或者包括几个处理器910(例如,两个、四个、八个或其他合适数目)的多处理器系统。处理器910可以是能够执行指令的任何合适的处理器。例如,在各种实施例中,处理器910可以是实施各种指令集架构(ISA)(如x96、PowerPC、SPARC或MIPS ISA、或者任何其他合适的ISA)中的任何一种的通用或嵌入式处理器。在多处理器系统中,处理器910中的每一个通常可以但不一定实施相同的ISA。计算机系统900还包括一个或多个网络通信装置(例如,网络接口940),以用于通过通信网络(例如,互联网、LAN等)与其他系统和/或组件进行通信。例如,在系统900上执行的客户端应用可以使用网络接口940来与在单个服务器或服务器集群上(实施本文所述的事件总线系统的组件中的一个或多个组件)执行的服务器应用进行通信。
在所示实施例中,计算机系统900还包括一个或多个永久存储装置960和/或一个或多个I/O装置980。在各种实施例中,永久存储装置960可以对应于磁盘驱动器、磁带驱动器、固态存储器、其他大容量存储装置或任何其他永久存储装置。计算机系统900(或在其上运行的分布式应用或操作系统)可以根据需要将指令和/或数据存储在永久存储装置960中,并且可以根据需要检索所存储的指令和/或数据。例如,在一些实施例中,计算机系统900可以托管存储系统服务器节点,并且永久存储装置960可以包括附接到该服务器节点的SSD。
计算机系统900包括一个或多个系统存储器920,该一个或多个系统存储器可以存储处理器910可访问的指令和数据。在各种实施例中,系统存储器920可以使用任何合适的存储器技术(例如,高速缓存、静态随机存取存储器(SRAM)、DRAM、RDRAM、EDO RAM、DDR10RAM、同步动态RAM(SDRAM)、Rambus RAM、EEPROM、非易失性/闪存型存储器或任何其他类型的存储器中的一个或多个)来实施。系统存储器920可以包含可由处理器910执行的程序指令925,以实施本文所述的方法和技术。在各种实施例中,程序指令925可以用平台本地二进制、如JavaTM字节码等任何解释语言、或者以例如C/C++、JavaTM等任何其他语言或它们的任意组合来编码。
在一些实施例中,程序指令925可以包括可执行以实施操作系统(未示出)的指令,操作系统可以是各种操作系统(如UNIX、LINUX、SolarisTM、MacOSTM、WindowsTM等)中的任何一种。任何或所有程序指令925可以作为计算机程序产品或软件(可以包括其上存储有指令的非暂时性计算机可读存储介质)来提供,这些指令可以用于对计算机系统(或其他电子装置)进行编程以执行根据各种实施例的过程。非暂时性计算机可读存储介质可以包括用于以机器(例如,计算机)可读的形式(例如,软件、处理应用)存储信息的任何机构。一般而言,非暂时性计算机可访问介质可以包括如经由I/O接口930耦合到计算机系统900的计算机可读存储介质或存储器介质,例如磁性介质或光学介质,磁盘或DVD/CD-ROM。非暂时性计算机可读存储介质还可以包括任何易失性或非易失性介质,如RAM(例如SDRAM、DDR SDRAM、RDRAM、SRAM等)、ROM等,可以作为系统存储器920或另一种类型的存储器被包括在计算机系统900的一些实施例中。在其他实施例中,可以使用经由例如网络和/或无线链路等通信介质(如可以经由网络接口940实施)传送的光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)来传达程序指令。
在一些实施例中,系统存储器920可以包括数据存储区945,该数据存储区可以如本文所述进行配置。例如,在不同的时间和各种实施例中,本文所述为实施规则的信息可以存储在数据存储区945中、或者存储在一个或多个节点上的系统存储器920的另一部分中、存储在永久存储装置960中、和/或存储在一个或多个远程存储装置970上。类似地,本文所述为由存储层存储的信息(例如,事件数据、规则和/或概率数据结构)可以在不同的时间和在各种实施例中存储在数据存储区945中、或者存储在一个或多个节点上的系统存储器920的另一部分中、存储在永久存储装置960中、和/或存储在一个或多个远程存储装置970中。一般而言,系统存储器920(例如,系统存储器920内的数据存储区945)、永久存储装置960和/或远程存储装置970可以存储数据块、数据块的副本、与数据块和/或其状态相关联的元数据、数据库配置信息和/或可用于实施本文所述的方法和技术的任何其他信息。
在一个实施例中,I/O接口930可以协调处理器910、系统存储器920和系统中的任何外围装置之间的I/O流量,包括通过网络接口940或其他外围接口。在一些实施例中,I/O接口930可以执行任何必要的协议、定时或其他数据变换,以将来自一个组件(例如,系统存储器920)的数据信号转换成适合由另一个组件(例如,处理器910)使用的格式。在一些实施例中,I/O接口930可以包括对通过各种类型的外围总线附接的装置的支持,如外围组件互连(PCI)总线标准或通用串行总线(USB)标准的变体。在一些实施例中,I/O接口930的功能可以被分成两个或更多个单独的组件,例如北桥和南桥。此外,在一些实施例中,I/O接口930的一些或全部功能(如与系统存储器920的接口)可以直接并入处理器910。
网络接口940可以允许数据在计算机系统900和附接到网络的其他装置(如其他计算机系统990)之间交换。此外,网络接口940可以允许计算机系统900和各种I/O装置950和/或远程存储装置970之间的通信。在一些实施例中,输入/输出装置950可以包括一个或多个显示终端、键盘、小键盘、触摸板、扫描装置、语音或光学识别装置、或者适于由一个或多个计算机系统900输入或检索数据的任何其他装置。多个输入/输出装置950可以存在于计算机系统900中,或者可以分布在包括计算机系统900的分布式系统的各个节点上。在一些实施例中,类似的输入/输出装置可以与计算机系统900分开,并且可以通过有线或无线连接(如经由网络接口940)而与包括计算机系统900的分布式系统的一个或多个节点交互。网络接口940通常可以支持一个或多个无线网络协议(例如,Wi-Fi/IEEE 902.11或另一种无线网络标准)。然而,在各种实施例中,网络接口940可以支持经由任何合适的有线或无线通用数据网络(如其他类型的以太网)进行的通信。此外,网络接口940可以支持经由如模拟语音网络或数字光纤通信网络等电信/电话网络、经由如光纤通道SAN等存储区域网络、或者经由任何其他合适类型的网络和/或协议进行的通信。在各种实施例中,计算机系统900可以包括比图9所示更多、更少或不同的组件(例如,显示器、视频卡、声卡、外围装置、如ATM接口、以太网接口、帧中继接口等其他网络接口)。
在各种实施例中,可以通过使用包括与基于网络的服务请求相关联的参数和/或数据的消息来请求或调用基于网络的服务。这种消息可以根据如可扩展标记语言(XML)等特定标记语言来格式化,和/或可以使用如简单对象访问协议(SOAP)等协议来封装。为了执行基于网络的服务请求,基于网络的服务客户端可以使用如超文本传送协议(HTTP)等基于互联网的应用层传输协议来组装包括请求的消息并且将消息传送到对应于网络服务的可寻址端点(例如,统一资源定位符(URL))。
在一些实施例中,基于网络的服务可以使用表述性状态转移(“RESTful”)技术而不是基于消息的技术来实施。例如,根据RESTful技术实施的基于网络的服务可以通过包含在HTTP方法(如PUT、GET或DELETE中)(而不是封装在SOAP消息中)的参数来调用。
可以鉴于以下条款来描述本公开的实施例:
条款1.一种事件总线系统,其包括:
至少一个处理器;以及
存储器,所述存储器存储程序指令,所述程序指令在由所述至少一个处理器执行时使所述至少一个处理器进行以下操作:
在事件总线系统处接收第一事件,其中所述第一事件包括用于第一环境的第一事件级策略和第一事件数据;
在所述事件总线系统处接收第二事件,其中所述第二事件包括用于第二环境的第二事件级策略和第二事件数据;
基于所述事件总线系统中的规则来确定事件目标,其中所述规则描述所述事件总线系统对事件进行路由的条件,并且其中所述事件目标根据所述规则而与所述第一事件和所述第二事件两者匹配;
相对于所述事件目标来评估所述第一事件级策略以确定所述第一事件级策略允许向所述事件目标发送所述第一事件;
相对于所述事件目标来评估所述第二事件级策略以确定所述第二事件级策略拒绝向所述事件目标发送所述第二事件;以及
向所述事件目标发送所述第一事件并且禁止向所述事件目标发送所述第二事件。
条款2.根据条款1所述的事件总线系统,其中所述规则是第一规则,其中所述事件目标是第一事件目标,并且其中所述存储器存储进一步的指令,所述指令在由所述至少一个处理器执行时使所述至少一个处理器进行以下操作:
在所述事件总线系统处接收事件总线级策略,其中所述事件总线级策略指示所述事件总线系统将禁止向其发送第三事件的地理位置;
将所述事件总线级策略存储在所述事件总线系统的策略配置存储区中;
在所述事件总线系统处接收用于存储新规则的请求,其中所述新规则描述所述事件总线系统将所述第三事件路由到所述地理位置内的第二事件目标的条件,所述新规则是经由用于所述事件总线系统的接口来指定;以及
响应于确定所述事件总线级策略拒绝向所述第二事件目标发送所述第三事件而发送将不应用所述新规则的指示。
条款3.根据条款1至2中任一项所述的事件总线系统,其中所述第一事件级策略是允许所述事件总线系统向第一地理位置中的第一目标发送所述第一事件的策略,并且其中所述第二事件级策略是允许所述事件总线系统向第二地理位置中的第二目标发送所述第二事件的策略,并且其中所述事件目标不在所述第二地理位置内。
条款4.根据条款1至3中任一项所述的事件总线系统,其中所述事件目标是第一事件目标,并且其中所述存储器存储进一步的指令,所述指令在由所述至少一个处理器执行时使所述至少一个处理器进行以下操作:
在所述事件总线系统处接收事件总线级策略,其中所述事件总线级策略指示所述事件总线系统将禁止向其发送所述第一事件的地理位置;
将所述事件总线级策略存储在所述事件总线系统的策略配置存储区中;
基于所述事件总线系统中的所述规则确定所述地理位置内的第二事件目标与所述第一事件匹配;
相对于所述第二事件目标来评估所述第一事件级策略以确定所述第一事件级策略允许向所述第二事件目标发送所述第一事件;
相对于所述第二事件目标来评估所述事件总线级策略以确定所述事件总线级策略拒绝向所述第二事件目标发送所述第一事件;以及
将所述第一事件包括在被丢弃事件的度量中。
条款5.一种方法,其包括:
在消息路由系统处接收第一消息,其中所述第一消息包括用于第一环境的第一消息级策略和第一消息数据;
在所述消息路由系统处接收第二消息,其中所述第二消息包括用于第二环境的第二消息级策略和第二消息数据;
由所述消息路由系统确定消息目标与所述第一消息和所述第二消息匹配;
由所述消息路由系统相对于所述消息目标来评估所述第一消息级策略和所述第二消息级策略以确定所述第二消息级策略拒绝向所述消息目标发送所述第二消息;以及
由所述消息路由系统向所述消息目标发送所述第一消息并且禁止向所述消息目标发送所述第二消息。
条款6.根据条款5所述的方法,其中所述消息目标是第一消息目标,并且其中所述方法还包括:
在所述消息路由系统处接收消息路由系统级策略,其中所述消息路由系统级策略指示所述消息路由系统将禁止向其发送第三消息的地理位置;
将所述消息路由系统级策略存储在所述消息路由系统的策略配置存储区中;
在所述消息路由系统处接收用于存储规则的请求,其中所述规则描述所述消息路由系统将所述第三消息路由到所述地理位置内的第二消息目标的条件,所述规则是经由用于所述消息路由系统的接口来指定;以及
响应于确定所述消息路由系统级策略拒绝向所述地理位置内的所述第二消息目标发送所述第三消息而发送传达将不应用所述规则的消息。
条款7.根据条款5至6中任一项所述的方法,其中所述第一消息级策略是允许所述消息路由系统向第一地理位置中的第一目标发送所述第一消息的策略,并且其中所述第二消息级策略是允许所述消息路由系统向第二地理位置中的第二目标发送所述第二消息的策略,并且其中所述消息目标不在所述第二地理位置内。
条款8.根据条款5至7中任一项所述的方法,其中所述目标是第一目标,并且其中所述方法还包括:
在所述消息路由系统处接收消息路由系统级策略,其中所述消息路由系统级策略指示所述消息路由系统将禁止向其发送所述第一消息的地理位置;
将所述消息路由系统级策略存储在所述消息路由系统的策略配置存储区中;
基于所述消息路由系统中的规则而确定所述地理位置内的第二消息目标与所述第一消息匹配,其中所述规则描述所述消息路由系统对消息进行路由的条件;
相对于所述第二消息目标来评估所述第一消息级策略以确定所述第一消息级策略允许向所述第二消息目标发送所述第一消息;
相对于所述第二消息目标来评估所述消息路由系统级策略以确定所述消息路由系统级策略拒绝向所述第二消息目标发送所述第一消息;以及
将所述第一消息包括在被丢弃消息的度量中。
条款9.根据条款5至8中任一项所述的方法,其中所述第一消息级策略指示所述消息路由系统将禁止发送所述第一消息的地理位置中的所述第一目标,并且其中所述第二消息级策略指示所述消息路由系统将禁止向其发送所述第二消息的地理位置中的所述第二目标。
条款10.根据条款5至9中任一项所述的方法,其中所述消息目标是第一消息目标,并且其中所述方法还包括:
在所述消息路由系统处接收消息路由系统级策略,其中所述消息路由系统级策略指示允许所述消息路由系统向其发送所述第一消息的地理位置;
将所述消息路由系统级策略存储在所述消息路由系统的策略配置存储区中;
基于所述消息路由系统中的规则而确定所述地理位置内的第二消息目标与所述第一消息匹配,其中所述规则描述所述消息路由系统对消息进行路由的条件;
相对于所述第二消息目标来评估所述第一消息级策略以确定所述第一消息级策略拒绝向所述第二消息目标发送所述第一消息;
相对于所述第二消息目标来评估所述消息路由系统级策略以确定所述消息路由系统级策略允许向所述第二消息目标发送所述第一消息;以及
将所述第一消息包括在被丢弃消息的度量中。
条款11.根据条款5至10中任一项所述的方法,其中所述消息目标是第一目标,并且其中所述方法还包括:
在所述消息路由系统处接收消息路由系统级策略,其中所述消息路由系统级策略指示允许所述消息路由系统向其发送所述第一消息的地理位置;
将所述消息路由系统级策略存储在所述消息路由系统的策略配置存储区中;
基于所述消息路由系统中的规则而确定所述地理位置内的第二消息目标与所述第一消息匹配,其中所述规则描述所述消息路由系统对消息进行路由的条件;
相对于所述第二消息目标来评估所述第一消息级策略以确定所述第一消息级策略拒绝向所述第二消息目标发送所述第一消息;
相对于所述第二消息目标来评估所述消息路由系统级策略以确定所述消息路由系统级策略允许向所述第二消息目标发送所述第一消息;以及
向所述第二消息目标发送所述第一消息。
条款12.根据条款5至11中任一项所述的方法,其中所述消息路由系统还包括向所述第二消息的消息源通知所述第二消息的丢弃状态。
条款13.根据条款5至12中任一项所述的方法,其中所述方法还包括:
在所述消息路由系统处接收一个或多个规则,其中所述规则描述所述消息路由系统对消息进行路由的条件;并且
其中确定所述消息目标与所述第一消息和所述第二消息匹配是根据所述规则来执行。
条款14.根据条款5所述的方法,其中所述第一消息级策略和所述第二消息级策略是根据与所述第一消息和所述第二消息的源的地理位置相关联的隐私限制而不允许所述消息路由系统向区域中的某些目标发送所述第一消息和所述第二消息的策略。
条款15.一种或多种非暂时性计算机可读存储介质,其存储程序指令,所述程序指令当在所述一个或多个计算装置上或者跨所述一个或多个计算装置被执行时使所述一个或多个计算装置实施以下操作:
在消息路由系统处接收第一消息,其中所述第一消息包括用于第一环境的第一消息级策略和第一消息数据;
在所述消息路由系统处接收第二消息,其中所述第二消息包括用于第二环境的第二消息级策略和第二消息数据;
确定消息目标,其中所述消息目标与所述第一消息和所述第二消息两者匹配;
评估所述第一消息级策略以确定所述第一消息级策略允许向所述消息目标发送所述第一消息;
评估所述第二消息级策略以确定所述第二消息级策略拒绝向所述消息目标发送所述第二消息;以及
向所述消息目标发送所述第一消息并且禁止向所述消息目标发送所述第二消息。
条款16.根据条款15所述的一种或多种非暂时性计算机可读存储介质,其中所述消息目标是第一消息目标,并且所述一种或多种非暂时性计算机可读存储介质存储进一步的程序指令,所述程序指令当在所述一个或多个计算装置上或者跨所述一个或多个计算装置被执行时使所述一个或多个计算装置进一步实施以下操作:
在所述消息路由系统处接收消息路由系统级策略,其中所述消息路由系统级策略指示所述消息路由系统将禁止向其发送第三消息的地理位置;
将所述消息路由系统级策略存储在所述消息路由系统的策略配置存储区中;
在所述消息路由系统处接收用于存储新规则的请求,其中所述新规则描述所述消息路由系统将所述第三消息路由到所述地理位置内的第二消息目标的条件,所述新规则是经由用于所述消息路由系统的接口来指定;以及
响应于确定所述消息路由系统级策略拒绝向所述消息目标发送所述第三消息而发送将不应用所述新规则的指示。
条款17.根据条款15至16中任一项所述的一种或多种非暂时性计算机可读存储介质,其中所述第一消息级策略和所述第二消息级策略是根据与所述第一消息和所述第二消息的源的地理位置相关联的隐私限制而不允许所述消息路由系统向区域中的某些目标发送所述第一消息和所述第二消息的策略。
条款18.根据条款15至17中任一项所述的一种或多种非暂时性计算机可读存储介质,其存储进一步的指令,所述指令当在所述一个或多个计算装置上或者跨所述一个或多个计算装置被执行时使所述一个或多个计算装置实施将所述第二消息包括在被丢弃消息的度量中。
条款19.根据条款15至18中任一项所述的一种或多种非暂时性计算机可读存储介质,其存储进一步的指令,所述指令当在所述一个或多个计算装置上或者跨所述一个或多个计算装置被执行时使所述一个或多个计算装置实施向消息源通知所述第二消息的丢弃状态。
条款20.根据条款15至19中任一项所述的一种或多种非暂时性计算机可读存储介质,其存储进一步的指令,所述指令当在所述一个或多个计算装置上或者跨所述一个或多个计算装置被执行时使所述一个或多个计算装置进一步实施:
在所述消息路由系统处接收一个或多个规则,其中所述规则描述所述消息路由系统对消息进行路由的条件;并且
其中所述消息目标的所述确定是根据所述规则来执行。
尽管已经相当详细地描述了上面的实施例,但是一旦完全理解了上面的公开内容,就可以进行许多变化和修改,这对于本领域的技术人员来说是显而易见的。上面的权利要求旨在被解释为包含所有这样的修改和变化,并且因此,上面的描述被认为是例示性的,而不是限制性的。

Claims (15)

1.一种事件总线系统,其包括:
至少一个处理器;以及
存储器,所述存储器存储程序指令,所述程序指令在由所述至少一个处理器执行时使所述至少一个处理器进行以下操作:
在事件总线系统处接收第一事件,其中所述第一事件包括用于第一环境的第一事件级策略和第一事件数据;
在所述事件总线系统处接收第二事件,其中所述第二事件包括用于第二环境的第二事件级策略和第二事件数据;
基于所述事件总线系统中的规则来确定事件目标,其中所述规则描述所述事件总线系统对事件进行路由的条件,并且其中所述事件目标根据所述规则而与所述第一事件和所述第二事件两者匹配;
相对于所述事件目标来评估所述第一事件级策略以确定所述第一事件级策略允许向所述事件目标发送所述第一事件;
相对于所述事件目标来评估所述第二事件级策略以确定所述第二事件级策略拒绝向所述事件目标发送所述第二事件;以及
向所述事件目标发送所述第一事件并且禁止向所述事件目标发送所述第二事件。
2.根据权利要求1所述的事件总线系统,其中所述规则是第一规则,其中所述事件目标是第一事件目标,并且其中所述存储器存储进一步的指令,所述指令在由所述至少一个处理器执行时使所述至少一个处理器进行以下操作:
在所述事件总线系统处接收事件总线级策略,其中所述事件总线级策略指示所述事件总线系统将禁止向其发送第三事件的地理位置;
将所述事件总线级策略存储在所述事件总线系统的策略配置存储区中;
在所述事件总线系统处接收用于存储新规则的请求,其中所述新规则描述所述事件总线系统将所述第三事件路由到所述地理位置内的第二事件目标的条件,所述新规则是经由用于所述事件总线系统的接口来指定;以及
响应于确定所述事件总线级策略拒绝向所述第二事件目标发送所述第三事件而发送将不应用所述新规则的指示。
3.根据权利要求1至2中任一项所述的事件总线系统,其中所述第一事件级策略是允许所述事件总线系统向第一地理位置中的第一目标发送所述第一事件的策略,并且其中所述第二事件级策略是允许所述事件总线系统向第二地理位置中的第二目标发送所述第二事件的策略,并且其中所述事件目标不在所述第二地理位置内。
4.根据权利要求1至3中任一项所述的事件总线系统,其中所述事件目标是第一事件目标,并且其中所述存储器存储进一步的指令,所述指令在由所述至少一个处理器执行时使所述至少一个处理器进行以下操作:
在所述事件总线系统处接收事件总线级策略,其中所述事件总线级策略指示所述事件总线系统将禁止向其发送所述第一事件的地理位置;
将所述事件总线级策略存储在所述事件总线系统的策略配置存储区中;
基于所述事件总线系统中的所述规则确定所述地理位置内的第二事件目标与所述第一事件匹配;
相对于所述第二事件目标来评估所述第一事件级策略以确定所述第一事件级策略允许向所述第二事件目标发送所述第一事件;
相对于所述第二事件目标来评估所述事件总线级策略以确定所述事件总线级策略拒绝向所述第二事件目标发送所述第一事件;以及
将所述第一事件包括在被丢弃事件的度量中。
5.一种方法,其包括:
在消息路由系统处接收第一消息,其中所述第一消息包括用于第一环境的第一消息级策略和第一消息数据;
在所述消息路由系统处接收第二消息,其中所述第二消息包括用于第二环境的第二消息级策略和第二消息数据;
由所述消息路由系统确定消息目标与所述第一消息和所述第二消息匹配;
由所述消息路由系统相对于所述消息目标来评估所述第一消息级策略和所述第二消息级策略以确定所述第二消息级策略拒绝向所述消息目标发送所述第二消息;以及
由所述消息路由系统向所述消息目标发送所述第一消息并且禁止向所述消息目标发送所述第二消息。
6.根据权利要求5所述的方法,其中所述消息目标是第一消息目标,并且其中所述方法还包括:
在所述消息路由系统处接收消息路由系统级策略,其中所述消息路由系统级策略指示所述消息路由系统将禁止向其发送第三消息的地理位置;
将所述消息路由系统级策略存储在所述消息路由系统的策略配置存储区中;
在所述消息路由系统处接收用于存储规则的请求,其中所述规则描述所述消息路由系统将所述第三消息路由到所述地理位置内的第二消息目标的条件,所述规则是经由用于所述消息路由系统的接口来指定;以及
响应于确定所述消息路由系统级策略拒绝向所述地理位置内的所述第二消息目标发送所述第三消息而发送传达将不应用所述规则的消息。
7.根据权利要求5至6中任一项所述的方法,其中所述第一消息级策略是允许所述消息路由系统向第一地理位置中的第一目标发送所述第一消息的策略,并且其中所述第二消息级策略是允许所述消息路由系统向第二地理位置中的第二目标发送所述第二消息的策略,并且其中所述消息目标不在所述第二地理位置内。
8.根据权利要求5至7中任一项所述的方法,其中目标是第一目标,并且其中所述方法还包括:
在所述消息路由系统处接收消息路由系统级策略,其中所述消息路由系统级策略指示所述消息路由系统将禁止向其发送所述第一消息的地理位置;
将所述消息路由系统级策略存储在所述消息路由系统的策略配置存储区中;
基于所述消息路由系统中的规则而确定所述地理位置内的第二消息目标与所述第一消息匹配,其中所述规则描述所述消息路由系统对消息进行路由的条件;
相对于所述第二消息目标来评估所述第一消息级策略以确定所述第一消息级策略允许向所述第二消息目标发送所述第一消息;
相对于所述第二消息目标来评估所述消息路由系统级策略以确定所述消息路由系统级策略拒绝向所述第二消息目标发送所述第一消息;以及
将所述第一消息包括在被丢弃消息的度量中。
9.根据权利要求5至8中任一项所述的方法,其中所述第一消息级策略指示所述消息路由系统将禁止发送所述第一消息的地理位置中的所述第一目标,并且其中所述第二消息级策略指示所述消息路由系统将禁止向其发送所述第二消息的地理位置中的所述第二目标。
10.根据权利要求5至9中任一项所述的方法,其中所述消息目标是第一消息目标,并且其中所述方法还包括:
在所述消息路由系统处接收消息路由系统级策略,其中所述消息路由系统级策略指示允许所述消息路由系统向其发送所述第一消息的地理位置;
将所述消息路由系统级策略存储在所述消息路由系统的策略配置存储区中;
基于所述消息路由系统中的规则而确定所述地理位置内的第二消息目标与所述第一消息匹配,其中所述规则描述所述消息路由系统对消息进行路由的条件;
相对于所述第二消息目标来评估所述第一消息级策略以确定所述第一消息级策略拒绝向所述第二消息目标发送所述第一消息;
相对于所述第二消息目标来评估所述消息路由系统级策略以确定所述消息路由系统级策略允许向所述第二消息目标发送所述第一消息;以及
将所述第一消息包括在被丢弃消息的度量中。
11.根据权利要求5至10中任一项所述的方法,其中所述消息目标是第一目标,并且其中所述方法还包括:
在所述消息路由系统处接收消息路由系统级策略,其中所述消息路由系统级策略指示允许所述消息路由系统向其发送所述第一消息的地理位置;
将所述消息路由系统级策略存储在所述消息路由系统的策略配置存储区中;
基于所述消息路由系统中的规则而确定所述地理位置内的第二消息目标与所述第一消息匹配,其中所述规则描述所述消息路由系统对消息进行路由的条件;
相对于所述第二消息目标来评估所述第一消息级策略以确定所述第一消息级策略拒绝向所述第二消息目标发送所述第一消息;
相对于所述第二消息目标来评估所述消息路由系统级策略以确定所述消息路由系统级策略允许向所述第二消息目标发送所述第一消息;以及
向所述第二消息目标发送所述第一消息。
12.根据权利要求5至11中任一项所述的方法,其中所述消息路由系统还包括向所述第二消息的消息源通知所述第二消息的丢弃状态。
13.根据权利要求5至12中任一项所述的方法,其中所述方法还包括:
在所述消息路由系统处接收一个或多个规则,其中所述规则描述所述消息路由系统对消息进行路由的条件;并且
其中确定所述消息目标与所述第一消息和所述第二消息匹配是根据所述规则来执行。
14.根据权利要求5至13中任一项所述的方法,其中所述第一消息级策略和所述第二消息级策略是根据与所述第一消息和所述第二消息的源的地理位置相关联的隐私限制而不允许所述消息路由系统向区域中的某些目标发送所述第一消息和所述第二消息的策略。
15.一种或多种非暂时性计算机可读存储介质,其存储程序指令,所述程序指令当在一个或多个计算装置上或者跨所述一个或多个计算装置被执行时使所述一个或多个计算装置实施以下操作:
在消息路由系统处接收第一消息,其中所述第一消息包括用于第一环境的第一消息级策略和第一消息数据;
在所述消息路由系统处接收第二消息,其中所述第二消息包括用于第二环境的第二消息级策略和第二消息数据;
确定消息目标,其中所述消息目标与所述第一消息和所述第二消息两者匹配;
评估所述第一消息级策略以确定所述第一消息级策略允许向所述消息目标发送所述第一消息;
评估所述第二消息级策略以确定所述第二消息级策略拒绝向所述消息目标发送所述第二消息;以及
向所述消息目标发送所述第一消息并且禁止向所述消息目标发送所述第二消息。
CN202280045682.0A 2021-06-28 2022-06-21 使用事件级策略的事件总线中的事件级粒度控制 Pending CN117581210A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/360,924 US11720507B2 (en) 2021-06-28 2021-06-28 Event-level granular control in an event bus using event-level policies
US17/360,924 2021-06-28
PCT/US2022/073059 WO2023278951A1 (en) 2021-06-28 2022-06-21 Event-level granular control in an event bus using event-level policies

Publications (1)

Publication Number Publication Date
CN117581210A true CN117581210A (zh) 2024-02-20

Family

ID=82701721

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280045682.0A Pending CN117581210A (zh) 2021-06-28 2022-06-21 使用事件级策略的事件总线中的事件级粒度控制

Country Status (4)

Country Link
US (1) US11720507B2 (zh)
EP (1) EP4363977A1 (zh)
CN (1) CN117581210A (zh)
WO (1) WO2023278951A1 (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040028069A1 (en) 2002-08-07 2004-02-12 Tindal Glen D. Event bus with passive queuing and active routing
JP5363379B2 (ja) * 2009-05-20 2013-12-11 ルネサスエレクトロニクス株式会社 通信システム
US8621037B2 (en) 2010-09-28 2013-12-31 Avaya Inc. System and method to create bi-directional event subscriptions
US9582454B2 (en) * 2014-03-18 2017-02-28 Intel Corporation Reconfigurable transmitter
US9548910B2 (en) 2014-05-21 2017-01-17 Sap Se Distributed system architecture using event stream processing
GB2529971B (en) * 2014-09-02 2016-07-13 Imagination Tech Ltd Hardware data structure for tracking ordered transactions
US11398943B1 (en) * 2020-06-23 2022-07-26 Amazon Technologies, Inc. Negative caching for event notifications

Also Published As

Publication number Publication date
WO2023278951A1 (en) 2023-01-05
US11720507B2 (en) 2023-08-08
EP4363977A1 (en) 2024-05-08
US20220414039A1 (en) 2022-12-29
WO2023278951A9 (en) 2023-11-02

Similar Documents

Publication Publication Date Title
US11997111B1 (en) Attribute-controlled malware detection
US11863581B1 (en) Subscription-based malware detection
US11263204B2 (en) Method and apparatus for managing cloud services using smart contracts and blockchains
US10554507B1 (en) Multi-level control for enhanced resource and object evaluation management of malware detection system
US10771466B2 (en) Third-party authorization of access tokens
US8544075B2 (en) Extending a customer relationship management eventing framework to a cloud computing environment in a secure manner
US7844707B2 (en) Web service multi-key rate limiting method and system
US20070067381A1 (en) Systems and methods for providing distributed applications and services for intelligent mobile devices
US20230283644A1 (en) Dynamic security policy management
CN103119907A (zh) 提供用于访问控制的智能组的系统和方法
KR20140072164A (ko) 가입자 데이터에 대한 프라이버시 관리
CN110839087A (zh) 接口调用方法及装置、电子设备和计算机可读存储介质
US7523492B2 (en) Secure gateway with proxy service capability servers for service level agreement checking
US11128587B2 (en) Enterprise messaging using a virtual message broker
KR20170062244A (ko) Api 관리 장치
US10594703B2 (en) Taint mechanism for messaging system
US11321135B2 (en) Rate limiting compliance assessments with multi-layer fair share scheduling
CN116232804A (zh) 基于微服务架构的api网关
KR101653685B1 (ko) 컴퓨터 수행 가능한 api 관리 방법
US11323534B2 (en) Concurrency reduction through publish-subscribe patterns
US10242174B2 (en) Secure information flow
US20240012700A1 (en) Governing Access To Third-Party Application Programming Interfaces
US9515876B2 (en) System and method for network provisioning
CN117581210A (zh) 使用事件级策略的事件总线中的事件级粒度控制
US11838328B1 (en) Preventing data exfiltration to unsanctioned cloud computing services (CCS) accounts using CCS application programming interfaces

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