CN109952752B - 用于针对隔离集合的有条件授权的系统和方法 - Google Patents
用于针对隔离集合的有条件授权的系统和方法 Download PDFInfo
- Publication number
- CN109952752B CN109952752B CN201780067729.2A CN201780067729A CN109952752B CN 109952752 B CN109952752 B CN 109952752B CN 201780067729 A CN201780067729 A CN 201780067729A CN 109952752 B CN109952752 B CN 109952752B
- Authority
- CN
- China
- Prior art keywords
- isolated
- data
- access
- resource
- conditions
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开的示例描述了有条件地授权对数据的隔离集合的访问的系统和方法。在多个方面,可以由应用接收访问资源标识符和关系的隔离集合的请求。条件集可以控制对隔离集合的访问。在接收到请求时,应用可以尝试确定是否已满足条件集。如果确定满足条件集,则应用可以向请求者提供对隔离集合的访问。如果确定不满足条件集,则应用可以禁止请求者访问隔离集合。
Description
背景技术
电子信息的认证是评估接收的证书集以确定用户的真实性(例如,用户是声明的人)的过程。在成功授权之后发生的授权是针对可以访问电子信息的一个或多个用户确定对电子信息的访问的过程。多年来,各种授权方法已经发展。典型地,这种方法要求实现和维护必须全面地促进过程的复杂架构和服务,例如,登入、令牌生成/分配和生命周期维护。由于这种要求经常是资源密集的,因此在许多情况下替代授权方法是期望的。
关于这些和其他的总体考虑,已经做出了本文公开的方面。另外,尽管可以讨论相对特定的问题,但是应该理解的是,示例不应限制于解决在背景技术或本公开其他地方中标识的特定问题。
发明内容
提供本发明内容以便以简化的形式介绍一系列概念,这些概念在下面的具体实施方式部分中进一步描述。本发明内容不旨在标识要求保护的主题的关键特征或者必要特征,也不旨在用于帮助确定要求保护的主题的范围。
本公开的示例描述了有条件地授权对数据的隔离集合的访问的系统和方法。在多个方面,对资源、资源标识符和/或关系的隔离集合进行访问的请求可以由应用接收以用于确定、导航和/或可视化资源(例如,人、文件、任务等)之间的关系。条件集可以控制对隔离集合的访问。在接收到请求时,应用可以尝试确定是否已满足条件集。如果确定满足条件集,则应用可以向请求者提供对隔离集合的访问。如果确定不满足条件集,则应用可以禁止请求者访问隔离集合。
提供本发明内容以便以简化的形式介绍一系列概念,这些概念在下面的具体实施方式中进一步描述。本发明内容不旨在标识要求保护的主题的关键特征或者必要特征,也不旨在用于限制要求保护的主题的范围。示例的附加方面、特征和/或优点将在说明书的以下部分中阐述,并且部分地将根据说明书变得显而易见,或者可以通过本公开的实践来学习。
附图说明
参考以下附图描述非限制性和非穷举性示例。
图1示出了如本文描述的用于授权访问隔离集合的示例系统的概述。
图2示出了如本文描述的用于管理资源标识符和对应的关系的隔离集合的示例系统的概述。
图3A-3E示出了如本文描述的隔离集合的示例。
图4示出了如本文描述的委托授权以访问数据的隔离集合的示例方法。
图5示出了如本文描述的确定对数据的隔离集合的底层资源进行访问的示例方法。
图6示出了如本文描述的有条件地授权对数据的隔离集合的访问的示例方法。
图7示出了如本文描述的确定是否已满足访问隔离集合的条件的示例方法。
图8是示出可以用来实践本公开的方面的计算设备的示例物理组件的框图。
图9A和图9B是可以用来实践本公开的方面的移动计算设备的简化框图。
图10是可以在其中实践本公开的方面的分布式计算系统的简化框图。
图11示出了用于执行本公开的一个或多个方面的平板计算设备。
具体实施方式
下面参考附图更全面地描述了本公开的各个方面,附图构成本公开的一部分,并且附图示出了特定的示例性方面。然而,本公开的不同方面可以以许多不同的形式实现,并且不应该被解释为限制于本文阐述的方面;而是,提供这些方面使得本公开变得透彻且完整,并且将向本领域技术人员全面地传达这些方面的范围。方面可以作为方法、系统或设备实践。因此,方面可以采取以下形式:硬件实现方式、完全软件实现方式或者软件和硬件方面组合的实现方式。因此,以下详细描述不应被认为具有限制意义。
本公开提供了有条件地授权对断言数据的隔离集合的访问的系统和方法。在多个方面,用于管理断言数据的隔离集合的应用或服务可以是客户端可访问的。如本文使用的,断言数据的隔离集合可以指代一种或多种断言资源以及这些资源之间的关系。在示例中,资源可以对应于人、实体、文件、任务、电子通信、文档(或其一部分)、日历事件、任务等。资源可以与资源标识符(例如,统一资源定位符(URL)、统一资源名称(URN)等)相关联。资源标识符可以标识资源并且实现通过网络与资源的表示的交互。关系可以标识一种或多种资源和/或资源标识符之间的关联。并且这种关系可以使用一个或多个规则集或者使用语义web技术(例如,资源描述框架(RDF)、RDF模式(RDFS)、SPARQL协议和RDF查询语言(SPARQL)、网络本体语言(OWL)等)手动标识和/或确定。隔离集合可以包括一种或多种资源、资源标识符和/或关系。隔离集合还可以包括权限信息、一个或多个规则集和/或元数据(例如,资源/关系描述属性(例如,标题、创建者、主题、描述、发布者、贡献者、日期、类型格式、标识符、源、语言、关系、覆盖范围、权利等))。当资源和/或关系未由隔离集合定义时,资源和/或关系(和对应的数据)可以称为“断言的”。例如,如果资源/关系是手动定义的,是通过对资源提供者或数据存储库等进行查询或与其交互来确定的,则资源/关系可能是断言的。相反,当隔离集合使用隔离集合的一个或多个规则定义资源标识符/关系(或其属性)时,资源/关系可以称为“推断的”。例如,如果隔离集合(或管理隔离集合的应用或服务)针对由隔离集合存储的断言数据执行由隔离集合存储的(或与隔离集合特别地关联的)一个或多个规则,则资源/关系可能是推断的。推断的资源或关系可以为断言数据(例如,资源、资源标识符、关系等)提供附加信息或丰富信息。推断数据可以存储在隔离集合中或者由隔离集合存储。包括断言数据和推断数据两者的隔离集合可以称为断言数据的丰富隔离集合。如本文使用的,断言数据的隔离集合和断言数据的丰富隔离集合可以称为“隔离集合”或者“集”。
在多个方面,用于隔离集合的数据(以及其元数据)可以存储在应用/服务可访问的一个或多个数据存储库中。元数据可以包括资源和/或关系描述属性,例如,标题、创建者、主题、描述、发布者、贡献者、日期、类型格式、标识符、源、语言、关系、覆盖范围、权利等。应用/服务可以提供对用于查询、导航、可视化和/或修改隔离集合、相关联的元数据或对应的底层资源的接口的访问。在示例中,应用/服务可以从请求者接收访问或生成隔离集合和/或与隔离集合相关联的数据的请求。应用/服务可以搜索(多个)数据存储库来确定包括在所请求的隔离集合中的资源标识符的至少一部分。应用/服务可以使用所确定的资源标识符来标识和/或定位一个或多个对应的资源。例如,标识/定位资源可以包括执行对资源标识符的HTTP调用,向搜索/查找实用程序提供资源标识符,查询资源提供者等。在一些方面,当定位到所确定的资源标识符时,可以由应用/服务询问可操作以访问资源的资源提供者,该资源对应于所确定的资源标识符。如本文使用的,询问可以指代确定针对一个或多个资源和/或资源提供者的授权信息的请求。在示例中,询问可以包括访问资源提供者上的授权文件、用户访问事件文件、授权令牌仓储和/或资源权限集。询问可以附加地或可替代地包括来自应用/服务的用于响应关于以下问题中的一个或多个问题的请求,例如,请求者是否被授权访问资源或资源提供者,请求者对资源的访问是否已由资源提供者或授权提供者授权,资源提供者当前是否可以访问对授权的指示(例如,令牌、证书、权限集等),资源提供者是否对资源具有访问权,对授权的指示的到期日期/时间等。
在多个方面,应用/服务可以使用询问的结果来确定是否提供对隔离集合的访问。例如,如果应用/服务从询问中确定请求者拥有访问资源的有效授权指示,则应用/服务可以提供对包括与资源相对应的资源标识符的一个或多个隔离集合的访问。另一方面,如果应用/服务从询问中确定请求者不拥有访问资源的有效授权指示,则应用/服务可以阻止(或至少无法提供)对包括与资源相对应的资源标识符的一个或多个隔离集合的访问。
因此,本公开提供了多个技术益处,包括但不限于:使用户能够定义并标识资源之间的关系;从小数据集中推断出丰富的关系;创建鲁棒的查询模型;实现对隔离集合执行强大的查询;提供用户接口来创建、管理和可视化隔离集合和权限数据;提供用于隔离集合访问的委托授权模型;提供用于隔离集合访问的有条件授权模型;保护对作为隔离集合基础的远程资源的访问,以及其他示例。
图1示出了如本文描述的用于授权访问隔离集合的示例系统的概述。示例系统100可以是相互依赖的组件的组合,这些组件相互作用以形成用于执行委托授权的集成整体。在多个方面,系统100可以包括硬件组件(例如,用于执行/运行操作系统(OS))和/或在硬件上运行的软件组件(例如,应用、应用编程接口(API)、模块、虚拟机、运行时库等)。在特定的方面,系统100可以为软件组件提供用于执行、评估操作约束集以及利用系统100的资源或设施的环境。在这些方面,环境可以包括一个或多个处理设备,或安装在一个或多个处理设备上。例如,软件(例如,应用、操作指令、模块等)可以在诸如计算机、移动设备(例如,智能电话/电话、平板电脑、膝上型计算机、个人数字助理(PDA)等)和/或任何其他电子设备之类的处理设备上运行。作为处理设备操作环境的示例,参考图8-11中描绘的示例性操作环境。在其他实例中,本文公开的系统的组件可以跨多个设备分布并且由多个设备执行。例如,可以在客户端设备上键入输入,并且可以从网络中的其他设备(例如,服务器设备、网络装置、其他客户端设备等)处理信息或访问信息。
如呈现的,系统100包括客户端设备102A-C、分布式网络104以及包括一个或多个服务器(例如,服务器设备106A-C)的分布式服务器环境。本领域技术人员将认识到,诸如系统100之类的系统的规模可以变化,并且可以包括相比图1中描述的那些组件附加或更少的组件。在一些方面,系统100的组件之间的接合可以远程发生,例如,在系统100的组件可能跨分布式网络中的一个或多个设备分布的情况下。
在多个方面,客户端设备102A-C可以被配置为经由用户接口组件或其他输入模块接收输入。输入的示例可以包括语音、视觉、触摸和文本输入。接口组件可以实现对各种数据集和图形表示的创建、修改和导航。在示例中,各种数据集可以包括以下各项(或以其他方式与以下各项相关联),例如,资源标识符、资源元数据、关系信息、断言关系、图形映射信息、查询数据、规则集(例如,推理规则、授权信息、认证信息等),如下面进一步详细讨论的。通常地,数据集存储在服务器设备106A-C中的一个或多个服务器设备上,并且可由客户端设备102A-C经由网络连接(例如,分布式网络104)访问。然而,在一些示例中,数据集可以至少部分地存储在客户端设备102A-C中的一个或多个客户端设备上。各种数据集中表示的底层资源可以本地存储或者存储在客户端设备102A-C可访问的数据存储库中,例如,云存储应用。在至少一个示例中,各种数据集中表示的底层资源(或其部分)可以跨客户端设备102A-C分布。例如,客户端设备102A(例如,移动电话)可以本地存储数据集中表示的资源的第一部分,客户端设备102B(例如,平板电脑)可以本地存储资源的第二部分,并且客户端设备102C(例如,膝上型计算机)可以本地存储数据集中表示的资源的其余部分。在示例中,客户端设备102A-C可以对数据集中包括的所有资源具有访问权,可以对数据集中包括的资源的子集具有访问权,或者可替代地,可以对数据集中包括的资源中的任何资源不具有访问权。
客户端设备102A-C还可以被配置为确定一种或多种资源的位置。在多个方面,客户端设备102A-C可以询问资源提供者和/或包含资源的数据存储库,该资源对应于在各种数据集中的资源标识符。询问可以包括标识资源位于(或者可以从其访问资源)的远程设备。在一些方面,询问可以附加地包括确定远程设备(或服务/单独的远程设备)是否已被授权对资源的访问。如果确定已经授权对资源的访问,则客户端设备102A-C可以从远程设备或授权提供者取回认证(或授权)指示。然后,客户端设备102A-C可以使用认证/授权指示来提供对包含对应的资源标识符的各种数据集中的一个或多个数据集的访问。如本文使用的,这种授权技术可以称为委托授权。在其他方面,询问可以附加地包括确定是否已经满足与数据集相关联的条件集。在示例中,条件集中的一个或多个条件可以在数据集的内部、数据集的外部或者其某种组合。如果确定已经满足条件集,则客户端设备102A-C可以提供对一个或多个对应的数据集的访问。如本文使用的,这种授权技术可以称为有条件授权。
服务器设备106A-C可以被配置为存储和/或提供对一种或多种资源的访问。例如,服务器设备102A可以是web服务器,服务器设备102B可以是包括协作消息传递工具和日历应用的设备,并且服务器设备102C可以是电子邮件服务器。这些设备中的每一个设备可以包括可以经由一种或多种授权机制访问的资源仓储。在示例中,服务器设备106A-C可以在接收到针对资源的请求时执行或监视授权过程。如果授权成功,则授权设备可以在指定时间段内存储或维护认证/授权指示。当该时间段结束时,服务器设备106A-C可以移除或尝试更新认证/授权指示。在示例中,服务器设备106A-C可以向询问客户端设备提供认证/授权指示。在一些方面,服务器设备106A-C还可以被配置为存储各种数据集和图形表示的至少一部分,如上面讨论的。
图2示出了用于管理资源标识符和和对应关系的隔离集合的示例系统200的概述。在系统200中实现的隔离集合技术可以包括图1中描述的委托授权技术中的一种或多种技术或者与其相关联。在替代示例中,单个设备(包括诸如处理器和/或存储器之类的一个或多个组件)可以分别地执行在系统100和系统200中描述的处理。
关于图2,系统200可以包括集创建应用202和204,集环境206,集208和210,实体212和214,资源标识符216、218、220、222、224和226,以及资源228、230、232、234、236和238。在多个方面,集创建应用202和204可以是被配置为创建、推断、操纵、导航和可视化各种资源、关系和图形表示的应用或服务。集创建应用202和204可以定义资源(例如,人、文件、任务、邮件、文档、日历事件等)之间的关系的隔离集合,并且对这些隔离集合执行查询。集创建应用202和204还可以提供定义和存储用于推断隔离集合中的一种或多种关系的规则集,并且显示隔离集合数据的图形表示。定义的规则集可以存储在隔离集合本身中,并且在一些示例中,定义的规则集存储为在隔离集合内的元数据。在示例中,可以在客户端设备上或在分布式环境中的一个或多个设备上安装并执行集创建应用202和204。例如,集创建应用202可以安装在客户端设备102A上,集创建应用204可以安装在客户端设备102B上,并且与服务器设备106A相关联的集创建服务可以是客户端设备102C可访问的。
在多个方面,集创建应用202和204可以对文件目录或执行环境(例如,环境206)具有访问权。环境206可以与集创建应用同地协作,或者环境206可以位于远离集创建应用处。环境206可以提供对一个或多个隔离数据集合(例如,集208和集210)的访问。在示例中,可以使用由集创建应用202和204生成和/或维护的一个或多个权限集来确定对隔离数据集合的访问。权限集可以跨隔离数据集合中的一个或多个隔离数据集合是不同的。因此,可能无法从集创建应用202和204中的一个或多个集创建应用访问隔离数据集合中的一个或多个隔离数据集合(或与其相关联的功能)。
集208和210可以分别地包括断言的和/或推断的资源标识符和关系的隔离集合。隔离集合中的关系可以手动定义,或者可以使用一个或多个规则集自动导出。可以使用诸如命名图之类的图形结构来表示隔离集合,该图形结构直接地关联数据集合中的资源并且提供利用单个操作取回关系数据。每个隔离集合可以包含对该隔离集合唯一的资源标识符。可替代地,隔离集合可以包含一个或多个替代隔离集合中包括的资源标识符。例如,如图2描述的,集208可以包含资源标识符216、218、220和222,并且集210可以包含资源标识符220、222、224和226。资源标识符216、218、220、222、224和226可以对应于一种或多种资源和/或标识一种或多种资源的位置。如本文使用的,资源标识符引用现有资源但其本身不是资源。资源标识符的示例性类型包括但不限于统一资源标识符(例如,统一资源定位符(URL)、统一资源名称(URN)等)、IP地址、存储器或存储装置地址等。本领域技术人员将认识到的是,在不脱离本公开的范围的情况下,本文公开的各个方面可以采用任何类型的标识符。标识资源的位置可以包括使用例如正则表达式解析资源标识符,向搜索实用程序提供资源标识符的一个或多个部分,执行资源标识符等。在多个方面,对数据集合具有访问权不保证访问由包括在每个数据集合中的资源标识符标识的资源。例如,尽管用户可能能够访问和操纵集208,但是用户可能未被授权访问底层资源中的一种或多种底层资源,该底层资源对应于集208中的资源标识符。
资源提供者212和214可以被配置为存储和/或提供对一种或多种资源的访问。因此,如本文使用的资源提供者可以是数据存储库、云服务提供者、客户端计算设备、服务器计算设备、设备的分布式系统,例如,企业网络、应用、软件平台(例如,操作系统、数据库等)等。在多个方面,资源提供者212和214可以是各种不同的数据源(或可以对其具有访问权),例如,内容提供者、数据存储库、各种应用数据集等。数据存储库可以包括对应于一个或多个资源标识符的一种或多种资源。例如,如图2描述的,资源提供者212可以是包括各种不同类型的资源(例如,资源228(例如,文档1(D1))和资源230(例如,演示文稿2(P1)))的数据存储库,并且资源提供者214可以是包括联系人资源232(例如,联系人1(C1))、联系人资源234(例如,联系人2(C2))、联系人资源236(例如,联系人3(C3))和联系人资源238(例如,联系人4(C4))的联系人管理应用。在这个示例中,资源标识符216可以对应于资源228;资源标识符218可以对应于资源230;资源标识符220可以对应于资源232;资源标识符222可以对应于资源234;资源标识符224可以对应于资源236;并且资源标识符226可以对应于资源238。
在一些方面,资源提供者212和214(或与其相关联的资源)可以由集创建应用202和204访问。例如,集创建应用202和204可以访问资源提供者212和214以确定资源的存在和/或取回与资源相关联的信息(例如,资源元数据、资源位置、资源标识符、权限集、授权数据等)。在替代示例中,集创建应用202和204可能对资源提供者212和214不具有访问权。相反,资源提供者212和214可以例如向一个或多个设备或存储位置发布或广播资源和/或资源信息。然后,集创建应用202和204可以访问接收资源/资源信息的设备或存储位置,以确定资源的存在。在又一示例中,集创建应用202和204可以直接接收资源/资源信息。例如,用户可以使用集创建应用202和204可访问的接口来创建或上传一种或多种资源。在这些方面,取回的资源/资源信息可以用于确定资源标识符集,该资源标识符集对应于可用资源中的一种或多种资源。资源标识符集可以用于创建一个或多个隔离集合。如上面指出的,资源标识符可以是或可以包括其对应资源的持久URI。例如,资源标识符216可以包括实际文档(D1)228的URI。因此,在这样的示例中,用户能够根据集来确定文档(D1)228的位置,并且取决于授权和访问限制,取回文档(D1)228。作为另一示例,如图2描述的,资源提供者212可以由集创建应用202访问。集创建应用202可以确定资源提供者212至少包括资源228和230,并且可以确定用于资源中的每种资源的资源标识信息。基于所确定的资源标识信息,资源标识符216和218可以分别地适用于/关联于资源228和230,并且提供给环境206。然后,环境206可以使资源标识符216和218对于包含到一个或多个隔离集合中的分析是合格的。
图3A示出了资源标识符和对应关系的示例隔离集合300。示例隔离集合300包括资源标识符302、304、306、308、310、312和314,以及关系316、318、320、322、324和326。在多个方面,可以使用集合创建实用程序来生成和/或操纵隔离集合300,集合创建实用程序可以被包括作为如上面讨论的集创建应用的一部分。当以图3A中描绘的图形形式呈现时,每个资源标识符可以称为“节点”,并且每个关系可以称为“边”。集合创建实用程序还可以使用一个或多个规则集来标识资源和/或确定集合的资源类型,该规则集可以包括根据以下语义web技术定义的规则:例如,资源描述框架(RDF)、RDF模式(RDFS)、SPARQL协议和RDF查询语言(SPARQL)、网络本体语言(OWL)等。例如,隔离集合300包括表示底层资源的资源标识符312,在描绘的示例中为“email789”。类似地,资源标识符304表示资源文档“Doc123”,并且资源标识符302表示资源任务“Task123”。隔离集合300中包括的资源和关系中的每种资源和关系可能已经由开发者通过集创建应用断言。例如,开发者可以手动添加资源标识符以及资源标识符之间的关系中的每一个。作为示例,开发者可以手动指示“task123”是“Doc123”上的任务,如由“taskOn”关系316在隔离集合300中表示的。资源标识符和关系还可以由开发者创建的外部机器人或应用断言。例如,可以对插件进行编程以监视浏览器或其他应用中的活动以跟踪应用的使用。基于应用的使用,插件可以发送要包括在隔离集合300中的附加资源和关系。
与断言的资源标识符和关系相反,集合创建实用程序可以执行规则集以确定附加关系和资源类型,本文称为“推断的关系”和“推断的资源标识符”或“推断的资源类型”。例如,在执行规则集时,集合创建实用程序可以确定资源标识符312表示电子邮件消息,并且资源标识符304表示文档。下面进一步详细讨论推断的关系和资源的生成。基于该确定,集合创建实用程序可以分配关系324(例如,“attachmentOn”)以定义资源标识符312与资源标识符304之间的关联。集合创建实用程序可以利用类似的方法来分配关系326(例如,“attachmentOn”)以定义资源标识符314与资源标识符306之间的关联。
隔离集合300进一步描绘了资源标识符302与资源标识符304、306和308以及资源标识符310相关联。集合创建实用程序可以确定资源标识符302表示要对标识符304、306和308执行的任务。基于该确定,集合创建实用程序可以分配关系316、318和320(例如,“taskOn”)以定义资源标识符302与资源标识符304、306和308之间的关联。集合创建实用程序可以进一步确定资源标识符310表示包括对资源标识符302的一个或多个方面的讨论的电子邮件(没有附件)。基于该确定,集合创建实用程序可以分配关系322(例如,“hasDiscussion”)以定义资源标识符302与资源标识符310之间的关联。
图3B-3E示出了可以用于遍历隔离集合300的示例查询模型。在多个方面,可以经由集合创建实用程序提供的接口来执行查询。可以针对包括诸如资源标识符、资源类型、资源元数据、权限数据等之类的信息的一个或多个文件和/或目录执行查询。查询结果可以以图形形式可视化为一个或多个集合,例如,隔离集合300。例如,整个隔离集合300数据集可以仅包括集合300中示出的那些元素(例如,资源标识符302、304、306、308、310、312和314,以及关系316、318、320、322、324和326)。在该特定示例中,资源标识符312可以表示包括主题“API设计”的电子邮件,并且资源标识符314可以表示包括主题“集”的电子邮件。可以针对隔离集合300执行查询“http://.../collection300/task123”。查询结果可以包括资源标识符302并且如示出的可视化。在图3C中,查询已被修改为“http://.../collection300/task123?$expand=taskOn”,并且针对隔离集合300执行该查询。查询结果可以包括资源标识符302、304、306和308以及关系316、318和320,并且如示出的可视化。在图3D中,查询已被修改为“http://.../collection300/task123?$expand=taskOn($expand=attachmentOn)”,并且针对隔离集合300执行该查询。查询结果可以包括资源标识符302、304、306、308、312和314以及关系316、318、320、324和326,并且如示出的可视化。在图3E中,查询已被修改为“http://.../collection300/task123?$expand=taskOn($expand=attachmentOn($filter=Subject eq‘Sets’))”,并且针对隔离集合300执行该查询。由于仅资源标识符包括主题“集”,所以查询结果可以包括资源标识符302、306和314以及关系318和326,并且如示出的可视化。
图4示出了委托授权以访问隔离集合的示例方法400。在多个方面,方法400可以由诸如图1的系统100之类的示例性系统执行。在示例中,方法400可以在包括至少一个处理器的设备上执行,该处理器被配置为存储并执行操作、程序或指令。然而,方法400不限于这些示例。在其他示例中,可以在用于提供委托授权的应用或服务上执行方法400。在至少一个示例中,方法400可以由分布式网络(例如,web服务/分布式网络服务(例如,云服务))中的一个或多个组件来执行(例如,计算机实现的操作)。
示例性方法400在操作402处开始,其中访问一个或多个隔离集合(例如,集208和210)的请求可以由集合创建应用/服务(例如,集创建应用202和204)接收,用于开发和探索隔离集合。在多个方面,集合创建应用/服务可以安装在诸如客户端设备102A-C之类的计算设备上,或可由其访问。集合创建应用/服务可以对一个或多个文件或目录具有访问权,该文件或目录包括诸如资源标识符、资源类型、资源元数据、关系信息、一个或多个规则集、一个或多个统计或预测模型、权限数据、授权信息、查询数据、一个或多个查询模型、图形组件、资源映射数据等之类的信息。可以经由诸如图形用户接口、命令行接口、API等之类的接口来访问集合创建应用/服务。在示例中,可以由集合创建应用/服务经由接口接收生成和/或访问一个或多个隔离集合和/或关联信息的请求。该请求可以以查询的形式,如上面关于图3B-3E描述的。在另一示例中,请求可以以对菜单、菜单项目、对象、属性/性质、图形或图形对象的一部分等进行选择的形式。请求可以包括请求数据,例如,客户端数据(例如,用户名、密码、设备名称、IP地址、授权指示等)、隔离集合数据、文件系统位置等。隔离集合可以包括来自上面描述的文件或目录的一个或多个部分的资源标识符、关系信息和/或元数据。隔离集合可能受各种安全权限或边界的约束。在示例中,每个隔离集合可以包含其自己的安全权限集。安全权限可以提供对隔离集合的不同程度的访问。例如,第一权限类别可以提供对隔离集合和对应的元数据的完全控制,第二权限类别可以提供对隔离集合的内容的读取/写入访问但是不能访问对应的元数据,并且第三权限类别可以仅提供对隔离集合的内容的读取访问但是不能访问对应的元数据。可以在访问隔离集合时以及在访问由隔离集合暗示的文件或目录时检查安全权限。安全权限可以存储为隔离集合的元数据的一部分。在多个方面,对隔离集合的访问不一定暗示从隔离集合访问由隔离集合中的资源标识符表示的底层资源。即,对隔离集合中的资源标识符具有访问权的用户或组可能无法从隔离集合中访问底层资源。在这些方面,隔离集合的安全权限可以是单独的,并且不同于与隔离集合相关联的底层资源的安全权限。
在操作404处,可以定位一种或多种底层资源。在多个方面,集合创建应用/服务可以搜索和/或评估隔离集合(或对应的文件/目录)以标识一个或多个资源标识符。搜索可以包括一种或多种模式匹配技术、性质或属性分析等。搜索可以生成资源标识符列表。资源标识符列表可以用于确定与资源列表中的资源相对应的底层资源的物理位置或逻辑位置。在示例中,可以通过以下操作确定底层资源的位置:使用一个或多个通信协议(例如,HTTP、FTP等)来调用资源标识符,向搜索/查找实用程序提供资源标识符,针对已存储的/可访问的资源的列表对资源提供者进行查询,针对已传输的/已存储的资源和位置的列表对网络装置进行查询等。例如,集合创建应用/服务可以使得对搜索引擎进行对已标识的资源标识符的HTTP调用。搜索引擎可以通过提供底层资源、底层资源的位置、对资源提供者的访问、授权质询等来响应。
在操作406处,可以确定对底层资源的访问。在多个方面,集合创建应用/服务可以使用请求数据的一个或多个部分来确定请求者是否与已标识的资源提供者或数据存储库(例如,资源提供者212和214)相关联。例如,集合创建应用/服务可以使用在请求数据中提供的帐户信息(例如,用户名和/或用户证书)来确定资源提供者或数据存储库是否与用户帐户相关联,该用户帐户与请求者(例如,请求访问隔离集合的用户)相关联。该确定可以包括将帐户信息提供给单点登录(SSO)访问控制系统/实用程序,将帐户信息提供给授权提供者,将来自集合创建应用/服务的帐户信息与来自资源提供者的帐户信息进行比较,将请求数据中的证书应用于资源提供者等。在一些方面,如果确定请求者与资源提供者相关联,则集合创建应用/服务可以生成授权和/或认证指示。在其他方面,如果确定请求者与资源提供者相关联,则集合创建应用/服务可以确定请求者是否被授权或已经被认证,以从资源提供者/在资源提供者上访问底层资源。该确定可以包括标识一个或多个认证和/或授权指示(例如,令牌、证书、权限集等)、分析一个或多个授权事件/访问事件等。在特定的示例中,集合创建应用/服务可以从资源提供者取回已标识的认证/授权指示(或其近似副本)。
在操作408处,可以提供对隔离集合的访问。在多个方面,集合创建应用/服务可以至少部分地基于操作406中的一个或多个确定来提供对隔离集合的访问。例如,确定可以包括对若干因素的分析,例如,是否确定请求者被授权访问对底层资源具有访问权的资源提供者,是否已经标识访问底层资源的认证/授权指示,认证/授权指示的到期日期/时间,请求者对资源或资源提供者的最近访问日期/时间,请求者对资源提供者的最近访问日期/时间等。在示例中,集合创建应用/服务可以基于单个确定或基于多个确定来提供对隔离集合的访问或阻止对隔离集合的访问。通常地,如果集合创建应用/服务确定提供对隔离集合的访问,则仅向请求者提供对所请求的隔离集合的访问。然而,在一些方面,如果集合创建应用/服务确定提供对隔离集合的访问,则还可以向请求者提供对一个或多个附加隔离集合的访问,该附加隔离集合包括对其而言访问被确定的底层资源的资源标识符。
在至少一个方面,集合创建应用/服务可以执行访问冲突解决。例如,隔离集合可以至少包括第一资源标识符和第二资源标识符。集合创建应用/服务可以确定请求者被授权访问对应于第一资源标识符的底层资源,但是未被授权访问对应于第二资源标识符的底层资源。因此,集合创建应用/服务可以应用访问解决规则集。例如,如果确定请求者对与隔离集合中的资源标识符相对应的底层资源中的至少一种底层资源具有访问权,则访问解决规则可以提供向请求者提供对整个隔离集合的访问的方法。作为另一示例,如果确定请求者对与隔离集合中的资源标识符相对应的所有底层资源不具有访问权,则访问解决规则可以提供阻止请求者访问隔离集合的方法。作为又一示例,访问解决规则可以提供混合方法,其中请求者被限于仅访问隔离集合中的与请求者对其具有访问权的底层资源相对应的那些部分。
图5示出了确定访问隔离集合的底层资源的示例方法500。示例性方法500在操作502处开始,其中可以询问资源提供。在多个方面,集合创建应用/服务(例如,集创建应用202和204)可以询问资源提供者(例如,资源提供者212和214)。询问可以旨在确定请求者(例如,请求访问隔离集合的用户)对资源提供者和/或底层资源的访问。询问可以包括访问针对资源提供者的授权数据和/或用户访问事件数据、认证令牌仓储和/或针对资源提供者的资源权限集。例如,集合创建应用/服务可以分析在资源提供者上的针对请求者帐户的权限集。该分析可以包括确定请求者是否被授权或已经被认证,以访问资源提供者。作为另一示例,集合创建应用/服务可以从资源提供者请求授权对底层资源的访问的安全令牌。如本文使用的安全令牌可以指代用于存储密码数据并且以电子方式证明用户身份的数字对象。安全令牌可以由资源提供者存储,由安全令牌发布机构存储。作为又一示例,集合创建应用/服务可以搜索针对资源提供者的授权文件以确定用户在何处以及何时登录和/或认证、用户名、访问时间、设备信息、认证提供者等。
在决策操作器504处,可以执行或以其他方式确定对请求者的授权。在多个方面,集合创建应用/服务可以至少使用操作502的询问信息来确定请求者是否被授权访问资源提供者和/或底层资源。例如,集合创建应用/服务可以使用通过询问资源提供者标识的安全令牌来确定请求者对可以由资源提供者访问的一种或多种底层资源的访问被授权。如果集合创建应用/服务确定对于请求者而言访问被授权,则流程可以进行到操作506。在操作506处,集合创建应用/服务可以接收或生成对已确定的授权的指示。例如,集合创建应用/服务可以从资源提供者、安全令牌仓储或令牌发布机构取回安全令牌(或安全令牌的副本)。作为另一示例,集合创建应用/服务可以将请求者的资源提供者权限(或其指示)复制/存储到包括与底层资源相对应的数据的隔离集合的元数据。如果集合创建应用/服务确定对于请求者而言访问未被授权,则流程可以进行到操作508。
在操作508处,可以授权请求者的访问。在多个方面,如果集合创建应用/服务确定请求者(或请求者的访问)当前未被授权,则集合创建应用/服务可以尝试认证请求者或请求者对底层资源的访问。例如,集合创建应用/服务可以请求资源提供者生成(或更新)对请求者的授权。请求可以包括客户端数据(例如,用户名、密码、设备名称、IP地址、认证/授权指示等)、资源标识符、到期日期/时间、到期的证书/授权等。接收认证/授权请求的资源提供者可以使得授权事件发起。在一些示例中,授权事件可以包括登入过程,其中请求者证书被提供给证书服务提供者。证书服务提供者可以执行验证过程以验证请求者的身份。授权事件还可以包括对安全令牌(或证书)的创建/更新。安全令牌可以包括性质/属性,例如,令牌标识符、用户ID、令牌类型、存活时间(TTL)值、特权集等。安全令牌可以由令牌生成机构、资源提供者或SSO访问控制系统/实用程序发送和/或存储。
在决策操作器510处,可以确定授权事件的成功。在多个方面,集合创建应用/服务可以监视或维护在操作508中描述的授权事件。如果集合创建应用/服务确定授权事件是成功的(例如,已经标识有效授权),则流程进行到操作506,如上面描述的。如果集合创建应用/服务确定授权事件是不成功的,则流程进行到操作512。在操作512处,集合创建应用/服务可以接收或生成对授权事件不成功的指示。集合创建应用/服务可以使用接收到的/已生成的指示来确定是否提供对一个或多个隔离集合的访问。
图6示出了有条件地授权对隔离集合的访问的示例方法600。示例性方法600在操作602处开始,其中访问一个或多个隔离集合(例如,集208和210)的请求可以由集合创建应用/服务(例如,集创建应用202和204)接收,用于开发和探索隔离集合。在多个方面,集合创建应用/服务可以安装在诸如客户端设备102A-C之类的计算设备上,或可由其访问。集合创建应用/服务可以对一个或多个文件或目录具有访问权,该文件或目录包括诸如资源标识符、资源类型、资源元数据、关系信息、一个或多个规则集、一个或多个统计或预测模型、权限数据、授权信息、查询数据、一个或多个查询模型、图形组件、资源映射数据等之类的信息。可以经由诸如图形用户接口、命令行接口、API等之类的接口来访问集合创建应用/服务。在示例中,可以由集合创建应用/服务经由接口接收生成和/或访问一个或多个隔离集合和/或关联信息的请求。该请求可以以查询的形式,如上面关于图3B-3E描述的。在另一示例中,请求可以以对菜单、菜单项目、对象、属性/性质、图形或图形对象的一部分等进行选择的形式。请求可以包括请求数据,例如,客户端数据(例如,用户名、密码、设备名称、IP地址、授权指示等)、隔离集合数据、文件系统位置等。隔离集合可以包括来自上面描述的文件或目录的一个或多个部分的资源标识符、关系信息和/或元数据。隔离集合可能受各种安全权限或边界的约束。在示例中,每个隔离集合可以包含其自己的安全权限集。安全权限可以提供对隔离集合和/或与隔离集合相关联的单独资源的不同程度的访问。例如,第一权限类别可以提供对隔离集合和对应的元数据的完全控制,第二权限类别可以提供对隔离集合的内容的读取/写入访问但是不能访问对应的元数据,并且第三权限类别可以仅提供对隔离集合的内容的读取访问但是不能访问对应的元数据。可以在访问隔离集合时以及在访问由隔离集合暗示的文件或目录时检查安全权限。安全权限可以存储为隔离集合的元数据的一部分。在多个方面,对隔离集合的访问不一定暗示从隔离集合访问由隔离集合中的资源标识符表示的底层资源。即,对隔离集合中的资源标识符具有访问权的用户或组可能无法从隔离集合中访问底层资源。在这些方面,隔离集合的安全权限可以是单独的,并且不同于与隔离集合相关联的底层资源的安全权限。
在操作604处,可以监视条件集。在多个方面,条件集可以与隔离集合相关联。作为示例,条件集可以包括用于有条件地授权对隔离集合的访问的一个或多个条件。条件可以在隔离集合的内部、在隔离集合的外部或者其某种组合。集合创建应用/服务可以对条件集具有访问权。例如,资源提供者或规则代理/服务可以将条件集发布到可由集合创建应用/服务访问的位置。作为另一示例,资源提供者或规则代理/服务可以向集合创建应用/服务注册条件集。作为又一示例,资源提供者可以向用于监视条件的服务注册条件集。监视服务可以可操作以组织和/或监视条件,并且可以用作监视集合创建应用/服务的访问点的单个条件。作为另一示例,条件集可以在集合创建应用/服务处生成或由集合创建应用/服务生成。例如,可以将条件集手动输入到集合创建应用/服务中,或者可以根据现有的(或先前生成的)条件集生成条件集的一个或多个部分。在多个方面,条件集可以由集合创建应用/服务、一个或多个资源提供者或条件监视服务进行监视。监视条件集可以包括向计算设备(例如,客户端设备102A-C)中的一个或多个传感器注册条件集中的一个或多个条件。例如,可以向移动设备的GPS注册检测进入特定地理位置的条件。监视条件集还可以包括向一个或多个应用或服务注册一个或多个条件。例如,可以向基于云的文字处理应用注册检测对文件的修改的条件。监视条件集还可以包括存储针对成功完成条件集的标准。例如,针对条件集的完成标准可以指示必须满足条件集中的四个条件中的三个条件以完成条件集。
在操作606处,可以确定条件集的状态。在多个方面,条件集中的一个或多个条件可以由条件评估实体(例如,集合创建应用/服务、条件评估服务、一个或多个资源提供者等)来评估以确定条件集是否已经满足/完成。评估条件集可以包括轮询数据源(例如,资源提供者、资源、应用、服务、传感器、认证系统、基于声明的身份系统等)以接收传感器数据、条件状态、数据更新等。如本文使用的基于声明的身份系统可以指代这样的系统:其中描述与系统中的实体相关联的能力的声明被打包成一个或多个令牌并用于访问一个或多个资源。轮询可以手动地执行,以特定的间隔执行,响应于某些事件而执行,或者随机地执行。可替代地,可以由数据源将传感器数据、条件状态和/或对其的更新推送到条件评估实体。评估条件集还可以包括确定是否已经满足条件集或一个或多个条件。在示例中,这样的确定可以包括将接收到的轮询信息与一个或多个阈值进行比较、执行模式匹配技术、评估权限集、评估组成员、向机器学习模型供应轮询信息、分析用户信号(例如,GPS坐标、IP地址、日期/时间、用户输入等)等。
在操作608处,可以提供对隔离集合的访问。在多个方面,集合创建应用/服务可以基于一个或多个已满足的条件或条件集来认证对隔离集合的访问。例如,集合创建应用/服务可以接收对条件集中的每个条件已经满足的指示。因此,集合创建应用/服务可以认证对所请求的隔离集合的访问。作为另一示例,集合创建应用/服务可以接收对比条件集中所有条件少的条件已经满足的指示。因此,集合创建应用/服务可以不认证对所请求的隔离集合的访问和/或向请求者提供对不完整条件的指示。通常地,如果集合创建应用/服务确定提供对隔离集合的访问,则仅向请求者提供对所请求的集的访问。然而,在一些方面,如果集合创建应用/服务确定提供对隔离集合的访问,则还可以向请求者提供对一个或多个附加隔离集合的访问,该附加隔离集合包括对其而言访问被确定的底层资源的资源标识符。在至少一个方面,集合创建应用/服务可以执行访问冲突解决,如上面关于图4描述的。例如,对隔离集合的访问可以由第一条件集和第二条件集来管理。集合创建应用/服务可以确定请求者已成功完成第一条件集,但尚未完成第二条件集。因此,集合创建应用/服务可以应用解决这种冲突的访问解决规则集。
图7示出了确定是否已经满足访问隔离集合的条件的示例方法700。示例性方法700在操作702处开始,其中标识用于访问隔离集合的条件集。在多个方面,条件集可以包括一个或多个条件并且与针对满足条件集的标准相关联。例如,公司ABC可以建立用于访问隔离集合的条件集。该条件集可以包括以下条件:1)请求者是“管理员”组的成员以及2)必要的培训课程已完成;以及3)请求者是“HR”组的成员。对应的条件集满足标准可以指示必须完成条件1)或者必须完成条件2)和3)。
在操作704处,可以轮询条件。在多个方面,条件评估实体可以轮询一个或多个数据源(例如,资源提供者、资源、应用、服务、传感器等)以接收针对条件集中的条件的轮询数据(例如,传感器数据、事件数据、条件状态等)。例如,可以注册创建应用/服务以针对帐户和/或权限数据轮询公司ABC帐户信息数据库。轮询公司ABC的数据库可以包括当接收到访问隔离集合的请求时发送包括请求者的帐户名称的查询语句。创建应用/服务还可以被配置为解析来自公司DEF网站的数据。公司DEF可以在每周二和每周五早上向网站发布培训课程信息(例如,课程名称、完成状态、分数、完成日期、注册者信息等)。
在决策操作706处,可以评估条件。在多个方面,条件评估实体可以确定轮询数据是否满足一个或多个条件。这样的确定可以包括将接收到的轮询信息与一个或多个阈值进行比较、执行模式匹配技术、评估权限集、评估组参与者、向机器学习模型供应轮询信息等。例如,创建应用/服务可以使用模式匹配技术针对与请求者(例如,请求访问隔离集合的用户)的用户名匹配(或近似匹配)的用户名对从公司ABC的数据库取回的帐户信息进行搜索。另外地,创建应用/服务可以向机器学习模型提供公司DEF用于发布培训课程信息的网站的URL。机器学习模型可以分析网站以确定请求者是否在培训课程毕业生和/或参与者的列表中。
在多个方面,如果条件评估实体确定没有满足条件集中的一个或多个条件,则流程进行到操作708。在操作708处,可以提供/记录对尚未满足条件集的指示。在多个方面,条件评估实体可以更新条件集以反映最近的监视/轮询周期的结果。条件评估实体还可以向请求者提供对一个或多个失败条件的更新。例如,如果创建应用/服务确定请求者在“HR”组中,但尚未通过必要的培训课程,则创建应用/服务可以向请求者报告不完整的培训课程条件。然而,如果条件评估实体确定满足条件集中的所有条件,则流程进行到710。在操作710处,可以提供/记录对已经满足条件集的指示。在多个方面,条件评估实体可以更新条件集并且向请求者提供成功指示符。例如,如果创建应用/服务确定请求者在“管理员”组中,但尚未通过必要的培训课程,则创建应用/服务可以向请求者报告条件集完成。至少在示例中,创建应用/服务还可以向请求者提供条件集中的每个条件的状态。
图8-11和相关联的描述提供了对可以在其中实践本公开的方面的各种操作环境的讨论。然而,关于图8-11示出和讨论的设备和系统是出于示例和说明的目的,而不会限制可以用于实践本文描述的本公开的方面的大量计算设备配置。
图8是示出可以用来实践本公开的方面的计算设备800的物理组件(例如,硬件)的框图。下面描述的计算设备组件可以适用于上面描述的计算设备,包括客户端计算设备102A-C和服务器计算设备106A-C。在基本配置中,计算设备800可以包括至少一个处理单元802和系统存储器804。取决于计算设备的配置和类型,系统存储器804可以包括但不限于易失性存储装置(例如,随机存取存储器)、非易失性存储装置(例如,只读存储器)、闪速存储器或这些存储器的任何组合。系统存储器804可以包括适用于运行软件应用820的操作系统805和一个或多个程序模块806,例如,由本文描述的系统支持的一个或多个组件。作为示例,系统存储器804可以存储隔离集合数据(例如,资源标识符、资源元数据、关系信息、断言的/推断的关系、图形映射信息、查询数据、规则集(例如,推断规则)、授权信息、认证信息等),以及用于执行针对隔离集合的委托认证的指令。例如,操作系统805可以适合于控制计算设备800的操作。此外,本公开的实施例可以与图形库、其他操作系统或任何其他应用程序结合来实践,并且不限于任何特定的应用或系统。这种基本配置在图8中由虚线808内的那些组件示出。计算设备800可以具有附加特征或功能。例如,计算设备800还可以包括附加数据存储设备(可移除的和/或不可移除的),例如,磁盘、光盘或磁带。这种附加存储装置在图8中由可移除存储设备809和不可移除存储设备810示出。
如上面陈述的,若干程序模块和数据文件可以存储在系统存储器804中。当在处理单元802上执行时,程序模块806(例如,应用820)可以执行包括但不限于如本文描述的方面的过程。可以根据本公开的方面使用的其他程序模块可以包括电子邮件和联系人应用、文字处理应用、电子表格应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用程序等。
此外,本公开的实施例可以以包括分立电子元件、包含逻辑门的封装或集成电子芯片、利用微处理器的电路在内的电子电路来实践,或者在包含电子元件或微处理器的单个芯片上实践。例如,可以经由片上系统(SOC)来实践本公开的实施例,其中图8中示出的组件中的每个组件或许多组件可以集成到单个集成电路上。这样的SOC设备可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元和各种应用功能,全部这些都集成(或“烧制”)到芯片衬底上作为单个集成电路。当经由SOC操作时,本文描述的关于客户端切换协议的能力的功能可以经由与在单个集成电路(芯片)上的计算设备800的其他组件集成的专用逻辑来操作。还可以使用能够执行逻辑运算(例如,AND、OR和NOT)的其他技术来实践本公开的实施例,其他技术包括但不限于机械、光学、流体和量子技术。另外地,本公开的实施例可以在通用计算机或任何其他电路或系统中实践。
计算设备800还可以具有一个或多个输入设备812,例如,键盘、鼠标、笔、声音或语音输入设备、触摸或滑动输入设备等。还可以包括(多个)输出设备814,例如,显示器、扬声器、打印机等。前述设备是示例并且可以使用其他设备。计算设备800可以包括允许与其他计算设备850通信的一个或多个通信连接816。合适的通信连接816的示例包括但不限于射频(RF)发送器、接收器和/或收发器电路;通用串行总线(USB)、并行和/或串行端口。
如本文使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介质可以包括以用于存储信息的任何方法或技术实现的易失性和非易失性介质、可移除和不可移除介质,例如,计算机可读指令、数据结构或程序模块。系统存储器804、可移除存储设备809和不可移除存储设备810都是计算机存储介质示例(例如,存储器存储)。计算机存储介质可以包括RAM、ROM、电可擦除只读存储器(EEPROM)、闪速存储器或其他存储器技术,CD-ROM、数字通用盘(DVD)或其他光学存储装置,磁带盒、磁带、磁盘存储装置或其他磁存储设备,或可以用于存储信息并且可以由计算设备800访问的任何其他制品。任何这样的计算机存储介质可以是计算设备800的一部分。计算机存储介质不包括载波或其他传播数据信号或调制数据信号。
通信介质可以由计算机可读指令、数据结构、程序模块或在调制数据信号中的其他数据(例如,载波或其他传输机制)来体现,并且包括任何信息递送介质。术语“调制数据信号”可以描述这样的信号:其一个或多个特性以使得对信号中的信息进行编码的方式设置或改变。通过示例而非限制的方式,通信介质可以包括有线介质(例如,有线网络或直接有线连接)以及无线介质(例如,声学、射频(RF)、红外和其他无线介质)。
图9A和图9B示出了移动计算设备900,例如,移动电话、智能电话、可穿戴计算机(例如,智能手表)、平板计算机、膝上型计算机等,可以利用其实践本公开的实施例。在多个方面,客户端可以是移动计算设备。参考图9A,示出了用于实现这些方面的移动计算设备900的一个方面。在基本配置中,移动计算设备900是具有输入元件和输出元件两者的手持式计算机。移动计算设备900典型地包括允许用户将信息输入到移动计算设备900中的显示器905和一个或多个输入按钮910。移动计算设备900的显示器905还可以用作输入设备(例如,触摸屏显示器)。如果包括可选的侧输入元件915,则其允许进一步的用户输入。侧输入元件915可以是旋转开关、按钮或任何其他类型的手动输入元件。在替代方面,移动计算设备900可以包含更多或更少的输入元件。例如,在一些实施例中,显示器905可以不是触摸屏。在又一替代实施例中,移动计算设备900是便携式电话系统,例如,蜂窝电话。移动计算设备900还可以包括可选的小键盘935。可选的小键盘935可以是物理小键盘或在触摸屏显示器上生成的“软”小键盘。在各种实施例中,输出元件包括用于显示图形用户接口(GUI)的显示器905、视觉指示器920(例如,发光二极管)和/或音频转换器925(例如,扬声器)。在一些方面,移动计算设备900包含用于向用户提供触觉反馈的振动转换器。在又一方面,移动计算设备900包含输入和/或输出端口,例如,音频输入(例如,麦克风插孔)、音频输出(例如,耳机插孔)和视频输出(例如,HDMI端口),以用于向外部设备发送信号或从外部设备接收信号。
图9B是示出移动计算设备的一个方面的架构的框图。即,移动计算设备900可以包含系统(例如,架构)902以实现一些方面。在一个实施例中,系统902被实现为能够运行一个或多个应用(例如,浏览器、电子邮件、日历、联系人管理器、消息传递客户端、游戏和媒体客户端/播放器)的“智能电话”。在一些方面,系统902被集成为计算设备,例如,集成的个人数字助理(PDA)和无线电话。
可以将一个或多个应用程序966加载到存储器962中,并且在操作系统964上或与其相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(PIM)程序、文字处理程序、电子表格程序、互联网浏览器程序、消息传递程序等。系统902还包括存储器962内的非易失性存储区域968。非易失性存储区域968可以用于存储如果系统902断电不应丢失的持久信息。应用程序966可以使用非易失性存储区域968中的信息并且在非易失性存储区域968中存储信息,例如,电子邮件或由电子邮件应用使用的其他消息等。同步应用(未示出)也驻留在系统902上,并且被编程为与驻留在主机计算机上的对应的同步应用交互,以使存储在非易失性存储区域968中的信息与存储在主机计算机处的对应的信息保持同步。如应该认识到的,可以将其他应用加载到存储器962中并且在本文描述的移动计算设备900上运行(例如,搜索引擎、提取器模块、相关性排名模块、答案评分模块等)。
系统902具有电源970,其可以实现为一个或多个电池。电源970可以进一步包括外部电源,例如,AC适配器或供电对接支架,其对电池进行补充或重新充电。
系统902还可以包括执行发送和接收射频通信的功能的无线电接口层972。无线电接口层972经由通信载波或服务提供商促进系统902与“外部世界”之间的无线连接。在操作系统964的控制下进行去往无线电接口层972和来自无线电接口层972的传输。换言之,由无线电接口层972接收的通信可以经由操作系统964传播到应用程序966,并且反之亦然。
视觉指示器920可以用于提供视觉通知,和/或音频接口974可以用于经由音频转换器925产生可听通知。在所示实施例中,视觉指示器920是发光二极管(LED),并且音频转换器925是扬声器。这些设备可以直接地耦合到电源970,使得当这些设备被激活时,即使(多个)处理器(例如,处理器960和/或专用处理器961)以及其他组件可能关闭以节省电池电力,这些设备也在由通知机制指示的持续时间内保持开启。LED可以被编程为无限期地保持开启,直到用户采取行动来指示设备的通电状态。音频接口974用于向用户提供可听信号并且从用户接收可听信号。例如,除了耦合到音频转换器925之外,音频接口974还可以耦合到麦克风以接收可听输入,例如,以促进电话交谈。根据本公开的实施例,麦克风还可以用作音频传感器以促进控制通知,如下面将描述的。系统902还可以包括视频接口976,其使得车载相机930的操作能够记录静止图像、视频流等。
实现系统902的移动计算设备900可以具有附加特征或功能。例如,移动计算设备900还可以包括附加数据存储设备(可移除的和/或不可移除的),例如,磁盘、光盘或磁带。这种附加存储装置在图9B中由非易失性存储区域968示出。
由移动计算设备900生成或捕获并经由系统902存储的数据/信息可以本地存储在移动计算设备900上,如上面描述的,或数据可以存储在任意数量的存储介质上,该存储介质可以由设备经由无线电接口层972访问,或者经由在移动计算设备900和与移动计算设备900相关联的单独的计算设备(例如,在诸如互联网之类的分布式计算网络中的服务器计算机)之间的有线连接访问。如应该认识到的,可以经由移动计算设备900经由无线电接口层972或经由分布式计算网络访问这样的数据/信息。类似地,根据公知的数据/信息传送和存储模块,包括电子邮件和协作数据/信息共享系统,可以在计算设备之间容易地传送这样的数据/信息以供存储和使用。
图10示出了用于处理在计算系统处从远程源(例如,个人计算机1004、平板计算设备1006或移动计算设备1008)接收的数据的系统架构的一个方面,如上面描述的。在服务器设备1002处显示的内容可以存储在不同的通信信道或其他存储类型中。例如,可以使用目录服务1022、门户网站1024、邮箱服务1026、即时消息传递存储库1028或社交网络站点1030来存储各种文档。隔离集合应用1021可以由与服务器设备1002通信的客户端使用,和/或隔离集合应用1020可以由服务器设备1002使用。服务器设备1002可以通过网络1015向客户端计算设备(例如,个人计算机1004、平板计算设备1006和/或移动计算设备1008(例如,智能电话))提供数据并且从客户端计算设备提供数据。通过示例的方式,上面描述的计算机系统可以在个人计算机1004、平板计算设备1006和/或移动计算设备1008(例如,智能电话)中体现。除了接收可用于在图形源起系统处进行预处理或在接收计算系统处进行后处理的图形数据之外,计算设备的这些实施例中的任一实施例可以从存储库1016获得内容。
图11示出了可以执行本文公开的一个或多个方面的示例性平板计算设备1100。另外地,本文描述的方面和功能可以通过分布式系统(例如,基于云的计算系统)操作,其中应用功能、存储器、数据存储和取回以及各种处理功能可以通过分布式计算网络(例如,互联网或内联网)彼此远程操作。用户接口和各种类型的信息可以经由车载计算设备显示器或经由与一个或多个计算设备相关联的远程显示单元显示。例如,可以在墙面上显示用户接口和各种类型的信息并与其交互,在该墙面上投影用户接口和各种类型的信息。与可以用来实践本发明的实施例的多个计算系统的交互包括键击输入、触摸屏输入、语音或其他音频输入、手势输入,其中相关联的计算设备配备有检测(例如,相机)功能,该功能用于捕获并且解释用户手势以用于控制计算设备的功能等。
例如,上面参考根据本公开的方面的方法、系统和计算机程序产品的框图和/或操作图示描述了本公开的方面。框中指出的功能/动作可以不按任何流程图所示的顺序发生。例如,连续示出的两个框实际上可以实质上同时地执行,或者这些框有时可以以相反的顺序执行,这取决于涉及的功能/动作。
本申请中提供的一个或多个方面的描述和说明不旨在以任何方式限制或约束如要求保护的本公开的范围。本申请中提供的方面、示例和细节被认为足以传达占有情况,并且使其他人能够制作和使用要求保护的公开内容的最佳模式。要求保护的公开内容不应被解释为限制于本申请中提供的任何方面、示例或细节。无论是以组合形式还是单独地示出和描述,都旨在选择性地包括或省略各种特征(结构特征和方法特征两者)以产生具有特定特征集的实施例。在已经提供了本申请的描述和说明的情况下,本领域技术人员可以设想落入本申请中体现的总体发明构思的更宽泛方面的精神内的变型、修改和替代方面,这些变型、修改和替代方面不脱离要求保护的公开内容的更宽泛的范围。
Claims (10)
1.一种用于有条件地授权对数据的隔离集合的访问的系统,包括:
至少一个处理器;以及
存储器,其耦合到所述至少一个处理器,所述存储器包括计算机可执行指令,所述计算机可执行指令当由所述至少一个处理器执行时,执行用于有条件地授权对数据的隔离集合的访问的方法,所述方法包括:
从请求者接收访问数据的隔离集合的请求,其中,所述数据的隔离集合包括对一个或多个文档的引用,并且其中对所述数据的隔离集合的访问是基于条件集的;
监视所述条件集,其中,所述条件集是向计算设备的一个或多个传感器注册的;
确定所述请求者是否满足所述条件集;以及
当确定所述条件集由所述请求者满足时,提供对所述数据的隔离集合的访问,其中,提供对所述数据的隔离集合的访问不自动提供对所述引用所标识的所述一个或多个文档的访问。
2.根据权利要求1所述的系统,其中所述数据的隔离集合包括一个或多个断言的资源标识符以及以下中的至少一个:
断言的关系;
推断的资源标识符;以及
推断的关系。
3.根据权利要求1所述的系统,其中所述请求是由包括接口的应用接收的,其中所述接口可操作以实现对一个或多个数据的隔离集合的开发和导航。
4.根据权利要求3所述的系统,其中所述应用可操作以使用所述接口以图形形式呈现所述数据的隔离集合。
5.根据权利要求1所述的系统,其中所述条件集是以下中的至少一个:
发布到所述隔离集合可访问的位置;
注册到所述隔离集合;
注册到条件监视服务;
从规则代理接收;
从用户接收;以及
使用预先存在的条件集的至少一部分生成。
6.根据权利要求1所述的系统,其中监视所述条件集包括以下中的至少一个:
向计算设备中的一个或多个传感器注册所述条件集中的一个或多个条件;
向一个或多个应用注册所述条件集中的一个或多个条件;以及
存储针对成功地完成所述条件集的至少一个标准。
7.根据权利要求1所述的系统,其中确定所述条件集是否被满足包括从一个或多个数据源接收条件信息,其中所述一个或多个数据源包括以下中的至少一个:
资源提供者;
资源;
应用;
服务;
计算设备传感器;
认证系统;以及
基于声明的系统。
8.根据权利要求7所述的系统,其中确定所述条件集是否被满足包括,还包括以下中的至少一个:
将接收到的条件信息与一个或多个阈值进行比较;
执行一种或多种模式匹配技术;
评估权限集;
评估组中的成员;以及
分析用户信号。
9.一种用于有条件地授权对数据的隔离集合的访问的方法,所述方法包括:
从请求者接收访问数据的隔离集合的请求,其中,所述数据的隔离集合包括对一个或多个文档的引用,并且其中对所述数据的隔离集合的访问是基于条件集的;
监视所述条件集;
确定所述请求者是否满足所述条件集,其中,确定所述请求者是否满足所述条件集包括向机器学习模型提供条件信息;以及
当确定所述条件集由所述请求者满足时,提供对所述数据的隔离集合的访问,其中,提供对所述数据的隔离集合的访问不自动提供对所述引用所标识的所述一个或多个文档的访问。
10.一种存储计算机可执行指令的硬件设备,所述计算机可执行指令当被执行时,使得计算系统执行有条件地授权对数据的隔离集合的访问的方法,所述方法包括:
从请求者接收访问数据的隔离集合的请求,其中,所述数据的隔离集合包括对一个或多个文档的引用,并且其中对所述数据的隔离集合的访问是基于条件集的;
监视所述条件集,其中,监视所述条件集包括由条件评估实体对一个或多个电子数据源进行轮询;
确定所述请求者是否满足所述条件集;以及
当确定所述条件集由所述请求者满足时,提供对所述数据的隔离集合的访问,其中,提供对所述数据的隔离集合的访问不自动提供对所述引用所标识的所述一个或多个文档的访问。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/344,251 | 2016-11-04 | ||
US15/344,251 US10514854B2 (en) | 2016-11-04 | 2016-11-04 | Conditional authorization for isolated collections |
PCT/US2017/059624 WO2018085473A1 (en) | 2016-11-04 | 2017-11-02 | Conditional authorization for isolated collections |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109952752A CN109952752A (zh) | 2019-06-28 |
CN109952752B true CN109952752B (zh) | 2022-03-04 |
Family
ID=60413272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780067729.2A Active CN109952752B (zh) | 2016-11-04 | 2017-11-02 | 用于针对隔离集合的有条件授权的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10514854B2 (zh) |
EP (1) | EP3535947B1 (zh) |
CN (1) | CN109952752B (zh) |
WO (1) | WO2018085473A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9646159B2 (en) * | 2015-03-31 | 2017-05-09 | Juniper Networks, Inc. | Multi-file malware analysis |
US10924467B2 (en) | 2016-11-04 | 2021-02-16 | Microsoft Technology Licensing, Llc | Delegated authorization for isolated collections |
US10938821B2 (en) * | 2018-10-31 | 2021-03-02 | Dell Products L.P. | Remote access controller support registration system |
JP2021064319A (ja) * | 2019-10-17 | 2021-04-22 | 富士通株式会社 | 通信プログラム、認可サーバ、および、通信システム |
US11848937B2 (en) * | 2020-09-18 | 2023-12-19 | Booz Allen Hamilton Inc. | Secure communication using blockchain technology |
US20230015789A1 (en) * | 2021-07-08 | 2023-01-19 | Vmware, Inc. | Aggregation of user authorizations from different providers in a hybrid cloud environment |
Family Cites Families (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7461334B1 (en) | 1999-03-19 | 2008-12-02 | Network Solutions, Llc | Apparatus and method for web forwarding |
US7010568B1 (en) | 1999-09-01 | 2006-03-07 | Eric Schneider | Search engine request method, product, and apparatus |
US6848000B1 (en) | 2000-11-12 | 2005-01-25 | International Business Machines Corporation | System and method for improved handling of client state objects |
US7152048B1 (en) | 2002-02-07 | 2006-12-19 | Oracle International Corporation | Memphis: multiple electronic money payment highlevel integrated security |
US7441264B2 (en) | 2002-06-24 | 2008-10-21 | International Business Machines Corporation | Security objects controlling access to resources |
US8250093B2 (en) | 2003-08-25 | 2012-08-21 | International Business Machines Corporation | Method and system for utilizing a cache for path-level access control to structured documents stored in a database |
US8775468B2 (en) | 2003-08-29 | 2014-07-08 | International Business Machines Corporation | Method and system for providing path-level access control for structured documents stored in a database |
US20050160107A1 (en) | 2003-12-29 | 2005-07-21 | Ping Liang | Advanced search, file system, and intelligent assistant agent |
US8010458B2 (en) | 2004-05-26 | 2011-08-30 | Facebook, Inc. | System and method for managing information flow between members of an online social network |
US8302164B2 (en) | 2004-07-22 | 2012-10-30 | Facebook, Inc. | Authorization and authentication based on an individual's social network |
US7711835B2 (en) | 2004-09-30 | 2010-05-04 | Citrix Systems, Inc. | Method and apparatus for reducing disclosure of proprietary data in a networked environment |
US7774830B2 (en) | 2005-03-14 | 2010-08-10 | Microsoft Corporation | Access control policy engine controlling access to resource based on any of multiple received types of security tokens |
US8090919B2 (en) | 2007-12-31 | 2012-01-03 | Intel Corporation | System and method for high performance secure access to a trusted platform module on a hardware virtualization platform |
US10867024B2 (en) | 2005-08-20 | 2020-12-15 | Tara Chand Singhal | Systems and methods for two-factor remote user authentication |
US7533136B2 (en) | 2005-12-22 | 2009-05-12 | Oracle International Corporation | Efficient implementation of multiple work areas in a file system like repository that supports file versioning |
US20070239998A1 (en) | 2006-04-11 | 2007-10-11 | Medox Exchange, Inc. | Dynamic binding of access and usage rights to computer-based resources |
US7712143B2 (en) | 2006-09-27 | 2010-05-04 | Blue Ridge Networks, Inc. | Trusted enclave for a computer system |
US7881938B2 (en) | 2007-03-27 | 2011-02-01 | Nuance Communications, Inc. | Speech bookmarks in a voice user interface using a speech recognition engine and acoustically generated baseforms |
CN100566251C (zh) * | 2007-08-01 | 2009-12-02 | 西安西电捷通无线网络通信有限公司 | 一种增强安全性的可信网络连接方法 |
US8438356B2 (en) * | 2007-10-01 | 2013-05-07 | Marvell World Trade Ltd. | Flash memory controller |
US8214883B2 (en) | 2007-10-22 | 2012-07-03 | Microsoft Corporation | Using social networks while respecting access control lists |
US8793757B2 (en) | 2008-05-27 | 2014-07-29 | Open Invention Network, Llc | User-directed privacy control in a user-centric identity management system |
US8990924B2 (en) | 2008-08-27 | 2015-03-24 | Medtronic, Inc. | Multiple user accounts for managing stored information in an implantable medical device system |
US20120054824A1 (en) | 2009-04-10 | 2012-03-01 | Ryo Furukawa | Access control policy template generating device, system, method and program |
GB0906409D0 (en) | 2009-04-15 | 2009-05-20 | Ipv Ltd | Metadata browse |
US8880620B2 (en) | 2009-06-12 | 2014-11-04 | Microsoft Corporation | Social graphing for data handling and delivery |
EP3236504A1 (en) * | 2009-06-30 | 2017-10-25 | Semiconductor Energy Laboratory Co., Ltd. | Method for manufacturing semiconductor device |
US8353019B2 (en) | 2010-03-26 | 2013-01-08 | Canon Kabushiki Kaisha | Security token destined for multiple or group of service providers |
US8185558B1 (en) | 2010-04-19 | 2012-05-22 | Facebook, Inc. | Automatically generating nodes and edges in an integrated social graph |
US8676844B2 (en) | 2010-05-26 | 2014-03-18 | Hewlett-Packard Development Company, L.P. | Graph authorization |
US8904553B2 (en) | 2011-03-15 | 2014-12-02 | Business Objects Software Limited | Resource expression for access control |
CN103460738B (zh) * | 2011-03-23 | 2018-06-01 | 交互数字专利控股公司 | 用于使网络通信安全的方法和用户设备 |
US9165079B1 (en) | 2011-09-06 | 2015-10-20 | Google Inc. | Access controls in a search index |
JP5803502B2 (ja) | 2011-09-27 | 2015-11-04 | 富士通株式会社 | 監視装置、制御方法及び制御プログラム |
CN102355461B (zh) * | 2011-09-29 | 2014-05-28 | 广州中浩控制技术有限公司 | 一种xbrl可信数据存储方法和可信数据存储系统 |
US9047643B2 (en) | 2012-03-19 | 2015-06-02 | Alcatel Lucent | Method of extending web service application programming interfaces using query languages |
US9177168B2 (en) | 2012-03-19 | 2015-11-03 | Alcatel Lucent | Method of modifying access control for web services using query languages |
US8966570B1 (en) | 2012-03-22 | 2015-02-24 | Amazon Technologies, Inc. | Entity to authorize delegation of permissions |
US20130290226A1 (en) | 2012-04-05 | 2013-10-31 | Maynard Dokken | System and method for social graph and graph assets valuation and monetization |
US8943504B2 (en) | 2012-04-20 | 2015-01-27 | Qualcomm Incorporated | Tracking and releasing resources placed on a deferred unlock list at the end of a transaction |
US9852153B2 (en) | 2012-09-28 | 2017-12-26 | Ab Initio Technology Llc | Graphically representing programming attributes |
US9565194B2 (en) | 2012-10-19 | 2017-02-07 | Mcafee, Inc. | Utilizing a social graph for network access and admission control |
US8887260B2 (en) | 2012-10-25 | 2014-11-11 | Facebook, Inc. | Token-based access control |
US9294485B2 (en) | 2013-01-27 | 2016-03-22 | Dropbox, Inc. | Controlling access to shared content in an online content management system |
US9607166B2 (en) | 2013-02-27 | 2017-03-28 | Microsoft Technology Licensing, Llc | Discretionary policy management in cloud-based environment |
US9348947B2 (en) | 2013-07-26 | 2016-05-24 | Helynx, Inc. | Systems and methods for visualizing and manipulating graph databases |
US20150058191A1 (en) | 2013-08-26 | 2015-02-26 | Apple Inc. | Secure provisioning of credentials on an electronic device |
US20150287120A1 (en) | 2014-04-07 | 2015-10-08 | Ebay Inc. | Merchant menu suggestions based on user location and food preferences |
US9740837B2 (en) | 2014-08-06 | 2017-08-22 | Infineon Technologies Ag | Apparatus and method for preventing cloning of code |
US9940472B2 (en) * | 2015-01-08 | 2018-04-10 | International Business Machines Corporation | Edge access control in querying facts stored in graph databases |
US9742744B1 (en) * | 2015-06-11 | 2017-08-22 | Tp Lab, Inc. | Documents with location attributes for access and storage |
US10924467B2 (en) | 2016-11-04 | 2021-02-16 | Microsoft Technology Licensing, Llc | Delegated authorization for isolated collections |
-
2016
- 2016-11-04 US US15/344,251 patent/US10514854B2/en active Active
-
2017
- 2017-11-02 WO PCT/US2017/059624 patent/WO2018085473A1/en unknown
- 2017-11-02 CN CN201780067729.2A patent/CN109952752B/zh active Active
- 2017-11-02 EP EP17801547.5A patent/EP3535947B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN109952752A (zh) | 2019-06-28 |
EP3535947A1 (en) | 2019-09-11 |
US20180129436A1 (en) | 2018-05-10 |
US10514854B2 (en) | 2019-12-24 |
EP3535947B1 (en) | 2021-03-31 |
WO2018085473A1 (en) | 2018-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109891851B (zh) | 用于隔离的集合的委托授权方法及系统 | |
CN109952752B (zh) | 用于针对隔离集合的有条件授权的系统和方法 | |
CN109937402B (zh) | 使用回调通知进行数据的出口和入口 | |
CN109891406B (zh) | 多级数据分页 | |
US20180262510A1 (en) | Categorized authorization models for graphical datasets | |
US10614057B2 (en) | Shared processing of rulesets for isolated collections of resources and relationships | |
US11588635B2 (en) | Strong resource identity in a cloud hosted system | |
WO2018085470A1 (en) | Versioning of inferred data in an enriched isolated collection of resources and relationships | |
US11475320B2 (en) | Contextual analysis of isolated collections based on differential ontologies | |
CN110431548B (zh) | 针对图表的上下文规则 | |
US20180268004A1 (en) | Rule hierarchies for graph adaptation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |