The field relates generally to information processing systems, and more particularly to techniques for providing security in such systems.
With a rise in cloud native application development, conventional application management systems face challenges in securely distributing application packages to customers or other users. For example, such conventional systems encounter distinct challenges with respect to on-premise user environments, which commonly do not prefer and/or trust connections to a public registry. In such instances, conventional application management systems are required to undertake error-prone and resource-intensive procedures to provide updates to on-premise application deployments.
Illustrative embodiments of the disclosure provide techniques for automated delivery of cloud native application updates using one or more user-connection gateways. An exemplary computer-implemented method includes generating at least one application update package pertaining to at least one cloud native application, and generating at least one manifest file comprising identifying information for the at least one application update package and metadata pertaining to implementing at least a portion of the at least one application update package. The method also includes outputting, to at least one user device via one or more user-connection gateways, a request for automated remote action on at least one application within a user environment associated with the at least one user device, wherein the remote action relates to the at least one application update package. Further, the method includes processing, via the one or more user-connection gateways, a response from the at least one user device approving the request for automated remote action, outputting the at least one manifest file to the user environment associated with the at least one user device, and initiating, in accordance with the at least one manifest file, automated implementation of the at least one application update package to the at least one application within the user environment.
Illustrative embodiments can provide significant advantages relative to conventional application management systems. For example, problems associated with error-prone and resource-intensive procedures to provide updates to application deployments on user environments are overcome in one or more embodiments through secure automated delivery of cloud native application updates using one or more user-connection gateways.
These and other illustrative embodiments described herein include, without limitation, methods, apparatus, systems, and computer program products comprising processor-readable storage media.
Illustrative embodiments will be described herein with reference to exemplary computer networks and associated computers, servers, network devices or other types of processing devices. It is to be appreciated, however, that these and other embodiments are not restricted to use with the particular illustrative network and device configurations shown. Accordingly, the term “computer network” as used herein is intended to be broadly construed, so as to encompass, for example, any system comprising multiple networked processing devices.
The user devices 102 may comprise, for example, mobile telephones, laptop computers, tablet computers, desktop computers or other types of computing devices. Such devices are examples of what are more generally referred to herein as “processing devices.” Some of these processing devices are also generally referred to herein as “computers.”
The user devices 102 in some embodiments comprise respective computers associated with a particular company, organization or other enterprise. In addition, at least portions of the computer network 100 may also be referred to herein as collectively comprising an “enterprise network.” Numerous other operating scenarios involving a wide variety of different types and arrangements of processing devices and networks are possible, as will be appreciated by those skilled in the art.
Also, it is to be appreciated that the term “user” in this context and elsewhere herein is intended to be broadly construed so as to encompass, for example, human, hardware, software or firmware entities, as well as various combinations of such entities.
The network 104 is assumed to comprise a portion of a global computer network such as the Internet, although other types of networks can be part of the computer network 100, including a wide area network (WAN), a local area network (LAN), a satellite network, a telephone or cable network, a cellular network, a wireless network such as a Wi-Fi or WiMAX network, or various portions or combinations of these and other types of networks. The computer network 100 in some embodiments therefore comprises combinations of multiple different types of networks, each comprising processing devices configured to communicate using internet protocol (IP) or other related communication protocols.
Additionally, automated application update delivery system 105 can have an associated application database 106 configured to store data pertaining to cloud native applications, which comprise, for example, versioning and/or update information, as well as application identification information such as software unique identifiers (SWIDs), service tags, serial numbers, install base (IB) information, etc.
The application database 106 in the present embodiment is implemented using one or more storage systems associated with automated application update delivery system 105. Such storage systems can comprise any of a variety of different types of storage including network-attached storage (NAS), storage area networks (SANs), direct-attached storage (DAS) and distributed DAS, as well as combinations of these and other storage types, including software-defined storage.
Also associated with automated application update delivery system 105 are one or more input-output devices, which illustratively comprise keyboards, displays or other types of input-output devices in any combination. Such input-output devices can be used, for example, to support one or more user interfaces to automated application update delivery system 105, as well as to support communication between automated application update delivery system 105 and other related systems and devices not explicitly shown.
Additionally, automated application update delivery system 105 in the
More particularly, automated application update delivery system 105 in this embodiment can comprise a processor coupled to a memory and a network interface.
As also detailed herein, in one or more embodiments, automated application update delivery system can be implemented in connection with and/or resident on an enterprise backend and/or an application development backend (e.g., at least one server linked with applications and one or more databases, etc.).
The processor illustratively comprises a microprocessor, a microcontroller, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other type of processing circuitry, as well as portions or combinations of such circuitry elements.
The memory illustratively comprises random access memory (RAM), read-only memory (ROM) or other types of memory, in any combination. The memory and other memories disclosed herein may be viewed as examples of what are more generally referred to as “processor-readable storage media” storing executable computer program code or other types of software programs.
One or more embodiments include articles of manufacture, such as computer-readable storage media. Examples of an article of manufacture include, without limitation, a storage device such as a storage disk, a storage array or an integrated circuit containing memory, as well as a wide variety of other types of computer program products. The term “article of manufacture” as used herein should be understood to exclude transitory, propagating signals. These and other references to “disks” herein are intended to refer generally to storage devices, including solid-state drives (SSDs), and should therefore not be viewed as limited in any way to spinning magnetic media.
The network interface allows automated application update delivery system 105 to communicate over the network 104 with the user devices 102, and illustratively comprises one or more conventional transceivers.
The automated application update delivery system 105 further comprises a common update platform (CUP) 112, a backend services component 114, a user-connection gateway 116, and a managed file transfer (MFT) component 118.
It is to be appreciated that this particular arrangement of elements 112, 114, 116 and 118 illustrated in automated application update delivery system 105 of the
At least portions of elements 112, 114, 116 and 118 may be implemented at least in part in the form of software that is stored in memory and executed by a processor.
It is to be understood that the particular set of elements shown in
An exemplary process utilizing elements 112, 114, 116 and 118 of an example automated application update delivery system 105 in computer network 100 will be described in more detail with reference to the flow diagram of
Accordingly, at least one embodiment includes automated delivery of cloud native application updates, for example, to on-premise users and/or application deployments, using one or more user-connection gateways. For example, user-connection gateways can include virtual multi-way connections between customers or other users and enterprises and/or application developers. Such a user-connection gateway can be installed by and/or for a user on-premise to establish connectivity of the on-premise user environment with an enterprise backend. In an example embodiment, each application deployed from the backend to an on-premise user environment would include a user-connection gateway, which can be configured to have a direct connection with the backend and/or proxied through one or more additional gateways.
As used herein, an “on-premise” user environment can include, for example, a customer or other user data center which includes one or more computing devices (e.g., servers, switches, power distribution units (PDUs), etc.), an isolated location which provides physical security of the user environment and network security of the computing environment, etc.
One or more embodiments includes utilizing such a secure conduit between an on-premise user environment and an enterprise backend enables multiple capabilities to be automated between the two (or more) entities. For example, the enterprise can obtain and/or collect telemetry data and configuration information from the on-premise user environment, e.g., to identify relevant patches and updates, as well as trends and/or best practices. Additionally, in one or more embodiments, the enterprise can also, for example, initiate automated issue detection and proactive case creation, implement self-service case initiation and management, enable remote technical support, and provide to the user automated access to software and/or application updates. Specifically, at least one embodiment includes generating a software update mechanism using such a user-connection gateway, wherein the software update mechanism includes cloud native application updates delivered automatically and/or continuously to on-premise user environments.
By way merely of illustration, architecture related to one or more user-connection gateways can include an MFT component (also referred to herein as a locker) used by an on-premise user environment to push binary files such as log bundles to attach to a critical event which will result in an automatic service request ticket creation, for example, via a case lifecycle management (CLM) service. The same MFT locker can also be used for pushing a software update from an enterprise backend to an on-premise user environment via a user-connection gateway conduit. Once data is received on such an enterprise backend, at least a portion of the data can be routed to a specific service based on the user-connection gateway protocol.
Additionally or alternatively, at least one embodiment can include implementing a different deployment topology wherein the user elects to have a single interface with the enterprise backend via a user-connection gateway and apply one or more policies offered by the user-connection gateway for data exchange.
In one or more embodiments, each application in a given backend can be identified by a set of unique attributes such as, for example, a SWID, a service tag, a serial number, an IB, etc. Such a backend can be designed, e.g., for multi-tenancy based at least in part on such identifying attributes. Also, in such an embodiment, each customer or other user can be provided a unique access key and one or more credentials to establish connectivity with at least one backend via one or more user-connection gateways.
As further detailed herein, at least one embodiment includes augmenting user-connection infrastructure with respect to a backend to include hosting a container registry (such as, e.g., Harbor registry) and adding pull and push gateways to proxy Docker commands for pulling and pushing container images to the registry. Such an embodiment also includes generating and/or adding a CUP to allow software and/or product teams to define and manage applications. The CUP provides a web portal for software teams to create, update, and/or delete versioned application updates. An application in CUP can be comprised of a manifest file and a binary package.
In one or more embodiments, a CUP manifest file contains a list of packages available for download along with the metadata for each package (e.g., in a JavaScript object notation (JSON) format), such as depicted, for example, in
A CUP manifest file can be updated by a corresponding CUP, for example, anytime anything changes for an assigned package such as when a system updates to a newer version of the product, when a package is assigned to a system through a rollout, when a package is assigned to a system from an external portal, when the metadata change for a package that has already been assigned to a given system, when a package is disabled that is assigned to a given system, etc.
As also illustrated in
The example code snippet 300 illustrates metadata that can be displayed in an update notification to the customer or other user to provide details of at least one available update. Additionally, such outputs can be generated and/or displayed without the customer or other user having to download the actual update package(s).
It is to be appreciated that this particular example code snippet shows just one example implementation of a portion of a common update platform manifest file, and alternative implementations of the process can be used in other embodiments.
In one or more embodiments, a CUP and user-connection gateway integration allows automated and/or continuous delivery of application updates from at least one backend to at least one on-premise user environment (e.g., a product downloaded on a user device on-premise). A user-connection gateway module running within the product can obtain and/or receive a new CUP manifest file as part of a keepalive response and informs the product that a new version of the application is available for download. The user-connection gateway can begin downloading packages in the background to stage the update(s). Additionally, the product notifies the customer or other user via a user interface (UI) that an update is available, and when the customer or other user selects the upgrade (e.g., clicks on a prompt) in the UI, the product initiates a rolling upgrade of the application. At the end of the process, the product notifies the customer or other user via the UI that the upgrade was completed or failed. Also, as used herein, a product can refer to an application.
Referring again to
As also depicted in
With respect to user device 402 (which can include, for example, a Kubernetes platform), an install operator 448 (running, e.g., as part of a given application), obtains a notification from user-connection gateway 416 of a new package and downloads the package via API 450 from MFT component 418. The install operator 448 deploys the package using one or more package native commands. For example, if the package is a Helm chart, then the install operator 448 can implement a command such as “$ helm install -f myvalues.yaml mypackage./package.” If, for example, the package is a YAML file for a Docker Swarm, the install operator 448 can run a Docker command to deploy the application. Additionally, the install operator 448 can configure a container orchestration engine to add the user-connection gateway 416 as the local container registry. In such an embodiment, the user-connection gateway 416 is modified to proxy Docker pull commands, via pull gateway 446, to container registry 444 hosted, for example, by an enterprise and/or application development backend. As a result, the package of native install commands (e.g., Helm install) works efficiently to deploy containers because the package has access to the container registry via user-connection gateway 416. Also, if enough storage is available, user-connection gateway 416 can be configured to cache container images locally to avoid downloading all dependencies for every incremental update of the given application.
It is noted and to be appreciated that with the exception of product(s) 552 and user-connection gateway 516-2, the elements (i.e., application development system 540, push gateway 542, container registry 544, pull gateway 546, CUP 512, MFT component 518, user-connection gateway 516-1, user device 502, install operator 548, and API 550) depicted in
That said, the example embodiment depicted in
It is also to be appreciated that the elements depicted, for example, in
In this embodiment, the process includes steps 700 through 710. These steps are assumed to be performed by the automated application update delivery system 105 utilizing its elements 112, 114, 116 and 118.
Step 700 includes generating at least one application update package pertaining to at least one cloud native application. In at least one embodiment, generating the at least one application update package includes validating each container image related to a cloud native application update by scanning each container image for one or more security vulnerabilities.
As used herein, in accordance with one or more embodiments, an application update package can include binaries of one or more microservices that need to be deployed in a given data center and/or cloud computing environment to provide services, for example, through a web UI or representational state transfer (REST) API to at least one end user. Additionally, an application update package can also include a Helm chart that describes the configuration parameters in a declarative format (e.g., YAML) for at least one specific environment (e.g., a given cloud computing environment). For example, such configuration parameters can include a uniform resource locator (URL) of Docker images to launch a microservice as one or more Docker containers, a persistent volume to be mapped to a given Docker container, one or more configuration files to be mounted inside a given Docker container, a version number and name of a given microservice, etc.
By way merely of example, an illustrative application update package can include a set of Docker images (e.g., OCI images) and one or more Helm charts. For instance, such an example application update package can include a Docker image for a nginx web server and a Helm chart, a Docker image for a database and a Helm chart, a Docker image for another Java, Python, and/or Go-based microservice and a Helm chart, etc.
Step 702 includes generating at least one manifest file comprising identifying information for the at least one application update package and metadata pertaining to implementing at least a portion of the at least one application update package. In one or more embodiments, the metadata associated with the at least one application update package include metadata in a JavaScript object notation format. Additionally or alternatively, the identifying information for the at least one application update package can include one or more of a software unique identifier for each of the at least one cloud native application, a service tag for each of the at least one cloud native application, a serial number for each of the at least one cloud native application, and install base information for each of the at least one cloud native application.
Also, as used herein, in accordance with one or more embodiments, a manifest file includes a file describing a release version of the given application. An example manifest file can include information such as an identifier of the application, the version of the application, the release date of the application, a knowledgebase URL, file size of the application, etc. Also, in at least one embodiment, an update notification presented to the user would include information such as noted above.
Step 704 includes outputting, to at least one user device via one or more user-connection gateways, a request for automated remote action on at least one application within a user environment associated with the at least one user device, wherein the remote action relates to the at least one application update package. In at least one embodiment, the request for remote action includes a keepalive message associated with determining that a connection with the at least one user device is functional. Also, in one or more embodiments, the one or more user-connection gateways include one or more virtual multi-way connections between at least one remote user device and at least one enterprise backend.
Step 706 includes processing, via the one or more user-connection gateways, a response from the at least one user device approving the request for automated remote action. Step 708 includes outputting the at least one manifest file to the user environment associated with the at least one user device. Step 710 includes initiating, in accordance with the at least one manifest file, automated implementation of the at least one application update package to the at least one application within the user environment. In at least one embodiment, initiating automated implementation of the at least one application update package includes initiating automated implementation of one or more of at least one artificial intelligence-machine learning model, at least one virtual application, and at least one container application.
The techniques depicted in
Accordingly, the particular processing operations and other functionality described in conjunction with the flow diagram of
The above-described illustrative embodiments provide significant advantages relative to conventional approaches. For example, some embodiments are configured to provide automated delivery of cloud native application updates using one or more user-connection gateways. These and other embodiments can effectively overcome problems associated with error-prone and resource-intensive procedures to provide updates to application deployments on user environments.
It is to be appreciated that the particular advantages described above and elsewhere herein are associated with particular illustrative embodiments and need not be present in other embodiments. Also, the particular types of information processing system features and functionality as illustrated in the drawings and described above are exemplary only, and numerous other arrangements may be used in other embodiments.
As mentioned previously, at least portions of the information processing system 100 can be implemented using one or more processing platforms. A given such processing platform comprises at least one processing device comprising a processor coupled to a memory. The processor and memory in some embodiments comprise respective processor and memory elements of a virtual machine or container provided using one or more underlying physical machines. The term “processing device” as used herein is intended to be broadly construed so as to encompass a wide variety of different arrangements of physical processors, memories and other device components as well as virtual instances of such components. For example, a “processing device” in some embodiments can comprise or be executed across one or more virtual processors. Processing devices can therefore be physical or virtual and can be executed across one or more physical or virtual processors. It should also be noted that a given virtual device can be mapped to a portion of a physical one.
Some illustrative embodiments of a processing platform used to implement at least a portion of an information processing system comprises cloud infrastructure including virtual machines implemented using a hypervisor that runs on physical infrastructure. The cloud infrastructure further comprises sets of applications running on respective ones of the virtual machines under the control of the hypervisor. It is also possible to use multiple hypervisors each providing a set of virtual machines using at least one underlying physical machine. Different sets of virtual machines provided by one or more hypervisors may be utilized in configuring multiple instances of various components of the system.
These and other types of cloud infrastructure can be used to provide what is also referred to herein as a multi-tenant environment. One or more system components, or portions thereof, are illustratively implemented for use by tenants of such a multi-tenant environment.
As mentioned previously, cloud infrastructure as disclosed herein can include cloud-based systems. Virtual machines provided in such systems can be used to implement at least portions of a computer system in illustrative embodiments.
In some embodiments, the cloud infrastructure additionally or alternatively comprises a plurality of containers implemented using container host devices. For example, as detailed herein, a given container of cloud infrastructure illustratively comprises a Docker container or other type of Linux Container (LXC). The containers are run on virtual machines in a multi-tenant environment, although other arrangements are possible. The containers are utilized to implement a variety of different types of functionality within the system 100. For example, containers can be used to implement respective processing devices providing compute and/or storage services of a cloud-based system. Again, containers may be used in combination with other virtualization infrastructure such as virtual machines implemented using a hypervisor.
Illustrative embodiments of processing platforms will now be described in greater detail with reference to
The cloud infrastructure 800 further comprises sets of applications 810-1, 810-2, . . . 810-L running on respective ones of the VMs/container sets 802-1, 802-2, . . . 802-L under the control of the virtualization infrastructure 804. The VMs/container sets 802 comprise respective VMs, respective sets of one or more containers, or respective sets of one or more containers running in VMs. In some implementations of the
A hypervisor platform may be used to implement a hypervisor within the virtualization infrastructure 804, wherein the hypervisor platform has an associated virtual infrastructure management system. The underlying physical machines comprise one or more distributed processing platforms that include one or more storage systems.
In other implementations of the
As is apparent from the above, one or more of the processing modules or other components of system 100 may each run on a computer, server, storage device or other processing platform element. A given such element is viewed as an example of what is more generally referred to herein as a “processing device.” The cloud infrastructure 800 shown in
The processing platform 900 in this embodiment comprises a portion of system 100 and includes a plurality of processing devices, denoted 902-1, 902-2, 902-3, . . . 902-K, which communicate with one another over a network 904.
The network 904 comprises any type of network, including by way of example a global computer network such as the Internet, a WAN, a LAN, a satellite network, a telephone or cable network, a cellular network, a wireless network such as a Wi-Fi or WiMAX network, or various portions or combinations of these and other types of networks.
The processing device 902-1 in the processing platform 900 comprises a processor 910 coupled to a memory 912.
The processor 910 comprises a microprocessor, a microcontroller, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other type of processing circuitry, as well as portions or combinations of such circuitry elements.
The memory 912 comprises random access memory (RAM), read-only memory (ROM) or other types of memory, in any combination. The memory 912 and other memories disclosed herein should be viewed as illustrative examples of what are more generally referred to as “processor-readable storage media” storing executable program code of one or more software programs.
Articles of manufacture comprising such processor-readable storage media are considered illustrative embodiments. A given such article of manufacture comprises, for example, a storage array, a storage disk or an integrated circuit containing RAM, ROM or other electronic memory, or any of a wide variety of other types of computer program products. The term “article of manufacture” as used herein should be understood to exclude transitory, propagating signals. Numerous other types of computer program products comprising processor-readable storage media can be used.
Also included in the processing device 902-1 is network interface circuitry 914, which is used to interface the processing device with the network 904 and other system components, and may comprise conventional transceivers.
The other processing devices 902 of the processing platform 900 are assumed to be configured in a manner similar to that shown for processing device 902-1 in the figure.
Again, the particular processing platform 900 shown in the figure is presented by way of example only, and system 100 may include additional or alternative processing platforms, as well as numerous distinct processing platforms in any combination, with each such platform comprising one or more computers, servers, storage devices or other processing devices.
For example, other processing platforms used to implement illustrative embodiments can comprise different types of virtualization infrastructure, in place of or in addition to virtualization infrastructure comprising virtual machines. Such virtualization infrastructure illustratively includes container-based virtualization infrastructure configured to provide Docker containers or other types of LXCs.
As another example, portions of a given processing platform in some embodiments can comprise converged infrastructure.
It should therefore be understood that in other embodiments different arrangements of additional or alternative elements may be used. At least a subset of these elements may be collectively implemented on a common processing platform, or each such element may be implemented on a separate processing platform.
Also, numerous other arrangements of computers, servers, storage products or devices, or other components are possible in the information processing system 100. Such components can communicate with other elements of the information processing system 100 over any type of network or other communication media.
For example, particular types of storage products that can be used in implementing a given storage system of a distributed processing system in an illustrative embodiment include all-flash and hybrid flash storage arrays, scale-out all-flash storage arrays, scale-out NAS clusters, or other types of storage arrays. Combinations of multiple ones of these and other storage products can also be used in implementing a given storage system in an illustrative embodiment.
It should again be emphasized that the above-described embodiments are presented for purposes of illustration only. Many variations and other alternative embodiments may be used. Also, the particular configurations of system and device elements and associated processing operations illustratively shown in the drawings can be varied in other embodiments. Thus, for example, the particular types of processing devices, modules, systems and resources deployed in a given embodiment and their respective configurations may be varied. Moreover, the various assumptions made above in the course of describing the illustrative embodiments should also be viewed as exemplary rather than as requirements or limitations of the disclosure. Numerous other alternative embodiments within the scope of the appended claims will be readily apparent to those skilled in the art.
Number | Name | Date | Kind |
---|---|---|---|
8639921 | Sorenson, III | Jan 2014 | B1 |
8639989 | Sorenson, III | Jan 2014 | B1 |
9036509 | Addepalli | May 2015 | B1 |
9325791 | Blahaerath | Apr 2016 | B1 |
9590872 | Jagtap | Mar 2017 | B1 |
9604651 | Amireddy | Mar 2017 | B1 |
9612815 | Jagtap | Apr 2017 | B1 |
9626176 | Thomas | Apr 2017 | B2 |
9635132 | Lin | Apr 2017 | B1 |
9665359 | Thomas | May 2017 | B2 |
9680967 | Kim | Jun 2017 | B2 |
9754303 | Jagtap | Sep 2017 | B1 |
9781122 | Wilson | Oct 2017 | B1 |
9830142 | Thomas | Nov 2017 | B2 |
9891907 | Searle | Feb 2018 | B2 |
9922322 | Flurscheim | Mar 2018 | B2 |
9972005 | Wong | May 2018 | B2 |
10026064 | Thomas | Jul 2018 | B2 |
10049353 | Lopez | Aug 2018 | B2 |
10057243 | Kumar | Aug 2018 | B1 |
10250438 | Asenjo | Apr 2019 | B2 |
10419540 | Arora | Sep 2019 | B2 |
10452375 | Nightingale | Oct 2019 | B1 |
10470059 | Annambhotla | Nov 2019 | B1 |
10484334 | Lee | Nov 2019 | B1 |
10503493 | Narayanan | Dec 2019 | B2 |
10606576 | Tung | Mar 2020 | B1 |
10635643 | Muthuswamy | Apr 2020 | B2 |
10705823 | Pitre | Jul 2020 | B2 |
10831452 | Hunter | Nov 2020 | B1 |
10841152 | Humphreys | Nov 2020 | B1 |
10855619 | Andrews | Dec 2020 | B1 |
10887672 | Wu | Jan 2021 | B1 |
10922284 | Venkatasubramanian | Feb 2021 | B1 |
10924275 | Kumar | Feb 2021 | B1 |
10938954 | Lee et al. | Mar 2021 | B2 |
10938957 | Rajagopalan | Mar 2021 | B1 |
10963565 | Xu | Mar 2021 | B1 |
10990369 | Natanzon | Apr 2021 | B2 |
11003630 | Demaris | May 2021 | B2 |
11082361 | Laplanche | Aug 2021 | B2 |
11119754 | Sun | Sep 2021 | B1 |
11190589 | Ron | Nov 2021 | B1 |
11196785 | Cenzano Ferret | Dec 2021 | B2 |
11218421 | Khan | Jan 2022 | B1 |
11316794 | Savguira | Apr 2022 | B1 |
11327992 | Batsakis | May 2022 | B1 |
11372634 | Gabrielson | Jun 2022 | B1 |
11409709 | Capello | Aug 2022 | B1 |
11418851 | Gerstl | Aug 2022 | B1 |
11431497 | Liguori | Aug 2022 | B1 |
11435810 | Krishnakumar | Sep 2022 | B1 |
11487513 | Hanson | Nov 2022 | B1 |
11522812 | Thoppai | Dec 2022 | B1 |
11544046 | Zhang | Jan 2023 | B1 |
11550903 | Epstein | Jan 2023 | B1 |
11573816 | Featonby | Feb 2023 | B1 |
11593477 | Thimmegowda | Feb 2023 | B1 |
11640374 | Shaw | May 2023 | B2 |
11662928 | Kumar | May 2023 | B1 |
11665645 | Krishnakumar | May 2023 | B2 |
11789728 | Dasa | Oct 2023 | B2 |
20030055985 | Corb | Mar 2003 | A1 |
20100061250 | Nugent | Mar 2010 | A1 |
20110145272 | Grzybowski | Jun 2011 | A1 |
20110145591 | Grzybowski | Jun 2011 | A1 |
20110145817 | Grzybowski | Jun 2011 | A1 |
20120110173 | Luna | May 2012 | A1 |
20120159468 | Joshi | Jun 2012 | A1 |
20120266156 | Spivak | Oct 2012 | A1 |
20120266168 | Spivak | Oct 2012 | A1 |
20120297190 | Shen | Nov 2012 | A1 |
20130007183 | Sorenson, III | Jan 2013 | A1 |
20130007854 | Sorenson, III | Jan 2013 | A1 |
20130054863 | Imes | Feb 2013 | A1 |
20130097687 | Storm | Apr 2013 | A1 |
20130144879 | Kuehnel | Jun 2013 | A1 |
20130227089 | McLeod | Aug 2013 | A1 |
20130275623 | Stoilov | Oct 2013 | A1 |
20130283254 | Ocher | Oct 2013 | A1 |
20130305039 | Gauda | Nov 2013 | A1 |
20130347094 | Bettini | Dec 2013 | A1 |
20140025424 | Juillard | Jan 2014 | A1 |
20140033188 | Beavers | Jan 2014 | A1 |
20140052330 | Mitchell | Feb 2014 | A1 |
20140075035 | Revanuru | Mar 2014 | A1 |
20140075426 | West | Mar 2014 | A1 |
20140075427 | Pallamreddy | Mar 2014 | A1 |
20140075520 | Subramanian | Mar 2014 | A1 |
20140146055 | Bala | May 2014 | A1 |
20140149492 | Ananthanarayanan | May 2014 | A1 |
20140149494 | Markley | May 2014 | A1 |
20140149591 | Bhattacharya | May 2014 | A1 |
20140149983 | Bonilla | May 2014 | A1 |
20140195653 | Alexander | Jul 2014 | A1 |
20140208314 | Jeswani | Jul 2014 | A1 |
20140245423 | Lee | Aug 2014 | A1 |
20140274408 | Dave | Sep 2014 | A1 |
20140351871 | Bomfim | Nov 2014 | A1 |
20150007094 | LaTurner | Jan 2015 | A1 |
20150033305 | Shear | Jan 2015 | A1 |
20150039556 | Mackenzie | Feb 2015 | A1 |
20150058435 | Chumbley | Feb 2015 | A1 |
20150088934 | Beckman | Mar 2015 | A1 |
20150089673 | Beckman | Mar 2015 | A1 |
20150235042 | Salehpour | Aug 2015 | A1 |
20150242198 | Tobolski | Aug 2015 | A1 |
20150242237 | Spivak | Aug 2015 | A1 |
20150276208 | Maturana | Oct 2015 | A1 |
20150277399 | Maturana | Oct 2015 | A1 |
20150277404 | Maturana | Oct 2015 | A1 |
20150278354 | Morrey | Oct 2015 | A1 |
20150281233 | Asenjo | Oct 2015 | A1 |
20150281319 | Maturana | Oct 2015 | A1 |
20150355895 | Giammaria | Dec 2015 | A1 |
20150373149 | Lyons | Dec 2015 | A1 |
20150381662 | Nair | Dec 2015 | A1 |
20160021197 | Pogrebinsky | Jan 2016 | A1 |
20160077869 | Grueneberg | Mar 2016 | A1 |
20160094427 | Talat | Mar 2016 | A1 |
20160098262 | Spivak | Apr 2016 | A1 |
20160098263 | Spivak | Apr 2016 | A1 |
20160117160 | Parthasarathy | Apr 2016 | A1 |
20160117161 | Parthasarathy | Apr 2016 | A1 |
20160117162 | Searle | Apr 2016 | A1 |
20160191509 | Bestler | Jun 2016 | A1 |
20160196131 | Searle | Jul 2016 | A1 |
20160196132 | Searle | Jul 2016 | A1 |
20160212122 | Carroll | Jul 2016 | A1 |
20160219043 | Blanke | Jul 2016 | A1 |
20160238272 | Imes | Aug 2016 | A1 |
20160285904 | Ye | Sep 2016 | A1 |
20160291940 | Searle | Oct 2016 | A1 |
20160291959 | Searle | Oct 2016 | A1 |
20160294605 | Searle | Oct 2016 | A1 |
20160294614 | Searle | Oct 2016 | A1 |
20160321455 | Deng | Nov 2016 | A1 |
20170041296 | Ford | Feb 2017 | A1 |
20170046146 | Jamjoom | Feb 2017 | A1 |
20170054760 | Barton | Feb 2017 | A1 |
20170090912 | Fuglsang | Mar 2017 | A1 |
20170124340 | Chiu | May 2017 | A1 |
20170156149 | Lin | Jun 2017 | A1 |
20170208053 | Sanghamitra | Jul 2017 | A1 |
20170244754 | Kinder | Aug 2017 | A1 |
20170244762 | Kinder | Aug 2017 | A1 |
20170245280 | Yi | Aug 2017 | A1 |
20170249132 | Andrews | Aug 2017 | A1 |
20170331791 | Wardell | Nov 2017 | A1 |
20170331802 | Keshava | Nov 2017 | A1 |
20170331812 | Lander | Nov 2017 | A1 |
20170331813 | Lander | Nov 2017 | A1 |
20170331829 | Lander | Nov 2017 | A1 |
20170331832 | Lander | Nov 2017 | A1 |
20170364345 | Fontoura | Dec 2017 | A1 |
20170364686 | Stafford | Dec 2017 | A1 |
20180006913 | Asenjo | Jan 2018 | A1 |
20180007069 | Hunt | Jan 2018 | A1 |
20180034789 | Gaydos | Feb 2018 | A1 |
20180039494 | Lander | Feb 2018 | A1 |
20180039501 | Jain | Feb 2018 | A1 |
20180041491 | Gupta | Feb 2018 | A1 |
20180041515 | Gupta | Feb 2018 | A1 |
20180063143 | Wilson | Mar 2018 | A1 |
20180063594 | Alexander | Mar 2018 | A1 |
20180075231 | Subramanian | Mar 2018 | A1 |
20180077138 | Bansal | Mar 2018 | A1 |
20180077144 | Gangawane | Mar 2018 | A1 |
20180077219 | Tan | Mar 2018 | A1 |
20180081983 | Carru | Mar 2018 | A1 |
20180083826 | Wilson | Mar 2018 | A1 |
20180083915 | Medam | Mar 2018 | A1 |
20180083944 | Vats | Mar 2018 | A1 |
20180083967 | Subramanian | Mar 2018 | A1 |
20180083980 | Bond | Mar 2018 | A1 |
20180089224 | Muthuswamy | Mar 2018 | A1 |
20180114025 | Cui | Apr 2018 | A1 |
20180130240 | Mall | May 2018 | A1 |
20180137299 | Porter | May 2018 | A1 |
20180167490 | Morton | Jun 2018 | A1 |
20180181761 | Sinha | Jun 2018 | A1 |
20180232223 | Madrid | Aug 2018 | A1 |
20180248915 | Beckman | Aug 2018 | A1 |
20180262388 | Johnson | Sep 2018 | A1 |
20180307502 | Crasta | Oct 2018 | A1 |
20180321934 | Chaganti | Nov 2018 | A1 |
20180337914 | Mohamad Abdul | Nov 2018 | A1 |
20180367314 | Egner | Dec 2018 | A1 |
20180373434 | Switzer | Dec 2018 | A1 |
20190007354 | Bulut | Jan 2019 | A1 |
20190018394 | Sayyarrodsari | Jan 2019 | A1 |
20190042228 | Nolan | Feb 2019 | A1 |
20190044914 | Kleiner | Feb 2019 | A1 |
20190050217 | Tatourian | Feb 2019 | A1 |
20190050414 | Maturana | Feb 2019 | A1 |
20190052551 | Barczynski | Feb 2019 | A1 |
20190057218 | Bhaskara | Feb 2019 | A1 |
20190058718 | Pangeni | Feb 2019 | A1 |
20190064787 | Maturana | Feb 2019 | A1 |
20190089809 | Theebaprakasam | Mar 2019 | A1 |
20190095516 | Srinivasan | Mar 2019 | A1 |
20190102162 | Pitre | Apr 2019 | A1 |
20190102797 | Yang | Apr 2019 | A1 |
20190107830 | Duraisingh | Apr 2019 | A1 |
20190107831 | Duraisingh | Apr 2019 | A1 |
20190107832 | Strand | Apr 2019 | A1 |
20190108013 | Duraisingh | Apr 2019 | A1 |
20190109725 | Duraisingh | Apr 2019 | A1 |
20190109907 | Duraisingh | Apr 2019 | A1 |
20190124144 | Isci | Apr 2019 | A1 |
20190125361 | Shelton, IV | May 2019 | A1 |
20190125454 | Stokes | May 2019 | A1 |
20190125455 | Shelton, IV | May 2019 | A1 |
20190125456 | Shelton, IV | May 2019 | A1 |
20190125457 | Parihar | May 2019 | A1 |
20190125458 | Shelton, IV | May 2019 | A1 |
20190125459 | Shelton, IV | May 2019 | A1 |
20190156028 | Hay | May 2019 | A1 |
20190163912 | Kumar | May 2019 | A1 |
20190171438 | Franchitti | Jun 2019 | A1 |
20190188107 | Alston | Jun 2019 | A1 |
20190197786 | Molyneaux | Jun 2019 | A1 |
20190200977 | Shelton, IV | Jul 2019 | A1 |
20190201136 | Shelton, IV | Jul 2019 | A1 |
20190205317 | Tobias | Jul 2019 | A1 |
20190206562 | Shelton, IV | Jul 2019 | A1 |
20190206565 | Shelton, IV | Jul 2019 | A1 |
20190207866 | Pathak | Jul 2019 | A1 |
20190213104 | Qadri | Jul 2019 | A1 |
20190230130 | Beckman | Jul 2019 | A1 |
20190236282 | Hulick, Jr. | Aug 2019 | A1 |
20190238598 | Mohamad Abdul | Aug 2019 | A1 |
20190258782 | Lerner | Aug 2019 | A1 |
20190265843 | Zhao | Aug 2019 | A1 |
20190268420 | Acharya | Aug 2019 | A1 |
20190306010 | Medam | Oct 2019 | A1 |
20190306138 | Carru | Oct 2019 | A1 |
20190312857 | Lander | Oct 2019 | A1 |
20190319785 | Kumar | Oct 2019 | A1 |
20190349213 | Shive | Nov 2019 | A1 |
20190356693 | Cahana | Nov 2019 | A1 |
20190361411 | Park | Nov 2019 | A1 |
20190361412 | Park | Nov 2019 | A1 |
20190394204 | Bansal | Dec 2019 | A1 |
20200007530 | Mohamad Abdul | Jan 2020 | A1 |
20200019471 | Natanzon | Jan 2020 | A1 |
20200024047 | McNannay | Jan 2020 | A1 |
20200074084 | Dorrans | Mar 2020 | A1 |
20200082094 | Mcallister | Mar 2020 | A1 |
20200082095 | Mcallister | Mar 2020 | A1 |
20200097662 | Hufsmith | Mar 2020 | A1 |
20200125858 | Bauer | Apr 2020 | A1 |
20200177591 | Pogrebinsky | Jun 2020 | A1 |
20200177652 | Halepovic | Jun 2020 | A1 |
20200195525 | Fitzer | Jun 2020 | A1 |
20200203021 | Torrance | Jun 2020 | A1 |
20200213357 | Levin | Jul 2020 | A1 |
20200222010 | Howard | Jul 2020 | A1 |
20200250664 | Kumar | Aug 2020 | A1 |
20200257514 | Gadgil | Aug 2020 | A1 |
20200257518 | Liedtke | Aug 2020 | A1 |
20200257700 | Xu | Aug 2020 | A1 |
20200264860 | Srinivasan | Aug 2020 | A1 |
20200265062 | Srinivasan | Aug 2020 | A1 |
20200265168 | Acun | Aug 2020 | A1 |
20200274900 | Vaishnavi | Aug 2020 | A1 |
20200280568 | Bratspiess | Sep 2020 | A1 |
20200285457 | Meriac | Sep 2020 | A1 |
20200285461 | Kumar | Sep 2020 | A1 |
20200287793 | Buck | Sep 2020 | A1 |
20200319873 | Kaartinen | Oct 2020 | A1 |
20200326931 | Nadgowda | Oct 2020 | A1 |
20200327371 | Sharma | Oct 2020 | A1 |
20200334027 | Kalaskar | Oct 2020 | A1 |
20200364953 | Simoudis | Nov 2020 | A1 |
20200366655 | Sun | Nov 2020 | A1 |
20200371782 | Baierlein | Nov 2020 | A1 |
20200372718 | Molyneaux | Nov 2020 | A1 |
20200374121 | Momchilov | Nov 2020 | A1 |
20200374136 | Momchilov | Nov 2020 | A1 |
20200374225 | Momchilov | Nov 2020 | A1 |
20200374284 | Suresh | Nov 2020 | A1 |
20200374351 | Momchilov | Nov 2020 | A1 |
20200379744 | Bhupati | Dec 2020 | A1 |
20200379746 | Shivashankara | Dec 2020 | A1 |
20200382365 | Verma | Dec 2020 | A1 |
20200387357 | Mathon | Dec 2020 | A1 |
20200405204 | Howard | Dec 2020 | A1 |
20200410106 | Nadgowda | Dec 2020 | A1 |
20200410766 | Swaminathan | Dec 2020 | A1 |
20210020012 | Shakedd | Jan 2021 | A1 |
20210021609 | Smith | Jan 2021 | A1 |
20210027608 | Shakedd | Jan 2021 | A1 |
20210064347 | Junior et al. | Mar 2021 | A1 |
20210073282 | Hunter | Mar 2021 | A1 |
20210081188 | Rajagopalan | Mar 2021 | A1 |
20210081252 | Bhargava | Mar 2021 | A1 |
20210084031 | Lao | Mar 2021 | A1 |
20210089662 | Muniswamy-Reddy | Mar 2021 | A1 |
20210089685 | Cheruvu | Mar 2021 | A1 |
20210117251 | Cristofi | Apr 2021 | A1 |
20210117859 | Rogers | Apr 2021 | A1 |
20210133318 | Andrews | May 2021 | A1 |
20210133329 | Andrews | May 2021 | A1 |
20210133607 | Stubbs | May 2021 | A1 |
20210136002 | Chandran | May 2021 | A1 |
20210136082 | Andrews | May 2021 | A1 |
20210138249 | Howard | May 2021 | A1 |
20210160231 | Kumar | May 2021 | A1 |
20210174952 | Leong | Jun 2021 | A1 |
20210176210 | Chan | Jun 2021 | A1 |
20210192867 | Fang | Jun 2021 | A1 |
20210226987 | Summers | Jul 2021 | A1 |
20210232439 | Fong | Jul 2021 | A1 |
20210256833 | Daoura | Aug 2021 | A1 |
20210303164 | Grunwald | Sep 2021 | A1 |
20210334082 | Su | Oct 2021 | A1 |
20210349706 | Spivak | Nov 2021 | A1 |
20210351948 | Lewis | Nov 2021 | A1 |
20210373873 | Styles | Dec 2021 | A1 |
20210389954 | Sommers | Dec 2021 | A1 |
20210397712 | Gajananan | Dec 2021 | A1 |
20220019453 | Okada | Jan 2022 | A1 |
20220027483 | Hetzler | Jan 2022 | A1 |
20220036206 | Vacchi | Feb 2022 | A1 |
20220040534 | Imes | Feb 2022 | A1 |
20220075782 | Hines | Mar 2022 | A1 |
20220075825 | Helms | Mar 2022 | A1 |
20220078149 | Hines | Mar 2022 | A1 |
20220078209 | V | Mar 2022 | A1 |
20220078797 | Helms | Mar 2022 | A1 |
20220083251 | Saad | Mar 2022 | A1 |
20220091858 | Chivukula | Mar 2022 | A1 |
20220095079 | Volkerink | Mar 2022 | A1 |
20220104822 | Shelton, IV | Apr 2022 | A1 |
20220131852 | Sharma | Apr 2022 | A1 |
20220165146 | Daoura | May 2022 | A1 |
20220188172 | Gupta | Jun 2022 | A1 |
20220197620 | Vihar | Jun 2022 | A1 |
20220198043 | Kozlowski | Jun 2022 | A1 |
20220200806 | Grobelny | Jun 2022 | A1 |
20220200972 | Potlapally | Jun 2022 | A1 |
20220200989 | Andrews | Jun 2022 | A1 |
20220210518 | Smith | Jun 2022 | A1 |
20220261260 | Momchilov | Aug 2022 | A1 |
20220283805 | Dasa | Sep 2022 | A1 |
20220291946 | Taylor | Sep 2022 | A1 |
20220294766 | Agarwal | Sep 2022 | A1 |
20220303271 | Elsherif | Sep 2022 | A1 |
20220308650 | Krishnakumar | Sep 2022 | A1 |
20220309041 | Whitechapel | Sep 2022 | A1 |
20220312319 | Krishnakumar | Sep 2022 | A1 |
20220312328 | Krishnakumar | Sep 2022 | A1 |
20220312329 | Krishnakumar | Sep 2022 | A1 |
20220326929 | Sharma | Oct 2022 | A1 |
20220326939 | Chen | Oct 2022 | A1 |
20220326941 | Nelson | Oct 2022 | A1 |
20220334725 | Mertes | Oct 2022 | A1 |
20220334929 | Potyraj | Oct 2022 | A1 |
20220342899 | Harwood | Oct 2022 | A1 |
20220358455 | Wappler | Nov 2022 | A1 |
20220365821 | Darji | Nov 2022 | A1 |
20220373983 | Gupta | Nov 2022 | A1 |
20220376946 | Gupta | Nov 2022 | A1 |
20220377132 | Gupta | Nov 2022 | A1 |
20220391124 | Darji | Dec 2022 | A1 |
20220406452 | Shelton, IV | Dec 2022 | A1 |
20220407907 | Cheng | Dec 2022 | A1 |
20220414676 | Power | Dec 2022 | A1 |
20230019729 | Karp | Jan 2023 | A1 |
20230023597 | Shrestha | Jan 2023 | A1 |
20230025735 | Acharya | Jan 2023 | A1 |
20230026540 | Shrestha | Jan 2023 | A1 |
20230027485 | Dasa | Jan 2023 | A1 |
20230041806 | Singh | Feb 2023 | A1 |
20230076669 | Acharya | Mar 2023 | A1 |
20230098227 | Nadeau | Mar 2023 | A1 |
20230146947 | Shelton, IV | May 2023 | A1 |
20230147759 | Steinbrücker | May 2023 | A1 |
20230165642 | Shelton, IV | Jun 2023 | A1 |
20230205510 | Ramalingam | Jun 2023 | A1 |
20230229417 | Qian | Jul 2023 | A1 |
20230315423 | Scheckelhoff | Oct 2023 | A1 |
20230327882 | Jayaraman | Oct 2023 | A1 |
20230336411 | Metkar | Oct 2023 | A1 |
Number | Date | Country |
---|---|---|
110222517 | Sep 2019 | CN |
Entry |
---|
Google Translation of CN-10222517A , pp. 1-9 (Year: 2019). |
Zhang et al.“Cloud Storage Oriented Secure Information Gateway,” 2012 International Conference on Cloud Computing and Service Computing, IEEE Computer Society, pp. 119-123 (Year: 2019). |
Chen et al.“Multi-Version Execution for the Dynamic Updating of Cloud Applications,” 2015 IEEE 39th Annual International Computers, Software & Applications Conference, IEEE Computer Society, pp. 185-190. |
Chen et al “Multi-Version Execution for the Dynamic Updating of Cloud Applications,” 2015 IEEE 39th Annual International Computers, Software and Applications Conference, IEEE Computer Society, pp. 185-190 (Year: 2015). |
Kolluru et al “Cloud Integration-Strategy to Connect Applications to Cloud,” 2013 Annual IEEE India Conference (INDICON), pp. 1-6 (Year: 2013). |
Schwarzkopf et al “Checking Running and Dormant Virtual Machines for the Necessity of Security Updates in Cloud Environments,” 2011 Third IEEE International Conference on Cloud Computing Technology and Science, IEEE Computer Society, pp. 239-246 ( Year: 2011). |
Oliveira et al.“Delivering Software With Agility and Quality in a Cloud Environment,” IBM J. Res & Dev, vol. 60 No 2/3, Paper 10, pp. 1-11 (Year: 2016). |
Balalaie et al.“Microservices Architecture Enables DevOps,” IEEE Softwaer, pp. 42-52, (Year: 2016). |
Number | Date | Country | |
---|---|---|---|
20220326929 A1 | Oct 2022 | US |