KR100545744B1 - 클러스터링 환경에서의 모바일 비즈니스 응용 서버간 콘텐츠 캐시 동기화 방법 - Google Patents
클러스터링 환경에서의 모바일 비즈니스 응용 서버간 콘텐츠 캐시 동기화 방법 Download PDFInfo
- Publication number
- KR100545744B1 KR100545744B1 KR1020030080834A KR20030080834A KR100545744B1 KR 100545744 B1 KR100545744 B1 KR 100545744B1 KR 1020030080834 A KR1020030080834 A KR 1020030080834A KR 20030080834 A KR20030080834 A KR 20030080834A KR 100545744 B1 KR100545744 B1 KR 100545744B1
- Authority
- KR
- South Korea
- Prior art keywords
- content
- application server
- business application
- mobile business
- client
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000006243 chemical reaction Methods 0.000 claims abstract description 9
- 230000010076 replication Effects 0.000 claims abstract description 7
- 230000004044 response Effects 0.000 claims abstract description 4
- 230000000694 effects Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000003362 replicative effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
Landscapes
- Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 발명은 클러스터링(clustering)에 참여하는 다수의 모바일 비즈니스 응용 서버 노드(mobile business application server node)에서 멀티캐스트(multi-cast)와 데이터베이스 공유 방식을 혼용한 콘텐츠 캐시(cache) 동기화 방법에 관한 것으로, 클라이언트로부터의 콘텐츠 서비스 요청에 대응하여 다수의 모바일 비즈니스 응용 서버 노드들 중 제 1 모바일 비즈니스 응용 서버를 통해 클라이언트의 요청 콘텐츠를 클라이언트의 단말기 특성에 맞춰 변환하는 제 1 단계와, 제 1 단계에서 변환된 콘텐츠 정보를 클라이언트로 전송하여 클라이언트의 단말기 상에 디스플레이되도록 하되, 콘텐츠에 대한 인덱스 키 정보를 기반으로 콘텐츠 정보의 변환 결과에 대한 메타 정보를 생성하여 제 1 모바일 비즈니스 응용 서버 내의 로컬 인덱스에 추가하는 제 2 단계와, 제 1 단계에서 변환된 콘텐츠 정보를 다수의 모바일 비즈니스 응용 서버 노드들 간에 네트워크로 공유된 데이터베이스에 저장하는 제 3 단계와, 제 2 단계에서 생성된 메타 정보를 기반으로 복제 메시지를 생성하여 멀티캐스트 네트워크를 통해 다수의 모바일 비즈니스 응용 서버 노드로 전송하는 제 4 단계와, 전송된 메타 정보 기반의 복제 메시지를 상기 다수의 모바일 비즈니스 응용 서버 노드 내의 로컬 인덱스에 저장함으로써 다수의 모바일 비즈니스 응용 서버 노드에서 캐시 인덱스를 구성하는 제 5 단계와, 캐시 인덱스를 구성한 다수의 모바일 비즈니스 응용 서버 노드로 상기 클라이언트에 의한 콘텐츠 서비스가 요청되면 요청된 콘텐츠가 다수의 모바일 비즈니스 응용 서버 내의 로컬 인덱스에 저장되어 있는지를 검색하는 제 6 단계와, 검색 결과 상기 로컬 인덱스에 요청 콘텐츠가 저장되어 있으면 데이터베이스 내에 저장된 변환 콘텐츠 정보를 추출하여 클라이언트로 전송하는 제 7 단계와, 검색 결과 로컬 인덱스에 요청 콘텐츠가 저장되어 있지 않으면 해당 콘텐츠를 검색하여 제 1 단계부터 반복하는 제 8 단계를 포함한다. 본 발명에 의하면, 클러스터링 환경을 지원하는 모바일 비즈니스 응용 서버 노드간의 콘텐츠 캐시의 동기화 과정에서 복제 메시지의 양을 줄이면서도 네트워크로 연결된 공유 데이터베이스가 아닌 로컬 메모리 상에서 콘텐츠에 대한 캐시 저장 여부를 알 수 있는 바, 빠른 검색 속도를 제공하는 효과가 있다.
모바일 응용 서버, 콘텐츠 캐시, 로컬 인덱스, 멀티캐스트
Description
도 1은 본 발명에 따른 모바일 비즈니스 응용 서버간 콘텐츠 캐시 동기화 방법을 구현하기 위한 인터넷 망 구성도,
도 2는 본 발명의 바람직한 실시예에 따라 구현된 클러스터링 환경에서의 모바일 비즈니스 응용 서버간 콘텐츠 캐시 동기화 과정의 흐름도,
도 3은 도 2의 로컬 인덱스에 저장되는 인덱스 키의 구성도,
도 4는 도 2의 로컬 인덱스에 저장되는 메타 정보의 구성도.
<도면의 주요부분에 대한 부호의 설명>
110 : 클라이언트 120 : 부하분배기
130, 150, 170 : 모바일 비즈니스 응용 서버
140, 160, 180 : 로컬 인덱스 190 : 멀티캐스트 네트워크
200 : 데이터베이스
본 발명은 클러스터링(clustering) 기능을 지원하는 모바일 비즈니스 응용 서버(mobile business application server)에 관한 것으로, 특히 서버 노드간의 콘텐츠 캐시(cache) 동기화 과정에서 복제 메시지의 양을 줄이고 캐시에서의 빠른 콘텐츠 검색이 가능한 클러스터링 환경에서의 모바일 비즈니스 응용 서버간 콘텐츠 캐시 동기화 방법에 관한 것이다.
컴퓨터 및 통신 분야의 발달과 함께, 무선 통신 환경에서 무선 인터넷 브라우징을 지원하는 클라이언트 휴대 단말은 각 단말 종류별로 표시 가능한 줄 수, 화면 넓이, 컬러 지원 여부 등과 같은 다양한 표현 능력을 지니게 되었으며, 무선 통신 환경에서 큰 비중을 차지하는 응용 서버는 초당 수백 내지 수천 개씩의 클라이언트 요구 사항을 처리해야할 필요가 있다.
따라서, 휴대 단말을 통해 클라이언트에 의해 요청된 해당 콘텐츠는 각 단말의 표현 능력에 따라 응용 서버에 의해 적절하게 변환되어 클라이언트에게 제공되어야 한다.
그러나, 변환 작업은 처리 시간이 매우 많이 소요되는 작업이므로 클라이언트의 요청이 있을 때마다 해당 콘텐츠를 변환하는 작업을 수행하는 것은 응용 서버의 성능을 저하시키는 요인이 될 수 있다.
따라서, 한 번 변환이 완료된 콘텐츠를 캐시에 저장하고 다음 번에 같은 콘텐츠가 요청될 경우 캐시에 저장되어 있는 콘텐츠를 클라이언트에게 제공하는 것이 보다 빠른 응답 시간을 보장하면서 응용 서버의 부하를 줄여 전체 성능을 향상시킬 수 있다.
하지만, 클라이언트 수의 급격한 증가로 인해 단일 컴퓨터로는 응용 서버의 성능을 충분히 수용할 수 없다는 한계에 도달하게 되었으며, 보다 높은 성능을 수용하기 위해서 「클러스터링 환경」에 대한 필요성이 대두되었다. 즉, 여러 대의 컴퓨터에 응용 서버를 설치하고 이들을 네트워크로 통합하면, 클라이언트의 요청을 전달받은 부하 분배기에서 임의의 서버 노드를 선택하고 클라이언트의 요청을 전달하여 서비스가 될 수 있도록 하는 클러스터링 환경을 구축하여야 한다.
이와 같이 응용 서버를 클러스터링 환경에서 운영할 때, 부하 분배기에서 임의의 노드로 클라이언트의 요청을 정확히 전달하기 위해 캐시의 적중률(Hit Rate)을 높일 필요가 있으며, 이러한 적중률을 높이기 위해서는 특정 노드에서 클라이언트의 요청에 의해 변환 완료된 콘텐츠를 클러스터링에 참여하는 모든 노드들에 복제하여 동기화를 이루도록 해야 한다.
다수의 응용 서버가 참여하는 클러스터링 환경에서 각각의 응용 서버 노드 간의 콘텐츠 캐시에 대한 동기화를 제공하기 위해, 종래에는 다음 두 가지 방식으로 콘텐츠 캐시 동기화를 구현하였다.
그 첫 번째 방식은, 클라이언트의 요청을 처리한 응용 서버 노드에서 변환이 완료된 콘텐츠를 자신의 로컬 캐시 저장소에 저장한 후, 멀티캐스트와 같은 통신 프로토콜을 이용해서 변환이 완료된 콘텐츠를 해당 통신 프로토콜에서 사용하는 메시지 형태로 작성하여 클러스터링에 참여하는 모든 노드들에게 작성된 메시지를 전송하고, 메시지를 수신한 응용 서버 노드에서는 수신된 메시지로부터 콘텐츠를 추출한 후 자신의 로컬 캐시 저장소에 저장하여 동기화를 이루도록 하는 방식이다.
이러한 방식에서는 변환이 완료된 콘텐츠를 한꺼번에 전달하기 때문에 통신 프로토콜로 전달되는 메시지의 크기가 매우 커져 네트워크 통신 부담을 증가시키고 결과적으로 네트워크를 폭주 상태로 만들어 전체 시스템 성능을 저하시킬 수 있다는 문제가 있다. 또한, 응용 서버에서 로컬 메모리를 이용하여 캐시 저장소를 구성하므로 메모리의 낭비가 심한 단점도 있다.
동기화를 이루기 위한 다른 하나의 방식은, 네트워크를 통해 공유된 데이터베이스를 이용하여 캐시 저장소를 공유하는 방식이다.
이 방식은 클라이언트의 요청을 처리한 응용 서버 노드에서 변환이 완료된 콘텐츠를 데이터베이스에 저장하고, 모든 응용 서버 노드에서는 클라이언트의 요청이 있을 때마다 데이터베이스에 해당 콘텐츠가 저장되어 있는지를 조회하며, 해당 콘텐츠가 저장되어 있는 경우에 데이터베이스로부터 콘텐츠를 추출하여 클라이언트에게 전송하는 방식이다. 여기서는, 공유된 데이터베이스를 이용하여 캐시 저장소를 만들기 때문에 메모리의 낭비가 없으며, 노드간에 메시지의 송수신이 필요하지 않아 구조가 단순하다는 장점이 있다.
그러나, 이러한 방식도 매번 클라이언트의 요청에 대해 해당 콘텐츠가 캐시에 저장되어 있는지를 검사하여야 하며, 이를 위해 네트워크를 통해 공유하고 있는 데이터베이스에 질의를 하여야 하므로 네트워크를 통한 전달 지연 및 데이터베이스에서의 검색 작업량의 집중으로 인한 성능 저하가 발생한다는 문제가 제기되었다.
본 발명은 상술한 문제를 해결하기 위해 안출한 것으로, 무선 통신 환경에서 클라이언트 단말의 표현 특성에 맞춰 변환된 콘텐츠를 캐시에 저장하고 동기화를 위해 변환 결과를 복제하는 과정에서 로컬 메모리 상에서 캐시 검색을 수행함으로써, 콘텐츠 재 요청시 별도의 변환과정 없이 검색 속도를 향상시킬 수 있는 클러스터링 환경에서의 모바일 비즈니스 응용 서버간 콘텐츠 캐시 동기화 방법을 제공하는데 그 목적이 있다.
이러한 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따르면, 클러스터링에 참여하는 다수의 모바일 비즈니스 응용 서버 노드에서 멀티캐스트와 데이터베이스 공유 방식을 혼용한 콘텐츠 캐시 동기화 방법으로서, 클라이언트로부터의 콘텐츠 서비스 요청에 대응하여 상기 다수의 모바일 비즈니스 응용 서버 노드들 중 제 1 모바일 비즈니스 응용 서버를 통해 상기 클라이언트의 요청 콘텐츠를 상기 클라이언트의 단말기 특성에 맞춰 변환하는 제 1 단계와, 상기 제 1 단계에서 변환된 콘텐츠 정보를 상기 클라이언트로 전송하여 상기 클라이언트의 단말기 상에 디스플레이되도록 하되, 상기 콘텐츠에 대한 인덱스 키 정보를 기반으로 상기 콘텐츠 정보의 변환 결과에 대한 메타 정보를 생성하여 상기 제 1 모바일 비즈니스 응용 서버 내의 로컬 인덱스에 추가하는 제 2 단계와, 상기 제 1 단계에서 변환된 콘텐츠 정보를 상기 다수의 모바일 비즈니스 응용 서버 노드들 간에 네트워크로 공유된 데이터베이스에 저장하는 제 3 단계와, 상기 제 2 단계에서 생성된 메타 정보를 기반으로 복제 메시지를 생성하여 멀티캐스트 네트워크를 통해 상기 다수의 모바일 비즈니스 응용 서버 노드로 전송하는 제 4 단계와, 상기 전송된 메타 정보 기반의 복제 메시지를 상기 다수의 모바일 비즈니스 응용 서버 노드 내의 로컬 인덱스에 저장함으로써 상기 다수의 모바일 비즈니스 응용 서버 노드에서 캐시 인덱스를 구성하는 제 5 단계와, 상기 캐시 인덱스를 구성한 다수의 모바일 비즈니스 응용 서버 노드로 상기 클라이언트에 의한 콘텐츠 서비스가 요청되면 요청된 콘텐츠가 상기 다수의 모바일 비즈니스 응용 서버 내의 로컬 인덱스에 저장되어 있는지를 검색하는 제 6 단계와, 상기 검색 결과 상기 로컬 인덱스에 요청 콘텐츠가 저장되어 있으면 상기 데이터베이스 내에 저장된 변환 콘텐츠 정보를 추출하여 상기 클라이언트로 전송하는 제 7 단계와, 상기 검색 결과 상기 로컬 인덱스에 요청 콘텐츠가 저장되어 있지 않으면 해당 콘텐츠를 검색하여 상기 제 1 단계부터 반복하는 제 8 단계를 포함하는 클러스터링 환경에서의 모바일 비즈니스 응용 서버간 콘텐츠 캐시 동기화 방법을 제공한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세하게 설명한다.
설명에 앞서, 본 발명의 핵심 기술 요지는, 클러스터링(clustering) 환경을 지원하는 모바일 비즈니스 응용 서버(mobile business application server)에서 클라이언트, 예를 들면 휴대폰 및 PDA 등으로부터 콘텐츠 요청시에 단말기의 표현 특성에 맞춰 콘텐츠를 변환시키고 그 변환된 결과를 클라이언트의 재 요청시에 별도의 변환과정 없이 바로 클라이언트에게 보낼 수 있도록 캐시(cache)에 저장하고, 클러스터링에 참여하는 각 서버 노드들의 로컬(local) 캐시를 동기화하기 위해 변환 결과를 복제하는 과정에서 복제 메시지의 양을 줄이면서도 공유 데이터베이스가 아닌 로컬 메모리 상에서 캐시의 검색을 수행하여 빠른 검색 속도를 제공한다는 것으로, 이러한 기술 사상으로부터 본 발명의 목적으로 하는 바를 용이하게 달성할 수 있을 것이다.
도 1은 본 발명에 따른 클러스터링 모바일 비즈니스 응용 서버에서 멀티캐스트(multi-cast)에 의한 메타(meta) 정보 복제와 공유 데이터베이스를 혼용한 콘텐츠 캐시 동기화 방법을 수행하기 위한 통신 환경을 개략적으로 도시한 도면으로서, 클라이언트(110), 부하분배기(120), 모바일 응용 서버(130)(150)(170), 로컬 인덱스(140)(160)(180), 멀티캐스트 네트워크(190) 및 데이터베이스(200)를 포함한다.
도 1에 도시한 바와 같이, 클라이언트(110)는, 예컨대 무선 인터넷 브라우징을 지원하는 소정의 휴대 단말이나 PDA 또는 유선 PC일 수 있으며, 특정 콘텐츠를 브라우징하기 위한 콘텐츠 서비스를 요청하는 주체로 정의된다.
부하분배기(120)는 클라이언트(110)의 요청을 받아 클러스터링에 참여하는 모바일 응용 서버들(130)(150)(170)에게 해당 요청 메시지를 전달하는 역할을 수행한다.
이러한 부하분배기(120)는 그 내부의 독자적인 알고리즘에 따라 서비스를 처리할 임의의 모바일 응용 서버를 선택하고, 선택된 서버로 HTTP 요청 메시지를 전달하여 서비스를 처리하도록 한다. 이때, 본 발명에서는 부하분배 알고리즘 등과 같이 부하분배기(120)의 내부를 제한하지 않으며, 다만 부하분배기(120)를 통해 임의의 서버가 선택됨으로써 서비스가 처리되는 것으로 한정하였다.
모바일 응용 서버(130)(150)(170)는 멀티캐스트 네트워크(190)를 통해 크기가 작은 메타 데이터만을 전달하고, 실제 용량이 큰 콘텐츠 데이터는 네트워크(190)를 통해 모바일 응용 서버(130)(150)(170)들과 연결된 데이터베이스(200)를 통해 공유한다.
모바일 응용 서버(130)(150)(170)내의 각 로컬 인덱스(140)(160)(180)는 로컬 메모리를 의미하는 것으로, 해당 콘텐츠의 메타정보가 저장된다. 따라서, 모바일 응용 서버(130)(150)(170)에서는 데이터베이스(200)를 통하지 않고 로컬 인덱스(140)(160)(180)에서 직접 캐시의 저장 여부에 대한 검색을 수행할 수 있다.
멀티캐스트 네트워크(190)는 한번의 전송으로 모든 모바일 응용 서버(130)(150)(170)로 메시지가 전달되도록 한다.
예를 들어, 클러스터링에 참여하는 모든 모바일 응용 서버들은 상호간에 약속한 멀티캐스트 포트(port)를 듣고 있으며, 클러스터링에 참여하는 다른 모바일 응용 서버로 메시지를 전송할 필요가 있는 경우, 해당 멀티캐스트 포트로 메시지를 한번만 출력하면 해당 포트를 듣고 있던 모든 모바일 응용 서버로 동시에 메시지가 전달된다.
따라서, 메시지를 전달하기 위해 각각의 모바일 응용 서버로 동일한 메시지를 반복해서 전달할 필요가 없게 된다.
한편, 네트워크(190)를 통해 공유하고 있는 데이터베이스(200)를 연결하기 위해서 임의의 모바일 응용 서버, 예를 들면 모바일 응용 서버1(130)은 JDBC(Java Database Connectivity)나 ODBC(Open Database Connectivity)와 같은 데이터베이스 커넥션 API를 이용하여 데이터베이스(200)와 연결되거나 데이터베이스 개발 회사에서 제공하는 독자적인 API를 이용하여 데이터베이스(200)에 연결될 수 있다.
이상과 같이, 본 실시예는 각 모바일 응용 서버(130)(150)(170)의 콘텐츠 캐시 동기화를 위해 멀티캐스트 네트워크(190)와 데이터베이스(200)를 혼용하여 구현한 것을 특징으로 한다.
이하, 상술한 구성과 함께 본 발명의 바람직한 실시예에 따른 콘텐츠 캐시 동기화 과정을 첨부한 도 2의 흐름도를 참조하여 보다 상세히 설명하기로 한다.
먼저, 단계(1001)에서 클라이언트(110)는 특정 콘텐츠를 브라우징하기 위해 부하 분배기(120)로 콘텐츠 서비스를 요청한다(단계 1001). 이때, 부하 분배기(120)는, 예를 들면 클러스터링 환경의 게이트웨이(gateway) 역할을 하는 레이어 4 스위치(layer 4 switch)이며, 콘텐츠 서비스 요청 방식은 HTTP(Hyper Text Transfer Protocol) 방식이 적용될 수 있을 것이다.
클라이언트(110)의 요청을 받은 부하 분배기(120)는 부하 분배 알고리즘을 이용하여 클러스터링에 참여하는 모바일 응용 서버 노드들 중 서비스를 처리할 임의의 모바일 응용 서버 노드를 선택하여 클라이언트(110)의 요청을 전달한다(단계 1002).
도 2에서는 부하 분배기(120)가 모바일 응용 서버1(130)을 선택하여 클라이언트(110)의 요청을 전달하고 있음을 예시적으로 나타낸 것이며, 부하 분배기(120)의 선택에 따라 나머지 응용 서버, 즉 모바일 응용 서버2(150) 또는 모바일 응용 서버N(170)이 임의로 적용될 수 있을 것이다.
부하 분배기(120)로부터 클라이언트(110)의 요청을 전달받은 모바일 응용 서버1(130)은 단계(1003)로 진행하여 자신의 로컬 메모리로 구성된 로컬 인덱스(local index)1(140)을 이용해 해당 콘텐츠가 캐시에 저장되어 있는지를 검색한다. 즉, 본 실시예에서는 캐시 검색을 수행함에 있어 데이터베이스(200)를 통하지 않고 로컬 인덱스에서 직접 행함으로써 해당 콘텐츠의 저장 여부를 바로 확인할 수 있도록 구현한 것이다.
한편, 모바일 응용 서버1(130)에서 메인 메모리로 구성된 로컬 인덱스1(140)은 B+ 트리나 해쉬테이블(hash-table) 또는 임의의 자료구조 등으로 구성될 수 있으며, 본 발명에서는 이러한 로컬 인덱스의 구성을 한정하지는 않는다. 다만, 도 3 에 도시한 바와 같이, 로컬 인덱스를 구성하는 키(key)(310)는 서비스 요청된 콘텐츠에 대한 URL 문자열(320) 및 단말 식별 문자열(330)을 포함할 수 있다.
인덱스 키(310)에서 단말 식별 문자열(330)은 모바일 응용 서버1(130)에 전달된 HTTP 요청 메시지 헤더로부터 단말의 표현 능력 등 휴대 단말의 특성에 관련된 정보를 수집 및 생성하는 역할을 수행한다. 로컬 인덱스를 구성하는 키(310)에 단말 식별 문자열(330)이 포함되는 이유는 하나의 콘텐츠가 단말의 종류에 따라 다양하게 변환되기 때문에 단말 종류마다 변환된 결과를 식별하기 위함이다.
다시 도 2를 참조하면, 모바일 응용 서버(130)의 로컬 인덱스1(140)에서 검색 결과, 해당 콘텐츠에 대하여 캐시에 저장된 항목이 없는 경우에는 모바일 응용 서버1(130)은 해당 콘텐츠를 파일 시스템으로부터 읽어들여 클라이언트 단말(110)에 최적으로 보여지도록 하기 위해 콘텐츠를 변환한다(단계 1004).
이후, 모바일 응용 서버1(130)은 단계(1005)로 진행하여 변환이 완료된 콘텐츠를 HTTP 응답 메시지 형태로 클라이언트 단말(110)로 전송한다. 따라서, 클라이언트 단말(110)의 디스플레이 창에는 요청한 콘텐츠가 디스플레이 될 수 있다.
클라이언트(110)에게 변환 결과를 전송한 후에, 모바일 응용 서버1(130)은 도 3에 도시한 바와 같이 해당 콘텐츠에 대한 URL(Uniform Resource Locator) 문자열(320)과 단말 식별 문자열(330)을 결합한 문자열을 인덱스에 대한 키(310)로 설정하고, 도 4에 도시한 바와 같이 변환된 콘텐츠에 대한 콘텐츠 타입(420), 세션 ID(430), 콘텐츠 크기(440), 마지막 갱신 시간(450)을 저장하는 메타정보(410)를 값(value)으로 하여 로컬 메인 메모리로 구성된 인덱스(140)에 추가한다(단계 1006).
로컬 메인 메모리로 구성된 인덱스(140)에 정보를 추가할 때에는 콘텐츠의 변환 결과 자체는 데이터 크기가 크므로 메인 메모리로 구성된 인덱스(140)에 저장하지 않으며, 대신 인덱스 키(310)와 변환 결과를 쌍으로 하여 공유된 데이터베이스(200)에 변환된 콘텐츠를 저장한다(단계 1007).
변환된 콘텐츠를 데이터베이스(200)에 저장한 후, 캐시에 새로운 콘텐츠가 저장되었음을 다른 모바일 응용 서버 노드들, 예를 들면 모바일 응용 서버N(170)에게 알리기 위해 변환된 콘텐츠에 대한 인덱스 키(310)와 메타 정보(410)를 이용하여 멀티캐스트 메시지(multi-cast message), 즉 복제 메시지를 생성하고, 생성된 메시지를 멀티캐스트 채널(190)로 전송한다(단계 1008).
멀티캐스트 채널(190)을 통해 연결된 클러스터링 내의 모든 모바일 응용 서버들(170)은 전송된 멀티캐스트 메시지를 수신하고, 해당 메시지로부터 인덱스 키(310)와 메타 정보(410)를 추출하여 자신들의 로컬 인덱스(180)에 새로운 인덱스 정보를 저장한다(단계 1009).
이후, 클라이언트(110)로부터 앞 단계에서 저장한 콘텐츠를 요청하는 새로운 HTTP 요청이 부하 분배기(120)에 도달하고(단계 1010), 부하 분배기(120)에 의해 클러스터링에 참여한 임의의 모바일 응용 서버 N(170)으로 HTTP 요청이 전달되면(단계 1011), 임의의 모바일 응용 서버 N(170)은 자신의 로컬 인덱스(180)에서 해당 콘텐츠가 저장되어 있는지를 즉시 검색한다(단계 1012).
모바일 응용 서버 N(170)은 앞 단계에서 해당 콘텐츠에 대한 인덱스 정보를 저장하였으므로 해당 콘텐츠가 캐시에 저장되어 있음을 데이터베이스에 대한 질의 없이 바로 알게 되고, 캐시에 저장되어 있는 콘텐츠를 데이터베이스(200)로부터 추출한다(단계 1013).
이후, 추출된 콘텐츠는 HTTP 응답 메시지 형태로 클라이언트(110)에게 전송되고, 전송된 콘텐츠는 클라이언트 단말(110) 상에 디스플레이 된다(단계 1014).
본 발명에 의하면, 클러스터링 환경을 지원하는 모바일 비즈니스 응용 서버 노드간의 콘텐츠 캐시의 동기화 과정에서 복제 메시지의 양을 줄이면서도 네트워크로 연결된 공유 데이터베이스가 아닌 로컬 메모리 상에서 콘텐츠에 대한 캐시 저장 여부를 알 수 있는 바, 빠른 검색 속도를 제공하는 효과가 있다.
이상, 본 발명을 실시예에 근거하여 구체적으로 설명하였지만, 본 발명은 이러한 실시예에 한정되는 것이 아니라, 후술하는 특허청구범위의 기술적 사상과 범주 내에서 여러 가지 변형이 가능한 것은 물론이다.
Claims (4)
- 삭제
- 클러스터링에 참여하는 다수의 모바일 비즈니스 응용 서버 노드에서 멀티캐스트와 데이터베이스 공유 방식을 혼용한 콘텐츠 캐시 동기화 방법으로서,클라이언트로부터의 콘텐츠 서비스 요청에 대응하여 상기 다수의 모바일 비즈니스 응용 서버 노드들 중 제 1 모바일 비즈니스 응용 서버를 통해 상기 클라이언트의 요청 콘텐츠를 상기 클라이언트의 단말기 특성에 맞춰 변환하는 제 1 단계와,상기 제 1 단계에서 변환된 콘텐츠 정보를 상기 클라이언트로 전송하여 상기 클라이언트의 단말기 상에 디스플레이되도록 하되, 상기 콘텐츠에 대한 인덱스 키 정보를 기반으로 상기 콘텐츠 정보의 변환 결과에 대한 메타 정보를 생성하여 상기 제 1 모바일 비즈니스 응용 서버 내의 로컬 인덱스에 추가하는 제 2 단계와,상기 제 1 단계에서 변환된 콘텐츠 정보를 상기 다수의 모바일 비즈니스 응용 서버 노드들 간에 네트워크로 공유된 데이터베이스에 저장하는 제 3 단계와,상기 제 2 단계에서 생성된 메타 정보를 기반으로 복제 메시지를 생성하여 멀티캐스트 네트워크를 통해 상기 다수의 모바일 비즈니스 응용 서버 노드로 전송하는 제 4 단계와,상기 전송된 메타 정보 기반의 복제 메시지를 상기 다수의 모바일 비즈니스 응용 서버 노드 내의 로컬 인덱스에 저장함으로써 상기 다수의 모바일 비즈니스 응용 서버 노드에서 캐시 인덱스를 구성하는 제 5 단계와,상기 캐시 인덱스를 구성한 다수의 모바일 비즈니스 응용 서버 노드로 상기 클라이언트에 의한 콘텐츠 서비스가 요청되면 요청된 콘텐츠가 상기 다수의 모바일 비즈니스 응용 서버 내의 로컬 인덱스에 저장되어 있는지를 검색하는 제 6 단계와,상기 검색 결과 상기 로컬 인덱스에 요청 콘텐츠가 저장되어 있으면 상기 데이터베이스 내에 저장된 변환 콘텐츠 정보를 추출하여 상기 클라이언트로 전송하는 제 7 단계와,상기 검색 결과 상기 로컬 인덱스에 요청 콘텐츠가 저장되어 있지 않으면 해당 콘텐츠를 검색하여 상기 제 1 단계부터 반복하는 제 8 단계를 포함하는 클러스터링 환경에서의 모바일 비즈니스 응용 서버간 콘텐츠 캐시 동기화 방법.
- 제 2 항에 있어서,상기 인덱스 키 정보는 URL(Uniform Resource Locator) 문자열 정보와 단말기 식별 문자열 정보로 이루어지는 것을 특징으로 하는 클러스터링 환경에서의 모바일 비즈니스 응용 서버간 콘텐츠 캐시 동기화 방법.
- 제 2 항에 있어서,상기 메타 정보는 콘텐츠 유형 정보, HTTP 세션 ID 정보, 콘텐츠 크기 정보, 갱신 시간 정보로 각각 이루어지는 것을 특징으로 하는 클러스터링 환경에서의 모바일 비즈니스 응용 서버간 콘텐츠 캐시 동기화 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030080834A KR100545744B1 (ko) | 2003-11-15 | 2003-11-15 | 클러스터링 환경에서의 모바일 비즈니스 응용 서버간 콘텐츠 캐시 동기화 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030080834A KR100545744B1 (ko) | 2003-11-15 | 2003-11-15 | 클러스터링 환경에서의 모바일 비즈니스 응용 서버간 콘텐츠 캐시 동기화 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050046974A KR20050046974A (ko) | 2005-05-19 |
KR100545744B1 true KR100545744B1 (ko) | 2006-01-24 |
Family
ID=37246105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030080834A KR100545744B1 (ko) | 2003-11-15 | 2003-11-15 | 클러스터링 환경에서의 모바일 비즈니스 응용 서버간 콘텐츠 캐시 동기화 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100545744B1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101221672B1 (ko) | 2006-11-30 | 2013-01-14 | 재단법인서울대학교산학협력재단 | 데이터 동기화 시스템 |
KR101351522B1 (ko) * | 2010-07-16 | 2014-01-23 | 주식회사 아라기술 | 컨텐츠 기반 캐싱 키를 이용하여 정보를 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 |
KR102209044B1 (ko) * | 2020-03-12 | 2021-01-29 | 주식회사 케이비시스 | 클라우드 네이티브 데이터베이스 구조를 갖는 클라우드 시스템 |
CN115877802B (zh) * | 2022-11-30 | 2023-11-10 | 苍南县求是中医药创新研究院 | 一种生产过程数据采集与监控方法与系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020031691A (ko) * | 2000-10-23 | 2002-05-03 | 이철호 | 실시간 인터넷 콘텐츠 변환 방법 및 시스템 |
KR20020093519A (ko) * | 2001-06-09 | 2002-12-16 | 주식회사 티아이엠시스템 | 메인 메모리 데이터베이스 시스템의 색인 구조를 위한캐쉬에 최적화된 동시성 제어방법 |
-
2003
- 2003-11-15 KR KR1020030080834A patent/KR100545744B1/ko not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020031691A (ko) * | 2000-10-23 | 2002-05-03 | 이철호 | 실시간 인터넷 콘텐츠 변환 방법 및 시스템 |
KR20020093519A (ko) * | 2001-06-09 | 2002-12-16 | 주식회사 티아이엠시스템 | 메인 메모리 데이터베이스 시스템의 색인 구조를 위한캐쉬에 최적화된 동시성 제어방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20050046974A (ko) | 2005-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8626844B2 (en) | Methods and media for exchanging data between nodes of disconnected networks | |
JP4938074B2 (ja) | リソースの位置情報の要求方法、当該方法のためのユーザノードおよびサーバ | |
CN103051663A (zh) | 图片共享对等网络中用于改进访客图像查看性能的代理高速缓存技术 | |
EP2773080A1 (en) | Sharing control system and method for network resources download information | |
CN102882974B (zh) | 一种通过网站识别版本号节省网站访问资源的方法 | |
CN103108008B (zh) | 一种下载文件的方法及文件下载系统 | |
WO2008104131A1 (fr) | Procédé, appareil et système de recherche et de téléchargement d'un fichier de téléphone mobile | |
US8768886B2 (en) | Using AMQP for replication | |
CN103001964B (zh) | 一种局域网环境下的缓存加速方法 | |
JP2009532785A (ja) | 遠隔装置を介して異なるデータストアを検索するシステム及び方法 | |
CN108733821A (zh) | 一种监控视频截图的分发与展示方法及系统 | |
CN101360260A (zh) | 适合2.5g/3g移动数据网络的混合式移动p2p内容共享系统架构 | |
CN100377522C (zh) | 一种内容分发网络中oma下载的实现方法 | |
JP2006190205A (ja) | ネットワークシステム、情報処理方法、情報処理プログラム及び情報処理装置 | |
CN110798495B (zh) | 用于在集群架构模式下端到端的消息推送的方法和服务器 | |
CN114218540A (zh) | 项目访问方法及装置 | |
CN107347100B (zh) | 一种内容分发网络的透明代理转发方法 | |
KR100545744B1 (ko) | 클러스터링 환경에서의 모바일 비즈니스 응용 서버간 콘텐츠 캐시 동기화 방법 | |
CN101741877B (zh) | 媒体资源的操作方法、系统和设备 | |
CN107682281A (zh) | 一种sdn交换机和sdn交换机的应用管理方法 | |
KR20090006504A (ko) | 아이피 멀티미디어 서브시스템에서 피투피 서비스 제공방법 및 장치 | |
US20050021867A1 (en) | Synchronization arrangement | |
JP2007188514A (ja) | サーバ側プロキシ装置、クライアント側プロキシ装置、データ転送方法及びプログラム | |
US20150227534A1 (en) | Method for processing data query using information-centric network | |
US11086822B1 (en) | Application-based compression |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20090102 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |