选择用于发送帧的网关的方法与流程

文档序号:18400291发布日期:2019-08-09 23:48阅读:221来源:国知局
选择用于发送帧的网关的方法与流程

本发明涉及电信的一般领域。本发明更具体地涉及用于通信对象(机器与机器-m2m)的无线通信领域,更具体地,涉及被称为“远程广域网-lorawan”的通信网络领域。



背景技术:

远程广域网允许通信对象的连接,并遵循不同于诸如gsm(全球移动系统)网络或umts(全球移动电信系统)网络之类的传统通信网络的约束。特别是,这种类型的网络经常使用被称为ism(工业、科学和医学)频带的频带。这些频带由多个网络运营商共享,且因此无论是在所谓的上行链路方向(从终端电子设备到网络核心)还是在所谓的下行链路方向(从网络核心到终端电子设备)上,都有必要将可用无线电资源的消耗降低到最小。

图1示出了使连接对象101能够与中央服务器110通信的通信网络的传统架构。以下描述强调了loratm标准(lora联盟发布的标准),但其他通信技术也是可能的。连接对象或终端101通常是包括无线电发射器的电子设备。无线电发射器适于通过包括在预定频带(例如ism频带)中的多个载波频率中的一个载波频率发送和接收帧或消息。当无线电发射器发送帧时,帧可以被无线电接收器或网关120、12p、…、12n(n大于0,且p在0和n之间)中的一个或多个接收。连接对象101可能是移动的,这不同于放置在固定点的网关120、12p、…、12n,连接对象101发送的帧可以由一个或多个网关120、12p、…、12n接收。每个网关120、12p、…、12n可能通过不同的网络和技术连接到被称为lns(lora网络服务器)的中央服务器110。每个网关120、12p、…、12n从连接对象101接收帧,然后将该帧发送到中央服务器110。如果连接对象101发送的帧被m个网关120、12p、…、12n接收,则中央服务器接收由m个网关重发的该同一帧的m个示例或副本(除非网关和中央服务器110之间存在导致帧丢失的通信问题)。应当注意,每个网关120、12p、…、12n通过可能不同的通信网络连接到中央服务器110。因此,如图1所示,网关120、12p、…、12n可能使用不同的技术通过网络131和网络130连接到中央服务器110。每个通信网络,例如通信网络130和131,允许网关120、12p、…、12n连接到中央服务器110,其可能因此导致帧传输的不同延迟(或时延),该传输延迟可能与通信网络使用的技术有关,但也可能与所述通信网络上的拥塞有关。传输延迟通常约为10或100毫秒,但在某些情况下可能高达几秒钟。

当中央服务器110从连接对象101接收到帧时,loratm标准定义了响应延迟(以下称为“rxdelay”),使得中央服务器110可以通过发送帧来响应连接对象101。实际上,为了降低能量消耗,在发送帧之后,连接对象101可以处于待机状态,并且仅在响应延迟到期之后才开始监听任何响应,并且这持续给定的时间长度。可能地,该标准甚至可以定义多个可能的响应延迟(例如,对于loratm标准,是“rx1延迟”和“rx2延迟”),连接对象在每个延迟到期时监听可能的响应达给定时间长度。响应延迟的长度由通信网络的运营商参数化。通常,响应延迟的长度约为一秒或几秒。

发送的每个帧包括计数器(“帧计数器”,以下称为“fcntup”),计数器的值在连接对象101每次发送新帧时递增。在对先前发送的帧没有响应的情况下,连接对象101可以重发所述帧。根据loratm标准,重发帧的计数器“fcntup”的值与先前发送的帧的计数器值相同。换句话说,一个帧和相应的重发帧具有相同的“fcntup”计数器值。

当连接对象101连接到多于一个网关120、12p、…、12n时,中央服务器110则可以潜在地接收由多个网关120、12p、…、12n重发的多个帧,这些帧都包括具有相同值的计数器:每个帧可以对应于由连接对象101发送的通过不同网关120、12p、…、12n的帧示例,或者对应于帧的可能的重发。应当注意,如果重发帧通过多个网关120、12p、…、12n,则该重发帧自身可能以多个示例被中央服务器110接收。

当中央服务器110例如响应于由连接对象发送的帧而需要向连接对象101发送帧时,中央服务器110必须在网关120、12p、…、12n之中选择网关,使得所选择的该网关将由中央服务器110发送的帧发送到连接对象。通常,中央服务器110仅通过单个网关(上行链路方向)接收由连接对象发送的帧。因此,中央服务器110选择同一个网关向连接对象发送帧(下行链路方向)。当中央服务器110通过不同的网关接收到由连接对象101发送的同一帧的几个示例或副本时,在这些不同的可用网关中选择一个网关并不是显而易见的。在第一种方法中,中央服务器110选择发送了所接收到的帧的所有网关。这种方法远不是最佳的,因为它不必要地接入多个网关,并且连接对象101会接收同一帧的多个示例。在第二种方法中,中央服务器110选择发送了由中央服务器110首先接收到的帧的网关。然而,由于这种方法倾向于选择通过提供低时延的网络130或131连接到中央服务器110的网关,从而允许在这些网关和中央服务器110之间快速发送帧,该方法并非是最佳的。其结果,这些网关经常被选择,且可能会拥塞,而其他网关压力较小。

还应当注意,除了图1所示的通信网络使用的频带通常由多个网络运营商共享并且因此必须被保留的事实之外,每个网关必须遵循这些频带的使用限制。事实上,为了限制网关对带宽的使用,经常建立所谓的占空比机制。该占空比机制定义了针对频带中包含的载波频率的发送时间与给定周期的最大比率。该比率可以针对每组载波频率或子带定义。

还应当注意,诸如loratm标准的标准对响应于由连接对象101发送的帧而被选择发送帧的网关将使用的载波频率的选择施加了限制。因此,当连接对象101发送帧时,它等待第一响应窗口中的响应或者第二响应窗口中的响应。第一响应窗口例如由等待延迟“rxdelay1”定义,且第二响应窗口由等待延迟“rxdelay2”定义。在第一响应窗口中作为响应发送的帧必须在与连接对象发送的帧相同的载波频率上发送。在第二响应窗口中作为响应发送的帧必须在预定的载波频率上发送。

因此,有必要提出一种方法,使得中央服务器110能够在多个可能的网关中选择网关120、12p、…、12n,用于向连接对象发送帧,该网关遵循所施加的各种无线电约束。



技术实现要素:

本发明涉及一种用于通信系统的方法,该通信系统包括电子设备和多个网关,该电子设备和每个网关适于在射频带上发送和接收帧,每个网关连接到相同的中央服务器,第一帧由电子设备发送到中央服务器,该帧包括电子设备的标识符,每个网关接收所述帧并将接收到的帧与网关的标识符相关联地发动到中央服务器,预定义用于响应第一帧的响应延迟,该方法使得中央服务器能够在多个网关中选择网关,以用于响应第一帧而向电子设备发送第二帧,该方法由中央服务器执行,并且包括以下步骤:

-从第一个网关接收第一帧;

-确定待作为响应发送的第二帧的发送时刻和持续时间,

-创建与电子设备的标识符相关联的列表,该列表包括第一网关的标识符,

-触发等待延迟,在等待延迟期间,如果中央服务器从另一网关接收到由电子设备发送的另一帧,则:

-将发送了该帧的另一网关的标识符添加到列表中,

-在等待延迟到期时,选择标识符包含在列表中的至少一个网关,对于该网关:

-查找用于由所述网关发送帧的计划数据,以及

-检查是否满足根据第二帧的发送时刻和持续时间以及根据用于网关发送帧的计划数据的选择标准,

如果满足选择标准,则选择所述网关以用于响应第一帧而向电子设备发送第二帧。

有利地,该方法使得接收由电子设备发送的同一帧的多个示例的中央服务器,例如lns服务器,能够选择用于发送响应帧作为回复的网关。实际上,由于电子设备发送的帧的每个示例都经过了不同的网关,所以中央服务器可能会通过所有这些网关做出响应。该方法有利地允许选择单个网关以用于发送响应帧,这通过避免经由所有可用的网关发送所述响应帧来减少带宽消耗。该方法还确保所选择的网关能够接收响应帧,并及时(即在响应延迟内)将其重发到电子设备。该方法还确保选择如下一种网关,该网关的用于发送帧的计划数据与该网关的用于发送响应帧的计划兼容。

根据本发明的补充实施例,在将网关的标识符添加到列表中的步骤期间,每个网关与网关的标识符和关于帧的接收功率的指示相关联地发送接收帧,与网关的标识符相关联地添加关于接收功率的指示,并且在选择列表中的网关的步骤期间,该选择取决于与每个标识符相关联的接收功率。

有利地,该方法使得能够选择如下一种网关,该网关与电子设备的连接水平能够保证响应帧的良好发送。

根据本发明的补充实施例,如果在等待延迟期间,中央服务器接收到接收功率低于预定值的帧,则在该方法的剩余部分忽略该帧。

有利地,与电子设备的连接水平质量差的网关从选择过程中排除。这能保证只有连接水平质量高的网关能够被选择。

根据本发明的补充实施例,每个网关的帧发送计划数据包括被称为占空比的参数,所述参数是所述网关发送帧所花费的时间与给定周期的最大比率,列表中的每个网关被连续选择以检查选择标准,选择网关的步骤包括:确定在网关发送第二帧的时刻的占空比的值的步骤,并且该选择取决于所确定的占空比的值。

有利的是,该方法考虑了每个网关的占空比一致性约束。

本发明还涉及一种用于通信系统的中央服务器,该通信系统包括电子设备和多个网关,该电子设备和每个网关适于在射频带上发送和接收帧,每个网关连接到中央服务器,第一帧由电子设备发送到中央服务器,该帧包括电子设备的标识符,每个网关接收所述帧并将接收到的帧与网关的标识符相关联地发送到中央服务器,预定义用于响应第一帧的响应延迟,中央服务器为了在多个网关中选择网关以用于响应第一帧而向电子设备发送第二帧,适于:

-从第一网关接收第一帧,

-确定待作为响应发送的第二帧的发送时刻和持续时间,

-创建与电子设备的标识符相关联的列表,该列表包括第一网关的标识符,

-触发等待延迟,在等待延迟期间,如果中央服务器从另一网关接收到电子设备发送的另一帧,则:

-将发送了该帧的另一网关的标识符添加到列表中,

-在等待延迟到期时,选择标识符包含在列表中的至少一个网关,对于该网关:

-查找用于由所述网关发送帧的计划数据,以及

-检查是否满足根据第二帧的发送时刻和持续时间以及根据用于网关发送帧的计划数据的选择标准,

如果满足选择标准,则选择所述网关,以用于响应第一帧而向电子设备发送第二帧。

本发明还涉及一种包括电子设备和多个网关的通信系统,该电子设备和每个网关适于在射频带上发送和接收帧,每个网关连接到相同的中央服务器,第一帧由电子设备发送到中央服务器,该帧包括电子设备的标识符,每个网关接收所述帧并将接收到的帧与网关的标识符相关联地发送到中央服务器,预定义用于响应第一帧的响应延迟,中央服务器为了在多个网关中选择网关以用于响应第一帧而向电子设备发送第二帧,适于:

-从第一网关接收第一帧,

-确定待作为响应发送的第二帧的发送时刻和持续时间,

-创建与电子设备的标识符相关联的列表,该列表包括第一网关的标识符,

-触发等待延迟,在等待延迟期间,如果中央服务器从另一网关接收到电子设备发送的另一帧,则:

-将发送了该帧的另一网关的标识符添加到列表中,

-在等待延迟到期时,选择标识符包含在列表中的至少一个网关,对于该网关:

-查找用于由所述网关发送帧的计划数据,以及

-检查是否满足根据第二帧的发送时刻和持续时间以及根据用于网关发送帧的计划数据的选择标准,

如果满足选择标准,则选择所述网关,以用于响应第一帧而向电子设备发送第二帧。

本发明还涉及一种可以存储在介质上和/或从通信网络下载以便由处理器读取的计算机程序。该计算机程序包括在所述程序由处理器执行时用于实施上述方法的所有或一些步骤的指令。

本发明还涉及一种包括这种计算机程序的信息存储介质。

附图说明

通过阅读以下结合附图给出的对示例性实施例的描述,上文中提到的本发明的特征以及其他特征将会更加清楚,其中:

-图1示意性地示出了通常根据loratm标准的被称为“远程广域网”的通信网络的传统架构;

-图2、图3和图4示意性地示出了根据本发明第一实施例的、由被称为“远程广域网”的通信网络的中央服务器在多个网关中选择网关以用于响应电子设备发送的帧而向该电子设备发送帧的方法;

-图5示意性地示出了根据本发明第一实施例的用于更新被称为“远程广域网”的通信网络中包括的网关发送帧的计划数据的方法;

-图6示意性地示出了根据本发明第一实施例的用于检查待发送的帧是否可以插入到要从网关发送的帧的计划中的方法;

-图7示意性地示出了根据本发明第一实施例的用于检查网关发送帧的计划的占空比的符合性的方法;

-图8示意性地示出了根据本发明实施例的服务器的硬件架构,该服务器适于实施用于在多个网关中选择网关以用于向被称为“远程广域网”的通信网络的电子设备发送帧的方法;

-图9示意性地示出了根据本发明第二实施例的用于更新被称为“远程广域网”的通信网络中包括的网关的发送帧的计划数据的方法;

-图10示意性地示出了根据本发明第二实施例的用于检查待发送的帧是否可以插入到要从网关发送的计划帧中的方法。

具体实施方式

下面描述的本发明的第一实施例对应于这样一个实施例,其中每个网关一次只能发送一个帧,而与可用频率或频率子带的数量无关。换句话说,从计划在频率子带中所包括的第一频率上发送帧的时刻起,网关不能在另一频率上同时发送另一帧,无论该另一频率是否属于相同的频率子带。因此,两个帧不可能重叠(甚至部分重叠),这与每个帧的发送频率无关。因此,该第一实施例适用于便宜的网关。图2、图3、图4、图5、图6和图7的描述对应于本发明的该第一实施例。

在本发明的第二实施例中,每个网关能够同时发送至少两个消息,每个消息在不同的频率上发送。每个网关可以在至少两个不同的频率上同时发送至少两个消息,所述至少两个频率可能位于同一个频率子带中。图9和图10的描述对应于本发明的第二实施例。

图2、图3和图4示意性地示出了根据本发明第一实施例的方法200,该方法200用于由所谓远程广域网100的中央服务器110在多个网关120、12p、…、12n中选择网关,以用于响应由电子设备101发送的帧而向该电子设备101发送帧。该方法的全部或部分由中央服务器110执行。

步骤201对应于中央服务器110的初始化,例如在其通电之后。在该步骤201期间,中央服务器110适于将用于执行方法200的指令加载到存储器中。在步骤201期间,可以与网关120、12p、…、12n建立连接。中央服务器110可以包括时间同步功能,使得网关120、12p、…、12n中的网关能够在时间上自身同步。中央服务器110可以包括时间同步中继功能。典型地,中央服务器110是ntp(网络时间协议)中继器或服务器,其使得连接到中央服务器110的网关120、12p、…、12n能够受益于与中央服务器110的时间同步。中央服务器110自身可以与ntp服务器(未示出)同步。根据补充实施例,网关120、12p、…、12n自身在时间上与ntp服务器同步,该ntp服务器可能与中央服务器110用来同步自身的服务器相同。根据补充实施例,网关120、12p、…、12n和/或中央服务器110通过gps(全球定位系统)或glonass技术在时间上同步自身。

在接下来的步骤202中,中央服务器110等待第一帧的接收。第一帧对应于由电子设备101发送、由网关120、12p、…、12n中的第一网关接收并由所述第一网关经由中央服务器110重发的第一帧。由电子设备101发送的帧包括与电子设备101相关联的标识符,该标识符使得中央服务器110能够确定帧的来源。每个网关在重发帧时,除了重发的帧之外,还会添加网关的标识符。因此,中央服务器110可以确定哪个网关是帧重发的起点。由电子设备101发送的帧可以包括对应于帧的优先级和/或所期望的响应的优先级的数据。每个网关在重发帧时,除了重发的帧之外,还添加对应于网关发送帧的结束时间的时间戳。通过忽略电子设备101和接收帧的每个网关之间的帧发送时间,网关接收该帧的结束时间被认为是电子设备101发送该帧的结束时间(称为“teum”)的优异近似值。在下文中考虑的是,将电子设备101发送帧的结束时间“teum”取为等于所选网关接收帧的结束时间。换句话说,如下所述,当中央服务器110执行用于确定给定网关是否能够发送帧的方法时,发送帧的结束时间“teum”被选择为等于所述网关接收帧的结束时间。因此,网关的该接收结束时间在下文中表示为“teum”。该时间戳(teum)对应于网关接收帧的结束时间。每个网关在重发帧时,添加对于重发帧的接收功率的指示,以下称为rssi(接收强度信号指示符)。rssi可以对应于由网关接收的信号功率的测量值。rssi可以对应于由网关接收的信号功率的测量值(以dbm为单位)和信噪比(以db(分贝)为单位)的总和。接收帧的信噪比由接收该帧的网关确定。单位dbm(或分贝毫瓦)对应于所测得的接收功率和1毫瓦(1mw)参考功率之间的以分贝(db)为单位的功率比。

可以预先定义响应延迟,该响应延迟定义了电子设备发送帧的结束和电子设备101监听任何响应的窗口的开始之间的延迟。该响应延迟通常是由通信网络100的运营商配置的参数。可以定义两个或更多个响应延迟,例如“rxdelay1”和“rxdelay2”,每个响应延迟对应于在电子设备101上的预定周期内的接收窗口的开放。根据本发明的一个实施例,响应延迟是预定义的,并且为中央服务器110所知。根据本发明的替代实施例,关于响应延迟的信息包括在电子设备101发送的帧中。当中央服务器110接收第一帧时,中央服务器110确定中央服务器110接收到第一帧的时间的时间戳,例如通过获取第一帧的接收结束时间。由中央服务器110给第一帧的接收时间加时间戳,或者更准确地说是给第一帧的第一接收副本加时间戳,在下文中被表示为“trfcu”。

在接下来的步骤203中,中央服务器110从接收到的第一帧中提取数据。中央服务器110因此确定是否必须对接收到的第一帧做出响应以及所述响应的优先级。在所描述的本示例中,考虑了两个优先级:“优先”或“非优先”。根据另一个实施例,可以定义多个优先级。相反,根据替代实施例,所有帧都用相同的优先级处理,例如对应于下文所述的“优先”级或“非优先”级。中央服务器110还确定预期响应的持续时间“d”,即待响应于第一帧而发送的第二帧的持续时间。为了确定待作为响应发送的第二帧的持续时间,中央服务器110可以单独确定响应或者有必要连接到另一个服务器,以便例如查找所请求的信息或者由专用于该任务的服务器执行计算操作。

在电子设备101预期响应的情况下,在步骤204中,中央服务器110确定预期响应是否被认为是优先。

在第二帧是非优先的情况下,中央服务器110转到步骤205。在第二帧是优先的情况下,中央服务器110转到步骤206。

在步骤205中,中央服务器110将接收帧的rssi与预定阈值进行比较。如果rssi低于阈值,则忽略该帧。因此,在rssi高于预定阈值的情况下,中央服务器110转到步骤206。在rssi低于预定阈值的情况下,中央服务器110转到步骤207。换句话说,在非优先响应的情况下,不考虑接收到的具有低rssi的第一帧,即接收到具有过低rssi(即低于预定阈值)的第一帧的网关于是不能被选择用于发送响应。

在步骤206中,中央服务器110在存储器中与电子设备101的标识符相关联地记录重发了第一帧的网关的标识符。换句话说,中央服务器110创建或完成与电子设备101相关联的列表,该列表包括重发了第一帧的网关的标识符。该列表可以与每个网关的标识符相关联地包括对应于网关接收的第一帧的rssi。中央服务器110可以并行管理多个列表,每个列表对应于不同的电子设备。当重复步骤206时,中央服务器110可以用对应于向中央服务器110重发了第一帧的网关的标识符来完成电子设备101的列表。可能地,当列表被中央服务器110更新时,中央服务器110可以根据预定标准对列表进行排序。可能地,构成列表的元素根据递减的rssi标准排序。列表的第一元素则对应于接收到具有最高rssi的第一帧的网关。因此,列表的第一元素先验地对应于与电子设备101具有最佳通信质量的网关。

在接下来的步骤207中,中央服务器110确定从步骤202期间接收第一帧的时间起经过的时间,以及中央服务器110的当前或目前时间。如果该经过时间大于被称为“lns时间”的预定延迟,则中央服务器110转到步骤209。否则,中央服务器110转到步骤208。

在步骤208期间,中央服务器110等待接收由电子设备101发送并由另一网关重发的第一帧的副本。根据替代实施例,中央服务器110等待电子设备101发送的任何帧,该帧不一定是第一帧。如果接收到新帧,则中央服务器110在步骤204重新开始该方法,即在优先帧的情况下在步骤206,在非优先帧的情况下在步骤205重新开始该方法。否则,在步骤207期间,中央服务器110检查“lns时间”延迟尚未过期。因此,通过重复步骤208、204以及可选的205、206和207,中央服务器110形成与电子设备的标识符相关联的列表,该列表包括重发了第一帧或第一帧的副本的各种网关。这些网关构成用于选择网关以响应第一帧而发送第二帧的候选网关。

应当注意,在非优先帧的情况下,在“lns时间”延迟到期之后,列表可能为空。在这种情况下,不会对第一帧做出响应。这是在第一帧的所有示例都是以过低的rssi(即低于预定阈值)被接收时的情况。实际上,为了保留带宽,可以考虑的是,对于非优先帧,如果没有网关接收到具有充分的rssi的第一帧,则没有必要响应于电子设备101而发送帧,无论选择什么网关,作为响应发送的帧都几乎不可能被正确接收。

在优先帧的情况下,列表总是至少包括在步骤202期间重发了第一帧的网关,如果在步骤208期间已经接收到第一帧的其他副本,则可选地还包括其他网关。

在非优先帧的情况下,列表可以包括在步骤202期间重发了第一帧的网关,并且如果在步骤208期间已经接收到第一帧的其他副本,则可选地包括其他网关,只有那些rssi高于预定阈值的副本被保留在列表中。

在“lns时间”延迟到期之后,中央服务器110转到步骤209。

在步骤209中,中央服务器110确定待响应于第一帧发送的第二帧是否为优先。如果是,中央服务器110转到步骤301,其余步骤在图3中描述。如果不是,中央服务器110转到步骤401,其余步骤在图4中描述。

在这两种情况下,中央服务器110都可以对于每个网关120、12p、…、12n访问用于计划网关发送帧的数据。这些数据例如被记录在中央服务器110的存储器中。可能地,这些数据被记录在每个网关120、12p、…、12n上,中央服务器110能够在每个网关120、12p、…、12n上查找到这些数据。这些用于计划网关“p”发送帧的数据可以对应于列表“listtrx”和列表“listd”,每个列表与所述网关相关联。中央服务器110为每个网关120、12p、…、12n保存一个列表(或矩阵)“listtrx”和相应的列表(或矩阵)“listd”。列表“listtrx”对应于用于网关发送的计划帧的发送时间列表,并且列表“listd”针对列表“listtrx”中的每个计划帧包括所述帧的发送时间。换句话说,对于每个网关120、12p、…、12n,中央服务器110保持两个列表是最新的。第一列表“listtrx”包括网关必须发送的帧的发送时间,且第二列表“listd”包括所述帧的发送时间。因此,对于每个网关120、12p、…、12n,中央服务器110保持待发送的帧的计划是最新的。因此,对于给定的网关,“listtrx(j,k)”对应于待由所述网关在频率子带“k”上发送的“第j”帧的发送时间,“listd(j,k)”对应于针对频率子带“k”的所述“第j”帧的持续时间。中央服务器110记录与网关120、12p、…、12n的数量相同数量的成对列表“listtrx”和“listd”,即这里的“n”对列表“listtrx”和“listd”。每对列表对应于给定网关的发送帧的计划数据。同样,包括所有在频率子带“k”上发送计划帧的时间的列表(或向量)被表示为“listtrx(k)”。另外,在频率子带“k”上计划的所有帧的发送持续时间的列表(或向量)被表示为“listd(k)”。

在待响应于第一帧而发送的第二帧是优先帧的情况下,中央服务器110执行图3所示的方法200的步骤301至310或320。如下所述,这些不同的步骤使得选择标识符包括在列表中的至少一个网关成为可能,并且对于该网关:

-查找由所述网关发送帧的计划数据,

-检查是否满足取决于第二帧的发送时刻和持续时间以及用于网关发送帧的计划数据的选择标准,以及

如果满足选择标准,则中央服务器110选择所述网关,以用于响应第一帧而向电子设备发送第二帧。

因此,在步骤301中,中央服务器110将计数器“i”初始化为值1。

在接下来的步骤302中,中央服务器110在步骤206制定的列表中选择网关“i”。换句话说,在第一重复中,“i”等于“1”,中央服务器110选择列表中的第一网关。如前所述,这个第一网关可能是具有最高rssi的网关。中央服务器110针对网关“i”查找用于由网关“i”发送帧的计划数据。这些帧发送计划数据对应于例如网关“i”的成对列表“listtrx”和“listd”。

在接下来的步骤303中,中央服务器110确定是否还有足够的时间将待发送的第二帧发送到网关“i”以进行发送。为此,中央服务器110确定以下总和“s”:

s=trfcu+lns时间+方法时间+发送时间,

其中:

“trfcu”:与中央服务器110给第一帧的接收时间或者更准确地说给第一帧的第一接收副本加的时间戳对应的参数,

“lns时间”:与等待接收第一帧的任何副本的预定延迟对应的参数;对应于步骤207的测试,

“方法时间”:与预定延迟对应的参数。该预定延迟对应于方法200的执行时间的估计值(该估计值可能会增加),“lns时间”延迟从上述估计值被减去(以便不进行两次计数)。换句话说,这是“lns时间”延迟到期之后,选择网关的方法的估计时间,

“发送时间”:与由中央服务器110发送到网关“i”的帧的发送时间对应的参数。

在步骤202期间确定“trfcu”时间戳。“lns时间”是预定义的。“方法时间”是到达步骤209后,执行选择网关的方法所需的时间的估计。“发送时间”对应于第二帧从中央服务器110发送到网关“i”所需的时间。换句话说,“发送时间”对应于第二帧从中央服务器110行进到网关“i”的持续时间。根据该实施例,参数“发送时间”可以对应于中央服务器110和网关“i”之间的行进时间的平均值。当中央服务器110发送帧时,可以使用网关“i”发送的确认帧的时间戳来确定该平均值。中央服务器110然后可以通过获取发送帧的时间的时间戳和在确认中接收的帧的时间戳之间的差值来确定往返时间。中央服务器110可以确定行进时间的加权或指数移动平均值,以便最终确定每个网关“i”的“发送时间”。可以使用默认值。

总和“s”对应于网关“i”发送第二帧的可能的最近时刻的估计值。因此,有必要确保这个最近的发送时刻确实在电子设备101的接收窗口被开放之前。一旦确定了这些参数的总和“s”,中央服务器110则将该总和“s”与电子设备101的接收窗口被开放时间的时间戳进行比较,该时间戳在下文中称为“trx”,其估计值由下式给出:

trx=teum+rxdelay,其中:

-“teum”:网关“i”接收帧的结束时间,这在该方法中用作电子设备101发送第一帧的结束时间的估计。实际上,电子设备101发送第一帧的结束时间不是直接已知的。

-“rxdelay”:响应时间,如前所述。

根据本发明的补充实施例,方法200可以使用响应时间“rxdelay1”和“rxdelay2”的几个值。因此,方法200必须在响应时间的值等于“rxdelay1”(“rxdelay1”的值小于“rxdelay2”的值)的情况下第一次执行,然后,如果不能选择网关(即步骤320或420),则方法200必须从步骤209开始继续,其中响应时间的值等于“rxdelay2”而不是“rxdelay1”。因此,可以使用响应时间的几个值,如果对于给定的响应时间值不能选择网关,则该方法在步骤209以新的响应时间继续。

如果总和“s”小于“trx”,这意味着第二帧确实可以被发送到网关“i”,以按时发送,使得网关可以在电子设备101的接收窗口开放时发送第二帧。

如果总和“s”大于“trx”,这意味着第二帧不能被发送到网关“i”,以便该帧能够在电子设备101的接收窗口开放时准时发送。换句话说,网关“i”还不能在电子设备101的接收窗口中发送第二帧,此时中央服务器110不能按时发送它。

应当注意,预定义并选择与接收第一帧的任何副本的预定义等待时间对应的“lns时间”的值,使得平均长度的“发送时间”可以允许及时向网关发送第二帧。

因此,步骤303使得在假设在方法200结束时选择网关“i”的情况下有可能检查中央服务器110是否确实能够及时将第二帧发送到所述网关“i”,以便网关“i”能够在电子设备101的接收窗口期间发送第二帧。

如果不是这种情况,这意味着不能选择网关“i”,并且中央服务器110转到步骤306。如果是这种情况,中央服务器110转到步骤304,以便检查选择网关“i”的另一个条件。

在以下将在图6中详细描述的步骤304中,中央服务器110确定网关“i”是否能够在电子设备101的接收窗口期间发送第二帧。在该步骤304中,中央服务器110检查网关“i”已经计划在任何频率上发送的其他帧没有与第二帧发生冲突或重叠。换句话说,中央服务器110检查是否有可能在帧计划数据中插入第二帧,而不会导致两个帧之间的冲突。冲突意味着:在给定时间需要通过同一网关发送两个不同的帧,而这是所述网关无法管理的。

如果第二帧没有与网关“i”先前计划发送的帧发生冲突,则中央服务器110转到步骤305。在相反的情况下,这意味着网关“i”不能被选择,并且中央服务器110转到步骤306。

在步骤305中,中央服务器110确定由网关“i”发送第二帧的计划是否使得所述网关能够遵守可能对用于发送第二帧的发送频率施加的任何占空比。换句话说,在该步骤305期间,中央服务器110检查网关在占空比方面是否有足够的时间来发送持续时间为“d”的第二帧。这个步骤305下面将在图7中更详细地描述。如果中央服务器110确定发送第二帧的计划对于网关“i”是否符合占空比无异议,则中央服务器110转到步骤310。否则,这意味着网关“i”不能被选择,并且中央服务器110转到步骤306。

在步骤310期间,中央服务器110响应于电子设备101发送的第一帧,选择网关“i”来发送第二帧。更新网关“i”的帧发送计划数据,以便包括与第二帧相关的数据,即:

-将第二帧插入列表“listtrx”和“listd”中对应于计划发送时间的位置“j”(即在先前计划的帧和随后计划的帧之间,如果存在这样的帧的话),

-“listtrx(j,k)”具有值“trx”(即“teum+rxdelay”),其中“j”对应于帧的位置,该位置取决于计划发送时间,而“k”对应于包括帧发送频率的频率子带,

-“listd(j,k)”具有值“d”,其中“j”对应于帧的位置,该位置取决于计划发送时间,而“k”对应于包括帧发送频率的频率子带。

方法200在步骤310之后结束。当从电子设备101接收到新的第一帧时,再次执行方法200。如果中央服务器110从另一个电子设备接收到第一帧,则可以由中央服务器110执行方法200的另一个实例。然后有必要并行选择另一个网关,可能是相同的网关,以便可能向另一个电子设备发送响应。

在中央服务器110不满足步骤303、304和305期间满足的约束之一的情况下,中央服务器110转到步骤306。步骤306对应于值“i”的增加,即在步骤206期间建立的列表中选择后面的网关。步骤307对应于检查列表中确实存留要检查的网关(步骤303、304和305)。如果列表中的所有网关已经被中央服务器110检查过,即如果“i”大于列表中的元素数量,则中央服务器110转到步骤320。否则,中央服务器110在步骤302对于列表中的后面的网关继续执行方法200,以便检查该网关是否满足步骤303、304和305期间满足的约束。应当注意,如果网关满足约束,并非所有网关都必须被检查(即,中央服务器110不执行步骤303至305)。因此,该方法允许快速选择网关。

步骤320对应于方法200的结束,即没有选择网关。中央服务器110则不能发送第二帧。中央服务器110可能在日志中记录网关选择的失败。可能会向服务器发送错误消息。

因此,在步骤206期间建立的网关列表按照相关联的rssi的降序排序的情况下,图3中详细描述的方法使得选择满足发送约束并且具有用于发送第二帧的最佳rssi的网关成为可能。中央服务器110使用该方法来选择用于发送优先帧的网关。

图4详细描述了当待发送的帧是非优先帧时,方法200中在步骤209之后的剩余部分。图4中详细描述的用于非优先帧的情况的方法与图3中详述的方法存在区别,图3的方法是针对优先帧的情况,检查列表中包括的所有网关,并且最终选择的网关是满足发送约束并且在占空比方面具有最大信用的网关,即在发送时刻占空比的值最高的网关。还应当注意,在非优先帧的情况下,在步骤206期间建立的列表不包括rssi低于预定值的网关(步骤205)。

在步骤401中,在步骤209之后,在非优先帧的情况下,与待发送的第二帧的持续时间对应地,中央服务器110定义通过值“1”被初始化的变量“i”和通过值“d”被初始化的变量“maxc”。中央服务器110接着转到步骤402。

在步骤402中,中央服务器110查找用于网关“i”的帧发送计划数据。中央服务器110接着转到步骤403。

步骤403类似于步骤303。在该步骤期间,中央服务器110确定中央服务器110是否能够及时向网关“i”发送第二帧。步骤303的描述在细节上加以修改即可适用。如果中央服务器110能够及时向网关“i”发送第二帧,则中央服务器110转到步骤404。否则,中央服务器110转到步骤407。

步骤404类似于步骤304,并在图6中更详细地描述。在该步骤期间,中央服务器110确定中央服务器110是否能够计划由网关“i”发送第二帧,而不会导致与先前计划的帧发生任何帧发送冲突。如果是这种情况,中央服务器110转到步骤405。否则,中央服务器110转到步骤407。

步骤405类似于步骤305,并且在图7中更详细地描述,除了作为最后步骤由中央服务器110执行的测试。在该步骤期间,中央服务器110确定网关是否能够在符合任何占空比的情况下发送第二帧。然而,为了最终在步骤402至409结束时选择具有最大可能占空比信用的网关“i”,中央服务器110在步骤405结束时将“maxc”的值与网关“i”的占空比进行比较。因此,在步骤406期间,只有当网关“i”的占空比信用高于作为待选择的候选的前一网关的占空比信用时,该网关“i”才成为方法200所选择的网关的可能候选,所述信用存储在变量“maxc”中。先前被选择的候选网关是其标识符存储在变量“bestgwt”中的网关。如果网关“i”的占空比信用(“c(j,trx)”,其中“j”对应于包括将发送第二帧的频率的频率子带,如下所述)高于作为选择候选的前一网关的占空比信用,即“maxc”,则中央服务器110转到步骤406。否则,中央服务器110转到步骤407。

在步骤407中,变量“i”递增(“i=i+1”)。中央服务器110接着转到步骤408,以检查“i”的值没有超过列表中包括的元素的数量。如果“i”对应于列表中的网关,则中央服务器110在步骤402用变量“i”的新值继续执行该方法。换句话说,对于列表中的下一个网关,重复步骤403至405或406。如果该值超过列表中元素的数量,这表明列表中的所有网关都已通过步骤402至405或406。中央服务器110然后转到步骤409。

在步骤406中,中央服务器110在存储器中保存网关“i”,该网关是成为所选网关的候选。换句话说,中央服务器110将网关“i”的标识符保存在存储器中的变量“bestgwt”中。在同一步骤中,中央服务器110在第二帧的计划发送时间“trx”用在步骤405中针对载波频率“j”(或在载波频率被分组成子带的情况为子带)对网关“i”计算的占空比的值更新变量“maxc”。换句话说,“maxc=c(j,trx)”,其中:

“c”是给定网关“i”的占空比函数,

“j”是所关注的子带,子带“j”包括第二帧的发送载波频率,以及

“trx”是第二帧的发送时间,即电子设备101的接收窗口开放的时间。

在步骤408中,中央服务器110确定列表中的所有网关已经通过步骤402至405或406,这意味着中央服务器110已经针对对应于列表中元素的所有值“i”执行了这些步骤。中央服务器110然后转到步骤409。

在步骤409中,中央服务器110确定变量“bestgwt”的值,该值则对应于列表中所有网关中的特定网关的标识符,该特定网关:

-满足帧发送限制(无冲突,按时发送第二帧,占空比足够大),并且

-与最大占空比信用相关联。

后一个标准使得对于非优先帧选择能够发送在占空比方面具有最大信用的第二帧的网关成为可能,而这个标准是严格的。因此保留了占空比很小的网关。因此,如果变量“bestgwt”包括网关标识符的值,则在步骤410,类似于前面描述的步骤310,选择对应于该标识符的网关。否则,在步骤420中,类似于步骤320,中央服务器110不能选择网关;而生成错误消息。

根据本发明的补充实施例,并且为了简化方法200的实施,所有第二帧被认为是“优先帧”。方法200被简化,因为中央服务器110不执行步骤204、205和401至420。替代地,通过将所有第二帧视为“非优先帧”来简化方法200。因为中央服务器110不执行步骤204和301至320,方法200于是被简化。

图5示意性地示出了根据本发明的一个实施例的方法500,该方法500用于更新包括在被称为远程广域网的通信网络100中的网关120、12p、…、12n中的网关的帧发送计划数据。该方法由中央服务器110周期性地或按需执行,以便针对网关和频率子带“j”更新占空比。该方法以当前时间“t”作为自变量,当前时间“t”即为对占空比“c(j,tc(j))”所确定的最后一个值,其中:

“c”是给定网关的占空比函数,

“j”是频率子带,以及

“tc(j)”是对于给定网关和对于频率子带“j”使用的最后参考时间。

一般而言,给定时刻“t+t”的占空比相对于时刻“t”的占空比表示为:

其中:

“c(j,t)”是子带“j”在时间“t”的占空比,

“min(a,b)”是选择自变量“a”和“b”之间的最小值的函数,

“c0(j)”是最大占空比信用,表示为一小时(3600秒)的任意参考周期。因此,这给出了:

“c0(j)=3,600,000*dc(j)”;

其中c0(j)用ms(毫秒)表示,“j”是频率子带,dc(j)是子带“j”要遵守的占空比,以百分比(“%”)表示。因此,对于dc(j)=10%(在子带“j”上符合10%的占空比),最大占空比信用“co(j)”等于360,000ms(即参考时间1小时中的6分钟);

“dc(j)”是要遵守的占空比,即针对频率子带“j”中包含的载波频率的网关的帧发送时间之和与不发送时间之间的比率;dc(j)用百分比表示;

“listd(k,j)”已经在前面描述过,并且对应于所关注的网关在频率子带“j”上发送计划帧“k”的持续时间;

“n”对应于在“t”和“t+t”之间的时间范围内,所关注的网关在子带“j”上发送的计划帧的总数。可能只考虑发送开始时间和发送结束时间在“t”和“t+t”之间的时间范围内的帧。

步骤501对应于加载与特定网关对应的数据,该特定网关对于子带“j”希望在中央服务器110的存储器中更新其占空比。这些数据可以记录在中央服务器110自身上。在转到步骤502之前,变量“i”的值被初始化为“1”。

在步骤502中,中央服务器110确定“i”是否已经超过列表“listtrx(j)”中包括的元素的数量,列表“listtrx(j)”包括在子带“j”上针对所关注的网关计划的所有帧。如果“i”小于计划的帧的数量,则中央服务器110转到步骤503。否则,它转到步骤507。

在步骤503中,中央服务器110确定与中央服务器110的本地时间对应的当前时间“t”(可能经由ntp同步)是否小于帧“i”的发送计划时间。如果该帧被计划为随后发送或与当前时间“t”同时发送,即如果“t<=listtrx(i,j)”,则中央服务器110转到步骤507。另一方面,如果“t>listtrx(i,j)”,则中央服务器110转到步骤504。

步骤503使得确定当前时间“t”是否对应于发送帧“i”的时刻成为可能。步骤504使得确保当前时间处于帧“i”发送结束之后成为可能。换句话说,如果“listtrx(i,j)+listd(i,j)<t”,则当前时间“t”处于帧“i”发送结束之后,其中帧“i”在时间“listtrx(i,j)”发送;并且具有发送持续时间“listd(i,j)”。中央服务器110然后转到步骤508,以便将“i”的值增加“1”。然后,在步骤508之后,中央服务器110在新的步骤502中检查到没有超过帧数量之后,用下一帧重新开始步骤503。另一方面,如果“listtrx(i,j)+listd(i,j)>=t”,在知道中央服务器110在步骤503期间确定“t>listtrx(i,j)”的情况下,这意味着当前时间“t”对应于帧“i”的发送时刻。在这种情况下,在接下来的步骤505中,中央服务器110存储“n=i-1”。然后,在步骤506中,中央服务器110定义对应于计算占空比的参考时间的变量“tref”,其中“tref=t”。换句话说,在步骤506中,中央服务器110将参考时间“tref”定义为等于对应于帧“i”的发送的时间“listtrx(i,j)”。列表“listtrx(i,j)”中的第n帧对应于所关注的网关在参考时间“tref”之前计划发送的最后一帧。因此,有必要考虑这n个帧来计算占空比。

在步骤507期间,参考时间“tref”被定义为等于当前时间“t”。这对应于当前时间不对应于帧“i”的发送时刻的情况。

在步骤506和507之后,中央服务器110转到步骤510。在步骤510期间,中央服务器110确定变量“tc(j)”的值。“tc(j)”对应于在针对子带“j”对于所关注的网关的更新方法500的前一次重复期间所使用的参考时间“tref”,如下面在步骤512的描述中所述。在方法500的第一次重复期间,“tc(j)”的值被初始化为默认值“零”。在这种情况下,如果“tc(j)=0”,则中央服务器110转到步骤511,以确定是否计划在参考时间之前发送帧。换句话说,如果n=0,则在步骤513中,中央服务器110定义“tc(j)=tref”。换句话说,如果没有计划在参考时间“tref”之前发送的帧,则“tc(j)”的值可以固定在“tref”而不修改占空比的值,因为占空比已经处于其最大值。另一方面,如果n不同于“零”,这意味着有必要考虑待发送的帧来计算占空比,并且在步骤512中,中央服务器110定义“tc(j)=listtrx(1,j)”,以便在发送第一帧时开始占空比的计算。

在步骤512或513之后,或者,如果在步骤510中,“tc(j)”不同于“零”,则中央服务器110转到步骤520。步骤520对应于占空比“c(j,tref)”的计算步骤:

在接下来的步骤512中,中央服务器110针对频率子带“j”为所关注的网关更新帧发送计划数据。该更新包括删除对于子带“j”的列表“listtrx(j)”和“listd(j)”中的前n个元素。中央服务器110存储参考时间和该参考时间的占空比以供将来的重复,即:

“tc(j)”取值“tref”,以及

“c(j,tc(j))”取值“c(j,tref)”,用于在针对子带“j”对于所关注的网关的方法500的新重复中后续使用“tc(j)”和“c(j,tc(j))”这两个更新值。

图6示意性地示出了根据本发明的一个实施例的方法600,其用于检查待发送的帧是否可以被插入网关120、12p、…、12n中的网关的待发送帧的计划中。

图6所示的方法600对应于网关“p”的方法200的步骤304或404,网关“p”必须计划在位于频率子带“j”中的频率上发送帧。

在步骤601中,中央服务器110针对每个频率子带,包括频率子带“j”,查找用于所关注的网关的帧发送计划数据。在步骤302或402期间,中央服务器110可能先前查找到这些数据。在此步骤期间,变量“k”被初始化为值“零”。

在步骤602中,中央服务器110确定变量“k”是否低于网关“p”使用的频率子带的数量(图6中网关“p”的“nbsub-bands”)。如果“k”高于该值,这意味着已经检查了所有的频率子带,而没有检测到重叠,然后中央服务器110转到步骤615。否则,如果“k”低于网关“p”使用的频率子带的数量,则中央服务器110转到步骤603。

在步骤603中,中央服务器110将变量“k”的值增加“1”,并将变量“i”的值初始化或重新初始化为“1”。中央服务器110转到测试604。

在步骤604期间,中央服务器110检查“i”是否小于计划在频率子带“k”上发送的帧的数量,即小于网关“p”的列表“listtrx(k)”中的元素数量。如果是,中央服务器110转到步骤605,否则转到步骤607。

在步骤605中,中央服务器110确定第二帧“trx”的发送时间是否小于针对频率子带“k”的计划帧“i”的发送时间“listtrx(i,k)”。如果是,则中央服务器110转到步骤606,否则转到步骤609。如果“trx”小于针对频率子带“k”发送计划帧“i”的时间,这意味着第二帧必须在帧“i”之前发送。然后,在知道第二帧的发送持续时间是“d”的情况下,有必要在此之后检查时间“trx”和针对频率子带“k”的帧“i”的发送开始之间的延迟是否足以发送第二帧。

该检查在步骤606期间执行。因此,如果“trx+d“大于”listtrx(i,k)”,则在针对频率子带“k”计划发送帧“i”之前,没有足够的延迟来发送第二帧,并且中央服务器110转到步骤620。步骤620对应于所关注的网关“p”不能用于发送第二帧的事实。在第二优先帧的情况下,方法200则以步骤306继续执行,在第二非优先帧的情况下,则以步骤407继续执行。

在步骤606之后,如果“trx+d”小于“listtrx(i,k)”,这意味着“trx”和针对频率子带“k”的帧“i”的发送开始之间的延迟足以发送持续时间为“d”的第二帧。中央服务器110然后转到步骤607。

在步骤607期间,中央服务器110确定变量“k”的值是否等于“j”,“j”对应于包括要计划的帧的发送频率的子带“j”。如果是这种情况,则中央服务器110转到步骤608,否则直接转到步骤602。

在步骤608期间,中央服务器110为变量“n”存储值“i=1”,“n”对应于计划在第二帧之前在子带“j”上发送的最后一帧,或者换句话说,对应于必须就在第二帧之前发送的子带“j”上的计划帧。中央服务器110接下来再次转到步骤602。

在步骤609期间,中央服务器110确定发送第二帧的时间“trx”是否对应于网关计划针对频率子带“k”发送持续时间为“listd(i,k)”的帧“i”的时刻。如果“trx”小于“listtrx(i,k)+listd(i,k)”,在从步骤605知道“trx”大于“listtrx(i,k)”的情况下,则“trx”对应于针对频率子带“k”发送帧“i”的时刻,并且中央服务器110转到步骤620。如果不是,则中央服务器110转到步骤610,其对应于变量“i”的递增,其中“i=i+1”,然后再次转到步骤604。

图7示意性地示出了根据本发明的一个实施例的方法700,其用于检查用于计划由网关发送帧的占空比的符合性。

图7所示的方法700对应于方法200的步骤305至405。

在步骤701中,中央服务器110查找针对所关注的网关和子带“j”发送帧的计划数据。在步骤302或402期间,中央服务器110可能预先计划了这些数据。

中央服务器110查找在图5(步骤510及后面的步骤)的描述期间定义的变量“tc(j)”的值。“tc(j)”的值对应于给定网关最后更新在子带“j”上的它的占空比时使用的最后参考时间。中央服务器110还查找在步骤304或404期间确定的值“n”,如图6步骤608所述。

在步骤702中,如果“tc(j)=0”,则中央服务器110转到步骤603,否则转到步骤706。在步骤703中,如果“n=0”,则中央服务器110转到步骤705,否则转到步骤704。

在步骤704中,中央服务器110将参考时间“tref”定义为等于“listtrx(1,j)”,然后中央服务器110转到步骤707。

在步骤705中,中央服务器110将参考时间“tref”定义为等于“trx”,然后中央服务器110转到步骤707。

在步骤706期间,中央服务器110将参考时间“tref”定义为等于“tc(j)”。然后,中央服务器110转到步骤707。

步骤702至706遵循与步骤510至513相同的逻辑。

在步骤7107中,中央服务器110确定发送第二帧“trx”时的占空比,其中:

“c(j,trx)”是针对子带“j”在“trx”时刻的占空比。换句话说,c(j,trx)表示针对给定网关和子带“j”在“trx”时刻可用的占空比信用。该信用表示可供相关网关在子带“j”上发送帧的时间。

如果该信用c(j,trx)大于“d”,则相关网关有足够的信用来发送第二帧。在第二优先帧的情况下,方法200以步骤301继续执行,在第二非优先帧的情况下,方法200以步骤406继续执行。在非优先帧的情况下,步骤708被修改,因为占空比信用与变量“maxc”而不是“d”进行比较,以便最终选择具有最大占空比信用的网关。

在相反情况下,网关没有足够的信用来发送第二帧。在第二优先帧的情况下,方法200继续步骤306,在第二非优先帧的情况下,方法200继续步骤407。在非优先帧的情况下,步骤708被修改,因为占空比信用与变量“maxc”而不是“d”进行比较,以便最终选择具有最大占空比信用的网关。

图8示意性地示出了服务器800(例如中央服务器110)的硬件架构,其适于实施用于在多个网关中选择用于向被称为远程广域网的通信网络100的电子设备101发送帧的网关的方法,该方法在图2、图3和图4中描述。服务器800包括通过通信总线连接的以下各项:处理器或cpu(中央处理单元)801;ram(随机存取存储器)和/或rom(只读存储器)类型的存储器mem802;网络模块net803、内部存储类型的存储模块stck804以及可能的各种性质的其他模块805至80n。存储模块stck804可以是硬盘hdd(硬盘驱动器)或ssd(固态驱动器)类型,或者是外部存储介质读取器类型,例如sd(安全数字)卡读取器。处理器cpu801可以将数据记录在存储模块stck804上,或者读取记录在存储模块stck804上的数据。这些数据可以对应于服务器800的配置参数或者对应于例如在由网络模块net803接收的消息中或者经由另一通信模块80n接收的信息。网络模块net803允许服务器800连接到一个或多个通信网络。网络模块803通常允许服务器800连接到互联网。网络模块803使得服务器800能够向一个或多个连接对象(例如连接对象101)发送数据和分别从一个或多个连接对象接收数据,其中,帧经过网关120、12p、...、12n之一。

处理器cpu801能够执行加载在存储器mem802中的指令,该指令例如从存储模块stck804或者经由网络模块net803从通信网络、或者从另一通信模块80n加载。当服务器800通电时,处理器cpu801能够从存储器mem802读取指令并执行指令。这些指令形成计算机程序,使得处理器cpu801实施上述所有或一些方法和步骤。因此,上述所有或一些方法和步骤可以通过可编程机器(例如dsp(数字信号处理器))或微控制器)执行一组指令以软件形式实施。这里描述的所有或一些方法和步骤也可以由机器或专用组件(例如fpga(现场可编程门阵列)或asic(专用集成电路))以硬件形式实施。服务器800通常是所谓的lns服务器(lora网络服务器),即根据loratm标准在通信网络中使用的服务器。

服务器800适于实施图2、图3和图4中描述的方法200的所有或一些步骤,以及图5、图6和图7中描述的方法,使得根据本发明第一实施例从多个网关中选择网关以将帧发送到被称为远程广域网的通信网络的电子设备成为可能。服务器800还适于实施根据本发明的第二实施例从多个网关中选择网关以将帧发送到被称为远程广域网的通信网络的电子设备的方法的所有或一些步骤,该方法在下文和图9和图10中描述。

在本发明的第二实施例中,不同于本发明的第一实施例,每个网关120、12p、...12n能够在不同的频率上同时发送多个帧,这些频率可能位于不同的频率子带中。此外,计划发送的新帧不得与已经计划在相同频率上发送的另一帧重叠。同样,占空比信用不仅像在第一实施例中一样在帧发送开始时必须足够,而且在要计划发送的帧的整个发送时间内,即在周期“d”期间也必须足够。因此,理论上有必要计算在要计划发送的帧的整个发送时间“d”的每个时刻的占空比信用,这对于中央服务器110来说可能需要非常长的处理时间。这个处理时间可能太长,而无法在与响应时间的最终符合性兼容的时间内与网关120、12p、...12n之一的选择兼容。

为了保持类似于本发明第一实施例的处理操作的原理,针对频率子带“j”的每个频率“f”并且中的每个子带频率“j”确定占空比信用。换句话说,决定中的频率子带的每个频率分配要遵守的占空比。频率子带“j”的每个频率“f”的这种占空比分配被确定为符合每个频率子带“j”的占空比。因此,对于与在时间“t”的频率子带“j”的频率“f”的占空比对应的“c(j,f,t)”,我们定义:

c(j,f,0)=c0(j,f)=p(j,f).3600000.dc(j);

“dc(j)”是要遵守的占空比,即对于位于频率子带“j”中的载波频率网关的帧发送时间之和与不发送时间之间的比率;dc(j)以百分比表示。

“c0(j,f)”是对于频率子带“j”的频率“f”的最大占空比信用,表示为一小时(3600秒)的任意参考周期。参数“p(j,f)”定义了权重,使得:

其中p(j,f)的值介于“0”和“1”之间。

因此,我们得到:

例如“p(j,f)=1/nbfreq”,其中“nbfreq”等于位于频率子带“j”中的频率“f”的数量。

每当网关120、12p、…、12n之一在频率子带“j”的频率“f”上发送帧时,其占空比信用等于:

c(j,f,tend)=c(j,f,tstart)-(1-dc(j)).d;其中:

“tstart”是帧发送开始时间,

“tend”是帧发送结束时间,

“d”是帧发送持续时间,

“dc(j)”是对于频率子带“j”要遵守的占空比。

根据本发明的第二实施例,由被称为远程广域网的通信网络100的中央服务器110从多个网关120、12p、…、12n中选择网关用于响应该电子设备101发送的帧而向该电子设备101发送帧的方法类似于图2、图3和图4中描述的并且对应于第一实施例的选择方法,区别在于步骤304、305和310以及相应的404、405和406是不同的:

-对于步骤304和404,对任何帧重叠的检查更简单,因为它限于与单个发送频率上已经计划的帧的重叠,

-对于步骤305、310、405和406,除了频率子带“j”的占空比信用之外,对于每个频率“f”使用一个占空比信用。

在时间“t+t”处的网关120、12p、…、12n之一的频率子带“j”的频率“f”上的占空比(或信用)相对于时间“t”处的占空比表示为:

其中:

“c(j,f,t)”是时间“t”对于子带“j”的频率“f”的占空比;

“min(a,b)”是选择自变量“a”和“b”之间的最小值的函数;

“c0(j,f)”是对于子带“j”的频率“f”的占空比的最大值,如前所述,表示为一小时(3600秒)的任意参考周期;

“dc(j)”是频率子带“j”要遵守的占空比,即对于子带“j”中包含的载波频率的网关的帧发送时间之和与非发送时间之间的比率;dc(j)以百分比表示;

“listd(j,f,k)”以类似于前面描述的“listd(j,k)”的方式,对应于所关注的网关在子带“j”的频率“f”上发送计划帧“k”的持续时间;

“n”对应于在时间“t+t”之前所关注的网关在子带“j”上发送的计划帧的总数。

图9示意性地示出了根据本发明第二实施例的用于更新被称为远程广域网的通信网络中包括的网关120、12p、…、12n的帧发送计划数据的方法900。

方法900总体上类似于图9中描述的方法500,明显的区别在于:

-“listtrx(i,j,f)”取代图5中使用的变量“listtrx(i,j)”;

-“listd(j,f,k)”取代图5中使用的变量“listd(i,j)”;

-c(j,f,tref)的计算取代图5中使用的c(j,tref)的计算;

-“tc(j,f)”取代图5中使用的“tc(j)”。

因此,“listtrx(i,j,f)”对应于所述网关在频率子带“j”的频率“f”上发送“第i”帧的时间,并且“listd(i,j,f)”对应于对于频率子带“j”的频率“f”的所述“第i”帧的持续时间。

步骤901对应于加载对应于特定网关的数据,其中该特定网关希望更新中央服务器110的存储器中的对于频率子带“j”的频率“f”的占空比。这些数据可以记录在中央服务器110自身上。在转到步骤902之前,变量“i”的值被初始化为“1”。

在步骤902中,中央服务器110确定“i”是否已经超过列表“listtrx(j,f)”中包括的元素的数量,列表“listtrx(j,f)”包括在子带“j”的频率“f”上针对所关注的网关计划的所有帧。如果“i”小于计划在频率子带“j”的频率“f”上发送的帧数量,则中央服务器110转到步骤903。否则,它转到步骤907。

在步骤903中,中央服务器110确定与中央服务器110的本地时间对应的当前时间“t”(可能经由ntp同步)是否小于在频率子带“j”的频率“f”上发送帧“i”的计划时间。如果该帧被计划为随后发送或与当前时间“t”同时发送,即如果“t<=listtrx(i,j,f)”,则中央服务器110转到步骤907。另一方面,如果“t>listtrx(i,j,f)”,则中央服务器110转到步骤904。

步骤903使得确定当前时间“t”是否对应于帧“i”的发送时刻成为可能。步骤904使得确保当前时间处于发送帧“i”的时间之后成为可能。换句话说,如果“listtrx(i,j,f)+listd(i,j,f)<t”,则当前时间“t”处于帧“i”发送结束之后,其中帧“i”在时间“listtrx(i,j,f)”发送,并且具有发送持续时间“listd(i,j,f)”。中央服务器110然后转到步骤908,以便将“i”增加“1”。然后,在步骤908之后,中央服务器110在新的步骤902中检查到没有超过帧数量之后,以下一帧重新开始步骤903。另一方面,如果“listtrx(i,j,f)+listd(i,j,f)>=t”,在知道中央服务器110在步骤903期间确定“t>listtrx(i,j,f)”的情况西下,这意味着当前时间“t”对应于帧“i”的发送时刻。在这种情况下,在接下来的步骤905中,中央服务器110存储“n=i–1”。然后,在步骤906中,中央服务器110定义对应于计算占空比的参考时间的变量“tref”,其中“tref=t”。换句话说,在步骤906中,中央服务器110将参考时间“tref”定义为等于对应于在频率子带“j”的频率“f”上发送帧“i”的时间“listtrx(i,j,f)”。“listtrx(j,f)”中的“第n”帧对应于所关注的网关在参考时间“tref”之前计划发送的最后一帧。因此,有必要考虑这些“n”个帧来计算频率子带“j”的频率“f”上的占空比。

在步骤907期间,参考时间“tref”被定义为等于当前时间“t”。这对应于当前时间与帧“i”的发送时刻不对应的情况。

在步骤906和907之后,中央服务器110转到步骤910。在步骤910期间,中央服务器110确定变量“tc(j,f)”的值。“tc(j,f)”对应于在针对频率子带“j”的频率“f”对于所关注的网关的更新方法900的前一次重复期间使用的最后一个参考时间。在方法900的第一次重复期间,“tc(j,f)”的值被定义为等于默认值“零”。如果“tc(j,f)=0”,则中央服务器110转到步骤911,以确定是否计划在参考时间“tref”之前发送帧。换句话说,如果“n=0”,则在步骤913中,中央服务器110定义“tc(j,f)=tref”。换句话说,如果没有计划在参考时间“tref”之前发送的帧,则“tc(j,f)”的值可以固定在“tref”而无需修改占空比,因为占空比已经处于其最大值。另一方面,如果“n”不是“零”,这意味着有必要考虑待发送的帧来计算占空比,并且在步骤912中,中央服务器110定义“tc(j,f)=listtrx(1,j,f)”,以便在发送第一帧时开始占空比的计算。

在步骤912或913之后,或者如果在步骤910中“tc(j,f)”不是“零”,则中央服务器110转到步骤920。步骤920对应于计算占空比“c(j,f,tref)”的步骤:

在接下来的步骤912中,中央服务器110针对频率子带“j”的频率“f”更新所关注的网关的帧发送计划数据。该更新包括删除对于频率子带“j”的频率“f”的列表“listtrx(j,f)”和“listd(j,f)”中的前“n”个元素。中央服务器110存储参考时间“tref”和该参考时间的占空比以供将来的重复,即:

“tc(j,f)”取值“tref”,并且

“c(j,f,tc(j))”取值c(j,f,tref),以便在针对频率子带“j”的频率“f”所关注的网关的方法900的新重复中随后使用“tc(j,f)”和“c(j,f,tc(j))”这两个更新的值。

图10示意性地示出了根据本发明第二实施例的方法1000,其用于检查待发送的帧是否可以被插入到待从网关120、12p、...、12n发送帧的计划中。

方法1000总体上类似于图6中描述的方法600,明显的区别在于:

-“listtrx(i,j,f)”取代图6中使用的变量“listtrx(i,j)”,

-“listd(j,f,k)”取代图6中使用的变量“listd(i,j)”,

-c(j,f,tref)的计算取代图6中使用的c(j,tref)的计算,

-“tc(j,f)”取代图6中使用的“tc(j)”。

与方法600的另一个显著区别在于,在方法1000的情况下,没有必要检查计划在某一频率上发送的帧与已经计划在另一不同频率上发送的另一帧的任何重叠。只有计划在发送频率上发送的帧必须予以考虑。实际上,根据该第二实施例,网关120、12p、...、12n可能能够在不同的频率上同时发送多个帧。

因此,在图6中描述的方法600中使用的变量“k”没有在先前描述的方法1000中使用。方法600的步骤602和607在方法1000中没有等同步骤。

图10中示出的方法1000对应于根据本发明第二实施例的网关“p”必须计划在频率子带“j”中包括的频率“f”上发送帧的方法的步骤304或404的等同步骤。

在步骤1001中,中央服务器110查找所关注的网关针对频率子带“j”的频率“f”的帧发送计划数据。这些数据可能先前已经被中央服务器110查找到。

在步骤1003中,中央服务器110将变量“i”的值初始化或重新初始化为“1”。中央服务器110转到测试1004。

在步骤1004期间,中央服务器110检查“i”是否小于计划在频率子带“j”的频率“f”上发送的帧数量,即小于网关“p”的列表“listtrx(j,f)”中的元素数量。如果是,中央服务器110转到步骤1005,否则转到步骤1008。

在步骤1005中,中央服务器110确定发送第二帧的时间“trx”是否小于针对频率子带“j”的频率“f”发送计划帧“i”的时间“listtrx(i,j,f)”。如果是,中央服务器110转到步骤1006,否则转到步骤1009。如果“trx”小于针对频率子带“j”的频率“f”发送计划帧“i”的时间,这意味着第二帧必须在帧“i”之前发送。然后,在知道第二帧的发送持续时间是“d”的情况下,接下来有必要检查时间“trx”和针对频率子带“j”的频率“f”的发送帧“i”的开始之间的延迟是否足以发送第二帧。

该检查在步骤1006期间执行。因此,如果“trx+d”大于“listtrx(i,j,f)”,则在针对频率子带“j”的频率“f”计划发送帧“i”之前,没有足够的延迟来发送第二帧,并且中央服务器110转到步骤1020。步骤1020对应于所关注的网关“p”不能用于发送第二帧的事实。然后,根据第二实施例的用于选择网关的方法在优先第二帧的情况下继续执行步骤306的等同步骤,在非优先第二帧的情况下继续执行步骤407的等同步骤。

在步骤1006之后,如果“trx+d”小于“listtrx(i,j,f)”,这意味着对于频率子带“j”的频率“f”,在“trx”和帧“i”的发送开始之间的延迟足以发送持续时间为“d”的第二帧。中央服务器110然后转到步骤1008。

在步骤1008期间,中央服务器110针对变量“n”存储值“i-1”,“n”对应于计划在第二帧之前在频率子带“j”的频率“f”上发送的最后一帧,或者换句话说,对应于计划必须就在第二帧之前在频率子带“j”的频率“f”上发送的帧。中央服务器110接着转到步骤1015。

在步骤1009期间,中央服务器110确定发送第二帧的时间“trx”是否对应于网关计划针对频率子带“jj”的频率“f”发送持续时间为“listd(i,j,f)”的帧“i”的时刻。如果“trx”小于“listtrx(i,j,f)+listd(i,j,f)”,在从步骤1005知道“trx”大于“listtrx(i,j,f)”的情况下,则“trx”对应于针对频率子带“j”的频率“f”发送帧“i”的时刻,并且中央服务器110转到步骤1020。否则,中央服务器110转到步骤1010,其对应于变量“i”的递增,其中“i=i+1”,然后再次转到步骤1004。

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