CN1643878A - 利用分布规则配置和控制内容传递中的网格资源的方法和设备 - Google Patents

利用分布规则配置和控制内容传递中的网格资源的方法和设备 Download PDF

Info

Publication number
CN1643878A
CN1643878A CNA038062755A CN03806275A CN1643878A CN 1643878 A CN1643878 A CN 1643878A CN A038062755 A CNA038062755 A CN A038062755A CN 03806275 A CN03806275 A CN 03806275A CN 1643878 A CN1643878 A CN 1643878A
Authority
CN
China
Prior art keywords
rule
network element
intermediate network
content
packet
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
CNA038062755A
Other languages
English (en)
Other versions
CN1643878B (zh
Inventor
吴振华
陈必耀
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN1643878A publication Critical patent/CN1643878A/zh
Application granted granted Critical
Publication of CN1643878B publication Critical patent/CN1643878B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • H04L41/0869Validating the configuration within one network element
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/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/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • 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/1066Session management
    • H04L65/1101Session protocols
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/12Protocol engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明披露了一种部署在内容传递网络中的中间网络部件。内容传递网络与具有相同性能的其它中间网络部件协同操作进行它的内容传递。提供了控制中间网络部件的操作的分布规则。这些包括中间网络部件的框架,指示要分布的一个规则说明的一部分或全部的格式,用于使中间网络部件相互发现的签名的格式,向对其分布规则的其它中间网络部件发出信号的信令的格式,和确定对其分布规则的中间网络部件的方法。此外,披露了专用于内容的实时流的著作规则。披露了可以在实时内容流期间根据不同标准触发的一组规则评价条件。披露了一组根据其建立规则的参数。

Description

利用分布规则配置和控制 内容传递中的网络资源的方法和设备
技术领域
本发明涉及数据通信网中内容传递的领域。更具体地讲,本发明涉及流过一个中间网络部件的数据包流的分布控制,和在一个中介层的网络资源的分布控制和配置。本发明的主要用途是要充当内容流的代理,并且以分布方式提供内容适配服务。
背景技术
在过去十年中,互联网,或更具体地讲,基于网际协议(IP)的网络取得了巨大的发展。互联网的增长和互联网用户数量的增长导致了应用的扩展和定标问题。对于诸如万维网(WWW)和视听流之类的终端用户更是如此。网络带宽和处理功率的增长难于满足互联网用户数量增长的要求。这导致了WWW页请求更长的装载时间,和跨越互联网的实时视听重放质量的降低。减小这些不良效果的努力导致在网络边缘(即,比较靠近终端用户的位置)广泛地部署智能网络部件。
这些中间网络部件的最通常的用途是要发挥超高速缓存代理的功能,例如,1999年6月,Fielding,R.,Gettys,J.,Mogul,J.,Frystyk,H.,Masinter,L.,Leach,P.,和T. Berners-Lee在IETF RFC 2616中发表的文章“超文本传输协议--HTTP/1.1”中所述的超文本传输协议(HTTP)代理和/或高速缓存器。这些功能在降低WWW服务器上的网络负担和加速对终端用户的WWW内容传递上是成功的。但是,随着终端用户数量的增加,网页浏览器配置和平台的种类越来越多。同样,网页内容的范围也越来越大。不能希望通过简单地复制静态网页内容来维持来自终端用户的日益增长的需求。
此外,通过互联网使用多媒体流也获得了显著地增长。这些用途经常使用实时流协议(RTSP)作为对话协议来建立和撤销通信信道,并且将实时传输协议和实时控制协议(RTP/TRCP)用于内容数据的实际传输。例如,Schulzrinne,H.,Rao,A.和Lanphier,R.在1998年4月出版的IETFRFC 2326中的发表的文章“实时流协议(RTSP)”中披露了RTSP。例如,Schulzrinne,H.,Casner,S.,Frederick,R.,和Jabcobson,V在1996年1月出版的IETF RFC 1889中的文章“RTP:实时应用的传输协议”中披露了RTP/RTCP。由于互联网业务的多样性,需要多媒体流适应于波动的业务条件,以保证对终端用户的平滑呈递。尽管RTCP为终端用户提供了将他们的通信状态回报给发送者的手段,但是,由于接收者与发送者之间的距离(网络传感“network-sense”)一般很大,所以发送者根据接收者报告采取的措施几乎不能奏效。由于大多数终端用户经过某种中介,例如,经过防火墙网关、网络地址翻译器(NAT)、或代理之类的中介,连接到互联网,所以中介提供了一种代表内容始发方执行适配服务的良好选择。
此外,随着互联网的发展,使得用于从Web存取内容的设备的范围也在不断地扩大。随着最近无线互联网技术的进展,浏览器类型多样化进程也越来越块,从而使得诸如数字个人助理(PDA)和移动电话之类的小型手持设备具有了浏览网络或重放视听流的内置微型浏览器。内容的作者不再能够开发内容,而设想建立的内容仅由用户使用传统的台式计算机观看。现在,设备独立性是一个关键的考虑,如2001年9月,Gimson,R.等在http:\\www.w3.org/TR/di-princ/中提供的W3C工作草案“设备独立原则”中所述。
许多国际标准组织已经认识到需要将原来仅能在网络核心(服务器所在的位置)使用的服务提供给网络边缘(终端用户所在的位置)。例如,互联网工程任务组(Internet Engineering Task Force(IETF))最近已经建立了几个致力于在网络边缘提供服务的工作组。开放式可插入可扩展服务(Open Pluggable Extensible Services(OPES))工作组是这些工作组中的一个。OPES工作组致力于将当前的HTTP代理从执行简单高速缓存任务扩展到整个适配服务。2001年11月,Tomlison,G.,Chen,R.,和Hofmann,M.在 http:∥www.ietf.org/internet-drafts/draft-tomlinson-opes-model-01中公开的IETF互联网草案,“工作进展”中发表的文章“开放式可插入边缘服务的一种模型”中规定了OPES的框架。还有一个致力于不同内容分布网络之间的协作的内容分布互联网(Content Distribution Internetworking(CDI))工作组。相信这种协作努力能够进一步加快对终端用户的内容传递。
中介在内容传递中的当前用途大多数局限于提供简单的功能,例如,HTTP高速缓存,HTTP代理,或RTSP代理。随着终端用户数量成指数地增加,不能指望这能够维持当今互联网用户要求的服务水平。此外,由于不同用户用于检索内容的硬件设备和软件代理的范围也在扩大,内容提供商发现难于向用户提供适合于用户的设备和优先选择的一组连贯的内容。
尽管各种国际实体已经认识到上述问题,并且已经采取行动来提供解决问题的方案,但是,它们的工作仍然能够继续改进。上述OPES框架集中在单个中介的操作,忽视了内容传递网络之间协作的当前趋势。此外,尽管OPES框架的思想是要执行内容适配,以便在内容检索中提高用户经验,但是,它仅集中在HTTP的参数上。这不仅不适合于设备独立,而且也不能迎合视听流应用不断增长的数量。
发明内容
为了解决3.3节中列出的问题,本发明允许内容提供者、访问提供者、和/或终端用户经过中间网络部件规定控制内容传递的规则。这些规则可以发布到沿内容流路径的其它中介,以取得最大效率和更容易的网络资源控制。它适合于由不同的内容传递网使用,并且能够相互协同操作。此外,本发明使得能够规定规则,从而特别地适合实时内容流。本发明也定义了一种根据用户的喜好和设备性能将规则演化成为结构的机构。这种规定使得规则制定者能够构造出能够更好地适合于内容以取得设备独立的规则。
本发明包括一个或更多的执行终端用户与内容提供商之间的内容传递和适配的中间网络部件的操作。中间网络部件(也称为中介)分析在终端用户与内容提供商之间传送的每个数据包。当数据包匹配中介寄存的一组规则指定的某种标准时,执行规则中规定的动作,通常导致数据包的修改。可以把一个中介中的规则可以分布到其它更适合于评价规则和/或执行适配的中介。此外,规则可以专门地满足实时流协议,或利用传递环境参数构造,以取得设备独立。
附图说明
图1是一个中间网络部件的框架,示出了本发明中使用的中间网络部件的功能结构;
图2示出了沿内容路径的节点,并且显示了从内容服务器到内容用户的、跨越一个或多个中介的典型内容流路径;
图3示出了ContentPath结构的例子,特别示出了存储在图2中标号204标记的中介foo4.bar.com的ContentPath结构中的值;
图4示出了从数据包中的嵌入签名中提取中介信息的方法,特别示出了提取数据包中的中介的签名以构造/更新ContentPath结构方法的流程图;
图5示出了确定分布规则的远端中介的方法,特别示出了用于确定远端中介以对其分布规则从而给予分布指示的算法;
图6示出了分析带有分布规则支持的规则的方法,特别显示了用于分析规则的算法,集中在支持分布规则。分析规则以检查语法有效性和规则的评价的实际方法不在本申请文件的范围内;
图7示出了在服务器-客户机模型中确定远端中介以分布规则的方法,特别示出了服务器-客户机模型中用于确定对其分布规则的远端中介,以给予分布指示的算法。
具体实施方式
以下说明分布式网络资源管理的装置和方法。为了便于理解本发明,使用了以下定义:
“包”是能够在数据网络上传递的任何可能格式的数据的自主单元。
“中介”和“中间网络部件”是等价的,并且可以互换地用于指示可以应用本发明的网关、路由器、或智能网络中心,除非另有指示。
术语“当前中介”或“当前中间网络部件”,根据使用本术语的环境,指示处理数据包或规则说明的中间网络部件。
术语“内容服务器”和“内容用户机”在信息交换的服务器-客户机模型中使用。作为客户的内容用户将一个或多个包含请求的数据包发送到内容服务器。将这种数据包称为请求包。在处理请求时,内容服务器通过一个或多个包含响应的数据包作出回答。这种数据包称为响应包。
在规则的分布中,术语“目标中介”或“目标中间网络部件”是指接收分布规则的本发明的中间网络部件。术语“分布中介”或“分布中间网络部件”是指将规则分布到其它中介的本发明的中间网络部件。
在以下的说明中,为了更好地解释,提出了特定的数量、时间、结构、和其它参数,以便提供对本发明的充分理解。但是,熟悉本领域的人员应当知道,可以不用这些特定的细节实践本发明。
应用本发明的中间网络部件包括图1中示出的功能结构。中介包括网关模块(101),规则引擎(102),一个或多个专用包(103),和规则注入模块(104)。
网关模块(101)是实现网关或代理功能的功能块的集合。这些功能块可以包括,但是不限于,HTTP代理和/或高速缓存,RTSP代理,RTP/RTCP混合器和/或翻译器,和应用层网关(ALG)。例如,我们考虑一个执行HTTP代理角色的中介。网关模块(101)将根据客户方请求实现从客户方处理HTTP连接的功能部件,建立到服务器的HTTP或另一个HTTP代理的连接的功能部件,和延迟从服务器返回客户方的响应的功能部件。实际上,网关模块(101)是实现中介对其是一个有效部件的协议(例如,HTTP,RTSP)的功能部件。
规则引擎模块(102)分析通过中间网络部件的所有数据包或其中一部分,并且将这些数据包与一组由单一或多个规则规定的标准匹配。这称为规则的评价。这些规则列在一个被称为规则说明(Rule Specification)的逻辑单元中。一个规则说明可以包含一个单一的规则或多个规则。当发现匹配时,触发规则指定的相应动作。这称为“规则的引发(firing of rule)。执行的动作可以包括,但不限于,将内容插入到数据包,从数据包取出一部分或全部内容,和修改数据包中的内容。包内容的插入、取出、和修改可以在中介执行,或某种专用于执行包变换的其它远端机器中执行。
规则引擎(102)分析的规则的例子包括,确定要分配给客户请求的数据流的带宽的规则。例如,规则可以用以下的高层形式说明:
“If network channel of client<=1Mbps,then allocate 10 kbits for datastream”。(规则1)
规则引擎模块(102)实现分析这些规则并且确定是否发生匹配(即,终端用户信道是否具有小于或等于1Mbps的容量)的功能。上述例子也示出了规则如何控制网络资源分配决策。
规则引擎模块(102)分析的规则的另一个例子是响应从网关模块(101)接收的客户请求,确定要接触的下一个中介或服务器。在这里,根据请求的参数,可以将请求路由到一个不同的服务器/中介。例如,考虑下面的高层规则:
“If requested data is audio only,route request to foo3.bar.com”。(规则2a)
“If requested data is audio and video,route request to foo4.bar.com”。(规则2b)
规则引擎模块(102)负责分析和解释这些规则,并且确定是否满足了一个条件。当满足了一个条件时,规则引擎模块(102)通知网关模块(101)下一个选择哪一个中介/服务器,并且,实现了利用特定协议与其它网关模块通信的实际功能的网络模块(101)进行将请求路由到选择的下一个中介/服务器。
本发明中的中介可以具有零个,一个,或多个专用包(103)。这些专用包(103)是设计以通过提供指定功能而增强规则引擎模块(102)的模块。例如,可以将服务质量(Quality-Service(QoS))专用模块用于帮助规则引擎模块(102)理解和评价包括QoS参数和条件的规则。规则引擎模块(102)本身仅能分析规则,和尝试发现对于规则说明清楚地说明的条件的匹配。利用上述(规则1a)的例子,规则引擎模块(102)需要帮助以确定客户机的网络信道的实际容量。可以把一个用于评价QoS参数的专用包(103)安装在中介中,以评价这些表达式。当规则引擎模块(102)分析一个指定了QoS参数(例如,带宽、延迟、等等)的规则说明时,它询问QoS专用包(103)。QoS专用包(103)评价所述参数的值,并且将它发送回规则引擎模块(102)。由此,规则引擎模块(102)可以继续执行,检查在规则说明指定的条件下是否发生匹配。以这种方式,可以完成中介的模块化设计。规则引擎模块(102)执行分析规则说明的工作。它利用不同的专用包(103)来评价规则说明中说明的参数的值,并且从这些值确定条件是否匹配。在本发明中,提出了根据传递环境评价规则的专用包。
规则注入模块(104)是一个向和从规则引擎模块(102)动态地装载或卸载规则的模块。它还提供了对于远端部件的接口,以动态地寄存、启用、或停用规则。这个模块在支持通过不同中介分布规则中是必不可少的。
最初,当中介启动时,规则注入模块(104)根据配置文件或其它文件,从中介的存储器中装载一组初始规则说明。这些规则说明将被装载到规则引擎模块(102)。当客户请求(或服务器响应数据)到达时,网关模块处理客户请求(或服务器响应数据),并且将它传送到规则引擎模块(102)以进行规则分析。规则引擎模块(102)分析规则说明,并且试图找出相对于请求(或响应)规定的条件的匹配。在分析这些规则的同时,规则引擎模块(102)可能需要来自专用包(103)的帮助,以评价参数的值。
规则注入模块(104)也允许将规则动态地装载到中介。例如,管理人员可以远端传送一组新的规则说明,以安装到中介上。作为选择,管理人员可以在远端从中介取消一个规则说明。规则注入模块(104)处理这种远端操作。此外,这些操作无需限于人类管理者。本发明的第一部分确实详细地说明了使得能够在中介之间动态地装载和卸载规则说明的机构。规则注入模块(104)在这里扮演了从其它中介接受连接,和处理向/从规则引擎模块(102)装载或卸载规则说明的请求的角色。
规则的分布意味着可以将装载到一个中介上的规则说明传送到要评价的另一个中介。可以指示分布整个规则说明或其一部分。这些指示也建议沿数据流路径分布到哪一个中介。图2示出了一个典型的内容流路径。应当指出,沿图2中没有示出的内容路径可以有执行中继任务的其它网络部件。沿从内容服务器(201)到内容用户(207)的路径,可以有一个或多个使用本发明的中介(202-206)。
规则说明的作者可以指出给沿内容流路径的哪个中介部分地或完整地分布规则说明。由于要求作者知道中介在实际真实世界情况下是如何部署的是不现实的,所以作者通过指出分布方向,即指出到源节点或到目的地节点的方向,指定对其分布规则的优选中介。术语“源(source)”和“目的地(destination)”是相对于数据包使用的。源节点是产生数据包的节点,而目的地节点是消耗数据包的节点。在服务器-客户机模型中,将方向规定为“朝服务器的方向(towards server)”或“朝客户机的方向(towardsclient)”。
例如,利用图2中所示的部署方案,将规则说明递交到中间网络部件foo4.bar.com(204)。指示将规则的一部分朝“目的地”的方向分布。当处理请求包时,即,处理从内容用户(207)发送到内容服务器(201)的包时,可以将规则说明的这个部分分布到中介foo2.bar.com(202),或中介foo3.bar.com(203)。相反,当处理响应包时,可以将规则的同一部分分布到中间网络部件foo6.bar.com(206),或网络部件foo5.bar.com(205)。同样,当指示将规则的一个部分朝“服务器”方向分布时,可以将它分布到中介foo2.bar.com(202),或中介foo3.bar.com(203)。相反,当指示将规则说明的一部分朝“客户机”方向分布时,可以把规则说明的这个部分分布到中间网络部件foo6.bar.com(206),或网络部件foo5.bar.com(205)。
本发明的一个目的是要使得规则作者能够指定一个规则层级,其中最高层级的规则说明处于一个中介上,而较低层级的规则说明位于其它中介上。这使得能够有效地控制中介操作。因此,除了规定被分布的规则流动的方向(即,向前、向后、向内容服务器、或向内容用户方向)之外,本发明也使得规则作者能够指定应当分布规则的方向上的近似位置。
使用上述例子,规则作者可以规定将被分布的规则说明部分分布到尽可能靠近内容用户的中介。在图2中,这意味着中介foo6.bar.com(206)。作为选择,可以指定将一部分规则分布到离开最靠近内容用户的部件一个路程段的中介上。在图2中,这意味着中间网络部件foo5.bar.com(205)。同样,规则作者可以规定将一部分规则分布到朝内容服务器方向的下一个中介。使用上述将规则说明递交到foo4.bar.com(204)的例子,意味着规则作者要把这部分规则分布到网络部件foo3.bar.com(203)。
本发明包括所有上述标志用于分布的规则说明的方式。提供以下基于字符的指示方法作为例证。熟悉本领域的人员应当知道,可以使用其它形式的指示来取得相同的效果,例如,使用数字或文字数字代码。在基于字符的指示中,每个指示都是<target direction>-<approximate location fromtarget>形式的,或是<approximate location towards target>-<target-direction>形式的,其中<target-direction>是术语源、目的地、服务器、或客户机,而<approximate location from target>和<approximate location towards target>是指示间隔指定目标的中介的数量的数字值。
例如,为了指示要分布到最靠近内容服务器的中介的规则部分,规则作者可以使用server-1的指示来显示应当将规则分布到一个距离内容服务器1路程段的中介。当使用2-server的指示时,规则作者表示希望朝向内容服务器的方向,将规则分布到一个距离装载着规则的中介2路程段的中介。同样地,指示client-2表示应当把规则分布到距离内容用户2路程段的中间网络部件,指示1-client表示应当将规则分布到内容用户方向上的下一个中介。
为了中介能够在它们中间分布规则说明,中介必须具有一种首先发现一个给定内容流路径上存在其它中介的方式。也可以把每个中介连接到多个内容服务器、内容用户、和其它中介,因此,不可利用配置文件静态地执行发现,也不能在系统突然出现单程触发。
本发明需要在数据包从内容用户流向内容服务器或相反地流动时,中介将指示它们的存在的指示插入到内容中。这个指示被称为中介的签名。这些签名应当包含中介的信息,例如,可分辨的主机名和中介的性能。中介的性能应当清楚地指出中介支持被分布的规则,并且也应当包括安装在中介中的专用包之类的信息。
例如,在HTTP和RTSP协议中,中介可以将它们的签名附加到请求和响应首部中发现的“Via”通用首部中。主机名foo4.bar.com的、安装有QoS专用包的中介可以插入以下的“Via”首部字段作为它的签名:
Via:1.1 foo4.bar.com(OPES=standard,qos,distrbuted)。
对于不具有中介插入它们的签名的内置机构的其它协议,可以寻找其它措施。例如,协议通常为机器提供将可选信息插入到数据包中的功能(通常使用可选扩展首部)。可以将其用于携带中介的签名。此外,为了容易理解,上述例子中使用了字符串作为签名。任何熟悉本领域的人员应当知道,可以使用其它形式的签名来取得同等的效果,例如,使用数字或字母数字代码,只要外部实体能够从签名提取中介的主机名和性能。
在使用协议内置机构或使用可选扩展的情况下,应当允许多个签名,以便能够附加每个后续中介的签名。也就是说,当一个数据包到达内容流路径中的任何给定中间网络部件时,该中间网络部件知道数据包前面经过的其它中介。这也使中介能够知道包经过的中介的顺序。
在一个典型的操作中,具有从内容用户流向内容服务器的请求,和从内容服务器流向内容用户的响应。因此,一旦有一对请求和响应数据包通过它们时,中介将知道沿内容流路径的所有其它中介。例如,利用图2中所示的方案,当来自内容用户(207)的请求到达中介foo4.bar.com(204)时,它会知道中介foo6.bar.com(206)和foo5.bar.com(205)的存在。当来自内容服务器的内容响应到达foo4.bar.com(204)时,中介将发现中间网络部件foo2.bar.com(202)和foo3.bar.com(203)的存在。因此,中介foo4.bar.com(204)能够检测到整个内容流路径中其它中间网络部件的存在。
中介保持沿任何给定内容流路径的已知中间网络部件的高速缓存。以下说明这样做的原因。当中介接收到请求时,它可能需要朝内容服务器方向将一个规则分布到另一个中间网络部件。如果该中介仅依赖于插入的签名来发现其它中间网络部件,那么在它接收到内容响应之前,它不能预先知道朝内容服务器方向的向前路径中的其它中介。如果发生这种情况,规则引擎模块(102)应当检查它是否能够从它的高速缓存器检索到中介的信息。如果它能,那么可以将规则分布到一个前方中介;否则,应当本地评价规则。
为了保持高速缓存,可以使用在下面数据格式1和数据格式2中所示的数据格式。使用数据格式1记录中介的(存储在字段hostname中的)主机标识符,和(存储在字段capabilities中的)性能。数据格式2用于记录沿给定内容流路径的已知中介的列表。内容流路径是由(存储在字段source中的)源,(存储在字段destination中的)目的地,和(存储在字段protocol中的)协议三元组惟一地指定的,表示为{source,destination,protocol}。num_node字段存储从当前中介开始(但是不包括当前中介)到达目的地节点之前、来自源节点的数据包必须经过的中间网络部件的数量,并且节点阵列存储每个这种中间网络部件的信息。图3示出了存储在图2所示方案中的中介foo4.bar.com(204)中的一对ContentPath数据格式。
          数据格式1:中介项
struct IntermediaryEntry{
     NodeID            hostname;
     char              capabilities[]
}
         数据格式2:数据流路径信息
struct ContentPath{
     NodeID                    source;
     NodeID                    destination;
     ProtocolType              protocol;
     int                       num_nodes;
     struct IntermediaryEntry  nodes[];
}
图4示出了设计用于提取插在数据包中的中介签名和构造/更新ContentPath结构的方法。当数据包到达时,中介首先检查是否有任何插入的签名,如步骤401中所示。如果有一个签名,那么如步骤402中所示,从高速缓存中搜索与{destination,source,protocol}三元组匹配的ContentPath结构。应当注意,数据包的源是相对于ContentPath目的地检查的,反过来也是一样。其原因是由于ContentPath结构被用于给出朝目的地节点方向的中介的列表,而当从数据包提取签名时,从源节点给出中介。因此,当搜索匹配时,需要交换目的地和源节点。
如果不能发现任何匹配的ContentPath结构,那么分配一个新的ContentPath结构,如步骤403中所示。当查找到一个存储的ContentPath结构时,那么要清除num_nodes和nodes字段,如步骤404中所示。然后,在步骤405中,将一个临时存储签名的后进先出栈式存储器初始化到空,并且将计数n设置到零。在步骤406中,提取每个插入的签名并且存储到栈式存储器中。此外,递增计数n,以记录提取的签名数量。当提取了所有签名时,计数n将包含内容流路径中当前网络部件之前的中介的数量。将其存储在num_nodes字段中。然后,如步骤406中所示,取出栈式存储器中的签名,以更新节点阵列。
上面的说明给出了中介发现沿内容流路径的其它中介的方法。当一个规则引擎模块分析一个规则说明,并且发现一部分规则说明被标记以便分布时,那么它可以(使用内容服务器、内容用户、和协议三元组)检查适当的ContentPath结构,并且确定将规则分布哪些远端中介。
图5示出了用于确定规则分布到的远端中介的算法,如前面所述,以<target direction>-<approximate location from target>或<approximatelocation towards target>-<target direction>的形式给出了分布的指示。术语target(目标)用于代表<approximate location towards target>或<approximatelocation from target>的数字值。如果使用第一种形式,那么术语directive包含值“from”,如果使用第二种形式,那么包含值“to”。术语direction是值“source”或值“destination”。术语src,dst和protocol分别代表从数据包提取的源(source),目的地(destination)和协议(protocol)。
如步骤501至504中所示,算法首先搜索ContentPath数据格式。如果分布的方向是朝目的地的方向,那么使用三元组{src,dst,protocol}确定ContentPath,如步骤502中所示。否则,如步骤503中所示,利用三元组{dst,src,protocol}代替。如果不能发现ContentPath,那么算法返回NULL,如步骤512中所示。在步骤505和506中,检查target,以防止它超过分布方向上的远端中介的数量。在步骤507中,检查分布指示,以了解它是否是形式<target direction>-<approximate location from target>或<approximate location towards target>-<target direction>。
对于第一种形式,数字值指示从终点主机(内容服务器或内容用户)向回数的中介的数量。但是,中介在节点阵列中是以朝终点节点的方向顺序列出的。因此,在步骤508中,将临时变量x设置到中介的数量减去数字值target。相反,如果指示是第二种形式,那么如步骤509中所示,将临时变量x设置到数字值target减1。减1的原因是由于假设节点阵列中的第一元素是nodes[0]。任何熟悉本领域的人员可以容易地修改上述公式,以适合其它种类的阵列布置。在步骤510中,检查变量x以判断是否超出了范围。如果超出了范围,那么算法返回NULL,以指示不能发现适合的远端中介,如步骤512中所示。否则,如步骤511中所示,函数返回nodes[x]中给出的远端中介。
图6示出了考虑分布规则而分析规则说明的方法。如步骤601,602和603中所示,首先分析规则说明,以检查句法有效性,并且拒绝无效规则。然后,检查规则以判断它是否被标记为要分布的,如步骤604中所示。如果它没有被标记,那么本地评价规则(605)。否则使用图4中所示的算法识别要对其分布规则的远端中介,如步骤606中所示。如步骤607和605中所示,如果算法返回NULL,表示不能发现适合的远端中介,那么本地评价规则。如步骤608中所示,当发现远端中介时,检查远端中介以判断它是否支持规则需要的专用包。如果它不支持,那么本地评价规则(605)。如果它支持,那么分布规则(609)。对下一个要分析的规则重复整个处理过程。
如果替代使用其中可以由朝“服务器”方向或朝“客户机”方向说明目标方向的服务器-客户机模型,那么可以不再使用图5中给出的确定目标中介的方法。图7示出了一种用于服务器-客户机模型的方法。图7中的算法与图5中算法之间的差别仅在于步骤701至703,和步骤501至503。在步骤701中,首先检查目标方向是朝服务器方向还是朝客户机方向。如果目标方向是服务器,那么,如步骤702中所示,利用{node identificationof client,node identification of server,protocol}三元组搜索ContentPath。如果目标方向是客户机,那么,如步骤703中所示,利用{node identification ofserver,node identification of client,protocol}三元组搜索ContentPath。其余步骤704至712与步骤504至512相同。
为了分布规则,中介需要向接收中介发送信号。为了便于说明,使用图2中所示的方案。在以下讨论中,中介foo4.bar.com(204)是装载规则的网络部件,并且它确定了规则需要分布给中介foo6.bar.com(206)以进行评价。
为了给foo6.bar.com(206)发送信号,foo4.bar.com(204)可以把一个信号插入到数据包中。本发明要求插入的信号包含正在分布规则的中介的标识符,要接收规则的中介的标识符,和唯一地标识要分布的规则的规则标识符。规则标识符必须唯一地标识要对一个给定中介分布的规则说明部分,并且标识符应当不随时间改变。
例如,在HTTP和RTSP协议中,中介可以将令牌(token)附加到请求和响应首部中的“Pragma”通用首部中。因此,本发明可以利用这插入需要的信号。例如,foo4.bar.com(204)可以把以下令牌,OPES-distributed=”foo6.bar.com:XYZABC@foo4.bar.com”;,附加到响应的“Pragma”通用首部。使用的令牌的形式是:
OPES-distributed=“<target>:<rule identifier>@<distributor>”
其中<target>代表接收分布的规则的中介的主机名,<rule identifier>代表标识分布的规则的唯一标识符,<distributor>代表分布规则的中介。
对于不具有中介用于插入信号的内置机构的其它协议,可以寻找其它方法。例如,协议经常给机器提供将可选信息插入到数据包(通常使用可选扩展首部)的功能。可以使用这来携带中介的信号。此外,为了容易理解,上述例子使用字符串作为签名。但是,任何熟悉本领域的人员应当知道,可以使用其它形式的签名取得相同的效果,例如,使用数字或字母数字代码,只要外部实体能够从信号提取分布中介的主机名,目标中介的主机名,和规则标识符。
在使用协议内置机构或使用可选扩展的任何一种情况下,应当允许多个信号,以便在一次单一的数据包传递中,能够分布两组或更多组的规则。每个中介必须检查数据包,以检测这些信号,并且检查是否有用于此目的的信号。一旦它确定有用于此目的的信号,中介可以随意地从数据包取出信号。
规则标识符用于利用一个分离的通信信道从分布中介检索实际规则。规则注入模块(104)负责建立这种通信信道,并且检索/传递任何分布的规则。本发明不规定这种通信信道的格式。因为规则标识符是唯一地给予一个特定中介,中介应当使用规则标识符和分布中介的主机名作为高速缓存关键字高速缓存检索的分布的规则。如果再次发生后续分布,这消除了检索相同分布的规则的需要。
可以在具有多个发送和接收节点的场合部署上述机构用于内容分布。将这种情况分解成多个数据流路径,每个路径包含一个发送节点和一个接收节点。应当注意,这种分解仅用于上述ContentPath结构的构造。当一个被发送到多个接收节点的实际数据到达一个中介时,这个中介可以根据每个对应发送节点(即,源)和接收节点(即,目的地)对作出规则分布的决定。如果分布规则的目标中介恰好是同一中介,那么可以将一个单一的信号插入到内容。如果(由于内容路径沿线路的某处分离)识别出一个以上的目标中介,那么可以为每个目标中介将一个分离的信号插入到内容。
在以上说明中,披露了用于分布规则的中间网络。在下面的说明,本文件将转到本发明的下一部分,这个部分将本发明的安排缩小到实时内容流情况。在这种情况中,内容用户经过一个或多个作为本发明的对象的中介,将请求发送到内容服务器,以建立实时对话。当内容服务器利用适当的响应接受请求时,通过中介在内容服务器与内容用户之间建立起一个通信信道。以后将内容服务器与内容用户之间的这个通信信道称为内容对话。内容服务器通过内容对话开始将数据包发送到内容用户,而不用来自内容用户的任何主动请求,直到内容用户经过中介发送一个请求,以撤销内容对话。这种由内容服务器自发地发送的数据包以后称为内容包。在内容服务器发送内容包的过程中,内容用户可以或可以不将有关发送统计的信息发送回内容服务器。以后将这种统计称为反馈包。
一个适合于上述说明的现有协议是实时流协议(RTSP)。但是,如熟悉本领域的人员所知,本发明可以应用到表现出上述相同行为的其它协议。
对于所有已知的现有技术,为每个通过中介传递的请求和/或响应包评价规则。本发明通过为规则作者提供详细说明无论何时一个内容包通过中介时就要评价的规则,无论何时多个内容包通过中介时都要评价的规则,和建立了内容对话的整个持续时间上的规定的规则时间间隔中评价的规则的能力,扩展了这种能力。为了获得这种提供的能力,允许规则作者为每个规则加上一个特定属性的标签。为了说明,把这种属性称为“evaluateOn”属性。下面的表1列出了“evaluateOn”属性的可能的值。任何熟悉本领域的人员应当知道,可以利用其它名称配置本发明。
                     表1“evaluateOn”属性
  “evaluateOn”属性 说明
    “请求(request)” 当中介接收到从内容用户到内容服务器的请求包时,评价规则
    “响应(response)” 当中介接收到从内容服务器到内容用户的响应包时,评价规则
    “内容(content)” 当中介接收到从内容服务器到内容用户的内容包时,评价规则
    “反馈(feedback)” 当中介接收到从内容用户到内容服务器的反馈包时,评价规则
    “x-内容(x-contents)” 当中介接收到从内容服务器到内容用户的x个内容包时,评价规则,其中x是一个规定的数字值
    “t-秒(t-seconds)” 当建立了内容对话的持续时间中每过去t秒的时间间隔,接收到一个内容包时,评价规则,其中t是一个规定的数字值
本发明的最后部分涉及专用包(103)的配置。如上所述,专用包(103)是使得规则引擎模块(102)能够评价包括不同参数集(例如,服务的质量(Quality ofService))的规则的模块。本发明定义了一个新的专用包,称为“Delivery Context(传递环境)”专用包。这个包将允许规则引擎模块(102)根据传递环境翻译构造的规则。如以下表2中所示,定义了传递环境的四个主要类。这些类是用户优先选择(User Preferences),代理性能(Agent Capabilities),设备性能(Device Capabilities),和自然环境(NaturalEnvironment)。用户优先选择是指有关人类用户的信息,包括浏览优先选择、语言优先选择、显示优先选择、QoS优先选择、年龄组、和性别。代理性能提供了有关软件代理的信息,例如,代理类型、支持的格式、支持的语言、和支持的传输协议。设备性能是指有关硬件设备的信息,包括设备类型、处理器速度和类型、存储容量、屏幕清晰度和对比度、以及操作系统。自然环境提供了有关终端用户周围的自然环境的信息,包括终端用户是在室内还是在室外、终端用户的速度、终端用户的位置、和照明性质。
                         表2传递环境参数
                             用户优先选择
参数
“浏览优先选择(browsing-preference)” 有关用户的浏览优先选择的说明文本,例如,仅是文本、图像尺寸、障碍物可接入选项、搜索和过滤优先选择
“语言优先选择(language-preference)” 有关用户的语言优先选择顺序的说明文本
“显示优先选择(display preference)” 有关用户的颜色喜好、全屏或窗口的说明文本
“年龄组(age-group)” 有关用户的年龄组的说明文本
“性别(gender)” 有关用户的性别的说明文本
“职业(employment)” 有关用户的工作性质的说明文本
    代理性能(Agent Capabilities)
参数
“代理-类型(agent-type)” 有关软件代理的说明文本
“支持的格式(supported-formats)” 有关支持的内容格式,和内容编码支持的说明文本
“支持的语言(supported-languages)” 有关软件代理支持的语言的说明文本
“支持的协议(supported-protocols)” 有关软件代理支持的传输协议,和它是否具有多信道广播、广播性能的说明文本
             设备性能(Device Capabilities)
参数
“设备类型(device-type)” 有关设备类型的说明文本
“处理器(processor)” 有关处理器速度和系列的说明文本
“存储容量(memory-capacity)” 有关物理和二级存储器的存储容量的说明文本
“屏幕(screen)” 有关清晰度和对比度的说明文本
“操作系统(operation-system)” 有关操作系统类型的说明文本
             自然环境(Natural Environment)
参数
“位置(location)” 有关用户的位置的说明文本,例如,室内或室外,和场所
“移动性(mobility)” 有关用户的移动性的说明文本,是固定的还是运动的,如果是移动的,那么其速度是多少
“照明(illumination)” 有关终端用户周围照明的说明文本
Delivery Context专用包翻译利用来自传递环境的参数构造的规则。有各种传递环境专用包可以获得参数的实际值的方法。一种方法是建立与提供这些参数的知识的外部实体,例如,内容用户,的通信信道。对于设备性能这样的参数,必须从内容用户直接获得。一种可选的方法是从存储在中介上的另一个模块获得它。这个模块可以本地地收集值,从存储设备装载值,或从外部实体请求值。对于自然环境这样的参数,中介能够自己推导出信息,特别是当中介位于内容用户附近位置时。对于用户优先选择这样的参数,人类用户可以寄存一组要存储在中介的简表。
本发明允许沿内容流路径的中间网络部件主动地合作它们的内容传递尝试,以增强用户在内容检索方面的经验。随着部署在互联网中的内容传递网络(CDN)越来越多,本文献中披露的发明使得这些CDN的中介能够通过提供分布的规则组织协调它们的操作。可以把装载在一个网络部件上的规则实时分布到其它中介,从而可以在一个更合适的节点执行数据内容和内容请求的适配。也使得能够更好地控制内容传递的操作。
此外,披露的发明包含专用于在包转换网络中实时传递视听内容的方法和装置。这允许规则作者能够建立可以更迅速地对内容流的网络条件中的波动作出反应的规则。作者也能够建立基于设备性能和内容客户的用户优先选择的规则。当利用适当的适配服务仔细地制定了这些规则时,将显著地提高整个用户内容检索经验。

Claims (20)

1.一种用于在连接两个或更多通信网的中间网络部件控制资源的网络控制框架装置,包括以下实体:
i.提供网关功能的网关模块,
ii.根据指定规则执行网络资源控制决策的规则引擎模块,其中规则是以一种以后称为规则说明的规则说明格式说明的,
iii.一个或多个加到规则引擎模块上的专用包,在规则引擎模块中所述专用包将专用的功能提供给规则引擎模块,和
iv.向或从规则引擎模块注入或取出规则说明的规则注入模块。
2.一种用于将权利要求1所述的规则说明分布到根据权利要求1所述的一个或多个中间网络部件的装置,包括:
i.规则说明中用于指出一部分或全部要分布的规则说明的指示,
ii.插入到数据包中、用于通告数据包经过的中间网络部件的性能的签名,
iii.分析规则说明以确定是否分布指定规则说明的一部分或全部的方法,
iv.识别分布规则说明的一部分或全部的目标网络部件的方法,
v.插入到数据包中、以通知分布规则说明的一部分或全部的目标网络部件的信令,
vi.从分布规则说明的一部分或全部的中间网络部件检索分布到目标网络部件的一部分或全部规则说明。
3.一种如权力要求2中所述的分布到权利要求1中所述的一个或多个中间网络部件的一部分或全部规则说明的指示的格式,包括:
i.通过指出指定方向的终点指出分布方向的说明,
ii.朝指定终点方向的中间网络部件的数量的说明,
iii.从指定终点计算的中间网络部件的数量的说明,和/或
iv.在中间网络部件分布的特定内容。
4.插入到权力要求2中所述的一个或多个数据包中、以便通告数据包经过的权利要求1中所述的中间网络部件的性能的签名的格式,包括:
i.签名所属的中间网络部件的标识,
ii.安装在签名所属的中间网络部件上的、权利要求1所述的专用包,和
iii.接受或产生用于分布的一部分或全部规则说明的能力。
5用于权利要求1所述的中间网络部件以存储插入到权利要求2或4所述的一个或多个数据包中的签名的装置,其中数据包经过的中间网络部件的签名是与数据包在其间通过的、按照数据包经过的顺序的起点和终点,以及数据包所属的传输协议一同存储的。
6.用于存储根据权利要求1、2、4或5所述的中间网络部件的签名的数据格式,包含中间网络部件的标识符,和安装在中间网络部件的权利要求1所述的专用包。
7.用于存储权利要求1、2、4或5所述的、从一个终点流到另一个终点的一个或多个数据包经过的中间网络部件的签名的数据格式,包含:
i.数据包流向的终点的标识,
ii.数据包流出的起点的标识,
iii.数据包所属的传输协议,
iv.按照数据包经过的从存储着数据格式的中间网络部件到终点的顺序的中间网络部件的签名的阵列,和
v.按照数据包经过的从存储着数据格式的中间网络部件到终点的顺序的中间网络部件的签名的数量。
8.一种提取插入到权利要求1、2、4或5所述的一个或多个数据包中的中间网络部件的签名,以便用权利要求7所述的数据格式进行存储的方法,包括步骤:
i.检查是否有签名插在数据包中,
ii.检查是否存在权利要求7所述的、以前存储的、具有相同起点和终点以及传输协议的数据格式,
iii.当没有以前存储的、具有相同起点和终点以及传输协议的数据格式时,分配一个新的数据格式,
iv.分析以以前存在的、具有相同起点、终点、和传输协议的数据格式中存储的数据,
v.准备一个空的后进先出数据结构,
vi.提取数据包中的每个插入的签名,和将其存入后进先出数据结构,
vii.取出后进先出数据结构中的每个元素,并且将其记录到权利要求7所述的数据格式,和
viii.将提取的插入签名的数量记录到权利要求7所述的数据格式中。
9.分析权利要求2所述的规则说明以确定是否要分布一部分或全部的规则说明的方法,包括步骤:
i.检查规则说明中的每个规则的语法有效性,
ii.如果存在语法错误,那么拒绝规则,
iii.检查规则中的权利要求3中所述的分布指示,
iv.如果不存在分布指示,那么本地评价规则,
v.确定对其分布规则的远端中间网络部件,
vi.如果不能发现适合于对其分布规则的远端中间网络部件,那么本地评价规则,
vii.检查远端中间网络部件是否包含规则中需要的专用包,
viii.如果远端中间网络部件没有需要的专用包,那么本地评价规则,和
ix.将规则分布到远端中间网络部件。
10.确定权利要求9所述的、对其分布规则的、给予权利要求3所述的分布指示的远端中间网络部件的方法,包括步骤:
i.通过匹配起点、终点、和传输协议找到权力要求7中所述的数据格式的方法,
ii.如果不能找到权利要求7所述的数据格式,那么宣布没有合适的远端中间网络部件,
iii.在给出的分布指示中将一个临时变量设置到朝或从指定终点方向的中介的指定数量,
iv.将如果给出的分布指示中的朝或从终点方向的中介的指定数量大于给定分布指示中的朝或从指定终点方向的中介的数量,那么将临时变量设置到找到的、如权利要求7中所述的数据格式中给出的中介的数量的值,
v.在如权利要求3所述的规定分布指示包括终点的说明和朝指定终点方向的中间网络部件的数量的说明时,将临时变量设置到一个等于权利要求1所述的找到的数据格式中给出的中介的数量减去临时变量中的原始值的值,
vi.在如权利要求3所述的规定的分布指示包括终点的说明和从指定终点方向的中间网络部件的数量的说明时,将临时变量设置到一个等于临时变量中的原始植减1的值,
vii.在如权力要求7所述的查找到的数据格式的签名阵列中,签名具有一个等于的存储在临时变量中的值的指数时,如果存在这样一个指数,那么宣布远端中间网络部件是以权利要求7所述的找到的数据格式存储的签名中规定的网络部件,和
viii.如果权利要求7所述的找到的数据格式的签名阵列中不存在等于存储在临时变量中的值的指数,那么宣布没有合适的远端中间网络部件。
11.一种向权利要求1所述的中间网络部件发出信号以表达希望在规则说明中将一个或多个规则的集合分布到中间网络部件的信令的格式,包括:
i.对其在规则说明中分布了一个或多个规则的集合的中间网络部件的标识,
ii.从其在规则说明中分布了一个或多个规则的集合的中间网络部件的标识,和
iii.规则说明中的一个或多个规则的集合的标识。
12.通过对其分布规则集合的中间网络部件,从分布规则集合的、权利要求1所述的中间网络部件,检索规则说明中的一个或多个规则的集合的装置,包括:
i.在对其分布规则集合的中间网络部件与从其分布规则集合的中间网络部件之间建立通信信道,
ii.通过对其分布规则集合的中间网络部件,经过通信信道,提供权利要求11所述的被分布的规则集合的标识,和
iii.通过从其分布规则集合的中间网络部件,经过通信信道,发送被分布的规则的集合。
13.用于在连接两个或更多通信网的中间网络部件控制资源的网络控制框架装置,其中此后称为客户节点的终点节点经过一个或多个中介将请求发送到此后称为服务器节点的其它终点节点,服务器节点用适当的响应接受请求,通过中介在服务器内容服务器与客户节点之间建立通信信道,服务器节点通过通信信道开始将数据包发送到客户节点,直到客户节点通过中介发送请求,以撤销通信信道,和客户节点可以将有关传输统计的信息发送回服务器节点,所述网络控制框架装置包括以下实体:
i.提供网关功能的网关,
ii.根据指定的规则执行网络资源控制决策的规则引擎模块,其中规则是以此后称为规则说明的规则说明格式说明的,
iii.加到规则引擎模块上的一个或多个专用包,其中所述专用包将特定的功能提供给规则引擎模块,和
iv.向或从规则引擎模块注入或取出规则说明的规则注入模块。
14.提供权利要求13所述的规则说明的作者,以根据以下的控制方法在权利要求13所述的中间网络部件触发一个或多个规则的装置,
i.当中间网络部件接收到一个从客户节点到服务器节点的请求包时,评价规则,
ii.当中间网络部件接收到一个从服务器节点到客户节点的响应包时,评价规则,
iii.当中间网络部件接收到一个包含服务器节点通过服务器节点与客户节点之间建立的通信信道发送到客户节点的内容的数据包时,评价规则,
iv.当中间网络部件接收到包含从客户节点到服务器节点的发送统计的数据包时,评价规则,
v.当中间网络部件接收到规定数量的包含服务器节点通过服务器节点与客户节点之间建立的通信信道发送到客户节点的内容的数据包时,评价规则,和
vi.当中间网络部件接收到包含服务器节点在一个规定的定时器值的循环定时过去之后,通过服务器节点与客户节点之间建立的通信信道发送到客户节点的内容的数据包时,评价规则。
15.在权利要求1所述的规则说明中使用以控制一个或多个内容或内容传递对话,从而在所述内容传递中取得设备独立的一组参数,包括:
i.由消费内容的人类用户的优先选择构成的用户优先选择参数组,
ii.由人类用户使用以检索内容的软件代理的性能组成的代理性能参数组,
iii.由人类用户使用以检索内容的硬件的性能组成的设备性能参数组,和
iv.由有关人类用户检索内容的环境的信息组成的自然环境参数组。
16.根据权利要求15所述的用户优先选择参数组包括:
i.有关检索内容的方法的人类用户的优先选择,
ii.有关在检索的内容中使用的语言的人类用户的优先选择,
iii.有关检索的内容的表现的人类用户的优先选择,
iv.检索内容的人类用户的年龄组,
v.检索内容的人类用户的性别,和
vi.检索内容的人类用户的职业状态。
17.根据权利要求15所述的代理性能参数组包括:
i.人类用户使用以检索内容的软件代理的类型,
ii.人类用户使用以检索内容的软件代理支持的内容格式,
iii.人类用户使用以检索内容的软件代理支持的内容语言,和
iv.人类用户使用以检索内容的软件代理支持的传输协议。
18.根据权利要求15所述的设备性能参数组包括:
i.人类用户使用以检索内容的硬件的类型,
ii.人类用户使用以检索内容的硬件的处理器速度和处理器系列,
iii.人类用户使用以检索内容的硬件的物理和二级存储器的存储容量,
iv.人类用户使用以检索内容的硬件的显示对比度和清晰度,和
v.在人类用户使用以检索内容的硬件上运行的操作系统。
19.根据权利要求15所述的自然环境参数组包括:
i.人类用户检索内容的位置的信息,
ii.人类用户检索内容的移动性的信息,和
iii.人类用户检索内容的照明条件的信息。
20.安装到权利要求1所述的中间网络部件的、能够翻译和评价使用权利要求15、16、17、或18所述的参数组构造的规则说明的专用包。
CN038062755A 2002-03-18 2003-03-17 利用分布规则配置和控制内容传递中的网络资源的方法和设备 Expired - Fee Related CN1643878B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US36458502P 2002-03-18 2002-03-18
US60/364,585 2002-03-18
PCT/JP2003/003140 WO2003078459A2 (en) 2002-03-18 2003-03-17 Method and apparatus for configuring and controlling network resources in content delivery with distributed rules

Publications (2)

Publication Number Publication Date
CN1643878A true CN1643878A (zh) 2005-07-20
CN1643878B CN1643878B (zh) 2011-05-11

Family

ID=28041938

Family Applications (1)

Application Number Title Priority Date Filing Date
CN038062755A Expired - Fee Related CN1643878B (zh) 2002-03-18 2003-03-17 利用分布规则配置和控制内容传递中的网络资源的方法和设备

Country Status (6)

Country Link
US (1) US7734746B2 (zh)
EP (1) EP1487871B1 (zh)
CN (1) CN1643878B (zh)
AU (1) AU2003214651A1 (zh)
DE (1) DE60302051T2 (zh)
WO (1) WO2003078459A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101828360B (zh) * 2007-10-31 2013-02-13 朗讯科技公司 用于在自学习网络中调节终端用户终端的方法和设备
CN103348335A (zh) * 2010-10-22 2013-10-09 阿弗梅德网络公司 将多个功能聚集到单一平台
CN111712821A (zh) * 2018-02-21 2020-09-25 西门子股份公司 用于计算机辅助地对技术系统参数化的方法

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7644172B2 (en) 2002-06-24 2010-01-05 Microsoft Corporation Communicating via a connection between a streaming server and a client without breaking the connection
US7162237B1 (en) 2002-07-26 2007-01-09 Bellsouth Intellectual Property Corporation System for automatic selection of profile based on location
US7379464B2 (en) * 2002-11-27 2008-05-27 At&T Bls Intellectual Property, Inc. Personal digital gateway
US7263102B2 (en) * 2002-11-27 2007-08-28 At&T Intellectual Property, Inc. Multi-path gateway communications device
US7224698B2 (en) * 2002-11-27 2007-05-29 Bellsouth Intellectual Property Corporation Edge side assembler
US7409454B2 (en) * 2003-06-02 2008-08-05 Microsoft Corporation Automatic detection of intermediate network device capabilities
US20050071663A1 (en) * 2003-09-26 2005-03-31 General Instrument Corporation Separation of copy protection rules for digital rights management
WO2006042424A1 (en) * 2004-10-19 2006-04-27 Eidgenössische Technische Hochschule Zürich Distributed internet traffic control system
US7739687B2 (en) * 2005-02-28 2010-06-15 International Business Machines Corporation Application of attribute-set policies to managed resources in a distributed computing system
US7657536B2 (en) * 2005-02-28 2010-02-02 International Business Machines Corporation Application of resource-dependent policies to managed resources in a distributed computing system
US8166547B2 (en) 2005-09-06 2012-04-24 Fortinet, Inc. Method, apparatus, signals, and medium for managing a transfer of data in a data network
US20070208861A1 (en) * 2006-03-02 2007-09-06 Zellner Samuel N User preference interpretation
US20070208860A1 (en) * 2006-03-02 2007-09-06 Zellner Samuel N User specific data collection
US7747246B2 (en) 2006-03-02 2010-06-29 At&T Intellectual Property I, L.P. Environment independent user preference communication
US9386327B2 (en) * 2006-05-24 2016-07-05 Time Warner Cable Enterprises Llc Secondary content insertion apparatus and methods
US8280982B2 (en) 2006-05-24 2012-10-02 Time Warner Cable Inc. Personal content server apparatus and methods
US8024762B2 (en) 2006-06-13 2011-09-20 Time Warner Cable Inc. Methods and apparatus for providing virtual content over a network
US8539065B2 (en) 2006-07-26 2013-09-17 Cisco Technology, Inc. Method and apparatus for providing access to real time control protocol information for improved media quality control
US20080037518A1 (en) * 2006-07-26 2008-02-14 Parameswaran Kumarasamy Method and apparatus for voice over internet protocol call signaling and media tracing
US8181206B2 (en) 2007-02-28 2012-05-15 Time Warner Cable Inc. Personal content server apparatus and methods
US10321528B2 (en) * 2007-10-26 2019-06-11 Philips Lighting Holding B.V. Targeted content delivery using outdoor lighting networks (OLNs)
US9503691B2 (en) 2008-02-19 2016-11-22 Time Warner Cable Enterprises Llc Methods and apparatus for enhanced advertising and promotional delivery in a network
US10015158B2 (en) 2008-02-29 2018-07-03 Blackberry Limited Methods and apparatus for use in enabling a mobile communication device with a digital certificate
US9479339B2 (en) * 2008-02-29 2016-10-25 Blackberry Limited Methods and apparatus for use in obtaining a digital certificate for a mobile communication device
CN101291337B (zh) * 2008-05-30 2012-11-07 同济大学 一种网格资源管理系统及管理方法
US20100241690A1 (en) * 2009-03-20 2010-09-23 Microsoft Corporation Component and dependency discovery
US8923293B2 (en) * 2009-10-21 2014-12-30 Palo Alto Research Center Incorporated Adaptive multi-interface use for content networking
KR101310907B1 (ko) * 2009-12-21 2013-09-25 한국전자통신연구원 통합형 브이오디 서비스 시스템
US20110264530A1 (en) 2010-04-23 2011-10-27 Bryan Santangelo Apparatus and methods for dynamic secondary content and data insertion and delivery
US9252916B2 (en) 2012-02-13 2016-02-02 Affirmed Networks, Inc. Mobile video delivery
US20140052793A1 (en) * 2012-08-15 2014-02-20 Microsoft Corporation Message synchronization with extended properties
US20140282786A1 (en) 2013-03-12 2014-09-18 Time Warner Cable Enterprises Llc Methods and apparatus for providing and uploading content to personalized network storage
US9264890B2 (en) 2013-09-05 2016-02-16 Htc Corporation Mobile device configuration system and method
MX351053B (es) 2014-01-30 2017-09-29 Ericsson Telefon Ab L M Un método, nodos y un dispositivo de comunicación para manejar información de retroalimentación.
KR102178142B1 (ko) 2014-04-30 2020-11-13 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 모바일 네트워크의 용량 확장 최적화
US10855645B2 (en) 2015-01-09 2020-12-01 Microsoft Technology Licensing, Llc EPC node selection using custom service types
US9667683B2 (en) * 2015-05-28 2017-05-30 Alcatel-Lucent Usa Inc. Scalable architecture for media mixing
US10540628B2 (en) * 2015-09-17 2020-01-21 International Business Machines Corporation Hierarchical business rule model
US10382208B2 (en) * 2016-04-29 2019-08-13 Olympus Sky Technologies, S.A. Secure communications using organically derived synchronized processes
JP7178365B2 (ja) 2017-05-05 2022-11-25 マイクロソフト テクノロジー ライセンシング,エルエルシー サービス能力公開機能(scef)ベースのインターネットオブシングス(iot)通信の方法とシステム
CN110800275B (zh) 2017-05-31 2022-09-23 微软技术许可有限责任公司 Ipsec地理冗余的解耦控制和数据平面同步
US10856134B2 (en) 2017-09-19 2020-12-01 Microsoft Technolgy Licensing, LLC SMS messaging using a service capability exposure function
US10917700B2 (en) 2018-02-02 2021-02-09 Microsoft Technology Licensing, Llc Estimating bandwidth savings for adaptive bit rate streaming
US11051201B2 (en) 2018-02-20 2021-06-29 Microsoft Technology Licensing, Llc Dynamic selection of network elements
BR112020018950A2 (pt) 2018-03-20 2020-12-29 Affirmed Networks, Inc. Sistemas e métodos para fatiamento de rede
EP3827577B1 (en) 2018-07-23 2023-09-13 Microsoft Technology Licensing, LLC System and method for intelligently managing sessions in a mobile network
EP3912035A1 (en) 2019-01-15 2021-11-24 Microsoft Technology Licensing, LLC Dynamic auto-configuration of multi-tenant paas components
US10623275B1 (en) * 2019-02-27 2020-04-14 Bank Of America Corporation Network operational decision engine
US11403849B2 (en) 2019-09-25 2022-08-02 Charter Communications Operating, Llc Methods and apparatus for characterization of digital content
CN115831248B (zh) * 2023-02-20 2023-06-06 新疆独山子石油化工有限公司 一种反应规则的确定方法、装置、电子设备及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5781534A (en) 1995-10-31 1998-07-14 Novell, Inc. Method and apparatus for determining characteristics of a path
CN1206526A (zh) * 1995-12-28 1999-01-27 德纳克公司 管理网络资源的方法和设备
US6973488B1 (en) * 2000-03-31 2005-12-06 Intel Corporation Providing policy information to a remote device
US6718361B1 (en) * 2000-04-07 2004-04-06 Network Appliance Inc. Method and apparatus for reliable and scalable distribution of data files in distributed networks
EP1305924B1 (en) * 2000-04-07 2010-03-31 Network Appliance, Inc. Method and apparatus for reliable and scalable distribution of data files in distributed networks
US7099932B1 (en) * 2000-08-16 2006-08-29 Cisco Technology, Inc. Method and apparatus for retrieving network quality of service policy information from a directory in a quality of service policy management system
US6983326B1 (en) * 2001-04-06 2006-01-03 Networks Associates Technology, Inc. System and method for distributed function discovery in a peer-to-peer network environment
US7080141B1 (en) * 2002-04-12 2006-07-18 Cisco Technology, Inc. Arrangement for automated fault detection and fault resolution of a network device
JP4324428B2 (ja) * 2003-07-28 2009-09-02 富士通株式会社 メール送信方法、メール送信プログラムおよびメール送信サーバ
US7376154B2 (en) * 2003-08-29 2008-05-20 Agilent Technologies, Inc. Non-intrusive method for routing policy discovery
US7496649B2 (en) * 2004-02-20 2009-02-24 Microsoft Corporation Policy application across multiple nodes

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101828360B (zh) * 2007-10-31 2013-02-13 朗讯科技公司 用于在自学习网络中调节终端用户终端的方法和设备
CN103348335A (zh) * 2010-10-22 2013-10-09 阿弗梅德网络公司 将多个功能聚集到单一平台
CN111712821A (zh) * 2018-02-21 2020-09-25 西门子股份公司 用于计算机辅助地对技术系统参数化的方法
US11669641B2 (en) 2018-02-21 2023-06-06 Siemens Aktiengesellschaft Method for the computer-aided parameterization of a technical system

Also Published As

Publication number Publication date
CN1643878B (zh) 2011-05-11
AU2003214651A1 (en) 2003-09-29
WO2003078459A3 (en) 2004-04-15
EP1487871A2 (en) 2004-12-22
EP1487871B1 (en) 2005-10-26
US7734746B2 (en) 2010-06-08
DE60302051T2 (de) 2006-07-20
US20050111467A1 (en) 2005-05-26
WO2003078459A2 (en) 2003-09-25
DE60302051D1 (de) 2005-12-01
AU2003214651A8 (en) 2003-09-29

Similar Documents

Publication Publication Date Title
CN1643878A (zh) 利用分布规则配置和控制内容传递中的网格资源的方法和设备
US7089319B2 (en) Method and system for instantaneous on-demand delivery of multimedia content over a communication network with aid of content capturing component, delivery-on-demand client and dynamically mapped resource locator server
KR100779751B1 (ko) 데이터 정보 획득 방법 및 장치
CN1774890B (zh) 用于网络中速率控制服务的系统和方法
US20180352056A1 (en) Multicast-unicast protocol converter
CN100583880C (zh) 用于广播多媒体内容的系统
CN100486170C (zh) 传送前摄http内容的方法和设备
CN1909509A (zh) 在媒体分发网络中实现视频直播的系统、方法和客户端
US8000339B2 (en) Method and system for transparently transcoding a multicast stream
CN100492975C (zh) 业务计费方法、系统、网络接入服务器及协议解析装置
US8407260B2 (en) Method and apparatus for caching broadcasting information
US20080155016A1 (en) Content procurement architecture
CN1968227A (zh) 一种无线接入网关支持透明代理的系统及方法
CN1913528A (zh) 基于特征码的p2p数据报文检测方法
CN1518281A (zh) Ip路由器、通信系统和其中使用的频带设置方法及程序
CN1656789A (zh) 基于接收终端性能及偏好的sip消息的适配系统
CN1561618A (zh) 用于增加通信网络的有效带宽的系统及方法
JP2009010973A (ja) 放送媒体でウェブ・コンテンツを配信するシステム
JP2005110079A (ja) フロー制御方式およびフロー制御方法
CN109413138B (zh) 文件上传方法和装置
CN100377522C (zh) 一种内容分发网络中oma下载的实现方法
US20120047248A1 (en) Method and System for Monitoring Flows in Network Traffic
CN103201734B (zh) 上下文知晓的内容传送
US20200213907A1 (en) Method and system for managing the download of data
Held A practical guide to content delivery networks

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110511

Termination date: 20200317

CF01 Termination of patent right due to non-payment of annual fee