RU2653292C2 - Перенос служб через границы кластеров - Google Patents

Перенос служб через границы кластеров Download PDF

Info

Publication number
RU2653292C2
RU2653292C2 RU2015127526A RU2015127526A RU2653292C2 RU 2653292 C2 RU2653292 C2 RU 2653292C2 RU 2015127526 A RU2015127526 A RU 2015127526A RU 2015127526 A RU2015127526 A RU 2015127526A RU 2653292 C2 RU2653292 C2 RU 2653292C2
Authority
RU
Russia
Prior art keywords
service
cluster
address
stopping
computing environment
Prior art date
Application number
RU2015127526A
Other languages
English (en)
Other versions
RU2015127526A (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 RU2015127526A publication Critical patent/RU2015127526A/ru
Application granted granted Critical
Publication of RU2653292C2 publication Critical patent/RU2653292C2/ru

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5076Update or notification mechanisms, e.g. DynDNS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Small-Scale Networks (AREA)
  • Telephonic Communication Services (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)

Abstract

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

Description

УРОВЕНЬ ТЕХНИКИ
[0001] Крупные центры обработки больших объемов данных, как правило, содержат организованные кластеры аппаратных машин, выполняющих наборы стандартных программных пакетов, такие как сетевые обслуживающие узлы, обслуживающие узлы баз данных, и тому подобное. С целью обеспечения отказоустойчивости и администрирования машины в центре обработки данных, как правило, разбиваются на несколько кластеров, которые независимо контролируются и администрируются при помощи платформы, которая координирует ресурсы для программных приложений. В одном варианте осуществления платформой может быть Контроллер Структуры (Fabric Controller) Windows Azure™, например, который предоставляет, поддерживает, контролирует, и распоряжается виртуальными машинами (ВМ) и физическими обслуживающими узлами, которые составляют центр обработки данных.
[0002] В существующих центрах обработки данных каждый абонент разворачивается на отдельном кластере на весь свой жизненный цикл, что позволяет администрировать развертывание абонентов при помощи одной платформы. Эта конфигурация, однако, может ограничивать рост абонента, поскольку расширение ограничивается машинами в пределах одного кластера. Жесткая связь между абонентами и кластерами требует от операторов центра обработки данных сохранять функциональные возможности для кластера на уровне, который будет отвечать потенциальным будущим потребностям абонентов, развернутых на этом кластере. Часто это приводит к тому, что кластеры работают с низким текущим коэффициентом использования в ожидании возможных будущих требований. Даже когда поддерживаются избыточные функциональные возможности, это только повышает вероятность того, что будущие требования абонента будут обеспечены. Нет никакой гарантии, что запрос масштабирования абонента будет ограничен зарезервированными функциональными возможностями и, следовательно, иногда абонент может не получить необходимые функциональные возможности.
[0003] Ограничение службы одним кластером создает также и единую точку отказа для этой службы. Если платформа, управляющая этим кластером, выходит из строя, то весь кластер выходит из строя, и все службы, поддерживаемые на кластере, будут недоступны.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0004] Настоящий раздел «Сущность изобретения» приводится для того, чтобы в упрощенной форме представить выбор концепций, которые ниже дополнительно описаны в разделе «Подробное описание изобретения». Этот раздел «Сущность изобретения» не предназначен для выявления ключевых признаков или основных признаков заявленного предмета изобретения, а также не предназначен для использования с целью ограничения объема заявленного предмета изобретения.
[0005] Варианты осуществления настоящего изобретения позволяют службе абонентов перемещаться между несколькими кластерами с перерывом в работе или без этого. Служба связывается с конкретным IP-адресом в кластере. Пользователи получают доступ к службе, используя доменное имя, которое переводится в IP-адрес при помощи системы доменных имен (DNS - domain name system) или другой службы сетевого расположения. IP-адрес службы может изменяться или не изменяться при перемещении службы между кластерами.
[0006] Служба может быть перенесена с перерывом в работе посредством подготовки нового экземпляра службы на новом кластере, ожидания готовности нового экземпляра, остановки после этого исходного экземпляра и установления указания DNS-имени упомянутой службы на IP-адрес, соответствующий новому развертыванию службы на новом кластере.
[0007] В соответствии с другим вариантом, служба может быть перенесена на новый кластер с перерывом в работе и может оставлять за собой исходный IP-адрес. Это позволило бы избежать необходимости перепрограммирования DNS и связанных с этим задержек при повторной загрузке промежуточного буфера DNS.
[0008] Дополнительный альтернативный вариант для переноса службы состоит в том, чтобы выполнить перенос без перерыва в работе, перемещая службу по частям таким образом, чтобы служба всегда выполнялась на каком-то одном или на обоих кластерах в течение всего перемещения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0009] В целях дополнительного пояснения вышеупомянутых и других преимуществ и признаков вариантов осуществления настоящего изобретения более подробное описание вариантов осуществления настоящего изобретения предоставлено ниже со ссылкой на прилагаемые чертежи. Следует понимать, что эти чертежи изображают лишь типичные варианты осуществления настоящего изобретения и не должны, следовательно, рассматриваться как ограничивающие его объем. Настоящее изобретение будет описано и объяснено с дополнительной конкретизацией и подробностями с использованием прилагаемых чертежей, на которых:
[0010] Фиг. 1 является структурной схемой, иллюстрирующей устройство переноса абонента, которое используется для перемещения служб по разным кластерам.
[0011] Фиг. 2 иллюстрирует перенос службы, который имеет перерыв в работе службы и требует перепрограммирования DNS.
[0012] Фиг. 3 иллюстрирует перенос службы, который имеет перерыв в работе службы, но который сохраняет IP-адрес службы.
[0013] Фиг. 4 иллюстрирует перенос службы, который устраняет перерыв в работе и сохраняет IP-адрес службы.
[0014] Фиг. 5 иллюстрирует пример подходящей вычислительной и сетевой среды для устройства переноса абонента.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[0015] Фиг. 1 является структурной схемой, иллюстрирующей средство 11 переноса абонента, которое используется для перемещения служб по разным кластерам 12, 13. Средство 11 переноса абонента соединено со всеми кластерами в центре обработки данных. После того как оператор центра обработки данных принимает решение о перемещении службы между кластерами, например, чтобы сбалансировать коэффициент использования или чтобы соответствовать требованиям абонента, средство 11 переноса абонента идентифицирует надлежащий целевой кластер для службы. Выбор целевого кластера может быть основан на таких факторах, как коэффициент использования потенциальных целевых кластеров, текущие требования к обслуживанию, предъявляемые службой, и т.д. После идентификации целевого кластера средство 11 переноса абонента перемещает службы посредством создания/удаления экземпляров на ВМ 14, 15 на исходном и новом кластере.
[0016] Средство 11 переноса абонента задает, выполняется ли перенос с перерывом в работе или без этого, по выбору оператора. Средство 11 переноса абонента может запросить обновление DNS-записей, если службе назначается новый IP-адрес, или может переместить IP-адрес на новый кластер, если служба поддерживает тот же самый адрес. Присутствие службы является взаимоисключающим во время переноса. Например, при переносе службы средство 11 переноса абонента гарантирует, что никогда не выполняется одновременно два экземпляра службы с точки зрения потребителя.
[0017] Фиг. 2 иллюстрирует перенос службы, который имеет перерыв в работе службы и требует перепрограммирования DNS, согласно одному варианту осуществления. Средство 21 переноса абонента идентифицировало службу, выполняющуюся на кластере 22, которая должна быть перемещена на кластер 23. Старой службе назначен старый IP-адрес на кластере 22. На этапе 201 средство 21 переноса абонента идентифицирует и копирует служебные артефакты, такие как код, биты, сертификаты, модели и т.д. из кластера 22. С использованием этих артефактов новая служба создается на этапе 202 на кластере 23, но служба не запускается.
[0018] Средство 21 переноса абонента предписывает новому кластеру 23 провести подготовку новой службы, на этапе 203. Кластер 23 выбирает подходящие узлы и устанавливает машины ВМ для выполнения службы, на этапе 204. Новый IP-адрес на кластере 23 назначается для новой службы. Кластер 23 не запускает службу в этот момент. Средство 21 переноса абонента ждет, на этапе 206, проведения подготовки службы на новом кластере, о чем извещается, например, на этапе 205.
[0019] После проведения подготовки новой службы средство 21 переноса абонента останавливает старую службу на этапе 207 а затем запускает новую службу на этапе 208. Старая служба удаляется из кластера 22 на этапе 209, что освобождает место для других служб, выполняющихся на этом кластере, для их расширения или добавления.
[0020] Затем средство переноса абонента обновляет центральную DNS-запись, на этапе 210, так что устанавливается указание доменного имени для службы на подходящий новый IP-адрес на кластере 23. Обновления DNS-записи могут быть выполнены одновременно с этапами 207 и 208, пока старая служба останавливается, а новая служба запускается.
[0021] Существует период между остановкой старой службы на этапе 207 и запуском новой службы на этапе 208, когда служба не будет доступна пользователям. Кроме того, если пользователи получают доступ к службе, используя доменное имя, то может быть дополнительная задержка, пока DNS-записи обновляются со старого IP-адреса на новый IP-адрес для доменного имени службы. Поскольку DNS поддерживает много локальных промежуточных кэшей, распределенных по сети Интернет, требуется время для обновления всех этих промежуточных кэшей. После обновления центральных DNS-записей локальные промежуточные кэши DNS очищаются и обновляются с использованием нового IP-адреса. Пока не произойдут эти обновления, пользователи будут направляться на старый кластер 22, на котором служба больше не выполняется и, следовательно, попытки использовать службу будут неудачными.
[0022] Фиг. 3 иллюстрирует перенос службы, который имеет перерыв в работе службы, но который сохраняет IP-адрес службы, согласно одному варианту осуществления. Средство 31 переноса абонента идентифицировало службу, выполняющуюся на кластере 32, которая должна быть перемещена на кластер 33. Старой службе назначен IP-адрес на кластере 32. На этапе 301 средство 31 переноса абонента идентифицирует и копирует служебные артефакты, такие как код, биты, сертификаты, модели и т.д., из кластера 32. С использованием этих артефактов, новая служба создается на этапе 302 на кластере 33, но служба не запускается.
[0023] Средство 31 переноса абонента предписывает новому кластеру 33 провести подготовку новой службы, на этапе 303. Кластер 33 выбирает подходящие узлы и устанавливает машины ВМ для выполнения службы, на этапе 304. Кластер 33 не запускает службу в этот момент. Средство 31 переноса абонента ждет, на этапе 306, проведения подготовки службы на новом кластере, о чем извещается, например, на этапе 305.
[0024] После проведения подготовки новой службы средство 31 переноса абонента останавливает старую службу, на этапе 307. На этапе 308 IP-адрес для службы удаляется из кластера 32.
[0025] IP-адрес для службы добавляется в кластер 33 на этапе 309, и новая служба на кластере 33 запускается на этапе 310.
[0026] Наконец, старая служба удаляется из кластера 32 на этапе 311, что освобождает место для других служб, выполняющихся на этом кластере, для их расширения или добавления.
[0027] Поскольку IP-адрес для службы не изменился, средство переноса абонента не должно обновлять DNS-записи, как требовалось в процессе, показанном на Фиг. 2. Таким образом, существует период между остановкой старой службы на этапе 307 и запуском новой службы на этапе 310, когда служба не будет доступна пользователям. Однако, как только новая служба запущена, пользователи могут по-прежнему получить доступ к службе, используя доменное имя, без ожидания какого-то времени задержки из-за обновления DNS-записи. Локальные кэши DNS будут правильными, поскольку доменное имя для службы по-прежнему будет связано с тем же самым IP-адресом для службы.
[0028] Фиг. 4 иллюстрирует перенос службы, который устраняет перерыв в работе и сохраняет IP-адрес службы, согласно одному варианту осуществления. Средство 41 переноса абонента идентифицировало службу, выполняющуюся на кластере 42, которая должна быть перемещена на кластер 43. Старой службе назначен старый IP-адрес на кластере 42. На этапе 401 средство 41 переноса абонента идентифицирует и копирует служебные артефакты, такие как код, биты, сертификаты, модели, и т.д., из кластера 42. С использованием этих артефактов новая служба создается на этапе 402 на кластере 43, но служба не запускается.
[0029] Средство 41 переноса абонента предписывает новому кластеру 43 провести подготовку новой службы, на этапе 403. Кластер 43 выбирает подходящие узлы и устанавливает машины ВМ для выполнения службы, на этапе 404. Один и тот же IP-адрес используется для службы как на кластере 42, так и на кластере 43. Средство 41 переноса абонента ждет, на этапе 406, проведения подготовки службы на новом кластере, о чем извещается, например, на этапе 405.
[0030] После проведения подготовки новой службы средство 41 переноса абонента останавливает часть старой службы, на этапе 407. Затем средство 41 переноса абонента запускает соответствующую часть новой службы, на этапе 408. Сеть также обновляется по мере необходимости, на этапе 408, чтобы соединить запущенные части старой и новой службы, а так же подсистемы балансировки нагрузки и другие компоненты обеспечения маршрутизации, чтобы позволить им устанавливать указание на запущенную службу на всех кластерах 42, 43. В отличие от процессов, показанных на Фиг. 2 и 3, только часть службы (например, выбранное число ВМ или экземпляров) останавливается на этапе 407, а затем запускается на этапе 408. Средство переноса абонента ждет, на этапе 409, когда часть, которая была запущена на новом кластере, будет готова для использования.
[0031] После того как новая часть готова на этапе 409, средство переноса абонента повторяет (410) этапы 407-409 для следующей части службы. Эти этапы продолжаются в цикле 410, пока вся служба не будет по частям перемещена со старого кластера 42 на новый кластер 43. В одном варианте осуществления служба, требующая одной области обновления, перемещается за один раз во время каждого прохода цикла 410. Абонент может быть готов потерять область модификации во время модификаций службы, так что эти сегменты могут использоваться, чтобы разделить службу для переноса между кластерами.
[0032] После перемещения всех частей службы в цикле 410 старая служба удаляется из кластера 42, на этапе 411.
[0033] Поскольку IP-адрес для службы не изменился, средство переноса абонента не должно обновлять DNS-записи, как это делалось в процессе, показанном на Фиг. 2. Отсутствует период, в течение которого служба остановлена на обоих кластерах. Соответственно, служба всегда будет доступна пользователям без перерыва в работе.
[0034] Фиг. 5 иллюстрирует пример подходящей вычислительной и сетевой среды, в которой могут быть реализованы примеры, изображенные на Фиг. 1-4. Например, средство 11 переноса абонента и/или ВМ 14, 15 могут быть размещены на одной или нескольких вычислительных системах 500. Вычислительная системная среда 500 является лишь одним примером подходящей вычислительной среды и не предполагает указания на какое-либо ограничение области применения или функциональных возможностей настоящего изобретения. Множество таких вычислительных систем 500 могут быть сгруппированы для поддержки кластеров 11, 12 в центре обработки данных, например. Настоящее изобретение способно работать с многочисленными другими вычислительными системными средами или конфигурациями общего или специального назначения. Примеры общеизвестных вычислительных систем, сред и/или конфигураций, которые могут быть пригодны для использования с настоящим изобретением, включают в себя, но не ограничиваются этим: персональные компьютеры, служебные компьютеры, карманные или портативные устройства, планшетные устройства, многопроцессорные системы, системы на базе микропроцессоров, телевизионные абонентские приставки, программируемую бытовую электронику, сетевые ПК, миникомпьютеры, универсальные компьютеры, распределенные вычислительные среды, которые включают в себя любые из вышеупомянутых систем или устройств, и тому подобное.
[0035] Настоящее изобретение может быть описано в общем контексте исполняемых компьютером инструкций, таких как программные модули, исполняемые компьютером. Как правило, программные модули включают в себя процедуры, программы, объекты, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Настоящее изобретение также может быть осуществлено на практике в распределенных вычислительных средах, когда задачи выполняются удаленными устройствами обработки, которые взаимосвязаны через сеть связи. В распределенной вычислительной среде программные модули могут быть расположены на локальных и/или удаленных компьютерных носителях данных, в том числе запоминающих устройствах.
[0036] Обратимся к Фиг. 5, иллюстративная система для реализации различных аспектов настоящего изобретения может включать в себя вычислительное устройство общего назначения в форме компьютера 500. Компоненты могут включать в себя, но не ограничиваются этим, различные аппаратные компоненты, такие как блок 501 обработки, хранилище 502 данных, такое как системная память, и системную шину 503, которая подсоединяет различные системные компоненты, в том числе хранилище 502 данных, к блоку 501 обработки. Системная шина 503 может быть любой из нескольких типов шинных структур, в том числе шиной памяти или устройством управления памятью, шиной периферийных устройств и локальной шиной, использующей любую из множества шинных архитектур. В качестве примера, но не ограничения, такие архитектуры включают в себя шину Промышленной Стандартной Архитектуры (ISA - Industry Standard Architecture), шину Микроканальной Архитектуры (MCA -Micro Channel Architecture), шину Расширенной ISA (EISA - Enhanced ISA), локальную шину стандарта Ассоциации по стандартам в области видеоэлектроники (VESA - Video Electronics Standards Association), и шину Взаимодействия Периферийных Компонентов (PCI - Peripheral Component Interconnect), также известную как шина второго уровня.
[0037] Компьютер 500, как правило, включает в себя множество машиночитаемых носителей 504. Машиночитаемые носители 504 могут быть любыми доступными носителями, к которым можно получить доступ при помощи компьютера 500, и включают в себя как энергозависимые, так и энергонезависимые носители, а также съемные и несъемные носители, но не включают в себя передаваемые сигналы. В качестве примера, но не ограничения, машиночитаемые носители 504 могут содержать компьютерные носители данных и средства связи. Компьютерные носители данных включают в себя энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные любым способом или технологией для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Компьютерные носители данных включают в себя, но не ограничиваются этим, ОЗУ, ПЗУ, ЭСППЗУ, флэш-память или память, изготовленную по другой технологии, CD-ROM, цифровые универсальные диски (DVD - digital versatile disk) или другое хранилище на оптических дисках, магнитные кассеты, магнитную ленту, хранилище на магнитных дисках или другие магнитные устройства хранения данных, или любой другой носитель, который может использоваться для хранения требуемой информации, и к которому можно получить доступ при помощи компьютера 500. Средства связи, как правило, воплощают машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущая волна или иной транспортный механизм, и включают в себя любые средства доставки информации. Термин «модулированный сигнал данных» означает сигнал, у которого одна или более его характеристик установлены или изменены таким образом, чтобы кодировать информацию в сигнале. В качестве примера, но не ограничения, средства связи включают в себя проводные среды передачи данных, такие как проводная сеть или прямое проводное соединение, и беспроводные среды передачи данных, такие как акустические, РЧ, инфракрасные и другие беспроводные среды передачи данных. Любые комбинации из вышеперечисленного тоже могут подпадать под определение машиночитаемых носителей. Машиночитаемые носители могут быть воплощены в виде компьютерного программного продукта, такого как программное обеспечение, сохраненное на компьютерных носителях данных.
[0038] Хранилище данных или системная память 502 включает в себя компьютерные носители данных в форме энергозависимой и/или энергонезависимой памяти, такие как постоянное запоминающее устройство (ПЗУ) и оперативное запоминающее устройство (ОЗУ). Базовая система ввода/вывода (БСВВ, BIOS), содержащая основные процедуры, которые помогают передавать информацию между элементами в пределах компьютера 500, например, во время начальной загрузки, как правило, хранится в ПЗУ. ОЗУ, как правило, содержит данные и/или программные модули, которые непосредственно доступны для блока 501 обработки и/или которыми он оперирует в данный момент. В качестве примера, но не ограничения, в хранилище 502 данных помещается операционная система, прикладные программы, и другие программные модули и программные данные.
[0039] Хранилище 502 данных также может включать в себя другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители данных. Лишь в качестве примера хранилищем 502 данных может быть накопитель на жестких дисках, который считывает или записывает на несъемный, энергонезависимый магнитный носитель, накопитель на магнитных дисках, который считывает или записывает на съемный, энергонезависимый магнитный диск, и накопитель на оптических дисках, который считывает или записывает на съемный, энергонезависимый оптический диск, такой как CD-ROM или другие оптические носители. Другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители данных, которые могут использоваться в иллюстративной операционной среде, включают в себя, но не ограничиваются этим, кассеты с магнитной лентой, карты флэш-памяти, цифровые универсальные диски, цифровую видеоленту, твердотельное ОЗУ, твердотельное ПЗУ и тому подобное. Накопители и связанные с ними компьютерные носители данных, описанные выше и показанные на Фиг. 5, обеспечивают хранение машиночитаемых инструкций, структур данных, программных модулей и других данных для компьютера 500.
[0040] Пользователь может вводить команды и информацию посредством интерфейса 505 пользователя или других устройств ввода, таких как планшет, электронный цифровой преобразователь, микрофон, клавиатура и/или координатно-указательное устройство, обычно называемое мышь, шаровой манипулятор или сенсорная панель. Другие устройства ввода могут включать в себя рычажный указатель, игровую панель, спутниковую антенну, сканирующее устройство и тому подобное. Дополнительно, голосовой ввод данных, ввод посредством жестов с помощью рук или пальцев или другой естественный пользовательский интерфейс (NUI - natural user interface) тоже может использоваться с подходящими устройствами ввода, такими как микрофон, камера, планшет, сенсорная панель, перчатка или другой чувствительный элемент. Эти и другие устройства ввода часто соединяются с блоком 501 обработки через интерфейс 505 ввода данных пользователем, который подсоединяется к системной шине 503, но может соединяться при помощи других интерфейсных и шинных структур, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB - universal serial bus). Монитор 506 или устройство отображения другого типа также соединяется с системной шиной 503 через интерфейс, такой как видеоинтерфейс. Монитор 506 также может быть совмещен с сенсорной экранной панелью или тому подобным. Следует отметить, что монитор и/или сенсорная экранная панель могут быть физически подсоединены к корпусу, в который вмонтировано вычислительное устройство 500, например, в персональном компьютере планшетного типа. Помимо этого компьютеры, такие как вычислительное устройство 500, также могут включать в себя другие периферийные устройства вывода, такие как громкоговорители и печатающее устройство, которые могут соединяться через выходной периферийный интерфейс, или тому подобное.
[0041] Компьютер 500 может работать в сетевой среде или в среде облачных вычислений, используя логические соединения 507 с одним или более удаленными устройствами, такими как удаленный компьютер. Удаленный компьютер может быть персональным компьютером, обслуживающим узлом, маршрутизатором, сетевым ПК, одноранговым устройством или другим общим сетевым узлом, и, как правило, включает в себя многие или все элементы, описанные выше применительно к компьютеру 500. Логические соединения, изображенные на Фиг. 5, включают в себя одну или более локальных вычислительных сетей (ЛВС) и одну или более глобальных вычислительных сетей (ГВС), но могут также включать в себя и другие сети. Такие сетевые среды представляют собой обычное явление в офисах, корпоративных компьютерных сетях, сетях интранет и Интернет.
[0042] При использовании в сетевой среде или в среде облачных вычислений компьютер 500 может быть соединен с общедоступной или частной сетью через сетевой интерфейс или устройство 507 сопряжения. В некоторых вариантах осуществления устройство модуляции/демодуляции или другое средство для установления связи по сети. Устройство модуляции/демодуляции, которое может быть внутренним или внешним, может быть соединено с системной шиной 503 посредством сетевого интерфейса 507 или другого подходящего механизма. Беспроводной сетевой компонент, например, содержащий интерфейс и антенну, может быть подсоединен к сети через специальное устройство, такое как точка доступа или одноранговый компьютер. В сетевой среде программные модули, изображенные применительно к компьютеру 500, или их части могут храниться на удаленном запоминающем устройстве. Можно понять, что продемонстрированные сетевые соединения являются иллюстративными, и могут быть использованы другие средства установления линии связи между компьютерами.
[0043] Несмотря на то что предмет изобретения был описан в терминах, предназначенных для структурных признаков и/или относящихся к методике действий, нужно понимать, что предмет изобретения, определяемый в прилагаемой формуле изобретения, не обязательно ограничивается конкретными признаками или действиями, описанными выше. Скорее, конкретные признаки и действия, описанные выше, раскрываются как типовые формы реализации формулы изобретения.

