首页> 中国专利> 处理非永久通信链路上的通信的方法

处理非永久通信链路上的通信的方法

摘要

公开了一种处理非永久通信链路上的通信的方法,所述方法包括,中心地从多个应用程序接收要传送的消息;检查非永久通信链路的可用性;如果非永久通信链路不可用,则将接收到的消息进行编队,以便将来的传输;以及如果非永久通信链路可用,则将消息提供给传输/网络层。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-02-08

    授权

    授权

  • 2008-04-30

    实质审查的生效

    实质审查的生效

  • 2007-05-02

    公开

    公开

说明书

技术领域

本申请涉及通信领域。更具体地,本申请涉及一种处理非永久通信链路上的通信的方法。

背景技术

目前,无线数据通信设备由于受到用户的欢迎而广泛使用。

这样的无线数据通信设备通常具有多个应用程序,如,电子收发消息应用程序、互联网浏览器应用程序、即时收发消息(IM)应用程序等。

在使用中,无线数据通信设备可以临时位于无线连接不再可用的区域。因而该无线数据通信设备超出覆盖。

因此,在这样的情况下,从运行在无线通信设备上的应用程序中生成的输出消息(也称为出局消息或要传送的消息)将对于任何服务器来说,变得不可送达。更精确地,对于每条输出消息,传输/网络层单独地向每个应用程序报告消息传输失败。然后,应用程序必须进行相应地编程以处理这样的故障。

本领域普通技术人员将意识到,这样的情况尤其在由多个应用程序传送大量消息时,会产生很大的开销。

本领域普通技术人员还将意识到,频繁的无线通信尝试将显著地减少无线数据通信设备的电池寿命。

存在对克服上述缺陷中的至少一个的方法的需求。

该申请的特征将从查看以下公开、附图和描述中显而易见。

附图说明

为了易于理解该申请,作为附图中的示例来示出实施例。

图1是示出了有利地使用处理非永久通信链路上通信方法的系统的结构框图;

图2是示出了使用根据实施例的通信管理单元,与传输/网络层进行通信的多个通信应用程序的结构框图;

图3是示出了具体是通信管理单元的实施例的结构框图;在该实施例中,通信管理单元包括调度单元、多个队列和编队控制单元;

图4是示出了一种方法的流程图,其中通信应用程序根据实施例进行通信;执行发现通信链路是否可用的检查;

图5是示出了一种方法的流程图,其中在通信链路可用的情况下,将消息提供给用于传输的传输/网络层;

图6是示出了一种方法的流程图,其中,将消息提供给实施例中的队列;根据第一步,选择适合的队列,以及根据第二步,将消息提供给所选择的适合队列;以及

图7是示出了一种方法的流程图,其中,考虑了当执行检查以发现通信链路是否可用时所发生的情况。

具体实施方式

根据第一方案,提供了一种处理非永久通信链路上的通信的方法。该方法包括:中心地从多个应用程序中的至少一个应用程序中接收要传送的消息;检查非永久通信链路的可用性;如果非永久通信链路不可用,则将接收到的消息进行编队以用于将来的传输;以及如果该通信链路可用,则将消息提供给传输/网络层。

根据另一方案,提供了一种通信管理单元,用于在非永久通信链路上处理从多个应用程序至传输/网络层的通信。所述通信管理单元包括:调度单元,用于从多个应用程序中的至少一个应用程序中接收要传送的消息;编队控制单元,用于检查非永久通信链路的可用性;以及队列,用于如果非永久通信链路不可用,则将接收到的消息进行编队,以及用于如果通信链路可用,则将消息提供给传输/网络层。

在以下对实施例的描述中,对附图的参照是作为示例的演示。将理解,可以在不偏离所公开的应用程序的范围的情况下,可以构造其它实施例。

现在参照图1,图1示出了系统的实施例,其中,可以有利地使用以下公开的用于处理非永久通信链路上的通信的方法。

系统包括服务器单元10、网络12、多个传送设备16和多个用户设备18。

服务器单元10适于将要发送的信号在通信链路上提供给多个用户设备18。在该实施例中,通信链路是空中接口,并且未示出。服务器单元10可以包括永久或暂时地与多个用户设备18连接的任何类型的处理单元。

网络12包括局域网(LAN)、城域网(MAN)以及广域网(WAN)中的至少一个。在实施例中,网络12包括的广域网是互联网。

多个传送设备16包括无线发射机,适于将数据传送至多个用户设备18。

多个用户设备18包括适于至少处理数据的设备。在图1示出的一个实施例中,多个用户设备18是无线用户设备。应当理解,可以使用不同类型的设备,如个人数字助理(PDA)、智能电话等。在实施例中,多个用户设备18包括,由Research In Motion Limited制造的Blackberry(TM)设备。

更精确地,服务器单元10适于向网络12提供,尤其是要发送的信号。

多个传送设备16中的至少一个适于将信号传送至多个用户设备18中的至少一个。

现在参照图2,示出了多个应用程序20怎样与传输/网络层24进行通信。应当理解,在这里公开的实施例中,多个应用程序20位于多个用户设备18中的至少一个上(图1)。可选地,多个应用程序可以位于服务器单元10上(图1)。

提供了通信管理单元22,通信管理单元22适于接收至少一个由多个应用程序20提供的要传送的消息。通信管理单元22还适于将要传送的消息提供至传输/网络层24。

在这里的实施例中,通信管理单元22以系统级容器来实现。还将理解,通信管理单元22适于监听与用户设备18的网络覆盖状态相关的事件。这些事件由低级传输层(也称为传输/网络层24)产生。传输/网络层24可以使用轮询解决方案,其中,传输/网络层24周期性地尝试打开至网络的成功连接,以检测无线设备18的状态。然而,传输层设计者可以使用一些其它解决方案来始终如一地更新无线设备18地状态。当通信管理单元22接收来自传输层的事件,指示设备超出覆盖区时,开始将由多个应用程序20中的任何一个提供的消息进行编队,以及不尝试通过传输/网络层24来传输任何消息。将理解并在以下进一步示出,可以根据不同的标准来选择队列。事实上,如实施例中,可以每个目的服务器一个队列(即,标准是目的服务器数)、每应用程序一个队列(即,标准是应用程序数)、单个队列等,依据需求而定。当通信管理单元22接收来自传输层的事件,指示设备在覆盖区内时,继续通过传输/网络层24进行消息的传输。将理解,在一个实施例中,通信管理单元22还熟知多个应用程序可以与之进行通信的不同的服务器。可以在应用程序安装时间,或者,如在实施例中,在包含通信单元的系统与每个服务器之间最初发生握手时,来获得这样的信息。在这样的握手之后,可以安装与该服务器进行通信的应用程序。将理解,必须通知每个服务器,无线设备18回到覆盖区内,然后应当将在服务器上队列的任何消息发送至应用程序,这可以通过将任何类型的消息发送至服务器来实现。所以,如果有至少一个应用程序消息要发送至服务器,则发送应用程序消息。可选地,可以发送特定的“心跳(Heartbeat)”消息。当服务器成功地从之前不可达的无线设备18中接收消息时,服务器重新开始至该设备的消息传输。

在公开的实施例中,多个应用程序20包括第一通信应用程序26、第二通信应用程序28和第三通信应用程序30。

仍在图2中公开的实施例中,第一通信应用程序26提供要传送至通信管理单元22的第一消息,而第二通信应用程序28提供要传送至通信管理单元22的第二消息,以及第三通信应用程序30提供要传送至通信管理单元22的第三消息。

通信管理单元22接收由传输/网络层24提供的状态信号。状态信号表示意在用于传送消息的通信链路的可用性。通信管理单元22提供要发送至用户设备18的传输/网络层24的至少一个消息。

传输/网络层24在通信链路(这里未示出)上传送要发送的消息。

现在参照图3,示出了通信管理单元22的示例。

在图3公开的实施例中,通信管理单元22包括调度单元36、多个队列32、以及编队控制单元44。

调度单元36接收由多个应用程序20提供的要传送的多个消息。

调度单元36适于根据至少一个标准来对多个消息进行分类。在一个实施例中,标准是消息的目的服务器。事实上本领域普通技术人员将理解,第一给定消息会意在递送至第一服务器,而第二给定消息会意在递送至第二给定服务器。

多个队列32中的每个用于存储由多个应用程序20提供的要传送至通信管理单元22的多个消息中的至少一个。

在一个实施例中,多个队列32的队列数取决于以上公开的至少一个标准。

通信管理单元22还包括编队控制单元44。编队控制单元44适于控制多个队列32。在公开的实施例中,编队控制单元44接收由传输/网络层24提供的状态信号,以及将多个相应的启用信号提供给多个队列32中的每个队列。提供给给定队列的启用信号表示可用的通信链路,因而用于清空给定队列。将理解,根据依据队列类型的不同策略,可以将启用信号提供给多个队列32。

多个队列32中的每个队列提供发送至传输/网络层24的相应队列消息。

在图3公开的实施例中,多个队列32包括第一队列38、第二队列40和第三队列42。本领域普通技术人员将理解,在实施例中,不为给定队列设置最大大小。然而,优选地,使用从多个应用程序20的任何一个中发送的未决消息数目来设置限制。仍在本实施例中,对于由给定应用程序运行于其中的系统、或在安装时间由给定应用程序自身规定的给定应用程序,限制低于最大输出未决消息数目。由通信管理单元22来施加该限制。一旦达到限制,则通知给定应用程序。由给定应用程序负责防止用户发送任何其它消息。然后,通信管理单元22在达到限制之后,拒绝来自给定应用程序的所有消息。然后,应用程序必须执行对所拒绝消息的必要处理。当通信链路可用时,图3中公开的编队控制单元44可以将第一启用信号提供给第一队列38,将第二启用信号提供给第二队列40,以及将第三启用信号提供给第三队列42。

响应第一启用信号,第一队列38可以提供发送至传输/网络层24的相应队列消息;而响应第二启用信号,第二队列40可以提供发送至传输/网络层24的相应的队列消息;以及响应第三启用信号,第三队列42可以提供发送至传输/网络层24的相应的队列消息。

现在参照图4,示出了实施例,其中,示出了通信应用程序怎样根据实施例进行通信。

根据步骤50,从通信应用程序中接收传送消息的请求。由通信管理单元22来接收该请求。

在一个实施例中,消息直接提供给通信管理单元22。

根据步骤52,为了发现通信链路是否可用,来执行检查。在实施例中,通过检查属于输出消息队列的状态变量的状态来执行检查。将状态变量设置为“启用”(即,通信链路可用)或者“禁用”(即,通信链路不可用)之一。本领域普通技术人员应当理解,依据由传输/网络层24提供的接收事件来将状态变量设置为“启用”或“禁用”之一。应当理解,由于会有附加原因,甚至在设备在覆盖区内时,不向服务器发送任何消息(例如,远程服务器中断),所以优选地,独立地为每个队列保持状态变量。检查队列状态,以查看是否应当发送新消息或使新消息保持队列。

在通信链路不可用的情况下,根据步骤58,将要传送的消息提供给队列。在实施例中,将消息提供给多个队列32中的队列。

在通信链路可用的情况下,根据步骤54,将消息提供给传输/网络层24(见图2)用于传输。

根据步骤56,由传输/网络层24来传送消息。

参照图5,示出了根据一个实施例,怎样将要传送的消息提供给传输/网络层24(见图2)用于传输。

根据步骤60,将要传送的消息提供给相应的队列。如上所述,依据不同的标准,将要传送的消息提供给相应的队列。在该实施例中,使用调度单元36(见图3),将要传送的消息提供给相应的队列。

根据步骤62,清空相应的队列,以将队列消息提供给传输/网络层24。仍在该实施例中,使用由编队控制单元44(见图3)提供的启用信号,来清空相应的队列。

现在参照图6,示出了在通信链路不可用时,怎样将要传送的消息提供给队列。

根据步骤70,为要传送的消息选择适合队列。依据如上所述的至少一个标准,使用调度单元36(见图3),在多个队列32中选择适合队列。

根据步骤72,将要传送的消息提供给所选择的适合队列。

现在参照图7,示出了在通信链路变得可用时发生的情况。

根据步骤80,在传输/网络层24(见图2)处执行状态检查。

根据步骤82,为了发现通信链路现在是否可用,执行检查。

在通信链路可用的情况下,以及根据步骤84,将启用信号提供给多个队列32。

根据步骤86,将指示提供给远程单元。事实上,指示用于向远程单元通知,该远程单元通过通信链路与哪个用户设备18连接,使得用户设备18可以在远程单元上重新注册。

根据步骤88,清空多个队列32。

本领域普通技术人员将理解,没有通信管理单元22,多个应用程序20中的每个将必须独立地监听和处理覆盖区事件。此外,本领域普通技术人员还将理解,必须处理其它不同类型的事件。例如,当用户关闭或打开无线电/无线覆盖区时产生的“无线电开/关”事件。本领域普通技术人员将理解,通信管理单元22能够处理与网络覆盖相关的所有事件,以及将这些事件解译为是否能够发送消息。

尽管以上描述与发明人当前预计的特定实施例相关,但是将理解,在广义范围内的申请包括这里描述元件的机械和功能的等同物。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号