CN102316152A - 分布式服务授权管理 - Google Patents

分布式服务授权管理 Download PDF

Info

Publication number
CN102316152A
CN102316152A CN2011101615372A CN201110161537A CN102316152A CN 102316152 A CN102316152 A CN 102316152A CN 2011101615372 A CN2011101615372 A CN 2011101615372A CN 201110161537 A CN201110161537 A CN 201110161537A CN 102316152 A CN102316152 A CN 102316152A
Authority
CN
China
Prior art keywords
resource
document
user
authorisation
distributed storage
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.)
Granted
Application number
CN2011101615372A
Other languages
English (en)
Other versions
CN102316152B (zh
Inventor
T·A·高尔文
B·W·科普兰
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN102316152A publication Critical patent/CN102316152A/zh
Application granted granted Critical
Publication of CN102316152B publication Critical patent/CN102316152B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5096Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

公开了用于将资源授权提供给分布式存储(例如分布式云服务)的用户的一种或多种技术和/或系统。使用标识分布式存储中的授权文档的位置的会话ID来访问授权文档,该授权文档包括具有与用户相关的主ID的全局部分。如果在该授权文档中存在对应于主ID的资源部分并且资源部分具有关于该资源的合适的资源数据,则可授权该用户使用(例如分布式云服务中的)资源。如果不存在该资源部分,则可以在授权文档中创建它,并且它可由资源标识符来标识。可以将授权数据加载到新创建的资源部分中,并且可以将带有该全局部分和资源部分的授权文档保存到分布式存储的本地高速缓存。

Description

分布式服务授权管理
技术领域
本发明涉及服务管理,尤其涉及分布式服务授权管理。
背景技术
分布式的基于web的服务通常被称为云服务,并且它们按需提供共享的资源服务、软件和信息。这些云服务通常分布在多个服务器、服务器群集和/和包括群集的数据中心中。用户通过访问因特网并向特定的服务认证自身来访问云服务。云服务通常需要伸缩到几十万用户和上百万个资源,这些用户通常被分成能够允许有效地访问(例如数据中心和/或簇中的)这些资源的标度单位。
对于大多数云服务,开发出使用遍布在安装在多个数据中心中的多个分区的数据库上的资源的方法。已为用户开发出定位资源的有效的算法和解决方案。当用户希望使用云服务时,它们通常诸如通过使用共享的密钥(例如用户名和口令的组合或密码密钥等)来向服务认证。此外,通常授权用户使用特定的服务特定的时间量,并且服务可访问授权信息以标识用户是否可使用感兴趣的资源。
发明内容
提供本发明内容以便以简化形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
有许多用于向诸如基于云的服务(例如基于web的应用程序、数据库等)的分布式服务认证(例如用户认证)和授权事务的技术。某些要求用于密码操作或数据库输入/输出操作的大量的计算开销以确定访问权限,或者要求大量的带宽或客户机资源以维护和传输状态(例如,经签署的令牌、cookies等)。对于某些系统,改变访问权限可能不是即时的,因为系统兑现访问令牌直至它们期满,有时是几小时之后。密钥管理是困难的,因为用于存储、管理和解密这些类型的密钥的资源会是大量的。对于基于经签署的令牌的系统,分布式服务的整体安全性可取决于保护私钥,因为如果私钥被盗用,则服务可能被泄漏。
大多数基于云的服务是无状态的,并且使用经密码签署的令牌来进行认证和授权。这种方式允许控制对资源的访问的前端机器(例如web服务器、应用程序服务器)是无状态的。然而,这种方法有许多缺点,诸如:将管理授权令牌(cookie)的复杂负担放置在执行API请求的客户机上;误编码(或误行为)的客户机可能通过有意地(或无意地)在API请求上传递无效的令牌而使用大量的前端CPU资源;前端机器在允许访问之前必须确认经签署的令牌,这消耗大量的CPU开销来执行密码操作,影响的服务的可伸缩性以及单个前端机器可管理的资源的量;验证经签署的授权令牌的前端机器必须共享用于保护和确认这些令牌的密钥,这是必须安全完成的困难的管理任务;且令牌可能是较大的,由此造成带宽问题,并且可能有效较长的时间段,造成难以撤消授权。
有些云服务使用所标识的随机会话(会话ID)来访问它们的服务。在这些服务中,用户通过某些挑战来向服务认证,但是接着收到发布的在后续请求中使用的会话ID。然而,这种类别的云服务仅管理单个资源(例如用户的收件箱)或位于同处的资源(例如用户的办公室文档)。此外,它们无法处理分布在许多位置上的多个不同的资源(每个具有额外的授权要求)。
因此,公开了提供对先前基于会话ID的授权的变化的一种或多种技术和/或系统,其中使用位置感知、多级内存储来将认证和授权数据高速缓存在多部分文档中。例如,可以在分布式服务使用的任一数据中心、群集或机器处快速检索和高速缓存授权文档。可以将文档分成包含用于特定的分布式服务资源(例如基于web的应用程序和服务)的授权数据的各部分。此外,可随着访问资源按需地添加或移除文档部分。
在向分布式存储的用户提供资源授权的一个实施例中,使用会话ID来访问存储在分布式存储中的授权文档,该会话ID可在用户认证时提供给用户机器(例如随机分配的会话密钥)。会话ID标识用于授权文档的位置,该文档包括具有与用户相关联的主ID的全局部分。如果授权文档有与主ID相关联的带有关于资源的授权数据的资源部分,则向用户授权分布式服务的资源(例如云资源)。
在该实施例中,如果授权文档没有对应于资源的资源部分,则创建局部资源部分(例如在本地应用服务器或群集的高速缓存中),并且该局部资源部分由资源标识符标识。资源授权数据诸如从(例如后端服务器上的)备份存储加载到局部资源部分中,且带有新创建的资源部分的授权文档被保存到用于资源的分布式存储的本地高速缓存中。
为实现上述及相关目的,下面的描述和附图描绘某些说明性方面和实现。这些方面仅指示了可以实现一个或多个方面的各种方式中的一些方式。结合附图阅读下面的详细描述,则本发明的其他方面、优点和新颖特征将变得清楚。
附图说明
图1是向分布式存储的用户提供资源授权的示例性方法的流程图。
图2是示出包括授权文档的分布式存储的示例性实施例的图示。
图3是授权文档的细节的示例性实施例。
图4是其中示出用于生成会话ID和授权文档的方法的一个或多个部分的一个实施例的图示。
图5是其中可使用会话ID来为用户授权资源的方法的一个或多个部分的示例性实施例的流程图。
图6是向分布式存储的用户提供资源授权的示例性系统的组件框图。
图7是示出其中可实现此处所描述的一个或多个系统的一个实施例的组件框图。
图8是包括被配置成体现此处所述的配置中的一个或多个的处理器可执行指令的示例性计算机可读介质的图示。
图9示出了其中可实现此处所述的配置中的一个或多个的示例性计算环境。
具体实施方式
现在参考附图描述所要求保护的主题,所有附图中使用相同的附图标记来指代相同的元素。在以下描述中,为解释起见,阐明了众多具体细节以提供对所要求保护的主题的全面理解。然而,很明显,所要求保护的主题可以在没有这些具体细节的情况下实施。在其它情况下,以框图形式示出了结构和设备以便于描述所要求保护的主题。
图1是向分布式存储的用户提供资源授权的示例性方法100的流程图。示例性方法100在102处开始并且在104处涉及访问包括包括与用户相关联的主ID的全局部分。授权文档存储在分布式存储中并且由标识授权文档的位置的会话ID访问。可以理解如此处所提供的术语“用户”一般指最终用户,但不限于人类,因为最终用户也可以包括机器或设备。例如,最终用户可包括(例如经由名称和口令认证的)人和/或(;例如经由X.509证书和公钥签名认证的)设备。此外,用户(例如,最终用户)诸如通过从事在线银行业务、股票服务、文件同步服务、在线零售和/或利用分布式存储的其他基于web的服务/资源间接的使用分布式存储。由此,在此处可提供将资源授权提供给分布式存储的用户的指示的情况下,一般不将该授权提供给实际利用分布式存储来向最终用户提供基于web的服务/资源的一个或多个实体,而是相反地在最终用户试图访问一个或多个(在线)服务/资源(由于分布式存储的存在或使用而变得可能)的上下文中属于该用户。
作为示例,分布式存储可以包括用于设置在分布式存储位置上提供统一的全局高速缓存的一种或多种技术和/或组件。作为一个示例,web农场通常包括多个服务器,其中的一些服务器被用作web或应用程序服务器(例如用于与用户交互的前端服务器),而其他服务器被用作数据库服务器(例如用于存储数据的后端服务器)。在一个实施例中,可以在例如其上安装网格服务的前端服务器上设置分布式数据网格。例如当网格中的这些服务器的存储器的全局试图包括统一的存储器时,网格服务允许相应的服务器在分布式数据网格中协同工作。这样,在该示例中,可提供分布式存储,其中物理存储器可以是不同的(例如在不同的机器上),但是担当统一的存储。
在一个实施例中,可以将分布式存储(例如可以是分布式字典或分布式散列表)组织成具有共享的库内存储器的多个级别。作为一个示例,云服务(例如在云计算环境中运行的服务)可以在前端机器、机器群集和/或包括机器群集的数据中心之间共享。由此,在一个实施例中,用于云服务的分布式存储例如可以包括本地高速缓存(例如对前端机器而言是本地的)、群集主高速缓存(例如分布在包括群集的多个前端机器上)和/或数据中心主高速缓存(例如分布在多个群集上)。
此外,在一个实施例中,授权文档可以包括位置感知的、多级别的、高速缓存的存储文档,该文档包括与特定的资源(例如诸如电子邮件的云资源)相关联的授权数据的个别部分。在该实施例中,可以将授权文档高速缓存在各自的位置(例如数据中心)处,而可以将文档部分仅高速缓存在相关的群集或机器处(例如分割相关联的资源处)。授权文档包括子在所有分布式存储中全局相同的全局部分,其中其他文档部分对于资源可以是本地的。
在该实施例中,使用标识授权文档的位置的会话ID来访问授权文档。在一个实施例中,会话ID仅是标识使用云服务例如期望的时间段的用户(例如人或机器的少量数据。当用户被认证(例如使用用户名和口令登陆)并且被连接到(例如通过索引)包括仅链接到用户的主ID的会话文档(仅该用户与主ID相关联,且由此与授权文档相关联)时,可随机生成会话ID。在该实施例中,主ID是仅链接到授权文档的标识,例如由此标识了文档的位置。
图2是示出包括授权文档的分布式存储的示例性实施例200的图示。在该实施例200中,相应的群集214A-214C由例如诸如可由基于web的云服务的用户通过公共的应用程序编程接口218(API)访问的机器220(例如前端服务器)组成。此外,群集214A和214B可包括在一个数据中心中-数据中心位置A 212A,而群集214C可包括在另一数据中心中-数据位置B 212B;示出了与分布式存储相关联的系统的可能不同的性质。
此外,在图2中,授权文档222被存储在若干个位置上,群集A.1 214A的分布式存储位置216A中、群集A.2 214B的分布式存储位置216B中以及群集A.2 214C的分布式存储位置216C中。在该示例200中,授权文档222包括全局部分206,该全局部分包括为文档标识用户的主ID、全局认证数据以及其他全局数据。同样地,授权文档222包括用于相应的位置216A-216C的资源部分208A-208C。
在示例性实施例200中,会话ID 202与主ID 204相关联,该主ID为用户标识授权文档222。会话ID 202可索引存储在分布式存储216中的会话文档224,且会话文档224可包括例如关于多个用户的授权文档的主ID 204。这样,在一个实施例中,希望使用远程服务(例如基于云的服务)的用户(例如人或机器)仅可以认证并接收会话ID 202,接着使用该会话ID来定位主ID 204,主ID 204进而提供对授权文档222的访问。
返回到图1,在106处,如果在授权文档中存在对应于主ID的包括资源授权数据的资源部分,则就将资源授权给用户。如上所述,授权文档可包括全局部分(例如图2的206)和资源部分(例如图2的208A-208C)。全局部分包括与用户相关的主ID(例如将用户关联于授权文档),而资源部分提供标识授权用户访问的资源的授权数据。
如图2中所示,高速缓存在群集A.1 214A的分布式存储216A处的授权文档222包括资源部分208A。在该示例200中,群集A.1 214A包括资源R1和R2 210A,诸如基于web的用户访问的基于云的服务(例如电子邮件、在线文档存储等)。此外,在该示例中,授权文档222的资源部分208A包括提供对资源210A R1和R2的访问的资源授权数据。由此,在该实施例中,如果在授权文档222的资源部分中存在由主ID标识的关于用户的资源数据,则可授权用户使用该资源(例如210A)。
返回到图1,在108处,如果在授权文档中不存在对应于资源的资源部分,则可以在110处为资源标识符标识的资源在授权文档中创建局部资源部分。如上所述,可例如在分布式存储中以分布式的方式高速缓存授权文档,这样使得对应于相应资源的资源部分被本地地存储(例如在本地服务器或群集中,其中资源驻留在系统中),而全局部分被高速缓存在另一位置中。
在该实施例中,可以在分布式存储中本地地(对资源本地的)为资源创建由主ID关于用户标识的授权文档的新的资源部分。在112处,资源授权数据被加载到对应于资源的局部资源部分。在一个实施例中,可以将授权数据存储在与分布式存储相关联的备份存储中(例如备份存储可包括与远程服务耦合的后端服务器)。在该实施例中,可以将关于(例如用户试图访问的)资源的适当的授权数据从备份存储加载到授权文档的新创建的资源部分中。
图3是授权文档302的细节的示例性实施例300。授权文档302包括全局部分304和两个资源部分310和312。在该示例300中,关于本地机器312的资源部分包括资源授权数据。资源授权数据包括例如资源标识密钥314C,它可以是标识该资源(例如群集或机器)的唯一的密钥。资源授权数据还包括标识授权数据何时期满(例如用户不再有权访问资源除非重新认证和重新授权)的期满时间316C。版本数据318B、318C标识数据的版本,而设置320B、320C标识由授权数据覆盖的服务的部分(例如群集或机器)。
在图1的示例性方法100的114处,包括全局部分和由资源标识符指示的局部资源部分的授权文档被本地地保存(例如高速缓存)在用于资源的分布式存储中。例如,如上所述,如果用户试图访问的资源位于特定的群集或群集中的机器上,则可将授权文档中包括为该资源新创建的资源部分的本地地存储在分布式存储中,诸如机器或群集的内存储器中。
在将授权文档本地地保存在分布式存储中之后,示例性方法100在116处结束。
图4是其中示出用于生成会话ID和授权文档的方法的一个或多个部分的一个实施例400的图示。在402处,用户450向诸如基于云的服务的分布式服务认证。作为示例,用户的认证通常包括将用户名和口令(例如共享的密钥)输入到系统中,以进行认证。
可以理解,此处所述的(不仅是关于图4所述的)技术和/或系统不限于任何特定的认证。例如,可使用认证设备(例如电子密钥),加密密钥、公-私密钥对或任何其他可用的认证技术或系统。此外,可以理解属于“用户”不限于任何特定的实施例。例如,用户可以是通过客户机(例如个人计算机)或(例如经由X.509证书和公钥签名认证的)设备与分布式系统交互的个人。
在该实施例400中,用户450使用计算机452来向分布式服务454认证(在402处)。在验证时,在404处,为用户450创建授权文档456。如上所述,授权文档456包括全局部分,该全局部分包括关于分布式服务454与用户450相关联的主ID。此外,全局部分可以包括用户相关信息。作为示例,如图3中所示,全局部分304的用户相关信息部分308可以包括有关用户的信息。例如,用户相关信息可以包括名和姓、电子邮件地址以及关于分布式服务的内部标识号。
在一个实施例中,在创建授权文档时创建全局部分,这样使得它可以被传播以请求分布式存储的存储器组件。换而言之,例如,如图3中所示,全局部分304可包括全局授权数据306,诸如主ID 314A、期满316A、版本318A和类型320A,该全局授权数据306可以在整个包括分布式存储的系统上全局地传播和相关。在创建时,可以将授权文档存储在用于分布式服务的分布式存储中。
在图4中的406处,也可以在认证时创建按照会话ID 460在分布式存储的存储器中索引的会话文档458。作为示例,会话文档可包括关于用户用于分布式服务的主ID,其中主ID是按照会话ID索引的。这样,例如,当用户向分布式服务454认证时,可以为用户创建会话文档458,这样使得会话文档包括用于服务的用户的主ID,且会话ID索引会话文档中的主ID。
由此,在该实施例中,可能仅需要用随机生成的会话ID来访问分布式服务,因为可以使用会话ID从会话文档中检索主ID。在408处,可以将会话ID 460返回给用户的机器452。这样,作为示例,在会话ID的生命设置期间(例如通常由期满设置限于使用二十四小时),用户的机器可将会话ID用于对分布式服务454中的服务的后续请求。
图5是其中可使用会话ID来为用户授权资源的方法的一个或多个部分的示例性实施例500的流程图。在该实施例500中,可以将使用分布式服务的请求从用户的机器452发送到分布式服务454,其中请求包括会话ID 460,且资源可以位于云和/或群集中。作为示例,在会话ID的有效生命期间(例如在其过期时间之前),可以将会话ID与访问诸如基于云的服务的分布式服务的任何请求一起转发。
在502处,访问会话文档。作为示例,可以将会话ID 460用作到分布式内存储中的密钥以获取会话文档。在504处,如果会话文档不是本地地高速缓存的(例如在用户的机器访问的前端机器中),则分布式存储可查看包括本地机器的群集的主高速缓存(在504处为NO)。在506处,如果会话文档不是高速缓存在群集主高速缓存中的,则分布式存储可以查看包括群集的数据中心中的主高速缓存(在506处为NO)。在508处,如果会话文档不是高速缓存在数据中心中的(在508处为NO),则就在510处作为未经授权地来拒绝请求。
或者,如果在分布式存储中找到会话文档(在504、506或508处为YES),则就使用会话ID来标识主ID,并由此在512处将会话ID用于标识授权文档的位置。在一个实施例中,会话文档可仅包括重定向会话ID的重定向点,该重定向点是指向会话文档、指向主ID的指针,主ID指向授权文档。
在514处,可以诸如通过使用主ID来访问授权文档。在一个实施例中,如果授权文档是本地存储的,则从用户处接收授权请求的机器(例如服务器)例如可仅要求访问授权文档。否则,在该实施例中,如果授权文档不是对于资源而言本地高速缓存的,则机器可请求将包括全局部分的授权文档本地地传播给分布式存储中的资源。
在516处,如果授权文档不是本地高速缓存的(在516处为NO),则分布式存储可以查看用于包括本地机器的群集的主高速缓存。在518处,如果授权文档不是高速缓存在包括本地机器的群集中的(在518处为NO),则分布式存储可以查看数据中心的主高速缓存。如果授权文档不是高速缓存在数据中心中的(520处为NO),则就在510处作为未经授权地来拒绝请求。
或者,如果在分布式存储中找到了会话文档(在504、506或508处为YES),则就可以进行例如将资源授权给用户。如果在授权访问资源之前,授权检查可能需要或可能不需要更多的信息。例如,在524处,诸如当授权文档仅链接到一个资源以获取分布式服务时,仅提供主ID以访问授权文档(在522处为NO)可能足以访问该资源。然而,如果授权文档包括关于多于一个资源(例如图3的310、312)的资源部分,则可能需要更多的信息以将该资源授权给用户(在522处为YES)。
在526处,可使用资源ID来访问授权文档的资源部分以获取所请求的资源。资源ID例如可以是资源特有的标识(例如图3的314B、314C)。这样,在该示例中,资源ID可以标识资源部分,该资源部分包括将资源授权给用户所需的资源数据。在528处,如果存在由资源ID标识的资源部分(在528处为YES),则可在524处将资源授权给主ID。
在528处,如果在授权文档中不存在资源部分(在528处为NO),则可用从备份存储中检索授权数据。例如,当授权文档是传播自与包括请求机器的群集不同的群集时(例如接收用户请求的web服务器),则仅可将全局部分传播给分布式存储的本地部分。例如,这可能在用户未曾在有效期内试图从本地群集访问分布式服务以获取授权文档的情况下发生。
在530处,可加载资源授权数据的版本作为来自备份存储的更新,并且在532处将其写入到授权文档中由资源标识来标识的新创建的资源部分中。作为示例,备份存储可在数据中心中包括用于分布式服务的后端服务器,该后端服务器用于存储诸如客户相关消息的通常需要长期存储的操作数据。这样,作为示例,授权数据被写入到由用于相关联的资源的资源ID标识的资源部分中。在一个实施例中,可以将期满时间添加到局部资源部分中,期满时间包括用户访问资源的时间(例如图3的316B、316C)。
在534处,授权数据被本地地高速缓存在诸如从用户处接收授权请求的本地机器上。在一个实施例中,可将授权文档推入到分布式存储的下一主高速缓存级别。例如,可将授权文档从本地机器高速缓存推入到用于包括本地机器的群集的主高速缓存;或者可以将其从用于群集的主高速缓存推入到用于数据中心的主高速缓存。
在一个实施例中,可以诸如用分布式存储更新进程相对于主高速缓存版本来检查经更新的(例如,更新自备份存储的)授权文档的版本。在该实施例中,如果经更新的版本是较近的版本,则也更新该级别处的主高速缓存。然而,如果经更新的版本不是比主高速缓存更近的版本(例如在将经更新的版本推入到主高速缓存之前到来的后续更新),则就不更新主版本。
在该实施例中,可以在更新中返回经更新的文档部分。这样,例如,主高速缓存可以包括任何经更新的文档部分的最近的版本,并且高速缓存更新可提供最近的版本。在一个实施例中,可以将期满时间添加到授权文档中,期满时间包括用于访问授权文档的时间。这样,例如,分布式服务可以在所需的时间段之后为用户提供重新认证和重新授权。在高速缓存了经更新的授权文档之后,可以在524处向用户授权。
一方面,可能希望修改分布式服务中资源对用户的授权(例如云网络环境)。例如,用户关于特定服务的活动可提示管理员阻止他们进行进一步的访问(例如使用电子邮件服务的垃圾邮件发送者)。然而,授权数据可包括允许用户继续他们的授权的期满时间。在这方面,在一个实施例中,可修改(例如移除、改变期满时间等)授权文档的资源部分中的授权。
在一个实施例中修改授权文档中的资源部分中的授权可包括接收修改授权的请求,该请求指示关于预定资源的资源ID以及关于用户的主ID。在该实施例中,可使用主ID来访问授权文档,并且可使用资源ID来访问资源部分。作为示例,可以重置关于资源的期满信息或者移除对应于资源的资源部分。在该实施例中,例如,可以将包括经修改的资源部分的授权文档保存在分布式存储的存储器中,由此访问(例如或扩展)用户的访问。
可设计处使用位置感知的、多级的、高速缓存的存储文档来将例如特定的分布式服务(例如云计算服务)授权给用户的系统。图6是向分布式存储的用户提供资源授权的示例性系统600的组件框图。分布式存储602包括被配置成存储资源授权数据的存储器组件652。
用户授权组件604在操作上与分布式存储602耦合,以便在用户认证时创建授权文档650。授权文档650由与用户相关的主ID标识,并且它包括被配置成在请求时被传播到分布式存储602的存储器组件652处的全局部分。用户授权组件604包括如果在授权文档650中存在用于主ID的包括资源授权数据的资源部分,则就将资源授权给用户的资源检查组件606。
用户授权组件604还包括在授权文档650中创建用于由资源标识符指示的资源的局部资源部分的资源部分创建组件608。如果在授权文档650中不存在对应于资源的资源部分,则就通过将资源授权数据加载到对应于资源的局部资源部分中来创建局部资源部分。用户授权组件604也包括为分布式存储602中的资源本地地保存包括全局部分和由资源标识符指示的局部资源部分的资源文档650。
图7是示出其中可实现此处所描述的一个或多个系统的一个实施例700的组件框图。在用户认证时,用户认证组件可在分布式存储602中创建按照会话ID索引的会话文档,会话文档包括对关于经认证的用户的授权文档722的引用。在该实施例中,用户750可(例如使用共享的密钥、密码密钥或某种其他认证技术)来认证,使用对授权文档722的引用726来创建会话文档720,且索引引用726的会话ID被发送回用户750处。
此外,会话文档720被存储在分布式存储602的存储器中,并且包括授权文档访问组件(参考编号726),其中按照用于用户的会话的会话ID来访问授权文档访问组件。换而言之,当用户试图访问使用分布式存储602的分布式服务时,用户的计算设备可以与授权请求一起发送会话ID。这样,在该示例中,可使用会话ID来访问授权文档引用726,后者进而允许用户访问分布式存储602上的授权文档722。
备份存储724在操作上与分布式存储602耦合,并且它为授权文档722中的资源部分730提供资源授权数据。例如,备份存储可包括在服务器农场的后端服务器中,并且可将用于给出用户授权的授权数据存储在授权文档的资源部分中。
在一个实施例中,当授权文档722是本地存储时(例如在对于用户访问的资源而言是本地的服务器),它可以包括全局部分728和资源部分730,全局部分728包括主ID和用户相关信息,资源部分730包括用于本地资源的资源授权数据。换而言之,例如,用户750可能试图通过链接到诸如web服务器农场的提供服务的应用程序服务器来访问分布式资源服务(例如在线文字处理器)。授权文档可以本地地存储在应用程序服务器上或包括该服务器的本地群集中,并且它可以包括关于用户授权信息的全局部分728和标识授权用户访问的资源(例如文字处理器)的资源部分730。
在一个实施例中,分布式存储602可包括诸如本地机器的本地高速缓存(例如向web用户提供内容的前端web服务器或应用程序服务器)。此外,在一个实施例中,分布式存储602可包括用于包括分布式存储的群集的主高速缓存。例如,群集可以包括向用户供应web内容的多个前端机器,并且分布式存储可以在群集中实现,其中群集包括主高速缓存。在一个实施例中,分布式存储602可包括用于包括分布式存储的一个或多个群集的主数据中心高速缓存。
再一实施例涉及包括被配置成实现此处所呈现的技术中的一种或多种的处理器可执行指令的计算机可读介质。可以用这些方式设计的一种示例性计算机可读介质在图8中示出,其中实现800包括其上编码有计算机可读数据808的计算机可读介质806(例如,CD-R、DVD-R、或硬盘驱动器盘片)。该计算机可读数据806又包括被配置成根据此次阐述的原理中的一个或多个来操作的一组计算机指令804。在一个这样的实施例802中,处理器可执行指令804可被配置成执行一种方法,诸如例如,图1的示例性方法100。在另一个这样的实施例中,处理器可执行指令804可被配置成实现一种系统,诸如例如,图6的示例性系统600。本领域普通技术人员可以设计可被配置成根据此处描述的技术操作的许多这样的计算机可读介质。
尽管用专门描述结构特征和/或方法动作的语言描述了主题,但是应当理解,在所附权利要求书中限定的主题并不一定局限于上述特定的特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。
如在本申请中所使用的,术语“组件”、“模块”、“系统”、“接口”等等一般旨在表示计算机相关的实体,其可以是硬件、硬件和软件的组合、软件、或运行中的软件。例如,组件可以是,但不限于是,在处理器上运行的进程、处理器、对象、可执行码、执行的线程、程序和/或计算机。作为说明,运行在控制器上的应用程序和控制器都可以是组件。一个或多个组件可以驻留在进程和/或执行线程中,并且组件可以位于一个计算机内和/或分布在两个或更多的计算机之间。
此外,所要求保护的主题可以使用产生控制计算机以实现所公开的主题的软件、固件、硬件或其任意组合的标准编程和/或工程技术而被实现为方法、装置或制品。如这里所使用的术语“制品”可以包含可以从任何计算机可读的设备、载体或介质进行访问的计算机程序。当然,本领域的技术人员将会认识到,在不背离所要求保护的主题的范围或精神的前提下可以对这一配置进行许多修改。
图9以及下面的讨论提供了用于实现这里所阐述的供应中的一个或多个的实施方式的合适计算环境的简要概括描述。图9的操作环境只是合适的操作环境的一个示例,并且不旨在对操作环境的使用范围或功能提出任何限制。示例计算设备包括,但不限于,个人计算机、服务器计算机、手提式或膝上型设备、移动设备(诸如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器系统、消费电子产品、小型计算机、大型计算机、包括上面的系统或设备的中的任何一种的分布式计算环境等等。
尽管并非必需,但各实施例在由一个或多个计算设备执行的“计算机可读指令”的一般上下文中描述。计算机可读指令可以通过计算机可读介质来分发(下面将讨论)。计算机可读指令可被实现为执行特定任务或实现特定抽象数据类型的程序模块,诸如函数、对象、应用程序编程接口(API)、数据结构等等。通常,计算机可读指令的功能可按需在各个环境中组合或分布。
图9示出了包括被配置成实现此处所提供的一个或多个实施例的计算设备910的系统912的示例。在一种配置中,计算设备912包括至少一个处理单元916和存储器918。取决于计算设备的确切配置和类型,存储器918可以是易失性的(如RAM)、非易失性的(如ROM、闪存等)或是两者的某种组合。该配置在图9中由虚线914来例示。
在其它实施例中,设备912可以包括附加特征和/或功能。例如,设备912还可以包括附加存储(例如,可移动和/或不可移动),其中包括但不限于磁存储、光存储等等。这样的附加存储在图9中由存储920示出。在一个实施例中,用于实现此处所提供的一个或多个实施例的计算机可读指令可以在存储920中。存储920还可以储存实现操作系统、应用程序等的其它计算机可读指令。可以在存储器918中加载计算机可读指令以供例如处理单元916执行。
此处所使用的术语“计算机可读介质”包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。存储器918和存储920都是计算机存储介质的示例。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其他存储技术,CD-ROM、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储或其他磁存储设备,或可以用来存储所需信息并可以被计算设备912访问的任何其他介质。任何这样的计算机存储介质可以是设备912的一部分。
设备912还可以包括允许设备912与其他设备进行通信的通信连接926。通信连接926可以包括,但不限于,调制解调器、网络接口卡(NIC)、集成网络接口、射频发射机/接收机、红外线端口、USB连接,或用于将计算设备912连接到其他计算设备的其他接口。通信连接926可以包括有线连接或无线连接。通信连接926可以发送和/或接收通信介质。
术语“计算机可读介质”可以包括通信介质。通信介质通常以诸如载波或其他传输机制等“已调制数据信号”来体现计算机可读指令或其他数据,并包括任何信息传送介质。术语“已调制数据信号”可以包括以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。
设备912可以包括输入设备924,诸如键盘、鼠标、笔、语音输入设备、触摸输入设备、红外照相机、视频输入设备、和/或任何其他输入设备。设备912还可以包括输出设备922,诸如一个或多个显示器、扬声器、打印机、和/或任何其他输出设备。输入设备924和输出设备922可以通过有线连接、无线连接、或其任何组合来连接到设备912。在一个实施方式中,可以使用来自另一计算设备的输入设备或输出设备作为计算设备912的输入设备924或输出设备922。
计算设备912的组件可通过多种互连来连接,例如总线。这样的互连可以包括诸如PCIExpress之类的外围部件互连(PCI)、通用串行总线(USB)、火线(IEEE1384)、光学总线结构等等。在另一实施方式中,计算设备912的组件可以通过网络互连。例如,存储器918可以包括位于通过网络互连的不同物理位置的多个物理存储器单元。
本领域的技术人员将认识到,用来存储计算机可读指令的存储设备可以分布在网络上。例如,可经由网络930访问的计算设备928可以存储计算机可读指令来实现这里所提供的一个或多个实施方式。计算设备912可以访问计算设备930,并下载计算机可读指令的一部分或全部以便执行。或者,计算设备912可以根据需要下载计算机可读指令的一部分,或者一些指令可以在计算设备912上执行而一些指令则在计算设备930上执行。
这里提供了实施方式的各种操作。在一个实施方式中,所描述的操作中的一个或多个可以组成存储在一个或多个计算机可读介质上的计算机可读指令,这些指令如果由计算设备执行则使得计算设备执行所描述的操作。描述一些或所有操作的顺序不应该被解释为暗示这些操作一定是依赖于顺序的。从本说明书获益的本领域技术人员将认识到替换顺序。此外,应该理解,并非所有的操作都一定存在于这里所提供的每一个实施方式中。
此外,在此使用词语“示例性”意指用作示例、实例或说明。这里作为“示例性”所描述的任何方面或设计不必被解释为有利于其他方面或设计。相反,使用词语“示例性”旨在以具体的方式呈现各个概念。如本申请中所使用的,术语“或”意指包括性“或”而非互斥性“或”。即,除非另有指定或从上下文可以清楚,“X使用A或B”意指任何自然的包括性排列。即,如果X使用A;X使用B;或X使用A和B两者,则在任何以上情况下,都满足“X使用A或B”。此外,本申请中和所附权利要求书所使用的冠词“一”和“一个”一般可以解释为“一个或多个”,除非另有指定或从上下文可以清楚是指单数形式。
同样,虽然参考一个或多个实现示出并描述了本发明,但本领域技术人员基于对本说明书和附图阅读和理解,可以想到各种等效更改和修改。本发明包括所有这样的修改和更改,并且仅由所附权利要求书的范围来限定。特别地,对于由上述组件(例如,元素、资源等)执行的各种功能,除非另外指明,否则用于描述这些组件的术语旨在对应于执行所描述的执行此处在本发明的示例性实现中所示的功能的组件的指定功能(例如,功能上等效)的任何组件,即使这些组件在结构上不等效于所公开的结构。此外,尽管可相对于若干实现中的仅一个实现来公开本发明的一个特定特征,但这一特征可以如对任何给定或特定应用所需且有利地与其他实现的一个或多个其他特征相组合。此外,就在“具体实施方式”或者权利要求书中使用术语“包括”、“具有”、“带有”或其变体而言,这些术语旨在以与术语“包括”相似的方式为包含性的。

Claims (15)

1.一种向分布式存储的用户提供资源授权的方法(100),包括:
使用标识授权文档位置的会话ID来访问存储在分布式存储中的授权文档,所述授权文档包括全局部分,所述全局部分包括与用户相关的主ID(104);
如果在所述授权文档中存在对应于主ID的包括资源授权数据的资源部分,则将资源授权给所述用户(106);以及
如果在所述授权文档中不存在对应于所述资源的资源部分(108),则:
在所述授权文档中为由资源标识符指示的资源创建局部资源部分(110);
将资源授权数据加载到对应于所述资源的局部资源部分中(112);以及
将包括所述全局部分和由所述资源标识符指示的局部资源部分的所述授权文档对所述资源而言本地地保存在所述分布式存储中(114)。
2.如权利要求1所述的方法,其特征在于,包括在用户认证时:
创建对应于所述用户会话的会话ID;以及
将所述会话ID提供给所述用户。
3.如权利要求2所述的方法,其特征在于,在所述分布式存储的存储器中创建按照所述会话ID索引的会话文档,所述会话文档包括引用所述授权文档的主ID。
4.如权利要求1所述的方法,其特征在于,包括在用户认证时:
创建所述授权文档,其中所述全局部分包括用户相关信息;以及
将所述授权文档存储在所述分布式存储的存储器中。
5.如权利要求4所述的方法,其特征在于,包括创建所述授权文档的全局部分,以使其被传播到所述分布式存储的作出请求的存储器组件。
6.如权利要求1所述的方法,其特征在于,使用所述会话ID来访问所述授权文档包括:
如果所述授权文档对于所述资源而言是本地高速缓存的,则请求访问所述授权文档;以及
如果所述授权文档对于所述资源而言不是本地高速缓存的,则请求将包括所述全局部分的授权文档本地地传播给所述分布式存储中的资源。
7.如权利要求1所述的方法,其特征在于,包括如果满足以下条件之一就拒绝授权请求:
无法在所述分布式存储中找到会话文档;以及
无法在所述分布式存储中找到所述授权文档。
8.如权利要求1所述的方法,其特征在于,将资源授权给所述用户包括使用所述资源标识符来访问所述授权文档中对应于所述资源的资源部分中的授权数据。
9.如权利要求1所述的方法,其特征子在于,加载资源授权数据包括加载所述所述资源授权数据的版本作为来自备份存储的更新。
10.如权利要求1所述的方法,其特征在于,如果在所述授权文档中不存在对应于所述资源的资源部分,则包括将期满时间添加到所述局部资源部分,包括供所述用户访问所述资源的时间。
11.一种向分布式存储的用户提供资源授权的系统(600),包括:
分布式存储(602),包括被配置成存储资源授权数据的存储器组件;以及
用户授权组件(604),所述用户授权组件(604)在操作上与所述分布式存储耦合,并且被配置成在用户认证时,创建由与用户相关的主ID标识并且包括全局部分的授权文档,所述全局部分被配置成在请求时被传播给所述分布式存储的存储器组件,所述用户授权组件包括:
资源检查组件(606),其被配置成如果在所述授权文档中存在对应于所述主ID的包括资源授权数据的资源部分,则将资源授权给所述用户。
资源部分创建组件(608),其被配置成如果在所述授权文档中不存在对应于所述资源的资源部分,则通过将资源授权数据加载到对应于所述资源的局部资源部分中来在授权文档中创建对应于由资源标识符指示的资源的局部资源部分。
授权高速缓存组件(610),其被配置成将包括所述全局部分和由所述资源标识符指示的局部资源部分的所述授权文档对于所述资源而言本地地保存在所述分布式存储中。
12.如权利要求11所述的系统,其特征在于,所述用户授权组件被配置成在用户认证时:
在所述分布式存储的存储器中创建按照会话ID索引的会话文档,所述会话文档包括对关于经认证的用户的授权文档的引用;以及
将所述会话ID返回给所述用户。
13.如权利要求11所述的系统,其特征在于,包括备份存储,所述备份存储在操作上与所述分布式存储耦合并且被配置成为所述授权文档中的资源部分提供资源授权数据。
14.如权利要求11所述的系统,其特征在于,所述分布式存储包括以下各项中的一个或多个:
本地高速缓存;
用于包括所述分布式存储的群集的主高速缓存;以及
用于包括所述分布式存储的一个或多个群集的主数据中心高速缓存。
15.如权利要求11所述的系统,其特征在于,在对于本地资源而言本地存储时,所述授权文档包括:
所述全局部分,包括所述主ID和用户相关信息;以及
资源部分,包括关于所述本地资源的资源授权数据。
CN201110161537.2A 2010-06-03 2011-06-02 分布式服务授权管理 Active CN102316152B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/793,277 US8898318B2 (en) 2010-06-03 2010-06-03 Distributed services authorization management
US12/793,277 2010-06-03

Publications (2)

Publication Number Publication Date
CN102316152A true CN102316152A (zh) 2012-01-11
CN102316152B CN102316152B (zh) 2016-06-15

Family

ID=45065359

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110161537.2A Active CN102316152B (zh) 2010-06-03 2011-06-02 分布式服务授权管理

Country Status (2)

Country Link
US (1) US8898318B2 (zh)
CN (1) CN102316152B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104067263A (zh) * 2012-01-19 2014-09-24 微软公司 识别云内容

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8990907B2 (en) * 2012-11-09 2015-03-24 Microsoft Corporation Managing security credentials for scaled-out services
JP6273773B2 (ja) * 2013-10-30 2018-02-07 富士ゼロックス株式会社 情報処理装置、情報処理システムおよびプログラム
US9553861B1 (en) * 2014-03-28 2017-01-24 Juniper Networks, Inc. Systems and methods for managing access to services provided by wireline service providers
KR20160046235A (ko) * 2014-10-20 2016-04-28 한국전자통신연구원 컨텐츠 캐시의 그룹 형성 방법 및 컨텐츠 제공 방법
US10484385B2 (en) * 2015-06-04 2019-11-19 Sap Se Accessing an application through application clients and web browsers
US10154107B2 (en) 2016-03-18 2018-12-11 International Business Machines Corporation Document distribution from a processing system utilizing pushed references
US20180027049A1 (en) * 2016-07-20 2018-01-25 Adbrain Ltd Computing system and method of operating the computer system
US11108763B2 (en) * 2020-01-09 2021-08-31 Cisco Technology, Inc. Intelligent identity-aware application proxy
CN111259356B (zh) * 2020-02-17 2022-09-02 北京百度网讯科技有限公司 授权方法、辅助授权组件、管理服务器和计算机可读介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040221038A1 (en) * 2003-04-30 2004-11-04 International Business Machines Corporation Method and system of configuring elements of a distributed computing system for optimized value
CN1960255A (zh) * 2006-09-21 2007-05-09 上海交通大学 分布式多级安全访问控制方法
CN101072166A (zh) * 2007-04-28 2007-11-14 腾讯科技(深圳)有限公司 一种实现网络预订存储的系统和方法
CN101304370A (zh) * 2008-06-19 2008-11-12 张建中 一种分组的交付和路由选择的方法和装置以及系统
CN101355473A (zh) * 2007-07-27 2009-01-28 华为技术有限公司 移动自组网资源发布与查找方法及移动自组网络节点设备
CN101631116A (zh) * 2009-08-10 2010-01-20 中国科学院地理科学与资源研究所 一种分布式双重授权及访问控制方法和系统
CN101667187A (zh) * 2009-09-23 2010-03-10 南京邮电大学 一种基于对等计算技术的复合知识云方法

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4140723A1 (de) * 1991-12-10 1993-06-17 Leybold Durferrit Gmbh Fuer einen schmelztiegel mit keramikfreiem auslass zum ableiten eines schmelzstrahles bestimmte spule
US5235642A (en) 1992-07-21 1993-08-10 Digital Equipment Corporation Access control subsystem and method for distributed computer system using locally cached authentication credentials
DE69413977T2 (de) * 1993-07-01 1999-03-18 Legent Corp Anordnung und verfahren zur verteilten datenverwaltung in vernetzten rechnersystemen
US7272639B1 (en) 1995-06-07 2007-09-18 Soverain Software Llc Internet server access control and monitoring systems
US5778367A (en) * 1995-12-14 1998-07-07 Network Engineering Software, Inc. Automated on-line information service and directory, particularly for the world wide web
JP3901806B2 (ja) * 1997-09-25 2007-04-04 富士通株式会社 情報管理システム及び二次サーバ
US7228300B2 (en) 1998-10-05 2007-06-05 Oracle International Corporation Caching the results of security policy functions
US6609153B1 (en) * 1998-12-24 2003-08-19 Redback Networks Inc. Domain isolation through virtual network machines
US6959291B1 (en) * 1999-05-19 2005-10-25 International Business Machines Corporation Management of a concurrent use license in a logically-partitioned computer
US7200563B1 (en) * 1999-08-20 2007-04-03 Acl International Inc. Ontology-driven information system
US7334038B1 (en) * 2000-04-04 2008-02-19 Motive, Inc. Broadband service control network
US7962565B2 (en) * 2001-09-29 2011-06-14 Siebel Systems, Inc. Method, apparatus and system for a mobile web client
US7379990B2 (en) * 2002-08-12 2008-05-27 Tsao Sheng Ted Tai Distributed virtual SAN
GB0229540D0 (en) * 2002-12-18 2003-01-22 Ibm The location of object/services in a distributed objects/services system
US20040128546A1 (en) * 2002-12-31 2004-07-01 International Business Machines Corporation Method and system for attribute exchange in a heterogeneous federated environment
US7925981B2 (en) * 2003-05-14 2011-04-12 Hewlett-Packard Development Company, L.P. Systems and methods for managing web services via a framework of interfaces
US8103772B2 (en) * 2003-12-24 2012-01-24 Sap Aktiengesellschaft Cluster extension in distributed systems using tree method
US7685206B1 (en) 2004-02-12 2010-03-23 Microsoft Corporation Authorization and access control service for distributed network resources
US7676835B2 (en) * 2004-08-31 2010-03-09 International Business Machines Corporation System and method for regulating access to objects in a content repository
US20060053216A1 (en) * 2004-09-07 2006-03-09 Metamachinix, Inc. Clustered computer system with centralized administration
WO2006060481A2 (en) * 2004-11-30 2006-06-08 Michael Dell Orfano System and method for creating electronic real estate registration
US8229985B2 (en) * 2005-02-07 2012-07-24 Cisco Technology, Inc. Arrangement for a distributed file system having data objects mapped independent of any data object attribute
US7797440B2 (en) * 2005-03-09 2010-09-14 Vudu, Inc. Method and system for managing objects distributed in a network
US7584226B2 (en) * 2005-05-24 2009-09-01 International Business Machines Corporation System and method for peer-to-peer grid based autonomic and probabilistic on-demand backup and restore
US8099511B1 (en) * 2005-06-11 2012-01-17 Vudu, Inc. Instantaneous media-on-demand
US20070073829A1 (en) * 2005-09-13 2007-03-29 Microsoft Corporation Partitioning data across servers
US8238327B2 (en) * 2005-10-19 2012-08-07 At&T Intellectual Property I, L.P. Apparatus and methods for subscriber and enterprise assignments and resource sharing
US7643472B2 (en) * 2005-10-19 2010-01-05 At&T Intellectual Property I, Lp Methods and apparatus for authorizing and allocating outdial communication services
US8028039B1 (en) * 2005-12-23 2011-09-27 Reflexis Systems, Inc. System and method for communicating data between wireless mobile hand-held computer and a back-end computer system
GB0603552D0 (en) * 2006-02-22 2006-04-05 Advanced Risc Mach Ltd Cache management within a data processing apparatus
US20070263590A1 (en) * 2006-04-25 2007-11-15 Microsoft Corporation Optimization scheme for routing based on data latency
US20080066181A1 (en) * 2006-09-07 2008-03-13 Microsoft Corporation DRM aspects of peer-to-peer digital content distribution
US20080104393A1 (en) * 2006-09-28 2008-05-01 Microsoft Corporation Cloud-based access control list
US8341405B2 (en) * 2006-09-28 2012-12-25 Microsoft Corporation Access management in an off-premise environment
US8196175B2 (en) 2008-03-05 2012-06-05 Microsoft Corporation Self-describing authorization policy for accessing cloud-based resources
US8418222B2 (en) 2008-03-05 2013-04-09 Microsoft Corporation Flexible scalable application authorization for cloud computing environments
GB2477653B (en) * 2008-10-10 2012-11-14 Nuance Communications Inc Generating and processing forms for receiving speech data
US20100228819A1 (en) * 2009-03-05 2010-09-09 Yottaa Inc System and method for performance acceleration, data protection, disaster recovery and on-demand scaling of computer applications
WO2010118179A1 (en) * 2009-04-07 2010-10-14 Clearslide, Inc. Mixed content type presentation system
EP2425341B1 (en) * 2009-05-01 2018-07-11 Citrix Systems, Inc. Systems and methods for establishing a cloud bridge between virtual storage resources
US9501329B2 (en) * 2009-05-08 2016-11-22 Rackspace Us, Inc. Methods and systems for cloud computing management
CN101562543B (zh) * 2009-05-25 2013-07-31 阿里巴巴集团控股有限公司 一种缓存数据的处理方法、处理系统和装置
US8612439B2 (en) * 2009-06-30 2013-12-17 Commvault Systems, Inc. Performing data storage operations in a cloud storage environment, including searching, encryption and indexing
US8370307B2 (en) * 2009-09-01 2013-02-05 Empire Technology Development Llc Cloud data backup storage manager
US20110055683A1 (en) * 2009-09-02 2011-03-03 Facebook Inc. Page caching for rendering dynamic web pages
US8745342B2 (en) * 2009-09-24 2014-06-03 Hitachi Ltd. Computer system for controlling backups using wide area network
US8495130B2 (en) * 2009-10-21 2013-07-23 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for locating services in a peer-to-peer network
US8458186B2 (en) * 2009-11-06 2013-06-04 Symantec Corporation Systems and methods for processing and managing object-related data for use by a plurality of applications
US8358660B2 (en) * 2009-11-16 2013-01-22 Verizon Patent And Licensing Inc. Method and system for providing integrated content delivery
US8140647B1 (en) * 2009-11-17 2012-03-20 Applied Micro Circuits Corporation System and method for accelerated data uploading
US8438360B2 (en) * 2009-11-23 2013-05-07 Symantec Corporation Distributed storage through a volume device architecture
US20110126197A1 (en) * 2009-11-25 2011-05-26 Novell, Inc. System and method for controlling cloud and virtualized data centers in an intelligent workload management system
US20110137947A1 (en) * 2009-12-03 2011-06-09 International Business Machines Corporation Dynamic access control for documents in electronic communications within a cloud computing environment
US20110153644A1 (en) * 2009-12-22 2011-06-23 Nokia Corporation Method and apparatus for utilizing a scalable data structure
CN102169484B (zh) * 2010-02-26 2014-08-13 威睿公司 虚拟化环境中综合的、相关的和动态的数据搜索
US8984621B2 (en) * 2010-02-27 2015-03-17 Novell, Inc. Techniques for secure access management in virtual environments
US8341357B2 (en) * 2010-03-16 2012-12-25 Oracle America, Inc. Pre-fetching for a sibling cache

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040221038A1 (en) * 2003-04-30 2004-11-04 International Business Machines Corporation Method and system of configuring elements of a distributed computing system for optimized value
CN1960255A (zh) * 2006-09-21 2007-05-09 上海交通大学 分布式多级安全访问控制方法
CN101072166A (zh) * 2007-04-28 2007-11-14 腾讯科技(深圳)有限公司 一种实现网络预订存储的系统和方法
CN101355473A (zh) * 2007-07-27 2009-01-28 华为技术有限公司 移动自组网资源发布与查找方法及移动自组网络节点设备
CN101304370A (zh) * 2008-06-19 2008-11-12 张建中 一种分组的交付和路由选择的方法和装置以及系统
CN101631116A (zh) * 2009-08-10 2010-01-20 中国科学院地理科学与资源研究所 一种分布式双重授权及访问控制方法和系统
CN101667187A (zh) * 2009-09-23 2010-03-10 南京邮电大学 一种基于对等计算技术的复合知识云方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104067263A (zh) * 2012-01-19 2014-09-24 微软公司 识别云内容
CN104067263B (zh) * 2012-01-19 2017-07-28 微软技术许可有限责任公司 识别云内容

Also Published As

Publication number Publication date
US20110302315A1 (en) 2011-12-08
CN102316152B (zh) 2016-06-15
US8898318B2 (en) 2014-11-25

Similar Documents

Publication Publication Date Title
US20220198410A1 (en) Providing data provenance, permissioning, compliance, and access control for data storage systems using an immutable ledger overlay network
CN102316152B (zh) 分布式服务授权管理
US11347876B2 (en) Access control
US10956614B2 (en) Expendable access control
JP6883111B2 (ja) イベント駆動型ブロックチェーンワークフロー処理
US9197408B2 (en) Systems and methods for providing a secure data exchange
WO2017054985A1 (en) Access control
US10484383B2 (en) Pre-authorizing a client application to access a user account on a content management system
GB2540976A (en) Access control
GB2540977A (en) Expendable access control
US11811907B2 (en) Data processing permits system with keys
EP2962244B1 (en) Discretionary policy management in cloud-based environment
US20170279720A1 (en) Real-Time Logs
US11063922B2 (en) Virtual content repository
KR20220160021A (ko) 낮은 신뢰 권한 액세스 관리
JP6655731B2 (ja) システム環境及びユーザ行動分析基盤の自己防御保安装置とその作動方法
AU2021230365A1 (en) Cryptographic data entry blockchain data structure
US20210081430A1 (en) System and method for managing a role-based blockchain network
US11929986B1 (en) Two-way data sharing between private and public clouds
Shrivastava et al. Secure Storage and Data Sharing Scheme Using Private Blockchain-Based HDFS Data Storage for Cloud Computing
Recabarren et al. Toward uncensorable, anonymous and private access over Satoshi blockchains
CN112181975A (zh) 用于在数据仓库中创建数据库的方法和装置
CN105493063A (zh) 用于内容发布的基于事件的版本控制和可见性

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150727

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150727

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant