CN115668193A - 在通信群组中的计算机资源的隐私保护复合视图 - Google Patents

在通信群组中的计算机资源的隐私保护复合视图 Download PDF

Info

Publication number
CN115668193A
CN115668193A CN202180037756.1A CN202180037756A CN115668193A CN 115668193 A CN115668193 A CN 115668193A CN 202180037756 A CN202180037756 A CN 202180037756A CN 115668193 A CN115668193 A CN 115668193A
Authority
CN
China
Prior art keywords
computer
user
resource
group
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180037756.1A
Other languages
English (en)
Inventor
J·格伦维克
J-O·卡尔伯格
H·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 CN115668193A publication Critical patent/CN115668193A/zh
Pending legal-status Critical Current

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
    • H04L63/104Grouping of entities
    • 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
    • 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
    • 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

Landscapes

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

Abstract

提供了计算机化系统,其用于检测或接收通信群组中的共享手势,并且响应性地实例化或更新包括与所述共享手势相关联的丰富上下文数据的一个或多个计算机对象。这些计算机对象能够基于一个或多个规则或策略进行实例化或更新。这些计算机对象或相关联的指示能够被回显给用户,以给出关于所述共享资源的用户上下文。能够确定用户是否能访问(或者允许访问)这样的计算机对象和/或相关联的计算机资源以用于呈现给所述用户。

Description

