用于解决通信会话中重叠语音的系统和方法与流程

文档序号:30704666发布日期:2022-07-09 22:03阅读:138来源:国知局
用于解决通信会话中重叠语音的系统和方法与流程
用于解决通信会话中重叠语音的系统和方法
1.相关申请的交叉引用
2.本技术要求于2021年1月7日提交的美国非临时申请第17/143,879号的优先权,其全部内容在此通过引用以其整体并入本文。
发明领域
3.本技术涉及数字通信领域。更具体地,本技术涉及通信会话期间音频内容的处理。
4.背景
5.如今,人们经常利用计算设备(或系统)用于各种各样的目的。例如,用户可以利用计算设备来访问社交网络系统或其他类型的通信平台。用户可以利用计算设备经由通信平台来彼此交互、共享内容项目和查看内容项目。在一些情况下,用户可以利用通信平台与其他用户进行通信会话,诸如视频会议。
6.概述
7.本技术的各种实施例可以包括系统、方法和非暂时性计算机可读介质,其被配置为确定与第一用户相关联的第一音频和与第二用户相关联的第二音频,第一用户和第二用户与通信会话相关联。可以基于第一音频和第二音频重叠的确定来静音第二音频。可以基于第一音频的完成来提供第二音频。
8.在实施例中,静音第二音频还基于与第一音频相关联的第一主题和与第二音频相关联的第二主题。
9.在实施例中,第一主题基于第一音频中包括的第一语音来确定,第二主题基于第二音频中包括的第二语音来确定,并且第一主题被确定为比第二主题更类似于与通信会话相关联的讨论的主题。
10.在实施例中,静音第二音频还基于与第一用户相关联的第一用户信息和与第二用户相关联的第二用户信息。
11.在实施例中,静音第二音频还基于第一用户在通信会话中讲话的第一频率和第二用户在通信会话中讲话的第二频率,并且第二频率高于第一频率。
12.在实施例中,静音第二音频还基于与第一音频相关联的第一时间和与第二音频相关联的第二时间,并且第一时间早于第二时间。
13.在实施例中,基于第二音频提供转录(transcription)。
14.在实施例中,向与通信会话相关联的用户提供将提供第二音频的记录的通知。
15.在实施例中,在通信会话中提供第二音频是第二用户的可选选项。
16.在实施例中,在第一音频完成之后,第二音频优先于与通信会话相关联的用户的音频。
17.应当理解,根据附图和以下详细描述,所公开技术的许多其他特征、应用、实施例和/或变型将是明显的。可以在不脱离本技术的原理的情况下采用本文描述的结构、系统、非暂时性计算机可读介质和方法的附加和/或替代实现。
18.附图简述
19.图1示出了根据本技术的实施例的包括会议模块的示例系统。
20.图2示出了根据本技术的实施例的包括会议服务器的示例通信会话,在会议服务器中实现会议模块。
21.图3示出了根据本技术的实施例的示例功能框图。
22.图4a-图4f示出了根据本技术的实施例的示例界面。
23.图5示出根据本技术的实施例的示例方法。
24.图6示出了根据本技术的实施例的可以在各种场景中利用的包括示例社交网络系统的示例系统的网络图。
25.图7示出了根据本技术的实施例的可以在各种场景中利用的计算机系统或计算设备的示例。
26.附图仅出于说明的目的描绘了公开技术的各种实施例,其中附图使用相同的附图标记来标识相同的元素。本领域技术人员将从以下讨论容易地认识到,可以采用图中所示的结构和方法的替代实施例,而不脱离本文所描述的本技术的原理。
27.详细描述
28.如今,人们经常利用计算设备(或系统)用于各种各样的目的。例如,用户可以利用计算设备来访问社交网络系统或其他类型的通信平台。用户可以利用计算设备经由通信平台来彼此交互、共享内容项目和查看内容项目。在一些情况下,用户可以利用通信平台与其他用户进行通信会话,例如视频会议。
29.在传统方法下,用户可以通过社交网络系统或其他类型的通信平台与其他用户交互。例如,用户可以发起视频会议。其他用户可以加入视频会议。用户可以通过视频会议与其他用户通话。当用户讲话时,来自用户的音频以及视频被提供给其他用户。视频会议期间会出现各种问题。例如,在视频会议期间,多个用户可以同时讲话,或者另外以他们的语音彼此重叠的方式进行通信。在某些情况下,这种重叠语音(overlapping speech)可能是由技术问题引起的,例如减少的网络带宽和相关联的延迟。重叠语音对于视频会议中的参与者可能是无法理解的,并对视频会议期间的通信清晰度产生负面影响。因此,视频会议的传统方法面临关于重叠语音的问题。当更多的用户参与视频会议时,这些问题变得加剧并且频率增加,因为多个用户同时讲话的可能性随着用户的增加而增加。因此,传统方法带来了计算机技术中出现的这些和其他问题。
30.一种基于计算机技术的改进方法克服了计算机技术领域中特别出现的与传统方法相关联的前述和其他缺点。在各种实施例中,本技术提供了用于解决通信会话(例如,视频会议、音频会议等)中的重叠语音的方法。例如,会议服务器可以促进多个用户之间的通信会话。在通信会话中,与用户相关联的计算设备可以向会议服务器提供音频(例如,语音),并且会议服务器可以向通信会话中的其他用户的计算设备提供音频。在通信会话期间,与第一用户相关联的计算设备可以向会议服务器提供第一音频,并且与第二用户相关联的计算设备可以向会议服务器提供第二音频。第一音频可以在第一持续时间期间与第一用户的语音相关联。第二音频可以在第二持续时间期间与第二用户的语音相关联,该第二持续时间与第一持续时间相同或在某种程度上重叠。例如,第一用户和第二用户可以同时讲话。会议服务器可以基于第一音频在时间上与第二音频重叠来确定第一用户和第二用户在同时讲话。在一些情况下,会议服务器可以使第一用户或第二用户静音,以避免或最小化
重叠语音,并且以优化通信会话期间的通信清晰度。例如,第一用户可以在第二用户之前就开始讲话,并且在一个实现中,会议服务器可以基于第一用户在第二用户之前讲话来选择静音第二用户。例如,来自第二用户的音频可以被存储以用于在第一用户结束讲话之后稍后提供给通信会话中的其他用户。在其他实现中,如本文更详细讨论的,本技术还提供其他方法来基于例如用户信息、语音中反映的主题、通信会话的主题、与通信会话中的用户相关联的度量等来选择静音哪个用户。
31.在通信会话中,会议服务器可以实时或接近实时地向用户提供第一音频。会议服务器可以存储第二音频,而不是实时或接近实时地提供第二音频。在第一音频被提供给用户之后,会议服务器可以在通信会话中将存储的第二音频提供给用户。本技术还提供了用于提供与存储的第二音频相关联的内容的其他方法。例如,可以向用户提供第二音频的转录。通过在通信会话中向用户提供第一音频,然后向用户提供第二音频或其内容,可以处理和解决通信会话期间的重叠语音及其相关问题。下面提供了与本技术相关的更多细节。
32.图1示出了根据本技术的实施例的包括会议模块102的示例系统100。如图1的示例所示,会议模块102可以包括语音识别模块104、语音调节模块106和语音提供模块108。在一些情况下,示例系统100可以包括与会议模块102通信的至少一个数据储存器150。在该图和本文中所有图中示出的组件(例如,模块、元素等)仅是示例性的,并且其他实现可以包括附加的、更少的、集成的或不同的组件。一些组件可能没有被示出,以免模糊相关细节。在各种实施例中,结合语音识别模块104、语音调节模块106和语音提供模块108描述的一个或更多个功能可以以任何合适的组合来实现。虽然为了说明的目的,本文有时结合社交网络系统来讨论会议模块102,但是本技术的会议模块102可以用在或用于可以支持通信会话的任何其他类型的通信平台,诸如视频会议系统、音频会议系统等。例如,会议模块102可以在合适的服务器系统(诸如会议服务器)中实现。如本文更详细讨论的,会议模块102管理用户在通信会话中提供的音频,以增强通信清晰度。如本文讨论的,“音频”可以多方面地指代声音、用声音编码的信号(例如,数字信号)或代表声音的波形,这取决于参考的上下文。
33.在各种实施例中,会议模块102可以部分或全部实现为软件、硬件或其任意组合。通常,本文讨论的模块可以与软件、硬件或其任意组合相关联。在一些实施方式中,模块的一个或更多个功能、任务和/或操作可以由软件例程、软件过程、硬件和/或其任意组合来执行或进行。在一些情况下,会议模块102可以部分或全部实现为运行在一个或更多个计算设备或系统上的软件,诸如运行在服务器系统或客户端计算设备上。在一些情况下,会议模块102可以部分或全部在社交网络系统(或服务)(诸如图6的社交网络系统630)内实现,或者被配置为与社交网络系统(或服务)(诸如图6的社交网络系统630)结合或集成来操作。类似地,在一些情况下,会议模块102可以部分或全部实现在客户端计算设备(诸如图6的用户设备610)内,或者被配置为与客户端计算设备(诸如图6的用户设备610)结合或集成。例如,会议模块102可以作为在用户计算设备或客户端计算系统上运行的专用应用(例如,应用)、程序或小程序被实现或在它们内被实现。结合或实现用于执行会议模块102的功能的指令的应用可以由开发者创建。应用可以提供给储存库或在储存库中维护。在某些情况下,应用可以通过网络(例如,互联网)上传或以其他方式传输到储存库。例如,与应用的开发者相关联或在其控制下的计算系统(例如,服务器)可以向储存库提供或传输应用。储存库可以包括例如“应用”商店,其中可以维护应用以供用户访问或下载。响应于用户下载应用的命令,可
以通过网络将应用从储存库提供给或以其他方式传输到与用户相关联的计算设备。例如,与储存库的管理者相关联或在其控制下的计算系统(例如,服务器)可以使或允许应用被传输到用户的计算设备,使得用户可以安装并运行该应用。应用的开发者和储存库的管理者在某些情况下可以是不同的实体,但在其他情况下可以是相同的实体。应该理解,许多变型是可能的。
34.会议模块102可以被配置为与数据储存器150通信和/或操作,如示例系统100所示。数据储存器150可以被配置为存储和维护各种类型的数据。在一些实现中,数据储存器150可以存储与社交网络系统(例如,图6的社交网络系统630)相关联的信息。与社交网络系统相关联的信息可以包括关于用户的数据、用户标识符、社交关连(connection)、社交互动、简档信息、人口统计学信息、位置、地理围栏区域(geo-fenced areas)、地图、地点、事件、页面、群组、帖子、通信、内容、信息流(feed)、账户设置、隐私设置、社交图以及各种其他类型的数据。在一些实施例中,数据储存器150可以存储会议模块102利用的信息。例如,数据储存器150可以存储与视频会议相关联的信息。设想了可以有许多变型或其他可能性。
35.在各种实施例中,语音识别模块104可以从由与通信会话中的用户相关联的计算设备提供的数据(例如,通信信号)中提取音频信息。数据可以包含其他类型的信息,诸如视频信息。语音识别模块104可以确定用户提供的音频是否包括用户所说的语音。用户在通信会话期间提供的音频可以包括用户所说的语音以及来自其他来源的音频(例如,背景噪声、环境噪声等)。在某些情况下,用户提供的音频不包括用户的语音,而是只包括来自其他来源的音频。当音频的音频幅度(例如音量)满足阈值音频幅度时,音频可以被确定为包括语音。当音频的音频幅度不满足阈值音频幅度时,音频可以被确定为不包括语音。作为一个示例,阈值音频幅度可以基于预定时间量的音频的音频幅度的平均值。预定时间量的音频幅度的平均值可以与用户何时不在讲话相关联,并且可以包括例如背景噪声。在一些实施例中,语音识别模块104可以基于与音频相关联的信噪比来确定用户提供的音频包括语音。许多变型是可能的。
36.语音识别模块104可以基于话音分类器(voice classifier)确定用户提供的音频包括语音。话音分类器可以被训练以区分语音和其他声音。话音分类器可以应用于音频,以生成分数,该分数与音频包括语音的可能性相关联。基于满足阈值分数的分数,音频可以被确定为包括语音,该阈值分数与关于音频中包括语音的所选置信水平相关。可以基于训练数据来训练话音分类器,该训练数据包括例如语音的音频和其他声音的音频以及对应的标签。话音分类器的正训练数据(positive training data)可以包括语音的音频,负训练数据(negative training data)可以包括其他声音的音频。一旦被训练,话音分类器可以应用于音频,以基于音频包括语音的可能性来生成分数。例如,在通信会话期间,可以从通信会话中的多个用户接收音频。来自每个用户的音频可以被采样,并且话音分类器可以应用于每个音频样本。话音分类器可以针对与音频样本包括语音的可能性相关联的每个音频样本生成分数。其分数满足阈值分数的音频样本可以被确定为包括语音。
37.在一些情况下,语音识别模块104可以基于与音频相关联的视频来确定用户提供的音频包括语音。可以基于视觉信号来确定用户是否正在讲话,诸如用户的身体运动是否指示语音。语音识别模块104可以基于视觉分类器识别和分析视频中用户的身体运动。基于视频中用户的身体运动,视觉分类器可以生成指示该运动对应于用户讲话的可能性的分
数。当分数满足阈值分数时,可以确定用户正在讲话。可以基于训练数据来训练视觉分类器,该训练数据包括例如正在讲话和不在讲话时人体或其部分(例如嘴)的图像和视频连同相关联的标签。正训练数据可以包括正在讲话(例如,嘴巴运动、手势等)时人体的图像和视频。负训练数据可以包括人体执行非讲话动作(例如,微笑、皱眉等)的图像和视频或者没有动作。许多变型是可能的。一旦被训练,视觉分类器就可以应用于视频,以生成指示输入视频描述用户讲话的可能性的分数。
38.语音识别模块104可以基于本文描述的方法,单独地或组合地确定用户是否在通信会话期间正在讲话。通过确定用户是否在通信会话期间正在讲话,可以识别何时多个用户同时在讲话或者何时他们的讲话以其他方式重叠的实例。
39.在各种实施例中,语音调节模块106可以管理来自通信会话中的多个用户的音频。在通信会话期间,可以从多个用户接收包含语音的音频。来自多个用户的音频可以与时间信息相关联。来自每个用户的音频的时间信息可以指示音频出现的持续时间。例如,表示音频的信号可以被划分成具有定义音频的持续时间的时间戳的帧。语音调节模块106可以分析来自不同用户的音频的持续时间,并且基于不同用户的持续时间在时间上重叠,确定不同用户的语音重叠。
40.响应于确定通信会话中不同用户的重叠语音,语音调节模块106可以选择性地使用户的音频在通信会话中实时(或接近实时)提供给其他用户,或者使用户的音频静音。例如,通信会话中的第一用户可以讲话,并且当第一用户正在讲话时,通信会话中的第二用户也可以讲话。语音调节模块106可以从第一用户接收第一音频,并且可以从第二用户接收第二音频。基于第一音频和第二音频的时间信息,语音调节模块106可以确定它们之间的语音重叠。语音调节模块106可以通过实时(或接近实时)向通信会话中的其他用户提供第一音频并延迟向其他用户提供第二音频来管理通信会话。在一些情况下,语音调节模块106可以存储第二音频,并且在完成向其他用户传输第一音频之后,向其他用户提供第二音频。例如,在没有检测到第一音频中的语音的情况下过去了阈值量时间之后,可以确定第一音频完成。
41.响应于重叠语音的确定,语音调节模块106可以基于与用户何时提供音频相关联的时间来在通信会话中选择用户以静音。与何时提供音频相关联的时间可以基于与用户何时提供音频相关联的时间戳。例如,与何时提供音频相关联的时间可以基于例如会议服务器或管理通信会话的其他服务器系统何时接收到音频。提供与一时间相关联的音频的用户可以被选择以被静音,该时间比与另一用户何时提供音频相关联的时间晚。只要其他用户正在提供音频,用户就可以被静音。例如,第一用户可以讲话,并且与第一用户的语音相关联的第一音频可以由语音调节模块106接收。在第一用户正在讲话的同时,第二用户可以讲话,并且与第二用户的语音相关联的第二音频可以由语音调节模块106接收。第一音频可以与会议服务器接收第一音频的第一时间相关联。第二音频可以与会议服务器接收第二音频的第二时间相关联。在本示例中,第一时间可以早于第二时间。基于第一时间和第二时间的时间顺序(chronology),会议服务器可以使第一音频被实时提供,并且在通信会话中延迟向其他用户提供第二音频。
42.语音调节模块106可以基于与用户相关联的用户信息来选择用户以静音。用户信息可以指示例如用户是专家的主题、用户的角色(例如,会议主持人、主要讲话者、部门主管
等)或与用户相关联的其他属性。基于用户信息,一个用户提供的音频可以优先于另一个用户提供的音频。例如,参与通信会话的用户可以是被邀请到通信会话来向其他用户提供关于主题的信息的讲话者。与讲话者相关联的用户信息可以指示讲话者是该主题的专家并且是被邀请的讲话者。基于用户信息,语音调节模块106可以使讲话者提供的音频优先于其他用户提供的音频。在通信会话期间的某个时刻,讲话者和另一个用户可能都在大致相同的时间讲话。在这种情况下,来自讲话者的音频可以被实时提供给其他用户,而来自其他用户的音频的提供可以被延迟。
43.语音调节模块106可以基于用户提供的音频中包括的语音来选择用户以静音。用户提供的音频中包括的语音可以指示与该语音相关联的主题。主题可以基于例如在语音中包括的关键词或其他自然语言处理技术来确定。由该用户和其他用户提供的音频中的语音也可以指示与通信会话中的讨论或对话相关联的主题。语音调节模块106可以确定与通信会话中的讨论相关联的主题,并且确定与用户提供的音频中包括的语音相关联的主题。语音调节模块106可以基于与语音相关联的主题和与讨论相关联的主题使用户提供的音频优先或静音。包括与主题(该主题与关联于讨论的主题更密切相关)相关联的语音的音频可以优先于包括与主题(该主题与关联于讨论的主题不太密切相关)相关联的语音的音频。包括与主题(该主题与关联于讨论的主题不太密切相关)相关联的语音的音频可以被延迟以有利于包括与主题(该主题与关联于讨论的主题更密切相关)相关联的语音的音频。例如,在通信会话期间,用户可以提供包括语音的音频。基于该语音,语音调节模块106可以确定通信会话中的讨论与特定主题相关联。在该示例中,第一用户可以讲话并提供第一音频,并且第二用户可以讲话并提供第二音频。语音调节模块106可以基于第一音频中包括的语音中识别的关键词来确定与第一音频相关联的第一主题。语音调节模块106可以基于第二音频中包括的语音中识别的关键词来确定与第二音频相关联的第二主题。语音调节模块106可以确定第一主题相比于第二主题与讨论的特定主题更密切相关。基于第一主题相比于第二主题与讨论的特定主题更密切相关,语音调节模块106可以使第一音频被提供给通信会话中的其他用户,并且延迟向通信会话中的其他用户提供第二音频。
44.语音调节模块106可以基于与通信会话相关联的度量或统计来选择用户以静音。在通信会话期间,可以基于例如用户讲话的频率、用户的总讲话时间(aggregate speaking time)、来自用户的音频优先于来自其他用户的音频的次数以及其他数据来维护度量。基于与通信会话相关联的度量,语音调节模块106可以使来自一些用户的音频优先于来自其他用户的音频。例如,以较低频率讲话、具有较低的总讲话时间或者与较低的优先于其他用户的次数相关联的用户可以优先于以较高频率讲话、具有较高的总讲话时间或者与较高的优先于其他用户的次数相关联的用户。来自以较高频率讲话、具有较高的总讲话时间或者与较高的优先于其他用户的次数相关联的另一用户的音频可以被静音,以有利于来自以较低频率讲话、具有较低的总讲话时间或者与较低的优先于其他用户的次数相关联的用户的音频。例如,第一用户可以以比通信会话中的其他用户更高的频率讲话。第一用户也可以比通信会话中的其他用户讲得更快,因此,在某些情况下,相比于其他用户已被优先的次数以更多的次数优先于其他用户。在通信会话中,第二用户可以以比其他用户更低的频率讲话,并且第二用户可以比其他用户说得更慢,因此比其他用户被优先的次数更少。在这个示例中,第一用户和第二用户都可以向服务器系统提供音频。当第一用户和第二用户的语音重叠
时,语音调节模块106可以基于与第二用户相关联的较低讲话频率和第二用户被优先的较少次数,使来自第二用户的音频优先于来自第一用户的音频。因此,来自第一个用户的音频的提供可以被延迟。作为另一个示例,在通信会话中,第一用户可可以比其他用户讲话持续相对更长的时间段。通过讲话持续更长时间段,第一用户可以比通信会话中的其他用户具有更长的总讲话时间。在通信会话中,第二用户可以比其他用户讲话持续相对较短的时间段,并且具有比其他用户更短的总讲话时间。在这个示例中,当来自第一用户的语音和来自第二用户的语音重叠时,来自第二用户的语音可以优先于来自第一用户的语音。这种能力有助于在通信会话中的各种用户之间实现相似的讲话时间量,这在各种环境和实现中(例如,与辩论相关联的通信会话,其中参与者应该具有相似或均等的讲话时间)是所希望的。
45.语音调节模块106可以基于机器学习方法选择要静音的用户或要优先的用户。语音调节模块106可以训练机器学习模型,并且在通信会话期间使用该机器学习模型来选择用户以静音或优先。机器学习模型可以基于训练数据来训练,该训练数据包括例如与通信会话中的用户相关联的用户信息(例如,用户属性)、与通信会话中的用户相关联的音频中的语音(例如,主题)以及与通信会话中参与的用户相关联的度量(例如,讲话频率、静音次数)。本文已经讨论了关于这种数据的附加细节。训练数据还可以包括来自通信会话中参与的用户的反馈。某些反馈可以指示用户被适当静音(或优先),而其他反馈可以指示用户没有被适当静音(或优先)。例如,正训练数据可以包括与以正反馈静音的用户相关联的训练数据,而负反馈数据可以包括与以负反馈静音的用户相关联的训练数据。一旦经过训练,机器学习模型可以在通信会话期间使用,以在有重叠语音时选择用户以静音。例如,机器学习模型可以基于与通信会话中的用户相关联的用户信息、与通信会话中的用户相关联的音频中的语音以及与通信会话中参与的用户相关联的度量来选择在通信会话中的用户以静音。在通信会话之后,包括被静音的用户在内的用户可以提供关于用户的静音是否合适的反馈。机器学习模型可以基于反馈进一步重新训练。许多变型是可能的。
46.语音调节模块106可以基于本文描述的方法、单独地或组合地选择一个或更多个用户以静音。例如,通信会话可以涉及就一个主题演讲的讲话者,以及对该主题感兴趣的用户。在通信会话期间,来自讲话者、第一用户和第二用户的音频中的重叠语音可以被提供给语音调节模块106。基于与讲话者相关联的、指示讲话者是该主题的专家的用户信息,来自讲话者的音频可以优先于来自第一用户的音频和来自第二用户的音频。例如,基于相比于与来自第二用户的音频被接收的时间相关联的较晚时间的、与来自第一用户的音频被接收的时间相关联的较早时间,来自第一用户的音频可以优先于来自第二用户的音频。在该示例中,在来自第一用户的音频和来自第二用户的音频之前,来自讲话者的音频被提供给通信会话中的其他用户。随后,在来自第二用户的音频之前,可以提供来自第一用户的音频。继续这个示例,在通信会话期间,第一用户可以问一个和主题不相关的(off-topic)问题。第二用户可以问和主题相关的(on-topic)问题。在该示例中,包括和主题不相关问题的音频可以与一时间相关联,该时间早于与包括和主题相关问题的音频相关联的时间。无论它们的时间顺序如何,来自第二用户的包括和主题相关问题的音频都可以优先于来自第一用户的包括和主题不相关问题的音频。因此,在通信会话中可以将来自第二用户的音频提供给其他用户,并且可以延迟来自第一用户的音频的提供。
47.在一些实施例中,语音调节模块106可以允许通信会话的管理者(例如,会议主持
人)或通信会话中的参与者在通信会话期间配置与用户的静音相关的偏好。例如,管理者或参与者可以被提供选项来选择本文描述的方法中的一个或任意组合,以应用关于用户的静音的偏好或规则。作为另一个示例,管理者或参与者可以被提供选项来定义通信会话中的一些或所有用户的层级,使得层级较高的用户的语音优先于层级较低的另一用户的语音。许多变型是可能的。
48.在各种实施例中,语音提供模块108可以提供用于从已经静音的用户提供音频的选项。当用户已经被静音时,语音提供模块108可以向用户提供通知,指示用户已经被静音以避免重叠语音。通知可以包括用于将来自用户的音频提供给通信会话中的其他用户的选项。选项可以包括存储音频的记录。当来自优先于该用户的另一用户的音频完成时,可以将记录提供给通信会话中的其他用户。在一些情况下,该记录可以以提高的回放速度(例如,1.5x、2x、3x等)来提供。提供给用户的通知也可以提供记录的预览。通知中的选项还可以包括提供音频的转录。在通信会话中,例如可以在聊天或在指定用于用户之间的消息交换的用户界面的其他区域中提供转录。提供给用户的通知也可以提供转录的预览。通知中的选项还可以包括向用户提供优先级,以便接下来可以听到用户。当来自优先于该用户的另一用户的音频完成时,该用户将具有讲话的优先级。如果另一个用户在该用户正在讲话时提供额外的音频,则另一个用户将被静音。
49.当通信会话中的用户已经静音时,语音提供模块108可以向通信会话中的其他用户提供通知,以指示该用户已经静音,并指示该用户选择的用于提供来自用户的音频的选项。例如,在通信会话中重叠语音的情况下,用户可以被静音有利于优先于该用户的另一用户。来自该用户的音频可以被存储。用户可以被提供指示该用户被静音的通知。通知可以包括与存储的音频相关联的选项。在该示例中,在优先于该用户的用户结束讲话之后,该用户可以选择使存储的音频回放给通信会话中的其他用户的选项。通信会话中的其他用户可以被提供同时通知(contemporaneous notification),指示该用户被静音并且将提供来自该用户的音频记录。当优先于该用户的用户结束讲话时,可以将记录提供给其他用户。许多变型是可能的。
50.图2示出了根据本技术的实施例的示例系统200。示例系统200示出了由会议服务器214托管的示例通信会话,会议服务器214可以实现图1的会议模块102的功能。应当理解的是,除非另有说明,否则基于本文所讨论的各种特征和实施例,可以存在以类似的或可替代的顺序或并行地执行的附加的、更少的或可替代的步骤。
51.在示例系统200中,与第一用户相关联的第一设备202、与第二用户相关联的第二设备206以及与第三用户相关联的第三设备210参与通信会话,诸如视频会议。尽管第一设备202、第二设备206和第三设备210分别被示为膝上型计算机、移动(智能)电话和台式计算机,但是本技术应用于用户可以用来参与通信会话的任何类型的计算系统或设备的任何组合。第一设备202、第二设备206和第三设备210经由网络250与会议服务器214通信。第一设备202、第二设备206和第三设备210可以分别向会议服务器214提供来自第一用户、第二用户和第三用户的音频和视频。通过会议服务器214,每个设备还可以从视频会议中的其他设备接收音频和视频。如本文所讨论的,会议服务器214可以通过应用各种方法来管理视频会议,以在用户和通信会话中另一用户之间的重叠语音确定之后选择性地静音用户。本文的所有示例都是为了说明的目的而提供的,并且可以有许多变型和其他可能性。
52.图3示出了根据本技术的实施例的示例功能框图300。示例功能框图300示出了可以由图1的会议模块102促成的视频会议。应当理解的是,除非另有说明,否则基于本文所讨论的各种特征和实施例,可以存在以类似的或可替代的顺序或并行地执行的附加的、更少的或可替代的步骤。
53.在示例框图300中,第一设备302、第二设备306和第三设备310参与通信会话,诸如视频会议。通信会话可以由会议服务器314管理,其中可以实现会议模块102。在通信会话期间,第一设备302可以通过第一界面304向会议服务器314提供第一音频320。第二设备306可以通过第二界面308向会议服务器314提供第二音频322。会议服务器314可以确定第一音频320和第二音频322包含语音并且在时间上重叠。因此,会议服务器314可以使第一音频320优先于第二音频322。第一音频320优先于第二音频322可以基于本文讨论的各种方法,诸如主题相似性。例如,可以确定与在第一音频320中包括的语音相关联的主题、与在第二音频322中包括的语音相关联的主题以及与通信会话相关联的对话的主题。在确定第一音频320比第二音频322更典型地类似于或相关于与通信会话相关联的对话的主题之后,第一音频320可以优先于第二音频322。基于第一音频320优先于第二音频322,会议服务器314向第二设备306和第三设备310提供第一音频320。第二设备306的第二界面308相应地显示与第一音频320相关联的用户,并输出第一音频320。第三设备310的第三界面312相应地显示与第一音频320相关联的用户,并输出第一音频320。会议服务器314可以将第二音频322存储为记录的第二音频324,而不是立即将第二音频322提供给第一设备302和第三设备310。在第一音频320被提供给第二设备306和第三设备310之后,会议服务器314可以将记录的第二音频324提供给第一设备302、第二设备306和第三设备310。本文的所有示例都是为了说明的目的提供的,可以有许多变型和其他可能性。
54.图4a-图4f示出了根据本技术实施例的由与参与通信会话的用户相关联的计算设备生成的示例界面。示例界面可以与由图1的会议模块102执行的一个或更多个功能相关联。应当理解的是,除非另有说明,否则基于本文所讨论的各种特征和实施例,可以存在以类似的或可替代的顺序或并行地执行的附加的、更少的或可替代的步骤。
55.图4a示出了根据本技术实施例的示例界面400。示例界面400显示与通信会话(例如,视频会议)相关联的各种元素。示例界面400可以包括参与通信会话的用户402。示例界面400还可以包括与通信会话中正在讲话的用户相关联的视频404。示例界面400还可以包括聊天418。示例界面400还可以包括用于向聊天418键入消息的文本输入框420。示例界面400可以呈现给被静音的用户。基于用户被静音,示例界面400包括指示用户被静音的通知406。通知406可以包括第一选项408,以播放稍后在通信会话中(例如,在当前讲话者结束讲话之后)提供的用户的音频记录。通知406可以包括第一按钮414,以收听音频记录的预览。通知406还可以包括第二选项410,以转录所提供的用户的音频并将转录提供给聊天418。通知406可以包括第二按钮416,以查看转录的预览。通知406还可以包括第三选项412,以不播放记录且不提供转录。
56.图4b示出了根据本技术实施例的示例界面430。在一些情况下,响应于用户对图4a中的第一选项408的选择可以提供示例界面430,以播放用户提供的音频记录。示例界面430可以呈现给被静音的用户。在该示例中,示例界面430提供正在进行的通信会话的视频432。示例界面430还包括通知434,通知434指示由用户提供的音频记录将为通信会话中的其他
用户播放。通知434包括按钮440,以收听音频记录的预览。通知434包括第一选项436,以确认为通信会话中的其他用户播放由该用户提供的音频记录。通知434还包括第二选项438,以拒绝播放音频记录。
57.图4c示出了根据本技术实施例的示例界面440。在一些情况下,响应于用户对图4b中的第一选项436的选择可以提供示例界面440,以播放用户提供的音频记录。示例界面430可以提供给与用户的通信会话中的其他用户。在该示例中,示例界面430可以包括正在进行的通信会话的视频442。示例界面430可以包括通知444,通知444指示用户被静音并且将播放用户提供的音频记录。
58.图4d示出了根据本技术实施例的示例界面450。在一些情况下,响应于用户对图4a中的第二选项410的选择可以提供示例界面450,以转录用户提供的音频并在聊天中提供转录。示例界面450可以呈现给被静音的用户。在该示例中,示例界面450提供正在进行的通信会话的视频452。示例界面450还包括通知454,通知454指示由用户提供的音频的转录将在聊天中提供。通知454包括用户提供的音频转录的预览456。通知454包括第一选项458,以确认在聊天中提供转录的决定。通知454还包括第二选项460以拒绝在聊天中提供转录。
59.图4e示出了根据本技术实施例的示例界面470。在一些情况下,响应于用户对图4d中的第一选项458的选择可以提供示例界面470,以转录用户提供的音频并在聊天476中提供转录。示例界面470可以提供给与用户的通信会话中的其他用户。在该示例中,示例界面470可以包括正在进行的通信会话的视频472。示例界面470可以包括通知474,通知474指示用户被静音,并且由用户提供的音频的转录478已经在聊天476中提供。音频的转录478在聊天476中提供。
60.图4f示出了根据本技术实施例的示例界面480。在一些情况下,响应于用户对图4a中的第三选项412的选择可以提供示例界面480,以不播放用户提供的音频记录并且不提供音频的转录。示例界面480可以提供给与用户的通信会话中的其他用户。在该示例中,用户可以在当前讲话者结束讲话后优先讲话。示例界面480可以包括正在进行的通信会话的视频482。示例界面480可以包括通知484,通知484指示用户被静音,并且在当前讲话者结束讲话之后将优先讲话。本文的所有示例都是为了说明的目的而提供的,可以有许多变型和其他可能性。
61.图5示出了根据本技术实施例的示例方法500。应当理解的是,除非另有说明,否则基于本文所讨论的各种特征和实施例,可以存在以类似的或可替代的顺序或并行地执行的附加的、更少的或可替代的步骤。在框502处,示例方法500确定与第一用户相关联的第一音频和与第二用户相关联的第二音频,第一用户和第二用户与通信会话相关联。在框504处,示例方法500基于第一音频和第二音频重叠的确定来静音第二音频。在框506处,示例方法500基于第一音频的完成来提供第二音频。
62.可以设想,可以存在与本技术的各种实施例相关联的许多其它用途、应用和/或变型。例如,在某些情况下,用户可以选择是否选择利用本技术。本技术还可以确保维护各种隐私设置和偏好,并且可以防止私人信息被泄露。在另一个示例中,本技术的各种实施例可以随着时间而学习、改进和/或完善。
63.社交网络系统-示例实现
64.图6示出了根据本技术实施例的可以在各种场景中利用的示例系统600的网络图。
系统600包括一个或更多个用户设备610、一个或更多个外部系统620、社交网络系统(或服务)630和网络650。在实施例中,结合上述实施例讨论的社交网络服务、提供商和/或系统可以被实现为社交网络系统630。出于说明的目的,图6示出的系统600的实施例包括单个外部系统620和单个用户设备610。然而,在其他实施例中,系统600可以包括更多用户设备610和/或更多外部系统620。在某些实施例中,社交网络系统630由社交网络提供商操作,而外部系统620与社交网络系统630分离,因为它们可以由不同的实体操作。然而,在各种实施例中,社交网络系统630和外部系统620结合操作以向社交网络系统630的用户(或成员)提供社交网络服务。在这个意义上,社交网络系统630提供平台或主干网,其他系统(诸如外部系统620)可以使用该平台或主干网来跨互联网向用户提供社交网络服务和功能。
65.用户设备610包括一个或更多个计算设备,其可以接收来自用户的输入,并经由网络650发送和接收数据。在一个实施例中,用户设备610是执行例如微软windows兼容操作系统(os)、苹果os x和/或linux发行版的传统计算机系统。在另一个实施例中,用户设备610可以是具有计算机功能的设备,诸如智能电话、平板电脑、个人数字助理(pda)、移动电话等。用户设备610被配置成经由网络650通信。用户设备610可以执行应用,例如,允许用户设备610的用户与社交网络系统630交互的浏览器应用。在另一个实施例中,用户设备610通过由用户设备610的本地(native)操作系统(例如ios和android)提供的应用编程接口(api)与社交网络系统630交互。用户设备610被配置为使用有线和/或无线通信系统经由网络650与外部系统620和社交网络系统630通信,网络650可以包括局域网和/或广域网的任意组合。
66.在一个实施例中,网络650使用标准通信技术和协议。因此,网络650可以包括使用诸如以太网、802.11、全球微波接入互操作性(wimax)、3g、4g、cdma、gsm、lte、数字用户线路(dsl)等等的技术的链路。类似地,在网络650上使用的网络协议可以包括多协议标签交换(mpls)、传输控制协议/因特网协议(tcp/ip)、用户数据报协议(udp)、超文本传输协议(http)、简单邮件传输协议(smtp)、文件传输协议(ftp)等。通过网络650交换的数据可以使用包括超文本标记语言(html)和可扩展标记语言(xml)的技术和/或格式来表示。此外,所有或一些链路可以使用诸如安全套接字层(ssl)、传输层安全(tls)和互联网协议安全(ipsec)的常规加密技术进行加密。
67.在一个实施例中,用户设备610可以通过使用浏览器应用612处理从外部系统620和从社交网络系统630接收的标记语言文档614来显示来自外部系统620和/或社交网络系统630的内容。标记语言文档614标识内容和描述内容的格式化或呈现的一个或更多个指令。通过执行标记语言文档614中包括的指令,浏览器应用612使用标记语言文档614所描述的格式或呈现来显示识别的内容。例如,标记语言文档614包括用于生成和显示具有多个框架的网页的指令,该网页包括从外部系统620和社交网络系统630检索的文本和/或图像数据。在各种实施例中,标记语言文档614包括数据文件,该数据文件包括可扩展标记语言(xml)数据、可扩展超文本标记语言(xhtml)数据或其他标记语言数据。附加地,标记语言文档614可以包括javascript对象符号(json)数据、带有填充的json(jsonp)和javascript数据,以有助于外部系统620和用户设备610之间的数据交换。用户设备610上的浏览器应用612可以使用javascript编译器以解码标记语言文档614。
68.标记语言文档614还可以包括或链接到应用或应用框架,诸如flash
tm
或unity
tm

用、silverlight
tm
应用框架等。
69.在一个实施例中,用户设备610还包括一个或更多个cookie 616,cookie 616包括指示用户设备610的用户是否登录到社交网络系统630的数据,这可以使得可以修改从社交网络系统630传送到用户设备610的数据。
70.外部系统620包括一个或更多个web服务器,该web服务器包括一个或更多个网页622a、622b,这些网页使用网络650传送到用户设备610。外部系统620与社交网络系统630分离。例如,外部系统620与第一域相关联,而社交网络系统630与单独的社交网络域相关联。在外部系统620中包括的网页622a、622b包括标记语言文档614,标记语言文档614识别内容并且包括指定识别的内容的格式化或呈现的指令。
71.社交网络系统630包括社交网络的一个或更多个计算设备,该社交网络包括多个用户,并向社交网络的用户提供与社交网络的其他用户通信和交互的能力。在一些情况下,社交网络可以由图来表示,即,包括边和节点的数据结构。其他数据结构也可以用于表示社交网络,包括但不限于数据库、对象、类、元元素、文件或任何其他数据结构。社交网络系统630可以由操作者施用、管理或控制。社交网络系统630的操作者可以是人类、自动化应用或用于在社交网络系统630内管理内容、调节策略和收集使用度量的一系列应用。可以使用任何类型的操作者。
72.用户可以加入社交网络系统630,然后向他们希望关连(connect)的社交网络系统630的任何数量的其他用户添加连接。如本文所使用的,术语“朋友”指社交网络系统630中的用户已经经由社交网络系统630与其形成关连(connection)、关联(association)或关系的任何其他用户。例如,在实施例中,如果社交网络系统630中的用户被表示为社交图中的节点,则术语“朋友”可以指在两个用户节点之间形成并直接连接两个用户节点的边。
73.关连可以由用户明确添加,或者可以由社交网络系统630基于用户的共同特征(例如,作为同一教育机构的校友的用户)自动创建。例如,第一用户特别选择特定的其他用户作为朋友。社交网络系统630中的关连通常是双向的,但不是必须的,因此术语“用户”和“朋友”取决于参考系。社交网络系统630的用户之间的关连通常是双边的(“双向的”)或“相互的”,但是关连也可以是单边的或“单向的”。例如,如果bob和joe都是社交网络系统630的用户并且彼此关连,则bob和joe是彼此的关连。另一方面,如果bob希望关连到joe以查看由joe传送到社交网络系统630的数据,但是joe不希望形成相互关连,则可以建立单边关连。用户之间的关连可以是直接关连;然而,社交网络系统630的一些实施例允许经由一个或更多个级别的关连或分离度来间接关连。
74.除了建立和维护用户之间的关连并允许用户之间的交互之外,社交网络系统630还为用户提供了对社交网络系统630支持的各种类型的项目采取动作的能力。这些项目可以包括社交网络系统630的用户可能属于的群组或网络(即,人、实体和概念的社交网络)、用户可能感兴趣的事件或日历条目、用户可以经由社交网络系统630使用的基于计算机的应用、允许用户经由由社交网络系统630或通过社交网络系统630提供的服务来购买或出售项目的交易以及用户可以在社交网络系统630上或社交网络系统630外执行的与广告的交互。这些只是用户可以在社交网络系统630上操作的项目的几个示例,并且许多其他的是可能的。用户可以与可以在社交网络系统630或外部系统620中表示的、与社交网络系统630分离的或者经由网络650耦合到社交网络系统630的任何事物进行交互。
75.社交网络系统630还可以链接各种实体。例如,社交网络系统630使得用户可以通过api、web服务或其他通信渠道相互交互以及与外部系统620或其他实体交互。社交网络系统630生成并维护包括由多条边互连的多个节点的“社交图”。社交图中的每个节点可以表示可以作用于另一个节点和/或可以由另一个节点作用的实体。社交图可以包括各种类型的节点。节点类型的示例包括用户、非个人实体、内容项目、网页、群组、活动、消息、概念以及可以由社交网络系统630中的对象表示的任何其他事物。社交图中两个节点之间的边可以表示两个节点之间的特定类型的关连或关联,这可能是由节点关系或由节点中的一个节点对另一个节点执行的动作导致的。在某些情况下,可以对节点之间的边进行加权。边的权重可以表示与该边相关联的属性,诸如节点之间的关连或关联的强度。不同类型的边可以具有不同的权重。例如,当一个用户“赞(like)”另一个用户时创建的边可以被赋予一个权重,而当一个用户与另一个用户成为朋友(befriend)时创建的边可以被赋予不同的权重。
76.作为示例,当第一用户将第二用户识别为朋友时,社交图中的边被生成来连接表示第一用户的节点和表示第二用户的第二节点。由于各种节点相互关联或交互,因此社交网络系统630修改连接各种节点的边以反映关系和交互。
77.社交网络系统630还包括用户生成的内容,这增强了与社交网络系统630的用户的交互。用户生成的内容可以包括用户可以添加、上传、发送或“发布”到社交网络系统630的任何内容。例如,用户从用户设备610向社交网络系统630传送帖子。帖子可以包括诸如状态更新或其他文本数据的数据、位置信息、图像(诸如照片)、视频、链接、音乐或其他类似的数据和/或媒体。内容也可以由第三方添加到社交网络系统630。内容“项目”在社交网络系统630中被表示为对象。以这种方式,社交网络系统630的用户被鼓励通过各种通信渠道发布各种类型媒体的文本和内容项目以彼此通信。这种通信增加了用户彼此之间的交互,并增加了用户与社交网络系统630交互的频率。
78.社交网络系统630包括web服务器632、api请求服务器634、用户简档储存器636、关连储存器638、动作记录器640、活动日志642和授权服务器644。在本发明的实施例中,社交网络系统630可以包括用于各种应用的附加的、更少的或不同的组件。未示出诸如网络接口、安全机构、负载平衡器、故障转移服务器、管理和网络操作控制台等其他组件,以免模糊系统的细节。
79.用户简档储存器636维护关于用户账户的信息,包括简介、人口统计和其他类型的描述性信息,诸如工作经历、教育历史、爱好或偏好、位置等,其已经由用户声明或由社交网络系统630推断。该信息被存储在用户简档储存器636中,使得每个用户被唯一地标识。社交网络系统630还在关连储存器638中存储描述不同用户之间的一个或更多个关连的数据。关连信息可以指示具有相似或共同工作经历、群组成员资格、爱好或教育历史的用户。附加地,社交网络系统630包括不同用户之间的用户定义的关连,允许用户指定他们与其他用户的关系。例如,用户定义的关连允许用户生成与其他用户的关系,这些关系与用户的现实生活关系类似,诸如朋友、同事、合作伙伴等。用户可以从预定义的关连类型中进行选择,或者根据需要定义他们自己的关连类型。与社交网络系统630中的其他节点(诸如非个人实体、存储桶(bucket)、集群中心、图像、兴趣、页面、外部系统、概念等)的关连也存储在关连储存器638中。
80.社交网络系统630维护关于用户可以与之交互的对象的数据。为了维护该数据,用
户简档储存器636和关连储存器638存储由社交网络系统630维护的对象的对应类型的实例。每种对象类型具有适合存储适合该对象的类型的信息的信息字段。例如,用户简档储存器636包含具有适于描述用户账户和与用户账户相关的信息的字段的数据结构。当创建特定类型的新对象时,社交网络系统630初始化对应类型的新数据结构,为其分配唯一的对象标识符,并根据需要开始向对象添加数据。这可能发生在例如当用户成为社交网络系统630的用户时,社交网络系统630在用户简档储存器636中生成用户简档的新实例,向用户账户分配唯一标识符,并开始用用户提供的信息填充用户账户的字段。
81.关连储存器638包括适于描述用户与其他用户的关连、与外部系统620的关连或与其他实体的关连的数据结构。关连储存器638还可以将关连类型与用户的关连相关联,这可以结合用户的隐私设置来使用,以调节对关于用户的信息的访问。在本发明的实施例中,用户简档储存器636和关连储存器638可以被实现为联合数据库。
82.存储在关连储存器638、用户简档储存器636和活动日志642中的数据使得社交网络系统630可以生成社交图,该社交图使用节点以识别各种对象,并且使用连接节点的边以识别不同对象之间的关系。例如,如果第一用户建立与社交网络系统630中的第二用户的关连,则来自用户简档储存器636的第一用户和第二用户的用户账户可以充当社交图中的节点。由关连储存器638存储的第一用户和第二用户之间的关连是与第一用户和第二用户相关联的节点之间的边。继续该示例,第二用户然后可以在社交网络系统630内向第一用户发送消息。发送可以被存储的消息的动作是社交图中表示第一用户和第二用户的两个节点之间的另一条边。附加地,消息本身可以被识别并包括在社交图中,作为连接到表示第一用户和第二用户的节点的另一个节点。
83.在另一示例中,第一用户可以在社交网络系统630维护的图像中(或者,可替代地,在社交网络系统630之外的另一系统维护的图像中)标记第二用户。图像本身可以被表示为社交网络系统630中的节点。该标记动作可以在第一用户和第二用户之间创建边,以及在每个用户和图像之间创建边,图像也是社交图中的节点。在又一示例中,如果用户确认参加事件,则用户和事件是从用户简档储存器636获得的节点,其中事件的出席是可以从活动日志642检索的节点之间的边。通过生成和维护社交图,社交网络系统630包括描述许多不同类型的对象以及这些对象之间的交互和关连的数据,提供了丰富的社交相关信息来源。
84.web服务器632经由网络650将社交网络系统630链接到一个或更多个用户设备610和/或一个或更多个外部系统620。web服务器632提供网页以及其他与网络相关的内容,诸如java、javascript、flash、xml等。web服务器632可以包括邮件服务器或其他消息传递功能,以用于在社交网络系统630和一个或更多个用户设备610之间接收和路由消息。消息可以是即时消息、排队消息(例如,电子邮件)、文本和sms消息或任何其他合适的消息格式。
85.api请求服务器634允许一个或更多个外部系统620和用户设备610通过调用一个或更多个api功能从社交网络系统630调用访问信息。api请求服务器634还可以允许外部系统620通过调用api向社交网络系统630发送信息。在一个实施例中,外部系统620经由网络650向社交网络系统630发送api请求,并且api请求服务器634接收api请求。api请求服务器634通过调用与api请求相关联的api来处理该请求,以生成适当的响应,api请求服务器634经由网络650将该响应传送给外部系统620。例如,响应于api请求,api请求服务器634收集与用户相关联的数据,诸如已经登录到外部系统620的用户的关连,并将收集的数据传送到
外部系统620。在另一实施例中,用户设备610以与外部系统620相同的方式经由api与社交网络系统630通信。
86.动作记录器640可以从web服务器632接收关于社交网络系统630上和/或社交网络系统630之外的用户动作的通信。动作记录器640利用关于用户动作的信息填充活动日志642,使得社交网络系统630可以发现其用户在社交网络系统630内和社交网络系统630外采取的各种动作。特定用户采取的关于社交网络系统630上的另一节点的任何动作可以通过活动日志642或类似数据库或其他数据储存库中维护的信息与每个用户的账户相关联。用户在社交网络系统630内采取的被识别和存储的动作的示例可以例如包括,添加到另一个用户的关连、向另一个用户发送消息、读取来自另一个用户的消息、查看与另一个用户相关联的内容、参加另一个用户发布的事件、发布图像、尝试发布图像或者与另一个用户或另一个对象交互的其他动作。当用户在社交网络系统630内采取动作时,该动作被记录在活动日志642中。在一个实施例中,社交网络系统630将活动日志642维护为条目数据库。当在社交网络系统630内采取动作时,该动作的条目被添加到活动日志642。活动日志642可以被称为动作日志。
87.附加地,用户动作可以与发生在社交网络系统630之外的实体(诸如与社交网络系统630分离的外部系统620)内的概念和动作相关联。例如,动作记录器640可以从web服务器632接收描述与外部系统620的用户的交互的数据。在该示例中,外部系统620根据社交图中的结构化动作和对象来报告用户的交互。
88.用户与外部系统620交互的动作的其他示例包括用户表示对外部系统620或另一实体感兴趣、用户向社交网络系统630发布讨论外部系统620或外部系统620内的网页622a的评论、用户向社交网络系统630发布与外部系统620相关联的统一资源定位符(url)或其他标识符、用户参加与外部系统620相关联的事件或者用户的与外部系统620相关的任何其他动作。因此,活动日志642可以包括描述社交网络系统630的用户和与社交网络系统630分离的外部系统620之间的交互的动作。
89.授权服务器644实施社交网络系统630的用户的一个或更多个隐私设置。用户的隐私设置确定与用户相关联的特定信息可以如何被共享。隐私设置包括与用户相关联的特定信息的规范以及可以与其共享信息的一个或更多个实体的规范。可以与其共享信息的实体的示例可以包括其他用户、应用、外部系统620或任何可以潜在地访问信息的实体。可以由用户共享的信息包括用户账户信息,诸如简档照片、与用户相关联的电话号码、用户的关连、用户采取的动作(诸如添加关连、改变用户简档信息)等。
90.可以以不同的粒度级别提供隐私设置规范。例如,隐私设置可以标识要与其他用户共享的特定信息;隐私设置标识工作电话号码或一组特定的相关信息,诸如包括简档照片、家庭电话号码和状态的个人信息。可替代地,隐私设置可以应用于与用户相关联的所有信息。可以访问特定信息的实体集的规范也可以以不同的粒度级别指定。可以与其共享信息的各种实体集可以包括例如用户的所有朋友、朋友的所有朋友、所有应用或所有外部系统620。一个实施例允许实体集的规范包括实体的枚举。例如,用户可以提供被允许访问某些信息的外部系统620的列表。另一个实施例允许规范包括实体集以及不允许访问信息的例外。例如,用户可以允许所有外部系统620访问用户的工作信息,但是指定不允许访问工作信息的外部系统620的列表。某些实施例将不允许访问某些信息的例外列表称为“阻止列
表(block list)”。属于由用户指定的阻止列表的外部系统620被阻止访问隐私设置中指定的信息。信息规范的粒度和与其共享信息的实体规范的粒度的各种组合是可能的。例如,所有个人信息可以与朋友共享,而所有工作信息可以与朋友的朋友共享。
91.授权服务器644包含逻辑以确定与用户相关联的某些信息是否可以被用户的朋友、外部系统620和/或其他应用和实体访问。外部系统620可能需要来自授权服务器644的授权以访问用户的更私人和敏感的信息,诸如用户的工作电话号码。基于用户的隐私设置,授权服务器644确定是否允许另一用户、外部系统620、应用或另一实体访问与用户相关联的信息,包括关于用户采取的动作的信息。
92.在一些实施例中,社交网络系统630可以包括会议模块646。如本文更详细讨论的,会议模块646可以用会议模块102来实现。在各种实施例中,会议模块102的一些或全部功能可以附加地或替代地由用户设备610实现。应当理解,可以有许多变型或其他可能性。
93.硬件实现
94.前述过程和特征可以由各种各样的机器和计算机系统体系结构以及在各种各样的网络和计算环境中实现。图7示出了根据本发明的实施例的计算机系统700的示例,该计算机系统700可用于实现本文描述的一个或更多个实施例。计算机系统700包括用于使计算机系统700执行本文讨论的过程和特征的指令集。计算机系统700可以连接(例如,联网)到其他机器。在联网部署中,计算机系统700可以在客户端-服务器网络环境中作为服务器机器或客户端机器来操作,或者作为对等(或分布式)网络环境中的对等机器来操作。在本发明的实施例中,计算机系统700可以是社交网络系统630、用户设备610和外部系统620或其组件。在本发明的实施例中,计算机系统700可以是构成社交网络系统630的全部或一部分的众多服务器中的一个。
95.计算机系统700包括用于本文描述的过程和特征的处理器702、缓存704以及存储在计算机可读介质上的一个或更多个可执行模块和驱动器。附加地,计算机系统700包括高性能输入/输出(i/o)总线706和标准i/o总线708。主桥(host bridge)710将处理器702耦合到高性能i/o总线706,而i/o总线桥712将两条总线706和708彼此耦合。系统存储器714和一个或更多个网络接口716耦合到高性能i/o总线706。计算机系统700还可以包括视频存储器和耦合到视频存储器的显示设备(未示出)。大容量存储设备718和i/o端口720耦合到标准i/o总线708。计算机系统700可以可选地包括键盘和定点设备、显示设备或耦合到标准i/o总线708的其他输入/输出设备(未示出)。总的来说,这些元素旨在表示广泛类别的计算机硬件系统,包括但不限于基于加利福尼亚州santa clara的intel公司制造的x86兼容处理器、加利福尼亚州sunnyvale的超威半导体(amd)公司制造的x86兼容处理器以及任何其他合适的处理器的计算机系统。
96.操作系统管理和控制计算机系统700的操作,包括对软件应用(未示出)的数据输入和来自软件应用(未示出)的数据输出。操作系统提供在系统上执行的软件应用和系统的硬件组件之间的接口。可以使用任何合适的操作系统,诸如linux操作系统、从加利福尼亚州cupertino的苹果计算机公司可获得的apple macintosh操作系统、unix操作系统、macintosh操作系统、unix操作系统、操作系统、bsd操作系统等。其他实现是可能的。
97.将在下面更详细地描述计算机系统700的元件。特别地,网络接口716提供计算机系统700和诸如以太网(例如,ieee 802.3)网络、背板等任何广泛的网络之间的通信。大容
量存储设备718为数据和编程指令提供永久存储,以执行由上述各个计算系统实现的上述过程和特征,而系统存储器714(例如,dram)提供在由处理器702执行时的数据和编程指令临时存储。i/o端口720可以是一个或更多个串行和/或并行通信端口,其提供在可以耦合到计算机系统700的附加外围设备之间的通信。
98.计算机系统700可以包括各种系统架构,并且计算机系统700的各种组件可以被重新排列。例如,缓存704可以与处理器702一起在芯片上。可替代地,缓存704和处理器702可以封装在一起作为“处理器模块”,其中处理器702被称为“处理器核心”。此外,本发明的某些实施例可能既不需要也不包括所有上述组件。例如,耦合到标准i/o总线708的外围设备可以耦合到高性能i/o总线706。此外,在一些实施例中,可以只存在单个总线,计算机系统700的组件耦合到该单个总线。此外,计算机系统700可以包括附加组件,诸如附加处理器、存储设备或存储器。
99.一般来说,本文描述的过程和特征可以被实现为操作系统或特定应用、组件、程序、对象、模块或或被称为“程序”的一系列指令的一部分。例如,一个或更多个程序可以用于执行本文描述的特定进程。程序通常包括计算机系统700中的各种存储器和存储设备中的一个或更多个指令,当由一个或更多个处理器读取和执行时,这些指令使得计算机系统700执行操作以执行本文描述的过程和特征。本文描述的过程和特征可以用软件、固件、硬件(例如,专用集成电路)或其任意组合来实现。
100.在一个实现中,本文描述的过程和特征被实现为由计算机系统700在分布式计算环境中单独或共同运行的一系列可执行模块。前述模块可以通过硬件、存储在计算机可读介质(或机器可读介质)上的可执行模块或两者的组合来实现。例如,模块可以包括由硬件系统中的处理器(诸如处理器702)执行的多个指令或一系列指令。最初,该系列指令可以存储在存储设备上,诸如大容量存储设备718上。然而,该系列指令可以存储在任何合适的计算机可读存储介质上。此外,该系列指令不需要存储在本地,并且可以经由网络接口716从远程存储设备(诸如网络上的服务器)接收。指令从存储设备(诸如大容量存储设备718)复制到系统存储器714中,然后由处理器702访问和执行。在各种实现中,一个或更多个模块可以由一个或多个位置上的一个或多个处理器(诸如并行处理环境中的多个服务器)执行。
101.计算机可读介质的示例包括但不限于可记录类型的介质,诸如易失性和非易失性存储器设备;固态存储器;软盘和其他可移动磁盘;硬盘驱动器;磁性介质;光盘(例如,光盘只读存储器(cd rom)、数字多功能光盘(dvd));其他类似的非暂时性(或暂时性)、有形(或非有形)存储介质;或任何类型的介质,其适于存储、编码或携带用于由计算机系统700执行的一系列指令,以执行本文描述的任何一个或更多个过程和特征。
102.为了说明的目的,阐述了许多具体细节以便提供对本描述的透彻理解。然而,对于本领域技术人员明显的是,可以在没有这些具体细节的情况下实施本技术的实施例。在一些实例中,以框图形式示出模块、结构、过程、特征和设备,以避免使描述模糊。在其他实例中,功能框图和流程图被示为表示数据和逻辑流程。框图和流程图的组件(例如,模块、块、结构、设备、特征等)可以以不同于本文中明确描述和描绘的方式被不同地组合、分离、移除、重新排序和替换。
103.在本说明书中对“一个实施例”、“实施例”、“其它实施例”、“一系列实施例”、“一些实施例”、“各种实施例”等的引用是指,结合实施例描述的特定特征、设计、结构或特性被包
括在本技术的至少一个实施例中。例如,短语“在一个实施例中”或“在实施例中”在说明书中各个地方中的出现既不一定都指同一实施例,也并非是与其它实施例互斥的单独或供选择的实施例。此外,不管是否存在对“实施例”等的明确提及,都描述了各种特征,这些特征可以被不同地组合并包括在一些实施例中,但是在其他实施例中也可以被各种省略。类似地,描述了各种特征,其可以是对于一些实施例而不是其他实施例的优选或要求。
104.在本文中所使用的语言主要是为了可读性和指导性的目的而进行了选择,并且它可以不被选择为描写或限制本发明主题。因此,意图是,本发明的范围不是通过该详细描述而是通过在基于此的申请上发布的任何权利要求来限制。因此,本发明实施例的公开旨在是说明性的,而不是限制在所附权利要求中阐述的本发明的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1