US8819198B2 - Using static routing to migrate a hosted account - Google Patents

Using static routing to migrate a hosted account Download PDF

Info

Publication number
US8819198B2
US8819198B2 US12/331,267 US33126708A US8819198B2 US 8819198 B2 US8819198 B2 US 8819198B2 US 33126708 A US33126708 A US 33126708A US 8819198 B2 US8819198 B2 US 8819198B2
Authority
US
United States
Prior art keywords
address
server computer
network
interface
website
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.)
Active, expires
Application number
US12/331,267
Other versions
US20100146147A1 (en
Inventor
Greg Schwimer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Go Daddy Operating Co LLC
Original Assignee
Go Daddy Operating Co LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Go Daddy Operating Co LLC filed Critical Go Daddy Operating Co LLC
Priority to US12/331,267 priority Critical patent/US8819198B2/en
Assigned to THE GO DADDY GROUP, INC. reassignment THE GO DADDY GROUP, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SCHWIMER, GREG
Publication of US20100146147A1 publication Critical patent/US20100146147A1/en
Assigned to Go Daddy Operating Company, LLC reassignment Go Daddy Operating Company, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: THE GO DADDY GROUP, INC.
Assigned to BARCLAYS BANK PLC, AS COLLATERAL AGENT reassignment BARCLAYS BANK PLC, AS COLLATERAL AGENT SECURITY AGREEMENT Assignors: Go Daddy Operating Company, LLC
Application granted granted Critical
Publication of US8819198B2 publication Critical patent/US8819198B2/en
Assigned to ROYAL BANK OF CANADA reassignment ROYAL BANK OF CANADA NOTICE OF SUCCESSION FOR SECURITY AGREEMENT RECORDED AT REEL/FRAME 027416/0080 Assignors: BARCLAYS BANK PLC
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • H04L29/12301
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5076Update or notification mechanisms, e.g. DynDNS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1002
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F17/3089
    • H04L29/12066
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L61/1511
    • H04L61/2076
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • H04L67/2814
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams

Definitions

  • the present inventions generally relate to the field of networking and, more specifically, methods and systems for migrating resources and balancing resources in a shared pool using such migration.
  • a network is a collection of links and nodes (e.g., multiple computers and/or other devices connected together) arranged so that information may be passed from one part of the network to another over multiple links and through various nodes.
  • networks include the Internet, the public switched telephone network, the global Telex network, computer networks (e.g., an intranet, an extranet, a local-area network, or a wide-area network), wired networks, and wireless networks.
  • the Internet is a worldwide network of computers and computer networks arranged to allow the easy and robust exchange of information between computer users.
  • ISPs Internet Service Providers
  • Content providers place multimedia information (e.g., text, graphics, audio, video, animation, and other forms of data) at specific locations on the Internet referred to as websites.
  • the combination of all the websites and their corresponding web pages on the Internet is generally known as the World Wide Web (WWW) or simply the Web.
  • WWW World Wide Web
  • the present invention provides methods and systems for migrating a hosted account and Internet protocol (IP) address among a group of resources using static routing or routing protocols and may be used to optimize resource utilization, thus overcoming substantial limitations in the relevant art.
  • IP Internet protocol
  • An exemplary method of using static routing to migrate a hosted account and IP address among a group of resources may comprise several steps including the step of hosting a hosted account on a first hardware resource.
  • the hosted account may be associated with an IP address.
  • Static routing may be used to migrate the hosted account and the IP address to a second hardware resource.
  • An exemplary method of using a routing protocol to migrate a hosted account and IP address among a group of resources may comprise several steps including the step of hosting a hosted account on a first hardware resource.
  • the hosted account may be associated with an IP address.
  • a routing protocol may be used to migrate the hosted account and the IP address to a second hardware resource.
  • An exemplary method of using static routing to optimize resource utilization may comprise several steps including the step of receiving an alert of a change that may affect resource utilization within the resource pool.
  • Static routing may be used to migrate the hosted account and the IP address in response to the resource utilization change.
  • An exemplary method of using a routing protocol to optimize resource utilization may comprise several steps including the step of receiving an alert of a change that may affect resource utilization within the resource pool.
  • a routing protocol may be used to migrate the hosted account and the IP address in response to the resource utilization change.
  • FIG. 1 is a flow diagram illustrating a possible embodiment of a method for using static routing to migrate a hosted account among resources.
  • FIG. 2 illustrates a possible environment wherein a hosted account may be migrated among resources using a static route.
  • FIG. 3 is a flow diagram illustrating a possible embodiment including managing an IP address using an attached loopback interface.
  • FIG. 4 illustrates a possible environment wherein a loopback interface may manage an IP address.
  • FIG. 5 is a flow diagram illustrating a possible embodiment including a customer's Domain Name Service (DNS) entries not being affected by the migration.
  • DNS Domain Name Service
  • FIG. 6 illustrates a possible environment wherein a user's DNS entries are not affected by the migration.
  • FIG. 7 is a flow diagram illustrating a possible embodiment including accessing the account via a static route on a router to a server on the first hardware resource.
  • FIG. 8 illustrates a possible embodiment of an interface for enabling a server to provide access to the account via static route placed on an upstream router.
  • FIG. 9 is a flow diagram illustrating a possible embodiment including establishing a server on a hardware resource.
  • FIG. 10 illustrates a possible embodiment of an interface for establishing a server on a hardware resource.
  • FIG. 11 is a flow diagram illustrating a possible embodiment including instantiating the IP address to be migrated.
  • FIG. 12 illustrates a possible embodiment of an interface for instantiating the IP address to be migrated.
  • FIG. 13 is a flow diagram illustrating a possible embodiment including performing mounting and access checks for shared storage associated with a hosted account.
  • FIG. 14 illustrates a possible embodiment of an interface for performing mounting and access checks for shared storage associated with a hosted account.
  • FIG. 15 is a flow diagram illustrating a possible embodiment including configuring local processes on and verifying proper operation of the second hardware resource.
  • FIG. 16 illustrates a possible embodiment of an interface for configuring local processes on and verifying proper operation of the second hardware resource.
  • FIG. 17 is a flow diagram illustrating a possible embodiment including updating a routing table of an upstream router so the migrated IP is serviced by the second hardware resource.
  • FIG. 18 illustrates a possible embodiment of an interface for updating a routing table of an upstream router so the migrated IP is serviced by the second hardware resource.
  • FIG. 19 is a flow diagram illustrating a possible embodiment including removing configuration data, processes and unneeded data mounts on the first hardware resource.
  • FIG. 20 illustrates a possible embodiment of an interface for removing configuration data, processes and unneeded data mounts on the first hardware resource.
  • FIG. 21 is a flow diagram illustrating a possible embodiment of a method for using routing protocols to migrate a hosted account among shared resources.
  • FIG. 22 illustrates a possible environment wherein a hosted account may be migrated among shared resources using routing protocols.
  • FIG. 23 is a flow diagram illustrating a possible embodiment including managing an IP address using an attached loopback interface.
  • FIG. 24 is a flow diagram illustrating a possible embodiment including a user's DNS entries not being affected by the migration.
  • FIG. 25 is a flow diagram illustrating a possible embodiment including a server providing access to the account via dynamic announcement to an upstream router.
  • FIG. 26 illustrates a possible embodiment of an interface for enabling a server to provide access to the account via dynamic announcement to an upstream router.
  • FIG. 27 is a flow diagram illustrating a possible embodiment including establishing a server on a hardware resource.
  • FIG. 28 is a flow diagram illustrating a possible embodiment including instantiating the IP address to be migrated to the second resource.
  • FIG. 29 is a flow diagram illustrating a possible embodiment including performing mounting and access checks for shared storage associated with hosted accounts.
  • FIG. 30 is a flow diagram illustrating a possible embodiment including configuring local processes on and verifying proper operation of the second hardware resource.
  • FIG. 31 is a flow diagram illustrating a possible embodiment including updating a routing table of an upstream router so the migrated IP is serviced by the second hardware resource.
  • FIG. 32 illustrates a possible embodiment of an interface for updating a routing table of an upstream router so the migrated IP is serviced by the second hardware resource.
  • FIG. 33 is a flow diagram illustrating a possible embodiment including removing configuration data, processes, unneeded data mounts and dynamic announcement on the first hardware resource.
  • FIG. 34 illustrates a possible embodiment of an interface for removing configuration data, processes, unneeded data mounts and dynamic announcement on the first hardware resource.
  • FIG. 35 is a flow diagram illustrating a possible embodiment of a method for using static routing to balance resources in response to resource utilization changes.
  • FIG. 36 illustrates a possible environment wherein a route change may be used to balance resources in response to resource utilization changes.
  • FIG. 37 is a flow diagram illustrating a possible embodiment including allowing a user to manually migrate the account using a control panel.
  • FIG. 38 illustrates a possible embodiment of an interface for allowing a user to manually migrate the account using a control panel.
  • FIG. 39 is a flow diagram illustrating a possible embodiment including performing load balancing in response to high load and lower load available.
  • FIG. 40 illustrates a possible embodiment of an interface for performing load balancing in response to high load and lower load available.
  • FIG. 41 is a flow diagram illustrating a possible embodiment of a method for using Routing Protocols to balance resources in response to resource utilization changes.
  • FIG. 42 is a flow diagram illustrating a possible embodiment including allowing a user to manually migrate the account using a control panel.
  • FIG. 43 is a flow diagram illustrating a possible embodiment including performing load balancing in response to high load and lower load available.
  • a Hosted Account on a First Hardware Resource may be associated with a Shared Hosting Internet Protocol (IP) Address (Step 100 ).
  • Static routing may then be used to migrate the Hosted Account to a Second Hardware Resource using static routing (Step 110 ).
  • IP Internet Protocol
  • Such a network may comprise any combination of the Internet, an intranet, an extranet, a local area network, a wide area network, a wired network, a wireless network, a telephone network, or any other known or later developed network.
  • Non-limiting examples of network hardware resources which may be used in the framework of the present invention may include switches, hubs, gateways, access points, network interface cards, network bridges, modems, ISDN adapters, firewalls, datacenter equipment such as file servers, database servers and storage areas, network services such as DNS, DHCP, email and content delivery.
  • Static routing may include the use of fixed routes that may be manually entered by an administrator of a network into a network router's configuration. This may require the network administrator to manually update the static route in response to resource utilization changes if the static route is entered into the configuration. In other words, when network changes occur, the administrator may update the router configuration to include the changes. Because such manual updating of the router configuration may be time consuming, static routing may be used in a small network environment.
  • FIG. 2 demonstrates a streamlined example of such an environment.
  • a First Hardware Resource 200 and a Second Hardware Resource 270 may be, or may be used for applications and/or processes related to a Server, and may be part of a group of resources, possibly part of a server cluster serviced by a common Router 240 .
  • a Hosted Account 220 may be hosted using Server resources in addition to Central/Shared Storage 210 .
  • An IP Address 230 may be associated with the Hosted Account 220 .
  • a Routing Table 250 on the Router 240 may contain a route/path used to direct network traffic for the IP Address 230 to the Hosted Account 220 .
  • a Provisioning System 260 may be used to assign the Hosted Account 220 to the IP Address 230 .
  • the Provisioning System 260 may also use static routing to migrate the Hosted Account 220 and its associated IP Address 230 from the First Hardware Resource 200 to a Second Hardware Resource 270 .
  • This environment and its components, as described in detail elsewhere in this disclosure, may provide the structure for various means for executing the steps involved in accomplishing the invention as disclosed.
  • This environment may also include an autonomous system.
  • the autonomous system may be a collection of connected IP routing prefixes under the control of one or more network operators that presents a common, clearly defined routing policy.
  • the current system may also reside within a Virtual Local Area Network (VLAN) environment, which may be a group of hosts with a common set of requirements that communicate as if they were attached to the Broadcast domain, regardless of their physical location.
  • VLAN Virtual Local Area Network
  • the First Hardware Resource 200 and a Second Hardware Resource 270 may be part of a group of resources, possibly part of a server cluster serviced by a common Router 240 .
  • these resources although having the same attributes as a Local Area Network (LAN) may allow for resources to be grouped together, even if they are not located on the same router and/or network switch. This would allow reconfiguration to be accomplished through software or other means instead of physically relocating devices/resources.
  • LAN Local Area Network
  • the First Hardware Resource 200 and Second Hardware Resource 270 may be any device, process, application or piece of information such as a Server or any other network hardware resource which may facilitate the use of a computer network and may be remotely accessed from another computer or other network resource.
  • FIG. 2 shows the First Hardware Resource 200 and Second Hardware Resource 270 as servers for demonstrative purposes only, possibly representing the Server containing and/or sharing resources for the Shared/Central Storage 210 , and should in no way limit the scope of the current invention.
  • the First Hardware Resource 200 and/or Second Hardware Resource 270 may be the Server or may be used for applications and/or processes related to server functionality and may include any combination of known or later developed server technologies or formats capable of providing access to the Hosted Account 220 via static routing placed on the upstream Router 240 as disclosed elsewhere in this specification.
  • Such technologies or formats may include, but are not limited to shared hosting, virtual dedicated hosting, dedicated hosting, or any combination thereof.
  • the type of Server should likewise not be limited, and may include a Web Hosting Server, a DNS Server, a Mail Server, other Servers now known or later developed in the art, or any combination thereof.
  • the Central/Shared Storage 210 may be any computer components, devices, and/or recording media that may retain digital data used for computing for some interval of time.
  • the storage may be capable of hosting the Hosted Account 220 on a single machine or in a cluster of computers over the network.
  • the Central/Shared Storage 210 may be Network-Attached Storage (“NAS”—self contained file level computer data storage connected to and supplying a computer network file-based data storage services), a Storage Area Network (“SAN”—an architecture to attach remote computer storage devices to servers in such a way that the devices appear as locally attached), any combination thereof such as a NAS-SAN hybrid, or any other means of central/shared storage now known or later developed.
  • NAS Network-Attached Storage
  • SAN Storage Area Network
  • the Central/Shared Storage 210 is labeled between the two networked hardware resources. This should in no way limit the scope of the current invention.
  • the Hosted Account 220 may be an account on a hosting service or virtual hosting service communicatively coupled to a network. Each account may sit on its own partition or section/place on a Server to keep it separate from other accounts, or may be hosted on its own dedicated Server. Just as the Server may be any Server known in the art, the Hosted Account 220 may likewise be any account associated with such a Server. Thus, the Hosted Account 220 may be an account for a web hosting service, an email account, a DNS administrator account, etc. As a non-limiting example, the Hosted Account 220 is shown in FIG. 2 and subsequent figures as “exampleaccount.com.”
  • the IP Address 230 may be a numerical identification or logical address that is assigned to devices participating in a computer network utilizing the Internet Protocol for communication between its nodes.
  • the IP Address 230 may serve multiple hostnames on a single machine with a single IP address, may include a requested hostname as part of the request to determine the Hosted Account 220 to display to a customer using the Hosted Account 220 , or may use IP-based virtual hosting, also known as dedicated IP hosting, in which each virtual host has a different IP address.
  • hostnames and IP addresses may not necessarily match on a one-to-one basis.
  • Many hostnames may correspond to a single IP address. Combined with shared and/or virtual hosting, this may allow a single machine to serve many accounts via Hosted Accounts 220 .
  • a single hostname may correspond to many IP addresses. This may be used to facilitate fault tolerance and load distribution, and may also allow a site to move physical location seamlessly.
  • IP Address 230 is shown in FIG. 2 and subsequent figures in the simplified form of 123.456.0, and is shown for example purposes to be associated with and/or bound to Hosted Account 220 “exampleaccount.com.”
  • the Router 240 may be any computer or network component whose software and hardware are tailored to the task of routing and forwarding information.
  • the Routing Table 250 may be an electronic table, file and/or database type object stored in the Router 240 or a networked computer which stores the routes and/or metrics associated with those routes to particular network destinations.
  • the information on the Routing Table 250 may further include information about the utilization of the network around it.
  • the construction of the Routing Table 250 may be the primary goal of routing protocols and static routes, discussed in more detail elsewhere in this application.
  • the simplified Routing Table 250 on Router 240 shows 123.456.0 being routed to the First Hardware Resource 200 in FIG. 2 and subsequent figures and routed to the Second Hardware Resource 270 in FIG. 6 .
  • the Provisioning System 260 may be any system capable of a data migration process, which may further include transferring data, applications and/or processes between storage types, formats and/or computer systems.
  • the Provisioning System 260 may also assign the Hosted Account 220 to the IP Address 230 . To include and simplify the depiction of environments such as that seen in FIG. 2 and subsequent figures, the Provisioning System 260 is labeled between the two networked hardware resources used in the migration.
  • steps may include, but are not limited to any combination of the following: selecting a resource from a pool of available resources; loading the appropriate software such as operating system, device drivers, middleware, applications and/or processes; appropriately customizing and configuring the system software to create or change a configuration for the resource, and change its parameters; auditing the system, such as ensuring compliance or install patches, starting the resource, making a file system ready for use by an operating system, reading certain index data structures from storage into memory prior to mounting, mapping an associated drive, verifying data to determine whether the data was accurately translated, is complete and supports processes in the new system/resource and running both systems in parallel to identify areas of disparity and forestall erroneous data loss; mapping data from the old system/resource to the new system/resource; providing a design for data extraction, where data is read from the old system/resource; data loading, where data is written to the new system/resource and relating old data formats to the new system/resource's formats and requirements, as well as
  • any combination of the steps listed above is not limited to migrating applications. Any process, such as Server processes may likewise be migrated using any combination of the previously listed steps. As a non-limiting example, in a shared hosting server environment, processes such as server processes may be migrated rather than requiring a migration of an entire operating system.
  • a freeze may be placed on the First Hardware Resource 200 and/or affected applications, processes and/or accounts, while a combination of the above listed steps is used to migrate the affected applications, processes and/or accounts, until they are successfully configured, migrated and verified on the Second Hardware Resource 270 .
  • the Provisioning System 260 in the current invention may accomplish migration by selecting a Second Hardware Resource 270 from a pool of available hardware resources to migrate the “exampleaccount.com” account and IP 123.456.0 and any associated applications or processes. Appropriate software or processes may be loaded onto the Second Hardware Resource 270 , and the software and system may be appropriately customized, configured and generally made ready for operation.
  • the Provisioning System 260 may then accept instructions for mapping the data to be migrated and the route/path on the Routing Table 250 from a First Hardware Resource 200 to a Second Hardware Resource 270 .
  • Data, applications and/or processes may then be extracted from the First Hardware Resource 200 and loaded onto the Second Hardware Resource 270 with the route being updated appropriately through static routing.
  • the First Hardware Resource 200 may be frozen as described above during any portion of this migration.
  • the Provisioning System 260 may likewise instantiate and configure the IP Address 230 for migration.
  • the IP Address 230 may then facilitate and allow data such as the Hosted Account 220 to move physical location seamlessly.
  • the Routing Table 250 may then be updated to reflect the destination resource as the Second Hardware Resource 270 . It should be noted in this example environment that any Domain Name System (DNS) entries would not be affected since the IP address 230 associated with the account has not changed.
  • DNS Domain Name System
  • FIG. 3 shows that the step of managing the IP Address 230 using an attached Loopback Interface (Step 300 ) may be included.
  • the Loopback Interface 400 seen in FIG. 4 may be a virtual interface used for management purposes.
  • the Loopback Interface 400 may be assigned an address, in this example 123.456.0. This IP Address 230 may be accessed from management equipment, software or a control panel over a network, such as the example control panel interfaces seen in the example embodiments below.
  • the Loopback Interface 400 may not be required to be assigned to any of the real interfaces on the device such as the First Hardware Resource 200 , the Second Hardware Resource 270 or any other network resources.
  • Network components which use the Loopback Interface 400 may send or receive traffic using the address assigned to the virtual interface as opposed to the address on the physical interface through which the traffic passes.
  • Network hardware resources may be configured with multiple physical network interfaces, or virtual network interfaces on the same physical interface.
  • FIGS. 5 and 6 An example embodiment shown in FIGS. 5 and 6 shows that the step of using static routing to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 using static routing (Step 110 ) may be accomplished without affecting a DNS entry of a customer using the Hosted Account 220 (Step 500 ).
  • a customer using the Hosted Account 220 may be an individual or an entity including a person, a business, a governmental institution, an educational institution, a non-profit organization, or a social organization or any other individual or organization that may access and use the Hosted Account 220 .
  • the DNS may distribute the responsibility for assigning domain names and may map them to IP networks by allowing an authoritative name server for each domain to keep track of its own changes.
  • the DNS may be maintained by a distributed database system, which may use a client-server model. Static addressing may be, but is not necessarily used in some infrastructure situations, such as finding the DNS directory host that may translate domain names to IP addresses. Static addresses may also be used to locate servers inside the network environment.
  • the DNS may allow the assignment of domain names independent of a physical routing hierarchy represented by the numerical IP address. Because of this, hyperlinks and Internet contact information can remain the same, whatever the current IP routing arrangements may be. Thus the migration of the Hosted Account 220 and the IP Address 230 may be accomplished without the customer's DNS entries being affected.
  • FIG. 7 shows that the step of hosting a Hosted Account 220 on a First Hardware Resource 200 (Step 100 ) may be followed by a step of the Server providing access to the Hosted Account 220 via a static route placed on the upstream Router 240 (Step 700 ).
  • FIG. 8 shows an example control panel interface that may be used together with the structure disclosed in FIGS. 2 , 4 , 6 , 22 and 36 for network management of the current invention.
  • This control panel interface may be a computer user interface that utilizes a control panel metaphor to allow the user control of software and hardware features, which may control network management, in this example.
  • the control panel may be accessible via any application or system including, but not limited to a computer, laptop, telephone, handheld device, etc. that may access and display a possibly remote service on a server or other computer system using a network, and may include additional stand-alone programs.
  • the user interface may be any graphical, textual and/or auditory information a computer program presents to the user, and the control sequences such as keystrokes, movements of the computer mouse, selections with a touch screen etc. used to control the program.
  • the interface may further include viewing and editing capabilities.
  • GUI Graphical User Interface
  • Web-based user interfaces Touch interfaces
  • Conversational Interface Agents Live User Interfaces
  • LUI Live User Interfaces
  • Command line interfaces Non-command user interfaces
  • OOUI Object-oriented User Interfaces
  • Voice user interfaces Voice user interfaces.
  • information may be input and displayed using methods other than that seen in the following example interfaces.
  • An example interface may show information being entered from a drop-down list, but this or any other information could be accepted using any field, widget and/or control used in such interfaces, including but not limited to a text-box, text field, button, hyper-link, list, drop-down list, check-box, radio button, data grid, icon, graphical image, embedded link, etc.
  • the example interface in FIG. 8 and similar examples throughout this disclosure are not intended to and should not limit the scope of the disclosed invention.
  • FIG. 8 shows an example user interface that may be displayed as a network management control panel and used together with the structure disclosed in FIGS. 2 , 4 , 6 , 22 and 36 .
  • This interface may be used to enable the customer using the Hosted Account 220 to set the static route placed on the upstream Router 240 by identifying the First Hardware Resource 200 as the hardware resource and/or Server which provides access to the Hosted Account 220 and its associated IP Address 230 (Step 700 ).
  • FIG. 9 shows that the step of using static routing to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 (Step 110 ) may be preceded by a step of establishing a Server on the Second Hardware Resource 270 (Step 900 ).
  • FIG. 10 shows an example user interface using the disclosed structure that may be used to establish a Server on the Second Hardware Resource 270 (Step 900 ).
  • a customer using Hosted Account 220 “exampleaccount.com” may use a series of drop-down lists to select a source First Hardware Resource 200 and destination Second Hardware Resource 270 to establish a Server on the Second Hardware Resource 270 .
  • the customer may then perform any of the previously disclosed migration steps and update the configuration of hardware resources, possibly by clicking a button on the interface.
  • FIG. 11 shows that the step of using static routing to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 (Step 110 ) may be preceded by a step of instantiating the IP Address 230 to be migrated to the Second Hardware Resource 270 (Step 1100 ).
  • FIG. 12 shows an example user interface using the disclosed structure which may be used to instantiate the IP Address 230 to be migrated to the Second Hardware Resource 270 (Step 1100 ).
  • a customer using “exampleaccount.com” may use the Provisioning System 260 to perform the creation of an instance of the IP 123.456.0 on the Second Hardware Resource 270 .
  • the Provisioning System 260 may extrapolate information previously entered into the control panel interface by the customer to determine the IP Address 230 and the destination hardware resource on which to instantiate the IP Address 230 . The customer may then perform any of the previously disclosed migration steps and confirm the instantiation of the IP Address 230 , possibly by clicking a button on the interface.
  • FIG. 13 shows that the step of using static routing to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 (Step 110 ) may preceded by a step of performing mounting and access checks for a Central/Shared Storage 210 associated with the IP Address 230 and the Hosted Account 220 (Step 1300 ).
  • FIG. 14 shows an example user interface using the disclosed structure which may be used to perform mounting and access checks for a Central/Shared Storage 210 associated with the IP Address 230 and the Hosted Account 220 (Step 1300 ). For example, the progress of both checks may be displayed as they are performed by the Provisioning System 260 . At the completion, the customer using the Hosted Account 220 may then perform any of the previously disclosed migration steps and confirm completion of the mounting and access checks, possibly by clicking a button on the interface.
  • FIG. 15 shows that the step of using static routing to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 (Step 110 ) may be preceded by a step of configuring local processes on and verifying proper operation of the Second Hardware Resource 270 (Step 1500 ).
  • FIG. 16 shows an example user interface using the disclosed structure which may be used to configure local processes on and verify proper operation of the Second Hardware Resource 270 (Step 1500 ).
  • the progress of both the configuration and verification may be displayed as it is performed by the Provisioning System 260 .
  • the customer using the Hosted Account 220 may then perform any of the previously disclosed migration steps and confirm completion of the configuration and verification, possibly by clicking a button on the interface.
  • FIG. 17 shows that the step of using static routing to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 (Step 110 ) may be followed by a step of updating a Routing Table 250 on a Router 240 upstream so that the IP Address 230 migrated is serviced by the Second Hardware Resource 270 , thereby accomplishing a route swing (Step 1700 ).
  • FIG. 18 shows an example user interface using the disclosed structure which may be used to update a Routing Table 250 on a Router 240 upstream using static routing so that the IP Address 230 migrated is serviced by the Second Hardware Resource 270 , thereby accomplishing a route swing (Step 1700 ).
  • a customer using the Hosted Account 220 may select from drop-down menus a source First Hardware Resource 200 and a destination Second Hardware Resource 270 .
  • the static route may then be updated on the Routing Table 250 to accomplish the route swing (Step 1700 ).
  • the customer may then perform any of the previously disclosed migration steps and confirm completion of the configuration and update the static route possibly by clicking a button on the interface.
  • FIG. 19 shows that the step of using static routing to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 (Step 110 ) may be followed by a step of removing configuration data, removing processes and removing unneeded data mounts on the First Hardware Resource 200 (Step 1900 ).
  • FIG. 20 shows an example user interface using the disclosed structure which may be used to remove configuration data, processes and unneeded data mounts on the First Hardware Resource 200 (Step 1900 ).
  • the progress of the removal of configuration data, processes and unneeded data mounts on the First Hardware Resource 200 may be displayed as it is performed by the Provisioning System 260 .
  • the customer using the Hosted Account 220 may then perform any of the previously disclosed migration steps and confirm completion of the removal of configuration data, processes and unneeded data mounts, possibly by clicking a button on the interface.
  • a Hosted Account 220 on a First Hardware Resource 200 may be associated with an IP Address 230 (Step 100 ). Routing Protocols may then be used to migrate the Hosted Account 220 and the associated IP Address 230 to a Second Hardware Resource (Step 2100 ).
  • a Routing Protocol may gather and share the routing information used to maintain and update routing tables. That routing information may in turn be used to route a routed protocol to its final destination.
  • a Routing Protocol may also be a formula used by routers to determine the appropriate path onto which data should be forwarded and may specify how routers report changes and share information with other routers in a network that they can reach.
  • a routing protocol may allow the network to dynamically adjust to changing conditions. This may be accomplished via an announcement by the routing protocol to an upstream router that may be updated appropriately.
  • a Routing Protocol may be used in a large network environment, since manual updating of the Router may not be required.
  • Routing Protocols may be divided into link-state Routing Protocols and distance vector Routing Protocols.
  • a link-state protocol may use link-state routing so that every node constructs a map of the connectivity of the network, in the form of a graph showing which nodes are connected to which other nodes.
  • Switching nodes such as a router in the network, may perform the link-state protocol.
  • Link-state routing may require each switching node in the network to send its information about its neighbors to the entire network.
  • Each node may then independently calculate the best next hop from it for every possible destination in the network, using only its local copy of the map, and without communicating with any other node.
  • the collection of best next hops may form the routing table for the node.
  • Examples of link-state protocols may include, but are not limited to Open Shortest Path First (OSPF) and Intermediate System to Intermediate System (IS-IS).
  • distance-vector Routing Protocols may work by having each node share its routing table with its neighbors to calculate paths using less computational complexity and message overhead.
  • the only information passed between the nodes may be information used to construct the connectivity maps.
  • Examples of distance-vector Routing Protocols may include, but are not limited to Routing Information Protocol (RIP), Interior Gateway Routing Protocol (IGRP), Exterior Gateway Protocol (EGP) and Border Gateway Protocol (BGP).
  • FIG. 22 demonstrates a streamlined example of such an environment.
  • a First Hardware Resource 200 and a Second Hardware Resource 270 may be, or may be used for applications and/or processes related to a Server, and may be part of a group of resources, possibly part of a server cluster serviced by a common Router 240 .
  • a Hosted Account 220 may be hosted using Server resources in addition to Central/Shared Storage 210 .
  • An IP Address 230 may be associated with the Hosted Account 220 .
  • a Routing Table 250 on a Router 240 may contain a route/path used to direct network traffic for the IP Address 230 to the Hosted Account 220 . This Routing Table 250 may be sent dynamic announcements about the network using the Routing Protocol 2200 .
  • a Provisioning System 260 may be used to assign the Hosted Account 220 to the IP Address 230 .
  • the Provisioning System may also migrate the Hosted Account 220 and its associated IP Address 230 from the First Hardware Resource 200 to a Second Hardware Resource 270 using a dynamic announcement of a Routing Protocol 2200 substantially as described above.
  • This environment and its components, as described in more detail elsewhere in this disclosure, may provide the structure for various means for executing the steps involved in accomplishing the invention as disclosed.
  • This environment works on substantially the same principles as those disclosed regarding FIGS. 2 , 4 and 6 .
  • the use of the Routing Protocol 2200 to send dynamic announcements to the upstream Router 240 introduces notable differences in the environment shown in FIG. 22 .
  • data may be extracted from the First Hardware Resource 200 and loaded onto the Second Hardware Resource 270 with the route being determined via an announcement by the Routing Protocol 2200 to an upstream Router 240 and updating the Routing Table 250 on the upstream Router 240 appropriately.
  • access to the Hosted Account 220 may be accomplished via an announcement by the routing protocol to an upstream Router 240 and the Routing Table 250 on the upstream Router 240 may be updated appropriately using the Routing Protocol 2200 .
  • This environment may also include an autonomous system and reside within a VLAN environment as previously described.
  • FIG. 23 shows that the step of managing the associated IP Address 230 using an attached Loopback Interface 400 (Step 2300 ) as previously disclosed may be included in an environment in which Routing Protocols 2200 are used to migrate the Hosted Account 220 to the Second Hardware Resource 270 (Step 2100 ).
  • FIG. 24 shows that the step of using a Routing Protocol 2200 to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 (Step 2100 ) may be accomplished without affecting a DNS entry of a customer using the Hosted Account 220 (Step 2400 ) substantially similar to that previously disclosed regarding FIG. 6 .
  • FIG. 25 shows that the step of hosting a Hosted Account 220 on a First Hardware Resource 200 (Step 100 ) may be followed by a step of the Server providing access to the Hosted Account 220 via a dynamic announcement to a Router 240 upstream from the Server (Step 2500 ).
  • FIG. 26 shows an example user interface using the disclosed structure which may be used to enable the customer using the Hosted Account 220 to send a dynamic announcement to the upstream Router 240 by identifying the First Hardware Resource 200 as the hardware resource and/or Server which provides access to the Hosted Account 220 and its associated IP Address 230 (Step 2500 ).
  • FIG. 27 shows that the step of using a Routing Protocol 2200 to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 (Step 2100 ) may be preceded by a step of establishing a Server on the Second Hardware Resource 270 (Step 2700 ).
  • An interface substantially similar to that shown in FIG. 10 and described in detail elsewhere in this application may be used to accomplish this step.
  • FIG. 28 shows that the step of using a Routing Protocol 2200 to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 (Step 2100 ) may preceded by a step of instantiating the IP Address 230 to be migrated to the Second Hardware Resource 270 (Step 2800 ).
  • An interface substantially similar to that shown in FIG. 12 and described in detail elsewhere in this application may be used to accomplish this step.
  • FIG. 29 shows that the step of using a Routing Protocol 2200 to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 (Step 2100 ) may be preceded by a step of performing mounting and access checks for a Shared Storage 210 associated with the IP Address 230 and the Hosted Account 220 (Step 2900 ).
  • An interface substantially similar to that shown in FIG. 14 and described in detail elsewhere in this application may be used to accomplish this step.
  • FIG. 30 shows that the step of migrating the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 using a Routing Protocol 2200 (Step 2100 ) may be preceded by a steps of configuring local processes on and verifying proper operation of the New Hardware Resource 270 (Step 3000 ).
  • An interface substantially similar to that shown in FIG. 16 and described in detail elsewhere in this application may be used to accomplish this step.
  • FIG. 31 shows that the step of using a Routing Protocol 2200 to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 (Step 2100 ) may be followed by a step of updating a Routing Table 250 on the upstream Router 240 using the Routing Protocol 2200 so that the IP Address 230 migrated is serviced by the Second Hardware Resource 270 , thereby accomplishing a route swing (Step 3100 ).
  • FIG. 32 shows an example user interface using the disclosed structure that may be used to update a Routing Table 250 on a Router 240 upstream using the Routing Protocol 2200 so that the IP Address 230 migrated is serviced by the Second Hardware Resource 270 , thereby accomplishing a route swing (Step 3100 ).
  • a customer using the Hosted Account 220 may select from drop-down menus a source First Hardware Resource 200 and a destination Second Hardware Resource 270 .
  • the dynamic announcement may then be sent to update the Routing Table 250 on the Router 240 to accomplish the route swing (Step 3100 ).
  • the customer may then perform any of the previously disclosed migration steps and confirm completion of the configuration and updated dynamic announcement to the Router 240 possibly by clicking a button on the interface.
  • FIG. 33 shows that the step of using a Routing Protocol to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 (Step 2100 ) may be followed by the steps of removing configuration data, removing processes, removing unneeded data mounts and removing a dynamic announcement to the Router 240 upstream from the First Hardware Resource 200 (Step 3300 ).
  • FIG. 34 shows an example user interface using the disclosed structure that may be used to remove configuration data, processes and unneeded data mounts on the First Hardware Resource 200 (Step 3300 ).
  • the progress of the removal of configuration data, processes, unneeded data mounts and dynamic announcement on the First Hardware Resource 200 may be displayed as the Provisioning System 260 performs it.
  • the customer using the Hosted Account 220 may then perform any of the previously disclosed migration steps and confirm completion of the removal of configuration data, processes, unneeded data mounts and dynamic announcement, possibly by clicking a button on the interface.
  • a Hosted Account 220 may be hosted on a First Hardware Resource 200 within a group of resources.
  • the Hosted Account 220 may be associated with an IP Address 230 (Step 100 ).
  • An alert of a network resource utilization change affecting the group of resources may be received (Step 3500 ).
  • Static routing may then be used to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 in response to the network resource utilization change (Step 3510 ).
  • FIG. 36 demonstrates a streamlined example of such an environment.
  • a First Hardware Resource 200 and a Second Hardware Resource 270 may be, or may be used for applications and/or processes related to a Server, and may be part of a group of resources, possibly part of a server cluster serviced by a common Router 240 .
  • a group of Hosted Accounts 220 may be hosted using the Server resources.
  • an IP Address 230 may be associated with each of the Hosted Accounts 220 .
  • a Routing Table 250 on the Router 240 may contain a route/path used to direct network traffic for the IP Address 230 to the Hosted Account 220 .
  • a Provisioning System 260 may be used to assign the Hosted Account 220 to the IP Address 230 .
  • the Provisioning System 260 may also migrate the Hosted Account 220 and its associated IP Address 230 from the First Hardware Resource 200 to a Second Hardware Resource 270 and back using static routing.
  • This environment and its components, as described in detail elsewhere in this disclosure, may provide the structure for various means for executing the steps involved in accomplishing the invention as disclosed.
  • this environment may also include an autonomous system and/or may reside within a Virtual Local Area Network (VLAN) environment as previously disclosed.
  • VLAN Virtual Local Area Network
  • the Loopback Interface 400 previously disclosed may also be used for management datagrams, such as alarms, originating from the network resources, which may be used to facilitate the alert of network resource utilization changes affecting the group of resources.
  • the IP Address 230 may likewise be used to facilitate alerts of network resource utilization changes such as fault tolerance and load distribution.
  • a metric may be used to determine a threshold at which an alert is used to show a network resource utilization change.
  • the Server may provide access to the Hosted Account 220 that may be bound to the IP Address 230 .
  • the alert may be triggered when the state is no longer a steady state, possibly an overload state.
  • a metric may be any variable assigned to network resources as a means of ranking them from best to worst or from most preferred to least preferred.
  • the Router 240 may have and/or be used as part of the mechanism for calculating a best resource to be used when there are multiple available resources. Such metrics may also be used to determine when a migration to another hardware resource is recommended, and which hardware resource is preferred.
  • any combination of disclosed software and hardware resources such as, but not limited to the Loopback Interface 400 , IP Address 230 and Router 240 may determine a steady state threshold through monitored metrics which trigger an alert of a network resource utilization change related to Account C, hosted on First Hardware Resource 200 as shown in FIG. 36 , and its associated IP Address 230 .
  • the network resource utilization change alert may be displayed to a customer who may automatically or manually migrate Account C and its associated IP Address 230 to the Second Hardware Resource 270 using static routing to update the route in the Routing Table 250 (Step 3510 ).
  • FIG. 37 shows that the step of using static routing to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 in response to the network resource utilization change (Step 3510 ) may be preceded by a step providing a control panel for a manual migration of the Hosted Account 220 and manually updating a static route on a Router 240 upstream from the group of resources (Step 3700 ).
  • FIG. 38 shows an example user interface using the disclosed structure which may be used to receive an alert of a network resource utilization change affecting the group of resources (Step 3500 ) and use static routing to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 in response to the network resource utilization change (Step 3510 ).
  • the example interface shown in FIG. 38 shows that many combinations of steps may be used to automatically or manually migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 in response to the network resource utilization change (Step 3510 ).
  • the system may automatically calculate the best distribution of resources and the best migration strategy for such a distribution.
  • the system may automatically migrate the Hosted Account 220 and IP Address 230 (Step 3510 ) according to the best-calculated migration and distribution strategy.
  • a customer using the example interface shown in FIG. 38 may only need to push the button to calculate the best migration and distribution strategy and confirm automatic migration of the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 in response to the network resource utilization change (Step 3510 ).
  • the system may detect, calculate and apply such a migration and distribution strategy without user input.
  • Another use of the interface in FIG. 38 may include selecting the hardware resources to be used in such a migration, possibly using provided drop-down menus, and confirming whether this is the best migration and distribution strategy by clicking a provided button.
  • a button may also be provided which allows the customer using the Hosted Account 220 to open a control panel to migrate the Hosted Account 220 and Shared Hosting IP Account 230 manually in combination with updating the static route on a Routing Table 250 .
  • the control panel may be any control panel disclosed in the current specification which allows the migration of the Hosted Account 220 and the IP Address 230 to be migrated between hardware resources using Routing Protocols 2200 , or in combination with any migration control panel disclosed, known or later developed in the art.
  • the migration itself in step 3510 may be accomplished using any method for migration using static routing disclosed in the current specification.
  • An embodiment shown in FIG. 39 shows that the step of receiving an alert of a network resource utilization change affecting the group of resources (Step 3500 ) may be modified to include the step of showing a high load and a lower load configuration available (Step 3900 ), and that the step of using static routing to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 in response to the network resource utilization change (Step 3510 ) may be followed by the step of performing load balancing in response to the network resource utilization change (Step 3910 ).
  • Load balancing may include the practice of distributing traffic among multiple resources in order to use bandwidth efficiently. Load balancing may be implemented to alternate or distribute traffic between the multiple resources.
  • the high load alert may be a metric that reflects a high amount of traffic utilizing a resource in a group of resources. The best configuration may then be reflected in the one with the lowest load or load distribution.
  • FIG. 36 shows a streamlined configuration with a group of hardware resources including a First Hardware Resource 200 and a Second Hardware Resource 270 communicatively coupled to a Router 240 .
  • the First Hardware Resource 200 may host 2 Hosted Accounts 220 , Account A and Account C, and the Second Hardware Resource 270 may host 2 accounts Account B and Account D.
  • the system may determine a high load on the First Hardware Resource 200 and determine that the load may be balanced by automatically or manually migrating Account C to the Second Hardware Resource 220 using disclosed methods for such migration using static routing.
  • FIG. 40 shows an example user interface using the disclosed structure which may be used to perform load balancing in response to the network resource utilization change (Step 3910 ) including an alert of a high load and a lower load configuration available (Step 3900 ), which may be displayed to a customer, who may migrate the Hosted Account 220 and IP Address 230 and update the route in the Routing Table 250 . This may be accomplished using drop-down menus to select the First Hardware Resource 200 as the source and the Second Hardware Resource 270 as the destination for the migration. The customer may then migrate the Hosted Account 220 and IP Address 230 to optimize and balance the load, possibly by clicking a button on the interface.
  • the Provisioning System 260 may use metrics from any combination of disclosed network software and hardware resources such as, but not limited to the Loopback Interface 400 , IP Address 230 and Router 240 to determine the optimal parameters for load balancing, or any other available remedies for the detected network resource utilization change.
  • a button may be available on the user interface to determine and apply such parameters automatically or manually. This may likewise be applied to any other network resource utilization change or available remedies for metrics showing variance from steady state.
  • One such approach may allow the Hosted Account 220 to be migrated to accomplish equalization of the load on the group of resources.
  • Account C may be automatically or manually migrated to the Second Hardware Resource 270 where the First Hardware Resource 200 may be using 90% of its resources affecting load and the Second Hardware Resource may using 30% of its resources affecting load.
  • the migration may accomplish use of 60% of the resources affecting load for the First Hardware Resource 200 and 60% of resources affecting load for the Second Hardware Resource 270 . If the system determines such a scenario, manual or automatic migration using static routing may accomplish equalization of the load on the group of resources.
  • the First Hardware Resource 200 may have the highest load among the group of resources
  • the Second Hardware Resource 270 may have the lowest load among the group of resources
  • the Hosted Account 220 may be migrated using static routing from the First Hardware Resource 200 to the Second Hardware Resource 270 to balance the load.
  • Account C may be migrated to the Second Hardware Resource 270 when it is detected that the highest use of resources affecting load is on the First Hardware Resource, and the migration of Account C may be used to balance the load. Such an approach may be used to temporarily balance the load. If the use of load-related resources on the First Hardware Resource 200 is reduced at some point after the migration, the Hosted Account 220 may be migrated back to the First Hardware Resource 200 when the high load on the First Hardware Resource 200 has been reduced to better accommodate the Hosted Account 220 .
  • a Hosted Account 220 may be hosted on a First Hardware Resource 200 within a group of resources.
  • the Hosted Account 220 may be associated with an IP Address 230 (Step 100 ).
  • An alert of a network resource utilization change affecting the group of resources may be received (Step 3500 ).
  • a Routing Protocol 2200 may then be used to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 in response to the network resource utilization change (Step 4100 ).
  • FIG. 36 Several different environments may be used to complete the steps accomplished by the disclosed invention.
  • the environment shown in FIG. 36 and described elsewhere in this disclosure demonstrates a streamlined example of such an environment.
  • This environment works on substantially the same principles as those disclosed regarding FIG. 2 and subsequent like environments.
  • the use of a Routing Protocol 2200 (not shown in FIG. 36 ) to send dynamic announcements to the upstream Router 240 introduces notable differences in the environment described in FIG. 36 .
  • data may be extracted from the First Hardware Resource 200 and loaded onto the Second Hardware Resource 270 with the route being determined via an announcement by the Routing Protocol 2200 to a Router 240 upstream from the group of resources and updating the Routing Table 250 on the upstream Router 240 appropriately.
  • access to the Hosted Account 220 may be accomplished via an announcement by the routing protocol to an upstream Router 240 and the Routing Table 250 on the upstream Router 240 may be updated appropriately using the Routing Protocol 2200 .
  • This environment may also include an autonomous system and reside within a VLAN environment as previously described.
  • the Loopback Interface 400 may be used in conjunction with other network resources and monitored metrics to facilitate the alert of network resource utilization changes affecting the group of resources.
  • any combination of disclosed software and hardware resources such as, but not limited to the Loopback Interface 400 , IP Address 230 and Router 240 may determine a steady state threshold through monitored metrics which trigger an alert of a network resource utilization change related to Account C, hosted on First Hardware Resource 200 as shown in FIG. 36 , and its associated IP Address 230 .
  • the network resource utilization change alert may be displayed to a customer who may automatically or manually migrate Account C and its associated IP Address 230 to the Second Hardware Resource 270 using a Routing Protocol 2200 to update the route in the Routing Table 250 (Step 4100 ).
  • FIG. 42 shows that the step of using a Routing Protocol 2200 to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 in response to the network resource utilization change (Step 4100 ) may be preceded by a step providing a control panel for a manual migration of the Hosted Account 220 and manually updating a dynamic announcement sent to a Router upstream from a Server on a Router 240 upstream from the group of resources. (Step 4200 ).
  • An interface substantially similar to that shown in FIG. 38 and described in detail elsewhere in this application may be used to accomplish this step.
  • An embodiment shown in FIG. 43 shows that the step of receiving an alert of a network resource utilization change affecting the group of resources (Step 3500 ) may be modified to include the step of showing a high load and a lower load configuration available (Step 4300 ), and that the step of using a Routing Protocol 2200 to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 in response to the network resource utilization change (Step 4100 ) may be followed by the step of performing load balancing in response to the network resource utilization change (Step 4310 ).
  • An interface substantially similar to that shown in FIG. 40 and described in detail elsewhere in this application may be used to accomplish these steps.
  • FIG. 36 shows a streamlined configuration with a group of hardware resources including a First Hardware Resource 200 and a Second Hardware Resource 270 communicatively coupled to a Router 240 .
  • the First Hardware Resource 200 may host 2 Hosted Accounts 220 , Account A and Account C, and the Second Hardware Resource 270 may host 2 accounts Account B and Account D.
  • the system may determine a high load on the First Hardware Resource 200 and determine that the load may be balanced by automatically or manually migrating Account C to the Second Hardware Resource 220 using disclosed methods for such migration using a Routing Protocol 2200 .
  • One such approach may allow the Hosted Account 220 to be migrated to accomplish equalization of the load on the group of resources.
  • Account C may be automatically or manually migrated to the Second Hardware Resource 270 as seen in FIG. 40 where the First Hardware Resource 200 may be using 90% of its resources affecting load and the Second Hardware Resource may using 30% of its resources affecting load.
  • the migration may accomplish use of 60% of the resources affecting load for the First Hardware Resource 200 and 60% of resources affecting load for the Second Hardware Resource 270 . If the system determines such a scenario, manual or automatic migration using Routing Protocols 2200 may accomplish equalization of the load on the group of resources.
  • the First Hardware Resource 200 may have the highest load among the group of resources
  • the Second Hardware Resource 270 may have the lowest load among the group of resources
  • the Hosted Account 220 may be migrated using Routing Protocols 2200 from the First Hardware Resource 200 to the Second Hardware Resource 270 to balance the load.
  • Account C may be migrated to the Second Hardware Resource 270 when it is detected that the highest use of resources affecting load is on the First Hardware Resource, and the migration of Account C may be used to balance the load. Such an approach may be used to temporarily balance the load. If the use of load-related resources on the First Hardware Resource 200 is reduced at some point after the migration, the Hosted Account 220 may be migrated back to the First Hardware Resource 200 when the high load on the First Hardware Resource 200 has been reduced to better accommodate the Hosted Account 220 .
  • Other embodiments and uses of the above inventions will be apparent to those having ordinary skill in the art upon consideration of the specification and practice of the invention disclosed herein. The specification and examples given should be considered exemplary only, and it is contemplated that the appended claims will cover any other such embodiments or modifications as fall within the true scope of the invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Systems and methods for migrating a hosted account and IP address among shared hosting resources using static routing by migrating a hosted account and an associated IP address from a first network resource to a second network resource.

Description

CROSS REFERENCE TO RELATED PATENT APPLICATIONS
This patent application is related to the following concurrently-filed patent applications:
U.S. patent application Ser. No. 12/331,269, “USING ROUTING PROTOCOLS TO MIGRATE A HOSTED ACCOUNT.”
U.S. patent application Ser. No. 12/331,275, “USING STATIC ROUTING TO OPTIMIZE RESOURCE UTILIZATION.”
U.S. patent application Ser. No. 12/331,278, “USING ROUTING PROTOCOLS TO OPTIMIZE RESOURCE UTILIZATION.”
The subject matter of all patent applications is commonly owned and assigned to Go Daddy Operating Company, LLC. All prior applications are incorporated herein in their entirety by reference.
FIELD OF THE INVENTION
The present inventions generally relate to the field of networking and, more specifically, methods and systems for migrating resources and balancing resources in a shared pool using such migration.
BACKGROUND OF THE INVENTION
A network is a collection of links and nodes (e.g., multiple computers and/or other devices connected together) arranged so that information may be passed from one part of the network to another over multiple links and through various nodes. Examples of networks include the Internet, the public switched telephone network, the global Telex network, computer networks (e.g., an intranet, an extranet, a local-area network, or a wide-area network), wired networks, and wireless networks.
The Internet is a worldwide network of computers and computer networks arranged to allow the easy and robust exchange of information between computer users. Hundreds of millions of people around the world have access to computers connected to the Internet via Internet Service Providers (ISPs). Content providers place multimedia information (e.g., text, graphics, audio, video, animation, and other forms of data) at specific locations on the Internet referred to as websites. The combination of all the websites and their corresponding web pages on the Internet is generally known as the World Wide Web (WWW) or simply the Web.
SUMMARY OF THE INVENTION
The present invention provides methods and systems for migrating a hosted account and Internet protocol (IP) address among a group of resources using static routing or routing protocols and may be used to optimize resource utilization, thus overcoming substantial limitations in the relevant art.
An exemplary method of using static routing to migrate a hosted account and IP address among a group of resources may comprise several steps including the step of hosting a hosted account on a first hardware resource. The hosted account may be associated with an IP address. Static routing may be used to migrate the hosted account and the IP address to a second hardware resource.
An exemplary method of using a routing protocol to migrate a hosted account and IP address among a group of resources may comprise several steps including the step of hosting a hosted account on a first hardware resource. The hosted account may be associated with an IP address. A routing protocol may be used to migrate the hosted account and the IP address to a second hardware resource.
An exemplary method of using static routing to optimize resource utilization may comprise several steps including the step of receiving an alert of a change that may affect resource utilization within the resource pool. Static routing may be used to migrate the hosted account and the IP address in response to the resource utilization change.
An exemplary method of using a routing protocol to optimize resource utilization may comprise several steps including the step of receiving an alert of a change that may affect resource utilization within the resource pool. A routing protocol may be used to migrate the hosted account and the IP address in response to the resource utilization change.
The above features and advantages of the present invention will be better understood from the following detailed description taken in conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a flow diagram illustrating a possible embodiment of a method for using static routing to migrate a hosted account among resources.
FIG. 2 illustrates a possible environment wherein a hosted account may be migrated among resources using a static route.
FIG. 3 is a flow diagram illustrating a possible embodiment including managing an IP address using an attached loopback interface.
FIG. 4 illustrates a possible environment wherein a loopback interface may manage an IP address.
FIG. 5 is a flow diagram illustrating a possible embodiment including a customer's Domain Name Service (DNS) entries not being affected by the migration.
FIG. 6 illustrates a possible environment wherein a user's DNS entries are not affected by the migration.
FIG. 7 is a flow diagram illustrating a possible embodiment including accessing the account via a static route on a router to a server on the first hardware resource.
FIG. 8 illustrates a possible embodiment of an interface for enabling a server to provide access to the account via static route placed on an upstream router.
FIG. 9 is a flow diagram illustrating a possible embodiment including establishing a server on a hardware resource.
FIG. 10 illustrates a possible embodiment of an interface for establishing a server on a hardware resource.
FIG. 11 is a flow diagram illustrating a possible embodiment including instantiating the IP address to be migrated.
FIG. 12 illustrates a possible embodiment of an interface for instantiating the IP address to be migrated.
FIG. 13 is a flow diagram illustrating a possible embodiment including performing mounting and access checks for shared storage associated with a hosted account.
FIG. 14 illustrates a possible embodiment of an interface for performing mounting and access checks for shared storage associated with a hosted account.
FIG. 15 is a flow diagram illustrating a possible embodiment including configuring local processes on and verifying proper operation of the second hardware resource.
FIG. 16 illustrates a possible embodiment of an interface for configuring local processes on and verifying proper operation of the second hardware resource.
FIG. 17 is a flow diagram illustrating a possible embodiment including updating a routing table of an upstream router so the migrated IP is serviced by the second hardware resource.
FIG. 18 illustrates a possible embodiment of an interface for updating a routing table of an upstream router so the migrated IP is serviced by the second hardware resource.
FIG. 19 is a flow diagram illustrating a possible embodiment including removing configuration data, processes and unneeded data mounts on the first hardware resource.
FIG. 20 illustrates a possible embodiment of an interface for removing configuration data, processes and unneeded data mounts on the first hardware resource.
FIG. 21 is a flow diagram illustrating a possible embodiment of a method for using routing protocols to migrate a hosted account among shared resources.
FIG. 22 illustrates a possible environment wherein a hosted account may be migrated among shared resources using routing protocols.
FIG. 23 is a flow diagram illustrating a possible embodiment including managing an IP address using an attached loopback interface.
FIG. 24 is a flow diagram illustrating a possible embodiment including a user's DNS entries not being affected by the migration.
FIG. 25 is a flow diagram illustrating a possible embodiment including a server providing access to the account via dynamic announcement to an upstream router.
FIG. 26 illustrates a possible embodiment of an interface for enabling a server to provide access to the account via dynamic announcement to an upstream router.
FIG. 27 is a flow diagram illustrating a possible embodiment including establishing a server on a hardware resource.
FIG. 28 is a flow diagram illustrating a possible embodiment including instantiating the IP address to be migrated to the second resource.
FIG. 29 is a flow diagram illustrating a possible embodiment including performing mounting and access checks for shared storage associated with hosted accounts.
FIG. 30 is a flow diagram illustrating a possible embodiment including configuring local processes on and verifying proper operation of the second hardware resource.
FIG. 31 is a flow diagram illustrating a possible embodiment including updating a routing table of an upstream router so the migrated IP is serviced by the second hardware resource.
FIG. 32 illustrates a possible embodiment of an interface for updating a routing table of an upstream router so the migrated IP is serviced by the second hardware resource.
FIG. 33 is a flow diagram illustrating a possible embodiment including removing configuration data, processes, unneeded data mounts and dynamic announcement on the first hardware resource.
FIG. 34 illustrates a possible embodiment of an interface for removing configuration data, processes, unneeded data mounts and dynamic announcement on the first hardware resource.
FIG. 35 is a flow diagram illustrating a possible embodiment of a method for using static routing to balance resources in response to resource utilization changes.
FIG. 36 illustrates a possible environment wherein a route change may be used to balance resources in response to resource utilization changes.
FIG. 37 is a flow diagram illustrating a possible embodiment including allowing a user to manually migrate the account using a control panel.
FIG. 38 illustrates a possible embodiment of an interface for allowing a user to manually migrate the account using a control panel.
FIG. 39 is a flow diagram illustrating a possible embodiment including performing load balancing in response to high load and lower load available.
FIG. 40 illustrates a possible embodiment of an interface for performing load balancing in response to high load and lower load available.
FIG. 41 is a flow diagram illustrating a possible embodiment of a method for using Routing Protocols to balance resources in response to resource utilization changes.
FIG. 42 is a flow diagram illustrating a possible embodiment including allowing a user to manually migrate the account using a control panel.
FIG. 43 is a flow diagram illustrating a possible embodiment including performing load balancing in response to high load and lower load available.
DETAILED DESCRIPTION
The present inventions will now be discussed in detail with regard to the attached drawing figures that were briefly described above. In the following description, numerous specific details are set forth illustrating the Applicant's best mode for practicing the invention and enabling one of ordinary skill in the art to make and use the invention. It will be obvious, however, to one skilled in the art that the present invention may be practiced without many of these specific details. In other instances, well-known machines, structures, and method steps have not been described in particular detail in order to avoid unnecessarily obscuring the present invention. Unless otherwise indicated, like parts and method steps are referred to with like reference numerals.
A Method of Using Static Routing to Migrate a Shared Hosting Account
Several different methods may be used to provide and manage the disclosed invention. In an example embodiment illustrated in FIG. 1, a Hosted Account on a First Hardware Resource may be associated with a Shared Hosting Internet Protocol (IP) Address (Step 100). Static routing may then be used to migrate the Hosted Account to a Second Hardware Resource using static routing (Step 110).
The example embodiments shown and described exist within the framework of a network and should not limit possible network configuration or connectivity. Such a network may comprise any combination of the Internet, an intranet, an extranet, a local area network, a wide area network, a wired network, a wireless network, a telephone network, or any other known or later developed network.
Non-limiting examples of network hardware resources which may be used in the framework of the present invention may include switches, hubs, gateways, access points, network interface cards, network bridges, modems, ISDN adapters, firewalls, datacenter equipment such as file servers, database servers and storage areas, network services such as DNS, DHCP, email and content delivery.
Static routing may include the use of fixed routes that may be manually entered by an administrator of a network into a network router's configuration. This may require the network administrator to manually update the static route in response to resource utilization changes if the static route is entered into the configuration. In other words, when network changes occur, the administrator may update the router configuration to include the changes. Because such manual updating of the router configuration may be time consuming, static routing may be used in a small network environment.
Several different environments may be used to complete the steps accomplished by the disclosed invention. FIG. 2 demonstrates a streamlined example of such an environment. A First Hardware Resource 200 and a Second Hardware Resource 270 may be, or may be used for applications and/or processes related to a Server, and may be part of a group of resources, possibly part of a server cluster serviced by a common Router 240. A Hosted Account 220 may be hosted using Server resources in addition to Central/Shared Storage 210. An IP Address 230 may be associated with the Hosted Account 220. A Routing Table 250 on the Router 240 may contain a route/path used to direct network traffic for the IP Address 230 to the Hosted Account 220.
A Provisioning System 260 may be used to assign the Hosted Account 220 to the IP Address 230. The Provisioning System 260 may also use static routing to migrate the Hosted Account 220 and its associated IP Address 230 from the First Hardware Resource 200 to a Second Hardware Resource 270. This environment and its components, as described in detail elsewhere in this disclosure, may provide the structure for various means for executing the steps involved in accomplishing the invention as disclosed.
This environment may also include an autonomous system. The autonomous system may be a collection of connected IP routing prefixes under the control of one or more network operators that presents a common, clearly defined routing policy.
The current system may also reside within a Virtual Local Area Network (VLAN) environment, which may be a group of hosts with a common set of requirements that communicate as if they were attached to the Broadcast domain, regardless of their physical location.
As previously described, the First Hardware Resource 200 and a Second Hardware Resource 270 may be part of a group of resources, possibly part of a server cluster serviced by a common Router 240. However, in a possible VLAN environment, these resources, although having the same attributes as a Local Area Network (LAN) may allow for resources to be grouped together, even if they are not located on the same router and/or network switch. This would allow reconfiguration to be accomplished through software or other means instead of physically relocating devices/resources.
The First Hardware Resource 200 and Second Hardware Resource 270 may be any device, process, application or piece of information such as a Server or any other network hardware resource which may facilitate the use of a computer network and may be remotely accessed from another computer or other network resource. FIG. 2 shows the First Hardware Resource 200 and Second Hardware Resource 270 as servers for demonstrative purposes only, possibly representing the Server containing and/or sharing resources for the Shared/Central Storage 210, and should in no way limit the scope of the current invention.
The First Hardware Resource 200 and/or Second Hardware Resource 270 may be the Server or may be used for applications and/or processes related to server functionality and may include any combination of known or later developed server technologies or formats capable of providing access to the Hosted Account 220 via static routing placed on the upstream Router 240 as disclosed elsewhere in this specification.
Such technologies or formats may include, but are not limited to shared hosting, virtual dedicated hosting, dedicated hosting, or any combination thereof. The type of Server should likewise not be limited, and may include a Web Hosting Server, a DNS Server, a Mail Server, other Servers now known or later developed in the art, or any combination thereof.
The Central/Shared Storage 210 may be any computer components, devices, and/or recording media that may retain digital data used for computing for some interval of time. The storage may be capable of hosting the Hosted Account 220 on a single machine or in a cluster of computers over the network.
As non-limiting examples, the Central/Shared Storage 210 may be Network-Attached Storage (“NAS”—self contained file level computer data storage connected to and supplying a computer network file-based data storage services), a Storage Area Network (“SAN”—an architecture to attach remote computer storage devices to servers in such a way that the devices appear as locally attached), any combination thereof such as a NAS-SAN hybrid, or any other means of central/shared storage now known or later developed. To include and simplify the depiction of such environments in FIG. 2 and subsequent figures, the Central/Shared Storage 210 is labeled between the two networked hardware resources. This should in no way limit the scope of the current invention.
The Hosted Account 220 may be an account on a hosting service or virtual hosting service communicatively coupled to a network. Each account may sit on its own partition or section/place on a Server to keep it separate from other accounts, or may be hosted on its own dedicated Server. Just as the Server may be any Server known in the art, the Hosted Account 220 may likewise be any account associated with such a Server. Thus, the Hosted Account 220 may be an account for a web hosting service, an email account, a DNS administrator account, etc. As a non-limiting example, the Hosted Account 220 is shown in FIG. 2 and subsequent figures as “exampleaccount.com.”
The IP Address 230 may be a numerical identification or logical address that is assigned to devices participating in a computer network utilizing the Internet Protocol for communication between its nodes. The IP Address 230 may serve multiple hostnames on a single machine with a single IP address, may include a requested hostname as part of the request to determine the Hosted Account 220 to display to a customer using the Hosted Account 220, or may use IP-based virtual hosting, also known as dedicated IP hosting, in which each virtual host has a different IP address.
In the Context of the IP Address 230, hostnames and IP addresses may not necessarily match on a one-to-one basis. Many hostnames may correspond to a single IP address. Combined with shared and/or virtual hosting, this may allow a single machine to serve many accounts via Hosted Accounts 220. Alternatively, a single hostname may correspond to many IP addresses. This may be used to facilitate fault tolerance and load distribution, and may also allow a site to move physical location seamlessly.
As a non-limiting example, the IP Address 230 is shown in FIG. 2 and subsequent figures in the simplified form of 123.456.0, and is shown for example purposes to be associated with and/or bound to Hosted Account 220 “exampleaccount.com.”
The Router 240 may be any computer or network component whose software and hardware are tailored to the task of routing and forwarding information. The Routing Table 250 may be an electronic table, file and/or database type object stored in the Router 240 or a networked computer which stores the routes and/or metrics associated with those routes to particular network destinations. The information on the Routing Table 250 may further include information about the utilization of the network around it. The construction of the Routing Table 250 may be the primary goal of routing protocols and static routes, discussed in more detail elsewhere in this application.
As a non-limiting example, the simplified Routing Table 250 on Router 240 shows 123.456.0 being routed to the First Hardware Resource 200 in FIG. 2 and subsequent figures and routed to the Second Hardware Resource 270 in FIG. 6.
The Provisioning System 260 may be any system capable of a data migration process, which may further include transferring data, applications and/or processes between storage types, formats and/or computer systems. The Provisioning System 260 may also assign the Hosted Account 220 to the IP Address 230. To include and simplify the depiction of environments such as that seen in FIG. 2 and subsequent figures, the Provisioning System 260 is labeled between the two networked hardware resources used in the migration.
Many steps may be used to accomplish such a migration. These steps may include, but are not limited to any combination of the following: selecting a resource from a pool of available resources; loading the appropriate software such as operating system, device drivers, middleware, applications and/or processes; appropriately customizing and configuring the system software to create or change a configuration for the resource, and change its parameters; auditing the system, such as ensuring compliance or install patches, starting the resource, making a file system ready for use by an operating system, reading certain index data structures from storage into memory prior to mounting, mapping an associated drive, verifying data to determine whether the data was accurately translated, is complete and supports processes in the new system/resource and running both systems in parallel to identify areas of disparity and forestall erroneous data loss; mapping data from the old system/resource to the new system/resource; providing a design for data extraction, where data is read from the old system/resource; data loading, where data is written to the new system/resource and relating old data formats to the new system/resource's formats and requirements, as well as any other known or later developed migration steps. Such data migration phases including design, extraction, cleansing, load and verification for applications may be repeated several times before the new system is deployed.
It should be noted that the migration accomplished by any combination of the steps listed above is not limited to migrating applications. Any process, such as Server processes may likewise be migrated using any combination of the previously listed steps. As a non-limiting example, in a shared hosting server environment, processes such as server processes may be migrated rather than requiring a migration of an entire operating system.
Furthermore, during the migration, if the resources/systems have read/write capabilities (permissions or access rights which control the ability of applications, processes and/or accounts on the resource to be viewed and/or changes made to the contents of the file system), a freeze may be placed on the First Hardware Resource 200 and/or affected applications, processes and/or accounts, while a combination of the above listed steps is used to migrate the affected applications, processes and/or accounts, until they are successfully configured, migrated and verified on the Second Hardware Resource 270.
As a non-limiting example, the Provisioning System 260 in the current invention may accomplish migration by selecting a Second Hardware Resource 270 from a pool of available hardware resources to migrate the “exampleaccount.com” account and IP 123.456.0 and any associated applications or processes. Appropriate software or processes may be loaded onto the Second Hardware Resource 270, and the software and system may be appropriately customized, configured and generally made ready for operation.
The Provisioning System 260 may then accept instructions for mapping the data to be migrated and the route/path on the Routing Table 250 from a First Hardware Resource 200 to a Second Hardware Resource 270. Data, applications and/or processes may then be extracted from the First Hardware Resource 200 and loaded onto the Second Hardware Resource 270 with the route being updated appropriately through static routing. The First Hardware Resource 200 may be frozen as described above during any portion of this migration.
The Provisioning System 260 may likewise instantiate and configure the IP Address 230 for migration. The IP Address 230 may then facilitate and allow data such as the Hosted Account 220 to move physical location seamlessly. The Routing Table 250 may then be updated to reflect the destination resource as the Second Hardware Resource 270. It should be noted in this example environment that any Domain Name System (DNS) entries would not be affected since the IP address 230 associated with the account has not changed.
An example embodiment shown in FIG. 3 shows that the step of managing the IP Address 230 using an attached Loopback Interface (Step 300) may be included.
The Loopback Interface 400, seen in FIG. 4 may be a virtual interface used for management purposes. The Loopback Interface 400 may be assigned an address, in this example 123.456.0. This IP Address 230 may be accessed from management equipment, software or a control panel over a network, such as the example control panel interfaces seen in the example embodiments below. The Loopback Interface 400 may not be required to be assigned to any of the real interfaces on the device such as the First Hardware Resource 200, the Second Hardware Resource 270 or any other network resources.
Network components which use the Loopback Interface 400 may send or receive traffic using the address assigned to the virtual interface as opposed to the address on the physical interface through which the traffic passes. Network hardware resources may be configured with multiple physical network interfaces, or virtual network interfaces on the same physical interface.
An example embodiment shown in FIGS. 5 and 6 shows that the step of using static routing to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 using static routing (Step 110) may be accomplished without affecting a DNS entry of a customer using the Hosted Account 220 (Step 500).
A customer using the Hosted Account 220 may be an individual or an entity including a person, a business, a governmental institution, an educational institution, a non-profit organization, or a social organization or any other individual or organization that may access and use the Hosted Account 220.
The DNS may distribute the responsibility for assigning domain names and may map them to IP networks by allowing an authoritative name server for each domain to keep track of its own changes. The DNS may be maintained by a distributed database system, which may use a client-server model. Static addressing may be, but is not necessarily used in some infrastructure situations, such as finding the DNS directory host that may translate domain names to IP addresses. Static addresses may also be used to locate servers inside the network environment.
The DNS may allow the assignment of domain names independent of a physical routing hierarchy represented by the numerical IP address. Because of this, hyperlinks and Internet contact information can remain the same, whatever the current IP routing arrangements may be. Thus the migration of the Hosted Account 220 and the IP Address 230 may be accomplished without the customer's DNS entries being affected.
An example embodiment shown in FIG. 7 shows that the step of hosting a Hosted Account 220 on a First Hardware Resource 200 (Step 100) may be followed by a step of the Server providing access to the Hosted Account 220 via a static route placed on the upstream Router 240 (Step 700).
FIG. 8 shows an example control panel interface that may be used together with the structure disclosed in FIGS. 2, 4, 6, 22 and 36 for network management of the current invention. This control panel interface may be a computer user interface that utilizes a control panel metaphor to allow the user control of software and hardware features, which may control network management, in this example.
The control panel may be accessible via any application or system including, but not limited to a computer, laptop, telephone, handheld device, etc. that may access and display a possibly remote service on a server or other computer system using a network, and may include additional stand-alone programs.
The user interface may be any graphical, textual and/or auditory information a computer program presents to the user, and the control sequences such as keystrokes, movements of the computer mouse, selections with a touch screen etc. used to control the program. The interface may further include viewing and editing capabilities.
Examples of such interfaces include any known or later developed combination of Graphical User Interfaces (GUI) or Web-based user interfaces, Touch interfaces, Conversational Interface Agents, Live User Interfaces (LUI), Command line interfaces, Non-command user interfaces, Object-oriented User Interfaces (OOUI) or Voice user interfaces.
Likewise, information may be input and displayed using methods other than that seen in the following example interfaces. An example interface may show information being entered from a drop-down list, but this or any other information could be accepted using any field, widget and/or control used in such interfaces, including but not limited to a text-box, text field, button, hyper-link, list, drop-down list, check-box, radio button, data grid, icon, graphical image, embedded link, etc. The example interface in FIG. 8 and similar examples throughout this disclosure are not intended to and should not limit the scope of the disclosed invention.
For example, FIG. 8 shows an example user interface that may be displayed as a network management control panel and used together with the structure disclosed in FIGS. 2, 4, 6, 22 and 36. This interface, with the disclosed structure, may be used to enable the customer using the Hosted Account 220 to set the static route placed on the upstream Router 240 by identifying the First Hardware Resource 200 as the hardware resource and/or Server which provides access to the Hosted Account 220 and its associated IP Address 230 (Step 700).
An example embodiment shown in FIG. 9 shows that the step of using static routing to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 (Step 110) may be preceded by a step of establishing a Server on the Second Hardware Resource 270 (Step 900).
FIG. 10 shows an example user interface using the disclosed structure that may be used to establish a Server on the Second Hardware Resource 270 (Step 900). For example, a customer using Hosted Account 220 “exampleaccount.com” may use a series of drop-down lists to select a source First Hardware Resource 200 and destination Second Hardware Resource 270 to establish a Server on the Second Hardware Resource 270. After selecting the source and destination hardware resources, the customer may then perform any of the previously disclosed migration steps and update the configuration of hardware resources, possibly by clicking a button on the interface.
An example embodiment shown in FIG. 11 shows that the step of using static routing to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 (Step 110) may be preceded by a step of instantiating the IP Address 230 to be migrated to the Second Hardware Resource 270 (Step 1100).
FIG. 12 shows an example user interface using the disclosed structure which may be used to instantiate the IP Address 230 to be migrated to the Second Hardware Resource 270 (Step 1100). For example, a customer using “exampleaccount.com” may use the Provisioning System 260 to perform the creation of an instance of the IP 123.456.0 on the Second Hardware Resource 270.
In this example embodiment, the Provisioning System 260 may extrapolate information previously entered into the control panel interface by the customer to determine the IP Address 230 and the destination hardware resource on which to instantiate the IP Address 230. The customer may then perform any of the previously disclosed migration steps and confirm the instantiation of the IP Address 230, possibly by clicking a button on the interface.
An example embodiment shown in FIG. 13 shows that the step of using static routing to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 (Step 110) may preceded by a step of performing mounting and access checks for a Central/Shared Storage 210 associated with the IP Address 230 and the Hosted Account 220 (Step 1300).
FIG. 14 shows an example user interface using the disclosed structure which may be used to perform mounting and access checks for a Central/Shared Storage 210 associated with the IP Address 230 and the Hosted Account 220 (Step 1300). For example, the progress of both checks may be displayed as they are performed by the Provisioning System 260. At the completion, the customer using the Hosted Account 220 may then perform any of the previously disclosed migration steps and confirm completion of the mounting and access checks, possibly by clicking a button on the interface.
An example embodiment shown in FIG. 15 shows that the step of using static routing to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 (Step 110) may be preceded by a step of configuring local processes on and verifying proper operation of the Second Hardware Resource 270 (Step 1500).
FIG. 16 shows an example user interface using the disclosed structure which may be used to configure local processes on and verify proper operation of the Second Hardware Resource 270 (Step 1500). For example, the progress of both the configuration and verification may be displayed as it is performed by the Provisioning System 260. At the completion, the customer using the Hosted Account 220 may then perform any of the previously disclosed migration steps and confirm completion of the configuration and verification, possibly by clicking a button on the interface.
An example embodiment shown in FIG. 17 shows that the step of using static routing to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 (Step 110) may be followed by a step of updating a Routing Table 250 on a Router 240 upstream so that the IP Address 230 migrated is serviced by the Second Hardware Resource 270, thereby accomplishing a route swing (Step 1700).
FIG. 18 shows an example user interface using the disclosed structure which may be used to update a Routing Table 250 on a Router 240 upstream using static routing so that the IP Address 230 migrated is serviced by the Second Hardware Resource 270, thereby accomplishing a route swing (Step 1700). For example, a customer using the Hosted Account 220 may select from drop-down menus a source First Hardware Resource 200 and a destination Second Hardware Resource 270. The static route may then be updated on the Routing Table 250 to accomplish the route swing (Step 1700). The customer may then perform any of the previously disclosed migration steps and confirm completion of the configuration and update the static route possibly by clicking a button on the interface.
An example embodiment shown in FIG. 19 shows that the step of using static routing to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 (Step 110) may be followed by a step of removing configuration data, removing processes and removing unneeded data mounts on the First Hardware Resource 200 (Step 1900).
FIG. 20 shows an example user interface using the disclosed structure which may be used to remove configuration data, processes and unneeded data mounts on the First Hardware Resource 200 (Step 1900). For example, the progress of the removal of configuration data, processes and unneeded data mounts on the First Hardware Resource 200 (Step 1900) may be displayed as it is performed by the Provisioning System 260. At the completion, the customer using the Hosted Account 220 may then perform any of the previously disclosed migration steps and confirm completion of the removal of configuration data, processes and unneeded data mounts, possibly by clicking a button on the interface.
A Method of Using Routing Protocols to Migrate a Shared Hosting Account
Several different methods may be used to provide and manage the disclosed invention. In an example embodiment illustrated in FIG. 21, a Hosted Account 220 on a First Hardware Resource 200 may be associated with an IP Address 230 (Step 100). Routing Protocols may then be used to migrate the Hosted Account 220 and the associated IP Address 230 to a Second Hardware Resource (Step 2100).
A Routing Protocol may gather and share the routing information used to maintain and update routing tables. That routing information may in turn be used to route a routed protocol to its final destination. A Routing Protocol may also be a formula used by routers to determine the appropriate path onto which data should be forwarded and may specify how routers report changes and share information with other routers in a network that they can reach.
Unlike static routing where all routing decisions may be required to be predetermined and remain static, a routing protocol may allow the network to dynamically adjust to changing conditions. This may be accomplished via an announcement by the routing protocol to an upstream router that may be updated appropriately. A Routing Protocol may be used in a large network environment, since manual updating of the Router may not be required.
Routing Protocols may be divided into link-state Routing Protocols and distance vector Routing Protocols. A link-state protocol may use link-state routing so that every node constructs a map of the connectivity of the network, in the form of a graph showing which nodes are connected to which other nodes. Switching nodes, such as a router in the network, may perform the link-state protocol. Link-state routing may require each switching node in the network to send its information about its neighbors to the entire network.
Each node may then independently calculate the best next hop from it for every possible destination in the network, using only its local copy of the map, and without communicating with any other node. The collection of best next hops may form the routing table for the node. Examples of link-state protocols may include, but are not limited to Open Shortest Path First (OSPF) and Intermediate System to Intermediate System (IS-IS).
This may be contrasted with distance-vector Routing Protocols, which may work by having each node share its routing table with its neighbors to calculate paths using less computational complexity and message overhead. In a link-state protocol, the only information passed between the nodes may be information used to construct the connectivity maps. Examples of distance-vector Routing Protocols may include, but are not limited to Routing Information Protocol (RIP), Interior Gateway Routing Protocol (IGRP), Exterior Gateway Protocol (EGP) and Border Gateway Protocol (BGP).
Several different environments may be used to complete the steps accomplished by the disclosed invention. FIG. 22 demonstrates a streamlined example of such an environment. A First Hardware Resource 200 and a Second Hardware Resource 270 may be, or may be used for applications and/or processes related to a Server, and may be part of a group of resources, possibly part of a server cluster serviced by a common Router 240. A Hosted Account 220 may be hosted using Server resources in addition to Central/Shared Storage 210. An IP Address 230 may be associated with the Hosted Account 220. A Routing Table 250 on a Router 240 may contain a route/path used to direct network traffic for the IP Address 230 to the Hosted Account 220. This Routing Table 250 may be sent dynamic announcements about the network using the Routing Protocol 2200.
A Provisioning System 260 may be used to assign the Hosted Account 220 to the IP Address 230. The Provisioning System may also migrate the Hosted Account 220 and its associated IP Address 230 from the First Hardware Resource 200 to a Second Hardware Resource 270 using a dynamic announcement of a Routing Protocol 2200 substantially as described above. This environment and its components, as described in more detail elsewhere in this disclosure, may provide the structure for various means for executing the steps involved in accomplishing the invention as disclosed.
This environment works on substantially the same principles as those disclosed regarding FIGS. 2, 4 and 6. However, the use of the Routing Protocol 2200 to send dynamic announcements to the upstream Router 240 introduces notable differences in the environment shown in FIG. 22.
Specifically, rather than using a static route, data may be extracted from the First Hardware Resource 200 and loaded onto the Second Hardware Resource 270 with the route being determined via an announcement by the Routing Protocol 2200 to an upstream Router 240 and updating the Routing Table 250 on the upstream Router 240 appropriately. Similarly, rather than using a static route, access to the Hosted Account 220 may be accomplished via an announcement by the routing protocol to an upstream Router 240 and the Routing Table 250 on the upstream Router 240 may be updated appropriately using the Routing Protocol 2200. This environment may also include an autonomous system and reside within a VLAN environment as previously described.
An example embodiment shown in FIG. 23 shows that the step of managing the associated IP Address 230 using an attached Loopback Interface 400 (Step 2300) as previously disclosed may be included in an environment in which Routing Protocols 2200 are used to migrate the Hosted Account 220 to the Second Hardware Resource 270 (Step 2100).
An example embodiment shown in FIG. 24 shows that the step of using a Routing Protocol 2200 to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 (Step 2100) may be accomplished without affecting a DNS entry of a customer using the Hosted Account 220 (Step 2400) substantially similar to that previously disclosed regarding FIG. 6.
An example embodiment shown in FIG. 25 shows that the step of hosting a Hosted Account 220 on a First Hardware Resource 200 (Step 100) may be followed by a step of the Server providing access to the Hosted Account 220 via a dynamic announcement to a Router 240 upstream from the Server (Step 2500).
FIG. 26 shows an example user interface using the disclosed structure which may be used to enable the customer using the Hosted Account 220 to send a dynamic announcement to the upstream Router 240 by identifying the First Hardware Resource 200 as the hardware resource and/or Server which provides access to the Hosted Account 220 and its associated IP Address 230 (Step 2500).
An example embodiment shown in FIG. 27 shows that the step of using a Routing Protocol 2200 to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 (Step 2100) may be preceded by a step of establishing a Server on the Second Hardware Resource 270 (Step 2700). An interface substantially similar to that shown in FIG. 10 and described in detail elsewhere in this application may be used to accomplish this step.
An example embodiment shown in FIG. 28 shows that the step of using a Routing Protocol 2200 to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 (Step 2100) may preceded by a step of instantiating the IP Address 230 to be migrated to the Second Hardware Resource 270 (Step 2800). An interface substantially similar to that shown in FIG. 12 and described in detail elsewhere in this application may be used to accomplish this step.
An example embodiment shown in FIG. 29 shows that the step of using a Routing Protocol 2200 to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 (Step 2100) may be preceded by a step of performing mounting and access checks for a Shared Storage 210 associated with the IP Address 230 and the Hosted Account 220 (Step 2900). An interface substantially similar to that shown in FIG. 14 and described in detail elsewhere in this application may be used to accomplish this step.
An example embodiment shown in FIG. 30 shows that the step of migrating the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 using a Routing Protocol 2200 (Step 2100) may be preceded by a steps of configuring local processes on and verifying proper operation of the New Hardware Resource 270 (Step 3000). An interface substantially similar to that shown in FIG. 16 and described in detail elsewhere in this application may be used to accomplish this step.
An example embodiment shown in FIG. 31 shows that the step of using a Routing Protocol 2200 to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 (Step 2100) may be followed by a step of updating a Routing Table 250 on the upstream Router 240 using the Routing Protocol 2200 so that the IP Address 230 migrated is serviced by the Second Hardware Resource 270, thereby accomplishing a route swing (Step 3100).
FIG. 32 shows an example user interface using the disclosed structure that may be used to update a Routing Table 250 on a Router 240 upstream using the Routing Protocol 2200 so that the IP Address 230 migrated is serviced by the Second Hardware Resource 270, thereby accomplishing a route swing (Step 3100). For example, a customer using the Hosted Account 220 may select from drop-down menus a source First Hardware Resource 200 and a destination Second Hardware Resource 270. The dynamic announcement may then be sent to update the Routing Table 250 on the Router 240 to accomplish the route swing (Step 3100). The customer may then perform any of the previously disclosed migration steps and confirm completion of the configuration and updated dynamic announcement to the Router 240 possibly by clicking a button on the interface.
An example embodiment shown in FIG. 33 shows that the step of using a Routing Protocol to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 (Step 2100) may be followed by the steps of removing configuration data, removing processes, removing unneeded data mounts and removing a dynamic announcement to the Router 240 upstream from the First Hardware Resource 200 (Step 3300).
FIG. 34 shows an example user interface using the disclosed structure that may be used to remove configuration data, processes and unneeded data mounts on the First Hardware Resource 200 (Step 3300). For example, the progress of the removal of configuration data, processes, unneeded data mounts and dynamic announcement on the First Hardware Resource 200 (Step 3300) may be displayed as the Provisioning System 260 performs it. At the completion, the customer using the Hosted Account 220 may then perform any of the previously disclosed migration steps and confirm completion of the removal of configuration data, processes, unneeded data mounts and dynamic announcement, possibly by clicking a button on the interface.
A Method of Using Static Routing to Optimize Resource Utilization
Several different methods may be used to provide and manage the disclosed invention. In an example embodiment illustrated in FIG. 35, a Hosted Account 220 may be hosted on a First Hardware Resource 200 within a group of resources. The Hosted Account 220 may be associated with an IP Address 230 (Step 100). An alert of a network resource utilization change affecting the group of resources may be received (Step 3500). Static routing may then be used to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 in response to the network resource utilization change (Step 3510).
Several different environments may be used to complete the steps accomplished by the disclosed invention. FIG. 36 demonstrates a streamlined example of such an environment. A First Hardware Resource 200 and a Second Hardware Resource 270 may be, or may be used for applications and/or processes related to a Server, and may be part of a group of resources, possibly part of a server cluster serviced by a common Router 240. A group of Hosted Accounts 220 may be hosted using the Server resources.
In the interest of simplifying the current environment for example purposes, additional components of the environment shown and described in relation to FIGS. 2, 4, 6 and 22 are not shown in FIG. 36, but may be included. For example, an IP Address 230 may be associated with each of the Hosted Accounts 220. A Routing Table 250 on the Router 240 may contain a route/path used to direct network traffic for the IP Address 230 to the Hosted Account 220.
A Provisioning System 260 may be used to assign the Hosted Account 220 to the IP Address 230. The Provisioning System 260 may also migrate the Hosted Account 220 and its associated IP Address 230 from the First Hardware Resource 200 to a Second Hardware Resource 270 and back using static routing. This environment and its components, as described in detail elsewhere in this disclosure, may provide the structure for various means for executing the steps involved in accomplishing the invention as disclosed.
As in previously disclosed environments, this environment may also include an autonomous system and/or may reside within a Virtual Local Area Network (VLAN) environment as previously disclosed.
The Loopback Interface 400 previously disclosed may also be used for management datagrams, such as alarms, originating from the network resources, which may be used to facilitate the alert of network resource utilization changes affecting the group of resources. The IP Address 230 may likewise be used to facilitate alerts of network resource utilization changes such as fault tolerance and load distribution.
A metric may be used to determine a threshold at which an alert is used to show a network resource utilization change. In the steady state, the Server may provide access to the Hosted Account 220 that may be bound to the IP Address 230. The alert may be triggered when the state is no longer a steady state, possibly an overload state.
A metric may be any variable assigned to network resources as a means of ranking them from best to worst or from most preferred to least preferred. The Router 240 may have and/or be used as part of the mechanism for calculating a best resource to be used when there are multiple available resources. Such metrics may also be used to determine when a migration to another hardware resource is recommended, and which hardware resource is preferred.
For example, any combination of disclosed software and hardware resources such as, but not limited to the Loopback Interface 400, IP Address 230 and Router 240 may determine a steady state threshold through monitored metrics which trigger an alert of a network resource utilization change related to Account C, hosted on First Hardware Resource 200 as shown in FIG. 36, and its associated IP Address 230. The network resource utilization change alert may be displayed to a customer who may automatically or manually migrate Account C and its associated IP Address 230 to the Second Hardware Resource 270 using static routing to update the route in the Routing Table 250 (Step 3510).
An example embodiment shown in FIG. 37 shows that the step of using static routing to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 in response to the network resource utilization change (Step 3510) may be preceded by a step providing a control panel for a manual migration of the Hosted Account 220 and manually updating a static route on a Router 240 upstream from the group of resources (Step 3700).
FIG. 38 shows an example user interface using the disclosed structure which may be used to receive an alert of a network resource utilization change affecting the group of resources (Step 3500) and use static routing to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 in response to the network resource utilization change (Step 3510).
The example interface shown in FIG. 38 shows that many combinations of steps may be used to automatically or manually migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 in response to the network resource utilization change (Step 3510). The system may automatically calculate the best distribution of resources and the best migration strategy for such a distribution. Likewise, the system may automatically migrate the Hosted Account 220 and IP Address 230 (Step 3510) according to the best-calculated migration and distribution strategy.
To accomplish such a strategy, a customer using the example interface shown in FIG. 38 may only need to push the button to calculate the best migration and distribution strategy and confirm automatic migration of the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 in response to the network resource utilization change (Step 3510). Similarly, the system may detect, calculate and apply such a migration and distribution strategy without user input.
Another use of the interface in FIG. 38 may include selecting the hardware resources to be used in such a migration, possibly using provided drop-down menus, and confirming whether this is the best migration and distribution strategy by clicking a provided button.
A button may also be provided which allows the customer using the Hosted Account 220 to open a control panel to migrate the Hosted Account 220 and Shared Hosting IP Account 230 manually in combination with updating the static route on a Routing Table 250.
The control panel may be any control panel disclosed in the current specification which allows the migration of the Hosted Account 220 and the IP Address 230 to be migrated between hardware resources using Routing Protocols 2200, or in combination with any migration control panel disclosed, known or later developed in the art. Likewise, the migration itself in step 3510 may be accomplished using any method for migration using static routing disclosed in the current specification.
An embodiment shown in FIG. 39 shows that the step of receiving an alert of a network resource utilization change affecting the group of resources (Step 3500) may be modified to include the step of showing a high load and a lower load configuration available (Step 3900), and that the step of using static routing to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 in response to the network resource utilization change (Step 3510) may be followed by the step of performing load balancing in response to the network resource utilization change (Step 3910).
Load balancing may include the practice of distributing traffic among multiple resources in order to use bandwidth efficiently. Load balancing may be implemented to alternate or distribute traffic between the multiple resources. The high load alert may be a metric that reflects a high amount of traffic utilizing a resource in a group of resources. The best configuration may then be reflected in the one with the lowest load or load distribution.
As a non-limiting example, FIG. 36 shows a streamlined configuration with a group of hardware resources including a First Hardware Resource 200 and a Second Hardware Resource 270 communicatively coupled to a Router 240. The First Hardware Resource 200 may host 2 Hosted Accounts 220, Account A and Account C, and the Second Hardware Resource 270 may host 2 accounts Account B and Account D.
The system may determine a high load on the First Hardware Resource 200 and determine that the load may be balanced by automatically or manually migrating Account C to the Second Hardware Resource 220 using disclosed methods for such migration using static routing.
FIG. 40 shows an example user interface using the disclosed structure which may be used to perform load balancing in response to the network resource utilization change (Step 3910) including an alert of a high load and a lower load configuration available (Step 3900), which may be displayed to a customer, who may migrate the Hosted Account 220 and IP Address 230 and update the route in the Routing Table 250. This may be accomplished using drop-down menus to select the First Hardware Resource 200 as the source and the Second Hardware Resource 270 as the destination for the migration. The customer may then migrate the Hosted Account 220 and IP Address 230 to optimize and balance the load, possibly by clicking a button on the interface.
As shown in FIG. 40, the Provisioning System 260 may use metrics from any combination of disclosed network software and hardware resources such as, but not limited to the Loopback Interface 400, IP Address 230 and Router 240 to determine the optimal parameters for load balancing, or any other available remedies for the detected network resource utilization change. A button may be available on the user interface to determine and apply such parameters automatically or manually. This may likewise be applied to any other network resource utilization change or available remedies for metrics showing variance from steady state.
Several different approaches may be used to balance the available resources. One such approach may allow the Hosted Account 220 to be migrated to accomplish equalization of the load on the group of resources. As a non-limiting example seen in FIG. 40, Account C may be automatically or manually migrated to the Second Hardware Resource 270 where the First Hardware Resource 200 may be using 90% of its resources affecting load and the Second Hardware Resource may using 30% of its resources affecting load.
In this example, the migration may accomplish use of 60% of the resources affecting load for the First Hardware Resource 200 and 60% of resources affecting load for the Second Hardware Resource 270. If the system determines such a scenario, manual or automatic migration using static routing may accomplish equalization of the load on the group of resources.
In another example approach, the First Hardware Resource 200 may have the highest load among the group of resources, the Second Hardware Resource 270 may have the lowest load among the group of resources and the Hosted Account 220 may be migrated using static routing from the First Hardware Resource 200 to the Second Hardware Resource 270 to balance the load.
For example, Account C may be migrated to the Second Hardware Resource 270 when it is detected that the highest use of resources affecting load is on the First Hardware Resource, and the migration of Account C may be used to balance the load. Such an approach may be used to temporarily balance the load. If the use of load-related resources on the First Hardware Resource 200 is reduced at some point after the migration, the Hosted Account 220 may be migrated back to the First Hardware Resource 200 when the high load on the First Hardware Resource 200 has been reduced to better accommodate the Hosted Account 220.
A Method Using Routing Protocols to Optimize Resource Utilization
Several different methods may be used to provide and manage the disclosed invention. In an example embodiment illustrated in FIG. 41, a Hosted Account 220 may be hosted on a First Hardware Resource 200 within a group of resources. The Hosted Account 220 may be associated with an IP Address 230 (Step 100). An alert of a network resource utilization change affecting the group of resources may be received (Step 3500). A Routing Protocol 2200 may then be used to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 in response to the network resource utilization change (Step 4100).
Several different environments may be used to complete the steps accomplished by the disclosed invention. The environment shown in FIG. 36 and described elsewhere in this disclosure demonstrates a streamlined example of such an environment.
This environment works on substantially the same principles as those disclosed regarding FIG. 2 and subsequent like environments. However, the use of a Routing Protocol 2200 (not shown in FIG. 36) to send dynamic announcements to the upstream Router 240 introduces notable differences in the environment described in FIG. 36.
Specifically, rather than using a static route, data may be extracted from the First Hardware Resource 200 and loaded onto the Second Hardware Resource 270 with the route being determined via an announcement by the Routing Protocol 2200 to a Router 240 upstream from the group of resources and updating the Routing Table 250 on the upstream Router 240 appropriately. Similarly, rather than using a static route, access to the Hosted Account 220 may be accomplished via an announcement by the routing protocol to an upstream Router 240 and the Routing Table 250 on the upstream Router 240 may be updated appropriately using the Routing Protocol 2200. This environment may also include an autonomous system and reside within a VLAN environment as previously described.
As in the example environment shown in FIG. 36, the Loopback Interface 400 may be used in conjunction with other network resources and monitored metrics to facilitate the alert of network resource utilization changes affecting the group of resources.
For example, any combination of disclosed software and hardware resources such as, but not limited to the Loopback Interface 400, IP Address 230 and Router 240 may determine a steady state threshold through monitored metrics which trigger an alert of a network resource utilization change related to Account C, hosted on First Hardware Resource 200 as shown in FIG. 36, and its associated IP Address 230. The network resource utilization change alert may be displayed to a customer who may automatically or manually migrate Account C and its associated IP Address 230 to the Second Hardware Resource 270 using a Routing Protocol 2200 to update the route in the Routing Table 250 (Step 4100).
An example embodiment shown in FIG. 42 shows that the step of using a Routing Protocol 2200 to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 in response to the network resource utilization change (Step 4100) may be preceded by a step providing a control panel for a manual migration of the Hosted Account 220 and manually updating a dynamic announcement sent to a Router upstream from a Server on a Router 240 upstream from the group of resources. (Step 4200). An interface substantially similar to that shown in FIG. 38 and described in detail elsewhere in this application may be used to accomplish this step.
An embodiment shown in FIG. 43 shows that the step of receiving an alert of a network resource utilization change affecting the group of resources (Step 3500) may be modified to include the step of showing a high load and a lower load configuration available (Step 4300), and that the step of using a Routing Protocol 2200 to migrate the Hosted Account 220 and the IP Address 230 to a Second Hardware Resource 270 in response to the network resource utilization change (Step 4100) may be followed by the step of performing load balancing in response to the network resource utilization change (Step 4310). An interface substantially similar to that shown in FIG. 40 and described in detail elsewhere in this application may be used to accomplish these steps.
As a non-limiting example, FIG. 36 shows a streamlined configuration with a group of hardware resources including a First Hardware Resource 200 and a Second Hardware Resource 270 communicatively coupled to a Router 240. The First Hardware Resource 200 may host 2 Hosted Accounts 220, Account A and Account C, and the Second Hardware Resource 270 may host 2 accounts Account B and Account D.
The system may determine a high load on the First Hardware Resource 200 and determine that the load may be balanced by automatically or manually migrating Account C to the Second Hardware Resource 220 using disclosed methods for such migration using a Routing Protocol 2200.
Several different approaches may be used to balance the available resources. One such approach may allow the Hosted Account 220 to be migrated to accomplish equalization of the load on the group of resources. As a non-limiting example, Account C may be automatically or manually migrated to the Second Hardware Resource 270 as seen in FIG. 40 where the First Hardware Resource 200 may be using 90% of its resources affecting load and the Second Hardware Resource may using 30% of its resources affecting load.
In this example, the migration may accomplish use of 60% of the resources affecting load for the First Hardware Resource 200 and 60% of resources affecting load for the Second Hardware Resource 270. If the system determines such a scenario, manual or automatic migration using Routing Protocols 2200 may accomplish equalization of the load on the group of resources.
In another example approach, the First Hardware Resource 200 may have the highest load among the group of resources, the Second Hardware Resource 270 may have the lowest load among the group of resources and the Hosted Account 220 may be migrated using Routing Protocols 2200 from the First Hardware Resource 200 to the Second Hardware Resource 270 to balance the load.
For example, Account C may be migrated to the Second Hardware Resource 270 when it is detected that the highest use of resources affecting load is on the First Hardware Resource, and the migration of Account C may be used to balance the load. Such an approach may be used to temporarily balance the load. If the use of load-related resources on the First Hardware Resource 200 is reduced at some point after the migration, the Hosted Account 220 may be migrated back to the First Hardware Resource 200 when the high load on the First Hardware Resource 200 has been reduced to better accommodate the Hosted Account 220. Other embodiments and uses of the above inventions will be apparent to those having ordinary skill in the art upon consideration of the specification and practice of the invention disclosed herein. The specification and examples given should be considered exemplary only, and it is contemplated that the appended claims will cover any other such embodiments or modifications as fall within the true scope of the invention.
Other embodiments and uses of the above inventions will be apparent to those having ordinary skill in the art upon consideration of the specification and practice of the invention disclosed herein. The specification and examples given should be considered exemplary only, and it is contemplated that the appended claims will cover any other such embodiments or modifications as fall within the true scope of the invention.
The Abstract accompanying this specification is provided to enable the United States Patent and Trademark Office and the public generally to determine quickly from a cursory inspection the nature and gist of the technical disclosure and in no way intended for defining, determining, or limiting the present invention or any of its embodiments.

Claims (16)

The invention claimed is:
1. A method comprising the steps of:
A) binding, by one or more server computers in a server cluster communicatively coupled to a network, an Internet Protocol (IP) address to a website hosted on a source server computer within said server cluster;
B) assigning, by said one or more server computers, said IP address to a loopback interface without binding said IP address to a physical network interface on said source server computer;
C) writing, by said one or more server computers, to a routing table stored in a router servicing said server cluster, a static route to said IP address via said loopback interface on said source server computer;
D) identifying, by said one or more server computers, a destination server computer within said server cluster onto which to migrate said website, said IP address and said loopback interface;
E) migrating, by said one or more server computers, said website, said IP address and said loopback interface to said destination server computer without requiring an update of one or more Domain Name System (DNS) entries for said website; and
F) updating, by said one or more server computers, said static route in said routing table to direct network traffic for said website to said IP address via said loopback interface on said destination server computer.
2. The method of claim 1 wherein said loopback interface:
i) comprises a virtual interface assigned to said IP address, said virtual interface comprising a software not assigned to said physical network interface on said source server computer or to a physical network interface on said destination server computer;
ii) is configured to send or receive said network traffic between said one or more network components and said IP address via said virtual interface;
iii) is managed remotely through said network by a network management control panel.
3. The method of claim 1 further comprising a network management control panel comprising a graphical user interface displayed on a client computer communicatively coupled to said network and configured to control one or more software components and one or more hardware components within said network.
4. The method of claim 3 further comprising the steps of:
i) receiving, from said graphical user interface on said network management control panel, by said one or more server computers, a selection of:
a) said source server computer from which to migrate said website; and
b) said destination server computer to which to migrate said website; and
ii) extrapolating, from said selection of said first server computer, by said one or more of said plurality of said server computers, said IP address.
5. The method of claim 4 further comprising the steps of:
iii) instantiating and verifying, by said one or more server computers, a proper operation of said IP address on said destination server computer; and
iv) updating, by said one or more server computers, said routing table to designate said destination server computer to which to migrate said IP address and said website.
6. The method of claim 1 wherein said migrating step E) further comprises the steps of:
i) installing a server software on said destination server computer;
ii) instantiating and verifying a proper operation of said IP address on said destination server computer;
iii) performing one or more mounting checks and one or more access checks for a central and shared storage for said website on said destination server computer;
iv) configuring one or more local processes on said destination server computer;
v) verifying a proper operation of said destination server computer;
vi) mapping, from a plurality of mapping data on said routing table, a migration route from said source server computer to said destination server computer; and
vii) removing configuration data, processes and unneeded data mounts on said source server computer.
7. The method of claim 1 wherein said migration module is configured, during migration of said website, said IP address and said loopback interface, to place a freeze, disabling functionality to view or change one or more applications, one or more processes or one or more accounts of a file system on said source server computer, on one or more read/write capabilities of said source server computer until configuration, migration and verification of said website, said IP address and said loopback interface are complete.
8. The method of claim 1 wherein:
i) said one or more DNS entries are stored in a DNS comprising a distributed database system maintained by a directory host configured to translate at least one domain name to said IP address;
ii) said IP address is assigned to said at least one domain name independent of a physical routing hierarchy or one or more IP routing arrangements within said network; and
iii) said DNS entries are not updated responsive to migration of said website, said IP address and said loopback interface.
9. A system comprising:
A) a server cluster communicatively coupled to a network;
B) a source server computer within said server cluster comprising a loopback interface and hosting a website accessible to one or more network components within said network via an Internet Protocol (IP) address;
C) one or more server computers within said server cluster running a provisioning module configured to:
i) bind said IP address to said website;
ii) assign said IP address to said loopback interface without binding said IP address to a physical network interface on said source server computer; and
iii) write, to a routing table stored in a router servicing said server cluster, a static route to said IP address via said loopback interface on said source server computer; and
D) one or more of said one or more server computers within said server cluster running a migration module configured to:
i) identify a destination server computer within said server cluster onto which to migrate said website, said IP address and said loopback interface;
ii) migrate said website, said IP address and said loopback interface to said destination server computer without requiring an update of one or more Domain Name System (DNS) entries for said website; and
iii) update said static route in said routing table to direct network traffic for said website to said IP address via said loopback interface on said destination server computer.
10. The system of claim 9 wherein said loopback interface:
i) comprises a virtual interface assigned to said IP address, said virtual interface comprising a software not assigned to said physical network interface on said source server computer or to a physical network interface on said destination server computer;
ii) is configured to send or receive said network traffic between said one or more network components and said IP address via said virtual interface;
iii) is managed remotely through said network by a network management control panel.
11. The system of claim 9 further comprising a network management control panel comprising a graphical user interface displayed on a client computer communicatively coupled to said network and configured to control one or more software components and one or more hardware components within said network.
12. The system of claim 11 wherein said one or more server computers are configured to:
i) receive, from said graphical user interface on said network management control panel, a selection of:
a) said source server computer from which to migrate said website; and
b) said destination server computer to which to migrate said website; and
ii) extrapolate, from said selection of said first server computer, said IP address.
13. The system of claim 12 wherein said one or more server computers are further configured to:
iii) instantiate and verify a proper operation of said IP address on said destination server computer; and
iv) update said routing table to designate said destination server computer for migration of said IP address and said website.
14. The system of claim 9 wherein said migration module is further configured to:
i) install a server software on said destination server computer;
ii) instantiate and verify a proper operation of said IP address on said destination server computer;
iii) perform one or more mounting checks and one or more access checks for a central and shared storage for said website on said destination server computer;
iv) configure one or more local processes on said destination server computer;
v) verify a proper operation of said destination server computer;
vi) map, from a plurality of mapping data on said routing table, a migration route from said source server computer to said destination server computer; and
vii) remove configuration data, processes and unneeded data mounts on said source server computer.
15. The system of claim 9 wherein said migration module is configured, during migration of said website, said IP address and said loopback interface, to place a freeze, disabling functionality to view or change one or more applications, one or more processes or one or more accounts of a file system on said source server computer, on one or more read/write capabilities of said source server computer until configuration, migration and verification of said website, said IP address and said loopback interface are complete.
16. The system of claim 9 wherein:
i) said one or more DNS entries are stored in a DNS comprising a distributed database system maintained by a directory host configured to translate at least one domain name to said IP address;
ii) said IP address is assigned to said at least one domain name independent of a physical routing hierarchy or one or more IP routing arrangements within said network; and
iii) said DNS entries are not updated responsive to migration of said website, said IP address and said loopback interface.
US12/331,267 2008-12-09 2008-12-09 Using static routing to migrate a hosted account Active 2032-04-02 US8819198B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/331,267 US8819198B2 (en) 2008-12-09 2008-12-09 Using static routing to migrate a hosted account

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/331,267 US8819198B2 (en) 2008-12-09 2008-12-09 Using static routing to migrate a hosted account

Publications (2)

Publication Number Publication Date
US20100146147A1 US20100146147A1 (en) 2010-06-10
US8819198B2 true US8819198B2 (en) 2014-08-26

Family

ID=42232323

Family Applications (1)

Application Number Title Priority Date Filing Date
US12/331,267 Active 2032-04-02 US8819198B2 (en) 2008-12-09 2008-12-09 Using static routing to migrate a hosted account

Country Status (1)

Country Link
US (1) US8819198B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150304414A1 (en) * 2014-04-17 2015-10-22 Go Daddy Operating Company, LLC Allocating hosting server resources via migration paths
US20150304236A1 (en) * 2014-04-17 2015-10-22 Go Daddy Operating Company, LLC User input processing for allocation of hosting server resources
US20150304243A1 (en) * 2014-04-17 2015-10-22 Go Daddy Operating Company, LLC Allocating and accessing hosting server resources via continuous resource availability updates
US9455871B1 (en) * 2012-05-23 2016-09-27 Amazon Technologies, Inc. Best practice analysis, migration advisor
US9626710B1 (en) 2012-05-23 2017-04-18 Amazon Technologies, Inc. Best practice analysis, optimized resource use
US10740765B1 (en) 2012-05-23 2020-08-11 Amazon Technologies, Inc. Best practice analysis as a service

Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148064A (en) 1998-12-10 2000-11-14 Motorola, Inc. Method and apparatus for alerting a communication unit in a communication system
US6233577B1 (en) 1998-02-17 2001-05-15 Phone.Com, Inc. Centralized certificate management system for two-way interactive communication devices in data networks
US20010011255A1 (en) 1996-12-13 2001-08-02 Alan Asay Reliance management for electronic transaction system
US20010046227A1 (en) * 2000-05-23 2001-11-29 Fujitsu Limited Communication device for selecting route of packet
US6351745B1 (en) 1996-02-28 2002-02-26 Netzero, Inc. Communication system for distributing such message as advertisement to user of terminal equipment
US20040107266A1 (en) * 2002-03-25 2004-06-03 Tdk Corporation URL management system and URL management server
US6868444B1 (en) 2000-05-05 2005-03-15 Interland, Inc. Server configuration management and tracking
US20050105513A1 (en) 2002-10-27 2005-05-19 Alan Sullivan Systems and methods for direction of communication traffic
US20060193333A1 (en) 2003-03-25 2006-08-31 Prolego Technologies Ltd. Topology aggregation for hierarchical routing
US20060198322A1 (en) 2005-03-03 2006-09-07 Susan Hares Method and apparatus for BGP peer prefix limits exchange with multi-level control
US20060245433A1 (en) * 2005-04-28 2006-11-02 International Business Machines Corporation Apparatus and method for dynamic routing of messages with target validation and peer forwarding
US20070061462A1 (en) * 2005-09-15 2007-03-15 Jooyong Kim Host migration system
US20070061465A1 (en) * 2005-09-15 2007-03-15 Hostway Corporation Host migration system
US7194552B1 (en) 1999-03-22 2007-03-20 Eric Schneider Method, product, and apparatus for requesting a network resource
US20070153691A1 (en) 2002-02-21 2007-07-05 Bea Systems, Inc. Systems and methods for automated service migration
US20070180436A1 (en) * 2005-12-07 2007-08-02 Franco Travostino Seamless Live Migration of Virtual Machines across Optical Networks
US20070291739A1 (en) 2004-05-04 2007-12-20 Sullivan Alan T Systems and Methods for Direction of Communication Traffic
US20080019359A1 (en) 2006-07-20 2008-01-24 Sun Microsystems, Inc. Multiple virtual network stack instances using virtual network interface cards
US7383327B1 (en) * 2007-10-11 2008-06-03 Swsoft Holdings, Ltd. Management of virtual and physical servers using graphic control panels
US20090150527A1 (en) * 2007-12-10 2009-06-11 Sun Microsystems, Inc. Method and system for reconfiguring a virtual network path
US20090157882A1 (en) * 2007-12-18 2009-06-18 International Business Machines Corporation Network connection failover during application service interruption
US20100027420A1 (en) 2008-07-31 2010-02-04 Cisco Technology, Inc. Dynamic distribution of virtual machines in a communication network

Patent Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6351745B1 (en) 1996-02-28 2002-02-26 Netzero, Inc. Communication system for distributing such message as advertisement to user of terminal equipment
US20010011255A1 (en) 1996-12-13 2001-08-02 Alan Asay Reliance management for electronic transaction system
US6233577B1 (en) 1998-02-17 2001-05-15 Phone.Com, Inc. Centralized certificate management system for two-way interactive communication devices in data networks
US6148064A (en) 1998-12-10 2000-11-14 Motorola, Inc. Method and apparatus for alerting a communication unit in a communication system
US7194552B1 (en) 1999-03-22 2007-03-20 Eric Schneider Method, product, and apparatus for requesting a network resource
US6868444B1 (en) 2000-05-05 2005-03-15 Interland, Inc. Server configuration management and tracking
US20010046227A1 (en) * 2000-05-23 2001-11-29 Fujitsu Limited Communication device for selecting route of packet
US20070153691A1 (en) 2002-02-21 2007-07-05 Bea Systems, Inc. Systems and methods for automated service migration
US20040107266A1 (en) * 2002-03-25 2004-06-03 Tdk Corporation URL management system and URL management server
US20050105513A1 (en) 2002-10-27 2005-05-19 Alan Sullivan Systems and methods for direction of communication traffic
US20060193333A1 (en) 2003-03-25 2006-08-31 Prolego Technologies Ltd. Topology aggregation for hierarchical routing
US20070291739A1 (en) 2004-05-04 2007-12-20 Sullivan Alan T Systems and Methods for Direction of Communication Traffic
US20060198322A1 (en) 2005-03-03 2006-09-07 Susan Hares Method and apparatus for BGP peer prefix limits exchange with multi-level control
US20060245433A1 (en) * 2005-04-28 2006-11-02 International Business Machines Corporation Apparatus and method for dynamic routing of messages with target validation and peer forwarding
US20070061465A1 (en) * 2005-09-15 2007-03-15 Hostway Corporation Host migration system
US20070061462A1 (en) * 2005-09-15 2007-03-15 Jooyong Kim Host migration system
US20070180436A1 (en) * 2005-12-07 2007-08-02 Franco Travostino Seamless Live Migration of Virtual Machines across Optical Networks
US20080019359A1 (en) 2006-07-20 2008-01-24 Sun Microsystems, Inc. Multiple virtual network stack instances using virtual network interface cards
US7383327B1 (en) * 2007-10-11 2008-06-03 Swsoft Holdings, Ltd. Management of virtual and physical servers using graphic control panels
US20090150527A1 (en) * 2007-12-10 2009-06-11 Sun Microsystems, Inc. Method and system for reconfiguring a virtual network path
US20090157882A1 (en) * 2007-12-18 2009-06-18 International Business Machines Corporation Network connection failover during application service interruption
US20100027420A1 (en) 2008-07-31 2010-02-04 Cisco Technology, Inc. Dynamic distribution of virtual machines in a communication network

Non-Patent Citations (22)

* Cited by examiner, † Cited by third party
Title
Apr. 1, 2011 Non-Final Rejection, U.S. Appl. No. 12/331,278 (Publication US 2010-0146148 A1).
Apr. 5, 2011 Non-Final Rejection, U.S. Appl. No. 12/331,267 (Publication US 2010-0146147 A1).
Apr. 5, 2011 Non-Final Rejection, U.S. Appl. No. 12/331,269 (Publication US 2010-0146086 A1).
Apr. 5, 2011 Non-Final Rejection, U.S. Appl. No. 12/331,275 (Publication US 2010-0146121 A1).
CertaintySolutions; "Understanding DNS: How to Register for, Configure, and Change DNS Service"; Sep. 2000; Certainty Solutions Inc; pp. 1-7. *
Cisco; "Configuring Virtual Interfaces"; May 2, 2005; excerpt from Cisco IOS Interface and Hardware Component Configuration Guide; pp. 1-12. *
Cisco01; "Chapter 7: Configuring Switches"; Apr. 14, 2008; www.Cisco.com; pp. 1-9.
Jan. 25, 2012 response to Oct. 25, 2011 office action in related U.S. Appl. No. 12/331,269.
Jan. 25, 2012 response to Oct. 25, 2011 office action in related U.S. Appl. No. 12/331,275.
Jul. 1, 2011 Response to Apr. 1, 2011 Non-Final Rejection, U.S. Appl. No. 12/331,278 (Publication US 2010-0146148 A1).
Jul. 1, 2011 Response to Apr. 5, 2011 Non-Final Rejection, U.S. Appl. No. 12/331,267 (Publication US 2010-0146147 A1).
Jul. 1, 2011 Response to Apr. 5, 2011 Non-Final Rejection, U.S. Appl. No. 12/331,269 (Publication US 2010-0146086 A1).
Jul. 1, 2011 Response to Apr. 5, 2011 Non-Final Rejection, U.S. Appl. No. 12/331,275 (Publication US 2010-0146121 A1).
Jun. 11, 2014 Notice of Allowance in related U.S. Appl. No. 12/331,275.
Microsoft01; "Static routing design considerations"; Jan. 21, 2005; www.microsoft.com; pp. 1-2.
Oct. 25, 2011 office action in related U.S. Appl. No. 12/331,269.
Oct. 25, 2011 office action in related U.S. Appl. No. 12/331,275.
QuackIT; "Cold Fusion Administration"; Oct. 14, 2007; QuackIT.com; pp. 1-3.
QuackIT; "ColdFusion Administration"; Oct. 14, 2007; QuackIT.com; pp. 1-3. *
Solaris03; "System Administration Guide: Solaris Containers-Resource Management and Solaris Zones"; Jan. 2005; Sun Microsystems Inc; pp. 1-334. *
Unpublished U.S. Appl. No. 12/136,659, filed Jun. 10, 2008.
Unpublished U.S. Appl. No. 12/136,677, filed Jun. 10, 2008.

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9455871B1 (en) * 2012-05-23 2016-09-27 Amazon Technologies, Inc. Best practice analysis, migration advisor
US9626710B1 (en) 2012-05-23 2017-04-18 Amazon Technologies, Inc. Best practice analysis, optimized resource use
US10740765B1 (en) 2012-05-23 2020-08-11 Amazon Technologies, Inc. Best practice analysis as a service
US11030669B1 (en) 2012-05-23 2021-06-08 Amazon Technologies, Inc. Best practice analysis, optimized resource use
US11941639B1 (en) 2012-05-23 2024-03-26 Amazon Technologies, Inc. Best practice analysis as a service
US20150304414A1 (en) * 2014-04-17 2015-10-22 Go Daddy Operating Company, LLC Allocating hosting server resources via migration paths
US20150304236A1 (en) * 2014-04-17 2015-10-22 Go Daddy Operating Company, LLC User input processing for allocation of hosting server resources
US20150304243A1 (en) * 2014-04-17 2015-10-22 Go Daddy Operating Company, LLC Allocating and accessing hosting server resources via continuous resource availability updates
US9501211B2 (en) * 2014-04-17 2016-11-22 GoDaddy Operating Company, LLC User input processing for allocation of hosting server resources
US9660933B2 (en) * 2014-04-17 2017-05-23 Go Daddy Operating Company, LLC Allocating and accessing hosting server resources via continuous resource availability updates

Also Published As

Publication number Publication date
US20100146147A1 (en) 2010-06-10

Similar Documents

Publication Publication Date Title
US8805975B2 (en) Using routing protocols to optimize resource utilization
US8805973B2 (en) Using routing protocols to migrate a hosted account
US11902364B2 (en) Automatic replacement of computing nodes in a virtual computer network
US10764238B2 (en) Providing services for logical networks
CN112437026B (en) Routing configuration method, device and system of logic router
US9736016B2 (en) Managing failure behavior for computing nodes of provided computer networks
EP2457159B1 (en) Dynamically migrating computer networks
US20150134791A1 (en) Managing communications for modified computer networks
CN108475251A (en) It is put for the virtual network of container, heat exchange, pyrocondensation and disaster recovery
US11671401B2 (en) Providing persistent external internet protocol address for extra-cluster services
US8819198B2 (en) Using static routing to migrate a hosted account
US11038745B1 (en) Rapid point of presence failure handling for content delivery networks
US8805974B2 (en) Using static routing to optimize resource utilization
US12028314B2 (en) Providing persistent external internet protocol address for extra-cluster services
US20240113968A1 (en) Using crds to create externally routable addresses and route records for pods
Hagen Planning for IPv6: IPv6 Is Now. Join the New Internet.
CN117044183A (en) Providing persistent external internet protocol addresses for extracluster services
JP2014515199A (en) Physical location tracking

Legal Events

Date Code Title Description
AS Assignment

Owner name: THE GO DADDY GROUP, INC.,ARIZONA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SCHWIMER, GREG;REEL/FRAME:021953/0803

Effective date: 20081204

Owner name: THE GO DADDY GROUP, INC., ARIZONA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SCHWIMER, GREG;REEL/FRAME:021953/0803

Effective date: 20081204

AS Assignment

Owner name: GO DADDY OPERATING COMPANY, LLC, ARIZONA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:THE GO DADDY GROUP, INC.;REEL/FRAME:027363/0423

Effective date: 20111212

AS Assignment

Owner name: BARCLAYS BANK PLC, AS COLLATERAL AGENT, NEW YORK

Free format text: SECURITY AGREEMENT;ASSIGNOR:GO DADDY OPERATING COMPANY, LLC;REEL/FRAME:027416/0080

Effective date: 20111216

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551)

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8

AS Assignment

Owner name: ROYAL BANK OF CANADA, CANADA

Free format text: NOTICE OF SUCCESSION FOR SECURITY AGREEMENT RECORDED AT REEL/FRAME 027416/0080;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:062780/0514

Effective date: 20230215