КОНТРАКТЫ УПРАВЛЕНИЯ ПИТАНИЕМ ДЛЯ ВСПОМОГАТЕЛЬНЫХ УСТРОЙСТВ
POWER CONTROL CONTRACTS FOR AUXILIARY DEVICES

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0001] Подробное описание описывается со ссылкой на сопроводительные фигуры. На фигурах крайняя левая цифра(ы) ссылочного номера идентифицирует фигуру, на которой ссылочный номер появляется впервые. Использование одинаковых ссылочных номеров в разных примерах в описании и на фигурах может указывать сходные или идентичные элементы. Объекты, представленные на фигурах, могут быть указывающими один или более объектов и, следовательно, в описании ссылка может быть сделана взаимозаменяемым образом на формы объектов в единственном или множественном числе.
[0002] Фиг. 1 является иллюстрацией среды в примерной реализации, которая выполнена с возможностью использования описываемых в данном документе методик.
[0003] Фиг. 2 изображает примерное вычислительное устройство и вспомогательное устройство с Фиг. 1 более подробно.
[0004] Фиг. 3A изображает примерный вид вспомогательного устройства, выполненного в качестве стыковочного узла в соответствии с одной или более реализациями.
[0005] Фиг. 3B изображает примерный вид в перспективе стыковочного узла с Фиг. 3A, чтобы проиллюстрировать типичные порты на задней стороне в соответствии с одной или более реализациями.
[0006] Фиг. 3C изображает примерный вид системы, которая включает в себя стыковочный узел с Фиг. 3A и 3B и главное (host) вычислительное устройство, показанное как вставленное в и соединенное со стыковочным узлом.
[0007] Фиг. 4 изображает примерную процедуру в соответствии с одной или более реализациями.
[0008] Фиг. 5 изображает другую примерную процедуру в соответствии с одной или более реализациями.
[0009] Фиг. 6 изображает другую примерную процедуру в соответствии с одной или более реализациями.
[0010] Фиг. 7 иллюстрирует примерную систему, включающую в себя разнообразные компоненты примерного устройства, которое может быть реализовано в качестве любого типа вычислительного устройства, чтобы реализовывать варианты осуществления описываемых в данном документе методик.
ПОДРОБНОЕ ОПИСАНИЕ
Обзор
[0011] Одна из проблем, которая стоит перед разработчиками мобильных вычислительных устройств, заключается в эффективном управлении питанием и времени работы от батареи. Например, главное вычислительное устройство и поддерживаемое вспомогательное оборудование могут иметь ограниченную доступность питания от внешних источников питания. В некоторых сценариях, устройство может получать добавочное питание от других устройств и/или внешнего источника питания (например, внешней батареи). Тем не менее, традиционные схемы управления питанием могут устанавливать фиксированные ограничения на способ, посредством которого устройства осуществляют обмен питанием. По существу, изменения, которые могут происходить в рабочих условиях, могут учитываться неправильно, и это может привести к неэффективному использованию питания.
[0012] Описываются контракты управления питанием для вспомогательных устройств. В одной или более реализациях контракт управления питанием учреждается для системы, включающей в себя главное вычислительное устройство и вспомогательное устройство, на основании, по меньшей мере частично, условий обмена питанием, наблюдаемых для системы. Контракты управления питанием определяют рабочие ограничения для обмена питанием между компонентами системы, включая, по меньшей мере, направление обмена питанием и предельные значения по току. Главное вычислительное устройство и вспомогательные устройства каждое выполнены с возможностью пересмотра контракта управления питанием, чтобы динамически менять рабочие ограничения в режиме «реального времени». Дополнительно, разные контракты управления питанием могут быть ассоциированы с идентифицирующими данными, соответствующими разным типам вспомогательных устройств.
[0013] После соединения вспомогательного устройства с главным вычислительным устройством получают данные, указывающие идентификационные данные, и используются, чтобы верифицировать, является ли вспомогательное устройство авторизованным вспомогательным оборудованием. Взаимодействие со вспомогательным устройством может быть ограничено, если вспомогательное устройство является неавторизованным. Тем не менее, когда вспомогательное устройство является авторизованным вспомогательным оборудованием, данные, указывающие идентификационные данные, могут быть использованы, чтобы осуществлять поиск установок контракта питания, ассоциированных со вспомогательным устройством, и соответственно устанавливать направление обмена питанием, предельные значения по току, и/или другие рабочие ограничения. Когда либо главное оборудование, либо вспомогательное оборудование обнаруживает изменение в условиях обмена питанием, которые неизбежно влекут за собой обновление контракта управления питанием, сообщения обновления контракта питания сообщаются между главным оборудованием и вспомогательным оборудованием, чтобы выполнить обновление в режиме реального времени рабочих ограничений обмена питанием и тем самым активировать обновленный контракт питания.
[0014] В нижеследующем описании сначала описывается примерная среда и устройства, которые могут использовать описываемые в данном документе методики. Затем описываются примерные подробности и процедуры, которые могут быть выполнены в примерной среде и посредством устройств, как, впрочем, и в других средах и посредством других устройств. Следовательно, реализация примерных подробностей и процедур не ограничивается примерной средой/устройствами и примерная среда/устройства не ограничиваются примерными подробностями и процедурами.
Примерная рабочая среда
[0015] Фиг. 1 является иллюстрацией среды 100 в примерной реализации, которая выполнена с возможностью использования описываемых в данном документе методик. Иллюстрируемая среда 100 включает в себя пример главного вычислительного устройства 102, которое является физически и коммуникативно связанным со вспомогательным устройством 104 через интерфейс 106. Главное вычислительное устройство 102 может быть сконфигурировано различными образами. Например, вычислительное устройство 102 может быть сконфигурировано для мобильного использования, как например, мобильный телефон, носимое устройство, планшетный компьютер, как иллюстрируется, и т.д. Таким образом, главное вычислительное устройство 102 может находиться в диапазоне от устройств с полноценными ресурсами со значительными ресурсами памяти и процессора, до устройства с незначительными ресурсами с ограниченными ресурсами памяти и/или обработки. Главное вычислительное устройство 102 также может относиться к программному обеспечению, которое предписывает главному вычислительному устройству 102 выполнять одну или более операций.
[0016] Главное вычислительное устройство 102, например, иллюстрируется как включающее в себя модуль 108 ввода/вывода. Модуль 108 ввода/вывода представляет собой функциональное средство, которое относится к обработке вводов и рендерингу выводов главного вычислительного устройства 102. Многообразие разных вводов может быть обработано модулем 108 ввода/вывода, как например вводы, которые относятся к функциям, которые соответствуют клавишам устройства ввода, клавишам виртуальной клавиатуры, отображаемой устройством 110 отображения, чтобы идентифицировать жесты и предписывать выполнение операций, которые соответствуют жестам, которые могут быть распознаны посредством вспомогательного устройства 104 и/или функционального средства сенсорного экрана устройства 110 отображения, и т.д. Таким образом, модуль 108 ввода/вывода может поддерживать многообразие разных методик ввода посредством распознавания и используя разделение между типами вводов, включающими в себя нажатия клавиши, жесты, и т.д.
[0017] В иллюстрируемом примере вспомогательное устройство 104 является устройством, выполненным в качестве клавиатуры с раскладкой QWERTY клавиш, несмотря на то, что также предусматриваются другие раскладки клавиш. Кроме того, также предусматриваются другие нетрадиционные конфигурации применительно к вспомогательному устройству 104, как например, игровой контроллер, конфигурация для имитации музыкального инструмента, адаптер питания, стыковочный узел, USB-концентратор, внешняя батарея, сочетания этих конфигураций, и т.д. Таким образом, вспомогательное устройство 104 может допускать многообразие разных конфигураций, чтобы поддерживать многообразие разных функциональных средств. Разные вспомогательные устройства могут быть с возможностью разъединения соединены с вычислительным устройством в разные моменты времени.
[0018] Как описано ранее, вспомогательное устройство 104 является физически и коммуникативно соединенным с главным вычислительным устройством 102 в данном примере посредством интерфейса 106 в форме гибкого шарнира. Гибкий шарнир 106 представляет собой лишь один иллюстративный пример интерфейса 106, который является пригодным, чтобы соединять и/или присоединять вспомогательное устройство к главному вычислительному устройству 102. Гибкий шарнир, например, может быть сформирован, используя один или более слоев покрытия, и включать в себя проводники, сформированные в качестве гибких дорожек, чтобы коммуникативно связывать вспомогательное устройство 104 с главным вычислительным устройством 102 и наоборот. Гибкий шарнир является гибким в том, что вращательное перемещение, обеспечиваемое шарниром, достигается посредством изгиба (например, сгибания) материала, формирующего шарнир, в противоположность механическому вращению, которое обеспечивается осью, несмотря на то, что этот вариант осуществления также предусматривается. Посредством такого вращательного перемещения гибкий шарнир позволяет вспомогательному устройству принимать многообразие положений относительно главного вычислительного устройства 102, включая, но не ограничиваясь, закрытое положение, при котором вспомогательное оборудование может выступать в роли крышки, открытое положение или положение для печати, и/или планшетное положение, при котором вспомогательное оборудование повернуто таким образом, чтобы прилегать плоскостью к «задней» стороне главного вычислительного устройства 102 (например, стороне, которая является противоположной иллюстрируемой «передней» стороне с устройством 110 отображения).
[0019] Также предусматриваются другие типы интерфейсов 106 и соединителей, такие как использующие магнитным образом связывающие устройства, интегрированные порты связи и контакты связи, выступы, слоты, и/или зубцы механической связи, по-отдельности или в сочетании, чтобы формировать разные типы интерфейсов 106. В одном примере интерфейс 106 может быть выполнен в качестве порта связи, выполненного с возможностью соединения со вспомогательными устройствами через соответствующий соединитель и/или шнур соединителя. По меньшей мере, в некоторых реализациях, интерфейс 106 выполнен с возможностью осуществления связи для аутентификации и управления вспомогательным устройством 104, как описывается в данном документе. Например, вычислительное устройство 102 может принимать учетные данные (например, данные указывающие идентификационные данные вспомогательного оборудования) и другие данные, касающиеся возможностей вспомогательного оборудования посредством интерфейса, отвечающего за обнаружение присутствия/присоединения вспомогательного устройства 104. Интерфейс также может обеспечивать связывание по питанию для обмена питанием и сообщение сообщений, чтобы реализовывать и обновлять контракты управления питанием, как описывается выше и ниже.
[0020] Как дополнительно иллюстрируется на Фиг. 1, вычислительное устройство 102 может включать в себя контроллер 112 питания, выполненный с возможностью реализации аспектов методик контракта управления питанием, описываемых в данном документе. В частности, контроллер 112 питания представляет собой функциональное средство, чтобы выполнять разнообразные операции для управления питанием, включая обработку установок применительно к рабочим ограничениям управления питанием, которые определяются контрактами управления питанием, выборочную активацию контрактов на основании идентификационных данных вспомогательного оборудования, содействие обмену сообщениями управления питанием между главным оборудованием и вспомогательным оборудованием, и обновление контрактов управления питанием динамически в ответ на изменения наблюдаемых условий. Управление питанием, реализуемое контроллером 112 питания, также может включать в себя управление разными источниками питания и переключение между источниками, реализуя определенную и/или выбранную схему управления питанием, управление временем работы от батареи, и т.д. Контроллер 112 питания может дополнительно содействовать соединениям и осуществлению связи с адаптером 114 питания (также именуемым в данном документе блоком подачи питания (PSU)), выполненным с возможностью подачи питания к устройству через пригодный внешний источник 116 питания, такой как настенная розетка, внешняя батарея, блок подачи питания, или другой источник питания. Контроллер 112 питания также может быть выполнен с возможностью подачи питания к вспомогательным устройствам в соответствующих обстоятельствах. Другими словами, контроллер 112 питания может управлять операциями питания совместно для главного вычислительного устройства и авторизованных вспомогательных устройств, в том числе обмен питанием между главным вычислительным устройством и вспомогательным устройством.
[0021] Контроллер 112 питания может быть реализован в аппаратном обеспечении, программном обеспечении, встроенном программном обеспечении и/или их сочетаниях. В качестве примера, а не ограничения, вычислительное устройство 102 может включать в себя микроконтроллер или другое пригодное логическое устройство аппаратного обеспечения, выполненное с возможностью реализации разнообразных функциональных средств, которые описываются в данном документе в отношении контроллера 112 питания. Вследствие этого, контроллер 112 питания может представлять собой встроенное программное обеспечение или логику, ассоциированную с пригодным логическим устройством аппаратного обеспечения. В дополнение или в качестве альтернативы, контроллер 112 питания может быть реализован в виде системы обработки устройства и одного или более программных модулей, которые являются исполняемыми/работающими через систему обработки.
[0022] Адаптер 114 питания может быть выполнен с возможностью выборочной работы в нескольких режимах и подачи нескольких уровней питания к вычислительному устройству. Уровень питания, подаваемого в конкретное время, может быть основан на вводе, уведомлениях, или другой пригодной обратной связи, конфигурируемой и отправляемой к адаптеру 114 питания контроллером 112 питания, чтобы предписать адаптеру 114 питания подавать соответствующий уровень питания. В зависимости от состояния обмена питанием адаптер 114 питания, когда соединен с вычислительным устройством, может заряжать батарею, ассоциированную с одним из или как с главным оборудованием, так и вспомогательным оборудованием, подавать питание, чтобы обеспечивать операции одного из или как главного оборудования, так и вспомогательного оборудования, и иным образом подавать питание от внешних источников 116 питания для совместной зарядки и работы главного оборудования и вспомогательного оборудования в разнообразных сочетаниях. Контракты управления питанием, реализуемые через контроллер 112 питания, могут быть выполнены с возможностью управления потоком питания между компонентами системы (например, главным оборудованием, вспомогательным оборудованием, и адаптером) в зависимости от идентификационных данных вспомогательного оборудования, условий обмена питанием, доступности источника питания, и т.д. Дополнительные подробности, касающиеся работы контроллера 112 питания и адаптера 114 питания, чтобы реализовывать контракты управления питанием для вспомогательных устройств, можно найти в нижеследующем описании.
Подробности примерного контракта управления питанием
[0023] Фиг. 2 изображает, в целом, под обозначением 200 примерное главное вычислительное устройство 102 и вспомогательное устройство 104 более подробно. На Фиг. 2, главное вычислительное устройство 102 изображено с контроллером 112 питания, иллюстрируемым, как обеспечиваемое посредством одного или более микроконтроллера(ов) 202, также именуемое как блок(и) микро-обработки (μP). Вычислительное устройство 104 дополнительно включает в себя ассоциированный блок 204 питания, такой как одна или более внутренних батарей. Вспомогательное устройство 104 также может включать в себя один или более микроконтроллер(ов) 206 и соответствующий блок 208 питания. Блок 208 питания может быть выполнен в виде одной или более батарей, которые являются внутренними для вспомогательного устройства 104 (например, батарея вспомогательного оборудования) и, вследствие этого, могут считаться внешними батареями по отношению к главному вычислительному устройству 102.
[0024] Примерные микроконтроллеры (μP) представляют собой устройства/системы аппаратного обеспечения, которые разработаны, чтобы выполнять предварительно определенный набор предназначенных задач. Микроконтроллеры могут представлять собой соответствующие системы на кристалле/схемы с автономными ресурсами, такими как компоненты обработки, устройства I/O/периферийное оборудование, разнообразные типы памяти (ROM, RAM, Флэш, EEPROM), программируемую логику, и т.д. Разные микроконтроллеры могут быть сконфигурированы, чтобы реализовывать встроенные приложения/функциональные средства, которые реализуются, по меньшей мере частично, в аппаратном обеспечении и выполняют соответствующие задачи. В частности, примерные микроконтроллеры 202, 206 обеспечивают выполнение задач для аутентификации устройства и управления питанием вне работы системы обработки общего назначения и других приложений/компонентов вычислительного устройства или вспомогательного устройства. Как правило, энергопотребление микроконтроллеров является низким в сравнении с работой системы обработки общего назначения для устройства.
[0025] Соответственно, компоненты, реализованные через микроконтроллеры, могут работать, используя относительно низкое питание, независимо от работы «первичной» системы обработки главного вычислительного устройства, и/или без загрузки/исполнения операционной системы или использования других компонентов устройства и приложений. Другими словами, микроконтроллеры могут работать, чтобы выполнять некоторые задачи управления питанием в режиме низкого энергопотребления без работы или подачи питания к системе обработки и другим компонентам устройства (например, памяти устройства, сетевому интерфейсу, устройству отображения, и т.д.) и/или без полного запуска или пробуждения вычислительного устройства.
[0026] Главное вычислительное устройство 202 может быть соединяемым с разными вспомогательными устройствами через вспомогательный интерфейс 210. Вспомогательный интерфейс 210 представляет собой функциональное средство для достижения физического и коммуникативного связывания между главным вычислительным устройством и разнообразным вспомогательным оборудованием. Например, соединитель 211, соответствующий вспомогательному интерфейсу 210, может быть использован, чтобы соединять вспомогательное оборудование с главным вычислительным оборудованием и обеспечивать обмен сигналами управления, данными и питанием. В изображенном примере, соединитель 211 иллюстрируется в качестве шнура соединителя, который может быть с возможностью разъединения вставлен в соответствующий порт, ассоциированный со вспомогательным интерфейсом 210, несмотря на то, что также предусматриваются другие типы соединений, такие как гибкий шарнир, который обсуждался в отношении Фиг. 1, соединения со стыковочным узлом, которые обсуждаются в отношении следующих фигур, и/или другие пригодные интерфейсы и сочетания соединителя. В качестве альтернативы, беспроводная связь может быть использована между вспомогательным и главным устройствами. В этом альтернативном примере, главное и вспомогательное устройства могут сообщать контракты в отношении беспроводного обмена питанием, например, питания, обмен которым осуществляется через индуктивное связывание питания.
[0027] Как представлено на Фиг. 2, обмен питанием может происходить между блоком 204 питания главного оборудования и блоком 208 питания вспомогательного оборудования в соответствии с методиками, которые описываются выше и ниже. В некоторых реализациях, обмен питанием также может происходить с внешним источником 116 питания, выполненном в виде внешней батареи через адаптер 114 питания, как представлено на Фиг. 1. Другими словами, трехсторонний обмен питанием может происходить между батареями/блоками питания, соответствующими главному оборудованию, вспомогательному оборудованию, соединенному через вспомогательный интерфейс, и внешним источником питания. Как правило, обмен питанием между главным оборудованием и одним или более соединенных устройств (адаптерами/вспомогательным оборудованием/периферийным оборудованием) может происходить в прямом и обратном направлении (например, двунаправленно) от главного оборудования к одному или более из устройств, от одного или более устройств к главному оборудованию, и/или непосредственно между соединенными устройствами (например, устройство с устройством) через главное оборудование.
[0028] Таким образом, обмен питанием может происходить через вспомогательный интерфейс 210 в некоторых сценариях. Питание, подаваемое к главному вычислительному устройству, может быть использовано для работы главного оборудования (например, обслуживание нагрузки системы) и/или поддержания уровня заряда блока 204 питания (например, внутренней батареи). Дополнительно, питание, подаваемое к главному оборудованию, может быть подано непосредственно или опосредовано к вспомогательному устройству 104 для обеспечения операций и/или зарядки блока 208 питания (например, внешней батареи). Более того, питание может быть распределено от главного вычислительного устройства 102 и/или вспомогательного устройства 104 к одному или более периферийного оборудования 212, которое может быть соединено непосредственно с главным вычислительным устройством и/или соединено с системой через вспомогательное устройство 104, как представлено на Фиг. 2. Например, в одной или более реализациях вспомогательное устройство может быть выполнено с возможностью обеспечения функционального средства концентратора периферийного устройства, такого как концентратор, который предоставляет несколько портов универсальной последовательной шины (USB) и/или других типов портов соединения, с которыми может быть соединено многообразие периферийного оборудования 212. Периферийное оборудование 212 может включать в себя разнообразные устройства, такие как периферийное устройство отображения, принтер, сканер, аудио устройства, камера, запоминающее устройство, или сетевой адаптер, чтобы привести несколько примеров.
[0029] Следует отметить, что главное вычислительное устройство 102 и вспомогательное устройство 104 оба могут быть выполнены с возможностью использования внешних источников 116 питания, как например, посредством использования соответствующих адаптеров 114 питания, соединенных с настенной розеткой или другим источником. Питание, подаваемое непосредственно к вспомогательному устройству 104 через соответствующий адаптер 114 питания, может быть использовано, совместно использовано, и/или может осуществляться обмен им между главным оборудованием и вспомогательным оборудованием образом сравнимым с питанием, которое подается непосредственно к главному вычислительному устройству 102.
[0030] Главное вычислительное устройство может быть дополнительно выполнено с возможностью реализации схемы 214 питания и модуля 216 безопасности разнообразными образами. В иллюстрируемом примере, схема 214 питания изображается как реализованная через контроллер 112 питания. В данном примере, схема 214 питания выполнена в виде встроенного программного обеспечения, ассоциированного с главным вычислительным устройством 102. Например, схема 214 питания может представлять собой встроенное программное обеспечение, ассоциированное с микроконтроллером 202, контроллером 112 питания, или другим пригодным логическим устройством аппаратного обеспечения. В качестве альтернативы, схема 214 питания может быть реализована в качестве автономного модуля, используя любое пригодное сочетание аппаратного обеспечения, программного обеспечения, встроенного программного обеспечения, и/или логических устройств.
[0031] Схема 214 питания представляет собой функциональное средство, чтобы реализовывать методики контракта управления питанием, которые описываются выше и ниже, как, впрочем, и другие функции управления питанием. В частности, схема 214 питания может быть выполнена с возможностью совместного управления потоком питания между адаптером 114 питания, главным вычислительным устройством 102 и вспомогательным устройством 104. В качестве примера, а не ограничения, это может включать в себя управление потоком питания, чтобы выборочно заряжать батареи, ассоциированные с компонентами; обмен питанием между батареями, системами обработки, и компонентами; подачу питания, чтобы обслуживать нагрузку системы применительно к главному оборудованию и вспомогательному оборудованию; и т.д. Для выполнения этого, схема 214 питания может предоставлять функциональное средство, чтобы учреждать, приводить в исполнение, и обновлять контракты 218 управления питанием между разнообразными компонентами системы. Данное функциональное средство может включать в себя поддержку для отправки и приема сообщений, касающихся контрактов управления питанием, между компонентами системы. Как отмечено, контракты 218 управления питанием выполнены с возможностью определения рабочих ограничений применительно к управлению питания, включая, но не ограничиваясь, для указания направления обмена питанием и предельных значений по току для разных устройств и сценариев. Более того, установки для контрактов 218 управления питанием могут быть модифицированы в режиме реального времени на основании условий, наблюдаемых главным оборудованием или вспомогательным оборудованием. Таким образом, начальные или по умолчанию установки для контрактов 218 управления питания могут быть ассоциированы с разным вспомогательным оборудованием и соответствующие контракты могут быть активированы по начальному соединению и авторизации разного вспомогательного оборудования. Изначально активированные контракты 218 управления питанием могут быть модифицированы впоследствии на основании условий, включающих в себя, но не ограниченных, относительные состояния зарядки (RSOC) для батарей компонентов системы, обслуживаемые нагрузки по питанию, количество периферийного оборудования 212, соединенного с главным оборудованием и/или вспомогательным оборудованием, источник питания, доступный для компонентов системы, характеристики блока питания, нагрузки обработки, и т.д. Таким образом, вместо фиксирования рабочих ограничений применительно к обмену питанием в момент, когда вспомогательное оборудование и/или периферийное оборудование соединяется с системой, контракты 218 управления питанием и ассоциированные методики, обсуждаемые в данном документе, разработаны для того, чтобы обеспечить динамические регулировки таких ограничений в ответ на меняющиеся условия в любое время в течении соединения вспомогательного оборудования с главным оборудованием. Такие модификации начальных установок для контракта 218 управления питанием, основанные на условиях в режиме «реального времени» могут быть инициированы вспомогательными устройствами и/или главным вычислительным устройством.
[0032] Модуль 216 безопасности представляет собой функциональное средство, выполненное с возможностью идентификации и/или аутентификации вспомогательных устройств, когда устройства присоединяются/соединяются с вычислительными устройствами. Модуль 216 безопасности может быть выполнен с возможностью реализации многообразия разных методик аутентификации. Вообще говоря, модуль 216 безопасности выполняет последовательность аутентификации, в которой получаются и верифицируются учетные данные 220 (например, ID устройства/пароль, алфавитно-цифровой код, идентифицирующее значение сопротивления, и т.д.), ассоциированные со вспомогательным устройством 104. Вспомогательное устройство 104 на Фиг. 2 иллюстрируется как включающее в себя примерные учетные данные 220, которые могут быть предоставлены модулю 216 безопасности для аутентификации по запросу.
[0033] Если учетные данные являются действительными (например, устройство является распознанным устройством, которое обладает ассоциированными привилегиями), аутентификация считается успешной и вспомогательное устройство 104 может быть авторизовано для обмена питанием через контроллер 112 питания и других взаимодействий с главным вычислительным устройством 102. Более того, учетные данные 220 могут быть ассоциированы с установками контракта управления питанием, сохраненными для авторизованного устройства и, вследствие этого, могут быть использованы для поиска и активации таких установок (например, начальных или по умолчанию установок) для разных устройств после успешной аутентификации. С другой стороны, если учетные данные не являются действительными, взаимодействие вспомогательного устройства 104 с вычислительным устройством 102 может быть ограничено разнообразными путями и/или предотвращено. Таким образом, модуль 216 безопасности может предотвращать подачу/использование питания неавторизованными устройствами путями, которые могут быть неэффективными и/или небезопасными.
[0034] Как упомянуто, методики контракта управления питанием, обсуждаемые в данном документе, могут быть использованы вместе со вспомогательными устройствами, выполненными с возможностью обеспечения функционального средства концентратора периферийного устройства, такого как автономный концентратор, стыковочный узел, монитор, который включает в себя концентратор периферийного устройства, и т.д. Такие вспомогательные устройства могут включать в себя порты и соединители для разнообразных видов устройства, включая, но не ограничиваясь, USB, соединения параллельного интерфейса, соединения последовательного интерфейса, firewire, PS/2, HDMI, и другие типы портов и механизмов соединения. В качестве примера, а не ограничения, Фиг. с 3A по 3C иллюстрируют один конкретный пример вспомогательного устройства в форме стыковочного узла, который включает в себя концентратор периферийного устройства. В частности, Фиг. 3A изображает примерный вид 300 вспомогательного устройства, выполненного в виде стыковочного узла 302, в соответствии с одной или более реализациями. В данном примере, стыковочный узел 302 выполнен с возможностью приема и соединения с главным вычислительным устройством 102 в форм-факторе тонкого планшетного компьютера (например, планшета). Стыковочный узел 302 может включать в себя один или более соединителей 211, разработанных, чтобы создавать связь и физическое связывание со вспомогательным интерфейсом 210 главного вычислительного устройства 102. Здесь, устройство в форме тонкого планшетного компьютера может скользящим и съемным образом приниматься стыковочным узлом 302. Когда вставлено в стыковочный узел 302, контроллер 112 питания устройства тонкого планшетного компьютера может реализовывать схему 214 питания и контракты 218 управления питанием, чтобы совместно управлять питанием (например, применительно к главному оборудованию, вспомогательному оборудованию, адаптеру, и/или периферийному оборудованию взаимно соединенной системы) обсуждаемым в данном документе образом.
[0035] Фиг. 3B изображает примерный вид 304 в перспективе стыковочного узла 302 с Фиг. 3A, чтобы проиллюстрировать порты на задней стороне устройства в соответствии с одной или более реализациями. В качестве примера, а не ограничения, примерный стыковочный узел 302 включает в себя множество портов 308 USB, которые могут работать в качестве USB-концентратора, порт 308 Ethernet, порт 310 аудио выхода (например, для громкоговорителей или головных телефонов), порт 312 аудио входа (например, для микрофона или добавочного аудио), порт 314 адаптера питания, и порт 316 дисплея для соединения периферийного устройства отображения. Порты 308 USB, как, впрочем, и другие порты, могут быть выполнены с возможностью предоставления питания к соединенным периферийным устройствам. По существу, способность стыковочного узла 302 осуществлять обмен питанием с главным оборудованием может варьироваться на основании количества периферийных устройств, соединенных со стыковочным оборудованием, и нагрузкой питания в любой заданный момент времени. Контракты 218 управления питанием, описываемые в данном документе, могут, вследствие этого, быть использованы, чтобы изменять рабочие ограничения соответственно по мере того, как меняется количество периферийного оборудования, нагрузка периферийного оборудования, и/или другие условия управления питанием, обсуждаемые в данном документе.
[0036] Фиг. 3C изображает примерный вид 318 системы, которая включает в себя стыковочный узел 302 с Фиг. 3A и 3B и главное вычислительное устройство 102, показанное как вставленное в и соединенное со стыковочным узлом. В данном примере, главное вычислительное устройство 102 иллюстрируется как устройство форм-фактора тонкого планшетного компьютера (например, планшет). Главное вычислительное устройство 102 также показано как соединенное с другим вспомогательным устройством 104 в форме клавиатуры, которое может быть манипулируемым в разнообразных положениях через интерфейс 106 (например, гибкий шарнир), как обсуждалось ранее. В данной компоновке, контроллер 112 питания может реализовывать схему 214 питания и контракты 218 управления питанием, чтобы совместно управлять питанием применительно к взаимно соединенным компонентам системы образом, который обсуждается в данном документе, включая клавиатуру, соединенную с главным оборудованием, и любое дополнительное периферийное оборудование 212, которое соединяется с портами стыковочного узла.
[0037] Рассмотрев предшествующее описание примерной рабочей среды, системы, и устройств, рассмотрим теперь описание примерных процедур, которые включают в себя дополнительные подробности, касающиеся методик, чтобы реализовать контракты управления питанием для вспомогательных устройств.
Примерные процедуры
[0038] Нижеследующее описание описывает методики, которые могут быть реализованы, используя ранее описанные системы и устройства. Аспекты каждой из процедур могут быть реализованы в аппаратном обеспечении, встроенном программном обеспечении, программном обеспечении, или их сочетании. Процедуры показаны в качестве набора блоков, которые указывают операции, выполняемые одним или более устройствами, и не обязательно ограничиваются очередностями, показанными для выполнения операций посредством соответствующих блоков. Во фрагментах нижеследующего описания, ссылка может быть сделана на примерную рабочую среду 100 с Фиг. 1 и примерные устройства с Фиг. 2-3C, соответственно. Аспекты процедур могут быть выполнены посредством пригодным образом сконфигурированного вычислительного устройства, такого как примерное главное вычислительное устройство 102 с Фиг. 2, которое включает в себя или иным образом использует один или более микроконтроллеров 202, чтобы реализовывать контракты 218 управления питанием. В дополнение или в качестве альтернативы, аспекты процедур могут быть выполнены через вспомогательное устройство, такое как примерное вспомогательное устройство 104 с Фиг. 2, которое включает в себя или иным образом использует один или более микроконтроллеров 206.
[0039] Фиг. 4 изображает примерную процедуру 400, в которой управление обменом питанием со вспомогательным устройством осуществляется в соответствии с контрактом управления питанием, который ассоциирован со вспомогательным оборудованием. Обнаруживается соединение вспомогательного устройства с главным вычислительным устройством через вспомогательный интерфейс (этап 402). Например, один или более микроконтроллеров 202, ассоциированных с главным вычислительным устройством 102, могут быть выполнены с возможностью распознавания соединения разнообразных устройств со вспомогательным интерфейсом 210. Обнаружение может происходить разнообразными путями. В одном подходе, один или более микроконтроллеров 202 выполнены с возможностью обнаружения сигналов, отправляемых вспомогательным устройством, когда соединитель 211 успешно присоединяется ко вспомогательному интерфейсу 210. В качестве альтернативы главное вычислительное устройство 102 может быть выполнено с возможностью опроса вспомогательного интерфейса 210, чтобы определять, когда устройства присоединяются или отсоединяются от него.
[0040] После присоединения вспомогательного устройства получают данные, указывающие идентификационные данные вспомогательного устройства (этап 404). Например, вспомогательные устройства могут быть выполнены с возможностью подачи учетных данных 220 к главному оборудованию разнообразными путями, как упомянуто ранее. В одном подходе, вспомогательные устройства выполнены с возможностью предоставления соответствующего значения сопротивления, указывающего идентификационные данные для чтения главным вычислительным устройством. Разные значения сопротивления могут быть ассоциированы с разными типами вспомогательного оборудования. Таким образом, когда вспомогательное оборудование соединяется, главное вычислительное устройство может считывать соответствующее значение сопротивления и различать разное вспомогательное оборудования на основании этого. В качестве альтернативы, другие учетные данные 220 могут быть сообщены главному оборудованию вспомогательным оборудованием, чтобы указать его учетные данные, как например отправка конкретного цифрового кода, значения поля ID, имени устройства, и т.д.
[0041] На основании данных, указывающих идентификационные данные вспомогательного устройства, выполняется определение касательного того, является ли вспомогательное устройство авторизованным устройством (этап 406). Например, значение сопротивления или другие полученные учетные данные могут быть использованы в качестве ссылки для поиска конкретных значений, предоставленных в таблице, списке, или другой структуре данных, которая отражает известные значения для авторизованных и/или неавторизованных устройств. По меньшей мере, в некоторых реализациях, поиск может быть выполнен модулем 216 безопасности, как описано ранее. На основании данного поиска, модуль 216 безопасности способен различать авторизованные и неавторизованные устройства. Модуль 216 безопасности может переправлять результаты определения авторизации к контроллеру 112 питания и/или другим компонентам, чтобы содействовать соответствующим действиям в отношении управления питанием.
[0042] В случае, когда вспомогательное устройство не является авторизованным, взаимодействие со вспомогательным устройством может быть ограничено (этап 408). Разнообразные ограничения могут быть наложены на неавторизованные устройства контроллером 112 питания. Например, может быть предотвращен обмен питанием со вспомогательным устройством (этап 410). В дополнение или в качестве альтернативы, вспомогательное устройство может быть отсоединено (этап 412). Эти и прочие ограничения могут быть приведены в исполнение контроллером 112 питания, чтобы избежать обмена питанием и другого взаимодействия с «неизвестным» вспомогательным оборудованием, которое может быть небезопасным и/или приводить к неожиданным последствиям.
[0043] С другой стороны, в случае, когда вспомогательное устройство является авторизованным, активный контракт управления питанием может быть установлен для обмена питанием со вспомогательным устройством (этап 414). Для того чтобы сделать это, выполняется поиск установок для контракта управления питанием (этап 416). На основании данного поиска, устанавливается направление обмена (этап 418) и устанавливаются одно или более предельные значения по току (этап 420). Установки для активного контракта управления питанием определяют рабочие ограничения для обмена питанием между компонентами системы. В частности, контроллер 112 питания может сохранять таблицу, файл, или другую пригодную структуру данных, разработанную, чтобы ассоциировать авторизованные устройства с соответствующими контрактами управления питанием и установками для рабочих ограничений. Данная структура данных может отражать начальные и по умолчанию установки, которые могут быть активированы при соединении авторизованного устройства. Как отмечено, контракты управления питанием могут указывать, по меньшей мере, направление обмена питанием и одно или более предельные значения по току. В качестве примера, а не ограничения, направление обмена питанием может быть указано посредством логического значения (например, ноль для «прямой» подачи питания от главного оборудования к вспомогательному оборудованию и один для «обратной» подачи питания от вспомогательного оборудования к главному оборудованию). Предельные значения по току могут включать в себя либо одно из, либо как максимальный уровень тока, так и минимальный уровень тока. В целом, предельные значения по току могут быть представлены цифровыми значениями. Максимальное предельное значение по току равное нулю может быть установлено для вспомогательного устройства, например, когда вспомогательное оборудование неспособно подавать питание к главному оборудованию. В данном случае, направление обмена питанием также может быть изменено соответственно нулю. В качестве альтернативы, предельные значения по току для вспомогательного оборудования могут быть установлены в значения, которые учреждают ограничения на величину тока, которую вспомогательное оборудование может подавать для работы и зарядки главного оборудования в типичных рабочих условиях. Подобным образом, предельные значения по току для обмена от главного оборудования к вспомогательному оборудованию могут быть установлены в значения, которые учреждают ограничения на величину тока, которую главное оборудование может подавать в типичных рабочих условиях.
[0044] Как отмечено, начальные или по умолчанию установки для контрактов 218 управления питанием, применяемые в момент, когда соединяется вспомогательное оборудование, могут впоследствии быть динамически изменены в ответ на меняющиеся условия. Таким образом, после установки контракта управления питанием, может быть выполнено отслеживание, чтобы обнаружить изменения условий, которые делают необходимым обновление установок. Подробности касательно методик, которые могут быть использованы, чтобы отслеживать условия и динамически менять установки для активного контракта управления питанием, обсуждаются в отношении нижеследующей примерной процедуры.
[0045] В частности, Фиг. 5 изображает примерную процедуру 500, в которой установки для активного контракта управления питанием модифицируются в ответ на изменения условий управления питанием. Осуществляется управление обменом питанием между главным устройством и вспомогательным устройством в соответствии с установками, определенными активным контрактом управления питанием (этап 502). Например, контракт управления питанием может быть учрежден и активирован на основании идентификационных данных вспомогательного оборудования образом, который обсуждался в отношении примерной процедуры 400 на Фиг. 4. Активный контракт управления питанием может, вследствие этого, представлять собой начальные установки, ассоциированные со вспомогательным устройством. В дополнение или в качестве альтернативы, активный контракт управления питанием может представлять собой установки, которые были модифицированы в режиме реального времени на основании обновления предыдущего состояния, которое было инициировано на основании наблюдаемых условий.
2
[0046] Активный контракт управления питанием может быть реализован посредством контроллера 112 питания, как упоминалось ранее. Контроллер питания может отправлять уведомления, директивы, шаблоны сигнала, и/или другие сообщения обновления контракта питания к контроллеру, ассоциированному со вспомогательным устройством 104 (например, микроконтроллеру 206), чтобы сообщать установки для контракта управления питанием, запрашивать изменения, подтверждать изменения, и иным образом предписывать вспомогательному устройству 104 приводить в исполнение схему 214 питания и/или контракт 218 управления питанием. Например, директивы могут быть сообщены посредством разнообразных сообщений обновления контракта питания, чтобы изменить направление обмена питанием, изменить предельные значения по току (например, подавать больше или меньше питания), и т.д. Вспомогательное устройство 104 (например, посредством микроконтроллера 206 или иным образом) также может быть выполнено с возможностью генерирования и сообщения сопоставимых сообщений обновления контракта питания, чтобы согласовывать контракты 218 управления питанием с главным оборудованием (например, контроллером питания). Сообщения обновления контракта питания могут быть сконфигурированы разнообразными путями. Например, сообщения могут быть сконфигурированы в качестве импульсных шаблонов сигнала, которые являются распознаваемыми соответствующими контроллерами главного оборудования и вспомогательного оборудования. Также предусматриваются разнообразные пригодные протоколы обмена сообщениями и соответствующие форматы сообщения, как например, использование меж-микросхемного (IC) протокола, последовательный периферийный интерфейс (SPI), обмен сообщениями универсального асинхронного передатчика/приемника (UART), основанная на пакете связь, и основанные на объекте сообщения, чтобы привести несколько примеров. Кроме того, могут быть использованы беспроводные протоколы обмена сообщениями, такие как связь ближнего поля, Bluetooth, WiFi, RF протоколы, используемые в RFID, или протоколы сотовой связи.
[0047] Для обеспечения динамической, в режиме «реального времени», модификации ограничения управления питанием выполняется отслеживание, чтобы обнаружить условия, которые предлагают изменения установок активного контракта управления питанием (этап 504). Например, контроллер 112 питания может быть выполнен с возможностью отслеживания разнообразных относящихся к управлению питанием условий, включающих в себя, но не ограничивающихся, относительные состояния зарядки (RSOC) батарей компонентов системы, обслуживаемые нагрузки по питанию, количество периферийного оборудования 212, соединенного с главным оборудованием и/или вспомогательным оборудованием, доступность источника питания для компонентов системы, характеристики блока питания, нагрузки обработки, и т.д. Контроллер 112 питания может быть выполнен с возможностью отслеживания условий главного вычислительного устройства 102, как впрочем и условий соединенных вспомогательных устройств 106 и/или периферийного оборудования. В реализации, компоненты системы могут быть выполнены с возможностью предоставления отчета по условиям контроллеру 112 питания, используя сообщения обновления контракта питания, как описано только что, или другие методики уведомления.
[0048] На основании отслеживания выполняется определение касательно того, предлагают ли наблюдаемые условия изменения активного контракта управления питанием (этап 506). Изменения могут быть предложены, например, когда добавляется или удаляется периферийное оборудование, становятся доступными дополнительные источники питания, меняются требования нагрузки, и т.д. Эти и другие изменения условий могут предлагать соответствующие изменения в рабочих ограничениях. Например, если со вспомогательным оборудованием соединяется внешняя батарея, данное действие может предлагать изменение направления обмена питанием. В другом примере добавление периферийного оборудования ко вспомогательному оборудованию может вызывать увеличение нагрузки, обслуживаемой вспомогательным оборудованием, и, вследствие этого, может вызывать уменьшение предельного значения наложенного на ток, который вспомогательное оборудование может доставлять главному оборудованию. Также предусматривается многообразие других примеров.
[0049] Предполагая, что изменения не предлагаются согласно этапу 506, управление питанием продолжается в соответствии с установками активного контракта управления питанием (этап 508) и дополнительно может быть выполнено отслеживание согласно этапу 504. С другой стороны, когда изменения предлагаются согласно определению этапа 506, установки контракта управления питанием обновляются в соответствии с обнаруженными условиями (этап 510). Например, контроллер 112 питания может быть выполнен с возможностью модифицирования данных, определяющих установки для контракта 218 управления питанием в соответствии с наблюдаемыми условиями, как например в рамках таблицы или другой структуры данных, которая ассоциирует контракты управления питанием с идентификационными данными вспомогательного оборудования. Как правило, установки временно перезаписываются таким образом, что начальные или по умолчанию установки могут быть вновь использованы, когда вспомогательное оборудование заданного типа соединяется в следующий раз. Тем не менее, в некоторых сценариях установки по умолчанию могут быть перезаписаны постоянным образом, чтобы эффективно создавать новые установки по умолчанию. Например, новые установки по умолчанию могут быть созданы, чтобы учитывать конкретную конфигурацию системы, которая маловероятно будет часто меняться, как например компоновка периферийного оборудования со стыковочным узлом. В одном подходе, может быть выведено предложение, чтобы запросить, желает ли пользователь оставить или отклонить изменения контракта управления питанием, и затем изменения обрабатываются в соответствии с ответом на запрос.
[0050] Вслед за обновлением установок контракта процедура может возвращаться к этапу 502, где обновленный контракт управления питанием активируется и управление питанием выполняется в соответствии с обновленными установками. Вновь выполняется отслеживание согласно этапу 504, чтобы обнаружить любые дальнейшие изменения. Примерная процедура 500 может повторяться вновь и вновь описанным образом до тех пор, пока система не будет отключена, главное оборудование не будет разъединено со вспомогательным оборудованием, или не произойдут другие переходные события, которые предписывают остановку процедуры.
[0051] Фиг. 6 изображает примерную процедуру 600, в которой вспомогательное устройство инициирует изменение контракта на основании условий, наблюдаемых на вспомогательном устройстве. Вспомогательное устройство подает данные главному вычислительному устройству, указывающие идентификационные данные вспомогательного устройства (этап 602). Например, вспомогательное устройство может подавать учетные данные главному оборудованию, предоставлять значение сопротивления, или иным образом предоставлять данные, которые могут быть использованы, чтобы разрешить вопрос в отношении идентификационных данных вспомогательного устройства (например, тип устройства). Идентифицирующие данные являются пригодными, чтобы позволить главному оборудованию авторизовать вспомогательное устройство в отношении обмена питанием или ограничить вспомогательное оборудование, как описано ранее. Если главное оборудование не распознает информацию идентификации, и не может разрешить вопрос в отношении идентификационных данных вспомогательного устройства, главное оборудование может предложить пользователю предоставить информацию главному оборудованию с тем, чтобы можно было разрешить вопрос в отношении идентификационных данных вспомогательного устройства. В качестве альтернативы, главное оборудование может автоматически осуществлять поиск по удаленной базе данных, или отправлять запрос к удаленному серверу, или основанной на облаке услуге, чтобы предоставить информацию, которая может быть использована, чтобы разрешить вопрос в отношении идентификационных данных вспомогательного устройства.
[0052] Предполагая, что вспомогательное оборудование является авторизованным, осуществляется обмен питанием с главным вычислительным устройством в соответствии с активными установками для предельных значений по току и направления обмена, ассоциированными с идентификационными данными (этап 604). Другими словами, вспомогательное устройство может получать питание от главного оборудования или подавать питание к главному оборудованию, как указывается установкой направления обменом питания. Дополнительно, обмен питанием происходит в соответствии с предельными значениями по току, установленными для обмена между главным оборудованием и конкретным вспомогательным оборудованием. Затем, осуществляется отслеживание условий обмена питанием на вспомогательном устройстве (этап 606). Посредством этого, вспомогательное устройство может само по себе инициировать изменения контракта питания и/или согласовывать изменения контракта питания с главным оборудованием. В целом, вспомогательное устройство отслеживает свои собственные условия и/или условия периферийного оборудования, которое соединено со вспомогательным оборудованием. Тем не менее, вспомогательное устройство также может быть выполнено с возможностью выполнения отслеживания главного оборудования в некоторых сценариях. Вновь могут отслеживаться разнообразные условия, включающие в себя, но не ограничивающиеся, относительные состояния зарядки (RSOC) для батарей компонентов системы, обслуживаемые нагрузки по питанию, количество периферийного оборудования 212, соединенного с главным оборудованием и/или вспомогательным оборудованием, доступность источника питания для компонентов системы, характеристики блока питания, нагрузки обработки, и т.д.
[0053] На основании отслеживания, делается определение касательно того, предлагают ли наблюдаемые условия изменения контракта управления питанием (этап 608). Предполагая, что изменения не предлагаются согласно этапу 608, управление питанием продолжается в соответствии с установками активного контракта управления питанием (этап 610) и может выполняться дальнее отслеживание согласно этапу 606.
[0054] С другой стороны, когда изменения предлагаются согласно определению на этапе 608, вспомогательное устройство может сообщать сообщение обновления контракта питания главному вычислительному устройству, чтобы регулировать активные настройки (этап 612). Например, сообщение обновления контракта питания может быть отправлено от микроконтроллера 206 вспомогательного оборудования к контроллеру 112 питания главного оборудования, чтобы инициировать изменение установок. Сообщения обновления контракта питания могут быть сконфигурированы образом, ранее описанным в отношении Фиг. 5. Сообщения обновления контракта питания могут включать в себя, по меньшей мере, указание направления обмена питанием и предельные значения по току, запрашиваемые вспомогательным устройством на основании наблюдаемых условий. В ответ на сообщение, контроллер 112 питания может быть выполнен с возможностью автоматического применения запрошенных изменений. В качестве альтернативы, контроллер 112 питания может быть выполнен с возможностью выборочного принятия запроса, отказа в запросе, или предоставления альтернативных установок обратно вспомогательному оборудованию. Предполагая, что запрошенные изменения принимаются и/или применяются, обмен питанием с главным вычислительным устройством осуществляется в соответствии с отрегулированными установками для предельных значений по току и направления обмена (этап 614). Впоследствии, может происходить дальнейшее отслеживание согласно этапу 606, чтобы обнаружить условия, которые предлагают дополнительные изменения. Данный цикл может повторяться до тех пор, пока вспомогательное устройство остается соединенным с главным оборудованием и система включена. Когда система отключается или разъединяется вспомогательное оборудование, процедура может быть прекращена.
[0055] Рассмотрев вышеупомянутые примерные процедуры, рассмотрим теперь описание примерных систем и устройств, которые могут быть использованы, чтобы реализовывать аспекты методик контракта управления питанием в одном или более вариантах осуществления.
Примерная система и устройство
[0056] Фиг. 7 иллюстрирует примерную систему в целом в позиции 700, которая включает в себя примерное вычислительное устройство 702, которое представляет собой одну или более вычислительные системы и/или устройства, которые могут реализовывать разнообразные методики, описываемые в данном документе. Вычислительное устройство 702 может быть, например, выполнено с возможностью предположения мобильной конфигурации посредством использования корпуса сформированного таким образом и такого размера, которые предполагают возможность схватить его и нести одной или более руками пользователя, иллюстрируемые примеры которого, включают в себя мобильный телефон, мобильное игровое и музыкальное устройство, и планшетный компьютер, несмотря на то, что также предусматриваются другие примеры.
[0057] Примерное вычислительное устройство 702, как иллюстрируется, включает в себя систему 704 обработки, один или более машиночитаемых носителей 706 информации, и один или более интерфейсов 708 I/O, которые коммуникативно связаны друг с другом. Несмотря на то, что не показано, вычислительное устройство 702 может дополнительно включать в себя системную шину или другую систему переноса данных и команд, которая связывает разнообразные компоненты друг с другом. Системная шина может включать в себя любую одну или сочетание разных структур шины, такие как шина памяти или контроллер памяти, периферийная шина, универсальная последовательная шина, и/или процессорная или локальная шина, которые используют любую из многообразия архитектур шины. Также предусматривается многообразие других примеров, такие как линии управления и данных.
[0058] Система 704 обработки представляет собой функциональное средство, чтобы выполнять одну или более операции, используя аппаратное обеспечение. Соответственно, система 704 обработки иллюстрируется как включающая в себя элемент 710 аппаратного обеспечения, который может быть выполнен в виде процессоров, функциональных блоков, и т.д. Это может включать в себя реализацию в аппаратном обеспечении в качестве проблемно-ориентированной интегральной микросхемы или другого логического устройства, сформированного используя один или более полупроводников. Элементы 710 аппаратного обеспечения не ограничиваются материалами, из которых они формируются, или механизмами обработки, используемыми в них. Например, процессоры могут быть выполнены в виде полупроводника(ов) и/или транзисторов (например, электронных интегральных микросхем (IC)). В таком контексте, исполняемые процессором инструкции могут быть электронно-исполняемыми инструкциями.
[0059] Машиночитаемые запоминающие носители 706 информации иллюстрируются как включающие в себя память/хранилище 712. Память/хранилище 712 представляет собой емкость памяти/хранилища, ассоциированную с одним или более машиночитаемыми носителями информации. Компонент 712 памяти/хранилища может включать в себя энергозависимые носители информации (такие как память с произвольным доступом (RAM)) и/или энергонезависимые носители информации (такие как постоянная память (ROM), флэш-память, оптические диски, магнитные диски, и т.д.). Компонент 712 памяти/хранилища может включать в себя фиксированный носитель информации (например, RAM, ROM, фиксированный накопитель на жестком диске, и т.д.), как, впрочем, и съемные носители информации (например, флэш-память, съемный накопитель на жестком диске, оптический диск, и т.д.). Машиночитаемые носители 706 информации могут быть выполнены в виде многообразия других форм, как дополнительно описывается ниже.
[0060] Интерфейс(ы) 708 ввода/вывода представляют собой функциональное средство, чтобы позволять пользователю вводить команды и информацию в вычислительное устройство 702, а также позволяют представлять информацию пользователю и/или другим компонентам или устройствам, используя разнообразные устройства ввода/вывода. Примеры устройств ввода включают в себя клавиатуру, устройство управления курсором (например, мышь), микрофон, сканер, сенсорное функциональное средство (например, емкостные или другие датчики, которые выполнены с возможностью обнаружения физического касания), камеру (например, которая использует видимые или невидимые длинны волн, такие как инфракрасные частоты, чтобы распознавать перемещение в качестве жестов, которые не задействуют касание), и т.д. Примеры устройств вывода включают в себя устройство отображения (например, монитор или проектор), громкоговорители, принтер, сетевую карту, устройство тактильного ответа, и т.д. Таким образом, вычислительное устройство 702 может быть выполнено в разнообразных формах, чтобы обеспечивать взаимодействие с пользователем.
[0061] Вычислительное устройство 702 дополнительно иллюстрируется как коммуникативно и физически связанное со вспомогательным устройством 714, которое является физически и коммуникативно разъединяемым с вычислительным устройством 702. Таким образом, многообразие различных устройств ввода может быть соединено с вычислительным устройством 702, обладающим широким многообразием конфигураций, чтобы обеспечивать широкое многообразие функциональных возможностей. В данном примере, вспомогательное устройство 714 включает в себя один или более элементов 716 управления, которые могут быть выполнены в качестве чувствительных к нажатию клавиш, механически переключаемых клавиш, кнопок, и т.д.
[0062] Вспомогательное устройство 714 дополнительно иллюстрируется как включающее в себя один или более модулей 718, которые могут быть выполнены с возможностью обеспечения разнообразных функциональных возможностей. Один или более модулей 718, например, могут быть выполнены с возможностью обработки аналоговых и/или цифровых сигналов, принимаемых от элементов 716 управления, чтобы определять, был ли ввод намеренным, определять, является ли ввод указывающим давление покоя, обеспечивать аутентификацию вспомогательного устройства 714 для работы с вычислительным устройством 702, и т.д.
[0063] Разнообразные методики могут быть описаны в данном документе в общем контексте программного обеспечения, элементов аппаратного обеспечения, или программных модулей. В целом, такие модули включают в себя подпрограммы, программы, объекты, элементы, компоненты, структуры данных, и т.д., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Понятие «модуль», «функциональное средство», и «компонент», используемые в данном документе, в целом представляют собой программное обеспечение, встроенное программное обеспечение, аппаратное обеспечение, или их сочетание. Признаки методик, описываемых в данном документе, являются платформо-независимыми, что означает, что методики могут быть реализованы в многообразии коммерческих вычислительных платформ с разнообразными процессорами.
[0064] Реализация описываемых модулей и методик может быть сохранена на или передана через некоторую форму машиночитаемых носителей информации. Машиночитаемые носители информации могут включать в себя многообразие носителей информации, доступ к которым может быть осуществлен посредством вычислительного устройства 702. В качестве примера, а не ограничения, машиночитаемые носители информации могут включать в себя «машиночитаемые запоминающие носители информации» и «машиночитаемые сигнальные носители информации».
[0065] «Машиночитаемые запоминающие носители информации» относятся к носителям информации и/или устройствам, которые обеспечивают хранение информации, в противоположность лишь передаче сигнала, несущим волнам, или сигналам как таковым. Таким образом, машиночитаемые запоминающие носители информации не включают в себя сигналы как таковые или сигнал несущие носители информации. Машиночитаемые запоминающие носители информации включают в себя аппаратное обеспечение, такое как энергозависимые и энергонезависимые, съемные и несъемные носители информации и/или запоминающие устройства, реализованные по способу или технологии, пригодной для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули, логические элементы/схемы, и другие данные. Примеры машиночитаемых запоминающих носителей информации могут включать в себя, но не ограничиваются, RAM, ROM, EEPROM, флэш-память или другую технологию памяти, CD-ROM, цифровые универсальные диски (DVD) или другое оптическое хранилище, жесткие диски, магнитные кассеты, магнитную ленту, магнитное дисковое хранилище или другие магнитные запоминающие устройства, или другое запоминающее устройство, вещественные носители информации, или изделия, пригодные для хранения требуемой информации, и доступ к которым может быть осуществлен посредством компьютера.
[0066] «Машиночитаемые сигнальные носители информации» могут относиться к несущему сигнал носителю информации, который выполнен с возможностью передачи инструкций к аппаратному обеспечению вычислительного устройства 702, как например через сеть. Сигнальные носители информации, как правило, могут воплощать машиночитаемые инструкции, структуры данных, программные модули, или другие данные в модулированном сигнале данных, таком как несущие волны, сигналы данных, или другой механизм транспортировки. Сигнальные носители информации также включают в себя любые средства доставки информации. Понятие «модулированный сигнал данных» означает сигнал, одна или более характеристик которого установлены или изменены таким образом, чтобы кодировать информацию в сигнале. В качестве примера, а не ограничения, средства связи включают в себя проводные средства, такие как проводная сеть или непосредственное проводное соединение, и беспроводные средства, такие как акустические, RF, инфракрасные, и другие беспроводные средства.
[0067] Как описано ранее, элементы 710 аппаратного обеспечения и машиночитаемые носители 706 информации представляют собой модули, программируемое логическое устройство и/или фиксированную логику устройства, реализованную в форме аппаратного обеспечения, которые могут быть использованы в некоторых вариантах осуществления, чтобы реализовывать, по меньшей мере, некоторые аспекты методик, описываемых в данном документе, так, чтобы выполнять одну или более инструкций. Аппаратное обеспечение может включать в себя компоненты интегральной схемы или системы на кристалле, устройства микроконтроллера, проблемно-ориентированной интегральной микросхемы (ASIC), программируемой вентильной матрицы (FPGA), сложного устройства с программируемой логикой (CPLD), или других реализаций в кремнии или другое аппаратное обеспечение. В данном контексте, аппаратное обеспечение может работать в качестве устройства обработки, которое выполняет задачи программы, определяемые инструкциями и/или логикой, воплощаемые посредством аппаратного обеспечения, как, впрочем, и аппаратного обеспечения, используемого для хранения инструкций для исполнения, например, машиночитаемые запоминающие носители информации, описанные ранее.
[0068] Сочетания вышеприведенного также могут быть использованы, чтобы реализовывать разнообразные методики, описываемые в данном документе. Соответственно, программное обеспечение, аппаратное обеспечение, или исполняемые модули могут быть реализованы в качестве одной или более инструкций и/или логики, воплощенных на некоторой форме машиночитаемых запоминающих носителей информации и/или посредством одного или более элементов 710 аппаратного обеспечения. Вычислительное устройство 702 может быть выполнено с возможностью реализации конкретных инструкций и/или функций, соответствующих модулям программного обеспечения и/или аппаратного обеспечения. Соответственно, реализация модуля, который является исполняемым посредством вычислительного устройства 702, в качестве программного обеспечения может быть достигнута, по меньшей мере, частично в аппаратном обеспечении, например, посредством использования машиночитаемых запоминающих носителей информации и/или элементов 710 аппаратного обеспечения системы 704 обработки. Инструкции и/или функции могут быть исполняемыми/осуществляемыми посредством одного или более изделий (например, одного или более вычислительных устройств 702 и/или систем 704 обработки), чтобы реализовывать методики, модули, и примеры, описываемые в данном документе.
Заключение
[0069] Несмотря на то, что примерные реализации были описаны языком особым для структурных признаков и/или методологических действий, должно быть понятно, что реализации, определяемые в прилагаемой формуле изобретения, не обязательно ограничиваются особыми описанными признаками или действиями. Наоборот, особые признаки и действия раскрываются в качестве примерных форм реализации заявленных признаков.