What is claimed is:
1. A communication method for use in a dynamic network comprising the steps of:
allocating network resources to a data stream based upon precedence levels of other data streams desiring the same resources or already utilizing the same resources.
2. The method recited in claim 1 wherein control signaling is used to find routes by:
finding routes from a source to a destination that can be supported at a given precedence level;
notifying upstream nodes if the resources at that node are committed to higher precedence streams; and
notifying upstream nodes that an in-place stream may be interrupted by a new higher precedence stream.
3. The method recited in claim 2 wherein nodes track the control signaling in a routing database and use this retained information to either facilitate a route request or to ensure that low precedence control is not forwarded into portions of the network known to require higher precedence.
4. The method recited in claim 2 wherein uninterrupted transport is assured by the method comprising the steps of:
establishing a primary route for data flow of a given precedence from a first node to a second node of the network using resources available at that precedence or lower;
establishing a secondary route for data flow from the first node to the second node using resources available at that precedence or lower;
upon the occurrence of a failure of the primary route, switching the data flow from the primary route to the secondary route;
establishing a new secondary route for data flow from the first node to the second node using signaling directed only to resources known to not be restricted to higher precedence levels;
repeating the above steps again and again as intra-node links of the network are established and broken.
5. The method recited in claim 4 wherein:
if a higher precedence flow is switched to a secondary route used by a lower precedence flow, the lower precedence flow is switched to its secondary route.
6. The method recited in claim 4 wherein secondary routes at each precedence level are monitored for quality by:
sending low rate probe messages through the secondary routes;
if a fault is detected in a secondary route, establishing a new secondary route, even though the new secondary route might never be used; and
if a secondary route is preempted by a flow with higher precedence, a new secondary route is established for the lower precedence flow.
7. The method recited in claim 4 wherein control messages are exchanged at a low rate between software agents at nodes of the network and are forwarded along active and secondary routes.
8. The method recited in claim 7 wherein the control messages are handled at the same precedence level as their flows.
9. The method recited in claim 7 wherein the agents respond to requests from other agents for node status, arbitrate resource allocation according to precedence, assess route failure probability, initiate restoral switchover, and maintain a local routing database.
10. The method recited in claim 1 wherein network resource allocation is based upon link bandwidth.
11. The method recited in claim 1 wherein network resource allocation is based upon priority position in a queue.
12. The method recited in claim 1 wherein network resource allocation is based upon priority position in a central processing unit.
13. The method recited in claim 1 wherein network resource allocation is based upon memory capacity for processing
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A computer-implemented method, comprising:
receiving data in a memory of a computer, wherein the data includes one or more terms;
accessing, with the computer, a database of sponsored content, wherein each item of sponsored content in the database is associated with one or more phrases, wherein the phrases are used to access the sponsored content;
determining, with a processor of the computer that accesses the data in the memory, whether any of the terms is ambiguous such that the term, when combined with different other terms, produces different phrases which access substantially different sets of items of sponsored content in the database including identifying a first phrase that is a combination of an ambiguous term and one or more terms of the different other terms and identifying a second phrase that is a combination of the ambiguous term and one or more other terms of the different other terms wherein the first phrase and the second phrase access different sets of items of the sponsored content wherein determining a term is ambiguous includes
identifying a plurality of phrases that contain or are related to the term;
for each pair of phrases, determining a measure of similarity including determining a number of co-occurrences of the pair of phrases in a set of documents and a number of single occurrences of a phrase in the pair of phrases in the documents;
determining that the pair of phrases are similar when the measure of similarity is above a threshold; and
determining a term is ambiguous when two or more phrases of the plurality of phrases are dissimilar;
for an ambiguous term, replacing the term in the data in the memory wherein replacing the term comprises replacing the term by selecting either the first or the second phrase both of which include the ambiguous term; and
selecting, from the database, sponsored content using the selected one of either the first or the second phrase.
2. The computer-implemented method of claim 1, wherein replacing further comprises determining whether the first or second phrases are present in a source from which the received terms were derived.
3. The computer-implemented method of claim 2, wherein replacing includes using a phrase similarity matrix, the phrase similarity matrix including, for each ambiguous term, one or more phrases associated with the ambiguous term.
4. The computer-implemented method of claim 1, wherein replacing includes using a phrase similarity matrix, the phrase similarity matrix including, for each ambiguous term, one or more phrases associated with the ambiguous term.
5. The computer-implemented method of claim 1, wherein the sponsored content comprises advertisements.
6. The computer-implemented method of claim 1, wherein replacing comprises removing the ambiguous term from the one or more terms.
7. A computer-implemented method, comprising
receiving a request for content including a plurality of unigrams, the unigrams being used as a criteria in determining one or more relevant content items from an inventory of content items to be presented responsive to the request;
for each of the plurality of unigrams:
using a processor of a computer system, identifying phrases containing the unigram, wherein each item of sponsored content in the inventory is associated with one or more phrases;
measuring, using the processor of the computer system, similarity between phrases for each pair of phrases containing the unigram based at least in part on a number of documents that include the pair of phrases including determining a count of a number of occurrences of each phrase in a pair that occur in a respective document wherein measuring further includes,
for each pair of phrases, determining a measure of similarity including determining a number of co-occurrences of the pair of phrases in a set of documents and a number of single occurrences of a phrase in the pair of phrases in the documents;
determining that the pair of phrases are similar when the measure of similarity is above a threshold; and
determining a unigram is ambiguous when two or more phrases of the plurality of phrases are dissimilar; and
using the measured similarity to mark, in storage accessed by the computer system, at least some of the plurality of unigrams as ambiguous.
8. The computer-implemented method of claim 7, wherein measuring similarity between a pair of phrases includes:
identifying documents associated with each phrase;
determining a number of documents shared by both of the phrases; and
computing a ratio between a function of the number of shared documents to a function of a total number of documents associated with both of the phrases.
9. The computer-implemented method of claim 8, wherein the documents are identified using uniform resource locators.
10. The computer-implemented method of claim 7, wherein the phrases are phrases associated with sponsored content in a database.
11. The computer-implemented method of claim 10, further comprising selecting an item of sponsored content from the database using the phrases.
12. The computer-implemented method of claim 11, further comprising:
receiving terms for selecting an item of sponsored content;
replacing at least one term that is a unigram marked as ambiguous.
13. The computer-implemented method of claim 12, wherein replacing comprises replacing the term that is a unigram marked as ambiguous with one or more phrases containing the unigram; and further comprising:
selecting an item of sponsored content using the one or more phrases that replaced the ambiguous unigram.
14. The computer-implemented method of claim 12, wherein replacing comprises removing the unigram marked as ambiguous from the terms.
15. A computer system for selecting sponsored content associated with content accessed over a computer network, comprising:
a selection engine connected to the computer network, including a database including sponsored content associated with phrases;
a plurality of user devices connected to the computer network;
the selection engine being configured to receive one or more terms, to determine whether any of the terms is ambiguous such that the term, when combined with different other terms, produces different phrases which are associated with substantially different sets of items of sponsored content in the database, including to identify a first phrase that is a combination of an ambiguous term and one or more terms of the different other terms and identifying a second phrase that is a combination of the ambiguous term and one or more other terms of the different other terms and wherein the first phrase and the second phrase access different sets of items of the sponsored content, wherein determining a term is ambiguous includes
identifying a plurality of phrases that contain or are related to the term;
for each pair of phrases, determining a measure of similarity including determining a number of co-occurrences of the pair of phrases in a set of documents and a number of single occurrences of a phrase in the pair of phrases in the documents;
determining that the pair of phrases are similar when the measure of similarity is above a threshold; and
determining a term is ambiguous when two or more phrases of the plurality of phrases are dissimilar; and, for an ambiguous term, to replace the ambiguous term including selecting either the first or the second phrase both of which include the ambiguous term;
the selection engine being further configured to select an item of sponsored content from the database using the selected one or the first or second phrase.
16. The computer system of claim 15, wherein replacing further comprises determining whether the first or second phrase are present in a source from which the received terms were derived.
17. The computer system of claim 16, wherein replacing further includes using a phrase similarity matrix, the phrase similarity matrix including, for each ambiguous term, one or more phrases associated with the ambiguous term.
18. The computer system of claim 15, wherein replacing includes using a phrase similarity matrix, the phrase similarity matrix including, for each ambiguous term, one or more phrases associated with the ambiguous term.
19. The computer system of claim 15, wherein the phrases are phrases associated with advertisements in a database.
20. The computer system of claim 19, further comprising selecting an item of sponsored content from the database using the first or second phase.
21. The computer system of claim 15, wherein the ambiguous term is removed from the one or more terms.