СПОСОБ И УСТРОЙСТВО ПЕРЕДАЧИ ПАКЕТОВ, МИКРОСХЕМА И ОКОНЕЧНОЕ УСТРОЙСТВО
METHOD AND APPARATUS FOR PACKET TRANSMISSION, MICROCIRCUIT AND TERMINAL APPARATUS

Область техники, к которой относится изобретение
Настоящее изобретение относится к области техники связи, а точнее, к способу и устройству передачи пакетов, микросхеме и оконечному устройству.
УРОВЕНЬ ТЕХНИКИ
Так как доступ к мобильному интернету стал основной характеристикой оконечного устройства, непрерывно развивается техническое решение, используемое оконечным устройством для доступа в сеть. Это сильно улучшает скорость получения информации о конечном продукте. Протокол управления передачей/протокол межсетевого взаимодействия (TCP/IP), обычно используемый в области мобильной связи, является требующим соединения, надежным и основанным на потоке байтов протоколом связи транспортного уровня.
В процессе, в котором оконечное устройство осуществляет доступ в сеть, пользуясь протоколом TCP/IP, пакет зачастую отбрасывается (что также упоминается как потеря пакета). Находящийся в обращении способ обработки обычно состоит в том, что передающая сторона повторно передает данные. В находящемся в обращении способе обработки, потерян ли пакет, определяется в зависимости от обратной связи с приемной стороны. Например, если передающая сторона не приняла, в течение заданного периода времени, сообщение обратной связи, такое как ACK (подтверждение приема), отправленное приемной стороной, определяется, что пакет потерян, и пакет, в том числе, данные потерянного пакета, отправляется повторно. В этом решении, оконечное устройство сталкивается с относительно большой задержкой при реагировании на потерянный пакет, время остановки передачи данных между оконечным устройством и сетевым устройством относительно велико, и относительно серьезно нарушается качество связи в реальном времени.
Сущность изобретения
Ввиду этого, эта заявка предусматривает способ и устройство передачи пакетов, микросхему и оконечное устройство, с тем чтобы уменьшить задержку повторной передачи, оконечным устройством, подлежащего отправке пакета, отброшенного сигнальным процессором, и уменьшить, до некоторой степени, задержку реагирования оконечным устройством на потерю пакета, так чтобы передача данных между оконечным устройством и сетью была более равномерной.
Согласно первому аспекту, вариант осуществления настоящего изобретения предусматривает способ передачи пакетов, где способ применяется к оконечному устройству, оконечное устройство включает в себя сигнальный процессор, прикладной процессор и интерфейс связи, и способ включает в себя: сообщение, посредством сигнального процессора, информации о первом пакете в прикладной процессор, где первый пакет является подлежащим отправке пакетом, отброшенным сигнальным процессором, а информация о первом пакете включает в себя идентификатор первого пакета и идентификатор соединения TCP, пользуясь которым передается первый пакет; передачу, посредством прикладного процессора, второго пакета в сигнальный процессор согласно информации о первом пакете, где второй пакет идентичен первому пакету; и отправку, посредством сигнального процессора, второго пакета на сетевое устройство, пользуясь интерфейсом связи.
Следует отметить, что подлежащий отправке пакет, отброшенный сигнальным процессором, также может подразумеваться в качестве пакета, который доставлен прикладным процессором в сигнальный процессор, и который не удается отправить сигнальным процессором на сетевое устройство, пользуясь интерфейсом связи.
Следует отметить, что сетевое устройство может быть устройством, таким как базовая станция или сервер.
Второй пакет может подразумеваться в качестве копии первого пакета.
Таким образом, после отбрасывания подлежащего отправке пакета, сигнальный процессор может сообщать, в прикладной процессор, информацию о подлежащем передаче пакете, отброшенном сигнальным процессором, так чтобы прикладной процессор мог повторно доставить, в сигнальный процессор согласно сообщенной информации, копию пакета, отброшенного сигнальным процессором. Что пакет отброшен, может определяться раньше, чем определено, что таймер превышения лимита времени пакета истекает, а пакет подтверждения приема не принят с равноправной стороны, и пакет повторно отправляется в сигнальный процессор. Это может уменьшать задержку повторной передачи, оконечным устройством, подлежащего отправке пакета, отброшенного сигнальным процессором, и уменьшать, до некоторой степени, задержку реагирования оконечным устройством на потерю пакета, так чтобы передача данных между оконечным устройством и сетью была более равномерной. Так как состояние беспроводной сотовой сети часто меняется, случай, в котором сигнальный процессор отбрасывает подлежащий отправке пакет, происходит часто.
Со ссылкой на первый аспект, в первой реализации первого аспекта, сообщение, посредством сигнального процессора, информации о первом пакете в прикладной процессор включает в себя: когда имеется в распоряжении соединение данных оконечного устройства, сообщение, посредством сигнального процессора, информации о первом пакете в прикладной процессор.
Соединением данных является соединение, используемое для поддержки услуги передачи данных. Соединение данных оконечного устройства может подразумеваться в качестве соединения данных между оконечным устройством и базовой станцией.
Со ссылкой на первый аспект или первую реализацию первого аспекта, в еще одной реализации, когда соединение данных оконечного устройства отсутствует, сигнальный процессор кэширует информацию о первом пакете, а когда соединение данных оконечного устройства переключается с отсутствующего на имеющееся в распоряжении, сигнальный процессор сообщает информацию о первом пакете в прикладной процессор.
Следует понимать, что оконечное устройство может определять, посредством периодического выявления, пусковой механизм события, пусковой механизм команды, или тому подобное, имеется ли соединение данных оконечного устройства в распоряжении или отсутствует. Соединение данных оконечного устройства отсутствует в любом одном из следующих случаев: оконечное устройство находится в отсоединенном состоянии; оконечному устройству не удается нормально встать на обслуживание ни в какой обслуживающей соте; услуга передачи данных оконечного устройства находится в деактивированном состоянии; или оконечное устройство находится в сценарии вызова 2G в случае, когда область с коммутацией каналов возвращается (возврат к передаче с коммутацией каналов, CSFB) на 2G.
Следует отметить, что когда соединение оконечного устройства переключается с отсутствующего на имеющееся в распоряжении, сигнальный процессор сообщает информацию о первом пакете в прикладной процессор. Это указывает, что сигнальный процессор сообщает информацию о первом пакете в прикладной процессор после того, как соединение данных оконечного устройства переключается с отсутствующего на имеющееся в распоряжении. Одновременность строго не требуется, так как нужно время, чтобы прочитать команду, выполнить связанную операцию, и т. д. То есть, в пределах относительно короткого периода времени (например, нескольких миллисекунд или нескольких секунд) после того, как соединение данных оконечного устройства переключается с отсутствующего на имеющееся в распоряжении, сигнальный процессор совершает действие по сообщению информации о первом пакете в прикладной процессор.
В первой реализации и второй реализации, сигнальный процессор сообщает информацию об отброшенном подлежащем отправке пакете в сигнальный процессор, только когда соединение данных имеется в распоряжении, так чтобы могла быть улучшена обоснованность повторной передачи. Если информация об отброшенном подлежащем отправке пакете сообщается в прикладной процессор, только когда соединение данных имеется в распоряжении, может быть понижено энергопотребление оконечного устройства.
Согласно любой одной из вышеизложенных реализаций, в еще одной реализации, после передачи, посредством прикладного процессора, второго пакета в сигнальный процессор согласно информации о первом пакете, способ дополнительно включает в себя: увеличение, прикладным процессором, значения окна перегрузки соединения TCP.
После того, как прикладной процессор передает второй пакет в сигнальный процессор, окно перегрузки может быть уменьшено. После того, как окно перегрузки увеличено, влияние от повторной передачи при превышении лимита времени может быть устранено, количество пакетов, отправленных оконечным устройством, может быть гарантировано, а пропускная способность передачи оконечного устройства может быть улучшена.
Согласно любой одной из вышеизложенных реализаций, в еще одной реализации, идентификатором первого пакета является порядковый номер первого пакета, а соединением TCP, пользуясь которым передается первый пакет, является номер исходного порта соединения TCP; и передача, посредством прикладного процессора, второго пакета в сигнальный процессор согласно информации о первом пакете включает в себя: передачу, посредством прикладного процессора, второго пакета, который имеет тот же самый порядковый номер, что и первый пакет, в сигнальный процессор согласно номеру исходного порта.
Согласно второму аспекту, вариант осуществления настоящего изобретения предусматривает устройство передачи пакетов, и устройство включает в себя сигнальный процессор, прикладной процессор и передатчик. Сигнальный процессор выполнен с возможностью сообщать информацию о первом пакете в прикладной процессор, где первый пакет является подлежащим отправке пакетом, отброшенным сигнальным процессором, и информация о первом пакете включает в себя идентификатор первого пакета и идентификатор соединения TCP, пользуясь которым передается первый пакет; прикладной процессор выполнен с возможностью передавать второй пакет в сигнальный процессор согласно информации о первом пакете, где второй пакет идентичен первому пакету; и сигнальный процессор дополнительно выполнен с возможностью отправлять второй пакет на сетевое устройство, пользуясь передатчиком.
Так как вторым аспектом является устройство, соответствующее первому аспекту, ради различных реализаций, описаний и технических результатов, обратитесь к описаниям в первом аспекте.
Согласно третьему аспекту, предусмотрена микросхема. Микросхема устанавливает соединение данных с сетевым устройством, используя радиочастотный компонент, и микросхема включает в себя прикладной процессор и сигнальный процессор; сигнальный процессор выполнен с возможностью сообщать информацию о первом пакете в прикладной процессор, где первый пакет является подлежащим отправке пакетом, отброшенным сигнальным процессором, и информация о первом пакете включает в себя идентификатор первого пакета и идентификатор соединения TCP, пользуясь которым передается первый пакет; прикладной процессор выполнен с возможностью передавать второй пакет в сигнальный процессор согласно информации о первом пакете, где второй пакет идентичен первому пакету; и сигнальный процессор дополнительно выполнен с возможностью отправлять второй пакет на сетевое устройство, используя радиочастотный компонент.
Третий аспект является особой формой продукта второго аспекта. Ради различных реализаций, описаний и технических результатов третьего аспекта, обратитесь ко второму аспекту, и подробности в материалах настоящей заявки повторно не описаны.
Согласно четвертому аспекту, предусмотрено оконечное устройство. Оконечное устройство включает в себя прикладной процессор, сигнальный процессор, память и интерфейс связи. Прикладной процессор, сигнальный процессор и интерфейс связи присоединены к памяти; и прикладной процессор, сигнальный процессор и интерфейс связи выполняют способ по любой одной из реализаций первого аспекта, вызывая команду, хранимую в памяти.
Согласно пятому аспекту, предусмотрен запоминающий носитель и выполнен с возможностью хранить машинную программу для реализации любого одного из способов согласно реализациям первого аспекта.
Ради различных реализаций, описаний и технических результатов четвертого аспекта и пятого аспекта, обратитесь к первому аспекту, и подробности в материалах настоящей заявки повторно не описаны.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Чтобы яснее описать технические решения в данной заявке, нижеследующее кратко описывает прилагаемые чертежи, необходимые для описания вариантов осуществления. Очевидно, что прилагаемые чертежи в нижеследующем описании всего лишь показывают данную заявку, и рядовой специалист в данной области техники, кроме того, может получить другие чертежи из этих прилагаемых чертежей без творческих усилий.
Фиг. 1 - принципиальная схема объединения в сеть системы согласно варианту осуществления настоящего изобретения;
фиг. 2 - принципиальная схема структуры аппаратных средств оконечного устройства согласно варианту осуществления настоящего изобретения;
фиг. 3 - принципиальная схема архитектуры программного обеспечения оконечного устройства согласно варианту осуществления настоящего изобретения;
фиг. 4 - принципиальная схема формата пакета TCP согласно варианту осуществления настоящего изобретения;
фиг. 5 - принципиальная схема способа передачи пакетов согласно варианту осуществления настоящего изобретения;
фиг. 6 - принципиальная схема устройства передачи пакетов согласно варианту осуществления настоящего изобретения;
фиг. 7 - принципиальная схема оконечного устройства согласно варианту осуществления настоящего изобретения; и
фиг. 8A и фиг. 8B - принципиальная схема процесса инкапсуляции во время передачи пакета между передающей стороной и приемной стороной согласно варианту осуществления настоящего изобретения.
ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
Данная заявка предусматривает способ и устройство передачи пакетов, микросхему и оконечное устройство. Нижеследующее ясно описывает технические решения в данной заявке со ссылкой на прилагаемые чертежи в этой заявке. Очевидно, что описанные варианты осуществления являются всего лишь некоторыми, но не всеми, по данной заявке. Все другие варианты осуществления, полученные рядовым специалистом в данной области техники на данной заявки без творческих усилий, будут подпадать под объем защиты настоящего изобретения.
Ниже изложены некоторые технические термины в данной заявке:
Окно перегрузки - максимальное количество пакетов данных, которые могут быть отправлены стороной источника данных в течение одного периода времени RTT (времени на передачу и подтверждение приема) в течение передачи данных TCP в случае отслеживания перегрузок. Снижение нагрузки за счет окна перегрузки означает, что сторона источника данных уменьшает окно перегрузки, когда сеть перегружена.
Услуги мобильной связи подразделяются на услугу передачи данных (Data Service) и услугу речевой связи. Услуга передачи данных включает в себя услуги, иные чем услуги речевой связи домена CS (Circuit Switched, с коммутацией каналов). Соединение данных может подразумеваться в качестве соединения данных между оконечным устройством и базовой станцией, и указывает соединение, которое находится между оконечным устройством и базовой станцией, и которое используется для обработки услуги передачи данных. То, что соединение данных между оконечным устройством и базовой станцией имеется в распоряжении, указывает, что оконечное устройство использует сотовую сеть для обработки услуги передачи данных, то есть, оконечное устройство может принимать сигнал с базовой станции в сотовой сети, и оконечное устройство может пользоваться функцией обмена данными или командой в услуге передачи данных с базовой станцией, при этом, данные и команда принадлежат услуге передачи данных. То, что соединение данных между оконечным устройством и базовой станцией отсутствует, указывает, что оконечное устройство не может пользоваться сотовой сетью для обработки услуги передачи данных, то есть, оконечное устройство не может принимать сигнал из сотовой сети, или оконечное устройство должно обрабатывать услугу речевой связи, а потому, не может одновременно обмениваться данными или командой в услуге передачи данных с базовой станцией в сотовой сети. В настоящее время, известный случай, в котором отсутствует соединение данных оконечного устройства, включает в себя: оконечное устройство находится в отсоединенном состоянии; оконечному устройству не удается нормально встать на обслуживание ни в какой обслуживающей соте; услуга передачи данных оконечного устройства находится в деактивированном состоянии; или оконечное устройство находится в сценарии вызова 2G в случае, когда область с коммутацией каналов возвращается (возврат к передаче с коммутацией каналов, CSFB) на 2G.
Подлежащий отправке пакет является пакетом, который должен быть отправлен оконечным устройством на базовую станцию, и обычно является пакетом TCP, полученным посредством инкапсуляции, пользуясь стеком протоколов, данных, которые сформированы приложением, работающим на оконечном устройстве, и которые необходимо отправить на базовую станцию. Данные в подлежащем отправке пакете могут формироваться вследствие некоторых действий или поведения пользователя. Например, приложение является браузером. Пользователь нажимает на гиперссылку, отображаемую в браузере, или вводит учетную запись или пароль веб-сайта. Данные в гиперссылке, либо учетная запись или пароль, введенные пользователем, являются данными, которые браузер должен отправить на базовую станцию. Данные в подлежащем отправке пакете, в качестве альтернативы, могут формироваться в выполняемом процессе приложением для исполнения задачи. Например, приложение является браузером. Для периодического обновления окна новостей на домашней странице, браузер формирует данные запроса, которые необходимо отправить на базовую станцию. Пакет, полученный посредством инкапсуляции данных, пользуясь стеком протоколов, является подлежащим отправке пакетом перед отправкой оконечным устройством посредством использования радиочастотного компонента (например, антенны) оконечного устройства. Специалист в данной области техники будет понимать, что оконечное устройство может формировать или определять подлежащий отправке пакет. Способ формирования подлежащего отправке пакета в настоящем изобретении не ограничен.
Единообразие: Единообразие в данной заявке указывает точное сходство или существенное сходство. Например, когда первый пакет и второй пакет являются пакетами TCP, то, что первый пакет идентичен второму пакету, указывает, что первый пакет и второй пакет одинаковы в показателях по меньшей мере информации, такой как часть данных, номер исходного порта и номер порта назначения. Второй пакет может подразумеваться в качестве копии первого пакета, допуская незначительные различия между заголовками пакетов или концевиками пакетов первого пакета и второго пакета. Эти различия могут формироваться оконечным устройством во время формирования пакета вследствие некоторых причин, например, различны отметки времени, или различны некоторые случайно сгенерированные значения.
Технические решения, предусмотренные в данной заявке, типично могут применяться к системе беспроводной связи, например, сети Глобальной системы мобильной связи (GSM, Global System of Mobile communication), сети множественного доступа с кодовым разделением каналов (CDMA, Code Division Multiple Access), сети множественного доступа с синхронным временным и кодовым разделением каналов (TD-SCDMA, Time Division-Synchronous Code Division Multiple Access), сети широкополосного множественного доступа с кодовым разделением каналов (WCDMA, Wideband Code Division Multiple Access Wireless), сети пакетной радиосвязи общего назначения (GPRS, General Packet Radio Service), сети долгосрочного развития (LTE, Long Term Evolution), программно определяемой сети (SDN, Software Defined Network) или беспроводной сенсорной сети (Wireless Sensor Network).
Фиг. 2 - упрощенная структурная схема системы 100 связи согласно варианту осуществления настоящего изобретения. Система 100 связи используется только в качестве сценария применения настоящего изобретения. Это не должно быть истолковано качестве ограничения на сценарий применения настоящего изобретения.
В описании изобретения, формуле изобретения и на прилагаемых чертежах настоящего изобретения, термины «первый», «второй», «третий», «четвертый», или тому подобные (если существуют), предназначены для проведения различия между сходными объектами, но не обязательно указывают конкретные порядок или последовательность.
Как показано на фиг. 2, система 100 связи включает в себя оконечное устройство 10, точку 11 доступа, шлюз 12, глобальную сеть 13 и сервер 20. Оконечное устройство 10 в данном варианте осуществления настоящего изобретения может быть мобильным терминалом (Mobile Terminal), например, портативным, носимым или установленным на транспортном средстве мобильным устройством, таким как мобильный телефон, планшетный компьютер, устройство спортивной съемки или блокнотный компьютер, или может быть устройством, таким как компьютер или сервер, который может осуществлять доступ в сотовую сеть, или даже сетевым устройством, таким как маршрутизатор или шлюз, которые могут осуществлять доступ в сотовую сеть, например, маршрутизатором или шлюзом, которые могут использовать SIM-карту (Subscriber Identification Module, модуля идентификации абонента). Мобильный телефон использован в качестве примера для описания в данном варианте осуществления настоящего изобретения. Сервер 20 может быть сервером приложений, серверным агентом, сервером центра обработки данных или сетевым устройством, таким как маршрутизатор или шлюз.
Специалист в данной области техники может осознавать, что система связи обычно может включать в себя меньшее или большее количество компонентов, чем показанные на фиг. 2, или включать в себя компоненты, отличные от показанных на фиг. 2. Фиг. 2 показывает только компоненты, в большей степени имеющие отношение к реализации, раскрытой в этом варианте осуществления настоящего изобретения. Например, хотя фиг. 2 показывает один сервер 20, специалист в данной области техники может осознавать, что одна система связи может включать в себя любое количество серверов.
Глобальная сеть 13 может включать в себя часть сети общего пользования, специализированной сети или сети Интернет и/или любую их комбинацию. Точка доступа может быть базовой станцией, точкой доступа беспроводной локальной сети (WLAN) или точкой доступа в другой форме. Шлюз 12 и точка 11 доступа могут быть включены в беспроводную сеть. Ради краткости, другие части беспроводной сети не описаны.
Фиг. 2 дополнительно показывает структуру аппаратных средств оконечного устройства 10. Согласно фиг. 2, оконечное устройство 10 включает в себя прикладной процессор 110, память 120, подсистему 130 связи и подсистему 140 управления электропитанием. Память 120 хранит исполняемую программу, а исполняемая программа включает в себя операционную систему и прикладную программу. Прикладной процессор 110 (Application Processor) является процессором, выполненным с возможностью выполнять операционную систему и прикладную программу.
В варианте осуществления, прикладная программа является веб-браузером, а сервер 20 является сервером поставщика веб-контента. В еще одном варианте осуществления, прикладная программа является интерактивным видеоплеером, а сервер 20 является сервером поставщика видеоконтента. В еще одном варианте осуществления, прикладная программа является программным обеспечением обмена мгновенными сообщениями, а сервер 20 является сервером поставщика услуг обмена мгновенными сообщениями.
Система 130 связи, главным образом, реализует функции, такие как безмодуляционная обработка сигналов, модуляция и демодуляция, усиление и фильтрация сигналов, и выравнивание. Подсистема 130 связи включает в себя радиочастотный модуль 132, антенну 133 и сигнальный процессор 131 (Baseband Processor, BP), который также упоминается как беспроводный модем (Modem). Следует отметить, что сигнальный процессор 131 и модуль 150 Wi-Fi могут быть встроенными в одну микросхему. В дополнение, сигнальный процессор 131 и прикладной процессор 110 могут быть встроенными в одну микросхему, или каждый может быть независимой микросхемой. Фиг. 2 является всего лишь примерным представлением. Подсистема 140 управления электропитанием выполнена с возможностью подавать электропитание в систему.
Память 120 обычно включает в себя внутреннюю память и внешнее запоминающее устройство. Внутренняя память может быть оперативным запоминающим устройством (ОЗУ, RAM), постоянным запоминающим устройством (ПЗУ, ROM), кэш-памятью (CACHE), или тому подобным. Внешнее запоминающее устройство может быть жестким диском, оптическим диском, флэш-накопителем с интерфейсом USB, гибким диском, накопителем на магнитной ленте, или тому подобным. Исполняемая программа обычно хранится во внешнем запоминающем устройстве, и прикладной процессор 110 исполняет программу после загрузки исполняемой программы из внешнего запоминающего устройства во внутреннюю память.
По выбору, оконечное устройство 10 дополнительно включает в себя модуль 150 Wi-Fi (Wireless Fidelity, точности воспроизведения беспроводной связи), модуль 150 Wi-Fi поддерживает ряд протоколов IEEE 802.11, и оконечное устройство 10 может осуществлять доступ в WLAN, используя модуль 150 Wi-Fi.
По выбору, оконечное устройство 10 дополнительно включает в себя устройство 160 отображения, которое выполнено с возможностью отображать информацию, введенную пользователем, или информацию, предоставленную для пользователя, и различные интерфейсы на основе меню оконечного устройства 10. Устройство 160 отображения может быть жидкокристаллическим дисплеем (Liquid Crystal Display, LED), органическим светоизлучающим диодом (Organic Light-Emitting Diode, OLED), или тому подобным. В некоторых других вариантах осуществления. сенсорная панель может покрывать устройство 160 отображения для формирования сенсорного дисплейного экрана.
В дополнение, оконечное устройство 10 дополнительно может включать в себя камеру 180 для съемки фотографий или видео и один или более датчиков 170, таких как датчик веса, датчик ускорения или оптический датчик.
В дополнение, специалист в данной области техники может осознавать, что оконечное устройство 10 может включать в себя меньшее или большее количество компонентов, чем показанные на фиг. 2, и в оконечном устройстве 10, показанном на фиг. 2, показаны только компоненты, в большей степени имеющие отношение к множеству реализаций, раскрытых в данном варианте осуществления настоящего изобретения.

