Способ и система формирования гибкого узла на локальных или распределенных вычислительных системах

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

 

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННУЮ ЗАЯВКУ

[0001] Данная заявка заявляет преимущество приоритета предварительной заявки на патент США № 61/825,284, озаглавленной “METHOD AND SYSTEM FOR FLEXIBLE NODE COMPOSITION ON LOCAL OR DISTRIBUTED COMPUTER SYSTEMS”, поданной 20 мая 2013, которая включена в данный документ в полном объеме.

КРАТКАЯ СУЩНОСТЬ ИЗОБРЕТЕНИЯ

[0002] Варианты осуществления, описанные здесь, направлены на масштабирование услуг, переход от первой версии услуги ко второй версии, и на реализацию услуги внешней системной интеграции. В одном варианте осуществления вычислительная система устанавливает услугу брокера сообщений, которая поддерживает очереди сообщений, которые обеспечивают связь между услугами. Очереди сообщений принимают сообщения от издателей и передают сообщения к подписчикам. Вычислительная система указывает заданную очередь сообщений для каждой услуги, причем заданная очередь сообщений выполнена с возможностью поддержки сообщений для этой услуги. Вычислительная система также обеспечивает по меньшей мере одной из услуг возможность перемещения во вторую, другую вычислительную систему, в то время как заданная очередь сообщений поддерживает сообщения для перемещенной услуги.

[0003] В другом варианте осуществления вычислительная система переходит от первой версии услуги ко второй версии. Вычислительная система реализует первую версию услуги и реализует вторую версию той же услуги таким образом, чтобы первая версия услуги и вторая версия услуги выполнялись одновременно. Затем вычислительная система определяет, что сообщение, отправленное к первой версии услуги для обработки (или сообщение, которые еще не отправлено ни к какой услуге), подлежит отправке ко второй версии услуги, и обрабатывает сообщение с использованием второй версии услуги.

[0004] В еще одном варианте осуществления вычислительная система реализует услугу внешней системной интеграции. Вычислительная система определяет, что была установлена внутренняя услуга брокера сообщений. Услуга брокера сообщений выполнена с возможностью поддержки очередей сообщений, которые обеспечивают связь между услугами. Очереди сообщений принимают сообщения от издателей и передают сообщения к подписчикам. Вычислительная система реализует услугу внешней системной интеграции вместе с внутренней услугой брокера сообщений. Услуга внешней системной интеграции выполнена с возможностью обеспечения подписки на заданные, зарегистрированные сообщения, и передачи зарегистрированных сообщений различным внешним объектам. Конфигурирование услуги внешней системной интеграции может быть выполнено посредством вычислительной системы или посредством внешней системы, которая использует услугу внешней системной интеграции. Вычислительная система также принимает сообщение, для которого зарегистрирована услуга внешней системной интеграции, и услуга внешней системной интеграции передает принятое зарегистрированное сообщение к заданным внешним объектам.

[0005] Данная Сущность изобретения обеспечена для ознакомления в упрощенной форме с выбором идей изобретения, которые дополнительно описаны ниже в Подробном описании. Данная Сущность изобретения не предназначена для идентификации ключевых признаков или существенных признаков заявленного объекта изобретения, а также не предназначена для использования для помощи в определении объема заявленного объекта изобретения.

[0006] Дополнительные признаки и преимущества данного изобретения будут изложены в нижеследующем описании, и, отчасти, будут понятны специалистам в данной области техники из этого описания, или могут быть изучены при осуществлении на практике идей, приведенных здесь. Признаки и преимущества вариантов осуществления, описанных здесь, могут быть реализованы и получены посредством инструментов и комбинаций, конкретно указанных в приложенной формуле изобретения. Признаки вариантов осуществления, описанных здесь, станут более понятны из нижеследующего описания и приложенной формулы изобретения.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0007] Для дополнительного разъяснения вышеупомянутых и других признаков вариантов осуществления, описанных в данном документе, более конкретное описание будет приведено со ссылкой на приложенные чертежи. Следует понимать, что эти чертежи показывают только примеры вариантов осуществления, описанных в данном документе, и, следовательно, не должны рассматриваться в качестве ограничения объема данного изобретения. Варианты осуществления будут описаны и объяснены с дополнительными особенностями и подробностями, с использованием сопутствующих чертежей, в которых:

[0008] Фиг. 1 показывает вычислительную архитектуру, в которой могут функционировать описанные здесь варианты осуществления, включающие в себя услуги масштабирования.

[0009] Фиг. 2 показывает блок-схему последовательности операций иллюстративного способа масштабирования услуг.

[0010] Фиг. 3 показывает блок-схему последовательности операций иллюстративного способа для перехода от первой версии услуги ко второй версии.

[0011] Фиг. 4 показывает блок-схему последовательности операций иллюстративного способа реализации услуги внешней системной интеграции.

[0012] Фиг. 5 показывает вариант осуществления, в котором принятое сообщение отправляют от первой версии услуги ко второй версии услуги.

[0013] Фиг. 6 показывает вариант осуществления, в котором услуга внешней системной интеграции выполнена с возможностью передачи сообщений к внешнему объекту.

[0014] Фиг. 7 показывает вариант осуществления, в котором сообщения направляют посредством услуги брокера сообщений с использованием назначенного тематического ключа.

ПОДРОБНОЕ ОПИСАНИЕ

[0015] Варианты осуществления, описанные здесь, направлены на масштабирование услуг, переход от первой версии услуги ко второй версии, и на реализацию услуги внешней системной интеграции. В одном варианте осуществления вычислительная система устанавливает услугу брокера сообщений, которая поддерживает очереди сообщений, которые обеспечивают связь между услугами. Очереди сообщений принимают сообщения от издателей и передают сообщения подписчикам. Вычислительная система указывает заданную очередь сообщений для каждой услуги, причем заданная очередь сообщений выполнена с возможностью поддержки сообщений для этой услуги. Вычислительная система также обеспечивает по меньшей мере одной из услуг возможность перемещения во вторую, другую вычислительную систему, в то время как заданная очередь сообщений поддерживает сообщения для перемещенной услуги.

[0016] В другом варианте осуществления вычислительная система переходит от первой версии услуги ко второй версии. Вычислительная система реализует первую версию услуги и реализует вторую версию той же услуги таким образом, чтобы первая версия услуги и вторая версия услуги выполнялись одновременно. Затем вычислительная система определяет, что сообщение, отправленное к первой версии услуги для обработки (или сообщение, которое еще не отправлено ни к какой услуге), подлежит отправке ко второй версии услуги, и обрабатывает сообщение с использованием второй версии услуги.

[0017] В еще одном варианте осуществления вычислительная система реализует услугу внешней системной интеграции. Вычислительная система определяет, что была установлена внутренняя услуга брокера сообщений. Услуга брокера сообщений выполнена с возможностью поддержки очередей сообщений, которые обеспечивают связь между услугами. Очереди сообщений принимают сообщения от издателей и передают сообщения к подписчикам. Вычислительная система реализует услугу внешней системной интеграции вместе с внутренней услугой брокера сообщений. Услуга внешней системной интеграции выполнена с возможностью обеспечения подписки на заданные, зарегистрированные сообщения, и передачи зарегистрированных сообщений к различным внешним объектам. Конфигурирование услуги внешней системной интеграции может быть выполнено посредством вычислительной системы или посредством внешней системы, которая использует услугу внешней системной интеграции. Вычислительная система также принимает сообщение, для которого зарегистрирована услуга внешней системной интеграции, и услуга внешней системной интеграции передает принятое зарегистрированное сообщение к заданным внешним объектам.

[0018] Нижеследующее описание теперь относится к некоторому количеству способов и действий способов, которые могут быть выполнены. Следует отметить, что, хотя действия способов могут быть описаны в некотором порядке, или могут быть показаны в блок-схеме последовательности операций, как происходящие в конкретном порядке, никакой конкретный порядок не является обязательным, если это не утверждается конкретно, или требуется вследствие того, что некоторое действие зависит от другого действия, которое завершается перед выполнением этого действия.

[0019] Варианты осуществления, описанные в данном документе, могут содержать или использовать компьютер специального назначения или общего назначения, включающий в себя компьютерное аппаратное обеспечение, такое как, например, один или несколько процессоров и системную память, описанную более подробно ниже. Варианты осуществления, описанные в данном документе, могут также включать в себя физические и другие машиночитаемые носители для передачи или хранения исполняемых компьютером команд и/или структур данных. Такие машиночитаемые носители могут быть любыми доступными носителями, в которые может быть осуществлен доступ посредством вычислительной системы общего назначения или специального назначения. Машиночитаемые носители, которые хранят исполняемые компьютерами команды в форме данных, являются компьютерными запоминающими носителями. Машиночитаемые носители, которые передают исполняемые компьютерами команды, являются средами передачи данных. Таким образом, в качестве примера, а не ограничения, варианты осуществления, описанные здесь, могут содержать по меньшей мере два совершенно разных типа машиночитаемых носителей: компьютерные запоминающие носители и носители передачи данных.

[0020] Компьютерные запоминающие носители включают в себя RAM, ROM, EEPROM, CD-ROM, твердотельные накопители (solid state drive - SSD), которые основаны на RAM, устройства флэш-памяти, микросхемы памяти с изменением фазового состояния (phase-change memory - PCM), или другие типы памяти, или другие запоминающие устройства на основе оптических дисков, запоминающие устройства на основе магнитных дисков, или другие магнитные запоминающие устройства, или любой другой носитель, которая может быть использована для хранения необходимого средства программного кода в форме исполняемых компьютером команд, данных или структур данных, и к которой может быть осуществлен доступ посредством компьютера общего назначения или специального назначения.

[0021] «Сеть» определяют в качестве одного или нескольких каналов передачи данных и/или коммутаторов данных, которые обеспечивают возможность транспортировки электронных данных между вычислительными системами и/или модулями и/или другими электронными устройствами. При передаче или обеспечении информации через сеть (либо через сеть с жесткой проводкой, либо через беспроводную сеть, либо через комбинацию сети с жесткой проводкой или беспроводной сети) к компьютеру, компьютер должным образом «просматривает» связь в виде носителя передачи данных. Носители передачи данных могут включать в себя сеть, которая может быть использована для переноса данных или необходимого средства программного кода в форме исполняемых компьютером команд или в форме структур данных, и к которой может быть осуществлен доступ посредством компьютера общего назначения или специального назначения. Комбинации вышеупомянутого также могут быть использованы в пределах объема машиночитаемых носителей.

[0022] Дополнительно, после достижения различных компонентов вычислительной системы, средство программного кода в форме исполняемых компьютером команд или структур данных может быть передано автоматически из носителей передачи данных в компьютерные запоминающие носители (или наоборот). Например, исполняемые компьютером команды или структуры данных, принимаемые через сеть или канал передачи данных, могут быть буферизованы в RAM в пределах сетевого интерфейсного модуля (например, сетевой интерфейсной карты (network interface card - “NIC”)), и, затем, в конечном счете, переданы к RAM вычислительной системы или к менее энергозависимым компьютерным запоминающим носителям в вычислительной системе. Таким образом, следует понимать, что компьютерные запоминающие среды могут быть включены в компоненты вычислительной системы, которые также (или даже в первую очередь) используют носители передачи.

[0023] Исполняемые компьютером (или интерпретируемые компьютером) команды содержат, например, команды, которые обеспечивают выполнение компьютером общего назначения, компьютером специального назначения, или обрабатывающим устройством специального назначения, некоторой функции или группы функций. Исполняемые компьютером команды могут быть, например, командами в двоичном формате, промежуточном формате, таком как язык ассемблера, или даже в формате исходного кода. Хотя объект изобретения описан на языке, конкретном для структурных признаков и/или методологических действий, следует понимать, что объект изобретения, определенный в приложенной формуле изобретения, не обязательно ограничен описанными признаками или действиями, описанными выше. Напротив, описанные признаки и действия описаны в качестве иллюстративных форм реализации формулы изобретения.

[0024] Специалистам в данной области техники будет понятно, что различные варианты осуществления могут быть осуществлены на практике в сетевых вычислительных средах со многими типами конфигураций вычислительных систем, включающих в себя персональные компьютеры, настольные компьютеры, компактные портативные компьютеры, процессоры сообщений, ручные устройства, многопроцессорные системы, микропроцессорную или программируемую потребительскую электронику, сетевые PC, миникомпьютеры, большие электронно-вычислительные машины, мобильные телефоны, PDA, планшетные компьютеры, пейджеры, маршрутизаторы, коммутаторы, и т.п. Варианты осуществления, описанные в данном документе, могут быть также осуществлены на практике в распределенных системных средах, где локальные или удаленные вычислительные системы, которые связаны (либо каналами передачи данных с жесткой проводкой, либо беспроводными каналами передачи данных, либо комбинацией каналов передачи данных с жесткой проводкой и беспроводных каналов передачи данных) через сеть, выполняют задачи (например, облачные вычисления, облачные услуги и т.п.). В распределенной системной среде, программные модули могут быть расположены как в локальных, так и в удаленных запоминающих устройствах.

[0025] В этом описании и последующей формуле изобретения «облачные вычисления» определены в качестве модели для обеспечения заказного (по требованию) сетевого доступа к совместно используемому объединению конфигурируемых вычислительных ресурсов (например, сетей, серверов, запоминающих устройств, приложений, и услуг). Определение «облачных вычислений» не ограничено никакими другими многочисленными преимуществами, которые могут быть получены из такой модели при правильном применении.

[0026] Например, облачные вычисления в настоящее время используют на рынке для того, чтобы предлагать повсеместный и удобный доступ по запросу к совместно используемому объединению конфигурируемых вычислительных ресурсов. Кроме того, совместно используемое объединение конфигурируемых вычислительных ресурсов может быть быстро обеспечено посредством создания виртуальных объектов и выпущено с небольшими усилиями по управлению или с небольшим взаимодействием с поставщиком услуг, и, затем, может быть масштабировано соответствующим образом.

[0027] Модель облачных вычислений может быть сформирована из различных характеристик, таких как самообслуживание по запросу, широкий сетевой доступ, объединение ресурсов, быстрая адаптивность, измеряемые услуги, и т.д. Модель облачных вычислений может быть также обеспечена в форме различных моделей услуг, таких как, например, «Программное обеспечение как услуга» (Software as a Service - “SaaS”), «Платформа как услуга» (Platform as a Service - “PaaS”), и «Инфраструктура как услуга» (Infrastructure as a Service - “IaaS”). Модель облачных вычислений может быть также развернута с использованием разных моделей развертывания, таких как частное облако, облако сообщества, общедоступное облако, гибридное облако, и т.д. В этом описании и в формуле изобретения, «среда облачных вычислений» является средой, в которой используются облачные вычисления.

[0028] Дополнительно или альтернативно, функциональность, описанная здесь, может быть выполнена, по меньшей мере частично, посредством одного или нескольких аппаратных логических компонентов. В качестве примера, а не ограничения, иллюстративные типы аппаратных логических компонентов, которые могут быть использованы, включают в себя матрицы программируемых логических вентилей (Field-programmable Gate Array - FPGA), специализированные интегральные схемы (Program-specific Integrated Circuit - ASIC), стандартные интегральные схемы, разработанные для конкретных приложений (Program-specific Standard Product - ASSP), системы на микросхеме (System-on-a-chip system - SOC), сложные устройства с программируемой логикой (Complex Programmable Logic Device - CPLD), и другие типы программируемого аппаратного обеспечения.

[0029] Кроме того, системные архитектуры, описанные здесь, могут включать в себя множество независимых компонентов, каждый из которых содействует функциональным средствам системы в целом. Эта модульность обеспечивает увеличенную гибкость при рассмотрении вопросов масштабируемости платформы и, в связи с этим, обеспечивает множество преимуществ. Сложностью и ростом системы можно легче управлять с использованием меньших по масштабу частей с ограниченной функциональной областью действия. Отказоустойчивость платформы повышают посредством использования этих слабо связанных модулей. Отдельные компоненты можно наращивать пошагово, согласно служебной необходимости. Модульное проектирование также приводит к уменьшению срока внедрения новых функциональных средств. Новые функциональные средства могут быть добавлены или вычтены без влияния на основную систему.

[0030] Фиг. 1 показывает вычислительную архитектуру 100, в которой может быть осуществлен по меньшей мере один вариант осуществления. Вычислительная архитектура 100 включает в себя первую вычислительную систему 101 и вторую вычислительную систему 108. Первая и вторая вычислительные системы 101 и 108 могут быть любыми типами локальных или распределенных вычислительных систем, включая системы облачных вычислений. Вычислительные системы могут включать в себя модули для выполнения множества разных функций. Например, первая вычислительная система 101 включает в себя услугу 102 брокера сообщений. Услуга брокера сообщений может быть реализована на первой вычислительной системе и может быть использована для взаимодействия с услугами, включающими в себя, но не ограниченными этим, услуги А, В и С (105A, 105B и 105C, соответственно). Услуги А-С могут быть любыми типами вычислительных услуг, приложений, функций или другими типами функциональных средств программного обеспечения.

[0031] Услуга 102 брокера сообщений может быть выполнена с возможностью поддержки очередей 103 сообщений. Очереди сообщений могут принимать сообщения, изданные услугами (105A-105C), и могут отправлять эти сообщения подписчикам этих сообщений. Таким образом, как показано на фиг. 1, услуга А подписана на сообщения от услуг В и С. Следовательно, всегда, когда услуга В или С издает сообщение (например, изданное сообщение 106), соответствующие очереди В и С (103В и 103С, соответственно) сообщений передают любые выпущенные по подписке сообщения 107 к услуге А. Подобным образом, поскольку услуга В подписана на сообщения услуги С, очередь С (103С) сообщений передает выпущенные по подписке сообщения 107, изданные услугой С, к услуге В. Кроме того, поскольку услуга С подписана на сообщения услуги А, очередь А (103А) сообщений передает выпущенные по подписке сообщения 107, изданные услугой А, к услуге С. В некоторых случаях следует отметить, что услуга 102 брокера сообщений может поддерживать единственную очередь или многочисленные очереди. Например, услуги могут подписываться на сообщения на основе тематического раздела. По существу, для данной услуги может казаться, что очередь обслуживает сообщения только данного тематического раздела, тогда как в реальности единственная очередь сообщений может иметь сообщения многих разных тематических разделов.

[0032] В то время как на фиг. 1 показаны три услуги, и в то время как показано, что каждая из услуг является как издателем, так и подписчиком, следует понимать, что, по существу, может быть реализовано любое количество услуг, и что любые из услуг могут быть только издателями, только подписчиками, или как издателями, так и подписчиками. Таким образом, услуги могут подписываться на прием сообщений от некоторых услуг, и этим услугам не нужно беспокоиться о том, кто является подписчиком, или кому отправлять сообщения. Напротив, услуги могут издавать свои сообщения для брокера сообщений, и очереди сообщений брокера сообщений будут правильно передавать сообщения к тем услугам, которые подписаны на их прием.

[0033] Следует также отметить, что услуги могут быть перемещены из одной вычислительной системы в другую вычислительную систему. Например, услуга В (105В) может быть перемещена из первой вычислительной системы 101 во вторую вычислительную систему 108. Услуга может быть перемещена после прекращения выполнения этой услуги, или может быть перемещена динамически при выполнении услуги. По существу, услуги могут быть перемещены или переданы между вычислительными системами во время выполнения посредством модуля 104 перемещения услуг вычислительной системы 101. Эти концепции будут объяснены дополнительно ниже относительно способов 200, 300 и 400 фигур 2, 3 и 4, соответственно.

[0034] Принимая во внимание системы и архитектуры, описанные выше, подходы, которые могут быть реализованы согласно описанному объекту изобретения, будут лучше понятны со ссылкой на последовательности операций фигур 2, 3 и 4. В целях упрощения объяснения, подходы показаны и описаны в виде последовательности блоков. Однако, следует понимать и принимать во внимание, что заявленный объект изобретения не ограничен порядком блоков, поскольку могут быть случаи, когда некоторые блоки могут быть расположены в другом порядке и/или параллельно другим блокам, в отличие от порядка, показанного и описанного в данном документе. Кроме того, может оказаться, что не все показанные блоки необходимы для реализации подходов, описанных далее в данном документе.