Claims (24)

1. Реализуемый с помощью компьютера способ переноса служб между ресурсами в вычислительной среде, при этом способ содержит этапы, на которых
копируют артефакты для службы, выполняющейся на первом кластере (12, 22, 32, 42) в вычислительной среде, причем первый кластер (12, 22, 32, 42) содержит первую группу виртуальных машин (14);
создают службу на втором кластере (13, 23, 33, 43) в вычислительной среде, используя эти артефакты, причем второй кластер (13, 23, 33, 43) содержит вторую группу виртуальных машин (15);
проводят подготовку службы на втором кластере (13, 23, 33, 43), так что служба готова к выполнению, но не запущена;
после того как новая служба была подготовлена, останавливают службу или выбранную часть службы на первом кластере (12, 22, 32, 42);
затем запускают соответствующую службу или соответствующую выбранную часть службы на втором кластере (13, 23, 33, 43);
выполняют упомянутый этап остановки и запуска один, два или более раз до тех пор, пока служба или все части выбранной службы не будут остановлены на первом кластере (12, 22, 32, 42) и соответствующая служба или все соответствующие части службы не будут запущены на втором кластере (13, 23, 33, 43);и
удаляют службу на первом кластере (12, 22, 32, 42), при этом средство (11, 21, 31, 41) переноса абонента, которое соединяется со всеми кластерами в центре обработки данных и идентифицирует надлежащий целевой кластер для службы, выполняет упомянутые этапы копирования, создания, остановки, подготовки и удаления.
2. Способ по п. 1, в котором
остановка выбранной части службы на первом кластере (12, 22, 32, 42) содержит остановку службы на первом кластере (12, 22, 32, 42);
запуск соответствующей выбранной части службы на втором кластере (13, 23, 33, 43) содержит запуск службы на втором кластере (13, 23, 33, 43).
3. Способ по п. 2, дополнительно содержащий этапы, на которых
назначают IP-адрес для службы на втором кластере (13, 23, 33, 43); и
обновляют службу сетевого расположения, чтобы связать службу с IP-адресом на втором кластере (13, 23, 33, 43).
4. Способ по п. 3, в котором службой сетевого расположения является Система Доменных Имен (DNS).
5. Способ по п. 2, дополнительно содержащий этапы, на которых
после остановки службы на первом кластере (12, 22, 32, 42) удаляют IP-адрес, связанный со службой, из первого кластера (12, 22, 32, 42); и
назначают этот IP-адрес для службы на втором кластере (13, 23, 33, 43).
6. Способ по п. 1, в котором копируемые артефакты содержат одно или более из следующего: код, сертификаты и модели.
7. Способ по п. 1, в котором первый кластер (12, 22, 32, 42) и второй кластер (13, 23, 33, 43) расположены в центре обработки данных.
8. Способ по п. 1, содержащий выполнение упомянутых этапов остановки и запуска два или более раз, до тех пор пока все части выбранной службы не будут остановлены на первом кластере (12, 22, 32, 42) и все соответствующие части службы не будут запущены на втором кластере (13, 23, 33, 43).
9. Способ по п. 8, дополнительно содержащий:
назначение IP-адреса для службы; и
поддержку службы одновременно как на первом кластере (12, 22, 32, 42), так и на втором кластере (13, 23, 33, 43), используя упомянутый IP-адрес.
RU2015127526A 2013-01-09 2014-01-08 Перенос служб через границы кластеров RU2653292C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/737,745 US9338254B2 (en) 2013-01-09 2013-01-09 Service migration across cluster boundaries
US13/737,745 2013-01-09
PCT/US2014/010571 WO2014110062A1 (en) 2013-01-09 2014-01-08 Service migration across cluster boundaries

Publications (2)

Publication Number Publication Date
RU2015127526A RU2015127526A (ru) 2017-01-13
RU2653292C2 true RU2653292C2 (ru) 2018-05-07

Family

ID=50031563

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2015127526A RU2653292C2 (ru) 2013-01-09 2014-01-08 Перенос служб через границы кластеров

Country Status (8)

Country Link
US (2) US9338254B2 (ru)
EP (1) EP2944070B1 (ru)
JP (1) JP6739938B2 (ru)
CN (1) CN105052111B (ru)
BR (1) BR112015016081B1 (ru)
RU (1) RU2653292C2 (ru)
TW (1) TW201434300A (ru)
WO (1) WO2014110062A1 (ru)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9769032B1 (en) 2015-03-20 2017-09-19 Databricks Inc. Cluster instance management system
JP2017004120A (ja) * 2015-06-05 2017-01-05 キヤノン株式会社 システム、サーバーシステム、方法、およびプログラム
CN107133087A (zh) 2016-02-29 2017-09-05 阿里巴巴集团控股有限公司 一种资源调度方法与设备
US10135916B1 (en) 2016-09-19 2018-11-20 Amazon Technologies, Inc. Integration of service scaling and external health checking systems
US10182033B1 (en) * 2016-09-19 2019-01-15 Amazon Technologies, Inc. Integration of service scaling and service discovery systems
WO2020012747A1 (ja) * 2018-07-12 2020-01-16 日本電信電話株式会社 識別装置、識別方法及び識別プログラム
US10733029B2 (en) * 2018-07-31 2020-08-04 Hewlett Packard Enterprise Development Lp Movement of services across clusters
CN111130820B (zh) * 2018-10-30 2023-05-30 阿里巴巴集团控股有限公司 集群管理方法、装置及计算机***
US11456967B2 (en) * 2019-03-04 2022-09-27 Arris Enterprises Llc System and method for increasing flexibility and high availability in remote network devices
US11281551B2 (en) 2019-04-05 2022-03-22 Hewlett Packard Enterprise Development Lp Enhanced configuration management of data processing clusters
WO2020236861A1 (en) * 2019-05-22 2020-11-26 Microsoft Technology Licensing. LLC Systems and methods for distribution of application logic in digital networks
CN110333986B (zh) * 2019-06-19 2023-12-29 上海二三四五网络科技有限公司 一种保障redis集群可用性的方法
US11347562B2 (en) * 2019-07-09 2022-05-31 Hewlett Packard Enterprise Development Lp Management of dependencies between clusters in a computing environment
CN112689015B (zh) * 2020-12-24 2023-06-06 北京顺达同行科技有限公司 跨集群服务发现实现集群迁移的方法、***及计算机设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155462B1 (en) * 2002-02-01 2006-12-26 Microsoft Corporation Method and apparatus enabling migration of clients to a specific version of a server-hosted application, where multiple software versions of the server-hosted application are installed on a network
US20090276771A1 (en) * 2005-09-15 2009-11-05 3Tera, Inc. Globally Distributed Utility Computing Cloud
US20100287263A1 (en) * 2009-05-05 2010-11-11 Huan Liu Method and system for application migration in a cloud
RU2436149C2 (ru) * 2006-02-28 2011-12-10 Майкрософт Корпорейшн Мигрирование виртуальной машины, которая владеет ресурсом, таким, как аппаратное устройство
US20120297238A1 (en) * 2011-05-20 2012-11-22 Microsoft Corporation Cross-cloud computing for capacity management and disaster recovery

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7954138B2 (en) * 2007-08-16 2011-05-31 International Business Machines Corporation Method and system for multiplexing multiple level security server applications on the same internet address and port
US8117495B2 (en) 2007-11-26 2012-02-14 Stratus Technologies Bermuda Ltd Systems and methods of high availability cluster environment failover protection
US9208188B2 (en) 2009-02-17 2015-12-08 Microsoft Technology Licensing, Llc Tenant management of a hosted multi-tenant application
US8924534B2 (en) 2009-10-27 2014-12-30 Vmware, Inc. Resource optimization and monitoring in virtualized infrastructure
US20120054624A1 (en) 2010-08-27 2012-03-01 Owens Jr Kenneth Robert Systems and methods for a multi-tenant system providing virtual data centers in a cloud configuration
US8560895B2 (en) * 2010-05-26 2013-10-15 Tibco Software Inc. Distillation and reconstruction of provisioning components
US8380667B2 (en) 2010-08-11 2013-02-19 Sap Ag Selectively upgrading clients in a multi-tenant computing system
US9069620B2 (en) * 2010-10-20 2015-06-30 Microsoft Technology Licensing, Llc Creating and deploying service-ready virtual hard disks
IL214312A (en) 2011-07-27 2016-06-30 Verint Systems Ltd A system and method for managing information lifecycle in investigation files

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155462B1 (en) * 2002-02-01 2006-12-26 Microsoft Corporation Method and apparatus enabling migration of clients to a specific version of a server-hosted application, where multiple software versions of the server-hosted application are installed on a network
US20090276771A1 (en) * 2005-09-15 2009-11-05 3Tera, Inc. Globally Distributed Utility Computing Cloud
RU2436149C2 (ru) * 2006-02-28 2011-12-10 Майкрософт Корпорейшн Мигрирование виртуальной машины, которая владеет ресурсом, таким, как аппаратное устройство
US20100287263A1 (en) * 2009-05-05 2010-11-11 Huan Liu Method and system for application migration in a cloud
US20120297238A1 (en) * 2011-05-20 2012-11-22 Microsoft Corporation Cross-cloud computing for capacity management and disaster recovery

