Уровень техники
Компьютерная система может содержать монитор виртуальных машин (VMM) для управления одной или более гостевыми операционными системами.
VMM может принимать решение о доступе к ресурсам компьютерной системы между гостевыми операционными системами. VMM может предоставлять виртуальный интерфейс или выделение ресурсов гостевым операционным системам. Гостевая операционная система и соответствующие виртуализированные ресурсы и интерфейсы упоминаются здесь как виртуальная машина (VM).
VMM может предоставлять для VM изолированную и безопасную среду.
VMM может быть реализован в программном обеспечении или в комбинации аппаратного обеспечения и программного обеспечения.
Физический ресурс может содержать одну или более конфигурируемых функций. Например, контроллер интерфейса беспроводной сети (NIC) может иметь возможность изменения конфигурации в отношении инициализации устройства, сканирования сети, выбора точек доступа к сети, выбора канала, установления соединения, управления передачей управления, безопасности и управления электропитанием.
Разработаны способы виртуализации проводных NIC, содержащие поддержку мониторов VMM на основе программного обеспечения и виртуализацию аппаратного обеспечения NIC на основе спецификации (vl.O) единой корневой виртуализации ввода-вывода (SR-IOV), распространенной группой Peripheral Component Interconnect Special Interest Group (PCI-SIG) (специальная группа по взаимодействию периферийных компонент).
Подход VMM, основанный на программном обеспечении, может делать незаметными конфигурируемые свойства устройства со стороны машин VM.
Подход SR-IOV может улучшить характеристики NIC, но добавляет сложности аппаратного обеспечения и увеличивает затраты.
Краткое описание чертежей
Фиг.1 - блок-схема компьютерной платформы, содержащей компьютерную систему, конфигурируемый физический ресурс или устройство и систему увеличения виртуализации, обеспечивающие конфигурирование физического устройства и получение доступа к физическому устройству для каждой из множества виртуальных машин.
Фиг.2 - концептуальная блок-схема системы увеличения виртуализации (VA).
Фиг.3 - блок-схема компьютерной платформы, в которой физическое устройство содержит контроллер интерфейса беспроводной сети (NIC) с увеличенной виртуализацией.
Фиг.4 - блок-схема компьютерной платформы, представленной на фиг.3, в которой система VA выполнена с возможностью связи идентификаторов VM с сообщениями и сигналами управления, проходящими между VMM и физическим устройством.
Фиг.5 - блок-схема последовательности выполнения операций способа взаимодействия между физическим устройством и множеством VM.
Фиг.6 - блок-схема беспроводного NIC, пригодного для переконфигурации множества VM и выполненного с возможностью дифференцирования среди машин VM в отношении сигналов управления конфигурацией и трафика данных к VM и от них.
Фиг.7 - блок-схема способа управления беспроводным NIC для работы с множеством VM, в том числе дифференциации среди VM в отношении управления конфигурацией и трафика данных к VM и от них.
Фиг.8 - блок-схема последовательности выполнения операций способа дифференциации VM в отношении сигналов управления конфигурацией и принятых пакетов.
Фиг.9 - блок-схема последовательности выполнения операций способа связи идентификаторов конкретных VM с пакетами, принимаемыми от одной или более точек доступа, и с передаваемыми пакетами, принятыми от VMM.
Фиг.10 - блок-схема компьютерной платформы, показанной на фиг.1, содержащая пример свойств компьютерной системы.
Фиг.11 - другая блок-схема компьютерной платформы, показанной на фиг.1, содержащая пример свойств физического устройства.
На чертежах крайняя левая цифра(-ы) ссылочной позиции идентифицирует чертеж, в котором позиция появилась впервые.
Осуществление изобретения
Здесь раскрыты способы и системы, обеспечивающие для каждой из множества виртуальных машин (VM), отдельного конфигурирования физического ресурса или устройства и получения доступа к физическому ресурсу или устройству, и способы и системы для реализации физического устройства для дифференциации между множеством VM системы хост-компьютера.
На фиг.1 представлена блок-схема компьютерной платформы 100, содержащей компьютерную систему 102, конфигурируемый физический ресурс или устройство 104 и систему 118 увеличения виртуализации (VA), обеспечивающие для каждой из множества виртуальных машин компьютерной системы 102, и возможность конфигурировать и получать доступ к физическому устройству 104.
Физическое устройство 104 может содержать контроллер 106 устройства, чтобы конфигурировать одну или более функций или свойств физического устройства 104.
Физическое устройство 104 может содержать один или более из множества типов физических устройств или ресурсов. Например, физическое устройство 104 может содержать беспроводной приемопередатчик и контроллер 106 устройства может содержать контроллер интерфейса беспроводной сети (NIC). Физическое устройство 104 и контроллер 106 устройства, однако, не ограничиваются беспроводным NIC.
Компьютерная система 102 может содержать один или более процессоров 108, чтобы обеспечивать среду исполнения процессора, упомянутую здесь как хост-среда ПО. Хост-среда ПО может содержать монитор виртуальной машины (VMM) 112, чтобы управлять одной или более виртуальными машинами (VM) 114-1-114-n.
Контроллер 106 устройства может содержать другой процессор, который может иметь микроконтроллер для исполнения команд или логики, которая может обеспечиваться встроенным микропрограммным обеспечением.
Хост-среда ПО может содержать хост-драйвер 116 устройства для взаимодействия между компьютерной системой 102 и физическим устройством 104. Хост-драйвер 116 устройства может выполняться на процессоре 108 за пределами VMM 112.
Система 118 VA может быть выполнена с возможностью разрешения каждой из машин VM 114-1-114-n отдельно конфигурировать и получать доступ к физическому устройству 104.
Каждая из VM 114 может содержать экземпляр драйвера 120 устройства, чтобы представлять управляемые функции физического устройства в пределах каждой из VM 114-1-114-n. Драйвер 120 устройства может быть разработан специально для физического устройства 104 и/или контроллера устройства 106 и может быть предоставляться производителем физического устройства 104 и/или контроллера 106 устройства. Драйвер 120 устройства может здесь упоминаться как собственный драйвер устройства.
Система VA 118 или ее участки может быть реализована в рамках контроллера 106 устройства и/или в пределах компьютерной системы 102. В пределах компьютерной системы 102 один или более участков системы 118 VA могут быть реализованы в пределах VMM 112 и/или за пределами VMM 112, например, в пределах хост-драйвера 116 устройства.
Когда участок системы VA 118 реализуется в пределах контроллера 106 устройства, контроллер 106 устройства может здесь упоминаться как контроллер устройства с увеличенной виртуализацией.
Когда участок системы 112 интерфейса ввода-вывода реализуется в пределах хост-драйвера 116 устройства, хост-драйвер 116 устройства может здесь упоминаться как хост-драйвер устройства с увеличенной виртуализацией.
На фиг.2 представлена концептуальная блок-схема системы 118 увеличения виртуализации, содержащая единый механизм 202 управления для управления командами и/или данными, посланными от VM 114-1-114-n к физическому устройству 104 (фиг.1). Единый механизм 202 управления может обеспечить единый интерфейс управления для физического устройства 104. Например, объединенный механизм 202 управления может быть выполнен с возможностью синтеза управления и/или конфигурации команд от VM 114-1-114-n, чтобы, например, выбрать и/или отвергнуть команды управления и/или конфигурации от различных VM 114-1-114-n, которые могут быть основаны на приоритете, природе команд, потенциальных конфликтах и/или других факторах.
Единый механизм 202 управления может быть выполнен с возможностью поддержания параметров 204, зависящих от VM, для каждой из VM 114-1-114-n и выборочного применения параметров 204, зависящих от VM, к физическому устройству 104. Выборочное применение параметров 204, зависящих от VM, функционально показано на фиг.2 с использованием мультиплексора 206.
Параметры 204 могут содержать один или более параметров конфигурации устройства и/или информации о соединении. Типы параметров конфигурации устройства и информации о соединении могут изменяться устройством физического типа.
Когда физическое устройство 104 содержит, например, беспроводной NIC, параметры конфигурации могут относиться к одному или более из следующего:
инициализация устройства;
сетевое сканирование;
выбор сети/точки доступа;
выбор канала;
установление соединения;
управление передачей управления;
сетевая синхронизация;
выбор скорости передачи данных; безопасность/шифрование; и управление электропитанием.
Альтернативно или дополнительно, беспроводной NIC может конфигурироваться в отношении одного или более из следующего: аутентификация; управление шириной полосы; управление доступом/приоритетом; роуминг подсети; буферизация;
запрос на передачу и готовность к передаче (RTS/CTS); и
качество обслуживания (QoS) (например, управление шириной полосы пропускания, основываясь на профилях пользователя, таких как приоритеты доступа).
Примеры параметров конфигурации, перечисленные выше, указаны для целей иллюстрации и не является исчерпывающими. Способы и системы, раскрытые здесь, не ограничиваются перечислением примеров приведенных выше управляемых свойств.
Что касается информации о соединении, то когда физическое устройство 104 содержит беспроводной NIC, информация о соединении может содержать, например, адрес точки доступа, MAC адрес, зависящий от VM, скорости передачи данных, поддерживаемые точкой доступа, канал, по которому действует точка доступа, и/или ключи защиты для конкретного соединения или сеанса.
Информация о соединении может также содержать информацию о состоянии. Когда физическое устройство 104 содержит беспроводной приемопередатчик, информация о состоянии может содержать, например, состояние ассоциации и/или состояние алгоритма оценочной шкалы.
Информация о соединении, связанная с конкретным соединением VM, может храниться и/или обновляться, когда доступ к физическому устройству 104 передается от одной VM к другой VM. Информация о соединении может быть применена повторно, когда VM позднее получает доступ к физическому устройству 104.
Управляющий модуль 202 может быть выполнен с возможностью координации сообщений передачи и приема между машинами VM 114 и физическим устройством 104 и разрешения каждой из машин VM 114-1-114-n отдельно получать доступ к физическому устройству 104, основываясь на соответствующих конкретных для VM параметрах 204. Управляющий модуль 202 может быть выполнен с возможностью разрешения машинам VM 114-1-114-n раздельно получать доступ к физическому устройству 104 посредством мультиплексирования во времени.
Управляющий модуль 202 или его участки могут быть реализованы в пределах хост-драйвера 116 устройства (фиг.1) и/или в пределах контроллера 106 устройства (фиг.1), например, с помощью встроенных команд микропрограммного обеспечения или логики для выполнения на микроконтроллере.
На фиг.3 представлена блок-схема компьютерной системы 102 и физического устройства 104, в которой физическое устройство 104 содержит беспроводной NIC 304 с увеличенной виртуализацией, компьютерная система 102 содержит хост-драйвер 312 беспроводного NIC с увеличенной виртуализацией и система 118 VA показана как реализованная через NIC 304, хост-драйвер 312 беспроводного NIC и VMM 112.
Беспроводной NIC 304 может содержать контроллер 306 доступа к среде (MAC) и участок физического уровня или устройство (PHY) 308, чтобы взаимодействовать через интерфейс между MAC 306 и беспроводным приемопередатчиком. MAC 306 может переконфигурироваться, чтобы представлять виртуальный вариант MAC 306 каждой из машин VM 114-1-114-n, показанный здесь как виртуальный MAC 307-1-307-n, каждый из которых может быть определен соответствующими параметрами устройства 204, зависящими от VM (фиг.2).
VM 114-1-114-n могут содержать соответствующие собственные драйверы 320-1-320-n беспроводных NIC.
Хост-драйвер 312 беспроводного NIC может обеспечивать интерфейс между MAC 306 и VMM 112, показанный здесь как радиосредства 314. Хост-драйвер 312 беспроводного NIC может быть выполнен с возможностью предоставления виртуального варианта радиосредств 314 для каждой из VM 114-1-114-n, показанных здесь как виртуальные радиосредства 316-1-316-n, которые могут быть определены соответствующей конфигурацией, зависящей от VM, и параметрами контекста.
Хост-драйвер 312 беспроводной NIC может содержать управляющий модуль 320, который может действовать на процессоре 108 вне VMM 112. Управляющий модуль 320 может быть выполнен с возможностью объединения управления конфигурацией устройства со стороны VM 114-1-114-n, чтобы предоставить единый интерфейс управления беспроводному NIC 304.
Монитор VMM 112 может содержать модель устройства, соответствующую беспроводному NIC 304, и может быть выполнен с возможностью представления виртуальных экземпляров модели устройства драйверам 320-1-320-n беспроводного NIC, показанным здесь как модели 318-1-318-n устройства. Модель устройства может содержать эмулированные функции взаимных соединений периферийных компонент (PCI).
Драйверы 320 устройства беспроводного NIC 320, модели 318 устройства и хост-драйвер 312 беспроводного NIC могут быть выполнены с возможностью разрешения машинам VM 114 получать доступ ко всем или к подмножеству конфигурируемых функций физического устройства 104.
На фиг.4 представлена блок-схема компьютерной системы 102 и физическое устройство 104, представленное на фиг.3, где система 118 VA выполнена с возможностью связи идентификаторов конкретных VM с сообщениями и управлением, передаваемыми среди VMM 112, хост-драйвера 312 беспроводного NIC и беспроводного NIC 304. Здесь они упоминаются как снабженные тегами сообщения с идентификаторами конкретных VM.
На фиг.4 беспроводной NIC 304 содержит идентификатор виртуального радиосредства или модуль 402 тегов ID VR и хост-драйвер 312 беспроводного NIC содержит модуль 404 тегов ID VR. Каждый из модулей 402 и 404 тегов ID VR выполнены с возможностью введения тегов 305 сообщений и сигналов управления, посланных между беспроводным NIC 304 и хост-драйвером 312 беспроводного NIC, соответствующими тегами ID VR конкретных VM.
MAC 306 дополнительно выполнен с возможностью обработки сообщений, принятых от хост-драйвера 312 беспроводного NIC с выбранным одним из виртуальных MAC 307-1-307-n, основываясь на связанных тегах VR ID.
Аналогично, хост-драйвер 312 беспроводного NIC дополнительно выполнен с возможностью обработки сообщений, принятых от беспроводного NIC 304 с выбранным одним из виртуальных радиосредств 316-1-316-n, основываясь на присоединенных тегах VR ID.
Хост-драйвер 312 беспроводного NIC дополнительно содержит модуль 406 тегов VM ID и VMM 112 содержит модуль 408 тегов VM ID. Каждый и модулей 406 и 408 тегов VM ID выполнен с возможностью пометки сообщений и сигналов управления, посланных между хост-драйвером 312 беспроводного NIC и VMM 112, соответствующими тегами VM ID.
Хост-драйвер 312 беспроводного NIC дополнительно выполнен с возможностью передачи сообщений, принятых от VMM 112 через выбранное одно из виртуальных радиосредств 316-1-316-n, основываясь на связанных тегах VM ID.
Аналогично, VMM 112 выполнен с возможностью передачи сообщений, принятых от хост-драйвера 312 беспроводного NIC, к одной из выбранных машин VM 114-1-114-n, основываясь на связанных тегах VM ID.
На фиг.5 представлена блок-схема последовательности выполнения операций способа 500 взаимодействия между физическим устройством и множеством виртуальных машин VM.
На этапе 502, управление конфигурацией, направленное к физическому устройству, принимается от множества VM через соответствующие экземпляры драйвера устройства, которое представляет управляемые функции физического устройства внутри виртуальных машин VM.
На этапе 504 параметры конфигурации, зависящие от VM, и информация о соединении, зависящая от VM, сохраняются для каждой из VM, как описано, например, здесь в одном или более примерах.
В этапе 506 физическое устройство переконфигурируется для каждой из VM с соответствующими параметрами конфигурации, зависящими от VM, и информацией о соединении, как описано здесь в одном или более примерах.
Прием управления конфигурацией на этапе 502, поддержание параметров конфигурации зависящих от VM и информации о соединении зависящей от VM на этапе 504 и переконфигурирование физического устройства на этапе 506 могут выполняться, по существу, за пределами монитора VMM, который управляет машинами VM, как это описано здесь в одном или более примерах.
Поддержание параметров конфигурации, зависящих от VM, и информации о соединении, зависящей от VM, на этапе 504 и переконфигурирование физического устройства на этапе 506 могут выполняться, по существу, в пределах физического устройства.
Физическое устройство может содержать беспроводной NIC и переконфигурирование на этапе 506 может содержать переконфигурирование беспроводного NIC для каждой из множества VM в отношении одного или более параметров, описанных выше.
Примеры параметров конфигурации, перечисленные выше, предназначены для иллюстративных целей. Способ 500 не ограничивается примером перечисления указанных выше управляемых признаков.
Способы и системы для дифференциации среди виртуальных машин VM в отношении управления конфигурацией, передаваемого к машинам VM и от машин VM, и в отношении трафика данных описываются ниже со ссылкой на фиг.6-9. Способы и системы описываются со ссылкой на беспроводной NIC. Способы и системы, однако, не ограничиваются беспроводным NIC.
На фиг.6 представлена блок-схема беспроводного NIC 604, который может переконфигурироваться для множества VM и выполнен с возможностью дифференциации между машинами VM в отношении управления конфигурацией и трафиком данных. Беспроводной NIC 604 может соответствовать физическому устройству 104, показанному на фиг.1, и описывается ниже со ссылкой на фиг.1. Беспроводной NIC 604, однако, не ограничивается примером, показанным на фиг.1.
Хост-драйвер 601 устройства может быть выполнен с возможностью отправки передаваемых пакетов 606 и управления 608 конфигурацией от машин VM 114-1-14-n (фиг.1) к беспроводному NIC 604. Беспроводной NIC 604 может быть выполнен с возможностью посылки принятых пакетов 610 и установления обратной связи 612, чтобы управлять драйвером 601 устройства для подачи к соответствующим машинам VM 114-1-114-n.
Передаваемые пакеты 606, управление конфигурацией, принятые пакеты 610 и обратная связь 612 по состоянию могут снабжаться тегами с соответствующими идентификаторами VM (VM ID), чтобы разрешить беспроводному NIC 604 и хост-драйверу 601 устройства иметь дело и/или обрабатывать пакеты, управление и обратную связь на основе конкретной VM. Идентификатор VM может связываться напрямую с машинами VM и/или с виртуальными радиосредствами, как описано выше со ссылкой на фиг.4.
Тегирование VM ID может быть реализовано с помощью одного или более способов и их комбинаций.
Например, хост-вариант ПО осуществления может содержать программный хост-интерфейс приложения (API) для взаимодействия между беспроводным NIC 604 и VM 114-1-114-n. Хост-API может быть реализован в пределах драйвера 601 устройства. Хост-API может быть выполнен с возможностью распознавания поля идентификатора VM (VM ID) в заголовках хост-API. Поле заголовка VM ID может быть выполнено с возможностью размещения посредством зарезервированных бит существующего или стандартного заголовка API. Количество бит, используемое для поля заголовка идентификатора VM, может определяться количеством машин VM, которые должны поддерживаться.
В отношении обратной связи 612 по состоянию, беспроводной NIC 604 может содержать инициируемый устройством модуль 614 вызова API для вызова хост-API с обратной связью 612 по состоянию. Беспроводной NIC 604 может дополнительно содержать модуль 616 вставки идентификатора VM, чтобы вставлять идентификатор VM в поле заголовка хост-API обратной связи 612 по состоянию. Это может позволить хост-драйверу 601 устройства направлять обратную связь 612 по состоянию к соответствующим VM.
В отношении средств 608 управления конфигурацией, модели устройств в пределах VMM, такие как модели 318 устройств, показанные на фиг.3 и 4, могут быть выполнены с возможностью вставки VM ID в вызовы управления API (управления 608 конфигурацией), выданные соответствующими VM. Беспроводной NIC 604 может содержать дифференциатор 618 VM, чтобы принимать управление 608 конфигурацией и различать связанные VM 114 от полей заголовка VM ID API.
Дифференцирование VM, выполняемое для принятых пакетов 610 и пакетов передачи 606, дополнительно описывается ниже.
Беспроводной NIC 604 может быть выполнен с возможностью обращения и/или обработки сигналов управления 608 конфигурацией на основе каждой из VM, основываясь на связанных VM ID. Беспроводной NIC 604 может содержать, например, модуль 620 инициализации устройства VM, чтобы инициализировать MAC и/или PHY на основе VM, как дополнительно описано ниже. Беспроводной NIC 604 может также содержать таблицу 622 соединений VM, чтобы поддерживать параметры VM, как дополнительно описано ниже.
Дифференцирование VM теперь описывается со ссылкой на принятые пакеты 610.
Беспроводной NIC 604 может принимать пакеты 610 от одной или более точек доступа или приемопередатчиков, которые могут быть связаны с одним или более идентификаторами набора служб (SSID). Каждый принятый пакет 610 может содержать назначенный MAC адрес, являющийся конкретным для одной из VM 114.
Беспроводной NIC 604 может содержать модуль 626 поиска VM ID на приемной стороне, чтобы осуществлять поиск VM ID в таблице 622 соединений VM, основываясь на MAC адресах принятых пакетов 610.
Беспроводной NIC 604 может дополнительно содержать модуль 628 вставки VM, чтобы вставлять идентификаторы VM ID в поля заголовков VM ID API принимаемых пакетов 610, таких как описано выше со ссылкой на модуль 616 вставки VM ID.
Идентификаторы VM ID принятых пакетов 610 могут разрешать хост-драйверу устройства 601 передавать принятые пакеты 610 соответствующим VM 114, по существу, без обработки принятых пакетов 610.
Беспроводной NIC 604 может содержать модуль 630 безопасности, описанный далее ниже. Дифференцирование VM здесь описывается со ссылкой на пакеты 606 передачи.
Хост-вариант 110 осуществления (фиг.1) может быть выполнен с возможностью вставки идентификаторов VM ID в пакеты 606 передачи, как описано выше в отношении средств 608 управления конфигурацией. В такой ситуации параметры конфигурации и информация о соединении для передаваемых пакетов 606 могут быть восстановлены из таблицы 622 соединений для каждой VM, основываясь на VM ID.
Альтернативно, передаваемые пакеты 606 могут быть приняты от хост-драйвера 601 устройства без VM ID. Например, хост-драйвер 501 устройства и/или хост-API не могут быть выполнены с возможностью вставки VM ID в заголовки API. Чтобы разрешить такую ситуацию, беспроводной NIC 604 может содержать модуль 632 просмотра VM ID на стороне передачи, чтобы осуществлять поиск VM ID в таблице 622 соединений для каждой VM, основываясь на адресах конкретных VM, содержащихся в пакетах 606 передачи, как, например, описано выше в отношении модуля 626 просмотра VM ID на стороне приема.
Беспроводной NIC 604 может содержать модуль 634 конфигурации для каждой VM, чтобы восстанавливать параметры конфигурации, зависящие от VM, и информацию о соединении из таблицы 622 соединений для каждой VM, основываясь на VM ID, идентифицированных модулем 632 поиска VM IDI, и конфигурировать или переконфигурировать функции беспроводного NIC для передаваемых пакетов 606, основываясь на соответствующих VM ID.
Далее описывается инициализация устройства.
Управление 608 конфигурацией может содержать управление инициализацией устройств множеством VM. Управление инициализацией устройств может направляться к PHY и/или MAC. Беспроводной NIC 604 может содержать модуль 620 инициализации устройства VM, чтобы обрабатывать управление инициализацией устройства и избежать потенциально конфликтующих управлений инициализацией устройств.
Чтобы выполнить инициализацию PHY, модуль 620 инициализации может быть выполнен с возможностью определения текущего состояния PHY и рабочего канала. Модуль 620 инициализации может быть дополнительно выполнен с возможностью инициализации PHY, только когда PHY в настоящий момент не инициализирован. Когда команда инициализации PHY определяет канал или режим, отличный от текущего рабочего канала или режима, модуль 620 инициализации, прежде чем продолжать, может оценить один или более факторов. К факторам может относиться, поддерживается ли новый канал или режим устройством, и любые ограничения, которые могут быть связаны с новым каналом или режимом.
Чтобы выполнить инициализацию MAC, модуль 620 инициализации может быть выполнен с возможностью инициирования экземпляра MAC, зависящего от VM, когда VM сначала вызывает или инициирует соответствующий драйвер NIC. Процесс может содержать конфигурирование фильтров MAC для виртуального с помощью MAC адреса для VM, чтобы принимать пакеты 610 для VM.
Далее описывается поддержание параметров, зависящих от VM.
Для каждой VM таблица 622 соединений может быть выполнена с возможностью поддержания параметров конфигурации, зависящих от VM, и информации о соединении, содержащей информацию о состоянии, для каждой из множества VM или соединений VM.
Таблица 622 соединений VM может быть выполнена с возможностью хранения информации о соединении, зависящей от VM, когда доступ к беспроводному NIC 604 передается от одной VM к другой VM, и повторного применения информации о соединении и соответствующих параметров конфигурации, когда VM позднее получает доступ к беспроводному NIC 604.
Таблица 622 соединений VM и/или беспроводной NIC 604 могут содержать структуры данных с независимым вводом для каждого соединения, чтобы поддержать или сохранить информацию о каждой VM или о соединении связанными с соответствующими идентификаторами (ID) VM. Беспроводной NIC 604 может быть выполнен с возможностью поддержания (например, добавления, изменения или удаления) структуры данных со специфическими особенностями, связанными с каждой из VM. Структуры данных могут содержать сдвоенные кодовые структуры данных.
Теперь будут описаны свойства безопасности.
Таблица 622 для каждого соединения VM может быть выполнена с возможностью хранении информация о безопасности, зависящей от VM, для каждой VM или соединения VM. Информация о безопасности может содержать способы шифрования/дешифрования для каждой VM, которые могут содержать, например, один или более протоколов целостности временного ключа (TKJP) и режим компьютера с протоколом кода аутентификации сообщений с цепочкой зашифрованных блоков (ССМР). Информация о безопасности может содержать ключи защиты и/или индексы к ключам защиты, с помощью которых можно дешифровать принятые пакеты 610 и/или шифровать передаваемые пакеты 606.
На приемной стороне модуль 630 безопасности может быть выполнен с возможностью восстановления способов дешифрования безопасности, зависящей от VM, и ключей защиты из таблицы 622 соединений для каждой VM, основываясь на идентификаторах VM принятых пакетов 610 и дешифровании принятых пакетов 610 с помощью соответствующих способов дешифрования и ключей. Альтернативно, дешифрование может быть выполнено компьютерной системой 102 и модуль 630 безопасности может быть выполнен с возможностью восстановления и передачи индексов ключей защиты зависящих от VM с помощью соответствующих принятых пакетов 610.
На передающей стороне модуль 634 конфигурации для каждого VM может быть выполнен с возможностью восстановления способов безопасности посредством шифрования для конкретных VM и ключей защиты из таблицы 622 соединений, основываясь на идентификаторах VM ID передаваемых пакетов 606, и шифрования передаваемых пакетов 606 с помощью соответствующих способов шифрования и ключей.
На фиг.7 представлена блок-схема последовательности выполнения операций способа 700 управления беспроводным NIC для работы в отношении множества VM, в том числе дифференцирование между виртуальными машинами VM в отношении средств управления конфигурацией и трафика данных к виртуальным машинам VM и от них.
На этапе 702 управление конфигурацией, направленное к беспроводному NIC, принимаются от множества виртуальных машин (VM), управляемых компьютерной системой, и для каждого управления конфигурацией одна из машин VM идентифицируется как источник управления конфигурацией.
На этапе 704 параметры конфигурации, зависящие от VM, и информация о соединении устройства поддерживаются с помощью NIC для каждой из машин VM.
На этапе 706 передаваемые пакеты принимаются от машин VM и для каждого из передаваемых пакетов одна из VM идентифицируется как источник передаваемых пакетов и беспроводной NIC конфигурируется с соответствующими параметрами конфигурации, зависящими от VM, и с соответствующей информацией о соединении устройства, зависящей от VM.
На этапе 708 пакеты принимаются от одной или более точек доступа и для каждого принятого пакета одна из VM идентифицируется в качестве VM-получателя и принятый пакет передается компьютерной системе с соответствующим идентификатором VM.
На фиг.8 представлена блок-схема последовательности выполнения операций способа 800 для дифференциации машин VM в отношении управления конфигурацией и принятых пакетов. Способ 800 или его участки могут быть реализованы в комбинации со способом 700.
На этапе 802 обратная связь по состоянию и принятые пакеты посылаются компьютерной системе в качестве вызовов API и для каждого из вызовов API идентификатор VM вставляется в поле заголовка вызова API.
На этапе 804 управление конфигурацией принимается от компьютерной системы в качестве вызовов API и для каждого управления конфигурацией одна из машин VM идентифицируется в качестве источника управления конфигурацией из идентификатора VM в поле заголовка соответствующего вызова API.
На фиг.9 представлена блок-схема последовательности выполнения операций способа 900 соединения идентификаторов конкретных VM с пакетами, принятыми от одной или более точек доступа, и с передаваемыми пакетами, принятыми от компьютерной системы. Способ 900 или его участки могут быть реализованы в комбинации со способом 700 и/или способом 800.
На этапе 902 виртуальный MAC, зависящий от VM, инициируется для каждой из множества VM. Каждый виртуальный MAC конфигурируется с соответствующим MAC адресом, зависящим от VM.
На этапе 904 поддерживается ссылка между каждым из MAC адресов, зависящим от VM, и соответствующим идентификатором VM.
На этапе 906 осуществляется поиск идентификатора VM для каждого принятого пакета, основываясь на адресе получателя принятого пакета.
На этапе 908 идентификатор VM ищется для каждого передаваемого пакета, основываясь на MAC адресе, зависящем от VM, для передаваемого пакета.
На приемной стороне идентификатор VM может использоваться для поиска информации о безопасности, с помощью которой может быть дешифрован принятый пакет. Принятый пакет может быть дешифрован беспроводным NIC или может быть послан компьютерной системе с индексом ключа защиты, как описано здесь в одном или более примерах.
Один или более признаков, раскрытых здесь, могут быть реализованы аппаратным обеспечением, программным обеспечением, встроенным микропрограммным обеспечением и их комбинациями, в том числе дискретными и интегральными логическими схемами, логикой на специализированных интегральных схемах (ASIC), и микроконтроллерами и могут быть реализованы как часть проблемно-ориентированной интегральной схемы в модульном исполнении и/или комбинация интегральных схем в модульном исполнении. Термины "программное обеспечение", "код" и "команды", как они используются здесь, относятся к компьютерному программному продукту, в том числе, к считываемому компьютером носителю, содержащему хранящуюся на нем логическую компьютерную программу, вызывающую выполнение компьютерной системой в ответ на них одну или более функций.
На фиг.10 представлена блок-схема компьютерной платформы 100, показанной на фиг.1, содержащей пример свойств компьютерной системы 102.
В примере, показанном на фиг.10, компьютерная система 102 содержит процессор 108 для исполнения логики компьютерного программного продукта (здесь далее "логика"). Процессор 108 может представлять собой множество процессоров.
Компьютерная система 102 может содержать одну или более память, кэш, регистры и запоминающее устройство, вместе показанных здесь как память 1004. Память 1004 может содержать компьютерный программный продукт, содержащий считываемый компьютером носитель, содержащий логику компьютерной программы или команды 1006, хранящиеся на нем, чтобы в ответ на них заставить процессор 108 выполнять одну или более функций. Пример логики описывается ниже.
Память 1004 может содержать данные 1008, которые должны использоваться процессором 108 при исполнении логики 1006 и/или генерироваться процессором 108 в ответ на исполнение логики 1006.
Логика 1006 может содержать прикладную логику 1010, вызывающую выполнение процессором 108 одной или более прикладных задач.
Логика 1006 может содержать логику 1012 операционной системы, вызывающую выполнение процессором 108 обеспечивать операционную среду для прикладной логики 1010.
Логика 1006 может содержать логику 1014 VMM, вызывающую выполнение процессором 108 логики операционной системы 1012 в пределах виртуальной машины.
Логика 1006 может содержать логику 1016 хост-драйвера устройства с увеличенной виртуализацией, вызывающую выполнение процессором 108 взаимодействия между физическим устройством 104 и монитором виртуальной машины, как описано здесь в одном или более примерах.
Логика 1016 хост-драйвера устройства может содержать логику, вызывающую выполнение процессором 108 конфигурирования множества виртуальных радиосредств конкретных VM и данные 1008 могут содержать соответствующие конфигурации и контекстные параметры 1018 виртуальных радиосредств для конкретных VM.
Компьютерная система 102 может содержать инфраструктуру 1040 связи, чтобы осуществлять взаимодействие среди устройств внутри компьютерной системы 102 и осуществлять связь с физическим устройством 104.
На фиг.11 представлена блок-схема компьютерной платформы 100, показанной на фиг.1, в том числе примеры свойств физического устройства 104.
Физическое устройство 104 может содержать один или более блоков обработки компьютерных команд, показанных здесь как контроллер 1102, чтобы исполнять логику компьютерного программного продукта. Контроллер 1102 может содержать микроконтроллер.
Физическое устройство 104 может содержать одну или более памятей, кэш, регистры и запоминающее устройство, вместе упоминаемые в дальнейшем как память 1104. Память 1104 может содержать компьютерный программный продукт, в том числе, считываемый компьютером носитель, на котором хранится логика 1106 компьютерной программы, чтобы в ответ на нее вызывать выполнение контроллером 1102 одной или более функций. Логика 1106 может обеспечиваться во встроенном микропрограммном обеспечении и может копироваться в память во времени выполнения. Ниже раскрывается пример логики.
Память 1104 может содержать данные 1108, используемые контроллером 1102 при исполнении логики 1106 и/или генерироваться контроллером 1102 в ответ на исполнение логики 1106.
Логика 1106 может содержать логику 1110 физического устройства, вызывающую выполнение контроллером 1102 поддержки параметров 204, зависящих от VM, для каждой из множества VM компьютерной системы 102 и переконфигурировать физическое устройство 104 с параметрами 204, зависящими от VM, как описано здесь в одном или более примерах.
Логика 1110 физического устройства может содержать логику 1112 беспроводного NIC с увеличенной виртуализацией, вызывающую выполнение контроллером выполнять беспроводной NIC с увеличенной виртуализацией, как описано выше в одном или более примерах.
Способы и системы раскрываются здесь с помощью функциональных стандартных блоков, показывая функции, признаки и отношения между ними. По меньшей мере некоторые из границ этих функциональных стандартных блоков были здесь определены произвольно для удобства описания. Могут быть определены альтернативные границы, пока указанные функции и отношения их соответственно выполняются.
Хотя здесь раскрываются различные варианты осуществления, следует понимать, что они были представлены только для примера, но не для ограничения. Специалистам в данной области техники должно быть понятно, что различные изменения в форме и подробностях могут быть произведены в них, не отступая от сущности и объема описанных здесь способов и систем. Таким образом, сущность и объем формулы изобретения не должны ограничиваться ни одним из вариантов осуществления, раскрытых здесь в качестве примера.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБЫ И СИСТЕМЫ ДЛЯ ОБЕСПЕЧЕНИЯ РАЗДЕЛЬНОГО КОНФИГУРИРОВАНИЯ И ДОСТУПА МНОЖЕСТВА ВИРТУАЛЬНЫХ МАШИН К ФИЗИЧЕСКОМУ РЕСУРСУ | 2011 |
|
RU2571591C2 |
СПОСОБ СОХРАНЕНИЯ СЛИЯНИЯ ВИРТУАЛЬНОГО ПОРТА И МАТЕРИАЛЬНАЯ СРЕДА | 2009 |
|
RU2451991C1 |
КОМПЬЮТЕРНАЯ СИСТЕМА И СПОСОБ ОСУЩЕСТВЛЕНИЯ СВЯЗИ В КОМПЬЮТЕРНОЙ СИСТЕМЕ | 2011 |
|
RU2574350C2 |
СИСТЕМА И СПОСОБ ВИРТУАЛИЗАЦИИ ФУНКЦИИ МОБИЛЬНОЙ СЕТИ | 2014 |
|
RU2643451C2 |
СОБСТВЕННАЯ WI-FI АРХИТЕКТУРА ДЛЯ СЕТЕЙ 802.11 | 2003 |
|
RU2340928C2 |
УСТРОЙСТВО, СПОСОБ И СИСТЕМА УПРАВЛЕНИЯ МАТРИЦАМИ | 2010 |
|
RU2491616C2 |
БЕЗОПАСНЫЙ ТРАНСПОРТ ЗАШИФРОВАННЫХ ВИРТУАЛЬНЫХ МАШИН С НЕПРЕРЫВНЫМ ДОСТУПОМ ВЛАДЕЛЬЦА | 2015 |
|
RU2693313C2 |
ПРЕДОСТАВЛЕНИЕ УДАЛЕННЫХ УСЛУГ В СООТВЕТСТВИИ СО СПЕЦИФИКАЦИЕЙ ИНТЕРФЕЙСА СЕТЕВОГО ДРАЙВЕРА В БЕСПРОВОДНОЙ РАДИОЧАСТОТНОЙ СРЕДЕ | 2001 |
|
RU2258251C2 |
КОНФИГУРАЦИЯ УСТРОЙСТВА НА ОСНОВЕ СЕАНСОВ СВЯЗИ | 2015 |
|
RU2689194C2 |
СЕТЕВОЕ ИМЯ ГРУППЫ ДЛЯ ВИРТУАЛЬНЫХ МАШИН | 2008 |
|
RU2461050C2 |
Изобретение относится к способу и системе реализации физического устройства для дифференцирования между множеством виртуальных машин (VM) компьютерной системы. Технический результат изобретения заключается в реализации физического устройства для дифференциации между множеством VM системы хост-компьютера. Дифференцирование VM может быть выполнено в отношении управления конфигурацией и/или трафика данных, основываясь на идентификаторах конкретных VM (VM ID). VM ID могут быть идентифицированы в пределах хост-заголовков программных интерфейсов приложений (API) входящего управления конфигурацией и пакетов данных и/или их можно искать на основе адресов MAC, зависящих от VM, связанных с пакетами данных. Идентификаторы VM могут быть вставлены в заголовки API исходящего управления и/или пакетов данных, чтобы позволить системе хост-компьютера направлять управление и/или пакеты соответствующим VM. Идентификаторы VM могут использоваться для поиска параметров конфигурации, зависящих от VM, и информации о соединении, чтобы переконфигурировать физическое устройство на основе каждой VM. 3 н. и 17 з.п. ф-лы, 11 ил.
1. Система раздельного доступа множества виртуальных машин, содержащая:
хост-драйвер контроллера интерфейса беспроводной сети (NIC) (хост-драйвер NIC) для обеспечения интерфейса между монитором виртуальных машин (VMM) и беспроводным NIC, выполненный с возможностью:
приема сигналов управления конфигурацией NIC и идентификации одной из множества виртуальных машин (VM) в качестве источника управления конфигурацией;
поддержки зависящих от VM параметров конфигурации NIC для каждой из VM на основе сигналов управления конфигурацией;
приема передаваемых пакетов от VMM и идентификации одной из VM в качестве источника передаваемого пакета для каждого из передаваемых пакетов и конфигурирования беспроводного NIC в соответствии с зависящими от VM параметрами конфигурации NIC, и
приема пакетов от одной или более точек беспроводного доступа и идентификации одной из VM в качестве VM-получателя для каждого принятого пакета и пересылки принятого пакета на VMM с соответствующим идентификатором VM.
2. Система по п.1, в которой хост-драйвер беспроводной NIC, дополнительно, выполнен с возможностью:
передачи отклика о состоянии и принятых пакетов на VMM в качестве вызовов API и вставки идентификатора VM для каждого из вызовов API в поле заголовка вызова API; и
приема сигналов управления конфигурацией в качестве вызовов API от VMM и идентификации, для каждого сигнала управления конфигурацией, по идентификатору VM в поле заголовка соответствующего вызова API, одной из VM, в качестве источника сигнала управления конфигурацией.
3. Система по п.1, в которой беспроводной NIC выполнен с возможностью:
инициирования зависящего от VM виртуального MAC, содержащего соответствующий зависящий от VM MAC адрес для каждой из VM;
поддержки отношения между каждым из зависящих от VM MAC адресов и соответствующим идентификатором VM;
поиска идентификатора VM для каждого принимаемого пакета на основе MAC адреса получателя принимаемого пакета; и
поиска идентификатора VM для каждого передаваемого пакета на основе зависящего от VM MAC адреса указанного передаваемого пакета.
4. Система по п.3, в которой:
каждая из указанных VM выполнена с возможностью представления виртуальных экземпляров драйвера беспроводного NIC в связи с VM; a
VMM выполнен с возможностью представления множества виртуальных экземпляров модели указанного беспроводного NIC, при этом каждый из виртуальных экземпляров модели обеспечивает интерфейс между указанным хост-драйвером NIC и соответствующим виртуальным экземпляром указанного драйвера NIC; при этом
указанный хост-драйвер NIC, дополнительно, выполнен с возможностью обеспечения интерфейса между указанными виртуальными MAC и указанными виртуальными экземплярами модели.
5. Система по п.1, в которой:
беспроводной NIC выполнен с возможностью поиска, для каждого принятого пакета, зависящей от VM информации безопасности, на основе соответствующего идентификатора VM, и дешифрования принятых пакетов согласно соответствующей зависящей от VM информации безопасности.
6. Система по п.1, в которой:
беспроводной NIC выполнен с возможностью поиска зависящего от VM индекса ключа безопасности для каждого принятого пакета на основании соответствующего идентификатора VM и пересылки индексов ключей безопасности на хост-драйвер NIC с соответствующими принятыми пакетами.
7. Система по п.1, в которой:
беспроводной NIC выполнен с возможностью поиска зависящей от VM информации безопасности для каждого передаваемого пакета на основании соответствующего идентификатора VM и шифрования передаваемых пакетов в соответствии с соответствующей зависящей от VM информацией безопасности.
8. Компьютерно-реализуемый способ связи, содержащий этап, на котором:
обеспечивают интерфейс между монитором виртуальных машин (VMM) и контроллером интерфейса беспроводной сети (NIC), включающий подэтапы, на которых:
принимают сигналы управления конфигурацией NIC от указанного VMM и идентифицируют для каждого сигнала управления конфигурацией одну из множества виртуальных машин (VM), в качестве источника сигнала управления конфигурацией;
поддерживают зависящие от VM параметры конфигурации NIC для каждой из VM, на основе указанных сигналов управления конфигурацией;
принимают передаваемые пакеты от указанного VMM и идентифицируют, для каждого из передаваемых пакетов, одну из VM, в качестве источника передаваемого пакета и конфигурируют беспроводной NIC с помощью соответствующих зависящих от VM параметров конфигурации NIC; и
принимают пакеты от одной или более точек беспроводного доступа и идентифицируют для каждого принятого пакета одну из VM в качестве VM-получателя и пересылают принятый пакет на VMM с соответствующим идентификатором VM.
9. Способ по п.8, в котором этап обеспечения интерфейса дополнительно содержит подэтапы, на которых:
передают отклик о состоянии и принятые пакеты к VMM в качестве вызовов API, при этом вставляют для каждого из вызовов API идентификатор VM в поле заголовка вызова API; и
принимают сигналы управления конфигурацией в качестве вызовов API от VMM и идентифицируют, для каждого сигнала управления конфигурацией, одну из VM, в качестве источника сигнала управления конфигурацией, по идентификатору VM в поле заголовка соответствующего вызова API.
10. Способ по п.8, дополнительно содержащий этапы, на которых с помощью указанного беспроводного NIC:
инициируют зависящий от VM виртуальный MAC, содержащий соответствующий зависящий от VM MAC адрес для каждой из VM;
поддерживают отношение между каждым из зависящих от VM MAC адресов и соответствующим идентификатором VM;
выполняют поиск идентификатора VM для каждого принятого пакета на основании MAC адреса получателя принятого пакета; и
осуществляют поиск идентификатора VM для каждого передаваемого пакета на основе зависящего от VM MAC адреса указанного передаваемого пакета.
11. Способ по п.10, дополнительно содержащий этап, на котором:
представляют виртуальные экземпляры драйвера беспроводного NIC в связи с VM; и
представляют множество виртуальных экземпляров модели указанного беспроводного NIC в связи с VMM, при этом каждый из виртуальных экземпляров модели обеспечивает интерфейс между указанным хост-драйвером NIC и соответствующим виртуальным экземпляром указанного драйвера NIC; при этом
указанный этап обеспечения интерфейса, дополнительно, содержит подэтап, на котором обеспечивают интерфейс между указанными виртуальными MAC и указанными виртуальными экземплярами модели.
12. Способ по п.8, дополнительно содержащий этапы, на которых:
выполняют поиск, на основании соответствующего идентификатора VM, зависящей от VM информации безопасности для каждого принятого пакета, и
дешифруют принятые пакеты согласно соответствующей зависящей от VM информации безопасности.
13. Способ по п.8, дополнительно содержащий этапы, на которых:
выполняют поиск зависящего от VM индекса ключа безопасности для каждого принятого пакета на основании соответствующего идентификатора VM; и
пересылают индексы ключей безопасности с соответствующими принятыми пакетами.
14. Способ по п.8, дополнительно содержащий этапы, на которых:
выполняют, для каждого передаваемого пакета, поиск зависящей от VM информации безопасности на основании соответствующего идентификатора VM; и
выполняют шифрование передаваемых пакетов согласно соответствующей зависящей от VM информации безопасности.
15. Система связи, содержащая первый энергонезависимый считываемый компьютером носитель, кодированный хост-драйвером контроллера интерфейса беспроводной сети (NIC) (хост-драйвер NIC), вызывающим обеспечение, процессором компьютерной системы, интерфейса между монитором виртуальных машин (VMM) компьютерной системы и беспроводным NIC, при этом хост-драйвер NIC содержит инструкции, вызывающие функционирование процессора компьютерной системы для:
приема сигналов управления конфигурацией NIC от указанного VMM и идентификации для каждого управления конфигурацией одной из множества виртуальных машин (VM) в качестве источника сигналов управления конфигурацией;
поддержки зависящих от VM параметров конфигурации для каждой из VM, на основе сигналов управления конфигурацией;
приема передаваемых пакетов от VMM и идентификации для каждого из передаваемых пакетов одной из VM в качестве источника передаваемого пакета и конфигурирования беспроводного NIC с помощью соответствующих зависящих от VM параметров конфигурации NIC; и
приема пакетов от одной или более точек беспроводного доступа и идентификации для каждого принятого пакета одной из VM в качестве VM-получателя и пересылки принятого пакета на VMM с соответствующим идентификатором VM.
16. Система по п.15, в которой хост-драйвер NIC, дополнительно, содержит инструкции, вызывающие функционирование процессора компьютерной системы для:
передачи отклика о состоянии и принятых пакетов на VMM, в качестве вызовов API и вставки для каждого из вызовов API идентификатора VM в поле заголовка вызова API; и
приема сигналов управления конфигурацией в качестве вызовов API от VMM и идентификации для каждого сигнала управления конфигурацией одной из VM в качестве источника управления конфигурацией по идентификатору VM в поле заголовка соответствующего вызова API.
17. Система по п.15, дополнительно содержащая второй энергонезависимый считываемый компьютером носитель, кодированный инструкциями, вызывающими, при их исполнении, функционирование процессора беспроводного NIC для:
инициирования виртуального зависящего от VM MAC, содержащего соответствующий зависящий от VM MAC адрес для каждой из VM;
поддержки отношения между каждым из зависящих от VM MAC адресов и соответствующим идентификатором VM;
поиска идентификатора VM для каждого принятого пакета на основании MAC адреса получателя принятого пакета; и
поиска идентификатора VM для каждого передаваемого пакета на основании зависящего от VM MAC адреса передаваемого пакета.
18. Система по п.17, в которой первый энергонезависимый считываемый компьютером носитель, дополнительно, кодированный инструкциями, вызывающими, при их исполнении, функционирование процессора компьютерной системы для:
представления виртуальных экземпляров драйвера беспроводного NIC в связи с VM; и
представления множества виртуальных экземпляров модели указанного беспроводного NIC в связи с VMM, при этом каждый из виртуальных экземпляров модели обеспечивает интерфейс между указанным хост-драйвером NIC и соответствующим виртуальным экземпляром указанного драйвера NIC; при этом
указанный хост-драйвер NIC дополнительно содержит инструкции, вызывающие, при их исполнении, обеспечение, процессором компьютерной системы, интерфейса между указанными виртуальными MAC и указанными виртуальными экземплярами модели.
19. Система по п.17, дополнительно содержащая второй энергонезависимый считываемый компьютером носитель, кодированный инструкциями, вызывающими, при их исполнении, функционирование процессора беспроводного NIC для:
поиска зависящей от VM информации безопасности для каждого принятого пакета на основании соответствующего идентификатора VM и обработки принятых пакетов согласно соответствующей зависящей от VM информации безопасности.
20. Система по п.15, дополнительно содержащая второй энергонезависимый считываемый компьютером носитель, кодированный инструкциями, вызывающими, при их исполнении, функционирование процессора беспроводного NIC для
поиска зависящего от VM индекса ключа безопасности для каждого принятого пакета на основании соответствующего идентификатора VM и пересылки индексов ключей безопасности процессору компьютерной системы с соответствующими принятыми пакетами.
Способ восстановления хромовой кислоты, в частности для получения хромовых квасцов | 1921 |
|
SU7A1 |
Авторы
Даты
2014-12-20—Публикация
2011-06-15—Подача