US20140040473A1 - Optimization scheduler for deploying applications on a cloud - Google Patents
Optimization scheduler for deploying applications on a cloud Download PDFInfo
- Publication number
- US20140040473A1 US20140040473A1 US12/869,511 US86951110A US2014040473A1 US 20140040473 A1 US20140040473 A1 US 20140040473A1 US 86951110 A US86951110 A US 86951110A US 2014040473 A1 US2014040473 A1 US 2014040473A1
- Authority
- US
- United States
- Prior art keywords
- application
- requirement
- computing application
- computing
- virtualization service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- 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/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
Definitions
- This disclosure relates generally to the technical fields of software and/or hardware technology and, in one example embodiment, to system and method to deploy a computing application on a cloud using optimized configuration.
- cloud computing refers to an architectural paradigm, in which computation is moved from local servers to a remote service that provides computation as a commodity or utility.
- a “cloud” is typically a large collection of shared commodity computation resources that can be interchangeably provisioned in response to clients' computation requests.
- Cloud computing is frequently used in software-as-a-service (SaaS) application architectures and may be viewed as an implementation choice for application deployment that leverages shared resources and improved cost structure of the cloud.
- SaaS software-as-a-service
- a cloud computing approach may be used to implement a variety of computational paradigms, such as virtual machines, jobs, remote procedure calls, traditional servers, etc.
- FIG. 1 is a block diagram showing an architecture within which a method and system to provision and manage a computing application deployed on a cloud may be implemented, in accordance with an example embodiment
- FIG. 2 is a diagrammatic representation of an example application requirement and an example resource inventory that may be used for determining a resource model, in accordance with an example embodiment
- FIG. 3 is a diagrammatic representation of application description, deployment description, and infrastructure description, in accordance with an example embodiment
- FIG. 4 is a block diagram illustrating some components of a smart scheduler, in accordance with an example embodiment
- FIG. 5 is a flow chart illustrating a method for determining an optimized configuration for deploying a computing application on a cloud, in accordance with an example embodiment
- FIG. 6 is a diagrammatic representation of a machine in the example form of a computer system within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed.
- such quantities may take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared or otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to such signals as bits, data, values, elements, symbols, characters, terms, numbers, numerals or the like. It should be understood, however, that all of these or similar terms are to be associated with appropriate physical quantities and are merely convenient labels. Unless specifically stated otherwise, as apparent from the following discussion, it is appreciated that throughout this specification discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining” or the like refer to actions or processes of a specific apparatus, such as a special purpose computer or a similar special purpose electronic computing device.
- a special purpose computer or a similar special purpose electronic computing device is capable of manipulating or transforming signals, typically represented as physical electronic or magnetic quantities within memories, registers, or other information storage devices, transmission devices, or display devices of the special purpose computer or similar special purpose electronic computing device.
- a computing application may be made available to users by deploying the application on one or more virtual instances of a machine running on a cloud, i.e., within a public virtualization space, such as, e.g., the virtualization space provided by Amazon Elastic Compute Cloud (EC2) service.
- EC2 Amazon Elastic Compute Cloud
- the manner in which an application can be deployed on a cloud depends on application requirement with respect to resources on one hand, and also on the availability of resources (resource inventory) that can be provided to the application by the virtualization service provider.
- a virtualization service provider may also be referred to a cloud provider. Often, more than a single application deployment configuration may satisfy application requirement given a particular resource inventory.
- an application may be deployed on a cloud using varying number of virtual instances of a machine, the application may be deployed using different or multiple virtualization service providers, the virtual instance of a machine running the application (or one or more components of an application) may be started and stopped according to the need of the users, etc.
- One of these different application deployment configurations may be most cost effective (e.g., deploying the application on a fewer number of virtual instances of a machine), while another application deployment configuration may be characterized by greater performance at a higher cost (e.g., deploying the application on a greater number of virtual instances of a machine).
- method and system are provided to determine the optimized configuration for deploying the application on a cloud based on a determined optimization goal.
- the optimization goal may be, e.g., the lowest cost, higher availability of the application to users, greater reliability, etc.
- the optimized configuration may be determined by matching application requirement with a resource model.
- a resource model also termed resource inventory, may describe what type of resources (e.g., CPU, Disk, Memory, and Network) can be made available to the application, their capacity, and their usage charge.
- a system to determine the optimized configuration for deploying an application on a cloud may be termed a smart scheduler.
- Application requirement may be provided to the smart scheduler together with a request to launch the application or, alternatively, the application may be registered with the smart scheduler, such that the application requirement information is obtained and stored at a location accessible by the smart scheduler prior to any launch request.
- a smart scheduler may also be configured to obtain resource inventory with respect to one or more cloud providers. In one embodiment, he resource inventory may be captured, e.g., by accessing a web site of the provider of a virtualization service.
- the optimization goal information may be provided to the smart scheduler, e.g., together with the request to launch an application or at the time when (and if) the application is registered with the smart scheduler.
- the requested application is launched on a cloud by instructing the cloud provider to access one or more machine images containing the application description and load the one or more machine images onto the physical machines provided by the cloud provider and make it accessible to the user via a network.
- a machine image is a read-only boot image that is used for launching an instance of a virtual machine running one or more components of the requested computing application.
- One or more machine images representing a computing application may be provided to a network storage system (e.g., AmazonS3) by a control server (also referred to as a controller).
- a system that provisions and manages a computing application hosted on one or more virtual instances of a machine may be referred to as a hosted service system.
- a hosted service system may include a smart scheduler and may be configured to provide automated administration of a computing application, replacing the administration tasks that would otherwise be performed by the customer when running in an on-premise production deployment.
- the technology within an example hosted service system may hide the behavior of the underlying virtualization service, and provide instances of a computing application that are substantially indistinguishable (e.g., in terms of reliability, security, and performance) from local on-premise deployments of the computing application.
- a hosted service system may provision and manage computing applications such as a generic content server, Adobe® LiveCycle® Enterprise Suite (ES) and Adobe® ConnectPro® offered by Adobe Systems Incorporated, etc. While embodiments of the smart scheduler are described with reference to Amazon EC2 service, other virtualization services may be utilized.
- a user can access a provider's web site and request to launch a computing application that can be deployed remotely on a plurality of virtual instances of a machine (on a cloud) such that the user no longer is required to deploy the computing application locally, within their own data center, on their own hardware.
- a request may be triggered by a user, e.g., by activating a visual control such as a “Start” button presented on a web page.
- a smart scheduler provided at the hosted service system receives a request to launch a computing application on a cloud, the smart scheduler, in response, determines application requirement and a resource model based on a cloud resource inventory, and determines an optimized application deployment configuration.
- the smart scheduler can instruct the virtualization service host to start ten small-capacity servers rather than five greater-capacity servers, if the ten-server configuration offers to the application the same CPU power at a lower cost.
- the smart scheduler may also be configured to instruct the virtualization service host to start a CPU-intensive task using a first virtualization service and start an I/O-intensive task using a different virtualization service, based on respective pricing models of the two virtualization service providers.
- the smart scheduler may also be configured to provide an instruction to start both the database server and the application server associated with a computing application in the same virtual network if it is determined that such configuration may lower the bandwidth cost.
- the architecture 100 may include a client computer system 110 and a hosted service system 120 .
- the hosted service system 120 is to provision and manage an enterprise SaaS product utilizing a cloud-based computing service as a virtualization infrastructure.
- Cloud-based computing services as shown in FIG. 1 , are provided by a virtualization service host 130 and a network storage service 140 .
- a hosted service system 120 utilizes Amazon EC2 as a virtualization service and Amazon Simple Storage Service (Amazon S3) as a network storage service.
- the hosted service system 120 may utilize more than one virtualization service host, e.g., one host being Amazon EC2 and another host provided by Adobe Systems Incorporated.
- the client computer system 110 and the hosted service system 120 may be in communication with each other via a communications network that may be a public network (e.g., the Internet).
- the virtualization service host 130 may load a computing application 132 onto a cloud.
- the computing application 132 may be accessed by the client 110 via a browser application 112 .
- a user in control of the client computer system 110 may send a request to the hosted service system 120 to load the computing application.
- the request may be initiated via a user interface 122 provided by the hosted service system 120 to the client computer system 110 via the browser application 112 .
- the user interface 122 provides both an end-user's and a system administrator's view of the computing application 132 and also permits issuing control operations to the computing application 132 and permits viewing the resulting changes in the state of the computing application 132 .
- an end-user may manipulate various electronic forms.
- the user interface 122 may also serve as a source of information for the hosted service system 120 , including documentation, downloads, and support.
- the user interface 122 uses Adobe® Flex® software, offered by Adobe Systems Incorporated, as the user interface technology for the implementation of the user interface.
- the user interface 122 uses an XML (Extensible Markup Language)-based representational state transfer (REST) style secure communications protocol to synchronize its operations with a control server 124 .
- a request to access the user interface 122 may be authenticated using one of a variety of authentication techniques.
- the request from the client computer system 110 to load the computing application 132 is received at the control server 124 , which responds to the request by activating an access interface 134 provided by the virtualization service host 130 .
- the control server 124 provides coordination between the components of the architecture 100 , provides administration and monitoring of the virtualization service host 130 , and also may be configured to audit system usage and resource allocation with respect to the computing application 132 .
- the control server 124 includes a database to store information pertaining to various aspects of system usage.
- the control server 124 in one embodiment, runs within a standard Hypertext Transfer Protocol Secure (HTTPS)-compliant web server and may be deployed as a publically accessible web application that is available outside a firewall.
- HTTPS Hypertext Transfer Protocol Secure
- the control server 124 in one embodiment, is implemented using Ruby on RailsTM technology.
- the virtualization service host 130 accesses the storage 144 of the network storage system 140 to obtain one or more machine images in order to load the associated computing application 132 .
- the machine images can be uploaded to the network storage system by the control server 124 utilizing an access interface 142 provided with the network storage system 140 .
- the hosted service system 120 further includes a secure networking client 126 to provide a bidirectional, encrypted, compressed connection between a machine in the end-user's secure network environment (e.g., the client computer system 110 ) and one or more instances of a virtual machine running within the virtualization infrastructure (the computing application 132 ).
- the networking client 126 manages various aspects of transmission control protocol (TCP) traffic forwarding, encryption, and network discovery, such that the user can access the computing application 132 as if it was running locally on the user's machine.
- TCP transmission control protocol
- the user's network security envelope is extended to surround the computing application 132 using comparable levels of encryption and protection against network security threats.
- control server 124 comprises a smart scheduler 125 .
- the smart scheduler 125 may be configured to determine an optimized configuration for launching a computing application on a cloud by matching the application resource requirement with the cloud resource model, based on the optimization requirement.
- the optimization requirement may be based on the need to lower the cost of using the virtualization service, based on the need to increase the bandwidth available to the computing application, to reduce latency, or some other optimization goals.
- FIG. 2 A diagrammatic representation 200 of an example application requirement and an example resource inventory that may be used for determining the resource model is shown in FIG. 2 . As shown in FIG.
- an application requirement comprises interaction pattern among application pools, where a pool may be executing on one or more instances of a virtual machine with a load balance (“LB”) being used as a front end for processing users requests.
- a “pool” is a group of machines that provide the same functionality to its clients. If the client workload is too high for the capacity the pool offers, the controller may issue an instruction to grow the pool by adding more members into the pool. The pools size is thus proportional to its processing capacity.
- Application requirement also comprises an application descriptor, which is the specification of the service-level requirement. Overall parameters of the application descriptor include optimization goal (also referred to as optimization requirement), inter-pool dependencies, and inter-pool bandwidth requirement.
- Pool parameters of the application descriptor include VM (virtual machine) requirement, minimum/maximum pool size, bandwidth and latency requirement, and security requirement.
- Resource inventory may indicate which cloud providers are available, which data centers (DSc) are provided by each cloud provider and the number and type of virtual instances of a machine that can be provided by each cloud provider. Resource inventory may be expressed utilizing inventory descriptors, such as machine capacity, network capacity, machine cost, and network cost. For example, if the application requires K amount of CPU power and the resource model indicates that a class-A machine can offer B units of CPU power, then the smart scheduler may determine that at least K/B machines would be necessary in order to meet the CPU requirement of the application.
- FIG. 3 is a block diagram illustrating parameters that may be used for generating deployment parameters for a computing application (“Deploy Desc”) using parameters describing application requirement of a computing application (“App Desc”) and parameters describing cloud resource inventory (“Infra Desc”). Symbols “+,” “*,” and “?” describe the number of repetitions permitted with respect to the associated parameter. The “+” symbol indicates one to many parameters, the “*” symbol indicates zero to multiple parameters, and “?” indicates zero to one parameters. Some components of the smart scheduler 125 are described with reference to FIG. 4 .
- FIG. 4 is a block diagram illustrating a system 400 for determining an optimized configuration for deploying a computing application on a cloud, according to one example embodiment.
- the system 400 includes a launch request detector 402 , an application requirement detector 404 , a cloud resource inventory detector 406 , an optimization requirement detector 408 , a matching module 410 , and a configuration module 412 .
- the launch request detector 402 may be configured to detect a request to launch a computing application within a virtualization service.
- the application requirement detector 404 may be configured to determine application requirement for the computing application.
- the application requirement may comprise a list of components of the computing application, relationship among the components, bandwidth and latency requirement, security requirement, etc.
- the cloud resource inventory detector 406 may be configured to determine cloud resource inventory and generate a cloud resource model. Cloud resource inventory provides information indicating resources that can be made available to the computing application within the virtualization service.
- the optimization requirement detector 408 may be configured to determine an optimization requirement.
- the optimization requirement comprises one or more parameters indicating optimization criteria, such as, e.g., a requirement associated with the cost of using virtualization service, performance and availability of the computing application, etc.
- the matching module 410 may be configured to perform matching of the application requirement with the resource inventory based on the optimization requirement.
- the configuration module 412 may be configured to generate an optimized application deployment configuration based on the result of the matching and cause launching of the computing application within the virtualization service using the optimized application deployment configuration.
- the optimized application deployment configuration may include information indicating one or more virtualization service providers to be utilized for launching the computing application within the virtualization service, one or more virtualization service providers to be utilized for launching the computing application within the virtualization service, type and capacity of each virtual machine to be executing one or more components of the computing application, etc.
- Example operations performed by the system 400 are discussed below with reference to FIG. 5 .
- FIG. 5 is a flow chart illustrating a method 500 for determining an optimized configuration for deploying a computing application on a cloud, in accordance with an example embodiment.
- the method 500 may be performed by processing logic that may comprise hardware, software (such as run on a general purpose computer system programmed to perform particular functions pursuant to instructions from program software or on a dedicated machine), or a combination of both.
- the processing logic may reside in or comprise any of the modules shown in FIG. 4 .
- the method 500 commences with operation 510 , where the launch request detector 402 of FIG. 4 detects a request to launch a computing application on a cloud (within a virtualization service).
- the application requirement detector 404 of FIG. 4 determines application requirement for the computing application.
- the cloud resource inventory detector 406 of FIG. 4 determines cloud resource inventory.
- the cloud resource model indicates resources that can be made available to the computing application within the virtualization service.
- the optimization requirement detector 408 of FIG. 4 determines an optimization requirement associated with the computing application. The optimization requirement may be provided to the smart scheduler (that may be implemented as the system 400 of FIG. 4 ) by an administrator.
- the optimization requirement comprises one or more parameters indicating optimization criteria, such as, for example, lowest cost or highest performance.
- the matching module 410 of FIG. 4 performs matching of the application requirement with the resource inventory based on the optimization requirement.
- the configuration module 412 of FIG. 4 generates an optimized application deployment configuration based on the result of the matching and causes launching of the computing application within the virtualization service using the optimized application deployment configuration.
- FIG. 6 is a diagrammatic representation of a machine in the example electronic form of a computer system 600 within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed.
- the machine operates as a standalone device or may be connected (e.g., networked) to other machines.
- the machine may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.
- the machine may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a portable music player (e.g., a portable hard drive audio device such as an “Moving Picture Experts Group (MPEG) Layer 3” (MP3) player), a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
- PC personal computer
- PDA Personal Digital Assistant
- MPEG Motion Picture Experts Group
- MP3 Motion Picture Experts Group
- the example computer system 600 includes a processor 602 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 604 and a static memory 606 , which communicate with each other via a bus 608 .
- the computer system 600 may further include a video display unit 610 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)).
- the computer system 600 also includes an alphanumeric input device 612 (e.g., a keyboard), a user interface (UI) cursor control device 614 (e.g., a mouse), a disk drive unit 616 , a signal generation device 618 (e.g., a speaker) and a network interface device 620 .
- an alphanumeric input device 612 e.g., a keyboard
- UI user interface
- cursor control device 614 e.g., a mouse
- disk drive unit 616 e.g., a disk drive unit 616
- signal generation device 618 e.g., a speaker
- the disk drive unit 616 includes a computer-readable (or machine-readable) medium 622 on which is stored one or more sets of instructions and data structures (e.g., software 624 ) embodying or utilized by any one or more of the methodologies or functions described herein.
- the software 624 may also reside, completely or at least partially, within the main memory 604 and/or within the processor 602 during execution thereof by the computer system 600 , the main memory 604 and the processor 602 also constituting machine-readable media.
- the software 624 may further be transmitted or received over a network 626 via the network interface device 620 utilizing any one of a number of well-known transfer protocols (e.g., Hyper Text Transfer Protocol (HTTP)).
- HTTP Hyper Text Transfer Protocol
- machine-readable medium 622 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions.
- the term “machine-readable medium” shall also be taken to include any medium that is capable of storing or encoding a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention, or that is capable of storing or encoding data structures utilized by or associated with such a set of instructions.
- the term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical and magnetic media. Such medium may also include, without limitation, hard disks, floppy disks, flash memory cards, digital video disks, random access memory (RAMs), read only memory (ROMs), and the like.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Description
- This disclosure relates generally to the technical fields of software and/or hardware technology and, in one example embodiment, to system and method to deploy a computing application on a cloud using optimized configuration.
- The approaches described in this section could be pursued, but are not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
- The phrase “cloud computing” refers to an architectural paradigm, in which computation is moved from local servers to a remote service that provides computation as a commodity or utility. A “cloud” is typically a large collection of shared commodity computation resources that can be interchangeably provisioned in response to clients' computation requests. Cloud computing is frequently used in software-as-a-service (SaaS) application architectures and may be viewed as an implementation choice for application deployment that leverages shared resources and improved cost structure of the cloud. A cloud computing approach may be used to implement a variety of computational paradigms, such as virtual machines, jobs, remote procedure calls, traditional servers, etc.
- Embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
-
FIG. 1 is a block diagram showing an architecture within which a method and system to provision and manage a computing application deployed on a cloud may be implemented, in accordance with an example embodiment; -
FIG. 2 is a diagrammatic representation of an example application requirement and an example resource inventory that may be used for determining a resource model, in accordance with an example embodiment; -
FIG. 3 is a diagrammatic representation of application description, deployment description, and infrastructure description, in accordance with an example embodiment; -
FIG. 4 is a block diagram illustrating some components of a smart scheduler, in accordance with an example embodiment; -
FIG. 5 is a flow chart illustrating a method for determining an optimized configuration for deploying a computing application on a cloud, in accordance with an example embodiment; and -
FIG. 6 is a diagrammatic representation of a machine in the example form of a computer system within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed. - In the following detailed description, numerous specific claimed details are set forth to provide a thorough understanding of subject matter. However, it will be understood by those skilled in the art that claimed subject matter may be practiced without these specific details. In other instances, methods, apparatuses or systems that would be known by one of ordinary skill have not been described in detail so as not to obscure claimed subject matter.
- Some portions of the detailed description which follow are presented in terms of algorithms or symbolic representations of operations on binary digital signals stored within a memory of a specific apparatus or special purpose computing device or platform. In the context of this particular specification, the term specific apparatus or the like includes a general purpose computer once it is programmed to perform particular functions pursuant to instructions from program software. Algorithmic descriptions or symbolic representations are examples of techniques used by those of ordinary skill in the signal processing or related arts to convey the substance of their work to others skilled in the art. An algorithm is here, and generally, considered to be a self-consistent sequence of operations or similar signal processing leading to a desired result. In this context, operations or processing involve physical manipulation of physical quantities. Typically, although not necessarily, such quantities may take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared or otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to such signals as bits, data, values, elements, symbols, characters, terms, numbers, numerals or the like. It should be understood, however, that all of these or similar terms are to be associated with appropriate physical quantities and are merely convenient labels. Unless specifically stated otherwise, as apparent from the following discussion, it is appreciated that throughout this specification discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining” or the like refer to actions or processes of a specific apparatus, such as a special purpose computer or a similar special purpose electronic computing device. In the context of this specification, therefore, a special purpose computer or a similar special purpose electronic computing device is capable of manipulating or transforming signals, typically represented as physical electronic or magnetic quantities within memories, registers, or other information storage devices, transmission devices, or display devices of the special purpose computer or similar special purpose electronic computing device.
- A computing application (also referred as merely an application) may be made available to users by deploying the application on one or more virtual instances of a machine running on a cloud, i.e., within a public virtualization space, such as, e.g., the virtualization space provided by Amazon Elastic Compute Cloud (EC2) service. The manner in which an application can be deployed on a cloud depends on application requirement with respect to resources on one hand, and also on the availability of resources (resource inventory) that can be provided to the application by the virtualization service provider. A virtualization service provider may also be referred to a cloud provider. Often, more than a single application deployment configuration may satisfy application requirement given a particular resource inventory. For example, an application may be deployed on a cloud using varying number of virtual instances of a machine, the application may be deployed using different or multiple virtualization service providers, the virtual instance of a machine running the application (or one or more components of an application) may be started and stopped according to the need of the users, etc. One of these different application deployment configurations may be most cost effective (e.g., deploying the application on a fewer number of virtual instances of a machine), while another application deployment configuration may be characterized by greater performance at a higher cost (e.g., deploying the application on a greater number of virtual instances of a machine).
- In one embodiment, method and system are provided to determine the optimized configuration for deploying the application on a cloud based on a determined optimization goal. The optimization goal may be, e.g., the lowest cost, higher availability of the application to users, greater reliability, etc. The optimized configuration may be determined by matching application requirement with a resource model. A resource model, also termed resource inventory, may describe what type of resources (e.g., CPU, Disk, Memory, and Network) can be made available to the application, their capacity, and their usage charge. A system to determine the optimized configuration for deploying an application on a cloud may be termed a smart scheduler.
- Application requirement may be provided to the smart scheduler together with a request to launch the application or, alternatively, the application may be registered with the smart scheduler, such that the application requirement information is obtained and stored at a location accessible by the smart scheduler prior to any launch request. A smart scheduler may also be configured to obtain resource inventory with respect to one or more cloud providers. In one embodiment, he resource inventory may be captured, e.g., by accessing a web site of the provider of a virtualization service. The optimization goal information may be provided to the smart scheduler, e.g., together with the request to launch an application or at the time when (and if) the application is registered with the smart scheduler.
- The requested application is launched on a cloud by instructing the cloud provider to access one or more machine images containing the application description and load the one or more machine images onto the physical machines provided by the cloud provider and make it accessible to the user via a network. A machine image is a read-only boot image that is used for launching an instance of a virtual machine running one or more components of the requested computing application. One or more machine images representing a computing application may be provided to a network storage system (e.g., AmazonS3) by a control server (also referred to as a controller).
- A system that provisions and manages a computing application hosted on one or more virtual instances of a machine may be referred to as a hosted service system. A hosted service system may include a smart scheduler and may be configured to provide automated administration of a computing application, replacing the administration tasks that would otherwise be performed by the customer when running in an on-premise production deployment. The technology within an example hosted service system may hide the behavior of the underlying virtualization service, and provide instances of a computing application that are substantially indistinguishable (e.g., in terms of reliability, security, and performance) from local on-premise deployments of the computing application. For example, a hosted service system may provision and manage computing applications such as a generic content server, Adobe® LiveCycle® Enterprise Suite (ES) and Adobe® ConnectPro® offered by Adobe Systems Incorporated, etc. While embodiments of the smart scheduler are described with reference to Amazon EC2 service, other virtualization services may be utilized.
- In operation, a user can access a provider's web site and request to launch a computing application that can be deployed remotely on a plurality of virtual instances of a machine (on a cloud) such that the user no longer is required to deploy the computing application locally, within their own data center, on their own hardware. A request may be triggered by a user, e.g., by activating a visual control such as a “Start” button presented on a web page. When a smart scheduler provided at the hosted service system receives a request to launch a computing application on a cloud, the smart scheduler, in response, determines application requirement and a resource model based on a cloud resource inventory, and determines an optimized application deployment configuration. Then, a call is made to the application programming interface (API) associated with the virtualization service to trigger the loading of one or more machine images associated with the requested computing application using the optimized application deployment configuration. For example, the smart scheduler can instruct the virtualization service host to start ten small-capacity servers rather than five greater-capacity servers, if the ten-server configuration offers to the application the same CPU power at a lower cost. The smart scheduler may also be configured to instruct the virtualization service host to start a CPU-intensive task using a first virtualization service and start an I/O-intensive task using a different virtualization service, based on respective pricing models of the two virtualization service providers. The smart scheduler may also be configured to provide an instruction to start both the database server and the application server associated with a computing application in the same virtual network if it is determined that such configuration may lower the bandwidth cost.
- An example architecture within which method and system to provision and manage a clustered computing application hosted by a plurality of virtual nodes may be implemented is described with reference to an architecture diagram illustrated in
FIG. 1 . Thearchitecture 100 may include aclient computer system 110 and a hostedservice system 120. In one example embodiment, the hostedservice system 120 is to provision and manage an enterprise SaaS product utilizing a cloud-based computing service as a virtualization infrastructure. Cloud-based computing services, as shown inFIG. 1 , are provided by avirtualization service host 130 and anetwork storage service 140. In one embodiment, a hostedservice system 120 utilizes Amazon EC2 as a virtualization service and Amazon Simple Storage Service (Amazon S3) as a network storage service. In some embodiments, the hostedservice system 120 may utilize more than one virtualization service host, e.g., one host being Amazon EC2 and another host provided by Adobe Systems Incorporated. Theclient computer system 110 and the hostedservice system 120 may be in communication with each other via a communications network that may be a public network (e.g., the Internet). - The
virtualization service host 130 may load acomputing application 132 onto a cloud. Thecomputing application 132 may be accessed by theclient 110 via abrowser application 112. As mentioned above, a user in control of theclient computer system 110 may send a request to the hostedservice system 120 to load the computing application. The request may be initiated via auser interface 122 provided by the hostedservice system 120 to theclient computer system 110 via thebrowser application 112. - The
user interface 122, in one embodiment, provides both an end-user's and a system administrator's view of thecomputing application 132 and also permits issuing control operations to thecomputing application 132 and permits viewing the resulting changes in the state of thecomputing application 132. For example, where the computing application is a content server, an end-user may manipulate various electronic forms. Theuser interface 122 may also serve as a source of information for the hostedservice system 120, including documentation, downloads, and support. Theuser interface 122, in one embodiment, uses Adobe® Flex® software, offered by Adobe Systems Incorporated, as the user interface technology for the implementation of the user interface. Theuser interface 122, in one embodiment, uses an XML (Extensible Markup Language)-based representational state transfer (REST) style secure communications protocol to synchronize its operations with acontrol server 124. A request to access theuser interface 122 may be authenticated using one of a variety of authentication techniques. - The request from the
client computer system 110 to load thecomputing application 132 is received at thecontrol server 124, which responds to the request by activating anaccess interface 134 provided by thevirtualization service host 130. Thecontrol server 124, in one example embodiment, provides coordination between the components of thearchitecture 100, provides administration and monitoring of thevirtualization service host 130, and also may be configured to audit system usage and resource allocation with respect to thecomputing application 132. Thecontrol server 124 includes a database to store information pertaining to various aspects of system usage. Thecontrol server 124, in one embodiment, runs within a standard Hypertext Transfer Protocol Secure (HTTPS)-compliant web server and may be deployed as a publically accessible web application that is available outside a firewall. Thecontrol server 124, in one embodiment, is implemented using Ruby on Rails™ technology. - The
virtualization service host 130 accesses thestorage 144 of thenetwork storage system 140 to obtain one or more machine images in order to load the associatedcomputing application 132. The machine images can be uploaded to the network storage system by thecontrol server 124 utilizing anaccess interface 142 provided with thenetwork storage system 140. The hostedservice system 120 further includes asecure networking client 126 to provide a bidirectional, encrypted, compressed connection between a machine in the end-user's secure network environment (e.g., the client computer system 110) and one or more instances of a virtual machine running within the virtualization infrastructure (the computing application 132). Thenetworking client 126 manages various aspects of transmission control protocol (TCP) traffic forwarding, encryption, and network discovery, such that the user can access thecomputing application 132 as if it was running locally on the user's machine. In this mode, the user's network security envelope is extended to surround thecomputing application 132 using comparable levels of encryption and protection against network security threats. - In one example embodiment, the
control server 124 comprises asmart scheduler 125. Thesmart scheduler 125 may be configured to determine an optimized configuration for launching a computing application on a cloud by matching the application resource requirement with the cloud resource model, based on the optimization requirement. The optimization requirement may be based on the need to lower the cost of using the virtualization service, based on the need to increase the bandwidth available to the computing application, to reduce latency, or some other optimization goals. Adiagrammatic representation 200 of an example application requirement and an example resource inventory that may be used for determining the resource model is shown inFIG. 2 . As shown inFIG. 2 , an application requirement (AppRequirement) comprises interaction pattern among application pools, where a pool may be executing on one or more instances of a virtual machine with a load balance (“LB”) being used as a front end for processing users requests. A “pool” is a group of machines that provide the same functionality to its clients. If the client workload is too high for the capacity the pool offers, the controller may issue an instruction to grow the pool by adding more members into the pool. The pools size is thus proportional to its processing capacity. Application requirement also comprises an application descriptor, which is the specification of the service-level requirement. Overall parameters of the application descriptor include optimization goal (also referred to as optimization requirement), inter-pool dependencies, and inter-pool bandwidth requirement. Pool parameters of the application descriptor include VM (virtual machine) requirement, minimum/maximum pool size, bandwidth and latency requirement, and security requirement. Resource inventory, as shown inFIG. 2 , may indicate which cloud providers are available, which data centers (DSc) are provided by each cloud provider and the number and type of virtual instances of a machine that can be provided by each cloud provider. Resource inventory may be expressed utilizing inventory descriptors, such as machine capacity, network capacity, machine cost, and network cost. For example, if the application requires K amount of CPU power and the resource model indicates that a class-A machine can offer B units of CPU power, then the smart scheduler may determine that at least K/B machines would be necessary in order to meet the CPU requirement of the application. -
FIG. 3 is a block diagram illustrating parameters that may be used for generating deployment parameters for a computing application (“Deploy Desc”) using parameters describing application requirement of a computing application (“App Desc”) and parameters describing cloud resource inventory (“Infra Desc”). Symbols “+,” “*,” and “?” describe the number of repetitions permitted with respect to the associated parameter. The “+” symbol indicates one to many parameters, the “*” symbol indicates zero to multiple parameters, and “?” indicates zero to one parameters. Some components of thesmart scheduler 125 are described with reference toFIG. 4 . -
FIG. 4 is a block diagram illustrating asystem 400 for determining an optimized configuration for deploying a computing application on a cloud, according to one example embodiment. As shown inFIG. 4 , thesystem 400 includes alaunch request detector 402, anapplication requirement detector 404, a cloudresource inventory detector 406, anoptimization requirement detector 408, amatching module 410, and aconfiguration module 412. Thelaunch request detector 402 may be configured to detect a request to launch a computing application within a virtualization service. Theapplication requirement detector 404 may be configured to determine application requirement for the computing application. The application requirement may comprise a list of components of the computing application, relationship among the components, bandwidth and latency requirement, security requirement, etc. The cloudresource inventory detector 406 may be configured to determine cloud resource inventory and generate a cloud resource model. Cloud resource inventory provides information indicating resources that can be made available to the computing application within the virtualization service. Theoptimization requirement detector 408 may be configured to determine an optimization requirement. The optimization requirement comprises one or more parameters indicating optimization criteria, such as, e.g., a requirement associated with the cost of using virtualization service, performance and availability of the computing application, etc. Thematching module 410 may be configured to perform matching of the application requirement with the resource inventory based on the optimization requirement. Theconfiguration module 412 may be configured to generate an optimized application deployment configuration based on the result of the matching and cause launching of the computing application within the virtualization service using the optimized application deployment configuration. The optimized application deployment configuration may include information indicating one or more virtualization service providers to be utilized for launching the computing application within the virtualization service, one or more virtualization service providers to be utilized for launching the computing application within the virtualization service, type and capacity of each virtual machine to be executing one or more components of the computing application, etc. Example operations performed by thesystem 400 are discussed below with reference toFIG. 5 . -
FIG. 5 is a flow chart illustrating amethod 500 for determining an optimized configuration for deploying a computing application on a cloud, in accordance with an example embodiment. Themethod 500 may be performed by processing logic that may comprise hardware, software (such as run on a general purpose computer system programmed to perform particular functions pursuant to instructions from program software or on a dedicated machine), or a combination of both. The processing logic, according to example embodiments, may reside in or comprise any of the modules shown inFIG. 4 . - As shown in
FIG. 5 , themethod 500 commences withoperation 510, where thelaunch request detector 402 ofFIG. 4 detects a request to launch a computing application on a cloud (within a virtualization service). Atoperation 520, theapplication requirement detector 404 ofFIG. 4 determines application requirement for the computing application. Atoperation 530, the cloudresource inventory detector 406 ofFIG. 4 determines cloud resource inventory. As mentioned above, the cloud resource model indicates resources that can be made available to the computing application within the virtualization service. Atoperation 540, theoptimization requirement detector 408 ofFIG. 4 determines an optimization requirement associated with the computing application. The optimization requirement may be provided to the smart scheduler (that may be implemented as thesystem 400 ofFIG. 4 ) by an administrator. The optimization requirement comprises one or more parameters indicating optimization criteria, such as, for example, lowest cost or highest performance. Atoperation 550, thematching module 410 ofFIG. 4 performs matching of the application requirement with the resource inventory based on the optimization requirement. Atoperation 560, theconfiguration module 412 ofFIG. 4 generates an optimized application deployment configuration based on the result of the matching and causes launching of the computing application within the virtualization service using the optimized application deployment configuration. -
FIG. 6 is a diagrammatic representation of a machine in the example electronic form of acomputer system 600 within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed. In various embodiments, the machine operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a portable music player (e.g., a portable hard drive audio device such as an “Moving Picture Experts Group (MPEG) Layer 3” (MP3) player), a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein. - The
example computer system 600 includes a processor 602 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), amain memory 604 and astatic memory 606, which communicate with each other via abus 608. Thecomputer system 600 may further include a video display unit 610 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). Thecomputer system 600 also includes an alphanumeric input device 612 (e.g., a keyboard), a user interface (UI) cursor control device 614 (e.g., a mouse), adisk drive unit 616, a signal generation device 618 (e.g., a speaker) and anetwork interface device 620. - The
disk drive unit 616 includes a computer-readable (or machine-readable) medium 622 on which is stored one or more sets of instructions and data structures (e.g., software 624) embodying or utilized by any one or more of the methodologies or functions described herein. Thesoftware 624 may also reside, completely or at least partially, within themain memory 604 and/or within theprocessor 602 during execution thereof by thecomputer system 600, themain memory 604 and theprocessor 602 also constituting machine-readable media. - The
software 624 may further be transmitted or received over anetwork 626 via thenetwork interface device 620 utilizing any one of a number of well-known transfer protocols (e.g., Hyper Text Transfer Protocol (HTTP)). - While the machine-
readable medium 622 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing or encoding a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention, or that is capable of storing or encoding data structures utilized by or associated with such a set of instructions. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical and magnetic media. Such medium may also include, without limitation, hard disks, floppy disks, flash memory cards, digital video disks, random access memory (RAMs), read only memory (ROMs), and the like. - Thus, method and system to deploy a computing application on a cloud have been described. While some example approaches described herein may be used with ADOBE® products, the techniques described herein may be utilized beneficially with various other products.
- The embodiments described herein may be implemented in an operating environment comprising software installed on a computer, in hardware, or in a combination of software and hardware. Although embodiments have been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
Claims (21)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/869,511 US8656023B1 (en) | 2010-08-26 | 2010-08-26 | Optimization scheduler for deploying applications on a cloud |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/869,511 US8656023B1 (en) | 2010-08-26 | 2010-08-26 | Optimization scheduler for deploying applications on a cloud |
Publications (2)
Publication Number | Publication Date |
---|---|
US20140040473A1 true US20140040473A1 (en) | 2014-02-06 |
US8656023B1 US8656023B1 (en) | 2014-02-18 |
Family
ID=50026628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/869,511 Active 2030-09-11 US8656023B1 (en) | 2010-08-26 | 2010-08-26 | Optimization scheduler for deploying applications on a cloud |
Country Status (1)
Country | Link |
---|---|
US (1) | US8656023B1 (en) |
Cited By (95)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130239089A1 (en) * | 2011-09-07 | 2013-09-12 | Brick Eksten | Systems and methods for computing applications |
US20130297769A1 (en) * | 2012-05-02 | 2013-11-07 | Cisco Technology, Inc. | System and method for simulating virtual machine migration in a network environment |
US20130339424A1 (en) * | 2012-06-15 | 2013-12-19 | Infosys Limited | Deriving a service level agreement for an application hosted on a cloud platform |
US20140215049A1 (en) * | 2013-01-25 | 2014-07-31 | Red Hat, Inc. | Method and system for robust cloud instance launching |
US20140317617A1 (en) * | 2013-04-23 | 2014-10-23 | Sap Ag | Optimized Deployment of Data Services on the Cloud |
US20150074278A1 (en) * | 2012-06-08 | 2015-03-12 | Stephane H. Maes | Cloud application deployment portability |
US20150120818A1 (en) * | 2013-10-24 | 2015-04-30 | Samsung Sds Co., Ltd. | Multi-tenant saas platform and method for automated deployment of connector application, and tenant and service provider using virtual machine |
US20150163288A1 (en) * | 2012-06-08 | 2015-06-11 | Stephane H. Maes | Cloud application deployment |
WO2015130755A1 (en) * | 2014-02-26 | 2015-09-03 | Google Inc. | Diagnosis and optimization of cloud release pipelines |
US9201704B2 (en) | 2012-04-05 | 2015-12-01 | Cisco Technology, Inc. | System and method for migrating application virtual machines in a network environment |
US20160248811A1 (en) * | 2013-10-25 | 2016-08-25 | Zte Corporation | Method and device for customizing security service |
US9614873B1 (en) * | 2010-12-28 | 2017-04-04 | Amazon Technologies, Inc. | Enforceable launch configurations |
US9641384B1 (en) * | 2014-09-10 | 2017-05-02 | Amazon Technologies, Inc. | Automated management of computing instance launch times |
US9699213B2 (en) | 2014-11-28 | 2017-07-04 | International Business Machines Corporation | Cost-based configuration using a context-based cloud security assurance system |
US9762616B2 (en) | 2015-08-08 | 2017-09-12 | International Business Machines Corporation | Application-based security rights in cloud environments |
US9935894B2 (en) | 2014-05-08 | 2018-04-03 | Cisco Technology, Inc. | Collaborative inter-service scheduling of logical resources in cloud platforms |
US20180152392A1 (en) * | 2015-07-10 | 2018-05-31 | Hewlett Packard Enterprise Development Lp | Hybrid cloud management |
US10034201B2 (en) | 2015-07-09 | 2018-07-24 | Cisco Technology, Inc. | Stateless load-balancing across multiple tunnels |
US10037617B2 (en) | 2015-02-27 | 2018-07-31 | Cisco Technology, Inc. | Enhanced user interface systems including dynamic context selection for cloud-based networks |
US10050862B2 (en) | 2015-02-09 | 2018-08-14 | Cisco Technology, Inc. | Distributed application framework that uses network and application awareness for placing data |
US10067780B2 (en) | 2015-10-06 | 2018-09-04 | Cisco Technology, Inc. | Performance-based public cloud selection for a hybrid cloud environment |
US10084703B2 (en) | 2015-12-04 | 2018-09-25 | Cisco Technology, Inc. | Infrastructure-exclusive service forwarding |
US10122605B2 (en) | 2014-07-09 | 2018-11-06 | Cisco Technology, Inc | Annotation of network activity through different phases of execution |
US10129177B2 (en) | 2016-05-23 | 2018-11-13 | Cisco Technology, Inc. | Inter-cloud broker for hybrid cloud networks |
US10142346B2 (en) | 2016-07-28 | 2018-11-27 | Cisco Technology, Inc. | Extension of a private cloud end-point group to a public cloud |
US10140172B2 (en) | 2016-05-18 | 2018-11-27 | Cisco Technology, Inc. | Network-aware storage repairs |
US10205677B2 (en) | 2015-11-24 | 2019-02-12 | Cisco Technology, Inc. | Cloud resource placement optimization and migration execution in federated clouds |
US10212074B2 (en) | 2011-06-24 | 2019-02-19 | Cisco Technology, Inc. | Level of hierarchy in MST for traffic localization and load balancing |
US10222986B2 (en) | 2015-05-15 | 2019-03-05 | Cisco Technology, Inc. | Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system |
US10243823B1 (en) | 2017-02-24 | 2019-03-26 | Cisco Technology, Inc. | Techniques for using frame deep loopback capabilities for extended link diagnostics in fibre channel storage area networks |
US10243826B2 (en) | 2015-01-10 | 2019-03-26 | Cisco Technology, Inc. | Diagnosis and throughput measurement of fibre channel ports in a storage area network environment |
US10254991B2 (en) | 2017-03-06 | 2019-04-09 | Cisco Technology, Inc. | Storage area network based extended I/O metrics computation for deep insight into application performance |
US10257042B2 (en) | 2012-01-13 | 2019-04-09 | Cisco Technology, Inc. | System and method for managing site-to-site VPNs of a cloud managed network |
US10263898B2 (en) | 2016-07-20 | 2019-04-16 | Cisco Technology, Inc. | System and method for implementing universal cloud classification (UCC) as a service (UCCaaS) |
US10268958B1 (en) * | 2014-09-10 | 2019-04-23 | Amazon Technologies, Inc. | Recommended launch configuration |
US20190158367A1 (en) * | 2017-11-21 | 2019-05-23 | Hewlett Packard Enterprise Development Lp | Selection of cloud service providers to host applications |
US10303534B2 (en) | 2017-07-20 | 2019-05-28 | Cisco Technology, Inc. | System and method for self-healing of application centric infrastructure fabric memory |
US10320683B2 (en) | 2017-01-30 | 2019-06-11 | Cisco Technology, Inc. | Reliable load-balancer using segment routing and real-time application monitoring |
US10326817B2 (en) | 2016-12-20 | 2019-06-18 | Cisco Technology, Inc. | System and method for quality-aware recording in large scale collaborate clouds |
US10334029B2 (en) | 2017-01-10 | 2019-06-25 | Cisco Technology, Inc. | Forming neighborhood groups from disperse cloud providers |
US10353800B2 (en) | 2017-10-18 | 2019-07-16 | Cisco Technology, Inc. | System and method for graph based monitoring and management of distributed systems |
US10367914B2 (en) | 2016-01-12 | 2019-07-30 | Cisco Technology, Inc. | Attaching service level agreements to application containers and enabling service assurance |
US10382597B2 (en) | 2016-07-20 | 2019-08-13 | Cisco Technology, Inc. | System and method for transport-layer level identification and isolation of container traffic |
US10382274B2 (en) | 2017-06-26 | 2019-08-13 | Cisco Technology, Inc. | System and method for wide area zero-configuration network auto configuration |
US10382534B1 (en) | 2015-04-04 | 2019-08-13 | Cisco Technology, Inc. | Selective load balancing of network traffic |
US10404596B2 (en) | 2017-10-03 | 2019-09-03 | Cisco Technology, Inc. | Dynamic route profile storage in a hardware trie routing table |
US10425288B2 (en) | 2017-07-21 | 2019-09-24 | Cisco Technology, Inc. | Container telemetry in data center environments with blade servers and switches |
US10432532B2 (en) | 2016-07-12 | 2019-10-01 | Cisco Technology, Inc. | Dynamically pinning micro-service to uplink port |
US10432550B2 (en) | 2015-07-10 | 2019-10-01 | Alibaba Group Holding Limited | Method and device for computing resource scheduling |
US10439877B2 (en) | 2017-06-26 | 2019-10-08 | Cisco Technology, Inc. | Systems and methods for enabling wide area multicast domain name system |
US10454984B2 (en) | 2013-03-14 | 2019-10-22 | Cisco Technology, Inc. | Method for streaming packet captures from network access devices to a cloud server over HTTP |
US10462136B2 (en) | 2015-10-13 | 2019-10-29 | Cisco Technology, Inc. | Hybrid cloud security groups |
US10461959B2 (en) | 2014-04-15 | 2019-10-29 | Cisco Technology, Inc. | Programmable infrastructure gateway for enabling hybrid cloud services in a network environment |
US10476982B2 (en) | 2015-05-15 | 2019-11-12 | Cisco Technology, Inc. | Multi-datacenter message queue |
US10511534B2 (en) | 2018-04-06 | 2019-12-17 | Cisco Technology, Inc. | Stateless distributed load-balancing |
US10523592B2 (en) | 2016-10-10 | 2019-12-31 | Cisco Technology, Inc. | Orchestration system for migrating user data and services based on user information |
US10523657B2 (en) | 2015-11-16 | 2019-12-31 | Cisco Technology, Inc. | Endpoint privacy preservation with cloud conferencing |
US10541866B2 (en) | 2017-07-25 | 2020-01-21 | Cisco Technology, Inc. | Detecting and resolving multicast traffic performance issues |
US10545914B2 (en) | 2017-01-17 | 2020-01-28 | Cisco Technology, Inc. | Distributed object storage |
US10552191B2 (en) | 2017-01-26 | 2020-02-04 | Cisco Technology, Inc. | Distributed hybrid cloud orchestration model |
US10567344B2 (en) | 2016-08-23 | 2020-02-18 | Cisco Technology, Inc. | Automatic firewall configuration based on aggregated cloud managed information |
US10585830B2 (en) | 2015-12-10 | 2020-03-10 | Cisco Technology, Inc. | Policy-driven storage in a microserver computing environment |
US10601693B2 (en) | 2017-07-24 | 2020-03-24 | Cisco Technology, Inc. | System and method for providing scalable flow monitoring in a data center fabric |
US10608865B2 (en) | 2016-07-08 | 2020-03-31 | Cisco Technology, Inc. | Reducing ARP/ND flooding in cloud environment |
US10664169B2 (en) | 2016-06-24 | 2020-05-26 | Cisco Technology, Inc. | Performance of object storage system by reconfiguring storage devices based on latency that includes identifying a number of fragments that has a particular storage device as its primary storage device and another number of fragments that has said particular storage device as its replica storage device |
US10671571B2 (en) | 2017-01-31 | 2020-06-02 | Cisco Technology, Inc. | Fast network performance in containerized environments for network function virtualization |
US10708342B2 (en) | 2015-02-27 | 2020-07-07 | Cisco Technology, Inc. | Dynamic troubleshooting workspaces for cloud and network management systems |
US10705882B2 (en) | 2017-12-21 | 2020-07-07 | Cisco Technology, Inc. | System and method for resource placement across clouds for data intensive workloads |
US10713203B2 (en) | 2017-02-28 | 2020-07-14 | Cisco Technology, Inc. | Dynamic partition of PCIe disk arrays based on software configuration / policy distribution |
US10728361B2 (en) | 2018-05-29 | 2020-07-28 | Cisco Technology, Inc. | System for association of customer information across subscribers |
US10764266B2 (en) | 2018-06-19 | 2020-09-01 | Cisco Technology, Inc. | Distributed authentication and authorization for rapid scaling of containerized services |
US10778765B2 (en) | 2015-07-15 | 2020-09-15 | Cisco Technology, Inc. | Bid/ask protocol in scale-out NVMe storage |
US10803087B2 (en) * | 2018-10-19 | 2020-10-13 | Oracle International Corporation | Language interoperable runtime adaptable data collections |
US10805235B2 (en) | 2014-09-26 | 2020-10-13 | Cisco Technology, Inc. | Distributed application framework for prioritizing network traffic using application priority awareness |
US10819571B2 (en) | 2018-06-29 | 2020-10-27 | Cisco Technology, Inc. | Network traffic optimization using in-situ notification system |
US10826829B2 (en) | 2015-03-26 | 2020-11-03 | Cisco Technology, Inc. | Scalable handling of BGP route information in VXLAN with EVPN control plane |
US10862748B1 (en) * | 2016-03-12 | 2020-12-08 | Optumi, Inc. | Intent driven controller for provisioning software applications on networked equipment |
US10872056B2 (en) | 2016-06-06 | 2020-12-22 | Cisco Technology, Inc. | Remote memory access using memory mapped addressing among multiple compute nodes |
US10892940B2 (en) | 2017-07-21 | 2021-01-12 | Cisco Technology, Inc. | Scalable statistics and analytics mechanisms in cloud networking |
US10904342B2 (en) | 2018-07-30 | 2021-01-26 | Cisco Technology, Inc. | Container networking using communication tunnels |
US10904322B2 (en) | 2018-06-15 | 2021-01-26 | Cisco Technology, Inc. | Systems and methods for scaling down cloud-based servers handling secure connections |
US10942666B2 (en) | 2017-10-13 | 2021-03-09 | Cisco Technology, Inc. | Using network device replication in distributed storage clusters |
CN112764909A (en) * | 2021-01-27 | 2021-05-07 | 联思智云(北京)科技有限公司 | Sharing method and system based on cloud architecture workstation |
US11005731B2 (en) | 2017-04-05 | 2021-05-11 | Cisco Technology, Inc. | Estimating model parameters for automatic deployment of scalable micro services |
US11005682B2 (en) | 2015-10-06 | 2021-05-11 | Cisco Technology, Inc. | Policy-driven switch overlay bypass in a hybrid cloud network environment |
US11019083B2 (en) | 2018-06-20 | 2021-05-25 | Cisco Technology, Inc. | System for coordinating distributed website analysis |
US11044162B2 (en) | 2016-12-06 | 2021-06-22 | Cisco Technology, Inc. | Orchestration of cloud and fog interactions |
US11323325B1 (en) * | 2021-04-26 | 2022-05-03 | At&T Intellectual Property I, L.P. | System and method for remote configuration of scalable datacenter |
US11379223B1 (en) * | 2021-10-14 | 2022-07-05 | Instabase, Inc. | Systems and methods for automatic self-configuration of customer-specific deployment of set of enterprise software applications |
TWI778772B (en) * | 2021-09-01 | 2022-09-21 | 中華電信股份有限公司 | System and method for optimizing network |
US11481362B2 (en) | 2017-11-13 | 2022-10-25 | Cisco Technology, Inc. | Using persistent memory to enable restartability of bulk load transactions in cloud databases |
US11563695B2 (en) | 2016-08-29 | 2023-01-24 | Cisco Technology, Inc. | Queue protection using a shared global memory reserve |
US11588783B2 (en) | 2015-06-10 | 2023-02-21 | Cisco Technology, Inc. | Techniques for implementing IPV6-based distributed storage space |
US11595474B2 (en) | 2017-12-28 | 2023-02-28 | Cisco Technology, Inc. | Accelerating data replication using multicast and non-volatile memory enabled nodes |
US11714623B2 (en) | 2021-07-07 | 2023-08-01 | Instabase, Inc. | Systems and methods to configure customer-specific deployments of sets of enterprise software applications |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8914515B2 (en) * | 2011-10-28 | 2014-12-16 | International Business Machines Corporation | Cloud optimization using workload analysis |
US9240025B1 (en) * | 2012-03-27 | 2016-01-19 | Amazon Technologies, Inc. | Dynamic pricing of network-accessible resources for stateful applications |
US9286103B2 (en) * | 2012-04-21 | 2016-03-15 | International Business Machines Corporation | Method and apparatus for providing a test network as an IP accessible cloud service |
US20140173591A1 (en) * | 2012-12-13 | 2014-06-19 | Cisco Technology, Inc. | Differentiated service levels in virtualized computing |
US10693805B2 (en) * | 2013-08-27 | 2020-06-23 | Red Hat, Inc. | Tracking costs for a deployable instance |
CN104580302A (en) * | 2013-10-18 | 2015-04-29 | 宇宙互联有限公司 | Cloud service management system and cloud-cloud management system |
US9542219B1 (en) * | 2015-12-17 | 2017-01-10 | International Business Machines Corporation | Automatic analysis based scheduling of jobs to appropriate cloud resources |
CN110058894B (en) * | 2018-01-18 | 2022-05-24 | 伊姆西Ip控股有限责任公司 | Method, apparatus and computer program product for executing applications in a hybrid cloud |
US11513842B2 (en) | 2019-10-03 | 2022-11-29 | International Business Machines Corporation | Performance biased resource scheduling based on runtime performance |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080059635A1 (en) * | 2006-08-31 | 2008-03-06 | Redknee Inc. | Policy services |
US7596620B1 (en) * | 2008-11-04 | 2009-09-29 | Aptana, Inc. | System and method for developing, deploying, managing and monitoring a web application in a single environment |
US20100050172A1 (en) * | 2008-08-22 | 2010-02-25 | James Michael Ferris | Methods and systems for optimizing resource usage for cloud-based networks |
US20110055399A1 (en) * | 2009-08-31 | 2011-03-03 | Accenture Global Services Gmbh | Provisioner within cloud console--defining images of an enterprise to be operable on different cloud computing providers |
US20110213712A1 (en) * | 2010-02-26 | 2011-09-01 | Computer Associates Think, Ink. | Cloud Broker and Procurement System and Method |
US20110295999A1 (en) * | 2010-05-28 | 2011-12-01 | James Michael Ferris | Methods and systems for cloud deployment analysis featuring relative cloud resource importance |
-
2010
- 2010-08-26 US US12/869,511 patent/US8656023B1/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080059635A1 (en) * | 2006-08-31 | 2008-03-06 | Redknee Inc. | Policy services |
US20100050172A1 (en) * | 2008-08-22 | 2010-02-25 | James Michael Ferris | Methods and systems for optimizing resource usage for cloud-based networks |
US7596620B1 (en) * | 2008-11-04 | 2009-09-29 | Aptana, Inc. | System and method for developing, deploying, managing and monitoring a web application in a single environment |
US20110055399A1 (en) * | 2009-08-31 | 2011-03-03 | Accenture Global Services Gmbh | Provisioner within cloud console--defining images of an enterprise to be operable on different cloud computing providers |
US20110213712A1 (en) * | 2010-02-26 | 2011-09-01 | Computer Associates Think, Ink. | Cloud Broker and Procurement System and Method |
US20110295999A1 (en) * | 2010-05-28 | 2011-12-01 | James Michael Ferris | Methods and systems for cloud deployment analysis featuring relative cloud resource importance |
Cited By (144)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11075913B1 (en) | 2010-12-28 | 2021-07-27 | Amazon Technologies, Inc. | Enforceable launch configurations |
US9614873B1 (en) * | 2010-12-28 | 2017-04-04 | Amazon Technologies, Inc. | Enforceable launch configurations |
US10469500B1 (en) * | 2010-12-28 | 2019-11-05 | Amazon Technologies, Inc. | Enforceable launch configurations |
US10212074B2 (en) | 2011-06-24 | 2019-02-19 | Cisco Technology, Inc. | Level of hierarchy in MST for traffic localization and load balancing |
US20130239089A1 (en) * | 2011-09-07 | 2013-09-12 | Brick Eksten | Systems and methods for computing applications |
US9043747B2 (en) * | 2011-09-07 | 2015-05-26 | Imagine Communications Corp. | Systems and methods for dynamic development and deployment of computing applications using blueprints |
US10257042B2 (en) | 2012-01-13 | 2019-04-09 | Cisco Technology, Inc. | System and method for managing site-to-site VPNs of a cloud managed network |
US9201704B2 (en) | 2012-04-05 | 2015-12-01 | Cisco Technology, Inc. | System and method for migrating application virtual machines in a network environment |
US9223634B2 (en) * | 2012-05-02 | 2015-12-29 | Cisco Technology, Inc. | System and method for simulating virtual machine migration in a network environment |
US20130297769A1 (en) * | 2012-05-02 | 2013-11-07 | Cisco Technology, Inc. | System and method for simulating virtual machine migration in a network environment |
US20150074278A1 (en) * | 2012-06-08 | 2015-03-12 | Stephane H. Maes | Cloud application deployment portability |
US20150163288A1 (en) * | 2012-06-08 | 2015-06-11 | Stephane H. Maes | Cloud application deployment |
US9882824B2 (en) * | 2012-06-08 | 2018-01-30 | Hewlett Packard Enterpise Development Lp | Cloud application deployment portability |
US9923952B2 (en) * | 2012-06-08 | 2018-03-20 | Hewlett Packard Enterprise Development Lp | Cloud application deployment |
US20130339424A1 (en) * | 2012-06-15 | 2013-12-19 | Infosys Limited | Deriving a service level agreement for an application hosted on a cloud platform |
US20140215049A1 (en) * | 2013-01-25 | 2014-07-31 | Red Hat, Inc. | Method and system for robust cloud instance launching |
US9712379B2 (en) * | 2013-01-25 | 2017-07-18 | Red Hat, Inc. | Robust cloud instance launching |
US10454984B2 (en) | 2013-03-14 | 2019-10-22 | Cisco Technology, Inc. | Method for streaming packet captures from network access devices to a cloud server over HTTP |
US9329881B2 (en) * | 2013-04-23 | 2016-05-03 | Sap Se | Optimized deployment of data services on the cloud |
US20140317617A1 (en) * | 2013-04-23 | 2014-10-23 | Sap Ag | Optimized Deployment of Data Services on the Cloud |
US20150120818A1 (en) * | 2013-10-24 | 2015-04-30 | Samsung Sds Co., Ltd. | Multi-tenant saas platform and method for automated deployment of connector application, and tenant and service provider using virtual machine |
US9880882B2 (en) * | 2013-10-24 | 2018-01-30 | Samsung Sds Co., Ltd. | Multi-tenant SaaS platform and method for automated deployment of connector application, and tenant and service provider using virtual machine |
US10686837B2 (en) * | 2013-10-25 | 2020-06-16 | Xi'an Zhongxing New Software Co., Ltd. | Method and device for customizing security service |
US20160248811A1 (en) * | 2013-10-25 | 2016-08-25 | Zte Corporation | Method and device for customizing security service |
WO2015130755A1 (en) * | 2014-02-26 | 2015-09-03 | Google Inc. | Diagnosis and optimization of cloud release pipelines |
US11606226B2 (en) | 2014-04-15 | 2023-03-14 | Cisco Technology, Inc. | Programmable infrastructure gateway for enabling hybrid cloud services in a network environment |
US10461959B2 (en) | 2014-04-15 | 2019-10-29 | Cisco Technology, Inc. | Programmable infrastructure gateway for enabling hybrid cloud services in a network environment |
US10972312B2 (en) | 2014-04-15 | 2021-04-06 | Cisco Technology, Inc. | Programmable infrastructure gateway for enabling hybrid cloud services in a network environment |
US9935894B2 (en) | 2014-05-08 | 2018-04-03 | Cisco Technology, Inc. | Collaborative inter-service scheduling of logical resources in cloud platforms |
US10122605B2 (en) | 2014-07-09 | 2018-11-06 | Cisco Technology, Inc | Annotation of network activity through different phases of execution |
US10268958B1 (en) * | 2014-09-10 | 2019-04-23 | Amazon Technologies, Inc. | Recommended launch configuration |
US9641384B1 (en) * | 2014-09-10 | 2017-05-02 | Amazon Technologies, Inc. | Automated management of computing instance launch times |
US10805235B2 (en) | 2014-09-26 | 2020-10-13 | Cisco Technology, Inc. | Distributed application framework for prioritizing network traffic using application priority awareness |
US9699213B2 (en) | 2014-11-28 | 2017-07-04 | International Business Machines Corporation | Cost-based configuration using a context-based cloud security assurance system |
US9871822B2 (en) | 2014-11-28 | 2018-01-16 | International Business Machines Corporation | Deployment using a context-based cloud security assurance system |
US9838431B2 (en) | 2014-11-28 | 2017-12-05 | International Business Machines Corporation | Context-based cloud security assurance system |
US10212190B2 (en) | 2014-11-28 | 2019-02-19 | International Business Machines Corporation | Context-based cloud security assurance system |
US9876822B2 (en) | 2014-11-28 | 2018-01-23 | International Business Machines Corporation | Administration of a context-based cloud security assurance system |
US9912701B2 (en) | 2014-11-28 | 2018-03-06 | International Business Machines Corporation | Administration of a context-based cloud security assurance system |
US10243826B2 (en) | 2015-01-10 | 2019-03-26 | Cisco Technology, Inc. | Diagnosis and throughput measurement of fibre channel ports in a storage area network environment |
US10050862B2 (en) | 2015-02-09 | 2018-08-14 | Cisco Technology, Inc. | Distributed application framework that uses network and application awareness for placing data |
US10037617B2 (en) | 2015-02-27 | 2018-07-31 | Cisco Technology, Inc. | Enhanced user interface systems including dynamic context selection for cloud-based networks |
US10825212B2 (en) | 2015-02-27 | 2020-11-03 | Cisco Technology, Inc. | Enhanced user interface systems including dynamic context selection for cloud-based networks |
US10708342B2 (en) | 2015-02-27 | 2020-07-07 | Cisco Technology, Inc. | Dynamic troubleshooting workspaces for cloud and network management systems |
US10826829B2 (en) | 2015-03-26 | 2020-11-03 | Cisco Technology, Inc. | Scalable handling of BGP route information in VXLAN with EVPN control plane |
US11843658B2 (en) | 2015-04-04 | 2023-12-12 | Cisco Technology, Inc. | Selective load balancing of network traffic |
US10382534B1 (en) | 2015-04-04 | 2019-08-13 | Cisco Technology, Inc. | Selective load balancing of network traffic |
US11122114B2 (en) | 2015-04-04 | 2021-09-14 | Cisco Technology, Inc. | Selective load balancing of network traffic |
US10476982B2 (en) | 2015-05-15 | 2019-11-12 | Cisco Technology, Inc. | Multi-datacenter message queue |
US10671289B2 (en) | 2015-05-15 | 2020-06-02 | Cisco Technology, Inc. | Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system |
US10222986B2 (en) | 2015-05-15 | 2019-03-05 | Cisco Technology, Inc. | Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system |
US11354039B2 (en) | 2015-05-15 | 2022-06-07 | Cisco Technology, Inc. | Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system |
US10938937B2 (en) | 2015-05-15 | 2021-03-02 | Cisco Technology, Inc. | Multi-datacenter message queue |
US11588783B2 (en) | 2015-06-10 | 2023-02-21 | Cisco Technology, Inc. | Techniques for implementing IPV6-based distributed storage space |
US10034201B2 (en) | 2015-07-09 | 2018-07-24 | Cisco Technology, Inc. | Stateless load-balancing across multiple tunnels |
US20180152392A1 (en) * | 2015-07-10 | 2018-05-31 | Hewlett Packard Enterprise Development Lp | Hybrid cloud management |
US10432550B2 (en) | 2015-07-10 | 2019-10-01 | Alibaba Group Holding Limited | Method and device for computing resource scheduling |
US10778765B2 (en) | 2015-07-15 | 2020-09-15 | Cisco Technology, Inc. | Bid/ask protocol in scale-out NVMe storage |
US10673900B2 (en) | 2015-08-08 | 2020-06-02 | Hcl Technologies Limited | Application-based security rights in cloud environments |
US9762616B2 (en) | 2015-08-08 | 2017-09-12 | International Business Machines Corporation | Application-based security rights in cloud environments |
US10901769B2 (en) | 2015-10-06 | 2021-01-26 | Cisco Technology, Inc. | Performance-based public cloud selection for a hybrid cloud environment |
US10067780B2 (en) | 2015-10-06 | 2018-09-04 | Cisco Technology, Inc. | Performance-based public cloud selection for a hybrid cloud environment |
US11005682B2 (en) | 2015-10-06 | 2021-05-11 | Cisco Technology, Inc. | Policy-driven switch overlay bypass in a hybrid cloud network environment |
US11218483B2 (en) | 2015-10-13 | 2022-01-04 | Cisco Technology, Inc. | Hybrid cloud security groups |
US10462136B2 (en) | 2015-10-13 | 2019-10-29 | Cisco Technology, Inc. | Hybrid cloud security groups |
US10523657B2 (en) | 2015-11-16 | 2019-12-31 | Cisco Technology, Inc. | Endpoint privacy preservation with cloud conferencing |
US10205677B2 (en) | 2015-11-24 | 2019-02-12 | Cisco Technology, Inc. | Cloud resource placement optimization and migration execution in federated clouds |
US10084703B2 (en) | 2015-12-04 | 2018-09-25 | Cisco Technology, Inc. | Infrastructure-exclusive service forwarding |
US10585830B2 (en) | 2015-12-10 | 2020-03-10 | Cisco Technology, Inc. | Policy-driven storage in a microserver computing environment |
US10949370B2 (en) | 2015-12-10 | 2021-03-16 | Cisco Technology, Inc. | Policy-driven storage in a microserver computing environment |
US10367914B2 (en) | 2016-01-12 | 2019-07-30 | Cisco Technology, Inc. | Attaching service level agreements to application containers and enabling service assurance |
US10999406B2 (en) | 2016-01-12 | 2021-05-04 | Cisco Technology, Inc. | Attaching service level agreements to application containers and enabling service assurance |
US10862748B1 (en) * | 2016-03-12 | 2020-12-08 | Optumi, Inc. | Intent driven controller for provisioning software applications on networked equipment |
US10140172B2 (en) | 2016-05-18 | 2018-11-27 | Cisco Technology, Inc. | Network-aware storage repairs |
US10129177B2 (en) | 2016-05-23 | 2018-11-13 | Cisco Technology, Inc. | Inter-cloud broker for hybrid cloud networks |
US10872056B2 (en) | 2016-06-06 | 2020-12-22 | Cisco Technology, Inc. | Remote memory access using memory mapped addressing among multiple compute nodes |
US10664169B2 (en) | 2016-06-24 | 2020-05-26 | Cisco Technology, Inc. | Performance of object storage system by reconfiguring storage devices based on latency that includes identifying a number of fragments that has a particular storage device as its primary storage device and another number of fragments that has said particular storage device as its replica storage device |
US10608865B2 (en) | 2016-07-08 | 2020-03-31 | Cisco Technology, Inc. | Reducing ARP/ND flooding in cloud environment |
US10659283B2 (en) | 2016-07-08 | 2020-05-19 | Cisco Technology, Inc. | Reducing ARP/ND flooding in cloud environment |
US10432532B2 (en) | 2016-07-12 | 2019-10-01 | Cisco Technology, Inc. | Dynamically pinning micro-service to uplink port |
US10382597B2 (en) | 2016-07-20 | 2019-08-13 | Cisco Technology, Inc. | System and method for transport-layer level identification and isolation of container traffic |
US10263898B2 (en) | 2016-07-20 | 2019-04-16 | Cisco Technology, Inc. | System and method for implementing universal cloud classification (UCC) as a service (UCCaaS) |
US10142346B2 (en) | 2016-07-28 | 2018-11-27 | Cisco Technology, Inc. | Extension of a private cloud end-point group to a public cloud |
US10567344B2 (en) | 2016-08-23 | 2020-02-18 | Cisco Technology, Inc. | Automatic firewall configuration based on aggregated cloud managed information |
US11563695B2 (en) | 2016-08-29 | 2023-01-24 | Cisco Technology, Inc. | Queue protection using a shared global memory reserve |
US11716288B2 (en) | 2016-10-10 | 2023-08-01 | Cisco Technology, Inc. | Orchestration system for migrating user data and services based on user information |
US10523592B2 (en) | 2016-10-10 | 2019-12-31 | Cisco Technology, Inc. | Orchestration system for migrating user data and services based on user information |
US11044162B2 (en) | 2016-12-06 | 2021-06-22 | Cisco Technology, Inc. | Orchestration of cloud and fog interactions |
US10326817B2 (en) | 2016-12-20 | 2019-06-18 | Cisco Technology, Inc. | System and method for quality-aware recording in large scale collaborate clouds |
US10334029B2 (en) | 2017-01-10 | 2019-06-25 | Cisco Technology, Inc. | Forming neighborhood groups from disperse cloud providers |
US10545914B2 (en) | 2017-01-17 | 2020-01-28 | Cisco Technology, Inc. | Distributed object storage |
US10552191B2 (en) | 2017-01-26 | 2020-02-04 | Cisco Technology, Inc. | Distributed hybrid cloud orchestration model |
US10320683B2 (en) | 2017-01-30 | 2019-06-11 | Cisco Technology, Inc. | Reliable load-balancer using segment routing and real-time application monitoring |
US10917351B2 (en) | 2017-01-30 | 2021-02-09 | Cisco Technology, Inc. | Reliable load-balancer using segment routing and real-time application monitoring |
US10671571B2 (en) | 2017-01-31 | 2020-06-02 | Cisco Technology, Inc. | Fast network performance in containerized environments for network function virtualization |
US10243823B1 (en) | 2017-02-24 | 2019-03-26 | Cisco Technology, Inc. | Techniques for using frame deep loopback capabilities for extended link diagnostics in fibre channel storage area networks |
US11252067B2 (en) | 2017-02-24 | 2022-02-15 | Cisco Technology, Inc. | Techniques for using frame deep loopback capabilities for extended link diagnostics in fibre channel storage area networks |
US10713203B2 (en) | 2017-02-28 | 2020-07-14 | Cisco Technology, Inc. | Dynamic partition of PCIe disk arrays based on software configuration / policy distribution |
US10254991B2 (en) | 2017-03-06 | 2019-04-09 | Cisco Technology, Inc. | Storage area network based extended I/O metrics computation for deep insight into application performance |
US11005731B2 (en) | 2017-04-05 | 2021-05-11 | Cisco Technology, Inc. | Estimating model parameters for automatic deployment of scalable micro services |
US10439877B2 (en) | 2017-06-26 | 2019-10-08 | Cisco Technology, Inc. | Systems and methods for enabling wide area multicast domain name system |
US10382274B2 (en) | 2017-06-26 | 2019-08-13 | Cisco Technology, Inc. | System and method for wide area zero-configuration network auto configuration |
US10303534B2 (en) | 2017-07-20 | 2019-05-28 | Cisco Technology, Inc. | System and method for self-healing of application centric infrastructure fabric memory |
US11055159B2 (en) | 2017-07-20 | 2021-07-06 | Cisco Technology, Inc. | System and method for self-healing of application centric infrastructure fabric memory |
US11411799B2 (en) | 2017-07-21 | 2022-08-09 | Cisco Technology, Inc. | Scalable statistics and analytics mechanisms in cloud networking |
US11196632B2 (en) | 2017-07-21 | 2021-12-07 | Cisco Technology, Inc. | Container telemetry in data center environments with blade servers and switches |
US10892940B2 (en) | 2017-07-21 | 2021-01-12 | Cisco Technology, Inc. | Scalable statistics and analytics mechanisms in cloud networking |
US10425288B2 (en) | 2017-07-21 | 2019-09-24 | Cisco Technology, Inc. | Container telemetry in data center environments with blade servers and switches |
US11695640B2 (en) | 2017-07-21 | 2023-07-04 | Cisco Technology, Inc. | Container telemetry in data center environments with blade servers and switches |
US11159412B2 (en) | 2017-07-24 | 2021-10-26 | Cisco Technology, Inc. | System and method for providing scalable flow monitoring in a data center fabric |
US11233721B2 (en) | 2017-07-24 | 2022-01-25 | Cisco Technology, Inc. | System and method for providing scalable flow monitoring in a data center fabric |
US10601693B2 (en) | 2017-07-24 | 2020-03-24 | Cisco Technology, Inc. | System and method for providing scalable flow monitoring in a data center fabric |
US10541866B2 (en) | 2017-07-25 | 2020-01-21 | Cisco Technology, Inc. | Detecting and resolving multicast traffic performance issues |
US11102065B2 (en) | 2017-07-25 | 2021-08-24 | Cisco Technology, Inc. | Detecting and resolving multicast traffic performance issues |
US10404596B2 (en) | 2017-10-03 | 2019-09-03 | Cisco Technology, Inc. | Dynamic route profile storage in a hardware trie routing table |
US10999199B2 (en) | 2017-10-03 | 2021-05-04 | Cisco Technology, Inc. | Dynamic route profile storage in a hardware trie routing table |
US11570105B2 (en) | 2017-10-03 | 2023-01-31 | Cisco Technology, Inc. | Dynamic route profile storage in a hardware trie routing table |
US10942666B2 (en) | 2017-10-13 | 2021-03-09 | Cisco Technology, Inc. | Using network device replication in distributed storage clusters |
US10353800B2 (en) | 2017-10-18 | 2019-07-16 | Cisco Technology, Inc. | System and method for graph based monitoring and management of distributed systems |
US10866879B2 (en) | 2017-10-18 | 2020-12-15 | Cisco Technology, Inc. | System and method for graph based monitoring and management of distributed systems |
US11481362B2 (en) | 2017-11-13 | 2022-10-25 | Cisco Technology, Inc. | Using persistent memory to enable restartability of bulk load transactions in cloud databases |
US20190158367A1 (en) * | 2017-11-21 | 2019-05-23 | Hewlett Packard Enterprise Development Lp | Selection of cloud service providers to host applications |
US10705882B2 (en) | 2017-12-21 | 2020-07-07 | Cisco Technology, Inc. | System and method for resource placement across clouds for data intensive workloads |
US11595474B2 (en) | 2017-12-28 | 2023-02-28 | Cisco Technology, Inc. | Accelerating data replication using multicast and non-volatile memory enabled nodes |
US11233737B2 (en) | 2018-04-06 | 2022-01-25 | Cisco Technology, Inc. | Stateless distributed load-balancing |
US10511534B2 (en) | 2018-04-06 | 2019-12-17 | Cisco Technology, Inc. | Stateless distributed load-balancing |
US11252256B2 (en) | 2018-05-29 | 2022-02-15 | Cisco Technology, Inc. | System for association of customer information across subscribers |
US10728361B2 (en) | 2018-05-29 | 2020-07-28 | Cisco Technology, Inc. | System for association of customer information across subscribers |
US10904322B2 (en) | 2018-06-15 | 2021-01-26 | Cisco Technology, Inc. | Systems and methods for scaling down cloud-based servers handling secure connections |
US10764266B2 (en) | 2018-06-19 | 2020-09-01 | Cisco Technology, Inc. | Distributed authentication and authorization for rapid scaling of containerized services |
US11552937B2 (en) | 2018-06-19 | 2023-01-10 | Cisco Technology, Inc. | Distributed authentication and authorization for rapid scaling of containerized services |
US11968198B2 (en) | 2018-06-19 | 2024-04-23 | Cisco Technology, Inc. | Distributed authentication and authorization for rapid scaling of containerized services |
US11019083B2 (en) | 2018-06-20 | 2021-05-25 | Cisco Technology, Inc. | System for coordinating distributed website analysis |
US10819571B2 (en) | 2018-06-29 | 2020-10-27 | Cisco Technology, Inc. | Network traffic optimization using in-situ notification system |
US10904342B2 (en) | 2018-07-30 | 2021-01-26 | Cisco Technology, Inc. | Container networking using communication tunnels |
US10803087B2 (en) * | 2018-10-19 | 2020-10-13 | Oracle International Corporation | Language interoperable runtime adaptable data collections |
CN112764909A (en) * | 2021-01-27 | 2021-05-07 | 联思智云(北京)科技有限公司 | Sharing method and system based on cloud architecture workstation |
US11323325B1 (en) * | 2021-04-26 | 2022-05-03 | At&T Intellectual Property I, L.P. | System and method for remote configuration of scalable datacenter |
US11665060B2 (en) * | 2021-04-26 | 2023-05-30 | At&T Intellectual Property I, L.P. | System and method for remote configuration of scalable datacenter |
US20220345362A1 (en) * | 2021-04-26 | 2022-10-27 | At&T Intellectual Property I, L.P. | System and method for remote configuration of scalable datacenter |
US11714623B2 (en) | 2021-07-07 | 2023-08-01 | Instabase, Inc. | Systems and methods to configure customer-specific deployments of sets of enterprise software applications |
TWI778772B (en) * | 2021-09-01 | 2022-09-21 | 中華電信股份有限公司 | System and method for optimizing network |
US11379223B1 (en) * | 2021-10-14 | 2022-07-05 | Instabase, Inc. | Systems and methods for automatic self-configuration of customer-specific deployment of set of enterprise software applications |
US11573789B1 (en) * | 2021-10-14 | 2023-02-07 | Instabase, Inc. | Systems and methods for automatic self-configuration of customer-specific deployment of set of enterprise software applications |
Also Published As
Publication number | Publication date |
---|---|
US8656023B1 (en) | 2014-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8656023B1 (en) | Optimization scheduler for deploying applications on a cloud | |
US8549066B1 (en) | Service provider interface for deploying and managing applications on a cloud | |
US10298721B2 (en) | Method and system to determine a work distribution model for an application deployed on a cloud | |
US8621069B1 (en) | Provisioning a computing application executing on a cloud to a client device | |
US8739157B2 (en) | System and method for managing cloud deployment configuration of an application | |
US8676939B2 (en) | Dynamic configuration of applications deployed in a cloud | |
US9569240B2 (en) | Method and system to provision and manage a computing application hosted by a virtual instance of a machine | |
US8739175B2 (en) | System and method for rerouting a request between virtualization services | |
EP3465467B1 (en) | Web page accelerations for web application hosted in native mobile application | |
US8332688B1 (en) | Failover and recovery of a computing application hosted by a virtual instance of a machine | |
US9069606B2 (en) | Autonomous application-level auto-scaling in a cloud | |
US8412810B1 (en) | Provisioning and managing a cluster deployed on a cloud | |
US10521447B2 (en) | Container application execution using image metadata | |
US20130073600A1 (en) | Remote process execution management | |
US20150082239A1 (en) | Remote Virtualization of Mobile Apps with Transformed Ad Target Preview | |
US11113244B1 (en) | Integrated data pipeline | |
BR112021009629A2 (en) | method of processing user interface content, system, and non-transient computer readable media | |
US20130073601A1 (en) | Remote process execution management | |
US10110508B2 (en) | Queued workload service in a multi tenant environment | |
US20140067864A1 (en) | File access for applications deployed in a cloud environment | |
US9392047B1 (en) | Facilitating application compatibility across devices | |
US20220374742A1 (en) | Method, device and storage medium for running inference service platform | |
JP6088531B2 (en) | Event service for local client applications through a local server | |
EP3387816B1 (en) | Connecting and retrieving security tokens based on context | |
US20170171307A1 (en) | Method and electronic apparatus for processing picture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ADOBE SYSTEMS INCORPORATED, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HO, RICKY;DONAHUE, JIM;REEL/FRAME:024895/0121 Effective date: 20100826 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: ADOBE INC., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:ADOBE SYSTEMS INCORPORATED;REEL/FRAME:048867/0882 Effective date: 20181008 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |