Управление при инициировании элементарных задач на серверной платформе - RU2696299C2

Код документа: RU2696299C2

Чертежи

Описание

Уровень техники

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

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

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

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

Сущность изобретения

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

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

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

Краткое описание чертежей

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

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

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

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

[0012] Фиг. 4 иллюстрирует указание задач и временных кадров в соответствии с принципами, описанными в данном документе; и

[0013] Фиг. 5 иллюстрирует пример дополнительной информации в соответствии с принципами, описанными в данном документе.

Подробное описание изобретения

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

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

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

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

[0018] Как проиллюстрировано на фиг. 1, в своей самой базовой конфигурации вычислительная система 100 типично включает в себя, по меньшей мере, один аппаратный модуль 102 обработки и запоминающее устройство 104. Запоминающее устройство 104 может представлять собой физическое системное запоминающее устройство, которое может быть энергозависимым, энергонезависимым либо комбинацией вышеозначенного. Термин "запоминающее устройство" также может быть использован в данном документе для того, чтобы ссылаться на энергонезависимое устройство хранения большой емкости, такое как физические носители хранения данных. Если вычислительная система является распределенной, возможности обработки, запоминающего устройства и/или хранения также могут быть распределенными. При использовании в данном документе, термин "выполняемый модуль" или "выполняемый компонент" может означать программные объекты, маршрутизации или способы, которые могут выполняться в вычислительной системе. Различные компоненты, модули, механизмы и службы, описанные в данном документе, могут быть реализованы как объекты или процессы, которые выполняются в вычислительной системе (к примеру, как отдельные подпроцессы).

[0019] В нижеследующем описании, варианты осуществления поясняются со ссылкой на этапы, которые выполняются посредством одной или более вычислительных систем. Если эти этапы реализованы в программном обеспечении, один или более процессоров ассоциированной вычислительной системы, которая выполняет этап, управляют работой вычислительной системы в ответ на выполнение машиночитаемых инструкций. Например, такие машиноисполняемые инструкции могут быть осуществлены на одном или более машиночитаемых носителей, которые формируют компьютерный программный продукт. Пример такой операции заключает в себе обработку данных. Машиноисполняемые инструкции (и обработанные данные) могут сохраняться в запоминающем устройстве 104 вычислительной системы 100. Вычислительная система 101 также может содержать каналы 108 связи, которые обеспечивают возможность вычислительной системе 100 обмениваться данными с другими процессорами сообщений, например, по сети 110.

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

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

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

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

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

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

[0026] Фиг. 2 иллюстрирует окружение 200, в котором могут использоваться описанные принципы. Окружение 200 включает в себя серверную платформу 201, в которой выполняются несколько участников 220 арендуемой среды. Каждый участник арендуемой среды может представлять собой, например, программное обеспечение, ассоциированное с поставщиком услуг, который выполняет услугу в окружении 200. Например, серверная платформа 201 может представлять собой один сервер, несколько распределенных серверов или облачное вычислительное окружение, составляющее открытое облако, закрытое облако или гибридное облако. Серверная платформа 201 может иметь такую структуру, как описано выше для вычислительной системы 100 по фиг. 1, хотя при этом, вероятно, иметь достаточное распределение в случае облачного вычислительного окружения.

[0027] Серверная платформа 201 отслеживает состояние потока обработки каждого из участников 220 арендуемой среды и выполняет элементарные задачи для полного завершения состояния потока обработки каждого участника арендуемой среды. По мере прохождения времени, либо серверная платформа 201 может инициировать поток обработки относительно конкретного участника арендуемой среды, либо это конкретный участник арендуемой среды может запрашивать инициирование потока обработки.

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

[0029] Серверная платформа 201 имеет доступ к хранилищу 211 состояний потока обработки, которое помогает в отслеживании текущих активных потоков обработки относительно каждого участника арендуемой среды и структуры самого потока обработки (с тем чтобы идентифицировать следующую задачу, которая должна выполняться в каждом потоке обработки).

[0030] Мощные серверные платформы зачастую допускают хостинг сотен или тысяч участников арендуемой среды. Тем не менее, в проиллюстрированном варианте осуществления, только для простоты и ясности, проиллюстрировано только три участника 221, 222 и 223 арендуемой среды. Тем не менее, эллипсы 224 символически представляют то, что может быть предусмотрено любое число участников арендуемой среды, работающих в рамках платформы, без отступления от объема принципов, описанных в данном документе. Соответственно, принципы, описанные в данном документе, не ограничены фактическим числом участников арендуемой среды, работающих в рамках платформы, и даже число участников арендуемой среды не является статическим, поскольку участники арендуемой среды добавляются или удаляются из платформы.

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

[0032] Фиг. 3 иллюстрирует блок-схему последовательности операций способа 300 для диспетчеризации конкретной элементарной задачи в серверной платформе, которая включает в себя, по меньшей мере, одного участника арендуемой среды. Некоторые этапы способа 300 выполняются посредством серверной платформы 201 по фиг. 2 (или возможно, в частности, посредством контроллера 210) и проиллюстрированы в левом столбце по фиг. 3 под заголовком "Платформа". Другие этапы способа 300 выполняются посредством соответствующего участника арендуемой среды (например, участника 221 арендуемой среды), как представлено в правом столбце по фиг. 3 под заголовком "Участник арендуемой среды". Способ 300 может осуществляться многократно относительно данного участника арендуемой среды, возможно, когда новые задачи должны выполняться, что может оказывать влияние на участника арендуемой среды.

[0033] Способ 300 инициируется при идентификации посредством платформы одной или более (потенциально нескольких) элементарных задач (этап 311), которые должны выполняться посредством серверной платформы, но которые, по меньшей мере, потенциально затрагивают конкретного участника арендуемой среды. Например, со ссылкой на фиг. 2, в примере, упоминаемом далее как "пример конкретного случая", предположим, что контроллер 210 платформы 201 определяет то, что платформа 201 должна выполнять четыре задачи, называемые далее как задача A, задача B, задача C и задача D, которые могут потенциально затрагивать участника 221 арендуемой среды. Примеры задач, которые может выполнять платформа, которые могут оказывать влияние на участника арендуемой среды, включают в себя перезагрузку физической машины, при которой весь или часть участника арендуемой среды работает, повторную инициализацию виртуальной машины, которая выполняет всего или часть участника арендуемой среды, обновление программного компонента участника арендуемой среды, обновление конфигурации участника арендуемой среды, добавление или удаление ресурсов, доступных участнику арендуемой среды, и т.д.

[0034] В одном варианте осуществления, задачи идентифицируются посредством платформенного контроллера 210 посредством оценки потоков обработки, сохраненных в хранилище 211 состояний потока обработки. Например, платформенный контроллер 210 может оценивать активные и новые потоки обработки для участника 221 арендуемой среды и определять то, какая элементарная задача является следующей, на основе этого состояния потока обработки. Поток обработки может заключаться просто в одной элементарной задаче или может заключать в себе несколько элементарных задач, которые имеют некоторую временную взаимосвязь касательно того, когда они должны или могут выполняться. Поток обработки для участника 221 арендуемой среды может быть инициирован по директиве либо платформы 201, либо участника 221 арендуемой среды. В некоторых случаях, чтобы находить задачи, которые могут затрагивать данного участника арендуемой среды, платформенный контроллер 210 может даже изучать потоки обработки вне рамок потоков обработки, активно назначаемых участнику арендуемой среды. Например, если конкретная задача заключает в себе физическую перезагрузку машины, которая имеет три виртуальных машины, запущенные на ней, каждая из которых обслуживает различных участников арендуемой среды, задача перезагрузки может рассматриваться как оказывающая влияние на каждого из этих участников арендуемой среды. В случае задачи, заключающей в себе завершение работы виртуальной машины, возможно, только участник арендуемой среды, который выполняется посредством виртуальной машины, определяется в качестве затрагиваемого. Таким образом, в этом описании и в формуле изобретения, когда платформа предоставляет элемент управления инициированием задачи для конкретного участника арендуемой среды, этот конкретный участник арендуемой среды может совместно использовать такое управление с одним или более других участников арендуемой среды.

[0035] Для некоторых задач, но не обязательно для всех, платформа может разрешать затрагиваемому участнику арендуемой среды иметь определенное управление в отношении того, когда инициировать соответствующую задачу. Таким образом, участник арендуемой среды предоставляет подтверждение инициирования соответствующей задачи. Например, в примере конкретного случая, предположим, что платформа 210 определяет то, что задача D должна просто переноситься на более ранний срок, при том что платформа определяет то, что участник 221 арендуемой среды должен иметь определенное управление в отношении того, когда должны инициироваться задачи A, B и C. Для тех задач, для которых, как определяет платформа, участник арендуемой среды может иметь определенное управление в отношении инициирования задачи, платформенный контроллер также идентифицирует временной кадр, в пределах которого участник арендуемой среды может управлять инициированием конкретной задачи (этап 312). Этот временной кадр может рассматриваться в качестве тайм-аута, после которого платформа может инициировать задачу в любое время.

[0036] Идентифицированный временной кадр может зависеть от срочности задачи для платформы и участника арендуемой среды. Например, если задача должна выполняться срочно (к примеру, как в случае задачи D), то, возможно, платформа никогда не предоставляет управление участнику арендуемой среды. Тем не менее, для задач, которые являются немного менее срочными, временной кадр является относительно коротким. В общем, чем менее срочной является задача для платформы, тем длиннее может быть временной кадр. Временной кадр может даже быть бесконечным, и в этом случае участник арендуемой среды имеет свободное право в отношении того, когда платформа должна инициировать задачу. Временной кадр может варьироваться посредством участника арендуемой среды. Например, некоторым участникам арендуемой среды могут иметь более высокие уровни обслуживания, предлагаемые посредством платформа. Таким участникам арендуемой среды могут предоставляться, в общем, более длинные временные кадры для инструктирования платформе инициировать задачу.

[0037] Платформа затем формирует указание (этап 313) одной или более элементарных задач, которые должны выполняться посредством платформы, но которые, по меньшей мере, потенциально затрагивают участника арендуемой среды. В примере конкретного случая относительно фиг. 2 контроллер 210 создает указание и идентифицирует задачи A, B и C в этом указании.

[0038] Контроллер также определяет временной кадр для каждой задачи и включает его в указание. Например, возможно временной кадр для задачи A составляет 15 минут, временной кадр для задачи B составляет 15 дней, и временной кадр для задачи C является пустым (возможно, неявная передача бесконечного временного кадра, не имеющего окончания). Таким образом, платформенный контроллер 210 определяет то, что он готов ожидать 15 минут, чтобы выполнять задачу A, чтобы обеспечивать возможность выбора участника 221 арендуемой среды в пределах этого 15-минутного периода в отношении того, когда инструктировать задачу A запуска платформы. Аналогично, платформенный контроллер 210 определяет то, что он готов ожидать 15 дней, чтобы выполнять задачу B, чтобы обеспечивать возможность выбора участника 221 арендуемой среды в пределах этого 15-дневного периода в отношении того, когда инструктировать задачу B запуска платформы. В завершение, платформенный контроллер 210 определяет то, что он готов при условии, что участник 221 арендуемой среды хочет выполнять задачу C. Например, возможно задача C не оказывает влияния на платформу в целом и оказывает влияние только на участника 221 арендуемой среды.

[0039] Указание, которое включает в себя идентификационные данные этапов и любых соответствующих временных кадров, затем передается конкретному участнику арендуемой среды, который осуществляет этапы (этап 314). Например, это может осуществляться при одном обмене данными. Аналогично, необязательно, платформа также предоставляет дополнительную информацию (этап 315), чтобы помогать конкретному участнику арендуемой среды при определении того, когда разрешать конкретную задачу. Например, в примере конкретного случая, контроллер 210 инструктирует обмен данными (возможно, один обмен данными), который идентифицирует задачи A, B и C и, если применимо, их ассоциированный временной кадр, для участника 221 арендуемой среды. Например, фиг. 4 иллюстрирует примерную таблицу, которая может передаваться участнику арендуемой среды. Здесь, таблица включает в себя идентификацию каждой задачи A, B и C. Кроме того, для каждой задачи передается временной кадр. Серверная платформа 201 также может изменять временной кадр или даже аннулировать этап, который должен выполняться. Это может предоставляться в отдельной передаче из серверной платформы 201 соответствующему участнику арендуемой среды.

[0040] В этой передаче на этапах 314 и 315, платформенный контроллер 210 также может передавать дополнительную информацию. Дополнительная информация также может включать в себя любую информацию, полезную для участника арендуемой среды, чтобы определять, когда инструктировать платформе инициировать соответствующую задачу. Например, для любой данной задачи, дополнительная информация может включать в себя конкретную для задачи информацию, такую как оцененное или среднее время для восстановления при выполнении задачи, ожидаемое или среднее время, когда задача инициируется посредством платформы, как только обнаруживается инструкция на инициирование. Например, на фиг. 4, каждая задача также включает в себя среднее время для восстановления. Дополнительная информация также может включать в себя другие последствия выполнения задачи, такие как доступность данных, скорости обращения к запоминающему устройству, использование запоминающего устройства, загрузка процессора и т.п.

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

[0042] Участник арендуемой среды затем оптимально принимает указание (этап 321). Соответственно, в примере конкретного случая, участник 221 арендуемой среды принимает указание задач A, B и C из платформенного контроллера 210. Соответственно, участник арендуемой среды знает, что он имеет 15-минутное окно, в котором участник арендуемой среды может управлять тем, когда выполняется задача A, 15-дневное окно, в котором участник арендуемой среды может управлять тем, когда выполняется задача B, и неограниченное окно, в котором участник арендуемой среды может управлять тем, когда выполняется задача C.

[0043] Участник арендуемой среды затем разрешает (этап 322) каждую задачу либо посредством ответа с выраженным разрешением для задачи в соответствующем временном кадре, либо посредством предоставления возможности истечения временного кадра без выраженного разрешения, в силу этого неявно разрешая выполнение посредством серверной платформы конкретной элементарной задачи. В случае выраженного разрешения, выраженное разрешение для нескольких задач может предоставляться при одном обмене данными. Например, в примере конкретного случая, предположим с 13-минутной меткой, участник 221 арендуемой среды решает инициировать обе задачи A и B. В пределах временного кадра для обеих задач, участник арендуемой среды по-прежнему имеет это управление для обеих задач. Соответственно, при одном обмене данными, участник 221 арендуемой среды может авторизовать инициирование задач A и B.

[0044] Платформа затем определяет (этап 316) то, что серверная платформа должна продолжать выполнение конкретной задачи, на основе состояния ответа, соответствующего передаче указания. Например, в примере конкретного случая, в 13-минутной метке, платформенный контроллер 210 принимает индикатор от участника 221 арендуемой среды касательно того, что участник арендуемой среды разрешает перенос на более ранний срок задач A и B. В этом случае, серверная платформа выполняет перенос на более ранний срок по желанию. Тем не менее, предположим, что 15 минут истекли без передачи от участника 221 арендуемой среды относительно задачи A. В этот момент, с учетом состояния ответа (нет принимаемого ответа), платформа может в таком случае интерпретировать отсутствие ответа в качестве неявного разрешения выполнять перенос на более ранний срок. Соответственно, платформа может переносить на более ранний срок задачу A.

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

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

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

Реферат

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

Формула

1. Способ диспетчеризации элементарных задач в серверной платформе, которая включает в себя одного или более участников арендуемой среды, причем каждый участник арендуемой среды представляет собой программное обеспечение, ассоциированное с поставщиком услуг, который выполняет услугу в серверной платформе, при этом способ содержит:
этап приема участником арендуемой среды из серверной платформы указания, относящегося к конкретной элементарной задаче, причем этим указанием указывается, (1) что данная конкретная элементарная задача будет выполняться серверной платформой и (2) что выполнение данной конкретной элементарной задачи будет потенциально затрагивать участника арендуемой среды;
этап идентификации участником арендуемой среды того, что упомянутое указание используется серверной платформой для передачи участнику арендуемой среды по меньшей мере некоторого управления в определении того, когда упомянутая конкретная элементарная задача должна выполняться серверной платформой, при этом участник арендуемой среды сохраняет за собой данное по меньшей мере некоторое управление в течение определенного временного кадра, указанного в упомянутом указании, при этом упомянутая передача участнику арендуемой среды по меньшей мере некоторого управления выполняется по меньшей мере отчасти потому, что участник арендуемой среды имеет большее знание на предмет того, насколько срочной является упомянутая конкретная элементарная задача; и
этап разрешения участником арендуемой среды выполнения серверной платформой упомянутой конкретной элементарной задачи, причем данное разрешение со стороны участника арендуемой среды осуществляется в пределах упомянутого определенного временного кадра и по меньшей мере отчасти основывается на ожидаемом времени, в течение которого серверная платформа будет ожидать после приема серверной платформой от участника арендуемой среды инструкции инициировать упомянутую конкретную элементарную задачу,
при этом в результате того, что серверная платформа координируется с участником арендуемой среды на предмет того, когда должна выполняться упомянутая конкретная элементарная задача, выполнение этой конкретной элементарной задачи продолжается в темпе, который обеспечивает серверной платформе возможность использовать свои ресурсы более эффективно посредством обработки задач в соответствии с определенной срочностью этих задач.
2. Способ по п. 1, в котором этап разрешения участником арендуемой среды содержит ожидание участником арендуемой среды до конца упомянутого определенного временного кадра без отправки в серверную платформу явной передачи, разрешающей упомянутую конкретную элементарную задачу, тем самым неявно разрешая выполнение серверной платформой этой конкретной элементарной задачи.
3. Способ по п. 1, в котором этап разрешения участником арендуемой среды содержит передачу участником арендуемой среды в серверную платформу явного разрешения в отношении упомянутой конкретной элементарной задачи в пределах упомянутого определенного временного кадра.
4. Способ по п. 1, в котором упомянутое указание также относится к множеству других элементарных задач.
5. Способ по п. 4, в котором этап разрешения участником арендуемой среды содержит этап явного разрешения участником арендуемой среды каждой из по меньшей мере одной из упомянутого множества элементарных задач в одной передаче.
6. Способ по п. 5, в котором этап разрешения участником арендуемой среды содержит этап явного разрешения участником арендуемой среды каждой из по меньшей мере некоторых из упомянутого множества элементарных задач в одной передаче на серверную платформу.
7. Способ по п. 1, дополнительно содержащий этап предложения участником арендуемой среды задачи, которая должна выполняться серверной платформой, при этом упомянутое указание основывается по меньшей мере отчасти на предлагаемой задаче.
8. Способ по п. 1, в котором участнику арендуемой среды предоставляется дополнительная информация, которая описывает одно или более последствий выполнения упомянутой конкретной элементарной задачи, каковые последствия включают в себя скорость обращения к запоминающему устройству.
9. Машиночитаемый носитель, на котором сохранены машиноисполняемые инструкции, которые при их исполнении серверной платформой, которая включает в себя одного или более участников арендуемой среды, где каждый участник арендуемой среды представляет собой программное обеспечение, ассоциированное с поставщиком услуг, который выполняет услугу в серверной платформе, предписывают серверной платформе осуществлять способ диспетчеризации задач в серверной платформе, содержащий:
этап идентификации конкретной задачи, которая должна выполняться серверной платформой и которая будет по меньшей мере потенциально затрагивать конкретного участника арендуемой среды;
этап генерирования указания, относящегося к этой конкретной задаче, причем этим указанием указывается, (1) что данная конкретная задача будет выполняться серверной платформой и (2) что выполнение данной конкретной задачи будет потенциально затрагивать упомянутого конкретного участника арендуемой среды, при этом данное указание используется этим конкретным участником арендуемой среды для идентификации того, что упомянутое указание используется серверной платформой для передачи упомянутому конкретному участнику арендуемой среды по меньшей мере некоторого управления в определении того, когда упомянутая конкретная задача должна выполняться серверной платформой, при этом упомянутый конкретный участник арендуемой среды сохраняет за собой данное по меньшей мере некоторое управление в течение конкретного временного кадра, указанного в упомянутом указании, при этом упомянутая передача участнику арендуемой среды по меньшей мере некоторого управления выполняется по меньшей мере отчасти потому, что упомянутый участник арендуемой среды имеет большее знание на предмет того, насколько срочной является упомянутая конкретная задача;
этап предписания выполнения передачи упомянутого указания упомянутому конкретному участнику арендуемой среды и
этап определения того, что серверная платформа должна продолжать выполнение упомянутой конкретной задачи на основе статуса ответа, соответствующего упомянутой передаче указания, причем статус ответа формируется упомянутым конкретным участником арендуемой среды, при этом данное формирование статуса ответа по меньшей мере отчасти основывается на ожидаемом времени, в течение которого серверная платформа будет ожидать после приема серверной платформой от этого конкретного участника арендуемой среды инструкции инициировать упомянутую конкретную задачу,
при этом в результате того, что серверная платформа координируется с упомянутым участником арендуемой среды на предмет того, когда должна выполняться упомянутая конкретная задача, выполнение этой конкретной задачи продолжается в темпе, который обеспечивает серверной платформе возможность использовать свои ресурсы более эффективно посредством обработки задач в соответствии с определенной срочностью этих задач.
10. Машиночитаемый носитель по п. 9, при этом упомянутое определение того, что серверная платформа должна продолжать выполнение конкретной задачи, выполняется в качестве реакции на прием явного разрешения от упомянутого конкретного участника арендуемой среды в пределах упомянутого конкретного временного кадра.
11. Машиночитаемый носитель по п. 9, при этом упомянутое определение того, что серверная платформа должна продолжать выполнение конкретной задачи, выполняется в качестве реакции на определение того, что упомянутый конкретный временной кадр прошел без явного разрешения от упомянутого конкретного участника арендуемой среды в пределах этого конкретного временного кадра.
12. Машиночитаемый носитель по п. 9, при этом упомянутый конкретный временной кадр явным образом представлен в упомянутом указании.
13. Машиночитаемый носитель по п. 9, при этом упомянутый конкретный временной кадр не имеет окончания, чем представляется то, что упомянутый конкретный участник арендуемой среды имеет непрерывное управление в отношении того, когда упомянутая конкретная задача должна выполняться серверной платформой.
14. Машиночитаемый носитель по п. 9, при этом упомянутый конкретный временной кадр может быть аннулирован посредством серверной платформы.
15. Машиночитаемый носитель по п. 9, в котором способ дополнительно содержит этап предоставления дополнительной информации упомянутому конкретному участнику арендуемой среды, чтобы помогать этому конкретному участнику арендуемой среды при принятии решения в отношении того, когда разрешать упомянутую конкретную задачу.
16. Машиночитаемый носитель по п. 15, при этом упомянутая дополнительная информация содержит оценочное время для восстановления, соответствующее упомянутой конкретной задаче.
17. Машиночитаемый носитель по п. 15, при этом упомянутая дополнительная информация содержит оценку серверной платформой работоспособности упомянутого конкретного участника арендуемой среды.
18. Машиночитаемый носитель по п. 15, при этом упомянутая дополнительная информация содержит состояние упомянутого конкретного участника арендуемой среды.
19. Машиночитаемый носитель по п. 15, при этом упомянутая дополнительная информация содержит конфигурацию упомянутого конкретного участника арендуемой среды.
20. Способ диспетчеризации задач в серверной платформе, которая включает в себя одного или более участников арендуемой среды, где каждый участник арендуемой среды представляет собой программное обеспечение, ассоциированное с поставщиком услуг, который выполняет услугу в серверной платформе, при этом способ содержит:
этап идентификации конкретной задачи, которая должна выполняться серверной платформой и которая будет по меньшей мере потенциально затрагивать конкретного участника арендуемой среды;
этап генерирования указания, относящегося к этой конкретной задаче, причем этим указанием указывается, (1) что данная конкретная задача будет выполняться серверной платформой и (2) что выполнение данной конкретной задачи будет потенциально затрагивать упомянутого конкретного участника арендуемой среды, при этом данное указание используется этим конкретным участником арендуемой среды для идентификации того, что упомянутое указание используется серверной платформой для передачи упомянутому конкретному участнику арендуемой среды по меньшей мере некоторого управления в определении того, когда упомянутая конкретная задача должна выполняться серверной платформой, при этом упомянутый конкретный участник арендуемой среды сохраняет за собой данное по меньшей мере некоторое управление в течение конкретного временного кадра, указанного в упомянутом указании, при этом упомянутая передача участнику арендуемой среды по меньшей мере некоторого управления выполняется по меньшей мере отчасти потому, что упомянутый участник арендуемой среды имеет большее знание на предмет того, насколько срочной является упомянутая конкретная задача;
этап передачи упомянутого указания упомянутому конкретному участнику арендуемой среды и
этап определения того, что серверная платформа должна продолжать выполнение упомянутой конкретной задачи на основе статуса ответа, соответствующего упомянутой передаче указания, причем статус ответа формируется упомянутым конкретным участником арендуемой среды, при этом данное формирование статуса ответа по меньшей мере отчасти основывается на ожидаемом времени, в течение которого серверная платформа будет ожидать после приема серверной платформой от этого конкретного участника арендуемой среды инструкции инициировать упомянутую конкретную задачу,
при этом в результате того, что серверная платформа координируется с упомянутым участником арендуемой среды на предмет того, когда должна выполняться упомянутая конкретная задача, выполнение этой конкретной задачи продолжается в темпе, который обеспечивает серверной платформе возможность использовать свои ресурсы более эффективно посредством обработки задач в соответствии с определенной срочностью этих задач.
21. Способ по п. 20, в котором упомянутая конкретная задача является первой элементарной задачей, а упомянутый конкретный временной кадр является первым временным кадром, при этом способ дополнительно содержит:
этап идентификации второй элементарной задачи, которая должна выполняться серверной платформой и которая будет потенциально затрагивать упомянутого конкретного участника арендуемой среды;
этап генерирования другого указания, которое относится ко второй элементарной задаче и которое включает в себя, по меньшей мере, неявную идентификацию по меньшей мере второго временного кадра, в котором упомянутый конкретный участник арендуемой среды имеет управление в отношении разрешения выполнения серверной платформой второй элементарной задачи;
этап передачи упомянутого другого указания данному конкретному участнику арендуемой среды и
этап определения того, что серверная платформа должна продолжать выполнение второй элементарной задачи на основе статуса ответа, соответствующего упомянутой передаче другого указания.
22. Способ по п. 20, дополнительно содержащий:
этап идентификации других задач, которые должны выполняться серверной платформой, каковые другие задачи включают в себя первую задачу, которая назначена первому участнику арендуемой среды;
этап идентификации того, что первая задача будет, при ее выполнении серверной платформой, затрагивать упомянутого конкретного участника арендуемой среды; и
этап обеспечения как этому конкретному участнику арендуемой среды, так и первому участнику арендуемой среды возможности совместно использовать управление в отношении того, когда первая задача должна выполняться серверной платформой.
23. Способ по п. 20, в котором длительность упомянутого конкретного временного кадра зависит от определенной срочности упомянутой конкретной задачи, за счет чего более срочные задачи имеют более короткие временные кадры, чем менее срочные задачи.

Патенты аналоги

Авторы

Патентообладатели

Заявители

СПК: G06F8/60 G06F9/5038

Публикация: 2019-08-01

Дата подачи заявки: 2015-07-06

0
0
0
0
Невозможно загрузить содержимое всплывающей подсказки.
Поиск по товарам