CN100477611C - 无线/lan路由器排队方法和系统 - Google Patents
无线/lan路由器排队方法和系统 Download PDFInfo
- Publication number
- CN100477611C CN100477611C CNB038260050A CN03826005A CN100477611C CN 100477611 C CN100477611 C CN 100477611C CN B038260050 A CNB038260050 A CN B038260050A CN 03826005 A CN03826005 A CN 03826005A CN 100477611 C CN100477611 C CN 100477611C
- Authority
- CN
- China
- Prior art keywords
- packet
- permanent storage
- queue
- destination
- storage queue
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
- H04W28/14—Flow control between communication endpoints using intermediate storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/1874—Buffer management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
一种无线/LAN路由器处理输入数据分组并将其从无线移动网络路由选择到目的地服务器的排队方法和系统。该系统使用无线传输模块来启动在永久存储设备中的数据分组的存储,同时将数据分组转发到目的地服务器。数据库线程用于管理在数据分组上执行的操作,并且基于永久存储队列来启动在永久存储设备中的数据分组的存储。主线程用于同时将数据分组转发到目的地服务器。所述无线传输模块适合于确定所述数据分组是否已由目的地服务器进行了确认,以及一旦接收到来自目的地服务器的确认,就中断在永久存储设备中的数据分组的存储。
Description
技术领域
本发明涉及无线网络,更具体地涉及用于无线/LAN路由器的排队方法和系统。
背景技术
基于无线LAN、从发送设备到一个或多个接收设备的基于文本的消息(即数据分组)的递送带来了一些特殊的挑战。典型地,通过临时存储消息的无线网关来路由消息,直到将该消息发送到并存储在数据网络的电子邮件服务器中为止。然后,接收设备可以在它们方便的时候从电子邮件服务器中恢复被存储的消息。将电子消息从发送设备传送到接收设备的速度部分地取决于如何有效地将数据分组通过无线通信网络从发送移动设备传递到电子邮件服务器。
当无线网关基于无线网络从移动设备接收数据分组时,将所接收的数据分组发送到目的地电子邮件服务器。然而,为了确保成功地将数据分组传送到目的地电子邮件服务器而在其间不丢失,无线网关通常在传送数据分组之前将数据分组存储到内部永久存储设备(例如数据库服务器或文件系统)中。典型地,在继续处理数据分组之前或者甚至在继续将数据分组的接收确认发送回移动设备之前,无线网关一直等待直到该永久存储设备确认数据分组的存储为止。这种类型的存储过程使路由器中的数据分组处理显著地慢下来。
发明内容
本发明在第一方面中提供了一种处理数据分组并将其从无线移动网络路由选择到目的地服务器的方法,所述方法包括以下步骤:
(a)从无线移动网络接收输入数据分组;
(b)基于永久存储队列来启动在永久存储设备中的数据分组的存储;
(c)同时基于主队列将数据分组传送到目的地服务器;
(d)确定数据分组是否得到目的地服务器的确认;以及
(e)如果数据分组已由目的地服务器进行了确认,以及如果还没有完成数据分组的存储,则中断(abort)在永久存储设备中的数据分组的存储。
另一方面,本发明提供了一种用于处理输入数据分组并将其从无线移动网络路由选择到目的地服务器的系统,所述系统包括:
(a)无线传输模块,用于从无线移动网络接收输入数据分组;
(b)与无线传输模块相关联的永久存储设备,用于存储数据分组,直到来自目的地服务器的数据分组的确认为止;
(c)与无线传输模块相关联的数据库线程,适合于管理在数据分组上执行的操作,并且基于永久存储队列来启动在永久存储设备中的数据分组的存储;
(d)与无线传输模块相关联的主线程,基于主队列同时将数据分组递送到目的地服务器;
(e)所述无线传输模块适合于如下情形:如果数据分组已由目的地服务器进行了确认,以及如果还没有完成数据分组的存储,则确定所述数据分组是否已由目的地服务器进行了确认,且中断在永久存储设备中的数据分组的存储。
在另一方面中,本发明提供了其上存储有指令集的一种计算机可读介质,当运行所述指令集时,执行如下步骤,包括:
(a)无线移动网络接收输入数据分组;
(b)基于永久存储队列来启动在永久存储设备中的数据分组的存储;
(c)同时基于主队列将数据分组传送到目的地服务器;
(d)确定数据分组是否得到目的地服务器的确认;以及
(e)如果数据分组已由目的地服务器进行了确认,以及如果还没有完成数据分组的存储,则中断在永久存储设备中的数据分组的存储。
从下面结合附图的描述中,本发明的其它方面和优点将显而易见。
附图说明
附图中:
图1是本发明的无线网关和周边网络环境的实施例的示意图;
图2是数据库线程(database thread)的示意图,该数据库线程用于管理在无线传输模块中实现的、且用于在图1所述的永久存储设备中存储数据分组的永久性存储队列;
图3是一个事件顺序图,该图示出了从移动设备将数据分组通过图1的无线连接器系统发送到目的地电子邮件服务器的典型的数据流;
图4是表示图2的数据库线程的功能的有限状态机;以及
图5是一个示意图,该图示出了用于在图1的永久存储设备中存储数据分组操作的永久性存储队列的一个实例。
具体实施方式
图1示出了根据本发明优选实施例构建的无线网关10的主要部件。特别是,无线网关10适合于通过无线连接器系统20将基于无线移动网络16从移动数据通信设备14接收的数据分组15路由到目的地电子邮件服务器18。特别是,无线通信网络10允许通过无线网关10更加有效地将来自移动设备14的数据分组15(即消息)路由选择到目的地电子邮件服务器18,同时还提供高度的数据分组安全性。
移动设备14是任何商业上可用的移动数据通信设备,其适合于将数据分组15传送到无线移动网络16(例如IEEE802.11标准,或者用于无线通信的任何其它的无线协议)。在优选实施例中,移动设备14是一种手持双向无线寻呼设备,但是作为选择,移动设备14还可以是任何其它类型的能够经由无线移动网络16发送和接收消息的移动通信设备,诸如双向寻呼计算机、个人数字助手(PDA)、便携式电子消息发送设备、蜂窝电话或手持电子邮件客户端。
无线移动网络16最好是无线分组数据网络,(例如MobitexTM或DataTACTM),其为移动设备14提供无线电覆盖并且具有受限的带宽容量,尽管该移动无线网络16可以是任何其它类型的商业上可用的无线网络。根据所使用的无线移动网络16的类型,可能有必要使用为TCP客户端访问X.25连接提供的中间路由机制,在TCP无线网关10连接和X.25或IP地址移动网络连接之间路由数据分组15,反之亦然。通常,熟知的这种无线机制可以使用NET ID(DataTAC)或FST MAN(Mobitex)来连接到无线移动网络16。
无线网关10在服务器和与无线电子邮件通信相关的无线网络之间形成连接或电桥。特别是,无线网关10耦接在无线LAN16和包括无线连接器系统20及目的地电子邮件服务器18的硬布线数据网络之间。无线网关10包括永久存储设备22和无线传输模块24。
永久存储设备22可以由任何商业上可用的具有合适的速度和存储容量的数据库服务器来实现。永久存储设备22包括系统配置信息、系统状态数据及存储移动设备14信息的表格。
无线传输模块24是在移动设备14和无线网关10之间的接口。特别是,无线传输模块24使用上面讨论的中间路由机制(为TCP客户端提供到X.25的访问或UDP连接)与移动无线网络16进行通信,并且将数据分组15装配为基于无线移动网络16从移动设备14来接收。一旦装配了数据分组15,就将它们发送到无线传输模块24的上层,以便同时在永久存储设备22中进行存储,并且通过无线网关10进行处理到达无线连接系统20,最终到达目的地电子邮件网关18。
无线连接器系统20是有线骨干网的一部分,并且与无线网关10相耦接。无线连接器系统20与无线网关10和各个电子消息服务器进行通信,所述各个电子消息服务器利用称为UID或SRP ID的唯一地址连接到无线网关。
目的地电子邮件服务器18与无线连接器系统20相耦接,并且是常规的电子邮件服务器(例如由微软(华盛顿区西雅图)制造的交换服务器)。应当理解,任何其它商业上可用的电子邮件服务器都可以在无线网关10中使用。出于举例说明的目的,仅讨论了作为可能的目的地的目的地电子邮件服务器18,但是应当理解,无线网关10的创造性方法可适用于各种类型的目的地设备和通信服务(例如,天气服务、新闻服务、股票报价服务等)。
现在参照图1和图2,根据本发明的队列方法,当无线网关10从无线移动网络16接收数据分组15时,无线传输模块24将数据分组路由选择到电子邮件服务器18(图1中的路径A),同时将数据分组15写入到永久存储设备22(图1中的路径B)中。使用单独但同时运行的计算线程来并行地实施这两个动作。特别是,使用数据库线程将数据分组15写入到永久存储设备22,并且使用主线程将数据分组15转发到目的地服务器18。
使用主线程通过无线连接器系统20将数据分组15转发到目的地电子邮件服务器18。主线程使用主队列来管理数据分组15到目的地电子邮件服务器18的传输。在多种情况下,无线网关10可以使用主线程将数据分组递送到目的地地址(例如目的地电子邮件服务器18),这要比无线网关10将数据分组写入到永久存储设备22更快。在这种情况下,本发明的方法实现了通过无线网关10的更加有效的数据分组15的吞吐量,这是由于没有必要将处理时间专用于在永久存储设备22中的数据分组15的存储。
图2所示的数据库线程用于管理和谐调在永久存储设备22中的数据分组15的存储。数据库线程使用永久存储队列来管理在永久存储设备22中的数据分组15的存储。单独的工作者线程(worker thread)(未示出)与三个对数据分组15执行的基本操作,即“插入”、“更新”和“删除”相关联。当无线网关10从移动设备14接收消息时,进行“插入”操作。当对无线网关10中的路由选择端点(即连接点)进行定位时,使用“更新”操作在永久存储设备22中更新消息,以便在无线网关10中反映路由选择消息。万一部件出现故障或重新分配工作时,无线网关10保存路由选择的数据。当从无线连接器系统20接收一个“确认”消息时,进行“删除”操作。
数据库线程保持正在对数据分组执行的操作的轨迹(而且必要时对其更新),并且起到在无线传输模块24和永久存储设备22之间的智能缓冲器的作用。同时,至多存在一个待处理的操作。应当注意,当在最初的“插入”操作之后接收“更新”操作时,在适当的位置上(即在无线网关24中)与数据库线程中相关的队列实体一同对数据分组15进行操作,以减少存储和CPU的开销。同样,如果在可能出现“插入”操作之前进行“更新”操作,则改变要插入的数据分组15,以反映在适当位置的更新。之后将照常继续进行“插入”操作。如果在已经完成“插入”操作之后进行“更新”操作,则“更新”操作要服从永久存储队列。如果在“更新”操作可能出现之前进行“删除”操作,则从永久存储队列中删除“更新”操作,并且代之以“删除”操作。因此,队列中的工作反映了消息的当前状态/操作。由于与通常的情形相同,即不存在对额外操作的存储,所以这允许无线网关10更加有效地处理数据消息。
图3是示出了由移动设备14将数据分组15发送到目的地电子邮件服务器18的示例性数据流的事件顺序图。
特别是,在(100)处,从移动设备14将数据分组15发送到无线传输模块24。在(102)处,通过在永久存储队列中的相关“插入”操作,无线传输模块24准许将数据分组15的存储加入到永久存储设备22的表格中。下面将结合图4详细地说明永久存储队列的具体操作。然后在(104)处,同时将数据分组15转发到目的地电子邮件服务器18。特别是,无线传输模块24要确定数据分组15所发送的目的地设备的类型,并且根据目的地设备的类型来执行合适的数据分组处理步骤。
在(105),当确定了无线网关10内的路由选择端点的位置时,无线传输模块24从移动设备14执行一个“更新”操作。即,在永久存储设备22中更新消息,以反映被发现的路由选择信息。在(106)处,目的地邮件服务器18将一个确认(或拒绝)发送到无线传输模块24。作为响应,在(108)处,无线传输模块24执行“删除”操作。特别是,在已经将数据分组15插入到永久存储设备22的情况下,无线传输模块24从永久存储设备22中删除数据分组15。作为选择,在与数据分组15相关联的“插入”操作仍处于永久存储队列中时,无线传输模块24从永久存储队列中删除该“插入”操作,以便不将数据分组15写入到永久存储设备22中。应当理解,在数据分组15已经“过期”的情况下,即不可能在可配置的时间周期中到达打算的目的地的情况下,也可以通过无线传输模块24来执行这些动作。一旦将数据分组15插入到永久存储设备22中,或者如果将数据分组15递送到目的地服务器18,则无线传输模块24就发送一个用于证实已完成消息传递的内部状态确认。该步骤还可以包括:从无线网关10内的各种其它本地存储器中删除数据分组15。
图4是示出了数据库线程如何管理应用于永久存储队列中的数据分组15的“插入”、“更新”和“删除”操作的有限状态机。如上所述,数据库线程管理永久存储队列中的各种操作的位置和内容,以便提供永久存储设备22的有效利用。特别是,数据库线程组合数据分组15的操作,以便使存储操作的数目最小。即,对于永久存储队列中的任何数据分组15来说,至多存在一种操作。数据库线程还区分在永久存储队列中的数据分组15操作的优先顺序,以便使存储操作的数目最小,如将要参照图5所讨论的。
正如所示出的,首先在(200)通过无线传输模块24来接收“插入”数据分组15操作。然后在(202),数据库线程同时将“插入”操作放置在永久存储队列和主队列中。
在(202),如果目的地电子邮件服务器18在(204)发送一个“确认”,则在(206),删除在永久存储队列中用于数据分组15的待处理(pending)的“插入”操作。即,在将数据分组15递送到目的地服务器18要比数据库线程使数据分组15插入到永久存储设备22更快的情况下,有可能避免必须访问永久存储设备22。因此,根据在讨论中的目的地设备的有效性和响应时间,消除访问永久存储设备22的实际比例是可能的。
作为选择,在(202),如果“插入”操作在(205)到达了永久存储队列的顶端,则在(207)将数据分组15写入到永久存储设备22中。如果目的地电子邮件服务器18在(222)发送一个“确认”,则在(224)将“删除”操作放置在永久存储队列中,以便实现数据分组15从永久存储设备22中的合适的存储表中的可移动性。如果在来自目的地服务器18(222)的“确认”之前、在(214)处接收一个“更新”操作,则在(216)将“更新”操作放置在永久存储队列中。一旦从目的地服务器18接收到“确认”,就在(221)处在永久存储队列中利用“删除”操作来取代“更新”操作。
作为选择,在(202)处,如果在数据分组15到达并由目的地电子邮件服务器18确认之前、以及在到达永久存储队列的顶端之前,在(208)通过无线网关10进行“更新”操作(即已经定位了路由选择端点),则在(210)处,在永久存储队列中利用修订的“插入”操作来取代原始“插入”操作。该修订的“插入”操作由最初要插入的原始数据分组15的被更新版本组成。即,如果还没有针对永久存储设备22执行插入操作(即“插入”操作仍然在永久存储队列中),则将最初的“更新”操作和后来发送的“插入”操作组合为一个新的“插入”命令。因此,使这两个操作合并为在永久存储队列中布置的一个操作,以减少预期的存储操作。
在(210)处,如果“插入”操作在(209)到达了永久存储队列的顶端,则在(207),根据已修订的“插入”操作(其组合了原始“插入”操作和“更新”操作)将数据分组15写入到永久存储设备22中。当在(222)处从目的地电子邮件服务18中接收“确认”时,在(224)处将“删除”操作放置在永久存储队列中,以便实现数据分组15从永久存储设备22的表格中的可移动性。另一方面,如果在来自目的地服务器18的“确认”之前、在(214)处接收一个“更新”操作,则在(216)将“更新”操作放置在永久存储队列中。一旦从目的地服务器18接收到“确认”,就在(221)处在永久存储队列中利用“删除”操作来取代“更新”操作。
作为选择,如果在(210)处,电子邮件服务器18在(212)发送一个“确认”,则在(213)处,从永久存储队列中删除待处理的“插入”操作。这样做的原因是由于没有将数据分组15写入到永久存储设备22中,从而也不需要调用“删除”操作将数据分组15从存储器中删除。
图5示出了用于无线网关10的无线传输模块24的永久存储队列的一个实例。在永久存储队列中放置其中的各个数据分组15,以使其可以转发到用于存储的永久存储22,同时各个数据分组操作与特定的目的地设备相关联。另一方面,当图1中举例说明的目的地设备是目的地电子邮件服务器18时,应当理解可以提供各种类型的目的地设备。
无线传输模块22的数据库线程通过在永久存储队列中策略性地安排数据分组15的操作来优化数据分组15的处理。通常,基于消息从移动设备14到达的顺序,在永久存储队列中排序队列元素。即,“更新”或“删除”操作的引入不会改变队列中元素的顺序。然而,在无线网关10中,针对特定目的地设备来说,数据库线程根据发送数据分组15和从目的地设备接收的接收确认所花费的时间来区分永久存储队列中的数据分组15的操作的优先顺序。特别是,数据库线程保持要发送到特定目的地设备的数据分组15平均所需的平均时间长度的运行记录日志。然后,将平均传送时间的倒数(inverse)测量用于对永久存储队列中的数据分组15的操作进行排队。即,如果已知快速地对无线网关10进行答复的目的地设备(即从前进行过快速地答复),则有利地是,将相关的数据分组15的操作定位在永久存储队列的底部,以便提供延迟以避免处理相关的数据分组15的操作(即在永久存储器中存储数据分组或者更新)。以这样一种方式可以降低与在永久存储设备22中存储数据分组15相关的存储处理的成本。
优选地,使用数据分组15到目的地设备的传送时间的移动平均的倒数(代替平均传送时间)来确定永久存储设备22中的数据分组15的操作位置。特别是,已经确定了希望去跟踪的过去10个消息的传递时间。通过使用移动平均测量,无线网关10可以更快地对目的地设备和整个通信网络的状态中的变化响应。例如,目的地设备出现故障时(即变得不可达时),移动平均将反映分组传送中的延迟,对于目的地设备来说,移动平均比平均计数更快。另一个实例是,在目的地设备超负荷工作(即“太忙”)以至于不能进行答复的情况下,优选地采用移动平均近似法。
例如,正如所示出的,数据分组操作“X”位于永久存储队列的顶端,并且与数据分组X和目的地设备A相关联。数据分组操作“Y”位于接近于永久存储队列的低端,并且与数据分组Y和目的地设备B相关联。正如所示出的,数据分组操作“Z”目前正在由数据库线程输入到永久存储队列中。如果确定了数据分组Z到目的地设备C的平均传递时间(即从目的地设备发送和接收返回确认所需的时间)短于与数据分组操作“Y”相关的传递时间,则数据分组操作“Z”将放置在所示出的永久存储队列中的“Y”的下面。由于数据分组操作“Z”将放置在数据分组操作“Y”的下面,所以目的地设备C在数据分组操作“Z”到达队列顶端之前对数据分组Z的接收进行确认的可能性增加。在这种情况下,节省了与存储数据分组Z相关联的处理时间。
此外,当定位永久存储队列中的数据分组15的操作时,要考虑与讨论中的目的地设备的可达性相关的其它因素。例如,在已经确定了目的地设备不与网络10相连的情况下,数据库线程会自动地将相关数据分组15的操作放置在永久存储队列的顶端。类似地,在由数据分组15指定的目的地设备“无效”时,主线程会使得无线传输模块24返回给移动设备14一个紧急消息。
最后,优选地,主线程基于在先数据发送到目的地设备的移动平均传送时间将数据分组15的操作放置在主队列中。然而,主线程根据先进先出(FIFO)标准来安排数据分组15的操作也是可能的。即,在主队列中基于消息从移动设备14到达的时间对队列元素进行排序。
发明人已经确定了以下面的方式来构建永久存储队列,即在可以将数据分组15存储在永久存储设备22(即在低速或脱机目的地设备的情况下)之前,未必通过目标电子邮件服务器18来接收和确认数据分组15的情况下,首先尝试存储器存储操作,这实际上可以改善存储操作的效率。同样,已经观测到增加的数据分组15的吞吐量,即在测试信号负荷(spike load)的情况下,消息处理从每秒大约12个消息增加到每秒大约200个消息,并且对于支持载荷来说,增加到每秒大约150个消息。
应当理解,尽管出于示例性的目的已经选择并讨论了具体的通信设备,但本发明还可用于任何类型的网络路由选择系统,包括无线LAN路由器、LAN到LAN路由器、具有拨号用户的基于路由器的通信网络、以及其它通用的基于路由器的通信网络。
因此,无线网关10允许到目的地服务器18的改进的数据分组路由选择,同时仍然保证了高度的数据安全性。特别是,通过同时将数据分组15转发到永久存储设备22和目的地电子邮件服务器18,由于通过目的地设备接收数据分组15并从永久存储队列中删除数据分组15这两方面的原因,所以不需要执行费用较大的永久存储操作。通过减少写有操作的永久存储设备的数量,无线网关10能够处理实际上更高容量的消息,否则会在数据分组15被转发到目的地设备之前,将数据分组15首先存储在无线网关中。此外,该方法还减少了无线传输模块24和永久存储设备22之间的网络业务量,同时无线传输模块24和永久存储设备22之间的相关CPU使用率得以减少。最后,由于可能使用相同的硬件来实现更大容量的处理的原因,所以该方法还有效地降低了硬件成本。
本领域的普通技术人员应当明白,在不脱离由所附权利要求限定的本发明范围的情况下,对上述结构进行各种修改和改变是可能的。
Claims (17)
1.一种处理数据分组并将其从无线移动网络路由选择到目的地服务器的方法,所述方法包括以下步骤:
(a)从无线移动网络接收输入数据分组;
(b)基于永久存储队列来启动在永久存储设备中的数据分组的存储;
(c)同时基于主队列将数据分组传送到目的地服务器;
(d)确定数据分组是否得到目的地服务器的确认;以及
(e)如果数据分组已由目的地服务器进行了确认,以及如果还没有完成数据分组的存储,则中断在永久存储设备中的数据分组的存储。
2.根据权利要求1所述的方法,还包括步骤:基于要发送到目的地服务器的数据分组所花费的平均递送时间,动态地调整永久存储队列中的数据分组的优先级。
3.根据权利要求1所述的方法,使用平均递送时间的倒数来动态地调整在永久存储队列中的数据分组的优先级。
4.根据权利要求1所述的方法,使用递送时间的移动平均的倒数来动态地调整在永久存储队列中的数据分组的优先级。
5.根据权利要求1所述的方法,其中使用一个数据库线程来管理在数据分组上执行的操作,并且用于相应地调整永久存储队列。
6.根据权利要求5所述的方法,其中在数据分组上执行的操作包括:将数据分组插入到永久存储设备中,更新永久存储设备中的数据分组,并且从永久存储设备中删除数据分组。
7.根据权利要求6所述的方法,其中数据库线程适合于针对数据分组来确定插入操作是否待处理,以及是否已经接收了更新操作,以及如果是,则修订在永久存储队列中的插入操作,以便所述插入操作考虑更新操作。
8.根据权利要求6所述的方法,其中数据库线程适合于针对数据分组来确定是否已执行了插入操作,更新操作是否待处理,以及是否已接收了删除操作,以及如果是,则利用永久存储队列中的删除操作来取代更新操作。
9.根据权利要求6所述的方法,其中数据库线程适合于针对数据分组来确定插入操作是否待处理,以及是否已经接收了删除操作,以及如果是,则从永久存储队列中删除所述插入操作。
10.一种用于处理输入数据分组并将其从无线移动网络路由选择到目的地服务器的系统,所述系统包括:
(a)无线传输模块,用于从无线移动网络接收输入数据分组;
(b)与无线传输模块相关联的永久存储设备,用于存储数据分组,直到来自目的地服务器的数据分组的确认为止;
其中一数据库线程与无线传输模块相关联,所述数据库线程适合于管理在数据分组上执行的操作,并且基于永久存储队列来启动在永久存储设备中的数据分组的存储;
一主线程与无线传输模块相关联,所述主线程基于主队列同时将数据分组递送到目的地服务器;
所述无线传输模块适合于如下情形:确定所述数据分组是否已由目的地服务器进行了确认,如果数据分组已由目的地服务器进行了确认,以及如果还没有完成数据分组的存储,则中断在永久存储设备中的数据分组的存储。
11.根据权利要求10所述的系统,其中所述数据库线程基于要发送到目的地服务器的数据分组所花费的平均递送时间,动态地调整永久存储队列中的数据分组的优先级。
12.根据权利要求10所述的系统,其中所述数据库线程使用平均递送时间的倒数来调整在永久存储队列中的数据分组的优先级。
13.根据权利要求10所述的系统,其中所述数据库线程使用递送时间的移动平均的倒数来调整在永久存储队列中的数据分组的优先级。
14.根据权利要求10所述的系统,其中所述数据库线程用于管理对数据分组执行的操作,所述操作包括:将数据分组插入到永久存储设备中,更新永久存储设备中的数据分组,并且从永久存储设备中删除数据分组。
15.根据权利要求14所述的系统,其中所述数据库线程适合于针对数据分组来确定插入操作是否待处理,以及是否已经接收了更新操作,以及如果是,则修订在永久存储队列中的插入操作,以便所述插入操作考虑更新操作。
16.根据权利要求14所述的系统,其中所述数据库线程适合于针对数据分组来确定是否已经执行了插入操作,以及更新操作是否待处理,以及是否已经接收了删除操作,以及如果是,则在永久存储队列中用更新操作代替删除操作。
17.根据权利要求14所述的系统,其中所述数据库线程适合于针对数据分组来确定插入操作是否待处理,以及是否已经接收了删除操作,以及如果是,则从永久存储队列中删除所述插入操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/324,481 US7296067B2 (en) | 2002-12-19 | 2002-12-19 | Wireless/LAN router queuing method and system |
US10/324,481 | 2002-12-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1742465A CN1742465A (zh) | 2006-03-01 |
CN100477611C true CN100477611C (zh) | 2009-04-08 |
Family
ID=32593438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB038260050A Expired - Lifetime CN100477611C (zh) | 2002-12-19 | 2003-02-11 | 无线/lan路由器排队方法和系统 |
Country Status (9)
Country | Link |
---|---|
US (4) | US7296067B2 (zh) |
EP (1) | EP1573968B1 (zh) |
CN (1) | CN100477611C (zh) |
AT (1) | ATE335330T1 (zh) |
AU (1) | AU2003203102A1 (zh) |
CA (1) | CA2510498C (zh) |
DE (1) | DE60307320T2 (zh) |
HK (1) | HK1083398A1 (zh) |
WO (1) | WO2004057799A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7296067B2 (en) * | 2002-12-19 | 2007-11-13 | Research In Motion Limited | Wireless/LAN router queuing method and system |
US7853657B2 (en) * | 2004-12-08 | 2010-12-14 | John Martin | Electronic message response and remediation system and method |
US20110197114A1 (en) * | 2004-12-08 | 2011-08-11 | John Martin | Electronic message response and remediation system and method |
US7468951B2 (en) * | 2005-02-02 | 2008-12-23 | Cisco Technology, Inc. | Method and system for evaluting number of additional admissible calls for use in call admission control |
US9906634B2 (en) * | 2005-05-02 | 2018-02-27 | Chi Wen Liu | Communication method for a smart phone with a text recognition module |
US8156174B2 (en) * | 2007-04-13 | 2012-04-10 | Platform Computing Corporation | Method and system for information exchange utilizing an asynchronous persistent store protocol |
US8645960B2 (en) * | 2007-07-23 | 2014-02-04 | Redknee Inc. | Method and apparatus for data processing using queuing |
US8411629B1 (en) | 2009-08-11 | 2013-04-02 | Cisco Technology, Inc. | Dynamic admission control of wireless video to a wireless network |
US9195601B2 (en) | 2012-11-26 | 2015-11-24 | International Business Machines Corporation | Selective release-behind of pages based on repaging history in an information handling system |
SG10201402893YA (en) * | 2014-06-04 | 2016-01-28 | Lantiq Deutschland Gmbh | Data packet processing system on a chip |
CN106897278B (zh) * | 2015-12-17 | 2020-10-30 | 阿里巴巴集团控股有限公司 | 用于键值数据库的数据读写处理方法及设备 |
US9935888B2 (en) * | 2016-05-02 | 2018-04-03 | Visa International Service Association | System and method for latency-based queuing |
US11792306B2 (en) * | 2020-11-06 | 2023-10-17 | Improbable Worlds Limited | Network protocol for view replication over unreliable networks |
CN113076178B (zh) * | 2021-02-25 | 2024-01-02 | 厦门科灿信息技术有限公司 | 报文存储方法、装置及设备 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4510599A (en) * | 1983-04-04 | 1985-04-09 | General Electric Company | Prioritized unidirectional distributed bus accessing system |
JPH01165246A (ja) * | 1987-12-22 | 1989-06-29 | Oki Electric Ind Co Ltd | パケット交換方式 |
US5159592A (en) | 1990-10-29 | 1992-10-27 | International Business Machines Corporation | Network address management for a wired network supporting wireless communication to a plurality of mobile users |
US5175732A (en) * | 1991-02-15 | 1992-12-29 | Standard Microsystems Corp. | Method and apparatus for controlling data communication operations within stations of a local-area network |
US5327426A (en) * | 1991-09-27 | 1994-07-05 | Echelon Corporation | Method and apparatus for preventing unnecessary retransmission of messages in a networked messaging system |
US5502726A (en) | 1992-01-31 | 1996-03-26 | Nellcor Incorporated | Serial layered medical network |
US5355365A (en) * | 1993-03-31 | 1994-10-11 | Multi-Tech Systems, Inc. | Intelligent local area network modem node |
US5982813A (en) * | 1996-09-30 | 1999-11-09 | Amsc Subsidiary Corporation | Demand-based power and data rate adjustments to a transmitter to optimize channel capacity and power usage with respect to data transmission traffic over a fixed-bandwidth channel |
US6044146A (en) * | 1998-02-17 | 2000-03-28 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for call distribution and override with priority |
US6134432A (en) * | 1997-06-17 | 2000-10-17 | Bulletin.Net, Inc. | System and process for allowing wireless messaging |
FI106600B (fi) * | 1998-05-13 | 2001-02-28 | Nokia Networks Oy | Monipistelähetys |
JP3142820B2 (ja) * | 1998-08-27 | 2001-03-07 | 株式会社エヌ・ティ・ティ・ドコモ | プッシュ型情報配信方法およびその中継装置 |
JP3848039B2 (ja) * | 1999-09-06 | 2006-11-22 | 株式会社リコー | インターネットファクシミリゲートウェイ装置およびその制御方法 |
DE10026927B4 (de) * | 2000-05-30 | 2006-07-13 | Siemens Ag | Verfahren zur Übertragung von Datenpaketen in einem Kommunikationssystem zwischen einem Sender und einem Empfänger sowie entsprechender Sender und Empfänger |
US7181507B1 (en) * | 2000-07-18 | 2007-02-20 | Harrow Products Llc | Internet based access point management system |
JP3866506B2 (ja) * | 2000-12-04 | 2007-01-10 | 株式会社エヌ・ティ・ティ・ドコモ | 電子メールの配信制御方法及びメールサーバ |
US6934257B2 (en) * | 2001-04-04 | 2005-08-23 | Intel Corporation | Transferring transmission control protocol packets |
US7152196B2 (en) * | 2001-12-10 | 2006-12-19 | Nortel Networks Limited | Adaptive multi-mode HARQ system and method |
US7296067B2 (en) | 2002-12-19 | 2007-11-13 | Research In Motion Limited | Wireless/LAN router queuing method and system |
-
2002
- 2002-12-19 US US10/324,481 patent/US7296067B2/en active Active
-
2003
- 2003-02-11 CA CA002510498A patent/CA2510498C/en not_active Expired - Lifetime
- 2003-02-11 WO PCT/CA2003/000194 patent/WO2004057799A1/en not_active Application Discontinuation
- 2003-02-11 DE DE60307320T patent/DE60307320T2/de not_active Expired - Lifetime
- 2003-02-11 CN CNB038260050A patent/CN100477611C/zh not_active Expired - Lifetime
- 2003-02-11 AU AU2003203102A patent/AU2003203102A1/en not_active Abandoned
- 2003-02-11 AT AT03701407T patent/ATE335330T1/de not_active IP Right Cessation
- 2003-02-11 EP EP03701407A patent/EP1573968B1/en not_active Expired - Lifetime
-
2006
- 2006-04-11 HK HK06104345.8A patent/HK1083398A1/xx not_active IP Right Cessation
-
2007
- 2007-10-05 US US11/868,116 patent/US7852862B2/en not_active Expired - Lifetime
-
2010
- 2010-11-17 US US12/947,907 patent/US8576860B2/en not_active Expired - Lifetime
-
2013
- 2013-10-02 US US14/043,883 patent/US8989200B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US20080025244A1 (en) | 2008-01-31 |
US20040120293A1 (en) | 2004-06-24 |
DE60307320T2 (de) | 2006-12-14 |
CA2510498C (en) | 2009-08-25 |
HK1083398A1 (en) | 2006-06-30 |
US8989200B2 (en) | 2015-03-24 |
US8576860B2 (en) | 2013-11-05 |
US7852862B2 (en) | 2010-12-14 |
CA2510498A1 (en) | 2004-07-08 |
US20110064064A1 (en) | 2011-03-17 |
DE60307320D1 (de) | 2006-09-14 |
EP1573968B1 (en) | 2006-08-02 |
US20140036896A1 (en) | 2014-02-06 |
ATE335330T1 (de) | 2006-08-15 |
AU2003203102A1 (en) | 2004-07-14 |
EP1573968A1 (en) | 2005-09-14 |
CN1742465A (zh) | 2006-03-01 |
WO2004057799A1 (en) | 2004-07-08 |
US7296067B2 (en) | 2007-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8989200B2 (en) | Wireless/LAN router queuing method and system | |
US6981032B2 (en) | Enhanced multicast-based web server | |
US5931915A (en) | Method for processing early arrival messages within a multinode asynchronous data communications system | |
US7986678B2 (en) | System and method for implementing local base stations | |
EP1559243B1 (en) | Optimisation of paquets transfer between two access points in a handover | |
CN101326766A (zh) | 数字对象路由 | |
CA2507423A1 (en) | Method and system for transferring large data files over parallel connections | |
CN101977358A (zh) | 一种数据短信的传输方法、装置及设备 | |
US8892745B2 (en) | Redirection of a request for information | |
US20050232298A1 (en) | Early direct memory access in network communications | |
CN100359891C (zh) | 一种通过缓存提高多媒体消息中心业务处理性能的方法 | |
WO2002091787A1 (fr) | Procede et systeme de commande de notification de reception | |
KR20030030892A (ko) | 서버와 이동 터미널 사이에 패킷들의 시퀀스들을 전송하는시스템 | |
CN102239671A (zh) | 电子邮件操作系统、电子邮件操作装置以及电子邮件操作方法 | |
JP3939253B2 (ja) | ハンドオーバー方法、無線通信システム及び基地局 | |
EP1552647B1 (en) | System and method for processing information in a data flow | |
JP3588295B2 (ja) | メッセージサービスシステム、移動通信システムおよびメッセージ管理方法 | |
US8078148B1 (en) | Memory full pipeline | |
KR100847727B1 (ko) | 실시간 패킷 수신을 위한 장치 및 방법 | |
JP2002368802A (ja) | データ転送規制装置及びデータ転送規制方法 | |
JP2005094249A (ja) | パケット中継方法及びパケット中継装置 | |
KR100391995B1 (ko) | 이동통신 교환기의 프로세서간 시그널 유실시 복구방법 | |
JP3854239B2 (ja) | 中継装置、管理装置、中継方法および通信システム | |
JP2002016629A (ja) | 電子メール管理システム及び方法、通信端末装置、携帯端末装置並びに電子メール管理用ソフトウェアを記録した記録媒体 | |
WO2001088653A2 (en) | An e-mail management system for wireless pcd |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1083398 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1083398 Country of ref document: HK |
|
CX01 | Expiry of patent term |
Granted publication date: 20090408 |
|
CX01 | Expiry of patent term |