CN116918314A - 电子会议 - Google Patents

电子会议 Download PDF

Info

Publication number
CN116918314A
CN116918314A CN202180092441.7A CN202180092441A CN116918314A CN 116918314 A CN116918314 A CN 116918314A CN 202180092441 A CN202180092441 A CN 202180092441A CN 116918314 A CN116918314 A CN 116918314A
Authority
CN
China
Prior art keywords
service
account
electronic device
link
alias
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
CN202180092441.7A
Other languages
English (en)
Inventor
N·M·勒都克
J·R·艾茨因
D·B·波莱克
G·S·G·查多克
A·A·伊斯坎德尔
H·何
N·J·塞科斯塔
刘旭东
张靖尧
吕颉
R·S·格里尔
E·T·加纳
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.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/485,277 external-priority patent/US20220247590A1/en
Application filed by Apple Inc filed Critical Apple Inc
Priority claimed from PCT/US2021/063225 external-priority patent/WO2022164523A1/en
Publication of CN116918314A publication Critical patent/CN116918314A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Telephonic Communication Services (AREA)

Abstract

本技术的各方面提供了对电子会议的安全、保护隐私的访问。在一个或多个具体实施中,电子设备可接收加入与第二设备的呼叫的请求,该请求包括统一资源定位符(URL)的分量。该电子设备可使用该分量来汇编该URL,并使用经汇编URL来加入该呼叫。

Description

