补偿数据传输延迟的客户机-服务器系统的制作方法

文档序号:7577288阅读:160来源:国知局
专利名称:补偿数据传输延迟的客户机-服务器系统的制作方法
本专利申请提出基于日本专利申请HEI09-141279的优先权要求,后者于1997年5月30日提交申请,其内容作为本文的参考。
本发明涉及一种补偿客户机和服务器之间的传输延迟的客户机-服务器系统,并且涉及适用于这种客户机-服务器系统之中的客户机计算机(本申请中简称为客户机)和服务器计算机(本申请中简称为服务器)。本发明还涉及一种存储传输延迟补偿程序或时间调整程序的记录介质,以及客户机和服务器之间的一种通信方法。
更具体地,本发明涉及使地理上分离的客户机平等地访问服务器,并且涉及这种系统内的时间管理子系统。
在常规的计算机网络系统中,客户机通过专用电话线、通信线路交换和包交换等和服务器连接。服务器向客户机提供特定服务。例如,在Tannenbaum所著的“计算机网络”第二版(日文第一版,530-532页,Maruzen出版社)中所说明的这样一种客户机-服务器模型。
通常,服务器按照基于分时的数据接收次序顺序地处理各客户机发送的数据。一般不修正按照服务器的时钟的时间和按照客户机的时钟的时间之间的差异。在一些国家中,采用着时间调整技术,这种技术通过基于标准时钟的无线电传输自动地调整所有家用电气设备的时钟。
在常规的计算机网络系统中,服务器以先到先服务的基础处理数据。从而,由于靠近服务器的客户机和远离服务器的客户机之间的传输延迟的不同出现地理上的不平等。
图1表示常规客户机-服务器系统的一个例子。经通信网络客户机C1至C5直接和服务器S1连接。类似地,经通信网络客户机C6至C11直接和服务器S2连接。服务器S1和S2还经通信网络相互连接。这样,通过服务器S1客户机C1至C5可以和服务器S2连接。类似地,通过服务器S2客户机C6至C11可以和服务器S1连接。在这种布局下,客户机C1靠近服务器S1,从客户机C1到服务器S1的传输延迟是短的。另一方面,因为客户机C10远离服务器S1,从客户机C10到服务器S1的传输持续延迟是长的。这样,例如,如果客户机C1和C10把服务器S1用作主机玩战斗型视频游戏,客户机C1发送的命令比客户机C10发送的命令更快地到达服务器S1。结果,在对服务器S1的访问速度上,客户机C1优于客户机C10。
这种问题还会发生在别的情况下。例如,当客户机C1和C10为了订票同时向服务器S1发送请求时,客户机C1可以在客户机C10之前预订票,这是不平公的。随着客户机-服务器系统的网络配置变为更大时问题变得更为严重。另外,在当今的计算机网络中,网络内的每个客户机具有它自己的时钟。从而,除非每个客户机的用户人工地调整时钟,每个客户机的时钟得不到修正。
本发明的一个目的是提供能够在简单的配置下向所有地理上分离的客户机提供平等地访问服务器的权力,并且能够使系统内的所有时钟标准化的客户机-服务器系统,服务器和客户机。本发明的另一个目的是提供一种能够提供对服务器的平等访问权力和标准化系统内部的所有时钟的客户机和服务器之间的通信方法。本发明的再一个目的是提供一种存储程序(如后面所定义)的记录介质(如后面所定义),该程序可使服务器或客户机执行上面的通信方法。
根据本发明的客户机-服务器系统具有多个各带有一个客户机时钟的客户机和一个带有服务器时钟的服务器。每个客户机产生一个传输延迟测量信号并向服务器发送该传输延迟测量信号,该信号包括用于测量服务器和各个客户机之间的传输延迟的传输时间。客户机接收来自服务器的应答,把服务器时钟和客户机时钟之间的差异计算为时钟误差,并且把时钟误差发送给服务器。
服务器接收来自各个客户机的传输延迟测量信号,计算服务器和各个客户机之间的暂时传输延迟,产生包括着来自各个客户机的传输延迟测量信号的接收时间以及发送到各个客户机的应答的传输时间的应答,并且把应答发送给每个客户机。接着,服务器接收来自各个客户机的时钟误差,并计算服务器和各个客户机之间的实际传输延迟。服务器比较全部的这些实际传输延迟。接着,服务器在较长的延迟后向每个具有较短的实际传输延迟的客户机发送应答。另一方面,服务器在较短的延迟或者没有延迟下向每个具有较长的实时传输延迟的客户机发送应答,从而每个客户机将按相同的时间接收来自服务器的应答。
为了补偿所有客户机之间传输延迟上的差异,在每个客户机和电话线连接后并向服务器发送任何其它信息之前,每个客户机向服务器发送延迟测量信号。每个客户机计算服务器时钟和自己的客户机时钟之间的不同以作为时钟误差,修正服务器和各个客户机之间的暂时传输延迟,并且计算服务器和各个客户机之间的实际传输延迟。在得到第一个暂时传输延迟时,客户机时钟不和服务器时钟匹配。从而,需要首先通过得到作为时钟误差的客户机时钟和服务器时钟之间的不同确定实际的传输延迟,并且接着利用各自的时钟误差修正各自的暂时传输延迟。
在得到服务器和各个客户机之间的实际传输延迟之后,为了在访问服务器的能力上对具有短的实际传输延迟的客户机(一个或多个)施以比具有长的实际传输延迟的客户机(一个或多个)较大的障碍,服务器在较长的延迟后向具有较短实际延迟(短的传输距离)的客户机(一个或多个)发送应答,从而服务器的每个客户机将按相同的时间从服务器接收应答。
另一方面,为了在访问服务器的能力上对具有长的实际传输延迟的客户机(一个或多个)施以比具有短的实际传输延迟的客户机(一个或多个)较小的障碍,服务器在较短的延迟(短的等待周期后)或没有延迟(无等待周期)下向具有长的实际延迟(长的传输距离)的客户机(一个或多个)发送应答。以这种方式,即使一个客户机的传输时间和其它的客户机的传输时间不同,也可以均衡所有客户机访问服务器的能力。
另外,根据本发明,包括着各具有一个客户机时钟的多个客户机和一个具有服务器时钟的客户机-服务器系统根据下述配置解决上述的问题。
如下面所重申,每个客户机产生一个包含着时钟修正请求传输时间的时钟修正请求并且向服务器发送该时钟修正请求。每个客户机接收来自服务器的时钟修正应答,并且根据时钟修正应答的接收时间、时钟修正请求的传输时间、和服务器处的时钟修正请求的接收时间来修正每个客户机时钟,从而客户机时钟会和服务器时钟匹配。
当服务器接收来自各个客户机的时钟修正请求时,服务器产生包含着该时钟修正请求的接收时间的时钟修正应答,并且向各个客户机发送时钟修正应答。
通过采用这种配置,即使各个客户机时钟不和服务器时钟匹配,仍可以修正各个客户机时钟以和服务器时钟匹配。通过使各个客户机时钟和服务器时钟匹配,在上述的第一发明方面中用于实现传输延迟补偿过程的时钟误差变为零。因此,对各个客户机的传输延迟的补偿变为容易。
本客户机-服务器系统可以设置成,当服务器和有关的客户机之间的传输延迟超过规定的时间长度时,有关的客户机自动地向服务器发送上述的时钟修正请求,以便修正有关的客户机时钟。
图1表示常规客户机-服务器系统的网络配置。
图2表示根据本实施方式的客户机的电路配置。
图3表示根据本实施方式的服务器的电路配置。
图4是一个时间图,表示根据本发明的本实施方式的服务器-客户机系统中服务器和客户机之间的传输控制进程的梗概。
图5是本实施方式的客户机-服务器系统中客户机建立和服务器的连接的操作流程图。
图6是本实施方式的客户机-服务器系统中服务器建立和每个客户机的连接的操作流程图。
图7是本实施方式的客户机-服务器系统中服务器的数据传送操作的流程图。
图8是本实施方式的客户机-服务器系统中客户机的时钟修正操作的流程图。
图9是本实施方式的客户机-服务器系统中服务器的时钟修正操作的流程图。
图10是本实施方式的客户机-服务器系统中客户机的连接终止操作的流程图。
图11是本实施方式的客户机-服务器系统中服务器的连接终止操作的流程图。
图12表示根据本实施方式的客户机C的硬件配置。
图13是客户机C的数据流图,表示由CPU140和各硬件模块处理的各软件模块间的数据流。
图14是服务器S的数据流图,表示由CPU140和各硬件模块处理的各软件模块间的数据流。
现参照各


本发明的各最佳实施方式。
1.第一实施方式(1)系统配置根据本发明,在网络里唯一确定通信路径的服务器-客户机型信息处理系统中,通过使服务器接收和处理每个客户机的传输延迟(通过记录由各个客户机时钟表示的时间获得该延迟)解决客户机之间的地理的和暂时的不平等。
另外,利用服务器时钟作为标准时间,根据所记录的服务器时钟和各个客户机时钟之间的差异自动地修正各个客户机时钟。
本实施方式通过高于诸如IP(互联网协议)的连接协议的协议实现。服务器和每个客户机通过专用电话线、通信线路交换等连接。
按照本实施方式,使所有客户机访问服务器的能力平等,并且基于服务器时钟修正每个客户机时钟。客户机不必保持一直和服务器连接。一旦有关客户机的用户希望接收或停止服务,有关客户机可以分别向服务器发送连接请求或断开请求。
通过这种配置,各个客户机还可以访问除某个特定服务器之外的不同服务器。如果服务器S的时钟指示的时间和客户机C的时钟指示的时间之间的时钟误差A超过30分钟,该时钟误差含有时区上的不同。通过对该时钟误差A加/减小时数调整时区上的差异,从而使调整后的时钟误差A处于±30分钟的范围之内。以这种方式消除掉标准时间和非标准时间之间的时间差异的影响。但是,如果采用根据ARPA互联网正文式报文的格式标准RFC#822的时间表示,不需要通过加/减小时数调整时钟误差。
因为本实施方式的客户机-服务器系统的总配置和图1的配置相同,所以不对此进行说明。服务器S1和S2将集体地称为S,并且客户机C1至C11将集体地称为C。
在图1中,客户机C可以向服务器S发送用于请求和服务器S连接的连接请求包、用于请求和服务器S断开的断开请求包、用于向服务器S报告客户机C的时钟误差的误差报告包、用于修正客户机C的时钟的时钟修正请求包、以及用于发送其它信息的通用数据包。服务器S可以向客户机C发送用于应答连接请求的连接应答包、用于应答时钟修正请求的时钟修正应答包、以及用于应答断开请求的断开应答包。此外,服务器S可以向客户机C发送用于通知客户机C完成登记的连接完成通知包、以及通用数据包。这些包的类型由每个包的标题中所包含的包类型识别。
(2)客户机配置图2表示客户机C的模块配置(按下面所定义的)。图2中的每个模块(块)或多个模块可以是单个硬件设备。作为替代地,图2中的一个模块可以用多个硬件设备代替。在图2和图3的实施方式中,各模块表示为各个电路。但是,根据下面对“模块”的定义,每个模块也可以用软件实现,如图13和14的实施方式中所描述的那样,或者是所说硬件和软件的组合。除图2中所示的硬件之外,客户机C具有标准的计算机硬件。不过,在图2中略去了标准硬件。
在图2中,时钟1008向读出电路1001提供当前时间。读出电路1001在紧靠着请求/报告包生成电路1003产生请求或报告包之前从时钟1008读出当前时间,并把读出的当前时间提供给请求/报告包生成电路1003和时间记录电路1006。
请求/报告生成电路1003生成各种类型的请求包,例如用于请求和服务器S1连接的连接请求包等等,并且把包发送给服务器S1。时间记录电路1006记录读出电路1001提供的时间。数据处理电路1009接收和处理来自包识别电路1004的接收数据。此外,数据处理电路1009按包的形式向服务器S1发送数据。ID记录电路1005接收来自包识别电路1004的由服务器S对其客户机C分配的标识并且存储该标识。
当客户机C1接收来自服务器S1的包时,客户机C1的读出电路1001从时钟1008读出当前时间,并把该当前时间提供给时钟误差计算电路1002。包识别电路1004识别接收到的包的类型,并把接收到的包的类型提供给时间记录电路1006和时钟误差计算电路1002。此外,包识别电路1004读出该包被发送的并存储在所接收包中的发送时间,并且把该发送时间提供给时钟误差计算电路1002。
时钟误差计算电路1002根据读出电路1001所提供的当前时间和包识别电路1004提供的发送时间把根据客户机C1的时钟1008的当前时间和根据服务器S1的时钟的时间之间的差异计算为时钟误差A,并且把该时钟误差提供给时钟修正电路1007。时钟修正电路1007读出来自时钟1008的根据C1的当前时间,通过把时钟误差A和根据C1的由时钟1008表示的当前时间相加来计算修正时间,并且把时钟1008设定到该修正后的时间。
(3)服务器配置图3表示服务器S的硬件模块的配置。作为一种替代,图3中所示的各组多个硬件模块(块)可以用单个硬件设备代替。作为另一种替代,图3中所示的每组多个硬件模块可由多个硬件设备代替。除了图3中所示的硬件之外,服务器S具有标准的计算机硬件。不过,在图3中略去该标准的计算机硬件。
在图3中,当读出电路901接收来自客户机C的包时,读出电路901从时钟920读出当前时间,并把当前时间提供给传输延迟计算电路902和包识别电路904。包识别电路904接收来自客户机C的包,并从该包的标题中读出包的类型以及发出该包的时间。
包识别电路904所读出的包类型提供到ID控制电路905、传输延迟计算电路902及应答生成电路903。当ID控制电路905接收来自包识别电路904的连接请求包的包类型时,ID控制电路905从未分配的ID管理表908读出一个未分配的ID(标识),并在ID管理表906中记录该未分配的ID。当ID控制电路905从包识别电路904接收断开请求包的包类型时,ID控制电路905在ID管理表906中删除已发出断开请求的客户机C的ID,并把该删除的ID作为未分配的ID登记录到未分配的ID管理表908中。
传输延迟计算电路902基于从读出电路901接收的当前时间和包识别电路904接收到的包的发送时间之间的差异计算客户机C和服务器S之间的暂时传输延迟P,并把暂时传输延迟P登记到ID管理表906中。此外,当传输延迟计算电路902从包识别电路904接收客户机C的时钟1008的时钟误差A时,传输延迟计算电路902从暂时传输延迟P中减去时钟误差A以得到实际传输延迟D,并且再把实际传输延迟D登记到ID管理表906中。当应答生成电路903从包识别电路904接收每种请求包的包类型时,应答生成电路903根据从数据处理电路911接收的控制数据以及从读出电路901接收的读出时间生成应答,并向客户机C发送应答。
最大传输延迟选择电路910从ID管理表906读出多个客户机C中的每个和服务器S之间的传输延迟,并选出最大传输延迟DX。等待时间计算电路909根据从最大传输延迟选择电路910接收到的最大传输延迟DX和从ID管理表906中读出的各个客户机C的传输延迟之间的差异(DX-D)计算等待时间E,在该等待时间后输出从各客户机C接收到的包的应答,并在ID管理表906中记录等待时间E。
当优先时间计算电路907从包识别电路904接收包的接收时间时,优先时间计算电路907对该接收时间加上从ID管理表906读出的等待时间E。以这种方式,优先时间计算电路907计算应答包发出的时间(优先时间F),该时间补偿了多个客户机C之间的传输延迟上的差异。作为另一种实施方式,可以通过向从接收到的包中读出的该包的发送时间加上2E来计算优先时间F。数据处理电路911按从优先时间计算电路907接收的优先时间F发送数据包。
(4)通信程序图4表示在服务器S和客户机C之间进行的通信程序。首先,客户机C在时间T1向服务器S发送连接请求(步骤S10)。当服务器S在时间T2接收该连接请求时,服务器S计算服务器S和客户机C之间的暂时传输延迟。接着,服务器S在时间T3向客户机C发送连接应答(步骤S20)。
当客户机C在时间T4接收连接应答时,客户机C把服务器S的时钟和客户机C的时钟之间的差异计算为时钟误差A。接着,客户机C向服务器S发送包含着客户机C的ID和时钟误差A的误差报告包(步骤S30)。当服务器S接收误差报告包时,服务器S计算包含在误差报告包中的服务器S和客户机C之间的实际传输延迟。接着,服务器S确定和登记客户机C的应答等待时间E。然后,服务器产生登记完成通知,并向客户机C发送登记完成通知(步骤S40)。
当客户机C接收登记完成通知时,在服务器S和客户机C之间传送数据成为可能(步骤S50)。根据步骤S30中接收的误差报告包,服务器S修正和服务器S与客户机C之间的传输延迟对应的客户机C的传输延迟。从而,服务器S解决各客户机C之间传输延迟的不同造成的地理的和暂时的不平等。
客户机C在发送数据包之前,把该数据包的发送时间存储在该数据包中。当服务器S接收来自客户机C的数据包时,服务器S从数据包中读出发送时间T10,并把发送时间T10和根据服务器S的时钟的当前时间T11进行比较。从当前时间T11中减去发送时间T10,并把相减结果值确定为传输延迟D2。若该传输延迟D2和客户机C与服务器S间的传输延迟D之间的差超过预定的阈值,服务器S判定客户机C的时钟具有时钟误差,并把该判定通知客户机C。
可以按如下所述实现另一种实施方式。服务器S周期地向客户机C发送请求,以使由客户机C的时钟表示的时间能向服务器S发送,并且客户机C响应该请求发送根据客户机C的时钟的当前时间。还是在这种情况下,服务器S仍可以基于从客户机C接收到发送时间T10与从时钟920读出的根据服务器S的时钟的当前时间T11之间的差异确定是否需要修正客户机C的时钟。当客户机C的时钟不和服务器S的时钟匹配时,客户机C向服务器S发送时钟修正请求包(步骤S60)。服务器S接收时钟修正请求包,并向客户机C发送时钟修正应答包(步骤S70)。一旦按这种方式修正客户机C的时钟,就根据修正的时间在客户机C和服务器S之间传送数据(步骤S80)。
若客户机C的用户希望停止接收服务器S的服务,客户机C向服务器S发送断开请求包(步骤S90)。当服务器S接收断开请求包时,服务器S生成断开应答包并向客户机C发送该包(步骤S100)。
上面解释的传输控制程序基于假设一个固定的客户机C和服务器S有交互式关系。但是,在战斗型游戏系统或订票系统中,多个客户机C和服务器S连接。在这种情况下,为每个客户机C确定时钟误差A、实际传输延迟和等待时间E等等。
以这种方式,服务器S根据各个客户机的传输延迟为每个客户机接收和处理信息。从而,解决客户机之间的地理的和暂时的不平等。
下面详细说明(1)客户机C和服务器S的连接过程(步骤S10至S40),(2)数据传送过程(步骤S50),(3)对客户机C的时钟修正过程(步骤S60和S70),以及(4)服务断开过程(步骤S90和S100)。
(5)连接过程图5是客户机C的连接过程操作流程图。图6是服务器S的连接过程操作流程图。
在客户机C和电话线连接之后,客户机C的请求/报告包生成电路1003产生连接请求包,其包含着读出电路1001读出的传输时间T1(步骤S201)。接着,客户机C把请求包发送给服务器S(步骤S202)。同时,客户机C的时间记录电路1006记录传输时间T1。
当服务器S接收连接请求包(步骤S301)时,读出电路901读出接收时间T2(步骤S302)。包识别电路904识别从客户机C接收的包的类型。接着,服务器S随机地从未分配的ID管理表908中选择一个未分配的ID,并且把该选出的ID(例如对应于客户机的代码或数字)分配给客户机C(步骤S303)。
若使用完未分配的ID管理表908中的所有ID,服务器S向客户机C发送连接拒绝应答包(步骤S312)。若把未分配的ID管理表908中的一个未分配的ID分配给一个客户机C,服务器S计算接收时间T2-传输时间T1(步骤S304),并且把该值作为从客户机C到服务器S的界时传输延迟登记到ID管理表906中,使该值和客户机C的ID关连起来(步骤S305)。这里,若服务器S的时钟不和客户机C的时钟匹配,该暂时传输延迟=接收时间T2-传输时间T1不代表服务器S和客户机C之间的实际传输延迟。
ID控制电路905管理ID的登记和删除。若步骤S304中得到的暂时传输延迟的数值超过30分钟,判定该暂时传输延迟含有基于时区差的时间差。在这种情况下,通过加/减所需的小时数调整暂时传输延迟,从而使修正后的暂时传输延迟位于±30分钟的范围内。这个操作补偿标准时间和非标准时间之间的时间差。
在登记(S305)后,服务器S的读出电路901读出传输时间T3(步骤S306)。服务器S的应答生成电路903产生包含着请求包的接收时间T2、应答包的传输时间T3、和客户机C的ID的连接接受应答包,并把该包发送给客户机C(步骤S307)。
客户机C的包识别电路1004识别从服务器S接收的包的类型(步骤S203)。若接收到的包是连接拒绝应答,则终止该过程。若接收到的包是连接接受应答,读出电路1001则读出并记录应答包的接收时间T4(步骤S204)。客户机C的时钟误差计算电路1002按如下计算时钟误差AA={(T2-T1)-(T4-T3)}/2可以从应答包或时间记录电路1006读出客户机C处请求包的传输时间T1。通过对从客户机C到服务器S的传输延迟与从服务器S到客户机C的传输延迟之间的差值乘以1/2把服务器S的时钟和客户机C的时钟之间的差异计算为时钟误差A。若传输时间T3和接收时间T4因日期改变分别落在客户机C的传输时间T1和服务器S的接收时间T2的后面,则对传输时间T3和接收时间T4增加24小时。
如果需要,通过加/减所需的小时数调整时钟误差A,从而使暂时传输延迟处于例如±30分钟的范围内,以补偿标准时间和非标准时间之间的时间差。接着,客户机C把时钟误差A提供给时钟修正电路1007,把时钟误差A加到其时钟1008的时间上,从而修正钟1008(步骤S206)。ID记录电路1005记录服务器S对客户机C分配的ID(步骤S207)。然后,请求/报告包生成电路1003生成包含着客户机C的ID和时钟误差A的误差报告包,并把该包发送到服务器S(步骤S208)。
若在预定的时间长度之内服务器S不证实对误差报告包的接收(步骤S308),服务器S就删掉该客户机C的ID的登记(步骤S313)。若在预定的时间长度内服务器S证实误差报告包的接收(步骤S308),服务器S的延迟计算电路902则从为该客户机C的ID存储的传输延迟中减去时钟误差A。相减的结果是指定为客户机C和服务器S之间的实际传输延迟D的值(步骤S309)。
通过把实际传输延迟D加到ID管理表906的传输延迟上服务器S更新存储在ID管理表906中的传输延迟。然后,服务器S把该客户机C的实际传输延迟D和登记在最大传输延迟选择电路910中的最远客户机的最大传输延迟DX进行比较(步骤S310a)。若DX≥D,则等待时间计算电路909只为该客户机C的已登记的ID计算等待时间E(步骤S310b)。换言之,按如下设定等待时间EE=DX-DID管理表906登记该等待时间E。若在步骤S310a中DX<D,则对每个登记的ID重新计算等待时间E(步骤S310C)。当ID管理表906按这种方式完成所有参数(等待时间E)的登记时,服务器S在应答生成电路903中产生登记完成通知包并向客户机C发送该包(步骤S311)。
以这种方式,ID管理表906为每个客户机C设定最佳等待时间E。对于具有短的来自服务器S的传输延迟的客户机设定长的等待时间。相反,对于具有长的对服务器S的传输延迟的客户机C设定短的等待时间E。从而,减小了具有对服务器S短的传输延迟的客户机C和具有对服务器S长的传输延迟的客户机C之间的地理不平等。以这种方式,服务器S可以用对所有客户机C平等的应答时间处理来自所有客户机C的命令的应答。
当服务器S结束各个客户机C的等待时间E的设定时,服务器S调用数据传输过程(步骤S314)。当有关客户机C接收登记完成包(步骤S209)时,该有关的客户机C也调用数据传送过程(步骤S214)。若在预定的时间长度内客户机C未接收登记完成包时,则有关的客户机C删除ID并终止该过程(步骤S209和209a)。以这种方式,建立了服务器S和各个客户机C之间的连接。
需要把图5中所示的用来运行各个客户机C和服务器S连接的传输延迟补偿控制程序存储到诸如软盘或客户机C的ROM的记录媒体中,以便改变该程序。还需要把图5中所示的用来运行服务器S和各个客户机C连接的传输延迟补偿控制程序存储到诸如软盘或服务器S的ROM的记录媒体中。
(6)数据传送处理图7是服务器S在服务器S和各个客户机C之间传送数据的操作的流程图。若服务器S接收来自最远的客户机C的数据,服务器S对该最远的客户机发送数据应答(步骤S401)。服务器S在下一优先时间F之前等待(步骤S402),所说下一个优先时间F已和每个其余的客户机C的ID一起进行过登记。当到达有关的优先时间F时服务器向客户机C发送数据应答(步骤S403)。
当服务器S接收有关客户机C的数据处理电路1009生成的数据时(步骤S404),服务器S的读出电路901记录该数据的接收时间T(步骤S405)。然后,服务器S的优先时间计算电路907把等待时间E加到接收时间T上以确定优先时间F(步骤S406)。在此之后,服务器S的数据处理电路911按照递增优先时间的次序从具有最短优先时间F的客户机C开始顺序地处理接收到的数据,并按该次序应答其余的客户机。
以这种方式,服务器S在向具有短的传输延迟的客户机C发送应答包之前向具有长的传输延迟的客户机C发送应答包。从而,可以消除多个客户机中因不同的传输延迟和地理分离造成的不平等。
需要把图7中所示的用来运行服务器S以向各个客户机C发送数据的传输延迟补偿控制程序存储到诸如软盘或服务器S的ROM的记录媒体中,以便改变或保留该程序。
(7)客户机C的时钟修正过程图8表示当有关客户机C的时钟不和服务器S的时钟匹配时有关客户机C执行的时钟修正过程的流程图。图9表示当有关客户机C的时钟不和服务器S的时钟匹配时服务器S执行的时钟修正过程的流程图。
当有关客户机C的时钟不和服务器S的时钟匹配时,有关客户机C的读出电路1001首先读出传输时间T5(步骤S501),然后请求/报告包生成电路1003生成包含着该时钟修正请求包的传输时间T5的时钟修正请求包,并把该时钟修正请求包发送给服务器S(步骤S502)。
有关客户机C的时间记录电路1006记录时钟修正请求包的传输时间T5。当服务器S接收时钟修正请求包时(步骤S601),服务器S的读出电路901从时钟920读出该时钟修正请求包的接收时间T6(步骤S602)。应答生成电路901生成包含着接收时间T6和有关客户机C的ID的时钟修正应答包,并且把该包发送给有关的客户机C(步骤S603)。
当有关客户机C接收时钟修正应答包(步骤S503)时,有关客户机C的读出电路1001从时钟1008读出时钟修正应答包的接收时间T7(步骤S504)。接着,时钟误差计算电路1002按下式计算时钟误差A(步骤S505)A=T6-(T7+T5)/2若由于日期更改接收时间T7落后于传输时间T5,则接收时间T7增加24小时。若服务器S的时钟表示的时间和客户机C的时钟表示的时间之间的时钟误差A的数值超过30分钟,该时钟误差A含有标准时间和非标准时间之间的时间差。在这种情况下,通过对该时钟误差A加或减小时数来调整该时钟误差A的值,从而使调整后的时钟误差A处于±30分钟的范围内。以这种方式去掉标准时间和非标准时间之间的时间差的影响。若采用根据ARPA互联网正文报文的格式标准RFC#822的时间表示,不需要调整服务器S的时钟和客户机C的时钟之间的时钟误差A。接着,把时钟误差A发送到在其中对该时钟误差A加上当前时间的时钟修正电路1007。这样,修正了时钟1008,从而和服务器S的时钟匹配(步骤S506)。
如上面所说明的那样,即使有关客户机C的用户不输入数据,可以基于服务器S的时钟修正有关客户机C的时钟。从而,为了精确地保持整个系统的时钟只要精确地保持服务器S的时钟的时间就够了。
需要把图8中所示的用于运行客户机C以修正各个客户机C的时钟的时钟修正控制程序存储到诸如软盘或各个客户机C的ROM的记录媒体中,以便修改或保留该程序的运行。还需要把图9中所示的用于运行服务器S以修正各个客户机C的时钟的时钟修正控制程序存储到诸如软盘或服务器S的ROM的记录媒体中。
(8)连接终止过程图10是用于说明各个客户机C终止和服务器S的连接的操作的流程图。图11是用于说明服务器S终止和各个客户机C的连接的操作的流程图。
当各个客户机C的用户希望停止接收客户机-服务器系统提供的服务(例如,战斗型游戏或订票)时,有关客户机C的请求/报告包生成电路1003生成包含着分配给该有关客户机C的ID的断开请求包,并把该包发送给服务器S(步骤S701)。当服务器S接收该断开请求包时(步骤S801),服务器S从ID管理表906中删掉该有关客户机C的ID设定信息(步骤S802),并利用ID控制电路905把该ID登记到未分配的ID管理表908中(步骤S803)。在此之后,应答生成电路903生成断开应答包,并把该应答包发送给对应的客户机C(步骤S804)。接收到该断开应答包(步骤S702)的客户机C删掉ID记录电路1005中登记的它的ID(步骤S703)。这样,断开并释放服务器S和有关客户机C之间的连接。
通过上述的配置和操作,改进了需要为客户机进行实时命令处理的战斗型游戏中以及在其内专用网络和平等可访问性是重要的订票系统中的参与及访问的平等性。
作为一种替代,通过使有关客户机C读出它的时钟并且记录服务器S任何时刻向有关客户机C发送数据的传输延迟,当服务器S的时钟和有关客户机C的时钟之间的误差大于预定的时间长度时,可以设定客户机-服务器系统从而自动地修正有关客户机C的时钟。
如上面所说明的那样,每个客户机向服务器发送包含着传输延迟测量信号的传输时间在内的传输延迟测量信号,以便测量服务器和有关客户机之间的传输延迟。服务器计算服务器和每个客户机之间的暂时传输延迟,对每个客户机产生一个应答,并把有关应答发送给每个客户机。有关客户机接收应答,计算服务器S的时钟和有关客户机C的时钟之间的误差,并向服务器发送时钟误差信号。
服务器根据有关客户机的时钟误差信号计算服务器和每个客户机之间的实际传输延迟。服务器对所有客户机的实际传输延迟进行比较。根据比较的结果,服务器在较长的延迟后向具有较短的实际延迟的客户机发送应答。反之,服务器在较短的延迟或无延迟下向具有较长实际延迟的客户机发送应答。这样,利用一种简单的配置,可以均等所有多个地理上分离的客户机对服务器的访问能力。
另外,根据本发明,每个客户机生成包含着该时钟修正请求的传输时间在内的时钟修正请求,并向服务器发送该时钟修正请求。当服务器接收该时钟修正请求时,服务器生成时钟修正应答并向有关客户机发送时钟修正应答。当有关客户机接收来自服务器的时钟修正应答时,该有关客户机根据时钟修正应答的接收时间、时钟修正应答的传输时间、以及服务器处时钟修正请求的接收时间来修正它的时钟,从而使有关客户机的时钟和服务器的时钟相匹配。这样,可以方便地基于一个公共时钟标准化服务器-客户机系统内的所有时钟。
2.另一实施方式图12是一个方块图,表示根据本实施方式的客户机C的硬件配置。在图12中,CPU140基于存储在ROM142和RAM144里的程序运行。带有备用电池的时钟1008向CPU140提供当前时间。用户通过输入设备148输入数据。硬盘机150存储数据以及运行CPU140的程序。软盘机152从软盘156读出数据或程序并把数据或程序提供给CPU140。CD-ROM机154从CD-ROM158中读出数据或程序,并把数据或程序提供给CPU140。另外,客户机C具有用于和通信网络连接的通信接口164和用于和显示器162连接的显示器接口160。服务器S的硬件配置将不作说明,因为它几乎和客户机C的配置相同。
按照本实施方式,CPU140根据软件程序执行上面的实施方式中所解释过的大部分操作。
图13表示客户机C的CPU140所执行的程序模块(下面定义)间的数据流。在图13中,时间记录模块1006和ID记录模块1005把数据存储到诸如RAM144、硬盘机150、软盘156等的记录媒体中。在本实施方式中,时钟1008是由硬件提供的。但是,作为一种替代,时钟1008可以由软件模块提供,该软件模块根据规定的时钟运行。在本实施方式中,图13中的其它块由程序的软件模块提供并且存储在诸如软盘156、CD-ROM158等的记录媒体中。
图14是一个数据流图,表示由服务器S的CPU140和硬件执行的软件模块之间的数据流。在图14中,ID管理表906和未分配的ID管理表908设置在图12中的诸如RAM144、硬盘机150或软盘156之类的记录媒体等中。在本实施方式中,时钟920是用硬件提供的。但是,作为一种替代,时钟920可以由软件模块提供,该模块根据给定的时钟运行。图14中的其它块存储在诸如软盘156或CD-ROM158等的记录媒体中,并且按程序方式提供。
图2和3中的每个硬件模块的操作以和本实施方式中图13和14里的软件模块的几乎相同方式执行。图13和14中软件模块之间的数据流与图2和3中所示的硬件模块之间的数据流几乎相同,从而省略对它们的说明。将不对服务器S和客户机C之间的通信程序及服务器S和客户机C的CPU140的操作进行说明,因为它们大致和上面的实施方式中的通信程序和操作相同。如图13和14中所示,也可以通过软件模块实现传输延迟补偿及时钟修正。
3.定义在包括着权利要求书在内的本说明书中术语“程序”复盖着数据,通过译码CPU140可以执行它们,此外还复盖着CPU140可以直接执行的那些代码。作为一种选择,可以事先为CPU140准备这些代码以供执行。事先准备的代码可称为由记录媒体提供的命令,并且可以被执行。例如,使CPU140执行各种基本操作的代码可以事先作为操作系统的一部分功能存储在硬盘机150中。使CPU140执行各种基本操作的代码在需要时可以通过命令调用。术语“程序”包括这种命令。类似地,可以在记录媒体中存储指示CPU140运行给定功能的操作的数据。根据记录媒体提供的数据CPU140可读出事先设置的代码,并执行这些代码。本说明书中的术语“程序”也复盖着这样的数据。
在包括着权利要求书在内的本说明书中术语“记录媒体”复盖着任何在其中存储CPU140执行的程序的实际物体。例如,术语“记录媒体”复盖着图12中所示的软盘156、CD-ROM158、硬盘机150、ROM142和RAM144,诸如DVD的光记录媒体,诸如MO的光磁记录媒体,诸如磁带的磁记录媒体、以及诸如IC卡和小型卡的半导体存储器。可以在“记录媒体”中存储本实施方式中所说明的使CPU140执行部分或全部操作的程序。
另外,本说明书中说明的部分或全部操作可以分开地存储在一种类型或多种不同类型的多个记录体上。例如,程序可以存储在几张软盘中或者一张CD-ROM及一张软盘中。这种多个的记录体在本说明书中概括地称为“记录媒体”并且由术语“记录媒体”复盖。程序可以由CPU140直接从记录媒体中读出以便执行。可以选择地,可以把程序读到其它的记录媒体例如RAM144等中并接着得到执行。此外,CPU140可以首先从记录媒体把程序安装到硬盘机150等中,再把程序读到诸如RAM144等其它的记录媒体中,并接着执行该程序。
包括着权利要求书在内的本说明书中的术语“模块”可以是由第一实施方式说明的单个或几个电路组成的硬件模块,由CPU140执行的软件模块,或者是它们的组合。说明书中说明的某些模块可以用软件、硬件以及软硬件的组合中的一种实现,而别的模块可以用别的方式实现。
在专利局审查本专利申请时以及在美国的法庭诉讼时,本专利申请人除了根据35USC的112条款的第6段中所说明的词“装置”或“步骤”之外不打算在权利要求中具有任何别的要素。
利用最佳实施方式已对本发明进行了说明。但是,本发明的范围不局限于上面说明的实施方式及它们的等同物上。可以通过对上面的实施方式添加各种修改实现本发明,并且这样修改后的发明处于下述权利要求书清晰阐明的本发明的范围内。
权利要求
1.一种由一个服务器和一个客户机经通信网络互相连接组成的客户机-服务器系统,所述客户机具有客户机时钟,所述服务器具有服务器时钟,其中所述客户机包括一个用于生成请求、基于从所述客户机时钟读出的时间确定所说请求的传输时间并且在所述请求的所述传输时间向所述服务器发送所述请求的请求生成模块,以及一个时钟误差计算模块,用于根据所述请求的所述传输时间、所述服务器处所述请求的接收时间-该接收时间由所述服务器通知为对所述请求的应答、所述客户机处所述应答的接收时间来计算实质上等于所述服务器时钟的时间与所述客户机时钟的时间之间的差异的时钟误差,所述请求的所述接收时间是基于从所述服务器时钟读出的时间确定的,所述应答的所述接收时间是基于从所述基于从所述客户机时钟的时间确定的;以及所述服务器包括一个应答生成模块,用于当所述服务器接收来自所述客户机的所述请求时生成所述应答并且用于向所述客户机发送所述应答。
2.如权利要求1所述的客户机-服务器系统,其特征在于所述应答生成模块生成包含着所述服务器处所述应答的传输时间的所述应答,所述应答的所述传输时间基于从所述服务器时钟读出的时间确定;并且所述时钟误差计算模块根据从所述请求的所述传输时间到所述请求的所述接收时间的第一时间间隔与从所述应答的所述传输时间到所述应答的所述接收时间的第二时间间隔之间的差计算所述时钟误差。
3.如权利要求1所述的客户机-服务器系统,其特征在于所述客户机还包括一个时钟修正模块,用于基于从所述客户机时钟读出的时间以及所述时钟误差计算模块计算出的所述时钟误差修正所述客户机时钟。
4.如权利要求1所述的客户机-服务器系统,其特征在于所述客户机的所述请求模块生成包含着所述请求的所述传输时间的所述请求;所述客户机还包括一个时钟误差报告模块,用于向所述服务器发送所述时钟误差,以及一个数据处理模块,用于向所述服务器发送数据以及从所述服务器接收数据应答;以及所述服务器还包括一个传输延迟计算模块,用于基于所述请求的所述传输时间和所述请求的所述接收时间计算所述服务器和所述客户机之间的暂时传输延迟,一个优先时间计算模块,用于基于所述服务器处所述数据的接收时间、所述暂时传输延迟、以及接收到的来自所述客户机的所述时钟误差计算用于应答所述数据的优先时间,以及一个数据处理模块,用于在所述优先下发送所述数据应答。
5.如权利要求4所述的客户机-服务器系统,包括多个所述客户机,其特征在于所述传输延迟计算模块还根据所述暂时传输延迟及所述时钟误差计算所述服务器和经所述通信网络连接的各个所述客户机之间的实际传输延迟;以及所述优先时间计算模块还对所述各客户机的所述实际传输延迟进行比较,并且通过对所述数据的所述接收时间加以等待时间确定所述优先时间,对于具有较短实际传输延迟的所述客户机其等待时间较长。
6.如权利要求5所述的客户机-服务器系统,其特征在于所述优先时间计算模块选出所述实际传输延迟中的最大值,并且通过从所述最大值减去所述各个客户机的所述实际传输延迟确定所述每个客户机的所述等待时间。
7.如权利要求1所述的客户机-服务器系统,其特征在于所述请求生成模块生成还包括着所述请求的所述传输时间的所述请求;所述应答生成模块生成还包括着所述请求的所述传输时间的所述应答;所述时钟误差计算模块还基于所述应答中包含的所述请求的所述传输时间计算所述时钟误差。
8.如权利要求1所述的客户机-服务器系统,其特征在于所述客户机还包括一个时间记录模块,用于保持所述请求的所述传输时间,所述客户机把所述请求的所述传输时间提供给计算时钟误差的所述时钟误差计算模块。
9.一种通过通信网络和一个服务器连接的客户机,所述客户机具有客户机时钟并且所述服务器具有服务器时钟,其包括一个请求生成模块,用于生成请求、用于基于从所述客户机时钟读出的时间确定传输时间、并且用于在所述请求的所述传输时间向所述服务器发送所述请求;以及一个时钟误差计算模块,用于根据所述请求的所述传输时间、所述服务器处所述请求的接收时间-该接收时间由所述服务器通知为对所述请求的应答、以及所述客户机处所述应答的接收时间计算实质上等于所述服务器时钟的时间与所述客户机时钟的时间之间的差异的时钟误差,所述请求的所述接收时间是基于从所述服务器时钟读出的时间确定的,所述应答的所述接收时间是基于从所述客户机时钟读出的时间确定的。
10.如权利要求9所述的客户机,其特征在于所述应答包括所述服务器处所述应答的传输时间,它是基于从所述客户机时钟读出的时间确定的;以及所述时钟误差计算模块根据从所述请求的所述传输时间到所述请求的所述接收时间的第一时间间隔与从所述应答的所述传输时间到所述应答的所述接收时间的第二时间间隔之间的差计算所述时钟误差。
11.如权利要求9所述的客户机,其特征在于还包括一个时钟修正模块,用于基于从所述客户机时钟读出的时间以及所述时钟误差计算模块计算出的所述时钟误差修正所述客户机时钟。
12.如权利要求9中所述的客户机,其特征在于还包括一个时钟误差报告模块,用于向所述服务器发送所述时钟误差;以及一个数据处理模块,用于向所述服务器发送数据以及从所述服务器接收数据应答,所述服务器基于所述请求的所述传输时间、所述服务器处的所述请求的所述接收时间、以及向所述服务器发送的所述时钟误差延迟所述数据应答。
13.如权利要求9所述的客户机-服务器系统,其特征在于所述请求生成模块生成还包括着所述请求的所述传输时间的所述请求;所述响应还包括所述请求的所述传输时间;以及所述时钟误差计算模块还基于包含在所述应答中的所述请求的所述传输时间计算所述时钟误差。
14.如权利要求9所述的客户机,其特征在于还包括一个时间记录模块,用于保持所述请求的所述传输时间并把所述请求的所述传输时间提供给计算所述时钟误差的所述时钟误差计算模块。
15.一种经通信网络和一个客户机连接的服务器,所述客户机具有客户机时钟并且所述服务器具有服务器时钟,该服务器包括一个应答生成模块,用于当所述服务器接收来自所述客户机的包含着所述客户机处的一个请求的传输时间的所述请求时生成包括着应答的传输时间的所述应答,并且用于向所述客户机发送所述应答,所述请求的所述传输时间是基于从所述客户机时钟读出的时间确定的,所述应答的所述传输时间是基于从所述服务器时钟读出的时间确定的。
16.如权利要求15的服务器,其特征在于还包括一个传输延迟计算模块,用于基于所述请求的所述传输时间和所述请求的接收时间计算所述服务器和所述客户机之间的暂时传输延迟;一个优先时间计算模块,用于基于所述服务器处所述数据的接收时间、所述暂时传输延迟、以及所述客户机报告的所述客户机时钟的时钟误差计算用于应答从所述客户机接收的数据的优先时间;以及一个数据处理模块,用于在所述优先时间发送所述数据应答。
17.如权利要求16所述的服务器,它还和多个所述客户机连接,其特征在于所述传输延迟计算模块还基于所述暂时传输延迟和所述时钟误差计算所述服务器和经所述通信网络连接的每个所述客户机之间的实际传输延迟;以及所述优先时间计算模块还比较各所述客户机的所述实际传输延迟,并且通过对所述数据的所述接收时间加上等待时间来确定所述优先时间,具有较短实际传输延迟的所述客户机的所述等待时间较长。
18.如权利要求17所述的服务器,其特征在于所述优先时间计算模块选出所述实际传输延迟的最大值,并且通过从所述最大值中减去所述各个客户机的所述实际传输延迟为所述各个客户机确定所述等待时间。
19.一种存储用于控制经通信网络和一个服务器连接的一个客户机的程序的记录媒体,所述客户机具有客户机时钟并且所述服务器具有服务器时钟,其中所述程序包括一个请求生成模块,用于使所述客户机生成请求,基于从所述客户机读出的时间确定传输时间,并且在所述请求的所述传输时间向所述服务器发送所述请求;以及一个时钟误差计算模块,用于使所述客户机根据所述请求的所述传输时间、所述服务器处所述请求的接收时间-该接收时间由所述服务器通知为对所述请求的应答、以及所述客户机处所述应答的接收时间计算实质上等于所述服务器时钟的时间与所述客户机时钟的时间之间的差异的时钟误差,所述请求的所述接收时间是基于从所述服务器时钟读出的时间确定的,所述应答的所述接收时间是基于从所述客户机时钟读出的时间确定的。
20.如权利要求19所述的记录媒体,其特征在于所述应答包括所述服务器处所述应答的传输时间,它是基于从所述服务器时钟读出的时间确定的;以及所述时钟误差计算模块使所述客户机根据从所述请求的所述传输时间到所述请求的所述接收时间的第一时间间隔与所述应答的所述传输时间到所述应答的所述接收时间的第二时间间隔之间的差计算所述时钟误差。
21.如权利要求19所述的记录媒体,其特征在于所述程序还包括一个时钟修正模块,用于使所述客户机基于从所述客户机时钟读出的时间以及所述时钟误差计算模块计算的所述时钟误差修正所述客户机时钟。
22.如权利要求19所述的记录媒体,其特征在于所述请求生成模块使所述客户机生成包括着所述请求的所述传输时间的所述请求,所述程序还包括一个时钟误差报告模块,用于使所述客户机向所述服务器发送所述时钟误差;以及一个数据处理模块,用于使所述客户机向所述服务器发送数据以及从所述服务器接收数据应答,所述服务器基于所述请求的所述接收时间、所述服务器处所述请求的所述传输时间、以及向所述服务器发送的所述时钟误差延迟所述数据应答。
23.如权利要求19所述的记录媒体,其特征在于所述程序还包括一个时间记录模块,用于使所述客户机保持所述请求的所述传输时间并向用于计算所述时钟误差的所述时钟误差计算模块提供所述请求的所述传输时间。
24.一种存储用于控制经通信网络和一个客户机连接的一个服务器的程序的记录媒体,所述客户机具有客户机时钟,所述服务器具有服务器时钟,其中所述程序包括一个应答生成模块,用于使所述服务器在接收来自所述客户机的包含着所述客户机处请求的传输时间的所述请求时生成包括着应答的传输时间的所述应答,并且用于使所述服务器向所述客户机发送所述应答,所述请求的所述传输时间是基于从所述客户机时钟读出的时间确定的,所述应答的所述传输时间是基于从所述服务器时钟读出的时间确定的。
25.如权利要求24所述的记录媒体,其特征在于所述程序还包括一个传输延迟计算模块,用于使所述服务器基于所述请求的所述传输时间和所述请求的接收时间计算所述服务器和所述客户机之间的暂时传输延迟;一个优先时间计算模块,用于使所述服务器基于所述服务器处所述数据的接收时间、所述暂时传输延迟、以及所述客户机报告的所述客户机时钟的时钟误差计算用于应答从所述客户机接收的数据的优先时间;以及一个数据处理模块,用于使所述服务器按所述优先时间发送所述数据应答。
26.如权利要求25所述的记录媒体,其特征在于所述服务器还和多个所述客户机连接;所述传输延迟计算模块还使所述服务器基于所述暂时传输延迟和所述时钟误差计算所述服务器和经所述通信网络连接的每个所述客户机之间的实际传输延迟;以及所述优先时间计算模块还使所述服务器比较各所述客户机的所述实际传输延迟,并且使所述服务器通过对所述数据的所述接收时间加上等待时间来确定所述优先时间,具有较短实际传输延迟的所述客户机的所述等待时间较长。
27.如权利要求25所述的记录媒体,其特征在于所述优先时间计算模块使所述服务器选出所述实际传输延迟的最大值,并且通过从所述最大值中减去所述各个客户机的所述实际传输延迟为所述各个客户机确定所述等待时间。
28.一种在通过通信网络互相连接起来的一个服务器和一个客户机之间的通信方法,所述客户机具有客户机时钟,所述服务器具有服务器时钟,所述方法包括所述客户机生成一个请求,根据从所述客户机时钟读出的时间确定所述请求的传输时间,并且在所述请求的所述传输时间向所述服务器发送所述请求;当所述服务器从所述客户机接收所述请求时,所述服务器生成一个应答并向所述客户机发送所述应答;以及所述客户机根据所述请求的所述传输时间、所述服务器处所述请求的接收时间-该接收时间由所述服务器通知为对所述请求的应答、以及所述客户机处所述应答的接收时间计算实质上等于所述服务器时钟的时间与所述客户机时钟的时间之间的差异的时钟误差,所述请求的所述接收时间是基于从所述服务器时钟读出的时间确定的,所述应答的所述接收时间是基于从所述客户机时钟的时间确定的。
29.如权利要求28所述的通信方法,其特征在于所述服务器生成包含着所述服务器处所述应答的传输时间的所述应答,所述应答的所述传输时间基于从所述服务器时钟读出的时间确定并被包含到所述应答中;以及所述客户机根据从所述请求的所述传输时间到所述请求的所述接收时间的第一时间间隔与从所述应答的所述传输时间到所述应答的所述接收时间的第二时间间隔之间的差计算所述时钟误差。
30.如权利要求28所述的通信方法,其特征在于还包括所述客户机还基于从所述客户机时钟读出的时间以及所述的时钟误差修正所述客户机时钟。
31.如权利要求28所述的通信方法,其特征在于所述请求包含所述请求的所述传输时间,所述方法还包括所述客户机向所述服务器发送所述时钟误差;所述客户机向所述服务器发送数据并接收来自所述服务器的数据应答;所述服务器基于所述请求的所述传输时间和所述请求的所述接收时间计算所述服务器和所述客户机之间的暂时传输延迟;所述服务器基于所述服务器处所述数据的接收时间、所述暂时传输延迟、以及接收到的来自所述客户机的所述时钟误差计算用于应答所述数据的优先时间;以及所述服务器在所述优先时间发送所述数据应答。
32.如权利要求31所述的通信方法,其特征在于所述服务器经所述通信网络和多个客户机连接,所述方法还包括所述服务器根据所述暂时传输延迟及所述时钟误差计算所述服务器和经所述通信网络连接的各个所述客户机之间的实际传输延迟;以及所述服务器对所述各客户机的所述实际传输延迟进行比较,并且通过对所述数据的所述接收时间加以等待时间来确定所述优先时间,对于具有较短实际传输延迟的所述客户机其等待时间较长。
33.如权利要求32所述的通信方法,其特征在于还包括所述服务器选出所述实际传输延迟的最大值,并且通过从所述最大值减去所述各个客户机的所述实际传输延迟确定所述每个客户机的所述等待时间。
34.如权利要求28所述的通信方法,其特征在于所述请求还包含所述请求的所述传输时间;所述应答还包含所述服务器从所述请求读出的所述请求的所述传输时间;以及所述客户机还根据包含在所述应答中的所述请求的所述传输时间计算所述时钟误差。
35.如权利要求28所述的通信方法,还包括所述客户机保持所述请求的所述传输时间并为计算所述时钟误差提供所述请求的所述传输时间。
全文摘要
一种为地理上分离的多个客户机实现平等访问服务器的客户机-服务器系统。当在时间T2服务器S接收客户机C的连接请求时,服务器S计算暂时传输延迟。在时间T3服务器S向客户机C发送连接应答(S20)。客户机C在时间T4接收连接应答并计算作为时钟误差A。接着客户机C向服务器S发送误差报告包(S30)。服务器S计算实际传输延迟,并确定应答等待时间E。服务器生成并向客户机C发送登记完成通知包(S40)。
文档编号H04L12/56GK1204194SQ9810935
公开日1999年1月6日 申请日期1998年5月28日 优先权日1997年5月30日
发明者千田浩一 申请人:冲电气工业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1