[go: up one dir, main page]

RU2460120C2 - Способ и устройство для управления ресурсами в беспроводном устройстве - Google Patents

Способ и устройство для управления ресурсами в беспроводном устройстве Download PDF

Info

Publication number
RU2460120C2
RU2460120C2 RU2009116243/08A RU2009116243A RU2460120C2 RU 2460120 C2 RU2460120 C2 RU 2460120C2 RU 2009116243/08 A RU2009116243/08 A RU 2009116243/08A RU 2009116243 A RU2009116243 A RU 2009116243A RU 2460120 C2 RU2460120 C2 RU 2460120C2
Authority
RU
Russia
Prior art keywords
application
processing
data
base station
needs
Prior art date
Application number
RU2009116243/08A
Other languages
English (en)
Other versions
RU2009116243A (ru
Inventor
Гурвиндер ЧХАБРА (US)
Гурвиндер ЧХАБРА
Идрис А. МИР (US)
Идрис А. МИР
Томас КЛИНГЕНБРУНН (US)
Томас КЛИНГЕНБРУНН
Original Assignee
Квэлкомм Инкорпорейтед
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Квэлкомм Инкорпорейтед filed Critical Квэлкомм Инкорпорейтед
Publication of RU2009116243A publication Critical patent/RU2009116243A/ru
Application granted granted Critical
Publication of RU2460120C2 publication Critical patent/RU2460120C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/14Two-way operation using the same type of signal, i.e. duplex
    • H04L5/1438Negotiation of transmission parameters prior to communication
    • H04L5/1446Negotiation of transmission parameters prior to communication of transmission speed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • H04W28/12Flow control between communication endpoints using signalling between network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M11/00Telephonic communication systems specially adapted for combination with other electrical systems
    • H04M11/06Simultaneous speech and data transmission, e.g. telegraphic transmission over the same conductors
    • H04M11/066Telephone sets adapted for data transmision

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

Изобретение относится в целом к электронике, а точнее - к методикам для управления ресурсами в беспроводном устройстве. Технический результат - смягчение отрицательных последствий в пакетах данных, передаваемых беспроводным устройством, возникающих вследствие того, что потребности в обработке превышают производительность обработки, что может приводить, например, к отбрасыванию пакетов. Устройство, выполненное с возможностью осуществления беспроводной связи с базовой станцией, содержит: модуль обработки, имеющий максимальную производительность обработки и функционирующий для выполнения приложений, работающих в устройстве, и контроллер, функционирующий для отслеживания потребностей в обработке у приложений и для управления, по меньшей мере, одним из приложений на основе потребностей в обработке и максимальной производительности обработки. Для модуля обработки может быть выбрана более высокая тактовая частота, когда потребности в обработке превышают верхнюю пороговую величину, и более низкая тактовая частота может быть выбрана, когда потребности в обработке опускаются ниже нижней пороговой величины. 8 н. и 36 з.п. ф-лы, 10 ил.

Description

Настоящая заявка притязает на приоритет Предварительной заявки США с порядковым номером 60/827678, озаглавленной "GRACEFULLY REDUCE APPLICATION(S) PERFORMANCE WHEN MIPS DEMAND EXCEEDS ARCHITECTURAL CAPABILITY OF CHIPSET", зарегистрированной 29 сентября 2006 г., переуступленной правопреемнику этой заявки и включенной в этот документ путем ссылки.
Область техники
Настоящее раскрытие изобретения относится в целом к электронике, а точнее - к методикам для управления ресурсами в беспроводном устройстве.
Уровень техники
Сети беспроводной связи широко разворачиваются, чтобы предоставить различные услуги связи, например, речь, видео, пакетные данные, обмен сообщениями, радиовещание и т.д. Эти беспроводные сети могут быть сетями коллективного доступа, допускающими поддержку множества пользователей путем совместного использования доступных ресурсов сети. Примеры таких сетей коллективного доступа включают в себя сети коллективного доступа с кодовым разделением каналов (CDMA), сети коллективного доступа с временным разделением каналов (TDMA), сети коллективного доступа с разделением каналов по частоте (FDMA), сети с ортогональным FDMA (OFDMA) и сети FDMA с одной несущей (SC-FDMA) и т.д.
Беспроводное устройство (например, сотовый телефон) может активно взаимодействовать с беспроводной сетью для одной или более услуг, например речи и/или пакетных данных. Беспроводное устройство может расходовать ресурсы обработки на обработку данных для взаимодействия с беспроводной сетью. Беспроводное устройство также может иметь другие приложения, работающие в беспроводном устройстве. Каждое приложение может запускаться и завершаться в любое время и может потреблять некоторое количество ресурсов обработки, когда оно активно. Потребности в обработке в беспроводном устройстве могут в значительной степени меняться со временем и могут зависеть от объема данных, которыми обмениваются с беспроводной сетью, а также конкретных приложений, работающих в беспроводном устройстве. Если потребности в обработке превышают производительность обработки у беспроводного устройства, то могут произойти некоторые отрицательные последствия, которые могут затем стать причиной плохого восприятия пользователя. Например, могут отбрасываться пакеты, и/или приложение может работать неисправно вследствие недостаточных ресурсов обработки в беспроводном устройстве.
Поэтому в данной области техники существует потребность в методиках для смягчения отрицательных последствий вследствие потребностей в обработке, превышающих производительность обработки в беспроводном устройстве.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
В этом документе описываются методики для управления ресурсами в беспроводном устройстве. В одном аспекте беспроводное устройство управляет приложениями на основе потребностей в ресурсах и доступных ресурсов. Приложения могут выполняться с помощью модуля обработки, имеющего максимальную производительность обработки. Потребности в обработке у приложений могут отслеживаться. По меньшей мере одним из приложений можно управлять на основе потребностей в обработке и максимальной производительности обработки у модуля обработки. Например, приложение по работе с данными может управляться путем (i) уменьшения объема данных, которыми обмениваются с базовой станцией, когда обнаруживаются высокие потребности в обработке, или (ii) увеличения объема данных, которыми обмениваются с базовой станцией, когда обнаруживаются низкие потребности в обработке. Объем данных, которыми обмениваются с базовой станцией, может меняться, например, путем регулировки размера окна, который регламентирует количество неподтвержденных пакетов, которыми обмениваются с помощью приложения по работе с данными.
В другом аспекте беспроводное устройство управляет разными ресурсами в беспроводном устройстве для достижения хорошей производительности. Беспроводное устройство может отслеживать потребности в обработке, потребности в шине, потребности в памяти, потребности в кэше и/или другие потребности в ресурсах у приложений на предмет выделяемых ресурсов обработки, ресурсов шины, ресурсов памяти, ресурсов кэша и/или других ресурсов соответственно. Беспроводное устройство может управлять по меньшей мере одним приложением на основе потребностей от приложений. Беспроводное устройство может выбирать по меньшей мере одно приложение на основе приоритетов приложений, указания того, является ли каждое приложение управляемым или неуправляемым, и т.д.
В еще одном аспекте беспроводное устройство меняет объем ресурсов для соответствия потребностям в ресурсах. Приложения могут выполняться с помощью модуля обработки, имеющего конфигурируемую производительность обработки. Потребности в обработке у приложений могут отслеживаться. Производительность обработки у модуля обработки может регулироваться на основе потребностей в обработке. Например, для модуля обработки может выбираться более высокая тактовая частота, когда потребности в обработке превышают верхнюю пороговую величину, и более низкая тактовая частота может выбираться, когда потребности в обработке опускаются ниже нижней пороговой величины.
Таким образом, методики, описанные в данном документе, направлены на смягчение отрицательных последствий в пакетах данных, передаваемых беспроводным устройством, возникающих вследствие того, что потребности в обработке превышают производительность обработки, что может проводить, например, к отбрасыванию пакетов.
Далее более подробно описываются различные аспекты и признаки раскрытия изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 показывает блок-схему беспроводного устройства и базовой станции.
Фиг.2 показывает схему системы управления ресурсами.
Фиг.3 показывает регулировку тактовой частоты CPU на основе коэффициента загрузки CPU.
Фиг.4 показывает взаимодействие между модулями в системе управления ресурсами.
Фиг.5 показывает отчет о загрузке CPU с двумя пороговыми величинами.
Фиг.6 показывает регулировку размера окна на основе загрузки CPU.
Фиг.7 показывает процесс для управления приложениями на основе потребностей в ресурсах.
Фиг.8 показывает процесс, выполняемый базовой станцией.
Фиг.9 показывает процесс для управления разными ресурсами в беспроводном устройстве.
Фиг.10 показывает процесс для изменения объема ресурсов для соответствия потребностям.
ПОДРОБНОЕ ОПИСАНИЕ
Фиг.1 показывает блок-схему исполнения беспроводного устройства 100 и базовой станции 150 в сети беспроводной связи. Базовая станция 150 также может называться Узлом Б, усовершенствованным Узлом Б, точкой доступа, базовой приемопередающей станцией (BTS) и т.д. В показанном на фиг.1 исполнении базовая станция 150 включает в себя передатчик/приемник 152 (TMTR/RCVR), который поддерживает радиосвязь с беспроводными устройствами, контроллер/процессор 160, который выполняет различные функции для взаимодействия с беспроводными устройствами, запоминающее устройство 162, которое хранит программные коды и данные для базовой станции 150, и модуль 164 связи (Comm), который поддерживает взаимодействие с другими объектами сети. Вообще, базовая станция может включать в себя любое количество контроллеров, процессоров, запоминающих устройств, передатчиков, приемников и т.д.
Беспроводное устройство 100 также может называться пользовательским оборудованием (UE), мобильной станцией, терминалом, терминалом доступа, мобильным оборудованием, абонентским модулем, станцией и т.д. Беспроводное устройство 100 может быть сотовым телефоном, персональным цифровым помощником (PDA), беспроводным модемом, карманным устройством, переносным компьютером и т.д.
В тракте приема антенна 112 принимает сигналы, переданные базовой станцией 150, другими базовыми станциями, спутниками и т.д., и предоставляет принятый сигнал приемнику 114 (RCVR). Приемник 114 обрабатывает (например фильтрует, усиливает, преобразует с понижением частоты и оцифровывает) принятый сигнал и предоставляет выборки цифровой части 120 для дополнительной обработки. В тракте передачи цифровая часть 120 обрабатывает данные, которые необходимо передать, и предоставляет элементарные сигналы данных передатчику 116 (TMTR). Передатчик 116 обрабатывает (например преобразует в аналоговую форму, фильтрует, усиливает и преобразует с повышением частоты) элементарные сигналы данных и формирует модулированный сигнал, который передается через антенну 112.
Цифровая часть 120 может включать в себя различные обрабатывающие, запоминающие и интерфейсные модули, которые поддерживают связь с одной или более сетями беспроводной связи, а также с другими приложениями. В показанном на фиг.1 исполнении цифровая часть 120 включает в себя центральный процессор 130 (CPU), контроллер/процессор 132, запоминающее устройство 134, кэш 136 и внешний интерфейс 138, которые соединены с шиной 140. CPU 130 может содержать любое количество цифровых процессоров сигналов (DSP), процессоров с сокращенным набором команд (RISC), универсальных процессоров и т.д. CPU 130 может выполнять обработку для передачи данных (например, кодирование и модуляцию), обработку для приема данных (например, демодуляцию и декодирование) и обработку верхнего уровня для данных, которыми обмениваются с беспроводной сетью. CPU 130 также может выполнять обработку для других приложений. Контроллер/процессор 132 может управлять работой в беспроводном устройстве 100 и/или выполнять другие функции. Запоминающее устройство 134 может хранить данные и/или команды для различных модулей в цифровой части 120. Кэш 136 может обеспечивать быстрое хранение данных и/или команд. Интерфейсный модуль 138 может взаимодействовать с другими модулями, например основным запоминающим устройством 142, устройствами ввода/вывода (I/O) и т.д. Цифровая часть 120 может быть реализована с помощью одной или более специализированных интегральных схем (ASIC) и/или какого-нибудь другого типа интегральных схем (IC).
Вообще, беспроводное устройство 100 может включать в себя меньше, больше и/или другие обрабатывающие, запоминающие и интерфейсные модули, нежели те, которые показаны на фиг.1. Количество модулей обработки и типы модулей обработки, включенных в цифровую часть 120, могут зависеть от различных факторов, например сетей связи и приложений, поддерживаемых беспроводным устройством 100, соображений стоимости и энергии, и т.д.
Беспроводное устройство 100 может поддерживать связь с беспроводными глобальными сетями (WWAN), беспроводными локальными сетями (WLAN), беспроводными персональными сетями (WPAN), широковещательными сетями и т.д. Термины "сеть" и "система" часто используются взаимозаменяемо. WWAN могут быть CDMA, TDMA, FDMA, OFDMA, SC-FDMA и/или другими беспроводными сетями. Сеть CDMA может реализовывать технологию радиосвязи, такую как наземный доступ системы UMTS (UTRA), CDMA2000 и т.д. UTRA включает в себя широкополосный CDMA (W-CDMA) и CDMA с синхронизированным временным разделением (TD-SCDMA). CDMA2000 охватывает стандарты IS-2000, IS-95 и IS-856. Сеть TDMA может реализовывать технологию радиосвязи, такую как Глобальная система мобильной связи (GSM). Сеть OFDMA может реализовывать технологию радиосвязи, такую как усовершенствованный UTRA (E-UTRA), IEEE 802.16, IEEE 802.20, Flash-OFDM® и т.д. UTRA и E-UTRA являются частью универсальной системы мобильных телекоммуникаций (UMTS). UTRA, E-UTRA, UMTS и GSM описываются в документах от организации, именуемой "Проект Партнерства Третьего Поколения" (3GPP). CDMA2000 описывается в документах от организации, именуемой "Второй Проект Партнерства Третьего Поколения" (3GPP2). WLAN может реализовывать технологию радиосвязи, такую как IEEE 802.11, Hiperlan и т.д. WPAN может реализовывать технологию радиосвязи, такую как Bluetooth. Широковещательная сеть может реализовывать технологию радиосвязи, такую как Цифровое видеовещание для карманных устройств (DVB-H), Широковещание с интегрированными цифровыми услугами для Наземного телевизионного вещания (ISDB-T), MediaFLO и т.д. Эти различные сети, технологии радиосвязи и стандарты известны в данной области техники.
Для ясности нижеследующее описание допускает, что беспроводное устройство 100 поддерживает UMTS. Версия 5 3GPP и более поздние поддерживает Высокоскоростной пакетный доступ нисходящей линии связи (HSDPA). Версия 6 3GPP и более поздние поддерживает Высокоскоростной пакетный доступ восходящей линии связи (HSUPA). HSDPA и HSUPA являются наборами каналов и процедур, которые дают возможность высокоскоростной пакетной передачи данных по нисходящей линии связи и восходящей линии связи соответственно.
Беспроводное устройство 100 также может поддерживать различные приложения. Приложение может быть программным и/или микропрограммным модулем, который выполняет конкретную функцию. Разные приложения могут использоваться для разных технологий радиосвязи, разных особенностей данной технологии радиосвязи и т.д. Например, беспроводное устройство 100 может поддерживать приложения для HSDPA, HSUPA, WLAN, Bluetooth, MediaFLO, речи, видео, видеотелефонии, веб-обозревателя, электронной почты, текстового редактора, графических приложений, таких как видеоигры, Глобальной системы позиционирования с поддержкой (A-GPS) и т.д.
Беспроводное устройство 100 может иметь различные типы ресурсов, которые могут использоваться для поддержки всех приложений, работающих в беспроводном устройстве. Ресурсы в беспроводном устройстве 100 могут распределяться по категориям следующим образом:
- ресурсы обработки - ресурсы для выполнения обработки для приложений, например, CPU 130,
- ресурсы памяти - ресурсы для хранения данных для приложений, например, запоминающее устройство 134,
- ресурсы кэша - ресурсы для быстрого хранения данных для приложений, например, кэш 136, и
- ресурсы шины - ресурсы для передачи данных для приложений, например, шина 140.
Ресурсы в беспроводном устройстве 100 могут быть конфигурируемыми. Например, производительность обработки у беспроводного устройства 100 может меняться путем регулировки тактовой частоты у CPU 130, и пропускная способность шины может меняться путем регулировки тактовой частоты у шины 140. Более высокие тактовые частоты CPU и шины могут предоставить больше ресурсов обработки и шины, но также могут привести к более высокой потребляемой мощности, которая может сократить время работы от батарей у беспроводного устройства 100. Вообще, может быть желательно работать на самых низких тактовых частотах CPU и шины, что может предоставить достаточные ресурсы обработки и шины, чтобы удовлетворять потребности всех активных приложений, чтобы потребляемая мощность могла быть минимизирована. Для ресурсов памяти и кэша величина доступных ресурсов может быть постоянной по исполнению, но эти ресурсы могут выделяться активным приложениям разными способами. Например, приложению, которое интенсивно использует память, может быть выделено больше ресурсов кэша и/или памяти, чем приложению, которое не является интенсивно использующим память.
Вообще, любое количество приложений и любой тип приложения могут быть активными в беспроводном устройстве 100 в любой заданный момент. Каждое активное приложение может иметь определенные потребности или требования к ресурсам. Доступные ресурсы в беспроводном устройстве 100 могут конфигурироваться для соответствия потребностям в ресурсах у всех активных приложений, например, путем регулировки тактовых частот CPU и шины. В некоторых случаях даже самые высокие тактовые частоты CPU и шины, поддерживаемые беспроводным устройством 100, могут не обеспечивать достаточных ресурсов для удовлетворения потребностей всех активных приложений. В этих случаях одно или более активных приложений может управляться, чтобы снизить потребности в ресурсах для приспособления к доступным ресурсам.
Фиг.2 показывает схему исполнения системы 200 управления ресурсами для беспроводного устройства 100. В этом исполнении система 200 включает в себя контроллер 210 ресурсов, монитор 212 ресурсов и диспетчер 214 аппаратных средств. Каждый из модулей 210, 212 и 214 может быть реализован с помощью программного обеспечения и/или микропрограммного обеспечения, работающего в беспроводном устройстве 100, с помощью аппаратных средств, реализованных в беспроводном устройстве 100, или с помощью сочетания того и другого.
Монитор 212 ресурсов может определять коэффициент использования ресурса активными приложениями. Для ресурсов обработки монитор 212 ресурсов может подсчитывать количество активных тактов для CPU 130 в интервале измерения. Монитор 212 ресурсов может выявить величину ресурсов обработки, используемых активными приложениями, на основе количества активных тактов и/или количества свободных тактов в течение интервала измерения. Монитор 212 ресурсов может определить загрузку CPU, которая равна процентному отношению времени, которое CPU 130 использует в течение интервала измерения. Загрузка CPU может вычисляться на основе отношения количества активных тактов к общему количеству тактов в интервале измерения. Интервал измерения может выбираться, чтобы обеспечить достаточное усреднение, а также для сокращения задержки в получении отчетов о коэффициенте использования ресурса. Интервал измерения может быть 100 миллисекунд (мс), 200 мс и т.д. Монитор 212 ресурсов также может определить коэффициент загрузки других ресурсов, например, ресурсов шины, ресурсов памяти, ресурсов кэша и т.д. Монитор 212 ресурсов может определить коэффициент использования ресурса по каждому активному приложению, по каждому активному приложению, которое может управляться, по каждому множеству активных приложений, которые должны управляться вместе, по всем активным приложениям и т.д.
Диспетчер 214 аппаратных средств может управлять конфигурацией различных типов ресурсов в беспроводном устройстве 100. Диспетчер 214 аппаратных средств может менять тактовую частоту CPU 130 на основе потребностей в ресурсах обработки и/или менять тактовую частоту шины 140 на основе потребностей в ресурсах шины. Диспетчер 214 аппаратных средств также может выделять/перераспределять запоминающее устройство 134 и кэш 136 на основе потребностей в ресурсах памяти и кэша, соответственно. Диспетчер 214 аппаратных средств может принимать команды, директивы, запросы и/или другую информацию от контроллера 210 ресурсов и может соответственно конфигурировать различные типы ресурсов.
Контроллер 210 ресурсов может пытаться соответствовать потребностям в ресурсах у активных приложений с помощью доступных ресурсов в беспроводном устройстве 100. Контроллер 210 ресурсов может получать подходящую информацию для каждого активного приложения, например, когда приложение запускается. Информация для каждого активного приложения может включать в себя следующее:
- указание того, может ли приложение управляться для снижения коэффициента использования ресурса,
- пиковые и/или минимальные требования к ресурсам у приложения и
- приоритет и/или другие характеристики приложения, пригодные для управления ресурсами.
Заданное приложение может управляться или может не управляться, чтобы снизить коэффициент использования ресурса, когда потребности в ресурсах превышают доступные ресурсы. Может ли приложение управляться, может зависеть от различных факторов, например, приоритета приложения, ожидаемого коэффициента использования ресурса приложением и т.д. Если приложение может управляться, то работа приложения может регулироваться и/или может меняться величина ресурсов, выделенных приложению, чтобы потребности в ресурсах могли удовлетворяться доступными ресурсами.
Требования к ресурсам у заданного приложения могут задаваться различными параметрами, например, тактовые частоты CPU/шины, количество циклов CPU/шины в единицу времени и т.д. Для ясности, в описании ниже ресурсы обработки и шины измеряются тактовыми частотами CPU/шины. Пиковые требования к ресурсам могут использоваться для приложений с пульсирующими потребностями в ресурсах, которые не нужно поддерживать в течение длительного периода времени, например загрузка файла. Минимальные требования к ресурсам могут использоваться для приложений с определенными потребностями в ресурсах, которые может быть необходимо поддерживать в течение длительного периода времени, например речевой вызов.
Приоритет и/или другие характеристики приложения могут использоваться для определения, когда и как управлять приложением для сокращения потребностей в ресурсах. Когда потребности в ресурсах превышают доступные ресурсы, приложения с низким приоритетом могут управляться первыми, а приложения с высоким приоритетом могут управляться последними. Разные приложения могут управляться разными способами, которые описываются ниже.
Контроллер 210 ресурсов может принимать отчеты о коэффициенте использования ресурса, которые могут сообщать коэффициент использования ресурса в реальном масштабе времени активными приложениями. Контроллер 210 ресурсов может определить, изменять ли конфигурацию аппаратных средств на основе коэффициента использования ресурса. Например, контроллер 210 ресурсов может указать диспетчеру 214 аппаратных средств использовать более низкие тактовые частоты CPU/шины, когда доступные ресурсы сильно недогружены. Контроллер 210 ресурсов может указать диспетчеру 214 аппаратных средств использовать более высокие тактовые частоты CPU/шины, когда доступных ресурсов недостаточно для удовлетворения потребностей в ресурсах. Контроллер 210 ресурсов также может управлять одним или более приложениями для снижения потребностей в ресурсах, если доступных ресурсов, даже с наивысшими тактовыми частотами CPU/шины, недостаточно для удовлетворения потребностей в ресурсах. Контроллер 210 ресурсов может, соответственно, управлять доступными ресурсами, а также потребностями в ресурсах, чтобы соответствовать потребностям в ресурсах с помощью обеспечения ресурсами.
N приложений 220a-220n могут быть активными, где N вообще может быть любым целым значением, большим либо равным нулю. В показанном на фиг.2 примере приложение 220a может быть диагностическим приложением, приложение 220b может относиться к HSDPA, приложение 220c может относиться к HSUPA, приложение 220d может относиться к видеотелефонии, и так далее, и приложение 220n может относиться к фоновой загрузке. Каждое приложение 220 может регистрироваться с помощью контроллера 210 ресурсов, когда оно запускается, и может предоставлять подходящую информацию, которая описана выше. Каждое активное приложение, которое может управляться, может принимать команды от контроллера 210 ресурсов для настройки своей работы, когда это целесообразно, чтобы снизить коэффициент использования ресурса. Вообще, приложения 220 могут управляться в отношении любого типа ресурсов. Для ясности, большая часть описания ниже предназначена для управления ресурсами обработки, которые также называются ресурсами CPU.
CPU 130 может выполнять приложения, которые поддерживают взаимодействие с базовой станцией 150, а также другие приложения, работающие в беспроводном устройстве 100. Контроллер 210 ресурсов может управлять работой CPU 130, другими ресурсами и/или активными приложениями для достижения хорошей производительности.
В одном аспекте доступные ресурсы в беспроводном устройстве 100 могут регулироваться на основе потребностей в ресурсах от активных приложений. Например, загрузка CPU может отслеживаться в режиме реального времени, и тактовая частота CPU может регулироваться на основе загрузки CPU. В одном исполнении загрузка CPU может сравниваться с верхней пороговой величиной и нижней пороговой величиной. Более высокая тактовая частота CPU (если доступна) может выбираться, когда загрузка CPU превышает верхнюю пороговую величину. Более низкая тактовая частота CPU (если доступна) может выбираться, когда загрузка CPU опускается ниже нижней пороговой величины.
В другом аспекте активные приложения могут управляться по необходимости, чтобы потребности в ресурсах могли удовлетворяться доступными ресурсами в беспроводном устройстве 100. Потребности в ресурсах могут быть выявлены посредством наблюдения в реальном масштабе времени. Доступные ресурсы могут увеличиваться или уменьшаться, например, путем выбора разных тактовых частот, на основе потребностей в ресурсах. Однако, когда доступные ресурсы достигают максимального объема, активные приложения могут управляться для снижения потребностей в ресурсах, чтобы они были ниже доступных ресурсов.
Например, если CPU 130 работает с загрузкой CPU выше верхней пороговой величины, то контроллер 210 ресурсов может принять меры для исправления этого состояния. Контроллер 210 ресурсов может регулировать/уменьшить передачу нисходящей линии связи от базовой станции 150 и/или передачу восходящей линии связи от беспроводного устройства 100 на основе загрузки CPU. В качестве альтернативы или дополнительно, контроллер 210 ресурсов может управлять снижением производительности одного или более других активных приложений, работающих в беспроводном устройстве 100. Например, контроллер 210 ресурсов может указать фоновому приложению (например, программе загрузки) работать на меньшей скорости для снижения потребностей CPU, что может затем освободить ресурсы CPU для приложения с более высоким приоритетом (например, речевого вызова). В качестве альтернативы, контроллер 210 ресурсов может временно остановить или прекратить фоновое приложение. В любом случае, управление фоновым приложением может не подвергать опасности качество обслуживания (QoS) у приложений с более высоким приоритетом.
Фиг.3 показывает пример регулировки тактовой частоты CPU на основе потребностей в CPU от активных приложений. В этом примере поддерживаются три тактовые частоты f 1, f 2 и f 3 CPU, причем f 1<f 2<f 3. Максимальная производительность CPU достигается с наивысшей тактовой частотой f 3.
CPU 130 исходно работает с самой низкой тактовой частотой f 1 на этапе A. Загрузка CPU увеличивается вследствие более высоких потребностей от активных приложений и достигает верхней пороговой величины на этапе B. Тактовая частота CPU переключается с f 1 на f 2 на этапе C, и загрузка CPU падает на этапе D из-за большей производительности CPU с более высокой тактовой частотой f 2. Загрузка CPU увеличивается снова из-за более высоких потребностей и достигает верхней пороговой величины на этапе E. Тактовая частота CPU переключается с f 2 на f 3 на этапе F, и загрузка CPU падает на этапе G из-за большей производительности CPU с более высокой тактовой частотой f 3. Загрузка CPU увеличивается снова из-за более высоких потребностей и достигает верхней пороговой величины на этапе H.
Поскольку наивысшая тактовая частота f 3 CPU уже выбрана, контроллер 210 ресурсов начинает управление активными приложениями, чтобы снизить потребности в ресурсах. Загрузка CPU уменьшается в ответ на управление активными приложениями. Контроллер 210 ресурсов прекращает управление приложениями, когда загрузка CPU достигает приемлемого уровня на этапе I. Загрузка CPU после этого увеличивается снова из-за более высоких потребностей и достигает верхней пороговой величины на этапе J. Контроллер 210 ресурсов начинает управление активными приложениями, и в ответ загрузка CPU уменьшается. Контроллер 210 ресурсов прекращает управление приложениями, когда загрузка CPU достигает приемлемого уровня на этапе K.
Загрузка CPU после этого уменьшается из-за меньших потребностей от активных приложений и достигает нижней пороговой величины на этапе L. После заранее установленного периода времени, в котором потребности находятся на или ниже нижней пороговой величины, тактовая частота CPU переключается с f 3 вниз до f 2 на этапе M. Загрузка CPU увеличивается на этапе N из-за меньшей производительности CPU с более низкой тактовой частотой f 2. Загрузка CPU уменьшается снова из-за меньших потребностей и достигает нижней пороговой величины на этапе O. После заранее установленного периода времени тактовая частота CPU переключается с f 2 вниз до f 1 на этапе P, и загрузка CPU увеличивается на этапе Q из-за меньшей производительности CPU с самой низкой тактовой частотой f 1.
В показанном на фиг.3 исполнении используются две пороговые величины для регулировки тактовой частоты CPU и управления активными приложениями. Те же верхние и нижние пороговые величины могут использоваться для всех тактовых частот CPU, как показано на фиг.3. В качестве альтернативы, разный набор верхних и нижних пороговых величин может использоваться для каждой тактовой частоты CPU и может выбираться на основе производительности CPU для той тактовой частоты. В другом исполнении используются больше двух пороговых величин для регулировки тактовой частоты CPU и/или управления активными приложениями. Одинаковые пороговые величины могут использоваться для всех активных приложений. В качестве альтернативы, разные активные приложения могут иметь разные наборы пороговых величин. Каждое активное приложение может управляться на основе загрузки CPU относительно набора пороговых величин, применяемых для этого приложения.
Фиг.3 показывает регулировку тактовой частоты CPU для изменения производительности CPU на основе потребностей в CPU. Другие ресурсы, например, ресурсы шины, могут управляться аналогичным образом.
Фиг.4 показывает взаимодействие между контроллером 210 ресурсов, монитором 212 ресурсов, диспетчером 214 аппаратных средств и приложениями 220a-220n на фиг.2. Контроллер 210 ресурсов может принимать отчеты о коэффициенте использования ресурса от монитора 212 ресурсов. Каждый коэффициент использования ресурса может указывать загрузку CPU и/или коэффициент загрузки других ресурсов в беспроводном устройстве 100. Контроллер 210 ресурсов может определить, достаточно ли доступных ресурсов для удовлетворения потребностей в ресурсах у активных приложений. Контроллер 210 ресурсов может отправить аппаратные команды (например, для более низких или более высоких тактовых частот) диспетчеру 214 аппаратных средств, который может затем задать конфигурацию аппаратных средств, чтобы изменить объем ресурсов. Контроллер 210 ресурсов также может, при необходимости, отправить управляющие команды каждому отдельному активному приложению 220, чтобы управлять потребностями в ресурсах от приложения.
Контроллер 210 ресурсов может выбрать активные приложения для управления различными способами. В одном исполнении контроллер 210 ресурсов выбирает активные приложения для управления на основе их приоритетов, а также указаний того, могут ли управляться эти приложения. Контроллер 210 ресурсов может выбрать и управлять приложением сначала с наименьшим приоритетом, затем следующим приложением со вторым наименьшим приоритетом, и так далее, и затем последним приложением с наивысшим приоритетом. Например, контроллер 210 ресурсов может выбрать приложения в следующем порядке:
- диагностические и другие приложения, которые не имеют отношения к каким бы то ни было принимаемым услугам,
- фоновые и допускающие задержку приложения, например, загрузка данных, и
- интерактивные и чувствительные к задержке приложения, например, видеотелефония.
В некоторых случаях управление только диагностическим приложением может снизить потребности в ресурсах на достаточную величину. Если управление диагностическим приложением не является достаточным, то затем могут управляться фоновые приложения, и в качестве последнего средства могут управляться интерактивные приложения. Этот порядок может снизить влияние на восприятие пользователя.
В другом исполнении контроллер 210 ресурсов выбирает активные приложения для управления на основе их требований QoS, если имеются. Контроллер 210 ресурсов сначала может выбрать приложения без требований QoS, затем приложения с менее строгими требованиями QoS, и так далее, и последними приложения с самыми строгими требованиями QoS. Контроллер 210 ресурсов может выделить достаточно ресурсов каждому активному приложению, чтобы удовлетворить его требования QoS. Контроллер 210 ресурсов может выделить минимум или нисколько ресурсов активным приложениям без каких-либо требований QoS, когда потребности в ресурсах превышают доступные ресурсы.
В UMTS вызов может иметь один или несколько однонаправленных каналов радиодоступа (RAB) для перемещения данных трафика и один или несколько однонаправленных радиоканалов сигнализации (SRB) для перемещения сигнализации. Каждый RAB может рассматриваться в качестве отдельного потока данных, имеющего некоторые характеристики. Каждый RAB может нести данные трафика для конкретного класса, например, разговорного, потокового, интерактивного или фонового. В одном исполнении SRB не управляются. RAB, несущие интерактивные и фоновые классы, могут управляться первыми, например, одинаково среди этих RAB. RAB, несущие разговорные и потоковые классы, могут управляться следующими, например, одинаково среди этих RAB. Это исполнение может гарантировать, что потоки данных управляются в порядке, основанном на их приоритетах, которые определены по их классам трафика. Вообще, потоки данных с более низким приоритетом могут управляться первыми, и потоки данных с более высоким приоритетом могут управляться следующими, например, после того, как потоки данных с более низким приоритетом полностью проконтролированы.
Контроллер 210 ресурсов может управлять разными приложениями разными способами. Для диагностического приложения контроллер 210 ресурсов может управлять типом сообщений и/или событий, которыми отчитывается приложение, или может запретить приложение. Для фоновых приложений контроллер 210 ресурсов может уменьшить величину ресурсов (например, скорость CPU), выделенных этим приложениям, снизить скорости передачи данных по нисходящей линии связи и/или восходящей линии связи, временно остановить приложения и т.д. Для интерактивных приложений контроллер 210 ресурсов может снизить скорость передачи данных, частоту кадров и т.д.
Контроллер 210 ресурсов также может применять условные правила для выбора активных приложений для управления и/или для управления выбранными приложениями. Условное правило является правилом, которое нужно применять, когда возникают одно или более заранее установленных условий. Например, контроллер 210 ресурсов может менять скорость передачи данных в нисходящей линии связи для HSDPA аналогично скорости передачи данных в восходящей линии связи для HSUPA.
В одном исполнении монитор 212 ресурсов определяет загрузку CPU (например, периодически в каждом интервале измерения), сравнивает загрузку CPU с набором пороговых величин и отправляет отчет контроллеру 210 ресурсов всякий раз, когда загрузка CPU переходит пороговую величину. Это исполнение может сократить количество отчетов, отправляемых монитором 212 ресурсов контроллеру 210 ресурсов.
Фиг.5 показывает исполнение для отчета о загрузке CPU с двумя пороговыми величинами - верхней пороговой величиной и нижней пороговой величиной. Загрузка CPU может находиться в одном из трех возможных диапазонов:
- диапазон выключения - охватывает загрузку от 0% до нижней пороговой величины,
- средний диапазон - охватывает диапазон от нижней пороговой величины до верхней пороговой величины, и
- верхний диапазон - охватывает загрузку от верхней пороговой величины до 100%.
Три диапазона также могут называться состояниями CPU. Монитор 212 ресурсов может отправлять отчет о низкой загрузке CPU всякий раз, когда загрузка CPU перемещается в нижний диапазон, отправлять отчет о средней загрузке CPU всякий раз, когда загрузка CPU перемещается в средний диапазон, и отправлять отчет о высокой загрузке CPU всякий раз, когда загрузка CPU перемещается в верхний диапазон.
В одном исполнении одни и те же верхние и нижние пороговые величины используются для всех активных приложений. В этом исполнении контроллер 210 ресурсов может принимать отчеты о низкой, средней и высокой загрузке CPU от монитора 212 ресурсов и может управлять активными приложениями по необходимости. В другом исполнении разный набор верхних и нижних пороговых величин может использоваться для каждого активного приложения. В этом исполнении монитор 212 ресурсов может сформировать отчеты о низкой, средней и высокой загрузке CPU для каждого приложения на основе набора пороговых величин для этого приложения. Контроллер 210 ресурсов может управлять каждым приложением на основе отчетов о низкой, средней и высокой загрузке CPU, принятых для этого приложения. Верхняя пороговая величина может задаваться значением между 90% и 100%. Нижняя пороговая величина может задаваться значением между 80% и 90%. Верхняя и нижняя пороговые величины также могут задаваться другими значениями.
Каждое приложение может управляться способом, подходящим для этого приложения. Приложение по работе с данными, например, HSDPA и HSUPA, могут управляться различными способами, которые описываются ниже.
Для HSDPA базовая станция 150 может отправить данные одному или более пользователям по высокоскоростному совместно используемому каналу нисходящей линии связи (HS-DSCH) в каждом интервале времени передачи (TTI) длиной 2 мс. HS-DSCH совместно используется всеми пользователями посредством мультиплексирования с временным и кодовым разделением. Каждый пользователь периодически передает индикатор качества канала (CQI), который сообщает качество канала нисходящей линии связи, наблюдаемое этим пользователем. Базовая станция 150 принимает CQI от всех пользователей и использует информацию CQI для (i) выбора одного или более пользователей для передачи нисходящей линии связи в следующем TTI и (ii) выбора скорости передачи данных для каждого запланированного пользователя. Вообще, пользователям, наблюдающим высокое качество канала нисходящей линии связи, может быть отправлено больше данных.
Для HSDPA базовая станция 150 отправляет данные в протокольных блоках данных (PDU), используя протокол работы радиолинии (RLC) на канальном уровне. PDU RLC также называется PDU или пакетом в описании ниже. Каждый PDU может составлять 40 байт, 80 байт и т.д. Для RLC передатчик отправляет PDU приемнику, причем каждый PDU идентифицируется порядковым номером, который увеличивается всякий раз, когда отправляется новый PDU. Приемник декодирует каждый принятый PDU и отправляет подтверждение приема (ACK), если PDU декодируется правильно. Для повышения пропускной способности передатчик может отправить новые PDU без ожидания ACK для ранее отправленных PDU. Окно RLC определяет максимальное количество ожидающих выполнения PDU без ACK, как видно от передатчика. Если N обозначает наивысший пронумерованный неподтвержденный PDU, который является началом окна RLC, а W указывает размер окна RLC, то наивысший порядковый номер, который может быть отправлен, равен N+W. Передатчик не может отправить новый PDU, пока не приняты ACK для всех PDU, отправленных до начала окна RLC. Окно RLC может меняться в размере и может охватывать от 1 до 2047 PDU. Размер окна RLC для HSDPA может управляться беспроводным устройством 100 путем отправки команды Window на базовую станцию 150. Беспроводное устройство 100 может управлять объемом данных, отправленных базовой станцией 150 беспроводному устройству 100, путем выбора подходящего размера окна RLC и отправки базовой станции этого размера окна. С помощью уменьшения окна RLC объем данных может быть уменьшен соответственно, поскольку меньшее окно RLC заставило бы базовую станцию 150 ожидать ACK для предшествующих PDU перед отправкой новых PDU. Для передачи восходящей линии связи в HSUPA базовая станция 150 может отправить команду беспроводному устройству 100 для управления объемом данных, отправляемых беспроводным устройством.
В одном исполнении приложение по работе с данными управляется путем регулировки размера окна для этого приложения по работе с данными. Размер окна может быть уменьшен для уменьшения объема данных, отправляемых/принимаемых приложением, что может потом снизить потребности в ресурсах от приложения. Наоборот, размер окна может быть увеличен для расширения объема данных, отправляемых/принимаемых приложением, что может потом увеличить использование ресурсов приложением. Регулировка размера окна может использоваться для передачи нисходящей линии связи (например, путем HSDPA), а также передачи восходящей линии связи (например, путем HSUPA). Для нисходящей линии связи выбранный размер окна может отправляться базовой станции 150. Для восходящей линии связи передатчик располагается в беспроводном устройстве 100, и размер окна может управляться непосредственно без необходимости отправлять какие-либо команды базовой станции 150.
Размер окна для приложения по работе с данными может управляться на основе потребностей в CPU различными способами. В одном исполнении размер окна может меняться между минимальным значением и максимальным значением, которые могут выбираться на основе различных факторов. Размер окна может быть резко уменьшен до минимального значения, когда принимается отчет о высокой загрузке CPU. Это резкое уменьшение размера окна может освободить ресурсы настолько быстро, насколько возможно, поскольку приложения с высоким приоритетом могут не быть допускающими задержку, и их следует обслужить настолько быстро, насколько возможно. Это резкое уменьшение также может позволить агрессивно задать верхнюю пороговую величину около 100%, что может позволить большее использование ресурсов CPU. Когда потребности в CPU снижаются, размер окна может быть постепенно увеличен ступенчато. Это постепенное увеличение может устранить эффект "пинг-понга" (например, размер окна переключается между минимальным и максимальным значениями) из-за переменных отчетов о высокой и низкой загрузке CPU. Пока окно меньше максимального значения, размер окна может быть увеличен или уменьшен ступенчато на основе отчетов о загрузке CPU. Когда окно достигает максимального значения, размер окна может быть резко уменьшен до минимального значения в следующий раз, когда принимается отчет о высокой загрузке CPU.
Для указания, управляется ли в настоящее время приложение по работе с данными, может использоваться признак. Признак может изначально устанавливаться в Выключено, затем переключаться с Выключено на Включено, когда принимается отчет о высокой загрузке CPU и признак находится в Выключено, и переключаться с Включено обратно на Выключено, когда размер окна устанавливается на максимальное значение при признаке, равном Включено. Размер окна для приложения по работе с данными может быть уменьшен до минимального значения, когда принимается отчет о высокой загрузке CPU и признак установлен в Выключено. Если признак установлен во Включено, когда принимается отчет о высокой загрузке CPU, то размер окна может уменьшаться на шаг уменьшения периодически в каждом интервале обновления, пока не достигнуто минимальное значение. Когда принимается отчет о низкой загрузке CPU, размер окна может увеличиваться на шаг увеличения периодически, пока не достигнуто максимальное значение. Когда принимается отчет о средней загрузке CPU, размер окна может быть сохранен в текущем значении.
Фиг.6 показывает пример регулировки размера окна для приложения по работе с данными. Этот пример предназначен для исполнения, показанного на фиг.5, с верхней и нижней пороговыми величинами для загрузки CPU и отчетами о низкой, средней и высокой загрузке CPU. В момент T0 признак находится в Выключено, и размер окна устанавливается в максимальное значение. В момент T1 принимается отчет о высокой загрузке CPU, начинается управление приложением по работе с данными, признак устанавливается во Включено, и размер окна уменьшается до минимального значения. Отчет о низкой загрузке CPU принимается в момент T2, и размер окна увеличивается на шаг увеличения. Размер окна увеличивается на шаг увеличения после каждого интервала обновления в моменты T3 и T4.
Отчет о средней загрузке CPU принимается в момент T5, и размер окна сохраняется. Отчет о высокой загрузке CPU принимается в момент T6, и размер окна уменьшается на шаг уменьшения, поскольку признак находится во Включено. Размер окна уменьшается на шаг уменьшения после интервала обновления в момент T7. Отчет о средней загрузке CPU принимается в момент T8, и размер окна сохраняется. Отчет о низкой загрузке CPU принимается в момент T9, и размер окна увеличивается на шаг увеличения. Размер окна увеличивается на шаг увеличения после каждого интервала обновления в моменты T10 и T11. Размер окна достигает максимального значения в момент T11, признак устанавливается в Выключено, и управление приложением прекращается.
Может использоваться таймер для увеличения или уменьшения размера окна, когда признак находится во Включено. Таймер может запускаться после выполнения регулировки размера окна и может производить обратный отсчет интервала обновления. Когда таймер истекает, может выполняться другая регулировка размера окна, и таймер может запускаться снова. Таймер может быть временно остановлен, когда принимается отчет о средней загрузке CPU, и может быть возобновлен с остановленного значения или запущен заново, когда принимается отчет о низкой или высокой загрузке CPU.
Параметры, такие как минимальный и максимальный размеры окна, размеры шага увеличения и уменьшения и интервал обновления, могут устанавливаться в подходящие значения для достижения нужной производительности. Минимальный размер окна может выбираться для достижения минимальной производительности для приложения по работе с данными, а также для ухода от отрицательных последствий для других протоколов. Например, Протокол управления передачей (TCP) может блокироваться по превышению времени, если никакие пакеты TCP не отправляются и подтверждаются в течение интервала для повторной передачи (RTO). Всякий раз, когда возникает тайм-аут, TCP выполняет отслеживание перегрузок и уменьшает поток данных, что может требовать длительного времени для восстановления и, следовательно, ухудшает производительность. Минимальный размер окна может быть установлен в достаточно большое значение, чтобы гарантировать, что по меньшей мере один пакет TCP может быть отправлен и подтвержден до того, как возникнет тайм-аут TCP. В одном исполнении минимальный размер окна может быть установлен в 80 PDU, что может избежать тайм-аута TCP. Максимальный размер окна может быть установлен в менее 2047 или в значение, полученное во время установления вызова или реконфигурации. Размеры шага увеличения и уменьшения могут быть установлены в четверть от максимального значения, чтобы размер окна мог увеличиваться до максимального значения в четырех интервалах обновления, как показано на фиг.6. Также могут использоваться другие размеры шага увеличения и уменьшения. Интервал обновления может быть задан 200 мс или какой-нибудь другой длительностью.
Для приложения по работе с данными нисходящей линии связи (например, HSDPA) команда Window с новым размером окна может отправляться базовой станции 150 всякий раз, когда изменяется размер окна. Команда Window может отправляться множество раз для повышения надежности, если базовая станция 150 не отправляет ACK для команды Window. Для приложения по работе с данными восходящей линии связи (например, HSUPA) новый размер окна может применяться в беспроводном устройстве 100.
Приложение по работе с данными может иметь один или более потоков данных, и каждый поток данных может соответствовать разному RAB. Для всех потоков данных может поддерживаться единое окно. В качестве альтернативы, отдельное окно для каждого потока данных может поддерживаться и может регулироваться на основе множества параметров для этого потока данных.
Фиг.6 показывает особое исполнение для управления приложением по работе с данными. Приложение по работе с данными также может управляться другими способами. В другом исполнении размер окна резко уменьшается до минимального значения всякий раз, когда принимается высокая загрузка CPU, независимо от того, находится ли признак во Включено или Выключено. В еще одном исполнении могут использоваться более двух пороговых величин для отчета о загрузке CPU, и более трех разных отчетов о загрузке CPU могут использоваться для управления приложением по работе с данными. В этом исполнении размер шага может зависеть от отчета о загрузке CPU.
В еще одном исполнении приложение по работе с данными управляется путем регулирования объема данных, формируемых источником данных. Например, если данные для приложения по работе с данными восходящей линии связи поступают от переносного компьютера, подключенного к беспроводному устройству 100 через универсальную последовательную шину (USB), то переносной компьютер и/или USB могут управляться для ограничения объема данных, принимаемых беспроводным устройством 100. В качестве другого примера, если данные для передачи восходящей линии связи поступают от объекта TCP в стеке протоколов в беспроводном устройстве 100, то объект TCP может управляться для ограничения объема данных, передаваемых на нижние уровни.
В еще одном исполнении приложение по работе с данными управляется на основе обратной связи CQI. Беспроводное устройство 100 может периодически измерять качество канала нисходящей линии связи и отправлять CQI, указывающий измеренное качество канала. Базовая станция 150 может использовать сообщенный CQI для выбора скорости передачи данных для передачи в нисходящей линии связи к беспроводному устройству 100. Когда загрузка CPU не высокая или приложение по работе с данными нисходящей линии связи не управляется, беспроводное устройство 100 может отправить измеренный CQI. Когда загрузка CPU высокая, беспроводное устройство 100 может отправить CQI, который меньше измеренного CQI, что может привести к тому, что базовая станция 150 выберет более низкую скорость передачи данных и отправит меньше данных беспроводному устройству 100. Беспроводное устройство 100 может соответственно отправлять подходящие CQI для управления объемом данных, отправляемых базовой станцией 150.
В еще одном исполнении приложение по работе с данными управляется на основе обратной связи CQI и частоты блоков с ошибками (BLER). Базовая станция 150 может отправить PDU беспроводному устройству 100. Беспроводное устройство 100 может попытаться декодировать каждый принятый PDU и может вернуть ACK, если PDU декодируется правильно, или отрицательное подтверждение приема (NAK), если PDU декодируется с ошибкой. Базовая станция 150 может определить BLER у передачи в нисходящей линии связи, которая является отношением количества PDU, декодированных с ошибкой, к общему количеству переданных PDU. Базовая станция 150 может выбрать скорость передачи данных для передачи в нисходящей линии связи на основе как CQI, сообщенного беспроводным устройством 100, так и BLER, поддерживаемой базовой станцией 150. Если BLER низкая, например, ниже целевой BLER, то базовая станция 150 может добавить смещение к сообщенному CQI и выбрать скорость передачи данных на основе скорректированного CQI. Базовая станция 150 может регулировать смещение CQI вверх или вниз для достижения целевой BLER. Смещение CQI, добавленное базовой станцией 150, может сбалансировать уменьшение CQI беспроводным устройством 100. Для противодействия смещению CQI, добавленному базовой станцией 150, беспроводное устройство 100 может отправлять NAK периодически, чтобы измеренная BLER на базовой станции 150 была близка к целевой BLER, и смещение CQI, добавленное базовой станцией 150, было малым или нулем.
Приложение по работе с данными также может управляться другими способами, используя другие механизмы. Сочетание исполнений, описанных выше, также может использоваться для приложения по работе с данными. Например, управление на основе обратной связи CQI может быть реализовано первым и в течение заранее установленной длительности времени, а управление на основе регулировки размера окна может быть запущено после заранее установленной длительности времени. В качестве другого примера, управление на основе как обратной связи CQI, так и регулировки размера окна может выполняться одновременно.
Фиг.7 показывает исполнение процесса 700, выполняемого беспроводным устройством для управления приложениями на основе потребностей в ресурсах. Приложения, работающие в беспроводном устройстве, могут выполняться модулем обработки, имеющим максимальную производительность обработки (этап 712). Модуль обработки может содержать один или более CPU, DSP, универсальных процессоров и т.д., или любое их сочетание. Потребности в обработке у приложений могут отслеживаться контроллером, который может быть программным обеспечением и/или аппаратными средствами в беспроводном устройстве (этап 714). По меньшей мере одно из приложений может управляться на основе потребностей в обработке и максимальной производительности обработки у модуля обработки (этап 716).
По меньшей мере одно приложение может выбираться для управления среди приложений, работающих в беспроводном устройстве, на основе приоритетов этих приложений. Приложение с низким приоритетом может управляться первым, а приложение с высоким приоритетом может управляться после того, как управление приложением с низким приоритетом выполнено полностью.
По меньшей мере одно приложение, которым необходимо управлять, может включать в себя приложение по работе с данными. Это приложение по работе с данными может управляться путем (i) уменьшения объема данных, которыми обмениваются (например, отправляют и/или принимают) с базовой станцией, когда обнаруживаются высокие потребности в обработке, или (ii) увеличения объема данных, которыми обмениваются с базовой станцией, когда обнаруживаются низкие потребности в обработке. Высокие потребности в обработке могут соответствовать потребностям в обработке, превышающим верхнюю пороговую величину, а низкие потребности в обработке могут соответствовать потребностям в обработке, опускающимся ниже нижней пороговой величины.
Приложение по работе с данными может управляться путем регулировки размера окна на основе потребностей в обработке и максимальной производительности обработки. Размер окна может регламентировать количество неподтвержденных пакетов, которыми обмениваются с помощью приложения по работе с данными. Размер окна может регулироваться между максимальным значением и минимальным значением, где минимальное значение может выбираться, чтобы избежать тайм-аута TCP и/или другого протокола. Когда обнаруживаются высокие потребности в обработке, размер окна может быть уменьшен (i) резко до минимального значения, если приложение по работе с данными еще не управляется, или (ii) ступенчато, если приложение по работе с данными управляется. Когда обнаруживаются низкие потребности в обработке, размер окна может быть увеличен ступенчато, например, на один шаг увеличения в каждом интервале обновления, вплоть до максимального значения. Размер окна может сохраняться, когда обнаруживаются средние потребности в обработке. Для нисходящей линии связи размер окна может отправляться базовой станции либо один раз, либо множество раз для повышения надежности. Размер окна может использоваться RLC в HSDPA.
Приложение по работе с данными также может управляться на основе обратной связи CQI. CQI может быть получен на основе качества канала нисходящей линии связи, измеренного в беспроводном устройстве для базовой станции. Когда обнаруживаются высокие потребности в обработке, CQI может быть уменьшен, и уменьшенный CQI может быть отправлен базовой станции. NAK также могут отправляться для заранее установленного процентного отношения пакетов, принятых от базовой станции, даже если пакеты декодируются правильно, когда обнаруживаются высокие потребности в обработке. Приложение по работе с данными также может управляться путем изменения размера транспортного блока, модификации отчетов о состоянии буфера, отправленных сети, и т.д. Отчеты о состоянии буфера могут модифицироваться, чтобы ресурсы сети (информация о планировании и измерения объема трафика) не растрачивались.
Фиг.8 показывает исполнение процесса 800, выполняемого базовой станцией. Информация, определенная на основе потребностей в обработке и максимальной производительности обработки в беспроводном устройстве, принимается базовой станцией (этап 812). Объем данных для обмена с беспроводным устройством может управляться на основе принятой информации (этап 814). Данными можно обмениваться с беспроводным устройством на основе управления, сформированного для обмена данными (этап 816). Информация может содержать размер окна, регламентирующий количество неподтвержденных пакетов, например, размер окна, используемый RLC для HSDPA. Пакеты могут затем отправляться беспроводному устройству в соответствии с размером окна. Информация может содержать CQI, и скорость передачи данных может выбираться для передачи к беспроводному устройству на основе CQI. Информация также может содержать CQI и NAK, и скорость передачи данных может выбираться для передачи к беспроводному устройству на основе CQI и NAK. В любом случае пакеты могут отправляться к беспроводному устройству в соответствии с выбранной скоростью передачи данных.
Фиг.9 показывает исполнение процесса 900, выполняемого беспроводным устройством для управления разными ресурсами. Могут отслеживаться потребности в обработке от приложений в выделяемых ресурсах обработки на беспроводном устройстве (этап 912). По меньшей мере одно приложение может управляться на основе потребностей в обработке (этап 914). Могут отслеживаться потребности в шине от приложений в выделяемых ресурсах шины (этап 916). По меньшей мере одно приложение может управляться на основе потребностей в шине (этап 918). Могут отслеживаться потребности в памяти от приложений в выделяемых ресурсах памяти (этап 920). По меньшей мере одно приложение может управляться на основе потребностей в памяти (этап 922). Могут отслеживаться потребности в кэше от приложений в выделяемых ресурсах кэша (этап 924). По меньшей мере одно приложение может управляться на основе потребностей в кэше (этап 926). От приложений может приниматься информация о приоритетах приложений, работающих в беспроводном устройстве, является ли каждое приложение управляемым или не управляемым, и/или другая информация. По меньшей мере одно приложение может быть выбрано для управления на основе принятой информации.
Фиг.10 показывает исполнение процесса 1000, выполняемого беспроводным устройством для изменения объема ресурсов, чтобы удовлетворить потребности в ресурсах. Приложения, работающие в беспроводном устройстве, могут выполняться модулем обработки, имеющем конфигурируемую производительность обработки (этап 1012). Потребности в обработке у приложений могут отслеживаться (этап 1014). Производительность обработки у модуля обработки может регулироваться на основе потребностей в обработке (этап 1016). Например, тактовая частота модуля обработки может меняться для регулировки производительности обработки. Более высокая тактовая частота может выбираться для модуля обработки, когда потребности в обработке превышают верхнюю пороговую величину. Более низкая тактовая частота может выбираться для модуля обработки, когда потребности в обработке опускаются ниже нижней пороговой величины. Потребности в шине у приложений могут отслеживаться (этап 1018). Пропускная способность шины может регулироваться на основе потребностей в шине (этап 1020). Например, тактовая частота шины может меняться для регулировки пропускной способности шины.
Описанные в этом документе методики могут реализовываться различными средствами. Например, эти методики могут реализовываться в аппаратных средствах, микропрограммном обеспечении, программном обеспечении либо их сочетании. Для аппаратной реализации модули обработки, используемые для выполнения методик на объекте (например, беспроводном устройстве или базовой станции), могут реализовываться в одной или нескольких специализированных интегральных схемах (ASIC), цифровых процессорах сигналов (DSP), устройствах цифровой обработки сигналов (DSPD), программируемых логических устройствах (PLD), программируемых пользователем вентильных матрицах (FPGA), процессорах, контроллерах, микроконтроллерах, микропроцессорах, электронных устройствах, других электронных модулях, спроектированных для выполнения описанных здесь функций, компьютере или их сочетании.
Для микропрограммной и/или программной реализации методики могут реализовываться с помощью модулей (например, процедур, функций и т.д.), которые выполняют описанные в этом документе функции. Микропрограммные и/или программные команды могут храниться в запоминающем устройстве (например, запоминающем устройстве 134 или 162 на фиг.1) и выполняться процессором (например, процессором 132 или 160). Запоминающее устройство может реализовываться внутри процессора или вне процессора. Микропрограммные и/или программные команды также могут храниться на другом считываемом процессором носителе, таком как оперативное запоминающее устройство (RAM), постоянное запоминающее устройство (ROM), энергонезависимое оперативное запоминающее устройство (NVRAM), программируемое постоянное запоминающее устройство (PROM), электрически стираемое PROM (EEPROM), флэш-память, компакт-диск (CD), магнитное или оптическое устройство хранения данных и т.д.
Устройство, реализующее описанные в этом документе методики, может быть автономным модулем или может быть частью устройства. Устройство может быть (i) автономной интегральной схемой (IC), (ii) набором из одной или нескольких IC, который может включать в себя IC памяти для хранения данных и/или команд, (iii) ASIC, например, модемом мобильной станции (MSM), (iv) модулем, который может быть встроен в другие устройства, (v) сотовым телефоном, беспроводным устройством, телефонной трубкой или мобильным модулем, (vi) и т.д.
Предшествующее описание раскрытия изобретения предоставляется, чтобы дать возможность любому специалисту в данной области техники создать или использовать раскрытие изобретения. Различные модификации к этому раскрытию изобретения будут полностью очевидны специалистам в данной области техники, а общие принципы, определенные в этом документе, могут быть применены к другим вариациям без отклонения от сущности или объема раскрытия изобретения. Таким образом, данное раскрытие изобретения не предназначено, чтобы ограничиваться описанными в этом документе примерами и исполнениями, а должно соответствовать самому широкому объему, согласующемуся с принципами и новыми признаками, раскрытыми в этом документе.

Claims (44)

1. Устройство для управления ресурсами в беспроводном устройстве, выполненном с возможностью осуществления беспроводной связи с базовой станцией, содержащее:
модуль обработки, имеющий производительность обработки и функционирующий для выполнения одного или более приложений, работающих в устройстве; и
контроллер, функционирующий для:
отслеживания потребностей в обработке у приложений на основе, по меньшей мере, частично загрузки центрального процессора (CPU) и для управления, по меньшей мере, одним из одного или более приложений на основе отслеживаемых потребностей в обработке и производительности обработки; и
регулировки размера окна, по меньшей мере, для одного приложения на основе, по меньшей мере, частично отслеживаемых потребностей в обработке и производительности обработки, причем размер окна регламентирует количество неподтвержденных пакетов, передаваемых между, по меньшей мере, одним приложением и базовой станцией, чтобы тем самым увеличить или уменьшить объем данных, которыми обмениваются с базовой станцией, в зависимости от отслеживаемых потребностей в обработке и производительности обработки.
2. Устройство по п.1, в котором контроллер функционирует для выбора, по меньшей мере, одного приложения для управления среди приложений, работающих в устройстве, на основе приоритетов приложений.
3. Устройство по п.2, в котором контроллер функционирует для управления сначала приложением с низким приоритетом и для управления приложением с высоким приоритет после того, как управление приложением с низким приоритетом выполнено полностью.
4. Устройство по п.1, в котором, по меньшей мере, одно приложение содержит приложение по работе с данными, и в котором контроллер функционирует для уменьшения объема данных, которыми приложение по работе с данными обменивается с базовой станцией, в ответ на обнаружение высоких потребностей в обработке, и для увеличения объема данных, которыми приложение по работе с данными обменивается с базовой станцией, в ответ на обнаружение низких потребностей в обработке.
5. Устройство по п.4, в котором высокие потребности в обработке обнаруживаются в ответ на превышение потребностей в обработке верхней пороговой величины, а низкие потребности в обработке обнаруживаются в ответ на несоответствие потребностей в обработке нижней пороговой величине.
6. Устройство по п.1, в котором контроллер функционирует для регулировки размера окна между максимальным значением и минимальным значением, причем минимальное значение выбирается, чтобы избежать тайм-аута по протоколу управления передачей (TCP).
7. Устройство по п.1, в котором контроллер функционирует для уменьшения размера окна в ответ на обнаружение высоких потребностей в обработке.
8. Устройство по п.1, в котором контроллер функционирует для уменьшения размера окна с максимального значения до минимального значения в ответ на обнаружение высоких потребностей в обработке.
9. Устройство по п.1, в котором контроллер функционирует для уменьшения размера окна с максимального значения до минимального значения в ответ на обнаружение высоких потребностей в обработке, в то время как приложением по работе с данными еще не управляют, и для уменьшения размера окна ступенчато в ответ на обнаружение высоких потребностей в обработке, а приложением по работе с данными управляют.
10. Устройство по п.1, в котором контроллер функционирует для увеличения размера окна ступенчато до максимального значения в ответ на обнаружение низких потребностей в обработке.
11. Устройство по п.1, в котором контроллер функционирует для увеличения размера окна на шаг увеличения в каждом интервале обновления вплоть до максимального значения в ответ на обнаружение низких потребностей в обработке.
12. Устройство по п.1, в котором контроллер функционирует для сохранения размера окна в ответ на обнаружение средних потребностей в обработке.
13. Устройство по п.1, в котором контроллер функционирует для отправки размера окна базовой станции.
14. Устройство по п.1, в котором контроллер функционирует для отправки размера окна базовой станции множество раз для повышения надежности.
15. Устройство по п.1, в котором контроллер функционирует для уменьшения размера окна, регламентирующего количество неподтвержденных протокольных блоков данных (PDU), отправленных по протоколу работы радиолинии (RLC) для высокоскоростного пакетного доступа нисходящей линии связи (HSDPA), в ответ на обнаружение высоких потребностей в обработке, и для отправки размера окна базовой станции.
16. Устройство по п.1, в котором контроллер функционирует для получения индикатора качества канала (CQI) на основе измеренного качества канала в устройстве для базовой станции, для уменьшения CQI в ответ на обнаружение высоких потребностей в обработке и для отправки уменьшенного CQI базовой станции.
17. Устройство по п.16, в котором контроллер функционирует для отправки отрицательных подтверждений получения (NAK) для заранее определенного процентного отношения пакетов, принятых от базовой станции, даже если пакеты декодируются правильно, в ответ на обнаружение высоких потребностей в обработке.
18. Устройство по п.1, в котором, по меньшей мере, одно приложение содержит приложение по работе с данными, и в котором контроллер функционирует для изменения размера транспортного блока для приложения по работе с данными на основе потребностей в обработке.
19. Устройство по п.1, в котором, по меньшей мере, одно приложение содержит приложение по работе с данными, и в котором контроллер функционирует для формирования отчетов о состоянии буфера для приложения по работе с данными на основе, по меньшей мере, частично потребностей в обработке и для отправки базовой станции отчетов о состоянии буфера.
20. Устройство по п.1, в котором контроллер функционирует для изменения тактовой частоты модуля обработки, чтобы регулировать производительность обработки.
21. Устройство по п.1, в котором контроллер функционирует для выбора более высокой тактовой частоты для модуля обработки в ответ на то, что потребности в обработке превышают верхнюю пороговую величину, и для выбора более низкой тактовой частоты для модуля обработки в ответ на то, что потребности в обработке не соответствуют нижней пороговой величине.
22. Устройство по п.1, дополнительно содержащее
шину, имеющую конфигурируемую пропускную способность шины, и в котором контроллер функционирует для отслеживания потребностей в шине у приложений и для регулировки пропускной способности шины на основе, по меньшей мере, частично потребностей в шине.
23. Устройство по п.22, в котором контроллер функционирует для изменения тактовой частоты шины, чтобы регулировать пропускную способность шины.
24. Способ управления ресурсами в беспроводном устройстве, содержащий этапы, на которых:
отслеживают потребности в обработке у одного или более приложений, работающих в беспроводном устройстве, для модуля обработки, имеющего производительность обработки, на основе, по меньшей мере, частично загрузки центрального процессора (CPU); и
управляют, по меньшей мере, одним из приложений на основе потребностей в обработке и производительности обработки посредством регулировки размера окна, по меньшей мере, для одного приложения на основе, по меньшей мере, частично отслеживаемых потребностей в обработке и производительности обработки, причем размер окна регламентирует количество неподтвержденных пакетов, передаваемых между, по меньшей мере, одним приложением и базовой станцией, чтобы тем самым увеличить или уменьшить объем данных, которыми обмениваются с базовой станцией, в зависимости от отслеживаемых потребностей в обработке и производительности обработки.
25. Способ по п.24, в котором, по меньшей мере, одно приложение содержит приложение по работе с данными, и в котором этап, на котором управляют, по меньшей мере, одним приложением, содержит этапы, на которых
уменьшают объем данных, которыми приложение по работе с данными обменивается с базовой станцией, в ответ на обнаружение высоких потребностей в обработке, и
увеличивают объем данных, которыми приложение по работе с данными обменивается с базовой станцией, в ответ на обнаружение низких потребностей в обработке.
26. Способ по п.24, в котором этап, на котором регулируют размер окна для приложения по работе с данными, содержит этапы, на которых
уменьшают размер окна в ответ на обнаружение высоких потребностей в обработке и
увеличивают размер окна в ответ на обнаружение низких потребностей в обработке.
27. Способ по п.24, дополнительно содержащий этап, на котором регулируют производительность обработки модуля обработки посредством того, что
выбирают более высокую тактовую частоту для модуля обработки в ответ на превышение потребности в обработке верхней пороговой величины, и
выбирают более низкую тактовую частоту для модуля обработки в ответ на то, что потребности в обработке не выходят за пределы нижней пороговой величины.
28. Способ по п.24, дополнительно содержащий этапы, на которых:
отслеживают потребности в шине у одного или более приложений для шины, имеющей конфигурируемую пропускную способность шины; и
регулируют пропускную способность шины на основе потребностей в шине.
29. Устройство для управления объемом данных, которыми обмениваются с базовой станцией, содержащее:
средство для отслеживания потребностей в обработке у одного или более приложений, работающих в беспроводном устройстве, для модуля обработки, имеющего производительность обработки, на основе, по меньшей мере, частично загрузки центрального процессора (CPU); и
средство для управления, по меньшей мере, одним из приложений на основе потребностей в обработке и производительности обработки, причем упомянутое средство для управления, по меньшей мере, одним приложением дополнительно содержит средство для регулировки размера окна, по меньшей мере, для одного приложения на основе, по меньшей мере, частично отслеживаемых потребностей в обработке и производительности обработки, причем размер окна регламентирует количество неподтвержденных пакетов, передаваемых между, по меньшей мере, одним приложением и базовой станцией, чтобы тем самым увеличить или уменьшить объем данных, которыми обмениваются с базовой станцией, в зависимости от отслеживаемых потребностей в обработке и производительности обработки.
30. Устройство по п.29, в котором, по меньшей мере, одно приложение содержит приложение по работе с данными, и в котором средство для управления, по меньшей мере, одним приложением содержит
средство для уменьшения объема данных, которыми приложение по работе с данными обменивается с базовой станцией, в ответ на обнаружение высоких потребностей в обработке, и
средство для увеличения объема данных, которыми приложение по работе с данными обменивается с базовой станцией, в ответ на обнаружение низких потребностей в обработке.
31. Материальный постоянный считываемый процессором носитель, хранящий команды, которые исполняются одним или более процессорами, для:
отслеживания потребностей в обработке у одного или более приложений, работающих в беспроводном устройстве, для модуля обработки, имеющего производительность обработки, на основе, по меньшей мере, частично загрузки центрального процессора (CPU); и
управления, по меньшей мере, одним из приложений на основе потребностей в обработке и производительности обработки посредством регулировки размера окна, по меньшей мере, для одного приложения на основе, по меньшей мере, частично отслеживаемых потребностей в обработке и производительности обработки, причем размер окна регламентирует количество неподтвержденных пакетов, передаваемых между, по меньшей мере, одним приложением и базовой станцией, чтобы тем самым увеличить или уменьшить объем данных, которыми обмениваются с базовой станцией, в зависимости от отслеживаемых потребностей в обработке и производительности обработки.
32. Постоянный считываемый процессором носитель по п.31, причем команды дополнительно исполняются одним или более процессорами для:
уменьшения объема данных, которыми приложение по работе с данными обменивается с базовой станцией, в ответ на обнаружение высоких потребностей в обработке, причем приложение по работе с данными является одним из, по меньшей мере, одного приложения, которым управляют, и
увеличения объема данных, которыми приложение по работе с данными обменивается с базовой станцией, в ответ на обнаружение низких потребностей в обработке.
33. Устройство для управления объемом данных, которыми обмениваются, причем это устройство выполнено с возможностью осуществления беспроводной связи с беспроводным устройством, содержащее:
контроллер, функционирующий для приема размера окна, определенного на основе, по меньшей мере, частично потребностей в обработке и производительности обработки в беспроводном устройстве на основе, по меньшей мере, частично загрузки центрального процессора (CPU), и для управления объемом данных для обмена с беспроводным устройством на основе, по меньшей мере, частично принятого размера окна; и
процессор, функционирующий для обмена данными с беспроводным устройством на основе управления от контроллера, причем размер окна регламентирует количество неподтвержденных пакетов, передаваемых между, по меньшей мере, одним приложением, работающим в беспроводном устройстве, и упомянутым устройством, чтобы тем самым увеличить или уменьшить объем данных, которыми обмениваются между, по меньшей мере, одним приложением и упомянутым устройством, в зависимости от потребностей в обработке и производительности обработки.
34. Устройство по п.33, причем размер окна регламентирует количество неподтвержденных протокольных блоков данных (PDU), отправленных по протоколу работы радиолинии (RLC) для высокоскоростного пакетного доступа нисходящей линии связи (HSDPA), и в котором процессор функционирует для отправки PDU беспроводному устройству в соответствии с размером окна.
35. Устройство по п.33, в котором контроллер дополнительно функционирует для приема индикатора качества канала (CQI), и в котором контроллер функционирует для выбора скорости передачи данных для передачи беспроводному устройству на основе CQI, и в котором процессор функционирует для отправки пакетов беспроводному устройству в соответствии с выбранной скоростью передачи данных.
36. Способ управления объемом данных, которыми обмениваются, содержащий этапы, на которых:
принимают размер окна, определенный на основе, по меньшей мере, частично потребностей в обработке и производительности обработки в беспроводном устройстве, определенных на основе, по меньшей мере, частично загрузки центрального процессора (CPU); и
управляют объемом данных для обмена с беспроводным устройством на основе принятого размера окна, причем размер окна регламентирует количество неподтвержденных пакетов, которыми обмениваются, по меньшей мере, с одним приложением, работающим в беспроводном устройстве, и устройством, чтобы тем самым увеличить или уменьшить объем данных, которыми обмениваются, по меньшей мере, с одним приложением, в зависимости от потребностей в обработке и производительности обработки.
37. Устройство для управления ресурсами в беспроводном устройстве, выполненном с возможностью осуществления беспроводной связи с базовой станцией, содержащее:
ресурсы обработки, выделяемые одному или более приложениям, работающим в упомянутом устройстве, причем ресурсы обработки имеют производительность обработки; и
контроллер, функционирующий для отслеживания потребностей в обработке у одного или более приложений на предмет выделяемых ресурсов обработки на основе, по меньшей мере, частично загрузки центрального процессора (CPU) и для управления, по меньшей мере, одним из приложений посредством регулировки размера окна, по меньшей мере, для одного приложения на основе, по меньшей мере, частично отслеживаемых потребностей в обработке и производительности обработки, причем размер окна регламентирует количество неподтвержденных пакетов, передаваемых между, по меньшей мере, одним приложением и базовой станцией, чтобы тем самым увеличить или уменьшить объем данных, которыми обмениваются с базовой станцией, в зависимости от отслеживаемых потребностей в обработке и производительности обработки.
38. Устройство по п.37, дополнительно содержащее:
ресурсы шины, выделяемые одному или более приложениям, работающим в устройстве; и
в котором контроллер функционирует для отслеживания потребностей в шине у приложений на предмет выделяемых ресурсов шины и для управления, по меньшей мере, одним приложением на основе потребностей в шине.
39. Устройство по п.37, дополнительно содержащее:
ресурсы памяти, выделяемые приложениям, работающим в устройстве; и
в котором контроллер функционирует для отслеживания потребностей в памяти у приложений на предмет выделяемых ресурсов памяти и для управления, по меньшей мере, одним приложением на основе, по меньшей мере, частично потребностей в памяти.
40. Устройство по п.37, дополнительно содержащее:
ресурсы кэша, выделяемые приложениям, работающим в устройстве; и
в котором контроллер функционирует для отслеживания потребностей в кэше у приложений на предмет выделяемых ресурсов кэша и для управления, по меньшей мере, одним приложением на основе, по меньшей мере, частично потребностей в кэше.
41. Устройство по п.37, в котором контроллер функционирует для приема информации, указывающей, является ли управляемым или не управляемым каждое приложение, работающее в устройстве, и для выбора, по меньшей мере, одного приложения для управления на основе, по меньшей мере, частично принятой информации.
42. Устройство по п.37, в котором контроллер функционирует для приема информации, указывающей приоритеты приложений, работающих в устройстве, и для выбора, по меньшей мере, одного приложения для управления на основе, по меньшей мере, частично принятой информации.
43. Способ управления ресурсами в беспроводном устройстве, содержащий этапы, на которых:
отслеживают потребности в обработке у одного или более приложений, работающих в беспроводном устройстве, на предмет выделяемых ресурсов обработки в беспроводном устройстве на основе, по меньшей мере, частично загрузки центрального процессора (CPU); и
управляют, по меньшей мере, одним из приложений на основе потребностей в обработке посредством регулировки размера окна, по меньшей мере, для одного приложения на основе, по меньшей мере, частично отслеживаемых потребностей в обработке и производительности обработки, причем размер окна регламентирует количество неподтвержденных пакетов, передаваемых между, по меньшей мере, одним приложением и базовой станцией, чтобы тем самым увеличить или уменьшить объем данных, которыми обмениваются с базовой станцией, в зависимости от отслеживаемых потребностей в обработке и производительности обработки.
44. Способ по п.43, дополнительно содержащий этапы, на которых:
отслеживают потребности в шине у приложений на предмет выделяемых ресурсов шины в беспроводном устройстве; и
управляют, по меньшей мере, одним приложением на основе, по меньшей мере, частично потребностей в шине.
RU2009116243/08A 2006-09-29 2007-09-28 Способ и устройство для управления ресурсами в беспроводном устройстве RU2460120C2 (ru)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US82767806P 2006-09-29 2006-09-29
US60/827,678 2006-09-29
US11/862,960 2007-09-27
US11/862,960 US8954045B2 (en) 2006-09-29 2007-09-27 Method and apparatus for managing resources at a wireless device

Publications (2)

Publication Number Publication Date
RU2009116243A RU2009116243A (ru) 2010-11-10
RU2460120C2 true RU2460120C2 (ru) 2012-08-27

Family

ID=39262459

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2009116243/08A RU2460120C2 (ru) 2006-09-29 2007-09-28 Способ и устройство для управления ресурсами в беспроводном устройстве

Country Status (12)

Country Link
US (1) US8954045B2 (ru)
EP (1) EP2069932B1 (ru)
JP (1) JP5166420B2 (ru)
KR (1) KR101181153B1 (ru)
CN (1) CN106445682A (ru)
BR (1) BRPI0717270A2 (ru)
CA (1) CA2662415C (ru)
ES (1) ES2636547T3 (ru)
HU (1) HUE035648T2 (ru)
RU (1) RU2460120C2 (ru)
TW (1) TWI395445B (ru)
WO (1) WO2008042813A2 (ru)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2637474C2 (ru) * 2014-08-29 2017-12-04 Сяоми Инк. Способ и устройство для управления фоновым приложением и терминальным устройством
RU2643479C2 (ru) * 2013-12-13 2018-02-01 Интел Корпорейшн Платформа, самостоятельно управляющая ресурсами на основе контекстуального понимания планов и целей пользователя
RU2774976C1 (ru) * 2018-09-27 2022-06-24 Зте Корпорейшн Способ и устройство для выбора времени передачи, базовая станция и машиночитаемый носитель данных
US11765670B2 (en) 2018-09-27 2023-09-19 Zte Corporation Method and apparatus for transmission timing, base station, and computer readable storage medium

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2218001B1 (en) 2007-11-02 2017-12-20 QUALCOMM Incorporated Configurable system event and resource arbitration management
US8509160B2 (en) * 2008-02-11 2013-08-13 Apple Inc. Method for efficient CQI feedback
EP3048835B1 (en) * 2008-02-20 2020-09-30 Amazon Technologies, Inc. Apparatus and method for constructing a data unit that includes a buffer status report
US9323306B2 (en) * 2008-12-03 2016-04-26 Telefonaktiebolaget Lm Ericsson (Publ) Energy based time scheduler for parallel computing system
US8516101B2 (en) * 2009-06-15 2013-08-20 Qualcomm Incorporated Resource management for a wireless device
US8112049B2 (en) * 2009-12-17 2012-02-07 Telefonaktiebolaget Lm Ericsson (Publ) Channel quality handling for precoder override
CN101788926B (zh) * 2009-12-28 2014-04-30 中兴通讯股份有限公司 J2me应用前台切换的资源调配方法及装置
US8352759B2 (en) * 2010-01-11 2013-01-08 Qualcomm Incorporated System and method of monitoring a central processing unit in real time
WO2011125635A1 (ja) * 2010-04-07 2011-10-13 日本電気株式会社 情報処理端末およびその制御方法
US8937863B2 (en) * 2010-04-12 2015-01-20 Qualcomm Incorporated Scheme and apparatus for multi-resource flow control
US8635486B2 (en) 2010-08-19 2014-01-21 Intel Mobile Communications GmbH Apparatus and method of controlling a processor clock frequency
US9098521B2 (en) 2010-09-15 2015-08-04 Qualcomm Incorporated System and method for managing resources and threshsold events of a multicore portable computing device
US9152523B2 (en) 2010-09-15 2015-10-06 Qualcomm Incorporated Batching and forking resource requests in a portable computing device
US8806502B2 (en) 2010-09-15 2014-08-12 Qualcomm Incorporated Batching resource requests in a portable computing device
US8615755B2 (en) 2010-09-15 2013-12-24 Qualcomm Incorporated System and method for managing resources of a portable computing device
US8631414B2 (en) 2010-09-15 2014-01-14 Qualcomm Incorporated Distributed resource management in a portable computing device
EP2437435B1 (en) 2010-09-29 2016-06-15 BlackBerry Limited Method and device for providing system status information
US8635630B2 (en) * 2010-10-25 2014-01-21 Microsoft Corporation Application lifetime management
US20120102200A1 (en) * 2010-10-26 2012-04-26 Qualcomm Incorporated Application specific resource management
US8595374B2 (en) * 2010-12-08 2013-11-26 At&T Intellectual Property I, L.P. Method and apparatus for capacity dimensioning in a communication network
US9075652B2 (en) * 2010-12-20 2015-07-07 Microsoft Technology Licensing, Llc Idle time service
KR101723389B1 (ko) 2011-01-10 2017-04-18 삼성전자주식회사 적응적 응용 프로그램 구동 장치 및 방법
US9088965B2 (en) 2011-08-03 2015-07-21 Acer Incorporated Data transmission methods and apparatuses using the same
US8997171B2 (en) 2011-08-19 2015-03-31 Microsoft Technology Licensing, Llc Policy based application suspension and termination
US9053487B2 (en) 2011-08-22 2015-06-09 At&T Intellectual Property I, L.P. Methods, systems, and products for notifying of enhancements to quality of service and experience
US20130055136A1 (en) * 2011-08-22 2013-02-28 At&T Intellectual Property I, L.P. Methods, Systems, and Products for Controlling Quality of Service and Experience
US8578394B2 (en) 2011-09-09 2013-11-05 Microsoft Corporation Exempting applications from suspension
US9300814B2 (en) * 2011-09-12 2016-03-29 Microsoft Technology Licensing Llc Network adaptive content download
US9112906B2 (en) * 2011-11-07 2015-08-18 Acer Incorporated Data transmission methods and appratuses using the same
TWI503037B (zh) * 2011-11-07 2015-10-01 Acer Inc 行動通訊裝置及資料傳輸方法
TWI511588B (zh) * 2011-11-07 2015-12-01 Acer Inc 最佳化通訊協定之視窗大小伸縮以在無線網路系統內傳送資料之方法
CN102413184B (zh) * 2011-11-24 2014-05-14 迈普通信技术股份有限公司 分布式架构中协议栈的实现方法和装置
US8897762B2 (en) * 2012-02-28 2014-11-25 Qualcomm Incorporated Optimizing signaling load overhead and battery consumption for background applications
US8718726B2 (en) 2012-03-16 2014-05-06 Apple Inc. Methods and apparatus for reducing call drop rate
JP5951393B2 (ja) * 2012-07-26 2016-07-13 京セラ株式会社 携帯通信端末
KR20140044993A (ko) 2012-09-20 2014-04-16 삼성전자주식회사 이동통신 시스템에서 작은 데이터를 검출하기 위한 방법 및 장치
US9575618B2 (en) * 2012-10-19 2017-02-21 Google Inc. Multi-user process management
US8989008B2 (en) * 2012-10-26 2015-03-24 Verizon Patent And Licensing Inc. Wirespeed TCP packet window field modification for networks having radio segments
JP6089783B2 (ja) * 2013-02-27 2017-03-08 富士通株式会社 制御装置、リソース制御プログラムおよびリソース制御方法
US9668277B2 (en) 2013-03-13 2017-05-30 Qualcomm Incorporated Adaptive clock rate for high speed data communications
JP6060756B2 (ja) * 2013-03-18 2017-01-18 富士通株式会社 周波数制御装置、周波数制御方法および周波数制御プログラム
EP3017378A4 (en) * 2013-07-05 2017-03-08 Nokia Solutions and Networks Oy Collective over-the -top application policy administration
WO2015054888A1 (zh) * 2013-10-18 2015-04-23 华为技术有限公司 一种资源管理方法及设备
US10165498B2 (en) * 2016-03-23 2018-12-25 JVC Kenwood Corporation Management device, terminal device, and management method performing process of selecting resource of radio link
US20170310601A1 (en) * 2016-04-21 2017-10-26 Qualcomm Incorporated Radio-aware transmission control protocol rate control
US10034292B1 (en) 2016-10-19 2018-07-24 Sprint Spectrum L.P. Resource allocation in wireless networks
EP3571860A4 (en) 2017-01-17 2021-01-27 Tutela Technologies Ltd. SYSTEM AND METHOD FOR EVALUATING THE PERFORMANCE OF A WIRELESS DEVICE AND / OR WIRELESS NETWORK
EP3571859B1 (en) * 2017-01-17 2022-03-16 Tutela Technologies Ltd. System and method for evaluating wireless device and wireless network performance
WO2018132900A1 (en) * 2017-01-17 2018-07-26 Tutela Technologies Ltd. System and method for interacting with and controlling testing of wireless device and/or wireless network performance on wireless electronic devices
US10536505B2 (en) * 2017-04-30 2020-01-14 Cisco Technology, Inc. Intelligent data transmission by network device agent
US10694467B2 (en) * 2017-09-28 2020-06-23 Qualcomm Incorporated Dynamic clock switching within a transmission time interval
KR102456835B1 (ko) * 2017-12-22 2022-10-21 삼성전자주식회사 음성 데이터 패킷의 송신을 제어하는 전자 장치 및 방법
US12010469B2 (en) * 2018-07-31 2024-06-11 Abb Schweiz Ag Method and device for remote monitoring and diagnosis of field equipment
WO2020042076A1 (en) * 2018-08-30 2020-03-05 Mediatek Singapore Pte. Ltd. Methods for reducing power consumption of a communication apparatus and a communication apparatus utilizing the same
US11463144B2 (en) * 2018-11-02 2022-10-04 Qualcomm Incorporated Techniques for reporting channel quality indicators in wireless communications
JP7165622B2 (ja) * 2019-05-20 2022-11-04 ルネサスエレクトロニクス株式会社 無線通信装置および無線通信システム
CN112448732B (zh) 2019-09-02 2023-06-02 华为技术有限公司 无线设备的射频暴露控制方法、装置及无线设备
US12425342B2 (en) * 2022-05-18 2025-09-23 Cisco Technology, Inc. Layer 4 load aware load balancing

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6594699B1 (en) * 1997-10-10 2003-07-15 Kasenna, Inc. System for capability based multimedia streaming over a network
EP1376372A2 (en) * 2002-06-26 2004-01-02 Microsoft Corporation Process-mode independent driver model
RU2263409C2 (ru) * 1999-07-23 2005-10-27 Каналь+Сосьетэ Аноним Способы и устройство для обмена данными
RU2280958C2 (ru) * 2001-11-24 2006-07-27 Эл Джи Электроникс Инк. Система и способ опроса блока протокольных данных буфера передачи

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01196633A (ja) * 1988-02-01 1989-08-08 Nec Corp タスク制御方式
JP2823520B2 (ja) 1993-12-17 1998-11-11 テキサス インスツルメンツ インコーポレイテツド リアルタイムアプリケーションタスクスケジューリング及び処理システム
JPH08294100A (ja) 1995-04-20 1996-11-05 Canon Inc 通信端末及び監視システム
WO1997015149A1 (en) 1995-10-18 1997-04-24 Philips Electronics N.V. Method for making a multimedia application executable on hardware platforms with various different resource levels, a physical record containing such application, and an apparatus for executing such application
US5774704A (en) * 1996-07-29 1998-06-30 Silicon Graphics, Inc. Apparatus and method for dynamic central processing unit clock adjustment
JPH1097435A (ja) 1996-09-20 1998-04-14 Nec Corp 資源割当てシステム
JPH10177489A (ja) 1996-12-17 1998-06-30 Matsushita Electric Ind Co Ltd タスクのスケジュール方法
JPH10229420A (ja) * 1997-02-17 1998-08-25 Matsushita Electric Ind Co Ltd 通信システム
JP3320344B2 (ja) 1997-09-19 2002-09-03 富士通株式会社 ライブラリ装置用カートリッジ移送ロボットおよびライブラリ装置
EP1067771A1 (en) 1999-07-05 2001-01-10 CANAL+ Société Anonyme Communications method and apparatus
US6643259B1 (en) * 1999-11-12 2003-11-04 3Com Corporation Method for optimizing data transfer in a data network
US7016412B1 (en) 2000-08-29 2006-03-21 Koninklijke Philips Electronics N.V. System and method for dynamic adaptive decoding of scalable video to balance CPU load
US7237007B2 (en) 2001-12-05 2007-06-26 Qualcomm Incorporated Method and system for flow control between a base station controller and a base transceiver station
JP3799285B2 (ja) * 2002-03-29 2006-07-19 Necインフロンティア株式会社 無線lan基地局、無線端末およびプログラム
JP2004062950A (ja) * 2002-07-25 2004-02-26 Sony Corp データ処理装置およびデータ処理方法、並びにプログラム
KR100474302B1 (ko) 2002-09-07 2005-03-10 엘지전자 주식회사 무선 링크 콘트롤(rlc) 계층의 버퍼제어 방법
US7289452B2 (en) * 2002-10-24 2007-10-30 Nokia Corporation Transport block size (TBS) signaling enhancement
US7321556B1 (en) * 2002-10-28 2008-01-22 Ipolicy Networks, Inc Application prioritization policy engine
CN1622081A (zh) 2003-11-24 2005-06-01 顺德市顺达电脑厂有限公司 降低可携式数字产品电池耗电量的方法
KR100520146B1 (ko) 2003-12-22 2005-10-10 삼성전자주식회사 고속 순방향 패킷 접속 통신 시스템에서 데이터 처리장치및 방법
JP4417733B2 (ja) * 2004-01-15 2010-02-17 ソニー・エリクソン・モバイルコミュニケーションズ株式会社 伝送方法及び装置
US7610377B2 (en) * 2004-01-27 2009-10-27 Sun Microsystems, Inc. Overload management in an application-based server
KR100678184B1 (ko) * 2004-05-19 2007-02-02 삼성전자주식회사 이동통신 시스템에서 향상된 역방향 전용채널의 스케줄링방법 및 장치
US7735085B2 (en) 2004-05-26 2010-06-08 Qualcomm Incorporated System for application priority based on device operating mode
US7389452B2 (en) * 2004-06-29 2008-06-17 Electronics For Imaging, Inc. Methods and apparatus for monitoring internal signals in an integrated circuit
CN100486242C (zh) 2004-07-15 2009-05-06 大唐移动通信设备有限公司 实现无线链路控制协议窗口流量控制的方法
US7839858B2 (en) * 2004-08-31 2010-11-23 Telefonaktiebolaget Lm Ericsson Data unit sender and data unit relay device
US20060205517A1 (en) 2005-03-08 2006-09-14 Malabuyo Paolo V Systems and methods for providing a system level user interface in a multimedia console
US7885330B2 (en) * 2005-07-12 2011-02-08 Insors Integrated Communications Methods, program products and systems for compressing streaming video data
US7640449B2 (en) * 2006-08-17 2009-12-29 Via Technologies, Inc. Systems and methods for dynamic clock frequencies for low power design

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6594699B1 (en) * 1997-10-10 2003-07-15 Kasenna, Inc. System for capability based multimedia streaming over a network
RU2263409C2 (ru) * 1999-07-23 2005-10-27 Каналь+Сосьетэ Аноним Способы и устройство для обмена данными
RU2280958C2 (ru) * 2001-11-24 2006-07-27 Эл Джи Электроникс Инк. Система и способ опроса блока протокольных данных буфера передачи
EP1376372A2 (en) * 2002-06-26 2004-01-02 Microsoft Corporation Process-mode independent driver model

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2643479C2 (ru) * 2013-12-13 2018-02-01 Интел Корпорейшн Платформа, самостоятельно управляющая ресурсами на основе контекстуального понимания планов и целей пользователя
RU2637474C2 (ru) * 2014-08-29 2017-12-04 Сяоми Инк. Способ и устройство для управления фоновым приложением и терминальным устройством
RU2774976C1 (ru) * 2018-09-27 2022-06-24 Зте Корпорейшн Способ и устройство для выбора времени передачи, базовая станция и машиночитаемый носитель данных
US11765670B2 (en) 2018-09-27 2023-09-19 Zte Corporation Method and apparatus for transmission timing, base station, and computer readable storage medium

Also Published As

Publication number Publication date
KR20090077055A (ko) 2009-07-14
BRPI0717270A2 (pt) 2013-10-22
JP5166420B2 (ja) 2013-03-21
WO2008042813A2 (en) 2008-04-10
CA2662415C (en) 2012-09-18
US20080085717A1 (en) 2008-04-10
RU2009116243A (ru) 2010-11-10
HUE035648T2 (en) 2018-05-28
EP2069932A2 (en) 2009-06-17
TWI395445B (zh) 2013-05-01
WO2008042813A3 (en) 2008-06-19
US8954045B2 (en) 2015-02-10
KR101181153B1 (ko) 2012-09-17
CN106445682A (zh) 2017-02-22
CA2662415A1 (en) 2008-04-10
JP2010506270A (ja) 2010-02-25
TW200833049A (en) 2008-08-01
EP2069932B1 (en) 2017-05-17
ES2636547T3 (es) 2017-10-06

Similar Documents

Publication Publication Date Title
RU2460120C2 (ru) Способ и устройство для управления ресурсами в беспроводном устройстве
EP2443862B1 (en) Resource management for a wireless device
US8605586B2 (en) Apparatus and method for load balancing
TWI385978B (zh) 用於排程之方法、裝置、系統、排程器及電腦可讀媒體
CN101088305B (zh) 高速下行链路分组接入的小区变更时的流量控制的方法及设备
US9407563B2 (en) Methods and apparatuses for adapting application uplink rate to wireless communications network
US9195296B2 (en) Apparatus and methods for optimizing power consumption in a wireless device
US20140226571A1 (en) Apparatus and method for enhanced application coexistence on an access terminal in a wireless communication system
JP4878391B2 (ja) 適応的なキュー待ち時間を伴うスケジューリング及びキューマネージメント
WO2010122486A2 (en) Dynamic adjustment of connection setup request parameters
CN101517539A (zh) 用于在无线设备处管理资源的方法和装置
US20060067270A1 (en) Method and system for control of capacity in a communication network
WO2009157826A1 (en) Congestion control in a wireless communication network
US9106381B2 (en) Method and system configuring a base station to trigger HS-DPCCH generation
EP4434207A1 (en) Compliance control for traffic flows in a wireless communication system

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20190929