KR20030014513A - 서버 부하의 분산을 위한 클라이언트 데이터 공유 시스템및 그 방법 - Google Patents

서버 부하의 분산을 위한 클라이언트 데이터 공유 시스템및 그 방법 Download PDF

Info

Publication number
KR20030014513A
KR20030014513A KR1020010048542A KR20010048542A KR20030014513A KR 20030014513 A KR20030014513 A KR 20030014513A KR 1020010048542 A KR1020010048542 A KR 1020010048542A KR 20010048542 A KR20010048542 A KR 20010048542A KR 20030014513 A KR20030014513 A KR 20030014513A
Authority
KR
South Korea
Prior art keywords
client
data
server
information
processing
Prior art date
Application number
KR1020010048542A
Other languages
English (en)
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 한국전자통신연구원
Priority to KR1020010048542A priority Critical patent/KR20030014513A/ko
Publication of KR20030014513A publication Critical patent/KR20030014513A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은 서버 부하의 분산을 위한 클라이언트 데이터 공유 시스템 및 그 방법과, 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은, 인터넷 상의 파일 공유 방식인 P2P(Peer-to-peer)를 클라이언트/서버(C/S) 환경에 변형 적용하여 클라이언트 사이의 데이터 전송 및 처리를 지원함으로써 클라이언트에서 발생하는 요구에 대해서 참조 가능한 메모리의 계층을 현재 서버에 접속중인 클라이언트의 메모리 캐쉬까지 범위를 확장한 서버 부하의 분산을 위한 클라이언트 데이터 공유 시스템 및 그 방법과, 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하고자 함.
3. 발명의 해결방법의 요지
본 발명은, 서버에 접속중인 클라이언트의 정보와 상기 클라이언트에 캐쉬되어 있는 데이터의 정보를 클라이언트 정보 테이블(CIT : Client Information Table)을 통해 관리하는 제 1 단계; 상기 서버에 접속된 클라이언트의 질의 처리 요청에 대해 상기 클라이언트 정보 테이블(CIT)을 검색하여 상기 테이블에 존재하는 질의 처리에 필요한 데이터는 접속중인 클라이언트간에 공유를 통해 질의 처리가 이루어지도록 하고 상기 테이블에 존재하지 않지만 질의 처리에 필요한 데이터는 상기 서버의 데이터를 통해 처리가 이루어지도록 제어하는 제 2 단계; 및 상기 서버의 데이터에 대한 수정 연산 요구를 받아 객체 수정 연산에 대해서는 상기 클라이언트 정보 테이블(CIT)에서 해당 데이터를 포함하는 타일을 캐쉬한 클라이언트를 확인하여 상기 서버의 데이터와 상기 클라이언트의 데이터를 수정하도록 하며, 테이블 수정 연산에 대해서는 상기 클라이언트 정보 테이블(CIT)에서 해당 테이블을 캐쉬하고 있는 클라이언트를 확인하여 이를 삭제하고 상기 해당 클라이언트로 통보하며 상기 서버의 데이터를 수정하도록 제어하는 제 3 단계를 포함함.
4. 발명의 중요한 용도
본 발명은 클라이언트/서버 시스템 등에 이용됨.

Description

서버 부하의 분산을 위한 클라이언트 데이터 공유 시스템 및 그 방법{Meshod and System of Sharing Client Data For Distributing Load of Server}
본 발명은 서버 부하의 분산을 위한 클라이언트 데이터 공유 시스템 및 그 방법과, 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 특히 대용량 데이터의 처리가 요구되는 시스템이나 다수 클라이언트들의 요청이 발생하는 서버 시스템에서의 병목 현상을 완화하고 요구 처리의 속도의 향상시킬 수 있는 서버 부하의 분산을 위한 클라이언트 데이터 공유 시스템 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
클라이언트-서버 시스템은 업무가 지역적으로 분산된 곳에서 이루어지고 동시에 여러 응용 업무에 공통된 데이터를 사용할 필요성이 있는 환경에서, 복잡한 분산 환경 시스템을 구축하지 않고 개발비용을 최소로 유지하고 성능을 극대화하기 위한 해결책으로 제시되었다. 그러나, 멀티미디어 데이터를 비롯한 지도 데이터 등의 공간 데이터에 있어서 그 사이즈가 계속 증가하고 있기 때문에 이러한 데이터에 대한 운용, 처리 및 전송에 있어서의 부하가 점차로 증가하고 있는 추세이다.
공간 데이터와 같은 대용량의 데이터를 처리하는 시스템이나 다수의 클라이언트가 존재하는 시스템에서는 클라이언트의 대용량 데이터에 대한 처리 요구나 다수 클라이언트들에 의한 요구가 과도한 서버 입출력(I/O : Input/Output) 연산의 수행 비용, 질의 처리 비용 및 결과 데이터의 전송 비용을 유발하였다. 이로 인한 서버 측의 병목 현상과 질의 처리 속도의 저하는 기존의 공간 데이터베이스 시스템에서 문제가 되고 있었다.
최근, 인터넷 환경에서는 이러한 클라이언트-서버의 고정적인 환경으로부터 사용자가 스스로 서비스의 제공자인 동시에 수요자가 되는 새로운 패러다임(Peer-to-peer)을 제시하고 있다.
클라이언트-서버 방식과 피투피(Peer-to-peer(P2P)) 방식은 서버와 클라이언트의 관계가 존재한다는 점에서는 같지만 Peer-to-peer 방식에서는 서로 연결된 각각의 호스트(peer)들이 서버와 클라이언트의 두 가지 역할을 모두 수행한다는 점이 클라이언트-서버 환경과의 차이를 만드는 근본적인 이유가 된다. 이러한 Peer-to-peer 방식의 모델은 "Broker mediated file sharing", "Peer-to-peer file sharing", "Cycle sharing" 의 세가지로 분류하고 있다.
Peer-to-peer는 인터넷 상에서의 읽기 전용의 파일에 대한 공유를 위한 방식이기 때문에 기존의 클라이언트-서버 환경에서의 사용은 문제점을 유발하며 본 발명에서는 클라이언트-서버 환경에서 이러한 P2P의 개념을 적용한다.
본 발명과 관련한 선행 특허로는 미국특허 "Connection method for a network system and a server[권리권자 Ishikawa, Katsuya, 등록번호 US6038602, 2000.3]'가 있고, 선행 논문으로는 "Peer to peer Computing[저자 Bob Knight, Intel Developer Forum, Fall. 2000]"이 있으며, 상기 선행 자료들은 인터넷 환경에서의 파일 공유를 위한 것이므로 클라이언트-서버 환경에서는 그대로 적용할 수 없다는 문제점이 있었다.
정리하면, 클라이언트-서버 환경에서 공간 데이터와 같은 대용량의 데이터를 처리하는 시스템이나 다수의 클라이언트의 요구가 발생하는 시스템에서는 데이터에 대한 처리 비용 및 전송 비용으로 인한 서버의 병목 현상의 발생 및 질의 처리 속도의 저하라는 문제점을 갖는다.
본 발명은, 상기한 바와 같은 문제점을 해결하기 위하여 제안된 것으로, 인터넷 상의 파일 공유 방식인 P2P(Peer-to-peer)를 클라이언트/서버(C/S) 환경에 변형 적용하여 클라이언트 사이의 데이터 전송 및 처리를 지원함으로써 클라이언트에서 발생하는 요구에 대해서 참조 가능한 메모리의 계층을 현재 서버에 접속중인 클라이언트의 메모리 캐쉬까지 범위를 확장한 서버 부하의 분산을 위한 클라이언트 데이터 공유 시스템 및 그 방법과, 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
도 1 은 본 발명에 따른 서버 부하의 분산을 위한 클라이언트 데이터 공유 시스템에 대한 일실시예 구성도.
도 2 는 본 발명에 따른 클라이언트 데이터 공유 시스템에서 씨아이티(CIT)의 자료구조를 나타내는 일실시예 설명도.
도 3 은 본 발명에 따른 클라이언트 데이터 공유 시스템에 있어서 클라이언트 사이의 데이터 공유를 위한 클라이언트와 대상 데이터를 선정하는 과정을 도시한 일실시예 설명도.
도 4a 및 도 4b 는 본 발명에 따라 선정된 클라이언트와 요구 클라이언트 사이의 데이터 공유 절차를 나타내는 일예시도.
도 5 는 본 발명에 따른 서버 부하의 분산을 위한 클라이언트 데이터 공유 방법에 있어서, 수정 연산시 클라이언트와 서버 사이의 데이터 일관성 유지 정책의 처리 과정을 도시한 일실시예 흐름도.
*도면의 주요 부분에 대한 부호의 설명
100 : 클라이언트 정보 관리기의 서버 부분 컴포넌트
200 : 클라이언트 정보 관리기의 클라이언트 부분 컴포넌트
110 : CIT(Client Information Table) 120 : 클라이언트 정보 관리 모듈
130 : P2P 연결 관리 모듈 140 : 일관성 관리 모듈
210 : 패킷 변환 모듈 220 : 클라이언트간 통신 모듈
410 : 요구하는 데이터의 일부 또는 전체를 캐쉬하고 있는 클라이언트
420 : 요구하는 데이터 중 클라이언트에 캐쉬된 타일 리스트
510 : 데이터 공유에 참여하는 대상 클라이언트
520 : 전송 받을 데이터 리스트 601 : 클라이언트 캐쉬
602 : 클라이언트에 현재 캐쉬된 데이터(타일 리스트)
620 : OFF-LINE 클라이언트
700 : 서버 시스템 710 : 공간 데이터 베이스
상기 목적을 달성하기 위한 본 발명의 시스템은, 클라이언트/서버 시스템에 적용되는 서버 부하의 분산을 위한 클라이언트 정보 공유 시스템에 있어서, 상기 서버에 연결되어 있는 클라이언트의 정보와 상기 클라이언트에 캐쉬되어 있는 데이터의 정보를 관리하여 연결되어 있는 특정 클라이언트로부터의 데이터 요구에 따라 해당 데이터를 캐쉬하고 있는 클라이언트에서 데이터를 지원하도록 제어하는 서버 처리수단; 및 상기 서버 처리수단으로부터의 메시지에 따라 상기 서버로 연결된 다른 클라이언트와 캐쉬 데이터의 공유를 위해 연결 형성을 처리하는 클라이언트 처리수단을 포함하는 것을 특징으로 한다.
또한, 본 발명의 다른 시스템은, 클라이언트/서버 시스템에 적용되는 서버 부하의 분산을 위한 클라이언트 정보 공유 시스템에 있어서, 상기 서버에 연결된 클라이언트의 정보와 상기 클라이언트에 캐쉬되어 있는 데이터의 정보를 관리하는 클라이언트 관리수단; 상기 서버에 연결된 특정 클라이언트로부터의 정보 요구에대해 상기 서버의 부하를 줄이기 위해 상기 서버에 연결된 각 클라이언트가 가지는 정보를 상기 클라이언트 관리수단을 통해 점검하여 상기 정보 요구 클라이언트로 데이터를 전달할 클라이언트 및 해당 클라이언트에서 제공할 데이터의 종류를 선정하는 클라이언트 정보 관리수단; 서버 비용의 분산을 위한 클라이언트 사이의 데이터 공유를 지원하기 위해 상기 클라이언트 정보 관리수단으로부터 얻어진 정보를 바탕으로 서버, 미들웨어, 클라이언트 사이의 처리 절차의 정의를 수행하는 연결 관리수단; 및 클라이언트-서버 환경에서 클라이언트 사이의 데이터 공유가 이루어지기 위해서는 서버와 클라이언트 데이터 사이의 일관성이 보장되어야 하므로 상기 서버의 데이터와 상기 클라이언트 관리수단에 의해 기록 관리되는 연결 클라이언트에 대한 정보가 일관성을 갖도록 제어하는 일관성 관리수단을 포함하는 것을 특징으로 한다.
또한, 본 발명은, 클라이언트 정보 공유 시스템에 적용되는 서버 부하의 분산을 위한 클라이언트 데이터 공유 방법에 있어서, 서버에 접속중인 클라이언트의 정보와 상기 클라이언트에 캐쉬되어 있는 데이터의 정보를 클라이언트 정보 테이블(CIT : Client Information Table)을 통해 관리하는 제 1 단계; 상기 서버에 접속된 클라이언트의 질의 처리 요청에 대해 상기 클라이언트 정보 테이블(CIT)을 검색하여 상기 테이블에 존재하는 질의 처리에 필요한 데이터는 접속중인 클라이언트간에 공유를 통해 질의 처리가 이루어지도록 하고 상기 테이블에 존재하지 않지만 질의 처리에 필요한 데이터는 상기 서버의 데이터를 통해 처리가 이루어지도록 제어하는 제 2 단계; 및 상기 서버의 데이터에 대한 수정 연산 요구를 받아 객체수정 연산에 대해서는 상기 클라이언트 정보 테이블(CIT)에서 해당 데이터를 포함하는 타일을 캐쉬한 클라이언트를 확인하여 상기 서버의 데이터와 상기 클라이언트의 데이터를 수정하도록 하며, 테이블 수정 연산에 대해서는 상기 클라이언트 정보 테이블(CIT)에서 해당 테이블을 캐쉬하고 있는 클라이언트를 확인하여 이를 삭제하고 상기 해당 클라이언트로 통보하며 상기 서버의 데이터를 수정하도록 제어하는 제 3 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명은, 프로세서를 구비한 클라이언트 데이터 공유 시스템에, 서버에 접속중인 클라이언트의 정보와 상기 클라이언트에 캐쉬되어 있는 데이터의 정보를 클라이언트 정보 테이블(CIT : Client Information Table)을 통해 관리하는 제 1 기능; 상기 서버에 접속된 클라이언트의 질의 처리 요청에 대해 상기 클라이언트 정보 테이블(CIT)을 검색하여 상기 테이블에 존재하는 질의 처리에 필요한 데이터는 접속중인 클라이언트간에 공유를 통해 질의 처리가 이루어지도록 하고 상기 테이블에 존재하지 않지만 질의 처리에 필요한 데이터는 상기 서버의 데이터를 통해 처리가 이루어지도록 제어하는 제 2 기능; 및 상기 서버의 데이터에 대한 수정 연산 요구를 받아 객체 수정 연산에 대해서는 상기 클라이언트 정보 테이블(CIT)에서 해당 데이터를 포함하는 타일을 캐쉬한 클라이언트를 확인하여 상기 서버의 데이터와 상기 클라이언트의 데이터를 수정하도록 하며, 테이블 수정 연산에 대해서는 상기 클라이언트 정보 테이블(CIT)에서 해당 테이블을 캐쉬하고 있는 클라이언트를 확인하여 이를 삭제하고 상기 해당 클라이언트로 통보하며 상기 서버의 데이터를 수정하도록 제어하는 제 3 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
본 발명은, 기존의 서버 시스템에 부하를 분산시킬 수 있는 클라이언트 정보 관리기 즉, 클라이언트 데이터 공유 시스템을 추가한다. 클라이언트 정보 관리기는 현재 서버에 접속중인 클라이언트와 요구 클라이언트 사이의 데이터를 공유하여 클라이언트-클라이언트간의 데이터 전송 및 질의 처리 기능을 지원한다. 이는 서버 처리 비용을 현재 서버에 접속중인 클라이언트들에게 분배하여 서버의 병목현상과 질의 처리 시간의 지연이라는 문제점을 개선할 수 있으며, 클라이언트에서의 반응 속도의 향상과 현재 연결된 시스템의 가용한 자원을 활용할 수 있다.
즉, 본 발명은, 클라이언트 정보 관리기라는 부분을 기존 시스템에 적용하며 클라이언트 정보 관리기의 각각의 부분들이 클라이언트-서버 환경에서 P2P(Peer-to-peer)를 지원하기 위한 기능들을 수행한다.
클라이언트 정보 관리기는 서버 부분과 클라이언트 부분으로 나누어져 적용되며 서버 부분에 씨아이티(CIT : Client Information Table)라는 테이블을 유지 관리함을 특징으로 한다.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 1 은 본 발명에 따른 서버 부하의 분산을 위한 클라이언트 데이터 공유 시스템에 대한 일실시예 구성도이다.
즉, 도 1 은 서버 부하의 분산을 위한 클라이언트 데이터 공유 시스템 즉,클라이언트 정보 관리기의 전체 구성을 보여주는 블록 구성도이며, 서버 부분 컴포넌트(100)와 클라이언트 부분 컴포넌트(200)로 나뉘어져 있다. 서버 부분의 주요한 모듈로는 클라이언트 정보 관리 모듈(120), P2P 연결 관리 모듈(130), 일관성 관리 모듈(140)이 존재하고, 자료구조를 나타내는 씨아이티(CIT : Client Information Table, 110)가 있다.
클라이언트 부분 컴포넌트(200)은 기존의 클라이언트/서버 시스템에서 사용하던 패킷을 커다란 수정없이 사용하기 위한 패킷 변환 모듈(210)과 클라이언트 사이의 데이터 공유를 위해 연결 형성을 담당하는 클라이언트 간 통신 모듈(220)로 구성된다.
이하, 클라이언트 정보 관리기의 각 부분들에 대한 주요한 기능과 정책에 대해서 살펴보기로 한다.
클라이언트 정보 관리기에서는 상기한 것처럼 CIT(110)를 유지 관리한다. 도 2 는 본 발명에 따른 씨아이티(CIT)의 자료구조를 나타낸 것이다.
도 2 는 본 발명에 따른 클라이언트 데이터 공유 시스템에서 씨아이티(CIT)의 자료구조를 나타내는 일실시예 설명도이다.
본 발명에 따른 클라이언트 데이터 공유 시스템에서는 CIT라는 테이블을 유지 관리하며, 현재 서버에 연결된 클라이언트의 정보(111)와 해당 클라이언트에 캐쉬되어 있는 데이터의 정보(112)를 관리한다. 데이터의 정보는 캐쉬된 테이블의 이름(112A)과 테이블에 속하는 타일 중에서 실제로 클라이언트에 존재하는 타일에 대한 아이디(타일 ID, 112C)를 관리한다.
타일 ID의 관리는 비트 단위로 저장하여 관리하며 이는 저장을 위한 공간을 줄이고 효과적인 데이터 공유를 지원할 수 있는 클라이언트의 선정 시에 비트 연산을 사용함으로서 처리 성능을 향상시킬 수 있다. 테이블은 타일 단위로 관리하며 타일 단위로 데이터를 관리하는 경우 클라이언트 시스템에서 테이블의 전체 영역 중에서 요구되는 타일 부분만을 전송할 수 있다.
테이블의 이름과 각각의 타일 ID에는 유효성 필드(112B, 112D)를 유지하며 테이블 단위의 수정 연산과 객체 단위의 수정 연산시에 현재 수정 중인 데이터들에 대한 접근을 막기 위해서 사용한다. 타일 단위의 유효성을 유지함으로서 객체 수정 연산인 경우 테이블의 나머지 타일에 속하는 데이터에 대한 접근을 허용할 수 있다는 장점이 있다.
CIT 테이블(110)의 정보는 클라이언트가 서버에 접속 시에 정보가 등록되어지며, 서버로부터의 읽기 연산이 발생할 때에 클라이언트에 캐쉬되어지는 데이터의 변화를 기록한다. 이러한 클라이언트의 캐쉬 데이터에 대한 정보는 클라이언트의 접속 해제 시에 제거하여 다른 클라이언트가 접속을 해지한 클라이언트에 연결을 시도하는 오류를 방지한다. CIT 테이블은 현재 서버에 연결된 클라이언트의 정보만을 관리함으로서 데이터에 대한 일관성 유지 및 CIT에서의 데이터 관리를 단순화시킬 수 있다.
클라이언트 사이의 변형된 P2P를 지원함으로서 클라이언트 간의 전송을 지원하기 위해서 요구되는 데이터를 가진 클라이언트 중에서 효율적으로 전송할 수 있는 클라이언트의 선정과 대상 클라이언트로부터 전송받을 타일의 리스트 선정이 중요하다. 클라이언트 정보 관리 모듈(120)에서는 이러한 대상 클라이언트와 전송할 타일 리스트의 선정을 위한 알고리즘을 제공한다.
도 3 은 본 발명에 따른 클라이언트 데이터 공유 시스템에 있어서 클라이언트 사이의 데이터 공유를 위한 클라이언트와 대상 데이터를 선정하는 과정을 도시한 일실시예 설명도이다. 즉, 도 3 은 대상 클라이언트와 전송할 타일 리스트의 선정을 위한 알고리즘을 설명하는 일예시도인 것이다.
공간 데이터베이스 시스템의 클라이언트 요구 메시지에는 영역 정보가 포함되어지며, CDIM에서는 영역 정보를 이용하여 서버로부터 해당하는 영역을 포함하는 타일들의 리스트를 얻을 수 있다.
본 발명의 일실시예에서는 이 타일들의 리스트를 "InitialTileList(ITL)"라는 용어로 사용한다. 다음으로 CIT에서 질의를 발생시킨 클라이언트의 캐쉬 데이터 정보를 참조하여 현재 해당 클라이언트에 존재하는 데이터를 확인한다. 해당 클라이언트에 존재하는 요구된 데이타에 속하는 캐쉬된 타일 리스트를 "CachedTileList(CTL)"라고 하자. 결국 클라이언트의 질의를 처리하기 위해서 요구되어지는 타일들의 리스트는 다음과 같은 방식으로 구할 수 있다. 여기서 얻어진 타일의 리스트를 "RequiredTileList(RTL)" 이라고 하자. RTL은 아래의 수학식으로 표현할 수 있다.
RTL = ITL - CTL
RTL을 사용하여 데이터의 전송에 사용될 클라이언트를 선정하며, 다음의 사항을 고려한다.
첫째, 클라이언트 사이의 연결 비용이나 미들웨어에서의 연결 관리 비용을 고려하여 전송에 참여하는 클라이언트 수를 최소로 하여 클라이언트들을 선정한다.
둘째, 특정 클라이언트에 비용이 집중되지 않도록 선정한다.
도 3 은 데이터 공유에 참여할 대상 클라이언트와 전송받을 데이터의 선정을 위한 알고리즘의 일예시도이다. 요구되는 타일들의 리스트인 RTL(310)을 비트의 배열로 표현하고 있다. 좀 더 설명하면, RTL(310)은 클라이언트에서 요구한 데이터 타일의 리스트이다. 여기서, 0(311)은 요구되지 않는 타일을 나타내며, 1(312)은 요구되는 타일을 나타낸다.
CIT에서 해당 테이블을 가지고 있는 클라이언트의 CIT정보(320, 330, 340)와 RTL(310)의 비트 정보를 AND 연산을 수행함으로서 캐쉬하고 있는 타일들의 리스트 중 요구 데이터의 캐쉬 타일 리스트인 CTL(420)을 얻는다.
AND 연산을 통해서 얻어진 결과 테이블(400)에서 캐쉬된 타일 리스트가 다른 클라이언트와 포함관계에 있는 클라이언트를 삭제한다. 이는 질의의 처리에 참여하는 클라이언트의 수를 최소화하기 위한 정책이다.
포함관계의 클라이언트의 삭제후 얻어진 결과 테이블(500)의 클라이언트들이 클라이언트 사이의 데이터 공유에 참여하는 대상 클라이언트들이 되며, 예시도인 도 3 의 경우 클라이언트2,3이 선정되어 클라이언트 2로부터 타일 3,4,5를, 클라이언트 3 으로부터 타일 2를 전송받아야 함을 의미한다.
클라이언트-서버 환경의 시스템에서 서버 비용의 분산을 위한 클라이언트 사이의 데이터 공유를 지원하기 위해서는 서버, 미들웨어, 클라이언트 사이의 처리 절차의 정의가 요구되어지며 P2P 연결 관리 모듈(130)이 담당한다.
도 4a 및 도 4b 는 본 발명에 따라 선정된 클라이언트와 요구 클라이언트 사이의 데이터 공유 절차를 나타내는 일예시도이다.
도 4a는 선정된 클라이언트와 요구 클라이언트 사이의 데이터 공유 절차의 예를 도시한 도면이며, 도 4b는 처리 절차를 보여주는 흐름도이다.
임의의 클라이언트(610)가 서버로 데이터 처리 요청(810)을 하면 서버 부분의 클라이언트 정보 관리자(100)에서는 영역에 해당하는 타일 리스트(ITL)를 서버로부터 추출하고 CIT의 데이터 정보(112)를 참조해서 RTL을 구한다.
다음으로 RTL을 클라이언트 선정 알고리즘에 적용함으로서 대상 클라이언트와 전송 데이터를 선정한다(820). 이때, 대상 클라이언트, 즉 임의의 클라이언트(610)로부터 요구되는 데이터를 가진 클라이언트(600)가 존재하는지의 여부를 판단한다(830). 즉, 선정 알고리즘에 따라 대상 클라이언트와 전송 데이터를 선정하게 되는데, 이러한 처리 결과 선정된 대상 클라이언트가 존재하는지를 판단하는 것이다.
판단 결과, 존재하지 않으면 서버의 데이터를 이용하여 클라이언트의 요구를 처리한 후(840), 결과를 전송하고(841), CIT 테이블(110)에 클라이언트 데이터의 변경 사항을 반영한 후(842), 트랜잭션을 종료한다(843).
판단 결과, 대상 클라이언트가 존재하는 경우는 P2P 연결 관리 모듈(130)이 대상 클라이언트(600)로 요구 클라이언트(610)의 정보와 전송 데이터의 정보를 전송하게 된다(850).
요구 클라이언트로는 연결 형성 준비 메시지를 전송함으로서 대상 클라이언트와 연결을 가능하도록 한다(851). 클라이언트 사이에 연결이 형성되어지면 요구 처리에 필요한 데이터가 두 클라이언트 사이에 전송되어 진다(852).
데이터의 전송이 완료되면(860), 요구 클라이언트에서는 질의 처리가 이루어지며(870) 트랜잭션을 종료한다(871).
또한, 데이터 전송 완료 직후에 요구 클라이언트는 전송 완료에 대한 응답(ACK) 메시지를 서버로 전송하고(880), 클라이언트 정보 관리자는 요구 클라이언트의 캐쉬 데이터에 대한 변경 사항을 CIT에 반영하고서(881), 트랜잭션을 종료한다(882).
클라이언트-서버 환경에서 클라이언트 사이의 데이터 공유가 이루어지기 위해서는 서버와 클라이언트 데이터 사이의 일관성이 보장되어야 한다. 데이터 일관성의 보장을 위한 기능과 정책은 일관성 관리 모듈(140)이 담당한다.
도 5 는 본 발명에 따른 서버 부하의 분산을 위한 클라이언트 데이터 공유 방법에 있어서, 수정 연산시 클라이언트와 서버 사이의 데이터 일관성 유지 정책의 처리 과정을 도시한 일실시예 흐름도이다.
도 5 는 수정 연산시 클라이언트와 서버 사이의 데이터 일관성 유지 정책의 처리 단계를 도시한 흐름도이며 처리 흐름과 정책은 다음과 같다.
일관성 관리 모듈에서는 시스템의 성능을 고려하여 일관성을 유지하기 위한 정책으로 객체 수정 연산에서의 데이터 일관성과 테이블 수정 연산에서의 데이터 일관성을 유지하기 위한 정책을 구분하여 적용하며 수정 연산은 서버 데이터에 대해서 수행한다.
임의의 클라이언트에 의한 데이터 수정 연산이 발생하는 경우(910), 클라이언트 정보 관리자는 수정 연산이 객체 수정 연산인지 테이블 수정 연산인지의 여부를 판단한다(920).
판단 결과, 객체 수정 연산의 경우 CIT를 검색하여 해당 데이터를 포함하는 타일을 캐쉬하고 있는 클라이언트를 검색하여(940), 해당 클라이언트가 존재하는지를 확인한다(941).
확인 결과, 클라이언트가 존재하지 않는 경우는 서버 데이터에 대한 수정이 이루어 지고(950), 트랜잭션이 종료된다(951).
해당 클라이언트가 존재하는지를 확인한 결과, 존재하는 경우는 대상 타일의 유효성 필드(112D)를 오프(OFF)로 변경함으로서 객체 수정 연산 중 임의의 클라이언트에 대한 접근을 방지한다(942). 그리고, 서버 데이터의 수정한 후(943), CIT에서 해당 데이터의 유효성이 오프(OFF) 상태인 클라이언트들에게 멀티캐스팅을 통하여 데이터에 대한 수정 반영 메시지를 전송하는 즉시 반영(immediate update) 정책을 사용함으로서 캐쉬 데이터에 대한 가용성을 높일 수 있다(944).
메시지를 전송받은 클라이언트는 데이터에 대한 수정 반영후, 응답(ACK) 메시지를 서버로 전송한다(945). 클라이언트 데이터 정보 관리자는 메시지를 수신하는 즉시 해당 클라이언트의 유효성을 온(ON) 상태로 전환함으로서(946), 해당 데이터에 대한 접근을 허용하고 트랜잭션을 종료한다(947).
클라이언트 정보 관리자는 수정 연산이 객체 수정 연산인지 테이블 수정 연산인지의 여부를 판단한 결과, 테이블에 대한 수정 연산의 경우는, 테이블에 속한 모든 객체에 변경이 발생하는 경우로서 객체에 대한 수정 연산의 방식을 적용할 경우 네트워크 트래픽의 발생과 변경된 데이터를 캐쉬하고 있는 클라이언트에서의 수정 반영에 대한 처리 비용이 문제가 된다.
따라서, 테이블의 수정 연산의 경우는 테이블의 유효성(112B)을 객체 수정 연산에서의 객체 유효성과 같은 방식으로 사용하며 수정 반영은 해당 테이블을 포함하는 클라이언트에 테이블 삭제 메시지를 전송함으로서, 클라이언트에서의 처리 비용을 줄이고 클라이언트 정보 관리자와 클라이언트 사이에 발생할 수 있는 네트워크 트래픽을 막을 수 있다(933).
즉, 테이블에 대한 수정 연산인 경우에는, CIT에서 해당 테이블을 캐쉬하고 클라이언트를 검색하여(930), 해당 클라이언트가 존재하는지를 점검한다(931).
점검 결과, 해당 클라이언트가 존재하지 않으면, 서버의 데이터를 수정하고(950), 트랜잭션을 종료한다(951).
상기한 바와 같은 실시예를 바탕으로 본 발명의 특징을 정리하면 다음과 같다.
본 발명은, 클라이언트와 서버 시스템으로 구성되고, 서버와 클라이언트 사이에 대용량 데이터의 처리가 요구되는 공간 데이터베이스 시스템 등에서, 서버 시스템의 부하를 개선하기 위해, 서버 시스템에 클라이언트의 데이터 정보를 유지 관리하고 상기한 알고리즘, 데이터 관리 및 처리에 관련한 기능들을 제공하여 클라이언트 사이에 데이터 공유를 지원하는 클라이언트 정보 관리 시스템이다.
또한, 본 발명은, 클라이언트 데이터 정보를 관리하는데 있어서 상기 시스템과 같이 데이터를 타일 단위의 비트를 사용하여 관리하는 자료구조와 클라이언트 사이의 데이터 공유에 참여할 대상 클라이언트와 데이터를 선정하는데 사용되는 알고리즘이다.
또한, 본 발명은, 클라이언트 사이의 데이터 공유를 목적으로 상기 클라이언트와 클라이언트 정보 관리기, 서버 사이의 요구 처리를 위한 메시지 전송 방식과 처리 절차에 대한 것이다.
또한, 본 발명은, 서버와 클라이언트의 데이터 일관성을 보장하기 위한 프로세스와 정책으로, 연산에 따라서 다른 정책을 사용하며, 이를 통해 적절한 유효성의 처리와 관리 방식을 적용하여 일관성을 유지한다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
상기한 바와 같은 본 발명은, 서버의 디스크 I/O 비용과 처리 및 전송 비용을 현재 서버에 접속중인 클라이언트들에게 분산시킴으로써 서버 처리 속도의 향상 및 다수 클라이언트들의 요구에 의한 서버 사이드의 병목현상을 완화시키는 효과가 있다.
또한, 본 발명은, 서버의 디스크 I/O 비용과 처리 및 전송 비용을 현재 서버에 접속중인 클라이언트들에게 분산시킴으로써 클라이언트 시스템에서의 반응 속도의 개선과 서버에 연결된 클라이언트들의 가용한 처리 성능 및 자원을 활용할 수 있도록 하는 효과가 있다.
또한, 본 발명은, 서버 부하의 분산을 위한 클라이언트 데이터의 공유를 나타내고 있으며, 이는 서버 처리 속도의 향상과 다수 클라이언트들의 요구에 의한 서버 시스템의 병목현상을 완화시킬 수 있으며, 이를 통해 클라이언트 사이드에서의 반응 속도를 개선하였으며 서버에 연결된 클라이언트들의 가용한 처리 성능 및 자원을 활용할 수 있도록 하는 효과가 있다.

Claims (11)

  1. 클라이언트/서버 시스템에 적용되는 서버 부하의 분산을 위한 클라이언트 정보 공유 시스템에 있어서,
    상기 서버에 연결되어 있는 클라이언트의 정보와 상기 클라이언트에 캐쉬되어 있는 데이터의 정보를 관리하여 연결되어 있는 특정 클라이언트로부터의 데이터 요구에 따라 해당 데이터를 캐쉬하고 있는 클라이언트에서 데이터를 지원하도록 제어하는 서버 처리수단; 및
    상기 서버 처리수단으로부터의 메시지에 따라 상기 서버로 연결된 다른 클라이언트와 캐쉬 데이터의 공유를 위해 연결 형성을 처리하는 클라이언트 처리수단
    을 포함하는 서버 부하의 분산을 위한 클라이언트 데이터 공유 시스템.
  2. 제 1 항에 있어서,
    상기 클라이언트 처리수단은,
    기존의 클라이언트/서버 시스템에서 사용하던 패킷을 변환하여 사용하기 위한 패킷 변환수단; 및
    상기 서버에 접속된 클라이언트 사이에 데이터 공유를 위해 연결 형성을 수행하기 위한 클라이언트간 통신수단
    을 포함하는 서버 부하의 분산을 위한 클라이언트 데이터 공유 시스템.
  3. 제 1 항에 있어서,
    상기 서버 처리 수단은,
    상기 서버에 연결된 클라이언트의 정보와 상기 클라이언트에 캐쉬되어 있는 데이터의 정보를 관리하는 클라이언트 관리수단;
    상기 서버에 연결된 특정 클라이언트로부터의 정보 요구에 대해 상기 서버의 부하를 줄이기 위해 상기 서버에 연결된 각 클라이언트가 가지는 정보를 상기 클라이언트 관리수단을 통해 점검하여 상기 정보 요구 클라이언트로 데이터를 전달할 클라이언트 및 해당 클라이언트에서 제공할 데이터의 종류를 선정하는 클라이언트 정보 관리수단;
    서버 비용의 분산을 위한 클라이언트 사이의 데이터 공유를 지원하기 위해 상기 클라이언트 정보 관리수단으로부터 얻어진 정보를 바탕으로 서버, 미들웨어, 클라이언트 사이의 처리 절차의 정의를 수행하는 연결 관리수단; 및
    클라이언트-서버 환경에서 클라이언트 사이의 데이터 공유가 이루어지기 위해서는 서버와 클라이언트 데이터 사이의 일관성이 보장되어야 하므로 상기 서버의 데이터와 상기 클라이언트 관리수단에 의해 기록 관리되는 연결 클라이언트에 대한 정보가 일관성을 갖도록 제어하는 일관성 관리수단
    을 포함하는 서버 부하의 분산을 위한 클라이언트 데이터 공유 시스템.
  4. 클라이언트/서버 시스템에 적용되는 서버 부하의 분산을 위한 클라이언트 정보 공유 시스템에 있어서,
    상기 서버에 연결된 클라이언트의 정보와 상기 클라이언트에 캐쉬되어 있는 데이터의 정보를 관리하는 클라이언트 관리수단;
    상기 서버에 연결된 특정 클라이언트로부터의 정보 요구에 대해 상기 서버의 부하를 줄이기 위해 상기 서버에 연결된 각 클라이언트가 가지는 정보를 상기 클라이언트 관리수단을 통해 점검하여 상기 정보 요구 클라이언트로 데이터를 전달할 클라이언트 및 해당 클라이언트에서 제공할 데이터의 종류를 선정하는 클라이언트 정보 관리수단;
    서버 비용의 분산을 위한 클라이언트 사이의 데이터 공유를 지원하기 위해 상기 클라이언트 정보 관리수단으로부터 얻어진 정보를 바탕으로 서버, 미들웨어, 클라이언트 사이의 처리 절차의 정의를 수행하는 연결 관리수단; 및
    클라이언트-서버 환경에서 클라이언트 사이의 데이터 공유가 이루어지기 위해서는 서버와 클라이언트 데이터 사이의 일관성이 보장되어야 하므로 상기 서버의 데이터와 상기 클라이언트 관리수단에 의해 기록 관리되는 연결 클라이언트에 대한 정보가 일관성을 갖도록 제어하는 일관성 관리수단
    을 포함하는 서버 부하의 분산을 위한 클라이언트 데이터 공유 시스템.
  5. 제 3 항 또는 제 4 항에 있어서,
    상기 클라이언트 관리수단은,
    상기 클라이언트가 상기 서버에 접속시에 클라이언트 정보 테이블(CIT : Client Information Table)에 등록하고 상기 클라이언트가 상기 서버를 통한 읽기 연산이 발생할 때에 상기 클라이언트에 캐쉬되어지는 데이터의 변화를 상기 클라이언트 정보 테이블에 기록하며 상기 클라이언트가 상기 서버와의 접속 해제 시에 관리 대상에서 제외하는 것을 특징으로 하는 서버 부하의 분산을 위한 클라이언트 데이터 공유 시스템.
  6. 제 5 항에 있어서,
    상기 클라이언트 정보 테이블(CIT)은,
    상기 서버에 접속중인 클라이언트의 정보를 나타내기 위한 클라이언트 정보 필드와, 상기 클라이언트 정보 필드에 나타나는 접속 클라이언트에 대해 상기 클라이언트에 캐쉬되어 있는 테이블의 이름과 상기 테이블에 속하는 타일 중에서 실제로 상기 클라이언트에 존재하는 타일에 대한 아이디(ID)를 나타내기 위한 데이터 정보 필드를 포함하는 것을 특징으로 하는 서버 부하의 분산을 위한 클라이언트 데이터 공유 시스템.
  7. 클라이언트 정보 공유 시스템에 적용되는 서버 부하의 분산을 위한 클라이언트 데이터 공유 방법에 있어서,
    서버에 접속중인 클라이언트의 정보와 상기 클라이언트에 캐쉬되어 있는 데이터의 정보를 클라이언트 정보 테이블(CIT : Client Information Table)을 통해 관리하는 제 1 단계;
    상기 서버에 접속된 클라이언트의 질의 처리 요청에 대해 상기 클라이언트 정보 테이블(CIT)을 검색하여 상기 테이블에 존재하는 질의 처리에 필요한 데이터는 접속중인 클라이언트간에 공유를 통해 질의 처리가 이루어지도록 하고 상기 테이블에 존재하지 않지만 질의 처리에 필요한 데이터는 상기 서버의 데이터를 통해 처리가 이루어지도록 제어하는 제 2 단계; 및
    상기 서버의 데이터에 대한 수정 연산 요구를 받아 객체 수정 연산에 대해서는 상기 클라이언트 정보 테이블(CIT)에서 해당 데이터를 포함하는 타일을 캐쉬한 클라이언트를 확인하여 상기 서버의 데이터와 상기 클라이언트의 데이터를 수정하도록 하며, 테이블 수정 연산에 대해서는 상기 클라이언트 정보 테이블(CIT)에서 해당 테이블을 캐쉬하고 있는 클라이언트를 확인하여 이를 삭제하고 상기 해당 클라이언트로 통보하며 상기 서버의 데이터를 수정하도록 제어하는 제 3 단계
    를 포함하는 서버 부하의 분산을 위한 클라이언트 데이터 공유 방법.
  8. 제 7 항에 있어서,
    상기 제 1 단계는,
    상기 서버에 클라이언트가 접속 시에 상기 클라이언트 정보 테이블(CIT)에 상기 클라이언트를 등록하는 제 4 단계;
    상기 클라이언트에서 상기 서버를 통한 읽기 연산을 발생시켰을 때에 상기 클라이언트에 캐쉬되어지는 데이터의 변화를 상기 클라이언트 정보 테이블에 기록하는 제 5 단계; 및
    상기 클라이언트가 상기 서버와의 접속 해제 시에 상기 클라이언트 및 상기 클라이언트의 캐쉬 데이터에 대한 정보를 상기 클라이언트 정보 테이블에서 제외하는 제 6 단계
    를 포함하는 서버 부하의 분산을 위한 클라이언트 데이터 공유 방법.
  9. 제 7 항에 있어서,
    상기 제 2 단계는,
    접속된 클라이언트로부터 질의 처리 요청을 받는 제 4 단계;
    상기 클라이언트로부터의 요청을 바탕으로 질의 처리에 필요한 데이터의 내역을 추출하는 제 5 단계;
    추출된 데이터의 내역을 바탕으로 공유 대상의 클라이언트와 처리 데이터를 선정하기 위해 서버에 접속된 클라이언트와 상기 접속 클라이언트가 보유하고 있는 데이터를 기록한 클라이언트 정보 테이블을 검색하는 제 6 단계;
    상기 제 6 단계의 검색 결과, 질의 처리에 요구되는 데이터를 가지는 대상 클라이언트가 존재하지 않으면, 해당 데이터에 대해 상기 서버의 데이터를 통한 질의 처리를 수행하여 그 결과를 요청한 상기 클라이언트로 전송하고 이를 상기 클라이언트 정보 테이블에 반영하는 제 7 단계; 및
    상기 제 6 단계의 검색 결과, 질의 처리에 요구되는 데이터를 가지는 대상 클라이언트가 존재하면, 대상 클라이언트로 요구 클라이언트의 정보와 전송 데이터 정보를 전송하고 상기 요구 클라이언트에 연결 준비 메시지를 전송하여 데이터 전송을 통해 질의 처리가 이루어지도록 하고 이를 상기 클라이언트 정보 테이블에 반영하는 제 8 단계
    를 포함하는 서버 부하의 분산을 위한 클라이언트 데이터 공유 방법.
  10. 제 7 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 제 3 단계는,
    상기 서버의 데이터에 대한 수정 연산 처리 요구를 받아 객체 수정 연산에 속하는지, 테이블 수정 연산에 속하는지를 점검하는 제 9 단계;
    상기 제 9 단계의 점검 결과, 객체 수정 연산이면, 상기 클라이언트 정보 테이블에서 해당 데이터를 포함하는 타일을 캐쉬한 클라이언트를 검색하여 존재하는지를 확인하는 제 10 단계;
    상기 제 10 단계의 확인 결과, 해당 데이터를 포함하는 타일을 캐쉬한 클라이언트가 존재하지 않으면 상기 서버의 대상 데이터를 수정하는 제 11 단계;
    상기 제 10 단계의 확인 결과, 해당 데이터를 포함하는 타일을 캐쉬한 클라이언트가 존재하면, 상기 클라이언트 정보 테이블에서 대상 데이터의 타일 유효성 필드에 무효를 표시하고 서버 데이터를 수정하며 대상 클라이언트들에게 수정 반영을 위한 데이터를 전달하고 이에 대한 응답을 받아 다시 타일 유효성 필드에 해당 데이터의 유효를 표시하는 제 12 단계;
    상기 제 9 단계의 점검 결과, 테이블 수정 연산이면, 상기 클라이언트 정보 테이블에서 해당 테이블을 캐쉬하고 있는 클라이언트를 검색하여 존재하는지를 분석하는 제 13 단계;
    상기 제 13 단계의 분석 결과, 해당 테이블을 캐쉬하고 있는 클라이언트가 존재하지 않으면 상기 서버의 대상 데이터를 수정하는 제 14 단계; 및
    상기 제 13 단계의 분석 결과, 해당 테이블을 캐쉬하고 있는 클라이언트가 존재하면 상기 클라이언트 정보 테이블의 상기 클라이언트에 대한 필드에서 상기 수정 대상 테이블에 대한 기록을 삭제하고 상기 대상 클라이언트로 상기 수정 대상 테이블에 대한 삭제를 요청하며 상기 서버의 대상 데이터를 수정하는 제 15 단계
    를 포함하는 서버 부하의 분산을 위한 클라이언트 데이터 공유 방법.
  11. 프로세서를 구비한 클라이언트 데이터 공유 시스템에,
    서버에 접속중인 클라이언트의 정보와 상기 클라이언트에 캐쉬되어 있는 데이터의 정보를 클라이언트 정보 테이블(CIT : Client Information Table)을 통해 관리하는 제 1 기능;
    상기 서버에 접속된 클라이언트의 질의 처리 요청에 대해 상기 클라이언트 정보 테이블(CIT)을 검색하여 상기 테이블에 존재하는 질의 처리에 필요한 데이터는 접속중인 클라이언트간에 공유를 통해 질의 처리가 이루어지도록 하고 상기 테이블에 존재하지 않지만 질의 처리에 필요한 데이터는 상기 서버의 데이터를 통해 처리가 이루어지도록 제어하는 제 2 기능; 및
    상기 서버의 데이터에 대한 수정 연산 요구를 받아 객체 수정 연산에 대해서는 상기 클라이언트 정보 테이블(CIT)에서 해당 데이터를 포함하는 타일을 캐쉬한 클라이언트를 확인하여 상기 서버의 데이터와 상기 클라이언트의 데이터를 수정하도록 하며, 테이블 수정 연산에 대해서는 상기 클라이언트 정보 테이블(CIT)에서 해당 테이블을 캐쉬하고 있는 클라이언트를 확인하여 이를 삭제하고 상기 해당 클라이언트로 통보하며 상기 서버의 데이터를 수정하도록 제어하는 제 3 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020010048542A 2001-08-11 2001-08-11 서버 부하의 분산을 위한 클라이언트 데이터 공유 시스템및 그 방법 KR20030014513A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010048542A KR20030014513A (ko) 2001-08-11 2001-08-11 서버 부하의 분산을 위한 클라이언트 데이터 공유 시스템및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010048542A KR20030014513A (ko) 2001-08-11 2001-08-11 서버 부하의 분산을 위한 클라이언트 데이터 공유 시스템및 그 방법