[0035] Фиг. 2 показывает блок-схему последовательности операций способа 200 для масштабирования услуг. Способ 200 будет теперь описан с частыми ссылками на компоненты и данные среды 100.

[0036] Способ 200 включает в себя установление услуги брокера сообщений, которая поддерживает одну или несколько очередей сообщений, которые обеспечивают связь между услугами, причем очереди сообщений выполнены с возможностью приема сообщений от издателей и передачи сообщений к подписчикам (210). Например, первая вычислительная система 101 может установить услугу 102 брокера сообщений. Услуга 102 брокера сообщений облегчает связь между услугами, такими как услуги 105A-105C (или другими услугами, которые не показаны). Услуга 102 брокера сообщений инициирует и управляет различными очередями 103 сообщений, которые принимают сообщения от издателей (т.е., изданные сообщения 106), и передает сообщения к подписчикам (т.е., сообщения 107, выпущенные по подписке). Таким образом, издатель (например, услуга 105А) может издавать сообщения, относящиеся к его рабочему состоянию, его рабочим результатам, уведомительные сообщения или другие типы сообщений. Эти сообщения могут быть изданы независимо от того, кто является фактическим подписчиком этих сообщений.

[0037] В некоторых случаях услуги, сообщающиеся с услугой 102 брокера сообщений, могут быть только издателями (т.е., они не подписаны на какие-либо сообщения других услуг). В других случаях услуги могут быть только подписчиками (т.е., они не издают сообщения для других подписчиков). В других случаях услуги 105A-105C могут быть как издателями, так и подписчиками (т.е., они как издают сообщения, так и принимают сообщения, на которые они подписаны (например, сообщения 107, выпущенные по подписке)). Услуги 105A-C могут быть выполнены на единственной вычислительной системе или на многочисленных вычислительных системах. Кроме того, услуги могут быть перемещены между вычислительными системами до, после или во время их работы. В некоторых случаях услуга может иметь по меньшей мере два разных варианта ее выполнения на одной и той же или многочисленных разных вычислительных системах. Например, услуга 102 брокера сообщений может иметь два или более разных вариантов ее выполнения на многочисленных разных вычислительных системах, для восстановления после отказа или по другим причинам.

[0038] Способ 200 дополнительно включает в себя указание заданной очереди сообщений для каждой из одной или нескольких услуг, причем заданная очередь сообщений выполнена с возможностью поддержки сообщений для этой услуги (220). Услуга 102 брокера сообщений может инициировать многие разные очереди 103 сообщений. Некоторые или все из этих очередей сообщений могут быть конкретно назначены для обрабатывания сообщений для некоторых услуг. Таким образом, очередь А (103А) сообщений может быть конкретно назначена для обработки сообщений услуги А (105А). Таким образом, очередь А (103А) сообщений будет принимать изданные сообщения 106 услуги А и отправлять их к тем услугам (или другим объектам), которые подписаны на прием сообщений услуги А (например, услуге С (105С)). Подобным образом, очередь В (103В) сообщений может быть назначена для обрабатывания сообщений услуги В, а очередь С (105С) сообщений может быть назначена для обрабатывания сообщений услуги С.

[0039] Затем способ 200 включает в себя перемещение по меньшей мере одной из услуг во вторую, другую вычислительную систему, причем заданная очередь сообщений поддерживает сообщения для перемещенной услуги (230). Модуль 104 перемещения услуг первой вычислительной системы 101 может переместить одну или несколько услуг 105A-C в другую вычислительную систему. Таким образом, например, модуль 104 перемещения услуг может переместить услугу В (105В) из вычислительной системы 101 во вторую вычислительную систему 108. Услуги могут быть перемещены в любой момент времени во время работы услуги. Дополнительные услуги могут быть динамически добавлены до, после или во время выполнения. Подобным образом, существующие услуги могут быть динамически удалены до, после или во время выполнения. Услуги могут быть перемещены, добавлены или удалены для увеличения производительности или для уменьшения стоимости использования дополнительных вычислительных систем, для помощи в выравнивании нагрузки, для помощи в восстановлении после отказа, или по другим причинам. Хотя варианты осуществления, описанные в настоящем документе, описывают реализации, включающие в себя две или три услуги, это сделано только для упрощения понимания, и следует отметить, что, по существу, любое количество услуг может быть перемещено, добавлено или удалено, для помощи в производительности, в выравнивании нагрузки, в восстановлении после отказа, или по другим причинам.

[0040] В некоторых вариантах осуществления, как показано на фиг. 7, модуль 702 назначения тематического ключа услуги 701 брокера сообщений может назначать для каждого сообщения 703 тематический ключ 704. Тематический ключ 704 указывает на тематический раздел для этого сообщения 703. Тематический раздел может указывать, например, что сообщение 703 является уведомительным сообщением, или информационным сообщением. Эти сообщения, со своими соответствующими тематическими ключами, могут быть направлены к подписчикам на основе назначенного тематического ключа сообщения. По существу, сообщения, ассоциированные с заданными тематическими ключами 704 направляются услугой 701 брокера сообщений к подписчикам, которые подписаны на сообщения этого тематического раздела. Например, если услуга А (705А) подписана на сообщения некоторого тематического раздела (например, «ошибка» или «завершить» или «рабочее состояние»), то сообщения, имеющие тематические ключи, соответствующие этим темам сообщений, будут направлены к услуге А. Услуга 701 брокера сообщений будет подобным образом направлять сообщения к услугам В (705В) и С (705С), на основе тематических разделов сообщений, на которые они подписаны. Таким образом, в этих вариантах осуществления, подписчики могут подписываться на все сообщения от некоторого издателя, или только на сообщения от этого издателя, которые имеют заданный тематический ключ. Кроме того, подписчики могут просто подписываться на сообщения, которые имеют некоторый тематический ключ, независимо от того, кто является издателем. Таким образом, издатели могут издавать сообщения, когда происходят события, и эти сообщения могут быть направлены к подписчикам посредством услуги 701 брокера сообщений.

[0041] По меньшей мере в некоторых случаях издатели могут совершенно не знать о том, кто является подписчиком их сообщений. Брокер сообщений может обеспечить любым услугам возможность издания сообщений для очереди сообщений, и может дополнительно обеспечить любому подписчику возможность приема сообщений из очереди сообщений. Сообщения 107, выпущенные по подписке, могут указывать для подписчика, кто издал сообщение, и могут дополнительно указывать назначенный тематический ключ для этого сообщения. В некоторых случаях сообщения могут включать в себя маркер безопасности, который проверяет источник (т.е., издателя) сообщения. Подписчик сообщения может осуществлять доступ к маркеру безопасности и определять, является ли он достоверным. Если он является достоверным, то сообщение будет издано для очереди сообщений. Если маркер безопасности является недостоверным, то сообщение может быть помечено как недостоверное и может быть отброшено или проигнорировано. Кроме того, издатель недостоверного маркера безопасности и/или подписчик может быть извещен о том, что его маркер безопасности является недостоверным. В некоторых вариантах осуществления, может быть инициирована политика безопасности, которая обеспечивает осуществление доступа к некоторым сообщениям и направляет их без маркера безопасности, в то время как другие сообщения (возможно, сообщения с более высоким приоритетом) потребуют достоверного маркера безопасности перед осуществлением доступа к таким сообщениям. Кроме того, в некоторых вариантах осуществления, первая вычислительная система 101 может нуждаться в переходе от одной услуги к другой. Такие варианты осуществления будут описаны ниже в связи с фигурой 3.

[0042] В некоторых вариантах осуществления, может быть реализована услуга мониторинга услуг. Услуга мониторинга услуг может осуществлять мониторинг рабочего состояния услуг в системе. Услуга мониторинга услуг может быть выполнена с возможностью мониторинга единственной, заданной услуги, или множества разных услуг, включая услугу брокера сообщений. Мониторинг может включать в себя отправку сообщений проверки состояния к одной или нескольким услугам. Эти сообщения проверки состояния могут быть внутренними сообщениями, передаваемыми между услугами и услугой мониторинга услуг. Эти сообщения проверки состояния могут быть использованы для определения того, функционируют ли услуги правильно. Таким образом, услуга мониторинга услуг определяет, отреагировали ли услуги на сообщения проверки состояния, и, для каждой услуги, которая не отреагировала на сообщение проверки состояния, может уведомить различных пользователей (включая, например, системных администраторов) о том, что услуга функционирует некорректно.

[0043] Услуга мониторинга услуг может быть дополнительно выполнена с возможностью определения того, какие услуги прослушивают заданные типы сообщений, издают заданные типы сообщений, подписаны на заданные типы сообщений, обрабатывают заданное количество сообщений или определяют количество сообщений, обрабатываемых системой в целом. В некоторых случаях если услуга обрабатывает большее или меньшее количество сообщений, чем некоторое известное количество, то эта услуга, вероятно, функционирует неправильно. Подобным образом, издатели или подписчики некоторых типов сообщений могут принимать или издавать относительно большие количества сообщений, и, таким образом, могут быть более склонны к ошибкам. Данные от услуги мониторинга услуг могут быть использованы для увеличения количества услуг для увеличения производительности обработки сообщений, или они могут уменьшать количество услуг для уменьшения затрат на обработку. Эти увеличения или уменьшения в услугах могут быть реализованы автоматически и динамически при изменении потребностей в обработке. Кроме того, услуга мониторинга услуг может быть выполнена с возможностью обеспечения рекомендаций для ручного добавления или удаления услуг.

[0044] Кроме того, услуга мониторинга услуг может идентифицировать, какие услуги, включая зависимые услуги, доступны в данный момент для обработки сообщений. Затем на основе этой информации услуга мониторинга услуг может управлять различными настройками обработки сообщений, на основе определенной текущей доступности услуг. Например, услуги в пределах данной системы или внешних систем, использующие услугу внешней системной интеграции, могут быть выполнены с возможностью обработки сообщений по-разному в зависимости от информации о доступности, представленной услугой мониторинга услуг. Например, издатель может быть способен определить из информации о доступности, как направлять сообщения к тем услугам, которые являются в данный момент доступными.

[0045] Фиг. 3 показывает блок-схему последовательности операций способа 300 для перехода от первой версии услуги ко второй версии. Способ 300 будет теперь описан с частыми ссылками на компоненты и данные сред 100 фиг. 1 и 500 фиг. 5.

[0046] Способ 300 включает в себя реализацию первой версии услуги (310). Например, модуль 502 реализации услуг вычислительной системы 501 может реализовать первую версию услуги 503А, и может дополнительно реализовать вторую версию той же услуги 503В таким образом, что первая версия услуги и вторая версия услуги будут выполняться одновременно (320). Как указано выше, эта услуга может быть реализована в многочисленных разных версиях, включающих в себя три или более версий (не показаны на фиг. 5). Эти услуги могут быть любым типом вычислительных функциональных средств, включая услуги, приложения, функции программного обеспечения или другие элементы программного обеспечения. Первая версия 503А в некоторых случаях может быть более новой, обновленной версией услуги, в то время как вторая версия 503В, может быть более старой, необновленной версией. Эти более новая и более старая версии могут выполняться одновременно, или могут выполняться по отдельности.

[0047] Далее, способ 300 включает в себя определение того, что сообщение, отправленное к первой версии услуги для обработки, подлежит отправке ко второй версии услуги (330). Например, в примере, приведенном выше, где первая версия является более новой версией, а вторая версия является более старой версией, может быть принято сообщение 506, которое является достоверным только для более старых версий услуги, или по меньшей мере включает в себя один элемент, который не распознан или не может быть обработан более новой версией программного обеспечения. Может также иметь место противоположный случай, когда первая версия 503А является более старой версией, а вторая версия 503В является более новой версией, и когда сообщение 506 может быть обработано только более новой версией (503В). Может существовать множество разных причин того, почему одна версия может обработать входящее сообщение, а другая версия услуги не может этого сделать. Независимо от причины, вычислительная система 101 может определить, что сообщение 506 подлежит передаче от первой версии услуги 503А ко второй версии услуги 503В. Затем вторая версия услуги может быть использована для обработки сообщения 506 (340).

[0048] В одном варианте осуществления сообщение 506 может быть передано ко второй версии услуги при отказе первой версии. Таким образом, вторая версия услуги 503В обеспечивает восстановление после отказа для первой версии услуги. Вторая версия может быть более старой или более новой, чем первая версия, в таких сценариях восстановления после отказа. В некоторых случаях одна из версий услуги (например, версия один (503А)) может быть реализована автоматически после инсталляции. Таким образом, сразу после завершения инсталляции, более новая инсталлированная версия услуги может быть автоматически использована для обработки входящего сообщения 506. По существу, услуги могут быть обновлены и автоматически реализованы после обновления (например, посредством модуля 504 обновления услуг), что существенно уменьшает или устраняет время простоя вследствие обновления. В некоторых случаях после определения того, что более новая обновленная версия выполняется, другую (например, вторую) версию услуги автоматически деинсталлируют.

[0049] Кроме того, определения в отношении того, подлежит ли входящее сообщение отправке от первой версии услуги 503А ко второй версии 503В для обработки, может быть основано на различных логических оценках. Например, если время реакции первой версии на сообщение составляет две или более секунд, то вычислительная система 101 может определить, что первая версия является недоступной, и, Затем может перенаправить сообщение ко второй версии той же услуги. Другая логика может быть сконфигурирована и реализована подобным образом. Приведенное выше является только одним примером определения логики. Дополнительно или альтернативно, определение в отношении того, подлежит ли сообщение 506 отправке от первой версии услуги 503А ко второй версии 503В для обработки, может быть основано на настройках 505 конфигурации, установленных пользователем или системным администратором.

[0050] В некоторых случаях сообщение может быть передано от первой версии ко второй версии и может быть обработано как первой версией, так и второй версией, одновременно. В таких случаях выходные данные первой и второй версий услуги, выполняемых одновременно, могут быть сравнены в отношении ошибок, сделанных во время обработки. По существу, поставщик услуги может быть способен протестировать обе версии приложения, и определить, какая версия обрабатывает сообщение 506 с наименьшим количеством ошибок. Вторая версия (более новая версия, возможно, бета-версия) может быть инсталлирована и выполнена вместе с текущей версией таким образом, чтобы разработчики программы зарегистрировали результаты более новой версии и протестировали более новую версию без какого-либо увеличения риска. Дополнительно или альтернативно, поставщик услуги (или другой пользователь) может быть способен определить, какие версии производят какие ошибки. С использованием этих данных поставщик услуги может быть способен определить, какая версия услуги является наилучшей для каждого типа входящего сообщения. Это указание может быть использовано в определениях посредством вычислительной системы 501 для передачи входящих сообщений ко второй версии 503В или удерживания их у первой версии 503А. Таким образом, вычислительная система 101 может непрерывно определять, какая версия услуги подлежит использованию (или является наилучшей для использования) для каждого принятого сообщения.

[0051] Фиг. 4 показывает блок-схему последовательности операций способа 400 для реализации услуги внешней системной интеграции. Способ 400 будет теперь описан с частыми ссылками на компоненты и данные сред 100 фиг. 1 и 600 фиг. 6.

[0052] Способ 400 включает в себя определение того, что установлена внутренняя услуга 603 брокера сообщений, причем услуга брокера сообщений выполнена с возможностью поддержки одной или нескольких очередей 604 сообщений, которые обеспечивают возможность связи между услугами (например, издателями 606 и/или подписчиками 607), причем очереди сообщений выполнены с возможностью приема сообщений от издателей 606 и передачи сообщений 605А/605В к подписчикам 607 (410). Сообщения могут быть направлены на основе подписок и/или на основе тематических ключей (как показано на фиг. 7). Модуль 602 реализации услуг вычислительной системы 601 может быть использован для реализации внутренней услуги 603 брокера сообщений. Внутренняя услуга брокера сообщений может быть, по существу, такой же, как услуга 102 брокера сообщений, описанная на фиг. 1. Очередь сообщений может быть также подобной или такой же, как очередь 103 сообщений, описанная на фиг. 1. Сообщения могут включать в себя информацию о машинах, которые производят товары, включая сообщения об рабочем состоянии, сообщения о состоянии проекта, сообщения об ошибках или другие типы сообщений.

[0053] Способ 400 дополнительно включает в себя реализацию услуги 608 внешней системной интеграции вместе с внутренней услугой 603 брокера сообщений, причем услуга 608 внешней системной интеграции выполнена с возможностью обеспечения подписки на заданные, зарегистрированные сообщения 605A/605B, и передачи зарегистрированных сообщений 605C к одному или нескольким внешним объектам 611 (420). Внешние объекты 611 могут быть внешними пользователями, компаниями, вычислительными системами, хранилищами данных или другими объектами, которые являются внешними по отношению к вычислительной системе 601 или являются внешними по отношению к месту работы внутренней услуги 603 брокера сообщений. Услуга 608 внешней системной интеграции может быть реализована посредством модуля 602 реализации услуг и может быть выполнена с возможностью прослушивания сообщений, передаваемых между издателями 606 и подписчиками 607 (например, между любыми услугами A, B или C (105A-105C) фиг. 1).

[0054] Затем услуга 608 внешней системной интеграции может определить, какие сообщения подлежат отправке к заданному внешнему объекту. Например, внешний объект может определить, что он желает принимать любые сообщения об ошибках или любые сообщения о рабочем состоянии, которые указывают на то, что могла произойти ошибка. Эти сообщения могут быть «зарегистрированными» сообщениями, или сообщениями, на которые внешний объект подписан, или прием которых он регистрирует. Сообщения, на которые услуга внешней системной интеграции подписана, могут быть сконфигурированы или выбраны в пределах услуги внешней системной интеграции, в пределах внешней системы, которая использует услугу внешней системной интеграции, или в пределах вычислительной системы 101. При приеме таких зарегистрированных сообщений посредством услуги внешней системной интеграции (430), услуга 608 внешней системной интеграции может передавать принятое зарегистрированное сообщение 605С к различным заданным внешним объектам 611 (440).

[0055] Услуга внешней системной интеграции может также быть использована также для обрабатывания преобразования сообщений в заданный протокол или формат связи с внешними системами. Например, если внешняя система устанавливает связь с использованием некоторого типа файлов или протокола, то услуга 608 внешней системной интеграции может преобразовать внутренние сообщения в некоторый формат (например, формат с разделителями-запятыми), и передать файл с использованием заданного протокола. Каждый внешний объект 611 может запрашивать разные типы сообщений, или сообщения от некоторых издателей, или и то, и другое. Услуга 608 внешней системной интеграции может взаимодействовать с любыми услугами с использованием очереди 604 пересылки сообщений. Услуга внешней системной интеграции может дополнительно издавать способы, которые выполнены доступными для внешних объектов 611.

[0056] В некоторых вариантах осуществления система 609 управления может быть инсталлирована в качестве услуги посредством модуля 602 реализации услуг. Система управления может быть реализована в качестве услуги вместе с установленной внутренней услугой 603 брокера сообщений и/или услугой внешней системной интеграции. Система управления может быть выполнена с возможностью эксплуатировать машинные функциональные средства для одной или нескольких заданных машин 610. Например, система управления может быть выполнена с возможностью управлять тем, когда машина включается или выключается, когда машина должна обрабатывать некоторые задания, как машина должна обрабатывать задание (включая настройки конфигурации для каждого задания), или управлять другими операциями машины. Машины 610 могут быть локальными или удаленными по отношению к вычислительной системе 601, и могут быть, дополнительно, управляемыми с использованием средств ручного управления.

[0057] Модуль 602 реализации услуг может также, по меньшей мере в некоторых вариантах осуществления, реализовать услугу конвейерной обработки сообщений. Услуга конвейерной обработки сообщений может быть выполнена с возможностью приема сообщений в конвейер сообщений, который подлежит обработке в заданном порядке. Услуга конвейерной обработки сообщений может издавать принятые сообщения и обеспечивать подписку на результаты этого сообщения. Например, если сообщение было машинной командой (например, для машины 610), то услуга конвейерной обработки сообщений может быть подписана на результаты и может принять результаты того, что случится в результате этой команды. Затем эти результаты сообщений могут быть добавлены в качестве входных параметров для каждого последующего принятого сообщения в конвейере. Услуга конвейерной обработки сообщений определяет, что принято последнее сообщение в конвейере сообщений, и, Затем издает результаты конвейера сообщений для подписчиков 607. Таким образом, запрашивающая услуга может делегировать любые промежуточные этапы услуге конвейера.

[0058] Таким образом, обеспечены способы, системы и компьютерные программные продукты, которые обеспечивают услугам возможность масштабирования и/или перемещения по множеству вычислительных систем. Кроме того, обеспечены способы, системы и компьютерные программные продукты, которые переходят от одной версии услуги к другой версии, и реализуют услугу внешней системной интеграции, которая обеспечивает прием внешними объектами сообщений, изданных подписчиками.

[0059] Идеи и признаки, описанные здесь, могут быть осуществлены в других конкретных формах, не выходя за рамки их сущности или описательных характеристик. Описанные варианты осуществления должны рассматриваться, во всех отношениях, только в качестве иллюстрации, а не ограничения. Объем данного раскрытия сущности изобретения, таким образом, указан посредством приложенной формулы изобретения, а не посредством предшествующего описания. Все изменения, которые попадают в пределы смысла и диапазона эквивалентности формулы изобретения, должны быть включены в объем формулы изобретения.

1. Вычислительная система, содержащая следующее: один или несколько процессоров; системную память; один или несколько машиночитаемых запоминающих носителей, имеющих сохраненные на них исполняемые компьютером команды, которые, при исполнении посредством одного или нескольких процессоров, предписывают вычислительной системе выполнять способ для масштабирования услуг, причем этот способ содержит этапы, на которых: устанавливают услугу брокера сообщений, которая поддерживает одну или несколько очередей сообщений, которые обеспечивают связь между услугами, причем очереди сообщений выполнены с возможностью принимать сообщения от издателей и передавать сообщения к подписчикам; указывают заданную очередь сообщений для каждой из одной или нескольких услуг, причем заданная очередь сообщений выполнена с возможностью поддерживать сообщения для этой услуги; и перемещают по меньшей мере одну из услуг во вторую, другую вычислительную систему, причем заданная очередь сообщений поддерживает сообщения для перемещенной услуги; причем множество услуг распределено по многочисленным разным вычислительным системам.

2. Вычислительная система по п. 1, дополнительно содержащая: назначение для каждого сообщения тематического ключа, который указывает тематический раздел для этого сообщения; и направление сообщений к подписчикам, на основе назначенного тематического ключа сообщения, таким образом, чтобы сообщения, которые ассоциированы с заданными тематическими ключами, направлялись брокером сообщений к подписчикам, которые подписаны на сообщения этого тематического раздела.

3. Вычислительная система по п. 1, в которой издатели не знают о том, кто является подписчиком на их сообщения.

4. Вычислительная система по п. 1, в которой брокер сообщений обеспечивает любой из услуг возможность издавать сообщения для очереди сообщений и, дополнительно, обеспечивает любому подписчику возможность принимать сообщения из очереди сообщений.

5. Вычислительная система по п. 4, в которой одно или несколько сообщений включает в себя маркер безопасности, который проверяет источник сообщения.

6. Вычислительная система по п. 5, дополнительно содержащая: определение того, что маркер безопасности по меньшей мере для одного из принятых сообщений является недостоверным; и игнорирование сообщения, которое включает в себя недостоверный маркер безопасности.

7. Вычислительная система по п. 1, в которой по меньшей мере одна из услуг является как издателем, так и подписчиком.

8. Вычислительная система по п. 1, в которой по меньшей мере одна из услуг имеет по меньшей мере два разных варианта самой себя на многочисленных разных вычислительных системах.

9. Вычислительная система по п. 8, дополнительно содержащая выполнение выравнивания нагрузки с использованием по меньшей мере двух разных вариантов услуги.

10. Вычислительная система по п. 1, в которой одну или несколько новых услуг динамически добавляют во время выполнения.

11. Вычислительная система по п. 1, в которой одну или несколько услуг динамически удаляют во время выполнения.

12. Вычислительная система по п. 1, в которой одну или несколько услуг динамически перемещают из одной вычислительной системы в другую вычислительную систему во время выполнения.

13. Вычислительная система по п. 1, дополнительно содержащая интеграцию системы управления в услугу брокера сообщений.

14. Вычислительная система по п. 13, дополнительно содержащая реализацию услуги внешней системной интеграции, причем услуга внешней системной интеграции выполнена с возможностью обеспечивать подписку на заданные, зарегистрированные сообщения и передавать зарегистрированные сообщения к одной или нескольким внешним системам.

15. Вычислительная система по п. 1, дополнительно содержащая реализацию услуги конвейерной обработки сообщений, которая выполнена с возможностью выполнения: приема одного или нескольких сообщений в конвейер сообщений, который подлежит обрабатыванию в заданном порядке; издания принятых сообщений и обеспечения подписки на результаты этого сообщения; добавления результатов сообщения в качестве входных параметров для каждого последующего принимаемого сообщения в конвейере; определения того, что принято последнее сообщение в конвейере сообщений; и издания результатов конвейера сообщений для одного или нескольких подписчиков.

16. Вычислительная система по п. 1, дополнительно содержащая: реализацию услуги мониторинга услуг, причем услуга мониторинга услуг выполнена с возможностью выполнять: мониторинг рабочего состояния услуг, включающих в себя услугу брокера сообщений, причем мониторинг включает в себя отправку по меньшей мере одного сообщения проверки состояния к одной или нескольким услугам; определение того, отреагировали ли услуги на сообщения проверки состояния; и для каждой услуги, которая не отреагировала на сообщение проверки состояния, уведомление одного или нескольких пользователей или других систем о том, что услуга функционирует некорректно.

17. Вычислительная система по п. 16, дополнительно содержащая: определение того, какие услуги выполняют по меньшей мере одно из следующего: прослушивание заданных типов сообщений, издание заданных типов сообщений, обеспечение подписки на заданные типы сообщений, обработку заданного количества сообщений и определение количества сообщений, обрабатываемых вычислительной системой в целом; и на основе определения выполнение по меньшей мере одного из: увеличения количества услуг для увеличения производительности; и уменьшения количества услуг для уменьшения затрат на обработку.

18. Вычислительная система по п. 17, дополнительно содержащая: идентификацию того, какие услуги, включающие в себя одну или несколько зависимых услуг, являются доступными в данный момент для обработки сообщений; и управление одной или несколькими настройками обработки сообщений определенной текущей доступности услуг.

19. Вычислительная система, содержащая: один или несколько процессоров; системную память; один или несколько машиночитаемых запоминающих носителей, имеющих сохраненные на них исполняемые компьютером команды, которые, при исполнении посредством одного или нескольких процессоров, предписывают вычислительной системе выполнять способ для перехода от первой версии услуги ко второй версии, причем этот способ содержит этапы, на которых: реализуют первую версию услуги; реализуют вторую версию той же услуги таким образом, чтобы первая версия услуги и вторая версия услуги выполнялись одновременно; определяют, что сообщение, отправленное к первой версии услуги для обработки, подлежит отправке ко второй версии услуги; и обрабатывают сообщение с использованием второй версии услуги; причем первая версия услуги является более новой версией, а вторая версия услуги является более старой версией, и при этом услуга переходит после отказа от первой, более новой версии, ко второй, более старой версии услуги.

20. Вычислительная система по п. 19, в которой первую версию услуги реализуют автоматически после инсталляции таким образом, чтобы обновления услуги выполнялись, по существу, без простоя.

21. Вычислительная система по п. 20, в которой вторую версию услуги автоматически деинсталлируют после реализации первой версии услуги.

22. Вычислительная система по п. 19, в которой определение того, что сообщение, отправленное к первой версии услуги для обработки, подлежит отправке ко второй версии услуги, основано на одной или нескольких логических оценках.

23. Вычислительная система по п. 22, в которой определение того, что сообщение, отправленное к первой версии услуги для обработки, подлежит отправке ко второй версии услуги, основано на одной или нескольких настройках конфигурации.

24. Вычислительная система по п. 19, в которой как первая версия услуги, так и вторая версия услуги обрабатывают принятое сообщение одновременно.

25. Вычислительная система по п. 24, в которой выходные данные первой и второй версий услуги, выполняющихся одновременно, сравниваются в отношении сделанных ошибок.

26. Способ для реализации услуги внешней системной интеграции, реализуемый на компьютере, в вычислительной системе, включающей в себя по меньшей мере один процессор и память, причем этот способ содержит этапы, на которых: определяют, что была установлена внутренняя услуга брокера сообщений, причем услуга брокера сообщений выполнена с возможностью поддерживать одну или несколько очередей сообщений, которые обеспечивают связь между услугами, причем очереди сообщений выполнены с возможностью принимать сообщения от издателей и передавать сообщения к подписчикам; реализуют услугу внешней системной интеграции вместе с внутренней услугой брокера сообщений, причем услуга внешней системной интеграции выполнена с возможностью обеспечивать подписку на заданные, зарегистрированные сообщения и передавать зарегистрированные сообщения к одному или нескольким внешним объектам; принимают сообщение, для которого зарегистрирована услуга внешней системной интеграции; и передают, посредством услуги внешней системной интеграции, принятое зарегистрированное сообщение к одному или нескольким заданным внешним объектам; причем услуга внешней системной интеграции взаимодействует с одной или несколькими услугами в очереди пересылки сообщений.

27. Способ по п. 26, дополнительно содержащий этап, на котором: реализуют по меньшей мере одну систему управления в качестве услуги, вместе с установленной внутренней услугой брокера сообщений, причем система управления выполнена с возможностью эксплуатировать машинные функциональные средства для одной или нескольких заданных машин.

28. Способ по п. 26, в котором услуга внешней системной интеграции издает набор способов, которые выполнены доступными для внешних объектов.

29. Способ для масштабирования услуг, реализуемый на компьютере, в вычислительной системе, включающей в себя по меньшей мере один процессор и память, причем этот способ содержит этапы, на которых: устанавливают услугу брокера сообщений, которая поддерживает одну или несколько очередей сообщений, которые обеспечивают связь между услугами, причем очереди сообщений выполнены с возможностью принимать сообщения от издателей и передавать сообщения к подписчикам; указывают заданную очередь сообщений для каждой из одной или нескольких услуг, причем заданная очередь сообщений выполнена с возможностью поддерживать сообщения для этой услуги; перемещают по меньшей мере одну из услуг во вторую, другую вычислительную систему, причем заданная очередь сообщений поддерживает сообщения для перемещенной услуги; назначают для каждого сообщения тематический ключ, который указывает тематический раздел для этого сообщения; и направляют сообщения к подписчикам, на основе назначенного тематического ключа сообщения, таким образом, чтобы те сообщения, которые ассоциированы с заданными тематическими ключами, направлялись брокером сообщений к подписчикам, которые подписаны на сообщения этого тематического раздела.

30. Способ для перехода от первой версии услуги ко второй версии, реализуемый на компьютере, в вычислительной системе, включающей в себя по меньшей мере один процессор и память, причем этот способ содержит этапы, на которых: реализуют первую версию услуги; реализуют вторую версию той же услуги таким образом, чтобы первая версия услуги и вторая версия услуги выполнялись одновременно; определяют, что сообщение, отправленное к первой версии услуги для обработки, подлежит отправке ко второй версии услуги; и обрабатывают сообщение с использованием второй версии услуги; причем первая версия услуги является более новой версией, а вторая версия услуги является более старой версией, и при этом услуга переходит после отказа от первой, более новой версии, ко второй, более старой версии услуги.

31. Способ по п. 30, в котором первую версию услуги реализуют автоматически после инсталляции таким образом, чтобы обновления услуги выполнялись, по существу, без простоя.



 

Похожие патенты:

Изобретение относится к технологиям сетевой связи. Технический результат заключается в повышении скорости передачи данных.

Изобретение относится к технике связи и может использоваться в системах беспроводной связи. Технический результат состоит в обеспечении быстрого и надежного автоматического определения преамбулы 802.11ax версии.

Изобретение относится к области мобильной связи. Техническим результатом является установление защищенной линии связи между мобильной станцией и вторичной базовой станцией в системе мобильной связи.

Группа изобретений относится к беспроводной стыковке устройств. Технический результат – обеспечение защищенной и безопасной беспроводной стыковки устройств.

Изобретение относится к способу работы межсетевого экрана. Техническим результатом является повышение защищенности вычислительной сети.

Изобретение относится к способам, устройствам связи, машиночитаемым носителям для ассоциирования пользователя с группой. Технический результат заключается в обеспечении автоматизации ассоциирования пользователя с группой.

Изобретение относится к способам, устройствам связи, машиночитаемым носителям для ассоциирования пользователя с группой. Технический результат заключается в обеспечении автоматизации ассоциирования пользователя с группой.

Изобретение относится к передаче голоса на основе стандарта VoLTE. Технический результат – снижение энергопотребления и снижение требований к устройствам связи между процессором приложений (AP) и процессором связи (CP).

Изобретение относится к соединительным узлам для электронных устройств. Технический результат заключается в расширении арсенала средств того же назначения.

Изобретение относится к способу управления сетевым элементом для его присоединения к сети и сетевому элементу. Технический результат заключается в обеспечении управления подключением сетевого элемента к сети.

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

Наверх