背景技术
流行的通信-或数据处理***经常分布在多个子网、譬如所谓的本地网(LAN)上,所述本地网在其方面互相连接为更大的网络、譬如连接在广域网(WAN)上。这种分布的通信-或数据处理***的一个重要的结构原理是所谓的客户机-服务器-原理。作为服务器在这种情况下称为一个设备,该设备在一个分布式***中为分布在网络中的多个业务用户、所谓的客户机、提供集中业务。客户机和服务器通常自主工作,这就是说,一个服务器不依赖于各自的客户机来提供其业务。一个客户机只能要求这样的业务,该业务由一个可支配的服务器来提供,其中该客户机在使用一种业务之后对通过该服务器的执行不再有影响。
为了通过客户机使用由一个服务器提供的业务所必需的是,所述服务器能识别和寻址所述客户机或所述客户机能识别和寻址所述服务器。这就是说,作为客户机与服务器之间的相互作用的基础所涉及的客户机属于所述服务器。
在许多情况下,尤其是在基于因特网协议的网络中,一个服务器分配给客户机通过手动配置所涉及的客户机或服务器来进行。通常在这种情况下在服务器中配置各个客户机的因特网协议地址或在客户机中配置服务器的因特网协议地址。以这种方式客户机和服务器推理地相互分配。可是一种这样的手动配置尤其是在具有高数量的潜在客户机的大网络中要求相当大的花费。此外还有,在每次改变分配时,譬如通过转接到一个新的服务器上或新客户机的添加需要一种更新的手动配置。
基于一种手动配置的高花费,越来越多地采用自动的分配方法,即所谓的自动发现方法。一种经常应用的方法基于,这样配置所谓的DHCP服务器(DHCP:动态主机配置协议),该DHCP服务器能在询问上使用客户机-或服务器地址。可是一种这样的方法以此为前提,相应配置的DHCP服务器在每个子网中是可支配的并跨越子网地排列。在这种情况下在每次改变客户机-服务器-分配时必须相应地更新DHCPp服务器中的配置数据。譬如从由R.Droms 1997年3月输入的因特网文档“Request forComments:2131,Dynamic Host Configuration Protocol(请求注解:2131,动态主机配置协议)”已知DHCP服务器。
发明内容
本发明的任务在于,提供一种用于将分布在多个子网上的客户机分配给一个服务器的方法,该方法要求更少的配置花费。此外本发明的任务在于,提供一个用于执行所述方法的客户机。
在本发明的方法中,为了将分布在多个子网、譬如本地网上的客户机分配给一个服务器,在各自的子网中选出客户机之一。根据本发明通过一个各自所选出的客户机跨越子网地寻找其他所选出的客户机以及寻找所述服务器,其中所选出的客户机在找到服务器时存储一个识别该服务器的服务器地址信息并在找到另一个所选出的客户机时由该客户机询问服务器地址信息并在收到时存储该服务器地址信息。所存储的服务器地址信息从所选出的客户机被传送给一个或多个其他所选出的或未选出的客户机。
通过本发明方法能并列执行寻找不同子网的多个所选出的客户机的服务器。基于所述并列寻找服务器通常能很快地找到所选出的客户机之一。待寻找的服务器不必为了执行所述方法而被修改。一个各自所选出的客户机能譬如通过属于一种待使用的业务的服务器端口的询问识别服务器。只要该服务器通过所选出的客户机之一被找到,服务器地址信息就能,从所选出的客户机出发,通过其他所选出的或未选出的客户机级联式地并因此很快地跨越子网地分配给客户机,该客户机以这种方式属于所找到的服务器。
本发明允许一种分散的和实质上自己组织的客户机-服务器-分配。尤其是不必要集中的信息业务如DHCP或一种手动配置或客户机、服务器或其他网络部件的再配置。
本发明的另一个优点在于,执行有效的寻找服务器能被限制于所选出的客户机,这产生比当所有客户机寻找服务器时小很多的网络负载。
此外本发明方法具有在新耦合客户机或一个新服务器时等待-或再配置时间较小的优点,因为该方法对于新耦合的客户机为了收到服务器地址信息已经足够,取代服务器本身,找到一个所选出的客户机,该客户机已经获得服务器地址信息。如果自己的子网的所选出的客户机已经获得服务器地址信息,那么一个新耦合在所述子网上的客户机以特别简单的方式提供服务器地址信息。
所存储的服务器地址信息到至少一个所选出的或未选出的其他客户机的传送尤其能通过一个从所述客户机出发的询问来引起。优选地服务器地址信息从所选出的客户机分别自己最初地(eigeninitiativ)或由于一个询问传送给其自己子网的所有属于该服务器的客户机和/或在其子网以外的所有已知该服务器的所选出的客户机。服务器地址信息向尽可能多的其他客户机的传送允许很快地跨越子网的服务器地址信息的级联式的分布。
优选地所选出的客户机在找到另一个所选出的客户机时存储一个识别所述客户机的客户机地址信息。一个这样的客户机地址信息能转达给另外的、如果有这种情况所询问的客户机。通过客户机地址信息的跨越子网的分配给所选出的客户机所述信息能制定其子网环境的拓扑图并针对跨越子网的通信使用。此外所选出的客户机能由于所述服务器地址信息的获得将该信息传送给一个或多个通过一个或多个所存储的客户机地址信息来识别的所选出的客户机。
按照本发明方法的一种有利的安排客户机选择能在一个子网中通过该子网的客户机来进行。一个子网的客户机能优选地自给自足在其中或在其他子网的客户机中选出一个客户机。因此为了选出一个客户机不必要外部的配置。
按照本发明的另一个有利的实施方案,一个所选出的第一客户机在找到一个处于另一个子网中的未选出的客户机处能这样推动该客户机,将服务器地址信息的询问传送给在所述客户机的子网中所选出的第二客户机。出于所述目的未选出的客户机能相应地通知第二客户机,以致该第二客户机相对第一客户机接受该询问的答复并在知道该服务器地址信息时传送该信息给第一客户机。替代地未选出的客户机本身能询问第二客户机并将如果有这种情况所获得的服务器地址信息转交给第一客户机。按照另一种替代方案未选出的客户机能传送识别第二客户机的客户机地址信息给第一客户机,以致该第一客户机能直接询问第二客户机。
具体实施方式
在图2-5中分别示意性地描述了包含多个子网SNA、SNB、SNC和SND的网络。针对存在的实施例假设,子网SNA、……、SND通过基于因特网协议的本地网、所谓的LAN(LAN:局域网)来实现,所述的本地网通过一个诸如因特网的广域网(未示出)相互耦合。子网SND在这种情况下具有一个服务器SRV,该服务器通过一个预定的或动态分配的服务器端口在网络中支配一种业务、譬如一种通信-、数据处理-和/或信息业务。此外子网SNA分别包含客户机C1、C2、C3和CSA,子网SNB包含客户机CL和CSB,以及子网SNC包含客户机CL和CSC。客户机CSA、CSB、CSC、C1、C2、C3和CL必须由服务器SRV准备提供的业务而且在这种意义中属于所述服务器SRV。为了将客户机CSA、……、CL分配给服务器SRV必要的是,客户机CSA、……、CL识别一个识别服务器SRV的地址信息SA,在存在的实施例中为一个所述服务器SRV的因特网协议地址。下面通常称为IP地址的服务器SRV的因特网协议地址SA借助本发明方法传送给客户机CSA、……、CL。
在图1中示意性地描述了客户机CSB根据本发明的建立过程。客户机CSB为了耦合到子网CSB上支配一个网络接口NS。此外客户机CSB具有一个选择模块CSEL,用于从所有或一组预定的连接在相同的子网上、此处为SNB、如客户机CSB一样的客户机CL和CSB中选出一个客户机。所述选择通过所有参加选择的客户机CSB和CL的选择模块CSEL的共同作用借助已知的所谓的选择方法来完成。譬如从在2003年8月7日通过因特网在地址为
“http://www.cs.cornell.edu/home/rvr/papers/ProbLeaderElection.pdf”下自由得到的Gupta、van Renesse和Birman在2000年4月输入的文档“A Probalbilistically correct Leader Election Protocol for LargeGroups”已知一种这样的选择方法。
针对存在的实施例假设,通过一起通过客户机CSB和CL执行的选择在子网SNB中选出客户机CSB。类似地对此假设,在子网SNA中通过客户机C1、C2、C3和CSA选出客户机CSA而在子网SNC中通过客户机CL和CSC选出客户机CSC。因此在子网SNA、SNB和SNC中的每一个准确选出一个客户机CSA、CSB或CSC。相应地下面客户机CSA、CSB和CSC称为所选出的客户机而客户机C1、C2、C3和CL称为未选出的客户机。一个各自所选出的客户机CSA、CSB或CSC在其选择之后(如在图2中通过虚线连接的双箭头所指示的)属于其子网SNA、SNB或SNC的未选出的客户机。一个各自所选出的客户机CSA、CSB或CSC能在其选择之后将信息优选地借助一个所谓的广播报告传送给另外的部件,譬如其子网SNA、SNB或SNC的未选出的客户机。
此外图1中示出的客户机CSB支配一个寻找模块SM用于跨越子网地寻找服务器SRV以及在其他子网中、此处为SNA和SNC、寻找所选出的客户机、此处为CSA和CSC。此外如果找到服务器SRV,或IP地址SA由一个所找到的选出的客户机来传送,那么客户机CSB具有一个存储器MEM,以存储服务器SRV的IP地址SA。此外客户机CSB包含一个输出模块OUT,以将可能存储的服务器IP地址SA传送给其他子网SNA、SNC的所选出的客户机CSA、CSC以及传送给自己的子网SNB的未选出的客户机CL。客户机CSA和CSC具有实质上与图1中示出的客户机CSB相同的结构。
图3说明由所选出的客户机CSA、CSB和CSC在其各自的选择之后执行的跨越子网的寻找。在存在的实施例中客户机CSB的寻找模块SM在其寻找的范围内引起在子网SNA中的一个第一询问报告QMB1的传送和在子网SND中的一个第二询问报告QMB2的传送。不依赖于此所选出的客户机CSA在子网SNC中传送一个询问报告QMA1。询问报告QMA1、QMB1和QMB2能优选地针对上面提及的服务器端口的端口号,通过该服务器端口服务器SRV准备提供其业务。与此并列地所选出的客户机CSA、CSB和CSC本身监视所述端口号,以适当地操作其他客户机的类似的询问。
一个所选出的客户机,譬如CSB能在其寻找时在自己的子网以外遇到不同的客户机类型。下面在通过询问报告QMB1和QMB2的传送寻找客户机CSB的例子上依赖于所寻找的、这就是说各自的询问报告QMB1或QMB2接收的客户机的类型来说明其他方法方式:
1.如果找到一个本发明方法不支持的客户机(在图中未示出),那么寻找的客户机CSB在缺少一个期待的反应上认出这并继续其寻找。
2.如果找到一个未选出的但是本发明方法支持的客户机、譬如C3,那么该客户机不答复存在的实施例中的寻找的客户机CSB,而是将所述询问告诉在自己的子网SNA中选出的客户机CSA。于是所通知的客户机CSA接受所述答复。该情况通过图4继续说明。根据图4所选出的客户机CSB将针对上面提及的端口号的询问报告QMB1传送给子网SNA的未选出的客户机C3。因此客户机C3将信息报告IM传送给其子网SNA的所选出的客户机CSA,通过该子网SNA客户机CSA被告知客户机CSB的询问。于是客户机CSA通过将答复报告AM传送给客户机CSB答复询问。如果客户机CSA已经基于自己的询问识别服务器IP地址SA,该客户机CSA将服务器IP地址SA利用答复报告AM传送给客户机CSB。如果相反客户机CSA不识别服务器IP地址,那么这通过一个相应的负答复报告被通知给客户机CSB。在一个负答复报告处寻找的客户机CSB继续其寻找。
3.如果找到另一个所选出的客户机、譬如CSA或CSC,那么该客户机直接答复客户机CSB的询问。如果所找到的选出的客户机CSA或CSC,已经基于自己的询问识别服务器IP地址SA,那么该地址被传输给所询问的客户机CSB。如果所找到的客户机CSA或CSC还没有识别服务器IP地址SA,那么相应地传送一个负答复报告。在一个负答复报告处所寻找的客户机CSB继续其寻找。
优选地在寻找的和找到的选出的客户机之间交换其他的信息,以制定譬如所选出的客户机的网络环境的一幅拓扑图。有利地寻找的客户机CSB将所有找到的选出的和/或未选出的客户机的IP地址存储在其存储器MEM中。
4.如果所选出的客户机CSB自己找到服务器SRV,那么该客户机CSB根据服务器SRV对其端口询问的反应来识别这并因此将找到的服务器SRV的IP地址SA存储在存储器MEM中。
找到服务器SRV在图3中被说明。在图3中询问报告QMB2被传送给子网SND中的服务器SRV,于是服务器SRV传送回一个答复报告SAM,根据询问的客户机CSB认出服务器SRV。在认出服务器SRV之后客户机CSB将找到的服务器SRV的IP地址作为服务器IP地址存储在其存储器MEM中。
只要一个所选出的客户机、此处为CSB、认出服务器IP地址SA,该客户机就能将该地址传送给其他客户机,所述其他客户机将所传送的服务器IP地址SA在其方面分配给其他的客户机。以这种方式服务器IP地址SA级联式地分布在子网SNA、SNB和SNC上。
在图5中示例性地描述了,服务器IP地址SA如何从所选出的客户机CSB借助其输出模块OUT被传送给其自己的子网SNB的客户机CL以及跨越子网地传送给所选出的客户机CSA,客户机CSA的IP地址在客户机CSB中由于前述的询问是已知的。于是客户机CSA将服务器IP地址SA传送给其自己子网SNA的客户机C1、C2和C3以及跨越子网地传送给所选出的客户机CSC,该客户机CSC将服务器IP地址SA最终继续传送给其自己子网CNC的客户机CL。服务器IP地址SA的传送能譬如借助一个所谓的通报报告来完成。
以这种方式必须网络的所有客户机CSA、CSB、CSC、C1、C2、C3和CL在服务器SRV上存取,该服务器传送用于存取必要的IP地址SA。因此所述客户机CSA、……、CL在客户机-服务器-关系的意义上属于服务器SRV。
本发明允许一个分散控制的和大规模地自己组织地运行地将分布在多个子网上的客户机分配给其服务器。因此省出一种手动配置或集中信息业务的设备,诸如DNS(域名***)或DHCP。但是如果在网络中已经存在这样的如DNS或DHCP的集中信息业务,那么该业务能以简单的方式有利地包括在发明者的概念中。这样譬如能这样装备所选出的客户机,该客户机在另外的所选出的客户机之外也能按照所寻找的服务器SRV的IP地址SA询问集中DNS服务器和/或DHCP服务器。根据一种实施变化方案一个DNS-或DHCP服务器能这样装备,该服务器如所选出的客户机一样在本发明方法的意义上行动。通过包括存在的集中信息业务,如DNS或DHCP,寻找服务器的持续时间和服务器的IP地址的分布能被继续减少。
执行本发明方法要求不修改待寻找的服务器,而只修改该方法支持的客户机。根据存在的实施例该方法支持的客户机是为了补充用于选出自己子网的一个客户机的选择模块CSEL。此外一个该方法支持的客户机优选地这样安排,该客户机支持与自己子网的所选出的客户机的信息交换,并该客户机能将其他子网的所选出的客户机的询问转交给自己子网的所选出的客户机。在一个可选择的客户机处根据存在的实施例必须附加装设一个寻找模块、此处为SM、用于跨越子网地寻找所选出的客户机以及装设一个存储器、此处为MEM、用于存储服务器IP地址SA。此外在一个可选择的客户机处也装设一个输出模块、此处为OUT、以将所存储的服务器IP地址SA传送给在自己子网之外的询问的所选出的客户机以及传送给自己子网的询问的客户机。