KR20030055482A - 선택적인 캐시관리방법 및 장치 - Google Patents

선택적인 캐시관리방법 및 장치 Download PDF

Info

Publication number
KR20030055482A
KR20030055482A KR1020010085037A KR20010085037A KR20030055482A KR 20030055482 A KR20030055482 A KR 20030055482A KR 1020010085037 A KR1020010085037 A KR 1020010085037A KR 20010085037 A KR20010085037 A KR 20010085037A KR 20030055482 A KR20030055482 A KR 20030055482A
Authority
KR
South Korea
Prior art keywords
data
cache
client computer
server computer
stored
Prior art date
Application number
KR1020010085037A
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 KR1020010085037A priority Critical patent/KR20030055482A/ko
Publication of KR20030055482A publication Critical patent/KR20030055482A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/122Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 서버 컴퓨터와 클라이언트 컴퓨터로 구성되는 분산 시스템에서, 상기 서버 컴퓨터에서 관리되는 데이터를 저장하는 클라이언트 컴퓨터의 캐시를 선택적으로 관리하는 방법 및 그 장치에 관한 것으로, 본 발명에 따른 캐시관리방법은 (a) 서버 컴퓨터에서 관리되는 DB의 데이터 중 필요한 데이터를 상기 서버 컴퓨터로부터 전송받아 캐시에 저장하는 단계, (b) 상기 서버 컴퓨터에서 관리되는 DB상의 상기 데이터의 값이 변경된 경우에는 그에 따라 상기 캐시에 저장되어 있는 상기 데이터의 값을 변경시키는 단계 및 (c) 상기 데이터에 대한 접근빈도를 점검하여 상기 접근빈도수가 소정의 기준이하의 값을 가질 때에는 상기 캐시에서 상기 데이터를 삭제하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따르면 클라이언트 컴퓨터에서 빈번하게 필요한 정보를 로컬 캐시를 통하여 제공함으로써 서버 컴퓨터에 접속하여 정보를 읽어 오는 방식에 비하여 짧은 시간 내에 상기 필요한 정보를 제공할 수 있게됨에 따라서 클라이언트 컴퓨터에서 수행되는 응용기능의 처리속도가 빨라지게 되는 효과가 있다.

Description

선택적인 캐시관리방법 및 장치{Method of managing a cache selectively and apparatus}
본 발명은 서버 컴퓨터와 클라이언트 컴퓨터로 구성되는 분산 시스템에서, 상기 서버 컴퓨터에서 관리되는 데이터를 저장하는 클라이언트 컴퓨터의 캐시를 선택적으로 관리하는 방법 및 그 장치에 관한 것이다.
종래의 분산 시스템에서는 서버 컴퓨터에서 소정의 시스템 운영에 필요한 데이터를 관리하고 클라이언트 컴퓨터에서는 미들웨어 API(Application Programming Interface)를 통하여 상기 데이터에 접근하도록 되어 있었다. 그런데 이러한 클라이언트 컴퓨터의 데이터 접근방식은 데이터에 접근할 때마다 서버 컴퓨터와의 통신을 통하여 접근하여야 하므로, 데이터 접근시간이 길어져서 실시간적으로 동작되어야 하는 응용기능의 수행에는 적용할 수 없는 문제점이 있었다.
특히 분산제어구조를 갖는 교환시스템은 기능의 구조상 실시간적인 처리를 위한 호 처리 기능과 비실시간적인 운용관리 기능으로 크게 구분되는데, 종래의 데이터 접근방식이 상기 실시간적인 기능의 수행에 성능을 저하시키는 요인이 되고 있는 문제점이 있었다.
본 발명이 이루고자 하는 기술적 과제는 분산구조를 갖는 시스템의 클라이언트 컴퓨터의 캐시를 관리하는 방법 및 장치를 제공하는데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는 분산구조를 갖는 시스템에서 서버 컴퓨터가 클라이언트 컴퓨터에 소정의 데이터를 제공하는 방법을 제공하는데 있다.
도 1A는 본 발명이 적용되는 미들웨어를 적용한 분산 시스템의 구조를 보이고 있다.
도 1B는 본 발명에 따른 분산 시스템의 바람직한 실시예의 기능적 블록도이다.
도 2는 본 발명에 따른 클라이언트 컴퓨터에서의 수행되는 미들웨어의 주제어의 바람직한 실시예의 흐름도이다.
도 3A는 도 2의 API(Application Programming Interface) 호출처리 과정의 바람직한 실시예의 세부 흐름도를 보이고 있다.
도 3B는 도3A의 호출처리과정의 바람직한 실시예의 서버 컴퓨터와 클라이언트 컴퓨터간의 데이터 전송과정을 나타내고 있다.
도 4는 도 2의 캐시할당 및 회수처리 과정의 바람직한 실시예의 흐름도를 보이고 있다.
도 5는 도 2의 캐시갱신처리 과정의 바람직한 실시예의 흐름도를 보이고 있다.
도 6은 도 5의 캐시갱신처리 과정에 대응하는 서버 컴퓨터에서의 처리과정의바람직한 실시예의 흐름도를 보이고 있다.
이하에서는 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명한다.
도 1A는 본 발명이 적용되는 미들웨어를 적용한 분산 시스템의 구조를 보이고 있다.
시스템 운용관리 기능을 수행하는 서버 컴퓨터와 응용기능을 수행하는 클라이언트 컴퓨터로 구성된다. 만일 도 1A에서 보이고 있는 시스템을 교환시스템에 적용하는 경우에는 상기 서버 컴퓨터는 워크스테이션(Workstation)이 될 수 있으며, 상기 클라이언트 컴퓨터는 호 처리 기능을 제어하는 프로세서 ACC(Access Call Control Processor) 및 스위칭 제어 기능을 수행하는 프로세서 SMC(Switch Management Control Processor)로 구성되며 여기서 ACC는 호 처리 용량에 따라서 늘어날 수 있다. 이러한 분산구조에서 미들웨어는 서버 컴퓨터 및 클라이언트 컴퓨터에 위치하며, 이들에 실장 되는 각 응용기능에서 호출하여 분산된 다른 위치의 데이터(다른 컴퓨터에서 관리되는 데이터)를 읽고 쓰는 기능을 수행한다.
클라이언트 컴퓨터에 위치하는 응용프로세스(응용기능)에서 서버 컴퓨터의 데이터베이스에서 관리되는 데이터를 슬레이브 미들웨어에게 요청할 경우, 클라이언트 컴퓨터의 슬레이브 미들웨어는 요청받은 데이터를 분석하여 자체의 캐시에 이미 존재하는 경우에는 위 캐시에 있는 정보를 읽어 상기 응용프로세스로 전달하고 처리를 완료한다. 그러나 캐시에 상기 데이터가 존재하지 않은 경우에는 클라이언트 컴퓨터의 슬레이브 미들웨어는 서버컴퓨터에 위치하는 마스터 미들웨어를 통하여 데이터베이스의 데이터 값을 전달받고, 상기 전달받은 상기 응용프로세스로 전달함과 동시에 자체의 캐시에 상기 데이터 값을 저장하고 완료한다. 이때 캐시에 저장된 데이터는 일정시간 동안 요청하는 응용프로세스가 없을 경우에는 상기 클라이언트 컴퓨터의 로컬 메모리의 절약을 위하여 삭제된다.
한편, 서버 컴퓨터의 응용프로세스(응용기능) 역시 필요시에는 위에서 설명한 과정과 동일한 과정을 거쳐 마스터 미들웨어 및 슬레이브 미들웨어를 통하여 클라이언트 컴퓨터에 위치하는 데이터에 접근할 수 있다.
본 명세서에서는 클라이언트 컴퓨터의 응용프로세서에서 서버 컴퓨터에서 관리되는 데이터에 접근하는 과정을 설명하고, 그 반대의 경우는 편의를 위하여 생략한다.
도 1B는 본 발명에 따른 분산 시스템의 바람직한 실시예의 기능적 블록도로, 상기 도1A에서 보이는 기능을 블록으로 표시한 것이다. 도 1B에는 클라이언트 컴퓨터(110)와 서버 컴퓨터(120)로 구성되어 있는 분산 시스템이 도시되어 있다.
이하에서는 클라이언트 컴퓨터(110)의 구성에 대하여 설명한다. 먼저, 응용기능부(111)는 클라이언트 컴퓨터의 응용기능을 수행하는 응용프로세서를 관리하는 기능을 수행하고, 상기 응용프로세서에서 서버 컴퓨터에서 관리되는 데이터를 필요로 하는 경우에는 캐시데이터 저장 및 검색부(114)로 상기 데이터를 요청한다.
캐시 데이터 저장 및 검색부(114)는 상기 응용기능부(111)로부터 요청 받은 데이터가 클라이언트 컴퓨터의 캐시에 저장되어 있는지 검색하여, 상기 캐시에 상기 데이터가 저장되어 있는 경우에는 상기 데이터 값을 읽어 상기 응용기능부(111)에 제공하는 역할을 수행한다. 한편, 상기 검색결과 상기 데이터가 상기 캐시에 저장되어 있지 않은 경우에는 송수신부(115)를 통하여 서버 컴퓨터에 상기 데이터 값을 전송하여 줄 것을 요청하는 기능을 수행한다. 그리고 서버 컴퓨터로부터 전송 받은 서버 컴퓨터에서 관리되는 데이터 정보를 수신 받은 경우에는, 상기 데이터에 접근빈도 점검을 위한 접근빈도수를 초기화시키고 상기 초기화 시간을 설정하여 상기 캐시에 저장하고, 그 결과를 캐시데이터목록정보생성부(113)에 통보하는 기능을 수행한다.
접근빈도점검부(112)는 상기 캐시에 저장되어 있는 데이터의 접근빈도를 정기적으로 점검하여 상기 접근빈도수가 소정의 기준값 이하인 데이터는 상기 캐시에서 삭제하고, 상기 삭제결과를 캐시데이터목록정보생성부(113)에 통보하는 기능을 수행한다.
캐시데이터목록정보생성부(113)는 상기 캐시데이터 저장 및 검색부(114)로부터의 데이터 저장결과 및 상기 접근빈도점검부(112)로부터의 데이터 삭제결과를 통보받고, 상기 캐시에 저장되어 있는 데이터의 목록정보를 생성시켜 이를 송수신부(115)를 통하여 상기 서버 컴퓨터(120)로 전송하는 기능을 수행한다.
송수신부(115)는 서버 컴퓨터와 필요한 데이터를 송신 또는 수신하는 역할을 수행한다.
이하에서는 서버 컴퓨터(120)의 각 구성부분의 기능을 설명한다. 먼저, 데이터제공부(122)는 송수신부(121)를 통하여 상기 클라이언트 컴퓨터로부터 서버 DB에서 관리하는 데이터를 전송하여 줄 것을 요청 받고, 데이터베이스 관리부(124)로부터 제공받은 상기 데이터를 상기 송수신부(121)를 통하여 상기 클라이언트 컴퓨터에 제공하는 기능을 수행한다. 또한 상기 데이터베이스관리부(124)가 상기 서버 DB상의 데이터를 갱신한 경우에는 상기 갱신에 관련된 정보를 전달받아 캐시정보테이블을 검색하여 상기 갱신된 데이터가 캐시정보에 포함되어 있는지를 확인하여, 상기 갱신된 데이터가 상기 캐시에 저장되어 있는 데이터에 해당하면 상기 갱신에 관련된 정보를 상기 송수신부(121)를 통하여 클라이언트 컴퓨터로 전송하는 기능을 수행한다.
캐시정보관리부(123)는 송수신부(121)를 통하여 클라이언트의 캐시에 저장되어 있는 데이터의 목록정보를 수신하고 상기 목록정보를 캐시정보테이블에 저장하는 기능을 수행한다.
데이터베이스관리부(120)는 서버 컴퓨터에서 관리하는 데이터를 서버 데이터베이스에 저장하고, 상기 데이터제공부(122)로부터 소정의 데이터 값을 제공해줄 것을 요청 받으면 상기 데이터를 검색하여 상기 데이터 값을 데이터제공부(122)에 제공하는 기능을 수행한다.
송수신부(121)는 클라이언트 컴퓨터(110)와 필요한 정보를 송신 또는 수신하는 역할을 수행한다.
도 2는 본 발명에 따른 도 1A의 클라이언트 컴퓨터에서 수행되는 슬레이브미들웨어의 주제어의 바람직한 실시예의 흐름도이다. 슬레이브 미들웨어는 기동되면 상기 클라이언트 컴퓨터에서 수행되는 응용프로세서로부터의 소정의 요구를 받아들이기 위한 대기상태(201)로 천이한다. 이때 응용프로세서로부터의 API수행호출을 접수받으면(202), API호출처리과정을 수행(203)한 후 다음 처리를 위한 대기상태로 천이(208)하고, 상기 클라이언트 컴퓨터의 캐시에 저장되어 있는 데이터의 접근빈도를 점검하기 위한 타이머프로세스가 구동된 경우(204)에는 소정의 기준시간 동안의 각 데이터에의 접근빈도수를 점검하여 캐시할당 및 회수처리 기능을 수행(205)한 후 대기 상태로 천이(208)하고, 또한 서버 컴퓨터에 위치하는 마스터 미들웨어의 캐시정보갱신요구를 접수(206)받으면 캐시갱신처리과정을 수행(207)한 후 다음 수행을 위한 대기상태로 천이(208)한다. 여기서 상기 API호출처리 과정은 도 3A 및 도 3B에서 설명되며, 상기 캐시할당 및 회수처리과정은 도 4에서 설명되고, 캐시갱신처리과정은 도 5 및 도 6에서 설명된다.
도 3A는 도 2의 API(Application Programming Interface) 호출처리 과정의 바람직한 실시예의 세부 흐름도를 보이고 있는데, 이는 도 1A의 클라이언트 컴퓨터의 슬레이브 미들웨어에서 수행되는 과정을 보이고 있는 것이다.
먼저 API 처리 과정이 호출(301)되면 호출한 API 종류를 분석하여 데이터 읽기 기능인지를 판단하여(302) 읽기 기능이 아닐 경우에는 분산된 제어 장치의 위치정보를 목적지 정보로 하여 해당 API를 호출(303)하는 정상적인 처리과정을 수행한 후 호출한 응용기능으로 데이터를 전달하고(304) 복귀한다(316). 위 판단결과 데이터 읽기 기능인 경우에는 캐시구성 여부를 확인(305)하여 상기 데이터가 이미 캐시에 저장되어 있는 정보인 경우에는 상기 캐시에 저장된 데이터 정보를 읽어(306) 응용기능으로 전달한 후(307) 캐시접근빈도카운터를 증가시킨 후(308) 복귀한다(316). 그리고 캐시 구성 여부 확인(305) 결과 상기 데이터가 캐시에 존재하지 않은 경우에는 요구한 데이터를 얻기 위한 API 호출(309)한 후 결과 접수를 위한 대기 상태(310)를 거쳐 결과가 접수되면(311) 응용기능으로 데이터를 전달한 후(312) 해당 데이터에 대한 캐시 구성을 위한 메모리 할당을 수행한 후(313) 서버 컴퓨터상의 데이터 정보가 변경 시 캐시 정보도 같이 갱신 처리를 수행하기 위하여 캐시 구성정보(캐시에 저장되어 있는 데이터의 목록정보)를 마스터 미들웨어에 통보(314)하고 캐시 접근 빈도를 점검하기 위한 타이머를 설정한 후(315) 복귀한다(316).
도 3B는 도 3A의 호출처리과정의 바람직한 실시예의 서버 컴퓨터와 클라이언트 컴퓨터간의 데이터 전송과정을 나타내고 있다.
먼저, 클라이언트 컴퓨터에서는 서버 컴퓨터에서 관리되는 DB상의 데이터중 소정의 데이터가 필요한지 여부를 판단(351)하여, 필요한 경우에는 자신의 캐시에 상기 필요한 데이터를 검색(352)하여 위 데이터가 상기 캐시에 저장되어 있는지 여부를 판단(353)하여 없으면 위 데이터를 전송하여 줄 것을 서버 컴퓨터에 요청하는 정보를 전송(354)한다. 위 전송요청을 받은 서버 컴퓨터는 위 데이터의 값을 자신이 관리하는 DB를 검색하여 얻고, 위 데이터 값을 상기 클라이언트 컴퓨터로 전송(356)한다. 위 데이터 값을 전송받은 클라이언트 컴퓨터는 위 데이터를 자신의 캐시에 저장하고 상기 캐시에 저장된 데이터의 목록정보를 생성(358)시킨 후에 위목록정보를 서버 컴퓨터로 전송(359)한다. 위 목록정보를 전송받은 서버 컴퓨터는 위 목록정보를 캐시정보테이블에 저장(361)한다. 한편, 위 목록정보를 서버 컴퓨터로 전송한 클라이언트 컴퓨터는 위 데이터에의 접근빈도를 점검하기 위하여 타이머를 설정(360)한다.
도 4는 도 2의 캐시할당 및 회수처리 과정의 바람직한 실시예의 흐름도를 보이고 있다.
클라이언트 컴퓨터의 캐시에 저장되어 있는 데이터의 접근빈도를 점검하는 타이머프로세스가 동작되면, 먼저 캐시에 저장되어 있는 소정의 데이터의 접근빈도 카운트를 읽고(401), 상기 빈도카운트가 한계 치 이하인지 여부를 판단(402)하여, 상기 빈도카운트가 한계 치 이하가 아닌 경우에는 접근빈도카운트를 초기화시킨다(403). 그 후 접근빈도 점검 타이머를 설정(404)하고 복귀(407)한다. 여기서 접근빈도 점검 타이머를 설정하는 방법은 상기 초기화된 시간을 기록하고, 상기 초기화된 시간으로부터 일정한 시간 후에 캐시접근빈도를 점검하기 위한 타이머프로세스가 구동되도록 하면 될 것이다.
한편, 위 참조번호 402단계에서 빈도카운트가 한계 치 이하인 경우에는 해당하는 데이터를 캐시에서 삭제하고 캐시메모리를 로컬 메모리로 회수(405)하며, 캐시에서 상기 해당 데이터가 삭제되었음을 클라이언트 컴퓨터로 통보(406)한다. 그 후에 복귀(407)한다.
도 5는 도 2의 캐시갱신처리 과정의 바람직한 실시예의 흐름도를 보이고 있는 것으로, 이 과정은 도 1A의 서버 컴퓨터에서 관리되는 서버DB상의 소정의 데이터가 갱신된 경우에 상기 데이터가 클라이언트 컴퓨터의 캐시에 저장되어 있는 경우에 상기 캐시에 저장되어 있는 데이터 값을 서버 컴퓨터의 데이터 값과 일치시키기 위해서 클라이언트 컴퓨터에서 수행되는 과정이다.
클라이언트 컴퓨터는 서버 컴퓨터로부터 캐시에 저장되어 있는 소정의 데이터 값을 갱신시킬 것을 요청 받으면 먼저, 캐시에 상기 데이터가 저장되어 있는지를 판단하기 위해 상기 캐시를 검색(501)하여 판단(502)하고, 판단결과 상기 데이터가 존재하면 캐시 상의 상기 데이터 값을 갱신(503)하고 복귀(504)한다.
도 6은 도 5의 캐시갱신처리 과정에 대응하는 서버 컴퓨터에서의 처리과정의 바람직한 실시예의 흐름도를 보이고 있는 것으로, 서버 컴퓨터에서 관리되는 서버 DB상의 데이터 값이 갱신된 경우에 이를 클라이언트 컴퓨터의 캐시에 저장되어 있는 해당하는 데이터 값을 동일하게 일치시키기 위한 과정이다.
서버 컴퓨터의 마스트 미들웨어가 기동되면 API 호출을 접수하기 위한 대기상태로 천이(601)한다. 이때 API 호출이 접수되면(602) 상기 API의 기능이 서버 컴퓨터의 서버 DB상의 데이터를 갱신처리인지를 확인한 후(603), 상기 확인결과 갱신처리와는 상관이 없는 것이면 요구된 API처리를 수행하고(608) 처리 결과를 반환 한 후(609) 다음 처리를 위한 API 접수 대기 상태로 천이한다(610). 한편, 참조번호 603 단계의 확인결과 데이터 갱신 처리이면 데이터 갱신을 수행한 후(604), 상기 갱신된 정보가 클라이언트 컴퓨터의 캐시에 저장되어 있는 정보인지를 캐시정보테이블을 검색하여 확인(605)한다. 상기 확인결과 캐시로 등록되지 않은 상태이면 다음 처리를 위한 대기 상태로 천이하고(610), 캐시로 구성된 정보이면 캐시 정보를 갱신요구를 클라이언트 컴퓨터로 전송한 후(606) 처리 결과를 반환하고(607) 다음 처리를 위한 대기 상태로 천이한다(610).
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 씨디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명에 따르면 클라이언트 컴퓨터에서 빈번하게 필요한 정보를 로컬 캐시를 통하여 제공함으로써 서버 컴퓨터에 접속하여 정보를 읽어 오는 방식에 비하여 짧은 시간 내에 상기 필요한 정보를 제공할 수 있게됨에 따라서 클라이언트 컴퓨터에서 수행되는 응용기능의 처리속도가 빨라지게 되는 효과가 있다. 따라서 본 발명에 따르면 미들웨어 기능을 적용한 분산 시스템의 개별적인 제어 장치의 처리 능력이 향상되고, 시스템 전체적인 성능 역시 향상되게 되는 효과가 있다.
또한 캐시를 구성하기 위한 조건(캐시에 저장할 데이터의 접근빈도수)을 선택적으로 설정할 수 있기 때문에 미들웨어가 적용되는 시스템의 동작 특성에 따라 융통성 있게 캐시를 구성할 수 있는 효과가 있다. 따라서 본 발명은 다양한 목적을 가진 광범위한 분산 시스템에 적용될 수 있게되는 것이다.
특히 본 발명이 적용된 분산제어구조를 갖는 교환시스템은 슬레이브 미들웨어에 본 발명에 따른 캐시를 적용함으로써 정보를 읽을 때 걸리는 시간을 최소화하여 처리시간을 단축함으로써 실시간 처리가 가능해지는 효과가 있다.

