컴퓨터, 전자, 통신 기술이 비약적으로 발전함에 따라 무선통신망(Wireless Network)을 이용한 다양한 무선통신 서비스가 제공되고 있다. 이에 따라, 무선통신망을 이용한 이동통신 시스템에서 제공하는 서비스는 음성 서비스뿐만 아니라, 써 킷(Circuit) 데이터, 패킷(Packet) 데이터 등과 같은 데이터를 송신하는 멀티미디어 통신 서비스로 발전해 가고 있다.
또한, 최근 들어 이동통신 단말기의 기능 및 PDA의 기능을 결합시킨 스마트폰(Smartphone)이 각광받고 있는 추세이며, 이러한 스마트폰에는 기존 이동통신 단말기에 비해 대용량의 메모리와 고성능 CPU가 탑재되며, 다양한 어플리케이션 실행, 음성/데이터 통신 및 PC 연동 등을 지원하기 위한 운영체제(OS)가 탑재된다.
이러한, 스마트폰의 운영체제로는 일반적으로 영국의 심비안사가 개발한 'Symbian', 미국의 마이크로소프트사가 개발한 'WindowsCE ' 또는 무료로 배포되어 사용되는 '리눅스(Linux)'가 대표적으로 이용되고 있다.
한편, 대한민국에서는 위피(WIPI: Wireless Internet Platform for Interoperability)를 휴대 전화기의 무선 인터넷 플랫폼 표준으로 채택하였으며, 이에, 각 이동통신사 및 각 단말기 제조업체에서는 이동통신 단말기의 운영체제(예; REX 등) 계층과 어플리케이션 계층 중간에 위피를 탑재(포팅: Porting)하고 있는 실정이다.
전술한 바와 같이, 기존 이동통신 단말기에는 REX와 같은 기존 운영체제에 위피가 탑재되어 출시된 반면에 최근에 출시되고 있는 스마트폰에는 위피가 탑재되어 있지 않은바, 이동통신사 및 단말기 제조업체에서는 위피를 기반으로 하여 실행되는 각 어플리케이션(예; 브라우저, 무선 인터넷 메뉴, 콘텐츠, 벨소리, 동영상, 문서 작성 프로그램 등)이 스마트폰 상에서 원활하게 실행될 수 있도록 스마트폰에 위피를 탑재시키는 개발을 진행되고 있다.
즉, 스마트폰에 위피를 탑재하기 위해서는 Symbian, WindowsCE 또는 리눅스의 스펙을 고려하여 위피의 일부 스펙을 추가/변경하여 스마트폰의 운영체제에 위피를 올려야만 된다.
도 1은 종래의 스마트폰에 대한 개략적인 블럭 구성도이다. 종래의 스마트폰은 네이티브 어플리케이션(110), 위피 어플리케이션(112), 운영체제(130) 및 메모리(140)를 포함한다.
네이티브 어플리케이션(110)은 스마트폰 상에서 네이티브 플랫폼에 의해 구동되는 각종 어플리케이션(왑 사이트 브라우징, 콘텐츠 다운로드 및 멀티미디어 메시지(MMS) 작성 등)을 의미한다. 위피 어플리케이션(112)은 스마트폰 상에서 위피 플랫폼에 의해 구동되는 각종 어플리케이션(왑 사이트 브라우징, 콘텐츠 다운로드 및 멀티미디어 메시지(MMS) 작성 등)을 의미한다.
운영체제(130)는 스마트폰의 전반적인 동작을 제어하는 기능을 수행하는 제어 수단을 의미한다. 메모리(140)는 스마트폰의 구동에 필요한 각종 데이터를 저장하는 저장수단을 의미한다.
종래의 스마트폰에서는 운영체제(즉, Symbian, WindowsCE 또는 리눅스)(130) 위에 각종 어플리케이션, 예컨대 위피를 기반으로 하여 실행되는 각종 위피 어플리케이션(112)이 탑재되거나, 윈도우 모바일(Windows Mobile) 플랫폼의 구조를 기반으로 실행되는 네이티브 어플리케이션(110)이 탑재되며, 각각의 어플리케이션은 스마트폰에서 실행되는데 있어서 필요한 각종 데이터 등을 운영체제(130)로부터 할당받은 메모리(140)의 특정 영역에 읽고/쓰고/삭제하는 것이다.
도 1에 도시된 바와 같이, 스마트폰의 운영체제(130)는 위피를 단지 하나의 어플리케이션으로 취급하며, 그에 따라 위피 플랫폼의 구조를 기반으로 하여 실행되는 각종 위피 어플리케이션(112) 또는 윈도우 모바일(Windows Mobile) 플랫폼의 구조를 기반으로 실행되는 네이티브 어플리케이션(110)을 각각 하나의 어플리케이션으로 취급해서 여러 개의 어플리케이션이 멀티로 실행될 수 있다. 이와 같이 스마트폰에서 멀티 어플리케이션이 실행될 수 있기에 사용자는 보다 많은 어플리케이션을 통해 각종 작업(예; 왑 사이트 브라우징, 콘텐츠 다운로드, 멀티미디어 메시지(MMS) 작성 등)을 동시에 수행할 수 있는 것이다.
종래의 스마트폰에서는 동기종 어플리케이션 간의 데이터 정보를 연동하기 위해서는 어플리케이션이 실행될 때 전달하는 Command Line을 통해서 원하는 데이터 정보를 전달하는 방식이 있었다.
종래의 동기종 어플리케이션 간의 데이터 정보를 연동하는 방식을 구체적으로 설명하자면, 동기종의 플랫폼 내의 어플리케이션에서만 데이터 정보를 연동할 수 있는 것이며, 어플리케이션이 구동될 시에만 소량(텍스트 256자)의 데이터만을 처리할 수 있다는 단점이 있었다.
즉, 이러한 방식을 Command Line 방식이라고 정의하는 것이며, 기존의 Command Line 방식은 네이티브 어플리케이션에서 또 다른 네이티브 어플리테이션을 실행하는 시점에서 실행 파라미터를 통해서만 데이터 정보를 전달할 수 있는 방식으로서, 어플리케이션을 구동중인 경우에 동기종 플랫폼의 어플리케이션 간에서도 상호 데이터 공유 및 애플리케이션 간 제어 역할을 수행할 수 없는 것이다.
전술한 Command Line을 통해 데이터 정보를 연동하는 방식은 단순히 텍스트 데이터만 최대 256자 가지만 전달할 수 있으므로, 데이터 정보의 용량에 한계가 있다는 단점이 있으며, 이기종 어플리케이션(즉, 네이티브 어플리케이션(110)과 위피 어플리케이션(112)) 간의 상이한 플랫폼(윈도우 모발일 플랫폼 vs 위피 플랫폼) 구조로 인해 Command Line을 통한 어플리케이션 연동을 할 수 없다는 단점이 있다.
따라서, 메모리/이미지/버퍼와 같은 대용량의 애플리케이션 간의 데이터 정
보를 동기종 어플리케이션뿐만 아니라 및 이기종 어플리케이션 간에서도 연동할 수 있는 기술 개발이 요구되는 실정이다.
이하, 본 발명의 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 2는 본 발명의 제 1 실시예 및 제 2 실시예에 따른 이기종 어플리케이션을 연동하기 위한 스마트폰을 개략적으로 나타낸 블럭 구성도이다.
본 발명의 제 1 실시예 및 제 2 실시예에 따른 이기종 어플리케이션을 연동하기 위한 스마트폰은 제 1 어플리케이션(210), 제 2 어플리케이션(220), 플랫폼(230), 운영체제(130) 및 메모리(140)를 포함한다.
본 발명의 제 1 실시예 및 제 2 실시예에 따른 스마트폰은 제 2 플랫폼(234)을 기반으로 동작될 수 있다.
제 1 어플리케이션(210)은 스마트폰 상에서 제 1 플랫폼의 구조를 기반으로 실행되는 각종 어플리케이션을 의미한다.
본 발명의 구현에 있어서 제 1 플랫폼은 윈도우 모바일(Windows Mobile) 플랫폼이 되는 것이 바람직하며, 제 1 어플리케이션(210)은 윈도우 모바일(Windows Mobile) 플랫폼의 구조를 기반으로 구동되는 네이티브 어플리케이션(Native Application)이 되는 것이 바람직하다. 물론 이는 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 제 1 플랫폼 및 제 1 어플리케이션(210)을 다양하게 수정 및 변형하여 실제 발명을 구현할 수 있을 것이다.
본 발명의 제 1 실시예 및 제 2 실시예에 따른 제 1 어플리케이션(210)은 공유 메모리 영역(240)으로 제 1 데이터 정보 또는 제 1 제어 정보의 할당을 요청하는 기능을 수행하며, 공유 메모리 영역(240)으로부터 제 1 데이터 정보 또는 제 1 제어 정보의 획득을 요청하는 기능을 수행한다. 여기서, 제 1 데이터 정보는 제 1 플랫폼(미도시)을 기반으로 실행되는 브라우저, 무선 인터넷 메뉴, 컨텐츠, 벨소리, 동영상 및 문서 작성 프로그램 등의 정보 중 하나 이상을 포함할 수 있으며, 제 1 제어 정보는 제 2 어플리케이션(220)을 실행, 중지 또는 정보 전달할 수 있는 정보를 의미한다.
또한, 본 발명의 제 1 실시예 및 제 2 실시예에 따른 제 1 어플리케이션(210)은 연동 관리자(232)로 제 2 어플리케이션(220)에 대한 제 2 데이터 정보 또는 제 2 제어 정보를 요청하는 기능을 수행하며, 연동 관리자(232)로부터 제 2 어플리케이션(220)에 대한 제 2 데이터 정보 또는 제 2 제어 정보를 수신하여 구동하는 기능을 수행한다. 여기서, 제 2 데이터 정보는 제 2 플랫폼(234)을 기반으로 실행되는 브라우저, 무선 인터넷 메뉴, 컨텐츠, 벨소리, 동영상 및 문서 작성 프로그램 등의 정보 중 하나 이상을 포함할 수 있으며, 제 2 제어 정보는 제 2 어플리 케이션(220)을 실행, 중지 또는 정보 전달할 수 있는 정보를 의미한다.
제 2 어플리케이션(210)은 스마트폰 상에서 제 2 플랫폼(234)의 구조를 기반으로 실행되는 각종 어플리케이션을 의미한다.
본 발명의 구현에 있어서 제 2 플랫폼은 위피(WIPI) 플랫폼이 되는 것이 바람직하며, 제 2 어플리케이션(220)은 위피(WIPI) 플랫폼의 구조를 기반으로 구동되는 위피 어플리케이션(WIPI Application)이 되는 것이 바람직하다. 물론 이는 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 제 2 플랫폼 및 제 2 어플리케이션(220)을 다양하게 수정 및 변형하여 실제 발명을 구현할 수 있을 것이다.
본 발명의 제 1 실시예 및 제 2 실시예에 따른 제 2 어플리케이션(220)은 공유 메모리 영역(240)으로 제 2 데이터 정보 또는 제 2 제어 정보의 할당을 요청하는 기능을 수행하며, 공유 메모리 영역(240)으로부터 제 2 데이터 정보 또는 제 2 제어 정보의 획득을 요청하는 기능을 수행한다.
또한, 본 발명의 제 1 실시예 및 제 2 실시예에 따른 제 2 어플리케이션(220)은 연동 관리자(232)로 제 1 어플리케이션(210)의 제 1 데이터 정보 또는 제 1 제어 정보를 요청하는 기능을 수행하며, 연동 관리자(232)로부터 제 1 어플리케이션(210)의 제 1 데이터 정보 또는 제 1 제어 정보를 수신하여 구동하는 기능을 수행한다.
플랫폼(230)은 스마트폰 상에서 각종 어플리케이션(즉, 응용 프로그램)을 구 동하기 위해 시스템의 기반이 되는 계층화된 장치(하드웨어 또는 소프트웨어)로서, 각종 어플리케이션에 대한 지원을 제공하는 기능을 수행한다.
본 발명의 제 1 실시예 및 제 2 실시예에 따른 플랫폼(230)은 연동 관리자(232) 및 제 2 플랫폼(234)을 포함한다. 하지만, 이는 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 플랫폼(230)에 제 1 플랫폼(미도시) 등이 포함될 수 있도록 다양하게 수정 및 변형하여 적용 가능할 것이다.
본 발명의 제 1 실시예 및 제 2 실시예에 따른 연동 관리자(232)는 제 1 어플리케이션(210) 또는 제 2 어플리케이션(220)을 등록하는 기능을 수행하며, 제 1 플랫폼(미도시)을 기반으로 실행되는 제 1 어플리케이션(210)을 구동하는 기능 및 제 2 플랫폼(234)을 기반으로 실행되는 제 2 어플리케이션(220)을 구동하는 기능을 수행한다.
또한, 본 발명의 제 1 실시예 및 제 2 실시예에 따른 연동 관리자(232)는 메모리(140)에 공유 메모리 영역(240)을 확보 또는 해제하는 기능을 수행하며, 제 1 어플리케이션(210) 또는 제 2 어플리케이션(220) 간의 각종 데이터를 연동하기 위한 이벤트를 관리하는 기능을 수행한다.
본 발명의 제 1 실시예에 따른 연동 관리자(232)는 메모리(140) 내에 공유 메모리 영역(240)을 확보하도록 제어하며, 제 1 어플리케이션(210)에 대한 제 1 데이터 정보 또는 제 1 제어 정보를 공유 메모리 영역에 복사하도록 제어하고, 제 2 어플리케이션(220)의 제 2 데이터 정보 또는 제 2 제어 정보를 공유 메모리 영역에 복사하도록 제어하는 기능을 수행한다.
여기서, 연동 관리자(232)에 대한 구체적인 실시예는 도 3을 통해 구체적으로 설명하도록 한다.
본 발명의 제 1 실시예에 따른 연동 관리자(232)는 제 1 데이터 정보 또는 제 1 제어 정보를 제 2 어플리케이션(220)으로 전달하도록 제어하며, 제 2 어플리케이션(220)에서 제 1 데이터 정보 또는 제 1 제어 정보를 구동하기 위해서 제 2 플랫폼(234)의 구동이 필요한지의 여부를 확인한다.
확인 결과, 제 2 플랫폼(234)의 구동이 필요한 경우, 연동 관리자(232)는 제 2 플랫폼(234)이 구동 중인지의 여부를 확인한다. 확인 결과, 제 2 플랫폼(234)이 구동 중이 아닌 경우, 제 2 플랫폼(234)을 구동하도록 제어하는 기능을 수행한다.
한편, 확인 결과, 제 2 플랫폼(234)이 구동 중인 경우, 연동 관리자(232)는 제 2 플랫폼(234)이 우선권을 가지고 실행될 수 있는 포어그라운드 액티베이션(Foreground Activation) 처리 이벤트를 생성하는 기능을 수행한다.
본 발명의 제 2 실시예에 따른 연동 관리자(232)는 공유 메모리 영역(240)에 버전 정보를 이용하여 메모리의 유효성(Validation)을 검사하는 기능을 수행한다.
본 발명의 제 2 실시예에 따른 연동 관리자(232)는 공유 메모리 영역(240)에 유효성 에러가 발생하였는지의 여부를 확인한다. 확인 결과, 유효성 에러가 발생한 경우, 연동 관리자(232)는 제 2 플랫폼(234) 구동을 위한 화면을 대기 상태로 처리하는 이벤트를 생성하는 기능을 수행한다.
본 발명의 제 2 실시예에 따른 연동 관리자(232)는 제 2 플랫폼(234)을 위한 프로세스(Process)가 생성되는지의 여부를 확인한다. 확인 결과, 제 2 플랫폼(234)을 위한 프로세스(Process)가 생성되는 경우, 연동 관리자(232)는 제 2 플랫폼(234) 구동을 위한 화면을 정상으로 복귀하며 핸들(Handle)을 반환하는 기능을 수행한다.
한편, 확인 결과, 제 2 플랫폼(234)을 위한 프로세스(Process)가 생성되지 않는 경우, 메모리(140)에 에러가 발생한 것으로 간주하여 메모리 에러 이벤트를 생성하는 기능을 수행한다.
제 2 플랫폼(234)은 스마트폰 상에서 각종 어플리케이션(즉, 응용 프로그램)을 구동하기 위해 계층화된 장치(하드웨어 또는 소프트웨어)로서, 제 2 어플리케이션(220)에 대한 지원을 제공하는 기능을 수행한다.
운영체제(130)는 스마트폰의 전반적인 동작을 제어하는 기능을 수행하는 제어 수단을 의미하며, Symbian, WindowsCE 또는 리눅스가 될 수 있다. 하지만, 이는 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 운영체제를 다양하게 수정 및 변형하여 적용 가능할 것이다.
메모리(140)는 스마트폰의 구동에 필요한 각종 데이터를 저장하는 저장수단을 의미하며, 공유 메모리 영역(240)을 포함한다.
본 발명의 제 1 실시예 및 제 2 실시예에 따른 공유 메모리 영역(240)은 물리적인 메모리 공간을 확보하는 기능(Memory Allocation)을 수행하며, 연동 관리 자(232)로 메모리 정보를 반환하는 기능(Memory Free)을 수행한다.
또한, 본 발명의 제 1 실시예 및 제 2 실시예에 다른 공유 메모리 영역(240)은 제 1 어플리케이션(210) 또는 제 2 어플리케이션(220)의 정보를 메모리(140)에 저장하는 기능(Memory Storing)을 수행하며, 제 1 어플리케이션(210) 또는 제 2 어플리케이션(220)을 메모리(140)로부터 반환하는 기능(Memory Dispatcher)을 수행한다.
도 3은 본 발명의 제 1 실시예에 따른 이기종 어플리케이션을 연동하기 위한 방법을 설명하기 위한 순서도이다.
제 1 어플리케이션(210) 또는 제 2 어플리케이션(220)은 어플리케이션 간의 연동을 위해 공유 메모리 영역(240)으로 제 1 데이터 정보, 제 1 제어 정보, 제 2 데이터 정보 및 제 2 제어 정보의 할당을 요청한다. 아래 [표 1]은 제 1 어플리케이션(210) 또는 제 2 어플리케이션(220)이 공유 메모리 영역(240)으로 제 1 데이터 정보, 제 1 제어 정보, 제 2 데이터 정보 및 제 2 제어 정보의 할당을 요청하는 일부 코드의 예시도이다.
여기서, szVersion는 연동 관리자(232) 및 공유 메모리 영역(240)의 버전 정보를 의미하며, szExecName는 연동하고자 하는 제 1 어플리케이션(210) 또는 제 2 어플리케이션(220)의 이름을 의미하며, szCommand는 제 1 어플리케이션(210) 또는 제 2 어플리케이션(220)의 제 2 제어 정보(즉, 어플리케이션 실행, 중지, 정보 전달 등)를 의미하며, nParam는 정보 전달 버퍼의 개수를 의미하며, pzBuf는 상호 애플리케이션 간 정보 전달에 사용될 메모리 버퍼를 의미하며, szResult는 어플리케이션 연동 후 호출한 어플리케이션에 전달할 결과를 의미한다.
[표 1]은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양하게 수정 및 변형하여 적용 가능할 것이다.
연동 관리자(232)는 메모리(140) 내의 공유 메모리 영역을 확보한다(S310).
연동 관리자(232)가 메모리(140) 내의 공유 메모리 영역을 확보하기 위한 데이터 코드의 예시도는 아래 [표 2]와 같다.
[표 2]은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양하게 수정 및 변형하여 적용 가능할 것이다.
연동 관리자(232)는 제 1 어플리케이션(210)에 대한 제 1 데이터 정보 또는 제 1 제어 정보를 공유 메모리 영역(240)에 복사하도록 제어한다(S320). 여기서, 제 1 데이터 정보는 제 1 플랫폼(미도시)을 기반으로 실행되는 브라우저, 무선 인터넷 메뉴, 컨텐츠, 벨소리, 동영상 및 문서 작성 프로그램 등의 정보 중 하나 이상을 포함할 수 있으며, 제 1 제어 정보는 제 2 어플리케이션(220)을 실행, 중지 또는 정보 전달할 수 있는 정보를 의미한다.
연동 관리자(232)는 제 2 어플리케이션(220)의 제 2 데이터 정보 또는 제 2 제어 정보를 공유 메모리 영역에 복사하도록 제어한다(S330). 여기서, 제 2 데이터 정보는 제 2 플랫폼(234)을 기반으로 실행되는 브라우저, 무선 인터넷 메뉴, 컨텐츠, 벨소리, 동영상 및 문서 작성 프로그램 등의 정보 중 하나 이상을 포함할 수 있으며, 제 2 제어 정보는 제 2 어플리케이션(220)을 실행, 중지 또는 정보 전달할 수 있는 정보를 의미한다.
연동 관리자(232)는 공유 메모리 영역(240)에 복사된 제 1 데이터 정보 및 제 1 제어 정보를 제 2 어플리케이션(220)으로 전달하도록 제어한다(S340).
본 발명에서는 설명의 편의상 연동 관리자(232)가 공유 메모리 영역(240)에 복사된 제 1 데이터 정보 또는 제 1 제어 정보를 제 2 어플리케이션(220)으로 전달하는 것만을 기재하고 있으나, 이는 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 연동 관리자(232)가 공유 메모리 영역(240)에 복사된 제 2 데이터 정보 또는 제 2 제어 정보를 제 1 어플리케이션(210)으로 전달할 수 있을 것으로 다양하게 수정 및 변형하여 적용 가능할 것이다.
연동 관리자(232)가 공유 메모리 영역(240)에 복사된 제 1 데이터 정보 또는 제 1 제어 정보를 제 2 어플리케이션(220)으로 전달하기 위한 데이터 코드의 예시도는 아래 [표 3]과 같다.
[표 3]은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양하게 수정 및 변형하여 적용 가능할 것이다.
연동 관리자(232)는 제 2 어플리케이션(220)에서 제 1 데이터 정보 또는 제 1 제어 정보를 구동하기 위하여 제 2 플랫폼(234)의 구동이 필요한지의 여부를 확인한다(S350).
단계 S350의 확인 결과, 제 1 데이터 정보 또는 제 1 제어 정보를 구동하기 위하여 제 2 플랫폼(234)의 구동이 필요한 경우, 연동 관리자(232)는 제 2 플랫폼(234)이 구동 중인지의 여부를 확인한다(S360).
단계 S360의 확인 결과, 제 2 플랫폼(234)이 구동 중인 경우, 연동 관리자(232)는 제 2 플랫폼(234)을 우선적으로 실행하기 위한 포어그라운드 액티베이션(Foreground Activation) 처리 이벤트를 생성한다(S370).
한편, 단계 S340의 확인 결과, 제 2 플랫폼(234)이 구동 중이 아닌 경우, 연동 관리자(232)는 제 2 플랫폼(234)을 구동한다(S372).
제 2 어플리케이션(220)은 제 2 플랫폼(234)을 이용하여 공유 메모리 영역(240)의 제 1 데이터 정보(브라우저, 무선 인터넷 메뉴, 컨텐츠, 벨소리, 동영상 및 문서 작성 프로그램 등)을 구동하거나, 제 1 제어 정보(제 1 어플리케이션(210)의 실행, 중지 또는 정보 전달 등)를 이용하여 제 1 어플리케이션(210)을 제어한다(S380).
본 발명에서는 제 2 어플리케이션(220)은 제 2 플랫폼(234)을 이용하여 공유 메모리 영역(240)의 제 1 데이터 정보(브라우저, 무선 인터넷 메뉴, 컨텐츠, 벨소리, 동영상 및 문서 작성 프로그램 등)을 구동하거나, 제 1 제어 정보(제 1 어플리케이션(210)의 실행, 중지 또는 정보 전달 등)를 이용하여 제 1 어플리케이션(210)을 제어하는 것만을 기재하고 있으나, 실제 발명의 구현에 있어서는 제 1 어플리케이션(210)은 제 1 플랫폼을 이용하여 공유 메모리 영역(240)의 제 2 데이터 정보(브라우저, 무선 인터넷 메뉴, 컨텐츠, 벨소리, 동영상 및 문서 작성 프로그램 등)를 구동하거나, 제 2 제어 정보(제 2 어플리케이션(220)의 실행, 중지 또는 정보 전달 등)를 이용하여 제 2 어플리케이션(220)을 제어할 수 있을 것이다.
제 2 어플리케이션(220)에서 제 1 데이터 정보 또는 제 1 제어 정보를 구동하기 위해 제 2 플랫폼(234)을 이용하는 데이터 코드의 예시도는 아래 [표 4]과 같다.
[표 4]는 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양하게 수정 및 변형하여 적용 가능할 것이다.
도 4는 본 발명의 제 2 실시예에 따른 이기종 어플리케이션을 연동하기 위한 방법을 설명하기 위한 순서도이다.
연동 관리자(232)는 제 2 플랫폼(234)을 구동한다(S410).
제 2 어플리케이션(220)은 제 2 플랫폼(234)을 이용하여 공유 메모리 영역(240)의 제 1 데이터 정보(브라우저, 무선 인터넷 메뉴, 컨텐츠, 벨소리, 동영상 및 문서 작성 프로그램 등)를 구동하거나, 제 1 제어 정보(제 1 어플리케이션(210)의 실행, 중지 또는 정보 전달 등)를 이용하여 제 1 어플리케이션(210)을 제어한다.
연동 관리자(232)는 공유 메모리 영역(240)의 버전 정보를 이용하여 메모리(140)의 유효성(Validation)을 검사한다(S420).
연동 관리자(232)는 메모리(140)에 유효성 에러가 발생하는지의 여부를 확인한다(S430).
단계 S430의 확인 결과, 유효성 에러가 발생하는 경우, 연동 관리자(232)는 제 2 플랫폼(234)의 구동을 위한 화면을 대기 상태(Waiting Message)로 처리한다(S440).
연동 관리자(232)는 제 2 플랫폼(234)을 위한 프로세스(Process)가 생성되는지의 여부를 확인한다(S450).
단계 S450의 확인 결과, 제 2 플랫폼(234)을 위한 프로세스가 생성되는 경우, 연동 관리자(232)는 제 2 플랫폼(234) 구동을 위한 화면을 정상으로 복귀하며 핸들(Handle)을 반환한다(S460).
단계 S470의 확인 결과, 제 2 플랫폼(234)을 위한 프로세스가 생성되는지 않는 경우, 연동 관리자(232)는 메모리(140)에 에러가 발생한 것으로 간주하여 메모리 에러 이벤트를 발생한다(S470).
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.