CN101902453A - 在加密通信会话中传递实时的基于优先级的网络通信 - Google Patents
在加密通信会话中传递实时的基于优先级的网络通信 Download PDFInfo
- Publication number
- CN101902453A CN101902453A CN200910253036XA CN200910253036A CN101902453A CN 101902453 A CN101902453 A CN 101902453A CN 200910253036X A CN200910253036X A CN 200910253036XA CN 200910253036 A CN200910253036 A CN 200910253036A CN 101902453 A CN101902453 A CN 101902453A
- Authority
- CN
- China
- Prior art keywords
- media stream
- network service
- sub
- communication session
- value
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0869—Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本说明书描述了涉及在加密会话中传递实时的、基于优先级的网络通信的技术。一般地,描述的主题的各方面可以表现在方法中,包括:基于在握手通信的随机数据部分中保留的密码信息建立会话,接收与子媒体流相关的包括在网络通信报头中的参数值,存储参数值,获得包括在第二网络通信中的状态信息和数据净荷,根据状态信息识别该第二网络通信的目的、以及该第二网络通信的报头是否包括与一个或多个参数相应的一个或多个新的值,基于一个或多个新的值来更新一个或多个存储的值,并且基于识别的目的和存储的参数值来处理数据净荷。
Description
技术领域
本公开涉及在加密通信会话中传递(impart)实时的、基于优先级的网络通信。
背景技术
计算机网络是以有线和/或无线通信链路连接在一起的处理节点的集合。计算机网络可以是单独的网络或者网络的集合(例如互联网),并且可以使用多种组网协议,包括网络互联协议(例如因特网协议(IP))。这些协议定义了用于准备通过网络传输的信息的方式,通常包括将数据拆分成段来传输,所述段一般称为分组(例如,IP分组,ATM(异步转移模式)元)。这些组网协议通常由具有多个层的网络结构构成,其中层向其上面的层提供通信服务。这些协议可以包括诸如在以太网中的合用线协议、诸如在ATM网络中的面向连接的交换协议、和/或诸如在IP中的无连接分组交换协议。
很多计算机网络使用无连接分组交换协议(例如IP)。将分组分别路由并因此可以以不同路径通过网络。已经在无连接分组交换协议(例如IP)之上建立了多种协议,用于提供基于在底层无连接协议上的通信的连接。例如,TCP/因特网协议(IP)协议栈的传输控制协议(TCP)在通信的两端都建立连接,并在分组上附加包含源端口和目的地端口以及分组序号和其他管理信息的分组头。目的地通常在接收到一些TCP分组之后向源发送确认。如果确认失败,则源将通常会假定分组丢失并重新发送那些分组。这个过程保证了可靠的传输。
另一个协议UDP是无连接且不可靠的,这意味着此协议无法在在两端都建立连接,也不包括用于重新发送丢失分组的源。实时传输协议(RTP)作为UDP上的薄层用于创建通用的多目的实时传输协议。RTP为具有实时特性的应用提供包括重构、丢失检测、安全性和内容识别的支持,而不存在与TCP相关的可靠性引起的延迟。实时控制协议(RTCP)与RTP结合使用,以便为维持RTP会话的应用提供控制支持。
网络不同方面的协同工作可能是复杂的。很多应用使用RTP来传输媒体流。RTP建立在UDP之上,通常不具有与之相关的固定端口。防火墙可以防止针对计算机系统或网络的未认证和/或恶意访问。就此而言,防火墙通常配置有严格的规则,明确规定了可以通过其进行传输的期望和/或认证数据业务的静态端口,同时阻止不期望的数据。这并不保证与输入RTP/UDP流相关的端口会被允许通过防火墙。而且,NAT设备可以使网络支持比其固有的IP地址更多的客户端,该NAT设备用来将在一个网络内部使用的IP地址转换成在另一个网络内部可识别的不同IP地址。
发明内容
本说明书描述了涉及在加密通信会话中传递实时的基于优先级的网络通信的技术。总体来说,本说明书所描述的主题的一个方面可以实现在一种方法中,包括:至少部分基于握手网络通信的预定义部分中的密码信息建立通信会话来传送媒体流,其中握手网络通信的预定义部分是为随机数据保留的,通过该通信会话接收作为该媒体流的一部分的、包含在第一实时的基于优先级的网络通信的第一报头部分中与子媒体流相关的参数值,存储该参数的值,通过该通信会话获得作为该媒体流的一部分的、包含在第二实时的基于优先级的网络通信的控制部分的状态信息和包含在该第二网络通信中的数据净荷,从该状态信息识别与该媒体流相关的第二网络通信的目的、以及第二网络通信的第二报头部分是否包括与一个或多个参数相应的一个或多个新的值,当该第二报头部分包括所述一个或多个新的值时,至少部分地基于所述一个或多个新的值来更新一个或多个存储的值,以及至少部分地基于识别的目的和存储的参数值来处理数据净荷。
而且,描述的主题的另一个方面可以实现在一种方法中,其中子媒体流是第一子媒体流,包括通过加密的通信会话,接收作为媒体流一部分的与第二子媒体流相关的、实时的基于优先级的网络通信,其中网络通信包括状态信息和数据净荷,至少部分地基于密码信息解密数据净荷,至少部分地基于状态信息和解密的数据净荷来整合第二子媒体流的可播放部分,以及播放与至少一个存储的参数值相关所指示的媒体类型相关的第二子媒体流的整合的部分。第一和第二子媒体流在某些实施方式中可以是相同的子媒体流(例如都是媒体流的视频部分),而在其他实施方式中该子媒体流是不同的(例如分别是媒体流中的视频和音频部分)。描述的主题的另一个方面可以实现在一种方法中,包括至少部分地基于通信会话的建立来打开或关闭关于运行通信会话的程序的特征功能。这些方面的其他实施方式包括相应的系统、设备和计算机程序产品。
这些和其他实施方式可以可选地包括一个或多个以下特征。识别目的可以包括从一组可能的目的来识别该目的,该组可能的目的包括:开始新的子媒体流,第二报头部分包括与参数相应的子媒体流的值,指示新的媒体类型,第二报头部分包括与少于全部的参数相应的一个或多个值,提供新的时间,第二报头部分包括与参数中的一个相应的新的值,和继续该子媒体流,第二报头部分不包括新的参数值。
建立通信会话可以包括利用来自握手网络通信的输入数据部分产生响应握手网络通信,包括输出数据部分,其中输出数据部分包含随机数据和密码信息中的至少一个,输入数据部分包括握手网络通信中的随机数据和密码信息中的至少一个,传送产生的响应握手网络通信,响应于传送的响应握手网络通信来接收第二握手网络通信,以及基于在传送的响应握手网络通信中的输出数据部分来认证该第二握手网络通信。而且,建立通信会话可以包括至少部分地基于密码信息来建立密钥,以及至少部分地基于密钥来发起通信会话作为加密通信会话。
描述的主题还可以实现在一种方法中,包括:至少部分基于握手网络通信的预定义部分中的密码信息建立通信会话来传送媒体流,其中握手网络通信的预定义部分是为随机数据保留的,并且媒体流包括子媒体流,将优先级的值与子媒体流相关联,基于所述优先级的值产生总的优先级的值,基于所述优先级的值和总的优先级的值来计算与子媒体流对应的预期传送比例,通过子媒体流传送第一组实时的基于优先级的网络通信,基于在子媒体流中传送的第一组网络通信来评估与该子媒体流对应的子媒体流计数,基于子媒体流计数来求和总的计数,基于子媒体流计数和总的计数来确定与所述子媒体流对应的实际传送比例,基于预期的传送比例和实际的传送比例来演算与所述子媒体流对应的比值,并且存储演算的比值。而且,描述的主题的另一个方面可以实现在一种方法中,包括选择与最低的比值对应的低比值的子媒体流,将第二组将要通过所述子媒体流传送的网络通信排队,从排队的第二组网络通信中选择与低比值子媒体流相关的低比值子媒体流网络通信,并且经由低比值子媒体流传送所述低比值子媒体流网络通信。
根据另一方面,描述的主题还可以实现在一种系统中,包括服务器,编程为使用包括握手网络通信的会话启动握手经由网络建立与客户端的加密会话,握手网络通信包括为随机数据保留的预定义部分,和客户端,编程为使用包括在握手网络通信的预定义部分中的密码信息的会话启动握手建立与服务器的加密会话,其中服务器和客户端都编程为执行以下操作,包括:至少部分地基于密码信息建立加密通信会话来传送媒体流,通过该通信会话来接收作为该媒体流的一部分的包含在第一实时的基于优先级的网络通信的第一报头部分中与子媒体流相关的参数值,存储参数的值,通过该通信会话来获得作为该媒体流的一部分的包含在第二实时的基于优先级的网络通信的控制部分的状态信息和包含在该第二网络通信中的数据净荷,由从该状态信息,识别与该媒体流相关的第二网络通信的目的、以及第二网络通信的第二报头部分是否包括与一个或多个参数相应的一个或多个新的值,当该第二报头部分包括所述一个或多个新的值时,至少部分地基于所述一个或多个新的值来更新一个或多个存储的值,以及至少部分地基于识别的目的和存储的参数值来处理数据净荷。客户端可以是移动设备(例如移动电话、游戏机、个人数字助理和便携计算机)和固定设备(如工作站、桌上电脑和超级计算机)。操作可以包括所描述方法的各种操作。
另一方面,描述的主题还可以实现在一种方法中,包括将构成媒体流的子媒体流分为网络通信,向网络通信分配表示关于相关子媒体流和相关媒体流的信息的状态,将状态写入到网络通信的报头,将用于传送的网络通信进行排队,并由调度过程传送一些网络通信。描述的主题的另一方面可以实现在一种方法中,包括:接收传送的网络通信,将与网络通信相关的状态转换为关于相关子媒体流和相关媒体流的信息,将网络通信重新整合为相关子媒体流用于重播媒体流。另外,一个方面可以实现在一种方法中,包括:为每个子媒体流分配优先级,对为每个媒体流汇总优先级,使用分配的优先级和汇总的优先级为每个子媒体流计算预期的传送比例,在预设时间段内计数每个子媒体流传送的网络通信的小计计数,使用小计计数和总数为每个子媒体流计算实际的传送比例,演算预期传送比例和实际传送比例的比值,确定具有最低比值的子媒体流,检查与确定的子媒体流相关的网络通信的网络通信队列,并且当发现在队列中时传送与确定的子媒体流相关的网络通信。
这些和其他实施方式可选地包括一个或多个以下特征。状态可以指明相应网络通信的可能目的,可能目的可以包括与新的媒体消息子媒体流相关的新的流网络通信,其中新的流网络通信包括在相应报头中的新参数,没有来自先前报头的参数、与新的媒体消息子媒体流相关的新的媒体网络通信,其中新的媒体网络通信具有在相应报头中的新参数,并且具有来自先前报头的至少一个其他参数、与新的媒体消息子媒体流相关的新的时间网络通信,其中新的时间网络通信具有在相应报头的至少一个新的参数,并使用来自先前报头的其他参数、以及继续网络通信,在相应的报头没有新参数,并具有来自先前报头的参数。分割可以包括维持用于网络通信的用户可定义的最大净荷大小。分配可以包括分配唯一的网络通信标识参数用于将网络通信与其子媒体流相关联,并且该唯一的网络通信标识参数可以小于与子媒体流相关的标签。参数可以包括流ID参数、长度参数、媒体类型参数和时间增量参数中的一个或多个。将网络通信进行排队可以包括根据网络通信的媒体类型,其中媒体类型包括是音频形式的网络通信、视频形式的网络通信和数据形式的网络通信中的一个。调度过程可以根据交织过程来交织音频形式的网络通信、视频形式的网络通信和数据形式的网络通信。调度过程可以包括确定具有最低比值的子媒体流,检查用于与确定的子媒体流相关的网络通信的网络通信队列,并且当在队列中发现具有最低比值的子媒体流时传送与确定的子媒体流相关的网络通信。
本说明书描述的主题的另一个方面可以实现在一种方法中,包括在将要在客户端-服务器环境中发送的网络通信的预定义部分中标识一个位置,其中网络通信的预定义部分为随机数据保留,在该位置将密码信息插入到网络通信的预定义部分中,并且在客户端-服务器环境中发送网络通信以便于至少部分地基于密码信息的处理结果来修改客户端-服务器环境中的交互操作。而且,描述的主题的另一个方面可以在一种方法中实现,包括:接收插入到客户端-服务器环境中网络通信的预定义部分中的密码信息,其中网络通信的预定义部分为随机数据保留,标识网络通信的预定义部分中密码信息的位置,处理密码信息,并且至少部分地基于密码信息的处理结果来修改客户端-服务器环境中的交互操作。这些方面的其他实施方式包括相应的系统、设备和计算机程序产品。
这些和其他实施方式可选地包括一个或多个以下特征。标识位置可以包括使用网络通信的至少一部分来确定位置。预定义部分可以包括随机数据,而使用网络通信的至少一部分来确定位置可以包括:取回随机数据的一部分,并基于随机数据的取回的部分确定到网络通信的预定义部分中的索引。而且,使用网络通信的至少一部分来确定位置可以包括:取回随机数据的多个不同部分,并基于随机数据的不同部分来确定网络通信的预定义部分的多个不同索引。
处理密码信息可以包括建立密钥,而修改客户端-服务器环境中的交互操作可以包括使用该密钥发起加密会话。另外,处理密码信息可以包括认证网络通信,而修改客户端-服务器环境中的交互操作可以包括打开或关闭在客户端-服务器环境中运行程序的特征功能。
本说明书中描述的主题的具体实施方式可以实施以实现一个或多个以下好处。可以建立通信会话,其中信息提供商(例如媒体流发布者)最好能够保证信息的用户遵守信息传递的规则。例如,基于广告的提供商能够有利地确保用于接入通信会话的客户应用包括需要的广告。
另外,与通信会话对应的网络通信可以阻止不直接包含在会话中的那些窃听。例如,客户端可以是运行在浏览器上的软件应用,远端服务器可以通过网络和客户端进行通信。实施方式可以避免客户端的用户或拦截网络上的会话业务的任何人能够不使用通信指向的特定客户端而拦截或使用通信。
而且,实施方式可以有利地认证通信会话的参与方。例如,这样客户端和服务器都知晓另一方的标识。知晓标识可以包括确保特定的人在使用客户端或者正在使用指定的客户端或客户端类型。而且,该方法使得服务器能够检测给定客户端是合法的。合法可以包括支持通信会话协议或者是授权的客户端设备。
另外,实施方式可以保证当网络通信在传输过程中改变时,检测这种改变。例如,服务器可以发送网络通信到客户端。拦截方可以改变该网络通信(例如插入垃圾邮件),然后将通信发送到客户端。一接收到,客户端可以检测该改变,从而避免了不想要的垃圾邮件的打开、欺骗攻击、病毒或其他恶意或善意的改变。
而且,实施方式可以克服平衡具有安全性、系统管理和计算机性能问题的流媒体的请求特性的通常需要考虑的复杂性。实施方式可以允许每个区域共同工作以允许可行的、可扩展的且有使用价值的实施。实施方式还可以有利地提供与现存非加密、非认证会话建立协议的后向兼容。
可以利用减少反向工程风险的方法来建立加密会话。可以使用该方法建立证书,证书可以用于开始一个加密会话或检验各种其他信息。该方法可以对抗反向工程,因为证书在本质上可以“无所遁形”地藏于用于带宽检测的数据中。而且,还可以使用这些数据(具有隐藏其中的密码信息)用于其他目的,例如用于带宽检测或容纳其他信息。
可以实施其他实施方式来实现将媒体流划分成较小的网络通信带来的优点,例如每个子媒体流的流畅传输和整个流的流畅播放(例如,使较小的但是对时间较高敏感的音频消息与更大但是对时间较低敏感的视频消息相交织,从而以令人满意的方式播放整个流。)
结合附图和下文的说明书阐明本发明的一个或多个实施方式的细节。根据说明书、附图和权利要求书,本发明的其他特征、方面和优点将变得清楚。
附图说明
图1示出了其中在加密通信会话上传递实时的基于优先级的通信的示例的网络环境。
图2示出了在加密通信会话中传递实时的基于优先级的网络通信的示例的过程。
图3A示出了示例的网络通信。
图3B示出了示例的网络通信。
图4示出了示例的网络通信控制字节。
图5A示出了具有网络通信的示例的网络通信流。
图5B-图5E示出了接收网络通信的示例的状态机。
图6示出了用于在加密通信会话中调度实时的基于优先级的网络通信的示例的过程。
图7示出了对在建立加密会话和使媒体播放/服务器系统中的特征功能有效/无效时使用的密码信息进行传递的示例的过程。
图8示出了另一个示例的网络环境,其中通过加密通信会话传递实时的基于优先级的通信用于播放媒体内容。
图9表示在实时的基于优先级的通信系统中音频和视频网络通信的示例的交织序列。
图10示出了建立加密通信会话的示例的过程。
各附图中的类似参考数字和标记代表类似单元。
具体实施方式
图1示出了其中在加密通信会话上传递实时的基于优先级的通信的示例的网络环境100。通信会话包括一系列通过网络(例如因特网)传送的相关网络通信,该通信可能加密也可能不加密。通信会话可以承载在先前建立的网络连接上。例如,可以建立TCP连接,随后通过握手150来建立加密通信会话。通信会话也可以是基于RTCP或RTP的会话,或者其他形式的基于连接或无连接的网络通信。
网络环境100可以支持加密的和不加密的会话,两者都可以包括对握手150的使用,其可以包括认证和其他通信协议。密码信息可以包括在已知包含随机字节的握手150的先前存在的分段中,使密码信息保持隐藏,这是由于密码信息本身表现为随机的(由于密码信息的本质)。以这种方式重新使用随机字节部分可以防止反向工程的尝试,并提供与先前创作软件的互通性。
网络环境100包括服务器计算机110。例如,服务器计算机110可以是由加利福尼亚州圣荷塞市的Adobe Systems Incorporated公司提供的媒体服务器。服务器计算机110可以使用网络120(例如因特网)来与一个或多个第一客户端计算机130和一个或多个第二客户端计算机140进行通信。握手150a和150b先于会话135和145,并且可以包括来自服务器110的密码信息,客户端130可能不知晓存在密码信息。
会话启动握手150a和150b可以包括表示协议(例如RTMP协议)的版本的一个或多个字节和用于打开套接字和建立会话的其他信息。握手150a和150b还可以包括其他信息,例如,由操作系统报告的当前时间(例如自从系统起动的毫秒数)。握手150a和150b包括包含随机数据的字节块,该字节块还可以包括可用于对服务器和客户端之间的网络通信进行认证的信息,和用于建立加密会话的信息。这种密码信息可以由服务器计算机110和客户端计算机140发送,但是客户端计算机130不需要知晓这种信息的存在,也并不需要其能够发送这样的信息。
第一客户端计算机130可以是编程为使用会话启动握手150a与服务器计算机110建立不加密会话的计算机。例如,第一客户端计算机130可以包括较早版本的播放器程序,其开始与服务器计算机(例如媒体服务器)的会话。服务器110可以在形成握手150a的一部分的网络通信的随机数据块中包括密码信息。然而,如果第一客户端计算机130无法识别出这个密码信息,从而没有发送相应的返回密码信息,则与服务器110建立的会话135是不加密会话。注意,在服务器110和客户端130之间交互的其他方面也可能受到计算机130该部分上的此次故障的影响,因为服务器110在握手150a之后知晓计算机130正在运行不知晓通信协议的新的密码信息部分的原有程序。
相反,第二客户端计算机140可以是编程为使用会话启动握手150b与服务器计算机110建立加密会话的计算机。例如,第二客户端计算机140可以包括较新版本的播放器程序,其开始与服务器计算机(例如媒体服务器)的加密会话。服务器110可以在形成握手150b的一部分的网络通信的随机数据块中包括密码信息。第二客户端计算机140能够识别出这个密码信息并发送相应的返回密码信息。则这使得与服务器110建立的会话145是加密会话。注意在服务器110和客户端140之间交互的其他方面也可能受到握手150b的影响,因为服务器110在握手150b之后知晓计算机140正在运行知晓通信协议的新的密码信息部分的较新程序。这样,用于与新客户端程序建立加密会话的密码信息可以添加到用于与旧客户端程序建立不加密会话的现有的通信协议中,而不需要旧客户端程序知晓所新添加的密码信息。
图3A示出了示例的网络通信300。该网络通信例如可以用作在会话135和145先前的握手150a和150b的一部分。网络通信300可以包括时间部分330,其可以包括时间戳或其他时间信息。该时间信息可以用于确定网络通信(例如通信300)是否在网络传输中被延迟或者发起端计算机是否具有适当的设置时间。如果包含在时间部分330中的时间没有被正确设置,则握手(例如握手150a)就会失败。来自时间部分330的信息也可以在与网络通信300相关的密码算法中使用。
网络通信300还可以包括密码信息偏移312。该偏移312可以全部或部分用于在包括加密的伪随机数据的预先定义的部分310中定位密码信息314。密码信息314可以表现为随机的,可能无法与其他随机数据区分。这样的话,密码信息可以可见隐藏。使用这种技术可以减少反向工程能够发现通信协议细节的可能性。
密码信息314在预先定义的部分310中的位置可以随实施变化或在给定的实施中变化。例如,密码信息可以位于预先确定的字节位置,或者预先确定的字节位置(例如偏移312)可以包含由其可以确定密码信息314的位置的值。在某些实施中,使用密码信息可以包括对密钥建立协议的使用,例如Diffie-Hellman密钥交换或用于建立一个或多个对称或非对称密钥的其他合适技术。
在某些实施中,使用密码信息可以包括对认证信息324的使用。认证信息324可以是一种消息认证代码(MAC),并可以用于同时检验通过通信会话接收的网络通信的数据完整性(例如数据在传输过程中没有被更改)和真实性(例如信息的发送者是其声明的那个)二者。认证信息324可以使用特定算法进行计算,包括结合密钥,如散列消息认证代码(HMAC)的密码学散列函数。任何迭代密码学散列函数,如MD5,SHA-1,或SHA-256可以用于计算HMAC。HMAC的密码强度依赖于底层散列函数的密码强度、密钥的大小和质量、以及散列输出的比特长度的大小。
可以与密码信息314相类似地找到认证信息324的位置。例如,认证信息偏移322可以全部或部分地用于在包含加密的伪随机数据的预先定义的区域320中定位认证信息324。认证信息324也可以位于预先确定的字节位置,或者预先确定的字节位置可以包含由其可以确定认证信息324的位置的值(如偏移322)。
而且,尽管图3A中示出的密码信息320和认证信息324的位置分别完全包含在预先定义的部分310和320之内,也要清楚,密码信息的开头或结尾可以位于预先定义的部分310和320的开头或结尾。例如,密码信息314可以与密码信息偏移312(如果存在,如果不存在则与时间部分330)或者认证信息偏移322或预先定义的部分320相邻。
图3B示出了示例的网络通信350。网络通信是流式处理中分解的媒体流的一部分。网络通信350包括网络通信控制字节360、报头390和数据净荷370。网络通信控制字节360可以包含与网络通信350的目的有关的状态信息和使网络通信350与一组存储的参数值相匹配的信息。报头390可以包含与事先存储的参数值对应的新的参数值。网络通信350还可以不包括报头390或包括空的报头390,从而不包括任何新的参数值。数据净荷370可以是作为媒体流(例如,音频、视频或视频流所附的数据)的一部分的固定长度的数据段。为了播放,例如,数据净荷370可以使用加密信息314(或从中得到的其他加密信息)解密并和作为同一媒体流的一部分的其他净荷以合适的顺序重新整合。
在一些实施方式中,版本字节380可以用于提供正在使用的传输协议的特定版本的信息。版本字节380可以与握手(例如握手150a和150b)和包括加密信息的网络通信300或包括与媒体流内容相关的数据的网络通信350结合使用。这些信息的包含使得容易维护将来协议版本和后向兼容。使用中,每个会话很可能只需要单一的版本字节。因此,版本字节380可能不会在每个网络通信基础上增加任何开销。
在尝试减少流消息的开销时,某些假设可以调节带宽节约。一个这样的假设包括32比特的消息流ID的必要性。在统计上,在任何给定时间,一个服务器上通常有不到61(61)个消息流(具有唯一的消息流ID)用于任意给定客户。61(61)个消息流可以仅以6个比特唯一地表示。从而,一般具有32个比特的消息流ID是空间的浪费。
图4示出了示例的网络通信控制字节400。网络通信控制字节400可以与网络通信控制字节360相同。网络通信控制字节400包括网络通信标识符,例如子媒体流ID 410和网络通信类型420。当统计数据表明任何时间一个服务器上有最多61(61)个消息流用于特定客户时,人为地限制流的最大数量不是以流的容量为代价换取带宽的有效方式。作为代替,子媒体流ID 410提供了一种机制,用于支持同时总共65,597(使用3到65,599的范围)个流。子媒体流ID410包括网络通信控制字节400的0-5比特。如表1中提供的,当某些实施方式中子媒体流ID 410的值在3和63之间时,子媒体流ID410分配为表面值。在统计上,这种情况出现得最为普遍,导致6个比特的子媒体流ID。然而,当在某些实施方式中子媒体流ID 410的值为0时,第二字节加到子媒体流ID 410上,表示范围64到319。当在某些实施方式中子媒体流ID 410的值为1时,两个额外的字节,也即第二字节和第三字节加到子媒体流ID 410上,表示范围320到65,599。因此,图3B和图4表示的实施方式支持上至65,597个流,同时仍然在统计上有大量消息时节约了带宽。在某些实施方式中子媒体流ID 410的值为2,表示网络通信包括低等级的协议消息,用于控制图3B和图4所示实施方式的管理方面。
表1子媒体流ID
(控制字节的0-5比特)
值 | 含义 |
3-63 | 子媒体流ID是3-63的表面值。 |
0 | 存在另一个字节表示范围64-319(第二字节+64)。 |
1 | 还存在2个字节表示范围320-65,599((第三字节)×256+(第二字节+64))。 |
2 | 网络通信是低等级的协议消息。 |
图3B和图4所示的实时的基于优先级的协议的配置有利地均衡了61(61)个流的统计最大值。因为通常在任何给定时间,在服务器上用于一个客户的流少于61(61),所以一般仅发送6个比特的子媒体流ID 410。因此现有技术的用于消息流ID的32比特的报头可以减少到用于大多数数据流的仅6个比特。在很少的情况下,流的数量超过61,信息的附加字节可以包括进来以支持那些额外的流。
在某些实施方式中,子媒体流ID 410的配置如表1中给出的,表明具有不同状态关联的状态机的实施,使用前2个比特来处理许多不同等级的流。为了促进状态机概念实现这些实施方式,网络通信类型420提供四个状态/类型用于对每个网络通信消息分类。网络通信类型420标识网络通信的类型或目的。
如表2中给出的,网络通信控制字节400的比特6和比特7包括网络通信类型420。当某些实施方式中网络通信类型420的值为0时,网络通信状态或类型标志是新的/重置的消息类型(类型0)或指示一个新的流。这表示在某些实施方式中,在网络通信流上发送的第一个消息。如表2中所描述的,类型0的消息可以包括包含当前流方法的典型报头信息的信息附加字节,诸如消息长度、消息类型ID和消息流ID。然而,代替使用时间戳,图3B和图4所示的实施方式使用时间增量(Δ),或者从前一消息变化的时间。时间增量(Δ)本质上是绝对时间,因为它通常加到时间‘0’上。由于类型0的网络通信包括相当多数量的信息,其通常比流中后续的网络通信大。
当在某些实施方式中网络通信类型420的值为1时,网络通信状态或类型是特定的新的时间变化/时间增量、长度和任何新的消息类型ID(类型1)的新的媒体标志。这个状态可以表示使用新指定的时间增量(即,来自上一个消息的时间戳的变化)和特定长度测量的新的网络通信。从而,对于网络通信流中属于同一子媒体流ID但是与先前网络通信具有不同类型/形式和不同时间增量的下一个消息,其只需要包括关于消息类型ID、时间增量和长度的报头信息。因此类型1的网络通信可以比类型0的网络通信具有更少字节的报头信息,因为实现所示的实施方式的状态机已经被类型0的网络通信设置了某些信息,在类型1的网络通信中保持不变。
在某些实施方式中,网络通信类型420的值2表示仅由单个的报头信息定义的新消息的网络通信状态或类型,例如在新的时间标志中的时间增量(类型2)。类型2的网络通信可以具有与先前网络通信除了可能的时间增量变化以外的全部相同的信息。因此,状态机可能仅需要使用新的时间增量来转变为合适的新状态。
当网络通信类型420的值是3时,图3B和图4所示的实施方式中最少数量的开销或报头信息与类型3的网络通信同时发生。类型3的网络通信是一个继续标志。继续标志网络通信可以使用与先前网络通信相同的消息流ID、相同的消息类型ID、相同的时间变化/时间增量和相同的长度。因此,实现这个实施方式的状态机可能已经设置到合适的状态。一个设计目标可以是优化流式处理以尽可能快地使网络通信成为类型3的网络通信。因此基本上是同一消息延续的类型3的网络通信以0长度的头传送。
当类型3的网络通信表示新消息的开始时,类型3的网络通信的0长度头尤其有吸引力。当两个连续的网络通信使用与先前网络通信相同的消息流ID、相同的消息类型ID、相同的时间变化/时间增量和相同的长度时,可能出现这种情况。在这种情况下,新的消息可以使用0长度头,不需要任何必须的报头信息。
表2网络通信类型
(控制字节的比特6-7)
比特 | 描述 |
00 | (类型0)开始新消息。重置所有信息。当时间重新开始或者用于在网络通信流上发送的第一个消息时,使用类型0。类型0的网络通信消息在加上提供的时间增量(Δ)先前将时间重置为0。类型0的网络通信消息可以包含下面的报头信息:3个字节-消息时间增量(Δ)3个字节-消息长度1个字节-消息类型ID4个字节-消息流ID |
01 | (类型1)使用特定的Δ、新长度和/或新消息类型ID开始新消息。类型1的网络通信消息可以包含下面的报头信息:3个字节-Δ3个字节-新的消息长度1个字节-消息类型ID |
10 | (类型2)使用特定的Δ开始新消息。类型2的网络通信消息可以包含下面的报头信息:3个字节-Δ |
11 | (类型3)继续(或者开始新消息)。类型3的网络通信消息可以不包含报头信息,只包含原始数据/净荷。 |
图2示出了在加密通信会话中传递实时的基于优先级的网络通信的示例的过程200。在210处,使用在网络通信的预定义部分中的密码信息建立用于媒体流的通信会话。例如,计算机140可以使用部分310中的密码信息来与服务器计算机110建立加密会话145。而且,部分320中的认证信息可以用于认证通信会话中网络通信的完整性和真实性。
在220处,接收包含在第一网络通信的报头中与子媒体流相关的参数值。例如,参数(例如流ID、媒体流长度、媒体类型和时间增量)可以包括在网络通信350的报头390中。在230处,存储参数的值。例如,计算机140上的软件可以将遍及多个网络通信的参数值存储在物理存储器或硬盘驱动器中。
在240处,获得控制部分的状态信息和包括在第二网络通信中的数据净荷。例如,状态信息可以包含在控制字节360中,数据净荷可以是净荷370。状态信息可以包括网络通信类型420和子媒体流ID 410,使得在某些实施方式中,在1个字节的信息(如控制字节360)中获得第二网络通信的子媒体流关联和目的。
在250在状态信息中识别第二网络通信的目的。例如,网络通信类型420可以指示网络通信正开始新的子媒体流或者新的媒体类型将要通过子媒体流传送(见表1)。过程200在260确定第二网络通信的报头是否包括新的参数值。例如,某些网络通信(例如类型3)可以不包括新的参数值(或报头),而其他的(例如类型1)可以包括多个新的参数值。当第二网络通信的报头包括新的参数值时,状态信息可以指示将在280处由新值更新存储的值。过程200可以响应于网络通信的目的来查找新的参数值。例如,当网络通信包括无关的报头信息,例如不应用于更新存储值的参数值时可以进行多次。目的在于,使过程200避免错误地更新存储的参数值。
在270处使用存储的参数值和识别的目的来处理数据净荷。例如,可以根据存储的时间增量值和媒体类型指示正确地整合并播放净荷370。基于被确认为的目的,数据净荷也可以作为新的子媒体流中开始的网络通信进行处理。
图5A示出了具有网络通信502-508的示例的网络通信流500。网络通信502是具有子媒体流ID为4的类型0的网络通信。因为网络通信502是类型0的网络通信,所以它包括附加报头数据512,使得网络通信502在总的字节514方面比网络通信504-508相对要大。附加数据包括:消息流ID(12346)、消息类型ID(9)、消息长度(435)和时间增量(20)。该报头信息设置在状态机中。网络通信504是属于同一个子媒体流ID 4的类型3的网络通信。因为网络通信504与网络通信502属于同一个媒体流ID,且具有相同的类型和长度,因此由网络通信502的额外报头信息设置的状态已经定义了如何处理网络通信504。根据某些实施方式,网络通信504只需要指定子媒体流ID和网络通信类型。因此,网络通信504的数据净荷仅增加单一字节的开销,如总字节514所示。网络通信506和508也是类型3的后续网络通信,仅需要一个附加字节的控制信息就足够处理那些网络通信。
图5B-图5E示出了接收网络通信502-508的示例的状态机510。图5B显示了接收类型0的网络通信的状态机510。状态机510发现网络通信502是类型0的网络通信,并希望每个状态变量由包含在网络通信502中的报头信息进行设置。在某些实施方式中,状态机510还可以包括跟踪每个接收信息进展的消息数516。网络通信502携带128字节的数据净荷。因此,状态机510可以使用消息长度参数从总的长度(435字节)中减去128个字节,从而在消息516中容纳预计长度为307个字节的剩余消息。在发送方向和接收方向都使用图5B所示的状态机。当网络通信到达接收机系统时,状态机反过来用于转换播放数据流网络通信必要的状态分配。因此,用于实时的基于优先级的通信系统的状态机可以至少位于发送实体和接收实体。
图5C-图5E显示了接收类型3的网络通信的状态机510。在图5C中,状态机510读出网络通信504是类型3的网络通信,并因此希望只改变网络通信类型和子媒体流ID状态变量。因为网络通信504可以属于与网络通信502不同的子媒体流,在类型3的继续网络通信中使用子媒体流ID。由网络通信502设置的其余状态变量保持不变。消息516再一次变化以反映由网络通信504传送的128个字节的净荷数据。此时该消息中剩余179个字节。在图5D中,状态机510读出网络通信506也是类型3的网络通信,并因此还希望仅改变网络通信类型和子媒体流ID状态变量。由网络通信502设置的其余状态变量继续保持不变。消息516再一次变化以反映由网络通信504传送的128个字节的净荷数据。此时该消息中剩余51个字节。图5E还显示了接收类型3的继续网络通信的状态机510。根据这个接收,因为状态机510知晓最大网络通信数据净荷长度是128,所以状态机510知晓这将是这个具体消息的最后一个网络通信,反映为消息516被清零。通过排除法,下一个网络通信将必须用于下一个新消息(或者是低等级的协议消息)。
再返回参考表1,在某些实施方式中,当子媒体流ID 40的值为2时,设计为系统的状态改变以预计一个低等级的协议消息。表3描述了可以在不同实施方式中实施的两个低等级的协议消息。在这些实施方式中,消息ID为1表示最大网络通信大小的改变。具有这样的消息ID的参数可以是表示所有未来网络通信大小的整数。如表3中如消息ID 2所示,另一个消息ID可以用于将被发送到相应于特定子媒体流ID的网络的中止信号。例如,如果通信会话在传送中发送端关闭或其他这样的事件发生时,中止信号通常通知网络不用期待后续网络通信,从而中止流。也可以在不同的实施方式中提供许多其他可选的低等级协议消息。表3中提供的两个消息仅仅是示例。
表3低等级协议消息
消息 | 消息ID | 消息数据 | 描述 |
设置网络通信大小 | 1 | 4个字节,表示一个整数。字节以“网 | 该整数表示用于所有未来通信的新的最大网络 |
络”顺序(即重要性的顺序)发送 | 通信的大小。 | ||
中止消息 | 2 | 4个字节,表示一个整数。以“网络”顺序发送。 | 该整数表示子媒体流ID。如果那个网络通信流当前正在等待完成消息(即,期望更多通信)。消息流被中止。 |
某些实施方式得益于将单个消息进一步分成网络通信。尽管以线性顺序一个接一个地发送消息可能表现得更简单,但是这样可能效率会显著降低。代表某些媒体情况的流可以包括几个不同的子媒体流。一个子媒体流可以用于音频,一个用于视频,而另一个用于数据。这些子媒体流中的每一个的组合构成整个的流的情况。因此,协调每个子媒体流的流畅传送以便于整个流的流畅播放变得很重要。例如,视频的主要帧可能具有大量的数据,相反音频消息通常很小。然而,由于人类听觉的特点,音频消息比视频消息对时间更敏感。因此,如果通过音频子媒体流发送一个音频消息,之后通过一个视频子媒体流发送一个非常大的视频消息,再跟着下一个音频消息,则音频流一般可能停顿,因为下一个音频消息确实可能不能及时到达。
使用中,较大的视频消息通常比较少,即使它们可以更大。因此,只要视频消息最终及时到达用于流畅播放视频子媒体流,则在两个视频消息之间插入其他消息是可以接受的。考虑到这一平衡过程,将消息分成更容易平衡和交织的网络通信提高了流的效率。尽管没有适合所有情况的最好的最大网络通信大小,但是可以有益地设置一个给定的最大值,从而使视频和数据消息到达而不对音频网络通信的及时到达造成过大影响。
在某些实施方式中,相应于音频子媒体流中的标准音频消息的完整长度设置最大网络通信的大小,以保证完整音频消息的及时传送。例如,用于音频压缩算法Nellymoster的采样速率可以是8kHz。8kHz采样通常生成128字节长的消息。因此,在某些使用Nellymoster压缩算法的实施方式中,可以将最大网络通信大小设置为128字节。其他的音频压缩形式可以产生比128字节更大或更小的消息。在这些情况下,可以用低等级的协议消息来改变应用实施方式的最大网络通信的大小,以达到最优的性能。
图6示出了用于在加密通信会话中调度实时的基于优先级的网络通信的示例的过程600。平衡不同媒体子媒体流中的网络通信的发送可以通过指示接下来将发送哪个流或发送哪个子媒体流中的何种网络通信的调度过程进行控制。可以对每一类型的媒体分配一个特定的优先级值。例如,因为音频消息最为敏感,可以为其分配最高的优先级值。可以对视频和数据消息各自分配较低的优先级值。
在602处,每个子媒体流的优先级(PrioritySB)相加得到一个总的流的优先级(StreamPriority)。在604处,根据下面的公式计算用于发送流中的每个子媒体流的预期比例:
预期比例=PrioritySB/StreamPriority
在606处,计算通过一组在先网络通信(N)的每个子媒体流的发送网络通信的总数(Count)。N表示可以由用户或开发人员预先设置的调度采样窗口。采样窗口可以基于一段时间期间或网络通信的计数。例如,过程600可以对经过1秒或5秒的时间期间发送的网络通信进行计数(Count)。在606处,可以同时或相继地对用于每个子媒体流的网络通信进行计数。过程600还可以发送预先设定数量的网络通信,并计数606预先设定数量中的每个子媒体流中发送的网络通信的数量。在608处,根据下面的公式计算先前的N个网络通信中每个子媒体流发送的网络通信的实际比例:
实际比例=Count/N
在610处,为每个子媒体流确定预期比例和实际比例的比值。在612处,选择具有最低比值的子媒体流。过程600在614处确定选定的子媒体流是否存在网络通信排队。如果网络通信排队等候选定的子媒体流,则在616处发送该子媒体流网络通信。如果没有数据排队等候选定的子媒体流,则在618处确定是否存在任何其他剩余的等待子媒体流。如果没有剩余的子媒体流,则在620循环中不发送网络通信。然而,如果存在剩余的子媒体流,则在622处选择一个新的子媒体流,相对于实际比例的比值,该子媒体流具有下一个最低的预期比值。过程600可以根据情况重复操作614-622,直到发送了每个子媒体流中的所有网络通信。
调度过程600可以达到流的适当的平衡。如果所有子媒体流总是有数据要发送,不仅为那些流提供调度过程600以获得发送的网络通信的适当比例,而且还通过调度窗口提供合适的交织混合。当某些子媒体流没有数据,或者至少没有排队数据时,调度过程600允许较低优先级的子媒体流使用较大的带宽。从而,通常优化了带宽使用。一个实施方式可以实现期望的结果,其音频具有100的优先级,数据的优先级为10,而视频的优先级为1。然而,对于不同情况和已知或预计的数据类型或数据负载,其他不同的优先级分配可能表现得更好。
图7显示了对在建立加密会话和使媒体播放器/服务器系统(例如图8的客户端-服务器环境800)中的特征功能有效/无效时使用的密码信息进行传递的示例的过程700。过程700包括用于认证、确定加密参数和打开或关闭与网络通信有关的特征功能的操作。例如,网络通信可以包括用户,使用播放程序播放来自播放服务器程序的可用媒体。在某些实施中,可以基于独立于密码信息的版本信息使特征功能有效或无效。例如,特征功能可用性(例如,音频或视频功能)可能依赖于安装在用户的客户端计算机上的媒体程序的版本。
在702处,可以取回第一部分的随机数据。例如,在由客户端计算机发送的网络通信300中,服务器可以在预先定义的部分310中的预先确定的字节位置进行查找。在704处,可以基于取回的第一部分而确定到预先定义部分中的第一索引。例如,可以使用随机数据中的一个或多个字节作为取模的被除数,其中除数是不考虑消息认证代码(例如HMAC)预定义部分310的域的长度、减去消息认证代码的长度。然后第一索引可以设置为等于这个取模的余数加上预先定义的偏移(其可能为零)。
注意,可以使用随机数据的不同组合产生被除数。例如,x字节的随机数据可以作为单独的二进制数而形成落在0到2(8x)-1范围内的被除数,或者同样的x个字节的随机数据可以作为x个二进制数,相加在一起而形成落在0到x(28-1)范围内的被除数。也可能是随机数据的各种其他组合。而且,可以单独根据随机数据的第一部分,或者根据第一部分与从网络通信取回的其他信息的结合来确定第一索引。例如,这种其他信息可以来自报头330或者净荷340。
不管怎样,一旦确定了索引,这个索引就对应于在其他随机数据的块中用于消息认证的密码信息的开始位置(例如,HMAC的开始点)。在706处,使用这个密码信息对网络通信进行认证。例如,认证可以包括在网络通信300中使用第一索引访问HMAC。在708处,如果消息认证代码没有被确认,则在710处,过程700可以检查后退的第一部分是否可用。当在704处确定的第一索引无法定位用于在706认证网络通信的消息认证代码时,发生这种情况。
这种情况下,可以提供一个或多个后退处理用于在702取回第一部分并在704确定第一索引。后退处理可以使用不同的技术用于在702取回第一部分和/或在704确定第一索引。这些后退处理可以为认证过程提供附加的安全性,使得服务器系统在已经发现当前使用的技术时改变索引技术,然后客户端计算机可以自动后退到新的索引技术。一旦尝试了所有可用的后退处理,过程700结束,没有网络通信被认证。
在708处,如果消息认证代码被确认,则在712取回随机数据的第二部分。例如,在由客户端计算机发送的网络通信300中,服务器可以在预先定义的部分310中的另一个预先确定的字节位置查找。在714可以基于取回的第二部分确定到预先定义部分中的第二索引。例如,可以使用随机数据中的一个或多个字节作为另一取模的被除数,其中除数是不考虑加密参数(例如Diffie Hellman信息)的预定义部分310的域的长度、减去加密参数的长度。然后第二索引可以设置为等于这个取模的余数加上预先定义的偏移(其可能为零)。
与消息认证代码一样,可以使用随机数据的不同组合产生被除数。例如,x字节的随机数据可以作为单独的二进制数形成落在0到2(8x)-1范围内的被除数,或者同样的x字节的随机数据可以作为x个二进制数,相加在一起形成落在0到x(28-1)范围内的被除数。也可能是随机数据的各种其他组合。而且,可以单独根据随机数据的第二部分,或者由第二部分与从网络通信取回的其他信息的结合来确定第二索引。例如,这种其他信息可以来自报头330或者净荷340。此外,应理解,随机数据分段必须比消息认证代码和加密参数的总长度大,例如,当使用32字节的HMAC和128字节的Diffie Hellman信息时大于160字节。
在任何情况下,一旦确定了索引,这个索引对应于在其他随机数据的块中用于建立密钥的密码信息的开始位置(例如,DiffieHellman信息的开始点)。在716处,此网络通信的密码信息被确认。这种确认可以包括在网络通信300中使用第二索引访问并确认加密参数。在718处,如果加密参数没有被确认,则在720处过程700可以检查后退的第二部分是否可用。当在714处确定的第二索引无法定位用于发起网络环境中的加密通信的加密参数时,发生这种情况。
这种情况下,可以提供一个或多个后退处理用于在712取回第二部分并在714确定第二索引。后退处理可以使用不同的技术用于在712取回第一部分和/或在714确定第二索引。注意这些处理也可能与那些用于第一索引的不同。这些后退处理可以为加密会话建立过程提供附加的安全性,使得服务器系统在已经发现当前使用的技术时改变索引技术,然后客户端计算机可以自动后退到新的索引技术。一旦尝试了所有可用的后退处理,过程700结束,没有网络通信被认证。
在718处,如果加密参数被确认,则在722可以确定是否期望加密会话。例如,加密参数可以包含会话(例如会话145)将成为加密会话的信息。如果这样,在724发起加密会话。否则,可以发起非加密会话。在图8中,每个会话(例如加密的或非加密的)都可以存在于客户端计算机802(例如执行播放器程序)和媒体服务器804(例如媒体服务器)之间。
在726处,如果确定一个或多个特征功能将是有效或无效,则在728处媒体播放器、媒体服务器或两者的一个或多个特征功能被打开或关闭。例如,可以根据客户媒体播放器的版本号打开或关闭一组装置。这个版本号可以由客户端媒体播放器(例如,在握手150中的非加密和非变相形式)提供,并且服务器可以根据客户端正确地将密码信息包含在网络通信的随机字节部分的事实,决定相信所提供的版本号(例如客户端媒体播放器不是已经被修改为不能正确标识其自身为更新版本的遗留播放器)。
图8显示了另一个示例的网络环境800,其中通过在播放媒体内容中使用的加密通信会话传递实时的基于优先级的通信。网络环境800包括客户端计算机802和媒体服务器804。媒体服务器804可以向客户端计算机802提供媒体内容806。例如,媒体服务器804可以包括媒体服务器程序。媒体内容806可以包括:web应用程序、游戏和电影、以及用于客户端计算机(例如家庭个人电脑、移动电话、个人数字助理、智能电话和各种嵌入式设备)的多媒体内容。
客户端计算机802可以包括:软件、固件和硬件。硬件可以包括:计算机可读介质812、处理器814和一个或多个接口设备816。计算机可读介质812可以包括:一个或多个硬盘驱动器、外部驱动、磁盘、光盘、磁带机、存储设备等。处理器814可以包括:一个或多个能够解释计算机程序指令并处理数据的中央处理单元,且处理单元可以包括一个或多个处理器内核。接口设备816可以包括:一个或多个显示器和音频设备(例如,计算机显示屏、计算机监视器、数字显示器、液晶显示器(LCD)、发光二极管(LED)等)和具有音频能力的元件(例如麦克风、扬声器等)。接口设备816可以支持图形用户接口(GUI),通过该接口用户可以看见、听到和感受到媒体播放应用808的输出。
软件/固件可以包括媒体播放应用808和应用执行环境810。例如,媒体播放应用808可以是安装在家庭计算机或其他电子设备中的播放器程序。媒体播放应用808可以在应用执行环境810中运行,应用执行环境可以是计算机802的操作系统(OS),或者安装在计算机802中的跨操作系统运行环境,诸如加利福尼亚州圣荷塞市的Adobe Systems Incorporated公司的AIRTM运行环境。
嵌入密码信息的随机字节部分可以包括在客户端计算机802和媒体服务器804之间的网络通信中。例如,随机字节部分可以由用户的播放器程序和媒体服务器程序产生。如上所述,密码信息(例如,包括Diffie Hellman密码交换和HMAC信息)可以插入到随机字节部分中的预先确定或编程确定的位置。在某些实施中,可以由不同的过程确定该位置,可以使用多个随机数据指出密码信息的位置。知晓新协议的通信的接收端可以定位并从随机字节部分除去密码信息。如果可以检验密码信息,则接收侧知晓正在使用新协议。如果不能检验密码信息,可以在确定没有正在使用新协议(因为无法在随机字节部分找到预期的密码信息)先前检查一个或多个后退位置,从而通信是原有类型。注意到,从外部窃听者的角度来看,密码信息看起来只不过是先前包括的随机数据,可以用于带宽检测。
图9表示在实时的基于优先级的通信系统900中交织的音频和视频网络通信的示例的序列。系统900显示了通过网络路径950发生在从发送实体920到接收播放器922的流媒体的单向通信会话。有待流式传送的消息可以包括音频、视频和数据消息。网络路径950可以支持加密的通信会话,其可以在网络连接上发送。图9显示了包括视频和音频子媒体流的消息。当视频和音频子媒体流被划分为视频和音频网络通信时,各种实施方式的状态机就为网络通信提供必要的报头信息。发送实体920将网络通信置于在视频队列924或音频队列926来等待发送。
发送实体920的调度器控制何时将网络通信从视频或音频队列924和926发送到网络接口932。网络通信901、903、905、907、909、911、913和915与根据示例配置的相应的报头参数902、904、906、908、910、912、914和916一起出现在网络路径950上。因为音频网络通信比视频网络通信更敏感,调度器先通过网络路径950发送音频网络通信901。音频网络通信901包括报头902。报头902说明音频网络通信是类型0的网络通信,并提供类型0的新消息网络通信的必要信息,包括:网络通信ID、消息流ID、长度、消息类型和时间增量。接收播放器922处的状态机将状态设置为以音频网络通信901开始的音频子媒体流。音频网络通信903是发送实体920的调度器发送的下一个网络通信,并且包括报头904。报头904标识网络通信903是属于网络通信ID 1的类型3的后续,该网络通信ID是分配给第一音频子媒体流的。因为音频网络通信903是后续网络通信,报头信息中只需要网络通信类型和网络通信ID。接收实体922的状态机读取网络通信903是类型3的后续网络通信,并保持用于网络通信ID 1的音频子媒体流的所有状态不变。
发送实体920的调度器接下来将视频网络通信905和报头906一起发送。因为视频网络通信905是第一个视频子媒体流,因此指明是类型0的网络通信,并与视频子媒体流的第一网络通信一起包括所有必要的报头信息。从而,音频网络通信905可以包括:不同的网络通信ID、消息流ID、长度、消息类型和时间增量。接收实体的状态机将必要的状态设置用于网络通信ID 2的视频子媒体流。由调度器发送的下一个网络通信是音频网络通信907和报头908。报头908标识网络通信907是网络通信ID 1的类型3的后续网络通信。状态机指明将状态设置为网络通信ID 1的音频子媒体流,并维护用于第一音频子媒体流的那些设置。
然后,调度器经由网络路径950发送音频网络通信909和报头910。报头910标识音频网络通信909是类型0的新消息网络通信。接收实体922的状态机重置音频子媒体流的状态中的所有信息,并根据报头910设置新的状态。在交织序列中下一个网络通信是与报头912一起的视频网络通信911。报头912标识视频网络通信911是视频子媒体流网络通信ID 2的类型3的后续网络通信。接收实体922的状态机访问为网络通信ID 2设置的状态,并保持用于视频网络通信911的全部状态信息的完整。在网络路径950上发送的下一个网络通信是音频网络通信913和报头914。报头914标识网络通信913是网络通信ID 3的类型3的后续网络通信。状态机访问保存的用于网络通信ID 3的音频子媒体流的状态,并维护每个状态的完整。图9中所示的最后一个网络通信是音频网络通信915和报头916。报头916标识网络通信915是表示具有新的时间增量的新消息的类型2的网络通信。状态机读取到网络通信915是类型2的网络通信,并且预计只改变用于新的网络通信ID 4的一个状态就可以开始新的子媒体流。
当接收实体922通过网络接口934接收每个网络通信901、903、905、907、909、911、913和915时,音频网络通信被重新整合为音频组件930,而视频网络通信在接收实体922上被播放之前被重新整合为视频组件928。接收实体922的状态机可以读取每个报头902、904、906、908、910、912、914和916中的参数,并控制将网络通信重新整合到音频组件930和视频组件928中。在其他的实施方式中,可以实施其他的交织调度过程和/或提高效率的过程。目标是完成音频、视频和数据网络通信的有效混合,达到在播放时使音频或视频抖动最小的优质播放。
图10显示了用于建立加密通信会话的示例的过程1000。在1010处,使用从握手网络通信输入的随机部分产生包括输出随机部分的响应握手网络通信。例如,握手网络通信可以是网络通信300。来自部分310和/或320的认证信息324、密码信息314、随机数据或者它们的结合可以用作随机部分。随机部分可以用于避免重播攻击,因为对于握手网络通信的每个响应都基于唯一的信息(例如,伪随机数据)。重新发送捕获的握手网络通信可能导致不能建立加密通信会话,因为握手网络通信将不会基于“一次性使用的”机会。
在1020处,传递响应握手网络通信。例如,在接收了握手网络通信(例如网络通信300)之后,将响应握手网络通信在1020与网络通信300类似地传递到该握手通信的发起方,作为完成该加密通信会话握手的一部分。
在1030处,响应于传递响应握手网络通信而接收第二网络握手。例如,第二网络握手可以包括基于与在1010产生的响应握手网络和在1020传递的输出随机部分的个性化响应。
在1040处,基于输出的随机部分认证第二握手网络通信。例如,握手的另一方可以检验握手通信确实与现在的握手尝试有关而不是正被中断,并随后重新发送握手通信(例如,在重播攻击中)。认证是可能的,因为握手网络通信中的随机数据随每个发送或接收的握手通信变化并允许唯一的一次性使用。
本说明书中描述的主题的实施方式和功能性操作可以在数字电子电路或在计算机软件、固件或硬件中实施,包括本说明书中公开的结构及其结构的等价替换,或其中一个或多个的组合。本说明书中描述的主题的实施方式可用作为一个或多个计算机程序产品,即,由数据处理装置执行,或控制数据处理装置的操作的在计算机可读介质中编码的计算机程序指令的一个或多个模块实现。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备或其中一个或多个的组合。术语“数据处理装置”包括所有用于处理数据的装置、设备和机器,包括举例来说可编程处理器、计算机或多处理器或计算机。除硬件外,装置可以包括正讨论的计算机程序产生执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或其中一个或多个的组合的代码。
存储可以包括在易失或非易失存储器或存储设备中的任何保持。例如,在文件系统、硬盘驱动器、数据库、缓冲器、高速缓存、随机访问存储器(RAM)、紧凑式闪存和安全数码卡、或者网络仓库。
可以用任何形式的编程语言写计算机程序(也称为程序、软件、软件应用、脚本或代码),包括编译或解释语言,它可以用任何形式配置,包括作为独立的程序,或者作为适用于在计算环境中使用的模块、组件、子程序或其他单元。计算机程序不是必须对应于文件系统中的文件。程序可以存储在容纳其他程序或数据(例如,存储在构成的语言文件中的一个或多个脚本)的文件中的部分、专用于讨论的程序的单个文件、或在多个相互协作的文件(例如存储一个或多个模块、子程序或代码部分的文件)中。计算机程序可以配置为在一台计算机上,或者在位于一个站点或分布在多个通过通信网络互联的多个站点的多台计算机上执行。
本说明书描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,通过操作输入数据和产生数据完成功能。过程和逻辑流程还可以由特殊目的逻辑电路,例如FPGA(现场可编程们阵列)或ASIC(专用集成电路)执行,且装置也可以由其实现。
举例而言,适用于执行计算机程序的处理器包括,通用和专用微处理器、以及任意种类数字计算机的任意一个或多个处理器。通常,处理器将从只读存储器或随机访问存储器或从两种存储器接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储设备。通常,计算机还包括,或者可操作地连接以从一个或多个用于存储数据的大容量存储设备,例如磁盘、磁光盘或光盘,接收数据,或向其发送数据,或者接收并发送数据。然而,计算机不必具有这样的设备。而且,计算机可以嵌入到另一个设备中,如移动电话、个人数字助理(PDA)、移动音频播放器、全球定位系统(GPS)接收器,仅举几例。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒体和存储设备,包括举例来说半导体存储设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如内置硬盘或可移动硬盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由特殊目的逻辑电路补充或由其组成。
为了与用户交互,本说明书描述的主题的实施方式可以在计算机上实施,其具有用于向用户显示信息的显示器设备,诸如CRT(阴极射线管)或LCD(液晶显示器)监视器,和键盘以及点击设备,例如鼠标或轨迹球,用户可以通过它提供到计算机的输入。也可以使用其他种类的设备提供与用户的交互;例如,向用户提供的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;来自用户的输入可以以任何形式接收,包括声音、语音或触觉输入。
本说明书描述的主题的实施方式可以在计算系统中实施,包括后端部件,如作为数据服务器,或包括中间件的部件,如应用服务器,或者包括前端部件,如具有图形用户接口或Web浏览器的客户端计算机,用户可以通过其与本说明书中描述的主题的实施交互,或者一个或多个这样的后端、中间件或前端部件的任意组合。系统的部件可以通过任意形式的数字数据通信的媒质,例如通信网络进行互连。通信网络的实例包括本地网(“LAN”)和广域网(“WAN”),例如,因特网。
计算系统可以包括客户端和服务器。客户端和服务器一般彼此远离,并且通常经由通信网络互相操作。客户端和服务器的关系由于运行在各自计算机上且彼此具有客户端-服务器关系的计算机程序而产生。
虽然本说明书包含很多细节,但是这不应当构成对本发明或要求保护的范围的限制,而是作为本发明具体实施方式的特定特征的描述。在分开的实施方式的上下文中本说明书描述的某些特征还可以结合单个的实施方式实现。反过来,在单个实施方式的上下文中描述的各种特征也可以在独立的多个实施方式中或在任何适当的变形中实施。而且,尽管上述已经描述了在特定组合中执行时的特征,即使最初这样声明,在某些情况下来自声明的组合的一个或多个特征可以从该组合中删除,而声明的组合可以成为变形或变形的变化。
同样,尽管附图中以特定顺序描述操作,这不应当理解为要求这样的操作以所示的特定顺序或以相继的顺序执行,或者要执行所有示出的操作来达到预期的结果。在一定环境中,多任务和并行处理可能更有利。而且,上述描述的实施方式中的各种系统部件的分离不应当理解为要求在所有实施方式中的此种分离,并且要理解描述的程序部件和系统一般可以集成到一起在一个单独的软件产品中或者打包为多个软件产品。
因此,已经描述了本发明的具体实施方式。其他实施方式包含在所附权利要求书的范围内。例如,权利要求书中列举的动作可以以不同的顺序执行并仍然达到预期的结果。随机数据不需要是真正的随机数据,而可以是伪随机数据。而且,仅需要为随机数据保留网络通信的预定义部分,而不必在所有实施中真的包括随机数据。
Claims (34)
1.一种方法,包括:
至少部分地基于握手网络通信的预定义部分中的密码信息建立通信会话来传送媒体流,其中所述握手网络通信的预定义部分是为随机数据保留的;
通过所述通信会话,来接收作为所述媒体流一部分的、包含在第一实时的基于优先级的网络通信的第一报头部分中的、与子媒体流相关的参数值;
存储所述参数值;
通过所述通信会话,来获得作为所述媒体流一部分的、包含在第二实时的基于优先级的网络通信的控制部分中的状态信息和包含在所述第二网络通信中的数据净荷;
从所述状态信息识别与所述媒体流相关的所述第二网络通信的目的、以及所述第二网络通信的第二报头部分是否包括与一个或多个参数相应的一个或多个新的值;
当所述第二报头部分包括所述一个或多个新的值时,至少部分地基于所述一个或多个新的值来更新一个或多个存储的值;以及
至少部分地基于识别的目的和所述存储的参数值,来处理数据净荷。
2.根据权利要求1所述的方法,其中识别所述目的包括从一组可能的目的识别所述目的,包括:
开始新的子媒体流,所述第二报头部分包括与所述参数对应的子媒体流的值,以及
指示新的媒体类型,所述第二报头部分包括与少于全部的参数对应的一个或多个值。
3.根据权利要求2所述的方法,其中识别所述目的包括从所述一组可能的目的来识别所述目的,包括:
提供新的时间,所述第二报头部分包括与所述参数中的一个对应的一个新的值,以及
继续所述子媒体流,所述第二报头部分不包括一个或多个新的值。
4.根据权利要求1所述的方法,其中建立所述通信会话进一步包括:
利用来自所述握手网络通信的输入数据部分产生包括输出数据部分的响应握手网络通信,其中所述输出数据部分包括随机数据和密码信息中的至少一个,所述输入数据部分包括所述握手网络通信中的随机数据和密码信息中的至少一个;
传送所述产生的响应握手网络通信;
响应于所述传送的响应握手网络通信来接收第二握手网络通信;以及
基于在所述传送的响应握手网络通信中的所述输出数据部分,来认证所述第二握手网络通信。
5.根据权利要求1所述的方法,其中建立所述通信会话包括:
至少部分地基于所述密码信息建立密钥;以及
至少部分地基于所述密钥来发起所述通信会话作为加密通信会话。
6.根据权利要求5所述的方法,其中所述子媒体流包括第一子媒体流,所述方法进一步包括:
通过所述加密通信会话,接收作为所述媒体流一部分的、与第二子媒体流关联的、实时的、基于优先级的网络通信,其中所述网络通信包括状态信息和数据净荷;
至少部分地基于所述密码信息解密所述数据净荷;
至少部分地基于状态信息和所述解密的数据净荷,来整合所述第二子媒体流的可播放部分;以及
播放与由至少一个所述存储的参数值所指示的媒体类型相关的所述第二子媒体流的整合部分。
7.根据权利要求5所述的方法,进一步包括:至少部分地基于所述通信会话的建立,来打开或关闭关于运行通信会话的程序的特征功能,其中建立所述通信会话包括:
从所述预定义的部分取回随机数据的一部分;
基于所述取回的所述随机数据的一部分,确定到所述握手网络通信的所述预定义部分中的索引;
至少部分地基于所述索引来定位所述密码信息;以及
至少部分地基于所述密码信息来认证所述握手网络通信。
8.一种方法,包括:
至少部分基于握手网络通信的预定义部分中的密码信息建立通信会话来传送媒体流,其中所述握手网络通信的所述预定义部分是为随机数据保留的,并且所述媒体流包括子媒体流;
将优先级的值与所述子媒体流相关联;
基于所述优先级的值来产生总的优先级的值;
基于所述优先级的值和总的优先级的值,来计算与所述子媒体流对应的预期传送比例;
通过所述子媒体流来传送一组实时的基于优先级的网络通信;
基于传送的集合来评估与子媒体流对应的子媒体流计数;
基于所述子媒体流计数来求和总的计数;
基于所述子媒体流计数和总的计数来确定相应于所述子媒体流的实际传送比例;
基于所述预期的传送比例和所述实际的传送比例来演算与所述子媒体流对应的比值;以及
存储所述演算的比值。
9.根据权利要求8所述的方法,进一步包括:
选择与最低的存储比值对应的低比值的子媒体流;
将一组将要通过所述子媒体流传送的实时的基于优先级的网络通信进行排队;
从所排队的集合中选择与所述低比值子媒体流相关的低比值子媒体流网络通信;以及
经由所述低比值子媒体流来传送所述低比值子媒体流网络通信。
10.一种方法,包括:
至少部分基于握手网络通信的预定义部分中的密码信息建立密钥和通信会话来传送媒体流,其中所述握手网络通信的所述预定义部分是为随机数据保留的;
至少部分地基于所述密钥来发起通信会话作为加密通信会话;
通过所述通信会话接收作为所述媒体流一部分的、包含在第一实时的基于优先级的网络通信的第一报头部分中的与子媒体流相关的参数值;
存储所述参数的值;
通过所述通信会话,来获得作为所述媒体流一部分的、包含在第二实时的基于优先级的网络通信的控制部分的状态信息和包含在所述第二网络通信中的数据净荷;
从所述状态信息,识别与所述媒体流相关的所述第二网络通信的目的、以及所述第二网络通信的第二报头部分是否包括与一个或多个参数相应的一个或多个新的值,其中识别所述目的包含从一组可能的目的来识别所述目的,所述一组可能的目的包括:
开始新的子媒体流,所述第二报头部分包括与所述参数对应的子媒体流的值,
指示新的媒体类型,所述第二报头部分包括与少于全部的参数相应的一个或多个值,
提供新的时间,所述第二报头部分包括与所述参数中的一个对应的一个新的值,以及
继续所述子媒体流,所述第二报头部分不包括一个或多个新的值;
当所述第二报头部分包括所述一个或多个新的值时,至少部分地基于所述一个或多个新的值更新一个或多个存储的值;以及
至少部分地基于识别的目的和所述存储的参数值来处理所述数据净荷。
11.根据权利要求10所述的方法,其中所述子媒体流包括第一子媒体流,以及其中建立所述通信会话包括:
从所述预定义的部分取回随机数据的部分;
基于所述取回的所述随机数据的部分,确定到所述网络通信的所述预定义部分中的索引;
至少部分地基于所述索引来定位所述密码信息;以及
至少部分地基于所述密码信息来认证所述握手网络通信,
并且所述方法进一步包括:
至少部分地基于所述通信会话的建立,来打开或关闭关于运行通信会话的程序的特征功能;
通过所述加密通信会话,接收作为所述媒体流一部分的与所述第二子媒体流相关的、实时的基于优先级的网络通信,其中所述网络通信包括状态信息和数据净荷;
至少部分地基于所述密码信息来解密所述数据净荷;
至少部分地基于所述状态信息和所述解密的数据净荷,来整合所述第二子媒体流的可播放部分;以及
播放与由至少一个所述存储的参数值所指示的媒体类型相关的所述第二子媒体流的整合的部分。
12.一种设备,包括:
用于至少部分地基于握手网络通信的预定义部分中的密码信息建立通信会话来传送媒体流的装置,其中所述握手网络通信的所述预定义部分是为随机数据保留的;
用于通过所述通信会话来接收作为所述媒体流的一部分的包含在第一实时的、基于优先级的网络通信的第一报头部分中的、与子媒体流相关的参数值的装置;
用于存储所述参数的值的装置;
用于通过所述通信会话来获得作为所述媒体流的一部分的包含在第二实时的、基于优先级的网络通信的控制部分中的状态信息和包含在所述第二网络通信中的数据净荷的装置;
用于根据从所述状态信息,来识别与所述媒体流相关的第二网络通信的目的、以及所述第二网络通信的第二报头部分是否包括与一个或多个参数相应的一个或多个新的值的装置;
用于当所述第二报头部分包括所述一个或多个新的值时、至少部分地基于所述一个或多个新的值来更新一个或多个存储的值的装置;以及
用于至少部分地基于识别的目的和所述存储的参数值来处理所述数据净荷的装置。
13.根据权利要求12所述的设备,其中用于识别目的的装置从一组可能的目的识别所述目的,所述一组可能的目的包括:
开始新的子媒体流,所述第二报头部分包括与所述参数对应的子媒体流的值,以及
指示新的媒体类型,所述第二报头部分包括与少于全部的参数对应的一个或多个值。
14.根据权利要求13所述的设备,其中用于识别目的的装置从所述一组可能的目的来识别所述目的,所述一组可能的目的还包括:
提供新的时间,所述第二报头部分包括与所述参数中的一个对应的一个新的值,以及
继续所述子媒体流,所述第二报头部分不包括所述一个或多个新的值。
15.根据权利要求12所述的设备,其中用于建立所述通信会话的装置进一步包括:
用于利用来自所述握手网络通信的输入数据部分产生包括输出数据部分的、响应握手网络通信的装置,其中所述输出数据部分包括随机数据和密码信息中的至少一个,所述输入数据部分包括所述握手网络通信中的随机数据和密码信息中的至少一个;
用于传送所述产生的响应握手网络通信的装置;
用于响应于所述传送的响应握手网络通信来接收第二握手网络通信的装置;以及
用于基于在所述传送的响应握手网络通信中的所述输出数据部分来认证所述第二握手网络通信的装置。
16.根据权利要求12所述的设备,其中用于建立所述通信会话的装置包括:
用于至少部分地基于所述密码信息建立密钥的装置;以及
用于至少部分地基于所述密钥来发起所述通信会话作为加密通信会话的装置。
17.根据权利要求16所述的设备,其中所述子媒体流包括第一子媒体流,所述设备进一步包括:
用于通过所述加密通信会话来接收作为所述媒体流一部分的、与第二子媒体流相关联的实时的、基于优先级的网络通信的装置,其中所述网络通信包括状态信息和数据净荷;
用于至少部分地基于所述密码信息来解密所述数据净荷的装置;
用于至少部分地基于所述状态信息和所述解密的数据净荷来整合所述第二子媒体流的可播放部分的装置;和
用于播放与由至少一个所述存储的参数值所指示的媒体类型相关的所述第二子媒体流的整合的部分的装置。
18.根据权利要求16所述的设备,进一步包括:用于至少部分地基于所述通信会话的建立来打开或关闭关于运行所述通信会话的程序的特征功能的装置,其中用于建立所述通信会话的装置包括:
用于从所述预定义的部分取回随机数据的部分的装置;
用于基于所述取回的随机数据的部分来确定到所述握手网络通信的所述预定义部分中的索引的装置;
用于至少部分地基于所述索引来定位密码信息的装置;以及
用于至少部分地基于所述密码信息来认证所述握手网络通信的装置。
19.一种设备,包括:
用于至少部分基于握手网络通信的预定义部分中的密码信息建立通信会话来传送媒体流的装置,其中所述握手网络通信的所述预定义部分是为随机数据保留的,并且所述媒体流包括子媒体流;
用于将优先级的值与所述子媒体流相关联的装置;
用于基于所述优先级的值来产生总的优先级的值的装置;
用于基于所述优先级的值和总的优先级的值来计算与所述子媒体流对应的预期传送比例的装置;
用于通过所述子媒体流来传送一组实时的、基于优先级的网络通信的装置;
用于基于传送的集合来评估与子媒体流对应的子媒体流计数的装置;
用于基于所述子媒体流计数来求和总的计数的装置;
用于基于所述子媒体流计数和总的计数来确定相应于所述子媒体流的实际传送比例的装置;
用于基于所述预期的传送比例和所述实际的传送比例来演算与所述子媒体流对应的比值的装置;和
用于存储演算的比值的装置。
20.根据权利要求19所述的设备,进一步包括:
用于选择与最低的存储比值对应的低比值的子媒体流的装置;
用于将一组将要通过所述子媒体流传送的、实时的基于优先级的网络通信进行排队的装置;
用于从所排队的集合中选择与低比值子媒体流相关联的低比值子媒体流网络通信的装置;和
用于经由所述低比值子媒体流来传送所述低比值子媒体流网络通信的装置。
21.一种设备,包括:
用于至少部分基于握手网络通信的预定义部分中的密码信息建立密钥和通信会话来传送媒体流的装置,其中所述握手网络通信的所述预定义部分是为随机数据保留的;
用于至少部分地基于所述密钥来发起所述通信会话作为加密通信会话的装置;
用于通过所述通信会话接收作为所述媒体流的一部分的包括在第一实时的、基于优先级的网络通信的第一报头部分中的、与所述子媒体流相关的参数值的装置;
用于存储参数的值的装置;
用于通过所述通信会话来获得作为所述媒体流的一部分的、包括在第二实时的、基于优先级的网络通信的控制部分中的状态信息和包含在所述第二网络通信中的数据净荷的装置;
用于根据所述状态信息来识别与所述媒体流相关的第二网络通信的目的、以及第二网络通信的第二报头部分是否包括与一个或多个参数相应的一个或多个新的值的装置,其中用于识别目的的装置从一组可能的目的来识别所述目的,所述一组可能的目的包括:
开始新的子媒体流,所述第二报头部分包括与所述参数相应的子媒体流的值,
指示新的媒体类型,所述第二报头部分包括与少于全部的参数相应的一个或多个值,
提供新的时间,所述第二报头部分包括与所述参数中的一个相应的一个新的值,以及
继续所述子媒体流,所述第二报头部分不包括一个或多个新的值;
用于当所述第二报头部分包括所述一个或多个新的值时、至少部分地基于所述一个或多个新的值来更新一个或多个存储的值的装置;以及
用于至少部分地基于所述识别的目的和所述存储的参数值来处理所述数据净荷的装置。
22.根据权利要求21所述的装置,其中所述子媒体流包括第一子媒体流,以及其中用于建立所述通信会话的装置包括:
用于从所述预定义的部分取回随机数据的部分的装置;
用于基于所述取回的随机数据的部分来确定到所述网络通信的所述预定义部分中的索引的装置;
用于至少部分地基于所述索引来定位密码信息的装置;以及
用于至少部分地基于所述密码信息来认证所述握手网络通信的装置,
并且所述设备进一步包括:
用于至少部分地基于通信会话的建立来打开或关闭关于运行通信会话的程序的特征功能的装置;
用于通过所述加密通信会话来接收作为媒体流一部分的、与第二子媒体流相关联的、实时的、基于优先级的网络通信的装置,其中所述网络通信包括状态信息和数据净荷;
用于至少部分地基于所述密码信息来解密所述数据净荷的装置;
用于至少部分地基于所述状态信息和所述解密的数据净荷来整合所述第二子媒体流的可播放部分的装置;以及
用于播放与由至少一个所述存储的参数值所指示的媒体类型相关的所述第二子媒体流的整合的部分的装置。
23.一种系统,包括:
服务器计算机,编程为使用包括握手网络通信的会话启动握手来经由网络建立与客户端计算机的加密会话,所述握手网络通信包括为随机数据保留的预定义部分;和
所述客户端计算机,编程为使用包括在所述握手网络通信的预定义部分中的密码信息的会话启动握手来建立与所述服务器计算机的加密会话,
其中所述服务器计算机和所述客户端计算机编程为执行以下操作,包括:
至少部分地基于所述密码信息建立加密通信会话来传送媒体流,
通过所述通信会话接收作为所述媒体流的一部分的包括在第一实时的、基于优先级的网络通信的第一报头部分中的、与子媒体流相关的参数值;
存储所述参数的值;
通过所述通信会话获得作为所述媒体流的一部分的包括在第二实时的、基于优先级的网络通信的控制部分中的状态信息和包括在所述第二网络通信中的数据净荷;
从所述状态信息识别与所述媒体流相关的第二网络通信的目的、以及第二网络通信的第二报头部分是否包括与一个或多个参数相应的一个或多个新的值;
当所述第二报头部分包括所述一个或多个新的值时,至少部分地基于所述一个或多个新的值来更新一个或多个存储的值;以及
至少部分地基于识别的目的和所述存储的参数值来处理所述数据净荷。
24.根据权利要求23所述的系统,其中所述客户端计算机包括移动设备。
25.根据权利要求23所述的系统,其中识别目的包含从一组可能的目的来识别所述目的,所述一组可能的目的包括:
开始新的子媒体流,所述第二报头部分包括与所述参数相应的子媒体流的值,以及
指示新的媒体类型,所述第二报头部分包括与少于全部的参数相应的一个或多个值。
26.根据权利要求25所述的系统,其中识别目的包括从所述一组可能的目的来识别所述目的,所述一组可能的目的还包括:
提供新的时间,所述第二报头部分包括与所述参数中的一个相应的一个新的值,以及
继续所述子媒体流,所述第二报头部分不包括一个或多个新的值。
27.根据权利要求23所述的系统,其中建立所述通信会话进一步包括:
利用来自所述握手网络通信的输入数据部分产生包括输出数据部分的、响应握手网络通信,其中所述输出数据部分包括随机数据和密码信息中的至少一个,所述输入数据部分包括所述握手网络通信中的随机数据和密码信息中的至少一个;
传送所述产生的响应握手网络通信;
响应于所述传送的响应握手网络通信来接收第二握手网络通信;以及
基于在传送的响应握手网络通信中的所述输出数据部分来认证所述第二握手网络通信。
28.根据权利要求23所述的系统,其中建立所述通信会话包括:
至少部分地基于所述密码信息来建立密钥;以及
至少部分地基于所述密钥来发起所述通信会话作为加密通信会话。
29.根据权利要求28所述的系统,其中所述子媒体流包括第一子媒体流,所述操作进一步包括:
通过所述加密通信会话来接收作为媒体流一部分的、与第二子媒体流相关联的、实时的、基于优先级的网络通信,其中所述网络通信包括状态信息和数据净荷;
至少部分地基于所述密码信息来解密所述数据净荷;
至少部分地基于所述状态信息和所述解密的数据净荷来整合第二子媒体流的可播放部分;以及
播放与由至少一个所述存储的参数值所指示的媒体类型相关的所述第二子媒体流的整合的部分。
30.根据权利要求28所述的系统,进一步包括:至少部分地基于所述通信会话的建立来打开或关闭关于运行所述通信会话的程序的特征功能,其中建立所述通信会话包括:
从所述预定义的部分取回随机数据的部分;
基于所述取回的随机数据的部分来确定到所述握手网络通信的所述预定义部分的索引;
至少部分地基于所述索引来定位所述密码信息;以及
至少部分地基于所述密码信息来认证所述握手网络通信。
31.一种系统,包括:
服务器,编程为使用包括握手网络通信的会话启动握手来经由网络建立与客户端的加密会话,所述握手网络通信包括为随机数据保留的预定义部分;以及
所述客户端,编程为使用包括在所述握手网络通信的所述预定义部分中的密码信息的会话启动握手来建立与所述服务器的加密会话,
其中所述服务器和所述客户端编程为执行操作,包括:
至少部分地基于所述密码信息建立加密通信会话来传送媒体流,其中所述媒体流包括子媒体流,
将优先级的值与所述子媒体流相关联;
基于所述优先级的值产生总的优先级的值;
基于所述优先级的值和总的优先级的值来计算与子媒体流对应的预期传送比例;
通过所述子媒体流传送一组实时的、基于优先级的网络通信;
基于传送的集合来评估与所述子媒体流对应的子媒体流计数;
基于所述子媒体流计数来求和总的计数;
基于所述子媒体流计数和总的计数来确定与所述子媒体流对应的实际传送比例;
基于预期的传送比例和实际的传送比例来演算与所述子媒体流对应的比值;以及
存储演算的比值。
32.根据权利要求31所述的系统,所述操作进一步包括:
选择与最低的存储比值对应的低比值的子媒体流;
将一组将要通过所述子媒体流传送的、实时的、基于优先级的网络通信进行排队;
从所排队的集合中选择与低比值子媒体流相关联的低比值子媒体流网络通信;以及
经由所述低比值子媒体流来传送所述低比值子媒体流网络通信。
33.一种系统,包括:
服务器,编程为使用包括握手网络通信的会话启动握手来经由网络建立与客户端的加密会话,所述握手网络通信包括为随机数据保留的预定义部分;和
所述客户端,编程为使用包括在所述握手网络通信的预定义部分中的密码信息的会话启动握手来建立与所述服务器的加密会话,
其中所述服务器和所述客户端编程为执行操作,包括:
至少部分地基于所述密码信息建立密钥和通信会话来传送媒体流,至少部分地基于所述密钥发起所述通信会话作为加密通信会话,通过所述通信会话接收作为所述媒体流的一部分的、包括在第一实时的、基于优先级的网络通信的第一报头部分中的、与子媒体流相关的参数值,存储所述参数的值,通过所述通信会话获得作为所述媒体流的一部分的、包括在第二实时的、基于优先级的网络通信的控制部分中的状态信息和包括在所述第二网络通信中的数据净荷,从所述状态信息识别与所述媒体流相关的第二网络通信的目的、以及所述第二网络通信的第二报头部分是否包括与一个或多个参数相应的一个或多个新的值,其中识别目的包括从一组可能的目的来识别所述目的,所述一组可能的目的包括:开始新的子媒体流,所述第二报头部分包括与所述参数相应的子媒体流的值,指示新的媒体类型,所述第二报头部分包括与少于全部的参数相应的一个或多个值,提供新的时间,所述第二报头部分包括与所述参数中的一个相应的一个新的值,以及继续所述子媒体流,所述第二报头部分不包括一个或多个新的值,当所述第二报头部分包括所述一个或多个新的值,至少部分地基于所述一个或多个新的值来更新一个或多个存储的值,以及至少部分地基于识别的目的和所述存储的参数值处理所述数据净荷。
34.根据权利要求33所述的系统,其中所述子媒体流包括第一子媒体流,以及其中建立所述通信会话包括:从所述预定义的部分取回随机数据的部分,基于所述取回的随机数据的部分来确定到所述网络通信的所述预定义部分中的索引,至少部分地基于所述索引来定位密码信息,以及至少部分地基于所述密码信息来认证所述握手网络通信,所述服务器和客户端编程为执行操作,进一步包括:至少部分地基于通信会话的建立来打开或关闭关于运行所述通信会话的程序的特征功能,通过所述加密通信会话,接收作为媒体流一部分的、与第二子媒体流相关联的、实时的、基于优先级的网络通信,其中所述网络通信包括状态信息和数据净荷,至少部分地基于所述密码信息来解密所述数据净荷,至少部分地基于所述状态信息和所述解密的数据净荷来整合第二子媒体流的可播放部分,以及播放与由至少一个所述存储的参数值所指示的媒体类型相关的所述第二子媒体流的整合的部分。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/252,357 US8051287B2 (en) | 2008-10-15 | 2008-10-15 | Imparting real-time priority-based network communications in an encrypted communication session |
US12/252,357 | 2008-10-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101902453A true CN101902453A (zh) | 2010-12-01 |
CN101902453B CN101902453B (zh) | 2014-09-10 |
Family
ID=42099966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910253036.XA Active CN101902453B (zh) | 2008-10-15 | 2009-10-15 | 通信方法和通信装置 |
Country Status (2)
Country | Link |
---|---|
US (5) | US8051287B2 (zh) |
CN (1) | CN101902453B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018072729A1 (zh) * | 2016-10-19 | 2018-04-26 | 中兴通讯股份有限公司 | 媒体流的发送、接收方法及装置、系统、视频中继 |
CN111556071A (zh) * | 2020-05-12 | 2020-08-18 | 深圳市汇智通咨询有限公司 | 一种用于计算机的数据加密算法与系统 |
CN111865895A (zh) * | 2020-05-29 | 2020-10-30 | 广西博士海意信息科技有限公司 | 一种基于云平台的数据保密传输方法及系统 |
Families Citing this family (96)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7272658B1 (en) | 2003-02-13 | 2007-09-18 | Adobe Systems Incorporated | Real-time priority-based media communication |
US7519274B2 (en) | 2003-12-08 | 2009-04-14 | Divx, Inc. | File format for multiple track digital data |
US8472792B2 (en) | 2003-12-08 | 2013-06-25 | Divx, Llc | Multimedia distribution system |
JP5200204B2 (ja) | 2006-03-14 | 2013-06-05 | ディブエックス リミテッド ライアビリティー カンパニー | 高信頼性システムを含む連合型デジタル権限管理機構 |
US8467527B2 (en) | 2008-12-03 | 2013-06-18 | Intel Corporation | Efficient key derivation for end-to-end network security with traffic visibility |
ES2381904T3 (es) * | 2007-09-29 | 2012-06-01 | Research In Motion Limited | Método para responder a una petición en un entorno de red que incluye IMS y aparato para el mismo |
US7961878B2 (en) | 2007-10-15 | 2011-06-14 | Adobe Systems Incorporated | Imparting cryptographic information in network communications |
US8407299B2 (en) * | 2007-10-27 | 2013-03-26 | Research In Motion Limited | Content disposition system and method for processing message content in a distributed environment |
WO2009065137A1 (en) | 2007-11-16 | 2009-05-22 | Divx, Inc. | Hierarchical and reduced index structures for multimedia files |
US8997161B2 (en) * | 2008-01-02 | 2015-03-31 | Sonic Ip, Inc. | Application enhancement tracks |
US8051287B2 (en) | 2008-10-15 | 2011-11-01 | Adobe Systems Incorporated | Imparting real-time priority-based network communications in an encrypted communication session |
CA2749170C (en) | 2009-01-07 | 2016-06-21 | Divx, Inc. | Singular, collective and automated creation of a media guide for online content |
US9569001B2 (en) * | 2009-02-03 | 2017-02-14 | Massachusetts Institute Of Technology | Wearable gestural interface |
WO2010143026A1 (en) | 2009-06-08 | 2010-12-16 | Nds Limited | Robust watermark |
US8510835B1 (en) * | 2009-09-18 | 2013-08-13 | Trend Micro Incorporated | Techniques for protecting data in cloud computing environments |
EP2507995A4 (en) | 2009-12-04 | 2014-07-09 | Sonic Ip Inc | SYSTEMS AND METHODS FOR TRANSPORTING ELEMENTARY BIT TRAIN CRYPTOGRAPHIC MATERIAL |
AU2010202741B1 (en) | 2010-06-30 | 2010-12-23 | Adeia Media Holdings Llc | Dynamic chunking for media streaming |
US8954540B2 (en) | 2010-06-30 | 2015-02-10 | Albert John McGowan | Dynamic audio track selection for media streaming |
US8301733B2 (en) | 2010-06-30 | 2012-10-30 | Unicorn Media, Inc. | Dynamic chunking for delivery instances |
US9838450B2 (en) | 2010-06-30 | 2017-12-05 | Brightcove, Inc. | Dynamic chunking for delivery instances |
US9762639B2 (en) | 2010-06-30 | 2017-09-12 | Brightcove Inc. | Dynamic manifest generation based on client identity |
KR101064201B1 (ko) | 2010-07-27 | 2011-09-14 | 주식회사 파수닷컴 | 웹 데이터의 권한 관리 장치, 웹 데이터의 권한 관리 방법을 컴퓨터에서 실행시키기 위한 기록매체, 그리고 권한 관리 정보 제공 장치 및 방법 |
KR101157073B1 (ko) | 2010-12-10 | 2012-06-21 | 숭실대학교산학협력단 | 근전도 센서와 자이로 센서를 이용한 지화 인식 방법 및 장치 |
US9247312B2 (en) | 2011-01-05 | 2016-01-26 | Sonic Ip, Inc. | Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol |
AU2011201404B1 (en) | 2011-03-28 | 2012-01-12 | Brightcove Inc. | Transcodeless on-the-fly ad insertion |
US10739941B2 (en) | 2011-03-29 | 2020-08-11 | Wevideo, Inc. | Multi-source journal content integration systems and methods and systems and methods for collaborative online content editing |
US9711178B2 (en) | 2011-03-29 | 2017-07-18 | Wevideo, Inc. | Local timeline editing for online content editing |
US9998545B2 (en) * | 2011-04-02 | 2018-06-12 | Open Invention Network, Llc | System and method for improved handshake protocol |
US8818171B2 (en) | 2011-08-30 | 2014-08-26 | Kourosh Soroushian | Systems and methods for encoding alternative streams of video for playback on playback devices having predetermined display aspect ratios and network connection maximum data rates |
CN103875248B (zh) | 2011-08-30 | 2018-09-07 | 帝威视有限公司 | 用于编码和流处理通过使用多个最大比特率级别编码的视频的系统和方法 |
US9467708B2 (en) | 2011-08-30 | 2016-10-11 | Sonic Ip, Inc. | Selection of resolutions for seamless resolution switching of multimedia content |
US8752138B1 (en) * | 2011-08-31 | 2014-06-10 | Google Inc. | Securing user contact information in collaboration session |
US8964977B2 (en) * | 2011-09-01 | 2015-02-24 | Sonic Ip, Inc. | Systems and methods for saving encoded media streamed using adaptive bitrate streaming |
US8909922B2 (en) | 2011-09-01 | 2014-12-09 | Sonic Ip, Inc. | Systems and methods for playing back alternative streams of protected content protected using common cryptographic information |
US8625789B2 (en) | 2011-09-26 | 2014-01-07 | Unicorn Media, Inc. | Dynamic encryption |
US8239546B1 (en) * | 2011-09-26 | 2012-08-07 | Unicorn Media, Inc. | Global access control for segmented streaming delivery |
US8165343B1 (en) | 2011-09-28 | 2012-04-24 | Unicorn Media, Inc. | Forensic watermarking |
US8879731B2 (en) | 2011-12-02 | 2014-11-04 | Adobe Systems Incorporated | Binding of protected video content to video player with block cipher hash |
US8903088B2 (en) * | 2011-12-02 | 2014-12-02 | Adobe Systems Incorporated | Binding of protected video content to video player with encryption key |
US8918908B2 (en) | 2012-01-06 | 2014-12-23 | Sonic Ip, Inc. | Systems and methods for accessing digital content using electronic tickets and ticket tokens |
US8695069B1 (en) * | 2012-01-31 | 2014-04-08 | Intuit Inc. | Session management between a web application and a CRM system |
CN103248474B (zh) * | 2012-02-01 | 2016-08-10 | 华为技术有限公司 | 一种流媒体的加密、解密方法和装置 |
US9197685B2 (en) | 2012-06-28 | 2015-11-24 | Sonic Ip, Inc. | Systems and methods for fast video startup using trick play streams |
US9143812B2 (en) | 2012-06-29 | 2015-09-22 | Sonic Ip, Inc. | Adaptive streaming of multimedia |
US10452715B2 (en) | 2012-06-30 | 2019-10-22 | Divx, Llc | Systems and methods for compressing geotagged video |
WO2014015110A1 (en) | 2012-07-18 | 2014-01-23 | Verimatrix, Inc. | Systems and methods for rapid content switching to provide a linear tv experience using streaming content distribution |
US9804668B2 (en) | 2012-07-18 | 2017-10-31 | Verimatrix, Inc. | Systems and methods for rapid content switching to provide a linear TV experience using streaming content distribution |
US9003372B2 (en) | 2012-08-18 | 2015-04-07 | Luminal, Inc. | System and method for replacing software components with corresponding known-good software components without regard to whether the software components have been compromised or potentially compromised |
DE102012215601A1 (de) * | 2012-09-03 | 2014-03-06 | Continental Automotive Gmbh | Verfahren und Vorrichtung zum Ermitteln eines Werts einer bewegungsabhängigen Größe |
US8997254B2 (en) | 2012-09-28 | 2015-03-31 | Sonic Ip, Inc. | Systems and methods for fast startup streaming of encrypted multimedia content |
US8914836B2 (en) | 2012-09-28 | 2014-12-16 | Sonic Ip, Inc. | Systems, methods, and computer program products for load adaptive streaming |
US9602557B2 (en) | 2012-10-15 | 2017-03-21 | Wowza Media Systems, LLC | Systems and methods of communication using a message header that includes header flags |
US8695048B1 (en) | 2012-10-15 | 2014-04-08 | Wowza Media Systems, LLC | Systems and methods of processing closed captioning for video on demand content |
US9176838B2 (en) * | 2012-10-19 | 2015-11-03 | Intel Corporation | Encrypted data inspection in a network environment |
US9064318B2 (en) | 2012-10-25 | 2015-06-23 | Adobe Systems Incorporated | Image matting and alpha value techniques |
US10638221B2 (en) | 2012-11-13 | 2020-04-28 | Adobe Inc. | Time interval sound alignment |
US9201580B2 (en) | 2012-11-13 | 2015-12-01 | Adobe Systems Incorporated | Sound alignment user interface |
US9355649B2 (en) | 2012-11-13 | 2016-05-31 | Adobe Systems Incorporated | Sound alignment using timing information |
US9076205B2 (en) | 2012-11-19 | 2015-07-07 | Adobe Systems Incorporated | Edge direction and curve based image de-blurring |
US10249321B2 (en) | 2012-11-20 | 2019-04-02 | Adobe Inc. | Sound rate modification |
CN103107989A (zh) * | 2012-11-20 | 2013-05-15 | 高剑青 | 基于多哈希值的密码系统 |
US8897588B2 (en) | 2012-11-20 | 2014-11-25 | Adobe Systems Incorporated | Data-driven edge-based image de-blurring |
US9135710B2 (en) | 2012-11-30 | 2015-09-15 | Adobe Systems Incorporated | Depth map stereo correspondence techniques |
US10455219B2 (en) | 2012-11-30 | 2019-10-22 | Adobe Inc. | Stereo correspondence and depth sensors |
US9208547B2 (en) | 2012-12-19 | 2015-12-08 | Adobe Systems Incorporated | Stereo correspondence smoothness tool |
US10249052B2 (en) | 2012-12-19 | 2019-04-02 | Adobe Systems Incorporated | Stereo correspondence model fitting |
US9214026B2 (en) | 2012-12-20 | 2015-12-15 | Adobe Systems Incorporated | Belief propagation and affinity measures |
US9191457B2 (en) | 2012-12-31 | 2015-11-17 | Sonic Ip, Inc. | Systems, methods, and media for controlling delivery of content |
US9313510B2 (en) | 2012-12-31 | 2016-04-12 | Sonic Ip, Inc. | Use of objective quality measures of streamed content to reduce streaming bandwidth |
US9264475B2 (en) | 2012-12-31 | 2016-02-16 | Sonic Ip, Inc. | Use of objective quality measures of streamed content to reduce streaming bandwidth |
US9112939B2 (en) | 2013-02-12 | 2015-08-18 | Brightcove, Inc. | Cloud-based video delivery |
US9648320B2 (en) * | 2013-02-22 | 2017-05-09 | Comcast Cable Communications, Llc | Methods and systems for processing content |
US11748833B2 (en) | 2013-03-05 | 2023-09-05 | Wevideo, Inc. | Systems and methods for a theme-based effects multimedia editing platform |
US9906785B2 (en) | 2013-03-15 | 2018-02-27 | Sonic Ip, Inc. | Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata |
US10397292B2 (en) | 2013-03-15 | 2019-08-27 | Divx, Llc | Systems, methods, and media for delivery of content |
US9344517B2 (en) | 2013-03-28 | 2016-05-17 | Sonic Ip, Inc. | Downloading and adaptive streaming of multimedia content to a device with cache assist |
US8782721B1 (en) | 2013-04-05 | 2014-07-15 | Wowza Media Systems, LLC | Closed captions for live streams |
US8782722B1 (en) | 2013-04-05 | 2014-07-15 | Wowza Media Systems, LLC | Decoding of closed captions at a media server |
US9247317B2 (en) | 2013-05-30 | 2016-01-26 | Sonic Ip, Inc. | Content streaming with client device trick play index |
US9094737B2 (en) | 2013-05-30 | 2015-07-28 | Sonic Ip, Inc. | Network video streaming with trick play based on separate trick play files |
JP6211818B2 (ja) * | 2013-06-11 | 2017-10-11 | 株式会社東芝 | 通信装置、通信方法、プログラムおよび通信システム |
US9967305B2 (en) | 2013-06-28 | 2018-05-08 | Divx, Llc | Systems, methods, and media for streaming media content |
US9343112B2 (en) | 2013-10-31 | 2016-05-17 | Sonic Ip, Inc. | Systems and methods for supplementing content from a server |
US9866878B2 (en) | 2014-04-05 | 2018-01-09 | Sonic Ip, Inc. | Systems and methods for encoding and playing back video at different frame rates using enhancement layers |
US9774451B2 (en) * | 2015-02-10 | 2017-09-26 | Qualcomm Incorporated | Using secure elements to authenticate devices in point-to-point communication |
WO2016165082A1 (zh) * | 2015-04-15 | 2016-10-20 | 中国科学院自动化研究所 | 基于深度学习的图像隐写检测方法 |
CN106487767B (zh) * | 2015-08-31 | 2020-01-21 | 阿里巴巴集团控股有限公司 | 验证信息的更新方法及装置 |
US10341194B2 (en) | 2015-10-05 | 2019-07-02 | Fugue, Inc. | System and method for building, optimizing, and enforcing infrastructure on a cloud based computing environment |
US10075292B2 (en) | 2016-03-30 | 2018-09-11 | Divx, Llc | Systems and methods for quick start-up of playback |
US11197331B2 (en) * | 2016-06-10 | 2021-12-07 | Apple Inc. | Zero-round-trip-time connectivity over the wider area network |
US10148989B2 (en) | 2016-06-15 | 2018-12-04 | Divx, Llc | Systems and methods for encoding video content |
US10498795B2 (en) | 2017-02-17 | 2019-12-03 | Divx, Llc | Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming |
CN108390860B (zh) * | 2018-01-24 | 2021-09-14 | 北京奇艺世纪科技有限公司 | 一种数据包的加密、解密方法及装置 |
US10826803B2 (en) * | 2018-01-25 | 2020-11-03 | Cisco Technology, Inc. | Mechanism for facilitating efficient policy updates |
US20200228505A1 (en) | 2019-01-10 | 2020-07-16 | Pango Inc. | Private Exchange of Encrypted Data Over A Computer Network |
CN110138765B (zh) * | 2019-05-10 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备和计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040148399A1 (en) * | 2002-10-25 | 2004-07-29 | International Business Machines Corporation | System and method for distributing a media content file over a network |
WO2005109146A1 (en) * | 2004-05-12 | 2005-11-17 | Nokia Corporation | Integrity protection of streamed content |
US20070127458A1 (en) * | 2005-12-06 | 2007-06-07 | Micrel, Inc. | Data communication method for detecting slipped bit errors in received data packets |
US20080144603A1 (en) * | 2006-12-14 | 2008-06-19 | Adobe Systems Incorporated | Real-time communication using inter-process communications |
Family Cites Families (148)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US711162A (en) * | 1901-12-30 | 1902-10-14 | Joseph Holbach | Beer-barrel-tapping device. |
US4200770A (en) | 1977-09-06 | 1980-04-29 | Stanford University | Cryptographic apparatus and method |
US6044205A (en) * | 1996-02-29 | 2000-03-28 | Intermind Corporation | Communications system for transferring information between memories according to processes transferred with the information |
US5185795A (en) | 1991-02-27 | 1993-02-09 | Motorola, Inc. | Authentication of rekey messages in a communication system |
US5784631A (en) | 1992-06-30 | 1998-07-21 | Discovision Associates | Huffman decoder |
JPH0764893A (ja) * | 1993-08-31 | 1995-03-10 | Canon Inc | ネットワーク・システム |
EP0737387B1 (en) | 1993-11-18 | 2003-04-09 | Digimarc Corporation | Identification/authentication coding method and apparatus |
US6546112B1 (en) | 1993-11-18 | 2003-04-08 | Digimarc Corporation | Security document with steganographically-encoded authentication data |
US5574934A (en) | 1993-11-24 | 1996-11-12 | Intel Corporation | Preemptive priority-based transmission of signals using virtual channels |
US5481610A (en) * | 1994-02-28 | 1996-01-02 | Ericsson Inc. | Digital radio transceiver with encrypted key storage |
US5541852A (en) | 1994-04-14 | 1996-07-30 | Motorola, Inc. | Device, method and system for variable bit-rate packet video communications |
WO1996017306A2 (en) * | 1994-11-21 | 1996-06-06 | Oracle Corporation | Media server |
US5793980A (en) * | 1994-11-30 | 1998-08-11 | Realnetworks, Inc. | Audio-on-demand communication system |
US5943422A (en) | 1996-08-12 | 1999-08-24 | Intertrust Technologies Corp. | Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels |
US5602831A (en) | 1995-03-31 | 1997-02-11 | Seiko Communications Systems, Inc. | Optimizing packet size to eliminate effects of reception nulls |
US6181867B1 (en) | 1995-06-07 | 2001-01-30 | Intervu, Inc. | Video storage and retrieval system |
US5664116A (en) | 1995-07-07 | 1997-09-02 | Sun Microsystems, Inc. | Buffering of data for transmission in a computer communication system interface |
AU693371B2 (en) * | 1995-07-11 | 1998-06-25 | Matsushita Electric Industrial Co., Ltd. | Multimedia playing apparatus utilizing synchronization of scenario-defined processing time points with playing of finite-time monomedia item |
IL115263A (en) * | 1995-09-12 | 1999-04-11 | Vocaltec Ltd | System and method for distributing multi-media presentations in a computer network |
GB9520807D0 (en) | 1995-10-11 | 1995-12-13 | Newbridge Networks Corp | Fair queue servicing using dynamic weights |
JP2924739B2 (ja) | 1995-10-30 | 1999-07-26 | 日本電気株式会社 | 動画像データの復号方式 |
US5987510A (en) * | 1995-11-10 | 1999-11-16 | Kabushiki Kaisha Toshiba | Method for transferring files according to file list provided in response to file request |
US5841432A (en) * | 1996-02-09 | 1998-11-24 | Carmel; Sharon | Method and system of building and transmitting a data file for real time play of multimedia, particularly animation, and a data file for real time play of multimedia applications |
US7010692B2 (en) | 1996-04-17 | 2006-03-07 | Phoenix Technologies Ltd. | Cryptographic methods for remote authentication |
US5768527A (en) | 1996-04-23 | 1998-06-16 | Motorola, Inc. | Device, system and method of real-time multimedia streaming |
US6064379A (en) * | 1996-06-24 | 2000-05-16 | Sun Microsystems, Inc. | System and method for synchronizing presentation of media stream playlists with real time |
US5661665A (en) | 1996-06-26 | 1997-08-26 | Microsoft Corporation | Multi-media synchronization |
US5928330A (en) | 1996-09-06 | 1999-07-27 | Motorola, Inc. | System, device, and method for streaming a multimedia file |
US6112024A (en) * | 1996-10-02 | 2000-08-29 | Sybase, Inc. | Development system providing methods for managing different versions of objects with a meta model |
US6037983A (en) | 1996-11-08 | 2000-03-14 | Hughes Electronics Corporation | High quality reduced latency transmission of video objects |
US6067303A (en) | 1997-02-25 | 2000-05-23 | International Business Machines Corporation | Method and apparatus for detecting and controlling data stream splicing in ATM networks |
US6806909B1 (en) | 1997-03-03 | 2004-10-19 | Koninklijke Philips Electronics N.V. | Seamless splicing of MPEG-2 multimedia data streams |
JP3560441B2 (ja) | 1997-04-07 | 2004-09-02 | 日本アイ・ビー・エム株式会社 | 複数フレーム・データ・ハイディング方法及び検出方法 |
US5892915A (en) * | 1997-04-25 | 1999-04-06 | Emc Corporation | System having client sending edit commands to server during transmission of continuous media from one clip in play list for editing the play list |
US7240094B2 (en) * | 1997-07-03 | 2007-07-03 | Centra Software Inc. | Method and system for synchronizing and serving multimedia in a distributed network |
US6912658B1 (en) | 1997-08-22 | 2005-06-28 | Purdue Research Foundation | Hiding of encrypted data |
US6011849A (en) | 1997-08-28 | 2000-01-04 | Syndata Technologies, Inc. | Encryption-based selection system for steganography |
EP0901261B1 (en) | 1997-09-05 | 2013-01-09 | Hitachi, Ltd. | Transport protocol conversion method and protocol conversion equipment |
US6216157B1 (en) * | 1997-11-14 | 2001-04-10 | Yahoo! Inc. | Method and apparatus for a client-server system with heterogeneous clients |
US6057832A (en) | 1997-12-02 | 2000-05-02 | V Soft Ltd. | Method and apparatus for video-on-demand with fast play capability |
US6453355B1 (en) * | 1998-01-15 | 2002-09-17 | Apple Computer, Inc. | Method and apparatus for media data transmission |
US6329986B1 (en) | 1998-02-21 | 2001-12-11 | U.S. Philips Corporation | Priority-based virtual environment |
US6021391A (en) * | 1998-03-03 | 2000-02-01 | Winbond Electronics Corp. | Method and system for dynamic data encryption |
IL123819A (en) | 1998-03-24 | 2001-09-13 | Geo Interactive Media Group Lt | Network media streaming |
US6681327B1 (en) | 1998-04-02 | 2004-01-20 | Intel Corporation | Method and system for managing secure client-server transactions |
US6295604B1 (en) * | 1998-05-26 | 2001-09-25 | Intel Corporation | Cryptographic packet processing unit |
US6202081B1 (en) | 1998-07-21 | 2001-03-13 | 3Com Corporation | Method and protocol for synchronized transfer-window based firewall traversal |
JP2000100073A (ja) | 1998-09-28 | 2000-04-07 | Sony Corp | 記録装置および方法、再生装置および方法、記録媒体、並びに提供媒体 |
CN100356475C (zh) | 1999-02-26 | 2007-12-19 | 日本胜利株式会社 | 信息重放方法 |
US6484257B1 (en) | 1999-02-27 | 2002-11-19 | Alonzo Ellis | System and method for maintaining N number of simultaneous cryptographic sessions using a distributed computing environment |
US6549934B1 (en) * | 1999-03-01 | 2003-04-15 | Microsoft Corporation | Method and system for remote access to computer devices via client managed server buffers exclusively allocated to the client |
US7095851B1 (en) | 1999-03-11 | 2006-08-22 | Tecsec, Inc. | Voice and data encryption method using a cryptographic key split combiner |
US6621870B1 (en) | 1999-04-15 | 2003-09-16 | Diva Systems Corporation | Method and apparatus for compressing video sequences |
JP4457431B2 (ja) | 1999-05-18 | 2010-04-28 | ソニー株式会社 | 受信装置および方法、並びに記録媒体 |
US6898706B1 (en) | 1999-05-20 | 2005-05-24 | Microsoft Corporation | License-based cryptographic technique, particularly suited for use in a digital rights management system, for controlling access and use of bore resistant software objects in a client computer |
US6574218B1 (en) | 1999-05-25 | 2003-06-03 | 3Com Corporation | Method and system for spatially disjoint joint source and channel coding for high-quality real-time multimedia streaming over connection-less networks via circuit-switched interface links |
US6275536B1 (en) | 1999-06-23 | 2001-08-14 | General Instrument Corporation | Implementation architectures of a multi-channel MPEG video transcoder using multiple programmable processors |
US6760378B1 (en) * | 1999-06-30 | 2004-07-06 | Realnetworks, Inc. | System and method for generating video frames and correcting motion |
US6449656B1 (en) * | 1999-07-30 | 2002-09-10 | Intel Corporation | Storing a frame header |
US6477580B1 (en) * | 1999-08-31 | 2002-11-05 | Accenture Llp | Self-described stream in a communication services patterns environment |
AU1806601A (en) * | 1999-11-30 | 2001-06-12 | New Media Technology, Corp. | System and method for computer-assisted manual and automatic logging of time-based media |
US6788686B1 (en) | 1999-11-30 | 2004-09-07 | Lucent Technologies Inc. | Method of maintaining packet order in multipath transmission systems having non-uniform traffic splitting |
US20010004417A1 (en) * | 1999-12-21 | 2001-06-21 | Ageishi Narutoshi | Video editing system |
CA2396369A1 (en) * | 2000-01-03 | 2001-07-12 | Caleb Avery | Efficient and lossless conversion for transmission or storage of data |
US6999424B1 (en) * | 2000-01-24 | 2006-02-14 | Ati Technologies, Inc. | Method for displaying data |
US6763390B1 (en) * | 2000-01-24 | 2004-07-13 | Ati Technologies, Inc. | Method and system for receiving and framing packetized data |
US6631418B1 (en) * | 2000-04-05 | 2003-10-07 | Lsi Logic Corporation | Server for operation with a low-cost multimedia terminal |
US6640303B1 (en) | 2000-04-28 | 2003-10-28 | Ky Quy Vu | System and method for encryption using transparent keys |
US7000108B1 (en) | 2000-05-02 | 2006-02-14 | International Business Machines Corporation | System, apparatus and method for presentation and manipulation of personal information syntax objects |
US6992983B1 (en) | 2000-05-05 | 2006-01-31 | Macromedia, Inc. | Bandwidth detection in a heterogeneous network with parallel and proxy modes |
US7152047B1 (en) | 2000-05-24 | 2006-12-19 | Esecure.Biz, Inc. | System and method for production and authentication of original documents |
EP1168752A1 (en) * | 2000-06-23 | 2002-01-02 | Matra Nortel Communications | Access control in client-sever systems |
US7051200B1 (en) * | 2000-06-27 | 2006-05-23 | Microsoft Corporation | System and method for interfacing a software process to secure repositories |
US6816194B2 (en) | 2000-07-11 | 2004-11-09 | Microsoft Corporation | Systems and methods with error resilience in enhancement layer bitstream of scalable video coding |
US20020025045A1 (en) | 2000-07-26 | 2002-02-28 | Raike William Michael | Encryption processing for streaming media |
US6801947B1 (en) * | 2000-08-01 | 2004-10-05 | Nortel Networks Ltd | Method and apparatus for broadcasting media objects with guaranteed quality of service |
US7133922B1 (en) * | 2000-08-07 | 2006-11-07 | The Hong Kong University Of Science And Technology | Method and apparatus for streaming of data |
US7043633B1 (en) | 2000-08-28 | 2006-05-09 | Verizon Corporation Services Group Inc. | Method and apparatus for providing adaptive self-synchronized dynamic address translation |
US6766376B2 (en) | 2000-09-12 | 2004-07-20 | Sn Acquisition, L.L.C | Streaming media buffering system |
WO2002032080A1 (en) | 2000-10-11 | 2002-04-18 | Broadcom Corporation | Cable modem system and method for supporting packet pdu compression |
US7310353B1 (en) | 2000-10-30 | 2007-12-18 | Yair Bourlas | Compression of overhead in layered data communication links |
US7324500B1 (en) | 2000-10-31 | 2008-01-29 | Jeremy Benjamin As Receiver For Chiaro Networks Ltd. | Router network protection using multiple facility interfaces |
US6879559B1 (en) | 2000-10-31 | 2005-04-12 | Chiaro Networks, Ltd. | Router line card protection using one-for-N redundancy |
US7403980B2 (en) * | 2000-11-08 | 2008-07-22 | Sri International | Methods and apparatus for scalable, distributed management of virtual private networks |
US6952405B2 (en) * | 2000-12-05 | 2005-10-04 | Sycamore Networks, Inc. | Coding scheme using a transition indicator for signal transmission in optical communications networks |
US6823394B2 (en) * | 2000-12-12 | 2004-11-23 | Washington University | Method of resource-efficient and scalable streaming media distribution for asynchronous receivers |
US20020103815A1 (en) * | 2000-12-12 | 2002-08-01 | Fresher Information Corporation | High speed data updates implemented in an information storage and retrieval system |
US6888848B2 (en) | 2000-12-14 | 2005-05-03 | Nortel Networks Limited | Compact segmentation of variable-size packet streams |
US20020116716A1 (en) * | 2001-02-22 | 2002-08-22 | Adi Sideman | Online video editor |
US7096359B2 (en) | 2001-03-01 | 2006-08-22 | University Of Cincinnati | Authentication scheme for ad hoc and sensor wireless networks |
US6934389B2 (en) | 2001-03-02 | 2005-08-23 | Ati International Srl | Method and apparatus for providing bus-encrypted copy protection key to an unsecured bus |
US6990497B2 (en) * | 2001-06-26 | 2006-01-24 | Microsoft Corporation | Dynamic streaming media management |
US7161939B2 (en) | 2001-06-29 | 2007-01-09 | Ip Unity | Method and system for switching among independent packetized audio streams |
US7149892B2 (en) | 2001-07-06 | 2006-12-12 | Juniper Networks, Inc. | Secure sockets layer proxy architecture |
JP2003037623A (ja) * | 2001-07-23 | 2003-02-07 | Philips Japan Ltd | Mpegネットワーク上におけるダイレクトrtp伝送方法及びシステム |
US7149813B2 (en) * | 2001-08-14 | 2006-12-12 | Microsoft Corporation | Method and system for synchronizing mobile devices |
US7111162B1 (en) | 2001-09-10 | 2006-09-19 | Cisco Technology, Inc. | Load balancing approach for scaling secure sockets layer performance |
US7346843B2 (en) * | 2001-09-18 | 2008-03-18 | International Business Machines Corporation | Low-latency, incremental rendering in a content framework |
FI20011871A (fi) * | 2001-09-24 | 2003-03-25 | Nokia Corp | Multimediadatan prosessointi |
US7003570B2 (en) * | 2001-10-05 | 2006-02-21 | Bea Systems, Inc. | System for integrating java servlets with asynchronous messages |
US7372964B2 (en) * | 2001-10-10 | 2008-05-13 | Kabushiki Kaisha Toshiba | Method and apparatus for recording information including secret information and method and apparatus for reproduction thereof |
US20040032424A1 (en) * | 2001-11-06 | 2004-02-19 | Florschuetz Alan Scott | Method and system for producing and administering a web-cast event |
US7224703B2 (en) | 2001-12-12 | 2007-05-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for segmenting a data packet |
US7039192B1 (en) | 2001-12-13 | 2006-05-02 | Verizon Services Corp. | Methods for data encryption using multiple layer steganography |
US6938070B2 (en) * | 2001-12-17 | 2005-08-30 | Dassault Systemes | Conflict resolution for collaborative work system |
FI113324B (fi) | 2001-12-21 | 2004-03-31 | Nokia Corp | Parannettu laitejärjestely, päätelaite ja menetelmä audiosignaalin siirrossa pakettikytkentäisessä tiedonsiirtoverkossa |
AU2003205083A1 (en) * | 2002-01-11 | 2003-07-30 | Akamai Tech Inc | Java application framework for use in a content delivery network (cdn) |
US7570766B2 (en) | 2002-03-01 | 2009-08-04 | Intel Corporation | Transparently embedding non-compliant data in a data stream |
JP2005521295A (ja) | 2002-03-20 | 2005-07-14 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 暗号化鍵の隠蔽及び回復の方法及びシステム |
JP3808394B2 (ja) * | 2002-04-02 | 2006-08-09 | 松下電器産業株式会社 | ストリームデータ処理装置、ストリームデータ処理方法、プログラム、及び、媒体 |
US7590844B1 (en) * | 2002-04-26 | 2009-09-15 | Mcafee, Inc. | Decryption system and method for network analyzers and security programs |
US20030221014A1 (en) * | 2002-05-24 | 2003-11-27 | David Kosiba | Method for guaranteed delivery of multimedia content based on terminal capabilities |
US7007163B2 (en) | 2002-05-31 | 2006-02-28 | Broadcom Corporation | Methods and apparatus for accelerating secure session processing |
US7167560B2 (en) | 2002-08-08 | 2007-01-23 | Matsushita Electric Industrial Co., Ltd. | Partial encryption of stream-formatted media |
US20040064725A1 (en) * | 2002-09-18 | 2004-04-01 | Microsoft Corporation | Method and system for detecting a communication problem in a computer network |
US7213085B2 (en) * | 2002-11-15 | 2007-05-01 | Microsoft Corporation | Use of a media cache for subsequent copying acceleration |
US20040111610A1 (en) * | 2002-12-05 | 2004-06-10 | Canon Kabushiki Kaisha | Secure file format |
US20050235145A1 (en) * | 2002-12-05 | 2005-10-20 | Canon Kabushiki Kaisha | Secure file format |
US20130136189A9 (en) * | 2003-01-13 | 2013-05-30 | Jiang Fu | Method and system for converting a dss stream to an encrypted mpeg stream |
US7246356B1 (en) | 2003-01-29 | 2007-07-17 | Adobe Systems Incorporated | Method and system for facilitating comunications between an interactive multimedia client and an interactive multimedia communication server |
US7272658B1 (en) * | 2003-02-13 | 2007-09-18 | Adobe Systems Incorporated | Real-time priority-based media communication |
AU2003900981A0 (en) | 2003-03-04 | 2003-03-20 | Grosvenor Leisure Incorporated | Secure steganographic biometric identification |
WO2004084020A2 (en) * | 2003-03-13 | 2004-09-30 | Drm Technologies, Llc | Secure streaming container |
US7007170B2 (en) | 2003-03-18 | 2006-02-28 | Widevine Technologies, Inc. | System, method, and apparatus for securely providing content viewable on a secure device |
US7577750B2 (en) | 2003-05-23 | 2009-08-18 | Microsoft Corporation | Systems and methods for peer-to-peer collaboration to enhance multimedia streaming |
US20050050441A1 (en) | 2003-07-17 | 2005-03-03 | Kearney Steven J. | Project monitoring method, system, and program product |
GB0317571D0 (en) | 2003-07-26 | 2003-08-27 | Koninkl Philips Electronics Nv | Content identification for broadcast media |
US7299356B2 (en) | 2003-09-02 | 2007-11-20 | Authernative, Inc. | Key conversion method for communication session encryption and authentication system |
US7383289B2 (en) * | 2003-12-02 | 2008-06-03 | Sap Aktiengesellschaft | Updating and maintaining data in a multi-system network using asynchronous message transfer |
US20050188007A1 (en) | 2004-02-24 | 2005-08-25 | Rich Warner | System and method for embedding data transmission in a web page |
US20060184790A1 (en) | 2004-03-26 | 2006-08-17 | Microsoft Corporation | Protecting elementary stream content |
US7664967B2 (en) | 2004-12-22 | 2010-02-16 | Borland Software Corporation | Development system with methodology providing information hiding in executable programs |
US7593943B2 (en) * | 2005-01-14 | 2009-09-22 | Microsoft Corporation | Method and system for synchronizing multiple user revisions to a shared object |
US8533473B2 (en) | 2005-03-04 | 2013-09-10 | Oracle America, Inc. | Method and apparatus for reducing bandwidth usage in secure transactions |
EP1727328A1 (en) | 2005-05-25 | 2006-11-29 | Alcatel | Network node, module therefor and distribution method |
WO2006133740A1 (en) | 2005-06-17 | 2006-12-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Host identity protocol method and apparatus |
US8781967B2 (en) | 2005-07-07 | 2014-07-15 | Verance Corporation | Watermarking in an encrypted domain |
US7948944B2 (en) * | 2005-09-28 | 2011-05-24 | Neocific, Inc. | Method and system for multi-carrier packet communication with reduced overhead |
US8050405B2 (en) * | 2005-09-30 | 2011-11-01 | Sony Ericsson Mobile Communications Ab | Shared key encryption using long keypads |
US20070083467A1 (en) | 2005-10-10 | 2007-04-12 | Apple Computer, Inc. | Partial encryption techniques for media data |
US20070220118A1 (en) * | 2006-03-15 | 2007-09-20 | Loyer Douglas E | Systems, Methods, and Apparatus for Delivering Randomly Accessible Audio and Video Media |
US7333921B2 (en) * | 2006-05-09 | 2008-02-19 | Stephen Taylor | Scalable, concurrent, distributed sensor system and method |
US8243924B2 (en) * | 2007-06-29 | 2012-08-14 | Google Inc. | Progressive download or streaming of digital media securely through a localized container and communication protocol proxy |
KR101377961B1 (ko) | 2007-07-27 | 2014-03-25 | 엘지전자 주식회사 | 헤더 오버헤드 감소를 위한 패킷 전송 방법 |
US7961878B2 (en) | 2007-10-15 | 2011-06-14 | Adobe Systems Incorporated | Imparting cryptographic information in network communications |
US20090238365A1 (en) * | 2008-03-20 | 2009-09-24 | Kinamik Data Integrity, S.L. | Method and system to provide fine granular integrity to digital data |
US8009620B2 (en) | 2008-05-09 | 2011-08-30 | Nokia Siemens Networks Oy | Variable header types for persistent resource allocation in a wireless network |
US8051287B2 (en) | 2008-10-15 | 2011-11-01 | Adobe Systems Incorporated | Imparting real-time priority-based network communications in an encrypted communication session |
-
2008
- 2008-10-15 US US12/252,357 patent/US8051287B2/en active Active
-
2009
- 2009-10-15 CN CN200910253036.XA patent/CN101902453B/zh active Active
-
2011
- 2011-10-25 US US13/281,317 patent/US8245033B1/en active Active
- 2011-11-24 US US13/304,308 patent/US8205076B1/en active Active
-
2012
- 2012-08-13 US US13/584,484 patent/US8918644B2/en active Active
-
2014
- 2014-12-23 US US14/579,801 patent/US9485291B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040148399A1 (en) * | 2002-10-25 | 2004-07-29 | International Business Machines Corporation | System and method for distributing a media content file over a network |
WO2005109146A1 (en) * | 2004-05-12 | 2005-11-17 | Nokia Corporation | Integrity protection of streamed content |
US20070127458A1 (en) * | 2005-12-06 | 2007-06-07 | Micrel, Inc. | Data communication method for detecting slipped bit errors in received data packets |
US20080144603A1 (en) * | 2006-12-14 | 2008-06-19 | Adobe Systems Incorporated | Real-time communication using inter-process communications |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018072729A1 (zh) * | 2016-10-19 | 2018-04-26 | 中兴通讯股份有限公司 | 媒体流的发送、接收方法及装置、系统、视频中继 |
CN111556071A (zh) * | 2020-05-12 | 2020-08-18 | 深圳市汇智通咨询有限公司 | 一种用于计算机的数据加密算法与系统 |
CN111556071B (zh) * | 2020-05-12 | 2020-12-04 | 深圳市汇智通咨询有限公司 | 一种用于计算机的数据加密算法与系统 |
CN111865895A (zh) * | 2020-05-29 | 2020-10-30 | 广西博士海意信息科技有限公司 | 一种基于云平台的数据保密传输方法及系统 |
CN111865895B (zh) * | 2020-05-29 | 2021-01-12 | 广西博士海意信息科技有限公司 | 一种基于云平台的数据保密传输方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20100095121A1 (en) | 2010-04-15 |
US9485291B2 (en) | 2016-11-01 |
US8918644B2 (en) | 2014-12-23 |
US8051287B2 (en) | 2011-11-01 |
US20150142927A1 (en) | 2015-05-21 |
US8245033B1 (en) | 2012-08-14 |
CN101902453B (zh) | 2014-09-10 |
US20120317416A1 (en) | 2012-12-13 |
US8205076B1 (en) | 2012-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101902453B (zh) | 通信方法和通信装置 | |
CN101861721B (zh) | 在网络通信中告知密码信息 | |
CN101479984B (zh) | 用于身份管理、验证服务器、数据安全和防止中间人攻击的动态分发密钥系统和方法 | |
US10037544B2 (en) | Technologies for collecting advertising statistics in a privacy sensitive manner | |
Li et al. | SecGrid: A secure and efficient SGX-enabled smart grid system with rich functionalities | |
CN110198295A (zh) | 安全认证方法和装置及存储介质 | |
Kim et al. | Automated analysis of secure internet of things protocols | |
CN108366057A (zh) | 一种数据处理方法、客户端及电子设备 | |
CN109361508A (zh) | 数据传输方法、电子设备及计算机可读存储介质 | |
JP2014531175A (ja) | 動的な暗号化方法 | |
CN112689014B (zh) | 一种双全工通信方法、装置、计算机设备和存储介质 | |
JP6468567B2 (ja) | 鍵交換方法、鍵交換システム | |
CN111339201A (zh) | 基于区块链的测评方法及系统 | |
Adhikari et al. | Efficient and secure business model for content centric network using elliptic curve cryptography | |
US20080077938A1 (en) | Method of implementing a state tracking mechanism in a communications session between a server and a client system | |
JP7229778B2 (ja) | 鍵管理システム及び方法 | |
US10491570B2 (en) | Method for transmitting data, method for receiving data, corresponding devices and programs | |
Moriam et al. | Protecting communication in many-core systems against active attackers | |
CN109960512A (zh) | 一种软件部署方法及系统 | |
US20160072777A1 (en) | Hardware crypto module and system for communicating with an external environment | |
Schatz et al. | Hydra: practical metadata security for contact discovery, messaging, and voice calls | |
Wu et al. | ObliComm: Towards building an efficient oblivious communication system | |
Brandt et al. | Optimal transport layer for secure computation | |
US20240179128A1 (en) | Dynamic management of servers based on environmental events | |
US20220393856A1 (en) | Securely and reliably transmitting messages between network devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |