用于在无线通信系统中处理数据包的设备和方法与流程

文档序号:17695811发布日期:2019-05-17 21:30阅读:146来源:国知局
用于在无线通信系统中处理数据包的设备和方法与流程

本公开总体涉及一种设备和方法,更具体地,涉及一种用于在无线通信系统中处理数据包的设备和方法。



背景技术:

由于第4代(4g)网络系统的出现,研究已经进行到第5代(5g)网络系统,其中,第5代网络系统在甚高频毫米波段中发送和接收信号来满足无线数据传输的需要。支持4g网络和5g网络的电子装置可在4g网络与5g网络之间切换连接,以满足高数据发送速度和高数据接收速度。当5g网络的连接不稳定时,电子装置可从5g网络切换到4g网络。

在执行4g网络与5g网络之间的切换操作时,电子装置与网络之间的链路可能由于延时而断开连接,并且电子装置可能不能继续提供服务。此外,由于执行网络层的功能的软件模块是独立于4g网络和5g网络中的每一个被实现的,因此从4g网络接收到的数据包和从5g网络接收到的数据包可能被急速地传送到上层。在这种情况下,可能无法确保数据包的序列。



技术实现要素:

做出本公开以至少解决上面描述的缺点并且至少提供下面描述的优点。

本公开的多个方面至少解决上面提到的问题和/或缺点并且至少提供下面描述的优点。因此,本公开的一方面在于提供一种设备及其方法,其中,所述设备及其方法用于在一个电子装置(例如,终端)在4g网络与5g网络之间无缝地执行切换操作,并以单一方式控制从多个网络接收到的数据包。所述电子装置可防止在网络切换时产生性能下降(诸如,数据包的重新排序和重新发送),并且可通过以单一方式控制从不同网络接收到的数据包来向用户提供数据服务的连续性。

根据本公开的一方面,提供了一种电子装置。所述电子装置包括:第一调制解调器,被配置为支持用于第一网络的无线通信;第二调制解调器,被配置为支持用于第二网络的无线通信;处理器,被配置为与第一调制解调器和第二调制解调器电连接;易失性存储器,被配置为与处理器电连接;以及非易失性存储器,被配置为与处理器电连接并且包括指令。当所述指令被执行时,所述指令促使处理器进行以下操作:经由第一调制解调器接收第一数据包,将第一数据包存储在被分配到易失性存储器的第一区域的第一数据缓冲器中,经由第二调制解调器接收第二数据包,将第二数据包存储在被分配到易失性存储器的第二区域的第二数据缓冲器中,并且按照第一数据包和第二数据包被接收的顺序将第一数据包和第二数据包从第一数据缓冲器和第二数据缓冲器传送到上层。第二数据包包括与第一数据包相同的互联网协议(ip)目的地地址。

根据本公开的一方面,提供了一种电子装置。所述电子装置包括:第一通信处理器,被配置为基于第一协议提供第一无线通信;第二通信处理器,被配置为基于第二协议提供第二无线通信;应用处理器,被配置为与第一通信处理器和第二通信处理器操作地连接;易失性存储器,被配置为与应用处理器操作地连接;以及非易失性存储器,被配置为与应用处理器操作地连接。所述非易失性存储器包括指令,其中,当所述指令被执行时,所述指令促使应用处理器进行以下操作:通过第一通信处理器从第一网络接收第一数据包的第一序列,其中,第一数据包中的每一个包括第一目的地地址;将第一数据包存储在易失性存储器上的第一地址;通过第二通信处理器从第二网络接收第二数据包的第二序列,其中,第二数据包中的每一个包括第一目的地地址;将第二数据包存储在易失性存储器上的第二地址;将第一地址和第二地址存储在易失性存储器上的第三地址。

根据本公开的一方面,提供了一种电子装置。所述电子装置包括:第一通信处理器,被配置为基于第一协议提供第一无线通信;第二通信处理器,被配置为基于第二协议提供第二无线通信;应用处理器,被配置为与第一通信处理器和第二通信处理器操作地连接;易失性存储器,被配置为与应用处理器操作地连接;以及非易失性存储器,被配置为与应用处理器操作地连接。所述非易失性存储器包括指令,其中,当所述指令被执行时,所述指令促使应用处理器进行以下操作:通过第一通信处理器从第一网络接收第一数据包的第一序列,将第一数据包存储在易失性存储器上的第一地址,通过第二通信处理器从第二网络接收第二数据包的第二序列,将第二数据包存储在易失性存储器上的第二地址,将第一地址和第二地址存储在易失性存储器上的第三地址,并且提供使用在第三地址存储的第一地址和第二地址的网络装置接口。

附图说明

从下面结合附图的详细描述中,本公开的特定实施例的以上和其它方面、特征和优点将更清楚,其中:

图1是根据实施例的在网络环境中的电子装置的配置的示图;

图2a是根据实施例的支持多个网络的电子装置的下行链路操作的示图;

图2b是根据实施例的支持多个网络的电子装置的网络切换操作的示图;

图2c是根据实施例的互联网协议(ip)头的结构的示图;

图3是根据实施例的处理数据包的层的结构的示图;

图4是根据实施例的由缓冲器控制器管理的用于以单一方式控制数据缓冲器的信息的示图;

图5是根据实施例的在下行链路情况下电子装置以单一方式控制数据缓冲器的操作的流程图;

图6是根据实施例的在下行链路情况下电子装置存储数据包的地址的操作的流程图;

图7是根据实施例的在下行链路情况下当网络连接被切换时电子装置以单一方式控制数据缓冲器的操作的流程图;

图8是根据实施例的第一数据缓冲器、第二数据缓冲器和第三数据缓冲器中的每一个的结构的示图;

图9是根据实施例的支持多个网络的电子装置的上行链路操作的示图;

图10是根据实施例的在上行链路情况下电子装置以单一方式控制数据缓冲器的操作的流程图。

具体实施方式

下面将参照附图描述本公开的实施例。然而,本公开的实施例不限于特定实施例,并且应该被解释为包括本公开的全部修改、改变、等同装置和等同方法和/或可选的实施例。在附图的描述中,相似的标号用于相似的元件。

如这里使用的,术语“具有”、“可具有”、“包括”和“可包括”指示相应的特征(例如,诸如数值、功能、操作或部件的元素)的存在,并且不排除附加特征的存在。

如这里使用的,术语“a或b”、“a或/和b中的至少一个”或“a或/和b中的一个或更多个”包括与它们一起列举的项的所有可能的组合。例如,“a或b”、“a和b中的至少一个”或“a或b中的至少一个”表示:(1)包括至少一个a,(2)包括至少一个b,或者(3)包括至少一个a和至少一个b两者。

如这里使用的,诸如“第一”和“第二”的术语可使用相应的组件而不管重要性或顺序,并且在不限制组件的情况下用于区分组件与另一组件。这些术语可用于将一个元件与另一元件区分的目的。例如,第一用户装置和第二用户装置指示不同的用户装置,而不管顺序或重要性。例如,在不脱离本公开的范围的情况下,第一元件可被称为第二元件,并且类似地,第二元件可被称为第一元件。

将理解的是,当元件(例如,第一元件)“(可操作地或可通信地)与另一元件(例如,第二元件)耦接/耦接到另一元件(例如,第二元件)”或“连接到”另一元件(例如,第二元件)时,该元件可与另一元件直接耦接/直接耦接到另一元件,并且在该元件与另一元件之间可存在中间元件(例如,第三元件)。相反,将理解的是,当元件(例如,第一元件)“直接与另一元件(例如,第二元件)耦接/直接耦接到另一元件(例如,第二元件)”或“直接连接到”另一元件(例如,第二元件)时,该元件与另一元件之间不存在中间元件(例如,第三元件)。

如这里使用的,表述“被配置为(或被设置为)…”可根据上下文与“适合于…”、“具有…的能力”、“被设计用于…”、“被适配为…”、“被制造为…”或“能够…”可交换地使用。术语“被配置为(被设置为)…”不一定表示在硬件级别上“被专门设计为…”。相反,表述“被配置为…的设备”可表示该设备在特定上下文中与其它装置或部件一起“能够…”。例如,“被配置为(被设置为)执行a、b和c的处理器”可表示用于执行相应操作的专用处理器(例如,嵌入式处理器)或能够通过执行存储在存储器装置中的一个或更多个软件程序来执行相应操作的通用处理器(例如,中央处理器(cpu)或应用处理器(ap))。

在描述本公开的各种实施例时使用的术语是用于描述特定实施例的目的,并不意图限制本公开。如这里使用的,除非上下文清楚地另有指示,否则单数形式也意图包括复数形式。除非另外定义,否则这里使用的全部术语(包括技术术语或科学术语)具有与相关领域中的普通技术人员通常理解的含义相同的含义。除非这里清楚地定义,否则在常用词典中定义的术语应被解释为具有与相关技术的上下文含义相同或相似的含义,并且不应该被解释为具有理想的或夸张的含义。根据情况,即使本公开中定义的术语也不应该被解释为排除本公开的实施例。

如这里使用的,术语“模块”可表示例如包括硬件、软件和固件中的一个,或它们中的两个或更多个的组合的单元。“模块”可与例如术语“单元”、“逻辑”、“逻辑块”、“组件”或“电路”可交换地使用。“模块”可以是集成组件元件的最小单元或其一部分。“模块”可以是用于执行一个或更多个功能的最小单元或其一部分。“模块”可以被机械地或电子地实现。例如,根据本公开的“模块”可包括用于执行已知或在以后将开发的操作的专用集成电路(asic)芯片、现场可编程门阵列(fpga)和可编程逻辑器件中的至少一个。

根据本公开的电子装置可包括以下项中的至少一项:例如,智能电话、平板个人计算机(pc)、移动电话、视频电话、电子书阅读器(e-book阅读器)、台式pc、膝上型pc、上网本计算机、工作站、服务器、个人数字助理(pda)、便携式多媒体播放器(pmp)、mpeg-1音频层-3(mp3)播放器、移动医疗装置、相机和可穿戴装置。可穿戴装置可包括以下项中的至少一项:配件类型(例如,手表、戒指、手镯、脚链、项链、眼镜、隐形眼镜或头戴式装置(hmd))、织物或服装集成类型(例如,电子服装)、身体附着类型(例如,皮肤垫或纹身)以及生物植入类型(例如,可植入电路)。

电子装置可以是家用电器。家用电器可包括以下项中的至少一项:例如,电视机、数字视频盘(dvd)播放器、音响、冰箱、空调、吸尘器、烤箱、微波炉、洗衣机、空气净化器、机顶盒、家用自动控制面板、安全控制面板、tv盒(例如,samsunghomesynctm、appletvtm或googletvtm)、游戏机(例如,xboxtm和playstationtm)、电子词典、电子钥匙、摄录机和电子相框。

电子装置可包括以下项中的至少一项:各种医疗装置(例如,各种便携式医疗测量装置(血糖监测装置、心率监测装置、血压测量装置、体温测量装置等)、磁共振血管造影(mra)、磁共振成像(mri)、计算机断层扫描(ct)机和超声机)、导航装置、全球定位系统(gps)接收器、事件数据记录器(edr)、飞行数据记录器(fdr)、车辆娱乐信息装置、用于船舶的电子装置(例如,用于船舶导航装置和陀螺罗盘)、航空电子设备、安全装置、汽车头部单元、家用或工业机器人、银行中的自动柜员机(atm)、商店中的销售点(pos)装置或物联网(iot)装置(例如,灯泡、各种传感器、电表或燃气表、洒水装置、火警警报器、恒温器、路灯、烤面包机、体育用品、热水箱、加热器、烧水壶等)。

电子装置可包括以下项中的至少一项:家具或建筑/结构的一部分、电子板、电子签名接收装置、投影仪和各种测量仪器(例如,水表、电表、燃气表和无线电波表)。电子装置可以是上述各种装置中的一个或更多个的组合。电子装置也可以是柔性装置。此外,电子装置不限于上述装置,并且可包括根据新技术的发展的电子装置。

在下文中,将参照附图描述电子装置。在本公开中,术语“用户”指示使用电子装置的人或使用电子装置的装置(例如,人工智能电子装置)。

图1是根据实施例的在网络环境中的电子装置的配置的示图。

参照图1,在网络环境100中,电子装置101可通过网络198(例如,短距离无线通信)与电子装置102通信或者可通过网络199(例如,长距离无线通信)与电子装置104或服务器108通信。电子装置101可通过服务器108与电子装置104通信。电子装置101可包括处理器120、存储器130、输入装置150、声音输出装置155、显示装置160、音频模块170、传感器模块176、接口177、触觉模块179、相机模块180、电力管理模块188、电池189、通信模块190、用户识别模块196和天线模块197。可省略电子装置101的组件中的至少一个组件,或者可向电子装置101添加其它组件。可如传感器模块176(例如,指纹传感器、虹膜传感器或照度传感器)被嵌入到显示装置160(例如,显示器)中的情况一样集成并实现一些组件。

处理器120可操作软件(例如,程序140)以控制电子装置101的与处理器120连接的其它组件(例如,硬件或软件组件)中的至少一个组件,并且可处理和计算各种数据。处理器120可将从其它组件接收到的命令集或数据加载到易失性存储器132,可处理加载的命令或数据,并且可将结果数据存储到非易失性存储器134。处理器120可包括主处理器121(例如,中央处理器或应用处理器)和辅助处理器123(例如,图形处理装置、图像信号处理器、传感器中心处理器或通信处理器),其中,辅助处理器123独立于主处理器121进行操作,另外或可选地,比主处理器121消耗更少的电力,或者专门用于指定的功能。辅助处理器123可与主处理器121分开进行操作或者可被嵌入到主处理器121中。

辅助处理器123可在主处理器121处于非活动(例如,睡眠)状态时代替主处理器121控制与电子装置101的组件中的至少一个组件相关联功能或状态中的至少一些,或者在主处理器121处于活动(例如,应用执行)状态时与主处理器121一起控制与电子装置101的组件中的至少一个组件相关联功能或状态中的至少一些。辅助处理器123可被实现为与辅助处理器123功能上相关的另一组件的一部分。存储器130可存储由电子装置101的至少一个组件使用的各种数据(诸如,软件以及针对与软件相关联的命令的输入数据或输出数据)。存储器130可包括易失性存储器132或非易失性存储器134。

程序140可作为软件存储在存储器130中,并且可包括操作系统142、中间件144或应用146。

输入装置150可以是用于从电子装置101的外部(例如,用户)接收用于电子装置101的组件的命令或数据的装置,并且可包括麦克风、鼠标或键盘。

声音输出装置155可以是用于向电子装置101的外部输出声音信号的装置,并且可包括用于通用目的(诸如,多媒体播放或记录播放)的扬声器和仅用于接收呼叫的接收器。接收器和扬声器可集成实现或分开实现。

显示装置160可以是用于向用户可视化地呈现信息的装置,并且可包括显示器、全息装置或投影仪,以及用于控制相应装置的控制电路。显示装置160可包括用于测量触摸的压力的强度的触摸电路或压力传感器。

音频模块170可双向转换声音和电信号。音频模块170可通过输入装置150获得声音,或者通过与声音输出装置155或电子装置101有线或无线连接的外部电子装置(例如,扬声器或耳机)输出声音。

传感器模块176可产生与电子装置101内部的操作状态(例如,电力或温度)或电子装置101外部的环境状态相应的电信号或数据值。传感器模块176可包括手势传感器、陀螺仪传感器、大气压力传感器、磁传感器、加速度传感器、握持传感器、接近传感器、颜色传感器、红外传感器、生物特征传感器、温度传感器、湿度传感器、或照度传感器。

接口177可支持有线地或无线地连接到外部电子装置的指定协议。接口177可包括例如高清晰度多媒体接口(hdmi)、通用串行总线(usb)接口、sd卡接口或音频接口。

连接器178可包括将电子装置101物理地连接到外部电子装置的连接器,诸如,hdmi连接器、usb连接器、sd卡连接器或音频连接器(例如,耳机连接器)。

触觉模块179可将电信号转换为由用户通过触觉感觉或动觉感觉而感知的机械刺激(例如,振动或运动)或电刺激。触觉模块179可包括电机、压电元件或电刺激器。

相机模块180可拍摄静止图像或视频图像。根据实施例,相机模块180可包括至少一个镜头、图像传感器、图像信号处理器或闪光灯。

电力管理模块188可以是用于管理供应给电子装置101的电力的模块,并且可作为电力管理集成电路(pmic)的至少一部分。

电池189可以是用于向电子装置101的至少一个组件供应电力的装置,并且可包括不可再充电的(原)电池、可再充电的(蓄)电池或燃料电池。

通信模块190可在电子装置101与外部电子装置之间建立有线或无线通信信道,并且通过建立的通信信道支持通信执行。通信模块190可包括独立于处理器120进行操作并支持有线通信或无线通信的至少一个通信处理器。通信模块190可包括无线通信模块192(例如,蜂窝通信模块、短距离无线通信模块或全球导航卫星系统(gnss)通信模块)或有线通信模块194(例如,局域网(lan)通信模块或电力线通信模块),并且可使用无线通信模块192和有线通信模块194中的相应通信模块通过网络198(例如,短距离通信网络,诸如,蓝牙、wi-fi直连或红外数据协会(irda))或网络199(例如,长距离无线通信网络,诸如,蜂窝网、因特网或计算机网络(例如,lan或wan))与外部电子装置通信。上面提到的各种通信模块190可被实现为一个芯片或分别被实现为单独的芯片。

无线通信模块192可在通信网络中使用存储在用户识别模块196中的用户信息识别并认证电子装置101。

天线模块197可包括用于向外部源发送信号或电力或者从外部源接收信号或电力的一个或更多个天线。通信模块190可通过适合于通信方法的天线向外部电子装置发送信号或者从外部电子装置接收信号。

组件中的一些组件可通过外围装置之间使用的通信方法(例如,总线、通用输入/输出(gpio)、串行外围接口(spi)或移动工业处理器接口(mipi))相互连接,以相互交换信号(例如,命令或数据)。

可通过连接到网络199的服务器108在电子装置101与外部电子装置104之间发送或接收命令或数据。电子装置102和电子装置104中的每一个可以是与电子装置101相同类型或不同类型的装置。由电子装置101执行的全部操作或一些操作可由另一电子装置或多个外部电子装置执行。当电子装置101自动地或根据请求执行一些功能或服务时,除了本身执行所述功能或服务之外,电子装置101可请求外部电子装置执行与所述功能或服务相关的功能中的至少一些功能,或者代替本身执行所述功能或服务,电子装置101可请求外部电子装置执行与所述功能或服务相关功能中的的至少一些功能。接收请求的外部电子装置可执行请求的功能或附加的功能,并将结果发送到电子装置101。电子装置101可基于接收到的结果按照原样提供请求的功能或服务,或在额外地对接收到的结果进行处理之后提供请求的功能或服务。为此,可使用例如云计算、分布式计算或客户端-服务器计算技术。

图2a是根据实施例的支持多个网络的电子装置的下行链路操作的示图。

参照图2a,在网络环境200中,组件中的每一个组件可以是一个实体并且可以是多个实体的集合。电子装置101可表示由用户使用的装置。电子装置101可被称为终端、用户设备(ue)、移动台、用户站、远程终端、无线终端、用户装置或具有等同技术含义的另一术语。

网络环境200可包括第一网络230、第二网络240和分组网络(packetnetwork)250。分组网络250可基于ip向电子装置101提供服务(例如,互联网服务、ip多媒体子系统(ims)服务等)。第一网络230和第二网络240中的每一个可包括通过无线/有线信道与电子装置101通信的一个或更多个实体。第一网络230和第二网络240中的每一个可包括以下项中的至少一项:能够提供对电子装置101的无线电接入的基站(例如,接入点、enodeb(enb)、5g节点、无线点、发送/接收点(trp)、5gnodeb(5gnb)或具有等同技术含义的另一术语)、能够执行与电子装置101的移动性相关联的各种控制功能的移动性管理实体(mme)、能够设置用于与电子装置101发送和接收数据的载体的网关(gw)、以及能够存储用于电子装置101的认证的关键信息和用户的简况的家庭用户服务器(hss)。

第一网络230和第二网络240中的每一个可包括4g网络和5g网络。4g网络可支持在第3代合作伙伴计划(3gpp)中定义的长期演进(lte)协议。5g网络可支持例如在3gpp中定义的新无线电(nr)协议。

第一网络230的系统和第二网络240的系统可相互独立地进行操作(被称为独立(sa)模式)。第二网络240的系统可作为第一网络230的系统的辅助系统进行操作(被称为非独立(nsa)模式)。当第一网络230和第二网络240在sa模式下进行操作时,它们可使用无线电接入技术间(irat,interradioaccesstechnology)互连。

电子装置101可接入单个(相同的)分组数据网络(pdn)以持续从4g网络和5g网络接收服务。4g网络和/或5g网络可向电子装置101分配用于pdn连接的ip地址。电子装置101可在4g网络与5g网络之间执行切换并且可通过一个pdn连接(或通过接入相同的pdn)使用单个ip地址执行数据通信。电子装置101可独立于4g网络和5g网络通过pdn连接来接入相同的pdn以接收单个ip地址或独立的ip地址,并且可执行数据通信。

电子装置101可包括第一调制解调器210、第二调制解调器220、处理器120和存储器130。虽然未在图2a中示出,但是电子装置101还可包括用于支持第一调制解调器210(或第二调制解调器220)与处理器120之间的片间通信的接口。

第一调制解调器210和第二调制解调器220中的每一个可提供与其它实体进行通信的接口。第一调制解调器210可支持用于第一网络230的无线通信。第二调制解调器220可支持用于第二网络240的无线通信。第一调制解调器210或第二调制解调器220可包括通信处理器(cp)。第一调制解调器210或第二调制解调器220和处理器120可被配置为一个模块。换句话说,第一调制解调器210或第二调制解调器220可与处理器120一体地形成。当电子装置101经由第二调制解调器220与第二网络240通信时,电子装置101可发送或接收比第一网络230更高频带(例如,28ghz)的信号。

存储器130可被配置为易失性存储器、非易失性存储器或者它们的组合。存储器130可存储用于电子装置101的操作的基本程序、应用程序或诸如配置信息的数据。存储器130可根据处理器120的请求提供存储的数据。存储器130可包括用于促使处理器120控制电子装置101的全部操作的命令(或指令)。

处理器120可包括ap。处理器120可控制电子装置101的全部操作。处理器120可通过执行包括在存储器130中的指令对经由第一调制解调器210或第二调制解调器220接收到的数据包(例如,数据包①至数据包⑧)进行处理。处理器120可通过执行指令控制第一网络230与第二网络240之间的切换。

图2b是根据实施例的支持多个网络的电子装置的网络切换操作的示图。图2b示出电子装置101何时从第一网络230切换到第二网络240。然而,当电子装置101从第二网络240切换到第一网络230时,可适用相同的原理。

参照图2b,在网络环境200中,在使用第一调制解调器210经由第一网络230接收从分组网络250发送的数据包(被称为第一数据包或第一数据包的序列)时,电子装置101可根据各种原因(例如,当接收到命令从第一网络230或第二网络240进行切换的消息时、当电子装置101检测到无线信道状态时、或者当电子装置101接收到用于改变网络的用户输入时)确定是否切换网络。当切换连接到电子装置101的网络时,电子装置101可经由第二调制解调器220接收经由第一调制解调器210接收到的第一数据包(数据包①至数据包④)之后的数据包(例如,数据包⑤至数据包⑧)。经由第二调制解调器220从第二网络240接收到的数据包可被称为第二数据包或第二数据包的序列。

由于电子装置101处于通过单个ip地址连接到第一网络230和第二网络240的状态,因此无论网络如何切换,电子装置101都可继续无缝地接收下行链路数据。

图2c是根据实施例的互联网协议(ip)头的结构的示图。下面描述了在接收下行链路数据时的ip头的结构,但是相同的原理适用于在发送上行链路数据时的ip头的结构。

参照图2c,在ip头260中,版本号可指示ip的版本(例如,ipv4或ipv6)。头部长度可指示在ip包中ip头260的长度。服务类型可指示数据包被处理的速度或数据包被发送的速度。包长度可指示ip包的整体长度。当一个数据包被划分为几个片段时,标识可指示被分配的用于区分每个片段的信息。df和mf中的每一个可以是指示关于数据包的划分的控制信息的标识数据。片段偏移可指示相应片段是否属于任何ip包。生存时间(ttl)可指示当相应数据包可用时的时间。传输可指示ip包的上层的协议是传输层。在图2c中,ip包的上层显示为传输层,但是指示另一上层(例如,用户数据报协议(udp))的信息可被显示。头部校验和可包括用于验证是否出现头部错误的信息。源地址(或ip源地址)可指示数据包的源的ip地址。目的地地址(或ip目的地地址)可指示数据包的目的地的ip地址。

由于图2a的电子装置101通过单个ip地址可连接到图2a的第一网络230和第二网络240,因此当出现下行链路数据时,电子装置101从第一网络230接收到的第一数据包的ip头中包括的目的地地址可与电子装置101从第二网络240接收到的第二数据包的ip头中包括的目的地地址相同。当出现上行链路数据时,电子装置101向第一网络230发送的数据包的ip头中包括的源地址可与电子装置101向第二网络240发送的数据包的ip头中包括的源地址相同。

图3是根据实施例的处理数据包的层的结构的示图。

参照图3,在电子装置101中,经由第一调制解调器或第二调制解调器接收到的数据包可通过第一接口215或第二接口225被传送到处理器。当存储在存储器中的指令被处理器执行时,数据包可被程序140处理。

第一接口215可以是用于支持处理器与第一调制解调器210之间的片间通信的接口。第一接口215可包括共享存储器(shared-memory)接口。第二接口225可以是用于支持处理器与第二调制解调器220之间的片间通信的接口。第二接口225可包括外围组件快速互连(pcie)接口。第二接口225可与第一接口215在数据包处理速度上不同。

程序140可被称为软件或模块。程序140可包括应用层310和内核层320。

应用层310可包括应用312和无线接口层(ril)314。应用312可执行向用户提供从分组网络提供的各种服务(例如,ims服务、互联网服务等)的功能。ril314可提供与软件和硬件之间的无线通信相关联的接口。ril314可确定是否切换连接到电子装置101的网络。ril314可通过接收来自第一调制解调器210或第二调制解调器220的切换请求信息或响应于用户输入确定是否切换网络。

内核层320可包括在操作系统中。内核层320可包括传输层340和虚拟网络层330。虚拟网络层330可包括网络装置接口336、第一数据缓冲器332和第二数据缓冲器334。

第一数据缓冲器332和第二数据缓冲器334中的每一个可以是被分配到存储器的空间。第一数据缓冲器332可被处理器分配到存储器的预定区域(被称为第一区域),并且第二数据缓冲器334可被处理器分配到存储器的另一区域(被称为第二区域)。由于第一数据包被接收的速度可能与第二数据包被接收的速度不同,因此第一数据缓冲器332的大小(即,被分配到到第一数据包332的存储容量)可能与第二数据缓冲器334的大小不同。

网络装置接口336可以是用于将第一数据包和第二数据包传送到上层的接口。第一电子装置101可通过使用单个网络装置接口336建立与第一网络230和第二网络240的单个pdn,在第一网络230与第二网络240之间更快速且无缝地切换。

传输层340可包括传输控制协议(tcp)、用户数据报协议(udp)或ip。在下行链路操作中,传输层340可将从虚拟网络层330传送的数据传送到上层(例如,应用层310)。在上行链路操作中,传输层340可将从应用层310传送的数据传送到下层(例如,虚拟网络层330)。

缓冲器控制器338可以是根据连接到电子装置101的网络以单一方式控制第一数据缓冲器332和第二数据缓冲器334的软件模块。缓冲器控制器338可以是存储在存储器130中的指令的集合。

当执行存储在存储器中的指令时,缓冲器控制器338可在第一数据缓冲器332中存储经由第一调制解调器210和第一接口215接收到的第一数据包。缓冲器控制器338可使用与第一数据包相应的存储器地址(被称为第一地址)以将第一数据包存储在第一数据缓冲器332中。第一地址可以是用于从第一数据缓冲器332调用(或读取)第一数据包的点信息(例如,读取点或写入点)。当连接到电子装置101的网络从第一网络切换到第二网络时,缓冲器控制器338可在第二数据缓冲器334中存储经由第二调制解调器220和第二接口225接收到的第二数据包。缓冲器控制器338可使用与第二数据包相应的存储器地址(被称为第二地址)以将第二数据包存储在第二数据缓冲器334中。

缓冲器控制器338可控制第一数据缓冲器332和第二数据缓冲器334,使得第一数据包和第二数据包按照从分组网络250被接收的顺序被传送到上层。缓冲器控制器338可使用用于以单一方式管理第一数据缓冲器332和第二数据缓冲器334的单独的第三数据缓冲器335。缓冲器控制器338可将数据包在第一数据缓冲器332和第二数据缓冲器334中被存储的地址值存储在第三数据缓冲器335中。网络装置接口336可通过访问存储在第三数据缓冲器335中的地址值将接收到的数据包按照顺序传送到上层。

图4是根据实施例的由缓冲器控制器管理的用于以单一方式控制数据缓冲器的信息的示图。图4中示出的多个信息中的每一个可以是由缓冲器控制器管理的用于以单一方式控制第一数据缓冲器和第二数据缓冲器的信息。

参照图4,可在电子装置被启动之后在与调制解调器分别相应的数据缓冲器被定义之前产生由缓冲器控制器管理的信息400。换句话说,信息400可以是在电子装置被启动时(或在电子装置被启动之后)在存储器中产生的示例。缓冲器控制器可包括网络装置接口信息410、数据缓冲器信息420和目标网络信息430中的至少一个。

网络装置接口信息410可以是指示与由缓冲器控制器控制的数据缓冲器相应的网络装置接口的信息。数据缓冲器信息420可以是包括以下项中的至少一项的信息:与调制解调器分别相应的数据缓冲器中的每一个的大小、处理速度或点信息(例如,读取点或写入点),或者用于以单一方式控制数据缓冲器的第三数据缓冲器的大小、处理速度或点信息(例如,读取点或写入点)。数据缓冲器信息420可根据上行链路和下行链路而包括不同的信息。目标网络信息430可以是指示连接到电子装置的网络的类型的信息。

图5是根据实施例的在下行链路情况下电子装置用于以单一方式控制数据缓冲器的操作的流程图。下面描述的操作基于包括在存储器中的指令而可由电子装置执行或者可由处理器执行。

参照图5,在方法500的步骤505,处理器可通过第一调制解调器从第一网络接收第一数据包。包括在第一数据包中的每一个中的ip头可包括指示电子装置的ip地址的目的地地址。

在步骤510,处理器可将接收到的第一数据包存储在被分配到存储器的第一区域的第一数据缓冲器中。处理器可通过用于读取第一数据包的第一地址将第一数据包存储在第一数据缓冲器中。

在步骤515,处理器可通过第二调制解调器从第二网络接收第二数据包。包括在第二数据包中的每一个的ip头中的目的地地址可与包括在第一数据包中的每一个的ip头中的目的地地址相同。

在步骤520,处理器可将接收到的第二数据包存储在被分配到与第一区域不同的第二区域的第二数据缓冲器中。处理器可通过用于读取第二数据包的第二地址将第二数据包存储在第二数据缓冲器中。

所述操作的顺序不限于图5中示出的顺序。当电子装置连接到第二网络并切换到第一网络时,电子装置可首先接收并存储第二数据包并且然后可接收并存储第一数据包。

在步骤525,处理器可按照第一数据包和第二数据包被接收的顺序将第一数据包和第二数据包从第一数据缓冲器和第二数据缓冲器分别传送到上层。当电子装置从第一网络切换到第二网络时,处理器可首先传送第一数据包。处理器可按照数据包被接收的顺序将第一地址值和第二地址值存储在第三数据缓冲器中,并且可按照在第三数据缓冲器中存储的地址值的顺序传送数据包。

通过上面描述的方法500,电子装置可通过获得被传送到上层的数据包的连续性来防止数据丢失。电子装置可通过获得数据包的连续性来减少数据包的重新排序或重新发送,并且可持续为用户服务。

图6是根据实施例的在下行链路情况下电子装置存储数据包的地址的操作的流程图。下面描述的操作基于包括在存储器中的指令而可由电子装置执行或者可由处理器执行。

参照图6,在方法600的步骤605,处理器可接收第一数据包的第一序列。处理器可经由第一通信处理器从第一网络接收第一序列,其中,第一通信处理器被配置为基于第一协议(例如,4g协议)提供无线通信。第一数据包中的每一个可包括第一目的地地址。

在步骤610,处理器可将第一数据包存储在易失性存储器上的第一地址。第一地址可指示被分配到存储器的第一数据缓冲器的区域。

在步骤615,处理器可接收第二数据包的第二序列。处理器可经由第二通信处理器从第二网络接收第二序列,其中,第二通信处理器被配置为基于第二协议(例如,5g协议)提供无线通信。第二数据包中的每一个可包括第一目的地地址。

在步骤620,处理器可将第二数据包存储在易失性存储器上的第二地址。第二地址可指示被分配到存储器的第二数据缓冲器的区域。

在步骤625,处理器可将第一地址和第二地址存储在易失性存储器上的第三地址。第三地址可指示存储器上与第一数据缓冲器和第二数据缓冲器不同的第三数据缓冲器的区域。实现各个的操作的顺序不限于图6中示出的顺序。例如,当接收到第一序列时,处理器可与将第一数据包存储在第一地址同时地将第一地址存储在第三地址。按照相同的原理,当接收到第二序列时,处理器可与将第二数据包存储在第二地址同时地将第二地址存储在第三地址。

图7是根据实施例的在下行链路情况下当网络连接被切换时电子装置以单一方式控制数据缓冲器的操作的流程图。下面描述的操作基于包括在存储器中的指令而可由电子装置执行或者可由处理器执行。

参照图7,在方法700的步骤705,处理器可将第一数据包在第一数据缓冲器中被存储的第一地址值存储在第三数据缓冲器中。

在步骤710,处理器可验证连接到电子装置的网络从第一网络切换到第二网络。处理器可从上层接收网络切换请求信息。上层可通过从第一调制解调器或第二调制解调器接收切换请求信息或者响应于用户输入来确定是否切换网络。

在步骤715,处理器可确定全部第一地址值是否被存储在第三数据缓冲器中。处理器可通过基于第一数据缓冲器的大小或处理速度、或者第一数据包从第一调制解调器传送到第一数据缓冲器的速度中的至少一个来验证在第一数据缓冲器中剩余的第一数据包的数量,以确定全部第一地址值是否被存储在第三数据缓冲器中。

在步骤720,响应于将全部第一地址值存储在第三数据缓冲器中,处理器可将第二数据包在第二数据缓冲器中被存储的第二地址值存储在第三数据缓冲器中。由于直到第一地址值在第三数据缓冲器中的存储被完成时处理器才将第二地址值存储在第三数据缓冲器中,因此第一数据包和第二数据包可按照它们在电子装置中被接收的顺序被传送到上层。

图8是根据实施例的第一数据缓冲器、第二数据缓冲器和第三数据缓冲器中的每一个的结构的示图。图8中示出的数据缓冲器中的每一个可以是电子装置对从分组网络接收到的数据包进行处理的存储空间。

参照图8,第一数据缓冲器332和第二数据缓冲器334可与和第一调制解调器相应的第一接口以及和第二调制解调器相应的第二接口分别连接。由于数据包通过第一接口被传送的速度与数据包通过第二接口被传送的速度不同,因此在相同时间(或时序)期间在第一数据缓冲器332中存储的数据包的总量(或数量)可能与在相同时间(或时序)期间在第二数据缓冲器334中存储的数据包的总量(或数量)不同。如图8所示,在恒定时间期间在第一数据缓冲器332中存储的第一数据包的数量是2,然而,在相同时间期间在第二数据缓冲器334中存储的第二数据包的数量是3。

处理器可基于由第一数据缓冲器332或第二数据缓冲器334接收到的数据包的数量以及第一数据缓冲器332或第二数据缓冲器334的处理速度(即,将数据包传送到上层的速度),验证在第一数据缓冲器332或第二数据缓冲器334中剩余的数据包的数量。在将数据包1至数据包8存储在第一数据缓冲器332的地址1至地址8时,并且在将关于被存储的数据包1至数据包8的信息(例如,关于地址1至地址8的信息和/或关于数据包的大小的信息)传送到第三数据缓冲器335时,电子装置可切换到第二网络(虽然在图8中未示出,但是可假定在剩余数据包4至数据包8的状态下,电子装置切换到第二网络)。处理器可将从第二网络接收到的数据包9至数据包17存储在第二数据缓冲器334的地址101至地址109。在剩余数据包4至数据包8的状态下,当处理器首先将存储数据包9至数据包17的地址101至地址109的值传送到第三数据缓冲器335时,数据包可能在上层丢失。处理器可在没有将地址101至地址109的值传送到第三数据缓冲器335的情况下,将第一数据缓冲器332中剩余的地址4至地址8的值传送到第三数据缓冲器335。当地址4至地址8的值被传送到第三数据缓冲器335时,处理器可将地址101至地址109的值传送到第三数据缓冲器335。通过上面提到的方法,处理器可按顺序将地址1至地址8和地址101至地址109的值存储在第三数据缓冲器335中。网络装置接口336可基于在第三数据缓冲器335中按顺序存储的地址值,将分别存储在第一数据缓冲器332和第二数据缓冲器334中的数据包按顺序传送到上层。

图9是根据实施例的支持多个网络的电子装置的上行链路操作的示图。图9示出电子装置101从第一网络230切换到第二网络240的网络环境。然而,相同的原理适用于电子装置101从第二网络240切换到第一网络230的实施例。

参照图9,在网络环境900中,在经由第一调制解调器210向第一网络230发送数据包时,电子装置101可基于各种原因(例如,当接收到用于从第一网络230切换的消息时、当检测到无线信道状态时、或者当接收到用于改变网络的用户输入时)确定是否切换网络。当切换了网络时,电子装置101可通过第二调制解调器220发送经由第一调制解调器210发送的数据包(例如,图9的数据包①至数据包③)之后的数据包(例如,图9的数据包④至数据包⑦)。

经由第一调制解调器210发送的数据包可包括与经由第二调制解调器220发送的数据包相同的ip源地址。当与第二网络240通信时,电子装置101可发送比第一网络230更高频带(例如,28ghz)的信号。

图10是根据实施例的在上行链路情况下电子装置以单一方式控制数据缓冲器的操作的流程图。下面描述的操作基于包括在存储器中的指令而可由电子装置执行或者可由处理器执行。

参照图10,在方法1000的步骤1005,处理器可验证电子装置被连接到第一网络。在步骤1010,处理器可将用于上行链路传输的数据包传送到第一调制解调器。处理器可通过网络装置接口和第一数据缓冲器将数据包传送到第一调制解调器。

在步骤1015,处理器可验证电子装置从第一网络切换到第二网络。在步骤1020,处理器可通过网络装置接口和第二数据缓冲器将数据包传送到第二调制解调器。电子装置可通过验证关于连接到电子装置的网络的信息将数据包传送到与连接到电子装置的网络相应的调制解调器。

处理器可控制用于上行链路传输的数据包被传送的顺序。处理器可将数据包在第一数据缓冲器中被存储的第一地址值和数据包在第二数据缓冲器中被存储的第二地址值存储在第三数据缓冲器中。由于处理器按照在第三数据缓冲器中存储的地址值的顺序将用于上行链路传输的数据包传送到每个调制解调器,因此尽管连接到电子装置的网络被切换,但是先前在数据缓冲器中剩余的数据包仍可在不被丢失的情况下被发送到调制解调器。

根据实施例,一种电子装置可包括:第一调制解调器,被配置为支持用于第一网络的无线通信;第二调制解调器,被配置为支持用于第二网络的无线通信;处理器,被配置为与第一调制解调器和第二调制解调器电连接;易失性存储器,被配置为与处理器电连接;以及非易失性存储器,被配置为与处理器电连接并且包括指令。当所述指令被执行时,所述指令可促使处理器进行以下操作:经由第一调制解调器接收第一数据包,将第一数据包存储在被分配到易失性存储器的第一区域的第一数据缓冲器中,经由第二调制解调器接收第二数据包,将第二数据包存储在被分配到易失性存储器的第二区域的第二数据缓冲器中,并且按照第一数据包和第二数据包被接收的顺序将第一数据包和第二数据包从第一数据缓冲器和第二数据缓冲器传送到上层。第二数据包可包括与第一数据包相同的ip目的地地址。

根据实施例,当所述指令被执行时,所述指令可促使处理器通过被分配了所述ip目的地地址的网络装置接口将第一数据包和第二数据包传送到所述上层。

根据实施例,当所述指令被执行时,所述指令可促使处理器将第一数据包在第一数据缓冲器中被存储的第一地址值存储在被分配到易失性存储器的第三区域的第三数据缓冲器中,将第二数据包在第二数据缓冲器中被存储的第二地址值存储在第三数据缓冲器中,并且按照第一地址值和第二地址值在第三数据缓冲器中被存储的顺序通过网络装置接口将第一数据包和第二数据包传送到所述上层。

根据实施例,当所述指令被执行时,所述指令可促使处理器响应于检测到通过所述上层连接到电子装置的网络被切换,经由第二调制解调器接收第二数据包。

根据实施例,当所述指令被执行时,所述指令可促使处理器确定第一地址值的存储是否完成,并且当第一地址值的存储完成时,将第二地址值存储在第三数据缓冲器中。

根据实施例,当所述指令被执行时,所述指令可促使处理器基于第一数据缓冲器被分配到的第一区域的大小、第一数据包的数量、第一数据包中的每一个的大小和第一数据缓冲器的处理速度中的至少一个,确定第一地址值的存储是否完成。

根据实施例,第一调制解调器可被配置为接收比第二调制解调器更低频带的信号。此外,根据实施例,第一调制解调器和处理器可被配置为一个模块。

根据实施例,一种电子装置可包括:第一通信处理器,被配置为基于第一协议提供第一无线通信;第二通信处理器,被配置为基于第二协议提供第二无线通信;应用处理器,被配置为与第一通信处理器和第二通信处理器操作地连接;易失性存储器,被配置为与应用处理器操作地连接;以及非易失性存储器,被配置为与应用处理器操作地连接。所述非易失性存储器可包括指令,其中,当所述指令被执行时,所述指令促使应用处理器进行以下操作:通过第一通信处理器从第一网络接收第一数据包的第一序列,其中,第一数据包中的每一个包括第一目的地地址;将第一数据包存储在易失性存储器上的第一地址;通过第二通信处理器从第二网络接收第二数据包的第二序列,其中,第二数据包中的每一个包括第一目的地地址;将第二数据包存储在易失性存储器上的第二地址;并且将第一地址和第二地址存储在易失性存储器上的第三地址。

根据实施例,当所述指令被执行时,所述指令可促使应用处理器在应用处理器不接收第二序列的同时接收第一序列,并且在应用处理器不接收第一序列的同时接收第二序列。

根据实施例,当所述指令被执行时,所述指令可促使应用处理器在应用处理器接收第一序列之后接收第二序列,并且在第三地址,将第二地址接续存储在第一地址之后。

根据实施例,第一网络可支持由3gpp定义的lte协议,并且第二网络可支持由3gpp定义的5g通信协议。

根据实施例,第一通信处理器可与应用处理器一体地形成。此外,根据实施例,第一数据包可与第二数据包数量不同。

根据实施例,当所述指令被执行时,所述指令可促使应用处理器提供使用在第三地址存储的第一地址和第二地址的网络装置接口。

根据实施例,一种电子装置可包括:第一通信处理器,被配置为基于第一协议提供第一无线通信;第二通信处理器,被配置为基于第二协议提供第二无线通信;应用处理器,被配置为与第一通信处理器和第二通信处理器操作地连接;易失性存储器,被配置为与应用处理器操作地连接;以及非易失性存储器,被配置为与应用处理器操作地连接。所述非易失性存储器可包括指令,其中,当所述指令被执行时,所述指令促使应用处理器进行以下操作:通过第一通信处理器从第一网络接收第一数据包的第一序列,将第一数据包存储在易失性存储器上的第一地址,通过第二通信处理器从第二网络接收第二数据包的第二序列,将第二数据包存储在易失性存储器上的第二地址,将第一地址和第二地址存储在易失性存储器上的第三地址,并且提供使用在第三地址存储的第一地址和第二地址的网络装置接口。根据实施例,第一数据包中的每一个可包括与包括在第二数据包中的每一个的目的地地址相同的目的地地址。

根据实施例,当所述指令被执行时,所述指令可促使应用处理器在应用处理器不接收第二序列的同时接收第一序列,并且在应用处理器不接收第一序列的同时接收第二序列。

根据实施例,网络装置接口可被配置为将第一数据包和第二数据包传送到上层。此外,根据实施例,第一通信处理器可与应用处理器一体地形成。

本公开的各种实施例可由软件实现,其中,所述软件包括存储在机器可读存储介质中的可由机器(例如,计算机)读取的指令。机器可以是从机器可读存储介质调用指令并根据调用的指令进行操作的装置,并且可包括电子装置。当指令被处理器执行时,处理器可直接执行与指令相应的功能,或者可在处理器的控制下使用其它组件执行与指令相应的功能。指令可包括由编译器或解释器产生或执行的代码。机器可读存储介质可被设置为非暂时性存储介质的形式。这里,与数据存储持久性的限制相反,如这里使用的,术语“非暂时性”是介质本身的限制(即,有形的,而非信号)。

根据实施例,根据本公开中所公开的各种实施例的方法可被设置为计算机程序产品的一部分。计算机程序产品可在卖者与买者之间作为产品进行交易。计算机程序产品可以以机器可读存储介质(例如,紧凑盘只读存储器(cd-rom))的形式分发,或者可仅通过应用商店(例如,playstoretm)分发。在在线分发的情况下,计算机程序产品的至少一部分可被暂时存储或被暂时生成在存储介质(诸如,制造商的服务器、应用商店的服务器或中继服务器的存储器)中。

根据各种实施例的每个组件(例如,模块或程序)可包括以上组件中的至少一个,并且以上子组件的一部分可被省略,或者附加的其它子组件可被进一步包括。可选地或此外,一些组件可被集成在一个组件中并且可执行由每个相应组件在集成之前执行的相同或相似的功能。根据本公开的各种实施例的由模块、程序或其它组件执行的操作可顺序地、并行地、重复地或以启发式的方式被执行。此外,至少一些操作可以以不同的顺序被执行、可被省略,或者其它操作可被添加。

尽管已参照本公开的特定实施例示出并描述了本公开,但是本领域中的技术人员将理解的是,在不脱离本公开的范围的情况下,可对其进行形式和细节上的各种改变。因此,本公开的范围不应该被限定为受所述实施例的限制,而应该由所附权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1