ПРЕДОСТАВЛЕНИЕ В АРЕНДУ РЕСУРСОВ ЦЕЛЕВОГО УСТРОЙСТВА ВЫЧИСЛИТЕЛЬНОМУ ОКРУЖЕНИЮ ХОСТ-УСТРОЙСТВА
PROVIDING TARGET DEVICE RESOURCE FOR RENT TO A COMPUTER ENVIRONMENT HOST DEVICE

Уровень техники
[0001] В области техники вычислений, множество сценариев предусматривают пользователя первого устройства, который также хочет взаимодействовать со вторым устройством. В качестве первого такого примера, пользователь может хотеть инициировать сеанс служб терминалов на удаленном устройстве. Пользователь может соединять локальное устройство с удаленным устройством по сети; может входить в учетную запись пользователя на удаленном устройстве через локальное устройство; и инициировать сеанс служб терминалов на удаленном устройстве. При представлении с помощью сеанса служб терминалов, предоставленным посредством удаленного устройства для локального устройства, пользователь может взаимодействовать со вторым удаленным посредством предоставления ввода и приема вывода через локальное устройство. В качестве второго такого примера, пользователь может запрашивать зеркалирование дисплея хост-устройства на устройстве представления, таком как проектор, и идентичный вид вычислительного хост-окружения хост-устройства может отображаться как на дисплее хост-устройства, так и через проектор. В качестве третьего такого примера, пользователь может конфигурировать первое устройство с возможностью совместно использовать пользовательский ввод (к примеру, клавиатуру и мышь) первого устройства со вторым устройством; например, первое устройство может принимать пользовательский ввод в первом вычислительном окружении первого устройства и может передавать часть пользовательского ввода во второе устройство. При этих и других способах, пользователь различных устройств может обеспечивать возможность устройствам взаимодействовать таким образом, чтобы совместно использовать ресурсы устройства.
Сущность изобретения
[0002] Данная сущность изобретения предоставлена для того, чтобы представлять в упрощенной форме выбор концепций, которые дополнительно описаны ниже в подробном описании. Эта сущность не имеет намерением ни то, чтобы идентифицировать ключевые факторы или важнейшие признаки заявленного предмета изобретения, ни то, чтобы использоваться таким образом, что она ограничивает объем заявленного предмета изобретения.
[0003] Доступные технологии для совместного использования ресурсов между устройствами могут демонстрировать некоторые недостатки. В качестве первого такого примера, такие технологии могут зависеть от административного конфигурирования каждого устройства пользователем; например, пользователь типично может не инициировать сеанс служб терминалов с удаленным устройством, которое предварительно не сконфигурировано с возможностью разрешать пользователю осуществлять это, и совместное использование клавиатуры и мыши может заключать в себе конфигурирование посредством каждого устройства в качестве сервера и клиента совместного использования вводов. Для пользователя может быть более затруднительным соединять устройство пользователя со вторым устройством, на котором пользователь не имеет привилегий, и которое предварительно не сконфигурировано с возможностью взаимодействовать с первым устройством. В качестве второго такого примера, эти технологии могут обеспечивать возможность совместного использования ресурса первого устройства со вторым устройством, но могут осуществлять это произвольно организующимся способом, так что совместно используемый ресурс не представлен в качестве ресурса второго устройства эквивалентно с другими ресурсами второго устройства. В качестве третьего такого примера, эти модели могут быть основаны на модели взаимодействий на основе "извлечения по запросу", в силу чего первое устройство инициирует взаимодействие для того, чтобы использовать ресурсы из второго устройства. Например, в сеансе служб терминалов, клиент служб терминалов инициирует запрос на то, чтобы принимать терминальный сеанс в сервере служб терминалов, и сервер служб терминалов затем предоставляет вычислительное окружение пользователю. Тем не менее, такие модели на основе "извлечения по запросу" зачастую зависят от способности первого устройства обнаруживать второе устройство для того, чтобы инициировать запрос, и может быть затруднительным достигать такого обнаружения в некоторых сценариях. В качестве четвертого такого примера, различные модели совместного использования ресурсов могут не предоставлять точное управление тем, какие ресурсы совместно используются посредством первого устройства со вторым устройством, и в силу этого могут предоставлять ограниченную подразумеваемую возможность для настроек и проблем безопасности пользователя второго устройства.
[0004] В данном документе представлены технологии, которые обеспечивают возможность интеграции ресурса целевого устройства для целевого устройства, такого как дисплей, клавиатура, мышь, динамики или сетевое соединение, с вычислительным хост-окружением хост-устройства. В соответствии с этими технологиями, целевое устройство может оповещать относительно доступности ресурса целевого устройства для использования посредством других устройств. Хост-компьютер, имеющий вычислительное хост-окружение, может обнаруживать доступность ресурса целевого устройства через целевое устройство и может принимать запрос от пользователя хост-устройства на то, чтобы использовать ресурс целевого устройства в вычислительном хост-окружении. Хост-устройство в силу этого может передавать запрос в целевое устройство на то, чтобы заимствовать ресурс целевого устройства для использования в вычислительном хост-окружении. После приема и подтверждения запроса целевое, устройство может резервировать ресурс целевого устройства для вычислительного хост-окружения, и вычислительное хост-окружение может интегрировать ресурс целевого устройства с ресурсами хост-устройства вычислительного хост-окружения. Таким образом, хост-устройство может интегрировать ресурс целевого устройства с вычислительным хост-окружением от имени пользователя хост-устройства в соответствии с технологиями, представленными в данном документе.
[0005] Технологии, представленные в данном документе, могут обеспечивать возможность пользователю устройства предоставлять совместное использование ресурсов сравнительно случайным способом; например, пользователь может просто заимствовать выбранный целевой ресурс целевого устройства для хост-устройства, к примеру, временно иметь ввод с помощью мыши из целевого устройства, перенаправляемый в вычислительное хост-окружение. Такое заимствование и предоставление в аренду ресурсов может достигаться сравнительно простым и случайным способом; например, в отличие от служб терминалов, пользователь хост-устройства, возможно, не должен иметь учетную запись пользователя на целевом устройстве или даже быть известным для целевого устройства, с тем чтобы согласовывать такое заимствование ресурсов. В некоторых вариантах осуществления, пользователь хост-устройства может не иметь разрешения осуществлять доступ к целевому вычислительному окружению целевого устройства, и локальный пользовательский интерфейс для целевого устройства может даже полностью блокироваться и становиться недоступным всем за исключением пользователя целевого устройства; и при этом целевое устройство может удовлетворять запросы на то, чтобы "заимствовать" свою клавиатуру, мышь, видео, сетевое соединение или другие ресурсы целевого устройства хост-устройству. Такое заимствование и предоставление в аренду может достигаться без признания хост-устройства в целевом вычислительном окружении целевого устройства; т.е. целевое вычислительное окружение может быть изолировано, приостановлено или иным способом защищено от неавторизованного доступа посредством хост-устройства через взаимодействие по заимствованию и предоставлению в аренду ресурсов.
[0006] Технологии, представленные в данном документе, также могут обеспечивать возможность хост-устройству использовать целевое устройство в качестве портала в вычислительное хост-окружение. Например, целевое устройство может приостанавливать большую часть или все собственное вычислительное окружение и может повторно выделять вычислительные ресурсы для представления вычислительного хост-окружения, передаваемого посредством хост-устройства. В некоторых сценариях, заимствование ресурсов целевого устройства посредством хост-устройства и представление вычислительного хост-окружения, подготовленного посредством рендеринга посредством сравнительно надежных аппаратных средств хост-устройства, может обеспечивать возможность целевому устройству представлять более высококачественное взаимодействие с пользователем, чем целевое устройство может достигать с помощью собственного вычислительного окружения. Целевые устройства, которые исчерпали свое первоначальное предназначения, в силу этого могут быть переназначены в качестве порталов в вычислительное хост-окружение хост-устройства с помощью технологий, представленных в данном документе.
[0007] Для осуществления вышеуказанных и связанных целей, нижеприведенное описание и прилагаемые чертежи излагают определенные иллюстративные аспекты и реализации. Они служат признаком нескольких различных способов, которыми могут использоваться один или более аспектов. Другие аспекты, преимущества и новые признаки раскрытия сущности должны становиться очевидными из нижеприведенного подробного описания при рассмотрении вместе с прилагаемыми чертежами.
Краткое описание чертежей
[0008] Фиг. 1 является иллюстрацией примерного сценария, показывающей примерные модели совместно использования ресурсов первого устройства со вторым устройством.
[0009] Фиг. 2 является иллюстрацией примерного сценария, показывающей интеграцию ресурса целевого устройства с вычислительным хост-окружением хост-устройства в соответствии с технологиями, представленными в данном документе.
[0010] Фиг. 3 является блок-схемой последовательности операций примерного способа обеспечения возможности хост-устройству интегрировать ресурс целевого устройства для целевого устройства с вычислительным хост-окружением в соответствии с технологиями, представленными в данном документе.
[0011] Фиг. 4 является блок-схемой компонентов примерных систем, которые обеспечивают возможность хост-устройству и целевому устройству интегрировать ресурс целевого устройства для целевого устройства с вычислительным хост-окружением хост-устройства в соответствии с технологиями, представленными в данном документе.
[0012] Фиг. 5 является иллюстрацией примерного машиночитаемого носителя, содержащего процессорноисполняемые инструкции, выполненные с возможностью осуществлять одно или более положений, изложенных в данном документе.
[0013] Фиг. 6 является иллюстрацией примерного сценария, показывающей взаимодействие хост-устройства и целевого устройства для того, чтобы совместно использовать ресурс целевого устройства от имени пользователя хост-устройства и пользователя целевого устройства в соответствии с технологиями, представленными в данном документе.
[0014] Фиг. 7 является иллюстрацией примерного сценария, показывающей представление курируемого вычислительного окружения на хост-устройстве и представление вычислительного хост-окружения на целевом устройстве в соответствии с технологиями, представленными в данном документе.
[0015] Фиг. 8 является иллюстрацией примерного сценария, показывающей интеграцию целевого дисплея в компоновке дисплеев вычислительного хост-окружения в соответствии с технологиями, представленными в данном документе.
[0016] Фиг. 9 является иллюстрацией примерного сценария, показывающей целевое устройство, которое представляет вычислительное хост-окружение при приоритетном использовании представления целевого вычислительного окружения целевого устройства в соответствии с технологиями, представленными в данном документе.
[0017] Фиг. 10 является иллюстрацией примерного сценария, показывающей совместное использование ресурсов целевого устройства между вычислительным хост-окружением и целевым вычислительным окружением при изоляции целевого вычислительного окружения от вычислительного хост-окружения в соответствии с технологиями, представленными в данном документе.
[0018] Фиг. 11 является иллюстрацией примерного вычислительного окружения, в котором могут реализовываться одно или более положений, изложенных в данном документе.
Подробное описание изобретения
[0019] Заявленный объект изобретения далее описывается со ссылками на чертежи, на которых аналогичные номера ссылок используются для того, чтобы ссылаться на аналогичные элементы. В нижеприведенном описании, для целей пояснения, многие конкретные подробности изложены для того, чтобы обеспечивать полное понимание заявленного предмета изобретения. Тем не менее, очевидно, что заявленный предмет изобретения может быть применен на практике без этих конкретных подробностей. В иных случаях, структуры и устройства показаны в форме блок-схем для того, чтобы упрощать описание заявленного объекта изобретения.
A. Введение
[0020] В области техники вычислений, множество технологий могут быть использованы для того, чтобы обеспечивать возможность первому устройству совместно использовать ресурсы со вторым устройством, такие как представление видео, звука, ввода с помощью клавиатуры, мыши, хранение, сетевые соединения и периферийные компоненты, к примеру, принтеры. Различные модели могут удовлетворять различным интересам пользователей, запрашивающих такое совместное использование ресурсов, таким как сложность, согласованность, безопасность, конфигурируемость и простота использования.
[0021] Фиг. 1 представляет иллюстрацию примерного сценария, показывающую три таких модели для обеспечения возможности совместного использования ресурсов между устройствами.
[0022] Первый примерный сценарий 100 по фиг. 1 представляет иллюстрацию технологии совместного использования служб терминалов, в которой пользователь 102, который хочет взаимодействовать с вычислительным хост-окружением 106 хост-устройства 104, может устанавливать сеанс служб терминалов через целевое устройство 108. Например, пользователь 102, через целевое вычислительное окружение 110 целевого устройства 108, может устанавливать соединение и инициировать запрос 112 служб терминалов с хост-устройством 104, например, посредством предоставления учетных данных для входа в учетную запись пользователя 102 на хост-устройстве 104. При верификации учетных данных для входа в учетную запись пользователя 102 с помощью локальной учетной записи пользователя 102 в вычислительном хост-окружении 106, хост-устройство 104 может инициировать сеанс 114 служб терминалов, который инструктирует представление на целевом устройстве 108 вида вычислительного хост-окружения внутри вида 116 целевого вычислительного окружения целевого устройства 108 (например, настольное окружение вычислительного хост-окружения 106 может отображаться в окне, представленном в целевом вычислительном окружении 110). Пользователь 102 может взаимодействовать с видом 118 вычислительного хост-окружения, как если пользователь 102 физически осуществляет доступ к хост-устройству 104, например, посредством использования устройств ввода целевого устройства 108 для того, чтобы направлять ввод в хост-устройство 104 для применения к вычислительному хост-окружению 106 и приложениям, предоставленным в нем. Аналогичная модель предоставляется посредством сеанса по протоколу telnet и/или по протоколу защищенной оболочки (SSH), в которой учетная запись пользователя для пользователя 102 в вычислительном хост-окружении 106 может представляться в консольном виде на целевом устройстве 108.
[0023] Второй примерный сценарий 120 по фиг. 1 представляет иллюстрацию модели зеркалирования отображения, такой как модель беспроводного дисплея (Wi-Di), в которой пользователь 102 хост-устройства 104 запрашивает зеркалирование дисплея вычислительного хост-окружения 106 на дисплее целевого устройства 108, такого как проектор. Хост-устройство 104 может инициировать предложение 122 зеркалировать дисплей в целевое устройство 108, и при приеме подтверждения 124 предложения 122, хост-устройство 104 может зеркалировать 126 дисплей вычислительного хост-окружения 106 на целевом устройстве 108.
[0024] Третий примерный сценарий 128 по фиг. 1 представляет иллюстрацию модели совместного использования вводов, в которой пользователь 102 двух устройств может конфигурировать ввод и/или вывод, который должен совместно использоваться между устройствами. Например, пользователь 102 может конфигурировать первое устройство 134 с возможностью использовать часть пользовательского ввода 134 (например, ввод 136 текста через клавиатуру и ввод 138 с помощью указателя через мышь) в первом вычислительном окружении 132, но также может переключать первое устройство 130 на передачу 140 пользовательского ввода 134 во второе устройство 142 для обработки во втором вычислительном окружении 142. Пользователь 102 также может конфигурировать второе устройство 142с возможностью принимать пользовательский ввод 134 из первого устройства 130 и применять пользовательский ввод во втором вычислительном окружении 144 второго устройства 142. Посредством такого конфигурирования первого устройства 130 и второго устройства 142 и установления соединения между ними, пользователь 102 может достигать совместного использования пользовательского ввода 134 на устройствах.
[0025] Каждая из технологий, представленных в примерных сценариях по фиг. 1, обеспечивает различные модели для совместного использования ресурсов между устройствами. Некоторые из этих моделей могут иметь более широкие возможности, быть проще в использовании и/или быть более удовлетворительными для некоторых сценариев, чем другие модели. Тем не менее, каждая модель может демонстрировать некоторые недостатки, которые уменьшают применимость и пригодность такой модели для конкретных сценариев.
[0026] В качестве первого примера, множество моделей для совместного использования ресурсов зависят от предварительного конфигурирования устройств пользователем 102 с возможностью обеспечивать такое совместное использование ресурсов. Например, хост-устройства 104 типично не предоставляют возможность всем без исключения пользователям 102 устанавливать сеанс 114 служб терминалов с хост-устройством 104, а разрешают только пользователям 102, которые имеют учетную запись пользователя в вычислительном хост-окружении 106, инициировать такие сеансы, поскольку предоставление возможности всем без исключения пользователям 102 инициировать сеанс 114 служб терминалов может представлять уязвимость безопасности. Аналогично, конфигурирование совместного использования 128 вводов типично заключает в себе конфигурирование пользователем 102 таким образом, чтобы разрешать первому устройству 130 передавать пользовательский ввод 134, а второму устройству 142 принимать и подтверждать пользовательский ввод 134, поскольку предоставление возможности неизвестным пользователям 102 передавать и/или принимать ввод в вычислительном окружении каждого устройства 130 может представлять риск нарушения безопасности. С другой стороны, устройство может предоставлять ресурсы при запросе всех без исключения, к примеру, в сценарии проектора, но пользователь устройства для совместного использования ресурсов может не быть готов предоставлять возможность неизвестным и/или неавторизованным людям произвольно осуществлять доступ к ресурсам устройства, поскольку это может влечь за собой недопустимый риск нарушения безопасности и/или истощение ресурсов устройства для совместного использования ресурсов.
[0027] В качестве второго примера, множество моделей для совместного использования ресурсов ограничены совместным использованием конкретного типа ресурса. В качестве первого такого примера, модели служб терминалов обеспечивают возможность совместного использования сеанса 114 служб терминалов, который типично расширяет на целевое устройство 108 полный набор ресурсов, которые доступны для пользователя 102 хост-устройства 104. Тем не менее, пользователь 102 может хотеть использовать только выбранный ресурс хост-устройства для вычислительного хост-окружения 106 хост-устройства 104, но может быть неспособен ограничивать сеанс 114 служб терминалов конкретным ресурсом хост-устройства. Аналогично, беспроводной дисплей обеспечивает зеркалирование дисплея, а совместное использование вводов обеспечивает совместное использование пользовательского ввода 134, но может быть затруднительным расширять такие модели совместного использования таким образом, чтобы они заключают в себе другие типы ресурсов, такие как звук, периферийные устройства, к примеру, сетевые соединения, сканирующее и факсимильное оборудование и сеансы связи. Наоборот, каждая модель может предоставляться для конкретного типа совместного использования ресурсов, но может быть ограничена только таким совместным использованием.
[0028] В качестве третьего примера, совместное использование ресурса первого устройства со вторым устройством зачастую не интегрируется хорошо с вычислительным окружением второго устройства, а может просто приниматься и применяться произвольно организующимся способом. Например, в модели служб терминалов, ресурсы хост-устройства 104 инкапсулируются в виде 118 вычислительного хост-окружения вычислительного хост-окружения 106 и обрабатываются посредством целевого устройства 108 другим способом по сравнению с целевыми ресурсами целевого устройства 108. Аналогично, в модели беспроводного дисплея, пользователь 102 может просматривать зеркало дисплея на проекторе, но может не иметь возможность использовать какие-либо ресурсы проектора для того, чтобы взаимодействовать с вычислительным хост-окружением 106; например, проектор может быть ограничен зеркалированием вычислительного хост-окружения 106, передаваемого посредством хост-устройства 104, неинтерактивным способом, даже если проектор представляет собой целевое устройство 108, включающее в себя одно или более устройств ввода. В качестве третьего такого примера, совместное использование пользовательского ввода 134 посредством первого устройства 130 может реализовываться как поток команд пользовательского ввода, передаваемых во второе устройство 142, но второе устройство 142 может не представлять устройства пользовательского ввода первого устройства 130 в качестве отличающихся ресурсов (например, устройства пользовательского ввода) во втором вычислительном окружении 114. Например, второе устройство 142 может не допускать взаимодействие с устройствами пользовательского ввода первого устройства 130 (например, выполнение запроса относительно таких устройств на предмет свойств устройства ввода, таких как активация клавиши Caps Lock или Number Lock на клавиатуре и/или конфигурирование мыши первого устройства 130 с возможностью регулировать такие признаки, как ускорение указателя). Наоборот, сервер совместного использования вводов второго устройства 142 может просто применять пользовательский ввод 134, принимаемый из первого устройства 130 произвольно организующимся способом, и даже может не информироваться в отношении типов устройств пользовательского ввода, предоставленных на первом устройстве 130 (например, в отношении того, принимается или нет ввод с помощью указателя через мышь, стилус, шаровой манипулятор, сенсорное устройство, жестикуляционное устройство или устройство слежения за взглядом). Фактически, для пользователя 102 второго устройства 142 может быть затруднительным даже определять источник пользовательского ввода 134; например, ни одно из устройств ввода, зарегистрированных во втором устройстве 104, может не демонстрировать пользовательский ввод 134, который принимается и обрабатывается посредством второго устройства 142. Эти и другие недостатки могут возникать в контексте множества моделей совместного использования ресурсов, включающих в себя модели, проиллюстрированные в примерных сценариях по фиг. 1, что уменьшает применимость и простоту использования таких технологий для различных сценариев и интересов.
[0029] B. Представленные технологии
[0030] В данном документе представлены технологии для обеспечения возможности заимствования и предоставления в аренду ресурсов между устройствами таким образом, который позволяет интегрировать конкретные ресурсы целевого устройства 108 с вычислительным хост-окружением 106 хост-устройства 104. В соответствии с такими технологиями, целевое устройство 108 может оповещать относительно доступности ресурса целевого устройства для целевого устройства для интеграции с вычислительным хост-окружением 106 хост-устройства 104. Хост-устройство 104 может обнаруживать такую доступность и, в ответ на прием запроса от пользователя 102 хост-устройства на то, чтобы интегрировать ресурс целевого устройства с вычислительным хост-окружением 106, может передавать в целевое устройство 108 запрос на то, чтобы заимствовать ресурс целевого устройства для использования в вычислительном хост-окружении 106. Целевое устройство 108 может подтверждать предложение и резервировать ресурс целевого устройства для вычислительного хост-окружения 106 (например, привязывать компонент ввода исключительно или неисключительно к вычислительному хост-окружению 106 и/или резервировать часть или все устройство представления для рендеринга, по меньшей мере, части вычислительного хост-окружения 106 хост-устройства 104). В ответ на прием подтверждения запроса из целевого устройства 108, хост-устройство 104 может интегрировать ресурс целевого устройства с вычислительным хост-окружением 106 вместе с ресурсами хост-устройства (например, представлять устройство пользовательского ввода целевого устройства 108 в качестве первоклассного устройства ввода, наравне с другими устройствами пользовательского ввода, которые физически и/или в беспроводном режиме непосредственно соединяются с хост-устройством 104) и может представлять ресурс целевого устройства пользователю 102 хост-устройства в вычислительном хост-окружении 106. Пользователь 102 затем может использовать ресурсы целевого устройства 108 при взаимодействии с хост-устройством 104, например, "заимствовании" мыши, которая физически соединяются с целевым устройством 108, чтобы предоставлять ввод в вычислительном хост-окружении 106 хост-устройства 104.
[0031] Фиг. 2 представляет иллюстрацию примерного сценария 200, показывающую заимствование ресурсов 210 целевого устройства для целевого устройства 108 хост-устройству 104 в соответствии с технологиями, представленными в данном документе. В этом примерном сценарии 200, в первое время 202, пользователь 102 хост-устройства 104 может инициировать запрос на то, чтобы заимствовать конкретные ресурсы 210 целевого устройства для целевого устройства 108 для использования посредством хост-устройства 104, такие как дисплей и мышь целевого устройства 108. Хост-устройство 104 может передавать запрос 204 ресурсов в целевое устройство 108, который может представляться пользователю 102 целевого устройства 108 (хотя, в других сценариях, запрос 204 ресурсов может оцениваться автономно посредством целевого устройства 108). Пользователь 102 целевого устройства 108 может принимать и рассматривать запрос 204 ресурсов и может авторизовать заимствование ресурсов 210 целевого устройства для использования в хост-устройстве 104. Соответственно, целевое устройство 108 может передавать подтверждение 206 запроса 204 ресурсов в хост-устройство 104.
[0032] Во второе время 208, хост-устройство 104 и целевое устройство 108 могут удовлетворять заимствованию ресурсов 210 целевого устройства для использования в хост-устройстве 104. Целевое устройство 108 может резервировать ресурсы 210 целевого устройства для использования посредством хост-устройства 104 (например, инициировать заимствование ресурса 210 целевого устройства между целевым вычислительным окружением 110 и хост-устройством 104 и/или извлекать ресурс 210 целевого устройства из целевого вычислительного окружения 110 в ходе предоставления в аренду хост-устройству 104). Хост-устройство 104 также может интегрировать ресурсы 210 целевого устройства в наборе 212 ресурсов вычислительного хост-окружения, например, добавлять 216 ресурсы 210 целевого устройства в качестве первоклассных устройств в вычислительном хост-окружении 106, вместе с ресурсами 214 хост-устройства, которые непосредственно присоединяются к хост-устройству 104. Например, когда целевое устройство 108 принимает целевой пользовательский ввод 134 через ресурс 210 целевого устройства, который предоставлен в аренду хост-устройству 104, целевое устройство 108 может передавать целевой пользовательский ввод 134 в хост-устройство 104, которое может применять целевой пользовательский ввод 134 к вычислительному хост-окружению 106 вместе с пользовательским хост-вводом 218, принимаемым через ресурс ввода хост-устройства, такой как клавиатура, непосредственно соединенная с хост-устройством 104. Вычислительное хост-окружение 106 также может представляться как на дисплее хост-устройства для хост-устройства 104, так и на дисплее целевого устройства для целевого устройства 108, который предоставлен в аренду хост-устройству 104. Дополнительно, целевое вычислительное окружение 220 может защищаться от вычислительного хост-окружения 106, например, посредством блокировки 220 и/или приостановки целевого вычислительного окружения 110 в то время, когда ресурсы 210 целевого устройства предоставляются в аренду и интегрируются с вычислительным хост-окружением 106. Таким образом, хост-устройство 104 и целевое устройство 108 могут взаимодействовать, чтобы достигать заимствования ресурсов 210 целевого устройства для использования в хост-устройстве 104 в соответствии с технологиями, представленными в данном документе.
[0033] C. Технические эффекты
[0034] Использование технологий, представленных в данном документе, для того чтобы заимствовать ресурсы 210 целевого устройства для целевого устройства 108 для использования в хост-устройстве 104, может обеспечивать множество технических эффектов для хост-устройства 104 и/или целевого устройства 108.
[0035] В качестве первого примера технического эффекта, который может быть достижимым посредством технологий, представленных в данном документе, хост-устройство 104 и целевое устройство 108 могут совместно использовать ресурсы 210 целевого устройства более простым и более случайным способом по сравнению с другими технологиями совместного использования, такими как службы терминалов. Сеанс служб терминалов (к примеру, проиллюстрированный в первом примерном сценарии 100 по фиг. 1) зависит от нескольких критериев: во-первых, пользователь 102 имеет учетную запись пользователя на хост-устройстве 104, для которого активированы службы терминалов; во-вторых, пользователь 102 имеет возможность осуществлять доступ к целевому вычислительному окружению 110 целевого устройства 108, чтобы инициировать запрос 112 служб терминалов; в-третьих, целевое устройство 108 должно иметь возможность обнаруживать и инициировать контакт с хост-устройством 104; и в-четвертых, пользователь 102 должен аутентифицировать себя в хост-устройстве 104, к примеру, посредством предоставления учетных данных для входа в учетную запись. Невыполнение любых из таких критериев может запрещать инициирование сеанса 114 служб терминалов; например, если пользователь 102 не запоминает адрес хост-устройства 104, или если целевое устройство 108 неспособно контактировать с хост-устройством 104, к примеру, вследствие брандмауэра, сеанс 114 служб терминалов является недостижимым. В отличие от этого, в технологиях, проиллюстрированных в примерном сценарии 200 по фиг. 2, пользователь 102 хост-устройства 104 не должен обязательно иметь учетной записи пользователя на целевом устройстве108 и не должен обязательно осуществлять доступ к целевому устройству 108, которое может удовлетворять запросу 204 ресурсов через автономное подтверждение 206 запроса на заимствование и/или подтверждение пользователем 102 целевого устройства 108. Такое заимствование и предоставление в аренду ресурсов 204 целевого устройства в силу этого может достигаться сравнительно более простым и более случайным способом.
[0036] В качестве второго примера технического эффекта, который может быть достижимым посредством технологий, представленных в данном документе, случайное заимствование и предоставление в аренду ресурсов 210 целевого устройства позволяет обеспечивать сценарии совместного использования ресурсов, которые не являются достижимыми через другие модели. В качестве первого такого примера, целевое устройство 108 может разрешать заимствование ресурсов 204 целевого устройства пользователем 102 и/или посредством хост-устройства 104, которому в противном случае не разрешается использовать целевое устройство 108. Например, целевое устройство 108 может запрещать пользователю 102 входить в учетную запись на целевом устройстве 108 или взаимодействовать с целевым вычислительным окружением 110 и может активно изолировать целевое вычислительное окружение 110 от пользователя 102 (например, посредством блокировки целевого устройства 108 для всех, кроме пользователя 102 целевого устройства 108), но при этом может разрешать заимствование мыши или дисплея для хост-устройства 104 для интеграции с вычислительным хост-окружением 106. В качестве второго такого примера, интеграция ресурсов 210 целевого устройства вместе с ресурсами 214 хост-устройства для хост-устройства 104 может обеспечивать возможность пользователю 102 хост-устройства 104 и пользователю 102 целевого устройства 108 взаимодействовать с вычислительным хост-окружением 106 вместе. Например, пользователь 102 хост-устройства может предоставлять пользовательский хост-ввод 218 через устройства ввода и дисплей, которые непосредственно соединяются с хост-устройством 104, и пользователь 102 целевого устройства может предоставлять целевой пользовательский ввод 134 через устройства ввода и дисплей целевого устройства 108, которые предоставлены в аренду вычислительному хост-окружению 106, и вычислительное хост-окружение 106 может параллельно отражать оба источника ввода и оба дисплея. Такое параллельное использование может быть недостижимым через другие модели совместного использования ресурсов; например, когда пользователь 102 инициирует сеанс 114 служб терминалов из целевого устройства 108, хост-устройство 104 зачастую блокирует локальный доступ к хост-устройству 104 и/или идентичную учетную запись пользователя в течение длительности сеанса 114 служб терминалов.
[0037] В качестве третьего примера технического эффекта, который может быть достижимым посредством технологий, представленных в данном документе, совместное использование целевого устройства 210, как предусмотрено в данном документе, может обеспечивать больший уровень детализации в заимствовании и предоставлении в аренду, чем может достигаться через другие модели совместного использования ресурсов. Например, когда пользователь 102 хост-устройства 104 инициирует сеанс 114 служб терминалов, все вычислительное хост-окружение 106 может быть открыто для доступа целевому устройству 108. Тем не менее, это может не представлять собой намерение пользователя 102; наоборот, пользователь 102 может хотеть использовать только мышь целевого устройства 108 на хост-устройстве 104 без отображения также контента вычислительного хост-окружения 106 на целевом устройстве 108 или может хотеть отображать только некоторый контент хост-устройства 104 на целевом устройстве 108 без обеспечения возможности направления пользовательского ввода посредством целевого устройства 108 в хост-устройство 104. Аналогично, пользователь 102 целевого устройства 108 может хотеть предоставлять в аренду только конкретный ресурс целевого устройства хост-устройству 104, к примеру, только мышь, но может быть неспособен достигать такого избирательного совместного использования ресурсов в контексте сеанса 114 служб терминалов. Примерный сценарий 200 по фиг. 2 иллюстрирует достижимую избирательность предоставления в аренду и заимствования ресурсов целевого устройства в соответствии с технологиями, представленными в данном документе.
[0038] В качестве четвертого примера технического эффекта, который может быть достижимым с помощью технологий, представленных в данном документе, интеграция ресурсов 210 целевого устройства с вычислительным хост-окружением 106 может представлять более надежное представление таких ресурсов 210 целевого устройства по сравнению с произвольно организующимися моделями совместного использования ресурсов. Например, в третьем примерном сценарии 128 по фиг. 1, архитектура совместного использования пользовательских вводов может обеспечивать возможность первому устройству 130 проталкивать пользовательский ввод 134 во второе устройство 142; например, первое устройство 130 может просто представлять абстрактные инструкции пользовательского ввода во второе устройство 142, такие как ввод текста и перемещение указателя, без указания даже типа устройства ввода, через которое такой пользовательский ввод 134 принят через первое устройство 103. Тем не менее, второе устройство 142 может не иметь возможностей для взаимодействия с компонентами ввода первого устройства 130 (например, чтобы регулировать эффекты ускорения мыши или щелчка кнопкой устройства-мыши либо чувствительность к касаниям или распознанные жесты сенсорного дисплея или сенсорной панели). Устройства ввода первого устройства 130 не отображаются во втором вычислительном окружении 144, и для приложений на втором устройстве 142 может быть затруднительным даже определять источник пользовательского ввода, который не может исходить ни через одно из устройств ввода, представленных во втором вычислительном окружении 114. В отличие от этого, технологии, представленные в данном документе, обеспечивают более согласованную и надежную модель совместного использования ресурсов посредством интегрирования заимствованных ресурсов 210 целевого устройства с вычислительным хост-окружением 106.
[0039] В качестве пятого примера технического эффекта, который может быть достижимым посредством технологий, представленных в данном документе, заимствование и предоставление в аренду ресурсов 210 целевого устройства может обеспечивать возможность хост-устройству 104 регулировать надежное взаимодействие с вычислительным окружением через целевое устройство 108. Например, если хост-устройство 104 заимствует ввод с помощью клавиатуры и мыши целевого устройства 108, а также видеовывод и звуковой вывод целевого устройства 108, хост-устройство 104 может представлять полное взаимодействие вычислительного хост-окружения 106 для целевого устройства 108. Целевое устройство 108 также может представлять вычислительное хост-окружение 106 при приостановке целевого вычислительного окружения 110 целевого устройства 108, что может обеспечивать возможность целевому устройству 108 выделять вычислительные ресурсы для представления вычислительного хост-окружения 106, которые в противном случае могут разделяться между ними (например, в отличие от модели служб терминалов, в которой процессор, запоминающее устройство, ввод, сетевое соединение и другие ресурсы целевого устройства 108 зачастую разделяются между сеансом 114 служб терминалов и целевым вычислительным окружением 110). Целевое устройство 108 в силу этого может представлять сравнительно высококачественное взаимодействие из хост-устройства 104 посредством выделения большинства вычислительных ресурсов для представления вычислительного хост-окружения 106. В некоторых сценариях, целевое устройство 108, содержащее сравнительно ограниченные и/или устаревшие вычислительные аппаратные средства, к примеру, типовой планшетный компьютер с отсутствующим графическим сопроцессором, может представлять вычислительное хост-окружение 106, подготовленное посредством рендеринга посредством хост-компьютера 104, содержащего сравнительно усовершенствованные аппаратные средства. В этом случае, представление вычислительного хост-окружения 106 может превышать надежность, графическое качество и/или скорость реакции собственного целевого вычислительного окружения 110 целевого устройства 108. Технологии, представленные в данном документе, в силу этого могут упрощать переназначение устройств для сравнительно устаревших аппаратных средств (например, пользователь 102 целевого устройства 108 может не иметь достаточного использования для собственного целевого вычислительного окружения 110 целевого устройства 108, но может достигать переназначенной функциональности посредством использования целевого устройства 108 в качестве портала в вычислительное хост-окружение 106).
[0040] В качестве шестого примера технического эффекта, который может быть достижимым с помощью технологий, представленных в данном документе, заимствование ресурсов 210 целевого устройства может разрешать хост-устройству 104 представлять в целевое устройство 108 ресурсы и контент, использование которых целевое устройство 108 по умолчанию не допускает. В качестве первого такого примера, пользователь 102 может хотеть представлять приложение на целевом устройстве 108, которое не является совместимым с целевым вычислительным окружением 110 (например, приложение может быть компилировано для набора инструкций и/или архитектуры, которую поддерживает целевое вычислительное окружение 110). Вместо этого, пользователь 102 может выполнять приложение на хост-устройстве 104 и представлять вычислительное хост-окружение 106 с использованием ресурсов 210 целевого устройства для целевого устройства 108. В качестве второго такого примера, хост-устройство 104 может иметь приложение или контент, на использование которого хост-устройство 104 лицензировано, но который целевое устройство 108 не использует. Вместо передачи таких ресурсов в целевое устройство 108, которые не являются применимыми в нем, хост-устройство 104 может локально выполнять приложение или подготавливать посредством рендеринга контент и может заимствовать ресурсы 210 целевого устройства для целевого устройства 108, чтобы представлять часть или все приложение либо контент через целевое устройство 108. Эти и другие технические эффекты могут быть достижимыми через различные реализации технологий, представленных в данном документе.
[0041] D. Примерные варианты осуществления
[0042] Фиг. 3 представляет первый примерный вариант осуществления технологий, представленных в данном документе, проиллюстрированных в качестве примерного способа 300 конфигурирования хост-устройства 104 с возможностью интегрировать ресурс 210 целевого устройства для целевого устройства 108 с вычислительным хост-окружением 106 хост-устройства 104. Примерный способ 300 может реализовываться, например, в качестве набора инструкций, сохраненных в компоненте запоминающего устройства для хост-устройства 104, таком как запоминающая схема, жесткий диск, полупроводниковое устройство хранения данных либо магнитный или оптический диск, и организовываться таким образом, чтобы, при выполнении в процессоре устройства, инструктировать хост-устройству 104 работать согласно технологиям, представленным в данном документе.
[0043] Примерный способ 300 начинается на 302 и заключает в себе выполнение 304 инструкций в процессоре хост-устройства 104. В частности, выполнение 304 инструкций в процессоре инструктирует хост-устройству 104 обнаруживать 306 доступность ресурса 210 целевого устройства через целевое устройство 108. Выполнение 304 инструкций в процессоре инструктирует хост-устройству 104, в ответ 308 на прием запроса от пользователя 102 хост-устройства, заимствовать ресурс 210 целевого устройства для использования в вычислительном хост-окружении 106, передавать 310 в целевое устройство 108 запрос 204 на то, чтобы заимствовать ресурс 210 целевого устройства для использования в вычислительном хост-окружении 106. Выполнение 304 инструкций в процессоре инструктирует хост-устройству 104, в ответ 312 на прием из целевого устройства 108 подтверждения 206 запроса 204, интегрировать 314 ресурс 210 целевого устройства с ресурсами 214 хост-устройства вычислительного хост-окружения 106 и представлять 316 ресурс 210 целевого устройства пользователю 102 хост-устройства в вычислительном хост-окружении 106. Таким образом, инструкции инструктируют хост-устройству 104 интегрировать ресурсы 210 целевого устройства для целевого устройства 104 с вычислительным хост-окружением 106 в соответствии с технологиями, представленными в данном документе, и в силу этого примерный способ завершается на 318.
[0044] Второй примерный вариант осуществления технологий, представленных в данном документе (не проиллюстрирован), заключает в себе примерный способ конфигурирования целевого устройства 108 с возможностью предоставлять в аренду ресурсы 210 целевого устройства из целевого вычислительного окружения 110 для использования в вычислительном хост-окружении 106 хост-устройства 104. Такой примерный способ может заключать в себя, например, выполнение, в процессоре целевого устройства 108, инструкций, которые инструктируют целевому устройству 108 оповещать относительно доступности ресурса 210 целевого устройства; и в ответ на прием запроса 204 на то, чтобы заимствовать ресурс целевого устройства для использования в вычислительном хост-окружении, резервирование ресурса 210 целевого устройства для вычислительного хост-окружения 106 и передачу 206 подтверждения запроса 204 в хост-устройство 104. Таким образом, инструкции инструктируют целевому устройству 108 предоставлять в аренду ресурсы 210 целевого устройства из целевого вычислительного окружения 110 для использования в вычислительном хост-окружении 106 в соответствии с технологиями, представленными в данном документе, и в силу этого примерный способ завершается.
[0045] Фиг. 4 представляет дополнительные примерные варианты осуществления технологий, представленных в данном документе, проиллюстрированных в качестве примерных систем, соответственно, реализованных на примерном хост-устройстве 402 и примерном целевом устройстве 404, которые, соответственно, реализуют, по меньшей мере, часть технологий, представленных в данном документе. Примерное хост-устройство 402 выполняет хостинг и/или управляет вычислительным хост-окружением 106, содержащим один или более ресурсов 214 хост-устройства, таких как представления устройств, которые непосредственно соединяются с примерным хост-устройство 402 (например, пользовательский интерфейс, приложения, видеопризнаки, такие как шрифты и цветовые схемы, данные, конфигурации приложений, списки контактов и учетные записи и учетные данные пользователей), и примерное целевое устройство 404 выполняет хостинг целевого вычислительного окружения 110, содержащего ресурс 210 целевого устройства. В этом примерном сценарии 400, каждое из примерного хост-устройства 402 и примерного целевого устройства 404 включает в себя процессор 406 и запоминающее устройство 408, которое сохраняет процессорноисполняемые инструкции, которые реализуют, на каждом устройстве, примерную систему, которая реализует, по меньшей мере, часть технологий, представленных в данном документе. Соответствующие примерные системы могут реализовываться, например, в качестве набора компонентов, соответственно, содержащих набор инструкций, сохраненных в запоминающем устройстве 408 соответствующих примерных устройств, причем инструкции соответствующих компонентов, при выполнении в процессоре 406, инструктируют примерному устройству работать в соответствии с технологиями, представленными в данном документе. Альтернативно, соответствующие компоненты могут реализовываться как дискретная схема или аппаратное устройство либо как комбинация вышеозначенного, которые работают в соответствии с технологиями, представленными в данном документе.
[0046] Примерное хост-устройство 402 включает в себя первую примерную систему 410, содержащую запрос 412 ресурсов целевого устройства, который обнаруживает доступность 422 ресурса 210 целевого устройства через примерное целевое устройство 404 и, в ответ на прием запроса 202 от пользователя 102 хост-устройства на то, чтобы интегрировать ресурс 210 целевого устройства с вычислительным хост-окружением 106, передает в примерное целевое устройство 404 запрос 202 на то, чтобы заимствовать ресурс 210 целевого устройства для использования в вычислительном хост-окружении 106. Первая примерная система 410 также включает в себя модуль 414 интегрирования ресурсов целевого устройства, который, в ответ на прием из примерного целевого устройства 404 подтверждения 204 запроса 202, интегрирует ресурс 210 целевого устройства с ресурсами 214 хост-устройства вычислительного хост-окружения 106 и представляет ресурс 210 целевого устройства пользователю 102 хост-устройства в вычислительном хост-окружении 106.
[0047] Примерное целевое устройство 404 включает в себя вторую примерную систему 416, которая модуль 418 оповещения относительно ресурсов целевого устройства, который передает (например, посредством широковещательной передачи, многоадресной передачи или в ответ на запрос) оповещение относительно доступности 422 ресурса 210 целевого устройства. Примерное целевое устройство 404 также включает в себя модуль 420 предоставления в аренду ресурсов устройства, который, в ответ на прием запроса 202 на то, чтобы заимствовать ресурс 210 целевого устройства для использования в вычислительном хост-окружении 106, резервирует 424 ресурс 210 целевого устройства для вычислительного хост-окружения 106 и передает подтверждение 204 запроса 202 в хост-устройство 402. Взаимодействие примерного хост-устройства 402 и примерного целевого устройства 404 с использованием таких примерных систем может обеспечивать совместную интеграцию ресурса 210 целевого устройства для примерного целевого устройства 40 в вычислительном хост-окружении 106 примерного хост-устройства 402 в соответствии с технологиями, представленными в данном документе.
[0048] Еще один другой вариант осуществления заключает в себе машиночитаемый носитель, содержащий процессорноисполняемые инструкции, выполненные с возможностью применять технологии, представленные в данном документе. Такие машиночитаемые носители могут включать в себя различные типы сред связи, к примеру, сигнал, который может распространяться через различные физические явления (например, электромагнитный сигнал, звуковой волновой сигнал или оптический сигнал) и в различных проводных сценариях (например, через Ethernet-кабель или волоконно-оптический кабель) и/или беспроводных сценариях (например, как беспроводная локальная вычислительная сеть (WLAN), такая как Wi-Fi, персональная вычислительная сеть (PAN), такая как Bluetooth, либо сотовая или радиосеть), и который кодирует набор машиночитаемых инструкций, которые, при выполнении посредством процессора устройства, инструктируют устройству реализовывать технологии, представленные в данном документе. Такие машиночитаемые носители также могут включать в себя (в качестве класса технологий, который исключает среды связи) машиночитаемые запоминающие устройства, такие как запоминающий полупроводник (например, полупроводник с использованием технологий статического оперативного запоминающего устройства (SRAM), динамического оперативного запоминающего устройства (DRAM) и/или синхронного динамического оперативного запоминающего устройства (SDRAM)), жесткий диск, устройство флэш-памяти или магнитный или оптический диск (к примеру, CD-R, DVD-R-диск или гибкий диск), кодирующий набор машиночитаемых инструкций, которые, при выполнении посредством процессора устройства, инструктируют устройству реализовывать технологии, представленные в данном документе.
[0049] Примерный машиночитаемый носитель, который может быть разработан этими способами, проиллюстрирован на фиг. 5, при этом реализация 500 содержит машиночитаемое запоминающее устройство 502 (например, CD-R, DVD-R или жесткий диск), на котором кодируются машиночитаемые данные 504. Эти машиночитаемые данные 506, в свою очередь, содержат набор компьютерных инструкций 506, которые, при выполнении в процессоре 406 устройства 510, инструктируют устройству 510 работать согласно принципам, изложенным в данном документе. В первом таком варианте осуществления, процессорноисполняемые инструкции 506 могут инструктировать хост-устройству 202 интегрировать ресурс 210 целевого устройства для целевого устройства 108 с вычислительным хост-окружением 106 хост-устройства 104, как в примерном способе 300 по фиг. 3. Во втором такой варианте осуществления, процессорноисполняемые инструкции 506 могут инструктировать хост-устройству 104 и/или целевому устройству 108 реализовывать системы, которые обеспечивают интеграцию ресурсов 210 целевого устройства с вычислительным хост-окружением 106 хост-устройства 104, такие как примерные системы, представленные в примерном сценарии 400 по фиг. 4. Специалисты в данной области техники могут разрабатывать множество таких машиночитаемых носителей, которые выполнены с возможностью работать в соответствии с технологиями, представленными в данном документе.
[0050] E. Варьирования
[0051] Технологии, поясненные в данном документе, могут быть разработаны с варьированиями во многих аспектах, и некоторые варьирования могут представлять дополнительные преимущества и/или уменьшать недостатки относительно других варьирований этих и других технологий. Кроме того, некоторые варьирования могут быть реализованы в комбинации, и некоторые комбинации могут демонстрировать дополнительные преимущества и/или уменьшенные недостатки через синергетическое взаимодействие. Варьирования могут быть включены в различные варианты осуществления (например, в примерный способ 300 по фиг. 3; в примерные системы по фиг. 4; и в примерное запоминающее устройство 502 по фиг. 5) с тем, чтобы предоставлять отдельные и/или синергетические преимущества для таких вариантов осуществления.
[0052] E1. Сценарии
[0053] Первый аспект, который может варьироваться между вариантами осуществления этих технологий, связан со сценариями, в которых могут использоваться такие технологии.
[0054] В качестве первого варьирования этого первого аспекта, технологии, представленные в данном документе, могут быть использованы для того, чтобы осуществлять конфигурирование множества хост-устройств 104 и/или целевых устройств 108, таких как рабочие станции, переносные компьютеры, планшетные компьютеры, мобильные телефоны, игровые приставки, портативные игровые устройства, портативные или непортативные мультимедийные проигрыватели, мультимедийные устройства отображения, к примеру, телевизионные приемники, бытовые приборы, устройства бытовой автоматизации, вычислительные компоненты, интегрированные с носимым устройством, таким как окуляр или часы, и устройства по протоколу диспетчерского управления и сбора данных (SCADA).
[0055] В качестве второго варьирования этого первого аспекта, ресурсы 210 целевого устройства и ресурсы 214 хост-устройства могут содержать множество типов ресурсов, включающих в себя устройства вывода (например, дисплеи, динамики и устройства тактильного вывода, такие как вибрационные механизмы); устройства ввода (например, клавиатуры, мыши, стилусы, сенсорные дисплеи и сенсорные панели, устройства отслеживания жестов и слежения за взглядом и биометрические устройства ввода); периферийные устройства (например, принтеры, сканеры, камеры и роботизированные компоненты); ресурсы связи (например, сетевые соединения, интерфейсы и устройства); и базовые вычислительные ресурсы (например, производительность обработки и емкость хранения).
[0056] В качестве третьего варьирования этого первого аспекта, технологии, представленные в данном документе, могут быть использованы с множеством архитектур и/или взаимосвязей хост-устройства 104 и целевого устройства 108. В качестве первого такого примера, соответствующие устройства могут использовать компоненты, которые непосредственно и физически соединяются с устройством, такие как проводные дисплеи, динамики и наушники. В качестве второго такого примера, соответствующие устройства могут использовать один или более компонентов, которые являются доступными через беспроводное соединение, к примеру, по радиочастоте. В качестве третьего такого примера, соответствующие устройства могут обмениваться данными по персональной, локальной и/или глобальной вычислительной сети, чтобы совместно работать согласно технологиям, представленным в данном документе. В качестве четвертого такого примера, соответствующее устройство может использовать один или более компонентов, которые являются доступными через третье устройство из совокупности устройств, к примеру, в клиент-серверной архитектуре или архитектуре с равноправными узлами. Кроме того, каждое хост-устройство 104 и целевое устройство 108 может быть использовано одним пользователем 102 или группой пользователей 102 и/или может управляться, по меньшей мере, одним первым пользователем 102 от имени, по меньшей мере, одного второго пользователя 102. Эти и другие сценарии могут быть подходящими для интеграции ресурсов 210 целевого устройства для целевого устройства 108 с вычислительным хост-окружением 106 хост-устройства 104 в соответствии с технологиями, представленными в данном документе.
[0057] E2. Установление предоставления в аренду ресурсов целевого устройства
[0058] Второй аспект, который может варьироваться между вариантами осуществления технологий, представленных в данном документе, заключает в себе способ установления предоставления в аренду ресурса 210 целевого устройства из целевого устройства 108 хост-устройству 104.
[0059] В качестве первого варьирования этого второго аспекта, хост-устройство 104 может обнаруживать доступность 422 ресурса 210 целевого устройства множеством способов. В качестве первого такого примера, целевое устройство 108 может оповещать относительно доступности 422 ресурса 210 целевого устройства, например, посредством широковещательной передачи доступных ресурсов по сети ближнего действия, локальной вычислительной сети или глобальной вычислительной сети либо посредством перечисления ресурса 210 целевого устройства в каталоге доступности с доступными ресурсами целевого устройства, доступными через различные целевые устройства 108. Хост-устройство 104 затем может принимать оповещение относительно такой доступности 422 ресурса 210 целевого устройства (например, посредством приема такой широковещательной передачи или нахождения ресурса 210 целевого устройства в каталоге доступности). В качестве второго такого примера, хост-устройство 104 может передавать в широковещательном режиме запрос на доступные ресурсы 210 целевого устройства, который, необязательно, может указывать конкретный тип ресурса 210 целевого устройства, который хост-устройство 104 хочет представлять в вычислительном хост-окружении 106. Целевое устройство 210 может отвечать посредством уведомления хост-устройства 104 в отношении доступности 422, по меньшей мере, одного ресурса 210 целевого устройства через целевое устройство 108. В качестве третьего такого примера, хост-устройство 104 и целевое устройство 108 могут инициировать конкретное соединение, которое предоставляет основу для оповещения относительно доступности 422 ресурсов 210 целевого устройства для хост-устройства 104. Например, обнаружение физической близости хост-устройства 104 и целевого устройства 108 в пределах порогового значения физической близости (например, пользователь 102 может рассматривать мобильное хост-устройство 104 над или в одном метре от целевого устройства 108, из которого пользователь 102 хочет заимствовать ресурсы 210 целевого устройства) может инициировать оповещение относительно доступности 422 ресурсов 210 целевого устройства для хост-устройства 104.
[0060] В качестве второго варьирования этого второго аспекта, хост-устройство 104 и целевое устройство 108 могут согласовывать доступность 422 ресурса 210 целевого устройства для хост-устройства 104. В качестве первого такого примера, хост-устройство 104 и целевое устройство 108 могут участвовать в диспетчеризации (например, идентификации блока времени для резервирования ресурса 210 целевого устройства для хост-устройства 104). В качестве второго такого примера, хост-устройство 104 и целевое устройство 108 могут использовать балансировку нагрузки (например, для набора доступных целевых устройств 108 и ресурсов 210 целевого устройства, идентификацию выбранного целевого устройства 108 и ресурса 210 целевого устройства, который является бездействующим и/или хорошо адаптированным к обстоятельствам хост-устройства 104). В качестве третьего такого примера, хост-устройство 104 и целевое устройство 108 могут участвовать в переговорах (например, в согласовании и определении затрат на резервирование ресурса 210 целевого устройства для хост-устройства 104). В качестве четвертого такого примера, целевое устройство 108 может участвовать в предоставлении в аренду ресурсов только с конкретным хост-устройством 104. В качестве одного такого примера, доступность 422 ресурса 210 целевого устройства в хост-устройства 104 может ограничиваться посредством учетных данных доступа (например, пароля или сертификата). Хост-устройство 104 может отправлять учетные данные доступа с запросом, и целевое устройство 108 может резервировать ресурс 210 целевого устройства для хост-устройства 104 только после верификации учетных данных доступа. Альтернативно или дополнительно, если целевое устройство 108 и хост-устройство 104 имеют доверительную взаимосвязь, целевое устройство 108 может автоматически предоставлять или даже инициировать предоставление в аренду ресурсов 210 целевого устройства после соединения и аутентификации хост-устройства 104.
[0061] В качестве третьего варьирования этого второго аспекта, хост-устройство 104 и/или целевое устройство 108 могут автономно участвовать в заимствовании и предоставлении в аренду ресурсов 210 целевого устройства (например, целевое устройство 108 может автономно соглашаться на предоставление в аренду ресурсов 210 целевого устройства, даже если целевое устройство 108 является бездействующим, заблокированным, приостановленным, выключенным или в иных отношениях не используемым пользователем 102). Альтернативно, хост-устройство 104 и/или целевое устройство 108 могут обуславливать такое взаимодействие на авторизации пользователя 102. В качестве первого такого примера, при обнаружении доступности 422 из ресурса 210 целевого устройства через целевое устройство 108, хост-устройство 104 может уведомлять пользователя 102 хост-устройства в отношении доступности 422 ресурса 210 целевого устройства для интеграции с вычислительным хост-окружением 106 и может ожидать запроса 202 от пользователя 102 перед инициированием предоставления в аренду ресурсов. В качестве второго такого примера, целевое устройство 108, которое управляется пользователем 102 целевого устройства, может, в ответ на прием запроса 202 на то, чтобы заимствовать ресурс 210 целевого устройства для использования посредством хост-устройства 104, представлять запрос 202 пользователю 102 целевого устройства и передавать подтверждение 204 только при приеме подтверждения запроса 202 от пользователя 102 целевого устройства.
[0062] В качестве четвертого варьирования этого второго аспекта, заимствование и предоставление в аренду ресурсов 210 целевого устройства может быть ограничено конкретными ресурсами 210 целевого устройства из набора 210 ресурсов целевого устройства. В качестве первого такого примера, целевое устройство 108 может оповещать относительно доступности 422 только выбранных ресурсов целевого устройства 210 (например, оповещать относительно доступности 422 дисплея только тогда, как он не используется пользователем 102 целевого устройства) и может считать другие ресурсы 210 целевого устройства недоступными. В качестве второго такого примера, целевое устройство 108 оповещает относительно доступности 422, по меньшей мере, двух ресурсов 210 целевого устройства, но хост-устройство 104 может запрашивать заимствование только выбранного ресурса целевого устройства (например, запрашивать то, чтобы заимствовать только мышь, но не клавиатуру). Соответственно, запрос 202 от пользователя 102 хост-устройства может указывать выбранный ресурс целевого устройства 104, который должен быть интегрирован с вычислительным хост-окружением 106, и хост-устройство 104 может передавать в целевое устройство 108 запрос 202 на то, чтобы заимствовать только выбранный ресурс целевого устройства 210 для использования в вычислительном хост-окружении 106. Целевое устройство 108 может уведомлять пользователя 102 целевого устройства в отношении выбранных ресурсов целевого устройства 210, которые запрашивает хост-устройство 104, с тем чтобы упрощать выбор пользователя.
[0063] В качестве пятого варьирования этого второго аспекта, запрос 202 хост-устройства 104 на то, чтобы заимствовать ресурс 210 целевого устройства, также может информировать целевое устройство 108 в отношении надлежащего использования ресурса 210 целевого устройства. Например, ресурс 210 целевого устройства дополнительно содержит целевой компонент представления (например, дисплей или динамики), и запрос 202 от пользователя 102 хост-устройства может указывать конкретный элемент контента, который должен представляться через целевой компонент представления цели 108 (например, конкретное изображение, видео, звукозапись, документ или веб-страницу, которую пользователь 102 хочет представлять через целевое устройство 108). Запрос 202 в силу этого может включать в себя описание элемента контента (например, текстовое описание, сводку или предварительное изображение, к примеру, миниатюрную версию изображения), который должен представляться через компонент представления целевого устройства 108, который целевое устройство 108 может представлять пользователю 102 целевого устройства для того, чтобы помогать с выбором пользователя. В качестве дополнительного варьирования, целевое устройство 108 может участвовать в предоставлении в аренду ресурса целевого устройства 108 только в течение длительности представления указанного элемента контента и затем может автоматически завершать предоставление в аренду и высвобождать резервирование ресурса 210 целевого устройства для хост-устройства 104 (например, завершать предоставление в аренду дисплея при завершении видео, для которого авторизовано предоставление в аренду).
[0064] Фиг. 6 представляет иллюстрацию примерного сценария 600, показывающую взаимодействие хост-устройства 104 и целевого устройства 108, чтобы предоставлять в аренду ресурс 210 целевого устройства для целевого устройства 108 хост-устройству 104. В этом примерном сценарии 600, пользователь 102 хост-устройства для хост-устройства 104 хочет воспроизводить элемент 602 контента (в частности, запись песни), но может не иметь подходящего оборудования на хост-устройстве 104 (например, мобильный телефон может содержать только низкокачественный динамик с низким уровнем мощности). Целевое устройство 108 может оповещать относительно доступности 422 различного ресурса 210 целевого устройства, такого как дисплей, мышь и динамики. Хост-устройство 104 может уведомлять пользователя 102 хост-устройства в отношении такой доступности 422, и пользователь 102 может инициировать запрос на то, чтобы представлять элемент 602 контента на динамиках целевого устройства 108. Хост-устройство 104 может отправлять в целевое устройство 108 запрос 202 на то, чтобы заимствовать ресурс 210 целевого устройства для использования посредством хост-устройства 104 и, в частности, для задачи рендеринга элемента 602 контента. Целевое устройство 108 может представлять запрос 202 пользователю 102 целевого устройства, который может отвечать подтверждением 204 запроса 202. Соответственно, целевое устройство 108 может резервировать ресурс 210 целевого устройства для хост-устройства 104 (например, постепенно снижать громкость для прерывания всех звуков, воспроизводимых через динамики из целевого вычислительного окружения 110) и может передавать подтверждение 204 в хост-устройство 104. Хост-устройство 104 может интегрировать динамики с вычислительным хост-окружением 106 и может инициировать рендеринг элемента 602 контента в вычислительном хост-окружении 106 (например, инициировать поток рендеринга, в общем, управляемый и доступный в вычислительном хост-окружении 106, но в котором аудиопоток также передается в целевое устройство 108 для представления через динамики). Целевое устройство 108, соответственно, может подготавливать посредством рендеринга элемент 602 контента при выполнении запроса 202. В конце рендеринга, целевое устройство 108 может автоматически завершать предоставление в аренду ресурса 210 целевого устройства, может высвобождать ресурс 210 целевого устройства обратно в целевое вычислительное окружение 110 (например, постепенно повышать громкость всех звуков, воспроизводимых через целевое вычислительное окружение 110) и может передавать уведомление 604 о завершении предоставления в аренду в хост-устройство 104, которое может отменять интеграцию ресурса 210 целевого устройства с вычислительным хост-окружением 106.
[0065] Фиг. 7 представляет иллюстрацию примерного сценария 700, показывающую другое варьирование в заимствовании ресурсов целевого устройства 108 посредством хост-устройства 104, в котором заимствование ресурсов целевого устройства 108 для использования посредством хост-устройства 104 направлено на заимствование хост-устройства 104 вторым пользователем 102. В этом примерном сценарии 700, первый пользователь 102, который осуществляет доступ к вычислительному хост-окружению 702, хочет обеспечивать возможность второму пользователю 102 заимствовать и осуществлять доступ к хост-устройству 104 без прерывания взаимодействия первого пользователя с вычислительным хост-окружением 702. Соответственно, первый пользователь 102 может заимствовать ресурсы целевого устройства 108 и может передавать вычислительное хост-окружение в целевое устройство 108. Дополнительно, хост-устройство 102 может представлять второму пользователю 102 курируемое вычислительное окружение 704 (например, вычислительное окружение, которое ограничено использованием, на предмет которого второй пользователь 102 запрашивает использовать хост-устройство 104, к примеру, изолированный веб-обозреватель, представление только конкретного элемента контента или выполнение только конкретного приложения на хост-устройстве 104). Второй пользователь 102 в силу этого может взаимодействовать с курируемым вычислительным окружением 704 на хост-устройстве 104 в то время, когда первый пользователь 102 продолжает осуществлять доступ к вычислительному хост-окружению 106 через целевое устройство 108. Хост-устройство 104 и целевое устройство 108 могут использовать множество таких варьирований при предоставлении в аренду ресурса 210 целевого устройства хост-устройству 104 в соответствии с технологиями, представленными в данном документе.
[0066] E3. Интеграция ресурсов целевого устройства с вычислительным хост-окружением
[0067] Третий аспект, который может варьироваться между вариантами осуществления технологий, представленных в данном документе, заключает в себе способ интегрирования ресурса 210 целевого устройства с вычислительным хост-окружением 106 хост-устройства 104.
[0068] В качестве первого варьирования этого третьего аспекта, целевое устройство 108 может исключительно резервировать ресурс 210 целевого устройства для хост-устройства 104 и может удалять ресурс 210 целевого устройства из целевого вычислительного окружения 110 или помечать ресурс 210 целевого устройства как недоступный в целевом вычислительном окружении 110. Альтернативно, целевое устройство 108 может неисключительно резервировать ресурс 210 целевого устройства, например, посредством совместного использования ресурса 210 целевого устройства хост-устройством 104 и целевым устройством 108. В качестве одного такого примера, целевое устройство 108 может устанавливать критерии совместного использования для совместного использования ресурса 210 целевого устройства с хост-устройством 104, например, направлять целевой пользовательский ввод 134 в целевое вычислительное окружение 110 в некоторых случаях и в вычислительное хост-окружение 110 в других ситуациях. В качестве еще одной другой альтернативы, целевое вычислительное окружение 110 может открывать для доступа ресурс 210 целевого устройства идентично хост-устройству 104 и целевому вычислительному окружению 110, например, зеркалировать ввод и/или вывод в обоих вычислительных окружениях.
[0069] Фиг. 8 представляет иллюстрацию второго варьирования этого третьего аспекта, в котором ресурс 210 целевого устройства дополнительно содержит целевой компонент представления, и хост-устройство 104 интегрирует ресурс 210 целевого устройства с вычислительным хост-окружением 106 посредством позиционирования целевого компонента представления относительно одного или более хост-компонентов представления в компоновке компонентов представления. В этом примерном сценарии 800, целевое устройство 108 предоставляет в аренду целевой дисплей 806 и целевой пользовательский ввод 134 хост-устройству 104, и хост-устройство 104 интегрирует и целевой дисплей 806 и целевой пользовательский ввод 134 с вычислительным хост-окружением 106. В частности, вычислительное хост-окружение 106 позиционирует целевой дисплей 806 в компоновке 802 дисплеев, например, на расширенном рабочем столе, относительно хост-дисплеев 804, которые непосредственно соединяются с хост-устройством 104. Целевой пользовательский ввод 134, предоставленный посредством целевого устройства 108, также может охватывать дисплеи компоновки 802 дисплеев; например, целевое устройство 108 может передавать целевой пользовательский ввод 134 в хост-устройство 104, которое может применять целевой пользовательский ввод 134 в вычислительном хост-окружении 106. Хост-устройство 104 затем может передавать контент 808 для отображения в целевое устройство 108, которое может представлять контент 808 для отображения на целевом дисплее 806. Таким образом, целевой дисплей 806 может быть интегрирован с хост-дисплеями 804 хост-устройства 104 в компоновке 802 дисплеев вычислительного хост-окружения 106. В качестве другого такого примера, схема размещения динамиков может заключать в себе назначаемые позиции и/или роли динамиков в аудиоокружении (например, динамика левого канала, динамика правого канала и динамика центрального канала), и вычислительное хост-окружение 106 может позиционировать динамик целевого устройства 108 относительно других динамиков хост-устройства 104 в аудиоокружении.
[0070] В качестве третьего варьирования этого третьего аспекта, хост-устройство 104, в контексте интегрирования ресурса 210 целевого устройства для целевого устройства 108 с вычислительным хост-окружением 106 хост-устройства 104, может, по сути, совместно использовать некоторые ресурсы хост-устройства с целевым устройством 108. В качестве одного такого примера, ресурс 210 целевого устройства дополнительно может содержать целевой компонент представления, на котором хост-устройство 104 пытается подготавливать посредством рендеринга элемент контента, который является доступным по сети. В некоторых таких сценариях, хост-устройство 104 может запрашивать целевое устройство 108, чтобы извлекать элемент контента из сети для представления, но этот запрос может использовать целевые сетевые ресурсы целевого устройства 108. В технологиях, представленных в данном документе, хост-устройство 104 вместо этого может извлекать элемент контента по сетевому хост-ресурсу и передавать его в целевое устройство 108 для представления через целевой компонент представления. Этот пример может напоминать "обратное совместное использование Интернет-соединения", в котором хост-устройство 104, вместо запроса на использование целевых сетевых ресурсов целевого устройства 108, на самом деле использует свои сетевые хост-ресурсы для того, чтобы упрощать взаимодействие с целевым устройством 108.
[0071] В качестве четвертого варьирования этого третьего аспекта, в котором ресурс 210 целевого устройства дополнительно содержит целевой компонент представления, хост-устройство 104 может интегрировать целевой компонент представления посредством передачи, по меньшей мере, части вычислительного хост-окружения 106 в целевое устройство 108 для представления через целевой компонент представления. Например, хост-устройство 104 может передавать полный рендеринг вычислительного хост-окружения 106 или только его части, к примеру, окна конкретного приложения или области хост-дисплея, в которой отображается элемент контента. Система целевого устройства 108 дополнительно может включать в себя модуль представления хост-окружения, который, в ответ на прием, по меньшей мере, части вычислительного хост-окружения 106 из хост-устройства 104, представляет вычислительное хост-окружение 106 через целевой компонент представления.
[0072] Дополнительные варьирования этого третьего аспекта заключают в себе способ, которым целевое устройство 108 адаптирует целевое вычислительное окружение 110 при представлении, по меньшей мере, части вычислительного хост-окружения 106.
[0073] Фиг. 9 представляет иллюстрацию примерного сценария 900, показывающую пятое варьирование этого третьего аспекта, в котором целевое устройство 108 приостанавливает представление целевого вычислительного окружения 110 на целевом устройстве 106 в ходе представления вычислительного хост-окружения 106. В этом примерном сценарии 900, в первое время 908, целевое устройство 108 представляет целевое вычислительное окружение 110 в рабочем состоянии 902 через целевой компонент представления. Во второе время 910, целевое устройство 108 может принимать запрос 202 из хост-устройства 104 на то, чтобы заимствовать целевой компонент представления для использования посредством хост-устройства 104, чтобы представлять вычислительное хост-окружение 106. Целевое устройство 108 в силу этого может инициировать приостановку 106 целевого вычислительного окружения 110 на целевом компоненте представления и затем может резервировать целевой компонент представления для представления вычислительного хост-окружения 106. В третье время 912, при обнаружении завершения представления вычислительного хост-окружения 208 (например, разъединения хост-устройства 104 от целевого устройства 108), целевое устройство 108 может инициировать возобновление 906 целевого вычислительного окружения 110 на целевом компоненте представления. Эта приостановка целевого вычислительного окружения 110 при представлении вычислительного хост-окружения 106 может быть преимущественной, например, для изоляции целевого вычислительного окружения 110 от вычислительного хост-окружения 106 в качестве признака безопасности, а также способствовать производительности представления вычислительного хост-окружения 106 на целевом устройстве 108. В качестве одного такого примера, если целевое устройство 108 содержит ограниченные вычислительные ресурсы, к примеру, мобильный процессор с низким уровнем мощности и ограниченный объем запоминающего устройства, приостановка целевого вычислительного окружения 110 может обеспечивать возможность целевому устройству 108 максимизировать выделение вычислительных ресурсов для представления вычислительного хост-окружения 106, чтобы предоставлять быстро реагирующее взаимодействие с пользователем с низкой задержкой.
[0074] Фиг. 10 представляет иллюстрацию примерного сценария 1000, показывающую шестое варьирование этого третьего аспекта, в котором целевое устройство 108 не приостанавливает целевое вычислительное окружение 110, а продолжает представление целевого вычислительного окружения 110 одновременно с вычислительным хост-окружением 106. В этом примерном сценарии 1000, хост-устройство 104 запрашивает целевое устройство 108 на то, чтобы заимствовать целевой дисплей 806 для представления вычислительного хост-окружения 106, а также передачи целевого пользовательского ввода 134, предоставленного через компонент ввода целевого устройства 108. Соответственно, целевое устройство 108 может резервировать первый целевой дисплей 806 и компонент ввода для целевого пользовательского ввода 134 и может передавать целевой пользовательский ввод 134 в хост-устройство 104, которое может применять его к вычислительному хост-окружению 106 вместе с целевым пользовательским вводом 134. Хост-устройство 104 затем может передавать контент для отображения 1002 для первого целевого дисплея 806 в целевое устройство 108, и целевое устройство 108 может представлять контент для отображения 1002 на целевом дисплее 806. Таким образом, хост-устройство 104 обеспечивает интеграцию целевого пользовательского ввода 134 и первого целевого дисплея 806 в вычислительном хост-окружении 106 и обеспечивает возможность пользователю целевого устройства и пользователю хост-устройства использовать вычислительное хост-окружение 106 совместно посредством предоставления пользовательского ввода через различные устройства. Тем не менее, целевое устройство 108 также продолжает представлять целевое вычислительное окружение 110 на втором целевом дисплее 806 одновременно с представлением вычислительного хост-окружения 107 на первом целевом дисплее 806 и обеспечивает возможность применения части ввода 134 целевого устройства к целевому вычислительному окружению 110 и отображения на втором целевом дисплее 806, за счет этого совместно используя ресурс 210 целевого устройства между вычислительным хост-окружением 106 и целевым вычислительным окружением 110. В этом примерном сценарии 90, в то время когда хост-устройство 104 неявно передает пользовательский хост-ввод 218 обратно в целевое устройство 108 как представлено в контенте для отображения 1002 из вычислительного хост-окружения 106, модель ограничивает 1006 включение приложения пользовательского хост-ввода 218 в целевое вычислительное окружение 110. Таким образом, модель предоставляет параллельное выполнение целевого вычислительного окружения 110 и представление вычислительного хост-окружения 106 на первом целевом дисплее 806 при принудительной изоляции 1004 целевого вычислительного окружения 110 от пользовательского хост-ввода 218. Множество таких сценариев могут обеспечивать интеграцию ресурсов 210 целевого устройства для целевого устройства 108 с вычислительным хост-окружением 106 в соответствии с технологиями, представленными в данном документе.
[0075] F. Вычислительное окружение
[0076] Фиг. 11 и нижеприведенное пояснение предоставляют краткое общее описание подходящего вычислительного окружения для того, чтобы реализовывать варианты осуществления одного или более положений, изложенных в данном документе. Операционное окружение по фиг. 11 является только одним примером подходящего операционного окружения и не имеет намерение налагать какие-либо ограничения в отношении объема использования или функциональности операционного окружения. Примерные вычислительные устройства включают в себя, но не только, персональные компьютеры, серверные компьютеры, карманные или переносные устройства, мобильные устройства (к примеру, мобильные телефоны, персональные цифровые устройства (PDA), мультимедийные проигрыватели и т.п.), многопроцессорные системы, бытовую электронную аппаратуру, мини-компьютеры, мэйнфреймы, распределенные вычислительные окружения, которые включают в себя любую из вышеуказанных систем или устройств, и т.п.
[0077] Хотя необязательно, варианты осуществления описываются в общем контексте "машиночитаемых инструкций", выполняемых посредством одного или более вычислительных устройств. Машиночитаемые инструкции могут распространяться через машиночитаемые носители (пояснены ниже). Машиночитаемые инструкции могут быть реализованы как программные модули, к примеру, функции, объекты, интерфейсы прикладного программирования (API), структуры данных и т.п., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Типично, функциональность машиночитаемых инструкций может быть комбинирована или распределена требуемым образом в различных окружениях.
[0078] Фиг. 11 иллюстрирует пример системы 1100, содержащей вычислительное устройство 1102, выполненное с возможностью реализовывать один или более вариантов осуществления, предусмотренных в данном документе. В одной конфигурации, вычислительное устройство 1102 включает в себя, по меньшей мере, один процессор 1106 и запоминающее устройство 1108. В зависимости от точной конфигурации и типа вычислительного устройства, запоминающее устройство 1108 может быть энергозависимым (таким как, например, RAM), энергонезависимым (таким как, например, ROM, флэш-память и т.д.) или некоторой комбинацией означенного. Эта конфигурация проиллюстрирована на фиг. 11 посредством пунктирной линии 1104.
[0079] В других вариантах осуществления, устройство 1102 может включать в себя дополнительные признаки и/или функциональность. Например, устройство 1102 также может включать в себя дополнительное устройство хранения данных (например, съемное и/или стационарное), включающее в себя, но не только, магнитное устройство хранения данных, оптическое устройство хранения данных и т.п. Такое дополнительное устройство хранения данных проиллюстрировано на фиг. 11 посредством устройства 1110 хранения данных. В одном варианте осуществления, машиночитаемые инструкции для того, чтобы реализовывать один или более вариантов осуществления, предусмотренных в данном документе, могут содержаться в устройстве 1110 хранения данных. Устройство 1110 хранения данных также может сохранять другие машиночитаемые инструкции для того, чтобы реализовывать операционную систему, прикладную программу и т.п. Машиночитаемые инструкции могут загружаться в запоминающее устройство 1108, например, для выполнения посредством процессора 1106.
[0080] Термин "машиночитаемые носители" при использовании в данном документе включает в себя машиночитаемые запоминающие устройства, которые исключают другие формы машиночитаемых носителей, содержащих среды связи, такие как сигналы. Такие машиночитаемые запоминающие устройства могут быть энергозависимыми и/или энергонезависимыми, съемными и/или стационарными и могут заключать в себе различные типы физических устройств, сохраняющих машиночитаемые инструкции или другие данные. Запоминающее устройство 1108 и устройство 1110 хранения данных являются примерами компьютерных носителей хранения данных. Компьютерные устройства хранения данных включают в себя, но не только, RAM, ROM, EEPROM, флэш-память или другую технологию запоминающих устройств, CD-ROM, универсальные цифровые диски (DVD) или другое оптическое устройство хранения данных, магнитные кассеты, магнитную ленту и устройство хранения данных на магнитных дисках либо другие магнитные устройства хранения данных.
[0081] Устройство 1102 также может включать в себя соединение(я) 1116 связи, которое обеспечивает возможность устройству 1102 обмениваться данными с другими устройствами. Соединение(я) 1116 связи может включать в себя, но не только, модем, сетевую интерфейсную плату (NIC), интегрированный сетевой интерфейс, радиочастотное приемо-передающее устройство, инфракрасный порт, USB-соединение или другие интерфейсы для соединения вычислительного устройства 1102 с другими вычислительными устройствами. Соединение(я) 1116 связи может включать в себя проводное соединение или беспроводное соединение. Соединение(я) 1116 связи может передавать и/или принимать среды связи.
[0082] Термин "машиночитаемые носители" может включать в себя среды связи. Среды связи типично осуществляют машиночитаемые инструкции или другие данные в "модулированном сигнале данных", таком как несущая или другой транспортный механизм, и включают в себя любые среды доставки информации. Термин "модулированный сигнал данных" может включать в себя сигнал, который имеет одну или более характеристик, заданных или измененных таким образом, чтобы кодировать информацию в сигнале.
[0083] Устройство 1102 может включать в себя устройство(а) 1114 ввода, такое как клавиатура, мышь, перо, устройство речевого ввода, устройство сенсорного ввода, камеры для съемки в инфракрасном диапазоне, устройства видеоввода и/или любое другое устройство ввода. Устройство(а) 1112 вывода, такое как один или более дисплеев, динамиков, принтеров и/или любое другое устройство вывода, также может быть включено в устройство 1102. Устройство(а) 1114 ввода и устройство(а) 1112 вывода могут соединяться с устройством 1102 через проводное соединение, беспроводное соединение или любую комбинацию вышеозначенного. В одном варианте осуществления, устройство ввода или устройство вывода из другого вычислительного устройства могут использоваться в качестве устройств 1114 ввода или устройств 1112 вывода для вычислительного устройства 1102.
[0084] Компоненты вычислительного устройства 1102 могут быть соединены посредством различных межкомпонентных соединений, таких как шина. Такие межкомпонентные соединения могут включать в себя стандарт взаимодействия периферийных компонентов (PCI), к примеру, стандарт PCI Express, универсальную последовательную шину (USB), стандарт Firewire (IEEE 1394), оптическую шинную структуру и т.п. В другом варианте осуществления, компоненты вычислительного устройства 1102 могут соединяться посредством сети. Например, запоминающее устройство 1108 может состоять из нескольких физических запоминающих устройств, расположенных в различных физических местоположениях, соединенных посредством сети.
[0085] Специалисты в данной области техники должны признавать, что устройства хранения данных, используемые для того, чтобы сохранять машиночитаемые инструкции, могут быть распределены в сети. Например, вычислительное устройство 920, доступное через сеть 1118, может сохранять машиночитаемые инструкции, чтобы реализовывать один или более вариантов осуществления, предусмотренных в данном документе. Вычислительное устройство 1102 может осуществлять доступ к вычислительному устройству 1120 и загружать часть или все машиночитаемые инструкции для выполнения. Альтернативно, вычислительное устройство 1102 может загружать фрагменты машиночитаемых инструкций по мере необходимости, или некоторые инструкции могут быть выполнены в вычислительном устройстве 1102, а некоторые - в вычислительном устройстве 1120.
[0086] G. Использование терминов
[0087] Хотя объект изобретения описан на языке, характерном для структурных признаков и/или технологических этапов, следует понимать, что предмет изобретения, заданный в прилагаемой формуле изобретения, не обязательно ограничен характерными признаками или этапами, описанными выше. Вместо этого, характерные признаки и этапы, описанные выше, раскрываются как примерные формы реализации формулы изобретения.
[0088] При использовании в данной заявке термины "компонент", "модуль", "система", "интерфейс" и т.п. имеют намерение, в общем, ссылаться на связанный с компьютером объект, будь то аппаратные средства, комбинация аппаратных средств и программного обеспечения, программное обеспечение или программное обеспечение в ходе выполнения. Например, компонент может представлять собой, но не только, процесс, запущенный в процессоре, процессор, объект, исполняемый файл, поток исполнения, программу и/или компьютер. В качестве иллюстрации, как приложение, выполняемое на контроллере, так и контроллер могут представлять собой компонент. Один или более компонентов могут постоянно размещаться внутри процесса и/или потока исполнения, и компонент может быть локализован на компьютере и/или распределен между двумя и более компьютеров.
[0089] Дополнительно, заявленный объект изобретения может быть реализован в виде способа, устройства или изделия с использованием стандартных технологий программирования и/или проектирования, чтобы создавать программное обеспечение, микропрограммное обеспечение, аппаратные средства или любую комбинацию означенного, чтобы управлять компьютером для реализации раскрытого предмета изобретения. Термин "изделие" при использовании в данном документе имеет намерение содержать в себе компьютерную программу, доступную из любого машиночитаемого устройства, носителя или среды. Конечно, специалисты в данной области техники должны признавать, что множество модификаций может вноситься в эту конфигурацию без отступления от объема и сущности заявленного предмета изобретения.
[0090] В данном документе предоставляются различные операции вариантов осуществления. В одном варианте осуществления, одна или более описанных операций могут составлять машиночитаемые инструкции, сохраненные на одном или более машиночитаемых носителей, которые, при выполнении посредством вычислительного устройства, инструктируют вычислительному устройству выполнять описанные операции. Порядок, в котором описываются некоторые или все операции, не должен истолковываться как подразумевающий то, что эти операции обязательно являются зависимыми от порядка. Альтернативное упорядочение должно приниматься во внимание специалистами в данной области техники с учетом преимущества этого описания. Дополнительно, следует понимать, что не все операции обязательно присутствуют в каждом варианте осуществления, предусмотренном в данном документе.
[0091] Аспекты или проектные решения, описанные в данном документе как "примерные", не обязательно должны истолковываться как преимущественные в сравнении с другими аспектами или проектными решениями. Наоборот, использование слова "примерный" имеет намерение представлять один возможный аспект и/или реализацию, которая может быть связана с технологиями, представленными в данном документе. Такие примеры не являются обязательными для таких технологий или не имеют намерение быть ограничивающими. Различные варианты осуществления таких технологий могут включать в себя такой пример, автономно или в комбинации с другими признаками, и/или могут варьировать и/или опускать проиллюстрированный пример.
[0092] При использовании в данной заявке термин "или" имеет намерение означать включающее "или", а не исключающее "или". Таким образом, если не указано иное или не очевидно из контекста, "X использует A или B" имеет намерение означать любую из естественных включающих перестановок. Иными словами, если X использует A; X использует B; или X использует и A, и B, то "X использует A или B" удовлетворяется в любом из вышеуказанных случаев. Помимо этого, артикли "a" и "an" при использовании в данной заявке и в прилагаемой формуле изобретения, в общем, могут истолковываться таким образом, что они означают "один или более", если иное не указано, или не очевидно из контекста, что направлено на форму единственного числа.
[0093] Кроме того, хотя раскрытие сущности показано и описано относительно одной или более реализаций, эквивалентные изменения и модификации должны быть очевидными для специалистов в данной области техники на основе прочтения и понимания этого подробного описания и прилагаемых чертежей. Раскрытие сущности включает в себя все такие модификации и изменения и ограничивается только посредством объема прилагаемой формулы изобретения. В конкретном отношении к различным функциям, выполняемым посредством вышеописанных компонентов (например, элементов, ресурсов и т.д.), термины, используемые для того, чтобы описывать такие компоненты, имеют намерение соответствовать, если не указано иное, любому компоненту, который выполняет указанную функцию описанного компонента (например, который является функционально эквивалентным), даже если не является структурно эквивалентным раскрытой структуре, которая выполняет функцию в проиллюстрированных в данном документе примерных реализациях раскрытия сущности. Помимо этого, хотя конкретный признак раскрытия сущности, возможно, раскрыт относительно только одной из нескольких реализаций, этот признак может комбинироваться с одним или более признаков других реализаций, что может быть желательным и предпочтительным для любого данного или конкретного варианта применения. Более того, в рамках, в которых термины "включает в себя", "имеющий", "имеет", "с" или их варианты используются либо в подробном описании, либо в формуле изобретения, эти термины должны быть включающими способом, аналогичным термину "содержащий".