US9986030B2 - Method and device for duplicating a data center - Google Patents
Method and device for duplicating a data center Download PDFInfo
- Publication number
- US9986030B2 US9986030B2 US14/682,595 US201514682595A US9986030B2 US 9986030 B2 US9986030 B2 US 9986030B2 US 201514682595 A US201514682595 A US 201514682595A US 9986030 B2 US9986030 B2 US 9986030B2
- Authority
- US
- United States
- Prior art keywords
- address
- data center
- address space
- original
- copied data
- 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.)
- Expired - Fee Related, expires
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/161—Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/084—Configuration by using pre-existing information, e.g. using templates or copying from other elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2521—Translation architectures other than single NAT servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5038—Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
-
- H04L61/1511—
-
- H04L61/2007—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
Definitions
- the present invention relates to a method and to a device for duplicating a data center having an original public address space and an original private address space. Moreover, the present invention relates to a system including a plurality of copied data centers and an address translation component.
- duplicating a data center may be used in a case that an enterprise having one data center may be split up into multiple enterprises addressing the same business, e.g. for regulatory reasons or anti-trust reasons or expansion to a new geography.
- large parts of the enterprise's infrastructure, including the enterprise's data center and the services it provides, are to be duplicated.
- a method for duplicating a data center having an original public address space and an original private address space includes the following steps: In a first step, the data center is copied for providing at least two copied data centers. In a second step, a new public address space and the original private address space of the data center are allocated to each of the copied data centers. In a third step, an address translation component is provided which is configured to re-address traffic such that traffic directed to an address of the original public address space is directed to a corresponding address of one of the new public address spaces of the copied data centers.
- the above-described method ensures service continuity against backdrop of significant infrastructural changes by minimizing downtime and minimizing risk to service availability while the data center is being duplicated, minimizing cost of data center duplication, as well as maximizing the quality of data center duplication.
- assigning public address spaces for each copied data center that are new, i.e. distinguishable from the public address space of the original data center, as well as different, i.e. distinguishable from each other minimizes the overall configuration effort for data center duplication, as only minimal reconfiguration is needed to introduce the new address spaces. Further, safe landing points are created for traffic directed to new addresses right from the start of duplication.
- the term ‘original’ may denote a configuration state before data center duplication takes place, whereas the term ‘new’ may stand for a configuration state that differs from the original state.
- an address space may either stand for a network address space (i.e. contiguous range of numerical labels) or for a domain name space (i.e. human-readable name) assigned to a communication network to have its networking devices identified and localized which provide communication services (e.g. connectivity, content etc.).
- a private address space may be an address space used to provide private communication services (i.e. communication services to a closed user group) within the organization to which the computer network belongs
- a public address space may refer to an address space used to provide public communication services within and potentially also beyond the organization's network boundaries.
- traffic addressed to the original private address space is routed directly within a copied data center (internal traffic).
- Traffic addressed to a new public address space is routed directly within a copied data center (internal traffic) or is routed directly to a copied data center (external traffic).
- Traffic addressed to the original public address space can be re-addressed—i.e. network address translated (see below)—automatically, and then routed directly within the copied data center (internal traffic), whereas special handling is only required for the remaining traffic (external traffic).
- the new public address space includes a new public IP address space.
- the address translation component is provided such that it is configured, for traffic from a source copied data center to a destination copied data center, to translate an address of the original private address space into a corresponding address of the original private address space allocated to the destination copied data center using alias private addresses.
- the above-described use of NAT minimizes the configuration effort for data center duplication further, as only minimal reconfiguration is needed for traffic to be directed to addresses of the private address space within another copied data center.
- the configuration involves providing the alias-to-private address mapping on the NAT devices of the copied data centers. Further, the configuration may be done in preparation or advance of the duplication phase. Furthermore, address translation for this class of traffic works automatically once it is configured, i.e. no further user interaction or contribution is required.
- a source may refer to a communication endpoint which employs a communication protocol (e.g. IP protocol) and sends or addresses traffic to a destination.
- a destination may refer to a communication endpoint which employs a communication protocol (e.g. IP protocol) and receives traffic sent from a source and addressed to this destination.
- the communication endpoints may also swap roles during a communication session.
- address translation here may refer to re-addressing of traffic, directed to an address of a private address space (assigned to the data center, and re-used in all copied data centers), with a corresponding address of an alias private address space (assigned to one certain of the copied data centers). Traffic re-addressed in such a way may be discriminated from internal traffic of the copied data center, routed to the other copied data center, re-addressed to a corresponding address of the private address space, and delivered.
- the physical machines that comprise the data center site may be re-used in one of the copied data center sites. This implies that some communication between the copied data center sites may be required to copy the server configuration and data to the site that is using new hardware, where some of the servers may only have private addresses.
- NAT may be used on the address translation component to allow an explicit transfer between servers that are reachable via the same private address in the two sites, but prevent accidental references.
- this may be achieved by assigning a different unused private address range to each of the copied data centers, which serves as an alias address range for the respective copied data center and enables to distinguish and approach the different copied data centers that are otherwise undistinguishable.
- Traffic using alias addresses may be routed to the address translation component, there be translated to the private address space that is common to all copied data centers, and then be routed to the copied data center whose alias address space was used.
- the original public address space includes an original DNS namespace.
- the new public address space includes a new DNS namespace.
- the use of the DNS enables introduction of names for resources (networking devices, web content, etc.) which are easier to remember than their corresponding numeric addresses.
- a particular communication network e.g., a data center
- a DNS namespace like orig.co.uk
- a particular networking device is identified by a combination of DNS namespace and DNS name of a networking device—e.g., www.orig.co.uk
- a particular web content is identified by the combination of DNS namespace to identify the network containing the web server, DNS name to identify the web server providing the particular web content as well as path information to identify the particular content on that web server, collectively forming an application-layer address which is also known as Uniform Resource Locator (URL)—e.g. www.orig.co.uk/path.html.
- URL Uniform Resource Locator
- the use of the DNS further enables the proposed method to also apply to application-layer address spaces and address translation, e.g. for web traffic exchanged between web clients and web servers.
- the use of the DNS furthermore minimizes the overall configuration effort for data center duplication, as only minimal reconfiguration is needed for traffic directed to human-readable domain names corresponding to the new public address spaces (assigned to the copied data centers).
- the configuration involves registration of new namespaces with an arbitrary DNS server serving the data center and/or the copied data centers.
- configuration may be done in preparation or advance of the duplication phase.
- DNS service works automatically once it is configured, i.e. no further user interaction or contribution is required.
- a domain name may be a component of a name of a networking device, as well as a component of a Uniform Resource Locator (URL, described below) used on the application layer to access web content.
- URL Uniform Resource Locator
- the DNS may translate names of the networking devices within a network domain to their corresponding numerical network addresses.
- a DNS service may provide numerical addresses from public and/or private address spaces.
- web clients deploy a web protocol (e.g. HTTP) to request web content from a web server, and can be realized as a web browser, web script etc.
- Web servers deploy the web protocol to answer requests for web content issued by web clients. Both web clients and web servers represent endpoints of the protocol exchange.
- the above-described use of URL switching and/or URL redirection minimizes the overall configuration effort for data center duplication, since only minimal reconfiguration is needed for web traffic directed to addresses of the original public address space which was assigned to the data center, but is still in use in the copied data centers and in external networks as well.
- the configuration involves a catch-all redirection of web traffic addressed to the data center's web server, either on this web server or on an upstream web switch. Further, configuration may be done in preparation/advance of the duplication phase.
- address translation for this class of traffic works automatically once it is configured, i.e. no further user interaction or contribution is required.
- the method includes providing a web content to a requesting web client at the further address within the original public address space.
- the provided web content is configured to enforce a user selection by the requesting web client to select one certain of the copied data centers.
- the web content delivered by the web server of the data center may be configured to enforce a user selection via the requesting web client.
- This user selection may involve a choice of the copied data center responsible for answering future requests for web content by the particular web client, i.e. user.
- the provided web content is configured to execute a program in the requesting web client for setting a cookie which is adapted to identify the new DNS namespace of the certain copied data center based on the user selection.
- the cookie is used to memorize the above-described user selection, i.e. the user is prompted only once at the beginning of a session, which is a more practical way of handling ambiguous requests for web content instead of enforcing user selections over and over again for each and every request sent to a web server.
- a program must be executed by the requesting web client since the user selection is made at the web client, and not at the web server which would otherwise be capable of setting cookies, too.
- the program implementing the user selection may be a web script etc.
- the cookie is furthermore attached to future requests for web content to the issuing web server, and paves the way for cookie switching and/or cookie redirection described below.
- the above-described use of cookies minimizes the overall configuration effort for data center duplication, as setting cookies works automatically once the executable program is provided as part of the above-described web content, i.e. no further user interaction or contribution is required.
- the present cookie may be a piece of information used by an issuer to identify a particular user and/or user session, and may be passed back to the issuer as long as the cookie exists. This means that cookies may persist much longer than a single request-response message exchange between protocol endpoints.
- the cookie may be issued by the data center's web server to unambiguously identify a particular web client during a session involving multiple request-response message exchanges between the web server and the particular web client.
- the provided web content might also update the link (i.e. URL) to which the request will be sent after the user selection, i.e. provide a direct reference.
- the web content may also try to set a cookie to be sent to the web server of the selected copied data center, in case no referer information (e.g. HTTP Referer) is set.
- the web servers at the copied data centers may look at the referer information (not set by all browsers). If traffic was received via a browser redirect, a banner may be used to suggest updating the bookmark or link.
- cookie switching and/or cookie redirection minimizes the overall configuration effort for data center duplication, as only minimal reconfiguration is needed for redirection of individual users' web traffic which is (still) directed to addresses of the original public address space which was assigned to the data center, but is in use in the copied data centers and in external networks as well.
- configuration may be done in preparation or advance of the duplication phase, involving the data center's web server and/or a web switch in the data center, located upstream of the web server.
- address translation for this class of traffic works automatically once it is configured, i.e. no user further interaction or contribution is required.
- cookie switching may represent the capability to re-address requests for web content (as specified by a URL included in the web request) to a different URL, potentially involving different web content and/or web server, based on a cookie embedded in the web request.
- Cookie redirection not only re-addresses the request but also answers the request with a redirection message, which effectively notifies the requesting web client of the address translation and enables it to initiate a request for web content as specified by the new URL.
- Both cookie switching and cookie redirection may be performed by an intermediate device (e.g. web switch) and/or an end device (e.g. web server) capable of the protocol used for exchanging web traffic (e.g. HTTP).
- cookie redirection uses a cookie being adapted to identify the new DNS namespace substituting the original DNS namespace for the web traffic to be re-addressed.
- more than one (i.e. a plurality of) copied data centers can be distinguished, and every user may select the correct copied data center individually.
- the method includes providing a skeleton data center acting as proxy for the data center.
- the provided skeleton data center includes at least a web server.
- the term ‘skeleton’ refers to a minimal set of features required for seamless web service during the phase of data center duplication and beyond.
- the web server is a mandatory feature, because it serves as a safe landing point for traffic (still) directed to original addresses right from the start of duplication, which in turn enables logging and/or localization of remaining misconfigurations, as well as permanent traffic hand-off to the copied data centers.
- the web server functionality may be provided by an appliance. That is to say that a load balancer may be able to act as web server for traffic to the old addresses by automatically serving the “where do you want to be redirected” page itself. Further, this may be in addition to content-switched redirection of traffic to the old addresses when a cookie is present.
- the address translation component is provided such that it includes a first entity integrated in the web switch and a second entity integrated in the web server.
- Each of the first entity and the second entity is adapted to execute the cookie redirection, the cookie switching, the URL redirection and/or the URL switching.
- cookie redirection, cookie switching, URL redirection and/or URL switching can be performed by the web switch, the web server, or a combination of both, enabling an implementation tailored to specific scenarios.
- a web server may only be responsible for answering requests for web content, whereas in other implementations, it may even be required to perform URL redirection and/or cookie redirection as well.
- the web switch directs external web traffic with original public addresses and without an attached cookie to the web server in the skeleton data center, which lets the user determine the correct one of the copied data centers and sets the cookie to store this information, while it immediately redirects external web traffic with original addresses and the attached cookie to the correct one of the copied data centers.
- a data center may provide the following services: a routing service (for ingress, egress, and internal traffic), a firewall service (for ingress traffic), a network address translation (NAT) service (for ingress, egress and internal traffic), a domain name service (DNS), a web service (involving one or more web servers), a web switching service (involving one or more web switches) and a compute service (involving the computing resources, i.e. arrays of servers).
- a routing service for ingress, egress, and internal traffic
- a firewall service for ingress traffic
- NAT network address translation
- DNS domain name service
- web service involving one or more web servers
- web switching service involving one or more web switches
- compute service involving the computing resources, i.e. arrays of servers.
- the firewall configuration at each copied data center may be exactly the same as the firewall configuration at the data center, except with the public addresses translated to the copied data center's public address space, and any rules referencing the DNS name rather than the numeric address updated to the copied data center's DNS namespace.
- NAT network address translation
- an address translation component may act as a de-facto firewall for these flows.
- a copied data center may provide the same services as a data center, but the compute service of the data center is very likely to be re-used in one of the copied data centers, thus turning the data center into a skeleton data center.
- a single NAT service may be provided for the data center and the copied data centers, or a duplicated NAT service per copied data center, which can keep the traffic local to each copied data center and improves any potential latency issues.
- the NAT service for the (skeleton) data center may be provided by a NAT service provided for one of the copied data centers.
- Any embodiment of the first aspect may be combined with any embodiment of the first aspect to obtain another embodiment of the first aspect.
- the invention relates to a computer program comprising a program code for executing the method of the first aspect for duplicating a data center having an original public address space and an original private address space when run on at least one computer.
- a device for duplicating a data center having an original public address space and an original private address space includes a copying entity, an allocating entity, and a providing entity.
- the copying entity is configured to copy the data center such that at least two copied data centers are provided.
- the allocating entity is configured to allocate, to each of the copied data centers, a new public address space and the original private address space of the data center.
- the providing entity is configured to provide an address translation component which is configured to re-address traffic such that traffic directed to an address of the original public address space is directed to a corresponding address of one of the new public address spaces of the copied data centers.
- the respective entity e.g. the copying entity, the allocating entity, and the providing entity, may be implemented in hardware and/or in software. If said entity is implemented in hardware, it may be embodied as a device, e.g. as a computer or as a processor or as a part of a system, e.g. a computer system. If said entity is implemented in software it may be embodied as a computer program product, as a function, as a routine, as a program code or as an executable object.
- a system for substituting a data center having an original public address space and an original private address space includes at least two copied data centers, wherein each of the copied data centers has a new public address space and the original private address space of the data center.
- the system includes an address translation component which is configured to re-address traffic such that traffic directed to an address of the original public address space is directed to a corresponding address of one of the new public address spaces of the copied data centers.
- FIG. 1 shows a schematic block diagram of data center coupled to a network
- FIG. 2 shows an embodiment of a sequence of method steps for duplicating a data center
- FIG. 3 shows a schematic block diagram of a first embodiment of a system including two copied data centers
- FIG. 4 shows a schematic block diagram of a second embodiment of a system including two copied data centers
- FIG. 5 shows a schematic block diagram of a third embodiment of a system including two copied data centers
- FIG. 6 shows a schematic block diagram of an embodiment of a device for duplicating a data center
- FIG. 7 shows a schematic block diagram of an embodiment of a system adapted for performing the method for duplicating a data center.
- the data center 1 which has to be copied or duplicated may be coupled to a network, like the internet 2 , by means of a firewall 3 .
- FIG. 2 shows an embodiment of a sequence of method steps for duplicating the data center 1 of FIG. 1 into two copied data centers 11 , 12 .
- the result of duplicating the data center 1 into a number of copied data centers 11 , 12 may be a system 50 as shown in FIGS. 3 to 5 .
- FIGS. 3 to 5 show only two copied data centers 11 , 12 .
- the data center 1 of FIG. 1 may be duplicated by the method of FIG. 2 into a plurality N of copied data centers 11 , 12 , with N ⁇ 2.
- step 202 a new public address and the original private address space of the data center 1 are allocated to each of the copied data centers 11 , 12 .
- each copied data center 11 , 12 has a new public address space and the original private address space.
- the new public address spaces of the two copied data centers 11 , 12 are different to each other.
- the original public address space includes an original public IP address space.
- the new public address space includes a new public IP address space.
- the original public address space may include an original DNS namespace.
- the new public address space may include a new DNS namespace.
- the address translation component 40 is provided such it is configured to translate an address of the original public address space into a corresponding address of the new public address space allocated to the certain copied data center 11 .
- the address translation component 40 may be provided such that it is configured to translate an address of the original public address space to a further address within the original public address space by means of URL switching and URL redirection.
- a web content may be provided to a web client requesting said address of the original public address space at said further address within the original public address space.
- the provided web content may be configured to enforce a user selection by the requesting web client to select one of the copied data centers 11 , 12 .
- the user of the web client has the ability to select the one copied data center 11 or the other copied data center 12 .
- the address translation component 40 may be provided such that it is configured to translate an address of the original public address space to a corresponding address of the new public address space allocated to one of the copied data centers 11 , 12 by means of cookie switching and/or cookie redirecting.
- cookie switching and cookie redirection may use a cookie which is adapted to identify the new DNS namespace substituting the original DNS namespace for the traffic to be re-addressed.
- the address translation component 40 may be provided such that it includes a first entity integrated in the web switch and a second entity integrated in the web server. Both said first entity and said second entity may be adapted to execute the cookie redirection, the cookie switching, the URL redirection and the URL switching.
- the system 50 depicted in FIG. 4 includes the copied data centers 11 , 12 , a skeleton data center 13 substituting the data center 1 , an address translation component 40 , and routers 61 , 62 .
- the copied data centers 11 , 12 are coupled to a network, like the internet 20 , and by means of firewalls 31 , 32 , and via these routers 61 , 62 .
- the address translation component 40 is also coupled to a network, like the internet 20 , and connects via the routers 61 , 62 , to the copied data centers 11 , 12 , as well as directly to the skeleton data center 13 .
- the address translation component 40 is configured to re-address traffic such that traffic directed to an address of the original public address space is directed to a corresponding address of one of the new public address spaces of the copied data centers 11 , 12 .
- the address translation component 40 can keep the re-addressed traffic local to each location, and reduce delays.
- each address translation component 41 , 42 is coupled, via the routers 61 , 62 , to a copied data center 11 , 12 .
- the address translation components 41 , 42 are configured to re-address traffic such that traffic directed to an address of the original public address space is directed to a corresponding address of one of the new public address spaces of the copied data centers 11 , 12 .
- a device 70 for duplicating a data center 1 having an original public address space and an original private address space is detected.
- the device 70 of FIG. 6 comprises a copying entity 71 , an allocating entity 72 , and a providing entity 73 .
- the copying entity 71 is adapted to copy the data center 1 such that at least two copied data centers 11 , 12 are provided.
- the allocating entity 72 is adapted to allocate, to each of the copied data centers 11 , 12 , a new public address space and the original private address space of the data center 1 .
- the providing entity 73 is adapted to provide an address translation component 40 .
- the address translation component 40 is configured to re-address traffic such that traffic directed to an address of the original public address space is directed to a corresponding address of one of the new public address spaces of the copied data centers 11 , 12 .
- Computerized devices may be suitably designed for implementing embodiments of the present invention as described herein.
- the methods described herein are largely non-interactive and automated.
- the methods described herein may be implemented either in an interactive, partly-interactive or non-interactive system.
- the methods described herein may be implemented in software (e.g., firmware), hardware, or a combination thereof.
- the methods described herein are implemented in software, as an executable program, the latter executed by suitable digital processing devices.
- at least one step or all steps of above method of FIG. 2 may be implemented in software, as an executable program, the latter executed by suitable digital processing devices.
- embodiments of the present invention may be implemented wherein general-purpose digital computers, such as personal computers, workstations, etc., are used.
- the system 900 depicted in FIG. 7 schematically represents a computerized unit 901 , e.g., a general-purpose computer.
- the unit 901 includes a processor 905 , memory 910 coupled to a memory controller 915 , and one or more input and/or output (I/O) devices 940 , 945 , 950 , 955 (or peripherals) that are communicatively coupled via a local input/output controller 935 .
- the input/output controller 935 may be, but is not limited to, one or more buses or other wired or wireless connections, as is known in the art.
- the input/output controller 935 may have additional elements, which are omitted for simplicity, such as controllers, buffers (caches), drivers, repeaters, and receivers, to enable communications. Further, the local interface may include address, control, and/or data connections to enable appropriate communications among the aforementioned components.
- the processor 905 is a hardware device for executing software, particularly that stored in memory 910 .
- the processor 905 may be any custom made or commercially available processor, a central processing unit (CPU), an auxiliary processor among several processors associated with the computer 901 , a semiconductor based microprocessor (in the form of a microchip or chip set), or generally any device for executing software instructions.
- the memory 910 may include any one or combination of volatile memory elements (e.g., random access memory) and nonvolatile memory elements. Moreover, the memory 910 may incorporate electronic, magnetic, optical, and/or other types of storage media. Note that the memory 910 may have a distributed architecture, where various components are situated remote from one another, but may be accessed by the processor 905 .
- the software in memory 910 may include one or more separate programs, each of which comprises an ordered listing of executable instructions for implementing logical functions.
- the software in the memory 910 includes methods described herein in accordance with exemplary embodiments and a suitable operating system (OS) 911 .
- the OS 911 essentially controls the execution of other computer programs, such as the methods as described herein (e.g., FIG. 2 ), and provides scheduling, input-output control, file and data management, memory management, and communication control and related services.
- the interface 1 may be embodied in the OS 911 .
- the methods described herein may be in the form of a source program, executable program (object code), script, or any other entity comprising a set of instructions to be performed.
- the program When in a source program form, then the program needs to be translated via a compiler, assembler, interpreter, or the like, as known per se, which may or may not be included within the memory 910 , so as to operate properly in connection with the OS 911 .
- the methods may be written as an object oriented programming language, which has classes of data and methods, or a procedure programming language, which has routines, subroutines, and/or functions.
- a conventional keyboard 950 and mouse 955 may be coupled to the input/output controller 935 .
- Other I/O devices 940 - 955 may include sensors (especially in the case of network elements), i.e., hardware devices that produce a measurable response to a change in a physical condition like temperature or pressure (physical data to be monitored).
- the analog signal produced by the sensors is digitized by an analog-to-digital converter and sent to controllers 935 for further processing.
- Sensor nodes are ideally small, consume low energy, are autonomous and operate unattended.
- the I/O devices 940 - 955 may further include devices that communicate both inputs and outputs.
- the system 900 may further include a display controller 925 coupled to a display 930 .
- the system 900 may further include a network interface or transceiver 960 for coupling to a network 965 .
- the network 965 transmits and receives data between the unit 901 and external systems.
- the network 965 is possibly implemented in a wireless fashion, e.g., using wireless protocols and technologies, such as WiFi, WiMax, etc.
- the network 965 may be a fixed wireless network, a wireless local area network (LAN), a wireless wide area network (WAN) a personal area network (PAN), a virtual private network (VPN), intranet or other suitable network system and includes equipment for receiving and transmitting signals.
- LAN wireless local area network
- WAN wireless wide area network
- PAN personal area network
- VPN virtual private network
- the network 965 may also be an IP-based network for communication between the unit 901 and any external server, client and the like via a broadband connection.
- network 965 may be a managed IP network administered by a service provider.
- the network 965 may be a packet-switched network such as a LAN, WAN, Internet network, etc.
- the software in the memory 910 may further include a basic input output system (BIOS).
- BIOS is stored in ROM so that the BIOS may be executed when the computer 901 is activated.
- the processor 905 When the unit 901 is in operation, the processor 905 is configured to execute software stored within the memory 910 , to communicate data to and from the memory 910 , and to generally control operations of the computer 901 pursuant to the software.
- the methods described herein and the OS 911 in whole or in part are read by the processor 905 , typically buffered within the processor 905 , and then executed.
- the methods described herein e.g. with reference to FIG. 2 are implemented in software, the methods may be stored on any computer readable medium, such as storage 920 , for use by or in connection with any computer related system or method.
- aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects. Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon. Any combination of one or more computer readable medium(s) may be utilized.
- the computer readable medium may be a computer readable signal medium or a computer readable storage medium.
- a computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
- a computer readable storage medium may be any tangible medium that may contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
- a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof.
- a computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that may communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
- Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
- Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages.
- the program code may execute entirely on the unit 901 , partly thereon, partly on a unit 901 and another unit 901 , similar or not.
- the computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s).
- the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved and algorithm optimization.
Abstract
Description
- 1 data center
- 2 network, e.g. internet
- 3 firewall
- 11 copied data center
- 12 copied data center
- 20 network, e.g. internet
- 31 firewall
- 32 firewall
- 40 address translation component
- 41 address translation component
- 42 address translation component
- 50 system
- 61 rooter
- 62 rooter
- 70 device
- 71 copying entity
- 72 allocating entity
- 73 providing entity
- 201-203 method step
Claims (10)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1407304.3A GB2525434A (en) | 2014-04-25 | 2014-04-25 | Method and device for duplicating a data center |
GB1407304.3 | 2014-04-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20150312338A1 US20150312338A1 (en) | 2015-10-29 |
US9986030B2 true US9986030B2 (en) | 2018-05-29 |
Family
ID=50971875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/682,595 Expired - Fee Related US9986030B2 (en) | 2014-04-25 | 2015-04-09 | Method and device for duplicating a data center |
Country Status (2)
Country | Link |
---|---|
US (1) | US9986030B2 (en) |
GB (1) | GB2525434A (en) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020129134A1 (en) * | 2000-05-26 | 2002-09-12 | Leighton F. Thomson | Global load balancing across mirrored data centers |
US20060036761A1 (en) | 2004-07-29 | 2006-02-16 | International Business Machines Corporation | Networked computer system and method for near real-time data center switching for client requests |
US20070061465A1 (en) | 2005-09-15 | 2007-03-15 | Hostway Corporation | Host migration system |
US20100250718A1 (en) | 2009-03-25 | 2010-09-30 | Ken Igarashi | Method and apparatus for live replication |
US20110314155A1 (en) * | 2010-06-16 | 2011-12-22 | Juniper Networks, Inc. | Virtual machine mobility in data centers |
WO2012087941A1 (en) | 2010-12-20 | 2012-06-28 | Amazon Technologies, Inc. | Techniques for network replication |
US8243589B1 (en) | 2008-08-14 | 2012-08-14 | United Services Automobile Association (Usaa) | Systems and methods for data center load balancing |
US20120284364A1 (en) * | 2002-10-15 | 2012-11-08 | Nomadix, Inc. | Systems and methods for network address translation |
US20130148665A1 (en) * | 2010-10-22 | 2013-06-13 | Telefonaktiebolaget L M Ericsson (Publ) | Differentiated Handling of Network Traffic using Network Address Translation |
US20130185404A1 (en) | 2012-01-18 | 2013-07-18 | Microsoft Corporation | Efficient port management for a distributed network address translation |
US20140013403A1 (en) * | 2007-05-03 | 2014-01-09 | Gary Stephen Shuster | Redirection method for electronic content |
US8701103B1 (en) | 2007-10-31 | 2014-04-15 | Wal-Mart Stores, Inc. | Method and system for minimizing or eliminating downtime when updating a website |
WO2014123831A1 (en) | 2013-02-06 | 2014-08-14 | Alcatel Lucent. | Method and apparatus for providing migration of cloud components across address domains |
US8996691B1 (en) * | 2012-05-01 | 2015-03-31 | Amazon Technologies, Inc. | Methods and apparatus for providing out-of-band network traffic monitoring |
US20150256508A1 (en) * | 2014-03-04 | 2015-09-10 | Opendns, Inc. | Transparent Proxy Authentication Via DNS Processing |
US9515987B2 (en) | 2012-04-26 | 2016-12-06 | Huawei Technologies Co., Ltd. | Method, apparatus, and system for network address translation |
US9614748B1 (en) | 2008-04-15 | 2017-04-04 | Vmware, Inc. | Multitenant data center providing virtual computing services |
-
2014
- 2014-04-25 GB GB1407304.3A patent/GB2525434A/en not_active Withdrawn
-
2015
- 2015-04-09 US US14/682,595 patent/US9986030B2/en not_active Expired - Fee Related
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020129134A1 (en) * | 2000-05-26 | 2002-09-12 | Leighton F. Thomson | Global load balancing across mirrored data centers |
US20120284364A1 (en) * | 2002-10-15 | 2012-11-08 | Nomadix, Inc. | Systems and methods for network address translation |
US20060036761A1 (en) | 2004-07-29 | 2006-02-16 | International Business Machines Corporation | Networked computer system and method for near real-time data center switching for client requests |
US20070061465A1 (en) | 2005-09-15 | 2007-03-15 | Hostway Corporation | Host migration system |
US20140013403A1 (en) * | 2007-05-03 | 2014-01-09 | Gary Stephen Shuster | Redirection method for electronic content |
US8701103B1 (en) | 2007-10-31 | 2014-04-15 | Wal-Mart Stores, Inc. | Method and system for minimizing or eliminating downtime when updating a website |
US9614748B1 (en) | 2008-04-15 | 2017-04-04 | Vmware, Inc. | Multitenant data center providing virtual computing services |
US8243589B1 (en) | 2008-08-14 | 2012-08-14 | United Services Automobile Association (Usaa) | Systems and methods for data center load balancing |
US20100250718A1 (en) | 2009-03-25 | 2010-09-30 | Ken Igarashi | Method and apparatus for live replication |
US20110314155A1 (en) * | 2010-06-16 | 2011-12-22 | Juniper Networks, Inc. | Virtual machine mobility in data centers |
US20130148665A1 (en) * | 2010-10-22 | 2013-06-13 | Telefonaktiebolaget L M Ericsson (Publ) | Differentiated Handling of Network Traffic using Network Address Translation |
WO2012087941A1 (en) | 2010-12-20 | 2012-06-28 | Amazon Technologies, Inc. | Techniques for network replication |
US20130185404A1 (en) | 2012-01-18 | 2013-07-18 | Microsoft Corporation | Efficient port management for a distributed network address translation |
US9515987B2 (en) | 2012-04-26 | 2016-12-06 | Huawei Technologies Co., Ltd. | Method, apparatus, and system for network address translation |
US8996691B1 (en) * | 2012-05-01 | 2015-03-31 | Amazon Technologies, Inc. | Methods and apparatus for providing out-of-band network traffic monitoring |
WO2014123831A1 (en) | 2013-02-06 | 2014-08-14 | Alcatel Lucent. | Method and apparatus for providing migration of cloud components across address domains |
US20150256508A1 (en) * | 2014-03-04 | 2015-09-10 | Opendns, Inc. | Transparent Proxy Authentication Via DNS Processing |
Also Published As
Publication number | Publication date |
---|---|
GB2525434A (en) | 2015-10-28 |
GB201407304D0 (en) | 2014-06-11 |
US20150312338A1 (en) | 2015-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11032249B2 (en) | DNS-based captive portal with integrated transparent proxy to protect against user device caching incorrect IP address | |
US10469314B2 (en) | API gateway for network policy and configuration management with public cloud | |
JP7293446B2 (en) | Virtual network verification service | |
AU2015256010B2 (en) | Migration of applications between an enterprise-based network and a multi-tenant network | |
US9531664B2 (en) | Selecting between domain name system servers of a plurality of networks | |
CN106462408B (en) | Low latency connection to a workspace in a cloud computing environment | |
JP6224846B2 (en) | Client premises resource control via provider-defined interface | |
US20140122572A1 (en) | Enterprise service bus routing system | |
TW201904234A (en) | Method and device for virtual network link detection | |
EP2687982A1 (en) | Hierarchical system for managing a plurality of virtual machines, method and computer program | |
US11722565B1 (en) | System and method for non-disruptive migration of software components to a public cloud system | |
US20160267051A1 (en) | Controller and method for migrating rdma memory mappings of a virtual machine | |
US10178068B2 (en) | Translating network attributes of packets in a multi-tenant environment | |
US10862804B2 (en) | Redirecting data packets between overlay network and underlay network | |
US20160267052A1 (en) | Controller and method for migrating rdma memory mappings of a virtual machine | |
US9986030B2 (en) | Method and device for duplicating a data center | |
JP6605149B2 (en) | Method and apparatus for detecting shared terminal | |
US10084705B2 (en) | Location identification of prior network message processor | |
JP2015012581A (en) | Communication system, management device, management method, and management program | |
JP5964786B2 (en) | Management device, communication system, management method, and management program | |
Marttila | Design and Implementation of the clusterf Load Balancer for Docker Clusters | |
Hoogendoorn | Nsx-t Nat, Dhcp, and Dns Services | |
JP6515761B2 (en) | Relay apparatus, relay method, and relay program | |
JP2015172896A (en) | File update system, file update method, file update program, and communication equipment | |
JP5683368B2 (en) | Information processing apparatus and representative computer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: LND, INCORPORATED, NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:NIDD, MICHAEL E.;PFITZMANN, BIRGIT M.;SIGNING DATES FROM 20150407 TO 20150409;REEL/FRAME:035371/0340 |
|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 035371 FRAME: 0340. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNORS:NIDD, MICHAEL E.;PFITZMANN, BIRGIT M.;SIGNING DATES FROM 20150407 TO 20150409;REEL/FRAME:041224/0247 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20220529 |