KR20000028662A - 컴퓨터, 정보 공유 시스템, 및 레프리카 동일성 유지 방법 - Google Patents

컴퓨터, 정보 공유 시스템, 및 레프리카 동일성 유지 방법 Download PDF

Info

Publication number
KR20000028662A
KR20000028662A KR1019990039168A KR19990039168A KR20000028662A KR 20000028662 A KR20000028662 A KR 20000028662A KR 1019990039168 A KR1019990039168 A KR 1019990039168A KR 19990039168 A KR19990039168 A KR 19990039168A KR 20000028662 A KR20000028662 A KR 20000028662A
Authority
KR
South Korea
Prior art keywords
change
replica
change request
data
request
Prior art date
Application number
KR1019990039168A
Other languages
English (en)
Other versions
KR100359960B1 (ko
Inventor
네기시야스시
아후자모한
다고가즈야
Original Assignee
포만 제프리 엘
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 포만 제프리 엘, 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 포만 제프리 엘
Publication of KR20000028662A publication Critical patent/KR20000028662A/ko
Application granted granted Critical
Publication of KR100359960B1 publication Critical patent/KR100359960B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

레프리카 갱신시에서의 통신 효율을 개선하고, 메모리 사용량을 삭감한다.
공유 데이타의 레프리카를 구비하여, 데이타 변경을 다른 컴퓨터와 서로 통지함으로써 레프리카 내용의 동일성 유지를 얻는 컴퓨터에 있어서, 다른 컴퓨터로부터 레프리카내 데이타 변경 요구를 수신하는 수단과, 변경 요구의 수신 순번에 관계없이, 수신한 변경 요구에 따른 레프리카의 갱신 실행의 타이밍을, 변경 요구에 포함되는 정보를 이용하여, 변경 요구를 수신할 때마다 제어하는 제어 수단을 구비한다. 따라서, 변경 요구의 수신 순번, 즉 다른 컴퓨터의 송신 순번과는 상관없이, 변경 요구에 따른 레프리카의 갱신 실행의 타이밍/순번를 결정할 수 있다. 또한, 가령 변경 요구가 그 생성 순으로 수신되지 않아도, 실행할 수 있는 변경 요구를 판별하고 또한 실행할 수 있으므로, 보다 처리 효율도 높아진다.

Description

컴퓨터, 정보 공유 시스템, 및 레프리카 동일성 유지 방법{COMPUTER, DATA SHARING SYSTEM, AND METHOD FOR MAINTAINING REPLICA CONSISTENCY}
본 발명은, 각 컴퓨터가 공유 데이타의 레프리카를 구비하여, 데이타 변경을 컴퓨터에 서로 통지함으로써 레프리카 내용의 동일성을 유지하는 시스템에 관한 것으로, 특히 레프리카 갱신 동작의 순번 제어에 관한 것이다.
종래의 정보 공유 시스템에서는, 이하와 같은 방법으로 레프리카의 갱신 순서가 결정되었다.
(1) 컴퓨터간의 통신 회선이 항상 접속되어 있는 것을 전제로 하는 정보 공유 시스템인 경우, 데이타의 갱신이 발생할 때마다 데이타 갱신을 서로 통지하는 기구를 구비하는 경우가 많다. 이 경우, 레프리카의 갱신은 데이타 변경이 일어날 때마다 변경 순번와 동일한 순번로 행해지는 것이 보증된다. 이하, 이러한 순번를 FIFO 순번라고 한다. 그러나, 사무실등에 설치된 컴퓨터 내의 데이타를 사무실밖에서 휴대 단말에 취입하여 열람·편집하는 경우도 존재한다. 이 휴대 단말등의 경우에 자주 이용되는 무선 공중 회선은, 통상의 LAN(Local Area Network)와 비교하면 회선의 품질이 나쁘고, 패킷 전송의 실패가 빈번히 일어난다. 일반적으로 전송 순번에 대한 제약이 강하면 강할수록 전송 오버헤드도 커진다. 가장 강한 제약을 수반하는 FlFO 순번로의 전송은 큰 전송 오버헤드가 걸린다. 무선 공중 회선은 회선 사용료도 비싸므로, 이 전송 오버헤드는 큰 문제이다.
(2) Lotus Notes (Lotus사의 상표)와 같은, 회선의 비접속시의 조작을 가정한 정보 공유 시스템에서는, 레프리카의 갱신은, 배치 처리와 같이 모든 갱신이 일괄적으로 행해진다. 이러한 시스템에서는, 갱신 중 데이타에 액세스할 수 없다. 통신 회선의 절단등에 의해 레프리카의 갱신이 도중에서 중단된 경우, 갱신의 순번는 일반적으로 부정적이다. 즉, 갱신이 어디까지 실행되었는지 모르게 된다.
EPO794646(특개평9-24642호)은, 이하의 사항을 개시하고 있다. 이동 통신 네트워크를 통해 접속 가능한 복수의 컴퓨터·시스템 상에 유지되는 공용 데이타·파일의 복사를 관리하는 데이타 관리 시스템에 있어서, 상기 데이타 관리 시스템은 공용 데이타·파일의 각 복사에 관련되고, 그 복사에 대해 실행되는 변경의 기록을 유지하는 로깅 수단과, 이동 통신 네트워크로의 접속을 통해, 공용 데이타 파일의 다른 복사에 대해 유지되는 기록을 추출하기 위한 추출 수단과, 추출된 기록을 병합하여 변경 순번를 생성하는 병합 수단과, 미리 정의된 규칙을 변경 순번에 적용하여 변경 순번 내에서의 충돌을 해결하는 충돌 해결 수단과, 충돌 해결이 끝난 변경 순번에 의거하여, 공용 파일의 복사를 변경하는 수단을 포함한다. 또, 여기서 말하는 충돌이란 동일 판의 데이타에 대해 병렬로 행해지는 복수의 데이타 변경을 의미한다고 생각할 수 있다. 또한, 충돌의 해결이란 충돌을 생기게 하는 복수의 데이타 변경을 일정한 순번대로 재배열하는 것을 의미한다고 생각할 수 있다. 이 시스템은 변경의 충돌을 해결하기 위한 시스템으로, 변경의 충돌을 해결하기 위해서는 충돌이 발생했는지의 여부를 판단할 때까지 모든 변경에 관한 정보가 갖추어져 있어야한다. 즉, 변경의 충돌을 해결한 후가 아니면, 공용 파일의 복사를 변경할 수 없다. 따라서, 하나라도 변경에 관한 정보를 취득할 수 없으면 변경 처리를 실행할 수 없다. 또한, 수신한 변경에 관한 정보를 기억하기 위한 메모리에 대한 부담도 커진다. 이것은 휴대 단말과 같이 통신에 사용할 수 있는 메모리 용량이 적은 경우에는 큰 문제가 된다. 또한, 메모리 용량이 모자라기 때문에 행해지는 재송의 문제도 생긴다.
이상과 같이 종래 기술에서는, 레프리카 갱신시의 통신 효율, 메모리 사용량, 및 도중에서 통신 회선이 절단한 경우의 처리에 문제가 있었다.
따라서, 본 발명의 목적은, 레프리카의 갱신시 통신 효율을 개선하는 방법 및 장치를 제공하는 것이다.
또한, 레프리카의 갱신시 메모리 사용량을 삭감하는 방법 및 장치를 제공하는 것도 목적이다.
또한, 레프리카의 갱신을 위한 통신이 도중에서 절단된 경우라도, 변경 요구에 따른 레프리카의 갱신이 어디까지 실행되었는지 확인할 수 있는 방법 및 장치를 제공하는 것도 목적이다.
또한, 레프리카 갱신 순서를 명시적으로 지정할 수 있도록 하는 것도 목적이다.
본 발명은, 공유 데이타의 레프리카를 구비하여, 데이타 변경을 다른 컴퓨터와 서로 통지함으로써 레프리카 내용의 동일성 유지를 꾀하는 컴퓨터로서, 다른 컴퓨터로부터 레프리카 내의 데이타의 변경 요구를 수신하는 수단과, 변경 요구의 수신 순번에 관계없이, 수신한 변경 요구에 따른 레프리카의 갱신 실행의 타이밍을, 변경 요구에 포함되는 정보를 이용하여, 변경 요구를 수신할 때마다 제어하는 제어 수단을 구비한다. 변경 요구의 수신 순번, 즉 다른 컴퓨터의 송신 순번와는 무관하게, 변경 요구에 따른 레프리카의 갱신 실행의 타이밍을 결정할 수 있기 때문에, 통신 효율도 개선되고 또한 메모리 사용량도 삭감된다.
상기된 변경 요구에 포함되는 정보는, 변경 순번의 지정없이(실시예에서의 오디너리), 상기 변경 요구보다 전의 모든 변경 요구를 상기 레프리카에 반영한 후에 상기 변경 요구에 따른 레프리카의 갱신을 실행한다고 하는 제1 지정(실시예에서의 포워드·플래시), 상기 변경 요구보다 나중의 변경 요구를 상기 변경 요구에 따른 레프리카의 갱신 실행 후에 실행한다고 하는 제2 지정(실시예에서의 백워드·플래시), 또는 상기 변경 요구보다 이전의 모든 변경을 상기 레프리카에 반영한 후에 상기 변경 요구에 따른 레프리카의 갱신을 실행하고 또한 상기 변경 요구보다 나중의 변경 요구를 상기 변경 요구에 따른 레프리카의 갱신 실행 후에 실행한다고 하는 제3 지정(투웨이·플래시)을 포함하도록 할 수 있다. 이와 같이 레프리카 갱신의 순번를 명시적으로 지정할 수 있다.
상기된 변경 요구에 포함되는 정보는, 지금까지 생성된, 제2 또는 제3 지정을 포함한 변경 요구의 수(제1 수: 실시예에서의 BT 수), 및 마지막으로 제2 또는 제3 지정을 포함하는 변경 요구가 생성된 후에 생성된 변경 요구의 수(제2 수: 실시예에서의 SBT 수)를 더 포함하도록 하는 것도 생각할 수 있다. 이와 같이 하면, 통신 회선이 도중에 절단되어도 어떤 변경 요구까지 수신되고 또한 갱신이 실행되었는지 여부를 확인할 수 있는 기구를 구축할 수 있게 된다.
또한, 상기 제어 수단은, 제1 및 제2 수에 대응하고, 레프리카의 갱신 실행의 타이밍을 규정하는 제1 및 제2 관리치(실시예에서의 처리 중 BT 수 및 처리 중 SBT 수)를 유지하도록 하는 것도 가능하다. 보다 간단하게 갱신 실행의 타이밍을 결정할 수 있게 된다.
또한, 상기 제어 수단은, 변경 요구에 따른 레프리카의 갱신이 실행된 경우에, 상기 변경 요구에 포함되는 제1 및 제2 수를 제3 수 및 제4 수(실시예에서는 응답 예정 BT 수 및 응답 예정 SBT 수)로서 기억하도록 구성하는 것도 가능하다. 또한, 상기 컴퓨터가, 다른 컴퓨터에 레프리카 내의 데이타의 변경 요구를 송신하는 수단을 더 포함하고, 상기 제어 수단은, 송신하는 변경 요구에, 제3 수 및 제4 수를 포함하도록 구성하는 것도 생각할 수 있다. 이와 같이 하면, 통신 회선이 도중에서 절단된 경우라도, 송신원은 어떤 변경 요구를 재송하면 되는지를 판단할 수 있고, 또한 송신원은 어떤 변경 요구를 파기해도 되는지를 판단하는 것도 가능해진다.
이상은 수신측의 컴퓨터의 구성이었다. 송신측의 컴퓨터는, 레프리카 내의 데이타의 변경을 명령하고, 상기 데이타의 변경에 대해 변경 순번에 관한 정보를 지정하는 수단과, 데이타 변경의 명령에 대응하고 또한 변경 순번에 관한 정보를 포함하는 변경 요구를 생성하는 수단과, 변경 요구의 생성 순번와 송신 순번의 일치를 보증하지 않는 상태에서, 변경 요구를 송신하는 수단을 구비한다. 이와 같이 데이타의 변경마다 변경 순번에 관한 정보를 명시적으로 지정하고, 수신측에서 그 정보를 사용 가능하도록 변경 요구에 포함시켜 이송한다. 또한, 통신 효율을 올리기 위해, 변경 요구의 생성 순번과 송신 순번의 일치를 보증하지 않은 양태로 송신한다. 도중에 회선이 절단되고, 재접속 및 재송하는 경우도 포함한다.
상기 변경 요구는, 위에서 상술된 변경 요구에 포함되는 정보와 동일한 정보를 포함하도록 하는 것도 가능하다.
또한, 상기 컴퓨터는, 다른 컴퓨터로부터 레프리카 내의 데이타의 변경 요구를 수신하는 수단을 더 포함하고, 수신한 변경 요구가, 송신한 변경 요구에 따른 레프리카의 갱신이 송신처의 다른 컴퓨터로 실행된 것을 나타내는 응답 정보(실시예에서는 응답 예정 BT 수 및 응답 예정 SBT 수) 를 포함하도록 구성할 수 있다. 이에 따라, 재송할 필요가 없는 변경 요구를 확정할 수 있다. 즉, 응답 정보를 참조하여, 송신한 변경 요구를 삭제할지를 판단하는 수단을 더 포함하도록 할 수 있다.
하나의 컴퓨터는 이상 상술된 송신측 및 수신측 쌍방의 구성을 구비한 것도 가능하고, 또한 그와 같은 컴퓨터에 의해 정보 공유 시스템을 구축할 수 있다.
이상은 컴퓨터의 장치 구성을 도시한 것이지만, 이상과 같은 컴퓨터에서 실시되는 처리는, 프로그램으로서 실시하는 것도 가능하다. 이 경우, 프로그램은, 플로피 디스크나 CD-ROM, 그 밖의 기억 매체에 기억된다.
도 1은 본 발명의 정보 공유 시스템을 나타낸 도면.
도 2는 변경 요구의 BT 수 및 SBT 수, 응답 예정 BT 수 및 응답 예정 SBT 수, 응답 확인 완료 BT 수 및 응답 확인 완료 SBT 수의 관계를 나타내는 플로우도.
도 3은 BT 수 및 SBT 수의 변경 요구에 방법을 나타낸 도면.
도 4는 변경 요구 및 삭제의 실행을 설명하기 위한 예를 나타내는 도면.
도 5는 도 4의 경우의 수신 큐의 모양을 나타낸 도면.
도 6은 변경 요구의 실행 및 삭제의 실행의 처리 플로우를 나타낸 도면.
<도면의 주요 부분에 대한 부호의 설명>
100 : 정보 공유 시스템
1 : 컴퓨터 A
3 : 컴퓨터 B
5 : 어플리케이션
7 : 레프리카·컨트롤러
9 : 송신 큐
11 : 수신 큐
13 : 패킷 송신기
15 : 패킷 수신기
17 : 데이타 저장 장치
19 : 통신 매체
도 1에 본 발명의 정보 공유 시스템 전체의 구성도를 도시한다. 정보 공유 시스템(100)은, 컴퓨터 A(1) 및 컴퓨터 B(3)로 구성되어 있다. 컴퓨터의 갯수는 2개로 한정되지 않지만, 이하의 설명을 알기 쉽게 하기 위해 여기서는 2개라고 한다. 또한, 본 발명에 따른 구성 요소는 컴퓨터 A(1) 및 컴퓨터 B(3)로 동일하고, 도 1에서는 대표하여 컴퓨터 A(1)에 각 구성 요소를 나타내고 있다. 각 컴퓨터는, 1개 이상의 어플리케이션(5)과 레프리카·컨트롤러(7)와 송신 큐(9)와 수신 큐(11)와 패킷 송신기(13)와 패킷 수신기(15)와 데이타 저장 장치(17)를 포함한다.
어플리케이션(5)은, 레프리카·컨트롤러(7)에 대해, 데이타의 생성, 검색, 참조, 및 삭제등의 처리의 요구를 행한다. 그리고, 이 데이타의 생성 및 삭제등, 데이타를 변경하는 요구를 행할 때에는, 레프리카의 갱신 순서의 지정을 행한다. 본 발명에서의 레프리카의 갱신 순서의 지정은, 오디너리(Ordinary), 포워드·플래시(Forward Flush), 백워드·플래시 (Backward Flush), 투웨이·플래시(Two way Flush) 중 하나이다. 데이타의 변경이외의 액세스는, 통상의 데이타 베이스의 액세스와 동일하므로, 자세한 설명은 생략한다.
오디너리는 상기 변경할 때에, 대응하는 레프리카의 갱신 순서에 따른 제약은 없다고 하는 것을 나타내기 위한 것이다. 포워드·플래시는, 상기 데이타 변경에 대응한 레프리카의 갱신은, 이 변경 이전에 행해진 모든 변경을 레프리카에 반영시킨 후에 행하는 것을 나타내기 위한 것이다. 백워드·플래시는, 상기 데이타 변경보다 나중의 데이타 변경은, 이 변경을 레프리카에 반영시킨 후에, 레프리카에 반영한다는 것을 나타내기 위한 것이다. 투웨이·플래시는, 포워드·플래시 및 백워드·플래시의 양쪽의 제약을 지정하기 위한 것이다. 메시지 송신/수신의 순번의 지정이라는 점에서는, 상기 된 바와 같은 4종류의 지정은, 예를 들면 "An lmplementation of F-channels." Mohan Ahuja. IEEE Transactions on Paralell and Distributed Systems. Vo1. 4. No. 6. June 1993.에 기재되어 있다. 그러나, 이 논문은 그 내용의 정보 공유 시스템에의 적용은 아무런 기재도 시사도 하지 않고, 이하에 진술하는 송신 큐 및 수신 큐에 대한 부분등을 아무런 기재도 시사도 하지 않는다.
레프리카·컨트롤러(7)는, 어플리케이션(5)으로부터의 액세스 요구에 기초하여, 데이타 저장 장치(17) 내의 데이타로의 액세스, 및 송신 큐(9)로의 패킷 송신 요구의 추가를 행한다. 또한, 수신 큐(7)의 상태를 참조하여, 수신 큐(11) 내에 저장되어 있는 변경 요구에 대응하여, 레프리카의 갱신을 지정된 타이밍에서 실행한다. 레프리카·컨트롤러(7)는, 데이타 저장 장치(17)로의 액세스를 행하는 부분과, 액세스의 내용등을 지시하는 부분으로 나누는 것도 가능하다. 본 발명은, 복수의 어플리케이션(5)에 의한 충돌, 및 어플리케이션(5)에 의한 데이타의 변경과 수신 큐(11) 내의 데이타 변경 요구와의 충돌은 취급하지 않고, 어플리케이션(5)에 의한 데이타 변경의 실행과 수신 큐(11) 내의 데이타 변경 요구의 실행은, 독립적으로 실시되는 것으로써 취급한다. 만약 충돌 문제가 생기는 경우에는, 종래 기술의 수법을 이용하여 해결하더라도, 어느 하나를 무시해도 좋다.
데이타 저장 장치(17)는, 레프리카를 저장하고, 통상의 데이타 베이스와 동일한 기능을 갖고 있다. 즉, 레프리카·컨트롤러(7)로부터의 요구에 따라, 데이타의 작성, 검색, 참조, 및 삭제등을 행한다.
송신 큐(9)는, 패킷 송신 요구를 관리하기 위한 큐이다. 패킷 송신 요구는, 어플리케이션(5)에 의해 실시된 데이타 변경의 종류 및 내용, 갱신 순서의 지정, 송신 요구 작성시의 BT 수 및 SBT 수를 포함한다. 이 BT 수 및 SBT 수는, 큐를 관리하기 위한 데이타로서, 송신 큐(9)에 포함된다. BT 수는, 지금까지 어플리케이션(5)으로부터 수신한 데이타 변경(데이타 변경 요구라고도 함)에 있어서, 갱신 순서의 지정이 백워드·플래시 또는 투웨이·플래시인 데이타 변경의 수이고, 레프리카·컨트롤러(7)가 관리된다. SBT 수는, 최후에 백워드·플래시 또는 투웨이·플래시의 지정이 있는 데이타 변경으로부터 현재까지의 데이타 변경의 수이고, 마찬가지로 레프리카·컨트롤러(7)가 관리한다.
또한, 그 밖의 정보로는, 여기서는 컴퓨터 B(3)에서 수신되고 또한 레프리카의 갱신 실행이 이루어진 최신 데이타 변경에 대한 BT 수를 관리하기 위한 응답 확인 완료 BT 수와, 마찬가지로 컴퓨터 B(3)에서 수신되고 또한 레프리카의 갱신 실행이 이루어진 최신의 데이타 변경에 따른 SBT 수를 관리하기 위한 응답 확인 완료 SBT 수를 포함한다. 이들 정보는, 패킷 수신 장치(15)에 의해 관리된다.
수신 큐(11)는, 수신했지만 갱신 처리를 완료하지 않는 패킷 중의 변경 요구를 관리하기 위한 큐이다. 변경 요구 외에, 현재 실행 가능한 변경 요구의 BT 수인 처리 중 BT 수 및 현재 실행 가능한 변경 요구의 SBT 수인 처리 중 SBT수, 레프리카·컨트롤러(7)가 실행한 최신의 변경 요구에 포함되는 BT 수를 나타내는 응답 예정 BT 수 및 레프리카·컨트롤러(7)가 실행한 최신의 변경 요구에 포함되는 SBT 수를 나타내는 응답 예정 SBT 수가 있다. 이들은, 레프리카·컨트롤러(7)에 의해 관리된다.
패킷 송신기(13)는, 송신 큐(9) 및 수신 큐(11)를 감시하고, 필요한 패킷을 생성하여, 통신 매체(19)에 패킷을 송신한다. 패킷 송신기(13)는, 송신 큐(9)에 저장되어 있는 송신 요구를 차례로 송신하지만, 종래 기술과 마찬가지로 송신 큐(9) 내의 순번(생성 순번)으로 컴퓨터 B(3)가 수신하는 것을 보증하지 않도록 하는 양태로 송신한다. 즉, 송신 요구의 생성 순번에서 하나의 패킷이 수신되는 것을 확인한 후에 다음 패킷을 송신하는 것이 아니고, 잇달아 송신해 가고, 송신처의 컴퓨터 B(3)가 수신에 실패한 경우에는, 수신에 실패한 패킷을 재송한다. 또는, 수신하고 또한 갱신 처리가 실시되는 것을 알 수 있을 때까지, 동일한 패킷을 몇번이나 송신하도록 해도 좋다. 그 때에는, 응답 확인 완료 BT 수 및 응답 확인 완료 SBT 수를 사용하면 된다. 또한, 송신 순번은, 송신 요구의 생성 순번에 전혀 무관하게 이루어져도 된다.
패킷 송신기(13)는, 송신 큐(9)의 패킷 송신 요구를 하나 선택하고, 수신 큐(11) 내의 응답 예정 BT 수 및 응답 예정 SBT 수와 함께, 패킷을 작성하여 송신한다. 응답 예정 BT 수 및 응답 예정 SBT 수는, 송신처인 컴퓨터 B(3)의 송신 큐에 저장되어 있는 응답 확인 완료 BT 수 및 SBT 수를 변경하기 위해 이용할 수 있다. 또한, 송신해야 할 송신 요구가 송신 큐(9)에 없는 경우에는, 응답 예정 BT 수 및 응답 예정 SBT 수만을 송신한다.
패킷 수신기(15)는, 패킷을 수신하고, 패킷의 내용, 송신 큐, 및 수신 큐의 상태를 참조하여, 송신 큐 및 수신 큐의 갱신을 행한다. 즉, 수신한 패킷의 응답 예정 BT 수 및 응답 예정 SBT 수를 이용하여, 송신 큐(9)의 응답 확인 완료 BT수 와 응답 확인 완료 SBT 수를 갱신한다. 이 갱신은, 응답 예정 BT 수 > 응답 확인완료 BT 수이면, 응답 확인 완료 BT 수 및 응답 확인 완료 SBT 수를 응답 예정 BT 수 및 응답 예정 SBT 수로 각각 갱신한다. 만약에 응답 예정 BT 수 = 응답 확인 완료 BT 수이면, 응답 예정 SBT > 응답 확인 완료 SBT인지의 여부를 판단한다. 만약 이 조건이 만족되어지면, 응답 확인 완료 SBT를 응답 예정 SBT로 갱신한다. 이상의 조건 외의 경우에는, 응답 확인 완료 BT 및 SBT의 갱신은 행하지 않는다.
수신한 패킷에는, 중복이 존재할 지도 모른다. 따라서, 패킷 수신기(15)는, 수신한 패킷의 변경 요구에 포함되는 BT 수 및 SBT 수를 참조하여, 수신 큐(9)에 이미 저장되어 있는 변경 요구에서 동일한 BT 수 및 SBT 수의 변경 요구가 존재하는 경우에는, 뒤에서 이송되어 온 패킷 내의 변경 요구를 파기한다.
또한, 수신한 패킷에 따른 변경 요구를 이미 실행하는 경우도 존재한다. 따라서, 수신 큐(11)를 참조하여, 응답 예정 BT 수보다 작은 BT 수를 포함하는 변경 요구, 및 응답 예정 BT 수와 동일한 BT 수를 포함하는 변경 요구라도 응답 예정 SBT 수보다 작은 SBT 수를 포함하는 변경 요구를 파기한다.
또한, 응답 확인 완료 BT ≥ 송신 요구 내의 BT, 또는 응답 확인 완료 BT = 송신 요구 내의 BT, 그리고 응답 확인 완료 SBT ≥ 송신 요구 내의 SBT로 되어있는 송신 요구는 송신 큐(9)로부터 삭제할 수 있다. 이 삭제를 실행하는 것은, 패킷 수신기(15) 또는 패킷 송신기(13) 중 어느 하나라도 좋다.
또한, 수신한 패킷에 따른 변경 요구의 BT 및 SBT를 참조하여, 수신 큐(11) 내의 변경 요구의 순번를 SB 및 SBT가 작은 순으로 재배열되는 동작을 행하지만, 이것도 패킷 수신기(15) 또는 레프리카·컨트롤러(7) 중 어느 하나가 실시해도 좋다.
통신 매체(19)는 무선 또는 유선이라도 상관없다. 또한, 이들 조합이라도 좋다. 본 발명의 특징으로서, 신뢰성이 낮은 네트워크를 통한 통신이라도 대처할 수 있다.
이상 설명한 BT수, SBT수, 응답 예정 BT수, 응답 예정 SBT수, 응답 확인 완료 BT수, 및 응답 확인 완료 SBT 수의 관계 및 갱신에 대해, 도 2를 이용하여 통합해 둔다.
도 2에서는, 컴퓨터 A(1)의 수신 큐(11)A(A는 컴퓨터 A 내의 구성 요소인 것을 나타낸다. 마찬가지로 B는 컴퓨터 B 내의 구성 요소인 것을 나타냄)에 저장된 패킷(1)에 대한 변경 요구를 레프리카·컨트롤러(7A)가 실행한 후로부터의 동작을 나타내고 있다. 변경 요구를 실행하면 레프리카·컨트롤러(7)는, 수신 큐(11A)의 응답 예정 BT 수 및 응답 예정 SBT 수를 패킷(1)의 BT 수 및 SBT 수로 변경한다(스텝 1000). 이 갱신된 응답 예정 BT 수 및 응답 예정 SBT 수는, 컴퓨터 A(1)가 다음에 컴퓨터 B(3)로 송신하도록 송신 큐(9A) 내에 준비하고 있는 패킷(2)으로 수신된다(스텝 1100). 패킷 송신기(13A)가 이 패킷(2)을 송신하면(스텝1200), 컴퓨터 B(3)의 패킷 수신기(15B)가 이것을 수신하고, 패킷(2)으로서 수신 큐(11B)에 저장한다. 여기서, 패킷 수신기(15B)는, 위에서 상술된 바와 같이, 패킷(2) 내의 변경 요구에 따른 응답 예정 BT 수 및 응답 예정 SBT 수에 따라, 송신 큐(9B)의 응답 확인 완료 BT 수 및 응답 확인 완료 SBT 수를 갱신할 것인지를 판단한다. 여기서는, 위에서 상술된 조건 중 어느 하나가 만족되었다고 해도, 응답 확인 완료 BT 수 및 응답 확인 완료 SBT 수는 갱신된다(스텝 1300). 이번은, 응답 확인 완료 BT 수와 송신 큐(9B) 내의 변경 요구의 BT수, 응답 확인 완료 SBT 수와 송신 큐(9B) 내의 변경 요구의 SBT 수가 비교되고(스텝 1400), 양자 모두 일치하는 패킷(1')이 파기된다(스텝 1500). 이와 같이, 송신 큐(9B)로부터 패킷(1')이 파기되면, 두번다시 컴퓨터 A(1)로 송신되지 않게 된다.
다음으로, 도 3 내지 도 6을 이용하여 레프리카·컨트롤러(7)가 수신 큐(11) 내의 변경 요구를 얼마나 실행해 갈지에 대해 설명한다. 우선, 도 3을 이용하여 BT 수와 SBT수의 붙이는 방법에 대해 설명해둔다. 도 3에서는, 변경 요구에 포함되는 갱신 순서의 지정이 통상의 경우에는 O, 백워드·플래시인 경우에는 B, 투웨이·플래시인 경우에는 T, 포워드·플래시인 경우에는 F라고 한다. 또한, 각 지정에서의 출현 순번을 첨자로 하고 있다. 처음에는, BT 수 및 SBT 수 모두 0에서 초기화되고 있다. 그리고, (1)에서 어플리케이션(5)이 오디너리를 지정하면, 데이타 변경 O1에는 (0, 0)이 첨부된다. 또 (BT, SBT)이다. 그렇다면, SBT 수는 1 인크리멘트된다. (2)에서, 재차 오디너리가 지정되면, 데이타 변경 O2에는 (0, 1)이 첨부된다. 이에 따라 SBT 수는 더 1 인크리멘트된다. 따라서, (3)에서 백워드·플래시가 지정되면, 데이타 변경 B1에는 (0, 2)가 첨부된다. 백워드·플래시가 발생하면 SBT 수는 클리어되고, BT 수가 1 인크리멘트된다.
(4)에서 투웨이·플래시가 지정되면, 데이타 변경 T1에는 (1, 0)이 첨부된다. 투웨이·플래시가 지정된 경우도, SBT 수를 클리어하여, BT 수를 1인크리멘트한다. (5)에서 오디너리가 지정되면, 데이타 변경 O3에는 (2, 0)이 첨부된다. 이 지정에 따라 SBT 수는 1인크리멘트된다. (6)에서 또 오디너리가 지정되면, 데이타 변경 O4에는 (2, 1)이 첨부된다. 또한 SBT 수는 1인크리멘트된다. (7)에서 포워드·플래시가 지정되면, 데이타 변경 F1에는 (2, 2)가 첨부된다. 정의로부터, SBT 수는 1인크리멘트된다.
도 3과 같은 데이타 변경 요구를 포함하는 패킷이 패킷 송신기(13)로부터 송신되고, 컴퓨터 B(3)에서 수신된 경우의 처리를, 도 4를 이용하여 설명한다. 패킷 수신기(15B)가 패킷을 수신하는 순번은, 도 4에 도시된 바와 같이, O1, B1, O2, T1, O4, F1, O3의 순이다. 단, 도 4의 예에서는 하나씩 데이타 변경 요구를 수신하고, 처리해가는 것으로 한다. 만약 복수의 데이타 변경 요구가 수신 큐(11B)에 저장된 경우에는, 위에서 진술된 바와 같이 BT 수 및 SBT 수가 작은 순번대로 데이타 변경 요구를 재배열한다. 도 4는 단순한 예라도 몇개의 패킷을 통합하여 수신하는 일이 있어도 좋다.
최초로, 처리 중 BT 수 및 처리 중 SBT 수를 모두 0으로 초기화해 둔다. 그리고 (1)에서, 패킷 수신기(15B)는 데이타 변경 O1을 수신하여 수신 큐(11B)에 넣는다. 수신 큐(11B)의 상태는, 도 5의 (1)의 좌측의 상태가 된다. 그리고, 처리 중 BT 수 및 처리 중 SBT수, 및 데이타 변경 O1의 BT 수 및 SBT 수를 이용하여, 데이타 변경 O1을 실행해도 되는 것인지를 레프리카·컨트롤러(7B)가 판단된다. 판단 기준은 아래와 같다.
(a) 데이타 변경 요구의 갱신 순서의 지정이 오디너리 또는 백워드·플래시인 경우, 데이타 변경 요구의 BT 수≤처리중 BT 수이면 실행 가능하다.
(b) 데이타 변경 요구의 갱신 순서의 지정이 포워드·플래시 또는 투웨이·플래시인 경우, 데이타 변경 요구의 BT 수 = 처리중 BT 수 또는 데이타 변경 요구의 SBT 수 = 처리 중 SBT 수이면 실행 가능하다.
상기된 바와 같은 판단 기준을 도 4의 (1)에 적용시켜 보면, 오디너리의 지정으로 데이타 변경 요구의 BT 수는 0으로, 처리중 BT 수도 0이므로 실행 가능하다. 따라서, 레프리카·컨트롤러(7B)는 데이타 변경 O1을 실행한다. 도 4의 (1)에서는 「변경 실행」의 행에 O이 기록되어 있다.
이어서 상기 데이타 변경 O1을 수신 큐(11B)로부터 삭제해도 될지 판단한다.
이 판단은, 데이타 변경 요구의 BT 수 = 처리중 BT수, 또한 데이타 변경 요구의 SBT 수 = 처리중 SBT 수인지에 따라 행해진다. 만약 상기 조건이 만족한 경우에는, 처리 중 BT 수 및 처리 중 SBT 수의 값도 갱신한다. 갱신 방법은, 이하와 같다.
(a) 데이타 변경 요구의 갱신 순서의 지정이, 오디너리 또는 포워드·플래시인 경우, 처리 중 SBT 수 = 처리중 SBT 수+1
(b) 데이타 변경 요구의 갱신 순서의 지정이, 백워드·플래시 또는 투웨이·플래시인 경우, 처리중 BT 수=처리중 BT 수+1, 처리중 SBT 수=0
상기 판단 기준을 만족하고 있으므로, 레프리카·컨트롤러(7B)는 데이타 변경 O1을 수신 큐(11B)로부터 삭제할 수 있다. 따라서 도 4에서는 「삭제」 란에 ○이 기록되어 있다. 그리고, 데이타 변경 O1은 통상적이므로, 상기 갱신 방법과 마찬가지로 처리 중 SBT 수가 1인크리멘트된다. 도 5의 (1)의 화살표로 나타낸 바와 같이, 수신 큐(11B)에 데이타 변경 요구는 없어진다.
이어서 (2)에서, 패킷 수신기(15B)는 데이타 변경 B1을 수신한다. 백워드·플래시이기 때문에, 데이타 변경 B1의 BT 수와 처리중 BT 수를 비교하여, 상기 판단 기준을 만족하고 있다고 판단할 수 있다. 따라서, 레프리카·컨트롤러(7B)는 데이타 변경 B1을 실행한다(도 4의 (2)의「변경 실행」의 행에 ○이 기록되어 있음). 그러나, 데이타 변경 B1의 SBT 수와 처리중 SBT 수는 다르므로, 상기 데이타 변경 B1을 수신 큐(11B)로부터 삭제할 수 없다. 도 5의 (2)에 도시된 바와 같이, 패킷 수신기(15B)에 의해 수신된 데이타 변경 B1은 수신 큐(11B)에 남는다. 그러나, 데이타 변경 B1의 모두를 수신 큐(11B)에 남겨 둘 필요는 없다. 데이타 변경 요구는 실행한 것이 아니므로, 데이타 변경에 직접 관계하는 데이타는 삭제할 수 있고, 그 외의 BT 수 및 SBT 수 및 갱신 순서의 지정등의 데이타 변경 요구의 기본적 정보 부분만을 남기면 된다. 도 5에서는 그와 같은 경우에는 점선의 사각을 이용한다. 따라서 B1이 점선으로 둘러싸여 있다.
(3)에서, 패킷 수신기(15B)는 데이타 변경 O2를 수신한다. 데이타 변경 O2의 BT 수는 O이지만 SBT 수는 1이기 때문에, 데이타 변경 B1의 SBT 수보다 작다. 따라서, 도 5의 (3)에서 도시된 바와 같이, 패킷 수신기(15B)는 데이타 변경 O2를 최초로 데이타 변경 B1을 두번째로 하도록 수신 큐(11B)를 갱신한다. 레프리카·컨트롤러(7B)는, 데이타 변경 O2의 BT수가 O이고, 처리중 BT 수가 O이기 때문에, 데이타 변경 O2를 실행 가능하다고 판단하고, 실행한다(도 4의 (3)의 「변경 실행」에 ○이 기록되어 있음). 또한, 레프리카·컨트롤러(7B)는, 데이타 변경 O2의 BT 수와 처리중 BT 수가 일치하고, 또한 데이타 변경 O2의 SBT 수와 처리중 SBT 수가 일치하기 때문에, 데이타 변경 O2를 삭제한다(도 4의 (3)의 「삭제」의 행에는 0이 기록되어 있음).
또한, 갱신 순서의 지정이 통상적이고, 또한 BT 수와 처리중 BT 수 및 SBT 수와 처리 중 SBT 수가 일치하므로, 처리중 SBT 수가 1인크리멘트된다. 여기서는, 처리중 BT 수 0, 처리중 SBT 수 2가 된다. 이에 따라, 수신 큐(11B)에 남은 데이타 변경 B1의 BT 수와 SBT 수가 각각 처리중 BT 수 및 처리중 SBT 수에 일치하게 된다. 그래서, 레프리카·컨트롤러(7B)는 데이타 변경 B1에 대해서도 수신 큐(11B)로부터 삭제한다. 도 4의 (3)으로부터 (2)로의 화살표로 데이타 변경 B1이 삭제되는 것을 나타내고 있다. 또한, 도 5의 (3)의 우측에서 수신 큐(11B)가 비어 있는 것을 나타내고 있다. 또한, 삭제된 데이타 변경의 갱신순서의 지정이 백워드·플래시이고, 또한 BT 수와 처리중 BT 수 및 SBT 수와 처리중 SBT 수가 일치하므로, 레프리카·컨트롤러(7B)는 처리중 BT 수를 1인크리멘트하고, 처리중 SBT 수를 클리어한다.
(4)에서 패킷 수신기(15B)는 데이타 변경 T1을 수신한다. 레프리카·컨트롤러(7B)는, 데이타 변경 T1의 BT 수와 처리중 BT수가 일치하고, 또한 데이타 변경 T1의 SBT 수와 처리중 SBT 수가 일치하므로, 데이타 변경 T1을 실행한다(도 4의 (4) 의「변경 실행」의 행에는, ○이 기록되어 있음). 또한, 데이타 변경 T1을 삭제하는 것도 가능하다는 것을 알 수 있으므로, 레프리카·컨트롤러(7B)는 데이타 변경 T1을 수신 큐(11B)로부터 삭제한다(도 4의(4)의「삭제」의 행에도 ○이 기록되어 있음). 도 5의 (4)에서도, 일단 수신 큐(11B)에 수신된 데이타 변경 T1이 삭제되어, 수신 큐(11B)가 비어 있는 모습을 나타내고 있다. 데이타 변경 T1은 투웨이·플래시이기 때문에, 처리 중 BT 수를 1인크리멘트하고, 처리중 SBT 수를 클리어한다.
(5)에서, 패킷 수신기(15B)는 데이타 변경 O4를 수신한다. 레프리카·컨트롤러(7B)는, 갱신 순서의 지정이 통상적이고, 데이타 변경 O4의 BT 수가 2이고, 처리중 BT 수도 2이기 때문에, 데이타 변경 O4를 실행한다(도 4의 (5)의 「변경 실행」의 행에 ○이 기록되어 있음). 그러나, 처리중 SBT 수와 데이타 변경 O4의 SBT 수는 일치하지 않으므로, 수신 큐(11B)로부터 이 데이타 변경 O4를 삭제할 수 없다. 도 5의 (5)에서는 실행은 행했으므로 점선으로 둘러싸인 데이타 변경 O4가 수신 큐(11B)에 남는 것을 나타내고 있다.
(6)에서, 패킷 수신기(15B)는 데이타 변경 F1을 수신한다. 패킷 수신기(15B)는 데이타 변경 F1의 BT 수 및 SBT 수로부터, 수신 큐(11B)에서 데이타 변경 O4뒤에 데이타 변경 F1을 추가한다. 레프리카·컨트롤러(7B)는, 데이타 변경 F1의 실행이 가능한지의 여부를 검사하지만, 데이타 변경 F1의 SBT 수와 처리중 SBT 수가 일치하지 않으므로, 실행할 수 없다. 당연히 수신 큐(11B)로부터 삭제할 수 없다. 도 5의 (6)에는, 수신 큐(11B)에 2개의 데이타 변경 요구가 저장된 상태를 나타내고 있다.
(7)에서, 패킷 수신기(15B)는 데이타 변경 O3을 수신한다. 패킷 수신기(15B)는, 데이타 변경 O3의 BT 수 및 SBT 수로부터, 수신 큐(11B)의 순번를 교체한다. 도 5의 (7)에 도시된 바와 같이, 데이타 변경 O3이 1번째, 데이타 변경 O4가 2번째, 데이타 변경 F1이 3번째로 나열된다(도 5의(7)의 가장 좌측 참조). 레프리카·컨트롤러(7B)는, 데이타 변경 O3의 BT 수와 처리중 BT 수가 일치하기 때문에, 데이타 변경 O3을 실행한다(도 4의 (7)의 「변경 실행」의 행에 ○이 기록되어 있음). 또한, 데이타 변경 O3의 SBT 수와 처리중 SBT 수도 일치하기 때문에, 레프리카·컨트롤러(7B)는 데이타 변경 O3을 삭제한다(도 5의 (7)의 좌측으로부터 2번째 참조). 도 4의 (7)의 「삭제」의 행에는 ○이 기록되어 있다. 데이타 변경 O3의 갱신 순서의 지정은 통상적이고, BT 수와 처리중 BT 수 및 SBT 수와 처리중 SBT 수가 일치하므로, 레프리카·컨트롤러(7B)는 처리중 SBT 수를 1인크리멘트한다. 그렇다면, 수신 큐(11B) 내의 데이타 변경 O4의 BT 수 및 SBT 수에 각각 일치하도록 이루어진다. 그래서, 레프리카·컨트롤러(7B)는, 수신 큐(11B)로부터 데이타 변경 O4를 삭제한다(도 5의 (7)의 좌측으로부터 3번째 참조). 도 4에서는 (7)로부터 (5)로의 화살표로 삭제가 가능해지는 것을 나타내고 있다.
또한, 데이타 변경 O4의 BT 수와 처리중 BT수, 및 데이타 변경 O4의 SBT 수와 처리중 SBT 수가 일치하고, 데이타 변경 O3의 갱신 순서의 지정은 통상적이기 때문에, 레프리카·컨트롤러(7B)는 처리중 SBT 수를 1 인크리먼트한다. 그렇다면, (6)에서 실행할 수 없던 데이타 변경 F1의 BT 수 및 SBT 수와 처리중 BT 수 및 처리중 SBT 수가 각각 일치하도록 이루어진다. 레프리카·컨트롤러(7B)는 데이타 변경 F1을 실행하고, 또한 실행 후 데이타 변경 F1을 수신 큐(11B)로부터 삭제한다. 도 5의 (7)의 우단은 마지막으로는 수신 큐(11B)가 비어 있는 것을 나타내고 있다. 또한, 도 4의 (7)로부터 (6)에의 점선 화살표가, 실행이 가능해지고 또한 삭제도 가능해지는 것을 나타내고 있다.
이상의 처리를, 도 6에 통합하여 나타내고 있다. 우선, 수신 큐(11)중의 지금 수신한 변경 요구 또는 스텝(2200)에 의해 지시를 받은 경우에는 스텝(2200)에서 지정된 변경 요구가 실행 가능한지의 여부를 판단한다(스텝 2100). 이것은, 변경 요구에 포함되는 갱신 순서의 지정과 BT 수 및 SBT 수에 따라 결정된다. 만약 실행 불가능하면, 수신 큐(11)의 다음 변경 요구로 이행된다(스텝 2200). 수신 큐(11)에 다음 변경 요구가 존재하지 않은 경우에는, 수신할 때까지 대기한다. 도 6에서는 명시하지 않았지만, 수신 큐(11) 내에는 변경 요구를 수신할 때마다, BT 수 및 SBT 수가 작은 순으로 재배열된다. 만약 변경 요구가 실행 가능하면, 상기 변경 요구를 실행한다(스텝 2300). 그리고, 수신 큐(11)로부터 삭제 가능한 변경 요구가 있을지 판단한다(스텝 2400). 만약 삭제 가능한 변경 요구가 있는 경우에는, 상기 변경 요구를 삭제한다(스텝 2600). 이 스텝 2600에서는, 레프리카·컨트롤러(7)는 수신 큐(11) 내의 응답 예정 BT 수 및 응답 예정 SBT 수의 갱신도, 삭제한 변경 요구의 BT 수 및 SBT 수를 이용하여 실시한다. 삭제한 경우에는, 처리중 BT 수 및 처리중 SBT 수를 필요에 따라 변경한다. 만약에 삭제 가능한 변경 요구가 없는 경우에는, 스텝(2200)으로 이행한다. 삭제를 실행한 후에, 처리가 완료했는지를 판단하고, 처리가 종료하지 않는 경우에는 스텝(2200)으로 이행한다. 처리가 완료했다고 판단되는 경우에는, 스텝(2700)에서 처리를 종료한다.
이상과 같이, 패킷 수신기(11)는 레프리카·컨트롤러(7)가 변경 요구를 수신할 때마다 수신 큐 내의 순번를 갱신하고, 또한 실행 가능한 변경 요구를 판단함에 따라 각 변경 요구 실행의 타이밍/순서를 결정하고 있다. 이 동작은 수신 순번에는 전혀 관계없다. 가령, 변경 요구가 그 생성순으로 수신되지 않아도, 실행할 수 있는 변경 요구를 판별 또는 실행할 수 있으므로, 보다 처리 효율도 높아진다. 또한, 실행한 변경 요구는 수신 큐(11)로부터 삭제할 수 있는 경우도 있으므로, 메모리의 사용 효율도 향상한다. 또한, 실행한 변경 요구로 삭제할 수 없는 경우라도, 상기 변경 요구의 기본적 정보만을 남도록 하면, 더욱 메모리 효율은 향상한다.
도 1의 정보 공유 시스템에서는, 2개의 컴퓨터밖에 보이지 않지만, 3개 이상 설치하는 것도 가능하다. 단, 본 발명을 실시하기 위해서는, 각 컴퓨터쌍마다 상기의 구성을 필요로 한다.
이상의 실시예는 여러가지로 변경 가능하다. 각 구성 요소는 동일 컴퓨터 상에 없어도 된다. 패킷 수신기(15)와 레프리카·컨트롤러(7)의 기능은 필요에 따라 어느 하나의 요소에 포함시킬 수 있고, 일체화하는 것도 가능하다. 마찬가지로, 데이타 저장 장치(17)와 레프리카·컨트롤러(7)가 일체화되어도 좋다. 또한, 위의 실시예에서는 변경 요구의 실행과 삭제를 독립적으로 처리하고 있었지만, 동시에 행하도록 변형하는 것도 가능하다. 이 때는, 응답 예정 BT 수 및 응답 예정 SBT 수의 갱신을 위해 별도 BT 수 및 SBT 수를 보존해 둘 필요가 생길 수 있다. 또한, 응답 확인 완료 BT 수 및 응답 확인 완료 SBT 수를 관리하지 않고, 응답 예정 BT 수 및 응답 예정 SBT 수를 수신할 때마다, 동일한 수의 BT 수 및 SBT 수를 구비한 변경 요구를 삭제하도록 변형하는 것도 가능하다. 송신 및 수신 큐는 메인 메모리 상에 설치해도, 전용의 메모리를 이용해도 좋다. 또한, 실행 종료의 변경 요구는 수신 큐에는 두지 않고, 다른 큐 또는 표를 이용하여 처리 중 BT 수 및 처리 중 SBT 수를 갱신해도 좋다. 또한, 처리중 SBT 수를 관리하지 않고 필요에 따라 수신 큐 중의 동일 BT 수를 구비한 변경 요구를 세어도 좋다.
레프리카의 갱신시의 통신 효율을 개선하는 방법 및 장치를 제공할 수 있었다.
또한, 레프리카의 갱신시의 메모리 사용량을 삭감시키는 방법 및 장치를 제공할 수도 있었다.
또한, 레프리카의 갱신을 위한 통신이 도중에서 절단된 경우라도, 변경 요구에 따른 레프리카의 갱신이 어디까지 실행되었는지 확인할 수 있는 방법 및 장치를 제공할 수 있었다.
또한, 레프리카 갱신의 순번를 명시적으로 지정할 수 있도록 할 수 있었다.
예를 들면 대화상 데이타를 복수매 복사하고, 하나의 화상 데이타내의 데이타를 복수로 분할하여 데이타 전송을 행하는 예를 생각한다. 이 경우, 동일 화상 데이타 내의 전송 순번를 제어할 필요는 없지만, 복사 중에 통신 회선이 의도적 또는 갑자기 절단된 경우라도, 모든 데이타가 복사되어 있는 화상 데이타를 가능한한 많이 얻는 것이 바람직하다. 종래 기술의 FIFO 순서로 복사되는 경우에는 각 화상 데이타의 말미의 데이타가 복사되면 그 화상 데이타는 복사되어 있는 것을 알 수 있지만, 전송 오버헤드가 많다. 또한, 복사 전체가 배치 처리적으로 복사되는 경우라도, 도중에서 회선이 절단되면, 어떤 화상 데이타에 대해서도 모든 데이타가 갖추어진 것을 보증할 수 없다. 본 발명에서는, 하나의 화상 데이타의 말미에서 포워드·플래시를 지정하면 동일 화상 내의 데이타 전송에 대해서는 송신 순번에 제약이 없고, 화상 사이의 데이타 순서를 제어하는 것도 가능해진다. 이 경우, 말미 데이타의 갱신이 실행되면, 상기 화상 데이타 전체가 복사된 것을 보증할 수 있게 된다.
또한, 세일즈맨의 개인 정보와 그 세일즈맨의 월례 매출표를 복사하는 예를 생각한다. 개인 정보에는, 사원 번호, 성명, 소속부과, 전화 번호가 포함되고, 월례 매출표에는, 사원 번호와 매일의 매상고가 포함되게 한다. 매출표 출력 프로그램은, 월매출표로부터 사원 번호를 얻어 그 사원 번호로부터 개인 정보를 검색하고, 대응하는 성명, 소속부과, 전화 번호를 출력한다. 이러한 예에서, 월례 매출표가 있는 것에, 대응하는 개인 정보가 존재하지 않으면 출력 프로그램은 월례 매출표에 대응하는 성명등을 출력할 수 없다. 이와 같이 의존 관계가 있는 복수의 데이타를 복사하는 경우, 복사중에 회선이 절단되어도 의존 관계에 모순이 생기지 않도록, 의존 관계가 있는 데이타 간의 복사의 순서를 보증하고 싶은 경우가 있다. 종래 기술의 FIFO 순번로 복사하는 경우, 개인 정보, 월례 매출표의 순으로 데이타를 생성함에 따라, 복사의 순서를 보증할 수 있다. 그러나, 전송 순서를 보증할 필요가 없는 다른 데이타의 복사도 FIFO 순서로 행해지게 되고, 불필요한 전송 오버헤드를 생기게 하고, 또한 복사 전체가 배치 처리되는 경우, 복사가 완전히 종료하지 않고 회선이 절단될 때에 그 시점에서의 복사의 순서를 보증할 수 없다. 본 발명을 이용하여, 최후의 개인 정보의 생성시에 투웨이·플래시를 지정하고, 그 후에 월례 매출표를 생성함으로써 개인 정보와 월례 매출표의 복사의 순번를 보증할 수 있다. 그 때에 생기는 전송 오버헤드도 필요 최소한으로 끝난다.

Claims (18)

  1. 공유 데이타의 레프리카(replica)를 구비하고, 데이타 변경을 다른 컴퓨터와 서로 통지함으로써 상기 레프리카 내용의 동일성 유지를 꾀하는 컴퓨터에 있어서,
    다른 컴퓨터로부터 상기 레프리카 내의 데이타 변경 요구를 수신하는 수단; 및
    상기 변경 요구의 수신 순번에 관계없이, 수신한 상기 변경 요구에 따른 레프리카의 갱신 실행의 타이밍을, 상기 변경 요구에 포함되는 정보를 이용하여, 상기 변경 요구를 수신할 때마다 제어하는 제어 수단
    을 포함하는 것을 특징으로 하는 컴퓨터.
  2. 제1항에 있어서, 상기 변경 요구에 포함되는 정보는,
    변경 순번의 지정없이, 상기 변경 요구보다 앞의 모든 변경 요구를 상기 레프리카에 반영한 후에 상기 변경 요구에 따른 레프리카의 갱신을 실행한다고 하는 제1 지정, 상기 변경 요구보다 나중의 변경 요구를 상기 변경 요구에 따른 레프리카의 갱신 실행 후에 실행한다고 하는 제2 지정, 또는 상기 변경 요구보다 앞의 모든 변경을 상기 레프리카에 반영한 후에 상기 변경 요구에 따른 레프리카의 갱신을 실행하고 또한 상기 변경 요구보다 나중의 변경 요구를 상기 변경 요구에 따른 레프리카의 갱신 실행 후에 실행한다고 하는 제3 지정을 포함하는 것을 특징으로 하는 컴퓨터.
  3. 제2항에 있어서, 상기 변경 요구에 포함되는 정보는 지금까지 생성된, 상기 제2 또는 제3 지정을 포함하는 변경 요구의 수(제1 수), 및 마지막으로 상기 제2 또는 제3 지정을 포함하는 변경 요구가 생성된 후에 생성된 변경 요구의 수(제2 수)를 더 포함하는 것을 특징으로 하는 컴퓨터.
  4. 제3항에 있어서, 상기 제어 수단은 상기 제1 및 제2 수에 대응하고, 레프리카의 갱신 실행의 타이밍을 규정하는 제1 및 제2 관리치를 보유하고 있는 것을 특징으로 하는 컴퓨터.
  5. 제3항에 있어서, 상기 제어 수단은, 상기 변경 요구에 따른 레프리카의 갱신이 실행된 경우에, 상기 변경 요구에 포함되는 상기 제1 및 제2 수를 제3 수 및 제4 수로서 기억하는 것을 특징으로 하는 컴퓨터.
  6. 제5항에 있어서, 다른 컴퓨터로 상기 레프리카 내의 데이타의 변경 요구를 송신하는 수단을 더 포함하고, 상기 제어 수단은 송신하는 변경 요구에 상기 제3 수 및 제4 수를 포함시키는 것을 특징으로 하는 컴퓨터.
  7. 공유 데이타의 레프리카를 구비하고, 데이타 변경을 다른 컴퓨터와 서로 통지함으로써 상기 레프리카의 내용의 동일성 유지를 꾀하는 컴퓨터에 있어서,
    상기 레프리카 내의 데이타의 변경을 명령하고, 상기 데이타의 변경에 대하여 변경 순서에 관한 정보를 지정하는 수단;
    상기 데이타의 변경 명령에 대응하고 또한 상기 변경 순서에 관한 정보를 포함하는 변경 요구를 생성하는 수단; 및
    상기 변경 요구의 생성 순서와 송신 순서와의 일치를 보증하지 않은 양태로, 상기 변경 요구를 송신하는 수단
    을 구비하는 것을 특징으로 하는 컴퓨터.
  8. 제7항에 있어서, 상기 변경 순서에 관한 정보는,
    변경 순번의 지정없이, 상기 변경 요구보다 앞의 모든 변경 요구를 상기 레프리카에 반영한 후에 상기 변경 요구에 따른 레프리카의 갱신을 실행한다고 하는 제1 지정, 상기 변경 요구보다 나중의 변경 요구를 상기 변경 요구에 따른 레프리카의 갱신 실행 후에 실행한다고 하는 제2 지정, 또는 상기 변경 요구보다 앞의 모든 변경을 상기 레프리카에 반영한 후에 상기 변경 요구에 따른 레프리카의 갱신을 실행하고 또한 상기 변경 요구보다 나중의 변경 요구를 상기 변경 요구에 따른 레프리카의 갱신 실행 후에 실행한다고 하는 제3 지정을 포함하는 것을 특징으로 하는 컴퓨터.
  9. 제8항에 있어서,
    상기 변경 요구는 지금까지 생성된, 상기 제2 또는 제3 지정을 포함하는 변경 요구의 수(제1 수), 및 마지막으로 상기 제2 또는 제3 지정을 포함하는 변경 요구가 생성된 후에 생성된 변경 요구의 수(제2 수)를 더 포함하는 것을 특징으로 하는 컴퓨터.
  10. 제7항에 있어서, 다른 컴퓨터로부터 상기 레프리카 내의 데이타의 변경 요구를 수신하는 수단을 더 포함하고, 수신한 상기 변경 요구는 송신한 변경 요구에 따른 레프리카의 갱신이 송신처가 다른 컴퓨터에 의해 실행된 것을 나타내는 응답 정보를 포함하는 것을 특징으로 하는 컴퓨터.
  11. 제10항에 있어서, 상기 응답 정보를 참조하여, 상기 송신한 변경 요구를 삭제할 것인지를 판단하는 수단을 더 포함하는 것을 특징으로 하는 컴퓨터.
  12. 제7항에 있어서, 상기 변경 요구의 수신 순번에 관계없이, 수신한 상기 변경 요구에 따른 레프리카의 갱신 실행의 타이밍을, 상기 변경 순서에 관한 정보를 이용하여, 상기 변경 요구를 수신할 때마다 제어하는 제어 수단을 더 포함하는 것을 특징으로 하는 컴퓨터.
  13. 공유 데이타의 레프리카를 구비하고, 데이타 변경을 다른 컴퓨터와 서로 통지함으로써 상기 레프리카의 내용의 동일성 유지를 꾀하는 컴퓨터에 있어서,
    다른 컴퓨터로부터 상기 레프리카 내의 데이타의 변경 요구를 수신하는 수단;
    상기 변경 요구의 수신 순번에 관계없이, 수신한 상기 변경 요구에 따른 레프리카의 갱신 실행의 타이밍을, 상기 변경 요구에 포함되는 정보를 이용하여, 상기 변경 요구를 수신할 때마다 제어하는 제어 수단;
    상기 레프리카 내의 데이타의 변경을 명령하여, 상기 데이타의 변경에 대해 변경 순서에 관한 정보를 지정하는 수단;
    상기 데이타의 변경 명령에 대응하고 또한 상기 변경 순서에 관한 정보를 포함하는 변경 요구를 생성하는 수단; 및
    상기 변경 요구의 생성 순서와 송신 순서와의 일치를 보증하지 않은 양태로, 상기 변경 요구를 송신하는 수단
    을 구비하는 것을 특징으로 하는 컴퓨터.
  14. 각 컴퓨터는 공유 데이타의 레프리카를 구비하고, 데이타 변경을 상기 컴퓨터사이에서 서로 통지함으로써 상기 레프리카 내용의 동일성 유지를 꾀하는 정보 공유 시스템에 있어서,
    상기 컴퓨터는,
    다른 컴퓨터로부터 상기 레프리카 내의 데이타의 변경 요구를 수신하는 수단;
    상기 변경 요구의 수신 순번에 관계없이, 수신한 상기 변경 요구에 따른 레프리카의 갱신 실행의 타이밍을, 상기 변경 요구에 포함되는 정보를 이용하여, 상기 변경 요구를 수신할 때마다 제어하는 제어 수단;
    상기 레프리카 내의 데이타의 변경을 명령하고, 상기 데이타의 변경에 대해 변경 순서에 관한 정보를 지정하는 수단;
    상기 데이타의 변경의 명령에 대응하여 또한 상기 변경 순서에 관한 정보를 포함하는 변경 요구를 생성하는 수단; 및
    상기 변경 요구의 생성 순서와 송신 순서의 일치를 보증하지 않은 양태로, 상기 변경 요구를 송신하는 수단
    을 구비하는 것을 특징으로 하는 정보 공유 시스템.
  15. 공유 데이타의 레프리카를 구비한 컴퓨터에 있어서, 데이타 변경을 다른 컴퓨터와 서로 통지함으로써 상기 레프리카 내용의 동일성 유지를 꾀하는 레프리카 동일성 유지 방법에 있어서,
    다른 컴퓨터로부터 상기 레프리카 내의 데이타의 변경 요구를 수신하는 스텝; 및
    상기 변경 요구의 수신 순번에 관계없이, 수신한 상기 변경 요구에 따른 레프리카의 갱신 실행의 타이밍을, 상기 변경 요구에 포함되는 정보를 이용하여, 상기 변경 요구를 수신할 때마다 제어하는 스텝
    을 포함하는 것을 특징으로 하는 레프리카 동일성 유지 방법.
  16. 공유 데이타의 레프리카를 구비한 컴퓨터에 있어서, 데이타 변경을 다른 컴퓨터와 서로 통지함으로써 상기 레프리카 내용의 동일성 유지를 꾀하는 레프리카 동일성 유지 방법에 있어서,
    상기 레프리카 내의 데이타의 변경을 명령하고, 상기 데이타의 변경에 대해 변경 순서에 관한 정보를 지정하는 스텝;
    상기 데이타의 변경 명령에 대응하고 또한 상기 변경 순서에 관한 정보를 포함하는 변경 요구를 생성하는 스텝; 및
    상기 변경 요구의 생성 순서와 송신 순서와의 일치를 보증하지 않은 양태로, 상기 변경 요구를 송신하는 스텝
    을 포함하는 것을 특징으로 하는 레프리카 동일성 유지 방법.
  17. 공유 데이타의 레프리카를 구비한 컴퓨터에 있어서, 데이타 변경을 다른 컴퓨터와 서로 통지함으로써 상기 레프리카의 내용의 동일성 유지를 꾀하기 위한 프로그램을 기억한 기억 매체에 있어서,
    상기 프로그램은,
    상기 컴퓨터에, 다른 컴퓨터에 의한 상기 레프리카 내의 데이타의 변경 요구의 수신 순번에 관계없이, 수신한 상기 변경 요구에 따른 레프리카의 갱신 실행의 타이밍을, 상기 변경 요구에 포함되는 정보를 이용하여, 상기 변경 요구를 수신할 때마다 결정하는 스텝; 및
    결정된 타이밍으로, 상기 변경 요구에 따른 레프리카의 갱신을 실행하도록 명하는 스텝
    을 실행시키는 것을 특징으로 하는 기억 매체.
  18. 공유 데이타의 레프리카를 구비한 컴퓨터에 있어서, 데이타 변경을 다른 컴퓨터와 서로 통지함으로써 상기 레프리카의 내용의 동일성 유지를 꾀하기 위한 프로그램을 저장한 기억 매체에 있어서,
    상기 프로그램은,
    상기 컴퓨터에, 상기 레프리카 내의 데이타의 변경을 명령하고, 상기 데이타의 변경에 대해 변경 순서에 관한 정보를 지정하는 스텝; 및
    상기 데이타의 변경의 명령에 대응하고 또한 상기 변경 순서에 관한 정보를 포함하는 변경 요구를 생성하는 스텝
    을 실행시키는 것을 특징으로 하는 기억 매체.
KR1019990039168A 1998-10-22 1999-09-14 레프리카의 동일성을 유지하는 컴퓨터와 데이타 공유 시스템 및 그 방법 KR100359960B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP1998-301007 1998-10-22
JP30100798A JP3578385B2 (ja) 1998-10-22 1998-10-22 コンピュータ、及びレプリカ同一性保持方法

Publications (2)

Publication Number Publication Date
KR20000028662A true KR20000028662A (ko) 2000-05-25
KR100359960B1 KR100359960B1 (ko) 2002-11-04

Family

ID=17891717

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990039168A KR100359960B1 (ko) 1998-10-22 1999-09-14 레프리카의 동일성을 유지하는 컴퓨터와 데이타 공유 시스템 및 그 방법

Country Status (6)

Country Link
US (1) US6571278B1 (ko)
JP (1) JP3578385B2 (ko)
KR (1) KR100359960B1 (ko)
CN (1) CN1114869C (ko)
IL (1) IL131710A (ko)
TW (1) TW505852B (ko)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6859821B1 (en) * 1999-07-19 2005-02-22 Groove Networks, Inc. Method and apparatus for prioritizing data change requests and maintaining data consistency in a distributed computer system equipped for activity-based collaboration
US7200869B1 (en) * 2000-09-15 2007-04-03 Microsoft Corporation System and method for protecting domain data against unauthorized modification
WO2002031696A1 (en) * 2000-10-09 2002-04-18 Maximum Availability Limited Method and apparatus for data processing
JP3844302B2 (ja) * 2001-03-26 2006-11-08 デュアキシズ株式会社 プロトコル二重化装置及びプロトコル二重化方法
US7139932B2 (en) * 2002-01-03 2006-11-21 Hitachi, Ltd. Data synchronization of multiple remote storage after remote copy suspension
US6745303B2 (en) * 2002-01-03 2004-06-01 Hitachi, Ltd. Data synchronization of multiple remote storage
JP3500379B1 (ja) * 2002-06-28 2004-02-23 株式会社コナミコンピュータエンタテインメント東京 ゲーム装置、プログラム及びゲーム装置の制御方法
US6889231B1 (en) 2002-08-01 2005-05-03 Oracle International Corporation Asynchronous information sharing system
JP4227399B2 (ja) * 2002-11-29 2009-02-18 キヤノン株式会社 情報処理方法及び装置
US7739240B2 (en) * 2002-12-09 2010-06-15 Hewlett-Packard Development Company, L.P. Replication and replica management in a wide area file system
GB0229572D0 (en) * 2002-12-19 2003-01-22 Cognima Ltd Quality of service provisioning
US7516204B2 (en) * 2003-02-28 2009-04-07 Canon Kabushiki Kaisha Information processing method and apparatus
US20050257219A1 (en) * 2004-04-23 2005-11-17 Holt John M Multiple computer architecture with replicated memory fields
US20060095483A1 (en) * 2004-04-23 2006-05-04 Waratek Pty Limited Modified computer architecture with finalization of objects
US7707179B2 (en) * 2004-04-23 2010-04-27 Waratek Pty Limited Multiple computer architecture with synchronization
US20050262513A1 (en) * 2004-04-23 2005-11-24 Waratek Pty Limited Modified computer architecture with initialization of objects
US7844665B2 (en) * 2004-04-23 2010-11-30 Waratek Pty Ltd. Modified computer architecture having coordinated deletion of corresponding replicated memory locations among plural computers
US7849452B2 (en) * 2004-04-23 2010-12-07 Waratek Pty Ltd. Modification of computer applications at load time for distributed execution
WO2006110937A1 (en) * 2005-04-21 2006-10-26 Waratek Pty Limited Modified computer architecture with coordinated objects
US7680793B2 (en) 2005-10-07 2010-03-16 Oracle International Corporation Commit-time ordered message queue supporting arbitrary read and dequeue patterns from multiple subscribers
US8015236B2 (en) * 2005-10-25 2011-09-06 Waratek Pty. Ltd. Replication of objects having non-primitive fields, especially addresses
US20070100828A1 (en) * 2005-10-25 2007-05-03 Holt John M Modified machine architecture with machine redundancy
US7660960B2 (en) * 2005-10-25 2010-02-09 Waratek Pty, Ltd. Modified machine architecture with partial memory updating
US7849369B2 (en) * 2005-10-25 2010-12-07 Waratek Pty Ltd. Failure resistant multiple computer system and method
US7958322B2 (en) * 2005-10-25 2011-06-07 Waratek Pty Ltd Multiple machine architecture with overhead reduction
US7581069B2 (en) * 2005-10-25 2009-08-25 Waratek Pty Ltd. Multiple computer system with enhanced memory clean up
US7761670B2 (en) * 2005-10-25 2010-07-20 Waratek Pty Limited Modified machine architecture with advanced synchronization
US7801856B2 (en) 2006-08-09 2010-09-21 Oracle International Corporation Using XML for flexible replication of complex types
US20080114899A1 (en) * 2006-10-05 2008-05-15 Holt John M Switch protocol for network communications
US20080140762A1 (en) * 2006-10-05 2008-06-12 Holt John M Job scheduling amongst multiple computers
US8095616B2 (en) * 2006-10-05 2012-01-10 Waratek Pty Ltd. Contention detection
US20080130631A1 (en) * 2006-10-05 2008-06-05 Holt John M Contention detection with modified message format
US20080133689A1 (en) * 2006-10-05 2008-06-05 Holt John M Silent memory reclamation
US20080126703A1 (en) * 2006-10-05 2008-05-29 Holt John M Cyclic redundant multiple computer architecture
US20080140970A1 (en) * 2006-10-05 2008-06-12 Holt John M Advanced synchronization and contention resolution
US20080114896A1 (en) * 2006-10-05 2008-05-15 Holt John M Asynchronous data transmission
US20080133690A1 (en) * 2006-10-05 2008-06-05 Holt John M Contention detection and resolution
WO2008040079A1 (en) * 2006-10-05 2008-04-10 Waratek Pty Limited Multiple network connections for multiple computers
WO2008040074A1 (en) * 2006-10-05 2008-04-10 Waratek Pty Limited Contention detection with data consolidation
US20080120475A1 (en) * 2006-10-05 2008-05-22 Holt John M Adding one or more computers to a multiple computer system
US20080133692A1 (en) * 2006-10-05 2008-06-05 Holt John M Multiple computer system with redundancy architecture
US8090926B2 (en) * 2006-10-05 2012-01-03 Waratek Pty Ltd. Hybrid replicated shared memory
US20080140863A1 (en) * 2006-10-05 2008-06-12 Holt John M Multiple communication networks for multiple computers
US20080141092A1 (en) * 2006-10-05 2008-06-12 Holt John M Network protocol for network communications
US20100121935A1 (en) * 2006-10-05 2010-05-13 Holt John M Hybrid replicated shared memory
US20080140633A1 (en) * 2006-10-05 2008-06-12 Holt John M Synchronization with partial memory replication
US20080155127A1 (en) * 2006-10-05 2008-06-26 Holt John M Multi-path switching networks
US20080133869A1 (en) * 2006-10-05 2008-06-05 Holt John M Redundant multiple computer architecture
US20080126503A1 (en) * 2006-10-05 2008-05-29 Holt John M Contention resolution with echo cancellation
US8086805B2 (en) * 2006-10-05 2011-12-27 Waratek Pty Ltd. Advanced contention detection
US20080133688A1 (en) * 2006-10-05 2008-06-05 Holt John M Multiple computer system with dual mode redundancy architecture
US20080120478A1 (en) * 2006-10-05 2008-05-22 Holt John M Advanced synchronization and contention resolution
US20080250221A1 (en) * 2006-10-09 2008-10-09 Holt John M Contention detection with data consolidation
US8316190B2 (en) 2007-04-06 2012-11-20 Waratek Pty. Ltd. Computer architecture and method of operation for multi-computer distributed processing having redundant array of independent systems with replicated memory and code striping
US9197486B2 (en) 2008-08-29 2015-11-24 Google Inc. Adaptive accelerated application startup
CN105071839B (zh) * 2015-08-17 2018-02-23 贵阳朗玛信息技术股份有限公司 蓝牙设备通信方法及装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01200457A (ja) * 1988-02-05 1989-08-11 Hitachi Ltd 分散システムでのノード間メッセージ追い越し処理方式
JP3020539B2 (ja) * 1990-03-07 2000-03-15 株式会社日立製作所 並列動作型データベース管理方式
KR940005779B1 (ko) * 1991-12-31 1994-06-23 재단법인 한국전자통신연구소 캐쉬데이타의 공유상태 및 변경상태를 알리는 회로
JPH06110759A (ja) * 1992-09-30 1994-04-22 Toshiba Corp ファイルシステム
JP3182000B2 (ja) * 1992-10-20 2001-07-03 富士通株式会社 複合情報処理システムにおける拡張記憶装置
US5446871A (en) * 1993-03-23 1995-08-29 International Business Machines Corporation Method and arrangement for multi-system remote data duplexing and recovery
JP2557192B2 (ja) * 1993-03-15 1996-11-27 インターナショナル・ビジネス・マシーンズ・コーポレイション トランザクション処理の同期方法、トランザクション処理のモニタ方法及びトランザクションのコミット処理方法
US5796999A (en) * 1994-04-15 1998-08-18 International Business Machines Corporation Method and system for selectable consistency level maintenance in a resilent database system
US5434994A (en) * 1994-05-23 1995-07-18 International Business Machines Corporation System and method for maintaining replicated data coherency in a data processing system
US5581753A (en) * 1994-09-28 1996-12-03 Xerox Corporation Method for providing session consistency guarantees
JPH08123714A (ja) * 1994-10-21 1996-05-17 Hitachi Ltd ファイル形式を集中変換するシステム
JPH0981430A (ja) * 1995-09-05 1997-03-28 Internatl Business Mach Corp <Ibm> ファイル・システム
US5978813A (en) * 1995-09-25 1999-11-02 International Business Machines Corporation System for providing synchronization between a local area network and a distributing computer environment
US5819020A (en) * 1995-10-16 1998-10-06 Network Specialists, Inc. Real time backup system
US5765171A (en) * 1995-12-29 1998-06-09 Lucent Technologies Inc. Maintaining consistency of database replicas
GB9604987D0 (en) * 1996-03-08 1996-05-08 Ibm Data management system and method for replicated data
US5787262A (en) * 1996-06-26 1998-07-28 Microsoft Corporation System and method for distributed conflict resolution between data objects replicated across a computer network
US5893116A (en) * 1996-09-30 1999-04-06 Novell, Inc. Accessing network resources using network resource replicator and captured login script for use when the computer is disconnected from the network
US6049809A (en) * 1996-10-30 2000-04-11 Microsoft Corporation Replication optimization system and method
JPH10154094A (ja) * 1996-11-22 1998-06-09 Nec Corp マスタメンテナンス集中更新方式
US6052718A (en) * 1997-01-07 2000-04-18 Sightpath, Inc Replica routing
JPH11127188A (ja) * 1997-10-20 1999-05-11 Fujitsu Ltd 蓄積交換型電子会議システムにおける情報伝達装置及び方法並びに情報伝達プログラムを記録した媒体

Also Published As

Publication number Publication date
JP2000132443A (ja) 2000-05-12
CN1252568A (zh) 2000-05-10
IL131710A (en) 2002-12-01
KR100359960B1 (ko) 2002-11-04
CN1114869C (zh) 2003-07-16
JP3578385B2 (ja) 2004-10-20
IL131710A0 (en) 2001-03-19
TW505852B (en) 2002-10-11
US6571278B1 (en) 2003-05-27

Similar Documents

Publication Publication Date Title
KR100359960B1 (ko) 레프리카의 동일성을 유지하는 컴퓨터와 데이타 공유 시스템 및 그 방법
JP4160642B2 (ja) ネットワークデータ転送方法
US6941326B2 (en) Accounting for update notifications in synchronizing data that may be represented by different data structures
CN1744603B (zh) 通过远程协议的远程文件更新的方法和计算机
JPH09244936A (ja) 共用データ・ファイルを管理するための方法及びシステム
EP0617373A2 (en) A method and system for parallel, system managed storage for objects on multiple servers
WO2006021841A2 (en) Efficient synchronisation of smart card data with data stored on an external server
KR101822401B1 (ko) 공동 편집 문서를 공유하는 방법 및 장치
JP3756349B2 (ja) データベース管理装置、および、そのプログラムが記録された記録媒体
KR100521361B1 (ko) 네트워크 환경에서의 파일 공동 전송 방법
JP4242119B2 (ja) サーバおよびクライアントサーバシステム
JP2896394B2 (ja) ファイルサーバ装置
JP2005250921A (ja) バックアップシステムおよび方法
JPH0855069A (ja) ネットワークシステム
US7590627B2 (en) Arrangement for processing data files in connection with a terminal
JPH11252165A (ja) メール削除機能付き電子メールシステム
KR100608394B1 (ko) 데이터베이스 동기화 인터페이스 장치 및 방법
JP6912105B2 (ja) ディスクアレイシステム、ディスクアレイシステムの制御方法、および、ディスクアレイ装置
KR100492379B1 (ko) 무선단말기를 이용한 데이터의 관리방법 및데이터관리시스템
KR100323098B1 (ko) 오엠아이디시스템과교환기간의파일전송방법
EP0892354A1 (en) Efficient representation and transmission of objects with variants
JPH06276225A (ja) 文書管理システム
JPS5824254A (ja) パケツトバツフアフリ−方式
JPH03216750A (ja) コンピュータネットワークシステム及びデータ転送方法
JPS6382042A (ja) 配信制御方式

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20050915

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee