CN104169901A - 用于多播通信的内容传送机制 - Google Patents

用于多播通信的内容传送机制 Download PDF

Info

Publication number
CN104169901A
CN104169901A CN201380014071.0A CN201380014071A CN104169901A CN 104169901 A CN104169901 A CN 104169901A CN 201380014071 A CN201380014071 A CN 201380014071A CN 104169901 A CN104169901 A CN 104169901A
Authority
CN
China
Prior art keywords
equipment
requesting party
network node
media streaming
streaming services
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
Application number
CN201380014071.0A
Other languages
English (en)
Other versions
CN104169901B (zh
Inventor
C·A·冈萨雷斯
S·W·萨塞耶
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN104169901A publication Critical patent/CN104169901A/zh
Application granted granted Critical
Publication of CN104169901B publication Critical patent/CN104169901B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6408Unicasting
    • 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
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • 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
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1046Joining mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

优化网络中由网络节点进行的内容传送。所述网络节点以通信方式耦合在多个客户机设备与至少一个内容服务提供方之间。通过第一单播链路在所述网络节点处接收由内容服务提供方提供的媒体流服务。经由第二单播链路将所述服务从所述网络节点传输到第一请求方设备。所述网络节点拦截来自第二请求方设备的对所述服务的请求。如果判定达到和/或超过多播优化阈值,则使用单个多播链路将所述服务从所述网络节点传输到所述第一和第二请求方设备,而通过所述第一单播链路从所述内容服务提供方接收所述服务。

Description

用于多播通信的内容传送机制
相关申请的交叉引用
本申请基于并要求2012年3月15日提交的标题为“Content DeliveryMechanisms For Multicast Communication(用于多播通信的内容传送机制)”的第13/421,417号美国申请的优先权,此美国申请的公开内容在此全部引入作为参考。
本申请涉及2012年3月15日提交的序列号为13/422,371的申请“Connection Management and Optimization for Services Delivered OverNetworks(通过网络传送的服务的连接管理和优化)”,此申请的公开内容在此全部引入作为参考。
背景技术
本发明的各实施例一般地涉及联网,更具体地说,涉及用于无线通信网络的内容传送机制。
无线通信网络中的设备和链路具有特定的容量约束。具体地说,链路每单位时间可以承载某一有限数量的信息。限制通常由链路的物理属性决定,并且还由网络的链路控制元件(硬件和软件)决定。当链路容量均被使用时,它不能接受任何传送更多信息的请求。例如,当链路承载多个用户的业务并且没有更多资源可用于新用户服务请求时,发生这种情况。在这种情况下,链路控制元件通常需要:(1)减少当前用户以便容纳新请求方,(2)减少针对每个用户承载的信息量以便释放容量以容纳新请求方,或者(3)拒绝对新请求方的服务。这些选项通常不理想,因为它们可以导致不满意的用户体验质量。
发明内容
在一个实施例中,提供一种用于优化无线通信网络中的内容传送的方法。所述无线通信网络包括以通信方式在多个客户机设备与至少一个内容服务提供方之间耦合的网络节点。根据所述方法,通过第一单播链路在所述网络节点处接收来自内容服务提供方的媒体流服务。使用第二单播链路将所述媒体流服务从所述网络节点传输到第一请求方设备。在所述网络节点处拦截来自第二请求方设备的对所述媒体流服务的请求。如果所述网络节点判定达到和/或超过多播优化阈值,则使用单个多播链路将所述媒体流服务从所述网络节点传输到所述第一请求方设备和所述第二请求方设备,而通过所述第一单播链路从所述内容服务提供方接收所述媒体流服务。
在另一个实施例中,提供一种用于优化无线通信网络中的内容传送的信息处理系统。所述信息处理系统包括存储器和以通信方式耦合到所述存储器的处理器。连接管理器以通信方式耦合到所述存储器和所述处理器。所述通信管理器被配置为执行一种方法,所述方法包括通过第一单播链路从内容服务提供方接收媒体流服务。使用第二单播链路将所述媒体流服务传输到第一请求方设备。拦截来自第二请求方设备的对所述媒体流服务的请求。如果所述连接管理器判定达到和/或超过多播优化阈值,则使用单个多播链路将所述媒体流服务传输到所述第一请求方设备和所述第二请求方设备,而通过所述第一单播链路从所述内容服务提供方接收所述媒体流服务。
在另一个实施例中,提供一种计算机程序产品。所述计算机程序产品有形地包含计算机可读非瞬时性指令。当实现所述计算机可读非瞬时性指令时,它们导致计算机执行一种用于优化无线通信网络中的内容传送的方法的步骤。根据所述方法,通过第一单播链路在所述网络节点处接收来自内容服务提供方的媒体流服务。使用第二单播链路将所述媒体流服务从所述网络节点传输到第一请求方设备。在所述网络节点处拦截来自第二请求方设备的对所述媒体流服务的请求。如果所述网络节点判定达到和/或超过多播优化阈值,则使用单个多播链路将所述媒体流服务从所述网络节点传输到所述第一请求方设备和所述第二请求方设备,而通过所述第一单播链路从所述内容服务提供方接收所述媒体流服务。
附图说明
附图用于进一步示出根据本发明的各种实施例并解释根据本发明的各种原理和优点,其中在各个图中相同的参考编号指相同或功能类似的元素,并且这些附图与下面的详细描述一起结合在本说明书中并构成本说明书的一部分,这些附图是:
图1是示出根据本发明的一个实施例的操作环境的框图;
图2是示出根据本发明的一个实施例的连接管理器的框图;
图3示出根据本发明的一个实施例的示例性超文本传输协议请求消息;
图4示出根据本发明的一个实施例的示例性超文本传输协议响应消息;
图5示出根据本发明的一个实施例的由图2的连接管理器维护的内容服务提供方信息;
图6示出根据本发明的一个实施例的由图2的连接管理器用于优化媒体流服务的传送的服务规则;
图7示出根据本发明的一个实施例的由图2的连接管理器维护的服务状态信息;
图8示出根据本发明的一个实施例的由图2的连接管理器维护的多播状态信息;
图9和10示出根据本发明的一个实施例的用于优化无线通信网络中的媒体流服务的传送的过程;
图11是示出根据本发明的一个实施例的无线通信网络中的媒体流服务的优化传送的操作流程图;
图12和13是示出根据本发明的另一个实施例的媒体流服务的优化传送的操作流程图;
图14是示出根据本发明的另一个实施例的媒体流服务的优化传送的操作流程图;以及
图15示出用于在本发明的各实施例中使用的信息处理系统。
具体实施方式
如下面描述的,本发明的各实施例经由针对每个服务定义的规则或策略,以可编程方式优化媒体流服务及其内容流的传送。这种优化后的传送通过使用来自服务提供方的单个单播链路的无线通信网络的空中接口,使用单个多播信道为请求设备提供媒体流服务及其内容。一个示例性实施例提供分离基本构件块以便提取在流中标识共性机会所需的功能、在需要时复制流,以及使用单播方法以透明、安全方式传送复制的流。此外,所述示例性实施例支持使用多个规则集合(每个支持的服务使用一个集合),在装置的单个实例中以并发方式调用、解释和执行这些集合。可以在外部网络节点/实体、操作人员或这两者的控制下,在运行时启用或禁用这些规则集合。这种启用和禁用将打开和关闭规则集合中的一个或多个功能。所述示例性实施例还允许采取以下形式的多租赁:代表独立的服务提供方和最终用户集合,从连接管理器的单个实例同时并且并发传送独立的内容流或服务。
图1示出根据本发明的一个实施例的操作环境100。操作环境100包括一个或多个无线通信网络102,它们以通信方式耦合到一个或多个有线网络104。为了简单起见,仅描述这些网络的与本发明实施例相关的各个部分。
有线网络104充当无线通信网络102的后端。在该实施例中,有线网络104包括无线通信网络102的一个或多个接入/核心网络以及一个或多个网际协议(IP)网络(例如因特网)。有线网络104以通信方式将一个或多个内容源/提供方(例如内容服务器(多个)106)耦合到无线通信网络102。在其他实施例中,后端不是有线网络。例如,在一个实施例中,后端是无线网络并且采取点到点后端网络的形式,例如用于双向发送和接收信号的定向微波网络。备选地,后端采取对等网络的形式,其中移动基站(例如,在GSM及其派生物的情况下,eNode B)本身用作其它基站的后端网络。
无线通信网络102支持任何无线通信标准,例如但不限于全球移动通信系统(GSM)、码分多址(CDMA)、时分多址(TDMA)、通用分组无线业务(GPRS)、频分多址(FDMA)、正交频分复用(OFDM)等。无线通信网络102包括一个或多个基于这些标准的网络。例如,在一个实施例中,无线通信网络102包括以下一个或多个:长期演进(LTE)网络、仅演进数据(EV-DO)网络、GPRS网络、通用移动电信系统(UMTS)网络等。
图1进一步示出一个或多个用户设备108-114以通信方式耦合到无线通信网络102。在该实施例中,用户设备108-114是无线通信设备,例如双向无线电、蜂窝电话、移动电话、智能电话、双向寻呼机、无线消息传送设备、膝上型计算机、平板计算机、台式计算机、个人数字助理和其它类似的设备。用户设备108-114使用在用户设备108-114与收发器节点115之间建立的一个或多个空中接口116,通过一个或多个收发器节点115接入无线通信网络102。
在另一个实施例中,一个或多个用户设备108-114经由有线网络和/或非蜂窝无线网络(例如但不限于无线保真(WiFi)网络)接入无线通信网络102。例如,用户设备108-114可以经由以通信方式将用户设备108-114耦合到无线通信网络102的有线和/或无线机构,以通信方式耦合到一个或多个网关设备。在该实施例中,这种网关设备(多个)经由有线和/或无线通信机构与无线通信网络102通信。
收发器节点115称为基站收发台(BTS)、节点B和/或演进节点B(eNode B),具体取决于在无线通信网络102中实现的技术。该示例性实施例涉及LTE网络,因此示出的收发器节点115是eNode B。本发明的其他实施例与诸如CDMA之类的其它无线通信技术一起使用。eNode B115以通信方式耦合到一个或多个天线和基站控制器(BSC)118,BSC 118管理和控制一个或多个eNode B 115。BSC 118可以包括在eNode B 115中或者与其分离。
用户设备108-114与无线通信网络102交互,以便将语音和数据通信发送到无线通信网络102/从无线通信网络102接收语音和数据通信。例如,用户设备108-114能够通过无线通信网络102,以无线方式从提供方(例如内容服务器106)请求和接收内容流服务。通过有线网络104,将被请求内容/服务传送到无线通信网络102。在该示例性实施例中,内容服务器106包括媒体内容120,例如可以为用户设备提供的音频、视频和文本。媒体内容可以是实时的或者预先存储的。实时媒体内容由内容服务提供方实时生成并且由内容服务器106捕获。内容服务器106将实时媒体内容提供给请求用户设备。实时媒体内容的实例是由各种内容服务提供方提供的体育事件、新闻事件等的视频和音频。
预先存储的媒体内容是如下内容:未实时生成而是在先前生成/创建,并且可以由用户设备在任何时间点访问。预先存储的媒体内容的实例是电影文件、音频文件等。在该实施例中,内容服务器托管预先存储的媒体内容并且被视为内容服务提供方,因为用户设备108-114直接从内容服务器106请求内容。但是,在另一个实施例中,其它服务器托管预先存储的媒体内容并且被视为内容服务提供方。内容服务提供方通过内容服务器106将其内容发送到用户设备108-114。
经由一个或多个媒体流服务(“服务”或“流服务”)将媒体内容120提供给用户设备108-114,这些流服务将一个或多个内容流提供给用户设备108-114。流指持续将数据从源设备(例如,内容服务器)传输到目标设备(例如,用户设备)的过程,其中目标设备在接收数据时处理该数据。例如,用户设备108能够在从内容服务器106接收视频文件的各个部分时查看这些部分,而不必首先存储整个视频文件。流服务的实例是用于为用户设备提供包括实时音频/视频的内容流的实时流服务、用于为用户设备提供包括预先存储的音频媒体内容的内容流的音频流服务,以及用于为用户设备提供包括预先存储的电影内容的内容流的电影流服务。
用户设备108通过无线通信网络102,将对特定媒体内容120、特定服务或这两者的请求发送到内容服务器106。例如,用户设备108可以将对特定电影的请求发送到内容服务器106,该特定电影要经由电影流服务流化到设备。作为另一个实例,用户设备108可以发送对音频流服务的请求,该音频流服务将媒体内容120中的各种音频内容项流化到设备。尽管针对最终用户设备请求的媒体流服务给出实例,但本发明的实施例还应用于最终用户设备请求的其它类型的数据内容。
可以用于将媒体内容120流化到用户设备108-114的一种机制是单播传输机制。单播传输机制通过内容服务器106与每个用户设备之间的单独逻辑点到点连接/链路,将媒体内容120的单独实例发送到每个请求用户设备108-114。为了通过空中接口116建立单播链路,分配移动频谱的单独信道并且将其用于接收流的每个用户设备108-114。当多个用户设备接收同一流时,这将引起效率低下。
该实施例的无线通信网络102包括用于使用一个或多个广播/多播传输机制传输被请求内容/服务的组件,这些传输机制例如但不限于多媒体广播多播服务(MBMS)和演进型多媒体广播多播服务(eMBMS)。如图1中所示,无线通信网络102包括MCE(多小区/多播协调实体)122、MME(移动管理实体)124、MBMS-GW(多媒体广播多播服务网关)126以及BM-SC(广播/多播服务中心)128。在单播传输期间,不使用这些多播组件(MCE 122、MME 124和BM-SC 128)。尽管这些多播组件特定于3GPP(3G合作伙伴计划)标准集合,但本发明的其他实施例使用类似或等效的组件/功能,这些组件/功能针对其它类型的移动网络(例如CDMA)或者针对其它类型的无线非蜂窝网络(例如Wi-Fi网络)存在。
MCE 122以通信方式耦合到MME 124和eNode B 115。在该实施例中,MCE 122位于eNode B 115的外部,但在其他实施例中,MCE 122在eNode B 115中实现。MCE 122负责协调多小区MBMS传输。具体地说,MCE 122分配时间和频率资源以进行多小区MBMS传输,并且在空中接口116处执行调度。MME 124以通信方式耦合到MCE 122和MBMS-GW 126。MME 124负责网络102中的分组-数据交换和移动性/会话管理。MBMS-GW 126以通信方式耦合到MME 124和BM-SC 128。除其他操作外,MBMS-GW 126充当入站广播/多播业务的入口点,并且将接收的分组广播到服务区域中的所有eNode B 115。BM-SC 128充当在无线通信网络102外部的广播/多播源(例如,诸如内容服务器106之类的内容提供方)的入口点。
在广播模式中,使用单向点到多点型传输将媒体内容120从内容服务器106提供给限定广播区域中的所有用户设备108-114。但是,在多播模式中,用户设备108订阅特定服务并且仅接收特定于该服务的内容。多播模式通过空中接口116,使用IP多播机制将被请求内容/服务从内容服务器106传送到订阅的用户设备。该操作在逻辑上类似于有线网络中的IP多播传送。在无线通信网络中使用多播传输机制的一个优点是通过在空中扩展多播,使用移动传送频谱的单个信道,代替用于单播传送方法的单独信道。因此,提高频谱利用率。
无线网络102中的常规多播通常需要在无线系统的接入/核心网络中使用IP多播,以便在内容服务器和用户设备之间实现端到端多播传输。这种常规IP多播具有各种缺点。例如,IP多播网络更可能具有网络安全问题,例如DoS(拒绝服务)攻击点,这是由于多播与单播网络相比的性质所致。IP多播还容易发生不可靠的数据传送(例如,不可修复的分组丢弃),这是由于其使用用户数据报协议(UDP)所致。使用IP多播(其为层3协议集合)的另一个问题是它如何映射到底层的层2局域网(LAN)元件。这种映射产生额外的DoS攻击机会,并且还可以导致局部网络上的分组泛滥,从而降低局部网络资源的有效使用。由于这些原因,许多组织限制在其网络中使用IP多播。
为了克服这些缺点,该示例性实施例在无线通信网络中包括一个或多个连接管理器,以便优化将内容流传送到多个用户设备108-114。通过以下操作执行这种优化:在连接管理器130与内容服务器106之间建立单个单播链路,并且使用到每个用户设备108-114的单独单播链路,通过空中接口116将被请求媒体流服务提供给多个用户设备108-114。通过以下操作提供进一步优化:通过空中接口116建立多播链路,而通过单个单播链路与内容服务器106通信。
连接管理器130位于无线通信网络102中,以便将来自多个请求方设备(请求方或客户机,例如用户设备108-114)和/或一个或多个其它连接管理器的内容服务请求通过内容管理器130透明地传输到内容服务器106。应该注意,连接管理器130并不限于位于无线通信网络102中。例如,在一个实施例中,连接管理器130位于上面讨论的网关设备(多个)中,这些网关设备经由有线和/或无线通信机构以通信方式将用户设备108-114耦合到无线通信网络102。在该实施例中,网关设备(多个)处的连接管理器(多个)130通过有线和/或无线多播链路将被请求服务提供给多个用户设备108-114,而通过无线通信网络102,借助单个无线和/或有线单播链路与内容服务器106通信。
此外,可以将连接管理器130战略性地放在网络中出现多个分支的任何点处。这提供以下能力:在针对冗余进行优化时提供多个网络分支。在一个实施例中,将连接管理器130布置在BSC 118中。在其他实施例中,将连接管理器130布置在eNode B 115本身中、MCE 122中,和/或eNodeB 115与有线网络104之间的无线通信网络的任何其它组件/节点中。
在某些实施例中,在无线通信网络中实现连接管理器的多个实例。在这些实施例中,连接管理器130的每个实例以透明方式与其它实例协作,以便针对内容流中的冗余进行优化。连接管理器130的每个实例独立操作,从而代表最终用户设备或下游连接管理器实例优化内容传送。配置连接管理器130以便在每个连接的基础上创建和启动独立的执行线程。独立操纵每个线程的状态,并且保护服务状态信息212中的公共共享对象,以便跨连接管理器130中的功能层202、204、206和208的整个栈实现安全共享。在其他实施例中,以非多线程方式(即,以单线程方式)实现连接管理器130,在这种情况下,不需要共享服务状态信息的安全保护,并且针对连接管理器130管理的多个连接使用调度技术的组合实现安全保护。
连接管理器130透明地拦截请求方设备向内容服务器106提交的对流服务的请求。连接管理器130分析来自不同实体的请求以便标识冗余请求(即,对来自同一内容服务提供方的相同流服务的请求)。连接管理器130使用与内容服务提供方及其服务关联的一个或多个规则集合,以便优化将服务及其内容传送到多个请求方设备。例如,当第一请求方发送对内容流服务的请求时,通过无线通信网络102和有线网络104,在连接管理器130与内容服务器106之间建立单个单播链路。当连接管理器130检测到后续请求方正在请求相同的内容流服务时,连接管理器130复制由该服务提供的已经通过该单播链路接收的内容流。
基于各种规则,连接管理器130通过空中接口116经由单独信道,或者通过空中接口116使用单个信道将被请求服务多播到多个请求方设备,来将被请求服务传输到每个请求方设备。因此,针对给定媒体流服务,在连接管理器130与内容服务器106之间仅建立单个单播链路。连接管理器130能够通过空中接口116,将通过单个单播链路接收的内容流服务传输到多个请求方设备。当使用多播将服务提供给多个请求方设备时,不需要在后端有线网络104上启用IP多播。连接管理器130通过空中接口116,使用一个或多个多播规则集合设置、使用、管理和最终清除请求方设备的多播组。多播规则集合与eNode B 115协作,控制和管理无线通信网络102的eMBMS(或等效)部分,例如MCE 122、MME 124和BM-SC 128。此外,连接管理器130设置和管理多播组以便将被请求服务传输到多个请求方设备。
图2示出根据本发明的一个实施例的连接管理器130。在该实施例中,连接管理器130包括透明代理模块202和一个或多个协议解析器204。图2还示出连接管理器130包括和/或以通信方式耦合到内容服务提供方信息210、包括多播信息的服务状态信息212,以及包括一个或多个规则216的规则库214。内容服务提供方信息210包括与每个内容服务提供方关联的信息,每个内容服务提供方注册到连接管理器130以便优化。服务状态信息212包括与连接管理器130优化的每个个体服务关联的信息,以及关联的多播组信息。规则库214包括编码为规则集合的规则216。在该实施例中,存在基本规则集合、服务规则集合和多播服务规则集合。
基本规则集合是不特定于任何流服务或内容服务提供方的默认规则。当首次接收通信时和/或当确定不执行优化时,将基本规则应用于通信。服务规则集合包括以下规则:这些规则特定于给定流服务和/或内容服务提供方,并且由连接管理器130用于优化将流服务及其内容流传送到多个用户设备。用于给定服务(或内容服务提供方)的服务规则集合包括用于从请求方设备接收的请求的服务规则,以及用于从内容服务提供方接收的响应的服务规则。
多播规则集合用于通过空中接口116,设置、使用、管理和最终清除请求方的多播组。多播规则集合可以与单个服务、服务的内容流关联,或者可以全局应用于针对优化而注册的所有服务。多播规则集合被配置为包括连接管理器130执行的操作,当请求方加入接收已经由连接管理器130优化的内容流服务时,触发这些操作。触发操作的一个实例是标识跨越一个或多个阈值条件,这些阈值条件可以包括在多播规则或基本规则中以实现多播优化。阈值的实例是接收内容流服务的客户机数量大于预定义或可编程的参数值,以及频谱信道资源限制大于预定义或可编程的参数值。
在该实施例中,当达到阈值时,规则在移动通信网络102的空中接口116中触发以下示例性操作:1)命令MCE 122针对考虑中的内容流的多播设置和分配无线电信道,2)在eNode B 115处创建新多播组,3)开始将内容流多播传输到多播组,同时仍使用单播传输机制与服务起源处的实际内容服务器通信,4)命令请求方设备加入多播组,5)清除(例如,禁用/断开)预先存在的与客户机的单播连接,这些连接在使用中直到通过空中接口创建多播组并且使用多播传送内容流,以及6)保留并且使用到内容服务器106的单播连接。
每个规则集合216专用于优化流服务及其内容流(包括实时或预先存储的媒体内容120)的传送。每个规则集合216是独立于连接管理器130的其余部分的实体,并且可以在运行时、编译时或者这两个时间内被解释、编译、内置或插入。连接管理器130提供完全的灵活性以便容纳所有形式和类型的规则规范以优化各种服务。每个规则集合216包括入口点方法,当协议解析器204在请求和响应流中检测到匹配模式或事件时,调用这些方法。例如,当请求方设备发出HTTP(超文本传输协议)请求时,执行检查“Host:”字段内容的规则。该规则检查出现诸如存在某一主机名(例如,Srvc_Prvdr_1.com)之类的条件。
当出现匹配时,核心模块208基于规则集合(多个)216采取操作,这些操作创建、操纵、改变或删除服务状态信息212。核心模块208负责维护和管理每个客户机连接的状态、客户机和服务器的角色、代表客户机保存在系统中的内容缓冲区,以及对这些元件的每一个的状态更新。尽管核心模块208执行的这些操作由执行规则引起,但核心模块208的元件本身独立于优化特定服务的规则。
规则集合216在连接管理器130的外部,并且在连接管理器130的外部创建。因此,规则集合216描述逻辑,连接管理器130可以通过该逻辑以与服务无关的方式利用被请求服务及其内容流中的冗余。规则集合216可以以各种方式编码,例如以高级程序设计语言(例如,C、C++、Java)或者以解释语言(例如,JavaScript、Python)编码。规则引擎206提供统一接口以便包括各种方法所指定的规则集合126,并且允许对服务状态信息212进行与服务无关的操纵。
此外,可以使用外部管理实体(例如网络管理器)提供规则集合。在该实施例中,将连接管理器130的一个实例安装在传送网络104中,而在规则库214中没有任何规则集合。然后,在运行时,基于网络运营商和/或运营商的客户/顾客的业务或其它需要,将一个或多个规则集合下载到该实例中。此外,以类似的方式,可以部分或全部修改已经下载并且安装在连接管理器130的一个实例中的一个或多个规则集合。该实施例使运营商能够启用或禁用流服务的优化并且按需优化带宽。
可以以分层方式设计规则集合。例如,流服务可以包括解决服务协议的应用层需要的高级规则。当该应用层协议使用标准的较低级别协议时,可以将较低级别协议的规则指定为低级别规则集合,以便由高级别规则集合调用。因此,分层服务组合是可能的,以便能够优化这些复杂服务流。该特性的一个实例是使用低级别RTMP(实时多媒体协议)传送实时视频流的实时因特网电视流服务。
透明代理模块202透明地拦截请求方设备与内容服务器106之间的通信(即,诸如请求和响应之类的消息)。可以在开放系统互连(OSI)网络模型的层2(链路级别)、层3(分组级别)或层4(传输级别)以及以上的层处拦截通信。在该示例性实施例中,代理模块202监视从请求方设备到内容服务器106的因特网协议连接请求。图3和4示出在一个实施例中由代理模块拦截的示例性通信。具体地说,图3示出从用户设备108接收的HTTP请求300,图4示出从内容服务器106接收的对应HTTP响应消息400。图3和4中所示的请求300和响应400仅包括完整请求和响应的易于理解的各个部分。应该注意,本发明的实施例并不限于HTTP协议,并且同样适用于其它链路层、网络层或应用层协议。
图3中所示的HTTP请求消息包括请求行302和标头部分304。诸如空白行和消息正文之类的其它组成部分未在图3中示出。请求行302包括方法标记306(“GET”)、请求统一资源标识符308(“//srvc_prvdr_1.com/Service1/Flow1”),以及标识使用的HTTP版本的标识符310(“HTTP/1.1”)。方法标记306标识要针对请求统一资源标识符(URI)308标识的资源执行的方法。请求URI 308标识针对其应用请求的资源。
标头部分304包括有关请求300和用户设备108本身的其它信息。示例性请求300在标头部分304中包括“Host:”字段312,该字段标识提供被请求资源(例如,服务)的服务器的域名。换句话说,“Host:”字段312标识与请求300关联的内容服务提供方(“srvc_prvdr_1.com”)。标头部分304下的另一个字段是“Cookie:”字段314,该字段包括来自与用户设备108和内容服务提供方关联的cookie的状态信息。状态信息包括会话标识符(“SessionID”)、认证信息、用户偏好等。
用户设备108可以提交不同类型的请求,具体取决于请求流服务是“拉动”还是“推送”服务。“拉动”服务需要用户设备在设备需要内容时提交内容请求。因此,设备针对“拉动”服务发送内容请求和非内容请求。非内容请求标识被请求服务、被请求内容流等。“推送”服务将内容发送到用户设备而不需要设备不断请求内容。因此,针对“推送”服务,设备仅需要发送与服务提供方建立连接的请求。
图4示出图3的HTTP请求消息300的对应HTTP响应消息400。图4中所示的HTTP响应消息400包括响应状态行402和标头部分404。诸如空白行和消息正文之类的其它组成部分未在图4中示出。响应状态行402包括协议版本“HTTP/1.1”,后跟数字状态代码(“200”)及其关联的文本短语(“OK”)。响应的标头部分404允许托管被请求资源的服务器传递有关响应400的其它信息,这些其它信息不能放在响应状态行中。标头部分中的这些标头字段提供有关服务器以及有关进一步访问请求URI所标识的资源的信息。有关HTTP请求和响应消息的更详细讨论在W3C网络工作组的请求评论2616“Hypertext Transfer Protocol--HTTP/1.1(超文本传输协议--HTTP/1.1,1999年6月)”(在此全部引入作为参考)中提供。
再次参考图2,代理模块202被配置为标识在每个被拦截消息中使用的通信协议的类型。例如,代理模块202可以判定消息是否使用HTTP、HTTPS(HTTP安全协议)、RTMP(实时多媒体协议)等。代理模块202基于以下各项标识协议类型:传输消息所用的通信端口、与消息比较的每个协议的模板,或者消息中的信息。标识与消息关联的协议之后,代理模块202能够经由编程接口调用适当的协议解析器204以便解释消息。
在该实施例中,连接管理器130包括多个解析器204,每个相关通信协议(例如,HTTP、HTTPS、RTMP等)使用一个解析器。每个解析器204被配置为分别处理请求消息和响应消息。此外,每个解析器204被配置为分别处理每个连接的状态,以便可以获得任务级别并发性的最大优势。解析器204经由编程接口调用规则引擎206,以便处理解析器204在响应/请求消息中标识的信息。编程接口针对解析的每个协议的请求和响应消息,在每个入口点上提供执行点。
在每次调用规则引擎206期间,基于在规则集合216中枚举的特定行为操作以及条件匹配,执行一个或多个规则。代表用户设备实现规则的执行,并且规则的执行可以独立于其它用户设备,或者可以依赖于其它用户设备的操作和结果。规则引擎206执行实施和遵循所有这些依赖性的任务。
规则引擎206使用解析器204从接收的消息获得信息。在规则库214的基本规则和/或服务规则中标识解析器204获得的信息。如上面讨论的,基本规则不特定于任何内容服务提供方而是默认规则,当首次接收消息时和/或当确定不执行优化时,将基本规则应用于消息。当首先接收诸如请求或响应之类的消息时,规则引擎206应用以下基本规则:该基本规则指示要解析消息的哪些部分以便标识与其关联的内容服务提供方和/或服务。例如,基本规则可以指示解析器204要获得来自HTTP请求中的“Host:”字段的信息。使用图3中所示的请求消息300,解析器204标识请求300中的“Host:”字段312并且获得字段的值,其为“Srvc_Prvdr_1.com”。连接管理器130使用该信息判定是否要执行优化以便传送关联的内容流及其内容。
在该实施例中,规则引擎206通过判定从请求消息300解析的信息是否满足规则库214中的任何服务规则的任何条件,判定是否要针对被请求服务执行优化。例如,服务规则可以包括诸如“(request.header[host].contains(“Srvc_Prvdr_1.com”)”之类的条件。该条件指示请求消息300的标头中的“Host:”字段312需要包括“Srvc_Prvdr_1.com”的值,以便启动连接管理器130提供的一个或多个优化。换句话说,“Host:”字段312需要标识给定内容服务提供方,例如“Srvc_Prvdr_1.com”。因此,规则引擎206将从图3中所示的请求消息300获得的“Srvc_Prvdr_1.com”的“Host:”字段值与上面的条件需要的值相比较。在该实例中,规则引擎206确定从请求消息300获得的“Srvc_Prvdr_1.com”的“Host:”字段值满足上面的条件。因此,规则引擎206确定包括满足的条件的服务规则(多个)与内容服务提供方Srvc_Prvdr_1.com关联,并且要用于优化被请求服务的内容流传送。
对代理模块202拦截的响应消息400应用类似的过程。例如,当接收来自内容服务器106的响应消息400时,代理模块202标识与响应消息400关联的协议。按照一个或多个基本规则和/或服务规则的指示,调用解析器204以便从消息400获得信息。基于这些规则和消息400中的信息,规则引擎206确定与响应400关联的内容服务提供方、在响应400中提供的服务(和/或内容)等。
服务规则还可以包括与被请求服务关联的条件。例如,内容服务提供方可以提供多个媒体服务,例如视频流服务和音频流服务。这些服务的每一个可以提供多个唯一内容流,例如不同的实时视频信道或不同的音频台。在该实施例中,内容服务提供方可能仅想要针对其视频流服务(或者针对特定内容流)执行优化。因此,与该内容服务提供方关联的服务规则可以指示除了请求300的“Host:”字段312包括给定值之外,消息300的请求行302中的请求URI还需要包括给定值。例如,服务规则可以包括诸如“(request.uri.contains(“Service1/”)”之类的条件,其中“请求URI”标识服务提供方提供的针对其执行优化的服务。
规则引擎206执行比较过程以便判定从请求消息300中的请求URI解析的信息是否满足上面的条件。规则引擎206确定满足服务规则的所有条件之后,核心模块208可以启动优化。如果请求/响应消息不满足关联的服务规则的一个或多个条件,则检查基本规则以便确定要采取什么操作。在该实施例中,将请求/响应传递到内容服务器106或用户设备108而不执行任何优化操作。连接管理器130与内容服务器106之间的单播链路以及空中接口116用于为每个请求方设备提供被请求流服务的单独实例。
在另一个实施例中,不需要规则引擎206在服务规则中的所有条件中搜索,以便判定给定服务规则是否应用于与被拦截消息关联的内容服务提供方。例如,当代理模块202接收消息时,基本规则可以指示规则引擎206分析内容服务提供方信息210,以便判定与接收的消息关联的内容服务提供方是否注册到连接管理器130以实现优化。图5示出内容服务提供方信息210的一个实例。具体地说,图5示出包括多个内容服务提供方的信息集合的表500,这些内容服务提供方注册到连接管理器130以便优化。本发明的各实施例并不限于图5中所示的信息或列(例如,可以在表中添加或删除一个或多个列)。此外,各实施例并不限于针对该信息使用表格式,并且可以使用任何其它标准格式布置该信息。
在图5中所示的实例中,表的每行与单个内容服务提供方关联,但其它组织格式同样适用。如图所示,表具有标题为“服务提供方ID”的第一列502。该列502包括项504,项504包括与注册到连接管理器130的每个内容服务提供方关联的唯一标识符(ID)。该ID允许连接管理器130将内容服务提供方彼此区分开,并且还定位与内容服务提供方关联的信息。
标题为“服务提供方名称”的第二列506包括项508,项508标识给定内容服务提供方的名称。标题为“服务提供方URL”的第三列510包括项512,项512标识与给定内容服务提供方关联的统一资源定位(URL)。标题为“规则集合ID”的第四列514包括项516,项516具有与给定内容服务提供方关联的每个服务规则集合216的唯一标识符。标题为“优化状态”的第五列518包括项520,项520指示连接管理器是否针对给定内容服务提供方执行优化。内容服务提供方可以动态启用或禁用连接管理器提供的优化。如果内容服务提供方未被配置为动态启用或禁用优化,则该列518下的项522指示执行此操作。
如上面讨论的,规则引擎206通过分析内容服务提供方信息500,判定与接收的消息关联的内容服务提供方是否注册到连接管理器130。例如,规则引擎206可以将从图3中所示的请求消息300的“Host:”字段312解析的内容服务提供方标识符“Srvc_Prvdr_1.com”与图5中所示的内容服务信息相比较。如果内容服务提供方标识符“Srvc_Prvdr_1.com”与内容服务提供方标识符500中的项匹配,则规则引擎确定内容服务提供方“Srvc_Prvdr_1.com”注册到连接管理器130以便优化。在该实施例中,规则引擎206进一步分析“优化状态”列518以便判定针对给定内容服务提供方启用还是禁用优化。在当前实例中,启用Srvc_Prvdr_1.com的优化。连接管理器130还判定将优化全局应用于服务提供方提供的所有服务还是由此提供的特定服务(和/或服务的特定内容流)。例如,列可以用于列出要针对其应用优化的特定服务或内容,例如Service1。该列还可以包括以下项:这些项指示要将优化应用于服务提供方提供的所有内容/服务。
如果规则引擎206确定不针对与接收的消息关联的媒体流服务执行内容传送优化,则将消息传递到内容服务器106或请求方设备而不执行任何优化操作。连接管理器130与内容服务器106之间的单播链路以及空中接口116用于为每个请求设备提供被请求流服务的单独实例。规则引擎206通过以下操作确定不执行内容传送优化:未能标识与接收的消息关联的服务提供方的内容服务提供方信息中的项、确定针对内容服务提供方禁用优化,或者确定未针对被请求服务指定优化。
当规则引擎206基于内容服务提供方信息210确定要针对给定服务执行内容传送优化时,规则引擎206标识规则库214中与被请求服务关联的服务规则和多播规则集合。在该实施例中,规则引擎206分析图5中所示的内容服务提供方信息500,并且标识与内容服务提供方或给定消息的提供方的被请求服务关联的规则集合ID。规则引擎206使用该ID从规则库214获得对应的服务规则集合和多播规则集合。在该实施例中,单个服务规则和/或多播规则可以与内容服务提供方提供的多个服务关联。执行类似的过程以便标识与从内容服务器106接收的响应消息400关联的规则。
服务规则与核心模块208交互以便启动和执行优化,以及维护与被优化的服务关联的服务状态信息212。如果请求/响应消息不满足关联的服务规则的一个或多个条件,则检查基本规则以便确定要采取什么操作。在该实施例中,将请求/响应传递到内容服务器106或请求方设备而不执行任何优化操作。
图6示出内容服务提供方Srvc_Prvdr_1提供的Service1的示例性请求消息服务规则600。响应消息的服务规则集合中包括类似的服务规则。如上面讨论的,核心模块208使用服务规则维护提供给用户设备的给定服务的服务状态信息212,并且还优化该服务的内容流传送。服务规则600包括要在应用规则之前满足的一个或多个条件602。在其中使用内容服务提供方信息210的一个实施例中,任何不包括在内容服务提供方信息210中的条件可以包括在服务规则600中。此外,诸如优化状态518之类的信息同样可以包括在服务规则600中。
服务规则600还包括参数部分604和操作部分606。参数部分604标识核心模块208从接收的消息300获得哪些参数。在图6的该实例中,服务规则600指示核心模块208从请求消息300获得会话参数608和流名称参数610。服务规则600还指示核心模块208如何以及在何处获得这些参数608和610。例如,服务规则600指示使用以下方法从请求300的标头部分304中的“Cookie:”字段314获得会话参数608:cookie.substring.session.getname()。在该实例中,核心模块208从图3中所示的“Cookie:”字段314获得“SessionID1”。服务规则600还指示使用以下方法从消息300的请求行302中的URI 308获得流名称参数610:request.uri.substring.flow.getname()。在该实例中,核心模块208从图3中所示的URI 308获得“Flow1”。流是服务提供的唯一内容流。参数部分604还可以标识核心模块208要获得的其它参数。
操作部分606标识核心模块208要针对服务状态信息212执行的各种操作,核心模块208使用服务状态信息212优化将服务的内容流传送到多个用户设备。例如,图6示出核心模块208使用方法cm_core.create.flow(flowname)612针对状态信息212创建流对象,其中“flowname”是核心模块208从消息300获得的流名称参数610。操作部分606还指示核心模块208使用方法cm_core.flow_add_session(flowname,session)614将会话添加到状态信息212,其中“session”是核心模块208从消息300获得的会话参数608。操作部分606进一步指示核心模块208使用方法cm_core.flow_set_session_role()616为与请求关联的请求方设备分配角色(例如,主要或辅助)。还可以在服务规则600中包括其它操作。
核心模块208使用参数和操作来创建、更新和维护核心模块208用于执行内容流传送优化的服务状态信息212。服务状态信息212包括多个对象或数据结构,例如队列、表、列表等,它们表示基于冗余优化的个体服务。图7示出核心模块208基于图6的服务规则600创建的服务状态信息700的一个实例。服务状态信息700包括当接收对服务的第一请求并且针对该服务执行优化时,核心模块208创建的服务对象702。然后当接收与服务关联的其它请求和响应时,更新服务的服务对象(包括任何相关对象)。
例如,当代理模块202从请求方设备接收对根据优化注册的给定服务的第一请求(或请求/响应对)时,核心模块208创建服务对象702,如图7中所示。在该实例中,被请求服务是“Service1”,例如实时视频服务、音频流服务或电影流服务。服务对象702表示针对冗余优化的个体服务(例如,Service1)。通过与服务关联的唯一ID字符串(例如唯一标识符704)标识服务对象702。在图7中所示的实例中,该唯一标识符是“Service1”,其可以从请求300或关联的服务规则600获得。
服务与多个会话关联,接收/请求服务的每个请求方设备(即,下游客户机)使用一个会话。服务还与一个或多个流关联,这些流是服务提供的可由一个或多个用户设备使用的唯一内容流。服务还与在内容流中提供服务的内容服务提供方(即,上游服务器)关联。因此,连接核心模块208使用在服务规则600中标识的操作,针对这些实体的每一个创建对象。例如,图7示出服务对象702包括上游服务器对象706、流对象708、会话对象710和下游客户机(请求方)对象712。这些对象可以包括在服务对象本身中,或者可以链接到服务对象。
上游服务器对象706表示提供服务对象702表示的服务的内容服务提供方(服务器)的状态。上游服务器对象706中的信息唯一地标识内容服务提供方。例如,图7示出上游服务器对象706包括标识内容服务提供方Srvc_Prvdr_1.com的项714以及包括Srvc_Prvdr_1.com的网际协议(IP)地址的另一个项716。上游服务器对象706还可以包括与去往/来自服务提供方的连接关联的端口号。在该实施例中,当代理模块从内容服务提供方接收响应时(或者当从请求方设备接收请求时),核心模块创建上游服务器对象706。
流对象708表示由一个或多个客户机使用的服务的唯一内容流。当会话采取操作(多个)以有利于内容流时,核心模块208使用服务规则600创建(或更新)流对象708。例如,服务规则600包括要由核心模块执行以便创建流对象的方法612,如上面讨论的那样。基于图3中所示的请求和图6中所示的规则600,核心模块208创建流对象708,流对象708具有从请求300获得的流名称“Flow1”,其唯一地标识该流。服务对象702表示的服务可以提供多个唯一内容流。例如,实时视频服务可以提供多个实时视频信道,其中每个信道是唯一内容流。用户设备可以在请求消息中指定服务的给定流(例如,“//srvc_prvdr_1.com/Service1/Flow1”或“srvc_prvdr_1.com/Service1/FlowN”)。因此,针对请求方设备使用/接收的服务的每个唯一内容流,创建单独项(或流对象)。可以创建每个流的单个流对象708,或者可以创建全局流对象,其包括用于每个流的项(或对象)。
会话对象710表示信息交换,请求方设备在该期间接收被请求服务提供的内容流。当请求方设备请求服务(针对其打开特定于该服务的会话)时,核心模块208使用服务规则600创建(或更新)会话对象710。例如,服务规则600包括要由核心模块208执行以便针对给定流添加会话对象的方法614,如上面讨论的那样。基于图3中所示的请求300,核心模块208在流对象708中创建项722(或单独会话对象),项722具有从请求300获得的会话ID名称“SessionID1”。会话ID名称唯一地标识与请求服务的请求方设备关联的会话。因为该会话与流“Flow1”关联,所以核心模块(按照箭头指示)将该会话对象项722链接到Flow1的流对象项718。可以使用诸如指针之类的任何链接机制将这两个对象项链接在一起。多个请求方设备可以请求同一服务,并且核心模块208针对请求服务的每个请求方设备创建单独会话对象项。例如,图7示出将其它项724和726添加到会话对象710。可以创建每个会话的单个会话对象710,或者可以创建全局会话对象710,其包括用于每个会话的项(或对象)。
下游客户机对象712表示服务对象702所表示的服务的由连接管理器130管理的每个请求方的状态。例如,图7示出下游客户机对象712包括标识END_USER_DEVICE1(EUD1)的项728以及包括EUD1的网际协议(IP)地址的另一个项730。下游客户机对象712还可以包括与去往/来自请求方设备的连接关联的端口号。下游客户机对象712中的信息唯一地标识请求方。下游客户机对象712还包括角色项732,其指示针对给定内容流的请求方的角色。
在该实施例中,用于请求给定服务的第一请求方设备称为主要客户机。请求同一服务的每个后续请求方设备称为辅助客户机。可以创建每个请求方设备的单个下游客户机对象712,或者可以创建全局下游客户机对象712,其包括用于每个请求方设备的项(或对象)。当进行内容流的传送时,可能发生任意事件(例如,主要客户机或辅助客户机可能退出)。此外,任一类型的请求方可以请求对另一个内容流的更改,或者可以请求全新服务。可以以自动并且透明的方式,经由服务规则管理这些事件中的任何和全部事件。
在任何给定实例中,多个服务对象可以是活跃的,多个客户机对象可以是活跃的,多个下游客户机对象和上游服务器对象可以是活跃的,它们全部参与并且协调内容流的传送优化。多个服务对象的同时、并发操作称为多租赁。这允许使用公共连接管理器元件优化内容传送的不同服务。
除了服务状态信息212之外,核心模块208还维护与多播规则集合的条件/阈值关联的信息,如图8中所示。该信息可以作为服务状态信息212中的对象维护,或者可以独立于服务状态信息212存储。在一个实施例中,核心模块208维护接收/请求对象(Rx对象)802,其包括当前接收或请求与服务对象702关联的服务的每个请求方设备的计数。还可以捕获其它服务度量,例如用于给定服务的无线电信道。核心模块208还将频谱信道资源信息作为资源对象804维护,资源对象804包括与指示频谱信道资源的当前状态的各种度量关联的项。在资源对象804中维护的资源信息和/或度量的某些实例包括(但不限于):(1)同时用于传送服务的信道数量,(2)跨空中接口支持的地理区域服务于请求方设备的单播连接数量,(3)到服务的请求方设备的传送数据速率,以及(4)取决于时间的在服务传送中使用的频谱资源的份额。规则引擎206使用该信息确定何时满足在给定多播规则集合中指示的多播优化条件/阈值。如上面解释的,所述条件/阈值触发核心模块208执行一个或多个操作,以便使用一个或多个多播链路通过空中接口116提供内容服务流。
在一个示例性实施例中,多播规则集合指示当给定数量的请求方设备接收和/或请求给定媒体流服务时,或者当频谱信道资源可用性低于给定量时,核心模块208使用多播链路传输服务。但是,应该注意,在另一个实施例中,服务规则可指示使用多播链路将给定服务自动传送到请求方设备,而不考虑条件和/或阈值。规则管理器206分析图8中所示的信息,以便判定是否出现这些多播条件中的任何一个。如果出现多播条件或者达到或超过多播阈值,则核心模块208按照多播规则集合的指示执行一个或多个操作。在该实施例中,核心模块208将一个或多个指令/命令发送到MCE 122,以便建立和分配用于将给定服务多播到请求方设备的一个或多个无线电信道。
分配之后,MCE 122将与信道(多个)关联的信息(例如信道ID)发送到连接管理器130。核心模块208然后将该信道分配给给定服务的多播组。在该实施例中,核心模块208指示eNode B 115针对给定服务创建新多播组。使用诸如因特网组消息协议(IGMP)之类的协议,针对给定服务创建多播组。核心模块208将信道信息和多播组信息作为与服务关联的多播对象存储,如图8中所示。更具体地说,核心模块208创建多播对象806,其链接到给定服务的服务对象702。该对象806可以是服务状态信息212的一部分或者与服务状态信息212分离。在图8中,Service1的多播对象标识分配给Service1的多播组MCG_1以及针对MCG_1建立的信道CH_1。
核心模块208分析服务状态信息212以便标识接收(或请求)给定服务(或服务的特定流)的每个请求方设备,并且指示这些请求方设备的每一个加入与服务关联的多播组。该消息包括与流服务关联的信道ID和多播组ID(例如,多播组地址)。在该实施例中,核心模块208通过空中接口116将订阅公告传输到当前通过单播连接接收或请求流服务的每个请求方设备。该公告向这些请求方设备的每一个通知即将到来的流服务的多播服务。该消息包括与多播组关联的信道、IP多播地址、会话属性等。请求方设备经由空中接口116将加入消息发送到连接管理器130,指示它们愿意加入多播组。核心模块208添加或更新多播客户机对象808,其标识参加多播组的每个请求方,如图8中所示。
核心模块208使用分配的信道,通过空中接口116将多播组中的请求方设备从单播链路转换为单个多播链路。连接管理器130还清除与请求方设备的所有先前单播链路。如果接收对服务的新请求,则核心模块208将新请求方添加到多播组。将新请求方设备添加到多播组时以及在当前请求方设备离开组时,核心模块208更新服务状态信息212(例如下游客户机对象、Rx对象、资源对象等)以及多播信息806和808。在一个实施例中,如果响应于请求方设备不再接收内容流而不再满足多播规则的条件和/或阈值,则核心模块208通过空中接口116重新建立与每个剩余请求方的单播链路(即,单独信道),以及与每个请求方的内容服务器106的单个(或多个)单播链路。核心模块208相应地更新服务状态信息212以及多播信息806和808。
图9是示出根据本发明的一个实施例的连接管理器130对被请求服务的内容流进行的第一优化的事务图。在T1,连接管理器130通过空中接口116,从第一请求方设备108(EUD1)接收对服务Service1的第一请求。该请求的实例在图3中示出。在T2,连接管理器130标识与请求关联的通信协议。在该实例中,连接管理器130确定请求消息是HTTP请求消息。在T3,连接管理器130基于一个或多个基本规则解析请求消息,以便判定是否优化被请求内容的传送。例如,连接管理器130解析请求消息以便标识与其关联的被请求流服务和/或内容服务提供方。连接管理器130然后判定是否注册媒体流服务和/或内容服务提供方以便优化。
在该实例中,连接管理器130确定针对传送被请求服务提供的内容流(多个)执行优化。在T4,连接管理器130分析图7的服务状态信息700,以便判定是否针对被请求服务Service1已经存在服务对象。在T5,连接管理器130确定针对Service1不存在服务对象,并且继续进行以便创建新服务对象702。因为针对Service1先前不存在服务对象,所以连接管理器130确定这是对Service1的第一请求。
连接管理器130还创建流对象708、会话对象710、下游客户机对象712,并且可选地创建上游服务器对象706及其对应的信息,如上面解释的那样。例如,图7示出EUD1是主要客户机,因为它是请求Service1的第一设备。图7还示出EUD1与会话Session1关联,建立会话Session1以便接收Service1的Flow1。在T6,连接管理器130将请求消息传递到内容服务器106。在T7,内容服务器106处理请求并且通过单播链路将响应发送回EUD1,连接管理器130拦截该响应。
在时间T2、T3、T4和T5,连接管理器130针对响应消息执行类似的操作。例如,连接管理器130分析响应消息以便标识其协议。然后,基于所标识的协议,连接管理器130针对该协议执行特定的解析操作,以便标识一个或多个基本规则和/或服务规则所需的响应消息中的信息。在一个实施例中,连接管理器130使用从响应消息获得的信息和规则,以便在服务状态信息700中标识关联的服务对象702,并且针对内容服务提供方创建上游服务器对象706(如果尚未创建)。图7示出针对服务提供方Srvc_Prvdr_1.com创建上游服务器对象706,其标识与内容服务器106传送的服务关联的服务提供方以及服务提供方的IP地址。当从请求方设备EUD1接收请求消息时,也可以创建上游服务器对象706(或上游服务器对象的一部分)。
基于从响应消息获得的信息和关联的规则,连接管理器130确定响应与Service1的Flow1关联,并且分析服务状态信息700。基于状态信息700,连接管理器130确定EUD1当前是请求Service1的Flow1的唯一客户机。在T8,连接管理器130通过空中接口116,使用单播链路将内容流Flow1从Service1发送到EUD1。连接管理器130还在内容流队列中捕获Flow1。在T10,连接管理器130通过空中接口116从第二用户设备110(EUD2)接收对Service1的第二请求。连接管理器130针对该请求执行类似的操作。具体地说,连接管理器130确定EUD2请求接收Service1的Flow1。连接管理器130还确定针对Service1已经存在服务对象。因此,连接管理器130针对EUD2创建/添加下游客户机对象项730和会话对象项724。因为针对Flow1已经存在流对象项718,所以连接管理器130将Flow1对象项718链接到与EUD2关联的会话对象项724,如图7中的箭头所示。
基于从EUD2接收的请求解析的信息、基本规则、服务规则和状态信息700,连接管理器130进一步确定从EUD2接收的请求是冗余请求。换句话说,连接管理器130确定至少一个其它请求方设备EUD1当前接收EUD2请求的Service1的内容流Flow1。连接管理器130在与EUD2关联的下游客户机对象项730中为EUD2分配辅助角色,并且优化Flow1到EUD2的传送。在该实例中,在T11,连接管理器130针对EUD1复制从内容服务器106接收的Service1的内容流Flow1。如果在内容流队列中维护Flow1,则连接管理器130可以在本地从内容队列复制Flow1。然后在T12,连接管理器130通过空中接口116,使用另一个单播链路将此复制的内容流发送到EUD2。此优化防止将来自EUD2的请求传递到内容服务器106,这将生成与EUD2的单独链路。因此,内容服务器106仅需要建立单个链路/连接,以便将Flow1传送到多个用户。这节省内容服务器106与空中接口116之间的计算和带宽资源,同时仍在请求方设备处提供满意的用户体验。
图9还示出在T13,连接管理器130通过空中接口116,从第三请求方设备112(EUD3)接收第三请求。在该实例中,EUD3从Service1请求FlowN。连接管理器130针对该请求执行类似的操作。具体地说,连接管理器130确定EUD3与EUD1和EUD2请求相同的服务,但还从Service1请求不同的内容流FlowN。因此,因为针对Service1已经存在服务对象702,所以连接管理器针对EUD3在状态信息700中添加适当的对象项。连接管理器130为EUD3分配主要角色,因为它是请求Service1的FlowN的第一客户机,如图7中的EUD3的下游客户机对象项734中所示。因为连接管理器130确定这不是冗余请求,所以在T14,连接管理器将请求传递到内容服务器106。在T15,内容服务器106处理请求,并且使用单播链路将响应发送到EUD3,连接管理器130拦截该响应。基于状态信息700,连接管理器130确定EUD3当前是请求Service1的FlowN的唯一客户机。在T16,连接管理器130通过空中接口116,使用单播链路将内容流FlowN从Service1发送到EUD3。
图10是示出根据本发明的一个实施例的连接管理器130进行传送媒体流服务的第二优化的事务图。图10示出出现图9中的事务之后的时间点,以及连接管理器130拦截通过空中接口116来自第四请求方(EUD3)的对Service1的第三请求。尽管出于示例目的示出组合,但在图10的优化过程之前,不需要执行图9中所示的优化过程。如果不执行图9的优化过程,则在请求方设备与连接管理器之间存在单独单播链路时,执行图10的优化。
在此示例性实施例中,在请求方设备与连接管理器130之间存在单独单播链路时,执行图10的优化。在该过程中,连接管理器130针对从EUD3接收的第三请求,执行类似于在图9的时间T2、T3、T4和T5执行的操作。连接管理器130进一步分析与Service1关联的一个或多个多播规则集合,并且确定达到(或超过)多播阈值。在该实例中,连接管理器130确定接收/请求Service1的Flow1的设备数量超过给定阈值。然后在T17,连接管理器130使用单个多播信道1002将Flow1传输到每个请求方EUD1、EUD2和EUD3,如图10中所示。连接管理器130清除(即,断开)请求方设备EUD1、EUD2和EUD3之间的所有单播链路。在该实施例中,作为图9的优化过程的结果,针对Service1在连接管理器130与内容服务器106之间已经存在单个单播链路1004。因此,在图10中,使用内容服务器106与连接管理器130之间的单个单播链路1004,以及请求方设备与连接管理器130之间通过空中接口116的单个多播链路1002,将媒体流服务从内容服务器106传输到多个请求方设备。
应该注意,除了无线通信网络之外,本发明的实施例还适用于全有线(或至少非蜂窝)网络。例如,上面针对图9讨论的优化过程允许在(但不限于)有线局域网(LAN)中执行多播操作。在该实例中,多个主机连接到同一LAN,启用该LAN以实现IP多播。连接管理器130位于网络的另一个节点中,并且以通信方式耦合到该LAN。连接管理器130使用图9的优化过程,利用IP多播链路将被请求服务提供给LAN的主机。
图11是示出根据本发明的一个实施例的使用通过空中接口的多播以及利用内容服务器的单播,在无线通信网络中优化媒体流服务的传送的操作流程图。在步骤1102,连接管理器130通过空中接口116接收/拦截对给定服务的请求。在步骤1104,连接管理器130分析基本规则。在步骤1106和1108,连接管理器130分别启动/执行服务基本规则和多播优化基本规则。
连接管理器130将基本规则和服务规则集合应用于请求方设备请求的每个服务,并且控制流向图13的入口点A。在步骤1110,基于多播优化的基本规则,连接管理器130更新与被请求服务关联的服务度量,例如请求方计数、用于服务的无线电信道等。在步骤1112,连接管理器130将服务度量信息与多播优化规则中的一个或多个条件/阈值相比较。
在步骤1114,连接管理器130判定是否跨越条件/阈值。如果未跨越条件/阈值,则控制流返回到步骤1110。如果已跨越条件/阈值,则在步骤1116,连接管理器130指示MCE 122建立和分配一个或多个无线电信道以便多播服务。在步骤1118,连接管理器130指示eNode B 115针对服务创建新多播组(例如,通过通知请求方设备加入组,并且向它们告知多播组地址和信道)。在步骤1120,连接管理器130通过空中接口116,使用单个多播信道将服务传输到多播组中的请求方设备。在步骤1122,连接管理器130将多播组中的请求方设备从单播链路转换为多播链路。在步骤1124,连接管理器130清除(即,断开)请求方设备与连接管理器130之间的单播链路。控制流然后返回到步骤1110。
图12和13是示出根据本发明的一个实施例的优化媒体流服务的传送的操作流程图。在步骤1202,连接管理器130拦截/接收新消息。在步骤1204,连接管理器130判定是否支持该请求的通信协议。如果不支持通信协议,则在步骤1206,连接管理器130执行一个或多个透明操作,例如将消息传递到内容服务器106(或请求方设备108)。控制流然后在步骤1208退出。如果支持通信协议,则在步骤1210,连接管理器130向消息应用一个或多个基本规则。
然后在步骤1212,连接管理器130判定是否针对与该消息关联的媒体流服务启用传送优化。如果未启用传送优化,则在步骤1214,连接管理器130执行一个或多个透明操作,例如将消息传递到内容服务器106(或请求方设备108)。控制流然后在步骤1216退出。如果启用传送优化,则控制流向图13的入口点A。针对注册以进行传送优化的每个服务执行图13中所示的步骤(多租赁)。
在步骤1302,连接管理器130应用/执行与消息相关的特定媒体流服务关联的一个或多个服务规则。在步骤1304,连接管理器130捕获信息以便创建服务状态信息212,例如会话、流和角色信息。在步骤1306,连接管理器130判定所接收的消息是响应还是请求消息。如果接收的消息是响应消息,则在步骤1308,连接管理器130针对与消息关联的媒体流服务应用适当的响应服务规则。因为启用优化,所以连接管理器130仅从媒体流服务的第一请求方的内容服务器106接收响应,因为连接管理器130不将对媒体流服务的冗余请求传递到内容服务器106。因此,在步骤1310,连接管理器130确定请求媒体流服务的请求方设备108是主要客户机。在步骤1312,连接管理器130捕获从内容服务器106到主要请求方设备108的内容流,并且将该流存储在内容流队列中。然后在步骤1314,连接管理器130服务于该内容流队列中的媒体流服务的任何后续请求方设备(辅助客户机)。所述流程然后返回到步骤1306。
如果接收的消息是来自请求方设备108的请求,则在步骤1316,连接管理器130针对与消息关联的媒体流服务应用适当的请求服务规则。然后在步骤1318,连接管理器130确定请求方设备108的角色。如果请求方设备108是主要客户机,则在步骤1320,连接管理器130确定请求类型。如上面讨论的,请求可以是针对“推送”媒体流服务,其中不需要请求方设备请求内容,因为内容被推出到设备,或者是针对“拉动”媒体流服务,其中需要请求方设备向服务发送对内容的显式请求。出于示例目的,在图13中请求的服务类型是“拉动”媒体流服务。因此,连接管理器130判定请求是对内容的请求还是非内容请求,非内容请求标识被请求服务、被请求内容流等。
如果连接管理器130确定主要客户机已发送内容请求,则在步骤1322,连接管理器130将请求转发到内容服务器106。控制流然后返回到步骤1306。如果连接管理器130确定主要客户机已发送非内容请求,则在步骤1324,连接管理器130从请求捕获认证信息。在步骤1326,连接管理器130创建内容流队列状态(例如,流对象)。在步骤1328,连接管理器130还跟踪状态/角色更改。例如,在步骤1330,主要客户机可以变成辅助客户机。在步骤1332,主要客户机还可以从服务或内容流离开或断开连接。如果发生这种情况,则在步骤1334和1336,连接管理器130分别选择新主要客户机并且将主要角色转移给选定客户机。在服务状态信息212中维护此跟踪信息。控制流然后在步骤1338退出。
返回到步骤1318,如果连接管理器130确定请求方设备是辅助客户机,则在步骤1340,连接管理器130还确定请求类型。如果请求类型是内容请求,则在步骤1342,连接管理器130服务于在流队列中捕获的内容流。换句话说,连接管理器130复制主要客户机接收的内容流,并且将该复制的内容流发送到辅助客户机。控制流然后返回到步骤1306。如果请求是非内容请求,则在步骤1344,连接管理器130跟踪与该辅助客户机关联的状态/角色更改。如果辅助客户机从服务或内容流离开/断开连接,则控制流程在步骤1346退出。如果辅助客户机变成主要客户机,则控制流程返回到步骤1306。
图14是示出根据本发明的另一个实施例的优化媒体流服务的传送的操作流程图。在步骤1402,连接管理器130通过第一单播链路拦截来自内容服务提供方的媒体流服务。在步骤1404,连接管理器130通过空中接口,使用第二单播链路将媒体流服务传输到第一请求方设备。在步骤1406,连接管理器130拦截来自至少第二请求方设备的对媒体流服务的请求。在步骤1408,响应于拦截,连接管理器130判定是否达到或超过多播优化阈值。在步骤1410,响应于确定达到或超过多播优化阈值,连接管理器130将媒体流服务传输到第一请求方和第二请求方。通过空中接口,使用单个多播链路传输媒体流服务,而通过第一单播链路从内容服务提供方接收媒体流服务。控制流程在步骤1412退出。
图15示出用于本发明的各实施例的示例性信息处理系统1502的示意图。信息处理系统1502仅是适合的系统的一个示例,不应对本发明实施例的功能和使用范围带来任何限制。示例性信息处理系统1502能够被用来实现和/或执行以上所述的任何功能。
信息处理系统1502可以是基站控制器、以通信方式耦合到无线通信网络的信息系统、个人计算机系统、服务计算机系统、瘦客户机、厚客户机、手持或膝上设备、平板计算设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统、分布式云计算系统等。
如图15中所示,信息处理系统1502以通用计算设备的形式表现。信息处理系统1502的组件可以包括但不限于:一个或者多个处理器或者处理单元1504、系统存储器1506,以及将不同系统组件(包括系统存储器1506)连接到处理器1504的总线1508。
总线1508表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、图形加速端口,以及处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线、微信道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
信息处理系统1502通常包括多种计算机系统可读介质。这些介质可以是能够被信息处理系统1502访问的任意可获得的介质,包括易失性和非易失性介质、可移动的和不可移动的介质。
在一个实施例中,系统存储器1506可以包括连接管理器130及其组件、内容服务提供方信息210、服务状态信息212,以及规则库214和规则216。这一个或多个组件还可以以硬件实现。系统存储器1506可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)1510和/或高速缓冲存储器1512。信息处理系统1502可以还包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统1514可以用于读写不可移动或可移动的、非易失性介质,例如一个或多个固态磁盘和/或磁介质(通常称为“硬盘驱动器”)。可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM、DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线1508相连。存储器1506可以包括至少一个程序产品,该程序产品具有一组程序模块,这些程序模块被配置以执行本发明实施例的功能。
具有一组程序模块1518的程序/实用工具1516,可以存储在存储器1506中,这样的程序模块1518包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块1518通常执行本发明实施例的功能和/或方法。
信息处理系统1502也可以与一个或多个外部设备1520(例如键盘、指向设备、显示器1522等)通信,还可与一个或者多个使得用户能与该信息处理系统1502交互的设备通信,和/或与使得计算机系统/服务器1502能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以经由I/O接口1524进行。并且,信息处理系统1502还可以经由网络适配器1526与一个或者多个网络(例如局域网(LAN)、广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1526经由总线1508与信息处理系统1502的其它组件通信。其它硬件和/或软件组件也可以与信息处理系统1502一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是—但不限于—电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括例如在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括—但不限于—电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括—但不限于—无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的各个方面的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
上面参照根据本发明的不同实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图讨论了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其它设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article ofmanufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
在此使用的术语只是为了描述特定的实施例并且并非旨在作为本发明的限制。如在此使用的,单数形式“一”、“一个”和“该”旨在同样包括复数形式,除非上下文明确地另有所指。还将理解,当在此说明书中使用时,术语“包括”和/或“包含”指定了声明的特性、整数、步骤、操作、元素和/或组件的存在,但是并不排除一个或多个其它特性、整数、步骤、操作、元素、组件和/或其组合的存在或增加。
出于示例和说明目的给出了对本发明的描述,但所述描述并非旨在是穷举的或是将本发明限于所公开的形式。对于所属技术领域的普通技术人员来说,许多修改和变化都将是显而易见的。实施例的选择和描述是为了最佳地解释本发明的原理和实际应用,并且当适合于所构想的特定使用时,使得所属技术领域的其它普通技术人员能够理解本发明的具有各种修改的各种实施例。

Claims (25)

1.一种用于优化网络中的内容传送的方法,所述网络包括在多个客户机设备与至少一个内容服务提供方之间以通信方式耦合的网络节点,所述方法包括:
通过第一单播链路在所述网络节点处接收来自内容服务提供方的媒体流服务;
经由第二单播链路将所述媒体流服务从所述网络节点传输到第一请求方设备;
在所述网络节点处拦截来自第二请求方设备的对所述媒体流服务的请求;
由所述网络节点判定是否达到和/或超过多播优化阈值;以及
响应于判定达到和/或超过所述多播优化阈值,经由单个多播链路将所述媒体流服务从所述网络节点传输到所述第一请求方设备和所述第二请求方设备,通过所述第一单播链路从所述内容服务提供方接收所述媒体流服务。
2.根据权利要求1的方法,其中通过空中接口,经由所述单个多播链路将所述媒体流服务从所述网络节点传输到所述第一请求方设备和所述第二请求方设备。
3.根据权利要求1的方法,其中将所述媒体流服务从所述网络节点传输到所述第一请求方设备和所述第二请求方设备包括:所述网络节点通知所述第一请求方设备和所述第二请求方设备加入与所述媒体流服务关联的多播组。
4.根据权利要求3的方法,其中将所述媒体流服务从所述网络节点传输到所述第一请求方设备和所述第二请求方设备进一步包括:所述网络节点断开所述第一请求方设备与所述网络节点之间以及所述第二请求方设备与所述网络节点之间的所有单播链路。
5.根据权利要求1的方法,还包括:
在将所述媒体流服务从所述网络节点传输到所述第一请求方设备和所述第二请求方设备之后,所述网络节点判定是否不再达到和/或超过所述多播优化阈值;以及
响应于判定不再达到和/或超过所述多播优化阈值:
所述网络节点在所述网络节点与所述第一请求方设备之间重新建立所述第二单播链路;
所述网络节点在所述网络节点与所述第二请求方设备之间建立第三单播链路;以及
通过所述第二单播链路将所述媒体流服务从所述网络节点传输到所述第一请求方设备,并且通过所述第三单播链路将所述媒体流服务从所述网络节点传输到所述第二请求方设备。
6.根据权利要求1的方法,其中所述网络节点以通信方式耦合到至少一个基站。
7.根据权利要求1的方法,其中所述多播优化阈值是接收和/或请求所述媒体流服务的请求方设备的已定义数量。
8.根据权利要求1的方法,其中所述多播优化阈值基于频谱信道资源的可用性。
9.根据权利要求1的方法,还包括:
响应于判定未达到和/或超过所述多播优化阈值:
所述网络节点复制通过所述第一单播链路从所述内容服务提供方接收的所述媒体流服务;以及
使用第三单播链路将所述媒体流服务从所述网络节点传输到所述第二请求方设备,在所述内容服务提供方与所述网络节点之间仅建立用于所述媒体流服务的所述第一单播链路。
10.一种用于优化网络中的内容传送的信息处理系统,所述信息处理系统包括:
存储器;
处理器,其以通信方式耦合到所述存储器;以及
连接管理器,其以通信方式耦合到所述处理器和所述存储器,其中所述连接管理器被配置为执行一种方法,所述方法包括:
通过第一单播链路接收来自内容服务提供方的媒体流服务;
经由第二单播链路将所述媒体流服务从网络节点传输到第一请求方设备;
拦截来自第二请求方设备的对所述媒体流服务的请求;
判定是否达到和/或超过多播优化阈值;以及
响应于判定达到和/或超过所述多播优化阈值,经由单个多播链路将所述媒体流服务从所述网络节点传输到所述第一请求方设备和所述第二请求方设备,通过所述第一单播链路从所述内容服务提供方接收所述媒体流服务。
11.根据权利要求10的信息处理系统,其中通过空中接口,经由所述单个多播链路将所述媒体流服务传输到所述第一请求方设备和所述第二请求方设备。
12.根据权利要求10的信息处理系统,其中将所述媒体流服务从所述网络节点传输到所述第一请求方设备和所述第二请求方设备包括:通知所述第一请求方设备和所述第二请求方设备加入与所述媒体流服务关联的多播组。
13.根据权利要求12的信息处理系统,其中将所述媒体流服务从所述网络节点传输到所述第一请求方设备和所述第二请求方设备进一步包括:断开所述第一请求方设备与所述网络节点之间以及所述第二请求方设备与所述网络节点之间的所有单播链路。
14.根据权利要求10的信息处理系统,其中所述方法还包括:
在将所述媒体流服务从所述网络节点传输到所述第一请求方设备和所述第二请求方设备之后,判定是否不再达到和/或超过所述多播优化阈值;以及
响应于判定不再达到和/或超过所述多播优化阈值:
在所述网络节点与所述第一请求方设备之间重新建立所述第二单播链路;
在所述网络节点与所述第二请求方设备之间建立第三单播链路;以及
通过所述第二单播链路将所述媒体流服务从所述网络节点传输到所述第一请求方设备,并且通过所述第三单播链路将所述媒体流服务从所述网络节点传输到所述第二请求方设备。
15.根据权利要求10的信息处理系统,其中所述网络节点以通信方式耦合到至少一个基站。
16.根据权利要求10的信息处理系统,其中所述多播优化阈值包括接收和/或请求所述媒体流服务的请求方设备的已定义数量,并且基于频谱信道资源的可用性。
17.根据权利要求10的信息处理系统,其中所述方法还包括:
响应于判定未达到和/或超过所述多播优化阈值:
所述网络节点复制通过所述第一单播链路从所述内容服务提供方接收的所述媒体流服务;以及
使用第三单播链路将所述媒体流服务从所述网络节点传输到所述第二请求方设备,在所述内容服务提供方与所述网络节点之间仅建立用于所述媒体流服务的所述第一单播链路。
18.一种有形地包含计算机可读非瞬时性指令的计算机程序产品,当实现所述计算机可读非瞬时性指令时,导致计算机执行一种用于优化网络中的内容传送的方法的步骤,所述方法包括:
通过第一单播链路在网络节点处接收来自内容服务提供方的媒体流服务;
经由第二单播链路将所述媒体流服务从所述网络节点传输到第一请求方设备;
在所述网络节点处拦截来自第二请求方设备的对所述媒体流服务的请求;
由所述网络节点判定是否达到和/或超过多播优化阈值;以及
响应于判定达到和/或超过所述多播优化阈值,经由单个多播链路将所述媒体流服务从所述网络节点传输到所述第一请求方设备和所述第二请求方设备,通过所述第一单播链路从所述内容服务提供方接收所述媒体流服务。
19.根据权利要求18的计算机程序产品,其中通过空中接口,经由所述单个多播链路将所述媒体流服务从所述网络节点传输到所述第一请求方设备和所述第二请求方设备。
20.根据权利要求18的计算机程序产品,其中将所述媒体流服务从所述网络节点传输到所述第一请求方设备和所述第二请求方设备包括:所述网络节点通知所述第一请求方设备和所述第二请求方设备加入与所述媒体流服务关联的多播组。
21.根据权利要求20的计算机程序产品,其中将所述媒体流服务从所述网络节点传输到所述第一请求方设备和所述第二请求方设备进一步包括:所述网络节点断开所述第一请求方设备与所述网络节点之间以及所述第二请求方设备与所述网络节点之间的所有单播链路。
22.根据权利要求18的计算机程序产品,其中所述方法还包括:
在将所述媒体流服务从所述网络节点传输到所述第一请求方设备和所述第二请求方设备之后,所述网络节点判定是否不再达到和/或超过所述多播优化阈值;以及
响应于判定不再达到和/或超过所述多播优化阈值:
所述网络节点在所述网络节点与所述第一请求方设备之间重新建立所述第二单播链路;
所述网络节点在所述网络节点与所述第二请求方设备之间建立第三单播链路;以及
通过所述第二单播链路将所述媒体流服务从所述网络节点传输到所述第一请求方设备,并且通过所述第三单播链路将所述媒体流服务从所述网络节点传输到所述第二请求方设备。
23.根据权利要求18的计算机程序产品,其中所述网络节点以通信方式耦合到至少一个基站。
24.根据权利要求18的计算机程序产品,其中所述多播优化阈值包括接收和/或请求所述媒体流服务的请求方设备的已定义数量,并且基于频谱信道资源的可用性。
25.根据权利要求18的计算机程序产品,其中所述方法还包括:
响应于判定未达到和/或超过所述多播优化阈值:
所述网络节点复制通过所述第一单播链路从所述内容服务提供方接收的所述媒体流服务;以及
使用第三单播链路将所述媒体流服务从所述网络节点传输到所述第二请求方设备,在所述内容服务提供方与所述网络节点之间仅建立用于所述媒体流服务的所述第一单播链路。
CN201380014071.0A 2012-03-15 2013-03-13 用于优化网络中的内容传送的方法、系统和设备 Expired - Fee Related CN104169901B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/421,418 US8904014B2 (en) 2012-03-15 2012-03-15 Content delivery mechanisms for multicast communication
US13/421,418 2012-03-15
PCT/US2013/030934 WO2013138476A1 (en) 2012-03-15 2013-03-13 Content delivery mechanisms for multicast communication

Publications (2)

Publication Number Publication Date
CN104169901A true CN104169901A (zh) 2014-11-26
CN104169901B CN104169901B (zh) 2017-05-17

Family

ID=49158748

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380014071.0A Expired - Fee Related CN104169901B (zh) 2012-03-15 2013-03-13 用于优化网络中的内容传送的方法、系统和设备

Country Status (3)

Country Link
US (1) US8904014B2 (zh)
CN (1) CN104169901B (zh)
WO (1) WO2013138476A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105813027A (zh) * 2014-12-31 2016-07-27 华为技术有限公司 传输信令的方法、设备和系统
CN106028266A (zh) * 2015-05-29 2016-10-12 场景通讯(深圳)有限公司 一种信息传输方法、装置及系统
CN107251563A (zh) * 2014-12-19 2017-10-13 萨热姆通信宽带简易股份有限公司 通信网络中用于通知服务的方法
CN108370495A (zh) * 2015-12-16 2018-08-03 瑞典爱立信有限公司 以信息为中心的热门内容广播
US20220100900A1 (en) * 2019-06-14 2022-03-31 Hewlett-Packard Development Company, L.P. Modifying data items

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8904014B2 (en) 2012-03-15 2014-12-02 International Business Machines Corporation Content delivery mechanisms for multicast communication
US8825811B2 (en) * 2012-03-15 2014-09-02 International Business Machines Corporation Connection management and optimization for services delivered over networks
EP2829075A1 (en) * 2012-04-12 2015-01-28 Huawei Technologies Co., Ltd. System and method for quality of experience aware media search and recommendation with unified portal
EP2875656A4 (en) * 2012-07-23 2016-03-23 Samsung Electronics Co Ltd METHOD AND SYSTEM FOR THE DISPOSAL OF MULTIMEDIA CONTENTS STORED IN WIRELESS CELLULAR NETWORK NODES BY MBMS
KR102024930B1 (ko) * 2012-09-25 2019-09-24 삼성전자주식회사 소스 디바이스, 라우터 및 그들의 제어 방법
TWI573448B (zh) * 2012-11-21 2017-03-01 財團法人工業技術研究院 串流連線管理方法及串流資料連線系統
US9215569B2 (en) * 2013-03-15 2015-12-15 Cellco Partnership Broadcast media content to subscriber group
US9374681B2 (en) * 2013-08-13 2016-06-21 Verizon Patent And Licensing Inc. Mobile device originated multicast broadcasting
US10349225B2 (en) * 2013-08-27 2019-07-09 Verizon Patent And Licensing Inc. Private multicast networks
US9537668B2 (en) 2013-12-20 2017-01-03 Qualcomm Incorporated LTE EMBMS service enhancement
US9591054B2 (en) * 2014-06-26 2017-03-07 Adobe Systems Incorporated Multiprotocol multicast streaming proxy
CN105306398B (zh) * 2014-07-22 2018-04-10 普天信息技术有限公司 eMBMS基带信号生成方法、基带处理单元和基站
US9703570B2 (en) * 2014-10-01 2017-07-11 Fujitsu Limited Dynamic device drivers
US10015235B2 (en) * 2014-10-23 2018-07-03 Sprint Communications Company L.P. Distribution of media content to wireless communication devices
US10050912B2 (en) * 2014-10-27 2018-08-14 At&T Intellectual Property I, L.P. Subscription-based media push service
EP3269105B1 (en) * 2015-03-09 2019-06-05 Telefonaktiebolaget LM Ericsson (publ) Transmission encryption in a proxy
JP6752080B2 (ja) * 2016-08-10 2020-09-09 キヤノン株式会社 情報処理装置及びその制御方法、コンピュータプログラム
EP3373524B1 (en) * 2017-03-08 2023-08-23 Robert Bosch GmbH Audio stream network with network components and method for running and/or configuring the network with network components
EP3593589B1 (en) * 2017-03-10 2023-09-20 Hughes Network Systems, LLC Network sharing by multiple service providers in a 3gpp framework using single core network
FR3074591A1 (fr) * 2017-12-05 2019-06-07 Orange Procede de gestion des connexions d'un dispositif electronique.
US11234054B2 (en) * 2019-07-22 2022-01-25 Qatar Foundation For Education, Science And Community Development Edge network system for service-less video multicast
WO2021067143A2 (en) * 2019-10-03 2021-04-08 Pfetch, Inc. Rgb network and devices
US11297385B1 (en) * 2021-01-12 2022-04-05 Roku, Inc. Content-modification system with feature for managing multiple content-modification requests

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050076099A1 (en) * 2003-10-03 2005-04-07 Nortel Networks Limited Method and apparatus for live streaming media replication in a communication network
CN1842160A (zh) * 2005-04-01 2006-10-04 阿尔卡特公司 快速媒体频道转换机制及包括该机制的接入网节点
CN1893364A (zh) * 2005-03-28 2007-01-10 阿尔卡特公司 广播多媒体流中的关键信息同步
CN101095126A (zh) * 2003-08-27 2007-12-26 思科技术公司 用于访问存在性信息的方法和装置
CN101558676A (zh) * 2006-10-23 2009-10-14 泰克迪亚科技公司 用于在特别无线网络中路由单播及多播消息的方法及通信装置
CN102057592A (zh) * 2008-05-07 2011-05-11 高通股份有限公司 用于增加广播网络中的数据传输效率的方法和装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6339794B2 (en) 1995-12-08 2002-01-15 Microsoft Corporation Wire protocol for a media server system
US6057847A (en) 1996-12-20 2000-05-02 Jenkins; Barry System and method of image generation and encoding using primitive reprojection
US7370114B1 (en) 1998-09-11 2008-05-06 Lv Partners, L.P. Software downloading using a television broadcast channel
US6516350B1 (en) 1999-06-17 2003-02-04 International Business Machines Corporation Self-regulated resource management of distributed computer resources
US6785704B1 (en) 1999-12-20 2004-08-31 Fastforward Networks Content distribution system for operation over an internetwork including content peering arrangements
US8463839B2 (en) 2000-03-28 2013-06-11 Cybernet Systems Corporation Distributed computing environment
US20020019843A1 (en) 2000-04-26 2002-02-14 Killian Robert T. Multiprocessor object control
US7133922B1 (en) 2000-08-07 2006-11-07 The Hong Kong University Of Science And Technology Method and apparatus for streaming of data
BR0309411A (pt) 2002-04-22 2005-02-01 Nokia Corp Método para apresentar o conteúdo associado com o programa de radiofusão no terminal do usuário de um sistema de telecomunicação, sistema de mìdia, terminal do usuário, e, servidor
EP1546926A4 (en) 2002-09-18 2008-07-02 Netezza Corp RECORDING PROCESSOR, METHOD AND DEVICE FOR ASYMMETRIC STREAMING
US7467400B1 (en) 2003-02-14 2008-12-16 S2 Security Corporation Integrated security system having network enabled access control and interface devices
US7430222B2 (en) 2004-02-27 2008-09-30 Microsoft Corporation Media stream splicer
US8843978B2 (en) 2004-06-29 2014-09-23 Time Warner Cable Enterprises Llc Method and apparatus for network bandwidth allocation
US20060067260A1 (en) 2004-09-30 2006-03-30 Timo Tokkonen Updating associating data in a media device
US7362776B2 (en) 2004-11-01 2008-04-22 Cisco Technology, Inc. Method for multicast load balancing in wireless LANs
US20070107025A1 (en) 2005-11-10 2007-05-10 Zhi Li System and method for placement of servers in an internet protocol television network
JP2007173987A (ja) 2005-12-19 2007-07-05 Canon Inc マルチメディアデータ送受信システム、及び装置、又はプログラム
US7916755B2 (en) 2006-02-27 2011-03-29 Time Warner Cable Inc. Methods and apparatus for selecting digital coding/decoding technology for programming and data delivery
US8037506B2 (en) 2006-03-03 2011-10-11 Verimatrix, Inc. Movie studio-based network distribution system and method
EP1892892A1 (en) 2006-08-24 2008-02-27 Nokia Siemens Networks Gmbh & Co. Kg Method and network entities for supporting MBMS service in a LTE radio communication network
EP1921824A1 (en) 2006-11-10 2008-05-14 Thomson Licensing System and method for sending content from a server to a terminal
EP2026491A1 (en) 2007-08-13 2009-02-18 Panasonic Corporation Soft-buffer management of a re-transmission protocol for unicast and multicast transmissions
US20090070844A1 (en) 2007-09-10 2009-03-12 Beer John C Video over ip distribution system and method
US20090164287A1 (en) 2007-12-24 2009-06-25 Kies Jonathan K Method and apparatus for optimizing presentation of media content on a wireless device based on user behavior
US9516375B2 (en) 2008-12-02 2016-12-06 Orckit Ip, Llc Edge optimized transrating system
US8904014B2 (en) 2012-03-15 2014-12-02 International Business Machines Corporation Content delivery mechanisms for multicast communication

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101095126A (zh) * 2003-08-27 2007-12-26 思科技术公司 用于访问存在性信息的方法和装置
US20050076099A1 (en) * 2003-10-03 2005-04-07 Nortel Networks Limited Method and apparatus for live streaming media replication in a communication network
CN1893364A (zh) * 2005-03-28 2007-01-10 阿尔卡特公司 广播多媒体流中的关键信息同步
CN1842160A (zh) * 2005-04-01 2006-10-04 阿尔卡特公司 快速媒体频道转换机制及包括该机制的接入网节点
CN101558676A (zh) * 2006-10-23 2009-10-14 泰克迪亚科技公司 用于在特别无线网络中路由单播及多播消息的方法及通信装置
CN102057592A (zh) * 2008-05-07 2011-05-11 高通股份有限公司 用于增加广播网络中的数据传输效率的方法和装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107251563A (zh) * 2014-12-19 2017-10-13 萨热姆通信宽带简易股份有限公司 通信网络中用于通知服务的方法
CN105813027A (zh) * 2014-12-31 2016-07-27 华为技术有限公司 传输信令的方法、设备和系统
CN105813027B (zh) * 2014-12-31 2020-05-15 上海朋邦实业有限公司 传输信令的方法、设备和系统
CN106028266A (zh) * 2015-05-29 2016-10-12 场景通讯(深圳)有限公司 一种信息传输方法、装置及系统
CN106028266B (zh) * 2015-05-29 2020-01-24 场景通讯(深圳)有限公司 一种信息传输方法、装置及系统
CN108370495A (zh) * 2015-12-16 2018-08-03 瑞典爱立信有限公司 以信息为中心的热门内容广播
CN108370495B (zh) * 2015-12-16 2022-02-11 瑞典爱立信有限公司 以信息为中心的热门内容广播
US20220100900A1 (en) * 2019-06-14 2022-03-31 Hewlett-Packard Development Company, L.P. Modifying data items

Also Published As

Publication number Publication date
WO2013138476A1 (en) 2013-09-19
US20130246631A1 (en) 2013-09-19
US8904014B2 (en) 2014-12-02
CN104169901B (zh) 2017-05-17

Similar Documents

Publication Publication Date Title
CN104169901A (zh) 用于多播通信的内容传送机制
US10863387B2 (en) System and method for orchestrating policy in a mobile environment
US9270709B2 (en) Integrated signaling between mobile data networks and enterprise networks
CN105472400B (zh) 一种消息推送方法及系统
US9712634B2 (en) Orchestrating mobile data networks in a network environment
EP3595325B1 (en) Method for realizing multicast and relevant network device
US20060179059A1 (en) Cluster monitoring system with content-based event routing
CN101132373A (zh) 为流提供服务质量的方法
WO2012055023A1 (en) System for monitoring a video network and methods for use therewith
CN108289187A (zh) 网络直播接入视频会议方法及系统
CN109412977B (zh) 一种域名带宽调节方法及相关设备
CN109714648A (zh) 一种视频流负载均衡方法和装置
KR101400758B1 (ko) Isn 스토어 기반의 오버레이 네트워크 동적 구성 시스템 및 그 방법
CN113055693B (zh) 数据处理方法及装置
CN103312684B (zh) 用于优化网络中内容传递的方法和信息处理系统
US20200092614A1 (en) Video distribution method and device
CN110460816A (zh) 云监控系统
WO2021008567A1 (zh) 基于全双工通信协议的请求传输方法及装置
CN114189885A (zh) 网元信息处理方法、设备及存储介质
CN102227893A (zh) 用于建立数字媒体流的方法和系统
CN106210611A (zh) 一种用于播放视频的方法、视频监控平台和系统
CN101895406A (zh) 一种移动流媒体的直播服务提供方法及系统
WO2013189421A2 (zh) 分布式的话单统计方法、装置以及系统
CN103181140A (zh) 识别服务请求类型的方法、媒体服务器和终端设备
KR20100062225A (ko) 아이피 티브이의 시청 정보 수집 방법 및 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170517

Termination date: 20210313