This invention is related to network routing systems. More specifically, this invention is related to systems for and methods of determining combinations of resources for routing data over wide area networks such as the Internet.
Most Internet routing systems are configured to ensure that routes are optimized for performance, such as speed, cost, load, and the performance of the applications that use them. These routing devices measure the performance along particular routes and then select the route with the best performance.
In prior art systems, the performance of a route is determined by transmitting data between a remote host and a central location. In some of these prior art systems, the central location generates data packets, which are transmitted to the remote host and responded to with a reply packet. The round trip time of this communication is halved to get an approximation of the one-way travel time from the remote host to the central location. These approximations often do not reflect the true performance of the route from the remote host to the central location. In other prior art systems, the remote host determines when and how to generate these data packets. The generation and control of these data packets are thus distributed across multiple remote hosts, which may not communicate with one another or, if they do, do so slowly. Accordingly, these systems are often difficult to configure and thus are inefficient in determining optimal routes based on performance. In addition, the duplication of systems to monitor and direct communication to each of many remote sites is expensive in terms of capital and, potentially, performance.
In accordance with embodiments of the present invention, a logical path is selected to transmit data from a remote site to a destination site. During a measurement process to determine this logical path, data is transmitted from the remote site to a regional site where measurements are controlled. At this regional site, a list of combinations of resources for transmitting data from the remote site to the destination site is generated. At the regional site, statistics are determined for transmitting data from the remote site to the regional site using each combination of resources from the list. Using these statistics, a combination of resources is selected for transmitting data from the source site to the destination site. By controlling performance measurements and the selection of network resources from a regional location, performance data is able to be determined quickly and to be coordinated. Moreover, network information is able to be updated quickly, since it need not be propagated to remote sites individually. Other benefits will be apparent to those skilled in the art.
The logical path is selected to best fit the application at hand. For example, if the remote site contains an Internet Protocol (IP) enabled telephone, the logical path is selected to transmit the data so that the corresponding data packets have the smallest jitter, ensuring that the data packets are received in order, a requirement for voice data. If the remote is site contains a personal computer used to transmit confidential data, the logical path is selected to include a virtual private network (VPN) to ensure that the data is encrypted and thus cannot be read while in transit.
As used herein, “site” refers to a geographic location that contains one or more hosts. A non-exhaustive list of geographic locations includes a company branch office or research campus, one or more dormitories, and neighboring buildings, to name a few locations. The hosts at a site are generally able to be reached through or to transmit data from one or more common routers, though this is not a requirement of a site. A non-exhaustive list of hosts at a site include personal computers, personal digital assistants, Internet-enabled telephones, pagers, media gateways, Linux servers, application servers, video conferencing endpoints, and branch gateways, to name a few hosts. In some of the discussion that follows, a reference to a site will also refer to the hosts that reside at the site.
It will also be appreciated that one or more regional sites are able to be implemented in accordance with the present invention, each used to determine optimal routes for a subset of remote sites.
In accordance with the present invention, statistics are generated for data transmission from the remote site to the regional site so that the remote site is able to be configured to optimally transmit data from the remote site to a destination site. In some embodiments, the destination site is the regional site, though this need not be the case. In this way, embodiments of the present invention are able to measure performances for traffic close to a site that is being affected. For example, if a regional site is a proxy for a destination site (e.g., contains a proxy server), statistics related to the traffic flows into the regional site are a good indication of statistics for traffic flows into the destination site.
Traffic flowing into and out of a remote site includes traffic exchanged between hosts within the remote site (remote hosts) and hosts within the regional site and the destination site. Traffic flowing into and out of a regional site includes traffic for the regional site as well as traffic for other sites downstream from the regional site. The traffic being optimized in the present invention is typically the traffic flowing out of the remote site and destined for sites downstream from the regional site, though this is not necessarily the case.
Many different combinations of resources that define a logical path in accordance with the present invention are able to be used. Resources include large bandwidth links, such as optical fiber links and T4 links; generic routers; specially configured routers, such as multiprotocol label switching (MPLS) routers and routers configured to route data based on a type-of-service (ToS) tag or a differentiated services tag; and tunnels, such as virtual private networks (VPNs), Generic Routing Encapsulation (GRE) tunnels, Internet Protocol to Internet Protocol (IP-IP) tunnels, and tunnels using the Layer 2 Protocol (L2TP), to name a few resources. A combination of resources can be a single resource (e.g., a single optical fiber link) or any combination of them (e.g., a single optical fiber link combined with a VPN).
A selection criterion is chosen to determine how data is to be transmitted from the remote site to the destination site. As one example, the remote site transmits time-critical data to the destination site, such as voice data, and is to be configured to transmit data to the destination site so that the transmission time is minimal. Thus, the selection criterion is that data be transmitted using the shortest delay. To determine a combination of resources that best meets the selection criterion, measurement data packets are transmitted from the remote site to the regional site using the various combinations of resources available, to determine which combination provides the shortest transmission delay. When the regional site receives a specific measurement packet, it calculates a metric that indicates the time it took the measurement packet to travel from the remote site to the regional site. By comparing the calculated metrics for measurement packets corresponding to each combination of resources, the combination of resources that results in the shortest transmission time is selected, and the remote site is configured to transmit data to the destination site using that selected combination of resources.
In accordance with the present invention, selection criteria can be tailored to fit the application at hand. For example, selection criteria include, but are not limited to, ensuring security, minimizing transmission costs, maximizing speed, and any combination of these, such as a weighted combination of maximizing speed and minimizing transmission costs.
Remote sites are able to contain any type of remote hosts capable of transmitting data to a destination site and also to a regional site and include, but are not limited to, a personal computer, a personal digital assistant (PDA), a pager, an Internet-enabled telephone, and an Internet-enabled appliance, such as defined below. These remote hosts are able to have many different types of applications executing on them, which can all benefit from the present invention. Indeed, a single remote host can use several different combinations of resources, each used to transmit data from a different application executing on the remote host to the central host.
Preferably, in operation a regional site accesses a list of resources available to the remote site for transmitting data to the regional site and also to the destination site. The regional site generates combinations of these resources and transmits information corresponding to these combinations to the remote site in one or more combination packets. The remote site receives the one or more combination packets and transmits data packets, called measurement packets, to the regional site using each combination of resources. The regional site receives each measurement packet, recognizes the combination of resources used to transmit it, and calculates a metric used to select a combination of resources. Once the regional site has received all of the measurement packets and calculated the corresponding metrics, it compares the metrics using a selection criterion and selects a combination of resources. The regional site then transmits information indicating the selected combination of resources to the remote site in a decision packet. The remote site is then configured to transmit data to the destination site, which in some embodiments is the regional site, using the selected combination of resources.
Metrics are computed using any one or more statistics such as delay, jitter, loss, mean time between failures, reliability, bandwidth estimations, and availability scores. Other statistics based on these statistics are also able to be used in accordance with the present invention, and include averages, standard deviations, and variances. It will be appreciated that many statistics are able to be used to determine a preferred combination of resources selected to fit the application at hand.
In addition to information identifying a combination of resources, combination packets are also able to contain codes for instructing the remote site to take a particular action. For example, one code instructs the remote site to change the size of the measurement packets, thereby testing the available bandwidth from the remote site to the regional site; another code instructs the remote site to change the version of the protocol for transmitting data packets to the regional site (e.g., from Internet Protocol version 4 (IPv4) to version 6 (IPv6)); and another code instructs the remote site to vary the time between sending multiple measurement packets to the regional site. Indeed, different codes can be used to instruct the remote site to take any number of actions.
Preferably, the remote site and the regional site are coupled by the Internet. In one embodiment, the remote site and the regional site are coupled to one another by a plurality of Internet Service Providers.
Regional sites use various means to learn the identities of the remote sites (e.g., an access point at the remote site, such as a hub router, or individual hosts at the remote sites) to be configured in accordance with the present invention. As one example, a static list of the remote sites is stored on or made accessible to a regional site. As another example, an identifier (e.g., an IP address) for a remote site is registered at a registration server. The regional site queries this registration server to learn the IP addresses of the remote site. In yet another example, the regional site monitors traffic from the remote sites to the registration server to learn the identifiers.
The present invention is also able to configure remote hosts at a remote site, located behind network address translation routers (NATs). This is accomplished by using an identifier for the remote host that corresponds to the combination of an IP address and a dynamically allocated user datagram protocol (UDP) port.
Remote sites are able to be configured at pre-determined times, to ensure that the selected combination of resources is the most up-to-date, accounting for changes in the network or in available system resources.
In accordance with the present invention, a preferred combination of resources (also referred to as a logical path) for transmitting data packets from a remote site to a destination site is selected, based on the application at hand. A regional site, which can be different from or the same as the destination site, is used to determine an optimal path from the remote site to the regional site and to then configure the remote site to transmit data packets to the destination site. A company with a destination site (e.g. a branch office) is thus able to tailor communications between remote users and the branch office. As a first example, a system in accordance with the present invention automatically configures a personal computer used by a first traveling salesman (a remote host at a remote site) to transmit sensitive data to the branch office using a secure channel. As a second example, the system automatically configures a personal computer used by a second traveling salesman (another remote host at another remote site) to transmit non-sensitive large-volume data to the branch office using large-bandwidth unsecured channels. The system determines a preferred combination of resources (here, any combination of the secure channel and the high bandwidth channel) for transmitting data from each of the remote hosts to the branch office. As explained in more detail below, measurements are taken from the remote sites, to a regional site, where the measurements are able to be controlled, processed, and coordinated, and from which the remote sites (e.g., the remote hosts at the remote sites) are able to be configured.
The selection criterion for determining the preferred combination of resources depends on the application at hand. In the first example above, the selection criterion causes the system to select the combination of resources which provides the most secure communications path. As described in more detail below, a metric corresponding to the security level for communications is computed for each tested combination of resources available from the remote site to the regional site and also to the destination site. This is performed by transmitting data packets from the remote site to the regional site using each tested combination of resources, calculating a set of statistics for each transmission, and generating a metric for each set of statistics. The combination of resources corresponding to the most secure channel is selected for transmitting data from the remote site of the first salesman to the regional site. This combination of resources is selected at the regional site and is then used to transmit data from the first salesman to the branch office.
In the second example, the selection criterion causes the system to select the combination of resources which provides the highest bandwidth. In this second example, a metric corresponding to the bandwidth is computed for each combination of resources. The combination of resources corresponding to the largest bandwidth communications path from the remote host to the regional site is selected, based on its metric. This combination of resources is selected at the regional site and is then used to transmit data from the second salesman to the branch office.
Preferably, the metric is a transmission parameter (e.g., delay or bandwidth) or a function of a transmission parameter (e.g., a weighted average of the delay and bandwidth). When two combinations of resources have the same metric for an application, a second metric (e.g., a cost) is used as a tie breaker.
As explained in more detail below, the regional site generates a list corresponding to multiple combinations of resources, including but not limited to, (1) media having a specified bandwidth, (2) an intermediate router (e.g., a multi-protocol label switch (MPLS) router or type-of-service (ToS) enabled router) that routes data packets based on an MPLS tag or a ToS label, (3) a generic router (4) a virtual private network (VPN) tunnel, (5) one or more source routing enabled routers, which together route a data packet so that it traverses a specified list of routers, either in a specific sequence (strict source routing) or not (loose source routing), or (6) any combination of these resources. The central host regional site transmits information corresponding to one of these combinations in a combination packet. The remote site receives the combination packet and, in reply, transmits a measurement packet to the regional site using one of the combination of resources. The regional site receives the measurement packet, calculates statistics based on it (e.g., delay, jitter, mean time between failures), and generates metrics based on the statistics. This is done for each combination of resources. Using a selection criterion, the regional site then determines a preferred metric, and thus the corresponding preferred combination of resources, for routing data from the remote site to the destination site. The regional site transmits a decision packet containing information indicating the preferred combination of resources to the remote site. When the remote site receives the decision packet, it is configured to transmit data to the destination site using these preferred combination of resources. The remote site is also able to notify the regional site in an acknowledgment packet that it received the decision packet.
In addition to information corresponding to a particular combination of resources, the combination packet can also contain a code corresponding to a measurement action. A measurement action specifies other steps that the remote site must take, including, but not limited to, changing the size of measurement packets transmitted to the regional site and also the destination site, transmitting multiple measurement packets of varying size, transmitting multiple measurement packets at pre-determined time intervals, formatting measurement packets using a specified version number of the Internet Protocol (IP), and allocating memory on a host at the remote site. By changing the size and number of measurement packets, for example, a bandwidth or throughput is able to be determined for a transmission from a remote host to a destination site. Other measurement actions are taught in U.S. patent Ser. No. 10/070,338, titled “Method and Apparatus for Characterizing the Quality of a Network Path,” published Aug. 28, 2003; and PCT International Application No. PCT/US01/32309, titled “Method and Apparatus for Communicating Data Within Measurement Traffic,” published Apr. 25, 2002, both of which are incorporated by reference.
A measurement packet can also include optional tracking information such as an identifier corresponding to the regional site, a version number of the measurement packet; information identifying the combination of resources, so that the regional site is able to recognize and correctly process the measurement packet; an identifier for the remote site, in case the regional site is used in accordance with the present invention to receive data packets from multiple remote sites; a time stamp generated on the remote site, used to calculate delay and other statistics; and a sequence number to identify multiple measurement packets transmitted using the selected combination of resources. To simplify the discussion that follows, references to one data packet also refer to multiple data packets.
The decision packet can be formatted to contain compressed information, thereby saving space. In these embodiments, rather than listing an entire combination of resources, the decision packet contains a control action code denoting the combination of resources. Thus, when the remote site receives the decision packet, it reads the control action code, compares it to stored control action codes, and is then configured to transmit data to the destination site using a combination of resources that corresponds to the control action code. Preferably, the control action code corresponds to an entry in a table containing the preferred combination of resources. In these embodiments, the decision packet contains information corresponding to an identifier for the remote site of for remote hosts and the remote site, a path identifier indicating the path that data packets from the remote site to the destination site must take, a set of users for which the preferred combination of resources applies, a group identifier, and the control action code. In these embodiments, the control action codes correspond to enforcing next-hop addressing, ToS routing, loose source routing, and strict source routing, to name a few actions.
The present invention is also useful in determining traffic flows in areas near either a regional site or a remote site and then configuring other sites based on those traffic flows. As one example, traffic into or out of a first set of sites is measured, a second set of sites is configured based on statistics generated from those measurements, and a third set of sites has traffic flows that are affected by combinations of resources selected at the regional site. Thus, for example, a first set of sites contains a file server (a server site) and the third set of sites contains a proxy server (a proxy site), which is affected by the traffic to and from the server site. The proxy site is generally close to the server site, but this is not necessarily so. Thus, traffic to and from the server site is able to be measured and metrics computed. A combination of resources is then able to be selected to configure the server site, the proxy site, or both. Thus, in accordance with the present invention, sites other than the one for which measurements are made are able to be configured.
The above description is of a general embodiment. In one embodiment, the first and second sets of sites are the same; that is the sites whose traffic flows are measured are the same sites that are configured. In another embodiment, the first and third sets of sites are the same; that is the sites whose traffic flows are measured are the same sites affected by the traffic flows. And in yet a third embodiment, the second and third sets of sites are the same; that is the sites that are configured are the same sites whose traffic flows are affected.
Referring to
The regional host 102 is coupled to first and second routers 104 and 106. The first router 104 is coupled to an Internet Service Provider (ISP) 108 and the second router 106 is coupled to the ISP 110. The ISP 108 is coupled by the Internet 115 to the ISP 117. The ISP 117 is coupled to the router 124 and the ISP 119 is coupled to the router 126. The ISP 110 is coupled to the ISP 119. The routers 124 and 126 are both contained at the remote site 120 and are coupled to the Internet-enabled telephone 122.
The ISPs 108, 110, 117, 119, and the Internet 115 all contain different resources for transmitting data from the remote host 122 to the regional host 102. The resources are able to be used in many different combinations to transmit data from the remote host 122 to the regional host 102. For example, the remote host 102 is able to communicate with the regional host 102 using a first combination of resources that includes the router 124, the ISP 117, the Internet 115, the ISP 108, and the router 104. The Internet 115 also contains resources such as MPLS enabled routers, VPNs, and high-bandwidth links, to name a few, which are not shown in detail in
In different embodiments, the remote host 122 performs different applications, such as transferring to the regional host 102 time-sensitive data, large-volume data, confidential data and non-critical data that should be transmitted cheaply. In the example shown in
Many types of remote hosts are able to be used in accordance with the present invention, each performing one or more applications that benefit from communicating with a destination site containing destination hosts using a preferred combination of resources.
According to one selection criterion in accordance with the present invention, if the remote site 155 requires secure transmission to the regional site 151, then the path RMS-C-RGS is preferred since it ensures secure, encrypted transmissions. If the remote sitel 55 contains a pager that requires the cheapest transmission, then the path RMS-B-C-A-RGS is preferred, since it traverses non-encrypted paths (which are cheaper in this example) and T1 lines rather than the more expensive optical fiber link. As explained in more detail below, measurement packets are transmitted along each combination of resources (e.g., RMS-B-A-RGS, RMS-B-C-A-RGS, etc.), statistics are generated, metrics are computed, and a preferred combination of resources is selected to fit the application at hand.
FIGS. 4A-B and 5A-B show a simplified example of the operation of one embodiment of the present invention, using the same networked environment 150 of
As shown in
As shown in
It will be appreciated that the embodiments shown in FIGS. 4A-B and 5A-B are able to be implemented in different ways in accordance with the present invention. For example, in another embodiment, the regional site 151 transmits a list of combinations of resources in a single combination packet, as part of a single transmission, rather than in two separate combination packets such as shown in
It will also be appreciated that embodiments of the present invention are able to be used with networked environments much more complex than that shown in
Referring first to
Referring now to
Measurement packets are any one of several types of data packets including, but not limited to, Internet Control Message Protocol (ICMP) packets, user datagram protocol (UDP) packets, and transmission control protocol (TCP) packets. Furthermore, combination packets are the same or a different type of packet as the measurement packets. In one embodiment, combination packets are generated using traceprobe, with the remote site 122 replying using ICMP ERROR messages.
Measurement packets can contain a regional site identification number (corresponding to an identification number sent as part of the combination packet), a remote path identifier (specifying a path that the measurement packet traveled from the remote site to the regional site), a next hop IP address, a measurement packet version number, a measurement type (e.g., ICMP, UDP, or TCP), a sender timestamp, and a sequence number.
Referring now to
Decision packets are also able to be transmitted to the remote site 122 using many different methods. As one example, the decision packet is transmitted from a regional site to a remote site using a dedicated channel, where the protocol for transmitting data across the dedicated channel is UDP, TCP, or any other suitable transmission protocol.
As explained above, in one embodiment the regional site 102 (
The entry 352 corresponds to a second combination of resources for transmitting data from the remote site 122 to the regional site 102. The second combination of resources includes a Generic Routing Encapsulation (GRE) tunnel (column 8) sent on the interface 10.0.8.0 on a specified host at the remote site 122. And the entry 353 corresponds to a third combination of resources for transmitting data from the remote site 122 to the regional site 102. The second combination of resources includes a router that the data packets must traverse (column 3), having the IP address 152.20.8.8, and a type of service marker (616), which is used to mark the data packets so that they are handled accordingly by routers transmitting the data packets from the remote site 122 to the destination site 102. Those skilled in the art will recognize that a data packet is able to be marked so that intermediate routers treat it is as high priority data, in the case of time-sensitive data, or as low priority, or as other priorities.
The Resources Combination Table 350 also shows an entry 354 corresponding to data packets transmitted from a group of hosts (210.10/20) to the destination site 102. An entry for a group of hosts is used when a preferred combination of resources is to be determined for multiple remote sites. A subset of remote sites is thus able to be configured in accordance with the present invention.
Each of the rows 351-354 also has an entry for an index (column 9), used to link the Resources Combination Table 350 with a corresponding Statistics Table (370,
The Statistics Table 370 in
As shown in
It will be appreciated that the metrics in the column 9 in the Statistics Table 370 are able to be computed in many ways, depending on the application at hand. For example, for time sensitive applications, the metric is computed as merely a normalized value for the delay subtracted from 1, so that larger values of the metric indicate a smaller delay. Alternatively, the metric is computed as 1 minus a normalized value of the weighted value of jitter and mean time between failure. Indeed, the metric is able to be computed as a function of any of the parameters (statistics) shown in the Statistics Table 370: the delay, the jitter, the loss, the mean time between failures, the reliability, the bandwidth, and the availability. It will be appreciated that other statistics are able to be generated and used in accordance with the present invention, including statistics derived from those listed in the Statistics Table 370, such as variance, standard deviation, and average, to name a few. It will be appreciated that the Statistics Table 370 shows parameters in accordance with one embodiment of the present invention. Other embodiments are able to use many other parameters and combinations of them. Systems for and methods of calculating metrics are taught in U.S. patent Ser. No. 10/070,515, titled “Method and Apparatus for the Assessment and Optimization of Network Traffic,” and filed Jul. 25, 2002; U.S. patent Ser. No. 10/070,338, titled “Method and Apparatus for Characterizing the Quality of a Network Path, and published Aug. 28, 2003; and PCT International Application No. PCT/US03/03297, titled “Load Optimization,” and published Aug. 14, 2003, all of which are incorporated by reference.
It will also be appreciated that a preferred metric is able to be defined in various ways. While the examples discussed above define the largest metric as the preferred one, in other examples the smallest metric is preferred. For example, if for the application at hand a minimum delay time is preferred, then the metric is a normalized delay time and the selection criterion corresponds to selecting the combination of resources corresponding to the smallest metric.
Multiple metrics are able to be computed and stored for each combination of resources, where each metric is used for a specific selection criterion. Thus, for example, referring to
It will also be appreciated than some parameters, such as jitter, require the transmission of multiple measurement packets from a remote site to a regional site. Furthermore, while
As explained above, once the preferred combination of resources is determined, the combination is transmitted to the remote site, which is then configured to transmit data packets to the destination site using the selected (preferred) combination of resources. In one embodiment, the remote site stores information corresponding to the preferred combination of resources in a Routing Policy Table 380, shown in
In the step 409 of
In another embodiment, the preferred combination of resources requires that the data packet transmitted from the remote site to the destination site traverses a router. This embodiment may be used for security, forcing the data packets to traverse only trusted routers. Again referring to
In still another embodiment, a decision packet comprises an object created using an object oriented programming language. The object contains a data object that identifies the selected combination of resources. The data object is thus able to identify the selected combination of resources without using extra data fields for parameters that are not used, as required in pre-defined data structures.
In one embodiment of the present invention, the remote site contains a Remote Resources table (not shown) storing information similar to columns 2-8 of the Resources Combination Table 350 in
Embodiments of the present invention are not limited to merely computing preferred combinations of resources for transmitting data from remote site to destination sites; other embodiments of the present invention are used to determine a preferred combination of resources for transmitting data packets from one remote sites to another remote site. For example, referring to
In operation, the Combination Generator 471 generates information corresponding to one or more combinations of resources. The information corresponding to the combinations of resources is coupled to the Combination Packet Formatter 472, which formats and transmits a combination packet for each combination or, alternatively, a combination packet containing information for all of the combinations of resources. The Combination Generator 471 also stores information corresponding to each combination of resources in the Resources Combination Table 350, and generates corresponding entries in the Statistics Table 370. The corresponding measurement packets (from the remote site) are received by the Table Updater 474, which populates the Statistics Table 370 with the statistics, such as listed in the Statistics Table 370 of
It will be appreciated that the components described in
The list of remote hosts (i.e., table 140 in
In one embodiment, both of the remote hosts 527 and 529 register with the registration server 505, allowing the registration server 505 to store the IP addresses of the remote hosts 527 and 529. The registration server 505 then transmits these IP addresses to the regional site 525, which will then generate or update a table of remote hosts, such as the Table 140 in
Having remote hosts register with the regional site 525 has advantages. For example, when a remote host registers with the regional site 525, it is able to specify dynamically allocated ports used to communicate with the regional site 525. Knowing the IP address and port number of a remote host allows regional site 525 to recognize and communicate with a remote host behind a network address translation (NAT) router. Accordingly, a regional site in accordance with the present invention is able to determine a preferred combination of resources for a remote host located behind a NAT router to transmit data to the destination site.
In accordance with one embodiment of the present invention, a preferred combination of resources is determined at specified time intervals, to account for periodic changes in the network environment. The specified time intervals are able to be set to fit the application at hand. For example, in critical applications, the preferred combination of resources is determined every minute. For less critical applications, the preferred combination of resources are determined less frequently, such as once an hour or even once a day. In one embodiment, when network failures occur, the combination of resources is set to default values.
The system is able to be configured so that the preferred combination of resources expires after a pre-determined time, such as when communication between a remote host and a regional site is partially or completely interrupted. This ensures that the preferred combination of resources is up-to-date.
Embodiments of the present invention are used on many types of networks including, but not limited to, private networks, public networks, and a combination of both. Regional sites, destination sites, and remote sites are able to be on any combination of private networks and public networks.
Metrics calculated in accordance with the present invention and thus the functions that compute them are able to be selected in any number of ways. For example, some embodiments of the present invention generate an interface, such as a graphical user interface (GUI), that allows users to select how traffic from a remote site to a destination site is to be optimized. The GUI allows the selection criterion (e.g., the metric that is generated and used) to be based on (1) a type of a device (e.g., Internet-enabled telephones are to transmit data using the combination of resources that results in the lowest cost), (2) an identity of a user using the remote host (e.g., the company president must transmit data using only secure transmissions), (3) the type of application running on the remote host at a remote site (e.g., applications transmitting large non-confidential data are to use high-bandwidth links), (4) a normalized weighting of criteria so that several factors (e.g., security and cost) are taken into account, (5) any other criterion to fit the application at hand, or (6) any combination of these. A combination includes weighted combinations, used, for example, when a company wishes to find a preferred logical path that gives 80% weight to speed and 20% weight to cost. A function that takes these weights into account and generates a corresponding metric is accordingly used.
Using a GUI in accordance with the present invention, a user is also able to select interfaces to end points of known VPN or GRE tunnels. When a user specifies that security is to be used as part of a selection criterion, systems and methods in accordance with the present invention thus use these known endpoints when generating combinations of resources.
It will be readily apparent to one skilled in the art that various modifications may be made to the embodiments without departing from the spirit and scope of the invention as defined by the appended claims.
This application claims priority under 35 U.S.C. § 119(e) of the co-pending U.S. provisional patent application Ser. No. 60/609,062, filed on Sep. 9, 2004, and titled “METHODS AND SYSTEMS FOR REMOTE OUTBOUND CONTROL, SECURITY STRAWMAN,” which is hereby incorporated by reference.
Number | Date | Country | |
---|---|---|---|
60609062 | Sep 2004 | US |