Claims (13)

  1. (a) 서버 컴퓨터에서 관리되는 DB의 데이터 중 필요한 데이터를 상기 서버 컴퓨터로부터 전송받아 캐시에 저장하는 단계;
    (b) 상기 서버 컴퓨터에서 관리되는 DB상의 상기 데이터의 값이 변경된 경우에는 그에 따라 상기 캐시에 저장되어 있는 상기 데이터의 값을 변경시키는 단계; 및
    (c) 상기 데이터에 대한 접근빈도를 점검하여 상기 접근빈도수가 소정의 기준이하의 값을 가질 때에는 상기 캐시에서 상기 데이터를 삭제하는 단계를 포함하는 것을 특징으로 하는 캐시 관리방법.
  2. 제1항에 있어서, 상기 (a) 단계는
    (a1) 클라이언트 컴퓨터에서 구동되는 프로세스가 서버 컴퓨터에서 관리되는 DB상의 데이터를 필요로 하는 경우 캐시를 검색하여 상기 데이터가 저장되어 있는지 여부를 판단하는 단계;
    (a2) 클라이언트 컴퓨터에서 상기 검색결과 상기 데이터가 저장되어 있지 않은 경우에는 상기 서버 컴퓨터로부터 상기 데이터를 제공받는 단계; 및
    (a4) 상기 데이터를 상기 캐시에 저장하는 단계를 포함하는 것을 특징으로 하는 캐시 관리방법.
  3. 제2항에 있어서,
    (a5) 상기 캐시에 저장되어 있는 데이터의 목록정보를 상기 클라이언트 컴퓨터에서 상기 서버 컴퓨터로 전송하여 상기 서버 컴퓨터에 상기 목록정보를 제공하는 단계를 더 포함하는 것을 특징으로 하는 캐시 관리방법.
  4. 제1항에 있어서, 상기 (b) 단계는
    (b1) 상기 클라이언트 컴퓨터의 캐시에 저장되어 있는 소정의 데이터에 관한 갱신정보를 상기 서버 컴퓨터로부터 전송받는 단계;
    (b2) 상기 요구를 수신받은 상기 클라이언트 컴퓨터는 상기 캐시에 저장되어 있는 상기 데이터를 갱신하는 단계를 포함하는 것을 특징으로 하는 캐시 관리방법.
  5. 제4항에 있어서, 상기 (b1) 단계는
    상기 클라이언트 컴퓨터는 상기 서버 컴퓨터에서 관리하는 DB상의 데이터가 갱신된 경우에는 상기 데이터가 클라이언트 컴퓨터의 캐시에 저장되어 있는지 여부를 캐시정보 테이블을 참조하여 확인한 상기 서버 컴퓨터로부터 상기 갱신된 데이터를 전송받는 것을 특징으로 하는 캐시 관리방법.
  6. 제1항에 있어서, 상기 (c) 단계는
    (c1) 상기 클라이언트 컴퓨터가 상기 캐시에 소정의 데이터를 최초로 기록하거나 새로운 값으로 갱신시키는 경우에는, 접근빈도 값을 초기화시키고 상기 접근빈도 값을 초기화시킨 시간인 접근빈도 초기화시간을 기록하는 단계;
    (c2) 상기 클라이언트 컴퓨터가 상기 캐시로부터 상기 데이터를 읽는 경우에는, 상기 접근빈도 값을 소정의 값만큼 증가시키는 단계;
    (c3) 상기 접근빈도 초기화시간으로부터 소정의 기준시간이 경과한 후에 상기 접근빈도 값이 소정의 기준값과 비교하는 단계;
    (c4) 상기 비교결과 상기 접근빈도 값이 상기 기준값보다 작은 경우에는 상기 캐시에서 상기 데이터를 삭제하는 단계;
    (c5) 상기 비교결과 상기 접근빈도 값이 상기 기준값보다 크거나 같은 경우에는 상기 접근빈도 값을 새로 초기화시키고 상기 초기화시킨 시간인 초기화시간을 갱신하는 단계를 포함하는 것을 특징으로 하는 캐시 관리방법.
  7. 제6항에 있어서, 상기 (c4) 단계는
    상기 캐시에서 상기 데이터를 삭제한 후에 상기 캐시에 저장되어 있는 데이터 목록정보를 상기 서버 컴퓨터로 전송하는 것을 특징으로 하는 캐시 관리방법.
  8. 적어도 하나 이상의 클라이언트 컴퓨터로 서버 컴퓨터에서 소정의 데이터를 제공하는 방법에 있어서,
    (a) 상기 서버 컴퓨터는 클라이언트 컴퓨터로부터 소정의 데이터에 대한 전송요청을 받고, 자신이 관리하는 데이터베이스를 검색하여 상기 클라이언트 컴퓨터로 상기 데이터를 전송하는 단계;
    (b) 상기 서버 컴퓨터는 상기 클라이언트 컴퓨터로부터 상기 클라이언트 컴퓨터의 캐시에 저장되어 있는 데이터의 목록에 관한 캐시데이터목록정보를 수신받아 저장하는 단계를 포함하는 데이터 제공방법.
  9. 제8항에 있어서, 상기 (a) 단계는
    상기 서버 컴퓨터에서 상기 캐시데이터목록정보에 포함되는 데이터를 갱신한 경우에는 상기 클라이언트 컴퓨터로 상기 갱신된 데이터를 전송하는 것을 특징으로 하는 데이터 제공방법.
  10. 서버 컴퓨터로부터 필요한 데이터 값을 제공받아 캐시에 저장하고, 상기 서버 컴퓨터로부터 상기 데이터의 변경된 값을 제공받아 상기 캐시에 저장되어 있는 상기 데이터의 값을 변경시키며, 상기 데이터에 대한 프로세스의 접근빈도를 점검하여 상기 접근빈도수가 소정의 기준이하의 값을 가질 때에는 상기 캐시에서 상기 데이터를 삭제하며, 상기 캐시에 저장되어 있는 목록정보를 생성시켜 외부에 제공하는 클라이언트 컴퓨터; 및
    상기 클라이언트 컴퓨터로부터 자신이 관리하는 데이터베이스 상의 소정의 데이터에 대한 전송요청을 받고 상기 데이터를 상기 클라이언트 컴퓨터에 제공하며, 상기 클라이언트 컴퓨터의 캐시에 저장된 데이터의 목록을 상기 클라이언트 컴퓨터로부터 제공받아 저장하며, 상기 데이터베이스상의 데이터의 값이 갱신된 경우에는 상기 갱신된 데이터가 상기 목록정보에 포함되는지 여부를 판단하여 포함되는 경우에는 상기 데이터의 갱신된 값을 상기 클라이언트 컴퓨터에 제공하는 서버 컴퓨터를 포함하는 것을 특징으로 하는 캐시관리장치.
  11. 제10항에 있어서, 상기 클라이언트 컴퓨터는
    응용프로세스로부터 요청받은 데이터가 캐시에 저장되어 있는지를 검색하여 확인하고, 상기 데이터가 상기 캐시에 저장되어 있지 않은 경우에는 상기 서버 컴퓨터에 요청하여 제공받아 캐시에 저장하는 캐시데이터 저장 및 검색부;
    상기 캐시에 저장되어 있는 데이터의 목록정보를 생성시켜 상기 서버 컴퓨터에 전송하는 캐시데이터 목록정보생성부; 및
    일정시간 동안 상기 캐시에 저장되어 있는 데이터가 사용된 횟수를 점검하여상기 사용된 횟수가 소정의 기준치이하인 경우에는 해당하는 데이터를 캐시에서 삭제하는 접근빈도점검부를 포함하는 것을 특징으로 하는 캐시관리장치.
  12. 제10항에 있어서, 상기 서버 컴퓨터는
    상기 클라이언트 컴퓨터로부터 소정의 데이터를 전송하여 줄 것을 요청받은 데이터를 상기 클라이언트 컴퓨터에 제공하고, 상기 서버 컴퓨터에서 관리되는 데이터가 갱신된 경우에 상기 갱신된 데이터가 상기 클라이언트 컴퓨터의 캐시에 저장되어 있는 데이터인지를 확인하여 상기 갱신된 데이터를 상기 클라이언트 컴퓨터에 제공하는 데이터제공부; 및
    상기 클라이언트 컴퓨터로부터 상기 클라이언트 컴퓨터의 캐시에 저장되어 있는 데이터 목록정보를 수신하여 저장하는 캐시정보 관리부를 포함하는 것을 특징으로 하는 캐시관리장치.
  13. 제1항 내지 제6항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020010085037A 2001-12-26 2001-12-26 선택적인 캐시관리방법 및 장치 KR20030055482A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010085037A KR20030055482A (ko) 2001-12-26 2001-12-26 선택적인 캐시관리방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010085037A KR20030055482A (ko) 2001-12-26 2001-12-26 선택적인 캐시관리방법 및 장치

