CN104205086B - 使用查询语言修改用于web服务的访问控制的方法 - Google Patents

使用查询语言修改用于web服务的访问控制的方法 Download PDF

Info

Publication number
CN104205086B
CN104205086B CN201380015067.6A CN201380015067A CN104205086B CN 104205086 B CN104205086 B CN 104205086B CN 201380015067 A CN201380015067 A CN 201380015067A CN 104205086 B CN104205086 B CN 104205086B
Authority
CN
China
Prior art keywords
inquiry
node
user
socialgram
attached
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
Application number
CN201380015067.6A
Other languages
English (en)
Other versions
CN104205086A (zh
Inventor
L·E·门滕
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.)
Alcatel Optical Networks Israel Ltd
Original Assignee
Alcatel Optical Networks Israel Ltd
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
Priority claimed from US13/423,697 external-priority patent/US9047643B2/en
Application filed by Alcatel Optical Networks Israel Ltd filed Critical Alcatel Optical Networks Israel Ltd
Publication of CN104205086A publication Critical patent/CN104205086A/zh
Application granted granted Critical
Publication of CN104205086B publication Critical patent/CN104205086B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/322Trees
    • 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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/1093Calendar-based scheduling for persons or groups
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • 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
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • General Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Hardware Design (AREA)
  • Marketing (AREA)
  • General Health & Medical Sciences (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Finance (AREA)
  • Bioethics (AREA)
  • Tourism & Hospitality (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Game Theory and Decision Science (AREA)
  • Signal Processing (AREA)
  • Primary Health Care (AREA)
  • Automation & Control Theory (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

要求保护的主题内容的实施例提供控制对社交图中的资源的访问的方法。该方法的一个实施例包括接收用于响应于服务被调用而配置查询的信息。服务被配置为使用查询来请求访问与在社交图中的与第一用户关联的部分中的节点关联的资源。该方法也包括关联查询与节点。查询对与节点关联的资源操作并且根据社交图的当前状态返回信息,该信息指示对访问资源的请求是否被批准或者拒绝。

Description

使用查询语言修改用于WEB服务的访问控制的方法
相关申请的交叉引用
本申请是Lawrence E.Menten于2012年3月19日提交的标题为“Method ofExtending Web Service Application Programming Interfaces using QueryLanguages”的美国专利申请13/423,697的部分继续申请。
技术领域
本申请一般地涉及基于处理器的系统并且更具体地涉及用于基于处理器的系统的访问控制。
背景技术
本节介绍可以有助于更好理解要求保护的主题内容的方面。因而,本节的陈述将据此来解读而不会被理解为关于什么是现有技术或者什么不是现有技术的承认。
在一些已知通信方案中,用户使用社交网络来相互通信。可以将社交联网服务定义为基于在可以共享公共背景、兴趣或者活动的人们之中的社交关系的表示而向订户提供服务的在线服务、平台或者站点。社交网络通常由每个用户的表示(经常为简档)、他的/她的社交链接和多种附加元素、诸如照片、状态报告、web链接等构成。多数社交网络服务是基于web的并且提供允许用户通过因特网交互的工具/服务,诸如电子邮件和即时消息收发。社交联网站点允许用户在他们的个人网络内共享想法、活动、事件和兴趣。示例社交网络包括Facebook、Google+、Twitter、LinkedIn、VKonkatke、Orkut和RenRen。
社交网络使用社交图来表示个人及其关系。一般而言,社交图描述在订户的在线形象(其也可以被称为用户的化身)与其他订户的在线形象之间的关系。社交图因此反映订户之间的现实世界的关系,其一般被称为社交网络。例如,社交网络的社交图可以被构造为使用节点之间的关系所定义的边(其也可以被称为链接或者连接)而相互关联的一系列节点(例如,“订户”、“好友列表”、“密友”等)。叶节点与父节点关联,但是它们没有子节点。例如,与“密友”节点关联的叶节点可以各自包括数据结构,该数据结构包括用于订户的好友之一的信息。社交图也可以包括用于不同类型的关系、诸如与特定兴趣关联的群的节点以及用于不同类型的信息、诸如相片、音乐和web链接的节点。组成社交图的节点、边、信息和关系可以被称为社交图的资源。
社交图中的资源可以与在社交图中未被表示关系的边显式地连接的用户或者订户关联。例如,订户可以发表所有校友在重逢餐会的群照片。群照片可以包括在订户的好友列表或者密友群中列举的人和在社交图中未链接到订户的其他人的图像。订户或者订户的好友可以标识或者“标注”群照片中的未被链接到订户的人。又例如,订户可以定义群、诸如“业务午餐群”,该群包括都被链接到定义了该群但是可能在社交图中未被相互链接的订户的其他订户。链接在一起的订户可能不能通过社交网络交换信息,诸如计划用于安排业务午餐的消息。
社交网络的提供者使用他们的社交图中的信息来实施服务或者应用(app)。开发者可以使用社交网络提供者开发和支持的应用编程接口(API)来创建服务或者app。用于社交网络的API通常实施由客户端和服务器构成的代表状态转移(REST)架构。客户端向服务器发起请求,这些服务器处理请求并且向客户端返回适当响应。请求和响应是围绕资源表示的传送而构建的。资源可以是可以被寻址的实质上任何相干和有意义的概念。资源的表示通常是捕获资源的当前或者既定状态的文档。一般而言,REST式架构必须基于客户端-服务器、无状态、可高速缓存、分层、使用统一接口并且可以按需求提供代码。例如,用于社交网络、诸如Facebook的API包括定义的超文本传送协议(HTTP)请求消息集合以及响应消息的结构的定义,例如具有可扩展标记语言(XML)或者JavaScript对象符号表示(JSON)格式的结构。
发明内容
下文呈现公开的主题的简化概要以便提供公开的主题的一些方面的基本理解。该发明内容不是公开的主题的穷尽概述。它不旨在于标识公开的主题的重要或者关键要素或者界定公开的主题的范围。它的唯一目的是以简化形式呈现一些概念作为随后讨论的更具体描述的前序。
在一个实施例中,提供了一种用于控制对社交图中的资源的访问的方法。该方法的一个实施例包括响应于服务被调用而接收用于配置查询(query)的信息。该服务被配置为使用该查询来请求访问与社交图中关联于第一用户的部分中的节点关联的资源。该方法还包括将该查询与该节点关联。所述查询对与所述节点关联的资源进行操作,并且根据社交图的当前状态返回信息,该信息指示对访问所述资源的请求是否被批准或者拒绝。
在另一实施例中,提供了一种用于控制对社交图中的资源的访问的方法。该方法的一个实施例包括调用被配置为对与社交图的一部分中由第一用户拥有的节点关联的资源执行查询的服务。该方法的该实施例还包括响应于调用所述服务而将该查询与该节点关联。所述查询根据所述社交图的当前状态确定是否批准或者拒绝对于访问与所述节点关联的资源的请求。
附图说明
可以通过参照结合附图进行的以下描述来理解公开的主题内容,在附图中,相似的附图标记标识相似要素,并且在附图中:
图1在概念上图示通信系统的一个示例性实施例;
图2在概念上图示社交图的一部分的第一示例性实施例;
图3在概念上图示用于修改用于社交图的访问控制的方法的第一示例性实施例;
图4在概念上图示查询用于社交图的修改的应用编程接口的方法的一个示例性实施例;
图5在概念上图示去除或者反转对用于社交图的应用编程接口的修改的方法的一个示例性实施例;
图6在概念上图示社交图的一部分的第二示例性实施例;
图7在概念上图示用于修改用于社交图的访问控制的方法的第二示例性实施例;以及
图8在概念上图示服务器的一个示例性实施例,该服务器可以用来存储社交图的部分、实施用于社交图的应用编程接口或者实施社交网络服务。
具体实施方式
以下描述示例实施例。为了清楚,在本说明书中未描述实际实现方式的所有特征。当然将认识到,在开发任何这样的实际实施例时,应当进行许多实现方式特有的决策以实现开发者的特定目的,诸如遵从从一个实现方式到另一实现方式变化的与系统有关和与业务有关的约束。另外,将理解这样的开发工作可能复杂并且耗时,但是对于受益于本公开内容的本领域普通技术人员而言将是例行工作。该描述和附图仅举例说明要求保护的主题的原理。因此,将认识到本领域技术人员可以能够设计各种布置,虽然这里未明确地描述或者示出,但是该各种布置体现这里描述的原理并且可以在要求保护的主题内容的范围内被包括。另外,这里记载的所有示例主要旨在于仅用于示范目的以辅助读者理解要求保护的主题内容的原理和发明人贡献的用于发展本领域的概念并且将被解释为不限于这样具体记载的示例和条件。
现在将参照附图描述公开的主题内容。在附图中示意地描绘各种结构、系统和设备仅为了说明并且避免因本领域技术人员公知的细节而模糊该描述。然而,包括附图以描述和说明公开的主题内容的说明性示例。这里所用词语和短语应当被理解和解释为具有与本领域技术人员对那些词语和短语的理解一致的含义。这里对术语或者短语的非特殊的定义、即与如本领域技术人员理解的普通和习惯含义不同的定义将由对这些术语或短语的一致性使用来暗示。在术语或者短语旨在于具有特殊含义——即除了本领域技术人员理解的含义之外的含义——范围内,将以直接地和明确地提供用于术语或者短语的特殊定义的定义方式在说明书中明确地阐述这样的特殊定义。此外,术语“或者”如这里所用除非另有指示(例如,“或者其它”或者“在备选中”)则是指非排他的“或者”。而且,这里描述的各种实施例也未必互斥,因为一些实施例可以与一个或者多个其它实施例组合以形成新实施例。
社交网络服务的订户(或者它们的其他用户)依赖于社交网络服务提供者以保持订户的个人信息安全和私密。然而,订户也使用社交网络服务以向选择的订户、例如在“好友列表”中指示的订户广播、发送或者显示个人信息。社交网络服务提供者尝试通过定义访问控制策略来平衡用于使信息公开和保持它私密的竞争愿望,这些访问控制策略确定用户是否能够访问与社交图的特定部分关联的资源。例如,已经在Joe订户的“好友列表”中指明的用户通常能够看见状态更新、相片或者Joe订户发表的任何其它信息。Joe在网络中的好友也可以能够例如通过在他的“墙”上书写或者关于他已经发表的信息做评论来向Joe订户发送或者发表信息。其他用户通常不能看见Joe订户发表的信息或者关于他已经发表的信息做评论。订户具有用于例如通过使一些信息类别公开或者使对其它信息类别的访问限于好友或者好友的好友来控制对他们的信息的访问的有限能力。
确定谁可以访问社交图中的信息的访问控制策略一般是静态的。例如,当前REST式web服务API静态地定义社交图中的资源和访问控制方案二者,该访问控制方案门控(gate)对那些资源的访问。访问控制方案不可被终端用户/订户或者被应用开发者或者其它第三方扩展。因此,即使订户可以使用预定义的安全设置来限制对他们的个人信息的访问,订户和第三方仍然不能更改预定义的安全设置。因而,不能创建许多潜在地有价值的应用,因为批准该应用的操作所需要的访问将需要批准比终端用户或者服务提供者(例如在所有时间对于所有用户在全局基础上)愿意允许的对资源的访问更广泛的访问。
在本申请中描述的技术的实施例可以允许开发者或者第三方将查询附着到(现有或者新的)资源,这些查询基于社交图的当前状态批准对关联资源的访问。例如,查询可以基于请求用户与拥有资源的用户的关系、请求用户与资源的关系或者两个标准的组合来批准对资源的访问。也可以基于在资源所有者与资源请求者之间的以往交互来批准或者拒绝对资源的访问,例如,可以向已经在相片中频繁地出现或者关于资源所有者拥有的资源频繁地评论的请求者批准访问。访问批准查询返回指示是否允许访问资源的布尔值。用户或者社交网络服务提供者可以在访问控制查询可以被添加到社交图之前授权将查询附着到资源。开发者或者其它第三方可以创建可以提供对用户的资源的有条件访问的查询、然后使用这些查询来创建应用或者服务,这些应用或者服务利用用户的资源的扩展的可访问性。例如,开发者可以创建如下应用,该应用批准对资源、诸如第一用户发表的相片的访问,从而即使在相片中标注的用户或者订户通常未被授权读取或者向第一用户拥有的资源进行写入,他们也仍然可以对相片做评论。访问控制查询可以是动态或者临时的。例如,授权的访问控制查询可以响应于用户发起使用访问控制查询的服务而被附着到用户的资源,然后访问控制查询可以在服务终止时被去除。
图1在概念上图示通信系统100的一个示例性实施例。在所示实施例中,通信系统100包括多个订户或者用户105。如这里所用,术语“订户”将被理解为是指已经预订了支持社交图的社交网络服务的用户。术语“用户”将是指如下人或者实体,这些人或者实体可以在社交图中被引用或者与社交图关联,但是其未必是社交网络服务的订户。订户因此可以是与社交网络服务关联的用户的子集。例如,订户可以被称为社交网络服务的注册用户。用户105被描绘为移动通信设备、诸如智能电话。然而,受益于本公开内容的本领域技术人员应当认识到术语“用户”可以指用来访问通信系统100的电子设备或者指拥有或者操作设备的个人。另外,本领域普通技术人员应当认识到电子设备不限于移动通信设备,并且在一些实施例中,诸如写字板计算机、膝上型计算机、桌面型计算机等的设备也可以用来访问通信系统100。在各种实施例中,用户105可以使用有线连接、无线连接或者其任何组合来访问通信系统100。
用户105可以预订一个或者多个社交网络服务110、115。示例性社交网络服务包括Facebook提供的社交网络服务110和Google+提供的社交网络服务115。然而,受益于本公开内容的本领域普通技术人员应当认识到通信系统100的备选实施例可以包括其它社交网络服务,诸如Twitter、LinkedIn、VKonkatke、Orkut、RenRen等。在所示实施例中,用户105(1-4)已经预定社交网络服务110,并且用户105(4-5)已经预定社交网络服务115。用户105因此可以已经创建简档并且建立与社交网络服务110、115的社交图中的其他订户的关系。用户105、与用户105有关的信息和用户105之间的关系可以由社交图的结构表示。例如,社交网络110的社交图可以包括如下节点(例如,“订户”、“好友列表”、“密友”等),这些节点使用通过节点之间的关系所定义的边而相互关联。
应用开发者120可以开发如下应用(app)或者服务,这些应用或者服务使用社交网络110、115的社交图中的信息来生成并且向用户105或者其它第三方、诸如尝试向用户105提供目标广告的广告发布者提供有用信息。应用开发者120分别使用用于社交网络服务110、115的应用编程接口(API)125、130来创建或者定义应用或者服务。API 125、130初始地由社交网络服务110、115的提供者或者所有者定义,并且对于所有用户105支持相同API125、130。在一个实施例中,API 125、130遵从代表状态转移(REST)架构所施加的约束。与社交联网站点110、115的REST式web服务API 125、130可以提供资源分级(由服务API定义)并且支持对与每个用户105关联的社交网络信息的各种元素的读取或者写入访问。例如,资源分级可以定义包括非叶节点的树,这些非叶节点定义信息类别或者子集。树也可以定义节点或者叶,这些节点或者叶代表可以通过web服务API 125、130读取或者写入的数据的实例。该布置对于许多web服务是典型的。在常规web服务中,资源命名方案由服务提供者定义并且不可扩展。
如这里讨论的那样,用于社交联网站点110、115的REST式web服务API 125、130静态地定义资源和访问控制方案,该访问控制方案控制或者门控对资源的访问。这里描述的技术的实施例允许例如通过在按用户或者按服务或者按应用的基础上扩展访问控制权来扩展或者延伸API 125、130以支持更灵活的访问控制。扩展的访问控制权可以用来根据社交图的当前状态批准访问。例如,对选择的资源的访问可以根据用户或者订户与选择的资源的关系或者他们与资源的所有者的关系而被有条件地批准给他们。在一个实施例中,取代尝试预期用于新服务或者应用可能需要的REST式web服务的访问控制粒度,应用开发者可以能够使用适当定义的查询表达来定制访问控制。
访问控制查询的各种实施例可以使用逻辑表达来定义并且可以返回不同值。在一个实施例中,开发者可以选择或者指定可以针对web服务资源应用的布尔值(真/假)查询表达以确定用户是否可以访问web服务资源。开发者可以备选地选择或者指定查询表达,这些查询表达返回可以用来指示用户的访问控制状态的其它参数。例如,返回指示用户先前已经访问有关资源的次数的计数器值的查询表达用来确定是否向用户给予对web服务资源的访问。也可以定义更复杂的查询。例如,批准访问控制的查询表达可以是返回逻辑表达的查询,该逻辑表达组合查询的结果与逻辑运算符(例如,“AND”、“OR”或者“NOT”)或者数学比较运算符(<、<=、>、>+、==、!=)以提供布尔(真或者假)结果。又例如,可以提供动态语言的函数,例如以JavaScript表达的函数,该函数对一个或者多个查询“结果集合”的行和列进行运算以提供真/假结果。因此,例如包含两个查询的访问控制查询表达可以是以下形式:
“(0<(SELECT count from friends_table where…))AND(6<(SELECT countfrom photos_table where…))”
备选地,利用JavaScript函数,查询表达可以是以下形式:
受益于本公开内容的本领域技术人员应当认识到前述示例查询旨在于举例说明。访问控制查询的备选实施例可以使用这些格式、其它查询格式或者其组合。
查询表达可以与REST式动作(GET,PUT/POST,DELETE)关联并且可以确定对于web服务请求是否批准访问。可以用包括SQL、SPARQL或者XPath的任何查询语言实施查询表达。查询表达可以与目标资源直接关联或者可以备选地被添加到web服务作为可以在单个操作中针对多个资源应用的并且对于它们中的一些或者所有资源而废除或者修改的附加资源。建议或者描述查询表达所批准的权限的性质的名称或者描述可以与查询表达关联。如果查询表达被添加作为对web服务的扩展,则名称可以用作URI中的资源名称的元素,其用来通过REST式PUT/POST、GET和DELETE操作来建立、读取和删除查询表达。
在所示实施例中,用户105可以向社交网络服务110、115中的一个或者多个社交网络服务发表资源并且可以调用服务,这些服务可以提供对发表的资源的有条件的访问。例如,用户105(4)可以在Facebook上发表群相片、然后调用如下服务,该服务向与群相片关联的节点附着查询以向在相片中标注的用户有条件地批准访问而不管用户可能必须与在相片上的用户105(4)具有的任何其它关系如何。如果用户105(1)是用户105(4)的Facebook好友,则用户105(1)可以对相片做评论。用户105(2)可以不是用户105(4)的Facebook好友,但是该服务可以使用查询以向用户105(2)批准有条件的访问,从而如果用户105(2)在相片中被标注,则用户105(2)可以对相片做评论。用户105(3)可以不是用户105(4)的Facebook好友并且可以在相片中未被标注。查询因此不向用户105(3)批准访问。
通信系统100的实施例可以允许具有适当权限的开发者120通过添加叶节点来扩展资源树,这些叶节点表示新叶节点被附着到的节点所表示的数据的新“视图”。这些节点可以被开发者120命名并且与对树的、其中插入新叶节点的分支所标识的数据子集(或者子树)进行操作的一个或者多个访问控制查询关联。可以通过离线web界面添加或者通过HTTPPOST请求来插入节点或者查询。查询/视图可以被开发者120命名或者定义或者可以从社交网络服务110、115的提供者可用的预定义“查询/视图”菜单中选择该查询/视图。在各种备选实施例中,查询参数可以由开发者定义、由上下文/节点确定或者由服务或者应用动态地确定。
图2在概念上图示社交图的一部分200的第一示例性实施例。在所示实施例中,该部分200是全社交图的子树,并且子树200包括与特定订户“Joe订户”关联的节点。可以经由入口节点或者父节点205访问该部分200。该部分200可以被存储于一个或者多个服务器中,并且客户端可以通过向服务器发送适当的统一资源指示符(URI)或者其它地址来访问入口节点205。例如,入口节点205可以通过发送URI地址http://www.fakesocialnetwork.com/Joe.Subscriber来访问。该部分200也包括连接到入口节点205或者连接到该部分200内的其它节点的子节点210。子节点210可以与信息、类别、其它订户等关联。例如,子节点210可以与“好友”、“相片”、“简档”、“音乐”等关联。节点200也可以与共享兴趣的订户或者用户群或者如下群关联,这些群指示用户/订户之间的关系的性质、诸如家人、密友、熟人、业务联系人等。可以使用对应地址来访问节点210,诸如:
http://www.fakesocialnetwork.com/Joe.Subscriber/FriendsLists/CloseFriends以及
http://www.fakesocialnetwork.com/Joe.Subscriber/Photographs。
在所示实施例中,开发者或者其他第三方可以将一个或者多个访问控制查询215附着到社交图的部分200中的与订户对应的节点210。访问控制查询215可以对与节点210(1)关联的资源220、诸如相片或者其它资源进行操作。在一个实施例中,开发者可以使用消息或者命令来定义查询215并且将查询215附着到一个或者多个节点以修改用于社交图200的应用编程接口(API)。例如,查询215可以响应于Joe订户调用如下服务而被附着到节点210(1)(例如,相片节点),该服务利用查询215以修改用于与节点210(1)关联的资源220的访问控制。调用查询的地址的一个示例是:
http://www.fakesocialnetwork.com/Joe.Subscriber/Photographs/Photo1/Tagged_User,该地址调用向相片节点210(1)附着的查询215。如果在查询215中指示的用户在照片1中被标注,则查询215可以返回布尔真、由此向用户批准访问资源,例如对相片做评论。否则,查询215可以返回布尔假以指示对于访问的请求已经被拒绝。例如,照片1这一相片可以包括用于Frank Friendly和Bob Whatsisname的标签。标签可以在标签列表225中被指示或者使用任何其它指示符来指示。Frank Friendly如在标签列表225中的“Y”指示的那样是Joe订户的好友,并且Bob Whatsisname如在标签列表225中的“N”指示的那样不是Joe订户的好友。然而,查询215可以向Bob Whatsisname批准对照片1这一相片的有条件的访问权,因为Bob Whatsisname在照片1这一相片中被标注。
常规查询语言的实施例通常可以灵活到足以允许设计可以在社交图200内的不同位置或者节点中应用的单个查询。节点可以对于每个查询215由开发者选择或者节点可以使用自动化过程或者算法来选择。例如,社交联网站点可以检查查询215、选择将查询215应用到的适当节点、将查询215迭代地(或者并行地)应用于树中的选择的节点并且组合结果。在一些实施例中,开发者或者第三方可能需要获得用于将查询215附着到社交图200的权限或者授权。例如,开发者或者第三方可能需要从Joe订户或者社交图的服务提供者或者所有者获得权限或者授权。授权仅可以对于有限量的时间有效,例如在订户已经调用或者发起利用查询215的应用或者服务之后并且在订户终止该应用或者服务之前有效。查询215因此可以是临时或者动态查询。
图3在概念上图示用于修改用于社交图的访问控制的方法300的第一示例性实施例。在所示实施例中,访问控制查询由开发者或者第三方生成(在305)。访问控制查询可以用作开发者或者第三方创建的服务或者应用的一部分。访问控制查询可以对开发者或者第三方定义的节点的子树进行操作并且旨在于被插入到社交图中的与一个或者多个用户、例如已经调用了利用查询的服务的订户关联的部分中。开发者或者第三方然后可以向一个或者多个指明的节点发送(在310)对于附着查询的请求。例如,可以将查询表达编写为REST式PSOT请求,其请求修改对社交图的资源的访问控制。
在常规访问控制方案中,REST式服务的用户向服务呈现访问令牌(或者应用代表终端用户来呈现访问令牌),并且访问令牌标识已经向用户/应用批准的访问。服务的预定资源可以指定什么访问权限被批准给特定用户。例如,在Google日历中,用户可以被指派确定该用户的访问权的角色(role)。对于给定的资源(例如,Google:“/calendar/v3/calendars/KidsEvents”),该角色确定用户是否具有对资源的访问(通过HTTP GET请求)、可以更新日历(通过HTTP PUT请求)或者可以删除日历(通过HTTP DELETE请求)。这些角色批准为该角色预定义的访问权的汇集。预定角色由服务提供者固定并且不可被用户、开发者或者第三方扩展。
在所示实施例中,请求(在305)的访问控制查询可以用来批准对资源的个别访问权、由此绕过基于角色的访问控制。备选地,用户可以基于请求(在305)的访问控制查询的结果而与特定角色关联,该结果可以通过访问令牌超越(或者扩充)向用户批准的访问。访问控制查询将被附着到资源树中的节点,并且查询节点的放置可以确定角色的范围。例如,查询范围可以限于查询被附着到的子树中的资源。查询节点可以被给予有意义的名称。例如,用于确定是否向看护者给予对订户的列举孩子的事件的日历的访问的查询的查询节点可以被命名为“GrantCaregiverAccess”并且可以使用关联URI来替换或者删除。
http://www.fakesocialnetwork.com/Joe.Subscriber/Calendar/CalendarsKidsEvents/GrantCaregiversAccess
在适当授权的情况下,用来为Google日历式服务创建查询的post请求可以使用格式(JSON):
备选地,post请求可以使用以下格式以经由GET命令批准特定权利:
为了删除访问查询,应用或者终端用户可以发布HTTP请求、诸如:
DELETE/calendar/calendars/GrantCaregiversAccess HTTP/1.1在各种备选实施例中,一个或者多个访问控制查询可以被附着到给定的节点,但是在实践中,用户可以选择向该用户运用少数高值。在一些实施例中,阴影节点或者模式匹配可以用来将查询关联到未在已经制作查询的用户的控制之下的节点。
又例如,在Facebook式服务的情境中,查询可以用来基于查询的设计来批准或者拒绝对照片簿或者对相册中的个别照片的访问。服务可以基于针对查询的参数确定查询是否批准对它被附着到的相册或者相册列表的访问或者对它被附着到的相册或者相册列表内的个别照片的访问:
Facebook中的照片可以各自具有多个“性质”,并且这些性质可以在查询中出现以进一步限制访问。例如,“标签”性质列举在照片中描绘的个人并且可以用来使访问仅限于其中特定用户被描绘的那些相片。
在所示实施例中,对于附着访问控制查询的请求可能需要来自用户/订户的授权。可以执行(在315)用户授权过程以验证用户已经授权将访问控制查询附着到用户的社交图的一个或者多个节点。可以使用各种技术来执行用户授权。例如,对于插入查询的请求可以包括对于发起认证/授权过程的请求,该认证/授权过程允许用户指示(在315)他们是否准予或者允许实施新查询。如果用户未提供确认或者认证,则拒绝(在320)请求。如果订户确认或者认证该请求,则该请求可以继续。
在所示实施例中,请求也可能需要来自社交网络(SN)服务的提供者或者所有者的授权。可以执行(在325)提供者授权过程以验证提供者/所有者是否已经授权向用户的社交图中插入新查询。可以使用各种技术来执行提供者授权。例如,对于附着访问控制查询的请求可以包括对于发起认证/授权过程的请求,该认证/授权过程允许提供者指示(在315)他们是否准予或者允许实施新查询。在一个实施例中,提供者可以使用自动化的系统来执行认证/授权过程,该自动化的系统审查请求并且确定请求是否符合提供者建立的安全、隐私或者其它策略。在安装到web服务中之前,查询可以被机械地验证以保证它符合web服务的安全/使用策略。例如,web服务可以仅允许返回布尔结果的查询、可以限制访问控制查询可以与之关联的节点类型(例如,仅“相片”节点)。如果提供者未提供确认或者认证,则拒绝(在320)请求。如果提供者确认或者认证了请求,则该请求可以继续。受益于本公开内容的本领域普通技术人员应当认识到,在图3中描绘的特定认证序列旨在于举例说明。备选实施例可以并行地或者按照与图3中描绘的顺序不同的顺序执行用户和提供者认证过程。另外,其它备选实施例可以仅执行用户认证或者提供者认证、但是不执行二者或者可以完全不执行任何认证。
一旦请求已经被授权,则可以在社交图内选择的位置处附着(在330)请求的查询。开发者、第三方或者其它实体然后可以能够使用修改的界面以启用如下应用或者服务,这些应用或者服务利用新查询。例如,以上描述的POST请求可以造成扩展用于订户(Joe订户)的API,从而现在有可能产生对于URI的GET请求:
http://www.fakesocialnetwork.com/Joe.Subscriber/Photographs/Photo1可以使用查询、诸如以下查询来确定对请求的资源(即照片1这一照片)的访问控制:
http://www.fakesocialnetwork.com/Joe.Subscriber/Photographs/AllowAccessforTaggedUser访问控制查询根据Bob Whatsisname是否在用于照片1这一照片的标签列表中来返回布尔值。在一个实施例中,访问控制查询对开发者可见并且可用于如下应用,该应用使用访问控制查询,但是访问控制查询可以对用户不可见,从而尝试获得对资源的访问的用户可以不知道正在执行任何访问控制。
方法300的实施例因此可以支持修改的界面,这些界面提供更广和更多变化的访问控制权集合而减少提供对代表社交图的下层数据库的过量或者完整访问的风险。POST请求所进行的修改可以仅影响授权该请求的用户(Joe订户)并且可以被对应HTTP DELETE请求或者其它操作反转。在一个实施例中,用于插入查询的机制可以创建与终端用户关联的记录。插入的记录可以包含查询和将在GET请求中使用的关联路径。在各种实施例中,Web服务支持一个或者多个查询语言并且公布用于伴随查询语言的概要(schema)。
图4在概念上图示查询用于社交图的修改的应用编程接口的方法400的一个示例性实施例。在所示实施例中,方法400在按用户和按应用基础上修改应用编程接口,从而该接口使用的访问控制权不总是被全局地改变,而是仅在特定用户调用使用修改的接口的服务时被改变,并且在一些实施例中仅对于已经调用有关服务并且已经授权修改用于社交图的相关部分的接口的那些用户而被改变。一个或者多个用户可以发起(在405)服务或者应用。发起的应用可以利用提供者定义的API不支持的访问控制查询。然后,可以创建一个或者多个新访问控制查询,并且该(一个或多个)访问控制查询可以被附着到相关节点(在410)。在图3中描绘用于附着查询的技术的实施例。
服务提供者(例如,使用在服务提供者拥有或者操作的一个或者多个服务器上实施的软件、固件或者硬件)然后可以监视(在410)与服务关联的查询。只要服务提供者未检测到(在410)任何查询,监视可以继续。在服务提供者检测到(在415)访问控制查询时,可以对与该查询关联的节点的子树中所包括的信息执行(在420)该查询,该访问控制查询例如是如下查询:该查询被执行以用于请求访问作为订户请求或者调用的服务的一部分的社交图。例如,该查询可以至少部分地基于节点的子树中所包括的信息返回(在420)布尔值,该布尔值指示访问请求是否已经被批准或者拒绝。
图5在概念上图示去除或者反转对用于社交图的应用编程接口的修改的方法500的一个示例性实施例。在所示实施例中,先前已经响应于一个或者多个用户调用下述服务而在按用户或按应用的基础上修改了应用编程接口:该服务使用修改的接口,并且在一些实施例中仅对于已经调用有关服务并且已经授权修改用于社交图的相关部分的接口的那些用户才在按用户或者按应用基础上修改(例如,这里关于图3-图4描述的那样)应用编程接口。先前发起服务的用户——这造成用于他们的社交图的接口的修改——中的一个或者多个用户可以决定终止应用。服务提供者因此可以接收(在505)对于终止应用的请求。服务提供者可以标识(在510)被附着到社交图以支持修改的接口的临时访问控制查询。可以使用服务提供者存储的信息或者用户提供的信息来执行对临时查询的标识(在510)。然后,可以删除(在515)临时查询,并且可以终止应用(在520)。在一个实施例中,删除(在515)临时查询可以包括去除与临时查询关联的节点、叶节点、子树或者其它信息。
图6在概念上图示社交图600的一部分的第二示例性实施例。如在图2中所示的第一实施例中那样,该部分600是全社交图的子树,该子树包括与特定订户“Joe订户”关联的节点。可以经由入口节点或者父节点605访问该部分600。该部分600可以被存储于一个或者多个服务器中,并且客户端可以使用适当的统一资源指示符(URI)或者其它地址来访问入口节点605。该部分600也包括连接到入口节点605或者连接到该部分600内的其它节点的子节点610。子节点610可以与如这里讨论的信息、类别、其他订户等关联。可以使用对应地址、诸如以下地址来访问节点610:
http://www.fakesocialnetwork.com/Joe.Subscriber/Calendar.
在所示实施例中,开发者或者其它第三方可以向社交图中与订户对应的部分600添加一个或者多个节点615。例如,开发者可以使用HTTP POST命令来插入被关联或者附着到子树600的节点610(4)的节点615。可以使用适当URI或者其它地址来访问节点615。例如,节点610(3)可以与Joe订户的“日历”关联,节点610(4)可以与Joe订户的“(多个)日历”关联,并且节点615可以与如下类别关联,该类别包括Joe的孩子参与的事件,诸如“KidEvents”。节点615也可以与又一子树620关联或者连接到又一子树620,该子树包括多个叶节点625,诸如芭蕾课程、足球练习、钢琴独奏等。然而,受益于本公开内容的本领域普通技术人员应当认识到,子树620可以包括节点或者叶节点的不同组合。子树620或者叶节点625可以由开发者、第三方、订户或者自动地由服务提供者填充。可以使用地址、诸如以下地址来访问节点615:
http://www.fakesocialnetwork.com/Joe.Subscriber/Calendar/Calendars/KidEvents.
在一些实施例中,开发者或者第三方可能需要获得用于向社交图添加节点615的权限或者授权。例如,开发者或者第三方可能需要从Joe订户或者社交图的服务提供者或者所有者获得权限或者授权。该授权可以仅对于有限量的时间有效,例如在订户已经调用或者发起利用节点615的应用或者服务之后并且在订户终止该应用或者服务之前有效。该节点615因此可以是临时或者动态节点。
可以修改用于社交图600的接口以支持对向社交图600添加的节点615操作的访问控制查询630。在一个实施例中,开发者可以使用消息或者命令以定义访问控制查询630并且将查询630附着到一个或者多个节点以修改用于社交图200的应用编程接口(API)。例如,用于孩子的事件“KidEvents”的节点615可以被创建并且被附着到查询,该查询确定是否向看护者给予对订户的日历的访问,该日历列出孩子的事件,其可以被命名为“GrantCaregiverAccess”并且可以使用关联URI来替换或者删除。
http://www.fakesocialnetwork.com/Joe.Subscriber/Calendar/CalendarsKidsEvents/GrantCaregiversAccess
在适当授权的情况下,用来为Google日历式服务创建查询的发表请求可以使用格式(JSON):
然而,在备选实施例中,其它地址或者具有其它格式的请求消息可以用来创建节点615或者访问控制查询630。
图7在概念上图示用于修改用于社交图的访问控制的方法700的第二示例性实施例。在所示实施例中,访问控制查询如这里讨论的那样由开发者或者第三方生成(在705)。访问控制查询可以用作开发者或者第三方创建的服务或者应用的一部分。访问控制查询可以对开发者或者第三方定义的节点的子树操作并且旨在于被插入到社交图中的与一个或者多个用户关联的部分中,这些用户例如是已经调用利用该查询的服务的订户。开发者或者第三方然后可以发送(在710)对于创建节点并且将访问控制查询附着到新创建的节点的请求。例如,可以将查询表达编写为REST式POST请求,其请求修改程序员的用于社交图的API的视图。在适当授权的情况下,用于扩展API的、对以下URI的请求:
http://www.fakesocialnetwork.com/Joe.Subscriber/Calendar/Calendars/
可以被编写如下:
然而,受益于本公开内容的本领域普通技术人员应当认识到其它查询表达或者格式可以用于请求。
在所示实施例中,请求可能需要来自用户/订户的授权。可以执行(在715)用户授权过程以验证用户是否已经授权向用户的社交图中插入新节点。可以使用各种技术来执行用户授权。例如,对于创建节点和附着查询的请求可以包括对于发起认证/授权过程的请求,该认证/授权过程允许用户指示(在715)他们是否准予或者允许创建新节点和实施新查询。如果用户不提供确认或者认证,则拒绝(在720)请求。如果订户确认或者认证请求,则该请求可以继续。
在所示实施例中,请求也可能需要来自社交网络(SN)服务的提供者或者所有者的授权。可以执行(在725)提供者授权过程以验证提供者/所有者已经授权向用户的社交图中插入新节点。可以使用各种技术来执行提供者授权。例如,对于创建节点和附着查询的请求可以包括对于发起认证/授权过程的请求,该认证/授权过程允许提供者指示(在715)他们是否准予或者允许创建新节点或者实施新访问控制查询。在一个实施例中,提供者可以使用自动化的系统来执行认证/授权过程,该自动化的系统审查请求并且确定请求是否符合提供者建立的安全、私密或者其它策略。在安装到web服务中之前,访问控制查询可以被机械地验证以保证它符合web服务的安全/使用策略。如果提供者未提供确认或者认证,则拒绝(在720)请求。如果提供者确认或者认证请求,则该请求可以继续。受益于本公开内容的本领域普通技术人员应当认识到在图7中描绘的特定认证序列旨在于举例说明。备选实施例可以并行地或者按照与图7中描绘的顺序不同的顺序来执行用户和提供者认证过程。另外,其它备选实施例可以仅执行用户认证或者提供者认证、但是不执行二者或者可以完全不执行任何认证。
一旦请求已经被授权,可以在社交图内在选择的位置处插入(在730)请求的节点。然后,可以通过将访问控制查询附着(在735)到新节点或者在树中更低的节点来修改用于社交图的接口。开发者或者第三方或者其它实体然后可以能够开发如下应用或者服务,这些应用或者服务利用新访问控制查询。例如,可以使用URI来调用与日历KidEvents关联的访问控制查询:
http://www.fakesocialnetwork.com/Joe.Subscriber/Calendar/Calendars/KidEvents/GrantCaregiversAccess
在所示实施例中,如果请求来自授权的看护者,则请求返回布尔真,而如果请求不来自授权的看护者,则返回布尔假。方法700的实施例因此可以提供更广和更多变化的访问控制权集合,而减少提供对代表社交图的下层数据库的过量或者完整访问的风险。POST请求所进行的修改可以仅影响对用户的资源或者授权该请求的用户(Joe订户)可访问的那些资源的访问并且可以被对应HTTP DELETE请求或者其它操作反转。在一个实施例中,用于插入查询的机制可能创建与终端用户关联的记录。插入的记录可以包含查询和将在GET请求中使用的关联路径。在各种实施例中,Web服务支持一个或者多个查询语言并且公布用于伴随查询语言的概要。在一个实施例中,新节点或者附着的查询可以是临时的。例如,可以响应于用户调用利用节点或者查询的服务来添加该节点或者查询。也可以例如响应于使用节点或者查询的服务的终止来去除或者删除该节点或者查询。
图8在概念上图示服务器800的一个示例性实施例,该服务器可以用来存储社交图的部分、实施用于社交图的应用编程接口或者实施社交网络服务。在所示实施例中,服务器800包括处理器805、数据存储装置810和输入/输出(I/O)接口815。处理器805被配置为例如使用在数据存储装置810中或者在其它位置存储的数据或者指令来控制服务器800的操作。这里结合图1-图7来描述服务器800可以执行的操作的实施例。在一个实施例中,数据存储装置810存储表示用于社交图的一个或者多个应用编程接口的信息820、表示社交图的部分的信息825或者表示可以使用在社交图中存储的信息的社交网络服务的信息830。
虽然图8描绘单个服务器800,但是受益于本公开内容的本领域普通技术人员应当认识到备选实施例可以使用多个服务器并且可以遍布多个服务器分布在图8中描绘的功能的部分。在一些实施例中,服务器800可以是虚拟机。在这些实施例中的一些实施例中,虚拟机可以包括来自不同机器的部件或者在地理上被分散。例如,数据存储装置810和处理器805可以在两个不同物理机器中。在处理器805上实施处理器可执行程序、诸如社交网络服务830时,程序代码段与处理器805组合以提供与特定逻辑电路类似地操作的唯一设备。
在软件或者算法和对计算机存储器内的数据比特的操作的符号表示方面呈现了公开的主题内容的部分和对应具体描述。这些描述和表示是本领域普通技术人员用来向本领域其他普通技术人员有效地传达他们的工作实质的描述和表示。算法如该术语在这里被使用的那样并且如它一般被使用的那样被认为是促成希望的结果的步骤的自一致序列。步骤是需要物理操纵物理量的步骤。尽管未必但是通常地,这些量采用能够被存储、传送、组合、比较和以别的方式操控的光、电或者磁信号的形式。主要出于普遍使用的原因而将这些信号称为比特、值、元素、符号、字符、项、数等已经证实有时是方便的。
然而,应当了解所有这些和相似术语将与适当物理量关联并且仅仅是应用于这些量的方便标记。除非另有具体明示或者如根据讨论而清楚的那样,诸如“处理”或者“计算”或者“运算”或者“确定”或者“显示”等术语是指计算机系统或者相似电子计算设备的动作和过程,该计算机系统或者相似电子计算设备将在计算机系统的寄存器和存储器内将被表示为物理、电子量的数据操控或者变换成在计算机系统存储器或者寄存器或者其它这样的信息存储、传输或者显示设备内被相似地表示为物理量的其它数据。
也注意到,通常在某一形式的程序存储介质上编码或者通过某个类型的传输介质实施公开的主题内容的由软件实施的方面。程序存储介质可以是磁介质(例如,软盘或者硬驱动)或者光介质(例如,紧缩盘只读存储器或者“CD ROM”)并且可以是只读或者随机存取。相似地,传输介质可以是双绞线、同轴线缆、光纤或者本领域已知的某个其它适当传输介质。公开的主题内容不受任何给定的实现方式的这些方面的限制。
以上公开的具体实施例仅为示例性的,因为可以用受益于这里的教导的本领域技术人员所清楚的不同、但是等效方式修改和实现公开的主题内容。另外,除了如在所附权利要求中描述的限定之外,不存在针对这里所示的构造或者设计的细节的任何限制。因此,不言而喻,可以变更或者修改以上公开的具体实施例,并且认为所有这样的变化在公开的主题内容的范围内。因而,这里寻求的保护在所附权利要求中得以阐述。

Claims (31)

1.一种用于接入控制的方法,包括:
响应于服务被调用而接收用于配置查询的信息,其中所述服务被配置为使用所述查询来请求访问与第一用户关联的社交图的资源,其中所述资源的子集与所述社交图的部分中的节点关联;以及
将所述查询附着到所述节点,使得所述查询对与所述节点关联的所述社交图的所述资源的所述子集进行操作,并且其中所述查询根据所述社交图的当前状态返回信息,所述信息指示对访问所述资源的所述子集的请求是被批准还是被拒绝。
2.根据权利要求1所述的方法,包括从第二用户接收对访问与所述节点关联的所述资源的所述子集的所述请求并且响应于接收到所述请求而调用所述查询。
3.根据权利要求2所述的方法,其中调用所述查询包括基于下述关系中的至少一种关系来确定是否批准或者拒绝所述请求:所述第二用户与所述第一用户的关系或者所述第二用户与所述资源的所述子集的关系,其中所述关系由所述社交图中的边表示。
4.根据权利要求3所述的方法,其中调用所述查询包括返回布尔值以指示对于访问所述资源的所述子集的所述请求是被批准还是被拒绝。
5.根据权利要求1所述的方法,其中将所述查询附着到所述节点包括响应于所述第一用户调用请求访问与所述节点关联的所述资源的所述子集的所述服务而将所述查询附着到所述节点。
6.根据权利要求5所述的方法,包括响应于所述第一用户调用所述服务而将所述节点添加到与所述第一用户关联的所述社交图的所述部分并且然后将所述查询附着到新添加的所述节点。
7.根据权利要求5所述的方法,包括响应于所述第一用户终止所述服务而删除所述查询。
8.根据权利要求1所述的方法,其中将所述查询附着到所述节点包括响应于确定所述第一用户授权将所述查询附着到所述第一用户拥有的所述节点,而将所述查询附着到所述节点。
9.根据权利要求1所述的方法,其中将所述查询附着到所述节点包括响应于确定拥有所述社交图的服务提供者授权将所述查询附着到所述第一用户拥有的所述节点,而将所述查询附着到所述节点。
10.一种用于接入控制的方法,包括:
调用被配置为对第一用户所拥有的社交图的资源执行查询的服务,其中所述资源的子集与所述社交图的部分中的节点相关联;以及
响应于调用所述服务而将查询附着到所述节点,使得所述查询根据所述社交图的当前状态确定是批准还是拒绝对访问与所述节点关联的所述资源的所述子集的请求。
11.根据权利要求10所述的方法,其中将所述查询附着到所述节点包括响应于所述第一用户调用请求访问与所述节点关联的所述资源的所述子集的所述服务而将所述查询附着到所述节点。
12.根据权利要求11所述的方法,包括响应于所述第一用户调用所述服务而将所述节点添加到与所述第一用户关联的所述社交图的所述部分并且然后将所述查询附着到新添加的所述节点。
13.根据权利要求11所述的方法,包括响应于所述第一用户终止所述服务而删除所述查询。
14.根据权利要求10所述的方法,其中将所述查询附着到所述节点包括响应于确定所述第一用户授权将所述查询附着到所述第一用户拥有的所述节点而将所述查询附着到所述节点。
15.根据权利要求10所述的方法,其中将所述查询附着到所述节点包括响应于确定拥有所述社交图的服务提供者授权将所述查询附着到所述第一用户拥有的所述节点,而将所述查询附着到所述节点。
16.根据权利要求10所述的方法,包括从第二用户接收对使用所述服务来访问与所述节点关联的所述资源的所述子集的所述请求并且响应于接收到所述请求而调用所述查询。
17.根据权利要求16所述的方法,其中调用所述查询包括基于下述关系中的至少一种关系来确定是批准还是拒绝所述请求:所述第二用户与所述第一用户的关系或者所述第二用户与所述资源的所述子集的关系,其中所述关系由所述社交图中的边表示。
18.根据权利要求16所述的方法,其中调用所述查询包括返回布尔值以指示对于访问所述资源的所述子集的所述请求是被批准还是被拒绝。
19.根据权利要求18所述的方法,包括响应于所述查询返回所述布尔值以指示所述请求被批准而向所述服务提供对所述资源的访问。
20.一种用于提供对社交图的部分的访问控制的装置,所述装置包括:
数据存储装置;和
通信地耦合到所述数据存储装置的处理器,所述处理器被配置为:
响应于服务被调用而接收用于配置查询的信息,其中所述服务被配置为使用所述查询来请求访问与第一用户关联的社交图的资源,其中所述资源的子集与所述社交图的部分中的节点关联;以及
将所述查询附着到所述节点,使得所述查询对与所述节点关联的所述资源的所述子集进行操作,并且其中所述查询根据所述社交图的当前状态返回信息,所述信息指示对访问所述资源的所述子集的请求是被批准还是被拒绝。
21.根据权利要求20所述的装置,其中所述处理器被配置为从第二用户接收对访问与所述节点关联的所述资源的所述子集的所述请求并且响应于接收到所述请求而调用所述查询。
22.根据权利要求20所述的装置,其中所述处理器被配置为响应于所述第一用户调用请求访问与所述节点关联的所述资源的所述子集的所述服务而将所述查询附着到所述节点。
23.根据权利要求22所述的装置,其中所述处理器被配置为响应于所述第一用户调用所述服务而将所述节点添加到与所述第一用户关联的所述社交图的所述部分并且然后将所述查询附着到新添加的所述节点。
24.根据权利要求22所述的装置,其中所述处理器被配置为响应于所述第一用户终止所述服务而删除所述查询。
25.根据权利要求20所述的装置,其中所述处理器被配置为通过响应于确定所述第一用户授权将所述查询附着到所述第一用户拥有的所述节点,而将所述查询附着到所述节点来将所述查询附着到所述节点。
26.根据权利要求20所述的装置,其中所述处理器被配置为通过响应于确定拥有所述社交图的服务提供者授权将所述查询附着到所述第一用户拥有的所述节点,而将所述查询附着到所述节点来将所述查询附着到所述节点。
27.一种用于提供对社交图的部分的访问控制的装置,所述装置包括:
数据存储装置;和
通信地耦合到所述数据存储装置的处理器,所述处理器被配置为:
调用被配置为对第一用户所拥有的社交图的资源执行查询的服务,其中所述资源的子集与所述社交图的部分中的节点相关联;以及
响应于调用所述服务而将查询附着到所述节点,使得所述查询根据所述社交图的当前状态确定是批准还是拒绝对访问与所述节点关联的所述资源的所述子集的请求。
28.根据权利要求27所述的装置,其中所述处理器被配置为响应于所述第一用户调用所述服务而将所述节点添加到与所述第一用户关联的所述社交图的所述部分并且然后将所述查询附着到新添加的所述节点。
29.根据权利要求27所述的装置,其中所述处理器被配置为响应于所述第一用户终止所述服务而删除所述查询。
30.根据权利要求27所述的装置,其中所述处理器被配置为通过响应于确定所述第一用户授权将所述查询附着到所述第一用户拥有的所述节点,而将所述查询附着到所述节点来将所述查询附着到所述节点。
31.根据权利要求27所述的装置,其中所述处理器被配置为通过响应于确定拥有所述社交图的服务提供者授权将所述查询附着到所述第一用户拥有的所述节点,而将所述查询附着到所述节点来将所述查询附着到所述节点。
CN201380015067.6A 2012-03-19 2013-03-18 使用查询语言修改用于web服务的访问控制的方法 Active CN104205086B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US13/423,697 2012-03-19
US13/423,795 US9177168B2 (en) 2012-03-19 2012-03-19 Method of modifying access control for web services using query languages
US13/423,697 US9047643B2 (en) 2012-03-19 2012-03-19 Method of extending web service application programming interfaces using query languages
US13/423,795 2012-03-19
PCT/US2013/032751 WO2013142399A1 (en) 2012-03-19 2013-03-18 Method of modifying access control for web services using query languages

Publications (2)

Publication Number Publication Date
CN104205086A CN104205086A (zh) 2014-12-10
CN104205086B true CN104205086B (zh) 2017-03-01

Family

ID=48045111

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380015067.6A Active CN104205086B (zh) 2012-03-19 2013-03-18 使用查询语言修改用于web服务的访问控制的方法

Country Status (7)

Country Link
US (1) US9177168B2 (zh)
EP (1) EP2828763B1 (zh)
JP (3) JP6444855B2 (zh)
KR (1) KR101624519B1 (zh)
CN (1) CN104205086B (zh)
IN (1) IN2014DN07309A (zh)
WO (1) WO2013142399A1 (zh)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130037609A1 (en) * 2011-08-13 2013-02-14 Carolann Merritt-Munson Method, apparatus and system of unique, coded, visual identifiers that provide a point of contact between people for communication and exchange of information bridging non-virtual and virtual environments
US9177168B2 (en) 2012-03-19 2015-11-03 Alcatel Lucent Method of modifying access control for web services using query languages
US9665393B1 (en) 2012-04-17 2017-05-30 Facebook, Inc. Storage and privacy service
US9411671B1 (en) * 2012-04-17 2016-08-09 Facebook, Inc. Storage and privacy service
WO2014000827A1 (en) * 2012-06-29 2014-01-03 Hewlett-Packard Development Company L.P. Content display
US8875253B2 (en) * 2012-07-03 2014-10-28 Facebook, Inc. Trust metrics on shared computers
US9646028B2 (en) * 2012-08-31 2017-05-09 Facebook, Inc. Graph query logic
US9098686B2 (en) * 2012-11-30 2015-08-04 Facebook, Inc. Social authentication
US10261997B2 (en) * 2013-03-13 2019-04-16 Avaya Inc. Method, apparatus, and system for providing and using subscriptions and filtering based on tree structures
GB2519966A (en) 2013-11-01 2015-05-13 Ibm Anonymously sharing resources based on social network user data
US9436427B2 (en) * 2014-07-14 2016-09-06 National Taiwan University Augmented reality system and method for on-site construction process
GB2530499A (en) 2014-09-23 2016-03-30 Ibm Rest resource collection management
US10326768B2 (en) 2015-05-28 2019-06-18 Google Llc Access control for enterprise knowledge
CN106685893B (zh) * 2015-11-06 2019-11-12 中国科学院沈阳计算技术研究所有限公司 一种基于社交网络群的权限控制方法
US9888007B2 (en) * 2016-05-13 2018-02-06 Idm Global, Inc. Systems and methods to authenticate users and/or control access made by users on a computer network using identity services
US10187369B2 (en) 2016-09-30 2019-01-22 Idm Global, Inc. Systems and methods to authenticate users and/or control access made by users on a computer network based on scanning elements for inspection according to changes made in a relation graph
US10467229B2 (en) 2016-09-30 2019-11-05 Microsoft Technology Licensing, Llc. Query-time analytics on graph queries spanning subgraphs
US10250583B2 (en) 2016-10-17 2019-04-02 Idm Global, Inc. Systems and methods to authenticate users and/or control access made by users on a computer network using a graph score
JP6805765B2 (ja) 2016-10-21 2020-12-23 富士通株式会社 ソフトウェアサービスの実行のためのシステム、方法、及びプログラム
JP7100422B2 (ja) 2016-10-21 2022-07-13 富士通株式会社 データプロパティ認識のための装置、プログラム、及び方法
US10545945B2 (en) * 2016-10-28 2020-01-28 Microsoft Technology Licensing, Llc Change monitoring spanning graph queries
US11188551B2 (en) * 2016-11-04 2021-11-30 Microsoft Technology Licensing, Llc Multi-level data pagination
US10924467B2 (en) * 2016-11-04 2021-02-16 Microsoft Technology Licensing, Llc Delegated authorization for isolated collections
US10514854B2 (en) 2016-11-04 2019-12-24 Microsoft Technology Licensing, Llc Conditional authorization for isolated collections
US10445361B2 (en) 2016-12-15 2019-10-15 Microsoft Technology Licensing, Llc Caching of subgraphs and integration of cached subgraphs into graph query results
US10402403B2 (en) 2016-12-15 2019-09-03 Microsoft Technology Licensing, Llc Utilization of probabilistic characteristics for reduction of graph database traversals
US10242223B2 (en) * 2017-02-27 2019-03-26 Microsoft Technology Licensing, Llc Access controlled graph query spanning
US10965668B2 (en) 2017-04-27 2021-03-30 Acuant, Inc. Systems and methods to authenticate users and/or control access made by users based on enhanced digital identity verification
US10127227B1 (en) 2017-05-15 2018-11-13 Google Llc Providing access to user-controlled resources by automated assistants
US11436417B2 (en) 2017-05-15 2022-09-06 Google Llc Providing access to user-controlled resources by automated assistants
US11153172B2 (en) * 2018-04-30 2021-10-19 Oracle International Corporation Network of nodes with delta processing
EP3937030A1 (en) 2018-08-07 2022-01-12 Google LLC Assembling and evaluating automated assistant responses for privacy concerns
CN110968744B (zh) * 2018-09-30 2023-09-05 中国移动通信有限公司研究院 一种资源查询方法及装置、设备、存储介质
CN110008346B (zh) * 2019-01-24 2024-05-03 平安科技(深圳)有限公司 黑名单传导图谱构建方法、装置、计算机设备和存储介质
CN112784132A (zh) * 2019-11-11 2021-05-11 腾讯科技(深圳)有限公司 一种数据获取方法、装置以及计算机存储介质
CN110955903B (zh) * 2019-11-22 2021-03-30 支付宝(杭州)信息技术有限公司 基于智能图计算的隐私资源权限控制方法、装置及设备
US20220141538A1 (en) * 2020-10-30 2022-05-05 Popshop Technologies, Inc. Live streaming product creation and order compilation
US20230418821A1 (en) * 2022-06-22 2023-12-28 Microsoft Technology Licensing, Llc Computing resource conservation with balanced traversals and precomputations for connected data sets

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7467212B2 (en) * 2000-12-28 2008-12-16 Intel Corporation Control of access control lists based on social networks
CN101351790A (zh) * 2006-01-03 2009-01-21 微软公司 使用基于在场的应用程序的远程访问及社交联网

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2534360B2 (ja) 1988-09-26 1996-09-11 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 接続方法、ノ―ド接続方法、デ―タ処理方法、及び木内にノ―ドを挿入する方法
US5892513A (en) 1996-06-07 1999-04-06 Xerox Corporation Intermediate nodes for connecting versioned subtrees in a document management system
US20020131431A1 (en) 2001-03-14 2002-09-19 Wank Richard B. Method and apparatus for a network element to support a communication link in a communication network
US7069308B2 (en) 2003-06-16 2006-06-27 Friendster, Inc. System, method and apparatus for connecting users in an online computer system based on their relationships within social networks
US8302164B2 (en) * 2004-07-22 2012-10-30 Facebook, Inc. Authorization and authentication based on an individual's social network
JP4135950B2 (ja) * 2005-06-09 2008-08-20 インターナショナル・ビジネス・マシーンズ・コーポレーション アクセス管理装置、アクセス管理方法、およびプログラム
US20070214264A1 (en) * 2006-03-09 2007-09-13 Jari Koister Device social-control system
US8224862B2 (en) 2007-01-12 2012-07-17 Geni, Inc. System and method for providing a networked viral family tree
WO2008112293A1 (en) 2007-03-13 2008-09-18 Facebook, Inc. Systems and methods for network authentication
US8214883B2 (en) * 2007-10-22 2012-07-03 Microsoft Corporation Using social networks while respecting access control lists
US8024317B2 (en) 2008-11-18 2011-09-20 Yahoo! Inc. System and method for deriving income from URL based context queries
US8799315B2 (en) 2009-01-30 2014-08-05 International Business Machines Corporation Selective construction of data search result per search request specifying path information
US20100299717A1 (en) * 2009-05-22 2010-11-25 National University Of Ireland, Galway System for Annotation-Based Access Control
US20100318571A1 (en) * 2009-06-16 2010-12-16 Leah Pearlman Selective Content Accessibility in a Social Network
WO2011116528A1 (en) * 2010-03-26 2011-09-29 Nokia Corporation Method and apparatus for providing a trust level to access a resource
US20110247007A1 (en) * 2010-04-01 2011-10-06 International Business Machines Corporation Operators with request-response interfaces for data stream processing applications
US8180804B1 (en) 2010-04-19 2012-05-15 Facebook, Inc. Dynamically generating recommendations based on social graph information
US20120066118A1 (en) 2010-09-13 2012-03-15 Dantas Kelly C F Interface Integration Application Connection between Websites and Social Network in Addition with the Social Network Tree Chart System
US9177168B2 (en) 2012-03-19 2015-11-03 Alcatel Lucent Method of modifying access control for web services using query languages

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7467212B2 (en) * 2000-12-28 2008-12-16 Intel Corporation Control of access control lists based on social networks
CN101351790A (zh) * 2006-01-03 2009-01-21 微软公司 使用基于在场的应用程序的远程访问及社交联网

Also Published As

Publication number Publication date
KR20140136947A (ko) 2014-12-01
IN2014DN07309A (zh) 2015-04-24
WO2013142399A1 (en) 2013-09-26
US9177168B2 (en) 2015-11-03
JP2015518201A (ja) 2015-06-25
JP2017123186A (ja) 2017-07-13
EP2828763B1 (en) 2022-04-20
CN104205086A (zh) 2014-12-10
EP2828763A1 (en) 2015-01-28
JP6444855B2 (ja) 2018-12-26
JP2016170804A (ja) 2016-09-23
KR101624519B1 (ko) 2016-05-26
US20130246454A1 (en) 2013-09-19
EP2828763A4 (en) 2015-11-25

Similar Documents

Publication Publication Date Title
CN104205086B (zh) 使用查询语言修改用于web服务的访问控制的方法
JP7387779B2 (ja) ウェブサイトのためのシステムおよび方法
CN104169915B (zh) 使用查询语言扩展web服务应用编程接口的方法
US10354083B2 (en) Social network site including trust-based wiki functionality
US9177294B2 (en) Social network site including invitation functionality
US9769122B2 (en) Anonymous single sign-on to third-party systems
CN104885100B (zh) 用于推荐技能赞同的方法、系统和机器可读介质
US8700540B1 (en) Social event recommendations
US20150229683A1 (en) Social network site including interactive digital objects
CN108141449A (zh) 控制设备云
JP2015518201A5 (zh)
CN103067436A (zh) 组选择加入链接
US9634997B2 (en) Automatic generation and registration of alter-ego web service accounts
US10498724B2 (en) Digital community system
Kirkham et al. The personal data store approach to personal data security
KR101128623B1 (ko) 협업 문서 작성 시스템 및 방법
KR20220108179A (ko) 프라이버시 보호 가상 이메일 시스템
KR20120015526A (ko) 네트워킹 사용자간의 콘텐츠 전파 방법 및 이를 수행하기 위한 프로그램이 기록된 기록매체
Cho et al. An approach to privacy enhancement for access control model in web 3.0
Alghafis et al. Children's Behavior on the Internet: Conceptualizing the Synergy of Privacy and Information Disclosure
Chovancová et al. Decentralized Social Network

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant