Content routing in digital communications networks
AssigneeSolace Systems, Inc.
InventorsJonathan Bosloy, Duane Pauls, Peter Ashton, Wayne Burwell, Craig Betts, Greg Bertin, David Pochopsky
Life of this patent
Estimating the term…
Abstract
A method of assigning a priority to a document in a content-routed network including a plurality of routers interconnected by links, involves matching rules against the content of a received document to assign a priority, mapping the priority onto an egress link, and mapping the egress links onto the interconnect network between content routers to achieve end-to-end quality of service.
Claims35
A method of routing documents in a content-based network including a plurality of content-based routers wherein one or more of said content-based routers serve as ingress routers, said method comprising:
- a) providing groups of links between pairs of said content-based routers, wherein individual links within each group of links are dedicated to different priorities associated with different qualities of service, and wherein each link is associated with a cost metric, and wherein a given priority is only assigned to a single link of each group and each link of each group is assigned to one or more priorities, and each link is associated with a priority attribute listing the priority(ies) to which the link is dedicated;
- b) receiving at a said ingress router an incoming document from a publisher;
- c) determining the identity of the publisher from said incoming document;
- d) examining content of said incoming document and matching said content against a set of subscriptions to identify interested subscribers for said document;
- e) identifying one or more egress content-based routers associated with said interested subscribers;
- f) storing a plurality of sets of rules defining the assignment of priority to incoming documents at said ingress router in accordance with a publisher identity and expressions contained in said incoming documents, said expressions describing the nature of the documents, wherein different publishers are associated with different sets of rules, and the assigned priority represents a quality of service expressed as a value;
- g) for a particular incoming document matching an expression contained in that document against the stored set of rules associated with the identified publisher for that document to assign a target priority to that document based on the identity of the publisher and the matching expression contained in that document;
- h) tagging said particular incoming document at the ingress router with the target priority determined in step g;
- i) computing a network path from the ingress router to each other content-based router for each priority by:
- 1) for each priority identifying the network path to each content-based router over links of that priority having the lowest cost metric, and
- (2) for content-based routers unreachable under (1) for any particular priority computing the network path using links of the particular priority where available but using links of different priority closest to the particular priority when links of the target priority are unavailable;
- and
- j) routing said incoming documents toward said one or more content-based routers identified in step e over the network path(s) computed in step (i) for the target priority.
A content-based network comprising a plurality of content-based routers,
- wherein pairs of said content-based routers are interconnected by groups of links, and wherein the links within each group are dedicated to different priorities associated with different qualities of service, and wherein each link is associated with a cost metric, and wherein a given priority is only assigned to a single link of each group and each link of each group is assigned to one or more priorities, and each link is associated with a priority attribute listing the priority(ies) to which the link is dedicated;
- wherein one or more of said content-based routers constitute ingress routers;
- wherein said ingress routers are configured to examine content of an incoming document received from a publisher and match the content of said document against a set of subscriptions to determine interested subscribers for said document and to determine an identity of the publisher;
- wherein said ingress routers are configured to identify one or more egress routers associated with the interested subscribers;
- wherein said ingress routers are configured to store a plurality of sets of rules defining the assignment of priority to documents in accordance with a publisher identity and expressions contained in said documents, said expressions describing said documents,
- wherein different publishers are associated with different sets of rules, and the assigned priority represents a quality of service expressed as a value;
- wherein said ingress routers are configured to assign a target priority to a particular incoming document by comparing an expression contained in the particular incoming documents against the stored set of rules associated with the identified publisher for that particular document, said ingress routers being configured to tag said particular incoming document with the assigned target priority;
- and
- wherein said ingress routers are configured to compute a network path to each other content-based router for each priority by:
- 1) for each priority identifying the network path to each content-based router over links of that priority having the lowest cost metric, and
- (2) for content-based routers unreachable under (1) for any particular priority computing the network path using links of the particular priority where available but using links of different priority closest to the particular priority when links of the target priority are unavailable, said content-based routers further being configured to route said incoming document toward one of more of said other content-based routers over the computed network path(s) to said one or more other content-based routers for the target priority.
A content-based router for use as an ingress router in a content routed network, comprising:
- a plurality of egress links for connection to other content-based routers, wherein groups of egress links are assigned to each other content-based router, and wherein individual links within said groups of links are dedicated to different priorities associated with different qualities of service, and wherein a given priority is only assigned to a single link of each group and each link of each group is assigned to one or more priorities, and each link is associated with a priority attribute listing the priority(ies) to which the link is dedicated and a cost metric;
- a memory for storing a plurality of sets of rules defining the assignment of priority to documents in accordance with a publisher identity and expressions contained in said documents describing said documents, wherein different publishers are associated with different sets of rules;
- and
- a processor programmed to identify the publisher of a particular incoming document and compare content of that particular incoming document with a set of subscriptions to determine interested subscribers for that particular document;
- said processor being programmed to compare an expression in the particular incoming document against said stored set of rules associated with the identified publisher for that document and assign a target priority to said incoming document based on said comparison, said processor being programmed to tag said particular incoming document with the assigned target priority, and wherein the target priority represents a quality of service expressed as a value;
- and
- said processor being programmed to compute a network path to each other content-based router for each priority by:
- 1) for each priority identifying the network path to each content-based router over links of that priority having the lowest cost metric, and
- (2) for content-based routers unreachable under (1) for any particular priority computing the network path using links of the particular priority where available but using links of different priority closest to the particular priority when links of the target priority are unavailable, said processor further being programmed to forward said document to another content-based router over the computed network path(s) to that content-based router for the target priority;
- whereby said document can be routed through the network in accordance with its assigned priority to provide quality-of-service control in the network.
Dependencies are inferred from the claim text.