ПРИОСТАНОВКА И/ИЛИ РЕГУЛИРОВАНИЕ ПРОЦЕССОВ ДЛЯ РЕЖИМА ОЖИДАНИЯ С ПОДКЛЮЧЕНИЕМ
SUSPENSION AND/OR CONTROL OF PROCESSES FOR CONNECTED STANDBY

УРОВЕНЬ ТЕХНИКИ
Многие компьютерные устройства, например настольные ПК, носимые ПК, интеллектуальные телефоны и планшетные ПК, разрабатывают с расчетом на экономичное потребление энергии и/или продления срока службы батареи питания. Например, экран носимого ПК может затемняться, если носимый ПК бездействовал в течение установленного периода времени. Энергосбережение может обеспечить более продолжительную работу и/или время между (под)зарядками компьютерного устройства, что может быть желательно и удобно для пользователя. К сожалению, многие приложения могут не содержать функцию энергосбережения и могут значительно терять с точки зрения энергосбережения и/или характеризуются неудовлетворительной, так называемой, «гигиеной электропитания», вследствие того, что не назначают аппаратуре выходить из режимов высокой мощности, и/или вследствие использования ресурсов, когда компьютерное устройство может быть бездействующим в других отношениях (например, бездействующее приложение может без необходимости расходовать циклы процессора).
Многие методы энергосбережения могут ухудшать взаимодействие пользователя с компьютерным устройством потому, что переход компьютерного устройства из маломощного режима, например режима пониженного энергопотребления/ожидания, в режим выполнения может потребовать пользовательского ввода, занимать относительно большое количество времени и/или предоставлять устаревшие данные, пока не произойдет обновления. Например, пользователь может взаимодействовать с носимым ПК периодически, когда находится дома. Для экономии срока службы батареи питания носимого ПК, возможно, подошла бы стратегия снижения энергопотребления/ожидания, в соответствии с которой носимый ПК может быть переведен в режим приостановки, если пользователь не взаимодействует с носимым ПК в течение установленного периода времени, например 10 минут. К сожалению, традиционные стратегии снижения энергопотребления/ожидания могут занимать значительное количество времени (например, минуты) для повторной активизации компьютерной системы в новый режим выполнения, подходящий для пользователя, так как значительная часть компьютерной системы может быть приостановлена (например, процессор может прекратить выполнение, ядро операционной системы может быть приостановлено и т.п.). Ожидание полной повторной активизации компьютерной системы может привести к менее удовлетворительному взаимодействию пользователя.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Настоящий раздел сущности изобретения обеспечивает в упрощенной форме предложение выбора концепций, которые дополнительно описаны ниже в разделе подробного описания. Настоящий раздел сущности изобретения не предполагает идентификации основных факторов или существенных признаков заявленного предмета изобретения и не предназначен для использования с целью ограничения объема заявленного предмета изобретения.
Помимо прочего в настоящей заявке раскрыты, по меньшей мере, одна система и/или один метод присваивания классификации управления питанием, по меньшей мере, одному процессу, связанному с компьютерной средой, перехода компьютерной среды в режим ожидания с подключением на основании классификаций управления питанием, присвоенных процессам, и перехода компьютерной среды из режима ожидания с подключением в режим выполнения.
Можно понять, что, в одном примере, режим выполнения компьютерной среды может соответствовать общему рабочему режиму компьютерной среды. При нахождении в режиме выполнения, могут создаваться и выполняться процессы, и компьютерная среда может быстро реагировать на пользовательский ввод (например, пользователь может взаимодействовать с текстовым процессором и/или другими приложениями в то время, как компьютерная среда находится в режиме выполнения). Можно понять, что, в одном примере, режим ожидания с подключением может соответствовать режиму низкого энергопотребления, которое может, тем не менее, обеспечить всегда включенное/всегда подключенное взаимодействие. При нахождении в режиме ожидания с подключением, конкретным процессам может быть предоставлена возможность выполнения, а другие процессы могут быть приостановлены в приостановленный режим невыполнения и/или регулироваться между режимом выполнения и приостановленным режимом невыполнения, чтобы снизить энергопотребление. Например, при нахождении в режиме ожидания с подключением, компьютерная среда может допускать выполнение и/или регулируемое выполнение критичных системных процессов (например, процессов выполнения сетевых функций, конкретных базовых процессов ядра, процессов выполнения функций аппаратного обеспечения, процессов выполнения функций обработки сообщений и т.п.), энергосберегающих приложений (например, приложений с управляемыми жизненными циклами) и/или других процессов, которые могут обеспечивать требуемые возможности подключения (например, простые процессы выполнения функций электронной почты), чтобы компьютерное устройство могло обеспечивать за короткое время реакции обновленное взаимодействие для пользователя во время перехода из режима ожидания с подключением в режим выполнения (например, компьютерная среда может быстро повторно активизироваться (например, в течение нескольких секунд) и могло снабжать пользователя обновленной электронными почтовыми сообщениями, информацией и/или возможностями соединения). Однако, для экономии мощности, некритичные системные службы (например, диспетчер очереди печати принтера, средство проверки обновления системы и т.п.) и/или пользовательские приложения (например, текстовый процессор) могут регулироваться и/или приостанавливаться.
В одном примере присваивания классификации управления питанием процессу, процесс может быть идентифицирован (например, вновь созданный процесс). Классификация управления питанием, например классификация привилегированного, классификация приостанавливаемого или классификация регулируемого, может быть присвоена процессу на основании различных факторов (например, насколько критичным является процесс для базовых функций, связан ли процесс с системной службой, связан ли процесс с пользовательским приложением, можно ли процесс регулировать без вызова отказа, можно ли процесс приостанавливать без потери требуемых функций и/или вызова отказа и т.п.). Если жизненным циклом процесса управляет процесс и/или компонент управления жизненным циклом, то процессу может быть присвоена классификация привилегированного, так как процесс уже может быть связан с функциями энергосбережения (например, присваивание процессу и реализация классификации управления питанием могут быть избыточными и/или могут вызвать сбой процесса). Если процесс можно приостанавливать без отказа компьютерной системы (например, приостановка процесса просмотра фотографий не может вызвать отказа компьютерной среды и/или сбоя приложения просмотра фотографий), и ограниченные динамические функции, связанные с процессом, не требуются (например, функции просмотра фотографий могут быть ненужными, когда компьютерная среда находится в режиме ожидания с подключением), то процессу может быть присвоена классификация приостанавливаемого.
Если процесс можно регулировать без отказа компьютерной системы и ограниченные динамические функции, связанные с процессом, требуются (например, пользователь может ожидать получения уведомлений о получении сообщений, когда компьютерная среда находится в режиме ожидания с подключением), то процессу может быть присвоена классификация регулируемого. Если процесс нельзя регулировать без отказа компьютерной системы, и ограниченные динамические функции, связанные с процессом, требуются, то процессу может быть присвоена классификация привилегированного. Таким образом, процессу может быть присвоена классификация управления питанием. В одном примере, классификацию управления питанием можно использовать при переходе компьютерной среды в режим ожидания с подключением. Например, привилегированным процессам может предоставляться возможность выполнения, приостанавливаемые процессы могут приостанавливаться и регулируемые процессы могут регулироваться.
В одном примере перехода компьютерной среды в режим ожидания с подключением на основании классификаций управления питанием, присвоенных процессам, может обнаруживаться запрос входа в режим ожидания с подключением, относящийся к компьютерной среде (например, пользователь может воспользоваться кнопкой ожидания планшетного устройства, может пройти пороговый период бездействия и т.п.). Компьютерная среда может быть переведена в режим ожидания с подключением, например, из режима выполнения. Например, для соответствующих приостанавливаемых процессов, приостанавливаемый процесс может быть переключен в приостановленный режим невыполнения (например, приостанавливаемый процесс может быть не пригоден для выполнения и, следовательно, может не обладать способностью использовать аппаратные компоненты для выполнения энергоемких операций). Для соответствующих регулируемых процессов, график регулирования может быть присвоен и/или применен к регулируемому процессу (например, процессу обработки электронной почты может предоставляться возможность выполнения в течение 5 секунд через каждые 8 минут для проверки появления новых сообщений, а в другое время процесс обработки электронной почти может находиться в приостановленном режиме невыполнения для снижения энергопотребления). Для соответствующих привилегированных процессов, привилегированному процессу может быть предоставлена возможность выполнения в режиме выполнения (например, процессу выполнения сетевых функций может быть предоставлена возможность выполнения для обеспечения требуемых функций, например, приема новых электронных почтовых сообщений). В одном примере, приостанавливаемые процессы можно приостанавливать раньше регулируемых процессов, так как приостанавливаемые процессы могут использовать функции из регулируемых процессов, и, следовательно, приостанавливаемый процесс может давать сбой, если регулируемый процесс входит в приостановленный режим невыполнения до того, как приостанавливается приостанавливаемый процесс (например, приостанавливаемое оперативное приложение обработки фотографий может давать сбой, если недоступен базовый процесс сетевой загрузки фотографий). Таким образом, компьютерная среда может быть переведена в режим ожидания с подключением для сбережения энергии, с обеспечением, при этом, требуемых функций (например, уведомления о новых сообщениях).
В одном примере перехода компьютерной среды из режима ожидания с подключением в режим выполнения может обнаруживаться запрос выхода из режима ожидания с подключением, относящийся к компьютерной среде (например, пользователь может попытаться взаимодействовать с планшетным устройством касательным воздействием пальца на экран планшета). Компьютерная среда может быть переведена из режима ожидания с подключением в режим выполнения по запросу выхода из режима ожидания с подключением. Например, для соответствующих приостановленных процессов, выполняемые функции могут возвращаться приостановленному процессу (например, оперативный процесс приложения обработки фотографий может быть доступен за короткое время реакции, например, в течение нескольких секунд). Для соответствующих регулируемых процессов, выполняемые функции могут возвращаться регулируемому процессу (например, процесс обработки электронной почты в приостановленном режиме невыполнения по графику регулирования может быть быстро переведен в режим выполнения). Таким образом, компьютерная среда может быть быстро переведена в обновленный режим выполнения, без ожидания пользователем восстановления функций и/или обновления информации в течение значительного количества времени.
Для достижения вышеприведенных и связанных целей, нижеприведенное описание и прилагаемые чертежи представляют некоторые наглядные аспекты и варианты осуществления. Данные варианты осуществления характеризуют всего несколько различных способов, посредством которых можно использовать, по меньшей мере, один аспект. Другие аспекты, преимущества и новые признаки изобретения станут очевидными из нижеследующего подробного описания, при рассмотрении его в связи с прилагаемыми чертежами.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 - блок-схема последовательности операций примерного способа присваивания процессу классификации управления питанием.
Фиг. 2 - блок-схема компонентов, поясняющая примерную систему присваивания процессу классификации управления питанием.
Фиг. 3 - блок-схема последовательности операций примерного способа перехода компьютерной среды в режим ожидания с подключением на основании классификаций управления питанием, присвоенных процессам.
Фиг. 4 - блок-схема компонентов, поясняющая примерную систему для перехода компьютерной среды в режим ожидания с подключением на основании классификаций управления питанием, присвоенных процессам.
Фиг. 5 - блок-схема последовательности операций примерного способа перехода компьютерной среды из режима ожидания с подключением в режим выполнения.
Фиг. 6 - блок-схема компонентов, поясняющая примерную систему для перехода компьютерной среды из режима ожидания с подключением в режим выполнения.
Фиг. 7 - изображение примера перехода планшетного устройства из режима ожидания с подключением в режим выполнения.
Фиг. 8 - изображение примерного компьютерно-читаемого носителя информации, на котором могут содержаться команды, исполняемые процессором, сконфигурированные с возможностью осуществления, по меньшей мере, одного из положений, изложенных в настоящей заявке.
Фиг. 9 - изображение примерной компьютерной среды, в которой возможна реализация, по меньшей мере, одного из положений, изложенных в настоящей заявке.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
В дальнейшем, приведено описание заявленного предмета изобретения со ссылкой на чертежи, на которых сходные числовые позиции, обычно, служат для сквозного обозначения сходных элементов. В нижеследующем описании, в целях пояснения изложены многочисленные конкретные детали, чтобы обеспечить полное представление о заявленном предмете изобретения. Однако, очевидно, что заявленный предмет изобретения можно осуществить на практике без упомянутых конкретных деталей. В других случаях, структуры и устройства изображены в форме блок-схем, чтобы облегчить описание заявленного предмета изобретения.
Многие компьютерные среды могут включать в себя методы энергосбережения для уменьшения потребления энергии и/или продления срока службы батареи питания. Например, операционная система может обеспечивать стратегию снижения энергопотребления/ожидания, которая может предотвращать выполнение приложений, системных процессов и/или функций процессоров, которые, в противном случае, могут задействовать вычислительные ресурсы для выполнения энергоемких задач. К сожалению, многие методы энергосбережения могут приостанавливать процессы, которые выполняют требуемые функции (например, стратегия снижения энергопотребления может не содержать функции, селективно допускающих выполнение некоторых процессов во время режима пониженного энергопотребления), и, следовательно, компьютерная среда может обеспечивать устаревшую информацию после повторной активизации в режиме выполнения (например, повторная активизация компьютерной среды из режима пониженного энергопотребления может не обеспечивать текущей информации о сообщениях, так как во время режима пониженного энергопотребления может быть приостановлен процесс выполнения функций обработки сообщений). Кроме того, повторная активизация из режима пониженного энергопотребления может занимать значительное количество времени до того, как компьютерная среда станет полностью реагировать и/или способна обеспечивать текущую информацию. Таким образом, необходимо сбалансированное соотношение между обеспечением соответствующего энергосбережения и снабжением пользователя быстро реагирующим и подключенным взаимодействием.
Соответственно, в настоящей заявке предлагается, по меньшей мере, одна система и/или метод присваивания классификаций управления питанием процессу, связанному с компьютерной средой, перехода компьютерной среды в режим ожидания с подключением на основании классификаций управления питанием, присвоенных процессам, и перехода компьютерной среды из режима ожидания с подключением в режим выполнения. В частности, процессам может быть присвоена классификация привилегированных, классификации приостанавливаемых и/или классификации регулируемых на основании различных факторов, например, таких, как обеспечивает ли процесс требуемые функции и/или критичные функции системы. При этом, компьютерная среда может быть переведена в режим ожидания с подключением, например, режим низкого энергопотребления, которое обеспечивает всегда включенное/всегда подключенное взаимодействие. В частности, выполнение привилегированных процессов может быть разрешено, выполнение приостанавливаемых процессов может быть приостановлено, и регулируемые процессы могут циклически переключаться между режимом выполнения и приостановленным режимом невыполнения на основании графика регулирования. Приостановка и/или регулирование процессов может уменьшать энергопотребление, так как упомянутые процессы можно выводить в приостановленный режим невыполнения, которое может ограничить упомянутые процессы в отношении активизации ресурсов для выполнения энергоемких задач. Компьютерная среда может быть переведена из режима ожидания с подключением в режим выполнения в течение короткого времени реакции, которое обеспечивает для пользователя обновленное взаимодействие за незначительное время (например, пользователь может получить возможность взаимодействия с обновленным режимом компьютерной среды в течение нескольких секунд). В частности, приостановленные процессы и/или регулируемые процессы можно приводить в режим выполнения для того, чтобы компьютерная среда переводилась в режим выполнения.
Один вариант осуществления присваивания классификации управления питанием процессу изображен при посредстве примерного способа 100 на фиг. 1. Способ начинается на этапе 102. На этапе 104 может быть идентифицирован процесс, которому следует присвоить классификацию управления питанием (например, такой процесс в компьютерной среде, как операционная система планшетного ПК, операционная система настольного ПК, операционная система мобильного устройства и т.п.). Например, в качестве процесса может быть идентифицирован вновь созданный процесс (например, процесс в логическом контейнере, например, иерархическом объекте-задании). На этапе 106, процессу может быть присвоена классификация управления питанием. Понятно, что для присваивания классификации управления питанием можно оценить различные факторы (например, критичность процесса для работы системы, требуемые функции, обеспечиваемые процессом, способность регулировать процесс и т.п.).
В одном примере присваивания классификации управления питанием, логический контейнер процесса можно определить как связанный с родительским логическим контейнером родительского процесса (например, логический контейнер процесса проверки орфографии может быть связан с родительским логическим контейнером (например, вложен в родительский логический контейнер) родительского процесса обработки текстов). Родительская классификация управления питанием, присвоенная родительскому процессу, может быть присвоена процессу в качестве классификации управления питанием, присвоенной процессу (например, классификация приостанавливаемого, присвоенная родительскому процессу обработки текстов может быть также присвоена процессу проверки орфографии, так что оба процесса могут быть приостановлены совместно, в отличие от ситуации, когда один процесс приостановлен, тогда как другой процесс (например, проверки орфографии) продолжает выполняться без необходимости во время режима ожидания с подключением).
В другом примере присваивания классификации управления питанием, если жизненным циклом процесса управляет процесс и/или компонент управления жизненным циклом, то процессу может быть присвоена классификация привилегированного, как показано на этапе 108. Например, приложение (например, относительно недавно созданное приложение) может быть разработано в соответствии с моделью приложения, которая обеспечивает относительно широкое управлением энергопотреблением. Следовательно, приложению может быть присвоена классификация привилегированного, так как дополнительное управление энергопотреблением может быть избыточным и/или создавать помехи выполнению приложением.
В другом примере присваивания классификации управления питанием, если процесс можно приостанавливать без отказа компьютерной системы (например, отказа компьютерной среды и/или приложения, связанного с процессом), и ограниченные динамические функции, связанные с процессом, не требуются (например, пользователю могут не требоваться функции печати, когда компьютерная среда находится в маломощном режиме ожидания с подключением), то, на этапе 110, процессу может быть присвоена классификация приостанавливаемого. Например, если процесс связан с пользовательским приложением, то процесс можно определить как приостанавливаемый, с возможным присваиванием классификации приостанавливаемого (например, приложение обмена фотографиями, инициализируемое в течение пользовательского сеанса, не может обеспечивать требуемых функций в то время, когда компьютерная среда находится в маломощном режиме ожидания с подключением (например, пользователю не требуется просматривать фотографии/обмениваться фотографиями, когда его планшетный ПК находится в режиме ожидания с подключением) и/или не может влиять на функции базовой системы компьютерной среды).
В другом примере присваивания классификации управления питанием, если процесс можно регулировать без отказа компьютерной системы, и требуются ограниченные динамические функции, связанные с процессом, то, на этапе 112, процессу может быть присвоена классификация регулируемого. Например, если процесс содержит службу (например, службу обмена сообщениями, инициализируемую в течение сеанса системы), которая обеспечивает требуемые функции режима (например, служба обмена сообщениями может ожидать текущие сообщения, чтобы можно было извещать пользователя о текущей связи), то процесс можно определить как регулируемый, с возможным присваиванием классификации регулируемого, (например, процессу, связанному с антивирусными функциями, функциями службы обмена сообщениями, функциями сетевой службы и/или множеством других требуемых функций, может быть присвоена классификация регулируемого).
В другом примере присваивания классификации управления питанием, если процесс нельзя приостанавливать или регулировать без отказа компьютерной системы, то, на этапе 114, процессу может быть присвоена классификация привилегированного. Понятно, что компьютерная среда может использовать множество различных процессов для базовых операционных функций, и, следовательно, приостановка и/или регулирование упомянутых процессов может приводить к отказу компьютерной системы. В одном примере, конкретным базовым процессам ядра, драйверам устройств и/или другим процессам, которые обеспечивают базовые операционные функции, может быть присвоена классификация привилегированных. В другом примере можно принять во внимание диаграмму зависимостей. Диаграмма зависимостей может быть построена из базового процесса ядра к, по меньшей мере, одному вспомогательному процессу, который обеспечивает функции, от которых зависит базовый процесс ядра (например, модуль сетевого подключения компонентов программного обеспечения, который поддерживает взаимодействие между распределенными компонентами программного обеспечения, может быть использован, по меньшей мере, одним базовым процессом ядра, связанным с упомянутыми компонентами программного обеспечения). Если процесс содержит вспомогательный процесс, заданный диаграммой зависимостей, то процесс может быть определен как не подлежащий приостановке, и процессу может быть присвоена классификация привилегированного.
В другом примере присваивания классификации управления питанием, если процесс обеспечивает функции, связанные с заданной стратегией, то процессу может быть присвоена заданная пользователем классификация управления питанием. Например, пользователь может задать требование, чтобы компьютерная среда активно ожидала входящие сообщения (например, независимо от того, находится ли компьютерная среда в маломощном режиме ожидания с подключением или режиме выполнения). Соответственно, процессам, которые обеспечивают функции обработки сообщений (например, процессу приема сообщений, процессу уведомления о получении сообщений и т.п.) может быть присвоена заданная пользователем классификация управления питанием, например классификация привилегированного. Таким образом, различным процессам могут быть присвоены классификации управления питанием, которые можно использовать для перехода компьютерной среды в режим ожидания с подключением. На этапе 116, способ заканчивается.
На фиг. 2 изображен пример системы 200, сконфигурированной с возможностью присваивания классификации управления питанием процессу. Система 200 может содержать компонент 204 классификации. Компонент 204 классификации может быть сконфигурирован с возможностью присваивания классификации управления питанием процессу, связанному с компьютерной средой. Например, компьютерная среда может быть связана с процессами 202 компьютерной системы, содержащими сетевой пакетный процессор 208, процессор 210 аппаратных событий, диспетчер 212 очереди печати, антивирусную программу 214, текстовый процессор 216, средство 218 проверки орфографии (например, средство 218 проверки орфографии может быть дочерним процессом текстового процессора 216), службу 220 мгновенных сообщений и/или средство 222 уведомления о получении сообщений (например, средство 222 уведомления о получении сообщений может быть дочерним процессом службы 220 мгновенных сообщений).
В одном примере, компонент 204 классификации может быть сконфигурирован с возможностью определения, связан ли процесс с родительским процессом. Если процесс связан с родительским процессом, то компонент 204 классификации может присваивать родительскую классификацию управления питанием, присвоенную родительскому процессу, в качестве классификации управления питанием, присвоенной процессу. Например, текстовый процессор 216 может быть родительским процессом средства 218 проверки орфографии. Текстовому процессору 216 может быть присвоена классификация приостанавливаемого (например, текстовый процессор 216 может быть связан с приложением для обработки текстов, которое не обеспечивает требуемых функций во время маломощного режима ожидания с подключением и/или не обеспечивает критичных системных функций). Соответственно, средству 218 проверки орфографии может быть присвоена классификация приостанавливаемого, которая присвоена текстовому процессору 216. Аналогично, средству 222 уведомления о получении сообщений может быть присвоена пользовательская классификация управления питанием привилегированного типа, присвоенная службе 220 мгновенных сообщений, так как служба 220 мгновенных сообщений является родительским процессом средства 222 уведомления о получении сообщений. Таким образом, связанные процессы могут быть классифицированы аналогичным образом, чтобы упомянутая классификация управления питанием могла быть реализована в виде группы для повышения эффективности (например, требуется выполнять меньшее число операций классификации, что дополнительно способствует энергосбережению) и/или для исключения противоречивых результатов (например, если средству 222 уведомления о получении сообщений присвоена классификация привилегированного, то средство 222 уведомления о получении сообщений может без необходимости выполняться в то время, как служба 220 мгновенных сообщений приостановлена во время режима ожидания с подключением).
В другом примере, компонент 204 классификации может присваивать классификацию привилегированного процессу на основании определения, что жизненным циклом процесса управляет процесс и/или компонент управления жизненным циклом. То есть, энергосбережение уже может быть под управлением процесса или другого компонента.
В другом примере, компонент 204 классификации может присваивать классификацию приостанавливаемого процессу на основании определения, что процесс можно приостанавливать без отказа компьютерной системы, и/или ограниченные динамические функции, связанные с процессом, не требуются. Например, текстовому процессору 216 может быть присвоена классификация приостанавливаемого, так как текстовый процессе 216 является пользовательским приложением, приостановка которого не может вызывать отказ компьютерной системы, и/или пользователю могут не требоваться ограниченные динамические функции обработки текстов, когда компьютерная среда находится в режиме ожидания с подключением. Кроме того, диспетчеру 212 очереди печати может быть присвоена классификация приостанавливаемого, так как приостановка диспетчера 212 очереди печати не может вызывать отказ компьютерной системы, и/или пользователю могут не требоваться ограниченные динамические функции печати, когда компьютерная среда находится в режиме ожидания с подключением.
В другом примере, компонент 204 классификации может присваивать классификацию регулируемого процессу на основании определения, что процесс можно регулировать, и требуются ограниченные динамические функции, связанные с процессом. Например, антивирусная программа 214 (например, системная служба антивируса, инициализируемая сеансом системы) может обеспечивать требуемые функции режима, так как, например, доступ на запись к памяти может быть заблокирован, пока антивирусная программа 214 выполняет проверку данных, подлежащих записи (например, пользователь может пожелать, чтобы входящие сообщения сохранялись в памяти, пока компьютерная среда находится в режиме ожидания с подключением).
В другом примере, компонент 204 классификации может присваивать классификацию привилегированного процессу на основании определения, что процесс нельзя приостанавливать или регулировать без отказа компьютерной системы. В одном примере, компонент 204 классификации может определить, что конкретные базовые процессы ядра, драйверы устройств и/или другие процессы нельзя приостанавливать без отказа компьютерной системы. Например, сетевой пакетный процессор 208 и/или процессор 210 аппаратных событий могут обеспечивать основные функции, используемые компьютерной средой, и, следовательно, им может быть присвоена классификация привилегированных. В другом примере, для определения, является ли процесс вспомогательным процессом, от которого зависит базовый процесс ядра, можно принять во внимание диаграмму зависимостей.
В другом примере, компонент 204 классификации может присваивать заданную пользователем классификацию управления питанием процессу на основании определения, что процесс обеспечивает функции, связанные с заданной пользователем стратегией. Например, службе мгновенных сообщений может быть пользовательская классификация управления питанием привилегированного типа, так как пользователь может пожелать получать входящие мгновенные сообщения, даже если компьютерная среда находится в режиме ожидания с подключением.
Таким образом, присваивания 206 классификаций управления питанием могут создаваться и/или обновляться вместе с присваиваниями классификаций управления питанием процессам. Упомянутые присваивания могут быть использованы при переходе компьютерной среды в режим ожидания с подключением для достижения маломощного режима, которое может снижать энергопотребление и/или повысить срок службы батареи. Понятно, что упомянутые присваивания можно использовать для множества других сценариев, например, приостановки и/или регулирования фоновых/приоритетных задач процессов, находящихся в режиме выполнения.
Один вариант осуществления перехода компьютерной среды в режим ожидания с подключением, основанный на классификациях управления питанием, присвоенных процессам, изображен в форме примерного способа 300 на фиг. 3. Способ начинается на этапе 302. На этапе 304 может быть обнаружен запрос входа в режим ожидания с подключением, относящийся к компьютерной среде. Понятно, что режим ожидания с подключением может соответствовать режиму сниженного энергопотребления, в котором различные процессы могут быть приостановлены, регулируемыми или разрешенными для продолжения выполнения. Таким образом, энергопотребление может быть снижено, и компьютерная среда может продолжать выполнение требуемых функций для обеспечения обновленного взаимодействия с коротким временем реакции, при переходе (обратно) в режим выполнения. Режим ожидания с подключением может быть реализован множеством разных способов на различных компьютерных устройствах, например планшетных компьютерных устройствах, настольных компьютерных устройствах, носимых ПК, мобильных телефонах и т.п.
На этапе 306, компьютерная среда может быть переведена в режим ожидания с подключением. В одном примере, для соответствующих приостанавливаемых процессов, которым присвоена классификация приостанавливаемых, приостанавливаемый процесс может быть переключен в приостановленный режим невыполнения на этапе 308. То есть, приостанавливаемый процесс может быть заблокирован от активизации ресурсов для выполнения энергоемких задач (например, текстовый процессор может быть приостановлен, чтобы текстовый процессор не обращался к аппаратным ресурсам, которые, в противном случае, могут быть в маломощном режиме бездействия). Классификация приостанавливаемых может соответствовать тому, можно ли приостановить процесс без отказа компьютерной системы и/или не требуются ли ограниченные динамические функции, связанные с процессом. Таким образом, приостанавливаемые процессы можно переключать в приостановленный режим невыполнения, без вызова отказа компьютерной системы и/или потери требуемых функций.
В другом примере, для соответствующих регулируемых процессов, которым присвоена классификация регулируемых, регулируемому процессу может быть присвоен график регулирования на этапе 310. Классификация регулируемых может соответствовать тому, можно ли регулировать процесс без отказа компьютерной системы, и/или требуются ли ограниченные динамические функции, связанные с процессом. График регулирования может быть применен к регулируемому процессу в режиме ожидания с подключением. Например, регулируемый процесс можно циклически переключать между режимом выполнения и приостановленным режимом невыполнения по графику регулирования (например, график регулирования может задавать период времени выполнения для режима выполнения и период времени приостановки для приостановленного режима невыполнения). Например, регулируемому процессу обработки сообщений может предоставляться 20 секунд выполнения для проверки новых сообщений каждые 5 минут.
В другом примере, для соответствующих привилегированных процессов, которым присвоена классификация привилегированных, привилегированному процессу может быть разрешено продолжение выполнения в режиме выполнения на этапе 312. Классификация привилегированных может соответствовать тому, нельзя ли приостанавливать или регулировать процесс без отказа компьютерной системы (например, базовый процесс ядра, драйвер устройства и/или вспомогательные процессы к базовым процессам ядра и т.п.). Таким образом, привилегированным процессам, которые обеспечивают базовые функции для компьютерной среды и/или обеспечивают требуемые функции, может быть разрешено выполнение в режиме выполнения в то время, как компьютерная среда находится в режиме ожидания с подключением.
В одном примере перехода компьютерной среды в режим ожидания с подключением, приостанавливаемые процессы можно переводить в приостановленный режим невыполнения перед тем, как регулировать регулируемые процессы. Так как приостанавливаемые процессы могут использовать регулируемые процессы (например, приостанавливаемое приложение для обработки текстов может использовать регулируемый процесс обращения к памяти для вызова хранимых текстовых документов). Приостановка перед регулированием может уменьшать число случаев, когда приостанавливаемый процесс может давать сбой вследствие того, что регулируемый процесс, который используется приостанавливаемым процессом, уже мог бы быть переведен в приостановленный режим невыполнения перед приостановкой приостанавливаемого процесса.
В одном примере перехода компьютерной среды в режим ожидания с подключением можно приостанавливать группу приостанавливаемых процессов, связанных между собой, что, например, может уменьшить риски совместимости. В одном примере, первый приостанавливаемый процесс может быть сгруппирован со вторым приостанавливаемым процессом потому, что первый приостанавливаемый процесс может потреблять ресурс, связанный со вторым приостанавливаемым ресурсом (например, приложение для обработки текстов может использовать данные проверки орфографии из процесса проверки орфографии, и, следовательно, процессы можно объединить в группу). В другом примере, первый приостанавливаемый процесс может быть сгруппирован со вторым приостанавливаемым процессом на основании того, что первый приостанавливаемый процесс может быть дочерним процессом второго приостанавливаемого процесса (например, процесс выгрузки фотографий может быть дочерним процессом оперативного процесса обмена фотографиями, и, следовательно, процессы можно объединить в группу). В другом примере, первый приостанавливаемый процесс может быть сгруппирован со вторым приостанавливаемым процессом на основании того, что первый приостанавливаемый процесс может быть инициализирован внутри первого логического контейнера, связанного со вторым логическим контейнером, внутри которого инициализирован второй приостанавливаемый процесс (например, оперативный процесс обмена фотографиями может быть инициализирован внутри группы родительских заданий, и процесс выгрузки фотографий может быть инициализирован внутри группы дочерних заданий, вложенных в группу родительских заданий, и, следовательно, процессы можно объединить в группу). Таким образом, приостанавливаемые процессы, которые могут быть связаны между собой и/или зависеть друг от друга, можно объединить в группу для приостановки в виде группы.
Во время нахождения в режиме ожидания с подключением, процесс в режиме выполнения может создавать новый процесс. После создания, новому процессу может быть присвоена классификация управления питанием. То есть, к новому процессу можно применить классификацию управления питанием даже несмотря на то, что компьютерная среда уже может находиться в режиме ожидания с подключением.
Таким образом, компьютерную среду можно перевести в режим ожидания с подключением для снижения энергопотребления. Понятно, что можно реализовать такие дополнительные методы энергосбережения, как отключение ненужных аппаратуры и/или ресурсов, например, отключение питания экрана компьютерного устройства, связанного с компьютерной средой. Способ заканчивается на этапе 314.
На фиг. 4 изображен пример системы 400, выполненной с возможностью перевода компьютерной среды в режим 410 ожидания с подключением на основе присваиваний 404 классификаций управления питанием, присваиваемых процессам. Система 400 может содержать компонент 406 перехода и/или компонент 408 регулирования. Компонент 406 перехода может быть сконфигурирован с возможностью обнаружения запроса 402 входа в режим ожидания с подключением, относящегося к компьютерной среде. Компонент 406 перехода может быть выполнен с возможностью перевода компьютерной среды в режим 410 ожидания с подключением, которое может уменьшать энергопотребление, относящееся к компьютерному устройству, выполняющему функцию ведущего узла в компьютерной среде (например, по меньшей мере, один процесс может быть приостановлен и/или отрегулирован для уменьшения энергопотребления, связанного с упомянутыми процессами).
Для соответствующих приостанавливаемых процессов, которым присвоена классификация приостанавливаемых в рамках присваиваний 404 классификаций управления питанием, компонент 406 перехода может быть выполнен с возможностью перевода приостанавливаемого процесса в приостановленный режим невыполнения. Например, процесс очереди печати принтера, процесс обработки текстов, процесс проверки орфографии и/или другие приостанавливаемые процессы могли быть переведены в приостановленный режим невыполнения в то время, когда компьютерная среда находится в режиме 410 ожидания с подключением. В одном примере, группа связанных между собой приостанавливаемых процессов может быть приостановлена совместно (например, первый приостанавливаемый процесс может быть связан со вторым приостанавливаемым процессом на основании, по меньшей мере, одного из следующих условий, что первый приостанавливаемый процесс является дочерним процессом второго приостанавливаемого процесса, первый приостанавливаемый процесс использует ресурс из второго приостанавливаемого процесса и/или первый приостанавливаемый процесс ожидает ресурс, заблокированный вторым приостанавливаемым процессом). Например, процесс обработки текстов и процесс проверки орфографии можно приостанавливать совместно для уменьшения рисков совместимости, которые могут возникать, если один процесс приостанавливается в то время, как другой процесс продолжает выполняться в течение некоторого периода времени (например, процесс обработки текстов может использовать данные из процесса проверки орфографии и может давать сбой, если процесс проверки орфографии приостанавливается до процесса обработки текстов).
Для соответствующих регулируемых процессов, которым присвоена классификация регулируемых в рамках присваиваний 404 классификаций управления питанием, компонент 406 перехода может присваивать график регулирования регулируемому процессу. Например, процессу антивирусной защиты может быть присвоен график регулирования, по которому процесс антивирусной защиты может выполняться в течение 5 секунд каждые 2 минуты. Компонент 408 регулирования может быть сконфигурирован с возможностью применения графика регулирования к регулируемому процессу посредством циклического переключения регулируемого процесса между режимом выполнения и приостановленным режимом невыполнения на основании графика регулирования. В одном примере, компонент 406 перехода может быть сконфигурирован с возможностью перевода приостанавливаемых процессов в приостановленный режим невыполнения до присваивания графика регулирования регулируемым процессам и/или до того, как компонент 408 регулирования применяет графики регулирования. Приостановка процессов до регулирования процессов может смягчить конфликты, когда приостанавливаемый процесс использует данные из регулируемого процесса, но регулируемый процесс уже находится в приостановленном режиме невыполнения до того, как приостанавливаемый процесс приостанавливается.
Для соответствующих привилегированных процессов, которым присвоена классификация привилегированных в рамках присваиваний 404 классификаций управления питанием, компонент 406 перехода может допускать продолжение выполнения привилегированного процесса. Например, процессу сетевого пакетного процессора, процессу процессора аппаратных событий, процессу службы мгновенных сообщений, процессу уведомления о получении сообщений и/или другим привилегированным процессам может быть предоставлена возможность продолжать выполнение в то время, как компьютерная среда находится в режиме 410 ожидания с подключением (например, процесс сетевого пакетного процессора и/или процесс процессора аппаратных событий могут быть привилегированными потому, что данные функции могут использоваться компьютерной средой для основной работы, тогда как процесс службы мгновенных сообщений и процесс уведомления о получении сообщений могут быть привилегированными потому, что данные функции могут требоваться пользователю). Таким образом, вычислительная среда может быть переведена компонентом 406 перехода в режим 410 ожидания с подключением.
Один вариант осуществления перехода компьютерной среды из режима ожидания с подключением в режим выполнения изображен в форме примерного способа 500 на фиг. 5. Способ начинается на этапе 502. На этапе 504 может быть получен запрос выхода из режима ожидания с подключением, относящегося к компьютерной среде. То есть, компьютерная среда могла быть переведена в режим ожидания с подключением для снижения энергопотребления. Например, во время нахождения в режиме ожидания с подключением, по меньшей мере, один процесс мог быть приостановлен и/или отрегулирован для снижения энергопотребления, тогда как процессам, используемым для основного режима работы компьютерной среды, и/или процессам, которые обеспечивают требуемые функции, может быть предоставлена возможность выполнения, чтобы компьютерная среда могла бесперебойно переходить в обновленный режим выполнения за короткое время реакции (например, планшетное устройство, которое находилось в режиме ожидания с подключением в течение нескольких часов, может быть переведено в течение нескольких секунд в режим выполнения, в котором сообщения электронной почты и другая информация могут быть обновленными и/или доступными для пользователя в течение нескольких секунд).
На этапе 506, компьютерная среда может быть переведена из режима ожидания с подключением в режим выполнения. В одном примере, для соответствующих приостановленных процессов, которым присвоена классификация приостанавливаемых, выполняемые функции могут быть возвращены приостановленному процессу на этапе 508. Классификация приостанавливаемых может соответствовать тому, можно ли приостанавливать процесс без отказа компьютерной системы (например, сбоя компьютерной среды и/или процесса), и/или не требуются ли ограниченные динамические функции, связанные с процессом (например, пользовательское приложение для обработки текстов, созданное в рамках пользовательского сеанса, могло быть приостановлено потому, что функции пользовательского приложения для обработки текстов в то время, когда компьютерная среда находится в режиме ожидания с подключением, не могут требоваться, и/или упомянутые функции не могут быть использованы компьютерной средой для основного режима работы).
В другом примере, для соответствующих регулируемых процессов, которым присвоена классификация регулируемых, выполняемые функции могут быть возвращены в регулируемый процесс на этапе 510. Например, возврат выполняемых функций в регулируемый процесс может быть основан на графике регулирования, примененном к регулируемому процессу, и применение графика регулирования к регулируемому процессу может прекращаться в рамках возврата выполняемых функций данному процессу (например, если регулируемый процесс находится в приостановленном режиме невыполнения, то регулируемый процесс может быть переведен в режим выполнения). Классификация регулируемого процесса может соответствовать тому, можно ли регулировать процесс без отказа компьютерной системы, и/или требуются ли ограниченные динамические функции, связанные с процессом (например, процессу антивирусной защиты может быть присвоена классификация регулируемого потому, что процесс антивирусной защиты обеспечивает требуемые функции режима по сканированию данных перед тем, как данные записываются в память, и регулирование процесса антивирусной защиты не может вызывать отказ процесса антивирусной защиты и/или компьютерной среды).
В одном примере из режима ожидания с подключением в режим выполнения, выполняемые функции могут возвращаться регулируемым процессам до того, как выполняемые функции возвращаются приостановленным процессам (например, сначала этап 510 и затем этап 508, даже несмотря на то, что на фиг. 5 этап 508 находится перед этапом 510), так как приостанавливаемые процессы могут использовать данные и/или функции, обеспечиваемые регулируемыми процессами. Например, выполняемые функции могут возвращаться регулируемому процессу обращения к памяти до приостановленного процесса редактирования фотографий потому, что приостановленный процесс редактирования фотографий может дать сбой, если регулируемый процесс обращения к памяти не доступен для предоставления приостановленному процессу редактирования фотографий возможности обращения к памяти. В другом примере, выполняемые функции могут возвращаться родительскому приостановленному процессу до дочернего приостановленного процесса потому, что дочерний приостановленный процесс может быть сконфигурирован для использования ресурса из родительского приостанавливаемого процесса. Таким образом, компьютерная среда может быть переведена из режима ожидания с подключением в режим выполнения за короткое время реакции, что может обеспечивать пользователю обновленную информацию без лишней задержки (например, пользователь может получить возможность просматривать новые сообщения в течение нескольких секунд после подачи запроса выхода из режима ожидания с подключением). Способ заканчивается на этапе 512.
На фиг. 6 представлен пример системы 600, сконфигурированной с возможностью перехода компьютерной среды из режима 604 ожидания с подключением в режим 608 выполнения. Система 600 может содержать компонент 606 перехода. Компонент 606 перехода может быть сконфигурирован с возможностью обнаружения запроса 602 выхода из режима ожидания с подключением, относящегося к компьютерной среде (например, проведения пальца пользователя по экрану планшетного ПК). Компонент 606 перехода может быть сконфигурирован с возможностью перевода компьютерной среды из режима 604 ожидания с подключением в режим 608 выполнения.
Для соответствующих приостановленных процессов, которым присвоена классификация приостанавливаемых, компонент 606 перехода может возвращать выполняемые функции приостановленным процессам. Например, процесс очереди печати принтера, процесс обработки текстов, процесс проверки орфографии и/или другие процессы могли быть приостановлены в то время, когда компьютерная среда находилась в режиме 604 ожидания с подключением, что могло снизить энергопотребление. После возвращения выполняемых функций, упомянутые процессы могут нормально выполняться, пока компьютерная среда находится в режиме 608 выполнения.
Для соответствующих регулируемых процессов, которым присвоена классификация регулируемых, компонент 606 перехода может возвращать выполняемые функции регулируемым процессам. Например, процесс антивирусной защиты мог быть отрегулирован по графику регулирования в то время, как компьютерная среда находилась в режиме 604 ожидания с подключением потому, что процесс антивирусной защиты мог обеспечивать требуемые ограниченные динамические функции (например, процесс антивирусной защиты мог проверять данные, относящиеся к командам записи в память, через различные интервалы, чтобы входящие сообщения могли быть записаны в память и/или доступны для пользователя после перехода компьютерной среды в режим 608 выполнения). В одном примере, выполняемые функции могут возвращаться посредством отмены применения графика регулирования, который применялся к регулируемым процессам (например, если регулируемый процесс находится в приостановленном режиме невыполнения, то регулируемый процесс может быть переведен в режим выполнения).
В одном примере, компонент 606 перехода может быть сконфигурирован с возможностью возврата выполняемых функций регулируемым процессам до возврата выполняемых функций приостановленным процессам потому, что приостановленный процесс может использовать ресурс из регулируемого процесса. Например, выполняемые функции могут возвращаться регулируемому процессу обращения к памяти до приостановленного процесса редактирования фотографий потому, что приостановленный процесс редактирования фотографий может дать сбой, если регулируемый процесс обращения к памяти не доступен для предоставления приостановленному процессу редактирования фотографий возможности обращения к памяти. В другом примере, выполняемые функции могут возвращаться родительскому приостановленному процессу до того, как выполняемые функции возвращаются дочернему приостановленному процессу, потому, что дочерний приостановленный процесс может использовать ресурс из родительского приостановленного процесса.
Понятно, по меньшей мере, одному привилегированному процессу может быть предоставлена возможность выполнения в режиме выполнения в то время, как компьютерная среда находилась в режиме 604 ожидания с подключением (например, возможность выполнения может быть предоставлена процессу сетевого пакетного процессора, процессу процессора аппаратных событий, процессу службы мгновенных сообщений, процессу уведомления о получении сообщений и/или другим процессам). Следовательно, для упомянутых процессов может быть обеспечена возможность продолжения обработки данных, когда компьютерная среда переходит в режим 608 выполнения. Таким образом, компьютерная среда может быть эффективно переведена из режима 604 ожидания с подключением в режим 608 выполнения посредством компонента 606 перехода за короткое время реакции, что может обеспечивать пользователю обновленную информацию без лишней задержки (например, пользователь может получить возможность просматривать новые сообщения в течение нескольких секунд после подачи запроса 602 выхода из режима ожидания с подключением).
На фиг. 7 изображен пример 700 перехода планшетного устройства из режима 704 ожидания с подключением в режим 708 выполнения. Планшетное устройство могло войти в режим 704 ожидания с подключением для снижения энергопотребления посредством обеспечения возможности выполнения некоторых процессов, при этом с регулированием и/или приостановкой других процессов. Например, основным системным процессам, используемым планшетным устройством для основного режима работы, и/или другим процессам, которые нельзя регулировать или приостанавливать без вызова отказа компьютерной системы, может быть предоставлена возможность нормального выполнения. Процессы системных сервисов и/или другие процессы, которые могут быть отрегулированы без вызова отказа компьютерной системы (например, сбоя процесса и/или отказа планшетного устройства) и/или обеспечивают требуемые ограниченные динамические функции, можно регулировать. Регулирование процесса может экономить энергию, так как регулируемый процесс можно переключать в приостановленный режим невыполнения на значительные периоды времени. Следовательно, регулируемый процесс в приостановленном режиме невыполнения может не использовать ресурсы (например, процессор, аппаратуру и т.п.) для выполнения энергоемких функций. Кроме того, можно приостанавливать процессы, которые могут быть приостановлены без вызова отказа компьютерной системы и/или не обеспечивают требуемых ограниченных динамических функций. Приостановка процесса может экономить энергию, так как приостанавливаемый процесс можно переключать в приостановленный режим невыполнения, чтобы приостановленный процесс не мог использовать ресурсы для выполнения энергоемких функций. В одном примере режима 704 ожидания с подключением, процесс выполнения сетевых функций, процесс службы обмена сообщениями и/или другие процессы можно регулировать и/или допускать до полного их выполнения. Соответственно, планшетное устройство в режиме 704 ожидания с подключением может продолжать принимать и/или обрабатывать входящие сообщения 702. Таким образом, планшетное устройство может работать в режиме малого энергопотребления, но, одновременно, продолжает обеспечивать требуемые функции.
Планшетное устройство может быть переведено в режим 708 выполнения. Например, может быть принят пользовательский ввод, соответствующий запросу 706 выхода из режима ожидания с подключением (например, проведение пальцем пользователя по планшетному устройству). Планшетное устройство можно бесперебойно переводить в режим 708 выполнения посредством переключения регулируемых и/или приостановленных процессов в режим выполнения. Поскольку, по меньшей мере, некоторым функциям была предоставлена возможность выполнения в то время, как планшетное устройство находилось в режиме 704 выполнения с подключением, то пользователю может быть быстро обеспечена и доступна обновленная информация. Например в течение короткого промежутка времени (например, нескольких секунд) после ввода запроса 706 выхода из режима ожидания с подключением пользователю может быть представлена обновленная информация, относящаяся к входящим сообщениям 702, обработанным в то время, когда планшетное устройство находилось в режиме 704 ожидания с подключением. Например, после перехода планшетного устройства в режим выполнения, для пользователя могут быть доступны новые сообщения, обновления RSS-каналов, приглашения на события и/или большой объем другой информации. Следовательно, благодаря режиму ожидания с подключением, планшетное устройство может обеспечить значительно увеличенный срок службы батареи, но в то же время, по-прежнему, обеспечивает для пользователя обновленное взаимодействие с коротким временем реакции, когда переходит в режим выполнения.
Еще один вариант осуществления содержит компьютерно-читаемый носитель, содержащий инструкции, выполняемые процессором, сконфигурированные с возможностью реализации, по меньшей мере, одного из методов, представленных в настоящем описании. Примерный компьютерно-читаемый носитель, который можно разработать упомянутыми способами, изображен на фиг. 8, где вариант 800 осуществления содержит компьютерно-читаемый носитель 816 (например, CD-R (записываемый компакт-диск), DVD-R (записываемый универсальный цифровой диск) или жесткий диск накопителя на жестких дисках), на котором находятся кодированные компьютерно-читаемые данные 814. Упомянутые компьютерно-читаемые данные 814, в свою очередь, содержат набор компьютерных инструкций 812, сконфигурированных с возможностью работы в соответствии с, по меньшей мере, одним из принципов, изложенных в настоящей заявке. В одном таком варианте 800 осуществления, компьютерные инструкции 812, выполняемые процессором, могут быть сконфигурированы с возможностью выполнения способа 810, например, по меньшей мере, какого-либо одного из примерного способа 100, представленного на фиг. 1, примерного способа 300, представленного на фиг. 3, и/или примерного способа 500, представленного на фиг. 5. В другом таком варианте осуществления, инструкции 812, выполняемые процессором, могут быть сконфигурированы с возможностью реализации системы, например, по меньшей мере, какой-либо одной из примерной системы 200, представленной на фиг. 2, примерной системы 400, представленной на фиг. 4, и/или примерной системы 600, представленной на фиг. 6. Специалистами со средним уровнем компетентности в данной области техники может быть разработано множество подобных компьютерно-читаемых носителей, которые сконфигурированы с возможностью работы в соответствии с методами, представленными в настоящей заявке.
Хотя предмет изобретения описан выше на языке, характерном для структурных признаков и/или методологических действий, следует понимать, что предмет изобретения, определенный прилагаемой формулой изобретения, не обязательно ограничен вышеописанными конкретными признаками или действиями. Более того, вышеописанные конкретные признаки и действия раскрыты в качестве примерных форм осуществления формулы изобретения.
В контексте настоящей заявки, термины «компонент», «модуль», «система», «интерфейс» и т.п. предназначены, в общем, для ссылки на компьютерный объект, либо аппаратное обеспечение, либо сочетание аппаратного и программного обеспечения, либо программное обеспечение, либо программное обеспечение в процессе выполнения. Например, компонент может быть, но без ограничения, процессом, выполняемым в процессоре, процессором, объектом, исполняемым файлом, потоком выполнения, программой и/или компьютером. Для пояснения, компонентом могут быть как приложение, выполняющееся в контроллере, так и контроллер. По меньшей мере, один компонент может находиться внутри процесса и/или потока выполнения, и компонент может быть локализован в одном компьютере и/или распределен между, по меньшей мере, двумя компьютерами.
Кроме того, заявленный предмет изобретения может быть осуществлен в виде способа, устройства или изделия, с использованием стандартных методов программирования и/или проектирования для создания программного обеспечения, микропрограммного обеспечения, аппаратного обеспечения или любого их сочетания для управления компьютером, чтобы реализовать раскрытый предмет изобретения. Термин «изделие», как предполагается в контексте настоящего изобретения, включает в себя компьютерную программу, допускающую вызов с любого компьютерно-читаемого устройства, носителя информации или носителей данных. Разумеется, специалистам в данной области техники будет очевидна возможность создания многочисленных модификаций приведенной конфигурации, не выходящих за пределы объема и существа заявленного предмета изобретения.
На фиг. 8 и в последующем описании предлагается краткое общее описание подходящей компьютерной среды для реализации вариантов осуществления, по меньшей мере, одного из положений, изложенных в настоящей заявке. Операционная среда, представленная на фиг. 8, является всего лишь одним примером подходящей операционной среды и не предполагает никакого ограничения области применения или функций компьютерной среды. Примерные компьютерные устройства содержат, но без ограничения, персональные компьютеры, серверные компьютеры, ручные или носимые устройства, мобильные устройства (например, мобильные телефоны, персональные электронные секретари (PDA), медиа-плейеры и т.п.), мультипроцессорные системы, потребительские электронные приборы, мини-компьютеры, универсальные ЭВМ, распределенные компьютерные среды, которые содержат любые из вышеупомянутых систем или устройств и т.п.
Несмотря на отсутствие необходимости, варианты осуществления описаны в общем контексте «компьютерно-читаемых инструкций», выполняемых, по меньшей мере, одним компьютерным устройством. Компьютерно-читаемые инструкции могут распространяться на компьютерно-читаемых средах (описанных ниже). Компьютерно-читаемые инструкции могут быть реализованы в виде программных модулей, например функций, объектов, интерфейсов для прикладного программирования (API), структур данных и т.п., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Функции компьютерно-читаемых инструкций, обычно, могут сочетаться или распространяться, по требованию, в различных средах.
На фиг. 9 изображен пример системы 910, содержащей компьютерное устройство 912, сконфигурированное с возможностью реализации, по меньшей мере, одного варианта осуществления, предложенного в настоящей заявке. В одной конфигурации, компьютерное устройство 912 содержит, по меньшей мере, один процессорный блок 916 и память 919. В зависимости от точной конфигурации и типа компьютерного устройства, память 919 может быть энергозависимой (например, RAM (оперативное запоминающее устройство)), энергонезависимой (например, ROM (постоянное запоминающее устройство), флэш-память и т.п.) или некоторой комбинацией из той и другой. Данная конфигурация изображена на фиг. 9 штриховой линией 914.
В других вариантах осуществления, устройство 912 может содержать дополнительные признаки и/или функции. Например, устройство 912 может также содержать дополнительное запоминающее устройство (например, съемное и/или несъемное), содержащее, но без ограничения, магнитное запоминающее устройство, оптическое запоминающее устройство и т.п. Данное дополнительное запоминающее устройство изображено на фиг. 9 в виде запоминающего устройства 920. В одном варианте осуществления, компьютерно-читаемые инструкции для реализации, по меньшей мере, одного варианта осуществления, предложенного в настоящей заявке, могут находиться в запоминающем устройстве 920. Запоминающее устройство 920 может также хранить другие компьютерно-читаемые инструкции для реализации операционной системы, прикладных программ и т.п. Компьютерно-читаемые инструкции могут быть загружены в память 919 для выполнения, например, процессорным блоком 916.
Термин «компьютерно-читаемый носитель» в контексте настоящей заявки включает в себя носитель данных компьютера. Носитель данных компьютера содержит энергозависимый и энергонезависимый, съемный и несъемный носитель, реализованный любым способом или по любой технологии для хранения информации, например, компьютерно-читаемых инструкций или других данных. Память 919 и запоминающее устройство 920 являются примерами носителя данных компьютера. Носитель данных компьютера включает в себя, но без ограничения, технологию RAM, ROM, EEPROM (электрически стираемого программируемого постоянного запоминающего устройства), флэш-памяти или другой памяти, CD-ROM (постоянное запоминающее устройство на компакт-диске), цифровые универсальные диски (DVD) или другое оптическое запоминающее устройство, магнитные кассеты, магнитную ленту, запоминающее устройство на магнитных дисках или другие магнитные запоминающие устройства, или любой другой носитель, который можно применить для хранения требуемой информации и к которому может получать доступ устройство 912. Любой упомянутый носитель данных компьютера может входить в состав устройства 912.
Устройство 912 может также содержать соединение(ия) 926 связи, которое(ые) позволяют устройству 912 обмениваться информацией с другими устройствами. Соединение(ия) 926 связи может(могут) содержать, но без ограничения, модем, сетевую интерфейсную плату (NIC), интегрированный сетевой интерфейс, радиочастотный приемопередатчик, инфракрасный порт, соединение USB или другие интерфейсы для подсоединения компьютерного устройства 912 к другим компьютерным устройствам. Соединение(ия) 926 связи может(могут) содержать проводное соединение или беспроводное соединение. Соединение(ия) 926 связи может(могут) передавать и/или принимать канал передачи.
Термин «компьютерно-читаемый носитель» может включать в себя канал передачи. Канал передачи обычно реализует компьютерно-читаемые инструкции или данные в «модулированном сигнале данных», например на несущей или в другом транспортном механизме, и содержит любой носитель для доставки информации. Термин «модулированный сигнал данных» может содержать сигнал, в котором, по меньшей мере, одна из его характеристик, установлена или изменяется таким образом, чтобы кодировать информацию в сигнале.
Устройство 912 может содержать устройство(а) 924 ввода, например клавиатуру, мышь, перо, устройства речевого ввода, сенсорный экран ввода, инфракрасные камеры, устройства ввода видеосигнала и/или любое другое устройство ввода. В устройстве 912 может(могут) также содержаться устройство(а) 922 вывода, например, по меньшей мере, один дисплей, динамики, принтеры и/или любое другое устройство вывода. Устройство(а) 924 ввода и устройство(а) 922 вывода могут быть подсоединены к устройству 912 проводным соединение, беспроводным соединением или любой их комбинацией. В одном варианте осуществления, устройство ввода или устройство вывода от другого компьютерного устройства можно использовать как устройство(а) 924 ввода или устройство(а) 922 вывода для компьютерного устройства 912.
Компоненты компьютерного устройства 912 могут быть соединены между собой различными межкомпонентными соединениями, например шиной. Упомянутые межкомпонентные соединения могут содержать шину для подключения периферийных компонентов (PCI), например модуль PCI Express, универсальную последовательную шину (USB), высокопроизводительную последовательную шину Firewire (IEEE 1394), оптический канал передачи данных и т.п. В другом варианте осуществления, компоненты компьютерного устройства 912 могут быть соединены между собой по сети. Например, память 919 может состоять из нескольких блоков памяти, расположенных в физически разнесенных местах, соединенных между собой по сети.
Специалистам в данной области техники будет очевидно, что запоминающие устройства, используемые для хранения компьютерно-читаемых инструкций, могут быть распределены по сети. Например, компьютерное устройство 930, доступное по сети 929, может хранить компьютерно-читаемые инструкции для реализации, по меньшей мере, одного варианта осуществления, предложенного в настоящей заявке. Компьютерное устройство 912 может обращаться к компьютерному устройству 930 и загружать часть компьютерно-читаемых инструкций или все инструкции для выполнения. В альтернативном варианте, компьютерное устройство 912 может загружать фрагменты компьютерно-читаемых инструкций, при необходимости, или некоторые инструкции могут выполняться в компьютерном устройстве 912, и некоторые инструкции могут выполняться в компьютерном устройстве 930.
В настоящей заявке приведены различные операции вариантов осуществления. В одном варианте осуществления, по меньшей мере, одна из описанных операций может составлять компьютерно-читаемые инструкции, сохраняемые на, по меньшей мере, одном компьютерно-читаемом носителе, которые, при выполнении компьютерным устройством, будут давать компьютерному устройству задание выполнять описанные операции. Порядок, в котором описаны некоторые или все операции, не должен подразумевать, что данные операции обязательно должны подчиняться приведенному порядку. После изучения настоящего описания, специалисту в данной области техники будут очевидны альтернативные порядки. Кроме того, следует понимать, что не все операции обязательно присутствуют в каждом варианте осуществления, предложенном в настоящей заявке.
Кроме того, определение «примерный» используется в настоящей заявке для обозначения функции примера, варианта или пояснения. Любой аспект или конструкция, описанные в настоящей заявке в качестве «примерных», не обязательно следует считать имеющими преимущество по сравнению с другими аспектами или конструкциями. Точнее говоря, использование определения «примерный» предполагает представление концепций в конкретном исполнении. В контексте применения в настоящей заявке предполагается, что союз «или» означает включающее «или», а не исключающее «или». То есть, если не указано иначе или не следует из контекста, то предполагается, что выражение «X использует A или B» означает любую из естественных включающих подстановок. То есть, если X использует A; X использует B; или X использует как A, так и B, то «X использует A или B» удовлетворяет любому из вышеприведенных вариантов. Кроме того, единственное число, применяемое в настоящей заявке и прилагаемой формуле изобретения, можно, в общем, интерпретировать как имеющее значение «по меньшей мере, один», если не указано иначе, или из контекста не ясно указание упомянутых признаков на единственное число. Выражение, по меньшей мере, одно из A и B и/или т.п. также означает, как правило, A или B, или как A, так и B.
Кроме того, хотя настоящее изобретение показано и описано выше со ссылкой на, по меньшей мере, один вариант осуществления, специалистами в данной области техники будут разработаны эквивалентные видоизменения и модификации после прочтения и изучения настоящего описания и прилагаемых чертежей. Настоящее изобретение включает в себя все упомянутые модификации и изменения и ограничено только объемом охраны нижеследующей формулы изобретения. В частности, в отношении различных функций, выполняемых вышеописанными компонентами (например, элементами, ресурсами и т.п.), предполагается, что термины, используемые для описания данных компонентов, должны соответствовать, если не указано иначе, любому компоненту, который выполняет заданную функцию описанного компонента, (например, который является функционально эквивалентным), и даже не является конструктивно эквивалентным раскрытой структуре, которая выполняет функцию в вышеописанных примерных вариантах осуществления изобретения. Кроме того, хотя раскрытие конкретного признака изобретения могло быть приведено в отношении только одного из нескольких вариантов осуществления, данный признак можно объединять с, по меньшей мере, одним другим признаком других вариантов осуществления, как может быть необходимо и выгодно для любого данного или конкретного применения. Кроме того, в том смысле, в котором выражения «включает в себя», «имеющий», «имеет», «с» или их варианты используются либо в подробном описании, либо в формуле изобретения, данные выражения должны быть включающими, подобно выражению «содержащий».