CN117195302A - 包括用于限制插件应用配方的指令的计算机可读介质 - Google Patents

包括用于限制插件应用配方的指令的计算机可读介质 Download PDF

Info

Publication number
CN117195302A
CN117195302A CN202311236024.2A CN202311236024A CN117195302A CN 117195302 A CN117195302 A CN 117195302A CN 202311236024 A CN202311236024 A CN 202311236024A CN 117195302 A CN117195302 A CN 117195302A
Authority
CN
China
Prior art keywords
piar
application
management application
value
trigger
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
CN202311236024.2A
Other languages
English (en)
Inventor
T·迪克曼
T·常
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.)
Oracle International Corp
Original Assignee
Oracle International Corp
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 Oracle International Corp filed Critical Oracle International Corp
Publication of CN117195302A publication Critical patent/CN117195302A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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/604Tools and structures for managing or administering access control systems
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)

Abstract

本公开涉及包括用于限制插件应用配方的指令的计算机可读介质。具体而言,公开了用于限制插件应用配方(“PIAR”)的技术。PIAR管理应用经由PIAR管理应用的经认证用户接收PIAR限制。PIAR限制适用于PIAR管理应用的某些用户。PIAR限制识别PIAR管理应用的功能,否则的话,如果PIAR管理应用的用户具有特定插件应用的活动账户,该活动账户一旦在PIAR管理应用中链接到该用户并且与特定PIAR相关联将能够提供该功能的至少一部分,那么该功能将对PIAR管理应用的用户可用。PIAR管理应用存储PIAR限制,包括用于阻止受限制的功能的信息。基于PIAR限制,PIAR管理应用阻止受限制的功能。可以以各种方式限制许多不同类型的功能。

Description

