KR20000018923A - Memory managing method and a device for information searching system for plurality of users - Google Patents

Memory managing method and a device for information searching system for plurality of users Download PDF

Info

Publication number
KR20000018923A
KR20000018923A KR1019980036774A KR19980036774A KR20000018923A KR 20000018923 A KR20000018923 A KR 20000018923A KR 1019980036774 A KR1019980036774 A KR 1019980036774A KR 19980036774 A KR19980036774 A KR 19980036774A KR 20000018923 A KR20000018923 A KR 20000018923A
Authority
KR
South Korea
Prior art keywords
memory
pool
search
manager
memory pool
Prior art date
Application number
KR1019980036774A
Other languages
Korean (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 정선종
Priority to KR1019980036774A priority Critical patent/KR20000018923A/en
Publication of KR20000018923A publication Critical patent/KR20000018923A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PURPOSE: A memory managing method and the device is provided to enhance the speed of applied program and memory usage by using the memory in the operative usage while operating as client/server and to enhance the speedy information search. CONSTITUTION: The device comprises a search client(100) which provides a user searching interface and which requests search at the server; a search engine(220) which searches the index data stored at the hard disk(400) and carries out the search result; and a memory manager(210) which manages and stores usable memory using the memory pool index (311) and the data type(312) according to the request of memory search engine. The search engine(220) detects the necessary data by searching the index data existing in the hard disk(400).

Description

다 사용자용 정보검색 시스템을 위한 메모리 관리방법 및 그 장치Memory management method and apparatus for multi-user information retrieval system

본 발명은 클라이언트/서버의 형태를 이루는 다 사용자용 정보검색시스템에서 운영체제시스템(Operating System, 이하 OS라 칭함) 동적 메모리 할당을 배제한 메모리 관리방법 및 그 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory management method and apparatus for excluding dynamic memory allocation from an operating system (OS) in a multi-user information retrieval system in the form of a client / server.

종래의 정보검색시스템에서는 중간 검색 결과를 유지하기 위해 각각의 중간 검색 결과에 대해 메모리를 동적으로 할당받는 방법을 사용하고 있다.The conventional information retrieval system uses a method of dynamically allocating memory for each intermediate search result in order to maintain the intermediate search result.

한편, 선행논문으로 기술정보 학술대회 논문집에 게재된 "정보검색시스템 KRISTAL-Ⅱ[저자 조현양 외 6, pp. 47-69, 1997.10.16]"에서는 가변 길이의 비정형 텍스트 문서들에 대한 저장과 접근 방법 제공을 통한 검색 시스템의 개발을 위해 블롭을 이용한 객체관리를 하는 커널, 문서와 색인 데이터를 관리하는 저장엔진, 대량의 데이터베이스를 여러 개의 볼륨에 분산 저장하는 파일 카탈로그와 데이터베이스의 문서를 구성하는 섹션들의 정보를 유지하는 섹션 카탈로그와 결합 섹션 카탈로그로 구성된 카탈로그 관리기, 시스템 관리자에 의해 작성된 데이터베이스 스키마 정보를 생성하여 시스템 카탈로그에 기록하는 데이터베이스 관리기, 카탈로그 관리기와 저장 엔진을 이용하여 부울 모델에 의해 작성된 사용자의 질의를 만족하는 문서들을 데이터베이스로 부터 검색하는 검색엔진 등으로 구성함으로써, 검색 시스템 하부에 데이터베이스를 사용함에 따른 대용량의 데이터에 대한 저장/색인/검색이 가능할 수 있으나, 메모리 관리에 대한 언급이 전혀 없으므로 메모리 관리기를 통한 검색 속도 향상과 메모리의 효율적인 관리에 있어서 문제점이 따른다.On the other hand, "Retrieval system KRISTAL-Ⅱ [author Cho Hyun-yang et al. 6, pp. 47-69, 1997.10.16]" published in a technical paper conference as a preceding paper, the storage and storage of unstructured text documents of variable length Kernel that manages object using blob for development of retrieval system through providing approach, storage engine that manages document and index data, file catalog and database document that store large database in several volumes A catalog manager, consisting of a section catalog, which combines section catalogs to maintain information of sections, a database manager that creates database schema information created by the system administrator and writes it to the system catalog, a user created by the Boolean model using the catalog manager and storage engine Documents that satisfy the query It is possible to save / index / search for large amounts of data by using a database under the search system. However, since there is no mention of memory management, it is possible to improve the search speed through the memory manager. There is a problem in the efficient management of memory.

또한, 선행특허로 미국특허 "Multiprocessor memory management method[권리권자 Bishop; Thomas P. 외 4인, 등록번호 941703, 1989.3.7]"는 논리적으로 두 부분으로 나누어지지 않고 공유되지 않는 자신의 메모리를 가진 다수의 프로세서를 가진 다중 프로세서 시스템에서, 각각의 프로세서 메모리 요구를 하는 프로세서들에게 효과적으로 메모리를 할당시켜주는 메모리 할당 방법을 위해 각각의 프로세서가 자신의 메모리를 가지고 있고, 응용프로그램을 수행하는 프로세스는 프로그램 수행을 위해 프로세서에게 메모리를 요구하면 프로세서들은 공유되지 않는 논리적으로 두 부분으로 나누어진 프로세스들의 메모리 요구를 만족시켜줌으로써 다중 프로세서 환경에서 프로세스들의 메모리 관리 요구를 효과적으로 처리할 수 있으나, 다 사용자용 정보검색 시스템에서의 메모리관리 효과를 기대하기는 어려운 문제점이 따른다.Also, as a prior patent, the US patent "Multiprocessor memory management method [right holder Bishop; Thomas P. et al. 4, registration number 941703, 1989.3.7]" has its own memory that is not logically divided into two parts and shared. In a multiprocessor system with multiple processors, each processor has its own memory for a memory allocation method that effectively allocates memory to the processors that make each processor memory request. Requiring memory from a processor for execution can effectively handle the memory management requirements of processes in a multiprocessor environment by satisfying the memory requirements of two logically unshared processes. Menu in the system Lee managed to look forward to effective follow this difficult problem.

일반적으로 메모리를 할당받는 방법은 시스템 콜(system call)을 사용하는데, 메모리 할당 시스템 콜은 많은 시간을 필요로 한다.In general, the method of allocating memory uses a system call, which requires a lot of time.

따라서 이 방법을 사용하면 메모리를 할당받는 횟수에 비례해서 검색속도가 현저하게 줄어들기 때문에 소규모의 검색 셀에 대해서는 유용하겠지만 대용량의 검색 셀에 대해서는 사용하기에는 적합하지 못한 문제점이 따른다.Therefore, this method reduces the search speed in proportion to the number of memory allocations, which is useful for small search cells, but not suitable for large search cells.

상기 문제점을 해결하기 위해 본 발명은, 다 사용자용 정보검색시스템에서 메모리 관리기를 사용하여 대용량의 데이터룰 검색할 때 검색 속도를 향상시키고, 검색 과정에서 메모리의 사용을 효율적으로 수행하는 것을 목적으로 한다.In order to solve the above problems, an object of the present invention is to improve the search speed when searching a large data rule using a memory manager in a multi-user information retrieval system, and to efficiently use the memory in the retrieval process. .

본 발명에서는 클라이언트/서버의 형태를 이루는 검색 시스템에서 서버가 초기 수행될 때 검색 결과를 처리하기 위한 메모리를 할당받아 메모리 풀(pool)을 만든다.In the present invention, when a server is initially performed in a search system in the form of a client / server, a memory pool is created by allocating memory for processing a search result.

검색을 수행하기 위해 사용자는 검색 클라이언트를 이용해 정보를 찾기 위한 질의를 생성하게 되고, 생성된 질의는 서버로 전달된다.In order to perform a search, a user generates a query to find information using a search client, and the generated query is transmitted to a server.

서버에서는 질의에 포함된 각각의 키워드(keyword)에 대해 적합한 문서의 셋(set)을 색인 정보로부터 검색한다.The server retrieves a set of appropriate documents from the index information for each keyword included in the query.

이때 각각의 키워드에 대한 검색 결과가 존재하면 검색결과를 저장해야 할 필요가 발생하며, 저장 공간을 확보하기 위해서 검색기에서는 메모리 관리기에 필요한 메모리를 요청해 얻게 된다.At this time, if a search result for each keyword exists, it is necessary to store the search result. In order to secure the storage space, the searcher requests a memory required for the memory manager.

메모리 관리기는 자체 알고리즘을 통해 검색기의 메모리 요청에 응답한다.The memory manager responds to the searcher's memory request through its algorithm.

메모리 요청을 동시에 다수의 사용자가 클라이언트를 통해 발생시키므로 메모리 관리기는 라킹(locking) 메커니즘을 통해 둘 이상의 사용자가 같은 메모리를 사용할 수 없도록 한다.Since memory requests are issued by the client simultaneously by multiple users, the memory manager uses a locking mechanism to prevent more than one user from using the same memory.

사용이 끝난 메모리는 메모리 관리기에 되돌려지게 되어 다른 사용자의 검색 요구시에 다시 사용될 수 있다.The used memory is returned to the memory manager so that it can be used again when another user's search request is made.

메모리 관리기가 관리하는 메모리 풀(pool)은 서버가 종료될 때 일괄적으로 시스템에 되돌려진다.The memory pool managed by the memory manager is returned to the system in batches when the server shuts down.

도 1은 본 발명이 적용되는 메모리 관리 장치 블럭 구성도,1 is a block diagram of a memory management apparatus to which the present invention is applied;

도 2는 본 발명에 따른 메모리 관리기에 대한 블럭 구성도,2 is a block diagram illustrating a memory manager according to the present invention;

도 3은 본 발명에 따른 메모리 관리방법 처리 흐름도.3 is a flowchart illustrating a memory management method according to the present invention;

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

100 : 검색 클라이언트 200 : 검색 서버100: search client 200: search server

210 : 메모리 관리기 211 : 동시성 제어 모듈210: memory manager 211: concurrency control module

212 : 메모리 관리기 제어 모듈 213 : 오버플로우 처리 모듈212: memory manager control module 213: overflow processing module

214 : 가변 메모리 풀 관리 모듈 215 : 메모리 할당 해제 모듈214: variable memory pool management module 215: memory deallocation module

216 : 데이터 타입 모듈 217 : 메모리 관리 풀 인덱스 관리 모듈216: data type module 217: memory management pool index management module

220 : 검색 엔진 300 : 메인 메모리220: search engine 300: main memory

310 : 메모리 풀 311 : 메모리 풀 인덱스310: memory pool 311: memory pool index

312 : 데이터 유형 400 : 하드 디스크312: Data Type 400: Hard Disk

410 : 색인 데이터410 index data

상기 목적을 달성하기 위해 본 발명은, 다수의 검색 클라이언트로부터 검색 요구에 대해 요구된 검색 모델에 따라 하드디스크에 저장된 색인 데이터를 검색해 필요한 데이터를 추출해 추출한 데이터의 조합/가중치 부여/랭킹을 수행하는 다수개의 검색 엔진, 검색 엔진의 요구에 대해 요구한 데이터 유형과 메모리 풀 인덱스를 구비한 메모리 풀을 가진 메인 메모리에서 사용가능한 메모리를 찾아 상기 검색 엔진에 전달하는 메모리 관리기로 이루어진 검색 서버를 포함하는 것을 특징으로 한다.In order to achieve the above object, the present invention provides a plurality of search clients that perform index combination / weighting / ranking of extracted data by searching index data stored on a hard disk according to a search model required for a search request. Search engine, a search server comprising: a memory manager for finding available memory in main memory having a memory pool having a data type requested by the search engine and a memory pool index, and delivering the available memory to the search engine It is done.

이하 첨부된 도면을 참조하여 본 발명을 상세히 설명하면 다음과 같다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 1 은 본 발명이 적용되는 메모리 관리 장치 블럭 구성도로서 검색 클라이언트/서버로 구성된 다 사용자용 정보검색시스템에서 빠른 검색 속도을 제공하기 위해 본 발명에서 제안하는 메모리 관리 장치는, 사용자 검색 인터페이스를 제공하고 서버에 검색을 요청하는 검색 클라이언트(100), 검색 모델에 따라 하드디스크(400)에 저장된 색인 데이터(410)를 검색해 그 결과의 조합/가중치 부여/랭킹을 수행하는 검색 엔진(220), 메인 메모리에 위치한 메모리 풀(310)에서 검색 엔진의 메모리 요구에 대한 데이터유형(312)과 메모리 풀 인덱스(311)를 이용해 사용가능한 메모리를 제공 및 관리하는 메모리 관리기(210)를 구비하여 상기 검색 클라이언트의 검색 요구에 대해 검색을 수행하는 검색 서버(200)로 이루어진다.1 is a block diagram illustrating a memory management apparatus to which the present invention is applied. The memory management apparatus proposed by the present invention provides a user search interface for providing a fast search speed in a multi-user information retrieval system composed of a search client / server. A search client 100 requesting a search to a server, a search engine 220 for searching the index data 410 stored in the hard disk 400 according to a search model, and performing combination / weighting / ranking of the results and a main memory A memory manager 210 that provides and manages available memory using a data type 312 for memory requirements of a search engine and a memory pool index 311 in a memory pool 310 located at It consists of a search server 200 that performs a search for the request.

상기 검색 클라이언트(100)의 검색 요구가 검색 서버(200)에서 발생하면 검색 서버는 하나의 검색 엔진을 실행시킨다.When a search request of the search client 100 occurs in the search server 200, the search server executes one search engine.

검색 엔진(220)은 요구된 검색을 수행하기 위해 검색 질의에 포함된 각각의 키워드에 대해 하드 디스크(400)에 존재하는 색인 데이터(410)를 검색하여 필요한 데이터를 추출한다.The search engine 220 searches the index data 410 present in the hard disk 400 for each keyword included in the search query to extract the required data in order to perform the requested search.

추출한 데이터를 저장하기 위해 검색엔진(220)은 메모리 관리기(210)에게 필요한 메모리를 요구하게 되고 메모리 관리기(210)는 메모리 풀(310)에 존재하는 사용 가능 메모리를 찾아 검색 엔진(220)에 전달한다.In order to store the extracted data, the search engine 220 requests a memory required by the memory manager 210, and the memory manager 210 searches for available memory existing in the memory pool 310 and delivers it to the search engine 220. do.

검색 엔진(220)은 각각의 키워드의 검색 결과를 처리하기 위해 계속해서 상기 메모리 관리기(210)에 메모리를 요구하게 된다.The search engine 220 continues to request memory from the memory manager 210 to process the search results of each keyword.

모든 키워드에 대해 검색이 수행되면 검색엔진(220)은 검색한 결과를 조합하고 가중치를 부여하여 랭킹한 결과를 검색을 요구한 검색 클라이언트(100)에 전달하면서 하나의 검색이 완료된다.When the search is performed for all the keywords, the search engine 220 combines and weights the searched results and delivers the ranking results to the search client 100 requesting the search.

이때 다수의 검색 클라이언트(100)가 하나의 검색 서버(200)에 검색 요구를 발생시키므로 검색 서버(200)는 N개의 검색 엔진(220)을 실행시키고 각각의 검색엔진(220)은 하나의 메모리 관리기(210)를 통해 필요한 메모리를 얻어 검색을 수행하게 된다.In this case, since a plurality of search clients 100 generate a search request to one search server 200, the search server 200 executes N search engines 220, and each search engine 220 has one memory manager. Through 210, a required memory is obtained to perform a search.

도 2 는 본 발명에 따른 메모리 관리기에 대한 블럭 구성도로서, 메모리 관리기(210)는 동시성 제어 모듈(211), 메모리 관리기 제어 모듈(212), 오버플로우(overflow) 처리 모듈(213), 가변 메모리 풀 관리 모듈(214), 메모리 할당/해제 모듈(215), 데이터 타입 관리 모듈(216), 메모리 풀 인덱스 관리 모듈(217)로 구성된다.2 is a block diagram of a memory manager according to the present invention, in which the memory manager 210 includes a concurrency control module 211, a memory manager control module 212, an overflow processing module 213, and a variable memory. The pool management module 214, the memory allocation / release module 215, the data type management module 216, and the memory pool index management module 217 are configured.

상기 동시성 제어 모듈(211)은 메모리 풀(310)에 존재하는 메모리에 대한 무결성을 보장하기 위하여 동시성 제어 기능을 수행하는데, 다수의 메모리에 대한 요청이 동시 다발적으로 발생할 경우 메모리 풀(310)에 존재하는 메모리를 접근하는 연산에 대한 직열성이 보장되지 않으면 메모리 풀(310)의 내용에 결함이 발생한다.The concurrency control module 211 performs a concurrency control function to ensure the integrity of the memory existing in the memory pool 310. When a request for a plurality of memories occurs simultaneously, the concurrency control module 211 If the seriality of the operation that accesses the existing memory is not guaranteed, a defect occurs in the contents of the memory pool 310.

이때, 직열성이 보장되도록 메모리 풀(310)을 접근하는 연산이란 각 연산의 시작과 종료 사이에 아무런 방해나 중단이 발생하지 않는 것을 보장하는 연산을 의미한다.In this case, the operation of approaching the memory pool 310 to guarantee the directivity means an operation that guarantees that no interruption or interruption occurs between the start and end of each operation.

따라서, 이러한 직열성 보장의 연산을 위하여 유닉스(UNIX)의 오퍼레이팅 시스템에서 제공하는 세마포어(semaphore)를 사용하여 동시성 제어를 수행한다.Therefore, concurrency control is performed by using semaphores provided by the operating system of UNIX.

메모리 관리기 제어 모듈(212)은 검색 엔진(220)으로부터 메모리 관리기(210)로 발생한 요구를 제어하는 모듈이다.The memory manager control module 212 is a module for controlling a request generated from the search engine 220 to the memory manager 210.

메모리 관리기(210)에 발생되는 일은 크게 네가지인데, 첫째로 메모리 풀에 있는 메모리 요구, 둘째로 사용이 끝난 메모리의 메모리 풀로의 반납, 셋째로 메모리 관리기의 초기화, 넷째로 메모리 관리기의 실행 종료이다.There are four major things happening in the memory manager 210: first, the memory request in the memory pool, second, the return of the used memory to the memory pool, third, the initialization of the memory manager, and fourth, the execution of the memory manager.

상기 오버플로우(overflow) 처리 모듈(213)은 메모리 풀에 더 이상 사용가능한 메모리가 없을 때 처리하는 모듈이다.The overflow processing module 213 is a module that processes when there is no more memory available in the memory pool.

더 이상 사용가능한 메모리가 없는 상태에서 메모리 요구가 들어오면 오버플로우 처리모듈(213)은 새로운 메모리를 할당가능한지 체크한다.When a memory request comes in when there is no more memory available, the overflow processing module 213 checks whether a new memory can be allocated.

만약 메모리 관리기(210)가 초기에 설정한 하나의 블럭만 사용하도록 되어 있다면 더 이상 사용가능한 메모리가 없다는 메시지를 메모리를 요구한 검색엔진(220)에 넘겨준다.If the memory manager 210 is configured to use only one block initially set, the memory manager 210 sends a message to the search engine 220 requesting the memory that there is no more memory available.

그러나 메모리 관리기(210)가 여러개의 메모리 블럭을 사용하도록 설정되어 있다면 가변 메모리 풀 관리 모듈(214)을 호출해 새로운 M개의 메모리 블럭을 시스템으로부터 할당받는다.However, if the memory manager 210 is configured to use multiple memory blocks, the variable memory pool management module 214 is called to allocate new M memory blocks from the system.

가변 메모리 풀 관리 모듈(214)은 더 이상 사용 가능한 메모리가 풀에 있지 않은 상황에서 새로운 메모리 요구에 대해 대처하는 기능을 한다.The variable memory pool management module 214 functions to cope with new memory requests in situations where no more available memory is in the pool.

즉 동적으로 시스템으로부터 메모리를 할당받아 메모리 관리기(210)가 정상적으로 작동하도록 함으로서 유연한 메모리 관리를 수행하도록 한다.That is, the memory manager 210 operates normally by dynamically allocating memory from the system to perform flexible memory management.

가변 메모리 풀 관리 모듈(214)을 사용함에 따라 메모리 관리기가 처음으로 시작할 때 많은 메모리를 초기화해서 사용하지 않아도 됨으로써 효율적인 메모리 관리가 이루어질 수 있다.The use of the variable memory pool management module 214 enables efficient memory management by eliminating the need to initialize and use much memory when the memory manager first starts.

메모리 할당/해제 모듈(215)은 시스템으로부터 메모리를 할당받아 메모리 풀(310)을 생성하고 메모리 관리기 종료시 할당받은 메모리를 메모리 풀(310)로부터 시스템에 반납하는 기능을 수행한다.The memory allocation / release module 215 generates a memory pool 310 by allocating memory from the system and performs a function of returning the allocated memory from the memory pool 310 to the system at the end of the memory manager.

메모리 할당은 메모리 관리기(210)가 시작할 때와 메모리 요구시 더 이상 사용 가능한 메모리가 메모리 풀(310)에 존재하지 않을 때 일어나며 메모리 해제는 메모리 관리기(210)의 종료시에 일어난다.Memory allocation occurs at the start of the memory manager 210 and at the memory request when no more memory is available in the memory pool 310 and memory release occurs at the end of the memory manager 210.

데이터 타입 관리 모듈(216)은 메모리 관리기(210)에서 취급하는 메모리에 저장되는 데이터 타입에 대한 관리를 수행하는 모듈로서 임의의 타입의 데이터를 위한 메모리 요구에 메모리 관리기(210)가 대처하도록 하는 기능을 수행한다.The data type management module 216 is a module that manages data types stored in a memory handled by the memory manager 210, and allows the memory manager 210 to respond to memory requests for any type of data. Do this.

메모리 풀 인덱스 관리 모듈(217)은 메모리 풀(310)에 존재하는 메모리들의 사용상태를 나타내는 메모리 풀 인덱스(311)를 관리하는 기능을 수행한다.The memory pool index management module 217 manages a memory pool index 311 indicating a state of use of memories existing in the memory pool 310.

메모리 요구나 반납시에는 반드시 메모리 풀 인덱스(311)를 참조해야 하므로 메모리 풀 인덱스(311)는 빠른 속도로 검색이 가능해야 한다.Since the memory pool index 311 must be referred to at the time of a memory request or return, the memory pool index 311 should be searchable at a high speed.

이에 메모리 풀 인덱스(311)와 부가적으로 메모리 풀(310)에서 사용가능한 메모리를 가리키는 포인터를 유지함으로써 메모리 요구시 바로 사용가능한 메모리를 제공할 수 있다.Accordingly, the memory pool index 311 and additionally, a pointer indicating the memory available in the memory pool 310 may be maintained to provide a memory that is readily available upon request.

또한 하나의 데이터 타입에 대한 요구뿐만 아니라 같은 타입의 여러개의 데이터를 한번에 제공하는 기능도 함께 수행한다.In addition to the request for a single data type, it also provides the function of providing multiple data of the same type at once.

도 3 은 본 발명에 따른 메모리 관리방법 처리 흐름도로서, 메모리 관리기(210)에 요구되는 일은 크게 메모리 풀(311)에 있는 메모리 요구, 사용이 끝난 메모리의 메모리 풀(311)로의 반납, 메모리 관리기(210)의 초기화, 메모리 관리기(210)의 실행 종료의 네가지이다.3 is a flowchart illustrating a memory management method according to the present invention, in which the memory manager 210 requires a large number of requests for memory in the memory pool 311, returning used memory to the memory pool 311, and a memory manager ( There are four phases of initialization of 210 and termination of execution of memory manager 210.

첫번째로, 메모리 요구가 발생하는지 판단하여(S1) 발생하면, 우선 메모리 풀에 대한 동시성 처리를 시작한다(S2).First, it is determined whether a memory request occurs (S1), and if so, first, concurrency processing for the memory pool is started (S2).

그리고 요구된 메모리의 유형이 무엇인지 체크하고(S3) 그 유형에 맞는 사용 가능 메모리가 메모리 풀에 있는지 판단한다(S4).Then, it checks what type of memory is requested (S3) and determines whether there is an available memory for that type in the memory pool (S4).

판단 후 만약 메모리 풀에 사용 가능 메모리가 존재한다면 하나의 메모리를 꺼내고(S5) 메모리 풀의 상태를 유지하는 메모리 풀 인덱스를 변경하여(S6) 인덱스와 메모리 풀의 상태를 일치시킨 후 새로운 요구가 메모리 풀에 대해 가능하도록 동시성 처리를 종료한다(S7).After the determination, if there is available memory in the memory pool, one memory is taken out (S5) and the memory pool index that maintains the state of the memory pool is changed (S6) to match the state of the index and the memory pool, and then a new request is made. The concurrency process ends so as to enable the pool (S7).

따라서 메모리를 요구한 검색엔진은 필요한 메모리를 얻게되어(S8) 계속해서 다음 작업을 진행하게 된다.Therefore, the search engine requesting the memory obtains the required memory (S8) and continues to the next task.

만약 메모리 풀에 사용가능 메모리가 존재하지 않으면 새로운 메모리를 할당하는 조건을 만족하는지 판단한다(S9).If the available memory does not exist in the memory pool, it is determined whether a condition for allocating a new memory is satisfied (S9).

새로운 메모리 할당 조건은 현재 할당된 메모리 블럭의 개수가 최대 할당 블럭의 개수를 넘지 않았는가이다.The new memory allocation condition is whether the number of currently allocated memory blocks exceeds the maximum number of allocated blocks.

이때 응용에 따라서 처음에 한번만 메모리 블럭을 할당하는 경우가 가능하다.At this time, depending on the application, it is possible to allocate a block of memory only once.

그러나 여러번 메모리 블럭을 할당하는 경우라면 가변 메모리 풀 관리가 필요하게 된다.However, variable memory pool management is required when allocating multiple memory blocks.

새로운 메모리 할당 조건을 만족하지 않으면 에러 메시지를 출력(S10)하고 메모리 관리기를 종료하며, 만약 만족한다면 새로운 M개의 메모리 블럭은 시스템으로부터 할당받는다(S11).If the new memory allocation condition is not satisfied, an error message is output (S10) and the memory manager is terminated. If satisfied, new M memory blocks are allocated from the system (S11).

이렇게 되면 메모리 풀에 사용가능 메모리가 존재하게 되고 필요한 메모리를 얻게 된다(S12).In this case, available memory exists in the memory pool and the required memory is obtained (S12).

이후 메모리 풀의 상태를 유지하는 메모리 풀 인덱스를 변경하여(S6) 인덱스와 메모리 풀의 상태를 일치시킨 후 새로운 요구가 메모리 풀에 대해 가능하도록 동시성 처리를 종료하며(S7) 메모리를 요구한 검색 엔진에 필요한 메모리를 넘겨준다(S8).After that, the memory pool index that maintains the state of the memory pool is changed (S6) to match the state of the index and the memory pool, and then the concurrency processing is terminated so that a new request is possible for the memory pool (S7). Pass the memory required for (S8).

두번째로, 상기 메모리 요구 발생 판단(S1) 후 발생하지 않으면 메모리 반납 요구가 발생하는지 판단하여(S13) 발생하면 동시성 처리를 시작하고(S14), 반납될 메모리를 메모리 풀에 반납하고(S15) 메모리 풀의 상태를 유지하는 메모리 풀 인덱스를 변경하여(S16) 인덱스와 메모리 풀의 상태를 일치시킨 후 새로운 요구가 메모리 풀에 대해 가능하도록 동시성 처리를 종료한다(S17).Secondly, if it does not occur after the memory request occurrence determination (S1), it is determined whether a memory return request occurs (S13). If so, the concurrency process is started (S14), and the memory to be returned is returned to the memory pool (S15). After changing the memory pool index maintaining the state of the pool (S16) to match the state of the index and the memory pool, the concurrency process is terminated so that a new request is possible for the memory pool (S17).

반납된 메모리는 이후 검색 엔진의 요구에 의해 재사용이 가능해진다.The returned memory can then be reused at the request of a search engine.

세번째로, 상기 판단(S13) 후 메모리 반납 요구가 발생하지 않으면 메모리 관리기 초기화 요구가 발생하는지를 판단하여(S18) 메모리 관리기 초기화 요구가 발생하면 N개의 메모리 블럭을 시스템으로부터 할당받아 메모리 풀을 생성하고(S19), 또한 메모리 풀의 상태를 나타내는 메모리 풀 인덱스도 생성한(S20) 후 메모리 풀의 상태와 마찬가지로 메모리 풀 인덱스를 초기 상태로 만든다(S21).Third, if the memory return request does not occur after the determination (S13), it is determined whether a memory manager initialization request occurs (S18). When a memory manager initialization request occurs, N memory blocks are allocated from the system to generate a memory pool (S18). In operation S19, a memory pool index indicating a state of the memory pool is also generated (S20), and then the memory pool index is initialized as in the state of the memory pool (S21).

네번째로, 초기화 요구가 발생하지 않아 메모리 관리기 종료 요구가 발생하면, 메모리 풀의 모든 메모리를 원래대로 시스템에게 반납하고(S22) 메모리 인덱스를 삭제(S23)한 후 메모리 관리기를 종료한다.Fourth, when the memory manager termination request occurs because the initialization request does not occur, all memory in the memory pool is returned to the system (S22), the memory index is deleted (S23), and the memory manager is terminated.

상술한 바와 같이 본 발명의 다 사용자용 정보검색시스템을 위한 메모리 관리 장치 및 그 방법은, 정보 검색 시스템에서 빠른 검색 속도를 기대할 수 있으며, 클라이언트/서버로 동작하면서 많은 메모리를 동적으로 사용하는 응용에 활용한다면 메모리 사용과 응용 프로그램 속도를 향상시킬 수 있는 효과를 가진다.As described above, the memory management apparatus and method for a multi-user information retrieval system of the present invention can be expected in a fast retrieval speed in the information retrieval system, and is used for applications that dynamically use a lot of memory while operating as a client / server. Doing so has the effect of improving memory usage and application speed.

Claims (8)

클라이언트/서버로 구성되어 다수의 클라이언트로부터의 검색 요구에 대응하여 다수의 검색 엔진을 실행시켜 그 검색 결과를 저장하는 메모리를 관리하기 위한 다 사용자 정보 검색 시스템의 메모리 관리 장치에 있어서,A memory management apparatus of a multi-user information retrieval system configured as a client / server for managing a memory for storing a search result by executing a plurality of search engines in response to a search request from a plurality of clients, 검색 서버의 시작시에 시스템으로부터 메모리를 할당받아 메인 메모리내에 데이터 유형별 메모리와 그 데이터 유형별 메모리의 사용상태를 알기 위한 메모리 풀 인덱스를 포함하는 메모리 풀을 생성하고,At the start of the search server, the memory is allocated from the system to create a memory pool including memory pool indexes for the data type memory and the usage status of the memory data type in the main memory. 상기 데이터 유형별 메모리 및 메모리 풀 인덱스를 이용하여 검색엔진의 메모리 요구에 따라 사용 가능한 메모리를 찾아 해당 검색 엔진에게 제공함과 아울러 사용후 반납을 관리하기 위한 메모리 관리기를 검색 서버내에 포함하여 구성된 것을 특징으로 하는 다 사용자 정보 검색 시스템의 메모리 관리 장치.By using the memory and memory pool index for each data type to find available memory according to the memory requirements of the search engine to provide to the search engine, and a memory manager for managing the return after use is configured to include in the search server The memory management device of the user information retrieval system. 제 1 항에 있어서, 메모리 관리기는The memory manager of claim 1, wherein the memory manager comprises: 상기 메인 메모리의 메인 메모리 풀에 접근하는 연산의 시작과 종료 사이에 아무런 방해나 종단이 없는 직열성 보장의 연산을 위해 유닉스 오퍼레이팅 시스템에서 제공하는 신호기(semaphore)를 사용하여 무결성을 보장하는 동시성 제어 기능을 수행하는 동시성 제어 모듈과;Concurrency control function that guarantees the integrity by using the semaphore provided by the Unix operating system for the operation of guaranteeing the seriality without any interruption or termination between the start and the end of the operation accessing the main memory pool of the main memory. A concurrency control module for performing the; 상기 동시성 제어 모듈의 제어를 받아 상기 검색 서버의 검섹 엔진으로부터 메모리 관리기로 발생한 메모리 풀의 요구, 사용이 끝난 메모리의 메모리 풀로의 반납, 메모리 관리기의 초기화 및 실행 종료를 제어하는 메모리 관리기 제어 모듈과;A memory manager control module configured to control a request for a memory pool generated from a check engine of the search server to a memory manager under the control of the concurrency control module, to return the used memory to the memory pool, and to initialize and terminate execution of the memory manager; 상기 메모리 풀에 더 이상 사용가능한 메모리가 없는 상태에서 메모리 요구가 들어오면 초기에 설정된 하나의 블럭만 사용하도록 되어 있는 경우 더 이상 사용가능한 메모리가 없다는 메시지를 상기 검색 엔진으로 넘겨주고, 여러개의 메모리 블럭을 사용하도록 설정되어 있을 시는 가변 메모리 풀 관리 모듈을 호출해 새로운 메모리 블럭을 상기 시스템으로부터 할당받는 오버플로우 처리 모듈과;When there is no more memory available in the memory pool and a memory request comes in, if only one block initially set is used, a message is sent to the search engine indicating that there is no more memory available. An overflow processing module that calls a variable memory pool management module and allocates a new memory block from the system when it is set to use the memory; 동적으로 시스템으로부터 메모리를 할당받아 메모리 관리기가 정상적으로 작동하도록 하여 유연한 메모리 관리를 수행하도록 하는 가변 메모리 풀 관리 모듈과;A variable memory pool management module that dynamically allocates memory from the system and allows the memory manager to operate normally to perform flexible memory management; 시스템으로부터 메모리를 할당받아 메모리 풀을 생성하고 메모리 관리기 종료시 할당받은 메모리를 메모리 풀로부터 시스템으로 반납하는 기능을 수행하는 메모리 할당/해제 모듈과;A memory allocating / releasing module configured to receive memory from the system, create a memory pool, and return the allocated memory from the memory pool to the system when the memory manager terminates; 상기 메모리 관리기에서 메모리에 저장되는 타입의 데이터를 위한 메모리 요구에 메모리 관리기가 대처하도록 데이터 타입에 대한 관리를 수행하는 데이터 타입 모듈과;A data type module for managing a data type such that the memory manager copes with a memory request for data of a type stored in a memory in the memory manager; 메모리 요구나 반납시 메모리 풀에 인덱스와 부가적으로 메모리 풀에 사용가능한 메모리를 가지는 포인터를 유지하여 메모리 요구시 사용가능한 메모리를 제공하고 하나의 데이터 타입 요구와 같은 타입의 여러개의 인덱스를 한번에 제공하는 기능을 수행하는 메모리 풀 인덱스 관리 모듈로 이루어진 것을 특징으로 하는 다 사용자 정보 검색 시스템의 메모리 관리 장치.It maintains a pointer to the memory pool when the memory request or return and additionally the memory available to the memory pool to provide free memory when the memory request, and to provide multiple indexes of the same type as one data type request at a time A memory management apparatus of a multi-user information retrieval system, characterized by comprising a memory pool index management module that performs a function. 클라이언트/서버로 구성된 다 사용자용 정보검색시스템의 메모리 관리방법에 있어서,In the memory management method of a multi-user information retrieval system composed of a client / server, 서버내에서 검색 결과를 처리하기 위한 메모리를 관리하는 메모리 관리기를 구비하고, 그 메모리 관리기가,A memory manager that manages memory for processing search results in the server, the memory manager comprising: 서버 시작시에 메모리를 할당받아 메모리 풀을 메인 메모리 내에 생성하는 과정과,Creating a memory pool in main memory by allocating memory at server startup; 검색 엔진의 메모리 요구시 메모리 풀에 존재하는 메모리를 사용하게 하는 과정과,Making the search engine use memory existing in the memory pool when the memory is requested; 사용이 끝난 메모리는 반납되어 다시 다른 검색 결과를 저장하기 위해 사용 가능하도록 제어함과 아울러 서버 종료시 상기 메모리 풀을 삭제하여 시스템에 돌려주는 과정을 수행하는 것을 특징으로 하는 다 사용자용 정보 검색시스템을 위한 메모리 관리방법.The used memory is returned and controlled to be used for storing other search results, and the memory pool is deleted and returned to the system when the server is terminated. Memory management method. 제 3 항에 있어서, 상기 메모리 관리방법은,The method of claim 3, wherein the memory management method comprises: 하나의 메모리 관리기가 서버내에 포함되는 다수개의 검색 엔진의 메모리 요구에 응답하여 상기 메인 메모리에 생성시킨 메모리 풀로부터 필요한 메모리를 각각의 검색엔진에게 제공함과 아울러 사용후 반납을 관리하는 것을 특징으로 하는 다 사용자용 정보 검색시스템을 위한 메모리 관리방법.In response to the memory requests of a plurality of search engines included in the server, one memory manager provides each search engine with necessary memory from the memory pool created in the main memory, and manages return after use. Memory management method for user information retrieval system. 제 3 항에 있어서, 상기 메모리 관리방법은,The method of claim 3, wherein the memory management method comprises: 다수의 메모리에 대한 요청이 동시 다발적으로 발생한 경우,If requests for multiple memories occur concurrently, 메모리 풀에 존재하는 메모리로 접근하는 연산에 대한 직열성을 보장하기 위하여 유닉스(UNIX)의 오퍼레이팅 시스템에서 제공하는 세마포어(semaphore)를 사용하여 동시성 제어를 수행하여 여러 사용자가 메모리 관리기를 동시에 사용할 수 있도록 하는 것을 특징으로 하는 다 사용자용 정보 검색시스템을 위한 메모리 관리방법.In order to guarantee the seriality of operations accessing the memory in the memory pool, the concurrency control can be performed by using semaphores provided by the UNIX operating system so that multiple users can use the memory manager at the same time. Memory management method for a multi-user information retrieval system, characterized in that. 제 3 항에 있어서, 상기 메모리 관리방법은,The method of claim 3, wherein the memory management method comprises: 상기 메모리 풀에 다수의 데이터 유형별 메모리를 할당하고, 그 다수의 데이터 유형별 메모리의 사용 상태를 메모리 풀 인덱스로 관리함과 아울러 사용 가능한 메모리를 가리키는 포인터를 유지하여,Allocate a plurality of data type memory to the memory pool, manage the use state of the plurality of data type memory as a memory pool index and maintain a pointer to the available memory, 여러 유형의 데이터에 대한 메모리 요구에 대해 메모리 풀 인덱스 방법을 사용하여 빠른 메모리 액세스를 통해 메모리를 제공하는 것을 특징으로 하는 다 사용자용 정보 검색시스템을 위한 메모리 관리방법.A memory management method for a multi-user information retrieval system, characterized by providing memory through fast memory access using a memory pool indexing method for memory needs for different types of data. 제 3 항에 있어서, 상기 메모리 관리방법은,The method of claim 3, wherein the memory management method comprises: 더 이상 사용 가능한 메모리가 메모리 풀에 있지 않은 경우,When no more free memory is in the memory pool, 현재 할당된 메모리 블럭의 개수가 최대 할당 블럭의 개수를 넘지 않았는가의 판단에 의해 새로운 메모리를 할당하는 조건을 확인하여, 새로운 메모리 할당 조건을 만족하지 않으면 에러 메시지를 출력하고 메모리 관리기를 종료하며,If the number of currently allocated memory blocks does not exceed the maximum number of allocated blocks, the condition for allocating a new memory is checked.If the new memory allocation condition is not satisfied, an error message is output and the memory manager is terminated. 만약 만족한다면 새로운 M개의 메모리 블럭을 시스템으로부터 동작으로 할당받아 메모리 풀의 메모리 블럭을 확장하여 메모리를 요구한 검색 엔진에게 필요한 메모리를 제공하는 가변 메모리 풀 관리를 수행하는 것을 특징으로 하는 다 사용자용 정보 검색시스템을 위한 메모리 관리방법.If satisfied, new M memory blocks are allocated from the system to expand the memory blocks of the memory pool to perform variable memory pool management that provides the necessary memory to the search engines that require the memory. Memory management for search systems. 다 사용자용 정보 검색시스템을 위한 메모리 관리방법에 있어서,In a memory management method for a multi-user information retrieval system, 서버 시작시 메모리 관리기 초기화 요구가 발생(117)하면, N개의 메모리 블럭을 시스템으로부터 할당받아 메모리 풀을 생성(118)하고, 메모리 풀의 상태를 나타내는 메모리 풀 인덱스도 생성(119)한 후 메모리 풀의 상태와 메모리 풀 인덱스를 초기 상태로 만드는 단계와,When a memory manager initialization request occurs at server startup (117), N memory blocks are allocated from the system to create a memory pool (118), a memory pool index indicating the state of the memory pool is also generated (119), and then a memory pool. Initializing the state and memory pool indexes of 검색엔진으로부터 메모리 요구가 발생(101)하면, 메모리 풀(60)에 대한 동시성 처리(102)를 시작하고, 요구된 메모리의 유형이 무엇인지 체크(103)하여 그 유형에 맞는 사용 가능 메모리가 메모리 풀에 있는지 확인(104)하는 단계와,When a memory request occurs from the search engine (101), it starts concurrency processing (102) for the memory pool (60), checks (103) what type of memory is requested, and makes available memory suitable for that type of memory. Verifying (104) the pool; 메모리 풀에 사용 가능 메모리가 존재한다면 하나의 메모리를 획득(105)하고, 메모리 풀의 상태를 유지하는 메모리 풀 인덱스를 변경(106)하여 인덱스와 메모리 풀의 상태를 일치시킨 후 새로운 요구가 메모리 풀에 대해 가능하도록 동시성 처리를 종료(107)하는 단계와,If there is available memory in the memory pool, one memory is obtained (105), the memory pool index that maintains the state of the memory pool is changed (106) to match the state of the index and the memory pool, and a new request is made. Terminating (107) the concurrency process to enable for; 만약 메모리 풀에 사용가능 메모리가 존재하지 않으면, 현재 할당된 메모리 블럭의 개수가 최대 할당 블럭의 개수를 넘지 않았는가의 판단에 의해 새로운 메모리를 할당하는 조건을 확인(109)하는 단계와,If there is no available memory in the memory pool, determining (109) a condition for allocating new memory by determining whether the number of currently allocated memory blocks does not exceed the maximum number of allocated blocks; 새로운 메모리 할당 조건을 만족하지 않으면 에러 메시지를 출력(110)하고 메모리 관리기를 종료하며, 만약 만족한다면 새로운 M개의 메모리 블럭을 시스템으로부터 할당(111)받아 메모리 풀을 확장하는 단계와,If the new memory allocation condition is not satisfied, an error message is output 110 and the memory manager is terminated. If the new memory allocation condition is satisfied, new memory blocks are allocated from the system (111) and the memory pool is expanded. 이후 메모리 풀의 상태를 유지하는 메모리 풀 인덱스를 변경(106)하여 인덱스와 메모리 풀의 상태를 일치시킨 후 새로운 요구가 메모리 풀에 대해 가능하도록 동시성 처리를 종료(108)하고 메모리를 요구한 검색 엔진에게 필요한 메모리를 넘겨주는(108) 단계와,Then, after changing the memory pool index that maintains the state of the memory pool (106) to match the state of the index and the memory pool, the concurrency process is terminated (108) so that a new request is possible for the memory pool and the search engine that requested the memory. (108) handing over the memory required for 메모리 반납 요구가 발생(112)하면, 동시성 처리를 시작(113)하여 반납될 메모리를 메모리 풀에 반납(113)하고 메모리 풀의 상태를 유지하는 메모리 풀 인덱스를 변경(115)하여 인덱스와 메모리 풀의 상태를 일치시킨 후 새로운 요구가 메모리 풀에 대해 가능하도록 동시성 처리를 종료(116)하는 단계와,When a memory return request occurs 112, the concurrency process starts 113 to return 113 the memory to be returned to the memory pool, and to change 115 the memory pool index that maintains the state of the memory pool to the index and the memory pool. Terminating (116) the concurrency process so that a new request is possible for the memory pool after matching the state of; 메모리 관리기 종료 요구가 발생하면, 메모리 풀의 모든 메모리를 원래대로 시스템에게 반납(121)하고 메모리 인덱스를 삭제(122)한 후 메모리 관리를 종료하는 단계를 수행하도록 이루어진 것을 특징으로 하는 다 사용자용 정보 검색시스템을 위한 메모리 관리방법.When a memory manager termination request occurs, all memory in the memory pool is returned to the system (121), the memory index is deleted (122), and memory management is terminated. Memory management for search systems.
KR1019980036774A 1998-09-07 1998-09-07 Memory managing method and a device for information searching system for plurality of users KR20000018923A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980036774A KR20000018923A (en) 1998-09-07 1998-09-07 Memory managing method and a device for information searching system for plurality of users

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980036774A KR20000018923A (en) 1998-09-07 1998-09-07 Memory managing method and a device for information searching system for plurality of users

Publications (1)

Publication Number Publication Date
KR20000018923A true KR20000018923A (en) 2000-04-06

Family

ID=19549789

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980036774A KR20000018923A (en) 1998-09-07 1998-09-07 Memory managing method and a device for information searching system for plurality of users

Country Status (1)

Country Link
KR (1) KR20000018923A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210001504A (en) 2019-06-28 2021-01-06 이준호 Multi-stage storage case device of carrier type

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210001504A (en) 2019-06-28 2021-01-06 이준호 Multi-stage storage case device of carrier type

Similar Documents

Publication Publication Date Title
EP3433737B1 (en) Memory sharing for working data using rdma
US5666532A (en) Computer method and apparatus for asynchronous ordered operations
US5197148A (en) Method for maintaining data availability after component failure included denying access to others while completing by one of the microprocessor systems an atomic transaction changing a portion of the multiple copies of data
Kung et al. On optimistic methods for concurrency control
US7584222B1 (en) Methods and apparatus facilitating access to shared storage among multiple computers
US5842226A (en) Virtual memory management for a microkernel system with multiple operating systems
US5946711A (en) System for locking data in a shared cache
US7467282B2 (en) Migrating a traditional volume to a virtual volume in a storage system
US5574903A (en) Method and apparatus for handling request regarding information stored in a file system
US20180373561A1 (en) Hierarchical stalling strategies
EP0447160A2 (en) Maintaining data consistency in cache storage systems
WO2004066079A2 (en) Memory-resident database management system and implementation thereof
US6115790A (en) System, method and computer program product for organizing page caches
JP2000089989A (en) Method for starting service using property imparted to document
JPH11327919A (en) Method and device for object-oriented interruption system
Shatdal et al. Using shared virtual memory for parallel join processing
Carter et al. Khazana: An infrastructure for building distributed services
US6505284B1 (en) File segment subsystem for a parallel processing database system
US7233946B1 (en) File interval lock generation interface system and method
KR20000018923A (en) Memory managing method and a device for information searching system for plurality of users
Ujibashi et al. Design of a Shared Memory mechanism for efficient paralell processing in PostgreSQL
US11914556B2 (en) Lazy virtual filesystem instantiation and caching
US7219206B1 (en) File system virtual memory descriptor generation interface system and method
US20240143594A1 (en) Offloading graph components to persistent storage for reducing resident memory in distributed graph processing
Warner et al. The impact of multilevel security on database buffer management

Legal Events

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