모바일 PST를 위한 효율적 PA 기법 설계 및 구현

Design and Implementation of Efficient PA Technology for Mobile PST

  • cc icon
  • ABSTRACT

    PST는 제품 컨설팅을 위해 제품 카탈로그를 시스템화 한 것으로 대다수의 모바일 PST(Premium Sales Tool)는 DA(Dynamic Allocation)기법을 사용한다. 그러나 모바일 기기는 수용할 수 있는 자원이 한정되어 있어 고해상도의 콘텐츠를 연속적으로 질의 할 경우 요청한 리소스가 대기상태로 쌓여 CPU의 과부하가 발생할 수 있다.

    따라서 본 논문에서는 사용자의 제스처에 따라 페이지 할당과 해제를 주기적으로 제공함으로써 부하 발생에 대한 문제를 개선하여 향상된 PST 시스템을 설계 및 구현하였다. 구현한 시스템의 성능을 테스트 한 결과 기존 DA 기반시스템 보다 제안한 PA(Pattern Allocation) 기반 시스템이 페이지 할당과 해제 빈도수에 대한 부하가 평균 약 78%의 감소율을 보였으며, CPU 점유율은 평균 약72% 감소한 것을 확인하였다.


    PST stands for the Premium Sales Tool for Product Consulting is customized product catalog system. In other words, the product classification categories of content for consulting and sales to customers by providing useful information for the maximization of an overall system. These problems with mobility and flexibility of updating the solution to integrate mobile with mobile devices, but high-performance high-resolutions era content data continuously, but still it is difficult to handle.

    In this paper, to solve this problem, depending on the user's gesture by allowing periodic allocation and release of a problem for load generation enhanced by improving the PST system has been designed and implemented. Implementation was a result of the test the performance of the system, that PA system that has been provided by the traditional DA system show the allocation and the average 78% of the rate of decrease the load is released in the frequency of page, CPU utilization was reduced an average 72% I was confirmed.

  • KEYWORD

    카탈로그 , 모바일 , DA기법 , PA기법 , PST

  • Ⅰ. 서 론

    PST는 Premium Sales Tool의 약자로 제품 컨설팅을 위해 제품 카탈로그를 시스템화 한 것으로 주로 종이와 전자 카탈로그를 이용하고 있다. 특히 전자 카탈로그는 상품 갱신이 용이하며, 갱신 제품정보의 신속한제공과 동영상, 소리 사용이 가능하여 제품정보 질을 높일 수 있는 장점이 있으나 컴퓨터가 없으면 이용불가하다[1].

    이에 최근에는 모바일 기기 보급을 통하여 인터넷 접속할 수 있으며, 이동이 자유롭고 업데이트가 가능한 다양한 모바일 기기를 통해 기존 카탈로그 개선을 위한 다양한 연구가 활발하게 진행 중이다[2,3].

    그러나 모바일 기기는 수용할 수 있는 데이터 자원이 한정되어 있어 고해상도의 콘텐츠 데이터를 연속적으로 질의 했을 경우 요청한 리소스가 대기상태로 쌓여 CPU의 과부하가 발생하는 치명적인 문제점이 있다.

    따라서 본 논문은 이를 해결하기 위해 사용자의 제스처에 따라 페이지 할당과 해제를 주기적으로 관리함으로써 CPU부하 발생에 대한 치명적인 문제를 개선하기 위한 향상된 PST 시스템을 설계 및 구현하였다.

    본 논문의 구성은 1장 서론에 이어 2장에서는 PST, 데이터 스트림, 앱 샌드박스를 분석하고, 3장에서 가로세로 페이징 처리를 위한 UI와 데이터를 효율적 관리를 위한 PA를 설계하였다. 그리고 4장에서는 이를 구현 및 테스트 하고, 마지막 5장에서 결론을 기술하였다.

    Ⅱ. 관련연구

       2.1. PST(Premium Sales Tool)

    PST는 제품 컨설팅을 위하여 제품 카탈로그를 시스템화한 것으로, 제품 컨설팅을 위한 콘텐츠 범주를 분류하여 고객에게 정보를 제공하기 위한 시스템이다.

    제품 카탈로그는 주로 종이나 전자 카탈로그를 이용하고 있다. 이는 제품이 새로 출시될 때 마다 카탈로그의 양이 늘게 되고 매번 업데이트를 해야 한다.

    또한 전자 카탈로그를 사용한다고 하더라도 노트북이나 PC를 이용해야 되기 때문에 이동성이 확보되었다고 보기도 힘들다. 이에 따라 업무의 복잡성이 발생하고 사용자가 고객에게 컨설팅하기 어려운 문제점이 발생한다.

       2.2. 데이터 스트림 관리

    데이터 스트림에서는 입력되는 데이터에 따라 실시간으로 대응함으로, 이를 저장하기 위한 스트림 큐는 그 저장 공간이 동적으로 변해야 할 필요가 있다.

    일반적으로 동적인 메모리 관리를 위해 메모리 풀을 사용하는데, 메모리 풀은 생성될 때 대용량의 메모리를 할당 받고, 이 메모리를 고정된 크기의 페이지로 분리하는 역할을 수행한다.

    또한 메모리 풀에서는 페이지 할당 요청에 따라서 여분의 페이지를 요청한 만큼 제공하거나 페이지 해제를 요청하면, 페이지를 여분 페이지로 돌려 관리한다.

    즉, 데이터 스트림 관리 시스템에서는 메모리 풀을 사용하여 스트림 큐를 동적으로 관리하는 것을 말하며, DA기법이란 이러한 메모리 풀로부터 새로운 데이터 페이지를 할당 받고 사용하지 않으면 즉시 해제하는 작업이 즉각적으로 이루어지는 기법이다[4].

       2.3. App Sandbox Storage

    iOS 플랫폼은 앱이 메모리 사용 및 데이터 저장소의 측면에서 서로에게 간섭받지 않도록 관리한다. 따라서 각각의 앱은 데이터를 저장할 수 있는 파일 시스템에 제한을 받는다. 또한 iOS는 앱들이 각 앱의 Documents와 Temporary 디렉터리에만 읽고 쓰기를 허용한다. 이를 앱 샌드박스라고 부른다[5]. 그림 1은 앱 샌드박스의 레이아웃이다.

    앱 샌드박스는 악성 코드가 앱에 침입했을 경우 앱 샌드박스에서 도난, 손상, 삭제된 사용자 데이터에 대한 보안을 제공한다. 또한 앱 또는 프레임워크에서 코딩의 에러에 대한 손상을 최소화하는 역할도 한다.

    Ⅲ. Mobile PST 시스템의 설계

       3.1. 설계 시스템의 개요

    클라이언트에서는 서버에 요청한 데이터를 앱 고유저장소 샌드박스에 저장하고, 콘텐츠 정보를 가지고 있는 XML데이터를 파싱하여 iPad에 적용하여 사용자에게 직관적UI를 제공한다. 그림 2는 사용자에게 다양한 콘텐츠 제공을 위한 대용량 데이터 관리구조이다.

       3.2. Mobile PST 설계 시 고려사항

    Mobile 기반 앱은 웹 서버에서 콘텐츠를 전송 받아 처리하고, 고해상도 사진, 동영상 등의 대용량 데이터를 다루기 위한 요구사항을 고려해야 한다[6,7].

    메모리 관리를 위해 이미지의 포지션에 따라 주기적으로 사용하는 이미지와 간헐적으로 사용하는 이미지를 분류하여 각각 처리하였다. 또한 유연성을 위해 수정, 추가 사항에 대한 요청에 유연하게 대처할 수 있도록 콘텐츠를 서버에서 별도로 관리하고, 콘텐츠 정보를 담고 있는 XML을 이용하여 자료의 재사용성을 높였다. 그리고 간편한 UI를 위해 최소한의 컨트롤과 콘텐츠를 각 기능에 따라 분류하였다. 각 기능에 따른 내용은 가로뷰로, 세부적인 내용은 세로뷰로 분류하여 상하좌우 페이징 가능한 UI로 설계 및 구현하였다.

       3.3. Mobile PST 동작절차

    본 논문에서 제안하는 시스템의 동작절차는 그림 3과 같다. 썸네일 화면①에서 ‘B’사진을 터치 했을 때 선택된 ‘B’화면이 확대되고, 그 화면은 ②와 같다.

    ②화면을 우측에서 좌측으로 플리킹(Flicking : 손가락으로 튀기는 동작)하면 ③과 ②는 화면에서 사라지고 우측에 있던 ‘C’가 화면에 출력된다. ④는 ③을 아래에서 위로 플리킹하면 출력되는 화면이며, ‘C’를 밀어내고 ‘F’가 화면에 출력되는 것을 확인 할 수 있다.

       3.4. Image loading 설계

    본 논문에서 제안하는 시스템 UI는 사용자 편의에 따라 최소입력으로 화면에 이미지를 출력하고, 연속적 질의에 따라 샌드박스에 저장된 콘텐츠를 사용자에게 출력하여야 한다. DA기법은 요청에 따라 페이지 할당과 즉시 해제를 반복하여 데이터 손실, 명멸이 생긴다. 이러한 문제점을 개선하여 데이터 가로세로에 따라 연관성에 따라 분류하고, 사용자 제스처 패턴을 분석하 여 콘텐츠 할당과 해제를 재설계하였다.

       3.5. 뷰의 라이프 사이클

    뷰의 라이프사이클은 제스처 이벤트가 요청시 큐영역의 객체 개수를 확인하여 3이하인 경우 뷰를 생성해 큐에 저장한다. 현재 생성된 뷰가 사용자에 의해 요청된 페이지와 다음 출력될 페이지를 구분하고, 조건에 따라 삭제될 뷰 번호를 반환한다. 삭제된 뷰는 큐의 객체와 비교하여 이 또한 제거 한다. 기존 시스템에서는 한 화면에서 가로, 세로 중 하나의 페이징만 수행되어 사용자가 전·후 두 상황만 고려하면 되지만 콘텐츠를 연속적으로 질의하게 되면 응답 시간이 지연되고, 부하가 심하면 강제종료 될 수 있다. 본 논문에서는 이러한 문제점 해결을 위해 Image loading 설계를 기반으로 뷰 라이프사이클 동작 알고리즘을 제안하였다. 그림 4는 뷰 라이프사이클 동작 알고리즘이다.

       3.6. Data Flow Diagram

    제안 시스템은 앱의 유연성을 고려하여 로컬에서 콘텐츠 데이터를 관리하는 것이 아니라 서버에서 별도로 관리하여, 최신 데이터를 간편하게 받아 볼 수 있다. 그림 4는 제안하는 Mobile PST의 DFD이다.

    iPad는 최신 정보에 대한 기록 정보를 서버에 요청하고, 서버로부터 받은 정보와 로컬 DB의 정보와 비교하여, 전송 받을 데이터를 서버에 요청한다. 클라이언트는 요청한 압축파일을 받아 압축을 해제한다.

    Ⅳ. Mobile PST 시스템 구현 및 테스트

       4.1. 콘텐츠 뷰의 XML 데이터 맵핑

    본 논문에서 구현한 Mobile PST는 Mac OS 운영체제로 XCode를, 개발언어는 Objective-C를 사용하였다.

    콘텐츠 뷰는 이미지, 동영상 콘텐츠 등을 제공하는 가장 화려하고 활동적인 뷰로, 각 콘텐츠 뷰는 XML에 정의한 컨트롤과 타깃 이벤트정보와 맵핑하여 보이게 된다. 그림 6은 각 뷰의 이미지 네임, 크기 등 콘텐츠의 모든 정보를 XML 데이터로 정의 하고 있다.

    그림 7그림 6의 XML에서 얻어온 데이터를 파싱하여 매핑코드를 구현하였다.

    XML로 뷰의 콘텐츠 관련 정보를 정의하고, 정보를 바탕으로 이벤트를 실행하기 때문에 자료 재사용과 업데이트에 대한 유연성을 확보할 수 있다.

       4.2. 성능평가

    본 논문에서 제안하는 시스템이 UI의 메모리관리에 적합함을 증명하기 위해 기존 일반페이지 할당 기법으로 스트림 큐 공간을 초과할 때 마다 메모리 풀로부터 새로운 데이터 페이지를 할당 받고 사용하지 않는 페이지를 즉시 해제하는 방법(DA)과 제안기법(PA)의 페이지 할당 및 해제 빈도수와 질의 별 CPU 점유율 비교 평가를 통해 병목현상이 감소되는 것을 확인한다. 표 1는 제안하는 시스템의 단위테스트 절차이다.

    구현한 시스템은 연속질의를 100으로 제한하고, 입력데이터는 콘텐츠의 해상도를 변경 하면서 테스트 했으며, DA와 PA의 할당 및 해제 빈도수와 CPU점유율을 비교하였으며 결과는 표 2와 같다.

    연속질의를 통한 성능평가 테스트 결과, 할당과 해제빈도수는 해상도에 관계없이 기존 DA시스템은 평균수치인 61.27보다 제안한 PA시스템 13.40으로 약 78.13%의 감소율을 보였다. 또한 CPU 점유율도 향상된 결과를 보였으며, 해상도에 따라 다른 성능 비를 보였다. 각 콘텐츠별 CPU점유율은 해상도가 제일 낮은 ‘콘텐츠A’가 61.29%의 감소율을 보였으며, ‘콘텐츠B’는 72.37% 감소율을, 고해상도인 ‘콘텐츠C’는 83.91%의 높은 감소율을 보였다. 따라서 본 논문의 Mobile PST는 고해상도 콘텐츠에 제안하는 PA기법을 적용하여, 할당과 해제의 빈도수와 CPU점유율을 감소시켜 병목현상이 사라지고 부드러운 플리킹과 끊김 없는 페이징 실행됨을 확인 하였다.

    Ⅴ. 결 론

    기존 대표적인 모바일 PST의 DA 기법은 메모리풀로부터 새로운 데이터 페이지를 계속적으로 할당받고 페이지를 사용하지 않으면 즉시 해제하는 방법이다.

    그러나 DA 기법을 이용한 시스템은 잦은 할당과 해제로 부하가 발생하여 연속질의가 쌓이면서 데이터를 손실하거나 플리킹이 느려지고, 페이징이 끊기는 현상이 발생하는 문제점이 있다. 이러한 문제점은 이동성과 업데이트의 유연성을 가진 모바일과의 통합으로 해결이 되었으나 모바일 고해상도 콘텐츠 데이터를 연속적으로 처리하는데 있어 어려움이 따른다.

    따라서 본 논문에서는 Mobile PST의 UI는 사용자의 편의를 고려하여 설계하였고, 복잡한 기능은 축소하고 제품정보의 질을 향상시키기 위해 버튼이나 컨트롤들은 배제하였으며, 많은 정보를 일관성 있게 분류하여 적절한 레이블을 부여하였다.

    또한 작동 방식을 쉽게 배우고 이해할 수 있도록 많은 동작은 제거하고, 각 페이지마다 사진 뿐 아니라 동영상, 애니메이션 등을 삽입하여 사용자의 흥미를 가질 수 있게 하였다. 이와 같은 모든 상황을 고려하여 상하 또는 좌우 플리킹 UI가 가능하도록 설계하였다.

    설계한 시스템을 구현하기 위해 Mac OS X Lion 운영체제를 이용하였고, 구현 언어로는 Objective-C를 사용하였으며, 시스템의 구성은 콘텐츠 업데이트의 유연성을 위해 서버에서 콘텐츠를 관리하고 iPad는 최신 데이터를 앱 샌드박스에 요청하여 사용자에게 출력한다.

    실험 데이터는 해상도를 변경하면서 테스트 하였다. 고해상도는 한 개의 콘텐츠 당 1MB 이상의 PNG 파일을 사용했으며, 사용자의 제스처에 따라 콘텐츠 데이터를 연속해서 질의하였고, 조건 패턴 할당과 해제의 빈도수를 측정하였다. 그 결과 할당과 해제 빈도수는 해상도에 관계없이 기존 DA 시스템 보다 제안한 PA 시스템이 페이지 할당과 해제 빈도수에 대한 부하가 평균 78.13%의 감소율을 보였으며, CPU 점유율도 평균 72.52% 감소한 것을 확인하였다.

    본 연구는 Mobile기반 가로, 세로 플리킹이 가능한 페이징처리에 따른 고해상도 콘텐츠 데이터 관리로 카탈로그뿐만 아니라 대용량 콘텐츠 관련한 모든 앱에 적용할 수 있을 것으로 사료된다.

  • 1. Lee Ig-hoon, Chun Jonghoon 2008 "System and Utilization for E-Catalog Classifier" [in Journal of KIISE : Computing Practices and Letters] Vol.14 P.876-883 google
  • 2. Kim Il-Heun 2003 "The Study for Problems and Improvements of a Electronic Catalog's Usage" google
  • 3. Lee Gab-jin, Goh Sung-cheol 2013 “A Guidelines for Establishing Mobile App Management System in Military Environment - focus on military App store and verification system” [Journal of Korea Institute of Information and Communication Engineering] Vol.17 P.525-532 google doi
  • 4. Baek Sung-Ha, Lee Dong-Wook, Chung Weon-il, Bae Hae-Young 2009 "Adaptive Memory Management Method based on Utilization Ratio to Process Continuous Query" [Journal of Korea Spatial Information Society] Vol.11 P.79-88 google
  • 5. Goo Bon-Min, Kim Ju-Young, Lee Tae-Rim, Shin Sang-Uk 2011 "Collection and Analysis of the Digital Evidence for Android and iOS Smart Phones" [Journal of the Korea Institute of Information Security and Cryptology] Vol.21 P.167-175 google
  • 6. Choi Jun-ho, Lee Hye-jin, Chang Eun-ji 2010 "The Conceptual Components of Simplicity in the Smartphone UX Design : A Case of iPhone" [Journal of Korean Society of Design Science] Vol.23 P.207-216 google
  • 7. Kim Byung-Taek, Kim Young-hun 2011 "A Study on Emotional Interface Design Based on Each Smart-phone Application Category" [Journal of Korea Design Knowledge] Vol.20 P.181-192 google
  • [그림 1.] 앱 샌드박스 레이아웃
    앱 샌드박스 레이아웃
  • [그림 2.] PST 시스템 개념도
    PST 시스템 개념도
  • [그림 3.] 모바일 PST 동작 절차
    모바일 PST 동작 절차
  • [그림 4.] 뷰 라이프사이클 동작 알고리즘
    뷰 라이프사이클 동작 알고리즘
  • [그림 5.] 모바일 PST 데이터 플로 다이어그램
    모바일 PST 데이터 플로 다이어그램
  • [그림 6.] Mobile PST의 XML 데이터 정의
    Mobile PST의 XML 데이터 정의
  • [그림 7.] XML 맵핑 절차
    XML 맵핑 절차
  • [표 1.] Mobile PST 단위테스트 절차
    Mobile PST 단위테스트 절차
  • [표 2.] DA와 PA의 실행 결과
    DA와 PA의 실행 결과