CN105009519A - 用于来自协作应用会话的对等式发现和连接的方法和*** - Google Patents
用于来自协作应用会话的对等式发现和连接的方法和*** Download PDFInfo
- Publication number
- CN105009519A CN105009519A CN201380066710.8A CN201380066710A CN105009519A CN 105009519 A CN105009519 A CN 105009519A CN 201380066710 A CN201380066710 A CN 201380066710A CN 105009519 A CN105009519 A CN 105009519A
- Authority
- CN
- China
- Prior art keywords
- peer
- client terminal
- reciprocity
- terminal device
- message
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1068—Discovery involving direct consultation or announcement among potential requesting and potential source peers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1091—Interfacing with client-server systems or between P2P systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
Abstract
本文中提供了用于开始来自协作会话的实时、对等式通信的方法和***。例如,实时、对等式通信包括通过诸如对等式会议技术的对等式连接共享诸如媒体内容的内容。更特定来说,例如,从其中多个客户端与远程访问应用协作地交互的所述协作会话内部,所述***和方法能够发现主动地参与所述协作会话的所述客户端(例如,对等节点)且能够在成对所述客户端之间建立对等式连接。
Description
技术领域
本申请要求2012年11月23日提交、标题为“METHODS ANDSYSTEMS FOR PROVIDING COLLABORATION AND PEER-TO-PEERCOMMUNICATION USING MANAGED AND UNMANAGED SERVICES”的美国临时专利申请第61/729,481号的优先权,所述申请的全文以引用的方式并入本文。
背景技术
对等式服务可以能够在用户装置之间进行实时、对等式通信(例如,对等式会议技术)。例如,对等式服务可以允许一对用户装置建立对等式连接,然后,用户装置可以例如通过对等式连接共享内容,例如,媒体内容,诸如音频、视频、桌面屏幕捕捉、图像库等。然而,对等式服务无法提供用于发现潜在对等装置的机制。此外,在所述对的用户装置之间建立对等式连接之前,对等式服务无法提供用于使所述对的用户装置进行通信的机制。
发明内容
本文中提供了用于开始来自协作会话的实时、对等式通信的方法和***。例如,实时、对等式通信包括通过对等式连接(诸如对等式会议技术)共享内容,诸如媒体内容。更特定来说,例如,从其中多个客户端与远程访问应用协作地交互的所述协作会话内部,所述***和方法能够发现主动地参与所述协作会话的所述客户端(例如,对等节点)且能够在成对所述客户端之间建立对等式连接。
一种结合对等式服务使用的示例性对等式发现和连接建立框架可包括协作服务,其使多个客户端装置能够在应用会话内协作地交互。换句话说,所述客户端装置可以是在所述应用会话内协作地交互的参与者。此外,所述协作服务可包括协作管理器,其被配置来在所述客户端装置之间传递一个或多个消息以允许所述客户端装置中的至少一个发现在所述应用会话内协作地交互的所述客户端装置。例如,所述协作管理器可允许所述参与者中的一个发现在所述应用会话内协作地交互的其它参与者。所述协作管理器还可被配置来在一对所述客户端装置之间建立对等式连接。所述消息可用于在各自对的所述客户端装置之间建立对等式连接。
一种结合对等式服务使用的对等式发现和连接建立的示例性方法可包括促进应用会话,其中多个客户端装置在所述应用会话内协作地交互;允许所述客户端装置中的至少一个发现在所述应用会话内协作地交互的所述客户端装置;和在所述客户端装置之间传递一个或多个消息以在一对所述客户端装置之间建立对等式连接。所述消息可用于在各自对的所述客户端装置之间建立对等式连接。
在一些实施方式中,在所述客户端装置之间传递一个或多个消息可包括从所述客户端装置中的一个接收开始对等式连接的请求;和将所述请求广播到所述客户端装置。可替代地或此外,在所述客户端装置之间传递一个或多个消息可包括在所述客户端装置之间根据提议-应答协议传递提议消息和应答消息。
此外,所述对等式服务使所述对的客户端装置能够例如通过所述对等式连接共享内容,诸如媒体内容。例如,在建立所述对等式连接之后(例如,通过在所述客户端装置之间传递所述消息),所述对等式服务可用于通过所述对等式连接共享所述媒体内容。换句话说,所述对等式连接和所述对等式服务提供用于共享所述媒体内容的通信信道。例如,所述媒体内容可以是音频或视频。此外,可在不使用所述协作服务的资源的情况下(即,在所述应用会话外)通过所述对等式连接共享所述媒体内容。
在一些实施方式中,可使用由所述协作服务维持的会话信息发现在所述应用会话内协作地交互的所述客户端装置。可替代地或此外,所述协作服务可通过维持所述应用会话的状态和在所述客户端装置之间传递所述应用会话的所述状态使所述客户端装置能够在所述应用会话内协作地交互。所述应用会话的所述状态维持在状态模型中,例如,其中所述状态模型中的信息用于对等式发现和连接。
更特定来说,一种用于结合对等式服务使用的对等式发现和连接建立的示例性方法可包括从协作服务获得每个装置的会话识别符,包括在协作应用会话中活动的本地对等装置的本地会话识别符和远程对等装置(例如,在所述本地对等装置远端)的远程会话识别符。发现和连接可包括确定所述本地会话识别符是否小于所述远程会话识别符,且如果所述本地会话识别符小于所述远程会话识别符,那么将提议消息从所述本地对等装置发送到所述远程对等装置。此外,所述方法可包括在所述本地对等装置处接收来自所述远程对等装置的应答消息;和在所述本地对等装置与所述远程对等装置之间建立对等式连接。根据所述方法,可使用所述协作服务交换所述提议消息和所述应答消息。在建立所述对等式连接之后(例如,通过在所述本地对等装置与所述远程对等装置之间传递所述消息),所述对等式服务可用于通过所述对等式连接共享媒体内容。此外,可在不使用所述协作服务的资源的情况下(即,在所述应用会话外)通过所述对等式连接共享所述媒体内容。此外,所述本地对等装置和所述远程对等装置可继续在协作应用周围协作,同时通过所述对等式连接共享所述媒体内容。
用于结合对等式服务使用的对等式发现和连接建立的另一示例性方法可包括从协作服务获得每个装置的会话识别符,包括在协作应用会话中活动的本地对等装置的本地会话识别符和远程对等装置(例如,在所述本地对等装置远端)的远程会话识别符。发现和连接可包括确定所述本地会话识别符是否小于所述远程会话识别符,且如果所述本地会话识别符大于所述远程会话识别符,那么将提议消息从所述本地对等装置发送到所述远程对等装置。此外,所述方法可包括在所述本地对等装置处接收来自所述远程对等装置的应答消息;和在所述本地对等装置与所述远程对等装置之间建立对等式连接。根据所述方法,可使用所述协作服务交换所述提议消息和所述应答消息。在建立所述对等式连接之后(例如,通过在所述本地对等装置与所述远程对等装置之间传递所述消息),所述对等式服务可用于通过所述对等式连接共享媒体内容。此外,可在不使用所述协作服务的资源的情况下(即,在所述应用会话外)通过所述对等式连接共享所述媒体内容。此外,所述本地对等装置和所述远程对等装置可继续在协作应用周围协作,同时通过所述对等式连接共享所述媒体内容。
用于结合对等式服务使用的对等式发现和连接建立的又一示例性方法可包括从协作服务获得每个装置的会话识别符,包括在协作应用会话中活动的本地对等装置的本地会话识别符和多个远程对等装置(例如,在所述本地对等装置远端)的多个远程会话识别符。发现和连接可包括在所述本地对等装置处,使用由以下公式界定的函数确定将提议消息发送到所述远程对等装置中的哪个:
f(a,a)=假,和
当且仅当a!=b且f(b,a)=假时,f(a,b)=真,
在所述本地对等装置处接收来自所述远程对等装置(例如,所述提议消息被发送到的远程对等装置)的应答消息;和在所述本地对等装置与所述远程对等装置之间建立对等式连接。根据所述方法,可使用所述协作服务交换所述提议消息和所述应答消息。在建立所述对等式连接之后(例如,通过在所述本地对等装置与所述远程对等装置之间传递所述消息),所述对等式服务可用于通过所述对等式连接共享媒体内容。此外,可在不使用所述协作服务的资源的情况下(即,在所述应用会话外)通过所述对等式连接共享所述媒体内容。此外,所述本地对等装置和所述远程对等装置可继续在协作应用周围协作,同时通过所述对等式连接共享所述媒体内容。
应了解,上述标的物还可以实施为计算机控制设备、计算机程序、计算***或制造品,诸如计算机可读存储介质。
在查阅下文附图和详细描述之后,其它***、方法、特征和/或优点将或可以对本领域的技术人员变得显而易见。希望所有这些额外***、方法、特征和/或优点包括在本发明描述内且受所附权利要求书保护。
附图说明
附图中的组件不一定相对彼此按比例绘制。在全部几个视图中,相似参考数字指定对应部件。
图1为描述用于提供对等式发现和连接建立的环境的方框图;
图2为描述图1的环境内的通信流程的调用流程图;
图3A-3C描述多个节点之间的对等式连接;
图4为描述用于在协作会话周围建立对等式连接的示例性操作的流程图;
图5为描述用于在协作会话周围建立对等式连接的示例性操作的另一流程图;
图6为描述远程访问环境的方框图;
图7描述在借助于视频会议技术进行的协作会话期间的示例性用户界面;和
图8为描述示例性计算装置的方框图。
具体实施方式
除非另有定义,否则本文中所使用的所有技术术语和科技术语均具有如本领域普通技术人员所普遍理解的相同含义。相似于或等效于本文中所述的方法和材料可用于实行或测试本发明。如本说明书和所附权利要求书中所使用的,除非另有清楚规定,否则单数形式“一”、“一个”和“所述”包括复数形式。如本文中所使用,术语“包括(comprising)”和其变词与术语“包括(including)”和其变词同义连用且为开放性、非限制性术语。虽然将描述用于能够在远程访问应用周围进行实时对等式会议技术的实施方式,但对本领域的技术人员显而易见的是实施方式并不限于此,而是可适用于能够在任何类型的协作会话周围进行实时对等式连接。
概述
根据本发明的方面,可能能够发现对等装置和建立对等式连接。如上所述,对等式框架无法提供用于发现潜在对等装置的机制。因此,可由协作服务提供对等装置发现,这使多个客户端装置能够例如与远程访问应用协作地交互。作为其管理功能的部分,协作服务可维持会话信息,包括在协作会话中活动的客户端装置的身份。会话信息可用于允许客户端装置发现同样在协作会话中活动的客户端装置。此外,协作服务可提供从在协作会话中活动的客户端装置/到其的消息(例如,根据提议-应答协议的消息)的传输,这能够建立对等式连接。因此,可能利用协作服务的功能以便能够建立对等式连接。
在建立对等式连接之后,例如,可通过对等式连接共享内容,诸如媒体内容(例如,音频、视频等)。因为通过对等式连接共享媒体内容,所以不影响协作服务上的负荷,例如,协作服务所使用的资源不涉及共享媒体内容。换句话说,如本文中所使用的,通过对等式连接共享媒体内容(包括音频和/或视频)(实例1)应与在协作会话期间共享媒体内容(包括音频和/或视频)(实例2)区别开来,因为协作服务不涉及实例1。应了解,共享媒体内容(特定来说在会议技术会话期间共享的音频和/或视频)(例如)可消耗大量资源。此负荷可因此转移到客户端装置的资源而非协作服务的资源。此外,直接在客户端装置之间安全地共享媒体内容。例如,通过对等式连接共享媒体内容可添加额外安全性,因为其减少了从被入侵的服务器进行窃听的可能性。
示例性环境
现在参考图1,示出了描述用于提供对等式发现和连接建立的环境100的方框图。环境100存在诸多可能的无限制用途,诸如能够进行对等式发现和连接建立。例如,环境100可使参与协作会话(例如,在远程访问应用周围协作)的节点能够发现一个或多个对等节点。此外,环境100可以能够在参与协作会话的一个或多个对等节点之间建立对等式连接。环境100可包括客户端装置1,112A(本文中也称为客户端计算装置112A)、客户端装置2,112B(本文中也称为客户端计算装置112B)和客户端装置3,112C(本文中也称为客户端计算装置112C)、以及协作服务106。本文中,客户端计算装置112A、112B、112C也称为“对等节点”、“客户端装置”和/或“用户装置”。此外,在对等式框架内,每个装置将其自身看成是本地的(例如,本地对等)而将所有其它装置看成是远程的。应了解,环境100仅作为示例性环境而提供且环境100可包括比如图1中所示更多或更少的组件。
客户端计算装置112A、112B和112C每个可为经由通信网络连接到协作服务106的任何适当计算装置。例如,客户端计算装置112A、112B和112C每个可以为无线手持型装置诸如,例如智能电话(诸如基于IOS的IPHONE或基于ANDROID的装置)、桌上型/笔记型个人计算机或平板型计算机。应注意到通信网络的连接可以为任何类型的连接,例如,Wi-Fi(IEEE 802.11x)、WiMax(IEEE 802.16)、Ethernet、3G、4G等。
协作服务106允许(例如)经由共享状态和消息传递协作访问共享资源,诸如应用或数据。协作服务106可借助于一个或多个计算装置或服务器(例如,关于图8所述的通用计算装置)和一个或多个应用来实施。协作服务106可使客户端计算装置112A、112B、112C能够参与协作会话。例如,协作服务106可使客户端计算装置112A、112B、112C能够与远程访问应用108协作地交互。尽管在远程访问应用周围的协作作为实例而提供,但本发明预期协作服务106可使客户端计算装置112A、112B、112C能够与其它类型的远程访问数据或服务协作地交互。协作服务106可通过在协作服务106与客户端计算装置112A、112B、112C之间更新和/或传输状态模型200使客户端计算装置112A、112B、112C能够协作地交互。因而,参与协作会话的客户端计算装置112A、112B、112C中的每个均可呈现远程访问应用108的同步视图。状态模型200可包括关于远程访问应用108的应用状态信息和/或关于协作会话的会话信息。状态模型200可由例如可扩展标记语言(XML)文档表示。应了解,可使用状态模型200的其它表示。
此外,协作服务106可包括协作管理器110,其可提供从参与协作会话(例如,在远程访问应用108周围协作)的客户端计算装置112A、112B、112C传递消息/将消息传递到其的能力。例如,协作管理器110可提供一般消息传递特征(“CollaborationManager”)以促进将消息传递到个别客户端计算装置(即,“CollaborationManager#sendMessage”)和/或促进将消息同时地传递到多个客户端计算装置(即,“CollaborationManager#sendBroadcastMessage”)。如下所述,协作管理器110通过在协作服务106与客户端计算装置112A、112B、112C之间传递消息能够进行对等式发现和连接建立。
客户端计算装置112A、112B、112C可执行客户端应用120A、120B、120C(诸如网络浏览器),以能够进行用户交互以例如在图形显示器中按人可理解的方式显示数据和/或图像以及取决于接收的用户指令确定用户输入数据。任选地,图形显示器可为触敏显示器(即,触屏)。客户端应用120A、120B、120C还可与协作服务106协作以能够在客户端计算装置112A、112B、112C之间进行协作。此外,客户端计算装置112A、112B、112C可执行对等式框架118A、118B、118C。对等式框架118A、118B、118C(例如)通过在各自对的客户端计算装置112A、112B、112C之间建立的对等式连接(例如,图1中的对等式连接300)可以能够进行内容共享,诸如媒体内容。本发明预期可在任何对的客户端计算装置112A、112B、112C之间、在空中建立对等式连接。例如,对等式框架118A、118B、118C可包括一个或多个API,其提供通过上述通信网络进行实时、对等式通信的能力。API可以能够进行对等式连接的建立/创建(例如,使用提议-应答协议)、对等式连接的管理和/或本地资源(诸如网络摄影机、麦克风等)的管理。在建立对等式连接之后,可通过对等式连接实时地共享媒体内容,包括但不限于音频、视频、文字、数据、桌面屏幕捕捉和图像库。例如,媒体内容可被客户端计算装置112A、112B、112C的本地媒体资源(诸如网络摄影机、麦克风等)采撷且经由对等式框架118A、118B、118C被共享。
一个示例性对等式框架为WEBRTC(可在http://webrtc.org上购买)。WEBRTC包括与HTML集成在一起以提供通过计算机网络进行的实时、对等式通信的多个JavaScript API。例如,WEBRTC包括提供对本地媒体资源的访问的的API(“getUserMedia”),这允许本地媒体资源附接到本地元件进行显示和/或通过对等式连接传达。此外,WEBRTC包括提供管理一对客户端计算装置之间的对等式连接的能力的API(“PeerConnection”)。此API提供通过管理传输协议、视频/音频编解码、网络地址转译(NAT)寻访详情等商定媒体资源共享的能力。此API提供定义创建对等式连接必需的信息的提议-应答协议。使用此API,媒体资源可附接到远程元件进行显示。此外,WEBRTC包括提供原始数据信道进行通用通信的API。应了解,WEBRTC仅为一个示例性框架且本发明预期使用相似框架的实施方式。
然而,对等式框架(诸如WEBRTC)例如无法提供发现潜在对等节点的能力。换句话说,对等式框架无法使一个客户端计算装置能够发现(或寻找、识别等)一个或多个对等客户端计算装置以便建立对等式连接。如下文更详细论述的,可由协作服务(例如,图1中的协作服务106)提供此功能。例如,除了能够在远程访问应用108周围协作外,协作服务106还可提供检测对等节点和建立对等式连接的能力。使用协作管理器110,协作服务106可将消息(例如,连接请求消息、提议消息、应答消息等)传递到客户端计算装置112A、112B、112C以能够在任何对的客户端计算装置112A、112B、112C之间、在空中进行对等式发现和对等式连接的建立。接着,对等式框架118A、118B、118C可提供通过对等式连接共享媒体内容或其它内容的能力。因此,协作服务器和对等式框架可协同工作以能够进行对等式通信。此外,虽然对等式发现和连接建立程序依赖于协作服务,但在建立对等式连接时,协作服务不涉及对等式通信(例如,媒体内容共享),这降低协作服务上的负荷。
示例性通信流程
现在参考图2,示出了描述图1的环境内的通信流程的调用流程图。特定来说,例如,调用流程图描述客户端计算装置112A、112B、112C之间的对等式连接的建立。尽管图2描述三个客户端装置之间的对等式连接的建立,但应了解,所述操作可用于在任何数量的客户端装置之间建立对等式连接。调用流程图划分成若干阶段,即,协作230、对等式发现240和对等式通信250。在协作阶段230期间,客户端计算装置112A、112B、112C(例如,参与者)可在远程访问应用(例如,图1的远程访问应用108)周围协作,且协作服务106用于在客户端计算装置112A、112B、112C之间传达状态模型200。
应了解,每个对等式连接在两个节点之间。因此,API(诸如上述PeerConnection)在对等式连接的一端处发送一个提议和接收对所述提议的一个应答,或接收一个提议和发送一个应答,以建立对等式连接。为了连接两个以上节点,所述节点中的每个与所有其它节点建立对等式连接(例如,通过交换例如提议-应答消息)。然而,对于每对节点,所述对中的节点中的仅一个需要发送提议消息以便所述对中的节点中的另一个作出应答。现在参考图3A-3C,示出了多个节点之间的对等式连接。例如,在图3A-3C中,三个、四个和五个节点***分别需要三个、六个和十个连接。应了解,连接数量随节点数量增加而增加。还应了解,本发明预期使能够在任何数量的节点(大于或等于两个节点)之间进行实时对等式连接。
再次参考图2,为了建立对等式连接和开始实时对等式通信,客户端计算装置112A、112B、112C中的任何一个可发送开始对等式通信的消息(“startPeerToPeer”),而不管谁在承载协作会话。例如,如图2中所示,客户端计算装置112B可发送startPeerToPeer消息(流程202)。例如,startPeerToPeer消息可使用CollaborationManager#sendBroadcastMessage来发送以便确保startPeerToPeer消息发送到参与协作会话的所有节点。startPeerToPeer消息可因此广播到在远程访问应用周围协作的每个节点。例如,startPeerToPeer消息可从客户端计算装置112B发送到协作服务106。接着,协作服务106可将startPeerToPeer消息广播到客户端计算装置112A、112B、112C(流程204)。此外,在对等式发现阶段240期间,客户端计算装置112A、112B、112C可继续在远程访问应用周围协作(例如,状态模型200继续在客户端计算装置112A、112B、112C与协作服务106之间传递)。使用协作管理器110,可能识别活动会话和参与者(例如,客户端计算装置112A、112B、112C)。
在接收startPeerToPeer消息之后,接收节点(即,本地对等装置)可例如使用API(诸如getUserMedia)访问并存储其本地媒体资源。本地对等装置可从协作会话信息识别一个或多个对等装置(即,远程对等装置)。例如,本地对等装置可获得活动会话识别符(例如,与使用“CollaborationManager#getActiveSessions”的远程活动对等装置相关联的会话识别符)的清单和其自身本地会话识别符(使用“CollaborationManager#getSessionId”)(流程206)。如上述,协作服务106可维持会话信息作为状态信息的部分,例如,作为状态模型200的部分。因此,可能确定在给定时间使用协作管理器110远程地访问应用的装置。本地对等装置可接着比较其会话识别符(“localSessionId”)与每个获得的其它活动会话识别符(“remoteSessionId”)。本地对等装置可识别大于自身会话识别符的活动会话识别符(“localSessionId<remoteSessionId”)。以此方式,本地对等装置可使用最小作业量识别发送有提议消息的对等装置。换句话说,本地对等装置可将提议消息发送到具有较大会话识别符的对等装置而不将提议消息发送到具有较小会话识别符的对等装置。这防止将提议消息从一对装置中的每个发送到所述对中的另一个。例如,在图2的三个节点会话中,客户端计算装置112A将提议消息发送到客户端计算装置112B、112C,客户端计算装置112B将提议消息发送到客户端计算装置112C,而客户端计算装置112C不发送任何提议消息。因此,可能降低在建立对等式连接时发送的总消息数量。此外,可能将对等式连接的数量限于每对装置一个。还应了解,可替代地,本地对等装置可比较其会话识别符与每个获得的活动会话识别符(“localSessionId>remoteSessionId”)并仅将提议消息发送到具有较小会话识别符的对等装置以完成相同目的。换句话说,本地对等装置可将提议消息发送到具有较小会话识别符的对等装置而不将提议消息发送到具有较大会话识别符的对等装置。可替代地或此外,本地对等装置可使用遵循协议(1)的任何函数来确定将提议消息发送到哪个装置。
f(a,a)=假 (1)
当且仅当a!=b且f(b,a)=假时,f(a,b)=真
接着,对于具有较大会话识别符的每个对等装置,本地对等装置可例如使用API(诸如PeerConnection)创建本地对等连接对象。本地对等装置可接着将如上所论述般存储的其本地媒体资源附接到本地对等连接对象。本地对等装置可基于目的地会话识别符(例如,发送有提议消息的装置的会话识别符)存储本地对等连接对象。因此,可存储且随后访问每个本地对等连接对象(即,每个对等连接1个)。
本地对等装置可接着例如使用API(诸如PeerConnection)创建提议消息(“createOffer”)。提议消息可包括与本地对等装置相关联的一个或多个属性。所述属性可包括关于需要建立对等式连接的本地对等装置的任何信息。本地对等装置可将自身会话识别符添加到提议消息的字段(诸如“fromfield”),这允许发送有提议消息的装置识别来源装置。例如,本地对等装置可接着将提议消息发送到目的地节点(即,远程对等装置)。例如,这可使用CollaborationManager#sendMessage来完成。例如,在图2的三个节点会话中,客户端计算装置112A将提议消息发送到客户端计算装置112B、112C(例如,图2中的发送(客户端2)提议客户端1-2和发送(客户端3)提议客户端1-3),客户端计算装置112B将提议消息发送到客户端计算装置112C(例如,图2中的发送(客户端3)提议客户端2-3),而客户端计算装置112C不发送任何提议消息(流程208)。如图2中所示,本地对等装置将提议消息发送到协作服务106,协作服务106将提议消息传递到远程对等装置。例如,协作服务106将提议消息从客户端计算装置112A传递到客户端计算装置112B、112C(例如,图2中的提议客户端1-2和提议客户端1-3),而协作服务106将提议消息从客户端计算装置112B传递到客户端计算装置112C(例如,图2中的提议客户端2-3)(流程210)。此外,客户端计算装置112A、112B、112C可继续在远程访问应用周围协作(例如,状态模型200继续在客户端计算装置112A、112B、112C与协作服务106之间传递)。
在接收提议消息之后,远程对等装置可例如使用API(诸如PeerConnection)创建远程对等连接对象。远程对等装置可将如上所论述般存储的其本地媒体资源附接到远程对等连接对象。远程对等装置也可将与本地对等装置相关联的一个或多个属性(“setRemoteDescription”)附接到远程对等连接对象。远程对等装置可接着例如使用API(诸如PeerConnection)创建应答消息(“createAnswer”)。应答消息可包括与远程对等装置相关联的一个或多个属性。所述属性可包括关于需要建立对等式连接的远程对等装置的任何信息。
远程对等装置可将其自身会话识别符添加到应答消息的字段(诸如“from field”),这允许发送有应答消息的装置识别来源装置。例如,远程对等装置可接着将应答消息发送回到本地对等装置。例如,这可使用CollaborationManager#sendMessage来完成。在接收应答消息之后,本地对等装置可访问基于目的地会话识别符存储的本地对等连接对象,并附接与远程对等装置相关联的一个或多个属性(“setRemoteDescription”)。例如,在图2的三个节点会话中,客户端计算装置112C将应答消息发送到客户端计算装置112A、112B(例如,图2中的发送(客户端1)应答客户端3-1和发送(客户端2)应答客户端3-2),而客户端计算装置112B将应答消息发送到客户端计算装置112A(例如,图2中的发送(客户端1)应答客户端2-1)(流程212)。此外,如图2中所示,远程对等装置将应答消息发送到协作服务106,而协作服务106将应答消息传递到本地对等装置。例如,在图2的三个节点会话中,协作服务106将应答消息从客户端计算装置112C传递到客户端计算装置112A、112B(例如,图2中的应答客户端3-1和应答客户端3-2),而协作服务106将应答消息从客户端计算装置112B传递到客户端计算装置112A(例如,图2中的应答客户端2-1)(流程214)。此外,客户端计算装置112A、112B、112C可继续在远程访问应用周围协作(例如,状态模型200继续在客户端计算装置112A、112B、112C与协作服务106之间传递)。
接着进行本地对等装置与远程对等装置之间的对等式连接。如上所述,在已交换所有提议消息和应答消息之后,对等式框架118A、118B、118C连接本地对等连接对象和远程对等连接对象,且可通知所述装置中的每个流式传输已开始(例如,通过触发“onaddstream event”)。例如,如图2中所示,在客户端计算装置112A与112B、客户端计算装置112A与112C和客户端计算装置112B与112C之间建置各自对等式连接300。在建立对等式连接300之后,媒体内容可在客户端计算装置112A、112B、112C之间流式传输。此外,媒体内容可在无需由协作服务106管理的情况下流式传输,这降低协作服务106上的负荷。例如,在对等式通信阶段250期间,客户端计算装置112A、112B、112C可继续在远程访问应用周围协作(例如,状态模型200继续在客户端计算装置112A、112B、112C与协作服务106之间传递)。因此,可能使用协作服务106发现对等装置(例如,参与协作会话的对等装置)并建立对等式连接。此外,对等式框架(诸如图1中所示的对等式框架118A、118B、118C)例如可用于共享对等式连接的内容。此外,例如,可能在远程访问应用周围协作,并且提供对等式通信能力,诸如会议技术能力。在开始时,实时、对等式通信不利用协作服务106的资源。因此,可能降低协作服务106上的负荷,因为使用对等式连接而非使用协作服务106共享媒体内容。应了解,在多个节点之间提供实时、对等式通信需要大量网络资源,这可使网络资源要担负提供协作服务。
此外,在新装置添加到现有实时对等式会话时,新装置可发送startPeerToPeer消息。如上所述,startPeerToPeer消息可广播到多个装置。接着,可由接收装置(即,本地对等装置)中的每个执行上述程序。然而,本地对等装置无需将另一提议消息发送到与其存在活动对等式连接的远程对等装置。因此,本地对等装置仅将提议消息发送到新装置。
此外,在协作会话内参与会议的装置可离开会议。例如,现有装置可通过发送bye消息明确地离开会议。例如,现有装置可视需要在from字段中包括其会话识别符作为bye消息的部分。bye消息可使用CollaborationManager#sendBroadcastMessage来发送以便将所述消息同时地发送到参与协作会话的多个装置。bye消息可通知其它装置现有装置正离开会议。例如,其它装置可使用bye消息内的from字段内的信息识别现有装置且接着关闭对应对等式连接(即,连接现存装置和其它装置中的每个的对等式连接)。现有装置也可关闭其与其它装置中的每个的对等式连接。因此,可能提供对等式连接的完全切断,而对于其它装置会议继续。
此外,如果在现有装置未明确地离开会议的情况下关闭现有装置的浏览器,那么现有装置不发送bye消息。然而,参与会议的其它装置可通知现有装置停止共享媒体内容(例如,音频、视频等)并尝试重新连接和/或关闭对应对等式连接。例如,WEBRTC使用称为交互连接建立(ICE)的***以通过计算机网络连接对等装置。ICE被配置来通知何时失去对等式连接和触发重新连接尝试。例如,仍待在会议中的装置(即,现有装置的对等装置)可触发onIceCandidate事件。WEBRTC监听onIceCandidate事件并检查活动会话清单(即,使用CollaborationManager#getActiveSessions)以确定是否仍存在远程会话。如果不存在远程会话,那么所述装置关闭对等式连接,而对于其余装置会议继续。
现在参考图4,示出了描述用于对等式发现和连接建立的示例性操作400的流程图。在402处,促进协作会话,其中多个客户端计算装置在协作会话(诸如应用会话)内协作地交互。例如,上文关于图1描述了用于促进多个客户端计算装置的协作会话的环境。在404处,客户端计算装置可发现在协作会话内协作地交互的客户端计算装置。例如,客户端计算装置可从由协作服务(诸如关于图1和2所述的协作服务106)维持的会议信息发现在协作会话内协作地交互的客户端计算装置。接着,在406处,在于协作会话内协作地交互的客户端计算装置之间传递一个或多个消息。例如,协作服务(诸如关于图1和2所述的协作服务106)可与客户端计算装置交换消息。所述消息用于在参与协作会话的一对(若干对)客户端计算装置之间建立对等式连接。
现再参考图5,示出了描述用于对等式发现和连接建立的示例性操作500的流程图。在502处,从协作服务获得在协作会话中活动的本地对等装置的本地会话识别符和远程对等装置的远程会话识别符。例如,可使用如上文关于图2所述的“CollaborationManager#getSessionID”获得本地会话识别符和远程会话识别符。在504处,作出关于本地会话识别符是否小于远程会话识别符的确定。例如,如关于图2所述的,这允许每个对等装置确定将提议消息发送到其它对等装置中的哪个同时最小化发送的提议消息数量。接着,在505处,如果本地会话识别符不小于远程会话识别符,那么不将提议消息从本地对等装置发送到远程对等装置。另一方面,在506处,如果本地会话识别符小于远程会话识别符,那么使用协作服务将提议消息从本地对等装置发送到远程对等装置。例如,可使用如上文关于图2所述的“CollaborationManager#sendMessage”发送提议消息。在508处,在本地客户端对等装置处使用协作服务接收来自远程对等装置的应答消息。例如,可使用协作服务(诸如关于图1和2所述的协作服务106)传输提议消息和应答消息。在510处,在本地客户端计算装置与远程客户端计算装置之间建立对等式连接。如上所述,可接着通过对等式连接共享媒体内容。例如,在建立对等式连接(例如,对等式连接300)之后,可使用对等式框架(诸如关于图1所述的对等式框架118A、118B、118C)共享媒体内容。
现在参考图6,示出远程访问环境600的方框图。例如,远程访问环境600可使能够进行协作会话,诸如上述协作会话。如图6中所示,远程访问环境600包括客户端602(例如,图1的客户端计算装置112A、112B或112C)、服务器604和服务器606(例如,图1的远程访问应用108)。本发明预期可由客户端602、服务器604和服务606的任何组合实施协作管理器(例如,图1的协作管理器106B)。远程访问环境600允许客户端602与服务606之间的视图(例如,显示元件)的同步。此外,远程访问环境600允许客户端602与服务606之间的用户输入的同步。例如,服务器604可管理应用状态(其可包括但不限于应用和会话信息),且通过管理应用状态,可能使客户端602与服务606之间的视图和用户输入同步。如上文关于图1和2所述,可使用状态模型管理应用状态。远程访问环境600可视需要被增强以能够进行对等式发现和连接建立。换句话说,服务器604通过管理应用状态(包括会话信息)可允许一个(或多个)参与者发现协作会话中的活动参与者。此外,服务器604可促进消息传输以在协作会话中的活动参与者之间建立对等式连接(“commands”)。视需要,远程访问环境600可为在标题为“METHOD AND SYSTEM FOR PROVIDINGREMOTE ACCESS TO A STATE OF AN APPLICATION PROGRAM”的美国专利申请公开第2010/0131591号中所述的远程访问环境。示例性远程访问环境为可购自加拿大,艾伯塔,卡尔加里Calgary Scientific公司的PUREWEB。
现在参考图7,示出了描述借助于视频会议技术进行的协作会话的示例性用户界面700。使用本文中所述的***和方法,可能在协作会话周围(例如,在远程访问应用周围协作)提供实时、对等式通信能力(例如,会议技术能力)。如上所述,协作会话可涉及远程地访问应用(诸如医学成像应用)并在其周围协作的多个客户端计算装置。如为可购自加拿大,艾伯塔,卡尔加里Calgary Scientific公司的PUREWEB平台的网络或移动用途启用的RESOLUTIONMD成像软件为示例性医学成像应用。例如,使用RESOLUTIONMD,客户端计算装置可协作并查看医学图像710。此外,使用本文中所述的***和方法,例如,参与协作会话的客户端计算装置中的任何一个可使用图标720开始实时、对等式通信。可基于从协作会话信息收集的信息识别一个或多个对等客户端计算装置(例如,在远程访问应用周围协作的客户端计算装置中的一个或多个),且可在能够进行协作会话的服务器与客户端计算装置之间传递消息以建立对等式连接。因此,可能在协作会话周围提供实时、对等式通信能力。如图7中所示,可在用户界面700中提供视频730(或实时对等式通信)。
图8示出了其中可以实施示例性实施方案和方面的示例性计算环境。计算***环境仅为合适计算环境的一个实例且并非旨在建议对用途或功能的范围进行任何限制。
可以使用诸多其它通用或专用计算***环境或配置。可能适用的熟知计算***、环境和/或配置的实例包括但不限于:个人计算机、服务器计算机、手持型或膝上型装置、多处理器***、基于多处理器的***、网络个人计算机(PC)、小型计算机、大型计算机、嵌入式***、包括上述***或装置中的任何一个的分布式计算环境等。
可以使用供计算机执行的计算机可执行指令,诸如程序模块。通常,程序模块包括执行特定任务或实施特定抽象数据类型的常式、程序、对象、组件、数据结构等。可以使用其中由通过通信网络或其它数据传输介质链接的远程处理装置执行任务的分布式计算环境。在分布式计算环境中,程序模块和其它数据可以位于本地计算机存储介质和远程计算机存储介质(包括存储器存储装置)中。
参考图8,用于实施本文中所述的方面的示例性***包括计算装置,诸如计算装置800。在其最基本配置中,计算装置800通常包括至少一个处理单元802和存储器804。取决于计算装置的确切配置和类型,存储器804可为易失性(诸如随机访问存储器(RAM))、非易失性(诸如只读存储器(ROM)、闪速存储器等)、或两者的一些组合。这个最基本配置在图8中由虚线808描述。
计算装置800可以具有额外特征/功能。例如,计算装置800可以包括额外存储装置(可移除和/或不可移除),包括但不限于:磁盘或光盘或磁带。这个额外存储装置在图8中由可移除存储装置808和不可移除存储装置810描述。
计算装置800通常包括各种计算机可读介质。计算机可读介质可为可供装置800访问的任何可用介质且包括易失性和非易失性介质、可移除和不可移除介质两者。
计算机存储介质包括以任何方法或技术实施以存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的易失性和非易失性以及可移除和不可移除介质。存储器804、可移除存储装置808和不可移除存储装置810为计算机存储介质的所有实例。计算机存储介质包括但不限于:RMA、ROM、电可擦除程序只读存储器(EEPROM)、闪速存储器或其它存储器技术、CD-ROM、数字多功能光盘(DVD)或其它光学存储装置、磁带盒、磁带、磁盘存储装置或其它磁存储装置、或可用于存储所要信息且可供计算装置800访问的任何其它介质。任何这种计算机存储介质可以为计算装置800的部分。
计算装置800可以包括允许所述装置与其它装置通信的通信连接件812。计算装置800还可以具有输入装置814,诸如键盘、鼠标、手写笔、语音输入装置、触摸输入装置等。还可以包括输出装置816,诸如显示器、扬声器、打印机等。所有这些装置在所属技术领域中是熟知的且在此无需详细论述。
应了解,本文中所述的各种技术可结合硬件或软件或(在适当情况下)两者的组合来实施。因此,本文所公开的标的物的方法和设备或者其某些方面或部分可以采取嵌入有形介质(诸如软盘、CD-ROM、硬盘驱动器或任何其它机器可读存储介质)中的程式代码(即,指令)的形式,其中在程序代码载入到机器(诸如计算机)中并供其执行时,所述机器变为用于实行本文所公开的标的物的设备。在于可编程计算机上执行程序代码的情况下,计算装置通常包括处理器、可供处理器读取的存储介质(包括易失性和非易失性存储器和/或存储元件)、至少一个输入装置、和至少一个输出装置。一个或多个程序可以例如通过应用程序设计界面(API)、可重复使用控制器等的使用实施或利用结合本文所公开的标的物所述的程序。这些程序可以以高级程序化或面向对象编程语言来实施以与计算机***通信。然而,如果需要,那么所述程序可以以汇编语言或机器语言来实施。在任何情况下,所述语言可以为编译型语言或解译型语言且其可以与硬件实施方式结合。
尽管本发明标的物已以专用于结构特征和/或方法动作的语言进行描述,但应了解,所附权利要求书中所定义的标的物未必限于上述具体特征或动作。相反,上述具体特征和动作是作为实施权利要求书的示例性方式而公开。
Claims (31)
1.一种结合对等式服务使用的对等式发现和连接建立框架,其包括:
协作服务,其使多个客户端装置能够在应用会话内协作地交互,所述协作服务包括协作管理器,所述协作管理器被配置来:
在所述客户端装置之间传递一个或多个消息以允许所述客户端装置中的至少一个发现在所述应用会话内协作地交互的其它客户端装置,和
在一对所述客户端装置之间建立对等式连接。
2.根据权利要求1所述的框架,其中所述协作管理器在所述客户端装置之间传递一个或多个消息以建立多个对等式连接,其中所述对等式连接中的每个在各自对的所述客户端装置之间。
3.根据权利要求1到2中任一权利要求所述的框架,其中在所述客户端装置之间传递一个或多个消息还包括:
从所述客户端装置中的一个接收开始对等式连接的请求;和
将所述请求广播到所述客户端装置。
4.根据权利要求1到3中任一权利要求所述的框架,其中在所述客户端装置之间传递一个或多个消息还包括在所述客户端装置之间根据提议-应答协议传递提议消息和应答消息。
5.根据权利要求1到4中任一权利要求所述的框架,其中所述对等式服务使所述对的客户端装置能够通过所述对等式连接共享媒体内容。
6.根据权利要求5所述的框架,其中所述媒体内容为音频或视频中的至少一个。
7.根据权利要求5所述的框架,其中在不使用所述协作服务的资源的情况下通过所述对等式连接共享所述媒体内容。
8.根据权利要求1到7中任一权利要求所述的框架,其中使用由所述协作服务维持的会话信息发现在所述应用会话内协作地交互的所述客户端装置。
9.根据权利要求1到8中任一权利要求所述的框架,其中所述协作服务通过维持所述应用会话的状态和在所述客户端装置之间传递所述应用会话的状态使所述客户端装置能够在所述应用会话内协作地交互。
10.根据权利要求9所述的框架,其中所述应用会话的所述状态维持在状态模型中。
11.根据权利要求10所述的框架,其中使用维持在所述状态模型中的会话信息发现在所述应用会话内协作地交互的所述客户端装置。
12.一种结合对等式服务使用的对等式发现和连接建立的方法,其包括:
促进应用会话,其中多个客户端装置在所述应用会话内协作地交互;
允许所述客户端装置中的至少一个发现在所述应用会话内协作地交互的所述客户端装置;和
在所述客户端装置之间传递一个或多个消息以在一对所述客户端装置之间建立对等式连接。
13.根据权利要求12所述的方法,其还包括在所述客户端装置之间传递一个或多个消息以建立多个对等式连接,其中所述对等式连接中的每个在各自对的所述客户端装置之间。
14.根据权利要求12到13中任一权利要求所述的方法,其中在所述客户端装置之间传递一个或多个消息还包括:
从所述客户端装置中的一个接收开始对等式连接的请求;和
将所述请求广播到所述客户端装置。
15.根据权利要求12到14中任一权利要求所述的方法,其中在所述客户端装置之间传递一个或多个消息还包括在所述客户端装置之间根据提议-应答协议传递提议消息和应答消息。
16.根据权利要求12到15中任一权利要求所述的方法,其还包括
促进在所述对的客户端装置之间通过所述对等式连接共享媒体内容。
17.根据权利要求16所述的方法,其中所述媒体内容为音频或视频中的至少一个。
18.根据权利要求16所述的方法,其中在所述应用会话外通过所述对等式连接共享所述媒体内容。
19.根据权利要求12到18中任一权利要求所述的方法,其中促进所述应用会话还包括维持所述应用会话的状态和在所述客户端装置之间传递所述应用会话的所述状态。
20.根据权利要求19所述的方法,其中所述应用会话的所述状态维持在状态模型中。
21.根据权利要求20所述的方法,其中使用维持在所述状态模型中的会话信息发现在所述应用会话内协作地交互的所述客户端装置。
22.一种用于结合对等式服务使用的对等式发现和连接建立的方法,其包括:
从协作服务获得在应用会话中活动的本地对等装置的本地会话识别符;
从所述协作服务获得在所述应用会话中活动的至少一个远程对等装置的至少一个远程会话识别符;
确定所述本地会话识别符是否小于所述远程会话识别符;
如果所述本地会话识别符小于所述远程会话识别符,那么将提议消息从所述本地对等装置发送到所述远程对等装置;
在所述本地对等装置处接收来自所述远程对等装置的应答消息;和
在所述本地对等装置与所述远程对等装置之间建立对等式连接,其中在所述本地对等装置与所述远程对等装置之间使用所述协作服务传递所述提议消息和所述应答消息。
23.根据权利要求22所述的方法,其还包括:
从所述协作服务获得多个远程会话识别符,所述远程会话识别符中的每个与在所述应用会话中活动的各自远程对等装置相关联;
确定所述本地会话识别符是否小于所述远程会话识别符中的每个。
24.根据权利要求22到23中任一权利要求所述的方法,其中如果所述本地会话识别符小于所述远程会话识别符,那么所述方法还包括:
使用所述本地对等装置创建本地对等连接对象;和
将所述本地对等装置的本地媒体资源附接到所述本地对等连接对象,其中所述提议消息包括所述本地对等装置的一个或多个属性。
25.根据权利要求22到24中任一权利要求所述的方法,其中所述本地对等装置的所述一个或多个属性包括所述本地会话识别符。
26.根据权利要求24所述的方法,其还包括使用所述本地对等装置、基于所述远程会话识别符存储所述本地对等连接对象。
27.根据权利要求24所述的方法,其中在接收所述提议消息之后,所述方法还包括:
使用所述远程对等装置创建远程对等连接对象;
将所述远程对等装置的远程媒体资源附接到所述远程对等连接对象;和
将所述本地对等装置的所述一个或多个属性附接到所述远程对等连接对象,其中所述应答消息包括所述远程对等装置的一个或多个属性。
28.根据权利要求27所述的方法,其中所述远程对等装置的所述一个或多个属性包括所述远程会话识别符。
29.根据权利要求28所述的方法,其还包括将所述远程对等装置的所述一个或多个属性附接到所述本地对等连接对象。
30.一种用于结合对等式服务使用的对等式发现和连接建立的方法,其包括:
从协作服务获得在应用会话中活动的本地对等装置的本地会话识别符;
从所述协作服务获得在所述应用会话中活动的至少一个远程对等装置的至少一个远程会话识别符;
确定所述本地会话识别符是否大于所述远程会话识别符;
如果所述本地会话识别符大于所述远程会话识别符,那么将提议消息从所述本地对等装置发送到所述远程对等装置;
在所述本地对等装置处接收来自所述远程对等装置的应答消息;和
在所述本地对等装置与所述远程对等装置之间建立对等式连接,其中在所述本地对等装置与所述远程对等装置之间使用所述协作服务传递所述提议消息和所述应答消息。
31.一种用于结合对等式服务使用的对等式发现和连接建立的方法,其包括:
从协作服务获得在应用会话中活动的本地对等装置的本地会话识别符;
从所述协作服务获得在所述应用会话中活动的多个远程对等装置的多个远程会话识别符;
在所述本地对等装置处,使用由以下公式界定的函数确定将提议消息发送到所述远程对等装置中的哪个:
f(a,a)=假,和
当且仅当a!=b且f(b,a)=假时,f(a,b)=真;
在所述本地对等装置处接收来自所述远程对等装置的应答消息;和
在所述本地对等装置与所述远程对等装置之间建立对等式连接,其中在所述本地对等装置与所述远程对等装置之间使用所述协作服务传递所述提议消息和所述应答消息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261729481P | 2012-11-23 | 2012-11-23 | |
US61/729,481 | 2012-11-23 | ||
PCT/IB2013/003134 WO2014080293A2 (en) | 2012-11-23 | 2013-11-25 | Methods and systems for peer-to-peer discovery and connection from a collaborative application session |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105009519A true CN105009519A (zh) | 2015-10-28 |
Family
ID=50774248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380066710.8A Pending CN105009519A (zh) | 2012-11-23 | 2013-11-25 | 用于来自协作应用会话的对等式发现和连接的方法和*** |
Country Status (7)
Country | Link |
---|---|
US (1) | US9894153B2 (zh) |
EP (1) | EP2923460B1 (zh) |
JP (1) | JP2016503547A (zh) |
CN (1) | CN105009519A (zh) |
CA (1) | CA2892271A1 (zh) |
HK (1) | HK1209538A1 (zh) |
WO (1) | WO2014080293A2 (zh) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9363133B2 (en) | 2012-09-28 | 2016-06-07 | Avaya Inc. | Distributed application of enterprise policies to Web Real-Time Communications (WebRTC) interactive sessions, and related methods, systems, and computer-readable media |
US10164929B2 (en) | 2012-09-28 | 2018-12-25 | Avaya Inc. | Intelligent notification of requests for real-time online interaction via real-time communications and/or markup protocols, and related methods, systems, and computer-readable media |
US10684899B2 (en) * | 2013-03-13 | 2020-06-16 | Northrop Grumman Systems Corporation | Mobile applications architecture |
US10205624B2 (en) | 2013-06-07 | 2019-02-12 | Avaya Inc. | Bandwidth-efficient archiving of real-time interactive flows, and related methods, systems, and computer-readable media |
US9525718B2 (en) | 2013-06-30 | 2016-12-20 | Avaya Inc. | Back-to-back virtual web real-time communications (WebRTC) agents, and related methods, systems, and computer-readable media |
US9614890B2 (en) | 2013-07-31 | 2017-04-04 | Avaya Inc. | Acquiring and correlating web real-time communications (WEBRTC) interactive flow characteristics, and related methods, systems, and computer-readable media |
US9531808B2 (en) * | 2013-08-22 | 2016-12-27 | Avaya Inc. | Providing data resource services within enterprise systems for resource level sharing among multiple applications, and related methods, systems, and computer-readable media |
US10225212B2 (en) | 2013-09-26 | 2019-03-05 | Avaya Inc. | Providing network management based on monitoring quality of service (QOS) characteristics of web real-time communications (WEBRTC) interactive flows, and related methods, systems, and computer-readable media |
US9894117B2 (en) * | 2013-10-09 | 2018-02-13 | Cisco Technology, Inc. | File transfers for virtual conferences |
US10263952B2 (en) | 2013-10-31 | 2019-04-16 | Avaya Inc. | Providing origin insight for web applications via session traversal utilities for network address translation (STUN) messages, and related methods, systems, and computer-readable media |
US9769214B2 (en) | 2013-11-05 | 2017-09-19 | Avaya Inc. | Providing reliable session initiation protocol (SIP) signaling for web real-time communications (WEBRTC) interactive flows, and related methods, systems, and computer-readable media |
US10129243B2 (en) | 2013-12-27 | 2018-11-13 | Avaya Inc. | Controlling access to traversal using relays around network address translation (TURN) servers using trusted single-use credentials |
US10121015B2 (en) | 2014-02-21 | 2018-11-06 | Lens Ventures, Llc | Management of data privacy and security in a pervasive computing environment |
US9392057B2 (en) * | 2014-04-11 | 2016-07-12 | Qualcomm Incorporated | Selectively exchanging data between P2P-capable client devices via a server |
US9749363B2 (en) | 2014-04-17 | 2017-08-29 | Avaya Inc. | Application of enterprise policies to web real-time communications (WebRTC) interactive sessions using an enterprise session initiation protocol (SIP) engine, and related methods, systems, and computer-readable media |
US10581927B2 (en) * | 2014-04-17 | 2020-03-03 | Avaya Inc. | Providing web real-time communications (WebRTC) media services via WebRTC-enabled media servers, and related methods, systems, and computer-readable media |
US9912705B2 (en) | 2014-06-24 | 2018-03-06 | Avaya Inc. | Enhancing media characteristics during web real-time communications (WebRTC) interactive sessions by using session initiation protocol (SIP) endpoints, and related methods, systems, and computer-readable media |
US10069872B2 (en) * | 2014-07-18 | 2018-09-04 | Verizon Patent And Licensing Inc. | Architecture to establish serverless WebRTC connections |
CN105391745A (zh) * | 2014-08-22 | 2016-03-09 | 阿瓦亚公司 | 应用间资源级共享用企业***内数据资源服务方法、*** |
US9648066B2 (en) * | 2014-08-29 | 2017-05-09 | The Boeing Company | Peer to peer provisioning of data across networks |
JP6410631B2 (ja) * | 2015-02-17 | 2018-10-24 | 日本電信電話株式会社 | 通信システム、通信方法およびプログラム |
US10104701B2 (en) * | 2015-04-20 | 2018-10-16 | Samsung Electronics Co., Ltd. | Apparatus and method for WebRTC in a mobile device |
US10257174B2 (en) * | 2016-01-20 | 2019-04-09 | Medicom Technologies, Inc. | Methods and systems for providing secure and auditable transfer of encrypted data between remote locations |
US10630835B2 (en) | 2016-03-08 | 2020-04-21 | T-Mobile Usa, Inc. | Content sharing between related devices |
US20170264652A1 (en) * | 2016-03-08 | 2017-09-14 | T-Mobile Usa, Inc. | Cross-platform video conversation between related devices |
US10356745B2 (en) | 2016-06-08 | 2019-07-16 | T-Mobile Usa, Inc. | Device and/or line event awareness and smart synchronization |
EP3563248B1 (en) * | 2016-12-30 | 2022-11-30 | Akamai Technologies, Inc. | Unified, browser-based enterprise collaboration platform |
US10812598B2 (en) | 2016-12-30 | 2020-10-20 | Akamai Technologies, Inc. | Unified, browser-based enterprise collaboration platform |
US10701310B2 (en) | 2017-06-23 | 2020-06-30 | T-Mobile Usa, Inc. | Video call continuity between devices via a telecommunications network |
CN108055273B (zh) * | 2017-12-22 | 2020-08-28 | 北京启明星辰信息安全技术有限公司 | 一种内网服务器发现方法、***及网络安全审计*** |
US11017116B2 (en) * | 2018-03-30 | 2021-05-25 | Onsite Health Diagnostics, Llc | Secure integration of diagnostic device data into a web-based interface |
US11546170B2 (en) * | 2019-07-22 | 2023-01-03 | Whitestar Communications, Inc. | Systems and methods of collaborative application on a private network |
WO2021056069A1 (en) * | 2019-09-25 | 2021-04-01 | Commonwealth Scientific And Industrial Research Organisation | Cryptographic services for browser applications |
US11637819B2 (en) * | 2020-11-25 | 2023-04-25 | International Business Machines Corporation | Establishing connectivity between user devices |
EP4170994B1 (en) * | 2021-10-19 | 2024-01-17 | Tata Consultancy Services Limited | A multi-master hybrid telerobotics system with federated avatar control |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1761960A (zh) * | 2003-03-18 | 2006-04-19 | 西门子共同研究公司 | 用于对等合作和基于ip的语音传送的基于元搜索万维网服务的体系结构 |
CN1925444A (zh) * | 2006-09-14 | 2007-03-07 | 华为技术有限公司 | 在p2p网络中建立点对点连接的方法及在p2p网络中的节点 |
CN101690283A (zh) * | 2007-07-06 | 2010-03-31 | 高通股份有限公司 | 与对等无线通信中的对等点发现和/或寻呼相关的方法和装置 |
CN102215121A (zh) * | 2010-04-07 | 2011-10-12 | 苹果公司 | 用于建立和利用备份通信信道的装置和方法 |
CN102624414A (zh) * | 2011-01-31 | 2012-08-01 | 株式会社东芝 | 无线通信装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6167432A (en) | 1996-02-29 | 2000-12-26 | Webex Communications, Inc., | Method for creating peer-to-peer connections over an interconnected network to facilitate conferencing among users |
US6732147B1 (en) | 2000-07-31 | 2004-05-04 | The Boeing Company | Leaving a broadcast channel |
JP2003203023A (ja) | 2002-01-09 | 2003-07-18 | Sony Corp | 情報処理システム、情報処理装置、情報処理方法、及び情報処理ネットワークプログラム |
US7895338B2 (en) * | 2003-03-18 | 2011-02-22 | Siemens Corporation | Meta-search web service-based architecture for peer-to-peer collaboration and voice-over-IP |
US20050243746A1 (en) * | 2004-04-29 | 2005-11-03 | Nokia Corporation | Session inspection scheme |
US7552175B2 (en) | 2004-04-30 | 2009-06-23 | Microsoft Corporation | Mechanism for controlling communication paths between conference members |
US7675874B2 (en) | 2005-02-24 | 2010-03-09 | International Business Machines Corporation | Peer-to-peer instant messaging and chat system |
US20070274233A1 (en) | 2006-05-25 | 2007-11-29 | Amnon Ptashek | Method, apparatus and system for multi peer to peer services |
US9712486B2 (en) * | 2006-09-25 | 2017-07-18 | Weaved, Inc. | Techniques for the deployment and management of network connected devices |
US9294291B2 (en) * | 2008-11-12 | 2016-03-22 | Adobe Systems Incorporated | Adaptive connectivity in network-based collaboration |
US20100235523A1 (en) * | 2009-03-16 | 2010-09-16 | Robert Garcia | Framework for supporting multi-device collaboration |
US8819244B2 (en) | 2010-04-07 | 2014-08-26 | Apple Inc. | Apparatus and method for establishing and utilizing backup communication channels |
CA2870298A1 (en) | 2012-04-11 | 2013-10-17 | Calgary Scientific Inc. | Remoting graphical components through a tiered remote access architecture |
WO2014033554A2 (en) | 2012-08-15 | 2014-03-06 | Calgary Scientific Inc. | Methods and systems for collaborative browsing |
-
2013
- 2013-11-25 EP EP13856537.9A patent/EP2923460B1/en not_active Not-in-force
- 2013-11-25 CN CN201380066710.8A patent/CN105009519A/zh active Pending
- 2013-11-25 CA CA2892271A patent/CA2892271A1/en not_active Abandoned
- 2013-11-25 JP JP2015543538A patent/JP2016503547A/ja active Pending
- 2013-11-25 WO PCT/IB2013/003134 patent/WO2014080293A2/en active Application Filing
- 2013-11-25 US US14/089,095 patent/US9894153B2/en not_active Expired - Fee Related
-
2015
- 2015-10-19 HK HK15110223.1A patent/HK1209538A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1761960A (zh) * | 2003-03-18 | 2006-04-19 | 西门子共同研究公司 | 用于对等合作和基于ip的语音传送的基于元搜索万维网服务的体系结构 |
CN1925444A (zh) * | 2006-09-14 | 2007-03-07 | 华为技术有限公司 | 在p2p网络中建立点对点连接的方法及在p2p网络中的节点 |
CN101690283A (zh) * | 2007-07-06 | 2010-03-31 | 高通股份有限公司 | 与对等无线通信中的对等点发现和/或寻呼相关的方法和装置 |
CN102215121A (zh) * | 2010-04-07 | 2011-10-12 | 苹果公司 | 用于建立和利用备份通信信道的装置和方法 |
CN102624414A (zh) * | 2011-01-31 | 2012-08-01 | 株式会社东芝 | 无线通信装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2016503547A (ja) | 2016-02-04 |
EP2923460A4 (en) | 2016-06-22 |
WO2014080293A3 (en) | 2014-09-12 |
US9894153B2 (en) | 2018-02-13 |
WO2014080293A2 (en) | 2014-05-30 |
EP2923460B1 (en) | 2018-11-21 |
US20140149512A1 (en) | 2014-05-29 |
HK1209538A1 (zh) | 2016-04-01 |
CA2892271A1 (en) | 2014-05-30 |
EP2923460A2 (en) | 2015-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105009519A (zh) | 用于来自协作应用会话的对等式发现和连接的方法和*** | |
US10270824B2 (en) | System and method for event content stream | |
CN102904733B (zh) | 分布式、可缩放、可***的会议体系结构 | |
US9774824B1 (en) | System, method, and logic for managing virtual conferences involving multiple endpoints | |
US20100306122A1 (en) | System and Method for Providing an Electronic Literature Club in a Network Environment | |
US10547466B2 (en) | Multiplexing message distribution within group-based communication system | |
JP6385427B2 (ja) | 少なくとも1つのモバイル・デバイスを含む複数のデバイスの間で計算タスクを共有するための方法、コンピュータ可読媒体、およびモバイル・デバイス | |
US11265183B1 (en) | Asynchronous meeting management for collaboration solutions | |
US9319852B2 (en) | Interoperability and communications system dynamic media proxy based on capability negotiation | |
US20150067021A1 (en) | Real-time data distribution system for patient monitoring devices, cardiac defibrillators and associated information delivery systems | |
US11558210B2 (en) | Systems and methods for initiating actions based on multi-user call detection | |
US20150271273A1 (en) | System for Using a Device as a Side Car | |
CN105556549A (zh) | 将消费者关系管理信息集成到通信会话 | |
US9374401B2 (en) | Communication traffic management | |
US20150200976A1 (en) | Web application collaboration system, method, and computer-readable medium | |
US20150341397A1 (en) | Data sharing system and method | |
US10785121B2 (en) | Device discovery using discovery nodes | |
US9641349B2 (en) | Systems and methods of viral enablement of features by peer-to-peer connection | |
Parsons et al. | Velox: Enhancing P2P Real-Time Communication in Browsers | |
Frénot et al. | Spontaneous and ephemeral social networks: an event-based framework | |
Mutengeni et al. | Local Area Network Based Collaboration Using Distributed Computing | |
Amaxilatis et al. | An IoT enabled Unobtrusive Worker Health, Well-Being and Functional Ability Monitoring Framework. | |
CN116015992A (zh) | 会话消息的显示方法和存储介质及电子设备 | |
CN116723290A (zh) | 一种信息传输方法、装置、电子设备和可读存储介质 | |
Wang et al. | Research and Application of XMPP-Based Modules in B/S Architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20151028 |
|
WD01 | Invention patent application deemed withdrawn after publication |