← Back to Patent Explorer
US5920697A Expired / Lapsed US ⏱️ 0.0 years remaining

Method of automatic updating and use of routing information by programmable and manual routing information configuration based on least lost routing

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1996-07-11
•
Granted: 1999-07-06
•
Expires: 2016-07-11
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract In an electronic messaging system which has multiple sites, and in which each site is defined by a unique address space and has connectivity to at least one other site, messages are sent by receiving at a first site message routing information from a second site. The message routing information defines routes from the second site to one or more of the plurality of sites. The received message routing information is assimilated into previously known routing information to generate an updated accumulation of routing information. The updated accumulation of routing information is used to route messages to one or more of the plurality of sites. The updated accumulation of routing information may be replicated to still other sites in the messaging system, which in turn assimilate the information into their respective collections of known routing information. This process of receiving, assimilating and replicating may be repeated until each of the sites has substantially the same updated accumulation of routing information.

Inventors

  • 👤 Steven Paul Masters
  • 👤 Eric Neil Lockard

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-26 19:51
CPC Classifications
H; H04; H04L; H04L45/00; H04L45/02

Claims Analysis

Total Claims: 49
Claim 1
Independent Claim 323 words
In an electronic messaging system that includes a plurality of sites each identified by a unique address space and having connectivity to at least one other site in the plurality of sites, and each site having one or more servers to which one or more client systems are connected, a method of automatically discovering changes in routing information generated at any one or more of the servers at any one or more of the plurality of sites, and thereafter automatically replicating the updated routing information that is available for use by every other server at every other site in the system, the method comprising the steps of: generating at one or more servers of a first site a repository of information which defines a set of remote sites, potential routes for reaching said remote sites, and at least one component that serves as a connector for facilitating intersite communication by configuring and managing connections across different sites; periodically replicating at said one or more servers of said first site the repository of information at said one or more servers in order to facilitate updated repository information that has been changed, added to or deleted from said repository; and periodically automatically replicating said updated repository information to every other server at every other site by: broadcasting said updated repository information from at least one server at said first site to at least one server at a second site that has a direct communication path with said at least one server at said first site from which said updated repository information was broadcast; and automatically broadcasting said updated repository information from at least one server at said second site to at least one server at a third site that has a direct communication path with said at least one server at said second site from which said updated repository information was broadcast, and so on, until said updated repository information is replicated throughout all sites.
Claim 2
Dependent Claim 323 words
In an electronic messaging system that includes a plurality of sites each identified by a unique address space and having connectivity to at least one other site in the plurality of sites, and each site having one or more servers to which one or more client systems are connected, a method of automatically discovering changes in routing information generated at any one or more of the servers at any one or more of the plurality of sites, and thereafter automatically replicating the updated routing information that is available for use by every other server at every other site in the system, the method comprising the steps of: generating at one or more servers of a first site a repository of information which defines a set of remote sites, potential routes for reaching said remote sites, and at least one component that serves as a connector for facilitating intersite communication by configuring and managing connections across different sites; periodically replicating at said one or more servers of said first site the repository of information at said one or more servers in order to facilitate updated repository information that has been changed, added to or deleted from said repository; and periodically automatically replicating said updated repository information to every other server at every other site by: broadcasting said updated repository information from at least one server at said first site to at least one server at a second site that has a direct communication path with said at least one server at said first site from which said updated repository information was broadcast; and automatically broadcasting said updated repository information from at least one server at said second site to at least one server at a third site that has a direct communication path with said at least one server at said second site from which said updated repository information was broadcast, and so on, until said updated repository information is replicated throughout all sites.
Claim 3
Dependent Claim 50 words
The method of claim 1 in which the step of periodically automatically replicating said updated repository information to every other server at every other site results in an accumulation, at every other site, of updated routing information specifying routes by which messages may be routed between servers in different sites.
Claim 4
Dependent Claim 56 words
The method of claim 1 in which the step of periodically automatically replicating said updated repository information to every other server at every other site further comprises the step of assimilating the updated repository information into repository information previously stored at the second site to generate an updated accumulation of routing information at the second site.
Claim 5
Dependent Claim 27 words
The method of claim 3 in which the step of assimilating ignores a subset of said updated repository information in generating said updated accumulation of routing information.
Claim 6
Dependent Claim 23 words
The method of claim 4 in which the ignored subset of said updated repository information comprises previously known and unchanged message routing information.
Claim 7
Dependent Claim 30 words
The method of claim 4 in which the ignored subset of said updated repository information comprises message routing information that would cause a message to loop back to its origin.
Claim 8
Dependent Claim 69 words
The method of claim 3 in which the step of assimilating comprises regenerating a routing table at the second site to include message routing information included in said updated repository information, the routing table comprising at least one destination site, one or more routes to reach the at least one destination site from the second site, and a total cost for using each of the one or more routes.
Claim 9
Dependent Claim 73 words
The method of claim 7 in which said one or more routes each comprises a plurality of connectors specified in a sequential order, each of said plurality of connectors providing direct connectivity between two sites, such that a message being sent via one of said one or more routes is passed sequentially from one connector to the next connector in the route until the message reaches the destination site associated with the route.
Claim 10
Dependent Claim 29 words
The method of claim 8 in which each connector in a route has an individual cost which collectively represent the total cost to send a message by that route.
Claim 11
Dependent Claim 35 words
The method of claim 9 in which the total cost for a route is automatically increased by a predetermined amount for each intermediate site in that route between the first site and the destination site.
Claim 12
Dependent Claim 25 words
The method of claim 9 in which the individual cost associated with a particular connector represents a predetermined measure of resources for using that connector.
Claim 13
Dependent Claim 51 words
The method of claim 11 in which the predetermined measure of resources comprises at least one of (i) monetary expense incurred by using the connector; (ii) amount of bandwidth used to send a message by that connector; or (iii) measure of processing power used to send a message by that connector.
Claim 14
Dependent Claim 67 words
The method of claim 1 in which the updated repository information comprises a plurality of alternative message routes for reaching one or more destination sites and a plurality of associated total costs for using the respective routes, and wherein the method further comprises the step of choosing one of the plurality of alternative routes by which to send a message on the basis of its associated cost.
Claim 15
Dependent Claim 25 words
The method of claim 13 in which the step of choosing comprises the step of selecting a message route having a lowest associated total cost.
Claim 16
Dependent Claim 44 words
The method of claim 13 in which, when the message route having the lowest associated total cost is unavailable, the step of choosing comprises the step of selecting a message route having an associated total cost that is greater than the lowest total cost.
Claim 17
Dependent Claim 260 words
In an electronic messaging system that includes a plurality of sites each identified by a unique address space and having connectivity to at least one other site in the plurality of sites, and each site having one or more servers to which one or more client systems are connected, a method of automatically discovering changes in routing information generated at any one or more of the servers at any one or more of the plurality of sites, and thereafter automatically replicating the updated routing information that is available for use by every other server at every other site in the system, the method comprising the steps of: maintaining a first routing table at a first site of the electronic messaging system and a second routing table at a second site of the electronic messaging system, each routing table identifying at least one destination site and a plurality of routes for reaching the at least one destination site; changing the configuration of the first site, such that the first and second routine tables are out of date with the changed configuration; updating the first routing table so as to be current with the changed configuration; and automatically replicating message routing information contained in the first routing table to other sites, such that each routing table is current with the changed configuration, including the steps of: automatically broadcasting the message routing information from said first site to said second site; and assimilating at the second site, the message routing information into the second routing table to generate an updated second routing table.
Claim 18
Dependent Claim 260 words
In an electronic messaging system that includes a plurality of sites each identified by a unique address space and having connectivity to at least one other site in the plurality of sites, and each site having one or more servers to which one or more client systems are connected, a method of automatically discovering changes in routing information generated at any one or more of the servers at any one or more of the plurality of sites, and thereafter automatically replicating the updated routing information that is available for use by every other server at every other site in the system, the method comprising the steps of: maintaining a first routing table at a first site of the electronic messaging system and a second routing table at a second site of the electronic messaging system, each routing table identifying at least one destination site and a plurality of routes for reaching the at least one destination site; changing the configuration of the first site, such that the first and second routine tables are out of date with the changed configuration; updating the first routing table so as to be current with the changed configuration; and automatically replicating message routing information contained in the first routing table to other sites, such that each routing table is current with the changed configuration, including the steps of: automatically broadcasting the message routing information from said first site to said second site; and assimilating at the second site, the message routing information into the second routing table to generate an updated second routing table.
Claim 19
Dependent Claim 68 words
The method of claim 16 in which each of the plurality of routes comprises a one or more connectors specified in a sequential order, each connector providing direct connectivity between two sites, such that a message being sent via one of said plurality of routes is passed sequentially from one connector to the next connector in the route until the message reaches the at least one destination site.
Claim 20
Dependent Claim 29 words
The method of claim 17 in which each connector in a route has an individual cost which collectively represent the total cost to send a message by that route.
Claim 21
Dependent Claim 35 words
The method of claim 18 in which the total cost for a route is automatically increased by a predetermined amount for each intermediate site in that route between an originating site and the destination site.
Claim 22
Dependent Claim 18 words
The method of claim 18 in which the individual costs of connectors are preassigned by a human operator.
Claim 23
Dependent Claim 24 words
The method of claim 16 in which each routing table further identifies a total cost associated with each of the respective plurality of routes.
Claim 24
Dependent Claim 39 words
The method of claim 21 further comprising the steps of: choosing one of the plurality of routes based on its associated total cost; and sending a message from an originating site to the destination site using the chosen route.
Claim 25
Dependent Claim 63 words
The method of claim 22 in which said one of the plurality of routes traverses at least one intermediate site between the originating site and the destination site, the method further comprising the step of departing, at the intermediate site, from the route designated at the originating site by choosing a different route over which the message will travel to the destination site.
Claim 26
Dependent Claim 26 words
The method of claim 23 in which the step of departing is performed when a connector in the route designated at the originating site is unavailable.
Claim 27
Dependent Claim 37 words
The method of claim 23 in which the step of departing is performed when a connector having a lower cost than a connector in the route designated at the originating site is available at the intermediate site.
Claim 28
Dependent Claim 25 words
The method of claim 22 in which the step of choosing comprises the step of selecting a message route having a lowest associated total cost.
Claim 29
Dependent Claim 45 words
The method of claim 26 in which, when the message route having the lowest associated total cost is unavailable, the step of choosing further comprises the step of selecting a message route having an associated total cost that is greater than the lowest total cost.
Claim 30
Dependent Claim 26 words
The method of claim 22 further comprising the step of re-routing the message after it leaves an originating site but before it reaches the destination site.
Claim 31
Dependent Claim 44 words
The method of claim 28 in which the step of re-routing permits the electronic messaging system to dynamically adapt to changes in network topology to send the message over a route having a lowest total cost between the originating site and the destination site.
Claim 32
Dependent Claim 61 words
The method of claim 16 in which the step of automatically replicating message routing information further comprises the steps of: automatically broadcasting the message routing information from said second site to a third site of said electronic messaging system; and assimilating the message routing information into a third routing table at the third site to generate an updated third routing table.
Claim 33
Dependent Claim 184 words
A computer program product for implementing a method of automatically updating message routing information at a first site in an electronic messaging system when a change in the configuration of a remote site in the electronic messaging system is made, the electronic messaging system including a plurality of sites, each site having a unique address space and having connectivity to at least one other site in the plurality of sites, the computer program product comprising: a computer-readable medium having computer-executable instructions for performing the steps of: receiving, at the first site, message routing information broadcast by a second site in the electronic messaging system after a change in the configuration of the second site or another site has been made the message routing information defining routes by which messages can be sent between sites in the electronic messaging system: generating an updated accumulation of message routing information at the first site by assimilating the received message routing information into an accumulation of previously known message routing information; and replicating the updated accumulation of message routing information to other sites in the electronic messaging system.
Claim 34
Dependent Claim 184 words
A computer program product for implementing a method of automatically updating message routing information at a first site in an electronic messaging system when a change in the configuration of a remote site in the electronic messaging system is made, the electronic messaging system including a plurality of sites, each site having a unique address space and having connectivity to at least one other site in the plurality of sites, the computer program product comprising: a computer-readable medium having computer-executable instructions for performing the steps of: receiving, at the first site, message routing information broadcast by a second site in the electronic messaging system after a change in the configuration of the second site or another site has been made the message routing information defining routes by which messages can be sent between sites in the electronic messaging system: generating an updated accumulation of message routing information at the first site by assimilating the received message routing information into an accumulation of previously known message routing information; and replicating the updated accumulation of message routing information to other sites in the electronic messaging system.
Claim 35
Dependent Claim 57 words
The computer program product of claim 31 in which the message routing information comprises a total cost for each of the routes from the second site to one or more of the plurality of sites, the total costs representing a predetermined measure of resources that is expended when the respective routes are used to send a message.
Claim 36
Dependent Claim 47 words
The computer program product of claim 32 in which the computer-readable medium further has computer-executable instructions for performing the step of using the total costs to route messages to one or more of the plurality of sites by choosing the route have the lowest associated total cost.
Claim 37
Dependent Claim 233 words
A computer program product for implementing a method of automatically updating message routing information in a plurality of sites in an electronic messaging system when the configuration of a first site in the electronic messaging system is changed, each of the plurality of sites having a unique address space and having connectivity to at least one other site in the plurality of sites, the computer program product comprising: a computer-readable medium having computer-executable instructions for performing the steps of: maintaining a first routing table at the first site, a second routing table also being maintained at a second site in the electronic messaging system, each routing table identifying at least one destination site, a plurality of routes for reaching the at least one destination site, and a total cost associated with each of the respective plurality of routes; in response to the configuration of the first site being changed, automatically updating the first routing table so as to be current with the changed configuration; and automatically replicating message routing information contained in the updated first routing table to the second site such that each routing table can be made current with the changed configuration, including the step of: broadcasting the message routing information to the second site, thereby making the message routing information available to be assimilated into a second routing table at the second site to generate an updated second routing table.
Claim 38
Dependent Claim 233 words
A computer program product for implementing a method of automatically updating message routing information in a plurality of sites in an electronic messaging system when the configuration of a first site in the electronic messaging system is changed, each of the plurality of sites having a unique address space and having connectivity to at least one other site in the plurality of sites, the computer program product comprising: a computer-readable medium having computer-executable instructions for performing the steps of: maintaining a first routing table at the first site, a second routing table also being maintained at a second site in the electronic messaging system, each routing table identifying at least one destination site, a plurality of routes for reaching the at least one destination site, and a total cost associated with each of the respective plurality of routes; in response to the configuration of the first site being changed, automatically updating the first routing table so as to be current with the changed configuration; and automatically replicating message routing information contained in the updated first routing table to the second site such that each routing table can be made current with the changed configuration, including the step of: broadcasting the message routing information to the second site, thereby making the message routing information available to be assimilated into a second routing table at the second site to generate an updated second routing table.
Claim 39
Dependent Claim 69 words
The computer program product of claim 34 in which each of the plurality of routes comprises one or more connectors specified in a sequential order, each connector providing direct connectivity between two sites, such that a message being sent via one of said plurality of routes is passed sequentially from one connector to the next connector in the route until the message reaches the at least one destination site.
Claim 40
Dependent Claim 31 words
The computer program product of claim 35 in which each connector in a route has an individual cost which collectively represent the total cost to send a message by that route.
Claim 41
Dependent Claim 37 words
The computer program product of claim 36 in which the total cost for a route is automatically increased by a predetermined amount for each intermediate site in that route between an originating site and the destination site.
Claim 42
Dependent Claim 27 words
The computer program product of claim 36 in which the individual cost associated with a particular connector represents a predetermined measure of resources for using that connector.
Claim 43
Dependent Claim 46 words
The computer program product of claim 34 in which the computer-readable medium further has computer-executable instructions for performing the steps of: choosing one of the plurality of routes based on its associated total cost; and sending a message from an originating site using the chosen route.
Claim 44
Dependent Claim 62 words
The computer program product of claim 39 in which said chosen route traverses at least one intermediate site between the originating site and the destination site, the computer-readable medium further having computer-executable instructions for performing the step of causing a message to depart from the chosen route by selecting a different route over which the message will travel to the destination site.
Claim 45
Dependent Claim 39 words
The computer program product of claim 39 in which the computer-readable medium further has computer-executable instructions for performing the step of causing a message to depart from the chosen route when a connector in the chosen route is unavailable.
Claim 46
Dependent Claim 50 words
The computer program product of claim 39 in which the computer-readable medium further has computer-executable instructions for performing the step of causing a message to depart from the chosen route when a connector having a lower cost than a connector in the chosen route is available at an intermediate site.
Claim 47
Dependent Claim 27 words
The computer program product of claim 41 in which the step of choosing comprises the step of selecting a message route having a lowest associated total cost.
Claim 48
Dependent Claim 47 words
The computer program product of claim 43 in which the step of choosing further comprises the step of selecting a message route having an associated total cost that is greater than the lowest total cost when the message route having the lowest associated total cost is unavailable.
Claim 49
Dependent Claim 62 words
The computer program product of claim 41 in which the computer-readable medium further has computer-executable instructions for performing the step of causing the message to be re-routed after it has left the originating site by dynamically adapting to changes in network topology to send the message over a route having a lowest total cost between the originating site and the destination site.

References Cited (Backward Citations)

US5088032A Cited
US5247676A Cited
US5218699A Cited
US5426674A Cited
US5117422A Cited
US5283856A Cited
US5539881A Cited
US5517620A Cited
US5615254A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-07-05 2003-01-04 2003-07-06 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-07-05 2007-01-04 2007-07-06 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-07-05 2011-01-04 2011-07-06 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag