US20100250668A1 - Arrangement for selecting a server to provide distributed services from among multiple servers based on a location of a client device - Google Patents
Arrangement for selecting a server to provide distributed services from among multiple servers based on a location of a client device Download PDFInfo
- Publication number
- US20100250668A1 US20100250668A1 US12/793,900 US79390010A US2010250668A1 US 20100250668 A1 US20100250668 A1 US 20100250668A1 US 79390010 A US79390010 A US 79390010A US 2010250668 A1 US2010250668 A1 US 2010250668A1
- Authority
- US
- United States
- Prior art keywords
- server
- client machine
- network
- resource
- service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000000034 method Methods 0.000 claims description 19
- 238000012546 transfer Methods 0.000 claims description 4
- 230000003993 interaction Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1021—Server selection for load balancing based on client or server locations
Definitions
- the present invention relates to identifying a server to provide a client device a distributed service, the server selected from among a plurality of distributed servers based on a locality of the client device.
- Distributed services such as Web-based search engines, for example the search site offered by Google® on the World Wide Web having the domain name “google.com”, are based on execution of the distributed services by distributed servers, also referred to as grid computing, where the distributed servers are configured for distributing the load associated with providing the distributed services.
- a client browser that attempts to access the Web service at the domain name “google.com” will be directed randomly to one of the distributed servers to ensure an even load-balancing among the servers. Load balancing is described in further detail in the Internet Engineering Task Force (IETF) Request for Comments (RFC) 2782, and in the above-incorporated parent application.
- IETF Internet Engineering Task Force
- RRC Request for Comments
- a client browser may be directed to the previously-used server if the client browser previously accessed Web-based e-mail, in order to enable the utilization of user data having been transferred to the previously-used server.
- distributed services such as web-based search services may be offered by a provider such as Google® based on worldwide distribution of data centers, where each data center has its own corresponding set of distributed servers for providing the corresponding distributed service.
- Google® worldwide distribution of data centers solves the problem of worldwide propagation delays that otherwise would be encountered due to the propagation limitations to the speed of light and speed of data signals through optical fiber and copper.
- each data center is identified by its own corresponding domain name, for example based on a country-specific extension (e.g., “.uk”, “.de”, “.nz”, “.jp”) that identifies the country (e.g., United Kingdom, Germany, New Zealand, Japan) in which the corresponding data center resides; hence, a user in Japan could access the data center in Japan or United States based on entering the appropriate domain name “google.co.jp” or “google.com”, respectively. Conversely, a user in United States can access the data center in Japan simply by entering the appropriate domain name “google.co.jp”.
- a country-specific extension e.g., “.uk”, “.de”, “.nz”, “.jp”
- DNS Domain name system
- IETF Internet Engineering Task Force
- RFC Request for Comments
- a conventional DNS server may be configured for responding to a query by providing a prescribed resolution, or a list of prescribed resolutions.
- Each of the resolutions supplied by the DNS server are stored statically within (or local to) the DNS server, resulting in “prescribed” resolutions.
- a selection resource executed within the network is configured for selecting from among a plurality of servers, distributed throughout the network at respective network-based server locations and each configured for providing a specified service, a selected server for providing the specified service for a client device at a network-based client location.
- the selection resource selects the selected server based on the corresponding server location relative to the client location, and causes a request having been generated by the client device to be sent to the selected server.
- the selection resource optimizes client-server interactions in a distributed computing network, based on the client location and the server location.
- One aspect of the present invention provides a method in a network node within a network.
- the method includes receiving by the network node a request for a specified service, the request having been sent by a client device, and identifying by the network node a network-based client location of the client device.
- the method also includes selecting by the network node one selected server from other servers, the one selected server and the other servers distributed throughout the network at respective network-based server locations and each configured for providing the specified service. The selecting is based on the server location of the one selected server relative to the client location.
- the method also includes causing the client device to reach the one selected server for the specified service.
- the method includes identifying a network-based client location of the client device within a network relative to an identifiable network topology, and selecting by the client device one selected server from other servers, the one selected server and the other servers located at respective network-based server locations within the identifiable network topology and each configured for providing a client service.
- the selecting is based on the server location of the one selected server relative to the client location.
- the method also includes sending a request to the one selected server for the client service.
- the client device can direct its request to a selected server, from other servers located throughout the network, based on identifying the server location of the one selected server relative to the client location, optimizing the access of the client service by location-based selection of the most appropriate server.
- Still another aspect of the present invention provides a network that includes a client device at a network-based client location within the network and configured for outputting a request for a specified service.
- the network also includes a plurality of servers distributed throughout the network at respective network-based server locations and each configured for providing the specified service.
- the network also includes a selection resource executed within the network and configured for selecting one of the servers as a selected server, from among the other servers, based on the corresponding server location of the selected server relative to the client location. The selection resource causes the request to be sent to the selected server for providing the specified service to the client device.
- FIG. 1 is a diagram illustrating a distributed network having clients at respective client locations and multiple network nodes (e.g., servers) at respective server locations and configured for providing distributed client services, according to an embodiment of the present invention.
- network nodes e.g., servers
- FIGS. 2A , 2 B, and 2 C are diagrams illustrating exemplary implementations of the selection resource within an access router, a distributed server, and a client device, respectively.
- FIG. 3 is a diagram illustrating a DNS server according to an embodiment of the present invention.
- FIGS. 4A , 4 B and 4 C are diagrams summarizing the method of directing a client request to a selected server, based on the client location and the server location, according to an embodiment of the present invention.
- FIG. 5 is a diagram illustrating directing client devices to server locations based on subnet identifiers.
- FIG. 1 is a diagram illustrating a network 10 having client devices 12 and distributed servers 14 for providing the clients 12 a specified distributed service, according to an embodiment of the present invention.
- the network 10 is illustrated in FIG. 1 as a topology map 16 having an identifiable network topology for identification of network nodes within the network.
- the network 10 also includes access routers 18 , and at least one DNS server 50 , described in detail in the above-incorporated parent application.
- the topology map 16 illustrates a cost-based multidimensional space that positions network nodes (e.g., client devices 12 , servers 14 and 50 , access routers 18 ) relative to cost-based dimensions that identify a “network distance” between different locations within the topology.
- network nodes e.g., client devices 12 , servers 14 and 50 , access routers 18
- the nodes 12 a, 12 d, 14 a, 18 and 50 are positioned within the topology site 20 a having the 24-bit IPv4 address prefix “66.88.66/24” 22 a, for example based on their connectivity within a first local area network of the network 10
- the nodes 12 b, 12 c, and 14 b are positioned within the topology site 20 b having the 24-bit IPv4 address prefix “66.88.67/24” 22 b based on their connectivity within a second local area network of the network 10
- the sites 20 a and 20 b can be connected by wide area network border routers (not shown).
- only one access router 18 is illustrated in FIG.
- each client device 12 will be connected to a corresponding access router 18 in order to obtain access within the network 10 .
- the topology map 16 is intended to illustrate deployment of the network 10 in an enterprise-class network, for example a large-scale network deployed at a university or a multi-building office campus.
- distributed services are implemented based on deploying multiple servers 14 throughout a network, each server 14 configured for providing the distributed service for any requesting client device.
- the distributed servers 14 can be implemented as distributed computing nodes as described in commonly-assigned, copending application Ser. No. 11/053,954, filed Feb. 10, 2005, entitled “Distributed Computing Based on Multiple Nodes with Determined Capacity Selectively Joining Resource Groups Having Resource Requirements”, the disclosure of which is incorporated in its entirety herein by reference.
- each requesting client device 12 is connected to one of the servers 14 having been identified as most appropriate for the requesting client device, for example the server closest to the client device.
- at least one network node within the network 10 includes a server selection resource, described below, configured for selecting one of the servers based on the corresponding server location relative to the client device.
- one aspect of selecting the one server may involve sending a query by a client (e.g., 12 c ) to the DNS server 50 , and receiving from the DNS server 50 a locality-based response 26 that enables the client 12 c to send a directed request 28 to the distributed server (e.g., 14 b ) that has the minimum distance to the requesting client 12 c.
- a client e.g., 12 c
- the DNS server 50 receives from the DNS server 50 a locality-based response 26 that enables the client 12 c to send a directed request 28 to the distributed server (e.g., 14 b ) that has the minimum distance to the requesting client 12 c.
- the disclosed embodiment expands upon the teachings of the above-incorporated parent application by encompassing all variations in which a client device 12 is directed to a selected server (e.g., 14 b ) from among a group of distributed servers, based on the locality of the client device relative to the server.
- the disclosed embodiment expands on the dynamic domain name service of the DNS server 50 by providing functionality that enables a client device to be directed to the most appropriate server for any distributed service based on locality, where the direction can be performed based on execution of a server selection resource 40 by any one of the destination server (e.g., 14 a ), an intermediate node such as an access router 18 , or the client device 12 d.
- FIG. 2A illustrates an access router 18 that includes an IP interface 30 , routing resources 32 , a network address translation/protocol address translation (NAT/PAT) layer 34 , and an application level gateway layer 36 .
- the application level gateway layer 36 includes a server selection resource 40 and at least a portion of the network topology map 16 stored as a stored network map 42 .
- FIG. 2B illustrates a distributed server (e.g., 14 a ) that includes an IP interface 30 , the server selection resource 40 , the network map 42 , independent of existing distributed service processes 44 that provide the requested client services.
- FIG. 14 a illustrates a distributed server that includes an IP interface 30 , the server selection resource 40 , the network map 42 , independent of existing distributed service processes 44 that provide the requested client services.
- FIG. 2C illustrates an intelligent client device 12 d that includes not only an executable user agent 46 (e.g., an e-mail client or HTTP browser) and an IP interface 30 , but also includes the server selection resource 40 and the network map 42 .
- the network map 42 is described as at least a portion of the network topology map 16 , as apparent from the description below the selection resource 40 also may utilize a stored table 48 of server IP addresses, illustrated in FIG. 5 , to identify the nearest server based on the requesting client device and the nearest server sharing an address prefix 22 .
- FIG. 3 is a diagram illustrating a Domain Name System (DNS) server 50 , according to an embodiment of the present invention.
- the DNS server 50 includes an IP interface 52 , and a resolution resource 54 .
- the IP interface 52 is configured for receiving, via a network, a DNS request from a client device (e.g., 12 c of FIG. 1 ).
- the DNS request from the client device includes typically the IP address of the client device, and a specified service.
- the DNS request is for at least one destination that provides within the network the specified service.
- the resolution resource 54 is configured for receiving the DNS request from the IP interface 52 , and dynamically selecting a resolution, or a list of resolutions, that satisfies the DNS request. Unlike prior DNS servers, however, the resolution resource 54 does not merely retrieve stored resolutions. Rather, the resolution resource 54 dynamically selects a selected resolution in order to identify a destination that is most appropriate for the client device.
- the resolution resource 54 is configured for dynamically selecting, for the client device, a selected resolution from a plurality of available resolutions.
- the resolution resource 54 includes a client device attributes module 56 configured for identifying client device attributes, a network attributes module 58 configured for identifying network attributes, and an available selection criteria module 60 configured for identifying criteria available for selecting a resolution from available resolutions.
- the resolution resource 54 also includes a client resolution cache 62 .
- the resolution resource 54 is configured for dynamically selecting a selected resolution for the DNS query based on applying client device attributes 56 and/or network attributes 58 to the available selection criteria 60 in order to dynamically select a resolution.
- the resolution resource 54 applies available selection criteria 60 to available client device attributes 56 and/or network attributes 58 in order to identify a selected resolution which is the “most appropriate” for the client device. It will become readily apparent that numerous selection criteria and attributes may be utilized in identifying the most appropriate resolution for a given client device; hence, the description herein with respect to different attributes and selection criteria are only by way of illustration, and are not intended to limit the disclosed embodiment to any attributes or selection criteria.
- the client device attributes module 56 may identify attributes such as client device location 56 a, service level agreement (SLA) 56 b, or user/client device authentication 56 c.
- the client device location attribute 56 a may be particularly relevant in identifying the closest server relative to the client device location;
- the service level agreement (SLA) attribute 56 b may be relevant in distinguishing different service types or destinations based on service-level agreement, where a user having subscribed to a premium service may be granted access to a higher capacity destination server, as opposed to a subscriber with a minimal service agreement being limited to limited-capacity destination servers.
- the user or client device authentication attribute 56 c may be relevant with respect to corporate or relationship-based services in terms of directing a client device to an external destination (i.e., external to a corporate intranet) or an internal destination (i.e., internal to the corporate intranet), based on whether the client device and the destination service have an established trust relationship. Additional details illustrating location-based services are illustrated, for example, in commonly-assigned, copending application Ser. No. 09/908,578, filed Jul. 20, 2001, issued as U.S. Pat. No. 7,269,162 and entitled “INTEGRATION OF PRESENCE SERVICES WITH A NETWORK ENABLED TELEPHONY DEVICE”, the disclosure of which is incorporated in its entirety herein by reference.
- the network attributes module 58 identifies the network-based characteristics utilized by the resolution resource 54 in identifying a destination for the specified service that is most appropriate for the client device issuing the DNS request. For example, in the case of distributed services, the distance attribute 58 a identifies distance between a destination server and a client device (based on the client device location attribute 56 a ) to identify a minimal distance.
- the term “distance” as used herein with respect to the distance attribute 58 a and the distance obtained based on the network topology map 16 of FIG. 1 can refer to attributes of the network, which are detectable by the elements of the network, that establish a quantifiable relationship, for example hop count, latency, bandwidth, lost packets, line noise, congestion, wireless signal strength, supplied GPS coordinates, etc.
- the network topology-based coordinates may include bandwidth, throughput, hop count, round-trip time delay, the cost of accessing data, etc., and any other attributes that quantify the relative ability (i.e., “network distance”) to move data to and from another machine based on a comparison of the respective coordinates of the source and destination machines.
- network distance i.e., “network distance”
- the network distance between two nodes identifies the relative ability to move data between the two nodes. Additional details related to the use of topology-based coordinates to determine a network distance are described in commonly-assigned, application Ser. No. 11/049,559, filed Feb. 2, 2005, issued on Jul. 14, 2009 as U.S. Pat. No. 7,562,125 and entitled “TECHNIQUES FOR LOCATING DISTRIBUTED OBJECTS ON A NETWORK BASED ON PHYSICAL COMMUNICATION COSTS,” the disclosure of which is incorporated in its entirety herein by reference.
- the Service Level Association (SLAc) attribute 58 b may be relevant in associating a given service level for the client device 56 b with the corresponding server providing the specified service in the network.
- the capacity and congestion attribute 58 c also may be relevant in identifying associated network conditions of relevant network components for selection criteria based on performance relative to a service-level agreement, load-balancing, or identifying destinations that need to be relieved of demand for service due to encountered congestion conditions.
- the private/public servers or services attribute 58 d identifies whether a given network resource is considered publicly available on the public Internet or privately available within a restricted site (e.g., a corporate intranet).
- the available selection criteria module 60 is configured for identifying the various policies that may be implemented by the resolution resource 54 .
- the available selection criteria may include identifying the minimal distance 60 a between a client device location attribute 56 a and a distributed services attribute 58 a.
- the available selection criteria may include a match 60 b between the SLA 56 b of the client device and the SLAc 58 b of a given network resource.
- the matching of the SLA 56 b and the SLAc 58 b according to the selection criterion 60 b also may be relative to the capacity or congestion attribute 58 c of the corresponding network resource.
- Another selection criterion that may be used involves a load-balancing sequence 60 c, where the resolution resource 54 selects available resolutions in a prescribed sequence (e.g., round-robin, weighted round-robin, or weighted random selection as illustrated in FIG. 2 ) in order to control access by client devices to distributed servers according to a prescribed load balancing policy.
- a prescribed sequence e.g., round-robin, weighted round-robin, or weighted random selection as illustrated in FIG. 2
- Another available selection criterion includes identifying a public or private destination 60 d based on authentication of the user or client device authentication attribute 56 relative to the public or private attributes 58 d of the available servers or services.
- the resolution resource 54 can be configured for selecting the selected resolution based on the location attribute 56 a of the client device within the network, for example using a minimal distance selection criterion 60 a (or within a prescribed distance) relative to a given destination server distance attribute 56 a in a distributed services platform.
- the distance selection criterion 60 a and the service level matching selection criterion 60 b may be combined in order to provide optimized locality selection for premium subscribers, and less than optimized locality-based selection of a destination server for a service-level agreement 56 b specifying an economic or minimal subscription rate.
- capacity-based selection criteria or authentication-based selection criteria may be used in order to identify the destination that is most appropriate for the client device based on load balancing, trusted relationships, etc.
- the resolution or list of resolutions may specify either an explicit IP address, or another host name for a secondary DNS server configured for providing more specific resolutions based on a different set of criteria.
- Multi-tiered resolutions may be deployed, where a first DNS server 50 directs the client device to a second DNS server (not shown) based on authentication (or SLA validation) of the client device; the second DNS server can then direct the client device to the appropriate destination based on locality, load sharing, etc.
- a first DNS server 50 may be accessed for validation of a service-level agreement attribute 56 b or a client device authentication 56 c; based on the validation of the client device, the DNS server 50 may direct the client device to another DNS server 50 (not shown) configured for identifying the destination server for an authenticated client device, for example based on locality or load distribution.
- any one of the resources of the DNS server 50 may be implemented within the selection resource 40 illustrated in FIGS. 2A-2C , enabling the locality-based server selection to be fully distributed among any node in the network 10 .
- the selection resource 40 will select a server for providing a client service based on the distance between the network-based server location and the network-based client location, and the availability of the server. Hence, load distribution can still be employed to enable a client device to access the nearest server that is not overloaded.
- FIGS. 4A , 4 B and 4 C are diagrams summarizing the method of selecting a distributed server 14 for providing a service to a client device 12 , based on the corresponding server location in the client location, according to an embodiment of the present invention.
- the steps described herein with respect to FIGS. 4A , 4 B and 4 C can be implemented as executable code stored on a computer readable medium (e.g., floppy disk, hard disk, EEPROM, CD-ROM, etc.), or propagated via a computer readable transmission medium (e.g., fiber optic cable, electrically-conductive transmission line medium, wireless electromagnetic medium, etc.).
- a computer readable medium e.g., floppy disk, hard disk, EEPROM, CD-ROM, etc.
- a computer readable transmission medium e.g., fiber optic cable, electrically-conductive transmission line medium, wireless electromagnetic medium, etc.
- the method begins in step 80 , where a user agent 46 executed by client device (e.g., client device 12 a ) outputs a request 70 for a specified service.
- the specified service may be for any type of network-based distributed service, for example a file transfer service according to the FTP protocol, a request for a file using a network-based file system, and HTTP based web request, a message request (e.g., according to SMTP protocol), or initiation of a media stream (e.g., a Voice over IP-based SIP connection, a multimedia (AVI) stream, etc.).
- the client device e.g., 12 a
- the IP interface 30 of the client device 12 sends the request 70 in step 84 to its access router 18 .
- the access router 18 sends in step 88 the selection resource 40 and the network topology map 42 (or subnet prefix list 48 ) to the client device 12 in order to enable the client device to perform its own selection for subsequent requests, described below with respect to FIG. 4B .
- FIG. 4C is a diagram illustrating in further detail the steps by the selection resource 40 executed by the access router 18 .
- the request 70 is received by the IP interface 30 and sent to the routing resource 32 : in response to detecting that the request 70 specifies a service recognized as being provided by the distributed servers 14 , the request is passed to the application-level gateway 36 .
- the selection resource 40 in the access router 18 identifies in step 90 the client device location and the server locations within the network 10 , for example based on retrieval of the network map 42 that includes at least a portion of the network topology map 16 ,or alternately based on retrieving the address table 48 of FIG. 5 .
- the selection resource 40 identifies in step 92 one of the servers as the one selected server to be used for providing the specified service, based on determining that the one selected server (e.g., 14 a ) has the minimum distance to the client device location.
- the selection resource 40 in the access router 18 locates in step 94 the destination address field of the request 70 , and overwrites in step 96 the destination address field with the destination address of the one selected server (e.g., 14 a ).
- the selection resource 40 outputs in step 98 the modified request for transmission by the IP interface 30 as a redirected request 72 to the selected server (e.g., 14 a ), enabling the closest server to be utilized for providing the specified service in step 100 of FIG. 4A .
- implementing the selection resource 40 within the access router 18 provides the advantage of minimizing unnecessary traffic within the network 10 , by redirecting client requests 70 into redirected requests 72 in order to obtain services from the nearest distributed server. As described above with respect to step 88 , efficiency can be further improved based on the client device executing the selection resource 40 .
- the selection resource 40 executed within the client device 12 d identifies the client device location in the network 10 , and the server locations from the network topology map 42 (for calculation of network distance in the identifiable network topology) or the subnet prefix list 48 , illustrated as step 90 in FIG. 4B .
- the selection resource 40 executed within the client device 12 d also identifies the selected server based on the server being available and having the minimum distance to the client device location, or having the same subnet prefix 22 .
- the self-directed request 74 is output to the selected server (e.g., 14 a ) in step 102 .
- the selection resource 40 also can be implemented in any one of the distributed servers 14 .
- the access router 18 if in step 86 neither the access router 18 nor the client device 12 (e.g., 12 b ) include the selection resource 40 , the access router 18 sends the request 70 to the default server (e.g., 14 a ) in step 104 . If in step 106 the default server specified in the request 70 does not include the selection resource 40 , the server can respond in step 108 to the request 70 in a conventional manner.
- the selection resource 40 executed in the server 14 a performs the same selection operations described above with respect to FIGS. 4B and 4C , namely identifying the client device location and the respective server locations from the network topology map 42 or the subnet prefix list 48 in step 90 , and identifying the selected server (e.g., 14 b ) that is available a having the minimum distance to the client device location (or having the same subnet prefix 22 ) in step 92 .
- the selection resource 40 outputs in step 110 a redirect request 76 back to the client device (e.g., 12 b ), causing the client device to output in step 100 a redirected request 78 to the selected server (e.g., 14 b ) for the selected service.
- distributed services are implemented based on deploying multiple servers throughout a network, each server configured for providing the distributed service for any requesting client device.
- the requesting client device is connected to one of the servers having been identified as most appropriate for the requesting client device, for example the server closest to the client device.
- an application level gateway could be modified to implement the disclosed features of selecting a server based on the location of the client device.
- an application level gateway is executed on a gateway device and provides a proxy for a service; hence, if a client device accesses the application level gateway for a prescribed distributed service, the application level gateway will direct the client device to another server based on the location of the client device.
- an access router can implement an application level gateway that will redirect a client device to the most appropriate server providing the distributed service, based on the location of the client device within the network; the access router can provide redirect services to the client device based on conventional NAT/PAT address translation that redirects the client device to the most appropriate server.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
A selection resource executed within the network is configured for selecting from among a plurality of servers, distributed throughout the network at respective network-based server locations and each configured for providing a specified service, a selected server for providing the specified service for a client device at a network-based client location. The selection resource selects the selected server based on the corresponding server location relative to the client location, and causes a request having been generated by the client device to be sent to the selected server. Hence, the selection resource optimizes client-server interactions in a distributed computing network, based on the client location and the server location.
Description
- This application is a continuation of copending application Ser. No. 11/134,336, filed May 23, 2005, which is a continuation of abandoned application Ser. No. 11/081,694, filed Mar. 17, 2005, which is a continuation-in-part of commonly-assigned, application Ser. No. 11/000,041, filed Dec. 1, 2004, issued as U.S. Pat. No. 7,499,998 on Mar. 3, 2009 and entitled “ARRANGEMENT IN A SERVER FOR PROVIDING DYNAMIC DOMAIN NAME SYSTEM SERVICES FOR EACH RECEIVED REQUEST”, the disclosure of which is incorporated in its entirety herein by reference.
- 1. Field of the Invention
- The present invention relates to identifying a server to provide a client device a distributed service, the server selected from among a plurality of distributed servers based on a locality of the client device.
- 2. Description of the Related Art
- Distributed services such as Web-based search engines, for example the search site offered by Google® on the World Wide Web having the domain name “google.com”, are based on execution of the distributed services by distributed servers, also referred to as grid computing, where the distributed servers are configured for distributing the load associated with providing the distributed services. In particular, a client browser that attempts to access the Web service at the domain name “google.com” will be directed randomly to one of the distributed servers to ensure an even load-balancing among the servers. Load balancing is described in further detail in the Internet Engineering Task Force (IETF) Request for Comments (RFC) 2782, and in the above-incorporated parent application. Other factors also may be used to direct a client browser to a given server; a client browser may be directed to the previously-used server if the client browser previously accessed Web-based e-mail, in order to enable the utilization of user data having been transferred to the previously-used server.
- In addition, distributed services such as web-based search services may be offered by a provider such as Google® based on worldwide distribution of data centers, where each data center has its own corresponding set of distributed servers for providing the corresponding distributed service. In particular, worldwide distribution of data centers solves the problem of worldwide propagation delays that otherwise would be encountered due to the propagation limitations to the speed of light and speed of data signals through optical fiber and copper.
- However, a given data center cannot be selected unless the user sends an HTTP request to the appropriate domain name: each data center is identified by its own corresponding domain name, for example based on a country-specific extension (e.g., “.uk”, “.de”, “.nz”, “.jp”) that identifies the country (e.g., United Kingdom, Germany, New Zealand, Japan) in which the corresponding data center resides; hence, a user in Japan could access the data center in Japan or United States based on entering the appropriate domain name “google.co.jp” or “google.com”, respectively. Conversely, a user in United States can access the data center in Japan simply by entering the appropriate domain name “google.co.jp”. Hence, there is no optimization of service or reduction in propagation delay if the user selects a distant domain name, for example a user in United States selecting the data center in Japan, since in this case the user would be directed to one of the servers in the Japan data center. Rather, a conventional domain name system (DNS) query would resolve the domain name having the country-specific extension to a specific IP address, in this case of a device located within the country.
- Domain name system (DNS) servers, as described in the Internet Engineering Task Force (IETF) Request for Comments (RFC) 1034 and RFC 1035, are further described in detail in the above-incorporated parent application. In summary, a conventional DNS server may be configured for responding to a query by providing a prescribed resolution, or a list of prescribed resolutions. Each of the resolutions supplied by the DNS server are stored statically within (or local to) the DNS server, resulting in “prescribed” resolutions.
- Hence, existing systems fail to provide any resolution for a given service that is based on attributes of the client device.
- As described above, to date there has been no attempt at resolving a client query or request for a specified service by identifying any relationship between the server that is selected for a client device, and the location of the client device. In other words, there is no selection of a server from among multiple servers, for providing a distributed service for a client device, based on the location of the client device.
- Hence, there is a need for an arrangement that enables a client device having requested a specified service to be directed to a selected one of multiple distributed servers, based on an identified network distance between the client device and the one selected server.
- These and other needs are attained by the present invention, where a selection resource executed within the network is configured for selecting from among a plurality of servers, distributed throughout the network at respective network-based server locations and each configured for providing a specified service, a selected server for providing the specified service for a client device at a network-based client location. The selection resource selects the selected server based on the corresponding server location relative to the client location, and causes a request having been generated by the client device to be sent to the selected server. Hence, the selection resource optimizes client-server interactions in a distributed computing network, based on the client location and the server location.
- One aspect of the present invention provides a method in a network node within a network. The method includes receiving by the network node a request for a specified service, the request having been sent by a client device, and identifying by the network node a network-based client location of the client device. The method also includes selecting by the network node one selected server from other servers, the one selected server and the other servers distributed throughout the network at respective network-based server locations and each configured for providing the specified service. The selecting is based on the server location of the one selected server relative to the client location. The method also includes causing the client device to reach the one selected server for the specified service.
- Another aspect of the present invention provides method in a client device. The method includes identifying a network-based client location of the client device within a network relative to an identifiable network topology, and selecting by the client device one selected server from other servers, the one selected server and the other servers located at respective network-based server locations within the identifiable network topology and each configured for providing a client service. The selecting is based on the server location of the one selected server relative to the client location. The method also includes sending a request to the one selected server for the client service. Hence, the client device can direct its request to a selected server, from other servers located throughout the network, based on identifying the server location of the one selected server relative to the client location, optimizing the access of the client service by location-based selection of the most appropriate server.
- Still another aspect of the present invention provides a network that includes a client device at a network-based client location within the network and configured for outputting a request for a specified service. The network also includes a plurality of servers distributed throughout the network at respective network-based server locations and each configured for providing the specified service. The network also includes a selection resource executed within the network and configured for selecting one of the servers as a selected server, from among the other servers, based on the corresponding server location of the selected server relative to the client location. The selection resource causes the request to be sent to the selected server for providing the specified service to the client device.
- Additional advantages and novel features of the invention will be set forth in part in the description which follows and in part will become apparent to those skilled in the art upon examination of the following or may be learned by practice of the invention. The advantages of the present invention may be realized and attained by means of instrumentalities and combinations particularly pointed out in the appended claims.
- Reference is made to the attached drawings, wherein elements having the same reference numeral designations represent like elements throughout and wherein:
-
FIG. 1 is a diagram illustrating a distributed network having clients at respective client locations and multiple network nodes (e.g., servers) at respective server locations and configured for providing distributed client services, according to an embodiment of the present invention. -
FIGS. 2A , 2B, and 2C are diagrams illustrating exemplary implementations of the selection resource within an access router, a distributed server, and a client device, respectively. -
FIG. 3 is a diagram illustrating a DNS server according to an embodiment of the present invention. -
FIGS. 4A , 4B and 4C are diagrams summarizing the method of directing a client request to a selected server, based on the client location and the server location, according to an embodiment of the present invention. -
FIG. 5 is a diagram illustrating directing client devices to server locations based on subnet identifiers. -
FIG. 1 is a diagram illustrating anetwork 10 having client devices 12 and distributed servers 14 for providing theclients 12 a specified distributed service, according to an embodiment of the present invention. Thenetwork 10 is illustrated inFIG. 1 as atopology map 16 having an identifiable network topology for identification of network nodes within the network. Thenetwork 10 also includesaccess routers 18, and at least oneDNS server 50, described in detail in the above-incorporated parent application. - As described below, the
topology map 16 illustrates a cost-based multidimensional space that positions network nodes (e.g., client devices 12,servers 14 and 50, access routers 18) relative to cost-based dimensions that identify a “network distance” between different locations within the topology. For example, thenodes topology site 20 a having the 24-bit IPv4 address prefix “66.88.66/24” 22 a, for example based on their connectivity within a first local area network of thenetwork 10, and thenodes topology site 20 b having the 24-bit IPv4 address prefix “66.88.67/24” 22 b based on their connectivity within a second local area network of thenetwork 10, wherein thesites access router 18 is illustrated inFIG. 1 , it will be appreciated that each client device 12 will be connected to acorresponding access router 18 in order to obtain access within thenetwork 10. As apparent from the foregoing, thetopology map 16 is intended to illustrate deployment of thenetwork 10 in an enterprise-class network, for example a large-scale network deployed at a university or a multi-building office campus. - According to the disclosed embodiment, distributed services are implemented based on deploying multiple servers 14 throughout a network, each server 14 configured for providing the distributed service for any requesting client device. The distributed servers 14 can be implemented as distributed computing nodes as described in commonly-assigned, copending application Ser. No. 11/053,954, filed Feb. 10, 2005, entitled “Distributed Computing Based on Multiple Nodes with Determined Capacity Selectively Joining Resource Groups Having Resource Requirements”, the disclosure of which is incorporated in its entirety herein by reference.
- As described below with respect to
FIGS. 4A and 4B , each requesting client device 12 is connected to one of the servers 14 having been identified as most appropriate for the requesting client device, for example the server closest to the client device. In particular, at least one network node within thenetwork 10 includes a server selection resource, described below, configured for selecting one of the servers based on the corresponding server location relative to the client device. - As described in the above-incorporated parent application, one aspect of selecting the one server may involve sending a query by a client (e.g., 12 c) to the
DNS server 50, and receiving from the DNS server 50 a locality-basedresponse 26 that enables theclient 12 c to send a directedrequest 28 to the distributed server (e.g., 14 b) that has the minimum distance to the requestingclient 12 c. - The disclosed embodiment expands upon the teachings of the above-incorporated parent application by encompassing all variations in which a client device 12 is directed to a selected server (e.g., 14 b) from among a group of distributed servers, based on the locality of the client device relative to the server. In particular, the disclosed embodiment expands on the dynamic domain name service of the
DNS server 50 by providing functionality that enables a client device to be directed to the most appropriate server for any distributed service based on locality, where the direction can be performed based on execution of aserver selection resource 40 by any one of the destination server (e.g., 14 a), an intermediate node such as anaccess router 18, or theclient device 12 d. - For example,
FIG. 2A illustrates anaccess router 18 that includes anIP interface 30, routingresources 32, a network address translation/protocol address translation (NAT/PAT)layer 34, and an application level gateway layer 36. The application level gateway layer 36 includes aserver selection resource 40 and at least a portion of thenetwork topology map 16 stored as a storednetwork map 42.FIG. 2B illustrates a distributed server (e.g., 14 a) that includes anIP interface 30, theserver selection resource 40, thenetwork map 42, independent of existing distributed service processes 44 that provide the requested client services. Similarly,FIG. 2C illustrates anintelligent client device 12 d that includes not only an executable user agent 46 (e.g., an e-mail client or HTTP browser) and anIP interface 30, but also includes theserver selection resource 40 and thenetwork map 42. Although thenetwork map 42 is described as at least a portion of thenetwork topology map 16, as apparent from the description below theselection resource 40 also may utilize a stored table 48 of server IP addresses, illustrated inFIG. 5 , to identify the nearest server based on the requesting client device and the nearest server sharing an address prefix 22. -
FIG. 3 is a diagram illustrating a Domain Name System (DNS)server 50, according to an embodiment of the present invention. TheDNS server 50 includes anIP interface 52, and aresolution resource 54. TheIP interface 52 is configured for receiving, via a network, a DNS request from a client device (e.g., 12 c ofFIG. 1 ). The DNS request from the client device includes typically the IP address of the client device, and a specified service. Hence, the DNS request is for at least one destination that provides within the network the specified service. - The
resolution resource 54 is configured for receiving the DNS request from theIP interface 52, and dynamically selecting a resolution, or a list of resolutions, that satisfies the DNS request. Unlike prior DNS servers, however, theresolution resource 54 does not merely retrieve stored resolutions. Rather, theresolution resource 54 dynamically selects a selected resolution in order to identify a destination that is most appropriate for the client device. - According to the disclosed embodiment, the
resolution resource 54 is configured for dynamically selecting, for the client device, a selected resolution from a plurality of available resolutions. In particular, theresolution resource 54 includes a client device attributesmodule 56 configured for identifying client device attributes, a network attributesmodule 58 configured for identifying network attributes, and an availableselection criteria module 60 configured for identifying criteria available for selecting a resolution from available resolutions. Theresolution resource 54 also includes aclient resolution cache 62. As described in further detail below, theresolution resource 54 is configured for dynamically selecting a selected resolution for the DNS query based on applying client device attributes 56 and/or network attributes 58 to theavailable selection criteria 60 in order to dynamically select a resolution. - Consequently, the
resolution resource 54 appliesavailable selection criteria 60 to available client device attributes 56 and/or network attributes 58 in order to identify a selected resolution which is the “most appropriate” for the client device. It will become readily apparent that numerous selection criteria and attributes may be utilized in identifying the most appropriate resolution for a given client device; hence, the description herein with respect to different attributes and selection criteria are only by way of illustration, and are not intended to limit the disclosed embodiment to any attributes or selection criteria. - For example, the client device attributes
module 56 may identify attributes such asclient device location 56 a, service level agreement (SLA) 56 b, or user/client device authentication 56 c. The clientdevice location attribute 56 a may be particularly relevant in identifying the closest server relative to the client device location; the service level agreement (SLA) attribute 56 b may be relevant in distinguishing different service types or destinations based on service-level agreement, where a user having subscribed to a premium service may be granted access to a higher capacity destination server, as opposed to a subscriber with a minimal service agreement being limited to limited-capacity destination servers. - In addition, the user or client
device authentication attribute 56 c may be relevant with respect to corporate or relationship-based services in terms of directing a client device to an external destination (i.e., external to a corporate intranet) or an internal destination (i.e., internal to the corporate intranet), based on whether the client device and the destination service have an established trust relationship. Additional details illustrating location-based services are illustrated, for example, in commonly-assigned, copending application Ser. No. 09/908,578, filed Jul. 20, 2001, issued as U.S. Pat. No. 7,269,162 and entitled “INTEGRATION OF PRESENCE SERVICES WITH A NETWORK ENABLED TELEPHONY DEVICE”, the disclosure of which is incorporated in its entirety herein by reference. - The network attributes
module 58 identifies the network-based characteristics utilized by theresolution resource 54 in identifying a destination for the specified service that is most appropriate for the client device issuing the DNS request. For example, in the case of distributed services, thedistance attribute 58 a identifies distance between a destination server and a client device (based on the clientdevice location attribute 56 a) to identify a minimal distance. The term “distance” as used herein with respect to thedistance attribute 58 a and the distance obtained based on thenetwork topology map 16 ofFIG. 1 can refer to attributes of the network, which are detectable by the elements of the network, that establish a quantifiable relationship, for example hop count, latency, bandwidth, lost packets, line noise, congestion, wireless signal strength, supplied GPS coordinates, etc. - In particular, the network topology-based coordinates may include bandwidth, throughput, hop count, round-trip time delay, the cost of accessing data, etc., and any other attributes that quantify the relative ability (i.e., “network distance”) to move data to and from another machine based on a comparison of the respective coordinates of the source and destination machines. Hence, the network distance between two nodes identifies the relative ability to move data between the two nodes. Additional details related to the use of topology-based coordinates to determine a network distance are described in commonly-assigned, application Ser. No. 11/049,559, filed Feb. 2, 2005, issued on Jul. 14, 2009 as U.S. Pat. No. 7,562,125 and entitled “TECHNIQUES FOR LOCATING DISTRIBUTED OBJECTS ON A NETWORK BASED ON PHYSICAL COMMUNICATION COSTS,” the disclosure of which is incorporated in its entirety herein by reference.
- In addition, the Service Level Association (SLAc) attribute 58 b may be relevant in associating a given service level for the
client device 56 b with the corresponding server providing the specified service in the network. The capacity and congestion attribute 58 c also may be relevant in identifying associated network conditions of relevant network components for selection criteria based on performance relative to a service-level agreement, load-balancing, or identifying destinations that need to be relieved of demand for service due to encountered congestion conditions. The private/public servers or services attribute 58 d identifies whether a given network resource is considered publicly available on the public Internet or privately available within a restricted site (e.g., a corporate intranet). - The available
selection criteria module 60 is configured for identifying the various policies that may be implemented by theresolution resource 54. For example, the available selection criteria may include identifying theminimal distance 60 a between a clientdevice location attribute 56 a and a distributed services attribute 58 a. In addition, the available selection criteria may include amatch 60 b between theSLA 56 b of the client device and theSLAc 58 b of a given network resource. In addition, the matching of theSLA 56 b and theSLAc 58 b according to theselection criterion 60 b also may be relative to the capacity orcongestion attribute 58 c of the corresponding network resource. - Another selection criterion that may be used involves a load-
balancing sequence 60 c, where theresolution resource 54 selects available resolutions in a prescribed sequence (e.g., round-robin, weighted round-robin, or weighted random selection as illustrated inFIG. 2 ) in order to control access by client devices to distributed servers according to a prescribed load balancing policy. - Another available selection criterion includes identifying a public or
private destination 60 d based on authentication of the user or clientdevice authentication attribute 56 relative to the public orprivate attributes 58 d of the available servers or services. - Hence, the
resolution resource 54 can be configured for selecting the selected resolution based on thelocation attribute 56 a of the client device within the network, for example using a minimaldistance selection criterion 60 a (or within a prescribed distance) relative to a given destination server distance attribute 56 a in a distributed services platform. Moreover, thedistance selection criterion 60 a and the service levelmatching selection criterion 60 b may be combined in order to provide optimized locality selection for premium subscribers, and less than optimized locality-based selection of a destination server for a service-level agreement 56 b specifying an economic or minimal subscription rate. Alternately, capacity-based selection criteria or authentication-based selection criteria may be used in order to identify the destination that is most appropriate for the client device based on load balancing, trusted relationships, etc. - As apparent from the foregoing, the resolution or list of resolutions may specify either an explicit IP address, or another host name for a secondary DNS server configured for providing more specific resolutions based on a different set of criteria. Multi-tiered resolutions may be deployed, where a
first DNS server 50 directs the client device to a second DNS server (not shown) based on authentication (or SLA validation) of the client device; the second DNS server can then direct the client device to the appropriate destination based on locality, load sharing, etc. Hence, afirst DNS server 50 may be accessed for validation of a service-level agreement attribute 56 b or aclient device authentication 56 c; based on the validation of the client device, theDNS server 50 may direct the client device to another DNS server 50 (not shown) configured for identifying the destination server for an authenticated client device, for example based on locality or load distribution. - The disclosed embodiment contemplates that any one of the resources of the
DNS server 50 may be implemented within theselection resource 40 illustrated inFIGS. 2A-2C , enabling the locality-based server selection to be fully distributed among any node in thenetwork 10. At a minimum, however, theselection resource 40 will select a server for providing a client service based on the distance between the network-based server location and the network-based client location, and the availability of the server. Hence, load distribution can still be employed to enable a client device to access the nearest server that is not overloaded. -
FIGS. 4A , 4B and 4C are diagrams summarizing the method of selecting a distributed server 14 for providing a service to a client device 12, based on the corresponding server location in the client location, according to an embodiment of the present invention. The steps described herein with respect toFIGS. 4A , 4B and 4C can be implemented as executable code stored on a computer readable medium (e.g., floppy disk, hard disk, EEPROM, CD-ROM, etc.), or propagated via a computer readable transmission medium (e.g., fiber optic cable, electrically-conductive transmission line medium, wireless electromagnetic medium, etc.). - The method begins in
step 80, where auser agent 46 executed by client device (e.g.,client device 12 a) outputs arequest 70 for a specified service. The specified service may be for any type of network-based distributed service, for example a file transfer service according to the FTP protocol, a request for a file using a network-based file system, and HTTP based web request, a message request (e.g., according to SMTP protocol), or initiation of a media stream (e.g., a Voice over IP-based SIP connection, a multimedia (AVI) stream, etc.). If instep 82 the client device (e.g., 12 a) having output the request does not have theselection resource 40, theIP interface 30 of the client device 12 sends therequest 70 instep 84 to itsaccess router 18. - Assuming in
step 86 that theaccess router 18 includes theselection resource 40,theaccess router 18 sends instep 88 theselection resource 40 and the network topology map 42 (or subnet prefix list 48) to the client device 12 in order to enable the client device to perform its own selection for subsequent requests, described below with respect toFIG. 4B . -
FIG. 4C is a diagram illustrating in further detail the steps by theselection resource 40 executed by theaccess router 18. Therequest 70 is received by theIP interface 30 and sent to the routing resource 32: in response to detecting that therequest 70 specifies a service recognized as being provided by the distributed servers 14, the request is passed to the application-level gateway 36. Theselection resource 40 in theaccess router 18 identifies instep 90 the client device location and the server locations within thenetwork 10, for example based on retrieval of thenetwork map 42 that includes at least a portion of thenetwork topology map 16,or alternately based on retrieving the address table 48 ofFIG. 5 . - The
selection resource 40 identifies instep 92 one of the servers as the one selected server to be used for providing the specified service, based on determining that the one selected server (e.g., 14 a) has the minimum distance to the client device location. Theselection resource 40 in theaccess router 18 locates instep 94 the destination address field of therequest 70, and overwrites instep 96 the destination address field with the destination address of the one selected server (e.g., 14 a). Theselection resource 40 outputs instep 98 the modified request for transmission by theIP interface 30 as a redirectedrequest 72 to the selected server (e.g., 14 a), enabling the closest server to be utilized for providing the specified service instep 100 ofFIG. 4A . - Hence, implementing the
selection resource 40 within theaccess router 18 provides the advantage of minimizing unnecessary traffic within thenetwork 10, by redirecting client requests 70 into redirectedrequests 72 in order to obtain services from the nearest distributed server. As described above with respect to step 88, efficiency can be further improved based on the client device executing theselection resource 40. - Hence, assuming in
step 82 that the client device (e.g., 12 d) includes theselection resource 40, theselection resource 40 executed within theclient device 12 d identifies the client device location in thenetwork 10, and the server locations from the network topology map 42 (for calculation of network distance in the identifiable network topology) or thesubnet prefix list 48, illustrated asstep 90 inFIG. 4B . Theselection resource 40 executed within theclient device 12 d also identifies the selected server based on the server being available and having the minimum distance to the client device location, or having the same subnet prefix 22. Hence, thesteps FIG. 4B and executed by theselection resource 40 in theclient device 12 d are the same as thesteps access router 18 inFIG. 4C . In this case, the self-directedrequest 74 is output to the selected server (e.g., 14 a) instep 102. - As described above, the
selection resource 40 also can be implemented in any one of the distributed servers 14. Referring toFIG. 4A , if instep 86 neither theaccess router 18 nor the client device 12 (e.g., 12 b) include theselection resource 40, theaccess router 18 sends therequest 70 to the default server (e.g., 14 a) instep 104. If instep 106 the default server specified in therequest 70 does not include theselection resource 40, the server can respond instep 108 to therequest 70 in a conventional manner. - Assuming in
step 106 that the default server (e.g., 14 a) includes theselection resource 40, theselection resource 40 executed in theserver 14 a performs the same selection operations described above with respect toFIGS. 4B and 4C , namely identifying the client device location and the respective server locations from thenetwork topology map 42 or thesubnet prefix list 48 instep 90, and identifying the selected server (e.g., 14 b) that is available a having the minimum distance to the client device location (or having the same subnet prefix 22) instep 92. Theselection resource 40 outputs in step 110 aredirect request 76 back to the client device (e.g., 12 b), causing the client device to output in step 100 a redirectedrequest 78 to the selected server (e.g., 14 b) for the selected service. - According to the disclosed embodiment, distributed services are implemented based on deploying multiple servers throughout a network, each server configured for providing the distributed service for any requesting client device. The requesting client device is connected to one of the servers having been identified as most appropriate for the requesting client device, for example the server closest to the client device.
- The disclosed embodiment can be applied to Active Directory used by Microsoft®, or SAP based solutions (additional information regarding SAP based solutions are described at on the World Wide Web at the website having the domain name “sap.com”). In addition, an application level gateway could be modified to implement the disclosed features of selecting a server based on the location of the client device. In particular, an application level gateway is executed on a gateway device and provides a proxy for a service; hence, if a client device accesses the application level gateway for a prescribed distributed service, the application level gateway will direct the client device to another server based on the location of the client device.
- Hence, any resource that finds a server for a client in order to provide service for that client can be implemented to provide the locality-based selection described herein. Consequently, an access router can implement an application level gateway that will redirect a client device to the most appropriate server providing the distributed service, based on the location of the client device within the network; the access router can provide redirect services to the client device based on conventional NAT/PAT address translation that redirects the client device to the most appropriate server.
- It will become readily apparent that numerous variations can be deployed within the scope of the claims, and that additional selection criteria can be added, as desired.
- While the disclosed embodiment has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.
Claims (20)
1. A method comprising:
providing access to a client machine over a network having an identifiable network topology, the client machine being located within the network, the network including a plurality of server machines each configured to provide a prescribed network service; and
providing a resource to the client machine over the network, wherein providing the resource to the client machine enables the client machine to select a first server machine from the plurality of server machines to provide the prescribed network service, based on the client machine determining the first server machine has a minimum network distance relative to a location of the client machine.
2-54. (canceled)
55. The method of claim 1 , wherein the resource is an executable resource that enables the client machine to calculate the minimum network distance.
56. The method of claim 55 , wherein the executable resource enables the client machine to calculate a network distance for each server machine of the plurality of server machines relative to the location of the client, and to identify the minimum network distance using the network distance calculated for each server machine.
57. The method of claim 1 , wherein providing the resource includes providing the locations of the plurality of server machines.
58. The method of claim 1 , wherein the specified service is for any one of a file service, a web service, a message transfer service, or a media stream service.
59. The method of claim 1 , wherein providing the resource to the client machine further enables the client machine to select the first server further based on any one of a service level agreement associated with the client machine, or an authentication of the client machine.
60. The method of claim 1 , wherein providing the resource to the client machine further enables the client machine to select the first server further based on any one of a service level agreement associated with the first server, a congestion attribute of the first server, or a load balancing policy associated with the first server.
61. An apparatus comprising:
a storage arrangement, the storage arrangement being arranged to store information that identifies a plurality of server machines located throughout a network having an identifiable network topology, wherein the plurality of server machines are each configured to provide a specified service at the request of a client machine located within the identifiable network topology in the network; and
a network interface circuit arranged to provide a resource to the client machine, the resource being configured to enable the client machine to select a first server machine from among the plurality of server machines to provide the specified service to the client machine, based on the client machine determining the first server machine is at a server location having a minimum distance relative to a client location associated with the client machine.
62. The apparatus of claim 61 , wherein the resource is an executable resource that enables the client machine to calculate the minimum network distance.
63. The apparatus of claim 62 , wherein the executable resource enables the client machine to calculate a network distance for each server machine of the plurality of server machines relative to the location of the client, and to identify the minimum network distance using the network distance calculated for each server machine.
64. The apparatus of claim 61 , wherein providing the resource includes providing the locations of the plurality of server machines.
65. The apparatus of claim 61 , wherein the specified service is for any one of a file service, a web service, a message transfer service, or a media stream service.
66. The apparatus of claim 61 , wherein providing the resource to the client machine further enables the client machine to select the first server further based on any one of a service level agreement associated with the client machine, or an authentication of the client machine.
67. The apparatus of claim 61 , wherein providing the resource to the client machine further enables the client machine to select the first server further based on any one of a service level agreement associated with the first server, a congestion attribute of the first server, or a load balancing policy associated with the first server.
68. An apparatus comprising:
a storage arrangement, the storage arrangement being arranged to store information that identifies a plurality of server machines located throughout a network having an identifiable network topology, wherein the plurality of server machines are each configured to provide a specified service at the request of a client machine located within the identifiable network topology in the network; and
a network interface circuit arranged to provide a resource to the client machine, the resource being configured to enable the client machine to select a first server machine from among the plurality of server machines to provide the specified service to the client machine, based on the client machine determining the first server machine has the same subnet prefix as the client machine in respective IP addresses used by the first server machine and the client machine.
69. The apparatus of claim 68 , wherein providing the resource includes providing the IP addresses of the plurality of server machines.
70. The apparatus of claim 68 , wherein the specified service is for any one of a file service, a web service, a message transfer service, or a media stream service.
71. The apparatus of claim 68 , wherein providing the resource to the client machine further enables the client machine to select the first server further based on any one of a service level agreement associated with the client machine, or an authentication of the client machine.
72. The apparatus of claim 68 , wherein providing the resource to the client machine further enables the client machine to select the first server further based on any one of a service level agreement associated with the first server, a congestion attribute of the first server, or a load balancing policy associated with the first server.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/793,900 US20100250668A1 (en) | 2004-12-01 | 2010-06-04 | Arrangement for selecting a server to provide distributed services from among multiple servers based on a location of a client device |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/000,041 US7499998B2 (en) | 2004-12-01 | 2004-12-01 | Arrangement in a server for providing dynamic domain name system services for each received request |
US11/081,694 US20060117020A1 (en) | 2004-12-01 | 2005-03-17 | Arrangement for selecting a server to provide distributed services from among multiple servers based on a location of a client device |
US11/134,336 US7747720B2 (en) | 2004-12-01 | 2005-05-23 | Arrangement for selecting a server to provide distributed services from among multiple servers based on a location of a client device |
US12/793,900 US20100250668A1 (en) | 2004-12-01 | 2010-06-04 | Arrangement for selecting a server to provide distributed services from among multiple servers based on a location of a client device |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/134,336 Continuation US7747720B2 (en) | 2004-12-01 | 2005-05-23 | Arrangement for selecting a server to provide distributed services from among multiple servers based on a location of a client device |
Publications (1)
Publication Number | Publication Date |
---|---|
US20100250668A1 true US20100250668A1 (en) | 2010-09-30 |
Family
ID=36568415
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/081,694 Abandoned US20060117020A1 (en) | 2004-12-01 | 2005-03-17 | Arrangement for selecting a server to provide distributed services from among multiple servers based on a location of a client device |
US11/110,863 Expired - Fee Related US7792989B2 (en) | 2004-12-01 | 2005-04-21 | Arrangement for selecting a server to provide distributed services from among multiple servers based on a location of a client device |
US11/134,336 Active 2028-05-31 US7747720B2 (en) | 2004-12-01 | 2005-05-23 | Arrangement for selecting a server to provide distributed services from among multiple servers based on a location of a client device |
US12/793,900 Abandoned US20100250668A1 (en) | 2004-12-01 | 2010-06-04 | Arrangement for selecting a server to provide distributed services from among multiple servers based on a location of a client device |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/081,694 Abandoned US20060117020A1 (en) | 2004-12-01 | 2005-03-17 | Arrangement for selecting a server to provide distributed services from among multiple servers based on a location of a client device |
US11/110,863 Expired - Fee Related US7792989B2 (en) | 2004-12-01 | 2005-04-21 | Arrangement for selecting a server to provide distributed services from among multiple servers based on a location of a client device |
US11/134,336 Active 2028-05-31 US7747720B2 (en) | 2004-12-01 | 2005-05-23 | Arrangement for selecting a server to provide distributed services from among multiple servers based on a location of a client device |
Country Status (1)
Country | Link |
---|---|
US (4) | US20060117020A1 (en) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120040686A1 (en) * | 2010-08-13 | 2012-02-16 | Samsung Electronics Co., Ltd. | Mobile device and control method thereof |
US20120054347A1 (en) * | 2010-08-26 | 2012-03-01 | Futurewei Technologies, Inc. | Cross-Stratum Optimization Protocol |
US20120124239A1 (en) * | 2010-11-17 | 2012-05-17 | Hola, Inc. | Method and system for increasing speed of domain name system resolution within a computing device |
US20120173760A1 (en) * | 2010-12-30 | 2012-07-05 | International Business Machines Corporation | Domain name resolution for a hybrid cloud cluster |
US20120179749A1 (en) * | 2009-09-24 | 2012-07-12 | Sony Corporation | Communication method, communication system, server and program |
US20130117460A1 (en) * | 2011-11-09 | 2013-05-09 | Quanta Computer Inc. | Data management methods for use in a network system and network systems using the same |
US20130326066A1 (en) * | 2012-06-04 | 2013-12-05 | Internation Business Machine | Workload balancing between nodes in a cluster as required by allocations of ip addresses within a cluster |
US8639793B2 (en) | 2010-10-29 | 2014-01-28 | Cisco Technology, Inc. | Disaster recovery and automatic relocation of cloud services |
US8667138B2 (en) | 2010-10-29 | 2014-03-04 | Cisco Technology, Inc. | Distributed hierarchical rendering and provisioning of cloud services |
EP2782318A1 (en) | 2013-03-18 | 2014-09-24 | Koninklijke KPN N.V. | Allocating resources between network nodes for providing a network node function |
US20140330873A1 (en) * | 2013-05-03 | 2014-11-06 | Electronics And Telecommunications Research Institute | Method and system for deleting garbage files |
US8886750B1 (en) * | 2011-09-28 | 2014-11-11 | Amazon Technologies, Inc. | Alias resource record sets |
US8924392B2 (en) | 2011-05-23 | 2014-12-30 | Cisco Technology, Inc. | Clustering-based resource aggregation within a data center |
US9100298B2 (en) | 2011-05-23 | 2015-08-04 | Cisco Technology, Inc. | Host visibility as a network service |
US9235447B2 (en) | 2011-03-03 | 2016-01-12 | Cisco Technology, Inc. | Extensible attribute summarization |
US9362746B2 (en) | 2011-10-07 | 2016-06-07 | Cisco Technology, Inc. | Communication network topology management based on an associated electric grid topology |
US9444735B2 (en) | 2014-02-27 | 2016-09-13 | Cisco Technology, Inc. | Contextual summarization tag and type match using network subnetting |
Families Citing this family (180)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9154906B2 (en) | 2002-03-28 | 2015-10-06 | Telecommunication Systems, Inc. | Area watcher for wireless network |
US7426380B2 (en) | 2002-03-28 | 2008-09-16 | Telecommunication Systems, Inc. | Location derived presence information |
US7552237B2 (en) * | 2002-10-17 | 2009-06-23 | International Business Machines Corporation | Network address cache apparatus and method |
US20060206610A1 (en) * | 2005-03-09 | 2006-09-14 | Yibei Ling | Method, system and apparatus for location-aware content push service and location-based dynamic attachment |
US20060277268A1 (en) * | 2005-06-02 | 2006-12-07 | Everhart Craig F | Access method for file systems |
US8660573B2 (en) | 2005-07-19 | 2014-02-25 | Telecommunications Systems, Inc. | Location service requests throttling |
US9282451B2 (en) | 2005-09-26 | 2016-03-08 | Telecommunication Systems, Inc. | Automatic location identification (ALI) service requests steering, connection sharing and protocol translation |
US20070266162A1 (en) * | 2005-12-07 | 2007-11-15 | Microsoft Corporation | Session initiation protocol redirection for process recycling |
US7899450B2 (en) | 2006-03-01 | 2011-03-01 | Telecommunication Systems, Inc. | Cellular augmented radar/laser detection using local mobile network within cellular network |
US8532266B2 (en) | 2006-05-04 | 2013-09-10 | Telecommunication Systems, Inc. | Efficient usage of emergency services keys |
US8463284B2 (en) | 2006-07-17 | 2013-06-11 | Telecommunication Systems, Inc. | Short messaging system (SMS) proxy communications to enable location based services in wireless devices |
US8224713B2 (en) * | 2006-07-28 | 2012-07-17 | Visible World, Inc. | Systems and methods for enhanced information visualization |
US20080071616A1 (en) * | 2006-09-15 | 2008-03-20 | Speedus Corp. | System and Method for Ensuring Delivery of Advertising |
US9408046B2 (en) | 2006-10-03 | 2016-08-02 | Telecommunication Systems, Inc. | 911 data messaging |
US8516116B2 (en) * | 2006-11-30 | 2013-08-20 | Accenture Global Services Limited | Context-based routing of requests in a service-oriented architecture |
US7991910B2 (en) | 2008-11-17 | 2011-08-02 | Amazon Technologies, Inc. | Updating routing information based on client location |
US8028090B2 (en) | 2008-11-17 | 2011-09-27 | Amazon Technologies, Inc. | Request routing utilizing client location information |
US8099454B2 (en) * | 2007-08-03 | 2012-01-17 | International Business Machines Corporation | Staging a file within a distributed computing system |
US9413889B2 (en) | 2007-09-18 | 2016-08-09 | Telecommunication Systems, Inc. | House number normalization for master street address guide (MSAG) address matching |
US8954592B1 (en) * | 2007-11-05 | 2015-02-10 | Amazon Technologies, Inc. | Determining computing-related resources to use based on client-specified constraints |
US8019856B1 (en) * | 2007-11-07 | 2011-09-13 | Trend Micro Incorporated | Automatic mapping and location discovery of computers in computer networks |
BRPI0822330B1 (en) * | 2008-02-06 | 2020-09-24 | Nokia Solutions And Netwoks Oy | METHOD OF ACQUISITION OF SERVER IDENTIFIER BASED ON DEVICE LOCATION, APPLIANCE, DOMAIN NAME SYSTEM, SYSTEM FOR SIGNALING CONTROL INFORMATION AND MOBILE DEVICE |
US8849970B1 (en) * | 2008-02-07 | 2014-09-30 | Netapp, Inc. | Transparent redirection of clients to a surrogate payload server through the use of a proxy location server |
US8990349B2 (en) * | 2008-02-12 | 2015-03-24 | International Business Machines Corporation | Identifying a location of a server |
US8576991B2 (en) | 2008-03-19 | 2013-11-05 | Telecommunication Systems, Inc. | End-to-end logic tracing of complex call flows in a distributed call system |
US8601090B1 (en) | 2008-03-31 | 2013-12-03 | Amazon Technologies, Inc. | Network resource identification |
US8447831B1 (en) | 2008-03-31 | 2013-05-21 | Amazon Technologies, Inc. | Incentive driven content delivery |
US7970820B1 (en) | 2008-03-31 | 2011-06-28 | Amazon Technologies, Inc. | Locality based content distribution |
US8533293B1 (en) | 2008-03-31 | 2013-09-10 | Amazon Technologies, Inc. | Client side cache management |
US8606996B2 (en) | 2008-03-31 | 2013-12-10 | Amazon Technologies, Inc. | Cache optimization |
US8321568B2 (en) | 2008-03-31 | 2012-11-27 | Amazon Technologies, Inc. | Content management |
US8156243B2 (en) | 2008-03-31 | 2012-04-10 | Amazon Technologies, Inc. | Request routing |
US7962597B2 (en) | 2008-03-31 | 2011-06-14 | Amazon Technologies, Inc. | Request routing based on class |
US9407681B1 (en) | 2010-09-28 | 2016-08-02 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US9912740B2 (en) | 2008-06-30 | 2018-03-06 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US7925782B2 (en) | 2008-06-30 | 2011-04-12 | Amazon Technologies, Inc. | Request routing using network computing components |
US8954028B2 (en) * | 2008-09-25 | 2015-02-10 | Telecommunication Systems, Inc. | Geo-redundant and high reliability commercial mobile alert system (CMAS) |
US8892128B2 (en) | 2008-10-14 | 2014-11-18 | Telecommunication Systems, Inc. | Location based geo-reminders |
US8060616B1 (en) | 2008-11-17 | 2011-11-15 | Amazon Technologies, Inc. | Managing CDN registration by a storage provider |
US8521880B1 (en) | 2008-11-17 | 2013-08-27 | Amazon Technologies, Inc. | Managing content delivery network service providers |
US8065417B1 (en) | 2008-11-17 | 2011-11-22 | Amazon Technologies, Inc. | Service provider registration by a content broker |
US8732309B1 (en) | 2008-11-17 | 2014-05-20 | Amazon Technologies, Inc. | Request routing utilizing cost information |
US8073940B1 (en) | 2008-11-17 | 2011-12-06 | Amazon Technologies, Inc. | Managing content delivery network service providers |
US8122098B1 (en) | 2008-11-17 | 2012-02-21 | Amazon Technologies, Inc. | Managing content delivery network service providers by a content broker |
US8918761B1 (en) * | 2008-12-05 | 2014-12-23 | Amazon Technologies, Inc. | Elastic application framework for deploying software |
US8750863B2 (en) * | 2009-02-13 | 2014-06-10 | T-Mobile Usa, Inc. | Selection of roaming gateway |
US9036541B2 (en) * | 2009-02-17 | 2015-05-19 | T-Mobile Usa, Inc. | Location-based IMS server selection |
US8756341B1 (en) | 2009-03-27 | 2014-06-17 | Amazon Technologies, Inc. | Request routing utilizing popularity information |
US8521851B1 (en) | 2009-03-27 | 2013-08-27 | Amazon Technologies, Inc. | DNS query processing using resource identifiers specifying an application broker |
US8412823B1 (en) | 2009-03-27 | 2013-04-02 | Amazon Technologies, Inc. | Managing tracking information entries in resource cache components |
US8688837B1 (en) | 2009-03-27 | 2014-04-01 | Amazon Technologies, Inc. | Dynamically translating resource identifiers for request routing using popularity information |
US20100299349A1 (en) * | 2009-05-20 | 2010-11-25 | Microsoft Corporation | Reducing Latency in Returning Online Search Results |
US8874708B2 (en) * | 2009-05-26 | 2014-10-28 | Red Hat, Inc. | Location discovery based on DNS |
US8073972B2 (en) * | 2009-05-26 | 2011-12-06 | Red Hat, Inc. | System and method for location discovery based on DNS |
US8782236B1 (en) | 2009-06-16 | 2014-07-15 | Amazon Technologies, Inc. | Managing resources using resource expiration data |
EP2271058A1 (en) * | 2009-07-03 | 2011-01-05 | Siemens Aktiengesellschaft | Device and method of distributing and forwarding requirements to a number of web servers in an industrial automation system |
US20110035497A1 (en) * | 2009-08-05 | 2011-02-10 | Dynamic Network Services, Inc. | System and method for providing global server load balancing |
US8397073B1 (en) | 2009-09-04 | 2013-03-12 | Amazon Technologies, Inc. | Managing secure content in a content delivery network |
CA2774363C (en) | 2009-09-15 | 2020-06-23 | Comcast Cable Communications, Llc | Dynamic content packaging |
US8433771B1 (en) | 2009-10-02 | 2013-04-30 | Amazon Technologies, Inc. | Distribution network with forward resource propagation |
US20110107414A1 (en) * | 2009-11-03 | 2011-05-05 | Broadcom Corporation | System and Method for Location Assisted Virtual Private Networks |
US9495338B1 (en) | 2010-01-28 | 2016-11-15 | Amazon Technologies, Inc. | Content distribution network |
US11157919B2 (en) * | 2010-01-29 | 2021-10-26 | Ipar, Llc | Systems and methods for dynamic management of geo-fenced and geo-targeted media content and content alternatives in content management systems |
US8923309B2 (en) | 2010-04-29 | 2014-12-30 | T-Mobile Usa, Inc. | Managing access gateways |
US8538405B2 (en) | 2010-04-29 | 2013-09-17 | T-Mobile Usa, Inc. | Communication protocol preferences |
FR2962621A1 (en) * | 2010-07-08 | 2012-01-13 | Alcatel Lucent | ACCESS CONFIDENTIAL OR PROTECTED TO A NETWORK OF KNOTS DISTRIBUTED OVER A COMMUNICATION ARCHITECTURE USING A TOPOLOGY SERVER |
US8560410B2 (en) * | 2010-08-13 | 2013-10-15 | T-Mobile Usa, Inc. | Mapping a mobile device location to billing regions in internet protocol multimedia subsystems |
US8756272B1 (en) | 2010-08-26 | 2014-06-17 | Amazon Technologies, Inc. | Processing encoded content |
US8468247B1 (en) | 2010-09-28 | 2013-06-18 | Amazon Technologies, Inc. | Point of presence management in request routing |
US10958501B1 (en) | 2010-09-28 | 2021-03-23 | Amazon Technologies, Inc. | Request routing information based on client IP groupings |
US9712484B1 (en) | 2010-09-28 | 2017-07-18 | Amazon Technologies, Inc. | Managing request routing information utilizing client identifiers |
US8819283B2 (en) | 2010-09-28 | 2014-08-26 | Amazon Technologies, Inc. | Request routing in a networked environment |
US8930513B1 (en) | 2010-09-28 | 2015-01-06 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US8924528B1 (en) | 2010-09-28 | 2014-12-30 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US10097398B1 (en) | 2010-09-28 | 2018-10-09 | Amazon Technologies, Inc. | Point of presence management in request routing |
US8938526B1 (en) | 2010-09-28 | 2015-01-20 | Amazon Technologies, Inc. | Request routing management based on network components |
US9003035B1 (en) | 2010-09-28 | 2015-04-07 | Amazon Technologies, Inc. | Point of presence management in request routing |
US8577992B1 (en) | 2010-09-28 | 2013-11-05 | Amazon Technologies, Inc. | Request routing management based on network components |
US8452874B2 (en) | 2010-11-22 | 2013-05-28 | Amazon Technologies, Inc. | Request routing processing |
US9391949B1 (en) | 2010-12-03 | 2016-07-12 | Amazon Technologies, Inc. | Request routing processing |
US8626950B1 (en) | 2010-12-03 | 2014-01-07 | Amazon Technologies, Inc. | Request routing processing |
EP2652980A2 (en) * | 2010-12-13 | 2013-10-23 | TeleCommunication Systems, Inc. | Location services gateway server |
US8688087B2 (en) | 2010-12-17 | 2014-04-01 | Telecommunication Systems, Inc. | N-dimensional affinity confluencer |
WO2012087353A1 (en) | 2010-12-22 | 2012-06-28 | Telecommunication Systems, Inc. | Area event handling when current network does not cover target area |
KR20120101609A (en) * | 2011-03-04 | 2012-09-14 | 삼성전자주식회사 | Server, system and method for offering distributed service |
US10467042B1 (en) | 2011-04-27 | 2019-11-05 | Amazon Technologies, Inc. | Optimized deployment based upon customer locality |
US8892708B2 (en) * | 2011-07-11 | 2014-11-18 | Cisco Technology, Inc. | Placement of service delivery locations of a distributed computing service based on logical topology |
US8854397B2 (en) * | 2011-12-13 | 2014-10-07 | Facebook, Inc. | Photo selection for mobile devices |
US8904009B1 (en) | 2012-02-10 | 2014-12-02 | Amazon Technologies, Inc. | Dynamic content delivery |
US10021179B1 (en) | 2012-02-21 | 2018-07-10 | Amazon Technologies, Inc. | Local resource delivery network |
US9083743B1 (en) | 2012-03-21 | 2015-07-14 | Amazon Technologies, Inc. | Managing request routing information utilizing performance information |
US10054933B2 (en) * | 2012-03-27 | 2018-08-21 | Sirqul, Inc. | Controlling distributed device operations |
US10623408B1 (en) | 2012-04-02 | 2020-04-14 | Amazon Technologies, Inc. | Context sensitive object management |
US9391855B2 (en) | 2012-05-09 | 2016-07-12 | Everbridge, Inc. | Systems and methods for simulating a notification system |
US9740708B2 (en) * | 2012-05-01 | 2017-08-22 | Everbridge, Inc. | Systems and methods for distance and performance based load balancing |
US9185070B2 (en) | 2012-05-17 | 2015-11-10 | Harris Corporation | MANET with DNS database resource management and related methods |
US9444779B2 (en) * | 2012-06-04 | 2016-09-13 | Microsoft Technology Lincensing, LLC | Dynamic and intelligent DNS routing with subzones |
US9154551B1 (en) | 2012-06-11 | 2015-10-06 | Amazon Technologies, Inc. | Processing DNS queries to identify pre-processing information |
US9525659B1 (en) | 2012-09-04 | 2016-12-20 | Amazon Technologies, Inc. | Request routing utilizing point of presence load information |
US9323577B2 (en) | 2012-09-20 | 2016-04-26 | Amazon Technologies, Inc. | Automated profiling of resource usage |
US9135048B2 (en) | 2012-09-20 | 2015-09-15 | Amazon Technologies, Inc. | Automated profiling of resource usage |
US20140089384A1 (en) * | 2012-09-27 | 2014-03-27 | International Business Machines Corporation | Server resource selection on a network for a mobile client |
US9774488B2 (en) * | 2012-10-18 | 2017-09-26 | Tara Chand Singhal | Apparatus and method for a thin form-factor technology for use in handheld smart phone and tablet devices |
GB2507105A (en) | 2012-10-19 | 2014-04-23 | Ibm | Consumer location-based host service placement |
US10205698B1 (en) | 2012-12-19 | 2019-02-12 | Amazon Technologies, Inc. | Source-dependent address resolution |
US9176917B2 (en) * | 2013-02-28 | 2015-11-03 | Hewlett-Packard Development Company, L.P. | SAS latency based routing |
US20140280335A1 (en) * | 2013-03-12 | 2014-09-18 | Qualcomm Incorporated | System and method to allow a domain name server to process a natural language query and determine context |
US9712608B2 (en) * | 2013-03-14 | 2017-07-18 | Microsoft Technology Licensing, Llc | Elastically scalable document-oriented storage services |
CN103269282A (en) | 2013-04-25 | 2013-08-28 | 杭州华三通信技术有限公司 | Method and device for automatically deploying network configuration |
US9294391B1 (en) | 2013-06-04 | 2016-03-22 | Amazon Technologies, Inc. | Managing network computing components utilizing request routing |
US9516104B2 (en) | 2013-09-11 | 2016-12-06 | Telecommunication Systems, Inc. | Intelligent load balancer enhanced routing |
US9887958B2 (en) | 2013-09-16 | 2018-02-06 | Netflix, Inc. | Configuring DNS clients |
US9998354B2 (en) * | 2013-09-24 | 2018-06-12 | Netflix, Inc. | Server selection for content distribution |
CN105683984A (en) | 2013-09-28 | 2016-06-15 | 迈克菲股份有限公司 | Efficient request-response routing over a data exchange layer |
WO2015047439A1 (en) * | 2013-09-28 | 2015-04-02 | Mcafee, Inc. | Service-oriented architecture |
CN105519041B (en) | 2013-09-28 | 2019-03-01 | 迈克菲股份有限公司 | The frame of secure connection |
US9654341B2 (en) | 2014-02-20 | 2017-05-16 | Cisco Technology, Inc. | Client device awareness of network context for mobile optimzation |
US11553018B2 (en) | 2014-04-08 | 2023-01-10 | Comcast Cable Communications, Llc | Dynamically switched multicast delivery |
US10091131B2 (en) * | 2014-07-10 | 2018-10-02 | International Business Machines Corporation | Increased network resources in exchange for sharing of device resources |
US10003655B2 (en) * | 2014-09-10 | 2018-06-19 | Verizon Patent And Licensing Inc. | Provisioning network devices based on network connectivity type |
US10097448B1 (en) | 2014-12-18 | 2018-10-09 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10091096B1 (en) | 2014-12-18 | 2018-10-02 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10033627B1 (en) | 2014-12-18 | 2018-07-24 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10225326B1 (en) | 2015-03-23 | 2019-03-05 | Amazon Technologies, Inc. | Point of presence based data uploading |
US9819567B1 (en) | 2015-03-30 | 2017-11-14 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US9887932B1 (en) | 2015-03-30 | 2018-02-06 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US9887931B1 (en) | 2015-03-30 | 2018-02-06 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US9832141B1 (en) | 2015-05-13 | 2017-11-28 | Amazon Technologies, Inc. | Routing based request correlation |
CN106331775B (en) * | 2015-06-17 | 2019-10-01 | 阿里巴巴集团控股有限公司 | Equipment connection method, device and intelligent television system |
US10616179B1 (en) | 2015-06-25 | 2020-04-07 | Amazon Technologies, Inc. | Selective routing of domain name system (DNS) requests |
US10097566B1 (en) | 2015-07-31 | 2018-10-09 | Amazon Technologies, Inc. | Identifying targets of network attacks |
US9794281B1 (en) | 2015-09-24 | 2017-10-17 | Amazon Technologies, Inc. | Identifying sources of network attacks |
US9742795B1 (en) | 2015-09-24 | 2017-08-22 | Amazon Technologies, Inc. | Mitigating network attacks |
US9774619B1 (en) | 2015-09-24 | 2017-09-26 | Amazon Technologies, Inc. | Mitigating network attacks |
US10270878B1 (en) | 2015-11-10 | 2019-04-23 | Amazon Technologies, Inc. | Routing for origin-facing points of presence |
US10257307B1 (en) | 2015-12-11 | 2019-04-09 | Amazon Technologies, Inc. | Reserved cache space in content delivery networks |
US10049051B1 (en) | 2015-12-11 | 2018-08-14 | Amazon Technologies, Inc. | Reserved cache space in content delivery networks |
US10348639B2 (en) | 2015-12-18 | 2019-07-09 | Amazon Technologies, Inc. | Use of virtual endpoints to improve data transmission rates |
US10111273B2 (en) | 2016-05-24 | 2018-10-23 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Communication paths hierarchy for managed computing device |
US10637736B2 (en) * | 2016-06-06 | 2020-04-28 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd | Acquisition of information from managed computing device not communicatively connected to management computing device |
US10075551B1 (en) | 2016-06-06 | 2018-09-11 | Amazon Technologies, Inc. | Request management for hierarchical cache |
US10110694B1 (en) | 2016-06-29 | 2018-10-23 | Amazon Technologies, Inc. | Adaptive transfer rate for retrieving content from a server |
US9992086B1 (en) | 2016-08-23 | 2018-06-05 | Amazon Technologies, Inc. | External health checking of virtual private cloud network environments |
US10033691B1 (en) | 2016-08-24 | 2018-07-24 | Amazon Technologies, Inc. | Adaptive resolution of domain name requests in virtual private cloud network environments |
US10469513B2 (en) | 2016-10-05 | 2019-11-05 | Amazon Technologies, Inc. | Encrypted network addresses |
US10789640B1 (en) * | 2016-11-07 | 2020-09-29 | Wells Fargo Bank, N.A. | Integrating a wallet client with federated directory services |
US10831549B1 (en) | 2016-12-27 | 2020-11-10 | Amazon Technologies, Inc. | Multi-region request-driven code execution system |
US10372499B1 (en) | 2016-12-27 | 2019-08-06 | Amazon Technologies, Inc. | Efficient region selection system for executing request-driven code |
US10938884B1 (en) | 2017-01-30 | 2021-03-02 | Amazon Technologies, Inc. | Origin server cloaking using virtual private cloud network environments |
US10503613B1 (en) | 2017-04-21 | 2019-12-10 | Amazon Technologies, Inc. | Efficient serving of resources during server unavailability |
US11075987B1 (en) | 2017-06-12 | 2021-07-27 | Amazon Technologies, Inc. | Load estimating content delivery network |
US10447648B2 (en) | 2017-06-19 | 2019-10-15 | Amazon Technologies, Inc. | Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP |
US10742593B1 (en) | 2017-09-25 | 2020-08-11 | Amazon Technologies, Inc. | Hybrid content request routing system |
US10592578B1 (en) | 2018-03-07 | 2020-03-17 | Amazon Technologies, Inc. | Predictive content push-enabled content delivery network |
EP3871401B1 (en) * | 2018-10-26 | 2024-04-17 | Akamai Technologies, Inc. | Dns everywhere |
US10862852B1 (en) | 2018-11-16 | 2020-12-08 | Amazon Technologies, Inc. | Resolution of domain name requests in heterogeneous network environments |
US11025747B1 (en) | 2018-12-12 | 2021-06-01 | Amazon Technologies, Inc. | Content request pattern-based routing system |
US11240155B2 (en) * | 2019-03-29 | 2022-02-01 | Intel Corporation | Technologies for network device load balancers for accelerated functions as a service |
JP7311384B2 (en) * | 2019-10-04 | 2023-07-19 | 株式会社日立製作所 | Display information processing device, display information processing method, and display information processing program |
CN114268619B (en) * | 2020-09-15 | 2024-06-28 | 英业达科技有限公司 | System and method for selecting mirror server to obtain data according to identification data |
CN112564274B (en) * | 2020-10-30 | 2022-06-17 | 福建网能科技开发有限责任公司 | Automatic topology identification method for electric intelligent distribution area |
US12058243B2 (en) | 2021-06-09 | 2024-08-06 | Whitestar Communications, Inc. | Identity management system establishing two-way trusted relationships in a secure peer-to-peer data network |
US11924177B2 (en) | 2021-06-11 | 2024-03-05 | Whitestar Communications, Inc. | Crypto-signed switching between two-way trusted network devices in a secure peer-to-peer data network |
US11924229B2 (en) | 2021-06-29 | 2024-03-05 | Whitestar Communications, Inc. | Distributed security in a secure peer-to-peer data network based on real-time sentinel protection of network devices |
US11949717B2 (en) | 2021-06-29 | 2024-04-02 | Whitestar Communications, Inc. | Distributed security in a secure peer-to-peer data network based on real-time navigator protection of network devices |
US12081558B2 (en) | 2021-06-29 | 2024-09-03 | Whitestar Communications, Inc. | Distributed security in a secure peer-to-peer data network based on real-time guardian protection of network devices |
US12113785B2 (en) | 2021-07-12 | 2024-10-08 | Whitestar Communications, Inc. | Directory server providing tag enforcement and network entity attraction in a secure peer-to-peer data network |
US11582241B1 (en) | 2021-07-22 | 2023-02-14 | Whitestar Communications, Inc. | Community server for secure hosting of community forums via network operating system in secure data network |
US11792186B2 (en) | 2021-07-29 | 2023-10-17 | Whitestar Communications, Inc. | Secure peer-to-peer based communication sessions via network operating system in secure data network |
US11784813B2 (en) | 2021-07-30 | 2023-10-10 | Whitestar Communications, Inc. | Crypto tunnelling between two-way trusted network devices in a secure peer-to-peer data network |
US12058122B2 (en) | 2021-08-23 | 2024-08-06 | Whitestar Communications, Inc. | Password concatenation for secure command execution in a secure network device |
US11870899B2 (en) | 2021-08-30 | 2024-01-09 | Whitestar Communications, Inc. | Secure device access recovery based on validating encrypted target password from secure recovery container in trusted recovery device |
US11582201B1 (en) | 2021-09-16 | 2023-02-14 | Whitestar Communications, Inc. | Establishing and maintaining trusted relationship between secure network devices in secure peer-to-peer data network based on obtaining secure device identity containers |
US12088590B2 (en) | 2021-10-07 | 2024-09-10 | Whitestar Communications, Inc. | Secure keyboard resource limiting access of user input to destination resource requesting the user input |
US12010245B2 (en) * | 2021-11-09 | 2024-06-11 | Whitestar Communications, Inc. | Secure assistance for asynchronous task completion by unavailable endpoint device upon restored availability in a secure peer-to-peer data network |
US12069032B2 (en) | 2021-11-22 | 2024-08-20 | Whitestar Communications, Inc. | Autonomic distribution of hyperlinked hypercontent in a secure peer-to-peer data network |
US12052266B2 (en) | 2021-12-16 | 2024-07-30 | Whitestar Communications, Inc. | Secure streaming media based on updating hypercontent in a secure peer-to-peer data network |
US11811755B2 (en) | 2022-01-20 | 2023-11-07 | Whitestar Communications, Inc. | Dynamic secure keyboard resource obtaining interface definitions for secure ad-hoc control of a target device in a secure peer-to-peer data network |
US11848763B2 (en) | 2022-01-20 | 2023-12-19 | Whitestar Communications, Inc. | Secure ad-hoc deployment of IoT devices in a secure peer-to-peer data network |
US11909816B2 (en) * | 2022-01-21 | 2024-02-20 | Dell Products L.P. | Distributed network address discovery in non-uniform networks |
Citations (89)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5519704A (en) * | 1994-04-21 | 1996-05-21 | Cisco Systems, Inc. | Reliable transport protocol for internetwork routing |
US6061335A (en) * | 1997-07-24 | 2000-05-09 | At&T Corp | Method for designing SONET ring networks suitable for local access |
US6078960A (en) * | 1998-07-03 | 2000-06-20 | Acceleration Software International Corporation | Client-side load-balancing in client server network |
US6085234A (en) * | 1994-11-28 | 2000-07-04 | Inca Technology, Inc. | Remote file services network-infrastructure cache |
US6182224B1 (en) * | 1995-09-29 | 2001-01-30 | Cisco Systems, Inc. | Enhanced network services using a subnetwork of communicating processors |
US6208616B1 (en) * | 1997-05-13 | 2001-03-27 | 3Com Corporation | System for detecting errors in a network |
US6226684B1 (en) * | 1998-10-26 | 2001-05-01 | Pointcast, Inc. | Method and apparatus for reestablishing network connections in a multi-router network |
US6292813B1 (en) * | 1997-11-17 | 2001-09-18 | Mark A. Wolfe | System and method for communicating information relating to a network resource |
US20010025313A1 (en) * | 2000-01-28 | 2001-09-27 | Nan Feng | Method of balancing load among mirror servers |
US6304913B1 (en) * | 1998-11-09 | 2001-10-16 | Telefonaktiebolaget L M Ericsson (Publ) | Internet system and method for selecting a closest server from a plurality of alternative servers |
US20010051955A1 (en) * | 2000-03-17 | 2001-12-13 | Wong John P. | Mirror file system |
US20020038360A1 (en) * | 2000-05-31 | 2002-03-28 | Matthew Andrews | System and method for locating a closest server in response to a client domain name request |
US20020049842A1 (en) * | 2000-08-17 | 2002-04-25 | Matthias Huetsch | Load balancing method and system |
US20020049841A1 (en) * | 2000-03-03 | 2002-04-25 | Johnson Scott C | Systems and methods for providing differentiated service in information management environments |
US20020065912A1 (en) * | 2000-11-30 | 2002-05-30 | Catchpole Lawrence W. | Web session collaboration |
US20020087707A1 (en) * | 2000-12-29 | 2002-07-04 | Stewart Daniel B. | Network protocols for distributing functions within a network |
US6470389B1 (en) * | 1997-03-14 | 2002-10-22 | Lucent Technologies Inc. | Hosting a network service on a cluster of servers using a single-address image |
US20020161718A1 (en) * | 1998-08-04 | 2002-10-31 | Coley Christopher D. | Automated system for management of licensed software |
US20020169890A1 (en) * | 2001-05-08 | 2002-11-14 | Beaumont Leland R. | Technique for content delivery over the internet |
US20020199014A1 (en) * | 2001-03-26 | 2002-12-26 | Accton Technology Corporation | Configurable and high-speed content-aware routing method |
US20020198961A1 (en) * | 1999-08-27 | 2002-12-26 | Balachander Krishnamurthy | Method for improving web performance by client characterization-driven server adaptation |
US20030002484A1 (en) * | 2001-06-06 | 2003-01-02 | Freedman Avraham T. | Content delivery network map generation using passive measurement data |
US20030005152A1 (en) * | 2001-03-09 | 2003-01-02 | Arif Diwan | Content-request redirection method and system |
US20030046334A1 (en) * | 2001-08-29 | 2003-03-06 | Simpson Shell S. | Client resident service that launches a browser to provide device status |
WO2003021395A2 (en) * | 2001-09-05 | 2003-03-13 | Eli Abir | Method and apparatus for dynamic client-side load balancing system |
US6553310B1 (en) * | 2000-11-14 | 2003-04-22 | Hewlett-Packard Company | Method of and apparatus for topologically based retrieval of information |
US20030084178A1 (en) * | 2001-10-31 | 2003-05-01 | Simpson Shell S. | Web-based imaging service supporting specialized media detected through multipurpose tray |
US20030095500A1 (en) * | 2001-10-23 | 2003-05-22 | Sycamore Networks, Inc. | Methods for distributed shared mesh restoration for optical networks |
US20030101278A1 (en) * | 2000-03-16 | 2003-05-29 | J.J. Garcia-Luna-Aceves | System and method for directing clients to optimal servers in computer networks |
US20030126283A1 (en) * | 2001-12-31 | 2003-07-03 | Ramkrishna Prakash | Architectural basis for the bridging of SAN and LAN infrastructures |
US6598071B1 (en) * | 1998-07-27 | 2003-07-22 | Hitachi, Ltd. | Communication apparatus and method of hand over of an assigned group address from one communication apparatus to another |
US20030149755A1 (en) * | 2002-02-06 | 2003-08-07 | Emek Sadot | Client-controlled load balancer |
US6606643B1 (en) * | 2000-01-04 | 2003-08-12 | International Business Machines Corporation | Method of automatically selecting a mirror server for web-based client-host interaction |
US20030195984A1 (en) * | 1998-07-15 | 2003-10-16 | Radware Ltd. | Load balancing |
US20030195919A1 (en) * | 2002-03-26 | 2003-10-16 | Tatsuya Watanuki | Packet distributing system and method for distributing access packets to a plurality of server apparatuses |
US20030200307A1 (en) * | 2000-03-16 | 2003-10-23 | Jyoti Raju | System and method for information object routing in computer networks |
US6643704B1 (en) * | 1999-03-23 | 2003-11-04 | Koninklijke Philips Electronics N.V. | Data network load management |
US20030208563A1 (en) * | 2002-05-06 | 2003-11-06 | Micron Technology, Inc. | Web dispatch service |
US20030225873A1 (en) * | 2002-05-30 | 2003-12-04 | Wade Michael A. | Optimization of network performance through uni-directional encapsulation |
US6678719B1 (en) * | 1999-12-20 | 2004-01-13 | Mediaone Group, Inc. | Virtual workplace intercommunication tool |
US20040054771A1 (en) * | 2002-08-12 | 2004-03-18 | Roe Glen E. | Method and apparatus for the remote retrieval and viewing of diagnostic information from a set-top box |
US6714519B2 (en) * | 2000-11-03 | 2004-03-30 | Vocaltec Communications Limited | Communications availability |
US6724733B1 (en) * | 1999-11-02 | 2004-04-20 | Sun Microsystems, Inc. | Method and apparatus for determining approximate network distances using reference locations |
US6735741B1 (en) * | 1999-07-30 | 2004-05-11 | International Business Machines Corporation | Method system, and program for dynamic resource linking when copies are maintained at different storage locations |
US6738813B1 (en) * | 2000-09-11 | 2004-05-18 | Mercury Interactive Corporation | System and method for monitoring performance of a server system using otherwise unused processing capacity of user computing devices |
US20040103194A1 (en) * | 2002-11-21 | 2004-05-27 | Docomo Communicatios Laboratories Usa, Inc. | Method and system for server load balancing |
US6810411B1 (en) * | 1999-09-13 | 2004-10-26 | Intel Corporation | Method and system for selecting a host in a communications network |
US20040223491A1 (en) * | 2003-05-06 | 2004-11-11 | Levy-Abegnoli Eric M. | Arrangement in a router for distributing a routing rule used to generate routes based on a pattern of a received packet |
US20040236865A1 (en) * | 1996-03-08 | 2004-11-25 | Actv, Inc. | Enhanced video programming system and method for incorporating and displaying retrieved integrated internet information segments |
US20040249939A1 (en) * | 2003-05-23 | 2004-12-09 | International Business Machines Corporation | Methods and apparatus for dynamic and optimal server set selection |
US20040254979A1 (en) * | 2003-06-13 | 2004-12-16 | Colling Aaron M. | Mechanism for supporting browser navigation while preserving important application return states |
US20040260745A1 (en) * | 2003-06-18 | 2004-12-23 | Gage Christopher A. S. | Load balancer performance using affinity modification |
US20040267930A1 (en) * | 2003-06-26 | 2004-12-30 | International Business Machines Corporation | Slow-dynamic load balancing method and system |
US20040264385A1 (en) * | 2003-06-30 | 2004-12-30 | Hennessey Wade L | Method and apparatus for determining network topology in a peer-to-peer network |
US20050021725A1 (en) * | 2003-06-30 | 2005-01-27 | Johannes Lobbert | Distance-aware service discovery mechanism for determining the availability of remote services in wireless personal area networks |
US20050033858A1 (en) * | 2000-07-19 | 2005-02-10 | Swildens Eric Sven-Johan | Load balancing service |
US6883028B1 (en) * | 1998-10-20 | 2005-04-19 | Cisco Technology, Inc. | Apparatus and method for performing traffic redirection in a distributed system using a portion metric |
US20050216598A1 (en) * | 2004-03-23 | 2005-09-29 | Taiwan Semiconductor Manufacturing Co., Ltd. | Network access system and associated methods |
US20050267970A1 (en) * | 2004-05-11 | 2005-12-01 | Fujitsu Limited | Load balancing apparatus and method |
US6973033B1 (en) * | 1999-12-30 | 2005-12-06 | At&T Corp. | Method and apparatus for provisioning and monitoring internet protocol quality of service |
US6975619B1 (en) * | 2000-03-20 | 2005-12-13 | Lucent Technologies Inc. | System and method for providing host geographic location information in a packet data network |
US6978447B1 (en) * | 2001-02-28 | 2005-12-20 | Cisco Technology, Inc. | Method and system for efficiently interpreting a computer program |
US20060031393A1 (en) * | 2004-01-28 | 2006-02-09 | Cooney John M | System and method of binding a client to a server |
US7006453B1 (en) * | 2000-03-14 | 2006-02-28 | Lucent Technologies Inc. | Location based routing for mobile ad-hoc networks |
US20060045039A1 (en) * | 2004-06-25 | 2006-03-02 | Fujitsu Limited | Program, method, and device for managing system configuration |
US7016682B2 (en) * | 2002-03-04 | 2006-03-21 | Air Broadband Communications, Inc. | Hybrid wireless access bridge and mobile access router system and method |
US20060089935A1 (en) * | 2004-10-26 | 2006-04-27 | Microsoft Corporation | Failover and load balancing for server clusters |
US7043563B2 (en) * | 2000-04-17 | 2006-05-09 | Circadence Corporation | Method and system for redirection to arbitrary front-ends in a communication system |
US20060130064A1 (en) * | 2002-03-19 | 2006-06-15 | Srivastava Sunil K | Method providing server affinity and client stickiness in a server load balancing device without TCP termination and without keeping flow states |
US20060179431A1 (en) * | 2003-03-19 | 2006-08-10 | Unisys Corporation | Rules-based deployment of computing components |
US7103664B1 (en) * | 2000-05-31 | 2006-09-05 | International Business Machines Corporation | Method, system and program products for ordering lists of service addresses to provide load balancing of a clustered environment |
US20060224725A1 (en) * | 2005-04-05 | 2006-10-05 | Bali Bahri B | On-demand global server load balancing system and method of use |
US7143169B1 (en) * | 2002-04-04 | 2006-11-28 | Cisco Technology, Inc. | Methods and apparatus for directing messages to computer systems based on inserted data |
US20060271655A1 (en) * | 2003-05-21 | 2006-11-30 | Nitgen Technologies Co., Ltd. | Intelligent traffic management system for networks and intelligent traffic management method using the same |
US20060271530A1 (en) * | 2003-06-30 | 2006-11-30 | Bauer Daniel M | Retrieving a replica of an electronic document in a computer network |
US20070018630A1 (en) * | 2004-01-14 | 2007-01-25 | Jurgen Oehm | Transistor arrangement with temperature compensation and method for temperature compensation |
US7254626B1 (en) * | 2000-09-26 | 2007-08-07 | Foundry Networks, Inc. | Global server load balancing |
US7310686B2 (en) * | 2002-10-27 | 2007-12-18 | Paxfire, Inc. | Apparatus and method for transparent selection of an Internet server based on geographic location of a user |
US20070294387A1 (en) * | 2003-02-08 | 2007-12-20 | Grex Games Limited | System Architecture for Load Balancing in Distributed Multi-User Application |
US7313631B1 (en) * | 1999-09-06 | 2007-12-25 | University Of Bristol | DNS updating in communication network |
US7320131B1 (en) * | 2001-06-06 | 2008-01-15 | Cisco Technology, Inc. | Methods and apparatus for selecting a server to process a request |
US7343422B2 (en) * | 2000-04-28 | 2008-03-11 | Adara Networks, Inc. | System and method for using uniform resource locators to map application layer content names to network layer anycast addresses |
US20080259815A1 (en) * | 2004-07-30 | 2008-10-23 | Gorman Sean P | System and method of mapping and analyzing vulnerabilities in networks |
US7562125B2 (en) * | 2005-02-02 | 2009-07-14 | Cisco Technology, Inc. | Techniques for locating distributed objects on a network based on physical communication costs |
US7571232B2 (en) * | 2004-03-22 | 2009-08-04 | Microsoft Corporation | Method and apparatus for managing channel information |
US7984148B2 (en) * | 1998-07-15 | 2011-07-19 | Radware Ltd. | Load balancing |
US7990847B1 (en) * | 2005-04-15 | 2011-08-02 | Cisco Technology, Inc. | Method and system for managing servers in a server cluster |
US8010644B1 (en) * | 2005-02-23 | 2011-08-30 | Sprint Communications Company L.P. | Method and system for deploying a network monitoring service within a communication network |
US20130100958A1 (en) * | 2011-10-24 | 2013-04-25 | A10 Networks, Inc. | Methods to combine stateless and stateful server load balancing |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7269162B1 (en) * | 2001-07-20 | 2007-09-11 | Cisco Technology, Inc. | Integration of presence services with a network enabled telephony device |
US8051170B2 (en) * | 2005-02-10 | 2011-11-01 | Cisco Technology, Inc. | Distributed computing based on multiple nodes with determined capacity selectively joining resource groups having resource requirements |
-
2005
- 2005-03-17 US US11/081,694 patent/US20060117020A1/en not_active Abandoned
- 2005-04-21 US US11/110,863 patent/US7792989B2/en not_active Expired - Fee Related
- 2005-05-23 US US11/134,336 patent/US7747720B2/en active Active
-
2010
- 2010-06-04 US US12/793,900 patent/US20100250668A1/en not_active Abandoned
Patent Citations (92)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5519704A (en) * | 1994-04-21 | 1996-05-21 | Cisco Systems, Inc. | Reliable transport protocol for internetwork routing |
US6085234A (en) * | 1994-11-28 | 2000-07-04 | Inca Technology, Inc. | Remote file services network-infrastructure cache |
US6182224B1 (en) * | 1995-09-29 | 2001-01-30 | Cisco Systems, Inc. | Enhanced network services using a subnetwork of communicating processors |
US20040236865A1 (en) * | 1996-03-08 | 2004-11-25 | Actv, Inc. | Enhanced video programming system and method for incorporating and displaying retrieved integrated internet information segments |
US6470389B1 (en) * | 1997-03-14 | 2002-10-22 | Lucent Technologies Inc. | Hosting a network service on a cluster of servers using a single-address image |
US6208616B1 (en) * | 1997-05-13 | 2001-03-27 | 3Com Corporation | System for detecting errors in a network |
US6061335A (en) * | 1997-07-24 | 2000-05-09 | At&T Corp | Method for designing SONET ring networks suitable for local access |
US6292813B1 (en) * | 1997-11-17 | 2001-09-18 | Mark A. Wolfe | System and method for communicating information relating to a network resource |
US6078960A (en) * | 1998-07-03 | 2000-06-20 | Acceleration Software International Corporation | Client-side load-balancing in client server network |
US20030195984A1 (en) * | 1998-07-15 | 2003-10-16 | Radware Ltd. | Load balancing |
US7984148B2 (en) * | 1998-07-15 | 2011-07-19 | Radware Ltd. | Load balancing |
US6598071B1 (en) * | 1998-07-27 | 2003-07-22 | Hitachi, Ltd. | Communication apparatus and method of hand over of an assigned group address from one communication apparatus to another |
US20020161718A1 (en) * | 1998-08-04 | 2002-10-31 | Coley Christopher D. | Automated system for management of licensed software |
US6883028B1 (en) * | 1998-10-20 | 2005-04-19 | Cisco Technology, Inc. | Apparatus and method for performing traffic redirection in a distributed system using a portion metric |
US6226684B1 (en) * | 1998-10-26 | 2001-05-01 | Pointcast, Inc. | Method and apparatus for reestablishing network connections in a multi-router network |
US6304913B1 (en) * | 1998-11-09 | 2001-10-16 | Telefonaktiebolaget L M Ericsson (Publ) | Internet system and method for selecting a closest server from a plurality of alternative servers |
US6643704B1 (en) * | 1999-03-23 | 2003-11-04 | Koninklijke Philips Electronics N.V. | Data network load management |
US6735741B1 (en) * | 1999-07-30 | 2004-05-11 | International Business Machines Corporation | Method system, and program for dynamic resource linking when copies are maintained at different storage locations |
US20020198961A1 (en) * | 1999-08-27 | 2002-12-26 | Balachander Krishnamurthy | Method for improving web performance by client characterization-driven server adaptation |
US7313631B1 (en) * | 1999-09-06 | 2007-12-25 | University Of Bristol | DNS updating in communication network |
US6810411B1 (en) * | 1999-09-13 | 2004-10-26 | Intel Corporation | Method and system for selecting a host in a communications network |
US6724733B1 (en) * | 1999-11-02 | 2004-04-20 | Sun Microsystems, Inc. | Method and apparatus for determining approximate network distances using reference locations |
US6678719B1 (en) * | 1999-12-20 | 2004-01-13 | Mediaone Group, Inc. | Virtual workplace intercommunication tool |
US6973033B1 (en) * | 1999-12-30 | 2005-12-06 | At&T Corp. | Method and apparatus for provisioning and monitoring internet protocol quality of service |
US6606643B1 (en) * | 2000-01-04 | 2003-08-12 | International Business Machines Corporation | Method of automatically selecting a mirror server for web-based client-host interaction |
US20010025313A1 (en) * | 2000-01-28 | 2001-09-27 | Nan Feng | Method of balancing load among mirror servers |
US20020049841A1 (en) * | 2000-03-03 | 2002-04-25 | Johnson Scott C | Systems and methods for providing differentiated service in information management environments |
US7006453B1 (en) * | 2000-03-14 | 2006-02-28 | Lucent Technologies Inc. | Location based routing for mobile ad-hoc networks |
US20030101278A1 (en) * | 2000-03-16 | 2003-05-29 | J.J. Garcia-Luna-Aceves | System and method for directing clients to optimal servers in computer networks |
US20030200307A1 (en) * | 2000-03-16 | 2003-10-23 | Jyoti Raju | System and method for information object routing in computer networks |
US7162539B2 (en) * | 2000-03-16 | 2007-01-09 | Adara Networks, Inc. | System and method for discovering information objects and information object repositories in computer networks |
US20010051955A1 (en) * | 2000-03-17 | 2001-12-13 | Wong John P. | Mirror file system |
US6975619B1 (en) * | 2000-03-20 | 2005-12-13 | Lucent Technologies Inc. | System and method for providing host geographic location information in a packet data network |
US7043563B2 (en) * | 2000-04-17 | 2006-05-09 | Circadence Corporation | Method and system for redirection to arbitrary front-ends in a communication system |
US7343422B2 (en) * | 2000-04-28 | 2008-03-11 | Adara Networks, Inc. | System and method for using uniform resource locators to map application layer content names to network layer anycast addresses |
US7103664B1 (en) * | 2000-05-31 | 2006-09-05 | International Business Machines Corporation | Method, system and program products for ordering lists of service addresses to provide load balancing of a clustered environment |
US7020698B2 (en) * | 2000-05-31 | 2006-03-28 | Lucent Technologies Inc. | System and method for locating a closest server in response to a client domain name request |
US20020038360A1 (en) * | 2000-05-31 | 2002-03-28 | Matthew Andrews | System and method for locating a closest server in response to a client domain name request |
US20050033858A1 (en) * | 2000-07-19 | 2005-02-10 | Swildens Eric Sven-Johan | Load balancing service |
US20020049842A1 (en) * | 2000-08-17 | 2002-04-25 | Matthias Huetsch | Load balancing method and system |
US6738813B1 (en) * | 2000-09-11 | 2004-05-18 | Mercury Interactive Corporation | System and method for monitoring performance of a server system using otherwise unused processing capacity of user computing devices |
US7254626B1 (en) * | 2000-09-26 | 2007-08-07 | Foundry Networks, Inc. | Global server load balancing |
US6714519B2 (en) * | 2000-11-03 | 2004-03-30 | Vocaltec Communications Limited | Communications availability |
US6553310B1 (en) * | 2000-11-14 | 2003-04-22 | Hewlett-Packard Company | Method of and apparatus for topologically based retrieval of information |
US20020065912A1 (en) * | 2000-11-30 | 2002-05-30 | Catchpole Lawrence W. | Web session collaboration |
US20020087707A1 (en) * | 2000-12-29 | 2002-07-04 | Stewart Daniel B. | Network protocols for distributing functions within a network |
US6978447B1 (en) * | 2001-02-28 | 2005-12-20 | Cisco Technology, Inc. | Method and system for efficiently interpreting a computer program |
US20030005152A1 (en) * | 2001-03-09 | 2003-01-02 | Arif Diwan | Content-request redirection method and system |
US20020199014A1 (en) * | 2001-03-26 | 2002-12-26 | Accton Technology Corporation | Configurable and high-speed content-aware routing method |
US20020169890A1 (en) * | 2001-05-08 | 2002-11-14 | Beaumont Leland R. | Technique for content delivery over the internet |
US7320131B1 (en) * | 2001-06-06 | 2008-01-15 | Cisco Technology, Inc. | Methods and apparatus for selecting a server to process a request |
US20030002484A1 (en) * | 2001-06-06 | 2003-01-02 | Freedman Avraham T. | Content delivery network map generation using passive measurement data |
US20030046334A1 (en) * | 2001-08-29 | 2003-03-06 | Simpson Shell S. | Client resident service that launches a browser to provide device status |
US20030126252A1 (en) * | 2001-09-05 | 2003-07-03 | Eli Abir | Method and apparatus for dynamic client-side load balancing system |
WO2003021395A2 (en) * | 2001-09-05 | 2003-03-13 | Eli Abir | Method and apparatus for dynamic client-side load balancing system |
US20030095500A1 (en) * | 2001-10-23 | 2003-05-22 | Sycamore Networks, Inc. | Methods for distributed shared mesh restoration for optical networks |
US20030084178A1 (en) * | 2001-10-31 | 2003-05-01 | Simpson Shell S. | Web-based imaging service supporting specialized media detected through multipurpose tray |
US20030126283A1 (en) * | 2001-12-31 | 2003-07-03 | Ramkrishna Prakash | Architectural basis for the bridging of SAN and LAN infrastructures |
US20030149755A1 (en) * | 2002-02-06 | 2003-08-07 | Emek Sadot | Client-controlled load balancer |
US7016682B2 (en) * | 2002-03-04 | 2006-03-21 | Air Broadband Communications, Inc. | Hybrid wireless access bridge and mobile access router system and method |
US20060130064A1 (en) * | 2002-03-19 | 2006-06-15 | Srivastava Sunil K | Method providing server affinity and client stickiness in a server load balancing device without TCP termination and without keeping flow states |
US20030195919A1 (en) * | 2002-03-26 | 2003-10-16 | Tatsuya Watanuki | Packet distributing system and method for distributing access packets to a plurality of server apparatuses |
US7143169B1 (en) * | 2002-04-04 | 2006-11-28 | Cisco Technology, Inc. | Methods and apparatus for directing messages to computer systems based on inserted data |
US20030208563A1 (en) * | 2002-05-06 | 2003-11-06 | Micron Technology, Inc. | Web dispatch service |
US20030225873A1 (en) * | 2002-05-30 | 2003-12-04 | Wade Michael A. | Optimization of network performance through uni-directional encapsulation |
US20040054771A1 (en) * | 2002-08-12 | 2004-03-18 | Roe Glen E. | Method and apparatus for the remote retrieval and viewing of diagnostic information from a set-top box |
US7310686B2 (en) * | 2002-10-27 | 2007-12-18 | Paxfire, Inc. | Apparatus and method for transparent selection of an Internet server based on geographic location of a user |
US20040103194A1 (en) * | 2002-11-21 | 2004-05-27 | Docomo Communicatios Laboratories Usa, Inc. | Method and system for server load balancing |
US20070294387A1 (en) * | 2003-02-08 | 2007-12-20 | Grex Games Limited | System Architecture for Load Balancing in Distributed Multi-User Application |
US20060179431A1 (en) * | 2003-03-19 | 2006-08-10 | Unisys Corporation | Rules-based deployment of computing components |
US20040223491A1 (en) * | 2003-05-06 | 2004-11-11 | Levy-Abegnoli Eric M. | Arrangement in a router for distributing a routing rule used to generate routes based on a pattern of a received packet |
US20060271655A1 (en) * | 2003-05-21 | 2006-11-30 | Nitgen Technologies Co., Ltd. | Intelligent traffic management system for networks and intelligent traffic management method using the same |
US20040249939A1 (en) * | 2003-05-23 | 2004-12-09 | International Business Machines Corporation | Methods and apparatus for dynamic and optimal server set selection |
US20040254979A1 (en) * | 2003-06-13 | 2004-12-16 | Colling Aaron M. | Mechanism for supporting browser navigation while preserving important application return states |
US20040260745A1 (en) * | 2003-06-18 | 2004-12-23 | Gage Christopher A. S. | Load balancer performance using affinity modification |
US20040267930A1 (en) * | 2003-06-26 | 2004-12-30 | International Business Machines Corporation | Slow-dynamic load balancing method and system |
US20060271530A1 (en) * | 2003-06-30 | 2006-11-30 | Bauer Daniel M | Retrieving a replica of an electronic document in a computer network |
US20050021725A1 (en) * | 2003-06-30 | 2005-01-27 | Johannes Lobbert | Distance-aware service discovery mechanism for determining the availability of remote services in wireless personal area networks |
US20040264385A1 (en) * | 2003-06-30 | 2004-12-30 | Hennessey Wade L | Method and apparatus for determining network topology in a peer-to-peer network |
US20070018630A1 (en) * | 2004-01-14 | 2007-01-25 | Jurgen Oehm | Transistor arrangement with temperature compensation and method for temperature compensation |
US20060031393A1 (en) * | 2004-01-28 | 2006-02-09 | Cooney John M | System and method of binding a client to a server |
US7571232B2 (en) * | 2004-03-22 | 2009-08-04 | Microsoft Corporation | Method and apparatus for managing channel information |
US20050216598A1 (en) * | 2004-03-23 | 2005-09-29 | Taiwan Semiconductor Manufacturing Co., Ltd. | Network access system and associated methods |
US20050267970A1 (en) * | 2004-05-11 | 2005-12-01 | Fujitsu Limited | Load balancing apparatus and method |
US20060045039A1 (en) * | 2004-06-25 | 2006-03-02 | Fujitsu Limited | Program, method, and device for managing system configuration |
US20080259815A1 (en) * | 2004-07-30 | 2008-10-23 | Gorman Sean P | System and method of mapping and analyzing vulnerabilities in networks |
US20060089935A1 (en) * | 2004-10-26 | 2006-04-27 | Microsoft Corporation | Failover and load balancing for server clusters |
US7562125B2 (en) * | 2005-02-02 | 2009-07-14 | Cisco Technology, Inc. | Techniques for locating distributed objects on a network based on physical communication costs |
US8010644B1 (en) * | 2005-02-23 | 2011-08-30 | Sprint Communications Company L.P. | Method and system for deploying a network monitoring service within a communication network |
US20060224725A1 (en) * | 2005-04-05 | 2006-10-05 | Bali Bahri B | On-demand global server load balancing system and method of use |
US7990847B1 (en) * | 2005-04-15 | 2011-08-02 | Cisco Technology, Inc. | Method and system for managing servers in a server cluster |
US20130100958A1 (en) * | 2011-10-24 | 2013-04-25 | A10 Networks, Inc. | Methods to combine stateless and stateful server load balancing |
Non-Patent Citations (4)
Title |
---|
Andrews et al., "Clustering and Server Selection using Passive Monitoring", 2002 * |
Andrey, "Agent-Based Network Management", 1998 * |
Chuang et al., "stor-serv: Adding Quality-of-Service to Network Storage", 1999 * |
Gulbrandsen et al., "A DNS RR for specifying the location of services (DNS SRV)", 2000 * |
Cited By (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120179749A1 (en) * | 2009-09-24 | 2012-07-12 | Sony Corporation | Communication method, communication system, server and program |
US20120040686A1 (en) * | 2010-08-13 | 2012-02-16 | Samsung Electronics Co., Ltd. | Mobile device and control method thereof |
US20120054347A1 (en) * | 2010-08-26 | 2012-03-01 | Futurewei Technologies, Inc. | Cross-Stratum Optimization Protocol |
US9184983B2 (en) * | 2010-08-26 | 2015-11-10 | Futurewei Technologies, Inc. | Cross-stratum optimization protocol |
US11316730B2 (en) * | 2010-08-26 | 2022-04-26 | Futurewei Technologies, Inc. | Cross-stratum optimization protocol across an interface between the service stratum and the transport stratum |
US10181977B2 (en) * | 2010-08-26 | 2019-01-15 | Futurewei Technologies, Inc. | Cross-stratum optimization protocol |
US20160028583A1 (en) * | 2010-08-26 | 2016-01-28 | Futurewei Technologies, Inc. | Cross-Stratum Optimization Protocol |
US8667138B2 (en) | 2010-10-29 | 2014-03-04 | Cisco Technology, Inc. | Distributed hierarchical rendering and provisioning of cloud services |
US8639793B2 (en) | 2010-10-29 | 2014-01-28 | Cisco Technology, Inc. | Disaster recovery and automatic relocation of cloud services |
US8671221B2 (en) * | 2010-11-17 | 2014-03-11 | Hola Networks Ltd. | Method and system for increasing speed of domain name system resolution within a computing device |
US9866523B2 (en) | 2010-11-17 | 2018-01-09 | Hola Newco Ltd. | Method and system for increasing speed of domain name system resolution within a computing device |
US9515981B2 (en) | 2010-11-17 | 2016-12-06 | Hola Networks Ltd. | Method and system for increasing speed of domain name system resolution within a computing device |
US10148612B2 (en) | 2010-11-17 | 2018-12-04 | Hola Newco Ltd. | Method and system for increasing speed of domain name system resolution within a computing device |
US9043429B2 (en) | 2010-11-17 | 2015-05-26 | Hola Networks Ltd. | Method and system for increasing speed of domain name system resolution within a computing device |
US20120124239A1 (en) * | 2010-11-17 | 2012-05-17 | Hola, Inc. | Method and system for increasing speed of domain name system resolution within a computing device |
US9363229B2 (en) | 2010-12-30 | 2016-06-07 | International Business Machines Corporation | Domain name resolution for a hybrid cloud cluster |
US20120173760A1 (en) * | 2010-12-30 | 2012-07-05 | International Business Machines Corporation | Domain name resolution for a hybrid cloud cluster |
US9235447B2 (en) | 2011-03-03 | 2016-01-12 | Cisco Technology, Inc. | Extensible attribute summarization |
US8924392B2 (en) | 2011-05-23 | 2014-12-30 | Cisco Technology, Inc. | Clustering-based resource aggregation within a data center |
US9100298B2 (en) | 2011-05-23 | 2015-08-04 | Cisco Technology, Inc. | Host visibility as a network service |
US20150134848A1 (en) * | 2011-09-28 | 2015-05-14 | Amazon Technologies, Inc. | Alias resource record sets |
US9264358B2 (en) * | 2011-09-28 | 2016-02-16 | Amazon Technologies, Inc. | Alias resource record sets |
US8886750B1 (en) * | 2011-09-28 | 2014-11-11 | Amazon Technologies, Inc. | Alias resource record sets |
US9362746B2 (en) | 2011-10-07 | 2016-06-07 | Cisco Technology, Inc. | Communication network topology management based on an associated electric grid topology |
US20130117460A1 (en) * | 2011-11-09 | 2013-05-09 | Quanta Computer Inc. | Data management methods for use in a network system and network systems using the same |
US20130326065A1 (en) * | 2012-06-04 | 2013-12-05 | International Business Machines Corporation | Workload balancing between nodes in a cluster as required by allocations of ip addresses within a cluster |
US9264396B2 (en) * | 2012-06-04 | 2016-02-16 | International Business Machines Corporation | Workload balancing between nodes in a cluster as required by allocations of IP addresses within a cluster |
US9276899B2 (en) * | 2012-06-04 | 2016-03-01 | International Business Machines Corporation | Workload balancing between nodes in a cluster as required by allocations of IP addresses within a cluster |
US20130326066A1 (en) * | 2012-06-04 | 2013-12-05 | Internation Business Machine | Workload balancing between nodes in a cluster as required by allocations of ip addresses within a cluster |
EP2782318A1 (en) | 2013-03-18 | 2014-09-24 | Koninklijke KPN N.V. | Allocating resources between network nodes for providing a network node function |
KR20140131094A (en) * | 2013-05-03 | 2014-11-12 | 한국전자통신연구원 | Method and system for removing garbage files |
KR101713314B1 (en) * | 2013-05-03 | 2017-03-07 | 한국전자통신연구원 | Method and system for removing garbage files |
US20140330873A1 (en) * | 2013-05-03 | 2014-11-06 | Electronics And Telecommunications Research Institute | Method and system for deleting garbage files |
US9444735B2 (en) | 2014-02-27 | 2016-09-13 | Cisco Technology, Inc. | Contextual summarization tag and type match using network subnetting |
Also Published As
Publication number | Publication date |
---|---|
US20060117020A1 (en) | 2006-06-01 |
US20060116988A1 (en) | 2006-06-01 |
US7747720B2 (en) | 2010-06-29 |
US7792989B2 (en) | 2010-09-07 |
US20060117038A1 (en) | 2006-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7747720B2 (en) | Arrangement for selecting a server to provide distributed services from among multiple servers based on a location of a client device | |
US11632420B2 (en) | Point of presence management in request routing | |
US11115500B2 (en) | Request routing utilizing client location information | |
US20210021692A1 (en) | Translation of resource identifiers using popularity information upon client request | |
US7447798B2 (en) | Methods and systems for providing dynamic domain name system for inbound route control | |
US9712422B2 (en) | Selection of service nodes for provision of services | |
US9871722B2 (en) | Content delivery network routing method, system and user terminal | |
EP1303109B1 (en) | Resolving virtual network names | |
US20190044787A1 (en) | Point of presence management in request routing | |
JP4040292B2 (en) | Server selection method, server selection device, server selection program, and recording medium | |
US9497259B1 (en) | Point of presence management in request routing | |
US9734472B2 (en) | Request routing utilizing cost information | |
JP6146950B2 (en) | Method and system for requesting routing using a network computing component | |
JP5150769B2 (en) | Updating routing information using request routing and client location information | |
US10263950B2 (en) | Directing clients based on communication format | |
KR20150102690A (en) | Content name resolution for information centric networking | |
CN106254576B (en) | Message forwarding method and device | |
KR20240078931A (en) | Edge computing service providing method and apparatus therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CISCO TECHNOLOGY, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TOEBES, JOHN;TURNER, BRYAN C.;WALKER, DOUGLAS JAY;REEL/FRAME:024486/0340 Effective date: 20050316 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |