CN110494857A - 用于减少数字内容访问权限确定的等待时间的预测性本地预缓存 - Google Patents

用于减少数字内容访问权限确定的等待时间的预测性本地预缓存 Download PDF

Info

Publication number
CN110494857A
CN110494857A CN201880024221.9A CN201880024221A CN110494857A CN 110494857 A CN110494857 A CN 110494857A CN 201880024221 A CN201880024221 A CN 201880024221A CN 110494857 A CN110494857 A CN 110494857A
Authority
CN
China
Prior art keywords
communication end
end point
content
user
group
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
CN201880024221.9A
Other languages
English (en)
Other versions
CN110494857B (zh
Inventor
B·维尔德
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 Technology Licensing LLC
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 Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN110494857A publication Critical patent/CN110494857A/zh
Application granted granted Critical
Publication of CN110494857B publication Critical patent/CN110494857B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • 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
    • 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/101Access control lists [ACL]
    • 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)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

为了减少网络通信引入的延迟,本地缓存对各种用户的数字内容的访问权限,并且参考这样的本地缓存而不会引起网络通信延迟。本地缓存是预测性的,因为它可以包括对将来更可能参考的数字内容进行编辑从而触发关于用户是否具有对该数字内容的访问权限的确定的那些用户。通过描绘编辑数字内容的用户与其他用户之间的关系的社交图来通知本地缓存的预测性方面。可以基于关于数字内容的元数据或基于数字内容本身来进一步细化社交图。除了包括对数字内容具有访问权限的用户之外,本地缓存还可以包括已被确定为不具有访问权限的用户。

Description

用于减少数字内容访问权限确定的等待时间的预测性本地预 缓存
背景技术
越来越多地,计算设备上的内容创建是经常在不同时间并通过不同的计算设备访问和编辑内容的多个不同的独立用户之间的协作工作。相应地,越来越多地设计出内容创建计算机应用程序以辅助这种协作工作。例如,内容创建计算机应用程序可以使用户能够与其他用户共享他们在这些应用程序中创建的内容,向其他用户通知所创建的内容,或以其他方式将这些其他用户链接到该内容。
但是,在某些情况下,向其它用户通知在内容创建计算机应用程序中创建的内容可能是不利的。例如,该内容本身可能是敏感性质的,使得只有特定用户才能够查看这样的内容。作为另一个例子,仅仅是了解到该内容的存在也可能是麻烦的,并且只有特定用户应该知道它的存在。在这种情况下,如果这些内容与错误的用户共享,或者错误的用户被提供对这些内容的访问、关于这些内容的信息或通知,则用户可能会违反社会或工作场所惯例,甚至民事或刑事法律。
因此,内容创建计算机应用程序可以在内容自动与其他用户共享之前寻求通知用户。例如,如果用户在内容创建计算机应用程序内执行动作,其中这样的动作将触发与这一内容相关联的、将会生产并且发送给另一个不同的用户的通知,则可以通知其动作将触发这样的通知的用户关于即将发生的通知,以便如果错误地标识其他用户,或者如果这样的通知与编辑用户的意图相反,则这样的用户可以禁止该通知。为了生成这样的通知,内容创建计算机应用程序通常验证将针对其生成这种通知的用户是否已经访问该内容。显然,如果该其他用户已经知道并且可以访问该内容,则不需要警告该用户另一个用户可以接收与该内容相关联的通知。
但是,检查用户是否可以访问内容可能需要与一个或多个远程计算设备通信,诸如通过计算机网络。在某些情况下,这种网络通信引入的等待时间可能导致糟糕的用户体验。例如,如果这种网络通信导致高延迟,则可以通知该编辑用户他们的动作将在与动作本身相距太远的时间触发通知,从而导致用户困扰。作为另一示例,如果这种网络通信导致高延迟,则内容创建计算机应用程序的用户界面可能暂停、挂起或以其他方式变得无响应,再次导致较差的用户体验。
发明内容
为了减少网络通信引入的等待时间,可以在本地缓存对各种用户的数字内容的访问权限,并且可以参考这样的本地缓存而不会引起网络通信等待时间。本地缓存可以是预测性的,因为它可以包括用户,这些用户对将来更可能参考的数字内容进行编辑,从而触发关于这些用户是否具有对该数字内容的访问权限的确定。通过描绘编辑数字内容的用户与其他用户之间的关系的社交图来告知本地缓存的预测性方面。可以基于关于数字内容的元数据或基于数字内容本身来进一步细化社交图。除了包括对数字内容具有访问权限的用户之外,本地缓存还可以包括已被确定为不具有访问权限的用户。
提供本发明内容是为了以简化的形式介绍一些概念,这些概念将在下面的具体实施方式中进一步描述。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
通过参考附图进行的以下详细描述,其他特征和优点将变得显而易见。
附图说明
结合附图可以最好地理解以下详细描述,附图中:
图1是用于本地预缓存对数字内容的访问权限的示例性系统的系统图;
图2是一系列示例性步骤的流程图,通过这些步骤可以在本地预先缓存对数字内容的访问权限;
图3是一系列示例性步骤的流程图,通过这些步骤可以参考本地预先缓存的访问权限以减少等待时间;以及
图4是示例性计算设备的框图。
具体实施方式
以下描述涉及通过参考预测性本地缓存来确定对数字内容的访问权限,从而避免由网络通信引入的等待时间,达到所需信息可以从本地缓存源获得的程度。本地缓存可以是预测性的,因为它可以包括对将来更可能参考的数字内容进行编辑的用户,从而触发关于这些用户是否具有对该数字内容的访问权限的确定。通过描绘编辑该数字内容的用户与其他用户之间的关系的社交图来告知本地缓存的预测性方面。可以基于关于数字内容的元数据或基于数字内容本身来进一步细化社交图。除了包括对数字内容具有访问权限的用户之外,本地缓存还可以包括已被确定为不具有访问权限的用户。
本申请中描述的技术参考“通信端点”,而不是更模糊的术语“用户”。如本申请中所使用的,术语“通信端点”表示用于数字通信的唯一可识别端点,诸如电子邮件地址、电话号码(诸如用于文本消息传递和其他类似数字通信的目的),或任何其他类似的数字通信地址,或其他唯一可识别的端点。相反,本申请中使用的术语“用户”是本领域技术人员传统上使用的术语,意指唯一的人。因此,可以通过多个通信端点到达单个用户,诸如多个电子邮件地址、文本消息传递号码和其他类似的通信端点。取决于准许、维护和实施对数字内容的访问权限的方式,将根据一个或多个这样的通信端点来定义用户对数字内容的访问。
本申请中描述的技术还参考“社交图”。如本申请中所使用的,术语“社交图”表示基于包括至少一些先前用户动作的合并用户数据以及明确定义的组织关系来确定的用户之间关系的描绘或其他量化。
尽管不是必需的,但是以下描述将在由计算设备执行的计算机可执行指令(例如程序模块)的一般上下文中。更具体地,除非另有说明,否则该描述将参考由一个或多个计算设备或外围设备执行的操作的动作和符号表示。这样,可以理解的是,这种有时被称为计算机执行的动作和操作包括处理单元对以结构化形式表示的数据的电信号的操纵。该操作变换数据或将其保持在存储器中的位置,其以本领域技术人员熟知的方式重新配置或以其他方式改变计算设备或外围设备的操作。维护数据的数据结构是具有由数据格式定义的特定属性的物理位置。
通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。此外,本领域技术人员将了解,计算设备不必限于传统的个人计算机,而是包括其他计算配置,包括手持设备、多处理器系统、基于微处理器或可编程的消费电子产品、网络PC、小型计算机、大型计算机等。类似地,计算设备不必限于独立计算设备,因为这些机制也可以在分布式计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。
参考图1,示出了示例性系统100,其提供了以下描述的上下文。示例性系统100可以包括但不限于一个或多个用户控制的计算设备示(诸如示例性用户计算设备140),其可以通信地耦合到网络(诸如示例性网络110)。尽管示出为膝上型计算设备,但是示例性用户计算设备140可以是台式计算设备、平板计算设备、智能电话计算设备或任何其他类似的用户控制的计算设备。
另外,示例性系统100可以包括文档服务器(诸如示例性文档服务器120),或任何其他类似的远程计算设备,其可以是关于对数字内容的访问权限的信息的源。在示例性系统100中,示例性文档服务器120可以通信地耦接到数据库(诸如示例性数据库129),其上可以将数字内容(诸如示例性数字内容121)以及相关联的访问权限信息存储在诸如示例性访问控制列表122中。
根据一个方面,使用用户计算设备140的用户可以在用户计算设备140上打开数字内容121,以便使用户能够在用户计算设备140上编辑数字内容121。例如,数字内容121可以是文本或多媒体内容,诸如可以在文字处理应用程序内编辑。作为另一个例子,数字内容可以是电子表格内容,诸如可以在电子表格应用程序内编辑。作为又一示例,数字内容可以是多媒体或超媒体呈现内容,诸如可以用演示应用程序编辑。在图1的示例性系统100中,示例性数字内容121被示为包括文本142的文字处理文档,显示在示例性用户界面150上,诸如可以由文字处理应用程序或其他类似数字内容编辑程序在通信地耦接到示例性用户计算设备140的显示设备上生成的界面。
在编辑数字内容121时,诸如示例性计算设备140的用户之类的用户可以执行关于数字内容的动作,该动作可以导致与其他用户共享该数字内容或关于数字内容的信息。例如,编辑数字内容121的用户可以插入评论(诸如示例性评论161),其利用诸如“@”符号的特定术语来将这一评论送往另一个用户。插入这一评论以及将该评论送往另一用户的相应术语可以触发这样的其他用户被通知数字内容121,使得这样的其他用户可以响应评论161。能够触发向其他用户通知的其他机制,包括数字内容121存在、已经被编辑、已经被评论的通知,或者包括数字内容121本身的一些或全部(诸如文本142)的通知,可以同样受益于本申请中描述的机制。
如前所述,在某些情况下,向不正确的用户触发与要传递的数字内容相关联的用户通知可能是不利的。例如,示例性数字内容121可以是要被解雇的雇员的列表。与人力资源员工共享此类内容可能是合适的,而与其名字、电子邮件别名、文本通知编号或其他类似通信端点类似于该人力资源员工的另一名员工共享此类内容可能是不利的,并且如果该其他用户是例如被解雇的人之一,则可能导致民事或刑事处罚。实际上,如前所述,仅仅是该数字内容的存在都可能不利地不适当地共享。因此,继续上述示例,对于包括将要被解雇的雇员列表的、标题为例如“2017年4月裁员候选人”的文档,仅仅是向非计划中用户(诸如公司内的另一个用户)公开了携带这样的标题的文档的存在都可能导致负面体验,无论这一用户是否实际上是文档中列出的雇员之一。因此,当内容编辑应用程序(诸如示例性文字处理应用程序,图1中示出了其示例性用户界面150)检测到可以触发与要生成并提供给其他用户的内容相关联的通知的用户动作(诸如插入参考另一个用户的示例性评论161的示例性用户动作)时,可以在生成针对接收用户的相应通知之前,生成用户界面元素(诸如示例性用户界面元素151)以确认编辑用户的意图。
更具体地,根据一个方面,当检测到将触发与另一用户共享数字内容的至少一些方面的用户动作时,可以参考与该数字内容相关联的访问控制列表。如果接收方用户已经具有对该数字内容的访问权限(诸如由访问控制列表描绘的),则不需要执行进一步的验证动作。但是,如果接收方用户没有访问权限(诸如由访问控制列表描绘的),则可以生成用户界面元素(诸如示例性用户界面元素151)以与编辑用户确认他们与该编辑用户的动作中标识的接收方用户共享数字内容121的至少一些方面的意图。这种确认可以使编辑用户能够在一切都太晚了之前检测错误并防止无意中泄露数字内容121、其存在或其任何方面或内容。
但是,如先前所详述的,为了能够在示例性用户计算设备140上执行处理以检查示例性访问控制列表122而需要的示例性用户计算设备140和示例性文档服务器120之间的网络通信可能引入不可接受的等待时间。例如,在用户输入示例性评论161时,示例性用户界面150可能停止对进一步的用户输入的响应,或者以其他方式保持在固定状态,直到完成这样的网络通信,以便确定在用户继续进行超出示例性评论161的输入之外的进一步编辑之前是否显示示例性用户界面元素151。用户界面中的这种滞后或延迟可能导致用户困扰,以及其他很差的或不可接受的用户体验。作为另一示例,在用户输入示例性评论161时,可以允许用户继续编辑文本142,直到示例性用户计算设备140和示例性文档服务器120之间的网络通信完成为止,完成示例性用户计算设备140上执行的处理通过该通信检查示例性访问控制列表122。此时,如果示例性访问控制列表122指示评论161中参考的用户不具有访问权限,则可以呈现示例性用户界面元素151。但是,示例性用户界面元素151的呈现可以充分延迟,使得用户已经完成示例性评论161的输入,并且不再识别到示例性用户界面元素151由该用户在生成评论161时的动作而触发或者与之相关联。因此,这种延迟可能导致用户困扰,并且再次导致不太优化的用户体验。
因此,根据一个方面,可以在正在编辑示例性数字内容121的相同计算设备(诸如示例性用户计算设备140)上创建本地预检查缓存170,从而能够例如为了确定是否显示用户界面元素(诸如示例性用户界面元素151)的目的,确定编辑用户参考的用户是否已经具有对数字内容121的访问权限。更具体地,当在示例性用户计算设备140上编辑示例性数字内容121的用户执行关于数字内容121的动作(诸如插入示例性评论161)时,其需要检查通信端点是否已经具有对数字内容121的访问权限,诸如为了确定是否显示用户提示(诸如示例性用户界面元素151)的目的,该检查可以首先针对本地缓存170,并且达到本地缓存170可以提供相关访问权限信息的程度,例如可以更快地做出关于示例性用户界面151的显示的决定,而没有上面提到的示例性文档服务器120中的示例性用户计算设备140之间的网络通信所引起的等待时间和延迟。无论是被显示的示例性用户界面151还是被允许继续编辑示例性数字内容121而没有任何滞后或延迟的相应用户体验,可以产生更理想和更有效的用户体验。
为了创建这样的本地缓存(诸如示例性本地缓存170),可以从示例性访问控制列表122获取关于各个通信端点的信息以及指示那些个体通信端点是否具有对示例性数字内容121的访问权限的相应的访问权限信息,并且可以存储在示例性本地缓存170中,如箭头182所示。在一些实例中,示例性访问控制列表122可以基于单独的通信端点以及分组维护访问权限信息,其中这样的组可以由多个用户,或者更具体地由多个通信端点,或者由多个通信端点组成的一个或多个子分组层组成。如本领域技术人员将认识到的,分组的精确通信端点可以随时间改变,并且因此,当针对确定通信端点是否先前已被授予访问权限的目的而参考访问控制列表(诸如示例性访问控制列表122)时,可以在查阅这一访问控制列表时迭代这一访问控制列表中标识的任何分组。因此,根据一个方面,当填充本地缓存170时(诸如箭头182所示),可以仅从访问控制列表122获得单独的通信端点访问权限信息并将其保留在本地缓存170中。但是根据替代方案,本地缓存170也可以用分组信息填充。
为了增加本地缓存170的效用,可以利用关于用户编辑数字内容121(诸如通过用户计算设备140)的现有信息以及其他信息来预计或预测其他用户,或者更确切地,编辑用户可以在他们对数字内容121的编辑中参考的其他通信端点,从而触发关于那些通信端点是否具有对数字内容121的访问权限的确定。更具体地,本地缓存170可以填充有可能尚未具有对示例性数字内容121的访问权限的通信端点。如果这些通信端点随后由在示例性用户计算设备140上编辑示例性数字内容121的用户参考,则可以参考本地缓存170以再次避免在检查来自用户计算设备140的示例性访问控制列表122时引入的等待时间和延迟,从而得到的改进的用户体验和更有效的对示例性数字内容121的用户编辑。因此,可能在用户以需要上面提到的某些通信端点是否具有对示例性数字内容121的访问权限的判定的方式编辑示例性数字内容121时,希望用比其他通信端点更可能被参考的通信端点填充本地缓存170。
因此,根据一个方面,可以轮询社交服务器(诸如示例性社交服务器130),诸如通过在示例性用户计算设备140上执行并生成本地缓存170的进程,并且可以从其获得其他通信端点。更具体地,社交服务器130可以维护社交图(诸如示例性社交图131),其可以量化或以其他方式描绘多个不同用户之间的关系。由示例性社交图131描绘的关系可以包括明确定义的关系,诸如已经放置在单个分组组内的用户之间的关系、别名,或者在数字通信的上下文中的其他类似单个参考。作为明确定义的关系的另一示例,由示例性社交图131描绘的关系可以包括管理、组织图表关系,诸如哪些用户向哪些管理用户报告,每个管理用户可以在商业环境中是共同的。由示例性社交图131描绘的关系还可以包括隐式定义的关系,诸如由一个或多个用户的动作识别的关系。例如,一个用户与另一个用户共享文档的重复实例可以得到示例性社交图131描绘的两个用户之间的关系。作为另一个例子,两个用户之间的重复的电子邮件通信可以得到在两个用户之间描绘的关系。又另一个例子是,被邀请参加相同会议或活动的用户(诸如通过共享日历服务),可以具有由示例性社交图131基于这些共同会议或事件在他们之间描绘的关系。在示例性社交图131中描绘用户之间的关系的精确方式,以及量化这些关系的强度的精确方式对于本申请中描述的机制可能是无关紧要的,因为示例性社交图131仅用于用比其他通信端点更可能随后被编辑示例性数字内容121的用户参考的通信端点来填充本地缓存170,使得本地缓存170将不包括相关访问权限信息的机会减少,从而减少需要引起由检查示例性访问控制列表122中的网络通信所引起的等待时间和与之相关联的延迟。
回到图1,如箭头183所示,可以从社交服务器130获取一个或多个通信端点。根据一个方面,在示例性用户计算设备140上执行的进程可以基于在示例性用户计算设备140上编辑示例性数字内容121的用户的身份从社交服务器130请求一个或多个通信端点。例如,可以请求社交服务器130提供如该社交图131所描述的与该用户具有比该用户和任何其它通信端点之前的关系更强的最强关系的十个、二十个或其它最大阈值数量的通信端点。作为另一示例,可以请求社交服务器130提供其与该用户的如示例性社交图130所描绘的关系被量化为具有高于指定阈值最小关系强度的关系强度的任何通信端点。作为又一个示例,可以利用这些阈值的组合。图1示例性地示出了通过在示例性用户计算设备140上运行的进程从社交服务器130接收标识为“用户A”、“用户B”和“用户C”的三个通信端点(如箭头183所示),并存储在本地缓存170中。如前所述,这种通信端点可以是用户A、B和C的电子邮件别名、文本消息地址,或与特定用户相关联的其他类似通信端点。
但是,如从社交服务器130接收的,这些通信端点的关于示例性数字内容121的访问权限171可能是未知的。因此,如虚线箭头184所示,在示例性用户计算设备140上执行的处理过程,以及生成和维护本地缓存170,可以参考示例性访问控制列表122,并从中获取与从社交服务器130获取的通信端点相对应的访问权限信息。因为获取这样的访问权限信息可以在用户已经执行关于示例性数字内容121的需要确定是否生成该示例性用户界面元素151的动作之前的一个时间处发生,获取这样的访问权限信息可以在后台发生,并且另外不会破坏或延迟用户编辑示例性数字内容121。相反,现在预先执行这种访问权限信息的获取,并且将其预先缓存。
根据一个方面,从社交服务器130接收的通信端点(诸如由图1中的箭头183表示的),首先可以根据已经存储在缓存170中的访问权限信息来检查。根据这一方面,如果从社交服务器130接收的一个或多个通信端点已经在缓存170中,则这样的通信端点不需要通过示例性访问控制列表122进一步验证,并且相反,仅有从示例性社交服务器130接收的但是尚未在缓存170中枚举的通信端点可以从访问控制列表122获得他们的访问权限信息,然后以相应的访问权限指示符的形式存储在本地缓存170中。
除了包括指示对应通信端点具有对示例性数字内容121的访问权限的访问权限指示符之外,示例性本地缓存170还包括指示对应通信端点不具有访问权限示例性数字内容121的访问权限指示符。更具体地,已经引起通信成本和伴随的延迟,并且与远程访问控制列表通信(诸如示例性访问控制列表122),达到从这样的示例性访问控制列表122接收的访问控制信息指示通信端点(诸如由这些每个社交服务器130提供的通信端点之一)不具有对示例性数字内容121的访问权限的程度,则这种指示这一通信端点缺乏访问权限的信息可以存储在示例性本地缓存170中,这样随后对示例性本地缓存170的参考仍然可以获知这种缺乏访问权限,而不必再次引起与上述网络通信相关联的等待时间延迟。
根据一个方面,可以基于诸如与数字内容121相关联的元数据的附加信息来进一步细化由示例性社交服务器130识别(诸如基于示例性社交图131)的通信端点。更具体地,而不是简单地请求与编辑用户最强关联的通信端点(如示例性社交图131所描绘的),假设该示例性数字内容121是从例如对应于特定项目、特定分组或其他类似内容元数据的位置获得的,则在示例性用户计算设备140上执行的处理过程可以请求与编辑用户最强关联的那些通信端点。在这样的实例中,如箭头183所示,可以返回示例性社交图131已知为该项目或该分组的一部分的用户及其对应的通信端点,作为在这一示例性数字内容121是从对应于该项目、分组或其他类似的识别存储位置获得的情况下与编辑这一示例性数字内容121的用户最强关联的。作为另一示例,在示例性用户计算设备140上执行的处理过程可以从示例性社交服务器130请求用户在工作时间期间编辑示例性数字内容121的情况下最强关联的那些通信端点。在这样的实例中,示例性社交图131可以向已知在工作时间上下文中与编辑用户相关联的用户分配更大的权重,而不是家庭成员或其他类似的非工作业务关系,可以针对预先填充示例性本地缓存170的目的返回那些用户,或者更具体地与之相关联的通信端点。
替代地或另外地,示例性数字内容121(诸如示例性文本142)本身可以被解析以获得可以用于细化由示例性社交服务器130返回的通信端点的识别信息。例如,示例性文本142可以参考特定项目、特定分组,或者可以包括公共样板语言,或者可以基于示例性社交图131可用的信息,在该示例性社交图131中识别编辑用户与其他用户之间的特定关系的其它类似识别文本。例如,示例性文本142可以参考特定项目,并且示例性社交图131可以包括指示正在处理这一项目的用户的信息。在这样的实例中,假设用户正在编辑的数字内容121,则示例性社交图131可以将那些用户,或者更具体地,与那些用户相关联的通信端点返回为与编辑用户最强关联的。
根据另一方面,示例性数字内容121(诸如示例性文本142)本身可以被解析以识别其中直接参考的通信端点。例如,如箭头185所示,特定用户、别名、文本消息传递标识符或其他类似的通信端点可以在示例性文本142内被文本地参考。这样的通信端点也可以被添加到示例性本地缓存170。与从示例性社交服务器130获取的通信端点一样,可以从示例性访问控制列表122获取与从示例性文本142本身获取的通信端点相对应的访问权限信息。另外,如上所述,示例性访问控制列表122只能在通信端点尚未具有与本地缓存170中枚举的相关联的访问控制信息的范围内参考。如果示例性文本142中包含的信息是不明确的,例如,如果文本142用名称参考用户,则可以查阅目录服务器或其他类似的目录信息以确定已知的通信端点是否与这一用户的名称相关联。根据一个方面,如果这样的通信端点的数量低于阈值量,则可以将每个这样的通信端点添加到本地缓存170。相反,根据这一方面,如果与名称相关联的通信端点的数量太高,则消除名称的歧义可能是不切实际的,并且不将这样的通信端点添加到本地缓存170可能更高效。
根据一个方面,当诸如示例性数字内容121之类的数字内容被用户打开以进行编辑时,例如在示例性用户计算设备140上,可以生成诸如示例性本地缓存170的本地缓存。为了避免最初的通信和请求泛滥,本地缓存(诸如示例性本地缓存170)的生成可以从用户打开示例性数字内容121以便在示例性用户计算设备140上进行编辑的时间开始延迟预定时间量。替代地或者另外地,仅在示例性数字内容121已经被共享时,或者如果对示例性数字的某种形式的访问权限已经另外被准许给至少一个其他通信端点,则可以触发本地缓存(诸如示例性本地缓存170)的生成。更通俗地说,如果先前未共享示例性数字内容121,则引起生成本地缓存(诸如示例性本地缓存170)的处理可能不是最佳的,因为示例性数字内容121可能在将来不太可能被分享。类似地,如果在示例性用户计算设备140上打开示例性数字内容121以用于编辑的用户通常不共享内容、不使用各种共享功能(诸如由示例性评论161触发的那些),或者在预定量的时间内没有使用过,则不需要执行本地缓存(诸如示例性本地缓存170)的生成。同样可以利用这种优化的组合来确定何时生成本地缓存,诸如示例性本地缓存170。
一旦生成,本地缓存170可以保持直到用户关闭数字内容121,或者停止编辑它为止。根据一个方面,不需要定期刷新包含在本地缓存170内的访问权限信息。然而,根据另一方面,通过参考示例性访问控制列表122,可以周期性地更新(诸如基于自先前更新以来经过的时间量)包含在本地缓存170内的访问权限信息。根据又另一方面,本地缓存170中包含的访问权限信息可以基于触发事件来更新,诸如在崩溃或其他故障之后被恢复,或者诸如其他计算设备(诸如示例性文档服务器120)上发生的可以通知给示例性用户计算设备140上执行的处理过程的触发事件。此外,示例性用户计算设备140上编辑示例性数字内容121的用户动作(诸如用户明确响应示例性用户界面元素151以准许特定通信端点对数字内容121的访问权限)可以被记录在本地缓存171以及示例性访问控制列表122中。
根据又另一方面,不是刷新本地缓存,而是可以执行后备检查,从而考虑到访问权限在文档服务器120上已经改变(诸如由示例性访问控制列表122描绘的),但是在将与数字内容121相关联的通知发送到接收方通信端点之前本地缓存170并不知道的可能性,可以对访问控制列表122进行关于接收方通信端点是否具有访问权限的检查。在这种情况下,用户不需要经历延迟,因为用户首先不知道该通知的实际传输,并且它将仅是由于这种后备检查而延迟的通知的传输。
转到图2,其中示出的示例性流程图200示出了一系列示例性步骤,通过这些步骤可以生成诸如上面所示的本地缓存。首先,如步骤210所示,用户可以打开数字内容以在这一用户正在使用的本地计算设备上进行编辑。随后,在步骤215,可以从远程访问控制列表获取已经准许访问在步骤210打开的数字内容的通信端点。在步骤220,可以将这样的信息,即在远程访问控制列表中个体枚举的通信端点,以及这种通信端点的相应访问控制信息存储在本地缓存中。
如上所述,除了本地缓存来自远程访问控制列表的信息,本地缓存还可以包括与相比其他通信端点用户更可能随后提供对数字内容的访问(诸如在编辑这一数字内容的过程中)的通信端点相关联的访问控制信息。因此,在步骤225,可以在基于社交图能够获取的一个或多个通信端点中参考这样的社交图。如前所述,根据一个方面,在步骤225,获取通信端点可以基于在步骤210打开数字内容以进行编辑的用户的身份。根据另一方面,如前所述,在步骤225的获取通信端点,可以通过在步骤210打开用于编辑的数字内容的元数据,或者通过解析这一数字内容本身来进一步通知。因此,在步骤225,获取的通信端点可以是与用户最强关联的那些通信端点,或者基于用户自身的身份,或者与上述附加信息相结合。在步骤230,在步骤225获得的通信端点可以具有对所确定的(诸如通过参考远程访问控制列表)数字内容的相应访问权限。根据一个方面,对远程访问控制列表的参考可以仅针对在步骤225获得的那些尚未在本地缓存中的通信端点。在步骤235,可以使用这一访问权限信息来更新本地缓存。根据一个方面,在步骤235,更新本地缓存可以包括不仅用具有访问以及指示那些通信端点具有访问的相应访问权限指示符的通信端点,还可以用没有访问权限和指示的相应访问权限指示符的通信端点来更新本地缓存。
可选地,如图2中的虚线所示,可以解析在步骤210打开用于编辑的数字内容,以识别通信端点或者可以从其导出通信端点的其他信息,该信息是数字内容本身的一部分。如果从数字内容本身获取或导出这种通信端点,则可以在步骤245从远程访问控制列表获取对这种通信端点的数字内容的访问权限。然后可以在步骤250更新本地缓存。如前所述,在步骤250,更新本地缓存还可以包括用没有访问的通信端点和如此指示的相应访问权限指示符来更新本地缓存。从步骤240开始,步骤245和250也是可选的,并且相应地,也通过图2中的虚线表示。
在步骤255,可以可选地参考远程访问控制列表来重新验证包含在本地缓存内的访问权限信息。可以基于预定的触发事件来触发这一重新验证,诸如自先前重新验证以来过去了预定量的时间或其他类似预定的触发事件。同样,因为步骤255是可选的,所以在图2中用虚线示出。然后,相关处理可以在步骤260结束。
转到图3,其中示出的示例性流程图300示出了一系列示例性步骤,通过这些步骤可以利用本地缓存来减少确定对数字内容的访问权限的等待时间和延迟,从而提高用户效率并改善用户性能。首先,在步骤310,可以检测用户动作(诸如在编辑数字内容的上下文中),该动作将导致接收者通信端点接收与这样的内容相关联的通知。例如,这样的用户动作可以是以预定方式插入参考另一用户的评论,诸如通过在这一用户相关联的通信端点信息之前加上预定符号(例如“@”符号)。通常,在步骤310之后,处理将进行到步骤330并查阅远程访问控制列表,以便确定接收方通信端点是否已经具有对数字内容的访问权限,以便确定是否触发(诸如在步骤350)用户界面元素,通过该用户界面元素,编辑用户可以在发送这样的通知之前确认接收方通信端点应该接收与该内容相关联的通知,并且在无意中公开数字内容时可以避免和停止其方面或其存在。但是,如上所述,步骤330的执行可能在步骤350触发用户界面元素时引入等待时间和不可接受的延迟,从而导致用户困扰、用户效率低下和用户体验差。
相反,本申请中描述的机制使得能够在步骤310之后执行步骤320,可以查询本地缓存以确定接收方通信端点是否在本地缓存中被枚举。如果在步骤320确定未在本地缓存中枚举接收方通信端点,则处理可以进行到步骤330,并且用户的体验不会比以前差。但是,如果在步骤320确定在本地缓存中枚举了接收方通信端点,则处理可以进行到步骤340,在此可以基于本地缓存来执行接收方通信端点是否已经访问的确定,而不会引起由于步骤330的执行而引起的延迟,然后,根据步骤340的确定,可以在步骤350切换或不切换相应的用户界面元素。虽然图3的示例性流程图300示出了步骤350仅依赖于步骤340,但是其他考虑因素同样可以影响在步骤350是否触发用户界面元素。例如,可以存在某些预定义条件,在该条件下,即使接收方通信端点不具有对数字内容的访问权限,也不需要触发用户界面元素(诸如在步骤350),因为例如特定的接收者通信端点可以被预授权以接收这样的访问权限,并且编辑用户不需要明确地授权与这样的接收者通信端点共享数字内容。例如,管理员可以预先授权已定义分组的每个成员与该分组的其他成员共享数字内容。在这种情况下,在执行步骤320至350之前,可以进行初始确定以确定接收方通信端点是否是所定义分组的成员之一。如果接收方通信端点是所定义分组的成员之一,则可能不需要执行步骤320到350,因为不需要显式用户授权来提供对这样的接收方通信端点的访问权限,而是在步骤310,响应于用户动作,可以简单地自动提供对作为所定义分组的成员之一的接收者通信端点的访问权限。
根据一个方面,如果用户与在步骤350触发的用户界面元素交互,并且通过这一用户界面元素或通过其他用户界面机制,确实授予对接收者通信端点的访问权限,则可以更新本地缓存(诸如在步骤360)以包括接收方通信端点和对应于接收方通信端点的指示该接收方通信端点现在具有访问权限的访问权限指示符。尽管未具体示出图3的示例性流程图300,通常远程访问控制列表可以被更新以反映用户对接收者通信端点的访问权限的授予。但是,通过在图3的流程图300的示例性步骤执行之后,在步骤360更新本地缓存更可能避免步骤330,以及与之相关联的等待时间、延迟和低效的用户体验。然后,相关处理可以在步骤370结束。
转到图4,示出了示例性计算设备400,其可以执行上述机制和动作中的一些或全部。示例性计算设备400可以包括但不限于一个或多个中央处理单元(CPU)420、系统存储器430和系统总线421,系统总线421将包括系统存储器的各种系统组件耦合到处理单元420。系统总线421可以是若干类型的总线结构中的任何一种,包括使用各种总线架构中的任何总线架构的存储器总线或存储器控制器、外设总线和局部总线。计算设备400可以可选地包括图形硬件,包括但不限于图形硬件接口470和显示设备471,其可以包括能够接收基于触摸的用户输入的显示设备,诸如触敏的或者具有多点触控功能的显示设备。取决于特定的物理实现,CPU 420、系统存储器430和计算设备400的其他组件中的一个或多个可以物理地并置,诸如在单个芯片上。在这种情况下,系统总线421中的一些或全部可以仅仅是单个芯片结构内的硅通路,并且其在图4中的例证仅仅是为了说明的目的的符号便利性。
计算设备400通常还包括计算机可读介质,其可以包括可以由计算设备400访问的任何可用介质,并且包括易失性和非易失性介质以及可移动和不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的内容的任何方法或技术实现的介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储技术、CD-ROM、数字通用盘(DVD)或其他光盘存储器、磁带盒、磁带、磁盘存储器或其他磁存储设备或可用于存储所需内容并且可由计算设备400访问的任何其他介质。但是,计算机存储介质不包括通信介质。通信介质通常以诸如载波或其他传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并且包括任何内容传递介质。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接的有线介质,以及诸如声学、RF、红外和其他无线介质的无线介质。上述任何组合也应包括在计算机可读介质的范围内。
系统存储器430包括易失性和/或非易失性存储器形式的计算机存储介质,诸如只读存储器(ROM)431和随机存取存储器(RAM)432。基础输入/输出系统433(BIOS),包含有助于在计算设备400内的元件之间传送内容(诸如在启动期间)的基础例程,通常存储在ROM431中。RAM 432通常包含处理单元420可立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制,图4示出了操作系统434、其他程序模块435和程序数据436。
计算设备400还可以包括其他可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图4示出了从不可移动的非易失性磁介质读取或写入的硬盘驱动器441。可与示例性计算设备一起使用的其他可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于磁带盒、闪存卡、数字通用盘、数字录像带、固态RAM、固态ROM、以及上面定义和描述的其他计算机存储介质。硬盘驱动器441通常通过诸如接口440的非易失性存储器接口连接到系统总线421。
上面讨论并在图4中示出的驱动器及其相关联的计算机存储介质为计算设备400提供计算机可读指令、数据结构、程序模块和其他数据的存储。例如,在图4中,硬盘驱动器441被示为存储操作系统444、其他程序模块445和程序数据446。注意,这些组件可以与操作系统434、其他程序模块435和程序数据446相同或不同。操作系统444、其他程序模块445和程序数据446在此给出不同的数字,以说明它们至少是不同的副本。
计算设备400可以在使用到一个或多个远程计算机的逻辑连接的联网环境中操作。计算设备400被示为通过网络接口或适配器460连接到通用网络连接461,网络接口或适配器460又连接到系统总线421。在网络环境中,关于计算设备400,或其一部分或外围设备描绘的程序模块可以存储在通过通用网络连接461通信地耦合到计算设备400的一个或多个其他计算设备的存储器中。应该了解的是,所示的网络连接是示例性的,并且可以使用其它手段在计算设备之间建立通信链路。
虽然被描述为单个物理设备,但是示例性计算设备400可以是虚拟计算设备,在这种情况下,上述物理组件(诸如CPU 420、系统存储器430、网络接口460和其他类似的组件)的功能可以由计算机可执行指令提供。这样的计算机可执行指令可以在单个物理计算设备上执行,或者可以分布在多个物理计算设备上,包括以动态方式分布在多个物理计算设备上,使得托管这些计算机可执行指令的特定物理计算设备可以根据需要和可用性随时间动态变化。在示例性计算设备400是虚拟化设备的情况下,托管这样的虚拟化计算设备的基础物理计算设备本身可以包括与上述类似的物理组件,并且以类似的方式操作。此外,虚拟计算设备可以在多个层中使用,其中一个虚拟计算设备在另一个虚拟计算设备的构造内执行。因此,本申请中使用的术语“计算设备”意味着物理计算设备或虚拟化计算环境(包括虚拟计算设备),其中计算机可执行指令可以以与由物理计算设备对他们的执行一致的方式执行。类似地,本申请中使用的涉及计算设备的物理组件的术语表示执行相同或等同功能的那些物理组件或其虚拟化。
作为第一示例,上述描述包括减少确定对第一数字内容的访问权限的等待时间的方法,该方法包括:从与第一内容对应于的远程访问控制列表获取对该第一内容具有访问权限的第一组通信端点,所述获取是在用户打开该第一内容进行编辑之后执行的;在计算设备上生成本地缓存,其包括第一组通信端点和指示第一组通信端点具有对第一内容的访问权限的第一组访问权限指示符;获取第二组通信端点,第二组通信端点是在社交图中用户与其最强关联的那些通信端点,该社交图至少部分地基于那些用户的先前动作来描绘用户之间的关系,其中社交图中的每个用户与至少一个通信端点相关联;从远程访问控制列表获取第二组通信端点中的至少一些通信端点是否具有对第一内容的访问权限;用第二组通信端点的第一子集和指示该第二组通信端点的第一子集具有对第一内容的访问权限的第二组访问权限指示符来更新本地缓存,其中该第二组通信端点的第一子集是由远程访问控制列表标识的、该第二组通信端点中的至少一些通信端点中具有对第一内容的访问权限的那些通信端点;以及,通过检查本地缓存,确定将由于关于第一内容的用户动作而接收与第一内容相关联的通知的接收方通信端点是否已经具有对第一内容的访问权限。
第二示例是第一示例的方法,其中,在用户打开第一内容进行编辑之后的预定延迟之后,执行从远程访问控制列表获取第一组通信端点。
第三示例是第一示例的方法,其中,每个通信端点指定单个计算设备或者单个个体用户。
第四示例是第一示例的方法,其中,社交图中该用户与第二组通信端点之间的关联的强度是由第一内容的元数据通知的。
第五示例是第四示例的方法,其中,第一内容的元数据包括文档共享上的位置,用户从该位置打开第一内容以进行编辑。
第六示例是第一示例的方法,其中,社交图中该用户与第二组通信端点之间的关联的强度是由第一内容本身的部分通知的。
第七示例是第一示例的方法,其中,从远程访问控制列表获取对第一内容的访问权限的、第二组通信端点中的至少一些通信端点包括该第二组通信端点中尚未在本地缓存中标识其对第一个内容的访问权限的那些通信端点。
第八示例是第一示例的方法,还包括:进一步用第二组通信端点的第二子集和指示该第二组通信端点的第二子集不具有对第一内容的访问权限的第三组访问权限指示符来更新本地缓存;其中,第二组通信端点的第二子集是响应于从该远程访问控制列表获取第二组通信端点中的至少一些通信端点是否具有对第一内容的访问权限,由该远程访问控制列表标识的、该第二组通信端点中的至少一些通信端点中不具有对第一内容的访问权限的那些通信端点。
第九示例是第一示例的方法,还包括:通过仅在参考本地缓存之后参考远程访问控制列表并且只有本地缓存不包括指示接收方通信端点是否具有对第一内容的访问权限的信息,来确定接收方通信端点是否已经具有对第一内容的访问权限。
第十示例是第一示例的方法,还包括:如果该确定确定接收方通信端点不具有对第一内容的访问权限,则触发用户界面要在通信地耦合到用户正在用于编辑第一内容的计算设备的显示设备上生成,其中,该用户界面通知用户接收方通信端点不具有对第一内容的访问权限。
第十一示例是第一示例的方法,还包括:通过参考远程访问控制列表,重新检查本地缓存中的通信端点是否具有访问权限;并且更新本地缓存中对应的访问权限指示符;其中,重新该检查和更新是响应于预定义的触发事件来执行的。
第十二示例是第十一示例的方法,其中,预定义的触发事件是自用户打开第一内容以进行编辑以来经过的预定义时间量的流逝。
第十三示例是第一示例的方法,其中,获取第二组通信端点受到通信端点的预定阈值最大数量的限制。
第十四示例是第一示例的方法,其中,获取第二组通信端点受到与用户的预定阈值最小关系强度的限制。
第十五示例是第一示例的方法,其中,仅在用户打开第一内容以进行编辑之前已经将对第一内容的访问权限授予另一个通信端点的情况下才执行该方法。
第十六示例是第一示例的方法,其中,仅在用户先前已经利用该用户打开第一内容进行编辑的应用的访问权限共享特征时才执行该方法。
第十七示例是第一示例的方法,还包括:解析第一内容以识别由第一内容本身以文本形式枚举的第三组通信端点;从远程访问控制列表中获取第三组通信端点中的至少一些通信端点是否具有对第一内容的访问权限;用第三组通信端点的第一子集和指示第三组通信端点的第一子集具有对第一内容的访问权限的第三组访问权限指示符来更新本地缓存,其中,该第三组通信端点的第一子集是由远程访问控制列表标识的、第三组通信端点中的至少一些通信端点中具有对第一内容的访问权限的那些通信端点。
第十八示例是一种计算设备,包括:一个或多个处理单元;以及包括计算机可执行指令的一个或多个计算机可读介质,当由所述一个或多个处理单元执行所述计算机可执行指令时,使所述计算设备:从与第一内容相对应的远程访问控制列表获取具有对该第一内容的访问权限的第一组通信端点,所述获取是在用户打开该第一内容进行编辑之后执行的;在计算设备上生成本地缓存,其包括第一组通信端点和指示第一组通信端点具有对第一内容的访问权限的第一组访问权限指示符;获取第二组通信端点,第二组通信端点是在社交图中用户与其最强关联的那些通信端点,该社交图至少部分地基于那些用户的先前动作来描绘用户之间的关系,其中社交图中的每个用户与至少一个通信端点相关联;从远程访问控制列表获取第二组通信端点中的至少一些通信端点是否具有对第一内容的访问权限;用第二组通信端点的第一子集和指示该第二组通信端点的第一子集具有对第一内容的访问权限的第二组访问权限指示符来更新本地缓存,其中该第二组通信端点的第一子集是由远程访问控制列表标识的、该第二组通信端点中的至少一些通信端点中具有对第一内容的访问权限的那些通信端点;以及,通过参考本地缓存,确定将由于关于第一内容的用户动作而接收与第一内容相关联的通知的接收方通信端点是否已经具有对第一内容的访问权限。
第十九示例是第十八示例的计算设备,其中,所述一个或多个计算机可读介质包括另外的计算机可执行指令,当由所述一个或多个处理单元执行所述计算机可执行指令使所述计算设备,进一步用第二组通信端点的第二子集和指示该第二组通信端点的第二子集不具有对第一内容的访问权限的第三组访问权限指示符来更新本地缓存;其中,第二组通信端点的第二子集是响应于从该远程访问控制列表获取第二组通信端点中的至少一些通信端点是否具有对第一内容的访问权限,由远程访问控制列表标识的、该第二组通信端点中的至少一些通信端点中不具有对第一内容的访问权限的那些通信端点。
第二十示例是包括计算机可执行指令的一个或多个计算机可读存储介质,当由一个或多个处理单元执行时所述计算机可执行指令时,使得所述一个或多个处理单元:从与第一内容相对应的远程访问控制列表获取对该第一内容具有访问权限的第一组通信端点,所述获取是在用户打开该第一内容进行编辑之后执行的;在计算设备上生成本地缓存,其包括第一组通信端点和指示第一组通信端点具有对第一内容的访问权限的第一组访问权限指示符;获取第二组通信端点,第二组通信端点是在社交图中用户与其最强关联的那些通信端点,该社交图至少部分地基于那些用户的先前动作来描绘用户之间的关系,其中社交图中的每个用户与至少一个通信端点相关联;从远程访问控制列表获取第二组通信端点中的至少一些通信端点是否具有对第一内容的访问权限;用第二组通信端点的第一子集和指示该第二组通信端点的第一子集具有对第一内容的访问权限的第二组访问权限指示符来更新本地缓存,其中该第二组通信端点的第一子集是由远程访问控制列表标识的、该第二组通信端点中的至少一些通信端点中具有对第一内容的访问权限的那些通信端点;以及,通过参考本地缓存,确定将由于关于第一内容的用户动作而接收与第一内容相关联的通知的接收方通信端点是否已经具有对第一内容的访问权限。
从以上描述可以看出,已经提出了利用预测性的本地预缓存来减少确定对数字内容的访问权限的等待时间的机制。鉴于本申请中描述的主题的许多可能的变化,我们要求所有这样的实施例作为本发明,这些实施例可以落入所附权利要求及其等同物的范围内。

Claims (15)

1.一种减少确定对第一数字内容的访问权限的等待时间的方法,所述方法包括:
从与第一内容相对应的远程访问控制列表获取具有对所述第一内容的访问权限的第一组通信端点,所述获取是在用户打开所述第一内容进行编辑之后执行的;
在所述计算设备上生成本地缓存,其包括所述第一组通信端点和指示所述第一组通信端点具有对所述第一内容的访问权限的第一组访问权限指示符;
获取第二组通信端点,所述第二组通信端点是在社交图中所述用户与其最强关联的那些通信端点,所述社交图至少部分地基于那些用户的先前动作来描绘用户之间的关系,其中,所述社交图中的每个用户与至少一个通信端点相关联;
从所述远程访问控制列表获取所述第二组通信端点中的至少一些通信端点是否具有对所述第一内容的所述访问权限;
用所述第二组通信端点的第一子集和指示所述第二组通信端点的所述第一子集具有对所述第一内容的所述访问权限的第二组访问权限指示符来更新所述本地缓存,其中,所述第二组通信端点的所述第一子集是由所述远程访问控制列表标识的、所述第二组通信端点中的所述至少一些通信端点中具有对所述第一内容的所述访问权限的那些通信端点;以及
通过检查所述本地缓存,确定将由于关于所述第一内容的用户动作而接收与所述第一内容相关联的通知的接收方通信端点是否已经具有对所述第一内容的所述访问权限。
2.如权利要求1所述的方法,其中,每个通信端点指定单个计算设备或者单个个体用户。
3.如权利要求1所述的方法,其中,在所述社交图中,所述用户与所述第二组通信端点之间的所述关联的强度是由所述第一内容的元数据通知的。
4.如权利要求1所述的方法,还包括:
进一步用所述第二组通信端点的第二子集和指示所述第二组通信端点的所述第二子集不具有对所述第一内容的所述访问权限的第三组访问权限指示符来更新所述本地缓存;
其中,所述第二组通信端点的所述第二子集是响应于从所述远程访问控制列表获取所述第二组通信端点中的所述至少一些通信端点是否具有对所述第一内容的所述访问权限,由所述远程访问控制列表标识的、所述第二组通信端点中的所述至少一些通信端点中不具有对所述第一内容的所述访问权限的那些通信端点。
5.如权利要求1所述的方法,还包括:
通过仅在参考所述本地缓存之后参考所述远程访问控制列表并且只有所述本地缓存不包括指示所述接收方通信端点是否具有对所述第一内容的所述访问权限的信息,来确定所述接收方通信端点是否已经具有对所述第一内容的所述访问权限。
6.如权利要求1所述的方法,还包括:
如果所述确定确定所述接收方通信端点不具有对所述第一内容的所述访问权限,则触发用户界面要在通信地耦合到所述用户正用于编辑所述第一内容的计算设备的显示设备上生成,其中,所述用户界面通知所述用户所述接收方通信端点不具有对所述第一内容的所述访问权限。
7.如权利要求1所述的方法,还包括:
通过参考所述远程访问控制列表,重新检查所述本地缓存中的通信端点是否具有所述访问权限;以及
更新所述本地缓存中对应的访问权限指示符;
其中,所述重新检查和更新是响应于预定义的触发事件来执行的。
8.如权利要求1所述的方法,还包括:
解析所述第一内容以识别由所述第一内容本身以文本形式枚举的第三组通信端点;
从所述远程访问控制列表获取所述第三组通信端点中的至少一些通信端点是否具有对所述第一内容的所述访问权限;以及
用所述第三组通信端点的第一子集和指示所述第三组通信端点的所述第一子集具有对所述第一内容的所述访问权限的第三组访问权限指示符来更新所述本地缓存,其中,所述第三组通信端点的所述第一子集是由所述远程访问控制列表标识的、所述第三组通信端点中的所述至少一些通信端点中具有对所述第一内容的所述访问权限的那些通信端点。
9.一种计算设备,其包括:
一个或多个处理单元;以及
包括计算机可执行指令的一个或多个计算机可读介质,所述指令在由所述一个或多个处理单元执行时使所述计算设备:
执行权利要求1所述的方法。
10.一个或多个计算机可读存储介质,包括计算机可执行指令,所述指令在由一个或多个处理单元执行时使所述一个或多个处理单元:
执行权利要求1所述的方法。
11.如权利要求4所述的方法,其中,所述第一内容的元数据包括文档共享上的位置,所述用户从所述位置打开所述第一内容以进行编辑。
12.如权利要求1所述的方法,其中,所述社交图中的所述用户与所述第二组通信端点之间的所述关联的强度是由所述第一内容本身的部分通知的。
13.如权利要求1所述的方法,其中,从所述远程访问控制列表获得对所述第一内容的所述访问权限的、所述第二组通信端点中的所述至少一些通信端点包括所述第二组通信端点中尚未在所述本地缓存中标识其对所述第一内容的访问权限的那些通信端点。
14.如权利要求1所述的方法,其中,所述获取所述第二组通信端点受到通信端点的预定阈值最大数量的限制。
15.如权利要求1所述的方法,其中,所述获取所述第二组通信端点受到与所述用户的预定阈值最小关系强度的限制。
CN201880024221.9A 2017-04-10 2018-04-02 用于减少数字内容访问权限确定的等待时间的预测性本地预缓存 Active CN110494857B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/483,801 2017-04-10
US15/483,801 US10447803B2 (en) 2017-04-10 2017-04-10 Predictive local pre-cache for reduced latency digital content access rights determination
PCT/US2018/025615 WO2018191039A1 (en) 2017-04-10 2018-04-02 Predictive local pre-cache for reduced latency digital content access rights determination

Publications (2)

Publication Number Publication Date
CN110494857A true CN110494857A (zh) 2019-11-22
CN110494857B CN110494857B (zh) 2023-04-21

Family

ID=62047042

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880024221.9A Active CN110494857B (zh) 2017-04-10 2018-04-02 用于减少数字内容访问权限确定的等待时间的预测性本地预缓存

Country Status (4)

Country Link
US (2) US10447803B2 (zh)
EP (1) EP3610390B1 (zh)
CN (1) CN110494857B (zh)
WO (1) WO2018191039A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9692767B2 (en) 2014-06-05 2017-06-27 Theplatform, Llc Systems and methods for expedited entitlement checks
US11301568B1 (en) * 2018-04-05 2022-04-12 Veritas Technologies Llc Systems and methods for computing a risk score for stored information
US11475092B2 (en) * 2018-12-21 2022-10-18 Home Box Office, Inc. Preloaded content selection graph validation
US11636855B2 (en) 2019-11-11 2023-04-25 Sonos, Inc. Media content based on operational data
US11204737B2 (en) 2019-11-11 2021-12-21 Sonos, Inc. Playback queues for shared experiences
AU2021259316B2 (en) 2020-04-21 2023-11-23 Sonos, Inc. Priority media content
US11789976B2 (en) 2020-12-21 2023-10-17 Dropbox, Inc. Data model and data service for content management system
US11803652B2 (en) 2020-12-21 2023-10-31 Dropbox, Inc. Determining access changes
US11366793B1 (en) 2020-12-21 2022-06-21 Dropbox, Inc. Data model and data service for content management system
US11799958B2 (en) 2020-12-21 2023-10-24 Dropbox, Inc. Evaluating access based on group membership
US12001574B2 (en) * 2020-12-21 2024-06-04 Dropbox, Inc. Evaluating an access control list from permission statements
CN113836216A (zh) * 2021-09-06 2021-12-24 飞算数智科技(深圳)有限公司 数据展示方法、装置、存储介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090327294A1 (en) * 2008-06-25 2009-12-31 Microsoft Corporation Structured Coauthoring
US20160170991A1 (en) * 2014-12-11 2016-06-16 Facebook, Inc. User-aware notification delivery
US20160179965A1 (en) * 2014-12-19 2016-06-23 International Business Machines Corporation Information propagation via weighted semantic and social graphs
US20160195404A1 (en) * 2015-01-05 2016-07-07 Ford Global Technologies, Llc Peer to peer car sharing social-graph configurator
WO2016131044A1 (en) * 2015-02-15 2016-08-18 Schmahmann Adin Reicin Systems and methods for secure collaboration with precision access management

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ITBO20060128A1 (it) * 2006-02-21 2007-08-22 Tema Sinergie S R L Macchina dosatrice di liquido radioattivo.
US7996456B2 (en) 2006-09-20 2011-08-09 John Nicholas and Kristin Gross Trust Document distribution recommender system and method
US8924465B1 (en) 2007-11-06 2014-12-30 Google Inc. Content sharing based on social graphing
US20120001919A1 (en) 2008-10-20 2012-01-05 Erik Lumer Social Graph Based Recommender
US20100257239A1 (en) 2009-04-02 2010-10-07 Qualcomm Incorporated Method and apparatus for establishing a social network through file transfers
US8180804B1 (en) 2010-04-19 2012-05-15 Facebook, Inc. Dynamically generating recommendations based on social graph information
US8751621B2 (en) 2011-06-16 2014-06-10 Radiumone, Inc. Building a social graph based on links received and selected by receiving users of the open web
US9253176B2 (en) 2012-04-27 2016-02-02 Intralinks, Inc. Computerized method and system for managing secure content sharing in a networked secure collaborative exchange environment
US8522130B1 (en) 2012-07-12 2013-08-27 Chegg, Inc. Creating notes in a multilayered HTML document
US10776432B2 (en) 2013-02-07 2020-09-15 Pecan Technologies Inc Content sharing management
US9686577B2 (en) * 2013-02-22 2017-06-20 Facebook Time-sensitive content update
US9930079B2 (en) * 2014-07-18 2018-03-27 Facebook, Inc. Device-driven social network
US9990441B2 (en) * 2014-12-05 2018-06-05 Facebook, Inc. Suggested keywords for searching content on online social networks
US20160162938A1 (en) * 2014-12-09 2016-06-09 Facebook, Inc. Customizing advertisements using beacons on online social networks
US10447644B2 (en) * 2015-04-23 2019-10-15 Facebook, Inc. Sending notifications as a service
US10291741B2 (en) * 2015-10-26 2019-05-14 Facebook, Inc. Notification click-through rate (CTR) thresholds
US10430051B2 (en) * 2015-12-29 2019-10-01 Facebook, Inc. Multi-user content presentation system
US20170277691A1 (en) * 2016-03-22 2017-09-28 Facebook, Inc. Quantifying Social Influence

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090327294A1 (en) * 2008-06-25 2009-12-31 Microsoft Corporation Structured Coauthoring
US20160170991A1 (en) * 2014-12-11 2016-06-16 Facebook, Inc. User-aware notification delivery
US20160179965A1 (en) * 2014-12-19 2016-06-23 International Business Machines Corporation Information propagation via weighted semantic and social graphs
US20160195404A1 (en) * 2015-01-05 2016-07-07 Ford Global Technologies, Llc Peer to peer car sharing social-graph configurator
WO2016131044A1 (en) * 2015-02-15 2016-08-18 Schmahmann Adin Reicin Systems and methods for secure collaboration with precision access management

Also Published As

Publication number Publication date
CN110494857B (zh) 2023-04-21
EP3610390A1 (en) 2020-02-19
WO2018191039A1 (en) 2018-10-18
US11025739B2 (en) 2021-06-01
US20200045126A1 (en) 2020-02-06
EP3610390B1 (en) 2023-06-21
US20180295203A1 (en) 2018-10-11
US10447803B2 (en) 2019-10-15

Similar Documents

Publication Publication Date Title
CN110494857A (zh) 用于减少数字内容访问权限确定的等待时间的预测性本地预缓存
US8561100B2 (en) Using xpath and ontology engine in authorization control of assets and resources
EP2901361B1 (en) Secure data container for web applications
US8095629B2 (en) Managing user accounts and groups in multiple forests
US11556698B2 (en) Augmenting textual explanations with complete discourse trees
CN111163096B (zh) 提供数据接口服务的方法、装置、电子设备、存储介质
US11720825B2 (en) Framework for multi-tenant data science experiments at-scale
JP2011118895A (ja) メッセージ・キューにおける論理的に関連したメッセージをマージする方法
TW201443812A (zh) 社群媒體影響性評估(二)
US11082514B2 (en) Push notification management
US20220114346A1 (en) Multi case-based reasoning by syntactic-semantic alignment and discourse analysis
CN115299011B (zh) 云环境中的隐私中心数据安全
US11126646B2 (en) Implicit and explicit cognitive analyses for data content comprehension
CN109582670A (zh) 一种车辆维修方案的推荐方法及相关设备
EP2548141B1 (en) A system and method for evaluating a reverse query
CN114417413A (zh) 区块链文件系统的文件处理方法、装置、设备及介质
CN117170982B (zh) 人机检测方法、装置、电子设备和计算机可读介质
GB2461774A (en) Data approval system
CN115203061B (zh) 接口自动化测试方法、装置、电子设备及存储介质
KR102529245B1 (ko) 얼굴 표정 및 환경 분석을 통한 감정 분석에 따른 맞춤형 디지털 헬스케어 명상 컨텐츠 제공 방법, 장치 및 컴퓨터-판독가능 기록매체
KR20200051835A (ko) 데이터 분석 시스템에서의 메모리 할당
Dai et al. Synthesizing power management strategies for wireless sensor networks with UPPAAL-STRATEGO
CN104981775B (zh) 在Web服务的功能测试中提供上下文的方法、系统和介质
Manca et al. Considering task pre-conditions in model-based user interface design and generation
CN112597058B (zh) 一种基于卷创建的网页测试方法、装置、设备及存储介质

Legal Events

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