멀티미디어 CE 기기(Multimedia Consumer Electronics Device)란 MP3 플레이어, PMP(Personal Media Player), 디지털 카메라 등과 같이 멀티미디어 데이타를 저장, 재생, 생성하는데 사용되는 기기를 말한다. 대부분의 멀티미디어 CE 기기는 기기에 저장된 멀티미디어를 검색하고, 그 결과를 브라우징하는 기능을 제공한다. 멀티미디어 CE 기기의 요구 사항 중의 하나는 사용자가 멀티미디어의 검색 결과를 브라우징하는 도중 기기의 전원이 꺼지더라도, 전원이 켜지면 원래의 브라우징 화면이 그대로 복구되어야 한다는 것이다. 기존의 방법은 이를 위해, (1) 검색 질의를 재수행하고, (2) 커서를 원래 브라우징하던 검색 결과의 레코드 위치까지 다시 이동시키는 방법을 사용해왔다. 그러나 이 방법은 검색 결과의 레코드 수가 많아질수록 많은 시간이 걸릴 수 있다. 본 논문에서는 멀티미디어의 검색 결과를 브라우징하는 도중, 기기의 전원이 꺼졌다 켜지더라도 원래의 브라우징 화면을 즉각적으로 복구할 수 있도록 하는 방법을 제안한다. 제안하는 방법은 검색 질의에 대한 질의 수행 계획의 일부 정보를 저장함으로써, 원래의 브라우징 화면을 즉각적으로 복구할 수 있도록 해준다. 실험 결과를 통해, 제안하는 방법은 검색 결과의 개수나 커서의 위치에 관계 없이 항상 일정한 성능을 제공함을 보인다.
멀티미디어 CE 기기(Multimedia Consumer Electronics Device)란 MP3 플레이어, PMP(Personal Media Player), 디지털 카메라 등과 같이 멀티미디어 데이타를 저장, 재생, 생성하는데 사용되는 기기를 말한다. 대부분의 멀티미디어 CE 기기는 기기에 저장된 멀티미디어를 검색하고, 그 결과를 브라우징하는 기능을 제공한다. 멀티미디어 CE 기기의 요구 사항 중의 하나는 사용자가 멀티미디어의 검색 결과를 브라우징하는 도중 기기의 전원이 꺼지더라도, 전원이 켜지면 원래의 브라우징 화면이 그대로 복구되어야 한다는 것이다. 기존의 방법은 이를 위해, (1) 검색 질의를 재수행하고, (2) 커서를 원래 브라우징하던 검색 결과의 레코드 위치까지 다시 이동시키는 방법을 사용해왔다. 그러나 이 방법은 검색 결과의 레코드 수가 많아질수록 많은 시간이 걸릴 수 있다. 본 논문에서는 멀티미디어의 검색 결과를 브라우징하는 도중, 기기의 전원이 꺼졌다 켜지더라도 원래의 브라우징 화면을 즉각적으로 복구할 수 있도록 하는 방법을 제안한다. 제안하는 방법은 검색 질의에 대한 질의 수행 계획의 일부 정보를 저장함으로써, 원래의 브라우징 화면을 즉각적으로 복구할 수 있도록 해준다. 실험 결과를 통해, 제안하는 방법은 검색 결과의 개수나 커서의 위치에 관계 없이 항상 일정한 성능을 제공함을 보인다.
Multimedia consumer electronics(CE) devices, such as MP3 players, PMPs, and digital cameras, are electronic equipments used to record, play or create multimedia data. Most multimedia CE devices provide uses with the ability to search multimedia stored in the device and browse the search results. One...
Multimedia consumer electronics(CE) devices, such as MP3 players, PMPs, and digital cameras, are electronic equipments used to record, play or create multimedia data. Most multimedia CE devices provide uses with the ability to search multimedia stored in the device and browse the search results. One of the unique requirements in multimedia CE devices is that the search results displayed in the screen must be restored quickly when the device powers off and later back on. For this purpose, the existing methods (1) re-execute the original search query, and (2) move the cursor to the original position in the search results. However, this approach may be inefficient when the number of records in the result set is large. In this paper, we propose an efficient method for multimedia CE devices that can quickly restore the search results displayed in the screen when the device powers off and later back on. The proposed method can retrieve the original search results in the screen quickly by saving and loading some information about the query evaluation plan. Though the performance evaluation, we show that the proposed method provides excellent performance regardless of the number of records in tile result set or the original cursor position.
Multimedia consumer electronics(CE) devices, such as MP3 players, PMPs, and digital cameras, are electronic equipments used to record, play or create multimedia data. Most multimedia CE devices provide uses with the ability to search multimedia stored in the device and browse the search results. One of the unique requirements in multimedia CE devices is that the search results displayed in the screen must be restored quickly when the device powers off and later back on. For this purpose, the existing methods (1) re-execute the original search query, and (2) move the cursor to the original position in the search results. However, this approach may be inefficient when the number of records in the result set is large. In this paper, we propose an efficient method for multimedia CE devices that can quickly restore the search results displayed in the screen when the device powers off and later back on. The proposed method can retrieve the original search results in the screen quickly by saving and loading some information about the query evaluation plan. Though the performance evaluation, we show that the proposed method provides excellent performance regardless of the number of records in tile result set or the original cursor position.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
[기에서는 많은 리소스와 시간이 드는 복찹한질의를 수행할 때, 해당 질의의 수행을 일시적으로 중단시켰다가 추후에 다시 수행하는 방법에 대해 논의하였다. 해당 논문은 질의의 수행을 일시 중단시키기 전에 질의 수행에 대한 일부 정보들을 저장하고, 이를 이용하여 추후에 다시 질의를 이어 수행한다는 점에서 본 논문과 기본 개념이 유사하다.
본 논문에서는 검색 질의의 질의 수행 상태를 저장함으로써, 기기의 전원이 꺼졌다가 다시 켜진 경우에도 원래의 질의 수행 상태를 빠르게 복구할 수 있도록 한다. 질의 수행 상태는 사용자가 전원 버튼을 누를 때나, 커서의 이동에 따라 검색 화면이 바뀔 때, 혹은 주기적인 방식으로 저장될 수 있다.
이렇게 화면을 복구하는 시간이 길어지게 되면 사용자에게 큰 불편을 끼치게 된다. 본 논문에서는 사용자가 데이타베이스 질의에 대한 검색 결과를 브라우징하던 도중 시스템이 꺼졌다가 다시 복구된 경우, 원래 브라우징하던 검색 결과 화면을 즉각적으로 복구하는 방법을 제안한다. 제안하는 방법은 검색 질의에 대한 질의 수행 계획(Query Execution Plan, QEP)의 일부 정보를 저장함으로써, 추후에 이 정보를 사용하여 커서의 원래 위치 및 검색 화면을 복구할 수 있도록
하지만 이러한 방법은 검색 결과의 크기와 커서의 위치에 따라 성능이 악화되는 문제점을 가지고 있다. 본 논문에서는 원래의 검색 화면을 빠르게 복구하기 위하여, 질의 수행계획의 일부 정보를 디스크에 저장하고 이롤 사용하여 화면 구성에 필요한 검색 결과 레코드들을 빠르게 얻는 방법을 제안한다. 제안하는 방법은 커서를 원래 위치로 이동시키는 작업을 하지 않고도 원래 화면을 구성하던 레코드들을 즉시 얻을 수 있기 때문에, 검색 화면을 매우 빠르게 복구할 수 있다.
가설 설정
. 기기의 응답 시간이 매우 빨라야 한다. 즉, 사용자가 기기의 멈춤 현상을 가능한 느끼지 않도록 해야 한다.
해당 논문은 실체화가 필요한 연산자를 가능한 없애고, 파이프라이닝 방식으로 처리가 가능한 연산자만을 포함하는 질의 수행 계획을 생성하는 방법을 사용한다. 본 논문에서는 검색 질의는 기본적으로 파이프라이닝 방식으로 처리된다고 가정한다.
제안하는 방법의 잘의 상태 복구 단계에서는 저장된 질의 문자열을 사용하여 질의 최적화기 (optimizer)를 통해 질의 수행 계획을 재구성한다. 본 논문에서는 질의 상태가 저장된 시점과 질의 상태가 복구되는 시점의 데이타베이스 간에는 변화가 없다고 가정한다. 데이타베이스에 변화가 없는 경우 동일한 질의에 대해서는 항상 동일한 질의 수행 계획이 생성
제안 방법
기기의전원이 다시 켜지면 제안하는 방법은 이 정보를 사용하여 질의 수행 계획에 포함된 모든 순환자의 내부 상태를 저장 시점의 상태로 복구한다. 그 후, 제안하는 방법은 복구된 질의 수행 계획을 사용하여 필요한 수만큼의 결과 레코드를 얻어 다시 원래의 화면을 복구한다. 제안하는 방법은 검색 결과에 포함된 레코드의 수 또는 커서의 원래 위치에 관계없이 항상 일정 수준 이하의 응답 시간을 보장할 수 있다.
기기의전원이 다시 켜지면 제안하는 방법은 이 정보를 사용하여 질의 수행 계획에 포함된 모든 순환자의 내부 상태를 저장 시점의 상태로 복구한다. 그 후, 제안하는 방법은 복구된 질의 수행 계획을 사용하여 필요한 수만큼의 결과 레코드를 얻어 다시 원래의 화면을 복구한다.
[9, 10]. 따라서, 본 논문에서는 질의 상태 저장 단계에서 질의 수행 계획 자체를 저장하는 대신 질의 문자열만을 저장하고, 저장돤 질의 문자열을 사용하여 원래의 질의수행 계획을 재구성한다.
이때 임시 테이블은 이미 디스크에 쓰여진 내용이므로 이를 다시 저장할 필요는 없으며, 이미 생성돤임시 테이블을 유지만 하면 된다. 따라서, 제안하는 방법은 임시 테이블을 저장하기 위한 별도의 비용을 발생시키지 않는다. 이렇게 임시 테이블이 저장되는 경우에는, 해당 연산자의 모든 결과 레코드가 저장되는 것이므로 추후에 해당 연산자의 하위 레벨 연산자들은 다시 수행될 필요가 없다.
본 논문에서 제안하는 방법은 필요할 때 마다 질의수행 계획의 일부 정보를 저장함으로써, 이를 사용하여 원래의 브라우징 화면을 빠르게 복구할 수 있도록 한다, 저장되는 정보에는 질의 수행 계획에 포함된 일부 순환자에 대한 내부 상태(local state)가 포함된다. 기기의전원이 다시 켜지면 제안하는 방법은 이 정보를 사용하여 질의 수행 계획에 포함된 모든 순환자의 내부 상태를 저장 시점의 상태로 복구한다.
본 장에서는 실제 상용으로 사용되는 멀티미디어 CE 기기 환경에서, 본 논문에서 제안하는 질의 상태 저장 방법의 비용을 측정하고, 제안하는 질의 상태 복구 방법과 기존의 방법을 비교한 실험결과를 기술한다. 실험은 200MHz의 ARM-core CPU와 32MB의 DRAM을 장착한 상용 MP3 플레이어에서 수행되었다.
따라서 제안하는 방법은 질의를 재수행하고 커서를 레코드 단위로 하나씩 이동하여 원래의 위치로 이동시키는 작업을 수행하지 않고서도, 거의 즉각적으로 원래의 브라우징 화면올 다시 복구할 수 있다. 사용자는 복구된 화면에서 커서를 위아래로 이동시켜 다른 검색 결과를 다시 자유롭게 브라우징할 수 있다, 또한 제안하는 방법은 검색 결과의 크기나 커서의 원래 위치에 상관없이 항상 일정한 시간 내의 응답 시간을 보장한다.
레코드가 검색되었다. 실험에서는 총 1,000개의 결과 레코드들 중, 기기의 전원이 꺼지기 전에 커서가 100번째 레코드에 위치해 있었을 때부터 1,000번째 레코드에 위치해 있었을 때까지, 커서의 위치를 100개 레코드 단위로 변경해가면서 제안하는 방법의 성능을 측정하였다. 그림 11은 제안하는 방법을 사용하여 질의 상태를 저장하고, 복구하는데 걸리는 시간을 측정한 결과이다.
제안하는 방법에서 질의 상태 저장 단계 수행 도중 기기의 전원이 꺼질 수도 있다. 이 경우, 일부 노드에 대한 내부 상태는 디스크에 저장 되고 일부 노드의 내부 상대는 디스크에 저장되지 못할 수도 있다.
본 논문에서는 사용자가 데이타베이스 질의에 대한 검색 결과를 브라우징하던 도중 시스템이 꺼졌다가 다시 복구된 경우, 원래 브라우징하던 검색 결과 화면을 즉각적으로 복구하는 방법을 제안한다. 제안하는 방법은 검색 질의에 대한 질의 수행 계획(Query Execution Plan, QEP)의 일부 정보를 저장함으로써, 추후에 이 정보를 사용하여 커서의 원래 위치 및 검색 화면을 복구할 수 있도록 한다. 따라서 제안하는 방법은 질의를 재수행하고 커서를 레코드 단위로 하나씩 이동하여 원래의 위치로 이동시키는 작업을 수행하지 않고서도, 거의 즉각적으로 원래의 브라우징 화면올 다시 복구할 수 있다.
제안하는 방법은 질의 수행 계획 내에 실체화 방법으로 처리되는 연산자가 있을 경우, 해당 연산자에 대해 생성된 임시 테이블과 해당 연산자에 대한 순환자가 가리키고 있던 임시 테이블 내의 레코드 RID를 함께 저장한다. 이때 임시 테이블은 이미 디스크에 쓰여진 내용이므로 이를 다시 저장할 필요는 없으며, 이미 생성돤임시 테이블을 유지만 하면 된다.
따라서, 질의를 재수행하거나 커서를 원래 위치로 다시 이동시키는 작업을 하지 않고서도 질의 수행상태를 저장한 시점에 화면을 구성했던 결과 레코드들을 즉각적으로 얻어올 수 있다. 제안하는 방법은 질의상태 저장 단계와 질의 상태 복구 단계의 2단계로 구성된다.
본 논문에서는 원래의 검색 화면을 빠르게 복구하기 위하여, 질의 수행계획의 일부 정보를 디스크에 저장하고 이롤 사용하여 화면 구성에 필요한 검색 결과 레코드들을 빠르게 얻는 방법을 제안한다. 제안하는 방법은 커서를 원래 위치로 이동시키는 작업을 하지 않고도 원래 화면을 구성하던 레코드들을 즉시 얻을 수 있기 때문에, 검색 화면을 매우 빠르게 복구할 수 있다. 또한 제안하는 방법은 검색 결과의 크기나 커서의 원래 위치에 관계없이 항상 일정한 성능을 유지한다, 실제 MP3 플레이어 환경에서의 실험을 통해, 제안하는 방법은 기존 방법에 비해 수 십 배 이상의 성능을 낼 수 있음을 보였다.
제안하는 방법은 파이프라이닝 방식의 질의 수행에 기반을 두고 있다. 하지만, 43절에서 설명한 바와 같이 제안하는 방법은 실체화 방식으로 수행되는 연산자를 포함하는 질의에 대해서도 적용이 가능하다.
복구한다. 제안하는 방법의 잘의 상태 복구 단계에서는 저장된 질의 문자열을 사용하여 질의 최적화기 (optimizer)를 통해 질의 수행 계획을 재구성한다. 본 논문에서는 질의 상태가 저장된 시점과 질의 상태가 복구되는 시점의 데이타베이스 간에는 변화가 없다고 가정한다.
질의 상태 저장 요청이 들어오면, 제안하는 방법은 주어진 질의 수행 계획을 탐색하여 단말 순환자들의 내부상태를 저장한다. 이 때, 질의 수행 계획을 탐색하는 데는 깊이 우선 탐색 (depth-first search) 또는 너비 우선 탐색(breadth-first search) 등과 같은 일반적인 탐색방법을 사용할 수 있다.
[3]은 모바일 디바이스 환경에서 가능한 파이프라 이닝 방식으로 질의를 처리하는 방법에 대해 논의하였다. 해당 논문은 실체화가 필요한 연산자를 가능한 없애고, 파이프라이닝 방식으로 처리가 가능한 연산자만을 포함하는 질의 수행 계획을 생성하는 방법을 사용한다. 본 논문에서는 검색 질의는 기본적으로 파이프라이닝 방식으로 처리된다고 가정한다.
대상 데이터
Content 테이블에는 총 10, 000개의 레코드가 삽입되었으며, 그림 9의 질의를 수행한 결과 총 1,000개의 결과 레코드가 검색되었다. 실험에서는 총 1,000개의 결과 레코드들 중, 기기의 전원이 꺼지기 전에 커서가 100번째 레코드에 위치해 있었을 때부터 1,000번째 레코드에 위치해 있었을 때까지, 커서의 위치를 100개 레코드 단위로 변경해가면서 제안하는 방법의 성능을 측정하였다.
기존의 방법을 비교한 실험결과를 기술한다. 실험은 200MHz의 ARM-core CPU와 32MB의 DRAM을 장착한 상용 MP3 플레이어에서 수행되었다. 해당 MP3 플레이어는 Linux 기반 플랫폼을 사용하고 있으며, 8GB 플래시 메모리를 저장 매체로 사용한다.
성능/효과
2.2절에서 설명한 바와 같이 각 순환자들은 NextO 함수가 호출되었을 때 다음 결과 레코드를 반환하기 위하여 자신의 내부 상태를 유지하고 았음을 상기하라.
4.2절에서 설명한 바와 같이, 제안하는 방법의 질의상태 저장 단계는 기기의 전원이 꺼질 때나 커서 이동에 따라 브라우징 화면이 변경될 때, 혹은 주기적으로 수행될 수 있다. 따라서 질의 상태 저장 단계는 어플리케이션의 성능에 영향을 미치므로 가능한 적은 비용으로 처리되어야 한다.
이러한 성능 차이는 검색 결과에 포함된 레코드의 수가 많을수록 더욱 커지게 된다. 따라서 제안하는 방법은 전원이 빈번하게 꺼졌다 켜지는 멀티미디어 CE 기기 환경에서 실제 기기의 응답 시간을 줄이기 위해 매우 효과적으로 사용될 수 있음을 알 수 있다.
" data-before="한다" data-ocr-fix="">한다. 따라서 제안하는 방법은 질의를 재수행하고 커서를 레코드 단위로 하나씩 이동하여 원래의 위치로 이동시키는 작업을 수행하지 않고서도, 거의 즉각적으로 원래의 브라우징 화면올 다시 복구할 수 있다. 사용자는 복구된 화면에서 커서를 위아래로 이동시켜 다른 검색 결과를 다시 자유롭게 브라우징할 수 있다, 또한 제안하는 방법은 검색 결과의 크기나 커서의 원래 위치에 상관없이 항상 일정한 시간 내의 응답 시간을 보장한다.
제안하는 방법은 커서를 원래 위치로 이동시키는 작업을 하지 않고도 원래 화면을 구성하던 레코드들을 즉시 얻을 수 있기 때문에, 검색 화면을 매우 빠르게 복구할 수 있다. 또한 제안하는 방법은 검색 결과의 크기나 커서의 원래 위치에 관계없이 항상 일정한 성능을 유지한다, 실제 MP3 플레이어 환경에서의 실험을 통해, 제안하는 방법은 기존 방법에 비해 수 십 배 이상의 성능을 낼 수 있음을 보였다.
수 있다. 또한, 제안하는 방법은 질의 상태를 저장할 때마다 모든 순환자의 내부 상태를 디스크에 쓰는 대신, 단말 순환자와 실체화 방식으로 수행되는 순환자에 대한 내부 상태만을 저장하므로 잘의 상태 저장 단계의 비용을 더욱 줄일 수 있다. 또한 질의 상태를 저장할 때마다 매번 질의 문자열을 저장하는 대신, 최초 1회만 질의 문자열을 저장하도록 하여 질의 상태 저장 비용을 더욱 줄일 수 있다.
따라서, 기존의 방법은 커서의 위치가 검색 결과의 뒤에 있을수록 커서의 위치에 비례하여 성능이 저하된다. 반면에 제안하는 방법은 커서의 원래 위치에 관계없이 항상 일정한 성능을 유지함을 알 수 있다. 그림 12에서 제안종}는 질의 상태 복구 방법은 커서의 원래 위치에 관계없이 약 3ms이내로 항상 일정한 성능이 유지되고 있지만, 기존의 방법은 0.
그 후, 제안하는 방법은 복구된 질의 수행 계획을 사용하여 필요한 수만큼의 결과 레코드를 얻어 다시 원래의 화면을 복구한다. 제안하는 방법은 검색 결과에 포함된 레코드의 수 또는 커서의 원래 위치에 관계없이 항상 일정 수준 이하의 응답 시간을 보장할 수 있다. 또한 원래의 질의 수행 상태를 복구하는 것이기 때문에, 사용자가 화면 외의 나머지검색 결과도 커서를 이동하여 자유롭게 브라우징할 수 있다.
제안하는 방법은 질의 상태를 저장할 때마다 질의 수행 계획을 탐색하여 일부 순환자의 내부 상태를 디스크 예 써야 하는 비용이 발생한다, 이는 특히 플래시 메모리를 저장 장치로 사용하는 멀티미디어 CE 기기에서 많은 비용을 야기할 수 있다. 그러나 제안하는 방법에서 질의 상태 저장 단계는 검색 결과 레코드를 하나씨 얻을 때마다 매번 수행될 필요는 없으며, 다음의 경우에만 수행되면 돤다.
제안하는 방법은 질의 수행 계획에 포함된 모든 순환자들의 내부 정보를 저장하는 대신 단말 노드에 해당하는 순환자들의 내부 정보만을 저장함으로써 질의 상태 저장의 비용을 크게 줄안다. 질의 수행 계획의 단말 노드로는 테이블 순환자와 인덱스 순환자 두 종류의 순환 자만이 올 수 있다.
후속연구
본 논문에서는 검색 질의는 기본적으로 파이프라이닝 방식으로 처리된다고 가정한다. 그러나 본 논문에서 제안하는 방식은 질의 수행 계획에 포함된 연산자의 일부가 실체화 방식으로 수행되는 경우에도 적용될 수 있다.
위와 같은 경우는 실제 그리 빈번하게 발생하는 일이 아니므로 제안하는 방법은 비교적 적은 비용으로 수행될 수 있다. 또한, 제안하는 방법은 질의 상태를 저장할 때마다 모든 순환자의 내부 상태를 디스크에 쓰는 대신, 단말 순환자와 실체화 방식으로 수행되는 순환자에 대한 내부 상태만을 저장하므로 잘의 상태 저장 단계의 비용을 더욱 줄일 수 있다.
참고문헌 (10)
A. Eisenberg, J. Melton, 'SQL Standardization: The Next Steps,' ACM SIGMOD Record, 29(1), pp. 63-67, 2000
Silberschatz A., Korth H., Sudarshan, S. 'Database System Concepts,' 4th edition, McGrawHill, 2001
Pucheral P., Bouganim L., Valduriez P., Bobineau C., 'PicoDBMS: Scaling down Database Techniques for the Smartcard,' Very Large Data Bases Journal (VLDBJ), 10(2-3), 2001
Anciaux N., Bouganim L., Pucheral P., 'Memory Requirements for Query Execution in Highly Constrained Devices,' Int. Conf. on Very Large Data Bases (VLDB), 2003
N. Anciaux, L. Bouganim, P. Pucheral, 'On Finding a Memory Lower Bound for Query Evaluation in Lightweight Devices,' Technical Report, PRiSM, 2003
G. Graefe, 'Query Evaluation Techniques for Large Databases,' ACM Computing Surveys, 25(2), 1993
B. Chandramouli, Christopher N. Bond, ShivnathB., J. Yang, 'Query Suspend and Resume,' ACM SIGMOD Conference, 2007
※ AI-Helper는 부적절한 답변을 할 수 있습니다.