Нижеследующее дополнительно описывает аппаратную и программную среду оконечного устройства 10. Оконечное устройство 10 может быть разделено, согласно логическим уровням, на аппаратный уровень, операционную систему и прикладной уровень (также упоминаемый как код пользовательского режима), работающий поверх операционной системы. Аппаратный уровень включает в себя аппаратные средства, описанные в варианте осуществления, относящемся к фиг. 2, например, прикладной процессор 110, память 120 и модуль 150 Wi-Fi. Операционная система может быть операционной системой Android, операционной системой Linux, операционной системой Windows или операционной системой другого типа. Это не ограничено данным вариантом осуществления настоящего изобретения.
В варианте осуществления, операционная система включает в себя инфраструктурный (Framework) уровень, код режим ядра и уровень драйверов. Уровень драйверов включает в себя драйвер аппаратного устройства, такой как драйвер датчика, драйвер Wi-Fi и драйвер устройства отображения. Код режима ядра включает в себя стек протоколов TCP, стек протоколов IP, и тому подобное. Нижеследующее дополнительно описывает код режима ядра со ссылкой на процедуру способа в данном варианте осуществления настоящего изобретения. Инфраструктурный уровень включает в себя интерфейс для связи между кодом пользовательского режима и кодом режима ядра, и некоторые службы, например, приложения, работающие на прикладном уровне, такие как графическая служба 224 (Graphic Service), системная служба 221 (System service), веб-служба 222 (Web Service) и пользовательская служба 223 (User Service). Эти приложения обычно могут взаимодействовать непосредственно с пользователем с использованием устройства отображения, и этими приложениями являются контрольная строка, медиаплеер (media player), браузер (browser), WeChat (универсальное приложение для общения в реальном времени), или тому подобное. Прикладная программа в операционной системе и прикладная программа на прикладном уровне могут храниться в памяти 120 в виде исполняемых программ. Термин «программа», используемый в данном варианте осуществления настоящего изобретения, должен трактоваться широко, как включающий в себя, но не в качестве ограничения: команды, набор команд, машинную программу, кодовый сегмент, процедуру, программный модуль, приложение, пакет программного обеспечения, поток, процесс, функцию, аппаратно реализованное программное обеспечение, промежуточное программное обеспечение, и тому подобное. Как показано на фиг. 2, оконечное устройство 10 может осуществлять доступ в сотовую сеть, пользуясь подсистемой 130 связи, а затем, поддерживать связь с сервером 20, используя глобальную сеть 13. В еще одном варианте осуществления, оконечное устройство 10 также может осуществлять доступ к WLAN, пользуясь модулем 150 Wi-Fi, а затем, поддерживать связь с сервером 20, используя глобальную сеть 13. Более точно, после осуществления доступа в сеть, оконечное устройство 10 может устанавливать соединение TCP с сервером 20, пользуясь стеком протоколов TCP/IP (стеком протоколов TCP и стеком протоколов IP), а затем, передавать данные, пользуясь соединением TCP. Стек протоколов TCP/IP является промежуточным программным обеспечением, используемым для реализации промежуточного программного обеспечения комплекта протоколов TCP/IP, определенного в базовой модели TCP/IP. Стек протоколов TCP может исполняться надлежащей комбинацией программного обеспечения, аппаратных средств и/или аппаратно реализованного программного обеспечения на оконечном устройстве 10. Комплект протоколов TCP/IP включает в себя два основных протокола: TCP (протокол управления передачей) и IP (протокол межсетевого взаимодействия). Установление соединения TCP между оконечным устройством 10 и сервером 20 может быть инициировано прикладной программой, работающей на оконечном устройстве 10. Браузер 213 на фиг. 2 используется в качестве примера. Браузер 213 формирует команду открытия сокета (socket open), и команда переносится в стек протоколов TCP оконечного устройства 10, чтобы привести в действие стек протоколов TCP для установления соединения TCP с сервером 20 посредством трехстороннего обмена сообщениями (также упоминаемого как «трехстороннее квитирование установления связи»). Затем, протокол TCP уведомляет браузер 213, что было установлено соединение.
Затем, пакет TCP может передаваться между браузером 213 и сервером 20 на основании установленного соединения TCP. Формат пакета TCP показан на фиг. 4. Исходный порт и порт назначения выполнены с возможностью определять прикладные процессы передающей стороны и приемной стороны, и соединение TCP может быть уникально определено посредством использования исходного порта, порта назначения, исходного IP-адреса и IP-адреса назначения. Поле порядкового номера (Sequence Number, обычно указываемого ссылкой как seq ради краткости) в заголовке пакета TCP несет порядковый номер первого байта данных в полезной нагрузке пакета. После приема пакета TCP, приемная сторона отправляет пакет подтверждения приема (Acknowledgement, ACK для краткости) на передающую сторону. Значение поля номера подтверждения приема (Acknowledgement Number, обычно указываемого ссылкой как ack ради краткости) заголовка ACK представляет собой значение поля «Порядкового номера» пакета, принятого приемной стороной, и также означает, что приемная сторона приняла все пакеты, чьи значения «Порядкового номера» меньше значения «Номера подтверждения приема» пакета ACK. Размер окна используется для указания размера текущего приемного буфера приемной стороны. В дополнение, заголовок пакета TCP содержит шесть флажковых битов и одно настраиваемое необязательное (Option) поле, необязательное поле может использоваться для переноса дополнительной информации, а определения шести флажковых битов являются следующими:
URG указывает, что указатель срочности действителен.
ACK указывает, что номер подтверждения приема действителен.
PSH указывает незамедлительное выталкивание данных на прикладной уровень для обработки.
RST указывает аномальный возврат в исходное состояние.
SYN - флажковый признак синхронизации, и соединение установлено, когда SYN установлен в 1.
FIN - флажковый признак завершения, используемый для требования разъединить соединение.
Нижеследующее кратко описывает механизм повторной передачи TCP и механизм отслеживания перегрузок. Ради простоты описания, одно из двух устройств, между которыми было установлено соединение связи, в данной заявке упоминается как передающая сторона, а другое упоминается как приемная сторона. Может быть понятно, что каждая из передающей стороны и приемной стороны может быть любым устройством, которое обладает возможностями приема и передачи данных. Например, передающей стороной может быть сервер 20, а приемной стороной может быть оконечное устройство 10. В дополнение, передающая сторона и приемная сторона являются двумя ролями и могут быть взаимозаменяемыми, то есть, в разных сценариях, одно и то же устройство может быть передающей стороной или может быть приемной стороной.
Механизм повторной передачи TCP обеспечивает надежную передачу пакета, и механизм повторной передачи главным образом включает в себя повторную передачу по превышению лимита времени и быструю повторную передачу. Базовый процесс повторной передачи по превышению лимита времени изложен ниже: После отправки пакета, передающая сторона запускает таймер превышения лимита времени и, если передающая сторона все еще не принимает, после того, как истекает таймер превышения лимита времени, пакет подтверждения приема, указывающий, что пакет был принят безошибочно, предающая сторона отправляет пакет повторно. Значение таймера превышения лимита времени обычно представляется в качестве RTO (Retransmission Timeout (превышения лимита времени повторной передачи)). RTO обычно устанавливается в качестве RTT (Round Trip Time (время на передачу и подтверждение приема)), то есть, время, затрачиваемое с отправки пакета до приема подтверждения приема для пакета. RTT может получаться посредством выборочного исследования.
Однако, должно быть понятно, что система беспроводной связи предоставляет услугу для оконечного устройства и, с развитием технологий, оконечное устройство обычно поддерживает множество типов протоколов связи, таких как сети 2G, 3G и 4G. По причинам, таким как изменение местоположения оконечного устройства, сеть обычно становится неустойчивой, или меняется интенсивность сигнала. Например, в зоне со слабым сигналом, такой как лифт или подземная автостоянка, или в сценарии, в котором оконечное устройство находится в быстро движущемся транспортном средстве, таком как сверхскоростной пассажирский экспресс или высокоскоростная железнодорожная магистраль, состояние сетевого соединения оконечного устройства меняется вследствие неустойчивости сигнала сети. Например, оконечное устройство может подвергаться эстафетной передаче обслуживания в различных типах сотовых сетей, например, из LTE в WCDMA, или в пределах некоторого периода времени оконечное устройство отсоединяется от сети и повторно присоединяется к сети, и этот тип изменения даже бывает частым в некоторый период времени. В таком сценарии, когда оконечное устройство используется в качестве передающей стороны, во время отправки пакета, который должен быть отправлен в сотовую сеть, модем оконечного устройства может отбрасывать пакет. Потеря пакета в этом случае также может упоминаться как активное отбрасывание пакета. Поэтому, активное отбрасывание пакета часто происходит на оконечном устройстве, которое использует сотовую сеть.
Что текущим ходом действий является активное отбрасывание пакета, может узнаваться раньше, чем пакет попадает в сеть для передачи, и данные не теряются в процессе передачи по сети. Согласно вышеизложенным описаниям, в механизме повторной передачи TCP, причины потери пакета не известны. Обычно, повторную передачу необходимо выполнять после того, как принята обратная связь из сети, а потому, мобильный терминал сталкивается с относительно большой задержкой при реагировании на активное отбрасывание пакета. В этом варианте осуществления настоящего изобретения, главным образом выполнена оптимизация, так чтобы стек протоколов TCP в прикладном процессоре 110 мог распознавать потерю пакета подлежащих отправке данных в сигнальном процессоре 131, с тем чтобы уменьшать задержку реагирования мобильного терминала на активное отбрасывание пакета. Может быть понятно, что способ в данном варианте осуществления настоящего изобретения также применим к другому надежному транспортному протоколу, который включает в себя механизм повторной передачи пакетов. В этом варианте осуществления настоящего изобретения, пакет TCP используется в качестве примера для описания.
rd
его
Фиг. 3 кроме того показывает архитектуру программного обеспечения, используемую в процессе, в котором прикладной процессор 110 и сигнальный процессор 131 на фиг. 1 взаимодействуют, чтобы обрабатывать данные в данном варианте осуществления настоящего изобретения. Прикладной процессор 110 может рассматриваться в качестве процессорного ядра, а сигнальный процессор 131 (также упоминаемый как модем) рассматривается в качестве еще одного процессорного ядра. Архитектура программного обеспечения может поддерживать механизм для передачи данных между двумя ядрами. Связь между двумя ядрами соблюдает конкретный протокол межъядерной связи. Тип протокола межъядерной связи не ограничен данным вариантом осуществления настоящего изобретения. Процесс, в котором оконечное устройство в этом варианте осуществления настоящего изобретения используется в качестве стороны источника данных для отправки пакета данных на устройство стороны сети, просто описан ниже со ссылкой на фиг. 3. В прикладном процессоре 110, после того, как приложение (APP, application) на прикладном уровне пересылает пакет данных через стек протоколов TCP и стек протоколов IP ядра (также упоминаемого как код режима ядра), пользуясь интерфейсом сокетов стороны источника соединения TCP, соответственные задачи (задачи, которые также могут подразумеваться в качестве потоков), которые принадлежат прикладному процессору 110 и модему, и которые используются для межъядерного обмена информацией, используются для переноса пакета данных в стек протоколов 3GPP (3 Generation Partnership Project, Проекта партнерства 3 поколения) (который также может подразумеваться в качестве задачи или потока) в модеме, а затем, стек протоколов 3GPP отправляет пакет данных из оконечного устройства, используя аппаратные средства в подсистеме 130 связи. Стек протоколов 3GPP используется для поддержки одного или более протоколов связи на канальном уровне и физическом уровне. Протоколы связи преимущественно являются протоколами связи, используемыми для различных сотовых сетей, и не ограничены различными протоколами связи сети 3G, и, например, могут быть GSM, CDMA или LTE. Это в настоящем изобретении не ограничено. В этом варианте осуществления настоящего изобретения, тип ядра оконечного устройства определяется типом операционной системы оконечного устройства и в настоящем изобретении не ограничен. Например, ядро может быть ядром Linux (ядром Android) или ядром Windows. В реализации, задачи межъядерной связи, используемые для передачи относительно больших данных (таких как пакет данных) между прикладным процессором 110 и модемом, отличны от задач, используемых для передачи информации (такой как информация о сердцебиении или команда управления) с относительно небольшим объемом данных между прикладным процессором 110 и модемом. Кроме того, задача межъядерной связи, используемая для передачи информации с относительно небольшим объемом данных может быть реализована следующим образом: Одна задача работает на каждом из прикладного процессора 110 и сигнального процессора 131, информация с относительно небольшим объемом данных может передаваться между двумя задачами, и передача информации между двумя процессорами может быть реализована посредством связи между двумя задачами.
Более точно, в модеме, стек протоколов 3GPP и задача, которая используется для передачи пакета данных с прикладным процессором 110, имеют соответственные очереди кэширования пакетов данных, и обычно сконфигурирован таймер, с тем чтобы контролировать эти очереди кэширования пакетов данных. Более точно, разные протоколы в стеке протоколов 3GPP обычно соответствуют разным очередям кэширования пакетов данных. Например, очередь PDCP (Packet Data Convergence Protocol, протокола конвергенции пакетных данных) используется в протоколе LTE, и очередь PDCP или очередь RLC (Radio Link Control, управления радиоканалом) используется в протоколе WCDMA или TD-SCDMA. В множестве случаев, пакет данных в очереди кэширования пакетов данных активно отбрасывается модемом и не может быть отправлен на сетевое устройство. Нижеследующее кратко перечисляет некоторые типичные сценарии отбрасывания пакетов. Должно быть понятно, что сценарии отбрасывания пакетов в данном варианте осуществления настоящего изобретения не ограничены нижеследующими примерами.
Например, в задаче, которая находится в модеме, и которая используется для передачи пакета данных с помощью процессора 110, после приема пакета данных прикладным процессором 110, обычно определяется, было ли установлено соединение RRC. Если было установлено соединение RRC, принятый пакет данных передается в стек протоколов 3GPP для обработки. Если соединение RRC не было установлено, пакет данных кэшируется в очереди задачи и передается после того, как соединение RRC успешно установлено. В задаче, пакет данных отбрасывается, когда пакет данных не удается сохранить в очереди кэширования, или когда таймер очереди кэширования задачи истекает, а соединение RRC все еще не удается установить, пакет данных в очереди кэширования отбрасывается, или, в задаче, пакет данных в очереди кэширования активно удаляется после того, как принято сообщение ERABM (E-UTRAN Radio Access Bearer Mangement), которое используется для очистки очереди кэширования пакетов данных задачи.
Стек протоколов 3GPP может выявлять, посредством обнаружения, событие, вследствие которого оконечное устройство не может использовать сотовую сеть для обработки услуги передачи данных, с тем чтобы определять, имеется ли в распоряжении соединение данных оконечного устройства. Например, оконечное устройство находится в отсоединенном состоянии, оконечному устройстве не удается нормально встать на обслуживание ни в какой обслуживающей соте, услуга передачи данных оконечного устройства находится в деактивированном состоянии, или оконечное устройство находится в сценарии вызова 2G в случае, когда область с коммутацией каналов возвращается (возврат к передаче с коммутацией каналов, CSFB) на 2G. В вышеизложенных нескольких сценариях, соединение данных оконечного устройства отсутствует. Событие, которое вызывает отсутствие соединения данных оконечного устройства, не ограничено данным вариантом осуществления настоящего изобретения. В качестве альтернативы, стек протоколов 3GPP может собирать некоторые параметры, используемые для представления, может ли оконечное устройство использовать сотовую сеть для обработки услуги передачи данных, такие как интенсивность сигнала сотовой сети, принимаемого или подвергаемого доступу оконечным устройством, тип сотовой сети, к которой осуществляет доступ оконечное устройство, и выполняет ли оконечное устройство услугу речевой связи. Сигнальный процессор определяет, посредством расчета согласно настоящему алгоритму, имеется ли в распоряжении текущее соединение данных оконечного устройства. Конкретный параметр и конкретный алгоритм не ограничены данным вариантом осуществления настоящего изобретения. Вышеизложенные выявление или расчет могут выполняться периодически задачей протокола 3GPP или могут инициироваться некоторыми командами, или могут инициироваться вышеизложенным событием. То, каким образом стек протоколов 3GPP определяет, имеется ли в распоряжении соединение данных оконечного устройства, не ограничено данным вариантом осуществления настоящего изобретения. Должно быть понятно, что, в процессе, в котором оконечное устройство использует сотовую сеть для обработки услуги передачи данных, вовлечены установление и разъединение линии связи RRC (Radio Resource Control, управления радиоресурсами), которые часто выполняются в процессе взаимодействия услуги передачи данных между оконечным устройством и базовой станцией, и фактически являются процессом дополнительного установления соединения TCP, когда имеется в распоряжении соединение данных между оконечным устройством и базовой станцией, то есть, соединение на физическом уровне (Physical Layer) и уровне управления доступом к среде передачи (Media Access Control). Поэтому, в данном варианте осуществления настоящего изобретения, как установление, так и разъединение линии связи RRC происходят на основании того, что имеется в распоряжении соединение данных оконечного устройства. То, что оконечное устройство определяет, имеется ли в распоряжении соединение данных, не связано с установлением или разъединением линии связи RRC.
В дополнение, задача протокола 3GPP может активно отбрасывать подлежащий отправке пакет в следующих случаях:
Оконечное устройство подвергается эстафетной передаче обслуживания между разными беспроводными сотовыми сетями. Например, оконечное устройство подвергается эстафетной передаче обслуживания с сети LTE на сеть WCDMA, сеть TD-SCDMA или сеть GSM. Это может вызываться, так как оконечное устройство не может быть присоединено к базовой станции 4G вследствие неустойчивой сети 4G в реальном сценарии или в сценарии, в котором технология VoLTE (Voice over LTE, передачи голоса поверх LTE) не используется на данный момент, речевая связь запускается в сети LTE (например, сценарий CSFB). Когда оконечное устройство подвергается эстафетной передаче обслуживания на сеть 3G или на сеть 2G, это событие может вызывать разъединение на уровне L2 (то есть, уровне 2 LTE, включающем в себя уровень MAC, уровень RLC и уровень PDCP). Например, освобождается очередь PDCP, и модем удаляет подлежащий отправке пакет в очереди PDCP. Ради еще одного примера, оконечное устройство подвергается эстафетной передаче обслуживания с WCDMA или TD-SCDMA на LTE. Это событие также может вызывать разъединение на уровне L2.
Конфигурация сетевого параметра является ненадлежащей. Например, когда оконечное устройство пользуется сетью LTE, неуместный параметр может вызывать реконфигурирование PDCP, и модем удаляет подлежащий отправке пакет в очереди PDCP. Когда оконечное устройство использует сеть WCDMA или TD-SCDMA, ненадлежащий параметр может вызывать реконфигурирование RLC (Radio Link Control, управления каналом радиосвязи). Уровень RLC расположен выше уровня MAC (Media Access Control, управления доступом к среде передачи) и является частью уровня L2 вместе с уровнем MAC, и модем удаляет подлежащий отправке пакет.
Когда оконечное устройство использует сеть WCDMA или TD-SCDMA, эстафетная передача обслуживания RNC (Radio Network Controller, контроллера радиосети) может вызывать повторное установление RLC, и модем удаляет подлежащий отправке пакет.
Очередь PDCP заполнена, и пакет, доставленный прикладным процессором 110, не может быть вставлен в очередь и отбрасывается модемом. Этот случай может происходить в сети LTE или сети WCDMA либо TD-SCDMA.
В сотовой сети, множество однонаправленных радиоканалов (то есть, линий связи, установленных канальным уровнем в стеке протоколов 3GPP) могут обслуживать множество служб приложения. Обычно, одна служба использует один однонаправленный канал. Каждый однонаправленный канал соответствует подлежащему отправке пакету, кэшированному в одной очереди PDCP. Когда служба на однонаправленном канале аномально прерывается вследствие проблемы в сети, модем активно удаляет подлежащий отправке пакет в очереди PDCP, соответствующей службе.
Ради легкости понимания, фиг. 4 - принципиальная схема формата пакета TCP.
Со ссылкой на фиг. 5, нижеследующее описывает способ передачи пакетов, предусмотренный в варианте осуществления настоящего изобретения. Способ применяется к оконечному устройству, оконечное устройство включает в себя прикладной процессор, сигнальный процессор и интерфейс связи, и способ включает в себя следующие этапы.
S502. Сигнальный процессор сообщает информацию о первом пакете в прикладной процессор, где первый пакет является подлежащим отправке пакетом, отброшенным сигнальным процессором.
Информация о первом пакете включает в себя идентификатор первого пакета и идентификатор соединения TCP, пользуясь которым передается первый пакет.
Следует отметить, что подлежащий отправке пакет, отброшенный сигнальным процессором, также может подразумеваться в качестве пакета, который доставлен прикладным процессором в сигнальный процессор, и который не удается отправить сигнальным процессором на сетевое устройство, пользуясь интерфейсом связи.
Сигнальный процессор может отбрасывать множество подлежащих отправке пакетов. Из вышеизложенных описаний можно узнать, что подлежащий отправке пакет может отбрасываться во многих случаях. Более точно, сигнальный процессор может фиксировать информацию об отброшенном подлежащем отправке пакете или может контролировать событие, вследствие которого сигнальный процессор отбрасывает подлежащий отправке пакет, например, эстафетную передачу обслуживания между разными сотовыми сетями, с тем чтобы определять отброшенный подлежащий отправке пакет. То, каким образом, сигнальный процессор получает информацию об отброшенном подлежащем отправке пакете, не ограничено данным вариантом осуществления настоящего изобретения.
Сигнальный процессор может сообщать информацию об отброшенном подлежащем отправке пакете в прикладной процессор. Ради легкости описания, описания приведены, используя первый пакет в качестве примера, в котором первый пакет является пакетом TCP. Информация о первом пакете включает в себя идентификатор первого пакета и идентификатор соединения TCP, пользуясь которым передается первый пакет. В реализации, идентификатор первого пакета может быть порядковым номером пакета. Идентификатором идентификатора соединения TCP, пользуясь которым передается первый пакет, может быть номер исходного порта соединения TCP. Согласно формату пакета TCP (как показано на фиг. 4), сигнальный процессор может получать порядковый номер и номер исходного порта посредством анализа в процессе обработки подлежащего отправке пакета.
Специалист в данной области техники должен понимать, что сигнальный процессор может определять информацию, которая касается пакета, и которую нужно сообщить, и конкретная реализация не ограничена данным вариантом осуществления настоящего изобретения. Конкретный протокол передачи не ограничен протоколом TCP.
В реализации, сигнальный процессор может выбирать подходящую возможность для сообщения информации об отброшенном подлежащем отправке пакете и сообщать информацию о множестве отброшенных пакетов при подходящей возможности вместо выполнения предоставления информации прикладному процессору сразу же после того, как отброшен пакет. Более точно, когда имеется в распоряжении соединение данных оконечного устройства, сигнальный процессор сообщает информацию о первом пакете в прикладной процессор. В качестве альтернативы, когда соединение данных оконечного устройства отсутствует, сигнальный процессор кэширует информацию о первом пакете, а когда соединение данных оконечного устройства переключается с отсутствующего на имеющееся в распоряжении, сигнальный процессор сообщает информацию о первом пакете в прикладной процессор. Следует понимать, что вышеизложенные два образа действий могут использоваться совместно.
Очередь кэширования сигнального процессора может кэшировать информацию, подлежащую сообщению в прикладной процессор, а информация является информацией о подлежащем отправке пакете, отброшенном сигнальным процессором.
Соединением данных является соединение, используемое для поддержки услуги передачи данных. Соединение данных оконечного устройства может подразумеваться в качестве соединения данных между оконечным устройством и базовой станцией. Ради подробностей обратитесь к вышеизложенным описаниям.
Следует отметить, что когда соединение оконечного устройства переключается с отсутствующего на имеющееся в распоряжении, сигнальный процессор сообщает информацию о первом пакете в прикладной процессор. Это указывает, что сигнальный процессор сообщает информацию о первом пакете в прикладной процессор после того, как соединение данных оконечного устройства переключается с отсутствующего на имеющееся в распоряжении. Одновременность строго не требуется, так как нужно время, чтобы прочитать команду, выполнить связанную операцию, и т. д. То есть, в пределах относительно короткого периода времени (например, нескольких миллисекунд или нескольких секунд) после того, как соединение данных оконечного устройства переключается с отсутствующего на имеющееся в распоряжении, сигнальный процессор совершает действие по сообщению информации о первом пакете в прикладной процессор.
Может быть понятно, что, в этой реализации, сигнальный процессор должен определять, имеется ли в распоряжении соединение данных оконечного устройства.
Может быть понятно, что оконечное устройство может определять, посредством периодического выявления, пусковой механизм события, пусковой механизм команды, или тому подобное, имеется ли соединение данных оконечного устройства в распоряжении или отсутствует. Событие, используемое для определения, имеется ли в распоряжении соединение данных, конкретный процесс анализа и алгоритм, используемый при анализе, а также то, каким образом приводить в действие сигнальный процессор, чтобы определял, имеется ли в распоряжении соединение данных оконечного устройства, не ограничены данным вариантом осуществления настоящего изобретения. Что касается дополнительных описаний, обратитесь к вышеизложенным связанным описаниям.
Сигнальный процессор выполняет этап S502, чтобы задействовать прикладной процессор для выяснения, что пакет отброшен, с тем чтобы своевременно повторно передавать пакет данных в сигнальный процессор, и сигнальный процессор получает повторно переданный пакет данных для отправки пакета данных на приемную сторону. Поэтому, если повторная передача выполняется, когда соединение данных оконечного устройства отсутствует, сигнальный процессор вновь активно отбрасывает пакет, так как соединение данных отсутствует, и эта повторная передача прикладного процессора недействительна. Поэтому, если сигнальный процессор сообщает информацию об отброшенном подлежащем отправке пакете в сигнальный процессор, только когда соединение данных имеется в распоряжении, обоснованность повторной передачи может быть улучшена. В дополнение, при выполнении этапа S502, сигнальный процессор должен переводить прикладной процессор в активное состояние. Если сигнальный процессор сообщает информацию сразу же после того, как пакет отброшен, прикладной процессор часто переводится в активное состояние, а потому энергопотребление оконечного устройства сильно повышается. Мобильный терминал обычно использует аккумуляторную батарею и требует как можно меньшей потребляемой мощности и как можно более длительного времени работы в режиме ожидания. Поэтому, если информация об отброшенном подлежащем отправке пакете сообщается в прикладной процессор, только когда сеть имеется в распоряжении, может быть понижено энергопотребление оконечного устройства.
Безусловно, в другой реализации, сигнальный процессор, в качестве альтернативы, может не учитывать, имеется ли в распоряжении соединение данных оконечного устройства, но сообщать информацию в процессор, как только определена информация о пакете, который нужно повторно передать. Это не ограничено данным вариантом осуществления настоящего изобретения.
S504. Прикладной процессор передает второй пакет в сигнальный процессор согласно информации о первом пакете, где второй пакет идентичен первому пакету.
В реализации, прикладной процессор получает, согласно принятой информации о первом пакете, информация содержит первый пакет и исходный порт соединения TCP, в котором расположен первый пакет, и прикладной процессор использует исходный порт для повторной передачи первого пакета в сигнальный процессор.
Второй пакет может подразумеваться в качестве копии первого пакета.
Должно быть понятно, что, согласно протоколу передачи TCP, после того, как стек протоколов TCP передающей стороны отправляет пакет на нижний уровень, копия пакета сохраняется в очереди соединения TCP. Копия пакета не удаляется до тех пор, пока ACK (Acknowledgement, подтверждение приема), возвращенное приемной стороной соединения TCP, не принят для подтверждения, что пакет был успешно принят приемной стороной. Иначе, если ACK, возвращенное приемной стороной соединения TCP, не принято, копия пакета сохраняется для передачи в случае превышения лимита времени передачи. Поэтому, прикладной процессор может повторно передавать второй пакет в сигнальный процессор согласно информации, которая касается первого пакета, и которая сообщается сигнальным процессором.
S506. Сигнальный процессор отправляет второй пакет на сетевое устройство, пользуясь интерфейсом связи.
Сетевое устройство может быть сетевым устройством, таким как базовая станция или сервер в сотовой сети. Это не ограничено данным вариантом осуществления настоящего изобретения.
В заключение, после отбрасывания подлежащего отправке пакета, сигнальный процессор может сообщать в прикладной процессор информацию о подлежащем передаче пакете, отброшенном сигнальным процессором, так чтобы прикладной процессор мог повторно доставлять, в сигнальный процессор, согласно сообщенной информации, копию пакета, отброшенного сигнальным процессором. Что пакет отброшен, может определяться раньше, чем определено, что таймер превышения лимита времени пакета истекает, а пакет подтверждения приема не принят с равноправной стороны, и пакет повторно отправляется в сигнальный процессор. Это может уменьшать задержку повторной передачи, оконечным устройством, подлежащего отправке пакета, отброшенного сигнальным процессором, и уменьшать, до некоторой степени, задержку реагирования оконечным устройством на потерю пакета, так чтобы передача данных между оконечным устройством и сетью была более равномерной. Так как состояние беспроводной сотовой сети часто меняется, случай, в котором сигнальный процессор отбрасывает подлежащий отправке пакет, происходит часто.
В дополнение, как описано выше, в реализации, принимая во внимание потребляемую мощность, сигнальный процессор не сообщает информацию об отброшенном подлежащем отправке пакете до тех пор, пока состоянием сотовой сети, к которой осуществляет доступ оконечное устройство, не является имеющейся в распоряжении. В этом случае, необходимо, чтобы информация о некотором количестве отброшенных подлежащих отправке пакетов ожидала в течение определенного времени до того, как сообщается. Это может служить причиной следующих двух случаев: В одном из случаев, таймер превышения лимита времени отброшенного подлежащего отправке пакета истекает раньше, чем информация о пакете сообщается сигнальным процессором. В этом случае, пакет, который идентичен отброшенному пакету, мог быть повторно передан посредством использования соединения TCP и механизма повторной передачи по превышению лимита времени. Сигнальному процессору больше не нужно сообщать информацию об отброшенном пакете в прикладной процессор. Сигнальный процессор может отфильтровывать информацию об отброшенном пакете согласно принятому пакету, который идентичен отброшенному пакету, так чтобы могли избегаться потери энергии и напрасная трата потока обмена оконечного устройства. В другом случае, таймер превышения лимита времени отброшенного пакета истекает, когда прикладной процессор доставляет пакет, который идентичен отброшенному пакету. Этот случай также равным образом удовлетворяет требованию повторной передачи по превышению лимита времени, а потому, может инициироваться способ отслеживания перегрузок для соединения TCP.
Следует отметить, что механизм повторной передачи TCP может обеспечивать надежную передачу пакетов, но, в механизме повторной передачи предшествующего уровня техники, по умолчанию считается, что потеря пакета вызвана перегрузкой сети. Обычно, наиболее распространенной причиной потери пакетов во время передачи по сети является чрезмерно большая нагрузка на сеть. Сетевое устройство не может справляться с количеством данных, которые необходимо передавать в сети в текущий момент, вызывается перегрузка сети, а потому, некоторые пакеты, передаваемые в сети, отбрасываются. Поэтому, способ отслеживания перегрузок используется вместе с механизмом повторной передачи для снижения перегрузки в сети, с тем чтобы улучшать долю успешных попыток достижения равноправной стороны повторно переданным пакетом. Алгоритм отслеживания перегрузок главным образом включает в себя медленный запуск (Slow Start), предотвращение заторов (Congestion Avoidance), и тому подобное. В простых терминах, при узнавании, что пакет потерян и должен быть повторно передан, прикладной процессор уменьшает значения некоторых параметров, чтобы ограничить количество пакетов, отправляемых оконечным устройством в сеть, таких как значение окна перегрузки (CWND, congestion window) и пороговое значение медленного запуска (ssthresh, slow start threshold). Прикладной процессор обычно использует скорректированные параметры для управления скоростью доставки повторно переданного пакета в сигнальный процессор и темпом доставки последующего подлежащего отправке пакета в сигнальный процессор.
Например, если потеря пакета вызывает повторную передачу по превышению лимита времени, передающая сторона может понижать пороговое значение медленного запуска до CWND/2, затем, устанавливать CWND в 1 и снова входить в процесс медленного запуска. Ради еще одного примера, если передающая сторона определяет, согласно ACK, что пакет потерян, и начинает быструю повторную передачу, передающая сторона может уменьшать окно перегрузки наполовину и устанавливать пороговое значение медленного запуска для обновленного размера окна перегрузки. Может быть понятно, что, в разных алгоритмах, амплитуды и методы уменьшения окна перегрузки и порогового значения медленного запуска различны, но, в большинстве случаев, правило снижения нагрузки отбрасыванием пакетов используется в качестве основы, то есть, когда передающая сторона определяет, что пакет потерян в сети, размер окна перегрузки и пороговое значение медленного запуска активно уменьшаются.
Однако, так как активное отбрасывание пакета в данном варианте осуществления настоящего изобретения не вызвано перегрузкой сети, количество пакетов, отправленных оконечным устройством в беспроводную сеть, уменьшать не нужно и, так как пакет активно отброшен сигнальным процессором, необходимо, чтобы было обеспечено конкретное количество отправленных пакетов, чтобы отправить пакет на равноправную сторону как можно скорее. Однако, способ в данном варианте осуществления настоящего изобретения обычно используется в существующем механизме TCP, и вышеизложенная проблема, что уменьшается CWND, неизбежна.
Поэтому, в реализации данного варианта осуществления настоящего изобретения, после того, как прикладной процессор передает второй пакет в сигнальный процессор согласно информации о первом пакете, прикладной процессор увеличивает окно перегрузки в качестве компенсации.
Например, CWND может увеличиваться до заданного начального значения или может восстанавливаться в значение окна перегрузки, используемое до того, как уменьшение окна перегрузки инициировано повторной передачей. В данном варианте осуществления настоящего изобретения, значение, до которого прикладной процессор увеличивает окно перегрузки, стратегия поведения, которая используется прикладным процессором для увеличения окна перегрузки, и тому подобное, не ограничены. Таким образом, влияние от повторной передачи при превышении лимита времени может быть устранено, количество пакетов, отправленных оконечным устройством, может быть гарантировано, а пропускная способность передачи оконечного устройства может быть улучшена.
В еще одном варианте осуществления, прикладной процессор и сигнальный процессор (также упоминаемый как модем) могут быть объединены даже в одно и то же ядро одной и той же микросхемы, и вышеизложенный способ также применим к такой микросхеме. Ради легкости описания, в этой реализации, микросхема упоминается как процессор, стек протоколов TCP и стек протоколов 3GPP могут подразумеваться в качестве двух задач (или двух потоков), работающих на процессоре, две задачи могут принадлежать разным процессам или одному и тому же процессу, и стек протоколов TCP и стек протоколов 3GPP обмениваются информацией, пользуясь механизмом связи между потоками и процессами. Прикладная программа, кроме того, работает на прикладном процессоре. Прикладная программа дополнительно отправляет пакет, например, данные, сформированные прикладной программой, или запрос, который принадлежит прикладной программе, и который инициирован пользовательской операцией, на базовую станцию, пользуясь стеком протоколов TCP и стеком протоколов 3GPP. Стек протоколов 3GPP переносит информацию, такую как идентификатор пакета и идентификатор соединения TCP, в котором расположен пакет, об отброшенном пакете прикладной программы в стек протоколов TCP, пользуясь механизмом связи между потоками или процессами, так что стек протоколов TCP переносит в стек протоколов 3GPP, согласно принятой информации об отброшенном пакете, пакет, который идентичен отброшенному пакету. Процессор отправляет, на базовую станцию, пользуясь интерфейсом связи, пакет, который принят стеком протоколов 3GPP, и который идентичен отброшенному пакету. Ради других подробностей в этой реализации, обратитесь к вышеизложенной заявке. Подробности повторно в материалах настоящей заявки не описаны. Таким образом, задержка повторной передачи, оконечным устройством, пакета, отброшенного сигнальным процессором, может быть уменьшена, задержка между оконечным устройством и сетевым устройством уменьшается до некоторой степени, а передача данных между оконечным устройством и сетью является более равномерной.
То, каким образом прикладной процессор взаимодействует, в варианте осуществления после того, как сигнальный процессор отбрасывает подлежащий отправке пакет, с сигнальным процессором, чтобы совершить повторную передачу, описано ниже со ссылкой на архитектуру программного обеспечения на фиг. 3, используя оконечное устройство с системой Android в качестве примера. Прикладной процессор и сигнальный процессор являются двумя ядрами или двумя независимыми микросхемами. В этом варианте осуществления, что касается содержания, упомянутого выше, обратитесь к вышеизложенным описаниям. Подробности повторно в материалах настоящей заявки не описаны.
В этой реализации, сигнальный процессор включает в себя стек протоколов 3GPP и задачу, используемую для передачи пакета данных с прикладным процессором (ради краткости упоминаемую как задача передачи межъядерных данных), и дополнительно включает в себя задачу межъядерной связи для передачи относительно небольшого количества данных. Прикладной процессор включает в себя еще одну задачу межъядерной связи, соответствующую задаче межъядерной связи в сигнальном процессоре, стек протоколов TCP, стек протоколов IP и приложение, работающее на прикладном уровне прикладного процессора.
Стек протоколов 3GPP в сигнальном процессоре контролирует подлежащий отправке пакет, отброшенный сигнальным процессором, и состояние сотовой сети, к которой оконечное устройство осуществляет доступ в настоящее время. Более точно, стек протоколов 3GPP может контролировать событие, вследствие которого сигнальный процессор отбрасывает подлежащий отправке пакет, например, эстафетную передачу обслуживания между разными сотовыми сетями, с тем чтобы определять отброшенный подлежащий отправке пакет.
Стек протоколов 3GPP формирует информацию (в том числе, порядковый номер отброшенного пакета и номер исходного порта соединения TCP, в котором расположен отброшенный пакет) о подлежащем отправке пакете, отброшенном сигнальным процессором, и сохраняет информацию в очереди, формирует информацию, указывающую, имеется ли в распоряжении соединение данных оконечного устройства (которая может быть несколькими параметрами, используемыми для указания, имеется ли в распоряжении соединение, или может быть прямо булевым значением, где разные значения указывают, имеется ли соединение в распоряжении и отсутствует), и переносит вышеизложенные два типа информации в задачу межъядерной связи в сигнальном процессоре, например, переносит информацию, пользуясь совместно используемой памятью.
В дополнение, в задаче, которая находится в сигнальном процессоре, и которая используется для передачи пакета данных с прикладным процессором, также выявляется пакет, отбрасываемый в задаче. Подобно стеку протоколов 3GPP, задача переносит, в задачу межъядерной связи в сигнальном процессоре, сформированную информацию (в том числе, порядковый номер отброшенного пакета, номер исходного порта соединения TCP, в котором расположен отброшенный пакет) о подлежащем отправке пакете, отброшенном сигнальным процессором, например, переносит информацию, пользуясь совместно используемой памятью.
Задача межъядерной связи управляет полученной информацией об отброшенном пакете, пользуясь очередью задачи. Если очередь заполнена, очередь отбрасывает информацию, которая касается отброшенного пакета, и которая получена после того, как очередь заполнена, и задача межъядерной связи определяет, согласно информации о соединении данных оконечного устройства, предоставленной стеком протоколов 3GPP, имеется ли соединение данных оконечного устройства в распоряжении или отсутствует.
Когда соединение данных оконечного устройства имеется в распоряжении, задача межъядерной связи передает информацию об отброшенном пакете в очереди в задачу межъядерной связи в прикладном процессоре, так чтобы стек протоколов TCP/IP прикладного процессора узнавал информацию об отброшенном пакете.
Когда соединение данных отсутствует, запускается таймер очереди задачи межъядерной связи и, когда таймер истекает, определяется, вновь согласно информации, предоставленной стеком протоколов 3GPP, имеется ли в распоряжении соединение данных оконечного устройства, спустя период времени, синхронизированный таймером. Если соединение данных имеется в распоряжении, задача межъядерной связи передает информацию об отброшенном пакете в очереди в задачу межъядерной связи в прикладном процессоре, и таймер возвращается в исходное состояние. Если соединение данных все еще отсутствует, таймер возвращается в исходное состояние, и выполняется определение, когда таймер истекает в следующий раз.
Прикладной процессор анализирует информацию, которая касается отброшенного подлежащего отправке пакета, и которая передана сигнальным процессором, для получения порядкового номера отброшенного пакета и номера исходного порта соединения TCP, в котором расположен отброшенный пакет.
Прикладной процессор находит соответствующее соединение TCP в стеке сетевых протоколов Linux, пользуясь номером исходного порта, сравнивает порядковый номер отброшенного подлежащего отправке пакета с порядковым номером пакета в очереди отправки соединения TCP, чтобы найти копию отброшенного подлежащего отправке пакета, и отправляет копию отброшенного подлежащего отправке пакета в сигнальный процессор, пользуясь стеком протоколов TCP/IP.
В дополнение, если отслеживание перегрузок TCP было инициировано в процессе отправки копии отброшенного подлежащего отправке пакета прикладным процессором, например, после того, как повторно передана копия подлежащего отправке пакета, CWND оконечного устройства уменьшается до 1, и прикладной процессор устанавливает текущее значение CWND в меньшее значение в пределах начального значения CWND (TCP_INIT_CWND) оконечного устройства, а значение, используемое до CWND, уменьшается до 1. Таким образом, необязательное уменьшение окна перегрузки может избегаться, чтобы ослабить влияние повторной передачи по превышению лимита времени и улучшить пропускную способность оконечного устройства, так чтобы большее количество пакетов могло отправляться вовремя, тем самым, уменьшая задержку, вызванную повторной передачей по причине потери пакетов.
Сигнальный процессор принимает копию, которая является копией подлежащего отправке пакета, и которая передается прикладным процессором, и отправляет копию на сетевое устройство, пользуясь радиочастотной схемой, такой как антенна.
Таким образом, после отбрасывания подлежащего отправке пакета, сигнальный процессор может сообщать, в прикладной процессор, информацию о подлежащем передаче пакете, отброшенном сигнальным процессором, так чтобы прикладной процессор мог повторно доставлять в сигнальный процессор, согласно сообщенной информации, пакет, отброшенный сигнальным процессором. Что пакет отброшен, может определяться раньше, чем определено, что таймер превышения лимита времени пакета истекает, а пакет подтверждения приема не принят с равноправной стороны, и пакет повторно отправляется в сигнальный процессор. Это может уменьшать задержку повторной передачи оконечным устройством пакета, отброшенного сигнальным процессором, и уменьшать задержку повторной передачи оконечного устройства до некоторой степени, так чтобы передача данных между оконечным устройством и сетью была равномернее. Так как состояние беспроводной сотовой сети часто меняется, случай, в котором сигнальный процессор отбрасывает подлежащий отправке пакет, происходит часто.
Нижеследующее описывает эффективность способа в вышеизложенном варианте осуществления, пользуясь результатом испытаний. Механизм повторной передачи оконечного устройства улучшается посредством использования способа в вышеизложенном варианте осуществления, так чтобы задержка повторной передачи могла быть относительно значительно уменьшена, и была улучшена пропускная способность данных передачи по восходящей линии связи. Для демонстрации сценария слабого поля и сценария движения с высокой скоростью сотовой сети, использование беспроводной сотовой сети China Unicom на высокоскоростной железнодорожной магистрали из Гуаньчжоу в Шеньжень выбрано для выполнения испытаний.
Что касается задержки передачи, используется испытательное оборудование iPerf, и метод выборочного исследования состоит в том, чтобы рассчитывать задержку передачи пакетов, активно сообщаемую касательно потери пакета в стеке протоколов 3GPP, которая вызывается в задаче для передачи пакета данных с прикладным процессором. Стороной источника является мобильный телефон, чьей равноправной стороной является сервер. До оптимизации, средняя задержка передачи имеет значение приблизительно 75 с. После оптимизации, средняя задержка передачи имеет значение приблизительно 45 с. Средняя задержка повторной передачи для отброшенного пакета оптимизирована на 40%.
Что касается пропускной способности передачи восходящей линии связи (направлением передачи восходящей линии связи является с оконечного устройства мобильного телефона на сервер), используется испытательное оборудование iPerf. Метод выборочного исследования состоит в том, чтобы рассчитывать среднюю пропускную способность (которая существует 100 с или 200 с в каждом цикле, и подсчитывается на стороне сервера), подсчитываемую в течение каждого испытания с iPerf. До оптимизации, средняя пропускная способность имеет значение приблизительно 1,5 Мбит/с. После оптимизации, средняя пропускная способность имеет значение приблизительно 3,3 Мбит/с. Средняя пропускная способность увеличена приблизительно в 2,2 раза.
Вариант осуществления настоящего изобретения дополнительно предусматривает устройство 600 передачи пакетов, и фиг. 6 - принципиальная структурная схема устройства 600 передачи пакетов Устройство включает в себя сигнальный процессор, прикладной процессор и передатчик. Сигнальный процессор выполнен с возможностью сообщать информацию о первом пакете в прикладной процессор. Первый пакет является подлежащим отправке пакетом, отброшенным сигнальным процессором, и информация о первом пакете включает в себя идентификатор первого пакета и идентификатор соединения TCP, пользуясь которым передается первый пакет. Прикладной процессор выполнен с возможностью передавать второй пакет в сигнальный процессор согласно информации о первом пакете, и второй пакет идентичен первому пакету. Сигнальный процессор дополнительно выполнен с возможностью отправлять второй пакет на сетевое устройство, пользуясь передатчиком.
В реализации, в показателях сообщения информации о первом пакете в прикладной процессор, сигнальный процессор выполнен с возможностью: когда соединение данных устройства имеется в распоряжении, сообщать информацию о первом пакете в прикладной процессор.
Со ссылкой на вышеизложенные различные реализации данного варианта осуществления, в показателях сообщения информации о первом пакете в прикладной процессор, сигнальный процессор выполнен с возможностью: когда соединение данных устройства отсутствует, кэшировать информацию о первом пакете, а когда соединение данных устройства переключается с отсутствующего на имеющееся в распоряжении, сообщать информацию о первом пакете в прикладной процессор.
Со ссылкой на вышеизложенные различные реализации данного варианта осуществления, прикладной процессор дополнительно конфигурируется под RRC после передачи второго пакета в сигнальный процессор согласно информации о первом пакете.
Со ссылкой на вышеизложенные различные реализации данного варианта осуществления, идентификатором первого пакета является порядковый номер первого пакета, а идентификатором соединения TCP, пользуясь которым передается первый пакет, является номер исходного порта соединения TCP; и в показателях передачи второго пакета в сигнальный процессор согласно информации о первом пакете, прикладной процессор выполнен с возможностью передавать второй пакет, который имеет тот же самый порядковый номер, что и первый пакет, в сигнальный процессор согласно номеру исходного порта.
Следует отметить, что, ради особых разъяснений и связанных полезных результатов наименований и этапов в данном варианте осуществления, обратитесь к вышеизложенным описаниям, и подробности в материалах настоящей заявки повторно не описаны.
Может быть понятно, что устройство, описанное в вышеизложенных вариантах осуществления способа, может быть реализовано любым устройством, которое передает или выполняет услугу передачи данных, пользуясь услугой передачи данных, поставляемой сотовой сетью. Настоящее изобретение дополнительно предусматривает оконечное устройство для реализации способа в вышеизложенных вариантах осуществления способа. Принципиальная структурная схема оконечного устройства показана на фиг. 7 в виде оконечного устройства 300. Оконечное устройство 300 включает в себя схему 302 обработки, а также интерфейс 304 связи и запоминающий носитель 306, которые присоединены к схеме 302 обработки. Можно узнать, что передатчик в варианте осуществления на фиг. 6 эквивалентен схеме 318 передатчика в интерфейсе 304 связи.
Схема 302 обработки выполнена с возможностью: обрабатывать данные, управлять доступом к и сохранением данных, отправлять команду и управлять другим устройством для выполнения операции. Схема 302 обработки может быть реализована в виде одного или более процессоров, одного или более контроллеров и/или другой конструкции, которая может использоваться для исполнения программы. Схема 302 обработки, более точно, может включать в себя по меньшей мере одно из процессора общего применения, цифрового сигнального процессора (ЦСП, DSP), специализированной интегральной схемы (ASIC), программируемой пользователем вентильной матрицы (FPGA) или другого компонента программируемой логики. Процессор общего применения может включать в себя микропроцессор и любой традиционный процессор, контроллер, микроконтроллер или конечный автомат. Схема 302 обработки, в качестве альтернативы, может быть реализована в виде вычислительного компонента, такого как комбинация ЦСП и микропроцессора.
В этом варианте осуществления настоящего изобретения, схема обработки включает в себя прикладной процессор 309 и сигнальный процессор 310.
Запоминающий носитель 306 может включать в себя машинно-читаемый запоминающий носитель, такой как магнитное запоминающее устройство (такое как жесткий диск, гибкий диск или магнитная полоса), оптический запоминающий носитель (такой как цифровой многофункциональный диск (DVD)), смарт-карта, устройство флэш-памяти, оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ), программируемое ПЗУ (ППЗУ, PROM), стираемое ППЗУ (СППЗУ, EPROM), регистр или любую их комбинацию. Запоминающий носитель 306 может быть присоединен к схеме 302 обработки, так чтобы схема 302 обработки могла считывать информацию и записывать информацию на запоминающий носитель 306. Более точно, запоминающий носитель 306 может быть встроенным в схему 302 обработки, или запоминающий носитель 306 и схема 302 обработки могут быть раздельными.
Интерфейс 304 связи может включать в себя схемы и/или программы для реализации двунаправленной связи между оконечным устройством 300 и одним или более беспроводных сетевых устройств (например, базовой станцией или сервером). Интерфейс 304 связи может быть присоединен к одной или более антенн (не показанных на фиг. 7) и включает в себя по меньшей мере одну схему 316 приемника и/или по меньшей мере одну схему 318 передатчика.
В варианте осуществления, запоминающий носитель 306 хранит программу 320 стека протоколов, и схема 302 обработки исполняет программу 320 стека протоколов для реализации функции стека протоколов. Что касается взаимосвязи между стеком протоколов и каждым из прикладного процессора 309 и сигнального процессора 310, обратитесь к связанным описаниям на фиг. 3.
Стек протоколов используется для: инкапсуляции данных прикладной программы в множество пакетов в конкретном формате данных согласно техническим условиям протокола TCP/IP и отправки множества пакетов на сервер приложений, пользуясь схемой 318 передатчика. В дополнение, стек протоколов дополнительно декапсулирует пакет, принятый схемой 316 приемника, чтобы в конечном счете получать данные прикладной программы. Процессы инкапсуляции и декапсуляции пакетов стеком протоколов показаны на фиг. 8A и фиг. 8B. Можно узнать, что процесс инкапсуляции пакета по существу является процессом, в котором стек протоколов добавляет заголовок и/или концевик кадра в пакет, а процесс декапсуляции пакета по существу является процессом удаления заголовка и/или концевика кадра из пакета. После декодирования и/или декапсуляции данных, принятых интерфейсом 304 связи, стек протоколов может переносить данные в прикладную программу на верхнем уровне или может инкапсулировать данные прикладной программы, а затем, отправлять данные на другое устройство, пользуясь интерфейсом связи.
В варианте осуществления, стек протоколов может включать в себя физический уровень, канальный уровень, сетевой уровень, транспортный уровень и прикладной уровень, с тем чтобы реализовывать протоколы уровней. Например, физический уровень используется для определения признака физического интерфейса устройства, типа среды передачи, скорости передачи, режима передачи, и тому подобного, и реализовывать обработку сигналов на физическом уровне. Подобным образом, канальный уровень используется для реализации функции канального уровня, например, ответственен за распространение сигнализации, собранной на сетевом уровне, и обработку информации, собранной физическим уровнем. Канальный уровень может включать в себя один или более подмодулей, таких как модуль уровня управления доступом к среде передачи (Media Access Control, MAC), модуль уровня управления каналом радиосвязи (RLC) и модуль уровня управления логическими каналами (LLC), которые соответственно выполнены с возможностью реализовывать функции уровня MAC, уровня RLC и уровня LLC. Например, модуль уровня MAC выполнен с возможностью передавать данные протокола верхнего уровня, пользуясь службой, предусмотренной физическим уровнем, и управлять доступом к данным между верхним уровнем и эфирным интерфейсом. Модуль уровня RLC используется для сегментации и восстановления данных. Модуль уровня LLC выполнен с возможностью обеспечивать функции управления потоком, управления очередностью и контроля ошибок. Кроме того, сетевой уровень выполнен с возможностью реализовывать функции, такие как логическая адресация и выбор маршрута. Транспортный уровень выполнен с возможностью реализовывать функции, такие как адресация портов, сегментация и восстановление, управление соединением, управление потоком и контроль ошибок. Прикладной уровень выполнен с возможностью предоставлять интерфейс для прикладной программы на верхнем уровне.
Согласно одному или более аспектов данного варианта осуществления настоящего изобретения, схема 302 обработки приспособлена исполнять программу 320 стека протоколов, хранимую на запоминающем носителе 306, с тем чтобы реализовывать функцию стека протоколов. Стек протоколов в прикладном процессоре 309 и стек протоколов в сигнальном процессоре 310, более точно, реализуют некоторые или все из этапов в вышеизложенных вариантах осуществления способа.
Вариант осуществления настоящего изобретения дополнительно предусматривает микросхему. Микросхема устанавливает соединение данных с сетевым устройством, используя радиочастотный компонент, и микросхема включает в себя прикладной процессор и сигнальный процессор. Сигнальный процессор выполнен с возможностью сообщать информацию о первом пакете в прикладной процессор. Первый пакет является подлежащим отправке пакетом, отброшенным сигнальным процессором, и информация о первом пакете включает в себя идентификатор первого пакета и идентификатор соединения TCP, пользуясь которым передается первый пакет. Прикладной процессор выполнен с возможностью передавать второй пакет в сигнальный процессор согласно информации о первом пакете, и второй пакет идентичен первому пакету. Сигнальный процессор дополнительно выполнен с возможностью отправлять второй пакет на сетевое устройство, используя радиочастотный компонент.
То есть, микросхема, описанная в данном варианте осуществления настоящего изобретения, фактически является схемой 302 обработки, которая размещена и используется в оконечном устройстве, показанном на фиг. 7.
В реализации, в показателях сообщения информации о первом пакете в прикладной процессор, сигнальный процессор выполнен с возможностью: когда соединение данных микросхемы имеется в распоряжении, сообщать информацию о первом пакете в прикладной процессор.
Со ссылкой на вышеизложенную реализацию данного варианта осуществления настоящего изобретения, в еще одной реализации, в показателях сообщения информации о первом пакете в прикладной процессор, сигнальный процессор выполнен с возможностью: когда соединение данных микросхемы отсутствует, кэшировать информацию о первом пакете, а когда соединение данных микросхемы переключается с отсутствующего на имеющееся в распоряжении, сообщать информацию о первом пакете в прикладной процессор.
Со ссылкой на вышеизложенные реализации данного варианта осуществления настоящего изобретения, в еще одной реализации, прикладной процессор дополнительно выполнен с возможностью увеличивать окно перегрузки после передачи второго пакета в сигнальный процессор согласно информации о первом пакете.
Со ссылкой на вышеизложенные реализации данного варианта осуществления настоящего изобретения, в еще одной реализации, идентификатором первого пакета является порядковый номер первого пакета, а идентификатором соединения TCP, пользуясь которым передается первый пакет, является номер исходного порта соединения TCP; и в показателях передачи второго пакета в сигнальный процессор согласно информации о первом пакете, прикладной процессор выполнен с возможностью передавать второй пакет, который имеет тот же самый порядковый номер, что и первый пакет, в сигнальный процессор согласно номеру исходного порта.
Ради дополнительных подробностей о микросхеме, описанной в данном варианте осуществления, обратитесь к описаниям варианта осуществления оконечного устройства, показанного на фиг. 8A и фиг. 8B, и способа, который может быть реализован применительно к вышеизложенной микросхеме, и подробности в материалах настоящей заявки повторно не описаны.
Вариант осуществления настоящего изобретения дополнительно предусматривает запоминающий носитель, и носитель выполнен с возможностью хранить управляющую программу для реализации способа передачи пакетов, описанного в настоящем изобретении.
Способ и устройство передачи пакетов, предусмотренные в данной заявке, подробно описаны выше. В этом описании изобретения, конкретные примеры применены для описания принципа и реализаций настоящего изобретения, и описание вышеизложенных вариантов осуществления предназначено исключительно для того, чтобы помочь понять способ и центральную идею настоящего изобретения. В дополнение, рядовой специалист в данной области техники может произвести модификации в отношении конкретных реализаций и объемов применения согласно идее настоящего изобретения. В заключение, содержание данного описания изобретения не будет истолковано в качестве ограничения настоящего изобретения.