СОГЛАСОВАНИЕ ЗАГРУЗКИ МЕЖДУ НЕСКОЛЬКИМИ СПОСОБНЫМИ К ЗАГРУЗКЕ УСТРОЙСТВАМИ
MATCHING STARTUP BETWEEN SEVERAL DEVICES CAPABLE OF STARTUP

Уровень техники
Мобильные устройства часто подключены к другим вычислительным устройствам. Как правило, отношение между устройствами определяется до того, как устройства подключены. Например, когда пользователь подключает мобильный телефон к персональному компьютеру, часто предполагается, что персональный компьютер выступает для мобильного телефона в качестве основного устройства. Современные системы не согласовывают роли устройств, основываясь на возможностях этих устройств.
Сущность изобретения
Приведенное ниже представляет собой упрощенное описание с целью обеспечить общее понимание читателем. Это краткое изложение не является расширенным рассмотрением предмета изобретения и не определяет ключевые/основные элементы изобретения или не определяет объем изобретения. Его единственной целью является представить некоторые концепции, описанные в настоящем документе в упрощенной форме, как предваряющие более подробное описание, которое будет представлено позже.
Варианты осуществления изобретения позволяют нескольким устройствам с возможностью загрузки определить, какое устройство выполнит управляющий загрузочный образ на основании согласования загрузки. Оставшееся устройство можно использовать в качестве ресурса для управляющего загрузочного образа. Выбор загрузчика можно основывать на ресурсах каждого устройства, заранее определенных политиках и/или взаимодействии с пользователем.
Многие рассмотренные характерные признаки будут оцениваться выше по мере лучшего их понимания со ссылкой на приведенное ниже подробное описание, рассматриваемое совместно с сопроводительными чертежами.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Соответствующие числовые ссылки используются для указания соответствующих частей сопроводительных чертежей.
На фиг.1 приведена блок-схема стыковочной станции, подключенной к мобильному устройству в соответствии с вариантом осуществления изобретения.
На фиг.2 приведена блок-схема мобильного устройства в соответствии с вариантом осуществления изобретения.
На фиг.3 приведена блок-схема, показывающая алгоритм и операции мобильного устройства и стыковочной станции, предпринимающих согласование загрузки в соответствии с вариантом осуществления изобретения.
На фиг.4 приведено продолжение блок-схемы из фиг.3 в соответствии с вариантом осуществления изобретения.
На фиг.5 приведена блок-схема обеспечения мобильным телефоном виртуальной машины загрузочным образом в соответствии с вариантом осуществления изобретения.
На фиг.6 приведена блок-схема исполнения мобильным телефоном и портативным компьютером согласования загрузки в соответствии с вариантом осуществления изобретения.
На фиг.7 приведена таблица, сообщающая о возможностях в соответствии с вариантом осуществления изобретения.
На фиг.8 приведена блок-схема исполнения мобильным телефоном и персональным компьютером согласования загрузки в соответствии с вариантом осуществления изобретения.
На фиг.9 приведена блок-схема примера вычислительного устройства для осуществления вариантов осуществления изобретения.
ПОДРОБНОЕ ОПИСАНИЕ
Предоставленное ниже подробное описание совместно с приложенными чертежами предназначено в качестве описания представленных примеров и не предназначено для представления только форм, в которых представленные примеры можно сконструировать или применить. В описании указаны функции примеров и последовательность этапов для конструирования и эксплуатации примеров. Однако те же или эквивалентные функции и последовательности можно исполнить посредством других примеров.
В приведенном ниже описании и формуле изобретения можно использовать термин «связанный» и его производные. «Связанные» может означать, что два или более элементов находятся в контакте (физическом, электрическом, магнитном, оптическом и т.д.). "Связанные" может также означать, что два или более элементов не находятся в контакте друг с другом, но тем не менее работают вместе или взаимодействуют друг с другом (например, коммуникативно связанные).
Фиг.1 и приведенное ниже обсуждение предназначены для обеспечения краткого общего описания подходящего вычислительного окружения для осуществления вариантов осуществления изобретения. Рабочее окружение на фиг.1 представляет собой только один пример подходящего рабочего окружения и не предполагает каких-либо ограничений области применения или функциональности рабочего окружения. Несмотря на то что это необязательно, варианты осуществления изобретения описаны в общем контексте «считываемых компьютером команд», выполняемых одним или несколькими вычислительными устройствами. Считываемые компьютером команды можно распространять при помощи считываемых компьютером носителей. Считываемые компьютером команды можно осуществить в виде программных модулей, таких как функции, объекты, интерфейсы программирования приложений (API), структур данных и т.п., которые исполняют определенные задачи или осуществляют определенные абстрактные типы данных. Как правило, функциональность считываемых компьютером команд можно комбинировать или распределять желаемым образом в различных окружениях.
На фиг.1 показана стыковочная станция 102, подключенная к мобильному устройству 120 при помощи соединения (подключения) 116. Как применяют в настоящем документе, термин «стыковочная станция» относится к вычислительному устройству, которое можно подключить к мобильному устройству, такому как мобильное устройство 120. Варианты осуществления изобретения оценивают возможности стыковочной станции и возможность для стыковочной станции загрузиться с загрузочного образа, хранимого на мобильном устройстве 120. К примеру, стыковочная станция 102 может включать в себя «неинтеллектуальную» стыковочную станцию, такую как подставку для мобильного устройства, которая просто реплицирует порты мобильного устройства для облегчения подключения к другим вычислительным устройствам. В другом примере стыковочная станция 102 может включать в себя «интеллектуальную» стыковочную станцию, такую как портативный компьютер, которая обладает своими собственными процессорным блоком, памятью, накопителем и т.д.
Стыковочная станция 102 может включать в себя процессорный блок 104 и память 106. Стыковочная станция 102 также включает в себя коммуникационное подключение 114 для ввода/вывода данных с мобильного устройства 120. Стыковочная станция 102 также может включать в себя накопитель 108, такой как жесткий диск (HDD) или флэш-память.
Стыковочное устройство 102 также может включать в себя постоянную память (NVS) 110, такую как ROM, флэш-память и т.п. Постоянная память 110 может содержать в себе микропрограмму (F/W) 112 для выполнения процессорным блоком 104. В одном из вариантов осуществления изобретения микропрограмма 112 включает в себя команды для предзагрузочных действий, предваряющих загрузку и исполнение операционной системы (OS) на стыковочной станции 102. Микропрограмма 112 также может включать в себя низкоуровневые команды ввода/вывода для связывания с устройствами стыковочной станции 102 во время выполнения OS. Микропрограмму 112 также можно обозначить как основную систему ввода/вывода (BIOS).
В типичной архитектуре инициализацию и конфигурирование вычислительного устройства, как правило, обозначают как фазу предзагрузки. Фазу предзагрузки, как правило, определяют как микропрограмму, выполняющуюся между сбросом процессора и первой командой загрузчика операционной системы (OS). Команды, которые выполняются во время фазы предзагрузки, как правило, обозначаются как основная система ввода/вывода (BIOS). При начале фазы предзагрузки именно команды микропрограммы инициализируют систему до момента, когда OS, загруженная с носителя, такого как жесткий диск, перехватывает управление. Старт загрузки OS начинает период, как правило, обозначаемый как исполнение OS. Команды, осуществляющие OS и/или приложения, могут обозначаться как загрузочный образ.
Во время исполнения OS BIOS может действовать как интерфейс между программным обеспечением и аппаратными компонентами вычислительной системы. Операционное окружение между уровнем OS и аппаратным уровнем, как правило, обозначается как BIOS (иногда обозначаемо как микропрограммное окружение). Также активность OS можно приостановить, когда OS входит в состояние сна, такое как состояние сна, определенное спецификацией улучшенного интерфейса для конфигурации и управления электропитанием (ACPI). Для пробуждения OS из состояния сна можно задействовать BIOS.
Обращаясь к мобильному устройству 120, в одном из вариантов осуществления изобретения мобильное устройство 120 может включать отдельное вычислительное устройство, такое как мобильный телефон, медиа-проигрыватель и т.п. В другом варианте осуществления изобретения мобильное устройство 120 может включать в себя зависимое мобильное устройство, такое как флэш-диск на универсальной последовательной шине (USB), карту памяти, смарт-карту и т.п. Как применяют в настоящем документе, «зависимое» относится к мобильному устройству, которое нельзя использовать иначе как мобильное устройство, подключенное к основному устройству.
Мобильное устройство 120 может включать в себя контроллер 124, связанный с накопителем 126. Контроллер 124 может управлять чтением/записью данных на накопителе 126, а также исполнять другие функции. Накопитель 126 может включать в себя накопитель на магнитных дисках, оптический накопитель, постоянную память, такую как флэш-память и т.п. Мобильное устройство 120 также может включать в себя одно или несколько коммуникационных подключений 122 для подключения мобильного устройства 120 к другим вычислительным устройствам.
Подключение 116 может включать в себя проводное или беспроводное подключение между коммуникационным подключением 114 стыковочной станции 102 и коммуникационным подключением 122 мобильного устройства 120. В одном из вариантов осуществления изобретения стыковочная станция 102 и мобильное устройство 120 находятся в непосредственной близости друг к другу как часть личной сети (PAN) пользователя. Примеры подключения 116 включают в себя USB (проводное или беспроводное), шину сверхбыстрой передачи данных (IEEE-1394), радиочастотное (например, Bluetooth, Wi-Fi и т.д.), инфракрасное и т.п.
На фиг.2 показан вариант осуществления мобильного устройства 120. Контроллер 124 может включать в себя процессорный блок 202 и постоянную память (NVS) 204. Процессорный блок 202 может включать в себя произвольный процессор, такой как 32-битный процессор с архитектурой сокращенного набора команд (RISC). Несмотря на то что показан один процессорный блок 202, варианты осуществления мобильного устройства 120 могут включать в себя несколько процессорных блоков, таких как несколько процессоров, несколько ядер и т.п. В одном из вариантов осуществления контроллер 124 может включать в себя выделенные электронные цепи (не показано) для проведения специализированных операций, таких как криптография, управление цифровыми правами, обработка цифрового сигнала и т.п.
В одном из вариантов осуществления NVS 204 имеет хранящуюся микропрограмму 206, которую можно выполнить процессорным блоком 202. Микропрограмма 206 может включать в себя загрузочный образ устройства. Загрузочный образ устройства может включать в себя операционную систему (такую как Операционная Система Реального Времени (RTOS)), одно или несколько приложений и т.п., для исполнения на мобильном устройстве 120. Микропрограмма 206 также может включать команды для исполнения вариантов осуществления изобретения.
Вариант осуществления по фиг.2 показывает накопитель 126, разделенный на раздел 230 и раздел 240. Специалист в данной области, обладая преимуществом данного описания, поймет, что накопитель 126 может включать в себя более двух разделов. Раздел 230 включает команды и/или данные для мобильного устройства 120, такие как данные устройства 231. Мобильное устройство 120 может выполнять программное обеспечение в своем формате или в виртуальной машине. Меры обеспечения безопасности можно использовать для защиты доступа к разделу 230 подключенными вычислительными устройствами, такими как стыковочная станция 102.
Раздел 240 может включать в себя команды и/или данные для использования другими вычислительными устройствами, такими как стыковочная станция 102. На фиг.2 приведен раздел 240, обладающий загрузочными образами 241, 242, 243. Загрузочный образ может включать в себя команды для исполнения OS и/или приложений на вычислительном устройстве. Пример загрузочного образа включает в себя OS Microsoft Windows и/или приложения Office, окружение NET Framework, окружение Java и т.п. Как описано ниже, мобильное устройство 120 может послать загрузочный образ стыковочной станции 102 для исполнения на стыковочной станции 102. В одном из вариантов осуществления доступ к разделу 240 можно ограничить кругом доверенных стыковочных станций.
На фиг.3 блок-схема 300 демонстрирует алгоритм и операции мобильного устройства, исполняющего согласование загрузки в соответствии с вариантом осуществления изобретения. В одном из вариантов осуществления по меньшей мере часть алгоритма блок-схемы 300 может провести OS мобильного устройства 120. Мобильное устройство и стыковочная станция вступают в контакт без предположений об их отношениях либо о возможностях друг друга. Определение устройства, которое выполнит управляющий загрузочный образ, не делается до завершения согласования.
Как применяют в настоящем документе, «управляющий загрузочный образ» относится к загрузочному образу, исполняемому на вычислительном устройстве, которое может управлять по меньшей мере какими-то ресурсами другого вычислительного устройства. Например, когда стыковочная станция загружается с загрузочного образа, предоставляемого мобильным устройством, стыковочная станция может использовать ресурсы мобильного устройства, такие как накопитель. Когда мобильное устройство исполняет управляющий загрузочный образ (например, OS мобильного устройства), тогда мобильное устройство может использовать ресурсы стыковочной станции, такие как клавиатура, видеомонитор, мышь (KVM), для ввода/вывода человеком в мобильное устройство.
Согласование загрузки можно проводить с использованием протокола согласования. В одном из вариантов осуществления протокол согласования включает логический уровень, выполняющийся на хорошо известном протоколе физического уровня. Протокол согласования можно использовать для сообщений согласования, таких как отчеты о ресурсах и их возможностях, обеспечения безопасности сессии согласования, отсылки загрузочных образов с устройства на стыковочную станцию и т.п. В одном из вариантов осуществления согласование загрузки между мобильным устройством и стыковочной станцией имеет место между BIOS стыковочной станции и OS мобильного устройства (обсуждается ниже в сочетании с фиг.8).
Начиная с блока 302 блок-схемы 300, устройство и стыковочная станция устанавливают начальное подключение. Например, устройство и стыковочную станцию можно физически соединить проводом, их можно поместить в физическую близость одно к другому для беспроводного подключения или установить беспроводное подключение. В блоке 302 устройство и стыковочная станция могут квитировать связь для установления начального подключения. В одном из вариантов осуществления создание начального подключения включает установление безопасного подключения между мобильным устройством и стыковочной станцией.
Переходя к блоку решения 304, устройство запрашивает стыковочную станцию для определения способности стыковочной станции к согласованию загрузки, как описано в настоящем документе. В одном из вариантов осуществления этот запрос передается, используя протокол согласования, понимаемый и устройством, и стыковочной станцией. Таким образом, согласование загрузки можно проводить во время фазы предзагрузки стыковочной станции без необходимости исполнения OS на стыковочной станции. В задачи BIOS стыковочной станции входит обнаружение подключенного мобильного устройства, установление связи (в некоторых случая безопасной связи) и сообщения о возможностях стыковочной станции.
Следует отметить, что устройство и стыковочная станция не предполагают свои роли при подключении. В некоторых коммуникационных системах (например, USB) подключенное устройство всегда можно предположить устройством (т.е. ведомое) для другого вычислительного устройства. Подобным образом вычислительные устройства, такие как портативный компьютер, при подключении к устройству USB можно предположить главным устройством (т.е. ведущим). Для поддержки согласования загрузки BIOS и аппаратные компоненты вычислительного устройства позволяют подключенному устройству перехватить управление. В вариантах осуществления, как описано в настоящем документе, аппаратные коммуникации (т.е. набор микросхем) и BIOS вычислительных устройств не делают предположений о приблизительной роли (ведущей или ведомой), когда подключаются к другому вычислительному устройству. Как описано ниже, варианты осуществления изобретения могут включать меры безопасности для предотвращения компрометации безопасности другого вычислительного устройства злонамеренным устройством.
Если ответ в блоке решения 304 "нет", тогда алгоритм переходит к блоку 306. В блоке 306 стыковочная станция и устройство взаимодействуют, используя предположения по умолчанию. Например, если одно устройство по умолчанию считается ведомым устройством, тогда устройство примет ведомую роль по умолчанию без согласования. Стыковочная станция может выполнить хранящийся образ загрузки.
Если ответ в блоке решения 304 "да", тогда алгоритм переходит к блоку 308. В блоке 308 устройство и стыковочная станция могут аутентифицировать друг друга. В альтернативных вариантах осуществления аутентификация может быть однонаправленной. Например, только устройство аутентифицирует стыковочную станцию или стыковочная станция аутентифицирует устройство. Аутентификацию можно осуществлять с использованием подписи, сертификата или хорошо известной схемы аутентификации.
Переходя к блоку 310, устройство и стыковочная станция проводят обнаружение возможностей. В одном из вариантов осуществления устройство запрашивает у стыковочной станции отчет об ее ресурсах и возможностях ресурсов, используя протокол согласования, как описано выше. Примеры возможностей включают процессорные возможности (например, тип процессора, скорость процессора и т.д.) и возможности памяти (например, объем памяти, скорость памяти и т.д.). Возможности также могут включать любые устройства хранения, их тип, доступное пространство для хранения, файловые системы и т.п. Возможности также могут включать видео и/или аудио возможности стыковочной станции. Возможности также могут включать коммуникационные подключения и ширину полосы любых таких подключений.
На фиг.7 приведена таблица сообщения о возможностях 700 в соответствии с вариантом осуществления изобретения. В одном из вариантов осуществления BIOS стыковочной станции генерирует таблицу 700 и отсылает таблицу 700 на мобильное устройство, используя протокол согласования. Мобильное устройство генерирует свою собственную таблицу сообщения для сравнения с таблицей, принятой от стыковочной станции.
Таблица 700 включает колонки для компонентов 702, атрибутов 704 для компонентов и значения 706 для этих атрибутов. Например, для процессора сообщаются атрибуты тактовой частоты, кэша второго уровня и скорости шины. В одном из вариантов осуществления информацию в таблице можно организовать в одну или несколько схем передачи информации о ресурсах между стыковочной станцией и мобильным устройством. Схема(ы) могут быть частью протокола согласования, используемого стыковочной станцией и мобильным устройством.
После блока 310 алгоритм переходит к блоку 312 для определения совместимости стыковочной станции с загрузочным образом, хранящимся на устройстве, используя сообщенные возможности стыковочной станции. Например, на фиг.1 и 2 алгоритм определяет, может ли стыковочная станция 102 выполнить любой из загрузочных образов 241-243, хранящихся на мобильном устройстве 120. Если ответ в блоке решения 312 нет, тогда алгоритм переходит к блоку 314. В одном из вариантов осуществления изобретения совместимость загрузочного образа можно основать на скорости процессора, объеме памяти, видеовозможностях и т.п. стыковочной станции.
В блоке 314 устройство исполняет управляющий загрузочный образ. В одном из вариантов осуществления OS мобильного устройства, которая уже исполняется, принимает аппаратные ресурсы стыковочной станции. Например, если стыковочная станция обладает устройством хранения, таким как HDD, тогда HDD стыковочной станции становится доступным для OS мобильного устройства. В другом примере KVM портативного компьютера (т.е. стыковочной станции) можно использовать для взаимодействия с мобильным телефоном.
Если ответ в блоке 312 "да", тогда алгоритм переходит к блоку 316. В блоке 316 алгоритм обновляет политику загрузки, хранящуюся на мобильном устройстве до применения политики загрузки в блоке 318. В одном из вариантов осуществления мобильное устройство связывается с центральным сайтом обновлений, таким как Microsoft Windows Update. Для проверки обновлений мобильное устройство может использовать собственное коммуникационное подключение или коммуникационное подключение стыковочной станции.
Переходя к блоку 318, алгоритм применяет политику загрузки. Политика определяет, соответствует ли политике один или несколько загрузочных образов на мобильном устройстве. Политику можно модифицировать пользователем и/или администратором. В одном из вариантов осуществления политика хранится на устройстве. В другом варианте осуществления политика, хранящаяся на стыковочной станции, передается устройству во время согласования загрузки. Политики из устройства и стыковочной станции можно применить в комбинации.
В одном из вариантов осуществления возможности устройства и стыковочной станции сравниваются для определения исполнения управляющего загрузочного образа стыковочной станцией или мобильным устройством. Например, политика может показывать, что вычислительное устройство с более быстрым процессором всегда должно брать контроль. Другая политика может анализировать ряд возможностей (таких как скорость процессора, объем памяти, емкости ширины полосы) при определении контролирующей машины. Например, информацию из таблицы 700 для устройства и стыковочной станции можно свести в уравнение, которое присваивает рейтинг различным компонентам и значениям их атрибутов. В уравнении могут взвешиваться некоторые атрибуты компонентов. Вычислительное устройство (мобильное устройство или стыковочная станция) с наибольшим рейтингом определяется как вычислительное устройство, выполняющее управляющий загрузочный образ.
В другом варианте осуществления политика может обратиться к предыдущей активности пользователя для определения исполнения управляющего загрузочного устройства стыковочной станцией или мобильным устройством. Например, если стыковочная станция в прошлом загружалась с загрузочного образа устройства, то стыковочная станция снова загружается с этого загрузочного образа.
Политика также может включать определение загрузочного образа, который загрузит стыковочная станция, из нескольких загрузочных образов, хранящихся на устройстве. В одном из вариантов осуществления алгоритм определяет, какой загрузочный образ обеспечит наилучшую производительность. Например, можно выбрать загрузочный образ, который обеспечит максимальную производительность, основываясь на скорости процессора и объеме памяти стыковочной станции.
В альтернативном варианте осуществления все совместимые загрузочные образы показываются пользователю. Пользователь может выбрать для стыковочной станции желаемый загрузочный образ. В одном из вариантов осуществления выбор пользователем загрузочного образа может произойти в блоке решения 320, описанном ниже.
В блоке решения 320 алгоритм определяет, подтверждает ли пользователь определение устройства или стыковочной станции как исполняющей управляющий загрузочный образ. В одном из вариантов осуществления пользователю представляется интерфейс для предоставления возможности пользователю подтвердить определение, сделанное в блоке 318. Пользовательский интерфейс можно отобразить на устройстве, стыковочной станции или обоих. В одном из вариантов осуществления политики, определившей стыковочную станцию исполняющей загрузочный образ с мобильного устройства, устройство может отобразить название загрузочного образа, с которым будет загружена стыковочная станция. В еще одном варианте осуществления в том случае, если несколько загрузочных образов совместимы со стыковочной станцией, то будет отображено несколько совместимых загрузочных образов, и пользователь может выбрать желаемый загрузочный образ для стыковочной станции.
В блоке 320, если пользователь не подтверждает загрузку стыковочной станции, алгоритм переходит к блоку 314. Если пользователь подтверждает загрузку стыковочной станции, то алгоритм переходит к блоку 322.
В альтернативном варианте осуществления подтверждение пользователем, как описано в блоке решения 320, не применяется. В этом конкретном варианте осуществления процесс согласования будет скрыт от пользователя. Например, пользователь может подключить мобильный телефон к персональному компьютеру и нажать кнопку «согласовать» на мобильном телефоне для инициирования согласований. Процесс согласования проводится. Пользователь затем может использовать KVM персонального компьютера для проведения своих дел. Не является необходимым понимание пользователем, какое из вычислительных устройств исполняет управляющий загрузочный образ. Согласование загрузки можно представить пользователю прозрачным.
На фиг.4, в блоке 322, устройство обновляет загрузочный образ перед отправкой загрузочного образа стыковочной станции для исполнения. В одном из вариантов осуществления устройство использует свое собственное коммуникационное подключение для подключения к сети, такой как Интернет, для проверки на обновления. В другом варианте осуществления устройство может использовать коммуникационное подключение стыковочной станции для проверки на обновления для загрузочного образа.
После блока 322 алгоритм переходит к блоку 324, где мобильное устройство отправляет загрузочный образ стыковочной станции. Следом, в блоке 326, стыковочная станция загружается с загрузочного образа. Когда стыковочная станция загружена с загрузочного образа, устройство доступно для стыковочной станции. Например, после загрузки портативного компьютера (стыковочной станции) с загрузочного образа, хранящегося на подключенном мобильном телефоне (устройстве), портативный компьютер может управлять ресурсами мобильного телефона. Например, устройство хранения мобильного телефона можно использовать стыковочной станции. Для ограничения доступа стыковочной станции к некоторым данным, хранящимся на устройстве, таким как раздел 230, можно использовать меры обеспечения безопасности.
Следом, в блоке 328, OS мобильного устройства переходит в сон. Когда подключение к стыковочной станции будет прервано или его не удастся восстановить после определенного порога, OS мобильного устройства может проснуться и восстановить контроль над устройством. Порог может включать в себя количество попыток подключения или определенный промежуток времени.
На фиг.5 приведен вариант осуществления окружения виртуальной машины (VM). На фиг.5 мобильное устройство, показанное как мобильный телефон 502, может послать загрузочный образ 503 стыковочной станции 504. Стыковочная станция исполняет окружение VM. В стыковочной станции 504 аппаратное обеспечение стыковочной станции 512 управляется диспетчером виртуальной машины (VMM) 510. VMM 510 может поддерживать одну или несколько VM, таких как VM 506 и VM 508. VM 506 исполняет гостевую операционную систему 505. В основном VM можно создавать и разрушать по желанию внутри окружения VM. Также каждая VM работает независимо, таким образом, что системная ошибка в одной VM, такая как аварийная остановка операционной системы, не затрагивает другие VM.
В соответствии с вариантами осуществления, описанными в настоящем документе, согласование может произойти между мобильным телефоном 502 и стыковочной станцией 504 во время выполнения стыковочной станцией 504 окружения VM. Мобильный телефон 502 может отослать загрузочный образ 503 к стыковочной станции 504 для исполнения в VM 508. Исполнение загрузочного образа 503 показывается как гостевая OS 507.
В одном примере использование окружения VM позволяет использование загрузочного образа с мобильного телефона 502 без необходимости загружать всю стыковочную станцию 504. VM 508 можно создать на стыковочной станции для исполнения загрузочного образа 503. Далее, VM 508 можно остановить, но VM 506 может оставаться рабочей, когда пользователь закончил с гостевой OS 507.
На фиг.6 приведен вариант осуществления, где мобильный телефон 602 (устройство) и портативный компьютер 604 (стыковочная станция) исполняют согласование загрузки. В одном из вариантов осуществления согласование загрузки проводится, используя протокол согласования. В 610 мобильный телефон 602 запрашивает портативный компьютер 604 о возможности согласования. Портативный компьютер 604 обеспечивает мобильному телефону 602 положительный ответ 611. В 612 мобильный телефон 602 и портативный компьютер 604 аутентифицируют друг друга. В 613 мобильный телефон 602 запрашивает портативный компьютер 604 о его возможностях. В 614 портативный компьютер 604 отвечает, сообщая о своих возможностях. Портативный компьютер 604 может сообщать о своих возможностях, используя вариант осуществления таблицы 700.
В блоке 615 мобильный телефон 602 определяет, будет ли установлен контроль загрузочным образом, исполненным на мобильном телефоне 602 или портативном компьютере 604. В обмене 616 мобильное устройство 602 отсылает загрузочный образ (показано на 617) на портативный компьютер 604. В одном из вариантов осуществления мобильное устройство 602 проверяет на наличие обновлений загрузочного образа перед отсылкой загрузочного образа на портативный компьютер 604. В 618 портативный компьютер 604 исполняет загрузочный образ с мобильного телефона 602. В одном из вариантов осуществления загрузочный образ исполняется в окружении VM на портативном компьютере 604.
В блоке 619 OS мобильного телефона 602 переходит в состояние сна после отправки загрузочного образа на портативный компьютер 604. Таким образом, когда подключение между мобильным телефоном 602 и портативным компьютером прервется, мобильный телефон может продолжать работу, используя собственную OS без выполнения перезагрузки OS мобильного телефона.
Альтернативно, в обмене 620, OS мобильного телефона 602 управляет ресурсами портативного компьютера 604 (показано как 621). Мобильный телефон 602 может переключить режим своего программного обеспечения для доступа к периферии портативного компьютера 604 без перезагрузки OS мобильного телефона. Например, мобильный телефон 602 может использовать KVM портативного компьютера 604 (как показано на 622). Когда подключение между мобильным телефоном 602 и портативным компьютером 604 закончится, затем мобильный телефон 602 может переключиться назад на использование своих собственных устройств ввода/вывода. Перезагрузка мобильного телефона 602 не является необходимой.
На фиг.8 описаны сценарии использования, соответствующие вариантам осуществления изобретения. Следует понимать, что варианты осуществления изобретения не ограничиваются описанными ниже сценариями. На фиг.8 приведен мобильный телефон 802 (т.е. мобильное устройство), подключенный к персональному компьютеру (PC) 810 (т.е. стыковочной станции). На фиг.8 приведен процесс согласования загрузки, имеющий место между OS мобильного телефона 804 и PC BIOS 812.
В одном сценарии вариант осуществления изобретения можно использовать в общей вычислительной среде. В некоторых случаях общая вычислительная среда может управляться телефонной компанией («Telco»), которая обеспечивает сервис и мобильному телефону 802 и PC 810. PC 810 может быть общественным компьютером в киоске торгового центра, в интернет-кафе и т.п.
Например, пользователь с мобильным телефоном 802, находящимся в состоянии выполнения OS, приближается к PC 810. PC 810 сейчас отключен. Пользователь помещает мобильный телефон 802 в близости от PC 810 для установления беспроводного подключения или соединяет мобильный телефон 802 и PC 810 кабелем для проводного подключения. Пользователь затем включает PC 810. Процесс согласования загрузки начинается с взаимодействия OS мобильного устройства 804 с PC BIOS 812. После согласования загрузки пользователь может использовать KVM PC 810 для взаимодействия с OS мобильного устройства 804 или пользователь может использовать KVM PC 810 для взаимодействия с загрузочным образом, отправленным мобильным телефоном 802 и загруженным на PC 810. В любом случае мобильный телефон 802 можно использовать пользователем как накопитель. Таким образом, пользователь может легко забрать свою работу с собой, когда он покидает общественный компьютер (т.е. PC 810).
В альтернативных вариантах осуществления PC 810 может находиться в состоянии сна или исполнения OS, и в момент, когда пользователь начинает процесс согласования, PC 810 можно перезагрузить для исполнения загрузочного образа с мобильного телефона 802. В еще одном варианте осуществления PC 810 может остаться в состоянии исполнения OS и исполнить загрузочный образ в окружении виртуальной машины.
В сценарии использования Telco пользователь может обладать одним счетом минут, которые можно использовать с мобильным телефоном 802 и PC 810. Также, поскольку мобильный телефон 802 и PC 810 являются частями одной сети Telco, обновления политики загрузки можно продвигать на мобильный телефон и/или PC 810. Обновления для загрузочных образов на мобильном телефоне 802 также можно продвинуть на мобильный телефон 802 через сеть Telco.
В другом сценарии вариант осуществления изобретения можно использовать в сети, управляемой организацией, такой как сети предприятия. Мобильный телефон 802 и PC 810 являются частью сети предприятия. Снова пользователь подключает мобильный телефон 802 к PC 810 и начинает процесс согласования загрузки. Пользователь затем может использовать KVM PC 810 для взаимодействия с управляющим загрузочным образом на мобильном телефоне 802 или PC 810.
Этот сценарий с сетью предприятия можно использовать различными способами. Сотрудникам можно выдавать мобильные устройства, такие как мобильный телефон 802. Сотрудники могут затем носить с собой различные загрузочные образы, которые можно использовать с различными PC в организации. Также пользователь всегда имеет доступ к своим данным, поскольку данные централизованы на их мобильных устройствах, вместо того, чтобы распределиться по нескольким машинам (например, корпоративному мобильному телефону и различными корпоративными настольными компьютерами). Дополнительно обновления политики загрузки и обновления загрузочных образов можно легко продвинуть на мобильный телефон 802.
На фиг.9 приведен пример вычислительного устройства 900 для осуществления одного или больше вариантов осуществления изобретения. Варианты осуществления вычислительного устройства 900 можно использовать как стыковочные станции 102 и/или мобильные устройства 120. В одной конфигурации вычислительное устройство 900 включает в себя по меньшей мере один процессорный блок 902 и память 904. Основываясь на точной конфигурации и типе вычислительного устройства, память 904 может быть энергозависимой (такой как RAM), энергонезависимой (такой как ROM, флэш-память и т.д.) или какой-либо их комбинацией. Эта конфигурация проиллюстрирована на фиг.9 пунктирной линией 906.
В других вариантах осуществления устройство 900 может включать в себя дополнительные конструктивные признаки и/или функциональные возможности. Например, устройство 900 может включать в себя дополнительный накопитель (например, съемный или несъемный), включая в качестве не ограничивающих примеров магнитный накопитель, оптический накопитель и т.п. Такой дополнительный накопитель проиллюстрирован на фиг.9 посредством накопителя 908. В одном из вариантов осуществления считываемые компьютером команды для осуществления вариантов осуществления изобретения могут находиться в накопителе 908. Накопитель 908 может также хранить другие считываемые компьютером команды для осуществления операционной системы, программы приложения и т.п.
Термин «считываемый компьютером носитель», применяемый в настоящем документе, включает в себя компьютерные носители информации. Компьютерные носители информации включают в себя энергозависимые и энергонезависимые, съемные и несъемные носители, осуществляющие любой способ или технологию хранения информации, такой как считываемые компьютером команды или другие данные. Память 904 и накопитель 908 являются примерами компьютерных носителей информации. Компьютерные носители информации включают в качестве не ограничивающих примеров RAM, ROM, EEPROM, флэш-память или иную технологию памяти, CD-ROM, цифровые универсальные диски (DVD) или другие оптические носители, магнитные кассеты, магнитную ленту, накопитель на магнитных дисках или другие устройства магнитного хранения или любые другие носители, которые можно использовать для хранения желаемой информации и на которые возможен доступ устройству 900. Любые такие компьютерные носители информации могут быть частью устройства 900.
Устройство 900 также может включать в себя коммуникационное(ые) подключение(я) 912, которое позволяет устройству 900 сообщаться с другими устройствами. Коммуникационное(ые) подключение(я) 912 может включать в себя, в качестве неограничивающих примеров, модем, плату сетевого интерфейса (NIC), USB-подключение, инфракрасный порт или другие интерфейсы для подключения вычислительного устройства 900 к другим вычислительным устройствам. Коммуникационное(ые) подключение(я) 912 может включать в себя проводное подключение или беспроводное подключение. Коммуникационное(ые) подключение(я) 912 может принимать и/или передавать средства коммуникации.
Термин «считываемые компьютером носители» может включать в себя средства сообщения. Средства сообщения, как правило, осуществляют считываемые компьютером команды или другие данные в виде «модулированного сигнала данных», такого как несущая волна или другой транспортный механизм и включает любые носители доставки информации. Термин «модулированный сигнал данных» означает, что у сигнала устанавливается или изменяется одна или несколько его характеристик таким образом, чтобы закодировать информацию в сигнале. В качестве не ограничивающего примера средства сообщения включают в себя проводные средства, такие как проводная сеть или прямое проводное подключение, и беспроводные средства, такие как акустические, радиочастотные, инфракрасные, беспроводную связь ближнего радиуса действия (NFC) и другие беспроводные средства.
Устройство 900 может включать в себя устройство(а) ввода 914, такие как клавиатура, мышь, перо, устройство голосового ввода, устройство тактильного ввода, инфракрасные камеры, устройства видеоввода и/или любое другое устройство ввода. Устройство(а) вывода 916, такое как один или несколько дисплеев, динамиков, принтеров, и/или любое другое устройство вывода можно включать в устройство 900. Устройство(а) ввода 914 и устройство(а) вывода 916 можно подключать к устройству 900 при помощи проводного подключения, беспроводного подключения или любого их сочетания. В одном из вариантов осуществления устройство ввода или устройство вывода от другого вычислительного устройства можно использовать в качестве устройства(в) ввода 914 или устройства(в) вывода 916 для вычислительного устройства 900.
Компоненты вычислительного устройства 900 можно подключать с помощью различных межсоединений, таких как шина. Такие взаимоподключения могут включать в себя интерфейс периферийных устройств (PCI), такой как PCI Express, универсальная последовательная шина (USB), шина сверхбыстрой передачи данных (IEEE 1394), шина оптической структуры и т.п. В другом варианте осуществления компоненты вычислительного устройства 900 можно подключать через сеть. Например, память 904 может состоять из нескольких физических блоков памяти, расположенных в различных физических местах, взаимосвязанных через сеть.
Специалисты в данной области осознают, что устройства хранения, применяющиеся для хранения считываемых компьютером команд, можно распределять по сети. Например, вычислительное устройство 930, доступное по сети 920, может хранить считываемые компьютером инструкции для осуществления одного или нескольких вариантов осуществления изобретения. Вычислительное устройство 900 может осуществлять доступ к вычислительному устройству 930 и скачивать часть или все считываемые компьютером команды для исполнения. Альтернативно вычислительное устройство 900 может скачивать части считываемых компьютером команд по мере необходимости, или некоторые команды можно исполнять на вычислительном устройстве 900, а некоторые - на вычислительном устройстве 930. Специалисты в данной области также осознают, что все или часть считываемых компьютером команд можно выполнять выделенной цепью, такой как процессор цифрового сигнала (DSP), программируемая логическая матрица и т.п.
В данном документе описаны различные операции вариантов осуществления данного изобретения. В одном из вариантов осуществления одна или несколько описанных операций могут представлять собой хранимые на одном или нескольких считываемых компьютером носителях считываемые компьютером команды, которые, в случае исполнения вычислительным устройством, приведут к выполнению вычислительным устройством описанных операций. Порядок, в котором некоторые или все операции описаны, не должен истолковываться как основание полагать, что эти операции непременно зависят от порядка. Альтернативный порядок будет оценен специалистом в данной области, обладающим преимуществом данного описания. Далее, должно быть понятно, что не все операции необходимо присутствуют в каждом варианте осуществления изобретения.
Вышеприведенное описание варианта осуществления изобретения, включая то, что описано в реферате, не предназначено быть исчерпывающим или ограничивать варианты осуществления до точных описанных форм. Конкретные варианты осуществления и примеры изобретения описаны в настоящем документе в иллюстративных целях, возможны различные эквивалентные модификации, как распознают специалисты в данной области в свете вышеприведенного подробного описания. Термины, использованные в следующих формулах изобретения, не должны толковаться для ограничения изобретения до конкретных вариантов осуществления, описанных в описании. Напротив, термины должны толковаться согласно установленным правилам толкования формулы изобретения.