US6091724A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Routing messages within a network using the data content of the message
Assignee: International Business Machines Corp
•
Filing: 1997-11-20
•
Granted: 2000-07-18
•
Expires: 2017-11-20
Abstract
Abstract A router within a network uses the data of a message received at the router to determine on which links out of the router the message needs to be forwarded. The router does not need any destination information from the message, and thus, the message need not include any destination information. Instead, the router uses an annotated search data structure to determine which links correspond to consumers interested in receiving the message. The message is sent only over those links.
Inventors
- 👤 Tushar Deepak Chandra
- 👤 Robert Evan Strom
- 👤 Daniel Charles Sturman
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-31 19:14
CPC Classifications
H; H04; H04L; H04L12/00; H04L12/02; H04L12/16; H04L12/18; H04L12/1854
Claims Analysis
Total Claims: 40
Claim 1
Independent Claim
131 words
A method of determining zero or more links to be used in routing a message, said method comprising: receiving a message; and determining zero or more links over which said message is to be sent, said determining comprising searching a data structure using at least a portion of a data content of said message to determine said zero or more links, wherein said data structure comprises a plurality of tests performable on said at least a portion of said data content, and said searching comprises following one or more paths of said data structure, but less than all paths of said data structure, based upon results of one or more tests of said plurality of tests performed to determine said zero or more links to be used in routing said message.
Claim 2
Independent Claim
131 words
A method of determining zero or more links to be used in routing a message, said method comprising: receiving a message; and determining zero or more links over which said message is to be sent, said determining comprising searching a data structure using at least a portion of a data content of said message to determine said zero or more links, wherein said data structure comprises a plurality of tests performable on said at least a portion of said data content, and said searching comprises following one or more paths of said data structure, but less than all paths of said data structure, based upon results of one or more tests of said plurality of tests performed to determine said zero or more links to be used in routing said message.
Claim 3
Dependent Claim
25 words
The method of claim 1, wherein said searching comprises traversing said data structure until a mask provides an indication of said zero or more links.
Claim 4
Dependent Claim
61 words
The method of claim 2, wherein said mask comprises a plurality of values the positions of which correspond to a plurality of links, and wherein said indication indicates: zero links when said plurality of values includes a plurality of first predefined values; and one or more links when one or more of said plurality of values includes a second predefined value.
Claim 5
Dependent Claim
28 words
The method of claim 3, wherein said plurality of first predefined values includes a plurality of no indications and wherein said second predefined value includes a yes indication.
Claim 6
Dependent Claim
61 words
The method of claim 2, wherein said traversing comprises: comparing said mask to a vector associated with a node of said data structure; refining said mask when said comparing indicates refinement; proceeding to another node of said data structure, when said mask is to be further refined; and repeating said comparing, refining and proceeding until said mask needs no further refinement.
Claim 7
Dependent Claim
18 words
The method of claim 5, wherein said proceeding comprises using said data content to determine the another node.
Claim 8
Dependent Claim
62 words
The method of claim 5, wherein said mask comprises a plurality of values the positions of which correspond to a plurality of links of a router that received said message, and wherein said refining comprises updating at least one of said plurality of values in said mask based on at least one value of at least one corresponding position in said vector.
Claim 9
Dependent Claim
40 words
The method of claim 7, wherein said updating comprises changing at least one value of the mask from a maybe indication to a yes indication or a no indication, depending on the value in the corresponding position of the vector.
Claim 10
Dependent Claim
48 words
The method of claim 5, further comprising annotating a plurality of nodes of said data structure with a plurality of vectors, each of said plurality of vectors indicating at its corresponding node whether any links may be used to reach one or more clients interested in said message.
Claim 11
Dependent Claim
20 words
The method of claim 1, wherein said data structure comprises a plurality of subscriptions received from a plurality of clients.
Claim 12
Dependent Claim
18 words
The method of claim 1, wherein said receiving and said determining are by a router of a network.
Claim 13
Independent Claim
147 words
A method of routing messages within a network, said method comprising: receiving a message; and routing said message to a subset of clients of said network, said subset comprising less than all of said clients of said network, wherein said routing is irrespective of any destination information that may be within said message, and wherein said routing comprises searching a data structure using at least a portion of a data content of said message to determine said subset of clients, wherein said data structure comprises a plurality of tests performable on said at least a portion of said data content, and said searching comprises following one or more paths of said data structure, but less than all paths of said data structure, based upon results of one or more tests of said plurality of tests performed to determine said subset of clients to be routed said message.
Claim 14
Independent Claim
147 words
A method of routing messages within a network, said method comprising: receiving a message; and routing said message to a subset of clients of said network, said subset comprising less than all of said clients of said network, wherein said routing is irrespective of any destination information that may be within said message, and wherein said routing comprises searching a data structure using at least a portion of a data content of said message to determine said subset of clients, wherein said data structure comprises a plurality of tests performable on said at least a portion of said data content, and said searching comprises following one or more paths of said data structure, but less than all paths of said data structure, based upon results of one or more tests of said plurality of tests performed to determine said subset of clients to be routed said message.
Claim 15
Dependent Claim
155 words
At least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform a method of determining zero or more links to be used in routing a message, said method comprising: receiving a message; and determining zero or more links over which said message is to be sent, said determining comprising searching a data structure using at least a portion of a data content of said message to determine said zero or more links, wherein said data structure comprises a plurality of tests performable on said at least a portion of said data content, and said searching comprises following one or more paths of said data structure, but less than all paths of said data structure, based upon results of one or more tests of said plurality of tests performed to determine said zero or more links to be used in routing said message.
Claim 16
Dependent Claim
155 words
At least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform a method of determining zero or more links to be used in routing a message, said method comprising: receiving a message; and determining zero or more links over which said message is to be sent, said determining comprising searching a data structure using at least a portion of a data content of said message to determine said zero or more links, wherein said data structure comprises a plurality of tests performable on said at least a portion of said data content, and said searching comprises following one or more paths of said data structure, but less than all paths of said data structure, based upon results of one or more tests of said plurality of tests performed to determine said zero or more links to be used in routing said message.
Claim 17
Dependent Claim
30 words
The at least one program storage device of claim 13, wherein said searching comprises traversing said data structure until a mask provides an indication of said zero or more links.
Claim 18
Dependent Claim
66 words
The at least one program storage device of claim 14, wherein said mask comprises a plurality of values the positions of which correspond to a plurality of links, and wherein said indication indicates: zero links when said plurality of values includes a plurality of first predefined values; and one or more links when one or more of said plurality of values includes a second predefined value.
Claim 19
Dependent Claim
33 words
The at least one program storage device of claim 15, wherein said plurality of first predefined values includes a plurality of no indications and wherein said second predefined value includes a yes indication.
Claim 20
Dependent Claim
66 words
The at least one program storage device of claim 14, wherein said traversing comprises: comparing said mask to a vector associated with a node of said data structure; refining said mask when said comparing indicates refinement; proceeding to another node of said data structure, when said mask is to be further refined; and repeating said comparing, refining and proceeding until said mask needs no further refinement.
Claim 21
Dependent Claim
23 words
The at least one program storage device of claim 17, wherein said proceeding comprises using said data content to determine the another node.
Claim 22
Dependent Claim
67 words
The at least one program storage device of claim 17, wherein said mask comprises a plurality of values the positions of which correspond to a plurality of links of a router that received said message, and wherein said refining comprises updating at least one of said plurality of values in said mask based on at least one value of at least one corresponding position in said vector.
Claim 23
Dependent Claim
45 words
The at least one program storage device of claim 19, wherein said updating comprises changing at least one value of the mask from a maybe indication to a yes indication or a no indication, depending on the value in the corresponding position of the vector.
Claim 24
Dependent Claim
56 words
The at least one program storage device of claim 17, wherein said method further comprises annotating a plurality of nodes of said data structure with a plurality of vectors, each of said plurality of vectors indicating at its corresponding node whether any links may be used to reach one or more clients interested in said message.
Claim 25
Dependent Claim
25 words
The at least one program storage device of claim 13, wherein said data structure comprises a plurality of subscriptions received from a plurality of clients.
Claim 26
Dependent Claim
171 words
At least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform a method of routing messages within a network, said method comprising: receiving a message; and routing said message to a subset of clients of said network, said subset comprising less than all of said clients of said network, wherein said routing is irrespective of any destination information that may be within said message, and wherein said routing comprises searching a data structure using at least a portion of a data content of said message to determine said subset of clients, wherein said data structure comprises a plurality of tests performable on said at least a portion of said data content, and said searching comprises following one or more paths of said data structure, but less than all paths of said data structure, based upon results of one or more tests of said plurality of tests performed to determine said subset of clients to be routed said message.
Claim 27
Dependent Claim
171 words
At least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform a method of routing messages within a network, said method comprising: receiving a message; and routing said message to a subset of clients of said network, said subset comprising less than all of said clients of said network, wherein said routing is irrespective of any destination information that may be within said message, and wherein said routing comprises searching a data structure using at least a portion of a data content of said message to determine said subset of clients, wherein said data structure comprises a plurality of tests performable on said at least a portion of said data content, and said searching comprises following one or more paths of said data structure, but less than all paths of said data structure, based upon results of one or more tests of said plurality of tests performed to determine said subset of clients to be routed said message.
Claim 28
Dependent Claim
220 words
An article of manufacture, comprising: at least one computer usable medium having computer readable program code means embodied therein for causing the determining of zero or more links to be used in routing a message, the computer readable program code means in said article of manufacture comprising: computer readable program code means for causing a computer to receive a message; and computer readable program code means for causing a computer to determine zero or more links over which said message is to be sent, said computer readable program code means for causing a computer to determine comprising computer readable program code means for causing a computer to search a data structure using at least a portion of a data content of said message to determine said zero or more links, wherein said data structure comprises a plurality of tests performable on said at least a portion of said data content, and said computer readable program code means for causing a computer to search comprises computer readable program code means for causing a computer to follow one or more oaths of said data structure, but less than all paths of said data structure, based upon results of one or more tests of said plurality of tests performed to determine said zero or more links to be used in routing said message.
Claim 29
Dependent Claim
220 words
An article of manufacture, comprising: at least one computer usable medium having computer readable program code means embodied therein for causing the determining of zero or more links to be used in routing a message, the computer readable program code means in said article of manufacture comprising: computer readable program code means for causing a computer to receive a message; and computer readable program code means for causing a computer to determine zero or more links over which said message is to be sent, said computer readable program code means for causing a computer to determine comprising computer readable program code means for causing a computer to search a data structure using at least a portion of a data content of said message to determine said zero or more links, wherein said data structure comprises a plurality of tests performable on said at least a portion of said data content, and said computer readable program code means for causing a computer to search comprises computer readable program code means for causing a computer to follow one or more oaths of said data structure, but less than all paths of said data structure, based upon results of one or more tests of said plurality of tests performed to determine said zero or more links to be used in routing said message.
Claim 30
Dependent Claim
47 words
The article of manufacture of claim 24, wherein said computer readable program code means for causing a computer to search comprises computer readable program code means for causing a computer to traverse said data structure until a mask provides an indication of said zero or more links.
Claim 31
Dependent Claim
112 words
The article of manufacture of claim 25, wherein said computer readable program code means for causing a computer to traverse comprises: computer readable program code means for causing a computer to compare said mask to a vector associated with a node of said data structure; computer readable program code means for causing a computer to refine said mask when said comparing indicates refinement; computer readable program code means for causing a computer to proceed to another node of said data structure, when said mask is to be further refined; and computer readable program code means for causing a computer to repeat comparing, refining and proceeding until said mask needs no further refinement.
Claim 32
Dependent Claim
84 words
The article of manufacture of claim 26, wherein said mask comprises a plurality of values the positions of which correspond to a plurality of links of a router that received said message, and wherein said computer readable program code means for causing a computer to refine comprises computer readable program code means for causing a computer to update at least one of said plurality of values in said mask based on at least one value of at least one corresponding position in said vector.
Claim 33
Dependent Claim
235 words
An article of manufacture, comprising: at least one computer usable medium having computer readable program code means embodied therein for causing the routing of messages within a network, the computer readable program code means in said article of manufacture comprising: computer readable program code means for causing a computer to receive a message; and computer readable program code means for causing a computer to route said message to a subset of clients of said network, said subset comprising less than all of said clients of said network, wherein routing is irrespective of any destination information that may be within said message, and wherein said computer readable program code means for causing a computer to route comprises computer readable program code means for causing a computer to search a data structure using at least a portion of a data content of said message to determine said subset of clients, wherein said data structure comprises a plurality of tests performable on said at least a portion of said data content, and said computer readable program code means for causing a computer to search comprises computer readable program code means for causing a computer to follow one or more paths of said data structure, but less than all paths of said data structure, based upon results of one or more tests of said plurality of tests performed to determine said subset of clients to be routed said message.
Claim 34
Dependent Claim
235 words
An article of manufacture, comprising: at least one computer usable medium having computer readable program code means embodied therein for causing the routing of messages within a network, the computer readable program code means in said article of manufacture comprising: computer readable program code means for causing a computer to receive a message; and computer readable program code means for causing a computer to route said message to a subset of clients of said network, said subset comprising less than all of said clients of said network, wherein routing is irrespective of any destination information that may be within said message, and wherein said computer readable program code means for causing a computer to route comprises computer readable program code means for causing a computer to search a data structure using at least a portion of a data content of said message to determine said subset of clients, wherein said data structure comprises a plurality of tests performable on said at least a portion of said data content, and said computer readable program code means for causing a computer to search comprises computer readable program code means for causing a computer to follow one or more paths of said data structure, but less than all paths of said data structure, based upon results of one or more tests of said plurality of tests performed to determine said subset of clients to be routed said message.
Claim 35
Independent Claim
142 words
A system of determining zero or more links to be used in routing a message, said system comprising: a router being adapted to receive a message; and said router being further adapted to determine zero or more links over which said message is to be sent, the determining comprising searching a data structure using at least a portion of a data content of said message to determine said zero or more links, wherein said data structure comprises a plurality of tests performable on said at least a portion of said data content, and said searching comprises following one or more paths of said data structure, but less than all paths of said data structure, based upon results of one or more tests of said plurality of tests performed to determine said zero or more links to be used in routing said message.
Claim 36
Independent Claim
142 words
A system of determining zero or more links to be used in routing a message, said system comprising: a router being adapted to receive a message; and said router being further adapted to determine zero or more links over which said message is to be sent, the determining comprising searching a data structure using at least a portion of a data content of said message to determine said zero or more links, wherein said data structure comprises a plurality of tests performable on said at least a portion of said data content, and said searching comprises following one or more paths of said data structure, but less than all paths of said data structure, based upon results of one or more tests of said plurality of tests performed to determine said zero or more links to be used in routing said message.
Claim 37
Dependent Claim
28 words
The system of claim 29, wherein said router is further adapted to traverse said data structure until a mask provides an indication of said zero or more links.
Claim 38
Dependent Claim
64 words
The system of claim 30, wherein said router is further adapted to: compare said mask to a vector associated with a node of said data structure; refine said mask when the comparing indicates refinement; proceed to another node of said data structure, when said mask is to be further refined; and repeat the comparing, refining and proceeding until said mask needs no further refinement.
Claim 39
Independent Claim
156 words
A system of routing messages within a network, said system comprising: means for receiving a message; and means for routing said message to a subset of clients of said network, said subset comprising less than all of said clients of said network, wherein said routing is irrespective of any destination information that may be within said message, and wherein said means for routing comprising means for searching a data structure using at least a portion of a data content of said message to determine said zero or more links, wherein said data structure comprises a plurality of tests performable on said at least a portion of said data content, and said searching comprises following one or more paths of said data structure, but less than all paths of said data structure, based upon results of one or more tests of said plurality of tests performed to determine said subset of clients to be routed said message.
Claim 40
Independent Claim
156 words
A system of routing messages within a network, said system comprising: means for receiving a message; and means for routing said message to a subset of clients of said network, said subset comprising less than all of said clients of said network, wherein said routing is irrespective of any destination information that may be within said message, and wherein said means for routing comprising means for searching a data structure using at least a portion of a data content of said message to determine said zero or more links, wherein said data structure comprises a plurality of tests performable on said at least a portion of said data content, and said searching comprises following one or more paths of said data structure, but less than all paths of said data structure, based upon results of one or more tests of said plurality of tests performed to determine said subset of clients to be routed said message.
References Cited (Backward Citations)
US5557798A
Cited
US5257369A
Cited
US5522046A
Cited
US5581764A
Cited
US5325362A
Cited
US5555244A
Cited
US5604867A
Cited
US5517562A
Cited
US5570366A
Cited
US5870605A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2003-07-18 | 2004-01-17 | 2004-07-18 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2007-07-18 | 2008-01-17 | 2008-07-18 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2011-07-18 | 2012-01-17 | 2012-07-18 | $7700.00 | Window Closed / Lapsed |