电子会议
相关申请的交叉引用
本专利申请要求2021年1月29日提交的名称为“视频会议(Video Conferencing)”的美国临时专利申请号63/143,714和2021年5月15日提交的名称为“电子会议(ElectronicConferencing)”的美国临时专利申请号63/189,148的优先权的权益,这些专利申请中的每个专利申请的公开内容据此全文并入本文。
技术领域
本说明书整体涉及电子会议,包括例如使用电子设备对会议的安全、保护隐私的访问。
背景技术
视频会议允许远程位置的人们实时查看彼此传入的视频流。
附图说明
本主题技术的一些特征在所附权利要求书中予以阐述。然而,出于解释的目的,在以下附图中阐述了本主题技术的若干实施方案。
图1示出了根据一个或多个具体实施的用于电子会议的示例性网络环境。
图2示出了根据一个或多个具体实施的示出可以是会议会话中的参与者设备的示例性电子设备的各方面的示意图。
图3示出了根据一个或多个具体实施的示出在会议会话期间的参与者设备的示例的示意图。
图4示出了根据一个或多个具体实施的用于在具有会议应用程序版本的接收方设备处处理链路信息的示例性过程的流程图。
图5示出了根据一个或多个具体实施的用于在具有会议应用程序版本的接收方设备处处理链路信息的另一示例性过程的流程图。
图6示出了根据一个或多个具体实施的用于使用不具有会议应用程序的设备加入视频会议会话的示例性过程的流程图。
图7示出了根据一个或多个具体实施的示出电子设备从服务器请求服务特定别名的示意图。
图8示出了根据一个或多个具体实施的示出电子设备从服务器接收服务特定别名的示意图。
图9示出了根据一个或多个具体实施的示出电子设备向另一电子设备提供服务特定别名的示意图。
图10示出了根据一个或多个具体实施的示出电子设备尝试使用服务特定别名来联系另一电子设备的示意图。
图11示出了根据一个或多个具体实施的示出电子设备接收寻址到服务特定别名的加密数据的示意图。
图12示出了根据一个或多个具体实施的示出电子设备之间的基于接近度的交互的示意图。
图13示出了根据一个或多个具体实施的示出电子设备响应于与另一电子设备的基于接近度的连接的断开而请求服务特定别名的示意图。
图14示出了根据一个或多个具体实施的示出与帐户相关联的电子设备提供到与该帐户相关联的另一电子设备以及未登录到该帐户的电子设备的链路的示意图。
图15示出了根据一个或多个具体实施的示出与帐户相关联的电子设备提供到与该帐户相关联的另一电子设备的链路登记通信的示意图。
图16示出了根据一个或多个具体实施的示出与帐户相关联的电子设备执行针对与该帐户相关联的另一电子设备的更新过程的示意图。
图17示出了根据一个或多个具体实施的示出与帐户相关联的第一电子设备针对由与该帐户相关联的第三电子设备生成的链路提供到与该帐户相关联的第二电子设备的链路登记通信的示意图。
图18示出了根据一个或多个具体实施的示出图17的第一电子设备提供由与帐户相关联的第三电子设备生成的到与该帐户相关联的第二电子设备的链路的示意图。
图19示出了根据一个或多个具体实施的示出与帐户相关联的第一电子设备提供到该帐户相关联的第二电子设备的链路登记通信并从与该帐户相关联的第二电子设备接收由与该帐户相关联的第三电子设备生成的链路的示意图。
图20示出了根据一个或多个具体实施的示出电子设备从服务器获得针对基于web的应用程序的用于加入呼叫的代码的示意图。
图21示出了根据一个或多个具体实施的示出电子设备请求加入呼叫的示意图。
图22示出了根据一个或多个具体实施的示出电子设备加入呼叫的示意图。
图23示出了根据一个或多个具体实施的示出用于批准加入呼叫的请求的委托批准过程的示例的示意图。
图24示出了根据一个或多个具体实施的示出用于批准加入呼叫的请求的另一委托批准过程的示例的示意图。
图25示出了根据一个或多个具体实施的示出电子设备传输用于将另一电子设备从会议会话中逐出的指令的示例的示意图。
图26示出了根据一个或多个具体实施的示出电子设备接收已将另一电子设备从会议会话中逐出的确认的示例的示意图。
图27示出了根据一个或多个具体实施的示出禁止将电子设备从会议会话中逐出的示例的示意图。
图28示出了根据一个或多个具体实施的用于获得服务特定别名的示例性过程的流程图。
图29示出了根据一个或多个具体实施的用于控制到服务特定别名的通信的示例性过程的流程图。
图30示出了根据一个或多个具体实施的用于链路同步的示例性过程的流程图。
图31示出了根据一个或多个具体实施的用于请求加入呼叫的示例性过程的流程图。
图32示出了根据一个或多个具体实施的用于管理会议会话中的设备的示例性过程的流程图。
图33示出了可实现本主题技术的一个或多个具体实施的电子系统。
具体实施方式
下面示出的具体实施方式旨在作为本主题技术的各种配置的描述并且不旨在表示本主题技术可被实践的唯一配置。附图被并入本文并且构成具体实施方式的一部分。具体实施方式包括具体的细节旨在提供对本主题技术的透彻理解。然而,本主题技术不限于本文阐述的具体细节,而是可采用一个或多个其他具体实施来实践。在一个或多个具体实施中,以框图形式示出了结构和部件,以便避免使本主题技术的概念模糊。
会议应用程序可安装在电子设备上,以允许电子设备的用户诸如在视频会议会话中实时交换和查看彼此的音频馈送和/或视频馈送。然而,有时可能会不期望地将在他们的设备上未安装会议应用程序的用户、在他们的设备上不具有会议应用程序的更新版本的用户、和/或运行与会议应用程序不兼容的平台(例如,操作系统)的设备的用户从会议会话中逐出,而会议会话的其他参与者想要该用户加入该会议会话。
在一些场景中,可由服务器为不能访问会话中的其他参与者正在使用的会议应用程序的电子设备的用户提供对会议会话的基于web的访问。然而,提供对会议的基于web的访问,同时保护参与者的隐私、防止窃听在会议会话期间交换的音频流和/或视频流、防止未被邀请的参与者加入会议、以及允许服务器操作以进行数据交换而不将会议内容和/或参与者暴露给服务器可能具有挑战性。
本文所公开的主题技术的各方面可有助于例如提供对电子会议的安全、保护隐私的基于web的访问,诸如针对在他们的设备上未安装会议应用程序的用户、在他们的设备上不具有会议应用程序的更新版本的用户、和/或运行与会议应用程序不兼容的平台(例如,操作系统)的设备的用户。
图1示出了根据一个或多个具体实施的可在其中实现电子会议的示例性网络环境100。然而,并非所有所描绘的部件均可在所有具体实施中使用,并且一个或多个具体实施可包括与图中所示的那些相比附加的或不同的部件。可进行这些部件的布置和类型的变化,而不脱离本文所列出的权利要求的实质或范围。可提供附加的部件、不同的部件或更少的部件。
网络环境100包括电子设备110、电子设备115、电子设备117、电子设备119、服务器120(例如,身份服务器)以及服务器130(例如,应用程序服务器和/或中继服务器)。网络106可将电子设备110、电子设备115、电子设备117、电子设备119、服务器120和/或服务器130通信地(直接或间接)耦接。在一个或多个具体实施中,网络106可以是可包括互联网或可通信地耦接到互联网的设备的互连网络。出于解释的目的,网络环境100在图1中被示为包括电子设备110、电子设备115、电子设备117、服务器120和服务器130;然而,网络环境100可包括任何数量的电子设备和/或任何数量的服务器,它们直接或经由网络106彼此通信地耦接。
电子设备110、电子设备115、电子设备117和/或电子设备119可各自为例如以下中的任一者:台式计算机;便携式计算设备,诸如膝上型计算机、智能电话、外围设备(例如,数字相机、耳机)、平板设备、独立的视频会议硬件、可穿戴设备(诸如手表、腕带等);或者包括例如一个或多个无线接口的任何其他适当设备,诸如WLAN无线电设备、蜂窝无线电设备、蓝牙无线电设备、Zigbee无线电设备、近场通信(NFC)无线电设备和/或其他无线电设备。在一个或多个具体实施中,电子设备110可包括由电子设备的用户安装并可访问的视频会议应用程序。
在图1中,通过举例的方式,电子设备110被描绘为台式计算机。在一个或多个具体实施中,电子设备110可包括相机并且可提供会议应用程序和/或浏览器以用于通过网络106与在例如电子设备115处安装并可访问的对应会议应用程序交换音频流和/或视频流。在图1中,通过举例的方式,电子设备115被描绘成具有触摸屏的平板设备。在一个或多个具体实施中,电子设备115还可包括相机并且可提供会议应用程序以用于通过网络106与在电子设备110处安装并可访问的对应应用程序和/或与经由电子设备110操作的web应用程序交换音频流和/或视频流。在图1中,通过举例的方式,电子设备117被描绘成具有触摸屏的平板设备。在一个或多个具体实施中,电子设备117还可包括相机并且可提供用于访问网络106的会议应用程序和/或web浏览器应用程序。在图1中,通过举例的方式,电子设备119被描绘为具有触摸屏的智能电话。在一个或多个具体实施中,电子设备119可包括由电子设备的用户安装并可访问的视频会议应用程序。
在一个或多个具体实施中,电子设备115、电子设备117和/或电子设备119可登录到服务器(诸如服务器120和/或服务器130)的帐户。在一个或多个具体实施中,在本文作为示例描述的各种操作场景中,电子设备110可不与服务器120和/或服务器120的帐户相关联或者可不登录到服务器120的帐户。在一个或多个具体实施中,电子设备119和/或电子设备117可与电子设备115也与其相关联(例如,登录和/或注册到)的帐户相关联(例如,登录和/或注册到)。在一个或多个具体实施中,电子设备110、电子设备115、电子设备117和/或电子设备119可为和/或可包括下文相对于电子系统所讨论的电子设备的全部或部分,该电子系统在下文相对于图33所讨论。在一个或多个具体实施中,电子设备119还可包括相机并且可提供用于访问网络106的会议应用程序和/或web浏览器应用程序和/或会议应用程序。
在一个或多个具体实施中,一个或多个服务器(诸如服务器120和/或服务器130)可执行用于管理各种电子设备(诸如电子设备110、电子设备115、电子设备117和/或电子设备119)之间的音频流和/或视频流诸如在会议会话期间的安全交换的操作。在一个或多个具体实施中,服务器120可为或包括身份服务器,该身份服务器存储与电子设备110、电子设备115、电子设备119和/或这些设备的用户相关联的帐户信息。在一个或多个具体实施中,服务器120可存储发起和/或参与会议会话的用户的帐户的临时标识符(例如,服务特定别名)与帐户的其他标识符(例如,帐户别名、帐户标识符、电话号码、电子邮件地址、或其他永久标识符)之间的映射。在一个或多个具体实施中,诸如服务器130的一个或多个服务器可为或包括应用程序服务器,该一个或多个服务器为例如电子设备117与例如电子设备110、电子设备115和/或电子设备119(和/或一个或多个其他设备)的基于web的访问和/或对会议会话中的参与提供资源(例如,诸如JavaScript代码的浏览器代码、用于通知的内容、对会话访问信息的更新、经加密数据和/或其他资源)。在一个或多个具体实施中,诸如服务器130的一个或多个服务器可为或包括中继服务器,该中继服务器在已被允许进入会议会话并且是会议会话中的参与者的设备之间中继加密通信。在一个或多个具体实施中,中继服务器可管理连接到会议会话的一个或多个参与者设备的可逐出性。在一个或多个具体实施中,诸如服务器130的一个或多个服务器可在通信会话之前、期间和/或之后与身份服务器(例如,服务器120)通信,诸如将别名映射到帐户,和/或获得具有和/或登录到身份服务器或应用程序服务器的帐户的一个或多个设备的联系信息。出于解释的目的,服务器120和服务器130各自被描绘为单个服务器。然而,应当理解,服务器120和/或服务器130可被实现为公共服务器,或者可各自被实现为多个服务器,诸如服务器系统。例如,在一个或多个具体实施中,服务器130可表示一个或多个应用程序服务器和/或一个或多个中继服务器。
图2示出了根据本主题技术的具体实施的可以是呼叫或会议会话中的参与者设备的各种电子设备的示意图。在图2的示例中,电子设备115包括会议应用程序200和浏览器202。例如,具有会议应用程序200的电子设备115可具有安装在电子设备115上的用于独立会议应用程序200的代码。例如,用于执行会议应用程序200的代码可能已从应用程序商店或储存库(例如,在远程服务器处)下载到电子设备115并且被安装用于在电子设备115处执行。电子设备115可使用会议应用程序200来发起会议会话(在本文也称为呼叫),诸如音频会议会话(在本文也称为音频呼叫)或视频会议会话(在本文也称为视频呼叫)。例如,电子设备115可部分地通过经由与在其他设备上运行的会议应用程序200的实例的基于应用的通信邀请一个或多个其他电子设备参加会议会话来发起会议会话。发起会议会话还可包括诸如通过经由中继服务器建立与诸如用于会议会话的中继服务器的服务器和/或与其他电子设备中的一个或多个其他电子设备的通信来开始会议会话。
然而,如图2所示,诸如电子设备117的一些电子设备可具有安装在其上的在先会议应用程序204,诸如已过时或与发起会议会话的设备处的会议应用程序200的版本不兼容的会议应用程序200的版本。例如,具有在先会议应用程序202的电子设备117可具有安装在电子设备117上的用于独立在先会议应用程序202的代码。例如,在会议应用程序202(例如,在先会议应用程序202的更新版本)从应用程序商店或储存库变得可用之前,用于执行在先会议应用程序200的代码可能已从应用程序商店或储存库(例如,在远程服务器处)下载到电子设备117,并且被安装用于在电子设备117处执行。在一个或多个具体实施中,在先会议应用程序202的代码的一部分可包括可用于与会议应用程序202的更新版本通信的代码(例如,钩子),使得在先会议应用程序202可利用会议应用程序200的新特征的部分,而在先会议应用程序202不具有对应于新特征的所有代码。例如,钩子可包括用于处理从会议应用程序200所接收的链路的分量和/或用于将呼叫邀请重定向到基于web的应用程序(诸如电子设备117处的浏览器)的钩子。例如,电子设备117还可具有用于访问基于web的内容的浏览器206或其他应用程序。如下文中结合例如图4和图5进一步详细描述的,电子设备115可通过向具有在先会议应用程序204的电子设备117处的在先会议应用程序204提供用于呼叫或会议会话的链路的分量来邀请该电子设备参加呼叫或会议会话。还应当理解,在一个或多个具体实施中,电子设备117可具有、获得或升级到会议应用程序200的完全更新版本。
作为另一示例,其他电子设备(诸如图2中的电子设备110)可具有浏览器208,但可能不具有在该设备处安装或可用的会议应用程序200的任何版本。例如,电子设备(例如,电子设备110)可具有与使用会议应用程序200发起会议会话的设备不同的操作系统和/或不同的制造商,或者可能只是没有下载或安装会议应用程序200。如下文中结合例如图6至图32进一步详细描述的,电子设备115可通过向电子设备110提供用于呼叫的链路来邀请具有浏览器208但不具有会议应用程序200的电子设备110参加呼叫或会议会话。图7至图32还示出了可由使用会议应用程序200的电子设备115、使用在先会议应用程序204和/或浏览器206的电子设备117、和/或使用浏览器208的电子设备110执行的用于加入会议会话和/或以其他方式参与会议会话的各种操作和/或交互。
图3示出了根据本主题公开的各方面的会议会话的各个方面。例如,图3中示出了在使用在设备处运行的会议应用程序(例如,会议应用程序200)的会议会话期间的电子设备115。如图3的示例中所示,电子设备115处的会议应用程序可提供主视频流视图320和辅助视频流视图312,诸如画中画视频流视图。如图3所示,电子设备115包括相机301,对于视频会议会话,该相机可获得并提供图像帧的连续流,这些图像帧被提供到会议应用程序以供电子设备115的用户(例如,用户“A”)查看和/或传输到一个或多个其他参与者设备(例如,传输到用户“B”的电子设备110、用户“C”的电子设备117、以及用户“D”的电子设备119)。
在图3的示例中,来自相机301的视频流321是传出视频流,该传出视频流从电子设备115传输到远程用户B、C和D的远程电子设备并为用户A本地显示在辅助视频流视图312中。在图3的示例中,来自用户“B”的传入视频流323显示在主视频流视图320中以供用户“A”查看。
在图3的示例中,用户B的传入视频流323可例如由在电子设备110处执行基于web的应用程序的代码的浏览器208提供到电子设备115(例如,其中未安装会议应用程序的电子设备110经由浏览器208与在服务器处运行的用于基于web的应用程序的代码交互),并且用户C的传入视频串流323可例如由在电子设备117处执行基于web的应用程序代码的浏览器206提供到电子设备115(例如,视频会议应用程序已过时或不可用的设备)。在一个或多个具体实施中,用户D的传入视频流323可例如由在电子设备115处运行的会议应用程序200提供到电子设备119。
在图3的示例中,主视频流视图320基本上覆盖电子设备115的整个显示器,其中一部分被辅助视频流视图312以及用户C和D中的每一者的输入视频流323的附加视频流视图覆盖。然而,这仅仅是例示性的,并且可提供主视频流视图320和辅助视频流视图312的其他布置(例如,两个大小相等的并排或上下视频流视图),和/或更多或更少的参与者(用户)可参与视频会议应用程序。
如图3所示,会议应用程序200还可提供输入选项,诸如相机选择选项310(例如,用于切换到后向相机或其他相机以提供视频流321)和添加选项308,该添加选项可被选择用于邀请一个或多个新用户参加会议会话和/或生成到会议会话的链路,该链路可通过其他通道(例如,在文本消息中、在电子邮件中、在社交媒体发稿中等)被提供到另一设备。当诸如用户A的用户选择添加选项308时,会议应用程序200可提供允许将期望被邀请者的联系人信息(例如,电话号码或电子邮件地址)提供到会议应用程序或者从会议应用程序内(例如,从存储在电子设备处的一组联系人)选择的选项。在接收到针对期望被邀请者的联系信息(例如,将期望被邀请者添加到正在进行的会议会话和/或将期望被邀请者包括在针对新的会议会话的初始邀请中)之后,会议应用程序200可确定(例如,与诸如服务器120的一个或多个服务器合作)与该联系信息相关联的一个或多个设备是否安装了该会议应用程序并且该会议应用程序可用。
如果确定与联系人信息相关联的设备安装了会议应用程序200并且该会议应用程序可用,则用户A的设备的会议应用程序200(例如,在电子设备115处)可与期望被邀请者的设备处的会议应用程序200交互以生成邀请的本地通知。在该示例中,期望被邀请者的设备可使用该设备处的会议应用程序200来访问会议会话。
如果确定与联系人信息相关联的设备没有安装会议应用程序且会议应用程序不可用或者会议应用程序的版本不兼容或已过时,则电子设备115处的会议应用程序200可生成用于到会议会话的链路的信息。在一个或多个具体实施中,电子设备115可能无法确定会议应用程序是否已安装或在另一设备处可用,并且可基于无法做出该确定来生成到会议会话的链路。在一个或多个具体实施中,可在电子设备115处生成到会议会话的链路,而无需尝试确定会议应用程序在另一设备处是否可用。可经由文本消息、电子邮件或其他消息传送或网络通信系统将链路(例如,作为统一资源定位符(URL)或统一资源指示符(URI)或其他网络标识符的web链路)和/或该链路的信息提供到没有安装会议应用程序和会议应用程序可用的或者会议应用程序的版本不兼容或已过时的设备。在该示例中,期望被邀请者的设备可使用该链路和/或该链路的信息来访问会议会话(例如,使用web浏览器),诸如下文结合图4至图32的各个方面所描述。
一旦例如在电子设备115、电子设备110、电子设备117和/或电子设备119之间建立了会议会话,则为了保护所交换的视频流的内容免遭例如窃听(例如,被恶意第三方行为者和/或甚至被服务器120和/或130窃听),可将音频和/或视频流端到端加密,使得仅预期最终用户(例如,具有内容解密密钥的会议会话中的参与者)可以访问该内容。然而,在一些具体实施中,向一个或多个服务器(例如,服务器120和/或130中的一者或多者)提供关于正在交换的内容类型的一些信息也可能是有帮助的,诸如允许服务器更好地管理经加密内容的交换。例如,元数据可与经加密内容一起从发送设备(例如,电子设备115)提供到服务器(例如,服务器130)、从一个服务器提供到另一服务器、和/或从服务器提供到接收方设备(例如,电子设备117)。例如,元数据可包括用于经加密视频的若干版本中的每个版本的分辨率,该分辨率便于服务器根据接收方设备的能力来确定发送哪个版本给接收方设备。
在发送设备和接收方设备之间的途中的一个或多个跳上与经端到端加密视频内容一起提供的元数据可逐跳加密。以此方式,旨在用于在特定设备和/或服务器处访问的元数据可由该设备和/或服务器解密,而不允许访问经端到端加密视频内容。在各种具体实施中,经端到端加密视频内容还可沿着发送设备和接收方设备之间的路线在一个或多个阶段被逐跳加密(例如,在包括已经端到端加密数据的逐跳加密的视频内容的双重加密中)。
视频数据通常使用网络分配层(NAL)单元进行编码。在一个或多个具体实施中,可通过解析经编码视频数据以识别NAL单元并基于NAL单元生成用于传输的分组来执行经编码视频数据的编解码器特定分组(例如,用于通过诸如网络106的网络传输数据)。然后,接收方设备(例如,接收方设备处的解分组器)可检测并解码分组中的NAL单元以用于视频数据的进一步处理和显示。然而,如本文所述,可对视频数据进行端到端加密,以防止在传输期间访问或窃听视频数据。经编码视频数据的这种加密可防止编解码器特定分组器和/或解分组器检测到NAL单元,该NAL单元可能会对分组和/或解分组过程有破坏性。
根据本主题技术的各方面,可例如执行针对经加密视频内容的分组操作以允许在不需要改变解分组器的情况下对经加密视频数据进行解分组。例如,分组器(例如,在作为与一个或多个接收方设备的视频会议会话的一部分的发送设备处)可接收经加密视频数据(例如,经加密经编码视频帧,其包括一个或多个经加密NAL单元),执行对经加密视频数据的编解码器特定变换以生成包括经加密经编码视频数据的一个或多个新NAL单元,并且然后将包括经加密经编码视频数据的新NAL单元分组以供传输。以此方式,期望接收使用NAL单元编码的未经加密视频数据的解分组器(例如,在接收方设备处)可处理包括经加密经编码视频数据的新NAL单元以暴露经加密经编码视频数据以供在接收方设备处解密和进一步处理。
在一个或多个其他具体实施中,可提供并非编解码器特定的通用分组器(例如,用于经加密视频内容的分组)。例如,通用分组器可基于可用分组大小并且在不参考要分组的内容或内容的任何底层编码的情况下对经加密和/或未经加密视频内容进行分组。例如,通用分组器可接收未经加密内容或经加密内容(诸如经加密视频数据),根据分组大小来划分所接收内容,将经划分内容包括在具有分组大小的分组中(例如,每个分组包括由分组开始和分组结束指示符界定的所划分数据),并且填充并发送分组,直到所有内容都已被发送。通用分组器可促进将可能对服务器(例如,服务器120和/或服务器130)有用的信息包含在分组中以伴随经加密视频数据。例如,该信息可由通用分组器作为元数据添加,作为经加密视频数据分组的标头扩展。例如,该信息可包括分组中的视频数据是否包括关键帧(例如,I帧或可独立于其他视频帧解码的另一帧)、视频数据的分辨率或比特率、编解码器配置文件或与视频数据相关联的时间戳(作为示例)的指示符。
图4示出了根据一个或多个具体实施的用于诸如由在先会议应用程序已过时或与发起会议会话的设备处的会议应用程序的版本不兼容的设备来处理会议会话的链路信息的示例性过程400的流程图。出于解释的目的,本文主要参考图1的部件(尤其是参考电子设备117)来描述过程400,该过程可由图1的电子设备117的一个或多个处理器执行。然而,过程400不限于电子设备117,并且过程400的一个或多个框(或操作)可由其他合适的设备(诸如电子设备110、电子设备115、电子设备119和/或一个或多个服务器(诸如服务器120和/或服务器130)中的一者或多者)的一个或多个其他部件执行。进一步出于解释的目的,过程400的框在本文中被描述为顺序地或线性地发生。然而,过程400的多个框可并行发生。此外,过程400的框不必按所示顺序执行,并且/或者过程400的一个或多个框不必执行和/或可由其他操作替代。
在框402处,第一设备(例如,电子设备117)可接收统一资源定位符(URL)的多个分量。在一个或多个具体实施中,该多个分量可能不包括足够的信息来联系另一设备。例如,该多个分量可能不包括足够的分量来生成可操作的URL。例如,该多个分量可能缺少URL的另一分量,诸如域、子域、路径分量、主机分量等。URL的分量可例如作为与另一设备(例如,电子设备115)的视频会议会话的邀请的一部分,诸如经由文本消息、电子邮件、网页或者通常任何消息或通信来接收。该多个分量可包括例如对应于URL的版本号以及对应于视频会议会话的标识符和密钥(例如,对应于发送和/或创建邀请的用户和/或设备的标识符和公钥)。在一个或多个具体实施中,在第一设备处接收URL的多个分量可包括从在第二设备处运行的应用程序的第二不同版本接收具有在第一设备处运行的应用程序的第一版本的URL的多个分量。
在框404处,第一设备验证该多个分量是否包括URL的一个或多个预期分量。响应于未能验证URL的一个或多个预期分量的存在,可以提供错误消息。验证多个分量是否包括URL的一个或多个预期分量可包括确定多个分量是否包括对应于URL的格式的版本号。
在框406处,响应于验证多个分量包括URL的一个或多个预期分量,第一设备可确定URL的一个或多个预期分量中的至少一个分量的内容是否有效。响应于确定URL的一个或多个预期分量中的至少一个分量的内容无效,可以提供错误消息。
验证(在框404处)多个分量是否包括URL的一个或多个预期分量可包括确定多个分量是否包括与视频会议会话相关联并且与视频会议会话的发起用户相关联的标识符。在一个或多个具体实施中,标识符可为或包括用于发起用户的临时标识符(例如,服务特定别名),该临时标识符被配置为在视频会议会话终止之后到期。在一个或多个具体实施中,诸如服务器120的服务器可存储用于发起用户的临时标识符与永久标识符之间的映射。临时标识符可由发起用户撤销。临时标识符可限于诸如视频会议服务的特定服务。
验证多个分量是否包括URL的一个或多个预期分量还可包括确定多个分量是否包括视频会议会话的公钥。公钥可以是例如(例如,P-256)椭圆曲线密钥协议的公钥,其中私钥由视频会议会话的发起用户持有。例如,验证多个分量是否包括一个或多个预期分量可包括确定(例如,在不检查数据的内容的情况下)所接收的分量数量是否与预期分量数量匹配,和/或确定包括多个分量的消息是否包括预期在其中接收预期分量的一个或多个消息字段中的每个消息字段中的数据。
在一个或多个具体实施中,确定(在框406处)URL的一个或多个预期分量中的至少一个分量的内容是否有效可包括确定标识符是否符合第一预期格式(例如,具有将标识符标记为标识符的标头以及具有预定字节数的数据串的格式)和/或确定公钥是否符合第二预期格式(例如,确定公钥是否具有预定数量的具有期望类型的数据字节)。在一个或多个具体实施中,第一预期格式可包括标头串和具有预期字节数的通用唯一标识符(UUID)字节串。在一个或多个具体实施中,第二预期格式可包括公钥的预期字节数。
在框408处,响应于确定URL的一个或多个预期分量中的至少一个分量的内容有效,第一设备可对URL的一个或多个预期分量中的至少一个分量的内容进行编码。对URL的一个或多个预期分量中的至少一个分量的内容进行编码可包括对标识符进行编码和/或对公钥进行编码。对标识符进行编码可包括诸如通过对标识符的字节执行URL安全base-64编码来将标识符从第一格式(例如,接收标识符的格式)变换为第二格式(例如,URL安全格式)。对公钥进行编码可包括诸如通过对公钥的字节执行URL安全base-64编码来将公钥从第一格式(例如,接收公钥的格式)变换为第二格式(例如,URL安全格式)。然而,这些编码仅仅是示例,并且可使用URL分量编码(例如,百分比编码)、协议缓冲区(protobuf)编码或其他编码来变换标识符和/或公钥。
在框410处,第一设备可通过将URL的一个或多个预期分量中的至少一个分量的经编码内容与URL的至少一个附加分量组合来汇编URL。在一个或多个具体实施中,URL的至少一个附加分量包括域,并且汇编URL包括将一个或多个预期分量中的至少一个分量的经编码内容作为URL的片段附加在域之后(例如,在URL中的散列标签之后)。在各种具体实施中,接收URL的多个分量可包括接收域,或者域可被预存储在第一设备处,并且汇编URL可包括从第一设备处的本地存储装置获得域。在一个或多个具体实施中,域是web域,并且在第一设备处接收URL的多个分量包括在对视频会议会话的邀请中接收多个分量,该邀请由第二设备(例如,电子设备115)处的视频会议应用程序生成。
在一个或多个具体实施中,第一设备(例如,第一设备处的视频会议应用程序)可提供通知(例如,在第一设备的用户的UI中),该通知包括经汇编URL和连接到视频会议会话的选项。第一设备还可接收(例如,由第一设备的用户)对连接到视频会议会话的选项的选择,并且重定向第一设备以尝试使用第一设备处的浏览器连接到经汇编URL。
在一个或多个具体实施中,响应于连接到经汇编URL的尝试,第一设备可接收(例如,从与经汇编URL相关联的服务器)对URL的一个或多个分量的更新,诸如对URL的域的更新。第一设备可经由浏览器访问web应用程序,用于使用具有对域的更新的经汇编URL来连接到视频会议会话。
在一个或多个具体实施中,第一设备可使用第一设备处的浏览器连接到视频会议会话,以访问与经汇编URL相关联的服务器(例如,服务器120和/或服务器130)。在一个或多个具体实施中,连接到视频会议会话可包括在不向服务器公开公钥的情况下连接到视频会议会话。例如,在不向服务器公开公钥的情况下连接到视频会议会话可包括使用公钥利用第一设备处的浏览器对从第一设备到视频会议会话的发起用户的第二设备的请求加入消息进行签名。在一个或多个具体实施中,经汇编URL对应于包括至少一个参与者设备的视频会议会话,该至少一个参与者设备没有安装应用程序的任何版本或应用程序的任何版本均不可用。
图5示出了根据一个或多个具体实施的用于诸如由会议应用程序已过时或与发起会议会话的设备上的会议应用程序的版本不兼容的设备来处理会议会话的链路信息的示例性过程500的流程图。出于解释的目的,本文主要参考图1的部件(尤其是参考电子设备117)来描述过程500,该过程可由图1的电子设备117的一个或多个处理器执行。然而,过程500不限于电子设备117,并且过程500的一个或多个框(或操作)可由其他合适的设备(诸如电子设备110、电子设备115、电子设备119和/或一个或多个服务器(诸如服务器120和/或服务器130)中的一者或多者)的一个或多个其他部件执行。进一步出于解释的目的,过程500的框在本文中被描述为顺序地或线性地发生。然而,过程500的多个框可并行发生。此外,过程500的框不必按所示顺序执行,并且/或者过程500的一个或多个框不必执行和/或可由其他操作替代。
在框502处,第一设备(例如,具有在先会议应用程序204的电子设备117)接收加入与第二设备(例如,电子设备115)的呼叫的请求,该请求包括统一资源定位符(URL)的分量。例如,加入呼叫的请求可在第二设备处生成(例如,使用诸如第二设备处的会议应用程序200的会议应用程序)并被提供到第一设备(例如,经由诸如服务器130的一个或多个服务器)。例如,呼叫可以是音频呼叫(在本文也称为音频会议会话)或视频呼叫(在本文也称为视频会议会话)。在一个或多个具体实施中,第一设备还可验证分量是否包括URL的一个或多个预期分量(例如,服务特定别名和密钥,如上文结合图4的框404所描述)。在一个或多个具体实施中,第一设备还可确定URL的分量中的至少一个分量的内容是否有效(例如,如上文结合图4的框406所描述)。在一个或多个具体实施中,第二设备是呼叫的发起设备。例如,第二设备可通过以下方式来发起呼叫:在第二设备处使用诸如会议应用程序200的会议应用程序;针对与第一设备相关联的帐户供应临时别名(例如,服务特定别名);以及生成呼叫的公钥;以及向第一设备和/或一个或多个其他设备提供临时别名和公钥(例如,和/或URL的一个或多个其他分量)。在第二设备处发起呼叫还可包括从第二设备处的会议应用程序200向又一个或多个设备处的对应会议应用程序200提供对呼叫的本地邀请。在第二设备处发起呼叫还可包括生成呼叫的完整链路(例如,包括临时别名和公钥)以及将该完整链路提供到一个或多个附加设备。在一个或多个具体实施中,第二设备也可开始呼叫,诸如与一个或多个服务器(例如,诸如服务器130的中继服务器)建立通信会话,和/或经由中继服务器与一个或多个其他设备建立通信会话。
在框504处,第一设备使用(例如,通过组合)URL的多个分量来汇编URL。在一个或多个具体实施中,第一设备可对URL的至少一个分量进行编码,以产生至少一个经编码分量。该至少一个经编码分量可包括在经汇编URL中。在一个或多个具体实施中,第一设备可对URL的分量的内容进行编码以便汇编到URL中。在一个或多个具体实施中,汇编URL包括获得URL的域并将域包括在URL中(例如,通过在域之后附加分量作为URL的片段,诸如在URL中的散列标签符号之后)。在一个或多个具体实施中,汇编URL还可包括在URL中获得在来自第二设备的邀请中未接收到的URL的一个或多个附加元素(用户标识符、应用程序标识符、随机数等)。
在一个例示性示例中,如果第一设备接收到诸如“service-specific_alias_1”和“key_1”的两个分量,则第一设备可获得诸如“conferencingapplicationserver.com”的域,并且可通过将这两个分量添加为片段来汇编URL,以形成诸如“conferencingserver.com/#a=service-specific_alias_1&k=key_1”的URL。在提供版本号的示例中,URL可被汇编为在片段中包括版本号(例如,“1”),以形成诸如“conferencingserver.com/#v=1&a=service-specific_alias_1&k=key_1”的URL。在服务特定别名和密钥在汇编到URL之前使用编码函数encode()进行编码“conferencingserver.com/#v=1&a=encode(service-specific_alias_1)&k=encode(key_1)”的URL。
在一个或多个具体实施中,汇编URL可包括基于由第一设备验证多个分量包括URL的一个或多个预期分量来汇编URL。在一个或多个具体实施中,第一设备还可接收包括附加统一资源定位符(URL)的附加多个分量的附加请求,以及基于确定附加多个分量不包括附加URL的一个或多个预期分量和/或基于确定附加多个分量中的至少一个分量的内容无效而不汇编附加URL。
在框506处,第一设备使用经汇编URL加入呼叫。例如,加入呼叫可包括:由第一设备接收对经汇编URL的选择(例如,经由第一设备的输入分量的用户选择);由第一设备尝试使用经汇编URL通过浏览器(例如,浏览器206)连接到呼叫;以及由第一设备使用经汇编URL加入呼叫,而不向对应于URL的服务器提供多个分量中所包括的密钥。加入呼叫还可包括由设备(例如,利用浏览器)使用密钥对从第一设备到第二设备的请求加入消息进行签名。下文将结合例如图10、图11、图20、图21和图22讨论可执行用于使用经汇编URL(或包括域和分量的完整链路)加入呼叫的过程和/或操作的进一步细节。在一个或多个具体实施中,在图4的操作之后和/或在图5的框502和504的操作之后,电子设备117可利用浏览器206来执行下文结合图7至图32的各个方面描述的操作以加入会议会话和/或以其他方式参与会议会话。
图4和图5的过程的各方面可例如由会议应用程序的版本(例如,在先会议应用程序204)已过时或与在发起设备(例如,电子设备115)处运行的用于会议会话的会议应用程序(例如,会议应用程序200)的版本不兼容的电子设备(例如,电子设备117)来执行。然而,在其他场景中,会议会话的期望被邀请者可以是不具有任何版本的会议应用程序的电子设备(例如,电子设备110)和/或具有与发起方设备不同的操作系统和/或不同的制造商的电子设备(例如,电子设备110)的用户。
图6示出了根据一个或多个具体实施的用于在不使用和/或不访问会议应用程序的情况下加入会议会话的示例性过程600的流程图。出于解释的目的,本文主要参考图1和图2的部件(尤其是参考电子设备110)来描述过程600,该过程可由图1和图2的电子设备110的一个或多个处理器来执行。然而,过程600不限于电子设备110,并且过程600的一个或多个框(或操作)可由其他合适的设备(诸如电子设备117、电子设备115、电子设备119和/或一个或多个服务器(诸如服务器120和/或服务器130)中的一者或多者)的一个或多个其他部件执行。进一步出于解释的目的,过程600的框在本文中被描述为顺序地或线性地发生。然而,过程600的多个框可并行发生。此外,过程600的框不必按所示顺序执行,并且/或者过程600的一个或多个框不必执行和/或可由其他操作替代。
在框602处,第一设备(例如,电子设备110)可接收对应于第二设备(例如,电子设备115)处的会议应用程序正在发起或已发起的会议会话的统一资源定位符(URL)。第一设备可例如在文本消息、电子邮件、网页或任何其他消息中接收URL。URL可包括:域(例如,与服务器(诸如图1的服务器130,其可为或包括会议应用程序服务器)相关联的web域)或用于获得域的信息;以及一个或多个分量,诸如版本号(例如,对应于URL的格式的版本号)、标识符(例如,临时标识符,诸如与会议会话和会议会话的发起用户相关联的服务特定别名)和密钥(例如,会议会话的密钥对的公钥,该密钥对包括由会议会话的发起设备持有的私钥、和/或对称密钥)。URL的分量(诸如版本号、标识符和密钥)可设置在URL的片段中(例如,在URL中的散列标签之后)。在一个或多个具体实施中,URL可不包括版本号。在一个或多个具体实施中,版本号可对应于最低支持版本(例如,其中具有版本号N的URL将指示被配置为处理版本号小于N的任何版本的任何设备将无法处理该URL)。
在框604处,响应于第一设备的用户访问(例如,点击)URL,第一设备可导航(例如,使用诸如浏览器208的浏览器)到对应于URL的服务器(例如,在URL的域中识别的诸如服务器130的服务器)。例如,第一设备处的浏览器可向服务器发送一个或多个超文本传递协议(HTTP)请求,从服务器接收一个或多个HTTP响应,并使用HTTP响应在浏览器中加载并呈现对应于URL的网页。
在框606处,使用浏览器,第一设备可在web浏览器内从服务器获得(例如,响应于对服务器的HTTP请求而下载)代码(例如,当被执行时,充当第一设备上的通信客户端以用于与诸如服务器120和/或服务器130的一个或多个服务器通信的代码,诸如在一些示例中对应于用于会议的网络应用程序的JavaScript代码)。第一设备可从服务器下载代码,而不向服务器提供URL的分量(例如,版本号、标识符或密钥)(例如,如下文结合图20所描述)。
在框608处,第一设备然后可将来自URL片段的版本号、标识符和密钥中的一者或多者传递到经下载代码(例如,作为经下载代码的参数或输入)。
在框610处,第一设备可执行浏览器内的经下载代码以加入视频会议会话。例如,第一设备可执行浏览器内的经下载代码以生成要提供到第二设备的请求加入消息并对该请求加入消息进行签名和/或加密(例如,如下文结合图10和图21进一步详细讨论的)。例如,第一设备可使用在URL片段中所接收的密钥来在第一设备处对请求加入消息进行本地签名和/或加密。经下载代码可包括用于执行用于加入和/或参与视频会议会话的各种其他操作的逻辑部件,这些操作诸如用于验证URL的分量的存在(例如,验证标识符和/或密钥的存在,诸如上文结合图4的框404所描述)、认证URL的各部分(例如,认证标识符和/或密钥的内容,诸如上文结合图4的框406所描述)、对URL的各部分进行编码和/或解码(例如,对标识符和/或密钥的内容进行编码,诸如上文结合图4的框408所描述)、使用第一设备的相机捕获视频和/或音频、对视频和/或音频数据进行编码、解码、分组和/或解分组(如本文所述)、和/或与一个或多个服务器和/或包括第二设备的一个或多个设备交换通信(例如,包括经分组视频数据)。
在一个或多个具体实施中,URL还可包括(例如,作为URL的片段的一部分)发起用户是否已发起音频/视频会话或仅音频会话的指示符。web应用程序(例如,浏览器内的经下载代码)使用该音频/视频指示符来确定是在加入对应于URL的会话时激活相机,还是提供用于加入和/或参与仅音频会话(例如,语音呼叫)的仅音频UI。
当具有带会议应用程序的设备的用户邀请具有同一会议应用程序的另一设备的另一用户进行会议会话时(例如,响应于设备的用户选择另一用户的电话号码或其他联系信息或将另一用户的电话号码或其他联系信息输入到作为用户的设备的会议应用程序中以及选择发送邀请和/或开始会议会话的选项,经由会议应用程序之间的本地消息的交换),两个设备上的会议应用程序可提供用户之间的信任级别。例如,会议应用程序可能需要向服务器注册设备和/或用户,该服务器便于会议应用程序之间的会议会话。服务器对具有会议应用程序的用户/设备的这种了解可促进用户之间的信任级别和/或对使用会议应用程序进行用户之间的联系的控制级别。
然而,如本文所述,还可能希望允许未安装会议应用程序的设备的用户访问会议会话。例如,具有带会议应用程序的设备的用户可能希望邀请其他参与者进入会议会话(诸如对于读书俱乐部会面)。发起用户可能希望具有会议应用程序和不具有会议应用程序的参与者能够参加读书俱乐部会议会话,这些参与者可能包括发起用户尚未与其建立信任或甚至先前未与其交互的参与者。在一些情况下,会议会话的发起用户可能不想向所有被邀请的参与者透露他们的永久身份和/或联系信息(例如,电话号码或电子邮件地址)。此外,希望加入会议会话和/或发起会议会话的参与者还可能希望促进会议会话的服务器不跟踪谁正在参与会议会话。
根据本公开的各方面,可在参与者设备之间提供会议会话,其中至少最初相对于会议会话的被邀请者保留会议会话的发起用户的隐私,并且其中相对于促进会议会话的数据交换的一个或多个服务器保留会议会话中的参与者的隐私。例如,根据本公开的各方面,会议会话的发起用户可针对特定会议会话供应新的临时标识符(有时在本文称为服务特定别名)。可将会议会话的服务特定别名提供到会议会话的被邀请者,使得发起用户可邀请参与者进入会议会话,而无需透露他们的永久身份或联系信息。例如,发起用户可能希望邀请一组潜在参与者进入针对读书俱乐部的会议会话。然而,发起用户可能不希望向所有潜在参与者透露他们的电话号码或电子邮件地址,因为这将允许潜在参与者继续经由会议应用程序、经由消息传送应用程序、经由电话呼叫、或经由电子邮件或其他手段来联系发起用户(这对于发起用户来说可能是不期望的)。通过获得会议会话的服务特定别名,发起用户可连同服务特定别名一起提供会议会话邀请,使得参与者可经由服务特定别名来联系发起用户以获得加入会议会话的许可(例如,不透露发起用户的永久联系信息)。以此方式,可保留发起用户的隐私。
会议会话的发起用户的设备还可生成会议会话的密钥对(例如,包括公钥和私钥的非对称密钥对)和/或对称密钥。发起用户的设备可将针对会议会话创建的密钥对的公钥提供到被邀请的参与者的设备。被邀请的参与者的设备可使用从发起用户的设备所接收的公钥来对加入会议会话的请求进行签名和/或加密。可经由服务器将经加密请求从被邀请的参与者的设备提供到发起用户的设备,而无需向服务器透露经加密请求的内容(例如,因为仅发起用户设备和/或发起用户的其他设备有权访问私钥以对经加密请求进行解密)。以此方式,参与者可请求加入会议会话,并且发起用户(和/或在一些具体实施中的发起用户的委托者)可接受来自设备的加入会议会话的请求,而无需向服务器透露会议会话的参与者。
图7示出了其中电子设备(例如,电子设备115)供应服务特定别名(诸如会议会话的服务特定别名)的示例。在图7的示例中,服务器(诸如服务器120)存储针对各种用户的帐户700。如图所示,服务器可针对每个帐户700存储帐户别名702。例如,在服务器120具有针对特定用户或设备的帐户700之前,设备可从服务器请求帐户,在设备处生成或获得帐户别名702,并将帐户别名702提供到服务器120以建立帐户700(例如,设备的用户的帐户)。帐户别名702可为例如用户的永久别名,诸如电话号码或电子邮件地址。在一个或多个具体实施中,服务器可存储特定帐户700的多个帐户别名702(例如,电话号码和一个或多个电子邮件地址)。帐户别名702可被配置为允许经由其他别名注册到的任何服务来与用户联系,该任何服务包括独立于服务器120的至少一个服务(例如,蜂窝服务或电子邮件服务)。
在图7的示例中,服务器120存储用户A、B和C的三个帐户700,每个帐户具有一个帐户别名702。在该示例中,服务器还存储针对用户B的帐户700的两个服务特定别名704和针对用户C的帐户700的服务特定别名704。如图所示,每个服务特定别名704可与服务708的集706相关联,每个集706由服务器120结合对应的服务特定别名704来存储。
在图7的示例中,用户B的帐户700包括与包括“服务1”(例如,消息传送服务)和“服务2”(例如,与会议应用程序200相关联的会议服务)的服务708的集706相关联的服务特定别名704。在该示例中,用户B的帐户700还包括与包括“服务2”(例如,会议服务)和子服务710(例如,“子服务1”,诸如特定会议会话)的服务708的集706相关联的服务特定别名704。例如,针对包括“服务2”和子服务710的服务708的集706的服务特定别名704可以是服务特定且范围有限的别名,其被配置为允许经由由用户定义的并且在电子设备115的用户定义的有限范围(例如,“子服务1”)内的服务集与用户联系。在一些示例中,该范围对应于该服务集中的一个服务的子集(例如,特定呼叫或特定远程用户或远程用户组)。在一些示例中,该范围被存储在服务器处,如在图7的示例中。
在图7的示例中,用户C的帐户700包括与包括“服务1”(例如,消息传送服务)和“服务3”(例如,游戏服务、文件传递服务、或用于与其他参与者设备交互的另一服务)的服务708的集706相关联的服务特定别名704。
针对每个服务特定别名704的服务708的集706可定义服务器将通过哪些服务允许将寻址到服务特定别名704的通信提供到与对应于该服务特定别名704的帐户700相关联(例如,并且与帐户别名702相关联)的一个或多个设备。例如,如果远程设备尝试通过将消息寻址到相关联的服务特定别名704来使用“服务1”将消息发送到与用户B的帐户700相关联的设备,则服务器可获得针对用户B的帐户700的帐户别名702,并将消息传递到用户B的设备,因为“服务1”是消息传送服务。相比之下,如果远程设备尝试通过将消息寻址到与“服务2”和“子服务1”相关联的服务特定别名704来使用“服务1”将消息发送到与用户B的帐户700相关联的设备,则服务器拒绝经由“服务1”将消息递送到与该帐户700相关联的设备。例如,如果用户B针对特定会议会话供应与“服务2”和“子服务1”相关联的服务特定别名704,并且具有该服务特定别名的设备704稍后尝试通过向该服务特定别名704发送文本消息来联系用户B,则该文本消息将不会由服务器递送(或者可以递送但被用户B的设备拒绝),因为该服务特定别名704未被供应用于消息传送。在该示例中,本主题技术已允许用户B参与与其他用户的会议会话,而无需向其他用户提供足够的信息以在会议会话之后继续联系用户B。
在图7的示例中,电子设备115从存储电子设备115的用户(例如,用户A)的帐户700和帐户700的帐户别名702的服务器(例如,服务器120)供应帐户700的服务特定别名,该服务特定别名与帐户700的帐户别名702分离并且被配置为允许经由由电子设备115定义的服务708的集706与电子设备115的联系和/或到该电子设备的通信(例如,基于从电子设备115的用户A所接收的对电子设备115的输入)。
例如,如图7所示,电子设备115可接收指示诸如“服务P”的服务的用户输入。在一些示例中,输入“服务P”可以是用于发起服务本身或用于发起服务的子服务的输入,其中服务708的集706由输入定义(例如,发起视频呼叫的用户将服务的集定义为视频会议,并将子服务定义为特定视频呼叫)。在其他示例中,输入“服务P”可以是对服务特定别名704的请求,该请求包括针对所请求的服务特定别名704的服务集的用户选择的或用户输入的定义。如图所示,响应于接收到输入“服务P”,电子设备115向服务器(例如,服务器120)提供针对服务特定别名的请求,该请求包括在电子设备115处定义的服务集(“服务P”,其可包括消息传送服务、文件传递服务、视频会议服务、或游戏服务中的一者或多者)。
如图8所示,响应于来自电子设备115的请求,服务器可针对电子设备115的用户A的帐户700生成服务特定别名704,并将服务特定别名704结合帐户别名702和由电子设备115在请求中提供的服务708的集706(例如,“服务P”)来存储。在一个或多个具体实施中,服务器可通过生成随机数来生成服务特定别名704。在一个或多个具体实施中,服务器可部分通过在服务特定别名中包括时间戳来生成服务特定别名704。在一个或多个具体实施中,服务器可部分地通过在服务特定别名704中包括验证信息(例如,作为随机数的补充并且可用于验证服务特定别名的有效性)来生成服务特定别名704。
如图所示,针对用户A的帐户700的服务特定别名704然后可被提供到请求该服务特定别名的电子设备115。图8还指示在一个或多个具体实施中,也与和电子设备115的帐户700相同的帐户700相关联(例如,登录到和/或注册到该帐户)的一个或多个其他设备(例如,电子设备119)可被提供有已针对帐户700生成服务特定别名704的通知。该通知可包括电子设备119从服务器和/或从电子设备115获取服务特定别名704的指示。以此方式,与共同帐户相关联的任何或所有设备可发起具有由与该共同帐户相关联的任何其他设备供应的服务特定别名的服务。
图8还示出了服务特定别名704如何可以是具有到期时间800的临时别名。到期时间800可在供应服务特定别名时定义。在一些示例中,服务特定别名704不含识别用户或用户的帐户700的信息。例如,服务器可响应于来自注册到帐户700的电子设备115的供应服务特定别名704的请求,设置服务特定别名704将到期的到期时间800。在一个或多个具体实施中,服务器可基于来自注册到帐户700的任何设备的另一请求(例如,延长到期时间的明确请求,或在到期之前注册到帐户的设备对服务特定别名704的另一使用,诸如调度再次发生的呼叫的另一发生或使用服务特定别名704接受呼叫)来延长到期时间。
在一个或多个具体实施中,电子设备115和/或与和电子设备115相同的帐户相关联的另一电子设备(例如,电子设备119)可续订和/或更新现有服务特定别名704(例如,改变与该服务特定别名704相关联的服务708的集706、到期时间、范围或子服务等)。在一个或多个具体实施中,电子设备115和/或与和电子设备115相同的帐户相关联的另一电子设备可删除服务特定别名704,以撤销使用该服务特定别名704经由对应的服务集对帐户的设备的访问。在一个或多个具体实施中,与同一帐户700相关联的多个设备之间的服务特定别名704的同步(例如,基于如结合图8所描述的通知)可用于到期时间800的协调。例如,在电子设备115关闭或者以其他方式用户无法续订事件的情况下,用户A可能想要使用电子设备119续订针对再次发生的会议会话的服务特定别名704。
一旦诸如电子设备115的电子设备已获得(例如,供应)服务特定别名704,就可将服务特定别名704提供到其他设备以用于联系电子设备115和/或与和电子设备115相同的帐户700相关联的任何其他设备。例如,如图9所示,电子设备115可将服务特定别名704发送到远程设备(例如,电子设备115)以允许该远程设备经由由电子设备110针对该服务特定的别名704定义的服务708的集706来联系电子设备115(或以其他方式与该电子设备通信)。
在各种具体实施中,服务特定别名704可单独提供到远程设备,或与其他信息一起提供到远程设备。在一个或多个具体实施中,服务特定别名704可在与该服务集的服务相关联的链路(例如,用于会议会话的链路)中发送。例如,该链路可以是包括服务特定别名704和用于会议会话的密钥(例如,公钥)的链路,该密钥由电子设备115针对会议会话生成,作为会议会话的密钥对的一部分。如图9所示,电子设备115可存储在电子设备115处生成的密钥对的私钥和公钥以及服务特定别名704,并且可将服务特定别名704和公钥提供到电子设备110。
在一个或多个具体实施中,服务特定别名704的服务集可以是一个服务(例如,会议)或多个服务(例如,会议和消息传送)。在一个或多个具体实施中,服务特定别名704可以是仅接收的(例如,电子设备110可向服务特定别名704发送通信,但不从服务特定别名704接收通信)。例如,一个设备可供应服务特定别名704并将该服务特定别名发送到另一设备,然后另一设备可使用服务特定别名704来联系第一设备。在该示例中,第一设备可能能够看到另一设备的实际联系信息(例如,电话号码或电子邮件地址),即使另一设备看不到第一设备的实际联系信息。
在示例性使用情况下,电子设备110可尝试呼叫从电子设备115所接收的服务特定别名704,并且如果服务特定别名由服务器确定为有效(例如,现有且未过期,并且针对呼叫定义),则服务器可向与和电子设备115相同的帐户相关联的所有设备通知传入呼叫。如果与同一帐户相关联的设备已获取呼叫所寻址到的服务特定别名704,则它们可接受该传入呼叫,但除非它们已接收到服务特定别名704,则它们可不接受呼叫。例如,如果与和电子设备110相同的帐户相关联的设备尚未获取由电子设备115供应的服务特定别名704,则该设备可不接受针对该设备的呼叫。
在一个或多个具体实施中,范围标识符(例如,对应于子服务710)可结合服务特定别名704来存储,并且可用于允许将单个服务特定别名704用于多个不同范围。在一个或多个具体实施中,服务特定别名704可跟在供应设备的呼叫者ID之后(例如,供应设备的电话号码)。例如,如果要从电子设备115移除SIM卡并将该SIM卡插入到新设备中,则可向该新设备提供寻址到由电子设备115供应的仍然有效的服务特定别名704的通信,因为该新设备将凭借SIM卡的传递而与同一呼叫者ID相关联。
如图10所示,一个或多个服务器(例如,服务器120)可从另一设备(例如,电子设备110)接收经由服务联系帐户700的请求,该请求包括针对帐户700的服务特定别名704。一个或多个服务器可通过确定服务是否包括在由电子设备115为服务特定别名704定义的服务708的集706(例如,“服务P”)中来确定是否允许经由该服务与帐户700联系。如图所示,在一个或多个具体实施中,该请求还可包括经加密数据和/或对应于存储在电子设备110处的私钥的本地公钥。在图10的示例中,服务器存储帐户700和帐户700的帐户别名702,并且服务特定别名704不同于帐户别名702。
图11示出了允许图10中所请求的联系如何可包括由一个或多个服务器获得针对帐户的帐户别名702,以及使用帐户别名将与请求相关联的信息(例如,经加密数据和/或本地公钥)提供到注册到帐户的设备(例如,电子设备115或注册到同一帐户的另一设备)(例如,不将帐户别名暴露给电子设备110)。
在一个或多个具体实施中,一个或多个服务器还通过确定服务特定别名704是否到期(例如,通过将当前时间与存储在服务器处的到期时间800进行比较)来确定是否允许经由服务与帐户700的联系。例如,如图所示,一个或多个服务器可存储由用户针对服务特定别名704定义的服务集以及针对服务特定别名704的到期时间800。
在一个或多个具体实施中,来自图10中的电子设备110的请求是经由服务的子集联系帐户的请求(例如,加入特定会议会话的请求),并且一个或多个服务器还通过确定服务特定别名是否具有包括服务的子集的范围(例如,服务特定别名704是否是针对该特定会议会话供应的服务特定别名704)来确定是否允许经由服务与帐户的联系。
在一个或多个具体实施中,如果服务器接收到经由未为其供应服务特定别名704的服务使用服务特定别名704与电子设备进行通信的尝试,则该尝试可能被服务器拒绝。在一个或多个具体实施中,服务器将服务特定别名704映射到帐户别名702,并且应用于帐户别名的垃圾邮件预防操作(例如,对某个时间段内的消息数量的限制等)也可应用于服务特定别名704。在一个或多个具体实施中,允许或拒绝使用服务特定别名704进行的访问是基于服务器端上的服务708的集706来强制执行的(例如,设备可尝试使用与使用第一服务的该设备相关联的服务特定别名704来联系另一设备,并且被服务器拒绝,因为服务特定别名704仅限定另一服务的范围)。在一个或多个具体实施中,用户可从一个设备请求服务特定别名704,然后跨用户的所有设备同步该服务特定别名704。在一个或多个具体实施中,以这种方式同步服务特定别名704允许对服务特定别名704的呼叫在多个或所有用户设备处振铃或以其他方式警告用户。在一个或多个具体实施中,到期的服务特定别名704可由服务器在到期时间800之后存储某个时间段,以允许续订先前到期的服务特定别名704的可能性。在一个或多个具体实施中,当使用对应于服务特定别名704的链路时(例如,为了成功加入会议会话),服务器可延长服务特定别名704的到期时间710。
在图7至图11的示例中,服务特定别名704的供应和使用主要结合两个或更多个设备之间的呼叫或会议会话来描述。然而,应当理解,可针对除了会议服务之外的服务供应服务特定别名704。例如,如本文所述,可针对消息传送服务、针对文件传递服务、针对游戏服务器和/或针对一个设备可通过其尝试向另一设备发送通信的其他服务供应服务特定别名704。例如,在一个或多个具体实施中,针对服务特定别名704的服务集包括社交媒体服务,并且服务特定别名704被配置为允许对与用户的帐户相关联的社交媒体内容进行临时(例如,可通过删除服务特定别名来撤销,和/或可通过在预定时间或在预定事件结束时到期而撤销)外部访问。作为另一示例,在一个或多个具体实施中,针对服务特定别名704的服务集包括数字图书馆服务,并且服务特定别名704被配置为允许对与用户的帐户相关联的电子书内容进行临时(例如,可通过删除服务特定别名来撤销,和/或可通过在预定时间或在预定事件结束时到期而撤销)外部访问。图12和图13示出了其中针对服务特定别名704的服务集分别包括消息传送服务和文件传递服务的附加示例。
例如,图12示出了其中服务特定别名704可由一个设备基于与另一设备的基于接近度的交互来供应的具体实施。例如,在其中电子设备115的用户想要临时允许电子设备110的用户向电子设备115发送消息的场景中,电子设备115可轻敲电子设备110(抵靠该电子设备放置)(如箭头1200所指示)。图12所示的轻敲动作可在电子设备115与电子设备110之间的近场通信(NFC)通信的范围内(例如,在约十厘米内)移动电子设备115和电子设备110。在一个或多个具体实施中,电子设备115响应于电子设备115与电子设备110之间的基于接近度的交互,将对服务特定别名704的请求提供到存储电子设备115的帐户700的帐户别名702的标识的服务器。作为响应,服务器(例如,服务器120)可生成服务特定别名704,如上文结合图7和图8所描述。
在一个或多个具体实施中,响应于由图12所示的基于接近度的交互触发的请求而生成的服务特定别名704可以是用于经由消息传送服务来联系用户的消息传送别名。电子设备115可接收服务特定别名704,并将服务特定别名704提供到电子设备110(例如,在基于接近度的交互期间经由电子设备115与电子设备110之间的NFC或BLTE通信链路)。在一个或多个具体实施中,为了指示服务特定别名704是针对消息传送服务的,可在电子设备115上打开消息收发应用程序的同时执行图12所示的轻敲。当电子设备115在轻敲动作期间经由NFC检测到电子设备110时,电子设备115通过请求对应于在服务器处针对电子设备115所存储的帐户别名702的服务特定别名704来供应服务特定别名704,该请求包括消息传送服务的指示。例如,该请求可由消息传送应用程序响应于该轻敲而生成并提供到服务器。在该示例中,临时消息收发别名不能用于经由除消息传送服务之外的任何服务来联系电子设备115。
在一个或多个具体实施中,电子设备115(或与和电子设备115相同的帐户700相关联的另一设备)可取消供应临时消息收发别名以防止来自电子设备115的进一步消息被递送给电子设备110。在一个或多个具体实施中,电子设备110还响应于与电子设备115的基于接近度的交互(例如,轻敲)而从服务器供应服务特定别名704(例如,临时消息传送别名),并将该临时消息传送别名提供到电子设备115。以此方式,可向可能不希望交换永久联系信息的用户(例如,在公交车上发起对话的陌生人)提供以由用户中的一个或两个用户在任何时候都可撤销的方式使用消息暂时继续使用消息进行通信的机会。
图13示出了用于供应服务特定别名的另一示例。在图13的示例中,响应于检测到电子设备115与电子设备110之间的基于接近度的连接的断开,通过提供请求到存储电子设备115的帐户700的帐户别名702的标识的服务器来供应服务特定别名704。例如,如图13所示,电子设备115可沿方向1300移动超过设备之间可以保持蓝牙或直接Wi-Fi连接的最大距离D(例如,几英尺)。当蓝牙或直接Wi-Fi连接丢失或低于质量阈值时,电子设备115可检测到断开连接并请求服务特定别名。
例如,可在通过基于接近度的连接(例如,通过电子设备115与电子设备110之间的蓝牙或直接Wi-Fi连接)的文件传递操作期间检测到断开连接。响应于断开连接,电子设备115可从服务器供应对应于临时文件传递别名的服务特定别名。电子设备115可将临时文件传递别名提供到电子设备110,使得电子设备110可通过互联网继续文件传递操作(例如,通过将文件传输到对应于临时文件传递别名的网络目的地)。以此方式,当设备之间的本地连接中断时(例如,在文件传递操作期间),接收设备可向发送设备供应并发送用于文件传递操作的服务特定别名,使得传递可通过更宽的区域连接继续。
例如,电子设备115可向电子设备110提供临时文件传递别名,使用该临时文件传递别名来建立与电子设备110的基于网络的连接,并且在通过网络连接继续先前通过基于接近度的连接进行的文件传递操作。在一个或多个具体实施中,基于接近度的连接是蓝牙连接。在一个或多个具体实施中,基于接近度的连接是直接Wi-Fi连接。在一个或多个具体实施中,网络连接是通过互联网的连接。在一个或多个具体实施中,电子设备115发起通过基于邻近度的连接进行的文件传递。
在一个或多个具体实施中,电子设备110通过基于接近度的连接并且在断开连接之前直接向电子设备115提供对通过基于接近度的连接进行的文件传递的接受。在一个或多个具体实施中,当电子设备115与电子设备115之间的距离超过阈值(例如,距离D)时,电子设备110检测到断开连接。
返回到具有会议应用程序200的设备与具有在先会议应用程序204或不具有会议应用程序的设备之间的会议会话的示例,图14示出了其中生成用于会议会话的链路(例如,包括服务特定别名和公钥的链路、或另一链路)的设备与和相同帐户相关联的其他设备同步该链路的场景。以此方式,对应于该链路的事件(例如,会议会话)可使用与和生成该链路的欺骗者相同的帐户相关联的任何设备来发起、托管和/或以其他方式管理。
在图14的示例中,电子设备115与用户帐户(例如,帐户700)相关联并且已生成对应于通信会话(例如,诸如音频会议会话或视频会议会话的会议会话)的链路(例如,图14中的链路1)。例如,在一个或多个具体实施中,该链路可包括公钥、群标识符、始发者句柄和/或服务特定别名。如图所示,电子设备115可向电子设备119提供该链路的链路信息,该链路信息包括该链路的设备标识符(“设备A ID”)和链路标识符(“链路1ID”,诸如时间戳、序列号或另一字母数字标识符),在该示例中,该电子设备与和电子设备115相同的用户帐户700相关联。在一个或多个具体实施中,电子设备115还可向电子设备119提供针对链路和/或相应会议会话的私钥(例如,链路1私钥)。
如图所示,电子设备115(或在接收到链路之后的电子设备119)提供到不与用户帐户相关联和/或未登录到用户帐户的设备(诸如电子设备110)的链路,以提供电子设备110对对应于该链路的通信会话的访问。可通过第一通道(例如,由电子设备115和电子设备119处的会议应用程序和/或系统进程管理的后台通道)将链路信息提供到电子设备119,并且可通过第二通道(例如,经由文本消息、电子邮件、社交媒体发稿、网站等)将链路提供到电子设备110。由于电子设备115提供了到电子设备119的链路,因此电子设备115或电子设备119可发起与该链路相关联的会议会话,并且当电子设备110访问该链路时,电子设备115或电子设备119可用于允许或拒绝电子设备110加入该会议会话。例如,如果电子设备110使用包括在链路中的公钥来加密用于会议会话的通信(例如,请求加入消息),并将经加密消息发送到链路中的服务特定别名,则电子设备119可使用链路信息(例如,包括在链路和/或链路信息中的服务特定别名和/或会话标识符)来接收经加密通信,并使用由电子设备115提供的私钥来解密经加密通信。
例如,电子设备115或电子设备可发起通信会话并从电子设备110接收加入通信会话的请求,该请求包括链路中包括的信息(例如,与电子设备115和电子设备119相关联的帐户以及会议会话的服务特定别名)。
图15至图19示出了可被执行以维持电子设备115、电子设备119和/或与电子设备115和电子设备119相同的帐户相关联的任何其他设备之间的链路同步的各种操作。例如,如图15所示,电子设备115可生成并存储对应于不同通信会话的第二链路(例如,链路2),并且可存储第一设备的设备标识符(例如,“设备A ID”)和第二链路的不同链路标识符(例如,“链路2ID”)。如图所示,电子设备115可从电子设备119接收链路登记通信,该链路登记通信包括电子设备115的设备标识符(例如,“设备AID”)和链路标识符(例如,“链路1ID”)。以此方式,链路登记通信可向电子设备119通知电子设备119具有的来自第一设备的最新链路。
如图16所示,电子设备115可确定由电子设备119在链路登记通信中提供的链路标识符(“链路1ID”)与在时间上早于与不同序列号相关联的时间(“链路2ID”)的时间相关联,并且作为响应,执行针对电子设备119的更新过程。更新过程可包括提供到电子设备119的链路(例如,链路2)(例如,具有相同的设备标识符,设备A ID,以及具有不同的链路标识符,链路2ID)。例如,链路标识符(链路1ID)可以是在电子设备115处生成第一链路(链路1)的时间,并且不同的链路标识符(链路2ID)可以是在电子设备115处生成第二链路(链路2)的时间。在另一示例中,链路标识符(链路1ID)可以是第一序列号,并且不同的链路标识符可以是比第一序列号更高(例如,高1)的第二序列号。与图15和图16的示例相比,如果电子设备115确定由电子设备119在链路登记通信中提供的链路标识符与在时间上不早于与不同链路标识符相关联的时间的时间相关联,则电子设备115可确定不执行关于链路和第二设备的更新过程。
图17示出了其中电子设备115已接收并存储在与电子设备115和电子设备119的用户帐户相关联的另一设备(例如,电子设备1700)处生成的一个或多个附加链路的示例性场景。在该示例中,附加链路各自包括电子设备1700的设备标识符(“设备C ID”)以及附加链路标识符(“链路1ID”和“链路2ID”)或者与该设备标识符和该附加链路标识符相关联。该示例示出在一些示例中,在不同设备处生成的链路可具有相同的链路标识符(例如,链路1ID),但可通过与生成该链路的设备的设备标识符(例如,在该示例中,设备A ID或设备CID)相关联、一起发送和/或结合该设备标识符存储来区分。
图17示出了电子设备115从电子设备119接收链路登记通信的示例,该链路登记通信包括电子设备1700的设备标识符(例如,设备C ID)和进一步附加链路标识符(例如,链路1ID)。
如图18所示,电子设备115可响应于确定进一步附加链路标识符(链路1ID)与在时间上早于与附加链路标识符(链路2ID)和生成该链路的设备的设备标识符(设备C ID)相关联的时间的时间相关联,通过将先前从电子设备119所接收的附加链路(链路2)(例如,连同该链路的链路标识符链路2ID)提供到电子设备119来执行针对电子设备1700的更新过程。
图19示出了其中电子设备115将电子设备119的设备标识符(设备CID)和附加链路标识符(链路1ID)发送(例如,在链路登记通信中)到电子设备1700,并且作为响应接收包括电子设备1700的设备标识符(设备C ID)和进一步附加链路标识符(链路2ID)的进一步附加链路(链路2)的示例性场景。例如,当电子设备119已接收到电子设备115尚未接收到的链路(例如,链路2)时(或者电子设备115可从生成链路的电子设备1700或从与帐户相关联的另一设备获得链路),可执行图19所示的登记和更新过程。
在图14至图19的各种操作中的任一操作中,执行更新过程以向另一设备提供链路更新的设备可向该另一设备提供该链路的私钥。在其他具体实施中,私钥可被提供一次并用于多个链路。使用图14至图19中所示的操作,由与帐户相关联的任何设备生成的链路可跨与帐户相关联的所有设备同步。这在以下情况下可以是有利的,例如,当对应于链路的事件(例如,会议会话)正在发起或正在进行时,链路创建者设备被关闭、从帐户注销、断电、或以其他方式不可用或离线,并且与帐户相关联的其他设备可用来发起、托管、和/或以其他方式管理事件。
在一个或多个具体实施中,当链路的服务特定别名到期时,存储链路的任何或所有设备都可删除该链路。例如,当服务特定别名704在如本文所述的到期时间800到期时,存储服务特定别名704的服务器可向与服务特定别名的对应帐户700相关联的设备发送通知(例如,获取更新的通知)。例如,电子设备115、电子设备119和/或电子设备1700可基于所尝试的获取来确定服务特定别名704到期,并且可删除包括该服务特定别名的任何链路。
如本文所讨论,本主题技术的各方面允许设备从基于web的应用程序加入会议会话,诸如无需将用于加入会议会话的通信暴露给服务器。图20至图22示出其中诸如不具有用于会议会话的会议应用程序的电子设备110的电子设备加入会议会话(例如,经由诸如图2的浏览器208的浏览器使用基于web的应用程序)的示例性场景。
如图20所示,电子设备110可向域处的服务器(例如,服务器130)提供从对应于与诸如电子设备115的另一设备的呼叫(在本文也称为会议会话)的链路(例如,如上文结合图9所讨论而接收的链路)获得的代码请求。例如,电子设备110可具有链路,该链路包括服务器的域、会议会话的公钥以及链路的创建者的帐户的服务特定别名。如图所示,电子设备110可响应于该请求从服务器获得代码(例如,诸如用于基于web的应用程序的JavaScript代码的代码)。
图20还示出在一些具体实施中,电子设备110还可如何从服务器接收(例如,与用于基于web的应用程序的代码一起)电子设备110的临时标识符。例如,服务器可响应于代码请求而生成电子设备110的临时标识符,并将临时标识符存储在服务器处。在一个或多个具体实施中,服务器将临时标识符提供到电子设备110。在一个或多个具体实施中,服务器可建立与临时标识符相关联的权限集合,该权限集合可由服务器基于与临时标识符相关联的活动来扩展或减少。在一些示例中,服务器可限制来自与临时标识符相关联的设备的请求(例如,请求加入消息和/或其他消息),诸如直到可信设备(例如,登录到服务器的帐户的设备、已在与请求相关联的会议会话中至少持续最短时间段的设备、或者被包括在与请求相关联的会议会话的原始邀请上的设备)批准来自与临时标识符相关联的设备的请求。在其他示例中,服务器可限制在给定时间段内可通过服务器从与临时标识符相关联的设备传输的数据量,并且如果可信设备批准来自与临时标识符相关联的设备的请求,则可增加数据量。在一个或多个具体实施中,一个或多个服务器还可跟踪和/或限制由登录到特定帐户的设备生成的链路(或其他数据,诸如服务特定别名)的量,和/或可基于与链路(或其他数据)相关联的活动来增加或减少链路的量。例如,服务器可在某个时间段内限制与链路(或其他数据,诸如服务特定别名)相关联的请求的量,和/或可基于与链路(或其他数据)相关联的活动和/或与帐户相关联的活动来增加或减少限制。
电子设备110可执行所获得的代码以:(i)使用从链路获得的公钥来对加入呼叫的请求(例如,请求加入消息)进行加密:以及(ii)将经加密请求发送到服务器以便递送到电子设备115或与电子设备115相同的帐户相关联的另一设备(例如,如上文结合图10所描述)。在一个或多个具体实施中,该链路和请求可不含当前参与者的标识信息或用于呼叫内的通信的加密密钥。在一个或多个具体实施中,公钥对应于由电子设备115生成并保存并且服务器不可访问的私钥(例如,是其密钥对的一部分)。
例如,如结合图10所讨论,将经加密请求发送到服务器以便递送到电子设备115可包括将经加密请求与电子设备110的用户的别名(例如,服务特定别名704)一起发送到服务器,该别名被包括在链路中并且不含电子设备115的用户的标识信息。在一些示例中,服务器和/或另一服务器存储别名(例如,用户的帐户700的服务特定别名704)与用户的联系信息(例如,帐户的帐户别名702)之间的映射,电子设备110无法访问该映射。同样如上文结合图10所讨论,该请求还可包括用于电子设备110的公钥(例如,本地公钥)。
如图21所示,电子设备110可从服务器(例如,服务器130)接收对请求的经加密响应(例如,经加密加入请求)。例如,经加密响应可以是来自电子设备115(或与和电子设备115相同的帐户相关联的另一设备)的指示经加密加入请求已被批准的响应。电子设备110可使用对应于电子设备110的公钥的本地私钥并使用从链路获得的公钥来解密经加密响应,以获得呼叫的标识符(例如,会话标识符或会话ID)。
在一些示例中,服务器可限制来自与临时标识符相关联的设备的请求(例如,请求加入消息和/或其他消息),诸如直到可信设备(例如,生成为其提供请求加入消息的链路的设备)批准来自与临时标识符相关联的设备的请求。例如,直到已被分配临时标识符的设备响应于请求加入消息而被接受进入会议会话为止,服务器可将该设备限制为在预定时间段内与任何链路相关联的第一数量的请求。在与临时标识符相关联的设备接收到对请求的批准响应之后,服务器可例如将与该设备在预定时间段内可发送的任何链路相关联的请求的数量增加到第二更高数量的请求。
如图22所示,电子设备110使用所获得的代码接收加入与标识符相关联的呼叫的邀请。然后,电子设备110可验证邀请中的会话标识符对应于通过对结合图21描述的加密响应进行解密而获得的会话标识符,并且提供加入呼叫的用户选项。然后,电子设备110可接收用户对邀请的接受,并且加入呼叫以开始接收会话数据(例如,用于会议会话的音频流和/或视频流)。
在一个或多个具体实施中,电子设备110可经由服务器从生成链路的电子设备115接收对结合图21所提及的经加密请求加入消息的经加密响应。在一个或多个其他具体实施中,生成链路的电子设备115可委托另一设备(例如,包括在针对会议会话的原始邀请中的设备)批准加入请求。例如,对请求加入消息的经加密响应可包括由作为与电子设备115或与和该电子设备相同的用户相关联的另一设备(例如,电子设备119)的正在进行的呼叫的参与者的委托设备提供的并由电子设备115或与和该电子设备相同的用户相关联的另一设备(例如,电子设备119)加密的批准。
例如,图23示出了其中电子设备115经由服务器(例如,服务器120)从图21的电子设备110接收经加密数据(例如,经加密请求加入消息)、使用在电子设备115处生成的私钥来解密经加密请求、并将经解密批准请求提供到另一设备2300(例如,可信设备,诸如包括在对会议会话的原始邀请中的设备或已成为正在进行的会议会话中的参与者持续大于最短时间段的设备)的场景。在图23的示例中,电子设备115从设备2300接收委托批准,基于委托批准对批准响应进行加密(例如,使用从电子设备110提供的本地公钥和在电子设备115处生成的私钥),并将经加密响应提供到服务器以递送到电子设备110。
作为请求加入消息的委托批准的另一示例,图24示出了其中电子设备115经由服务器(例如,服务器120)从图21的电子设备110接收经加密数据(例如,经加密请求加入消息)、使用在电子设备115处生成的私钥来解密经加密请求、并将经解密批准请求提供到另一设备2300(例如,可信设备,诸如包括在对会议会话的原始邀请中的设备或已成为正在进行的会议会话中的参与者持续大于最短时间段的设备)的场景。在图24的示例中,与和电子设备115相同的帐户相关联的另一设备(例如,电子设备119)从设备2300接收委托批准,基于委托响应对批准响应进行加密(例如,使用从电子设备110提供的本地公钥和在电子设备115处生成并提供到电子设备119的私钥,诸如在如上文结合图14描述的链路同步操作中),并将经加密响应提供到服务器以递送给电子设备110。在其他示例中,经加密请求加入消息可由电子设备119接收并解密,并且由电子设备119批准或基于来自电子设备2300的删除批准来批准。
以此方式,即使与链路创建者设备的帐户相关联的设备都不是呼叫中的当前参与者(例如,只要与链路创建者设备的帐户相关联的一个设备在线并且能够对经加密加入请求进行解密并对委托批准响应进行加密),作为会议会话中的可信参与者的任何设备也可批准请求加入消息。
在一个或多个具体实施中,本主题技术可向会议会话中的参与者提供将另一参与者逐出的能力。例如,由于本文所述的用于加入会议会话的链路可被任何网络连接设备使用来请求加入会议会话(例如,并且在链路发布在网页上、博客中、或经由社交媒体发布的情况下可能广泛可用),因此不期望成为会议会话的参与者的用户可能会无意中被允许加入会议会话。如果满足一个或多个标准(例如,逐出因子),则会议会话的原始被邀请者和/或已在会议会话中至少持续最短时间量的参与者可能期望能够将已加入会议会话的一些其他参与者逐出。
例如,如图25所示,电子设备115可连接到与电子设备117和电子设备110的会议会话,并且可基于电子设备110的逐出因子将电子设备110识别为可逐出设备(例如,能够被逐出的设备)或不可逐出设备(例如,被禁止被逐出的设备)。如图25所示,诸如服务器130的一个或多个服务器(例如,其可为或包括中继服务器)也可确定或获得电子设备110的逐出因子。在一个或多个具体实施中,电子设备119还可确定或获得电子设备110的逐出因子。
如图25所示,电子设备115可向服务器130发送逐出电子设备110的指令。在其中电子设备110是基于服务器处的逐出因子的可逐出设备的场景中,电子设备110可从会议会话断开(被逐出),如图26所示。如图26所示,当电子设备110被逐出时,电子设备115和会议会话中的其他参与者设备(例如,电子设备117)可存储电子设备110已被逐出的指示(例如,以便防止电子设备110请求重新加入会议会话)。图26还指示当电子设备110被逐出时,电子设备115和会议会话中的其他参与者设备(例如,电子设备117)可如何滚动用于加密在会议会话内交换的会话数据的密钥,使得被逐出的电子设备在被逐出之后不再能够解密会议会话的会话数据。在一个或多个具体实施中,滚动用于加密会话数据的密钥可包含在每一参与者设备处产生新密钥且加密新密钥并将新密钥发送到其他参与者设备。
与图26相比,图27示出了在其中当电子设备110是不可逐出设备(例如,基于服务器处的逐出因子)时针对电子设备110发送逐出指令的场景中,电子设备115可如何从服务器接收拒绝,并且电子设备110可如何保持在会议会话中。
在一个或多个具体实施中,驱逐因子可以是准许电子设备110进入会议会话之后的预定时间量,并且电子设备115在准许第二设备进入会议会话之后的预定时间量内将电子设备110识别为可逐出设备,并且在准许第二设备进入视频会议会话之后的预定时间量之后将电子设备110识别为不可逐出设备。在一个或多个具体实施中,在预定时间量之前,当电子设备110是不可逐出设备时,电子设备115向服务器130提供将电子设备110从会议会话中移除的请求(例如,逐出请求)(例如,参见图25),并且接收已将电子设备110从会议会话中移除的确认(例如,参见图26)。在一个或多个具体实施中,在预定时间量之后,当第二设备是不可逐出设备时,第一设备向服务器提供将第二设备从会议会话中移除的请求(例如,参见图25),并且接收指示不能将第二设备从视频会议会话中移除的响应(例如,参见图27)。
在一个或多个具体实施中,电子设备115在准许电子设备110进入会议会话时起动定时器。在一个或多个具体实施中,电子设备117也在准许电子设备110进入会议会话时起动定时器,并且在电子设备110的定时器到期之后将电子设备117识别为不可逐出设备。
在一个或多个具体实施中,在会议会话期间在电子设备110与电子设备115之间中继数据(例如,会话数据,诸如经加密音频和/或视频数据)的服务器(例如,服务器130)也在准许电子设备110进入会议会话时起动定时器,并且在服务器处的定时器到期之前将电子设备110识别为可逐出设备,并且在服务器的定时器到期之后将该电子设备识别为不可逐出设备。在一些示例中,第一设备的定时器不同于服务器的定时器(例如,比服务器的定时器更长或更短)。
在一个或多个具体实施中,在预定时间量之前(例如,以及在针对服务器处的电子设备110的定时器到期之前),当电子设备110被第一设备识别为可逐出设备(例如,以及被服务器识别为可逐出设备)时,电子设备115向服务器提供将电子设备110从会议会话中移除的请求,并且接收指示已将电子设备110从会议会话中逐出的响应。在一个或多个具体实施中,在预定时间量之后(例如,以及在针对服务器处的电子设备110的定时器到期之前),当电子设备110被第一设备识别为不可逐出设备(例如,以及被服务器识别为可逐出设备)时,电子设备117向服务器提供将电子设备110从会议会话中移除的请求,并且接收指示已将电子设备110从会议会话中逐出的响应。在一个或多个具体实施中,在预定时间量之前(例如,以及在针对服务器处的电子设备110的定时器到期之后),当电子设备110被第一设备识别为可逐出设备(例如,以及被服务器识别为不可逐出设备)时,电子设备115向服务器提供将电子设备110从会议会话中移除的请求,并且接收指示不能将电子设备110从会议会话中逐出的响应。
在一个或多个具体实施中,逐出因子可以是取决于设备通过其加入会议会话的连接机制的加入方法因子(例如,经由会议应用程序200、经由使用浏览器206或208进行的基于web的应用程序、和/或作为新的参与者或作为原始被邀请者)。例如,在一个或多个示例中,电子设备110经由会议应用程序200连接到会议会话,并且电子设备115将第二设备识别为不可逐出设备(例如,在准许电子设备110进入会议会话时立即)。在这些示例中,电子设备115不能将电子设备110从会议会话中移除。在一个或多个具体实施中,电子设备115是会议会话的发起方。
在一个或多个其他示例中,已经由基于web的应用程序(例如,使用浏览器208)准许电子设备110进入会议会话,并且电子设备115将第二设备识别为可逐出设备。在这些示例中,在会议会话的至少一部分期间,电子设备110可继续被识别为可逐出设备,同时与第一设备交换至少音频流(例如,和视频流)。在一个或多个示例性场景中,电子设备115向服务器提供将电子设备110从视频会议会话中移除的请求,并且接收已将第三设备从会议会话中移除的确认(例如,如上文结合图26所描述)。在一个或多个具体实施中,在准许电子设备110进入会议会话之后的预定时间量之后(并且在该预定时间量期间不将该电子设备逐出),电子设备115将基于连接机制最初被识别为可逐出的电子设备110识别为可信(不可逐出)设备。
在图25至图27的示例中,电子设备115可经由第一设备处的视频会议应用程序或经由基于web的应用程序(例如,使用浏览器202)连接到会议会话。
在一个或多个具体实施中,在参与者设备已从会议会话中移除之后,每个剩余的参与者设备和服务器可存储和/或更新已移除设备的列表。在一个或多个具体实施中,当会议会话结束时(例如,当最后一个参与者设备离开会议会话时),每个剩余的参与者设备和服务器可删除或重置已移除设备的列表。在一个或多个具体实施中,在参与者设备从会议会话中移除之后,剩余的参与者设备可更新对应于会议会话的加密密钥(例如,响应于视频会议会话中的成员资格已改变的服务器通知)。在一个或多个具体实施中,已信任的参与者设备(例如,由于经由会议应用程序200连接到会议会话、作为该会议会话的原始被邀请者、和/或已作为该会议会话中的参与者达至少预定时间段而被服务器知晓为被信任)可绕过期间新参与者设备将被识别为可逐出的预定时间,并且使得该新参与者设备比该预定时间到期更早地被信任(并且因此不可逐出)。
图28示出了根据一个或多个具体实施的用于获得服务特定别名的示例性过程2800的流程图。出于解释的目的,本文主要参考图1和图2的部件(尤其是参考电子设备115)来描述过程2800,该过程可由图1和图2的电子设备115的一个或多个处理器来执行。然而,过程2800不限于电子设备115,并且过程2800的一个或多个框(或操作)可由其他合适的设备(诸如电子设备117、电子设备110、电子设备119和/或一个或多个服务器(诸如服务器120和/或服务器130)中的一者或多者)的一个或多个其他部件执行。进一步出于解释的目的,过程2800的框在本文中被描述为顺序地或线性地发生。然而,过程2800的多个框可并行发生。此外,过程2800的框不必按所示顺序执行,和/或过程2800的一个或多个框不必执行和/或可由其他操作替代。
在框2802处,包括输入部件并登录到与帐户别名(例如,帐户别名702)相关联的帐户(例如,帐户700)的设备(例如,电子设备115)基于由输入部件检测到的输入来获得服务集(例如,服务708的集706,诸如“服务P”,如上文结合图7的示例所描述)的定义。例如,该服务集可包括消息传送服务、文件传递服务、视频会议服务或游戏服务中的一者或多者。
在框2804处,该设备可提供对帐户的服务特定别名(例如,服务特定别名704)的请求。该请求可包括对应于该服务集的一个或多个标识符。该请求可在设备上本地提供以用于在该设备处生成服务特定别名,或者该请求可被提供到服务器以用于在该服务器处供应服务特定别名。例如,提供对服务特定别名的请求可包括将该请求从设备提供到存储帐户的帐户别名的标识的服务器(例如,服务器120)。帐户别名可被配置为允许经由帐户别名注册到的任何服务来与和帐户相关联的一个或多个设备联系,该任何服务包括独立于服务器的至少一个服务。服务特定别名可与帐户别名分离,并且被配置为允许或拒绝经由该服务集到与帐户相关联的一个或多个设备的通信。
在框2806,在提供请求之后,设备可接收服务特定别名(例如,如上文结合图8的示例所描述)。在一个或多个具体实施中,设备可将服务特定别名从设备发送到远程设备(例如,电子设备110)以允许远程设备提供经由该服务集到与帐户相关联的一个或多个设备的通信(例如,如上文结合图9的示例所描述)。在一个或多个具体实施中,服务特定别名可以是具有在供应服务特定别名时(例如,由诸如服务器120的供应服务器)初始定义的到期时间的临时别名。在一个或多个具体实施中,设备还可基于由输入部件检测到的输入来获得该服务集的有限范围(例如,子服务710的指示,诸如会议服务的特定呼叫或会议会话),并且服务特定别名可以是服务特定且范围有限的别名,其被配置为允许或拒绝经由该服务集并在该有限范围内到与该帐户相关联的一个或多个设备的通信(例如,通过仅允许远程设备使用针对单个调度的会议会话的服务特定且范围有限的别名来联系与该帐户相关联的设备或另一设备)。
在一个或多个具体实施中,设备可检测与第二设备的基于接近度的交互(例如,如上文结合图12所描述)。提供对服务特定别名的请求可包括响应于检测到基于接近度的交互而将该请求从设备提供到存储帐户的帐户别名的标识的服务器(例如,服务器120)。服务特定别名可以是例如用于经由消息传送服务联系与帐户相关联的一个或多个设备的消息别名。
在一个或多个具体实施中,设备可检测该设备与第二设备之间的基于接近度的连接的断开(例如,如上文结合图13所描述)。提供对服务特定别名的请求可包括响应于检测到基于接近度的连接的断开而将该请求从设备提供到存储帐户的帐户别名的标识的服务器(例如,服务器120)。设备可响应于该请求从服务器接收服务特定别名。例如,服务特定别名可以是用于在更宽的区域网络上继续通过基于接近度的连接进行的文件传递的临时文件传递别名。
图29示出了根据一个或多个具体实施的用于允许或拒绝向服务特定别名提供通信的尝试的示例性过程2900的流程图。出于解释的目的,本文主要参考图1的部件(尤其是参考服务器120)来描述过程2900,该过程可由图1的服务器120的一个或多个处理器执行。然而,过程2900不限于服务器120,并且过程2900的一个或多个框(或操作)可由其他合适的设备(诸如电子设备115、电子设备117、电子设备110、电子设备119和/或一个或多个服务器(诸如服务器130)中的一者或多者)的一个或多个其他部件执行。进一步出于解释的目的,过程2900的框在本文中被描述为顺序地或线性地发生。然而,过程2900的多个框可并行地发生。此外,过程2900的框不必按所示顺序执行,和/或过程2900的一个或多个框不必执行和/或可由其他操作替代。
在框2902处,一个或多个服务器(例如,服务器120和/或服务器130)可从设备(例如,电子设备110)接收经由服务(例如,消息传送服务、会议服务或如本文所描述的其他服务)联系帐户(例如,帐户700)的请求(例如,如上文结合图10所描述)。该请求可包括针对该帐户的服务特定别名(例如,服务特定别名704),该服务特定别名可被配置用于经由服务集来与和该帐户相关联的一个或多个设备(例如,电子设备115或电子设备119)联系。例如,如果所尝试的联系是经由针对该服务特定别名的该服务器集,则一个或多个服务器可仅允许使用服务特定别名与和该帐户相关联的一个或多个设备联系。
在一个或多个具体实施中,在接收到该请求之前,一个或多个服务器可存储与服务特定别名相关联的时间信息(例如,到期时间800)。在一个或多个具体实施中,一个或多个服务器生成服务特定别名,并且在一些示例中,可在服务特定别名中包括时间信息。在一个或多个具体实施中,一个或多个服务器可在接收到该请求之前,部分地通过在服务特定别名中包括验证信息(例如,校验和)来生成服务特定别名。在一些具体实施中,验证信息可用于验证服务特定别名尚未被修改或损坏。
在框2904处,一个或多个服务器可获得针对服务特定别名的所存储的服务(例如,服务708)的集(例如,集706)。所存储的服务集可由与帐户相关联的设备定义(例如,如上文结合图7所描述)。
在框2906处,响应于确定该服务被包括在所存储的服务集中,一个或多个服务器可允许与和该帐户相关联的一个或多个设备联系。例如,一个或多个服务器存储帐户(例如,帐户700)和帐户的帐户别名(例如,帐户别名702),服务特定别名不同于帐户别名。允许联系可包括由一个或多个服务器获得针对帐户的帐户别名(例如,电话号码或电子邮件地址),以及使用帐户别名向注册到帐户的设备提供与请求相关联的信息。
在框2908处,一个或多个服务器可响应于确定该服务未被包括在所存储的服务集中而拒绝该请求。在一个或多个具体实施中,一个或多个服务器还可通过确定服务特定别名是否到期来确定是否允许经由服务与帐户的联系。例如,一个或多个服务器可响应于来自与帐户相关联的设备的供应服务特定别名的请求来设置服务特定别名将到期的到期时间(例如,如本文所讨论的到期时间800)。一个或多个服务器还可以基于来自与帐户相关联的设备(例如,请求服务特定别名的设备或与帐户相关联的另一设备)的进一步请求来延长服务特定别名的到期时间。
在一个或多个具体实施中,请求可以是经由服务的子集(例如,子服务710)联系帐户的请求,并且一个或多个服务器可部分地通过确定服务特定别名是否具有包括服务的子集的范围来确定是否允许经由服务的子集与帐户的联系。在一个或多个具体实施中,一个或多个服务器可从与帐户相关联的设备接收针对服务特定别名的范围(例如,诸如子服务710的子服务,其在一些示例中可为或包括特定会议会话)。一个或多个服务器还可存储与服务特定别名有关的范围。
在一个或多个具体实施中,一个或多个服务器还可识别与帐户相关联的一个或多个其他设备,并且向一个或多个其他设备提供关于服务特定别名的创建的通知。(例如,获取服务特定别名的通知,如上文结合图8所描述)。
图30示出了根据一个或多个具体实施的用于与共同帐户相关联的设备之间的链路同步的示例性过程3000的流程图。出于解释的目的,本文主要参考图1和图2的部件(尤其是参考电子设备115)来描述过程3000,该过程可由图1和图2的电子设备115的一个或多个处理器来执行。然而,过程3000不限于电子设备115,并且过程3000的一个或多个框(或操作)可由其他合适的设备(诸如电子设备117、电子设备110、电子设备119和/或一个或多个服务器(诸如服务器120和/或服务器130)中的一者或多者)的一个或多个其他部件执行。进一步出于解释的目的,过程3000的框在本文中被描述为顺序地或线性地发生。然而,过程3000的多个框可并行地发生。此外,过程3000的框不必按所示顺序执行,并且/或者过程3000的一个或多个框不必执行和/或可由其他操作替代。
在框3002处,与帐户(例如,帐户700)和设备标识符(例如,“设备A ID”)相关联的第一设备(例如,电子设备115)可生成加入通信会话(例如,音频通信会话或视频通信会话)的链路。
在框3004处,第一设备可生成该链路的链路标识符。例如,该链路标识符可为字母数字字符或字符串,诸如时间戳或序列号。在一个或多个具体实施中,由设备生成的每个链路可具有序列号,该序列号是比该设备生成的最后一个链路的序列号高一个数字的数字。
在框3006处,第一设备可向与帐户相关联的第二设备(例如,电子设备119)提供(例如,如上文结合图14所描述)与链路相关联的信息,该信息包括设备标识符和链路标识符。第一设备还可为从第一设备到第二设备的链路提供诸如私钥的密钥(例如,如上文结合图14所描述)。
在框3008处,第一设备或第二设备可向未登录到帐户的第三设备(例如,电子设备110)提供链路,以提供第三设备对通信会话的访问(例如,如上文结合图14所描述)。在一个或多个具体实施中,通信会话可由第一设备或第二设备发起,并且第一设备和/或第二设备可从第三设备接收加入通信会话的请求,该请求包括链路中包括的信息(例如,第一设备和第二设备的帐户的服务特定别名)。
在一个或多个具体实施中,第一设备可生成第二链路以加入不同的通信会话。在一个或多个具体实施中,第一设备还可为第二链路生成不同的链路标识符。在一个或多个具体实施中,可使用第一设备的设备标识符和不同的链路标识符来生成第二链路。
在一个或多个具体实施中,第一设备可从第二设备接收链路登记通信,该链路登记通信包括设备标识符和链路标识符(例如,如上文结合图15所描述)。第一设备可通过确定链路标识符是否满足一个或多个标准来确定是否执行针对第二设备的更新过程。例如,第一设备可通过基于确定由第二设备在链路登记通信中提供的链路标识符与在时间上早于与不同链路标识符相关联的时间的时间相关联来向第二设备提供第二链路来执行更新过程(例如,如上文结合图16所描述)。在另一示例中,第一设备可基于确定由第二设备在链路登记通信中提供的链路标识符在时间上不早于不同链路标识符来确定不执行更新过程。
在一个或多个具体实施中,第一设备可接收在与帐户相关联的第四设备(例如,电子设备1700)处生成的附加链路,该附加链路包括第四设备的设备标识符(例如,“设备CID”)和附加链路标识符。第一设备可从第四设备或从另一设备(诸如已从第四设备接收到附加链路的第二设备)接收附加链路。例如,第一设备可从第二设备接收链路登记通信(例如,在从第四设备接收到附加链路之后),该链路登记通信包括第四设备的设备标识符和进一步附加链路标识符(例如,如上文结合图17所描述)。响应于确定进一步附加链路标识符满足一个或多个标准(例如,与在时间上早于与附加链路标识符相关联的时间的时间相关联,或者是小于对应于附加链路标识符的附加序列号的序列号),第一设备可向第二设备提供(例如,如上文结合图18所描述)先前从第四设备所接收的附加链路。
在另一示例中,第一设备将第四设备的设备标识符和附加链路标识符发送到第二设备,并且在将第四设备的设备标识符和附加链路标识符发送到第二设备之后,接收包括第四设备的设备标识符和进一步附加链路标识符的进一步附加链路(例如,如上文结合图19所描述)。
图31示出了根据一个或多个具体实施的用于使用基于web的应用程序加入会议会话的示例性过程3100的流程图。出于解释的目的,本文主要参考图1和图2的部件(尤其是参考电子设备110)来描述过程3100,该过程可由图1和图2的电子设备110的一个或多个处理器来执行。然而,过程3100不限于电子设备115,并且过程3100的一个或多个框(或操作)可由其他合适的设备(诸如电子设备117、电子设备115、电子设备119和/或一个或多个服务器(诸如服务器120和/或服务器130)中的一者或多者)的一个或多个其他部件执行。进一步出于解释的目的,过程3100的框在本文中被描述为顺序地或线性地发生。然而,过程3100的多个框可并行地发生。此外,过程3100的框不必按所示顺序执行,并且/或者过程3100的一个或多个框不必执行和/或可由其他操作替代。
在框3102处,第一设备(例如,电子设备110)可获得对应于与第二设备(例如,电子设备115)的呼叫的链路。例如,可从第二设备接收(例如,在消息或电子邮件中)或从社交媒体发稿或网页接收(作为示例)该链路。
在框3104处,第一设备可在从该链路获得的域处从服务器(例如,服务器130)获得代码(例如,JavaScript或其他代码)。例如,第一设备可通过向服务器(例如,服务器130)发送代码请求(例如,HTTP请求)并响应于该代码请求接收该代码来获得该代码(例如,如上文结合图20所描述)。
在框3106处,第一设备可执行代码以使用从链路获得的密钥来加密加入呼叫的请求。例如,密钥可包括在链路中,或者密钥的经编码版本可包括在链路中。例如,密钥可为对应于由第二设备生成并且服务器不可访问的私钥的公钥。
在框3108处,第一设备可执行代码以将经加密请求发送到服务器以便递送到第二设备(例如,如上文结合图21所描述)。例如,将经加密请求发送到服务器以便递送到第二设备可包括将经加密请求与用于与第二设备相关联的帐户的别名(例如,服务特定别名)一起发送到服务器。例如,用于识别别名的信息可包括在链路中(例如,别名或别名的经编码版本可包括在链路中)。在一个或多个具体实施中,该别名不包含第二设备的用户的识别信息。例如,在一个或多个具体实施中,链路和请求不包括(1)呼叫中的当前参与者的识别信息和(2)用于解密呼叫内的通信的密钥。
在一个或多个具体实施中,该请求包括用于识别第一设备的公钥的信息。例如,第一设备的公钥或公钥的经加密或经编码版本可包括在经加密请求中或与经加密请求一起发送。
在一个或多个具体实施中,第一设备可从服务器接收对请求的经加密响应(例如,如上文结合图21所描述)。例如,可经由服务器从第二设备接收经加密响应。第一设备可使用对应于第一设备的公钥的私钥并使用使用该链路获得的密钥来解密经加密响应。第一设备可从经解密响应中获得呼叫的标识符(例如,会话ID)。第一设备可使用所获得的代码来接收加入与标识符相关联的呼叫的邀请(例如,如上文结合图22所描述)。第一设备可接收对输入部件的指示接受邀请的输入,并且可基于接收到该输入来加入该呼叫。在各种具体实施中,经加密响应可包括向作为呼叫中的参与者的第三设备提供并且已由第一设备或与和第一设备的帐户相关联的第四设备加密的批准(例如,如上文结合图23和/或图24所描述)。
在一个或多个具体实施中,第一设备可使用所获得的代码从服务器获得第一设备的临时标识符(例如,如上文结合图20所描述)。第一设备可将临时标识符与经加密请求一起提供到服务器,和/或服务器可存储与请求、呼叫和/或第一设备相关联的临时标识符。服务器可限制可从与临时标识符相关联的任何设备作出的请求的数量(例如,直到可信设备(诸如已在呼叫中超过最短时间量的设备、或包括在呼叫的原始邀请中的设备)批准来自与临时标识符相关联的设备的请求)。
图32示出了根据一个或多个具体实施的用于逐出会议会话中的参与者的示例性过程3200的流程图。出于解释的目的,本文主要参考图1和图2的部件(尤其是参考电子设备115)来描述过程3200,该过程可由图1和图2的电子设备115的一个或多个处理器来执行。然而,过程3200不限于电子设备115,并且过程3200的一个或多个框(或操作)可由其他合适的设备(诸如电子设备117、电子设备110、电子设备119和/或一个或多个服务器(诸如服务器120和/或服务器130)中的一者或多者)的一个或多个其他部件执行。进一步出于解释的目的,过程3200的框在本文中被描述为顺序地或线性地发生。然而,过程3200的多个框可并行地发生。此外,过程3200的框不必按所示顺序执行,并且/或者过程3200的一个或多个框不必执行和/或可由其他操作替代。
在框3202处,第一设备(例如,电子设备115)连接到会议会话。例如,会议会话可对应于语音呼叫或视频呼叫。例如,连接到会议会话可包括经由第一设备处的会议应用程序将第一设备连接到会议会话。作为另一示例,连接到会议会话可包括经由基于web的应用程序将第一设备连接到会议会话。
在框3204处,根据确定能够将第二设备(例如,电子设备110)从会议会话中逐出(例如,第二设备是可逐出设备),使得能够通过传输逐出指令(例如,通过传输逐出请求,如上文结合图25和图26所描述)来将第二设备从会议会话中逐出。在一些示例中,该使能由第一设备执行(例如,通过确定第二设备是否已处于会议会话中达预定时间段和/或通过确定第二设备的加入方法或连接机制)。在一些示例中,该使能由服务器执行(例如,通过确定第二设备是否已处于会议会话中达预定时间段和/或通过确定第二设备的加入方法或连接机制)。
例如,第一设备和/或服务器可确定在准许第二设备进入会议会话之后的预定时间量内能够将第二设备从会议会话中逐出(例如,基于对应于该预定时间量的逐出因子)。在一个或多个具体实施中,当第一设备在会议会话的至少一部分期间(例如,在预定时间量结束之前)与第二设备交换至少音频流时,使得能够将第二设备从会议会话中逐出。在一些示例中,在准许第二设备进入会议会话之后的预定时间量之后,第一设备和/或服务器和/或另一参与者设备确定不再能够将第二设备逐出。
在一些示例中,第一设备可基于对应于第二设备通过其连接到会议会话的第一连接机制(例如,设备处的会议应用程序或基于web的应用程序)的第一连接因子(例如,加入方法因子)来确定能够将第二设备从会议会话中逐出。例如,第一连接机制可以是第二设备处的会议应用程序。在一些示例中,第一设备不能从会议会话中移除由第二设备处的会议应用程序连接到会议会话的第二设备。在一些示例中,第一设备是会议会话的发起者。
在框3206处,根据确定不能将第三设备(例如,电子设备110或另一电子设备)从会议会话中逐出(例如,第三设备是不可逐出设备),可禁止将第三设备从会议会话中逐出。第三设备可不同于第一设备。例如,第一设备和/或服务器可确定在准许第三设备进入会议会话之后的预定时间量之后,不能将第三设备从会议会话中逐出。在一个或多个具体实施中,第三设备是第二设备。
在一些示例中,第一设备可基于对应于第三设备通过其连接到会议会话的第二连接机制的第二连接因子来确定不能将第三设备够从会议会话中逐出。例如,第二连接机制可以是第二设备处的基于web的应用程序。在一个或多个具体实施中,第二设备不发起会议会话。在一个或多个具体实施中,第三设备不发起会议会话。
在一个或多个具体实施中,在准许第二设备进入会议会话之后的预定时间量之前,当能够通过传输逐出指令(例如,逐出请求)而将第二设备从会议会话中逐出时,第一设备可从第一设备向服务器(例如,服务器130)传输逐出指令。第一设备可在第一设备处从服务器接收已将第二设备从会议会话中逐出的确认(例如,如上文结合图25和图26所描述)。
在一个或多个具体实施中,在准许第三设备进入会议会话之后的预定时间量之后,当禁止将第三设备从会议会话中逐出时,第一设备可向服务器(例如,服务器130)传输逐出第三设备的指令。第一设备可在第一设备处从服务器接收指示不能将第三设备从会议会话中逐出的响应(例如,如上文结合图25和图27所描述)。
在一些示例中,第一设备在准许第二设备进入视频会议会话时起动定时器。在一些示例中,会议会话中的另一参与者设备也在准许第二设备进入视频会议会话时起动定时器,并且在第三参与者设备的定时器到期之后将第二设备识别为不可逐出设备。
在一些示例中,在会议会话期间在第一设备与第二设备之间中继数据的服务器(例如,服务器130)也在第二设备进入会议会话时起动定时器,并在服务器的定时器到期之后将第二设备识别为不可逐出设备。在一些示例中,第一设备的定时器不同于服务器的定时器。在一些示例中,在预定时间量之前(例如,在第一设备处用于第二设备的定时器到期之前),当第二设备被第一设备识别为可逐出设备(例如,并且被服务器识别为不可逐出设备)时,第一设备向服务器提供从会议会话中移除第二设备的请求,并且接收指示不能将第二设备从会议会话中移除的响应(例如,如上文结合图25和图27所描述)。
如本文所述,本主题技术的各方面可包括从应用程序到其他用户的计算设备的数据的收集和传递。本公开设想,在一些实例中,该所收集的数据可包括唯一地识别或可用于识别具体人员的个人信息数据。此类个人信息数据可包括人口统计数据、基于位置的数据、在线标识符、电话号码、电子邮件地址、家庭地址、图像、与用户的健康或健身级别相关的数据或记录(例如,生命特征测量、药物信息、锻炼信息)、出生日期或任何其他个人信息。
本公开认识到在本发明技术中使用此类个人信息数据可用于使用户受益。例如,个人信息数据可用于为电子设备提供会议会话。此外,本公开还预期个人信息数据有益于用户的其他用途。例如,健康和健身数据可根据用户的偏好来使用以提供对其总体健康状况的见解,或者可用作对使用技术来追求健康目标的个体的积极反馈。
本公开设想负责收集、分析、公开、传输、存储或其他使用此类个人信息数据的实体将遵守既定的隐私政策和/或隐私实践。具体地,将期望此类实体实现和一贯地应用一般公认为满足或超过维护用户隐私的行业或政府所要求的隐私实践。关于使用个人数据的此类信息应当被突出地并能够被用户方便地访问,并应当随数据的收集和/或使用变化而被更新。用户的个人信息应被收集仅用于合法使用。另外,此类收集/共享应仅发生在接收到用户同意或在适用法律中所规定的其他合法根据之后。另外,此类实体应考虑采取任何必要步骤,保卫和保障对此类个人信息数据的访问,并确保有权访问个人信息数据的其他人遵守其隐私政策和流程。另外,这种实体可使其本身经受第三方评估以证明其遵守广泛接受的隐私政策和实践。此外,应针对被收集和/或访问的特定类型的个人信息数据调整政策和实践,并使其适用于适用法律和标准,包括可用于施加较高标准的辖区专有的具体考虑因素。例如,在美国,对某些健康数据的收集或获取可能受联邦和/或州法律的管辖,诸如健康保险流通和责任法案(HIPAA);而其他国家的健康数据可能受到其他法规和政策的约束并应相应处理。
不管前述情况如何,本公开还设想用户选择性地阻止使用或访问个人信息数据的具体实施。即本公开预期可提供硬件元件和/或软件元件,以防止或阻止对此类个人信息数据的访问。例如,就电子设备的会议会话而言,本技术可被配置为在注册服务期间或之后任何时候允许用户选择“选择加入”或“选择退出”参与对个人信息数据的收集。除了提供“选择加入”和“选择退出”选项外,本公开还设想提供与访问或使用个人信息相关的通知。例如,可在下载应用时向用户通知其个人信息数据将被访问,然后就在个人信息数据被应用访问之前再次提醒用户。
此外,本公开的目的是应管理和处理个人信息数据以最小化无意或未经授权访问或使用的风险。一旦不再需要数据,通过限制数据收集和删除数据可最小化风险。此外,并且当适用时,包括在某些健康相关应用程序中,数据去标识可用于保护用户的隐私。可在适当时通过移除标识符、控制所存储数据的量或特异性(例如,在城市级别而不是在地址级别收集位置数据)、控制数据如何被存储(例如,在用户间汇集数据)和/或其他方法诸如差异化隐私来促进去标识。
因此,虽然本公开广泛地覆盖了使用个人信息数据来实现一个或多个各种所公开的实施方案,但本公开还预期各种实施方案也可在无需访问此类个人信息数据的情况下被实现。即,本发明技术的各种实施方案不会由于缺少此类个人信息数据的全部或一部分而无法正常进行。
图33示出了可用于实现本主题技术的一个或多个具体实施的电子系统3300。电子系统3300可以是图1所示的电子设备110、电子设备115、电子设备117、电子设备119、服务器120和/或服务器130并且/或者可以是其一部分。电子系统3300可包括各种类型的计算机可读介质以及用于各种其他类型的计算机可读介质的接口。电子系统3300包括总线3308、一个或多个处理单元3312、系统存储器3304(和/或缓冲器)、ROM 3310、永久性存储设备3302、输入设备接口3314、输出设备接口3306以及一个或多个网络接口3316、或它们的子集和变型形式。
总线3308总体表示通信地连接电子系统3300的许多内部设备的所有系统、外围设备以及芯片组总线。在一个或多个具体实施中,总线3308将一个或多个处理单元3312与ROM3310、系统存储器3304和永久性存储设备3302通信地连接。一个或多个处理单元3312从这些各种存储器单元检索要执行的指令和要处理的数据,以便执行本主题公开的过程。在不同的具体实施中,一个或多个处理单元3312可以是单个处理器或多核处理器。
ROM 3310存储一个或多个处理单元3312以及电子系统3300的其他模块需要的静态数据和指令。另一方面,永久性存储设备3302可以是读写存储器设备。永久性存储设备3302可以是即使在电子系统3300关闭时也存储指令和数据的非易失性存储器单元。在一个或多个具体实施中,海量存储设备(诸如磁盘或光盘及其对应盘驱动器)可用作永久性存储设备3302。
在一个或多个具体实施中,可移除存储设备(诸如软盘、闪存驱动器及其对应盘驱动器)可用作永久性存储设备3302。与永久性存储设备3302一样,系统存储器3304可以是读写存储器设备。然而,与永久性存储设备3302不同,系统存储器3304可以是易失性读写存储器,诸如随机存取存储器。系统存储器3304可存储一个或多个处理单元3312在运行时可能需要的指令和数据中的任何指令和数据。在一个或多个具体实施中,本主题公开的过程被存储在系统存储器3304、永久性存储设备3302和/或ROM 3310中。一个或多个处理单元3312从这些各种存储器单元检索要执行的指令和要处理的数据,以便执行一个或多个具体实施的过程。
总线3308还连接到输入设备接口3314和输出设备接口3306。输入设备接口3314使得用户能够向电子系统3300传送信息以及选择命令。可与输入设备接口3314一起使用的输入设备可包括例如字母数字混合键盘和指向设备(也称为“光标控制设备”)。输出设备接口3306可使得例如能够显示电子系统3300所生成的图像。可与输出设备接口3306一起使用的输出设备可包括例如打印机和显示设备,诸如液晶显示器(LCD)、发光二极管(LED)显示器、有机发光二极管(OLED)显示器、柔性显示器、平板显示器、固态显示器、投影仪或用于输出信息的任何其他设备。一个或多个具体实施可包括既充当输入设备又充当输出设备的设备,诸如触摸屏。在这些具体实施中,提供给用户的反馈可以是任何形式的感官反馈,诸如视觉反馈、听觉反馈或触觉反馈;并且可以任何形式接收来自用户的输入,包括声学、语音或触觉输入。
最后,如图33所示,总线3308还通过一个或多个网络接口3316将电子系统3300耦接到一个或多个网络和/或耦接到一个或多个网络节点,诸如图1所示的电子设备115。以此方式,电子系统3300可为计算机网络(诸如LAN、广域网(“WAN”)或内联网)的一部分,或者可为网络的网络(诸如互联网)的一部分。电子系统3300的任何或所有部件可与本主题公开一起使用。
根据本主题公开的各个方面,提供了一种设备,该设备包括存储器和至少一个处理器,该至少一个处理器通信地耦接到该存储器并且被配置为:接收统一资源定位符(URL)的多个分量;验证该多个分量是否包括该URL的一个或多个预期分量;响应于验证该多个分量包括该URL的一个或多个预期分量,确定该URL的一个或多个预期分量中的至少一个分量的内容是否有效;响应于确定该URL的该一个或多个预期分量中的该至少一个分量的该内容有效,对该URL的该一个或多个预期分量中的该至少一个分量的该内容进行编码;以及通过将该URL的该一个或多个预期分量中的该至少一个分量的经编码内容与该URL的至少一个附加分量组合来汇编该URL。
根据本主题公开的各个方面,提供了一种非暂态计算机可读介质,该非暂态计算机可读介质包括指令,该指令在由至少一个计算设备执行时,致使该至少一个计算设备执行操作,该操作包括:在第一设备处接收统一资源定位符(URL)的多个分量;验证该多个分量是否包括该URL的一个或多个预期分量;响应于验证该多个分量包括该URL的一个或多个预期分量,确定该URL的该一个或多个预期分量中的至少一个分量的内容是否有效;响应于确定该URL的该一个或多个预期分量中的至少一个分量的内容有效,对该URL的该一个或多个预期分量中的该至少一个分量的该内容进行编码;以及通过将该URL的该一个或多个预期分量中的该至少一个分量的经编码内容与该URL的至少一个附加分量组合来汇编该URL。
根据本主题公开的各方面,提供了一种方法,该方法包括:在第一设备处接收统一资源定位符(URL)的多个分量;验证该多个分量是否包括该URL的一个或多个预期分量;响应于验证该多个分量包括该URL的一个或多个预期分量,确定该URL的该一个或多个预期分量中的至少一个分量的内容是否有效;响应于确定该URL的该一个或多个预期分量中的至少一个分量的内容有效,对该URL的该一个或多个预期分量中的该至少一个分量的该内容进行编码;以及通过将该URL的该一个或多个预期分量中的该至少一个分量的经编码内容与该URL的至少一个附加分量组合来汇编该URL。
根据本主题公开的各个方面,提供了一种方法,该方法包括:在第一设备处接收加入与第二设备的呼叫的请求,该请求包括统一资源定位符(URL)的多个分量;由该第一设备使用该URL的该多个分量来汇编该URL;以及由该第一设备使用经汇编URL来加入该呼叫。
根据本主题公开的各个方面,提供了一种方法,该方法包括:由包括输入部件并登录到与帐户别名相关联的帐户的设备:基于由该输入部件检测到的输入,获得服务集的定义;提供对该帐户的服务特定别名的请求,该请求包括对应于该服务集的一个或多个标识符,该服务特定别名与该帐户别名分离并且被配置为允许或拒绝经由该服务集到与该帐户相关联的一个或多个设备的通信;以及在提供该请求之后,接收该服务特定别名。
根据本主题公开的各个方面,提供了一种方法,该方法包括由一个或多个服务器:从设备接收经由服务来联系帐户的请求,该请求包括该帐户的服务特定别名,并且被配置用于经由服务集与和该帐户相关联的一个或多个设备联系;获得针对该服务特定别名的所存储的服务集,所存储的服务集由与该帐户相关联的设备定义;响应于确定该服务被包括在所存储的服务集中,允许与和该帐户相关联的一个或多个设备联系;以及响应于确定该服务不包括在所存储的服务集中,拒绝该请求。
根据本主题公开的各个方面,提供了一种方法,该方法包括:由与帐户和设备标识符相关联的第一设备生成加入通信会话的链路;由该第一设备生成该链路的链路标识符;从该第一设备向与该帐户相关联的第二设备提供与该链路相关联的信息,该信息包括该设备标识符和该链路标识符;以及从该第一设备或该第二设备向未登录到该帐户的第三设备提供该链路以提供该第三设备对该通信会话的访问。
根据本主题公开的各个方面,提供了一种方法,该方法包括由第一设备:获得对应于与第二设备的呼叫的链路;在从该链路获得的域处从服务器获得代码;以及执行该代码以:使用使用该链路获得的密钥来加密加入该呼叫的请求;以及将经加密请求发送到该服务器以便递送到该第二设备。
根据本主题公开的各个方面,提供了一种方法,该方法包括由第一设备:连接到会议会话;确定第二设备的逐出因子;以及基于该逐出因子,将该第二设备识别为可从该会议会话中逐出的可逐出设备或者不可从该会议会话逐出中的不可逐出设备。
根据本主题公开的各个方面,提供了一种方法,该方法包括:由第一设备连接到会议会话;根据确定能够将第二设备从该会议会话中逐出,使得能够通过传输逐出指令而将该第二设备从该会议会话中逐出;并且根据确定不能将第三设备从该会议会话中逐出,禁止将该第三设备从该会议会话中逐出,其中该第三设备不同于该第一设备。
可以利用编写有一个或多个指令的有形计算机可读存储介质(或一种或多种类型的多个有形计算机可读存储介质)部分地或全部地实现本公开范围之内的具体实施。有形计算机可读存储介质实质上也可以是非暂态的。
计算机可读存储介质可以是任何可以由通用或专用计算设备读、写或以其他方式访问的存储介质,包括任何能够执行指令的处理电子器件和/或处理电路。例如,非限制地,计算机可读介质可包括任何易失性半导体存储器,诸如RAM、DRAM、SRAM、T-RAM、Z-RAM和TTRAM。计算机可读介质也可包括任何非易失性半导体存储器,诸如ROM、PROM、EPROM、EEPROM、NVRAM、闪存、nvSRAM、FeRAM、FeTRAM、MRAM、PRAM、CBRAM、SONOS、RRAM、NRAM、赛道存储器、FJG和Millipede存储器。
此外,计算机可读存储介质可包括任何非半导体存储器,诸如光盘存储装置、磁盘存储装置、磁带、其他磁性存储设备或者能够存储一个或多个指令的任何其他介质。在一个或多个具体实施中,有形计算机可读存储介质可直接耦接到计算设备,而在其他具体实施中,有形计算机可读存储介质可例如经由一个或多个有线连接、一个或多个无线连接、或它们的任意组合而间接地耦接到计算设备。
指令可以是直接能执行的,或者可用于开发可执行指令。例如,指令可被实现为可执行的或不可执行的机器代码,或者可被实现为可被编译以产生可执行的或不可执行的机器代码的高级语言指令。此外,指令也可被实现为数据,或者可包括数据。计算机可执行指令也可以任何格式组织,包括例程、子例程、程序、数据结构、对象、模块、应用程序、小程序、函数等。如本领域技术人员认识到的那样,包括但不限于指令的数量、结构、序列和组织的细节可明显不同,而不改变底层的逻辑、功能、处理和输出。
虽然以上论述主要涉及执行软件的微处理器或多核处理器,但一个或多个具体实施由一个或多个集成电路诸如ASIC或FPGA执行。在一个或多个具体实施中,此类集成电路执行存储在电路自身上的指令。
本领域的技术人员将会认识到,本文所述的各种例示性的框、模块、元件、部件、方法和算法可被实现为电子硬件、计算机软件或两者的组合。为了说明硬件和软件的这种可互换性,上文已经一般性地按照功能性对各种例示性的框、模块、元件、部件、方法和算法进行了描述。此类功能性是被实现为硬件还是软件取决于具体应用程序以及对整个系统施加的设计约束。技术人员对于每个具体应用程序可通过不同方式实现所描述的功能性。各种部件和框可被不同地布置(例如,以不同的顺序排列,或以不同的方式划分),而不脱离本主题技术的范围。
应当理解,本发明所公开的过程中的框的特定顺序或层级结构为示例性方法的例示。基于设计优选要求,应当理解,过程中的框的特定顺序或者层级结构可被重新布置或者所有示出的框都被执行。这些框中的任何框可被同时执行。在一个或多个具体实施中,多任务和并行处理可能是有利的。此外,上述具体实施中各个系统部件的划分不应被理解为在所有具体实施中都要求此类划分,并且应当理解,程序部件和系统可一般性地被一起整合在单个软件产品中或者封装到多个软件产品中。
如本说明书以及本专利申请的任何权利要求中所用,术语“基站”、“接收器”、“计算机”、“服务器”、“处理器”及“存储器”均是指电子设备或其他技术设备。这些术语排除人或者人的群组。出于本说明书的目的,术语“显示”或“正在显示”意指在电子设备上显示。
如本文所用,在用术语“和”或“或”分开项目中任何项目的一系列项目之后的短语“中的至少一者”是将列表作为整体进行修饰,而不是修饰列表中的每个成员(即每个项目)。短语“中的至少一者”不要求选择所列出的每个项目中的至少一个;相反,该短语允许包括任何一个项目中的至少一个和/或项目的任何组合中的至少一个和/或每个项目中的至少一个的含义。举例来说,短语“A、B和C中的至少一者”或“A、B或C中的至少一者”各自是指仅A、仅B或仅C;A、B和C的任意组合;和/或A、B和C中的每一个中的至少一个。
谓词字词“被配置为”、“能够操作以”以及“被编程以”并不意味着对某一主题进行任何特定的有形或无形的修改而是旨在可互换使用。在一个或多个具体实施中,被配置为监视和控制操作或部件的处理器也可以是意指处理器被编程以监视和控制操作或者处理器可操作以监视和控制操作。同样,被配置为执行代码的处理器可解释为被编程以执行代码或能够操作以执行代码的处理器。
短语诸如方面、该方面、另一方面、一些方面、一个或多个方面、具体实施、该具体实施、另一具体实施、一些具体实施、一个或多个具体实施、实施方案、该实施方案、另一实施方案、一些实施方案、一个或多个实施方案、配置、该配置、其他配置、一些配置、一种或多种配置、主题技术、公开、本公开、它们的其他变型等等都是为了方便,并不意味着涉及这样的一个或多个短语的公开对于主题技术是必不可少的,也不意味着这种公开适用于主题技术的所有配置。涉及此类一个或多个短语的公开可适用于所有配置或一个或多个配置。涉及此类一个或多个短语的公开可提供一个或多个示例。短语诸如方面或一些方面可指代一个或多个方面,反之亦然,并且这与其他前述短语类似地应用。
字词“示例性”在本文中被用于意指“用作示例、实例或者例示”。在本文中被描述为“示例性的”或作为“示例”的任何实施方案不必被理解为优选于或优于其他具体实施。此外,术语“包括”、“具有”等在一定程度上用于说明书或权利要求中,这样的术语旨在以类似于术语“包括”当用作过渡字词用于权利要求中时“包括”被解释的方式包含在内。
本领域的普通技术人员已知或稍后悉知的贯穿本公开描述的各个方面的元素的所有结构和功能等同物通过引用明确地并入本文,并且旨在被权利要求书所涵盖。此外,本文所公开的任何内容并非旨在提供给公众,而与该公开是否明确地被陈述在权利要求中无关。不应根据35U.S.C.§112(f)的规定解释任何权利要求要素,除非使用短语“用于……的装置”明确陈述了该要素,或者就方法权利要求而言,使用短语“用于……的步骤”陈述了该要素。
先前的描述被提供以使得本领域的技术人员能够实践本文所述的各个方面。这些方面的各种修改对本领域的技术人员而言是显而易见的,并且本文所限定的通用原则可应用于其他方面。因此,本权利要求书并非旨在受限于本文所示的方面,而是旨在使得全部范围与语言权利要求书一致,其中对奇异值中的元素的引用并非旨在意味着“仅仅一个”,而是指“一个或多个”,除非被具体指出。除非另外特别说明,否则术语“一些”是指一个或多个。男性的代名词(例如,他的)包括女性和中性(例如,她的和它的),并且反之亦然。标题和子标题(如果有的话)仅为了方便起见而使用并且不限制本主题公开。

