KR100325089B1 - 데이터 전송지연시간을 보정하는 클라이언트-서버 시스템 - Google Patents
데이터 전송지연시간을 보정하는 클라이언트-서버 시스템 Download PDFInfo
- Publication number
- KR100325089B1 KR100325089B1 KR1019980019073A KR19980019073A KR100325089B1 KR 100325089 B1 KR100325089 B1 KR 100325089B1 KR 1019980019073 A KR1019980019073 A KR 1019980019073A KR 19980019073 A KR19980019073 A KR 19980019073A KR 100325089 B1 KR100325089 B1 KR 100325089B1
- Authority
- KR
- South Korea
- Prior art keywords
- time
- client
- server
- request signal
- circuit
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
- H04L7/0033—Correction by delay
- H04L7/0037—Delay of clock signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/28—Timers or timing mechanisms used in protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
- Small-Scale Networks (AREA)
- Communication Control (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
Abstract
클라이언트-서버 시스템은 지리적으로 떨어진 복수의 클라이언트로부터 서버로의 액세스권을 평등화한다. 서버가 시간 T2에서 클라이언트 C로부터 접속요구신호를 수신되면, 서버 S는 클라이언트 C에서 서버 S까지의 일시적인 전송지연 시간을 산출한다. 서버 S는 시간 T3에서 접속 응답 신호를 클라이언트 C에 송신한다(S20). 클라이언트 C는 시간 T4에서 접속 응답 신호를 수신하고, 시각오차 A로서, 서버 S의 시각과 클라이언트 C의 시각 사이의 시간차를 산출한다. 다음에, 클라이언트 C는 클라이언트 C의 ID와 시각오차 A를 포함하는 오차 신고 패킷을 서버 S로 송신한다(S30). 서버 S는 오차 신고 패킷을 수신하고, 이 오차 신고 패킷 내에 포함된 시각오차 A에 근거하여 클라이언트 C와 서버 S 사이의 실제의 전송지연시간을 산출하며, 클라이언트 C에 대한 응답 대기시간 E를 등록한다. 서버 S는 등록완료 통지신호를 생성하여, 그 패킷을 클라이언트 C에 송신한다(S40). 클라이언트 C가 이 등록완료 통지패킷을 수신하면, 클라이언트 C와 서버 S 사이에서 데이터 전송을 수행할 수 있다(S50).
Description
본 발명은 클라이언트와 서버 사이의 전송지연시간을 보정하는 클라이언트-서버 시스템과, 클라이언트-서버 시스템 내에 채용된 클라이언트 컴퓨터(본 명세서에서는 클라이언트라고 약칭) 및 서버 컴퓨터(본 발명에서는 서버라고 약칭)에 관한 것이다. 또한, 본 발명은 전송지연 보정 프로그램 또는 시간 조절 프로그램을 기억하는 기록매체 및, 클라이언트와 서버 사이의 통신방법에 관한 것이다.
특히, 본 발명은 지리적으로 떨어진 클라이언트에 대한 서버로의 평등한 액세스권 및, 시스템 내의 시간의 관리 서브시스템에 관한 것이다.
종래의 컴퓨터 네트워크 시스템에 있어서, 클라이언트는 전용 전화선, 통신 회선교환, 패킷교환 등의 수단에 의해서 서버에 접속된다. 이 서버는 클라이언트에 특정한 서비스를 제공한다. 그러한 클라이언트-서버 모델에 관해서는 예를 들면, "Computer Network" by Tannenbaum, 제 2판(일본어 번역 초판, pp. 530-532, Maruzen Publishing Co.)에 설명되어 있다.
일반적으로, 서버는 시분할에 근거하여 데이터 수신의 순서에 따라 순차적으로 클라이언트로부터 전송된 데이터를 처리한다. 일반적으로, 서버의 시각회로에 따른 시각과 클라이언트의 시각회로에 따른 시각 사이의 불일치는 수정되지 않는다. 몇몇 국가에서는, 표준시계에 근거하여 무선 전송으로 모든 가정용 전기제품의 타이머를 자동으로 조절하는 시간 조절 기술을 사용하고 있다.
종래의 컴퓨터 네트워크 시스템에 있어서, 서버는 선착순으로 데이터를 처리한다. 따라서, 전송지연으로 인해 지리적 불평등은 서버에 가까운 클라이언트와, 서버에서 먼 클라이언트 사이에서 일어난다.
도 1은 종래의 클라이언트-서버 시스템의 일례를 나타낸다. 클라이언트 C1-C5는 통신망을 통해서 서버 S1에 직접 접속된다. 비슷하게, 클라이언트 C6-C11은 통신망을 통해서 서버 S2에 직접 접속된다. 또한 서버 S1, S2는 통신망을 통해서 서로 접속된다. 이와 같이, 클라이언트 C1-C5는 서버 S1을 통해서 서버 S2에 접속될 수 있다. 비슷하게, 클라이언트 C6-C11은 서버 S2를 통해서 서버 S1에 접속될 수 있다. 이러한 배열하에서, 클라이언트 C1은 서버 S1에 가깝게 배치되어, 클라이언트 C1로부터 서버 S1로의 전송지연시간이 짧다. 반면에, 클라이언트 C10은 서버 S1로부터 멀리 배치되어 있기 때문에, 클라이언트 C10으로부터의 전송지연시간이 길다. 따라서, 예를 들면, 클라이언트 Cl, Cl0이 서버 S1을 호스트로서 사용하여 전투형 비디오 게임을 행하는 경우에, 클라이언트 C1로부터 전송된 명령은 클라이언트 C10으로부터의 명령보다 빠르게 서버 S1에 도달한다. 그 결과, 서버 S1으로의 액세스 속도에 대해서는 클라이언트 C1이 클라이언트 C10보다 이점을 준다.
또한, 이 문제점은 그 외의 환경에서도 일어난다. 예컨대, 클라이언트 C1, C10이 티켓예약 요청을 동시에 서버 Sl으로 전송하는 경우, 클라이언트 C1이 클라이언트 C10보다 일찍 티켓을 예약할 수 있어, 불공평하게 된다. 상기와 같은 문제는 클라이언트-서버 시스템의 네트워크 구성이 커짐에 따라서 보다 심각하게 된다. 게다가, 오늘날의 컴퓨터 네트워크에서, 네트워크 내의 각 클라이언트는 각자의 시각회로를 가지고 있다. 따라서, 각 클라이언트의 유저가 수동으로 시각회로를 조절하지 않으면, 각 클라이언트의 시각회로를 수정할 수 없다.
본 발명의 목적은 지리적으로 떨어진 모든 클라이언트에서 서버로의 액세스권의 평등화를 제공할 수 있고, 시스템 내의 모든 시각회로를 표준화할 수 있는 클라이언트-서버 시스템을 제공하는 데에 있다. 본 발명의 다른 목적은 서버로의 액세스권의 평등화를 제공할 수 있고, 시스템 내의 모든 시각회로를 표준화할 수 있는 클라이언트와 서버 사이의 통신방법을 제공하는 데에 있다. 본 발명의 또 다른 목적은 서버 또는 클라이언트로 하여금 상기의 통신방법을 수행하게 하는 프로그램(이하에 설명된 바와 같이)을 기억하는 기록매체(이하에 설명된 바와 같이)를 제공하는 데에 있다.
본 발명에 따른 클라이언트-서버 시스템은 클라이언트용 시각회로를 갖는 복수의 클라이언트와, 서버용 시각회로를 갖는 서버를 갖는다. 클라이언트의 각각은 서버와 각 클라이언트 사이의 전송지연시간을 측정하기 위해 전송지연 측정용 신호의 송신시간을 포함하는 전송지연 측정용 신호를 생성하고, 서버에 그 전송지연 측정용 신호를 전송한다. 클라이언트는 서버로부터의 응답신호를 수신하고, 시각오차로서 서버용 시각회로와 클라이언트용 시각회로 사이의 시간차를 산출하며, 서버에 그 시각오차를 전송한다.
그 서버는 각 클라이언트로부터 전송지연 측정용 신호를 수신하고, 각 클라이언트와 서버 사이의 일시적인 전송지연시간을 산출하며, 각 클라이언트로부터의 전송지연 측정용 신호의 수신시간 및 각 클라이언트에 전송될 응답신호의 송신시간을 포함하는 응답신호를 생성하고, 각 클라이언트에 그 응답신호를 전송한다. 그후에, 서버는 각 클라이언트로부터 시각오차를 수신하고, 각 클라이언트와 서버 사이의 실제의 전송지연시간을 산출한다. 서버는 이들 실제의 전송지연시간을 모두 비교한다. 그 후에 서버는 실제로 전송지연시간이 짧은 각 클라이언트에 긴 지연시간후의 응답신호를 전송한다. 반면에, 서버는 실제로 전송지연시간이 긴 클라이언트에 지연이 없거나 짧은 지연시간후의 응답신호를 전송하여 모든 클라이언트는 서버로부터의 응답신호를 동시에 수신할 것이다.
모든 클라이언트 사이에서 전송지연시간의 불일치를 보정하기 위해 각 클라이언트가 서버에 어떤 다른 정보를 전송하기 전에 전화선에 접속되는 경우에 각 클라이언트는 서버에 그 전송지연 측정용 신호를 전송한다. 각 클라이언트는 시각오차로서 각 클라이언트용 시각회로와 서버용 시각회로 사이의 시간차를 산출하고, 클라이언트와 서버 사이의 일시적인 전송지연시간을 수정하며, 각 클라이언트와 서버 사이의 실제의 전송지연시간을 산출한다. 최초의 일시적인 전송지연시간을 구한 경우에는, 클라이언트용 시각회로는 서버용 시각회로와 일치하지 않는다. 따라서, 시각오차로서 클라이언트용 시각회로와 서버용 시각회로 사이의 시간차를 제일 먼저 구한 후, 각 시각오차를 이용하여 각 일시적인 전송지연시간을 수정함으로써 실제의 전송지연시간을 결정하는 것이 바람직하다.
서버와 각 클라이언트 사이의 실제의 전송지연시간을 구한 후에, 서버는 실제로 전송지연시간이 짧은 (전송거리가 짧다) 클라이언트장치에, 실제로 전송지연시간이 긴 (전송거리가 길다) 클라이언트보다도, 서버로의 액세스권에 대하여 보다 큰 핸디캡을 주기 위해, 긴 지연시간후의 응답신호를 실제로 지연시간이 짧은 클라이언트에 송신하여, 서버의 모든 클라이언트는 서버로부터 동시에 응답신호를 수신할 것이다.
반면에, 서버는 실제로 전송지연시간이 긴 클라이언트장치에, 실제로 전송지연시간이 짧은 클라이언트장치보다도 서버로의 액세스권에 대하여 보다 작은 핸디캡을 주기 위해, 서버는 지연이 없거나 짧은 지연시간후(짧은 대기기간후)의 응답신호를 실제로 지연시간이 긴 클라이언트에 송신한다. 이와 같이, 1개의 클라이언트에 대한 송신시간이 다른 클라이언트에 대한 송신시간과 다르더라도, 모든 클라이언트에 대하여 서버로의 액세스권을 평등화할 수 있다.
또한, 본 발명에 따른, 클라이언트용 시각회로를 갖는 클라이언트와, 서버용 시각회로를 갖는 서버를 포함하는 클라이언트-서버 시스템은 이하의 구성에 근거하여 상술한 문제점을 해결한다.
이하에 다시 언급한 바와 같이, 각 클라이언트는 시각수정 요구신호의 송신시간을 포함하는 시각수정 요구신호를 생성하여, 서버에 그 시각수정 요구신호를 송신한다. 각 클라이언트는 서버로부터 시각수정 응답신호를 수신하고, 서버에서의 시각수정 요구신호의 수신시간, 시각수정 요구신호의 송신시간 및, 시각수정 응답신호의 수신시간에 근거하여 각 클라이언트용 시각회로를 수정함으로써, 클라이언트용 시각회로가 서버용 시각회로와 일치하게 될 것이다.
서버가 각 클라이언트로부터 시각수정 요구신호를 수신하면, 서버는 시각수정 요구신호의 수신시간을 포함하는 시각수정 응답신호를 생성하고, 각 클라이언트에 시각수정 응답신호를 송신한다.
이와 같이 구성함으로써, 각 클라이언트용 시각회로가 서버용 시각회로와 일치하지 않더라도, 각 클라이언트용 시각회로는 서버용 시각회로와 일치하도록 수정될 것이다. 각 클라이언트용 시각회로와 서버용 시각회로를 일치시킴으로써, 상술한 제 1 발명에 있어서의 전송지연 보정처리를 수행하기 위한 시각오차가 0으로 된다. 그 결과, 각 클라이언트에 대한 전송지연시간을 보정하는 것이 쉽게 된다.
또한, 각 클라이언트와 서버 사이의 전송지연시간이 소정의 시간을 초과하면, 각 클라이언트가 자동으로 상술한 시각수정 요구신호를 서버에 송신하여 각 클라이언트용 시각회로를 수정하도록 클라이언트-서버 시스템을 설정할 수 있다.
도 1은 종래의 클라이언트-서버 시스템의 네트워크 구성도,
도 2는 본 실시예에 따른 클라이언트의 회로 구성도,
도 3은 본 실시예에 따른 서버의 회로 구성도,
도 4는 본 발명의 실시예에 따른 클라이언트-서버 시스템에 있어서의 클라이언트와 서버 사이의 전송 제어 순서의 개략을 나타내기 위한 타임 챠트,
도 5는 본 실시예의 클라이언트-서버 시스템에 있어서 서버와의 접속시의 클라이언트의 동작 플로우챠트,
도 6은 본 실시예의 클라이언트-서버 시스템에 있어서 각 클라이언트와의 접속시의 서버의 동작 플로우챠트,
도 7은 본 실시예의 클라이언트-서버 시스템에서의 서버의 데이터 전송 동작의 플로우챠트,
도 8은 본 실시예의 클라이언트-서버 시스템에서의 클라이언트의 시각수정 동작의 플로우챠트,
도 9는 본 실시예의 클라이언트-서버 시스템에 있어서의 서버의 시각수정 동작의 플로우챠트,
도 10은 본 실시예의 클라이언트-서버 시스템에 있어서의 클라이언트의 접속단말 동작의 플로우챠트,
도 11은 본 실시예의 클라이언트-서버 시스템에 있어서의 서버의 접속단말 동작의 플로우챠트,
도 12는 본 실시예에 따른 클라이언트 C의 하드웨어 구조도,
도 13은 CPU(140)에 의해 처리되는 소프트웨어 모듈과 하드웨어 모듈 사이의 데이터 흐름을 나타내는 클라이언트 C 의 데이터 흐름도,
도 14는 CPU에 의해 처리되는 소프트웨어 모듈과 하드웨어 모듈 사이의 데이터 흐름을 나타내는 서버 S의 데이터 흐름도.
<도면의 주요부분에 대한 부호의 설명>
901,1001 : 판독회로 902 : 전송지연 산출회로
909 : 대기시간 산출회로 910 : 최대 전송지연 선택회로
1002 : 시각오차 산출회로 1007 : 시각수정회로
다음에 본 발명의 바람직한 실시예를 도면을 참조하면서 설명한다.
1. 제 1 실시예
(1)시스템 구조
본 발명에 따른, 네트워크에서 통신경로가 유일하게 결정되어 있는 서버 클라이언트방식의 정보처리 시스템에 있어서, 각 클라이언트용 시각회로 내에 표시된 시간기록에 의해서 얻을 수 있는 각 클라이언트의 전송지연시간을 서버가 수신하여 처리함으로써 지리적, 시간적인 클라이언트 사이의 불평등을 해결할 수 있다.
또한, 표준시계로서 서버용 시각회로를 사용하여, 각 클라이언트용 시각회로를 클라이언트용 시각회로와 서버용 시각회로 사이의 기록차에 근거하여 자동적으로 수정한다.
본 실시예는, IP(Internet Protocol: 인터넷 프로토콜) 등의 접속 프로토콜보다도 상위의 프로토콜에 의해서 실현된다. 서버와 각 클라이언트는 전용 전화선을 통해서 통신 회선교환 등에 접속된다.
본 발명에 따르면, 모든 클라이언트에 대하여 서버로의 액세스권을 평등화하고, 서버용 시각회로에 근거하여 각 클라이언트용 시각회로를 수정한다. 각 클라이언트는 항상 서버에 접속되어 있을 필요는 없다. 각 클라이언트의 사용자가 서비스를 수신하고 싶을 때나 서비스의 이용을 중단하고 싶을 때는, 각 클라이언트는 접속요구신호 또는 비접속 요구신호를 각각 서버에 송신한다.
이러한 구성에 의해서, 각 클라이언트는 특정한 서버 외에도 서로 다른 서버에 액세스할 수 있다. 서버 S의 시각회로에 의해 표시된 시간과 클라이언트 C의 시각회로에 의해 표시된 시간 사이의 시간오차 A가 30분을 초과하면, 시각오차 A는 시간대의 격차를 포함한다. 시각오차 A에서 1시간을 빼거나 더하여 시간대의 격차를 조절함으로써, 조절된 시각오차 A가 ±30분의 범위에 있게 된다. 이와 같이 함으로써, 표준시간과 비표준시간 사이의 시간차의 영향이 제거된다. 그러나, ARPA 인터넷 텍스트 메시지의 포맷기준 RFC#822에 따른 시각표현을 사용하면, 시각오차로부터 1시간을 빼거나 더하는 것에 의해 조절할 필요가 없다.
클라이언트-서버 시스템은 도 1에 나타낸 것과 동일하기 때문에 본 실시예의 클라이언트-서버 시스템의 전체 구조에 대해서는 설명하지 않는다. 서버 S1, S2는 총괄하여 S라고 칭하고, 클라이언트 C1-C11은 총괄하여 C라고 칭한다.
도 1에서, 클라이언트 C는 서버 S와의 접속을 요구하는 접속 요구 패킷, 서버 S로부터 비접속을 요구하는 비접속 요구 패킷, 클라이언트 C의 시각오차를 서버 S에 신고하는 오차 신고 패킷, 클라이언트 C의 시각을 수정하는 시각수정 요구 패킷 및, 다른 정보를 송신하기 위한 일반적인 데이터 패킷을 서버 S에 송신한다. 이러한 형태의 패킷은 각 패킷의 헤더 내에 포함된 패킷 형태에 의해 지정된다.
(2) 클라이언트 구조
도 2는 클라이언트 C의 모듈(이하에 설명)의 구조를 나타낸다. 도 2에 나타낸 각 모듈()블록) 또는 복수의 모듈은 단일 하드웨어 장치일 수도 있다. 하나의 대안으로서, 도 2의 1개의 모듈은 복수의 하드웨어 장치와 교체될 수도 있다. 도 2 및 도 3의 실시예에서, 모듈은 회로로서 나타난다. 그러나, 이하의 "모듈"의 정의에 의하면, 각 모듈은 또한 도 13 및 도 14의 실시예에서 설명한 바와 같이, 소프트웨어로서 또는 그것의 조합으로서 실행될 수도 있다. 클라이언트 C는 도 2에 나타낸 하드웨어뿐만 아니라, 표준 컴퓨터 하드웨어를 갖는다. 그러나, 이 표준 하드웨어는 도 2에서는 생략되어 있다.
도 2에서, 시각회로(1008)는 판독회로(1001)에 현재의 시간을 제공한다. 이 판독회로(1001)는 요구/신고 패킷 생성회로(1003)가 요구 또는 신고 패킷을 생성하기 전에 시각회로(1008)로부터 현재의 시간을 판독하고, 요구/신고 패킷 생성회로(1003)와 시간 기억회로(1006)에 판독된 현재의 시간을 공급한다.
요구/신고 패킷 생성회로(1003)는 서버 S1 등과의 접속을 요구하는 접속 요구 패킷과 같은 다양한 종류의 요구패킷을 발생하고, 그 패킷을 서버 S1에 송신한다. 시간 기억회로(1006)는 판독회로(1001)에 의해 제공된 시간을 기록한다. 데이터 처리회로(1009)는 패킷 식별회로(1004)로부터 수신 데이터를 수신하여 처리한다. 게다가, 데이터 처리회로(1009)는 패킷의 형태로 데이터를 서버 S1에 전송한다. ID 기록회로(1005)는 서버 S가 그것의 클라이언트 C에 할당된 ID를 패킷 식별회로(1004)로부터 수신하여 이 ID를 기억시킨다.
클라이언트 C1이 서버 S1으로부터 패킷을 수신하면, 클라이언트 C1의 판독회로(1001)는 시각회로(1008)로부터 현재의 시간을 판독하고, 시각오차 산출회로(1002)에 현재의 시간을 제공한다. 패킷 식별회로(1004)는 수신된 패킷의 종류를 식별하고, 수신된 패킷의 종류를 시간 기억회로(1006)와 시각오차 산출회로(1002)에 제공한다. 게다가, 패킷 식별회로(1004)는 패킷을 송신했고 수신된 패킷 내에 기억된 송신시간을 판독하여, 그 송신시간을 시각오차 산출회로(1002)에 제공한다.
시각오차 산출회로(1002)는 판독회로(1001)로부터 제공된 현재의 시간과 패킷 식별회로(1004)로부터 제공된 송신시간에 근거하여, 클라이언트 C1의 시각회로(1008)에 따른 현재의 시간과 서버 S1의 시각회로에 따른 현재의 시간 사이의 사간차를 시각오차 A로서 산출하여, 시각 수정회로(1007)에 시각오차를 제공한다. 시각 수정회로(1007)는 시각회로(1008)로부터 클라이언트 C1에 따라 현재의 시간을 판독하고, 시각회로(1008) 내에 표시된, 클라이언트 C1에 따른 현재의 시간에 시각오차 A를 더하여 수정시간을 산출하며, 시각회로(1008)를 이 수정된 시간으로 설정한다.
(3) 서버 구조
도 3은 서버 S의 하드웨어 모듈의 구조를 나타낸다. 하나의 대안으로서, 도 2에 도시한 복수의 하드웨어 모듈(블록)의 각각은 단일 하드웨어 장치와 교체될 수 있다. 또 다른 대안으로서, 도 3에 나타낸 하드웨어 모듈의 각각은 복수의 하드웨어 장치와 교체될 수 있다. 서버 S는 도 3에 도시한 하드웨어뿐만 아니라 표준 컴퓨터 하드웨어를 갖는다. 그러나, 이러한 표준 하드웨어는 도 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 사이의 일시적인 전송지연시간을 산출하고, ID 관리 테이블(06) 내에 일시적인 전송지연 P를 등록한다. 게다가, 전송지연 산출회로(902)가 패킷 식별회로(904)로부터 클라이언트 C의 시각회로(1008)의 시각오차 A를 수신하면, 전송지연 산출회로(902)는 일시적인 전송지연으로부터 시각오차 A를 감산하여 실제의 전송지연 D를 구하고, 실제의 전송지연을 다시 ID 관리 테이블 내에 등록한다. 응답 생성회로(903)가 패킷 식별회로(904)로부터 다양한 요구 패킷의 각각의 패킷 종류를 수신하면, 응답 생성회로(903)는 데이터 처리회로(911)로부터 수신된 제어 데이터와 판독회로(901)로부터 수신된 판독시간에 근거하여 하나의 응답신호를 생성하고, 그 응답신호를 클라이언트 C에 송신한다.
최대 전송지연 선택회로(910)는 ID 관리 테이블(906)로부터 서버 S와 복수의 클라이언트 C의 각각의 전송지연 D를 판독하고, 최대 전송지연 DX를 선택한다. 대기시간 산출회로(909)는 최대 전송지연 선택회로(910)로부터 수신된 최대 전송지연 DX와 ID 관리 테이블(906)로부터 판독된 각 클라이언트 C의 전송지연 D사이의 불일치(DX-D)에 근거하여, 각 클라이언트 C로부터 수신된 패킷에 대한 하나의 응답을 출력한 후에 대기시간 E를 산출하고, ID 관리 테이블(906) 내에 대기시간 E를 기록한다.
우선시간 산출회로(907)가 패킷 식별회로(904)로부터 패킷의 수신시간을 수신하면, 우선시간 산출회로(907)는 ID 관리 테이블(906)로부터 판독된 대기시간 E와 이 수신시간을 더한다. 이와 같이 함으로써, 우선시간 산출회로(907)는 응답패킷이 송신되는 시간(우선시간 F)을 산출하고, 그 우선시간 F는 복수의 클라이언트 C 사이의 전송지연의 불일치를 보정한다. 또 다른 실시예로서, 우선시간 F는 수신된 패킷으로부터 판독된 수신패킷의 송신시간과 2E를 더함으로써 산출될 수 있다. 데이터 처리회로(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의 시각 사이의 격차를 시각오차 C로서 산출한다. 다음에, 클라이언트 C는 클라이언트 C의 ID와 시각오차 A를 포함하는 오차 신고 패킷을 서버 S에 송신한다(스텝 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을 판독하고, 서버 S의 시간에 따라 현재의 시간 T11과 송신시간 T10을 비교한다. 송신시간 T10을 현재의 시간 T11로부터 감산하고, 그 감산결과의 값을 전송지연시간 D2에 할당한다. 클라이언트 C와 서버 S사이의 전송지연시간 D와 전송지연시간 D2 사이의 시간차가 소정의 한계값을 초과하면, 서버 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의 시각회로가 이와 같이 수정되면, 데이터는 수정된 시간에 근거하여 서버 S와 클라이언트 C 사이에 전송된다(스텝 S80).
클라이언트 C의 사용자가 서버 S로부터 공급꺡는 서비스 수신을 중지하기를 희망하면, 클라이언트 C는 비접속 요구패킷을 서버 S에 송신한다(스텝 S90). 서버 S가 비접속 요구패킷을 수신하면, 서버 S는 비접속 응답패킷을 생성하여, 클라이언트 C에 그 패킷을 송신한다(스텝 S100).
상술한 전송 제어 순서는 1개의 고정 클라이언트 C가 서버 S와 상호작용한다는 가정을 기초로 한다. 그러나, 전투형 게임 시스템 또는 티켓 예약 시스템에서, 복수의 클라이언트 C는 서버 S에 접속된다. 이러한 경우에, 각 클라이언트 C에 대한 시각오차 A, 실제의 전송지연시간 및, 대기시간 E 등이 결정된다.
이와 같이 함으로써, 서버 S는 각 클라이언트의 전송지연시간에 근거하여 각 클라이언트로부터 정보를 수신하여 처리한다. 따라서, 클라이언트 사이의 거리적 및 시간적인 불평등을 해결할 수 있게 된다.
다음에, 클라이언트 C와 서버 S의 접속시의 처리(스텝 S10∼S40)(l), 데이터전송시의 처리(스텝 S50)(2), 클라이언트 C의 시간수정시의 처리(스텝 S60, S70)(3), 서비스 비접속시의 처리(스텝 S90, S100)(4) 등에 관해서 설명한다.
(5) 접속처리
도 5는 클라이언트 C의 접속처리에 대한 동작 플로우챠트이다. 도 6은 서버 S의 접속처리에 대한 동작 플로우챠트이다.
클라이언트 C가 전화선에 접속된 후에, 클라이언트 C의 요구/신고 패킷 생성회로(1003)는 판독회로(1001)에 의해 판독된 송신시간 T1을 포함하는 접속 요구 패킷을 생성한다(스텝 S201). 그 후에, 클라이언트 C는 서버 S에 요구패킷을 송신한다(스텝 S202). 동시에, 클라이언트 C의 시간 기록회로(l006)는 송신시간 T1을 기록한다.
서버 S가 접속 요구 패킷을 수신하면(스텝 S301), 판독회로(901)는 수신시간 T2를 판독한다(스텝 S302). 패킷 식별회로(904)는 클라이언트 C로부터 수신된 패킷의 종류를 식별한다. 다음에, 서버 S는 클라이언트 C에, 미할당된 ID 관리 테이블회로(908)로부터 미할당된 ID를 선택하고, 클라이언트 C에 대응하는 부호 또는 번호 등의 선택된 ID를 무작위로 할당한다(스텝 S303).
미할당된 ID 관리 테이블(908) 내의 ID가 전부 사용되고 있는 경우, 서버 S는 접속거부 응답패킷을 클라이언트 C로 송신한다(스텝 S312). 또한, 미할당된 ID 관리 테이블(908) 내의 어느 하나의 미할당된 ID가 클라이언트 C에 할당된 경우, 서버 S는 수신시간 T2 - 송신시간 T1을 산출하고(스텝 S304), 이 값을 클라이언트 C에서 서버 S까지의 일시적인 전송지연시간으로서 클라이언트 C의 ID와 관련하여, ID 관리 테이블(906) 내에 등록한다(스텝 S305). 여기서, 서버 S의 시각회로가 클라이언트 C의 시각회로와 일치하지 않으면, 일시적인 전송지연시간 = 수신시간 T2 - 송신시간 T1은 클라이언트 C와 서버 S 사이의 실제의 전송지연시간을 나타내지 않는다.
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)는 시각오차 A를 아래와 같이 산출한다(스텝 S205).
A = {(T2 - T1) - (T4 - T3)}/2
클라이언트 C에서 요구패킷의 단말시간 T1은 응답패킷 또는 시간 기억회로(1006)로부터 판독될 수 있다. 클라이언트 C에서 서버 S로의 전송지연시간과 서버 S에서 클라이언트 C로의 전송시연시간 사이의 시간차에 1/2를 곱함으로써, 서버 S의 시각회로와 클라이언트 C의 시각회로 사이의 격차를 시각오차 A로서 산출한다. 또, 송신시간 T3 및 수신시간 T4가 날짜의 변경에 의해서, 클라이언트 C로부터의 송신시간 T1과 서버 S에서의 수신시간 T2보다 늦는 경우, 송신시간 T3과 수신시간 T4를 24시간만큼만 증가시킨다.
필요하다면, 표준시간과 비표준시간 사이의 격차를 보정하기 위해서 예를 들면, ±30분의 범위 내에 일시적인 전송지연시간이 놓이도록 필요에 따라 1시간을 더하거나 감산함으로써 시각오차 A를 조절한다. 다음에, 클라이언트 C는 시각오차 A를 시간수정회로(1007)로 공급하고, 그것의 시각회로(1008)의 시간에 그 시각오차 A를 더하여, 그 시각회로(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).
서버 S는 ID 관리 테이블(906)의 전송지연시간에 실제의 전송지연시간 D를 더하여 ID 관리 테이블(906) 내에 기억된 전송지연을 갱신한다. 그리고, 서버 S는 클라이언트 C의 실제의 전송지연시간 D와, 최대 전송지연 선택회로(910) 내에 등록되어 있는 가장 먼 클라이언트의 최대 전송지연시간 DX을 비교한다(스텝 S310a). DX≥D이면, 대기시간 산출회로(909)는 클라이언트 C의 등록 ID에 대해서만 대기시간 E를 산출한다(스텝 S310b). 즉, 대기시간 E는 아래와 같이 설정된다.
E = DX-D
ID 관리테이블(906)은 이 대시시간 E를 등록한다. 스텝 S310a에서, DX < D이면, 등록된 모든 ID에 대하여 대기시간 E를 다시 산출한다(스텝 S310c). 이와 같이 함으로써, ID 관리테이블(906)이 모든 파라미터(대기시간 E)의 등록을 완료하면, 서버 S는 응답 생성회로(903) 내에서 등록완료 통지패킷을 생성하여, 클라이언트 C로 그 패킷을 송신한다(스텝 S311).
이와 같이, ID 관리 테이블(906)은 클라이언트 C마다 최적의 대기시간 E를 설정한다. 긴 대기시간 E는 서버 S로부터 전송지연시간이 짧은 클라이언트 C에 대해서 설정된다. 반면에, 짧은 대기시간 E는 서버 S로부터 전송지연시간이 긴 클라이언트 C에 대해서 설정된다. 따라서, 서버 S로부터 전송지연시간이 짧은 클라이언트 C와 서버 S로부터 전송지연시간이 긴 클라이언트 C 사이의 거리적 불균등을 적게 한다. 이와 같이 함으로써, 서버 S는 모든 클라이언트 C로부터의 명령에 대한 응답을 모든 클라이언트 C에 대한 균등한 응답시간으로 처리할 수 있다.
서버 S가 각 클라이언트 C에 대한 대기시간 E의 설정을 완료하면, 서버 S는 데이터 전송처리를 호출한다(스텝 S314). 각 클라이언트 C가 등록 완료 패킷을 수신하면(스텝 S209), 각 클라이언트 C도 데이터 전송처리를 호출한다(스텝 S214). 클라이언트 C가 일정시간 내에 등록 완료 패킷을 수신하지 않으면, 각 클라이언트 C는 ID를 말소하여 처리를 종결한다(스텝 S209, S209a). 이와 같이 함으로써, 서버 S와 클라이언트 C 사이의 접속을 확립할 수 있다.
프로그램을 변경하기 위해서는, 서버 S에 접속되도록 각 클라이언트 C를 동작시키기 위한 도 5에 나타낸 전송지연 보정제어 프로그램을 클라이언트 C의 플로피 디스크 또는 ROM 등의 기록매체 내에 기억시키는 것이 바람직하다. 각 클라이언트 C에 접속하도록 서버 S를 동작시키기 위한 도 5에 나타낸 전송지연 보정제어 프로그램도 서버 S의 플로피 디스크 또는 ROM 등의 기록매체 내에 기억시키는 것이 바람직하다.
(6) 데이터 전송처리:
도 7은 서버 S와 클라이언트 C 사이의 데이터 전송시의 서버 S의 동작의 플로우챠트이다. 서버 S가 가장 먼 클라이언트 C로부터 데이터를 수신하면, 서버 S는 가장 먼 클라이언트로 데이터 응답을 송신한다(스텝 S401). 서버 S는 다음 우선시간 F가 나머지의 클라이언트 C 각각의 ID와 관련하여 등록될 때까지 기다린다(스텝 S402). 각 우선시간 F가 도달된 경우에 서버는 그 데이터 응답을 클라이언트 C로 송신한다(스텝 S403).
또한, 서버 S가 각 클라이언트 C의 데이터 처리회로(1009) 내에 생성된 데이터를 수신하면(스텝 S404), 서버 S의 판독회로(901)는 데이터의 수신시간 T를 기록한다(스텝 S405). 다음에, 서버 S의 우선시간 산출회로(907)는 이 수신시간 T에 대기시간 E를 더하여 우선시간 F를 결정한다(스텝 S406). 그 후, 서버 S의 데이터 처리회로(911)는 우선시간 F가 짧은 클라이언트 C로부터 시작되는 우선시간을 증가시키는 순서로 수신된 데이터를 순차 처리하여, 그 순서대로 나머지의 클라이언트에 응답한다.
이와 같이 함으로써, 서버 S는 전송지연시간이 긴 클라이언트 C에 대한 응답패킷을 전송지연시간이 짧은 클라이언트 C에 대한 응답패킷을 송신하기 전에 송신한다. 이와 같이, 서로 다른 전송지연시간과 복수의 클라이언트 C 사이의 거리적 간격으로부터 발생하는 불평등을 제거할 수 있다.
프로그램을 변경하거나, 보존하기 위해서는, 데이터를 각 클라이언트 C로 전송하도록 서버 S를 동작시키기 위한 도 7에 나타낸 전송지연 보정제어 프로그램을 서버 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)는 시각수정 요구패킷의 수신시간 T6을 시각회로(920)로부터 판독한다(스텝 S602). 응답 생성회로(903)는 수신시간 T6 및 각 클라이언트 C의 ID를 포함하는 시각수정 응답패킷을 생성하여, 그 패킷을 각 클라이언트 C로 송신한다(스텝 S 603).
다음에, 각 클라이언트 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로부터 1시간을 감산하거나 시각오차 A에 1시간을 더함으로써 시각오차(A)의 값을 조절하여, 조절된 시각오차 A를 ± 30분의 범위 내에 놓는다. 이와 같이 함으로써, 표준시간과 비표준시간 사이의 시간차의 영향을 제거한다. ARPA 인터넷 텍스트 메시지의 포맷기준 RFC# 822에 따른 시각표현을 사용하면, 서버 S의 시각회로와 클라이언트 C의 시각회로 사이의 시각오차 A를 조절할 필요가 없다. 계속해서, 시각오차 A를 시각수정회로(1007)에 전송하여, 현재의 시간에 상기 시각오차 A를 더한다. 이와 같이 함으로써, 시각회로(1008)를 수정하여, 서버 S의 시각회로와 일치시킨다(스텝 S506).
상술한 바와 같이, 각 클라이언트 C의 사용자가 데이터를 입력하지 않더라도, 각 클라이언트 C의 시각회로를 서버 S의 시각회로에 근거하여 수정할 수 있다. 따라서, 서버 S의 시각회로의 시간을 정확히 유지하면, 시스템 전체의 시각회로를 유지할 수 있게 된다.
프로그램의 동작을 변경하거나, 보존하기 위해서는, 각 클라이언트 C의 시각회로를 수정하도록 각 클라이언트 C를 동작시키기 위한 도 8에 나타낸 시각수정 제어 프로그램을 각 클라이언트 C의 플로피 디스크 또는 ROM 등의 기록매체 내에 기억시키는 것이 바람직하다. 또한, 각 클라이언트 C의 시각회로를 수정하도록 서버 S를 동작시키기 위한 도 9에 나타낸 시간 수정 제어 프로그램도 서버 S의 플로피 디스크나 ROM 등의 기록매체 내에 기억시키는 것이 바람직하다.
(8)접속중단처리
도 10은 각 클라이언트 C와의 접속을 중단하는 클라이언트 C의 동작을 설명하기 위한 플로우챠트이다. 도 11은 각 클라이언트 C와의 접속을 중단하는 서버 S의 동작을 설명하기 위한 플로우챠트이다.
각 클라이언트 C의 사용자가 클라이언트-서버 시스템에 의해 제공된 서비스(예를 들면, 전투형 게임 또는 티켓 예약)의 수신을 중단하기를 원하면, 각 클라이언트 C의 요구/신고 생성회로(1003)는 각 클라이언트 C에 할당된 ID를 포함하는 비접속 요구패킷을 생성하여, 서버 S에 그 패킷을 송신한다(스텝 S701). 서버 S가 상기 비접속 요구패킷을 수신하면(스텝 S801), 서버 S는 ID 관리 테이블(906)로부터 각 클라이언트 C의 ID 설정정보를 삭제하고(스텝 S802), ID 제어회로(905)를 사용하여 미할당된 ID 관리 테이블(908) 내에 그 ID를 등록한다(스텝 S803). 그 후, 응답 생성회로(903)는 비접속 응답패킷을 생성하여, 각 클라이언트 C에 그 응답패킷을 송신한다(스텝 S804). 다음에, 클라이언트 C가 비접속 응답패킷을 수신하면(스텝 S702), ID 기억회로(1005) 내에 등록된 그것의 ID를 소거한다(스텝 S703). 이와 같이 함으로써, 서버 S와 클라이언트 C 사이의 접속이 비접속되어 해제된다.
상기의 구성 및 동작에 의해, 클라이언트에 대하여 실시간 명령처리를 필요로 하는 전투형 게임 시스템과, 전용 네트워크 및 평등성을 중시하는 티켓예약 시스템에 적용하여 액세스 및 관계의 평등성을 개선할 수 있다.
하나의 대안으로서, 서버 S가 각 클라이언트 C로 데이터를 송신할 때는 언제나 각 클라이언트 C가 그것의 시간을 판독하고 전송지연시간을 기억해 두는 것에 의해, 어떤 일정한 시간보다 서버 S의 시간과 각 클라이언트 C의 시간 사이의 시각오차가 커졌을 때에 자동적으로 각 클라이언트 C의 시간을 수정하도록 클라이언트-서버 시스템을 설정할 수 있다.
상술한 바와 같이, 각 클라이언트는 서버와 각 클라이언트 사이의 전송지연시간을 측정하기 위해서 신호의 송신시간을 포함하는 전송지연시간 측정용 신호를 서버로 송신한다. 서버는 각 클라이언트와 서버 사이의 일시적인 전송지연시간을 산출하는 것과 동시에, 각 클라이언트에 대한 응답신호를 생성하여, 각 클라이언트로 각 응답신호를 송신한다. 각 클라이언트는 응답신호를 수신하고, 서버 S의 시각회로와 각 클라이언트 C의 시각회로 사이의 시각오차를 산출하며, 시각오차의 신호를 서버로 송신한다.
서버는 각 클라이언트의 시각오차신호에 근거하여 각 클라이언트와 서버 사이의 실제의 전송지연시간을 산출한다. 이 서버는 모든 클라이언트의 실제의 전송지연시간을 비교한다. 이 비교결과에 근거하여, 서버는 실제의 전송지연시간이 짧은 클라이언트로 긴 지연시간후의 응답신호를 송신한다. 반면에, 서버는 실제의 전송지연시간이 긴 클라이언트로 지연이 없거나 짧은 지연시간후의 하나의 응답신호를 송신한다. 이와 같이 함으로써, 지리적으로 떨어진 복수의 클라이언트에 대하여 서버로의 액세스권의 평등화를 간단한 구성으로 실현할 수 있게 된다.
게다가, 본 발명에 따르면, 각 클라이언트가 시각수정요구의 송신시간을 포함하는 시각수정 요구신호를 생성하여, 서버로 그 시각수정 요구신호를 송신한다. 서버가 시각수정 요구신호를 수신하면, 서버는 시각수정 응답신호를 생성하여, 각 클라이언트로 시각수정 응답신호를 송신한다. 각 클라이언트가 서버로부터 시각수정 응답신호를 수신하면, 각 클라이언트는 서버에서의 시각수정 요구신호의 수신시간, 시각수정 응답신호의 송신시간 및 시각수정 응답신호의 수신시간에 근거하여 그것의 시각회로를, 각 클라이언트의 시각회로와 서버의 시각회로가 일치하도록 수정한다. 이와 같이 함으로써, 서버 클라이언트 시스템 내의 모든 시각회로가 공통의 시각회로에 근거하여 용이하게 표준화될 수 있다.
2. 또 다른 실시예
도 12는 본 실시예에 따른 클라이언트 C의 하드웨어 구조를 나타낸 블록도이다. 도 12에서, CPU(140)는 ROM(142)과 RAM(144) 내에 기억된 프로그램에 근거하여 동작한다. 백업 배터리를 갖는 시각회로(1008)는 CPU(140)에 현재의 시간을 제공한다. 사용자가 입력장치(148)를 통해서 데이터를 입력한다. 하드 디스크 드라이브(150)는 데이터와 프로그램을 저장하고, CPU(150)를 작동시킨다. 플로피 디스크 드라이브(152)는 플로피 디스크(156)로부터 데이터 또는 프로그램을 판독하여, CPU(140)에 데이터 또는 프로그램을 공급한다. CD-ROM 드라이브(154)는 CD-ROM(158)로부터 데이터 또는 프로그램을 판독하여, CPU(140)에 데이터 또는 프로그램을 공급한다. 또한, 클라이언트 C는 통신망에 접속하기 위한 통신 인터페이스(164)와, 디스플레이(162)에 접속하기 위한 디스플레이 인터페이스(160)를 갖는다. 서버 S의 하드웨어 구조는 클라이언트 C의 구조와 동일하기 때문에 그것에 대한 설명은 하지 않는다.
본 실시예에 따르면, CPU(140)는 소프트웨어 프로그램에 근거하여 이전 실시예에서 설명한 대부분의 동작을 수행한다.
도 13은 클라이언트 C의 CPU(140)가 수행하는 프로그램의 모듈(이하에서 설명한 것처럼) 사이의 데이터 흐름을 나타낸다. 도 13에서, 시간기록모듈(1006)과 ID 기록모듈(1005)은 RAM(144), 하드 디스크 드라이브(150), 플로피 디스크(156) 등의 기록매체 내에 데이터를 기억시킨다. 본 실시예에 있어서, 시각회로(1008)는 하드웨어에 의해 제공된다. 그러나, 하나의 대안으로서, 시각회로(1008)는 소프트웨어 모듈에 의해 제공될 수 있고, 일정시간에 따라 동작한다. 본 실시예에 있어서, 도 13에 나타낸 다른 블록은 프로그램의 소프트웨어 모듈로서 제공되고, 플로피 디스크(156), CD-ROM(158)등과 같은 기록매체 내에 기억된다.
도 14는 하드웨어 및 서버 S의 CPU(140)에 의해 실행될 소프트웨어의 모듈 사이의 데이터 흐름을 나타내는 데이터 흐름도이다. 도 14에서, ID 관리 테이블(906)과 미할당된 ID 관리 테이블(908)은 도 12에 나타낸 RAM(144), 하드 디스크 드라이브(150) 또는 플로피 디스크(156)등과 같은 기록매체 내에 설치된다. 본 실시예에 있어서, 시각회로(920)는 하드웨어에 의해 제공된다. 그러나, 하나의 대안으로서, 일정한 시간에 따라 동작하는 시각회로(920)는 소프트웨어 모듈에 의해 제공될 수도 있다. 도 14에 나타낸 다른 블록들은 플로피 디스크(156) 또는 CD-ROM(158) 등과 같은 기록매체 내에 기억되고, 프로그램으로서 제공된다.
도 2 및 도 3의 각 하드웨어 모듈의 동작은 본 실시예에서의 도 13 및 도 14의 소프트웨어 모듈에 의해 거의 동일한 방법으로 실행된다. 도 13 및 도 14의 소프트웨어 모듈 사이의 데이터 흐름은 도 2 및 도 3에 나타낸 하드웨어 모듈 사이의 데이터 흐름과 거의 동일하고, 그들에 관한 설명은 생략한다. 서버 S와 클라이언트 C 사이의 전송순서와, 서버 S와 클라이언트 C의 CPU(140)의 동작에 대해서는 설명하지 않는다. 왜냐하면, 그들의 전송순서 및 동작은 이전 실시예에서의 전송순서 및 동작과 거의 동일하기 때문이다. 도 13 및 도 14에 나타낸 바와 같이, 전송지연시간 보정 및 시각수정도 소프트웨어 모듈에 의해 실현될 수 있다.
3. 정의
청구범위를 포함하는 본 명세서 도처의 "프로그램"라는 용어는 CPU(140)가 직접 실행할 수 있는 부호뿐만 아니라, CPU(140)가 데이터를 복호화함으로써 실행할 수 있는 데이터를 포괄한다. 하나의 대안으로서, 그러한 부호들은 CPU(140)가 실행하기 위해 미래 준비될 수도 있다. 미리 준비된 부호들은 기록매체 의해 제공된 명령에 의해서 호출되어 실행될 수도 있다. 예컨대, CPU(140)로 하여금 다양한 기본 동작을 실행시키게 하는 부호들은 동작 시스템의 기능의 일부분으로서 하드 디스크 드라이브(150) 내에 미리 기억될 수도 있다. CPU(140)로 하여금 다양한 기본 동작을 실행시키게 하는 부호들은 명령에 의해 필요한 만큼 호출될 수도 있다. "프로그램"이라는 용어는 이 명령을 포함한다. 비슷하게, CPU(40)가 일정한 기능을 수행하는 동작을 나타내는 데이터는 기록매체 내에 기억될 수도 있다. CPU(140)는 기록매체 의해 제공된 데이터에 근거하여 미리 제공되었던 부호를 판독하여 그 부호들을 실행시킬 수도 있다. 본 명세서 내의 "프로그램"이라는 용어는 또한 그러한 데이터를 포괄한다.
청구범위를 포함하는 본 명세서 내의 "기록매체"라는 용어는 CPU(140)에 이해 실행될 프로그램이 기억된 어떤 물리적인 물체를 포괄한다. 예컨대, 도 12에 나타낸 플로피 디스크(156), CD-ROM(158), 하드 디스크 드라이브(150), ROM(142) 및 RAM(144), DVD와 같은 광학 기록매체, MO와 같은 광자기 기록매체, 자기 테이프와 같은 자기 기록매체 및, IC 카드 및 소형 카드와 같은 반도체 메모리는 "기록매체"라는 용어에 포괄된다. CPU(140)로 하여금 본 실시예에서 설명한 동작의 일부 또는 모두를 실행시키게 하는 프로그램은 "기록매체" 내에 기억될 수도 있다.
게다가, 본 명세서에서 설명한 동작의 일부 모두는 단일 종류 또는 몇 개의 서로 다른 종류 중에서, 복수의 기록매체 내에 분배되어 기억될 수도 있다. 예컨대, 프로그램은 몇 개가 플로피 디스크 또는 CD-ROM 및 플로피 디스크 내에 기억될 수 있다. 그러한 복수의 기록물체는 본 명세서에서는 포괄적으로 "기록매체"라고 칭하고, "기록매체"라는 용어에 포괄된다. 그 프로그램은 실행될 기록매체로부터 직접 CPU(140)에 의해 판독될 수도 있다. 하나의 대안으로서, 그 프로그램은 RAM(144) 등과 같은 또 다른 기록매체로부터 판독되어 실행될 수도 있다. 또한, CPU(140)는 제일 먼저 기록매체로부터 하드 디스크 드라이브(150)등 내에 그 프로그램을 설치하고, RAM(144) 등과 같은 또 다른 기록매체로부터 프로그램을 판독하여, 그 프로그램을 실행할 수도 있다.
청구범위를 포함하는 본 명세서 내의 "모듈"이라는 용어는 제 1 실시예에서 설명한 단일 또는 복수의 회로로 구성된 하드웨어 모듈, CPU(140)에 의해 실행될 소프트웨어 모듈, 또는 그것의 결합일 수도 있다. 본 명세서에서 설명한 몇몇 모듈은 소프트웨어, 하드웨어, 및 그것의 결합 중 하나에 의해 실현될 수도 있고, 어떤 다른 모듈은 어떤 다른 수단에 의해 실현될 수도 있다.
특허청 앞에서 본 특허출원의 심사시, 그리고 미국 법정 앞에서 소송시, 특허청은 Article 112 of 35USC의 6번째 단락에 근거하여 해석한 "수단" 또는 "스텝"이라는 단어를 갖는 것 이외에 청구범위 내의 어떤 소자를 갖는다고 생각하지 않는다.
본 발명은 바람직한 실시예를 사용하여 설명했다. 그러나, 본 발명의 범주는 상술한 실시예에 한정되는 것은 아니다. 본 발명은 상기 실시예에 다양한 변형을 부가함으로써 달성될 수 있고, 그러한 변형된 발명은 이하의 청구범위로부터 분명한 바와 같이 본 발명의 범주 내에 있다.
상술한 바와 같이, 각 클라이언트는 서버와 각 클라이언트 사이의 전송지연시간을 측정하기 위해서 신호의 송신시간을 포함하는 전송지연시간 측정용 신호를 서버로 송신한다. 서버는 각 클라이언트와 서버 사이의 일시적인 전송지연시간을 산출하는 것과 동시에, 각 클라이언트에 대한 응답신호를 생성하여, 각 클라이언트로 각 응답신호를 송신한다. 각 클라이언트는 응답신호를 수신하고, 서버 S의 시간과 각 클라이언트 C의 시간 사이의 시각오차를 산출하며, 시각오차의 신호를 서버로 송신한다.
서버는 각 클라이언트의 시각오차신호에 근거하여 각 클라이언트와 서버 사이의 실제의 전송지연시간을 산출한다. 이 서버는 모든 클라이언트의 실제의 전송지연시간을 비교한다. 이 비교결과에 근거하여, 서버는 실제의 전송지연시간이 짧은 클라이언트로 긴 지연시간후의 응답신호를 송신한다. 반면에, 서버는 실제의 전송지연시간이 긴 클라이언트로 지연이 없거나 짧은 지연시간후의 하나의 응답신호를 송신한다. 이와 같이 함으로써, 지리적으로 떨어진 복수의 클라이언트에 대하여 서버로의 액세스권의 평등화를 간단한 구성으로 실현할 수 있게 된다.
게다가, 본 발명에 따르면, 각 클라이언트가 시간수정요구의 송신시간을 포함하는 시간수정 요구신호를 생성하여, 서버로 그 시간수정 요구신호를 송신한다. 서버가 시간수정 요구신호를 수신하면, 서버는 시간수정 응답신호를 생성하여, 각 클라이언트로 시간수정 응답신호를 송신한다. 각 클라이언트가 서버로부터 시간수정 응답신호를 수신하면, 각 클라이언트는 서버에서의 시간수정 요구신호의 수신시간, 시간수정 응답신호의 송신시간 및, 시간수정 응답신호의 수신시간에 근거하여 그것의 시간을, 각 클라이언트의 시간과 서버의 시간이 일치하도록 수정한다. 이와 같이 함으로써, 서버 클라이언트 시스템 내의 모든 시계가 공통의 시간에 근거하여 용이하게 표준화될 수 있다.
Claims (35)
- 서버용 시각회로를 갖는 서버와, 클라이언트용 시각회로를 갖고 통신망을 통해서 서로 접속되는 클라이언트를 구비한 클라이언트-서버 시스템에 있어서, 상기 클라이언트는 하나의 요구신호를 생성하고, 상기 클라이언트용 시각회로로부터 판독된 시간에 근거하여 상기 요구신호의 송신시간을 결정하며, 상기 요구신호의 상기 송신시간에서 상기 요구신호를 상기 서버로 송신하는 요구 생성모듈과, 상기 요구신호의 상기 송신시간과, 상기 요구신호에 대한 응답신호로서 상기 서버로부터 통보되고 상기 서버용 시각회로로부터 판독된 시간에 근거하여 결정되는 상기 서버에서의 상기 요구신호의 수신시간과, 상기 클라이언트용 시각회로로부터 판독된 시간에 근거하여 결정되는 상기 클라이언트에서의 상기 응답신호의 수신시간에 근거하여, 상기 서버용 시각회로의 시간과 상기 클라이언트용 시각회로의 시간 사이의 불일치와 실질적으로 동일한 시각오차를 산출하는 시각오차 산출모듈을 포함하고, 상기 서버는 상기 서버가 상기 클라이언트로부터 상기 요구신호를 수신한 경우에 상기 응답신호를 생성하여, 상기 응답신호를 상기 클라이언트로 송신하는 응답 생성모듈을 포함한 것을 특징으로 하는 클라이언트-서버 시스템.
- 제 1 항에 있어서, 상기 응답 생성모듈은 상기 서버용 시각회로로부터 판독된 시간에 근거하여 결정되는 상기 서버에서의 상기 응답신호의 송신시간을 포함하는 상기 응답신호를 생성하고, 상기 시각오차 산출모듈은 상기 요구신호의 상기 송신시간으로부터 상기 요구신호의 상기 수신시간까지의 제 1 기간과, 상기 응답신호의 상기 송신시간으로부터 상기 응답신호의 상기 수신시간까지의 제 2 기간 사이의 시간차에 근거하여 상기 시각오차를 산출하도록 구성된 것을 특징으로 하는 클라이언트-서버 시스템.
- 제 1 항에 있어서, 상기 클라이언트는 상기 클라이언트용 시각회로로부터 판독된 시간과, 시각오차 산출모듈에 의해 산출된 상기 시각오차에 근거하여 상기 클라이언트용 시각회로를 수정하는 시각 수정모듈을 더 구비한 것을 특징으로 하는 클라이언트-서버 시스템.
- 제 1 항에 있어서, 상기 클라이언트의 상기 요구모듈은 상기 요구신호의 상기 송신시간을 포함하는 상기 요구신호를 생성하고, 상기 클라이언트는 상기 시각오차를 상기 서버로 송신하는 시각오차 신고모듈과, 상기 서버로 데이터를 송신하고 상기 서버로부터 데이터 응답신호를 수신하는 데이터 처리모듈을 더 포함하고, 상기 서버는 상기 요구신호의 상기 송신시간 및 상기 요구신호의 상기 수신시간에 근거하여 상기 서버와 상기 클라이언트 사이의 일시적인 전송지연시간을 산출하는 전송지연 산출모듈과, 상기 클라이언트로부터 수신된 상기 시각오차, 상기 일시적인 전송지연시간 및, 상기 서버에서의 상기 데이터의 수신시간에 근거하여 상기 데이터에 응답하기 위한 우선시간을 산출하는 우선시간 산출모듈과,상기 우선시간에서 상기 데이터 응답신호를 송신하는 데이터 처리모듈을 더 포함한 것을 특징으로 하는 클라이언트-서버 시스템.
- 제 4 항에 있어서, 상기 복수의 클라이언트를 구비하고, 상기 전송지연 산출모듈은 상기 일시적인 전송지연시간 및 상기 시각오차에 근거하여, 상기 통신망을 통해 접속된 상기 각 클라이언트와 상기 서버 사이의 실제의 전송지연시간을 더 산출하며, 상기 우선시간 산출모듈은 상기 클라이언트의 상기 실제의 전송지연시간을 더 비교하고, 상기 데이터의 수신시간에 대기시간을 더함으로써 상기 우선시간을 결정하는데, 실제로 전송지연시간이 짧은 상기 클라이언트에 대해서는 상기 대기시간이 길게 되도록 구성된 것을 특징으로 하는 클라이언트-서버 시스템.
- 제 5 항에 있어서, 상기 우선시간 산출모듈은 상기 실제의 전송지연시간 중에서 최대 값을 선택하고, 상기 최대 값으로부터 상기 각 클라이언트의 상기 실제의 전송지연시간을 감산하여 상기 각 클라이언트에 대한 상기 대기시간을 결정하도록 구성된 것을 특징으로 하는 클라이언트-서버 시스템.
- 제 1 항에 있어서, 상기 요구 생성모듈은 상기 요구신호의 상기 송신시간을 더 포함하는 상기 요구신호를 생성하고, 상기 응답 생성모듈은 상기 응답신호의 상기 송신시간을 더 포함하는 상기 응답신호를 생성하며, 상기 시각오차 산출모듈은 상기 응답신호 내에 포함된 상기 요구신호의 상기 송신시간에 더 근거하여 상기 시각오차를 산출하도록 구성된 것을 특징으로 하는 클라이언트-서버 시스템.
- 제 1 항에 있어서, 상기 클라이언트는 상기 요구신호의 상기 송신시간을 유지하기 위한 시간 기록모듈을 더 갖고, 상기 요구신호의 상기 송신시간을, 상기 시각오차를 산출하기 위한 상기 시각오차 산출모듈에 공급하도록 구성된 것을 특징으로 하는 클라이언트-서버 시스템.
- 통신망을 통해서 서버용 시각회로를 갖는 서버에 접속될, 클라이언트용 시각회로를 갖는 클라이언트에 있어서, 하나의 요구신호를 생성하고, 상기 클라이언트용 시각회로로부터 판독된 시간에 근거하여 상기 요구신호의 송신시간을 결정하며, 상기 요구신호의 상기 송신시간에서 상기 서버로 상기 요구신호를 송신하는 요구 생성모듈과, 상기 요구신호의 전송시간과, 상기 요구신호에 대한 하나의 응답신호로서 상기 서버로부터 통보되고 상기 서버용 시각회로로부터 판독된 시간에 근거하여 결정되는 상기 서버에서의 상기 요구신호의 수신시간과, 상기 클라이언트용 시각회로로부터 판독된 시간에 근거하여 결정되는 상기 클라이언트에서의 상기 응답신호의 수신시간에 근거하여, 상기 서버용 시각회로의 시간과 상기 클라이언트용 시각회로의 시간 사이의 불일치와 실질적으로 동일한 시각오차를 산출하는 시각오차 산출모듈을 구비한 것을 특징으로 하는 클라이언트.
- 제 9 항에 있어서, 상기 응답신호는 상기 서버용 시각회로로부터 판독된 시간에 근거하여 결정되는, 상기 서버에서의 상기 응답신호의 송신시간을 포함하고, 상기 시각오차 산출모듈은 상기 요구신호의 상기 송신시간으로부터 상기 요구신호의 상기 수신시간까지의 제 1 기간과 상기 응답신호의 송신시간으로부터 상기 응답신호의 수신시간까지의 제 2 기간 사이의 시간차에 근거하여 상기 시각오차를 산출하도록 구성된 것을 특징으로 하는 클라이언트.
- 제 9 항에 있어서, 상기 클라이언트용 시각회로로부터 판독된 시간과, 상기 시각오차 산출모듈에 의해 산출된 상기 시각오차에 근거하여 상기 클라이언트용 시각회로를 수정하는 시간수정모듈을 더 구비한 것을 특징으로 하는 클라이언트.
- 제 9 항에 있어서, 상기 시각오차를 상기 서버로 송신하는 시각오차 신고모듈과, 상기 서버로 데이터를 송신하고, 상기 요구신호의 상기 송신시간, 상기 서버에서의 상기 요구신호의 상기 수신시간 및, 상기 서버에 송신된 상기 시각오차에 근거하여 상기 서버에 의해 지연되는 데이터 응답신호를 상기 서버로부터 수신하는 데이터 처리모듈을 더 구비한 것을 특징으로 하는 클라이언트.
- 제 9 항에 있어서, 상기 요구 생성모듈은 상기 요구신호의 상기 송신시간을 더 포함하는 상기 요구신호를 생성하고, 상기 응답신호는 상기 요구신호의 상기 송신시간을 더 포함하며, 상기 시각오차 산출모듈은 상기 응답신호 내에 포함된 상기 요구신호의 상기 송신시간에 더 근거하여 상기 시각오차를 산출하도록 구성된 것을 특징으로 하는 클라이언트.
- 제 9 항에 있어서, 상기 요구신호의 상기 송신시간을 유지하기 위한 시간 기록모듈을 더 구비하고, 상기 시각오차를 산출하기 위한 상기 시각오차 산출모듈에 상기 요구신호의 상기 송신시간을 공급하도록 구성된 것을 특징으로 하는 클라이언트.
- 통신망을 통해서 클라이언트용 시각회로를 갖는 클라이언트에 접속될, 서버용 시각회로를 갖는 서버에 있어서,상기 서버가 상기 클라이언트에서의 요구신호의 송신시간을 포함하는 요구신호를 상기 클라이언트로부터 수신할 때, 상기 응답신호의 전송시간을 포함하는 응답신호를 생성하고, 상기 클라이언트로 상기 응답신호를 송신하는데, 상기 요구신호의 상기 송신시간은 상기 클라이언트용 시각회로로부터 판독된 시간에 근거하여 결정되고, 상기 응답신호의 상기 송신시간은 상기 서버용 시각회로로부터 판정된 시간에 근거하여 결정되도록 하는 응답 생성모듈을 구비한 것을 특징으로 하는 서버.
- 제 15 항에 있어서, 상기 요구신호의 상기 송신시간과 상기 요구신호의 수신시간에 근거하여 상기 서버와 상기 클라이언트 사이의 일시적인 송신지연시간을 산출하는 송신지연 산출모듈과, 상기 서버에서의 상기 데이터의 수신시간, 상기 일시적인 전송지연시간 및, 상기 클라이언트로부터 신고된 상기 클라이언트용 시각회로의 시각오차에 근거하여 상기 클라이언트로부터 수신된 데이터에 응답하기 위한 우선시간을 산출하는 우선시간 산출모듈과, 상기 우선시간에서 상기 데이터 응답신호를 송신하는 데이터 처리모듈을 더 구비한 것을 특징으로 하는 서버.
- 제 16 항에 있어서, 상기 복수의 클라이언트에 더 접속되고, 상기 전송지연 산출모듈은 상기 일시적인 전송지연시간과 상기 시각오차에 근거하여, 상기 통신망을 통해서 접속된 상기 클라이언트의 각각과 상기 서버 사이의 실제의 전송지연시간을 더 산출하고, 상기 우선시간 산출모듈은 상기 클라이언트의 상기 실제의 전송지연시간을 더 비교하고, 상기 데이터의 상기 수신시간에 대기시간을 더하여 상기 우선시간을 결정하는데, 실제로 전송지연시간이 짧은 상기 클라이언트에 대해서는 상기 대기시간이 길게 되도록 구성된 것을 특징으로 하는 서버.
- 제 17 항에 있어서, 상기 우선시간 산출모듈은 상기 실제의 전송지연시간 중에서 최대 값을 선택하고, 상기 최대 값으로부터 상기 각 클라이언트의 상기 실제의 전송지연시간을 감산하여 상기 각 클라이언트에 대한 상기 대기시간을 결정하도록 구성된 것을 특징으로 하는 서버.
- 통신망을 통해서 서버용 시각회로를 갖는 서버에 접속될 클라이언트용 시각회로를 갖는 클라이언트를 제어하기 위한 프로그램을 기억하는 기록매체 있어서, 상기 프로그램은 상기 클라이언트로 하여금 하나의 요구신호를 생성하게 하고, 상기 클라이언트용 시각회로부터 판독된 시간에 근거하여 상기 요구신호의 송신시간을 결정하며, 상기 요구신호의 상기 송신시간에서 상기 서버로 상기 요구신호를 송신하는 요구 생성모듈과, 상기 요구신호의 상기 송신시간, 상기 요구신호에 대한 응답신호로서 상기 서버로부터 통보되고 상기 서버용 시각회로로부터 판독된 시간에 근거하여 결정되는 상기 서버에서의 상기 요구신호의 수신시간 및, 상기 클라이언트용 시각회로로부터 판독된 시간에 근거하여 결정되는 상기 클라이언트에서의 상기 응답신호의 수신시간에 근거하여, 상기 서버용 시각회로의 시간과 상기 클라이언트용 시각회로의 시간 사이의 불일치와 실질적으로 동일한 시각오차를, 상기 클라이언트로 하여금 산출하게 하는 시각오차 산출모듈을 구비한 것을 특징으로 하는 기록매체.
- 제 19 항에 있어서, 상기 응답신호는 상기 서버용 시각회로로부터 판독된 시간에 근거하여 결정되는, 상기 서버에서의 상기 응답신호의 송신시간을 포함하고, 상기 시각오차 산출모듈은 상기 클라이언트로 하여금 상기 요구신호의 상기 송신시간으로부터 상기 요구신호의 상기 수신시간까지의 제 1 기간과 상기 응답신호의 상기 송신시간으로부터 상기 응답신호의 상기 수신시간까지의 제 2 기간 사이의 시간차에 근거하여 상기 시각오차를 산출하게 하도록 구성된 것을 특징으로 하는 기록매체.
- 제 19 항에 있어서, 상기 프로그램은 상기 클라이언트로 하여금 상기 클라이언트용 시각회로로부터 판독된 시간과 상기 시각오차 산출모듈에 의해 산출된 상기 시각오차에 근거하여 상기 클라이언트용 시각회로를 수정하게 하는 시각수정모듈을 더 구비한 것을 특징으로 하는 기록매체.
- 제 19 항에 있어서, 상기 요구 생성모듈은 상기 클라이언트로 하여금 상기 요구신호의 상기 송신시간을 포함하는 상기 요구신호를 생성하게 하고, 상기 프로그램은 상기 클라이언트로 하여금 상기 시각오차를 상기 서버로 송신하게 하는 시각오차 신고모듈과, 상기 클라이언트로 하여금 상기 서버로 데이터를 송신하게 하고, 상기 요구신호의 상기 송신시간, 상기 서버에서의 상기 요구신호의 상기 수신시간 및, 상기 서버로 송신된 상기 시각오차에 근거하여 상기 서버에 의해 지연되는 데이터 응답신호를 상기 서버로부터 수신하게 하는 데이터 처리모듈을 더 구비한 것을 특징으로 하는 기록매체.
- 제 19 항에 있어서, 상기 프로그램은 상기 클라이언트로 하여금 상기 요구신호의 상기 송신시간을 유지하게 하고, 상기 시각오차를 산출하는 상기 시각오차 산출모듈에 상기 요구신호의 상기 송신시간을 공급하게 하는 시간 기록모듈을 더 구비한 것을 특징으로 하는 기록매체.
- 통신망을 통해서 클라이언트용 시각회로를 갖는 클라이언트에 접속될 서버용 시각회로를 갖는 서버를 제어하기 위한 프로그램을 기억하는 기록매체에 있어서, 상기 프로그램은, 상기 서버가 상기 클라이언트에서의 상기 요구신호의 송신시간을 포함하는 요구신호를 상기 클라이언트로부터 수신할 때, 상기 서버로 하여금 상기 응답신호의 송신시간을 포함하는 응답신호를 생성하게 하고, 상기 클라이언트로 하여금 상기 클라이언트로 상기 응답신호를 송신하게 하는데, 상기 요구신호의 상기 송신시간은 상기 클라이언트용 시각회로로부터 판독된 시간에 근거하여 결정되고, 상기 응답신호의 상기 송신시간은 상기 서버용 시각회로로부터 판독된 시간에 근거하여 결정되도록 하는 응답 생성모듈을 구비한 것을 특징으로 하는 기록매체.
- 제 24 항에 있어서, 상기 프로그램은 상기 서버로 하여금 상기 요구신호의 상기 송신시간과 상기 요구신호의 수신시간에 근거하여 상기 서버와 상기 클라이언트 사이의 일시적인 전송지연시간을 산출하게 하는 전송지연 산출모듈과, 상기 서버로 하여금 상기 서버에서의 상기 데이터의 수신시간, 상기 일시적인 전송지연시간 및, 상기 클라이언트로부터 신고된 상기 클라이언트용 시각회로의 시각오차에 근거하여 상기 클라이언트로부터 수신된 데이터에 응답하는 우선시간을 산출하게 하는 우선시간 산출모듈과, 상기 클라이언트로 하여금 상기 우선시간에서 상기 데이터 응답신호를 송신하게 하는 데이터 처리모듈을 더 구비한 것을 특징으로 하는 기록매체.
- 제 25 항에 있어서, 상기 서버는 상기 복수의 클라이언트에 더 접속되고, 상기 전송지연 산출모듈은 상기 서버로 하여금 상기 일시적인 전송지연시간 및 상기 시각오차에 근거하여, 상기 통신망을 통해서 접속된 상기 클라이언트의 각각과 상기 서버 사이의 실제의 전송지연시간을 더 산출하게 하고, 상기 우선시간 산출모듈은 상기 서버로 하여금 상기 클라이언트의 상기 실제의 전송지연시간을 더 비교하게 하고, 상기 서버로 하여금 상기 데이터의 상기 수신시간에 대기시간을 더하여 상기 우선시간을 결정하게 하는데, 실제로 전송지연시간이 짧은 상기 클라이언트에 대해서는 상기 대기시간이 길게 되도록 구성된 것을 특징으로 하는 기록매체.
- 제 25 항에 있어서, 상기 우선시간 산출모듈은 상기 서버로 하여금 상기 실제의 전송지연시간 중에서 최대 값을 선택하게 하고, 상기 최대 값으로부터 상기 각 클라이언트의 상기 실제의 전송지연시간을 감산하여 상기 각 클라이언트에 대한 상기 대기시간을 결정하게 하도록 구성된 것을 특징으로 하는 기록매체.
- 통신망을 통해서 서로 접속될 클라이언트용 시각회로를 갖는 클라이언트와 서버용 시각회로를 갖는 서버 사이의 통신방법에 있어서, 한 개의 요구신호를 생성하고, 상기 클라이언트용 시각회로로부터 판독된 시간에 근거하여 상기 요구신호의 송신시간을 결정하며, 상기 요구신호의 상기 송신시간에서 상기 서버로 상기 요구신호를 송신하는 상기 클라이언트와, 상기 서버가 상기 클라이언트로부터 상기 요구신호를 수신할 때 한 개의 응답신호를 생성하여, 상기 클라이언트로 상기 응답신호를 송신하는 상기 서버와, 상기 요구신호의 송신시간, 상기 요구신호에 대한 응답신호로서 상기 서버로부터 통보되고 상기 서버용 시각회로로부터 판독된 시간에 근거하여 결정되는 상기 서버에서의 상기 요구신호의 수신시간 및, 상기 클라이언트용 시각회로로부터 판독된 시간에 근거하여 결정되는 상기 클라이언트에서의 상기 응답신호의 수신시간에 근거하여, 상기 서버용 시각회로의 시간과 상기 클라이언트용 시각회로의 시간 사이의 불일치와 실질적으로 동일한 시각오차를 산출하는 상기 클라이언트를 구비한 것을 특징으로 하는 통신방법.
- 제 28 항에 있어서, 상기 응답신호를 생성하는 상기 서버는 상기 서버용 시각회로로부터 판독되고 상기 응답시간 내에 포함된 시간에 근거하여 결정되는 상기 서버에서의 상기 응답신호의 송신시간을 생성하는 단계를 포함하고, 상기 시각오차를 산출하는 상기 클라이언트는 상기 요구신호의 상기 송신시간으로부터 상기 요구신호의 상기 수신시간까지의 제 1 기간과 상기 응답신호의 상기 송신시간으로부터 상기 응답신호의 상기 수신시간까지의 제 2 기간 사이의 시간차에 근거하는 것을 특징으로 하는 통신방법.
- 제 28 항에 있어서, 상기 클라이언트용 시각회로로부터 판독된 시간 및 상기 시각오차에 근거하여 상기 클라이언트용 시각회로를 더 수정하는 상기 클라이언트를 더 구비한 것을 특징으로 하는 통신방법.
- 제 28 항에 있어서, 상기 요구신호는 상기 요구신호의 상기 송신시간을 포함하고, 상기 서버로 상기 시각오차를 송신하는 상기 클라이언트와, 상기 서버로 데이터를 송신하고 상기 서버로부터 데이터 응답신호를 수신하는 상기 클라이언트와, 상기 요구신호의 상기 송신시간 및 상기 요구신호의 상기 수신시간에 근거하여 상기 서버와 상기 클라이언트 사이의 일시적인 전송지연시간을 산출하는 상기 서버와, 상기 서버에서의 상기 데이터의 수신시간, 상기 일시적인 전송지연시간 및, 상기 클라이언트로부터 수신된 상기 시각오차에 근거하여 상기 데이터에 응답하는 우선시간을 산출하는 상기 서버와, 상기 우선시간에서 상기 데이터 응답신호를 송신하는 상기 서버를 더 구비한 것을 특징으로 하는 통신방법.
- 제 31 항에 있어서, 상기 서버는 상기 통신망을 통해서 상기 복수의 클라이언트에 접속되고, 상기 일시적인 전송지연시간 및 상기 시각오차에 근거하여, 상기 통신망을 통해서 접속된 상기 클라이언트의 각각과 상기 서버 사이의 실제의 전송지연시간을 산출하는 상기 서버와, 상기 클라이언트의 상기 실제의 전송지연시간을 비교하고, 상기 데이터의 상기 수신시간에 대기시간을 더하여 상기 우선시간을 결정하는데, 실제로 전송지연시간이 짧은 상기 클라이언트에 대하여는 상기 대기시간이 길게 되도록 하는 상기 서버를 더 구비한 것을 특징으로 하는 통신방법.
- 제 32 항에 있어서, 상기 실제의 전송지연시간 중에서 최대 값을 선택하고, 상기 최대 값으로부터 상기 각 클라이언트의 상기 실제의 전송지연시간을 감산하여 각 클라이언트에 대한 상기 대기시간을 결정하는 상기 서버를 더 구비한 것을 특징으로 하는 통신방법.
- 제 28 항에 있어서, 상기 요구신호는 상기 요구신호의 상기 송신시간을 더 포함하고, 상기 응답신호는 상기 서버에 의해 상기 요구신호로부터 판독되는 상기 요구신호의 상기 송신시간을 더 포함하며, 상기 시각오차를 산출하는 상기 클라이언트는 상기 응답신호 내에 포함된 상기 요구신호의 상기 송신시간에 더 근거한 것을 특징으로 하는 통신방법.
- 제 28 항에 있어서, 상기 요구신호의 상기 송신시간을 유지하고, 상기 시각오차를 산출하기 위해 상기 요구신호의 상기 송신시간을 공급하는 클라이언트를 더 구비한 것을 특징으로 하는 통신방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP141279 | 1997-05-30 | ||
JP14127997A JP3440191B2 (ja) | 1997-05-30 | 1997-05-30 | クライアント・サーバシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980087377A KR19980087377A (ko) | 1998-12-05 |
KR100325089B1 true KR100325089B1 (ko) | 2002-04-17 |
Family
ID=15288204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019980019073A KR100325089B1 (ko) | 1997-05-30 | 1998-05-26 | 데이터 전송지연시간을 보정하는 클라이언트-서버 시스템 |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP3440191B2 (ko) |
KR (1) | KR100325089B1 (ko) |
CN (1) | CN1128527C (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11681638B2 (en) | 2021-03-08 | 2023-06-20 | Samsung Electronics Co.. Ltd. | Method of synchronizing time between host device and storage device and system performing the same |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4218913B2 (ja) * | 1999-07-05 | 2009-02-04 | 株式会社バンダイナムコゲームス | ゲーム演算集中処理装置及び情報記憶媒体 |
KR20020039945A (ko) * | 2000-11-23 | 2002-05-30 | 오길록 | 분산 가상 환경에서 지연예측을 이용한 공유상태 관리방법 |
US6941109B2 (en) * | 2002-02-19 | 2005-09-06 | Seiko Epson Corporation | Computing network path delays so accurate absolute time can be forwarded from a server to a client |
GB2394628B (en) * | 2002-10-25 | 2005-10-19 | Siemens Plc | A method of determining a timing offset between a first clock and a second clock in a communications network |
JP3970235B2 (ja) | 2003-01-10 | 2007-09-05 | キヤノン株式会社 | 監視装置、当該装置におけるカウンタ情報の管理方法、記憶媒体及びプログラム |
US7400578B2 (en) * | 2004-12-16 | 2008-07-15 | International Business Machines Corporation | Method and system for throttling network transmissions using per-receiver bandwidth control at the application layer of the transmitting server |
CN102075372B (zh) * | 2009-11-23 | 2014-08-27 | 财团法人工业技术研究院 | 时间还原方法及应用其的网络仿真系统 |
WO2012114436A1 (ja) | 2011-02-21 | 2012-08-30 | 三菱電機株式会社 | 通信装置および通信方法 |
JP7318557B2 (ja) * | 2020-02-18 | 2023-08-01 | トヨタ自動車株式会社 | コミュニケーションシステム、制御方法及び制御プログラム |
CN114143219A (zh) * | 2021-12-01 | 2022-03-04 | 北京联创新天科技有限公司 | 一种b/s系统架构的网络监控方法、装置、介质及设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06124249A (ja) * | 1992-10-12 | 1994-05-06 | Fujitsu Ltd | 入出力装置の終了処理における標準入出力インタフェースの先行制御方法 |
JPH06261047A (ja) * | 1993-03-03 | 1994-09-16 | Hitachi Ltd | Lan通信システム |
JPH06274464A (ja) * | 1993-03-17 | 1994-09-30 | Sumitomo Metal Ind Ltd | 分散処理方法 |
JP3417741B2 (ja) * | 1995-10-06 | 2003-06-16 | 富士通株式会社 | 取引制御システム |
JPH09244984A (ja) * | 1996-03-08 | 1997-09-19 | Nippon Telegr & Teleph Corp <Ntt> | イベント順序補正方法 |
-
1997
- 1997-05-30 JP JP14127997A patent/JP3440191B2/ja not_active Expired - Fee Related
-
1998
- 1998-05-26 KR KR1019980019073A patent/KR100325089B1/ko not_active IP Right Cessation
- 1998-05-28 CN CN98109353A patent/CN1128527C/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11681638B2 (en) | 2021-03-08 | 2023-06-20 | Samsung Electronics Co.. Ltd. | Method of synchronizing time between host device and storage device and system performing the same |
Also Published As
Publication number | Publication date |
---|---|
JP3440191B2 (ja) | 2003-08-25 |
JPH10334027A (ja) | 1998-12-18 |
CN1128527C (zh) | 2003-11-19 |
KR19980087377A (ko) | 1998-12-05 |
CN1204194A (zh) | 1999-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100325089B1 (ko) | 데이터 전송지연시간을 보정하는 클라이언트-서버 시스템 | |
US7069325B1 (en) | Method and apparatus for handling requests in a network | |
US5991373A (en) | Reproduction of a voice and video session | |
US7542485B2 (en) | Time and data synchronization between network devices | |
US8352931B2 (en) | Data push service method and system using data pull model | |
US20160142477A1 (en) | Connection control device, connection control system, and non-transitory computer readable medium | |
KR100584316B1 (ko) | 단말장치와 서버간의 프레전스 정보 데이터 동기화를 위한시스템 및 방법 | |
KR20090033262A (ko) | 네트워크 인프라구조 디바이스에 대한 지오로케이션 정보를유포하는 방법 | |
US20090257456A1 (en) | Coordinated timing network having servers of different capabilities | |
CN109889922B (zh) | 流媒体数据的转发方法、装置、设备和存储介质 | |
US10091288B2 (en) | Ordered execution of tasks | |
US8423593B2 (en) | Content distribution system | |
US9412415B2 (en) | Content synchronization system, content-synchronization control device, and content playback device | |
EP4064589A1 (en) | Ethernet time synchronization method and apparatus | |
TWI469578B (zh) | Access control method, access control device and access control program | |
US20240235887A9 (en) | Network node for a vehicle | |
KR100439032B1 (ko) | 콜서버를 이용한 인터넷폰의 시간 동기화 방법 및 그 시스템 | |
CN112217740A (zh) | 一种基于边缘计算网络的请求处理方法及装置 | |
KR20090126734A (ko) | VoIP 단말을 위한 영상 사서함 서비스 방법 | |
WO2007100413A2 (en) | Carrier interoperability for critical services | |
JPH11223687A (ja) | 複数計算機間の内部時計同期方式 | |
US20070061407A1 (en) | Setting distribution in a home network | |
CN115834697B (zh) | 一种文件存储方法、系统、装置及电子设备 | |
JP2000152207A (ja) | 多地点間通信制御方法及びシステム及びサーバ及び多地点間通信制御プログラムを格納した記憶媒体 | |
KR100386346B1 (ko) | 데이터 전송방법 및 전송장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130118 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20140117 Year of fee payment: 13 |
|
FPAY | Annual fee payment |
Payment date: 20150119 Year of fee payment: 14 |
|
LAPS | Lapse due to unpaid annual fee |