CN1742465A - 无线/lan路由器排队方法和系统 - Google Patents

无线/lan路由器排队方法和系统 Download PDF

Info

Publication number
CN1742465A
CN1742465A CNA038260050A CN03826005A CN1742465A CN 1742465 A CN1742465 A CN 1742465A CN A038260050 A CNA038260050 A CN A038260050A CN 03826005 A CN03826005 A CN 03826005A CN 1742465 A CN1742465 A CN 1742465A
Authority
CN
China
Prior art keywords
packet
permanent storage
queue
storage queue
destination
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.)
Granted
Application number
CNA038260050A
Other languages
English (en)
Other versions
CN100477611C (zh
Inventor
艾哈迈德·E·哈桑
J·F·肖恩·威尔逊
维·图恩·班
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BlackBerry Ltd
Original Assignee
Research in Motion 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 Research in Motion Ltd filed Critical Research in Motion Ltd
Publication of CN1742465A publication Critical patent/CN1742465A/zh
Application granted granted Critical
Publication of CN100477611C publication Critical patent/CN100477611C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • H04W28/14Flow control between communication endpoints using intermediate storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • 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/1874Buffer 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路由器的排队方法和系统。
背景技术
基于无线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 (26)

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)与无线传输模块相关联的永久存储设备,用于存储数据分组,直到来自目的地服务器的数据分组的确认为止;
(c)与无线传输模块相关联的数据库线程,适合于管理在数据分组上执行的操作,并且基于永久存储队列来启动在永久存储设备中的数据分组的存储;
(d)与无线传输模块相关联的主线程,基于主队列同时将数据分组递送到目的地服务器;
(e)所述无线传输模块适合于如下情形:确定所述数据分组是否已由目的地服务器进行了确认,如果数据分组已由目的地服务器进行了确认,以及如果还没有完成数据分组的存储,则中断在永久存储设备中的数据分组的存储。
11.根据权利要求10所述的系统,其中所述数据库线程基于要发送到目的地服务器的数据分组所花费的平均递送时间,动态地调整永久存储队列中的数据分组的优先级。
12.根据权利要求10所述的系统,其中所述数据库线程使用平均递送时间的倒数来调整在永久存储队列中的数据分组的优先级。
13.根据权利要求10所述的系统,其中所述数据库线程使用递送时间的移动平均的倒数来调整在永久存储队列中的数据分组的优先级。
14.根据权利要求10所述的系统,其中所述数据库线程用于管理对数据分组执行的操作,所述操作包括:将数据分组插入到永久存储设备中,更新永久存储设备中的数据分组,并且从永久存储设备中删除数据分组。
15.根据权利要求14所述的系统,其中所述数据库线程适合于针对数据分组来确定插入操作是否待处理,以及是否已经接收了更新操作,以及如果是,则修订在永久存储队列中的插入操作,以便所述插入操作考虑更新操作。
16.根据权利要求14所述的系统,其中所述数据库线程适合于针对数据分组来确定是否已经执行了插入操作,以及更新操作是否待处理,以及是否已经接收了删除操作,以及如果是,则在永久存储队列中用更新操作代替删除操作。
17.根据权利要求14所述的系统,其中所述数据库线程适合于针对数据分组来确定插入操作是否待处理,以及是否已经接收了删除操作,以及如果是,则从永久存储队列中删除所述插入操作。
18.一种其上存储有指令集的计算机可读介质,当运行所述指令集时,执行如下步骤,包括:
(a)从无线移动网络接收输入数据分组;
(b)基于永久存储队列来启动在永久存储设备中的数据分组的存储;
(c)同时基于主队列将数据分组传送到目的地服务器;
(d)确定数据分组是否得到目的地服务器的确认;以及
(e)如果数据分组已由目的地服务器进行了确认,以及如果还没有完成数据分组的存储,则中断在永久存储设备中的数据分组的存储。
19.根据权利要求18的计算机可读介质,还包括指令,其中当运行这些指令时,执行如下的步骤:基于要发送到目的地服务器的数据分组所花费的平均递送时间,动态地调整永久存储队列中的数据分组的优先级。
20.根据权利要求18的计算机可读介质,还包括指令,其中当运行这些指令时,使用平均递送时间的倒数来动态地调整在永久存储队列中的数据分组的优先级。
21.根据权利要求18的计算机可读介质,还包括指令,其中当运行这些指令时,使用递送时间的移动平均的倒数来动态地调整在永久存储队列中的数据分组的优先级。
22.根据权利要求18的计算机可读介质,其中数据库线程用于管理在数据分组上执行的操作,并且用于相应地调整永久存储队列。
23.根据权利要求18的计算机可读介质,其中在所述数据分组上执行的操作包括:将数据分组插入到永久存储设备中,更新永久存储设备中的数据分组,并且从永久存储设备中删除数据分组。
24.根据权利要求23的计算机可读介质,其中所述数据库线程适合于针对数据分组来确定插入操作是否待处理,以及是否已经接收了更新操作,以及如果是,则修订在永久存储队列中的插入操作,以便所述插入操作考虑更新操作。
25.根据权利要求23的计算机可读介质,其中所述数据库线程适合于针对数据分组来确定是否已执行了插入操作,更新操作是否待处理,以及是否已接收了删除操作,以及如果是,则利用永久存储队列中的删除操作来取代更新操作。
26.根据权利要求23的计算机可读介质,其中所述数据库线程适合于针对数据分组来确定插入操作是否待处理,以及是否已经接收了删除操作,以及如果是,则从永久存储队列中删除所述插入操作。
CNB038260050A 2002-12-19 2003-02-11 无线/lan路由器排队方法和系统 Expired - Lifetime CN100477611C (zh)

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 true CN1742465A (zh) 2006-03-01
CN100477611C 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106576084A (zh) * 2014-06-04 2017-04-19 领特贝特林共有限责任两合公司 片上数据分组处理系统
CN109076026A (zh) * 2016-05-02 2018-12-21 维萨国际服务协会 用于基于等待时间排队的系统和方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
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
CN106897278B (zh) * 2015-12-17 2020-10-30 阿里巴巴集团控股有限公司 用于键值数据库的数据读写处理方法及设备
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)

* Cited by examiner, † Cited by third party
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
NZ330703A (en) * 1997-06-17 2000-03-27 Telecom Wireless Solutions Inc Electronic mail system for interconnecting computer networks with digital mobile phone network
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
AU2002328708A1 (en) * 2001-12-10 2003-07-09 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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106576084A (zh) * 2014-06-04 2017-04-19 领特贝特林共有限责任两合公司 片上数据分组处理系统
CN106576084B (zh) * 2014-06-04 2020-09-11 英特尔公司 片上数据分组处理系统
CN109076026A (zh) * 2016-05-02 2018-12-21 维萨国际服务协会 用于基于等待时间排队的系统和方法
CN109076026B (zh) * 2016-05-02 2020-05-15 维萨国际服务协会 用于基于等待时间排队的系统和方法
US10659383B2 (en) 2016-05-02 2020-05-19 Visa International Service Association System and method for latency-based queuing

Also Published As

Publication number Publication date
US20080025244A1 (en) 2008-01-31
CA2510498C (en) 2009-08-25
US20110064064A1 (en) 2011-03-17
DE60307320T2 (de) 2006-12-14
HK1083398A1 (en) 2006-06-30
EP1573968B1 (en) 2006-08-02
DE60307320D1 (de) 2006-09-14
EP1573968A1 (en) 2005-09-14
AU2003203102A1 (en) 2004-07-14
US8989200B2 (en) 2015-03-24
WO2004057799A1 (en) 2004-07-08
US8576860B2 (en) 2013-11-05
US7852862B2 (en) 2010-12-14
US20040120293A1 (en) 2004-06-24
CA2510498A1 (en) 2004-07-08
ATE335330T1 (de) 2006-08-15
US20140036896A1 (en) 2014-02-06
US7296067B2 (en) 2007-11-13
CN100477611C (zh) 2009-04-08

Similar Documents

Publication Publication Date Title
US8989200B2 (en) Wireless/LAN router queuing method and system
US20240160584A1 (en) System and method for facilitating dynamic command management in a network interface controller (nic)
US6981032B2 (en) Enhanced multicast-based web server
US7571247B2 (en) Efficient send socket call handling by a transport layer
US5931915A (en) Method for processing early arrival messages within a multinode asynchronous data communications system
US20030158906A1 (en) Selective offloading of protocol processing
CA2507423A1 (en) Method and system for transferring large data files over parallel connections
CN1674485A (zh) 动态提供计算机系统资源的方法和系统
CN100336366C (zh) 移动体ip数据通信系统
US8892745B2 (en) Redirection of a request for information
CN101977358A (zh) 一种数据短信的传输方法、装置及设备
CN104168214A (zh) 一种丢弃分组数据的方法及装置
CN101911612B (zh) 分组丢失得以降低的网络卸载
CN1716917A (zh) 一种通过缓存提高多媒体消息中心业务处理性能的方法
CN100486248C (zh) 一种实时环境下的零拷贝通信方法
CN1893686A (zh) 一种短消息系统中对网元进行重试的方法
US7522590B2 (en) Managing message arrival to ensure proper matching of unordered messages
US20020057687A1 (en) High speed interconnection for embedded systems within a computer network
CN1866926A (zh) 路由器设备和通信系统
US7953876B1 (en) Virtual interface over a transport protocol
CN101248618B (zh) 一种流控制传输协议输出流队列管理和数据发送处理方法
CN1612566A (zh) 网络协议引擎
EP1552647B1 (en) System and method for processing information in a data flow
CN101060487A (zh) 一种数据转发系统和方法
KR100847727B1 (ko) 실시간 패킷 수신을 위한 장치 및 방법

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
CX01 Expiry of patent term

Granted publication date: 20090408