在通信群组中的计算机资源的隐私保护复合视图
背景技术
计算机实现的技术能够辅助用户制定通信群组,并且特别是在这样的通信群组内交换计算机资源(例如,web链接、文档、文件等)。例如,一些群组聊天应用被配置为在计算机存储器中上载和存储电子表格文档,从而该群组的成员能够访问所述电子表格文档。然而,现有技术并不根据访问控制需求等来提供用于智能地呈现丰富上下文数据的功能(例如,在共享资源时群组成员的确切名称)。此外,这些技术的所存储的信息和用户界面功能也受到限制。计算技术的进步和现代计算设备的日益普及已经导致了关于通信群组的可用数据的急剧增加。但是常规的解决方案已经跟不上这些进步的步伐,并且未能充分利用所述可用数据或者提供稳健的功能以便解决这些新的挑战。此外,现有技术不必要地消耗计算资源,诸如存储器、CPU和网络资源等。
发明内容
提供本概要是为了以简化的形式引入概念的选择,这些概念在下文的详细描述中进一步描述。本概要不是为了识别所要求保护的主题的关键特征或基本特征,也不是为了用于辅助确定所要求保护的主题的范围。
本公开的各方面涉及用于检测或接收通信群组中的共享手势(sharing gesture)(例如,对计算机资源的引用,诸如到由一个用户共享给其他用户的计算机文件的链接)以及响应性地生成或更新包括与所述共享手势相关联的丰富上下文数据的一个或多个计算机对象(例如,数据结构、函数、数据对象和/或值)的计算机化系统。这些计算机对象(或者计算机对象的指示)能够被回显给用户,以给出关于共享资源的用户上下文。例如,在线会议会话的群组参与者可以发布指示共享手势的线程,其指出“这是指向我正在谈论的网页的链接”。各种上下文信息,诸如当所述共享手势发生时存在的群组成员的名称、计算机资源的类型、共享手势的时间戳或者其他上下文信息,能够被填充在计算机对象中或者被用于更新计算机对象,其然后能够被回显给用户,所述用户可能例如是会议的另一参与者,或者是不能出席会议的人。
一些实施例基于一个或多个规则或策略额外地实例化或更新这些计算机对象,所述规则或策略根据各种标准来规定计算机对象中填充多少计算机资源(或者向用户显示)和/或在计算机对象中填充什么(或者多少)上下文数据(或者向用户显示)。例如,实施例能够确定共享手势发生在其之内的群组的类型,并且在存储器中定位规则,所述规则指示如果群组是特定类型的群组,则应当提取特定类型的上下文数据、特定量的上下文数据、或者特定上下文数据集并且将其填充在计算机对象中。
一些实施例另外地或替代地确定通信群组的用户是否能访问(或者允许访问)这样的计算机对象和相关联的计算机资源以用于呈现给用户。在一些情况下,即使已经做出关于共享计算机资源的请求,并非通信群组的所有成员都可以访问在群组内共享的给定资源。这可能是由于针对特定计算机资源实现不同的访问控制规则,而与计算机资源在其中被共享的通信群组无关。特定实施例将请求用户的访问证书与访问计算机对象所需的群组访问控制列表(“ACL”)和/或访问计算机资源自身所需的ACL进行比较。在各种实施例中,访问一个或多个计算机对象所需的群组ACL不同于访问在共享手势中共享的对应资源所需的ACL,并且因此可能需要针对这两者进行相应的访问控制检查。这可能是由于用户是特定群组的成员,但是不能访问在所述群组内被共享的所有资源。替代地,用户可以访问被共享的资源,但是他们可能不是特定群组的一部分。在特定实施例中,即使用户不能够访问特定计算机资源的有效载荷或内容,但是用户仍然可以获得对计算机对象的访问,这提供了基于所呈现的关于资源的上下文数据来共享计算机资源的指示。
附图说明
下文引用随附的附图详细描述了本公开的各方面,其中:
图1是适合用于实现本公开的实施例的示例性计算环境的框图;
图2是图示了根据本公开的实施例的用于生成或更新计算机对象并且确定用户是否能访问这样的计算机对象和相关联的计算机资源的示例性系统架构的框图;
图3是根据本公开的实施例的用于访问一个或多个资源和上下文数据的示例性索引表和资源表的示意图;
图4描绘了根据本公开的实施例的包括将计算机对象回显给用户的指示的用户界面的说明性屏幕截图;
图5描绘了根据本公开的实施例的包括将计算机对象回显给用户的指示的用户界面的说明性屏幕截图;
图6描绘了根据本公开的实施例的包括将计算机引用回显给用户的用户界面的说明性屏幕截图;
图7是根据本公开的实施例的用于使得呈现上下文数据和计算机资源的至少一部分的示例性过程的流程图;
图8是根据本公开的实施例的用于生成或更新计算机对象的示例性过程的流程图;
图9是根据本公开的实施例的用于使得基于用户是否能访问计算机对象和相关联资源来显示信息的示例性过程的流程图;
图10是用于实现本公开的实施例的示例性计算设备的框图。
具体实施方式
本公开的各方面的主题在本文中具体描述以满足法定要求。然而,描述自身并不打算限制本专利的范围。相反,发明人已经考虑到,所要求保护的主题也可以结合其他现有或者未来技术以其他方式体现,以包括不同的步骤或者类似于在本文档中所描述的步骤的群相组合。此外,尽管术语“步骤”和/或“框”在本文中可以被用于表示所采用的方法的不同元素,但是该术语不应当被解释为暗示在本文中所公开的各种步骤之中或之间的任意特定顺序,除非明确描述了各个步骤的顺序。在本文中所描述的每种方法可以包括可以使用硬件、固件和/或软件的任何组合来执行的计算过程。例如,各种功能可以由执行被存储在存储器中的指令的处理器来执行。所述方法还可以被体现为被存储在计算机存储介质上的计算机可用指令。所述方法可以由独立应用、服务或托管服务(独立或者与另一托管服务组合)或者另一产品的插件提供,等等。
在通信群组技术(例如,MICROSOFT
Figure BDA0003960877180000021
)中的计算机资源(例如,文件)共享功能常常是不完整的,因为其缺乏理解或识别计算机资源周围上下文(例如,计算机资源确切包含什么)所需的重要上下文数据。因此,用户可以看到计算机资源在群组中被共享,但是可能不能确定计算机资源包含什么或者关于计算机资源的任何其他上下文数据。通信群组能够包括群组成员之间的线程、帖子或消息,随着时间的推移,这些线程、帖子或消息将成为非常长的数据抄本。因此,对于用户而言,下钻、滚动或者以其他方式查找与这样的计算机资源相关的这样的消息内的任意上下文可能是困难的。此外,即使通信群组应用内的消息自身通常也不包括围绕计算机资源的足够的上下文数据。
本公开的各个方面通过执行新功能来弥补这些缺陷并且改进现有技术。例如,特定实施例生成或者更新包括丰富上下文数据的计算机对象(在此也被称为“复合视图”)。如在本文中所描述的“计算机对象”是能够在计算机存储器中访问或引用的变量、数据结构、函数、数据对象和/或值,包括与共享手势相关联的元数据或者上下文数据。如在本文中所描述的“共享手势”包括对一个或多个计算机资源的引用(例如,URL)。所述计算机资源可以是web资源(例如,web页面或web应用)、本地(或远程)存储的应用、文档(例如,MICROSOFTWORD文档)、文件等,其不是托管通信群组的应用的一部分。共享手势通常是由群组成员所发送的消息、线程或帖子或者其一部分。例如,消息可能声明,“这是我们昨天讨论的文件”,其中,“文件”是共享手势和到计算机资源(实际文件)的超链接。共享手势的另一示例是指向web上的文章的链接,其中,计算机资源是web文章。
在一些实施例中,“上下文数据”可以表示事件上下文。“事件上下文”能够包括在通信群组应用中已经对共享手势进行共享之前和/或之后的一些或全部对话或话语。在说明性示例中,对于共享手势“...这里是上季度的链接”,在聊天会话中该短语之前的句子可能是“Robert,你有部门A上季度的销售连接吗?”该上下文数据提供了有用的上下文,诸如链接包含部门A上季度的销售。使用该同样的例示说明,在聊天会话中直接在共享手势之后的句子可以是,“请忽略来自其他销售群组的任何销售信息”。该上下文数据对于确定其他销售群组信息对该聊天会话没有用可能是有用的。随后,在一些实施例中,用户界面或者其他图形显示的格式可以显示元数据,所述元数据指示该特定资源包含上一季度的部门A销售数据,并且仅显示部门A销售数据,而不是基于事件上下文的资源中的其他数据。
另外地或替代地,上下文数据能够指代所获得的任何远程或外部上下文,其不是通信群组应用内的抄本、内容或消息(例如,事件上下文)的直接部分。例如,外部上下文能够是从用户设备(例如,经由日历工具插件、文本、社交媒体或者其他应用)、传感器(例如,生物统计传感器、地理定位传感器)、一个或多个服务器、和/或其他远程数据存储(诸如数据库)取回的数据。这样的外部上下文能够被用作一个或多个信号以确定诸如与共享手势或计算机资源相关联的其他重要细节或元数据之类的信息。在例示说明中,使用以上示例,对于包括共享手势“...这里是上一季度的链接”的群组通信会话,所述事件上下文可能仍然没有指示其他有用的信息,诸如经由电子邮件或其他通信信道(例如,SMS文本)而不是经由通信群组应用向群组的成员共享的计算机资源的更新版本。在这些情况下,实施例能够从通信群组应用之外的资源获得该上下文数据,并且在通信群组应用的计算机对象或用户界面中提供经更新的计算机资源和/或所述经更新的计算机资源的经更新的元数据。
各种实施例通过基于一个或多个规则或策略来实例化或更新这些计算机对象而改进现有技术,所述规则或策略根据各种标准来规定计算机对象中填充多少计算机资源(或者向用户显示)和/或在计算机对象中填充什么(或者多少)上下文数据(或者向用户显示)。例如,规则可以基于在共享手势中共享的特定类型的计算机资源(例如,WORD文档、EXCEL电子表格或者外部互联网web链接)来指定在所述计算机对象中包括什么。在另一示例中,如果事件上下文指示不需要计算机资源的其他属性,则另一规则可以特定于共享资源的单个属性(例如,在EXCEL文档中的列)。
特定实施例另外地或替代地确定用户是否能访问这样的计算机对象和相关联的计算机资源。在现有技术中,使针对通信群组的问题复杂化在于不是群组的所有成员都能够访问在群组中共享的给定资源,即使已经做出关于共享资源的请求。例如,可以针对资源实施不同的访问控制规则,而与在其中共享资源的通信群组无关。通常,组织中的不同类型的人基于他们的角色、资格或者其他标准来被允许访问不同级别的信息。可以通过使用访问控制管理功能将访问受控数据呈现给特定被允许的用户。访问控制管理指代一种技术基础结构,其通过指示谁或者什么对特定资源(例如,文件、应用、文档、网络设置的更改等)具有特定权限的策略来帮助用户、群组或企业限制对所述特定资源的访问。特定个体或进程具有“特权”,因为他们有权对资源进行管理更改或者具有其他访问权限(例如,只读查看权限),而其他个体或进程则没有这样的权限。例如,访问控制管理功能能够包括基于个体的公司角色而不考虑通信群组,将对特定应用的访问限制到少数选定的个体(例如,管理员和首席财务官)。
现有技术不允许不能访问这样的资源的那些群组成员访问,也不以其他方式报告或通知用户资源已经被共享或者呈现其他上下文数据。因此,本公开的各种实施例通过基于用户的访问证书智能地返回计算机对象和/或计算机资源来另外地或替代地改进这些技术。特定实施例将请求用户的访问证书与访问计算机对象和计算机资源自身所需的访问控制列表(ACL)进行比较。ACL指示访问对应资源或计算机对象所需的一个或多个特定访问控制级别。每个ACL能够指定个体(例如,人的姓名)、用户(例如,特定服务或最终用户)或者其成员能访问资源或计算机对象的(一个或多个)安全群组、所需标签、信息屏障等。每个ACL包括与一个或多个访问控制级别相对应的一个或多个访问控制级别标识符。
在示例性说明中,为了访问第一计算机资源,ACL可以指示“[Jane Doe;JohnDoe]”,其中,“Jane Doe”是第一访问控制级别标识符,而“John Doe”是第二访问控制级别标识符。该ACL可以指示,为了访问第一资源,请求用户必须是Jane Doe或John Doe。以这种方式,当用户请求访问计算机资源时,一些实施例通过将用户的访问证书与一个或多个访问控制级别标识符进行比较,而有效地仅返回用户能够访问的计算机资源的属性。
在本文中所描述的一些实施例使用群组ACL,所述群组ACL通常被用于基于将用户的访问证书与访问一个或多个计算机对象所需的一个或多个群组ACL进行比较来确定请求用户是否能够访问所述一个或多个计算机对象。在一些实施例中,群组ACL是与访问包含资源的上下文数据的计算机对象所需的群组成员资格要求相对应的ACL。在各种实施例中,访问所述一个或多个计算机对象所需的群组ACL不同于访问在共享手势中所共享的对应资源所需的ACL,或者需要针对这两者的相应检查。例如,用户可能是特定群组的成员,但是不能够访问他们共享的资源。替代地,用户可以访问特定的计算机资源,但是他们可能不是特定群组的一部分。在这些情况下,由于这些看似相互冲突的访问控制需求,现有技术缺乏用于确定将确切的什么内容回显给群组的用户的功能。
各种实施例将计算机对象与访问计算机对象所需的群组访问控制级别相关联,使得不满足群组访问控制级别的任何用户不是群组的成员和/或被阻止访问所述计算机对象。例如,为了访问第一计算机对象,ACL可以指示“[安全群组A;安全群组B]”,其中,“安全群组A”是第一访问控制级别标识符,而“安全群组B”是第二访问控制级别标识符。该ACL可以指示为了访问第一计算机对象,请求用户必须是“安全群组A”(例如,第一MICROSOFTTEAMS信道)和/或“安全群组B”(例如,第二MICROSOFT TEAMS信道)的成员。以这种方式,当用户请求访问计算机对象或者计算机资源时,一些实施例通过将用户的访问证书与一个或多个访问控制级别标识符进行比较,而有效地仅返回用户能访问的信息。因此,例如,即使用户不能访问特定计算机资源的有效载荷,用户仍然可以获取对计算机对象的访问,所述计算机对象提供了计算机资源被共享的指示或提示以及关于所述资源的一些上下文数据。
在一些实施例中,可以提供包括用于改善用户体验的功能的智能图形用户界面。现有的应用或用户界面技术在其功能方面特别不足。常规的通信群组解决方案,诸如会议应用的聊天室或用户界面,简单地显示由用户输入的整个聊天历史的所有文本以及共享的对应资源。这迫使繁琐的用户任务:手动地滚动线程或窗口以查看存在哪些计算机资源(或者上下文),或者钻探各个层以获得任何相关信息。这也迫使用户确定缺失的信息,诸如共享资源的类型、何时共享资源等。这会因为人为错误而导致不准确性,并且需要大量时间来做出该确定。本公开的各种实施例改进了这些技术,因为其能够例如经由单个用户界面显示压缩列表、应用编程接口(API)或者计算机资源的容器和相对少量的上下文数据(与整个聊天历史抄本相反)。以这种方式,实施例提供计算机资源和相关联的上下文数据的一种类型的概要,而无需用户下钻、滚动或者以其他方式对聊天历史内的大量数据进行排序。
现有技术在计算资源消耗(例如,CPU、存储器、I/O、网络延时)方面也是低效的。例如,现有技术要求聊天历史的整个抄本要么通过网络被传输到用户设备并且被呈现给用户界面,要么被存储到存储器设备,以便用户能够手动地解析所述数据内的相关信息。这样的抄本可以包括输入,诸如群组参与者的名称、帖子的时间、群组的名称、每个参与者的每个化身、以及所有群组聊天历史内容。这会增加存储设备I/O(例如,非易失性盘上的过量物理读/写头移动)或者网络延时,因为每次用户输入这些数据时,请求都必须重复地到达存储设备以执行读/写操作,这是耗时的、易于出错的,并且最终会磨损诸如读/写头之类的组件。另外,对于会话或基于网络的web应用,每个用户输入可能需要用于网络协议(例如,TCP/IP)的分组生成成本(例如,输入头部信息),这可能在每次通过网络传输用户输入时增加网络延时。例如,每次用户点击计算机资源的web链接时,都必须交换分组头,并且所述数据的有效载荷必须穿过网络。另外,呈现用户界面、存储、或者传输事件的整个抄本会消耗不必要的量的存储器。
本公开的各种实施例通过改进计算设备的计算资源消耗来改进这些技术。例如,一些方面仅呈现、传输或者存储在共享手势中所共享的计算机资源(以及可能相对少量的元数据和/或上下文数据)。例如,在确定共享手势之后,实施例能够在计算机网络上仅传输包含计算机资源的一部分或指示(例如,文件名、识别计算机资源的标识符、计算机资源的计算机资源路径的位置)和元数据(与整个会议抄本相反)的计算机对象。以这种方式,由于仅有计算机对象在网络上被传输,因此降低了分组生成成本,这在一些情况下允许在网络上传输更多的比特。在另一示例中,仅有一部分资源和元数据被存储到存储器或者从存储器取回,而不是会议的整个抄本。以这种方式,存储器存储装置被优化,并且I/O操作更少。在另一示例中,计算机资源的实际有效载荷或内容的一个或多个部分能够被直接呈现给用户界面。以这种方式,用户可以获得关于计算机资源的相关信息,而不需要点击链接。如上文所阐述的,使用TCP/IP或者其他网络协议,当选择链接时,存在分组生成成本。因此,当计算机资源的一个或多个部分被直接提供给用户界面时,例如不需要远程地取得计算机资源的有效载荷,从而不存在分组生成成本。
现在转向图1,提供了示出在其中可以采用本公开的一些实施例的示例性操作环境100的框图。应当理解,在本文中所描述的这种和其他布置仅作为示例来阐述。除了或者替代所示的那些布置和元件,能够使用其他布置和元件(例如,机器、接口、功能、命令和功能分组),并且为了清楚起见,可以完全省略一些元件。此外,在本文中所描述的元件中的许多元件是功能实体,其可以作为离散或分布式组件或者与其他组件结合实现,并且以任意合适的组合和位置来实现。在本文中被描述为由一个或多个实体执行的各种功能可以由硬件、固件和/或软件来执行。例如,一些功能可以由执行被存储在存储器中的指令的处理器来执行。
在未示出的其他组件中,示例性操作环境100包括多个用户设备,诸如用户设备102a和102b至102n;多个数据源,诸如数据源104a和104b至104n;服务器106;传感器103a和107;以及网络110。应当理解,在图1中所示的环境100是一个合适的操作环境的示例。在图1中所示的组件中的每个组件可以经由任意类型的计算设备来实现,例如,诸如结合图11所描述的计算设备1100。这些组件可以经由网络110彼此通信,网络110可以包括但是不限于一个或多个局域网(LAN)和/或广域网(WAN)。在示例性实现方式中,网络110包括互联网和/或蜂窝网络,其中包括各种可能的公共和/或专用网络中的任意一个。
应当理解,在本公开的范围内,可以在操作环境100内使用任意数量的用户设备、服务器和数据源。每个设备可以包括在分布式环境中协作的单个设备或多个设备。例如,服务器106可以经由被布置在分布式环境中的多个设备来提供,所述多个设备共同提供在本文中所描述的功能。另外,未示出的其他组件也可以被包括在分布式环境内。
用户设备102a和102b至102n能够是操作环境100的客户端侧的客户端设备,而服务器106能够在操作环境100的服务器侧。服务器106能够包括服务器侧软件,其被设计成与用户设备102a和102b至102n上的客户端侧软件协同工作,以便实现在本公开中所讨论的特征和功能的任意组合。提供对操作环境100的这种划分是为了例示说明合适环境的一个示例,并且针对每个实现方式不要求服务器106和用户设备102a和102b至102n的任意组合保持为单独的实体。
用户设备102a和102b至102n可以包括能够由用户使用的任意类型的计算设备。例如,在一个实施例中,用户设备102a至102n可以是关于在本文中的图10所描述的计算设备的类型。通过示例而非限制的方式,用户设备可以被体现为:个人计算机(PC)、膝上型计算机、移动或移动设备、智能手机、平板计算机、智能手表、可穿戴计算机、个人数字助理(PDA)、音乐播放器或MP3播放器、全球定位系统(GPS)或设备、视频播放器、手持通信设备、游戏设备或系统、娱乐系统、车辆计算机系统、嵌入式系统控制器、相机、遥控器、条形码扫描仪、计算机化测量设备、器具、消费者电子设备、工作站或者这些描述的设备的任意组合,或者任何其他合适的计算机设备。
数据源104a和104b至104n可以包括数据源和/或数据系统,其被配置为使数据可用于操作环境100的各种组成部分中的任意组成部分或者结合图1所描述的系统200。(例如,在一个实施例中,一个或多个数据源104a至104n向图2的用户数据收集组件210提供(或者使其可用于访问)用户数据。)数据源104a和104b至104n可以与用户设备102a和102b至102n以及服务器106分开,或者可以被并入和/或集成到这些组件中的至少一个组件中。在一个实施例中,数据源104a至104n中的一个或多个数据源包括一个或多个传感器103a、107,其可以被集成到用户设备102a、102b或102n或服务器106中的一个或多个中或者与其相关联。结合图2的用户数据收集组件210进一步描述了由数据源104a至104n提供的感测到的用户数据的示例。
操作环境100能够被用于实现如在图2中所描述的系统200的组件中的一个或多个组件,包括用于生成或更新复合视图或数据对象的组件。操作环境100也能够被用于实现分别关于图7、8和9所描述的过程流程700、800和/或900的各方面。现在结合图1参考图2,提供了示出适合于实现本公开的实施例的示例性计算系统架构的各方面的框图,并且通常被指定为复合视图生成系统200。复合视图生成系统200仅表示合适的计算系统架构的一个示例。除了或者替代所示的那些布置和元素,能够使用其他布置和元素,并且为了清楚起见,可以完全省略一些元素。此外,与操作环境100一样,在本文中所描述的元件中的许多元件是功能实体,其可以作为离散或分布式组件或者与其他组件结合实现,并且以任意合适的组合和位置来实现。
示例性系统200包括网络110,网络110结合图1进行描述,并且通信地耦合系统200的组件,所述组件包括群组简档240、群组事件监视器250、用户数据收集组件210、呈现组件220、复合视图对象生成器280、客户端资源运行时评估260以及存储装置225。复合视图生成系统200通常负责生成计算机对象并且确定用户是否能够访问这样的计算机对象和相关联的计算机资源。在一些实施例中,系统200可以包括一个或多个消费者应用290或者与其一起操作。这些组件可以被体现为一组经编译的计算机指令或功能、程序模块、计算机软件服务或者在一个或多个计算机系统上执行的过程的布置,诸如结合图10所描述的计算设备1000。
在一个实施例中,由系统200的组件执行的功能与一个或多个个人助理应用、服务、插件、扩展或者例程相关联。具体地,这样的应用、服务、插件、扩展或者例程可以在一个或多个用户设备(诸如用户设备102a)、服务器(诸如服务器106)上操作,可以跨一个或多个用户设备和服务器分布,或者在云中实现。此外,在一些实施例中,系统200的这些组件可以跨网络分布,包括云中的一个或多个服务器(诸如服务器106)和客户端设备(诸如用户设备102a),或者可以驻留在用户设备上,诸如用户设备102a。此外,这些组件、由这些组件执行的功能或者由这些组件执行的服务可以在(一个或多个)适当的抽象层处实现,诸如(一个或多个)计算系统的操作系统层、应用层、硬件层。替代地或另外地,这些组件和/或在本文中所描述的实施例的功能能够至少部分地由一个或多个硬件逻辑组件来执行。例如但是不限于:能够使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)。另外,尽管在本文中针对在示例性系统200中所示的特定组件描述了功能,但是设想到了,在一些实施例中,这些组件的功能能够跨其他组件来共享或分布。
继续图2,用户数据收集组件210通常负责从一个或多个数据源访问或接收(并且在一些情况下也识别)用户数据,诸如图1的数据源104a和104b至104n。在一些实施例中,用户数据收集组件210可能能用于促进针对群组事件监视器250和/或群组简档240积累特定用户或群组(或者在一些情况下,包括众包数据的多个用户)的用户数据。所述数据可以由用户数据收集组件210接收(或访问),并且可选地被累积、重新格式化和/或组合,并且被存储在诸如存储装置225的一个或多个数据存储中,其中,数据可以对系统200的其他组件可用。例如,所述用户数据可以被存储在群组简档240中或者与群组简档240相关联,如在本文中所描述的。在一些实施例中,任何个人识别数据(即,具体识别特定用户的用户数据)不上传或者以其他方式从具有用户数据的一个或多个数据源提供、不永久存储、和/或不对系统200的组件或子组件可用。在一些实施例中,用户可以选择加入或者退出由在本文中所描述的技术提供的服务,和/或选择哪些用户数据和/或哪些用户数据源将由这些技术利用。
可以从各种源接收用户数据,其中,所述数据可以以各种格式可用。例如,在一些实施例中,可以经由一个或多个传感器来确定经由用户数据收集组件210接收的用户数据,所述一个或多个传感器可以在一个或多个用户设备(诸如用户设备102a)、服务器(诸如服务器106)和/或其他计算设备上或者与其相关联。如在本文中所使用的,传感器可以包括用于感测、检测或者以其他方式从数据源104a获得诸如用户数据的信息的功能、例程、组件或者其组合,并且可以被体现为硬件、软件或者这两者。作为示例而非限制,用户数据可以包括从一个或多个传感器感测或确定的数据(在本文中被称为传感器数据),诸如(一个或多个)移动设备的位置信息、(一个或多个)用户设备的属性或特征(诸如设备状态、计费数据、日期/时间或者从诸如移动设备的用户设备导出的其他信息)、用户活动信息(例如:app使用;在线活动;搜索;诸如自动语音识别的语音数据;活动日志;通信数据,包括电话、短信、即时消息和电子邮件;网站帖子;与通信事件相关联的其他用户数据),在一些实施例中,包括在一个以上用户设备上发生的用户活动、用户历史、会话日志、应用数据、联系人数据、日历和日程安排数据、通知数据、社交网络数据、新闻(包括搜索引擎或社交网络上的流行或趋势项)、在线游戏数据、电子商务活动(包括来自诸如
Figure BDA0003960877180000071
Figure BDA0003960877180000072
视频流服务、游戏服务或Xbox
Figure BDA0003960877180000073
等在线账户的数据)、用户账户数据(其可以包括来自与个人助理应用或服务相关联的用户偏好或设置的数据)、家庭传感器数据、家电数据,全球定位系统(GPS)数据、车辆信号数据、交通数据、天气数据(包括预报)、可穿戴设备数据、其他用户设备数据(其可以包括设备设置、简档、网络相关信息(例如,网络名称或ID、域信息、工作群组信息、连接数据、Wi-Fi网络数据或配置数据、关于型号、固件或设备的数据、设备配对,诸如用户具有与蓝牙耳机配对的移动电话或者其他网络相关信息))、陀螺仪数据、加速度计数据、支付或信用卡使用数据(其可以包括来自用户的PayPal账户的信息)、购买历史数据(诸如来自用户的Xbox Live、Amazon.com或eBay账户的信息)、可以由传感器(或者其他检测器)组件感测或者以其他方式检测的其他传感器数据,包括从与用户相关联的传感器组件导出的数据(包括场所、运动、方向、位置、用户访问、用户活动、网络访问、用户设备充电或者能够由一个或多个传感器组件提供的其他数据)、基于其他数据导出的数据(例如,能够从Wi-Fi、蜂窝网络或IP地址数据导出的位置数据),以及可以如在本文中所描述的感测或确定的几乎任何其他数据源。
用户数据收集组件210能够从与群组的一个或多个用户相关联的一个或多个传感器和/或计算设备接收用户数据。尽管设想到了所述用户数据可以例如由未示出的传感器或其他组件来处理,以用于由用户数据收集组件210解释,但是在本文中所描述的实施例不将用户数据限制为经处理的数据,并且可以包括原始数据。在一些实施例中,用户数据收集组件210或系统200的其他组件可以从所接收到的用户数据确定解释性数据。解释性数据与由系统200的组件用于解释用户数据的数据相对应。例如,解释性数据能够被用于向用户数据提供上下文,所述用户数据能够支持由系统200的组件或子组件做出的确定或推断,诸如来自位置的场地信息、来自用户语音(即,语音到文本)的文本语料库、或者口语理解的方面。此外,设想到了,针对一些实施例,系统200的组件或子组件可以使用用户数据和/或用户数据与解释性数据的组合以用于执行在本文中所描述的子组件的目标。
在一些方面中,用户数据可以在用户数据流或信号中提供。“用户信号”能够是来自对应数据源的用户数据的馈送或流。例如,用户信号可以来自智能手机、家庭传感器设备、智能扬声器、GPS设备(例如,用于位置坐标)、车辆传感器设备、可穿戴设备、用户设备、陀螺仪传感器、加速度计传感器、日历服务、电子邮件账户、信用卡账户或者其他数据源。在一些实施例中,用户数据收集组件210在用户相关数据变得可用时或根据需要连续地、周期性地接收或访问用户相关数据。
继续图2,示例性系统200包括群组事件监视器250。群组事件监视器250通常负责确定和/或检测在线和/或面对面事件(例如,群组创建或者群组内的消息)以及来自事件的特征,使得特征可用于系统200的其他组件。例如,群组事件监视器250能够接收已经形成计算机化群组容器的指示。如在本文中所描述的“计算机化群组容器”是被配置为存储在群组的多个参与者之间交换的一个或多个电子消息的容器。许多云规模服务被构建在数据层顶部,所述数据层通过将数据跨被称为碎片(shard)的管理单元而分散来进行水平扩展。每个管理单元控制总数据语料库的子集。当形成群组时,创建与计算机化群组容器或通信群组相对应的群组碎片。例如,计算机化群组容器或通信群组可以是MICROSOFT
Figure BDA0003960877180000081
信道或群组、MICROSOFT
Figure BDA0003960877180000082
群组、MICROSOFT
Figure BDA0003960877180000083
群组、朋友或熟人的社交网络(例如,FACEBOOK)、聊天群组或者用户能够共享和访问消息、线程和/或帖子的任意合适的容器。因此,群组事件监视器250能够接收以下指示:已经基于用户请求形成了群组以创建这样的群组,或者已经基于接收所述消息的指示输入了在已创建的群组内的消息。在一些方面中,群组事件监视器250针对特定事件以及针对与群组相关联的每个用户确定并且提供一组特征(诸如下文所描述的)。在一些方面中,事件可能是过去(或者历史)事件或者当前事件。
在一些实施例中,到群组事件监视器250中的输入是传感器数据、参与事件的一个或多个用户的用户设备数据和/或来自会议邀请、电子邮件、群组聊天或群组内发送的任何历史消息的上下文数据。在一些实施例中,这包括由用户数据收集组件210收集的用户数据(其能够经由群组简档240来访问)。
活动监视器252经由一个或多个传感器(例如,麦克风、视频)、设备、聊天、呈现的内容等来监视用户活动。在一些实施例中,活动监视器252输出在群组内的会议或讨论期间发生的抄本或活动。例如,活动或内容可以被标注时间戳或者以其他方式与会议记录相关。在说明性示例中,活动监视器252可以指示针对群组的聊天会话开始和结束的时钟时间。在一些实施例中,活动监视器252监视来自与用户相关联的多个用户设备和/或来自与用户相关联的基于云的服务(诸如电子邮件、日历、社交媒体或者类似信息源)的用户活动信息,并且其可以包括与事件的抄本或内容相关联的上下文数据。例如,电子邮件可以详述在群组的两个参与者之间的对话,所述对话通过描述会议的细节(诸如针对群组内特定聊天会话的会议的主题)向计算机对象提供上下文。在一些实施例中,活动监视器252可以确定当前的或者接近实时的用户活动信息,并且也可以确定历史用户活动信息,所述历史用户活动信息可以基于收集随时间对用户活动的观察、访问过去活动的用户日志(诸如浏览历史)来确定。此外,在一些实施例中,活动监视器252可以确定来自其他类似用户(即,众包)的用户活动(其可以包括历史活动)。
在一些实施例中,使用与用户设备相关的上下文数据,活动监视器252可以通过检测和分析用户设备的特性,诸如设备硬件、诸如OS的软件、网络相关特性、经由设备访问的用户账户以及类似特性,来识别用户设备。例如,如先前所描述的,可以使用许多操作系统的功能来确定关于用户设备的信息,以提供关于硬件、OS版本、网络连接信息、安装的应用等的信息。在一些实施例中,可以为与用户相关联的每个设备确定设备名称或标识(设备ID)。关于与用户相关联的所识别的用户设备的该信息可以被存储在与群组相关联的群组简档中,例如被存储在群组简档240中。在实施例中,可以轮询、询问或者以其他方式分析所述用户设备以确定关于所述设备的上下文数据。该信息可以被用于确定设备的标签或标识(例如,设备ID),从而可以识别一个用户设备上的用户活动并且将其与另一用户设备上的用户活动区分开来。此外,如先前所描述的,在一些实施例中,用户可以声明或注册用户设备,诸如通过经由设备登录到账户、在设备上安装应用、连接到询问设备的在线服务或者以其他方式向应用或服务提供关于设备的信息。在一些实施例中,登录到与用户相关联的账户(诸如
Figure BDA0003960877180000091
账户或Net Passport、电子邮件账户、社交网络等)的设备被识别并且被确定为与用户相关联。
共享手势确定器256通常负责检测在群组事件或者计算机化群组容器中发生的一个或多个共享手势。如在本文中所描述的“共享手势”包括对一个或多个计算机资源(例如,文件)(例如,存储装置225中的(一个或多个)计算机资源235)的引用(例如,链接或URL)。在本文中所描述的“计算机资源”或“资源”是被存储到计算机化群组容器(或者群组事件)或者托管计算机化群组容器(或者群组事件)的应用的外部或可访问的任意数据集。例如,计算机资源可以是通过互联网可访问的web资源(例如,网页或web应用)和/或本地(或远程)地存储的应用、文档(例如,MICROSOFT WORD文档)、文件等,其不是托管群组事件或计算机化群组容器的应用的一部分。共享手势通常是由群组或计算机化群组容器内的参与者发送的消息或所述消息的一部分。例如,所述消息可能声明,“这里是我们昨天讨论的文件”,其中,“文件”是共享手势和到实际文件的超链接。共享手势的另一示例是指向web上文章的链接,其中,计算机资源是web文章。类似地,如果用户共享到WORD文档的链接,则这是共享手势,其中,计算机资源是WORD文档。
共享手势确定器256以任意合适的方式来检测共享手势。例如,在一些实施例中,能够使用“正则表达式”(被称为“regex”)或者识别URL的其他文本匹配算法在字符串或链接中检测URL。替代地或另外地,能够在消息内使用自然语言处理(NLP)功能来检测共享手势。例如,NLP模块将来自群组事件的字符序列(例如,消息)中断或令牌化,将其他字符序列(例如,语义相似的词语)和/或标记(例如,词性)连接或级联到令牌化的字符序列。以这种方式,可以将消息解析为其词语,并且利用词性标识符来标记所述词语中的一些词语或每个词语。
在各种实施例中,“令牌化”或解析与将内容分割成词语、句子、符号、字符序列和/或内容的其他元素的计算机实现的过程相对应。“句法”或句法性质指代内容的字符序列结构(相对于语义或意义),诸如句子的结构。这能够包括用于分析消息的一组规则,诸如词语和/或POS顺序。
在一些实施例中,NLP导出半结构化或非结构化数据(例如,图像文件中的数据、博客中的数据、帖子、网站、分类器模型的文本描述)的语义和句法内容。这与分析“结构化”数据(诸如在数据库中的数据)形成对比。NLP能够被配置为解析内容以确定语义上下文(例如,通过相对彼此和相对训练数据分析内容中的每个词语来确定词语的含义)和句法上下文(例如,管理给定语言中句子结构的规则集)。NLP被配置为识别与数据集的一个或多个部分相关联的关键字、上下文信息和元数据标记。在特定实施例中,NLP分析被包含在数据集中的概要信息、关键字、文本描述,并且使用在该信息中存在的句法和语义元素来识别感兴趣的上下文。句法和语义元素能够包括诸如词频、词义、文本字体、斜体、超链接、专有名称、名词短语、词性(例如,名词、副词、形容词等)和/或周围词语的上下文的信息。其他句法和语义元素也是可能的。
实施例能够使用NLP来基于消息的上下文和字符序列的语义特征来检测共享手势。例如,共享手势确定器256可以分析句子“好的,这里是描述我们的职责中的每个职责的文档”。基于上下文(例如,这里是文档),NLP功能能够确定资源正在被共享。
共享手势确定器256能够另外地或替代地以任何其他方式来检测共享手势,诸如使用一个或多个机器学习模型(例如,Siamese神经网络、随机森林、卷积神经网络(CNN)等),其可以使用历史标记的共享手势作为输入,以便预测未来的共享手势。
上下文数据提取器/确定器254通常负责确定关于事件的上下文数据(例如,如由用户数据收集组件210收集的)。所述上下文数据可以包括如在本文中所描述的事件上下文或外部上下文。上下文数据可以是元数据,或者不是在共享手势中引用的计算机资源或共享手势自身而描述相关信息的其他数据。例如,上下文数据可以包括:当发布共享手势时群组内的所有用户,在共享手势之前/之后的消息的内容,在特定通信(例如,群组会议)中哪些用户是活动的(例如,共享消息),指示何时发布共享手势的时间戳,诸如文件名和资源能够位于其中的URL的资源细节、在共享手势中共享的计算机资源的类型、发生共享手势的群组的类型、和/或共享计算机资源自上次对同一资源进行共享手势以来所经历的变化幅度。另外地或替代地,上下文数据可以包括谁出席或者被邀请参加群组事件(例如,会议或聊天会话)、事件的主题、事件是否重复发生、事件的位置、事件的日期、其他项目或其他事件之间的关系、关于所述事件的被邀请或实际出席者的信息(例如,公司角色、参与者是否来自同一公司等)。如下文所描述的,能够从群组简档240提取一些或全部上下文数据。
在一些实施例中,群组事件监视器250接收事件内容和相关上下文数据,并且生成丰富的活动时间线。在一些实施例中,该时间线是包括标记和/或数据结构中的其他相关联内容的抄本。例如,所述时间线能够包括具有记录的结构化数据(例如,数据库),其中,每个记录包括每个通信或消息的时间线和指示通信何时开始/停止的时间戳。所述记录能够替代地或另外地包括上下文信息或元数据,诸如关于事件的参与者或事件自身的信息(例如,事件的主题、文件、幻灯片或者群组简档240中的任意信息)。所述时间线能够是会议监视器250的输出。
群组简档240包括关于群组参与者或成员、会议出席者的个人偏好等的信息。群组简档240包括事件活动信息242。这可以包括出席者或演讲者何时倾向于做出分享手势的指示。例如,特定出席者可能总是在会议的最后5分钟内提供共享手势。共享手势确定256能够使用该信息来在整个事件中做出预测,以确定声明是否是共享手势。群组简档240也可以包括其他群组成员如何提供共享手势。
在一些实施例中,事件活动信息242与事件的一个或多个成员的历史行为的所识别的模式相对应。这样的模式可以是或者可以包括:参与者交谈的方式的模式(例如,参与者A即使在发布命令时也总是开玩笑,使得候选不太可能是共享手势),在事件的特定时间或时间窗口处提及共享手势的倾向,从不成为任何共享手势的所有者或发布任何共享手势的模式,总是成为共享手势的所有者或发布共享手势的模式,人们表达共享手势或者与他人交互的方式的模式,用户的语言和风格,作为参与者之间的先前交流的对话历史(例如,聊天、电子邮件和文档),等等。历史模式能够被用于预测候选共享手势是否确实是共享手势。
群组简档240能够包括用户偏好244,其通常包括与群组事件监视器250相关联的用户设置或偏好。通过示例而非限制的方式,这样的设置可以包括关于用户希望被明确监视或不被监视的特定事件(和相关信息)或者要被监视或不被监视的事件类别的用户偏好、众包偏好,诸如是否使用众包信息,或者用户的事件信息是否可以作为众包数据被共享;关于哪些事件消费者可以消费用户的事件模式信息的偏好;以及阈值,和/或通知偏好,如在本文中所描述的。
在一些实施例中,用户简档240包括事件或群组成员中的每个参与者的参与者角色。参与者角色能够是上下文数据的一部分。在一些实施例中,用户简档240包括能够被包含在上下文数据中的替代或额外信息,诸如群组成员的年龄、群组成员的家庭成员和相关联信息、群组成员的地址等。
复合视图对象生成器280通常负责生成和/或更新计算机对象(在本文中也被称为“复合视图”),所述计算机对象包括关于在共享手势中所引用的一个或多个计算机资源和/或在共享手势中所共享的一个或多个计算机资源自身的至少一部分的至少一些元数据。在各种实施例中,该“计算机对象”(例如,计算机对象237)是能够在计算机存储器中访问或引用的变量、数据结构、函数和/或值,并且表示与共享手势相关联的信息。在特定实施例中,计算机对象严格不同于共享手势所引用的计算机资源自身。相反,在这些实施例中,计算机对象仅包括计算机资源的一部分(例如,URL和文档的第一段)和上下文数据,诸如从上下文数据提取器/确定器254获得的一些或全部上下文数据。在一些实施例中,计算机对象不包括计算机资源的有效载荷或实际内容,而仅包括元数据。例如,计算机对象可以包括文档的文件名,但是不包括文档内容自身。
对象实例化组件288实例化计算机对象或者生成/识别被用于生成计算机对象的规则。在一些实施例中,对象实例化组件288引用一组存储的条件语句或其他策略以确定如何生成计算机对象。在各种实施例中,这些规则或策略根据各种标准规定在计算机对象中填充多少计算机资源(或者向用户显示)和/或在计算机对象中填充多少上下文数据(或者向用户显示)。例如,规则可以基于在共享手势中被共享的特定类型的计算机资源(例如,WORD文档、EXCEL电子表格或者外部互联网web链接)来指定要在计算机对象中包括什么。另外地或替代地,所述规则可以基于在其之内共享计算机资源的群组类型(例如,SHAREPOINTv.TEAMS)指定要在计算机对象中包括什么。因此,一些实施例将在共享手势中共享的特定计算机资源(或者相关联的元数据)与表示不同计算机资源和群组类型的标识符列表进行比较,并且应用与那些标识符相关联的规则来确定在计算机对象中包括什么。
资源内容提取器282通常负责提取在共享手势中共享的(一个或多个)计算机资源的一个或多个部分以填充在计算机对象中。在各种实施例中,该提取是基于对象实例化组件288识别应用于提取的规则集的。另外地或替代地,所述提取是基于位于群组简档240中的信息和/或从用户数据收集组件210获得的数据的。例如,规则可以基于群组是特定群组或者文档是特定类型来指定仅利用电子表格的一列(多列)来填充计算机对象。因此,资源内容提取器282可以仅提取在该列内的所有信息,而不提取其他列内的信息。在另一示例中,规则可以指定基于资源的敏感性质(例如,通过分析从用户数据收集组件或群组简档240获得的数据而确定的)仅利用计算机资源的URL或文件名来填充计算机对象,而不是资源的任何有效载荷或内容。
上下文生成器286通常负责提取与共享手势相关联的元数据,并且将所述元数据输入到计算机对象中。例如,在各种实施例中,上下文生成器286提取由上下文提取器/确定器254和/或用户数据收集组件210获得的一些或全部上下文数据(例如,外部上下文)以填充计算机对象。在各种实施例中,该提取是基于对象实例化组件288识别应用于上下文数据生成的规则集的。例如,使用一个或多个策略,上下文生成器286可以利用当共享手势发生时是群组的一部分的用户填充数据对象(例如,如在群组简档240中指示的和/或由用户数据收集组件210获得的)。替代地或另外地,上下文生成器286可以利用共享手势之前和之后的消息的内容来填充所述数据对象。
在另一示例中,如果群组(例如,如在群组简档240中指示的)对应于MICROSOFTTEAMS信道或其他特定群组,则规则可以指定基于共享最后一个计算机对象的时间和/或自最后一次共享以来计算机资源改变了多少来创建新的计算机对象。例如,如果相同的WORD文档被共享两次,但是在共享手势之间已经过去了一周,则实施例可以确定word文档之间的差异(例如,经由TF-IDF算法),并且基于差异超过阈值来共享新的计算机对象。制作新计算机对象的一个原因是基于在共享手势之前和/或之后某个时间发布的消息的内容,或者根据当时在通信中活跃的用户的名称,使其在群组内可搜索。
在一些实施例中,上下文生成器286确定被用于确定在计算机对象中包括多少上下文数据的消息或共享手势的开始和结束。这在例如用户界面或显示视图不包含群组的完整线程或帖子而是包括由群组讨论的计算机资源列表或其他特征的实施例中是有用的。在这些实施例中,包括在共享手势之前和/或之后的消息自身的特定量的上下文数据可能是有用的。
在一些实施例中,第一模型被用于识别共享手势和/或在共享手势之前/之后的其他消息的开始,并且第二模型被用于识别结束。这些或其他模型技术能够一起进行若干测试,以使一个网络基于测试来理解句子或其他字符序列(例如,短语、段落)的含义。因此,模型的这些组合能够预测例如下一句子是否是第一句子的答案。在这些实施例中,学习句子或其他字符序列之间的关系,并且标签或分类能够是字符序列候选“是下一句子”还是“不是下一句子”。以这种方式,能够预测第一句子例如是在第二句子之前还是之后的句子,或者所述句子是否是随机句子。这在一些情况下很有用,例如,会议参与者开始参与分享手势或者以其他方式参与其他主题的讨论,并且然后继续讨论。以这种方式,实施例能够预测前两个字符序列彼此不适配。例如,抄本的一部分可能写着“Bob,我们星期五有个会议,所以[第一字符序列]……等等,Jack,在你继续之前,让我说……[第二字符序列]正如我所说的,Bob,让我们完成项目X,这里是链接[第三字符序列]”。因此,实施例能够预测第一字符序列和第三字符序列一起进行,这可以帮助指示“这里是链接”是共享手势,而“Bob”是共享手势的开始。同样,当将上下文数据输入到计算机对象中时,能够从计算机对象中提取或忽视第二字符序列,但是可以包括第一和第三字符序列。
在可以被用于定义共享手势或者为共享手势提供上下文数据的其他消息的开始和/或结束的模型的示例性说明中,能够使用BERT模型或者其他类似的模型。例如,BERT通过使用编码器来一次或者并行地读取内容(即,其是双向的)来生成语言模型,而不是从左到右读取文本。这允许所述模型基于其事件上下文来学习词语或其他字符序列的上下文。输入是首先被嵌入到向量中(例如,经由GloVe或者其他词语嵌入)并且然后通过神经网络处理的令牌序列(例如,自然语言句子或者其他字符序列)。输出是其中每个向量与具有相同索引的输入令牌相对应的向量序列。这些模型克服了使用定向方案预测下一词语或其他字符序列的典型语言模型。然而,定向方案固有地限制上下文学习,因为其仅使用词语或字符序列之前或之后的上下文。
在一些实施例中,定义要输入到计算机对象中的共享手势或相关联的上下文数据的结束包括两个或更多个步骤的算法。首先,可以识别现有的标点符号或结束字符序列结束标识符(例如,句点、问号、分号等),以确定序列结束标识符左侧或之前的文本的字符序列长度。针对第二步骤,组件可以提取或复制在开始词语或其他字符序列之后的下一预定数量的词语,并且将其馈送通过模型以确定第三(或者其他预定数量的)词语或其他字符序列是否是共享手势的结束位置。在各种实施例中,至少部分地基于预定词语的词性、其对应的经更新的显示文本长度和/或特定词语自身来执行第二步骤,所述特定词语可以是通常与命令或动作项(例如,指示人正在共享链接A“立刻”,其中,立刻是共享手势的结束)相关联的词语。
复合视图对象生成器280的输出是包含(一个或多个)计算机资源的一个或多个部分、与(一个或多个)共享手势相关联的上下文数据、和/或一个或多个显式定义的共享手势的计算机对象。例如,共享手势的复合视图或计算机对象可以包括当共享手势发生时哪些用户在事件(例如,通信会话,例如聊天或会议)中是活动的,计算机资源细节,诸如文件名和计算机资源所在的URL,共享手势的开始和结束词语序列,在共享手势之前和/或之后的各种消息的开始和结束词语序列,等等。在各种实施例中,所生成的计算机对象在计算机存储器中是整体可寻址和可访问的。
客户端资源运行时评估器260通常负责至少部分地执行用户的运行时查询或请求,并且基于用户的访问证书来返回计算机对象和/或计算机资源。在各种实施例中,所述请求用于:在群组中讨论的特定计算机资源、对群组(或者群组事件)自身的访问和/或群组的特定特征(例如,列出计算机资源的“资源”标签或容器)。
所述客户端资源运行时评估器将请求用户的访问证书与访问计算机对象和计算机资源自身所需的ACL进行比较。ACL指示访问对应资源或计算机对象所需的一个或多个特定访问控制级别。每个访问控制级别能够指定个体(例如,人的姓名)、用户(例如,特定服务或最终用户)或者其成员可以访问资源或者计算机对象的安全群组、所需的标签、信息屏障等。每个ACL包括与一个或多个访问控制级别相对应的一个或多个访问控制级别标识符。
资源ACL检查器261通常负责基于将用户的访问证书与访问计算机资源所需的一个或多个ACL进行比较来确定请求用户是否能访问一个或多个对应资源(或者实例,在本文中被称为资源的“属性”)。例如,为了访问第一计算机资源,ACL可以指示“[Jane Doe;JohnDoe]”,其中,“Jane Doe”是第一访问控制级别标识符,并且“John Doe”是第二访问控制级别标识符。该ACL可以指示,为了访问第一资源,请求用户必须是Jane Doe或John Doe。以这种方式,当用户请求访问计算机资源时,一些实施例通过将用户的访问证书与一个或多个访问控制级别标识符进行比较,而有效地仅返回用户能够访问的计算机资源的属性。因此,由不同用户对所述概念的不同查询能够取决于用户的访问证书而呈现非常不同的信息。因此,例如,如果用户不能访问计算机资源,则资源ACL检查器261能够通过移除计算机资源的一个或多个部分来修改由复合视图对象生成器280生成的计算机对象。
群组ACL检查器262通常负责基于将用户的访问证书与访问一个或多个计算机对象所需的一个或多个群组ACL进行比较来确定请求用户是否能够访问由复合视图对象生成器280生成的一个或多个计算机对象。在各种实施例中,访问一个或多个计算机对象所需的群组ACL不同于访问在共享手势中所共享的对应资源所需的ACL,或者要求针对这两者进行相应的检查。例如,用户可能是特定群组的成员,但是不能访问他们共享的资源。替代地,用户可以访问特定的计算机资源,但是他们可能不是特定群组的一部分。
在一些实施例中,群组ACL检查器262(和/或资源ACL检查器261)确定用户是否已经订阅被称为“订阅”的特定服务或资源。在一些实施例中,如果特定用户不是订阅的订户,则群组ACL检查器262阻止对计算机对象的访问(或者资源ACL检查器261阻止对资源的访问)。在一些情况下,能够购买订阅或这样的订阅的许可。例如,订阅能够对应于购买应用集(例如,MICROSOFT 365)、购买对工具集(例如,加密引擎)的订阅,等等。
各种实施例将计算机对象与访问计算机对象所需的群组访问控制级别相关联,使得不满足群组访问控制级别的任何用户不是群组的成员和/或被阻止访问计算机对象。例如,为了访问第一计算机对象,ACL可以指示“[安全群组A;安全群组B]”,其中,“安全群组A”是第一访问控制级别标识符,而“安全群组B”是第二访问控制级别标识符。该ACL可以指示为了访问第一计算机对象,请求用户必须是“安全群组A”(例如,第一MICROSOFT TEAMS信道)和/或“安全群组B”(例如,第二MICROSOFT TEAMS信道)的成员。以这种方式,当用户请求访问计算机对象时,一些实施例通过将用户的访问证书与一个或多个访问控制级别标识符进行比较,而有效地仅返回计算机对象内用户能够访问的信息。因此,例如,如果用户不能访问所生成的计算机对象内的所有信息,则资源ACL检查器261能够通过移除或替换计算机对象的一个或多个部分来修改由复合视图对象生成器280生成的计算机对象。例如,如果请求用户不是安全群组A的一部分,则不呈现与共享手势相关联的上下文数据。
示例性系统200也包括呈现组件220,其通常负责向用户呈现内容和相关信息,诸如所生成的计算机对象和/或计算机资源的指示(例如,在其之内的内容)。呈现组件220可以包括在用户设备上、跨多个用户设备或者云中的一个或多个应用或服务。例如,在一个实施例中,呈现组件220管理跨与用户相关联的多个用户设备向该用户呈现内容。基于内容逻辑、设备特征和/或其他用户数据,呈现组件220可以确定在哪个(哪些)用户设备上呈现内容以及呈现的上下文,诸如当呈现时如何呈现(或者以何种格式以及多少内容,这能够依赖于用户设备或者上下文)。具体地,在一些实施例中,呈现组件220将内容逻辑应用于设备特征或者感测到的用户数据以确定内容呈现的各方面。
在一些实施例中,呈现组件220生成与由复合视图对象生成器280生成的计算机对象和/或相关联的计算机资源相关联的用户界面特征。这样的特征能够包括界面元素(诸如图形按钮、滑块、菜单、音频提示、警报、警告、振动、弹出窗口、通知栏或状态栏项、应用内通知或者用于与用户接口的其他类似特征)、查询和提示。例如,呈现组件220能够呈现包括由复合视图对象生成器280确定的突出显示的边界(例如,开始和结束)的共享手势或上下文数据的列表。呈现组件220能够额外地或替代地呈现其他上下文数据(例如,由用户数据收集组件210提取的或者位于群组简档240中的)、谁陈述了消息或共享手势、当共享手势发生时的群组成员、共享手势的时间戳或者被包含在由复合视图对象生成器280生成的计算机对象中的任何其他数据。
在一些实施例中,结合呈现组件220一起操作的个人助理服务或应用确定何时以及如何(例如,仅呈现共享手势和/或上下文数据,而不是整个会议抄本)呈现内容。在这样的实施例中,包括内容逻辑的内容可以被理解为对于何时以及如何呈现通知向呈现组件220(和/或个人助理服务或应用)的推荐,所述推荐可以由个人助理应用或呈现组件220覆盖。
继续图2,如先前所描述的,示例性系统200可以包括一个或多个消费者应用290或者与一个或多个消费者应用290结合操作。消费者应用290通常指代一个或多个计算机应用或服务,诸如在线/云应用或者本地存储的应用,其消费或者利用由系统200确定的计算机对象或计算机资源。具体地,消费者应用290可以接收针对群组的共享手势,并且向群组呈现、管理或调度共享手势的各方面(例如,上下文数据)。在一些实施例中,消费者应用290可以利用呈现组件220向特定群组内的用户提供由复合视图对象生成器280生成的计算机对象。消费者应用290的示例可以包括但是不限于:用于促进会议或通信的计算机应用或服务(例如,MICROSOFT
Figure BDA0003960877180000141
MICROSOFT
Figure BDA0003960877180000142
);电子邮件、消息传递、聊天或电话;项目管理;日历或日程安排;以及任务列表或待办事项应用(例如,MICROSOFT WUNDERLI
Figure BDA0003960877180000143
MICROSOFT
Figure BDA0003960877180000144
)。
示例性系统200也包括存储装置225。存储装置225通常存储包括在本文中所描述的技术的一些实施例中所使用的数据、数据结构、计算机指令(例如,软件程序指令、例程或服务)和/或模型(例如,机器学习模型)的信息。在一个实施例中,存储装置225包括数据存储(或者计算机数据存储器)。此外,尽管被描绘为单个数据存储组件,但是存储装置225可以被体现为一个或多个数据存储(例如,分布式存储网络),或者可以在云中。存储装置225包括群组简档240、(一个或多个)计算机资源235和由复合视图对象生成器280生成的一个或多个计算机对象237。在一些实施例中,一个或多个计算机对象237将一个或多个计算机资源和/或计算机对象映射到访问所需的ACL,如下文更详细描述的。
图3是根据本公开的一些实施例的用于访问一个或多个资源和上下文数据的示例性索引表和资源表的示意图。在一些实施例中,索引表312和/或资源表314表示图2的一个或多个计算机对象237。在一些实施例中,索引表312和/或资源表314表示如在本文中所描述的计算机对象或计算机对象的内容,诸如由复合视图对象生成器280生成或更新的计算机对象。
索引表312被图示为键-值对,其中,键或索引ID 302指示给定的计算机资源,而值304指示资源ID(而不是资源内容自身)。值304也指示与特定资源相关联的元数据(例如,如由上下文生成器286生成的),诸如何时共享手势的时间戳,群组、资源、事件(例如,会议)的“类型”等。在一些实施例中,所述元数据可以另外地或替代地包括“原因”指示符,所述指示符为“类型”提供更详细的信息,以便用户或实施例能够更好地理解特定资源如何与其他资源或上下文数据相关联。例如,关系类型可以是“相关人员”,其指示以某种特定方式与资源相关联的一个或多个人员。例如,所述元数据能够包括在共享手势中共享资源的人的姓名、资源指向的人的姓名等。在另一示例中,所述原因指示符可以例如基于在对应资源上特定用户活动(例如,点击、选择、查询或者其他用户输入)或资源内的引用(例如,他们的名字可以在资源中被列出)来识别与对应资源相关的每个用户或人。在说明性示例中,用户可以修改或创作特定文档,或者可以被文档中的电子邮件地址提及或引用。因此,关系类型可以是“相关人员”,并且原因指示符可以指定用户的姓名或ID以及特定的修改(例如,删除Y,插入X)。
在一些实施例中,所述关系类型是“相关文档”标识符,其指示针对给定资源存在相关文档(或者其他资源)。相关文档原因指示符可以具体描述为什么资源与针对同一概念的给定概念其他资源相关。例如,原因能够是文档包含引用其他文档的特定段落、句子、短语、首字母缩写等。以这种方式,用户能够快速地定位其他相关的计算机资源,因为该信息能够被包含在数据对象中。
如在索引表312中所图示的,每个索引ID被映射到资源ID以及其元数据(例如,上下文数据)或者与其相关联。例如,记录306指示索引ID R1(资源1)被映射到为1的资源ID以及其元数据,这意味着将取得或者以其他方式访问资源1以及其元数据以完成与资源1相关联的任何请求。
资源表314也被图示为键-值对,其中,键指示资源ID 308,而值310对应于来自资源ID 308的对应资源的内容或有效载荷,访问对应引用(或者其他元数据,诸如“时间戳”)所需的群组ACL。每个记录或条目指示被映射到资源内容(例如,资源的有效载荷)的特定计算机资源、访问特定资源所需的特定ACL以及元数据。例如,记录316指示资源ID 1以及其内容,并且需要访问控制级别标识符A和B(即,用户的访问证书必须匹配A和B)来访问内容以及元数据(例如,如由上下文数据提取器/确定器254和/或上下文生成器286提取的)。在一些实施例中,索引表312和/或资源表314被呈现或显示给计算设备,使得管理员能够查看诸如关系之类的信息以及诸如被映射到给定资源的元数据量或者上下文数据之类的修改信息。替代地,在一些实施例中,索引表312和/或资源表314是要在后台访问的数据结构,并且不被呈现给管理员,而是由程序员生成以执行请求。
图3也图示了在运行时索引表312与资源表314之间的关系。例如,用户可以在与资源1相对应的图形用户界面上发出查询或者选择特征。作为响应,一些实施例接收该请求并且在位于记录306中的索引ID 302下定位对应的概念。作为响应,一些实施例识别索引数据结构312内的资源ID1,并且在资源表314的资源ID列308下查找每个对应的资源ID,如由表示指针值或其他引用的引用指示符320所图示的。以这种方式,索引表312是引用资源表314内的条目的辅助数据结构。在一些情况下,请求用户能够访问资源1和2中的每个访问资源。这是因为用户的声明集可能包括针对每个资源的对应ACL所需的声明。在本文中所描述的“声明集”指代用户的所有“声明”或访问证书。用户的访问证书能够对应于用户的群组成员资格、访问控制级别、职务和/或用户拥有的任何其他特权或安全许可。亦即,请求用户可能具有声明A和声明B访问证书。因为用户的声明集的声明A和声明B可能与访问资源ID 1和2所需的ACL相匹配,所以能访问对应的计算机资源和与计算机资源相关联的计算机对象或元数据。
现在转向图4,根据一些实施例的用户界面的屏幕截图400包括向用户显示的计算机对象的指示。在一些实施例中,屏幕截图400表示由图2的呈现组件220输出的内容。在一些实施例中,屏幕截图400表示在图2的所有组件(即,用户数据收集组件210、群组事件监视器250、复合视图对象生成器280和客户端资源运行时评估器260)执行其功能之后的最终输出。在一些实施例中,屏幕截图400表示如在本文中所描述的计算机化群组容器的一方面。
图4表示可以被呈现给访问证书满足资源访问控制级别(例如,如由资源ACL检查器261确定的)和群组访问控制级别(例如,如由群组ACL检查器262确定)的群组的用户的用户设备的内容。具体而言,整个计算机对象(例如,由复合视图对象生成器280生成的计算机对象)的指示与计算机资源的一部分一起呈现。亦即,基于满足资源访问控制级别和群组访问控制级别两者的特定群组成员的访问证书,向与特定群组成员相关联的用户设备呈现在UI元素415中所指示的计算机资源的部分(或指示)以及如在UI元素407、409、411、413和415中所示的计算机对象的指示。如在本文中所描述的计算机对象的指示可以是或者包括计算机对象中所包含的特定数据(例如,元数据),诸如数据结构。另外,计算机对象的指示可以是或者包括精确的计算机对象自身或者其一部分。
尽管屏幕截图400(以及屏幕截图500和600)的特定UI特征具有特定功能,但是应当理解,任意合适的UI特征(例如,按钮、菜单、刻度盘、带状物、对话框等)都能够在本文中替代地或另外地使用。例如,响应于接收到对群组按钮405的用户选择,实施例(例如,呈现组件220)导致显示请求用户所属的所有群组或子群组(例如,信道)。此外,响应于接收到对聊天按钮419(或者“帖子”标识符417)的用户选择,实施例导致显示特定群组(或者如果选择了标识符417,则显示子群组)的聊天历史。在一些实施例中,聊天历史示出了由群组或子群组的成员发送的每个电子消息或帖子。替代地或另外地,聊天历史可以示出发送或接收每个消息的时间戳。替代地或另外地,聊天历史可以示出发送消息的会议参与者的姓名或化身。
如在本文中所设想到的,针对特定群组的聊天历史能够变得相当长,并且因此对于用户来说,滚动或钻取冗长的聊天历史脚本以寻找围绕消息的资源或者上下文数据可能是困难的。因此,一些实施例提供屏幕截图(诸如屏幕截图400)、页面、API、列表或者以其他方式将聊天历史浓缩到单个资源和围绕资源的上下文数据,这不仅提高了计算消耗,而且使用户更容易访问而不钻取太多信息层。因此,例如,响应于用户选择群组按钮405(和/或资源标识符403),可以使得屏幕截图400被显示。屏幕截图400表示群组的整个聊天历史的元素的重新结构化或浓缩的列表,使得其不包含群组的整个聊天历史。
屏幕截图400列出了在群组或子群组中共享的每个计算机资源和所述群组的特定用户能访问的计算机对象的指示。具体而言,用户是较大群组A的子群组A-1的成员。子群组A-1可以是较大销售队伍中的部门A销售团队。作为聊天历史的一部分,群组成员之一可能尝试共享特定资源。例如,John Doe可能已经陈述“好的,大家,这里是描述我们上个季度业绩的文档”。响应于识别该共享手势(例如,经由共享手势确定器256),特定实施例生成数据对象(例如,经由复合视图对象生成器280)和/或检查每个群组成员的资源访问证书(例如,经由资源ACL检查器),以确保每个成员能够访问被请求在群组之间共享的资源。在一些实施例中,因为在确定共享手势时群组的成员已经存在或者已经登录到群组的聊天会话,所以可以推断访问证书。亦即,不需要将群组成员的访问证书与群组ACL进行比较(例如,经由群组ACL检查器262)以确定是否应当向用户呈现计算机对象的指示。在这样的实施例中,可以自动地将群组ACL要求标记为满足,和/或否则可以导致计算机对象的指示的显示。
如上文所描述的,因为特定群组成员的访问证书满足资源ACL和群组ACL两者,所以导致UI元素407、409、411、413和415被显示。UI元素407对应于包含对所有部门的销售数据(例如,如由上下文提取器/确定器254确定的)的EXCEL电子表格计算机资源的链接和文件名两者。UI元素409对应于时间戳,所述时间戳指示在聊天历史中发布共享手势的时间(例如,如由上下文提取器/确定器254确定的)。在一些情况下,用户可能希望知道该时间戳,从而通过使用时间戳作为索引或引用点来查看聊天历史中的额外上下文,他们能够切换到包括整个聊天历史(例如,响应于聊天按钮419的选择)或抄本的页面。UI元素411对应于其他上下文数据,诸如在做出共享手势时存在的群组成员的名称(例如,如由上下文提取器/确定器254确定的)。在一些情况下,用户可能希望知道在共享资源时群组成员的身份,因为群组可能在短时间量内扩展许多成员,并且用户可能希望向成员询问关于资源的更多信息,诸如发布的确切原因等等。在各种实例中,特定容器或视图包含完整的抄本历史,诸如响应于对聊天按钮419的选择在群组成员之间的消息的容器。UI元素413对应于在共享手势之前和/或之后的聊天历史的聊天上下文或事件上下文(例如,如由上下文提取器/确定器254确定的),使得用户不必手动地滚动或者以其他方式查看完整的抄本历史。用户可能希望在做出共享手势之前和/或之后查看即时消息,以获得关于链接或者计算机资源引用的内容和/或其他上下文数据的更多见解,而不必例如点击聊天按钮419来查找计算机引用和相关联上下文。在一些情况下,UI元素413提供引用指示符,从而用户在对聊天按钮419的选择之后能够容易地转到或定位完整抄本内的共享手势。UI元素415对应于EXCEL文档计算机资源的实际内容的一部分的直接显示。这与选择链接(例如,超链接)以打开文档的需求形成对比,这是计算资源密集型的。相反,实施例能够直接导致资源(或者资源的一部分)的显示。这使得用户更容易访问相关资源数据,而不必等待或经由滚动来定位相关数据等。例如,如上文所描述的,用户可以是部门A销售群组的子群组成员。然而,对应于UI 407的资源可以包括针对所有部门B、C和D的销售数据。因此,实施例(例如,上下文提取器/确定器254)确定用户是部门A销售群组的成员和/或所述群组的聊天历史正在引用部门A,并且(例如,经由NLP或者上文所描述的其他学习模型)定位计算机资源内的对应信息。这些实施例还导致在UI元素415内仅显示部门A销售数据,并且肯定地不导致其他部门销售数据的显示,因为其与群组和/或聊天历史无关。在一些实施例中,请求用户仅能访问(例如,如由资源ACL检查器2610确定的)UI元素415内的信息(即,部门A销售数据),并且因此不能够示出资源的其他部分。在这些实施例中,用户可以仅访问计算机资源的一部分或属性,因此可以仅示出资源的部分。
现在转向图5,根据一些实施例的用户界面的示例性屏幕截图500包括被显示给用户的计算机对象的指示。在一些实施例中,图5表示相对于图4的用户设备和群组成员和用户设备而显示给与同一群组的不同成员相关联的不同用户设备的屏幕截图。亦即,在一些实施例中,示例性屏幕截图500表示相同计算机资源以及其上下文数据相对于屏幕截图400的不同视图。在一些实施例中,屏幕截图500表示由图2的呈现组件220输出的内容。在一些实施例中,屏幕截图500表示在图2的所有组件(即,用户数据收集组件210、群组事件监视器250、复合视图对象生成器280和客户端资源运行时评估器260)已经执行了其功能之后的最终输出。在一些实施例中,屏幕截图500表示如在本文中所描述的计算机化群组容器的一方面。
图5表示能够被呈现给其访问证书不满足资源访问控制级别(例如,如由资源ACL检查器261确定的)但是满足群组访问控制级别(例如,如由群组ACL检查器262确定)的群组的用户的用户设备的内容的一个示例。具体而言,整个计算机对象(例如,由复合视图对象生成器280生成的计算机对象)的指示被呈现,但是在共享手势中引用的计算机资源不被呈现。亦即,基于不满足资源访问控制级别但是满足群组访问控制级别的特定群组成员的访问证书,向与特定群组成员相关联的用户设备仅呈现如在UI元素507、509、511和513中所示的计算机对象的指示。
示例性屏幕截图500列出了群组的特定用户可以访问的计算机对象的每个指示。具体而言,在该示例中,用户是较大群组A的子群组A-1的成员。例如,子群组A-1可以是如在图4中所描述的较大销售队伍中的部门A销售团队。作为聊天历史的一部分,群组成员之一可能尝试共享特定资源。例如,如在图4中所图示的,John Doe可能已经陈述,“好的,大家,这里是描述我们上个季度业绩的文档”。响应于识别该共享手势(例如,经由共享手势确定器256),特定实施例生成数据对象(例如,经由复合视图对象生成器280)和/或检查每个群组成员的资源访问证书(例如,经由资源ACL检查器),以确保每个成员能够访问被请求在群组之间共享的资源。在这种情况下,在这种情况下,该用户不能访问正被共享的EXCEL文档。
因为该特定群组成员的访问证书不满足资源ACL但是满足群组ACL,因此使得显示UI元素507、509、511和513。UI元素507通常可以向所有部门(例如,如由上下文提取器/确定器254确定的)提供包含销售数据的EXCEL电子表格计算机资源的链接和文件名。然而,由于该用户不能访问文档,所以实施例通知该用户她不能访问,但是能够示出其他上下文数据,诸如元素509、511和513。UI元素509对应于时间戳,所述时间戳指示在聊天历史中发布EXCEL文档的共享手势的时间(例如,如由上下文提取器/确定器254确定的)。UI元素511对应于其他上下文数据,诸如在做出共享手势时存在的群组成员的名称(例如,如由上下文提取器/确定器254确定的)。UI元素513对应于在共享手势之前和/或之后的聊天历史的聊天上下文或事件上下文(例如,如由上下文提取器/确定器254确定的)。该示例性屏幕截图500不包含与对应于EXCEL文档计算机资源的实际内容的一部分的直接显示的UI元素415类似的UI元素,因为用户不能访问文档自身的内容或有效负载。由示例性屏幕截图500表示的UI的一些实施例可以包括链接、按钮或者其他UI元素以请求访问计算机资源507。在共享者没有意识到特定用户不能访问计算机资源507的情况下,这可能是有帮助的。因此,特定实施例响应于接收到对该UI元素的选择,发送通知(例如,向共享者或另一组成员、管理员或者负责访问计算机资源507的其他个人),所述通知指示针对个人访问的请求。
现在转向图6,根据一些实施例,提供了示出包括被显示给用户的计算机引用的示例性用户界面的屏幕截图600。在一些实施例中,图6表示相对于图4和图5的用户设备和群组成员而被显示给与不同群组成员相关联的不同用户设备的屏幕截图。亦即,在一些实施例中,示例性屏幕截图600表示相对于屏幕截图400和500的相同计算机资源的不同视图。在一些实施例中,屏幕截图600表示由图2的呈现组件220输出的内容。在一些实施例中,屏幕截图600表示在图2的组件(即,用户数据收集组件210、群组事件监视器250、复合视图对象生成器280和客户端资源运行时评估器260)已经执行了其功能之后的最终输出。在一些实施例中,示例性屏幕截图600表示如在本文中所描述的计算机化群组容器的一方面。
图6表示可以被呈现给其访问证书满足资源访问控制级别(例如,如由资源ACL检查器261确定的)但是不满足群组访问控制级别(例如,如由群组ACL检查器262确定)的群组的用户的用户设备的内容。具体而言,肯定地不呈现整个计算机对象(例如,由复合视图对象生成器280生成的计算机对象)的指示,而是呈现在共享手势中引用的计算机资源。亦即,基于满足资源访问控制级别但是不满足群组访问控制级别的特定用户的访问证书,与用户相关联的用户设备仅被呈现有计算机资源或链接或者计算机资源自身,如在UI元素607中所指示的。
在屏幕截图600中所描绘的示例性实施例列出了该特定示例性用户可以访问的每个计算机资源。具体而言,该示例性用户不是子群组A-1的成员,而是较大群组A的成员。子群组A-1可以是较大销售队伍中的部门A销售团队,如在图4中所描述的。作为聊天历史的一部分,子群组A-1的群组成员之一可能尝试共享特定资源。例如,如在图4中所图示的,JaneDoe可能已经陈述,“好的,大家,这里是描述我们上季度业绩的文档”。在识别该共享手势(例如,经由共享手势确定器256)之后,特定实施例生成数据对象(例如,经由复合视图对象生成器280)并且检查每个请求用户的群组ACL和资源ACL,以确保每个用户能够访问正被请求的资源和计算机对象。在这种情况下,该用户可以访问在子群组A-1中共享的EXCEL文档,但是不是群组ACL的成员或者满足群组ACL,从而所述用户不能访问对应的计算机对象。
因为该特定群组成员的访问证书满足资源ACL但是不满足群组ACL,所以可以仅显示UI元素607。如果用户是群组的成员或者以其他方式满足群组ACL,则通常应当向她呈现围绕共享手势的上下文数据(例如,如在UI元素409、411、413和415中所指示的)。然而,因为该用户不能访问计算机对象,所以实施例可以加密、屏蔽、模糊或者以其他方式不示出数据对象内的内容。注意,即使该示例性用户能够访问计算机资源607,特定实施例也可以加密、屏蔽或模糊计算机资源607自身,或者以其他方式可以不示出该特定计算机资源607被共享的指示。这是因为,在一些情况下,即使用户在技术上可以访问计算机资源607,但是示出特定资源在通信群组内共享仍可能违反机密性。设想到了,在一些实施例中,用户不能访问计算机资源或者计算机对象。亦即,其不具有满足资源ACL和群组ACL两者的访问证书。在这些实施例中,图4的UI元素407、409、411、413和415例如将被加密、屏蔽、模糊或者以其他方式不被呈现。
现在转向图7,根据一些实施例,用于引起上下文数据和至少一部分计算机资源的呈现的示例性过程700的流程图。过程700(和/或在本文中所描述的功能中的任意功能,诸如过程800和900)可以通过包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码)、软件(例如,在处理器上运行以执行硬件模拟的指令)、固件或者其组合的处理逻辑来执行。尽管在本公开中所描述的特定框以特定的顺序以特定的数量被引用,但是应当理解,任何框可以与任何其他框基本并行或者在任何其他框之前或之后出现。此外,可能存在比所图示的更多(或更少)的框。例如,在一些实施例中,过程700不包括框704和/或框706,而是由在本文中所描述的其他功能来替代。任何添加的框可以包括被体现在本文中所描述的任何功能的框。如在本文中所描述的计算机实现的方法、系统(包括具有至少一个处理器和至少一个计算机可读存储介质的至少一个计算设备)和/或计算机存储介质可以执行或使得执行过程700或者在本文中所描述的任何其他功能。
根据框702,检测包括对计算机资源的引用的共享手势。在一些实施例中,所述共享手势被包含在由计算机化群组容器内的参与者(或者群组成员)发送的消息中。在特定实施例中,计算机化群组容器被配置为存储在群组的多个参与者之间交换的一个或多个电子消息。在一些实施例中,框702由共享手势确定器256来执行,其功能在本文中进行描述。一些实施例替代地或另外地“接收”共享手势。在这些实施例中,共享手势被包含在由包括多个参与者(或者群组成员)的通信群组内的参与者发送的消息中。例如,复合视图对象生成器280能够从会议监视器250接收共享手势。
在一些实施例中,在本文中所描述的引用是来自包括以下项的一组引用中的至少一个引用:到web资源(例如,网页)的独立URL或链接(例如,引用URL的超链接或其他链接),对文档或文件的链接(例如,在图4的UI特征407内指示的链接),以及计算机资源的自然语言描述。在一些实施例中,计算机资源的自然语言描述对应于通信群组或计算机化群组容器内描述资源的消息(例如,不提供直接访问计算机资源的链接)。例如,群组参与者可能说:“看看我上周五发给你的文档”。
在框702的示例性说明中,在通信群组(或者计算机化群组容器)中,群组成员可以共享到web上的文章的链接或到WORD文档的链接。因此,实施例可以检测(例如,经由共享手势确定器256)链接的共享,并且确定链接的共享或张贴是共享手势。
根据框704,至少部分地基于共享手势,特定实施例生成(或者更新)包括上下文数据和至少一部分计算机资源(或者计算机资源的指示)的计算机对象。例如,所述共享手势可以规定一个或多个规则(例如,基于共享手势中的资源的类型)以申请在计算机对象中包括什么(和/或多少)特定上下文数据和/或计算机资源的什么属性(例如,子部分)(例如,如由对象实例化组件288确定的)。在一些实施例中,至少部分地基于通信群组的一个或多个属性(例如,发生共享手势的群组的类型、群组参与者的数量、群组的聊天历史的长度以及围绕可用的计算机资源的外部上下文的量)另外地或替代地生成计算机对象。在一些实施例中,框704由复合视图对象生成器280通过如在本文中所描述的功能来执行。
在框704的示例性说明中,共享手势的计算机对象可以包括:当共享发生时哪些用户是群组的一部分,在共享手势之前和之后的消息的内容,当共享发生时哪些用户在该通信中是活动的,以及诸如文件名和资源能够位于其中的URL的资源细节。
在一些实施例中,替代生成计算机对象或者除了生成计算机对象之外,框704能够包括确定要应用的一个或多个规则,所述规则指示要提取与计算机资源相关联的哪些上下文数据或者指示要提取多少计算机资源。至少部分地基于一个或多个规则,特定实施例提取与计算机资源相关联的上下文数据,并且提取计算机资源的至少一部分(或者指示)。例如,实施例能够确定被共享的计算机资源(或共享手势)的类型(例如,web应用页面),并且在存储器中定位规则,所述规则指示如果该类型的资源(或共享手势)被共享,则应当呈现特定类型的上下文数据(例如,外部上下文相对于事件上下文)、特定量的上下文数据、或者特定上下文数据。例如,实施例能够确定引用是对没有链接的资源(或者资源自身)的自然语言引用(例如,经由NLP),并且实施例能够基于该确定来提取并且获得实际链接或资源自身。在一些实施例中,这些一个或多个规则是由上文所描述的计算机对象使用的相同规则或者如在本文中所描述的对象实例化组件288所使用的规则。
关于一个或多个规则,在另一示例中,实施例能够确定共享手势发生在其之内的群组的类型,并且在存储器中定位规则,所述规则指示如果群组是特定类型的群组(例如,“足球妈妈”群组或者托管群组的特定应用),则应当提取特定类型的上下文数据(例如,外部上下文相对于事件上下文)、特定量的上下文数据、或者特定上下文数据。例如,如果群组对应于MICROSOFT TEAMS信道,则共享资源的时间对于确定何时/如何提取信息并且被回显给用户会是重要的。例如,如果同一WORD文档被共享了两次,但是在共享手势之间已经过了一周,那么为第二共享手势创建新的复合视图或提取/渲染新信息可能是有意义的。这样做的一个原因是基于在共享手势之前和/或之后某个时间发布的消息的内容,或者根据当时在通信群组中活跃的用户的名称,使得信息或视图在群组内可搜索。
关于一个或多个规则,在另一示例中,实施例能够确定(一个或多个)计算机资源将被发布到的用户体验(UE)(例如,页面、API或UI布局),并且在存储器中定位规则,所述规则指示如果UE是特定类型的(例如,包括所有聊天历史的UI),则应当提取或呈现特定类型的上下文数据(例如,外部上下文相对于事件上下文)、特定量的上下文数据、或者特定上下文数据。例如,如果确定资源将已经被嵌入在消息的聊天历史中,则实施例能够确定不需要事件上下文,而是能够提取并且随后呈现外部上下文。在另一示例中,如果已知UI将仅列出计算机资源,则规则能够指示共享手势之前和/或之后的事件上下文能够额外地与资源的列表一起呈现。
注意,一些用户体验依赖于聚合信息,诸如某个资源在该群组中被共享的次数。为了促进这一点,实施例能够更新现有的复合视图或计算机对象,而不是创建新的复合视图或计算机对象。如果具有不同需求的多个UE——如在本文中所描述的——将从群组碎片中得到服务,则能够保持从资源中持续更新的一个复合视图,并且在必要时创建新的复合视图。
关于一个或多个规则,在另一示例中,实施例能够确定自上次共享以来被共享的资源已经改变了多少,并且在存储器中定位规则,所述规则指示如果在资源的共享和/或内容差异阈值之间已经满足特定的时间阈值,所述内容差异阈值指示在共享之间的资源之间的实际文本差异(例如,如由TF-IDF确定的),那么应当呈现特定类型的上下文数据(例如,外部上下文相对于事件上下文)、特定量的上下文数据、或特定的上下文数据。例如,如果计算机资源的差异已经在阈值上从第一共享改变到第二共享,则实施例能够确定应当列出自第二共享以来添加的群组成员。
在一些实施例中,在框704中所描述的上下文数据包括外部上下文数据,所述外部上下文数据不是计算机化群组容器或通信群组内的任何消息的一部分。例如,如在本文中所描述的,外部上下文能够是群组通信应用之外的任何数据,诸如来自电子邮件账户的信息、社交媒体帖子(例如,经由web抽取)、文本消息或者任何其他合适的外部上下文。替代地或另外地,上下文数据能够包括在计算机化群组容器或通信群组内的共享手势之前或之后交换的一个或多个消息的至少一部分。例如,如在本文中所描述的,这能够包括共享手势之前和/或之后的聊天历史的事件上下文。在各种实施例中,上下文数据能够是由上下文提取器/确定器254和/或上下文生成器286获得的任何数据。
根据框706,特定实施例将计算机对象与访问计算机对象所需的群组访问控制级别相关联。例如,响应于正在生成的计算机对象,特定实施例能够检查(例如,经由群组ACL检查器262)每个群组成员是否能访问计算机访问。替代地,框706能够包括自动地将群组的成员标记为具有访问权,并且因此根据框707基于用户已经登录到通信群组中来自动地呈现。另外地或替代地,实施例通过简单地生成或访问群组ACL来执行框706,以便在任何时候请求对应的资源时,都能够检查请求用户的访问证书。在一些实施例中,框706由群组ACL检查器262来执行,其功能在本文中进行描述。
在各种实施例中,不满足群组ACL的任何用户都不是群组的成员,并且被阻止访问计算机对象。在特定实施例中,“不满足”意味着用户不具有匹配一个或多个群组ACL的任何访问证书。反之亦然,满足群组ACL的用户具有匹配一个或多个ACL的一个或多个访问证书。
根据框708,特定实施例导致呈现上下文数据和计算机资源的至少一部分(或者指示)。例如,返回参考图4,示出了与UI元素409、411、413的上下文呈现,并且在UI元素415中示出了计算机资源的部门A销售信息。另外,在UI元素407中指示了计算机资源名称。在一些实施例中,框708通过关于图2的呈现组件220在本文中所描述的功能来执行。
在各种实施例中,响应于上述上下文数据的提取和计算机资源的至少一部分(或指示)的提取,特定实施例使得上下文数据和计算资源的至少一部分呈现到应用页面或网页。例如,返回参考图4,屏幕截图400可以对应于app或应用页面(例如,实例、仪表板、视图等),并且如在图4中所图示的,显示下文数据和和计算机引用的一部分。在一些实施例中,应用页面或网页不包含在通信群组内交换的消息的完整聊天历史。例如,这在图4、5和6中被图示出,其中,相应屏幕截图仅列出计算机资源和相关联的元数据,并且例如不显示或呈现与聊天按钮419或帖子417相关联的聊天历史。
一些实施例导致至少部分地基于框706的关联向与多个参与者中的每个参与者(或者群组成员)相关联的每个计算机设备呈现计算机对象的指示。在特定实施例中,所述指示包括上下文数据和计算机资源的至少一部分。例如,所述指示能够包括计算机对象自身的有效载荷数据中的一些,诸如在图4的UI元素409、411、413和415内的信息基于确定用户是通信群组的成员而被示出。
如在本文中所描述的,一些实施例确定多个参与者(或者群组成员)中的每个参与者(或者群组成员)的访问证书并且将其与访问计算机资源所需的资源访问控制级别进行比较。另外,实施例确定每个参与者(或者群组成员)的访问证书并且将其与访问计算机对象所需的群组访问控制级别进行比较。例如,这是关于图2的客户端资源运行时评估器260的功能来描述的。
因此,一些实施例确定多个参与者中的第一参与者(或者群组成员)的访问证书满足资源访问控制级别和群组访问控制级别两者。基于第一参与者的访问证书满足资源访问控制级别和群组访问控制级别两者,特定实施例将计算机资源和计算机对象呈现给与第一参与者相关联的第一计算设备。例如,关于图4来描述该概念,其中,用户能访问资源和计算机对象,并且相应地呈现与UI元素407、409、411、413和415相对应的所有数据。
一些实施例确定多个参与者(或者群组成员)中的第二参与者(或者群组成员)的访问证书仅满足群组访问控制级别但是不满足资源访问控制级别。并且,基于第二参与者的访问证书仅满足群组访问控制级别但是不满足资源访问控制级别,特定实施例仅向与第二参与者相关联的第二计算机设备呈现计算机对象,其中,计算机对象仅包含上下文数据,并且其中,不向第二计算设备呈现计算机资源。例如,关于图5来例示说明该概念,其中,用户设备与UI元素507、509、511和513中的数据一起呈现,但是不与实际的计算机资源一起呈现。
特定实施例确定用户的访问证书仅满足访问计算机资源所需的资源访问控制级别,但是不满足群组访问控制级别。并且,基于用户的访问证书仅满足资源访问控制级别但是不满足群组访问控制级别,实施例仅向用户的计算设备呈现计算机资源,而不向用户的计算设备呈现计算机对象。例如,关于图6来例示说明该概念,其中,在UI元素607中仅提供计算机资源自身,而不提供其他上下文数据。
图8是根据一些实施例的用于生成或更新计算机对象的示例性过程的流程图。在一些实施例中,图8的一个或多个框被包含在图7的过程700中的一个或多个框之间或者表示图7的过程700中的一个或多个框。例如,图8的框803和805能够发生在图7的框704之前(但是在图7的框702之前)。类似地,在一些实施例中,框807表示或者包括如关于图7的框704所描述的功能。
图8描绘了作为共享手势(例如,图7的框702)的结果而创建或更新隐私保护复合视图或者计算机对象。根据框803,在群组碎片(例如,通信群组或通信群组信道)处,使用一个或多个规则,特定实施例确定应当取回的计算机资源的(一个或多个)属性,并且查询掌握针对(一个或多个)属性(或者控制对所述属性的访问)的特定碎片。在一些实施例中,一个或多个规则与上文关于图7的框704和/或图2的对象实例化组件288所描述的一个或多个规则相同。在一些实施例中,在本文中所描述的关于对象实例化组件288的功能是执行框803的组件。
根据框805,在资源碎片(例如,控制对计算机资源的访问的进程或应用)处,实施例基于计算机资源的(一个或多个)隐私/安全约束来确定是否可以将(一个或多个)属性返回到群组碎片。在一些实施例中,关于资源ACL检查器261所描述的功能来执行框805。当接收到针对属性集的查询时,并且基于与计算机资源有关的隐私/安全约束,实施例确定能够被复制到群组碎片的计算机资源的属性。特定实施例(例如,经由Jaccard索引)在被查询的属性集与能够经受隐私/安全约束而返回的属性之间创建交集。然后,特定实施例将交集的结果返回到群组碎片。应当仅返回用户能够访问的那些属性(如果有任何属性的话)。
在框805的说明性示例中,响应于接收或检测到共享手势,实施例能够确定通信群组上的每个成员或参与者的访问证书,并且将其与访问计算机资源(或者计算机资源的属性)所需的一个或多个资源ACL进行比较,并且然后仅将那些属性返回到所述群组(或者所述群组中的用户)能够访问的群组碎片(或者具体用户设备)。例如,返回参考图4,例如,即使在共享手势中,用户可能已经尝试共享对应于UI元素407的整个EXCEL文档,一些实施例仅示出或提供对部门A销售数据的访问,如在UI元素415中所图示的。以这种方式,能够向群组的每个用户呈现表示计算机资源的不同视图或者计算机对象,这取决于他们能够访问的确切属性。替代地,实施例能够基于一个或多个规则向群组的成员呈现相同的视图或对象,诸如在群组内的多个人具有不同的访问证书和能够返回的不同属性的情况下,仅呈现每个人都能够访问的属性。
根据框807,在群组碎片处,一些实施例基于计算机资源的一个或多个规则和(一个或多个)隐私/安全约束来生成或更新计算机对象。在一些实施例中,这通过如在本文中所描述的关于复合视图对象生成器280的功能来执行。基于来自群组碎片的一个或多个规则,实施例确定哪些复合视图或者计算机对象应当被更新,并且利用来自群组碎片和为计算机资源而返回的相关信息(例如,上下文数据)来更新这些复合视图或者计算机对象,并且然后将群组ACL与复合视图相关联。例如,如在本文中所描述的,计算机资源或者上下文数据的内容可能已经改变超过两个不同的共享手势之间的阈值。在这些实施例中,实施例利用新的上下文数据或新的有效载荷计算机资源数据来更新计算机对象(其已经被创建)。
特定实施例另外地或替代地确定应当实例化和创建哪些复合视图。实施例利用来自群组碎片以及为计算机资源而返回的相关信息(例如,上下文数据)来填充这些复合视图,并且将群组ACL与复合视图相关联。例如,可能尚未创建计算机对象,因为通信群组中从未共享特定的资源。在这些实例中,实施例利用上下文数据和/或计算机资源自身的一个或多个部分来生成和填充计算机对象。
图9是根据一些实施例的基于用户是否能访问计算机对象和相关联资源来导致信息显示的示例性过程900的流程图。在一些实施例中,过程900表示或者包括在本文中关于图2的客户端资源运行时评估器260所描述的功能。应当理解,过程900可以包括或者移除一个或多个框。例如,在一些实施例中,不存在框906、908。
根据框902,生成或更新计算机对象,其中,计算机对象包括上下文数据和在通信群组中共享的计算机资源的至少一部分。例如,这能够是关于复合视图对象生成器280所描述的计算机资源。另外地或替代地,框902能够表示或者包括关于框704或框807所描述的功能。
根据框904,接收与用户相关联的请求。例如,用户可以在聊天会话或共享手势之后直接请求计算机资源。替代地或另外地,用户可以切换或者以其他方式被引导到应用页面、视图、网页等,这些应用页面、视图、网页等通常将导致计算机资源或者计算机对象的指示被显示。在这些实施例中,切换或被引导到(例如,经由URL查询)这样的页面、视图或网页的动作导致接收请求。在另一示例中,用户尝试加入通信群组或者以其他方式访问群组信息的动作能够自动地触发所接收的请求。
根据框906,确定用户是否能够访问计算机资源(或者资源的一个或多个属性)。例如,返回参考图1,资源ACL检查器262能够将用户的访问证书与访问资源所需的一个或多个资源ACL进行比较。
根据框908,如果用户不能访问计算机资源(或者一个或多个属性),则特定实施例防止访问计算机资源(或者一个或多个属性)。亦即,用户的用户设备将不能读取、取回或者以其他方式修改计算机资源。根据框910,如果用户能够访问计算机资源(或者一个或多个属性),则实施例提供对计算机资源(或者一个或多个属性)的访问。亦即,用户的用户设备将能够读取、取回或者以其他方式修改计算机资源。
根据框912,确定用户是否能够访问计算机对象。例如,返回参考图2,这可以通过关于群组ACL检查器262所描述的功能来执行。例如,该确定能够至少部分地基于将用户的访问证书与访问计算机对象所需的一个或多个访问控制级别进行比较。
根据框914,如果用户不能访问计算机对象,则实施例防止对计算机对象的访问。亦即,用户的用户设备将不能读取、取回或者以其他方式修改计算机对象。根据框916,如果用户能够访问计算机对象,则实施例提供对计算机对象的访问。亦即,用户的用户设备将能够读取、取回或者以其他方式修改计算机对象。
根据框918,特定实施例(例如,呈现组件220)基于用户可以访问的内容来显示信息。例如,至少部分地基于用户是否能够访问计算机对象,一些实施例导致向用户的用户设备显示计算机对象的指示,或者其不导致显示计算机对象的指示。框918的示例是相应图4、5和6的每个屏幕截图400、500和600,其能够基于用户能够访问的确切信息(例如,确切的资源属性)和上下文数据来提供。
已经描述了各种实现方式,现在描述适于实现本公开的实施例的示例性计算环境。参考图10,提供了示例性计算设备,并且通常将其称为计算设备1000。计算设备1000仅是合适的计算环境的一个示例,并且不打算建议对本公开的实施例的使用范围或功能的任何限制。计算设备1000也不应当被解释为具有与所图示的组件的任意一个或组合有关的任何依赖性或要求。
本公开的实施例可以在计算机代码或机器可用指令的一般上下文中描述,所述计算机代码或机器可用指令包括由计算机或诸如个人数据助理、智能手机、平板PC或其他手持设备等其他机器执行的诸如程序模块的计算机可用或者计算机可执行指令。通常,程序模块(包括例程、程序、对象、组件、数据结构等)指的是执行特定任务或实现特定抽象数据类型的代码。本公开的实施例可以在各种系统配置中实践,包括手持设备、消费者电子设备、通用计算机、更专用的计算设备等。本公开的实施例还可以在分布式计算环境中实践,其中,任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于本地和包括存储器存储设备的远程计算机存储介质中。
参考图10,计算设备1000包括直接或间接耦合以下设备的总线10:存储器12、一个或多个处理器14、一个或多个呈现组件16、一个或多个输入/输出(I/O)端口18、一个或多个I/O组件20和说明性电源22。总线10表示可以是一条或多条总线(例如,地址总线、数据总线或者其组合)。尽管为了清楚起见图10的各个框用线条示出,但是实际上这些框表示逻辑组件而不一定是实际组件。例如,可以将诸如显示设备的呈现组件视为I/O组件。而且,处理器具有存储器。本发明的发明人认识到这是本领域的本质,并重申图10的图仅示出可结合本公开的一个或多个实施例使用的示例性计算设备。没有在诸如“工作站”、“服务器”、“膝上型计算机”、“手持设备”等类别之间进行区分,因为所有这些都在图10的范围内并参考“计算设备”。
计算设备1000通常包括各种计算机可读介质。计算机可读介质可以是能够由计算设备1000访问的任何可用介质,并且包括易失性和非易失性介质、可移动和不可移动介质。通过示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储信息(例如,计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但是不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储设备、盒式磁带、磁带、磁盘存储设备或其他磁存储设备,或可用于存储所需信息并可由计算设备1000访问的任何其他介质。计算机存储介质不包括信号自身。通信介质通常体现计算机可读指令、数据结构、程序模块或在已调制数据信号中的其他数据,例如载波或其他传输机制,并包括任何信息输送介质。术语“已调制数据信号”指的是以编码信号中的信息的方式设置或改变其一个或多个特性的信号。通过示例而非限制,通信介质包括:有线介质,例如有线网络或直接有线连接;以及无线介质,例如声学、RF、红外和其他无线介质。以上任何的组合也应当被包括在计算机可读介质的范围内。
存储器12包括易失性和/或非易失性存储器形式的计算机存储介质。存储器可以是可移动的、不可移动的或者其组合。示例性硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备1000包括从诸如存储器12或I/O组件20的各种实体读取数据的一个或多个处理器14。呈现组件16向用户或其他设备呈现数据指示。在一些实现方式中,系统200的呈现组件220可以被体现为呈现组件16。呈现组件的其他示例可以包括显示设备、扬声器、打印组件、振动组件等。
I/O端口18允许计算设备1000逻辑地耦合到其他设备,包括I/O组件20,其中,一些可以内置。说明性组件包括麦克风、操纵杆、游戏手柄、盘式卫星天线、扫描仪、打印机、无线设备等。I/O组件20可以提供处理由用户生成的空气手势、语音或其他生理输入的自然用户界面(NUI)。在一些情况下,输入可以被传输到适当的网络元件以进行进一步处理。NUI可以实现语音识别、触摸和触笔识别、面部识别、生物特征识别、屏幕上和屏幕附近的手势识别、空中手势、头部和眼睛跟踪以及与计算设备1000上的显示器相关联的触摸识别的任何组合。计算设备1000可以配备有深度相机,例如立体相机系统、红外相机系统、RGB相机系统以及这些系统的组合,用于手势检测和识别。此外,计算设备1000可以配备有能够检测运动的加速度计或陀螺仪。可以将加速度计或陀螺仪的输出提供给计算设备1000的显示器以渲染沉浸式增强现实或虚拟现实。
计算设备1000的一些实施例可以包括一个或多个无线电设备24(或者类似的无线通信组件)。无线电设备24发送和接收无线电或无线通信。计算设备1000可以是适于通过各种无线网络接收通信和媒体的无线终端。计算设备1000可以经由诸如码分多址(“CDMA”)、全球移动系统(“GSM”)或时分多址(“TDMA”)等无线协议进行通信,以与其他设备进行通信。无线电通信可以是短程连接、长程连接或短程和长程无线电信连接两者的组合。当我们提到“短”和“长”类型的连接时,我们并不是指两个设备之间的空间关系。相反,我们通常将短程和长程称为不同的连接类别或类型(即,主要连接和次要连接)。通过示例而非限制,短程连接可以包括到提供对无线通信网络的访问的设备(例如,移动热点)的
Figure BDA0003960877180000231
连接,例如使用802.11协议的WLAN连接;到另一计算设备的蓝牙连接是短程连接或近场通信连接的第二示例。长程连接可以包括使用例如但是不限于CDMA、GPRS、GSM、TDMA和802.16协议中的一个或多个的连接。
在不背离下文权利要求的范围的情况下,所描绘的各种组件以及未示出的组件的许多不同布置是可能的。描述本公开的实施例的意图是说明性的而不是限制性的。替代实施例对于本公开的读者来说在阅读本公开之后并因为阅读本公开而变得显而易见的。在不背离以下权利要求的范围的情况下,可以完成实施前述的替代手段。某些特征和子组合是有用的,并且可以在不引用其他特征和子组合的情况下使用,并且在权利要求的范围内考虑到这些特征和子组合。
以下实施例表示在本文中所设想的概念的示例性方面。以下实施例中的任意一个可以以依赖于一个或多个其他条款的多种从属方式组合。此外,从属实施例的任何组合(例如,明确依赖于先前条款的条款)可以被组合,同时保持在本文所设想的各方面的范围内。以下条款在本质上是示例性的而不是限制性的:
条款1、一种计算机化系统,包括:一个或多个处理器;以及在其上存储有计算机可执行指令的计算机存储存储器,所述指令当由所述一个或多个处理器执行时实现一种方法,所述方法包括:检测包括对计算机资源的引用的共享手势,其中,所述共享手势被包含在由计算机化群组容器内的参与者发送的消息中,并且其中,所述计算机化群组容器被配置为存储在群组的多个参与者之间交换的一个或多个电子消息;至少部分地基于所述共享手势和所述群组的一个或多个属性,来生成计算机对象,所述计算机对象包括:与所述计算机资源相关联的上下文数据和至少所述计算机资源的指示;将所述计算机对象与用于访问所述计算机对象的群组访问控制级别相关联,其中,不满足所述群组访问控制级别的第一用户不是所述群组的成员,并且所述计算机对象不能被所述第一用户访问;并且至少部分地基于所述关联,使得向与所述多个参与者中的一个或多个参与者相关联的一个或多个计算设备呈现所述计算机对象的指示,所述计算机对象的所述指示包括所述上下文数据和至少所述计算机资源的所述指示。
条款2、条款1所述的系统,所述方法还包括将所述多个参与者中的每个参与者的访问证书与访问所述计算机资源所需的资源访问控制级别进行比较。
条款3、条款2所述的系统,所述方法还包括:确定所述多个参与者中的第一参与者的访问证书满足所述资源访问控制级别和所述群组访问控制级别两者;以及基于所述第一参与者的所述访问证书满足所述资源访问控制级别和所述群组访问控制级别两者,使得所述计算机资源和所述计算机对象呈现给与所述第一参与者相关联的第一计算设备。
条款4、条款3所述的系统,所述方法还包括:确定所述多个参与者中的第二参与者的访问证书仅满足所述群组访问控制级别而不满足所述资源访问控制级别;以及基于所述第二参与者的所述访问证书仅满足所述群组访问控制级别而不满足所述资源访问控制级别,使得所述计算机对象呈现给与所述第二参与者相关联的第二计算设备,其中,所述计算机对象包含所述计算机资源的一部分和所述上下文数据,并且其中,不使得所述计算机资源的全部被呈现给所述第二计算设备。
条款5、条款1所述的系统,所述方法还包括:确定第二用户的访问证书仅满足访问所述计算机资源所需的资源访问控制级别,但是不满足所述群组访问控制级别;以及基于所述第二用户的所述访问证书仅满足所述资源访问控制级别而不满足所述群组访问控制级别,使得所述计算机资源而不使得所述计算机对象呈现给所述第二用户的计算设备。
条款6、条款1所述的系统,其中,所述上下文数据包括外部上下文数据,所述外部上下文数据不是所述计算机化群组容器内的任何消息的一部分。
条款7、条款1所述的系统,其中,所述上下文数据包括在所述计算机化群组容器内的所述共享手势之前或之后交换的一个或多个消息的至少一部分。
条款8、条款1所述的系统,其中,所述引用是一组引用中的至少一个引用,所述一组引用包括:到web资源的URL链接或超链接、到文档或文件的链接、以及所述计算机资源的自然语言描述。
条款9、条款1所述的系统,其中,对所述计算机对象的所述生成至少部分地基于所述群组的群组类型和所述计算机资源的计算机资源类型。
条款10、一种计算机实现的方法,包括:生成或更新计算机对象,所述计算机对象包括在通信群组中共享的计算机资源的至少一部分或指示;接收与所述计算机对象和用户相关联的请求;至少部分地基于将所述用户的访问证书与用于访问所述计算机对象的一个或多个群组访问控制级别进行比较来确定所述用户是否能访问所述计算机对象;以及至少部分地基于所述用户是否能访问所述计算机对象:如果所述用户能访问所述计算机对象,则使得向所述用户的用户设备显示所述计算机对象的指示;以及如果所述用户不能访问所述计算机对象,则不使得显示所述计算机对象的所述指示。
条款11、条款10所述的方法,还包括将所述用户的访问证书与访问所述计算机资源所需的资源访问控制级别进行比较。
条款12、条款11所述的方法,还包括:确定所述用户的所述访问证书满足所述资源访问控制级别和所述一个或多个群组访问控制级别两者;以及基于所述用户的所述访问证书满足所述资源访问控制级别和所述一个或多个群组访问控制级别两者,使得所述计算机资源和所述计算机对象呈现给与所述用户相关联的所述用户设备。
条款13、条款11所述的方法,还包括:确定所述用户的所述访问证书仅满足所述一个或多个群组访问控制级别而不满足所述资源访问控制级别;以及基于所述用户的所述访问证书仅满足所述一个或多个群组访问控制级别而不满足所述资源访问控制级别,使得所述计算机对象呈现给与所述用户相关联的所述用户设备。
条款14、条款11所述的方法,还包括:确定所述用户的所述访问证书仅满足访问所述计算机资源所需的所述资源访问控制级别,而不满足所述一个或多个群组访问控制级别;以及基于所述第二用户的所述访问证书仅满足所述资源访问控制级别而不满足所述一个或多个群组访问控制级别,使得仅所述计算机资源呈现给所述用户设备而不使得所述计算机对象呈现给所述用户设备。
条款15、条款10所述的方法,其中,所述计算机对象包括上下文数据,并且其中,所述上下文数据包括外部上下文数据,所述外部上下文数据不是所述通信群组内的任何消息的一部分。
条款16、条款10所述的方法,其中,所述计算机对象包括上下文数据,并且其中,所述上下文数据包括在所述计算机化群组容器内的所述共享手势之前或之后交换的一个或多个消息的至少一部分。
条款17、条款10所述的方法,还包括:确定所述用户能够访问所述计算机对象;以及基于所述用户能够访问所述计算机对象,使得所述计算机对象的所述指示显示给所述用户的所述用户设备。
条款18、条款10所述的方法,还包括:确定所述用户不能访问所述计算机对象;以及基于所述用户不能访问所述计算机对象,选择性地避免使得向所述用户的所述用户设备显示所述计算机对象的所述指示。
条款19、一种或多种其上体现有计算机可执行指令的计算机存储介质,所述指令当由一个或多个处理器执行时,使得所述一个或多个处理器执行一种方法,所述方法包括:检测包括对计算机资源的引用的共享手势,其中,所述共享手势被包含在由包括多个参与者的通信群组内的参与者发送的消息中;至少部分地基于所述共享手势,来确定要应用的一个或多个规则,所述规则指示与要提取的所述计算机资源相关联的上下文数据或者指示要提取多少计算机资源;至少部分地基于所述一个或多个规则,来提取与所述计算机资源相关联的所述上下文数据或者提取所述计算机资源的至少一部分;以及响应于对所述上下文数据的所述提取或者对至少所述部分的所述提取,使得向app页面或网页呈现所述上下文数据或者所述计算机资源的至少所述部分。
条款20、条款19所述的计算机存储介质,其中,所述app页面或网页不包含在所述通信群组内交换的消息的完整聊天历史,并且其中,所述上下文数据包括外部上下文或事件上下文。

Claims (15)

1.一种计算机化系统,包括:
一个或多个处理器;以及
在其上存储有计算机可执行指令的计算机存储存储器,所述计算机可执行指令当由所述一个或多个处理器执行时实现一种方法,所述方法包括:
检测包括对计算机资源的引用的共享手势,其中,所述共享手势被包含在由在计算机化群组容器内的共享参与者发送的消息中,并且其中,所述计算机化群组容器被配置为存储在群组的多个参与者之间交换的一个或多个电子消息;
至少部分地基于所述共享手势和所述群组的一个或多个属性,来生成计算机对象,所述计算机对象包括:与所述计算机资源相关联的上下文数据和至少所述计算机资源的指示;
将所述计算机对象与用于访问所述计算机对象的群组访问控制级别相关联,其中,不满足所述群组访问控制级别的第一用户不是所述群组的成员,并且所述计算机对象不能被所述第一用户访问;以及
至少部分地基于所述关联,使得向与所述多个参与者中的至少一个参与者相关联的至少一个计算设备呈现所述计算机对象的指示,所述计算机对象的所述指示包括所述上下文数据和至少所述计算机资源的所述指示。
2.根据权利要求1所述的系统,所述方法还包括:将所述多个参与者中的每个参与者的访问证书与访问所述计算机资源所需的资源访问控制级别进行比较。
3.根据权利要求2所述的系统,所述方法还包括:
确定所述多个参与者中的第一参与者的访问证书满足所述资源访问控制级别和所述群组访问控制级别两者;以及
基于所述第一参与者的所述访问证书满足所述资源访问控制级别和所述群组访问控制级别两者,使得所述计算机资源和所述计算机对象呈现给与所述第一参与者相关联的第一计算设备。
4.根据权利要求3所述的系统,所述方法还包括:
确定所述多个参与者中的第二参与者的访问证书仅满足所述群组访问控制级别而不满足所述资源访问控制级别;以及
基于所述第二参与者的所述访问证书仅满足所述群组访问控制级别而不满足所述资源访问控制级别,使得所述计算机对象呈现给与所述第二参与者相关联的第二计算设备,其中,所述计算机对象包含所述计算机资源的一部分和所述上下文数据,并且其中,不使得所述计算机资源的全部被呈现给所述第二计算设备。
5.根据权利要求1所述的系统,所述方法还包括:
确定第二用户的访问证书仅满足访问所述计算机资源所需的资源访问控制级别,但是不满足所述群组访问控制级别;以及
基于所述第二用户的所述访问证书仅满足所述资源访问控制级别而不满足所述群组访问控制级别,使得所述计算机资源呈现给所述第二用户的计算设备而不使得所述计算机对象呈现给所述第二用户的计算设备。
6.根据权利要求1所述的系统,其中,所述上下文数据包括外部上下文数据,所述外部上下文数据不是在所述计算机化群组容器内的任何消息的一部分。
7.根据权利要求1所述的系统,其中,所述上下文数据包括在所述计算机化群组容器内的所述共享手势之前或之后交换的一个或多个消息的至少一部分。
8.根据权利要求1所述的系统,其中,所述引用是一组引用中的至少一个引用,所述一组引用包括:到web资源的URL链接或超链接、到文档或文件的链接、以及所述计算机资源的自然语言描述。
9.根据权利要求1所述的系统,其中,对所述计算机对象的所述生成是至少部分地基于所述群组的群组类型和所述计算机资源的计算机资源类型的。
10.一种计算机实现的方法,包括:
生成或更新计算机对象,所述计算机对象包括在通信群组中共享的计算机资源的至少一部分或指示;
接收与所述计算机对象和用户相关联的请求;
至少部分地基于将所述用户的访问证书与用于访问所述计算机对象的一个或多个群组访问控制级别进行比较,来确定所述用户是否能访问所述计算机对象;以及
至少部分地基于所述用户是否能访问所述计算机对象:
如果所述用户能访问所述计算机对象,则使得向所述用户的用户设备显示所述计算机对象的指示;以及
如果所述用户不能访问所述计算机对象,则不使得显示所述计算机对象的所述指示。
11.根据权利要求10所述的方法,还包括将所述用户的访问证书与访问所述计算机资源所需的资源访问控制级别进行比较。
12.根据权利要求11所述的方法,还包括:
确定所述用户的所述访问证书满足所述资源访问控制级别和所述一个或多个群组访问控制级别两者;以及
基于所述用户的所述访问证书满足所述资源访问控制级别和所述一个或多个群组访问控制级别两者,使得所述计算机资源和所述计算机对象呈现给与所述用户相关联的所述用户设备。
13.根据权利要求11所述的方法,还包括:
确定所述用户的所述访问证书仅满足所述一个或多个群组访问控制级别而不满足所述资源访问控制级别;以及
基于所述用户的所述访问证书仅满足所述一个或多个群组访问控制级别而不满足所述资源访问控制级别,使得所述计算机对象呈现给与所述用户相关联的所述用户设备。
14.根据权利要求11所述的方法,还包括:
确定所述用户的所述访问证书仅满足访问所述计算机资源所需的所述资源访问控制级别而不满足所述一个或多个群组访问控制级别;以及
基于所述第二用户的所述访问证书仅满足所述资源访问控制级别而不满足所述一个或多个群组访问控制级别,使得仅所述计算机资源呈现给所述用户设备而不使得所述计算机对象呈现给所述用户设备。
15.一种或多种在其上体现有计算机可执行指令的计算机存储介质,所述指令当由一个或多个处理器执行时,使得所述一个或多个处理器执行一种方法,所述方法包括:
检测包括对计算机资源的引用的共享手势,其中,所述共享手势被包含在由在包括多个参与者的通信群组内的共享参与者发送的消息中;
至少部分地基于所述共享手势,来确定要应用的至少一个规则,所述至少一个规则指示与要提取的所述计算机资源相关联的上下文数据或者指示要提取多少所述计算机资源;
至少部分地基于所述至少一个规则,来提取与所述计算机资源相关联的所述上下文数据或者提取所述计算机资源的至少一部分;以及
响应于对所述上下文数据的所述提取或者对至少所述部分的所述提取,使得在计算设备上呈现所述上下文数据或所述计算机资源的至少所述部分。
CN202180037756.1A 2020-05-27 2021-03-19 在通信群组中的计算机资源的隐私保护复合视图 Pending CN115668193A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/884,614 US11606362B2 (en) 2020-05-27 2020-05-27 Privacy-preserving composite views of computer resources in communication groups
US16/884,614 2020-05-27
PCT/US2021/023056 WO2021242367A1 (en) 2020-05-27 2021-03-19 Privacy-preserving composite views of computer resources in communication groups

Publications (1)

Publication Number Publication Date
CN115668193A true CN115668193A (zh) 2023-01-31

Family

ID=75478236

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180037756.1A Pending CN115668193A (zh) 2020-05-27 2021-03-19 在通信群组中的计算机资源的隐私保护复合视图

Country Status (4)

Country Link
US (1) US11606362B2 (zh)
EP (1) EP4158517A1 (zh)
CN (1) CN115668193A (zh)
WO (1) WO2021242367A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10979432B1 (en) * 2020-06-23 2021-04-13 Slack Technologies, Inc. Hosted communication channels on communication platform
JP2022050219A (ja) * 2020-09-17 2022-03-30 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム
CN112052835B (zh) * 2020-09-29 2022-10-11 北京百度网讯科技有限公司 信息处理方法、信息处理装置、电子设备和存储介质
US11621979B1 (en) * 2020-12-31 2023-04-04 Benjamin Slotznick Method and apparatus for repositioning meeting participants within a virtual space view in an online meeting user interface based on gestures made by the meeting participants
US11546385B1 (en) 2020-12-31 2023-01-03 Benjamin Slotznick Method and apparatus for self-selection by participant to display a mirrored or unmirrored video feed of the participant in a videoconferencing platform
US11330021B1 (en) 2020-12-31 2022-05-10 Benjamin Slotznick System and method of mirroring a display of multiple video feeds in videoconferencing systems
US11514088B2 (en) * 2021-01-26 2022-11-29 Microsoft Technology Licensing, Llc Aliased data retrieval for key-value stores
KR20230084669A (ko) * 2021-12-06 2023-06-13 주식회사 포티투마루 비정형 문서 분석 방법, 비정형 문서 분석 장치, 비정형 문서 분석 시스템

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004100429A2 (en) * 2003-05-01 2004-11-18 James, Long Network download system
US7774710B2 (en) * 2005-12-28 2010-08-10 Sap Ag Automatic sharing of online resources in a multi-user computer system
US7984512B2 (en) * 2007-06-14 2011-07-19 Microsoft Corporation Integrating security by obscurity with access control lists
US8601549B2 (en) * 2010-06-29 2013-12-03 Mckesson Financial Holdings Controlling access to a resource using an attribute based access control list
US9374369B2 (en) * 2012-12-28 2016-06-21 Lookout, Inc. Multi-factor authentication and comprehensive login system for client-server networks
US10303778B2 (en) * 2013-01-28 2019-05-28 Virtual Strongbox, Inc. Virtual storage system and method of sharing electronic documents within the virtual storage system
WO2015051314A2 (en) * 2013-10-04 2015-04-09 Clique Intelligence Systems and methods for enterprise management using contextual graphs
US11334852B2 (en) * 2016-12-08 2022-05-17 Airwatch Llc Secured attachment management
US10503671B2 (en) * 2016-12-29 2019-12-10 Oath Inc. Controlling access to a shared resource
CN109525652B (zh) * 2018-10-31 2021-07-23 北京小米移动软件有限公司 信息分享方法、装置、设备和存储介质
US11100053B2 (en) * 2018-11-06 2021-08-24 Dropbox, Inc. Technologies for integrating cloud content items across platforms
US11075883B2 (en) * 2019-04-25 2021-07-27 Vmware, Inc. Resource-path-based, dynamic group membership support for membership groups

Also Published As

Publication number Publication date
US11606362B2 (en) 2023-03-14
WO2021242367A1 (en) 2021-12-02
US20210377275A1 (en) 2021-12-02
EP4158517A1 (en) 2023-04-05

Similar Documents

Publication Publication Date Title
US11721093B2 (en) Content summarization for assistant systems
US11606362B2 (en) Privacy-preserving composite views of computer resources in communication groups
US11379529B2 (en) Composing rich content messages
KR102318884B1 (ko) 터치 감응형 디바이스 상의 관련 콘텐츠를 사전행동적으로 식별 및 표면화하기 위한 시스템 및 방법
EP3465469B1 (en) Intelligent capture, storage, and retrieval of information for task completion
US10769369B2 (en) Correlating distinct events using linguistic analysis
CN108701155B (zh) 社交网络中的专家检测
US10129197B2 (en) Computerized system and method for modifying a message to apply security features to the message's content
CA2711279C (en) Social community generated answer system with collaboration constraints
US11729122B2 (en) Content suggestion system for real-time communication environments
CN112840335A (zh) 用于浏览器的以用户为中心的上下文信息
US11841915B2 (en) Systems and methods for displaying contextually relevant links
US11962560B2 (en) Techniques for supervising communications from multiple communication modalities
CN108027825B (zh) 在企业中暴露外部内容
EP3387556B1 (en) Providing automated hashtag suggestions to categorize communication
US10534780B2 (en) Single unified ranker
CN110709870A (zh) 智能成员管理
US20170161692A1 (en) Providing reminders related to contextual data on lock screens

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