Claims (59)

1.一种方法,包括:
在第一设备处接收加入与第二设备的呼叫的请求,所述请求包括统一资源定位符(URL)的多个分量;
由所述第一设备使用所述URL的所述多个分量来汇编所述URL;以及
由所述第一设备使用经汇编URL来加入所述呼叫。
2.根据权利要求1所述的方法,其中汇编所述URL包括基于由所述第一设备验证所述多个分量包括所述URL的一个或多个预期分量来汇编所述URL,所述方法还包括:
在所述第一设备处接收包括附加统一资源定位符(URL)的附加多个分量的附加请求;以及
基于确定所述附加多个分量不包括所述附加URL的一个或多个预期分量,不汇编所述附加URL。
3.根据权利要求1所述的方法,还包括由所述第一设备确定所述URL的所述多个分量中的至少一个分量的内容是否有效。
4.根据权利要求1所述的方法,还包括由所述第一设备对所述URL的至少一个所述分量进行编码以产生至少一个经编码分量,其中所述至少一个经编码分量包括在经汇编URL中。
5.根据权利要求1所述的方法,还包括由所述第一设备通过以下步骤来汇编所述URL:
获得所述URL的域;以及
将所述域包括在经汇编URL中。
6.根据权利要求1所述的方法,其中所述呼叫是音频呼叫或视频呼叫。
7.根据权利要求1所述的方法,还包括:
由所述第一设备尝试使用经汇编URL通过浏览器连接到所述呼叫;以及
由所述第一设备使用经汇编URL来加入所述呼叫,而不向对应于所述URL的服务器提供包括在所述多个分量中的密钥。
8.根据权利要求7所述的方法,还包括由所述第一设备使用所述密钥对从所述第一设备到所述第二设备的请求加入消息进行签名,其中所述第二设备是所述呼叫的发起设备。
9.一种方法,包括:
由包括输入部件并登录到帐户的设备,其中所述帐户与帐户别名相关联:
基于由所述输入部件检测到的输入,获得服务集的定义;
提供对所述帐户的服务特定别名的请求,所述请求包括对应于所述服务集的一个或多个标识符,其中所述服务特定别名与所述帐户别名分离并且被配置为允许或拒绝经由所述服务集到与所述帐户相关联的一个或多个设备的通信;以及
在提供所述请求之后,接收所述服务特定别名。
10.根据权利要求9所述的方法,还包括:
由所述设备检测与第二设备的基于接近度的交互,
其中提供对所述服务特定别名的所述请求包括响应于检测到所述基于接近度的交互而将所述请求从所述设备提供到存储所述帐户的所述帐户别名的标识的服务器,并且
其中所述服务特定别名是用于经由消息传送服务联系与所述帐户相关联的所述一个或多个设备的消息别名。
11.根据权利要求9所述的方法,还包括:
由所述设备检测所述设备与第二设备之间的基于接近度的连接的断开,并且
其中提供对所述服务特定别名的所述请求包括响应于检测到所述基于接近度的连接的所述断开而将所述请求从所述设备提供到存储所述帐户的所述帐户别名的标识的服务器。
12.根据权利要求9所述的方法,还包括将所述服务特定别名从所述设备发送到远程设备以允许所述远程设备提供经由所述服务集到与所述帐户相关联的所述一个或多个设备的通信。
13.根据权利要求9所述的方法,其中所述服务集包括消息传送服务、文件传递服务、视频会议服务或游戏服务中的一者或多者。
14.根据权利要求9所述的方法,其中所述服务特定别名是具有在供应所述服务特定别名时初始定义的到期时间的临时别名。
15.根据权利要求9所述的方法,还包括基于由所述输入部件检测到的所述输入来获得所述服务集的有限范围,其中所述服务特定别名是服务特定且范围有限的别名,其被配置为允许或拒绝经由所述服务集并在所述有限范围内到与所述帐户相关联的所述一个或多个设备的通信。
16.根据权利要求9所述的方法,其中提供对所述服务特定别名的所述请求包括将所述请求从所述设备提供到存储所述帐户的所述帐户别名的标识的服务器,并且其中所述帐户别名被配置为允许经由所述帐户别名注册到的任何服务来与和所述帐户相关联的所述一个或多个设备联系,所述任何服务包括独立于所述服务器的至少一个服务。
17.一种方法,包括:
由一个或多个服务器:
从设备接收经由服务来联系帐户的请求,其中所述请求包括所述帐户的服务特定别名,其中所述服务特定别名被配置用于经由服务集与和所述帐户相关联的一个或多个设备联系;
获得针对所述服务特定别名的所存储的服务集,其中所存储的服务集由与所述帐户相关联的设备定义;
响应于确定所述服务被包括在所存储的服务集中,允许与和所述帐户相关联的一个或多个设备联系;以及
响应于确定所述服务不包括在所存储的服务集中,拒绝所述请求。
18.根据权利要求17所述的方法,其中所述一个或多个服务器存储帐户和所述帐户的帐户别名,所述服务特定别名不同于所述帐户别名,并且其中允许所述联系包括由所述一个或多个服务器:
获得所述帐户的所述帐户别名;以及
使用所述帐户别名向注册到所述帐户的设备提供与所述请求相关联的信息。
19.根据权利要求17所述的方法,还包括由所述一个或多个服务器通过确定所述服务特定别名是否到期来确定是否允许经由所述服务与所述帐户的所述联系。
20.根据权利要求19所述的方法,还包括由所述一个或多个服务器:
响应于来自与所述帐户相关联的所述设备的供应所述服务特定别名的请求,设置所述服务特定别名将到期的到期时间。
21.根据权利要求20所述的方法,还包括由所述一个或多个服务器基于来自与所述帐户相关联的设备的进一步请求来延长所述服务特定别名的所述到期时间。
22.根据权利要求17所述的方法,其中所述请求是经由所述服务的子集联系所述帐户的请求,所述方法还包括由所述一个或多个服务器:
部分地通过确定所述服务特定别名是否具有包括所述服务的所述子集的范围来确定是否允许经由所述服务的所述子集与所述帐户的所述联系。
23.根据权利要求17所述的方法,还包括由所述一个或多个服务器并且在接收到所述请求之前存储与所述服务特定别名相关联的时间信息。
24.根据权利要求17所述的方法,还包括由所述一个或多个服务器:
识别与所述帐户相关联的一个或多个其他设备;以及
向所述一个或多个其他设备提供关于所述服务特定别名的创建的通知。
25.一种方法,包括:
由与帐户和设备标识符相关联的第一设备生成加入通信会话的链路;
由所述第一设备生成所述链路的链路标识符;
从所述第一设备向与所述帐户相关联的第二设备提供与所述链路相关联的信息,所述信息包括所述设备标识符和所述链路标识符;以及
从所述第一设备或所述第二设备向未登录到所述帐户的第三设备提供所述链路以提供所述第三设备对所述通信会话的访问。
26.根据权利要求25所述的方法,还包括:
由所述第一设备或所述第二设备发起所述通信会话;以及
由所述第一设备或所述第二设备从所述第三设备接收加入所述通信会话的请求,所述请求包括所述链路中包括的信息。
27.根据权利要求25所述的方法,还包括由所述第一设备生成加入不同通信会话的第二链路,其中使用所述第一设备的所述设备标识符和不同的链路标识符来生成所述第二链路。
28.根据权利要求27所述的方法,还包括:
在所述第一设备处从所述第二设备接收链路登记通信,所述链路登记通信包括所述设备标识符和所述链路标识符;以及
通过确定所述链路标识符是否满足一个或多个标准来确定是否执行针对所述第二设备的更新过程。
29.根据权利要求28所述的方法,还包括由所述第一设备:
通过基于确定由所述第二设备在所述链路登记通信中提供的所述链路标识符与在时间上早于与所述不同链路标识符相关联的时间的时间相关联来向所述第二设备提供所述第二链路来执行所述更新过程;以及
基于确定由所述第二设备在所述链路登记通信中提供的所述链路标识符在时间上不早于所述不同链路标识符来确定不执行所述更新过程。
30.根据权利要求25所述的方法,还包括由所述第一设备接收在与所述帐户相关联的第四设备处生成的附加链路,所述附加链路包括所述第四设备的设备标识符和附加链路标识符。
31.根据权利要求30所述的方法,还包括由所述第一设备:
从所述第二设备接收链路登记通信,所述链路登记通信包括所述第四设备的所述设备标识符和进一步附加链路标识符;以及
响应于确定所述进一步附加链路标识符满足一个或多个标准,将先前从所述第四设备所接收的所述附加链路提供到所述第二设备。
32.根据权利要求30所述的方法,还包括由所述第一设备:
将所述第四设备的所述设备标识符和所述附加链路标识符发送到所述第二设备;以及
在将所述第四设备的所述设备标识符和所述附加链路标识符发送到所述第二设备之后,接收包括所述第四设备的所述设备标识符和进一步附加链路标识符的进一步附加链路。
33.根据权利要求25所述的方法,还包括针对从所述第一设备到所述第二设备的所述链路提供私钥。
34.一种方法,包括:
由第一设备:
获得对应于与第二设备的呼叫的链路;
在从所述链路获得的域处从服务器获得代码;以及
执行所述代码以:
使用利用所述链路获得的密钥来加密加入所述呼叫的请求;以及
将经加密请求发送到所述服务器以便递送到所述第二设备。
35.根据权利要求34所述的方法,其中所述链路包括统一资源定位符(URL)。
36.根据权利要求34所述的方法,其中加入所述呼叫的所述请求包括加入正在进行的呼叫的请求。
37.根据权利要求34所述的方法,其中将经加密请求发送到所述服务器以递送到所述第二设备包括将经加密请求连同与所述第二设备相关联的帐户的别名一起发送到所述服务器,其中用于识别所述别名的信息包括在所述链路中。
38.根据权利要求34所述的方法,其中所述链路和所述请求不包括(1)所述呼叫中的当前参与者的识别信息和(2)用于解密所述呼叫内的通信的密钥。
39.根据权利要求34所述的方法,其中所述请求包括用于识别所述第一设备的公钥的信息。
40.根据权利要求39所述的方法,还包括:
由所述第一设备:
从所述服务器接收对所述请求的经加密响应;
使用对应于所述第一设备的所述公钥的私钥并使用利用所述链路获得的所述密钥来解密经加密响应;以及
从经解密响应中获得所述呼叫的标识符。
41.根据权利要求40所述的方法,还包括:
由所述第一设备:
使用所获得的代码接收加入与所述标识符相关联的呼叫的邀请;
接收对输入部件的指示接受所述邀请的输入;以及
基于接收到所述输入来加入所述呼叫。
42.根据权利要求40所述的方法,其中经由所述服务器从所述第二设备接收经加密响应。
43.根据权利要求42所述的方法,其中经加密响应包括向作为所述呼叫中的参与者并且已由所述第一设备加密的第三设备或与和所述第一设备相关联的帐户相关联的第四设备提供的批准。
44.根据权利要求34所述的方法,还包括由所述第一设备:
使用所获得的代码从所述服务器获得所述第一设备的临时标识符;以及
将所述临时标识符与经加密请求一起提供到所述服务器。
45.一种方法,包括:
由第一设备连接到会议会话;
根据确定能够将第二设备从所述会议会话中逐出,使得能够通过传输逐出指令而将所述第二设备从所述会议会话中逐出;以及
根据确定不能将第三设备从所述会议会话中逐出,禁止将所述第三设备从所述会议会话中逐出,其中所述第三设备不同于所述第一设备。
46.根据权利要求45所述的方法,其中所述第二设备不发起所述会议会话。
47.根据权利要求46所述的方法,其中所述第三设备不发起所述会议会话。
48.根据权利要求45所述的方法,还包括:
由所述第一设备确定在准许所述第二设备进入所述会议会话之后的预定时间量内,能够将所述第二设备从所述会议会话中逐出;以及
由所述第一设备确定在准许所述第三设备进入所述会议会话之后的所述预定时间量之后,不能将所述第三设备从所述会议会话中逐出。
49.根据权利要求48所述的方法,还包括在所述准许所述第二设备进入所述会议会话之后的所述预定时间量之前,在能够通过所述传输所述逐出指令而将所述第二设备从所述会议会话中逐出时:
从所述第一设备向服务器传输所述逐出指令;以及
在所述第一设备处从所述服务器接收已将所述第二设备从所述会议会话中逐出的确认。
50.根据权利要求48所述的方法,还包括在所述准许所述第三设备进入所述会议会话之后的所述预定时间量之后,在禁止将所述第三设备从所述会议会话中逐出时:
从所述第一设备向服务器传输逐出所述第三设备的指令;以及
在所述第一设备处从所述服务器接收指示不能将所述第三设备从所述会议会话中逐出的响应。
51.根据权利要求45所述的方法,还包括:
由所述第一设备基于对应于所述第二设备通过其连接到所述会议会话的第一连接机制的第一连接因子来确定能够将所述第二设备从所述会议会话中逐出;以及
由所述第一设备基于对应于所述第三设备通过其连接到所述会议会话的第二连接机制的第二连接因子来确定不能将所述第三设备从所述会议会话中逐出。
52.根据权利要求51所述的方法,其中所述第一连接机制包括所述第二设备处的会议应用程序。
53.根据权利要求51所述的方法,其中所述第二连接机制包括所述第三设备处的基于web的应用程序。
54.根据权利要求45所述的方法,其中当所述第一设备在所述会议会话的至少一部分期间与所述第二设备交换至少音频流时,使得能够将所述第二设备从所述会议会话中逐出。
55.根据权利要求45所述的方法,其中连接到所述会议会话包括经由所述第一设备处的会议应用程序连接到所述会议会话。
56.根据权利要求45所述的方法,其中连接到所述会议会话包括经由基于web的应用程序连接到所述会议会话。
57.根据权利要求45所述的方法,其中所述第三设备是所述第二设备。
58.一种非暂态计算机可读介质,所述非暂态计算机可读介质存储指令,所述指令在由一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1至57中任一项所述的方法。
59.一种电子设备,包括:
存储器;
一个或多个处理器,所述一个或多个处理器被配置为执行根据权利要求1至57中任一项所述的方法。
CN202180092441.7A 2021-01-29 2021-12-14 电子会议 Pending CN116918314A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US63/143,714 2021-01-29
US63/189,148 2021-05-15
US17/485,277 US20220247590A1 (en) 2021-01-29 2021-09-24 Electronic conferencing
US17/485,277 2021-09-24
PCT/US2021/063225 WO2022164523A1 (en) 2021-01-29 2021-12-14 Electronic conferencing

Publications (1)

Publication Number Publication Date
CN116918314A true CN116918314A (zh) 2023-10-20

Family

ID=88361340

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180092441.7A Pending CN116918314A (zh) 2021-01-29 2021-12-14 电子会议

Country Status (1)

Country Link
CN (1) CN116918314A (zh)

Similar Documents

Publication Publication Date Title
US10142300B1 (en) Decentralized authoritative messaging
EP2972949B1 (en) Wireless data privacy maintained through a social network
US8200819B2 (en) Method and apparatuses for network society associating
US12028385B2 (en) Electronic conferencing
US20180367540A1 (en) Controlling access to content
KR20220045962A (ko) 개인 오버레이 피어 투 피어 네트워크를 사용하여 통신하기 위한 인사말 프로토콜 시스템 및 방법
US20240080312A1 (en) Conversation merging for electronic devices
US9866591B1 (en) Enterprise messaging platform
TW200826582A (en) System, method, apparatus, and computer program product for providing a social network diagram in a P2P network device
EP4260539B1 (en) Electronic conferencing
US11882215B2 (en) Handling joining and leaving of participants in videoconferencing with end-to-end encryption
US12057949B2 (en) Systems and methods for identifying at-risk meetings
Sabah et al. Developing an end-to-end secure chat application
US11595789B2 (en) Missed communication notification
US11848767B2 (en) Privacy-preserving electronic publication and subscription systems
US11330003B1 (en) Enterprise messaging platform
US20150242501A1 (en) Social network address book
US11831774B2 (en) System and method of authenticating devices for secure data exchange
CN116918314A (zh) 电子会议
US20240356916A1 (en) Secure peer-to-peer based communication sessions via network operating system in secure data network
Strauch Privacy in Social Networks

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