包括用于限制插件应用配方的指令的计算机可读介质
本申请是申请日为2018年6月29日、题为“包括用于限制插件应用配方的指令的计算机可读介质”的发明专利申请201880076949.6的分案申请。
技术领域
本公开涉及插件应用配方(recipe)。特别地,本公开涉及限制插件(plug-in)应用配方。
背景技术
插件应用配方(“PIAR”)是包含逻辑上被布置为if-then(如果-则)公式的触发事件(本文称为“触发器”或“触发条件”)和动作的集合。公式中的“if(如果)”部分对应于PIAR触发条件。公式的“then(则)”部分以“if”部分被满足为条件,并且对应于可触发的动作。插件应用可以提供动作。提供动作的插件应用可以与提供触发器的插件应用相同或不同。
PIAR管理应用呈现允许用户定义PIAR的界面。PIAR定义指示要由PIAR管理应用执行的一个或多个动作。PIAR定义进一步指示插件应用的触发器。当PIAR管理应用检测到满足触发条件时,PIAR执行与检测到的触发器对应的(一个或多个)动作。
PIAR管理应用可以用于许多目的。例如,PIAR管理应用可以用于自动化重复任务。PIAR的示例包括但不限于:(a)响应于检测到用户的汽车在用户的车道中(触发器),打开用户的车库门(动作);(b)响应确定到下午5点用户的行走步数尚未达到特定目标(触发器),向用户传送通知(动作);(c)响应于在通讯录或电子邮件中检测到新的销售联系人(触发器),创建新文件夹来存储关于该销售联系人的信息(动作)。
术语“插件应用”是指应用的(一个或多个)触发器和/或(一个或多个)动作在逻辑上“插入”到PIAR中并且因此成为PIAR的逻辑的一部分的事实。例如,可以根据微服务体系架构来组织PIAR管理应用,使得将若干个独立的服务插入到PIAR应用中。插入的服务可以提供特定于特定应用的(一个或多个)监视服务,以支持特定应用的(一个或多个)触发器。替代地或附加地,插入的服务可以提供特定于特定应用的(一个或多个)动作服务,以支持特定应用的(一个或多个)执行动作。
本节中描述的方法是可以采用的方法,但不一定是先前已经设想或采用的方法。因此,除非另有说明,否则不应仅由于将本节中所述的任何方法包括在本节中而将其视为有资格作为现有技术。
附图说明
在附图的各图中,通过示例而非限制的方式图示了实施例。应当注意的是,在本公开中对“实施例”或“一个实施例”的引用不一定是指同一个实施例,并且它们意味着至少一个。在附图中:
图1是图示根据实施例的插件应用配方管理系统的框图;
图2图示了根据实施例的用于限制插件应用配方的示例操作集合;
图3图示了根据一个实施例的用于限制插件应用配方的操作序列的示例;以及
图4是图示根据实施例的计算机系统的框图。
具体实施方式
在下面的描述中,出于解释的目的,阐述了许多具体细节以便提供透彻的理解。可以在没有这些具体细节的情况下实践一个或多个实施例。一个实施例中描述的特征可以与另一个实施例中描述的特征组合。在一些示例中,参考框图形式描述了众所周知的结构和设备,以避免不必要地混淆本发明。
1.总体概述
2.插件应用配方管理系统
3.限制插件应用配方
4.说明性示例
5.其它事项;扩展
6.硬件概述
7.计算机网络和云网络
1.总体概述
插件应用配方(“PIAR”)管理应用管理PIAR定义。每个PIAR定义都识别触发器和动作。触发器变量的值由插件应用暴露给PIAR管理应用,并且对于持续评估触发器是必需的。评估触发器涉及至少部分地基于触发器变量的一个或多个值来确定是否满足条件。动作的接口由插件应用暴露,该插件应用可以是暴露触发器变量的同一插件应用,或者是不同的插件应用。PIAR管理应用使得动作持续地以触发器为条件,并使得根据PIAR定义基于输入变量来执行动作。
为了限制PIAR的功能,PIAR管理应用经由PIAR管理应用的经认证用户接收PIAR限制。PIAR管理应用存储指示哪些经认证用户具有用于限制用户的PIAR管理应用功能的许可的信息。PIAR限制适用于PIAR管理应用的某些用户。具体而言,PIAR限制识别PIAR管理应用的功能,否则的话,如果PIAR管理应用的用户具有特定插件应用的活动账户,该活动账户一旦在PIAR管理应用中链接到该用户并且与特定PIAR相关联将能够提供该功能的至少一部分,那么该功能将对PIAR管理应用的用户可用。PIAR管理应用存储PIAR限制,包括用于阻止受限制的功能的信息。基于PIAR限制,PIAR管理应用阻止受限制的功能。可以以各种方式限制许多不同类型的功能。
在这个总体概述一节中可能没有包括本说明书中描述的和/或权利要求书中记载的一个或多个实施例。
2.体系架构概述
图1是图示根据实施例的插件应用配方(PIAR)管理系统100的框图。PIAR管理系统100包括生成其中变换了变量的至少一个PIAR的功能。
如图所示,PIAR管理系统100包括PIAR管理应用108和各种其它组件。实施例可以包括比所示的更多或更少的组件。组件可以用软件和/或硬件来实现。具体而言,可以在一个或多个数字设备上实现组件。术语“数字设备”通常是指包括处理器的任何硬件设备。数字设备可以指执行应用或虚拟机的物理设备。数字设备的示例包括计算机、平板电脑、膝上型电脑、台式机、上网本、服务器、web服务器、网络策略服务器、代理服务器、通用机器、特定于功能的硬件设备、硬件路由器、硬件交换机、硬件防火墙、硬件防火墙、硬件网络地址转换器(NAT)、硬件负载平衡器、大型机、电视机、内容接收器、机顶盒、打印机、移动手持终端、智能电话、个人数字助理(“PDA”)、无线接收器和/或发射器、基站、通信管理设备、路由器、交换机、控制器、接入点和/或客户端设备。组件可以在彼此之间是本地的或彼此远离。每个组件可以分布在多个应用和/或机器上。多个组件可以被组合到一个应用和/或机器中。可以经由局域网、广域网、互联网、内联网、蜂窝网络和/或其组合来通信地耦合两个或更多个组件。相对于一个组件描述的操作可以替代地由另一组件执行。下面描述与计算机网络相关的附加实施例和/或示例。
在实施例中,PIAR管理应用108提供用于创建PIAR定义150的用户界面102。具体而言,用户界面102允许用户选择一个或多个触发器104以及当满足(一个或多个)触发器104时要执行的一个或多个对应的动作106。如本文所使用的,(一个或多个)触发器104和(一个或多个)动作106被统称为PIAR的“操作”。PIAR的示例包括但不限于:(a)响应于检测到用户的汽车在用户的车道中(触发器),打开用户的车库门(动作);(b)响应确定到下午5点用户的行走步数尚未达到特定目标(触发器),向用户传送通知(动作);(c)响应于在通讯录或电子邮件中检测到新的销售联系人(触发器),创建新文件夹来存储关于该销售联系人的信息(动作)。用户界面102可以是图形用户界面(GUI)、命令行界面或被配置为接收用于创建PIAR定义150的用户输入的任何其它类型的界面。GUI的示例将在下面详细讨论。
在实施例中,除了(一个或多个)触发器104和(一个或多个)相关联的动作106之外,用户界面102还包括用于指定PIAR定义的名称、作为要被监视以用于检测(一个或多个)触发器104的触发器应用和/或要用于执行(一个或多个)动作106的应用的选项。(一个或多个)动作106中的一个或多个可以涉及生成新的PIAR定义,并且(一个或多个)动作106中的一个或多个可以由PIAR管理应用108本身执行。PIAR定义150还可以包括除了(一个或多个)触发器104和(一个或多个)动作106以外的信息。
在实施例中,PIAR可以包括响应于检测到触发器而执行的多个动作。动作中的一个或多个可以并发执行或以固定顺序执行。可以使用并发和/或顺序动作的组合。一个动作的输出可以用作另一个动作的输入。例如,假设使用被定义为从潜在客户接收电子邮件(例如,以仅给与潜在客户的电子邮件地址接收电子邮件)的触发器创建PIAR。在这个示例中,响应于接收到电子邮件而执行的一系列动作可以包括(1)确定潜在客户是否已经在客户关系管理(CRM)应用中列出,以及(2)如果潜在客户尚未在CRM应用中列出,那么将潜在客户添加到CRM应用并向销售经理发送通知电子邮件。将潜在客户添加到CRM应用并向销售经理发送通知电子邮件可以并发执行或以特定顺序执行。例如,仅在从CRM应用接收到成功添加潜在客户的确认之后,才可以发送通知电子邮件。PIAR中可以使用并发和/或顺序动作的许多不同组合。
在实施例中,PIAR中的一个或多个动作可以基于对发起触发器的评估,或者如果该动作是一系列动作的一部分,则可以基于对来自先前动作的输出的评估,来有条件地执行。例如,响应于检测到触发器,可以使用条件逻辑(例如,如果(if)、则(then)、否则(else)等)来确定要执行的特定动作序列(如果有的话)。PAIR管理系统100可以包括允许用户为特定PIAR定义这样的条件逻辑的接口。
在实施例中,评估触发器和/或先前动作的输出可以涉及循环遍历多个变量值。例如,触发器或动作可以提供值的阵列,并且评估触发器或动作可以涉及迭代地评估(或“循环遍历”)那些值中的每个值。循环遍历这些值本身可能受到条件逻辑的影响。条件逻辑和/或循环遍历变量的许多不同组合可以用于确定在检测到触发器时执行的(一个或多个)特定动作(如果有的话)。
在实施例中,PIAR定义150包括一种或多种类型的元数据。例如,元数据可以识别创建PIAR定义150的用户、创建的时间和日期、PIAR定义150的授权级别(例如,是否允许(一个或多个)动作106接收个人身份信息)、与(一个或多个)触发器104和/或(一个或多个)动作106相关联的(一个或多个)插件应用,或描述PLAR或与PIAR相关联的任何其它类型的元数据。如果在执行另一个PIAR的过程中以递归方式生成PIAR定义,那么可以将递归生成的PIAR视为“子”PIAR,而将生成该PIAR的PIAR视为“父”PIAR。与子PIAR相关联的元数据可以直接在子PIAR的元数据中和/或通过参考父PIAR的元数据包括关于父PIAR的信息。
在实施例中,PIAR管理系统100包括链接到或“插入”到PIAR管理应用108的一个或多个应用。“插入”到PIAR管理应用108中的应用可以被称为“插件应用”。特定的插件应用可以用作“触发器应用”,即,将被监视以用于检测触发条件的应用。替代地或附加地,特定的插件应用可以用作“动作应用”,即,当满足触发条件时执行动作的应用。
在实施例中,一般而言,插件应用是以下应用:(a)独立于PIAR管理应用108的检测处理而执行,(b)不受PIAR管理应用108的检测处理控制,和/或(c)远离PIAR管理应用108。因此,独立于检测到(一个或多个)指定触发器104的PIAR管理应用108的检测处理而执行的插件应用在本文中可以被称为独立执行的应用。此外,相对于PIAR管理应用108,一个或多个插件应用可以被视为“独立”应用。即,插件应用可以提供其自己的用户界面(例如,GUI),通过该用户界面用户访问插件应用的全部功能。以这种方式,插件应用提供完全独立于PIAR管理应用108的功能,并且不依赖于PIAR管理应用108来工作。独立插件应用不是PIAR管理应用108的模块或组件。一个或多个插件应用和PIAR管理应用108可以由彼此完全不同的业务实体开发和支持。作为示例,图1图示了包括作为独立执行的独立应用的搜索应用110、电子邮件应用112和音频播放器应用114的插件应用。可以使用许多不同类型的插件应用,并且图1中所示的示例不应被解释为限制一个或多个实施例。
在实施例中,PIAR管理应用108将PIAR定义(例如,PIAR定义150)存储为PIAR定义对象107。定义对象107可以存储在数据库105中,例如,存储在文件系统中,或存储在任何其它类型的数字存储装置中。PIAR管理应用108还可以将与PIAR定义相关联的元数据存储在数据库105或其它存储装置中。元数据109可以存储在定义对象107内(即,作为其逻辑组件)或单独存储。在实施例中,定义对象107以JavaScript对象表示法(JSON)格式存储,其中JSON结构中的元素与(一个或多个)触发器104、(一个或多个)动作106和/或元数据109对应。JSON结构还可以包括与要应用于与PIAR触发器和/或动作操作相关联的变量的转换操作对应的一个或多个元素。
在实施例中,PIAR管理应用108可访问的插件应用的功能是插件应用的全部功能的子集。具体而言,插件应用可以暴露提供对插件应用的某些函数和/或数据的访问的应用编程接口(API),而不提供对插件应用的其它函数和/或数据的访问。换句话说,暴露给PIAR管理应用108的功能可以是插件应用的完整功能的适当子集(又称严格子集)。例如,API可以是静态状态转移(REST)API。可以使用其它类型的API。作为示例,电子邮件应用可以不将电子邮件发送功能暴露给PIAR管理应用108,但是可以暴露关于已接收到的电子邮件的信息,诸如日期、时间、发件人、收件人、主题行和电子邮件的内容。作为另一个示例,日历应用可以不暴露取消事件的功能,但是可以暴露关于已经被安排的事件的信息(例如,日期、时间、位置、参与者等)和/或安排新事件的功能。暴露给PIAR管理应用108的功能的集合可以取决于一个或多个授权策略。在实施例中,PIAR管理应用108存储授权令牌,该授权令牌用于认证对插件应用的API的访问。作为示例,PIAR管理应用108可以经由用户界面102提示用户输入用户名和密码,以访问电子邮件应用的API。PIAR管理应用108可以将用户名和密码存储在它用来请求访问电子邮件应用的暴露的函数和/或数据的加密令牌中。
在实施例中,用户界面102允许用户指定与插件应用本机暴露的函数或数据不对应的触发器。例如,触发器应用可以暴露随时间变化的数据值,而不会本机暴露任何在数据值变化时监视或比较数据值的函数。尽管如此,可以定义用于监视触发器应用中数据值随时间的变化的触发器。作为另一个示例,触发器可以寻找聚合数据值(例如,在一段时间内或对多个连续数据保留或更改的总和或平均值),或经掩罩的数据值(例如,指示存在或不存在数据或数据的更改的数据值,即使该数据本身对于PIAR管理应用108或最终用户是被掩罩的,或者对于最终用户完全不可用)。可以从触发器应用推断、导出或以其它方式确定许多不同类型的触发条件,而无需触发器应用的本机支持。
作为示例,搜索应用110可以链接到(“插入到”)PIAR管理应用108。将搜索应用110链接到PIAR管理应用108可以涉及监视搜索应用110(例如,经由REST API)并且将关于搜索应用110定义的触发器的检测报告给PIAR管理应用108。例如,触发器可以涉及检测经由搜索应用110对接收的搜索的执行。可以经由对应的服务111来监视搜索应用110,该服务111检测何时经由搜索应用110执行了对接收的搜索。服务111向PIAR管理应用108通知是否以及何时经由搜索应用110执行了对接收的搜索。服务111可以与搜索应用110分离地实现,或者被实现为搜索应用110的组件(例如,可安装的模块或插件)。
作为另一个示例,搜索应用110对应于汽车销售应用。潜在客户可以从被广告的汽车的数据库中搜索汽车,并请求与销售代表会面以购买汽车。触发条件可以被定义为从用户接收引用被广告的汽车之一的销售会面请求。
在实施例中,插件应用包括监视系统,该监视系统用于利用可定制的预定义参数向PIAR管理应用108通知预定义的触发条件。例如,应用可以包括监视系统,该监视系统在满足特定于应用的触发器(诸如对电子邮件的关键字搜索)时通知PIAR管理应用108。该应用可能允许针对该特定于应用的触发器进行有限量的定制,从而允许以一些方式(诸如指定用于搜索的关键字)进行定制,而不允许以其它方式(诸如,例如,该关键字是否在另一个关键字的N个单词内,或者关于带有该关键字的较早电子邮件的信息是否已经被检测到并存储在表中)进行定制。
在实施例中,持续地进行监视插件应用(例如,使用服务111)以识别触发事件。即,发起监视处理并且继续操作直到满足终止条件为止。因此,响应于由相关联的监视处理识别出的许多触发事件,可以多次评估和执行特定的PIAR。一般而言,PIAR不会在所选择的触发事件的第一实例之后停止操作。例如,响应于检测到车道中的车辆而打开车库门的PIAR可以永久操作,并导致车库门打开数十次、数百次甚至数千次。与特定PIAR相关联的监视处理可以永久地操作直到其被用户手动终止(例如,经由用户界面102)。替代地,PIAR定义可以包括终止条件,诸如响应于触发器而操作的一定时间长度或执行动作的最大次数。通常,创建PIAR的目的是将其用作自动化的后台服务,从而继续永久操作,而无需进一步的手动干预。
在实施例中,搜索应用110(或插入到PIAR管理应用108中的其它应用)不受PIAR管理应用108的执行的任何影响,该PIAR管理应用108使用由搜索应用110管理的字段中的至少一个字段用于检测(一个或多个)触发器104。PIAR管理应用108可以对应于微服务,该微服务提供与独立执行的搜索应用110完全不同的功能。当由独立执行的搜索应用110管理的(一个或多个)字段的变化满足阈值标准,诸如某个值或聚合值时,PIAR管理应用108可以确定已经触发(一个或多个)动作106。作为示例,由搜索应用110管理的字段可以指定位置。响应于查询,呈现与该位置相关联的搜索结果。城市的变化可能满足阈值标准。给PIAR管理应用108指定的阈值标准可能与插件应用的(一个或多个)内置监视处理支持的任何阈值标准不同,即使该阈值标准可能基于可从插件应用访问的变量,以及即使此类变量可能随时间而变化。PIAR管理应用108可以响应于检测到已经触发(一个或多个)动作106来执行(直接地或者通过引起另一个进程的执行)(一个或多个)动作106。
与触发器应用(例如,搜索应用110)相似,动作应用(例如,电子邮件应用112或音频播放器应用114)被链接或插入到PIAR管理应用108中。动作应用是按照PIAR管理应用108指示或请求执行动作的应用(但是从PIAR管理应用108发起执行动作的意义上,也可以说PIAR管理应用108“执行”动作)。如上所述,PIAR管理应用108响应于检测到触发器而请求动作的执行。动作应用可以经由相应的服务111链接到PIAR管理应用110。服务111可以与动作应用分离地实现或作为动作应用的组件来实现。服务111可以使用与动作应用对应的应用编程接口(API),以使用动作应用来根据PIAR执行动作。特定动作应用也可以是触发器应用。即,同一应用可以暴露一个或多个触发器,同时还暴露用于执行动作的API。可以在同一PIAR或不同PIAR中将同一应用既用作触发器应用又用作动作应用。
在实施例中,PIAR管理应用108本身是动作应用。PIAR管理应用108可以执行生成新的PIAR的动作。作为示例,可以生成用于管理客户购买的新的PIAR。新的PIAR可以将触发器定义为客户的首次购买。新的PIAR可以定义诸如创建用于存储客户购买记录的数据库记录或者基于客户完成的购买来创建产品推荐列表之类的动作。
在实施例中,PIAR管理应用108支持涉及一系列动作的PIAR定义。例如,响应于特定的触发器,PIAR可以执行特定动作“动作A”。然后,动作A的输出可以用作另一个动作“动作B”的输入。然后,动作B的输出可以用作另一个动作“动作C”的输入,依此类推。动作A暴露的函数和/或数据可用作动作B的输入和/或后续动作(诸如动作C)的输入。由后来的动作(诸如动作C)暴露的函数和/或数据可能无法用作早期动作(诸如动作B或动作A)的输入。例如,如果动作B在动作C完成之前完成,那么动作B不可能从动作C接收输入。
在实施例中,PIAR管理应用108包括用于限制PIAR的功能。具体而言,PIAR管理应用可以存储PIAR限制(例如,在数据库105中),该PIAR限制包括由PIAR管理应用108用来阻止受限制的功能的信息。PIAR限制可以由PIAR管理应用108的授权用户经由诸如用户界面102之类的用户界面来定义。限制PIAR将在下面进一步详细讨论。
3.限制插件应用配方
图2包括用于限制插件应用配方(“PIAR”)的示例操作集合。代替和/或除了所描述的操作之外,可以使用本文未描述的其它操作。图2中所示的一个或多个操作可以被修改、重新布置或完全省略。因此,图2中所示的特定操作序列不应该被解释为限制一个或多个实施例的范围。
在实施例中,PIAR管理应用108接收定义PIAR限制的用户输入(操作202)。PIAR限制识别PIAR管理应用108的受限制的功能,这些受限制的功能否则将可用于PIAR管理应用108的特定用户或一组用户。PIAR管理应用108的用户具有用于特定插件应用的活动账户(例如,可以用作插件应用的电子邮件应用的活动账户)。如果活动插件应用账户已链接到PIAR管理应用108中的用户,并且如果插件应用与特定PIAR相关联(例如,通过用涉及针对特定触发条件监视上一示例中提到的电子邮件应用的触发器配置PIAR),那么插件应用将被视为向PIAR管理应用提供功能。基于PIAR限制,PIAR管理应用108阻止由插件应用提供的一些或全部功能。如下面进一步详细讨论的,可以定义不同类型的PIAR限制,并且PIAR管理应用108可以以许多不同方式阻止受限制的功能。
在实施例中,PIAR由PIAR管理器108根据乐观限制模型来实施,由此,除非经由PIAR限制或其它限制机制来限制特定功能,否则PIAR功能不受限制。替代地,可以使用悲观限制模型,由此,除非明确允许,否则所有PIAR功能都将被阻止。在悲观限制模型中,可以使用PIAR许可而不是PIAR限制。即,PIAR管理应用108可以存储识别已明确许可哪个PIAR功能的PIAR许可信息。使用乐观限制模型可以为用户提供对更广泛功能范围的访问,同时仍然允许根据需要限制某个功能。
在实施例中,经由PIAR管理应用108的用户界面,诸如用户界面102,接收定义PIAR限制的用户输入。用户输入识别受限制的特定功能。此外,用户输入可以识别PIAR管理应用108的特定用户或一组用户,对于该特定用户或一组用户,功能受到限制。例如,对于特定用户组中的用户和/或没有指定的最低授权级别的用户,特定功能可能会受到限制。替代地或附加地,用户输入可以识别PIAR管理应用108应如何对遇到受限制的功能的情况进行响应。下面描述了不同类型的受限制的功能以及对遇到受限制的功能的不同类型的响应。
在实施例中,提供定义PIAR限制的输入的用户是PIAR管理应用108的认证用户。PIAR管理应用108可以存储用户凭证(例如,在数据库105或另一个位置中),以区分具有限制PIAR功能的许可的用户和不具有限制PIAR功能的许可的用户。例如,限制PIAR功能的许可可以基于用户组和/或授权级别。不同的经认证用户可以具有许可来限制PIAR管理应用108的不同用户的功能,或限制与不同插件应用相关的功能。例如,系统管理员可以具有许可来限制所有用户的功能,而经理可以具有许可来限制仅特定业务部门中的用户的功能。作为另一个示例,销售组的经理可以具有许可来限制仅涉及销售相关的应用或服务的PIAR的功能。凭证的许多不同配置可以用于向不同用户提供许可来限制针对不同用户、针对涉及不同插件应用的PIAR和/或针对由插件应用提供的功能的不同子集的功能。
在实施例中,PIAR管理应用108允许用户选择要应用于由PIAR中的插件应用暴露的变量的值的变换。在题为“Transforming Plug-in Application Recipe Variables”的美国临时专利申请62/527,949中进一步详细讨论了变换,该申请整体通过引用并入本文。PIAR限制可以指示禁止特定变换或一组变换。例如,如果以脚本语言实现变换,那么PIAR限制可以指示应将特定脚本函数添加到禁止函数的“黑名单”。替代地,除非对应的脚本函数被添加到允许函数的“白名单”,否则特定的变换可能不被允许。PIAR限制或PIAR许可可以应用于特定函数、特定的函数库和/或具有某个特性的任何函数。例如,可以不允许试图访问第三方服务器的函数。
在实施例中,在接收到PIAR限制的定义之后(例如,如上所述,经由用户输入),PIAR管理应用108存储PIAR限制(操作204)。存储PIAR限制涉及存储PIAR管理应用108用来阻止受限制的功能的信息。PIAR管理应用108可以将PIAR限制信息存储在数据库105中或其它位置中。另外,PIAR限制信息可以采取许多不同的形式。例如,PIAR限制信息可以以JavaScript对象表示法(JSON)数据结构、以某种其它类型的标记语言或完全以另一种形式被存储。
在实施例中,PIAR限制识别已经正在由一个或多个活动PIAR使用的受限制的功能。例如,PIAR限制可能禁止使用特定的插件应用,并且可能已经存在使用该特定插件应用的活动PIAR。因此,基于PIAR限制,PIAR管理应用108可以禁用当前正在使用受限制的功能的任何活动PIAR(操作206)。禁用活动PIAR可以涉及简单地使PIAR处于非活动状态。替代地,如果PIAR限制禁止创建PIAR,那么禁用活动PIAR可以涉及完全删除PIAR。如果PIAR限制没有禁止PIAR的创建或激活(例如,如果PIAR限制是在执行PIAR期间基于当时暴露的数据而应用的),那么可以不必禁用或删除活动PIAR。
在实施例中,基于PIAR限制,PIAR管理应用108阻止创建PIAR(操作208)。阻止创建PIAR可以基于许多不同类型的PIAR限制。PIAR限制可以禁止用户将特定插件应用(或更具体而言,插件应用的用户活动账户)链接到PIAR管理应用中的用户。阻止插件应用的链接有效地阻止了使用该插件应用创建PAIR。
替代地或附加地,可以允许将插件应用链接到PIAR管理应用108中的用户,但是PIAR限制可以阻止创建其中使用插件应用的PIAR。阻止在特定PIAR中使用插件应用可以取决于各种因素。用户可能被阻止完全使用特定的插件应用。替代地或附加地,PIAR限制可以阻止创建其中特定插件应用(和/或一组插件应用)与另一个特定插件应用(和/或一组插件应用)交互的PIAR。例如,为了帮助保护敏感财务信息和/或个人身份信息(“PII”)的隐私,PIAR限制可以禁止创建同时使用财务应用和社交媒体应用的PIAR。在实施例中,PIAR管理应用108存储将插件应用识别为属于不同组或类别的信息。例如,插件应用108可以支持应用到插件应用的标签,其中名称诸如“财务”或“社交”。
替代地或附加地,不是阻止整个插件应用的使用,PIAR限制可以阻止插件应用的特定操作的使用。例如,日历应用可以暴露用于创建、修改和删除日历事件的API,并且PIAR限制可以禁止创建其中日历事件被删除的PIAR。阻止使用特定PIAR中的特定插件应用操作可以取决于各种因素。可以阻止用户完全使用该操作,或者PIAR限制可以阻止创建其中特定操作(和/或操作类型)与另一个特定操作(和/或操作组)交互的PIAR。例如,财务应用可以提供输出公共可用财务信息(例如,季度收益报告)的操作以及输出私密财务信息(例如,员工薪酬)的另一个操作。可以禁止输出私密财务信息的操作与社交媒体应用的操作进行交互,而不禁止与输出公共可用财务信息的操作进行相同的交互。在实施例中,PIAR管理应用108存储将插件应用的不同操作识别为属于不同组或类别的信息。例如,插件应用108可以使用诸如“公共”或“私密”之类的名称来支持应用于插件应用的操作的标签。
替代地或附加地,PIAR限制可以禁止创建其中特定插件应用和/或其操作以特定顺序放置的PIAR。例如,只要在使用财务应用的任何操作之前执行使用社交媒体应用的所有操作,就可以允许PIAR同时使用财务应用和社交媒体应用,因为该特定操作顺序不会有在社交媒体上发布财务数据的风险。
在实施例中,为了阻止用户基于PIAR限制创建PIAR,PIAR管理应用108在用户界面中禁用受限制的功能,否则通过该用户界面该受限制的功能将可用。作为一个示例,为了阻止用户将特定的插件应用链接到用户,PIAR管理应用108可以使该链接功能变灰、隐藏该链接功能或以其它方式使该链接功能对于该特定插件应用不可访问。作为另一个示例,为了阻止用户使用PAIR中的特定插件应用,PIAR管理应用108可以使该特定插件应用变灰、隐藏该特定插件应用或以其它方式使该特定插件应用在PIAR创建界面中不可访问。作为另一个示例,为了阻止用户使用PIAR中的插件应用的特定操作,PIAR管理应用108可以使该特定操作变灰、隐藏该特定操作或以其它方式使该特定操作在PIAR创建界面中不可访问。可以使用许多不同的方式来禁用或以其它方式阻止受限制的功能。
在实施例中,基于PIAR限制,PIAR管理应用108阻止特定PIAR的激活(操作210)。当根据PIAR监视触发条件正在进行时,可以说PIAR处于活动状态。如果在创建PIAR限制时已经定义了PIAR,那么PIAR管理应用108可以不删除现有的PIAR(参见上面对操作206的讨论),而可以简单地阻止现有的PIAR被激活。如果在创建PIAR限制时尚未定义PIAR,那么PIAR管理应用108可以允许创建PIAR(例如,以允许将来解除限制的可能性),但是只要PIAR限制仍然有效,就可以阻止PIAR被激活。
在实施例中,基于PIAR限制,PIAR管理应用108终止PIAR的执行(操作211)。终止执行PIAR与完全禁用PIAR是不同的。终止执行PIAR仍然可以允许评估PIAR的(一个或多个)触发条件。此外,终止执行PIAR仍然可以允许评估PIAR中的中间操作的输出。但是,在评估PIAR的某个时刻,PIAR管理应用108可以确定不应允许PIAR继续执行。例如,PIAR限制可以禁止执行其中暴露个人身份信息的任何PIAR。在评估PIAR的过程中,PIAR管理应用108可以确定由触发器或其它操作暴露的数据包括社会安全号码(例如,使用模式匹配来识别格式为NNN-NN-NNNN的号码)。在确定暴露了个人身份信息后,PIAR管理应用108可以终止PIAR的执行。替代地或附加地,PIAR管理应用108可以确定允许PIAR继续执行将超过阈值支出(以金钱、计算资源或任何其它类型的支出来衡量),其中阈值由PIAR限制定义。例如,在PIAR中使用的操作可能输出大量的记录,这些记录的处理成本会很高,因此,PIAR管理应用108可以终止PIAR的执行以避免该支出。可以定义许多不同类型的PIAR限制,这些限制在许多不同的条件下要求终止PIAR的执行。
在实施例中,基于PIAR限制,PIAR管理应用108在PIAR的执行期间阻止受限制的功能(操作212),而不会更一步到终止PIAR的执行。(可以将终止执行PIAR视为阻止功能的一种更为严重的形式)。具体而言,PIAR管理应用108可以允许PIAR继续执行,同时还采取措施来阻止受限制的功能。例如,PIAR限制可以禁止将由插件应用暴露给PIAR并具有受限制的特性(即根据PIAR限制被定义为受限制的特性)的数据从一个PIAR操作传输到另一个PIAR操作。受限制的特性可以包括个人身份信息,诸如社会安全号码、电话号码、账号等,和/或敏感的公司信息,诸如内部文档、财务记录等。为了阻止受限制的功能,PIAR管理应用108可以在将数据用于另一个操作之前掩罩由插件应用暴露的数据。对数据进行掩罩可以涉及例如移除字符或用其它字符替换字符。PIAR限制可以以各种方式将数据定义为具有受限制的特性。例如,可以根据模式匹配方案(例如,“NNN-NN-NNN”)来识别受限制的特性,其中“N”是任何一位数字,这是社会保险号码的典型格式。替代地或附加地,PIAR管理应用108可以使用启发式分析来识别可能具有受限制的特性的数据,诸如识别很可能包含工资信息的数据,即便该数据不匹配任何预定义模式。许多不同类型的受限制的特性可以用作掩罩数据的基础。作为另一个示例,即使公司文件服务器未明确地用作PIAR中的插件应用,PIAR管理应用108在执行PIAR期间仍可以识别由插件应用暴露的数据看起来是源自公司文件服务器的。使用模式匹配、试探法或任何其它类型的分析,PIAR管理应用108可以确定PIAR正在试图执行受限制的功能,因此阻止受限制的功能。
在实施例中,当PIAR管理应用108基于PIAR限制来限制功能时,PIAR管理应用108生成描述事件的通知(操作214)。该通知可以存储在事件日志中,以用于故障排除、报告或任何其它管理目的。替代地或附加地,可以向用户发送通知,指示功能受到限制。例如,可以向试图创建具有受限制的功能的PIAR的用户发送通知。作为另一个示例,可以将通知发送给不同的用户,诸如系统管理员或经理。通知可以经由电子邮件、图形用户界面(GUI)中的弹出窗口、文本消息或任何其它类型的通知格式来发送。在实施例中,在试图进行受限制的功能时生成通知有助于提醒负责维护PIAR管理应用108的用户,从而允许用户适当地做出响应。
在上述操作(202至214)中,已经讨论了各种示例和置换。应该认识到的是,这些示例的置换可以应用于除明确讨论了它们的操作之外的其它操作。例如,关于操作212描述的启发式分析的形式可以用于确定应当停用活动PIAR(操作206)。类似地,适用于终止PIAR的执行(操作211)的示例可以适用于阻止PIAR的激活(操作210)。示例和操作的许多不同置换是可能的,在细节上作必要修改,并且不应将实施例视为限于以上讨论的操作和示例的特定组合。讨论这些示例仅出于说明性目的,并且不应被解释为限制一个或多个实施例。
在实施例中,PIAR限制允许对用户经由PIAR管理应用108创建PIAR的能力施加有用和/或必要的限制。例如,PIAR限制可以对遵守法律义务(诸如那些管理个人身份信息的存储和传输的法律义务)有帮助和/或必要。替代地或附加地,PIAR限制可以用于保护法律没有要求保护的敏感数据,诸如商业机密、员工详细信息、客户详细信息等。替代地或附加地,PIAR限制可以用于实施公司政策,诸如对员工访问社交媒体应用的限制、对员工在外部服务器上存储公司数据的限制等。一般而言,PIAR限制可以用于在维持适当限制的同时为PIAR管理应用108的用户提供创建PIAR的很大余地。
4.说明性示例
图3图示了根据一个实施例的用于限制PIAR的操作序列的示例。提供该示例仅出于说明性目的,并且不应将实施例解释为受该示例限制。
如图3中所示,事件的时间线从上到下进行,其中不同的时间被标记为T1、T2等,并且每个时间标记旁边都有相应的描述。在时间T1,用户经由PIAR管理应用的界面定义PIAR。PIAR识别一个或多个触发器以及一个或多个动作。在这个示例中,PIAR被设计用于监视TwitterTM并将任何(a)包含#BestProductEver主题标签和(b)源自受信任用户(例如,公司员工)的白名单中的TwitterTM账户的推文转推到公司的TwitterTM账户。PIAR将列入白名单的用户的包含#BestProductEver主题标签的任何推文的发布识别为触发器。PIAR将推文转推到公司的TwitterTM账户识别为动作。
在时间T2,PIAR管理应用开始执行PIAR。具体而言,PIAR管理系统使用监视服务来监视TwitterTM并识别何时发布具有已定义标准的推文。在发布具有已定义标准的推文时,将满足触发条件,并将该推文用作动作的输入。在这个示例中,监视服务识别来自列入白名单的用户的包含#BestProductEver主题标签的特定推文。但是,推文也包含不适当的内容(例如,不适合发布到公司社交媒体账户的语言)。PIAR不包含任何基于语言的过滤器。因此,在时间T3,根据PIAR定义,PIAR管理应用通过使用公司TwitterTM账户转推推文将不适当的内容发布到社交媒体。
在时间T4,用户经由PIAR管理应用的界面定义PIAR限制。定义PIAR限制的用户可以与定义PIAR的用户是同一用户或不同用户。用于定义PIAR限制的接口可以与用于定义PIAR的接口是同一接口或不同接口。PIAR限制适用于所有PIAR。具体而言,PIAR限制禁止在PIAR中定义的任何动作将不适当的内容发布到社交媒体账户。PIAR管理应用接收用户输入并存储PIAR限制。
在这个示例中,PIAR限制不阻止PIAR的创建、激活或执行。仍然允许PIAR链接到社交媒体应用并将内容发布到社交媒体账户。因此,在时间T5,PIAR管理应用继续执行PIAR。在时间T6,PIAR管理应用将适当的内容发布到社交媒体。监视服务识别来自列入白名单的用户的包含#BestProductEver主题标签的特定推文。PIAR管理应用应用PIAR限制,并且没有检测到任何不适当的内容。在确定该推文不包含任何不适当的内容之后,PIAR管理应用执行PIAR中定义的动作,以使用公司的TwitterTM账户转推该推文。
在时间T7,阻止PIAR管理应用将不适当的内容发布到社交媒体。监视服务识别来自列入白名单的用户的包含#BestProductEver主题标签的另一条推文。PIAR管理应用应用PIAR限制,并检测到该推文中包含不适当的内容。由于该推文包含不适当的内容,因此PIAR管理应用不会执行PIAR中定义的动作。PIAR管理应用不使用公司的TwitterTM账户转推该推文。
在时间T8,PIAR管理应用向管理员通知被阻止的内容。管理员负责管理与PIAR相关联的受信任用户的白名单。基于通知,管理员可以审查推文,并确定发起该推文的用户不应再在白名单上。允许PIAR继续执行,但是基于PIAR限制,继续阻止不适当的内容,并且管理员有可能根据需要采取补救动作。
5.其它事项;扩展
实施例针对具有一个或多个设备的系统,一个或多个设备包括硬件处理器并且被配置为执行本文描述的和/或以下权利要求中任一项所述的任何操作。
在实施例中,非暂态计算机可读存储介质包括指令,当由一个或多个硬件处理器执行时,所述指令使得执行本文描述的和/或权利要求中任一项所述的任何操作。
根据实施例,可以使用本文描述的特征和功能的任何组合。在前面的说明书中,已经参考因实现而异的许多具体细节描述了实施例。因此,说明书和附图应当被认为是说明性的而不是限制性的。本发明的范围的唯一且排他的指标以及申请人预期作为本发明的范围的内容是从本申请中发出的权利要求集合的字面和等同范围,以这种权利要求发出的具体形式,包括任何后续的更正。
6.硬件概述
根据一个实施例,本文描述的技术由一个或多个专用计算设备来实现。专用计算设备可以是硬连线的以执行本技术,或者可以包括被永久性地编程以执行本技术的数字电子设备,诸如一个或多个专用集成电路(ASIC)、现场可编程门阵列(FPGA)或网络处理单元(NPU),或者可以包括被编程为根据固件、存储器、其它存储装置或组合中的程序指令执行本技术的一个或多个通用硬件处理器。这种专用计算设备还可以将定制的硬连线逻辑、ASIC、FPGA或NPU与定制的编程组合来实现本技术。专用计算设备可以是台式计算机系统、便携式计算机系统、手持式设备、联网设备或结合硬连线和/或程序逻辑来实现技术的任何其它设备。
例如,图4是图示可以在其上实现本发明的实施例的计算机系统400的框图。计算机系统400包括总线402或用于传送信息的其它通信机制以及与总线402耦合用于处理信息的硬件处理器404。硬件处理器404可以是例如通用微处理器。
计算机系统400还包括耦合到总线402用于存储信息和要由处理器404执行的指令的主存储器406,诸如随机存取存储器(RAM)或其它动态存储设备。主存储器406也可以用于存储在要由处理器404执行的指令的执行期间的临时变量或其它中间信息。当这种指令被存储在处理器404可访问的非暂态存储介质中时,这种指令使计算机系统400成为被定制用于执行指令中指定的操作的专用机器。
计算机系统400还包括耦合到总线402用于存储静态信息和处理器404的指令的只读存储器(ROM)408或其它静态存储设备。诸如磁盘或光盘之类的存储设备410被提供并且被耦合到总线402,以用于存储信息和指令。
计算机系统400可以经由总线402耦合到用于向计算机用户显示信息的显示器412,诸如阴极射线管(CRT)。包括字母数字键和其它键的输入设备414耦合到总线402,用于将信息和命令选择传送到处理器404。另一种类型的用户输入设备是光标控件416,诸如鼠标、轨迹球或光标方向键,用于向处理器404传送方向信息和命令选择并且用于控制显示器412上的光标移动。这种输入设备典型地具有两个轴(第一轴(例如,x)和第二轴(例如,y))上的两个自由度,以允许设备在平面中指定位置。
计算机系统400可以使用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实现本文描述的技术,所述定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑与计算机系统结合使计算机系统400成为专用机器或将计算机系统400编程为专用机器。根据一个实施例,本文的技术由计算机系统400响应于处理器404执行主存储器406中包含的一条或多条指令的一个或多个序列而执行。这些指令可以从另一个存储介质(诸如存储设备410)读取到主存储器406中。在主存储器406中包含的指令序列的执行使处理器404执行本文描述的处理步骤。在替代实施例中,可以使用硬连线电路系统代替软件指令或与软件指令组合使用。
如本文使用的术语“存储介质”是指存储有使机器以特定方式操作的数据和/或指令的任何非暂态介质。这种存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,诸如存储设备410。易失性介质包括动态存储器,诸如主存储器406。存储介质的常见形式包括例如软盘、柔性盘、硬盘、固态驱动器、磁带或任何其它磁性数据存储介质、CD-ROM、任何其它光学数据存储介质、具有孔模式的任何物理介质、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其它存储器芯片或盒式磁带、内容可寻址存储器(CAM)和三态内容可寻址存储器(TCAM)。
存储介质与传输介质不同但可以与传输介质结合使用。传输介质参与在存储介质之间传递信息。例如,传输介质包括同轴电缆、铜线和光纤,包括包含有总线402的电线。传输介质还可以采取声波或光波的形式,诸如在无线电波和红外线数据通信期间生成的那些。
各种形式的介质可以涉及将一条或多条指令的一个或多个序列携带到处理器404以供执行。例如,指令最初可以在远程计算机的磁盘或固态驱动器上携带。远程计算机可以将指令加载到其动态存储器中,并使用调制解调器通过电话线发送指令。计算机系统400本地的调制解调器可以在电话线上接收数据并使用红外线发射器将数据转换为红外线信号。红外线检测器可以接收红外线信号中携带的数据,并且适当的电路系统可以将数据放置在总线402上。总线402将数据携带到主存储器406,处理器404从主存储器406中检索并执行指令。由主存储器406接收的指令可以可选地在由处理器404执行之前或之后存储在存储设备410上。
计算机系统400还包括耦合到总线402的通信接口418。通信接口418提供耦合到网络链路420的双向数据通信,其中网络链路420连接到本地网络422。例如,通信接口418可以是综合业务数字网络(ISDN)卡、电缆调制解调器、卫星调制解调器、或向对应类型的电话线提供数据通信连接的调制解调器。作为另一个示例,通信接口418可以是提供到兼容的局域网(LAN)的数据通信连接的LAN卡。也可以实现无线链路。在任何这种实现中,通信接口418发送和接收携带表示各种类型信息的数字数据流的电信号、电磁信号或光信号。
网络链路420典型地通过一个或多个网络向其它数据设备提供数据通信。例如,网络链路420可以通过本地网络422提供到主计算机424或到由互联网服务提供商(ISP)426操作的数据设备的连接。ISP 426又通过现在通常称为“互联网”428的全球分组数据通信网络提供数据通信服务。本地网络422和互联网428都使用携带数字数据流的电信号、电磁信号或光信号。通过各种网络的信号以及在网络链路420上并且通过通信接口418的信号是传输介质的示例形式,这些信号将数字数据携带到计算机系统400或携带来自计算机系统400的数字数据。
计算机系统400可以通过(一个或多个)网络、网络链路420和通信接口418发送消息和接收数据,包括程序代码。在互联网示例中,服务器430可以通过互联网428、ISP 426、本地网络422和通信接口418传输对于应用程序的所请求代码。
接收到的代码可以在它被接收时由处理器404执行,和/或存储在存储设备410或其它非易失性存储装置中以供以后执行。
7.计算机网络和云网络
在一个或多个实施例中,计算机网络提供节点集合之间的连接。节点可以在彼此本地和/或远离。节点通过一组链路连接。链路的示例包括同轴电缆、非屏蔽绞合电缆、铜缆、光纤和虚拟链路。
节点子集实现计算机网络。这样的节点的示例包括交换机、路由器、防火墙和网络地址转换器(NAT)。另一个节点子集使用计算机网络。这样的节点(也称为“主机”)可以执行客户端进程和/或服务器进程。客户端进程做出对计算服务(诸如,特定应用的执行和/或特定量的数据的存储)的请求。服务器进程通过执行所请求的服务和/或返回对应的数据来响应。
计算机网络可以是物理网络,包括通过物理链路连接的物理节点。物理节点是任何数字设备。物理节点可以是特定于功能的硬件设备,诸如硬件交换机、硬件路由器、硬件防火墙和硬件NAT。附加地或替代地,物理节点可以是被配置为执行各种虚拟机和/或执行相应功能的应用的通用机器。物理链路是连接两个或更多个物理节点的物理介质。链路的示例包括同轴电缆、非屏蔽绞合电缆、铜缆和光纤。
计算机网络可以是覆盖网络。覆盖网络是在另一个网络(诸如,物理网络)之上实现的逻辑网络。覆盖网络中的每个节点对应于底层网络中的相应节点。因此,覆盖网络中的每个节点与覆盖地址(寻址到覆盖节点)和底层地址(寻址实现覆盖节点的底层节点)两者相关联。覆盖节点可以是数字设备和/或软件进程(诸如虚拟机、应用实例或线程)。连接覆盖节点的链路被实现为通过底层网络的隧道。隧道任一端处的覆盖节点将它们之间的底层多跳路径视为单个逻辑链路。隧道处理(tunneling)通过封装和解封装来执行。
在实施例中,客户端可以位于计算机网络的本地和/或远离计算机网络。客户端可以通过其它计算机网络(诸如专用网络或互联网)访问计算机网络。客户端可以使用通信协议(诸如超文本传输协议(HTTP))将请求传送到计算机网络。通过诸如客户端接口(诸如web浏览器)、程序接口或应用编程接口(API)之类的接口来传送请求。
在实施例中,计算机网络提供客户端和网络资源之间的连接。网络资源包括被配置为执行服务器进程的硬件和/或软件。网络资源的示例包括处理器、数据存储装置、虚拟机、容器和/或软件应用。网络资源在多个客户端之间共享。客户端彼此独立地从计算机网络请求计算服务。网络资源按需动态分配给请求和/或客户端。分配给每个请求和/或客户端的网络资源可以基于例如(a)由特定客户端请求的计算服务,(b)由特定租户请求的聚合计算服务和/或(c)计算机网络的所请求的聚合计算服务来扩大或缩小。这种计算机网络可以被称为“云网络”。
在实施例中,服务提供商向一个或多个最终用户提供云网络。云网络可以实现各种服务模型,包括但不限于软件即服务(SaaS)、平台即服务(PaaS)和基础设施即服务(IaaS)。在SaaS中,服务提供商向最终用户提供使用服务提供商的正在网络资源上执行的应用的能力。在PaaS中,服务提供商向最终用户提供将定制应用部署到网络资源上的能力。可以使用由服务提供商支持的编程语言、库、服务和工具来创建定制应用。在IaaS中,服务提供商向最终用户提供供应由网络资源提供的处理、存储、网络和其它基本计算资源的能力。可以在网络资源上部署任何任意应用,包括操作系统。
在实施例中,计算机网络可以实现各种部署模型,包括但不限于私有云、公共云和混合云。在私有云中,网络资源被供应给一个或多个实体的特定组独占使用(如本文所使用的术语“实体”是指企业、组织、个人或其它实体)。网络资源可以在特定实体组的处所本地和/或远离特定实体组的处所。在公共云中,云资源被供应给彼此独立的多个实体(也称为“租户”或“客户”)。计算机网络及其网络资源由与不同租户对应的客户端访问。这样的计算机网络可以被称为“多租户计算机网络”。几个租户可以在不同时间和/或相同时间使用相同的特定网络资源。网络资源可以在租户的处所本地和/或远离租户的处所。在混合云中,计算机网络包括私有云和公共云。私有云和公共云之间的接口允许数据和应用的可移植性。存储在私有云处的数据和存储在公共云处的数据可以通过接口交换。在私有云处实现的应用和在公共云处实现的应用可能具有彼此依赖性。可以通过接口执行从私有云处的应用到公共云处的应用(反之亦然)的调用。
在实施例中,多租户计算机网络的租户彼此独立。例如,一个租户的业务或操作可以与另一个租户的业务或操作分离。不同的租户可能对计算机网络具有不同的网络要求。网络要求的示例包括处理速度、数据存储量、安全要求、性能要求、吞吐量要求、时延要求、弹性要求、服务质量(QoS)要求、租户隔离和/或一致性。相同计算机网络可能需要实现由不同租户所要求的不同网络要求。
在一个或多个实施例中,在多租户计算机网络中,实现租户隔离以确保不同租户的应用和/或数据彼此不共享。可以使用各种租户隔离方法。
在实施例中,每个租户与租户ID相关联。多租户计算机网络的每个网络资源用租户ID标记。仅当租户和特定网络资源与相同租户ID相关联时,才允许该租户访问特定网络资源。
在实施例中,每个租户与租户ID相关联。由计算机网络实现的每个应用用租户ID标记。附加地或替代地,由计算机网络存储的每个数据结构和/或数据集用租户ID标记。仅当租户和特定应用、数据结构和/或数据集与相同租户ID相关联时,才允许租户访问特定应用、数据结构和/或数据集。
作为示例,由多租户计算机网络实现的每个数据库可以用租户ID标记。只有与对应租户ID相关联的租户才可以访问特定数据库的数据。作为另一个示例,由多租户计算机网络实现的数据库中的每个条目可以用租户ID标记。只有与对应租户ID相关联的租户才可以访问特定条目的数据。但是,数据库可以由多个租户共享。
在实施例中,订阅列表指示哪些租户有权访问哪些应用。对于每个应用,存储被授权访问该应用的租户的租户ID列表。仅当租户的租户ID被包含在与特定应用对应的订阅列表中时,才允许该租户访问特定应用。
在实施例中,与不同租户对应的网络资源(诸如数字设备、虚拟机、应用实例和线程)被隔离到由多租户计算机网络维护的特定于租户的覆盖网络。作为示例,来自租户覆盖网络中的任何源设备的数据包可以仅被发送到相同租户覆盖网络内的其它设备。封装隧道用于禁止从租户覆盖网络上的源设备到其它租户覆盖网络中的设备的任何传输。具体而言,从源设备接收的数据包被封装在外部数据包内。外部数据包从第一封装隧道端点(与租户覆盖网络中的源设备通信)发送到第二封装隧道端点(与租户覆盖网络中的目的地设备通信)。第二封装隧道端点对外部数据包进行解封装,以获得由源设备发送的原始数据包。原始数据包从第二封装隧道端点发送到相同特定覆盖网络中的目的地设备。
在前面的说明书中,已经参考因实现而异的许多具体细节描述了本发明的实施例。因此,说明书和附图应当被认为是说明性的而不是限制性的。本发明的范围的唯一且排他的指标以及申请人预期作为本发明的范围的内容是从本申请中发出的权利要求集合的字面和等同范围,以这种权利要求发出的具体形式,包括任何后续的更正。

