ОПЕРАЦИИ МОБИЛЬНОГО УСТРОЙСТВА С ОПТИМИЗАЦИЕЙ РАСХОДА ЗАРЯДА БАТАРЕИ
MOBILE DEVICE OPERATION WITH OPTIMIZATION OF BATTERY CHARGE CONSUMPTION

УРОВЕНЬ ТЕХНИКИ
Мобильные устройства, иногда называемые также портативными устройствами, являются электронными устройствами, которые имеют размеры для переноски и/или укладки в карман людьми. Обычно, мобильные устройства содержат одно или более из быстродействующего и функционально-эффективного процессора, мощного, но небольшого дисплея, возможности беспроводной связи, сенсорного экрана, малоразмерной клавиатуры и/или других функциональных возможностей, которые способствуют мобильности устройства. Упомянутые мобильные устройства обычно содержат также перезаряжаемые батареи для обеспечения питания.
Мобильные устройства с перезаряжаемыми батареями имеют постоянное напряжение при предоставлении множества возможностей, с одновременным обеспечением достаточно продолжительного срока службы батареи, чтобы упомянутые устройства могли быть полезны на ходу (например, в отсутствие привязки к устройству зарядки батареи). Пользователь мобильного устройства, обычно, планирует носить мобильное устройство с собой, и не желает вынужденно оставлять мобильное устройство для зарядки. Однако, некоторые функции мобильных устройств, например, функции обеспечения безопасности (например, сканирование на вирусы, функция резервного копирования и т.п.), могут в значительной степени использовать ресурсы обработки мобильных устройств и, поэтому, могут приводить к интенсивному использованию батареи. В результате, упомянутые функции устройства могут ограничивать возможность переноса мобильных устройств.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Сущность изобретения изложена для представления в упрощенной форме набора концепций, которые дополнительно описаны ниже в подробном описании. Данный раздел сущности изобретения не предназначен ни для идентификации ключевых признаков или существенных признаков заявленного объекта патентования, ни для определения объема заявленного объекта патентования.
Предложены способы, системы и компьютерные программные продукты для сбережения электроэнергии батареи в устройствах с батарейным питанием, в том числе, стационарных и мобильных устройствах. Электроэнергия батареи сохраняется в упомянутых устройствах посредством селективной задержки задач, которые определяются как допускающие задержку. Задачи задерживаются, пока не произойдет событие зарядки, которое может поддерживать задержанные задачи. Когда происходит упомянутое событие зарядки, выполнение задержанных задач разрешается. Тем самым, использование батарей уменьшается, когда устройства не подсоединены к устройству зарядки батареи, что позволяет повысить мобильность устройств.
В одном примерном осуществлении способа, по меньшей мере, одна допускающая задержку задача ставится в очередь для исполнения впоследствии. Начало события зарядки батареи мобильного устройства обнаруживается после организации очереди. Выполнение поставленной(ых) в очередь задержанной(ых) задач(и) разрешается во время события зарядки. Например, выполнение поставленной(ых) в очередь задержанной(ых) задач(и) может разрешаться, если прогнозируется, что событие зарядки должно быть длительным событием зарядки, которое может быть определено на основании профиля зарядки мобильного устройства или другим методом.
В примерном осуществлении системы, в мобильном устройстве обеспечен планировщик задач. Планировщик задач содержит модуль организации очереди задач, устройство контроля заряда и модуль включения обработки очереди. Модуль организации очереди задач сконфигурирован с возможностью постановки в очередь, по меньшей мере, одной допускающей задержку задачи для исполнения впоследствии. Устройство контроля заряда сконфигурирован с возможностью обнаружения начала события зарядки батареи мобильного устройства после организации очереди задержанной(ых) задач(и). Модуль включения обработки очереди сконфигурирован с возможностью разрешения исполнения задержанной(ых) задач(и) во время события зарядки.
В настоящей заявке также описаны компьютерные программные продукты для сбережения электроэнергии батареи мобильных устройств посредством задержки исполнения задач до времени зарядки батареи и для дополнительных вариантов осуществления, описанных в настоящей заявке.
Дополнительные признаки и преимущества изобретения, а также структура и порядок работы различных вариантов осуществления изобретения подробно поясняются ниже со ссылкой на прилагаемые чертежи. Следует отметить, что изобретение не ограничено конкретными вариантами осуществления, описанными в настоящей заявке. Упомянутые варианты осуществления представлены в настоящей заявке исключительно с целью иллюстрации. На базе принципов, изложенных в настоящей заявке, специалистам в соответствующей области техники, будут очевидны дополнительные варианты осуществления.
КРАТКОЕ ОСПИСАНИЕ ЧЕРТЕЖЕЙ
Прилагаемые чертежи, которые включены в настоящую заявку и входят в состав описания, иллюстрируют настоящее изобретение и, в совокупности с описанием, дополнительно служат для пояснения принципов изобретения и позволяют специалисту в соответствующей области техники изготовить и применить изобретение.
Фиг. 1 - блок-схема среды мобильного устройства, в соответствии с примерным вариантом осуществления.
Фиг. 2 - блок-схема последовательности операций способа, определяющая процедуру в мобильном устройстве для планирования задач устройства с целью более эффективного использования батареи, в соответствии с примерным вариантом осуществления.
Фиг. 3 - блок-схема планировщика задач, в соответствии с примерным вариантом осуществления.
Фиг. 4 - блок-схема логики операций устройства, в соответствии с примерным вариантом осуществления.
Фиг. 5 - процедура прогнозирования, подходит ли событие зарядки для исполнения задержанных задач, в соответствии с примерным вариантом осуществления.
Фиг. 6 - блок-схема модуля включения обработки очереди, который содержит анализатор события зарядки, в соответствии с примерным вариантом осуществления.
Фиг. 7 - блок-схема модуля включения обработки очереди, сконфигурированного с возможностью формирования профиля зарядки, в соответствии с примерным вариантом осуществления.
Фиг. 8 - график, который представляет примерный профиль зарядки батареи, в соответствии с вариантом осуществления.
Фиг. 9 - блок-схема последовательности операций способа, определяющая процедуру обработки задач, не допускающих задержки, в соответствии с примерным вариантом осуществления.
Фиг. 10 - блок-схема последовательности операций способа, определяющая процедуру выведения задачи из задержанного состояния, в соответствии с примерным вариантом осуществления.
Фиг. 11 - блок-схема примерного компьютера, который можно применить для реализации вариантов осуществления настоящего изобретения.
Признаки и преимущества настоящего изобретения станут очевидными из подробного описания, приведенного ниже, при рассмотрении в сочетании с чертежами, на которых сходные ссылочные позиции обозначают соответствующие элементы на всех чертежах. На чертежах, сходные ссылочные позиции, обычно, обозначают идентичные, функционально аналогичные и/или структурно аналогичные элементы. Чертеж, на котором элемент появляется впервые, обозначен крайней(ими) левой(ыми) цифрой(ами) в соответствующей ссылочной позиции.
ПОДРОБНОЕ ОПИСАНИЕ
I. ВВЕДЕНИЕ
В настоящем описании предлагается один или более вариантов осуществления, которые включают в себя признаки изобретения. Предложенный(ые) вариант(ы) осуществления являются всего лишь примерами изобретения. Объем настоящего изобретения не ограничен предложенным(и) вариантом(ами) осуществления. Изобретение определяется прилагаемой формулой изобретения.
Ссылки в описании на «один вариант осуществления», «вариант осуществления», «примерный вариант осуществления» и т.п., означают, что описанный вариант осуществления может содержать конкретный признак, конкретную структуру или характеристику, но каждый вариант осуществления не обязательно должен включать в себя конкретный признак, конкретную структуру или характеристику. Более того, упомянутые формулировки не обязательно относятся к одному и тому же варианту осуществления. Кроме того, когда конкретный признак, конкретная структура или характеристика характеризуются в связи с вариантом осуществления, то предполагается, что задача реализации упомянутого признака, упомянутой структуры или характеристики в связи с другими вариантами осуществления, описанными или не описанными в прямой форме, не выходит за пределы знаний специалиста в соответствующей области техники.
Существует много типов устройств с батарейным питанием, в том числе, мобильные устройства, которые содержат батареи, и стационарные устройства, которые используют электроэнергию батарей. Например, мобильные портативные электронные устройства могут содержать батарею, могут расходовать электроэнергию батарей (разряжать) во время работы в мобильном состоянии и могут быть подсоединены к зарядному устройству для подзарядки батареи в неподвижном (немобильном) состоянии. Операции упомянутых и другого типа устройств с батарейным питанием, которые имеют место при частом расходовании электроэнергии батареи (разрядке), выполняются без знания электроэнергии батареи, которую упомянутые устройства расходуют, не говоря уже о том, как сдерживать данные действия. Например, сканирование на вирусы и/или обновления программного обеспечения часто выполняются в такое время, когда приведенные операции не будут влиять на приоритетные действия, но не сконфигурированы с возможностью принятия на себя задачи минимального влияния на срок службы батареи. В результате, батарея устройства может разряжаться во время использования, и поэтому может потребоваться, чтобы пользователь оставил устройство подсоединенным к устройству зарядки. В некоторых случаях, сканирование на вирусы может выполняться в ответ на вирусную атаку, по требованию, в запланированные моменты времени и т.п. Упомянутые действия, обычно, выполняются «по обнаружению» и не должны выполняться непрерывно. Подобные операции могут выполняться без влияния на очень ценную электроэнергию батареи.
В вариантах осуществления предложены методы для сбережения электроэнергии батареи в устройствах с батарейным питанием, например, мобильных устройствах и устройствах с батарейным питанием других типов. Следует отметить, что, хотя варианты осуществления в настоящей заявке часто описаны со ссылкой на мобильные устройства, упомянутые варианты осуществления описаны таким образом с целью иллюстрации и не предполагают ограничения мобильными устройствами. Варианты осуществления применимы также к другим типам устройств с батарейным питанием (например, охранным системам, системам управления и т.п.).
В вариантах осуществления, операции устройств могут быть задержаны до того, как батарею устройства подсоединяют к устройству зарядки батареи, для сбережения электроэнергии батареи, когда устройство находится в мобильном состоянии или, иначе говоря, не подсоединено к питанию. Варианты осуществления могут учитывать разные факторы для сбережения электроэнергии батареи в устройстве с батарейным питание, включая анализ профиля/использование устройства на переменном/постоянном токе, и могут осуществлять оптимизацию, чтобы функций устройства (например, функции обеспечения безопасности и т.п.) насколько возможно выполнялись, когда устройство использует подходящую возможность приема питания от зарядного устройства, а не электроэнергии батареи, без ущерба для функциональных возможностей устройства.
Например, неупреждающие операции обеспечения безопасности, выполняемые не в реальном времени и/или другую операцию можно сдвигать для совершения во время выделенных/продолжительных событий/циклов зарядки и можно дополнительно сдвигать к концу упомянутых событий зарядки настолько, чтобы, если устройство снимают с устройства зарядки раньше, чем предполагалось, можно было обеспечить уверенность в том, что устройство как заряжено, так и «обеспечено защитой». В другом примере, файлы, приложения (например, «прикладные системы») и/или программы установки могут быть загружены в мобильное устройство, и, в случае приложений/программ установки, могут не быть исполнены немедленно. Указания о загрузках могут быть помещены в кэш-память, и загруженные файлы/приложения/программы установки могут сканироваться во время зарядки. Таким образом, даже если файлы/приложения/программы установки устанавливались, когда мобильное устройство работало на электроэнергии батареи, то можно избежать любого дополнительного действия по сканированию при установке.
В вариантах осуществления можно использовать различные факторы для прогнозирования, когда будет происходить зарядка батареи, и сколько времени, возможно, будет происходить зарядка батареи, с учетом того, сколько времени занимает выполнение операций обеспечения безопасности и/или других функции, которые, в ином случае, разряжают электроэнергию батареи. Соответственно, время запуска операций обеспечения безопасности и/или других функций можно спрогнозировать и использовать для их запуска.
В вариантах осуществления можно контролировать предысторию зарядки устройства для прогнозирования последующих событий зарядки. Предысторию и/или другие факторы можно использовать, чтобы сконфигурировать профиль зарядки устройства для поддержки прогнозирования, будет ли выполняемое событие зарядки достаточно длительным для разрешения выполнения задержанных операций. Профиль зарядки можно определять на основании одного или более факторов, в том числе, информации о профиле, вручную введенной пользователем, статическом и/или динамическом определении профиля ведущейся предыстории зарядки, доступа и обращения к календарному план-графику (хранящемуся в памяти модульного устройства и/или удаленной памяти), доступа к уведомлению API (программного интерфейса приложения) о нахождении мобильного устройства на зарядном устройстве, сведений о зарядной емкости батареи, скорости зарядки и текущем уровне заряда, и/или использовании других «чувствительных/сенсорных» аспектов мобильного устройства.
Например, после дневного использования мобильное устройство можно поместить на зарядное устройство около кровати пользователя, на кухонном столе или в зарядное устройство шкафа управления гаражными воротами с розеткой под брелок для подготовки к следующим суткам. Выполнение операций устройства с расходом мощности может быть допущено, когда зарядное устройство подзаряжает мобильное устройство (и пользователь спит). Варианты осуществления могут допускать приспособление к любому графику пользователя, в том числе к пользователям, которые работают в дневную смену (что может повлечь за собой ночную зарядку), в ночную смену (что может повлечь за собой дневную зарядку), и/или к любому другому возможному графику пользователя.
Следует отметить, что некоторые периоды времени зарядки не достаточны для разблокирования задержанных задач. Например, время, когда мобильное устройство заряжается на автомобильном зарядном устройстве во время поездки на работу/с работы, может быть неподходящим временем для выполнения трудоемких операций по обеспечению безопасности/обслуживанию устройства. В некоторых вариантах осуществления возможно распознавание подобных периодов времени, чтобы не использовать их для выполнения таких операций устройства, как операции обслуживания/обеспечения безопасности.
Ниже приведено описание многочисленных примерных вариантов осуществления настоящего изобретения. Следует отметить, что никакие заголовки разделов/подразделов, приведенные в настоящей заявке, не предполагают никаких ограничений. Описания вариантов осуществления приведены по всему настоящему документу, и вариант осуществления любого типа может входить в любой раздел/подраздел.
II. ПРИМЕРНЫЕ ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯ
Варианты осуществления обеспечивают методы сбережения электроэнергии батареи устройств с батарейным питанием, например, мобильных устройств. В частности, варианты осуществления дают возможность задерживать допускающие задержку задачи до тех пор, пока устройство не будет заряжаться (например, подсоединяют к устройству зарядки батареи) и, следовательно, располагать доступом к более значительным энергетическим ресурсам, вместо выполнения задач во время нормального пользования (например, когда мобильное устройство не подсоединено к зарядному устройству батареи и, следовательно, обладает мобильностью). Упомянутые варианты осуществления позволяют использовать устройства более длительные периоды времени между циклами зарядки батареи. Множество различных задач, выполняемых в мобильных устройствах, можно считать допускающими задержку, в том числе, операции обеспечения безопасности, операции обслуживания, загрузки/установки файлов и задачи дополнительных типов.
Упомянутые варианты осуществления можно реализовать в различных средах. Например, на фиг. 1 приведена блок-схема среды 100 мобильного устройства, в соответствии с примерным вариантом осуществления. Как показано на фиг. 1, среда 100 содержит мобильное устройство 102, сервер 104 и зарядное устройство 106. Описание среды 100 приведено ниже.
Мобильное устройство 102 может быть мобильным устройством любого типа, в том числе, мобильным компьютером или компьютерным устройством (например, устройством Palm, устройством RIM Blackberry компании RIM, персональным электронным секретарем (PDA), переносным компьютером, ноутбуком, планшетным компьютером (например, компьютером Apple iPad™ и т.п.), нетбуком и т.п.), мобильным телефоном (например, сотовым телефоном, интеллектуальным телефоном, например, телефоном Apple iPhone, телефоном, который содержит платформу Google Android™, телефоном, который содержит операционную систему Microsoft, например, Microsoft Windows Phone 7 и т.п.) или мобильным устройством другого типа. Мобильное устройство 102 может содержать один или более процессоров и/или другую логику обработки, дисплей, который может содержать сенсорный экран, возможность беспроводной связи, малоразмерную клавиатуру и/или другие функциональные возможности, которые делают мобильное устройство 102 носимым (например, носимым человеком в руках и/или в кармане). Сервер 104 может содержать один или более серверов, которые могут быть компьютерным устройством любого типа, описанным в настоящей заявке или известным в других отношениях, которое обслуживает файлы, например, файлы 122. Файлы 22 могут содержать файлы различных типов, содержащие файлы данных, web-страницы, приложения и т.п.
Мобильное устройство 102 и сервер 104 связаны с возможностью обмена данными по сети 108. Сети 108 могут содержать один или более каналов связи и/или сетей связи, например PAN (персональную сеть), LAN (локальную сеть), WAN (глобальную сеть) или комбинацию сетей, например, сеть Internet. Мобильное устройство 102 и сервер 104 могут быть связаны с возможностью обмена данными с сетью 108, с использованием различных каналов, в том числе, проводных и/или беспроводных каналов, например, беспроводных каналов беспроводной локальной сети (WLAN) IEEE 802.11, каналов по технологии широкополосного доступа в микроволновом диапазоне (Wi-MAX), каналов сотовой сети, каналов беспроводной персональной сети (PAN) (например, каналов Bluetooth™), каналов Ethernet, каналов USB и т.п.
Зарядное устройство 106 является устройством зарядки батареи, которое сконфигурировано с возможностью зарядки батарей мобильного устройства, например, мобильного устройства 102. Зарядное устройство 106 может быть внешним относительно мобильного устройства 102, как показано на фиг. 1, или может быть частично или полностью внутренним для мобильного устройства 102. Зарядное устройство 106 может быть подсоединено к источнику питания (например, питанию 60 Гц, 120 В переменного тока (AC) и т.п.) для приема электрического тока и может преобразовывать принимаемый электрический ток в зарядный ток с постоянным напряжением постоянного тока (DC). Как показано на фиг. 1, зарядное устройство 106 может выдавать зарядный ток в мобильное устройство 102 по зарядному кабелю 130, хотя, в некоторых осуществлениях, мобильное устройство 102 может содержать соединитель, который подсоединяется непосредственно к зарядному устройству 106, без промежуточного зарядного кабеля.
Как показано на фиг. 1, мобильное устройство 102 содержит логику 114 операций устройства, планировщик 116 задач, по меньшей мере, одну батарею 118 и дополнительный зарядный модуль 120. Логика 114 операций устройства содержит логику для выполнения одной или более операций в мобильном устройстве 102, в том числе, операций обеспечения безопасности, операций обслуживания, загрузок/установок файлов и задач/операций дополнительных типов. Логика 114 операций устройства может быть реализована различными способами для выполнения операций, в том числе, может быть реализована аппаратно, программным обеспечением, микропрограммным обеспечением или с использованием любого их сочетания. Например, логика 114 операций устройства может быть реализована в виде кода компьютерной программы, сконфигурированного с возможностью исполнения в одном или более процессорах. В качестве альтернативы, логика 114 операций устройства может быть реализована в виде аппаратной логики/электрических схем. В одном варианте осуществления, логика 114 операций устройства может быть реализована в виде однокристальной системы (SoC). Система SoC может содержать интегральную микросхему, которая содержит одно или более из процессора (например, микроконтроллера, микропроцессора, цифрового сигнального процессора (DSP) и т.п.), памяти, одного или более интерфейса связи и/или дополнительных схем и/или встроенное микропрограммное обеспечение для выполнения функций системы.
Батарея 118 содержит одну или более перезаряжаемых батарей, выполненных из материала, который допускает подзарядку. Например, батарея 118 может содержать никелевую перезаряжаемую батарею, например, никель-кадмиевую (NiCd) или никель-металл-гидридную (NiMH) батарею, литиевую перезаряжаемую батарею, например, ионно-литиевую или литий-полимерную батарею или перезаряжаемую батарею другого типа. Заряд батареи 118 можно восстановить подачей электрической энергии. Во время работы в мобильном состоянии мобильного устройства 102, батарея 118 может обеспечивать питание компонентов мобильного устройства 102, подачей напряжения постоянного тока (DC).
По желанию, в мобильном устройстве 102 присутствует зарядный модуль 120 и, в случае присутствия, обеспечивает интерфейс между зарядным устройством 106 и батареей 118. В альтернативном варианте, зарядный модуль 120 может содержать секцию или целиком зарядное устройство 106. Как показано на фиг. 1, зарядный модуль 120 можно подсоединять к зарядному устройству 106 зарядным кабелем 130 (или другим соединением) для приема зарядного напряжения/тока из зарядного устройства 106. Зарядный модуль 120 может содержать схемы стабилизации и/или защиты (например, защиты от сверхтоков и/или перенапряжения, защиты от обратного смещения и т.п.) для защиты батареи 118 и/или мобильного устройства 102 от подсоединения к источнику питания, который обеспечивает ток/напряжение, который(ое) не совместим(о) с батареей 118. При наличии, зарядный модуль 120 обеспечивает зарядный ток 128 в батарею 118 на основе зарядного тока, принятого из зарядного устройства 106, по зарядному кабелю 130 (или другому соединению). Когда зарядный модуль 120 отсутствует, то зарядное устройство 106 может обеспечивать зарядный ток 128 непосредственно в батарею 118.
Как показано на фиг. 1, планировщик 116 задач может принимать указание (индикацию) 126 зарядки из зарядного модуля 120. Когда зарядный модуль 120 отсутствует, планировщик задач может принимать указание зарядки из зарядного устройства 106. Указание 126 зарядки может быть сигналом, сформированным зарядным модулем 120 или зарядным устройством 106, который указывает, подается ли зарядный ток 128 в батарею 118, что указывает, заряжается ли батарея 118. По существу, в одном варианте осуществления, указание 126 зарядки может быть цифровым или аналоговым сигналом, обеспечивающим индикацию зарядки. В одном варианте осуществления, зарядный модуль 120 может содержать резистор, последовательно включенный в цепь зарядного тока 128. Частное значение напряжения может появляться на резисторе и обеспечиваться указанием 126 зарядки, когда зарядный ток 128 протекает в батарею 118 для указания, что батарея 118 заряжается. В других вариантах осуществления, указание 126 зарядки может указывать, заряжается ли батарея 118 зарядным током 128, другими способами, известными специалистам в соответствующей области техники.
Планировщик 116 задач сконфигурирован с возможностью планирования одной или более задач/операций логики 114 операций устройства для работы в периоды времени, когда батарея 118 заряжается. Например, планировщик 116 задач может быть сконфигурирован с возможностью задержки допускающих задержку задач до тех пор, пока батарея 118 мобильного устройства 102 не будет заряжаться зарядным устройством 106, и, следовательно, мобильное устройство 102 будет иметь доступ к более значительным энергетическим ресурсам, чем только батарея 118, вместо выполнения задач во время нормального пользования (например, когда мобильное устройство 102 не подсоединено к зарядному устройству 106).
Планировщик 116 задач может формировать разрешающий сигнал 124 для задач, который принимается логикой 114 операций устройства. Разрешающий сигнал 124 для задач может разрешать выполнение задержанной задачи логики 114 операций устройства. Например, планировщик 116 задач может определять по указанию 126 зарядки, что батарея 118 заряжается, и, в результате, может формировать разрешающий сигнал 124 для задач для разрешения выполнения одной или более задач, задержанных логикой 114 операций устройства. Таким образом, допускающие задержку задачи выполняются, когда батарея 118 заряжается, что сберегает ресурсы батареи в периоды времени, когда батарея 118 не заряжается. Планировщик 116 задач может формировать разрешающий сигнал 124 для задач для немедленного разрешения выполнения задержанных задач, когда обнаруживается событие зарядки, или может задержать формирование разрешающего сигнала 124 для задач для разрешения выполнения задержанных задач до более позднего участка события зарядки (например, после того, как батарея 118 зарядится до требуемого уровня, который может быть указан указанием 126 зарядки или может быть определен иначе).
В разных вариантах осуществления, планировщик 116 задач может выполнять свои функции разными способами. Например, на фиг. 2 приведена блок-схема 200 последовательности операций способа планирования задач устройства для повышения эффективности использования батареи в мобильном устройстве, в соответствии с примерным вариантом осуществления. В варианте осуществления, блок-схема 200 последовательности операций способа может выполняться планировщиком 116 задач, показанным на фиг. 1. Описание блок-схемы 200 последовательности операций способа приведено ниже применительно к среде 100, показанной на фиг. 1, и со ссылкой на фиг. 3-8. Например, на фиг. 3 приведена блок-схема планировщика 300 задач, в соответствии с примерным вариантом осуществления. Планировщик 300 задач, показанный на фиг. 3, является примером планировщика 116 задач, показанного на фиг. 1. Как показано на фиг. 3, планировщик 300 задач содержит модуль 302 организации очереди задач, устройство 304 контроля заряда и модуль 306 включения обработки очереди. Из нижеприведенного пояснения блок-схемы 200 последовательности операций способа, специалистам в соответствующей области техники будут очевидны дополнительные структурные и функциональные варианты осуществления.
Блок-схема 200 последовательности операций способа начинается с этапа 202. На этапе 202, по меньшей мере, одна допускающая задержку задача ставится в очередь для исполнения впоследствии. Например, как показано на фиг. 1, логика 114 операций устройства может принять запрос на выполнение задачи от пользователя мобильного устройства 102 (например, посредством взаимодействия пользователя с пользовательским интерфейсом мобильного устройства 102) или может быть сконфигурирована с возможностью выполнения задачи по другой причине (например, в ответ на загрузку файла, в предварительно заданное время и т.п.).
Как изложено выше, логика 114 операций устройства может быть сконфигурирована с возможностью выполнения множества различных задач, которые допускают задержку. Например, на фиг. 4 приведена блок-схема логики 114 операций устройства, в соответствии с примерным вариантом осуществления. Как показано на фиг. 4, логика 114 операций устройства содержит логику 402 операций обеспечения безопасности, программу 404 установки и логику 406 операций обслуживания. Логика 402 операций обеспечения безопасности, программа 404 установки и логика 406 операций обслуживания сконфигурированы, каждая, с возможностью выполнения задач мобильного устройства 102, как изложено ниже. Каждая из логики 402 операций обеспечения безопасности, программы 404 установки и логики 406 операций обслуживания может содержать допускающие задержку задачи. Допускающие задержку задачи являются такими задачами, которые не нуждаются в немедленном выполнении потому, что работа мобильного устройства 102 не пострадает от выполнения упомянутых задач впоследствии, и потому, что их немедленное исполнение не запрошено пользователем мобильного устройства 102. По существу, допускающие задержку задачи могут быть выполнены в последующее время (определяемое планировщиком 300 задач). В вариантах осуществления, логика 114 операций устройства может содержать один или более из признаков, показанных на фиг. 4, которые могут содержать допускающие задержку задачи, и/или может содержать дополнительные или альтернативные функциональные возможности, которые содержат допускающие задержку задачи.
Логика 402 операций обеспечения безопасности содержит логику для выполнения одной или более операций, связанных с безопасностью мобильного устройства 102. Например, как показано на фиг. 4, логика 402 операций обеспечения безопасности может содержать сканирующий модуль 408, модуль 410 резервного копирования и/или модуль 412 управления конфигурацией. Сканирующий модуль 408 является модулем сканирования на вирусы, который сконфигурирован с возможностью выполнения задач сканирования на вирусы в файлах, которые загружаются в мобильное устройство 102 (например, файлов 122, загруженных с сервера 104 на фиг. 1). Коммерческие примеры сканирующего модуля 408 известны специалистам в соответствующей области техники. Модуль 410 резервного копирования сконфигурирован с возможностью выполнения задач резервного копирования файлов из памяти мобильного устройства 102 в удаленную память (не показанную на фиг. 1). Коммерческие примеры модуля 410 резервного копирования известны специалистам в соответствующей области техники. Модуль 412 управления конфигурацией сконфигурирован с возможностью выполнения задач управления конфигурацией мобильного устройства 102. Коммерческие примеры модуля 412 управления конфигурацией известны специалистам в соответствующей области техники. Дополнительные примерные задачи логика 402 операций обеспечения безопасности должны быть известны специалисту в соответствующей области техники.
Следует отметить, что, в вариантах осуществления, сканирующий модуль 408 может быть сконфигурирован с возможностью выполнения полных сканирований файлов и/или может быть сконфигурирован с возможностью выполнения «упрощенных» сканирований, в ходе которых файл не полностью сканируется на вирусы. Например, сканирующий модуль 408 может выполнять упрощенное сканирование файла для формирования результата сканирования. Результат сканирования может быть хэш-суммой файла или другим результатом, который можно анализировать для достаточно достоверного определения, содержит ли файл вирус. Результат сканирования может быть передан в удаленный сервер для анализа, например, сервер 104, показанный на фиг. 1. Сервер может анализировать результат сканирования (например, полученную хэш-сумму и т.п.) для определения, может ли файл содержать вирус. Данный анализ может выполняться различными способами, которые должны быть известны специалистам в соответствующей области техники. На основании анализа, из удаленного сервера может быть получено указание, является ли файл вредоносным. Если удаленный сервер указывает, что файл является вредоносным, то, посредством сканирующего модуля 408, файл может быть помещен в карантин, удален или иначе блокирован от причинения вреда мобильному устройству 102. Если удаленный сервер указывает, что файл не является вредоносным, то может быть выполнена задача полного сканирования файла. Задача полного сканирования может быть задержана для исполнения впоследствии в качестве допускающей задержки задачи, как изложено в настоящей заявке.
Программа 404 установки сконфигурирована с возможностью выполнения установки (и/или настройки) приложений (например, компьютерных программ), что может включать в себя установку и/или настройку драйверов, подключаемых модулей и т.п., на мобильном устройстве 102, чтобы приложения могли исполняться. Программа 404 установки может загружать приложения (например, из такого сервера, как сервер 104, показанный на фиг. 1) и/или устанавливать загруженные приложения на мобильном устройстве 102. Программа 404 установки может быть также сконфигурирована как средство обновления, которое обновляет приложения, которые уже загружены в мобильное устройство 102. Например, программа 404 установки может загружать обновления (например, из такого сервера, как сервер 104) и устанавливать обновления в приложения в мобильном устройстве 102. Коммерческие примеры программы 404 установки известны специалистам в соответствующей области техники.
Логика 406 операций обслуживания содержит логику для выполнения одной или более операций, связанных с обслуживанием мобильного устройства 102. Например, как показано на фиг. 4, логика 406 операций обслуживания может содержать дефрагментатор 414. Дефрагментатор 414 является модулем дефрагментации, который сконфигурирован с возможностью выполнения задач дефрагментации файловой системы мобильного устройства 102, чтобы уменьшить фрагментацию. Коммерческие примеры дефрагментаторов 414 известны специалистам в соответствующей области техники. Дополнительные примерные задачи для логики 406 операций обслуживания должны быть известны специалисту в соответствующей области техники.
В варианте осуществления, в соответствии с этапом 202 одна или более допускающих задержку задач ставятся в очередь для исполнения впоследствии. Например, во время работы, логика 114 операций устройства может определять, что должна быть выполнена задача (например, задача обеспечения безопасности, задача установки, задача обслуживания и т.п.). Например, может требоваться выполнение задачи загрузки файла (например, программой 404 установки) для загрузки одного или более файлов в мобильное устройство 102. В альтернативном варианте, файл уже может быть загружен в мобильное устройство 102 (например, с сервера 104, показанного на фиг. 1), и логика 402 операций обеспечения безопасности может быть сконфигурирована с возможностью выполнения операции обеспечения безопасности с файлом, программа 404 установки может быть сконфигурирована с возможностью установки приложения, ассоциированного с файлом, и т.п. В альтернативном варианте, модуль 410 резервного копирования может быть сконфигурирован с возможностью выполнения задачи резервного копирования для мобильного устройства 102, логика 406 операций обслуживания может быть сконфигурирована с возможностью выполнения задачи управления конфигурацией, и т.п. По существу, как показано на фиг. 3, модуль 302 организации очереди задач может принимать запрос 308 на выполнение задачи из логики 114 операций устройства, который указывает, что требуется, чтобы любая одна или более из упомянутых задач или других задач была выполнена логикой 114 операций устройства.
Модуль 302 организации очереди задач сконфигурирован с возможностью оценки запроса 308 на выполнение задачи для определения, можно ли задержать указанную задачу. Например, в одном варианте осуществления, модуль 302 организации очереди задач может сравнивать задачу, указанную запросом 308 на выполнение задачи, с предварительно заданным списком допускающих задержку задач (хранящимся в памяти мобильного устройства 102) и, если указанная задача согласуется с задачей в предварительно заданном списке допускающих задержку задач, то модуль 302 организации очереди задач может определить, что указанная задача может быть задержана. Например, запрос 308 на выполнение задачи может содержать идентификатор задачи (ID задачи) для указанной задачи, и предварительно заданный список допускающих задержку задач может содержать идентификаторы задач для каждой из списочных допускающих задержку задач. Если идентификатор задачи для указанной задачи согласуется с идентификатором для задачи в списке допускающих задержку задач, то модуль 302 организации очереди задач может определить, что указанную задачу можно задержать. Если согласования не происходит, то модуль 302 организации очереди задач может определить, что указанную задачу нельзя задерживать.
Кроме того, модуль 302 организации очереди задач может определять, запрашивает ли пользователь мобильного устройства 102, чтобы указанная задача выполнялась немедленно. В данном случае, указанная задача не будет допускающей задержку. Например, пользователь может взаимодействовать с пользовательским интерфейсом (например, клавиатурой, сенсорным экраном, органом управления при помощи речевых команд и т.п.) мобильного устройства 102 для ввода запроса о том, чтобы задача выполнялась. Пользователь может взаимодействовать с интерфейсом инструментальных средств операций обеспечения безопасности, браузером или другим интерфейсом загрузки/программы установки файлов, интерфейсом инструментальных средств обслуживания и/или другим интерфейсом, обеспечиваемым мобильным устройством 102, чтобы запросить выполнения задачи. Если запрос 308 на выполнение задачи принимается модулем 302 организации очереди задач и указывает, что пользователь указал на необходимость немедленного выполнения задачи, то модуль 302 организации очереди задач может определить, что указанную задачу нельзя задерживать. Если запрос 308 на выполнение задачи принимается из пользовательского интерфейса мобильного устройства 102, но не указывает, что пользователь указал на необходимость немедленного выполнения задачи, то модуль 302 организации очереди задач может определить, что указанную задачу можно задержать.
В других вариантах осуществления, модуль 302 организации очереди задач может определять, допускает ли задача задержку, другими способами. Например, если модуль 302 организации очереди задач определяет, что указанная задача задействует логику 402 операций обеспечения безопасности (например, сканирующий модуль 408, модуль 410 резервного копирования, модуль 412 управления конфигурацией и т.п.), программу 404 установки или логику 406 операций обслуживания (например, дефрагментатор 414) или другую назначенную операцию или задачу, то модуль 302 организации очереди задач может определить, что задача допускает задержку.
Если определение обнаруживает, что задача допускает задержку, то модуль 302 организации очереди задач добавляет задачу в очередь допускающих задержку задач (например, сохраненную в памяти мобильного устройства 102), которая может содержать любое число поставленных в очередь, допускающих задержку задач. Как показано на фиг. 3, модуль 302 организации очереди задач формирует разрешающий сигнал 124 для задач, который может быть принят логикой 114 операций устройства, показанной на фиг. 1. Если определение обнаруживает, что задача не допускает задержки, то модуль 302 организации очереди задач формирует разрешающий сигнал 124 для задач, указывающий логике 114 операций устройства, что задача разрешена для выполнения и может быть исполнена. Если определение обнаруживает, что задача допускает задержку, то модуль 302 организации очереди задач формирует разрешающий сигнал 124 для задач, указывающий логике 114 операций устройства, что задача не разрешена для выполнения и подлежит задержке до разрешения выполнения впоследствии модулем 302 организации очереди задач.
Как показано на фиг. 2, на этапе 204 блок-схемы 200 последовательности операций способа обнаруживается начало события зарядки батареи мобильного устройства после организации очереди допускающих задержку задач. Например, как показано на фиг. 3, устройство 304 контроля заряда может принимать указание 126 зарядки, который указывает, что в батарею 118 (фиг. 1) подается заряд. В ответ, устройство 304 контроля заряда может сформировать указание 312 события зарядки, который принимается модулем 306 включения обработки очереди. Следует отметить, что в одном варианте осуществления, устройство 304 контроля заряда может выдавать указание 312 события зарядки в тот самый момент, когда указанием 126 зарядки сообщается о приеме зарядного тока. В другом варианте осуществления, устройство 304 контроля заряда может задерживать формирование указания 312 события зарядки до тех пор, пока указание 126 зарядки не укажет, что зарядный ток принимается в течение предварительно заданного количества времени (например, несколько секунд, несколько минут и т.п.). Тем самым, устройством 304 контроля заряда отфильтровываются события зарядки, имеющие относительно небольшую длительность или происходящие с перерывами. В еще одном варианте осуществления, устройство 304 контроля заряда может отсутствовать, и, вместо него, модуль 306 включения обработки очереди может выполнять этап 204. В данном варианте осуществления, модуль 306 включения обработки очереди может принимать указание 126 зарядки непосредственно.
На этапе 206, выполнение поставленных в очередь, допускающих задержку задач разрешается во время события зарядки. Например, как показано на фиг. 3, модуль 306 включения обработки очереди принимает указание 312 события зарядки (или указание 126 зарядки). Модуль 306 включения обработки очереди сконфигурирован с возможностью разрешения выполнения допускающих задержку задач, которые ставятся в очередь модулем 302 организации очереди задач, во время события зарядки, указанного указанием 312 события зарядки. Как показано на фиг. 3, если модуль 306 включения обработки очереди определяет, что происходит подходящее событие зарядки, то модуль 306 включения обработки очереди формирует разрешающий сигнала 314 для задержанных задач, который указывает, что можно разрешить выполнение допускающих задержку задач, поставленных в очередь модулем 302 организации очереди задач. Модуль 302 организации очереди задач принимает разрешающий сигнала 314 для задержанных задач. В результате, модуль 302 организации очереди задач формирует разрешающий сигнал 124 для задач, указывающий логике 114 операций устройства, что разрешается выполнение одной или более поставленных в очередь, допускающих задержку задач. Если в очередь поставлено несколько задержанных задач, то модуль 302 организации очереди задач может разрешать выполнение поставленных в очередь, допускающих задержку задач одновременно или последовательно в любом порядке, например, в порядке, в котором задачи добавляются в очередь (например, в порядке поступления (FIFO)), в порядке, обратном поступлению (LIFO), в порядке, в котором наиболее ресурсоемкие задачи выполняются последними или выполняются первыми, в порядке, задаваемом самими задачами, (например, выполнение задачи очистки перед задачей установки, выполнение задачи загрузки сигнатур перед задачей сканирования и т.п.) или в любом другом порядке. После разрешения выполнения поставленных в очередь, допускающих задержку задач, модуль 302 организации очереди задач может удалять разрешенные задачи из очереди задержанных задач.
Модуль 306 включения обработки очереди может определять, разрешать ли выполнение поставленных в очередь, допускающих задержку задач, по указанию 312 события зарядки (или указанию 126 зарядки) любым способом. Например, модуль 306 включения обработки очереди может разрешать выполнение поставленных в очередь, задержанных задач, если модуль 306 включения обработки очереди определяет, что событие зарядки, указанное указанием 312 события зарядки, является достаточно длительным событием зарядки, и поэтому для выполнения задержанных задач имеется достаточно времени. Длительное событие зарядки является событием зарядки, более длительным, чем событие зарядки, которое может иметь место во время прерывающегося или кратковременного подсоединения батареи 118 к зарядному устройству 106. Например, длительное событие зарядки может быть событием зарядки, которое является достаточно длительным для выполнения/исполнения, по меньшей мере, одной из поставленных в очередь, допускающих задержку задач во время события зарядки, без разъединения батареи 118 и зарядного устройства 106 во время события зарядки.
В одном варианте осуществления, модуль 306 включения обработки очереди может выполнять этап 502, показанный на фиг. 5, в течение этапа 206, показанного на фиг. 2. На этапе 502 прогнозируется, что событие зарядки должно быть длительным событием зарядки на основании профиля зарядки мобильного устройства. Например, на фиг. 6 приведена блок-схема модуля 306 включения обработки очереди, содержащего анализатор 602 события зарядки, в соответствии с примерным вариантом осуществления. Анализатор 602 события зарядки может быть сконфигурирован с возможностью выполнения этапа 502, показанного на фиг. 5, для прогнозирования, является ли событие зарядки, указанное указанием 312 события зарядки, настолько длительным событием зарядки, что возможно выполнение поставленных в очередь, задержанных задач.
Анализатор 602 события зарядки может быть сконфигурирован с возможностью выполнения прогнозирования на этапе 502 различными способами. Например, как показано на фиг. 6, анализатор 602 события зарядки может принимать данные 604 профиля зарядки. Данные 604 профиля зарядки содержат данные, характеризующие профиль зарядки батареи 118 мобильного устройства 102 (фиг. 1). Например, данные 604 профиля зарядки могут быть сформированы на основании таких факторов, как предыстория зарядки батареи 118, данные, введенные вручную пользователем и касающиеся предпочтительным параметров зарядки, и/или других факторов. Анализатор 602 события зарядки может анализировать данные 604 профиля зарядки для прогнозирования, будет ли конкретное событие зарядки достаточно длительным событием зарядки, чтобы можно было разрешить исполнение поставленных в очередь задержанных задач во время события зарядки.
Данные 604 профиля зарядки могут содержать данные в любой форме, в том числе, в форме структуры данных (например, списка, поисковой таблицы, массива данных, базы данных и т.п.), которая указывает вероятности зарядки батареи 118 в различные моменты времени, в том числе, поминутно, каждый час, в каждый день недели и/или любые другие периоды времени.
Данные 604 профиля зарядки могут быть сформированы различными способами. Например, на фиг. 7 приведена блок-схема модуля 306 включения обработки очереди, сконфигурированного с возможностью формирования профиля зарядки, в соответствии с примерным вариантом осуществления. Как показано на фиг. 7, модуль 306 включения обработки очереди содержит память 702, дополнительный модуль 704 пользовательского интерфейса и генератор 706 профиля зарядки. Модуль 306 включения обработки очереди, показанный на фиг. 7, позволяет формировать данные 604 профиля зарядки, которые показаны хранящимися в памяти 702, на основании информации одного или более из различных типов, в том числе, информации, введенной пользователем, параметрах мобильного устройства, информации, касающейся одного или более пользователей мобильного устройства, предыстории зарядки батареи мобильного устройства и/или другой информации. Следует отметить, что память 702 может содержать одно или более запоминающих устройств, накопителей на жестких дисках и/или других носителей для хранения компьютерных данных, описанных в других местах настоящей заявки или известных из других источников.
Модуль 704 пользовательского интерфейса может обеспечивать пользовательский интерфейс, на котором пользователь мобильного устройства может вручную вводить информацию о профиле зарядки. Например, пользователь может вводить периоды времени и/или даты, когда желательна зарядка, и периоды времени и/или даты, когда зарядка не желательна или запрещена. Модуль 704 пользовательского интерфейса может принимать информацию о профиле зарядки из одного или более из элементов пользовательского интерфейса любого типа, обеспечиваемых мобильным устройством 102, в том числе, от клавиатуры, координатного манипулятора, указательного устройства, шарового манипулятора, джойстика, сенсорного дисплея, любого числа виртуальных элементов интерфейса, системы распознавания речи и т.п. Как показано на фиг. 7, модуль 704 пользовательского интерфейса выдает введенную вручную информацию 712 о профиле зарядки.
Модуль 306 включения обработки очереди может также принимать данные 708 об устройстве. Данные 708 об устройстве могут храниться в памяти мобильного устройства 102 (например, памяти 702). Данные 708 об устройстве могут содержать информацию о мобильном устройстве 102 и/или батарее 118, которая может быть использована для формирования данных 604 профиля зарядки, например, зарядной емкости батареи 118, скорости зарядки батареи 118, текущем уровне заряда батареи 118 и т.п. Кроме того, данные 708 об устройстве могут указывать дополнительные чувствительные/сенсорные аспекты мобильного устройства 102, например, использование функции GPS (глобальной системы определения местоположения), микрофон, световую чувствительность, движение, выполняется ли речевой вызов, содержимое календаря и/или функции, требующие интенсивной обработки (например, синхронизации данных), которые можно использовать для формирования данных 604 профиля зарядки.
Модуль 306 включения обработки очереди может также принимать данные 710 пользователя. Данные 710 пользователя могут храниться в памяти мобильного устройства 102 (например, памяти 702) или могут быть приняты от устройства, удаленного от мобильного устройства 102, (например, «облачного» сервера, web-сайта, учетной записи пользователя и т.п.). Данные 710 пользователя могут содержать информацию о пользователе мобильного устройства 102, которая может быть использована для формирования данных 604 профиля зарядки, например, календарь пользователя (например, средство работы с календарем, например, Microsoft Office Outlook, компании Microsoft Corporation, Redmond, шт. Вашингтон), который показывает график пользователя.
Модуль 306 включения обработки очереди может также принимать указание 312 события зарядки, который указывает, что событие зарядки началось (например, батарея 118 подсоединена к зарядному устройству 106) и продолжается, как изложено выше. Как показано на фиг. 7, генератор 706 профиля зарядки может принимать указание 312 события зарядки, данные 708 об устройстве, данные 710 пользователя и введенную вручную информацию 712 о профиле зарядки. В зависимости от конкретного варианта осуществления, возможен прием любого одного или более из указания 312 события зарядки, данных 708 об устройстве, данных 710 пользователя и введенной вручную информации 712 о профиле зарядки. Генератор 706 профиля зарядки может использовать указание 312 события зарядки, данные 708 об устройстве, данные 710 пользователя и введенную вручную информацию 712 о профиле зарядки для формирования данных 604 профиля зарядки.
Например, генератор 706 профиля зарядки может контролировать указание 312 события зарядки с течением времени для определения периодов времени/суток, когда батарею 118 постоянно заряжают. Аналогично, генератор 706 профиля зарядки может контролировать указание 312 события зарядки с течением времени для определения периодов времени/суток, когда вероятность того, чтобы батарею 118 заряжают, является низкой. Генератор 706 профиля зарядки может формировать данные 604 профиля зарядки, с включением в них вероятностей, по частоте зарядки батареи в различное время. Генератор 706 профиля зарядки может формировать данные 604 профиля зарядки с указанием времени/суток, когда зарядка батареи 118 может иметь место с высокой вероятностью (например, выше 75% или другой вероятностью), и с указанием времени/суток, когда зарядка батареи 118 может иметь место с низкой вероятностью (например, ниже 25% или другой вероятностью). Генератор 706 профиля зарядки может изменять данные 604 профиля зарядки на основании одного или более из данных 708 об устройстве, данных 710 пользователя и введенной вручную информации 712 профиля зарядки. Например, генератор 706 профиля зарядки может изменять сформированные данные 604 профиля зарядки, в том числе, с полной заменой данных 604 профиля зарядки, с использованием введенной вручную информации 712 о профиле зарядки, если пользователю мобильного устройства 102 требуется заместить сформированные данные профиля зарядки введенными вручную данными профиля зарядки. Генератор 706 профиля зарядки может изменять данные 604 профиля зарядки с учетом возможностей батареи 118 и/или других данных 708 об устройстве, упомянутых выше или полученных другим способом. Кроме того, генератор 706 профиля зарядки может изменять данные 604 профиля зарядки с учетом данных 710 пользователя, упомянутых выше или полученных другим способом.
В результате, для мобильного устройства можно определить вероятности зарядки для разного времени суток. Например, на фиг. 8 приведен график 800, изображающий кривую 802 зависимости вероятности зарядки (Y-ось) от времени (X-ось), в соответствии с примерным вариантом осуществления. График 800 приведен на фиг. 8 для иллюстрации и не предполагает ограничений. Кривая 802 может визуально представлять данные 604 профиля зарядки, сформированные генератором 706 профиля зарядки на основе особенностей зарядки мобильного устройства пользователя. Как показано на фиг. 8, кривая 802 показывает вероятность зарядки в разное время в течение конкретных суток. Следует отметить, что, при желании, аналогичные данные профиля зарядки могут быть сформированы для каждых суток недели, каждых суток месяца, каждых суток года и т.п.
В примере, показанном на фиг. 8, кривая 802 показывает, что для пользователя характерна высокая вероятность зарядки (например, 0,9) в течение обычных часов сна/ночного времени, приблизительно, от 10:00 вечера до 7:00 утра. Причиной может быть то, что пользователь подсоединяет свое мобильное устройство к зарядному устройству, когда ложится спать ночью в упомянутый период времени. Для других лиц, которые работают в ночные смены или следуют другим графикам сна, могут быть характерны низкие вероятности зарядки в ночное время.
Кроме того, кривая 802 показывает, что для пользователя характерные относительно низкие вероятности зарядки, приблизительно, от 7:00 утра до 1:00 дня. Вероятности зарядки в упомянутый период времени близки к нулю, за исключением относительно высокой вероятности зарядки, приблизительно, от 9:00 утра до 9:30 утра (вероятность 0,8), когда пользователь может подсоединять свое мобильное устройство к автомобильному зарядному устройству во время поездки на работу. Кривая 802 показывает, что для пользователя характерна относительно низкая вероятность зарядки (например, 0,15) в течение дня, приблизительно, от 1:00 дня до 3:00 дня. Например, пользователь может иногда подсоединять свое мобильное устройство к своему компьютеру (например, зарядному устройству USB) в течение дня. Кривая 802 дополнительно показывает, что для пользователя характерны относительно низкие вероятности зарядки, приблизительно, от 3:00 дня до 10:00 вечера. Вероятности зарядки в упомянутый период времени близки к нулю, за исключением периода, приблизительно, от 4:00 дня до 4:30 дня (вероятность 0,15), когда пользователь может иногда подсоединять свое мобильное устройство к автомобильному зарядному устройству во время поездки домой с работы.
В соответствии с вариантом осуществления, модуль 306 включения обработки очереди разрешает исполнение поставленных в очередь, допускающих задержку задач во время события зарядки (этап 206 на фиг. 2), если анализатором 602 события зарядки (фиг. 6) прогнозируется, что зарядка должна быть длительным событием зарядки. Например, как следует из примера профиля зарядки, представленного кривой 802 на фиг. 8, если событие зарядки происходит и отражается указанием 312 события зарядки в периоды времени от 10:00 вечера до 7:00 утра или от 1:00 дня до 3:00 дня, то анализатор 602 события зарядки может прогнозировать, что событие зарядки должно быть длительным событием зарядки, поскольку вероятности профиля зарядки в упомянутые периоды времени являются относительно высокими, и типичная прогнозируемая длительность периода времени, в течение которого происходит зарядка, должна быть продолжительнее предварительно заданного порога (например, продолжительнее 1 часа или другого предварительно заданного временного порога). В данном случае, модуль 306 включения обработки очереди может сформировать разрешающий сигнала 314 для задержанных задач для указания, что можно разрешить выполнение допускающих задержку задач, поставленных в очередь модулем 302 организации очереди задач. Если событие зарядки происходит и отражается указанием 312 события зарядки за пределами периодов времени от 10:00 вечера до 7:00 утра или от 1:00 дня до 3:00 дня, то анализатор 602 события зарядки может прогнозировать, что событие зарядки не должно быть длительным событием зарядки (т.е. должно быть относительно кратковременным событием зарядки), поскольку вероятности профиля зарядки в упомянутые периоды времени являются относительно низкими, и/или поскольку прогнозируемые длительности периодов времени зарядки являются относительно низкими. Например, период от 9:00 утра до 9:30 утра характеризуется высокой вероятностью зарядки батареи, но прогнозируемая длительность периода времени (30 минут) может быть слишком короткой для полного исполнения поставленных в очередь задач. В данном случае, модуль 306 включения обработки очереди может сформировать разрешающий сигнала 314 для задержанных задач для указания, нельзя разрешать выполнение допускающих задержку задач, поставленных в очередь модулем 302 организации очереди задач.
По существу, в соответствии с вариантами осуществления, планировщик 116 задач, показанный на фиг. 1, может задерживать допускающие задержку задачи до тех пор, пока не прогнозируется возникновение долговременного события зарядки. Кроме того, как изложено выше, задачи, которые не допускают задержки, могут быть обнаружены планировщиком 116 задач и, следовательно, могут быть разрешены для выполнения в реальном времени, без ожидания события зарядки.
Например, на фиг. 9 приведена блок-схема 900 последовательности операций способа, определяющая процедуру обработки задач, не допускающих задержки, в соответствии с примерным вариантом осуществления. В варианте осуществления, блок-схема 900 последовательности операций способа может выполняться планировщиком 116 задач, показанным на фиг. 1, планировщиком 300 задач, показанным на фиг. 3 и/или другим вариантом осуществления. Из нижеприведенного пояснения блок-схемы 900 последовательности операций способа, специалистам в соответствующей области техники будут очевидны дополнительные структурные и функциональные варианты осуществления.
Блок-схема 900 последовательности операций способа начинается с этапа 902. На этапе 902 может быть принят запрос на исполнение конкретной задачи. Например, как показано на фиг. 3, модуль 302 организации очереди задач может принимать запрос 308 на выполнение задачи из логики 114 операций устройства, который указывает, что требуется, чтобы задача была выполнена логикой 114 операций устройства.
На этапе 904 может быть выполнено определение, что задача не допускает задержки. Например, как изложено выше, модуль 302 организации очереди задач может анализировать указанную задачу для определения, допускает ли упомянутая задача задержку. В одном варианте осуществления, модуль 302 организации очереди задач может сравнить указанную задачу с предварительно заданным списком допускающих задержку задач и/или применить другой метод, описанный в настоящей заявке, для определения, можно ли задержать указанную задачу. Если указанная задача не входит в предварительно заданный список или не проходит другую проверку на возможность задержки задачи, то модуль 302 организации очереди задач может определить, что указанная задача не допускает задержки.
На этапе 906 исполнение конкретной задачи разрешается до события зарядки. Например, как показано на фиг. 3, модуль 302 организации очереди задач может сформировать разрешающий сигнал 124 для задач, который может быть принят логикой 114 операций устройства, показанной на фиг. 1. Поскольку задача определена как не допускающая задержки, то модуль 302 организации очереди задач формирует разрешающий сигнал 124 для задач для указания логике 114 операций устройства, что задача разрешена и может быть исполнена в реальном времени (без ожидания события зарядки).
Следует отметить, что задачи, которые задержаны, могут быть впоследствии определены как требующие преждевременного исполнения (до события зарядки). Например, на фиг. 10 приведена блок-схема 1000 последовательности операций способа, определяющая процедуру выведения задачи из задержанного состояния, в соответствии с примерным вариантом осуществления. В одном варианте осуществления, блок-схема 1000 последовательности операций способа может выполняться планировщиком 116 задач, указанным на фиг. 1, планировщиком 300 задач, указанным на фиг. 3 и/или другим вариантом осуществления. Из нижеприведенного пояснения блок-схемы 1000 последовательности операций способа, специалистам в соответствующей области техники будут очевидны дополнительные структурные и функциональные варианты осуществления.
Блок-схема 1000 последовательности операций способа начинается с этапа 1002. На этапе 1002 допускающая задержку задача, ассоциированная с файлом, ставится в очередь для исполнения впоследствии. Например, как изложено со ссылкой на этап 202 блок-схемы 200 последовательности операций способа, допускающая задержку задача может быть поставлена в очередь модулем 302 организации очереди задач для исполнения впоследствии.
На этапе 1004 от пользователя принимается запрос, относящийся к файлу. В одном варианте осуществления, пользователь может сделать запрос в отношении файла, который поставлен в очередь для исполнения впоследствии, в соответствии с этапом 1002. Запрос может быть принят модулем 302 организации очереди задач из логики 114 операций устройства, показанной на фиг. 1. Например, файл может входить в состав приложения (например, «прикладных систем»), ранее загруженного пользователем, но еще не установленного, и пользователь может запрашивать запуска или исполнения приложения. Приложения могло быть поставлено в очередь в качестве задержанной задачи, подлежащей установке во время события зарядки. Однако, поскольку пользователь в настоящий момент нуждается в исполнении приложения, то установку приложения больше нельзя задерживать. В другом примере, файл мог быть ранее загружен, но сканирование файла могло быть поставлено в очередь в качестве допускающей задержку задачи. В настоящий момент пользователь может нуждаться в вызове файла, поэтому сканирование файла нельзя больше задерживать. В еще одном примере, загрузка файла могла быть поставлена в очередь в качестве допускающей задержку задачи. В настоящий момент пользователь может нуждаться в вызове файла, поэтому загрузку (и дополнительное сканирование) файла нельзя больше задерживать.
На этапе 1006, допускающая задержку задача удаляется из очереди вследствие принятого запроса. В одном варианте осуществления, модуль 302 организации очереди задач может снять задачу, которая ассоциирована с файлом, связанным с запросом, на этапе 1004 из очереди задержанных задач.
На этапе 1008, в результате принятого запроса выполняется операция, относящаяся к файлу. В одном варианте осуществления, модуль 302 организации очереди задач может сформировать разрешающий сигнал 124 для задач, который может быть принят логикой 114 операций устройства, показанной на фиг. 1, для указания логике 114 операций устройства, что задача разрешена и может быть исполнена в реальном времени (без ожидания события зарядки). По существу, запрос пользователя в отношении файла может выполняться немедленно. В одном варианте осуществления, разрешающий сигнал 124 для задач может быть сформирован автоматически. В другом варианте осуществления может быть создан пользовательский интерфейс, который запрашивает, следует ли выполнять задачу. Если пользователь указывает, что задачу следует выполнить, то может быть сформирован разрешающий сигнал 124 для задач для указания логике 114 операций устройства, что задача разрешена для выполнения. Если пользователь указывает, что выполнять задачу не следует, то разрешающий сигнал 124 для задач для указания логике 114 операций устройства, что задача разрешена для выполнения, не может быть сформирован, и, по желанию, на запрос пользователя на этапе 1004 может быть дан отказ. В данном случае, этап 1006 может не выполняться (например, допускающая задержку задача может оставаться в очереди).
Дополнительно следует отметить, что, в некоторых случаях, пользователь может пожелать, чтобы зарядка устройства продолжалась без выполнения каких-либо задержанных задач во время зарядки. Например, пользователь может знать, что длительность зарядки может оказаться слишком короткой для выполнения задержанных задач, или может нуждаться в том, чтобы батарея устройства зарядилась как можно быстрее, и, поэтому, может быть нежелательно, чтобы задачи отбирали зарядный ток. По существу, пользовательский интерфейс мобильного устройства 102 может указывать пользователю, когда задержанные задачи должны выполняться во время события зарядки. Пользовательский интерфейс может дополнительно обеспечивать переключатель блокировки автоматического управления (физический или виртуальный) или другой элемент пользовательского интерфейса (например, вопрос «не допустить выполнения задержанных задач?» («prevent deferred tasks?») или другой представляемый графический элемент пользовательского интерфейса), с которым пользователь может взаимодействовать для предотвращения выполнения одной или более допускающих задержку задач во время зарядки батареи 118 мобильного устройства 102.
III. ПРИМЕРНЫЕ ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯ КОМПЬЮТЕРНОГО УСТРОЙСТВА
Планировщик 116 задач, зарядный модуль 120, планировщик 300 задач, модуль 302 организации очереди задач, устройство 304 контроля заряда, модуль 306 включения обработки очереди, анализатор 602 события зарядки, модуль 704 пользовательского интерфейса, генератор 706 профиля зарядки, этап 502 и блок-схемы 200, 900 и 1000 последовательности операций способа могут быть реализованы аппаратными средствами, в программном обеспечении, микропрограммном обеспечении или любой их комбинации. Например, планировщик 116 задач, зарядный модуль 120, планировщик 300 задач, модуль 302 организации очереди задач, устройство 304 контроля заряда, модуль 306 включения обработки очереди, анализатор 602 события зарядки, модуль 704 пользовательского интерфейса, генератор 706 профиля зарядки, блок-схема 200 последовательности операций способа, этап 502, блок-схема 900 последовательности операций способа и/или блок-схема 1000 последовательности операций способа могут быть реализованы в виде кода компьютерной программы, сконфигурированного с возможностью исполнения в одном или более процессорах. В альтернативном варианте, планировщик 116 задач, зарядный модуль 120, планировщик 300 задач, модуль 302 организации очереди задач, устройство 304 контроля заряда, модуль 306 включения обработки очереди, анализатор 602 события зарядки, модуль 704 пользовательского интерфейса, генератор 706 профиля зарядки, блок-схема 200 последовательности операций способа, этап 502, блок-схема 900 последовательности операций способа и/или блок-схема 1000 последовательности операций способа могут быть реализованы в виде аппаратных логических/электрических схем. Например, в одном варианте осуществления одно или более из планировщика 116 задач, зарядного модуля 120, планировщика 300 задач, модуля 302 организации очереди задач, устройства 304 контроля заряда, модуля 306 включения обработки очереди, анализатора 602 события зарядки, модуля 704 пользовательского интерфейса, генератора 706 профиля зарядки, блок-схемы 200 последовательности операций способа, этапа 502, блок-схемы 900 последовательности операций способа и/или блок-схемы 1000 последовательности операций способа может быть реализовано в виде однокристальной системы (SoC). Система SoC может содержать интегральную микросхему, которая содержит одно или более из процессора (например, микроконтроллера, микропроцессора, цифрового сигнального процессора (DSP) и т.п.), памяти одного или более интерфейсов связи и/или дополнительных схем и/или встроенное микропрограммное обеспечение для выполнения функций системы.
На фиг. 11 показано примерное осуществление компьютера 1100, в котором могут быть реализованы варианты осуществления настоящего изобретения. Например, мобильное устройство 102 может быть реализовано в виде мобильной компьютерной системы, подобной компьютеру 1100, содержащей одну или более функциональную возможность компьютера 1100 и/или альтернативные функциональные возможности. Кроме того, сервер 104 может быть реализован в виде одной или более компьютерной системы, подобной компьютеру 1100. Компьютер 1100 может быть универсальным компьютерным устройством в форме, например, обычного персонального компьютера, мобильного компьютера или рабочей станции, или компьютер 1100 может быть специализированным компьютерным устройством. Описание компьютера 1100, приведенное в настоящей заявке, приведено для иллюстрации и не предполагает ограничения. Варианты осуществления настоящего изобретения могут быть реализованы в виде компьютерных систем дополнительных типов, которые должны быть известны специалистам в соответствующих областях техники.
Как показано на фиг. 11, компьютер 1100 содержит блок 1102 обработки, системную память 1104 и шину 1106, которая соединяет различные компоненты системы, в том числе, системную память 1104, с блоком 1102 обработки. Шина 1106 представляет собой одну или более из любых нескольких типов шинных структур, включая шину памяти или контроллер памяти, периферийную шину, ускоренный графический порт и процессорную или локальную шину, использующую любую из множества шинных архитектур. Системная память 1104 содержит постоянную память (ROM) 1108 и оперативную память (RAM) 1110. Базовая система 1112 ввода/вывода (BIOS) хранится в постоянной памяти (ROM) 1108.
Компьютер 1100 содержит также один или более из следующих накопителей: накопитель 1114 на жестких дисках для считывания с жесткого диска или записи на упомянутый диск, накопитель 1116 на магнитных дисках для считывания со съемного магнитного диска 1118 или для записи на упомянутый диск и накопитель 1120 на оптических дисках для считывания со съемного оптического диска 1122, например, постоянной памяти на компакт-диске (CD ROM), постоянной памяти на цифровом видеодиске (DVD ROM) или для записи на упомянутый диск или на другие оптические носители. Накопитель 1114 на жестких дисках, накопитель 1116 на магнитных дисках и накопитель 1120 на оптических дисках соединены с шиной 1106 интерфейсом 1124 накопителя на жестких дисках, интерфейсом 1126 накопителя на магнитных дисках и интерфейсом 1128 накопителя на оптических дисках, соответственно. Накопители и соответствующие им считываемые компьютером носители обеспечивают энергонезависимую память считываемых компьютером команд, структур данных, программных модулей и других данных для компьютера. Хотя в описании упомянуты жесткий диск, съемный магнитный диск и съемный оптический диск, для хранения данных можно применять считываемые компьютером носители для хранения данных других типов, например, карты флэш-памяти, цифровые видеодиски, блоки оперативной памяти (RAM), блоки постоянной памяти (ROM) и т.п.
На жестком диске, магнитном диске, оптическом диске, в постоянной памяти (ROM) или оперативной памяти (RAM) может храниться несколько программных модулей. Упомянутые программы содержат операционную систему 1130 одну или более прикладных программ 1132, другие программные модули 1134 и данные 1136 программ. Прикладные программы 1132 или программные модули 1134 могут содержать, например, логику компьютерной программы для реализации планировщика 116 задач, зарядного модуля 120, планировщика 300 задач, модуля 302 организации очереди задач, устройства 304 контроля заряда, модуля 306 включения обработки очереди, анализатора 602 события зарядки, модуля 704 пользовательского интерфейса, генератора 706 профиля зарядки, блок-схемы 200 последовательности операций способа, этапа 502, блок-схемы 900 и/или блок-схемы 1000 последовательности операций способа (содержащих любой этап блок-схем 200, 900 и 1000 последовательности операций способа) и/или дополнительных вариантов осуществления, описанных в настоящей заявке.
Пользователь может вводить команды и информацию в компьютер 1100 посредством таких устройств ввода, как клавиатура 1138 и указательное устройство 1140. Другие устройства ввода (не показанные) могут содержать микрофон, джойстик, игровой пульт, спутниковую тарелку, сканер и т.п. Упомянутые и другие устройства ввода часто подсоединены к блоку 1102 обработки через интерфейс 1142 последовательного порта, который соединен с шиной 1106, но могут быть подсоединены другими интерфейсами, например, параллельным портом, игровым портом или универсальной последовательной шиной (USB).
Устройство 1144 отображения также подсоединено к шине 1106 через интерфейс, например, видеоадаптер 1146. Кроме монитора, компьютер 1100 может содержать другие периферийные устройства вывода (не показанные), например, акустические системы и принтеры.
Компьютер 1100 подсоединен к сети 1148 (например, сети Internet) через адаптер или сетевой интерфейс 1150, модем 1152 или другое средство для установления связи по сети. Модем 1152, который может быть внутренним или внешним, соединен с шиной 1106 через интерфейс 1142 последовательного порта.
В контексте настоящей заявки, термины «носитель компьютерных программ», «считываемый компьютером носитель» и «считываемый компьютером носитель для хранения данных» служат для упоминания, в общем, таких носителей, как жесткий диск, соответствующий накопителю 1114 на жестких дисках, съемный магнитный диск 1118, съемный оптический диск 1122, а также другие носители, например, карты флэш-памяти, цифровые видеодиски, блоки оперативной памяти (RAM), блоки постоянной памяти (ROM) и т.п. Упомянутые считываемые компьютером носители для хранения данных отличаются от сред передачи данных и не перекрываются с упомянутыми средами (не содержат сред передачи данных). Среда передачи данных, обычно, реализует считываемые компьютером команды, структуры данных, программные модули или другие данные в виде модулированного сигнала данных, например, несущей. Термин «модулированный сигнал данных» означает сигнал, в котором одна или более из его характеристик, настроена или изменяется таким образом, чтобы кодировать информацию в сигнале. Например, и без ограничения, среды передачи данных содержат беспроводные среды, например, акустическую, радиочастотную (РЧ), инфракрасную и другие беспроводные среды. Варианты осуществления относятся также к упомянутым средам передачи данных.
Как отмечено выше, компьютерные программы и модули (содержащие прикладные программы 1132 и другие программные модули 1134) могут храниться на жестком диске, магнитном диске, оптическом диске, в постоянной памяти (ROM) или оперативной памяти (RAM). Упомянутые компьютерные программы может быть также приняты по сетевому интерфейсу 1150 или интерфейсу 1142 последовательного порта. Упомянутые компьютерные программы, при исполнении или загрузке приложением, дают компьютеру 1100 возможность реализовать функциональные возможности вариантов осуществления настоящего изобретения, описанные в настоящей заявке. Соответственно, упомянутые компьютерные программы представляют контроллеры компьютера 1100.
Изобретение относится также к компьютерным программным продуктам, содержащим программное обеспечение, хранящееся на любом носителе, используемом компьютером. Упомянутое программное обеспечение, при исполнении в одном или более устройствах обработки данных, обеспечивают такую работу устройств(а) обработки данных, которая описана в настоящей заявке. Варианты осуществления настоящего изобретения применяют любой носитель, используемый компьютером или считываемый компьютером, известный в настоящее время или предполагаемый в будущем. Примеры считываемых компьютером носителей содержат, но без ограничения, такие запоминающие устройства, как оперативная память (RAM), накопители на жестких дисках, гибкие диски, постоянная память на компакт-диске (CD ROM), постоянная память на цифровом видеодиске (DVD ROM), zip-диски, магнитные ленты, магнитные запоминающие устройства, оптические запоминающие устройства, микроэлектронные запоминающие устройства (MEM), запоминающие устройства на основе нанотехнологии и т.п.
VI. ЗАКЛЮЧЕНИЕ
Выше приведено описание различных вариантов осуществления настоящего изобретения, однако, следует понимать, что упомянутые варианты осуществления представлены только для примера, а не для ограничения. Специалистам в соответствующих областях техники будет понятно, что в настоящее изобретение можно вносить различные изменения по форме и в деталях, не выходящие за пределы существа и объема изобретения, определенных в прилагаемой формуле изобретения. Соответственно, широта и объем настоящего изобретения не должны ограничиваться ни одним из вышеописанных примерных вариантов осуществления, но подлежат определению только в соответствии с нижеприведенной формулой изобретения и ее эквивалентами.