Publications (1)

Publication Number Publication Date
KR20030014513A true KR20030014513A (ko) 2003-02-19

Family

ID=27718860

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010048542A KR20030014513A (ko) 2001-08-11 2001-08-11 서버 부하의 분산을 위한 클라이언트 데이터 공유 시스템및 그 방법

Country Status (1)

Country Link
KR (1) KR20030014513A (ko)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030051462A (ko) * 2003-05-03 2003-06-25 이강소프트(주) 다중 노드에 의한 트래픽 분산 방법 및 그 시스템
KR100813972B1 (ko) * 2006-03-08 2008-03-14 삼성전자주식회사 컨텐츠 스트리밍 클라이언트 장치 및 방법, 그 방법을수행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체
KR101102569B1 (ko) * 2010-07-09 2012-01-04 단암시스템즈 주식회사 사후 데이터 처리 시스템 및 방법
WO2012002956A1 (en) * 2010-06-30 2012-01-05 Hewlett-Packard Development Company, L.P. System and method for collaborative information services
KR101416556B1 (ko) * 2013-02-15 2014-07-10 동서대학교산학협력단 스마트 폰 배터리 효율을 위한 모바일 뷰의 최적화 방법
US9110895B2 (en) 2010-06-30 2015-08-18 Hewlett-Packard Development Company, L.P. System and method for a serialized data service
KR101580096B1 (ko) * 2014-11-14 2015-12-29 충북대학교 산학협력단 모바일 p2p 네트워크에서 그룹 기반의 캐시 공유 시스템 및 방법
US9361405B2 (en) 2010-06-30 2016-06-07 Hewlett Packard Enterprise Development Lp System and method for service recommendation service
US9723103B2 (en) 2013-03-11 2017-08-01 Samsung Electronics Co., Ltd. Communication method of administration node, requesting node, and normal node for deleting invalid content using content revocation list in content centric network

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1040317A (ja) * 1996-07-19 1998-02-13 Fujitsu Ltd 情報共有化システム
JP2000137641A (ja) * 1998-10-05 2000-05-16 Backweb Technologies Ltd 分散クライアントベ―スのデ―タキャッシングシステム
KR20010074086A (ko) * 2001-02-13 2001-08-04 박준상 P2p 서비스 시스템 및 방법
KR20010100280A (ko) * 2000-04-07 2001-11-14 이준표 클라이언트/서버 환경에서 채팅시 정보 공유방법
KR20020094220A (ko) * 2001-06-04 2002-12-18 유진용 인터넷 피투피 환경 하에서 개인 쇼핑몰 구축을 통한전자상거래 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1040317A (ja) * 1996-07-19 1998-02-13 Fujitsu Ltd 情報共有化システム
JP2000137641A (ja) * 1998-10-05 2000-05-16 Backweb Technologies Ltd 分散クライアントベ―スのデ―タキャッシングシステム
KR20010100280A (ko) * 2000-04-07 2001-11-14 이준표 클라이언트/서버 환경에서 채팅시 정보 공유방법
KR20010074086A (ko) * 2001-02-13 2001-08-04 박준상 P2p 서비스 시스템 및 방법
KR20020094220A (ko) * 2001-06-04 2002-12-18 유진용 인터넷 피투피 환경 하에서 개인 쇼핑몰 구축을 통한전자상거래 방법

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030051462A (ko) * 2003-05-03 2003-06-25 이강소프트(주) 다중 노드에 의한 트래픽 분산 방법 및 그 시스템
KR100813972B1 (ko) * 2006-03-08 2008-03-14 삼성전자주식회사 컨텐츠 스트리밍 클라이언트 장치 및 방법, 그 방법을수행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체
WO2012002956A1 (en) * 2010-06-30 2012-01-05 Hewlett-Packard Development Company, L.P. System and method for collaborative information services
US9110895B2 (en) 2010-06-30 2015-08-18 Hewlett-Packard Development Company, L.P. System and method for a serialized data service
US9361405B2 (en) 2010-06-30 2016-06-07 Hewlett Packard Enterprise Development Lp System and method for service recommendation service
KR101102569B1 (ko) * 2010-07-09 2012-01-04 단암시스템즈 주식회사 사후 데이터 처리 시스템 및 방법
KR101416556B1 (ko) * 2013-02-15 2014-07-10 동서대학교산학협력단 스마트 폰 배터리 효율을 위한 모바일 뷰의 최적화 방법
US9723103B2 (en) 2013-03-11 2017-08-01 Samsung Electronics Co., Ltd. Communication method of administration node, requesting node, and normal node for deleting invalid content using content revocation list in content centric network
KR101580096B1 (ko) * 2014-11-14 2015-12-29 충북대학교 산학협력단 모바일 p2p 네트워크에서 그룹 기반의 캐시 공유 시스템 및 방법

Similar Documents

Publication Publication Date Title
US9369540B2 (en) Method and system for dynamic distributed data caching
US8135812B2 (en) Method and system for community data caching
US10191922B2 (en) Determining live migration speed based on workload and performance characteristics
Baker et al. Distributed cooperative Web servers
Wang et al. Buddyweb: A p2p-based collaborative web caching system
US20230267130A1 (en) Analytical query processing with decoupled compute instances
KR20030014513A (ko) 서버 부하의 분산을 위한 클라이언트 데이터 공유 시스템및 그 방법
Weissman et al. The service grid: supporting scalable heterogeneous services in wide-area networks
KR100475668B1 (ko) 그리드 네트워크에서 그리드 자원에 대한 정보를 제공하는장치 및 방법과 그 프로세스를 기록한 컴퓨터 판독가능한기록매체
JP2002197002A (ja) 自律分散型コンテンツ配信システム及び方法
AU5756000A (en) Distributed virtual web cache implemented entirely in software
CN110633256A (zh) 一种分布式集群系统中Session会话的共享方法
Lancellotti et al. A scalable architecture for cooperative web caching
Ferreira et al. Plethora: An efficient wide-area storage system
Liu et al. Multi-stage replica consistency algorithm based on activity
JP2001331398A (ja) サーバ管理システム
JP2002024191A (ja) Wwwシステム、wwwサーバのトラフィック緩和方法、及びwwwサーバ
Aznar-Poveda et al. SDKV: A Smart and Distributed Key-Value Store for the Edge-Cloud Continuum
Fedorova et al. Application performance on the Direct Access File System
Belloum et al. Scalable federation of Web cache servers
Galanis Towards a data-centric internet
Vardhan et al. A Demand Based Load Balanced Service Replication Model
Jagannathan et al. Plethora: An Efficient Wide-Area Storage System
Kenter et al. COSY Communication IP's

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application