СИСТЕМЫ И СПОСОБЫ ДЛЯ ПРОЕЦИРОВАНИЯ СОДЕРЖИМОГО С КОМПЬЮТЕРНЫХ УСТРОЙСТВ
SYSTEM AND METHODS OF PROJECTING CONTENT FROM COMPUTER DEVICES

Ссылки на связанные заявки
Настоящая заявка заявляет приоритет предварительной патентной заявки США №60/514338 (MSFT-2843/300525.01), поданной 24 октября 2003, на «Системы и способы для проецирования содержимого с вычислительных устройств». Настоящая заявка связана с совместно переуступленной одновременно находящейся на рассмотрении патентной заявкой США №XX/YYY,YYY (MSFT-3501/300585.03), поданной 25 февраля 2004, озаглавленной «Системы и способы для проецирования содержимого с вычислительных устройств», с патентной заявкой США №10/179431, поданной 25 июня 2002, озаглавленной «Система и способ проецирования данных», и патентной заявкой США №10/692,384, поданной 23 октября 2003, озаглавленной «Система и способ проецирования по методу "один - множество".
Уведомление об авторском праве и разрешении
Часть раскрытия данного патентного документа может содержать материал, который является объектом охраны авторским правом. Владелец авторского права не возражает против факсимильного воспроизведения любым лицом патентного документа или патентного раскрытия в том виде, как оно будет представлено в файлах или документах Ведомства США по патентам и товарным знакам, но сохраняет за собой все остальные авторские права. Следующее уведомление должно применяться к данному документу: Copyright © 2003, Microsoft Corp.
Область техники
Настоящее изобретение относится к системам, способам и пользовательским интерфейсам для обеспечения беспроводного проецирования содержимого с вычислительного устройства на альтернативное устройство отображения, например проектор.
Предшествующий уровень техники
Персональные компьютеры и переносные/мобильные вычислительные устройства, такие как портативные компьютеры, планшетные компьютеры, ноутбуки, суб-ноутбуки и карманные вычислительные устройства и т.д., а также другие современные и перспективные варианты переносных/мобильных вычислительных устройств иногда используются для того, чтобы передавать содержимое на устройства третьей стороны для обработки или визуализации. Такие переносные или мобильные вычислительные устройства будут упоминаться в настоящем описании просто как «мобильные вычислительные устройства» или «мобильные устройства» без ограничения. Например, мобильные устройства могут быть использованы в ситуациях, например, на совещаниях, для отображения презентации на дисплее, например на поверхности крупноформатного экрана, например, проектора или монитора в среде проведения совещания. В настоящее время, когда возникает такая ситуация, пользователи, выполняющие презентацию с использованием мобильного компьютера, физически соединяют переносной/мобильный компьютер посредством кабеля с проектором или промежуточной электронной системой, которая управляет проектором. Однако пользователи портативного компьютера, желающие выполнять презентацию в помещении для конференций, должны сидеть рядом с устройством управления проектором и менять адаптер видеографики (VGA) и, возможно, также аудиокабели для проведения презентации. Шнур обычно не достаточно длинный и между каждой презентацией вызывает эффект, подобный настройке на концерте, когда люди перемещаются кругом, уступая место соответствующему выступающему, достаточное для включения его портативного компьютера. Затем пользователь должен настраивать разрешение экрана и/или выполнять аудионастройки всякий раз, когда новый выступающий принимает на себя управление дисплеем проектора. Кроме того, пользователи в идеальном случае желают проецировать свой отображаемый материал не только на проектор в конференц-зале, но и на портативные компьютеры участников, присутствующих в конференц-зале.
Однако необходимость физически соединять кабель является нежелательной по ряду причин. Во-первых, это требует, чтобы пользователь с мобильным вычислительным устройством знал, что мобильное вычислительное устройство можно подсоединить, а также каким образом его можно подсоединить, то есть знал, что его мобильное вычислительное устройство содержит разъем или порт для приема кабеля проектора и что такое соединение плюс некоторая комбинация малопонятных нажатий клавиш (например, функциональная клавиша плюс клавиша F5) переключает выход переносного или мобильного вычислительного устройства с обычного дисплея этого мобильного вычислительного устройства на этот порт. Во-вторых, каждый раз, когда один или более физических этапов вводятся в вычислительный процесс, время, требуемое для завершения процесса, возрастает. Например, пользователь должен поднести вычислительное устройство к кабелю, соединить кабель, закрепить соединение, чтобы не произошло случайного отсоединения. Кроме того, поскольку компоненты разъемного соединения являются физическими компонентами, они подвергаются неправильному обращению и как обычно изнашиваются. Например, часто выводы разъема могут быть отогнуты, повреждены, испытывать усталость металла и т.д., и в этих случаях компоненты разъемного соединения не могут функционировать надлежащим образом.
Кроме того, содержимое/данные, которые в конечном счете посылаются в проектор, не могут одновременно просматриваться на компьютерах участников совещания. Хотя беспроводная технология быстро наращивает темпы развития на рынке, в настоящее время нет общего механизма для приема беспроводных данных устройством отображения, таким как проектор. Кроме того, нет общего механизма для мобильного устройства, чтобы беспроводным способом передавать содержимое на устройство отображения, такое как проектор. Кроме того, нет общего механизма для вычислительных устройств третьей стороны, чтобы принимать содержимое.
Соответственно, в технике имеется потребность в дополнении беспроводной технологии к проекторам, чтобы обеспечить легкий доступ для мобильных пользователей, позволяющий собрать вместе множество мобильных пользователей в одном помещении для совещаний, предполагающих совместную работу, и обеспечивающий прямое соединение в условиях, когда применение проводов является непрактичным. Кроме того, в технике имеется потребность в решении вопросов, связанных с кабельной разводкой, обеспечением большей простоты и порядка в установке проекторов, без ухудшения сигнала при передаче на большие расстояния. Кроме того, в технике имеется потребность в переключении между множеством мобильных устройств-источников, например, если множество людей выполняют презентации со своих мобильных устройств. Также было бы желательным обеспечить механизм и соответствующий пользовательский интерфейс, позволяющий пользователям находить доступные беспроводные проекторы или другие компьютеры, менять или разрешать их настройки и доставлять на них соответствующее содержимое. Аналогичным образом, на приемной стороне было бы желательно включить механизм и соответствующий пользовательский интерфейс для пользователей других компьютеров для приема «спроецированного» содержимого/данных от мобильного компьютера-источника.
Сущность изобретения
Принимая во внимание вышеуказанные недостатки предшествующего уровня техники, настоящее изобретение обеспечивает системы и способы, которые позволяют альтернативному устройству отображения беспроводным способом принимать содержимое от вычислительного устройства, освобождая пользователей от забот, связанных с физическим соединением вычислительного устройства посредством кабеля. В другом аспекте, содержимое, которое может быть послано на устройство отображения, может одновременно или по отдельности просматриваться на данных вычислительных устройствах или других ближайших вычислительных устройствах. В различных вариантах осуществления изобретение включает в себя общий(ие) механизм(ы) и соответствующие пользовательские интерфейсы для вычислительных устройств, чтобы участвовать в обнаружении устройств, на которые может быть доставлено содержимое, для приема доставленного содержимого соответствующим образом и для инициирования передачи содержимого.
Другие преимущества и признаки изобретения описаны ниже.
Краткое описание чертежей
Системы и способы для беспроводного проецирования содержимого в соответствии с настоящим изобретением описаны ниже со ссылками на чертежи, на которых представлено следующее:
фиг.1 - примерная блок-схема, иллюстрирующая типовой сценарий из предшествующего уровня техники;
фиг.2А - блок-схема, представляющая примерную сетевую среду, имеющую множество вычислительных устройств, в которой может быть реализовано изобретение;
фиг.2В и 2С - блок-схемы неограничительных примеров вычислительных устройств, в которых может быть реализовано настоящее изобретение;
фиг.3 - примерная последовательность запуска приложения беспроводного проецирования в соответствии с изобретением;
фиг.4А и 4В - примерная архитектура, используемая в связи с настоящим изобретением;
фиг.5 - примерная блок-схема алгоритма, относящегося к процессу соединения с альтернативным устройством отображения;
фиг.6 - примерная блок-схема алгоритма, относящаяся к процессу управления альтернативным устройством отображения;
фиг.7А-7Н - примерные неограничительные экранные изображения различных сценариев пользовательского интерфейса в соответствии с изобретением;
фиг.8А-8С - примерные неограничительные экранные изображения различных сценариев, иллюстрирующие различие между общедоступным и частным содержимым в соответствии с изобретением.
Детальное описание изобретения
Обзор
Изобретение направлено на системы и способы, которые позволяют устройству отображения, такому как проектор или монитор с большим дисплеем, беспроводным способом принимать содержимое от вычислительного устройства, освобождая пользователей от забот, связанных с физическим соединением вычислительного устройства посредством кабеля. В другом аспекте, содержимое, которое может быть послано на устройство отображения, может одновременно или по отдельности просматриваться на данных вычислительных устройствах или других ближайших вычислительных устройствах. В различных вариантах осуществления изобретения проектор снабжен беспроводными функциональными средствами, позволяющими вычислительным устройствам беспроводным способом посылать содержимое по очереди на проектор, например, для использования на совместных совещаниях и в презентациях на конференциях. Поскольку вопросы кабельной разводки сняты, проектор легче устанавливается, отсутствует ухудшение качества содержимого при передаче на значительные расстояния и облегчается переключение между множеством вычислительных устройств-источников. Соответственно, презентаторы содержимого могут быть более мобильными в рамках средств сигнализации беспроводных технологий, не будучи привязанными к конкретным физическим местоположениям, таким как «рядом с проектором» или «рядом с настенной розеткой».
Определения
Следующие определения должны рассматриваться как помощь в рассмотрении одного или более терминов, используемых в настоящем документе, но не предусмотрены для ограничения более широких значений любого из терминов, как понимается специалистами в данной области техники.
Wi-Fi - Wireless Fidelity (точность воспроизведения по беспроводной технологии): технология Wi-Fi обеспечивает организацию сети с использованием технологии радиосвязи. Сети Wi-Fi работают в нелицензированных полосах радиосвязи от 2,4 до 5 ГГц, что обеспечивает возможность передачи данных со скоростью 11 Мб/с, но обычно используется скорость 7 Мб/с для реальной пропускной способности канала передачи данных. Это обеспечивает рабочие характеристики, подобные соответствующим характеристикам базовых сетей Ethernet на основе проводных 10 Base-T каналов, используемых на многих предприятиях. Альтернативные устройства воспроизведения, соответствующие изобретению, включают, без ограничения указанным, технологию Wi-Fi 802.11b, являющуюся наиболее общепринятой формой беспроводной связи в проекционной и компьютерной отрасли.
Взаимодействие равноправных узлов (peer-to-peer) (Ad Hoc): беспроводная конфигурация, в которой один или более компьютеров могут совместно использовать проектор, оснащенный такими же беспроводными средствами. Взаимодействие равноправных узлов означает, что каждый пользователь проектора имеет одинаковые возможности и каждый пользователь может инициировать сеанс связи с проектором (или теоретически друг с другом). Термин «Ad hoc» означает на латыни «для этого» или «только для этой цели», подразумевая временную или спонтанную конфигурацию, как это имеет место в случае мобильных беспроводных компьютеров, которые появляются в помещении, где происходит презентация, и удаляются из него. Такая конфигурация обеспечивает возможность равного доступа для всех пользователей, и таким образом возможны совещания с совместным участием или совместно проводимые презентации.
Альтернативное устройство отображения или проекционное устройство: проекционное устройство использует как Терминальные Сервисы, так и протокол UPnP. Это устройство предоставляет методы, которые устройство MRM использует для управления данным устройством и для установления соединения посредством Терминальных Сервисов. Это может быть реальный проектор или другое устройство, например переносной компьютер, подключенный к проектору.
RA: Дистанционная Поддержка.
TS (Терминальные Сервисы): Терминальные Сервисы отвечают за протокол, используемый для формирования потока данных экранного изображения пользователя.
Пункт управления и назначения функции ведущего устройства UPnP (The Universal Plug and Play («включай и работай»)): протокол, используемый для обнаружения устройства. Кроме того, устройство назначается ведущим в рамках сервиса назначения функции ведущего устройства по протоколу UPnP.
RDP Salem-уровень: RDP Salem-уровень понимает «паспорта» Дистанционной Поддержки, используемые для установления соединения.
Salem-уровень для TS: Salem-уровень является текущим уровнем генерации паспортов для Дистанционной Поддержки.
Примерные сетевые и распределенные среды
Специалисту в данной области техники должно быть ясно, что изобретение может быть реализовано во взаимосвязи с любым компьютером или иным клиентским или серверным устройством, которое может быть установлено как часть компьютерной сети, или в распределенной вычислительной среде. В этом отношении настоящее изобретение относится к любой компьютерной системе или среде, имеющей любое число блоков памяти или хранилищ и любое число приложений и процессов, реализуемых на любом числе хранилищ или емкости памяти, которые могут быть использованы во взаимосвязи с беспроводной передачей содержимого в соответствии с настоящим изобретением. Настоящее изобретение может применяться к любой среде с серверными компьютерами и клиентскими компьютерами, развернутыми в сетевой среде или в распределенной вычислительной среде, имеющей удаленное или локальное хранилище. Настоящее изобретение также применимо к автономным вычислительным устройствам, имеющим функциональные средства языка программирования, интерпретации и исполнения для генерации, приема и передачи информации в связи с удаленными или локальными услугами. В условиях, когда сетевые ресурсы для цифровых сред передачи распространяются в большей степени, чем когда-либо, изобретение особенно релевантно для таких вычислительных устройств, работающих в сети или в распределенной вычислительной среде, и поэтому методы передачи в соответствии с настоящим изобретением могут быть применены с высокой эффективностью в таких средах.
Распределенные вычисления обеспечивают совместное использование компьютерными ресурсами и услугами путем обмена между вычислительными устройствами и системами. Эти ресурсы и системы включают в себя обмен информацией, кэш-память и память на диске для файлов. Распределенное вычисление использует преимущества сетевой связности, позволяющей клиентам выравнивать их совместную производительность и память с пользой для всего предприятия. В этом отношении различные устройства могут иметь приложения, объекты или ресурсы, которые могут заключать в себе способность беспроводного проецирования содержимого в соответствии с изобретением.
На фиг.2А представлена схема примерной сетевой или распределенной вычислительной среды. Распределенная вычислительная среда содержит вычислительные объекты 10а, 10b и т.д. и вычислительные объекты или устройства 110а, 110b, 110с и т.д. Эти объекты могут включать в себя программы, методы, хранилища данных, программируемую логику и т.д. Объекты могут содержать части одного или различных устройств, таких как PDA (персональный цифровой помощник), аудио/видеоустройства, устройства воспроизведения стандарта MP3, персональные компьютеры и т.д. Каждый объект может осуществлять связь с другим объектом посредством коммуникационной сети 14. Эта сеть сама может содержать другие вычислительные объекты и вычислительные устройства, которые обеспечивают услуги для системы по фиг.2А, и может сама представлять множество взаимосвязанных сетей. В соответствии с одним из аспектов изобретения каждый из объектов 10а, 10b и т.д. или 110а, 110b, 110с и т.д. может содержать приложение, которое может использовать интерфейс, такой как интерфейс программирования приложений (API) или другой объект, программное обеспечение, программно-аппаратные и/или аппаратные средства, для запроса или использования процессов беспроводного проецирования содержимого в соответствии с изобретением.
Также понятно, что каждый из объектов, например, 110с может находиться на другом вычислительном устройстве в качестве ведущего устройства 10а, 10b и т.д. или 110а, 110b, 110с и т.д. Таким образом, хотя показанная физическая среда может иллюстрировать соединенные устройства как компьютеры, такая иллюстрация является только примером, и физическая среда может альтернативно изображаться или описываться как содержащая различные цифровые устройства, такие как PDA, телевизоры, устройства воспроизведения стандарта МР3 и т.д., объекты программного обеспечения, такие как интерфейсы, СОМ (модель компонентных объектов Microsoft) - объекты или любое устройство, которое может быть использовано в связи с реализацией сред передачи.
Имеется множество систем, компонентов и сетевых конфигураций, которые поддерживают распределенные вычислительные среды. Например, вычислительные системы могут быть соединены вместе с помощью проводных или беспроводных систем посредством локальных сетей или распространенных сетей широкого охвата. В настоящее время многие сети связаны с Интернет, что обеспечивает инфраструктуру для широко распространенных вычислительных систем и охватывает множество различных сетей. Любая из инфраструктур может быть использована для коммуникаций, реализуемых для обеспечения беспроводного проецирования содержимого в соответствии с настоящим изобретением.
В домашней сетевой среде имеется по меньшей мере четыре различные среды сетевой транспортировки, каждая из которых может поддерживать уникальный протокол, такие как линия электропередачи, среда передачи данных (как беспроводная, так и проводная), среда передачи речи (например, телефон) и развлекательная среда. Большинство домашних устройств управления, например выключатели света и бытовые приборы, могут использовать линии электропередачи для обеспечения возможности сетевого соединения. Услуги передачи данных могут вводиться в домашнюю среду как широкополосные (например, через DSL или кабельный модем) и доступны в домашней среде с использованием беспроводного (например, HomeRF или 802.11B) или проводного (например, Home PNA, Cat 5, Ethernet, парной линии электропередачи) сетевого соединения. Речевой трафик может вводиться в домашнюю среду с использованием проводного (например, Cat 3) или беспроводного (например, сотовые телефоны) соединения и может распределяться в пределах домашней среды с использованием кабельной проводки Cat 5. Каналы передачи развлекательных программ или другие графические данные могут вводиться в домашнюю среду либо со спутников, либо по кабелю и в типовом случае распределяются в домашней среде с использованием коаксиального кабеля. Для цифровых межсоединений групп мультимедийных устройств могут использоваться такие средства, как IEEE 1394 и DVI. Все эти сетевые среды, а также другие, которые могут возникнуть как стандарты протоколов, могут соединяться для формирования сети, такой как интранет, которая может быть соединена с внешним миром посредством сети Интернет. Таким образом, имеется множество различных источников для хранения и передачи данных, и, следовательно, в перспективе вычислительным устройствам могут потребоваться способы совместного использования данных, например, присущих программным объектам данных, к которым обращаются или которые используют, требующие или использующие механизм(ы) беспроводной передачи содержимого в соответствии с изобретением.
На Интернет обычно ссылаются как на совокупность сетей и шлюзов, которые используют комплект протоколов TCP/IP, хорошо известных в области компьютерных сетей. TCP/IP представляет собой сокращение для Протокола управления передачей/Протокола Интернет. Интернет можно описать как систему территориально распределенных сетей удаленных компьютеров, взаимосвязанных посредством компьютеров, выполняющих протоколы организации сетей, которые позволяют пользователям взаимодействовать и совместно использовать информацию в пределах сети (сетей). Ввиду широкого распространения совместного использования информации удаленные сети, такие как Интернет, к настоящему времени развились в открытую систему, для которой разработчики могут проектировать прикладные программы для выполнения специализированных операций или услуг, по существу, без ограничений.
Таким образом, сетевая инфрастуктура обеспечивает возможность реализации совокупности сетевых топологий, таких как клиент/сервер, одноранговых и гибридных архитектур. «Клиент» является членом класса или группы, которая использует сервисы другого класса или группы, с которыми он не связан. Таким образом, в вычислениях клиент является процессом, т.е. по сути набором инструкций или задач, который запрашивает сервис, обеспечиваемый другой программой. Клиентский процесс использует запрошенный сервис, не требуя знания каких-либо рабочих деталей о других программах или самом сервисе. В архитектуре клиент/сервер, в частности в сетевой системе, клиент обычно является компьютером, который получает доступ к совместно используемым сетевым ресурсам, обеспечиваемым другим компьютером, например сервером. В примере по фиг.2А компьютеры 110а, 110b и т.д. можно представить себе как клиенты, а компьютеры 10а, 10b и т.д. - как сервер, причем сервер 10а, 10b и т.д. поддерживает данные, которые затем дублируются в клиентских компьютерах 110а, 110b и т.д., хотя любой компьютер можно рассматривать как клиент, сервер или оба из них, в зависимости от обстоятельств. Например, компьютер 110а может представлять собой портативный компьютер, вычислительные устройства 10а, 10b и т.д. могут быть удаленными мультимедийными устройствами или альтернативными устройствами отображения. Любое из этих вычислительных устройств может обрабатывать данные или запрашивать сервисы или задачи, которые могут включать в себя беспроводную передачу/прием содержимого в соответствии с изобретением.
Сервер в типовом случае представляет собой удаленную компьютерную систему, доступную через удаленную или локальную сеть, такую как Интернет. Клиентский процесс может действовать в первой компьютерной системе, а серверный процесс может действовать во второй компьютерной системе, осуществляя связь друг с другом через коммуникационную среду, тем самым обеспечивая распределенные функциональные возможности и позволяя множеству клиентов использовать преимущества, обеспечиваемые средствами сбора информации сервера. Любые объекты программного обеспечения, используемые согласно изобретению, могут быть распределены среди множества вычислительных устройств или объектов.
Клиент(ы) и сервер(ы) осуществляют связь друг с другом с использованием функциональных возможностей, обеспечиваемых уровнем (уровнями) протокола. Например, протокол передачи гипертекстовых файлов (НТТР) является общим протоколом, который используется в связи с Всемирной Паутиной (WWW) или «Web». Например, протокол удаленного рабочего стола (RDP) является общим протоколом, используемым для удаленных вычислений. В типовом случае адрес компьютерной сети, такой как унифицированный указатель информационного ресурса, адрес протокола Интернет (IP-адрес) или другая ссылка, например унифицированный указатель информационного ресурса (URL), может использоваться для идентификации сервера или клиентских компьютеров друг для друга. На сетевой адрес можно ссылаться как на URL-адрес. Связь может осуществляться через коммуникационную среду, например, клиент(ы) и сервер(ы) могут быть связаны друг с другом через TCP/IP-соединение (соединения) для связи с высокой пропускной способностью.
Таким образом, на фиг.2А показана примерная сетевая или распределенная среда, где сервер осуществляет связь с клиентскими компьютерами через сеть/шину, и в этой среде может использоваться настоящее изобретение. Более конкретно, ряд серверов 10а, 10b и т.д. взаимосвязаны посредством коммуникационной сети/шины 14, которая может представлять собой локальную сеть (LAN), глобальную сеть (WAN), интранет, Интернет и т.д., с рядом клиентских или удаленных вычислительных устройств 110а, 110b, 110с, 110d, 110е и т.д., таких как портативный компьютер, карманный компьютер, тонкий клиент, подключенные в сеть бытовые электронные приборы или другие устройства, такие как видеомагнитофон, телевизор, печь, осветительный прибор, нагреватель и тому подобное, в соответствии с настоящим изобретением. Таким образом, подразумевается, что настоящее изобретение может применяться к любому коммуникационному устройству, имеющему мультимедийные возможности в связи с реализацией таких функций, как хранение, создание, пользовательское взаимодействие, визуализация и т.д.
В сетевой среде, в которой коммуникационная сеть/шина 14 представляет собой Интернет, например, серверы 10а, 10b и т.д. могут представлять собой Web-серверы, с которыми могут осуществлять связь клиенты 110а, 110b, 110с, 110d, 110е и т.д. посредством любого из ряда известных протоколов, таких как НТТР. Серверы 10а, 10b и т.д. могут также служить в качестве клиентов 110а, 110b, 110с, 110d, 110е и т.д., как это может быть характерным для распределенной вычислительной среды.
Коммуникации могут быть проводными или беспроводными, как это требуется. Клиентские устройства 110а, 110b, 110с, 110d, 110е и т.д. могут осуществлять или не осуществлять связь с коммуникационной сетью/шиной 14 и могут иметь независимые коммуникации, связанные с этим. Например, в случае видеомагнитофона или телевизора может иметься или не иметься сетевой аспект применительно к управлению ими. Каждый клиентский компьютер 110а, 110b, 110с, 110d, 110е и т.д. и серверный компьютер 10а, 10b и т.д. может быть оснащен различными модулями или объектами 135 прикладных программ и соединениями или доступом к различным типам элементов хранения или объектов, в которых могут храниться файлы или потоки данных или в которые часть (части) файлов или потоков данных могут загружаться, передаваться или перемещаться. Любой один или более из компьютеров 10а, 10b, 110a, 110b и т.д. могут отвечать за поддержку и обновление базы 20 данных или другого элемента хранения, такого как база данных или память 20 для хранения данных, обработанных согласно изобретению. Таким образом, настоящее изобретение может использоваться в компьютерной сетевой среде, имеющей клиентские компьютеры 110а, 110b и т.д., которые могут получать доступ и взаимодействовать с компьютерной сетью/шиной 14 и серверными компьютерами 10а, 10b и т.д. и другими подобными устройствами и с базами 20 данных.
Примерное вычислительное устройство
На фиг.2В и в последующем изложении приводится краткое обобщенное описание подходящей вычислительной среды, в связи с которой может быть реализовано настоящее изобретение. Следует иметь в виду, что портативные, переносные и другие вычислительные устройства и вычислительные объекты любого рода могут быть использованы в связи с настоящим изобретением, т.е. везде, где можно использовать мультимедийные средства в вычислительной среде. Хотя ниже в качестве примера описан универсальный хост-компьютер, однако это является только одним из примеров, и настоящее изобретение может быть реализовано с использованием «тонкого» клиента (малофункционального, маломощного сетевого клиента-терминала), имеющего свойства работы с сетью/шиной и взаимодействия. Таким образом, настоящее изобретение может быть реализовано в среде объединенных в сеть сервисов ведущих узлов, в которой клиентское устройство служит просто как интерфейс с сетью/шиной, например объект, размещенный в электронном устройстве. По существу, любая среда, где данные или содержимое могут быть сохранены или откуда данные могут быть извлечены и посланы на другой компьютер, является желательной или подходящей средой для операции беспроводной доставки содержимого в соответствии с изобретением.
Хотя не требуется, однако изобретение может быть реализовано посредством операционной системы для использования разработчиком сервисов для устройства или объекта и/или включено в прикладное программное обеспечение, которое работает в связи с беспроводной доставкой содержимого в соответствии с изобретением. Программное обеспечение может быть описано в общем контексте команд, исполняемых компьютером, таких как программные модули, исполняемые на одном или более компьютеров, таких как клиентские рабочие станции, серверы или другие устройства. В общем случае программные модули включают в себя стандартные программы, программы, объекты, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или реализуют некоторые абстрактные типы данных. В типовом случае функциональность программных модулей может объединяться или распределяться, как это может быть желательным в различных вариантах осуществления. Более того, специалистам в данной области техники понятно, что изобретение может быть реализовано с другими конфигурациями компьютерных систем и протоколами. Другими хорошо известными вычислительными системами, средами и/или конфигурациями, которые могут подходить для использования с изобретением, являются, не ограничиваясь указанным, персональные компьютеры (ПК), автоматические кассовые аппараты, серверные компьютеры, миниатюрные или портативные устройства, мультипроцессорные системы, системы на основе микропроцессоров, программируемые приборы бытовой электроники, сетевые ПК, электронные приборы, осветительное оборудование, элементы управления внешней средой, мини-компьютеры, универсальные компьютеры и т.п. Изобретение также может быть реализовано в распределенных вычислительных средах, где задачи выполняются устройствами дистанционной обработки, которые связаны через коммуникационную сеть/шину или другой средой передачи данных. В распределенной вычислительной среде программные модули могут быть размещены как в локальной, так и удаленной среде хранения, включая устройства памяти, а клиентские узлы могут, в свою очередь, действовать как серверные узлы.
Таким образом, фиг.2В иллюстрирует пример подходящей среды 100 вычислительной системы, в которой может быть реализовано изобретение, хотя, как ясно из вышеизложенного, среда 100 вычислительной системы является лишь возможным примером подходящей вычислительной среды и не предполагает какого-либо ограничения объема использования или функциональности изобретения. Также вычислительная среда 100 не должна интерпретироваться как имеющая какую-либо зависимость или требование в связи с любым одним или комбинацией компонентов, показанных для примерной операционной среды 100.
Как показано на фиг.2В, приведенная для примера система для реализации изобретения включает в себя универсальное вычислительное устройство в форме компьютера 110. Компоненты компьютера 110 могут включать в себя, не ограничиваясь указанным, блок 120 обработки, системную память 130 и системную шину 121, которая связывает различные системные компоненты, включая системную память, с блоком 120 обработки. Системная шина 121 может быть любой из различных типов шинных структур, включая шину памяти или контроллер памяти, шину периферийных устройств, локальную шину, использующую любую из разнообразных шинных архитектур. В качестве примера, но не ограничения, такие архитектуры включают в себя шину ISA (Архитектура, соответствующая промышленному стандарту), шину MCA (Микроканальная архитектура), усовершенствованную шину ISA (EISA), локальную шину VESA (Ассоциации по стандартам в области видеоэлектроники), шину соединения периферийных компонентов (PCI), также известную как шина Mezzanine.
Компьютер 110 в типовом случае включает в себя множество считываемых компьютером сред (носителей). Считываемые компьютером носители могут представлять собой любые известные носители, к которым компьютер 110 может осуществлять доступ, и включают в себя энергозависимые и энергонезависимые носители, съемные и несъемные носители. К примеру, но не в качестве ограничения, считываемые компьютером носители могут содержать компьютерные носители записи и коммуникационную среду. Компьютерные носители записи включают в себя энергозависимые и энергонезависимые носители, съемные и несъемные носители, реализованные любым методом или по любой технологии для хранения информации такой, как считываемые компьютером команды, структуры данных, программные модули или иные данные. Компьютерные носители записи содержат, не ограничиваясь указанным, оперативную память (RAM, ОЗУ), постоянную память (ROM, ПЗУ), электронно-стираемую программируемую постоянную память (EEPROM, ЭСППЗУ), память с групповой перезаписью (флэш-память) или другие технологии памяти, CD-ROM, универсальные цифровые диски (DVD) или иные устройства памяти на оптических дисках, магнитных кассетах, магнитных лентах, устройства памяти на магнитных дисках или иные магнитные устройства памяти, или любые иные носители, которые могут быть использованы для хранения желательной информации и к которым может быть обеспечен доступ компьютера 110. Коммуникационная среда (среда передачи) в типовом случае воплощает считываемые компьютером команды, структуры данных, программные модули или иные данные в модулированном сигнале данных, таком как несущее колебание или иной транспортный механизм (механизм передачи), и включает в себя любую среду доставки информации. Термин «модулированный сигнал данных» означает сигнал, у которого одна или более характеристик установлены или изменяются таким образом, чтобы кодировать информацию в сигнале. В качестве примера, но не ограничения, коммуникационная среда включает в себя проводные среды, такие как проводная сеть или прямое проводное соединение, и беспроводную среду передачи, такую как акустическая, радиочастотная, инфракрасная и другая беспроводная среда передачи. Комбинации любых вышеуказанных сред также должны быть включены в объем носителей (сред), считываемых компьютером.
Системная память 130 включает в себя компьютерный носитель записи в форме энергозависимой и/или энергонезависимой памяти, такой как постоянная память (ПЗУ, ROM) 131 и оперативная память (ОЗУ, RAM) 132. Базовая система ввода/вывода (BIOS) 133, содержащая базовые подпрограммы, которые способствуют переносу информации между элементами в компьютере 110, например при запуске, в типовом случае сохранена в ПЗУ 131. ОЗУ 132 в типовом случае содержит данные и/или программные модули, которые непосредственно доступны и/или обрабатываются блоком 120 обработки. В качестве примера, но не ограничения, на фиг.2В показаны операционная система 134, прикладные программы 135, другие программные модули 136 и программные данные 137.
Компьютер 110 может также включать в себя другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители записи. Например, на фиг.2В показан дисковод 141 жестких дисков для считывания с несъемного, энергонезависимого магнитного носителя и записи на него, дисковод 151 магнитных дисков для считывания со съемного энергонезависимого магнитного диска 152 и записи на него и дисковод 155 оптических дисков для считывания со съемного энергонезависимого оптического диска 156 или записи на оптический диск, такой как, например, ПЗУ на компакт-диске (CD-ROM) или иные оптические носители записи. Другие съемные и несъемные, энергозависимые и энергонезависимые компьютерные носители записи, которые могут быть использованы в приведенной для примера операционной среде, включают в себя, не ограничиваясь указанным, кассеты на магнитных лентах, карты флэш-памяти, DVD, цифровые видеомагнитные ленты, твердотельные ОЗУ, твердотельные ПЗУ и т.п. Дисковод 141 жестких дисков в типовом случае соединен с системной шиной 121 посредством интерфейса несъемной памяти, такого как интерфейс 140, и дисковод 151 магнитных дисков и дисковод 155 оптических дисков соединены с системной шиной 121 в типовом случае посредством интерфейса схемной памяти, такого как интерфейс 150.
Дисководы и связанные с ними считываемые компьютером носители, описанные выше и показанные на фиг.2В, обеспечивают хранение считываемых компьютером команд, структур данных, программных модулей и других данных для компьютера 110. На фиг.2В, например, показано, что дисковод 141 жесткого диска хранит операционную систему 144, прикладные программы (приложения) 145, другие программные модули 146 и программные данные 147. Заметим, что эти компоненты могут быть теми же самыми или отличающимися от операционной системы 134, прикладных программ 135, других программных модулей 136 и программных данных 137. Операционная система 144, прикладные программы 145, другие программные модули 146 и программные данные 147 обозначены отличающимися ссылочными позициями для иллюстрации того, что они, как минимум, являются другими копиями. Пользователь может вводить команды и информацию в компьютер 110 посредством устройств ввода, например клавиатуры 162, и координатно-указательного устройства 161, такого как мышь, трекбол или сенсорная панель. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровую панель, спутниковую параболическую антенну, сканер и т.п. Эти и другие устройства ввода часто соединяются с блоком 120 обработки через интерфейс 160 пользовательского ввода, связанный с системной шиной 121, но могут быть соединены и посредством других интерфейсов и структур шин, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB) и т.д. Графический интерфейс 182, такой как Northbridge, может быть соединен с системной шиной 121. Northbridge является набором микросхем, который осуществляет информационный обмен с центральным процессорным блоком (CPU) или с главным блоком обработки 120 и отвечает за коммуникации с ускоренным графическим портом (AGP). Один или более блоков обработки графики (GPU) 184 могут осуществлять информационный обмен с графическим интерфейсом 182. В этом смысле блоки GPU 184 обычно включают в себя встроенную в кристалл память, такую как регистры памяти, и блоки GPU 184 осуществляют информационный обмен с видеопамятью 186, причем переменные приложения могут оказывать воздействие в соответствии с изобретением. Однако блоки GPU 184 приведены только в качестве возможного примера сопроцессора, и, следовательно, различные сопроцессорные устройства могут быть включены в состав компьютера 110, в том числе различные программы построения теней, такие как пиксельные и вершинные ретушеры. Монитор 191 или иное устройство отображения также соединено с системной шиной 121 через интерфейс, например, такой как видеоинтерфейс 190, который, в свою очередь, может осуществлять связь с видеопамятью 186. Помимо монитора 191 компьютеры также могут включать в себя другие периферийные устройства вывода, например громкоговорители 197 и принтер 196, которые могут быть соединены через интерфейс 195 устройств вывода.
Компьютер 110 может работать в сетевой или распределенной среде с использованием логических соединений с одним или более удаленными компьютерами, такими как удаленный компьютер 180. Удаленный компьютер 180 может представлять собой ПК, сервер, маршрутизатор, сетевой ПК, одноранговое устройство или другой обычный сетевой узел и в типовом случае включает в себя многие или все из элементов, описанных выше применительно к компьютеру 110, хотя на фиг.2В показано только устройство 181 памяти. Логические соединения, показанные на фиг.2В, включают в себя локальную сеть (LAN) 171 и глобальную сеть (сеть широкого охвата - WAN) 173, но могут включать в себя и другие сети/шины. Такие сетевые среды являются общеизвестными в офисах, компьютерных сетях предприятий, интранетах и в Интернет.
При использовании в сетевой среде локальной сети (LAN) компьютер 110 соединяется с локальной сетью 171 через сетевой интерфейс или адаптер 170. При использовании в сетевой среде глобальной сети (WAN) компьютер 110 в типовом случае включает в себя модем 172 или иное средство для установления связи в глобальной сети 173, такой как Интернет. Модем 172, который может быть внутренним или внешним, соединен с системной шиной 121 через интерфейс 160 пользовательского ввода или иной подходящий механизм. В сетевой среде, программные модули, изображенные по отношению к компьютеру 110, или их части могут быть сохранены в удаленном устройстве памяти. В качестве примера, но не ограничения, фиг.2В иллюстрирует удаленные прикладные программы 185 как хранящиеся в устройстве 181 памяти. Следует иметь в виду, что показанные сетевые соединения приведены для примера и что могут быть использованы и другие средства установления канала связи между компьютерами.
Примеры альтернативных устройств
Как упомянуто выше, изобретение применимо к любому устройству, в котором желательно беспроводным способом спроецировать содержимое на дисплей другого вычислительного устройства. Фиг.2С и последующее описание предназначены для дополнения общего описания фиг.2В. Поэтому следует иметь в виду, что миниатюрные, портативные и другие вычислительные устройства и вычислительные объекты любого рода могут быть использованы в связи с настоящим изобретением, т.е. везде, где может потребоваться беспроводным способом переслать содержимое на другой дисплей. Соответственно, описанный ниже удаленный универсальный компьютер представляет собой лишь возможный пример, и настоящее изобретение может быть реализовано с использованием любого клиента со свойствами работы с сетью/шиной и взаимодействия. Таким образом, настоящее изобретение может быть реализовано в среде сетевых сервисов, реализованных в узлах, которые включают в себя очень малое или минимальное количество клиентских ресурсов, например в сетевой среде, в которой клиентское устройство служит только в качестве интерфейса с сетью/шиной, такого как объект, размещенный в электронном приборе.
Хотя не требуется, однако изобретение может быть реализовано частично посредством операционной системы для использования разработчиком сервисов для устройства или объекта и/или включено в прикладное программное обеспечение, которое работает в связи с компонентом (компонентами) изобретения. Программное обеспечение может быть описано в общем контексте команд, исполняемых компьютером, таких как программные модули, исполняемые на одном или более компьютеров, таких как клиентские рабочие станции, серверы или другие устройства. Специалистам в данной области техники должно быть понятно, что изобретение может быть реализовано с другими конфигурациями компьютерных систем и протоколами.
Таким образом, фиг.2С иллюстрирует пример подходящей среды 100а вычислительной системы, в которой может быть реализовано изобретение, хотя, как ясно из вышеизложенного, среда 100а вычислительной системы является лишь возможным примером подходящей вычислительной среды для мультимедийного устройства и не предполагает какого-либо ограничения объема использования или функциональности изобретения. Также вычислительная среда 100 не должна интерпретироваться как имеющая какую-либо зависимость или требование в связи с любым одним или комбинацией компонентов, показанных для примерной операционной среды 100а.
Как показано на фиг.2С, приведенное для примера удаленное устройство для реализации изобретения включает в себя универсальное вычислительное устройство в форме компьютера 110а. Компоненты компьютера 110а могут включать в себя, не ограничиваясь указанным, блок 120а обработки, системную память 130а и системную шину 121а, которая связывает различные системные компоненты, включая системную память, с блоком 120а обработки. Системная шина 121а может быть любой из различных типов шинных структур, включая шину памяти или контроллер памяти, шину периферийных устройств, локальную шину, использующую любую из разнообразных шинных архитектур.
Компьютер 110а в типовом случае включает в себя множество считываемых компьютером сред (носителей). Считываемые компьютером носители могут представлять собой любые известные носители, к которым компьютер 110а может осуществлять доступ. К примеру, но не в качестве ограничения, считываемые компьютером носители могут содержать компьютерные носители записи и коммуникационную среду. Компьютерные носители записи включают в себя энергозависимые и энергонезависимые носители, съемные и несъемные носители, реализованные любым методом или по любой технологии для хранения информации, такой как считываемые компьютером команды, структуры данных, программные модули или иные данные. Компьютерные носители записи содержат, не ограничиваясь указанным, RAM, ROM, EEPROM, флэш-память или другие технологии памяти, CD-ROM, DVD или иные устройства памяти на оптических дисках, магнитных кассетах, магнитных лентах, устройства памяти на магнитных дисках или иные магнитные устройства памяти, или любые иные носители, которые могут быть использованы для хранения желательной информации и к которым может быть обеспечен доступ компьютера 110. Коммуникационная среда (среда передачи) в типовом случае воплощает считываемые компьютером команды, структуры данных, программные модули или иные данные в модулированном сигнале данных, таком как несущее колебание или иной транспортный механизм (механизм передачи), и включает в себя любую среду доставки информации.
Системная память 130а включает в себя компьютерный носитель записи в форме энергозависимой и/или энергонезависимой памяти, такой как ROM и RAM. Базовая система ввода/вывода (BIOS), содержащая базовые подпрограммы, которые способствуют переносу информации между элементами в компьютере 110, например при запуске, в типовом случае сохранена в памяти 130а. Память 130а в типовом случае также содержит данные и/или программные модули, которые непосредственно доступны и/или обрабатываются блоком 120а обработки. В качестве примера, но не ограничения, память 130а также может включать в себя операционную систему, прикладные программы, другие программные модули и программные данные.
Компьютер 110а может также включать в себя другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители записи. Например, компьютер 110а может содержать дисковод жестких дисков для считывания с несъемного, энергонезависимого магнитного носителя и записи на него, дисковод магнитных дисков для считывания со съемного энергонезависимого магнитного диска и записи на него и дисковод оптических дисков для считывания со съемного энергонезависимого оптического диска или записи на оптический диск, такой как CD-ROM или иные оптические носители записи. Другие съемные и несъемные, энергозависимые и энергонезависимые компьютерные носители записи, которые могут быть использованы в приведенной для примера операционной среде, включают в себя, не ограничиваясь указанным, кассеты на магнитных лентах, карты флэш-памяти, DVD, цифровые видеомагнитные ленты, твердотельные RAM, твердотельные ROM и т.п. Дисковод жестких дисков в типовом случае соединен с системной шиной 121а посредством интерфейса несъемной памяти, и дисковод магнитных дисков и дисковод оптических дисков соединены с системной шиной 121 в типовом случае посредством интерфейса съемной памяти.
Пользователь может вводить команды и информацию в компьютер 110а посредством устройств ввода, например клавиатуры, и координатно-указательного устройства, такого как мышь, трекбол или сенсорная панель. Другие устройства ввода могут включать в себя микрофон, джойстик, игровую панель, спутниковую параболическую антенну, сканер и т.п. Эти и другие устройства ввода часто соединяются с блоком 120а обработки через интерфейс 140а пользовательского ввода и соответствующий(ие) интерфейс(ы), связанный(ые) с системной шиной 121а, но могут быть соединены и посредством других интерфейсов и структур шин, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB) и т.д. Система графики также может быть соединена с системной шиной 121а. Монитор или иное устройство отображения также соединено с системной шиной 121а через интерфейс, например, такой как интерфейс 150а устройств вывода, который, в свою очередь, может осуществлять связь с видеопамятью. Помимо монитора компьютеры также могут включать в себя другие периферийные устройства вывода, например громкоговорители и принтер, которые могут быть соединены через интерфейс 150а устройств вывода.
Компьютер 110а может работать в сетевой или распределенной среде с использованием логических соединений с одним или более удаленными компьютерами, такими как удаленный компьютер 170а, который, в свою очередь, может иметь мультимедийные возможности, отличные от возможностей устройства 110а. Удаленный компьютер 170а может представлять собой персональный компьютер (РС), сервер, маршрутизатор, сетевой РС, одноранговое устройство или другой обычный сетевой узел, или любое другое удаленное мультимедийное устройство потребления или передачи и может включать в себя многие или все из элементов, описанных выше применительно к компьютеру 110а. Логические соединения, показанные на фиг.2С, включают в себя сеть 171а, такую как локальная сеть (LAN) или глобальная сеть (WAN), но могут включать в себя и другие сети/шины. Такие сетевые среды являются общеизвестными в офисах, компьютерных сетях предприятий, интранетах и в Интернет.
При использовании в сетевой среде локальной сети (LAN) компьютер 110а соединяется с локальной сетью 171а через сетевой интерфейс или адаптер. При использовании в сетевой среде глобальной сети (WAN) компьютер 110а в типовом случае включает в себя модем или иное средство для установления связи в глобальной сети, такой как Интернет. Модем, который может быть внутренним или внешним, соединен с системной шиной 121а через интерфейс 140а пользовательского ввода или иной подходящий механизм. В сетевой среде, программные модули, изображенные по отношению к компьютеру 110а, или их части могут быть сохранены в удаленном устройстве памяти. Следует иметь в виду, что показанные сетевые соединения приведены для примера и что могут быть использованы и другие средства установления канала связи между компьютерами.
Пример распределенных вычислительных оболочек или архитектур
Различные распределенные вычислительные оболочки разрабатывались и разрабатываются в свете конвергенции персональных компьютеров и Интернет. Индивидуальные пользователи и бизнес-пользователи сходным образом обеспечиваются имеющим возможность прямого взаимодействия и Web-доступ интерфейсом для приложений и вычислительных устройств, что делает вычислительные действия во все возрастающей степени ориентированными на Web-браузер и сетевые операции.
Например, Microsoft-управляемая платформа кода, например .NET, включает в себя серверы, построенные из унифицированных модулей сервисы, например программное обеспечение устройств хранения и загрузки данных на Web-основе. Вообще говоря, .NET-платформа обеспечивает: (1) возможность совместной работы всего спектра вычислительных устройств и автоматического обновления пользовательской информации и синхронизации их всех, (2) повышение интерактивных возможностей для Web-страниц, обеспечиваемое расширением использования XML вместо HTML, (3) онлайновые сервисы, которые характеризуются настроенным доступом и доставкой продуктов и сервисов пользователю из центрального начального пункта управления различными приложениями, такими как электронная почта, или программное обеспечение, такое как Office.NET, (4) централизованное хранение данных, которое повышает эффективность и простоту доступа к информации, а также синхронизацию информации между пользователями и устройствами, (5) возможность интеграции различных сред передачи, таких как электронная почта, факсимильная связь, телефонная связь, (6) для разработчиков возможность создания модулей повторного пользования, для повышения производительности и сокращения количества ошибок программирования и (7) множество других свойств межплатформенной интеграции и интеграции языков.
Хотя некоторые примеры вариантов осуществления описаны в связи с программным обеспечением, находящимся в вычислительном устройстве, одна или более частей изобретения могут также быть реализованы посредством операционной системы, интерфейса программирования приложений (API) или объекта «посредник», объекта управления, аппаратных средств, программно-аппаратных средств, команд или объектов на промежуточном языке и т.д., так что методы, соответствующие изобретению, могут быть включены, могут поддерживаться или использоваться посредством всех языков и сервисов, активизируемых управляющим кодом, таким как .NET-код, а также в других вычислительных оболочках.
Описание Протокола Удаленного Рабочего стола и Сеансов Сервера Терминалов
Протокол Удаленного Рабочего стола (RDP) Microsoft является одним примером протокола, который может использоваться для переноса мультимедийного опыта с хоста (ведущего узла) на удаленное мультимедийное вычислительное устройство. Протокол RDP обеспечивает возможности удаленного отображения и ввода посредством сетевых соединений для приложений на основе Windows, исполняемых на сервере. Протокол RDP предназначен для поддержки различных типов сетевых топологий и множества протоколов локальных сетей LAN.
На сервере протокол RDP использует свой собственный видеодрайвер для визуализации выведенного отображения путем формирования информации воспроизведения в сетевые пакеты с использованием протокола и посылки их по сети клиенту. У клиента протокол RDP получает данные воспроизведения и интерпретирует пакеты в соответствующие вызовы API интерфейсов графических устройств. Для канала ввода события клавиатуры и мыши у клиента переадресуются от клиента на сервер. На сервере протокол RDP использует свой собственный драйвер клавиатуры и мыши для приема событий клавиатуры и мыши. С точки зрения признаков, не накладывающих ограничения, протокол RDP включает в себя шифрование, функции сокращения полосы, отсоединения роуминга, отображение буфера обмена, переадресацию печати, виртуальные каналы, дистанционное управление и выравнивание сетевой нагрузки.
Сервер Терминалов обеспечивает примерную удаленную вычислительную среду как расширение сервера, такого как Windows NT-сервер. Пользователи, являющиеся просто «тонким» клиентом, могут воспринимать операционную систему рабочего стола сервера и приложения полностью вне сервера. В случае Сервера Терминалов, пользователи обеспечиваются доступом к приложениям на основе Windows с любого из следующих типов рабочих столов: (А) дешевые аппаратные средства, обычно называемые терминалами на основе Windows, которые предоставляются на рынке поставщиками аппаратных средств третьей стороны, (В) операционные системы рабочего стола Windows, такие как Windows 95 или Microsoft Windows NT Workstation путем исполнения клиента Сервера Терминалов как окна в среде локального рабочего стола, и (С) Х-основанные Терминалы, UNIX-основанные рабочие столы, а также Apple Macintosh, MS-DOS и другие сетевые компьютеры (посредством добавляемого для расширения программного обеспечения).
Сервер Терминалов содержит три основных компонента: многопользовательскую оболочку Сервера Терминалов, Протокол Удаленного Рабочего стола (RDP) и программное обеспечение тонкого клиента.
Сервер Терминалов является многопользовательской оболочкой, которая обеспечивает возможность размещать множество одновременных клиентских сеансов на других устройствах. Сервер Терминалов способен непосредственно размещать совместимые многопользовательские клиентские рабочие столы, исполняемые на различных Windows-основанных и не-Windows-основанных аппаратных средствах. Стандартные Windows-основанные приложения не требуют модификации для исполнения на Сервере Терминалов, и вся стандартная Windows-NT-основанная инфраструктура управления и технологии могут быть использованы для управления клиентскими рабочими столами. Таким путем корпорации могут извлечь выгоду из богатого выбора приложений и инструментальных средств, предоставляемых средой Windows.
Протокол RDP является протоколом Сервера Терминалов, который позволяет тонкому клиенту осуществлять информационный обмен с Сервером Терминалов через сеть. Этот протокол базируется на протоколе ITU N.120 Международного Союза по телекоммуникациям, являющемся международным стандартным протоколом многоканальной конференц-связи. Протокол RDP настроен на широкополосные среды предприятий, а также поддерживает зашифрованные сеансы связи.
Компонент тонкого клиента является программным обеспечением, которое представляет или отображает пользовательский интерфейс Windows в спектре аппаратных средств рабочего стола, включая Windows-основанные оконечные устройства и персональные компьютеры.
Администратор Объектов Сервера Терминалов обеспечивает, чтобы приложения и системные программы различных сеансов не вступали в конфликт. Каждое имя объекта, создаваемое во время сеанса, получает уникальный идентификационный номер, связанный с индивидуальным сеансом, который его создал (ИД сеанса). Сервис Сервера Терминалов является полностью зависимым от протокола, так что он может функционировать с использованием протокола RDP или протокола расширения третьей стороны, такого как ICA компании Citrix.
Протокол RDP является протоколом с многоканальными возможностями, позволяющим отдельным виртуальным каналам переносить последовательные передаваемые данные устройств и данные презентаций с сервера, а также зашифрованные данные с мыши и клавиатуры клиента. Виртуальные каналы являются расширениями программного обеспечения, которые могут быть использованы для добавления функциональных возможностей в приложение Сервера Терминалов. Примеры добавлений функциональных возможностей для расширения могут включать: поддержку специальных типов аппаратных средств, аудио или другие добавления к базовым функциям, обеспечиваемым протоколом RDP сервисов терминалов. Протокол RDP обеспечивает мультиплексированное управление множеством виртуальных каналов.
Приложение виртуального канала имеет две части, компонент клиентской стороны и компонент серверной стороны. Компонент серверной стороны является исполняемой программой, которая реализуется на Сервере Терминалов. Компонент клиентской стороны является динамически подсоединяемой библиотекой (DLL), которая загружается в память на клиентском компьютере, когда исполняется клиентская программа сервисов терминалов.
Виртуальные каналы могут добавлять функциональные возможности расширения к клиенту сервисов терминалов, независимо от протокола RDP. При поддержке виртуального канала новые функции могут быть добавлены без необходимости обновления клиентского или серверного программного обеспечения или протокола RDP.
Различные другие возможности также являются частью определения стандартов Т.120, включая, например, многопунктную доставку данных, что позволяет доставлять в реальном времени данные из приложения множеству сторон. Доставка с обеспечением множественной адресации обеспечивает сервисы надежной доставки передаваемых данных. Она повышает эффективность для потребителя, в то же время сокращая нагрузку на сетевую инфраструктуру. Протокол RDP является предпочтительным для целей связности, поскольку он обеспечивает расширяемую базу, на основе которой могут строиться дополнительные возможности. Это объясняется, в том числе, тем, что протокол RDP обеспечивает до 64000 отдельных каналов для передачи данных, а также возможности многопунктной передачи.
Протокол RDP предназначен для поддержки многих различных типов сетевых топологий, таких как ISDN, POTS, и многих протоколов LAN, таких как IPX, Netbios, TCP/IP и т.д.
Действия, связанные с посылкой и приемом данных посредством стека протоколов RDP, по существу, являются теми же, что и определяемые стандартами семиуровневой модели OSI (взаимодействие открытых систем) для современного межсетевого взаимодействия локальных сетей LAN. Данные из приложения или сервиса, которые должны передаваться, проходят через стеки протоколов, секционируются, направляются в канал, зашифровываются, заключаются в оболочку, сегментируются на кадры, компонуются согласно сетевому протоколу и в итоге адресуются и посылаются по проводному соединению клиенту.
Восстановление данных осуществляется сходным образом в обратном порядке, при этом из пакета удаляется его адрес, затем он извлекается из оболочки, дешифруется и т.д. до тех пор, пока данные не будут представлены приложению для использования. Некоторые части модификаций стека протоколов возникают между 4-м и 7-м уровнями, где данные зашифровываются, заключаются в оболочку и сегментируются на кадры, направляются в канал и приоритизируются.
С использованием протокола RDP предпочтительным образом для разработчика приложения обеспечивается абстрагирование от сложностей работы со стеком протоколов. Разработчик приложения просто пишет приложение, а стек протокола RDP, реализованный Сервером Терминалов и его клиентскими соединениями, обеспечивает учет всего остального.
При запуске Сервер Терминалов осуществляет первоначальную загрузку и загружает в память базовую операционную систему, и сервис Сервера Терминалов запускается и начинает ожидать соединений сеанса. Каждому соединению дается уникальный идентификатор сеанса или «ИД сеанса» для представления отдельного сеанса для Сервера Терминалов, и каждый процесс, создаваемый в сеансе, «тегируется» соответствующим идентификатором ИД сеанса для различения его пространства имен от пространств имен других сеансов. Когда пользователь регистрируется на компьютере, разрешенном для применения Сервисов Терминалов, для данного пользователя запускается сеанс, идентифицируемый уникальным ИД сеанса. Поскольку каждый вход в систему на клиенте Сервисов Терминалов получает отдельный ИД сеанса, действие для пользователя аналогично тому, как если бы он регистрировался на множестве компьютеров в одно и то же время, например на офисном компьютере и домашнем компьютере.
Сеанс пульта управления (клавиатуры, мыши, видеопредставления Сервера Терминалов) первым загружается и обрабатывается как специальное клиентское соединение и получает ИД0 сеанса. Сеанс пульта управления запускается как нормальный сеанс системы с конфигурируемыми драйверами дисплея, мыши и клавиатуры, которые загружены.
После создания сеанса пульта управления сервис Сервера Терминалов затем вызывает Администратора Сеанса для создания двух (по умолчанию) незанятых клиентских сеансов, ожидающих клиентских соединений. Для создания незанятых соединений Администратор Сеанса выполняет интерактивный процесс подсистемы клиент-сервер и новый ИД сеанса присваивается этому процессу.
В отличие от сеанса пульта управления клиентские сеансы конфигурируются для загрузки отдельных драйверов для дисплея, клавиатуры, мыши. Новый драйвер дисплея представляет собой драйвер дисплея протокола удаленного рабочего стола (RDP), и драйверы мыши и клавиатуры заменяются драйвером RDP. Эти драйверы позволяют сеансу клиента RDP быть дистанционно доступным и интерактивным. Наконец, Сервер Терминалов также вызывает подпроцесс слушателя соединений для протокола RDP, который прослушивает клиентские соединения протокола RDP на TCP-порте. Процессам с различными ИД сеанса запрещается доступ к данным другого сеанса.
В примерной реализации клиент инициирует соединение с Сервером Терминалов через TCP-порт. Подпроцесс слушателя протокола RDP Сервера Терминалов обнаруживает запрос сеанса и создает новый экземпляр стека протоколов RDP для обработки нового запроса сеанса. Подпроцесс слушателя передает входящий сеанс новому экземпляру стека протоколов RDP и продолжает прослушивание на TCP-порте для обнаружения других попыток соединения. Каждый стек протоколов RDP создается, когда подсоединяются клиентские сеансы, для согласования деталей конфигурации сеанса.
После входа в систему пользователя рабочий стол или приложение, в случае режима одного приложения, отображается для пользователя. Если пользователь выбирает исполнение приложения, команды мыши проходят на Сервер Терминалов, который запускает выбранное приложение в новом пространстве виртуальной памяти.
Если пользователь принимает решение разъединить сеанс, процессы и все пространство виртуальной памяти остаются открытыми и выгружаются на физический диск, если физическая память требуется для другого процесса. Дополнительное преимущество протокола RDP состоит в том, что он обеспечивает возможность изменения разрешения экранного изображения сеанса. Например, если пользователь ранее был соединен с сеансом Сервера Терминалов при разрешении 800×600 и отсоединился, а затем перешел на другой компьютер, который поддерживает только разрешение 640×480, и повторно подсоединился к текущему сеансу, то рабочий стол должен быть обновлен для поддержки нового разрешения.
Выход из системы в типовом случае очень прост для реализации. Как только пользователь выходит из системы, все процессы, ассоциированные с ИД сеанса, завершаются и память, назначенная для сеанса, освобождается.
Системы и способы для беспроводной передачи и приема содержимого
В одном аспекте изобретение обеспечивает возможность устройству отображения, такому как проектор или монитор с большим экраном, включать в себя беспроводную технологию, позволяющую устройству отображения получать содержимое/данные от мобильного компьютерного устройства. Таким образом, пользователям может не потребоваться физическое соединение мобильного устройства с кабелем. В другом аспекте содержимое/данные, которые посылаются на устройство отображения с мобильного устройства, могут одновременно просматриваться на компьютерных устройствах участников совещания. Беспроводная технология является быстрорастущим сектором рыночного пространства проекторов. В случае проектора, изготовленного с обеспечением функций беспроводной передачи, таких как Wi-Fi в режиме «ad hoc», проекторы обеспечивают возможность легкого доступа для мобильных пользователей, чтобы обеспечивать предоставление содержимого. Такой проектор обеспечивает возможность сбора вместе множества мобильных пользователей в одном и том же помещении или помещениях, достаточно близких для реализации беспроводной технологии, для организации совместных совещаний. Дополнительно, изобретение обеспечивает простоту соединения в случаях, где решения с применением проводных линий связи являются непрактичными, то есть снимаются вопросы, связанные с монтажом кабельной проводки.
Таким образом, с использованием настоящего изобретения проектор проще устанавливать, он становится более удобным в обращении, отсутствуют потери или искажения сигнала на значительных расстояниях. С использованием изобретения также проще переключаться между различными источниками, например, в виде персональных компьютеров, если имеется множество людей, осуществляющих презентации со своих собственных портативных компьютеров. Соответственно, презентаторы могут быть более мобильными в пределах помещения или иным образом в пределах возможностей, предоставляемых беспроводной технологией, и им нет необходимости располагаться вблизи проектора или настенной розетки. В одном варианте осуществления изобретения за счет включения беспроводной технологии, такой как Wi-Fi, обеспечивающей возможность проецирования на проектор или иное мобильное устройство в операционной системе мобильного устройства, мобильное устройство получает возможность проецировать беспроводным способом, не требуя дополнительной установки программного обеспечения или аппаратных средств в мобильное устройство.
В одном варианте осуществления изобретение усиливает возможности средств беспроводной технологии, встроенных в проекторы, и использует протокол UPnP («включай и работай») для оповещения о присутствии проектора пользователей портативных/ мобильных компьютеров и управления проекторами. Изобретение может использовать сеанс Сервиса Терминалов для подсоединения дисплея к машине пользователя.
Изобретение облегчает действия высокой степени интеграции между проекторами, приводимыми в действие портативными/мобильными компьютерами, и устройствами отображения других портативных/мобильных компьютеров. Добавление средств беспроводной передачи в проекторы обеспечивает возможность простого доступа для мобильных пользователей, обеспечивает возможность собрать вместе многих мобильных пользователей в одном помещении для совместных встреч и обеспечивает простое соединение в тех случаях, когда решения с использованием проводных соединений являются непрактичными. Снимаются вопросы, связанные с монтажом кабельной проводки, поэтому проектор проще устанавливать, он становится более удобным в обращении, отсутствуют потери или искажения сигнала на значительных расстояниях. Проще переключаться между различными источниками, например, в виде персональных компьютеров, особенно если имеется множество людей, осуществляющих презентации со своих собственных портативных компьютеров, и презентаторы могут быть более мобильными в пределах помещения, и им нет необходимости располагаться вблизи проектора или настенной розетки.
Одно из основных преимуществ беспроводной технологии в соответствии с настоящим изобретением можно наблюдать в ситуации, когда в одном помещении имеется множество презентаторов, при этом если прежде каждый докладчик должен был включить свой портативный компьютер в соединение с проектором и отключить его после завершения, то с использованием изобретения совместно действующая группа презентаторов может обойтись без кабеля, используемого для переключения. Три сценария, обеспечиваемые изобретением, включают в себя «Зеркало», «Расширенный монитор» и «1:N». В примере сценария «Зеркало» Мелисса приходит в конференц-зал и устанавливает свой портативный компьютер в режим совещания. Ее машина обнаруживает проектор в конференц-зале. Она беспроводным способом проецирует показ слайда на своем портативном компьютере, как он есть, на проектор. После того как она осуществила презентацию своих слайдов, она отсоединяется от проектора, чтобы другой участник встречи использовал данный проектор. В данном описании приведено множество примеров, которые не должны рассматриваться как ограничивающие изобретение. Например, сценарий, соответствующий Расширенному режиму, может быть реализован для ситуации проецирования 1:1 или 1:n. В сценарии «Зеркала» может таким образом быть реализована ситуация 1:1 или 1:n, то есть они не являются исключительными сценариями.
В типовом сценарии Расширенного Монитора Патрик устанавливает свой портативный компьютер в режим заседания, когда он входит в клиентский конференц-зал. Его машина обнаруживает беспроводный проектор в помещении. За счет обеспечения возможности проектору использоваться в расширенном многомониторном режиме проектор проецирует презентацию, в то время как портативный компьютер Патрика показывает его записки. Эффективным образом изображение на дисплее Патрика дизагрегируется, так что оно может использоваться как второй монитор.
В типовом сценарии «1:N» Фред встречает своих коллег в холле аэропорта, где все они имеют портативные компьютеры или другие компьютерные устройства, которые включают в себя программное обеспечение соответственно изобретению, например, в операционной системе или как приложение. В результате Фред может легко проецировать свои слайды на все портативные компьютеры своих коллег и/или на проектор, если таковой доступен.
Таким образом, решение согласно изобретению представляет простой пользовательский интерфейс (UI), который позволяет пользователям находить доступные беспроводные проекторы или другие компьютеры, осуществлять настройки и соединяться с ними. Дополнительно, изобретение обеспечивает возможность того, что интерфейс UI для пользователей других компьютеров принимает «спроецированное» содержимое/данные от портативного/мобильного компьютера-источника.
На фиг.3 представлена примерная последовательность запуска приложения беспроводного проецирования в соответствии с настоящим изобретением. Например, на этапе 300 примерное пользовательское взаимодействие для осуществления проецирования начинается путем реализации функциональных возможностей программного обеспечения в соответствии с изобретением. Это может быть осуществлено при запуске устройства или как часть инициирования запроса проецирования. В качестве неограничительного примера, пользователи могут запустить процедуру согласно изобретению через меню, расположенное под стартовым меню или верхним уровнем или через легкодоступный пользовательский интерфейс (UI), такой как боковое меню. На этапе 310 пользователь устанавливает машину в режим «презентация». Режим презентации может повлиять на другие задачи, которые вызываются операционной системой в течение презентации, например выключить уведомления, выключить бланкирование экрана, запретить аудиосообщения от других источников, изменить схему питания, изменить фон рабочего стола и т.д. В неограничительном примере, не показанном на фиг.3, если верхний уровень или легкодоступный пользовательский интерфейс имеется и найдены один или более дисплеев, то появляется часть панели дисплея. Для того чтобы это произошло, машина должна быть в режиме обнаружения в течение предварительно определенного интервала времени, например 30 секунд, после того как режим презентации выбран, чтобы дать процедуре, соответствующей изобретению, время на обнаружение существующих дисплеев для проецирования. На этапе 320 пользователь запрашивается через пользовательский интерфейс, не хочет ли он проецировать содержимое. Если «Да», то машина переходит в состояние обнаружения на этапе 330. Если нет, то программное обеспечение осуществляет выход или возвращается на этап 300 или 310. На этапе 340 появляется диалоговое окно со списком дисплеев, например проекторов. В одном варианте осуществления, в отношении других портативных компьютеров презентатор не получает список дисплеев портативных компьютеров, а вместо этого презентатор создает виртуальное совещание с именем/паролем совещания для использования другими участниками, которые хотели бы присоединиться. На этапе 350 пользователь выбирает дисплей, например проектор, на который необходимо отобразить содержимое. В одном варианте осуществления, в отношении других портативных компьютеров пользователь не выбирает другие портативные компьютеры, а вместо этого создает виртуальное совещание с именем/паролем совещания для использования другими участниками. Обнаружение также может осуществляться в фоновом режиме без какого-либо вмешательства пользователя.
Хотя процесс обнаружения может выдать в качестве результата все проекторы и портативные компьютеры, некоторые могут быть недоступными для отображения, то есть они в текущий момент используются другим проецированием. В соответствии с изобретением они включают указание, что они находятся в процессе использования, например, они затенены на дисплее пиктограммой «занято». В качестве части этого диалогового окна, пользователь имеет возможность выбора из списка Самых Последних Использованных проекторов или непосредственного ввода имени проектора, что может включать определение URL или IP-адреса, не требуя обнаружения проектора. Пользователю также обеспечена возможность конфигурирования проецирования.
Как только альтернативный дисплей, например проектор, выбран, может начинаться проецирование. При доступности элемент пользовательского интерфейса, например часть верхнего уровня или простой для доступа UI, такой как боковое меню, позволяет пользователю отсоединить и/или добавить больше пользователей к процедуре проецирования. Например, в одном варианте осуществления часть всплывающего меню верхнего уровня или простой для доступа UI, такой как боковое меню, позволяет пользователю посмотреть, кто участвует в презентации, и обеспечить возможность отсоединить их, но больше не добавлять. В этом варианте осуществления, если пользователю желательно присоединиться, то он выбирает презентацию для присоединения посредством имени/пароля заседания. Диалоговое окно, например боковое меню дисплея, показывает статус проецирования, возможность отсоединения и добавления большего количества пользователей в список проецирования.
Архитектура изобретения иллюстрируется на фиг.4А и 4В. Технология проектора в конференц-зале в соответствии с изобретением включает в себя две ключевые технологии: UPnP и Сервисы Терминалов. Использование этих двух технологий в соответствии с изобретением позволяет пользователю обнаруживать и дистанционно управлять проектором, проецировать приложение (Desktop (рабочий стол), PowerPoint и т.д.) и расширить рабочий стол на дизагрегированное устройство отображения. Фиг.4А и 4В показывают полную архитектуру сервиса многомониторного конференц-зала (MRM-сервиса) в соответствии с изобретением. На нижнем уровне находится операционная система, на которой строятся компонент UPnP и компоненты Сервисов Терминалов TS1 и TS2 удаленной поддержки RA1 и RA2. MRM-сервис использует обе технологии для решения проблем, рассматриваемых в изобретении. UPnP используется для обнаружения и управления проекционным устройством. Сервисы Терминалов и удаленная поддержка используются для визуализации на дисплее.
На фиг.4А и 4В также показано, что изобретение предусматривает две части: одна часть используется для управления (MRM-передатчик), в то время как другая реально используется для отображения экрана передатчика.
Передатчик (фиг.4А) обеспечивает функции посредством сервиса SS, который контролирует и обнаруживает устройство. Он делает это с использованием механизмов, определенных как Пункт управления и назначения функции ведущего устройства UPnP («включай и работай»). Кроме того, Передатчик включает в себя сервер TS1 Сервисов Терминалов. Через этот сервер экранная информация Передатчика распространяется Клиенту TS2 Сервисов Терминалов, т.е. альтернативному устройству отображения.
Пункт управления, показанный на фиг.4А, обнаруживает, управляет и проецирует на Проекционное Устройство Конференц-зала согласно фиг.4В, что может включать в себя портативные компьютеры, проекторы, мониторы и т.д. Проекционное Устройство Конференц-зала включает в себя Пункт управления и назначения функции ведущего устройства UPnP для уведомления о себе в сети. Он использует Клиента TS2 Сервисов Терминалов для «соединения» с Сервером TS1 Сервисов Терминалов в Пункте Управления по фиг.4А. Затем он получает информацию, описывающую экран, из Сервера TS1 Сервисов Терминалов.
На фиг.5 показан пример блок-схемы, относящейся к процессу соединения с альтернативным устройством отображения. На этапе 500 Пункт Управления (или MRM) обнаруживает альтернативное устройство (устройства) отображения. Это может быть сделано путем: 1)осуществления поиска, посредством пункта управления и назначения функции ведущего устройства по протоколу UPnP, того конкретного устройства, причем в этом случае все устройства данного типа отвечают на этот запрос, или 2) «прослушивания» устройства, которое само оповестит о себе. Как только пункт управления распознает это устройство, он загружает на этапе 510 документ сервиса этого устройства.
Затем отправитель и устройство устанавливают соединение друг с другом. На этапе 520 генерируется «паспорт» для клиента сервисов терминалов путем вызова соответствующих интерфейсов программирования приложений (API) на Уровне Дистанционной Поддержки. Этот паспорт дает информацию о том, как соединиться с Отправителем, и указывает режим для соединения (проецирование, расширенный настольный компьютер, показ конкретного приложения и т.д.). Затем на этапе 530 с помощью паспорта вызывается DS (определяющий символ) Сервиса Проектора протокола UPnP данного устройства. Иными словами, Отправитель посылает паспорт устройству. Устройство затем направляет паспорт на этапе 540 на Уровень Удаленной Поддержки на OS2 или другим Получателям. Паспорт декодируется и передается Клиенту TS2 Сервисов Терминалов на этапе 550. На этапе 560 Клиент TS2 Сервисов Терминалов соединяется с сервером TS1 и устанавливает соединение. На этапе 570 экранные данные Отправителя воспроизводятся на устройстве посредством протокола RDP.
Фиг.6 иллюстрирует примерную блок-схему, относящуюся к процессу управления альтернативным устройством отображения. Как только пользователь соединится с альтернативным устройством отображения на этапе 600, альтернативное устройство отображения возвращает «Маркер Сеанса», который на этапе 610 идентифицирует соединение данного лица. В данный момент времени одно лицо является «владельцем» альтернативного устройства отображения. Иными словами, первоначально имеется только одно лицо, которое сообщает альтернативному устройству отображения о соединении для проецирования. В дополнение, этот маркер используется для управления альтернативным устройством отображения. С помощью этого маркера пользователь может следующее: отсоединиться на этапе 620, изменить/извлечь настройки устройства отображения для своего сеанса на этапе 630, передать свое «владение» на этапе 640 и/или отключить свое соединение на этапе 650.
Для проецирования по принципу 1:1 пункт управления проектором использует интерфейс API, такой как API уровня SALEM, для генерации паспортов для установления соединения. Для проецирования по принципу 1:N и другого расширенного режима проецирования на мониторы в одном варианте осуществления проектор использует интерфейс API коммуникаций и совместной работы из уровня сервисов терминалов, обеспечивая возможность множеству клиентов принимать участие в сеансе с мультипроецированием. Интерфейс API также обеспечивает способ приглашения или неприглашения клиентов в сеанс проецирования. Целью пользовательского пункта управления является отображение списка доступных альтернативных устройств отображения, из которого пользователь может осуществить выбор для установления соединения.
Как описано выше, изобретение обеспечивает возможность обнаружения проектора в конференц-зале при беспроводной настройке, возможность спроецировать отображение в настольном компьютере на проектор (зеркальный режим 1:1), возможность спроецировать отображение в настольном компьютере на проектор и/или участвующим в заседании (1:m), даже в отсутствие проектора, основанного на WinCE, и возможность получения записей докладчика, а также показа слайдов на проекторе (расширенный многомониторный режим). Как упоминалось, изобретение также обеспечивает Пользовательский Интерфейс (интерфейсы) для простоты пользовательского взаимодействия при проецировании. Аспекты механизма (механизмов) пользовательского интерфейса описаны ниже более детально.
В соответствии с изобретением пользователь имеет возможность конфигурировать проецирование. Конфигурация пользовательского интерфейса (UI) может быть запущена с кнопки «Опции» в диалоговом окне в соответствии с изобретением, что позволяет пользователю осуществить любое из следующего: установить пароль для проецирования, выбрать режим клонирования (абсолютного копирования) или расширенный режим, выбрать разрешение экрана и выбрать видеорежим или аудио- и видеорежим. В одном варианте осуществления система устанавливается по умолчанию в режим клонирования, то есть разрешение экрана устанавливается по умолчанию на текущие настройки системы, и по умолчанию выбирается «аудио- и видеорежим».
В одном аспекте пользовательский интерфейс согласно изобретению позволяет пользователю указывать, желательно ли ему «проецировать» или «позволить другим проецировать» на его настольный компьютер. Если пользователь выбирает вариант «позволить другим проецировать», то машина входит в состояние «доступности для обнаружения», то есть машина начинает транслировать сообщение о своей доступности, так что ведущий узел (хост), который отслеживает доступные альтернативные устройства отображения, принимает указание, что данная машина доступна. Альтернативно, если пользователь принимает уведомление от кого-либо, желающего представить свой настольный компьютер, то у пользователя запрашивается принятие. Если выбран вариант «да» и проецирование защищено паролем, то пользователю предлагается ввести пароль.
После того как проецирование запущено, появляется окно проецирования клиента, которое показывает проецирование. В одном варианте осуществления окно включает в себя два элемента ввода (например, кнопки) - один для отсоединения и другой для конфигурирования. Конфигурирование позволяет пользователю выключить аудиорежим или разрешить другим пользователям принимать изображение, разрешая отправителю обнаруживать других возможных получателей содержимого. С помощью кнопки отсоединения текущий сеанс проецирования завершается, и окно проецирования исчезает. В одном неограничительном варианте осуществления презентатор не уведомляется о том, какие пользователи просматривают проецирование. В другом неограничительном варианте осуществления указатель превращается в лазерную красную точку при проецировании, предоставляя презентатору простой способ выделения определенных объектов при проецировании.
На фиг.7А-7Н показаны примеры экранных изображений различных сценариев пользовательских интерфейсов в соответствии с данным изобретением. На фиг.7А показан пример экранного изображения 700а, проецируемого на альтернативное устройство отображения в соответствии с изобретением. На фиг.7В показано экранное изображение 700b, где пользователь запрашивается об участии в заседании в качестве отправителя или получателя. На фиг.7С показан пример экранного изображения 700с, где пользователь выбирает альтернативные устройства отображения из списка. На фиг.7D показано экранное изображение 700d, где пользователю представляются дополнительные опции отображения. На фиг.7Е показано экранное изображение 700е, иллюстрирующее сценарий всплывающей части панели проектора, если доступен верхний уровень или простой для использования пользовательский интерфейс, такой как боковое меню. На фиг.7F показано экранное изображение 700f, иллюстрирующее проецируемое представление на альтернативном устройстве отображения, где указательное устройство имеет вид лазерной светящейся точки. На фиг.7G показано экранное изображение 700g, где презентатор запрашивает участника заседания об участии. На фиг.7Н показано экранное изображение 700h, где пользователь отвечает согласием и начинает получать окно проецирования для визуализации содержимого проецирования.
Если сервис сконфигурирован для разрешения пользователю проецировать на устройство отображения, то сервис может использоваться для нахождения зарегистрированных по протоколу UPnP проекционных устройств, запроса их текущего состояния, создания паспорта TS для установления соединения и отсоединения для выхода из сеанса.
MRM-сервис не требует сопряжения с TS. В одном варианте осуществления установление соединения достигается посредством интерфейса API протокола UPnP. Отсоединение и управление удаленным устройством отображения использует маркер сеанса, который возвращается от подсоединенного вызова. Простое получение информации статуса не требует использования каких-либо данных сеанса на проекторе (например, статуса проектора, разрешения и т.д.).
Дополнительно, предоставляемые пользовательские интерфейсы отображаются при текущих настройках устройства (например, DPI (точек на дюйм), разрешение). В результате размер остается согласованным для разных машин при различных DPI и разрешениях. Пользовательский интерфейс представляется таким способом, чтобы пользователю не требовалось решать вопросы управления окнами в ландшафтной и портретной ориентациях. Таким образом, в различных вариантах осуществления проецируемое экранное изображение согласуется с форматным соотношением устройства.
Ниже приведен не вводящий ограничений пример подмножества методов, используемых для поддержки сценариев проецирования в соответствии с возможным вариантом осуществления изобретения.
(1) Connect([in]BSTR bstrTicket, [in] BSTR bstrUser, [out, retval] BSTR *pbstrSession)
Этот метод направляет паспорт Сервисов Терминалов и имя пользователя в приложение, которое будет пытаться установить соединение с инициирующим источником. Он возвращает последовательность сеанса, которая может быть использована для управления устройством. В одном варианте осуществления, если никто не использовал устройство, то начальное состояние будет соответствовать переходу от 0 (доступен) к 3 (в использовании), когда соединение будет установлено. Если устройство использовалось, он не может немедленно управляться пользователем. Чтобы отсоединиться от сеанса, вызывается метод Отсоединения с использованием последовательности сеанса, возвращаемой из этого метода.
(2) Disconnect([in] BSTR bstrSession)
Этот метод обеспечивает отсоединение от сеанса, указанного параметром последовательности. Это значение то же самое, что и последовательность, возвращаемая из метода Соединения. В одном варианте осуществления состояние будет переходить от 3 (в использовании) к 2 (отсоединение) и 0 (доступен), по мере того как соединение аннулируется, и устройство возвращается к своим установкам по умолчанию.
События для следующих переменных возникают после того, как первоначальные значения будут обновлены: А_ТекущийПользователь, А_СледующийПользователь, А_СчетПользователей и А_СписокПользователей. Следует отметить, что сетевой протокол TS имеет функцию, называемую автовосстановление соединения, которая позволяет восстановить соединение в случае потери сети.
(3)SetDisplayMode ([in] BSTR bstrSession, [in] long DisplayMode)
Этот способ изменяет режим отображения, если параметр сеанса согласуется с параметром пользователя, который в текущий момент осуществляет управление устройством.
(4)Set Resolution ([in] BSTR bstrSession, [in] long width, [in] long height, [in] long colorDepth)
Данный метод устанавливает разрешение для сеанса.
(5) GetUserName ([in] long position, [out] BSTR *pbstrUser)
Данный метод извлекает имя пользователя.
В одном варианте, по отношению к свойствам, реализуются следующие функции, не накладывающие ограничений:
(1)get_A_State([out,retval] long *pState)
Это извлекает текущее состояние устройства в одном варианте осуществления, действительными значениями являются следующие:
СОСТОЯНИЕ ДИСПЛЕЯ_ДОСТУПНО = 0
СОСТОЯНИЕ ДИСПЛЕЯ_СОЕДИНЕНИЕ = 1
СОСТОЯНИЕ ДИСПЛЕЯ_ОТСОЕДИНЕНИЕ = 2
СОСТОЯНИЕ ДИСПЛЕЯ_В ИСПОЛЬЗОВАНИИ = 3
СОСТОЯНИЕ ДИСПЛЕЯ_ИНИЦИАЛИЗАЦИЯ = 4
Значение по умолчанию соответствует 0. Любое значение, отличное от 0, указывает, что устройство занято и что не делается никакая попытка соединения.
(2) get_A_DisplayMode([out,retval] long *pDisplayMode)
Это извлекает текущий режим отображения для устройства.
(3) get_A_CurrenUser([out,retval] BSTR *pbstrUser)
Это извлекает текущее имя текущего пользователя, который осуществляет управление.
(4) get_A_MaxUsers([out,retval] long *pcUsers)
Это извлекает максимальное число пользователей, которое устройство может обработать.
(5) get_A_Width([out,retval] long *pWidth)
Это извлекает текущее разрешение по горизонтали. В одном варианте осуществления значение может находиться в пределах от 800 до переменного значения MAXINT, которое имеет значение по умолчанию 1024. УстановкаРазрешения может быть использована для изменения этого значения.
(6) get_A_Height([out,retval] long *pHeight)
Это извлекает текущее разрешение по вертикали. В одном варианте осуществления значение может находиться в пределах от 600 до MAXINT, которое имеет значение по умолчанию 768. УстановкаРазрешения может быть использована для изменения этого значения.
(7) get_A_ColorDepth([out,retval] long *pColorDepth)
Это извлекает число битов на пиксель для цвета. В одном варианте осуществления значение может быть одним из следующих: 8, 16, 24, 32. Оно имеет значение по умолчанию 32, и для изменения этого значения может быть использована УстановкаРазрешения.
Изобретение может дополнительно комбинироваться с множеством существующих инфраструктур обеспечения доступности. Например, если у Роберта имеет место ограничение подвижности и отсутствие возможности управления двигательным мускулом ниже шеи, то Роберт может использовать экранную клавиатуру с электронным указательным устройством для реализации своих вычислительных целей, т.е. он может использовать сокращенные клавишные наборы, более крупные шрифты для выбора проецируемых отображений. В одном варианте осуществления изобретения выходные данные проектора могут считываться посредством устройства считывания экрана. Таким образом, Роберту предоставляется клавиатурный доступ ко всем функциям, в частности действиям с расширенным использованием мыши, например, для выбора проекторов и дисплеев портативных компьютеров согласно изобретению. Ускорители клавиатуры (например, сокращенные клавишные наборы) также обеспечиваются для элементов меню и управления. В одном варианте осуществления команда логической клавиатурной навигации используется в диалоговых окнах и для сходной группы объектов. В этом смысле, «логическое» обычно эквивалентно понятиям «слева направо», «сверху вниз», что может изменяться для интернациональных пользователей, в зависимости от языка и национальной культуры.
В одном варианте осуществления цвет в одиночку не используется для различения между элементами, гарантируя, что вся информация, передаваемая цветом, также доступна без использования цвета. В отношении системных установок в различных вариантах осуществления изобретение поддерживает установки панели управления для цветов, где возможно, в остальном позволяя пользователям осуществлять пользовательские настройки цветов. Изображения рисуются с использованием стандартных цветов переднего плана и фона. Также, если флаг высокого контраста установлен посредством панели управления доступностью, растровые изображения или иные сложные фоны за текстом и управления опускаются, изображения вычерчиваются как монохромные вместо многоцветных и специфические для приложения цвета заменяются стандартной системой цветов, определенной посредством Панели Управления, с минимально возможными для использования комбинациями цветов. Объекты вычерчиваются с использованием размеров (т.е. экранных метрик), выбранных на Панели Управления. Также, если вычерчиваются линии, определяется надлежащая толщина вместо использования постоянного значения. Кроме того, в различных вариантах осуществления любые пользовательские настройки управления включают в себя свойства активизируемой доступности.
Расстояние и препятствия могут ухудшить рабочие показатели беспроводной передачи. Поэтому в различных вариантах осуществления изобретения предусмотрено отображение пиктограммы с помощью механизма (механизмов) пользовательского интерфейса согласно изобретению, которая указывает на качество сигнала. Может быть представлено предварительно определенное число уровней качества сигнала в соответствии с наличием препятствий, расстоянием и скоростью передачи данных, которую необходимо поддерживать.
Изобретение также может комбинироваться с методами интернационального языкового и многоязычного интерфейса (MUI), так что содержимое при доставке в устройство иностранного пользователя, при необходимости, может отображаться в соответствии с языком данного иностранного пользователя.
Проецирование согласно изобретению, основанное на сети IP-протокола, может быть как проводным, так и беспроводным. Например, в проводном варианте, Джозефу, находящемуся в своем офисе (оборудованном проводными линиями связи), желательно спроецировать подзаголовок слайда гостю в его офисе, у которого имеется портативный компьютер (соединенный проводной линией или беспроводным способом). Следует отметить, что изобретение применимо к любому вычислительному устройству, персональному компьютеру или иному средству, а не только к мобильным устройствам.
В различных вариантах проецирование в режиме 1:1 включает в себя обнаружение, соединение с альтернативным устройством отображения и передачу данных. Обнаружение может быть инициировано пользователем или осуществляться автоматически в фоновом режиме, когда пользователь выполняет некоторую задачу или система находится в состоянии ожидания и т.п. Проецирование в режиме 1:1 может быть расширенным или зеркальным. В расширенном случае имеется пользовательский интерфейс для обеспечения возможности просмотра презентации на альтернативном устройстве отображения. Например, может иметься презентация по программе PowerPoint, представляемая на проекторе, и желательно перейти к следующему слайду с примечаниями докладчика на экране портативного компьютера. В этом случае можно использовать пользовательский интерфейс (UI) на экране портативного компьютера для выделения отдельных элементов слайда или перейти к следующему слайду. Соответственно, изобретение включает в себя сценарий, когда может иметься некоторая часть изображения отправителя (например, примечания), которые отправителю нежелательно показывать на стороне воспроизведения, а также включает в себя сценарий, когда может иметься часть изображения отправителя, которая не является на стороне воспроизведения частью обычного проецирования данных, а добавляется к проецированию, так что просматривается на стороне воспроизведения.
В различных вариантах осуществления проецирование в режиме 1:n включает в себя уведомление, направляемое в сеть, о происходящей презентации. Также с презентацией могут быть связаны правила, которые являются модифицируемыми/расширяемыми. Примерами правил являются следующие: (А) Пользователи, которые могут присоединиться к презентации/просматривать презентацию, (В) Пароль или иная аутентификация презентации, (С) Аннотирование презентации на стороне просматривающего пользователя и/или запись/хранение аннотаций и (D) Правоприменение правил Распоряжения Правами на Содержимое, например возможность запрета на распечатку изображения экрана для слайда.
Проецирование также включает в себя возможность трансляции презентации по сети, но не пользователям, которые в текущее время находятся в сети. В альтернативных вариантах осуществления может быть реализовано обнаружение, основанное не на протоколе UPnP. Хотя обнаружение может быть реализовано посредством протокола IP, как описано выше, обнаружение также может быть реализовано посредством любого протокола, то есть может непосредственно производиться тестовый опрос машины, чтобы убедиться, происходит ли презентация.
В качестве части пользовательских действий, в одном варианте осуществления пользователи могут ввести режим «просмотр презентации» и просмотреть список презентаций, происходящих в сети. Приемник может также принимать уведомления, относящиеся к презентации, например уведомление, что презентация осуществляется поблизости или что кто-либо конкретно желает осуществить вам презентацию.
Изобретение также включает возможность передать управление презентацией другому подсоединенному пользователю, причем любой пользователь может передать управление презентацией другому пользователю. Как упомянуто выше, могут иметь место права администрирования, переданные лицом, владеющим презентацией, касающиеся того, кто может принять управление презентацией, и каков уровень управления и т.д. Пользовательские действия по предоставлению списка лиц, в текущий момент просматривающих презентацию, включают возможность добавления или удаления некоторых лиц, если на это предоставлены права. Изобретение также включает возможность присутствия на множестве презентаций одновременно с изменяющимися степенями управления, то есть правила могут назначаться для каждой презентации.
Изобретение также включает возможность комбинировать сценарии проецирования в режиме 1:1 и 1:n, если возможно. Поскольку альтернативные устройства отображения, такие как проектор, могут иметь очередь устройств, желающих использовать альтернативные устройства отображения для их соответствующих презентаций, изобретение включает в себя механизм управления очередностью презентаций, осуществляемых устройствами. Возможность для любого приложения запустить режим в презентации, т.е. просмотр или запуск новой презентации.
Как отмечено, изобретение включает возможность конфигурировать то, что представляется в текущий момент, т.е. аудио- и видеоданные, только аудиоданные или только видеоданные. В одном варианте осуществления изобретение также включает в себя функцию «лазерной указки», т.е. пользователь может временно выделить некоторые элементы в текущей презентации в процессе представления с помощью дополнительного механизма ввода, соответствующего дополнительному эффекту отображения, такому как «лазерная указка». Например, движения мыши могут преобразовываться для имитации лазерной указки со следом.
В других вариантах осуществления изобретение обеспечивает системы и способы для управления дистанционным представлением содержимого в общедоступном и приватном аспектах. В этом отношении изобретение проводит различие между общедоступным содержимым презентации, которая предназначается для посылки (т.е. передачи на расстояние, трансляции или передачи иным образом) на клиентские устройства (другие портативные компьютеры, проектор и т.д.), и приватным содержимым презентации, которое предназначается для сохранения своей функциональности, например, для отображения на серверном вычислительном устройстве, с которого дистанционно передается общедоступное содержимое. В одном варианте осуществления пользовательского интерфейса, соответствующего изобретению, по умолчанию содержимое, генерируемое или изменяемое перед или одновременно с действием опубликования, например, таким как «распечатка» в журнал в контексте планшетного РС, является общедоступным содержимым, а изменения (например, аннотации, подсвечивание, другие дополнения, маскирование общедоступного содержимого, удаления и т.д.) в содержимом, осуществленные после действия опубликования, образуют основу для приватного содержимого. В другом варианте осуществления пользовательского интерфейса согласно изобретению пользователь может предпринимать некоторое действие по отношению к содержимому и обозначать некоторое или все полученное в результате содержимое, добавленное, замаскированное или удаленное посредством этого действия, как приватное. Следовательно, в процессе действия передачи на расстояние содержимого клиентские устройства отображают только общедоступное содержимое, в то время как приватное содержимое остается для отображения на серверном устройстве.
Предпочтительным образом, презентация, включающая в себя приватное содержимое на серверном устройстве, остается синхронизированной с отображением на клиентских устройствах; например, когда визуализируется показ слайдов, то изменение слайда на серверном устройстве соответственно изменяет слайд на клиентских устройствах. Также предпочтительным образом презентатор может управлять отображением статического общедоступного содержимого, посланного на клиентские устройства посредством механизма пользовательского интерфейса, предусмотренного изобретением, при сохранении возможности просматривать приватное содержимое на серверном вычислительном устройстве (например, путем ввода команд листания вперед или обратно или других подобных команд для показа слайдов в программе PowerPoint).
В этом отношении при представлении содержимого с использованием программного обеспечения, например PowerPoint, Journal, Excel, Word, XTML, HTML и т.д., презентатор в типовом случае может располагаться спиной к экрану. Например, может оказаться сложным гарантировать то, чтобы аудитория наблюдала тот материал, о котором говорит докладчик, что требует от докладчика обращаться за помощью к другому лицу, чтобы переключать демонстрацию общедоступных слайдов, или если докладчик сам осуществляет переключение подзаголовков слайдов, то он должен время от времени бросать взгляд на экран, чтобы гарантировать, что демонстрируемый подзаголовок находится в нужном месте, что может нарушать непрерывность презентации. Изобретение обеспечивает дистанционное продвижение общедоступной презентации подзаголовков слайдов, по мере того как докладчик продвигается с общедоступной презентацией на своем компьютере. Соответственно, изобретение предпочтительным образом обеспечивает возможность докладчику аннотировать копию подзаголовка с использованием возможностей компьютера, но при отображении для аудитории отображаются только «общедоступные» части подзаголовка, а приватные аннотации остаются скрытыми от публичного просмотра. Например, докладчик может аннотировать каждый слайд презентации отмеченными чернилами моментами, которые он хотел бы акцентировать, или моментами дополнительного обсуждения. Когда такой подзаголовок слайда затем отображается (под управлением вычислительного устройства докладчика), соответствующие изобретению функции дистанционного управления гарантируют, что аудитория будет смотреть на тот же самый слайд, что и показываемый на РС докладчика, в то время как соответствующая изобретению функция демонстрации общедоступного и приватного материала скрывает приватные аннотации/изменения, так что отображаются только общедоступные части подзаголовков слайдов.
Примерный слайд 800 из показа слайдов представлен на фиг.8А. Примерное общедоступное содержимое 810 показа слайдов включает в себя заголовок «Содержание» и различные обсуждаемые вопросы, включая «Введение», «Текущее состояние», «Вопросы для рассмотрения» и «Следующие этапы». Как и в случае других вариантов осуществления, рассмотренных выше, описываемые в данный момент варианты осуществления также обеспечивают возможность распространения содержимого 810 от вычислительного устройства в контексте презентации к группе пользователей, независимо от того, находятся ли они в том же самом помещении или рассредоточены на удалении. В одном варианте осуществления рассматривается вычислительное устройство типа пишущего узла, такое как планшетный РС. Например, вычислительные устройства типа пишущего узла являются широко используемыми инструментами для аннотирования документов, например, в презентации с показом слайдов. Таким образом, как показано на фиг.8В, слайд 800, включающий в себя общедоступное содержимое 810, может быть аннотирован примечаниями докладчика, рисунками, видеоданными, фотографиями, текстом и тому подобным материалом. В качестве примера, аннотации 840 дают докладчику, показывающему слайды, условные знаки, указывающие на конкретные вопросы, которые он должен затронуть при представлении слайда 800. В качестве другого примера, часть слайда 800 может быть выделена подсветкой 830. В каждом из этих случаев докладчику может быть желательным дистанционно переслать только общедоступное содержимое 810. Соответственно изобретению, в связи с выполнением действия, такого как аннотирование или выделение, которое изменяет содержимое, автор обозначает результаты действия как приватное содержимое, так что это приватное содержимое может (факультативно) отображаться на серверном устройстве, с которого общедоступное содержимое доставляется на клиентские устройства. Как упомянуто выше, режим, установленный по умолчанию, может также определить, какое содержимое является общедоступным, а какое является приватным. Например, как только содержимое планшетного РС опубликовано в журнале, содержимое становится общедоступным, в то время как, по умолчанию, последующие изменения содержимого могут рассматриваться как приватные. Таким образом, если содержимое (общедоступное и приватное) согласно фиг.8В дистанционно посылается на клиентские устройства, например на другие портативные компьютеры, проекторы и т.д., клиентские устройства получают представление, показанное на фиг.8А.
В другом подобном сценарии, иллюстрируемом на фиг.8С, автору может быть желательным удалить или замаскировать детали из общедоступного содержимого 810, например, чтобы абстрагироваться от деталей презентации. Например, общедоступное содержимое 810 может включать в себя видеоданные, фотоснимки и тому подобное, рассматриваемое докладчиком как отвлекающее от сущности вопроса при осуществлении презентации. Соответственно, как показано на фиг.8С, автор может удалить или иным образом отфильтровать или замаскировать часть общедоступного содержимого 810 и обозначить стирание/маскирование 850 как приватное, так что когда содержимое (общедоступное и приватное) согласно фиг.8С посылается дистанционно на клиентские устройства, то клиентские устройства получают представление, показанное на фиг.8А, в то время как серверное устройство будет отображать представление согласно фиг.8С. Факультативно, презентатор может отключить опцию различения приватного/общедоступного материала, при этом клиентские устройства будут также получать приватное содержимое. Презентатор также может выбрать вариант просмотра только общедоступного содержимого (или только приватного содержимого).
Таким образом, изобретение может быть реализовано в контексте документа, который должен быть передан на альтернативные устройства отображения, причем документ может рассматриваться в двух версиях, то есть в первой версии документа, являющейся общедоступной, и во второй версии (отличающейся некоторым образом от первой версии), которая включает в себя приватное содержимое, причем приватное содержимое представлено разницей между первой и второй версиями (как добавлениями, так и удалениями). Как упомянуто, хотя изобретение не ограничено указанным, вычислительные устройства с пишущим узлом, такие как планшетный персональный компьютер (TabletPC), обеспечивают примерную среду для реализации изобретения. Например, планшетный РС имеет средства импортирования файлов в журнал (первая версия), причем после этого планшетное перо может быть использовано для аннотирования или изменения иным образом изображений документа (вторая версия). Файлы импортируются в Журнал путем «распечатки» их в Журнал. Отчеты, формы, презентации, электронные таблицы, графика, фотоснимки, Web-страницы и т.д. могут импортироваться в Журнал. В этом отношении, если документ может быть напечатан, он может быть импортирован в Журнал и аннотирован без изменения любого исходного содержимого импортированного файла. Например, если пользователь находится в пути на совещание, он может импортировать повестку дня совещания (например, файл переносимого формата документов (pdf), документ текстовой обработки, электронную таблицу, файл показа файлов, файл электронной почты и т.д.). Затем с использованием планшетного пера на повестке дня могут быть сделаны пометки касательно вопросов, которые должны обсуждаться. Отношение пользователя к документу может быть просто записано и просмотрено. Например, пользователь может спроецировать содержимое планшетного РС на монитор с большим экраном в конференц-зале, импортировать изображение документа в Журнал и/или инициировать внесение комментариев в изображение документа.
Программа записи Журнала является виртуальным печатающим устройством, которое управляет импортом изображений документов в записи Журнала. Любая программа, которая позволяет осуществлять печать, может таким образом посылать документ в программу записи Журнала точно таким же образом, как если бы осуществлялась печать на физическом принтере. Журнал может затем преобразовать документ в изображение документа, которое используется в качестве фона для записи в Журнал. В Журнале изображение документа может быть создано по меньшей мере тремя путями: с использованием команды печати из другой программы (полезно, если файл открыт в другой программе), с использованием команды Импорта Журнала (полезно, если пользователь работает в Журнале и хочет импортировать файл) и/или с использованием операции графического интерфейса «перетащить и оставить» в программном обеспечении поиска, таком как Windows Explorer (полезно для «перетаскивания» файла непосредственно в Журнал). Любой файл, импортируемый в Журнал, импортируется в новую запись, как набор фоновых изображений. Содержимое этих фоновых изображений не может быть изменено в Журнале, и, соответственно, эти фоновые изображения подходят для использования в качестве общедоступного содержимого презентации, посылаемого на альтернативные устройства отображения в соответствии с изобретением.
Имеется множество путей реализации настоящего изобретения, например, соответствующий интерфейс программирования интерфейса (API), набор инструментальных средств, код драйверов, операционная система, управление, изолированный или загружаемый объект программного обеспечения и т.д., что позволяет приложениям и сервисам использовать системы и методы беспроводного проецирования согласно изобретению. Изобретение предполагает использование изобретения с точки зрения интерфейса API (или другого объекта программного обеспечения), а также из объекта программного обеспечения или аппаратных средств, который принимает содержимое и/или делает запросы в соответствии с протоколами обнаружения устройств и приема и доставки содержимого в соответствии с изобретением. Таким образом, различные реализации изобретения, описанные в настоящем документе, могут иметь аспекты, соответствующие полностью аппаратным средствам, частично аппаратным средствам и частично программному обеспечению, а также полностью программному обеспечению.
Как упомянуто выше, хотя приведенные для примера варианты осуществления изобретения описаны в связи с различными вычислительными устройствами и сетевыми архитектурами, основополагающие принципы могут быть применены к любому вычислительному устройству или системе, в которых желательно спроецировать содержимое на другое устройство или принять проецируемое содержимое от другого устройства. Например, реализации изобретения на основе алгоритмов и аппаратных средств могут быть применены к операционной системе вычислительного устройства, обеспечиваемой как отдельный объект на устройстве, как часть другого объекта, как повторно используемое управление, как загружаемый объект с сервера, как «посредник» между устройством или объектом и сетью, как распределенный объект, как аппаратное обеспечение, в памяти, как комбинация любых вышеуказанных средств и т.д. Хотя иллюстративные языки программирования, имена и примеры выбраны как репрезентативные для различных вариантов выбора, эти языки, имена и примеры не накладывают никаких ограничений. Специалисту в данной области техники должно быть понятно, что имеется множество способов обеспечения объектного кода и номенклатуры, которая обеспечивает, по существу, ту же самую, сходную или эквивалентную функциональность, реализуемую в различных вариантах осуществления изобретения.
Как упомянуто, различные методы, описанные выше, могут быть реализованы во взаимосвязи с аппаратными средствами или программным обеспечением, или, где уместно, комбинацией того и другого. Таким образом, способы и устройства согласно настоящему изобретению или некоторые их аспекты или части могут принимать форму программного кода (т.е. команд), воплощенного в материальных носителях, например, таких как дискеты, CD-ROM, накопители на жестких дисках или любые другие машиночитаемые носители, при этом когда программный код загружается в машину, например в компьютер, и исполняется в ней, то такая машина становится устройством для реализации изобретения. В случае исполнения программного кода на программируемых компьютерах вычислительное устройство в общем случае содержит процессор, носитель для хранения данных, считываемый процессором (включая энергозависимую и энергонезависимую память и/или элементы хранения), по меньшей мере одно устройство ввода и по меньшей мере одно устройство вывода. Одна или более программ, которые могут реализовать или использовать методы беспроводного проецирования содержимого согласно настоящему изобретению, например, путем использования интерфейсов API обработки данных, многократно используемых элементов управления и т.п., предпочтительно реализуются на высокоуровневом процедурном языке или языке объектно-ориентированного программирования для информационного обмена с компьютерной системой. Однако программа (программы) может (могут) быть реализована (реализованы), если необходимо на языке ассемблера или машинном языке. В любом случае язык может быть компилируемым или интерпретируемым языком и может комбинироваться с аппаратными реализациями.
Способы и устройство согласно настоящему изобретению могут также быть реализованы посредством информационного обмена, воплощенного в форме программного кода, который передается в некоторой среде передачи, такой как электрические провода или кабели, волоконно-оптические линии, или посредством некоторой другой формы передачи, причем, когда программный код принимается и загружается в машину, например в EEPROM, вентильную матрицу, программируемое логическое устройство (PLD), клиентский компьютер и т.д., и исполняется в ней, машина становится устройством для реализации изобретения. При реализации на универсальном процессоре программный код объединяется с процессором для обеспечения уникального устройства, которое действует для активизации функциональности настоящего изобретения. Дополнительно, любые методы хранения, используемые в связи с настоящим изобретением, могут без исключений представлять собой комбинацию аппаратных средств и программного обеспечения.
Хотя настоящее изобретение описано в связи с предпочтительными вариантами, представленными на чертежах, ясно, что могут быть использованы другие подобные варианты осуществления или модификации и дополнения могут быть осуществлены в отношении описанного варианта для выполнения той же функции настоящего изобретения без отклонения от его сущности. Например, хотя приведенные для примера сетевые среды настоящего изобретения описаны в контексте такой сетевой среды, как среда одноранговых сетевых узлов, специалисту должно быть понятно, что настоящее изобретение не ограничено этим и что способы, описанные в настоящей заявке, могут применяться к любому вычислительному устройству или среде, таким как игровая приставка, карманный компьютер, портативный компьютер и т.д., как в проводном, так и в беспроводном режиме, и могут быть применены к любому количеству таких вычислительных устройств, соединенных посредством коммуникационной сети и взаимодействующих через сеть. Кроме того, следует подчеркнуть, что предусматривается применение различных компьютерных платформ, включая операционные системы портативных устройств и другие специфические для приложений операционные системы, особенно по мере того как беспроводные сетевые устройства получают все большее распространение.
Хотя приведенные для примера варианты осуществления относятся к использованию настоящего изобретения в контексте настольных компьютеров и проекторов, изобретение не ограничено этим, а может быть реализовано для обеспечения беспроводной доставки содержимого с любого одного вычислительного устройства, включающего в себя функциональность, соответствующую изобретению, на один или более других вычислительных устройств, также включающих в себя функциональность согласно настоящему изобретению. Кроме того, даже не требуется, чтобы вычислительное устройство-источник независимо имело дисплей. Например, с помощью мобильного устройства хранения с минимальными ресурсами обработки содержимое может доставляться от мобильного устройства хранения на альтернативное устройство отображения согласно изобретению без независимых возможностей отображения. Дополнительно, настоящее изобретение может быть реализовано на микросхеме или множестве микросхем или устройств обработки, и память также может быть распределена по множеству устройств. Поэтому настоящее изобретение не ограничивается каким-либо одним вариантом осуществления, а должно интерпретироваться по широте и объему в соответствии с прилагаемой формулой изобретения.