Publications (1)

Publication Number Publication Date
KR20030055482A true KR20030055482A (ko) 2003-07-04

Family

ID=32213397

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010085037A KR20030055482A (ko) 2001-12-26 2001-12-26 선택적인 캐시관리방법 및 장치

Country Status (1)

Country Link
KR (1) KR20030055482A (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040076313A (ko) * 2003-02-25 2004-09-01 이승룡 버퍼 캐시 분할 관리 방법
KR100496159B1 (ko) * 2002-06-29 2005-06-20 주식회사 케이티 유용성 기반의 질의 결과 캐쉬 관리 방법
KR100681475B1 (ko) * 2004-08-13 2007-02-12 손호석 셋탑박스의 성능 및 보안성 향상을 위한 내장형 데이터베이스 시스템 및 설정 방법
US7895266B2 (en) 2007-09-07 2011-02-22 Samsung Electronics Co., Ltd. Distributed file system and method of replacing cache data in the distributed file system
KR20110080479A (ko) * 2010-01-06 2011-07-13 주식회사 태진인포텍 멀티 레벨 버퍼 캐시 관리 정책에 따른 메모리 관리 방법
KR101981200B1 (ko) * 2017-12-15 2019-05-23 주식회사 이노룰스 서비스상품의 기준정보를 제공하는 시스템 및 그 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1011048A2 (en) * 1998-12-17 2000-06-21 Fujitsu Limited cache controlling apparatus for dynamically managing data between cache modules and method thereof
US6237065B1 (en) * 1999-05-14 2001-05-22 Hewlett-Packard Company Preemptive replacement strategy for a caching dynamic translator
US6272598B1 (en) * 1999-03-22 2001-08-07 Hewlett-Packard Company Web cache performance by applying different replacement policies to the web cache
KR100383407B1 (ko) * 2001-03-31 2003-05-12 주식회사 아라기술 적응형 캐쉬 교체 방법
KR20030053285A (ko) * 2001-12-22 2003-06-28 엘지전자 주식회사 웹 캐쉬 대체 구조 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1011048A2 (en) * 1998-12-17 2000-06-21 Fujitsu Limited cache controlling apparatus for dynamically managing data between cache modules and method thereof
US6272598B1 (en) * 1999-03-22 2001-08-07 Hewlett-Packard Company Web cache performance by applying different replacement policies to the web cache
US6237065B1 (en) * 1999-05-14 2001-05-22 Hewlett-Packard Company Preemptive replacement strategy for a caching dynamic translator
KR100383407B1 (ko) * 2001-03-31 2003-05-12 주식회사 아라기술 적응형 캐쉬 교체 방법
KR20030053285A (ko) * 2001-12-22 2003-06-28 엘지전자 주식회사 웹 캐쉬 대체 구조 및 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100496159B1 (ko) * 2002-06-29 2005-06-20 주식회사 케이티 유용성 기반의 질의 결과 캐쉬 관리 방법
KR20040076313A (ko) * 2003-02-25 2004-09-01 이승룡 버퍼 캐시 분할 관리 방법
KR100681475B1 (ko) * 2004-08-13 2007-02-12 손호석 셋탑박스의 성능 및 보안성 향상을 위한 내장형 데이터베이스 시스템 및 설정 방법
US7895266B2 (en) 2007-09-07 2011-02-22 Samsung Electronics Co., Ltd. Distributed file system and method of replacing cache data in the distributed file system
KR20110080479A (ko) * 2010-01-06 2011-07-13 주식회사 태진인포텍 멀티 레벨 버퍼 캐시 관리 정책에 따른 메모리 관리 방법
KR101981200B1 (ko) * 2017-12-15 2019-05-23 주식회사 이노룰스 서비스상품의 기준정보를 제공하는 시스템 및 그 방법

Similar Documents

Publication Publication Date Title
US10785322B2 (en) Server side data cache system
JP4704161B2 (ja) ファイルシステムの構築方法
US7797275B2 (en) System and method of time-based cache coherency maintenance in user file manager of object-based storage system
US9940042B2 (en) Distributed storage system, and data-access method therefor
US20130055371A1 (en) Storage control method and information processing apparatus
US6711559B1 (en) Distributed processing system, apparatus for operating shared file system and computer readable medium
EP3076307A1 (en) Method and device for responding to a request, and distributed file system
CN103620549A (zh) 用于统一数据存储的存储介质抽象
US20070156763A1 (en) Storage management system and method thereof
US20060123207A1 (en) Disk system having function of virtualizing logical disk in portable storage device
CN109359063A (zh) 面向存储系统软件的缓存置换方法、存储设备及存储介质
CN109165078B (zh) 一种虚拟分布式服务器及其访问方法
KR20030055482A (ko) 선택적인 캐시관리방법 및 장치
US20210382863A1 (en) Use of time to live value during database compaction
US7831623B2 (en) Method, system, and article of manufacture for storing device information
US20200387412A1 (en) Method To Manage Database
US7284014B2 (en) Pre-fetch computer system
CN110209343B (zh) 数据存储方法、装置、服务器及存储介质
KR100952599B1 (ko) 로컬디스크를 캐쉬로 이용하는 사용자 컴퓨터, 그를이용하는 방법 및 하이브리드 네트워크 스토리지 시스템
CN112578996B (zh) 一种存储系统的元数据的发送方法及存储系统
US7130931B2 (en) Method, system, and article of manufacture for selecting replication volumes
KR100324276B1 (ko) 교환기에서 데이터베이스 관리 시스템의 데이터 백업 방법
US11269736B2 (en) Method to manage database failure
KR20030013815A (ko) 하드 디스크 시스템
KR100282207B1 (ko) 다중 계층 데이터 통합 시스템에서의 캐쉬 관리 방법

Legal Events

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