УПРАВЛЕНИЕ ЭНЕРГОПОТРЕБЛЕНИЕМ ПОСРЕДСТВОМ ДИНАМИЧЕСКОГО РАЗДЕЛЕНИЯ ФУНКЦИОНАЛЬНОСТИ
ENERGY CONSUMPTION MANAGEMENT BY DYNAMIC FUNCTIONALITY PARTITIONING

УРОВЕНЬ ТЕХНИКИ
[0001] Микроэлектронные схемы продолжают реализовывать все более и более сложную функциональность. Во многих реализациях, специализированная микроэлектронная схема используется для того, чтобы формировать конкретную конфигурацию специализированных узлов-датчиков и первичных процессоров (например, датчиков, которые в беспроводном режиме (или через провода) соединены с одним или более процессоров). Тем не менее, окружающие условия могут приводить к тому, что конкретная конфигурация становится субоптимальной в ходе работы. Например, мощность и полоса пропускания линий связи, доступные для удаленных датчиков, могут отличаться (например, большая мощность, но меньшая полоса пропускания) в данном сценарии от мощности и полосы пропускания линий связи, предполагаемых в исходной конструкции. В связи с этим, система, включающая в себя такие удаленные датчики, может лучше работать в рабочем окружении, если функциональность между удаленными датчиками и подсистемой обработки данных лучше оптимизирована для доступной мощности, теплового окружения и характеристик связи (например, чтобы сокращать обработку данных в удаленных узлах-датчиках и увеличивать предварительную обработку данных в подсистеме обработки). Кроме того, эти факторы изменяются со временем, так что отсутствие статической конструкции позволяет справляться со всеми рабочими обстоятельствами. Существующие системы не предусматривают динамическое разделение функциональности между подсистемой обработки данных и одним или более удаленных датчиков.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0002] Реализации, описанные и требуемые в данном документе, разрешают вышеприведенные проблемы посредством предоставления системы, которая динамически разделяет или распределяет функциональность между различными удаленными узлами-датчиками и подсистемой обработки на основе аспектов управления энергопотреблением, таких как потребление мощности, энергопотребление, выработка тепла или выработка электроэнергии. Избыточная функциональность расположена в подсистеме обработки и в каждом из различных удаленных узлов-датчиков, и каждый узел-датчик координируется с подсистемой обработки для того, чтобы определять местоположение (например, в подсистеме обработки или в узле-датчике), в котором выполняется конкретная функциональность.
[0003] Это краткое изложение сущности изобретения предоставлено для представления в упрощенной форме подборки концепций, которые дополнительно описаны ниже в подробном описании. Данное краткое изложение сущности изобретения не имеет намерением ни то, чтобы идентифицировать ключевые признаки или важнейшие признаки заявленного изобретения, ни то, чтобы использоваться для ограничения объема заявленного изобретения.
[0004] Другие реализации также описаны и изложены в данном документе.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0005] Фиг.1 иллюстрирует примерную систему узлов-датчиков и подсистемы обработки с использованием динамического разделения функциональности.
[0006] Фиг.2 иллюстрирует примерный узел-датчик и примерную подсистему обработки, динамически разделяющие функциональность на основе условий управления энергопотреблением.
[0007] Фиг.3 иллюстрирует примерные этапы для динамического разделения функциональности с точки зрения узла-датчика.
[0008] Фиг.4 иллюстрирует примерные этапы для динамического разделения функциональности с точки зрения подсистемы обработки.
[0009] Фиг.5 иллюстрирует примерную систему, которая может быть пригодной при реализации описанной технологии.
[0010] Фиг.6 иллюстрирует другой примерный узел-датчик, который может быть пригодным при реализации описанной технологии.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[0011] В одном примерном окружении, несколько узлов-датчиков распределены по всему окружению, сообщая считываемые данные в подсистему обработки. Например, придорожные камеры могут быть распределены по центру города, передавая потоковое видео или статические изображения в центр регулирования движения для использования при мониторинге состояния потока транспортных средств и движения из пригорода в городе. Центр регулирования движения может использовать такую информацию трафика для того, чтобы регулировать частоты сигнала трафика, задействовать работников аварийно-спасательных служб и т.д. Центр регулирования движения также может предоставлять такую информацию трафика через веб-сайт регулирования движения или телевизионную широковещательную передачу. Тем не менее, следует понимать, что в рамках описанной технологии также могут использоваться другие типы узлов-датчиков и подсистем обработки, включающие в себя, без ограничения, камеры и микрофоны в окружении игровых приставок, химические детекторы в производственном окружении, микрофоны и камеры для съемки в инфракрасном диапазоне в окружении системы безопасности, датчики давления в насосной станции и т.д.
[0012] Реализация системы, раскрытая в данном документе, включает в себя несколько узлов-датчиков и подсистему обработки, которая обрабатывает данные датчиков из узлов-датчиков. Такие системы могут быть сконфигурированы с возможностью распределять узлы-датчики для множества условий удаленного управления энергопотреблением, которые могут оказывать влияние на способ, которым работает каждый узел-датчик. В примерной реализации, в которой узлы-датчики и/или подсистема обработки работают с варьирующимися условиями управления энергопотреблением, функциональные характеристики узлов-датчиков и/или подсистемы обработки могут ухудшаться или улучшаться посредством этих факторов. Примерные условия управления энергопотреблением могут включать в себя, без ограничения, потребление мощности, энергопотребление, выработку тепла или выработку электроэнергии. Следует понимать, что энергия может включать в себя электрическую энергию, тепловую энергию, акустическую энергию, движущую энергию и другие типы энергии. Например, конкретное условие управления энергопотреблением может означать величину энергии (например, в ватт-часах), доступную для того, чтобы питать модули датчиков.
[0013] Чтобы учитывать эту изменчивость рабочих характеристик, вызываемую факторами управления энергопотреблением, узел-датчик может варьировать объем предварительной обработки, которую он выполняет для данных датчиков, до передачи данных датчиков в подсистему обработки, и/или подсистема обработки может варьировать объем предварительной обработки, которую она выполняет для принимаемых данных датчиков, до передачи данных датчиков в собственный CPU. В одной реализации, как узлы-датчики, так и подсистема обработки используют дополнительную функциональность предварительной обработки, которая может динамически распределяться между подсистемой обработки и отдельными узлами-датчиками. В зависимости от доступных условий управления энергопотреблением, система может выбирать выполнение большего или меньшего объема предварительной обработки данных датчиков в самих узлах-датчиках, за счет этого регулируя потребление мощности, энергопотребление, обнаружение энергии, выработку тепла, выработку электроэнергии и т.д. в любой момент времени.
[0014] Фиг.1 иллюстрирует примерную систему 100 из узлов-датчиков (например, придорожных камер 102) и подсистемы обработки (например, подсистемы 104 мониторинга автомобильного трафика) с использованием динамического разделения функциональности. На фиг.1, система 100 проиллюстрирована и описана относительно системы мониторинга трафика, хотя такие системы могут использоваться в других вариантах применения, включающих в себя мониторинг состояния безопасности, мониторинг химической обработки, мониторинг погоды, проведение игр, медицинское лечение и т.д.
[0015] В проиллюстрированном примере, подсистема 104 мониторинга автомобильного трафика работает с возможностью принимать и обрабатывать данные датчиков, принятые из различных придорожных камер 102. Канал связи (проиллюстрированный посредством беспроводного соединения 106) может быть проводным (включающим в себя передачу цифровых или аналоговых служебных сигналов) или беспроводным (включающим в себя передачу радиочастотных или оптических служебных сигналов), в зависимости от потребностей системы. В некоторых реализациях, канал связи для одного узла-датчика может быть беспроводным, тогда как канал связи для другого узла-датчика может быть проводным. Соответственно, динамическое разделение для любого отдельного узла-датчика может быть независимым от динамического разделения для другого отдельного узла-датчика. Тем не менее, этот признак не исключает взаимодействие между или в числе отдельных узлов-датчиков, как подробнее описано ниже.
[0016] Хотя подсистема 104 мониторинга автомобильного трафика и придорожные камеры 102 могут реализовываться посредством дискретных компонентов, технология, которая может способствовать динамическому разделению функциональности, упоминается в качестве внутрикристальной системы (SOC), в которой большинство или все компоненты узла-датчика интегрированы в интегральную схему (IC), которая может содержать, без ограничения, цифровые, аналоговые, цифро-аналоговые, оптические, радиочастотные, центральные процессоры, препроцессоры и компоненты запоминающего устройства. Посредством интеграции таких сенсорных компонентов с отдельными препроцессорами (например, акселераторами для предварительной обработки изображений и видео, речевыми/аудио-препроцессорами, процессорами цифровых сигналов (DSP), средствами мониторинга (мониторами) связи, мониторами мощности, детекторами движения и т.д.) и другими компонентами, отдельный узел-датчик может предоставлять широкий выбор функциональности, которая, в зависимости от контекста управления энергопотреблением, может выполняться посредством узла-датчика или выгружаться в подсистему 104 мониторинга автомобильного трафика. Описанная технология может динамически регулировать распределение такой функциональности между и в числе таких устройств.
[0017] В одном примере, придорожные камеры 102 выполняют мониторинг автомобильного трафика в центре города и передачу видеоданных обратно в подсистему 104 мониторинга автомобильного трафика для анализа диспетчерами дорожного движения, работниками служб телевизионных и радионовостей и т.д. Условия управления энергопотреблением для подсистемы 104 мониторинга автомобильного трафика и различных придорожных камер 102 могут значительно отличаться. Например, придорожная камера, расположенная в тени на одном перекрестке, может работать лучше другой придорожной камеры, расположенной на жарком полуденном солнце. Аналогично, придорожная камера с аккумуляторным питанием может работать по-другому (чтобы экономить мощность) относительно придорожной камеры, которая подключается к городской электросети. Эти факторы управления энергопотреблением могут учитываться посредством динамического разделения различных функций предварительной обработки в узле-датчике, включающих в себя сжатие, подавление шумов, сглаживание, пространственную нормализацию и т.д., с тем, чтобы повышать либо понижать потребляемую мощность или выработку тепла отдельного узла-датчика в любой конкретный момент времени. Аналогично, факторы управления энергопотреблением также могут оказывать влияние на динамическое разделение различных функций предварительной обработки в подсистеме обработки. Например, если подсистема обработки имеет форму мобильного компьютера, она может распределять определенную функциональность предварительной обработки для придорожной камеры до тех пор, пока он питается от аккумулятора, и восстанавливать эту функциональность предварительной обработки, как только он снова подключен к электросети.
[0018] В качестве дополнительной иллюстрации допустим, что придорожные камеры 108, 110, 112 и 114 распределены на различных перекрестках в центре города. Каждая придорожная камера первоначально сконфигурирована с возможностью передавать видео в подсистему 104 мониторинга автомобильного трафика в сжатом формате. Если придорожная камера 108 обнаруживает разряженный аккумулятор, пониженную потребляемую мощность, режим избыточной температуры или другие проблемы управления энергопотреблением, придорожная камера 108 может деактивировать один или более из своих акселераторов предварительной обработки, которые сжимают видеопоток, с тем чтобы уменьшать свое потребление мощности, выработку тепла и т.д. Примеры сжатия могут включать в себя сжатие без потерь, сжатие с потерями, пространственное сжатие изображений, временную компенсацию движения и т.д. В таком модифицированном рабочем режиме, придорожная камера 108 передает необработанные видеоданные, а не сжатые видеоданные, в подсистему 104 мониторинга автомобильного трафика, так что форматирование при сжатии выполняется посредством блока предварительной обработки в подсистеме 104 мониторинга автомобильного трафика, а не в придорожной камере 108.
[0019] Например, придорожная камера 108 может быть расположена на оживленном перекрестке. В ответ на обнаружение надежного источника питания и/или низких рабочих температур, придорожная камера 108 может выполнять подавление шумов, чтобы использовать преимущество хороших условий управления энергопотреблением. Напротив, придорожная камера 110 может обнаруживать слабый заряд аккумулятора и/или чрезмерную температуру (например, камера расположена в горячем, солнечном местоположении), оба из которых могут ухудшать работу придорожной камеры. В связи с этим, придорожная камера 110 может динамически деактивировать все свои препроцессоры, чтобы смягчать свои требования по потреблению мощности, выработке тепла и другие требования по управлению энергопотреблением до тех пор, пока не улучшатся условия (например, перезаряжен аккумулятор, либо падает рабочая температура). Другие факторы, которые могут рассматриваться посредством каждой придорожной камеры, могут включать в себя, без ограничения, время суток, дату, доступную полосу пропускания, параметры, указываемые посредством подсистемы 104 мониторинга автомобильного трафика, и т.д. В этом контексте, отдельные придорожные камеры могут динамически выбирать из нескольких препроцессоров на индивидуальной основе, в зависимости от контента изображений, доступной полосы пропускания, доступной мощности, доступной энергии, вырабатываемой энергии и других факторов, идентифицированных посредством каждой придорожной камеры.
[0020] Дополнительно, если определенная функциональность опускается (через динамическое разделение) в узле-датчике, функциональность может предоставляться посредством дополнительного препроцессора в подсистеме 104 мониторинга автомобильного трафика. Например, если придорожная камера 108 опускает функцию подавления шумов из своей предварительной обработки захваченного видео, как следствие, подсистема 104 мониторинга автомобильного трафика может активировать препроцессор подавления шумов на своей стороне канала связи, чтобы повышать качество видео. В одной реализации, подсистема 104 мониторинга автомобильного трафика и отдельные придорожные камеры поддерживают связь относительно предварительной обработки, которую может предоставлять (или запрашивается на предмет предоставления) каждая придорожная камера и подсистема 104 мониторинга автомобильного трафика или. Например, подсистема 104 мониторинга автомобильного трафика может обнаруживать то, что она более не питается от аккумулятора, а вместо этого подключается к городской электросети. Соответственно, подсистема 104 мониторинга автомобильного трафика может передавать в служебных сигналах в одну или более придорожных камер 102 необходимость деактивировать один или более из своих препроцессоров с выгрузкой функциональности в подсистему 104 мониторинга автомобильного трафика. Рассматриваются множество других примеров взаимодействия между подсистемой 104 мониторинга автомобильного трафика и отдельными придорожными камерами.
[0021] Также следует понимать, что реализации текущей описанной технологии могут включать в себя взаимодействие в форме связи между несколькими узлами-датчиками независимо от того, организована она между или в числе равноправных узлов-датчиков, либо через связь с подсистемой обработки. В одной реализации, если два узла-датчика перекрываются в отношении покрытия считывания, к примеру, две камеры, имеющие области захвата изображений, которые перекрываются, узлы-датчики могут разделять определенную функциональность с подсистемой обработки по-другому на основе этих сведений. Например, если придорожная камера 108 и придорожная камера 114 охватывают один перекресток с немного различных перспектив, и придорожная камера 108 имеет более надежный источник питания и/или более прохладное рабочее окружение, чем придорожная камера 114, то придорожная камера 108 может отправлять необработанные видеоданные в систему 104 мониторинга автомобильного трафика, в то время как придорожная камера 114 активирует свой встроенный препроцессор сжатия без потерь, свой препроцессор подавления шумов и свой препроцессор временной компенсации движения, чтобы использовать преимущество выгодных условий управления энергопотреблением. В этом сценарии, координация перекрывающихся камер дает возможность принятия решений по динамическому разделению функциональности совместно для нескольких узлов-датчиков.
[0022] Фиг.2 иллюстрирует примерный узел-датчик 200 и примерную подсистему 202 обработки, динамически разделяющие функциональность на основе условий управления энергопотреблением. Подсистема 202 обработки сконфигурирована с возможностью принимать поток данных датчиков (например, видеоданных) из узла-датчика 200 и обрабатывать его для широковещательной передачи, хранения, редактирования и т.д. Подсистема 202 обработки включает в себя процессор 204 (например, CPU), отвечающий за первичные операции обработки подсистемы 202 обработки. Подсистема 202 обработки также включает в себя интерфейс 206 связи для обмена данными с узлом-датчиком 200 и потенциально с другими узлами-датчиками в сенсорной сети. Интерфейс 206 связи принимает и отправляет данные из/в узел-датчик 200 через канал 208 связи. Как пояснено выше, канал 208 связи может быть проводным или беспроводным, в зависимости от конфигурации отдельного узла. Дополнительно, канал 208 связи может реализовываться через выделенный или совместно используемый канал связи (например, проводной или оптический сигнал) либо через комплексную логическую сеть, такую как Интернет.
[0023] Подсистема 202 обработки также включает в себя средство управления (контроллер) 210 разделением, который взаимодействует с узлом-датчиком 200 и данными датчиков, которые подсистема 202 обработки принимает, чтобы согласовывать надлежащее динамическое разделение функциональности между подсистемой 202 обработки и контроллером 222 разделения узла-датчика 200. Дополнительно, подсистема 202 обработки включает в себя несколько блоков предварительной обработки (например, блок A 212 предварительной обработки, блок B 214 предварительной обработки и блок C 216 предварительной обработки), которые выбираются с возможностью предварительно обрабатывать принятые данные датчиков до их передачи в процессор 204. Например, если подсистема 202 обработки принимает необработанные видеоданные из узла-датчика 200, блок A 212 предварительной обработки может сжимать необработанные видеоданные согласно стандарту H.264 до передачи сжатых данных датчиков в процессор 204 для обработки.
[0024] Блоки предварительной обработки и другие функциональные блоки могут состоять из схемы и потенциально программного обеспечения/микропрограммного обеспечения, чтобы реализовывать конкретную операцию предварительной обработки. В некоторых случаях, блок предварительной обработки может включать в себя схему в форме дискретного или интегрированного акселератора, чтобы давать возможность процессору или сенсорной подсистеме разгружать определенные операции обработки на отдельный компонент обработки. Примерные блоки предварительной обработки могут включать в себя, без ограничения, графический акселератор, акселератор сжатия, процессор подавления шумов и т.д. В одной реализации, сенсорная подсистема и один или более препроцессоров интегрированы в SOC, которая также может включать в себя интерфейс связи, контроллер разделения и другие интегрированные компоненты.
[0025] В одной реализации, подсистема 202 обработки также включает в себя блок 230 монитора мощности и/или блок 232 монитора температуры. Могут использоваться другие блоки мониторинга энергопотребления. Блок 230 мониторинга мощности отслеживает мощность, предоставляемую в подсистему 202 обработки и/или в один или более ее компонентов. Если доступная мощность не может удовлетворять приемлемому рабочему диапазону (например, связанному с общим оставшимся зарядом аккумулятора или потребляемым током) либо представляет собой менее желательное состояние (например, аккумуляторное питание вместо питания от электросети), блок 230 монитора мощности может передавать в служебных сигналах в контроллер 210 разделения необходимость изменять функциональное разделение между подсистемой 202 обработки и одним или более узлов-датчиков, с которыми она обменивается данными, так что подсистема 202 обработки может смягчать свои требования по мощности. Например, если общий оставшийся заряд аккумулятора опускается ниже 25% от полного заряда, блок 230 монитора мощности может передавать в служебных сигналах в контроллер 210 разделения необходимость проталкивать часть функциональности препроцессора в отдельные узлы-датчики, вместо предоставления этой функциональности в подсистеме 202 обработки. Напротив, в лучшем режиме электропитания (например, подсистема 202 обработки подключается к электросети), блок 230 монитора мощности может передавать в служебных сигналах в контроллер 210 разделения необходимость извлекать определенную функциональность препроцессора из одного или более узлов-датчиков (например, через деактивацию одного или более препроцессоров узлов-датчиков) таким образом, что подсистема 202 обработки может предоставлять эту функциональность (например, через активацию своих соответствующих препроцессоров).
[0026] Блок 232 монитора температуры отслеживает рабочую температуру подсистемы 202 обработки и/или одного или более ее компонентов. Если отслеживаемые температуры не могут удовлетворять приемлемому рабочему диапазону (например, с приближением или превышением известного температурного предела для подсистемы обработки или компонентов), блок 232 монитора температуры может передавать в служебных сигналах в контроллер 210 разделения необходимость изменять функциональное разделение между подсистемой 202 обработки и одним или более узлами-датчиками, с которыми она обменивается данными, так что подсистема 202 обработки может уменьшать свою выработку тепла для того, чтобы возвращаться в более приемлемый температурный режим работы. Например, если отслеживаемая температура подсистемы 202 обработки приближается или превышает известный предел в 200 F, блок 232 монитора температуры может передавать в служебных сигналах в контроллер 210 разделения необходимость проталкивать часть функциональности препроцессора в отдельные узлы-датчики, вместо предоставления этой функциональности в подсистеме 202 обработки. Напротив, в лучшем тепловом режиме (например, при работе подсистеме 202 обработки при более низкой температуре), блок 232 монитора температуры может передавать в служебных сигналах в контроллер 210 разделения необходимость извлекать определенную функциональность препроцессора из одного или более узлов-датчиков (например, через деактивацию одного или более препроцессоров узлов-датчиков) таким образом, что подсистема 202 обработки может предоставлять эту функциональность (например, через активацию своих соответствующих препроцессоров).
[0027] Узел-датчик 200 сконфигурирован с возможностью считывать данные в своем окружении, к примеру, видеоданные в качестве камеры, аудиоданные в качестве микрофона, температурные данные в качестве термопары и т.д. Узел-датчик 200 содержит сенсорную подсистему 218, которая может включать в себя интегрированный интерфейс с дискретным датчиком (например, для камеры) либо может включать в себя интегрированную комбинацию датчика и сенсорного интерфейса (например, для фотодиода). Данные датчиков, обнаруженные посредством сенсорной подсистемы 218, могут передаваться непосредственно в процессорную подсистему 202 через интерфейс 220 связи и канал 208 связи без предварительной обработки либо через один или более препроцессоров до передачи в подсистему 202 обработки через интерфейс 220 связи и канал 208 связи.
[0028] Узел-датчик 200 включает в себя несколько блоков предварительной обработки (например, блок A 224 предварительной обработки, блок B 226 предварительной обработки и блок X 228 предварительной обработки). Следует отметить, что два блока предварительной обработки в узле-датчике 200 имеют соответствующие эквиваленты в подсистеме 202 обработки (т.е. блок A 212 предварительной обработки и блок B 214 предварительной обработки), а один из блоков предварительной обработки является уникальным для узла-датчика 200 (т.е. блок X 228 предварительной обработки), хотя другие узлы-датчики также могут иметь собственные блоки X предварительной обработки. Аналогично, блок C 216 предварительной обработки в подсистеме 202 обработки является уникальным для этой подсистемы. Как пояснено выше, узел-датчик 200 также включает в себя контроллер 222 разделения.
[0029] В одной реализации, узел-датчик 200 также включает в себя блок 234 монитора мощности и/или блок 236 монитора температуры. Также могут использоваться другие блоки мониторинга энергопотребления. Блок 232 мониторинга мощности отслеживает мощность, предоставляемую в узел-датчик 200 и/или в один или более его компонентов. Если доступная мощность не может удовлетворять приемлемому рабочему диапазону (например, связанному с общим оставшимся зарядом аккумулятора или потребляемым током) либо представляет собой менее желательное состояние (например, аккумуляторное питание вместо питания от электросети), блок 234 монитора мощности может передавать в служебных сигналах в контроллер 222 разделения необходимость изменять функциональное разделение между узлом-датчиком 200 и подсистемой 202 обработки, с которой он обменивается данными, так что узел-датчик 200 может смягчать свои требования по мощности. Например, если общий оставшийся заряд аккумулятора опускается ниже 25% от полного заряда, блок 234 монитора мощности может передавать в служебных сигналах в контроллер 222 разделения необходимость проталкивать часть функциональности препроцессора в подсистему 202 обработки, вместо предоставления этой функциональности в узле-датчике 200. Напротив, в лучшем режиме электропитания (например, узел-датчик 200 подключается к электросети), блок 234 монитора мощности может передавать в служебных сигналах в контроллер 222 разделения необходимость извлекать определенную функциональность препроцессора из подсистемы 202 обработки (например, через деактивацию одного или более препроцессоров подсистемы обработки) таким образом, что узел-датчик 200 может предоставлять эту функциональность (например, через активацию своих соответствующих препроцессоров).
[0030] Блок 236 монитора температуры отслеживает рабочую температуру узла-датчика 200 и/или одного или более его компонентов. Если отслеживаемые температуры не могут удовлетворять приемлемому рабочему диапазону (например, с приближением или превышением известного температурного предела для подсистемы обработки или компонентов), блок 236 монитора температуры может передавать в служебных сигналах в контроллер 222 разделения необходимость изменять функциональное разделение между узлом-датчиком 200 и подсистемой 202 обработки, с которой он обменивается данными, так что узел-датчик 200 может уменьшать свою выработку тепла, чтобы возвращаться в более приемлемый температурный режим работы. Например, если отслеживаемая температура узла-датчика 200 приближается или превышает известный предел в 200 F, блок 236 монитора температуры может передавать в служебных сигналах в контроллер 222 разделения необходимость проталкивать часть функциональности препроцессора в подсистему 202 обработки, вместо предоставления этой функциональности в узле-датчике 200. Напротив, в лучшем тепловом режиме (например, при работе узла-датчика 200 при более низкой температуре), блок 236 монитора температуры может передавать в служебных сигналах в контроллер 222 разделения необходимость извлекать определенную функциональность препроцессора из подсистемы 202 обработки (например, через деактивацию одного или более препроцессоров подсистемы обработки) таким образом, что узел-датчик 200 может предоставлять эту функциональность (например, через активацию своих соответствующих препроцессоров).
[0031] Следует понимать, что другие мониторы могут использоваться как в узле-датчике 200, так и в подсистеме 202 обработки. Например, может использоваться монитор выработки электроэнергии (например, чтобы обнаруживать акустическую энергию, сформированную посредством узла-датчика или подсистемы обработки), монитор энергопотребления (например, чтобы обнаруживать энергию, потребляемую посредством узла-датчика или подсистемы обработки из аккумулятора), либо монитор обнаружения энергии (например, чтобы обнаруживать солнечный свет, принимаемый посредством узла-датчика или подсистемы обработки).
[0032] Следует понимать, что однозначное соответствие в препроцессорах, как показано на фиг.2, является только примером конфигураций предварительной обработки, доступных для подсистем обработки и узлов-датчиков. Хотя некоторые препроцессоры в узле-датчике могут предоставлять функциональность, идентичную функциональности некоторых препроцессоров в подсистеме обработки, также могут быть предусмотрены препроцессоры в узле-датчике, которые являются уникальными для узла-датчика по сравнению с подсистемой обработки, и наоборот. Дополнительно, функциональность определенных препроцессоров в узле-датчике может перекрываться с функциональностью определенного препроцессора в процессорной подсистеме, и наоборот. Например, препроцессор в процессорной подсистеме может предоставлять функциональность двух препроцессоров либо двух с половиной препроцессоров в узле-датчике, или наоборот.
[0033] Фиг.3 иллюстрирует этапы 300 для динамического разделения функциональности с точки зрения узла-датчика. На этапе 302 связи инициируют связь с подсистемой обработки. Как пояснено выше, эта связь может быть выполнена через множество каналов связи. На этапе 304 мониторинга отслеживают условия управления энергопотреблением узла-датчика. Если условия управления энергопотреблением узла-датчика являются приемлемыми (например, в пределах определенных приемлемых рабочих диапазонов или в приемлемом заданном состоянии для текущего разделения функциональности, к примеру, с питанием от электросети) для текущего режима работы узла-датчика и подсистемы обработки, существующее разделение функциональности поддерживается между узлом-датчиком и подсистемой обработки посредством этапа 306, и связь продолжается.
[0034] Условия управления энергопотреблением узла-датчика периодически оцениваются заново посредством этапа 304 мониторинга. Если условия управления энергопотреблением узла-датчика становятся неадекватными (например, падение ниже заданного порогового значения потребляемой мощности или заданного порогового значения оставшегося заряда и/или превышение заданного порогового значения температуры) для текущего режима работы узла-датчика и подсистемы обработки, на этапе 308 конфигурирования перераспределяют функциональность между узлом-датчиком и подсистемой обработки (например, чтобы заново разделять всю функциональность системы). В ответ на этап 308 конфигурирования, на этап 310 разделения заново активируют или деактивируют выбранные препроцессоры в узле-датчике в соответствии с новым разделением функциональности. На этапе 312 связи продолжают обмен данными датчиков между узлом-датчиком и подсистемой обработки согласно новому разделению функциональности, и новые условия управления энергопотреблением узла-датчика периодически оцениваются заново посредством этапа 304 мониторинга связи. После каждого этапа 310 разделения заново, поток данных датчиков каким-либо образом изменяется (например, на другой тип или уровень сжатия, на другой уровень подавления шумов и т.д.). В одной перспективе, завершается исходный поток данных датчиков, и начинается второй поток данных датчиков.
[0035] Например, если улучшаются условия управления энергопотреблением узла-датчика, с обеспечением дополнительной энергии или более низких рабочих температур, узел-датчик может выбирать отправку сжатых и очищенных видеоданных в подсистему обработки, чтобы использовать преимущество дополнительной энергии или более прохладного рабочего режима. В таком случае, подсистеме обработки может инструктироваться (или она может автоматически) пропускать сжатие и очистку принимаемых данных датчиков (которое может выполняться посредством одного из ее блоков препроцессора). Напротив, если ухудшаются условия управления энергопотреблением узла-датчика, так что дополнительно ограничивается или снижается производительность узла-датчика, узел-датчик может выбирать отправку только необработанных видеоданных, чтобы учитывать более жесткие условия управления энергопотреблением. Их учет может взаимно согласовываться между узлом-датчиком и подсистемой обработки либо просто обуславливаться посредством инструкции от одного или другого элемента. Соответственно, новое разделение функциональности регулирует условия управления энергопотреблением узла-датчика и/или использование между узлом-датчиком и подсистемой обработки.
[0036] Фиг.4 иллюстрирует этапы 400 для динамического разделения функциональности с точки зрения подсистемы обработки. На этапе 402 связи инициируют связь с узлом-датчиком. Как пояснено выше, эта связь может быть выполнена через множество каналов связи. На этапе 404 мониторинга отслеживают условия управления энергопотреблением подсистемы обработки. Если условия управления энергопотреблением подсистемы обработки являются приемлемыми (например, в пределах определенных приемлемых рабочих диапазонов или в приемлемом заданном состоянии для текущего разделения функциональности, к примеру, с питанием от электросети) для текущего режима работы подсистемы обработки и узла-датчика, существующее разделение функциональности поддерживается между подсистемой обработки и узлом-датчиком посредством этапа 406, и связь продолжается.
[0037] Условия управления энергопотреблением подсистемы обработки периодически оцениваются заново посредством этапа 404 мониторинга. Если условия управления энергопотреблением подсистемы обработки становятся неадекватными (например, падение ниже заданного порогового значения потребляемой мощности или заданного порогового значения оставшегося заряда и/или превышение заданного порогового значения температуры) для текущего режима работы подсистемы обработки и узла-датчика, на этапе 408 конфигурирования перераспределяют функциональность между подсистемой обработки и узлом-датчиком (например, чтобы заново разделять всю функциональность системы). В ответ на этап 408 конфигурирования, на этапе 410 разделения заново активируют или деактивируют выбранные препроцессоры в подсистеме обработки в соответствии с новым разделением функциональности. На этапе 412 связи продолжают обмен данными датчиков между подсистемой обработки и узлом-датчиком согласно новому разделению функциональности, и новые условия управления энергопотреблением подсистемы обработки периодически оцениваются заново посредством этапа 404 мониторинга связи. После каждого этапа 410 разделения заново, поток данных датчиков каким-либо образом изменяется (например, на другой тип или уровень сжатия, на другой уровень подавления шумов и т.д.). В одной перспективе, завершается исходный поток данных датчиков, и начинается второй поток данных датчиков.
[0038] Например, если улучшаются условия управления энергопотреблением подсистемы обработки, с обеспечением дополнительной мощности или более низких рабочих температур, подсистема обработки может инструктировать узлу-датчику отправлять распакованные данные датчиков, так что процессорная подсистема может использовать преимущество своих улучшенных условий управления энергопотреблением и самостоятельно выполнять предварительную обработку. В таком случае, узлу-датчику может инструктироваться (или он может автоматически) деактивировать сжатие обнаруженных данных датчиков на основе одного из своих блоков препроцессора. Напротив, если ухудшаются условия управления энергопотреблением, так что дополнительно ограничивается или снижается производительность подсистемы обработки, подсистема обработки может инструктировать узлу-датчику отправлять меньшее число кадров в секунду либо выполнять пространственное сжатие изображений или временную компенсацию движения через один из препроцессоров узла-датчика, чтобы учитывать более жесткие условия управления энергопотреблением. Их учет может взаимно согласовываться между подсистемой обработки и узлом-датчиком либо просто обуславливаться посредством инструкции от одного или другого элемента. Соответственно, новое разделение функциональности регулирует требования по связи и/или использование между подсистемой обработки и узлом-датчиком.
[0039] Фиг.5 иллюстрирует примерную систему, которая может быть полезной при реализации описанной технологии. Примерное аппаратное и рабочее окружение по фиг.5 для реализации описанной технологии включает в себя вычислительное устройство, к примеру, вычислительное устройство общего назначения в форме игровой приставки или компьютера 20, мобильного телефона, персонального цифрового устройства (PDA), абонентской приставки, или другой тип вычислительного устройства. Одна или более частей примерной системы могут реализовываться в форме внутрикристальной системы (SOC). В реализации по фиг.5, например, компьютер 20 включает в себя процессор 21, системное запоминающее устройство 22 и системную шину 23, которая функционально соединяет различные системные компоненты, включающие в себя системное запоминающее устройство, с процессором 21. Может быть предусмотрен только один либо может быть предусмотрено несколько процессоров 21, так что процессор компьютера 20 содержит один центральный процессор (CPU) или множество процессоров, обычно называемых "окружением параллельной обработки". Компьютер 20 может представлять собой традиционный компьютер, распределенный компьютер или любой другой тип компьютера; изобретение не ограничено этим.
[0040] Системная шина 23 может представлять собой любой из нескольких типов шинных структур, включающих в себя шину запоминающего устройства или контроллер запоминающего устройства, периферийную шину, коммутационную матрицу, соединения "точка-точка" и локальную шину, с использованием любой из множества шинных архитектур. Системное запоминающее устройство также может упоминаться просто в качестве запоминающего устройства и включает в себя постоянное запоминающее устройство 24 (ROM) и оперативное запоминающее устройство 25 (RAM). Базовая система 26 ввода-вывода (BIOS), содержащая базовые процедуры, которые помогают передавать информацию между элементами в компьютере 20, к примеру, во время запуска, сохраняется в ROM 24. Компьютер 20 дополнительно включает в себя накопитель 27 на жестких дисках для считывания и записи на жесткий диск (не показан), накопитель 28 на магнитных дисках для считывания или записи на съемный магнитный диск 29 и накопитель 30 на оптических дисках для считывания или записи на съемный оптический диск 31, к примеру, CD-ROM, DVD или другие оптические носители.
[0041] Накопитель 27 на жестких дисках, накопитель 28 на магнитных дисках и накопитель 30 на оптических дисках подключены к системной шине 23 посредством интерфейса 32 накопителя на жестких дисках, интерфейса 33 накопителя на магнитных дисках и интерфейса 34 накопителя на оптических дисках, соответственно. Накопители и их ассоциированные машиночитаемые носители предоставляют энергонезависимое хранение машиночитаемых инструкций, структур данных, программных модулей и других данных для компьютера 20. Специалисты в данной области техники должны принимать во внимание, что любой тип машиночитаемых носителей, которые могут сохранять данные, которые являются доступными посредством компьютера, таких как магнитные кассеты, карты флэш-памяти, цифровые видеодиски, оперативные запоминающие устройства (RAM), постоянные запоминающие устройства (ROM) и т.п., может использоваться в примерном операционном окружении.
[0042] Определенное число программных модулей может сохраняться на жестком диске, магнитном диске 29, оптическом диске 31, в ROM 24 или RAM 25, в том числе операционная система 35, одна или более прикладных программ 36, другие программные модули 37 и программные данные 38. Пользователь может вводить команды и информацию в персональный компьютер 20 через устройства ввода, такие как клавиатура 40 и указательное устройство 42. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровой планшет, детектор жестов, сенсорный экран, спутниковую антенну, сканер и т.п. Эти и другие устройства ввода зачастую подключаются к процессору 21 через интерфейс 46 последовательного порта, который соединен с системной шиной, но могут подключаться посредством других интерфейсов, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB). Монитор 47 или другой тип устройства отображения также подключается к системной шине 23 посредством такого интерфейса, как видеоадаптер 48. Помимо монитора, компьютеры типично включают в себя другие периферийные устройства вывода (не показаны), такие как динамики и принтеры.
[0043] Компьютер 20 может работать в сетевом окружении с использованием логических соединений с одним или более удаленных компьютеров, к примеру, с удаленным компьютером 49. Эти логические соединения осуществляются посредством устройства связи, соединенного или представляющего собой часть компьютера 20; изобретение не ограничено конкретным типом устройства связи. Удаленный компьютер 49 может представлять собой другой компьютер, сервер, маршрутизатор, сетевой PC, клиент, равноправное устройство или другой общий сетевой узел и типично включает в себя многие или все из элементов, описанных выше относительно компьютера 20, хотя только запоминающее устройство 50 проиллюстрировано на фиг.5. Логические соединения, проиллюстрированные на фиг.5, включают в себя локальную вычислительную сеть 51 (LAN) и глобальную вычислительную сеть 52 (WAN). Такие сетевые окружения широко распространены в офисных сетях, корпоративных компьютерных сетях, сетях intranet и в Интернете, которые представляют собой все типы сетей.
[0044] При использовании в сетевом LAN-окружении, компьютер 20 подключается к локальной сети 51 через сетевой интерфейс или адаптер 53, который представляет собой один тип устройства связи. При использовании в сетевом WAN-окружении, компьютер 20 типично включает в себя модем 54, сетевой адаптер, тип устройства связи или любой другой тип устройства связи для установления связи по глобальной вычислительной сети 52. Модем 54, который может быть внутренним или внешним, подключается к системной шине 23 через интерфейс 46 последовательного порта. В сетевом окружении, программные механизмы, проиллюстрированные относительно персонального компьютера 20 или его частей, может сохраняться в удаленном запоминающем устройстве. Следует принимать во внимание, что показанные сетевые соединения являются примерными, и могут использоваться другие средства и устройства связи для установления линии связи между компьютерами.
[0045] В примерной реализации, программные или микропрограммные инструкции для управления схемой сенсорной подсистемы, препроцессорной схемой, интерфейсом связи, контроллером разделения, монитором мощности, монитором температуры, монитором энергопотребления и другими аппаратными/программными блоками, сохраняются в запоминающем устройстве 22 и/или устройствах 29 или 31 хранения данных и обрабатываются посредством процессора 21. Данные датчиков, обнаруженные параметры условий управления энергопотреблением и другие данные могут сохраняться в запоминающем устройстве 22 и/или на устройствах 29 или 31 хранения данных в качестве постоянных хранилищ данных.
[0046] Фиг.6 иллюстрирует другой примерный узел-датчик (помеченный как мобильный датчик 600), который может быть полезным при реализации описанной технологии. Мобильный датчик 600 включает в себя процессор 602, запоминающее устройство 604, дисплей 606 (например, дисплей с сенсорным экраном) и другие интерфейсы 608 (например, клавиатуру, камеру, микрофон и т.д.), хотя узлы-датчики могут иметь большее или меньшее число компонентов. Например, датчик мониторинга выбросов может быть размещен в вентиляционном отверстии для промышленных выбросов и в силу этого не иметь потребности в интерфейсах пользовательского ввода и вывода. Запоминающее устройство 604, в общем, включает в себя как энергозависимое запоминающее устройство (например, RAM), так и энергонезависимое запоминающее устройство (например, флэш-память). Операционная система 610, к примеру, операционная система Microsoft Windows Phone 8, может постоянно размещаться в запоминающем устройстве 604 и выполняется посредством процессора 602, хотя следует понимать, что могут использоваться другие операционные системы.
[0047] Одна или более прикладных программ 612 могут загружаться в запоминающее устройство 604 и выполняться в операционной системе 610 посредством процессора 602. Примеры прикладных программ 612 включают в себя, без ограничения, приложения для использования с одним или более блоков препроцессора и т.д. Мобильный датчик 600 включает в себя источник 616 питания, который питается посредством одного или более аккумуляторов или других источников питания и который предоставляет мощность в другие компоненты мобильного датчика 600. Источник 616 питания также может подключаться к внешнему источнику питания, который принимает подачу питания на себя или перезаряжает встроенные аккумуляторы или другие источники питания.
[0048] Мобильный датчик 600 включает в себя одно или более приемо-передающих устройств 630 связи, чтобы предоставлять возможности сетевых подключений (например, мобильная телефонная сеть, Wi-Fi, BlueTooth, Ethernet и т.д.). Мобильный датчик 600 также может включать в себя различные другие компоненты, такие как система 620 позиционирования (например, спутниковое приемо-передающее устройство глобальной системы позиционирования), один или более акселерометров 622, одна или более камер 624, аудиоинтерфейс 626 (например, микрофон, звукоусилитель и динамик и/или аудиоразъем) и дополнительное устройство 628 хранения данных. Также могут использоваться другие конфигурации.
[0049] В примерной реализации, программные или микропрограммные инструкции для управления схемой сенсорной подсистемы, препроцессорной схемой, интерфейсом связи, контроллером разделения, монитором мощности, монитором температуры, монитором энергопотребления и другими аппаратными/программными блоками могут быть осуществлены посредством инструкций, сохраненных в запоминающем устройстве 604 и/или на устройствах 628 хранения данных, и обработаны посредством процессора 602. Данные датчиков, обнаруженные параметры условий управления энергопотреблением и другие данные могут сохраняться в запоминающем устройстве 604 и/или на устройствах 628 хранения данных в качестве постоянных хранилищ данных. Одна или более частей примерного узла-датчика могут реализовываться в форме внутрикристальной системы (SOC).
[0050] Некоторые варианты осуществления могут содержать промышленное изделие. Промышленное изделие может содержать материальный носитель данных для хранения на нем логических средств (логики). Примеры материального носителя данных могут включать в себя один или более типов машиночитаемых носителей данных, допускающих сохранение электронных данных, в том числе энергозависимое запоминающее устройство или энергонезависимое запоминающее устройство, съемное или стационарное запоминающее устройство, запоминающее устройство со стиранием информации или запоминающее устройство без стирания информации, записываемое или перезаписываемое запоминающее устройство и т.д. Примеры логики могут включать в себя любые программные элементы, такие как программные компоненты, программы, приложения, компьютерные программы, прикладные программы, системные программы, машинные программы, программное обеспечение операционной системы, промежуточное программное обеспечение, микропрограммное обеспечение, программные модули, стандартные программы, подпрограммы, функции, методы, процедуры, программные интерфейсы, интерфейсы прикладного программирования (API), наборы инструкций, вычислительный код, компьютерный код, сегменты кода, сегменты компьютерного кода, слова, значения, символы или любую комбинацию вышеозначенного. В одном варианте осуществления, например, промышленное изделие может сохранять исполняемые компьютерные программные инструкции, которые при их исполнении посредством компьютера инструктируют компьютеру осуществлять способы и/или операции в соответствии с описанными вариантами осуществления. Исполняемые компьютерные программные инструкции могут включать в себя любой подходящий тип кода, такой как исходный код, компилируемый код, интерпретируемый код, исполняемый код, статический код, динамический код и т.п. Исполняемые компьютерные программные инструкции могут быть реализованы согласно предварительно заданному машинному языку, способу или синтаксису для инструктирования компьютеру выполнять определенную функцию. Инструкции могут быть реализованы с использованием любого подходящего высокоуровневого, низкоуровневого, объектно-ориентированного, визуального, компилируемого и/или интерпретируемого языка программирования.
[0051] Реализации, описанные в данном документе, реализованы как логические этапы в одной или более компьютерных систем. Логические операции настоящего изобретения реализуются (1) в качестве последовательности процессорнореализованных этапов, выполняемых в одной или более компьютерных систем, и (2) в качестве взаимно соединенных машинных или схемных модулей в одной или более компьютерных систем. Реализация выбирается в зависимости от требований по производительности компьютерной системы, реализующей изобретение. Соответственно, логические операции, составляющие варианты осуществления изобретения, описанные в данном документе, по-разному упоминаются как операции, этапы, объекты или модули. Кроме того, следует понимать, что логические операции могут выполняться в любом порядке, если явно не указано иное, либо конкретный порядок безоговорочно диктуется посредством текста формулы изобретения.
[0052] Вышеуказанное подробное описание, примеры и данные предоставляют полное описание структуры и применения примерных вариантов осуществления изобретения. Поскольку многие варианты осуществления изобретения могут выполняться без отступления от сущности и объема изобретения, изобретение состоит в прилагаемой формуле изобретения. Кроме того, структурные признаки различных вариантов осуществления могут комбинироваться в еще одном другом варианте осуществления без отступления от объема, определяемого прилагаемой формулой изобретения.