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 CN038212064A CN03821206A CN1701304B CN 1701304 B CN1701304 B CN 1701304B CN 038212064 A CN038212064 A CN 038212064A CN 03821206 A CN03821206 A CN 03821206A CN 1701304 B CN1701304 B CN 1701304B
Authority
CN
China
Prior art keywords
network
route
order
grouping
cache
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CN038212064A
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·冷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PreCache Inc
Original Assignee
PreCache Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by PreCache Inc filed Critical PreCache Inc
Publication of CN1701304A publication Critical patent/CN1701304A/en
Application granted granted Critical
Publication of CN1701304B publication Critical patent/CN1701304B/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/52Multiprotocol routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations 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
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1895Arrangements for providing special services to substations 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 arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

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 attributes in 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

In issue-subscribe, detect system, the method and apparatus of the route of dividing into groups by useful load
To quoting of related application
The application is by reference in conjunction with the U.S. Provisional Application No.60/394631 that is entitled as " by the grouping route of useful load detection at Service Quality Management " that submitted on July 8th, 2002, and its right of priority is enjoyed in requirement.Present patent application still is the following U.S. Patent application No.10/199356 that is entitled as " by the grouping route of useful load detection " that all submits on July 19th, 2002, the U.S. Patent application No.10/199368 that is entitled as " on the router that adopts channel, carrying out the content-based route and the method and apparatus of filtration ", the U.S. Patent application No.10/199439 that is entitled as " on network, sending and the method that receives Boolean function ", the part continuation application (CIP) that is entitled as the U.S. Patent application No.10/199369 of " being used to store Boolean function on network, to realize assessment; revise; utilize again and the method for paying " and is entitled as the U.S. Patent application No.10/199388 of " effective realization of in based on the route that is connected, mating " about the asterisk wildcard of variable size field, and by reference they all are combined in this.
The application also combines the following U.S. Patent application of submitting on March 28th, 2003 by reference, and as their CIP: the application No.10/400671 that is entitled as " be used for reliably issue and order at insecure network method and apparatus ", the application No.10/400465 that is entitled as " adopting compact filtration storage and off-line precomputation to carry out the method and apparatus of content-based grouping route ", the application No.10/400453 that is entitled as " being used for realizing the mutual method and apparatus of inquiry response " at issue-subscribe, be entitled as the application No.10/400462 of " method and apparatus of realizing the continuous and reliable message-submission " and be entitled as " at the method and apparatus of issue-subscribe propagating contents filtrator " application No.10/400444.
Technical field
The present invention relates to a kind of based on the detection of useful load in the grouping in network core this grouping of route in order to the method and apparatus of alerting service to be provided.
Background technology
Nowadays the network bandwidth just sharply increases progressively by index law.Yet the infrastructure of network (comprising router, server, demons and agreement etc.) is still being used relative older technology.Therefore the Internet application software and network router speed of development do not catch up with the speed that bandwidth increases.Simultaneously, more and more equipments and application software become network-enabled.These equipment and application software increase greatly to the load that network node applies.The increase of offered load and application software quantity makes realization and maintaining network application software become more complicated.Therefore, the feasible more and more difficulty of the generally use of the increase of the network bandwidth and the network equipment and application software route and transmission data in old network infrastructure are particularly especially true when the subscriber is content distributed.
It is a kind of that to be used to make network be issue-order form from server push to the model of client computer with information.In this model, server becomes simple information publisher, and do not consider which client computer may be to information the interested or position of client computer in network.Client computer becomes the subscriber of information, just receives the information of being paid when information can get, and can not consider its particular location of issue in network.Network then is responsible for: efficiently institute's information releasing route is given the subscriber, with information with effectively order coupling and so that publisher and the equal transparent way of subscriber are carried out aforesaid operations.
Because the complexity of server reduces greatly in issue-order model, becoming between therefore important server and the unessential client computer does not have difference, perhaps they can be merged into or publisher or subscriber or the counterpart of the two.For issue-order the mutual of form between counterpart, the application software of many types has the nature compatibility.Many these application software based on common theme be that institute's information of issuing and ordering is with the incident form.For example, the investor buys or sells stock, makes stock price change.Traffic hazard takes place on the highway, makes traffic jam on the highway.Safe breach in the software systems is found, and makes to develop patch for the software user.Player shooting of opening fire in online game makes the virtual portrait death that another player handles.All these representative phenomenons all are the interested incidents of most of subscribers, and can spread through the internet to notify those subscribers that these incidents have taken place.The succinct information of independence of the possible attractive something that takes place when therefore, incident is only about somewhere on network.
For command net sends the content of being issued by issue-order model wherein, generally carry out the network routing decision by server or publisher.Publisher's storage is about the order of the content of its issue.When receiving or producing new content, issue is convenient compares this content to discern any coupling part with each order.Order if this content (incident) satisfies, then the publisher pushes content to corresponding subscriber by network.Issue-the order model of this routine causes huge burden to the publisher, particularly becomes network-enabled and when lot-size increases in more and more equipments, and is especially true.
Along with myriad applications in the Internet converges further, utilize the possibility of event notice will become infinite only most.Yet these possibilities need a kind of more effective mode to make routing decision and the incident that determines when satisfies order, thereby alleviate publisher's burden.Therefore, general lasting event notice service can be that the Internet is used and other application and realization provide great value-rising.
Summary of the invention
A kind of method and apparatus provides and has carried out routing packets in order to alerting service to be provided in network.The method and device have overcome the defective of prior art.An advantage of this method and apparatus has significantly reduced network burden when being included in processing and route video clipping.Another advantage comprises the bandwidth demand that has reduced the route video clipping.Also have an advantage to comprise the portfolio that has reduced on the digital video recorder LAN (Local Area Network).
In realizing the embodiment of these and other advantages, receive grouping with stem part and payload portions, its include with from the relevant information of the video clipping of particular camera.In network core, detect payload portions, be used to determine whether and how routing packets is given the subscriber information from particular camera, and route is carried out in this grouping selectively based on detecting.These and other advantage also can realize by the device that for example has the module of finishing these steps.
These and other advantage for example can utilize also that route messages provides the method for alerting service to realize in network.The method comprises: receive the message with stem part, at least one main body and at least one attribute, attribute relates to the video clipping from particular camera; Retrieval main body and attribute from message; Retrieval is ordered according to main body; And for determine whether and how route messages give the subscriber information from particular camera, in network core, attribute is applied to order.These and other advantage also can realize by the device that for example comprises the module of carrying out these steps.
Equally, these and other advantage for example can utilize that routing packets provides the method for alerting service to realize in network.The method comprises: receive the grouping with stem part and useful load, wherein the payload portions bag relates to the information of the incident of specific warnings service; The useful load portion of detecting grouping in network core is in order to determine whether and how routing packets is given subscriber's alerting service information; And based on detecting this grouping of route selectively.These and other advantage also can realize by the device that for example comprises the module of carrying out these steps.
Description of drawings
Accompanying drawing is incorporated into and forms the part of this explanation, and it and instructions one are used from sets forth advantage of the present invention and principle.
Fig. 1 is intelligent route is carried out in explanation in network core figure.
Fig. 2 is the figure of explanation publisher and subscriber's intelligent router.
Fig. 3 is the figure of the network infrastructure of explanation intelligent router and backbone router.
Fig. 4 is the hardware component figure of intelligent router.
Fig. 5 is the figure of publisher and subscriber computer.
Fig. 6 is the figure of the channel manager of intelligent router.
Fig. 7 is the software part figure that is used in subscriber computer this machine and intelligent router interface.
Fig. 8 is the software part figure of intelligent router.
Fig. 9 is the packet configuration figure of message.
Figure 10 is the process flow diagram of publisher's method.
Figure 11 is the process flow diagram of subscriber's method.
Figure 12 is the figure of channel and subscriber's screen.
Figure 13 is based on the process flow diagram of the method for routing of content.
Figure 14 is the process flow diagram of cache method.
Figure 15 is the figure of explanation cache index.
Figure 16 is the process flow diagram of the Proxy Method of output message.
Figure 17 is the process flow diagram of the Proxy Method of input message.
Figure 18 is the figure of a message coding example of explanation.
Figure 19 is the figure of the database structure of stores subscription.
Figure 20 is the process flow diagram of wildcard method.
Figure 21 is the figure of digital video surveillance system.
Figure 22 is explanation is used for the agency of digital video surveillance system in two-stage process figure.
Figure 23 is the system assumption diagram of digital content delivery.
Figure 24 is the system assumption diagram in explanation digital content delivery stage 1.
Figure 25 is the system assumption diagram in explanation digital content delivery stage 2.
Figure 26 is the figure of a plurality of external linkages of explanation Service Quality Management.
Figure 27 is the figure of the single external linkage of explanation Service Quality Management.
Figure 28 is the figure of explanation at outside filtration of ISP and dynamic buffering.
Figure 29 is the Cache figure in the network.
Figure 30 is the standby persistent cache device figure in the upstream router.
Figure 31 is mutual figure between explanation high-speed cache and acting server and the router.
Figure 32 illustrates the figure of establishment about the high-speed cache of order.
Figure 33 is the figure of index tree.
Figure 34 is the figure that explanation is retrieved from a plurality of Caches.
Figure 35 is the mutual figure of other module in explanation cache manger and the system.
Figure 36 is the document directory structure figure of Cache.
Embodiment
Overview
The event notice system of the Internet level or other distributed network level provides powerful and application issue-subscribe realization flexibly.In this system, application program is utilized event notification applications routine interface (API) to make an announcement and/or is ordered and receive notice about the network internal event.
Notice in the system has a main body, and it is that a character string or other are distinguished the structure that this notifies packaged information type.Notice also comprises specific to the attribute of the information of notifying with one group to be finished.For example, application can utilize main body quote.nyse and attribute symbol and price issue about the notice in the New York Stock Exchange transaction.This application can be issued the notice that the specific properties value is arranged individually, and for example symbol is SNE (the stock ticker symbol of Sony), and price is 85.25.As a rule, if all scheduled justice of not every attribute in the notice, the attribute in all notices is same main body class so.But for the extra information specific to incident is provided, the publisher can increase attribute arbitrarily on each notice or other basis.Therefore, not all or even any attribute all need predefine.
In this system, the subscriber is not limited to only main body or whole channel be ordered.Below further explain and the definition channel.They can comprise a hierarchy, and this hierarchy is specified for example son field (sub-main body) that body field is relevant with one or more levels.Therefore, the subscriber can provide the interest that is more suitable for to represent by specify content-based filtrator on the attribute of notice.For example, the subscriber may order that to have symbol be all notices (showing it perhaps is the sale opportunity that the subscriber held stock) that SNE and price surpass 90.00 main body quote.nyse.All with order the notice be complementary can by callback or subscriber when registration is ordered or other the time other type of functionality of providing consign to the subscriber.An order can be decomposed in many filtrators.
Callback can be carried out many calculating, comprise to terminal and write message or the such shirtsleeve operation of send Email, more more complicated sale such as initiation stock, also want complicated any new issue-the order behavior (for example such as initiating, be used in price and be the new order of buying at 75.00 o'clock and substitute existing the order, perhaps issue the new notice that subscriber's securities have been modified).
For example, in using issue and order behavior, assist by the agency.The agency may utilize acting server or realize with it.The agency when being used in order to providing network to connect, so that output notice and order and the match notifications of paying input to the subscriber.In case notice enters network, the router of the network of this system then will be notified to propagate and order the subscriber of this notice of coupling for all.A kind of method that realizes this propagation is this notice of broadcasting a little in network, allows application proxy determine whether this notice is relevant with the subscriber then.Yet this is not need the method expanded, and network is subjected to excessive message traffic load usually soon, and is particularly when there being a large amount of activate and during tediously long publisher, especially true.Even if enough bandwidth are arranged, the subscriber also can bear very heavy burden because a lot of notices handled by needs.
The demonstration network of native system is more effective aspect the route notice.At first, can use multicast path by, for example cross any in the network and be connected to propagate once more to guarantee notice.Secondly, can be to a large amount of senior Optimizing operation of filter application, to reduce the propagation of notice as much as possible.
Fig. 1 is the figure of this intelligent router in the conceptual illustration network core.Be used for issue-subscribe, publisher 14 is sent to network core 10 by edge router 16 with the content in the message.Issue-subscribe comprises the network that data or content is routed to subscriber's any kind from the publisher.Content is to transmit by the channel 18 that logic between one or more expression routers or the miscellaneous equipment connects.Determine whether route or transmit message by the intelligent router in the network core 10 12.Particularly, intelligent router 12 can determine whether message comprises the content that subscriber 24 orders.
Each order has encapsulated bulk filter and attribute filtrator.Router can expand bulk filter to the main body collection of coupling, merges the attribute filtrator based on each main body.Intelligent router is to as per advice main body assessment bulk filter, to the property value evaluation attribute filtrator in as per advice.The grammer that is used for bulk filter can use asterisk wildcard, and the grammer that is used for the attribute filtrator can use Boolean expression, and the two will describe in detail below.Term " filtrator " is to be used for describing subscriber's one group of incident that receives from the publisher interested.Routing rule is produced by filtrator, and by intelligent router in order to make routing decision.
Therefore, if message 26 does not satisfy whole filter set, for example, intelligent router 12 draws (abandoning) message 26 down, means that this message no longer is forwarded.For example, if according to assessment to main body and attribute filtrator, any filtrator in the whole group satisfies by message 20, then intelligent router 12 is according to being all routes of matching filter device regulation and/or the rule of action, give subscriber 24 by edge router 22 and possibility miscellaneous equipment with message 20 routes (forwarding), or utilize message 20 to carry out other function of router ones 2 inside.This search will last till always that whole filter set exhausts or obtained till the decision about strictly all rules, and whichever takes place earlier.
The intelligent route of these content-based routes provides the payment of real time data (for example alarm and upgrade) in the network core.Pay example for the real time data of alarm and include but not limited to stock quotation, business, news, travelling, weather, fraud detection, safety, information communication service (telematics), factory's control automatically, supply chain management and network management.Pay example for the real time data of upgrading and include but not limited to software upgrading, anti-virus renewal, film and music payment, workflow, storage administration and cache coherency.Many other application can be used for paying ordering information.
Table 1 has illustrated the storage of the order that main body is arranged and filtration has been concluded.They can any position of data structure storage in network by any kinds expectation or that need on.As described below, conclude it is the ingredient of ordering.Order can be represented by any way, and example wherein below is provided.
Figure G038212064D00081
Table 2 provides about the issue of quotation server and the example of order.Provide this example only to be used for illustration purpose, order can comprise about any amount of the data of any type or content and the parameter of type.
Figure G038212064D00091
Conclude the Boolean expression that order is provided, and main body provides the indication of ordering channel.Can many different modes express order.Adopting Boolean expression is so a kind of example, and provides and be easy to convert order to bulk filter and the attribute filtrator ability for content-based route.Perhaps can not express order with reference to main body; Yet, adopt main body or channel (following will do further explaination) to provide to be used to explain and with the environment of filter application in attribute.
Routing decision can be finished in network core, and is distributed in whole network, has alleviated the processing burden on publisher and the subscriber's machine, and has significantly improved network efficiency.Only for the purpose of illustration, Fig. 1 has shown a publisher, a subscriber and an intelligent router; Realization can comprise many publishers, subscriber and intelligent router.The term intelligent router refers to can be by making router or other entities of routing decision in the useful load of network core or other position detection groupings or message.
Network infrastructure
Fig. 2 is the network chart of explanation publisher and subscriber's intelligent router.For example, the route entity 30 that channel services is provided for actual on network infrastructure at route messages between the intelligent router be layering, as described below.Publisher 32 is conceptive to be comprised and uses 34 and agency 36, wherein uses 34 indications that for example are used to receive the content of being issued, and as the pointer in order to retrieval of content, and acts on behalf of 36 in order to the content of coding via the Network Transmission of channel services 30.One group of intelligent router that interconnects in logic 38,40,42,44,46 and 48 adopts the routing rule incoming road that is produced by bulk filter of ordering and attribute filtrator by the content from the publisher.A plurality of links 39,41,43 and 45 provide the logic between the intelligent router 38,40,42,44,46 and 48 to connect.Other links 37 and 47 provide between publisher 32 and the intelligent router 38 respectively and the logic between subscriber 54 and the intelligent router 46 connects.Subscriber 54 comprises the agency 50 of the content of ordering in order to detection and reception, and the application 52 that demonstrates this content.
Channel can comprise that one group of relevant logical multicast of for example realizing with distribution mode connects.Channel in this one exemplary embodiment is used to the relevant Internet resources set of logic of publisher and subscriber's joint operation mechanism exchanging contents.Name space according to the channel main body comes content is classified, and manages, controls and supply these resources via the channel services that channel manager provides.A plurality of channels can be shared identical resource.Channel can provide high expansion directory service, as following example: and publisher and subscriber information, authentication and authorization information, type of message, management information and record keeping pay imformation, but be not limited thereto.Channel also can provide continuing during the high-speed cache for example, rapid data delivery mechanisms, safety and user and network management.Channel also can be used for any other purpose.
The filtration of being undertaken by intelligent router can take place with the distribution routing decision in network core. in addition, intelligent router also can be used as the edge router that connects subscriber equipment (as publisher or subscriber) and network core. and, the identical device that is connected to network promptly can be used as the publisher to push content to subscriber by routing decision in network, also can be used as the subscriber to receive the content pushed away. intelligent router and channel can be connected by any configuration (as required for specific implementation or wish like that), and provide configuration shown in Figure 2 for the purpose of illustration.
Fig. 3 is the figure of the demonstration network infrastructure of intelligent router and traditional backbone router, and it has illustrated that also the logic of channel connects.Intelligent router in this example adopts existing backbone router in the network (as the Internet or other distributed networks), and this intelligent router actual on backbone router at this be layering.In this example, ISP (ISP) network 58,59 and 60 comprises several backbone routers that are used for traditional route of message or grouping separately.A plurality of intelligent router 61-70 and ISP network 58,59 link to each other with one or more backbone routers in 60.Intelligent router 61-70 also connects by a plurality of link 73-85 (the representative example of link), and also can pass through these link attached terminal subscriber equipmenies.Intelligent router 61-70 can be by one or more supervisors (as entity 71) and one or more VPN(Virtual Private Network) controller (as entity 72) control.ISP network 58,59 and 60 also can be connected to publisher and subscriber's machine (not shown among Fig. 3).Among the ISP58,59 and 60 and the backbone router between the ISP58,59 and 60 can in existing network infrastructure, connect by any traditional approach.
As above Shuo Ming intelligent router 61-70 and link 73-85 can adopt existing network infrastructure to realize, they provide content-based route in network core.Link 73-85 represents that the logic between the intelligent router 61-70 connects, and can adopt for example existing network infrastructure or the realization of other equipment.For example, link can adopt the logic that is called the tunnel to connect to realize.The tunnel comprises hardware, may also have software, be used to realize the network infrastructure of link, and tunnel can be used as parts of a plurality of channels.Thereby channel is by providing at the logic configuration of the content of particular type and providing environment to promote content-based route in the intelligent router for the attribute of channel thus.Though intelligent router can not have to carry out routing decision under the condition of channel, channel improves the efficient of being carried out content-based route by the intelligent router in the network core.
This one exemplary embodiment comprises the use of channel and link.Link is two connections between the router, even if intelligent router is also like this.Channel is the network entity (bigger usually) that comprises set of routers, and they connect with the logic of finishing one-to-many or multi-to-multi by link static state or the dynamic-configuration that connects.Particularly, channel is a top logic entity of describing the channel essential characteristic.Under a channel, may there be many main bodys.Each main body relates to formation the subnet (as multicast tree) of the set of routers that connects.Can by different modes to these subnets based on main body distribute, directed and configuration.Channel can be similar to for example netted network as the set of the all-ones subnet that constitutes at main body and therein.
Fig. 4 is the exemplary hardware component diagram of intelligent router 92, and intelligent router 92 can be corresponding to any other intelligent router of quoting.Network node 90 can comprise the intelligent router 92 that links to each other with traditional backbone router 95.Intelligent router 92 comprises the processor 93 that is connected to storer 94 and auxilary unit 97 (may be for example to use independently Realization by Machine), storer 94 and auxilary unit 97 the two any all can be stored data, also cacheable data, and can store the application of carrying out by processor 93.Auxilary unit 97 provides the non-volatile data storage.According to following software control of explaining, processor 93 provides instruction to backbone router 95, so that it can be based on the routing rule route (forwarding) or not route (abandoning) message or the grouping that are produced by bulk filter and attribute filtrator at order.Realize that though be shown as in the separate processor opertaing device optionally available dedicated integrated circuit (ASIC) is realized intelligent router 92 in backbone router 95, so that can in the hardware that may also have embedded software, provide intelligent routing function.Perhaps, intelligent routing function also the combination of the software and hardware of available one or more routing devices realize.
Fig. 5 is the figure of exemplary publisher and subscriber's machine. publisher's machine 100 or 118 can comprise with lower member: store one or more publishers and use 104 and the storer 102 of agent application 105; The auxiliary storage device 112 of non-volatile data storage is provided; The input equipment 108 that is used for input information or order; Be used for carrying out the processor 114 of the application that is stored in storer 102 or receives from other memory devices; The output device 110 that is used for output information; And the display device 116. that is used to provide visible display message
Subscriber's machine 122 or 140 can comprise with lower member: the storer 124 of storing one or more application 126 and agent application 128; The auxiliary storage device 130 of non-volatile data memory storage is provided; The input equipment 132 that is used for input information or order; Be used for carrying out the processor 134 of the application that is stored in storer 124 or receives from other memory devices; The output device 136 that is used for output information; And the display device 138 that is used to provide visible display message.Perhaps, publisher and subscriber's machine can comprise more or less parts, perhaps different parts, and they can be any configuration.
Publisher's machine 100 links to each other with 140 with subscriber's machine 122 via network 120 (as above-mentioned network) with 118.Network 120 comprises the intelligent router that is used for providing by grouping or message in network core the distribution route of data or content.Though only shown two publishers and subscriber's machine, network 120 is scalable to comprise more publishers and subscriber's machine.Publisher and subscriber's machine can be realized with any processor controlled plant, as include but not limited to following example: server; Personal computer; Notebook computer; Personal digital assistant; Phone; Cellular phone; Pager; Or other equipment.Network 120 with intelligent router can comprise any hard wired devices, wireless device or Wireline of the two or wireless distribution network of having connected.Network 120 also might utilize existing or classical network infrastructure.
Fig. 6 is the figure of the channel manager 150 of explanation intelligent router.In this example, channel manager 150 is to realize with a plurality of servers 152,154 and 156.Each server comprises the local memory storage 158,160 and 162 of himself.Intelligent router 164,166 and 168 is got in touch channel managers so that obtain the information of relevant particular channel.Channel manager can provide also that data continue, fault skip functions or other functions.Therefore this channel manager provides the database comprising in this network Anywhere or the channel services of one group of database, and these databases have been stipulated for example relevant with channel information, data lasting characteristic, publisher and subscriber's user profile and infrastructure information.Infrastructure information can comprise for example sign and the main body of the corresponding tunnel that is connected them, channel and the attribute of channel (title of each attribute and type) of intelligent router.But grouping or message is the relevant information of Bearer Channel also, comprises the sign of fixed attribute and variable attribute.
But the user is download channels information when online.For example, the user can register by utilizing the user name and password.When the login of authenticated, this user can open (activation) channel, and from the information of channel manager retrieval about this channel.The publisher can utilize this information when content distributed, and the subscriber can utilize this information to enter and register order.
Channel manager 152,154 and 156 preferably constitutes one group and carries out the directory service of continuous and reliable channel.One of channel manager will be as the main channel manager, and other are as the alternate channel manager.If main channel manager fault, then the adjacent channel manager of main channel manager becomes new main channel manager with adapter, to keep reliable service.Each intelligent router remains with the address of these channel managers.If intelligent router can not arrive a channel manager, then it will be sought another and come retrieving information.For example, the equipment in the network can adopt order to retrieve channel information, and some examples wherein are provided in the table 3.Perhaps, intelligent router can only have the main channel manager or surpass two channel managers.
Fig. 7 is the figure of the exemplary software part in the stack 180 in subscriber computer or the equipment, and this software part is used for subscriber computer or equipment are linked to each other with the network with intelligent router.Subscriber computer can be used as publisher, subscriber or the two, and it can comprise the above demonstration equipment that identifies.Stack 180 can comprise that one or more users use 182, the user use 182 can be provided for from the user receive order, from publisher's receiving channel information or receive the interior perhaps data that will issue.The user uses 182 application that also can comprise by any other type of subscriber computer or equipment execution.
Stack 180 also can comprise as acting on behalf of 184, event base 186, high-speed cache storehouse 188, channel bank 190, message transmission storehouse 192 and divider storehouse 194. agencies 184 provide and set up network connection or other functions, table 3 provides the order example that is realized by agency 184, it can adopt the order of acting server order or other types. incident or other incidents or the information of the relevant subscriber computer of event base 186 records. and high-speed cache storehouse 188 provides the local cache data. the sign and the information thereof of channel bank 190 memory channels. divider storehouse 194 provides and control path 196, the connection of channel manager 198 and one or more intelligent router 200, and its exemplary functionality that can comprise in the table 4 being identified. message transmits storehouse 192 and provides and being connected of data path 204.
Table 5-9 provide the example that transmits API with the message of C programming language.Table 5 and 6 provides the API example in order to transmission and searching message.Table 7 and 8 provides in order to the API example that sends and retrieval is notified.Table 9 provides in order to send and to retrieve the API example of control messages.These API that provide in this instructions and other API, program and data structure are only as the example that is used to realize specific function or feature, and realization can comprise API or other software entitys with any kind of any programming language.
Figure G038212064D00152
Table 5
In order to send the API example of message
PC_Status PC_msg_init(ChannelHandle ch,PC_UINT chld,PC_UINT userid, PC_TypeInfo*MsgType,PC_UINT msgTypeSize, PC_msg_SessionHandle*sess); PC_Status PC_msg_cleanup(PC_msg_SessionHandle sess); PC_Status PC_msg_closeTransport(PC_msg_SessionHandle sess); PC_Status PC_msg_create(PC_msg_SessionHandle s,PC_msg_DataType dType, PC_msg_MsgHandle*msg); PC_Status PC_msg_delete(PC_msg_MsgHandle msg); PC_Status PC_msg_clone(PC_msg_MsgHandle org,PC_msg_MsgHandle*new); PC_Status PC_msg_setSubject(PC_msg_MsgHandle msg,PC_char*subject); PC_Status PC_msg_setSubjectint(PC_msg_MsgHandle msg, PC_USHORT*subjectArray,PC_UINT arraySize); PC_Status PC_msg_setAttrByNameInt(PC_msg_MSGHandle msg, const PC_char*name,PC_INT value);//for each type PC_Status PC_msg_setAttrByPosInt(PC_msg_MsgHandle msg, PC_UINT attributePos,PC_INT Value);//for each type PC_Status PC_msg_addAttrInt(PC_msg_MsgHandle msg,const PC_char *name, PC_INT value);//for each type PC_Status PC_msg_send(PC_msg_MsgHandle msg);
Table 6
API example in order to searching message
Table 5
typedef struct_attribute{ PC_char *name; PC_TypeCode type; void *value; PC_UINT arraySize; }PC_msg_Attribute; typedef struct_attributeArray{ PC_UINT size; PC_msg_Attribute **attrs; }PC_msg_AttributeArray; PC_Status PC_msg_init(ChannelHandle ch,PC_UINT chld,PC_UINT userid, PC_TypeInfo* MsgType,PC_INT msgTypeSize,PC_msg_SessionHandle *sess); PC_Status PC_msg_cleanup(PC_msg_SessionHandle sess); PC_Status PC_msg_recv(PC_msg_SessionHandle sh,PC_msg_MsgHandle*msg); PC_Status PC_msg_ctrlRecv(PC_msg_SessionHandle sh,PC_msg_MsgHandle *msg); PC_Status PC_msg_getSequenceNum(PC_msg_MsgHandle msg,PC_UINT *seqNo);
Table 5
PC_Status PC_msg_getPublisherInfo(PC_msg_MsgHandle msg, PC_msg_PublicInfo*pub); PC_Status PC_msg_getSubject(PC_msg_MsgHandle msg,PC_char**subject); PC_Status PC_msg_getSubjectInt(PC_msg_MsgHandle msg, PC_USHORT**subjectArray,PC_INT*size); PC_Status PC_msg_getDataType(PC_msg_MsgHandle hMsg, PC_msg_DataTyPe*dataType); PC_Status PC_msg_getAttrByPosInt(PC_msg_MsgHandle msg, PC_UINT pos,PC_INT*val);//for each type PC_Status PC_msg_getAttrValueByNameInt(PC_msg_MsgHandle msg, const PC_char*name,PC_INT*val); PC_Status PC_msg_getAttrTypes(PC_msg_MsgHandle msg,PC_TypeCode*Types, PC_INT*arraySize); PC_Status PC_msg_getAttributeByPos(PC_msg_MsgHandle msg, PC_UINT attributePos,PC_msg_Attribute**attr); PC_Status PC_msg_getAttributeByName(PC_msg_MsgHandle msg, const PC_char*name,PC_msg_Attribute**attr); PC_Status PC_msg_getPredefinedAttributes(PC_msg_MsgHandle msg, PC_msg_AttributeArray**attrs); PC_Status PC_msg_getDiscretionaryAttributes(PC_msg_MsgHandle msg, PC_msg_AttributeArray**attrs); Void PC_msg_freeAttribute(PC_msgAttribute*attr); Void PC_msg_freeAttributeArray(PC_msg_AttributeArray*attrArray);
Table 7
In order to send the API example of notice
Table 5
ChannelHandle ch; PC_msg_MsgHandle msg; PC_msg_SessionHandle sh; PC_msg_TypeInfo Types[2]; Types[0].type=PC_STRING_TYPE; Types[0].name=“company” Types[1].type=PC_INT_TYPE; Types[1].name=“stockvalue” PC_msg_init(ch,chld,userld,Types,2,&sh) PC_msg_create(sh,PC_MSG_DATA,&msg); PC_msg_setAttrValueByNameInt(msg,“stockvalue”,100); PC_msg_setAttrValueByPosString(msg,1,“PreCache”); PC_msg_addAttrString(msg,“comment”,“mycomments”); PC_msg_send(msg); PC_msg_delete(msg); PC_msg_closeTransport(sh); PC_msg_cleanup(sh);
Table 8
API example in order to the retrieval notice
Table 5
ChannelHandle ch; PC_msg_MsgHandle msg: PC_msg_SessionHandle sh; PC_msg_TypeInfo Types[2]; PC_msg_AttributeArray*attrArray; PC_char*company; PC_INT value; Types[0].type=PC_STRING_TYPE; Types[0].name=“company” Types[1].type=PC_INT_TYPE; Types[1].name=“stockvalue” PC_msg_init(ch,chld,userld,Types,2,&sh); While(1){ PC_msg_recv(sh,&msg); PC_msg_getAttrValueByPosString(msg,0,&company); PC_msg_getAttrValueByNameInt(msg,“stockvalue”,&value); PC_msg_getDynamicAttributes(msg,&attrArray); PC_msg_freeAttributeArray(attrArray); PC_msg_delete(msg); } PC_msg_closeTransport(sh); PC_msg_cleanup(sh);
Fig. 8 is the figure as the exemplary software part 210 of those intelligent routers of above sign and intelligent router 92 shown in Figure 4.Software part 210 for example can be stored in the storer 94, so that carried out by the processor in the intelligent router 92 93.Parts 210 comprise and for example filter demons 212, divider 214, route demons 216 and cache manger 218.Filter demons 212 filtration of content-based route is provided, so that handle the content of ordering according to following routing rule of explaining.Divider 214 provides as needs and is used for propagating via path 220 those the communication of control messages of filtrators, and divider also can be the user and single input point is provided and provides channel manager to a secret plug-in unit, thereby has improved the security of network.In other words, the user does not contact directly channel manager in this example, but they can do like this in alternative implementation.Divider 214 utilizes control messages to come to obtain attribute (title-value to) from channel manager.
Route demons 216 provide and the communicating by letter of data path 222, and it can be via traditional backbone router or other routing device as shown in Figure 4 and carries out.Cache manger 218 provides the local cache data comprising on the network node of corresponding intelligent router.Below will further explain the operation of cache manger 218, cache manger 218 provides the distributed cache of data in whole network core.
As the alternate ways of application layer, content-based route can realize in kernel level.Can be independent of the storer in the application layer by the storer of kernel visit.For content-based route is run in the application, need for example to copy message data to application area from the kernel memory district, and applied environment is exchanged to the route applied environment from interior nuclear environment.The two all can cause a large amount of expenses.If replace revising kernel to support content-based route, then can carry out route more quickly, thereby break away from above-mentioned expense.
Owing in kernel, have this feature of content-based route, therefore route demons 216 are according to realizing and can or not directly sending or receive data via data path 222. and demons are the processing that run on application layer, yet it calculates the content-based routing table that will be inserted in the kernel in advance., in case inserted content-based routing table, routing table just can be used for outlet by decision-making by kernel. and same, filtering demons calculates filter table in advance and is inserted in the kernel. in this kernel is realized, the route demons or filter demons all can not be directly and data path mutual.
Fig. 9 is the figure of example of packet configuration 230 that possible comprise the message of subscription content.The grouping or the message that are used for content-based route comprise for example stem part and payload portions.Stem is partly stipulated route or other information.Payload portions specified data or content, or the indication of data or content.Packet configuration 230 comprises IP stem 232, User Datagram Protoco (UDP) (UDP) transmission control protocol (TCP) stem 234, length value 238, one or more body field 240 and one or more attribute 242.Packet configuration 230 has illustrated the basic structure about length value and main body and attribute.The grouping of content-based route also can comprise other or different unit, those that illustrate in the example as following Figure 18 that explains, and the grouping of content-based route can be configured by any means.And these attributes can comprise the free attribute (discretionary attribute) that for example is additional to the message end.These free attributes are the ad hoc information that is for example increased by publisher's (perhaps or even router), can it be transmitted with the message format at the channel appointment.
Publisher and subscriber's methodology
Figure 10 is the process flow diagram that is used for setting up channel and content distributed exemplary publisher's method 250 by the publisher.Method 250 can realize with the software module that for example comprises the agency 106 who is carried out by the processor in publisher's machine 100 114.In method 150, the agency 106 in publisher's machine receives the establishment (step 252) of publisher for the acting server of channel.Acting server provides and the communicating by letter of network.Agency 106 determines the message format (step 253) of channel by interface, and this format information can obtain by other entities from for example channel manager or network.Agency 106 uses the channel information that is received to set up the acting server (step 254) of channel, and it comprises the attribute (step 256) of receive channel and create notice (step 258) on channel.This notice provides content for the equipment of the content on " intercepting " channel.Attribute definition the notice parameter and feature.
Agency's 106 identifiers with content information and channel (ID) are given in the network core or other is used to handle the intelligent router (step 260) Anywhere of order.The publisher fills notification properties (step 261) with suitable value, and the publisher subsequently can be according to the content (step 262) of channel attribute issue about notice.In this example, step 260-262 finishes and makes an announcement, and perhaps, this can be depending on specific implementation needs different or additional step.Therefore, the information that is associated with notice is divided into the sequence of attributes of arranging in order in this example, and each has title, position (since 1), type and value in notice.Perhaps, also can take on a different character according to the specific implementation attribute.Attribute for example can comprise predefine attribute, free attribute or the two.
Intelligent router can utilize the channel id in the grouping to obtain the attribute of respective channels, and it determines structure or form via the grouping of channel transmission.Particularly, each grouping can comprise the marker character that for example is associated with channel id and other header messages (as publisher ID and main body).These marker characters can be used for main body is mapped as numeral in the message format, have shown its example among Figure 18.Lowerinteger value (for example value of 16 bits) can be used as these numerals.Perhaps, the numeral of available any other type or information are shone upon these main bodys.Main body is mapped as numeral has special benefit; For example, the space that it can be saved in the message format also can provide the mode of unified or standard to come the indication of regulation main body in message, makes them to be positioned apace and to be identified.Intelligent router can perhaps, also can utilize numeral by the corresponding main body of the long-range acquisition of order in local Storage Mapping.
The structure that table 10 explanation is used for numeral is mapped to main body adopts round values in this example. and the main body tree parameter indicating main body in the table can comprise one or more body field in classification relationship; For example, the main body tree can comprise a string body field of demarcating with special symbol. the example of main body tree is provided in the table 2. as example, main body tree quotes.nyse comprises main body " quotes " and two terms of son field " nyse ", they are with demarcating as ". " found in URL or other network addresss. and except the URL type string of employing cycle and regulation, can also utilize the mode of any any character that is used to demarcate and symbol to come regulation main body tree.
Therefore, known the packet format or the structure of particular channel, intelligent router just can be located main body and attribute or other information apace in the grouping of content-based route.For example, channel can be defined in the main body that transmits on the channel and the byte location of attribute, and they are easy to by the byte count in the grouping is located.Perhaps, intelligent router can be resolved grouping with location main body and attribute or other information.
Table 11 provides the example of publisher's program of C++ programming language.Table 12 provides the example in order to the API that creates channel.Table 13 provides the example by channel manager (referring to Fig. 6) channel configuration file that safeguard and that channel related information is provided, and it is as shown in the table.Perhaps, for the distribution process load, system can have the global channel manager in order to the IP address that the server that disperses on the geographic position is provided, and wherein these servers are as the local channel manager.
Table 11
Publisher's program example
#include“PC_evn_Notification.h”#include“PC_evn_Proxy.h”using namespace precache::event;int main(int argc,char argv[]){ PC_UINT QuotesRUs=myChannelofInterest;//channel ID PC_UINT myID=myPublisherID;//publisher ID
try{ Proxy p(QuotesRUs,myID); Notification n1(p,“quotes.nyse”); n1.SetPredefinedAttr(“symbol”,“LUS”); n1.SetPredefinedAttr(price”,95.73); p.Publish(n1); Notification n2(p,“quotes.nyse”); n2.SetPredefinedAttr(1,“SNE”);//attribute symbol is in position 1 n2.SetPredefinedAttr(2,80.18); //attribute price is in position 2 p.Publish(n2); } catch(InvalidChannelException icex){ cerr<<“bad channel”<<end1; } catch InvalidSubjectException isex){ } catch(InvalidNotificationException inex){ cerr<<“bad notification”<<end1; } catch(Exception ex){ cerr<<“unknown error”<<end1; }}
Table 12
In order to create the API example of channel
PC_Status rc; rc=PC_chn_create(Provider_info,authinfo,ConfigurationFile,&hChannel); /*the first one primary channel manager*/ rc=PC_chn_addChannelManager(hChannel,“10.0.1.1”); /*secondary channel manager*/ rc=PC_chn_addChannelManager(hChannel,“10.0.2.2”); */ rc=PC_chn_setProperties(hChannel,ConfigurationFile); /* Set the message type(only in fixed part of the message) by using rc=PC_chn_setAttributeType(hChannel,name,position,attributeType). The type information is propagated to all edge routers. */ rc=PC_chn_setAttributeType(hChannel,”Priority”,1,PC_UINT 16_TYPE); rc=PC_chn_setAttributeType(hChannel,”Alarm_Name”,2,PC_STRING_TYPE); rc=PC_chn_setAttributeType(hChannel,”Alarm_Time”,3,PC_INT32_TYPE);
rc=PC_chn_updateAttribute(hChannel); rc=PC_chn_close(hChannel);/*finish channel creation*/
Table 13
The channel configuration file example
#Channel Setup-Read by Channel API,event and messaging #Each channel entry information is tagged with the #type of information e.g. #[ChannelComm 5]for Channel 5 Communication related information #[ChannelSubjects 5]for subject related information in channel 5 #[ChannelAttributes 5]for attribute information in channel 5 # #The Channel id is appended to the tag to indicate #the channel that the information belongs to #e.g.[ChannelComm 5]indicates routing information #for channel 5. # #All the fields need not be set.For example if #running with the central server,the MulticastIP is #not needed. [ChannelComm 5] MulticastIP=225.0.0.1 RouterIP=test3 RouterPort=12345 ProxyPort=9015 ProxyCtrlPort=9016 [ChannelSubjects 5] NumberOfSubjects=2 subject1=#.SUBSCRIPTION mapping1=0.100 subject2=Quotes.Nyse mapping2=102.101 [ChannelAttributes 5] NumberOfAttributes=4 name1=StockId type1=PC_UINT_TYPE name2=Company type2=PC_charARRAY_TYPE name3=Price type3=PC_FLOAT_TYPE name4=Volume type4=PC_UINT_TYPE
Figure 11 is the process flow diagram that is used to receive and handle subscriber's method 264 of order.Method 266 can realize with the software module that for example comprises the agency 128 who is carried out by the processor in subscriber's machine 122 134.In method 264, graphic user interface (GUI) for example shows the indication (step 266) of available channel to the user, and this useful application 126 is finished.The information of identification channel can receive from the channel manager that channel related information for example is provided.The application 126 of available any kind shows the sign of channel with any ad hoc fashion or form.This channel that use to receive the user is selected (step 268), and calls API or at other programs (step 270) of the channel of selecting.API provides subscription options (step 272) corresponding to the channel of selected option to the user.API receives order value (step 274) and this order is sent to agency 128 from the user, so that carry out processing (step 276) as described below.
Subscription parameters can comprise as shown in table 1 the concluding of example.For example, each channel can utilize the API of himself, so that handle order according to the parameter of particular demands or respective channels.These API for example can comprise at receive order based on web's or based on the API of Java, and can adopt the user interface of any kind and handle the information that receives order, and it is passed to agent application.
Figure 12 is the figure from conceptual illustration channel and subscriber's screen or GUI 278 and 284, and it can be used to be used in combination with the method 264 that receives order.Screen 278 comprises that identification can supply a plurality of districts 282 of the available channel of user's selection.When having selected particular channel, but just display screen 284 is used for being received in the order value of distinguishing 286 users.The user can select to distinguish 288 to submit order to or to select district 290 with order cancellation.Screen 278 and 284 can be formatted as for example HTML(Hypertext Markup Language) webpage or any other form.And screen can comprise the district and the content of any configuration, may comprise for example text, picture, picture, shades of colour or multimedia messages, so that by the desirable interface that provides at the user friendly of subscriber and attraction vision.These screens also can comprise provides for example tool bar 280 of conventional browser function.
Table 14 provides the example of subscriber's program with the C++ programming language.
Table 14
Subscriber's program example
Table 14
#include<unistd.h>#include<iostream>#include“PC_evn_Filter.h”#include“PC_evn_Subscription.h”#include“PC_evn_Proxy.h”using namespace precache::event;class SubscriberApp:public Subscriber{private”: PC_UINT notificationCount=0;public: SubscriberApp(){}//default constructor void run() { PC_UINT QuotesRUs=myChannelofInterest;//channel ID PC_UINT myID=myPublisherID; //publisher ID try{ Proxy p(QuotesRUs,myID); FilterFactory*factory=FilterFactory::GetFilterFactory(); Filter* f=factory->CreateFilter(p,“symbol=\”LU\””); PC_INT c1=0; SubscriptionHandle sh=p.Subscribe(“quotes.nyse”,f,this, (void*)&c1); while(notificationCount<2){ //let notify() get some //notifications sleep(5); } p.Unsubscribe(sh); } catch(InvalidChannelException icex){ cerr<<“bad channel”<<end1; } catch(InvalidSubjectException isex){ cerr<<“bad subject”<<end1; }
Table 14
catch(InvalidChannelException ifex){ cerr<<“bad filter”<<end1; } catch(InvalidSubscriptionHandleException ishex){ cerr<<“bas subscription handle”<<end1; } catch(Exception ex){ cerr<<“unknown error”<<end1; } } void Notify(Notification*n,void*c)//this is the callback method { if(*(PC_INT*)c==0){//check the closure object PC_STRING symbol; PC_FLOAT price; n->GetPredefinedAttr(“symbol”,symbol); n->GetPredefinedAttr(“price”,price); cout<<“The price of“<<symbol<<“is”<<price<<end1; notificationCount++; } }};int main(int argc,char argv[]){ SubscriberApp a; a.run(); }
Content-based route and channel by payload inspection
Figure 13 is the process flow diagram by the method 300 of the content-based route of payload inspection.The software module that processor 93 in for example available intelligent router 92 of method 300 is carried out realizes, as with filtering the represented software module of demons 212.Perhaps, the combination of its available ASIC or hardware and software realizes.In the method 300 illustrated content-based route can be in network as in the network core intelligent router Anywhere or carry out in the edge router.
In general sense, content-based route relates to the payload portions of checking grouping, so that determine how to handle grouping. the method for this content-based route can comprise the order tabulation of for example handling by any order (for example adopting filtrator), main body and attributively message being compared with routing rule one by one one by one so that determine the route of this message and in network core, carry out this processing. these rules can comprise rule of handling management router in or any rule that is associated with filtrator. therefore these routing decisions can be distributed in the whole network core. and use as main body that channel is represented is for example determined message format by understanding them at the byte location of particular channel in message or grouping, thereby be provided at quick mode of locating attribute in the message for intelligent router.
In method 300, intelligent router 92 receives message grouping (step 302).It determines the channel id (step 304) of corresponding message according to this grouping, and utilizes channel id to retrieve the attribute (step 306) of this channel.In this example, channel type (determining according to channel id) is determined the position and the data type of attribute in the grouping.Channel attribute can be in this locality storage or such as passing through channel manager telereference.Intelligent router 92 retrievals are corresponding to the filtrator of ordering (step 308).This filtrator comprises one or more attribute tests, normally one group of attribute test at order.Attribute during intelligent router 92 will divide into groups is applied to the attribute test (step 310) of the correspondence in the filtrator description.
If the test of all properties during filtrator is described produces positive result (step 312), mean that then attribute satisfies all attribute tests, intelligent router is carried out the one group of function (step 314) by the rule predetermining that is associated with filtrator.These functions for example can comprise grouping is routed to next link, and/or utilize the content of grouping to carry out by these rules specified some actions or calculating at local router.Can for example in specifying the corresponding data structure of ordering, identify action or next link.When rule was link, it identified next network node usually so that receive grouping, and next network node can comprise equipment or other entities that intelligent router, backbone router, network connect.Perhaps, next link can designated or otherwise be associated with order.
If positive result (step 312) is not produced in the test of all properties during filtrator is described, mean that then attribute does not satisfy all attribute tests, filtrator is declared mismatch (step 315).Intelligent router recursion ground continues above process, up to exhaust filtrator in describing all properties test or run into first negative decision till, and no matter which occurs earlier in them.
In case the treated all properties test to this filtrator, intelligent router just determines whether to exist more multiple filter (step 316), if it turns back to step 308, retrieves the attribute test of next filtrator so that handle this attribute at it.Matching process (step 308,310,312,314,315 and 316) continues always, and till exhausting complete filter set and maybe can determining the result of all actions or routing rule, and no matter which occurs earlier.If any filtrator is not satisfied in grouping, (abandoning) was not forwarded under then it will be drawn.
Intelligent router 92 can pass through filtrator by any particular order sequence.For example, as shown in table 15, intelligent router can be with the filter stores ordered in file or routing table, and linearly sequence by them attribute is applied to filtrator (attribute test).Perhaps, this routing table can comprise link or to the pointer of filtrator.
Be alternatively, content-based route can adopt more than one method in the identical time, and this depends on for example uses and that performance strengthens is heuristic, exchanges as the algorithm based on professional qualification.Selectively the filtrator that is used for handling is encrypted, deciphers, changed and merge on the router of network, in order to carry out the inspection of payload portions at content-based route.For example, can be price>$3.54, not surpass second currency attribute that radix point is later because the publication in the known applications does not comprise with deleting such as the order of price>$3.54122.And foreign currency arrives from the publication abroad sent when for example being positioned at the first router of the U.S., had better convert American currency earlier to for well.
As the alternate ways of linear method, intelligent router 92 can be by other order or be selected filtrator to be used to handle according to the various algorithms that might improve processing speed and efficient. and table 16 provides to be ordered and at the example of the respective links of ordering; In these examples, main body is relevant with particular channel, and can be represented by the routing rule of filtrator for the order of main body. and main body can comprise for example the network address (as the URL(uniform resource locator) (URL) of identification content sources).
Figure G038212064D00321
High-speed cache on the network node
Figure 14 is the process flow diagram of cache method 320. method 320 can realize with the software module that the processor in the intelligent router 92 for example 93 is carried out, represented as cache manger 218. perhaps, its available ASIC or hardware and software be combined in the identical or different physical equipment of corresponding intelligent router in realize. in method 320, intelligent router 92 receives and contains data or content, the message (step 322) of channel id and main body. 92 pairs of data of intelligent router mark (step 324) between the added-time, and in this locality caches to it as storer 94 or auxilary unit 97 (step 326). it is by for example channel id, main body and timestamp come the data (step 328) of indexes cached.
If intelligent router 92 has received requests for data (step 330), its convenient index of reference is according to the data (step 332) of described request retrieval high-speed cache.Intelligent router 92 is sent to the data of high-speed cache on backbone router 95 or other route entities, so that it finally is transferred to requestor or other people.Method 320 can repeatedly be performed in case in response to request continuously cached data and the retrieval cached data.
Figure 15 is the figure of explanation with the cache index (336) of method 320 uses.Cache index (336) receives data (338), and it is stored with timestamp (340).When collecting data, just data are carried out mark every one section delta (Delta) t time, here the time between the deltat expressive notation, for example t 2-t 1Also can adopt other to make the index type of time mark by any way.
The index that table 17 carries out the data of high-speed cache from conceptual illustration.Table 18 is used to store data structure about the connection history of high-speed cache from conceptual illustration.Table 19 provides the example that is used in the data structure of the network node local cache data that contain intelligent router.
Can carry out time mark by any fixing or variable time interval.For example, can carry out high-speed cache and index to data every five minutes.When the order (as #.getCache) that receives in order to the data of the high-speed cache of retrieval fixed time and main body, channel manager 218 utilizes cache index to determine whether it can retrieve data corresponding to the high-speed cache of the request of step 332.
Each main body or channel for example can comprise himself the IP address in multicast tree and one group of intelligent router.Therefore, table 18 is illustrated in the connection history between this router, and it can be stored in the subscriber computer in this locality; If the edge router fault, how the addressable connection history of subscriber computer then determine when edge router is online once more and the upstream router of channel reconnects.For example, it also can be carried out during its disconnection connection and obtain the order of high-speed cache, so that obtain any unsettled subscription content.
Figure G038212064D00331
Figure G038212064D00341
Figure G038212064D00342
Table 19
The example of the cached data structure of intelligent router
Channel node
Struct ChannelNode{ PC_UINT unChanld; PC_AttributeInfo *pAttrinfo; PC_BOOL bPersistent;/*Persistent or RT*/ PC_UINT unTimeout; PC_UINT unTimeGranularity;/* in minutes*/ PC_INT nDirFd; HashTable *pFirstLevelSubjs; }
Master nodes
Struct SubjectNode{ PC_USHORT unSubjectld; PC_UINT unSubjLevel; Void pParent;/*Channel or Subject*/ PC_INT nDirFd; HashTable *pNextLevelSubjs; DataNode *pData; }
Back end
Table 19
Struct DataNode { PC_INT nDirFd; SubjectNode *pParent; LastTimeGrainNode *pLastTGrainData; DLIST *pStoredData;/*list StoredTimeGrainNode*/ PC_Mutex mStoredDataLock; }
The time granularity node of being stored
Struct StoredTimeGrainNode{
PC_UINT unStartTime;/*in minutes*/Chanld; PC_UINT unEndTime;/*in minutes*/ PC_INT nFd;}
Last time granularity node
Struct LastTimeGrainNode{ PC_char pLastTGrainData;/*could be a list*/ PC_UINT unLastTGrainStartTime; PC_BOOL bReadyToStore; PC_Mutex mCachedDataLock;}
These exemplary data structure comprise following information.Master nodes comprises main body identifier, main body level, to the filec descriptor of the pointer of father's channel or master nodes, its catalogue, to the pointer of hash (Hash) table of the next stage master nodes that includes it and to the pointer of data node.Back end comprises the filec descriptor of the pointer of its main body father node, data directory, includes the head and tail of circular buffer for the data structure that is stored in the data on each memory device, impact damper and be used for lock at retrieval and memory period locking data node.The time granularity node of having stored is the node of expression actual data files, and last time granularity node is represented also not store memory device into but the last impact damper safeguarded in storer.The mutual exclusion of the time granularity node that high-speed cache in this example and the utilization of data storage device thread are last prevents the concurrent visit to last time granularity node.
Agent processes
Figure 16 is the process flow diagram that is used to export the Proxy Method 350 of subscribe message. method 350 can be for example with as realize by agency's 128 software modules of representing, wherein this software module is carried out by the processor in user (subscriber) machine 122 134. in method 350, agency 128 receives order (step 352) as utilizing the said method in Figure 11 and 12. and agency 128 is at ordering the character string (step 354) that Boolean expression is specified in establishment, and resolve this character string with any mistake (step 356) in detect ordering if. have mistake, agency 128 can provide error message (step 360) if so that the user corrects a mistake and re-enters order to the user. and order does not comprise mistake (step 358), then act on behalf of 128 expression formula is stored in (step 362) in the data structure, its example below is provided. agency 128 is transformed into conformality (positive form) (step 364) with the expression formula of forming in the data structure that do not wait, and data structure is transformed into corresponding disjunctive normal form (DNF:disjunctive normal form) structure (step 366).Agency 128 also with the DNF structure " with " expression formula is reduced to and only comprises scope filtrator and member test (step 368).
DNF is a kind of well-known canonical form, wherein Boolean expression be expressed as one or more so-called subexpressions that separate " or ", each subexpression as one or more attribute tests " with ".For example, Boolean expression (price>=10 " with " (symbol==" LU " OR symbol==" T ")) have the DNF of being equal to represent ((price>=10 " and with " symbol==" LU ") " or " (price>=10 " and with " symbol==" T ")).
Conversion in the step 364 relates to and (being expressed as in exemplary grammer having " not waiting " operational character!=) expression formula convert " just " shape of equivalence to, this conformality is specified not allowable value of all allowable values rather than.This conversion was carried out before creating DNF, and because router in this example requires the formula in the conformality, therefore this conversion is necessary.An expression formula (price for example!=80) can be exchanged into equivalent positive expression formula (price<=79 or price>=81).
Conversion in the step 368 is carried out after creating DNF, and relate to gained " with " the extra simplification of expression formula, in this example, also carry out its work in order to the simplification router.Particularly, for the test of the multiattribute of identical attribute " with " can under the situation of identity property test, be reduced to or have " the scope filtrator " of the standard of a lower bound, the upper bound, lower bound and a upper bound the two or single value.The scope filtrator of particular types is then encoded according to table 22.
For example, expression formula (price>=10 " with " price<=80 " with " price>=20 " with " price<=100) can be reduced to expression formula (price>=20 and price<=80), this is the example with the scope filtrator in the lower bound and the upper bound.Below be the example of other kinds after simplifying: (price>=20) (having only lower bound); (price<=80) (having only the upper bound); And (price==50) (single value).When creating these scope filtrators, also some subexpressions can be reduced to " very " or " vacation ", in this case, can eliminate subexpression according to the Boolean algebra rule, also can further optimize the coding of the expression formula in the message thus.For example, expression formula (price>=50 " with " price<=20) is reduced to " vacation ", this is because there is not to satisfy the value of this expression formula for " price ".Whole filter expression is being reduced under the particular case of " vacation ", the agency must not create message, has alleviated the unnecessary work of router thus.
If bulk filter comprises asterisk wildcard, act on behalf of 128 alternatively in a manner described below with they conversions (step 370).Perhaps, can change any asterisk wildcard in network rather than on subscriber computer or other equipment.In this one exemplary embodiment, the grammer that is used for bulk filter be adopt asterisk wildcard grammer only arranged, and the grammer of attribute filtrator be adopt Boolean expression grammer only arranged.Perhaps, realization can be adopted grammer different or variable type with the attribute filtrator at bulk filter.
Agency's 128 DNF expression formulas with gained are encoded into message (step 372), and forward this information to intelligent router (step 374).Coding may relate to and converts order to plane message form (flat message format), this means that it has constituted serial data.This transmission can relate on other route entities that will be transmitted to by the routing rule of bulk filter of ordering and the generation of attribute filtrator in one or more intelligent routers or the network.For this propagation, order expression formula and for example can be mapped to legacy packet structures.
The coding of step 372 relates to the message transformat that the order for certain channel is organized as message transmission API, so that on whole channel, propagate. order is for example to carry out message as the notice that has main body #.SUBSCRIPTION in inside to transmit. because the bulk filter field of existing variable number has the attribute test of variable number again, therefore a pair of in this example byte is used to store the bulk filter Field Count, and another is used for memory attribute test number to byte. each order of the field ground of bulk filter the order of defined in order in the source (for example by) to be organized into groups, and each is organized as two byte parts of message. and the asterisk wildcard field can be organized into groups by following mode.
When attribute test was organized into groups, the mode at the end of message with the marshalling of the property value that is similar to notice was organized into groups the test operation number.Before to attribute test and operand marshalling, they are to classify in proper order by the attribute in each disjunct (disjunct) of DNF, and the predefined attribute of opsition dependent sequential testing simultaneously is the free attribute of sequential testing by name subsequently.In addition, in each disjunct, the attribute of scalar value is carried out the regular formula that the dependence test collection is reduced to the scope filtrator of have a boundary value (for a left side or right range of opening or identity property test) or two boundary values (for the closed scope between the different boundary values).For example be encoded into by right about all the other information of test with two bytes of the same sequence of operand; This two byte is located in the message sequence, immediately following after two byte code sequences of bulk filter field.Two bytes are to a kind of form of the Bit String coding that can constitute sequence properties test, except that two bytes to it also can be used for representing the coding of other types.The example of attribute test below is provided.
The coding summary of attribute test is as described in Table 20.The right coding of table 21 explanation two bytes, the coding of the operational character ID of table 22 explanation two byte centerings.
Figure G038212064D00391
Figure G038212064D00401
Figure G038212064D00402
Because whether two bytes of test are applied to predefine or free attribute to the type and the test of the operand that shows test, therefore do not need free attribute or the performed separately marshalling of test number of their type.This scheme supposition is no more than 127 predefine attributes in notice.Perhaps, this design can adopt more bits to come the encoded attributes test.
Though the conventional DNF according to the attribute filtrator of this marshalling comes order and packet attributes test, but for to make the total evaluation of whole attribute filtrator more efficient, infrastructure element (as router) also can select by certain other orders (perhaps according to the local data about the possibility of the success of difference test or failure that dynamically obtains) to assess test.The order id field of message is the value that is produced by the agency, is used for the agency's of unique identification subsequent request the order of edge router, so that revise or cancel this order.Particularly, be to adopt the message format that shows in the example of Figure 18 to propagate,, and order the ID that ID is the order of the previous registration that will revise except main body is #.RESUBSCRIPTION to on-the-fly modifying of the attribute filtrator ordered.Order cancellation is for example to adopt the message format of Figure 18 to propagate in whole order id field, and wherein main body is #.UNSUBSCRIPTION, and orders the ID that ID is the order that will be cancelled of previous registration.
Below provide and be used to illustrate the conversion undertaken by above-mentioned agency and the example of coding.Consider following exemplary attribute filter expression: price>=10 and (symbol==" LU " or (amount>=1000 and amount<=10000)).Figure 19 has shown in the description step 362 by the employed object of agency Figure 39 0 with the unified modeling language (UML) of storage expression formula.This figure explanation is used for the hierarchical relationship that regulation is ordered, and it can comprise variable, steady state value or the two.Object among the figure can be the filtrator class example according to specific implementation.Each SimpleFilter (simple filter) object factory be used to store the property value of information of the corresponding attribute test of relevant filter expression.In the expression formula of Figure 19, " or " filtrator 396 connect two " with " filtrator 392 and 400." with " filtrator 392 comprises and have the simple filter 394 of ordering attribute.Similarly, " or " filtrator 396 comprises simple filter 398, " with " filtrator 400 comprises simple filter 402 and 404.
Example is supposed that attribute price, symbol and amount are the predefine attribute of associated channel, and is supposed that they are defined in respectively in position 0,1 and 2 for this reason.In addition, the attribute type supposition is respectively signless integer (type code 6), character array (type code 12) and signless integer (type code 6).
Consider to comprise the attribute filtrator of next order of above exemplary attribute filter expression as it.Figure 18 has shown order has been organized into message.The sketch 386 on Figure 18 left side has shown actual message content, and the sketch 388 on the right provides the legend of the different piece of message.In this example, the width of each sketch is four bytes.Before marshalling, DNF:(price of equal value>=10 that filtrator has been converted to it and symbol==" LU ") or (price>=10 and amount>=1000 and amount<=10000).
The attribute test coding of 16 bits is shown as bit sequence, and the gap demonstrates and is separated into different parts.Notice that two tests of the price in this example can not merge, because they are disjunct separately, so they are separated to be organized as the scope of Wu Youjie (" right range of opening ").On the other hand because two tests of amount are in identical disjunct, so they can in conjunction with, and thus they are grouped into together test as single " closed scope ".
At last, the feature that also is appreciated that certain field is " hypothesis "; These field values that this means this example are optional, and order general and that organized into groups is irrelevant.In addition, the bulk filter of order at random is chosen as ">", any main body coupling that it and associated channel define.Example shown in above-mentioned and Figure 18 and 19 is only to provide for the purpose of illustration, and marshalling can be used for the order of any other type.And the example that 350 of methods provide marshalling to order can any other mode be organized into groups them.
Figure 17 is the process flow diagram of the Proxy Method 376 of input message.Method 376 can for example realize by agency in the subscriber computer 122 128 and application 126.In method 376, agency 128 receives from the message (step 378) corresponding to the intelligent router of ordering.Agency 128 for example utilizes the channel id in the message to determine corresponding to the channel of ordering (step 380), and calls the API (step 382) of this channel.This API provides data (step 384) for this order with GUI or extended formatting on subscriber computer.The processing of input message can be adopted processing opposite with above-mentioned encoding process, decoded data, and this decoding (Gray code) can be carried out in router or other network entities.
Asterisk wildcard is handled
Figure 20 is the process flow diagram of wildcard method 410.The method explanation is adopted the example of one group of routing rule with the asterisk wildcard in the expression formula of conversion order at filtrator.Method 410 can realize with the software module of for example representing with agency 128 of being carried out by the processor in the subscriber computer 122 134.Perhaps, can be in network by processor 93 at intelligent router 92 or be included under the software control in the corresponding function among the ASIC91 and handle asterisk wildcard.Asterisk wildcard comprises out field (open fields) or variable length, and its example provides in table 21.
In method 410, agency 128 or other entities receive has the order (step 412) of asterisk wildcard. and the modal length of order can be stipulated by the publisher when content distributed, and main body can be carried out pre-service on publisher's machine, so that for example the field of main body is counted and is therefore obtained its field counting (length). act on behalf of the quantity (step 414) of field in the 128 count filtering device operands, and the new regulation of initialization field length=N (filtrator) (step 416). the son field (step 418) that agency's 128 retrievals are ordered, and definite filter operation is counted son field O[i] whether be asterisk wildcard (step 420) if. it is not asterisk wildcard that filter operation is counted son field, then acting on behalf of 128 is increased to conjunctive clause in this rule, field [i]=O[i] (step 422) if. the filter operation number has more son fields (step 424), agency 128 turns back to step 418 to handle other son fields. and parameter " i " expression field, wherein i is the integer of expression Field Count in this example.
After having handled son field, agency 128 determines whether last filter operation is counted son field is ">" (step 426), if then it changes into field length>N-1 (step 428) with length restriction.Asterisk wildcard is handled the symbol that can adopt any kind, and ">" is a such example.In this example, " a.>" can mean a.b, a.c, a.d etc., and all its sub-main bodys on all levels (for example a.b.x, a.c.x, a.b.x.y etc.).Also available other symbols of other realizations for asterisk wildcard.
If necessary, agency 128 propagates other entities (step 430) of giving in intelligent router or the network with converted rule.Therefore, this method repeats by above-mentioned son field so that handle them, and asterisk wildcard is converted to the rule of no asterisk wildcard, does not just comprise the rule of asterisk wildcard.The conversion of asterisk wildcard can appear in the network Anywhere, for example on subscriber's machine or in intelligent router.Therefore, this conversion can be carried out in the entity of a rule that has a conversion that propagates into other entities, and perhaps it also dynamically carries out.
Table 23 provides the summary and the example of these exemplary routing rules that are used to handle asterisk wildcard.These routing rules for example can produce in intelligent router, or produce and propagate in the intelligent router at other network entities.In addition, provide the routing rule in the table 23 only to be used for illustration purpose, also can adopt other routing rules that are used to change asterisk wildcard.
Alerting service
The content-based route of above-mentioned intelligence can be used in many realizations, and one of them relates to digital video surveillance system (DVSS).For example, user's (as law enforcement or release mechanism) can import the order from the video clipping of the video camera of ad-hoc location.Video camera can be caught digital video clipping and be transmitted those montages via the network with content-based route (as the Internet), and it is according to the subscription process video clipping in network core.Therefore, the user receives interested video clipping, and with their filter distribution in whole network.Except that video clipping, the content of any other type that can distribute is to provide the warning of any kind, and these examples comprise security breach, catch fire and fraud detection.
In another example, particular camera can comprise the movable sensor that is associated.Detecting when mobile, movable sensor triggers video camera simultaneously the video clipping of taking is sent to network, and the content-based route of this network using routes to the subscriber with video clipping.
Therefore, above-mentioned content-based route can significantly reduce the burden of network aspect processing and route video clipping.For example, the vision signal that is produced by each charge-coupled device (CCD) (CCD) requires to write four different destinations by digital video recorder (DVR), and they are respectively local memory storage, the overall memory storage that is connected to network, DVSS system and the iDSS management server of DVR management.Consider carrying googol like this according to the necessary network bandwidth of amount, may not satisfy client's capacity requirement by the total amount of the CCD of iDSS management or DVR.Therefore, bandwidth need for example adopt the technology at media or a large amount of subscriber to limit.Figure 21 has shown that the integral body of a surveillance connects the structure view, and wherein each DVR can manage four or 16 CCD.
Architectural overview:Figure 22 has illustrated mainly two improvement based on above-mentioned technology, improving the ability of surveillance shown in Figure 21.As shown in figure 22, first improvement concentrates on how to reduce DVR trunk portfolio, and the equipment that is called the z box is adopted in second improvement, and this equipment provides the function as the content-based route of above-mentioned those functions, to improve data-transmission efficiency.
Reduce the local service amount on the DVR trunk:Poor efficiency in the DATA DISTRIBUTION scheme can cause serious scalability problem.That is, when the image file that DVR generates adopted in the box that is delivered to other based on Transmission Control Protocol, bandwidth consumption is linear increasing with the number of devices that is connected to Local Area Network.In the view of iDSS, identical stream-type video data need send among memory storage (SAN or NAS), iDSS monitor and each DVSS of networking, and wherein DVSS is a remote monitoring software.
A kind of method of head it off is for each DVR, issues out only data stream on LAN, and allows other equipment that are connected to network receive identical data stream as the result who orders.Therefore,, for example there are 3 order for equipment should only need the 10Mbps of network on the then identical network if the output speed of DVR is 10 mbit/(Mbps), but not 30Mbps.
For reaching this purpose, above-mentioned issue-order, event notice API can be used for the DVR box and utilize on any equipment of DVR data (as iDSS, overall memory storage).API can be simple but effectively, it can adopt the IP multicast and recover agreement.API also can follow above issue-order model, makes other realize not needing to change code, as long as utilize the storehouse of the complete version that API is provided just can link again simply.
The acting server of DVSS:Each DVSS can connect a connection (based on TCP) of arriving the DVR box to receive the stream-type video data.Extensibility has proposed identical as mentioned above problem.
With reference to Figure 22, the method can be described as 2 stages, for example in the phase one 1, at LAN side place, can provide acting server (as z box 1) to handle all DVSS output datas (promptly outputing to the data of DVSS) from DVR. this acting server is ordered LAN and is gone up all DVR data, and these data are published to external network (as the Internet) go up .DVSS and order this data. therefore, acting server z box 1 provides subscriber agency's (as acting on behalf of 128) and publisher agency (as acting on behalf of 36), wherein the subscriber agency is used to gather the data from DVR, and the publisher agency is used for these data are gone up issue at whole issue-subscribe (as above-mentioned issue-subscribe).
Even in the stage 1, portfolio also can have greatly minimizing in the LAN side, but portfolio still may be stopped up output link, particularly in some country, when typical asymmetric digital subscriber line (ADSL) has only the uplink speed of 64 kilobits/second (kbps), especially true.
Continuation is with reference to Figure 22, and the stage 2 preferably relates to the connection of renting or obtaining in service provider's machine room and the 2nd z cartridge device (as z box 2) is set there.For example, the z cartridge device can be placed on the Hi-Net trunk.Can set up single connection (tunnel) at client's dwelling house place from this equipment to z box 2.
In the case, act on behalf of (as acting on behalf of 128) at the z box 2 at client's dwelling house place as the subscriber.Z box 2 also can be used as route demons (as route demons 216).As the subscriber agency, z box 2 (in the Hi-Net machine room) is preferably ordered the content of DVR by 1 issue of z box.Between z box 1 and z box 2 is aforesaid issue-subscribe.Therefore, 1 issue of z box is from the video of DVR, and z box 2 is ordered the needed video of DVSS.In this mode, adopt event notice system described here to improve the data delivery efficiency of alerting service.Z box (as z box 1 and z box 2) preferably includes and be used for the module issuing and order as mentioned above on this issue-subscribe.
Digital content delivery
The route of above-mentioned intelligence is content-based to can be used for many realizations, comprises video, music and the software upgrading of route by ordering.For example, the user can order software upgrading (as anti-virus software), and should upgrade automatic route and give them.In other examples, the user can order particular video frequency and music content, and also can make the automatic route of content of order give them.Video and music for example can be used as the streaming digital content and receive.In addition, the distribution process in the network core has alleviated the processing burden on the server that software, video and music content are provided greatly.Therefore, except that other benefits, adopt identical network infrastructure to provide content also can increase the network bandwidth effectively.
Figure 23 has shown a kind of ad hoc structure that is used to realize this route.Should be noted that this structure hypothesis has two levels of cache server C1 and C2, preferably resides in Internet Service Provider's the place that is located at same position.But, when having only the C1 cache server to be available, also can obtain these benefits.Term C1 and C2 cache server are meant the server (referring to Figure 14-15 and associated description) that aforesaid distributed network high-speed cache is provided.This structure example gets as developing in two stages.Phase one hypothesis C2 cache server does not exist, and it adopts the rapid file transfer mechanism between central distribution device 450 and C1 cache server, to reduce server load and to send the big required time of media file.The rapid file transfer mechanism preferably obtains by add route box (470 among Figure 23) between central distribution device 450 and C1 cache server.Subordinate phase is to add the route box on the C2 cache server, and adopts above-mentioned order mechanism between user's (as subscriber computer 460) and C2 cache server.
Adopt the benefit of route box: route box 470 preferably includes the module (as above-mentioned intelligent router 92) that is used to realize above-mentioned content-based route.Adopt route box 470 to realize that above-mentioned content-based route has two main benefits.The speed that file transmits can be brought up to 5 times of traditional file transportation protocol (as FTP or RCP) by transmitting solution with file in the through street of adopting these route boxes 470.Simultaneously, also can go up the realization efficient multicast at wide area network (WAN).When data send to the group of receivers from middle position, thereby this routing solution will make up the speed that Multicast Tunnel reduces server load and network bandwidth requirements quickening content delivery by utilizing the network multicast topological sum on WAN.
Structure:Media content is delivered to the whole content file of .C1 cache server storage the C1 cache server from central distributor. each the C1 cache server for example disk space of terra byte is stored full content. and the content of user's (for example adopting the subscriber computer 460 such as subscriber's machine 122) request C2 cache server, this cache server storage area content .C2 cache server needs for example disk space of hundreds of gigabytes.
File between user and the C2 high-speed cache transmits:When sending the subscription request media file, this request is handled by one of them C2 cache server user 460.If the media file of being asked is then paid this file immediately at C2 server high speed buffer memory.If not at C2 server high speed buffer memory, then send order and the file of being asked is sent to the C2 cache server from the C1 cache server to the C1 cache server.
From the C1 Cache to the C2 Cache in advance with the media data high-speed cache:Order or order model based on the user, can in advance media file be cached to the C2 cache server from the C1 cache server.For example, if it is very interested to be connected to 460 pairs of popular songs of user of C2 cache server, the C1 cache server can be pushed new popular song to the C2 cache server, even if also did like this before this song of 460 requests of the Any user on the C2 cache server.
Implementation phase:Phase one relates to for example installs the rapid file transfer mechanism, has the content route between distributor 450 and all C1 cache server.Do not need the C2 cache server.In the case, all users 460 are directly connected on the C1 Cache.The C1 cache server regularly receives new media file from distributor 450.The structure that has shown the stage 1 among Figure 24.
Notice that in Figure 24, distributor 450 sends new media file once to 470 in route box, by the content-based route technology driving of above-mentioned intelligence.Therefore, reduced the load of distributor 450.Route box 470 adopts the rapid file transfer mechanism that file is sent to each C1 cache server.In the case, do not need extra route box at receiver 460 ends.Perhaps, the server of other types can be used for the C1 cache server.
Referring now to Figure 25, wherein shown the structure of the embodiment of implementation phase 2.The preferred route box 470 that adopts kernel to realize of stages 2 in this example comes route and sends data.The inner nuclear layer solution has also reduced the expense when sending file, and this is because it needs impact damper still less to copy and environment swap time still less (context-switching time).In addition, stages 2 solution has increased the C2 cache server in structure, as shown in figure 25.Equally, as shown in the figure, preferably in service provider network, adopt co on the C2 website, to add route box 470.This has further significantly reduced bandwidth demand, and the bandwidth that has hundreds of times reduces.
As shown in figure 25, the file that transmits between C1 cache server and the C2 cache server transmits via route box 470 that is associated with the C1 cache server and the route box that is associated with the C2 cache server 470.In this mode, adopt these route boxes 470 to realize that through street between C1 and the C2 cache server is by transmitting solution with file.
Service Quality Management
The content-based route of above-mentioned intelligence for example can be used for guaranteeing the route content with specific payment.For example, based on service level agreement (SLA), but ISP or content supplier's bandwidth reserved guarantee service quality (QoS).This can finish efficiently by above-mentioned content-based intelligent route.
Structure:There are at least two kinds of possible configurations that guarantee the QoS in the content delivery.First kind of configuration is that a plurality of links are connected in one or more telephone operators (TELCO) network.Second kind of configuration is only to arrive TELCO network of network link with one.Example as shown in Figure 26 has two-layer route box (R box).R box 1 routes the packet to R box 2 and R box 3 based on the content of packet.R box 2 routes the packets directly in the different network link (as L1-L4) with R box 3, and every link is connected to the TELCO network.For giving advanced level user's bandwidth reserved, the packet that produces for the highest SLA client is routed on the link with high bandwidth (limit priority), to guarantee those clients' specific QoS.
Example as shown in Figure 27, R box 1 routes the packets directly to R box 2 and packet is routed to again in the different communication links with R box 3 with R box 3.R box 2, they all are connected to R box 4.R box 4 subsequently and obtain packet based on the QoS level of every link from four links. subsequently, R box 4 sends to the Internet ISP. by being implemented in the various algorithms that obtain data in every link by network link (as L5) with packet, this system can be every link dynamic bandwidth allocation, so that obtain the QoS management better than the multilink configuration.
Technology:The QoS assurance can influence the technology of the content-based route of above-mentioned intelligence and distribution.Want each grouping of route for content-based routing label.Solution is made the deployment of economically viable QoS for ASP/ content supplier, has other benefits in addition.
Benefit:This solution can offer ISP (as IDC) or content supplier (as medium (MOD) service provider as required), so that be different client's bandwidth reserveds based on client's SLA.
Real-time Alarm:Alarm can have different priority.For example, the safety and the alarm of catching fire can be given limit priority, and new alarm can be given more low priority.Under the situation that does not have the QoS route, the limit priority alarm may not arrive their subscriber with real-time mode, and the alarm of low priority takies with communicating by letter because the network bandwidth of ASP may be had more.This solution has prevented the generation of this problem.And, can alarm be sent to each client based on client's SLA.Premium customers can be paid more expense and have more bandwidth of distributing to them.
Real time data is paid:For some application (as the voice transport service (VoIP) on audio frequency (VOD), MOD or the IP as required), bandwidth has influenced these application quality.This solution can be by coming the route packet by the inspection packet content based on type of message as mentioned above.For the application of some bandwidth sensitive, their packet can be routed to the link with higher priority.Except type of message, packet also can be routed to each subscriber based on their SLA level.Can adopt this solution will be routed to link for higher SLA client's grouping with higher priority.
The renewal of software or anti-virus software also can utilize this solution.For example, the anti-virus file can be routed to link, upgrade to guarantee real-time anti-virus, and the audio driven file can be routed to link with lower priority with limit priority.
Content-based filtration:Adopt the co service and the R box is placed in the TELCO network, system can carry out filtration and dynamic caching outside ISP, as shown in figure 28.Can come filtering data based on above-mentioned information filtering technology at the R of TELCO network internal box, enter the portfolio of IDC/ISP network with minimizing.This can be used to stop black gram to attack, for example dos attack or undelegated data access.Owing to can check the content of request, so the R box can also be the high-speed cache box that is used for static and dynamic web data.The load that the advantage of this solution for example comprises safely, saves the network bandwidth between TELCO and the ISP and save isp server.
Utilize and select multicast to carry out high-speed cache
It is a kind ofly can and retrieve their ability at time storing message after a while that message continues.A large amount of application-specific (as Email) needs the message of overlength to continue for the message that flows through network usually.Under perfect condition, when network did not have fault, always the subscriber of Lian Jieing should continue without any need for surpassing at these application-specific are needed.Yet, in the reality, message may be the time by network because a variety of causes " be lost " for example (1) or fault occurred in network internal or at the user side place or impact damper overflows or (2) user has disconnected that network connects and connection once more a period of time after with showing.
Event notice system described here continues model and is divided into two-stage: short term sustained and long-term continuing.The short term sustained link failure that recovers owing to network congestion or short-term that is exclusively used in causes the grouping of losing.Continue for a long time to be exclusively used in and recover other faults, comprise for example user's connection failure or ISP network failure, subscriber computer fault, longer network failure and/or other faults.The embodiment of these two kinds of schemes below will be described.
Short term sustained: data re-transmission and current control
In data network, the reason of loss of data can be divided into link failure simply and impact damper overflows.For reliable channel is provided to event notice system, need address these problems.For link failure, can implement forward error correction (FEC) scheme to correct some mistakes that cause by link failure.Yet, still be necessary to provide a kind of very serious so that there is not FEC scheme recoverable to recover the scheme of grouping in it in mistake.With regard to impact damper overflows, must prevent that impact damper stream from taking place.Flow control scheme is generally used for data network to prevent this problem.
In short term sustained scheme, transmission control protocol (TCP) tunnel is preferred for hop-by-hop ground connection event router (as intelligent router 12).Reason based on reliable layer 2 tunnel rather than employing reliable transport protocol (as RMTP) is many-sided.In the short term sustained scheme in event notice system, if message does not satisfy filtering rule, then message is preferably filtered out by router.Therefore, receiving router cannot detect losing of grouping by the scheme that adopts similar source sequence number usually.Equally, do not wish to confirm each grouping of their receptions, because will cause confirming excessive (being the ACK amplification) like this for all receiving routers yet.In addition, overflow, implement flow control scheme, so that the neighbor router that router can ask to be transmitted to its message before router uses up buffer space slows down for short term sustained model for avoiding impact damper.These schemes all are contained among the TCP.
The TCP transmission policy:Be used for the TCP of short term sustained scheme, transmission window preferably is used for data transmitter to assist to follow the tracks of the data that retransmitted in this locality.Adopt the purpose of transmission window to be two aspects: at first, transmission window has been guaranteed that transmitter will be known clearly and has correctly been received data by receiver; Secondly, transmission window allows more preferably to utilize channel capacity.In TCP, need to imply or confirm clearly each byte that transmitter sends.Transmission window helps the sender to follow the tracks of the data that send and confirm.Transmission window has also improved channel usage, because the sender can send data in transmission window, and need not stop and waiting for the last grouping that will obtain confirming.In case last data obtains confirming that then window will advance automatically.
The receiver window is also safeguarded in TCP.The receiver window preferably is used for showing the available buffer space at the data sink end.Its available buffer space value is sent to transmitter, makes transmitter know and how to avoid overflowing impact damper at receiver-side.
The congested control of TCP:Because TCP is designed to host-host protocol end to end, so the impact damper that the TCP that is adopted in the short term sustained scheme has also solved in issue-subscribe inside overflows.Be head it off, the TCP that is used for short term sustained model preferably adopts the 3rd window: congestion window.This congestion window is used to make transmitter conjecture along the largest buffer space on the router of path.In brief, if transmitter detect in the grouping lose the congestion window size is reduced, otherwise or then increase.
Long-term continuing: the high-speed cache that continues channel
Channel (as mentioned above) can be lasting or real-time.Real-time Channel transmits usually only useful in real time and without any the data of using specific lasting demand.Lasting channel is stored in the interior data by network of duration frame T.In other words, the continuation of lasting channel is guaranteed during time frame T.This continuation of data obtains by following steps, for example: in the channel duration that each fringe node place cached data continues; Retrieval is from the data to the Cache of user transparent under fault condition; Allow user's retrieve data from Cache clearly; By preventing router failure and between router, setting up reliable tunnel the data stream through network is continued; And prevent channel elements fault in reproduction process.
Therefore, as described below, when the subscriber was lost efficacy and continuing to return once more in the time frame T of channel, continue scheme optimization for a long time and make and utilize the subscriber who continues the channel registration can retrieve in the end " X " of network high speed buffer memory time frame (data early of X<T).
Continue in the scheme long-term, the subscriber uses (as using 126) and preferably can clearly data (as message) be pulled out from the subscriber agency (as acting on behalf of 128) who is associated. as mentioned above, the agency can utilize acting server or realize with it. after agency or acting server have recovered from network failure, the data agency preferably retrieves it and edge router disconnects a period of time that is connected with transparent mode from Cache in. and, allow preferably that the subscriber only may have access to the data of last T time frame long-term continuing in the scheme. for this reason, preferred pin is determined the time to the edge router that is connected on the agency (or acting server). the data of the high-speed cache of retrieval are preferably in the outer not real-time ensuring that transmits of band. the embodiment that continues scheme for a long time mainly to as if lost efficacy also effective once more or lost the existing subscriber who is connected with edge router (as edge router 16). new subscriber may not access the information of high-speed cache.
The continuation definition:Subscriber's time control continuation (utilizing time frame T) is defined as the ability that can retrieve the data of last time frame T from issue-subscribe.If this subscriber has left network, then continue on the channel the subscriber not during any data of being received will in network, keep the time of a period of time frame T (from the reception of data).If this subscriber returns in time frame T, then the subscriber can not lose any data.Yet if the subscriber returns between T and 2T time frame, the subscriber may obliterated data.If the subscriber returns, then preferably do not guarantee that the subscriber visits any previous data after time frame 2T.
More than definition requires to send at the subscriber place issue-subscribe tree of leaf should keep a time frame T after the subscriber disappears, can be wiped out subsequently, so that the new data that will receive in time frame T after the subscriber leaves remain into till its time expiration of time frame T arrival.
Structure:Figure 29 is the block diagram that some parts of issue-subscribe that continuation is provided in high-speed cache are described.As shown in the figure, this network comprises core routing node 548 and edge routing node 545.Each routing node preferably includes intelligent router 92 (showing with the edge routing node) and traditional backbone router (not shown), and as above Fig. 4 is described.Need carry out each intelligent router 92 of high-speed cache and preferably have cache manger 218 with its co continuing channel, as shown in figure 29.Abovely cache manger 218 has been described with reference to Fig. 8.Intelligent router 92 is preferred is responsible for short term sustained property so that data that retrieval has been lost or recover from router failure.Cache manger 218 is responsible for cached data so that the long-term continuation of channel to be provided.Cache manger 218 preferably with this data cache in Cache 540.Cache 540 preferably includes storer and dish (not shown).
Have cache manger 218 and have several advantages, as opposite with intelligent router 92, be responsible for the data of the long-term continuation of high-speed cache, comprise: the intensive operation of the data computing of indexes cached can be carried out on independent processor, therefore the performance of route and filtering treater is not affected, the dish I/O operation that periodically data of high-speed cache is moved to dish also can be carried out on another processor, therefore prevented that circulation is stolen from route with filtering, and avoids edge router must carry out regular I/O.
Also shown agency 128 among Figure 29, it preferably resides in subscriber's machine 122 and (does not show among Figure 29), as shown in Figure 5.Agency 128 is responsible for communicating with cache manger 218, with the data of retrieve data from Cache 540, reception institute's data retrieved and responsible organizing search.As noted above, agency 128 can utilize acting server or realize with it.
Do not having under the condition of fault, yet have only edge nodes 545 to need cache manger 218 to be associated with them., though do not show among Figure 29, because the long-term scheme predictive-failure that continues, each of first order core routing node 548 that is in edge routing node 545 upstreams preferably includes cache manger 218. upstreams that are used to store data. and the first order of upstream core routing node refers to directly be in the routing node of edge routing node 545 upstreams. and issue-subscribe generally includes a plurality of first order upstream core routing node, but Figure 29 has only described a first order upstream core routing node, core routing node 548. as mentioned above, cache manger 218 provides the local cache of data on its residing network node. and therefore, the operation that is arranged in the cache manger 218 on each core routing node (comprising as core routing node 548) provides the distributed cache in the data of whole network core. and this distributed cache provides backup for the high-speed cache at edge routing node 545 places.
Figure 30 is the figure of explanation backup high-speed cache in upstream router (as core routing node 548).Continue in the scheme long-term, each high-speed cache preferably backs up with the Cache of next upstream router.The upstream Cache has been stored whole input data and has been used as the backup of all next stage downstream edge router Caches.Data in the high-speed cache of upstream preferably adopt the mechanism identical with the edge router high-speed cache to store.
Below with reference to Figure 31, preferably provide the functional of four disparate modules of leap for the cache structure that continues channel: cache manger 218-is preferably and is responsible for the server process of storage by the data of intelligent router 92; Router high-speed cache API552-is preferably the storehouse of being responsible for from all chain of command visits of 92 pairs of cache mangers 218 of intelligent router, as creating and destroy high-speed cache; Agency's (or acting server) high-speed cache API554-is preferably and is responsible for from acting on behalf of the storehouse of 128 (or acting on behalf of 128 acting servers) to all chain of command visits of cache manger 218, as retrieve data; And act on behalf of 128 (or acting servers)-preferred being responsible for and collect data retrieved and organize these data from Cache 546.
Figure 31 illustrates the interactive operation of these four modules.Agency 128 and intelligent router 92 the two preferably by high-speed cache API storehouse 552 and 554 accesses cache.High-speed cache API storehouse 552 and 554 is provided for initialization in Cache 546, establishment and destroys high-speed cache, retrieval high-speed cache address for main body, the most important thing is from the API of Cache 546 retrieve data.Route demons 216 preferably send to cache manger 218 by data path with data, and need not pass through high-speed cache API552.High-speed cache API552 and 554 preferably adopts the control path to all control messages (comprising data retrieval).
Cache manger-high-speed cache management:Below with reference to Figure 32, when cache manger 218 has run into new channel, the channel manager 150 of cache manger 218 preferred active information servers (as above-mentioned server 152,154 and/or 156) to obtain this channel.In case cache manger 218 has the address of channel manager 150, the characteristic of channel of cache manger 218 preferred retrieval channel managers 150.Characteristic of channel preference is as comprising: the duration frame (T) of the lasting characteristic of channel main body tree and attribute, channel, channel, the granularity of high-speed cache.Can begin before high-speed cache flows through the data of the channel that is used for given main body at cache manger 218, need in cache manger 218, create the high-speed cache of that main body.Cache manger 218 expectation is created the high-speed cache message and in response to this message establishing main body high-speed cache.Can this main body high-speed cache be destroyed, hang up or recover according to request subsequently.Figure 32 explanation is about the establishment of the high-speed cache of order.
Cache manger-cached data input:The data that cache manger 218 preferred visits in many ways enter intelligent router 92, for example: solution like the IP, under this type of situation, the data on intelligent router 92 input links also are forwarded in the cache manger 218; Mechanism (intercepting all groupings of propagating at this machine-processed high speed cache manager 218 on the network of intelligent router 92) is detected in employing; After filtration, intelligent router 92 is transmitted each message that need propagate to Cache 546 on one or multilink; And cache manger 218 is as the subscriber of all data that enter intelligent router 92.
Cache manger-cached data memory storage:Below with reference to Figure 33, cache manger 218 is index data in many ways in Cache 546 preferably, as with channel id, main body, publisher ID, timestamp, time granularity (G), the main cache attribute, link (in the specific situation when carrying out high-speed cache) or other modes for fault. data can be indexed and be stored in file system or the storer by hierarchical directory structure. and data preferably are cached in the storer, and periodically moved to dish. the high-speed cache in the storer only continues the duration of " G " time granularity. at time G to after date, preferably move in the file under that branch with relevant all data of specific branch in the tree, thereby cover the file the earliest of that branch. (notice that G had better not be embodied as sliding window, but be embodied as absolute window, because each message will be write individually cost height in the dish, and it is higher all G to be write at interval in the dish efficient in single job). Figure 33 is the figure of exemplary index tree. when when continuing cached data, preferably use first index tree among Figure 33.
Continuation is with reference to Figure 33, and the preferred classification of main body is stored, and " a " is the father of main body (as " a.b ", " a.c " " a.d " etc.).Cache manger 218 preferred pins keep the hash table to the Cache 546 of the respective file position that all main bodys is mapped to they.In some cases, when upstream router (as core routing node 548) detected the fault of a downstream router (as edge routing node 545) on its link, Cache 546 may need the data under the storage failure condition.First method that is used to recover is to restart downstream router (this may spend a few minutes).When the downstream router restarts, upstream router will need high-speed cache to be forwarded to the data of that link downward.This high-speed cache (as being called the FM high-speed cache among Figure 33) is index on output link preferably.
Cache manger-collecting garbage:If channel is not continue, then Cache 546 is not stored data, but immediately these data is drawn down.If channel continues, then Cache 546 is stored these data.The duration frame " T " of particular channel is divided into N time granularity, and each size is G.High-speed cache in the storer only continues the duration of G.After cache manger determined to have crossed time interval G, data were moved in the dish.Cache manger 218 will coil data storage in the duration of duration frame period T.
In case the time just will be corresponding to data deletion from dish of time interval G greater than lasting overtime (the T)+upper limit at interval of channel.For more understanding this point, the T that supposes channel is 2 hours.As example, cache manger 218 adopts 15 minutes time granularity G.For data are deleted from dish, the preferred strategy that adopts is to have stored T (2 hours) when the last data of high-speed cache during time interval G (15 minutes), and the whole data of high-speed cache will be dropped 15 minute interim.Therefore, at 15 minutes during at interval beginning the data of high-speed cache before deleted, will store above 2 hours.In this example, each 15 minute interim high-speed cache data are data blocks.If duration frame T is divided into N at interval, then will N+1 data block (1 in N on the dish and the storer) be arranged for each main body in Cache 546 on any point in the time.
Cache manger-cached data retrieval:Below with reference to Figure 34, agency's 128 (or acting servers) preferably activate the data of GetCache (obtaining high-speed cache) operation to obtain to get back to the time " T " from the current time.In Figure 34, the cache manger 218 that agency 128 links active GetCache are operated is designated as the inlet Cache.Because router or act on behalf of 128 fault/disconnections and connect, the inlet high-speed cache cannot have the data that all agencies 128 ask.In this case, the work of inlet high-speed cache is retrieve data from every other high-speed cache (as the upstream Cache), and comparing data also returns to it and acts on behalf of 128.The search operaqtion of a plurality of high-speed caches (A, B and C) of (TS1, TS2 and TS3) is stabbed in Figure 34 explanation from different time.
Cache manger 218 preferably can retrieval time data in the piece of granularity G.Therefore act on behalf of 128 more data that can obtain than its expectation or request.In addition, during retrieval from a plurality of high-speed caches, may exist some to overlap at interval between high-speed cache, therefore act on behalf of 128 duplicates that also will find to exist data, agency 128 should carry out duplicate to the data stream that high-speed cache provided and suppress.
The interactive operation of cache manger and other modules:In event notice system infrastructure, cache manger 218 is preferred mutual with several modules, as shown in figure 35. when cache manger 218 has run into new channel (creating high-speed cache during the time), in case its preferred active information server 550 has had the address of channel manager 150 with channel manager 150. cache mangers 218 that obtain this channel, it preferably obtains the characteristic of channel from channel manager 150. preferably allow some characteristics of administrator module 552 setting/modifications, as the granularity of high-speed cache. also preferably allow administrator module 552 manual creation or erasure channel high-speed cache.
Proxy cache API-application-agency is mutual:Use (as using 126) and preferably activate proxy cache API554 to obtain having the Cache 546 of given main body and filtrator.Preferably, only retrieval is from the data of Cache 546 in application, and condition is that it has ordered these data.Proxy cache API554 is preferably actual to provide two API.
The one API allows order cancellation to use, so that order and retrieval Cache 546 in the identical time.If be provided with " fifo " sign, then create and order and send it to edge nodes 545.Yet, preferably immediately order is placed " time-out " pattern.After agency 128 has received the data of all high-speed caches, agency's 128 data of at first paying all high-speed caches, the last sequence that tracking is not seen in data for the publisher, and the final nucleotide sequence of never being seen by each publisher subsequently begins to pay paused data.
For the 2nd API, suppose to use the data of having ordered some data and having asked high-speed cache.In the case, to use some to this may not be the data of sequence with regard to cached data in delivered.Therefore, " fifo " sign in the case only shows that from Cache 546 data retrieved should be sequence at itself, and needn't sequence in regular data.
Agency 128 is all incidents of retrieval in a bulk of data preferably.After high-speed cache API554 retrieve data, agency 128 preferably need carry out following operation (referring to foregoing) to data before activating the callback operation: make up notice according to notify list; Follow the tracks of each publisher's last sequence number; And filter.When agency 128 pushed all incidents to callback, it preferably sent to callback with DoneCache (finishing high-speed cache) incident, with the data of all high-speed caches that shown delivered.On this aspect, be FIFO if order, and the data of rule are suspended agency's 128 preferred notices of transmitting all time-outs.Act on behalf of 128 notices of paying sequence number last in the data of those its sequence numbers greater than high-speed cache.
Proxy cache API is to the high-speed cache interactive operation:When the subscriber asks the data of high-speed cache, high-speed cache API on agency's 128 ends 554 preferably at first inquires about the history of the edge router that connects agency 128, and adopts the time interval that is provided in GetCache (the obtaining high-speed cache) request to filter out this tabulation.API554 sends GetCache (channel, main body, filtrator, local_pubs, time _ cycle, fifo, router array) message to last edge cache device that it connected subsequently.Cache manger 218 is preferably based on channel id, main body and timestamp and releases data, and data are pushed act on behalf of to 128.When cache manger 218 had been finished the release data, it just sent the DoneCache incident to high-speed cache API and finishes to show that data transmit.
If cache manger 218 is found data in this locality, its facility is located needed data with agency's 128 " router-lists " that provide.In case after cache manger 218 had been collected all data necessary, cache manger 218 is data necessary relatively just, but and before it being transmitted to agency 128, it is carried out duplicate and cause.
High-speed cache connects historical:In order for edge and upstream Cache, preferably to act on behalf of the maintaining cached connection history in 128 places from Cache 546 retrieve data.Because this informational needs strides across agency 128 and closes and destroy, so information should be safeguarded hereof constantly.High-speed cache on the dish connects history preferably by being stored in following file and the form:
The edge cache position:The position of edge cache (as the Cache on edge routing node 546 546) preferably obtains from channel manager/channel bank. and any moment subsequently of this change in when guiding and at the edge cache device (as lose/recovers connections, connect and move) occurs. and divider notification agent 128 is about any variation in the edge cache connection, and these change to be passed to subsequently acts on behalf of in the 128 high-speed cache storehouses. when changing, this variation is continued.
Continue memory storage:The exemplary path of the data of CACHE_ROOT/ channel _ id/ channel-high-speed cache.
Data are preferably stored by following form:
The edge cache number;
Edge cache 1: time interval number, the start time 1: the termination time 1, the start time 2: the termination time 2 ...; And
Edge cache 2: time interval number, the start time 1: the termination time 1, the start time 2: the termination time 2 ...
... have as first up-to-date timestamp in the tabulation.Notice that these two different edge cache devices will never have the interval of overlapping (because agency 128 once only connects an edge cache device).When increasing new project, can check that just old project is to see whether they are still effective; If they are invalid, then they are abandoned.If
Lasting overtime<current time of termination time+channel at interval, then the time interval become invalid.If all in the project are at interval invalid the edge cache project become invalid.Notice that " termination time " is 0 to mean that current at interval is effective.
The upstream requested: the position of upstream high-speed cache (as the Cache on the core routing node 548 546) depends on main body.Each main body has the multicast tree of himself, and therefore this group first order upstream high-speed cache is a main functions.Whenever the user will order main body, and intelligent router 92 preferably returns the tabulation of the upstream high-speed cache that is associated with main body.Equally, any variation of the upstream requested that causes owing to the reorganization in fault or the multicast tree also preferably is delivered to agency 128 by control channel.These variations are filed to continue storage (file) mode in this locality.
Continue memory storage: CACHE_ROOT/ channel _ identifier/main body (not according to level, but by entire body).The exemplary path of the data of-high-speed cache.
Data are preferably stored by following form:
Upstream high-speed cache number;
Upstream high-speed cache 1: time interval number, the start time 1: the termination time 1, the start time 2: the termination time 2 ...;
Upstream high-speed cache 2: time interval number, the start time 1: the termination time 1, the start time 2: the termination time 2 ...
... have equally as first up-to-date timestamp in the tabulation.At interval different with edge cache is, two upstream Caches can have and overlap at interval, because for given main body, agency 128 can have several upstreams Cache.The content of upstream high speed buffer storage file also is the rubbish that adopts the algorithm identical with the edge cache device to collect.
High-speed cache validity during the data retrieval:During agency 128 term of life, it is connected to different edge routers and upstream router.Proxy cache API554 preferably with this connection historical storage in local storage.When agency 128 need be from the last T of Cache 546 retrieve data at interval the time, proxy cache API554 preferably check connect historical, to determine the therefrom high-speed cache of visit data.The following is the algorithm that is preferred for this purpose: 1) the high-speed cache storehouse is surveyed all edge cache and is also checked the interval that falls within the T time frame at interval.If fall within this time frame at interval, just then it is added to the tabulation L of efficient frontier high-speed cache eIn; 2) tabulation L eAdopt the interval start time to classify; 3) at L eIn do not cover by edge cache each at interval, it is slow at a high speed obtaining can covering this all upstream high-speed cache at interval at interval to detect the upstream, and adds the significant interval to tabulation L uIn; With L uAppend on the Le, and adopt the interval start time L eClassification, thus L created.
This algorithm provides the tabulation of high-speed cache L and provides time interval in order to retrieve data at each high-speed cache.This high-speed cache L tabulation subsequently 4) is organized into and obtains high-speed cache message and be sent to cache manger 218.At cache manger 218 ends, cache manger 218 preferred 5) from obtain high-speed cache message, high-speed cache is gone marshalling at interval, and create tabulation L again by the incremental order classification of start time.For tabulation each among the L at interval: cache manger 218 preferred 6) check at last interval with when between the space before whether have the gap, if there is the gap, then to these data of local cache request.If there is no gap, then cache manger 218 preferred 7) with relevant cache session to obtain this data.Cache manger 218 preferred 8) relatively sends to agency 128 from the data of all high-speed caches and with it.
Router high-speed cache API:Router high-speed cache API552 on intelligent router 92 is responsible for activating cache manger 218, to create, destroy, to hang up at special body and the recovery high-speed cache.Router high-speed cache API552 also handles the initial configuration-high-speed cache address is uploaded to the channel manager 150 from intelligent router 92, make agency's 128 sides (proxy cache API554) can in needs, obtain this information, and at the position of other routers retrieval Caches 546 (this uses when intelligent router 92 is wanted the notification agent 128 relevant upstream high-speed caches of given main body, for example after ordering when answering and the main body tree taken place to change).
The use of the high-speed cache that is used to pull out:More than discussing to concentrate on adopts high-speed cache to realize continuing channel and allow to return the subscriber data are pulled out from network.Alternative allows any subscriber (new or return) data of any kind of can be pulled out (as comprise that the subscriber may also not order, but because some other people's order and data in Cache 546) from Cache 546.Difference between this embodiment and the last embodiment is, for returning the subscriber, up to the present data are guaranteed, and the position of data is well-known, and for new subscriber, the position of storage data is unknown.A kind of plain mode of realizing this alternative is issue " FindCache (searching high-speed cache) " request on this channel.The position that " FindCache " request comprises channel id, main body, filtrator, the time interval and acts on behalf of 128, agency 128 seeks the Cache 546 of the data that have the high-speed cache of being asked.All Caches 546 are all intercepted " searching high-speed cache " request.When each Cache 546 receives this request, just Cache 546 is checked corresponding data whether in its data-carrier store, if, just in unicast messages, send its position back to.Agency 128 selects a Cache 546 and activates to such an extent that GetCache operates to obtain data thereon.
Latest data is pulled out:Other embodiment comprise that allowing the subscriber to use the latest data that (as using 126) can obtain the latest news of given main body pulls out feature.This is useful to the data such as stock quotation alarm, for example when the user only wonders that nearest stock price rather than its are historical.
The realization of cache manger:Preferably have three kinds of thread types, for example, in cache manger 218 was realized: data cache thread-data cache thread was preferably from obtaining data to the connection of intelligent router 92, and in storer index and these data of storage; The data storage thread-in case arrived the terminal point in the time interval, the data storage thread just preferably moves to the data of being stored in the storer in the dish, and also stale data is carried out collecting garbage in this is handled; Data retrieval thread-data retrieval thread preferably be responsible for obtaining to the request of the data of high-speed cache and from Cache 546 retrieve data. this three classes thread can be embodied as single-threaded or thread pool. preferably, data cache thread and data storage thread carry out in the time that data is moved in the dish synchronously. deleted data when this between data storage thread and the data retrieval thread can prevent in retrieve data synchronously.
Data structure:More than in table 19 and appended description, provide the data structure that is used for high-speed cache example.
Data storage device:Figure 36 is that explanation is used for the figure at the preferred bibliographic structure of Cache 546 storing data files that are called " Aquila high-speed cache ".Notice that each main body level catalogue preferably has the data directory that one group of sub-main body catalogue and storage are distributed on the data on this main body.For example, the data of issuing on the Fox.Movies on the amusement channel will enter into the file of directory A quilaCache/ amusement/Fox/ film/data, and the data of issuing on main body Fox will enter into the file of directory A quilaCache/ amusement/Fox/ data.In order to improve the speed of data storage device, the TOC level of special body is preferably created when intelligent router 92 request Caches 546 begin high-speed cache to given channel and main body.
Data retrieval:From Cache 546 retrieve data should be efficiently, so that can not stop data storage device and Cache 546 is paused.Data retrieval is retrieve data from dish and storer.The step that data retrieval is taked is preferably as follows: 1) locator data node; 2) locking data node; 3) location needs the timestamp of data retrieved; 3) retrieve data and it is stored in the storer; 4) to the release of data node; 5) before the institute's data retrieved that will store in storer is released among agency 128 clients, it is filtered and arranges in order.
Though described the present invention in conjunction with one exemplary embodiment, will be understood that, for a person skilled in the art, can easily carry out many kinds and revise, and the application is intended to contain its any adaptation or modification.For example, in the case without departing from the scope of the present invention, can adopt the hardware and software of various types of publisher's machines, user or subscriber's machine, channel and their configuration and content-based route and other functions to realize.The present invention should only be limited by claim and its equivalent.

Claims (110)

1. one kind is used in the network routing packets said method comprising the steps of in order to the method for alerting service to be provided:
Reception has the grouping of stem part and payload portions, and described payload portions comprises the information that relates to from the video clipping of particular camera;
The described payload portions of checking described grouping in network core is in order to determine whether and how the subscriber is given in the described grouping of route information from described particular camera; With
Based on the optionally described grouping of route of described inspection.
2. the method for claim 1 is characterized in that, described inspection step comprises whether the information of determining in the described payload portions concludes that to the described content in the structure of map network destination information is complementary with content being concluded associating information.
3. the method for claim 1 is characterized in that, carries out on the router of described inspection step in described network core.
4. the method for claim 1 is characterized in that, described inspection step comprises the information in the described payload portions is applied filtrator.
5. method as claimed in claim 4 also comprises with the router of described filter propagation in the described network, in order to carry out described inspection.
6. the method for claim 1 also comprises the router in the described network is programmed, in order to carry out described reception, inspection and route step.
7. the method for claim 1 is characterized in that, described inspection step comprises the inspection attribute, in order to determine the how described grouping of route.
8. the method for claim 1 is characterized in that, described optionally route step comprises optionally described grouping is routed to the digital video surveillance system.
9. the method for claim 1 is characterized in that, described inspection step is carried out in LAN (Local Area Network).
10. the method for claim 1 is characterized in that, described inspection step is carried out in the ISP position.
11. the method for claim 1 is characterized in that, described particular camera comprises digital video recorder and charge-coupled device (CCD).
12. method as claimed in claim 11 also comprises the digital video recorder that generates the described grouping with described stem part and described payload portions.
13. a method that is used for providing at the network route messages alerting service said method comprising the steps of:
Reception has the message of stem part, at least one main body and at least one attribute, and described attribute relates to the video clipping from particular camera;
From described main body of described message retrieval and described attribute;
Order based on described main body retrieval; And
For determine whether and how the described message of route give the subscriber information from described particular camera, in network core, described attribute is applied to described order.
14. method as claimed in claim 13 is characterized in that, the step of the described order of described retrieval comprises the filtrator of retrieval corresponding to described order.
15. method as claimed in claim 13 also comprises the described message of route if described attribute satisfies described order.
16. method as claimed in claim 13 does not also comprise if described attribute does not satisfy described order abandoning described message.
17. method as claimed in claim 13 is further comprising the steps of:
Retrieval is corresponding to a plurality of filtrators of a plurality of orders;
The a plurality of attributes of retrieval from described message;
Each described attribute is applied on each described filtrator, whether is met to determine any described corresponding order; And
Whether be met the optionally described message of route based on any described order.
18. method as claimed in claim 13 also is included in and carries out described applying step on the router in the described network core.
19. method as claimed in claim 13 is characterized in that, described particular camera comprises digital video recorder and charge-coupled device (CCD).
20. method as claimed in claim 19, also comprise described digital video recorder, generation has the described message of described stem part, described at least one main body and described at least one attribute, and described attribute relates to the video clipping from described particular camera.
21. one kind is used in the network routing packets said method comprising the steps of in order to the method for alerting service to be provided:
Reception has the grouping of stem part and payload portions, and described payload portions comprises the relevant information of incident with the specific warnings service;
In network core, check the described payload portions of described grouping, in order to the information that determines whether and how the described alerting service of subscriber is given in the described grouping of route; And
Based on the optionally described grouping of route of described inspection.
22. one kind is used in the network routing packets in order to the device of alerting service to be provided, described device comprises:
Receiver module is used to receive the grouping with stem part and payload portions, and described payload portions comprises the information that relates to from the video clipping of particular camera;
Check module, be used for checking the described payload portions of described grouping, in order to determine whether and how the subscriber is given in the described grouping of route information from described particular camera in network core; And
Routing module is used for based on the optionally described grouping of route of described inspection.
23. device as claimed in claim 22, it is characterized in that, described inspection module comprises whether the information that is used for determining described payload portions mates the module that content in a kind of structure is concluded information, and wherein said structure concludes that with described content information is with the map network destination or instruct the rule of correspondence of handling in the router to be associated.
24. device as claimed in claim 22 also comprises the module that is used for carrying out described inspection step on the router of described network core.
25. device as claimed in claim 22 is characterized in that, described inspection module comprises and being used for the module of filter application on the information of described payload portions.
26. device as claimed in claim 25 also comprises being used for described filter propagation to the router of described network in order to carry out the module of described inspection.
27. device as claimed in claim 22 also comprises being used for the router of described network is programmed so that carry out the module of described reception, inspection and processing.
28. device as claimed in claim 22 is characterized in that, described inspection module comprises and is used to check that attribute is in order to determine the module of the how described grouping of route.
29. device as claimed in claim 22 is characterized in that, described device is located in the network that comprises digital video recorder.
30. device as claimed in claim 22 is characterized in that, described particular camera comprises digital video recorder and charge-coupled device (CCD).
31. a device that is used for providing at the network route messages alerting service, described device comprises:
Receiver module, it is used to receive the message with stem part, at least one main body and at least one attribute, and described attribute relates to the video clipping from particular camera;
Be used for from the module of described main body of described message retrieval and described attribute;
Module based on described main body retrieval order;
Application module, be used for for determine whether and how the described message of route give the subscriber information from described particular camera, in network core, described attribute is applied to described order.
32. device as claimed in claim 31 is characterized in that, the described module that is used to retrieve described order comprises the module that is used to retrieve corresponding to the filtrator of described order.
33. device as claimed in claim 31 also comprises being used for satisfying under the situation of described order and based on service quality at described attribute guaranteeing the optionally module of the described message of route.
34. device as claimed in claim 31 also is included in described attribute and does not satisfy the module that is used to abandon described message under the situation of all orders.
35. device as claimed in claim 31 also comprises:
Be used to retrieve module corresponding to a plurality of filtrators of a plurality of orders;
Be used for from the module of a plurality of attributes of described message retrieval;
Be used for each described attribute is applied on each described filtrator to determine any described corresponding module that whether is met of ordering; And
Whether be met the optionally module of the described message of route based on any described order.
36. device as claimed in claim 31 also comprises the one or more modules that are used for carrying out described application on the router of described network core.
37. device as claimed in claim 31 is characterized in that, described device is located in the network that comprises digital video recorder.
38. device as claimed in claim 31 is characterized in that, described particular camera comprises digital video recorder and charge-coupled device (CCD).
39. one kind in network routing packets comprise in order to the system of alerting service to be provided:
A plurality of digital video camcorders, wherein said digital video camcorder produce digital video output;
Local Area Network, it connects described digital video camcorder;
The publisher agency, it is connected on the described LAN, issues described digital video output;
Issue-the subscribe that comprises a plurality of intelligent routers, it is connected to described publisher agency; And,
Digital video surveillance system (DVSS), it is exported via the digital video that described issue-subscribe receives described issue, it is characterized in that described intelligent router comprises:
Receiver module is used to receive the grouping with stem part and payload portions, and described payload portions comprises the information that relates to from the video content of one of described a plurality of particular camera;
Check module, be used for checking the described payload portions of described grouping, in order to determine whether and how the subscriber is given in the described grouping of route information from described digital video camcorder in network core; And
Routing module is used for based on the optionally described grouping of route of described inspection.
40. system as claimed in claim 39 also comprises the subscriber agency who is connected to described issue-subscribe, it is ordered described digital video output and pushes the digital video output of described order to described DVSS.
41. one kind is used for the network of digital content distribution to the subscriber, described network comprises:
A plurality of subscriber computers;
The central distribution device of regular distributed digital loop content;
A plurality of cache servers, the digital content of its reception and the described distribution of high-speed cache, wherein said cache server is asked from the user of subscriber computer reception about the digital content of certain described high-speed cache termly, and the digital content of described request is transmitted to described subscriber computer; And,
The route box, it receives described distributed digital loop content as file and adopt the issue-order of content-based route that described digital content file is sent to described a plurality of cache server from described central distribution device, wherein, described digital content file is that publication and described user request are to order, and described route box comprises:
Receiver module is used to receive the grouping with stem part and payload portions, and described payload portions comprises the information that relates to digital content file;
Check module, be used to check the described payload portions of described grouping, in order to determine whether and the how described grouping of route; And
Routing module is used for based on the optionally described grouping of route of described inspection.
42. network as claimed in claim 41, it is characterized in that, described route box is that the first via is by box, described network also comprises the secondary route box with described a plurality of cache server co, the wherein said first via by box with described digital content file be routed to described a plurality of cache servers in the described secondary route box of at least one co.
43. network as claimed in claim 41 is characterized in that, described a plurality of cache servers are located at the Internet Service Provider place.
44. network as claimed in claim 41 is characterized in that, described a plurality of cache servers are first order cache servers, the whole described digital content that its storage is distributed by described central distribution device.
45. network as claimed in claim 44 also comprises second level cache server, the described digital content of a part that its storage is distributed by described central distribution device.
46. network as claimed in claim 45, it is characterized in that, described route box is that the first via is by box, described network also comprises the secondary route box with described second level cache server co, wherein, the described first via adopts the issue-order of content-based route that digital content file is sent to described second level cache server from described first order cache server by box and described secondary route box.
47. network as claimed in claim 46 is characterized in that, described routing module optionally is routed to described second level cache server with described grouping from described first order cache server based on described inspection.
48. network as claimed in claim 45 is characterized in that, is based on by the described digital content of a described part of described second level cache server storage that the history of user's request of reception determines.
49. network as claimed in claim 45, it is characterized in that, described second level cache server directly receives described user request, and will be transmitted to described first order cache server about can't help user's request of digital content of described second level cache server storage.
50. network as claimed in claim 41 is characterized in that, and is described
Routing module optionally is routed to described a plurality of cache server with described grouping from described central distribution device based on described inspection.
51. network as claimed in claim 41 is characterized in that, described central distribution device comprises one or more servers.
52. network as claimed in claim 41 is characterized in that, described digital content comprises video, music and software.
53. one kind is used at network digital content distribution being arrived subscriber's method, said method comprising the steps of:
Distribution is from the digital content of central distribution device;
The described distributed digital loop content of content-based route is to a plurality of cache servers;
The digital content of the described content-based route of high-speed cache on described a plurality of cache servers;
Reception is ordered about the user of the digital content of the high-speed cache of being asked; And,
User's order based on described reception is sent to the user with the digital content of being asked from described a plurality of cache servers, it is characterized in that the step of described content-based route may further comprise the steps:
Reception has the grouping of stem part and payload portions, and described payload portions comprises the information that relates to digital content file;
The described payload portions of checking described grouping is in order to determine whether and the how described grouping of route; And
Optionally described grouping is routed to described a plurality of cache server based on described inspection.
54. method as claimed in claim 53 is characterized in that, described inspection step comprises that whether the information determined in the described payload portions conclude information matches with content being concluded information with the described content in the structure that corresponding destination is associated.
55. method as claimed in claim 53 is characterized in that, described inspection step comprises the information of filter application in described payload portions.
56. method as claimed in claim 55 also comprises with the route box of described filter propagation in the described network, in order to carry out described inspection.
57. method as claimed in claim 53 also comprises the route box in the described network is programmed, to carry out described reception, inspection and route step.
58. method as claimed in claim 53 is characterized in that, described inspection step comprises the inspection attribute, in order to determine the how described grouping of route.
59. method as claimed in claim 53 also comprises and carries out described inspection step route box.
60. method as claimed in claim 53, it is characterized in that, described a plurality of cache server is a first order cache server, and described method also comprises utilizes content-based route that the digital content of high-speed cache is sent to second level cache server.
61. method as claimed in claim 60 comprises that also the digital content of determining described request is whether on the cache server of the described second level.
62. method as claimed in claim 61 also comprises based on described and determines that user's order that will be received is sent to described first order cache server.
63. method as claimed in claim 60 is characterized in that, described transfer step utilizes content-based route that the digital content of high-speed cache is sent to described second level cache server based on the history that the user who is received orders.
64. one kind is used for guaranteeing the method for routing packets together at network and service quality, said method comprising the steps of:
Reception has the grouping of stem part and payload portions;
The described payload portions of checking described grouping in network core is in order to determine whether and the how described grouping of route;
The service quality of determining described grouping guarantees; And
Guarantee the optionally described grouping of route based on described inspection and described service quality.
65., it is characterized in that described inspection step comprises that whether the information of determining described payload portions conclude that with the described content in the structure that the map network destination is associated information is complementary with content being concluded information as the described method of claim 64.
66., also be included in and carry out described inspection step on the router in the described network core as the described method of claim 64.
67., it is characterized in that described inspection step comprises the information matches in filtrator and the described payload portions as the described method of claim 64.
68., also comprise with on the router of described filter propagation in the described network, in order to carry out described inspection as the described method of claim 67.
69., also comprise the router in the described network programmed to carry out described reception, inspection and route step as the described method of claim 64.
70., it is characterized in that described inspection step comprises checks that attribute is in order to determine the how described grouping of route or not leave described grouping fully behind as the described method of claim 64.
71. the method for a route messages in network, described method comprises:
Reception has the message of stem part, at least one main body and at least one attribute;
Described main body of retrieval and described attribute from described message;
Order based on described main body retrieval;
The service quality of determining described message guarantees;
For determining whether and how the described message of route is applied to described order in network core with described attribute; And
Guarantee the optionally described message of route based on described application and described service quality.
72., it is characterized in that the step of the described order of described retrieval comprises the filtrator of retrieval corresponding to described order as the described method of claim 71.
73., also comprise the described message of route if described attribute satisfies described order as the described method of claim 71.
74., also do not comprise if described attribute does not satisfy described order abandoning described message as the described method of claim 71.
75., further comprising the steps of as the described method of claim 71:
Retrieval is corresponding to a plurality of filtrators of a plurality of orders;
The a plurality of attributes of retrieval from described message;
Each described attribute and each described filtrator are mated to determine whether any described corresponding order is met; And
Whether be met the optionally described message of route based on any described order.
76., also be included in and carry out described inspection step on the router in the described network core as the described method of claim 71.
77. one kind guarantees the device of routing packets together with service quality in network, described device comprises:
Be used to receive the module of grouping with stem part and payload portions;
At least one described payload portions that is used for checking described grouping in network core is in order to determine whether and the module of the described grouping of route how;
The module that is used for the service quality assurance of definite described grouping; And
Guarantee the optionally module of the described grouping of route based on the check result that obtains from the above step with by the definite service quality of the above step.
78. as the described device of claim 77, it is characterized in that, described inspection module comprise be used for determining described payload portions information whether with content is concluded information is with the map network destination or instruct the described content in the structure that the rule of correspondence handled in the router is associated to conclude the module that information is complementary.
79., also comprise the module that is used on the router of described network core, carrying out described inspection step as the described device of claim 77.
80., it is characterized in that described inspection module comprises the module that is used for the information matches of filtrator and described payload portions as the described device of claim 77.
81., also comprise being used for described filter propagation to the router of described network in order to carry out the module of described inspection as the described device of claim 80.
82., also comprise being used for the router of described network is programmed to carry out the module of described reception, inspection and processing as the described device of claim 77.
83., it is characterized in that described device is a router as the described device of claim 77.
84. a device that is used at the network route messages, described device comprises:
Be used to receive the module of message with stem part, at least one main body and at least one attribute;
Be used for from the module of described message described main body of retrieval and described attribute;
Be used for module based on described main body retrieval order;
Be used to and determine whether and the how described message of route and the module of in network core, described attribute and described order being mated;
The module that is used for the service quality assurance of definite described grouping; And
Be used under described attribute satisfies the situation of described order, guaranteeing the optionally module of the described message of route based on described service quality.
85., it is characterized in that the described module that is used to retrieve described order comprises the module that is used to retrieve corresponding to the filtrator of described order as the described device of claim 84.
86., also comprise being used for satisfying under the situation of described order and guaranteeing the optionally module of the described message of route based on described service quality at described attribute as the described device of claim 84.
87., also comprise the module that is used under described attribute does not satisfy the situation of any described order of storing on the described router, abandoning described message as the described device of claim 84.
88., also comprise as the described device of claim 84:
Be used to retrieve module corresponding to a plurality of filtrators of a plurality of orders;
Be used for from the module of a plurality of attributes of described message retrieval;
Filtering module is used for each described attribute and each described filtrator are complementary to determine whether any described corresponding order is met; And
Be used for whether being met the optionally module of the described message of route based on any described order.
89., also comprise one or more modules that are used on the router of described network core, carrying out described filtration step as the described device of claim 84.
90., it is characterized in that described device is a router as the described device of claim 84.
91. the method for a route and cached data grouping in multicast network said method comprising the steps of:
Reception has the grouping of stem part and payload portions;
Check that in network core the described payload portions of described grouping is in order to determine whether and how described grouping to be routed to the subscriber;
Based on the optionally described grouping of route of described inspection; And
Local cache is from the data of described grouping in described network core.
92., also be included in and carry out described inspection step on the router as the described method of claim 91.
93., it is characterized in that described inspection step comprises the information of filter application in described payload portions as the described method of claim 91.
94. as the described method of claim 93, also comprise with on the router of described filter propagation in the described network in order to carry out described inspection.
95., also comprise the router in described network programmed to carry out described reception, inspection and route step as the described method of claim 91.
96., it is characterized in that described inspection step comprises checks that attribute is in order to determine the how described grouping of route as the described method of claim 91.
97., also comprise the data of time mark high-speed cache as the described method of claim 91.
98., also comprise the data of indexes cached as the described method of claim 91.
99., further comprising the steps of as the described method of claim 91:
Receive requests for data; And
Whether the data of determining high-speed cache satisfy described request.
100., further comprising the steps of as the described method of claim 91:
Local cache is from the data of described grouping on the edge routing node.
101. it is as the described method of claim 91, further comprising the steps of: the data that after the expiration of time frame T, remove high-speed cache.
102. a network that is used for route and cached data grouping, described network comprises:
The edge routing node, the grouping that it receives and route has stem part and payload portions, described edge routing node comprises:
Intelligent router, the grouping that its route receives, described intelligent router comprises the instruction that is used for following operation:
Check that in network core the described payload portions of described grouping is in order to determine whether and how described grouping to be routed to the subscriber; And
Based on the optionally described grouping of route of described inspection; And
Cache manger, it is operably connected to described intelligent router, and described cache manger comprises the instruction that is used for following operation:
Local cache is from the data of described grouping in local cache;
And
The core routing node of one or more receptions and the described grouping of route.
103., also comprise as the described network of claim 102:
Be operably connected to the agency of described edge routing node, it comprises the instruction that is used for following operation:
Determine the position of the data of high-speed cache;
The data of retrieval high-speed cache from described local cache; And
Handle the cached data of being retrieved.
104., it is characterized in that a core routing node in one or more core routing nodes is positioned at the upstream straight of described edge routing node as the described network of claim 102, described upstream straight core routing node comprises:
The intelligent router of the grouping that route receives, described intelligent router comprises the instruction that is used for following operation:
The described payload portions of checking described grouping in network core is in order to determine how described grouping is routed to the subscriber; And
Based on the optionally described grouping of route of described inspection; And
Cache manger, it is operably connected to described intelligent router, and described cache manger comprises the instruction that is used for following operation:
Local cache is from the data of described grouping in local cache.
105., also comprise: a plurality of channel managers that the characteristic of a plurality of channels is provided as the described network of claim 102.
106., it is characterized in that described cache manger also comprises the instruction of the data that are used for the time mark high-speed cache as the described network of claim 102.
107., it is characterized in that described cache manger also comprises the instruction of the data that are used for indexes cached as the described network of claim 102.
108., it is characterized in that described cache manger also comprises the instruction that is used for following operation as the described network of claim 102:
Receive requests for data; And
Whether the data of determining high-speed cache satisfy described request.
109. the device of a route and cached data grouping in multicast network, described device comprise a plurality of processors and are used for the instruction of following operation:
Reception has the grouping of stem part and payload portions;
Check that in network core the described payload portions of described grouping is in order to determine whether and how described grouping to be routed to the subscriber;
Based on the optionally described grouping of route of described inspection; And
Local cache is from the data of described grouping in described network core.
110. as the described device of claim 109, it is characterized in that, described a plurality of processor comprises the first processor and second processor, and wherein said first processor is carried out described inspection and route instruction optionally, and described second processor is carried out the local cache instruction.
CN038212064A 2002-07-08 2003-07-08 System, method and apparatus for inspecting packet routing via payload in a publish-subscribe network Expired - Lifetime CN1701304B (en)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US39463102P 2002-07-08 2002-07-08
US39464102P 2002-07-08 2002-07-08
US39471402P 2002-07-08 2002-07-08
US39456102P 2002-07-08 2002-07-08
US60/394,714 2002-07-08
US60/394,561 2002-07-08
US60/394,641 2002-07-08
US60/394,631 2002-07-08
PCT/US2003/021338 WO2004006486A2 (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 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
CN038212064A Expired - Lifetime 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 (6)

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

Families Citing this family (29)

* 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 delivery system, PAN registration device, PAN management device, and packet transfer device
MX2007007461A (en) 2004-12-23 2007-08-20 Ericsson Telefon Ab L M Method for informing multiple mobile terminals of an emergency event.
US20070005725A1 (en) * 2005-06-30 2007-01-04 Morris Robert P Method and apparatus for browsing network resources using an asynchronous communications protocol
CN100456753C (en) * 2005-07-13 2009-01-28 华为技术有限公司 Message matching method and system
CN1925482B (en) * 2005-09-01 2013-03-27 中兴通讯股份有限公司 Transforming method and device for human-machine order format
US7894447B2 (en) 2005-12-06 2011-02-22 Lippershy Celestial Llc Digital object routing
US8055897B2 (en) * 2005-12-06 2011-11-08 Lippershy Celestial Llc Digital object title and transmission information
US8194701B2 (en) 2005-12-06 2012-06-05 Lippershy Celestial Llc System and/or method for downstream bidding
US8014389B2 (en) 2005-12-06 2011-09-06 Lippershy Celestial Llc Bidding network
US9686183B2 (en) 2005-12-06 2017-06-20 Zarbaña Digital Fund Llc Digital object routing based on a service request
JP4680068B2 (en) * 2006-01-05 2011-05-11 富士通株式会社 Communication control method, network and network device
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
WO2012002726A2 (en) * 2010-06-30 2012-01-05 한국전자통신연구원 Communication node and communication method
KR20120002424A (en) 2010-06-30 2012-01-05 한국전자통신연구원 Communication node and communication method
CN101969469B (en) 2010-10-25 2013-11-06 华为技术有限公司 Callback processing method and device in telecom capability opening
WO2013081511A1 (en) * 2011-11-29 2013-06-06 Telefonaktiebolaget L M Ericsson (Publ) Flow based packet manipulation congestion control
CN103166851B (en) * 2011-12-16 2016-06-15 中国电信股份有限公司 The transfer processing method of internet information 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
CN104811740B (en) * 2015-04-29 2019-01-08 北京奇艺世纪科技有限公司 A kind of distribution method of video file, system and device
JP6665697B2 (en) 2016-06-09 2020-03-13 富士通株式会社 Past information providing program, past information providing method, and past information providing device
US10824598B2 (en) * 2018-08-07 2020-11-03 Dell Products L.P. Handling file commit and commit-delete operations in an overlay optimizer
JP2020126283A (en) * 2019-01-31 2020-08-20 有二 菱沼 Corporate information transmission/reception system
CN112383582A (en) * 2020-10-09 2021-02-19 爱普(福建)科技有限公司 Management method and system for real-time data of edge layer
WO2022180690A1 (en) * 2021-02-24 2022-09-01 日本電信電話株式会社 Communication system, communication device, data distribution method, and program
JP2022164421A (en) * 2021-04-16 2022-10-27 Jcc株式会社 Broadcast recording apparatus and program therefor
CN114900555A (en) * 2021-12-14 2022-08-12 合肥哈工轩辕智能科技有限公司 Data distribution method and device based on lossless compression algorithm

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
WO1997023096A1 (en) * 1995-12-15 1997-06-26 Bell Communications Research, 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
GB2350758A (en) * 1999-06-04 2000-12-06 Ibm Message broker providing a publish/subscribe sevice and method of processing messages in a publish/subscribe environment
JP3685651B2 (en) * 1999-06-04 2005-08-24 沖電気工業株式会社 Interconnect apparatus 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
GB2354349A (en) * 1999-09-16 2001-03-21 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
AU2003256463A8 (en) 2004-01-23
WO2004006486A2 (en) 2004-01-15
EP1535157A2 (en) 2005-06-01
EP1535157A4 (en) 2010-09-08
CN1701304A (en) 2005-11-23
KR100985237B1 (en) 2010-10-04
KR20050017108A (en) 2005-02-21
JP2010148118A (en) 2010-07-01
AU2003256463A1 (en) 2004-01-23
JP2005532748A (en) 2005-10-27
WO2004006486A3 (en) 2004-05-27

Similar Documents

Publication Publication Date Title
CN1701304B (en) System, method and apparatus for inspecting packet routing via payload in a publish-subscribe network
US7672275B2 (en) Caching with selective multicasting in a publish-subscribe network
US7551629B2 (en) Method and apparatus for propagating content filters for a publish-subscribe network
US7376092B2 (en) Method and apparatus for implementing persistent and reliable message delivery
US7587517B2 (en) Packet routing via payload inspection for quality of service management
US7545805B2 (en) Method and apparatus for content-based routing and filtering at routers using channels
US20030195946A1 (en) Method and apparatus for reliable publishing and subscribing in an unreliable network
US7627603B2 (en) Method and apparatus for implementing query-response interactions in a publish-subscribe network
US20040078450A1 (en) Packet routing via payload inspection for digital content delivery
US8671212B2 (en) Method and system for processing raw financial data streams to produce and distribute structured and validated product offering objects
US7653753B2 (en) Method and apparatus for content-based packet routing using compact filter storage and off-line pre-computation
US20040083305A1 (en) Packet routing via payload inspection for alert services
US6910033B2 (en) Method for storing Boolean functions to enable evaluation, modification, reuse, and delivery over a network
KR100971506B1 (en) Method and apparatus for reliable and efficient content-based routing and query and response in a publish-subscribe network
US20120016968A1 (en) Method and System for Processing Raw Financial Data Streams to Produce and Distribute Structured and Validated Product Offering Data to Subscribing Clients
CN100438398C (en) Packet routing via payload inspection and subscription processing in a publish-subscribe network
US20030165139A1 (en) Packet routing via payload inspection
CN101312457A (en) Method, router, apparatus and the network used in a publish-subscribe network
US7117270B2 (en) Method for sending and receiving a Boolean function over a network
EP1323087A4 (en) System for processing raw financial data to produce validated product offering information to subscribers
US7411954B2 (en) Efficient implementation of wildcard matching on variable-sized fields in content-based routing
TW571531B (en) Packet routing via payload inspection and subscription processing in a publish-subscribe network

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term

Granted publication date: 20100505

CX01 Expiry of patent term