BR112019008916A2 - método e aparelho de envio de pacote, chip e terminal - Google Patents

método e aparelho de envio de pacote, chip e terminal Download PDF

Info

Publication number
BR112019008916A2
BR112019008916A2 BR112019008916A BR112019008916A BR112019008916A2 BR 112019008916 A2 BR112019008916 A2 BR 112019008916A2 BR 112019008916 A BR112019008916 A BR 112019008916A BR 112019008916 A BR112019008916 A BR 112019008916A BR 112019008916 A2 BR112019008916 A2 BR 112019008916A2
Authority
BR
Brazil
Prior art keywords
packet
terminal
baseband processor
processor
information
Prior art date
Application number
BR112019008916A
Other languages
English (en)
Inventor
Yang Neng
Deng Yu
Zhang Zhong
Original Assignee
Huawei Tech Co Ltd
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 Huawei Tech Co Ltd filed Critical Huawei Tech Co Ltd
Publication of BR112019008916A2 publication Critical patent/BR112019008916A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/189Transmission or retransmission of more than one copy of a message
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • 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/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1628List acknowledgements, i.e. the acknowledgement message consisting of a list of identifiers, e.g. of sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/187Details of sliding window management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1896ARQ related signaling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • 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/0205Traffic management, e.g. flow control or congestion control at the air interface
    • 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/0273Traffic management, e.g. flow control or congestion control adapting protocols for flow control or congestion control to wireless environment, e.g. adapting transmission control protocol [TCP]
    • 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/0289Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/188Time-out mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

esse pedido fornece um método e aparelho de envio de pacote, um chip e um terminal. o método é aplicado a um terminal, o terminal inclui um processador de banda base 131, um processador de aplicação 110 e uma interface de comunicações, e o método inclui: relatar (s502), pelo processador de banda base 131, informação sobre um primeiro pacote para o processador de aplicação 110, onde o primeiro pacote é um pacote a-ser-enviado descartado pelo processador de banda base 131; transmitir (s504), pelo processador de aplicação 110, um segundo pacote ao processador de banda base 131 de acordo com a informação sobre o primeiro pacote, onde o segundo pacote é o mesmo que o primeiro pacote; e enviar (s506), pelo processador de banda base 131, o segundo pacote para um dispositivo de rede por utilizar a interface de comunicações. desta forma, um atraso de retransmissão de um pacote pelo terminal pode ser reduzido até certo ponto, de modo que a comunicação de dados entre o terminal e uma rede se torne mais suave.

Description

1/55
MÉTODO E APARELHO DE ENVIO DE PACOTE, CHIP E TERMINAL
CAMPO TÉCNICO [001] A presente invenção refere-se ao campo de comunicações e, mais especificamente, a um método e aparelho de envio de pacote, um chip e um terminal.
FUNDAMENTOS [002] Como o acesso à Internet móvel tornou-se uma característica principal de um terminal, uma solução técnica usada pelo terminal para acessar uma rede se desenvolve continuamente. Isso melhora muito a taxa de obtenção de informação de um produto de terminal. O Protocolo de Controle de Transmissão / Protocolo de Internet (TCP/IP) comumente usado no campo de comunicações móveis é um protocolo de comunicação de camada de transporte orientado a conexão, confiável e baseado em fluxo de bytes.
[003] Em um processo no qual um terminal acessa uma rede usando o protocolo TCP/IP, um pacote é frequentemente descartado (o que também é chamado de perda de pacote). Um método de processamento atual é geralmente que uma extremidade de transmissão retransmite dados. No método de processamento atual, a perda de um pacote é determinada dependendo de um retorno de uma extremidade de recepção. Por exemplo, se a extremidade de transmissão não recebeu, dentro de um periodo de tempo especificado, uma mensagem de retorno como um ACK enviado pela extremidade de recepção, é determinado que um pacote é perdido, e um pacote incluindo dados do pacote perdido é reenviado. Nesta solução, um terminal tem um atraso relativamente grande ao responder a uma perda de pacotes, um tempo de paralisação da transmissão de dados entre o terminal e um dispositivo de rede é
Petição 870190075440, de 05/08/2019, pág. 7/69
2/55 relativamente longo, e a qualidade de comunicação em tempo real é afetada de forma severa.
SUMÁRIO [004] Em vista disto, esse pedido fornece um método e aparelho de envio de pacote, um chip, e um terminal, de modo a reduzir o atraso de retransmitir, por um terminal, um pacote a-ser-enviado descartado por um processador de banda base, e reduzir, até certo ponto, um atraso de resposta a uma perda de pacote pelo terminal, de modo que a transmissão de dados entre o terminal e uma rede seja mais suave.
[005] De acordo com um primeiro aspecto, uma modalidade da presente invenção fornece um método de envio de pacote, onde o método é aplicado a um terminal, o terminal inclui um processador de banda base, um processador de aplicação e uma interface de comunicações, e o método inclui: relatar, pelo processador de banda base, informação sobre um primeiro pacote para o processador de aplicação, onde o primeiro pacote é um pacote a-ser-enviado descartado pelo processador de banda base, e a informação sobre o primeiro pacote inclui um identificador do primeiro pacote e um identificador de uma conexão TCP por utilizar qual o primeiro pacote é transmitido; transmitir, pelo processador de aplicação, um segundo pacote ao processador de banda base de acordo com a informação sobre o primeiro pacote, em que o segundo pacote é o mesmo que o primeiro pacote; e enviar, pelo processador de banda base, o segundo pacote para um dispositivo de rede usando a interface de comunicações.
[00 6] Deve ser notado que o pacote a-ser-enviado descartado pelo processador de banda base também pode ser entendido como um pacote que é entregue pelo processador de
Petição 870190075440, de 05/08/2019, pág. 8/69
3/55 aplicação ao processador de banda base e que não é enviado pelo processador de banda base para o dispositivo de rede usando a interface de comunicações.
[007] Deve ser notado que o dispositivo de rede pode ser um dispositivo tal como uma estação base ou um servidor.
[008] O segundo pacote pode ser entendido como uma cópia do primeiro pacote.
[009] Dessa forma, após descartar o pacote a-serenviado, o processador de banda base pode relatar, ao processador de aplicação, a informação sobre o pacote a-serenviado descartado pelo processador de banda base, de modo que o processador de aplicação possa reenviar, para o processador de banda base de acordo com a informação relatada, uma cópia do pacote descartado pelo processador de banda base. Pode ser determinado, antes de ser determinado que um temporizador de tempo esgotado do pacote expira e nenhum pacote de reconhecimento é recebido a partir de um terminal par, que o pacote é descartado e o pacote é reenviado ao processador de banda base. Isto pode reduzir um atraso de retransmitir, pelo terminal, o pacote a-serenviado descartado pelo processador de banda base, e reduzir, até certo ponto, um atraso de resposta a uma perda de pacote pelo terminal, de modo que a transmissão de dados entre o terminal e uma rede é mais suave. Porque o status de uma rede celular sem fio geralmente muda, um caso em que o processador de banda base descarta um pacote a-ser-enviado ocorre com frequência.
[0010] Com referência ao primeiro aspecto, em uma primeira implementação do primeiro aspecto, o relatório, pelo processador de banda base, de informação sobre um
Petição 870190075440, de 05/08/2019, pág. 9/69
4/55 primeiro pacote para o processador de aplicação inclui: quando uma conexão de dados do terminal está disponível, relatar, pelo processador de banda base, a informação sobre o primeiro pacote para o processador de aplicação.
[0011] Uma conexão de dados é uma conexão usada para transportar um serviço de dados. A conexão de dados do terminal pode ser entendida como uma conexão de dados entre o terminal e uma estação base.
[0012] Com referência ao primeiro aspecto ou à primeira implementação do primeiro aspecto, em outra implementação, quando a conexão de dados do terminal está indisponível, o processador de banda base armazena em cache a informação sobre o primeiro pacote, e quando a conexão de dados do terminal é comutada de indisponível para disponível, o processador de banda base relata a informação sobre o primeiro pacote para o processador de aplicação.
[0013] Deve ser entendido que o terminal pode determinar, por meio de detecção periódica, acionador de evento, acionador de instrução ou similar, se a conexão de dados do terminal está disponível ou indisponível. A conexão de dados do terminal está indisponível em qualquer um dos seguintes casos: o terminal está em um estado desconectado; o terminal falha em acampar normalmente em qualquer célula servindo; um serviço de dados do terminal está em um estado desativado; ou o terminal está em um cenário de chamada 2G no caso de quando um domínio de circuito comutado é reduzido (Redução de Circuito Comutado, CSFB) para 2G.
[0014] Deve ser notado que, quando a conexão de dados do terminal é comutada de indisponível para disponível, o processador de banda base relata a informação sobre o
Petição 870190075440, de 05/08/2019, pág. 10/69
5/55 primeiro pacote ao processador de aplicação. Isso indica que o processador de banda base relata a informação sobre o primeiro pacote ao processador de aplicação depois que a conexão de dados do terminal é comutada de indisponível para disponível. Simultaneidade não é estritamente necessária porque leva tempo para ler uma instrução, executar uma operação relacionada e semelhantes. Ou seja, dentro de um período de tempo relativamente curto (por exemplo, vários milissegundos ou vários segundos) após a conexão de dados do terminal ser comutada de indisponível para disponível, o processador de banda base completa uma ação de relatar a informação sobre o primeiro pacote para o processador de aplicação.
[0015] Na primeira implementação e na segunda implementação, o processador de banda base relata a informação sobre o pacote a-ser-enviado descartado para o processador de aplicação apenas quando a conexão de dados está disponível, para que a validade da retransmissão possa ser melhorada. Se a informação sobre o pacote a-ser-enviado descartado for relatada ao processador de aplicação somente quando a conexão de dados está disponível, o consumo de energia do terminal poderá ser reduzido.
[0016] De acordo com qualquer uma das implementações anteriores, em outra implementação, após transmitir, pelo processador de aplicação, um segundo pacote para o processador de banda base de acordo com a informação sobre o primeiro pacote, o método inclui ainda: aumentar, pelo processador de aplicação, valor da janela de congestionamento da conexão TCP.
[0017] Depois que o processador de aplicação
Petição 870190075440, de 05/08/2019, pág. 11/69
6/55 transmite o segundo pacote para o processador de banda base, a janela de congestionamento pode ser diminuída. Depois que a janela de congestionamento é aumentada, o impacto da retransmissão de tempo esgotado pode ser eliminado, uma quantidade de pacotes enviados pelo terminal pode ser assegurada e uma taxa de transferência de transmissão do terminal pode ser melhorada.
[0018] De acordo com qualquer uma das implementações anteriores, em outra implementação, o identificador do primeiro pacote é um número de sequência do primeiro pacote, e a conexão TCP por utilizar qual o primeiro pacote é transmitido é um número de porta de origem da conexão TCP; e a transmissão, pelo processador de aplicação, de um segundo pacote para o processador de banda base de acordo com a informação sobre o primeiro pacote inclui: transmitir, pelo processador de aplicação, o segundo pacote que tem o mesmo número de sequência que o primeiro pacote para o processador de banda base de acordo com o número de porta de origem.
[0019] De acordo com um segundo aspecto, uma modalidade da presente invenção fornece um aparelho de envio de pacote, e o aparelho inclui um processador de banda base, um processador de aplicação e um transmissor. O processador de banda base é configurado para relatar informação sobre um primeiro pacote para o processador de aplicação, onde o primeiro pacote é um pacote a-ser-enviado descartado pelo processador de banda base, e a informação sobre o primeiro pacote inclui um identificador do primeiro pacote e um identificador de uma conexão TCP por utilizar que o primeiro pacote é transmitido; o processador de aplicação é configurado para transmitir um segundo pacote ao processador
Petição 870190075440, de 05/08/2019, pág. 12/69
7/55 de banda base de acordo com a informação sobre o primeiro pacote, em que o segundo pacote é o mesmo que o primeiro pacote; e o processador de banda base é ainda configurado
para enviar o segundo pacote para um dispositivo de rede
usando o transmissor.
[0020] Porque o segundo aspecto é um aparelho
correspondente ao primeiro aspecto, para várias
implementações, descrições e efeitos técnicos, consulte as descrições no primeiro aspecto.
[0021] De acordo com um terceiro aspecto, é fornecido um chip. O chip estabelece uma conexão de dados com um dispositivo de rede por utilizar um componente de frequência de rádio, e o chip inclui um processador de aplicação e um processador de banda base; o processador de banda base é configurado para relatar informação sobre um primeiro pacote ao processador de aplicação, onde o primeiro pacote é um pacote a-ser-enviado descartado pelo processador de banda base, e a informação sobre o primeiro pacote inclui um identificador do primeiro pacote e um identificador de uma conexão TCP por utilizar que o primeiro pacote é transmitido; o processador de aplicação é configurado para transmitir um segundo pacote ao processador de banda base de acordo com a informação sobre o primeiro pacote, em que o segundo pacote é o mesmo que o primeiro pacote; e o processador de banda base é ainda configurado para enviar o segundo pacote para o dispositivo de rede usando o componente de frequência de rádio.
[0022] O terceiro aspecto é uma forma de produto especifica do segundo aspecto. Para várias implementações, descrições, e efeitos técnicos do terceiro aspecto, consulte
Petição 870190075440, de 05/08/2019, pág. 13/69
8/55 o segundo aspecto, e os detalhes não são aqui descritos novamente.
[0023] De acordo com um quarto aspecto, é fornecido um terminal. 0 terminal inclui um processador de aplicação, um processador de banda base, uma memória e uma interface de comunicações. 0 processador de aplicação, o processador de banda base e a interface de comunicações são conectados à memória; e o processador de aplicação, o processador de banda base e a interface de comunicações executam o método em qualquer uma das implementações do primeiro aspecto, invocando uma instrução armazenada na memória.
[0024] De acordo com um quinto aspecto, um meio de armazenamento é fornecido e é configurado para armazenar código para implementar qualquer um dos métodos de acordo com as implementações do primeiro aspecto.
[0025] Para as várias implementações, descrições e efeitos técnicos do quarto aspecto e do quinto aspecto, consulte o primeiro aspecto, e os detalhes não são aqui descritos novamente.
BREVE DESCRIÇÃO DOS DESENHOS [0026] Para descrever as soluções técnicas na aplicação mais claramente, o que segue descreve resumidamente os desenhos anexos necessários para descrever as modalidades. Aparentemente, os desenhos em anexo na seguinte descrição mostram meramente esse pedido, e uma pessoa de habilidade comum na arte ainda pode derivar outros desenhos a partir destes desenhos anexos sem esforços criativos.
[0027] A Figura 1 é um diagrama esquemático de ligação em rede de um sistema de acordo com uma modalidade
Petição 870190075440, de 05/08/2019, pág. 14/69
9/55 da presente invenção;
[0028] A Figura 2 é um diagrama esquemático de uma estrutura de hardware de um terminal de acordo com uma modalidade da presente invenção;
[0029] A Figura 3 é um diagrama esquemático de uma arquitetura de software de um terminal de acordo com uma modalidade da presente invenção;
[0030] A Figura 4 é um diagrama esquemático de um formato de pacote TCP de acordo com uma modalidade da presente invenção;
[0031] A Figura 5 é um diagrama esquemático de um método de envio de pacote de acordo com uma modalidade da presente invenção;
[0032] A Figura 6 é um diagrama esquemático de um aparelho de envio de pacote de acordo com uma modalidade da presente invenção;
[0033] A Figura 7 é um diagrama esquemático de um terminal de acordo com uma modalidade da presente invenção; e [0034] A Figura 8A e Figura 8B são diagramas esquemáticos de um processo de encapsulamento durante a transmissão de pacote entre uma extremidade de transmissão e uma extremidade de recepção de acordo com uma modalidade da presente invenção.
DESCRIÇÃO DAS MODALIDADES [0035] Esse pedido fornece um método e aparelho de envio de pacote, um chip, e um terminal. O seguinte claramente e descreve as soluções técnicas neste pedido com referência aos desenhos em anexo neste pedido. Aparentemente, as modalidades descritas são apenas algumas,
Petição 870190075440, de 05/08/2019, pág. 15/69
10/55 mas não todas, deste pedido. Todas as outras modalidades obtidas por um especialista na técnica com base neste pedido sem esforços criativos cairão dentro do âmbito de proteção da presente invenção.
[0036] A seguir estão alguns termos técnicos neste pedido:
[0037] Uma janela de congestionamento é uma quantidade máxima de pacotes de dados que podem ser enviados por uma extremidade de origem de dados dentro de um periodo de tempo de RTT durante a transmissão de dados TCP no caso de controle de congestionamento. Recuo de janela de congestionamento significa que uma extremidade de origem de dados diminui uma janela de congestionamento quando uma rede está congestionada.
[0038] Os serviços de comunicações móveis são classificados em um serviço de dados (Data Service) e um serviço de voz. O serviço de dados inclui outros serviços além dos serviços de voz de dominio de CS (Circuito Comutado, Circuit Switched) de comunicações móveis. Uma conexão de dados pode ser entendida como uma conexão de dados entre um terminal e uma estação base, e indica uma conexão que está entre o terminal e a estação base e que é usada para processar um serviço de dados. Que uma conexão de dados entre um terminal e uma estação base está disponível indica que o terminal usa uma rede celular para processar um serviço de dados, ou seja, o terminal pode receber um sinal de uma estação base na rede celular, e o terminal pode usar uma função de troca de dados ou uma instrução em um serviço de dados com a estação base, onde os dados e a instrução são de um serviço de dados. Que uma conexão de dados entre um
Petição 870190075440, de 05/08/2019, pág. 16/69
11/55 terminal e uma estação base está indisponível indica que o terminal não pode usar uma rede celular para processar um serviço de dados, ou seja, o terminal não pode receber um sinal da rede celular, ou o terminal precisa processar um serviço de voz e, portanto, não pode trocar dados ou uma instrução em um serviço de dados com a estação base na rede celular ao mesmo tempo. Atualmente, um caso conhecido no qual uma conexão de dados de um terminal está indisponível inclui: o terminal está em um estado desconectado; o terminal falha em acampar normalmente em qualquer célula servindo; um serviço de dados do terminal está em um estado desativado; ou o terminal está em um cenário de chamada 2G no caso de quando um domínio de circuito comutado é reduzido (Redução de Circuito Comutado, CSFB) para 2G.
[0039] Um pacote a-ser-enviado é um pacote que deve ser enviado por um terminal para uma estação base, e geralmente é um pacote TCP obtido por encapsulamento, usando uma pilha de protocolos, dados que são gerados por uma aplicação em execução no terminal e que precisam ser enviados para a estação base. Os dados no pacote a-ser-enviado podem ser gerados devido a algumas ações ou comportamento de um usuário. Por exemplo, a aplicação é um navegador. O usuário toca em um link exibido no navegador ou insere uma conta ou senha de um site. Os dados no link, na conta ou na senha inserida pelo usuário são dados que o navegador precisa enviar para a estação base. Os dados no pacote a-ser-enviado podem, alternativamente, ser gerados em um processo em execução por uma aplicação para executar uma tarefa. Por exemplo, a aplicação é um navegador. Para atualizar periodicamente uma janela de notícias em uma página inicial,
Petição 870190075440, de 05/08/2019, pág. 17/69
12/55 o navegador gera dados de solicitação que precisam ser enviados para a estação base. Um pacote obtido pelo encapsulamento dos dados usando a pilha de protocolos é um pacote a-ser-enviado antes de ser enviado pelo terminal usando um componente de frequência de rádio (por exemplo, uma antena) do terminal. Uma pessoa perita na arte deve compreender que o terminal pode gerar ou determinar um pacote a-ser-enviado. Uma maneira de gerar um pacote a-ser-enviado não é limitada na presente invenção.
[0040] Mesmice: mesmice nesse pedido indica mesmice exata ou mesmice essencial. Por exemplo, quando um primeiro pacote e um segundo pacote são pacotes TCP, o primeiro pacote é o mesmo que o segundo pacote indica que o primeiro pacote e o segundo pacote são iguais em termos de pelo menos informação, como uma parte de dados, um número de porta de origem e um número de porta de destino. O segundo pacote pode ser entendido como uma cópia do primeiro pacote, permitindo diferenças insignificantes entre cabeçalhos de pacotes ou rodapés de pacotes do primeiro pacote e do segundo pacote. Essas diferenças podem ser geradas por um terminal durante a geração de um pacote devido a algumas razões, por exemplo, as horodatas são diferentes ou alguns valores gerados aleatoriamente são diferentes.
[0041] As soluções técnicas fornecidas nesse pedido podem ser normalmente aplicadas a um sistema de comunicações sem fio, por exemplo, uma rede de Sistema Global para Comunicações Móveis (GSM, Global System of Mobile communication), uma rede de Acesso Múltiplo por Divisão de Código (CDMA, Code Division Multiple Access), uma rede de Acesso Múltiplo por Divisão de Código Síncrono-Divisão de
Petição 870190075440, de 05/08/2019, pág. 18/69
13/55
Tempo (TD-SCDMA, Time Division-Synchronous Code Division Multiple Access), uma rede de Acesso Múltiplo por Divisão de Código de Banda Larga (WCDMA, Wideband Code Division Multiple Access Wireless), uma rede de serviço de rádio de pacote geral (GPRS, General Packet Radio Service), uma rede de Evolução de Longo Prazo (LTE, Long Term Evolution), uma rede definida por software (SDN, Software Defined Network), ou uma rede de sensor sem fio (Wireless Sensor Network).
[0042] A Figura 2 é um diagrama de blocos simplificado de um sistema de comunicações 100 de acordo com uma modalidade da presente invenção. O sistema de comunicações 100 é utilizado apenas como cenário de aplicação da presente invenção. Isto não deve ser interpretado como uma limitação no cenário de aplicação da presente invenção.
[0043] Na descrição, reivindicações e desenhos anexos da presente invenção, os termos primeiro, segundo, terceiro, quarto ou semelhantes (se existirem) pretendem distinguir entre objetos semelhantes, mas não necessariamente indicar uma ordem ou sequência especifica.
[0044] Como mostrado na Figura 2, o sistema de comunicações 100 inclui um terminal 10, um ponto de acesso 11, um gateway 12, uma rede de área ampla 13 e um servidor
20. O terminal 10 nesta modalidade da presente invenção pode ser um terminal móvel (Mobile Terminal), por exemplo, um dispositivo móvel portátil, vestivel ou no veiculo, como um telefone celular, um computador tablet, um dispositivo de tiro esportivo, ou um computador notebook, ou pode ser um dispositivo, como um computador ou um servidor que pode acessar uma rede celular, ou mesmo um dispositivo de rede,
Petição 870190075440, de 05/08/2019, pág. 19/69
14/55 como um roteador ou um gateway que pode acessar uma rede celular, por exemplo, um roteador ou um gateway que pode usar um cartão SIM (Módulo de Identificação de Assinante, subscriber identification module). Um telefone móvel é utilizado como um exemplo para descrição nesta modalidade da presente invenção. 0 servidor 20 pode ser um servidor de aplicação, um agente de servidor, um servidor de centro de dados ou um dispositivo de rede, como um roteador ou um gateway.
[0045] Uma pessoa perita na técnica pode compreender que um sistema de comunicações normalmente pode incluir menos ou mais componentes do que os mostrados na Figura 2, ou incluir componentes diferentes dos mostrados na Figura 2. A Figura 2 mostra apenas componentes mais relacionados com uma implementação divulgada nesta modalidade da presente invenção. Por exemplo, embora a Figura 2 mostre um servidor 20, uma pessoa perita na arte pode compreender que um sistema de comunicações pode incluir qualquer quantidade de servidores.
[0046] A rede de área ampla 13 pode incluir uma parte de uma rede pública, uma rede dedicada, ou a Internet e/ou qualquer combinação dos mesmos. O ponto de acesso pode ser uma estação base, um ponto de acesso de rede de área local sem fio (WLAN) ou um ponto de acesso em outra forma. O gateway 12 e o ponto de acesso 11 podem ser incluídos em uma rede sem fio. Por questões de brevidade, outras partes da rede sem fio não são descritas.
[0047] A Figura 2 mostra ainda uma estrutura de hardware do terminal 10. De acordo com a Figura 2, o terminal 10 inclui um processador de aplicação 110, uma memória 120,
Petição 870190075440, de 05/08/2019, pág. 20/69
15/55 um subsistema de comunicações 130 e um subsistema de gestão de energia 140. A memória 120 armazena um programa executável e o programa executável inclui um sistema operacional e um programa de aplicação. O processador de aplicação (Application Processor) 110 é um processador configurado para executar o sistema operacional e o programa de aplicação.
[0048] Em uma modalidade, o programa de aplicação é um navegador de web, e o servidor 2 0 é um servidor de um provedor de conteúdo web. Em outra modalidade, o programa de aplicação é um reprodutor de video online, e o servidor 20 é um servidor de um provedor de conteúdo de video. Em uma outra modalidade, o programa de aplicação é um software de mensagens instantâneas, e o servidor 20 é um servidor de um provedor de serviço de mensagens instantâneas.
[0049] O subsistema de comunicações 130 implementa principalmente funções tais como processamento de banda base, modulação e demodulação, amplificação e filtragem de sinal e balanceamento. O subsistema de comunicações 130 inclui um módulo de frequência de rádio 132, uma antena 133 e um processador de banda base (Baseband Processor, BP) 131 que também é referido como modem sem fio (Modem). Deve ser notado que o processador de banda base 131 e um módulo de Wi-Fi 150 podem ser integrados em um chip. Além disso, o processador de banda base 131 e o processador de aplicação 110 podem ser integrados em um chip, ou cada um pode ser um chip independente. A Figura 2 é meramente uma expressão de exemplo. O subsistema de gerenciamento de energia 140 é configurado para fornecer energia a um sistema.
[0050] A memória 120 inclui normalmente uma memória
Petição 870190075440, de 05/08/2019, pág. 21/69
16/55 interna e um armazenamento externo. A memória interna pode ser uma memória de acesso aleatório (RAM), uma memória somente de leitura (ROM), uma cache (CACHE) ou semelhantes. 0 armazenamento externo pode ser um disco rigido, um disco ótico, uma unidade flash USB, um disquete, uma unidade de fita ou algo semelhante. 0 programa executável é normalmente armazenado no armazenamento externo, e o processador de aplicação 110 executa o programa depois de carregar o programa executável do armazenamento externo para a memória interna.
[0051] Opcionalmente, o terminal 10 inclui ainda o módulo de Wi-Fi (Fidelidade Sem Fio, Wireless Fidelity) 150, o módulo de Wi-Fi 150 suporta a série IEEE 802.11 de protocolos, e o terminal 10 pode acessar uma WLAN usando ο módulo de Wi-Fi 150.
[0052] Opcionalmente, o terminal 10 inclui ainda uma exibição 160 que é configurada para exibir informação introduzida por um usuário ou informação fornecida para um usuário, e várias interfaces de menu do terminal 10. A exibição 160 pode ser uma tela de cristal liquido (Liquid Crystal Display, LED), um diodo orgânico emissor de luz (OLED) ou similares. Em algumas outras modalidades, um painel de toque pode cobrir a exibição 160, para formar uma tela de exibição de toque.
[0053] Além < disso, o terminal 10 pode ainda incluir
uma câmera 180 para tirar uma foto ou gravar video e um ou
mais sensores 170, tais como um sensor de gravidade, um
sensor de aceleração ou um sensor ótico.
[0054] Além disso, um perito na arte pode compreender que o terminal 10 pode incluir menos ou mais componentes do
Petição 870190075440, de 05/08/2019, pág. 22/69
17/55 que os mostrados na Figura 2, e no terminal 10 mostrado na Figura 2, apenas componentes mais relacionados com uma pluralidade de implementações divulgadas nesta modalidade da presente invenção são mostrados.
[0055] O seguinte descreve ainda um ambiente de hardware e software do terminal 10. O terminal 10 pode ser dividido, de acordo com os niveis lógicos, em uma camada de hardware, em um sistema operacional e em uma camada de aplicação (também referida como um modo de usuário) executando acima do sistema operacional. A camada de hardware inclui o hardware descrito na modalidade relacionada com a Figura 2, por exemplo, o processador de aplicação 110, a memória 120, e o módulo de Wi-Fi 150. O sistema operacional pode ser um sistema operacional Android®, um sistema operacional Linux®, um sistema operacional Windows, ou um sistema operacional de outro tipo. Isto não está limitado nesta modalidade da presente invenção.
[0056] Em uma modalidade, o sistema operacional inclui uma camada de estrutura de trabalho (Framework) , um modo de núcleo (kernel) e uma camada de controlador (driver). A camada de controlador inclui um controlador de um dispositivo de hardware, como um controlador de sensor, um controlador de Wi-Fi e um controlador de video. O modo de núcleo inclui uma pilha de protocolos TCP, uma pilha de protocolos IP e similares. O seguinte descreve ainda o modo de núcleo com referência a um procedimento de método nesta modalidade da presente invenção. A camada de estrutura de trabalho inclui uma interface para comunicação entre o modo de usuário e o modo de núcleo, e alguns serviços, por exemplo, aplicações em execução na camada de aplicação, como
Petição 870190075440, de 05/08/2019, pág. 23/69
18/55 um serviço gráfico (Graphic Service) 224, um serviço de sistema (System Service) 221, um serviço web (web service) 222, e um serviço de usuário (user service) 223. Estas aplicações geralmente podem interagir diretamente com um usuário usando uma exibição, e estas aplicações são uma galeria, um reprodutor de midia (media player), um navegador (browser), WeChat (WeChat) ou algo semelhante. Um programa de aplicação no sistema operacional e um programa de aplicação na camada de aplicação podem ser armazenados na memória 120 como programas executáveis. O termo programa utilizado nesta modalidade da presente invenção deve ser amplamente interpretado como incluindo, mas não limitado a: uma instrução, um conjunto de instruções, código, um segmento de código, uma sub-rotina, um módulo de software, uma aplicação, um pacote de software, uma rotina, um processo, uma função, firmware, middleware e afins. Como mostrado na Figura 2, o terminal 10 pode acessar uma rede celular utilizando o subsistema de comunicações 130 e depois comunicar com o servidor 20 utilizando a rede de área ampla 13. Em outra modalidade, o terminal 10 também pode acessar a WLAN utilizando o módulo de Wi-Fi 150, e depois comunicar com o servidor 20 utilizando a rede de área ampla 13. Especificamente, depois de acessar a rede, o terminal 10 pode estabelecer uma conexão TCP ao servidor 20 utilizando a pilha de protocolos TCP/IP (a pilha de protocolos TCP e a pilha de protocolos IP) e, em seguida, transmitir dados usando a conexão TCP. A pilha de protocolos TCP/IP é um middleware usado para implementar um conjunto de protocolos TCP/IP definido em um modelo de referência TCP/IP. A pilha de protocolos TCP pode ser executada por uma combinação
Petição 870190075440, de 05/08/2019, pág. 24/69
19/55 apropriada de software, hardware e/ou firmware no terminal 10. O conjunto de protocolos TCP/IP inclui dois protocolos principais: TCP (Transmission Control Protocol) e IP (Internet Protocol). O estabelecimento da conexão TCP entre o terminal 10 e o servidor 20 pode ser iniciado por um programa de aplicação em execução no terminal 10. Um navegador 213 na Figura 3 é usado como um exemplo. O navegador 213 gera um comando de abrir soquete (socket open), e o comando é transferido para a pilha de protocolos TCP do terminal 10, para acionar a pilha de protocolos TCP para estabelecer uma conexão TCP com o servidor 20 por meio de troca de mensagem de três vias (também conhecida como
handshake de três vias). Em seguida, a pilha de protocolos
TCP notifica o navegador 213 de que a conexão foi
estabelecida.
[0057] Então, um pacote TCP pode ser transmitido
entre o navegador 213 e o servidor 20 com base na conexão TCP estabelecida. Um formato de pacote TCP é mostrado na Figura 4. Uma porta de origem e uma porta de destino são configuradas para determinar os processos de aplicação de uma extremidade de transmissão e extremidade de recepção, e uma conexão TCP pode ser determinada exclusivamente usando a porta de origem, a porta de destino, um endereço IP de origem e um endereço IP de destino. Um campo de número de sequência (Sequence Number, geralmente referido como seq para abreviar) em um cabeçalho de pacote TCP transporta um número de sequência de um primeiro byte de dados na carga de pacote. Depois de receber um pacote TCP, a extremidade de recepção envia um pacote de reconhecimento (Acknowledgemente, ACK para abreviar) para a extremidade de
Petição 870190075440, de 05/08/2019, pág. 25/69
20/55 transmissão. Um valor de campo de número de reconhecimento (Acknowledge Number, geralmente referido como ACK para abreviar) de um cabeçalho ACK representa um valor de um campo de Número de Sequência de um pacote recebido pela extremidade de recepção, e significa também que a extremidade de recepção recebeu todos os pacotes cujos valores de Número de Sequência são menores que o valor de Número de Reconhecimento do pacote ACK. Um tamanho de janela é usado para indicar um tamanho de um buffer de recepção atual da extremidade de recepção. Além disso, o cabeçalho de pacote TCP possui seis bits de sinalização e um campo de opção personalizável (Option), o campo de opção pode ser usado para transportar informação adicional e as definições dos
seis bits de sinalização são as seguintes:
[0058] URG indica que um ponteiro urgente é válido.
[0059] ACK indica que um número de reconhecimento é
válido.
[0060] PSH indica o envio imediato de dados para uma
camada de aplicação para processamento.
[0061] RST indica redefinição anormal.
[00 62] SYN é um sinalizador de sincronização e uma conexão é estabelecida quando SYN é definido como 1.
[0063] FIN é um sinalizador de término usado para solicitar a liberação de uma conexão.
[0064] O seguinte descreve resumidamente um mecanismo de retransmissão TCP e um mecanismo de controle de congestionamento. Para simplicidade descrição, um dos dois dispositivos entre os quais uma conexão de comunicação foi estabelecida neste pedido é referido como uma extremidade de transmissão, e o outro é referido como uma extremidade de
Petição 870190075440, de 05/08/2019, pág. 26/69
21/55 recepção. Pode ser entendido que a extremidade de transmissão e a extremidade de recepção podem ser, cada uma, qualquer
dispositivo que tenha uma capacidade de recepção e
transmissão de dados. Por exemplo, a extremidade de
transmissão pode ser o servidor 20, e a extremidade de
recepção pode ser o terminal 10. Além disso, a extremidade de transmissão e a extremidade de recepção são dois papéis relativos, e podem ser intercambiáveis, ou seja, em diferentes cenários, um mesmo dispositivo pode ser uma extremidade de transmissão ou pode ser uma extremidade de recepção.
[0065] Um mecanismo de retransmissão TCP assegura a transmissão confiável de um pacote, e o mecanismo de retransmissão inclui principalmente retransmissão de tempo esgotado e retransmissão rápida. Um processo básico de retransmissão de tempo esgotado é o seguinte: Após enviar um pacote, a extremidade de transmissão inicia um temporizador de tempo esgotado, e se a extremidade de transmissão ainda receber, após o temporizador de tempo esgotado expirar, nenhum pacote de reconhecimento indicando que o pacote foi recebido corretamente, extremidade de transmissão reenvia o pacote. Um valor do temporizador de tempo esgotado é geralmente expresso como RTO (Tempo Esgotado de Recepção). RTO é geralmente definido como RTT (Tempo de Ida-e-Volta), ou seja, o tempo consumido de enviar um pacote para receber um reconhecimento para o pacote. O RTT pode ser obtido por meio de amostragem.
[0066] No entanto, deve ser entendido que um sistema de comunicações sem fio fornece um serviço para um terminal, e com o desenvolvimento de tecnologias, o terminal geralmente
Petição 870190075440, de 05/08/2019, pág. 27/69
22/55 suporta uma pluralidade de tipos de protocolos de comunicação, como redes 2G, 3G e 4G. Por motivos como a alteração de uma localização de terminal, uma rede geralmente se torna instável ou intensidade de sinal muda. Por exemplo, em uma área com um sinal fraco, como um elevador ou um estacionamento subterrâneo, ou em um cenário em que o terminal está em um meio de transporte em movimento rápido, como um trem-bala ou uma ferrovia de alta velocidade, um status de conexão de rede do terminal muda devido à instabilidade do sinal da rede. Por exemplo, o terminal pode ser transferido para diferentes tipos de redes celulares, por exemplo, de LTE para WCDMA, ou dentro de um periodo de tempo, o terminal é desconectado de uma rede e reconectado à rede, e esse tipo de alteração é mesmo frequente em um periodo de tempo. Em tal cenário, quando o terminal é usado como uma extremidade de transmissão, durante o envio de um pacote que deve ser enviado para uma rede celular, um modem do terminal pode descartar o pacote. Uma perda de pacote causada neste caso também pode ser referida como descarte ativo de pacotes. Portanto, o descarte ativo de pacotes geralmente ocorre em um terminal que usa a rede celular.
[0067] Pode ser aprendido que descarte de pacote ativo é um comportamento que ocorre antes de um pacote entrar em uma rede para transmissão, e dados não são perdidos em um processo de transmissão de rede. De acordo com as descrições anteriores, no mecanismo de retransmissão TCP, as causas de perda de pacote não são distinguidas. Normalmente, a retransmissão precisa ser executada depois que um retorno a partir de um lado de rede é recebido e, portanto, o terminal móvel tem um atraso relativamente grande ao responder ao
Petição 870190075440, de 05/08/2019, pág. 28/69
23/55 descarte de pacote ativo. Nesta modalidade da presente invenção, a otimização é principalmente realizada, de modo que uma pilha de protocolos TCP no processador de aplicação 110 possa detectar uma perda de pacote de dados a-seremenviados no processador de banda base 131, de modo a reduzir um atraso de resposta pelo terminal móvel para o descarte de pacote ativo. Pode ser entendido que o método nesta modalidade da presente invenção é também aplicável a outro protocolo de transporte confiável que inclui um mecanismo de retransmissão de pacote. Nesta modalidade da presente invenção, um pacote TCP é utilizado como exemplo para descrição.
[0068] A Figura 3 mostra ainda uma arquitetura de software utilizada em um processo em que o processador de aplicação 110 e o processador de banda base 131 na Figura 1 cooperam para processar dados nesta modalidade da presente invenção. O processador de aplicação 110 pode ser considerado como um núcleo de processador, e o processador de banda base 131 (também referido como modem) é considerado como outro núcleo de processador. A arquitetura de software pode suportar um mecanismo para comunicação de dados entre os dois núcleos. A comunicação entre os dois núcleos está em conformidade com um protocolo de comunicação inter-núcleo especifico. Um tipo de protocolo de comunicação inter-núcleo não está limitado nesta modalidade da presente invenção. Um processo no qual um terminal nesta modalidade da presente invenção é utilizado como uma extremidade de origem de dados para enviar um pacote de dados para um dispositivo de lado de rede é simplesmente descrito abaixo com referência à Figura 3. No processador de aplicação 110, após uma aplicação
Petição 870190075440, de 05/08/2019, pág. 29/69
24/55 (APP, application) em uma camada de aplicação transferir um pacote de dados através de uma pilha de protocolos TCP e uma pilha de protocolos IP de um de núcleo (também referido como modo de núcleo) utilizando uma interface de soquete de uma extremidade de origem de uma conexão TCP, respectivas tarefas (tarefas, que também podem ser entendidas como rotinas) que são do processador de aplicação 110 e do modem e que são usadas para comunicação inter-núcleo são usadas para transferir o pacote de dados para uma pilha de protocolos 3GPP (Projeto de Parceria de 3a Geração, 3rd Generation Partnership Project) (que também pode ser entendida como tarefa ou rotina) no modem, e depois a pilha de protocolos 3GPP envia o pacote de dados a partir do terminal usando hardware no subsistema de comunicações 130. A pilha de protocolos 3GPP é usada para transportar um ou mais protocolos de comunicação em uma camada de enlace de dados e uma camada fisica. Os protocolos de comunicação são principalmente protocolos de comunicação usados para várias redes celulares, e não estão limitados a vários protocolos de comunicação da rede 3G, e podem ser, por exemplo, GSM, CDMA ou LTE. Isto não é limitado na presente invenção. Nesta modalidade da presente invenção, um tipo de um núcleo do terminal é determinado por um tipo de sistema operacional do terminal, e não é limitado na presente invenção. Por exemplo, o núcleo pode ser um núcleo Linux (núcleo Android) ou um núcleo Windows. Em uma implementação, tarefas de comunicação inter-núcleo usadas para transmitir dados relativamente grande (tal como um pacote de dados) entre o processador de aplicação 110 e o modem são diferentes daquelas utilizadas para transmitir informação (tal como informação de batimento
Petição 870190075440, de 05/08/2019, pág. 30/69
25/55 cardíaco ou uma instrução de controle) com um volume de dados relativamente pequeno entre o processador de aplicação 110 e o modem. Além disso, uma tarefa de comunicação inter-núcleo usada para transmitir informação com um volume de dados relativamente pequeno pode ser implementada da seguinte maneira: Uma tarefa é executada em cada do processador de aplicação 110 e processador de banda base 131, informação com um volume de dados relativamente pequeno pode ser transmitida entre as duas tarefas, e transmissão de informação entre os dois processadores pode ser implementada por meio da comunicação entre as duas tarefas.
[0069] Especificamente, no modem, uma pilha de protocolos 3GPP e uma tarefa que é usada para transmitir um pacote de dados com o processador de aplicação 110 têm respectivas filas de cache de pacote de dados, e um temporizador é geralmente configurado para monitorar essas filas de cache de pacote de dados. Especificamente, protocolos diferentes na pilha de protocolos 3GPP geralmente correspondem a diferentes filas de cache de pacote de dados. Por exemplo, uma fila de PDCP (Protocolo de Convergência de Dados de Pacote, Packet Data Convergence Protocol) é usada no protocolo LTE, e uma fila de PDCP ou uma fila de RLC (Controle de Enlace de Rádio, Radio Link Control) é usada no protocolo WCDMA ou TD-SCDMA. Em uma pluralidade de casos, um pacote de dados em uma fila de cache de pacote de dados é ativamente descartado pelo modem e não pode ser enviado para um dispositivo de rede. A seguir, enumeramos brevemente alguns cenários típicos de descarte de pacote. Deve ser entendido que os cenários de descarte de pacote nesta modalidade da presente invenção não estão limitados aos
Petição 870190075440, de 05/08/2019, pág. 31/69
26/55 exemplos seguintes.
[0070] Por exemplo, em uma tarefa que está no modem e que é utilizada para transmitir um pacote de dados com o processador 110, depois de receber um pacote de dados do processador de aplicação 110, é geralmente determinado se uma conexão RRC foi estabelecida. Se a conexão RRC foi estabelecida, o pacote de dados recebido é transmitido para a pilha de protocolos 3GPP para processamento. Se a conexão RRC não tiver sido estabelecida, o pacote de dados será armazenado em cache em uma fila das tarefas, e será transmitido depois que a conexão RRC for estabelecida com sucesso. Na tarefa, um pacote de dados é descartado quando o pacote de dados não é salvo na fila de cache, ou quando um temporizador da fila de cache da tarefa expira e a conexão RRC ainda não é estabelecida, um pacote de dados na fila de cache é descartado, ou na tarefa, um pacote de dados na fila de cache é ativamente limpo depois que uma mensagem de ERABM (gerenciamento de portadora de acesso de rádio E-UTRAN) que é usada para limpar a fila de cache de pacote de dados da tarefa é recebida.
[0071] A pilha de protocolos 3GPP pode encontrar, por meio de detecção, um evento devido ao qual o terminal não pode usar uma rede celular para processar um serviço de dados, de modo a determinar se uma conexão de dados do terminal está disponível. Por exemplo, o terminal está em um estado desconectado, o terminal falha em acampar normalmente em qualquer célula servindo, um serviço de dados do terminal está em um estado desativado, ou o terminal está em um cenário de chamada 2G no caso de quando um dominio comutado por circuito foi reduzido (Redução de circuito comutado,
Petição 870190075440, de 05/08/2019, pág. 32/69
27/55
CSFB) para 2G. Nos cenários anteriores, a conexão de dados do terminal está indisponível. Um evento que causa a indisponibilidade da conexão de dados do terminal não é limitado nesta modalidade da presente invenção. Alternativamente, a pilha de protocolos 3GPP pode coletar alguns parâmetros usados para representar se o terminal pode usar uma rede celular para processar um serviço de dados, como a intensidade de um sinal de rede celular recebido ou acessado pelo terminal, um tipo de rede celular acessada pelo terminal e se o terminal está executando um serviço de voz. 0 processador de banda base determina, por meio de cálculo de acordo com um algoritmo predefinido, se a conexão de dados atual do terminal está disponível. Um parâmetro especifico e um algoritmo especifico não estão limitados nesta modalidade da presente invenção. A detecção ou cálculo anterior pode ser realizado periodicamente pela pilha de protocolos 3GPP, ou pode ser acionado por algumas instruções, ou pode ser acionado pelo evento anterior. Como a pilha de protocolos 3GPP determina se a conexão de dados do terminal está disponível não é limitado nesta modalidade da presente invenção. Deve ser entendido que, em um processo no qual o terminal usa uma rede celular para processar um serviço de dados, o estabelecimento e desconexão de enlace RRC (Radio Resource Control, Controle de Recurso de Rádio) estão envolvidos, são frequentemente executados em um processo de interação de serviços de dados entre o terminal e uma estação base, e são realmente um processo de estabelecer uma conexão TCP quando uma conexão de dados entre o terminal e a estação base está disponível, isto é, uma conexão na camada fisica (Physical Layer) e uma camda de Controle de Acesso ao Meio
Petição 870190075440, de 05/08/2019, pág. 33/69
28/55 (Media Access Control). Portanto, nesta modalidade da presente invenção, o estabelecimento e desconexão de enlace RRC ocorrem na premissa de que a conexão de dados do terminal está disponível. Que o terminal determina se a conexão de dados está disponível é irrelevante para o estabelecimento e desconexão de enlace RRC.
[0072] Além disso, a pilha de protocolos 3GPP pode descartar ativamente um pacote a-ser-enviado nos seguintes casos:
[0073] O terminal é transferido entre diferentes redes celulares sem fio. Por exemplo, o terminal é transferido a partir de uma rede LTE para uma rede WCDMA, uma rede TD-SCDMA, ou uma rede GSM. Isso pode ser causado porque o terminal não pode ser conectado a uma estação base 4G devido a uma rede 4G instável em um cenário real, ou em um cenário no qual uma tecnologia VoLTE (Voz sobre LTE) não é usada atualmente, a comunicação de voz é iniciada em uma rede LTE (por exemplo, um cenário CSFB). Quando o terminal é transferido a uma rede 3G ou a uma rede 2G, esse evento pode causar a liberação em uma camada L2 (ou seja, camada LTE 2, incluindo uma camada MAC, uma camada RLC e uma camada PDCP) . Por exemplo, a fila de PDCP é liberada, e o modem limpa um pacote a-ser-enviado na fila de PDCP. Por outro exemplo, o terminal é transferido a partir de WCDMA ou TDSCDMA para LTE. Este evento também pode causar liberação na camada L2.
[0074] A configuração de um parâmetro de rede é imprópria. Por exemplo, quando o terminal usa a rede LTE, o parâmetro inadequado pode causar a reconfiguração de PDCP, e o modem limpa o pacote a-ser-enviado na fila de PDCP.
Petição 870190075440, de 05/08/2019, pág. 34/69
29/55
Quando o terminal utiliza a rede WCDMA ou TD-SCDMA, o parâmetro inadequado pode causar a reconfiguração de RLC (Controle de Link de Rádio, Radio Link Control). A camada RLC está localizada acima da camada MAC (Controle de Acesso ao Meio, Media Acess Control), e faz parte da camada L2 junto com a camada MAC, e o modem limpa o pacote a-ser-enviado.
[0075] Quando o terminal utiliza a rede WCDMA ou TDSCDMA, a transferência de RNC (controlador de rede de rádio, Radio Network Controller) pode causar o restabelecimento de RLC, e o modem limpa o pacote a-ser-enviado.
[0076] A fila de PDCP está cheia, e um pacote entregue pelo processador de aplicação 110 não pode ser inserido na fila e é descartado pelo modem. Este caso pode ocorrer na rede LTE ou na rede WCDMA ou TD-SCDMA.
[0077] Em uma rede celular, uma pluralidade de portadoras de rádio (isto é, enlaces estabelecidos pela camada de enlace de dados na pilha de protocolos 3GPP) pode servir uma pluralidade de serviços de uma aplicação. Geralmente, um serviço usa uma portadora. Cada portadora corresponde a um pacote a-ser-enviado armazenado em cache em uma fila de PDCP. Quando um serviço em uma portadora é anormalmente interrompido devido a um problema de rede, o modem limpa ativamente um pacote a-ser-enviado em uma fila de PDCP correspondente ao serviço.
[0078] Para facilitar a compreensão, a Figura 4 é um diagrama esquemático de um formato de pacote TCP.
[0079] Com referência à Figura 5, o seguinte descreve um método de envio de pacote fornecido em uma modalidade da presente invenção. O método é aplicado a um terminal, o terminal inclui um processador de aplicação, um processador
Petição 870190075440, de 05/08/2019, pág. 35/69
30/55 de banda base e uma interface de comunicações, e o método inclui os seguintes passos.
[0080] S502. O processador de banda base relata informação sobre um primeiro pacote para o processador de aplicação, em que o primeiro pacote é um pacote a-ser-enviado descartado pelo processador de banda base.
[0081] A informação sobre o primeiro pacote inclui um identificador do primeiro pacote e um identificador de uma conexão TCP por utilizar o primeiro pacote que é transmitido.
[0082] Deve ser notado que o pacote a-ser-enviado descartado pelo processador de banda base também pode ser entendido como um pacote que é entregue pelo processador de aplicação ao processador de banda base e que falha em ser enviado pelo processador de banda base para um processador, dispositivo de rede usando a interface de comunicações.
[0083] O processador de banda base pode descartar uma pluralidade de pacotes a-serem-enviados. Pode ser aprendido com as descrições anteriores que um pacote a-serenviado pode ser descartado em muitos casos. Especificamente, o processador de banda base pode registrar informação sobre um pacote a-ser-enviado descartado ou monitorar um evento devido ao qual o processador de banda base descarta um pacote a-ser-enviado, por exemplo, transferência entre diferentes redes celulares, de modo a determinar um pacote a-ser-enviado descartado. Como o processador de banda base obtém informação sobre um pacote a-ser-enviado descartado não está limitado nesta modalidade da presente invenção.
[0084] O processador de banda base pode relatar a
Petição 870190075440, de 05/08/2019, pág. 36/69
31/55 informação sobre o pacote a-ser-enviado descartado para o processador de aplicação. Para facilitar a descrição, as descrições são fornecidas usando o primeiro pacote como um exemplo no qual o primeiro pacote é um pacote TCP. A informação sobre o primeiro pacote inclui o identificador do primeiro pacote e o identificador da conexão TCP por utilizar que o primeiro pacote é transmitido. Em uma implementação, o identificador do primeiro pacote pode ser um número de sequência do pacote. 0 identificador do identificador de conexão TCP por utilizar que o primeiro pacote é transmitido pode ser um número de porta de origem da conexão TCP. De acordo com um formato de pacote TCP (como mostrado na Figura 4), o processador de banda base pode obter o número de sequência e o número de porta de origem por meio de análise em um processo de processamento do pacote a-ser-enviado.
[0085] Um perito na arte deve compreender que o processador de banda base pode determinar informação que é sobre um pacote e que precisa ser relatada, e uma implementação especifica não está limitada nesta modalidade da presente invenção. Um protocolo de transmissão especifico não está limitado ao protocolo TCP.
[0086] Em uma implementação, o processador de banda base pode selecionar uma ocasião apropriada para relatar informação sobre um pacote a-ser-enviado descartado, e relatar informação sobre uma pluralidade de pacotes descartados na ocasião apropriada em vez de executar relatório para o processador de aplicação imediatamente após um pacote ser descartado. Especificamente, quando uma conexão de dados do terminal está disponível, o processador de banda base relata a informação sobre o primeiro pacote ao
Petição 870190075440, de 05/08/2019, pág. 37/69
32/55 processador de aplicação. Como alternativa, quando a conexão de dados do terminal está indisponível, o processador de banda base armazena em cache a informação sobre o primeiro pacote e, quando a conexão de dados do terminal é comutada de indisponível para disponível, o processador de banda base relata a informação sobre o primeiro pacote, processador de aplicação. Deve ser entendido que as duas maneiras anteriores podem ser usadas em conjunto.
[0087] Uma fila de cache do processador de banda base pode armazenar em cache informação a ser relatada ao processador de aplicação, e a informação é a informação sobre o pacote a-ser-enviado descartado pelo processador de banda base.
[0088] Uma conexão de dados é uma conexão usada para transportar um serviço de dados. A conexão de dados do terminal pode ser entendida como uma conexão de dados entre o terminal e uma estação base. Para detalhes, consulte as descrições acima.
[0089] Deve ser notado que, quando a conexão de dados do terminal é comutada de indisponível para disponível, o processador de banda base relata a informação sobre o primeiro pacote ao processador de aplicação. Isso indica que o processador de banda base relata a informação sobre o primeiro pacote ao processador de aplicação depois que a conexão de dados do terminal é comutada de indisponível para disponível. Simultaneidade não é estritamente necessária porque leva tempo para ler uma instrução, executar uma operação relacionada e semelhantes. Ou seja, dentro de um periodo de tempo relativamente curto (por exemplo, vários milissegundos ou vários segundos) após a conexão de dados do
Petição 870190075440, de 05/08/2019, pág. 38/69
33/55 terminal ser comutada de indisponível para disponível, o processador de banda base completa uma ação de relatar a informação sobre o primeiro pacote para o processador de aplicação.
[0090] Pode ser entendido que, nesta implementação, o processador de banda base precisa determinar se a conexão de dados do terminal está disponível.
[0091] Pode ser entendido que o terminal pode determinar, por meio de detecção periódica, gatilho de evento, gatilho de instrução, ou similares, se a conexão de dados do terminal está disponível ou indisponível. Um evento usado para determinar se a conexão de dados está disponível, um processo de análise especifico e um algoritmo usado na análise, e como acionar o processador de banda base para determinar se a conexão de dados do terminal está disponível não é limitada nesta modalidade da presente invenção. Para mais descrições, consulte as descrições relacionadas acima.
[0092] O processador de banda base realiza o passo S502 para permitir que o processador de aplicação saiba que um pacote é descartado, de modo a retransmitir um pacote de dados para o processador de banda base no tempo, e o processador de banda base obtém o pacote de dados retransmitido para enviar o pacote de dados para a extremidade de recepção. Portanto, se a retransmissão for executada quando a conexão de dados do terminal está indisponível, o processador de banda base descarta um pacote ativamente porque a conexão de dados está indisponível, e essa retransmissão do processador de aplicação é inválida. Portanto, se o processador de banda base relatar a informação sobre o pacote a-ser-enviado descartado ao processador de
Petição 870190075440, de 05/08/2019, pág. 39/69
34/55 aplicação somente quando a conexão de dados está disponível, validade de retransmissão pode ser melhorada. Além disso, ao executar o passo S502, o processador de banda base precisa ativar o processador de aplicação. Se o processador de banda base relatar informação imediatamente após o descarte de um pacote, o processador de aplicação é frequentemente despertado e, portanto, o consumo de energia do terminal é bastante aumentado. Um terminal móvel geralmente usa uma batería e requer o menor consumo de energia possível e o maior tempo de espera possível. Portanto, se a informação sobre o pacote a-ser-enviado descartado for relatada ao processador de aplicação somente quando uma rede está disponível, o consumo de energia do terminal poderá ser reduzido.
[0093] Certamente, em outra implementação, o processador de banda base pode, alternativamente, não considerar se a conexão de dados do terminal está disponível, mas relatar, uma vez que a informação sobre um pacote que precisa ser retransmitido é determinada, a informação para o processador de aplicação. Isto não está limitado nesta modalidade da presente invenção.
[0094] S504. O processador de aplicação transmite um segundo pacote ao processador de banda base de acordo com a informação sobre o primeiro pacote, em que o segundo pacote é o mesmo que o primeiro pacote.
[0095] Em uma implementação, o processador de aplicação obtém, de acordo com a informação recebida sobre o primeiro pacote, a informação compreende o primeiro pacote e uma porta de origem da conexão TCP à qual o primeiro pacote está localizado, e o processador de aplicação usa a porta de
Petição 870190075440, de 05/08/2019, pág. 40/69
35/55 origem para retransmitir o primeiro pacote para o processador de banda base.
[0096] O segundo pacote pode ser entendido como uma cópia do primeiro pacote.
[00 97] Deve ser entendido que, de acordo com um protocolo de transmissão TCP, depois que uma pilha de protocolos TCP de uma extremidade de transmissão envia um pacote para uma camada inferior, uma cópia do pacote é salva em uma fila da conexão TCP. A cópia do pacote não é excluída até que um ACK (Reconhecimento, acknowledgement) retornado por uma extremidade de recepção da conexão TCP seja recebido para reconhecer que o pacote foi recebido com êxito pela extremidade de recepção. Caso contrário, se um ACK retornado por uma extremidade de recepção da conexão TCP não for recebido, a cópia do pacote é armazenada para retransmissão no caso de tempo esgotado de transmissão. Portanto, o processador de aplicação pode retransmitir o segundo pacote para o processador de banda base de acordo com a informação sobre o primeiro pacote e que é relatada pelo processador de banda base.
[0098] S506. O processador de banda base envia o segundo pacote para um dispositivo de rede usando a interface de comunicações.
[0099] O dispositivo de rede pode ser um dispositivo de rede, tal como uma estação base ou um servidor em uma rede celular. Isto não está limitado nesta modalidade da presente invenção.
[00100] Em conclusão, após descartar o pacote a-serenviado, o processador de banda base pode relatar ao processador de aplicação a informação sobre o pacote a-ser
Petição 870190075440, de 05/08/2019, pág. 41/69
36/55 enviado descartado pelo processador de banda base, de modo que o processador de aplicação possa reenviar ao processador de banda base de acordo com a informação relatada, uma cópia do pacote descartado pelo processador de banda base. Pode ser determinado, antes de ser determinado que um temporizador de tempo esgotado do pacote expira e nenhum pacote de reconhecimento é recebido a partir de um terminal par, que o pacote é descartado e o pacote é reenviado ao processador de banda base. Isto pode reduzir um atraso de retransmitir, pelo terminal, o pacote a-ser-enviado descartado pelo processador de banda base, e reduzir, até certo ponto, um atraso de resposta a uma perda de pacote pelo terminal, de modo que a transmissão de dados entre o terminal e uma rede é mais suave. Porque o status de uma rede celular sem fio geralmente muda, um caso em que o processador de banda base descarta um pacote a-ser-enviado ocorre com frequência.
[00101] Além disso, como descrito acima, em uma implementação, em consideração ao consumo de energia, o processador de banda base não relata a informação sobre o pacote a-ser-enviado descartado até que um status de uma rede celular acessada pelo terminal esteja disponível. Nesse caso, a informação sobre alguns pacotes descartados a serem enviados precisa aguardar por um tempo especifico antes de ser relatada. Isso pode causar os dois casos a seguir: Em um caso, um temporizador de tempo esgotado de um pacote a-serenviado descartado expira antes que a informação sobre o pacote seja relatada pelo processador de banda base. Nesse caso, um pacote que é o mesmo que o pacote descartado pode ter sido retransmitido usando uma conexão TCP e um mecanismo de retransmissão de tempo esgotado. O processador de banda
Petição 870190075440, de 05/08/2019, pág. 42/69
37/55 base não precisa mais relatar a informação sobre o pacote descartado ao processador de aplicação. 0 processador de banda base pode filtrar a informação sobre o pacote descartado de acordo com o pacote recebido que é o mesmo que o pacote descartado, de modo que o desperdício de energia e o desperdício de tráfego de terminal possam ser evitados. No outro caso, quando o processador de aplicação entrega um pacote que é o mesmo que um pacote descartado, um temporizador de tempo esgotado do pacote descartado expira. Este caso também atende de forma equivalente a um requisito de retransmissão de tempo esgotado e, portanto, um método de controle de congestionamento para uma conexão TCP pode ser acionado.
[00102] Deve ser notado que o mecanismo de retransmissão TCP pode assegurar a transmissão confiável de pacotes, mas em um mecanismo de retransmissão da técnica anterior, considera-se por padrão que uma perda de pacote é causada pelo congestionamento de rede. Geralmente, uma causa mais comum de perda de pacote durante a transmissão de rede é a carga de rede excessivamente pesada. O dispositivo de rede não pode manipular uma quantidade de dados que precisa ser transmitida na rede no momento atual, congestionamento de rede é causado e, portanto, alguns pacotes transmitidos na rede são descartados. Portanto, um método de controle de congestionamento é usado em conjunto com o mecanismo de retransmissão para reduzir o congestionamento na rede, de modo a melhorar a taxa de sucesso de atingir uma extremidade par por um pacote retransmitido. Um algoritmo de controle de congestionamento inclui principalmente inicio lento (Slow Start), prevenção de congestionamento (Congestion Avoidance)
Petição 870190075440, de 05/08/2019, pág. 43/69
38/55 e afins. Em termos simples, ao aprender que um pacote está perdido e precisa ser retransmitido, o processador de aplicação reduz os valores de alguns parâmetros para limitar uma quantidade de pacotes enviados pelo terminal para uma rede, como um valor de uma janela de congestionamento (CWND, congestion window) e um limiar de inicio lento (ssthresh, Slow Start threshold). 0 processador de aplicação geralmente usa os parâmetros ajustados para controlar uma taxa de entrega de um pacote retransmitido ao processador de banda base e uma taxa de entrega de um pacote a-ser-enviado subsequente ao processador de banda base.
[00103] Por exemplo, se uma perda de pacote causar retransmissão de tempo esgotado, a extremidade de transmissão poderá reduzir o limiar de inicio lento para CWND/2, em seguida, definir a CWND como 1, e re-entrar um processo de inicio lento. Por outro exemplo, se a extremidade de transmissão determina, de acordo com um ACK, que um pacote é perdido, e inicia a retransmissão rápida, a extremidade de transmissão pode diminuir uma janela de congestionamento pela metade e definir o limiar de inicio lento para um tamanho de janela de congestionamento atualizado. Pode ser entendido que, em diferentes algoritmos, as amplitudes e maneiras de diminuir a janela de congestionamento e o limiar de inicio lento são diferentes, mas na maioria dos casos, uma regra de recuo de descarte de pacote é usada como base, ou seja, quando a extremidade de transmissão determina que um pacote é perdido em uma rede, o tamanho de janela de congestionamento e o limiar de inicio lento são ativamente reduzidos.
[00104] No entanto, porque o descarte de pacote ativo
Petição 870190075440, de 05/08/2019, pág. 44/69
39/55 nesta modalidade da presente invenção não é causado por congestionamento de rede, uma quantidade de pacotes enviados pelo terminal para uma rede sem fio não precisa ser reduzida, e porque um pacote é descartado ativamente pelo processador de banda base, uma quantidade especifica de pacotes enviados precisa ser assegurada para transmitir um pacote para a extremidade par o mais rápido possível. Contudo, o método nesta modalidade da presente invenção é normalmente utilizado em um mecanismo TCP existente, e o problema anterior de que a CWND é diminuída é inevitável.
[00105] Por conseguinte, em uma implementação desta modalidade da presente invenção, após o processador de aplicação transmitir o segundo pacote para o processador de banda base de acordo com a informação sobre o primeiro pacote, o processador de aplicação aumenta a janela de congestionamento como compensação.
[0010 6] Por exemplo, a CWND pode ser aumentada para um valor inicial especificado, ou pode ser restaurado para um valor, de uma janela de congestionamento, usada antes que a diminuição da janela de congestionamento seja acionada pela retransmissão. Nesta modalidade da presente invenção, um valor para o qual o processador de aplicação aumenta a janela de congestionamento, uma política que é utilizada pelo processador de aplicação para aumentar a janela de congestionamento e semelhantes não está limitada. Deste modo, o impacto da retransmissão de tempo esgotado pode ser eliminado, uma quantidade de pacotes enviados pelo terminal pode ser assegurada e uma taxa de transferência de transmissão do terminal pode ser melhorada.
[00107] Em outra modalidade, o processador de
Petição 870190075440, de 05/08/2019, pág. 45/69
40/55 aplicação e o processador de banda base (também referido como modem) podem mesmo ser integrados em um mesmo núcleo de um mesmo chip, e o método anterior é também aplicável a um tal chip. Para facilitar a descrição, nesta implementação, o chip é referido como um processador, uma pilha de protocolos TCP e uma pilha de protocolos 3GPP pode ser entendida como duas tarefas (ou rotinas) em execução no processador, as duas tarefas podem pertencer a processos diferentes ou um mesmo processo, e a pilha de protocolos TCP e a pilha de protocolos 3GPP trocam informação usando um mecanismo de comunicação entre rotinas ou processos. Um programa de aplicação é executado no processador de aplicação. O programa de aplicação envia ainda um pacote, por exemplo, dados gerados pelo programa de aplicação ou uma solicitação que é do programa de aplicação e que é acionada por uma operação do usuário, para a estação base usando a pilha de protocolos TCP e a pilha de protocolos 3GPP . A pilha de protocolos 3GPP transfere informação, como um identificador do pacote e um identificador de uma conexão
TCP à qual o pacote está localizado, sobre um pacote
descartado do programa de aplicação para a pilha de
protocolos TCP usando o me canismo de comunicação entre
rotinas ou processos, de modo que a pilha de protocolos TCP transfere, para a pilha de protocolos 3GPP de acordo com a informação recebida sobre o pacote descartado, um pacote que é o mesmo que o pacote descartado. O processador envia, para a estação base usando a interface de comunicações, o pacote que é recebido pela pilha de protocolos 3GPP e que é o mesmo que o pacote descartado. Para outros detalhes nesta implementação, consulte a aplicação anterior. Detalhes não
Petição 870190075440, de 05/08/2019, pág. 46/69
41/55 são descritos aqui novamente. Desta forma, um atraso de retransmissão, pelo terminal, de um pacote descartado pelo processador de banda base pode ser reduzido, um atraso entre o terminal e o dispositivo de rede é reduzido até certo ponto, e a transmissão de dados entre o terminal e a rede é mais suave.
[00108] Como o processador de aplicação coopera, em uma modalidade após o processador de banda base descartar um pacote a-ser-enviado, com o processador de banda base para completar a retransmissão é descrito abaixo com referência à arquitetura de software na Figura 3 usando um terminal com um sistema Android como exemplo. O processador de aplicação e o processador de banda base são dois núcleos ou dois chips independentes. Nesta modalidade, para o conteúdo mencionado acima, consulte as descrições anteriores. Detalhes não são descritos aqui novamente.
[00109] Nessa implementação, o processador de banda base inclui uma pilha de protocolos 3GPP e uma tarefa usada para transmitir um pacote de dados com o processador de aplicação (chamada de tarefa de transmissão de dados internúcleo) e inclui ainda uma tarefa de comunicação inter-núcleo para transmitir uma quantidade relativamente pequena de dados. O processador de aplicação inclui outra tarefa de comunicação inter-núcleo correspondente à tarefa de comunicação inter-núcleo no processador de banda base, uma pilha de protocolos TCP, uma pilha de protocolos IP, e uma aplicação em execução na camada de aplicação do processador de aplicação.
[00110] A pilha de protocolos 3GPP no processador de banda base monitora o pacote a-ser-enviado descartado pelo
Petição 870190075440, de 05/08/2019, pág. 47/69
42/55 processador de banda base e um status de uma rede celular atualmente acessada pelo terminal. Especificamente, a pilha de protocolos 3GPP pode monitorar um evento devido ao qual o processador de banda base descarta o pacote a-ser-enviado, por exemplo, transferência entre diferentes redes celulares, de modo a determinar o pacote a-ser-enviado descartado.
[00111] A pilha de protocolos 3GPP gera informação (incluindo um número de sequência do pacote descartado e um número de porta de origem de uma conexão TCP à qual o pacote descartado está localizado) sobre o pacote a-ser-enviado descartado pelo processador de banda base e armazena a informação em uma fila, gera informação indicando se uma conexão de dados do terminal está disponível (que pode ser alguns parâmetros usados para indicar se a conexão está disponível, ou pode ser diretamente um valor Booleano, em que valores diferentes indicam se a conexão está disponível ou indisponível), e transfere os dois tipos de informação anteriores para a tarefa de comunicação inter-núcleo no processador de banda base, por exemplo, transfere a informação usando uma memória compartilhada.
[00112] Além disso, na tarefa que está no processador de banda base e que é usada para transmitir um pacote de dados com o processador de aplicação, um pacote descartado na tarefa também é detectado. Semelhante à pilha de protocolos 3GPP, a tarefa transfere, para a tarefa de comunicação inter-núcleo no processador de banda base, informação gerada (incluindo um número de sequência do pacote descartado e um número de porta de origem de uma conexão TCP à qual o pacote descartado está localizado) sobre o pacote a-ser-enviado descartado pelo processador de banda base, por
Petição 870190075440, de 05/08/2019, pág. 48/69
43/55 exemplo, transfere a informação usando uma memória compartilhada.
[00113] A tarefa de comunicação inter-núcleo gerencia a informação obtida sobre o pacote descartado usando uma fila da tarefa. Se a fila estiver cheia, a fila descarta informação sobre um pacote descartado e que é obtida após a fila estar cheia, e a tarefa de comunicação inter-núcleo determina, de acordo com informação sobre a conexão de dados do terminal fornecido pela pilha de protocolos 3GPP, se a conexão de dados do terminal está disponível ou indisponível.
[00114] Quando a conexão de dados do terminal está disponível, a tarefa de comunicação inter-núcleo transmite a informação sobre o pacote descartado na fila para a tarefa de comunicação inter-núcleo no processador de aplicação, de modo que a pilha de protocolos TCP/IP do processador de aplicação aprende a informação sobre o pacote descartado.
[00115] Quando a conexão de dados do terminal está indisponível, um temporizador da fila da tarefa de comunicação inter-núcleo é iniciado e, quando o temporizador expira, é determinado, novamente de acordo com a informação fornecida pela pilha de protocolos 3GPP, se a conexão de dados do terminal está disponível após um periodo de tempo temporizado pelo temporizador. Se a conexão de dados está disponível, a tarefa de comunicação inter-núcleo transmite a informação sobre o pacote descartado na fila para a tarefa de comunicação inter-núcleo no processador de aplicação, e o temporizador será resetado. Se a conexão de dados ainda não está disponível, o temporizador será resetado, e a determinação será realizada quando o temporizador expirar na próxima vez.
Petição 870190075440, de 05/08/2019, pág. 49/69
44/55 [00116] O processador de aplicação analisa a informação sobre o pacote a-ser-enviado descartado e que é transmitido pelo processador de banda base, para obter o número de sequência do pacote descartado e o número de porta de origem da conexão TCP à qual o pacote descartado é localizado.
[00117] O processador de aplicação localiza a conexão TCP correspondente em uma pilha de protocolos de rede Linux usando o número de porta de origem, compara o número de sequência do pacote a-ser-enviado descartado com um número de sequência de um pacote em uma fila de envio da conexão TCP para encontrar uma cópia do pacote a-ser-enviado descartado, e envia a cópia do pacote a-ser-enviado descartado para o processador de banda base usando a pilha de protocolos TCP/IP.
[00118] Além disso, se o controle de congestionamento TCP for acionado em um processo de envio da cópia do pacote a-ser-enviado descartado pelo processador de aplicação, por exemplo, depois que uma cópia de um pacote a-ser-enviado for retransmitida, uma CWND do terminal é reduzida para 1, e o processador de aplicação define um valor de CWND atual para um valor menor em um valor de CWND inicial (TCP_INIT_CWND) do terminal e um valor usado antes que a CWND seja diminuída para 1. Dessa forma, a diminuição desnecessária da janela de congestionamento pode ser evitada, para eliminar o impacto da retransmissão de tempo esgotado e melhorar a taxa de transferência do terminal, de modo que mais pacotes possam ser enviados a tempo, reduzindo assim um atraso causado pela retransmissão para uma perda de pacote.
[00119] O processador de banda base recebe a cópia
Petição 870190075440, de 05/08/2019, pág. 50/69
45/55 que é do pacote a-ser-enviado e que é transmitida pelo processador de aplicação, e envia a cópia para o dispositivo de rede usando um circuito de frequência de rádio, como uma antena.
[00120] Dessa forma, após descartar o pacote a-serenviado, o processador de banda base pode relatar, ao processador de aplicação, a informação sobre o pacote a-serenviado descartado pelo processador de banda base, de modo que o processador de aplicação possa reenviar, para o processador de banda base de acordo com a informação relatada, o pacote descartado pelo processador de banda base. Pode ser determinado, antes de ser determinado que um temporizador de tempo esgotado do pacote expira e nenhum pacote de reconhecimento é recebido a partir de um terminal par, que o pacote é descartado e o pacote é reenviado ao processador de banda base. Isto pode reduzir um atraso de retransmitir, pelo terminal, o pacote descartado pelo processador de banda base, e reduzir um atraso de retransmissão do terminal até certo ponto, de modo que a transmissão de dados entre o terminal e uma rede seja mais suave. Porque o status de uma rede celular sem fio geralmente muda, um caso em que o processador de banda base descarta um pacote a-ser-enviado ocorre com frequência.
[00121] O seguinte descreve um efeito do método na modalidade anterior utilizando um resultado de teste. Um mecanismo de retransmissão de um terminal é melhorado utilizando o método na modalidade anterior, de modo que um atraso de retransmissão pode ser relativamente reduzido de forma significativa, e uma taxa de transferência de dados de transmissão de enlace ascendente é melhorada. Para
Petição 870190075440, de 05/08/2019, pág. 51/69
46/55 demonstrar um cenário de campo fraco e um cenário de movimento de alta velocidade de uma rede celular, usar uma rede celular sem fio da China Unicom em uma ferrovia de alta velocidade de Guangzhou a Shenzhen é selecionado para realizar testes.
[00122] Para um atraso de transmissão, uma ferramenta de teste iPerf é usada e uma maneira de amostragem é calcular um atraso de transmissão de pacote relatado ativamente para uma perda de pacote na pilha de protocolos 3GPP que é causada em uma tarefa para transmitir um pacote de dados com o processador de aplicação. Uma extremidade de origem é um telefone celular cuja extremidade par é um servidor. Antes da otimização, um atraso médio de transmissão é de aproximadamente 75s. Após a otimização, um atraso médio de transmissão é de aproximadamente 45s. Um atraso médio de retransmissão para um pacote descartado é otimizado em 40%.
[00123] Para uma taxa de transferência de transmissão de enlace ascendente (uma direção de transmissão de enlace ascendente é a partir de um terminal de telefone móvel para um servidor), é utilizada uma ferramenta de teste iPerf. Uma maneira de amostragem é calcular uma taxa de transferência média (que é de 100s ou 200s por rodada, e é contada no lado de servidor) contada durante cada teste de iPerf. Antes da otimização, uma taxa de transferência média é de aproximadamente 1,5 Mbps. Após a otimização, uma taxa de transferência média é de aproximadamente 3,3 Mbps. Uma taxa de transferência média é aumentada em cerca de 2,2 vezes.
[00124] Uma modalidade da presente invenção fornece ainda um aparelho de envio de pacote 600, e um diagrama estrutural esquemático do aparelho de envio de pacote 600 é
Petição 870190075440, de 05/08/2019, pág. 52/69
47/55 a Figura 6. 0 aparelho inclui um processador de banda base, processador de aplicação, e um transmissor. 0 processador de banda base é configurado para relatar informação sobre um primeiro pacote para o processador de aplicação. 0 primeiro pacote é um pacote a-ser-enviado descartado pelo processador de banda base, e a informação sobre o primeiro pacote inclui um identificador do primeiro pacote e um identificador de uma conexão TCP por utilizar que o primeiro pacote é transmitido. 0 processador de aplicação é configurado para transmitir um segundo pacote ao processador de banda base de acordo com a informação sobre o primeiro pacote, e o segundo pacote é o mesmo que o primeiro pacote. 0 processador de banda base é ainda configurado para enviar o segundo pacote a um dispositivo de rede usando o transmissor.
[00125] Em uma implementação, em termos de relatar a informação sobre o primeiro pacote ao processador de aplicação, o processador de banda base é configurado para: quando uma conexão de dados do aparelho está disponível, relatar a informação sobre o primeiro pacote ao processador de aplicação.
[00126] Com referência às várias implementações anteriores desta modalidade, em termos de relatar a informação sobre o primeiro pacote ao processador de aplicação, o processador de banda base é configurado para: quando a conexão de dados do aparelho está indisponível, armazenar em cache a informação sobre o primeiro pacote e, quando a conexão de dados do aparelho for comutada de indisponível para disponível, relatar a informação sobre o primeiro pacote ao processador de aplicação.
[00127] Com referência às várias implementações
Petição 870190075440, de 05/08/2019, pág. 53/69
48/55 anteriores desta modalidade, o processador de aplicação é ainda configurado para RRC após transmissão do segundo pacote para o processador de banda base de acordo com a informação sobre o primeiro pacote.
[00128] Com referência às várias implementações anteriores desta modalidade, o identificador do primeiro pacote é um número de sequência do primeiro pacote, e o identificador da conexão TCP por utilizar que o primeiro pacote é transmitido é um número de porta de origem da conexão TCP; e em termos de transmitir o segundo pacote para o processador de banda base de acordo com a informação sobre o primeiro pacote, o processador de aplicação é configurado para transmitir o segundo pacote que tem o mesmo número de sequência que o primeiro pacote ao processador de banda base de acordo com o número de porta de origem.
[00129] Deve ser notado que para explicações específicas e efeitos benéficos relacionados de substantivos e passos nesta modalidade, consulte as descrições anteriores, e os detalhes não são aqui descritos de novo.
[00130] Pode ser entendido que o aparelho descrito nas modalidades de método anteriores pode ser implementado por qualquer dispositivo que transmita ou execute um serviço de dados utilizando um serviço de dados fornecido por uma rede celular. A presente invenção fornece ainda um terminal, para implementar o método nas modalidades de método anteriores. Um diagrama estrutural esquemático do terminal é mostrado na Figura 7 como terminal 300. O terminal 300 inclui um circuito de processamento 302 e uma interface de comunicações 304 e um meio de armazenamento 30 6 que são conectados ao circuito de processamento 302. Pode ser
Petição 870190075440, de 05/08/2019, pág. 54/69
49/55 aprendido que o transmissor na modalidade na Figura 6 é equivalente a um circuito de transmissor 318 na interface de comunicações 304.
[00131] O circuito de processamento 302 é configurado para: processar dados, controlar o acesso e armazenamento de dados, enviar um comando e controlar outro dispositivo para executar uma operação. O circuito de processamento 302 pode ser implementado como um ou mais processadores, um ou mais controladores e/ou outra estrutura que pode ser usada para executar um programa. O circuito de processamento 302 pode especificamente incluir pelo menos um processador de propósito geral, um processador de sinal digital (DSP), um circuito integrado de aplicação especifica (ASIC), uma matriz de portas de campo programável (FPGA) ou outro componente lógico programável. O processador de propósito geral pode incluir um microprocessador e qualquer processador, controlador, microcontrolador ou máquina de estado convencional. O circuito de processamento 302 pode alternativamente ser implementado como um componente de computação, tal como uma combinação de um DSP e um microprocessador.
[00132] Nesta modalidade da presente invenção, o circuito de processamento inclui um processador de aplicação 309 e um processador de banda base 310.
[00133] O meio de armazenamento 306 pode incluir um meio de armazenamento legivel por computador, tal como um dispositivo de armazenamento magnético (tal como um disco rigido, um disquete ou uma banda magnética) , um meio de armazenamento ótico (tal como um disco versátil digital (DVD)), um cartão inteligente, um dispositivo de memória
Petição 870190075440, de 05/08/2019, pág. 55/69
50/55 flash, uma memória de acesso aleatório (RAM), uma memória somente de leitura (ROM), uma ROM programável (PROM), uma PROM apagável (EPROM), um registrador ou qualquer combinação destes. O meio de armazenamento 30 6 pode ser acoplado ao circuito de processamento 302, de modo que o circuito de processamento 302 possa ler informação e escrever a informação no meio de armazenamento 306. Especificamente, o meio de armazenamento 306 pode ser integrado no circuito de processamento 302 ou meio de armazenamento 306 e o circuito de processamento 302 pode ser separado.
[00134] A interface de comunicações 304 pode incluir circuitos e/ou programas para implementar comunicação bidirecional entre o terminal 300 e um ou mais dispositivos de rede sem fio (por exemplo, uma estação base ou um servidor). A interface de comunicações 304 pode ser acoplada a uma ou mais antenas (não mostradas na figura 7), e inclui pelo menos um circuito de receptor 316 e/ou pelo menos um circuito de transmissor 318.
[00135] Em uma modalidade, o meio de armazenamento 306 armazena um programa de pilha de protocolos 320, e o circuito de processamento 302 executa o programa de pilha de protocolos 320 para implementar uma função de uma pilha de protocolos. Para uma relação entre a pilha de protocolos e cada um dos processadores de aplicação 309 e o processador de banda base 310, consulte as descrições relacionadas na Figura 3 .
[00136] A pilha de protocolos é usada para: encapsular dados de um programa de aplicação em uma pluralidade de pacotes em um formato de dados especifico de acordo com a especificação do protocolo TCP/IP, e enviar a pluralidade de
Petição 870190075440, de 05/08/2019, pág. 56/69
51/55 pacotes para um servidor de aplicação usando o circuito de transmissor 318. Além disso, a pilha de protocolos ainda descapsula um pacote recebido pelo circuito de receptor 316 para finalmente obter dados de um programa de aplicação. Os processos de encapsulamento e desencapsulamento de pacotes pela pilha de protocolos são mostrados na Figura 8A e Figura 8B. Pode ser aprendido que um processo de encapsulamento de pacote é essencialmente um processo no qual a pilha de protocolos adiciona um cabeçalho e/ou um rodapé de quadro a um pacote, e um processo de desencapsulamento de pacote é essencialmente um processo de remover um cabeçalho e/ou um rodapé de quadro de um pacote. Depois de decodificar e/ou desencapsular dados recebidos pela interface de comunicações 304, a pilha de protocolos pode transferir os dados para um programa de aplicação em uma camada superior, ou pode encapsular dados de um programa de aplicação e depois enviar os dados para outro dispositivo utilizando a interface de comunicações.
[00137] Em uma modalidade, a pilha de protocolos pode incluir uma camada fisica, uma camada de enlace de dados, uma camada de rede, uma camada de transporte e uma camada de aplicação, de modo a implementar protocolos das camadas. Por exemplo, a camada fisica é usada para definir um recurso de interface de dispositivo fisico, um tipo de meio de transmissão, uma taxa de transmissão, um modo de transmissão e similares, e implementa processamento de sinal na camada fisica. Da mesma forma, a camada de enlace de dados é usada para implementar uma função da camada de enlace, por exemplo, é responsável por distribuir a sinalização gerada na camada de rede e processar informação gerada pela camada fisica. A
Petição 870190075440, de 05/08/2019, pág. 57/69
52/55 camada de enlace de dados pode incluir um ou mais submódulos, como um módulo de camada de Controle de Acesso ao Meio (Media Access Control, MAC), um módulo de camada de Controle de Enlace de Rádio (RLC) e um módulo de camada de controle de enlace lógico (LLC) que são respectivamente configurados para implementar funções da camada MAC, a camada RLC e a camada LLC. Por exemplo, o módulo de camada MAC é configurado para transmitir dados de protocolo de camada superior usando um serviço fornecido pela camada fisica e gerenciar o acesso de dados entre uma camada superior e uma interface aérea. 0 módulo de camada RLC é usado para segmentação e reconstrução de dados. 0 módulo de camada LLC é configurado para fornecer funções de controle de fluxo, controle de sequência e controle de erro. Além disso, a camada de rede é configurada para implementar funções como endereçamento lógico e seleção de roteamento. A camada de transporte é configurada para implementar funções como endereçamento de porta, segmentação e reconstrução, controle de conexão, controle de fluxo e controle de erro. A camada de aplicação é configurada para fornecer uma interface para um programa de aplicação em uma camada superior.
[00138] De acordo com um ou mais aspectos desta modalidade da presente invenção, o circuito de processamento 302 está adaptado para executar o programa de pilha de protocolos 320 armazenado no meio de armazenamento 306, de modo a implementar uma função da pilha de protocolos. A pilha de protocolos no processador de aplicação 309 e a pilha de protocolos no processador de banda base 310 implementam especificamente alguns ou todos os passos nas modalidades de método anteriores.
Petição 870190075440, de 05/08/2019, pág. 58/69
53/55 [00139] Uma modalidade da presente invenção fornece ainda um chip. O chip estabelece uma conexão de dados com um dispositivo de rede por utilizar um componente de frequência de rádio, e o chip inclui um processador de aplicação e um processador de banda base. O processador de banda base é configurado para relatar informação sobre um primeiro pacote para o processador de aplicação. O primeiro pacote é um pacote a-ser-enviado descartado pelo processador de banda base, e a informação sobre o primeiro pacote inclui um identificador do primeiro pacote e um identificador de uma conexão TCP por utilizar que o primeiro pacote é transmitido. O processador de aplicação é configurado para transmitir um segundo pacote para o processador de banda base de acordo com a informação sobre o primeiro pacote, e o segundo pacote é o mesmo que o primeiro pacote. O processador de banda base é ainda configurado para enviar o segundo pacote para o dispositivo de rede usando o componente de frequência de rádio.
[00140] Ou seja, o chip descrito nesta modalidade da presente invenção é, na verdade, o circuito de processamento 302 que é disposto e usado no terminal mostrado na Figura 7.
[00141] Em uma implementação, em termos de relatar a informação sobre o primeiro pacote para o processador de aplicação, o processador de banda base é configurado para: quando uma conexão de dados do chip está disponível, relatar a informação sobre o primeiro pacote ao processador de aplicação.
[00142] Com referência à implementação anterior desta modalidade da presente invenção, em outra implementação, em termos de relatar a informação sobre o primeiro pacote para
Petição 870190075440, de 05/08/2019, pág. 59/69
54/55 o processador de aplicação, o processador de banda base é configurado para: quando a conexão de dados do chip está indisponível, armazenar em cache a informação sobre o primeiro pacote e, quando a conexão de dados do chip for comutada de indisponível para disponível, relatar a informação sobre o primeiro pacote ao processador de aplicação.
[00143] Com referência às implementações anteriores desta modalidade da presente invenção, em outra implementação, o processador de aplicação é ainda configurado para aumentar uma janela de congestionamento após transmitir do segundo pacote para o processador de banda base de acordo com a informação sobre o primeiro pacote.
[00144] Com referência às implementações anteriores desta modalidade da presente invenção, em outra implementação, o identificador do primeiro pacote é um número de sequência do primeiro pacote, e o identificador da conexão TCP por utilizar qual o primeiro pacote é transmitido é um número de porta de origem da conexão TCP; e em termos de transmitir o segundo pacote para o processador de banda base de acordo com a informação sobre o primeiro pacote, o processador de aplicação é configurado para transmitir o segundo pacote que tem o mesmo número de sequência que o primeiro pacote ao processador de banda base de acordo com o número de porta de origem.
[00145] Para mais detalhes do chip descrito nesta modalidade, consulte as descrições da modalidade do terminal mostrado na Figura 8A e Figura 8B e o método que pode ser implementado para o chip anterior, e os detalhes não são aqui descritos de novo.
Petição 870190075440, de 05/08/2019, pág. 60/69
55/55 [00146] Uma modalidade da presente invenção fornece ainda um meio de armazenamento, e o meio é configurado para armazenar código para implementar o método de envio de pacote descrito na presente invenção.
[00147] O método e aparelho de envio de pacote fornecidos neste pedido são descritos em detalhes acima. Nesta especificação, exemplos específicos são aplicados para descrever o princípio e as implementações da presente invenção, e a descrição das modalidades anteriores só se destina a ajudar a compreender o método e a ideia central da presente invenção. Além disso, uma pessoa com conhecimentos normais na técnica pode fazer modificações em implementações específicas e âmbitos de aplicação de acordo com a ideia da presente invenção. Em conclusão, o conteúdo desta especificação não deve ser interpretado como uma limitação da presente invenção.

Claims (23)

1/9
REIVINDICAÇÕES EMENDADAS
1. Método de envio de pacote, em que o método é aplicado a um terminal, o terminal compreende um processador de banda base 131, um processador de aplicação 110, e uma interface de comunicações, e caracterizado pelo fato de que o método compreende:
relatar (S502), pelo processador de banda base 131, informação sobre um primeiro pacote para o processador de aplicação, em que o primeiro pacote é um pacote a-ser-enviado descartado pelo processador de banda base, e a informação sobre o primeiro pacote compreende um identificador do primeiro pacote;
transmitir (S504), pelo processador de aplicação 110, um segundo pacote para o processador de banda base de acordo com a informação sobre o primeiro pacote, em que o segundo pacote é o mesmo que o primeiro pacote; e enviar (S506), pelo processador de banda base 131, o segundo pacote para um dispositivo de rede por utilizar a interface de comunicações.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o relatório (S502), pelo processador de banda base 131, de informação sobre um primeiro pacote para o processador de aplicação 110 compreende:
quando uma conexão de dados do terminal está disponível, relatar, pelo processador de banda base 131, a informação sobre o primeiro pacote para o processador de aplicação.
3. Método, de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de que o relatório (502), pelo processador de banda base 131, de informação sobre um primeiro pacote para o processador de aplicação compreende:
Petição 870190041101, de 02/05/2019, pág. 19/27
2/9 quando a conexão de dados do terminal está indisponível, armazenar em cache, pelo processador de banda base 131, a informação sobre o primeiro pacote, e quando a conexão de dados do terminal for comutada de indisponível para disponível, relatar, pelo processador de banda base 131, a informação sobre o primeiro pacote para o processador de aplicação.
4. Método, de acordo com qualquer uma das reivindicações 1 a 3, caracterizado pelo fato de que, após a transmissão (S504), pelo processador de aplicação 110, de um segundo pacote para o processador de banda base 131 de acordo com a informação sobre o primeiro pacote, o método compreende ainda:
aumentar, pelo processador de aplicação 110, o valor da janela de congestionamento de uma conexão TCP por utilizar que o primeiro pacote é transmitido.
5. Método, de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que o identificador do primeiro pacote é um número de sequência do primeiro pacote; e a transmissão, pelo processador de aplicação 110, de um segundo pacote para o processador de banda base de acordo com a informação sobre o primeiro pacote compreende:
transmitir, pelo processador de aplicação 110, o segundo pacote que tem um mesmo número de sequência que o primeiro pacote para o processador de banda base de acordo com o número de porta de origem.
6 Método, de acordo com qualquer uma das reivindicações 1 a 5, caracterizado pelo fato de que o método compreende ainda:
Petição 870190041101, de 02/05/2019, pág. 20/27
3/9 determinar, pelo processador de banda base 131, o primeiro pacote com base em razões de descarte de pacote, em que as razões de descarte de pacote compreendem pelo menos uma das seguintes razões:
um estabelecimento de enlace de controle de recursos de rádio, RRC, não foi estabelecido pelo terminal, a mensagem de gerenciamento de portadora de acesso de rádio de E-UTRAN, ERABM, é recebida pelo processador de banda base, o terminal transferindo em diferentes tipos de redes celulares, uma reconfiguração de protocolo de convergência de dados de pacote, PDCP, reconfiguração de controle de enlace de rádio, RLC, restabelecimento de RLC, uma fila de PDCP é cheia ou interrupção de serviço;
em que o primeiro pacote é um pacote em uma fila de cache, um pacote a-ser-enviado em uma fila de PDCP, um pacote falha em ser salvo em uma fila de cache ou um pacote falha em ser inserido em uma fila de PDCP.
7 Método, de acordo com qualquer uma das reivindicações 1 a 6, caracterizado pelo fato de que o método compreende ainda:
determinar, pelo processador de banda base 131, se uma conexão de dados do terminal está disponível ou indisponível, em que a conexão de dados do terminal está indisponível em qualquer um dos seguintes casos: o terminal está em um estado desconectado; o terminal falha em acampar normalmente em qualquer célula servindo; um serviço de dados do terminal está em um estado desativado; ou o terminal está em um cenário de chamada 2G no caso de quando um dominio comutado por circuito é reduzido para 2G.
8. Aparelho de envio de pacote 600, caracterizado pelo
Petição 870190041101, de 02/05/2019, pág. 21/27
4/9 fato de que o aparelho 600 compreende um processador de banda base 601, um processador de aplicação 603, e um transmissor 605, em que o processador de banda base 603 é configurado para relatar informação sobre um primeiro pacote para o processador de aplicação 601, em que o primeiro pacote é um pacote a-ser-enviado descartado pelo processador de banda base 603, e a informação sobre o primeiro pacote inclui um identificador do primeiro pacote;
o processador de aplicação 601 é configurado para transmitir um segundo pacote ao processador de banda base 603 de acordo com a informação sobre o primeiro pacote, em que o segundo pacote é o mesmo que o primeiro pacote; e o processador de banda base 603 é ainda configurado para enviar o segundo pacote para um dispositivo de rede utilizando o transmissor 605.
9. Aparelho 600, de acordo com a reivindicação 8, caracterizado pelo fato de que em termos de relatar a informação sobre o primeiro pacote ao processador de aplicação, o processador de banda base 603 é configurado para: quando uma conexão de dados do aparelho está disponível, relatar a informação sobre o primeiro pacote ao processador de aplicação 601.
10. Aparelho 600, de acordo com a reivindicação 8 ou 9, caracterizado pelo fato de que em termos de relatar a informação sobre o primeiro pacote ao processador de aplicação 601, o processador de banda base 603 é configurado para: quando a conexão de dados do aparelho está indisponível, armazenar em cache a informação sobre o primeiro pacote, e
Petição 870190041101, de 02/05/2019, pág. 22/27
5/9 quando a conexão de dados do aparelho é comutada de indisponível para disponível, relatar a informação sobre o primeiro pacote ao processador de aplicação 601.
11. Aparelho 600, de acordo com qualquer uma das reivindicações 8 a 10, caracterizado pelo fato de que o processador de aplicação 601 é ainda configurado para aumentar o valor de janela de congestionamento de uma conexão TCP por utilizar que o primeiro pacote é transmitido depois de transmitir o segundo pacote para o processador de banda base 603 de acordo com a informação sobre o primeiro pacote.
12. Aparelho 600, de acordo com qualquer uma das reivindicações 8 a 11, caracterizado pelo fato de que o identificador do primeiro pacote é um número de sequência do primeiro pacote; e em termos de transmitir o segundo pacote para o processador de banda base 603 de acordo com a informação sobre o primeiro pacote, o processador de aplicação 601 é configurado para transmitir o segundo pacote que tem um mesmo número de sequência que o primeiro pacote para o processador de banda base 603 de acordo com a o número de porta de origem.
13. Aparelho 600, de acordo com qualquer uma das reivindicações 8 a 12, caracterizado pelo fato de que o processador de banda base 603 é ainda configurado para determinar o primeiro pacote com base em razões de descarte de pacote, em que as razões de descarte de pacote compreendem pelo menos uma das seguintes razões:
um estabelecimento de enlace de controle de recursos de rádio, RRC, não foi estabelecido pelo terminal; a mensagem de gerenciamento de portadora de acesso de rádio de E-UTRAN, ERABM, é recebida pelo processador de banda base; o terminal
Petição 870190041101, de 02/05/2019, pág. 23/27
6/9 transferindo em diferentes tipos de redes celulares; uma reconfiguração de protocolo de convergência de dados de pacote, PDCP; reconfiguração de controle de enlace de rádio, RLC; restabelecimento de RLC; uma fila de PDCP é cheia ou interrupção de serviço;
em que o primeiro pacote é um pacote em uma fila de cache, um pacote a-ser-enviado em uma fila de PDCP, um pacote falha em ser salvo em uma fila de cache ou um pacote falha em ser inserido em uma fila de PDCP.
14. Aparelho 600, de acordo com qualquer uma das reivindicações 8 a 13, caracterizado pelo fato de que o processador de banda base 603 é ainda configurado para determinar se uma conexão de dados do terminal está disponível ou indisponível, em que a conexão de dados do terminal está indisponível em qualquer um dos seguintes casos: o terminal está em um estado desconectado; o terminal falha em acampar normalmente em qualquer célula servindo; um serviço de dados do terminal está em um estado desativado; ou o terminal está em um cenário de chamada 2G no caso de quando um dominio comutado por circuito é reduzido para 2G.
15. Chip caracterizado pelo fato de que o chip estabelece uma conexão de dados para um dispositivo de rede por utilizar um componente de frequência de rádio, e o chip compreende um processador de aplicação e um processador de banda base; o processador de banda base é configurado para relatar informação sobre um primeiro pacote para o processador de aplicação, em que o primeiro pacote é um pacote a-ser-enviado descartado pelo processador de banda base, e a informação sobre o primeiro pacote compreende um identificador do primeiro pacote; o processador de aplicação é configurado
Petição 870190041101, de 02/05/2019, pág. 24/27
7/9 para transmitir um segundo pacote ao processador de banda base de acordo com a informação sobre o primeiro pacote, em que o segundo pacote é o mesmo que o primeiro pacote; e o processador de banda base é ainda configurado para enviar o segundo pacote para o dispositivo de rede usando o componente de frequência de rádio.
16. Chip, de acordo com a reivindicação 15, caracterizado pelo fato de que em termos de relatar a informação sobre o primeiro pacote para o processador de aplicação, o processador de banda base é configurado para: quando uma conexão de dados do chip está disponível, comunicar a informação sobre o primeiro pacote para o processador de aplicação.
17. Chip, de acordo com a reivindicação 15 ou 16, caracterizado pelo fato de que em termos de relatar a informação sobre o primeiro pacote ao processador de aplicação, o processador de banda base é configurado para: quando a conexão de dados do chip não está disponível, armazenar em cache a informação sobre o primeiro pacote, e quando a conexão de dados do chip é comutada de indisponível para disponível, relatar a informação sobre o primeiro pacote para o processador de aplicação.
18. Chip, de acordo com qualquer uma das reivindicações 15 a 17, caracterizado pelo fato de que o processador de aplicação é ainda configurado para aumentar o valor de janela de congestionamento de uma conexão TCP por utilizar que o primeiro pacote é transmitido depois de transmitir o segundo pacote para o processador de banda base de acordo com a informação sobre o primeiro pacote.
19. Chip, de acordo com qualquer uma das reivindicações
Petição 870190041101, de 02/05/2019, pág. 25/27
8/9
15 a 18, caracterizado pelo fato de que o processador de banda base é ainda configurado para determinar o primeiro pacote com base em razões de descarte de pacote, em que as razões de descarte de pacote compreendem pelo menos uma das seguintes razões:
um estabelecimento de enlace de controle de recursos de rádio, RRC, não foi estabelecido pelo terminal; a mensagem de gerenciamento de portadora de acesso de rádio de E-UTRAN, ERABM, é recebida pelo processador de banda base; o terminal transferindo em diferentes tipos de redes celulares; uma reconfiguração de protocolo de convergência de dados de pacote, PDCP; reconfiguração de controle de enlace de rádio, RLC; restabelecimento de RLC; uma fila de PDCP é cheia ou interrupção de serviço;
em que o primeiro pacote é um pacote em uma fila de cache, um pacote a-ser-enviado em uma fila de PDCP, um pacote falha em ser salvo em uma fila de cache ou um pacote falha em ser inserido em uma fila de PDCP.
20. Chip, de acordo com qualquer uma das reivindicações 15 a 19, caracterizado pelo fato de que o processador de banda base 603 é ainda configurado para determinar se uma conexão de dados do terminal está disponível ou indisponível, em que a conexão de dados do terminal está indisponível em qualquer um dos seguintes casos: o terminal está em um estado desconectado; o terminal falha em acampar normalmente em qualquer célula servindo; um serviço de dados do terminal está em um estado desativado; ou o terminal está em um cenário de chamada 2G no caso de quando um domínio comutado por circuito é reduzido para 2G.
21. Produto de programa de computador compreendendo
Petição 870190041101, de 02/05/2019, pág. 26/27
9/9 instrução que, caracterizado pelo fato de que, quando executadas por um computador, fazem com que o computador execute os passos do método conforme definido em qualquer uma das reivindicações 1 a 7.
22. Meio legivel por computador não transitório armazenando instruções de computador para o envio de pacote, caracterizado pelo fato de que, quando executadas por um processador de banda base e por um processador de aplicação, fazem com que o processador de banda base e o processador de aplicação realizem o método conforme definido em qualquer uma das reivindicações 1 a 7.
23. Terminal 300, caracterizado pelo fato de que o terminal 300 compreende um processador de aplicação 309, um processador de banda base 310, uma memória 306 e uma interface de comunicações 304; o processador de aplicação 309, o processador de banda base 310 e a interface de comunicações 304 são conectados à memória 306; e o processador de aplicação 309, o processador de banda base 310 e a interface de comunicações 304 executam o método conforme definido em qualquer uma das reivindicações 1 a 7 por invocar uma instrução armazenada na memória 306.
BR112019008916A 2016-11-02 2017-11-02 método e aparelho de envio de pacote, chip e terminal BR112019008916A2 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610946705.1A CN108023683B (zh) 2016-11-02 2016-11-02 一种发送报文的方法、装置、芯片及终端
PCT/CN2017/109133 WO2018082615A1 (zh) 2016-11-02 2017-11-02 一种发送报文的方法、装置、芯片及终端

Publications (1)

Publication Number Publication Date
BR112019008916A2 true BR112019008916A2 (pt) 2019-12-24

Family

ID=62070043

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112019008916A BR112019008916A2 (pt) 2016-11-02 2017-11-02 método e aparelho de envio de pacote, chip e terminal

Country Status (9)

Country Link
US (1) US10771595B2 (pt)
EP (1) EP3522417A4 (pt)
JP (1) JP6924830B2 (pt)
KR (2) KR102397347B1 (pt)
CN (2) CN108023683B (pt)
BR (1) BR112019008916A2 (pt)
CA (1) CA3042605C (pt)
RU (1) RU2752652C2 (pt)
WO (1) WO2018082615A1 (pt)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108011834A (zh) * 2016-10-28 2018-05-08 华为技术有限公司 Tcp拥塞窗口的确定方法和装置
CN108023683B (zh) * 2016-11-02 2020-12-25 华为技术有限公司 一种发送报文的方法、装置、芯片及终端
CN108289007B (zh) 2017-01-10 2022-04-15 中兴通讯股份有限公司 数据包传输方法及装置
CN108667560B (zh) 2017-03-31 2020-12-04 华为技术有限公司 一种调整终端发送数据的速率的方法及装置
US10931587B2 (en) * 2017-12-08 2021-02-23 Reniac, Inc. Systems and methods for congestion control in a network
CN109302575A (zh) * 2018-08-21 2019-02-01 广州市保伦电子有限公司 一种基于IOT模块的wifi会议系统
CN109743142A (zh) * 2018-09-30 2019-05-10 比亚迪股份有限公司 消息通信方法及装置
CN110049050B (zh) * 2019-04-22 2021-03-19 中国科学院计算机网络信息中心 一种通信的方法及装置
US10880211B2 (en) 2019-05-06 2020-12-29 Seth Gregory Friedman Transaction encoding and verification by way of data-link layer fields
CN110391956B (zh) * 2019-07-23 2021-08-13 中国工商银行股份有限公司 网络服务进程状态的识别监控方法及装置
CN112311725B (zh) * 2019-07-26 2022-01-11 华为技术有限公司 一种数据处理方法、装置及终端
US10868707B1 (en) * 2019-09-16 2020-12-15 Liquid-Markets-Holdings, Incorporated Zero-latency message processing with validity checks
WO2021199161A1 (ja) * 2020-03-30 2021-10-07 日本電信電話株式会社 監視装置、通信システム、通信制御方法、及び監視プログラム
US20230120832A1 (en) * 2020-03-30 2023-04-20 Nippon Telegraph And Telephone Corporation Monitoring device, communication system, communication control method, and monitoring program
WO2021252423A1 (en) 2020-06-08 2021-12-16 Liquid-Markets-Holdings, Incorporated Hardware-based transaction exchange
CN114765690B (zh) * 2020-12-31 2023-09-12 华为技术有限公司 数据包传输方法、通信装置及存储介质
CN115085890A (zh) * 2022-06-23 2022-09-20 杭州云合智网技术有限公司 数据中心网络芯片优化tcp rto重传等待时间的方法
CN117856985A (zh) * 2024-03-08 2024-04-09 珠海星云智联科技有限公司 用于报文重传的方法、计算机设备、介质及程序

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1200368C (zh) 2000-08-18 2005-05-04 清华大学 一种将tcp用于不可靠传输网络的局域重传方法
SE0103853D0 (sv) * 2001-11-15 2001-11-15 Ericsson Telefon Ab L M Method and system of retransmission
US7551561B2 (en) * 2003-05-15 2009-06-23 Panasonic Corporation Packet communication terminal
CN1520104B (zh) * 2003-09-02 2010-04-28 中国科学院计算技术研究所 提高tcp在异构网络中传输性能的方法
JP4580770B2 (ja) * 2005-02-01 2010-11-17 株式会社エヌ・ティ・ティ・ドコモ 通信システム及び受信装置
US20090019460A1 (en) * 2007-05-03 2009-01-15 Qualcomm Incorporated Application programming interface (api) for handling errors in packets received by a wireless communications receiver
CN101052006B (zh) * 2007-05-14 2010-06-09 华为技术有限公司 报文上送的方法及实现该方法的接口板及路由器
US20090168723A1 (en) * 2007-11-27 2009-07-02 Qualcomm Incorporated Method and apparatus for handling out-of-order packets during handover in a wireless communication system
BRPI0821541A2 (pt) * 2007-12-20 2015-06-16 Ntt Docomo Inc Estação móvel, estação base de rádio, método de controle de comunicação, e sistema de comunicação móvel
CN101232446A (zh) * 2008-02-01 2008-07-30 华为技术有限公司 报文处理方法及装置
US20100122134A1 (en) * 2008-11-10 2010-05-13 Qualcomm Incorporated Application-configured, content-based retransmission scheme for dropped media access control frames
CN101860435B (zh) * 2009-04-13 2012-10-31 中国移动通信集团公司 报文发送、接收以及确定网络节点的方法及装置
US9083772B2 (en) * 2010-04-30 2015-07-14 Qualcomm Incorporated Exchanging data associated with a communication session within a communications system
US8780965B2 (en) 2010-07-30 2014-07-15 Qualcomm Incorporated Coordinating data calls on a mobile device with multiple modems
JP5854044B2 (ja) * 2011-01-12 2016-02-09 日本電気株式会社 通信装置、パケット再送制御方法、パケット再送制御プログラム
WO2012132283A1 (ja) * 2011-03-28 2012-10-04 日本電気株式会社 通信装置およびその通信制御方法
CN102833783B (zh) * 2012-07-02 2015-04-08 北京邮电大学 一种优化无线环境下tcp协议的方法
CN103001885B (zh) * 2012-12-25 2015-08-26 中国科学院深圳先进技术研究院 数据报文传输方法和系统
CN103986548B (zh) 2013-02-07 2018-02-23 华为技术有限公司 一种确定丢包原因的方法和终端
EP2979487B1 (en) * 2013-03-29 2018-11-28 VID SCALE, Inc. Early packet loss detection and feedback
US9510242B2 (en) * 2013-05-17 2016-11-29 Nvidia Corporation Reducing superfluous traffic in a network
US9258834B2 (en) * 2013-09-05 2016-02-09 Spreadtrum Communications (Shanghai) Co., Ltd. Method of mobile terminal internal communications
CN108023683B (zh) * 2016-11-02 2020-12-25 华为技术有限公司 一种发送报文的方法、装置、芯片及终端