Also Published As

Publication number Publication date
US20140195687A1 (en) 2014-07-10
EP2944070A1 (en) 2015-11-18
US20160294930A1 (en) 2016-10-06
US9338254B2 (en) 2016-05-10
BR112015016081A2 (pt) 2017-07-11
JP2016508349A (ja) 2016-03-17
BR112015016081B1 (pt) 2023-03-28
CN105052111B (zh) 2019-08-16
US10116735B2 (en) 2018-10-30
TW201434300A (zh) 2014-09-01
BR112015016081A8 (pt) 2019-10-22
RU2015127526A (ru) 2017-01-13
JP6739938B2 (ja) 2020-08-12
WO2014110062A1 (en) 2014-07-17
CN105052111A (zh) 2015-11-11
EP2944070B1 (en) 2019-07-31

Similar Documents

Publication Publication Date Title
RU2653292C2 (ru) Перенос служб через границы кластеров
KR102628362B1 (ko) 컨테이너화된 환경에서 클러스터의 라이브 마이그레이션
US10855770B2 (en) Deploying and managing containers to provide a highly available distributed file system
CN108475251B (zh) 针对容器的虚拟网络、热交换、热缩放与灾难恢复
CN109196474B (zh) 计算***中的分布式操作控制
US9015177B2 (en) Dynamically splitting multi-tenant databases
US10922123B2 (en) Container migration in computing systems
US20160266938A1 (en) Load balancing function deploying method and apparatus
US20140007092A1 (en) Automatic transfer of workload configuration
US11425054B1 (en) User-configured multi-location service deployment and scaling
US11765244B1 (en) Latency-based service discovery and routing for multi-location service-oriented applications
WO2020131480A1 (en) Methods, apparatuses and systems for configuring a network environment for a server
US8838768B2 (en) Computer system and disk sharing method used thereby
US11573839B1 (en) Dynamic scheduling for live migration between cloud regions and edge locations
US11853785B1 (en) Virtual machine cloning and resource configuration
KR20230067224A (ko) 다중 엣지 서버 환경에서 클러스터 장치들 간의 서비스 데이터의 이동 및 배치를 제어할 수 있는 컨테이너 오케스트레이션 시스템