CN109417550B - 用于同时媒体流服务的系统和方法 - Google Patents

用于同时媒体流服务的系统和方法 Download PDF

Info

Publication number
CN109417550B
CN109417550B CN201780040505.2A CN201780040505A CN109417550B CN 109417550 B CN109417550 B CN 109417550B CN 201780040505 A CN201780040505 A CN 201780040505A CN 109417550 B CN109417550 B CN 109417550B
Authority
CN
China
Prior art keywords
media stream
server
partial
version
user
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.)
Active
Application number
CN201780040505.2A
Other languages
English (en)
Other versions
CN109417550A (zh
Inventor
D·莱温
B·R·克拉克
A·哈桑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority to CN202111060466.7A priority Critical patent/CN113794854A/zh
Publication of CN109417550A publication Critical patent/CN109417550A/zh
Application granted granted Critical
Publication of CN109417550B publication Critical patent/CN109417550B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/401Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
    • H04L65/4015Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0072Error control for data other than payload data, e.g. control data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • H04L65/4053Arrangements for multi-party communication, e.g. for conferences without floor control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

使用两个或更多系统将在线内容提供给参与者设备。每个系统提供的内容不尽相同。相反,来自每个系统的内容流是内容流的原始高质量版本的部分或低质量版本。参与者设备可以使用部分数据流中的单个数据流来向用户输出原始内容流的较低质量版本。可替代地,可以组合所接收的部分内容流,以向用户输出原始内容流的高质量版本。

Description

用于同时媒体流服务的系统和方法
背景技术
在线会议(又称,web会议和/或互联网会议)系统具有一系列功能,包括语音/视频通信、即时消息、数据/应用共享和白板。这些在线协作服务系统使用户能够参与通信会话以交换不同类型的通信媒体,例如语音数据、视频数据、内容共享及其组合。一些会议系统使用户能够共享和协作以创建和修改文档或其他共享内容。在线会议通常允许实时点对点通信以及多播通信(即,从一个发送者到多个接收者)。一些服务提供语音和/或视频聊天的数据流,以便跨地理上分散的位置同时共享。在线会议的应用包括会议、培训活动、讲座和演示。
发明内容
这里讨论的示例涉及一种系统,该系统包括第一服务器,该第一服务器具有经由第一服务器彼此链接的多个用户设备。多个用户设备共享媒体流。媒体流至少包括第一部分媒体流和第二部分媒体流。第一部分媒体流与第二部分媒体流不同。第一服务器向多个用户设备发送第一部分媒体流。该系统还包括第二服务器,该第二服务器具有经由第二服务器彼此链接的多个用户。第二服务器向多个用户设备发送第二部分媒体流。
在示例中,操作系统的方法包括经由第一服务器将多个用户设备彼此链接。多个用户设备将共享媒体流。该方法还包括经由第二服务器将多个用户设备彼此链接。该方法还包括从第一服务器并向多个用户设备发送媒体流的第一部分版本。该方法还包括从第二服务器并向多个用户设备发送媒体流的第二部分版本。该方法还包括由多个用户设备中的至少第一用户设备接收第一部分版本的第一部分和第二部分版本的第二部分。该方法还包括由第一用户设备组合第一部分和第二部分,以向用户输出媒体流的版本。
在一个示例中,一种操作链接到系统的用户设备的方法包括:从将多个用户设备彼此链接的第一服务器接收媒体流的第一部分版本。该方法还包括从第二服务器接收媒体流的第二部分版本。该方法还包括使用第一部分版本和第二部分版本中的至少一个来输出媒体流的版本。
提供本发明内容是为了以简化的形式介绍一些概念,这些概念将在下面的具体实施方式中进一步描述。本发明内容不旨在确定所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任何部分中提到的任何或所有缺点的实施方式。
附图说明
为了描述可以获得上述和其他优点和特征的方式,阐述了更具体的描述,并且将通过参考在附图中示出的其具体示例来呈现。应理解,这些附图仅描绘了典型示例,因此不应认为是对其范围的限制,将通过使用附图以额外的特征和细节来描述和解释实现方式。
图1是示出在线通信系统的框图。
图2是示出操作在线通信系统的方法的流程图。
图3A是示出使用多个内容流的内容共享的图。
图3B是示出使用单个输入内容流的内容共享的图。
图4是示出多个内容流的接收的流程图。
图5是示出计算机系统的框图。
具体实施方式
以下详细讨论示例。虽然讨论了具体实现方式,但应该理解,这仅是出于说明目的而进行的。相关领域的技术人员将认识到,可以使用其他组件和配置而不脱离本公开的主题的精神和范围。实现方式可以是机器实现的方法、计算设备或计算机可读介质。
在一个实施例中,使用驻留在其中的两个或更多个数据中心或服务器将在线内容提供给参与者设备。每台服务器提供的内容不尽相同。而是,来自每个服务器的内容流是内容流的原始高质量版本的部分或低质量版本。参与者设备可以使用部分数据流中的单个数据流来向用户输出原始内容流的较低质量版本。在一个实施例中,可以组合所接收的部分内容流以向用户输出原始内容流的高质量版本。
如本文所使用的,术语“实时”旨在广泛地指代通常对应于实际时间的条件。例如,如果需要大约一分钟的数据回放来描述大约需要一分钟发生的事件,则数据可以是实时的。实时数据可以是但不一定是“实况”数据,其基本上同时以最小延迟生成和传送,或者使得延迟关于特定应用不是突兀的。作为示例,对于本系统的目的,事件与此事件向另一计算机用户的通信之间的延迟小于几秒,或小于1.0或0.25秒,或另一个类似时间可以认为实况。
例如,在在线会议中,多个参与者可以彼此发送和接收实况实时视频和音频数据-每个参与者以适当的最小的级别延迟实时地与一个或多个其他人交谈,以便通过网络在用户之间的“对话”可以实时进行。因此,应当理解,术语“实况”或“实时”在该上下文中使用时不限于零延迟,而是允许一些最小延迟,例如,可以是近似若干秒钟。延迟不应该太大以至于导致不同用户彼此通信的困难。延迟大于约5秒可能不适合许多应用。
图1是示出在线通信系统的框图。在图1中,系统100包括参与者101-104、客户端设备131-134、网络120和服务器151-152。参与者101-104分别使用部署在客户端设备131-134上的软件程序来参与由至少服务器151-152托管的在线通信会话。客户端设备131-134可操作地耦合到网络120。网络120包括服务器151-152,或者可操作地耦合到服务器151-152。因此,参与者101-104经由客户端设备131-134、网络120和服务器151-152能够加入、离开、接收和参与在线通信会话。
网络120是广域通信网络,其可以提供客户端设备131-134与服务器151-152的有线和/或无线通信。网络120可以包括有线和/或无线通信网络,其包括处理节点、路由器、网关、用于在各种网络元件之间承载数据的物理和/或无线数据链路,包括其组合,并且可以包括局域网、广域网和互联网络(包括因特网)。网络120还可以包括无线网络,包括基站、无线通信节点、电话交换机、互联网路由器、网络网关、计算机系统、通信链路或一些其他类型的通信设备,以及它们的组合。网络120可以使用的有线网络协议包括以太网、快速以太网、千兆以太网、本地通话(诸如具有冲突避免的载波侦听多路访问)、令牌环、光纤分布式数据接口(FDDI)和异步传输模式(ATM)。网络120的元件之间的链路可以是例如双绞线电缆、同轴电缆或光纤电缆,或其组合。
网络120中可以存在其他网络元件以便于通信但是为了清楚起见而省略,例如基站、基站控制器、网关、移动交换中心、调度应用处理器和诸如归属位置寄存器或访问者位置寄存器的位置寄存器。此外,可以存在其他网络元件以促进系统100的元件之间的通信,为了清楚起见,省略了这些元件,包括附加的计算设备、客户端设备、接入节点、路由器、网关以及用于在各种网络元件之间承载数据的物理和/或无线数据链路。
客户端设备131-134可以是例如台式计算机、平板计算机、膝上型计算机、移动电话、无线电话、个人数字助理(PDA)、网际协议语音(VoIP)电话、分组语音(VOP)电话或软电话,以及执行web浏览器、在线会议软件和/或在线通信软件(例如,来自微软公司的SkypeTM应用)以参与由服务器151-152托管的通信会话的其他类型的设备或系统。其他类型的通信平台也是可能的。可以是,包括和/或包含客户端设备131-134的示例设备包括但不限于示例计算机系统500(这里参考图5描述)。
在一个实施例中,客户端设备131-134经由服务器151彼此链接。客户端设备131-134能够经由服务器151共享媒体流。例如,客户端设备131-134可能能够经由服务器151共享实时媒体流。客户端设备131-134也经由服务器152彼此链接。
服务器151向客户端设备131-134发送媒体流的第一部分版本。这在图1中由从服务器151运行到客户端设备131的箭头141示出。这在图1中还通过从服务器151运行到客户端设备132的箭头143示出。从服务器151运行到客户端设备133和134的附加箭头可以在图1中示出以说明内容流的第一部分版本流向客户端设备133和134。然而,为了简洁起见,省略了这些附加箭头。
服务器152向客户端设备131-134发送媒体流的第二部分版本。这在图1中由从服务器152运行到客户端设备131的箭头142示出。这在图1中也由从服务器152运行到客户端设备132的箭头144示出。从服务器152运行到客户端设备133和134的附加箭头可以在图1中示出以说明内容流的第二部分版本流向客户端设备133和134。然而,为了简洁起见,省略了这些附加箭头。
在一个实施例中,服务器152被指定为服务151的冗余服务器。换句话说,如果服务器151失败或以其他方式与一个或多个客户端设备131-133和/或网络120断开连接,则服务器152可以被配置为“接管”服务器151。通常,服务器151和服务器152位于地理上分离的设施中。这些设施可能包括许多服务器。这些设施也可称为数据中心。可以是,包括和/或包含服务器151-152的示例设备包括但不限于示例计算机系统500(这里参考图5描述)。
客户端设备131接收内容流的第一部分版本的第一部分。客户端设备131接收内容流的第二部分版本的第二部分。由于丢失的分组、网络120拥塞、服务器151-152拥塞、服务器151-152故障等,客户端设备131可以仅接收内容流的第一和/或第二部分版本的一部分。
客户端设备131组合第一部分和第二部分以向用户101输出媒体流的版本。该版本可以是在客户端设备131-134之间共享的媒体流的高质量或“完整”版本。该版本可以是在客户端设备131-134之间共享的媒体流的较低质量或“不完整”版本。
同样,客户端设备132接收内容流的第一部分版本的第三部分。客户端设备132接收内容流的第二部分版本的第四部分。由于丢失的分组、网络120拥塞、服务器151-152拥塞、服务器151-152故障等,客户端设备132可以仅接收内容流的第一和/或第二部分版本的一部分。
客户端设备132组合第三部分和第四部分以向用户101输出媒体流的版本。该版本可以是在客户端设备131-134之间共享的媒体流的高质量或“完整”版本。该版本可以是在客户端设备131-134之间共享的媒体流的较低质量或“不完整”版本。由于从服务器151到客户端设备131(箭头141)和客户端设备132(箭头143)的通信路径的差异,第一部分版本的第一部分和第一部分版本的第三部分可以是不同的。同样,出于相同的原因,第一部分版本的第二部分和第二部分版本的第四部分可以是不同的。第一和第三部分以及第二和第四部分可以是不同的,因为服务器151-152和客户端设备131-132之间的通信路径经历不同的丢失分组、网络120拥塞、服务器151-152拥塞、服务器151-152故障等。
在一个实施例中,服务器151和152发送基于具有差错控制编码的编码内容流的部分内容流或可用于在存在编码内容流的丢失部分时重建完整内容流的其他冗余信息(例如,重复编码)。
例如,可以用低速率差错控制代码对要共享的内容流进行编码。可以用诸如里德-所罗门编码的低速率差错控制码对内容流进行编码。给定里德-所罗门编码的冗余可以表示为RS(N,K),其中编码使用长度为N个符号的N个码字,每个码字存储K个符号。在一个实施方案中,N>K。在另一实施例中,N=2K,使得所有码字中的至少一半必须由给定客户端设备131-134接收,以便重建所发送的所有码字(即,“原始”内容流)。因此,如果原始内容流被任意地分割成两半,并且由分离的服务器151-152发送的那一半(编码流的一半,如果没有丢失地接收)可以被客户端设备131-134用来重建内容流的全质量版本。假设存在服务器151-152发送的流的分组或部分丢失,则编码的内容流的两半的剩余部分可用于重建内容流的全质量版本。
可以针对M个服务器推广该低码率编码。在这种情况下,RS(M*K,K)可用于为每个输入符号产生M个输出符号。得到的编码内容流可以被分割并由M个服务器151-152提供给客户端设备131-134。可以使用其他类型的差错控制编码。例如,可以使用适当选择的turbo码等来产生编码的内容流,然后将其分割以便从分离的服务器151-152进行传输。
在另一个实施例中,系统100可以基于编码数据流的内容动态地分割编码数据流。例如,系统100可以在编码数据流中搜索彼此表现出相对大的距离特性的分割部分。换句话说,系统100可以将编码数据流分割成彼此具有大距离分隔的序列,然后使用不同的服务器151-152发送这些序列中的每一个。
在一个实施例中,客户端设备131-134可以选择仅使用由服务器151-152发送的内容流中的信息中的一个(或者子集,在存在多于两个服务器的情况下)。在这种情况下,可以忽略来自非选取服务器的编码媒体流的分割部分。客户端设备131-134可以基于从要或者被忽略的服务器151-152、或者正在使用的服务器接收的内容流的质量来选择使用由服务器151-152发送的内容流中的信息的子集。例如,如果从服务器151接收的部分编码内容流的质量足以再现内容流的全质量版本,则可以忽略来自服务器152的部分编码内容流。相反,例如,如果从服务器152接收的部分编码内容流的质量太差以至于不能显着地为再现内容流的全质量版本做贡献,则来自服务器152的部分编码内容流可以被忽略。
图2是示出操作在线通信系统的方法的流程图。图2中所示的步骤可以由系统100的一个或多个元件执行。多个用户设备经由第一服务器彼此链接,其中多个用户设备将共享媒体流(202)。例如,客户端设备131-134可以经由服务器151彼此链接,以便共享音频、视频、文本消息、演示、屏幕共享等。客户端设备131-134可以经由服务器151彼此链接,以便实时共享音频、视频、文本消息、演示、屏幕共享等。
多个用户设备经由第二服务器彼此链接(204)。例如,客户端设备131-134可以经由服务器152彼此链接,以便共享音频、视频、文本消息、演示、屏幕共享等。客户端设备131-134可以经由服务器152彼此链接,以便实时共享音频、视频、文本消息、演示、屏幕共享等。在另一示例中,客户端设备131-134可以经由服务器152彼此链接,以便在第一服务器(例如,服务器151)发生故障的情况下提供冗余。
从第一服务器到多个用户设备,发送媒体流的第一部分版本(206)。例如,服务器151可以向客户端设备131-134发送媒体流的第一部分版本。由服务器151发送的部分内容流可以是具有差错控制编码的编码内容流的一部分或者可以用于在存在丢失编码内容流的部分的情况下重建完整内容流的其他冗余信息(例如,重复编码)。
从第二服务器到多个用户设备,发送媒体流的第二部分版本(208)。例如,服务器152可以向客户端设备131-134发送媒体流的第二部分版本。由服务器152发送的部分内容流可以是编码内容流的不同部分,而不是由服务器151发送的部分。
通过多个用户设备中的至少第一用户设备,接收第一部分版本的第一部分和第二部分版本的第二部分(210)。例如,客户端设备131可以接收内容流的第一部分版本的第一部分。客户端设备131可以接收内容流的第二部分版本的第二部分。由于丢失的分组、网络120拥塞、服务器151-152拥塞、服务器151-152故障等,客户端设备131可以仅接收内容流的第一和/或第二部分版本的一部分。
通过第一用户设备,组合第一部分和第二部分以向用户输出媒体流的版本(212)。例如,客户端设备131可以组合第一部分和第二部分以向用户101输出媒体流的版本。该版本可以是在客户端设备131-134之间共享的高质量或“完整”版本的媒体流。该版本可以是在客户端设备131-134之间共享的媒体流的较低质量或“不完整”版本。
图3A是示出使用多个内容流的内容共享的图。在图3A中,系统300包括参与者301-302、客户端设备331-332、网络320和服务器351-352。参与者301-302分别使用部署在客户端设备331-332上的软件程序来参与由至少服务器351-352托管的在线通信会话。客户端设备331-332可操作地耦合到网络320。网络320包括或可操作地耦合到服务器351-352。因此,参与者301-302经由客户端设备331-332、网络320和服务器351-352能够加入、离开、接收和参与在线通信会话。
网络120是广域通信网络,其可以提供客户端设备331-332与服务器351-352的有线和/或无线通信。网络320类似于本文描述的网络120。因此,为简洁起见,这里将省略对网络320的进一步描述。
客户端设备331-332可以是例如台式计算机、平板计算机、膝上型计算机、移动电话、无线电话、个人数字助理(PDA)、网际协议语音(VoIP)电话、分组语音(VOP)电话或软电话,以及执行web浏览器、在线会议软件和/或在线通信软件(例如,来自微软公司的SkypeTM应用)的其他类型的设备或系统以便参与由服务器351-352托管的通信会话。其他类型的通信平台也是可能的。可以是,包括和/或包含客户端设备331-332的示例设备包括但不限于示例计算机系统500(这里参考图5描述)。
在一个实施例中,客户端设备331-332经由服务器351和服务器352彼此链接。客户端设备131-134能够经由服务器351-352共享媒体流。
客户端设备331向服务器351发送媒体流的第一部分版本。这在图3A中由从客户端设备331运行到服务器351的箭头341示出。客户端设备331向服务器352发送媒体流的第二部分版本。这在图3A中由从客户端设备331运行到服务器351的箭头342示出。
服务器351向客户端设备332发送媒体流的第一部分版本。这在图3A中由从服务器351运行到客户端设备332的箭头343示出。服务器352向客户端设备332发送媒体流的第二部分版本。这在图3A中由从服务器352运行到客户端设备332的箭头344示出。
在一个实施例中,服务器352被指定为服务器351的冗余服务器。换句话说,如果服务器351故障或以其他方式与一个或多个客户端设备331-332和/或网络320断开连接,则服务器352可以被配置“接管”服务器351。通常,服务器351和服务器352位于地理上分离的设施中。这些设施可以包括许多服务器。这些设施也可称为数据中心。可以是,包括和/或包含服务器351-352的示例设备包括但不限于示例计算机系统500(这里参考图5描述)。
客户端设备332接收内容流的第一部分版本的第一部分。客户端设备332接收内容流的第二部分版本的第二部分。由于丢失的分组、网络320拥塞、服务器351-352拥塞、服务器351-352故障等,客户端设备332可以仅接收内容流的第一和/或第二部分版本的一部分。
客户端设备332组合第一部分和第二部分以向用户302输出媒体流的版本。该版本可以是在客户端设备331-332之间共享的媒体流的高质量或“完整”版本。该版本可以是在客户端设备331-332之间共享的媒体流的较低质量或“不完整”版本。
在一个实施例中,客户端设备331发送基于具有差错控制编码的编码内容流的部分内容流或者可以用于在存在编码内容流的缺少部分的情况下重建完整内容流的其他冗余信息(例如,重复编码)。例如,客户端设备331要共享的内容流可以用低速率差错控制代码编码,并由客户端设备331分割,如本文所述。
在一个实施例中,接收客户端设备332可以选择仅使用客户端设备331经由服务器351-352发送的内容流中的信息之一(或者如果存在多于两个服务器则为子集)。在这种情况下,可以忽略来自非选取服务器的编码媒体流的分割部分。客户端设备302可以基于从或者要被忽略的服务器351-352或者正在的使用服务器351-352接收的内容流的质量,来选择使用由服务器351-352中继的内容流中的信息的子集。例如,如果经由服务器351接收的部分编码内容流的质量足以再现内容流的全质量版本,则可以忽略经由服务器352发送的部分编码内容流。相反,例如,如果经由服务器352接收的部分编码内容流的质量太差以至于不能显着地为再现内容流的全质量版本做贡献,则经由服务器352发送的部分编码内容流可以会被忽略。
图3B是示出使用单个输入内容流的内容共享的图。在图3B中,系统301包括参与者301-302、客户端设备331-332、网络320和服务器351-352。
在一个实施例中,客户端设备331-332经由服务器351和服务器352彼此链接。客户端设备131-134能够经由服务器351-352共享媒体流。
客户端设备331向服务器351发送媒体流的完整版本。这在图3B中由从客户端设备331运行到服务器351的箭头361示出。客户端设备331发送的媒体流的完整版本可以是未编码的,或者可以如本文所述进行编码。服务器351向客户端设备332发送媒体流的第一部分版本。这在图3B中由从服务器351运行到客户端设备332的箭头363示出。服务器351向服务器352发送媒体流的第二部分版本。这在图3B中由从服务器351运行到服务器352的箭头362示出。服务器352向客户端设备332发送媒体流的第二部分版本。这在图3B中由从服务器352运行到客户端设备332的箭头364示出。因此,从图3A和3B应当理解,共享的媒体流的分割可以通过发送客户端设备331或者通过服务器351来完成。当由单个服务器351完成分割时,为了在线通信会话的目的,该服务器351将分割部分发送到链接到客户端设备331-332的其他服务器352。
图4是示出多个内容流的接收的流程图。图4中所示的步骤可以由系统100、系统300和/或系统301的一个或多个元件执行。从将多个用户设备链接到彼此的第一服务器,接收媒体流的第一部分版本(402)。例如,客户端设备332可以从服务器351接收媒体流的第一部分版本。在示例中,客户端设备332可以从服务器351接收由发送客户端设备331创建的部分版本。在另一示例中,客户端设备332可以从服务器351接收由服务器351创建的部分版本。
从第二服务器接收媒体流的第二部分版本(404)。例如,客户端设备332可以从服务器352接收媒体流的第二部分版本。在示例中,客户端设备332可以从服务器352接收由发送客户端设备331创建的部分版本。在另一示例中,客户端设备可以从服务器351接收由服务器351创建并通过服务器352发送给客户端设备332的部分版本。
第一部分版本和第二部分版本中的至少一个用于输出媒体流的版本(406)。例如,客户端设备332可以使用所接收的部分版本(单独或组合)来向用户302输出媒体流的版本。客户端设备332可以仅接收内容流的第一和/或第二部分版本的一部分。由于丢失的分组、网络320拥塞、服务器351-352拥塞、服务器351-352故障等,客户端设备332可以仅接收内容流的第一和/或第二部分版本的一部分。
上述方法、系统和设备可以在计算机系统中实现,或者由计算机系统存储。上述方法还可以存储在非暂时性计算机可读介质上。这里描述的设备、电路和系统可以使用本领域可用的计算机辅助设计工具来实现,并且由包含这种电路的软件描述的计算机可读文件来体现。这包括但不限于系统100、系统300和/或系统301的一个或多个元件及其组件。这些软件描述可以是:行为、寄存器传输、逻辑组件、晶体管和布局几何级描述。
可以实现这种描述的数据格式存储在非暂时性计算机可读介质上,包括但不限于:支持诸如C的行为语言的格式,支持诸如Verilog和VHDL的寄存器传输级(RTL)语言的格式,支持几何描述语言(如GDSII,GDSIII,GDSIV,CIF和MEBES)的格式,以及其他合适的格式和语言。物理文件可以在非暂时性机器可读介质上实现,例如:4mm磁带,8mm磁带,3-1/2英寸软盘介质,CD,DVD,硬盘驱动器,固态磁盘驱动器,固态存储器,闪存驱动器等。
可替代地或另外地,本文中功能性描述的内容可以至少部分地由一个或多个硬件逻辑组件来执行。例如但不限于,可以使用的说明性类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统式系统(SOC)、复杂可编程逻辑器件(CPLD)等。
图5示出了示例计算机系统的框图。计算机系统500包括通信接口520、处理系统530、存储系统540和用户接口560。处理系统530可操作地耦合到存储系统540。存储系统540存储软件550和数据570。处理系统530可操作地耦合到通信接口520和用户接口560。计算机系统500可以包括编程的通用计算机。计算机系统500可包括微处理器。计算机系统500可包括可编程或专用电路。计算机系统500可以分布在一起包括元件520-570的多个设备、处理器、存储器和/或接口之间。
通信接口520可以包括网络接口、调制解调器、端口、总线、链路、收发器或其他通信设备。通信接口520可以分布在多个通信设备中。处理系统530可以包括微处理器、微控制器、逻辑电路或其他处理设备。处理系统530可以分布在多个处理设备中。用户接口560可以包括键盘、鼠标、语音识别界面、麦克风和扬声器、图形显示器、触摸屏或其他类型的用户接口设备。用户接口560可以分布在多个接口设备中。存储系统540可以包括磁盘、磁带、集成电路、RAM、ROM、EEPROM、闪存、网络存储、服务器或其他存储功能。存储系统540可以包括计算机可读介质。存储系统540可以分布在多个存储器设备中。
处理系统530从存储系统540检索并执行软件550。处理系统530可以检索和存储数据570。处理系统530还可以通过通信接口520检索和存储数据。处理系统550可以创建或修改软件550或数据570以实现有形结果。处理系统可以控制通信接口520或用户接口560以实现有形结果。处理系统530可以经由通信接口520检索并执行远程存储的软件。
软件550和远程存储的软件可以包括操作系统、实用程序、驱动程序、网络软件和通常由计算机系统执行的其他软件。软件550可以包括通常由计算机系统执行的应用程序、小应用程序、固件或其他形式的机器可读处理指令。当由处理系统530执行时,软件550或远程存储的软件可以指示计算机系统500如本文所述进行操作。
这里讨论的实现方式包括但不限于以下示例:
示例1:一种系统,包括:第一服务器,具有经由所述第一服务器彼此链接的多个用户设备,其中所述多个用户设备共享媒体流,所述媒体流包括至少第一部分媒体流和第二部分媒体流,第一部分媒体流与所述第二部分媒体流不同,所述第一服务器向多个用户设备发送所述第一部分媒体流;以及,第二服务器,具有经由所述第二服务器彼此链接的多个用户,所述第二服务器向所述多个用户设备发送所述第二部分媒体流。
示例2:示例1的系统,其中,所述多个用户设备中的至少一个组合所述第一部分媒体流和所述第二部分媒体流,以便输出所述媒体流的全质量版本。
示例3:示例1的系统,其中所述第一服务器和第二服务器是在线会议服务器。
示例4:示例1的系统,其中,所述媒体流源自所述多个用户设备中的第一用户设备,并且所述第一服务器将所述媒体流分割成所述第一部分媒体流和所述第二部分媒体流。
示例5:示例1的系统,其中,所述媒体流源自所述多个用户设备中的第一用户设备,并且所述第一用户设备将所述媒体流分割成所述第一部分媒体流和所述第二部分媒体流。
示例6:示例1的系统,其中媒体流包括差错控制编码。
示例7:示例6的系统,其中多个用户设备中的至少一个使用第一部分媒体流中的差错控制编码来输出媒体流的全质量版本。
示例8:一种操作系统的方法,包括:经由第一服务器将多个用户设备彼此链接,其中,所述多个用户设备共享媒体流;经由第二服务器将所述多个用户设备彼此链接;从所述第一服务器向所述多个用户设备发送媒体流的第一部分版本;从所述第二服务器向所述多个用户设备发送媒体流的第二部分版本;由所述多个用户设备中的至少第一用户设备接收所述第一部分版本的第一部分和所述第二部分版本的第二部分;以及,由第一用户设备组合第一部分和第二部分,以向用户输出所述媒体流的版本。
示例9:示例8的方法,其中所述第一部分和所述第二部分由所述第一用户设备用于输出所述媒体流的全质量版本。
示例10:示例8的方法,其中所述第一部分版本和所述第二部分版本包括差错控制信息。
示例11:示例8的方法,还包括:由所述第一服务器从所述多个用户设备中的第二用户设备接收所述媒体流。
示例12:示例8的方法,还包括:由所述第一服务器从所述多个用户设备中的第二用户设备接收所述媒体流的第一部分版本;以及由所述第二服务器从所述多个用户设备中的第二用户设备接收所述媒体流的第二部分版本。
示例13:示例8的方法,其中,所述媒体流的第一部分版本和媒体流的第二部分版本包括从媒体流计算的差错控制信息。
示例14:示例8的方法,还包括:由所述第一服务器从所述多个用户设备中的第二用户设备接收所述媒体流;并且,由所述第二服务器从所述第一服务器接收媒体流的第二部分版本。
示例15:一种操作链接到系统的用户设备的方法,包括:从将多个用户设备链接到彼此的第一服务器接收媒体流的第一部分版本;从第二服务器接收媒体流的第二部分版本;并且,使用所述第一部分版本和所述第二部分版本中的至少一个来输出媒体流的版本。
示例16:示例15的方法,还包括:解码由第一部分版本和第二部分版本中的至少一个提供的差错控制信息,以输出媒体流的版本。
示例17:示例16的方法,其中,解码由第一部分版本和第二部分版本中的至少一个提供的差错控制信息产生媒体流的全质量版本。
示例18:示例15的方法,其中,媒体流包括由多个用户设备中的第二用户设备确定的差错控制信息。
示例19:示例15的方法,其中,媒体流包括由第一服务器和第二服务器中的至少一个确定的差错控制信息。
示例20:示例19的方法,其中,第二部分版本由第一服务器提供给第二服务器。
已经出于说明和描述的目的呈现了所公开实施例的前述描述。它们并非旨在穷举或将所要求保护的主题的范围限制为所公开的精确形式,并且鉴于上述教导,其他修改和变化是可能的。选择和描述实施例是为了最好地解释所公开的实施例的原理及其实际应用,从而使得本领域的其他技术人员能够最好地利用适合于预期的特定用途的各种实施例和各种修改。除了受现有技术限制之外,所附权利要求旨在被解释为包括其他替代实施例。

Claims (15)

1.一种通信系统,包括:
第一服务器,具有经由所述第一服务器彼此链接的多个用户设备,其中,所述多个用户设备共享媒体流,所述媒体流包括至少第一部分媒体流和第二部分媒体流,第一部分媒体流和所述第二部分媒体流是所述媒体流的不同版本,其能够由所述多个用户设备中的一个使用以向用户输出所述媒体流的低质量版本,并且能够被组合以向所述用户输出所述媒体流的全质量版本,所述第一服务器向所述多个用户设备发送所述第一部分媒体流;以及
第二服务器,具有经由所述第二服务器彼此链接的多个用户设备,所述第二服务器向所述多个用户设备发送所述第二部分媒体流。
2.如权利要求1所述的系统,其中,所述多个用户设备中的至少一个组合所述第一部分媒体流和所述第二部分媒体流,以便输出所述媒体流的全质量版本。
3.如权利要求1所述的系统,其中,所述第一服务器和所述第二服务器是在线会议服务器。
4.如权利要求1所述的系统,其中,所述媒体流源自所述多个用户设备中的第一用户设备,并且所述第一服务器将所述媒体流分割成所述第一部分媒体流和所述第二部分媒体流。
5.如权利要求1所述的系统,其中,所述媒体流源自所述多个用户设备中的第一用户设备,并且所述第一用户设备将所述媒体流分割成所述第一部分媒体流和所述第二部分媒体流。
6.如权利要求1所述的系统,其中,所述媒体流包括差错控制编码,并且至少所述第一部分媒体流包括差错控制编码。
7.如权利要求6所述的系统,其中,所述多个用户设备中的至少一个使用所述第一部分媒体流中的差错控制编码来输出所述媒体流的版本。
8.一种操作通信系统的方法,包括:
经由第一服务器将多个用户设备彼此链接,其中,所述多个用户设备将共享媒体流;
经由第二服务器将所述多个用户设备彼此链接;
从所述第一服务器向所述多个用户设备发送所述媒体流的第一部分版本;
从所述第二服务器向所述多个用户设备发送所述媒体流的第二部分版本;
由所述多个用户设备中的至少第一用户设备接收所述第一部分版本的第一部分和所述第二部分版本的第二部分;以及
由所述第一用户设备组合所述第一部分和所述第二部分,以向用户输出所述媒体流的版本,其中,
所述第一部分版本和所述第二部分版本是所述媒体流的不同版本,其能够由所述多个用户设备中的一个使用以向用户输出所述媒体流的低质量版本,并且能够被组合以向所述用户输出所述媒体流的全质量版本。
9.如权利要求8所述的方法,其中,所述第一部分和所述第二部分由所述第一用户设备用于输出所述媒体流的全质量版本。
10.如权利要求8所述的方法,其中,所述第一部分版本和所述第二部分版本包括差错控制信息。
11.如权利要求8所述的方法,还包括:
由所述第一服务器从所述多个用户设备中的第二用户设备接收所述媒体流。
12.如权利要求8所述的方法,还包括:
由所述第一服务器且从所述多个用户设备中的第二用户设备接收所述媒体流的所述第一部分版本;以及
由所述第二服务器且从所述多个用户设备中的所述第二用户设备接收所述媒体流的所述第二部分版本。
13.如权利要求8所述的方法,其中,所述媒体流的所述第一部分版本和所述媒体流的所述第二部分版本包括从所述媒体流计算的差错控制信息。
14.如权利要求8所述的方法,还包括:
由所述第一服务器且从所述多个用户设备中的第二用户设备接收所述媒体流;以及
由所述第二服务器且从所述第一服务器接收所述媒体流的所述第二部分版本。
15.一种操作链接到通信系统的用户设备的方法,包括:
从将多个用户设备链接到彼此的第一服务器接收媒体流的第一部分版本;
从第二服务器接收所述媒体流的第二部分版本;以及
使用所述第一部分版本和所述第二部分版本中的至少一个来输出所述媒体流的版本,其中,
所述第一部分版本和所述第二部分版本是所述媒体流的不同版本,其能够由所述多个用户设备中的一个使用以向用户输出所述媒体流的低质量版本,并且能够被组合以向所述用户输出所述媒体流的全质量版本。
CN201780040505.2A 2016-06-29 2017-06-22 用于同时媒体流服务的系统和方法 Active CN109417550B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111060466.7A CN113794854A (zh) 2016-06-29 2017-06-22 用于同时媒体流服务的系统和方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/196,661 2016-06-29
US15/196,661 US10057309B2 (en) 2016-06-29 2016-06-29 Concurrent serving of a media stream
PCT/US2017/038640 WO2018005212A1 (en) 2016-06-29 2017-06-22 Concurrent serving of a media stream

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202111060466.7A Division CN113794854A (zh) 2016-06-29 2017-06-22 用于同时媒体流服务的系统和方法

Publications (2)

Publication Number Publication Date
CN109417550A CN109417550A (zh) 2019-03-01
CN109417550B true CN109417550B (zh) 2021-09-14

Family

ID=59276873

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201780040505.2A Active CN109417550B (zh) 2016-06-29 2017-06-22 用于同时媒体流服务的系统和方法
CN202111060466.7A Pending CN113794854A (zh) 2016-06-29 2017-06-22 用于同时媒体流服务的系统和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202111060466.7A Pending CN113794854A (zh) 2016-06-29 2017-06-22 用于同时媒体流服务的系统和方法

Country Status (4)

Country Link
US (2) US10057309B2 (zh)
EP (1) EP3453151B1 (zh)
CN (2) CN109417550B (zh)
WO (1) WO2018005212A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11153532B1 (en) 2020-12-29 2021-10-19 Atlassian Pty Ltd. Capturing and organizing team-generated content into a collaborative work environment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101483761A (zh) * 2008-01-10 2009-07-15 上海诚丰数码科技有限公司 一种基于全ip网络的智能视频监控系统
CN104969657A (zh) * 2013-01-16 2015-10-07 微软技术许可有限责任公司 通过使用多个媒体流进行无线实时媒体通信
CN105007505A (zh) * 2015-07-29 2015-10-28 无锡天脉聚源传媒科技有限公司 视频播出方法及装置

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7159234B1 (en) * 2003-06-27 2007-01-02 Craig Murphy System and method for streaming media server single frame failover
CN1964480A (zh) * 2005-11-10 2007-05-16 华为技术有限公司 一种切换流媒体服务器的方法
US8638696B1 (en) 2008-02-28 2014-01-28 West Corporation Enterprise conferencing with dual mixing
CN101252546B (zh) * 2008-04-15 2012-02-29 中国科学技术大学 媒体流在线服务迁移的方法和装置
DE102008029353A1 (de) 2008-06-20 2009-12-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung zum Zuweisen und Schätzen von Übertragungssymbolen
US8374254B2 (en) * 2008-12-15 2013-02-12 Sony Mobile Communications Ab Multimedia stream combining
US9143618B2 (en) 2008-12-29 2015-09-22 Shoretel, Inc. Distributed audio conferencing architecture with optimum resource utilization and seamless scalability
CN101510884A (zh) * 2009-03-26 2009-08-19 华为技术有限公司 多媒体会议管理方法、网络设备及网络系统
US8972515B2 (en) * 2009-03-30 2015-03-03 The Boeing Company Computer architectures using shared storage
US9141489B2 (en) * 2009-07-09 2015-09-22 Uniloc Luxembourg S.A. Failover procedure for server system
DE102009050312B4 (de) 2009-10-22 2015-01-22 Airbus Operations Gmbh Digitales Rundsendeverfahren
US8605132B1 (en) 2010-03-26 2013-12-10 Insors Integrated Communications Methods, systems and program products for managing resource distribution among a plurality of server applications
US8315165B2 (en) 2010-06-07 2012-11-20 Microsoft Corporation Survivable and resilient real time communication architecture
US8527837B2 (en) * 2010-10-15 2013-09-03 Micron Technology, Inc. Selective error control coding in memory devices
US9762578B2 (en) * 2010-10-25 2017-09-12 Schneider Electric It Corporation Methods and systems for establishing secure authenticated bidirectional server communication using automated credential reservation
US8566636B2 (en) * 2011-01-27 2013-10-22 International Business Machines Corporation Application recovery in a file system
CN102932319B (zh) * 2011-08-12 2016-03-16 上海贝尔股份有限公司 一种用于保持通话的方法和装置
US20130070839A1 (en) * 2011-09-20 2013-03-21 General Instrument Corporation Statistical multiplexing of streaming media
US9981529B2 (en) * 2011-10-21 2018-05-29 Honeywell International Inc. Actuator having a test mode
US8565689B1 (en) * 2012-06-13 2013-10-22 All Purpose Networks LLC Optimized broadband wireless network performance through base station application server
JP6125628B2 (ja) * 2012-06-22 2017-05-10 グーグル インコーポレイテッド オンラインアクティビティの集約
US9413494B2 (en) * 2013-01-17 2016-08-09 Qualcomm Incorporated FEC-based reliable transport control protocols for multipath streaming
US20140280595A1 (en) 2013-03-15 2014-09-18 Polycom, Inc. Cloud Based Elastic Load Allocation for Multi-media Conferencing
US9154317B2 (en) 2013-07-24 2015-10-06 Vonage Network Llc Method and apparatus for providing bridgeless conferencing services
CN104767652B (zh) 2014-01-08 2020-01-17 杜比实验室特许公司 监视数字传输环境性能的方法
US9729347B2 (en) 2014-02-28 2017-08-08 Vonage Business Inc. System and method for selection of a conference bridge master server
US8930067B1 (en) * 2014-05-05 2015-01-06 Nmtc, Inc. System and method for a subscription-based diagnostic software service
US9357076B2 (en) 2014-06-06 2016-05-31 Cisco Technology, Inc. Load balancing of distributed media agents in a conference system
US9912710B2 (en) * 2014-07-15 2018-03-06 Maximum Media LLC Systems and methods for automated real-time Internet streaming and broadcasting

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101483761A (zh) * 2008-01-10 2009-07-15 上海诚丰数码科技有限公司 一种基于全ip网络的智能视频监控系统
CN104969657A (zh) * 2013-01-16 2015-10-07 微软技术许可有限责任公司 通过使用多个媒体流进行无线实时媒体通信
CN105007505A (zh) * 2015-07-29 2015-10-28 无锡天脉聚源传媒科技有限公司 视频播出方法及装置

Also Published As

Publication number Publication date
EP3453151A1 (en) 2019-03-13
US20180359296A1 (en) 2018-12-13
US10686853B2 (en) 2020-06-16
CN113794854A (zh) 2021-12-14
EP3453151B1 (en) 2020-09-30
US10057309B2 (en) 2018-08-21
WO2018005212A1 (en) 2018-01-04
CN109417550A (zh) 2019-03-01
US20180007103A1 (en) 2018-01-04

Similar Documents

Publication Publication Date Title
US20180007096A1 (en) Weighted data center reselection
AU2013315660B2 (en) System and method for agent-based integration of instant messaging and video communication systems
US20080165708A1 (en) Multimedia conferencing method and signal
CN103109528A (zh) 用于控制和管理多点会议的系统和方法
US11005901B2 (en) Synthetic transaction to determine centroid for cloud hosting
Ahmed et al. The impact of digital communication on social networks: A review
CN109417550B (zh) 用于同时媒体流服务的系统和方法
CN110024353B (zh) 认知资源选择
US20180007122A1 (en) Data center reselection
US10009397B2 (en) Optimizing teleconferencing using transparent relays
US10924613B1 (en) Encoder pools for conferenced communications
Bartczak et al. Lightweight PIM—a new multicast routing protocol
US20090207988A1 (en) Method and system for telecommunication sessions using only initial signal messages
CN105791739B (zh) 视频会话协商方法及装置
Aguirre et al. Darkcube: A k-Hypercube based P2P VoIP protocol
US9300907B2 (en) Method for handling interference during the transmission of a chronological succession of digital images
US11924257B2 (en) Systems and methods for providing media communication programmable services
Nguyen et al. Internet media streaming using network coding and path diversity
Sadeh et al. Application of multiple description coding for adaptive QoS mechanism for mobile cloud computing
Rumsey Broadcast Streaming: Ins and Outs
Daniels 20 Things You Should Know Before Migrating Your Audio Network to IP

Legal Events

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