在图1中示出了一个通信系统,该通信系统包括具有多个子网101、110、120、130、服务器102-104以及多个客户机111-115、121-123、131-133的面向分组的网络。客户机111-115、121-123、131-133使用由服务器102-104提供的业务、例如因特网电话。
子网110、120、130是分别具有关守的局域子网。这些关守尤其用于访问控制以及地址翻译业务。关守的该功能可以由面向分组的网络中的服务器接管。
为了使用由服务器102-104提供的业务,客户机111-115、121-123、131-133首先在相应的服务器上注册。在这种情况下,说明一个时间间隔,在该时间间隔内注册被视为有效。示例性地并且不限制一般性地针对客户机111示出注册方法的流程。
客户机111具有中央处理器单元(CPU)、工作存储器(RAM)、用于数据的非易失存储的硬盘(HD)、网络适配器(Tx/Rx)和时间控制单元(Timer(定时器))。在图1中示出的其余客户机112-115、121-123、131-133也可以具有这种结构和这种功能。
为了在服务器102-104之一上注册,客户机111将具有注册请求RRQ的消息传输给提供所希望的业务的服务器。在具有注册请求RRQ的消息中说明一个时间间隔,在该时间间隔内客户机111在所选择的服务器上的注册应该是有效的。在该时间间隔之外,该客户机的注册被视为无效。
在可用时,所选择的服务器通过具有注册确认RCF的消息对注册请求作出应答。在具有注册确认RCF的消息中同样说明注册的有效时间间隔。由所选择的服务器确认的有效时间间隔相应于由客户机111说明的时间间隔或者比该时间间隔更短。
在注册的有效时间间隔内,客户机111可以向所选择的服务器提出可用性询问。这种也被称为保持活动检验的可用性询问同样以具有注册请求RRQ的消息的形式传输给所选择的服务器。在保持活动检验的范围内所传输的具有注册请求RRQ的消息相对于一般的具有注册请求的消息具有所设置的保持活动比特(Keep-Alive-Bit)。
根据ITU-T推荐H.225.0,Stand 11/2000,第7.9章,具有注册请求的缩短的消息对于“轻量级注册”来说已经足够。在此情况下,具有注册请求的消息仅仅具有关于客户机的注册和状态传输地址(RAS地址)、所设置的保持活动比特、客户机的端点标识符、服务器或关守标识符、待实施的操作的授权标记(令牌)以及注册的有效时间间隔的说明。
在保持活动检验的范围内传输给所选择的服务器的、具有注册请求RRQ的消息也可以被用于延长注册的有效时间间隔。然而这只有当消息还在注册的有效时间间隔内被所选择的服务器接收时才有效。因此,为了确定有效时间间隔的结束,客户机也应该考虑消息和处理延迟。在注册的有效时间间隔结束之后,上述具有注册请求的缩短的消息的传输不再足以进行重新注册。
如果具有注册确认RCF的消息不具有关于注册的有效时间间隔的说明,则如下对此进行评价,即所选择的服务器不支持用于可用性询问的保持活动机制(Keep-Alive-Mechanism)。客户机应该在接收到这种没有关于有效时间间隔的说明的消息时停止向相应的服务器发送可用性询问。
在注册的有效性到期之后,所选择的服务器可以向所涉及的客户机发送具有相应指示的消息,以便将有效时间间隔的到期通知该客户机。这特别是在客户机上和服务器上的时间控制单元之间的同步丧失的情况下是有利的。
若客户机111在注册的有效时间间隔结束之后将上述缩短的具有注册请求RRQ和所设置的保持活动比特的消息发送给所选择的服务器,则该服务器将通过具有注册拒绝RRJ的消息来作出反应。在这种消息中也可以说明拒绝原因。
为了避免服务器102-104因客户机111-115、121-123、131-133的可用性询问而承受不必要的负载,已收到对可用性询问的肯定或否定回答的客户机借助组播消息MCM将相应服务器的可用性通知给在相同子网110、120、130内的所有客户机。此外,通过限制于相同子网,还可以避免关于不能一般地解析的地址的问题。特别是防止由于不可寻址的消息而导致的不必要的网络负载。
图2中所示出的流程图用于进一步说明用于检验在面向分组的通信网络中的服务器的可用性的方法。该方法的出发点是客户机的时间控制单元的定时器或计数器的启动(步骤201)。通过定时器确定客户机的可用性询问应该被传输给所选择的服务器的时刻。
在定时器启动之后,客户机监控组播消息MCM的接收,由这些组播消息得出关于服务器的可用性的说明(步骤202)。若客户机接收到这种组播消息,则使定时器复位(步骤208)。由此在可预给定的时间间隔内停止向所选择的服务器传输可用性询问。
只要没有接收到新的组播消息,就附加地检验,定时器是否已到期并且因此到达了用于传输(Absetzen)新的可用性询问的时刻(步骤203)。如果定时器还未到期,则继续检验组播消息的接收和定时器的到期。若定时器已到期,则向所选择的服务器发送可用性询问(步骤204)。
在步骤205中,至少隐含地确定所选择的服务器的可用性或不可用性。若所选择的服务器可用,则该服务器通过针对询问客户机的确认消息对可用性询问作出回答(步骤206)。在收到确认消息之后,询问客户机借助组播消息将所选择的服务器的可用性通知给在相同子网内的所有其它客户机(步骤207)。接着,已接收到该组播消息的其它客户机在其侧在预给定的时间间隔内停止向该所选择的服务器传输可用性询问。
因为在所选择的服务器出现故障或过载时不发送关于其可用性的确认消息,所以检验,所选择的服务器是否至少能够以不可用性消息对可用性询问作出反应(步骤209)。在所选择的服务器过载时,这例如还是可能的。与此相反,在所选择的服务器出现故障时,不能再期望发送不可用性消息。因此检验,是否达到用于接收确认消息或不可用性消息的时限(步骤211)。若该时限被超过,则询问客户机将关于所选择的服务器的不可用性的组播消息传输给在相同子网内的所有客户机(步骤210)。若询问客户机在允许用于对可用性询问的回答的时限内收到不可用性消息,则以相应的方式处理。
所述用于检验服务器的可用性的方法优选地通过控制程序来实施,该控制程序可以被装载到客户机的工作存储器中并且具有至少一个代码段,在执行该代码段时,遍历上述步骤,即:传输可用性询问,监控确认消息的接收,向其它客户机传输关于可用性的消息,监控其它客户机的消息的接收并且必要时停止发送可用性询问。借助该控制程序,实现提供无连接业务的通信网络的客户机,该客户机具有用于传输可用性询问的装置、用于监控确认消息的接收的装置、用于向其它客户机传输关于服务器的可用性的消息的装置以及用于监控其它客户机的消息的接收以及用于停止传输可用性询问的装置。
以下的考虑用于推导出所述用于检验服务器的可用性的方法相对于迄今常用的保持活动检验的优点。根据迄今常用的保持活动检验,在发送可用性询问的客户机为n=1000个以及询问率为a=3(每分钟并且每个客户机3个询问)以及假设这种询问在时间上均匀分布的情况下,服务器必须每隔
回答一个可用性询问。
因此,服务器平均每隔20ms忙于实时地回答可用性询问。这会导致服务器由于可用性询问而承受极大负载,这将在执行原来安排给服务器的任务时极大地限制服务器。为了解决这个问题,首先建议,大大降低每分钟客户机的询问率,然而这导致,所涉及的客户机也许不充分晚地确定服务器的可用性的丧失。
为了估计可利用在此所建议的方法实现的优点,首先假设,n个客户机分布在s个子网中。此外假设,在这s个子网中的每一个中至少一个客户机尝试询问服务器的可用性。这些客户机中的每一个随后又会借助组播消息将服务器可用性通知给在其子网内的其余客户机。在理想化的条件下,待由服务器处理的可用性询问的数目对应于子网的数目s。此外还应考虑到,在子网中组播消息可能具有在0和100%之间的丢失率v。因此,每个子网的、组播消息未到达的并且因此自己向服务器发送可用性询问的客户机的数目vc取决于组播消息的丢失率v:
因此,在这个前提下实际向服务器提出可用性询问的客户机的总数vc all可以如下来估计:
在这些假设下,向服务器提出的两个可用性询问之间的时间间隔tr可以如下来计算:
借助一个数值实例,将在迄今常用的服务器负载的保持活动检验中服务器因可用性询问而承受的负载与根据在此提出的方法服务器因可用性询问而承受的负载进行对比。在询问率为a=3个可用性询问/分钟、并且n=1000个客户机的情况下,对于两个可用性询问之间的时间间隔tr,下式成立:
丢失率v的典型值明显低于100%。利用上面的询问率a、客户机数目n的值以及s=10个子网,根据丢失率v得出以下的、相对于两个可用性询问之间的时间间隔为t
r=20ms的常用保持活动检验的、以百分比表示的效率提高d
eff:
v |
0.0 |
0.1 |
0.2 |
0.5 |
0.8 |
tr[ms] |
2000 |
183 |
96 |
40 |
25 |
deff[%] |
9900 |
815 |
380 |
100 |
25 |
在丢失率v=20%时,待由服务器处理的两个可用性询问之间的平均时间t,例如为大约96ms。与迄今常用的保持活动检验相比,这相当于效率提高deff=380%。
总之可以确定的是,在这里提出的用于检验服务器的可用性的方法中,服务器因回答可用性询问而承受的负载明显降低,而这并不导致直到客户机知道服务器的不可用性为止的时间的明显增加。此外,为了实施这里提出的方法,仅仅需要在客户机侧做改动。迄今的用于处理可用性询问的方法可以在服务器侧被保留并且因此不需要另外的花费。
在图3中所示出的方法中,附加地由服务器检验客户机的可用性。这意味着,也将客户机的可用性通知给服务器,其中仅仅由另一客户机通过组播消息将服务器的可用性通知给这些客户机,而这些客户机自己不直接向服务器提出保持活动询问。首先每个客户机都启动第一定时器(定时器1)(步骤301)并且检验,是否已接收到组播集合询问(Multicast-Sammelanfrage)(步骤302)。客户机可以将组播集合询问作为用于以下目的的信号发出,即该客户机希望与服务器进行集合保持活动检验,并且该客户机为此需要其它客户机的保持活动数据。
第一定时器的状态不断地由相应的客户机进行检验(步骤303)。若第一定时器还没有到期并且没有组播集合询问到达,则继续监控组播集合询问的接收。若第一定时器已到期并且没有接收到组播集合询问,则相应的客户机承担以下任务,即自己向所选择的服务器提出组播集合询问。为此,相应的询问客户机启动第二定时器(定时器2)(步骤304)并且将组播集合询问传输给可预给定的其它客户机(步骤305)。接着,相应的询问客户机检验,可预给定的其它客户机是否回答了该组播集合询问(步骤306),以及第二定时器是否已到期(步骤307)。若第二定时器还没有到期并且对该组播集合询问的回答没有到达,则继续监控对组播集合询问的回答的接收。
在第二定时器到期之后,相应的询问客户机启动第三定时器(定时器3)(步骤308)并且向所选择的服务器发送集合可用性询问(步骤309)。该集合可用性询问包括相应的询问客户机的数据以及直到第二定时器到期为止已对相应的询问客户机的组播集合询问作出回答的、那些可预给定的其它客户机的数据。接着,相应的询问客户机检验,所选择的服务器是否已用信号通知了可用性(步骤310),以及第三定时器是否已到期(步骤311)。若第三定时器还未到期并且对该集合可用性询问的回答没有到达,则继续监控对该集合可用性询问的回答的接收。
若所选择的服务器已将其可用性用信号通知给了相应的询问客户机,则相应的询问客户机将肯定的组播可用性消息传输给可预给定的其它客户机(步骤312)。若所选择的服务器已用信号通知了其不可用性或直到第三定时器到期为止还没有发送对集合可用性询问的回答,则相应的询问客户机将否定的组播可用性消息传输给可预给定的其它客户机(步骤313)。
根据步骤302中的检验已接收到组播集合询问的、可预给定的其它客户机将其保持活动数据(Keep-Alive-Daten)传输给相应的询问客户机(步骤314),相应的询问客户机根据步骤306检验这些数据的接收。接着,可预给定的其它客户机启动第四定时器(定时器4)(步骤315)并且检验,是否已接收到相应的询问客户机的肯定的或否定的组播可用性消息(步骤316),以及第四定时器是否已到期(步骤317)。在接收到相应的询问客户机的组播可用性消息的情况下,使第一定时器复位(步骤318),使得可预给定的其它客户机在通过第一定时器的到期而确定的持续时间内不向所选择的服务器提出可用性询问。
只要第四定时器没有到期,可预给定的其它客户机就等待相应的询问客户机的组播可用性消息。若这未在第四定时器到期之前发生,则只要第一定时器到期或在其到期之前没有其它组播集合询问到达,相应的客户机现在就自己担任作为根据步骤304-313的集合可用性询问的提出者的角色。
本发明的应用并不局限于在此所描述的实施例。