Claims (20)

1.一个或多个非暂态计算机可读介质,存储指令,所述指令当由一个或多个处理器执行时导致操作的执行,所述操作包括:
由插件应用配方(PIAR)管理应用根据PIAR定义来操作PIAR,所述PIAR定义识别:
(a)触发器,对于所述触发器,第一插件应用将触发器变量的值暴露给所述PIAR管理应用,以及
(b)动作,对于所述动作,第二插件应用向所述PIAR管理应用暴露接口以用于使第二插件应用执行该动作;
其中,所述PIAR管理应用使所述动作以正在进行的所述触发器为条件;
在所述PIAR的操作期间,由所述PIAR管理应用接收所述触发器变量的第一值;
由所述PIAR管理应用确定所述触发器变量的所述第一值满足PIAR限制,所述PIAR限制识别用于阻止所述PIAR的受限制的功能的一个或多个标准;
响应于确定所述触发器变量的所述第一值满足所述PIAR限制:根据所述PAIR限制来阻止所述PIAR的所述受限制的功能。
2.根据权利要求1所述的一个或多个非暂态计算机可读介质,所述操作进一步包括:
在所述PIAR的操作期间,由所述PIAR管理应用接收所述触发器变量的第二值;
由所述PIAR管理应用确定所述触发器变量的所述第二值不满足所述PIAR限制;
响应于确定所述触发器变量的所述第二值不满足所述PIAR限制:在不阻止所述受限制的功能的情况下执行所述动作。
3.根据权利要求1所述的一个或多个非暂态计算机可读介质,其中,确定所述触发器变量的所述第一值满足所述PIAR限制包括:执行启发式分析以确定所述触发器变量的所述第一值可能包括一个或多个受限制的特性。
4.根据权利要求1所述的一个或多个非暂态计算机可读介质,其中,确定所述触发器变量的所述第一值满足所述PIAR限制包括:针对由所述PIAR限制定义的受限制的数据模式来评估所述触发器变量的所述第一值。
5.根据权利要求1所述的一个或多个非暂态计算机可读介质,其中,阻止所述受限制的功能包括:阻止包含一个或多个受限制的特性的数据的传输。
6.根据权利要求1所述的一个或多个非暂态计算机可读介质,其中,阻止所述PIAR的所述受限制的功能包括:对所述触发器变量的所述第一值进行掩罩以移除一个或多个受限制的特性。
7.根据权利要求1所述的一个或多个非暂态计算机可读介质,其中,阻止所述受限制的功能包括:终止所述PIAR的操作。
8.一种系统,包括:
至少一个设备,所述至少一个设备包括一个或多个硬件处理器,该系统被配置为执行操作,所述操作包括:
由插件应用配方(PIAR)管理应用根据PIAR定义来操作PIAR,所述PIAR定义识别:
(a)触发器,对于所述触发器,第一插件应用将触发器变量的值暴露给所述PIAR管理应用,以及
(b)动作,对于所述动作,第二插件应用向所述PIAR管理应用暴露接口以用于使第二插件应用执行该动作;
其中,所述PIAR管理应用使所述动作以正在进行的所述触发器为条件;
在所述PIAR的操作期间,由所述PIAR管理应用接收所述触发器变量的第一值;
由所述PIAR管理应用确定所述触发器变量的所述第一值满足PIAR限制,所述PIAR限制识别用于阻止所述PIAR的受限制的功能的一个或多个标准;
响应于确定所述触发器变量的所述第一值满足所述PIAR限制:根据所述PAIR限制来阻止所述PIAR的所述受限制的功能。
9.根据权利要求8所述的系统,所述操作进一步包括:
在所述PIAR的操作期间,由所述PIAR管理应用接收所述触发器变量的第二值;
由所述PIAR管理应用确定所述触发器变量的所述第二值不满足所述PIAR限制;
响应于确定所述触发器变量的所述第二值不满足所述PIAR限制:在不阻止所述受限制的功能的情况下执行所述动作。
10.根据权利要求8所述的系统,其中,确定所述触发器变量的所述第一值满足所述PIAR限制包括:执行启发式分析以确定所述触发器变量的所述第一值可能包括一个或多个受限制的特性。
11.根据权利要求8所述的系统,其中,确定所述触发器变量的所述第一值满足所述PIAR限制包括:针对由所述PIAR限制定义的受限制的数据模式来评估所述触发器变量的所述第一值。
12.根据权利要求8所述的系统,其中,阻止所述受限制的功能包括:阻止包含一个或多个受限制的特性的数据的传输。
13.根据权利要求8所述的系统,其中,阻止所述PIAR的所述受限制的功能包括:对所述触发器变量的所述第一值进行掩罩以移除一个或多个受限制的特性。
14.根据权利要求8所述的系统,其中,阻止所述受限制的功能包括:终止所述PIAR的操作。
15.一种方法,包括:
由插件应用配方(PIAR)管理应用根据PIAR定义来操作PIAR,所述PIAR定义识别:
(a)触发器,对于所述触发器,第一插件应用将触发器变量的值暴露给所述PIAR管理应用,以及
(b)动作,对于所述动作,第二插件应用向所述PIAR管理应用暴露接口以用于使第二插件应用执行该动作;
其中,所述PIAR管理应用使所述动作以正在进行的所述触发器为条件;
在所述PIAR的操作期间,由所述PIAR管理应用接收所述触发器变量的第一值;
由所述PIAR管理应用确定所述触发器变量的所述第一值满足PIAR限制,所述PIAR限制识别用于阻止所述PIAR的受限制的功能的一个或多个标准;
响应于确定所述触发器变量的所述第一值满足所述PIAR限制:根据所述PAIR限制来阻止所述PIAR的所述受限制的功能;
其中,所述方法由包括一个或多个硬件处理器的至少一个设备执行。
16.根据权利要求15所述的方法,还包括:
在所述PIAR的操作期间,由所述PIAR管理应用接收所述触发器变量的第二值;
由所述PIAR管理应用确定所述触发器变量的所述第二值不满足所述PIAR限制;
响应于确定所述触发器变量的所述第二值不满足所述PIAR限制:在不阻止所述受限制的功能的情况下执行所述动作。
17.根据权利要求15所述的方法,其中,确定所述触发器变量的所述第一值满足所述PIAR限制包括:执行启发式分析以确定所述触发器变量的所述第一值可能包括一个或多个受限制的特性。
18.根据权利要求15所述的方法,其中,确定所述触发器变量的所述第一值满足所述PIAR限制包括:针对由所述PIAR限制定义的受限制的数据模式来评估所述触发器变量的所述第一值。
19.根据权利要求15所述的方法,其中,阻止所述受限制的功能包括:阻止包含一个或多个受限制的特性的数据的传输。
20.根据权利要求15所述的方法,其中,阻止所述PIAR的所述受限制的功能包括:对所述触发器变量的所述第一值进行掩罩以移除一个或多个受限制的特性。
CN202311236024.2A 2017-06-30 2018-06-29 包括用于限制插件应用配方的指令的计算机可读介质 Pending CN117195302A (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201762527958P 2017-06-30 2017-06-30
US62/527,958 2017-06-30
US15/994,332 US10902152B2 (en) 2017-06-30 2018-05-31 Restricting plug-in application recipes
US15/994,332 2018-05-31
PCT/US2018/040240 WO2019006270A1 (en) 2017-06-30 2018-06-29 RESTRICTION OF EXTENSION MODULE APPLICATION RECIPES
CN201880076949.6A CN111630516B (zh) 2017-06-30 2018-06-29 包括用于限制插件应用配方的指令的计算机可读介质

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201880076949.6A Division CN111630516B (zh) 2017-06-30 2018-06-29 包括用于限制插件应用配方的指令的计算机可读介质

Publications (1)

Publication Number Publication Date
CN117195302A true CN117195302A (zh) 2023-12-08

Family

ID=64738184

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201880076949.6A Active CN111630516B (zh) 2017-06-30 2018-06-29 包括用于限制插件应用配方的指令的计算机可读介质
CN202311247251.5A Pending CN117235795A (zh) 2017-06-30 2018-06-29 包括用于限制插件应用配方的指令的计算机可读介质
CN202311236024.2A Pending CN117195302A (zh) 2017-06-30 2018-06-29 包括用于限制插件应用配方的指令的计算机可读介质

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN201880076949.6A Active CN111630516B (zh) 2017-06-30 2018-06-29 包括用于限制插件应用配方的指令的计算机可读介质
CN202311247251.5A Pending CN117235795A (zh) 2017-06-30 2018-06-29 包括用于限制插件应用配方的指令的计算机可读介质

Country Status (4)

Country Link
US (3) US10902152B2 (zh)
EP (1) EP3679507B1 (zh)
CN (3) CN111630516B (zh)
WO (1) WO2019006270A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10613897B1 (en) * 2016-12-21 2020-04-07 Ca, Inc. Systems and methods for creating program-specific execution environments
US11182130B2 (en) 2019-05-28 2021-11-23 Oracle International Corporation Semantic analysis-based plug-in application recipe generation
US10671410B1 (en) * 2019-05-28 2020-06-02 Oracle International Corporation Generating plug-in application recipe extensions
US11169826B2 (en) 2019-05-28 2021-11-09 Oracle International Corporation User-assisted plug-in application recipe execution
US20230149560A1 (en) 2020-04-20 2023-05-18 Massachusetts Institute Of Technology Lipid compositions for delivery of sting agonist compounds and uses thereof
CN113377458B (zh) * 2021-06-28 2022-04-19 北京字节跳动网络技术有限公司 插件管理方法、装置、电子设备和存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3561956B2 (ja) * 1994-06-24 2004-09-08 ヤマハ株式会社 自動演奏装置
WO2002013437A2 (en) 2000-08-04 2002-02-14 Xtradyne Technologies Ag Method and system for session based authorization and access control for networked application objects
US8341083B1 (en) * 2007-09-12 2012-12-25 Devicefidelity, Inc. Wirelessly executing financial transactions
US8606656B1 (en) * 2008-03-28 2013-12-10 Amazon Technologies, Inc. Facilitating access to restricted functionality
US8589541B2 (en) 2009-01-28 2013-11-19 Headwater Partners I Llc Device-assisted services for protecting network capacity
CN103765453B (zh) * 2011-02-16 2018-08-14 维萨国际服务协会 快拍移动支付装置,方法和系统
US20120300960A1 (en) * 2011-05-27 2012-11-29 Graeme Gordon Mackay Digital signal routing circuit
US8769622B2 (en) * 2011-06-30 2014-07-01 International Business Machines Corporation Authentication and authorization methods for cloud computing security
US20130305354A1 (en) * 2011-12-23 2013-11-14 Microsoft Corporation Restricted execution modes
US20150347164A1 (en) * 2012-12-25 2015-12-03 Beijing Qihoo Technology Company Limited Method and Device for Playing Plug-in in Browser
JP6205966B2 (ja) * 2013-08-15 2017-10-04 富士通株式会社 演算処理装置及び演算処理装置の制御方法
US9787657B2 (en) 2013-09-19 2017-10-10 Oracle International Corporation Privileged account plug-in framework—usage policies
RU2581559C2 (ru) * 2014-08-01 2016-04-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ применения политик безопасности к накопителю в сети
US10007534B2 (en) * 2015-08-11 2018-06-26 Vmware, Inc. Methods and apparatus to manage asset capabilities in a computing environment using a common agent framework
US11516153B2 (en) * 2016-01-25 2022-11-29 Expensify, Inc. Computer system providing a chat engine
CN108092872B (zh) 2016-11-22 2021-07-13 阿里巴巴集团控股有限公司 通讯方法及装置

Also Published As

Publication number Publication date
CN111630516A (zh) 2020-09-04
CN117235795A (zh) 2023-12-15
US20230086922A1 (en) 2023-03-23
US10902152B2 (en) 2021-01-26
CN111630516B (zh) 2023-10-20
US11507696B2 (en) 2022-11-22
EP3679507B1 (en) 2021-11-10
EP3679507A1 (en) 2020-07-15
WO2019006270A1 (en) 2019-01-03
US20210103671A1 (en) 2021-04-08
US20190005257A1 (en) 2019-01-03

Similar Documents

Publication Publication Date Title
US10521245B2 (en) Method and system for recursive plug-in application recipe generation
CN111630516B (zh) 包括用于限制插件应用配方的指令的计算机可读介质
US11627054B1 (en) Methods and systems to manage data objects in a cloud computing environment
US20240036695A1 (en) System and methods for configuring event-based automation in cloud-based collaboration platforms
US10467426B1 (en) Methods and systems to manage data objects in a cloud computing environment
US11216539B2 (en) Authorization proxy platform
US10614233B2 (en) Managing access to documents with a file monitor
US9225704B1 (en) Unified management of third-party accounts
RU2586866C2 (ru) Дифференцирование набора признаков участником арендуемой среды и пользователем
US9251351B2 (en) System and method for grouping computer vulnerabilities
US10560435B2 (en) Enforcing restrictions on third-party accounts
US10970142B2 (en) Transforming plug-in application recipe variables
US9514291B2 (en) Information processing system, information processing device, and authentication information management method
US20150304356A1 (en) Method, system and computer program product for enforcing access controls to features and subfeatures on uncontrolled web application
CN110073335A (zh) 管理应用程序的共存和多个用户设备管理
US20210328952A1 (en) Context Driven Dynamic Actions Embedded in Messages
US11599353B2 (en) Hosting event-based applications
CN110457629A (zh) 权限处理、权限控制方法及装置
US20190253455A1 (en) Policy strength of managed devices
US11757976B2 (en) Unified application management for heterogeneous application delivery
US20220278951A1 (en) Contextual discovery and design of application workflow
CN118251670A (zh) 自适应网络攻击预测系统

Legal Events

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