KR101087665B1 - 어플케이션 연동 장치 및 방법 - Google Patents

어플케이션 연동 장치 및 방법 Download PDF

Info

Publication number
KR101087665B1
KR101087665B1 KR1020090096942A KR20090096942A KR101087665B1 KR 101087665 B1 KR101087665 B1 KR 101087665B1 KR 1020090096942 A KR1020090096942 A KR 1020090096942A KR 20090096942 A KR20090096942 A KR 20090096942A KR 101087665 B1 KR101087665 B1 KR 101087665B1
Authority
KR
South Korea
Prior art keywords
application
driven
linkable
interlockable
interoperable
Prior art date
Application number
KR1020090096942A
Other languages
English (en)
Other versions
KR20110039902A (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 KR1020090096942A priority Critical patent/KR101087665B1/ko
Publication of KR20110039902A publication Critical patent/KR20110039902A/ko
Application granted granted Critical
Publication of KR101087665B1 publication Critical patent/KR101087665B1/ko

Links

Images

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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명의 일 실시예는 어플케이션 연동 장치 및 방법에 관한 것이다.
본 발명의 일 실시예는 구동된 어플리케이션과 연동되는 연동 가능 어플리케이션의 실행 여부를 확인하는 연동 가능 어플리케이션 확인부; 상기 연동 가능 어플리케이션이 실행되지 않고 있는 경우, 상기 연동 가능 어플리케이션을 실행하는 연동 가능 어플리케이션 실행부; 및 상기 구동된 어플리케이션과 상기 연동 가능 어플리케이션 간에 관련 데이터를 상호 송수신하는 데이터 관리부를 포함하는 것을 특징으로 하는 어플케이션 연동 장치를 제공한다.
어플리케이션, 연동, VM, 가상 OS

Description

어플케이션 연동 장치 및 방법{Method And Apparatus for Interworking Applications}
본 발명의 일 실시예는 어플케이션 연동 장치 및 방법에 관한 것이다. 더욱 상세하게는, 구동된 어플리케이션과 연동 가능한 어플리케션을 한번에 구동할 수 있는 기술로서, 먼저 구동된 어플리케이션에서 연동 가능한 어플리케이션을 추가로 실행하여 상호 간에 데이터를 송수신할 수 있는 어플케이션 연동 장치 및 방법에 관한 것이다.
최근 들어, 컴퓨터, 전자, 통신 기술이 비약적으로 발전함에 따라 무선통신망을 이용한 다양한 이동통신 서비스가 제공되고 있다. 이와 같이, 이동통신 단말기의 기능이 날로 다양화되고 있는 추세에 따라 이동통신 단말기의 본연의 기능인 음성 호처리 외에 단문 메시지 전송, 폰북, 일정 관리, 계산기, 전화번호부, 게임등의 부가 기능과 인터넷 브라우징하는 기능 등이 추가되어 사용되고 있다.
한편, 이동통신 단말기에 추가 기능이 부가되는 경우, 부가되는 프로그램을 이용하기 위해서는 사용자가 직접 서비스 센터를 방문하여 해당 기능뿐만 아니라 이동통신 단말기의 모든 프로그램을 새로이 업그레이드 시킬 필요없이 GVM, JAVA, BREW 등과 같은 어플리케이션들이 개발되고 있다. 즉, GVM은 mini-C, JAVA는 JAVA 언어로, BREW는 C 언어로 각각 작성된 응용 프로그램을 이동통신 단말기의 데이터 서비스를 통하여 사용자의 이동통신 단말기에 저장하여 사용할 수가 있는데, 현재 서비스되고 있는 응용 프로그램으로는 게임, 위치 정보, 증권, 노래방, 전자북 등이 알려져 있다. 이러한, 어플리케이션 중 가상머신은 JAVA를 기반으로 만들어진 프로그램으로서, 단말기 내에서 두 개의 가상머신이 연동하여 구동되지 못하는 단점이 있었다. 즉, 멀티테스킹 기능을 이용하여 여러 개의 프로그램을 구동할 수는 있으나, 특정 어플리케이션과 연동하는 다른 어플리케이션을 구동시키지 못하였다.
전술한 문제점을 해결하기 위해 본 발명의 일 실시예는, 구동된 어플리케이션에서 연동 가능한 어플리케이션을 추가로 실행하여 상호 간에 데이터를 송수신할 수 있는 어플케이션 연동 장치 및 방법를 제공하는 데 주된 목적이 있다.
전술한 목적을 달성하기 위해 본 발명의 일 실시예는, 구동된 어플리케이션과 연동되는 연동 가능 어플리케이션의 실행 여부를 확인하는 연동 가능 어플리케이션 확인부; 상기 연동 가능 어플리케이션이 실행되지 않고 있는 경우, 상기 연동 가능 어플리케이션을 실행하는 연동 가능 어플리케이션 실행부; 및 상기 구동된 어플리케이션과 상기 연동 가능 어플리케이션 간에 관련 데이터를 상호 송수신하는 데이터 관리부를 포함하는 것을 특징으로 하는 어플케이션 연동 장치를 제공한다.
또한, 본 발명의 다른 목적에 의하면, 구동된 어플리케이션과 연동되는 연동 가능 어플리케이션의 실행 여부를 확인하는 단계; 상기 연동 가능 어플리케이션이 실행되지 않고 있는 경우, 상기 구동된 어플리케이션 상에 가상 OS를 실행하는 단계; 상기 가상 OS 상에 상기 연동 가능 어플리케이션을 실행하는 단계; 및 상기 연동 가능 어플리케이션을 실행하기 위한 쓰레드에 대한 차일드 쓰레드를 생성하여 상기 구동된 어플리케이션과 상기 연동 가능 어플리케이션의 프로세스를 분리하는 단계; 상기 구동된 어플리케이션과 상기 연동 가능 어플리케이션 간에 관련 데이터를 상호 송수신하는 단계; 및 상기 연동 가능 어플리케이션의 종료 및 쓰레드 재가동 중 어느 하나의 동작이 발생된 경우, 상기 연동 가능 어플리케이션이 실행되기 전의 리턴값을 상기 구동된 어플리케이션으로 전송하는 단계를 포함하는 것을 특징으로 하는 어플케이션 연동 방법을 제공한다.
이상에서 설명한 바와 같이 본 발명의 일 실시예에 의하면, 복수 개의 어플리케이션 중 구동중인 어플리케이션과 연동 가능한 어플리케이션을 실행하여 상호간에 데이터를 송수신함으로써, 개발자 입장에서 두 가지 기능을 담당하는 어플리케이션을 동시에 개발해야 하는 부담을 줄일 수 있는 효과가 있을 뿐만 아니라, 특정 어플리케이션과 연동 가능한 각각의 어플리케이션을 개발하고 자유롭게 업그레이드할 수 있어 각 어플리케이션의 성능 향상에 도움이 되는 효과가 있다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 어플리케이션 연동 장치를 개략적으로 나타낸 블럭 구성도이다.
본 발명의 일 실시예에 따른 어플리케이션 연동 장치(100)는 연동 가능 어플리케이션 확인부(110), 연동 가능 어플리케이션 실행부(120), 데이터 관리부(130), 리턴값 제공부(140), 프로세스 분리부(150), 연동 가능 어플리케이션 관리부(160) 및 저장부(170)를 포함하여 구성된다. 본 발명의 일 실시예에서는 어플리케이션 연동 장치(100)가 연동 가능 어플리케이션 확인부(110), 연동 가능 어플리케이션 실행부(120), 데이터 관리부(130), 리턴값 제공부(140), 프로세스 분리부(150), 연동 가능 어플리케이션 관리부(160) 및 저장부(170)만을 포함하여 구성되는 것으로 기재하고 있으나, 이는 본 발명의 일 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명의 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 일 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 어플리케이션 연동 장치(100)에 포함되는 구성 요소에 대하여 다양하게 수정 및 변형하여 적용 가능할 것이다.
연동 가능 어플리케이션 확인부(110)는 구동된 어플리케이션과 연동되는 연동 가능 어플리케이션의 실행 여부를 확인하고, 확인 결과를 연동 가능 어플리케이션 실행부(120)로 전송하는 기능을 수행한다. 또한, 연동 가능 어플리케이션 확인부(110)는 복수 개의 어플리케이션 중 구동된 어플리케이션(210)과 연동되는 연동 가능 어플리케이션 리스트를 리스트 팝업창 형태로 출력하며, 리스트 팝업창을 통해 입력된 선택 명령에 따른 어플리케이션에 대한 실행 여부를 확인하는 기능을 수행한다.
연동 가능 어플리케이션 실행부(120)는 연동 가능 어플리케이션이 실행되지 않고 있는 경우, 연동 가능 어플리케이션을 실행하는 기능을 수행한다. 또한, 연동 가능 어플리케이션 실행부(120)는 구동된 어플리케이션(210) 상에 가상 OS를 실행하고, 가상 OS 상에 연동 가능 어플리케이션(220)이 실행되도록 제어하는 기능을 수행한다. 여기서, 가상 OS는 메인 OS의 필수 구성 요소로 구성된 가상 프로그램으로서, 연동 가능 어플리케이션 하나만을 인식하고 동작하도록 지원하는 기능을 수행한다.
데이터 관리부(130)는 구동된 어플리케이션(210)과 연동 가능 어플리케이션(220) 간에 관련 데이터를 상호 송수신하는 기능을 수행한다. 또한, 데이터 관리부(130)는 연동 가능 어플리케이션에서 발생된 데이터를 저장부(170)에 저장하며, 연동 가능 어플리케이션(220)이 종료되면, 구동된 어플리케이션(210)을 통해 저장부(170)에 저장된 데이터를 호출하는 기능을 수행한다.
리턴값 제공부(140)는 연동 가능 어플리케이션이 실행되기 전의 리턴값을 구동된 어플리케이션으로 전송하는 기능을 수행한다. 여기서, 리턴값은 연동 가능 어플리케이션이 실행되기 전의 쓰레드 값 또는 어드레스일 수 있다. 또한, 리턴값 제공부(140)는 연동 가능 어플리케이션(220)의 종료 및 쓰레드 재가동 중 어느 하나의 동작이 발생된 경우, 리턴값을 구동된 어플리케이션(210)으로 전달하는 기능을 수행한다.
프로세스 분리부(150)는 연동 가능 어플리케이션을 실행하기 위한 쓰레드에 대한 차일드 쓰레드를 생성하여 구동된 어플리케이션(210)과 연동 가능 어플리케이션(220)의 프로세스를 분리하는 기능을 수행한다.
연동 가능 어플리케이션 관리부(160)는 구동된 어플리케이션(210)이 종료된 경우, 사용자 명령에 의해 연동 가능 어플리케이션(220)을 종료하거나, 구동된 어플리케이션의 권한을 연동 가능 어플리케이션(220)으로 전송하여 연동 가능 어플리케이션(220)을 지속적으로 실행하는 기능을 수행한다.
저장부(170)는 구동된 어플리케이션(210) 및 연동 가능 어플리케이션(220)을 저장하는 기능을 수행하며, 연동 가능 어플리케이션(220)에서 발생된 데이터를 저 장하고, 연동 가능 어플리케이션(220)이 종료되면 구동된 어플리케이션(210)로 저장된 데이터를 전송하는 기능을 수행한다. 여기서, 어플리케이션은 VM(Virtual Machine) 또는 위젯(Widget)인 것이 바람직하나 반드시 이에 한정되는 것은 아니다.
도 2는 본 발명의 일 실시예에 따른 구동된 어플리케이션 및 연동 가능 어플리케이션을 개략적으로 나타낸 블럭 구성도이다.
본 발명의 일 실시예에 따른 어플리케이션 연동 장치(100)는 사용자의 키 조작에 따라 기 저장된 어플리케이션을 구동할 수 있는 단말기를 말하는 것이며, 개인용 컴퓨터(PC: Personal Computer), 노트북, 개인휴대용 정보단말기(PDA: Personal Digital Assistant) 및 이동통신 단말기(Mobile Communication Terminal) 등 중 어느 하나일 수 있으며, 어플리케이션을 저장하기 위한 저장부(170), 어플리케이션을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하고 있는 단말기를 의미한다. 바람직하게는 어플리케이션 연동 장치(100)는 이동통신 단말기일 수 있으나, 반드시 이에 한정되어 구현되는 것은 아니며, 기 저장된 어플리케이션을 구동할 수 있다면 그 어떠한 단말기도 가능하며, 노트북 컴퓨터, 이동통신 단말기, PDA 등 여하한 통신 컴퓨팅 장치를 모두 포함하는 넓은 개념이다.
즉, 본 발명의 일 실시예에 따른 어플리케이션 연동 장치(100)는 저장부(170)에 복수 개의 어플리케이션을 저장하고 있으며, 사용자의 조작에 의해 복수 개의 어플리케이션 중 특정 어플리케이션을 구동할 수 있다.
본 발명에서는 설명의 편의상 어플리케이션 연동 장치(100)는 저장부(170)에 저장된 복수 개의 어플리케이션 중 사용자의 조작에 의해 구동된 어플리케이션(210)과 구동된 어플리케이션(210)과 연동이 가능한 연동 가능 어플리케이션(220)으로 구분하도록 한다. 도 2에 도시된 바와 같이, 저장부(170)에 저장된 복수 개의 어플리케이션 중 사용자의 조작에 의해 구동된 어플리케이션(210)을 제 1 어플리케이션으로 가정하고, 제 1 어플리케이션과 연동되는 제 2 어플리케이션 내지 제 n 어플리케이션을 연동 가능 어플리케이션(220)으로 가정할 수 있다. 예를 들어서, 제 1 어플리케이션은 VM 또는 위젯으로 구현된 모바일 학생증 어플리케이션일 수 있으며, 제 2 어플리케이션은 모바일 학생증 어플리케이션과 연동할 수 있는 모바일 뱅킹 어플리케이션이 될 수 있는 것이다.
도 3은 본 발명의 일 실시예에 따른 어플리케이션 연동 방법을 설명하기 위한 순서도이다.
어플리케이션 연동 장치(100)의 연동 가능 어플리케이션 확인부(110)는 구동된 어플리케이션과 연동되는 연동 가능 어플리케이션의 실행 여부를 확인하고, 확인 결과를 연동 가능 어플리케이션 실행부(120)로 전송한다(S310). 한편, 연동 가능 어플리케이션 확인부(110)는 복수 개의 어플리케이션 중 구동된 어플리케이션(210)과 연동되는 연동 가능 어플리케이션 리스트를 리스트 팝업창 형태로 출력하며, 리스트 팝업창을 통해 입력된 선택 명령에 따른 어플리케이션에 대한 실행 여부를 확인할 수 있다.
어플리케이션 연동 장치(100)의 연동 가능 어플리케이션 실행부(120)는 구동된 어플리케이션(210) 상에 가상 OS를 실행하고(S320), 가상 OS 상에 연동 가능 어 플리케이션(220)이 실행되도록 제어한다(S330). 여기서, 연동 가능 어플리케이션 실행부(120)는 연동 가능 어플리케이션이 실행되지 않고 있는 경우, 연동 가능 어플리케이션을 실행한다.
어플리케이션 연동 장치(100)의 프로세스 분리부(150)는 연동 가능 어플리케이션을 실행하기 위한 쓰레드에 대한 차일드 쓰레드를 생성하여 구동된 어플리케이션(210)과 연동 가능 어플리케이션(220)의 프로세스를 분리한다(S340).
어플리케이션 연동 장치(100)의 데이터 관리부(130)는 구동된 어플리케이션(210)과 연동 가능 어플리케이션(220) 간에 관련 데이터를 상호 송수신한다(S350). 또한, 데이터 관리부(130)는 연동 가능 어플리케이션에서 발생된 데이터를 저장부(170)에 저장하며, 연동 가능 어플리케이션(220)이 종료되면, 구동된 어플리케이션(210)을 통해 저장부(170)에 저장된 데이터를 호출할 수 있다. 한편, 연동 가능 어플리케이션 관리부(160)는 구동된 어플리케이션(210)이 종료된 경우, 사용자 명령에 의해 연동 가능 어플리케이션(220)을 종료하거나, 구동된 어플리케이션의 권한을 연동 가능 어플리케이션(220)으로 전송하여 연동 가능 어플리케이션(220)을 지속적으로 실행할 수 있다.
어플리케이션 연동 장치(100)의 리턴값 제공부(140)는 연동 가능 어플리케이션이 실행되기 전의 리턴값을 구동된 어플리케이션으로 전송한다(S360). 또한, 리턴값 제공부(140)는 연동 가능 어플리케이션(220)의 종료 및 쓰레드 재가동 중 어느 하나의 동작이 발생된 경우, 리턴값을 구동된 어플리케이션(210)으로 전달한다.
도 3에서는 어플리케이션 연동 장치(100)가 단계 S310 내지 단계 S360을 순 차적으로 실행하는 것으로 기재하고 있으나, 이는 본 발명의 일 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명의 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 일 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 어플리케이션 연동 장치(100)가 도 3에 기재된 순서를 변경하여 실행하거나 단계 S310 내지 단계 S360 중 하나 이상의 단계를 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 3은 시계열적인 순서로 한정되는 것은 아니다.
전술한 바와 같이 도 3에 기재된 본 발명의 일 실시예에 따른 어플리케이션 연동 방법은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 본 발명의 일 실시예에 따른 어플리케이션 연동 방법을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 이러한 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 또한, 본 발명의 일 실시예를 구현하기 위한 기능적인(Functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명의 일 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있을 것이다.
도 4는 본 발명의 일 실시예에 따른 가상 OS를 실행하여 연동 가능 어플리케 이션을 실행하는 예시도이다.
도 4에서는 본 발명의 실시예를 설명하기 위해 구동된 어플리케이션(210)을 제 1 어플리케이션으로 가정하고, 연동 가능 어플리케이션(220)을 제 2 어플리케이션으로 가정하여 설명하도록 한다.
본 발명의 일 실시예에 따른 어플리케이션 연동 장치(100)는 먼저 어플리케이션 제공 서버를 통하여 어플리케이션을 연동할 수 있는 제 1 어플리케이션을 다운로드 받고 사용자 조작에 의해 제 1 어플리케이션을 구동을 한다. 구동된 제 1 어플리케이션은 내부에 제 2 어플리케이션을 호출할 수 있는 프로그램을 내장하고 있으며, 제 2 어플리케이션을 호출할 수 있는 프로그램은 제 2 어플리케이션을 지원하기 위해 필요한 쓰레드의 리스트를 가지고 있으며, 어플리케이션 연동 장치(100)의 내부에 해당 쓰레드가 실행되고 있는지의 여부를 확인하고 실행되고 있지 않은 쓰레드에 대해서 실행을 지시한다. 또한, 제 1 어플리케이션의 데이터베이스 안에는 어플리케이션 연동 기능을 적용 가능한 제 2 어플리케이션의 리스트를 포함할 수 있으며, 어플리케이션이 저장되어 있는 리스트를 탐색하여 일치 여부를 비교하여 사용자에게 사용 가능한 제 2 어플리케이션 리스트를 출력할 수 있다. 물론, 향후 기술의 발전으로 모든 어플리케이션을 활용할 수 있는 제 1 어플리케이션이 구현되는 경우, 어플리케이션 연동 기능은 옵션 사항으로 구현될 수 있을 것이다.
또한, 제 2 어플리케이션의 경우 실행 및 종료 후에 제 1 어플리케이션으로 리턴값을 보낼 수 있는 기능을 포함한다. 여기서, 제 2 어플리케이션이 제 1 어플 리케이션으로 리턴값을 보내는 방법은 메모리에 리턴값을 저장한 후 해당 어드레스를 보내는 방법과 기존에 실행되고 있는 쓰레드에 값을 메모리에 기록하여 리턴하는 방식을 적용할 수 있다. 한편, 제 1 어플리케이션에서 제 2 어플리케이션을 실행시키고자 하는 경우, 제 1 어플리케이션은 기본적으로 어플리케이션이 실행하기에 필요한 쓰레드의 차일드 쓰레드를 만들어 제 1 어플리케이션의 프로세스와 제 2 어플리케이션의 프로세스를 분리한다. 해당 내역을 하나의 패키지 아래 생성함으로 가상 OS 환경을 만들어 제공함으로 제 2 어플리케이션은 하나의 어플리케이션만 실행되는 것으로 인식하게 한다. 가상 OS는 제 2 어플리케이션이 동작하는 것을 지원하며 제 2 어플리케이션이 필요한 프로세스는 제 1 어플리케이션으로 요청함으로 제 1 어플리케이션이 해당 프로세스를 구동하고 차일드 프로세스를 생성하여 전달하는 방식을 이용하여 가상 OS를 가동한다. 이러한 경우, 제 1 어플리케이션은 쓰레드 바이패스를 통하여 차일드 쓰레드를 만들지 않고 쓰레드를 바로 전달할 수도 있다.
또한, 특별하게 제 2 어플리케이션에서 제 1 어플리케이션으로 리턴값을 전달해 줄 수 있는 기능을 부여할 수 있다. 이러한 경우 종료와 동시에 전달할 수도 있고 종료없이 실행중 쓰레드 재기동을 통하여 쓰레드 종료시에 전달하고 새로운 쓰레드를 받는 방식을 이용하여 제 1 어플리케이션으로 데이터를 전달할 수도 있다. 또는 제 2 어플리케이션에서 저장부(170)에 데이터를 저장하고 제 2 어플리케이션을 종료한 후 제 1 어플리케이션에서 사용자 입력을 통하여 저장부(170)의 데이터를 호출하는 방식을 적용할 수도 있다. 여기서, 종료의 경우를 살펴보면, 제 2 어플리케이션이 종료하는 경우 제 1 어플리케이션은 차일드 쓰레드 패키지를 종료하고 리턴값이 있는 경우, 해당 리턴값을 처리할 수 있다. 한편, 제 1 어플리케이션을 먼저 종료하는 경우, 제 2 어플리케이션도 같이 종료할 수도 있고 제 1 어플리케이션에서 사용하고 있는 쓰레드의 권한을 제 2 어플리케이션으로 넘겨 제 2 어플리케이션은 계속 실행할 수 있게 할 수 있다.
도 5는 본 발명의 일 실시예에 따른 구동된 어플리케이션과 연동 가능 어플리케이션에 상호간에 데이터를 송수신하는 예시도이다.
도 5에 도시된 바와 같이 어플리케이션 연동 장치(100)에 가입자 식별 카드를 이용한 모바일 학생증 어플리케이션과 모방일 뱅킹 어플리케이션을 이용하고 있는 사용자의 경우를 살펴보면, 사용자가 모바일 학생증 어플리케이션을 실행하고 모바일 학생증 내에 은행 이용하기 기능(또는 메뉴)을 실행하면 모바일 학생증 어플리케이션은 모바일 뱅킹 어플리케이션을 호출하여 은행업무를 수행할 수 있게 지원해 준다. 이러한 경우, 모바일 뱅킹 어플리케이션에서 은행업무 처리에 대한 결과를 모바일 학생증 어플리케이션으로 전달할 수 있는 것이다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아 니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 발명은 구동된 어플리케이션에서 연동 가능한 어플리케이션을 추가로 실행하여 상호 간에 데이터를 송수신할 수 있는 다양한 분야에 적용되어, 개발자 입장에서 두 가지 기능을 담당하는 어플리케이션을 동시에 개발해야 하는 부담을 줄일 수 있는 효과를 발생하는 유용한 발명이다.
도 1은 본 발명의 일 실시예에 따른 어플리케이션 연동 장치를 개략적으로 나타낸 블럭 구성도,
도 2는 본 발명의 일 실시예에 따른 구동된 어플리케이션 및 연동 가능 어플리케이션을 개략적으로 나타낸 블럭 구성도,
도 3은 본 발명의 일 실시예에 따른 어플리케이션 연동 방법을 설명하기 위한 순서도,
도 4는 본 발명의 일 실시예에 따른 가상 OS를 실행하여 연동 가능 어플리케이션을 실행하는 예시도,
도 5는 본 발명의 일 실시예에 따른 구동된 어플리케이션과 연동 가능 어플리케이션에 상호간에 데이터를 송수신하는 예시도이다.
< 도면의 주요 부분에 대한 부호의 설명 >
110: 연동 가능 어플리케이션 확인부
120: 연동 가능 어플리케이션 실행부
130: 데이터 관리부 140: 리턴값 제공부
150: 프로세스 분리부
160: 연동 가능 어플리케이션 관리부 170: 저장부
210: 구동된 어플리케이션 220: 연동 가능 어플리케이션

Claims (12)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 구동된 어플리케이션과 연동되는 연동 가능 어플리케이션의 실행 여부를 확인하는 연동 가능 어플리케이션 확인부;
    상기 연동 가능 어플리케이션이 실행되지 않고 있는 경우, 상기 연동 가능 어플리케이션을 실행하는 연동 가능 어플리케이션 실행부; 및
    상기 구동된 어플리케이션과 상기 연동 가능 어플리케이션 간에 관련 데이터를 상호 송수신하는 데이터 관리부
    를 포함하되, 상기 연동 가능 어플리케이션 확인부는 복수 개의 어플리케이션 중 상기 구동된 어플리케이션과 연동되는 연동 가능 어플리케이션 리스트를 리스트 팝업창 형태로 출력하며, 상기 리스트 팝업창을 통해 입력된 선택 명령에 따른 어플리케이션의 실행 여부를 확인하는 것을 특징으로 하는 어플케이션 연동 장치.
  5. 구동된 어플리케이션과 연동되는 연동 가능 어플리케이션의 실행 여부를 확인하는 연동 가능 어플리케이션 확인부;
    상기 연동 가능 어플리케이션이 실행되지 않고 있는 경우, 상기 연동 가능 어플리케이션을 실행하는 연동 가능 어플리케이션 실행부;
    상기 구동된 어플리케이션과 상기 연동 가능 어플리케이션 간에 관련 데이터를 상호 송수신하는 데이터 관리부; 및
    상기 연동 가능 어플리케이션이 실행되기 전의 리턴값을 상기 구동된 어플리케이션으로 전송하는 리턴값 제공부
    를 포함하는 것을 특징으로 하는 어플케이션 연동 장치.
  6. 제 5 항에 있어서,
    상기 리턴값은 상기 연동 가능 어플리케이션이 실행되기 전의 쓰레드 값 또는 어드레스인 것을 특징으로 하는 어플케이션 연동 장치.
  7. 제 5 항에 있어서,
    상기 리턴값 제공부는,
    상기 연동 가능 어플리케이션의 종료 및 쓰레드 재가동 중 어느 하나의 동작이 발생된 경우, 상기 리턴값을 상기 구동된 어플리케이션으로 전달하는 것을 특징으로 하는 어플케이션 연동 장치.
  8. 구동된 어플리케이션과 연동되는 연동 가능 어플리케이션의 실행 여부를 확인하는 연동 가능 어플리케이션 확인부;
    상기 연동 가능 어플리케이션이 실행되지 않고 있는 경우, 상기 연동 가능 어플리케이션을 실행하는 연동 가능 어플리케이션 실행부; 및
    상기 구동된 어플리케이션과 상기 연동 가능 어플리케이션 간에 관련 데이터를 상호 송수신하는 데이터 관리부
    를 포함하되, 상기 데이터 관리부는 상기 연동 가능 어플리케이션에서 발생된 데이터를 저장부에 저장하며, 상기 연동 가능 어플리케이션이 종료되면, 상기 구동된 어플리케이션을 통해 상기 저장부에 저장된 데이터를 호출하는 것을 특징으로 하는 어플케이션 연동 장치.
  9. 구동된 어플리케이션과 연동되는 연동 가능 어플리케이션의 실행 여부를 확인하는 연동 가능 어플리케이션 확인부;
    상기 연동 가능 어플리케이션이 실행되지 않고 있는 경우, 상기 연동 가능 어플리케이션을 실행하는 연동 가능 어플리케이션 실행부;
    상기 구동된 어플리케이션과 상기 연동 가능 어플리케이션 간에 관련 데이터를 상호 송수신하는 데이터 관리부; 및
    상기 연동 가능 어플리케이션을 실행하기 위한 쓰레드에 대한 차일드 쓰레드를 생성하여 상기 구동된 어플리케이션과 상기 연동 가능 어플리케이션의 프로세스를 분리하는 프로세스 분리부
    를 포함하는 것을 특징으로 하는 어플케이션 연동 장치.
  10. 구동된 어플리케이션과 연동되는 연동 가능 어플리케이션의 실행 여부를 확인하는 연동 가능 어플리케이션 확인부;
    상기 연동 가능 어플리케이션이 실행되지 않고 있는 경우, 상기 연동 가능 어플리케이션을 실행하는 연동 가능 어플리케이션 실행부;
    상기 구동된 어플리케이션과 상기 연동 가능 어플리케이션 간에 관련 데이터를 상호 송수신하는 데이터 관리부; 및
    상기 구동된 어플리케이션이 종료된 경우, 사용자 명령에 의해 상기 연동 가능 어플리케이션을 종료하거나, 상기 구동된 어플리케이션의 권한을 상기 연동 가능 어플리케이션으로 전송하여 상기 연동 가능 어플리케이션을 지속적으로 실행하는 연동 가능 어플리케이션 관리부
    를 포함하는 것을 특징으로 하는 어플케이션 연동 장치.
  11. 삭제
  12. 구동된 어플리케이션과 연동되는 연동 가능 어플리케이션의 실행 여부를 확인하는 단계;
    상기 연동 가능 어플리케이션이 실행되지 않고 있는 경우, 상기 구동된 어플리케이션 상에 가상 OS를 실행하는 단계;
    상기 가상 OS 상에 상기 연동 가능 어플리케이션을 실행하는 단계;
    상기 연동 가능 어플리케이션을 실행하기 위한 쓰레드에 대한 차일드 쓰레드를 생성하여 상기 구동된 어플리케이션과 상기 연동 가능 어플리케이션의 프로세스를 분리하는 단계;
    상기 구동된 어플리케이션과 상기 연동 가능 어플리케이션 간에 관련 데이터를 상호 송수신하는 단계; 및
    상기 연동 가능 어플리케이션의 종료 및 쓰레드 재가동 중 어느 하나의 동작이 발생된 경우, 상기 연동 가능 어플리케이션이 실행되기 전의 리턴값을 상기 구동된 어플리케이션으로 전송하는 단계
    를 포함하는 것을 특징으로 하는 어플케이션 연동 방법.
KR1020090096942A 2009-10-12 2009-10-12 어플케이션 연동 장치 및 방법 KR101087665B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090096942A KR101087665B1 (ko) 2009-10-12 2009-10-12 어플케이션 연동 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090096942A KR101087665B1 (ko) 2009-10-12 2009-10-12 어플케이션 연동 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20110039902A KR20110039902A (ko) 2011-04-20
KR101087665B1 true KR101087665B1 (ko) 2011-11-30

Family

ID=44046355

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090096942A KR101087665B1 (ko) 2009-10-12 2009-10-12 어플케이션 연동 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101087665B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101448085B1 (ko) * 2012-11-28 2014-10-13 에스케이씨앤씨 주식회사 어플리케이션 삭제에 연동한 se 애플릿 관리 방법 및 이를 적용한 모바일 기기와 서비스 관리 서버
KR101460179B1 (ko) 2012-11-28 2014-11-10 에스케이씨앤씨 주식회사 임시 결제카드 설정 방법 및 이를 적용한 모바일 기기

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100689116B1 (ko) 2005-10-31 2007-03-02 에스케이 텔레콤주식회사 스마트폰에서 위피를 구동하기 위한 데몬

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100689116B1 (ko) 2005-10-31 2007-03-02 에스케이 텔레콤주식회사 스마트폰에서 위피를 구동하기 위한 데몬

Also Published As

Publication number Publication date
KR20110039902A (ko) 2011-04-20

Similar Documents

Publication Publication Date Title
US9635098B2 (en) Open platform, open platform access system, storage medium, and method for allowing third party application to access open platform
Coskun et al. Professional NFC application development for android
JP5930236B2 (ja) ウェブアプリケーションアーキテクチャ
KR20210134675A (ko) 사용자 시연을 통하여 명령들을 학습하고 실행 가능하게 하기 위한 방법 및 시스템
US20170249934A1 (en) Electronic device and method for operating the same
CA2695677A1 (en) A method and an apparatus comprising a browser
CN105912362B (zh) 一种加载插件的方法、装置及电子设备
US20150112860A1 (en) Contactless Payment Method, Device, and System
CN104516709B (zh) 基于软件运行场景及语音助手的语音辅助方法及系统
WO2011104699A2 (en) Method and apparatus for providing a high level mobile virtual machine
US11887109B1 (en) Service composition in a mobile communication device application framework
CN112286485B (zh) 通过语音控制应用的方法、装置、电子设备与存储介质
CN111930288B (zh) 交互式业务处理方法及系统
CN113536185B (zh) 应用页面的加载方法、存储介质、及其相关设备
CN103443763A (zh) 包含对重写虚拟函数的调用的支持的isa桥接
CN112562217A (zh) 自助终端控制系统的流程引擎设计、通讯方式、工作方法
CN104809610A (zh) 业务流程处理方法及装置
KR101373550B1 (ko) 네트워크 기반의 플랫폼 시스템
KR101087665B1 (ko) 어플케이션 연동 장치 및 방법
CN104636923A (zh) 一种信息传输方法、装置和系统
CN103955388B (zh) 客户端的冷启动方法及装置
WO2023169193A1 (zh) 用于生成智能合约的方法和装置
CN107273102A (zh) 移动应用程序的生成方法及装置
CN108563475A (zh) 应用程序的运行方法、装置及存储介质
CN110795154B (zh) 跨平台设备驱动方法、装置、设备及计算机可读存储介质

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
N231 Notification of change of applicant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141031

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151102

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171102

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181105

Year of fee payment: 8