US20110093850A1 - Dynamic and automatic colocation and combining of service providers and service clients in a grid of resources - Google Patents

Dynamic and automatic colocation and combining of service providers and service clients in a grid of resources Download PDF

Info

Publication number
US20110093850A1
US20110093850A1 US12/977,633 US97763310A US2011093850A1 US 20110093850 A1 US20110093850 A1 US 20110093850A1 US 97763310 A US97763310 A US 97763310A US 2011093850 A1 US2011093850 A1 US 2011093850A1
Authority
US
United States
Prior art keywords
resource
service provider
client
providing
computing device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/977,633
Inventor
Joachim F.M. De Baer
Robert A. Wipfel
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.)
JPMorgan Chase Bank NA
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to US12/977,633 priority Critical patent/US20110093850A1/en
Publication of US20110093850A1 publication Critical patent/US20110093850A1/en
Assigned to BANK OF AMERICA, N.A. reassignment BANK OF AMERICA, N.A. SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ATTACHMATE CORPORATION, BORLAND SOFTWARE CORPORATION, MICRO FOCUS (US), INC., NETIQ CORPORATION, NOVELL, INC.
Assigned to JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT reassignment JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT NOTICE OF SUCCESSION OF AGENCY Assignors: BANK OF AMERICA, N.A., AS PRIOR AGENT
Assigned to JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT reassignment JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Assignors: BANK OF AMERICA, N.A., AS PRIOR AGENT
Assigned to MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.), NETIQ CORPORATION, MICRO FOCUS (US), INC., BORLAND SOFTWARE CORPORATION, ATTACHMATE CORPORATION reassignment MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.) RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Assignors: JPMORGAN CHASE BANK, N.A.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Definitions

  • the present invention relates to computing methods and systems for providing servicing operations. Particularly, it relates to computing methods and systems, and devices incorporating the methods and systems, for providing servicing operations such as data backup operations while significantly reducing bandwidth consumption.
  • a non-limiting example is a resource that hosts a backup server.
  • Conventional communications between a service provider resource (i.e., a resource providing a servicing operation) and a client resource (i.e., a resource requiring a servicing operation) consume resources, e.g. in the form of bandwidth consumed during communication between the resources.
  • the backup operation may involve network traffic which is sent from the client resource to the service provider resource.
  • a typical data backup operation computer system users may create redundant or backup copies of data stored on various storage devices, which may be accessed to restore the data in the event of a catastrophic failure.
  • backup software is contained on a computer system, and a backup operation is scheduled to occur automatically and periodically.
  • the computer system hosting the backup software may be remote from the computer system hosting the client resource requiring backup.
  • the computer system hosting the backup software communicates directly with a computer system hosting a client resource, such as a database or application requiring backup, and streams backup traffic therefrom, typically over a local area network (LAN). While effective for its intended purpose, such a backup operation consumes bandwidth, preventing or slowing other essential traffic.
  • LAN local area network
  • the service provider resource may be moved to the physical site of the client resource.
  • the client resource may be moved to the physical site of the service provider resource.
  • the service provider resource may be terminated, moved to the physical site of the client resource (or vice versa), and re-booted prior to initiating the servicing operation. It is also of note that these steps occur without accessing a LAN, thus reducing bandwidth consumption.
  • a method for providing a servicing operation in a computing environment includes providing a plurality of resources including at least a client resource requiring a periodic servicing operation, a service provider resource capable of providing that servicing operation, and a storage area network (SAN).
  • the next step is transparently co-locating the client resource and the service provider resource, and causing the service provider resource to perform the servicing operation.
  • At least one of the client resource and the service provider resource are provided as virtual machines.
  • the step of transparently co-locating the client resource and the service provider resource may be performed by one of transferring a virtual machine providing the client resource to a computing device hosting the service provider resource or transferring a virtual machine providing the service provider resource to a computing device hosting the client resource.
  • the step of co-locating the client resource and the service provider resource may be performed by one of booting up the service provider resource in a computing device hosting the client resource or booting up the client resource in a computing device hosting the service provider resource.
  • the steps of co-locating may be performed automatically on a predetermined time schedule, or may be performed in response to a specific user request.
  • the servicing operation is a data backup operation
  • the service provider resource may be a virtual machine configured to provide a data backup operation.
  • the client resource may be a virtual machine defining an application requiring a periodic data backup operation
  • the service provider resource may be backup software hosted on a physical computing device.
  • a computing system for performing a data backup function.
  • the system includes a plurality of computing devices arranged locally and/or remotely, the plurality of computing devices defining at least a storage area network.
  • the system includes also a plurality of applications arranged on one or more of the computing devices and a plurality of virtual machines arranged on one or more of the computing devices, wherein the virtual machines define applications and/or services.
  • At least one data backup function is provided, defined by at least one virtual machine or by at least one application contained on at least one of the plurality of computing devices.
  • a data orchestration tool is provided for transferring a virtual machine from one of the plurality of computing devices to another of the computing devices. The data backup operation is performed entirely on the storage area network after transfer of the virtual machine.
  • the data orchestration tool may transfer a virtual machine defining the data backup function to a computing device requiring a periodic data backup operation, or may transfer a virtual machine defining an application requiring a periodic data backup operation to a computing device containing a data backup function
  • FIG. 1 schematically shows a computing system environment for providing a servicing operation in accordance with the present invention
  • FIG. 2 depicts a representative Storage Area Network configuration
  • FIG. 3 is a flow chart depicting a servicing operation in accordance with the present invention.
  • FIG. 4 is the flow chart shown in FIG. 3 , modified to depict in sequence shut-down of the servicing resource, co-location of the servicing resource and client resource, and boot-up of the servicing resource to perform the service (data backup).
  • a representative computing environment 100 includes a computing device 102 arranged as an individual or networked physical or virtual machine for senders and/or recipients of item(s), including a host 104 and clients arranged with a variety of other networks and computing devices.
  • an exemplary host 104 typifies a server, such as a grid or blade server. Brand examples include, but are not limited to, a Windows brand Server, a SUSE Linux Enterprise Server, a Red Hat Advanced Server, a Solaris server or an AIX server.
  • a computing device 102 may also include a server 106 , such as a grid or blade server.
  • a computing device 102 includes a general or special purpose computing device in the form of a conventional fixed or mobile (e.g., laptop) computer 106 having an attendant monitor 108 and user interface, such as a keyboard 110 or a mouse 112 .
  • the computer internally includes a processing unit for a resident operating system, such as DOS, WINDOWS, MACINTOSH, LEOPARD, VISTA, UNIX, and LINUX, to name a few, a memory, and a bus that couples various internal and external units, e.g., “Other” 114 , to one another.
  • Representative “other” items 114 include without limitation PDA's, cameras, scanners, printers, microphones, joy sticks, game pads, satellite dishes, hand-held devices, consumer electronics, minicomputers, computer clusters, main frame computers, a message queue, a peer computing device, a broadcast antenna, a web server, an AJAX client, a grid-computing node, a virtual machine, a web service endpoint, a cellular phone, or the like.
  • the other items may also be stand alone computing devices in the environment 100 or the computing device 102 itself.
  • Storage devices are contemplated and may be remote or local. While the line is not well defined, local storage generally has a relatively quick access time and is used to store frequently accessed data, while remote storage has a much longer access time and is used to store data that is accessed less frequently. The capacity of remote storage is also typically an order of magnitude larger than the capacity of local storage. Regardless, storage is representatively provided for aspects of the invention contemplative of computer executable instructions, e.g., software, as part of computer program products on readable media, e.g., disk for insertion in a drive of computer 106 .
  • computer executable instructions e.g., software
  • system 100 shown in FIG. 1 is configured to perform the tasks required of the present computer system/computing system environment as set forth above, and that computer program products providing computer executable instructions (software) for performing those tasks is contemplated.
  • Computer executable instructions may be made available for installation as a download or may reside in hardware, firmware or combinations in the device 102 .
  • items thereof such as modules, routines, programs, objects, components, data structures, etc., perform particular tasks or implement particular abstract data types within various structures of the computing system which cause a certain function or group of functions.
  • the computer product can be a download of executable instructions resident with a downstream computing device, or readable media, received from an upstream computing device or readable media, a download of executable instructions resident on an upstream computing device, or readable media, awaiting transfer to a downstream computing device or readable media, or any available media, such as RAM, ROM, EEPROM, CD-ROM, DVD, or other optical disk storage devices, magnetic disk storage devices, floppy disks, or any other physical medium which can be used to store the items thereof and which can be assessed in the environment.
  • the host 104 and computing device 102 communicate with one another via wired, wireless or combined connections 118 that are either direct 118 a or indirect 118 b . If direct, they typify connections within physical or network proximity (e.g., intranet). If indirect, they typify connections such as those found with the internet, satellites, radio transmissions, or the like, and are represented schematically as element 120 . In this regard, other contemplated items include servers, routers, peer devices, modems, T# lines, satellites, microwave relays or the like. The connections may also be LAN, metro area networks (MAN), and/or wide area networks (WAN) that are presented by way of example and not limitation.
  • the topology is also any of a variety, such as ring, star, bridged, cascaded, meshed, or other known or hereinafter invented arrangement.
  • virtual machines In computer systems and computer system environments, it is known to provide virtual machines. Such virtual machines are known to the skilled artisan to be software implementations of computing devices which are capable of executing applications in the same fashion as a physical computing device. As examples, system virtual machines provide complete system platforms supporting execution of complete operating systems. Process virtual machines are intended to perform a single application or program, i.e., support a single process. In essence, virtual machines emulate the underlying hardware or software in a virtual environment. Many process, system, and operating system-level virtual machines are known to the skilled artisan.
  • a SAN system 200 provides a means for a computing device 102 and/or host 104 to utilize network protocol to connect to remote storage resources, for example disk arrays, optical jukeboxes, and/or tape drives or libraries, such as via an Internet Protocol network.
  • remote storage resources for example disk arrays, optical jukeboxes, and/or tape drives or libraries, such as via an Internet Protocol network.
  • application software 202 communicates with a file system 204 .
  • an internet SCSI (iSCSI; mapping SCSI over TCP/IP) protocol is implemented to allow the application to send SCSI commands over existing network infrastructure to file system 204 .
  • iSCSI internet SCSI
  • File system 204 communicates with remote storage resource 206 , which as discussed above may be disk arrays, optical jukeboxes, tape drives and/or libraries, and the like.
  • remote storage resource 206 which as discussed above may be disk arrays, optical jukeboxes, tape drives and/or libraries, and the like.
  • a SAN often utilizes a Fiber Channel fabric topology for such communication, which is an infrastructure specially designed to handle storage communications.
  • a fabric is similar in concept to a network segment in a local area network.
  • a Fiber Channel topology provides more rapid and reliable access in comparison to higher-level protocols. Ethernet communication, iSCSI protocols, and the like are also implemented according to the desired application.
  • SAN An advantage of the SAN is that, from the point of view of the class drivers and any application software 202 , the remote storage resources 206 simulate locally attached devices. Further, all applications are able to access all remote storage resources 206 . It is known to use SAN protocols to provide storage consolidation and, and to mirror storage resources for disaster recovery purposes. That is, entire storage disk arrays may be migrated with minimal configuration changes, essentially making storage “routable” in a similar fashion as network traffic. Conventional uses for SAN systems include without limitation email servers, storage of large databases, high usage file servers, and the like.
  • the servicing operation is a data backup operation.
  • a determination is made whether a data backup operation is required (step 304 ). This may be a periodic data backup performed on a predetermined schedule, such as at time intervals specified by the application default, or may be in response to a specific request by a user. If a backup operation is scheduled or requested, a backup request issues at step 306 .
  • the backup resource and the client resource are co-located.
  • the virtual machine defining the backup resource may be transferred to the physical computing device containing the client resource (step 308 a ).
  • the virtual machine defining the client resource may be transferred to the physical computing device containing the backup resource (step 308 b ).
  • the data backup function is performed according to the backup resource's standard protocol.
  • the co-location operation (which preceeds the data backup operation in the depicted embodiment) is orchestrated and “transparent,” in that the service provider resource (in the depicted embodiment being backup software) and the client resource are unaware that a co-location is even occurring. Rather, the service provider resource/client resource know only that they are streaming traffic to a predefined IP address on a physical computing device, i.e., they are merely and respectively providing and consuming the service.
  • the backup traffic would normally be streamed across the LAN.
  • the backup traffic does not leave the physical computing system because it is sent to a virtual machine moved onto that same physical computing system, i.e., to the predetermined IP address. For that reason, none of that backup traffic must access the LAN. Rather, as discussed above, all steps of the process occur on the SAN.
  • a suitable application such as a data orchestration tool may transfer the virtual machine defining the backup resource onto the physical computing device containing a client resource requiring a backup operation.
  • a virtual machine defining the client resource may be transferred by the data orchestration tool to a physical computing device containing the backup resource.
  • the client resource and/or the backup resource may be an application hosted by the physical computing device, or may be defined by virtual machines.
  • the backup client in the virtual machine that needs to be backed up is initiated and starts streaming its traffic to the IP address of the backup server. Since the virtual machine that hosts the backup server is located on the same physical machine, the backup traffic is never seen on the LAN. Rather, all steps occur via in-memory copy. The virtual machine that hosts the backup resource has access to the SAN, so all backup traffic is SAN to SAN.
  • the operation then ends at step 312 , such as by transferring the virtual machine to its point of origin or to another computing device.
  • the virtual machine defining the client resource may be transferred back to the computing device of origin.
  • the virtual machine defining the backup resource may be transferred back to the computing device of origin, or alternatively to another computing device requiring a servicing operation.
  • the step of transferring the virtual machine defining the backup resource or the client resource may be accomplished by a suitable data orchestration tool.
  • a suitable data orchestration tool Such tools are known in the art for use in automated arrangement, coordination, and management of computer systems, middleware, and services. Without intending to impose any limitation, one such orchestration tool contemplated for use in the present invention is the NOVELL® ZENWORKS® Virtual Machine Management.
  • live migration of the virtual machine is contemplated, that is, transfer of an active or running virtual machine from one computing device to another.
  • a number of methods for live migration of virtual machines, and software packages for accomplishing such live migration, are known.
  • PCI Peripheral Component Interconnect
  • PCI cards include network cards, sound cards, modems, extra ports such as USB or serial ports, television tuner cards, and disk controllers.
  • a stop command would be issued to the virtual machine resource (i.e., the client resource, the service provider resource, or both) at step 408 .
  • the virtual machine resource i.e., the client resource, the service provider resource, or both
  • the transferred resource is booted up.
  • the service provider resource is then booted up at step 412 .
  • the client resource would then be booted up (step 412 ).
  • the process proceeds thereafter substantially as described above.
  • the present disclosure sets forth a method for providing a servicing operation, computing systems and computing system environments for providing that operation, and particular computer program products in accordance with the method, which allow a servicing operation such as a data backup operation to take place entirely on a SAN.
  • the process is applicable when either a client resource or a servicing resource are defined as virtual machines, and require no access to local area networks. That is, the co-location process is “transparent,” in that neither the servicing resource nor the client resource are aware that the co-location is even occurring. Rather, the resources are only aware that they are streaming traffic to a particular IP address on the SAN.
  • bandwidth and other such resource usage is significantly reduced while providing the desired servicing operation.

Abstract

A method for providing a servicing operation in a computing environment includes providing a plurality of resources including at least a client resource requiring a periodic servicing operation, a service provider resource capable of providing that servicing operation. At least one of the client resource and the service provider resource are defined by virtual machines. The client resource and the service provider resource are transparently co-located by transferring the resource defined by a virtual machine, and the service provider resource performs the servicing operation. Methods, computer systems, and computer programs available as a download or on a computer-readable medium for installation according to the invention are provided.

Description

  • This application claims priority and benefit as a divisional application of U.S. patent application Ser. No. 12/290,865, filed on Nov. 4, 2008 and entitled “Dynamic and Automatic Colocation and Combining of Service Providers and Service Clients in a Grid of Resources,” the entirety of the disclosure of which is incorporated herein by reference.
  • FIELD OF THE INVENTION
  • Generally, the present invention relates to computing methods and systems for providing servicing operations. Particularly, it relates to computing methods and systems, and devices incorporating the methods and systems, for providing servicing operations such as data backup operations while significantly reducing bandwidth consumption.
  • BACKGROUND OF THE INVENTION
  • In a grid of resources (physical computing devices, virtual machines, client applications, service provider resources and applications, etc.) certain of these resources will host services for consumption by other resources. A non-limiting example is a resource that hosts a backup server. Conventional communications between a service provider resource (i.e., a resource providing a servicing operation) and a client resource (i.e., a resource requiring a servicing operation) consume resources, e.g. in the form of bandwidth consumed during communication between the resources. Remaining in the example of a data backup operation, the backup operation may involve network traffic which is sent from the client resource to the service provider resource.
  • Thus, in a typical data backup operation, computer system users may create redundant or backup copies of data stored on various storage devices, which may be accessed to restore the data in the event of a catastrophic failure. In the typical situation, backup software is contained on a computer system, and a backup operation is scheduled to occur automatically and periodically. The computer system hosting the backup software may be remote from the computer system hosting the client resource requiring backup. The computer system hosting the backup software communicates directly with a computer system hosting a client resource, such as a database or application requiring backup, and streams backup traffic therefrom, typically over a local area network (LAN). While effective for its intended purpose, such a backup operation consumes bandwidth, preventing or slowing other essential traffic.
  • To prevent such consumption of resources, there is a need in the art for methods and systems for providing such servicing operations which, while accomplishing the desired function, do not require transmission of data over local area networks and the attendant bandwidth consumption. Such methods and systems should contemplate automatic servicing operations, for example automatic and periodic data backup functions. Any improvements along such lines should further contemplate good engineering practices, such as relative inexpensiveness, stability, ease of implementation, low complexity, security, unobtrusiveness, etc.
  • SUMMARY OF THE INVENTION
  • The above-mentioned and other problems become solved by applying the principles and teachings associated with the hereinafter-described methods and systems for providing a servicing operation. It has been surprisingly discovered that the resources consumed (bandwidth) may be dramatically reduced by automatically and transparently co-locating the service provider resource and the client resource, prior to starting the servicing operation. In one embodiment, the service provider resource may be moved to the physical site of the client resource. Alternatively, the client resource may be moved to the physical site of the service provider resource. In yet another embodiment, the service provider resource may be terminated, moved to the physical site of the client resource (or vice versa), and re-booted prior to initiating the servicing operation. It is also of note that these steps occur without accessing a LAN, thus reducing bandwidth consumption.
  • In one aspect, there is provided a method for providing a servicing operation in a computing environment. The method includes providing a plurality of resources including at least a client resource requiring a periodic servicing operation, a service provider resource capable of providing that servicing operation, and a storage area network (SAN). The next step is transparently co-locating the client resource and the service provider resource, and causing the service provider resource to perform the servicing operation. At least one of the client resource and the service provider resource are provided as virtual machines.
  • The step of transparently co-locating the client resource and the service provider resource may be performed by one of transferring a virtual machine providing the client resource to a computing device hosting the service provider resource or transferring a virtual machine providing the service provider resource to a computing device hosting the client resource. Alternatively, the step of co-locating the client resource and the service provider resource may be performed by one of booting up the service provider resource in a computing device hosting the client resource or booting up the client resource in a computing device hosting the service provider resource. The steps of co-locating may be performed automatically on a predetermined time schedule, or may be performed in response to a specific user request. In one embodiment, the servicing operation is a data backup operation, and the service provider resource may be a virtual machine configured to provide a data backup operation. Alternatively, the client resource may be a virtual machine defining an application requiring a periodic data backup operation, and the service provider resource may be backup software hosted on a physical computing device.
  • In another aspect, a computing system is provided for performing a data backup function. The system includes a plurality of computing devices arranged locally and/or remotely, the plurality of computing devices defining at least a storage area network. The system includes also a plurality of applications arranged on one or more of the computing devices and a plurality of virtual machines arranged on one or more of the computing devices, wherein the virtual machines define applications and/or services. At least one data backup function is provided, defined by at least one virtual machine or by at least one application contained on at least one of the plurality of computing devices. Still further, a data orchestration tool is provided for transferring a virtual machine from one of the plurality of computing devices to another of the computing devices. The data backup operation is performed entirely on the storage area network after transfer of the virtual machine. The data orchestration tool may transfer a virtual machine defining the data backup function to a computing device requiring a periodic data backup operation, or may transfer a virtual machine defining an application requiring a periodic data backup operation to a computing device containing a data backup function.
  • These and other embodiments, aspects, advantages, and features of the present invention will be set forth in the description which follows, and in part will become apparent to those of ordinary skill in the art by reference to the following description of the invention and referenced drawings or by practice of the invention. The aspects, advantages, and features of the invention are realized and attained by means of the instrumentalities, procedures, and combinations particularly pointed out in the appended claims.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The accompanying drawings incorporated in and forming a part of the specification, illustrate several aspects of the present invention, and together with the description serve to explain the principles of the invention. In the drawings:
  • FIG. 1 schematically shows a computing system environment for providing a servicing operation in accordance with the present invention;
  • FIG. 2 depicts a representative Storage Area Network configuration;
  • FIG. 3 is a flow chart depicting a servicing operation in accordance with the present invention; and
  • FIG. 4 is the flow chart shown in FIG. 3, modified to depict in sequence shut-down of the servicing resource, co-location of the servicing resource and client resource, and boot-up of the servicing resource to perform the service (data backup).
  • DETAILED DESCRIPTION OF THE ILLUSTRATED EMBODIMENTS
  • In the following detailed description of the illustrated embodiments, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention and like numerals represent like details in the various figures. Also, it is to be understood that other embodiments may be utilized and that process, mechanical, electrical, arrangement, software and/or other changes may be made without departing from the scope of the present invention. In accordance with the present invention, methods and apparatus for providing a servicing operation are hereinafter described.
  • With reference to FIG. 1, a representative computing environment 100 includes a computing device 102 arranged as an individual or networked physical or virtual machine for senders and/or recipients of item(s), including a host 104 and clients arranged with a variety of other networks and computing devices. In a traditional sense, an exemplary host 104 typifies a server, such as a grid or blade server. Brand examples include, but are not limited to, a Windows brand Server, a SUSE Linux Enterprise Server, a Red Hat Advanced Server, a Solaris server or an AIX server. A computing device 102 may also include a server 106, such as a grid or blade server.
  • Alternatively, a computing device 102 includes a general or special purpose computing device in the form of a conventional fixed or mobile (e.g., laptop) computer 106 having an attendant monitor 108 and user interface, such as a keyboard 110 or a mouse 112. The computer internally includes a processing unit for a resident operating system, such as DOS, WINDOWS, MACINTOSH, LEOPARD, VISTA, UNIX, and LINUX, to name a few, a memory, and a bus that couples various internal and external units, e.g., “Other” 114, to one another. Representative “other” items 114 include without limitation PDA's, cameras, scanners, printers, microphones, joy sticks, game pads, satellite dishes, hand-held devices, consumer electronics, minicomputers, computer clusters, main frame computers, a message queue, a peer computing device, a broadcast antenna, a web server, an AJAX client, a grid-computing node, a virtual machine, a web service endpoint, a cellular phone, or the like. The other items may also be stand alone computing devices in the environment 100 or the computing device 102 itself.
  • Storage devices are contemplated and may be remote or local. While the line is not well defined, local storage generally has a relatively quick access time and is used to store frequently accessed data, while remote storage has a much longer access time and is used to store data that is accessed less frequently. The capacity of remote storage is also typically an order of magnitude larger than the capacity of local storage. Regardless, storage is representatively provided for aspects of the invention contemplative of computer executable instructions, e.g., software, as part of computer program products on readable media, e.g., disk for insertion in a drive of computer 106.
  • It will therefore be appreciated that the system 100 shown in FIG. 1 is configured to perform the tasks required of the present computer system/computing system environment as set forth above, and that computer program products providing computer executable instructions (software) for performing those tasks is contemplated. Computer executable instructions may be made available for installation as a download or may reside in hardware, firmware or combinations in the device 102. When described in the context of computer program products, it is denoted that items thereof, such as modules, routines, programs, objects, components, data structures, etc., perform particular tasks or implement particular abstract data types within various structures of the computing system which cause a certain function or group of functions.
  • In form, the computer product can be a download of executable instructions resident with a downstream computing device, or readable media, received from an upstream computing device or readable media, a download of executable instructions resident on an upstream computing device, or readable media, awaiting transfer to a downstream computing device or readable media, or any available media, such as RAM, ROM, EEPROM, CD-ROM, DVD, or other optical disk storage devices, magnetic disk storage devices, floppy disks, or any other physical medium which can be used to store the items thereof and which can be assessed in the environment.
  • In a network, the host 104 and computing device 102 communicate with one another via wired, wireless or combined connections 118 that are either direct 118 a or indirect 118 b. If direct, they typify connections within physical or network proximity (e.g., intranet). If indirect, they typify connections such as those found with the internet, satellites, radio transmissions, or the like, and are represented schematically as element 120. In this regard, other contemplated items include servers, routers, peer devices, modems, T# lines, satellites, microwave relays or the like. The connections may also be LAN, metro area networks (MAN), and/or wide area networks (WAN) that are presented by way of example and not limitation. The topology is also any of a variety, such as ring, star, bridged, cascaded, meshed, or other known or hereinafter invented arrangement.
  • In computer systems and computer system environments, it is known to provide virtual machines. Such virtual machines are known to the skilled artisan to be software implementations of computing devices which are capable of executing applications in the same fashion as a physical computing device. As examples, system virtual machines provide complete system platforms supporting execution of complete operating systems. Process virtual machines are intended to perform a single application or program, i.e., support a single process. In essence, virtual machines emulate the underlying hardware or software in a virtual environment. Many process, system, and operating system-level virtual machines are known to the skilled artisan.
  • Still further, it is known in the art to provide storage area networks (SAN). Depicted schematically in FIG. 2, a SAN system 200 provides a means for a computing device 102 and/or host 104 to utilize network protocol to connect to remote storage resources, for example disk arrays, optical jukeboxes, and/or tape drives or libraries, such as via an Internet Protocol network.
  • In the embodiment schematically depicted in FIG. 2, application software 202 communicates with a file system 204. Typically, an internet SCSI (iSCSI; mapping SCSI over TCP/IP) protocol is implemented to allow the application to send SCSI commands over existing network infrastructure to file system 204. However, it is also known to utilize Fiber Channel Protocol over IP (mapping SCSI over Fiber Channel Protocol over IP), iSCSI Extensions for RDMA protocols (mapping SCSI over InfiniBand), Hyper SCSI (mapping SCSI over Ethernet), FICON mapping over Fiber Channel (typically for mainframe computing devices), mapping ATA over Ethernet protocols, Fiber Channel over Ethernet protocols, and the like.
  • File system 204 communicates with remote storage resource 206, which as discussed above may be disk arrays, optical jukeboxes, tape drives and/or libraries, and the like. A SAN often utilizes a Fiber Channel fabric topology for such communication, which is an infrastructure specially designed to handle storage communications. For comparison, a fabric is similar in concept to a network segment in a local area network. Advantageously, a Fiber Channel topology provides more rapid and reliable access in comparison to higher-level protocols. Ethernet communication, iSCSI protocols, and the like are also implemented according to the desired application.
  • An advantage of the SAN is that, from the point of view of the class drivers and any application software 202, the remote storage resources 206 simulate locally attached devices. Further, all applications are able to access all remote storage resources 206. It is known to use SAN protocols to provide storage consolidation and, and to mirror storage resources for disaster recovery purposes. That is, entire storage disk arrays may be migrated with minimal configuration changes, essentially making storage “routable” in a similar fashion as network traffic. Conventional uses for SAN systems include without limitation email servers, storage of large databases, high usage file servers, and the like.
  • A representative embodiment of the present invention will now be discussed. With reference to FIG. 3, the overall flow of a servicing operation as described herein is given generically as 300. In the depicted embodiment, the servicing operation is a data backup operation. At Start 302, a determination is made whether a data backup operation is required (step 304). This may be a periodic data backup performed on a predetermined schedule, such as at time intervals specified by the application default, or may be in response to a specific request by a user. If a backup operation is scheduled or requested, a backup request issues at step 306.
  • Next, at step 308, the backup resource and the client resource (that is, the application requiring a backup function) are co-located. In the event that the backup resource is defined by a virtual machine, the virtual machine defining the backup resource may be transferred to the physical computing device containing the client resource (step 308 a). Alternatively, if the client resource is defined by a virtual machine, the virtual machine defining the client resource may be transferred to the physical computing device containing the backup resource (step 308 b). At step 310, the data backup function is performed according to the backup resource's standard protocol.
  • An advantage of the above process will readily become aware to the skilled artisan. As described above, the co-location operation (which preceeds the data backup operation in the depicted embodiment) is orchestrated and “transparent,” in that the service provider resource (in the depicted embodiment being backup software) and the client resource are unaware that a co-location is even occurring. Rather, the service provider resource/client resource know only that they are streaming traffic to a predefined IP address on a physical computing device, i.e., they are merely and respectively providing and consuming the service.
  • Using the example of a data backup function as described herein, for conventional backup processes, the backup traffic would normally be streamed across the LAN. In contrast, in accordance with the present invention, the backup traffic does not leave the physical computing system because it is sent to a virtual machine moved onto that same physical computing system, i.e., to the predetermined IP address. For that reason, none of that backup traffic must access the LAN. Rather, as discussed above, all steps of the process occur on the SAN.
  • More specifically, prior to starting the data backup operation, a suitable application such as a data orchestration tool may transfer the virtual machine defining the backup resource onto the physical computing device containing a client resource requiring a backup operation. Alternatively, a virtual machine defining the client resource may be transferred by the data orchestration tool to a physical computing device containing the backup resource. The client resource and/or the backup resource may be an application hosted by the physical computing device, or may be defined by virtual machines.
  • In the example wherein the virtual machine defining the backup resource is transferred to co-locate with the client resource, after the transfer, the backup client in the virtual machine that needs to be backed up is initiated and starts streaming its traffic to the IP address of the backup server. Since the virtual machine that hosts the backup server is located on the same physical machine, the backup traffic is never seen on the LAN. Rather, all steps occur via in-memory copy. The virtual machine that hosts the backup resource has access to the SAN, so all backup traffic is SAN to SAN.
  • The operation then ends at step 312, such as by transferring the virtual machine to its point of origin or to another computing device. For example (not shown in FIG. 3 for convenience), the virtual machine defining the client resource may be transferred back to the computing device of origin. Similarly, the virtual machine defining the backup resource may be transferred back to the computing device of origin, or alternatively to another computing device requiring a servicing operation.
  • As described above, the step of transferring the virtual machine defining the backup resource or the client resource may be accomplished by a suitable data orchestration tool. Such tools are known in the art for use in automated arrangement, coordination, and management of computer systems, middleware, and services. Without intending to impose any limitation, one such orchestration tool contemplated for use in the present invention is the NOVELL® ZENWORKS® Virtual Machine Management. In the embodiment depicted in FIG. 3, live migration of the virtual machine is contemplated, that is, transfer of an active or running virtual machine from one computing device to another. A number of methods for live migration of virtual machines, and software packages for accomplishing such live migration, are known.
  • In an alternative embodiment, it may be necessary to provide the virtual machine direct access to the client resource. This would occur, as a non-limiting example, when it was desired and/or necessary to provide the virtual machine defining the service provider resource direct access to a Peripheral Component Interconnect (PCI) bus to provide the servicing operation. Of course, it will be appreciated that the example applies equally to the case when a virtual machine defines the client resource requiring a servicing operation. Exemplary PCI applications (PCI cards) include network cards, sound cards, modems, extra ports such as USB or serial ports, television tuner cards, and disk controllers.
  • In this embodiment, shown as a flow chart in FIG. 4, the process would proceed in a similar manner as that depicted in FIG. 3. Prior to the co-location step (step 410 on FIG. 4), a stop command would be issued to the virtual machine resource (i.e., the client resource, the service provider resource, or both) at step 408. After transfer of the virtual machine resource (see steps 410 a and/or 410 b), at step 412 the transferred resource is booted up. In the embodiment wherein it is the service provider resource that is transferred (step 410 a), the service provider resource is then booted up at step 412. Of course, in the embodiment wherein it is the client resource that is transferred to the computing device containing the service provider resource (see step 410 b), the client resource would then be booted up (step 412). The process proceeds thereafter substantially as described above.
  • Certain advantages of the invention over the prior art should now be readily apparent. For example, the present disclosure sets forth a method for providing a servicing operation, computing systems and computing system environments for providing that operation, and particular computer program products in accordance with the method, which allow a servicing operation such as a data backup operation to take place entirely on a SAN. The process is applicable when either a client resource or a servicing resource are defined as virtual machines, and require no access to local area networks. That is, the co-location process is “transparent,” in that neither the servicing resource nor the client resource are aware that the co-location is even occurring. Rather, the resources are only aware that they are streaming traffic to a particular IP address on the SAN. Advantageously, bandwidth and other such resource usage is significantly reduced while providing the desired servicing operation. These features contribute to providing an orchestrated, transparent servicing operation requiring no reconfiguration of any resources involved.
  • Finally, one of ordinary skill in the art will recognize that additional embodiments are also possible without departing from the teachings of the present invention. This detailed description, and particularly the specific details of the exemplary embodiments disclosed herein, is given primarily for clarity of understanding, and no unnecessary limitations are to be implied, for modifications will become obvious to those skilled in the art upon reading this disclosure and may be made without departing from the spirit or scope of the invention. Relatively apparent modifications, of course, include combining the various features of one or more figures with the features of one or more of other figures.

Claims (17)

1. In a computing environment, a method for providing a servicing operation, comprising:
providing a plurality of resources comprising at least a client resource requiring a periodic servicing operation, a service provider resource capable of providing the servicing operation, and a storage area network;
transparently co-locating the client resource and the service provider resource; and
causing the service provider resource to perform the servicing operation.
2. The method of claim 1, wherein at least one of the client resource and the service provider resource are provided as virtual machines.
3. The method of claim 2, wherein the step of co-locating the client resource and the service provider resource is performed by one of transferring a virtual machine providing the client resource to a computing device hosting the service provider resource or transferring a virtual machine providing the service provider resource to a computing device hosting the client resource.
4. The method of claim 2, wherein the step of co-locating the client resource and the service provider resource is performed by one of booting up the service provider resource in a computing device hosting the client resource or booting up the client resource in a computing device hosting the service provider resource.
5. The method of claim 3, wherein the servicing operation is a data backup operation.
6. The method of claim 4, wherein the servicing operation is a data backup operation.
7. A method for providing a servicing operation to a computing device, comprising:
providing at least one client resource requiring a periodic servicing operation;
providing at least one service provider resource capable of providing the servicing operation;
providing a storage area network;
automatically and transparently co-locating the client resource and the service provider resource; and
performing the periodic servicing operation.
8. The method of claim 7, wherein at least one of the client resource and the service provider resource are provided as virtual machines.
9. The method of claim 8, wherein the step of co-locating the client resource and the service provider resource is performed by one of transferring a virtual machine providing the client resource to a computing device hosting the service provider resource or transferring a virtual machine providing the service provider resource to a computing device hosting the client resource.
10. The method of claim 8, wherein the step of co-locating the client resource and the service provider resource is performed by one of booting up the service provider resource in a computing device hosting the client resource or booting up the client resource in a computing device hosting the service provider resource.
11. The method of claim 9, wherein the servicing operation is a data backup operation.
12. The method of claim 10, wherein the servicing operation is a data backup operation.
13. A method for providing a servicing operation, comprising:
providing at least one client resource requiring a periodic servicing operation;
providing at least one service provider resource capable of providing the periodic servicing operation;
providing a storage area network; and
automatically and transparently co-locating the client resource and the service provider resource whereby the servicing operation may be performed entirely on the storage area network.
14. The method of claim 13, wherein at least one of the client resource and the service provider resource are provided as virtual machines.
15. The method of claim 14, wherein the step of co-locating the client resource and the service provider resource is performed by one of transferring a virtual machine providing the client resource to a computing device hosting the service provider resource or transferring a virtual machine providing the service provider resource to a computing device hosting the client resource.
16. The method of claim 14, wherein the step of co-locating the client resource and the service provider resource is performed by one of booting up the service provider resource in a computing device hosting the client resource or booting up the client resource in a computing device hosting the service provider resource.
17. The method of claim 13, wherein the servicing operation is a data backup operation.
US12/977,633 2008-11-04 2010-12-23 Dynamic and automatic colocation and combining of service providers and service clients in a grid of resources Abandoned US20110093850A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/977,633 US20110093850A1 (en) 2008-11-04 2010-12-23 Dynamic and automatic colocation and combining of service providers and service clients in a grid of resources

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/290,865 US9176786B2 (en) 2008-11-04 2008-11-04 Dynamic and automatic colocation and combining of service providers and service clients in a grid of resources for performing a data backup function
US12/977,633 US20110093850A1 (en) 2008-11-04 2010-12-23 Dynamic and automatic colocation and combining of service providers and service clients in a grid of resources

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US12/290,865 Division US9176786B2 (en) 2008-11-04 2008-11-04 Dynamic and automatic colocation and combining of service providers and service clients in a grid of resources for performing a data backup function

Publications (1)

Publication Number Publication Date
US20110093850A1 true US20110093850A1 (en) 2011-04-21

Family

ID=42132835

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/290,865 Active 2030-11-21 US9176786B2 (en) 2008-11-04 2008-11-04 Dynamic and automatic colocation and combining of service providers and service clients in a grid of resources for performing a data backup function
US12/977,633 Abandoned US20110093850A1 (en) 2008-11-04 2010-12-23 Dynamic and automatic colocation and combining of service providers and service clients in a grid of resources

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US12/290,865 Active 2030-11-21 US9176786B2 (en) 2008-11-04 2008-11-04 Dynamic and automatic colocation and combining of service providers and service clients in a grid of resources for performing a data backup function

Country Status (1)

Country Link
US (2) US9176786B2 (en)

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8504693B2 (en) * 2009-05-26 2013-08-06 Intel Corporation Method and apparatus for operating system streaming
US20110126197A1 (en) 2009-11-25 2011-05-26 Novell, Inc. System and method for controlling cloud and virtualized data centers in an intelligent workload management system
US8468455B2 (en) 2010-02-24 2013-06-18 Novell, Inc. System and method for providing virtual desktop extensions on a client desktop
US9323466B2 (en) 2011-04-27 2016-04-26 Commvault Systems, Inc. System and method for client policy assignment in a data storage system
US9165018B2 (en) 2012-12-06 2015-10-20 At&T Intellectual Property I, L.P. Managing a distributed database
US20150100670A1 (en) * 2013-10-04 2015-04-09 International Business Machines Corporation Transporting multi-destination networking traffic by sending repetitive unicast
US9715402B2 (en) 2014-09-30 2017-07-25 Amazon Technologies, Inc. Dynamic code deployment and versioning
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US9537788B2 (en) 2014-12-05 2017-01-03 Amazon Technologies, Inc. Automatic determination of resource sizing
US9727725B2 (en) 2015-02-04 2017-08-08 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US9930103B2 (en) 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
US9928108B1 (en) 2015-09-29 2018-03-27 Amazon Technologies, Inc. Metaevent handling for on-demand code execution environments
US10042660B2 (en) * 2015-09-30 2018-08-07 Amazon Technologies, Inc. Management of periodic requests for compute capacity
US9830175B1 (en) 2015-12-16 2017-11-28 Amazon Technologies, Inc. Predictive management of on-demand code execution
US10754701B1 (en) 2015-12-16 2020-08-25 Amazon Technologies, Inc. Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions
US9811363B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US10013267B1 (en) 2015-12-16 2018-07-03 Amazon Technologies, Inc. Pre-triggers for code execution environments
US9830449B1 (en) 2015-12-16 2017-11-28 Amazon Technologies, Inc. Execution locations for request-driven code
US9811434B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US10002026B1 (en) 2015-12-21 2018-06-19 Amazon Technologies, Inc. Acquisition and maintenance of dedicated, reserved, and variable compute capacity
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US10162672B2 (en) 2016-03-30 2018-12-25 Amazon Technologies, Inc. Generating data streams from pre-existing data sets
US9952896B2 (en) 2016-06-28 2018-04-24 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US10282229B2 (en) 2016-06-28 2019-05-07 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10277708B2 (en) 2016-06-30 2019-04-30 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10203990B2 (en) 2016-06-30 2019-02-12 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US10061613B1 (en) 2016-09-23 2018-08-28 Amazon Technologies, Inc. Idempotent task execution in on-demand network code execution systems
US11119813B1 (en) 2016-09-30 2021-09-14 Amazon Technologies, Inc. Mapreduce implementation using an on-demand network code execution system
US10303492B1 (en) 2017-12-13 2019-05-28 Amazon Technologies, Inc. Managing custom runtimes in an on-demand code execution system
US10564946B1 (en) 2017-12-13 2020-02-18 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10353678B1 (en) 2018-02-05 2019-07-16 Amazon Technologies, Inc. Detecting code characteristic alterations due to cross-service calls
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10572375B1 (en) 2018-02-05 2020-02-25 Amazon Technologies, Inc. Detecting parameter validity in code including cross-service calls
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10649749B1 (en) 2018-06-26 2020-05-12 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5771354A (en) * 1993-11-04 1998-06-23 Crawford; Christopher M. Internet online backup system provides remote storage for customers using IDs and passwords which were interactively established when signing up for backup services
US7093086B1 (en) * 2002-03-28 2006-08-15 Veritas Operating Corporation Disaster recovery and backup using virtual machines
US7187919B2 (en) * 2000-12-08 2007-03-06 Nec Corporation Backup method of applications of portable cellular phone
US20070130330A1 (en) * 2005-11-15 2007-06-07 Aternity Information Systems Ltd. System for inventing computer systems and alerting users of faults to systems for monitoring
US20070271428A1 (en) * 2006-05-19 2007-11-22 Inmage Systems, Inc. Method and apparatus of continuous data backup and access using virtual machines
US20070300221A1 (en) * 2006-06-23 2007-12-27 Sentillion, Inc. Accessing a Printer Resource Provided by a Real Computer From Within a Virtual Machine
US20080184229A1 (en) * 2005-04-07 2008-07-31 International Business Machines Corporation Method and apparatus for using virtual machine technology for managing parallel communicating applications
US20080184225A1 (en) * 2006-10-17 2008-07-31 Manageiq, Inc. Automatic optimization for virtual systems
US20090138752A1 (en) * 2007-11-26 2009-05-28 Stratus Technologies Bermuda Ltd. Systems and methods of high availability cluster environment failover protection
US7584225B2 (en) * 2003-11-10 2009-09-01 Yahoo! Inc. Backup and restore mirror database memory items in the historical record backup associated with the client application in a mobile device connected to a communion network
US20090265706A1 (en) * 2008-04-21 2009-10-22 Vmware, Inc. Computing machine migration
US20100306773A1 (en) * 2006-11-06 2010-12-02 Lee Mark M Instant on Platform
US8086836B2 (en) * 2006-07-10 2011-12-27 Splashtop Inc. Method and apparatus for virtualization of appliances
US20130232491A1 (en) * 2008-06-13 2013-09-05 Netapp Inc. Virtual machine communication

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363365B2 (en) * 2004-07-13 2008-04-22 Teneros Inc. Autonomous service backup and migration
US8250197B2 (en) * 2008-10-28 2012-08-21 Vmware, Inc. Quality of service management
US8205050B2 (en) * 2009-04-14 2012-06-19 Novell, Inc. Data backup for virtual machines
US8311225B2 (en) * 2009-08-17 2012-11-13 Brocade Communications Systems, Inc. Scalable key archival

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5771354A (en) * 1993-11-04 1998-06-23 Crawford; Christopher M. Internet online backup system provides remote storage for customers using IDs and passwords which were interactively established when signing up for backup services
US7187919B2 (en) * 2000-12-08 2007-03-06 Nec Corporation Backup method of applications of portable cellular phone
US7093086B1 (en) * 2002-03-28 2006-08-15 Veritas Operating Corporation Disaster recovery and backup using virtual machines
US7533229B1 (en) * 2002-03-28 2009-05-12 Symantec Operating Corporation Disaster recovery and backup using virtual machines
US7584225B2 (en) * 2003-11-10 2009-09-01 Yahoo! Inc. Backup and restore mirror database memory items in the historical record backup associated with the client application in a mobile device connected to a communion network
US20080184229A1 (en) * 2005-04-07 2008-07-31 International Business Machines Corporation Method and apparatus for using virtual machine technology for managing parallel communicating applications
US20070130330A1 (en) * 2005-11-15 2007-06-07 Aternity Information Systems Ltd. System for inventing computer systems and alerting users of faults to systems for monitoring
US20070271428A1 (en) * 2006-05-19 2007-11-22 Inmage Systems, Inc. Method and apparatus of continuous data backup and access using virtual machines
US20070300221A1 (en) * 2006-06-23 2007-12-27 Sentillion, Inc. Accessing a Printer Resource Provided by a Real Computer From Within a Virtual Machine
US8086836B2 (en) * 2006-07-10 2011-12-27 Splashtop Inc. Method and apparatus for virtualization of appliances
US20080184225A1 (en) * 2006-10-17 2008-07-31 Manageiq, Inc. Automatic optimization for virtual systems
US20100306773A1 (en) * 2006-11-06 2010-12-02 Lee Mark M Instant on Platform
US20090138752A1 (en) * 2007-11-26 2009-05-28 Stratus Technologies Bermuda Ltd. Systems and methods of high availability cluster environment failover protection
US20090265706A1 (en) * 2008-04-21 2009-10-22 Vmware, Inc. Computing machine migration
US20130232491A1 (en) * 2008-06-13 2013-09-05 Netapp Inc. Virtual machine communication

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Xuxian Jiang, Dongyan Xu; SODA: a Service-On-Demand Architecture for Application Service Hosting Utility Platforms; Proceedings of the 12th IEEE International Symposium on High Performance Distributed Computing (HPDC'03); 10 pages. *

Also Published As

Publication number Publication date
US20100115098A1 (en) 2010-05-06
US9176786B2 (en) 2015-11-03

Similar Documents

Publication Publication Date Title
US9176786B2 (en) Dynamic and automatic colocation and combining of service providers and service clients in a grid of resources for performing a data backup function
US9838249B2 (en) Maintaining resource availability during maintenance operations
US20220318103A1 (en) In-place cloud instance restore
US9043391B2 (en) Capturing and restoring session state of a machine without using memory images
US9747125B2 (en) Associating virtual machines on a server computer with particular users on an exclusive basis
US11016935B2 (en) Centralized multi-cloud workload protection with platform agnostic centralized file browse and file retrieval time machine
US20180060184A1 (en) Off-site backup of workloads for multi-tenant cloud computing system
US7370336B2 (en) Distributed computing infrastructure including small peer-to-peer applications
JP6182265B2 (en) Managing computing sessions
US20120011509A1 (en) Migrating Session State of a Machine Without Using Memory Images
US20090144720A1 (en) Cluster software upgrades
US20050060608A1 (en) Maximizing processor utilization and minimizing network bandwidth requirements in throughput compute clusters
US8909912B2 (en) Apparatus and method for configuring a target machine with captured operational state comprising a static machine profile and a dynamic machine state to continue operations of a source machine
EP3014432B1 (en) Management of computing sessions
US9223606B1 (en) Automatically configuring and maintaining cluster level high availability of a virtual machine running an application according to an application level specified service level agreement
US20070266120A1 (en) System and method for handling instructions in a pre-boot execution environment
WO2017041649A1 (en) Application deployment method and device
US10635997B1 (en) Finite life instances
US10686646B1 (en) Management of computing sessions
CN104158835A (en) Method for intelligent desktop system server to control clients
US11853783B1 (en) Identifying hosts for dynamically enabling specified features when resuming operation of a virtual compute instance
US8271623B2 (en) Performing configuration in a multimachine environment
JP2007018112A (en) Backup system, nas device, and backup method used for nas device

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: BANK OF AMERICA, N.A., CALIFORNIA

Free format text: SECURITY INTEREST;ASSIGNORS:MICRO FOCUS (US), INC.;BORLAND SOFTWARE CORPORATION;ATTACHMATE CORPORATION;AND OTHERS;REEL/FRAME:035656/0251

Effective date: 20141120

AS Assignment

Owner name: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT, NEW

Free format text: NOTICE OF SUCCESSION OF AGENCY;ASSIGNOR:BANK OF AMERICA, N.A., AS PRIOR AGENT;REEL/FRAME:042388/0386

Effective date: 20170501

AS Assignment

Owner name: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT, NEW

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY;ASSIGNOR:BANK OF AMERICA, N.A., AS PRIOR AGENT;REEL/FRAME:048793/0832

Effective date: 20170501

AS Assignment

Owner name: MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.), WASHINGTON

Free format text: RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251;ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:062623/0009

Effective date: 20230131

Owner name: MICRO FOCUS (US), INC., MARYLAND

Free format text: RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251;ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:062623/0009

Effective date: 20230131

Owner name: NETIQ CORPORATION, WASHINGTON

Free format text: RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251;ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:062623/0009

Effective date: 20230131

Owner name: ATTACHMATE CORPORATION, WASHINGTON

Free format text: RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251;ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:062623/0009

Effective date: 20230131

Owner name: BORLAND SOFTWARE CORPORATION, MARYLAND

Free format text: RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251;ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:062623/0009

Effective date: 20230131