RU2616167C2 - Масштабирование экземпляра виртуальной машины - Google Patents

Масштабирование экземпляра виртуальной машины Download PDF

Info

Publication number
RU2616167C2
RU2616167C2 RU2015110044A RU2015110044A RU2616167C2 RU 2616167 C2 RU2616167 C2 RU 2616167C2 RU 2015110044 A RU2015110044 A RU 2015110044A RU 2015110044 A RU2015110044 A RU 2015110044A RU 2616167 C2 RU2616167 C2 RU 2616167C2
Authority
RU
Russia
Prior art keywords
virtual machine
instance
consumer
service
resources
Prior art date
Application number
RU2015110044A
Other languages
English (en)
Other versions
RU2015110044A (ru
Inventor
Майкл Дэвид МАРР
Марцин П. КОВАЛЬСКИ
Original Assignee
Амазон Текнолоджис, Инк.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Амазон Текнолоджис, Инк. filed Critical Амазон Текнолоджис, Инк.
Publication of RU2015110044A publication Critical patent/RU2015110044A/ru
Application granted granted Critical
Publication of RU2616167C2 publication Critical patent/RU2616167C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/04Billing or invoicing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Economics (AREA)
  • Finance (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Stored Programmes (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Изобретение относится к методикам для масштабирования вычислительных ресурсов. Технический результат заключается в том, чтобы позволить экземпляру виртуальной машины наращиваться или сокращаться в размере и функциональных возможностях по требованию или согласно фактическому спросу на ресурсы, которые предоставляет виртуальная машина. Для этого используется служба масштабирования, которая выделяет дополнительные вычислительные ресурсы (например, процессоры, память и т.д.) экземпляра виртуальной машины (или другого вычислительного экземпляра) и/или освобождает вычислительные ресурсы из экземпляра виртуальной машины согласно запросам и/или пороговым величинам. 2 з.п. ф-лы, 7 ил.

Description

УРОВЕНЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ
[0001] Поскольку все больше приложений и услуг становятся доступными через такие сети, как Интернет, все больше поставщиков содержимого, приложений и/или услуг переходят на такие технологии, как облачное вычисление. Облачное вычисление, в целом, является подходом к предоставлению доступа к электронным ресурсам через такие службы, как Веб-службы, при которых аппаратное обеспечение и/или программное обеспечение, используемые для поддержания таких услуг, являются динамически масштабируемыми для удовлетворения потребностей в услугах в любой момент времени. Пользователь или потребитель обычно арендуют, берут в наем или иным образом оплачивают доступ к ресурсам через облако, и таким образом не должны покупать и обслуживать необходимое аппаратное и/или программное обеспечение.
[0002] В данном контексте многие поставщики облачных вычислений используют виртуализацию для разрешения множеству пользователей совместно использовать исходные аппаратные и/или программные ресурсы. Виртуализация может разрешить осуществлять разделение вычислительных серверов, запоминающих устройств или других ресурсов на множество изолированных экземпляров, которые связаны (например, принадлежат) с конкретным пользователем. Поставщик облачных вычислений обычно назначает одну или большее количество виртуальных машин каждому из своих потребителей, и данные виртуальные машины используются для исполнения приложений и/или другой рабочей нагрузки для таких потребителей. Однако может возникать множество проблем и неудобств, когда процессорная нагрузка потребителя начинает превышать функциональные возможности виртуальных машин вследствие увеличения спроса или других причин.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0003] Различные варианты осуществления в соответствии с настоящим раскрытием будут описываться со ссылкой на чертежи, на которых:
[0004] На Фиг. 1 изображен пример расширения экземпляра виртуальной машины посредством выделения дополнительного CPU в соответствии с различными вариантами осуществления;
[0005] На Фиг. 2 изображен пример службы автоматического масштабирования, развернутой поставщиком услуг, в соответствии с различными вариантами осуществления;
[0006] На Фиг. 3A изображен примерный процесс для автоматического масштабирования экземпляра виртуальной машины на машине размещения, в соответствии с различными вариантами осуществления;
[0007] На Фиг. 3B изображен примерный процесс масштабирования экземпляра виртуальной машины в ответ на прием запроса от пользователя в соответствии с различными вариантами осуществления;
[0008] На Фиг. 4 изображен примерный процесс для автоматического масштабирования экземпляра виртуальной машины и выделения дополнительных экземпляров виртуальных машин в соответствии с различными вариантами осуществления;
[0009] На Фиг. 5 изображена логическая компоновка набора общих компонентов примерного вычислительного устройства, которое может быть использовано в соответствии с различными вариантами осуществления; и
[0010] На Фиг. 6 изображен пример окружения для реализации некоторых аспектов в соответствии с различными вариантами осуществления.
ПОДРОБНОЕ ОПИСАНИЕ
[0011] В последующем описании различные варианты осуществления будут изображены в качестве примера, а не в качестве ограничения, на фигурах сопроводительных чертежей. Ссылки на различные варианты осуществления в данном раскрытии не обязательно относятся к одному и тому же варианту осуществления, и такие ссылки означают по меньшей мере один. Хотя обсуждаются конкретные варианты реализации и другие подробности, следует понимать, что это делается только в иллюстративных целях. Специалисту в соответствующей области техники должно быть понятно, что без отступления от объема и сущности заявляемого объекта изобретения могут использоваться другие компоненты и конфигурации.
[0012] Системы и способы в соответствии с различными вариантами осуществления настоящего раскрытия могут преодолевать один или большее количество из известных или других недостатков, возникающих при традиционных подходах к масштабированию вычислительных ресурсов. В частности, различные варианты осуществления обеспечивают подходы для автоматического выделения дополнительных вычислительных ресурсов (например, процессоров, запоминающих устройств, сетевых устройств и т.д.) экземпляру виртуальной машины и/или освобождению вычислительных ресурсов из экземпляра виртуальной машины согласно различным задаваемым пользователем пороговым величинам или запросам пользователя. Фактически это позволяет экземпляру виртуальной машины «наращиваться» или «сокращаться» в размере и функциональных возможностях по требованию или согласно фактическому спросу на ресурсы, которые предоставляет виртуальная машина.
[0013] В соответствии с различными вариантами осуществления один такой подход может быть реализован поставщиком услуг окружения с совместно используемыми вычислительными ресурсами (например, поставщиком вычислений в «облаке»), который размещает (посредством хостинга) приложения и экземпляры виртуальных машин от имени своих потребителей. Приложения и экземпляры виртуальных машин размещаются на физических ресурсах (например, серверах размещения и других сетевых ресурсах), принадлежащих и управляемых поставщиком услуг. В соответствии с одним вариантом осуществления поставщик услуг принимает образ виртуальной машины от потребителя и предоставляет один или большее количество экземпляров виртуальных машин для потребителя по меньшей мере частично на основе образа виртуальной машины. Затем эти экземпляры виртуальных машин могут исполнять различные приложения и/или другие службы потребителя с использованием физических вычислительных ресурсов поставщика услуг.
[0014] В соответствии с одним вариантом осуществления каждый экземпляр виртуальной машины предоставляется на машине размещения (хост-машине) (например, вычислительном устройстве). Каждая машина размещения может размещать один или большее количество экземпляров виртуальных машин. По меньшей мере в одном варианте осуществления машина размещения дополнительно включает гипервизор и слой размещения служб, который предоставляет доступ к управляющим аппаратными устройствами программам (драйверам) машины размещения и предоставляет упомянутым одному или большему количеству экземпляров виртуальных машин возможность осуществления доступа к устройствам напрямую или через виртуализированную абстракцию.
[0015] В соответствии с одним вариантом осуществления после того, как экземпляр виртуальной машины был предоставлен на машине размещения, поставщик услуг может принять от потребителя (например, через интерфейс (API) прикладного программирования) запрос на выделение дополнительных ресурсов экземпляру виртуальной машины или освобождение ресурсов из этого экземпляра. Кроме того, API может разрешить потребителю устанавливать одну или большее количество задаваемых потребителем пороговых величин для экземпляра виртуальной машины, имеющих отношение к различным функциональным метрикам исходных ресурсов, таким как использование CPU. Кроме того, потребителю предоставляется возможность задавать различные функциональные метрики времени выполнения, связанные с их службой или приложением, которые могут относиться к решению о масштабировании экземпляра виртуальной машины. Эти функциональные метрики и пороговые величины могут разрешить потребителю указывать условия, при которых ресурсы, выделяемые экземпляру виртуальной машины, должны быть расширены или сокращены.
[0016] В соответствии с одним вариантом осуществления служба в системе поставщика услуг наблюдает за функциональными метриками в ходе использования экземпляра виртуальной машины. В том же самом или альтернативном варианте осуществления такая служба может принимать функциональные метрики от гостевого агента, используемого в экземпляре виртуальной машины. Следовательно, функциональные метрики могут генерироваться из сервера и/или из экземпляра виртуальной машины. В экземпляре, в котором упомянутая служба обнаруживает, что одна или большее количество метрик превысили пороговую величину, такую как заданная потребителем пороговая величина, в течение предварительно определенного промежутка времени, может инициироваться расширение или сокращение экземпляра виртуальной машины посредством добавления или удаления ресурсов (например, центральных блоков (CPU) обработки, запоминающих устройств, других аппаратных устройств). Например, если упомянутая служба обнаруживает, что экземпляр виртуальной машины функционировал при более чем 90% от функциональных возможностей CPU в течение по меньшей мере 10 секунд за прошедший час, то она может выделить дополнительные функциональные возможности CPU упомянутому экземпляру виртуальной машины (например, назначить дополнительные CPU или ядра CPU, переключиться на более мощный CPU и т.д.). В качестве другого примера, если упомянутая служба обнаруживает, что экземпляр виртуальной машины функционировал при меньше чем 10% от функциональных возможностей CPU в течение установленного периода времени, то она может освободить (например, уменьшить) некоторый объем функциональных возможностей CPU экземпляра виртуальной машины. В некоторых вариантах осуществления масштабирование экземпляра виртуальной машины может выполняться автоматически, не требуя никакого ручного участия со стороны потребителя. В других вариантах осуществления масштабирование экземпляра виртуальной машины может выполняться в ответ на прием запроса на масштабирование экземпляра от пользователя (например, владельца виртуальной машины).
[0017] В соответствии с одним вариантом осуществления расширение экземпляра виртуальной машины может производиться автоматически, пока одиночный экземпляр виртуальной машины еще может в достаточной мере поддерживать рабочую нагрузку потребителя. Как только данный предел достигнут, упомянутая служба может начать автоматически назначать дополнительные экземпляры виртуальных машин для обработки рабочей нагрузки. Кроме того, упомянутая служба может продолжать автоматически расширять или сокращать каждый из дополнительных экземпляров VM для удовлетворения изменяющемуся спросу по описанному ранее принципу. В некоторых вариантах осуществления функциональные метрики и задаваемые пользователем пороговые величины могут, частично, включать требования к избыточности, доступности, продолжительности функционирования или им подобному, чтобы могло происходить «горизонтальное масштабирование» на множество VM, размещенных на различных физических серверах, даже если у одного сервера достаточно ресурсных возможностей для удовлетворения других требований к ресурсам, таких как конкретное количество CPU или RAM.
[0018] В соответствии с различными вариантами осуществления управление расширением (или сокращением) экземпляров VM внутри устройства размещения может выполняться посредством использования основанного на Веб-технологиях графического пользовательского интерфейса (GUI), задаваемых потребителем пороговых величин или полностью автоматических логических решений в замкнутом контуре измерений/действий. Данное автоматическое масштабирование может задействовать несколько моделей тарификации и/или оплаты. Например, с потребителя может взиматься плата за универсальный масштабируемый экземпляр VM, который оплачивается за ГГц⋅час (или другой предварительно определенный период времени) и/или Гбайт в час из RAM, выделяя отдельные ресурсы машины (CPU, RAM, сеть) и взимая плату в дифференциальной форме и т.п.
[0019] В различных вариантах осуществления Веб-службы могут использоваться для разрешения пользователю (например, потребителю) запрашивать масштабирование экземпляров виртуальных машин или устанавливать различные пороговые величины, которые управляют тем, когда данные экземпляры VM будут наращиваться или сокращаться относительно функциональных возможностей ресурсов. Веб-службы могут включать API как Запросов (Query), так и простого протокола (SOAP) доступа к объектам. Следует отметить, однако, что Веб-службы не ограничиваются основанными на SOAP API-вызовами и могут включать любое удаленное исполнение процедур/функций/способов, выполняемое с использованием сети, такой как Интернет.
[0020] В различных вариантах осуществления поставщиком услуг может быть развернута веб-служба, которая предоставляет вычислительные функциональные возможности изменяемого размера (например, дополнительные экземпляры сервера в центре ресурсов). Данные вычислительные функциональные возможности могут использоваться для построения и размещения программных систем потребителя. Поставщик услуг может предоставлять доступ к этим ресурсам с использованием API или веб-инструментов и обслуживающих программ. Пользователи могут таким образом осуществлять доступ к функциональным средствам API, которые открыты поставщиком услуг, для добавления или удаления ресурсов, масштабирования на основе метрик, избыточности, доступности и им подобного.
[0021] На Фиг. 1 изображен пример 100 расширения экземпляра виртуальной машины посредством выделения дополнительного CPU, Виртуальных CPU (VCPU), Физических CPU (PCPU), ядер физического CPU или его составляющих, и в данном документе в целом называемых в качестве «CPU», в соответствии с различными вариантами осуществления. В изображенном варианте осуществления вычислительное устройство 101 размещения включает гипервизор 102, который управляет экземплярами 103 и 104 виртуальных машин. Гипервизор 102 управляет исполнением упомянутых одной или большим количеством гостевых операционных систем и позволяет множеству экземпляров различных операционных систем совместно использовать исходные аппаратные ресурсы. Традиционно, гипервизоры устанавливаются в серверном аппаратном обеспечении, с функцией задействования гостевых операционных систем, причем сами гостевые операционные системы действуют в качестве серверов. В различных вариантах осуществления может присутствовать по меньшей мере два типа гипервизора 102: гипервизор 1-го типа (исполняемый на «голом железе»); и гипервизор 2-ого типа (размещенный). Гипервизор 1-ого типа функционирует напрямую на аппаратных ресурсах и руководит и управляет одной или большим количеством гостевых операционных систем, которые функционируют поверх гипервизора. Гипервизор 2-ого типа исполняется внутри операционной системы и размещает одну или большее количество гостевых операционных систем концептуально на третьем уровне над аппаратными ресурсами. Любой тип гипервизора может быть реализован в соответствии с вариантами осуществления, описанными в данном документе. Гипервизор 102 может размещать некоторое количество доменов (например, виртуальных машин), таких как главный домен (или сервисный слой или слой виртуализации и т.п.) и один или большее количество гостевых доменов. В одном варианте осуществления главный домен (например, Dom-0) является первым созданным доменом и помогает управлять всеми аппаратными устройствами и другими доменами, функционирующими на гипервизоре 102. Например, главный домен может управлять созданием, уничтожением, переходом, сохранением или восстановлением одного или большего количества гостевых доменов (например, Dom-U). В соответствии с различными вариантами осуществления гипервизор 102 управляет доступом к аппаратным ресурсам, таким как CPU, запоминающее устройство ввода/вывода (I/O) и запоминающее устройство гипервизора. В изображенном варианте осуществления гипервизор 102 включает службу 114 автоматического масштабирования, которая выполняет масштабирование экземпляра виртуальной машины посредством выделения или освобождения ресурсов в отношении экземпляра виртуальной машины. Альтернативно, служба масштабирования может находиться в Dom-0 или вовне по отношению к вычислительному устройству размещения, и вычислительное устройство размещения может включать тонкого агента для исполнения команд, принимаемых от внешней службы масштабирования.
[0022] В соответствии с одним вариантом осуществления аппаратные ресурсы вычислительного устройства 101 размещения включают физическое запоминающее устройство 116, один или большее количество центральных блоков (CPU) (107, 108, 109, 110) обработки и любые другие аппаратные ресурсы или устройства 111. Физическое запоминающее устройство 116 может включать любое устройство хранения данных, включающее, без ограничения, твердотельные накопители (SSD), запоминающее устройство (HDD) на магнитных дисках, запоминающее устройство (RAM) с произвольным доступом и т.п. В различных вариантах осуществления другие аппаратные ресурсы 111 могут включать, без ограничения, контроллер (NIC) сетевого интерфейса, блок (GPU) графической обработки, периферийные устройства ввода/вывода (I/O) и т.п.
[0023] В соответствии с одним вариантом осуществления каждый экземпляр (103, 104) виртуальной машины может быть связан по меньшей мере с одним пользователем 112, 113 (например, потребителем поставщика услуг). Каждый экземпляр виртуальной машины может исполнять по меньшей мере одно приложение (105, 106) или другую службу от имени пользователя. В соответствии с изображенным вариантом осуществления экземпляру 103 виртуальной машины назначается набор из одного или большего количества CPU (например, 107 и 108), а экземпляру 104 виртуальной машины назначается другой набор CPU (например, 110). В различных вариантах осуществления CPU могут быть фактическими физическими CPU или, альтернативно, могут быть функциональными возможностями виртуального CPU, которые назначаются виртуальной машине.
[0024] В различных вариантах осуществления пользователям (112, 113) разрешено задавать одно или большее количество значений пороговых величин для различных функциональных метрик, связанных с их виртуальными машинами. Как изображено на фигуре, когда нагрузка обработки в приложении 105, исполняющемся в экземпляре 103 виртуальной машины, превышает такую предварительно определенную пороговую величину, система может выделить дополнительный CPU 109 экземпляру 103 виртуальной машины, чтобы удовлетворить возросший спрос. Схожим образом, когда нагрузка обработки уменьшается, система может уменьшить функциональные возможности CPU, назначенные экземпляру 103 виртуальной машины.
[0025] В альтернативном варианте осуществления масштабирование экземпляра виртуальной машины может быть выполнено после приема запроса от потребителя на увеличение или уменьшение объема ресурсов, выделяемых экземпляру виртуальной машины. Например, потребитель может задействовать API, предоставляемый поставщиком услуг, и запросить у поставщика услуг выделить дополнительные функциональные возможности CPU экземпляру виртуальной машины. В ответ на прием запроса служба 114 масштабирования может выделить дополнительные функциональные возможности CPU виртуальной машине.
[0026] В соответствии с различными вариантами осуществления система может также масштабировать экземпляры (103, 104) виртуальной машины посредством выделения или освобождения запоминающего устройства 116 и/или других аппаратных ресурсов (например, NIC, функциональные возможности GPU и т.д.). Например, если экземпляр 103 виртуальной машины приближается к 90% функциональных возможностей запоминающего устройства, система может выделить дополнительное запоминающее устройство (например, физическое запоминающее устройство, виртуальное запоминающее устройство) экземпляру 103 виртуальной машины.
[0027] В соответствии с одним вариантом осуществления масштабирование экземпляра виртуальной машины может включать изменение ее с одного типа экземпляра виртуальной машины на другой тип экземпляра, причем каждый тип экземпляра связан с предварительно заданным набором ресурсов. Например, после превышения предварительно заданной пороговой величины, упомянутая служба может изменить виртуальную машину, назначенную потребителю, с «малого» типа экземпляра (например, RAM в 1,7 Гбайт и хранилищем в 160 Гбайт) на «средний» тип экземпляра (например, RAM в 3,75 Гбайт и хранилищем в 410 Гбайт). В альтернативном варианте осуществления масштабирование экземпляра виртуальной машины может быть выполнено по гладкому континууму, например, посредством добавления какого-либо произвольного количества CPU, запоминающих устройств или других ресурсных функциональных возможностей в любых произвольных приращениях, например по требованию пользовательского приложения или службы, исполняющейся в виртуальной машине, и в соответствии с заданными метриками и пороговыми величинами.
[0028] На Фиг. 2 изображен пример 200 службы автоматического масштабирования, развернутой поставщиком услуг, в соответствии с различными вариантами осуществления. В изображенном варианте осуществления поставщик 201 услуг обладает и управляет набором вычислительных ресурсов, таких как серверы (219, 220) размещения, которые поставщик услуг предлагает для аренды своим потребителям. В соответствии по меньшей мере с одним вариантом осуществления поставщик 201 услуг создает окружение исполнения совместно используемых ресурсов, в котором каждый пользователь (например, потребитель) связан с одним или большим количеством экземпляров (209, 210, 211, 212) виртуальных машин. Экземпляры виртуальных машин функционируют на вычислительных ресурсах 214 и доступны пользователям на различных устройствах через сеть (например, Интернет). Используемая повсюду в данном раскрытии сеть может быть любой проводной или беспроводной сетью устройств, которые выполнены с возможностью осуществления связи друг с другом, включая, без ограничения, Интернет или другие глобальные сети (WAN), сети сотовой связи, локальные сети (LAN), сети хранения данных (SAN), внутренние сети, внешние сети и т.п. Вычислительные ресурсы, такие как серверы (219, 220) размещения поставщика услуг, могут находиться в любом физическом или логическом группировании ресурсов, таком как центр обработки данных, серверная ферма, точка (POP) присутствия сети (CDN) доставки контента и т.п.
[0029] В соответствии с одним вариантом осуществления поставщик услуг открывает один или большее количество интерфейсов (API) 208 прикладного программирования для разрешения пользователям (например, потребителям) осуществлять доступ и управлять экземплярами (209, 210, 211, 212) виртуальных машин. Например, API 208 могут использоваться пользователями для передачи образа виртуальной машины, который будет использоваться для предоставления одного или большего количества экземпляров виртуальной машины пользователю. Схожим образом в соответствии с различными вариантами осуществления, описанными в данном документе, API 208 могут использоваться для задания одной или большего количества задаваемых пользователем пороговых величин (215, 216, 217, 218) и метрик, к которым относятся пороговые величины. Например, одна пороговая величина может быть связана с функциональными возможностями упомянутых CPU, назначенных экземпляров виртуальной машины, как описано ранее. Другая пороговая величина может быть связана с количеством доступных запоминающих устройств, назначаемых виртуальной машине. Другая пороговая величина может быть средним количеством запросов, обрабатываемых приложением, исполняющимся в экземпляре виртуальной машины, за конкретный промежуток времени. Кроме того, API может использоваться потребителем для передачи запроса на выделение дополнительных ресурсных функциональных возможностей экземпляру(ам) виртуальной машины или освобождение ресурсных функциональных возможностей из экземпляра (экземпляров) виртуальной машины.
[0030] В соответствии с одним вариантом осуществления после того, как пользователь задал пороговые величины (215, 216, 217, 218), служба 213 автоматического наблюдения и масштабирования может наблюдать за метриками исполнения во время выполнения для обнаружения момента, когда метрики превысили заданную пороговую величину. В одном варианте осуществления служба 213 автоматического масштабирования является централизованной службой, которая собирает информацию о времени выполнения от каждого из экземпляров (209, 210, 211, 212) виртуальных машин и принимает решения о выделении или освобождении ресурсов из каждого экземпляра VM. В альтернативном варианте осуществления служба 213 автоматического масштабирования может быть реализована в качестве службы, функционирующей на каждой машине размещения, и быть ответственна за масштабирование экземпляров виртуальных машин на машине размещения.
[0031] В некоторых вариантах осуществления машины размещения включают агент (221, 222) масштабирования. Агент масштабирования может сообщать различные метрики в централизованную внешнюю службу 213 масштабирования, а также принимать команды от центральной службы 213 масштабирования и исполнить их. В соответствии с одним вариантом осуществления некоторые из экземпляров виртуальных машин могут включать гостевого агента 224, который сообщает различные метрики агенту масштабирования (например, метрики указывают на загрузку запоминающего устройства, загрузку CPU и т.д., воспринимаемую внутри виртуальной машины, а также задаваемыми пользователем метриками), который может в свою очередь сообщать метрики в службу 213 автоматического масштабирования. Затем служба 221 масштабирования может принять решения о расширении или сокращении ресурсных функциональных возможностей экземпляра виртуальной машины.
[0032] В соответствии с одним вариантом осуществления, если рабочая нагрузка или спрос на пользовательскую службу достигает некоторого предела, при котором одиночного экземпляра виртуальной машины больше не достаточно для надлежащей обработки нагрузки, служба 213 автоматического масштабирования может начать предоставлять новые экземпляры виртуальных машин пользователю. Кроме того, служба 213 автоматического масштабирования может продолжать управлять расширением и сокращением каждого отдельного экземпляра виртуальной машины посредством добавления и/или удаления вычислительных ресурсов из каждого экземпляра, как описано ранее. В некоторых вариантах осуществления могут быть заданы пороговые величины, которые требуют, чтобы множество экземпляров VM поддерживали рабочую нагрузку, даже если вся нагрузка может быть обработана одиночным экземпляром, например чтобы удовлетворить требованиям по избыточности. В данном случае, служба 213 может одновременно регулировать ресурсы, выделяемые более чем одном экземпляре VM, чтобы удовлетворять устанавливаемой пользователем политике задания размеров.
[0033] В соответствии с одним вариантом осуществления автоматическое масштабирование экземпляров виртуальных машин может обеспечивать некоторое количество различных моделей тарификации, которые могут использоваться для взимания платы с потребителя за использование виртуальных машин. В одном варианте осуществления с потребителя может взиматься льготная плата за пользование автоматически масштабируемым экземпляром виртуальной машины. Например, некоторым потребителям могут понадобиться расширенные функциональные возможности только несколько раз за день или в некоторых случаях. Для таких потребителей, с точки зрения затрат, может быть преимущественным использование службы автоматического масштабирования, которая может автоматически добавлять необходимые функциональные возможности по требованию и сокращать функциональные возможности после того, как спрос спал. Другие потребители могут точно не знать спроса на свои службы заранее, и эффективное использование службы автоматического масштабирования может обеспечить подход, который гарантирует, что пользовательское приложение удовлетворит спрос, без выделения избыточных ресурсных функциональных возможностей приложению до того, пока требования не станут хорошо понятыми. В другом варианте осуществления потребитель может тарифицироваться за использование ресурса в течение заданного периода времени (например, за используемый CPU⋅час, за Гбайт запоминающего устройства в час и т.д.).
[0034] В соответствии с одним вариантом осуществления поставщик 201 услуг может дополнительно использовать службу 223 расположения, которая отвечает за предоставление различных экземпляров (209, 210, 211, 212) виртуальных машин на серверах (219, 220) размещения. Служба расположения может определять, будет ли экземпляр виртуальной машины являться масштабируемой виртуальной машиной. Если служба 223 расположения определяет, что экземпляр виртуальной машины будет масштабируемым, то данная служба может предоставить виртуальную машину на сервере размещения, имеющем избыточные функциональные возможности, для того, чтобы суметь справиться с увеличением ресурсных функциональных возможностей, которые могут потребоваться во времени выполнения или по требованию. Например, если потребитель покупает автоматически масштабируемую виртуальную машину по льготной стоимости, то служба расположения может поместить VM на машину размещения, которая имеет достаточно функциональных возможностей для размещения увеличенной рабочей нагрузки VM. Если виртуальная машина не будет масштабируемой, то служба расположения сможет предоставлять виртуальную машину на машинах размещения с небольшими, неизбыточными или зарезервированными функциональными возможностями.
[0035] В соответствии с одним вариантом осуществления поставщик 201 услуг может дополнительно предоставлять электронную торговую площадку, которая позволяет потребителю покупать (например, выделять) дополнительные ресурсы вычислительного устройства размещения для своей виртуальной машины. Цена дополнительных ресурсов может основываться по меньшей мере частично на спросе и предложении упомянутых одного или большего количества ресурсов на вычислительном устройстве размещения. Например, если имеется большой объем функциональных возможностей CPU, доступных на машине размещения, и ожидается, что спрос останется низким, то цена за назначение дополнительных CPU виртуальной машине на такой машине размещения может быть низкой. Схожим образом, если имеется небольшой объем доступных функциональных возможностей CPU, то цена на дополнительные CPU может быть более высокой. Посредством обеспечения ценового колебания на основе спроса и предложения по такому принципу поставщик услуг сможет оптимизировать использование ресурсов и предоставлять более эффективное распределение рабочей нагрузки по своей сети.
[0036] На Фиг. 3A изображен примерный процесс 300 для автоматического масштабирования экземпляра виртуальной машины на машине размещения, в соответствии с различными вариантами осуществления. Несмотря на то что на данной фигуре функциональные этапы могут изображаться в конкретной последовательности, данные процессы не должны ограничиваться изображенным конкретным порядком или этапами. Специалист в данной области техники поймет, что различные этапы, изображенные на данной или других фигурах, различным образом могут изменяться, перегруппировываться, выполняться параллельно или адаптироваться. Кроме того, следует понимать, что некоторые этапы или последовательности этапов могут быть добавлены к таким процессам или опущены без отступления от объема различных вариантов осуществления. Кроме того, изображения процессов, содержащиеся в данном документе, предназначены для наглядного показа среднему специалисту в области техники идеи последовательности этапов, а не для определения фактических последовательностей исполнения кода, которая различным образом может быть реализована в виде разных последовательностей действий, оптимизирована под производительность или иным образом модифицирована.
[0037] На этапе 302 экземпляр виртуальной машины предоставляется потребителю. Экземпляр виртуальной машины может предоставляться поставщиком услуг в окружении с совместно используемыми вычислительными ресурсами от имени потребителя. В соответствии с одним вариантом осуществления экземпляр виртуальной машины, предоставляемый потребителю, исполняет приложение, которое предоставляет конкретную службу. Например, потребитель может развернуть некоторую службу, использующую несколько виртуальных машин, используя один экземпляр виртуальной машины в качестве сервера базы данных, отдельный экземпляр виртуальной машины, который функционирует в качестве фронтального (например, для логики представления) сервера и третий экземпляр виртуальной машины, который функционирует в качестве сервера вычислений промежуточного программного обеспечения. При предоставлении экземпляра виртуальной машины пользователь может установить задаваемую потребителем пороговую величину для масштабирования упомянутых одной или большего количества виртуальных машин. В одном варианте осуществления потребитель может использовать API, предоставляемый поставщиком услуг, для задания различных значений и пороговых величин для конкретных функциональных метрик. Например, пользователь может установить, что размер экземпляра виртуальной машины должен быть увеличен, если экземпляр функционирует на 60% от функциональных возможностей CPU дольше 1 минуты. В другом варианте осуществления пользователь может быть в состоянии предоставлять наборы пороговых величин независимо от экземпляра виртуальной машины и позже связывать их с данным экземпляром, когда он запускается или иначе, например, в более позднее время, когда он уже функционирует.
[0038] На этапе 303, служба автоматического масштабирования наблюдает за одной или большим количеством функциональных метрик экземпляра виртуальной машины в течение исполнения рабочей нагрузки. Например, процесс агента, находящийся на машине размещения, может непрерывно собирать различную информацию о времени выполнения, такую как использование CPU, количество открытых соединений, количество IP-пакетов, количество запросов и т.п. Собранная информация может быть сообщена в центральную службу, которая может принимать решение о расширении или сокращении каждого экземпляра виртуальной машины согласно заданным потребителем командам. В альтернативном варианте осуществления упомянутая служба может размещаться внутри машины размещения, и необходимость в сообщении собранных метрик отсутствует. В других вариантах осуществления экземпляр виртуальной машины может включать в себя агент, который сообщает заданные пользователем метрики, относящиеся к масштабированию виртуальной машины.
[0039] На этапе 304 упомянутая служба обнаруживает, что упомянутые одна или большее количество метрик превысили заданную потребителем пороговую величину. Например, служба может обнаружить, что использование CPU у экземпляра виртуальной машины превысило пороговую величину использования в течение минимального периода времени, установленного потребителем.
[0040] На этапе 305 упомянутая служба может осуществлять масштабирование экземпляра виртуальной машины для увеличения или уменьшения функциональных возможностей по различным ресурсам. В одном варианте осуществления, если нагрузка по обработке увеличилась, то служба масштабирования выделяет дополнительные вычислительные ресурсы экземпляру виртуальной машины. Например, служба масштабирования может добавить большее количество CPU (или виртуальных блоков функциональных возможностей CPU) экземпляру виртуальной машины. В другом варианте осуществления служба масштабирования может освободить часть ресурсов из экземпляра виртуальной машины и/или переместить часть ресурсов в другие экземпляры виртуальных машин. В некоторых вариантах осуществления определяется часть или поднабор, выбираемые для освобождения, для того, чтобы вернуть метрики обратно в пределы заданных потребителем пороговых величин.
[0041] На Фиг. 3B изображен примерный процесс 310 масштабирования экземпляра виртуальной машины в ответ на прием запроса от пользователя, в соответствии с различными вариантами осуществления. На этапе 311 пользователю на машине размещения предоставляется экземпляр виртуальной машины, как описано ранее. После предоставления экземпляр виртуальной машины может исполнять рабочую нагрузку от имени пользователя. На этапе 312 поставщик услуг принимает запрос на увеличение или уменьшение вычислительных ресурсных функциональных возможностей, выделенных экземпляру виртуальной машины. Например, пользователь может определить, что экземпляру виртуальной машины необходимо больше функциональных возможностей CPU вследствие увеличения рабочей нагрузки. Тогда пользователь может задействовать API для выделения дополнительных CPU экземпляру виртуальной машины. На этапе 313 упомянутая служба масштабирования выделяет дополнительные вычислительные ресурсы экземпляру виртуальной машины или освобождает вычислительные ресурсы из виртуальной машины в ответ на запрос.
[0042] На Фиг. 4 изображен примерный процесс 400 для автоматического масштабирования экземпляра виртуальной машины и выделения дополнительных экземпляров виртуальных машин, в соответствии с различными вариантами осуществления.
[0043] На этапе 401 экземпляр виртуальной машины предоставляется пользователю, как описано ранее. Затем за экземпляром виртуальной машины осуществляется наблюдение в отношении одной или большего количества предварительно заданных функциональных метрик. На этапе 402 упомянутая служба может обнаружить, что одна или большее количество функциональных метрик для экземпляра виртуальной машины пересекли (превысили или упали ниже) некоторую заданную потребителем пороговую величину. На этапе 403 служба масштабирования автоматически масштабирует экземпляр виртуальной машины посредством выделения дополнительных вычислительных ресурсов экземпляру виртуальной машины. Например, служба масштабирования может добавить дополнительные функциональные возможности накопителя или функциональные возможности CPU экземпляра виртуальной машины.
[0044] На этапе 404 служба масштабирования может определить, что экземпляр виртуальной машины не может масштабироваться для надлежащего удовлетворения требованиям упомянутой службы к рабочей нагрузке. Например, она может определить, что экземпляр виртуальной машины расширился до максимального размера, предусмотренного поставщиком услуг. На этапе 405 упомянутая служба масштабирования может начать автоматическое предоставление одного или большего количества дополнительных экземпляров виртуальной машины для обработки рабочей нагрузки. Каждый из дополнительных экземпляров виртуальных машин может также масштабироваться по описанному выше принципу (этап 405).
[0045] На Фиг. 5 изображена логическая компоновка набора общих компонентов примерного вычислительного устройства 500. В данном примере устройство включает процессор 502 для исполнения команд, которые могут храниться в запоминающем устройстве или элементе 504. Как может быть очевидно среднему специалисту в области техники, данное устройство может включать множество типов запоминающих устройств, хранилищ данных или постоянных машиночитаемых носителей хранения информации, таких как первое хранилище данных для команд программы для исполнения процессором 502, отдельное хранилище для образов или данных, сменное запоминающее устройство для совместного использования информации с другими устройствами и т.д. Данное устройство обычно включает некоторый тип элемента 506 отображения, такого как сенсорный экран или жидкокристаллический блок (LCD) отображения, несмотря на то что такие устройства как, переносные медиапроигрыватели могут передавать информацию через другие средства, например, через громкоговорители. Как уже обсуждалось, данное устройство во многих вариантах осуществления включает по меньшей мере один элемент 508 ввода, выполненный с возможностью приема традиционного ввода от пользователя. Данный традиционный ввод может включать, например, кнопку, сенсорную панель, сенсорный экран, колесико, ручку управления, клавиатуру, координатный манипулятор типа «мышь», клавишную панель или любое другое подобное устройство или элемент, посредством которого пользователь может вводить команду в устройство. Однако в некоторых вариантах осуществления такое устройство может не включать кнопки вообще, а может управляться только через сочетание визуальных и звуковых команд, так что пользователь может управлять устройством без необходимости входить в контакт с устройством. В некоторых вариантах осуществления вычислительное устройство 500 с Фиг. 5 может включать один или большее количество элементов 508 с сетевым интерфейсом для осуществления связи через различные сети, такие как Wi-Fi, Bluetooth, RF, системы проводной или беспроводной связи. Данное устройство во многих вариантах осуществления может осуществлять связь с сетью, такой как Интернет, и может осуществлять связь с другими подобными устройствами.
[0046] Варианты осуществления настоящего раскрытия могут быть описаны в виде следующих пунктов:
1. Машинореализуемый способ масштабирования виртуальной машины, причем упомянутый способ включает этапы, на которых:
под управлением одной или большего количества компьютерных систем, конфигурируемых исполняемыми командами,
предоставляют экземпляр виртуальной машины по меньшей мере одному потребителю, причем экземпляр виртуальной машины предоставляют на вычислительном устройстве размещения;
принимают, от потребителя через интерфейс (API) прикладного программирования, заданную потребителем пороговую величину, связанную с экземпляром виртуальной машины;
наблюдают за одной или большим количеством метрик, связанных с экземпляром виртуальной машины, в ходе исполнения экземпляра виртуальной машины; и
регулируют выделение одного или большего количества вычислительных ресурсов экземпляру виртуальной машины по меньшей мере частично на основе упомянутых одной или большего количества метрик и заданной потребителем пороговой величины, при этом вычислительные ресурсы включают по меньшей мере одно из: ресурсов обработки, ресурсов взаимодействия через сеть или ресурсов запоминающего устройства.
2. Способ по пункту 1, в котором способ дополнительно включает этапы, на которых:
определяют, что дополнительные вычислительные ресурсы не могут быть выделены экземпляру виртуальной машины; и
предоставляют второй экземпляр виртуальной машины потребителю в ответ на определение того, что дополнительные вычислительные ресурсы не могут быть выделены экземпляру виртуальной машины.
3. Способ по пункту 1, дополнительно включающий этап, на котором:
обеспечивают взимание со счета, связанного с потребителем, платы за функционирование экземпляра виртуальной машины, причем плата основывается по меньшей мере частично на отрегулированных вычислительных ресурсах, выделенных экземпляру виртуальной машины.
4. Машинореализуемый способ, содержащий этапы, на которых:
под управлением одной или большего количества компьютерных систем, конфигурируемых исполняемыми командами,
обеспечивают, посредством вычислительного устройства размещения, функционирующего в окружении поставщика услуг, предоставление виртуальной машины на вычислительном устройстве размещения;
принимают, от службы масштабирования, функционирующей в окружении поставщика услуг, запрос на регулирование ресурсов, выделяемых виртуальной машине; и
в ответ на прием запроса, регулируют выделение одного или большего количества вычислительных ресурсов виртуальной машине.
5. Машинореализуемый способ по пункту 4, в котором служба масштабирования дополнительно выполняет:
наблюдение за одной или большим количеством метрик, связанных с функционированием виртуальной машины;
обнаружение того, что упомянутые одна или большее количество метрик вышли по меньшей мере за одну заданную пороговую величину; и
передачу запроса на регулирование ресурсов, выделяемых виртуальной машине, в компьютерное устройство размещения в ответ на обнаружение того, что упомянутые одна или большее количество метрик вышли за заданную пороговую величину.
6. Машинореализуемый способ по пункту 4, в котором служба наблюдения, исполняющаяся на вычислительном устройстве размещения, выполнена с возможностью
наблюдения за одной или большим количеством метрик, связанных с виртуальной машиной;
обнаружения того, что упомянутые одна или большее количество метрик вышли за пороговую величину; и
регулирования выделения упомянутых одного или большего количества вычислительных ресурсов в ответ на обнаружение того, что упомянутые одна или большее количество метрик вышли за пороговую величину.
7. Машинореализуемый способ по пункту 4, в котором служба масштабирования дополнительно выполняет:
прием запроса на регулирование ресурсов, выделяемых виртуальной машине, от потребителя через интерфейс (API) прикладного программирования; и
передачу запроса на регулирование ресурсов, выделяемых виртуальной машине, в ответ на прием запроса.
8. Машинореализуемый способ по пункту 4, дополнительно включающий этапы, на которых:
продолжают выделять упомянутые один или большее количество дополнительных ресурсов виртуальной машине, пока не будет достигнут предварительно определенный предел; и
предоставляют одну или большее количество дополнительных виртуальных машин для распределения рабочей нагрузки упомянутой виртуальной машины по одной или большему количеству дополнительных виртуальных машин.
9. Машинореализуемый способ по пункту 4, в котором этап регулирования выделения дополнительно включает этапы, на которых:
определяют, что необходимы одна или большее количество дополнительных виртуальных машин для удовлетворения по меньшей мере одного из: избыточности, доступности или продолжительности функционирования, связанных с по меньшей мере одной службой, предоставляемой виртуальной машиной; и
предоставляют упомянутые одну или большее количество дополнительных виртуальных машин.
10. Машинореализуемый способ по пункту 4, в котором упомянутая виртуальная машина дополнительно включает гостевого агента, который сообщает одну или большее количество метрик, связанных с выполнением рабочей нагрузки.
11. Машинореализуемый способ по пункту 4, дополнительно включающий этап, на котором:
тарифицируют пользователя по меньшей мере частично на основе упомянутых одного или большего количества ресурсов вычислительного устройства размещения, выделяемых виртуальной машине в ответ на запрос от службы масштабирования.
12. Машинореализуемый способ по пункту 4, дополнительно включающий этап, на котором:
предоставляют электронную торговую площадку, которая обеспечивает возможность потребителю получать ресурсы вычислительного устройства размещения, которые будут выделены виртуальной машине за плату, причем плата основывается по меньшей мере частично на спросе и предложении упомянутых одного или большего количества ресурсов.
13. Машинореализуемый способ по пункту 4, дополнительно содержащий этапы, на которых:
принимают, посредством службы расположения, API-запрос на выполнение виртуальной машины масштабируемой;
определяют, посредством службы расположения, что вычислительное устройство размещения включает функциональные возможности для добавления дополнительных ресурсов виртуальной машине; и
предоставляют, посредством службы расположения, виртуальную машину на вычислительном устройстве размещения.
14. Вычислительная система, содержащая:
по меньшей мере один процессор; и
запоминающее устройство, включающее команды, которые, при их исполнении процессором, предписывают вычислительной системе:
принимать запрос к веб-службе, относящийся к регулированию ресурсов, выделяемых виртуальной машине, функционирующей в окружении поставщика услуг, предоставляющем виртуальную машину пользователю; и
в ответ на прием запроса, предписывать серверу, размещающему виртуальную машину, выделять один или большее количество вычислительных ресурсов виртуальной машине.
15. Вычислительная система по пункту 14, в которой запрос к веб-службе содержит один или большее количество вводимых параметров, которые задают вычислительные ресурсы для выделения виртуальной машине.
16. Вычислительная система по п. 14, в которой запрос к веб-службе содержит один или большее количество вводимых параметров, которые задают набор условий, в ответ на которые серверу предписывается регулировать вычислительные ресурсы, выделяемые виртуальной машине.
17. Вычислительная система по пункту 14, в которой запоминающее устройство дополнительно содержит команду, которая при ее исполнения предписывает вычислительной системе:
наблюдать за одой или большим количеством метрик, связанных с функционированием виртуальной машины;
обнаруживать, что упомянутые одна или большее количество метрик вышли по меньшей мере за одну заданную пороговую величину; и
передавать запрос на регулирование ресурсов, выделяемых виртуальной машине, в компьютерное устройство размещения в ответ на обнаружение того, что упомянутые одна или большее количество метрик вышли за заданную пороговую величину.
18. Вычислительное устройство по пункту 14, в котором служба масштабирования дополнительно выполняет:
прием запроса на масштабирование виртуальной машины от потребителя через интерфейс (API) прикладного программирования; и
передачу упомянутой команды на масштабирование виртуальной машины в ответ на прием запроса.
19. Вычислительное устройство по пункту 14, в котором запоминающее устройство дополнительно содержит команды, которые, при их исполнении процессором, предписывают вычислительному устройству:
продолжать выделять упомянутые один или большее количество дополнительных ресурсов виртуальной машине, пока не будет достигнут предварительно определенный предел; и
предоставлять одну или большее количество дополнительных виртуальных машин для распределения рабочей нагрузки виртуальной машины по одной или большему количеству дополнительных виртуальных машин.
20. Вычислительное устройство по пункту 14, в котором запоминающее устройство дополнительно содержит команды, которые, при их исполнении процессором, предписывают вычислительному устройству:
определять, что пользователь выбрал экземпляр виртуальной машины такого типа, который приспособлен для масштабирования посредством выделения вычислительного ресурса в ответ на запрос к веб-службе; и
тарифицировать пользователя, по меньшей мере частично, на основе типа виртуальной машины, выбранной пользователем.
21. Вычислительное устройство по пункту 14, в котором запоминающее устройство дополнительно содержит команды, которые, при их исполнении процессором, предписывают вычислительному устройству:
предоставлять электронную торговую площадку, которая обеспечивает потребителю возможность покупать один или большее количество дополнительных ресурсов вычислительного устройства, по меньшей мере частично, на основе спроса и предложения упомянутого одного или большего количества ресурсов на вычислительном устройстве.
22. Вычислительное устройство по пункту 14, в котором предоставление виртуальной машины пользователю дополнительно включает:
прием, посредством службы расположения, запроса через интерфейс прикладного программирования (API), которым запрашивается выполнение виртуальной машины масштабируемой; и
предоставление, посредством службы расположения, виртуальной машины на вычислительном устройстве размещения.
23. Постоянный машиночитаемый носитель хранения информации, хранящий одну или большее количество последовательностей команд, исполняемых одним или большим количеством процессоров, для выполнения набора этапов, включающих:
обеспечение предоставления виртуальной машины пользователю на вычислительном устройстве размещения, причем виртуальная машина выполнена с возможностью исполнения рабочей нагрузки;
прием команды масштабировать виртуальную машину, причем команда принимается от службы масштабирования в вычислительное устройство размещения, служба масштабирования находится внешним образом по отношению к вычислительному устройству размещения; и
в ответ на прием команды, регулирование выделения одного или большего количества вычислительных ресурсов виртуальной машине, причем упомянутые один или большее количество вычислительных ресурсов являются выделяемыми гипервизором вычислительного устройства размещения.
24. Постоянный машиночитаемый носитель хранения информации по пункту 23, в котором виртуальная машина предоставляется поставщиком услуг вычислительного окружения с совместно используемыми ресурсами от имени по меньшей мере одного потребителя, и в котором служба масштабирования развернута поставщиком услуг.
25. Постоянный машиночиатемый носитель хранения информации по пункту 23, в котором служба масштабирования дополнительно выполняет:
наблюдение за одной или большим количеством метрик, связанных с рабочей нагрузкой, исполняемой виртуальной машиной;
обнаружение, что упомянутые одна или большее количество метрик вышли по меньшей мере за одну заданную пороговую величину; и
передачу команды на масштабирование экземпляра виртуальной машины в ответ на обнаружение того, что упомянутые одна или большее количество метрик вышли за заданную пороговую величину.
26. Постоянный машиночитаемый носитель хранения информации по пункту 23, в котором служба масштабирования дополнительно выполняет:
прием запроса на масштабирование виртуальной машины от потребителя через интерфейс (API) прикладного программирования; и
передачу упомянутой команды на масштабирование виртуальной машины в ответ на прием запроса.
[0047] Как уже обсуждалось, разные подходы могут быть реализованы в различных окружениях в соответствии с описанными вариантами осуществления. Например, на Фиг. 6 изображен пример окружения 600 для реализации некоторых аспектов в соответствии с различными вариантами осуществления. Несмотря на то что для целей описания приведено окружение, основанное на Веб-технологиях, должно быть понятно, что могут использоваться различные окружения, подходящие для реализации различных вариантов осуществления. Система включает электронное клиентское устройство 602, которое может включать любое соответствующее устройство, выполненное с возможностью отправки и приема запросов, сообщений или информации через соответствующую сеть 604 и передачи информации обратно пользователю устройства. Примеры таких клиентских устройств включают персональные компьютеры, сотовые телефоны, портативные устройства обмена сообщениями, ноутбуки, телевизионные абонентские приставки, персональные цифровые секретари, устройства чтения электронных книг и т.п. Сеть может включать любую соответствующую сеть, включая внутреннюю сеть, Интернет, сеть сотовой связи, локальную сеть или любую другую такую сеть или их сочетание. Компоненты, используемые для такой системы, могут зависеть по меньшей мере частично от выбранного типа сети и/или окружения. Протоколы и компоненты для осуществления связи через такую сеть хорошо известны и не будут в данном документе обсуждаться подробно. Связь через сеть может предоставляться через проводные или беспроводные соединения и их сочетание. В данном примере сеть включает Интернет, тогда как окружение включает веб-сервер 606 для приема запросов и обслуживания содержимого в ответ на них, несмотря на то что для других сетей может использоваться альтернативное устройство, служащее подобной цели, как должно быть очевидно среднему специалисту в области техники.
[0048] Иллюстративное окружение включает по меньшей мере один сервер 608 приложений и хранилище 610 данных. Следует понимать, что может присутствовать несколько серверов приложений, слоев или других элементов, процессов или компонентов, которые могут быть объединены в цепочку или сконфигурированы иным образом, которые могут взаимодействовать для выполнения таких задач, как получение данных из соответствующего хранилища данных. Используемый в данном документе термин «хранилище данных» относится к любому устройству или сочетанию устройств, выполненных с возможностью хранения, осуществления доступа и извлечения данных, которые могут включать любое сочетание и количество серверов данных, баз данных, устройств хранения данных и носителей хранения данных, в любом стандартном, распределенном или поделенном на кластеры окружении. Сервер приложений может включать любое соответствующее аппаратное и программное обеспечение для интеграции с хранилищем данных, по необходимости для выполнения аспектов одного или большего количества приложений для клиентского устройства и управления основной частью доступа к данным и бизнес-логике для приложения. Сервер приложений предоставляет службы управления доступом совместно с хранилищем данных и способен генерировать такое содержимое, как текст, графические изображения, аудио и/или видео для доставления пользователю, которое может подаваться пользователю посредством веб-сервера в виде HTML, XML или другого соответствующего структурированного языка в данном примере. Обработка всех запросов и ответов, а также доставка содержимого между клиентским устройством 602 и сервером 708 приложений, может обрабатываться веб-сервером 606. Следует понимать, что веб-серверы и серверы приложений не являются необходимыми, а всего лишь являются примерными компонентами, поскольку структурированный код, обсуждаемый в данном документе, может исполняться на любом соответствующем устройстве или машине размещения, как это обсуждается в любом месте в данном документе.
[0049] Хранилище 610 данных может включать несколько отдельных таблиц данных, баз данных или других механизмов хранения данных и носителей для хранения данных, относящихся к конкретному аспекту. Например, изображенное хранилище данных включает механизмы для хранения производственных данных 612 и пользовательской информации 616, которые могут использоваться для обслуживания содержимого на производственной стороне. Как изображено, хранилище данных также включает механизм для хранения журнала регистрации или данных 614 сеанса. Следует понимать, что может присутствовать множество других аспектов, которые может потребоваться хранить в хранилище данных, такие как информация об изображениях на страничке и информация о правах доступа, которая может храниться в любом из вышеперечисленных механизмов, по необходимости, или в дополнительных механизмах в хранилище 610 данных. Хранилище 610 данных задействуется, через связанную с ним логику, для приема команд от сервера 608 приложений и получения, обновления или иным образом обрабатывания данных в ответ на них. В одном примере пользователь может подать запрос на поиск конкретного типа объекта. В данном случае хранилище данных может осуществить доступ к пользовательской информации, чтобы сверить личность пользователя, и может осуществить доступ к подробной информации каталога, чтобы получить информацию об объектах указанного типа. Затем данная информация может быть возвращена пользователю, например, в качестве результатов, представляемых в виде списка на Веб-странице, которую пользователь способен просматривать через программу просмотра (браузер) на пользовательском устройстве 602. Информация о конкретном интересующем объекте может просматриваться на выделенной странице или окне программы просмотра.
[0050] Каждый сервер обычно включает операционную систему, которая предоставляет команды исполняемой программы для общего управления и задействования такого сервера, и обычно включает машиночитаемый носитель, хранящий команды, которые, при исполнении процессором сервера, позволяют серверу выполнять предназначенные ему функции. Подходящие варианты реализации для операционной системы и общей функциональности серверов известны или доступны на рынке и с готовностью реализуются средними специалистами в уровне техники, в частности в свете раскрытия в данном документе.
[0051] Окружение в одном варианте осуществления является распределенным вычислительным окружением, использующим несколько компьютерных систем и компонентов, которые соединяются друг с другом через линии связи, используя одну или большее количество компьютерных сетей или прямых соединений. Однако среднему специалисту в области техники должно быть очевидно, что такая система может одинаково хорошо функционировать в системе, имеющей меньшее или большее количество компонентов в отличие от тех, что изображены на Фиг. 6. Таким образом описание системы 600 на Фиг. 6 должно рассматриваться иллюстративным по сути, а не ограничивающим объем раскрытия.
[0052] Различные варианты осуществления, обсуждаемые или предлагаемые в данном документе, могут быть реализованы в большом разнообразии функциональных окружений, которые в некоторых случаях могут включать одно или большее количество пользовательских компьютеров, вычислительных устройств или устройств обработки, которые могут использоваться для задействования любого из множества приложений. Пользовательские или клиентские устройства могут включать любой из множества персональных компьютеров общего назначения, таких как настольные компьютеры или ноутбуки, функционирующие со стандартной операционной системой, а также сотовые, беспроводные и портативные устройства, на которых функционируют мобильное программное обеспечение, и которые выполнены с возможностью поддержки многих протоколов взаимодействия через сеть и обмена сообщениями. Такая система также может включать некоторое количество рабочих станций, на которых функционируют любое из множества доступных на рынке операционных систем и других известных приложений для таких целей, как разработка и управление базой данных. Эти устройства также могут включать другие электронные устройства, такие как «немые» (неинтеллектуальные) терминалы, «тонкие» клиенты, игровые системы и другие устройства, выполненные с возможностью осуществления связи через сеть.
[0053] В большинстве вариантов осуществления использована по меньшей мере одну сеть, которая известна специалистам в области техники, для поддержки связи с использованием любого множества доступных на рынке протоколов, таких как TCP/IP, OSI, FTP, UPnP, NFS, CIFS и AppleTalk. Сеть может быть, например, локальной сетью, глобальной сетью, виртуальной частной сетью, сетью Интернет, внутренней сетью, внешней сетью, коммутируемой телефонной сетью общего пользования, сетью связи в инфракрасном диапазоне, сетью беспроводной связи и любым их сочетанием.
[0054] В вариантах осуществления, использующих веб-сервер, на веб-сервере может функционировать любое из множества серверных или средне уровневых приложений, включая HTTP-серверы, FTP-серверы, CGI-сервер, серверы данных, Java-серверы и серверы бизнес-приложений. Сервер(ы) также может быть выполнен с возможностью исполнения программ или сценариев в ответ на запросы от пользовательских устройств, например, посредством выполнения одного или большего количества Веб-приложений, которые могут быть реализованы в качестве одного или большего количества сценариев или программ, написанных на любом языке программирования, таком как Java®, C, C# или C++, или любом языке сценариев, таком как Perl, Python или TCL, а также их сочетании. Сервер(ы) может также включать серверы баз данных, включая, без ограничения, коммерчески доступные серверы от Oracle®, Microsoft®, Sybase® и IBM®.
[0055] Окружение может включать множество хранилищ данных и других запоминающих устройств и носителей хранения информации, обсуждаемых выше. Они могут находиться в различных местах, например, на носителе хранения информации, локальном для (и/или находящимся внутри) одного или большего количества компьютеров или удаленном от любого или всех из компьютеров через сеть. В конкретном наборе вариантов осуществления информация может находиться в сети («SAN») хранения данных, известной специалистам в области техники. Схожим образом, любые необходимые файлы для выполнения функций, приписанных вычислительным устройствам, серверам или другим сетевым устройствам, могут храниться локально и/или удаленно, по необходимости. В случае, при котором система включает компьютеризированные устройства, каждое такое устройство может включать аппаратные элементы, которые могут быть электрически соединены через шину, причем элементы включают, например, по меньшей мере один центральный блок (CPU) обработки, по меньшей мере одно устройство ввода (например, координатный манипулятор типа «мышь», клавиатура, контроллер, сенсорный экран или клавиатуру), и по меньшей мере одно устройство вывода (например, устройство отображения, принтер или громкоговоритель). Такая система может также включать одно или большее количество запоминающих устройств, таких как накопители на дисках, оптические запоминающие устройства и твердотельные запоминающие устройства, такие как запоминающее устройство («RAM») с произвольным доступом или постоянное запоминающее устройство («ROM»), а также съемные устройства хранения данных, карты памяти, карты флэш-памяти и т.д.
[0056] Такие устройства также могут включать считыватель машиночитаемых носителей хранения информации, устройство осуществления связи (например, модем, сетевая карта (беспроводная или проводная), устройство осуществления связи в инфракрасном диапазоне, и т.д.) и функциональное запоминающее устройство, описываемое выше. Считыватель машиночитаемых носителей хранения информации может быть соединен с, или выполнен с возможностью приема, машиночитаемого носителя хранения информации, представляющего собой удаленные, локальные, фиксированные и/или сменные запоминающие устройства, а также носители хранения информации для временного и/или более постоянного содержания, хранения, передачи и извлечения машиночитаемой информации. Система и различные устройства также обычно включают некоторое количество приложений, модулей, служб или других элементов, находящихся внутри по меньшей мере одного функционального запоминающего устройства, включая операционную систему и прикладные программы, такие как приложение-клиент или Веб-браузер. Следует понимать, что альтернативные варианты осуществления могут иметь многочисленные отличия от описанных выше. Например, также может использоваться специализированное аппаратное обеспечение, и/или конкретные элементы могут бы быть реализованы в аппаратном обеспечении, программном обеспечении (включая портативное программное обеспечение, такое как апплеты), или и то и другое. Дополнительно, может использоваться соединение с другими вычислительными устройствами, такими как сетевые устройства ввода-вывода.
[0057] Носители хранения информации и машиночитаемые носители для содержания кода, или частей кода, могут включать любые соответствующие носители, известные или используемые в уровне техники, включая носители хранения информации и среды связи, такие как, без ограничения, съемные и несъемные носители кратковременного и долговременного хранения, реализованные любым способом или по любой технологии хранения и/или передачи такой информации, как машиночитаемые команды, структуры данных, программные модули или другие данные, включая RAM, ROM, EEPROM, флэш-память или другую технологию хранения данных, CD-ROM, цифровой универсальный диск (DVD) или другой оптический накопитель, магнитные кассеты, магнитную ленту, запоминающее устройство на магнитных дисках или другие магнитные устройства хранения, или любой другой носитель, который может использоваться для хранения необходимой информации, и к которой может осуществлять доступ устройство системы. На основе данного раскрытия и методик, изложенных в данном документе, среднему специалисту в данной области техники будут понятны и другие принципы и/или способы для реализации различных вариантов осуществления.
[0058] Описание и чертежи следует, соответственно, рассматривать в качестве иллюстрации, а не ограничения. При этом очевидно, что в них могут вноситься различные модификации и изменения без отступления от более широкой сущности и объема изобретения, определяемого формулой изобретения.

Claims (14)

1. Машинореализуемый способ масштабирования виртуальной машины, содержащий этапы, на которых:
связывают, посредством одной или более компьютерных систем, счет с потребителем;
предоставляют, посредством одной или более компьютерных систем, интерфейс прикладного программирования (API) потребителям;
принимают, посредством одной или более компьютерных систем от по меньшей мере одного потребителя через API, запрос запуска экземпляра образа виртуальной машины;
запускают, посредством одной или более компьютерных систем, образ виртуальной машины;
обеспечивают, посредством одной или более компьютерных систем, экземпляр виртуальной машины для упомянутого по меньшей мере одного потребителя на основе запущенного образа виртуальной машины, при этом экземпляр виртуальной машины обеспечивается на вычислительном устройстве размещения;
принимают, в одной или более компьютерных системах от упомянутого потребителя через API, заданную потребителем пороговую величину, связанную с экземпляром виртуальной машины, при этом заданная потребителем пороговая величина задается во время выполнения упомянутого обеспечения экземпляра виртуальной машины;
связывают, посредством одной или более компьютерных систем, одну или более метрик с экземпляром виртуальной машины;
наблюдают, посредством одной или более компьютерных систем, за этими одной или более метриками, связанными с экземпляром виртуальной машины, в течение исполнения экземпляра виртуальной машины; и
регулируют, посредством одной или более компьютерных систем, выделение одного или более вычислительных ресурсов экземпляру виртуальной машины на основе, по меньшей мере отчасти, упомянутых одной или более метрик и принятой пороговой величины, заданной потребителем.
2. Машинореализуемый способ по п. 1, дополнительно содержащий этапы, на которых:
определяют, посредством одной или более компьютерных систем, что дополнительные вычислительные ресурсы не могут быть выделены экземпляру виртуальной машины; и
обеспечивают, посредством одной или более компьютерных систем, второй экземпляр виртуальной машины для упомянутого потребителя на основе определения того, что дополнительные вычислительные ресурсы не могут быть выделены экземпляру виртуальной машины.
3. Машинореализуемый способ по п. 1, дополнительно содержащий этап, на котором инструктируют, в одной или более компьютерных системах, взимание со счета, связанного с потребителем, платы за функционирование экземпляра виртуальной машины, причем плата основывается, по меньшей мере отчасти, на отрегулированных вычислительных ресурсах, выделенных экземпляру виртуальной машины.
RU2015110044A 2012-08-23 2013-08-23 Масштабирование экземпляра виртуальной машины RU2616167C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/593,226 US8825550B2 (en) 2012-08-23 2012-08-23 Scaling a virtual machine instance
US13/593,226 2012-08-23
PCT/US2013/056524 WO2014032031A2 (en) 2012-08-23 2013-08-23 Scaling a virtual machine instance

Publications (2)

Publication Number Publication Date
RU2015110044A RU2015110044A (ru) 2016-10-20
RU2616167C2 true RU2616167C2 (ru) 2017-04-12

Family

ID=50148872

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2015110044A RU2616167C2 (ru) 2012-08-23 2013-08-23 Масштабирование экземпляра виртуальной машины

Country Status (11)

Country Link
US (2) US8825550B2 (ru)
EP (1) EP2888663A4 (ru)
JP (1) JP6144346B2 (ru)
CN (2) CN104620222A (ru)
AU (2) AU2013305544B2 (ru)
BR (1) BR112015003786A2 (ru)
CA (1) CA2882531C (ru)
IN (1) IN2015DN01497A (ru)
RU (1) RU2616167C2 (ru)
SG (2) SG10201606964VA (ru)
WO (1) WO2014032031A2 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU181857U1 (ru) * 2017-09-13 2018-07-26 Общество с ограниченной ответственностью "Интегратор" Программно-аппаратное устройство на базе операционной системы облачной гиперконвергенции

Families Citing this family (189)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8826271B2 (en) 2010-04-28 2014-09-02 Cavium, Inc. Method and apparatus for a virtual system on chip
US9323579B2 (en) * 2012-08-25 2016-04-26 Vmware, Inc. Resource allocation diagnosis on distributed computer systems
GB2506195A (en) 2012-09-25 2014-03-26 Ibm Managing a virtual computer resource
US8959513B1 (en) * 2012-09-27 2015-02-17 Juniper Networks, Inc. Controlling virtualization resource utilization based on network state
GB2507779A (en) 2012-11-09 2014-05-14 Ibm Terminating a virtual machine in response to user inactivity in a cloud computing environment
US9038068B2 (en) * 2012-11-15 2015-05-19 Bank Of America Corporation Capacity reclamation and resource adjustment
US9081623B1 (en) * 2012-12-05 2015-07-14 Amazon Technologies, Inc. Service resource allocation
US9851989B2 (en) * 2012-12-12 2017-12-26 Vmware, Inc. Methods and apparatus to manage virtual machines
KR101540631B1 (ko) * 2012-12-28 2015-07-30 삼성에스디에스 주식회사 가상 클러스터의 동적 확장 시스템, 방법 및 그 프로그램이 저장된 기록매체
US9275408B1 (en) * 2013-01-25 2016-03-01 Amazon Technologies, Inc. Transferring ownership of computing resources
US9535727B1 (en) * 2013-02-07 2017-01-03 Ca, Inc. Identifying virtual machines that perform inconsistent with a profile
JP6089783B2 (ja) * 2013-02-27 2017-03-08 富士通株式会社 制御装置、リソース制御プログラムおよびリソース制御方法
US20140258235A1 (en) * 2013-03-05 2014-09-11 VCE Company LLC Method to provide user domain management of snapshots for virtual desktops using centralized portal
US9313188B2 (en) 2013-06-14 2016-04-12 Microsoft Technology Licensing, Llc Providing domain-joined remote applications in a cloud environment
US9503387B2 (en) * 2013-08-21 2016-11-22 Cisco Technology, Inc. Instantiating incompatible virtual compute requests in a heterogeneous cloud environment
US9727355B2 (en) * 2013-08-23 2017-08-08 Vmware, Inc. Virtual Hadoop manager
US9851988B1 (en) * 2013-09-04 2017-12-26 Amazon Technologies, Inc. Recommending computer sizes for automatically scalable computer groups
US9870568B2 (en) * 2013-11-19 2018-01-16 Xerox Corporation Methods and systems to price customized virtual machines
US10769054B1 (en) * 2014-02-13 2020-09-08 Amazon Technologies, Inc. Integrated program code marketplace and service provider network
US9594584B2 (en) * 2014-03-31 2017-03-14 Electronics And Telecommunications Research Institute Apparatus and method for mapping of tenant based dynamic processor
US9965334B1 (en) * 2014-06-09 2018-05-08 VCE IP Holding Company LLC Systems and methods for virtual machine storage provisioning
EP2955631B1 (en) * 2014-06-09 2019-05-01 Nokia Solutions and Networks Oy Controlling of virtualized network functions for usage in communication network
US10097410B2 (en) 2014-06-26 2018-10-09 Vmware, Inc. Methods and apparatus to scale application deployments in cloud computing environments
US9424065B2 (en) 2014-06-26 2016-08-23 Vmware, Inc. Methods and apparatus to scale application deployments in cloud computing environments using virtual machine pools
WO2016018401A1 (en) * 2014-07-31 2016-02-04 Hewlett-Packard Development Company, L.P. Dynamic adjustment of thresholds
US10129112B2 (en) 2014-08-14 2018-11-13 At&T Intellectual Property I, L.P. Workflow-based resource management
EP2988214A1 (en) * 2014-08-20 2016-02-24 Alcatel Lucent Method for balancing a load, a system, an elasticity manager and a computer program product
US9606826B2 (en) * 2014-08-21 2017-03-28 International Business Machines Corporation Selecting virtual machines to be migrated to public cloud during cloud bursting based on resource usage and scaling policies
US9471362B2 (en) 2014-09-23 2016-10-18 Splunk Inc. Correlating hypervisor data for a virtual machine with associated operating system data
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9547534B2 (en) * 2014-10-10 2017-01-17 International Business Machines Corporation Autoscaling applications in shared cloud resources
US9647889B1 (en) 2014-11-12 2017-05-09 Amazon Technologies, Inc. Standby instances for auto-scaling groups
US10411960B1 (en) * 2014-11-12 2019-09-10 Amazon Technologies, Inc. Detaching instances from auto-scaling group
US9762457B2 (en) * 2014-11-25 2017-09-12 At&T Intellectual Property I, L.P. Deep packet inspection virtual function
US10355934B2 (en) 2014-12-03 2019-07-16 Amazon Technologies, Inc. Vertical scaling of computing instances
US9413626B2 (en) * 2014-12-05 2016-08-09 Amazon Technologies, Inc. Automatic management of resource sizing
CN105873114B (zh) * 2015-01-21 2020-12-11 中兴通讯股份有限公司 一种虚拟网络功能性能监控的方法及相应的系统
CN107209685B (zh) * 2015-01-27 2020-06-19 慧与发展有限责任合伙企业 虚拟机布置
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9851933B2 (en) * 2015-03-25 2017-12-26 International Business Machines Corporation Capability-based abstraction of software-defined infrastructure
US9946573B2 (en) * 2015-05-20 2018-04-17 Oracle International Corporation Optimizing virtual machine memory sizing for cloud-scale application deployments
US20160359695A1 (en) * 2015-06-04 2016-12-08 Cisco Technology, Inc. Network behavior data collection and analytics for anomaly detection
US10848574B2 (en) 2015-06-11 2020-11-24 Microsoft Technology Licensing, Llc Computing resource management system
GB2539429B (en) 2015-06-16 2017-09-06 Advanced Risc Mach Ltd Address translation
GB2539435B8 (en) 2015-06-16 2018-02-21 Advanced Risc Mach Ltd Data processing memory access control, in which an owning process for a region of memory is specified independently of privilege level
GB2539433B8 (en) 2015-06-16 2018-02-21 Advanced Risc Mach Ltd Protected exception handling
GB2539428B (en) 2015-06-16 2020-09-09 Advanced Risc Mach Ltd Data processing apparatus and method with ownership table
GB2539436B (en) * 2015-06-16 2019-02-06 Advanced Risc Mach Ltd Secure initialisation
US10475111B1 (en) * 2015-06-19 2019-11-12 Amazon Technologies, Inc. Selecting and configuring metrics for monitoring
US10367705B1 (en) * 2015-06-19 2019-07-30 Amazon Technologies, Inc. Selecting and configuring metrics for monitoring
US10476766B1 (en) * 2015-06-19 2019-11-12 Amazon Technologies, Inc. Selecting and configuring metrics for monitoring
US9785474B2 (en) 2015-07-23 2017-10-10 International Business Machines Corporation Managing a shared pool of configurable computing resources using a set of scaling factors and a set of workload resource data
US9864640B2 (en) 2015-08-14 2018-01-09 International Business Machines Corporation Controlling virtual machine density and placement distribution in a converged infrastructure resource pool
US20170052866A1 (en) * 2015-08-21 2017-02-23 International Business Machines Corporation Managing a shared pool of configurable computing resources which uses a set of dynamically-assigned resources
CN106528287B (zh) 2015-09-09 2019-10-29 阿里巴巴集团控股有限公司 计算机系统资源分配方法和装置
US10169086B2 (en) 2015-09-13 2019-01-01 International Business Machines Corporation Configuration management for a shared pool of configurable computing resources
US10146592B2 (en) * 2015-09-18 2018-12-04 Salesforce.Com, Inc. Managing resource allocation in a stream processing framework
CN106548262B (zh) * 2015-09-21 2020-11-06 阿里巴巴集团控股有限公司 用于处理任务的资源的调度方法、装置和系统
JP6424797B2 (ja) * 2015-11-02 2018-11-21 株式会社デンソー 車載装置
JP6743368B2 (ja) * 2015-11-09 2020-08-19 日本電気株式会社 仮想基盤ホスト、仮想基盤ホストの制御方法、仮想基盤ホストのプログラムおよび通信システム
US10361919B2 (en) 2015-11-09 2019-07-23 At&T Intellectual Property I, L.P. Self-healing and dynamic optimization of VM server cluster management in multi-cloud platform
CA3004888C (en) * 2015-11-11 2020-09-08 Amazon Technologies, Inc. Scaling for virtualized graphics processing
US9678785B1 (en) * 2015-11-30 2017-06-13 International Business Machines Corporation Virtual machine resource allocation based on user feedback
US10395219B1 (en) * 2015-12-18 2019-08-27 Amazon Technologies, Inc. Location policies for reserved virtual machine instances
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US11181875B2 (en) 2016-01-22 2021-11-23 Johnson Controls Tyco IP Holdings LLP Systems and methods for monitoring and controlling a central plant
CN106998560A (zh) * 2016-01-25 2017-08-01 中兴通讯股份有限公司 一种虚拟化网络功能的管理方法、网络设备及系统
US9940156B2 (en) * 2016-01-29 2018-04-10 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Decreasing hardware resource amount assigned to virtual machine as utilization of hardware resource decreases below a threshold
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US10666516B2 (en) * 2016-04-04 2020-05-26 Avago Technologies International Sales Pte. Limited Constraint-based virtual network function placement
US10135712B2 (en) 2016-04-07 2018-11-20 At&T Intellectual Property I, L.P. Auto-scaling software-defined monitoring platform for software-defined networking service assurance
US10235211B2 (en) * 2016-04-22 2019-03-19 Cavium, Llc Method and apparatus for dynamic virtual system on chip
US10135837B2 (en) 2016-05-17 2018-11-20 Amazon Technologies, Inc. Versatile autoscaling for containers
WO2017200878A1 (en) * 2016-05-17 2017-11-23 Amazon Technologies, Inc. Versatile autoscaling
WO2017213634A1 (en) * 2016-06-07 2017-12-14 Hitachi, Ltd. Method and apparatus to deploy applications on proper it resources based on frequency and amount of change
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10318311B2 (en) * 2016-06-30 2019-06-11 Amazon Technologies, Inc. Memory allocation techniques at partially-offloaded virtualization managers
US10127068B2 (en) 2016-06-30 2018-11-13 Amazon Technologies, Inc. Performance variability reduction using an opportunistic hypervisor
US10678603B2 (en) * 2016-09-01 2020-06-09 Microsoft Technology Licensing, Llc Resource oversubscription based on utilization patterns in computing systems
US10871995B2 (en) * 2016-09-29 2020-12-22 Amazon Technologies, Inc. Managed container instances
US10412022B1 (en) 2016-10-19 2019-09-10 Amazon Technologies, Inc. On-premises scaling using a versatile scaling service and an application programming interface management service
US10409642B1 (en) 2016-11-22 2019-09-10 Amazon Technologies, Inc. Customer resource monitoring for versatile scaling service scaling policy recommendations
US10346191B2 (en) * 2016-12-02 2019-07-09 Wmware, Inc. System and method for managing size of clusters in a computing environment
US20180173526A1 (en) 2016-12-20 2018-06-21 Invensys Systems, Inc. Application lifecycle management system
US20180183858A1 (en) * 2016-12-28 2018-06-28 BeBop Technology LLC Method and System for Managing Cloud Based Operations
US10593009B1 (en) 2017-02-22 2020-03-17 Amazon Technologies, Inc. Session coordination for auto-scaled virtualized graphics processing
US10648688B2 (en) 2017-03-09 2020-05-12 Johnson Controls Technology Company Building automation system with a verifiable relationship building language
US10706375B2 (en) 2017-03-29 2020-07-07 Johnson Controls Technology Company Central plant with asset allocator
CN110753886B (zh) 2017-04-25 2023-05-05 江森自控科技公司 具有基于神经网络的约束生成的预测建筑物控制系统
US11271769B2 (en) 2019-11-14 2022-03-08 Johnson Controls Tyco IP Holdings LLP Central plant control system with asset allocation override
US11005733B2 (en) 2017-06-08 2021-05-11 Vmware, Inc Methods, systems, and apparatus to scale in and/or scale out resources managed by a cloud automation system
US10318333B2 (en) 2017-06-28 2019-06-11 Sap Se Optimizing allocation of virtual machines in cloud computing environment
US10721294B2 (en) * 2017-07-12 2020-07-21 Telefonaktiebolaget Lm Ericsson (Publ) Apparatus and method for subscription-based resource throttling in a cloud environment
EP3677015B1 (en) * 2017-08-31 2021-12-08 Genesys Telecommunications Laboratories, Inc. Systems and methods for load balancing across media server instances
US11947489B2 (en) 2017-09-05 2024-04-02 Robin Systems, Inc. Creating snapshots of a storage volume in a distributed storage system
US10579276B2 (en) 2017-09-13 2020-03-03 Robin Systems, Inc. Storage scheme for a distributed storage system
US10430105B2 (en) 2017-09-13 2019-10-01 Robin Systems, Inc. Storage scheme for a distributed storage system
US10452267B2 (en) 2017-09-13 2019-10-22 Robin Systems, Inc. Storage scheme for a distributed storage system
US10534549B2 (en) 2017-09-19 2020-01-14 Robin Systems, Inc. Maintaining consistency among copies of a logical storage volume in a distributed storage system
WO2019068036A1 (en) 2017-09-30 2019-04-04 Oracle International Corporation DEPLOYMENT OF CONTAINERS BASED ON ENVIRONMENTAL REQUIREMENTS
US10782887B2 (en) 2017-11-08 2020-09-22 Robin Systems, Inc. Window-based prority tagging of IOPs in a distributed storage system
US10846001B2 (en) 2017-11-08 2020-11-24 Robin Systems, Inc. Allocating storage requirements in a distributed storage system
US11126927B2 (en) * 2017-11-24 2021-09-21 Amazon Technologies, Inc. Auto-scaling hosted machine learning models for production inference
US10452308B2 (en) 2017-12-19 2019-10-22 Robin Systems, Inc. Encoding tags for metadata entries in a storage system
US10430292B2 (en) 2017-12-19 2019-10-01 Robin Systems, Inc. Snapshot deletion in a distributed storage system
US10430110B2 (en) 2017-12-19 2019-10-01 Robin Systems, Inc. Implementing a hybrid storage node in a distributed storage system
US10719344B2 (en) * 2018-01-03 2020-07-21 Acceture Global Solutions Limited Prescriptive analytics based compute sizing correction stack for cloud computing resource scheduling
US10628235B2 (en) 2018-01-11 2020-04-21 Robin Systems, Inc. Accessing log files of a distributed computing system using a simulated file system
US11392363B2 (en) 2018-01-11 2022-07-19 Robin Systems, Inc. Implementing application entrypoints with containers of a bundled application
US11748203B2 (en) 2018-01-11 2023-09-05 Robin Systems, Inc. Multi-role application orchestration in a distributed storage system
US11582168B2 (en) 2018-01-11 2023-02-14 Robin Systems, Inc. Fenced clone applications
US10642697B2 (en) 2018-01-11 2020-05-05 Robin Systems, Inc. Implementing containers for a stateful application in a distributed computing system
US10896102B2 (en) 2018-01-11 2021-01-19 Robin Systems, Inc. Implementing secure communication in a distributed computing system
US11099937B2 (en) 2018-01-11 2021-08-24 Robin Systems, Inc. Implementing clone snapshots in a distributed storage system
US10846137B2 (en) * 2018-01-12 2020-11-24 Robin Systems, Inc. Dynamic adjustment of application resources in a distributed computing system
US10579364B2 (en) 2018-01-12 2020-03-03 Robin Systems, Inc. Upgrading bundled applications in a distributed computing system
US10845997B2 (en) 2018-01-12 2020-11-24 Robin Systems, Inc. Job manager for deploying a bundled application
US10642694B2 (en) 2018-01-12 2020-05-05 Robin Systems, Inc. Monitoring containers in a distributed computing system
US11112449B2 (en) 2018-04-06 2021-09-07 Bendy Nevada, LLC Flexible and scalable monitoring systems for industrial machines
US11016141B2 (en) 2018-04-06 2021-05-25 Bently Nevada, Llc Monitoring systems for industrial machines having dynamically adjustable computational units
US20190386895A1 (en) * 2018-06-13 2019-12-19 At&T Intellectual Property I, L.P. East-west traffic monitoring solutions for the microservice virtualized data center lan
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US10976938B2 (en) 2018-07-30 2021-04-13 Robin Systems, Inc. Block map cache
US11023328B2 (en) 2018-07-30 2021-06-01 Robin Systems, Inc. Redo log for append only storage scheme
US10817380B2 (en) 2018-07-31 2020-10-27 Robin Systems, Inc. Implementing affinity and anti-affinity constraints in a bundled application
US10599622B2 (en) 2018-07-31 2020-03-24 Robin Systems, Inc. Implementing storage volumes over multiple tiers
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US10877786B1 (en) 2018-09-28 2020-12-29 Amazon Technologies, Inc. Managing compute resource usage based on prior usage
US10884778B1 (en) 2018-09-28 2021-01-05 Amazon Technologies, Inc. Adjusting dynamically scalable instance hosting based on compute resource usage
JP2020061032A (ja) * 2018-10-11 2020-04-16 富士通株式会社 データベースサーバ管理プログラム、データベースサーバ管理方法、およびデータベースシステム
US10908848B2 (en) 2018-10-22 2021-02-02 Robin Systems, Inc. Automated management of bundled applications
US11036439B2 (en) 2018-10-22 2021-06-15 Robin Systems, Inc. Automated management of bundled applications
US10620871B1 (en) 2018-11-15 2020-04-14 Robin Systems, Inc. Storage scheme for a distributed storage system
US11853800B2 (en) * 2018-11-19 2023-12-26 Alibaba Group Holding Limited Power management method
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11086725B2 (en) 2019-03-25 2021-08-10 Robin Systems, Inc. Orchestration of heterogeneous multi-role applications
US11256434B2 (en) 2019-04-17 2022-02-22 Robin Systems, Inc. Data de-duplication
US10831387B1 (en) 2019-05-02 2020-11-10 Robin Systems, Inc. Snapshot reservations in a distributed storage system
JP7308937B2 (ja) * 2019-05-10 2023-07-14 日立Astemo株式会社 ハイパーバイザおよび制御装置
US11061732B2 (en) * 2019-05-14 2021-07-13 EMC IP Holding Company LLC System and method for scalable backup services
US10877684B2 (en) 2019-05-15 2020-12-29 Robin Systems, Inc. Changing a distributed storage volume from non-replicated to replicated
US11228643B2 (en) * 2019-06-04 2022-01-18 Capital One Services, Llc System and method for fast application auto-scaling
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11003504B2 (en) 2019-06-28 2021-05-11 Cohesity, Inc. Scaling virtualization resource units of applications
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11226847B2 (en) 2019-08-29 2022-01-18 Robin Systems, Inc. Implementing an application manifest in a node-specific manner using an intent-based orchestrator
US11249851B2 (en) 2019-09-05 2022-02-15 Robin Systems, Inc. Creating snapshots of a storage volume in a distributed storage system
US11520650B2 (en) 2019-09-05 2022-12-06 Robin Systems, Inc. Performing root cause analysis in a multi-role application
US11347684B2 (en) 2019-10-04 2022-05-31 Robin Systems, Inc. Rolling back KUBERNETES applications including custom resources
US11113158B2 (en) 2019-10-04 2021-09-07 Robin Systems, Inc. Rolling back kubernetes applications
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US10924429B1 (en) 2019-11-29 2021-02-16 Amazon Technologies, Inc. Using edge-optimized compute instances to execute user workloads at provider substrate extensions
US11403188B2 (en) 2019-12-04 2022-08-02 Robin Systems, Inc. Operation-level consistency points and rollback
CN111210286A (zh) * 2019-12-26 2020-05-29 大象慧云信息技术有限公司 一种基于税控服务器的发票高效开具方法及系统
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11249790B1 (en) * 2020-03-11 2022-02-15 Amazon Technologies, Inc. Scheduling usage of oversubscribed computing resources
CN111651170B (zh) * 2020-05-29 2022-11-08 深圳平安医疗健康科技服务有限公司 一种实例动态调整方法、装置及相关设备
US11108638B1 (en) 2020-06-08 2021-08-31 Robin Systems, Inc. Health monitoring of automatically deployed and managed network pipelines
US11528186B2 (en) 2020-06-16 2022-12-13 Robin Systems, Inc. Automated initialization of bare metal servers
CN111752712B (zh) * 2020-06-28 2023-08-18 中国银行股份有限公司 虚拟机资源利用率提高方法及装置
US11740980B2 (en) 2020-09-22 2023-08-29 Robin Systems, Inc. Managing snapshot metadata following backup
US11743188B2 (en) 2020-10-01 2023-08-29 Robin Systems, Inc. Check-in monitoring for workflows
US11456914B2 (en) 2020-10-07 2022-09-27 Robin Systems, Inc. Implementing affinity and anti-affinity with KUBERNETES
US11271895B1 (en) 2020-10-07 2022-03-08 Robin Systems, Inc. Implementing advanced networking capabilities using helm charts
CN112162864B (zh) * 2020-10-26 2023-06-09 新华三大数据技术有限公司 一种云资源分配方法、装置及存储介质
US11750451B2 (en) 2020-11-04 2023-09-05 Robin Systems, Inc. Batch manager for complex workflows
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11556361B2 (en) 2020-12-09 2023-01-17 Robin Systems, Inc. Monitoring and managing of complex multi-role applications
US11960913B2 (en) * 2021-03-16 2024-04-16 Nerdio, Inc. Systems and methods of auto-scaling a virtual desktop environment
US11971705B2 (en) 2021-04-13 2024-04-30 UiPath, Inc. Autoscaling strategies for robotic process automation
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system
WO2023022855A1 (en) * 2021-08-20 2023-02-23 Microsoft Technology Licensing, Llc. Upgrading a virtual device deployment based on spike utilization
US11968280B1 (en) 2021-11-24 2024-04-23 Amazon Technologies, Inc. Controlling ingestion of streaming data to serverless function executions
US12015603B2 (en) 2021-12-10 2024-06-18 Amazon Technologies, Inc. Multi-tenant mode for serverless code execution
US20230213998A1 (en) * 2022-01-04 2023-07-06 Quanta Cloud Technology Inc. Prediction-based system and method for optimizing energy consumption in computing systems

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080126547A1 (en) * 2001-09-12 2008-05-29 Vmware Resource allocation in computers
US20090138888A1 (en) * 2007-11-27 2009-05-28 Amip Shah Generating Governing Metrics For Resource Provisioning
US20110142053A1 (en) * 2009-12-15 2011-06-16 Jacobus Van Der Merwe Methods and apparatus to communicatively couple virtual private networks to virtual machines within distributive computing networks
RU2433459C2 (ru) * 2006-05-18 2011-11-10 Майкрософт Корпорейшн Развертывание виртуальной машины на хосте на основе описания характеристик рабочей нагрузки
US20120089736A1 (en) * 2010-10-08 2012-04-12 Electronics And Telecommunications Research Institute Apparatus and method for controlling computing capacity for multiple computers sharing resources with each other

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8166473B2 (en) * 2005-04-21 2012-04-24 Microsoft Corporation Method and system for a resource negotiation between virtual machines
GB2426151B (en) * 2005-05-12 2007-09-05 Motorola Inc Optimizing network performance for communication servcies
US8286174B1 (en) * 2006-04-17 2012-10-09 Vmware, Inc. Executing a multicomponent software application on a virtualized computer platform
JP4875525B2 (ja) * 2007-03-26 2012-02-15 株式会社日立製作所 仮想計算機システム及びプログラム
US20090037879A1 (en) * 2007-07-31 2009-02-05 Arun Kwangil Iyengar Method and system for integrating model-based and search-based automatic software configuration
EP2189902A1 (en) * 2007-09-12 2010-05-26 Mitsubishi Electric Corporation Information processor
JP5229232B2 (ja) * 2007-12-04 2013-07-03 富士通株式会社 リソース貸出制御装置、リソース貸出方法およびリソース貸出プログラム
US8509415B2 (en) * 2009-03-02 2013-08-13 Twilio, Inc. Method and system for a multitenancy telephony network
US20100306767A1 (en) 2009-05-29 2010-12-02 Dehaan Michael Paul Methods and systems for automated scaling of cloud computing systems
US20110126197A1 (en) * 2009-11-25 2011-05-26 Novell, Inc. System and method for controlling cloud and virtualized data centers in an intelligent workload management system
DE102009060686A1 (de) * 2009-12-29 2011-06-30 Siemens Aktiengesellschaft, 80333 Verfahren und Vorrichtung zum Betreiben einer virtuellen Maschine gemäß einer zugeordneten Rechteinformation
US8433802B2 (en) * 2010-01-26 2013-04-30 International Business Machines Corporation System and method for fair and economical resource partitioning using virtual hypervisor
JP2011170679A (ja) * 2010-02-19 2011-09-01 Runcom Systems Inc 仮想計算機システムおよびその資源配分制御方法
US8606667B2 (en) * 2010-02-26 2013-12-10 Red Hat, Inc. Systems and methods for managing a software subscription in a cloud network
JP5559582B2 (ja) * 2010-03-25 2014-07-23 株式会社日立システムズ 仮想計算機資源構成変更システムと方法およびプログラム
US8572612B2 (en) * 2010-04-14 2013-10-29 International Business Machines Corporation Autonomic scaling of virtual machines in a cloud computing environment
EP2625615A2 (en) * 2010-07-09 2013-08-14 Stratergia Ltd. Systems and methods for power consumption profiling and auditing
US9235442B2 (en) * 2010-10-05 2016-01-12 Accenture Global Services Limited System and method for cloud enterprise services
JP2012099062A (ja) * 2010-11-05 2012-05-24 Hitachi Ltd サービス連携システムおよび情報処理システム
US8667496B2 (en) * 2011-01-04 2014-03-04 Host Dynamics Ltd. Methods and systems of managing resources allocated to guest virtual machines
US20120221454A1 (en) * 2011-02-28 2012-08-30 Morgan Christopher Edwin Systems and methods for generating marketplace brokerage exchange of excess subscribed resources using dynamic subscription periods
US8904384B2 (en) * 2011-06-14 2014-12-02 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Reducing data transfer overhead during live migration of a virtual machine
US9191454B2 (en) * 2011-06-27 2015-11-17 Microsoft Technology Licensing, Llc Host enabled management channel
US9378044B1 (en) * 2015-03-28 2016-06-28 Vmware, Inc. Method and system that anticipates deleterious virtual-machine state changes within a virtualization layer

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080126547A1 (en) * 2001-09-12 2008-05-29 Vmware Resource allocation in computers
RU2433459C2 (ru) * 2006-05-18 2011-11-10 Майкрософт Корпорейшн Развертывание виртуальной машины на хосте на основе описания характеристик рабочей нагрузки
US20090138888A1 (en) * 2007-11-27 2009-05-28 Amip Shah Generating Governing Metrics For Resource Provisioning
US20110142053A1 (en) * 2009-12-15 2011-06-16 Jacobus Van Der Merwe Methods and apparatus to communicatively couple virtual private networks to virtual machines within distributive computing networks
US20120089736A1 (en) * 2010-10-08 2012-04-12 Electronics And Telecommunications Research Institute Apparatus and method for controlling computing capacity for multiple computers sharing resources with each other

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU181857U1 (ru) * 2017-09-13 2018-07-26 Общество с ограниченной ответственностью "Интегратор" Программно-аппаратное устройство на базе операционной системы облачной гиперконвергенции

Also Published As

Publication number Publication date
CA2882531C (en) 2017-05-09
SG11201501288SA (en) 2015-04-29
EP2888663A4 (en) 2016-04-20
IN2015DN01497A (ru) 2015-07-03
SG10201606964VA (en) 2016-10-28
AU2016277719B2 (en) 2017-12-07
AU2013305544A1 (en) 2015-04-09
WO2014032031A2 (en) 2014-02-27
RU2015110044A (ru) 2016-10-20
US8825550B2 (en) 2014-09-02
WO2014032031A3 (en) 2014-05-08
BR112015003786A2 (pt) 2017-07-04
JP6144346B2 (ja) 2017-06-07
CN104620222A (zh) 2015-05-13
AU2016277719A1 (en) 2017-02-02
AU2013305544B2 (en) 2016-09-29
US20140304404A1 (en) 2014-10-09
CA2882531A1 (en) 2014-02-27
EP2888663A2 (en) 2015-07-01
CN110308990A (zh) 2019-10-08
US20140058871A1 (en) 2014-02-27
JP2015529918A (ja) 2015-10-08

Similar Documents

Publication Publication Date Title
RU2616167C2 (ru) Масштабирование экземпляра виртуальной машины
US10248461B2 (en) Termination policies for scaling compute resources
US11146498B2 (en) Distributed resource scheduling based on network utilization
US10514960B2 (en) Iterative rebalancing of virtual resources among VMs to allocate a second resource capacity by migrating to servers based on resource allocations and priorities of VMs
US11023330B2 (en) Efficient scheduling of backups for cloud computing systems
US10235209B2 (en) Hybrid task framework
US10394594B2 (en) Management of a virtual machine in a virtualized computing environment based on a concurrency limit
US9176764B1 (en) Managing memory in virtualized environments
US20200218579A1 (en) Selecting a cloud service provider
JP2020024722A (ja) ストリーミング・サーバのセッション・アイドル最適化
US11126467B2 (en) Proactive load-balancing using retroactive work refusal
Khatua et al. Optimizing the utilization of virtual resources in cloud environment
US11502972B2 (en) Capacity optimization in an automated resource-exchange system
US20220318647A1 (en) Single framework for both streaming and on-demand inference
Kumar et al. A load balancing based cloud computing techniques and challenges
US9817756B1 (en) Managing memory in virtualized environments
EP3387816A1 (en) Connecting and retrieving security tokens based on context
US11544230B2 (en) Cross environment update of cloud resource tags
Upadhyay et al. Migration of over loaded process and schedule for resource utilization in cloud computing
US10300386B1 (en) Content item instance scaling based on wait time