Also Published As

Publication number Publication date
RU2019116616A (ru) 2020-12-03
CN108023683B (zh) 2020-12-25
EP3522417A1 (en) 2019-08-07
US10771595B2 (en) 2020-09-08
US20190268445A1 (en) 2019-08-29
WO2018082615A1 (zh) 2018-05-11
KR102397347B1 (ko) 2022-05-13
CA3042605A1 (en) 2018-05-11
KR20210016084A (ko) 2021-02-10
KR102350444B1 (ko) 2022-01-14
RU2752652C2 (ru) 2021-07-29
RU2019116616A3 (pt) 2021-02-01
JP2020502873A (ja) 2020-01-23
EP3522417A4 (en) 2019-10-16
JP6924830B2 (ja) 2021-08-25
CN108023683A (zh) 2018-05-11
CN112713970A (zh) 2021-04-27
CN112713970B (zh) 2022-05-13
KR20190073479A (ko) 2019-06-26
CA3042605C (en) 2023-07-18

Similar Documents

Publication Publication Date Title
BR112019008916A2 (pt) método e aparelho de envio de pacote, chip e terminal
US10924421B2 (en) Packet transmission method, terminal, network device, and communications system
US11153041B2 (en) Packet transmission method and user equipment
US11272420B2 (en) Method and apparatus for transmitting data packets using dual sequence numbers
US11044630B2 (en) Method and apparatus for adjusting data sending rate of terminal
JP2017502545A5 (pt)
US20200280898A1 (en) Method and device for data transmission
KR20140128849A (ko) 패킷 송수신을 제어하는 망연동장치 및 방법

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]