СПЕЦИФИЧНЫЕ ДЛЯ КОМПОНЕНТОВ ИСТОРИИ ПРЕДСТАВЛЕНИЯ ПРИЛОЖЕНИЙ
APPLICATION PRESENTATION HISTORY COMPONENTS SPECIFIC

РОДСТВЕННЫЕ ЗАЯВКИ
[0001] По этой заявке испрашивается приоритет заявки на патент США № 14/495,181, озаглавленной «Специфичные для компонентов истории представления приложений» и поданной 24 сентября 2014, которая включена в настоящее описание посредством ссылки.
УРОВЕНЬ ТЕХНИКИ
[0001] В области вычислений многие сценарии предусматривают представление приложения с помощью устройства, имеющего по меньшей мере два компонента представления. В качестве первого такого примера, устройство может содержать два или более дисплеев и может представлять вычислительную среду через два или более дисплеев. В качестве второго такого примера, дисплей может содержать дисплей и пару головных телефонов и может представлять приложение визуально на дисплее и/или с помощью звука через головные телефоны. В качестве третьего такого примера устройство может иметь доступ к компонентам дистанционного дисплея одного или нескольких других устройств, таких как сеансы дистанционного терминала, проекторы или наборы дистанционных громкоговорителей, и может передавать представление приложения одному или нескольким компонентам дистанционного дисплея для представления.
[0002] Метод выбора компонента представления, на который необходимо представить приложение, часто делегируется пользователю. В качестве первого такого примера, среди нескольких дисплеев, которые доступны для устройства, пользователь визуального приложения может указать выбранный дисплей (например, перемещая окно на конкретный дисплей), и устройство может отобразить приложение на выбранном дисплее. В качестве второго такого примера, пользователь может запросить воспроизвести музыку, и устройство может представить список аудиоустройств, которые доступные для устройства и способны воспроизводить музыку для пользователя. Пользователь может затем выбрать аудиоустройство, и устройство может воспроизвести музыку через выбранное аудиоустройство.
[0003] Дополнительно, многие из таких устройств хранят историю приложений, которые были представлены в вычислительной среде устройства. Например, переключатель приложений или список «Alt-Tab» могут указывать набор недавно представленных приложений, опционально включая порядок представления приложений, в котором приложения были представлены и/или активированы пользователем (например, текущее приложение и предыдущее приложение). После приема запроса на переход от текущего приложения ко второму приложению (такому как «следующее» приложение согласно порядку приложений), устройство может перейти в вычислительной среде ко второму приложению (например, повышая «порядок по оси Z» окна для приложения в стеке окон, представленных на дисплее устройства, чтобы представить второе приложение на переднем плане вычислительной среды).
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0004] Эта сущность изобретения обеспечена, чтобы представить набор концепций в упрощенной форме, которые дополнительно описываются ниже в подробном описании. Эта сущность изобретения не предназначена для идентификации ключевых факторов или существенных признаков заявленного предмета изобретения, также она не предназначена для использования в качестве ограничения объема заявленного предмета изобретения.
[0005] Представление приложений в вычислительной среде устройства может демонстрировать различные ограничения, отчасти из-за сложности и/или надежности современных устройств, в частности, для устройств, имеющих доступ ко множеству компонентов представления.
[0006] В качестве первого такого примера, устройство может иметь сравнительно большое число компонентов представления, и пользователь может исполнять на нем сравнительно большое количество приложений. Выбор второго приложения, к которому пользователь хочет перейти, может быть трудным из-за большого количества приложений, которые могут быть включены в историю представления приложений. Например, если пользователь хочет переместиться назад в истории представления приложений (такой как стек приложений), приложение, которое хочет активировать индивидуум, может быть расположено глубоко в истории представления приложений, и у пользователя может занять некоторое время поиск приложения, которое пользователь хочет, чтобы было представлено.
[0007] В качестве второго такого примера, компоненты представления устройства могут варьироваться в различных отношениях; например, некоторые устройства могут быть ассоциированы с различными модальностями ввода-вывода, местоположениями или пользовательскими контекстами. Кроме того, пользователь может намереваться запросить представление приложения на конкретном компоненте представления, но может не указать, каком компоненте представления. Однако, может быть трудно определить идентификацию компонента представления конкретного приложения.
[0008] В настоящем описании представлены методики, позволяющие устройствам облегчить для пользователя навигацию между представлениями приложений на устройстве. В соответствии с этими методиками для соответствующих компонентов представления, которые доступны для устройства, устройство может генерировать историю представления приложений, которая идентифицирует представления приложений для приложений, которые были представлены через компонент представления. В ответ на представление представления приложения выбранного приложения через выбранный компонент представления, приложение может записать представление приложения в истории представления приложений выбранного компонента представления; и в ответ на прием запроса на переход выбранного компонента представления от текущего приложения, устройство может выбрать второе приложение из истории представления приложений выбранного компонента представления и переход выбранного компонента представления от текущего приложения ко второму приложению.
[0009] В качестве одного такого примера, приложение может генерировать список переключения приложений (например, список «Alt-Tab» или стек приложений) для каждого компонента представления, указывая представления приложений, которые были представлены на устройстве. Когда пользователь указывает запрос на переход выбранного компонента дисплея от текущего приложения (например, операцию «Назад»), устройство может идентифицировать приложения, которые, в частности, отображались на выбранном дисплее, и может представить второе или «следующее» приложение из истории представления приложений на дисплее. Таким образом, методики, представленные в настоящем описании, могут позволить устройству облегчить для пользователя навигацию между представлениями приложений на различных компонентах представления устройства.
[0010] Для достижения приведенных выше и связанных с ними целей в следующем ниже описании и прилагаемых чертежах излагаются некоторые иллюстративные аспекты и реализации. Они указывают лишь некоторые из различных путей того, как могут использоваться один или несколько аспектов. Другие аспекты, преимущества и новые признаки раскрытия будут очевидны из следующего ниже подробного описания при рассмотрении в сочетании с прилагаемыми чертежами.
ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0011] Фиг. 1 является иллюстрацией примера сценария, показывающего представление приложений на различных компонентах представления устройства.
[0012] Фиг. 2 является иллюстрацией примера сценария, показывающего представление приложений на различных компонентах представления устройства, в соответствии с методиками, представленными в настоящем описании.
[0013] Фиг. 3 является блок-схемой последовательности операций иллюстративного способа представления приложений на устройстве, имеющем по меньшей мере два компонента представления, в соответствии с методиками, представленными в настоящем описании.
[0014] Фиг. 4 является блок-схемой компонента иллюстративной системы, обеспеченной для представления приложения на устройстве, имеющем по меньшей мере два компонента представления, в соответствии с методиками, представленными в настоящем описании.
[0015] Фиг. 5 является иллюстрацией примера машиночитаемого носителя, содержащего исполнимые процессором инструкции, выполненные с возможностью воплощения одного или нескольких положений, изложенных в настоящем описании.
[0016] Фиг. 6 является иллюстрацией примера сценария, показывающего переход компонента представления от представления текущего приложения к представлению второго приложения в соответствии с последовательностью выполнения задачи, в соответствии с методиками, представленными в настоящем описании.
[0017] Фиг. 7 является иллюстрацией примера сценария, показывающего форматирование статьи для представления на различных компонентах представления в соответствии с возможностями представления и политикой представления, в соответствии с методиками, представленными в настоящем описании.
[0018] Фиг. 8 является иллюстрацией примера сценария, показывающего управление представлениями приложений на компонентах представления устройства, в соответствии с методиками, представленными в настоящем описании.
[0019] Фиг. 9 является иллюстрацией примера сценария, показывающего рекомендации пользователю в выборе компонента представления для представления приложения, в соответствии с методиками, представленными в настоящем описании.
[0020] Фиг. 10 является иллюстрацией примера вычислительной среды, в которой могут быть реализованы одно или несколько положений, изложенных в настоящем описании.
ПОДРОБНОЕ ОПИСАНИЕ
[0021] Теперь будет описан заявленный предмет изобретения со ссылкой на чертежи, на которых одинаковые номера позиций используются для обозначения одинаковых элементов. В следующем ниже описании с целью пояснения изложены многочисленные конкретные подробности для обеспечения полного понимания заявленного предмета изобретения. Однако может быть очевидно, что заявленный предмет изобретения может быть реализован на практике без этих конкретных подробностей. В других случаях структуры и устройства показаны в форме блок-схемы для облегчения описания заявленного предмета изобретения.
[0022] A. Введение
[0023] Фиг. 1 представляет собой иллюстрацию примера сценария 100, показывающего взаимодействие пользователя 102 с устройством 104, использующим набор компонентов 106 представления для представления набора приложений 108. В этом иллюстративном сценарии 100 компоненты 106 представления устройства 104 включают в себя два различных дисплея; пару громкоговорителей; и пару головных телефонов. Приложения 108, представленные вычислительной средой устройства 104, включают в себя различные функциональные возможности, такие как текстовый редактор, используемый для создания отчетов; клиент обмена сообщениями, такой как почтовый клиент, который представляет ряд сообщений; веб-браузер, который взаимодействует с веб-серверами по сети и воспроизводит веб-страницы; медиапроигрыватель, который воспроизводит различные виды аудиовизуальной информации, такой как музыка, видео и аудиокниги; приложение для оповещения, которое представляет оповещения пользователю 102 на различные темы, такие как экстренные новости, погода или получение почты; и речевой аватар, который взаимодействует с пользователем 102 через речевой интерфейс.
[0024] Как показано далее в этом иллюстративном сценарии 100, чтобы обеспечить доступ к различным приложениям 108, устройство 104 может позволить пользователю 102 указать компонент 106 представления, который должен использоваться для каждого приложения 108. В качестве первого примера, пользователь 102 может пожелать, чтобы приложение 108 текстового редактора было представлено на первом дисплее, и, таким образом, может создать экземпляр приложения 108 текстового редактора и расположить окно, содержащее приложение 108, в конкретной области первого дисплея. В качестве второго примера, пользователь 102 может пожелать посмотреть почту и на первом дисплее, и на втором дисплее, и, таким образом, может запросить приложение 108 почтового клиента воспроизвести различные сообщения на каждом дисплее. В качестве третьего примера, пользователь 102 может запросить воспроизвести различные типы выходных аудиоданных через медиапроигрыватель на различных аудиоустройствах (например, воспроизвести музыку через громкоговорители, при этом воспроизводя аудиокнигу через головные телефоны), и поэтому может запросить медиапроигрыватель 108 направить каждый аудиопоток к соответствующему аудиоустройству.
[0025] Как показано далее в этом иллюстративном сценарии 100, поскольку пользователь 102 использует приложения 108, устройство 104 может генерировать и сохранять стек 110 приложений, с порядком 112 стека, упорядоченным по убыванию, в соответствии с хронологически самым последним доступом к приложениям 108 пользователя 102. Например, если пользователь 102 выбирает приложение 108 текстового редактора, устройство 104 может переместить приложение 108 текстового редактора на самый верх 114 стека 110 приложений (например, указывая, что приложение 108 текстового редактора в настоящий момент имеет фокус ввода и/или является «самым верхним» приложением 108, которое имеет самую последнюю дату активации пользователем среди всех приложений 108 устройства 104). Устройство 104 может воспроизводить приложения 108 в стеке 110 приложений различным образом; например, используя порядок по оси Z приложений 108, устройство 104 может представить приложение 108 на самом верху 114 стека 110 приложений на переднем плане, и может представить следующие за ним приложения 108 с более низким порядком по оси Z на все более и более заднем плане. Кроме того, пользователь 102 может запросить приложение 108 использовать несколько компонентов 106 представления одновременно; например, приложение 108 почтового клиента может одновременно представлять сообщения на каждом из двух устройств, и веб-браузер 108 может представлять веб-страницу на компоненте 106 представления, являющемся дисплеем, и воспроизводить аудио, связанное с веб-страницей, через компонент 106 представления, являющийся громкоговорителем. В частности, как показано в иллюстративном сценарии 100 на фиг. 1, устройство 104 использует общий стек 110 приложений, где создание экземпляра и/или вызов любого приложения 108 вызывает добавление записи в стек 110 приложений, независимо от того, где представлено приложение 108.
[0026] Устройство 104 может также использовать стек 110 приложений, чтобы позволить пользователю 102 перемещаться между приложениями 108. В качестве первого такого примера, если пользователь 102 инициирует операцию 116 «назад», запрашивающую переход устройства 104 от текущего приложения 108 на самом верху 114 стека 110 приложений, устройство 104 может идентифицировать второе приложение 108, которое находится ниже в стеке 110 приложений, и может переупорядочивать порядок 114 стека 110 приложений, чтобы разместить второе приложение 108 выше текущего приложения 108, до этого находящегося на самом верху 114 стека 110 приложений. В качестве второго такого примера, устройство 104 может представить пользователю 102 полный список всех приложений 108, которые в настоящий момент исполняются на устройстве (например, список процессов) для выбора конкретного приложения 108; и в ответ на инициацию такого выбора приложения 108 пользователем 102 устройство 104 может поместить выбранное приложение 108 на самый верх 114 стека 110 приложений. В качестве третьего такого примера, устройство 104 может представить пользователю 102 список или меню 118 всех приложений 108, которые доступны и могут исполняться на устройстве 104. В ответ на прием выбора такого приложения 108 от пользователя 102 устройство 104 может создать экземпляр приложения 108, если оно еще не выполняется (или может создать дополнительный экземпляр, если приложение 108 уже выполняется), может вставить выбранное приложение 108 на самый верх 114 стека 110 приложений и может представить экземпляр приложения пользователю 102. Таким образом, устройство 104 может позволить пользователю 102 использовать множество методик, позволяющих пользователю 102 перемещаться между приложениями 108, выполняющимися на устройстве 104.
[0027] Однако, иллюстративный сценарий 100 на фиг. 1 также иллюстрирует ряд недостатков, которые могут возникать в реализациях таких методик выбора приложений.
[0028] В качестве первого такого примера, устройство 104 может включать в себя сравнительно большой набор компонентов 106 представления. Такие компоненты 106 представления могут быть даже дистанционной формой физического местонахождения устройства 104, такого как проектор или громкоговоритель, расположенный в другой комнате, здании или городе. Пользователь 102 может быть недоволен необходимостью выбирать для каждого приложения 108 устройство 106 представления, на котором может быть представлено приложение 108. Если устройство 104 содержит большое количество дисплеев, у пользователя 102 может вызывать недовольство необходимость выбирать и управлять выбором конкретного компонента 104 представления, на который представляется приложение 108. Например, представление полного списка приложений 108 в стеке 110 приложений и/или меню 118 всех приложений может вызывать недовольство и/или визуально перегружать пользователя 102, если список включает в себя потенциально большое количество приложений 108.
[0029] В качестве второго такого примера, устройство 104 может включать в себя сравнительно большое число исполняющихся и/или потенциально исполнимых приложений 108. Управление представлением такого большого числа приложений 108 может вызывать затруднения. Например, если пользователь 102 открывает несколько электронных писем с помощью одного и того же приложения 108 почтового клиента, может вызывать недовольство, если все сообщения открываются на одном и том же дисплее, в то время как другие дисплеи могут оставаться неиспользованными. С другой стороны, пользователь 102 может быть недоволен распределением электронных писем на множестве дисплеев, и может испытать затруднения в поиске и управлении набором открытых электронных писем. Кроме того, даже если пользователь 102 может найти группу связанных электронных писем, пользователю 102, вероятно, придется перегруппировать местоположения и размеры электронных писем, представленных на соответствующих дисплеях, чтобы прочитать сообщения вместе.
[0030] В качестве третьего такого примера, выбор конкретного приложения 108 пользователем 102 может быть усложнен сравнительно большим количеством компонентов 106 представления и/или приложений 108. В качестве первого такого примера, чтобы выбрать конкретное приложение 108 для взаимодействия, пользователь 102 может попытаться последовательно пролистать стек 110 приложений. Однако, если приложение 108 находится глубоко в пределах порядка 112 стека 110 приложений, пользователь 102 может испытывать затруднения при поиске приложения 108. Кроме того, пока пользователь 102 переключается между приложениями 108 стека 102 приложений в соответствии с порядком 112 стека, различные компоненты 106 представления могут получать и/или терять фокус ввода и вывода, что может создать видимость неорганизованной вычислительной среды у пользователя 102.
[0031] В качестве четвертого такого примера, когда пользователь создает экземпляр и/или активирует приложение 108, устройство 104 может активировать приложение 108 в стеке 110 приложений, но может не уведомить соответствующим образом пользователя 102 о компоненте 106 представления для приложения 108. Например, операция 116 «назад» может быть выполнена без уведомления пользователя 102 о приложении 108 и/или компоненте 106 представления, который был выбран для нового находящегося сверху представления. Поэтому пользователю 102, возможно, придется осматривать устройства 106 представления каждое по отдельности и, возможно, детально, чтобы определить текущий фокус пользовательского ввода и вывода. Такая путаница также может возникнуть, когда пользователь 102 производит запрос на открытие нового приложения 108; устройство 104 может выбрать компонент 106 представления и создать экземпляр приложения 108 на выбранном компоненте 106 представления, но может не уведомить пользователя 102 относительно того, какой компонент 106 представления был выбран. Действительно, пользователь 102 может даже не понять, что запрос на создание экземпляра приложения 108 был выполнен устройством 104. В некоторых сценариях такой выбор может выполняться произвольным образом или, по меньшей мере, может казаться произвольным пользователю 102, таким образом усиливая недовольство пользователя 102 при взаимодействии со множеством приложений 108 на устройстве 104. Например, пользователь 102 может понять, что и самое верхнее приложение 108, и второе приложение 108 в стеке 110 приложений представлены на первом дисплее, но может не понять, что третье приложение 108, представленное на втором дисплее, расположено в стеке 110 приложений между такими приложениями. При запросе операции 116 «назад», пользователь 102 может ожидать переход устройства 102 ко второму приложению 108, и может наблюдать за ответом на первом дисплее, и может не заметить активацию третьего приложения 108 на втором дисплее. Кроме того, пользователь 102 может обеспечить пользовательский ввод для устройства 104, намереваясь взаимодействовать со вторым приложением 108 (например, ввод текста на клавиатуре, который предназначен для второго приложения 108), но пользовательский ввод может быть непреднамеренно направлен в третье приложение 108 вместо второго приложения 108.
[0032] В качестве пятого такого примера, визуально перегруженная последовательность такого представления приложений 108 может быть усилена приложениями 108, обеспечивающими множество визуализаций приложения; например, если почтовый клиент представляет различные окна 110 приложения для каждого сообщения, список приложений может стать громоздким, если пользователь 102 одновременно просматривает дюжину или более электронных писем. С другой стороны, стек 110 приложений может сгруппировать визуализации одного и того же приложения 108 вместе в стеке 110 приложений и/или может консолидировать представление нескольких визуализаций выбранного приложения 108 в виде одной записи в стеке 110 приложений, но такая группировка и/или консолидация в стеке 110 приложений может создавать помехи возможности человека получить доступ к конкретной визуализации приложения. Например, в некоторых сценариях приложение 108 может воздержаться от чрезмерного использования стека 110 приложений путем воздержания от вставки записи для конкретной визуализации приложения (например, медиапроигрыватель может воздержаться от вставки различных записей для музыки, воспроизводимой через различные аудио компоненты), но такое воздержание может вызвать недовольство пользователя 102, который стремится активировать и взаимодействовать с конкретной визуализацией приложения через стек 110 приложений. Эти и другие трудности могут возникать в представлении приложений 108 вычислительной среды устройства 104, использующего общий стек 110 приложений так, как это показано в иллюстративном сценарии 100 на фиг. 1.
[0033] B. Представленные методики
[0034] В настоящем описании представлены методики для конфигурирования устройства 104 для представления приложений 108 пользователю 102 устройства 104, имеющего по меньшей мере два компонента 108 представления. В соответствии с такими методиками устройство 104 может генерировать и сохранять для каждого компонента 106 представления отдельную историю представления приложений, которая указывает представления приложений для приложений 108, которые были представлены на компоненте 106 представления. Когда пользователь 102 запрашивает переход от текущего представления приложения на выбранном компоненте представления (например, запрашивает операцию «назад» на конкретном дисплее), устройство 104 может ограничить переход от текущего представления приложения к другим представлениям приложения на том же самом компоненте 106 представления. Таким образом, намерение пользователя 102 переключиться между представлениями приложения, которые специфичны для каждого компонента 106 представления, может быть выполнено интуитивным и эффективным образом.
[0035] Фиг. 2 представляет собой иллюстрацию примерного сценария 200, показывающего взаимодействие пользователя 102 с приложениями 108, представленными на различных компонентах 106 представления устройства 104 в соответствии с методиками, представленными в настоящем описании. В этом иллюстративном сценарии 200 устройство 104 исполняет множество приложений 108, каждое из которых представляет одно или несколько представлений 204 приложения (например, окна, области на весь или часть экрана, изображения, пользовательские элементы управления, значки приложений, значки строки меню, мультимедийные потоки и сеансы игр) на различных компонентах 106 представления устройства 104, таких как пара дисплеев, пара громкоговорителей и устройства головных телефонов. Соответствующие приложения 108 также могут представлять одну или несколько визуализаций приложения, например, почтовый клиент, который представляет различные визуализации приложения для каждого из нескольких электронных писем, которые могут быть представлены на одних и тех же или различных компонентах 106 представления.
[0036] В соответствии с методиками, представленными в настоящем описании, устройство 104 генерирует для каждого компонента 106 представления отдельную историю 202 представления приложений, указывающую представления 208 приложений для приложений 108, которые были представлены на компоненте 106 представления. В ответ на представление представления 204 приложения на выбранном компоненте 106 представления устройство 104 записывает представление 204 приложения в истории 202 представления приложений для компонента 106 представления. Такая запись представлений 204 приложения, специфичная для каждого компонента 106 представления, может облегчить навигацию пользователя 102 между представлениями 204 приложений вычислительной среды устройства 104. Например, в ответ на прием запроса от пользователя 102 на переход выбранного компонента 106 представления от текущего представления 206 приложения (например, представления 204 приложения, имеющего самое верхнее местоположение в истории 202 представления приложений для компонента 106 представления), устройство 104 выбирает второе представление 208 приложения из истории 202 представления приложений выбранного компонента 106 представления и осуществляет переход выбранного компонента 106 представления от текущего представления 206 приложения ко второму представлению 208 приложения. Таким образом, устройство 104 может позволить пользователю 102 инициировать операцию 116 «назад» для выбранного дисплея для перемещения, переключения и/или перехода только между представлениями 108 приложений, обеспеченными на выбранном дисплее, в соответствии с методиками, представленными в настоящем описании.
[0037] C. Технические эффекты
[0038] Использование методик, представленных в настоящем описании, для перехода между представлениями 204 соответствующих приложений 108 на устройстве 104 может привести к ряду технических эффектов.
[0039] В качестве первого примера технического эффекта, который может быть достижим с помощью методик, представленных в настоящем описании, устройство 104, использующее методики, представленные в настоящем описании, может позволить пользователю 102 переходить интуитивным образом между представлениями 208 приложений. Вместо того, чтобы перемещаться через весь набор представлений 204 приложений, обеспеченных на любом из компонентов 106 представления, такое устройство 104 может ограничивать набор представлений 208 приложений из навигационного набора только теми, которые находятся в истории представления 202 приложений выбранного компонента 106 представления. Поэтому функциональная возможность перехода и навигации между приложениями вычислительной среды может обеспечивать более эффективный и понятный пользовательский интерфейс и опыт использования для пользователя 102.
[0040] В качестве второго примера технического эффекта, который может быть достижим с помощью методик, представленных в настоящем описании, устройство 104, использующее методики, представленные в настоящем описании, может предоставлять большую масштабируемость, позволяющую пользователю 102 взаимодействовать с большим числом приложений 108 и компонентов 106 представления. Например, устройство 104, имеющее большое число дисплеев (например, более двадцати дисплеев), может обеспечить сравнительно разочаровывающий опыт использования для пользователя 102, который стремится взаимодействовать с приложениями 108, представленными на всех таких дисплеях, в частности, когда такие приложения 108 являются частью одной и той же вычислительной среды. Методики, представленные в настоящем описании, могут облегчить такой доступ для пользователя 102, тем самым уменьшая барьеры пользовательского интерфейса и управления для добавления компонентов 106 представления к устройству 104, и позволить пользователю 102 взаимодействовать одновременно с большим числом приложений 108, представленных на многих таких компонентах 106 представления, при этом быстро переключаясь между ними с большей плавностью и скоростью.
[0041] В качестве третьего примера технического эффекта, который может быть достижим с помощью методик, представленных в настоящем описании, пользовательский интерфейс, который позволяет пользователю 102 осуществлять переход между представлениями 204 приложений для конкретного компонента 106 представления, может уменьшить частоту возникновения путаницы у пользователя (например, когда пользователь 102 не уверен, какое приложение 108 в настоящий момент имеет фокус, или даже был ли запрос на создание экземпляра и/или активацию конкретного представления 204 приложения принят и выполнен). Такие методики также могут уменьшить ошибки в пользовательском вводе, например, когда пользователь 102 намеревается активировать и взаимодействовать с конкретным представлением 204 приложения, но непреднамеренно активирует и обеспечивает пользовательский ввод для другого представления 204 приложения на другом компоненте 106 представления. Многие такие случаи ошибок пользовательского ввода, несоответствий и неправильного понимания пользователем можно избежать путем обеспечения перехода между представлениями приложений в соответствии с методиками, представленными в настоящем описании.
[0042] В качестве четвертого примера технического эффекта, который может быть достижим с помощью методик, представленных в настоящем описании, запись представлений 204 соответствующих приложений 108 в отдельных историях представлений 202 приложений для соответствующих компонентов 106 представления может обеспечивать различные признаки, которые не столь легко достижимы с помощью других методик. В качестве первого такого примера, запись истории 204 представления приложений конкретного приложения 108 может обеспечивать последующий выбор и использование того же самого компонента 106 представления для того же самого приложения 204; для других представлений 204 приложения того же самого приложения 204; и/или для других, но аналогичных приложений 204. Например, когда пользователь 102 делает запрос на прослушивание сообщения голосовой почты, истории 202 представления приложений соответствующих компонентов 106 представления могут быть проверены для определения, какой компонент 106 представления пользователь 102 часто выбирает для представления таких сообщений, и/или определить, какой компонент 106 представления подходит для конкретного представления 204 приложения (например, на основании других представлений 204 приложений, которые в настоящий момент и/или до этого были обеспечены на соответствующих компонентах 106 представления). Кроме того, конфигурирование устройства 104 для записи историй 202 представления приложений для соответствующих компонентов 106 представления может придать унифицированное поведение всем приложениям 108, исполняющимся на устройстве 104, вместо того, чтобы делегировать выбор компонентов 106 представления приложениям 108. Эти и другие технические эффекты могут быть достигнуты с помощью конфигурирования устройства 104 для перехода между представлениями 204 соответствующих приложений 108 на устройстве 104 в соответствии с методиками, представленными в настоящем описании.
[0043] D. Иллюстративные варианты осуществления
[0044] Фиг. 3 представляет собой первый иллюстративный вариант осуществления методик, представленных в настоящем описании, изображенный в виде способа 300 конфигурирования устройства 104 для представления приложений 108 на по меньшей мере двух устройствах 106 представления. Иллюстративный способ 300 может быть реализован, например, как набор инструкций, сохраненных в компоненте памяти устройства 104, таком как схема памяти, диск привода жесткого диска, твердотельное запоминающее устройство, магнитный или оптический диск, и организованный так, что при исполнении на процессоре устройства он заставляет устройство 104 работать в соответствии с методиками, представленными в настоящем описании.
[0045] Иллюстративный способ 300 начинается с этапа 302 и включает в себя выполнение 304 инструкций с помощью процессора устройства. В частности, выполнение 304 инструкций с помощью процессора заставляет устройство 104, для соответствующих компонентов 106 представления, генерировать 306 историю 202 представления приложений, которая идентифицирует представления 204 приложений для приложений 108 через компонент 106 представления. Выполнение 304 инструкций с помощью процессора также заставляет устройство 104, в ответ на представление представления 204 приложения выбранного приложения 108 через выбранный компонент 106 представления, записывать 308 представление 204 приложения в истории 202 представления приложений выбранного компонента 106 представления. Выполнение 304 инструкций с помощью процессора также заставляет устройство 104, в ответ 310 на прием запроса на переход выбранного компонента 106 представления от текущего представления 206 приложения, выбирать 312 из истории 202 представления приложений выбранного компонента 106 представления второе представление 208 приложения; и осуществлять переход 314 выбранного компонента 106 представления от текущего представления 206 приложения ко второму представлению 208 приложения. Таким образом, инструкции заставляют устройство 104 представлять приложения 102 на соответствующих компонентах 106 представления в соответствии с методиками, представленными в настоящем описании, которые, таким образом, завершаются на этапе 316.
[0046] Фиг. 4 представляет собой второй иллюстративный вариант осуществления методик, представленных в настоящем описании, изображенный в виде иллюстративной системы 408, реализованной на иллюстративном устройстве 402, содержащем процессор 404, память 406 и по меньшей мере два компонента 106 представления, где иллюстративная система 408 заставляет устройство 402 представлять приложения 108 в соответствии с методиками, представленными в настоящем описании. Иллюстративная система 408 может быть реализована, например, как набор компонентов, соответственно содержащих набор инструкций, сохраненных в памяти 406 устройства 402, где инструкции соответствующих компонентов, при исполнении с помощью процессора 404, заставляют устройство 402 функционировать в соответствии с методиками, представленными в настоящем описании.
[0047] Иллюстративная система 408 включает в себя, для соответствующих компонентов 106 представления, историю 202 представления приложений, которая идентифицирует представления 204 приложений для приложений 108 через компонент 106 представления. Иллюстративная система 408 также включает в себя блок 410 записи истории приложений, который, в ответ на представление представления 204 приложения для выбранного приложения 108 через выбранный компонент 106 представления, записывает представление 204 приложения в истории 202 представления приложений выбранного компонента 106 представления. Иллюстративная система 408 также включает в себя переключатель 412 приложений, который, в ответ на прием запроса на переход выбранного компонента 106 представления от текущего представления 206 приложения, выбирает второе представление 208 приложения из истории 202 представления приложений выбранного компонента 106 представления и осуществляет переход выбранного компонента 106 представления от текущего представления приложения 206 ко второму представлению 208 приложения. Таким образом, иллюстративная система 408 позволяет устройству 402 представлять приложения 108 на этих по меньшей мере двух компонентах 106 представления в соответствии с методиками, представленными в настоящем описании.
[0048] Еще один вариант осуществления включает в себя машиночитаемый носитель, содержащий исполнимые процессором инструкции, выполненные с возможностью применения методик, представленных в настоящем описании. Такие машиночитаемые носители могут включать в себя различные типы коммуникационных средств, таких как сигналы, которые могут распространяться посредством различных физических процессов (например, электромагнитный сигнал, звуковой сигнал или оптический сигнал) и в различных проводных сценариях (например, через Ethernet или волоконно-оптический кабель) и/или беспроводных сценариях (например, беспроводная локальная сеть (WLAN), такая как WiFi, персональная сеть (PAN), такая как Bluetooth, или сотовая сеть, или сеть радиосвязи), и который кодирует набор машиночитаемых инструкций, которые, при исполнении процессором устройства, заставляют устройство реализовывать методики, представленные в настоящем описании. Такие машиночитаемые носители могут также включать в себя (как класс технологий, который исключает коммуникационные средства) машиночитаемые запоминающие устройства, такие как полупроводниковые запоминающие устройства (например, полупроводник, использующий технологии статической оперативной памяти (SRAM), динамической оперативной памяти (DRAM) и/или синхронной динамической оперативной памяти (SDRAM)), диск привода жесткого диска, устройства с флэш-памятью, магнитные или оптические диски (такие как CD-R, DVD-R или гибкий диск), кодирующие набор машиночитаемых инструкций, которые, при исполнении процессором устройства, заставляют устройство реализовывать методики, представленные в настоящем описании.
[0049] Иллюстративный машиночитаемый носитель, который может быть разработан таким образом, изображен на фиг. 5, где реализация 500 содержит машиночитаемое запоминающее устройство 502 (например, CD-R, DVD-R или диск привода жесткого диска), на котором закодированы машиночитаемые данные 504. Эти машиночитаемые данные 504, в свою очередь, содержат ряд машинных инструкций 506, которые, при исполнении с помощью процессора 404 устройства 510, имеющего по меньшей мере два компонента 106 представления, заставляют устройство 510 работать в соответствии с принципами, изложенными в настоящем описании. В первом таком варианте осуществления исполнимые процессором инструкции 506 могут заставлять устройство 510 выполнять способ представления приложений 108 на устройстве 104, имеющем по меньшей мере два компонента 106 представления, такой как иллюстративный способ 300 на фиг. 3. Во втором таком варианте осуществления исполнимые процессором инструкции 506 могут заставлять устройство 510 представлять приложения 108, например, иллюстративная система 408 на фиг. 4. Множество таких машиночитаемых носителей может быть разработано специалистами в области техники, которые выполнены с возможностью работы в соответствии с методиками, представленными в настоящем описании.
[0050] E. Вариации
[0051] Методики, которые обсуждались в настоящем описании, могут быть разработаны с вариациями во многих аспектах, и некоторые вариации могут предоставлять дополнительные преимущества и/или уменьшать недостатки относительно других вариаций этих и других методик. Кроме того, некоторые вариации могут быть реализованы в комбинации, и некоторые комбинации могут демонстрировать дополнительные преимущества и/или уменьшение недостатков за счет синергического взаимодействия. Вариации могут быть включены в различные варианты осуществления (например, иллюстративный способ 300 на фиг. 3; иллюстративную систему 408 на фиг. 4; и иллюстративное запоминающее устройство 502 на фиг. 5), чтобы придать отдельные и/или синергические преимущества таким вариантам осуществления.
[0052] E1. Сценарии
[0053] Первый аспект, который может варьироваться между вариантами осуществления этих методик, относится к сценариям, в которых такие методики могут использоваться.
[0054] В качестве первой вариации этого первого аспекта, методики, представленные в настоящем описании, могут быть использованы для обеспечения конфигурирования различных устройств 104, таких как рабочие станции, портативные ЭВМ, планшеты, мобильные телефоны, игровые приставки, портативные игровые устройства, портативные или непортативные медиапроигрыватели, устройства отображения медиаданных, такие как телевизоры, бытовая техника, устройства домашней автоматизации, вычислительные компоненты, интегрированные с носимым устройством, таким как окуляр или часы, и устройства диспетчерского управление и сбора данных (SCADA).
[0055] В качестве второй вариации этого первого аспекта, методики, представленные в настоящем описании, могут быть использованы с различными приложениями 108, имеющими представление 204 приложения, такими как офисные приложения для повышения эффективности работы; приложения для представления медиаданных, такие как аудиоплееры и видеоплееры; коммуникационные приложения, такие как веб-браузеры, почтовые клиенты, клиенты для обмена текстовыми сообщениями и клиенты голоса через IP (VoIP); приложения навигации, такие как приложения геолокации, отображения карт и построения маршрутов; утилиты, такие как приложения мониторинга погоды и новостей, которые представляют пользователю 102 оповещения; и игры. Кроме того, представление 204 приложений 108 может включать в себя одну или несколько модальностей представления, таких как текст, изображения, видео в реальном времени и/или заранее записанное видео, звуковые эффекты, музыку, речь, осязательную обратную связь, трехмерное воспроизведение и интерактивные и/или неинтерактивные пользовательские интерфейсы, а также различные методики для приема пользовательского ввода от пользователя 102, такого как текстовой ввод, ввод с помощью указания, тактильный ввод, жестикуляционный ввод, словесный ввод и ввод с помощью отслеживания взгляда.
[0056] В качестве третьей вариации этого первого аспекта, методики, представленные в настоящем описании, могут быть использованы с различными архитектурами устройств 104 и компонентов 106 представления. В качестве первого такого примера, устройство 104 может использовать один или несколько компонентов 106 представления, которые непосредственно и физически соединены с устройством 104, такие как проводные дисплеи, громкоговорители и головные телефоны. В качестве второго такого примера, устройство 104 может использовать один или несколько компонентов 106 представления, которые доступные через беспроводное соединение, например, радиочастотное. В качестве третьего такого примера, устройство 104 может использовать один или несколько компонентов 106 представления, которые доступные по сети, например, дисплей, на который устройство 104 передает потоковые видео через Интернет. В качестве четвертого такого примера, устройство 104 может использовать один или несколько компонентов 106 представления, которые доступные через второе устройство 104, например, клиент-серверную или одноранговую архитектуру. Кроме того, такие устройства 104 и/или компоненты 106 представления могут быть использованы одним пользователем 102 или группой пользователей 102 и/или могут управляться по меньшей мере одним первым пользователем 102 от имени по меньшей мере одного второго пользователя 102. Эти и другие сценарии могут быть пригодны для представления приложений 108 на компонентах 106 представления устройства 104 в соответствии с методиками, представленными в настоящем описании.
[0057] E2. Представление приложений и история представления приложений
[0058] Второй аспект, который может варьироваться между вариантами осуществления методик, представленных в настоящем описании, относится к природе представлений 204 приложений 108 на одном или нескольких компонентах 106 представления и записи истории 202 представлений 204 приложений на соответствующих компонентах 106 представления.
[0059] В качестве первой вариации этого второго аспекта, история 202 представления приложений соответствующих компонентов представления дополнительно представляет собой историю порядка приложений, в которой представления 204 приложений были представлены через компонент 206 представления. В качестве одного такого примера, история 202 представления приложений может демонстрировать порядок 112 стека, в котором представления 204 приложений были представлены через компонент 206 представления и/или в котором пользователь 102 выбирал и/или взаимодействовал с представлениями 204 приложений. Следовательно выбор второго представления 208 приложения в контексте перехода от текущего представления 206 приложения может содержать выбор второго представления 208 приложения, которое предшествует текущему представлению 206 приложения в истории порядка приложений истории 202 представления приложений для выбранного компонента 106 представления. Альтернативно или дополнительно история 202 представления приложений может быть отсортирована другим образом, например, в порядке вызова представлений 204 приложений (например, представление приложений 202, экземпляр которых был создан недавно, перед приложениями 202, экземпляр которых был создан позже); в соответствии с предпочтениями пользователя 102 для соответствующих представлений 206 приложения (например, пользователь 102 может запросить, чтобы представления 204 медиаприложений 108, таких как видео, выбирались перед и/или были представлены в порядке по оси Z выше представлений 204 других приложений 108); в соответствии с приоритетом и/или срочностью (например, срочные информационные сообщения могут быть вставлены в историю 202 представления приложений с более высоким местоположением, чем обычные или менее важные представления 204 приложений); и/или в соответствии с использованием ресурсов (например, представления 204 приложений, которые задействуют значительные вычислительные ресурсы, такие как пропускная способность сети и/или мощности процессора, могут быть представлены выше других представлений 204 приложений, задействующих менее значительные вычислительные ресурсы). Альтернативно или дополнительно, история 202 представления приложений может консолидировать, сгруппировать и/или иным образом ассоциировать представления 204 приложений истории 202 представления приложений, которые ассоциированы с конкретным приложением 108. В качестве одного такого примера, выбранное приложение 108 может дополнительно содержать по меньшей мере две визуализации приложения. Запись представлений 204 приложений может, следовательно, содержать, в ответ на представление выбранной визуализации выбранного приложения 108 через выбранный компонент 106 представления, запись представления приложения визуализации выбранного приложения упомянутого выбранного приложения в историю 202 представления приложений выбранного компонента 106 представления. Например, почтовый клиент, который одновременно и отдельно представляет множество электронных писем, и после представления одного такого сообщения на выбранном компоненте 106 представления устройство 104 может сгруппировать представления 204 приложения соответствующих электронных писем в истории 202 представления приложений выбранного компонента 106 представления.
[0060] В качестве второй вариации этого второго аспекта, устройство 104 может использовать историю 202 представления приложений соответствующих компонентов 106 представления, чтобы помочь пользователю 102 в выборе конкретного представления 204 приложения для представления на выбранном компоненте 106 представления. Например, устройство 104 может представить пользователю 102 список приложений 108, имеющих по меньшей мере одно представление 108 приложения в истории 202 представления приложений на выбранном компоненте 106 представления, и, в ответ на прием от пользователя 102 выбора второго приложения 108, может осуществить переход выбранного компонента 106 представления от текущего представления 206 приложения ко второму представлению 208 приложения, выбранному из числа представлений 204 приложения.
[0061] Фиг. 6 представляет собой иллюстрацию примера сценария 600, показывающего одну такую методику для выбора второго представления 208 приложения из числа представлений 204 приложений в истории 202 представления приложений компонента 106 представления. В этом иллюстративном сценарии 600 история 202 представления приложений указывает, что компонент 106 представления в настоящий момент представляет несколько представлений 204 приложений, в том числе текущее представление 206 приложения. Кроме того, текущее представление 204 приложения ассоциировано с последовательностью 602 выполнения задачи, включающей в себя ряд этапов задачи, которые должны быть выполнены в определенном порядке выполнения задачи с помощью различных приложений 108. Например, пользователь 102 может часто генерировать отчеты для клиентов путем следования последовательности 602 выполнения задачи, которая включает в себя этап анализа данных, выполняемый с помощью приложения 108 анализа данных; этап редактирования отчета, выполняемый с помощью приложения 108 редактирования отчетов; этап публикации, выполняемый с помощью приложения 108 публикации; и этап предоставления отчета, выполняемый с помощью почтового клиента 108. Кроме того, соответствующие представления 204 приложений в истории 202 представления приложений могут быть коррелированы с этапами последовательности 602 выполнения задачи, и устройство 104 может облегчить пользователю 102 выполнение задач в соответствии с порядком выполнения задачи. Соответственно, после приема от пользователя 102 запроса на переход от текущего представления 206 приложения, которое ассоциировано с первым приложением 108 последовательности 602 выполнения задачи (например, обнаруживая, что пользователь 102 завершил первый этап последовательности 602 выполнения задачи), устройство 104 может выбрать второе представление 208 приложения, которое следует за текущим представлением 206 приложения в порядке последовательности 602 выполнения задачи.
[0062] В качестве третьей вариации этого второго аспекта, представление 204 приложения на выбранном компоненте 106 представления может быть достигнуто различным образом. В качестве первого такого примера, в котором выбранный компонент 106 представления дополнительно содержит дисплей, история порядка приложений может быть ассоциирована с порядком по оси Z представлений 204 приложений, которые представлены на дисплее; и переход выбранного компонента 106 представления от текущего представления 206 приложения ко второму представлению 208 приложения может достигаться путем переупорядочивания второго представления 208 приложения так, чтобы оно было выше текущего представления 206 приложения в порядке по оси Z дисплея. В качестве второго такого примера, устройство 104 может представить текущее представление 206 приложения в качестве полноэкранного представления, и может перейти ко второму представлению 208 приложения путем замены текущего полноэкранного представления 206 приложения вторым представлением 208 приложения (необязательно с использованием визуального перехода, такого как постепенный переход, переход путем смещения, переход путем смены или переход путем наплыва). В качестве третьего такого примера, устройство 104 может применить схему расположения к компоненту 106 представления; например, представления 204 приложения могут быть визуально расположены на дисплее в соответствии с историей 202 представления приложений, например, путем представления текущего представления 206 приложения в верхней по вертикали позиции на дисплее, и перехода ко второму представлению 208 приложения путем перемещения текущего представления 206 приложения вертикально вниз и вставки второго представления 208 приложения вертикально выше текущего представления 206 приложения. В качестве четвертого такого примера, устройство 104 может содержать очередь представления, например, аудиоустройство (например, громкоговорители), которое располагает по приоритетам аудио представления 204 приложения, так что только текущее представление 206 приложения в истории 202 представления приложений может использовать громкоговорители в настоящий момент, или может иметь наибольшую громкость среди одновременно представленных аудио представлений 204 приложений. Соответственно, аудио компонент 106 представления может перейти ко второму представлению 208 приложения путем приостановки или путем уменьшения текущего представления 206 приложения (например, путем постепенного убавления и/или путем уменьшения громкости звука текущего представления 204 приложения) в пользу звука второго представления 208 приложения. Множество таких методик могут использоваться для представления истории 202 представления приложений и для представления и перехода между представлениями 204 приложений в соответствии с методиками, представленными в настоящем описании.
[0063] E3. Типы представлений приложений
[0064] Третий аспект, который может варьироваться между вариантами осуществления методик, представленных в настоящем описании, включает в себя тип представления 204 приложения, обеспеченного на выбранном компоненте 106 представления.
[0065] В соответствии с методиками, представленными в настоящем описании, соответствующие представления 204 приложений могут быть ассоциированы с типом представления приложения. Например, представления 204 приложений могут по-разному содержать пользовательское интерактивное или пользовательское не интерактивное представление; представление, использующее различные модальности ввода (например, клавиатуру, указатель, речь и/или жест) и/или модальности вывода (например, текст, изображение, видео, звук, речь и/или тактильные ощущения); и представление, требующее различной величины внимания пользователя (например, представления 204 приложений, требующие привлечения глубокого, вовлеченного и/или длительного внимания пользователя, и представления 204 приложений, требующие привлечения случайного, поверхностного и/или кратковременного внимания пользователя). Альтернативно или дополнительно, соответствующие компоненты 106 представления могут быть ассоциированы с типом представления приложения; например, пользователь 102 может использовать компонент 106 представления настольного дисплея для взаимодействия с требующим вовлечения и длительного внимания представлениями 204 приложений, компонент 106 представления мобильного дисплея для взаимодействия со случайными представлениями 204 приложений, и компонент 106 представления на приборной панели, обеспечивающий интерфейс транспортного средства для представлений 204 приложений, только для участия в выборочных и относящихся к транспортному средству взаимодействиях. Соответственно, вариант осуществления методик, представленных в настоящем описании, при переходе выбранного компонента 106 представления ко второму представлению 208 приложения может настраивать второе представление 208 приложения в соответствии с типом представления приложения, который ассоциирован со вторым представлением 208 приложения и/или выбранным компонентом 106 представления.
[0066] Фиг. 7 представляет иллюстрацию примера сценария 700, показывающего несколько вариаций настройки представления 204 приложения для обеспечения типа 706 представления приложения. В этом иллюстративном сценарии 700 представление 204 приложения включает в себя текстовую статью, содержание которой пользователь 102 желает узнать с помощью одного из нескольких компонентов 106 представления. Поскольку каждый компонент 106 представления имеет различные свойства и/или различный контекст, тип 704 представления 204 приложения может быть выбран с учетом выбранного компонента 106 представления. В качестве первой такой вариации этого третьего аспекта, соответствующие компоненты 106 представления могут представить представление 204 приложения в соответствии с возможностями представления. Например, может быть определено, что компоненты 106 представления, включающие в себя дисплей, поддерживают видео и/или статические изображения, и может быть определено, что компоненты 106 представления, включающие в себя громкоговоритель, поддерживают воспроизведение звука. Поэтому устройство 104 представляет представление 204 приложения путем выбора типа 702 представления приложения для представления 204 приложения, которое использует возможности 702 представления выбранного компонента 106 представления. Например, если выбран компонент 106 представления настольного дисплея, полный текст и изображения текстовой статьи могут быть выбраны в качестве типа 706 представления приложения; если выбран компонент 106 представления мобильного устройства, имеющего небольшой дисплей и ограниченные вычислительные ресурсы, может быть выбрано краткое изложение текстовой статьи в качестве типа 706 представления приложения; и если выбран компонент 106 представления головного телефона, аудио копия текстовой статьи может быть выбрана в качестве типа 706 представления приложения.
[0067] Иллюстративный сценарий 700 на фиг. 7 также изображает вторую такую вариацию этого третьего аспекта, в которой соответствующие компоненты 106 представления ассоциированы с политикой 704 компонента представления. Например, компонент 106 представления транспортного средства может иметь возможности 702 представления, включающие в себя представление аудио и видео информации, но может реализовывать политику 704 компонента представления, которая ограничивает отображение текста во время движения транспортного средства. Соответственно, устройство 104 может выбрать тип 706 представления приложения для представления 204 приложения, который согласуется с политикой 704 компонента представления выбранного компонента 106 представления (например, представляя краткое содержание только в виде звука для текстовой статьи).
[0068] В качестве третьей вариации этого третьего аспекта, блок записи истории приложений может принимать запрос на перемещение представления 204 приложения с текущего компонента 106 представления на выбранный компонент 106 представления. Устройство 104 может, при перемещении представления 204 приложения, изменить формат представления 204 приложения с текущего типа 706 представления приложения, который ассоциирован с представлением 204 приложения через текущий компонент 106 представления, на тип 706 представления приложения выбранного компонента 106 представления. Например, после приема запроса на перемещение представления 204 приложения для приложения 108 с компонента 106 представления дисплея на компонент 106 представления с воспроизведением только звука, устройство 104 может изменить формат представления 204 приложения с основанного на тексте типа 706 представления приложения на тип 706 представления приложения только со звуком. Множество таких методик могут использоваться для адаптации представления 204 приложения к конкретному компоненту 106 представления в соответствии с методиками, представленными в настоящем описании.
[0069] E4. Состояние представления приложения и выбор компонента представления
[0070] Четвертый аспект, который может варьироваться между вариантами осуществления методик, представленных в настоящем описании, включает в себя метод выбора компонента 106 представления для представления 204 приложения для приложения 108.
[0071] В качестве первой вариации этого четвертого аспекта, представление 204 приложения на конкретном компоненте 108 представления может иметь сохранение конкретных деталей представления от предыдущих представлений тех же самых или аналогичных представлений 204 приложений. В качестве первого такого примера, когда выбранный компонент представления дополнительно содержит дисплей, тип 702 представления приложения может дополнительно содержать область дисплея, где представление 204 приложения было ранее представлено. Поэтому устройство 104 может представить второе представление 208 приложения путем расположения в области дисплея, где ранее было представлено второе представление 204 приложения. В качестве второго такого примера, когда предыдущее представление 204 приложения включает в себя конкретное состояние приложения, такое как позицию в тексте, видео или аудиозаписи, которую пользователь 102 использовал в последний раз, устройство 104 может возобновить представление 204 приложения с использованием последнего известного состояния приложения.
[0072] Фиг. 8 представляет собой иллюстрацию примера сценария 800, показывающего несколько вариантов этого четвертого аспекта, в котором история 202 представления приложений различных компонентов 106 представления используется для идентификации выбранного компонента 106 представления для представлений 204 приложений различных приложений 108. В этом иллюстративном сценарии 800 пользователь 102 устройства 104 взаимодействует с различными приложениями 108, имеющими одно или несколько представлений 204 приложений, и, в соответствии с методиками, представленными в настоящем описании, устройство 104 записывает такие представления 204 приложения в историях 202 представления приложений соответствующих компонентов 106 представления. Кроме того, такая запись может облегчить выбор компонентов 106 представления для дополнительных представлений 204 таких приложений 108.
[0073] В качестве второй вариации этого четвертого аспекта, фиг. 8 показывает, что первая визуализация 802 и вторая визуализация 802 одного и того же приложения 108 могут быть одновременно представлены на различных компонентах 106 представления. Когда пользователь 102 запрашивает переход от первого компонента 106 представления для представления второй визуализации 802 приложения, устройство 104 может переместить второе представление приложения из истории 202 представления приложений предыдущего компонента 106 представления в историю 202 представления приложений выбранного компонента 106 представления. Такое перемещение может облегчить сохранение деталей представления и/или состояния приложения второй визуализации 802 приложения и/или консолидацию нескольких визуализаций 802 одного и того же или аналогичного приложения 108 на одном и том же компоненте 106 представления.
[0074] В качестве третьей вариации этого четвертого аспекта, фиг. 8 показывает, что когда устройство 104 принимает запрос на приостановку приложения 108, имеющего представление 204 приложения в истории 202 представления приложений выбранного компонента 106 представления, устройство 104 может убрать представление 204 приложения для приложения 108 из истории 204 представления приложений выбранного компонента 106 представления. Альтернативно, устройство 104 может воздержаться от перемещения представления 204 приложения для приложения 108 из истории 202 представления приложений, но может пометить его как неактивное и/или уменьшить приоритет представления 204 приложения в истории 202 представления приложений.
[0075] В качестве четвертой вариации этого четвертого аспекта, фиг. 8 показывает, что после приема запроса на переход ко второму представлению 208 приложения выбранного приложения 108 после приостановки приложения 108, устройство 104 может повторно создать экземпляр приложения 108. В качестве конкретного примера, в котором запрос принимается после приостановки более раннего представления 204 приложения второго приложения 108 и не указывается выбранный компонент 106 представления, где должно быть представлено второе представление 208 приложения повторно созданного экземпляра приложения 108, устройство 104 может идентифицировать выбранный компонент 106 представления, на котором было представлено более раннее представление 202 приложения 108.
[0076] Фиг. 9 представляет собой иллюстрацию примера сценария 900, показывающего дополнительные вариации этого четвертого аспекта, включающие в себя рекомендацию среди компонентов 106 представления устройства 104 выбранного компонента 106 представления для представления 204 приложения для приложения 108. В этом иллюстративном сценарии 900 пользователь 102 запрашивает устройство 104 представить представление 204 приложения для приложения 108, например, фильм, который должен быть воспроизведен через видеоплеер, но не указывает, какой компонент 106 представления должен быть выбран для представления 204 приложения. Устройство 104 может выполнить выбор и/или рекомендацию на основании оценки доступных компонентов 106 представления. В качестве первого такого примера, в котором соответствующие компоненты 106 представления представляют представление 204 приложения в соответствии с возможностями 702 представления (например, возможностями соответствующих компонентов 106 представления представлять видео и/или звук), устройство 104 может идентифицировать компоненты 106 представления, у которых имеются возможности 702 представления, которые используются представлением 204 приложения для приложения 108 (например, исключает компонент 106 представления головных телефонов как неспособный к воспроизведению видео). В качестве второго такого примера, устройство 104 может оценить историю 202 представления приложений каждого компонента 106 представления и, поэтому, может исключить компоненты 106 представления, демонстрирующие историю 202 представления приложений, которая является неподходящей для представления 204 приложения (например, компонент 106 представления дисплея может быть исключен, потому что он в настоящий момент отображает другой фильм). В качестве третьего такого примера, если несколько компонентов 106 представления идентифицированы как подходящие для представления 204 приложения, устройство 104 может провести сравнительную оценку таких компонентов 106 представления (например, выбрать второй компонент 106 представления дисплея, который способен к отображению видео высокой четкости (HD), вместо компонента 106 представления третьего дисплея, который не способен к отображению видео высокой четкости). Устройство может автоматически выбирать и использовать компонент 106 представления, идентифицированный с помощью такой сравнительной оценки, и/или может представить результаты пользователю 102 для выбора (например, представить пользователю 102 список 902 опций 904 по меньшей мере с двумя компонентами 106 представления, которые являются подходящими для представления 204 приложения, опционально с рекомендацией на основании сравнительной оценки). В ответ на прием от пользователя 102 выбора 906 из списка опций 904 для выбранного пользователем компонента 106 представления, устройство 104 может выбрать выбранный пользователем компонент 106 представления в качестве выбранного компонента 106 представления для второго представления 204 приложения для второго приложения 204. Устройство 104 может затем записать представление 204 приложения как второе представление 208 приложения в истории 202 представления приложений выбранного компонента 106 представления, и может осуществить переход  выбранного компонента 106 представления ко второму представлению 208 приложения. Таким образом, устройство 104 может помогать пользователю 104 с выбором компонента 106 представления для представления 204 приложения в соответствии с методиками, представленными в настоящем описании.
[0077] E5. Гибкость и адаптация истории представления приложений
[0078] Пятый аспект, который может варьироваться между вариантами осуществления методик, представленных в настоящем описании, включает в себя обстоятельства, когда устройство 104 может инициировать или позволить адаптацию истории 202 представления приложений соответствующих компонентов 106 представления.
[0079] В качестве первой вариации этого пятого аспекта, пользователь 102 может запросить просмотр, на первом компоненте 106 представления, истории 202 представления приложений для второго компонента 106 представления (например, список представления 206 приложений, которые имели место на другом мониторе). В ответ на прием выбора опции из списка устройство 104 может представить соответствующее представление 206 приложения на втором компоненте 106 представления (например, идентифицируя выбранное представление 206 приложения как текущее представление 206 приложения для второго компонента 106 представления). Альтернативно, устройство 104 может переместить выбранное представление 206 приложения из истории 202 представления приложений второго компонента 106 представления в историю 202 представления приложений первого компонента 106 представления (например, перемещая приложение 108 со второго монитора на первый монитор).
[0080] В качестве второй вариации этого пятого аспекта, первое представление 204 приложения может иметь взаимосвязь со вторым представлением 204 приложения того же самого приложения 108 или другого приложения 108. Например, экземпляр первого приложения 108, представленного на выбранном компоненте 106 представления мог быть создан вторым приложением 108, которое также представлено на выбранном компоненте 106 представления (например, почтовый клиент, экземпляр которого был создан, когда пользователь 102 выбрал ссылку «mailto:» на веб-странице, представленной веб-браузером). Устройство 104 может сохранить такие взаимосвязи как часть представлений 204 приложений. Соответственно, если любое представление 204 приложения перемещается на новый компонент 106 представления, связанное представление 204 приложения также может быть перемещено на новый компонент 106 представления, тем самым сохраняя логическую связь и пространственную близость приложений 108, которые, возможно, используются вместе для конкретной задачи.
[0081] В качестве третьей вариации этого пятого аспекта, устройство 104 может инициировать и/или позволять объединенное представление историй 108 представления приложений соответствующих компонентов 106 представления. В качестве первого такого примера, пользователь 102 может пожелать посмотреть полный набор историй 202 представления приложений на нескольких или всех компонентах 106 представления (например, пользователь 102 может испытывать затруднения в поиске приложения 108, которое выполняется на устройстве 104, среди потенциально большого набора компонентов 106 представления). Поэтому устройство 104 может представить объединенный набор историй 202 представления приложений по меньшей мере двух компонентов 106 представления, оно может обеспечить такое объединенное представление различным образом (например, сгруппированное по компонентам 106 представления или типу компонента представления, сгруппированное по типу приложения, и/или отсортированное хронологически, и/или в алфавитном порядке названия приложений). В качестве второго такого примера, пользователь 102 может пожелать переместить некоторые или все приложения 108 с первого компонента 106 представления на второй компонент 106 представления. Устройство 102 может, следовательно, объединить представления 204 соответствующих приложений 108 из истории 202 представления приложений первого компонента 206 представления с историей 202 представления приложений второго компонента 206 представления.
[0082] В качестве четвертой вариации этого пятого аспекта, устройство 104 может инициировать и/или позволять разделение или распределение истории 202 представления приложений первого компонента 106 представления на один или несколько других компонентов 106 представления. Например, устройство 104 может обнаружить, и/или пользователь 102 может указать, что первый компонент 106 представления перегружен (например, число окон, представленных на дисплее, может превысить порог удобства использования). Поэтому устройство 104 может разделить историю 202 представления приложений первого компонента 106 представления, и может перераспределить различные подмножества истории 202 представления приложений по другим компонентам 106 представления. Такое перераспределение может включать в себя, например, анализ истории соответствующих представлений 202 приложений, например, где соответствующие приложения 108 ранее были представлены.
[0083] В качестве пятой вариации этого пятого аспекта, когда новый компонент 106 представления добавляется к набору компонентов 106 представления, доступных устройству 104, устройство 104 может сгенерировать новую историю 202 представления приложений для нового компонента 106 представления. Альтернативно, если новый компонент 106 представления ранее был соединен с устройством 104 и теперь был повторно подключен после периода отключения, устройство 104 может загрузить предыдущую историю 202 представления приложений для нового компонента 106 представления, и может повторно создать экземпляры приложений 108, ассоциированных с такой историей 202 представления приложений, работа которых была прервана в промежуточный период (например, в ответ на отключение нового компонента 106 представления от устройства 104). Опционально, экземпляры таких приложений 108 могут быть повторно созданы с самым последним состоянием приложения, которое, возможно, было сохранено при отключении компонента 106 представления и/или завершении работы приложения 108.
[0084] В качестве шестой вариации этого пятого аспекта, добавление нового компонента 106 представления к набору компонентов 106 представления, доступных устройству 104, может запрашивать переоценку распределения приложений 108 по компонентам 106 представления и может перемещать одно или несколько приложений 106 с первого компонента 106 представления на новый компонент 106 представления. Такое перемещение может включать в себя перемещение представления 204 приложения из истории 202 представления приложений первого компонента 106 представления в историю 202 представления приложений нового компонента 106 представления. Такая переоценка может включать в себя соображения выравнивания нагрузки (например, перемещение представлений 204 приложений с первого компонента 106 представления, имеющего переполненную историю 202 представления приложений, на новый компонент 106 представления), и/или оценку уместности каждого компонента 204 представления для каждого приложения 108 (например, перемещение представления 204 приложения с первого компонента 106 представления на новый компонент 106 представления, который имеет возможность воспроизведения приложения 108 в более высоком качестве, например, дисплей более высокого разрешения или набор громкоговорителей с более высокой точностью воспроизведения). Перемещение может включать в себя анализ истории представления 204 приложения; например, приложение 108 могло ранее представляться на новом компоненте 106 представления, и может быть перемещено обратно на новый компонент 106 представления после периода отключения. В одном таком варианте осуществления определение, выполнять ли такое перемещение, может быть основано на продолжительности периода отключения; например, при кратком периоде отключения может осуществляться запрос устройства 108 на возврат приложения 108 автоматически, в то время как при более длительном периоде отключения приложение 108 может остаться на заменяющем компоненте 106 представления, если только пользователь 102 не инициирует перемещение. В другом таком варианте осуществления определение того, выполнять ли такое перемещение, может быть основано на взаимодействии пользователя 102 с приложением 108; например, если пользователь 102 взаимодействовал с приложением 108 на заменяющем компоненте 106 представления, то приложение может остаться, но если пользователь 102 не взаимодействовал с приложением 108 на заменяющем компоненте 106 представления, может быть инициировано автоматическое перемещение.
[0085] В качестве седьмой вариации этого пятого аспекта, когда компонент 106 представления отключается от устройства 104, устройство 104 может реагировать различным образом. В качестве первого такого примера, устройство 104 может удалить историю 202 представления приложений для отключенного компонента 106 представления, или может сохранить историю 202 представления приложений в случае повторного подключения в более позднее время. В качестве второго такого примера, устройство 104 может переместить одно или несколько приложений 108, которые были представлены на отключенном компоненте 106 представления, на другие компоненты 106 представления, например, путем перемещения представления 204 приложения из истории 202 представления приложений отключенного компонента 106 представления в историю 202 представления приложений другого компонента 106 представления. Альтернативно, устройство 104 может завершить работу приложений 108, которые были представлены только на отключенном компоненте 106 представления. Опционально, устройство 104 может сохранить состояние таких приложений 108 и может восстановить такие приложения 108 с самым последним состоянием приложения, если экземпляр приложения 108 повторно создается при повторном подключении того же самого компонента представления 108 или на другом компоненте 108 представления. Многие такие вариации могут быть включены в адаптацию истории 202 представления приложений для отражения динамического характера вычислительной среды пользователя 102 и устройства 104 в соответствии с методиками, представленными в настоящем описании.
[0086] F. Вычислительная среда
[0087] Фиг. 10 и следующее ниже обсуждение обеспечивают краткое, общее описание вычислительной среды, подходящей для реализации вариантов осуществления одного или нескольких положений, изложенных в настоящем описании. Операционная среда на фиг. 10 является только одним примером подходящей операционной среды и не предназначена для наложения каких-либо ограничений относительно объема использования или функциональности операционной среды. Иллюстративные вычислительные устройства включают в себя, но не ограничиваются только этим, персональные компьютеры, серверные компьютеры, карманные или портативные компьютеры, мобильные устройства (такие как мобильные телефоны, персональные цифровые помощники (PDA), медиапроигрыватели и т.п.), многопроцессорные системы, бытовую электронику, мини-компьютеры, универсальные компьютеры, распределенные вычислительные среды, которые включают в себя любую из упомянутых выше систем или устройств, и т.п.
[0088] Хотя это не требуется, варианты осуществления описаны в общем контексте «машиночитаемых инструкций», исполняемых одним или несколькими вычислительными устройствами. Машиночитаемые инструкции могут быть распределены на машиночитаемых носителях (обсуждается ниже). Машиночитаемые инструкции могут быть реализованы как программные модули, такие как функции, объекты, прикладные программные интерфейсы (API), структуры данных и т.п., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Как правило, функциональные возможности машиночитаемых инструкций могут быть объединены или распределены по желанию в различных средах.
[0089] Фиг. 10 изображает пример системы 1000, содержащей вычислительное устройство 1002, выполненное с возможностью реализации одного или нескольких вариантов осуществления, обеспеченных в настоящем описании. В одной конфигурации вычислительное устройство 1002 включает в себя по меньшей мере один блок 1006 обработки и память 1008. В зависимости от конкретной конфигурации и типа вычислительного устройства память 1008 может быть энергозависимой (такой как, например, RAM), энергонезависимой (такой как, например, ROM, флэш-память и т.д.) или некоторой их комбинацией. Эта конфигурация изображена на фиг. 10 пунктирной линией 1004.
[0090] В других вариантах осуществления устройство 1002 может включать в себя дополнительные признаки и/или функциональные возможности. Например, устройство 1002 также может включать в себя дополнительный накопитель (например, съемный и/или несъемный), в том числе, но не ограничиваясь только этим, магнитный накопитель, оптический накопитель и т.п. Такой дополнительный накопитель изображен на фиг. 10 как накопитель 1010. В одном варианте осуществления машиночитаемые инструкции для реализации одного или нескольких вариантов осуществления, обеспеченных в настоящем описании, могут находиться в накопителе 1010. Накопитель 1010 может также хранить другие машиночитаемые инструкции для реализации операционной системы, прикладных программ и т.п. Машиночитаемые инструкции могут быть загружены в память 1008, например, для исполнения блоком 1006 обработки.
[0091] Термин «машиночитаемые носители» в настоящем описании включает в себя машиночитаемые запоминающие устройства, которые исключают другие формы машиночитаемых носителей, включающих в себя коммуникационные средства, например, сигналы. Такие машиночитаемые запоминающие устройства могут быть энергозависимыми и/или энергонезависимыми, съемными и/или несъемными и могут включать в себя различные типы физических устройств, хранящих машиночитаемые инструкции или другие данные. Память 1008 и накопитель 1010 являются примерами компьютерных носителей информации. Компьютерные запоминающие устройства включают в себя, но не ограничиваются только этим, RAM, ROM, EEPROМ, флэш-память или другие технологии памяти, CD-ROM, цифровые универсальные диски (DVD) или другие оптические накопители, магнитные кассеты, магнитную ленту и запоминающие устройства на магнитных дисках или другие магнитные запоминающие устройства.
[0092] Устройство 1002 может также включать в себя коммуникационное соединение(я) 1016, которое позволяет устройству 1002 осуществлять связь с другими устройствами. Коммуникационное соединение(я) 1016 может включать в себя, но не ограничивается только этим, модем, сетевую карту (NIC), интегрированный сетевой интерфейс, радиочастотный передатчик/приемник, инфракрасный порт, соединение USB или другие интерфейсы для соединения вычислительного устройства 1002 с другими вычислительными устройствами. Коммуникационное соединение(я) 1016 может включать в себя проводное соединение или беспроводное соединение. Коммуникационное соединение(я) 1016 может передавать и/или принимать коммуникационные средства.
[0093] Термин «машиночитаемые носители» может включать в себя коммуникационные средства. Коммуникационные средства обычно воплощают машиночитаемые инструкции или другие данные в «модулированном сигнале данных», таком как несущая волна или другой транспортный механизм, и включают в себя любые средства доставки информации. Термин «модулированный сигнал данных» может включать в себя сигнал, который имеет одну или несколько его характеристик, заданных или измененных таким образом, чтобы закодировать в сигнале информацию.
[0094] Устройство 1002 может включать в себя устройство(а) 1014 ввода, такое как клавиатура, мышь, перо, устройство голосового ввода, устройство сенсорного ввода, инфракрасные камеры, устройства ввода видеосигнала и/или любое другое устройство ввода. Устройство(а) 1012 вывода, такое как один или несколько дисплеев, громкоговорители, принтеры и/или любое другое устройство вывода также может входить в состав устройства 1002. Устройство(а) 1014 ввода и устройство(а) 1012 вывода могут быть соединены с устройством 1002 с помощью проводного соединения, беспроводного соединения или любой их комбинации. В одном варианте осуществления устройство ввода или устройство вывода от другого вычислительного устройства могут использоваться в качестве устройства(устройств) 1014 ввода или устройства(устройств) 1012 вывода для вычислительного устройства 1002.
[0095] Компоненты вычислительного устройства 1002 могут быть соединены различными межсоединениями, такими как шина. Такие межсоединения могут включать в себя шинную структуру типа Взаимодействие периферийных компонентов (PCI), такую как PCI Express, USB (USB), Firewire (IEEE 1394), оптическая шинная структура и т.п. В другом варианте осуществления компоненты вычислительного устройства 1002 могут быть соединены с помощью сети. Например, память 1008 может состоять из нескольких блоков физической памяти, расположенных в различных физических местоположениях, соединенных сетью.
[0096] Специалистам в области техники будет понятно, что запоминающие устройства, используемые для хранения машиночитаемых инструкций, могут быть распределены по сети. Например, вычислительное устройство 920, доступное через сеть 1018, может хранить машиночитаемые инструкции для реализации одного или нескольких обеспеченных здесь вариантов осуществления. Вычислительное устройство 1002 может осуществлять доступ к вычислительному устройству 1020 и загружать часть или все машиночитаемые инструкции для исполнения. Альтернативно, вычислительное устройство 1002 может загружать части машиночитаемых инструкций, по мере необходимости, или некоторые инструкции могут исполняться в вычислительном устройстве 1002, а некоторые в вычислительном устройстве 1020.
[0097] G. Использование терминов
[0098] Хотя предмет изобретения был описан на языке, характерном для конструктивных признаков и/или методологических действий, следует понимать, что предмет изобретения, определяемый в прилагаемой формуле изобретения, не обязательно ограничивается конкретными признаками или действиями, описанными выше. Вместо этого конкретные признаки и действия, описанные выше, раскрыты как иллюстративные формы реализации формулы изобретения.
[0099] В настоящей заявке термины «компонент», «модуль», «система», «интерфейс» и т.п., как правило, предназначены для ссылки на относящиеся к компьютеру объекты, либо аппаратное обеспечение, комбинацию аппаратного и программного обеспечения, программное обеспечение, либо программное обеспечение в процессе исполнения. Например, компонент может быть, но не ограничивается только этим, процессом, исполняющимся на процессоре, процессором, объектом, исполнимой программой, потоком исполнения, программой и/или компьютером. В качестве иллюстрации, и приложение, исполняющееся на контроллере, и контроллер могут быть компонентом. Один или несколько компонентов могут находится в пределах процесса и/или потока исполнения, и компонент может быть локализован на одном компьютере и/или распределен между двумя или более компьютерами.
[00100] Кроме того, заявленный предмет изобретения может быть реализован как способ, устройство или изделие с использованием стандартного программирования и/или машиностроительной технологии для создания программного обеспечения, микропрограммного обеспечения, аппаратного обеспечения или любой их комбинации для управления компьютером для реализации раскрытого предмета изобретения. Термин «изделие» в настоящем описании подразумевает компьютерную программу, доступную из любого машиночитаемого устройства, несущей или среды. Конечно, специалистам в области техники будет понятно, что в этой конфигурации может быть сделано множество модификаций, не отступая от объема или сущности заявленного предмета изобретения.
[00101] В настоящем описании обеспечены различные операции вариантов осуществления. В одном варианте осуществления одна или несколько описанных операций могут составлять машиночитаемые инструкции, хранимые на одном или нескольких машиночитаемых носителях, которые при исполнении вычислительным устройством заставляют вычислительное устройство выполнять описанные операции. Порядок, в котором описаны некоторые или все операции, не обязательно подразумевает, что эти операции обязательно зависят от порядка выполнения. Альтернативный порядок будет очевиден специалистам в области техники, имеющим возможность извлечь пользу из этого описания. Кроме того, следует иметь в виду, что не все операции обязательно присутствуют в каждом обеспеченном здесь варианте осуществления.
[00102] Любой аспект или конструкция, описанные в настоящем описании в качестве «примера», не обязательно должны рассматриваться как полезные по другим аспектам или конструкциям. Скорее использование слова «пример» призвано представить один возможный аспект и/или реализацию, которая может относиться к методикам, представленным в настоящем описании. Такие примеры не являются обязательными для таких методик, и они не являются ограничивающими. Различные варианты осуществления таких методик могут включать в себя такой пример, один или в комбинации с другими признаками, и/или могут изменять и/или опускать проиллюстрированный пример.
[00103] В настоящей заявке термин «или» означает включающее «или», а не исключающее «или». То есть, если не указано иное или ясно из контекста, «X использует A или B» означает любую из естественных включающих перестановок. То есть, если X использует A; X использует B; или X использует и A, и B, тогда «X использует A или B» удовлетворяется в любом из приведенных выше случаев. Кроме того, единственное число, используемое в этой заявке и прилагаемой формуле изобретения, может, как правило, означать «один или несколько», если не указано иное или ясно из контекста, что подразумевается единственное число.
[00104] Кроме того, хотя раскрытие было показано и описано в отношении одной или нескольких реализаций, эквивалентные изменения и модификации будут очевидны другим специалистам в области техники после прочтения и понимания этого описания и прилагаемых чертежей. Раскрытие включает в себя все такие модификации и изменения и ограничивается только объемом прилагаемой формулы изобретения. В частности, в отношении различных функций, выполняемых описанными выше компонентами (например, элементами, ресурсами и т.д.), термины, используемые для описания таких компонентов соответствуют, если не указано иное, любому компоненту, который выполняет указанную функцию описанного компонента (например, который функционально эквивалентен), даже при том, что это структурно не эквивалентно раскрытой структуре, которая выполняет функцию в изображенных в настоящем описании иллюстративных реализациях раскрытия. Кроме того, хотя конкретный признак раскрытия мог быть раскрыт в отношении только одной из нескольких реализаций, такой признак может комбинироваться с одним или несколькими другими признаками других реализаций, как может быть желательным и полезным для какого-либо данного или конкретного применения. Кроме того, термины «включает в себя», «имеет», «с» или их варианты в подробном описании или в формуле изобретения являются включающими, аналогично термину «содержащий».