CN1701304B - System, method and apparatus for inspecting packet routing via payload in a publish-subscribe network - Google Patents

System, method and apparatus for inspecting packet routing via payload in a publish-subscribe network Download PDF

Info

Publication number
CN1701304B
CN1701304B CN 03821206 CN03821206A CN1701304B CN 1701304 B CN1701304 B CN 1701304B CN 03821206 CN03821206 CN 03821206 CN 03821206 A CN03821206 A CN 03821206A CN 1701304 B CN1701304 B CN 1701304B
Authority
CN
Grant status
Grant
Patent type
Prior art keywords
network
routing
packet
cache
data
Prior art date
Application number
CN 03821206
Other languages
Chinese (zh)
Other versions
CN1701304A (en )
Inventor
Y·黄
A·W·P·冯
D·S·罗森布卢姆
S·亚尼克
R·特奥多雷斯库
T·-W·陈
C·-M·林
C·-Y·王
P·-F·杨
R·C·冷
Original Assignee
普里凯许公司
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
Grant date

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L29/00Arrangements, apparatus, circuits or systems, not covered by a single one of groups H04L1/00 - H04L27/00 contains provisionally no documents
    • H04L29/02Communication control; Communication processing contains provisionally no documents
    • H04L29/06Communication control; Communication processing contains provisionally no documents characterised by a protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic regulation in packet switching networks
    • H04L47/10Flow control or congestion control
    • H04L47/24Flow control or congestion control depending on the type of traffic, e.g. priority or quality of service [QoS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/28Network-specific arrangements or communication protocols supporting networked applications for the provision of proxy services, e.g. intermediate processing or storage in the network
    • H04L67/2842Network-specific arrangements or communication protocols supporting networked applications for the provision of proxy services, e.g. intermediate processing or storage in the network for storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/32Network-specific arrangements or communication protocols supporting networked applications for scheduling or organising the servicing of application requests, e.g. requests for application data transmissions involving the analysis and optimisation of the required network resources
    • H04L67/322Network-specific arrangements or communication protocols supporting networked applications for scheduling or organising the servicing of application requests, e.g. requests for application data transmissions involving the analysis and optimisation of the required network resources whereby quality of service [QoS] or priority requirements are taken into account
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/32Network-specific arrangements or communication protocols supporting networked applications for scheduling or organising the servicing of application requests, e.g. requests for application data transmissions involving the analysis and optimisation of the required network resources
    • H04L67/327Network-specific arrangements or communication protocols supporting networked applications for scheduling or organising the servicing of application requests, e.g. requests for application data transmissions involving the analysis and optimisation of the required network resources whereby the routing of a service request to a node providing the service depends on the content or context of the request, e.g. profile, connectivity status, payload or application type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations contains provisionally no documents
    • H04L12/18Arrangements for providing special services to substations contains provisionally no documents for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations contains provisionally no documents for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations contains provisionally no documents
    • H04L12/18Arrangements for providing special services to substations contains provisionally no documents for broadcast or conference, e.g. multicast
    • H04L12/1895Arrangements for providing special services to substations contains provisionally no documents for broadcast or conference, e.g. multicast for short real-time information, e.g. alarms, notifications, alerts, updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/28Network-specific arrangements or communication protocols supporting networked applications for the provision of proxy services, e.g. intermediate processing or storage in the network
    • H04L67/2823Network-specific arrangements or communication protocols supporting networked applications for the provision of proxy services, e.g. intermediate processing or storage in the network for conversion or adaptation of application content or format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Application independent communication protocol aspects or techniques in packet data networks
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32High level architectural aspects of 7-layer open systems interconnection [OSI] type protocol stacks
    • H04L69/322Aspects of intra-layer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Aspects of intra-layer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer, i.e. layer seven

Abstract

Packet routing via payload inspection at routers in a core of a distributed network for use in distributing digital content such as video, music, and software. Packets include subjects and attributesin addition to routing information. The subjects correspond with particular types of content for subscriptions, and the attributes encapsulate the data or content, which can include video, music, or software such as software updates. The routers store filters corresponding with subscriptions to content. Upon receiving a packet, a router inspects the payload section of the packet containing the attributes in order to retrieve the attributes and apply them to the filters for the subscriptions to the digital content. If an attribute satisfies a filter, the packet is routed to the next link. If the attributes do not satisfy the filters, the router discards the packet. These routing decisions are distributed among routers in the network core.

Description

在发布-订购网络中通过有效载荷检测进行分组路由的系统、方法和装置 For packet routing system, method and apparatus Usually network through detecting the payload - the release

[0001] 对相关申请的引用 [0001] reference to Related Applications

[0002] 本申请通过引用结合2002年7月8日提交的题为“通过有效载荷检测针对服务质量管理的分组路由”的美国临时申请No. 60/394631,并要求享有其优先权。 [0002] The present application is incorporated by reference, entitled July 8, 2002 filed "by detecting the payload of the packet routing services for quality management," US Provisional Application No. 60/394631, and claims the benefit of priority. 本专利申请还是以下均于2002年7月19日提交的题为“通过有效载荷检测的分组路由”的美国专利申请No. 10/199356、题为“在采用信道的路由器上进行基于内容的路由和过滤的方法和装置”的美国专利申请No. 10/199368、题为“在网络上发送与接收布尔函数的方法”的美国专利申请No. 10/199439、题为“用于存储布尔函数以在网络上实现评估、修改、再利用和交付的方法”的美国专利申请No. 10/199369以及题为“在基于连接的路由中关于大小可变字段的通配符匹配的有效实现”的美国专利申请No. 10/199388的部分继续申请(CIP),并且通过引用将它们全部结合在此。 This patent application is entitled to all the following July 19, 2002 filed "by the payload packet routing detection" US Patent Application No. 10/199356, entitled "based on the content router using channel routing and a method and apparatus for filtering, "U.S. Patent application No. 10/199368, entitled" method for transmitting and receiving Boolean functions on the network, "U.S. Patent application No. 10/199439, entitled" Boolean function to store implemented method of evaluation, to modify the network, reuse and delivery "U.S. Patent application No. 10/199369 entitled" connected routing based on effective to achieve a wildcard match the variable size fields, "U.S. Patent application No. 10/199388 continuation-part (CIP), and all of which are incorporated by reference herein.

[0003] 本申请还通过引用结合了以下于2003年3月28日提交的美国专利申请,并作为它们的CIP :题为“用于在不可靠的网络中进行可靠发布和订购的方法和装置”的申请No. 10/400671、题为“采用紧凑过滤存储和离线预计算进行基于内容的分组路由的方法和装置”的申请No. 10/400465、题为“用于在发布-订购网络中实现查询响应交互的方法和装置”的申请No. 10/400453、题为“实现持续可靠的消息交付的方法和装置”的申请No. 10/400462以及题为“针对发布-订购网络传播内容过滤器的方法和装置”申请No.10/400444。 [0003] The present application also incorporates by reference the following US patent applications in 2003, filed March 28, and as their CIP: entitled "publish and subscribe for a reliable method and apparatus in unreliable network "application No. 10/400671, entitled" compact storage and filtering off precomputation based on the content of packet routing method and apparatus for "application No. 10/400465, entitled" publish - Usually network method and apparatus for query response interaction "application No. 10/400453, entitled" method and apparatus for continuous and reliable delivery of the message "application No. 10/400462 entitled" for the publisher - Purchase network communication content filtering method and apparatus for "an application No.10 / 400444.

技术领域 FIELD

[0004] 本发明涉及一种基于分组中的有效载荷的检测在网络核心中路由该分组用以提供告警服务的方法和装置。 [0004] The present invention relates to a method and apparatus for detecting payload packet routing in the packet-based core network for providing alerting service.

背景技术 Background technique

[0005] 如今网络带宽正按指数规律急剧递增。 [0005] Today, the network bandwidth being exponentially sharp increase. 然而网络的基础设施(包括路由器、服务器、守护程序和协议等)仍在使用相对较旧的技术。 However, the network infrastructure (including routers, servers, daemons and protocols, etc.) are still using relatively old technology. 因此因特网应用软件和网络路由器发展速度跟不上带宽增加的速度。 Therefore, Internet application software development and network routers not keep pace with increased bandwidth speed. 同时,越来越多的设备和应用软件变为网络使能的。 At the same time, more and more devices and applications become network-enabled. 这些设备和应用软件给网络节点施加的负载已大大增加。 These devices and applications to the network node applied load has increased dramatically. 网络负载和应用软件数量的增加使得实现和维护网络应用软件变得更为复杂。 Increase network load and the number of applications makes implementation and maintenance of Web applications become more complex. 因此,网络带宽的增加以及网络设备和应用软件的普遍使用使得越来越难在旧的网络基础设施中路由和传输数据,特别是在向订户发布内容时尤其如此。 Therefore, increasing the widespread use of network bandwidth and network equipment and application software makes more difficult the routing and transmission of data in the old network infrastructure, in particular, is especially true when you publish content to subscribers.

[0006] 一种用于使网络将信息从服务器推向客户机的模型是发布-订购形式。 [0006] for the network information from the server into the client's model is released - order form. 在这一模型中,服务器成为简单的信息发布方,而不考虑哪个客户机可能对信息感兴趣或客户机在网络中的位置。 In this model, the server becomes simple information publisher, which the client may be interested in information on the location or the client in the network regardless. 客户机成为信息的订户,当信息可得时便接收所交付的信息,而可以不考虑在网络中发布它的具体位置。 The client become subscriber information, when the information will be available to receive information delivered, but may not consider publish its specific location in the network. 网络则负责:高效地将所发布的信息路由给订户、将信息与有效订购匹配、并以对发布方和订户均透明的方式执行上述操作。 Network is responsible for: efficiently routing published information to subscribers, subscription information with valid match, and to all subscribers on the publisher and transparent manner to perform the above operations.

[0007] 由于在发布-订购模型中服务器的复杂度大大降低,因此重要的服务器与不重要的客户机之间变得没有差别,或者可以将它们合并为或者是发布方或者是订户、或者是二者的对等物。 [0007] Since the release - the complexity of the subscription model server is greatly reduced, and therefore becomes important between the server and the client is not unimportant difference, or they may be combined into either the issuer or a subscriber, or both peer. 对于在对等物之间进行发布-订购形式的交互,许多类型的应用软件具有自然亲和性。 To be published between Peer - pre-order interactions, many types of application software has a natural affinity. 许多这些应用软件所基于的共同主题是所发布和订购的信息是以事件形式的。 The common theme in many of these applications are software-based and subscription information is published in the form of event. 例如,投资者购买或出售股票,使得股票价格变化。 For example, investors buy or sell stocks, making the stock price changes. 高速公路上发生交通事故,使得高速公路上交通堵塞。 Traffic accidents on the highway, making traffic jam on the highway. 软件系统中的安全突破口被发现,使得要为软件使用者开发补丁。 Security breach was discovered in the software system, making the software users to develop patches. 一个玩家在网络游戏中开火射击,使得另一玩家操纵的虚拟人物死亡。 A player in online games opened fire, making virtual characters to manipulate another player's death. 所有这些具有代表性的现象都是大多数订户感兴趣的事件,并且可通过网络传播以通知那些订户发生了这些事件。 All these phenomena are most representative of subscriber events of interest, and can be spread through the network to notify those subscribers of these events took place. 因此,事件只不过是关于在网络上某地某时发生的可能引起兴趣的某事的独立简洁的信息。 Therefore, the event is only independent concise information about something that may be of interest occurred sometime somewhere on the network.

[0008] 为了命令网络在何处按发布-订购模型发送所发布的内容,一般由服务器或发布方执行网络路由决策。 [0008] In order to command issued by the network where - order model to send the published content, network routing decisions typically performed by a server or publisher. 发布方存储关于它发布的内容的订购。 Publisher content stored on its release order. 当接收或产生新的内容时,发布方便将该内容与每个订购相比较以识别任何匹配之处。 Upon receiving or generating new content, the content and facilitate release compared to identify each Usually, at any of the matches. 如果该内容(事件)满足订购,则发布方通过网络将内容推向相应的订户。 If the content (event) to meet the order, the publisher through the network content into the appropriate subscribers. 这种常规的发布-订购模型给发布方造成巨大的负担,特别是在越来越多的设备成为网络使能以及在订购数量增加时,尤其如此。 This conventional publish - subscribe model enormous burden on the issuer, especially in more and more devices become network enabled and when increasing the order quantity, in particular.

[0009] 随着因特网中无数应用愈加汇聚,利用事件通知的可能性将变得无穷止尽。 [0009] As the Internet increasingly converging in many applications, the possibility of using the event notification will become endless endless. 然而,这些可能性需要一种更有效的方式来作出路由决策并确定何时事件满足订购,从而减轻发布方的负担。 However, these possibilities need for a more efficient way to make routing decisions and determine when the event to meet the order, so as to reduce the burden on the issuer. 因此,普遍的持久事件通知服务可为因特网应用以及其他应用和实现提供极大的增值效益。 Therefore, generally lasting event notification service can provide great benefits for value-added Internet applications as well as other applications and implementations.

发明内容 SUMMARY

[0010] 一种方法和装置提供了在网络中进行路由分组用以提供告警服务。 [0010] A method and apparatus provide for routing packets in a network for providing alerting service. 此方法和装置克服了现有技术的缺陷。 The method and apparatus overcomes the drawbacks of the prior art. 该方法和装置的一个优点包括在处理和路由视频剪辑时显著减小了网络负担。 An advantage of this method and apparatus included in the processing and routing video clips significantly reducing network burden. 另一个优点包括减小了路由视频剪辑的带宽需求。 Another advantage includes reducing bandwidth requirements routing video clips. 还有一个优点包括减少了数字视频录像机局域网上的业务量。 Another advantage includes reducing the traffic on the local area network digital video recorder.

[0011] 在实现这些和其他优点的实施例中,接收具有首部部分和有效载荷部分的分组,其包含有与来自特定摄像机的视频剪辑有关的信息。 [0011] In embodiments achieve these and other advantages, a packet is received having a header portion and a payload portion, which contains information relating to a video clip from a particular camera. 在网络核心中检测有效载荷部分,用于确定是否以及如何路由分组给订户来自特定摄像机的信息,并基于检测对此分组有选择地进行路由。 Detecting payload portion in the core network, for determining whether and how to route the packet to the subscriber information from the particular camera, and selectively routing the packet based on this detection. 这些和其它优点还可通过例如具有完成这些步骤的模块的装置来实现。 These and other advantages such as a device having a module completes these steps may also be achieved by.

[0012] 这些和其它优点还可利用例如在网络中路由消息来提供告警服务的方法来实现。 [0012] These and other advantages can also be achieved, for example, using the method of routing messages in a network providing alert services. 此方法包括:接收具有首部部分、至少一个主体和至少一个属性的消息,属性涉及来自特定摄像机的视频剪辑;从消息中检索主体和属性;根据主体检索订购;以及为了确定是否以及如何路由消息给订户来自特定摄像机的信息,在网络核心中将属性应用于订购。 The method comprising: receiving a header portion, the at least one message body, and at least one attribute, the attribute refers to a video clip from a particular camera; retrieving the subject and the attribute from the message; depending upon the host retrieves the subscriber; and to determine whether and how to route messages to subscriber-specific information from the camera, the properties will be applied to the network core in order. 这些和其它优点还可通过例如包括执行这些步骤的模块的装置来实现。 These and other advantages may also comprise, for example, by means of modules executed to implement these steps.

[0013]同样,这些和其它优点可利用例如在网络中路由分组来提供告警服务的方法来实现。 [0013] Similarly, these and other advantages may be achieved using the method of routing packets in a network, for example, to provide an alert service. 此方法包括:接收具有首部部分和有效载荷的分组,其中有效载荷部分包涉及特定告警服务的事件的信息;在网络核心中检测分组的有效载荷部用以确定是否以及如何路由分组给订户告警服务信息;以及基于检测有选择地路由该分组。 This method includes: receiving a packet having a header portion and a payload, wherein the payload portion of the packet information related to the event-specific alert services; network core payload portion detects the packet to determine whether and how to route the packet to subscribers alerting service information; and detecting the packet is selectively routed based. 这些和其它优点还可通过例如包括执行这些步骤的模块的装置来实现。 These and other advantages may also comprise, for example, by means of modules executed to implement these steps.

附图说明 BRIEF DESCRIPTION

[0014] 附图结合于并组成此说明的一部分,它与说明书一起用于阐述本发明的优点和原理。 [0014] The accompanying drawings incorporated in and constitute a part of this description, which, together with the description set forth for the advantages and principles of the invention.

[0015] 图I是说明在网络核心中进行智能路由的图。 [0015] Figure I is a diagram illustrating intelligent routing in a network core in FIG.

[0016] 图2是说明发布方和订户的智能路由器的图。 [0016] FIG. 2 is a diagram illustrating publisher and subscriber intelligent router.

[0017] 图3是说明智能路由器和主干路由器的网络基础设施的图。 [0017] Figure 3 illustrates the network infrastructure and intelligent router backbone router.

[0018] 图4是智能路由器的硬件部件图。 [0018] FIG. 4 is an intelligent router hardware components in FIG.

[0019] 图5是发布方和用户机的图。 [0019] FIG. 5 is a diagram of publisher and user machines.

[0020] 图6是智能路由器的信道管理器的图。 [0020] FIG. 6 is a channel manager of the intelligent router of FIG.

[0021] 图7是在用户机中用于将该机与智能路由器接口的软件部件图。 [0021] FIG. 7 is a software component for the machine of FIG intelligent router interface with the user machine.

[0022] 图8是智能路由器的软件部件图。 [0022] FIG. 8 is an intelligent router software components of FIG.

[0023] 图9是消息的分组结构图。 [0023] FIG. 9 is a configuration diagram of a message packet.

[0024] 图10是发布方方法的流程图。 [0024] FIG. 10 is a flowchart of a method issuer.

[0025] 图11是订户方法的流程图。 [0025] FIG. 11 is a flowchart of a method of the subscriber.

[0026] 图12是信道和订户屏幕的图。 [0026] FIG. 12 is a diagram of channel and subscriber screens.

[0027] 图13是基于内容的路由方法的流程图。 [0027] FIG. 13 is a flowchart based on the content routing method.

[0028] 图14是高速缓存方法的流程图。 [0028] FIG. 14 is a flowchart of cache method.

[0029] 图15是说明高速缓存索引的图。 [0029] FIG. 15 is a diagram illustrating a cache index.

[0030] 图16是输出消息的代理方法的流程图。 [0030] FIG. 16 is a flowchart of a method of outputting a message to the agent.

[0031] 图17是输入消息的代理方法的流程图。 [0031] FIG 17 is a flowchart of a method proxy incoming message.

[0032] 图18是说明一个消息编码例子的图。 [0032] FIG. 18 is a diagram illustrating an example of a coded message of FIG.

[0033] 图19是存储订购的数据库结构的图。 [0033] FIG. 19 is a diagram showing a configuration of a database stored in order.

[0034] 图20是通配符方法的流程图。 [0034] FIG. 20 is a flow chart of a wildcard method.

[0035] 图21是数字视频监视系统的图。 [0035] FIG. 21 is a diagram of a digital video surveillance system.

[0036] 图22是说明在两步方法中用于数字视频监视系统的代理的图。 [0036] FIG. 22 is an explanatory diagram for a proxy digital video surveillance system in a two-step process.

[0037] 图23是数字内容交付的体系结构图。 [0037] FIG. 23 is a block diagram of digital content delivery system.

[0038] 图24是说明数字内容交付阶段I的体系结构图。 [0038] FIG. 24 is a diagram illustrating architecture of a digital content delivery phase I of FIG.

[0039] 图25是说明数字内容交付阶段2的体系结构图。 [0039] FIG. 25 is a configuration diagram of a digital content delivery system of Stage 2.

[0040] 图26是说明服务质量管理的多个外部链接的图。 [0040] FIG. 26 is a diagram illustrating multiple external links of quality of service management.

[0041] 图27是说明服务质量管理的单个外部链接的图。 [0041] FIG. 27 is an explanatory view of a single external link quality of service management.

[0042] 图28是说明在ISP外部过滤和动态缓存的图。 [0042] FIG. 28 is a diagram illustrating filtering and dynamic in the ISP external cache.

[0043] 图29是网络中的高速缓存器图。 [0043] FIG. 29 is a cache in the network of FIG.

[0044] 图30是上游路由器中的备用持久高速缓存器图。 [0044] FIG. 30 is a backup persistent cache in an upstream router of FIG.

[0045] 图31是说明高速缓存与代理服务器和路由器之间交互的图。 [0045] FIG. 31 is a diagram illustrating the interaction between a caching proxy servers and routers and FIG.

[0046] 图32说明创建关于订购的高速缓存的图。 [0046] FIG. 32 illustrates create map caches about your order.

[0047] 图33是索引树的图。 [0047] FIG. 33 is a diagram of the index tree.

[0048] 图34是说明从多个高速缓存器中检索的图。 [0048] FIG. 34 is a diagram illustrating retrieval from multiple caches in FIG.

[0049] 图35是说明高速缓存管理器与系统中其它模块交互的图。 [0049] FIG. 35 is a cache manager with other modules in Fig system interaction.

[0050] 图36是高速缓存器的文件目录结构图。 [0050] FIG. 36 is a configuration diagram of the file directory of the cache.

具体实施方式 detailed description

[0051] 概况 [0051] Overview

[0052] 因特网级或其它分布式网络级的事件通知系统提供了强大而灵活的发布-订购网络实现的应用。 [0052] Internet class or other distributed network-level event notification system provides a powerful and flexible publishing - Application Order network implementation. 在此系统中,应用程序利用事件通知应用程序接口(API)来发布通知和/或订购并接收关于网络内部发生的事件的通知。 In this system, the application uses event notification application program interface (API) to publish notices and / or subscribe and receive notifications about events that occur in the internal network.

[0053] 系统中的通知有一主体,它是一字符串或其它区分该通知所封装的信息类型的结构。 [0053] The notification system has a body, which is a string or other type of notification information distinguishing the encapsulated structure. 通知还用一组包含特定于通知的信息的属性来完成。 Further comprising notification with a specific set of attribute information notified complete. 例如,应用可利用主体quote, nyse和属性符号和价格发布关于在纽约证券交易所交易的通知。 For example, an application can use the main quote, nyse and attributes symbol and price publishes a notice in the New York Stock Exchange. 该应用可发布个别有特殊属性值的通知,例如符号为SNE (索尼公司的证券报价机符号),价格为85. 25。 The application can be published to inform the individual has a special attribute values, such as symbol SNE (Sony's stock ticker symbol), the price of 85.25. 在多数情况下,如果通知中不是所有的属性都被预定义,那么所有通知中的属性为同一主体类。 In most cases, if the notice is not all properties are predefined, all notification attribute is the same principal class. 但是,为了提供额外的特定于事件的信息,发布方可在每个通知或其它基础上增加任意的属性。 However, in order to provide additional information specific to the event, issued before any increase in each notification or other basis property. 因此,并不是所有的或甚至任何属性都需要预定义。 Therefore, not all or even any need to pre-defined attributes.

[0054] 在这一系统中,订户并不限于仅对主体或整个信道订购。 [0054] In this system, the subscriber is not limited only to the whole body or channel order. 下面进一步解释和定义信道。 Defined and explained further below channel. 它们可包括一个分级结构,此分级结构指定例如一个主体字段和一级或多级相关的子字段(子主体)。 They may include a hierarchy, this hierarchy, for example, a body field and specifies one or more levels of related sub-fields (sub-body). 因此,订户通过在通知的属性上指定基于内容的过滤器,可提供更适合的兴趣表示。 Thus, the subscriber indicates by specifying content-based filters on the notification attribute may provide a more suitable interest. 例如,订户可能会订购具有符号为SNE以及价格超过90. 00的主体quote, nyse的所有通知(表明或许是订户所拥有股票的出售时机)。 For example, a subscriber may be ordered for a price of more than 90.00 SNE and the main quote, nyse of all notifications (perhaps indicate the timing of the sale of shares owned by the subscriber) has a sign. 所有与订购相匹配的通知可通过回叫或订户在登记订购时或其它时候提供的其它类型功能而交付给订户。 All notices and ordered that matches the subscriber via callback or other type of function in the time of registration or other ordering and delivery times provided to subscribers. 可将一个订购分解到许多过滤器中。 Usually it can be decomposed into a number of a filter.

[0055]回叫可执行许多计算,包括给终端写消息或发送电子邮件这样简单的操作,更为复杂一点的比如发起股票的出售,还要复杂一点的比如发起新的发布-订购行为(例如,用在价格为75. 00时买进的新的订购替代现有订购,或者发布订户的有价证券已被更改的新的通知)。 [0055] callback can perform many calculations, including to write a message or e-mail terminal such simple operations, such as more complex initiated the sale of stock a little, a little more complex such as the launch of a new publication - Purchase behavior (for example, the new notifications of new subscriptions to replace the existing order, or securities issued by the subscriber at the price of 75.00 to buy has been changed).

[0056] 例如,在应用发布和订购行为中是由代理协助的。 [0056] For example, in the application publishing and ordering behavior by proxy assistance. 代理可能利用代理服务器或用它来实现。 Agent may use a proxy server or use it to achieve. 代理在被使用时用以提供网络连接,以便输出通知和订购以及向订户交付输入的匹配通知。 Agent to provide a network connection is used, and to output a notification and delivery Usually input matching notification to the subscriber. 一旦通知进入网络,该系统的网络的路由器则将通知传播给所有其订购匹配此通知的订户。 Once the notification enters the network, network routers of the system will notify spread to all of its subscribers to order matches this notice. 一种实现此传播的方法是向网络中的所有点广播该通知,然后让应用代理决定该通知是否与订户有关。 Way to accomplish this is to spread broadcast the notification to all points in the network, and then let the application agents decide whether the notification and subscriber-related. 然而,这是不需要扩展的方法,网络通常很快地受到过量的消息业务量载荷,特别是当存在大量激活且冗长的发布方时,尤其如此。 However, this method does not require an extended, typically the network quickly by excess message traffic load, particularly when a large number of the issuer activation and tedious, especially. 即便是有足够的带宽,订户也会因为需要处理很多通知而承受很重的负担。 Even if there is sufficient bandwidth, subscribers will need to deal with because a lot of notice, bear a heavy burden.

[0057] 本系统的示范性网络在路由通知方面更加有效。 [0057] an exemplary network of the present system is more effective in terms of notification routing. 首先,可使用组播路由,以保证通知例如越过网络中的任何连接至多传播一次。 First, use multicast routing to ensure that any connection is up notification may spread across a network. 其次,可对过滤器应用大量高级优化操作,以尽可能地减少通知的传播。 Secondly, a large number of high-level optimization can be applied to the operation of the filter, in order to reduce the spread of notice as possible.

[0058] 图I是在概念上说明网络核心中的这种智能路由器的图。 [0058] Figure I is a diagram illustrating this intelligent network core router conceptually. 用于发布-订购网络中,发布方14通过边缘路由器16将消息中的内容传送到网络核心10。 For publishing - Usually the network, the publisher 14 transmits content in the message to the core network 10 via the edge router 16. 发布-订购网络包括将数据或内容从发布方路由到订户的任何类型的网络。 Publish - subscribe network includes any type of data or content from the publisher network routed to the subscriber. 内容是通过一个或多个表示路由器或其它设备之间逻辑连接的信道18而传送的。 Content is represented by one or more logical connections between routers or other devices 18 and transmission channel. 由网络核心10中的智能路由器12确定是否路由或转发消息。 Determine whether the network core routing by the intelligent router 12 or 10 to forward the message. 具体而言,智能路由器12可确定消息是否包含订户24订购的内容。 Specifically, the intelligent router 12 may determine whether the message contains the content subscribers 24 ordered.

[0059] 每个订购封装了主体过滤器和属性过滤器。 [0059] Usually each filter body and encapsulates the filter properties. 路由器可将主体过滤器扩大到匹配的主体集,基于每个主体合并属性过滤器。 Router may be expanded to match the body of the filter body set, based on each body merge attribute filters. 智能路由器对照通知的主体评估主体过滤器,对照通知中的属性值评估属性过滤器。 The main body control intelligent router filters notifications assessment, evaluation attribute control attribute value filter notification. 用于主体过滤器的语法可使用通配符,用于属性过滤器的语法可使用布尔表达式,这两者将在下面详细说明。 The syntax for subject filters can use wildcards, the syntax for attribute filters can use Boolean expressions, both of which will be described in detail below. 术语“过滤器”是用来描述订户感兴趣从发布方接收的一组事件。 The term "filter" is used to describe a set of events of interest received from the publisher subscriber. 路由规则由过滤器产生,并由智能路由器用以作出路由决策。 Routing rules generated by the filter by intelligent routers to make routing decisions.

[0060] 因此,如果消息26不满足整个过滤器组,例如,智能路由器12引下(丢弃)消息26,意味着该消息不再被转发。 [0060] Thus, if the entire message does not satisfy the filter group 26, e.g., the intelligent router 12 primer (discards) message 26, meaning that the message is no longer forwarded. 例如,如果根据对主体和属性过滤器的评估,整组中的任一个过滤器均由消息20满足,则智能路由器12根据为匹配过滤器器规定的所有路由和/或动作的规则,通过边缘路由器22以及可能其它设备来将消息20路由(转发)给订户24,或利用消息20执行路由器12内部的其它功能。 For example, if based on the assessment of subject and attribute filters, either of a filter 20 to meet the entire set by the message, the intelligent router 12 routes in accordance with a predetermined match of all filter and / or action rules, the edge router 22 and possibly other devices 20 to the message routing (forwarding) to the subscribers 24, 20 or performs other functions with a message router 12 inside. 此搜索将一直持续到整个过滤器组耗尽或已获得关于所有规则的决定为止,无论哪个先发生。 This search will continue until the entire filter set is exhausted or has obtained a decision on all the rules of date, whichever occurs first.

[0061] 网络核心中这些基于内容路由的智能路由提供了实时数据(例如告警和更新)的交付。 [0061] The core network provides real-time data (such as alerts and updates) to deliver intelligent routing of content-based routing. 对于告警的实时数据交付实例包括但不限于股票报价、业务、新闻、旅行、天气、欺诈检测、安全、信息通讯服务(telematics)、工厂自动控制、供应链管理和网络管理。 For real-time data delivery alerts include, but are not limited to, stock quotes, business, news, travel, weather, fraud detection, security, information and communication services (telematics), factory automation, supply chain management and network management. 对于更新的实时数据交付实例包括但不限于软件更新、防病毒更新、电影和音乐交付、工作流程、存储管理和高速缓存连贯性。 For real-time data updates delivered include, but are not limited to software updates, anti-virus updates, movies and music delivery, workflow, storage management and cache coherence. 许多其它的应用可用于交付订购信息。 Many other applications can be used to deliver ordering information.

[0062] 表I说明了有主体的订购的存储并对过滤进行断定。 [0062] Table I shows the main body of storage and filtration judge ordered. 它们可以按期望的或需要的任何类型的数据结构存储于网络中的任何位置上。 They may be of any desired or required type of data structure stored in the network at any position. 如下所述,断定是订购的组成部分。 As described below, concluded that the ordered part. 订购可以任何方式表示,以下提供了其中的示例。 Order can be expressed in any way, the following provides an example of them.

[0063] [0063]

-

订购I 主体I I断定I I ordered the body I I I conclude

订购N 主体N 断定N Order the main N N N conclude

[0064] 表2提供了关于报价服务器的发布和订购的示例。 [0064] Table 2 provides an example of the server's offer and ordered released. 提供本示例只用于说明目的,订购可包括关于任意类型的数据或内容的任何数量和类型的参数。 This example provided for illustration only, and the order may include any number of parameters concerning the type of any type of data or content.

[0065] [0065]

-

报价服务器示例主· I发布 · I quote example of a main server release

Quotes.NYSE 主体=Quotes.NYSE Quotes.NYSE subject = Quotes.NYSE

[0066] [0066]

[0067] 断定提供订购的布尔表达式,而主体提供了订购信道的指示。 [0067] conclude that offer subscription Boolean expressions, while the body provides an indication subscription channel. 可以许多不同的方式表达订购。 It can be expressed in many different ways to order. 采用布尔表达式便是这样的一种示例,并提供了易于将订购转换成主体过滤器和属性过滤器以供基于内容路由的能力。 Using Boolean expressions is one such example and provides an easy to convert into a body Usually filters and attribute filters for content-based routing capabilities. 或者可不参考主体而表达订购;然而,采用主体或信道(以下将做进一步阐释)提供了用于解释和将过滤器应用于属性的环境。 Or may not be expressed Usually the reference body; however, the use of a body or channel (further explained below) provides an environment for explanation and apply filters to attributes.

[0068] 路由决策可在网络核心中完成,并分布于整个网络,减轻了发布方和订户机上的处理负担,并显著提高了网络效率。 [0068] routing decisions can be completed in the network core and distributed throughout the network, reducing the processing burden on the publisher and subscriber machines, and significantly improve network efficiency. 仅为说明目的,图I显示了一个发布方、一个订户和一个智能路由器;实现可包括许多发布方、订户和智能路由器。 For illustrative purposes only, Figure I shows a publisher, a subscriber and an intelligent router; implementations may include a number of publisher, subscriber and an intelligent router. 术语智能路由器指能够通过在网络核心或其他位置检查分组或消息的有效载荷而作出路由决策的路由器或其他实体。 The term intelligent router refers to a router or other entities in the network core or other payload packet or a message checking the position and make routing decisions.

[0069] 网络基础设施 [0069] Network Infrastructure

[0070] 图2是说明发布方和订户的智能路由器的网络图。 [0070] FIG. 2 is a network diagram publisher and subscriber intelligent router. 例如,提供信道服务的路由实体30为在智能路由器之间路由消息在网络基础设施上实际是分层的,如下所述。 For example, the channel service providing routing entity 30 to route messages between the intelligent routers in the network infrastructure is actually layered, as described below. 发布方32概念上包括应用34和代理36,其中应用34例如用于接收所发布的内容的指示,如用以检索内容的指针,而代理36用以编码经由信道服务30的网络传输的内容。 32 includes conceptual issuer proxy 36 and application 34, application 34, for example, where the content indicates a receiving published, such as the pointer for retrieving content, and the agent 36 to encode the content for network transmission service via the channel 30. 一组逻辑上互连的智能路由器38、40、42、44、46及48采用由订购的主体过滤器和属性过滤器产生的路由规则来路由来自发布方的内容。 A set of logically interconnected intelligent routers 38,40,42,44,46 and 48 using routing rules generated from subject filters and attribute filters order to route the content from the publisher. 多个链路39、41、43和45提供了智能路由器38、40、42、44、46和48之间的逻辑连接。 A plurality of links 39,41,43 and 45 provide the logical connections between intelligent routers 38,40,42,44,46 and 48. 其他链路37和47分别提供了发布方32和智能路由器38之间以及订户54和智能路由器46之间的逻辑连接。 Other links 37 and 47 are provided and logical connection between the subscriber 54 and intelligent router 46 between publisher 38 and intelligent router 32. 订户54包括用以检测并接收订购的内容的代理50,以及显示出该内容的应用52。 54 includes a subscriber and for detecting the received order content proxy 50, and 52 show the application of the content.

[0071] 信道可包括例如以分布方式实现的相关的一组逻辑组播连接。 [0071] The channel may comprise, for example, a related set of logical multicast connections implemented in a distributed manner. 在本示范性实施例中的信道是用于为发布方和订户的联营机构交换内容的逻辑相关的网络资源集合。 In an exemplary embodiment of the present embodiment is a channel used to associate a logic mechanism of the publisher and the subscriber exchange content associated set of network resources. 根据信道主体的名字空间来对内容进行分类,并经由信道管理器提供的信道服务来管理、控制以及供应这些资源。 According to the channel subject namespace for content classification, channel and services provided via the channel manager to manage, control and supply of these resources. 多个信道可共享相同的资源。 A plurality of channels may share the same resources. 信道可提供高扩展目录服务,如以下示例:发布方和订户信息、认证和授权信息、消息类型、管理信息以及记帐收费信息,但不限于此。 Channel may provide a highly scalable directory service such as the following examples: publisher and subscriber information, authentication and authorization information, message types, management information, and accounting information charges, but is not limited thereto. 信道还可提供例如高速缓存期间的持续、快速数据交付机制、安全以及用户和网络管理。 For example channel also provides continuous, fast data cache during delivery mechanisms, as well as user security and network management. 信道也可用于任何其他目的。 Channel may also be used for any other purpose.

[0072] 由智能路由器进行的过滤可在网络核心中发生以分布路由决策。 [0072] filtration by the intelligent routers can occur in a distributed routing decisions in the network core. 此外,智能路由器还可用作连接用户设备(如发布方或订户)与网络核心的边缘路由器。 In addition, intelligent routers can also be used to connect user device (such as a publisher or subscriber) of the edge network core router. 而且,连接到网络的相同设备即可用作发布方以在网络中通过路由决策将内容推向订户,也可用作订户以接收所推的内容。 Further, the device connected to the same network can be used as a publisher to the network by the content routing decision towards the subscriber, the subscriber can also be used to receive the push content. 智能路由器和信道可按任何配置(如对于特定实现所需要或希望的那样)进行连接,并且提供图2所示的配置只为说明目的。 Intelligent routers and channels can be any configuration (as needed or desired for a particular implementation as) is connected, and provide the configuration shown in FIG. 2 for illustrative purposes only.

[0073] 图3是智能路由器和传统主干路由器的示范性网络基础设施的图,它也说明了信道的逻辑连接。 [0073] FIG. 3 is a diagram of an exemplary network infrastructure for intelligent routers and conventional backbone routers, it also illustrates the logical channel is connected. 本示例中的智能路由器采用网络(如因特网或其他分布网络)中现有的主干路由器,并且该智能路由器在此在主干路由器上实际是分层的。 The intelligent routers in this example a network (such as the Internet or other distributed networks) existing backbone routers, and the intelligent router on the backbone router actually this is hierarchical. 在本示例中,因特网服务提供商(ISP)网络58、59和60各自包括几个用于消息或分组的传统路由的主干路由器。 In the present example, an Internet Service Provider (ISP) network 58, 59 and 60 each include several backbone routers for conventional routing of messages or packets. 多个智能路由器61-70与ISP网络58、59和60中的一个或多个主干路由器相连。 A plurality of intelligent routers 61-70 are connected to an ISP network 58, 59 and 60 or more backbone routers. 智能路由器61-70也通过多个链路73-85 (链路的代表示例)进行互连接,并且也可通过这些链路连接终端用户设备。 Intelligent routers 61-70 can be connected to each other by a plurality of links 73-85 (a representative example of a link), and may also be connected to the end-user devices via these links. 智能路由器61-70可由一个或多个管理机(如实体71)和一个或多个虚拟专用网(VPN)控制器(如实体72)控制。 Intelligent routers 61-70 managed by one or more machines (e.g., entity 71) and one or more virtual private network (VPN) controllers (e.g., entity 72) control. ISP网络58、59和60还会连接到发布方和订户机(图3中未示出)。 ISP networks 58, 59 and 60 will be connected to publisher and subscriber machines (not shown in FIG. 3). ISP58、59和60中以及ISP58、59和60之间的主干路由器可以任何传统方式在现有网络基础设施内进行互连接。 ISP58,59 backbone routers, and 60 and 60 and between the ISP58,59 may be connected to each other in any conventional way within the existing network infrastructure.

[0074] 如上说明的智能路由器61-70和链路73-85可采用现有网络基础设施来实现,它们在网络核心中提供基于内容路由。 Intelligent routers 61-70 and links [0074] 73-85 described above may be employed to implement existing network infrastructure, which provides content-based routing in the network core. 链路73-85表示智能路由器61-70之间的逻辑连接,并可采用例如现有网络基础设施或其他设备实现。 Links 73-85 represent logical connections between intelligent routers 61-70, for example, may employ existing network infrastructure or other devices implemented. 例如,链路可采用称为隧道的逻辑连接来实现。 For example, the link can be called a tunnel is a logical connection is achieved. 隧道包括硬件,可能还有软件、用于实现链路的网络基础设施,而且一个隧道可作为多个信道的一个部件。 Tunnel comprises hardware, and possibly software, network infrastructure for implementing a link, and a tunnel as a member of the plurality of channels. 信道通过提供针对特定类型的内容的逻辑配置并由此为信道上传输的属性提供环境从而促进智能路由器中基于内容路由。 Channel configuration and thereby provide an environment for attributes transmitted over a channel to facilitate content-based routing in the intelligent router logic for certain types of content provided by. 虽然智能路由器可在没有信道的条件下执行路由决策,但是信道提高由网络核心中的智能路由器进行基于内容路由的效率。 Although intelligent routers can perform routing decisions in the absence of the channel, but the channel to improve the efficiency of content-based routing by the intelligent routers in the network core.

[0075] 此示范性实施例包括信道和链路的使用。 [0075] This exemplary embodiment includes use of channels and links. 链路是两个路由器之间的连接,即便是智能路由器也如此。 Link is a connection between two routers, even intelligent routers also do so. 信道是包含路由器集合的网络实体(通常较大的),它们通过互连接的链路静态或动态配置以完成一对多或多对多的逻辑连接。 Channel is a network entity comprising a set of routers (usually larger), they are static or dynamic configuration via link interconnected to complete or many-to-many logical connections. 具体而言,信道是描述信道基本特征的顶级逻辑实体。 More specifically, the channel is a description of the basic characteristics of the top channel logical entity. 在一个信道下可能存在许多主体。 There may be many in a body channel. 各个主体将形成涉及互连接的路由器集合的子网(如组播树)。 Each subnet formed body (e.g., a multicast tree) involving a collection of interconnected routers. 可按不同的方式对这些基于主体的子网进行分配、定向和配置。 Different ways can be based on these subnets allocation body, orientation and configuration. 信道作为针对主体而在其中构成的所有子网的集合可类似于例如网状的网络。 As the channel for the set of all subnets constituting a main body in which a mesh network, for example, may be similar.

[0076] 图4是智能路由器92的示范性硬件部件图,智能路由器92可对应于任一个其他引用的智能路由器。 [0076] FIG. 4 is an exemplary intelligent router 92 of FIG hardware components, the intelligent router 92 may correspond to any of the other referenced intelligent routers. 网络节点90可包括与传统主干路由器95相连的智能路由器92。 The network node 90 can include intelligent router 95 connected with a conventional backbone router 92. 智能路由器92包括连接到存储器94和辅助存储装置97 (可能是用例如独立的机器实现的)的处理器93,存储器94和辅助存储装置97 二者任一个均可存储数据,也可高速缓存数据,并可存储由处理器93执行的应用。 Comprising both intelligent router 92 is connected to a memory 94 and auxiliary storage device 97 (for example, may be an independent machine-implemented) processor 93, a memory 94 and a secondary storage device 97 can store any data, the data can also be cached application can be performed by a processor 93. 辅助存储装置97提供非易失数据存储。 The auxiliary storage device 97 provides nonvolatile storage of data. 根据如下所阐释的软件控制,处理器93向主干路由器95提供指令,以便它可基于由针对订购的主体过滤器和属性过滤器产生的路由规则路由(转发)或不路由(丢弃)消息或分组。 The control software explained below, the processor 93 provides instructions to backbone router 95, so that it may be based on the routing rule for the body generated by the filter and the filter properties of order (forward) or not route (discard) messages or packets . 虽然显示为在独立的处理器控制设备中来实现,但可选的是可用专用集成电路(ASIC)在主干路由器95内实现智能路由器92,以便可在可能还带有嵌入软件的硬件中提供智能路由功能。 Although shown as a separate processor in the control apparatus to achieve, but an alternative is available for application specific integrated circuit (ASIC) in the intelligent router 92 backbone router 95 so as to be provided with intelligence embedded in hardware may also be software routing function. 或者,智能路由功能也可用一个或多个路由设备的软件和硬件的组合来实现。 Alternatively, the intelligent routing functions can also be a combination of software and hardware of the one or more routing devices is achieved.

[0077] 图5是示范性发布方和订户机的图。 [0077] FIG. 5 is an exemplary publisher and subscriber machines FIG. 发布方机100或118可包括以下部件:存储一个或多个发布方应用104和代理应用105的存储器102 ;提供非易失数据存储的辅助存储设备112 ;用于输入信息或命令的输入设备108 ;用于执行存储在存储器102中或从其他存储设备接收的应用的处理器114 ;用于输出信息的输出设备110 ;以及用于提供可视显示信息的显不设备116。 100 or publisher 118 may include the following components: storing one or more publisher applications 104 and 105, memory 102, the proxy application; provide nonvolatile storage of data auxiliary storage device 112; an input device for inputting information or commands 108 ; stored in memory 102 for executing the application from the processor 114 or other storage device received; an output device 110 for outputting information; and means for providing a visual display device information 116 is not significant.

[0078] 订户机122或140可包括以下部件:存储一个或多个应用126和代理应用128的存储器124 ;提供非易失数据存储装置的辅助存储设备130 ;用于输入信息或命令的输入设备132 ;用于执行存储在存储器124中或从其他存储设备接收的应用的处理器134 ;用于输出信息的输出设备136 ;以及用于提供可视显示信息的显示设备138。 [0078] Subscriber unit 122 or 140 may include the following components: storing one or more applications 126 and the proxy application 128 in the memory 124; providing an auxiliary storage device 130 non-volatile data storage device; an input device for inputting information or commands 132; to execute instructions stored in memory 124 from processor application or other storage device 134 received; an output device for outputting information 136; and means for providing visual information on a display device 138. 或者,发布方和订户机可包括更多或更少的部件,或者不同的部件,它们可以为任何配置。 Alternatively, the publisher and subscriber machines may include more or fewer components, or different components, which may be configured as any.

[0079] 发布方机100和118经由网络120(如上述网络)与订户机122和140相连。 [0079] The publisher 100 and 118 connected to subscriber unit 140 via 120 and 122 (as described network) network. 网络120包括用于在网络核心中通过分组或消息来提供数据或内容的分布路由的智能路由器。 Network 120 comprises a distributed routing in a network core to provide content or data packets or messages through the intelligent router. 虽然只显示了两个发布方和订户机,但网络120可缩放以包括更多发布方和订户机。 Although only two publisher and subscriber machines, but the network 120 may be scaled to include more publisher and subscriber machines. 发布方和订户机可用任何处理器受控设备来实现,如包括但不限于以下示例:服务器;个人计算机;笔记本式计算机;个人数字助理;电话;蜂窝式电话;寻呼机;或其他设备。 Publisher and subscriber machines can be used to implement any processor controlled device, such as but not limited to the following examples: a server; a personal computer; a notebook computer; personal digital assistant; telephone; cellular telephone; pagers; or other devices. 具有智能路由器的网络120可包括任何连接了硬接线设备、无线设备或二者的有线线路或无线分布网络。 Network 120 with intelligent routers can include any device connected to the hard-wired, wireless devices or both wireline or wireless distribution network. 网络120还有可能利用现有或传统网络基础设施。 Network 120 may also make use of existing or legacy network infrastructure.

[0080] 图6是说明智能路由器的信道管理器150的图。 [0080] FIG. 6 is a diagram illustrating intelligent routers channel manager 150 of FIG. 在本示例中,信道管理器150是用多个服务器152、154和156实现的。 In the present example, the channel manager 150 is a plurality of servers 152, 154 and 156 implemented. 每个服务器包括其自身的本地存储装置158、160和162。 Each server includes its own local storage devices 158, 160 and 162. 智能路由器164、166和168联系信道管理器以便得到有关特定信道的信息。 Intelligent routers 164, 166 and 168 contact channel manager to obtain information about a specific channel. 信道管理器也可提供数据持续、故障跳过功能或其他功能。 Channel managers can also provide continuous data, fault skip function or other functions. 因此该信道管理器提供包括该网络中任何地方的一个数据库或一组数据库的信道服务,这些数据库规定了例如与信道相关的信息、数据持续特性、发布方和订户的用户信息以及基础设施信息。 Therefore, the channel manager provides channel services include a database that anywhere in the network or a set of databases, these databases provides channel related information, data persistence feature, publisher and subscriber user information and infrastructure information, for example. 基础设施信息可包括例如智能路由器的标识和连接它们的对应隧道、信道的主体以及信道的属性(每个属性的名称和类型)。 Infrastructure information may include, for example, intelligent router identifier and their corresponding connecting tunnels, as well as properties of the channel body channel (name and type for each attribute). 分组或消息也可承载信道相关的信息,包括固定属性和可变属性的标识。 Packet or message may also carry channel-related information including identification of fixed attributes and variable attributes.

[0081] 用户在在线时可下载信道信息。 [0081] When the user channel information can be downloaded online. 例如,用户可通过利用用户名和口令来登记。 For example, the user can register by using a user name and password. 当认证用户的登录时,该用户可打开(激活)信道,并从信道管理器检索关于该信道的信息。 When the user login authentication, the user can open (activate) a channel and retrieve information about the channel from the channel managers. 发布方可在发布内容时利用该信息,并且订户可利用该信息进入并登记订购。 Released only use this information when publishing content, and subscribers can use this information to enter and registration order.

[0082] 信道管理器152、154和156最好构成一组来执行持续可靠的信道目录服务。 [0082] The channel manager 152, 154 and 156 is preferably configured to execute a set of continuous, reliable channel directory service. 信道管理器之一将作为主信道管理器,而其他作为备用信道管理器。 One channel manager as a primary channel manager, and the other as a backup channel manager. 如果主信道管理器故障,则主信道管理器的相邻信道管理器将接管成为新的主信道管理器,以保持可靠的服务。 If the primary channel manager fails, the main channel manager of adjacent channel manager will take over the new primary channel manager, in order to maintain reliable service. 每个智能路由器保留有这些信道管理器的地址。 Each intelligent router retain these channel managers address. 如果智能路由器不可到达一个信道管理器,则它将寻找另一个来检索信息。 If intelligent router unreachable a channel manager, it will find another to retrieve information. 例如,网络中的设备可采用命令来检索信道信息,表3中提供了其中的一些示例。 For example, the network device may employ channel command to retrieve information, Table 3 provides examples of them. 或者,智能路由器可只具有主信道管理器或超过两个信道管理器。 Alternatively, intelligent routers can only have a primary channel manager or more than two channel managers.

[0083] 图7是用户机或设备中的栈180内的示范性软件部件的图,该软件部件用于将用户机或设备与具有智能路由器的网络相连。 [0083] FIG. 7 is a diagram of an exemplary software components in the user machine or device stack 180, the software means for the user or device connected to a network having intelligent routers. 用户机可用作发布方、订户或二者,并且它可包括以上所标识的示范性设备。 The user machine can be used as publisher, subscriber, or both, and it can include the exemplary devices identified above. 栈180可包括一个或多个用户应用182,用户应用182可提供用于从用户接收订购、从发布方接收信道信息或接收要发布的内容或数据。 Stack 180 may include one or more user applications 182, 182 may provide a user application for receiving user subscription, the content publisher or the receiving channel information from data received or to be released. 用户应用182还可包括由用户机或设备执行的任何其他类型的应用。 182 may also include any other type of user application executed by a user application or device.

[0084] 栈180也可包括如代理184、事件库186、高速缓存库188、信道库190、消息传送库192以及分配器库194。 [0084] The stack 180 may also include an agent 184, an event library 186, a cache library 188, a channel library 190, a messaging library 192 and library 194 dispenser. 代理184提供建立网络连接或其他功能,表3提供了由代理184实现的命令示例,它可采用代理服务器命令或其他类型的命令。 Agent 184 establishes a network connection, or provide other functions, Table 3 provides examples of commands implemented by agent 184, which can be proxy commands or other types of commands. 事件库186记录有关用户机的事件或其他事件或信息。 Event library 186 logs events related to the user's machine or other events or information. 高速缓存库188提供本地高速缓存数据。 Cache library 188 provides a local cache data. 信道库190存储信道的标识及其信息。 Channel library 190 stores information and channel identification. 分配器库194提供与控制通路196、信道管理器198以及一个或多个智能路由器200的连接,并且它可包括表4中所标识的示范性功能。 Providing a control path 196, the channel manager 198 and connector 200 to one or more intelligent routers dispenser library 194, and it can include the exemplary functions identified in Table 4. 消息传送库192提供与数据通路204的连接。 Messaging library 192 provides a connection 204 to the data path.

[0085] 表5-9提供了用C编程语言的消息传送API的示例。 [0085] Table 5-9 provides an example of a message transferred by the API of the C programming language. 表5和6提供了用以发送和检索消息的API示例。 Tables 5 and 6 provide exemplary API to send and retrieve messages. 表7和8提供了用以发送和检索通知的API示例。 Tables 7 and 8 provide examples of API to send and retrieve notifications. 表9提供了用以发送和检索控制消息的API示例。 Table 9 provides examples of API to send and retrieve control messages. 本说明书中提供的这些API以及其他API、程序和数据结构仅作为用于实现特定功能或特征的示例,并且实现可包括用任何编程语言的任何类型的API或其他软件实体。 The present specification provides these and other API API, programs and data structures used to implement the example only the particular functions or features, and implementations may include any type of programming language API, or any other software entities used.

[0086] [0086]

[0089] [0089]

[0090] [0090]

[0091] 图8是如以上标识的那些智能路由器以及图4所示的智能路由器92的示范性软件部件210的图。 [0091] FIG 8 is an exemplary software as an intelligent router 92 shown in FIG those identified above and intelligent router of FIG. 4 of the member 210. 软件部件210可存储在例如存储器94中,以便由智能路由器92中的处理器93执行。 210 software components may be stored in memory 94, for example, in order to be executed by processor 93 in intelligent router 92. 部件210包括例如过滤守护程序212、分配器214、路由守护程序216以及高速缓存管理器218。 A filter member 210 includes a daemon 212 for example, the dispenser 214, the routing daemon 216 and a cache manager 218. 过滤守护程序212提供基于内容路由的过滤,以便根据如下所阐释的路由规则处理订购的内容。 Filter contents daemon 212 provides filtering of the routes to the routing processing in accordance with the rules explained below based on subscription. 分配器214提供如需要用来经由通路220传播过滤器的那些的控制消息的通信,并且分配器还可为用户提供单个输入点以及给一个保密插件提供信道管理器,从而提高了网络的安全性。 As needed to provide a dispenser 214 via the communication control message of those propagation path filter 220, and the dispenser may also provide users with a single entry point and to provide a secure channel manager plug, thereby improving the security of the network . 换句话说,在本示例中用户不直接联系信道管理器,不过在备选实现方式中他们可以这样做。 In other words, in this example the user does not directly contact channel managers, but they can do so in alternative implementations. 分配器214利用控制消息来从信道管理器获得属性(名称-值对)。 The dispenser 214 using a control message to obtain the attribute (name - value pairs) from a channel manager.

[0092] 路由守护程序216提供与数据通路222的通信,它可经由如图4所说明的传统主干路由器或其他路由设备而进行。 [0092] Routing daemon 216 provides a data communication path 222, which may be via a conventional backbone router as shown or other routing device 4 is described. 高速缓存管理器218在包括对应智能路由器的网络节点上提供本地高速缓存数据。 The cache manager 218 provides data on local cache includes a corresponding intelligent router network node. 以下将更进一步阐释高速缓存管理器218的操作,高速缓存管理器218在整个网络核心中提供数据的分布式高速缓存。 The following will further explain the cache manager 218 operation, the cache manager 218 provides distributed caching of data throughout the network core.

[0093] 作为应用级的备选方式,基于内容路由可在内核级实现。 [0093] As an alternative way of application level, content-based routing may be implemented at the kernel level. 可由内核访问的存储器独立于应用层中的存储器。 It may access the memory core independent of the application layer memory. 为使基于内容路由运行于应用中,需要例如将消息数据从内核存储器区拷贝到应用区,并将应用环境从内核环境交换到路由应用环境中。 In order to run the application, it is necessary, for example, the message data is copied from the kernel memory area to the application area content-based routing application environment and the environment to the exchange from the kernel routing application environment. 二者均会引起大量开销。 Both of which will cause a lot of overhead. 如果代替修改内核以支持基于内容路由,则可进行更快速地路由,从而摆脱了上述开销。 If instead of modifying the kernel to support content-based routing, routing can be carried out more quickly, so get rid of this overhead.

[0094] 由于在内核中具有基于内容路由的这种特征,因此路由守护程序216依据实现可或不可直接经由数据通路222发送或接收数据。 [0094] Due to this characteristic content-based routing, the routing daemon 216 may or may not be implemented based on 222 transmits or receives data directly via a data path in the core. 守护程序是运行于应用层的处理,它预先计算要插入到内核中的基于内容路由表。 Daemon is a process running in the application layer, it is calculated in advance to be inserted into the kernel content-based routing table. 然而,一旦插入了基于内容路由表,路由表便可由内核用来作出路由决策。 However, once inserted into the content-based routing table, routing table can be used by the kernel to make routing decisions. 同样,过滤守护程序预先计算过滤表并将其插入内核中。 Similarly, the filter filtering daemon pre-calculated table and insert core. 在此内核实现中,路由守护程序或过滤守护程序均不能直接与数据通路交互。 In this kernel implementation, the routing daemon or filtering daemon can not directly interact with the data path.

[0095] 图9是可能包括订购内容的消息的分组结构230的示例的图。 [0095] FIG. 9 is a diagram illustrating a packet structure 230 may include a message content Usually example. 用于基于内容路由的分组或消息包括例如首部部分和有效载荷部分。 For content-based routing includes, for example, packet or message header portion and a payload portion. 首部部分规定路由或其他信息。 The first portion of the specified routing, or other information. 有效载荷部分规定数据或内容,或数据或内容的指示。 Indicating a predetermined portion of data or content, or content, or data payload. 分组结构230包括IP首部232、用户数据报协议(M)P)传输控制协议(TCP)首部234、长度值238、一个或多个主体字段240以及一个或多个属性242。 Packet structure 230 includes IP 232, User Datagram Protocol (M) P) Transmission Control Protocol (TCP) 234, a length value 238, one or more subject fields 240, and one or more attributes of the header portion 242. 分组结构230说明了关于长度值以及主体和属性的基本结构。 Packet structure 230 illustrates a basic structure of the body as well as on the length and values ​​of attributes. 基于内容路由的分组也可包括其他或不同的单元,如以下所阐释的图18的示例中说明的那些,并且基于内容路由的分组可按任何方式进行配置。 Based on the contents of the packet routing may also include other or different elements, as the following examples are illustrated in FIG. 18 as those described, and are based on configuration packets may be routed the content in any manner. 而且,这些属性可包括例如附加于消息末尾的自由属性(discretionary attribute)。 Moreover, these attributes may include, for example, attached to the free end of the message properties (discretionary attribute). 这些自由属性是例如由发布方(或者甚至是路由器)增加的特设信息,可不必用针对信道指定的消息格式对其进行传送。 These properties are for example, increased freedom of a publisher (or even routers) ad hoc information, may not necessarily with the specified channel message format for its transmission.

[0096] 发布方和订户方法论 [0096] publisher and subscriber methodology

[0097] 图10是由发布方用来建立信道和发布内容的示范性发布方方法250的流程图。 [0097] FIG. 10 is a flowchart of an exemplary publisher method used by the issuer to establish and release the contents of the channel 250. 方法250可用例如包括由发布方机100中的处理器114执行的代理106的软件模块来实现。 The method 250 may comprise, for example, agent software module 100 by the publisher machine 106 executed by the processor 114 to achieve. 在方法150中,发布方机中的代理106接收发布方对于信道的代理服务器的创建(步骤252)。 In the method 150, the publisher machine receives a publisher agent 106 creates (step 252) to the channel of the proxy server. 代理服务器提供与网络的通信。 Proxy server to communicate with the network. 代理106通过接口确定信道的消息格式(步骤253),并且该格式信息可从例如信道管理器或网络中的其他实体获得。 Agent 106 determines a channel through the interface message format (step 253), and the format information may be obtained from, for example, the channel managers or other entities in the network. 代理106使用所接收的信道信息来建立信道的代理服务器(步骤254),它包括接收信道的属性(步骤256)以及在信道上创建通知(步骤258)。 Agent 106 the channel using the received information to a proxy server to establish a channel (step 254), which includes an attribute reception channel (step 256) and creating a notification (step 258) on the channel. 该通知为“侦听”信道上的内容的设备提供内容。 The notification is "listening" channel device offers content. 属性定义了通知的参数和特征。 Property defines the parameters and characteristics of the notification.

[0098] 代理106将内容信息和信道的标识符(ID)送给网络核心中或其它用于处理订购的任何地方的智能路由器(步骤260)。 [0098] The proxy 106 and content information channel identifier (ID) to the core network or other intelligent router (step 260) to any place of the process of ordering. 发布方用适当的值填充通知属性(步骤261),并且发布方随后可根据信道属性发布关于通知的内容(步骤262)。 Publisher filled with an appropriate notification attribute value (step 261), and the publisher can then publish content on notification (step 262) based on channel characteristic. 在本示例中,步骤260-262完成发布通知,或者,这可取决于特定实现需要不同的或附加的步骤。 In the present example, the steps 260-262 to complete release notification, or it may be different depending on the particular implementation or require additional steps. 因此,在本示例中与通知相关联的信息被分成按顺序排列的属性序列,每个具有名称、在通知内的位置(从I开始)、类型以及值。 Thus, in this example, information associated with the notification attribute is divided into a sequence arranged in order, each having a name, a position within the notification (from the beginning I), the type and value. 或者,根据特定实现属性也可具有不同的特征。 Alternatively, according to a particular implementation attributes may also have different characteristics. 属性可包括例如预定义属性、自由属性或二者。 Attributes may include, for example, predefined attributes, properties, or both free.

[0099] 智能路由器可利用分组中的信道ID来获得对应信道的属性,它确定经由信道传送的分组的结构或格式。 [0099] intelligent routers can use the channel ID in a packet to obtain the attributes of the corresponding channel, which determines the structure or format of packets transmitted via the channel. 具体而言,每个分组可包含例如与信道ID以及其他首部信息(如发布方ID和主体)相关联的标记符。 Specifically, each packet may comprise, for example, the channel ID and other header information (e.g., issuer and subject ID) tags associated. 这些标记符可用于将主体映射为消息格式中的数字,图18中显示了其示例。 These tags can be used to map the body is a digital message format, FIG. 18 shows an example thereof. 小整数值(例如十六比特的值)可用作这些数字。 Small integer values ​​(e.g., sixteen-bit value) may be used as these numbers. 或者,可用任何其他类型的数字或信息来映射这些主体。 Alternatively, a number or any other type of information to map the body. 将主体映射为数字具有特别的好处;例如,它可节约消息格式中的空间并可提供统一或标准的方式来在消息中规定主体的指示,使得它们可快速地被定位并被识别。 The body having a digital map of particular interest; for example, it can save space in the message format and provide a uniform or standard way to specify the subject indicated in the message, so that they can be quickly located and identified. 智能路由器可在本地存储映射,或者,也可利用数字通过命令远程获得对应主体。 Intelligent routers can locally store the mapping or, may be utilized to obtain the corresponding digital command to the remote body.

[0100] 表10说明用于将数字映射到主体的结构,在本示例中采用整数值。 [0100] Table 10 illustrates the structure for digital maps to the body, it takes an integer value in the present example. 表中的主体树参数表明主体可在分级关系中包括一个或多个主体字段;例如,主体树可包括一串用特定符号划界的主体字段。 Subject tree parameter in the table indicates that the body may include one or more subject fields in the hierarchical relationship; for example, the tree body may comprise a main body with a string of a particular symbol field delimited. 表2中提供了主体树的示例。 Table 2 provides an example of the tree body. 作为示例,主体树quotes, nyse包括主体“quotes”和子字段“nyse”两个术语,它们用如URL或其他网络地址中所发现的“· ”来划界。 As an example, the main tree quotes, nyse including "QUOTES" and the sub-field "NYSE" main terms are used such as a URL or other network address found in the "·" delimited. 除了采用周期和规定的URL类型串之外,还可以利用任何用于划界的任何字符和符号的方式来规定主体树。 In addition to using the URL string types and a predetermined period, you may also be utilized in any way any characters and symbols for demarcation of the body to a predetermined tree.

[0101] [0101]

[0102] 因此,知道了特定信道的分组格式或结构,智能路由器便可快速地在基于内容路由的分组中定位主体和属性或其他信息。 [0102] Thus, knowing the packet format or structure for a particular channel, the intelligent routers can quickly locate and subject attribute information or other content-based routing of packets. 例如,信道可规定在信道上传送的主体和属性的字节位置,使它们易于通过对分组中的字节计数来定位。 For example, a channel may be specified in the byte position of the body and transmitted on a channel properties, making them easily by packet byte count to locate. 或者,智能路由器可解析分组以定位主体和属性或其他信息。 And to position the body or other information or attributes, intelligent routers can parse packets.

[0103] 表11提供了C++编程语言的发布方程序的示例。 [0103] Table 11 provides an example publisher program C ++ programming language. 表12提供了用以创建信道的API的示例。 Table 12 provides an example of the API to create a channel. 表13提供了由信道管理器(参见图6)维护的并提供信道相关信息的信道配置文件的示例,如表所示。 Table 13 provides an example of a channel manager (see FIG. 6) and providing channel maintains information about the channel profile, as shown in Table. 或者,为了分布处理负载,系统可具有用以提供地理位置上分散的服务器的IP地址的全局信道管理器,其中这些服务器用作本地信道管理器。 Alternatively, to distributed processing load, the system may have a global channel manager providing IP addresses of geographically dispersed to the server, wherein the server as the local channel manager.

[0104] [0104]

[0105] [0105]

[0107] 图11是用于接收和处理订购的订户方法264的流程图。 [0107] FIG. 11 is a flowchart of a method for receiving and processing the subscriber Usually 264. 方法266可用例如包括由订户机122中的处理器134执行的代理128的软件模块来实现。 Method 266 can be used includes, for example performed by the agent 122 in the subscriber unit 128 is a software module processor 134 is achieved. 在方法264中,图形用户界面(⑶I)例如向用户显示可用信道的指示(步骤266),这可用应用126来完成。 In the method 264, a graphical user interface (⑶I) such as display indication of available channels (step 266) to the user application 126 can be used to accomplish this. 识别信道的信息可从例如提供信道相关信息的信道管理器接收。 Information identifying the channel, for example, may be received from a channel to provide a channel information manager. 可用任何类型的应用126以任何特定方式或格式来显示信道的标识。 Any type of application 126 can be used in any particular manner or format to display the identity of the channel. 该应用接收用户的信道选择(步骤268),并调用API或针对选择的信道的其他程序(步骤270)。 Channel selection (step 268) which receives a user's application, and calls an API or other program for the selected channel (step 270). API给用户提供了对应于所选择的选项的信道的订购选项(步骤272)。 API provides a user channel order options (step 272) corresponding to the selected options. API从用户接收订购值(步骤274)并将该订购发送至代理128,以便进行如下所述的处理(步骤276)。 Usually API receives values ​​from a user (step 274) and transmits the order to the proxy 128 for processing (step 276) as described below.

[0108] 订购参数可包括例如表I中所示的断定。 [0108] Usually determine parameters may include, for example, as shown in Table I below. 例如,每个信道可利用其自身的API,以便根据特定需求或对应信道的参数来处理订购。 For example, each channel may use the API of its own, to be handled in accordance with the parameters specific needs or Usually the corresponding channel. 这些API可包括例如针对接收订购的基于web的或基于Java的API,并可采用任何类型的用户接口和处理来接收订购的信息,并将其传递给代理应用。 The API may include, for example, for receiving a web-based subscription-based or Java-API, and may employ any type of information the user interface and processing to receive the order, and passes it to the application proxy.

[0109] 图12是从概念上说明信道和订户屏幕或⑶I 278和284的图,它可用来与接收订购的方法264结合使用。 [0109] FIG. 12 is a channel and subscriber screens or FIG ⑶I 278 and 284 illustrate conceptually, it can be used in combination with the method 264 of the received order. 屏幕278包括识别可供用户选择的可用信道的多个区282。 Screen 278 includes a plurality of user-selectable region identified available channels 282. 当选择了特定信道时,便可显示屏幕284用于接收在区286中用户的订购值。 When a specific channel is selected, the display screen 284 can be configured to receive Usually values ​​in the user area 286. 用户可选择区288以提交订购或选择区290以取消订购。 Users can choose to commit District 288 District 290 ordered or choose to cancel the order. 屏幕278和284可被格式化为例如超文本标记语言(HTML)网页或任何其他格式。 Screens 278 and 284 may be formatted, for example, hypertext markup language (HTML) page or any other format. 而且,屏幕可包括任意配置的区和内容,可能包括例如文本、图画、图片、各种颜色或多媒体信息,以便按所希望的提供针对订户的用户友好以及吸引视觉的界面。 Moreover, the screen area may include any configuration and content, for example, may include text, graphics, pictures, colors or multimedia information to provide user-friendly for subscribers in the desired visual and attractive interface. 这些屏幕还可包括提供例如传统浏览器功能的工具条280。 These screens can also include a toolbar 280 providing, for example, conventional browser functions.

[0110] 表14用C++编程语言提供了订户程序的示例。 [0110] Table 14 provides an example of a subscriber program in C ++ programming language.

[0111] [0111]

[0112] 通过有效载荷检杳的基于内容路由和信道 [0112] By subject Yao payload content-based routing and channel

[0113] 图13是通过有效载荷检查基于内容路由的方法300的流程图。 [0113] FIG. 13 is a flowchart of a method of content-based routing via payload inspection 300. 方法300例如可用智能路由器92中的处理器93执行的软件模块来实现,如用过滤守护程序212所表示的软件模块。 Method 300, for example, software modules may be an intelligent router processor 9293 executing be implemented as software modules by filtration 212 represented daemon. 或者,它可用ASIC或硬件和软件的组合来实现。 Alternatively, it can be used as an ASIC or a combination of hardware and software implemented. 方法300中所说明的基于内容路由可在网络中如网络核心任何地方的智能路由器中或边缘路由器中执行。 Content-based routing as illustrated in method 300 may be performed in a network such as a core network anywhere in intelligent router or edge router.

[0114] 一般意义上,基于内容路由涉及检查分组的有效载荷部分,以便确定如何处理分组。 [0114] In a general sense, the content-based routing involves checking the payload part of the packet, to determine how to handle the packet. 此基于内容路由的方法可包括例如处理按任何顺序的订购列表(例如采用过滤器)、逐个主体以及逐个属性地将消息与路由规则进行比较以便确定出该消息的路由以及在网络核心中执行该处理。 This content-based routing method may comprise, for example, treatment by order list in any order (e.g., using a filter), one by one body and a per attribute basis the message in order to determine that the message routing and routing rules, and execution of the network core deal with. 这些规则可包括管理路由器内处理的规则或与过滤器相关联的任何规贝U。 These rules may include a rule processing within the shell management router or any regulation associated with the filter U. 这些路由决策因此可分布于整个网络核心中。 These routing decisions can therefore be distributed throughout the network core. 使用如信道所表示的主体例如通过了解它们针对特定信道在消息或分组中的字节位置来确定出消息格式,从而为智能路由器提供在消息内快速定位属性的方式。 The channel body using, for example, are represented in the message packet or byte position determined by knowing the channel for a particular message format, thereby providing a way to quickly locate the message attributes in the intelligent router.

[0115] 在方法300中,智能路由器92接收消息分组(步骤302)。 [0115] In the method 300, intelligent router 92 receives a message packet (step 302). 它根据该分组确定对应消息的信道ID(步骤304),并利用信道ID检索该信道的属性(步骤306)。 It determines the channel ID (step 304) the packet according to the corresponding message, and using the channel ID of the channel attribute retrieval (step 306). 在本示例中,信道类型(根据信道ID确定的)确定分组中属性的位置和数据类型。 In the present example, the channel type and data type of the packet to determine the position of the attribute (determined according to the channel ID). 信道属性可在本地存储或诸如通过信道管理器远程检索。 Channel properties, such as may be stored locally or retrieved by the remote channel manager. 智能路由器92检索对应于订购的过滤器(步骤308)。 Intelligent router 92 retrieves a filter corresponding to the order (step 308). 该过滤器包括一个或多个属性测试,通常是一组针对订购的属性测试。 The filter includes one or more attribute tests, usually a group of attribute tests for subscription. 智能路由器92将分组中的属性应用于过滤器描述中的对应的属性测试(步骤310)。 Intelligent router 92 applies attributes in the packet corresponding attribute test (step 310) in the filter description.

[0116] 如果过滤器描述中的所有属性测试产生肯定结果(步骤312),则意味着属性满足所有的属性测试,智能路由器执行由与过滤器相关联的规则规定的一组功能(步骤314)。 [0116] If all the attribute tests in the filter description produce a positive result (step 312), it means that the attribute satisfies all the properties tested, a set of predetermined rules function performed by intelligent router associated with the filter (step 314) . 这些功能可包括例如把分组路由至下一链路,和/或利用分组的内容在本地路由器执行由这些规则所指定的一些动作或计算。 These functions may include, for example, the packet is routed to the next link, and / or packet using the contents of some action performed by the rules specified in the local router or calculated. 可例如在指定对应订购的数据结构中识别出动作或下一链路。 May be identified, for example, an operation corresponding to the specified link or a next ordered data structure. 当规则是链路时,它通常识别出下一网络节点以便接收分组,下一网络节点可包括智能路由器、主干路由器、网络连接的设备或其他实体。 When the rule is a link, it typically identifies the next network node to receive a packet, a next network node may include a device or other entities of the intelligent router, backbone router, a network connection. 或者,下一链路可以被指定或以其他方式与订购相关联。 Alternatively, the next links can be specified or otherwise associated with a subscription.

[0117] 如果过滤器描述中的所有属性测试未产肯定结果(步骤312),则意味着属性不满足所有的属性测试,过滤器被宣告失配(步骤315)。 [0117] If all the attribute tests in the filter description did not affirmative result (step 312) yield, it means that the attributes do not meet all the property tests, the filter is declared a mismatch (step 315). 智能路由器递归式地继续以上过程,直到耗尽过滤器描述中的所有属性测试或遇到了第一个否定结果为止,而不管它们中哪一个先出现。 Intelligent router recursively continue the process until exhausted all the attributes described in the test filter or met the first negative result so far, regardless of which of them comes first.

[0118] 一旦已经处理了对此过滤器的所有属性测试,智能路由器便确定是否存在更多过滤器(步骤316),如果是的话,它返回到步骤308,检索下一过滤器的属性测试以便针对它处理该属性。 [0118] Once all the attributes have been processed to test this filter, the intelligent router then determines whether there are more filters (step 316), and if so, it returns to step 308 to retrieve the attribute test of the filter to the next it handles for the property. 匹配过程(步骤308、310、312、314、315和316) —直继续,直到耗尽完整的过滤器组或可确定所有的动作或路由规则的结果为止,而不管哪一个先出现。 Matching process (steps 308,310,312,314,315 and 316) - continue straight until deplete complete set of filters or determinable until the results of all of the action or routing rules, regardless of which comes first. 如果分组不满足任何过滤器,则它将被引下(丢弃)并不被转发。 If the packet does not satisfy any filter, it will be cited under (discarded) are not forwarded.

[0119] 智能路由器92可按任何特定顺序序列通过过滤器。 [0119] Intelligent router 92 can sequence through any particular order filter. 例如,如表15中所示,智能路由器可将订购的过滤器存储在文件或路由表中,并线性地序列通过它们以将属性应用于过滤器(属性测试)。 For example, as shown, may be an intelligent router Usually the filter stored in a file or routing table and linearly sequence through them to the table 15 is applied to the filter property (attribute tests). 或者,该路由表可包括链路或对过滤器的指针。 Alternatively, the routing table can include links or pointers to the filters.

[0120] 可选地是,基于内容路由在相同的时间可采用一种以上的方法,这取决于例如应用和性能增强的启发式,如基于业务条件的算法交换。 [0120] Alternatively, the one or more content-based routing method can be employed at the same time, depending for example on the application and performance enhancing heuristics such as the switching algorithm is based on traffic conditions. 可选择地对用于处理的过滤器在网络中的路由器上进行加密、解密、转换以及合并,用以针对基于内容路由执行有效载荷部分的检查。 Alternatively, the filter processing for encrypting the router in the network, decryption, and combining the conversion to check the execution of the payload portion for the content-based routing. 例如,可将诸如价格> $3. 54122的订购删减为价格> $3. 54,因为已知应用中的发行物不包含超过第二个小数点以后的货币属性。 For example, the price of $ 3.54122 Order> such truncated to price> $ 3.54 because the publications in the application are known not to contain more than the second currency attribute decimals. 而且,外币在从海外发来的发行物到达例如位于美国的第一路由器时,最好还是先转换成美国货币为好。 Moreover, foreign currency sent from overseas publications such as when in the first router to reach the United States, it is best to convert the US currency as well.

[0121] 作为线性方法的备选方式,智能路由器92可按其他顺序或根据各种有可能提高处理速度和效率的算法来选择过滤器用于进行处理。 [0121] As an alternative linear methods, intelligent router 92 or other sequences may be used to select filters for processing in accordance with various possible to improve the processing speed and efficiency of the algorithm. 表16提供了订购和针对订购的对应链路的示例;在这些示例中,主体与特定信道相关,并且对于主体的订购可由过滤器的路由规则表示。 Table 16 provides an example for ordering and order corresponding to the link; In these examples, the body associated with a particular channel, and may be represented by routing rules for ordering the filter body. 主体可包括例如网络地址(如识别内容来源的统一资源定位符(URL))。 For example, the body may comprise a network address (such as identifying the content source Uniform Resource Locator (URL)).

[0125] 网络节点上的高速缓存 [0125] cache on the network node

[0126] 图14是高速缓存方法320的流程图。 [0126] FIG. 14 is a flowchart of cache method 320. 方法320可用例如智能路由器92中的处理器93执行的软件模块来实现,如高速缓存管理器218所表示的。 The method 320 may, for example, intelligent router software modules 92 executed to implement the processor 93, the cache manager 218 as indicated. 或者,它可用ASIC或硬件和软件的组合在与对应智能路由器相同或不同的物理设备中实现。 Alternatively, it can be used as an ASIC or a combination of hardware and software implemented in the same or different from an intelligent router corresponding to the physical device. 在方法320中,智能路由器92接收含有数据或内容、信道ID和主体的消息(步骤322)。 In the method 320, intelligent router 92 receives data or content containing, channel ID and the message body (step 322). 智能路由器92对数据加时间标记(步骤324),并在本地将它高速缓存到如存储器94或辅助存储装置97中(步骤326)。 Intelligent router 92 pairs of time-tagging data (step 324), and its local cache to the memory 94 or the auxiliary storage device 97 (step 326). 它通过例如信道ID、主体和时间戳来索引高速缓存的数据(步骤328)。 It indexed data cache (step 328) by, for example, channel ID, and a time stamp body.

[0127] 如果智能路由器92接收了对数据的请求(步骤330),它便利用索引根据所述请求检索高速缓存的数据(步骤332)。 [0127] If intelligent router 92 receives a request for data (step 330), it will use the index to retrieve cached data (step 332) according to the request. 智能路由器92将高速缓存的数据传送至主干路由器95或其他路由实体上,以便将其最终传输给请求者或其他人。 Intelligent router 92 cached data to backbone router 95 or the other routing entities, so as to be a final transmission to the requestor or others. 方法320可重复地被执行以便响应于请求而连续地高速缓存数据以及检索高速缓存数据。 The method 320 may be performed repeatedly in response to a request continuously cache data and retrieve cache data.

[0128] 图15是说明与方法320 —起使用的高速缓存索引(336)的图。 [0128] FIG. 15 is a diagram illustrating a method and 320-- cache index (336) is used from FIG. 高速缓存索引(336)接收数据(338),并将其与时间戳(340) —起存储。 The cache index (336) receives data (338), and with a time stamp (340) - from storage. 在收集数据时,每隔一段delta (德尔塔)t时间便对数据进行标记,这里deltat表示标记之间的时间,例如t2-tlt)也可以采用其他以任何方式作时间标记的索引类型。 When collecting data, every section of delta (delta) t time will mark data, where represents the time between marks deltat, for example t2-tlt) Other types of indexes for time marking in any way can be employed.

[0129] 表17从概念上说明对高速缓存的数据进行的索引。 [0129] Table 17 illustrates the index of the cache data conceptually. 表18从概念上说明用于存储关于高速缓存的连接历史的数据结构。 Table 18 conceptually illustrates an data structure stored on the cache connection history. 表19提供了用于在含有智能路由器的网络节点中本地高速缓存数据的数据结构的示例。 Table 19 provides an example of a data structure of the local cache data in a network node containing the intelligent router.

[0130] 可以按任何固定的或可变的时间间隔进行时间标记。 [0130] may be in any fixed or variable time intervals labeled. 例如,可每隔五分钟对数据进行高速缓存和索引。 For example, five minutes of data can be cached and indexed every. 在接收到用以检索指定时间和主体的高速缓存的数据的命令(如#· getCache)时,信道管理器218利用高速缓存索引来确定它是否可检索对应于步骤332的请求的高速缓存的数据。 Upon receiving a command to retrieve a specified time and the body cached data (e.g. # · getCache), the channel manager 218 using the cache index to determine if it can be retrieved corresponds to step 332 of the requested cache data .

[0131] 每个主体或信道可包括例如在组播树和一组智能路由器中的其自身的IP地址。 [0131] Each subject or channel can include, for example, its own IP address in the multicast tree and a set of intelligent routers. 因此,表18表示在这种路由器之间的连接历史,它可在本地存储于用户机中;如果边缘路由器故障,则用户机可访问连接历史,以确定如何在边缘路由器再次联机时与信道的上游路由器重新连接。 Accordingly, Table 18 represents a connection history among such routers that can be locally stored a user machine; channel if the edge router fails, the user machine to access the connection history to determine how online again edge router reconnect upstream router. 例如,它也可在它断开连接的期间执行得到高速缓存的命令,以便获得任何未决的订购内容。 For example, it may also be performed in order to obtain the cache during its disconnected, in order to obtain any pending content.

[0132] [0132]

[0134] [0134]

[0136] 这些示范性数据结构包括以下信息。 [0136] These exemplary data structures include the following information. 主体节点包含主体标识符、主体级、对父信道或主体节点的指针、它自己目录的文件描述符、对包含有它的下一级主体节点的hash(哈希)表的指针以及对数据节点的指针。 The main body comprising a node identifier, subject level, pointer to parent channel or subject node, file descriptor its own directory, pointer data with its next level subject nodes hash (hash) and the node table pointer. 数据节点包含对它的主体父节点的指针、数据目录的文件描述符、包含有对于存储在每个存储设备上的数据的数据结构的环形缓冲器、缓冲器的头和尾以及用于在检索和存储期间锁定数据节点的锁。 Data node contains a pointer to its subject parent node, file descriptor data directory, circular buffer with respect to a data structure of data stored on each storage device, head and tail of the buffer and means for retrieving and a lock data storage node during locking. 已存储的时间粒度节点是表示实际数据文件的节点,最后的时间粒度节点表示还没存储到存储设备但在存储器中维护的最后的缓冲器。 Time granularity of storage nodes is a node representing the actual data file, the last time granularity nodes represent not stored in the buffer memory device to the last but maintained in memory. 本示例中的高速缓存和数据存储装置线程利用最后的时间粒度节点的互斥来防止对最后的时间粒度节点的并发访问。 Caching and data storage threads in this example means exclusive use time granularity last node to prevent concurrent access to the last time granularity node.

[0137] 代理处理 [0137] Processing Agent

[0138] 图16是用于输出订购消息的代理方法350的流程图。 [0138] FIG. 16 is a flowchart of a method of outputting a proxy for the subscription message 350. 方法350可例如用如由代理128表示的软件模块来实现,其中该软件模块由用户(订户)机122中的处理器134执行。 The method 350 may for example as represented by the proxy software module 128 is achieved, wherein the software module executed by a user (subscriber) machine 122 in the processor 134. 在方法350中,代理128如利用图11和12中的上述方法接收订购(步骤352)。 In method 350, agent 128 as described above using the method of FIG. 11 and 12 receives the order (step 352). 代理128针对订购创建指定布尔表达式的字符串(步骤354),并解析该字符串以检测订购中的任何错误(步骤356)。 Agent string 128 (step 354) for the order to create the specified Boolean expressions, and parse the string to any error (step 356) in order to detect. 如果存在错误,代理128可向用户提供错误消息(步骤360)以便用户纠正错误并重新输入订购。 If an error exists, agent 128 may provide an error message (step 360) to the user for the user to correct the error and re-enter the subscription. 如果订购未包含错误(步骤358),则代理128将表达式存储在数据结构中(步骤362),以下提供了其示例。 Usually, if an error is not included (step 358), the agent 128 stores the expression in a data structure (step 362), examples of which are provided below. 代理128将数据结构中组成的不等表达式转变成正形(positive form)(步骤364),并将数据结构转变成对应的析取范式(DNF :disjunctive normal form)结构(步骤366)。 Expression ranging agent 128 consisting of the data structure into conformal (positive form) (step 364), and the data structures into a corresponding disjunctive normal form (DNF: disjunctive normal form) structure (step 366). 代理128还将DNF结构的“与”表达式简化为只包含范围过滤器和成员测试(步骤368)。 Agent "and" expression will simplify the DNF structure to contain only range filters 128 and members of the test (step 368).

[0139] DNF是一种众所周知的规范形式,其中布尔表达式表示为一个或多个所谓分离的子表达式的“或”,每个子表达式作为一个或多个属性测试的“与”。 [0139] DNF is a well-known canonical form in which a Boolean expression is represented as one or more so-called separate sub-expression "or", each sub-expression as one or more attribute tests "and." 例如,布尔表达式(价格>=10 “与”(符号= = “LU” “或”符号= = “T”))具有等同DNF表示((价格>=10 “与”符号= = “LU”)“或”(价格>=10 “与”符号= =“T”))。 For example, the Boolean expression (price> = 10 "and" (symbol = = "the LU" "or" symbol = = "T")) having an equivalent DNF represents ((price> = 10 "and" = = sign "the LU" ) "or" (price> = 10 "and" symbol = = "T")).

[0140] 步骤364中的转换涉及将具有“不等”操作符(在示范性语法中表示为!=)的表达式转换成等效的“正”形,该正形指定所有的容许值而不是一个不容许值。 Expression [0140] The conversion step 364 involves having the "equal" operator (represented in an exemplary syntax as! =) Into an equivalent of "n" shape, the positive shape specifying all allowable values not an allowable value. 这一转换在创建DNF之前执行,并且由于在本示例中的路由器要求正形中的公式,因此这种转换是必要的。 This conversion is performed before creating the DNF, and in the present example since the router requires conformal formulas, so that the conversion is necessary. 例如表达式(价格! = 80)可转换为等效的正表达式(价格<=79或价格>=81) ο Example, the expression (price! = 80) can be converted to the equivalent positive expression (price <79 or = price> = 81) ο

[0141] 步骤368中的转换在创建DNF之后执行,并涉及所得的“与”表达式的额外简化,在本示例中,还执行它用以简化路由器的工作。 [0141] step 368 is performed DNF created after conversion, and to "and" additional simplified expression is obtained, in the present example, it is also performed to simplify the work of the router. 具体而言,对于相同的属性的多属性测试的“与”可在等同性测试的情况下被简化为或者带有一个下界、一个上界、下界和上界二者或单个值的规范的“范围过滤器”。 Specifically, for the same attribute multiple attribute tests "and" may be simplified in the case where the test for equality, or with a lower bound, an upper bound and lower bound upper bound both standardized or individual values ​​" range filter. " 特定种类的范围过滤器则根据表22进行编码。 Specific kind of range filter is then encoded according to Table 22.

[0142] 例如,表达式(价格>=10 “与”价格<=80 “与”价格>=20 “与”价格< =100)可简化为表达式(价格>=20与价格<=80),这是具有下界和上界的范围过滤器的示例。 [0142] For example, the expression (price> = 10 "and" Price <= 80 "and" price> = 20 "and" Price <= 100) can be simplified to the expression (price> = 20 and price <= 80) this is an example of having lower and upper bounds of the range filter. 以下为简化后的其他种类的例子:(价格>=20)(只有下界);(价格<=80)(只有上界);以及(价格==50)(单个值)。 The following are additional examples of the types simplified price :(> = 20) (lower bound only); (Price <= 80) (upper bound only); and (price == 50) (single value). 在创建这些范围过滤器时,也可以将一些子表达式简化为“真”或“假”,在这种情形下,可根据布尔代数法则消除子表达式,由此还可进一步优化消息中的表达式的编码。 When creating these range filters, it is possible to simplify some of the subexpression "true" or "false", in this case, the expression can be eliminated according to the sub-rules of Boolean algebra, thereby further optimizing message may expression of coding. 例如,将表达式(价格>=50 “与”价格<=20)简化为“假”,这是因为对于“价格”没有可满足该表达式的值。 For example, the expression (price> = 50 "and" Price <= 20) simplifies to "false", because for the "price" does not meet the value of the expression. 在将整个过滤器表达式简化为“假”的特定情况下,代理根本不必创建消息,由此减轻了路由器的不必要的工作。 In the entire filter expression simplifies to "false" in certain circumstances, the agent do not have to create a message, thus reducing unnecessary work router.

[0143] 如果主体过滤器包含通配符,代理128则可选地按如下所述的方式将它们转换(步骤370)。 [0143] If the subject filter contains wildcards, agent 128, optionally in the manner as follows convert them (step 370). 或者,可在网络中而不是用户机或其他设备上转换任何通配符。 Alternatively, any wildcards can be converted on the user machine or other device is not in the network. 在本示范性实施例中,用于主体过滤器的语法是采用通配符的仅有语法,而属性过滤器的语法是采用布尔表达式的仅有语法。 Syntax in the present exemplary embodiment, the filter body is a wildcard only use syntax, grammar and attribute filters is the only syntax using Boolean expressions. 或者,实现可针对主体过滤器和属性过滤器采用不同的或可变类型的语法。 Alternatively, different implementations may or variable types of syntax for subject filters and attribute filters.

[0144] 代理128将所得的DNF表达式编码成消息(步骤372),并将该消息传送到智能路由器(步骤374)。 [0144] Agent 128 and the resulting DNF expression into a message encoded (step 372), and transmits the message to an intelligent router (step 374). 编码可能涉及将订购转换成平面消息格式(flat message format),这意味着它构成了数据串。 Usually encoding may involve message format is converted into planar (flat message format), which means that it constitutes a string of data. 此传送可涉及将由订购的主体过滤器和属性过滤器产生的路由规则传播至一个或多个智能路由器或网络中的其他路由实体上。 This may involve the transfer of routing rules ordered by the filter and body attribute filter is propagated to the other one or more smart routing entity or a network router. 对于该传播,订购表达式例如可映射成传统分组结构。 For this transmission, it can be mapped into an expression such Usually legacy packet structure.

[0145] 步骤372的编码涉及将对于某信道的订购编组为消息传送API的消息传送格式,以便在整个信道上传播。 [0145] The encoding for step 372 involves marshalling Usually a transport channel messaging API for message format, in order to propagate across the channel. 订购是在内部例如作为带有主体#· SUBSCRIPTION的通知进行消息传送的。 Order as notification with the subject # · SUBSCRIPTION example of message delivery internally. 因为既有可变数量的主体过滤器字段又有可变数量的属性测试,因此在本示例中一对字节用于存储主体过滤器字段数,而另一对字节用来存储属性测试数。 Since both the variable number of the filter body have a variable number of attributes field test, so in this example a pair of bytes used to store the number of subject filter fields, and another pair of bytes used to store the number of attribute tests . 对主体过滤器的各个字段顺序地(例如按在源订购中所规定的顺序)进行编组,并将每个编组为消息的两字节部分。 Sequentially for each field of the filter body (e.g., in the order specified in the source Usually) is grouped, and the grouped into two-byte portion of each message. 通配符字段可按下述方式编组。 Wildcard fields can be grouped in the following manner.

[0146] 在对属性测试编组时,在消息的末尾以类似于通知的属性值的编组的方式编组测试操作数。 [0146] operands consist of property tests when grouping, the attribute value at the end of the message in a manner similar to notify Grouping Test. 在对属性测试和操作数编组之前,它们是按DNF的每个析取项(disjunct)内的属性顺序进行分类的,同时按位置顺序测试预定义的属性,随后是按名称顺序测试自由属性。 Before property testing and operands grouped, they are classified by attribute order within each disjunct of the DNF (disjunct with), while the position of the test according to a predefined order attributes, followed by a test consisting of the attribute name order. 此外,在每个析取项内对标量值的属性进行相关测试集被简化为具有一个界限值(对于左或右开放范围或等同性测试)或两个界限值(对于不同界限值之间的闭合范围)的范围过滤器的正规式。 In addition, the properties of the scalar value related to the test set is simplified with a threshold value (for the left or right from the scope or equivalence open test) or two threshold values ​​(threshold values ​​different between in each disjunct regular Expression closed range) is a range filter. 关于测试的其余信息被编码成例如按与操作数的相同顺序的两字节对;此两字节对序列设在消息中,紧跟在主体过滤器字段的两字节编码序列之后。 The remaining information about the test is encoded into two bytes, for example, according to the same order of the operands; this two-byte sequence provided in the message, two bytes immediately after the coding sequence of the subject filter fields. 两字节对可构成一序列属性测试的比特串编码的一种形式,除两个字节对之外它也可用于表示其他类型的编码。 Two byte may constitute one form of a sequence of test bit sequence coding property, in addition to two bytes it may also suggest other types of encoders. 以下提供了属性测试的例子。 The following provides an example of the attribute tests.

[0147] 属性测试的编码概要如表20所述。 [0147] SUMMARY coding property test as described in Table 20. 表21说明两字节对的编码,表22说明两字节对中的操作符ID的编码。 Table 21 illustrates encoding for the two-byte, two-byte Table 22 illustrates encoding of the Operator ID's.

[0148] [0148]

[0149] [0149]

[0152] 由于测试的两字节对已经表明测试的操作数的类型以及测试是否应用于预定义或自由属性,因此不需要对自由属性或它们的类型所执行的测试数分开编组。 [0152] Since the test of two bytes has been shown that several types of test operations and test whether free or applied to a predefined attributes, there is no need for a test consisting of several attributes or their types separately grouping performed. 此方案假定在通知中不超过127个预定义属性。 This scenario assumes that no more than 127 predefined attributes in a notification. 或者,此设计可采用更多比特来编码属性测试。 Alternatively, this design allows for more bits to encode attribute tests.

[0153] 虽然这种编组常规根据属性过滤器的DNF来命令并分组属性测试,但是为使整个属性过滤器的整体评估更加高效,基础设施单元(如路由器)也可选择按某其他顺序(或许根据动态获得的关于不同测试的成功或失败的可能性的本地数据)来评估测试。 [0153] While such conventional grouping command according to the attribute of the filter and DNF packet attributes tested, but the whole of the overall assessment of the attribute filter more efficient, the infrastructure element (such as routers) also be selected according to some other order (perhaps according to local data regarding the likelihood of success of different tests obtained dynamically or failed) to evaluate the test. 消息的订购ID字段是由代理产生的值,用于唯一识别后续请求中的代理的边缘路由器的订购,以便修改或取消该订购。 Usually ID field of the message is a value generated by the agent for uniquely identifying the edge router in subsequent requests subscription agent in order to modify or cancel the order. 具体而言,对订购的属性过滤器的动态修改是采用图18的示例中显示的消息格式进行传播的,除了主体是#· RESUBSCRIPTION,并且订购ID是要修改的先前登记的订购的ID。 Specifically, the dynamic properties of the filter Usually modification is to use the message format shown in the example of FIG. 18 to spread, except the subject is # · RESUBSCRIPTION, and to modify the order ID is previously registered subscription's ID. 取消订购是例如在整个订购ID字段采用图18的消息格式进行传播的,其中主体是#· UNSUBSCRIPTION,并且订购ID是先前登记的要被取消的订购的ID。 Cancel Order is spread using, for example, a message format of FIG. 18 in the entire subscription ID field, wherein the body is # · UNSUBSCRIPTION, and order ID is to be canceled previously registered subscription's ID.

[0154] 以下提供了用于说明由上述代理进行的转换和编码的示例。 [0154] The following provides an example for explaining the conversion and encoding by the agent. 考虑以下示范性属性过滤器表达式:价格>=10与(符号= = “LU”或(量>=1000与量<=10000)) O图19显示了描述步骤362中由代理所使用的对象以存储表达式的统一建模语言(UML)的图390。 Consider the following exemplary attribute filter expression: price> = 10 and (symbol = = "LU" or (an amount of> = 1000 and an amount of <= 10000)) O 19 shows objects 362 used by the agent described in step to store an expression of the unified modeling language (UML) Figure 390. 此图说明用于规定订购的等级关系,它可包括变量、恒定值或二者。 This diagram illustrates an hierarchical relationship a predetermined order, which may include a variable, a constant value, or both. 图中的对象可以是根据特定实现的过滤器类实例。 Objects in the diagrams can be a filter implemented according to a particular instance of the class. 每个SimpleFilter (简单过滤器)对象描述了用于存储有关过滤器表达式的对应属性测试的信息的属性值。 Each SimpleFilter (simple filter) object represents the value of the attribute for storing information about a corresponding attribute test of the filter expression. 在图19的表达式中,“或”过滤器396连接两个“与”过滤器392和400。 In the expression of FIG. 19, "or" connected to two filters 396 "and" 392 and filter 400. “与”过滤器392包含具有订购属性的简单过滤器394。 "And" filter 392 contains a simple filter has ordered 394 properties. 类似地,“或”过滤器396包含简单过滤器398,“与”过滤器400包含简单过滤器402和404。 Similarly, "or" the filter 396 contains a simple filter 398, "and" the filter 400 contains a simple filter 402, and 404.

[0155] 为此示例,假定属性价格、符号以及量为相关联信道的预定义属性,并假定它们分别定义在位置0、1和2中。 [0155] an example, assume the attribute price, an amount of symbols and the associated channel for this predefined attributes, and assume they are defined at positions 0, 1 and 2. 此外,属性类型假定分别为无符号整数(类型代码6)、字符阵列(类型代码12)和无符号整数(类型代码6)。 Further, the attribute types are assumed unsigned integer (Type Code 6), character array (type code 12), and unsigned integer (Type Code 6).

[0156] 考虑包含以上示范性属性过滤器表达式的下一订购作为它的属性过滤器。 [0156] Consider next comprises more exemplary ordering attribute filter expression as its attribute filter. 图18显示了将订购编组成消息。 Figure 18 shows the message Usually grouped. 图18左边的简图386显示了实际的消息内容,而右边的简图388提供了消息的不同部分的图例。 FIG 18 is a schematic left side 386 shows the actual message contents, while the schematic illustration 388 is provided on the right part of the message is different. 在本示例中,每个简图的宽度为四个字节。 In the present example, the width of each schematic view of four bytes. 在编组之·前,过滤器已转换为它的等价DNF:(价格>=10与符号= = “LU”)或(价格>=10与量>=1000 与量<=10000)。 · Before grouping, the filter has been converted to its equivalent DNF :( price> = 10 and the symbol = = "LU") or (price> = 10 and an amount of> = 1000 and an amount of <= 10000).

[0157] 十六比特的属性测试编码显示为比特序列,间隙显示出分隔成不同的部分。 [0157] The 16 bit display properties of the test coding sequence of bits, showing a gap into separate portions. 注意,本示例中的价格的两个测试是不可合并的,由于它们是分开的析取项,因此它们被分开编组为无右界(“右开放范围”)的范围。 Note that, in this example the price can not be combined two tests, since they are separate disjuncts, and thus they are not grouped into separate right boundary ( "right Open Range") range. 另一方面,因为量的两个测试在相同的析取项中,因此它们可以结合,并由此将它们编组到一起作为单个的“闭合范围”的测试。 On the other hand, since the amount of the two tests in the same disjunct, and thus they may be combined, and thus grouping them into a "closed" and tested together as a single.

[0158] 最后,还要注意到一定字段的特征是“假设的”;这意味着此示例的这些字段值是任意选择的,并且一般与所编组的订购无关。 [0158] Finally, note also that certain fields are characterized in "hypothetical"; this means that the field values ​​of this sample is arbitrarily selected, and are generally grouped Usually independent. 此外,订购的主体过滤器任意地选择为“>”,它与相关联信道定义的任何主体匹配。 Further, the filter body ordered arbitrarily selected as ">", which matches any subject defined in the associated channel. 上述以及图18和19中所示的示例是只为说明目的而提供的,并且编组可用于任何其他类型的订购。 These and any other type of subscription example shown in FIG. 18 and 19 are provided for illustrative purposes only, and may be used for grouping. 而且,方法350只提供编组订购的一个示例,可以任何其他方式对它们进行编组。 Moreover, the method provides an example of grouping 350 ordered, can any other way they are grouped.

[0159] 图17是输入消息的代理方法376的流程图。 [0159] FIG 17 is an input message, the proxy method of flowchart 376. 方法376可例如通过用户机122中的代理128和应用126实现。 The method 376 may be implemented by, for example, 126 user agent 128 and the application unit 122. 在方法376中,代理128接收来自对应于订购的智能路由器的消息(步骤378)。 In the method 376, the proxy 128 receives the message (step 378) from an intelligent router corresponding to the order. 代理128例如利用消息中的信道ID确定对应于订购的信道(步骤380),并调用该信道的API (步骤382)。 Agent 128 may use the channel ID in the message corresponding to the determined order of the channel (step 380), and calls the API for the channel (step 382). 该API以GUI或其他格式在用户机上提供对于该订购的数据(步骤384)。 The GUI or API to other data formats (step 384) to the user on the machine in order. 输入消息的处理可采用与上述编码处理相反的、解码数据的处理,并且此解码(反编码)可在路由器或其他网络实体中执行。 Processing the input message can be the opposite, with the above-described processing decoded data encoding process, and this decoding (reverse encoding) can be performed in a router or other network entities.

[0160] 通配符处理 [0160] wildcard

[0161] 图20是通配符方法410的流程图。 [0161] FIG. 20 is a flowchart of a method 410 of the wildcard. 此方法说明针对过滤器采用一组路由规则以转换订购的表达式中的通配符的示例。 This method is described for example filter uses a set of routing rules in order to convert wildcards in the expression. 方法410可用例如用代理128表示的由用户机122中的处理器134执行的软件模块来实现。 Method 410 can be used, for example, a software module executed by a user of the machine 122 by processor 134 to implement the agent 128 represented. 或者,可在网络中由处理器93在智能路由器92或包含在ASIC91中的对应功能中的软件控制下处理通配符。 Alternatively, wildcards can be processed in intelligent router 92 or in the corresponding functions contained in the ASIC91 under software control by the processor 93 in the network. 通配符包括开字段(open fields)或可变长度字段,其示例在表21中提供。 Wildcards include open fields (open fields) or variable length fields, examples of which are provided in Table 21.

[0162] 在方法410中,代理128或其他实体接收具有通配符的订购(步骤412)。 [0162] In method 410, agent 128 or other entity receives a subscription (step 412) having the wildcard. 订购的主体长度可在发布内容时由发布方规定,并且主体可在发布方机上进行预处理,以便例如对主体的字段进行计数并因此获得它的字段计数(长度)。 Usually the length of the body may be specified by the publisher when publishing content, and the body may be effected on the publisher machine, for example, the subject fields were counted and it is thus obtained a field count (length). 代理128计数过滤器操作数中字段的数量(步骤414),并初始化字段长度=N的新规则(过滤器)(步骤416)。 Agent 128 the number of counts (step 414) the number of fields in the filter operation, and initializes a new rule of field length = N (filter) (step 416). 代理128检索订购的子字段(步骤418),并确定过滤器操作数子字段0[i]是否为通配符(步骤420)。 Agent sub-field (step 418) retrieves the subscriber's 128, and determines the filter operand sub-field 0 [i] whether or not a wildcard (step 420). 如果过滤器操作数子字段不是通配符,则代理128将合取子句增加到该规则中,字段 If the filter operand sub-field is not a wildcard, agent 128 will be added to the conjunctive clause to the rule, the field

[i] = 0[i](步骤422)。 [I] = 0 [i] (step 422). 如果过滤器操作数有更多子字段(步骤424),代理128返回到步骤418以处理其他子字段。 If the number of filter operation has more sub-fields (step 424), agent 128 returns to step 418 to process additional sub-fields. 参数“i”表示字段,其中i在本示例中是表示字段数的整数。 Parameter "i" indicates that the field, in the present example wherein i is an integer representing the number of fields.

[0163] 在处理了子字段之后,代理128确定最后的过滤器操作数子字段是否是“>”(步骤426),如果是的话,则它将长度限制改变为字段长度> NI (步骤428)。 [0163] After processing the sub-fields, agent 128 determines whether the last filter operand sub-field is ">" (step 426), and if so, it will length limit is changed to a field length> the NI (step 428). 通配符处理可采用任何类型的符号,“>”只是这样的一个示例。 Wildcard processing can be any type of symbol ">" This is just one example. 在此示例中,“a. >”可意指&.比&.(:,&.(1等,以及在所有的级上的所有其子主体(例如ab x, ac x, abx y等)。对于通配符的其他实现还可用其他符号。 In this example, "a>." Can mean ratio & & (:..., & (1, etc., and all of its sub-body in all stages (e.g. ab x, ac x, abx y, etc.) for other implementations of wildcards can also be used other symbols.

[0164] 如果必要的话,代理128将已变换的规则传播给智能路由器或网络中的其他实体(步骤430)。 [0164] If necessary, agent 128 transformed rule propagated to other entities (step 430) or intelligent network router. 因此,该方法重述通过上述子字段以便处理它们,将通配符转换为无通配符的·规则,也就是不包含通配符的规则。 Thus, the sub-field method in order to repeat the above process them, convert non-wildcard * wildcard rules, i.e. rules do not contain wildcards. 通配符的转换可出现在网络中的任何地方,例如在订户机上或在智能路由器中。 Wildcard conversion from anywhere in the network may occur, for example on the subscriber machine or intelligent router. 因此,此转换可在一个带有传播到其他实体的变换的规则的实体中进行,或者它也可动态地进行。 Therefore, this conversion can be carried out in an entity with a conversion rule propagated to other entities or it may be performed dynamically.

[0165] 表23提供了用于处理通配符的这些示范性路由规则的概要以及示例。 [0165] Table 23 provides a summary and examples for these exemplary routing rules for processing wildcards in. 这些路由规则例如可在智能路由器中产生,或在其他网络实体产生并传播到智能路由器中。 These routing rules can be generated, for example, in the intelligent router, or generated and propagated to the intelligent routers in other network entities. 此外,提供表23中的路由规则只用于说明目的,也可以采用用于转换通配符的其他路由规则。 Furthermore, the routing rules in Table 23 are for illustrative purposes only, additional routing rules may be used for converting wildcards.

[0166] [0166]

[0168] 告警服务 [0168] alerting service

[0169] 上述智能的基于内容路由可用于许多实现中,其中之一涉及数字视频监视系统(DVSS)。 [0169] The intelligent content-based routing can be used in many implementations, one of which involves a digital video surveillance system (DVSS). 例如,用户(如执法或安全机构)可输入对来自特定位置的摄像机的视频剪辑的订购。 For example, a user (such as law enforcement or security agencies) may enter the order of video clips from the camera of a particular location. 摄像机可捕获数字视频剪辑并经由具有基于内容路由的网络(如因特网)传送那些剪辑,在网络核心中其根据订购处理视频剪辑。 The camera can capture digital video clips and transmit those clips via a network having (such as the Internet) content-based routing in the network core which video clips according to the order processing. 因此,用户接收感兴趣的视频剪辑,并将它们的过滤分布于整个网络中。 Thus, the user is interested in receiving video clips, and they are distributed throughout the network filtering. 除视频剪辑以外,可分布任何其他类型的内容以提供任何类型的警告,这些示例包括安全破坏、失火以及欺诈检测。 Addition to video clips, may be distributed in any other type of content to provide any type of warning, such examples include security breaches, fire, and fraud detection.

[0170] 在另一示例中,特定摄像机可包括相关联的移动传感器。 [0170] In another example, particular cameras can include associated motion sensor. 在检测到移动时,移动传感器同时触发摄像机将拍摄的视频剪辑传送至网络,该网络采用基于内容路由来将视频剪辑路由至订户。 Upon detection of movement, while the movement sensor triggers the camera to transmit a video clip taken to network, which uses content-based routing to route the video clip to subscribers.

[0171] 因此,上述基于内容路由可显著减少网络在处理和路由视频剪辑方面的负担。 [0171] Thus, content-based routing described above can significantly reduce network burden in processing and routing video clips aspects. 例如,由每个电荷耦合装置(CXD)产生的视频信号要求通过数字视频录像(DVR)写到四个不同的目的地,它们分别是DVR管理的本地存储装置、连接到网络的全局存储装置、DVSS系统以及iDSS管理服务器。 For example, a video signal produced by each of the charge coupled device (CXD) required by the digital video recorder writes (DVR) four different destination, which are managed by DVR local storage device, a storage device connected to a global network, DVSS system and iDSS management server. 考虑到承载如此巨大的数据量所必须的网络带宽,由iDSS管理的CCD或DVR的总量可能不满足客户的容量需求。 Taking into account such a huge amount of data carrier necessary network bandwidth, the total amount of CCD or DVR iDSS management may not satisfy the customer's capacity requirements. 因此,带宽需要例如采用针对媒介或大量的订户的技术来限制。 Thus, for example, using the bandwidth requirements for medium or large number of techniques to limit the subscriber. 图21显示了一个监视系统的整体接构视图,其中每个DVR可管理四个或十六个(XD。 Figure 21 shows the overall configuration view of a contact of the monitoring system, in which each DVR may manage four or sixteen (XD.

[0172] 结构概述:图22说明了主要基于上述技术的两项改进,以改善图21所示的监视系统的能力。 [0172] Structure Overview: FIG. 22 illustrates two improvements is mainly based on the above technique, in order to improve the ability of the monitoring system 21 shown in FIG. 如图22所示,第一项改进集中于如何减少DVR主干业务量,而第二项改进采用称为z盒的设备,该设备提供如上述那些功能的基于内容路由的功能,以提高数据传送效率。 22, the first focus on how to improve the DVR backbone traffic reduction, and use of a device called a second improvement z cartridge, the device provides those functions as described above content-based routing function, to increase the data transfer effectiveness.

[0173] 减少DVR主干上的本地业务量:数据分布方案中的低效率可导致严重的可扩展性问题。 [0173] reducing local traffic on the DVR backbone: the data distribution scheme inefficiencies can lead to serious scalability problems. 即,在DVR生成的图像文件采用基于TCP协议交付到其他的盒中时,带宽消耗随连接到局域网(LAN)的设备数量而线性增加。 That is, the image file is generated DVR TCP protocol when delivered to the other cassette-based, bandwidth consumption with the number of devices connected to a local area network (LAN) increases linearly. 在iDSS的一个视图中,相同的流式视频数据需要发送到联网的存储装置(SAN或NAS)、iDSS监视器以及每个DVSS中,其中DVSS是远程监控软件。 Idss in a view, the same streaming video data needs to be sent to a networked storage device (SAN or NAS), iDSS monitor and each DVSS in DVSS which is remote monitoring software.

[0174] 一种解决此问题的方法是对于每个DVR,在LAN上发布出仅一个数据流,并让其他连接到网络的设备接收相同的数据流作为订购的结果。 [0174] One solution to this problem is for each DVR, the publish only one data stream over LAN, you and let the other devices connected to the network receives the same data stream as a result of subscription. 因此,如果DVR的输出速率为10兆比特/秒(Mbps)的话,则相同的网络上例如有3个订购设备应当只需要网络的10Mbps,而非30Mbps ο Thus, if the output rate of a DVR is 10 megabits / second (Mbps), then the example 3 on the same network should only require equipment Usually network 10Mbps, 30Mbps ο not

[0175] 为达到此目的,上述发布-订购、事件通知API可用于DVR盒和利用DVR数据的任何设备(如iDSS、全局存储装置)上。 [0175] For this purpose, the distributor - Usually, the event notification API can be used by any device DVR DVR cartridge and data (e.g., Idss, global storage device). API可以是简单但有效的,它可采用IP组播和恢复协议。 API can be a simple but effective, and it can be used to restore IP multicast protocol. API还可遵循以上的发布-订购模型,使得其他实现不需要改变代码,只要简单地利用提供API的完全版本的库便可进行重新链接。 API also released under the above - Purchase model so that other implementations do not need to change the code, simply use the full version of the library provides the API can be re-linked.

[0176] DVSS的代理服务器:每个DVSS可接通一条到DVR盒的连接(基于TCP)以接收流式视频数据。 [0176] Proxy server DVSS: Each DVSS can be switched to a connected DVR cartridge (based on TCP) to receive streaming video data. 可扩展性提出了如上所述相同的问题。 Scalability presents the same problems as described above.

[0177] 参照图22,此方法可描述为2个阶段,例如在第一阶段I中,在LAN侧处,可提供代理服务器(如z盒I)以处理所有的DVSS输出数据(即从DVR输出到DVSS的数据)。 [0177] Referring to FIG. 22, this method may be described as 2 stages, for example in a first stage I, at the LAN side, a proxy server may be provided (e.g., z box I) to handle all the DVSS output data (i.e., from DVR output data to DVSS). 此代理服务器订购LAN上所有的DVR数据,并将该数据发布到外部网络(如因特网)上。 This proxy ordered all DVR data on the LAN, and publish the data to an external network (such as the Internet) on. DVSS订购此数据。 DVSS order this data. 因此,代理服务器z盒I提供了订户代理(如代理128)和发布方代理(如代理36),其中订户代理用于采集来自DVR的数据,发布方代理用于将此数据在整个发布-订购网络(如上述的发布-订购网络)上发布。 Thus, the proxy server provides the subscriber I z cartridge agent (e.g., agent 128) and the publisher's agent (e.g., agent 36), wherein the agent for collecting subscriber data from the DVR, the issuer proxy data for this entire publication - Usually network (such as the above-mentioned release - Purchase network) released on.

[0178] 即使在阶段1,业务量也会在LAN侧有极大地减少,但是业务量仍然可能堵塞输出链路,特别是在某些国家,在典型的不对称数字订户线路(ADSL)只有64千比特/秒(kbps)的上行链路速度时,尤其如此。 [0178] 1, traffic on the LAN side there will be greatly reduced even at the stage, but the traffic may still jam the outgoing link, especially in certain countries, in a typical asymmetric digital subscriber line (ADSL) only 64 when kilobits / second (kbps) uplink speed, in particular.

[0179] 继续参照图22,阶段2优选涉及租用或者获取在服务提供商机房中的连接并在那里设置第二z盒设备(如z盒2)。 [0179] With continued reference to FIG. 22, stage 2 preferably involves leased or acquired service provider connected to the machine room and the second z-box device is provided (e.g., z box 2) there. 例如,z盒设备可放在Hi-Net主干上。 For example, z cassette equipment may be placed on the Hi-Net backbone. 可在客户住宅处建立从该设备至z盒2的单个连接(隧道)。 You may establish a single connection (tunnel) to the z cartridge from the apparatus 2 at the customer premises.

[0180] 在此情况下,在客户住宅处的z盒2用作订户代理(如代理128)。 [0180] In this case, the z-box 2 at the customer premises serves as a subscriber agent (e.g., agent 128). Z盒2还可用作路由守护程序(如路由守护程序216)。 Z cartridge 2 also serves as a routing daemon (e.g., routing daemon 216). 作为订户代理,z盒2(如Hi-Net机房中的)优选订购DVR通过z盒I发布的内容。 As the subscriber agent, z 2 cartridge (e.g., Hi-Net machine room) preferably Usually the content z DVR cartridge I released. 在z盒I和z盒2之间的是如上所述的发布-订购网络。 In the publication described above is between 2 and z I z cassette cartridge - Usually network. 因此,z盒I发布来自DVR的视频,而z盒2订购DVSS所需要的视频。 Therefore, z box I posted a video from the DVR, video cassettes and z 2 Order DVSS need. 在此方式中,采用这里所述的事件通知系统提高了告警服务的数据交付效率。 In this way, the use of event notification system described herein improves data alerting service delivery efficiency. z盒(如z盒I和z盒2)优选包括如上所述用于在此发布-订购网络上进行发布和订购的模块。 z cartridge (e.g., cartridge I z and z cartridge 2) preferably comprises a release as described above for this - to publish and subscribe to the network subscription module.

[0181] 数字内容交付 [0181] Digital content delivery

[0182] 上述智能的路由基于内容可用于许多实现,包括路由通过订购的视频、音乐和软件更新。 [0182] The intelligent routing based on content can be used in many implementations, including order routing via video, music and software updates. 例如,用户可订购软件更新(如防病毒软件),并将该更新自动路由给他们。 For example, users can order software updates (such as anti-virus software), and the update is automatically routed to them. 在其他示例中,用户可订购特定视频和音乐内容,并且也可使订购的内容自动路由给他们。 In other examples, the user can order specific video and music content, and the content can also order automatically routed to them. 视频和音乐例如可作为流式数字内容而接收。 E.g. video and music can be received as streaming digital content. 此外,网络核心中的分布处理大大减轻了提供软件、视频和音乐内容的服务器上的处理负担。 In addition, the distributed processing network core greatly reduce the processing load on the server software, video and music content. 因此,除其他好处以外,采用相同的网络基础设施来提供内容还可有效地增加网络带宽。 Therefore, in addition to other benefits, using the same network infrastructure to provide content but also effectively increased network bandwidth.

[0183] 图23显示了一种用于实现此路由的特定结构。 [0183] FIG. 23 shows a specific structure for implementing this route. 应当注意,该结构假设有两级高速缓存服务器Cl和C2,优选驻留在网络服务提供商的设在同一位置的场所中。 It should be noted that this configuration assuming two Cl cache servers and C2, preferably residing in the spaces provided at the same position in the network service provider. 不过,在只有Cl高速缓存服务器是可用的时候也可获得这些效益。 However, when only Cl cache servers are available these benefits can be obtained. 术语Cl和C2高速缓存服务器是指提供如上所述的分布式网络高速缓存的服务器(参见图14-15及相关描述)。 The terms Cl and C2 cache servers are distributed network as described above to provide cache servers (see FIGS. 14-15 and associated description). 该结构例如可在两个阶段中发展得来。 This structure can e.g. be developed in two stages. 第一阶段假设C2高速缓存服务器不存在,它在中央分布器450和Cl高速缓存服务器之间采用快速文件传送机制,以减少服务器负载和发送大的媒体文件所需的时间。 The first stage is assumed C2 cache servers do not exist, which uses fast file transfer mechanism between the central distributor 450 and the Cl cache servers to reduce the server load and the time needed to send large media files. 快速文件传送机制优选通过在中央分布器450与Cl高速缓存服务器之间添加路由盒(图23中的470)而获得。 Preferably fast file transfer mechanism between the central distributor through 450 and the Cl cache server to add a route cartridge (470 in FIG. 23) is obtained. 第二阶段是在C2高速缓存服务器上添加路由盒,以及在用户(如用户机460)和C2高速缓存服务器之间采用上述订购机制。 The second phase is to add routing boxes at C2 cache servers on, and the above-described mechanism Usually between the user (e.g., user machines 460) and C2 cache server.

[0184] 采用路由盒的效益:路由盒470优选包括用于实现上述基于内容路由的模块(如上述智能路由器92)。 [0184] The cartridge benefits routes: Route cartridge 470 preferably includes means for achieving the above content-based routing module (e.g., intelligent router 92 described above). 采用路由盒470实现上述基于内容路由有两个主要效益。 Using routing boxes 470 to achieve the above content-based routing has two major benefits. 采用这些路由盒470的快速路由和文件传送解决方案可将文件传送的速度提高到传统文件传送协议(如FTP或RCP)的5倍。 With these routes cartridge 470 fast routing and file transfer solution to improve the speed of file transfer to a conventional file transfer protocol (such as FTP or RCP) five times. 同时,也可在广域网(WAN)上实现高效组播。 It also allows efficient multicast in wide area network (WAN). 当数据从中央位置发送到一组接收器中时,此路由解决方案将通过利用网络组播拓扑和在WAN上构建组播隧道来减少服务器负载和网络带宽需求从而加快内容交付的速度。 When data is sent from a central location to a group of receivers, this routing solution will reduce server load and network bandwidth requirements by using the network multicast topology and constructing multicast tunnel on the WAN thereby speed up the content delivery.

[0185] 结构:将媒体内容从中央分布器交付到Cl高速缓存服务器中。 [0185] Structure: The media content delivery from the central distributor to the Cl cache server. Cl高速缓存服务器存储全部的内容文件。 Cl cache server that stores all of the content files. 每个Cl高速缓存服务器需要例如terra字节的磁盘空间来存储全部内容。 Each Cl cache server requires, for example, terra bytes of disk space to store the entire contents. 用户(例如采用诸如订户机122的用户机460)请求C2高速缓存服务器的内容,该高速缓存服务器只存储部分内容。 User (e.g., such as a subscriber unit 122 using user machines 460) C2 cache server requests the content of the cache server stores only part of the contents. C2高速缓存服务器需要例如数百个吉字节的盘空间。 C2 cache servers such as disk space required hundreds of gigabytes.

[0186] 用户和C2高速缓存之间的文件传送:在用户460通过发出订购请求媒体文件时,该请求由其中一个C2高速缓存服务器来处理。 [0186] files between users and C2 caches transmission: When a user 460 requests a media file by issuing a subscription, the request by one of the C2 cache server for processing. 如果所请求的媒体文件已在C2服务器中高速缓存,则立即交付此文件。 If the requested media file has been cached in the C2 server, the file for immediate delivery. 如果未在C2服务器中高速缓存,则向Cl高速缓存服务器发送订购并将所请求的文件从Cl高速缓存服务器传送到C2高速缓存服务器。 If not cached in the C2 server, the transmission order to the Cl cache server and the requested file is transferred from the Cl cache server to the C2 cache server.

[0187] 从Cl高速缓存器至C2高速缓存器预先将媒体数据高速缓存:基于用户订购或订购模型,可预先将媒体文件从Cl高速缓存服务器高速缓存到C2高速缓存服务器中。 [0187] from Cl caches to C2 caches media data cache in advance: based on user subscription or subscription model, the media file may be pre-Cl cache server to the C2 cache server cache. 例如,如果连接到C2高速缓存服务器的用户460对流行歌曲非常感兴趣,Cl高速缓存服务器可将新的流行歌曲推向C2高速缓存服务器,即便是在C2高速缓存服务器上的任何用户460请求这种歌曲之前也这样做。 For example, if the user is connected to the C2 cache server 460 pairs very interested in pop songs, Cl cache server can push a new pop songs C2 cache server, any user even in the C2 cache server requests 460 this do the same kinds of songs before.

[0188] 实现阶段:第一阶段涉及例如安装快速文件传送机制,具有在分布器450与所有的Cl高速缓存服务器之间的内容路由。 [0188] implemented stages: The first stage involves the installation, for example, fast file transfer mechanism with content routing between the distributor 450 to all Cl cache servers. 不需要C2高速缓存服务器。 C2 cache server is not required. 在此情况下,所有的用户460直接连接到Cl高速缓存器上。 In this case, all users 460 is directly connected to the Cl cache. Cl高速缓存服务器定期从分布器450接收新的媒体文件。 Cl cache server periodically receiving new media files from the distributor 450. 图24中显示了阶段I的结构。 Figure 24 shows the structure of the Phase I.

[0189] 注意,在图24中,分布器450向路由盒470只发送新的媒体文件一次,由上述智能的基于内容路由技术驱动。 [0189] Note that, in FIG. 24, the distributor 450 sends a new media file once to the routing box 470, driven by the intelligent content-based routing technology. 因此,减少了分布器450的负载。 Thus, reducing the load distribution 450. 路由盒470采用快速文件传送机制将文件发送到每个Cl高速缓存服务器。 Routing box 470 using fast file transfer mechanism to send files to each of the Cl cache server. 在此情况下,在接收器460端不需要额外的路由盒。 In this case, the receiver terminal 460 at no additional routing boxes. 或者,其他类型的服务器可用于Cl高速缓存服务器。 Alternatively, other types of servers can be used for Cl cache servers.

[0190] 现参照图25,其中显示了实现阶段2的实施例的结构。 [0190] Referring now to Figure 25, which shows a structure of an embodiment implemented in Stage 2. 本示例中的阶段2优选采用内核实现的路由盒470来路由和发送数据。 Phase 2 of the present example is preferably used to route and transmit 470 data routing cartridge kernel implementation. 内核层解决方案还减少了发送文件时的开销,这是因为它需要更少的缓冲器拷贝以及更少的环境交换时间(context-switching time)。 The kernel layer solution further reduces the overhead of sending files since it needs less buffer copy and less environmental exchange time (context-switching time). 此外,阶段2解决方案在结构中增加了C2高速缓存服务器,如图25所示。 Further, in the phase 2 solution adds the configuration C2 cache servers, shown in Figure 25. 同样,如图所示,优选在服务提供商网络中采用共同定位以在C2站点上添加路由盒470。 Also, as shown, is preferably used in the service provider network co-located on the C2 site to add routing boxes 470. 这进一步显著减少了带宽需求,可能有数百倍的带宽减少。 This further significantly reduces bandwidth requirements, reduce bandwidth may be hundreds of times.

[0191] 如图25所示,Cl高速缓存服务器和C2高速缓存服务器之间传送的文件经由与Cl高速缓存服务器相关联的路由盒470和与C2高速缓存服务器相关联的路由盒470传送。 [0191] As shown in FIG 25, documents transferred between Cl cache servers and C2 cache server is transmitted via the routing boxes associated with the Cl cache servers 470 and associated with the C2 cache servers 470 routing cartridge. 在此方式中,采用这些路由盒470实现了Cl和C2高速缓存服务器之间的快速路由和文件传送解决方案。 In this way, using these routing boxes 470 enables fast routing and file between the Cl and C2 cache server transport solutions.

[0192] 服务质量管理 [0192] Quality of Service Management

[0193] 上述智能的基于内容路由例如可用于以特定交付保证路由内容。 [0193] The intelligent content-based routing, for example, may be used to deliver content to specific routes guaranteed. 例如,基于服务级协定(SLA),ISP或内容提供商可预留带宽来保证服务质量(QoS)。 For example, based on service level agreements (SLA), ISP or content provider can reserve bandwidth to guarantee quality of service (QoS). 这可通过上述基于内容智能路由而高效地完成。 This may be accomplished efficiently by the content-based intelligent routing described above.

[0194] 结构:存在至少两种保证内容交付中的QoS的可能配置。 [0194] structure: the presence of at least two of QoS guarantee content delivery possible configuration. 第一种配置是将多个链路连接到一个或多个电话公司(TELCO)网络中。 The first configuration is to connect the plurality of links to one or more telephone company (the TELCO) networks. 第二种配置是只用一条到TELCO网络的网络链路。 The second configuration is only one network link to a TELCO network. 如图26中所示的示例,有两层路由盒(R盒)。 In the example shown in FIG. 26, there are two layers of routing boxes (R cassette). R盒I基于数据分组的内容将分组路由到R盒2和R盒3。 Box I R based on the contents of the data packet to route the packet to the cartridge 2 and R 3 R cassette. R盒2和R盒3将数据分组路由到不同的网络链路(如L1-L4)中,每条链路连接到TELCO网络。 R 2 and R cassette cartridge 3 the data packets are routed to different network links (e.g. L1-L4), each link is connected to a TELCO network. 为给高级用户预留带宽,为最高SLA客户产生的数据分组被路由到具有最高带宽(最高优先级)的链路上,以保证那些客户的特定QoS。 Advanced users to reserve bandwidth for the data packets generated for the highest SLA customers are routed to the link with the highest bandwidth (highest priority) to guarantee a particular QoS for those customers.

[0195] 如图27中所示的示例,R盒I将数据分组路由到R盒2和R盒3。 [0195] In the example shown in FIG 27, R I cassette route the data packets to the R cassette cartridge 2 and R 3. R盒2和R盒3将数据分组又路由到不同的通信链路中,它们随后全部连接到R盒4。 R 2 and R cassette cartridge 3 and the data packets are routed to different communication links, all of which are then attached to the R 4 cartridge. R盒4基于每条链路的QoS水平从四条链路获取数据分组。 R 4 cartridge QoS level of each link based on acquired data packets from the four links. 随后,R盒4通过网络链路(如L5)将数据分组发送到因特网ISP。 Then, R 4 cartridge data packets to the Internet through the ISP network link (e.g., L5). 通过实现在每条链路中获取数据的各种算法,该系统可为每条链路动态分配带宽,以便得到比多链路配置更佳的QoS管理。 By implementing various algorithms for acquiring data in each link, the system can dynamically allocate bandwidth for each link, in order to obtain a multi-link configuration better than QoS management.

[0196] 技术=QoS保证可影响上述智能和分布的基于内容路由的技术。 [0196] Technical = QoS guaranteed content-based routing techniques and may affect the smart distribution. 为基于内容路由标记要路由的每个分组。 Content routing tag for each packet to be routed based. 解决方案为ASP/内容提供商作出经济可行的QoS的部署,此外还可能有其他好处。 Economically viable solutions to QoS deployment is ASP / content providers, in addition also have other benefits.

[0197] 效益:该解决方案可提供给因特网服务提供商(如IDC)或内容提供商(如按需媒体(MOD)服务提供商),以便基于客户的SLA为不同的客户预留带宽。 [0197] Benefits: The solution is available to Internet service providers (such as IDC) or content providers (such as media-demand (MOD) service provider) to reserve bandwidth for different customers based on the customer's SLA.

[0198] 实时告警:告警可具有不同的优先级。 [0198] Real-time alarm: Alarm may have different priorities. 例如,安全和失火告警可赋予最高优先级,而新的告警可赋予更低优先级。 For example, security and fire alarm can be given the highest priority, and the new alarm can be given a lower priority. 在没有QoS路由的情况下,最高优先级告警可能不能以实时方式到达它们的订户,因为ASP的网络带宽可能被具有更低优先级的告警和通信占用。 In the absence of QoS routing, the highest priority alarm may not reach their subscribers in real time, because the ASP network bandwidth may be a lower priority alerts and communications occupancy. 这种解决方案防止了此问题的发生。 This solution prevents the occurrence of this problem. 而且,可基于客户的SLA将告警发送到每个客户。 Moreover, based on the customer's SLA alerts will be sent to each customer. 高级客户可以付出更多的费用并拥有分配给他们的更多带宽。 Advanced customers can pay more money and have more bandwidth allocated to them.

[0199] 实时数据交付:对于一些应用(如按需音频(VOD)、MOD或IP上的语音传送业务(VoIP)),带宽可用性影响了这些应用的质量。 [0199] Real-time data delivery: For some applications (such as audio on demand (VOD), voice transmission services (VoIP) on the MOD or IP), bandwidth availability affect the quality of these applications. 这种解决方案可按如上所述通过检查分组内容基于消息类型来路由数据分组。 This solution can route data packets as described above by examining the contents of the packet based on the message type. 对于一些带宽敏感的应用,它们的数据分组可路由到具有更高优先级的链路。 For some applications the bandwidth sensitive, their data packets can be routed to higher priority links. 除了消息类型之外,数据分组还可基于它们的SLA级路由到各个订户。 In addition to the message types, data packets may be routed based on their SLA level to each subscriber. 可采用这种解决方案将对于更高的SLA客户的分组路由到具有更高优先级的链路。 This solution will be used to route the packet to higher SLA customers link having a higher priority.

[0200] 软件或防病毒软件的更新也可利用这种解决方案。 [0200] software or update anti-virus software can take advantage of this solution. 例如,可将防病毒文件路由到具有最高优先级的链路,以确保实时防病毒更新,而可将音频驱动文件路由到具有较低优先级的链路。 For example, the anti-virus file routing to link with the highest priority, to ensure real-time anti-virus updates, and can be routed to the audio driver files have lower priority link.

[0201] 基于内容的过滤:采用共同定位服务并将R盒置于TELCO网络内,系统可在ISP之外执行过滤和动态高速缓存,如图28所示。 [0201] Content-based filtering: co-location service and R using the cassette placed in the TELCO network, the system can perform filtering and dynamic caching outside the ISP, as shown in Figure 28. 在TELCO网络内部的R盒可基于上述的内容过滤技术来过滤数据,以减少进入IDC/ISP网络的业务量。 Inside the TELCO network R data of the cartridge may be filtered based on the content filtering technology to reduce the traffic into the IDC / ISP network. 这可用来阻止黑克攻击,例如DOS攻击或未授权的数据访问。 This can be used to prevent black gram attacks, such as DOS attacks or unauthorized data access. 由于能够检查请求的内容,因此R盒还可以是用于静态和动态web数据的高速缓存盒。 It is possible to check the contents of the request, the cartridge thus R may also be a cache box for static and dynamic web data. 此解决方案的优点包括例如安全、节约TELCO和ISP之间的网络带宽以及节约ISP服务器的负载。 The advantage of this solution include, for example, safety, saving network bandwidth between the ISP and the TELCO ISP server load and save.

[0202]利用选择组播进行高速缓存 [0202] using the selected multicast cache

[0203] 消息持续是一种可以在稍后时间存储消息并检索它们的能力。 [0203] Length is a message and can retrieve their ability to store the message at a later time. 大量的特定应用(如电子邮件)通常对于流过网络的消息需要超长的消息持续。 Numerous specific applications (such as e-mail) message is generally continued for a message flow through the network needs long. 在理想状态下,在网络没有故障的时候,总是连接的订户应当不需要任何超过针对这些特定应用所需要的持续。 In an ideal world, when there is no network failure, always connect subscribers should not require any lasting more than for these specific application needs. 然而,现实中,消息可能会在通过网络时由于各种原因“丢失”,例如⑴或者在网络内部或在用户端处出现了故障或缓冲器溢出或(2)用户显示地断开了网络连接并在一段时间之后再次连接。 However, in reality, the message may be a variety of reasons "lost" during a network, e.g. ⑴ fails or or or a buffer overflow or (2) the user explicitly disconnected from the network at the user end of the internal network and connect it again after some time.

[0204] 这里所述的事件通知系统持续模型被分成两级:短期持续和长期持续。 [0204] where the event notification system continues the model is divided into two levels: short-term and sustained long-term sustainability. 短期持续专用于恢复由于网络拥塞或短期的链路故障而引起丢失的分组。 Short-term sustained recovery is dedicated to short-term due to network congestion or link failure caused by lost packets. 长期持续专用于恢复其他故障,包括例如用户连接失败或ISP网络故障、用户机故障、较长期的网络故障和/或其他故障。 Other dedicated long lasting fault recovery, for example, include a user connection failure or ISP network failure, malfunction users, longer-term network failure, and / or other failure. 以下将描述这两种方案的实施例。 Example of these two solutions will be described below.

[0205] 短期持续:数据重传和流控制 [0205] short duration: the data retransmission and flow control

[0206] 在数据网络中,数据丢失的原因可简单地划分为链路故障和缓冲器溢出。 [0206] In a data network, a cause of data loss can be simply classified as link failure and buffer overflow. 为给事件通知系统提供可靠的信道,需要解决这些问题。 Provide a reliable channel to the event notification system, these issues need to be addressed. 对于链路故障,可以实施前向纠错(FEC)方案以纠正由链路故障引起的一些错误。 For link failures, may be implemented before forward error correction (FEC) scheme to correct some errors caused by link failures. 然而,仍然有必要提供一种在错误非常严重以致于没有FEC方案可校正它的时候恢复分组的方案。 However, it is still necessary to provide a very serious mistake so that no FEC scheme can correct it when the recovery program packet. 就缓冲器溢出而言,必须要防止缓冲器流发生。 To buffer overflow, it is necessary to prevent the occurrence of buffer flow. 流控制方案通常用于数据网络以防止这种问题。 Flow control scheme generally used in the data network to prevent such problems.

[0207] 在短期持续方案中,传输控制协议(TCP)隧道优选用于逐跳地连接事件路由器(如智能路由器12)。 [0207] In the short duration of the program, the tunneling control protocol (TCP) is preferably used to connect event hop router (e.g., intelligent router 12). 基于可靠的层2隧道而不是采用可靠传输协议(如RMTP)的原因是多方面的。 Based on reliable layer 2 tunnel instead of using a reliable transport protocol (e.g., RMTP) of many reasons. 在事件通知系统中的短期持续方案中,如果消息不满足过滤规则,则消息优选由路由器过滤出。 In the event notification system in the short duration of the program, if the message filtering rule is not satisfied, then the message is preferably filtered by the router. 因此,接收路由器通常不可以通过采用类似源序列号的方案检测到分组的丢失。 Thus, the receiving router generally can not detect the loss of packets by using schemes similar to the source sequence number. 同样,对于所有接收路由器也不希望确认它们接收的每个分组,因为这样将会导致确认过量(即ACK扩增)。 Similarly, for all receiving routers do not wish to confirm that they receive each packet, because this will lead to an excess of acknowledgment (ACK i.e., amplification). 此外,为避免缓冲器溢出,对于短期持续模型实施流控制方案,以便在路由器用完缓冲器空间之前路由器可请求转发给它消息的邻近路由器减速。 Further, in order to avoid buffer overflow, short-term model of persistent embodiment flow control scheme so that before a router runs out of buffer space adjacent the router forwards the request to it in message router deceleration. 这些方案均包含于TCP中。 These programs are included in TCP.

[0208] TCP传输策略:在用于短期持续方案的TCP中,传输窗优选在本地用于数据发送器以协助跟踪已进行重传的数据。 [0208] TCP transmission policy: In TCP used for the short duration of the program, the transmission window is preferably used locally in the data transmitter to assist the tracking data has been retransmitted. 采用传输窗的目的在于两个方面:首先,传输窗确保了发送器将会明确地知道已由接收器正确地接收数据;其次,传输窗允许更佳地利用信道容量。 Objective transmission window of two aspects: First, the transmission window ensures that the sender will know exactly what the receiver has been correctly received data; secondly, the transmission window allows better utilization of the channel capacity. 在TCP中,需要隐含或明确地确认发送器发送的每个字节。 In TCP, implicitly or explicitly required acknowledge each byte sent by the transmitter. 传输窗有助于发送者跟踪已发送并确认的数据。 Transmission window helps to trace the sender of the data has been sent and acknowledged. 传输窗还改善了信道利用,因为发送者可以在传输窗内发送数据,而不用停止并等待要得到确认的前一分组。 Transmission window also improves the channel utilization as a sender may send data within the transmission window, without stops and waits for a confirmation of the previous packet obtained. 一旦前一数据得到确认,则窗将自动前进。 Once confirmed the previous data, the window will automatically advance.

[0209] 接收器窗也是在TCP中进行维护的。 [0209] The receiver window is maintained in TCP. 接收器窗优选用来表明在数据接收器端的可用缓冲器空间。 The receiver window is preferably used to indicate the end of the received data buffer space available. 它的可用缓冲器空间值发送至发送器,使得发送器知道如何在接收器侧避免溢出缓冲器。 Its available buffer space value is sent to the transmitter, so that the sender knows how to avoid overflow the buffer at the receiver side.

[0210] TCP拥塞控制:由于TCP设计为端到端的传输协议,因此短期持续方案中所采用的TCP也解决了在发布-订购网络内部的缓冲器溢出。 [0210] TCP congestion control: Because TCP is designed to end the transmission protocol, TCP short-duration programs used are also resolved in release - buffer overflow ordered the internal network. 为解决此问题,用于短期持续模型的TCP优选采用第三窗:拥塞窗。 To solve this problem, for continuous short-term model it is preferable to use TCP third window: the congestion window. 该拥塞窗用于使发送器猜测在沿通路的路由器上的最大缓冲器空间。 The transmitter for the congestion window to guess the maximum buffer space on the routers along the path. 简言之,如果发送器检测到分组中的丢失则拥塞窗大小被减少,或反之则增加。 In short, if the transmitter detects the missing packet to the congestion window size is reduced, increased, or vice versa.

[0211]长期持续:持续信道的高速缓存 [0211] long-term sustainability: continuous channel cache

[0212] 信道(如上所述)可以是持续或实时的。 [0212] channel (as described above) may be continuous or real-time. 实时信道传送通常只实时有用且没有任何应用特定的持续需求的数据。 Real-time transmission channel is usually only useful for real-time and without any application-specific sustained demand data. 持续信道存储在持续时间帧T内通过网络的数据。 Continuous channel for the duration of stored data frame T network. 换句话说,持续信道的持续性在时间帧T期间被保证。 In other words, continuous channel during the time frame of duration T is guaranteed. 数据的这种持续性通过以下步骤获得,例如:在每个边缘节点处高速缓存数据持续的信道持续时间;在故障条件下检索来自对用户透明的高速缓存器的数据;允许用户明确地从高速缓存器中检索数据;通过防止路由器故障和在路由器之间建立可靠隧道使经过网络的数据流持续;以及防止在复制过程中的信道部件故障。 This persistence of data is obtained by the following steps, for example: duration of the data in the cache continuous channels each edge node; retrieving data from a fault condition transparent to the user of the cache memory; allows the user to explicitly from the high speed retrieving data buffer; failure by preventing a router and establish reliable tunnels between routers allow continuous flow through the data network; channel member and preventing failure of replication.

[0213] 因此,如下所述,当订户失效并在持续信道的时间帧T内再次返回时,长期持续方案优选使利用持续信道登记的订户可以检索在网络中高速缓存的在最后“X”时间帧(X< T)的较早数据。 [0213] Thus, as described below, when a subscriber and will return again in continuous channel time frame T, long lasting embodiment is preferable to the subscriber using a continuous channel register may be retrieved in the network cache time in the final "X" frame (X <T) earlier data.

[0214] 在长期持续方案中,订户应用(如应用126)优选可明确地将数据(如消息)从相关联的订户代理(如代理128)拉出。 [0214] In the long-term sustainability embodiment, the subscriber application (e.g., application 126) preferably can explicitly data (e.g., messages) from an associated subscriber agent (e.g., agent 128) is pulled out. 如上所述,代理可利用代理服务器或用它实现。 As described above, by using a proxy server or the agent may use it to achieve. 在代理或代理服务器已从网络故障中恢复之后,代理优选以透明方式从高速缓存器中检索它与边缘路由器断开连接的一段时间内的数据。 After the agent or agent server recovery from a network failure, the agent preferably retrieves its data over time with the edge router disconnected from the cache in a transparent manner. 而且,在长期持续方案中优选容许订户只可访问到最后T时间帧的数据。 Further, in the preferred embodiment long lasting allowing the subscriber to access only data of the last T time frame. 为此,优选针对连接到代理(或代理服务器)上的边缘路由器确定时间。 For this purpose, it is preferable to determine the time for edge routers connected to a proxy (or proxy server). 检索的高速缓存的数据优选在带外传送并没有实时保证。 Retrieving cached data is preferably transmitted in the band does not guarantee real-time. 长期持续方案的实施例主要对象是失效并再次有效或失去与边缘路由器(如边缘路由器16)的连接的已有订户。 Example main target program is long lasting and effective again failure or loss of connection to an existing subscriber edge router (e.g., edge router 16) is. 新的订户可能不能够得到高速缓存的信息。 New subscribers may not be able to get the information cache.

[0215] 持续性定义:订户的时控持续性(利用时间帧T)定义为可从发布-订购网络检索最后的时间帧T的数据的能力。 [0215] Length is defined: the subscriber defines persistent timed (use time frame T) to be released from - the last time data retrieval capabilities Usually T network frames. 如果该订户离开了网络,则在持续信道上的在订户不在期间所接收的任何数据将在网络中保持一段时间帧T(从数据的接收开始)的时间。 If the subscriber leaving the network, any continuous channel data is not received during the subscriber will remain in the network for some time frame T (from the data reception start) time. 如果该订户在时间帧T内返回,则订户不会丢失任何数据。 If the subscriber returns within the timeframe T, the subscriber does not lose any data. 然而,如果订户在T和2T时间帧之间返回,则订户可能会丢失数据。 However, if the subscriber returns between T and 2T time frame, the subscriber may lose data. 如果订户在时间帧2T之后返回,则优选不保证订户访问任何先前的数据。 If the subscriber returns after the timeframe 2T, the subscriber is preferably not guaranteed access to any previous data.

[0216] 以上定义要求在订户处发出叶的发布-订购网络树应当在订户消失后保留一时间帧T,随后可被剪除,以便将在订户离开后在时间帧T内接收的新的数据保留到时间帧T到达它的期满时间为止。 [0216] as defined above request issued release leaves at the subscriber - Usually network tree should be retained for a time frame T after the subscriber disappears and then can be cut off so as to be received within the time frame T after the subscriber leaving the new data retention the time frame T reaches its expiration time.

[0217] 结构:图29是说明在高速缓存中提供持续性的发布-订购网络的某些部件的框图。 [0217] Structure: FIG. 29 is released to provide continuity in the cache - Usually a block diagram of certain components of the network. 如图所示,该网络包括核心路由节点548和边缘路由节点545。 As shown, the network includes core routing nodes 548 and an edge routing node 545. 每个路由节点优选包括智能路由器92 (用边缘路由节点显示)和传统主干路由器(未显示),如上图4所述。 Each routing node preferably includes an intelligent router 92 (shown with the edge routing node) and a conventional backbone router (not shown), as described above in FIG. 4. 需要对持续信道执行高速缓存的每个智能路由器92优选具有与它共同定位的高速缓存管理器218,如图29所示。 It needs to have a co-located with the cache manager 218, shown in Figure 29 for each intelligent router 92 preferably performs continuous channel cache. 以上参照图8描述了高速缓存管理器218。 Figure 8 depicts the cache manager 218 described above with reference. 智能路由器92优选负责短期持续性以便检索已丢失的数据或从路由器故障中恢复。 Intelligent router 92 preferably responsible for short-term sustainability in order to retrieve lost data or recover from a router failure. 高速缓存管理器218负责高速缓存数据以提供信道的长期持续性。 The cache manager 218 is responsible for caching data to provide long-term sustainability of the channel. 高速缓存管理器218优选将此数据高速缓存在高速缓存器540中。 The cache manager 218 preferably caches this data in the cache 540. 高速缓存器540优选包括存储器和盘(未显示)。 Cache 540 preferably includes a memory and a disk (not shown).

[0218] 带有高速缓存管理器218存在几项优点,如与智能路由器92相反,负责高速缓存长期持续性的数据,包括:索引高速缓存的数据的计算密集型操作可在单独的处理器上执行,因此路由和过滤处理器的性能不受到影响,周期性地将高速缓存的数据移动到盘的盘I/o操作也可在另一处理器上进行,因此防止了循环从路由和过滤中被窃取,避免边缘路由器必须进行定期的I/O。 [0218] The cache manager 218 with the presence of several advantages, such as contrast and intelligent router 92, responsible for the long-term sustainability of the cache data, comprising: calculating an index of the cached data intensive operations may be on a separate processor execution, so the performance of routing and filtering processor is not affected, periodically moving cached data to disk in the disk I / o operations may be performed on another processor thus preventing cycles from routing and filtering is stolen, the edge router must avoid periodic I / O.

[0219] 图29中还显示了代理128,它优选驻留在订户机122中(图29中未显示),如图5所示。 [0219] FIG. 29 shows a further proxy 128, which is preferably resident in subscriber machine 122 (not shown in FIG. 29), as shown in FIG. 代理128负责与高速缓存管理器218进行通信,以从高速缓存器540中检索数据、接收所检索的数据以及负责组织检索的数据。 Agent 128 is responsible for the cache manager 218 communicates to retrieve the data from the cache 540, receiving the retrieved data and the organization responsible for data retrieval. 如上所指出的,代理128可利用代理服务器或用它来实现。 As noted above, the agent 128 may utilize proxy server or use it to achieve.

[0220] 在没有故障的条件下,只有边缘路由器节点545需要高速缓存管理器218与它们相关联。 [0220] In the absence of a fault, only edge router nodes 545 need to cache manager 218 associated with them. 然而,虽然图29中未显示,由于长期持续方案预计故障,处于边缘路由节点545上游的第一级核心路由节点548的每一个优选包括用于存储数据的高速缓存管理器218。 However, although not shown in FIG. 29, failure is expected due to the long duration of the program, in each of the first stage upstream core routing node 545 is an edge routing node 548 preferably includes means for storing data, the cache manager 218. 上游是远离代理128 (即远离订户机122)移动的方向。 A direction away from the upstream agent 128 (i.e., away from the subscriber machine 122) to move. 上游核心路由节点的第一级指直接处于边缘路由节点545上游的路由节点。 Upstream core routing nodes refers to the routing node of the first stage 545 is directly upstream edge routing node. 虽然发布-订购网络通常包括多个第一级上游核心路由节点,但图29只描述了一个第一级上游核心路由节点,核心路由节点548。 Although release - Usually network typically comprises a plurality of first level upstream core routing nodes, FIG. 29 depicts one first level upstream core routing node, core routing node 548. 如上所述,高速缓存管理器218在它所处的网络节点上提供数据的本地高速缓存。 As described above, the cache manager 218 provides a local cached data network node on which it is located. 因此,位于各个核心路由节点(包括如核心路由节点548)上的高速缓存管理器218的操作提供了在整个网络核心中的数据的分布式高速缓存。 Thus, it located at various core routing node operation (such as the core routing node 548 including) the cache manager 218 provides a distributed cache data throughout the network core. 这种分布式高速缓存为边缘路由节点545处的高速缓存提供了备份。 This distributed caching provides a backup for the caching edges 545 of the routing node.

[0221] 图30是说明在上游路由器(如核心路由节点548)中备份高速缓存的图。 [0221] FIG. 30 is a diagram illustrating backup caching in an upstream router in FIG (e.g., core routing node 548). 在长期持续方案中,每个高速缓存优选用下一个上游路由器的高速缓存器进行备份。 In the long-term sustainability scheme, each cache is preferably backed up with a cache of the next upstream router. 上游高速缓存器存储了全部的输入数据并用作所有的下一级下游边缘路由器高速缓存器的备份。 Upstream cache stores all incoming data and all the lower as a downstream edge router caches backup. 上游高速缓存中的数据优选采用与边缘路由器高速缓存相同的机制进行存储。 Upstream cache data is preferably employed with the same edge router cache storage mechanism.

[0222] 下面参照图31,对于持续信道的高速缓存结构优选提供跨越四个不同模块的功能性:高速缓存管理器218-优选为负责存储通过智能路由器92的数据的服务器处理;路由器高速缓存API552-优选为负责从智能路由器92对高速缓存管理器218的所有控制面访问的库,如创建和破坏高速缓存;代理(或代理服务器)高速缓存API554-优选为负责从代理128 (或代理128代理服务器)对高速缓存管理器218的所有控制面访问的库,如检索数据;以及代理128 (或代理服务器)-优选负责从高速缓存器546搜集检索的数据并组织这些数据。 [0222] Referring to FIG 31, continuous channels for the cache structure preferably provides functionality across four different modules: the cache manager is responsible for storing 218- preferably by intelligent router data processing server 92; router cache API552 - preferably a library responsible for all control from an intelligent router access plane 92 to the cache manager 218, such as the creation and destruction of the cache; agent (or proxy) cache API554- preferably from agents responsible 128 (or agent 128 proxy server) library cache manager controls all access to the surface 218, such as retrieving data; and an agent 128 (or proxy server) - preferably responsible for collecting retrieved from the cache 546 and organizing the data of the data.

[0223] 图31说明这四个模块的交互操作。 [0223] FIG. 31 illustrates the interaction of these four modules. 代理128和智能路由器92 二者优选通过高速缓存API库552和554访问高速缓存器。 Agent 128 and both intelligent router 92 preferably access the cache through the cache API libraries 552 and 554. 高速缓存API库552和554提供用于在高速缓存器546中初始化、创建并破坏对于主体的高速缓存、检索高速缓存地址、最重要的是从高速缓存器546检索数据的API。 Cache API libraries 552 and 554 provide for initialization in the cache 546, create and destroy the cache to the body, retrieving cache address, the most important thing is to retrieve data from the cache 546 API. 路由守护程序216优选通过数据通路将数据发送到高速缓存管理器218,而不用通过高速缓存API552。 Routing daemon 216 preferably sends data through the data path to the cache manager 218, rather than through the cache API552. 高速缓存API552和554优选对所有的控制消息(包括数据检索)采用控制通路。 API552 554 and cache control channel is preferably used for all control messages (including data retrieval).

[0224] 高速缓存管理器-高速缓存器管理:下面参照图32,当高速缓存管理器218遇到了新的信道时,高速缓存管理器218优选激活信息服务器(如上述的服务器152、154和/或156)以得到该信道的信道管理器150。 [0224] Cache Manager - Cache Management: Referring to FIG 32, when the cache manager 218 encounters a new channel, the cache manager 218 preferably activates the information server (e.g., server 152, 154 and above / or 156) to give the channel a channel manager 150. 一旦高速缓存管理器218具有信道管理器150的地址,高速缓存管理器218优选检索信道管理器150的信道特性。 Once the address of the cache manager 218 has the channel manager 150, the cache manager 218 preferably retrieves the channel manager 150 in channel characteristics. 信道特性优选例如包括:信道主体树和属性、信道的持续特性、信道的持续时间帧(T)、高速缓存的粒度性。 Channel properties preferably include, for example: channel subject tree and attributes, persistent properties of the channel, the channel frame duration (T), the size of the cache. 在高速缓存管理器218可开始高速缓存流过用于给定主体的信道的数据之前,需要在高速缓存管理器218中创建那个主体的高速缓存。 Before the data channel in the cache manager 218 can start caching for a given flow through the body, the body need to create the cache in the cache manager 218. 高速缓存管理器218期望创建高速缓存消息并响应于该消息创建主体高速缓存。 The cache manager 218 to create a desired message and caching cached in response to creating the message body. 随后可根据请求将此主体高速缓存破坏、挂起或恢复。 The cache can then request that the body destroy, suspend, or resume. 图32说明关于订购的高速缓存的创建。 Figure 32 illustrates create on order of the cache.

[0225] 高速缓存管理器-高速缓存数据输入:高速缓存管理器218优选以多种方式访问进入智能路由器92的数据,例如:IP似的解决方案,在此类情况下,智能路由器92输入链路上的数据还被转发到高速缓存管理器218中;采用探查机制(在这种机制中高速缓存管理器218侦听在智能路由器92的网络上传播的所有分组);在过滤后,智能路由器92转发需要在一个或多条链路上传播的每个消息到高速缓存器546 ;以及,高速缓存管理器218用作进入智能路由器92的所有数据的订户。 [0225] Cache Manager - Cache Data Input: The cache manager 218 preferably enter data in a variety of ways to access the intelligent router 92, for example: IP-like solution, in such a case, an input chain intelligent router 92 road data is also forwarded to the cache manager 218; probing mechanisms employed (in this mechanism, all packets cache manager 218 listens on the network propagation intelligent router 92); after filtering, the intelligent router each 92 forward a message propagating in one or more links to the cache 546; and, the cache manager 218 as all subscriber data into the intelligent router 92.

[0226] 高速缓存管理器-高速缓存数据存储装置:下面参照图33,高速缓存管理器218优选在高速缓存器546中以多种方式索引数据,如以信道ID、主体、发布方ID、时间戳、时间粒度(G)、主高速缓存属性、链路(在为故障进行高速缓存时的特定的情况中)或其他方式。 [0226] Cache Manager - Cache data storage device: Referring now to Figure 33, the cache manager 218 preferably in various ways index data in the cache 546, such as the channel ID, the main body, the publisher ID, time stamp, time granularity (G), primary caching attribute, link (in the special case when caching is a failure), or otherwise. 数据可被索引并按分级目录结构存储在文件系统或存储器中。 Data may be indexed and press the hierarchical directory structure stored in the file system or in memory. 数据优选高速缓存在存储器中,并被周期性地移动至盘。 Preferably the data cached in memory and periodically moved to disk. 存储器中的高速缓存仅持续“G”时间粒度的持续时间。 Cache memory for only a duration of the time granularity "G". 在时间G到期后,与树中的特定分支相关的所有数据优选移动到那一分支下的文件中,从而覆盖那一分支的最早的文件。 G after the time expires, all data is preferably associated with a particular branch in the tree is moved to the file under that branch so as to cover the first branch of that file. (注意G最好不要实现为滑动窗,而是实现为绝对窗,因为要将每个消息单独地写到盘中代价高,而在一次操作中将所有的G间隔写到盘中效率更高)。 (Note that G is preferably not implemented as a sliding window, but is implemented as an absolute window, because each message separately To write the high cost of the disk, whereas in the all of the G interval is written to disk in one operation more efficient ). 图33是示范性索引树的图。 FIG 33 is a diagram of an exemplary indexing tree. 当为持续而高速缓存数据时,优选使用图33中的第一索引树。 When the cache data is continued, preferably using a first indexing tree in FIG. 33.

[0227] 继续参照图33,主体优选分级存储,“a”是主体(如“a. b”、“a. c” “a. d”等)的父。 [0227] With continued reference to FIG. 33, hierarchical storage body is preferably, "a" is the parent body (e.g. "a. B", "a. C" "a. D" and the like). 高速缓存管理器218优选针对将所有主体映射到它们的对应文件位置的高速缓存器546保留hash表。 The cache manager 218 preferably retains the hash table 546 for mapping all subjects to their corresponding file locations of the cache. 在一些情况下,在上游路由器(如核心路由节点548)检测到一条其链路上的下游路由器(如边缘路由节点545)的故障时,高速缓存器546可能需要存储故障条件下的数据。 In some cases, the upstream router (e.g., core routing node 548) detects a downstream router (such as edge routing node 545) on the link failure, the cache 546 may need to store data under failure conditions. 用于恢复的第一方法是重新启动下游路由器(这可能会花费几分钟)。 The first method for recovery is to restart the downstream router (this may take a few minutes). 当下游路由器重新启动的时候,上游路由器将需要高速缓存正向下转发到那条链路的数据。 When restart the downstream router, upstream router will need to cache the data is forwarded to the forward link piece. 此高速缓存(如图33中称为FM高速缓存)优选在输出链路上索引。 This cache (33 FM called cache) is preferably indexed on outgoing links.

[0228] 高速缓存管理器-垃圾搜集:如果信道是不持续的,则高速缓存器546不存储数据,而是立即将这些数据引下。 [0228] Cache Manager - Garbage collection: If the channel is not sustained, the cache 546 does not store data, but these data will lead immediately. 如果信道是持续的,则高速缓存器546存储该数据。 If the channel is persistent, the cache 546 stores the data. 将特定信道的持续时间帧“T”分成N个时间粒度,每个大小为G。 The duration of a particular channel frame "T" is divided into N time granularity, the size of each G. 存储器中的高速缓存只持续G的持续时间。 Cache memory only for a duration of G. 在高速缓存管理器确定已过了时间间隔G之后,数据被移动到盘中。 After the manager determines the elapsed time interval G in the cache, the data is moved to the disk. 高速缓存管理器218将在持续时间帧间隔T的持续时间将数据存储在盘上。 The cache manager 218 of the frame interval of duration T is the duration of the data stored on the disc.

[0229] 一旦时间大于信道的持续超时(T) +间隔的上限,便将对应于时间间隔G的数据从盘中删除。 [0229] Once the channel time is greater than the timeout duration (T) + limit interval, put the data corresponding to a time interval G is deleted from the disc. 为更将理解这一点,假设信道的T为2个小时。 It will be appreciated that more is assumed that the channel is T 2 hours. 作为示例,高速缓存管理器218采用15分钟的时间粒度G。 By way of example, the cache manager 218 uses a 15-minute time granularity G. 为了将数据从盘中删除,优选采用的策略是当在时间间隔G(15分钟)期间高速缓存的最后的数据已存储了T(2小时),在15分钟间隔期间高速缓存的整个数据将被丢弃。 In order to delete data from the disk, the policy preferably used is that when the time interval G (15 minutes) during the last cached data has been stored in T (2 hours), the entire data cached during a 15-minute interval will be throw away. 因此,在15分钟间隔的开始时高速缓存的数据在被删除之前将已存储了超过2小时。 Therefore, at the beginning of 15-minute interval data caches before it is deleted that has been stored over two hours. 在本示例中,在每个15分钟间隔期间高速缓存的数据是数据块。 In the present example, during each 15-minute interval data cache is a data block. 如果持续时间帧T被分成N个间隔,则时间中的任何点上将对于每个主体在高速缓存器546中有Ν+1个数据块(盘上的N和存储器中的I)。 If the duration of the frame T is divided into N intervals, any point in time will have for each subject Ν + 1 blocks of data (the I and N in the memory on the disc) in the cache 546.

[0230] 高速缓存管理器-高速缓存数据检索:下面参照图34,代理128 (或代理服务器)优选激活GetCache (得到高速缓存)操作以获得从当前时间回到时间“Τ”的数据。 [0230] Cache Manager - Cache Data Retrieval: Referring now to Figure 34, the agent 128 (or proxy) preferably activated GetCache (obtained cache) to get back to the operating time "Τ" data from the current time. 在图34中,将代理128连接以激活GetCache操作的高速缓存管理器218标为入口高速缓存器。 In FIG. 34, the agent 128 is connected to activate GetCache operation cache manager 218 labeled cache entry. 由于路由器或代理128的故障/断开连接,入口高速缓存不可以拥有所有代理128请求的数据。 Since the failed router or proxy 128 / disconnection, the cache entry can not have all the data requested by the agent 128. 在此情况中,入口高速缓存的工作是从所有其他高速缓存(如上游高速缓存器)中检索数据,比较数据并将它返回给代理128。 In this case, the cache entry is to retrieve data from work all other caches (e.g., the upstream cache), the comparison data 128 and return it to the agent. 图34说明从不同时间戳(TS1、TS2和TS3)的多个高速缓存“、8和0的检索操作。 FIG 34 illustrates different timestamp (TS1, TS2 and TS3 and) a plurality of caches ", retrieval operations 8 and 0.

[0231] 高速缓存管理器218优选可只检索时间粒度G的块中的数据。 [0231] The cache manager 218 preferably can only retrieve the time granularity G of the data block. 因此代理128可得到比它期望或请求的更多的数据。 Agent 128 thus obtained more data than it expects or requests. 此外,在从多个高速缓存中检索期间,在高速缓存之间可能存在一些交叠间隔,因此代理128还将会发现存在数据的复本,代理128应当对高速缓存所提供的数据流进行复本抑制。 In addition, during retrieval from multiple caches, there may be some overlap between the cache interval, so the agent 128 will also found a copy of the data exists, the agent 128 should be cached multiplexed data stream provided this inhibition.

[0232] 高谏缓存管理器与其他樽块的交互操作:在事件通知系统基础设施中,高谏缓存管理器218优选与几个模块交互,如图35所示。 [0232] High Jian cache manager block interaction with other bottles: In the event notification system infrastructure, high Jian several cache manager 218 preferably interacts with the module shown in Figure 35. 当高速缓存管理器218遇到了新的信道(在创建高速缓存时间时),它优选激活信息服务器550以得到该信道的信道管理器150。 When the cache manager 218 encounters a new channel (at cache creation time), it is preferably activation information server 550 to obtain a channel the channel manager 150. 一旦高速缓存管理器218拥有了信道管理器150的地址,它优选从信道管理器150得到信道特性。 Once the cache manager 218 has the address channel manager 150, which is preferably obtained channel characteristics from the channel manager 150. 优选容许管理员模块552设置/修改一些特性,如高速缓存的粒度性。 Allowing the administrator module 552 is preferably set / modify some properties, such as particle size of the cache. 还优选容许管理员模块552人工创建或删除信道高速缓存。 It is also preferred to allow the administrator to manually create or delete module 552 channel cache.

[0233] 代理高速缓存API-应用-代理交互:应用(如应用126)优选激活代理高速缓存API554以得到带有给定的主体和过滤器的高速缓存器546。 [0233] Application of the proxy cache API- - agent interaction: application (e.g., application 126) preferably activated to obtain the proxy cache API554 cache with a given subject and filter 546. 最好是,应用可只检索来自高速缓存器546的数据,条件是它已订购了该数据。 Preferably, the application can only retrieve data from the cache 546, provided that it has ordered the data. 代理高速缓存API554优选地实际提供两个API。 Preferably the proxy cache API554 actually provided two API.

[0234] 第一API允许取消订购应用,以便在相同的时间订购和检索高速缓存器546。 [0234] Usually the first cancel API allows applications to retrieve Usually cache 546, and at the same time. 如果设置了“fifo”标志,则创建订购并将其发送到边缘路由器节点545。 If the "fifo" flag is set, it creates order and send it to the edge router node 545. 然而,优选立即将订购置于“暂停”模式。 Preferably, however, immediately ordered to "suspend" mode. 在代理128已接收了所有的高速缓存的数据之后,代理128首先交付所有高速缓存的数据,跟踪对于发布方在数据中未看到的最后的序列,并随后从未由每个发布方看到的最后序列开始交付已暂停的数据。 After the agent 128 has received all of the cached data, the proxy 128 first delivery of all cached data to track for the final sequence in the data publisher did not see, and then never seen by each publisher the last sequence begins delivery of data has been suspended.

[0235] 对于第二API,假设应用已订购一些数据并请求高速缓存的数据。 [0235] For the second API, the application is assumed that some data has been ordered and cached data request. 在此情况下,已交付给该应用一些就高速缓存数据而言可能不是按顺序排好的数据。 In this case, have been delivered to the application on a number of cache data may not be arranged in order in terms of good data. 因此,在此情况下的“fifo”标志仅表明从高速缓存器546检索的数据应当在其本身中是按顺序排好的,而在规则数据流中不必按顺序排好。 Thus, in this case the "fifo" flag indicates only that should be arranged in order of good data retrieved from the cache 546 in its own, and in the rule data stream are not necessarily right order.

[0236] 代理128优选在一大块数据中检索所有的事件。 [0236] Agent 128 preferably retrieves all the events in a chunk of data. 在从高速缓存API554检索数据之后,代理128优选需要在激活回叫操作之前对数据进行以下操作(参见上述内容):根据通知列表构建通知;跟踪每个发布方的最后的序列号;以及过滤。 After retrieving the data from the cache API554, the agent 128 preferably needs to do the following data (see above) prior to activation of callback operations: Construction of notification based on the notification list; track of the last sequence number for each publisher; and filtered. 当代理128将所有的事件推向回叫时,它优选将DoneCache (完成高速缓存)事件发送到回叫,以表明已交付了所有高速缓存的数据。 When the agent 128 will push all the events called back, it is preferable to DoneCache (complete cache) event to the callback to indicate that has delivered all cached data. 在此点上,如果订购是FIFO,并且规则的数据是暂停的,代理128优选转发所有暂停的通知。 At this point, if the order is FIFO, and the data rules are suspended, the agent 128 preferably forwards all notifications suspended. 代理128只交付那些其序列号大于高速缓存的数据中最后的序列号的通知。 Acting 128 delivery notification data that its serial number larger than the cache of the last sequence number.

[0237] 代理高谏缓存API对高谏缓存交互操作:当订户请求高谏缓存的数据时,在代理128端554上的高速缓存API优选地首先查询连接代理128的边缘路由器的历史,并采用GetCache (得到高速缓存)请求中所提供的时间间隔来过滤出该列表。 [0237] Agent high Jian Cache API high Jian cache interactions: when the subscriber requests a high Jian cached data, the cache API preferably on the agent 128 end 554 first queries the connection broker edge router 128 of the history and use of GetCache (obtained cache) provided in the request time interval to filter out the list. API554随后向它所连接的最后一个边缘高速缓存器发送GetCache (信道、主体、过滤器、local_pubs、时间_周期、fifo、路由器阵列)消息。 The last edge cache API554 then it is connected to the transmission GetCache (channel, subject, filters, local_pubs, _ period of time, FIFO, router array) message. 高速缓存管理器218优选基于信道id、主体和时间戳推出数据,并把数据推向代理128。 The cache manager 218 preferably Release data based on the channel id, subject and timestamp and the data is pushed to the agent 128. 当高速缓存管理器218完成了推出数据时,它便向高速缓存API发送DoneCache事件以表明数据传送已完成。 When the cache manager 218 to complete the introduction of data, it Bianxiang cache API to send DoneCache event to indicate that the data transfer is complete.

[0238] 如果高速缓存管理器218未在本地发现数据,它便利用代理128提供的“路由器列表”来定位所需要的数据。 [0238] If the cache manager 218 No data locally, it will use the "Router List" provides the agent 128 to locate the required data. 一旦高速缓存管理器218已搜集了所有必要的数据后,高速缓存管理器218便比较必要的数据,并在将它转发给代理128之前对其进行复本抑致。 Once the cache manager 218 has collected all the necessary data, the cache manager 218 then compares the necessary data, and before forwarding it to the agent 128 copies of its suppression caused.

[0239] 高速缓存连接历史:为了能够从高速缓存器546检索数据,对于边缘以及上游高速缓存器而言,优选地在代理128处维护高速缓存连接历史。 [0239] Cache connection history: In order to be able to, for an upstream edge and a cache, the cache is preferably maintained retrieve the data from the cache 546 of the proxy 128 in the connection history. 由于这种信息需要跨过代理128关闭和破坏,因此信息应当被持续地维护在文件中。 Since this information needs to cross the 128 agents shut down and damage, so the information should be continuously maintained in the file. 盘上的高速缓存连接历史优选按存储在以下文件和格式中: Cache connection history on the disk by preferably stored in the following files and format:

[0240] 边缘高谏缓存位置:边缘高谏缓存的位置(如在边缘路由节点546上的高速缓存器546)优选从信道管理器/信道库中获得。 [0240] High Jian edge cache location: Jian high edge location of the cache (e.g. cache 546 at the edge routing node 546) is preferably obtained from the channel manager / channel library. 这在引导时以及在边缘高速缓存器发生变化(如失去/恢复连接、连接移动)的任何随后的时刻出现。 This variation as well (e.g., loss / restoration, connecting movement) any subsequent time occurs at an edge occurs at boot cache. 分配器通知代理128有关边缘高速缓存连接中的任何变化,并且这些变化随后被传递到代理128高速缓存库中。 The dispenser notification agent 128 about any change in the edge cache connection and these changes are then transmitted to the agent 128 cache library. 每当发生变化时,均使该变化持续。 Whenever changes are making this change to continue.

[0241] 持续存储装置:CACHE ROOT/信道_id/信道-高速缓存的数据的示范性路径。 Exemplary cache data path - CACHE ROOT / channel _id / channel: [0241] Length storage means.

[0242] 数据优选按以下格式进行存储: [0242] Preferably the data stored in the following format:

[0243] 边缘高速缓存数; [0243] edge of the High Speed ​​Data Cache;

[0244] 边缘高速缓存I :时间间隔数,开始时间I :终止时间1,开始时间2 :终止时间2,...;以及 [0244] edge cache I: number of time interval, start time I: end time 1, start time 2: end time 2, ...; and

[0245] 边缘高速缓存2 :时间间隔数,开始时间I :终止时间1,开始时间2 :终止时间2,· · · [0245] Cache edge 2: number of time interval, start time I: end time 1, start time 2: 2 end time, ·

[0246] ...带有作为列表中第一的最新时间戳。 [0246] ... with the latest timestamp as the first of the list. 注意这两个不同的边缘高速缓存器将决不会有交叠的间隔(因为代理128—次只连接一个边缘高速缓存器)。 Note that the two different edge caches will never have an overlapping interval (because the agent 128- times connected to only one edge cache). 每当增加新的项目时,便会检查旧的项目以看他们是否仍然有效;如果它们是无效的,则将它们丢弃。 Whenever adding a new project, we will check for old projects to see if they are still valid; if they are invalid, they are discarded. 如果 in case

[0247] 间隔终止时间+信道的持续超时<当前时间的话,则时间间隔变为无效。 [0247] duration timeout interval expires + channel <current time, the time interval becomes invalid. 如果项目中的所有间隔无效则边缘高速缓存项目变为无效。 If all the edges of the interval is invalid cache entry project becomes invalid. 注意“终止时间”为O意味着间隔当前是有效的。 Note "end time" is valid for the current O mean interval.

[0248] 上游高速缓存位置:上游高速缓存的位置(如核心路由节点548上的高速缓存器546)取决于主体。 [0248] upstream cache locations: upstream of the location of the cache (e.g. cache on the core routing node 548 546) depends on the body. 每个主体有其自身的组播树,因此该组第一级上游高速缓存是主体的功能。 Each subject has its own multicast tree, so that the set of first level upstream caches is a function of the body. 任何时候用户要订购主体,智能路由器92优选返回与主体相关联的上游高速缓存的列表。 Usually the user at any time to the body, intelligent router 92 preferably returns the list associated with the body upstream cache. 同样,由于故障或组播树中的重新组织而引起的上游高速缓存位置的任何变化也优选通过控制信道传递到代理128。 Similarly, any changes in the upstream cache locations due to failure or the multicast tree reorganization due to the agent 128 is also preferably transmitted over the control channel. 这些变化在本地以持续存储(文件)方式存档。 These changes are stored locally in a sustained (file) mode the archive.

[0249] 持续存储装置:CACHE_R00T/信道_标识符/主体(不按层次,而是按整个主体)。 [0249] Persistent Storage device: CACHE_R00T / _ channel identifier / body (not hierarchical, but by the entire body). -高速缓存的数据的示范性路径。 - Cache exemplary path data.

[0250] 数据优选按以下格式进行存储: [0250] Preferably the data stored in the following format:

[0251] 上游高速缓存数; [0251] upstream of the high speed digital cache;

[0252] 上游高速缓存I :时间间隔数,开始时间I :终止时间1,开始时间2 :终止时间2,· · ·; [0252] upstream cache I: number of time interval, start time I: end time 1, start time 2: 2 end time, ·;

[0253] 上游高速缓存2 :时间间隔数,开始时间I :终止时间1,开始时间2:终止时间2,· · · [0253] 2 upstream cache: number of time interval, start time I: end time 1, start time 2: 2 end time, ·

[0254]...同样带有作为列表中第一的最新时间戳。 [0254] ... the same with the latest time stamp as the list of the first. 与边缘高速缓存间隔不同的是,两个上游高速缓存器可具有交叠间隔,因为对于给定主体,代理128可以有几个上游高速缓存器。 The edge cache intervals are different, two upstream caches can have overlapping intervals, because for a given subject, the agent 128 can have several upstream caches. 上游高速缓存文件的内容也是采用与边缘高速缓存器相同的算法搜集的垃圾。 Upstream content cache file also uses the same edge cache garbage collection algorithm.

[0255] 数据检索期间的高谏缓存有效件:在代理128的使用期限期间,它连接到不同的边缘路由器和上游路由器。 High Jian member cache valid period [0255] data retrieval: During the lifetime of the agent 128, which connects to a different edge routers and the upstream routers. 代理高速缓存API554优选将这种连接历史存储在本地存储器中。 API554 proxy cache is preferably connected in such a history is stored in the local memory. 当代理128需要从高速缓存器546检索数据的最后的T间隔时,代理高速缓存API554优选查看连接历史,以确定可从中访问数据的高速缓存。 When the agent 128 needs to last interval from T 546 to retrieve the data cache, the proxy cache connection history view API554 preferably, to determine from which access to the data cache. 如下为优选用于此目的的算法:1)高速缓存库探测所有的边缘高速缓存间隔并检查落于T时间帧内的间隔。 The following algorithm is preferably used for this purpose: 1) the cache library detect all edge cache intervals and inspection intervals fall within the time frame T. 如果间隔落于该时间帧内,则它便被添加到有效边缘高速缓存的列表Le中;2)列表Le是采用间隔开始时间进行分类的;3)针对Le中未由边缘高速缓存覆盖的每个间隔,探测出上游高速缓以得到可覆盖此间隔的所有的上游高速缓存间隔,并将有效间隔添加到列表Lu中;将Lu附加到Le上,并采用间隔开始时间对L6分类,从而创建了L。 If the interval falls within that time frame, it will be added to the active edge list Le cache; and 2) the list Le using interval start time is of classifying; 3) for Le not covered by an edge of each of the cache intervals, detected upstream caches to get all upstream cache intervals may cover this interval and add valid intervals to list Lu; and Lu attach to Le, the start time interval and using the classification L6, thereby creating the L.

[0256] 此算法给出高速缓存L的列表以及针对每个高速缓存给出用以检索数据的时间间隔。 [0256] This algorithm gives the list of caches L and a given time interval to retrieve data for each cache. 此高速缓存L列表随后4)编组成得到高速缓存消息并被发送到高速缓存管理器218。 This list of caches L is then 4) to give grouped cache message and sent to the cache manager 218. 在高速缓存管理器218末端,高速缓存管理器218优选5)从得到高速缓存消息中把高速缓存间隔去编组,并重新创建按开始时间的递增顺序分类的列表L。 At the end of the cache manager 218, the cache manager 218 preferably 5) obtained from the message cache to cache grouping interval, and re-creates a list in ascending order of start time classification L. 对于列表L中的每个间隔:高速缓存管理器218优选6)检查在前一间隔和当前间隔之间是否存在间隙,如果存在间隙,则向本地高速缓存请求该数据。 For each interval in the list L: the cache manager 218 preferably 6) checks whether there is a gap between the previous interval and the current interval, if a gap is present, then requests the data from the local cache. 如果不存在间隙,则高速缓存管理器218优选7)与相关的高速缓存器对话以得到该数据。 If there is no gap, the cache manager 218 preferably 7) associated with the cache data to obtain the session. 高速缓存管理器218优选8)比较来自所有高速缓存的数据并将它发送给代理128。 The cache manager 218 preferably 8) of all cached data from the comparator 128 and sends it to the agent.

[0257] 路由器高速缓存API :在智能路由器92上的路由器高速缓存API552负责激活高速缓存管理器218,以针对特定主体创建、破坏、挂起和恢复高速缓存。 [0257] router cache API: router on the intelligent router 92 cache API552 responsible for activating the cache manager 218 to create a specific body, destroy, suspend and resume caching. 路由器高速缓存API552还处理初始化配置-将高速缓存地址从智能路由器92上载到信道管理器150中,使得代理128侧(代理高速缓存API554)可在需要的时候获得这种信息,以及针对其他路由器检索高速缓存器546的位置(这在智能路由器92想要通知代理128有关给定主体的上游高速缓存的时候使用,例如在订购答复时以及主体树发生了变化之后)。 Router cache initialization configuration process further API552 - cache address from the intelligent router 92 uploaded to the channel manager 150, so that the agent 128 side (the agent cache API554) such information is available when needed, and a search for other routers location cache 546 (after which the intelligent router 92 wants to inform the agency about a given subject 128 upstream cache when using, for example, when ordering a reply and a main tree has changed).

[0258]用于拉出的高速缓存的使用:以上讨论集中于采用高速缓存实现持续信道并允许返回订户将数据从网络拉出。 [0258] used for pulling out the cache: The above discussion focuses on the use of caches and allows continuous channel return data from the network to the subscriber drawn. 备选实施例允许任何订户(新的或返回的)可以将任何种类的数据从高速缓存器546拉出(如包括订户可能还没有订购,但由于其它一些人的订购而在高速缓存器546中的数据)。 Alternative embodiment allows any subscriber (new or returning) may be any kind of data drawn from the cache 546 (e.g., a subscriber may not Usually, but the other people and in order cache 546 The data). 此实施例和前一实施例之间的区别是,对于返回订户而言,到目前为止数据是得到保证的,并且数据的位置是众所周知的,而对于新的订户而言,存储数据的位置是未知的。 The difference between the embodiment and the previous embodiment of this embodiment, the return for the subscriber, the date data is guaranteed, and the position data are well known, while for a new subscriber, the position data is stored Unknown. 实现此备选实施例的一种简单方式是在该信道上发布iiFindCache (寻找高速缓存)”请求。“FindCache”请求包含信道id、主体、过滤器、时间间隔以及代理128的位置,代理128寻找带有所请求的高速缓存的数据的高速缓存器546。所有的高速缓存器546均侦听“寻找高速缓存”请求。当每个高速缓存器546接收到该请求时,高速缓存器546便查看对应数据是否在其数据存储器中,如果在的话,便在单播消息中送回它自己的位置。代理128选择一个高速缓存器546并在其上激活得GetCache操作以得到数据。 A simple way to implement this alternative embodiment, the channel is released iiFindCache (cache looking for) "Request." FindCache "request contains a channel id, subject, filters, time interval, and the position of the agent 128, the agent 128 looking cache with the cache of the requested data 546. All caches 546 listen on "Looking cache" request. when each cache 546 receives the request, the cache 546 will see whether the corresponding data in its data memory, if so, will return its own location in a unicast message. 128 selects a proxy cache 546 and activated to obtain data obtained GetCache operation thereon.

[0259] 最新数据拉出:其他实施例包括允许订户应用(如应用126)可得到给定主体的最新消息的最新数据拉出特征。 [0259] Recent data drawn: Other embodiments include allowing the subscriber application (e.g., application 126) can be obtained given updates the latest data of the main body is pulled out feature. 这对诸如股票报价告警的数据是有用的,例如在用户只想知道最近的股票价格而不是其历史的时候。 This alarm data such as stock quotes are useful, for example, want to know the recent history rather than its stock price at the time the user.

[0260] 高速缓存管理器的实现:优选有三种线程类型,例如,在高速缓存管理器218实现中:数据高速缓存线程-数据高速缓存线程优选从到智能路由器92的连接中获取数据,并在存储器中索引和存储该数据;数据存储线程-一旦到达了时间间隔的终点,数据存储线程便优选将存储器中所存储的数据移动到盘中,并且在该处理中还对过期数据执行垃圾搜集;数据检索线程-数据检索线程优选负责获取对高速缓存的数据的请求并从高速缓存器546中检索数据。 [0260] implemented cache manager: preferably three types of threads, for example, at 218 to achieve the cache manager: data cache thread - data caching thread preferably acquired data to the intelligent router 92, and and a memory storing the index data; a data storage thread - upon reaching the end of the time interval, the data storage thread preferably then stored in the memory data to move the disk, and also performs garbage collection on expired data in the process; data retrieval thread - data retrieval thread preferably is responsible for data acquisition request to the cache and retrieving data from the cache 546. 这三类线程可实现为单线程或线程池。 These three types of thread can be implemented as a single-threaded or thread pool. 优选的是,数据高速缓存线程和数据存储线程在将数据移动到盘中的时间进行同步。 Preferably, the data cache and data storage threads in the thread data to move the disc to synchronize time. 在数据存储线程和数据检索线程之间的这种同步可防止在检索数据时删除数据。 Such threads between the data storage and data retrieval thread prevents the deletion of the synchronization data when retrieving data.

[0261] 数据结构:以上在表19和所附的描述中提供了用于高速缓存的数据结构示例。 [0261] Data Structure: The structure above provides example data for caching in the description and the accompanying Table 19.

[0262] 数据存储装置:图36是说明用于在名为“Aquila高速缓存”的高速缓存器546中存储数据文件的优选目录结构的图。 [0262] Data storage device: FIG. 36 is a diagram illustrating a preferred directory structure of data stored in the file named "Aquila Cache" cache 546. 注意,每个主体级目录优选具有一组子主体目录以及存储发布在该主体上的数据的数据目录。 Note that each subject level directory preferably has a set of directory data directory and sub-body on the main body storing and delivering data. 例如,在娱乐信道上的Fox. Movies上发布的数据将进入到目录AquilaCache/娱乐/Fox/电影/数据的文件中,在主体Fox上发布的数据将进入到目录AquilaCache/娱乐/Fox/数据中的文件中。 For example, Fox entertainment channel. Movies posted on the data will be entered into the directory AquilaCache / Entertainment / Fox / movies / document data, published data on the subject Fox will go to the directory AquilaCache / Entertainment / Fox / data file. 为了提高数据存储装置的速度,特定主体的目录层次优选在智能路由器92请求高速缓存器546开始对给定的信道和主体的高速缓存时进行创建。 In order to speed up data storage means, specific subject directory hierarchy 92 is preferably an intelligent router request cache 546 starts to create a given channel and the main cache.

[0263] 数据检索:从高速缓存器546检索数据应当是高效的,以便不会阻止数据存储装置和使高速缓存器546停顿。 [0263] Data Retrieval: Data retrieval from the cache 546 should be efficient, so as not to prevent the data storage device and cache 546 to make a pause. 数据检索从盘和存储器中检索数据。 Data retrieved from the disk and retrieve data in the memory. 数据检索所采取的步骤优选如下:1)定位数据节点;2)锁定数据节点;3)定位需要检索的数据的时间戳;3)检索数据并将其存储在存储器中;4)对数据节点解锁;5)在将在存储器中存储的所检索的数据推出到代理128客户中之前对它进行过滤并按顺序排列。 Data retrieval steps taken preferably as follows: 1) the positioning data node; 2) lock the data node; timestamp 3) need to retrieve the positioning data; 3) retrieve data and store it in a memory; 4) unlock the data node ; 5) in the retrieved data stored in the memory 128 Release agent prior to its customer order filter press.

[0264] 虽然已结合示范性实施例描述了本发明,但将会理解,对于本领域的技术人员而言,可容易地进行许多种修改,并且本申请旨在涵盖它的任何改编版本或变型。 [0264] While there has been described in conjunction with exemplary embodiments of the present invention, it will be appreciated that those skilled in the art, can readily that many modifications and this application is intended to cover any adaptations or variations of it . 例如,在不背离本发明范围的情况下,可采用各种类型的发布方机、用户或订户机、信道和它们的配置以及基于内容路由和其他功能的硬件和软件实现。 For example, without departing from the scope of the present invention, various types of publisher machines employed, user or subscriber machines, channels and their configuration and hardware-based and software content routing and other functions. 本发明应当仅由权利要求和其等效物来限定。 The present invention should be limited only by the claims and their equivalents.

Claims (110)

  1. 1. 一种用于在网络中路由分组用以提供告警服务的方法,所述方法包括以下步骤: 接收具有首部部分和有效载荷部分的分组,所述有效载荷部分包括涉及来自特定摄像机的视频剪辑的信息; 在网络核心中检查所述分组的所述有效载荷部分用以确定是否以及如何路由所述分组给订户来自所述特定摄像机的信息;和基于所述检查选择性地路由所述分组。 1. A method for routing packets in a network to provide a method of alerting service, the method comprising the steps of: receiving a packet having a header portion and a payload portion, said payload portion comprising relates to a video clip from a particular camera information; checking the packet in a network core in the payload portion to determine whether and how to route the packet to the subscriber information from the particular camera; and selectively route based on the inspection of the packet.
  2. 2.如权利要求I所述的方法,其特征在于,所述检查步骤包括确定所述有效载荷部分中的信息是否与将内容断定信息关联到对应网络目的地的结构中的所述内容断定信息相匹配。 2. The method of claim I, wherein said checking step comprises determining whether information in the payload portion to determine information associated with the content to the content corresponding to the structure of the network to determine the destination information match.
  3. 3.如权利要求I所述的方法,其特征在于,所述检查步骤在所述网络核心中的路由器上执行。 The method of claim I as claimed in claim 3, wherein said checking step performed on the router in the network core.
  4. 4.如权利要求I所述的方法,其特征在于,所述检查步骤包括对所述有效载荷部分中的信息施加过滤器。 4. The method of claim I, wherein said checking step comprises applying a filter to information in the payload section.
  5. 5.如权利要求4所述的方法,还包括将所述过滤器传播到所述网络中的路由器,用以执行所述检查。 5. The method of claim 4, further including propagating the filter to a router in the network, to perform the inspection.
  6. 6.如权利要求I所述的方法,还包括对所述网络中的路由器进行编程,用以执行所述接收、检查和路由步骤。 The method of claim I as claimed in claim 6, further comprising a router in the network programmed to perform the receiving, checking and routing steps.
  7. 7.如权利要求I所述的方法,其特征在于,所述检查步骤包括检查属性,用以确定如何路由所述分组。 7. The method of claim I, wherein said checking step comprises checking attributes, to determine how to route the packet.
  8. 8.如权利要求I所述的方法,其特征在于,所述选择性地路由步骤包括选择性地将所述分组路由到数字视频监视系统。 8. The method of claim I, wherein said selectively routing step comprises selectively routing the packet to a digital video surveillance system.
  9. 9.如权利要求I所述的方法,其特征在于,所述检查步骤在局域网中执行。 The method of claim I as claimed in claim 9, wherein said checking step is performed in the LAN.
  10. 10.如权利要求I所述的方法,其特征在于,所述检查步骤在因特网服务提供商位置处执行。 10. The method of claim I, wherein said checking step performed at an Internet service provider location.
  11. 11.如权利要求I所述的方法,其特征在于,所述特定摄像机包括数字视频录像机和电荷耦合装置。 11. The method of claim I, wherein the particular camera comprises a digital video recorder and a charge coupled device.
  12. 12.如权利要求11所述的方法,还包括生成具有所述首部部分和所述有效载荷部分的所述分组的数字视频录像机。 12. The method as claimed in claim 11, further comprising generating a header portion of the packet and the payload portion of the digital video recorder.
  13. 13. 一种用于在网络中路由消息提供告警服务的方法,所述方法包括以下步骤: 接收具有首部部分、至少ー个主体和至少ー个属性的消息,所述属性涉及来自特定摄像机的视频剪辑; 从所述消息检索所述主体和所述属性; 基于所述主体检索订购;以及为了确定是否以及如何路由所述消息给订户来自所述特定摄像机的信息,在网络核心中将所述属性应用于所述订购。 13. A method for routing messages in a network providing alert services, the method comprising the steps of: receiving a header portion, a body and at least ー ー at least one message attribute, the attribute relating to the video camera from a particular clip; retrieving from said main body and said attribute of said message; Usually retrieval based on the body; and to determine whether and how to route the message to the subscriber information from the particular camera, the core network in the properties applied to the order.
  14. 14.如权利要求13所述的方法,其特征在于,所述检索所述订购的步骤包括检索对应于所述订购的过滤器。 14. The method according to claim 13, wherein the step of retrieving comprises retrieving the subscription corresponding to the subscription filter.
  15. 15.如权利要求13所述的方法,还包括如果所述属性满足所述订购则路由所述消息。 15. The method of claim 13, further comprising if the attribute satisfies the subscription is routing the message.
  16. 16.如权利要求13所述的方法,还包括如果所述属性不满足所述订购则丢弃所述消肩、O 16. The method according to claim 13, further comprising if the attribute does not satisfy the elimination Usually discarding the shoulder, O
  17. 17.如权利要求13所述的方法,还包括以下步骤:检索对应于多个订购的多个过滤器;从所述消息中检索多个属性;将每一个所述属性应用到每一个所述过滤器上,以确定任何所述对应订购是否得到满足;以及基于任何所述订购是否得到满足来选择性地路由所述消息。 17. The method according to claim 13, further comprising the steps of: retrieving a plurality of filters corresponding to a plurality of ordered; retrieving a plurality of attributes from the message; each of the attributes to each of a on the filter, to determine whether any of the corresponding order is satisfied; and selectively routing the message based on any of the order is satisfied.
  18. 18.如权利要求13所述的方法,还包括在所述网络核心中的路由器上执行所述应用步骤。 18. The method according to claim 13, further comprising the step of executing the application on the router in the network core.
  19. 19.如权利要求13所述的方法,其特征在于,所述特定摄像机包括数字视频录像机和电荷耦合装置。 19. The method according to claim 13, wherein the particular camera comprises a digital video recorder and a charge coupled device.
  20. 20.如权利要求19所述的方法,还包括所述数字视频录像机,生成具有所述首部部分、 所述至少一个主体、和所述至少一个属性的所述消息,所述属性涉及来自所述特定摄像机的视频剪辑。 20. The method according to claim 19, further comprising the digital video recorder, to generate a header portion having at least one body, and the at least one message attribute relates the attribute from the specific camera video clips.
  21. 21. 一种用于在网络中路由分组用以提供告警服务的方法,所述方法包括以下步骤: 接收具有首部部分和有效载荷部分的分组,所述有效载荷部分包括与特定告警服务的事件有关的信息;在网络核心中检查所述分组的所述有效载荷部分,用以确定是否以及如何路由所述分组给订户所述告警服务的信息;以及基于所述检查选择性地路由所述分组。 21. A method for routing packets in a network providing alert services, the method comprising the steps of: receiving a packet having a header portion and a payload portion, the payload portion comprises a particular alert service events information; checking the packet in a network core in the payload portion to determine whether and how to route the packet to the alarm services subscriber information; and said selectively checking the packet based routing.
  22. 22. 一种用于在网络中路由分组用以提供告警服务的装置,所述装置包括:接收模块,用于接收具有首部部分和有效载荷部分的分组,所述有效载荷部分包括涉及来自特定摄像机的视频剪辑的信息;检查模块,用于在网络核心中检查所述分组的所述有效载荷部分,用以确定是否以及如何路由所述分组给订户来自所述特定摄像机的信息;以及路由模块,用于基于所述检查选择性地路由所述分组。 22. An apparatus in a network providing alert services for routing packets, the apparatus comprising: receiving means for receiving a packet having a header portion and a payload portion, said payload portion comprising relates to a particular camera from video clip information; checking module for checking the payload portion of the packet in the core network, to determine whether and how to route the packet to the subscriber information from the particular camera; and a routing module, the inspection for selectively routing the packet based.
  23. 23.如权利要求22所述的装置,其特征在于,所述检查模块包括用于确定所述有效载荷部分中的信息是否匹配一种结构中的内容断定信息的模块,其中所述结构将所述内容断定信息与对应网络目的地或指导路由器内处理的对应规则相关联。 23. The apparatus according to claim 22, wherein said checking module comprises means for determining information in the payload section matches content module to determine a configuration of the information, wherein the structure of the said contents information to determine network destinations or corresponding rules corresponding to the associated guide router processes.
  24. 24.如权利要求22所述的装置,还包括用于在所述网络核心中的路由器上执行所述检查步骤的模块。 24. The apparatus according to claim 22, further comprising a module performing said step of checking for the router in the network core.
  25. 25.如权利要求22所述的装置,其特征在于,所述检查模块包括用于将过滤器应用于所述有效载荷部分中的信息上的模块。 25. The apparatus according to claim 22, wherein said checking module comprises a module applies the filter information in the payload section.
  26. 26.如权利要求25所述的装置,还包括用于将所述过滤器传播到所述网络中的路由器用以执行所述检查的模块。 26. The apparatus according to claim 25, further comprising means for propagating the filter to a router in the network to perform the inspection module.
  27. 27.如权利要求22所述的装置,还包括用于对所述网络中的路由器进行编程以便执行所述接收、检查和处理的模块。 27. The apparatus according to claim 22, further comprising means for said network router module programmed to perform the receiving, processing, and inspection.
  28. 28.如权利要求22所述的装置,其特征在于,所述检查模块包括用于检查属性用以确定如何路由所述分组的模块。 28. The apparatus according to claim 22, wherein said module comprises a checking module for checking the attribute to determine how to route the packet.
  29. 29.如权利要求22所述的装置,其特征在于,所述装置设于包括数字视频录像机的网络中。 29. The apparatus according to claim 22, characterized in that said network comprises means provided in the digital video recorder.
  30. 30.如权利要求22所述的装置,其特征在于,所述特定摄像机包括数字视频录像机和电荷耦合装置。 30. The apparatus according to claim 22, wherein the particular camera comprises a digital video recorder and a charge coupled device.
  31. 31. 一种用于在网络中路由消息提供告警服务的装置,所述装置包括: 接收模块,它用于接收具有首部部分、至少一个主体和至少一个属性的消息,所述属性涉及来自特定摄像机的视频剪辑; 用于从所述消息检索所述主体和所述属性的模块; 基于所述主体检索订购的模块; 应用模块,用于为了确定是否以及如何路由所述消息给订户来自所述特定摄像机的信息,在网络核心中将所述属性应用于所述订购。 31. An apparatus for providing an alarm services for routing messages in a network, the apparatus comprising: a receiving module for receiving the header portion having at least a message body and at least one attribute, the attribute relating to a particular camera from video clips; means for retrieving from the body of the message and the module attributes; order based on the retrieval module body; application module configured to determine whether and how to route the message to the particular subscriber from camera information, the attributes in the core network to said order.
  32. 32.如权利要求31所述的装置,其特征在于,用于检索所述订购的所述模块包括用于检索对应于所述订购的过滤器的模块。 32. The apparatus according to claim 31, wherein the retrieving the subscription includes a module for retrieving the subscription of the corresponding filter module.
  33. 33.如权利要求31所述的装置,还包括用于在所述属性满足所述订购的情况下并基于服务质量保证选择性地路由所述消息的模块。 33. The apparatus according to claim 31, and further comprising means for QoS-based routing module selectively in a case where the message is the attribute satisfies the subscription.
  34. 34.如权利要求31所述的装置,还包括在所述属性不满足所有订购的情况下用于丢弃所述消息的模块。 34. The apparatus according to claim 31, further comprising the attributes do not meet all cases Usually the means for discarding the message.
  35. 35.如权利要求31所述的装置,还包括: 用于检索对应于多个订购的多个过滤器的模块; 用于从所述消息中检索多个属性的模块; 用于将每一个所述属性应用到每一个所述过滤器上以确定任何所述对应订购是否得到满足的模块;以及基于任何所述订购是否得到满足来选择性地路由所述消息的模块。 35. The apparatus according to claim 31, further comprising: retrieving a plurality of filters corresponding to a plurality of ordered; means for retrieving a plurality of attributes from the message; means for each of the said attribute applied to each of the filters to determine if any module Usually corresponding to the satisfied; and based on whether any of the subscription selectively satisfied the message routing module.
  36. 36.如权利要求31所述的装置,还包括用于在所述网络核心中的路由器上执行所述应用的一个或多个模块。 36. The apparatus according to claim 31, further comprising one or more modules configured on the router in the network core executing the application.
  37. 37.如权利要求31所述的装置,其特征在于,所述装置设在包括数字视频录像机的网络中。 37. The apparatus according to claim 31, characterized in that, said network comprising means provided in a digital video recorder.
  38. 38.如权利要求31所述的装置,其特征在于,所述特定摄像机包括数字视频录像机和电荷耦合装置。 38. The apparatus according to claim 31, wherein the particular camera comprises a digital video recorder and a charge coupled device.
  39. 39. 一种在网络中路由分组用以提供告警服务的系统,包括: 多个数字视频摄像机,其中所述数字视频摄像机产生数字视频输出; 局域网(LAN),它连接所述数字视频摄像机; 发布方代理,它连接到所述LAN上,发布所述数字视频输出; 包括多个智能路由器的发布-订购网络,它连接到所述发布方代理;以及, 数字视频监视系统(DVSS),它经由所述发布-订购网络接收所述发布的数字视频输出,其特征在于,所述智能路由器包括: 接收模块,用于接收具有首部部分和有效载荷部分的分组,所述有效载荷部分包括涉及来自所述多个特定摄像机之一的视频内容的信息; 检查模块,用于在网络核心中检查所述分组的所述有效载荷部分,用以确定是否以及如何路由所述分组给订户来自所述数字视频摄像机的信息;以及路由模块,用于基于所述检查选择性地路由 39. A method for routing packets in a network providing alert services system, comprising: a plurality of digital video cameras, wherein the digital video camera generating a digital video output; local area network (LAN), which is connected to the digital video camera; publish 's agent, which is connected to the LAN on the, release the digital video output; intelligent router includes a plurality of release - Usually network, which is connected to the publisher agent; and a digital video surveillance system (DVSS), via which the release - Usually network receiving the published digital video output, wherein the intelligent router includes: a receiving module, configured to receive a packet having a header portion and a payload portion, said payload portion comprising relates from the said video content information to one of a plurality of specific camera; checking module for checking the payload of the packet in the core network part, to determine whether and how to route the packet to the subscriber from the digital video information of the camera; and routing means for selectively routing based on the inspection 所述分组。 The packet.
  40. 40.如权利要求39所述的系统,还包括连接到所述发布-订购网络的订户代理,它订购所述数字视频输出并将所述订购的数字视频输出推向所述DVSS。 40. The system according to claim 39, further comprising a connection to the release - Usually subscriber proxy network that the order of the digital video output and video output into a digital Usually the DVSS.
  41. 41. 一种用于将数字内容分布到订户的网络,所述网络包括:多个用户机;定期分布数字内容的中央分布器;多个高速缓存服务器,它接收和高速缓存所述分布的数字内容,其中所述高速缓存服务器定期地从用户机接收关于某种所述高速缓存的数字内容的用户请求,并将所述请求的数字内容转发给所述用户机;以及,路由盒,它从所述中央分布器接收所述分布数字内容作为文件并采用基于内容路由的发布-订购将所述数字内容文件传送到所述多个高速缓存服务器,其中,所述数字内容文件是公开物并且所述用户请求是订购,所述路由盒包括:接收模块,用于接收具有首部部分和有效载荷部分的分组,所述有效载荷部分包括涉及数字内容文件的信息;检查模块,用于检查所述分组的所述有效载荷部分,用以确定是否以及如何路由所述分组;以及路由模 41. A method for the distribution of digital content to the subscriber's network, the network comprising: a plurality of user machines; central distributor regularly distributed digital content; a plurality of cache servers that receive and cache the distributed digital content, wherein the cache servers periodically receive digital content on some of the cache requests from a user a user machine, the digital content and forwards the request to the user machine; and a routing box, from which the distribution center receives the distributed digital content as files and content-based routing of release - Usually transmitting the digital content files to the plurality of cache servers, wherein the digital content files are publications and the Usually said user request, the routing box comprising: receiving means for receiving a packet having a header portion and a payload portion, the payload portion includes information relating to the digital content file; checking module for checking the packet the payload portion to determine whether and how to route the packet; and routing module ,用于基于所述检查选择性地路由所述分组。 For selectively routing based on the inspection of the packet.
  42. 42.如权利要求41所述的网络,其特征在于,所述路由盒是第一路由盒,所述网络还包括与所述多个高速缓存服务器共同定位的第二路由盒,其中所述第一路由盒将所述数字内容文件路由到与所述多个高速缓存服务器中的至少一个共同定位的所述第二路由盒。 42. The network according to claim 41, wherein the routing box is a first routing box, the network further comprising a plurality of the second routing box co-located cache servers, wherein the first the way the cassette by the digital content files to route the plurality of cache servers, at least a second routing box co-located.
  43. 43.如权利要求41所述的网络,其特征在于,所述多个高速缓存服务器设在网络服务提供商处。 43. A network according to claim 41, wherein said plurality of cache servers provided in the network service provider.
  44. 44.如权利要求41所述的网络,其特征在于,所述多个高速缓存服务器是第一级高速缓存服务器,其存储由所述中央分布器分布的全部所述数字内容。 44. The network according to claim 41, wherein said plurality of cache servers is a first level cache server, which stores all of the digital central distributor distribute the content.
  45. 45.如权利要求44所述的网络,还包括第二级高速缓存服务器,其存储由所述中央分布器分布的一部分所述数字内容。 Network of claim 44 which stores the digital part by the central distributor 45. The content distribution claim, further comprising a second level of cache servers.
  46. 46.如权利要求45所述的网络,其特征在于,所述路由盒是第一路由盒,所述网络还包括与所述第二级高速缓存服务器共同定位的第二路由盒,其中,所述第一路由盒和所述第二路由盒采用基于内容路由的发布-订购将数字内容文件从所述第一级高速缓存服务器传送到所述第二级高速缓存服务器。 46. ​​The network according to claim 45, wherein the routing box is a first routing box, the network further comprising a second routing box and the second level cache servers co-located, wherein the routing said first cassette and said second cassette routing using content-based routing of release - Usually the digital content file from said first level cache servers to the second level cache servers.
  47. 47.如权利要求46所述的网络,其特征在于,所述路由模块基于所述检查选择性地将所述分组从所述第一级高速缓存服务器路由到所述第二级高速缓存服务器。 47. The network according to claim 46, wherein the routing module selectively based on the inspection of the packet from the first-level cache servers is routed to the second level of cache servers.
  48. 48.如权利要求45所述的网络,其特征在于,由所述第二级高速缓存服务器存储的所述一部分所述数字内容是基于接收的用户请求的历史确定的。 48. The network according to claim 45, wherein said second level cache from said storage portion of said digital content server based on a history of received user requests determined.
  49. 49.如权利要求45所述的网络,其特征在于,所述第二级高速缓存服务器直接接收所述用户请求,并将关于不由所述第二级高速缓存服务器存储的数字内容的用户请求转发给所述第一级高速缓存服务器。 49. The network according to claim 45, wherein said second level of cache servers directly receive the user request, and not by the user on the second level of cache servers store digital content request is forwarded to the first-level cache servers.
  50. 50.如权利要求41所述的网络,其特征在于,所述路由模块基于所述检查选择性地将所述分组从所述中央分布器路由到所述多个高速缓存服务器。 50. The network according to claim 41, wherein the routing module selectively based on the inspection of the packet routed from the central distributor to the plurality of cache server.
  51. 51.如权利要求41所述的网络,其特征在于,所述中央分布器包括一个或多个服务器。 51. The network according to claim 41, wherein the central distributor comprises one or more servers.
  52. 52.如权利要求41所述的网络,其特征在于,所述数字内容包括视频、音乐和软件。 52. The network according to claim 41, wherein the digital content includes video, music and software.
  53. 53. 一种用于在网络中将数字内容分布到订户的方法,所述方法包括以下步骤: 分布来自中央分布器的数字内容; 基于内容路由所述分布数字内容至多个高速缓存服务器; 在所述多个高速缓存服务器上高速缓存所述基于内容路由的数字内容; 接收关于所请求的高速缓存的数字内容的用户订购;以及, 基于所述接收的用户订购将所请求的数字内容从所述多个高速缓存服务器传送到用户,其特征在于,所述基于内容路由的步骤包括以下步骤: 接收具有首部部分和有效载荷部分的分组,所述有效载荷部分包括涉及数字内容文件的信息; 检查所述分组的所述有效载荷部分用以确定是否以及如何路由所述分组;以及基于所述检查选择性地将所述分组路由至所述多个高速缓存服务器。 53. A method for a network in a digital content distribution method to a subscriber, the method comprising the steps of: the distribution of digital content from a central distributor; content-based routing the distributed digital content to a plurality of cache servers; in the a plurality of said cache server caching the content-based routed digital content; receiving user regarding the requested cached digital content ordering; and, based on the received user subscription to the requested digital content from the a plurality of cache servers transmitted to the user, wherein the content-based routing step comprises the steps of: receiving a packet having a header portion and a payload portion, the payload portion includes information relating to the digital content file; check the payload portion of said packet to determine whether and how to route the packet; and based on the inspection for selectively routing the packet to the plurality of cache server.
  54. 54.如权利要求53所述的方法,其特征在于,所述检查步骤包括确定所述有效载荷部分中的信息是否与将内容断定信息与对应目的地相关联的结构中的所述内容断定信息匹配。 54. A method according to claim 53, wherein said checking step includes determining whether information in the payload portion to determine the content of the content structure information associated with the corresponding destination information to determine the match.
  55. 55.如权利要求53所述的方法,其特征在于,所述检查步骤包括将过滤器应用于所述有效载荷部分中的信息。 55. The method according to claim 53, wherein said checking step comprises a filter applied to the information in the payload section.
  56. 56.如权利要求55所述的方法,还包括将所述过滤器传播到所述网络中的路由盒,用以执行所述检查。 56. The method according to claim 55, further including propagating the filter to a routing box in the network, to perform the inspection.
  57. 57.如权利要求53所述的方法,还包括对所述网络中的路由盒进行编程,以执行所述接收、检查和路由步骤。 57. The method according to claim 53, further comprising routing box in the network programmed to perform the receiving, checking and routing steps.
  58. 58.如权利要求53所述的方法,其特征在于,所述检查步骤包括检查属性,用以确定如何路由所述分组。 58. The method according to claim 53, wherein said checking step comprises checking attributes, to determine how to route the packet.
  59. 59.如权利要求53所述的方法,还包括执行所述检查步骤路由盒。 59. The method according to claim 53, further comprising performing said step of checking routing cartridge.
  60. 60.如权利要求53所述的方法,其特征在于,所述多个高速缓存服务器是第一级高速缓存服务器,所述方法还包括利用基于内容路由将高速缓存的数字内容传送到第二级高速缓存服务器。 60. The method according to claim 53, wherein said plurality of cache servers is a first level cache server, the method further comprises using the content-based routing delivery of digital content to the second level cache cache server.
  61. 61.如权利要求60所述的方法,还包括确定所述请求的数字内容是否在所述第二级高速缓存服务器上。 61. The method of claim 60, further comprising determining if the requested digital content on the second level of cache servers.
  62. 62.如权利要求61所述的方法,还包括基于所述确定将所接收的用户订购传送到所述第一级高速缓存服务器。 62. The method of claim 61, further comprising determining based on the received user subscription to said first level cache server.
  63. 63.如权利要求60所述的方法,其特征在于,所述传送步骤基于所接收的用户订购的历史利用基于内容路由将高速缓存的数字内容传送到所述第二级高速缓存服务器。 63. The method according to claim 60, wherein said transmitting step based on the received user subscription history of using the content-based routing delivery of digital content to the second cache level cache servers.
  64. 64. 一种用于在网络中和服务质量保证一起路由分组的方法,所述方法包括以下步骤: 接收具有首部部分和有效载荷部分的分组;在网络核心中检查所述分组的所述有效载荷部分用以确定是否以及如何路由所述分组; 确定所述分组的服务质量保证;以及基于所述检查和所述服务质量保证选择性地路由所述分组。 64. A network for routing and QoS packets together, the method comprising the steps of: receiving a packet having a header portion and a payload portion; checking the packet in a network core in the payload section to determine whether and how to route the packet; determining quality of service guarantee for the packet; and selectively routing based on the quality assurance inspection of the said service and said packet.
  65. 65.如权利要求64所述的方法,其特征在干,所述检查步骤包括确定所述有效载荷部分的信息是否与将内容断定信息与对应网络目的地相关联的结构中的所述内容断定信息相匹配。 65. The method according to claim 64, characterized in that the dry, said checking step comprises determining whether the active content information payload portion to determine the content structure information associated with a corresponding network destination judged in information match.
  66. 66.如权利要求64所述的方法,还包括在所述网络核心中的路由器上执行所述检查步骤。 66. The method according to claim 64, further comprising performing said step of checking the router in the network core.
  67. 67.如权利要求64所述的方法,其特征在于,所述检查步骤包括将过滤器与所述有效载荷部分中的信息匹配。 67. The method according to claim 64, wherein said checking step comprises the filter information matches the payload portion.
  68. 68.如权利要求67所述的方法,还包括将所述过滤器传播到所述网络中的路由器上,用以执行所述检查。 68. The method of claim 67, further including propagating the filter to a router in the network, to perform the inspection.
  69. 69.如权利要求64所述的方法,还包括对所述网络中的路由器进行编程以执行所述接收、检查和路由步骤。 69. A method according to claim 64, further comprising a router in the network are programmed to perform the receiving, checking and routing steps.
  70. 70.如权利要求64所述的方法,其特征在于,所述检查步骤包括检查属性用以确定如何路由所述分组或是否完全丢下所述分组。 70. A method according to claim 64, wherein said checking step comprises checking attributes to determine how to route the packet or whether the packet is dropped completely.
  71. 71. —种在网络中路由消息的方法,所述方法包括: 接收具有首部部分、至少ー个主体和至少ー个属性的消息; 从所述消息中检索所述主体和所述属性; 基于所述主体检索订购; 确定所述消息的服务质量保证; 为确定是否以及如何路由所述消息在网络核心将所述属性应用于所述订购;以及基于所述应用和所述服务质量保证选择性地路由所述消息。 71. - kind of routing messages in a network, the method comprising: receiving a header portion, a body and at least ー ー least attributes message; the message retrieved from the body and the attribute; based Usually said body retrieved; determining the quality of service assurance message; to determine whether and how to route the message to the core network to said Usually property; and based on the application and the quality of service guarantee for selectively routing the message.
  72. 72.如权利要求71所述的方法,其特征在于,所述检索所述订购的步骤包括检索对应于所述订购的过滤器。 72. A method according to claim 71, wherein said order comprises the step of retrieving a filter corresponding to the order of the search.
  73. 73.如权利要求71所述的方法,还包括如果所述属性满足所述订购则路由所述消息。 73. The method according to claim 71, further comprising if the attribute satisfies the subscription is routing the message.
  74. 74.如权利要求71所述的方法,还包括如果所述属性不满足所述订购则丢弃所述消o 74. A method according to claim 71, further comprising if the attribute does not satisfy the Usually discarding the consumption o
  75. 75.如权利要求71所述的方法,还包括以下步骤: 检索对应于多个订购的多个过滤器; 从所述消息中检索多个属性; 将每ー个所述属性与每ー个所述过滤器进行匹配以确定任何所述对应订购是否得到满足;以及基于任何所述订购是否得到满足来选择性地路由所述消息。 75. A method according to claim 71, further comprising the step of: retrieving a plurality of filters corresponding to a plurality of ordered; retrieving a plurality of attributes from the message; with each of the attribute ー ー each one of the two said matched filter to determine if any of the corresponding order is satisfied; and based on whether any of the subscription is satisfied to selectively route the message.
  76. 76.如权利要求71所述的方法,还包括在所述网络核心中的路由器上执行所述检查步骤。 76. A method according to claim 71, further comprising performing said step of checking the router in the network core.
  77. 77. —种在网络中和服务质量保证一起路由分组的装置,所述装置包括: 用于接收具有首部部分和有效载荷部分的分组的模块;至少一个用于在网络核心中检查所述分组的所述有效载荷部分用以确定是否以及如何路由所述分组的模块;用于确定所述分组的服务质量保证的模块;以及基于从以上所述步骤获得的检查结果和通过以上所述步骤确定的服务质量保证来选择性地路由所述分组的模块。 77. - species in a network and QoS packet with routing means, the apparatus comprising: means for receiving a header section and a payload of the packet portion; at least one core network for the packet inspection the payload portion to determine whether and how to route the packet module; means for determining if the packet is guaranteed quality of service module; and based on the inspection results obtained from the above said step and said step of determining by the above QoS module selectively routing the packet.
  78. 78.如权利要求77所述的装置,其特征在于,所述检查模块包括用于确定所述有效载荷部分中的信息是否与将内容断定信息与对应网络目的地或指导路由器内处理的对应规则相关联的结构中的所述内容断定信息相匹配的模块。 78. The apparatus according to claim 77, wherein said checking module comprises means for determining whether information in the payload part to determine the contents of the rule corresponding to the destination information corresponding to the network router or guidance process the content structure associated with the module information to determine matches.
  79. 79.如权利要求77所述的装置,还包括用于在所述网络核心中的路由器上执行所述检查步骤的模块。 79. The apparatus according to claim 77, further comprising a module performing said step of checking for the router in the network core.
  80. 80.如权利要求77所述的装置,其特征在于,所述检查模块包括用于将过滤器与所述有效载荷部分中的信息匹配的模块。 80. The apparatus according to claim 77, wherein said checking module comprises a filter module for the payload information of the matching section.
  81. 81.如权利要求80所述的装置,还包括用于将所述过滤器传播到所述网络中的路由器用以执行所述检查的模块。 81. The apparatus according to claim 80, further comprising means for propagating the filter to a router in the network to perform the inspection module.
  82. 82.如权利要求77所述的装置,还包括用于对所述网络中的路由器进行编程以执行所述接收、检查和处理的模块。 82. The apparatus according to claim 77, further comprising a router in the network are programmed to perform the receiving module, and the inspection process.
  83. 83.如权利要求77所述的装置,其特征在于,所述装置是路由器。 83. The apparatus as claimed in claim 77, wherein said apparatus is a router.
  84. 84. 一种用于在网络中路由消息的装置,所述装置包括:用于接收具有首部部分、至少一个主体和至少一个属性的消息的模块;用于从所述消息中检索所述主体和所述属性的模块;用于基于所述主体检索订购的模块;用于为确定是否以及如何路由所述消息而在网络核心中将所述属性与所述订购进行匹配的模块;用于确定所述分组的服务质量保证的模块;以及用于在所述属性满足所述订购的情况下基于所述服务质量保证选择性地路由所述消息的模块。 84. An apparatus for routing messages in a network, the apparatus comprising: means for receiving a header portion, at least one body and at least one attribute of the message module; means for retrieving the body from the message and the attribute; means for retrieving, based on the subscription module body; means for determining if and how to route the message ordering module for matching the attribute to the network in the core; means for determining said packet guaranteed quality of service; and means for selectively based on the quality of service assurance in a case where the attribute satisfies the subscription routing the message. · ·
  85. 85.如权利要求84所述的装置,其特征在于,用于检索所述订购的所述模块包括用于检索对应于所述订购的过滤器的模块。 85. The apparatus according to claim 84, wherein the subscription for retrieving comprises means for retrieving corresponding to the order of the filter module.
  86. 86.如权利要求84所述的装置,还包括用于在所述属性满足所述订购的情况下并基于所述服务质量保证选择性地路由所述消息的模块。 86. The apparatus according to claim 84, further comprising means for in a case where the attribute satisfies the subscription and based on the quality of service assurance module for selectively routing the message. · ·
  87. 87.如权利要求84所述的装置,还包括用于在所述属性不满足所述路由器上存储的任何所述订购的情况下丢弃所述消息的模块。 87. The apparatus according to claim 84, further comprising means for any case of the order stored in the attribute does not satisfy the router module discards the message.
  88. 88.如权利要求84所述的装置,还包括:用于检索对应于多个订购的多个过滤器的模块;用于从所述消息中检索多个属性的模块;过滤模块,用于将每一个所述属性与每一个所述过滤器相匹配以确定任何所述对应订购是否得到满足;以及用于基于任何所述订购是否得到满足来选择性地路由所述消息的模块。 88. The apparatus according to claim 84, further comprising: retrieving a plurality of filters corresponding to a plurality of ordered; means for retrieving a plurality of attributes from the message module; filtering module, configured to each of said attribute with each of the matched filter to determine whether any of the corresponding order is satisfied; and means for selectively routing the message based on any of the subscription is satisfied.
  89. 89.如权利要求84所述的装置,还包括一个或多个用于在所述网络核心中的路由器上执行所述过滤步骤的模块。 89. The apparatus according to claim 84, further comprising one or more modules to perform the step of filtering router on the core network is used.
  90. 90.如权利要求84所述的装置,其特征在于,所述装置是路由器。 90. The apparatus as claimed in claim 84, wherein said apparatus is a router.
  91. 91. 一种在组播网络中路由和高速缓存数据分组的方法,所述方法包括以下步骤: 接收具有首部部分和有效载荷部分的分组; 在网络核心中检查所述分组的所述有效载荷部分用以确定是否以及如何将所述分组路由到订户; 基于所述检查选择性地路由所述分组;以及在所述网络核心中本地高速缓存来自所述分组的数据。 91. A method in a multicast network routing and caching packets of data, said method comprising the steps of: receiving a packet having a header portion and a payload portion; checking the packet in a network core in the payload part to determine whether and how to route the packet to said subscriber; the packets based on the inspection selectively route; and in the core network from the local cache of the data packet.
  92. 92.如权利要求91所述的方法,还包括在路由器上执行所述检查步骤。 92. The method according to claim 91, further comprising performing said step of checking on the router.
  93. 93.如权利要求91所述的方法,其特征在于,所述检查步骤包括将过滤器应用于所述有效载荷部分中的信息。 93. The method according to claim 91, wherein said checking step comprises a filter applied to the information in the payload section.
  94. 94.如权利要求93所述的方法,还包括将所述过滤器传播到所述网络中的路由器上用以执行所述检查。 94. The method of claim 93, further including propagating the filter to a router in the network to perform the inspection.
  95. 95.如权利要求91所述的方法,还包括对在所述网络中的路由器进行编程以执行所述接收、检查和路由步骤。 95. The method according to claim 91, further comprising a router in the network are programmed to perform the receiving, checking and routing steps.
  96. 96.如权利要求91所述的方法,其特征在于,所述检查步骤包括检查属性用以确定如何路由所述分组。 96. The method according to claim 91, wherein said checking step comprises checking attributes to determine how to route the packet.
  97. 97.如权利要求91所述的方法,还包括时间标记高速缓存的数据。 97. The method as claimed in claim 91, further comprising a time stamp of the data cache.
  98. 98.如权利要求91所述的方法,还包括索引高速缓存的数据。 98. The method according to claim 91, further comprising a data cache index.
  99. 99.如权利要求91所述的方法,还包括以下步骤: 接收对数据的请求;以及确定高速缓存的数据是否满足所述请求。 99. The method according to claim 91, further comprising the steps of: receiving a request for data; and determining whether the cached data satisfies the request.
  100. 100.如权利要求91所述的方法,还包括以下步骤: 在边缘路由节点上本地高速缓存来自所述分组的数据。 100. The method according to claim 91, further comprising the step of: at the edge routing node a local cache from the data packet.
  101. 101.如权利要求91所述的方法,还包括以下步骤:在时间帧T的期满之后移除高速缓存的数据。 101. The method of claim 91, further comprising the step of: removing the cached data after the expiration of the time frame T.
  102. 102. 一种用于路由和高速缓存数据分组的网络,所述网络包括: 边缘路由节点,它接收并路由具有首部部分和有效载荷部分的分组,所述边缘路由节点包括: 智能路由器,它路由接收的分组,所述智能路由器包括用于以下操作的指令: 在网络核心中检查所述分组的所述有效载荷部分用以确定是否以及如何将所述分组路由到订户;以及基于所述检查选择性地路由所述分组;以及高速缓存管理器,它可操作地连接到所述智能路由器,所述高速缓存管理器包括用于以下操作的指令: 在本地高速缓存中本地高速缓存来自所述分组的数据; 以及一个或多个接收并路由所述分组的核心路由节点。 102. A network routing and caching packets of data, said network comprising: an edge routing node that receives and routes a packet header portion and a payload portion, the edge routing node including: an intelligent router that routes received packets, the intelligent router including instructions for the following operation: inspecting the payload portion of the packet in a network core to determine whether and how to route the packet to the subscriber; based on the examination and selection routing of the packet; and a cache manager, which is operatively connected to the intelligent router, the cache manager including instructions for: the local cache in a packet from the local cache data; and one or more core routing node receiving and routing the packet.
  103. 103.如权利要求102所述的网络,还包括:可操作地连接到所述边缘路由节点的代理,它包括用于以下操作的指令: 确定高速缓存的数据的位置; 从所述本地高速缓存中检索高速缓存的数据;以及处理所检索的高速缓存数据。 103. The network according to claim 102, further comprising: a proxy operatively connected to the edge routing node, that includes instructions for: determining location of cached data; from the local cache retrieving cached data; and a cache processing the retrieved data.
  104. 104.如权利要求102所述的网络,其特征在于,ー个或多个核心路由节点中的ー个核心路由节点位于所述边缘路由节点的径直上游,所述径直上游核心路由节点包括: 路由接收的分组的智能路由器,所述智能路由器包括用于以下操作的指令: 在网络核心中检查所述分组的所述有效载荷部分用以确定如何把所述分组路由到订户;以及基于所述检查选择性地路由所述分组;以及高速缓存管理器,它可操作地连接到所述智能路由器,所述高速缓存管理器包括用于以下操作的指令: 在本地高速缓存中本地高速缓存来自所述分组的数据。 104. The network according to claim 102, wherein ー ー or more core routing nodes core routing nodes located upstream of the straight edge routing node, the straight upstream core routing node comprises: routing the intelligent router receives a packet, the intelligent router including instructions for the following operation: in the core network examining the packet payload portion to determine how to route the packet to the subscriber; based on said inspection, and selectively routing the packet; and a cache manager, which is operatively connected to the intelligent router, the cache manager including instructions for: the local cache in a local cache from the data packets.
  105. 105.如权利要求102所述的网络,还包括:提供多个信道的特性的多个信道管理器。 105. The network according to claim 102, further comprising: a plurality of channel manager provides a plurality of channel characteristics.
  106. 106.如权利要求102所述的网络,其特征在于,所述高速缓存管理器还包括用于时间标记高速缓存的数据的指令。 106. The network according to claim 102, wherein the cache manager further includes instructions for the time stamp of the cached data.
  107. 107.如权利要求102所述的网络,其特征在于,所述高速缓存管理器还包括用于索引高速缓存的数据的指令。 107. The network according to claim 102, wherein the cache manager further includes instructions for indexing the cached data.
  108. 108.如权利要求102所述的网络,其特征在于,所述高速缓存管理器还包括用于以下操作的指令: 接收对数据的请求;以及确定高速缓存的数据是否满足所述请求。 108. The network according to claim 102, wherein the cache manager further includes instructions for: receiving a request for data; and determining whether the cached data satisfies the request.
  109. 109. —种在组播网络中路由和高速缓存数据分组的装置,所述装置包括多个处理器和用于以下操作的指令: 接收具有首部部分和有效载荷部分的分组; 在网络核心中检查所述分组的所述有效载荷部分用以确定是否以及如何将所述分组路由到订户; 基于所述检查选择性地路由所述分组;以及在所述网络核心中本地高速缓存来自所述分组的数据。 109. - species in the multicast network routing device and cache data packet, said apparatus comprising a plurality of processors and instructions for the following operations: receiving a packet having a header portion and a payload portion; check in the network core the payload portion of the packet to determine whether and how to route the packet to the subscriber; based on the examination of the packets is selectively routes; and the local cache in the network core from the packet data.
  110. 110.如权利要求109所述的装置,其特征在于,所述多个处理器包括第一处理器和第ニ处理器,其中所述第一处理器执行所述检查和选择性地路由指令,而所述第二处理器执行本地高速缓存指令。 110. The apparatus according to claim 109, wherein said plurality of processors comprises a first processor and a second processor ni, wherein said first processor executes the inspection and selectively routing instructions, and said second processor to perform local cache instruction.
CN 03821206 2002-07-08 2003-07-08 System, method and apparatus for inspecting packet routing via payload in a publish-subscribe network CN1701304B (en)

Priority Applications (9)

Application Number Priority Date Filing Date Title
US39463102 true 2002-07-08 2002-07-08
US39464102 true 2002-07-08 2002-07-08
US39456102 true 2002-07-08 2002-07-08
US39471402 true 2002-07-08 2002-07-08
US60/394,631 2002-07-08
US60/394,561 2002-07-08
US60/394,714 2002-07-08
US60/394,641 2002-07-08
PCT/US2003/021338 WO2004006486A3 (en) 2002-07-08 2003-07-08 Packet routing via payload inspection for alert services, for digital content delivery and for quality of service management and caching with selective multicasting in a publish-subscribe network

Publications (2)

Publication Number Publication Date
CN1701304A true CN1701304A (en) 2005-11-23
CN1701304B true CN1701304B (en) 2010-05-05

Family

ID=30119330

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 03821206 CN1701304B (en) 2002-07-08 2003-07-08 System, method and apparatus for inspecting packet routing via payload in a publish-subscribe network

Country Status (5)

Country Link
EP (1) EP1535157A4 (en)
JP (2) JP2005532748A (en)
KR (1) KR100985237B1 (en)
CN (1) CN1701304B (en)
WO (1) WO2004006486A3 (en)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0629764A (en) * 1991-07-16 1994-02-04 Nec Ic Microcomput Syst Ltd Wind noise reduction microphone amplifier
JP4614128B2 (en) 2004-12-10 2011-01-19 日本電気株式会社 Packet distribution system, pan registration device, pan management apparatus and packet transfer device
CN100587746C (en) * 2004-12-23 2010-02-03 艾利森电话股份有限公司 Method for informing emergency event to a plurality of mobile terminals
US20070005725A1 (en) * 2005-06-30 2007-01-04 Morris Robert P Method and apparatus for browsing network resources using an asynchronous communications protocol
CN1925482B (en) 2005-09-01 2013-03-27 中兴通讯股份有限公司 Transforming method and device for human-machine order format
US9686183B2 (en) 2005-12-06 2017-06-20 Zarbaña Digital Fund Llc Digital object routing based on a service request
US8055897B2 (en) 2005-12-06 2011-11-08 Lippershy Celestial Llc Digital object title and transmission information
US7894447B2 (en) * 2005-12-06 2011-02-22 Lippershy Celestial Llc Digital object routing
US8014389B2 (en) 2005-12-06 2011-09-06 Lippershy Celestial Llc Bidding network
US8194701B2 (en) 2005-12-06 2012-06-05 Lippershy Celestial Llc System and/or method for downstream bidding
JP4680068B2 (en) * 2006-01-05 2011-05-11 富士通株式会社 Communication control method, the network and network equipment
US9330190B2 (en) 2006-12-11 2016-05-03 Swift Creek Systems, Llc Method and system for providing data handling information for use by a publish/subscribe client
KR20120002424A (en) 2010-06-30 2012-01-05 한국전자통신연구원 Communication node and communication method
WO2012002726A3 (en) * 2010-06-30 2012-04-12 한국전자통신연구원 Communication node and communication method
CN101969469B (en) * 2010-10-25 2013-11-06 华为技术有限公司 Callback processing method and device in telecom capability opening
US9402200B2 (en) 2011-11-29 2016-07-26 Telefonaktiebolaget L M Ericsson (Publ) Flow based packet manipulation congestion control
CN103166851B (en) * 2011-12-16 2016-06-15 中国电信股份有限公司 Internet information transfer processing method and system
US9026410B2 (en) * 2012-03-16 2015-05-05 The Boeing Company System and method for rapid management of logic formulas
KR101487859B1 (en) 2014-01-15 2015-02-02 주식회사 이디엄 Method for Collecting UDP Packet When Java Program Is Being Executed
CN106455140A (en) * 2014-01-24 2017-02-22 北京奇虎科技有限公司 Attribute information display system and router
CN104811740A (en) * 2015-04-29 2015-07-29 北京奇艺世纪科技有限公司 Video file distribution method, system and device
JP2017220132A (en) 2016-06-09 2017-12-14 富士通株式会社 Past information providing program, past information providing method, and past information providing device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002045317A2 (en) * 2000-11-28 2002-06-06 Worldcom, Inc. Network access system including a programmable access device having distributed service control
US20020087881A1 (en) * 2000-12-29 2002-07-04 Shlomi Harif System, method and program for identifying and binding a process in a heterogeneous network

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0867088A4 (en) * 1995-12-15 2000-04-05 Telcordia Tech Inc Systems and methods employing video combining for intelligent transportation applications
US5873084A (en) * 1996-01-18 1999-02-16 Sun Microsystems, Inc. Database network connectivity product
GB9912901D0 (en) * 1999-06-04 1999-08-04 Ibm Message broker providing a publish/subscribe service and method of processing messages in a publish/subscribe environment
JP3685651B2 (en) * 1999-06-04 2005-08-24 沖電気工業株式会社 Interconnecting devices and active QoS mapping method
US6523068B1 (en) * 1999-08-27 2003-02-18 3Com Corporation Method for encapsulating and transmitting a message includes private and forwarding network addresses with payload to an end of a tunneling association
GB9921776D0 (en) * 1999-09-16 1999-11-17 Ibm Event notification data processing with command and command notification combined into a single event
US7283502B1 (en) * 2000-09-21 2007-10-16 Lucent Technologies Inc. Enhancement of framing protocol frame format to support quality of service
US7325249B2 (en) 2001-04-30 2008-01-29 Aol Llc Identifying unwanted electronic messages

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002045317A2 (en) * 2000-11-28 2002-06-06 Worldcom, Inc. Network access system including a programmable access device having distributed service control
US20020087881A1 (en) * 2000-12-29 2002-07-04 Shlomi Harif System, method and program for identifying and binding a process in a heterogeneous network

Also Published As

Publication number Publication date Type
KR20050017108A (en) 2005-02-21 application
KR100985237B1 (en) 2010-10-04 grant
CN1701304A (en) 2005-11-23 application
JP2010148118A (en) 2010-07-01 application
EP1535157A2 (en) 2005-06-01 application
EP1535157A4 (en) 2010-09-08 application
WO2004006486A3 (en) 2004-05-27 application
JP2005532748A (en) 2005-10-27 application
WO2004006486A2 (en) 2004-01-15 application

Similar Documents

Publication Publication Date Title
Peterson et al. Computer networks: a systems approach
Segall et al. Content based routing with elvin4
US7729240B1 (en) Method and system for identifying duplicate packets in flow-based network monitoring system
US7277938B2 (en) Method and system for managing performance of data transfers for a data access system
Wetherall et al. The active ip option
US6581102B1 (en) System and method for integrating arbitrary isochronous processing algorithms in general media processing systems
US20120215779A1 (en) Analytics management
US6182111B1 (en) Method and system for managing distributed data
US6965916B1 (en) System and method for data distribution and recovery
US6711572B2 (en) File system for distributing content in a data network and related methods
US20070143807A1 (en) Data distribution apparatus, data provision apparatus and data distribution system comprised thereof
US20090182896A1 (en) Various methods and apparatuses for a route server
US20070038703A1 (en) Content router gateway
US20070014307A1 (en) Content router forwarding
US7948921B1 (en) Automatic network optimization
US20040008717A1 (en) Fault tolerant correlation engine method and system for telecommunications networks
US20070014277A1 (en) Content router repository
US7631045B2 (en) Content router asynchronous exchange
US20070104096A1 (en) Next generation network for providing diverse data types
US20030093485A1 (en) Method and system for scheduled streaming of best effort data
US20030212738A1 (en) Remote services system message system to support redundancy of data flow
US20070014300A1 (en) Content router notification
US6321269B1 (en) Optimized performance for transaction-oriented communications using stream-based network protocols
US20060064476A1 (en) Advanced content and data distribution techniques
US20070014303A1 (en) Content router

Legal Events

Date Code Title Description
C06 Publication
C10 Request of examination as to substance
C14 Granted