KR20210002394A - Apparatus and method for performing an application - Google Patents

Apparatus and method for performing an application Download PDF

Info

Publication number
KR20210002394A
KR20210002394A KR1020200176707A KR20200176707A KR20210002394A KR 20210002394 A KR20210002394 A KR 20210002394A KR 1020200176707 A KR1020200176707 A KR 1020200176707A KR 20200176707 A KR20200176707 A KR 20200176707A KR 20210002394 A KR20210002394 A KR 20210002394A
Authority
KR
South Korea
Prior art keywords
application program
support information
external device
device support
information
Prior art date
Application number
KR1020200176707A
Other languages
Korean (ko)
Other versions
KR102385801B1 (en
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
Priority claimed from KR1020130167078A external-priority patent/KR102194306B1/en
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020200176707A priority Critical patent/KR102385801B1/en
Publication of KR20210002394A publication Critical patent/KR20210002394A/en
Application granted granted Critical
Publication of KR102385801B1 publication Critical patent/KR102385801B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4072Drivers or receivers
    • 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

Landscapes

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

Abstract

An embodiment of the present invention relates to a method for executing an application program in an electronic device. The method comprises: a process of storing device support information corresponding to the application program; a process of receiving device information from an external device; a process of searching for at least one application program supporting the external device based on the device information and the device support information; and a process of executing the searched application program. According to the present invention, application programs related to external devices can be automatically searched.

Description

응용 프로그램을 실행하는 전자 장치 및 방법{APPARATUS AND METHOD FOR PERFORMING AN APPLICATION} Electronic devices and methods for running applications {APPARATUS AND METHOD FOR PERFORMING AN APPLICATION}

본 발명의 다양한 실시 예는 응용 프로그램을 실행하는 전자 장치 및 방법에 관한 것이다. Various embodiments of the present disclosure relate to an electronic device and a method for executing an application program.

스마트 폰(Smart Phone) 및 태블릿(Tablet) 등의 전자 장치는 여러 가지 다양한 애플리케이션들을 통해 사용자에게 여러 가지 유용한 기능을 제공하고 있다. 전자 장치는 다양한 기능의 제공을 통해 음성 통화 기능과 더불어 다양한 형태의 정보를 이용할 수 있는 기기로 변모해 가는 추세이다. 이러한 전자 장치는 외부 장치와 연결되면, 전자 장치에서 제공하지 못하는 기능을 제공한다. Electronic devices such as smart phones and tablets provide various useful functions to users through various various applications. Electronic devices are being transformed into devices that can use various types of information along with a voice call function by providing various functions. When such an electronic device is connected to an external device, it provides functions that the electronic device cannot provide.

전자 장치는 외부 장치에 대한 드라이버를 미리 설치할 수 있으며, 설치된 드라이버를 사용하여 외부 장치와 전자 장치 간의 연결 체계를 구성한다. 그리고 전자 장치는 외부 장치가 연결되면, 외부 장치를 지원하는 응용 프로그램을 실행한다. 이때, 응용 프로그램은 자신이 제어하고자 하는 외부 장치를 사용자로부터 확인 받거나 외부 장치를 자동으로 검색하여 자신이 제어하고자 하는 외부 장치를 확인한다. 이러한 외부 장치를 자동으로 검색하는 동작을 수행하기 위해, 응용 프로그램은 드라이버를 필요로 하므로 드라이버에 접근하기 위해서는 전자 장치의 운영 체제로부터 드라이버 접근 권한 획득한다.The electronic device can install drivers for the external device in advance, and configure a connection system between the external device and the electronic device using the installed driver. In addition, when an external device is connected, the electronic device executes an application program supporting the external device. At this time, the application program checks the external device to be controlled by the user or automatically searches for the external device to be controlled by the application program. In order to perform an operation of automatically searching for such an external device, an application program needs a driver, and thus, in order to access the driver, a driver access right is obtained from the operating system of the electronic device.

이와 같이, 응용 프로그램이 외부 장치를 자동으로 검색하기 위해서는 외부 장치의 드라이버 접근 권한을 획득해야 한다. 응용 프로그램이 드라이버 접근 권한을 획득하게 위해 상기 응용 프로그램은 운영 체제(예를 들면, 안드로이드)의 커널을 통해 외부 장치로 드라이버 접근 권한을 요청하고, 커널을 통해 외부 장치로부터 요청에 대한 응답을 수신하므로, 외부 장치를 검색하기 위해 복잡한 동작을 수행해야 하는 문제점이 있다. 그리고 응용 프로그램이 외부 장치를 사용 중에 다른 응용 프로그램이 동일한 외부 장치를 사용하고자 하면, 상기 외부 장치를 사용하고 있는 응용 프로그램이 다른 응용프로그램으로 인하여 사용자에게 제공 중인 기능을 계속해서 제공하지 못하는 문제점이 있다. In this way, in order for an application program to automatically search for an external device, it must acquire driver access rights for the external device. In order for the application to acquire driver access rights, the application requests driver access rights to an external device through the kernel of the operating system (for example, Android), and receives a response to the request from the external device through the kernel. However, there is a problem in that a complex operation must be performed to search for an external device. In addition, if an application program uses an external device and another application program attempts to use the same external device, there is a problem in that the application program using the external device cannot continue to provide the function being provided to the user due to the other application program .

본 발명의 다양한 실시 예는 외부 장치와 관련되는 응용 프로그램을 자동으로 검색할 수 있도록 응용 프로그램을 실행하는 전자 장치 및 방법을 제안한다. Various embodiments of the present disclosure provide an electronic device and method for executing an application program so that an application program related to an external device can be automatically searched.

그리고 본 발명의 실시 예는 복수의 응용 프로그램들 중에서 어느 한 응용 프로그램이 외부 장치를 사용할 수 있도록 응용 프로그램을 실행하는 전자 장치 및 방법을 제안한다.In addition, an embodiment of the present invention proposes an electronic device and a method for executing an application program so that one of a plurality of application programs can use an external device.

본 발명의 실시 예에 따른 응용 프로그램을 실행하는 전자 장치에 있어서, 응용 프로그램에 대응하는 장치 지원 정보를 저장하는 메모리부와, 외부 장치와 전자 장치가 연결되면, 상기 외부 장치로부터 장치 정보를 수신하고, 상기 장치 정보와 상기 장치 지원 정보를 기반으로 상기 외부 장치를 지원하는 적어도 하나의 응용 프로그램을 검색하고, 상기 검색된 응용 프로그램을 실행하는 제어부를 포함할 수 있다. In an electronic device executing an application program according to an embodiment of the present invention, when a memory unit for storing device support information corresponding to the application program and an external device and an electronic device are connected, device information is received from the external device, and And a controller configured to search for at least one application program supporting the external device based on the device information and the device support information, and execute the searched application program.

본 발명의 실시 예에 따른 전자 장치에서 응용 프로그램을 실행하는 방법에 있어서, 상기 응용프로그램에 대응하는 장치 지원 정보를 저장하는 과정과, 상기 외부 장치로부터 장치 정보를 수신는 과정과, 상기 장치 정보와 상기 장치 지원 정보를 기반으로 상기 외부 장치를 지원하는 적어도 하나의 응용 프로그램을 검색하고, 상기 검색된 응용 프로그램을 실행할 수 있다.In a method of executing an application program in an electronic device according to an embodiment of the present invention, a process of storing device support information corresponding to the application program, a process of receiving device information from the external device, the device information and the Based on device support information, at least one application program supporting the external device may be searched and the searched application program may be executed.

본 발명의 다양한 실시 예는 전자 장치에서 장치 지원 정보를 기반으로 응용 프로그램을 실행함으로써 외부 장치와 관련되는 응용 프로그램을 자동으로 검색할 수 있는 효과를 가진다. Various embodiments of the present disclosure have an effect of being able to automatically search for an application program related to an external device by executing an application program in an electronic device based on device support information.

그리고 본 발명의 다양한 실시 예는 전자 장치에서 배타적 사용 권한을 이용하여 응용 프로그램을 실행함으로써 복수의 응용 프로그램들 중에서 어느 한 응용 프로그램이 외부 장치를 사용할 수 있는 효과를 가진다. In addition, according to various embodiments of the present disclosure, an electronic device executes an application program using an exclusive use right, so that any one application program among a plurality of application programs can use an external device.

도 1은 본 발명의 다양한 실시 예에 따른 통신 시스템 구성도이다.
도 2는 본 발명의 다양한 실시 예에 따른 전자 장치의 블록 구성도이다.
도 3은 본 발명의 다양한 실시 예에 따른 플랫폼의 블록 구성도이다.
도 4는 본 발명의 다양한 실시 예에 따라 외부 장치 지원 정보를 데이터베이스화하는 흐름도이다.
도 5는 본 발명의 다양한 실시 예에 따라 응용 프로그램을 실행하는 흐름도이다.
도 6은 본 발명의 다양한 실시 예에 따른 패키지 메타 데이터의 컴퓨터 언어를 도시한 도면이다.
도 7은 본 발명의 다양한 실시 예에 따라 응용 프로그램이 실행되는 화면을 도시한 도면이다.
1 is a configuration diagram of a communication system according to various embodiments of the present disclosure.
2 is a block diagram of an electronic device according to various embodiments of the present disclosure.
3 is a block diagram of a platform according to various embodiments of the present disclosure.
4 is a flowchart of converting external device support information into a database according to various embodiments of the present disclosure.
5 is a flowchart of executing an application program according to various embodiments of the present disclosure.
6 is a diagram illustrating a computer language of package metadata according to various embodiments of the present disclosure.
7 is a diagram illustrating a screen on which an application program is executed according to various embodiments of the present disclosure.

이하, 본 발명의 다양한 실시 예들을 첨부한 도면을 참조하여 설명한다. 또한 본 발명의 다양한 실시 예의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다. Hereinafter, various embodiments of the present invention will be described with reference to the accompanying drawings. In addition, detailed descriptions of known functions and configurations that may unnecessarily obscure the subject matter of various embodiments of the present invention will be omitted.

본 발명의 다양한 실시 예에 따른 전자 장치는 화상 전화기, 휴대폰, 스마트 폰(smart phone), IMT-2000(International Mobile Telecommunication 2000) 단말기, WCDMA 단말기, UMTS(Universal Mobile Telecommunication Service) 단말기, PDA(Personal Digital Assistant), PMP(Portable Multimedia Player), DMB(Digital Multimedia Broadcasting) 단말기, E-Book, 휴대용 컴퓨터(Notebook, Tablet 등) 또는 디지털 카메라(Digital Camera) 등이 될 수 있다. Electronic devices according to various embodiments of the present disclosure include a video phone, a mobile phone, a smart phone, an International Mobile Telecommunication 2000 (IMT-2000) terminal, a WCDMA terminal, a Universal Mobile Telecommunication Service (UMTS) terminal, and a personal digital digital assistant (PDA) terminal. Assistant), a portable multimedia player (PMP), a digital multimedia broadcasting (DMB) terminal, an E-Book, a portable computer (notebook, tablet, etc.), or a digital camera.

도 1은 본 발명의 다양한 실시 예에 따른 통신 시스템 구성도이다. 1 is a configuration diagram of a communication system according to various embodiments of the present disclosure.

도 1을 참조하면, 통신 시스템은 전자 장치(101)와 외부 장치(103)와 전자 장치(101)와 외부 장치(103)를 연결하는 케이블(105)을 포함할 수 있다. Referring to FIG. 1, a communication system may include an electronic device 101 and an external device 103, and a cable 105 connecting the electronic device 101 and the external device 103.

케이블(105)은 전자 장치(101)와 외부 장치(103)를 연결할 수 있으며, 전자 장치(101)와 외부 장치(103)에서 지원하는 특정 통신 방식을 통해 생성된 데이터 신호를 전자 장치(101)로부터 외부 장치(103)로 전송하거나 외부 장치(103)로부터 전자 장치(101)로 전송할 수 있다. 예를 들면, 특정 통신 방식은 유니버설 시리얼 버스(Universal Serial Bus, 이하 'USB'라 한다) 통신 방식이 될 수 있다. USB 통신 방식은 USB 1.0 통신 방식으로부터 USB 3.0 통신 방식까지 점진적으로 발전하고 있다. The cable 105 may connect the electronic device 101 and the external device 103, and transmit data signals generated through a specific communication method supported by the electronic device 101 and the external device 103 to the electronic device 101. It may be transmitted from the external device 103 or from the external device 103 to the electronic device 101. For example, a specific communication method may be a universal serial bus (Universal Serial Bus, hereinafter referred to as'USB') communication method. The USB communication method is gradually evolving from the USB 1.0 communication method to the USB 3.0 communication method.

외부 장치(103)는 케이블(105)을 통해 전자 장치(101)와 연결될 수 있고, 외부 장치(103)에 저장된 데이터 신호를 전자 장치(101)로 전송하거나 전자 장치(101)로부터 데이터 신호를 수신할 수 있다. 예를 들면, 외부 장치(103)는 악세사리(accessory)와 같은 형태가 될 수 있으며 텔레비전, 모니터, 빔 프로젝터, 키보드, 터치 스크린, 키보드, 퍼스널 컴퓨터, 오디오 플레이어, 보조 배터리 또는 조이스틱 등이 될 수 있다. The external device 103 can be connected to the electronic device 101 through a cable 105, and transmits a data signal stored in the external device 103 to the electronic device 101 or receives a data signal from the electronic device 101. can do. For example, the external device 103 may be in the form of an accessory, and may be a television, a monitor, a beam projector, a keyboard, a touch screen, a keyboard, a personal computer, an audio player, an auxiliary battery, or a joystick. .

전자 장치(101)는 케이블(105)을 통해 외부 장치(103)와 연결될 수 있고, 외부 장치(103)의 종류에 따라 응용 프로그램을 실행하고, 실행된 응용 프로그램을 이용하여 외부 장치(103)를 제어할 수 있다. The electronic device 101 can be connected to the external device 103 through a cable 105, executes an application program according to the type of the external device 103, and uses the executed application program to access the external device 103. Can be controlled.

도 2는 본 발명의 다양한 실시 예에 따른 전자 장치의 블록 구성도이다. 2 is a block diagram of an electronic device according to various embodiments of the present disclosure.

도 2를 참조하면, 전자 장치(101)는 제어부(201)와 표시부(203)와 입력부(205)와 메모리부(207)와 커넥터(209)를 포함할 수 있다. Referring to FIG. 2, the electronic device 101 may include a control unit 201, a display unit 203, an input unit 205, a memory unit 207, and a connector 209.

입력부(205)는 숫자 및 문자 정보를 입력하기 위한 키들 및 각종 기능들을 설정하기 위한 기능 키들을 구비할 수 있다.The input unit 205 may include keys for inputting numeric and character information and function keys for setting various functions.

표시부(203)는 영상 신호를 화면으로 표시할 수 있고, 제어부(201)로부터 출력 요청되는 데이터를 표시할 수 있다. The display unit 203 may display an image signal on a screen, and may display data requested to be output from the control unit 201.

또한, 입력부(205)는 표시부(203)가 정전식 또는 감압식 등의 터치 표시 화면 방식인 경우, 미리 설정된 최소한의 키만을 포함할 수 있고, 이에 따라 상기 표시부(203)는 입력부(205)의 키입력 기능을 일부 대체할 수 있다. In addition, the input unit 205 may include only a preset minimum number of keys when the display unit 203 is a touch display type such as a capacitive type or a pressure sensitive type, and accordingly, the display unit 203 is a key of the input unit 205. Some of the input functions can be substituted.

메모리부(207)는 프로그램 메모리와 데이터 메모리를 포함할 수 있다. 상기 프로그램 메모리는 전자 장치(101)의 일반적인 동작을 제어하기 위한 부팅(booting) 및 운영 시스템(Operating System, 이하 'OS'라 한다) 및 플랫폼(platform) 중 적어도 하나를 저장할 수 있다. 상기 데이터 메모리는 전자 장치(101)의 동작 중에 발생되는 각종 데이터들을 저장할 수 있다. The memory unit 207 may include a program memory and a data memory. The program memory may store at least one of a booting and operating system (hereinafter referred to as “OS”) and a platform for controlling general operations of the electronic device 101. The data memory may store various types of data generated during the operation of the electronic device 101.

또한, 메모리부(207)는 일 예로 특정 응용 프로그램에 대응되는 외부 장치 지원 정보를 저장할 수 있다. 여기서 외부 장치 지원 정보는 특정 응용 프로그램이 지원하는 외부장치의 종류를 나타내는 정보로, 아이디(ID)와 조건 명(condition name)과 클래스(class)와 서브 클래스(subclass)와 프로토콜(protocol)과 이름(name)과 상품 아이디(product ID)와 밴더 아이디(vendor ID)등 중 적어도 하나를 포함할 수 있다. 상기 외부 장치는 일예로 USB가 될 수 있다.Also, the memory unit 207 may store external device support information corresponding to a specific application program, for example. Here, the external device support information is information indicating the type of external device supported by a specific application program. ID, condition name, class, subclass, protocol, and name It may include at least one of (name), product ID, and vendor ID. The external device may be USB, for example.

외부 장치 지원 정보는 표 1과 같은 테이블 형태로 저장될 수 있다. The external device support information may be stored in the form of a table as shown in Table 1.

IDID Conditoin NameConditoin Name ClassClass SubclassSubclass ProtocolProtocol NameName ProductIDProductID VendorIDVendorID 0101 usb-deviceusb-device EFhEFh 02h02h 02h02h AppcessoryAppcessory 0101 0101 ...... ...... ...... ...... ...... ...... ...... ......

상기 아이디(ID)는 특정 응용 프로그램이 자동으로 실행되는 특정 장치의 개수를 확인하기 위해 부여되는 아이디를 나타낼 수 있다. The ID (ID) may indicate an ID that is given to check the number of specific devices on which a specific application program is automatically executed.

상기 조건 명(Condition Name)은 특정 응용 프로그램이 자동으로 실행되기 위한 특정 외부 장치의 조건을 나타낼 수 있다. 상기 조건 명은 일 예로, 특정 응용 프로그램의 자동 실행 조건이 특정 외부 장치가 USB 장치인 경우, 조건 명은 특정 장치가 USB 장치임을 나타내는 'usb-device'가 될 수 있다. The condition name may indicate a condition of a specific external device for automatically executing a specific application program. The condition name may be, for example, a “usb-device” indicating that the specific device is a USB device when an automatic execution condition of a specific application program is a specific external device.

상기 클래스(Class)는 특정 장치의 종류를 나타낼 수 있다. 예를 들면, 특정 장치가 입력 장치인 경우, 클래스는 특정 장치가 입력 장치임을 나타내는 'EFh'가 될 수 있다. The class may indicate the type of a specific device. For example, when a specific device is an input device, the class may be'EFh' indicating that the specific device is an input device.

상기 서브 클래스(Subclass)는 특정 장치의 서브 클래스를 나타낸다., 일 예로, 서브 클래스는 특정 장치의 종류를 나타내는 지시자를 포함할 수 있다. 예를 들면, 특정 장치가 조이스틱인 경우, 서브 클래스는 특정 장치의 서브 클래스가 조이스틱임을 나타내는 '02h'가 될 수 있다.The subclass indicates a subclass of a specific device. For example, the subclass may include an indicator indicating the type of a specific device. For example, when a specific device is a joystick, the subclass may be '02h' indicating that the subclass of the specific device is a joystick.

상기 프로토콜(Protocol)은 특정 장치가 지원하는 프로토콜을 나타낼 수 있다. 일 예로 상기 프로토콜은 '02h'가 될 수 있다.The protocol may indicate a protocol supported by a specific device. For example, the protocol may be '02h'.

상기 이름(name)은 특정 장치의 이름을 나타낸다. 상기 이름은 일 예로, 'Appcessory'가 될 수 있다.The name represents the name of a specific device. The name may be, for example,'Appcessory'.

상기 상품 아이디(Product ID)는 특정 장치에 부여되는 상품 아이디를 나타낼 수 있다. 일 예로 '01'이 될 수 있다.The product ID may indicate a product ID assigned to a specific device. For example, it may be '01'.

상기 밴더 아이디(Vender ID)는 특정 장치를 제작한 제조회사의 아이디를 나타낼 수 있다. 일 예로 상기 밴더 아이디는 '01'이 될 수 있다.The vendor ID may indicate the ID of a manufacturer that manufactured a specific device. For example, the vendor ID may be '01'.

즉, 메모리부(207)는 응용 프로그램 별로 외부 장치 지원 정보에 포함되는 정보들 중 적어도 하나의 요소를 저장할 수 있으며, 상기 표1과 같이 테이블 형식으로 저장 할 수 있다. That is, the memory unit 207 may store at least one element of information included in the external device support information for each application program, and may store it in a table format as shown in Table 1 above.

커넥터(209)는 케이블(105)을 통해 전자 장치(101)를 외부 장치(103)와 연결할 수 있다. 여기서, 커넥터(209)는 일 예로, USB 통신용 커넥터 또는 USB 통신과 다른 통신(예를 들면, MHL(Mobile High-Definition Link) 통신)을 함께 지원하는 커넥터가 될 수 있다. The connector 209 may connect the electronic device 101 to the external device 103 through the cable 105. Here, the connector 209 may be, for example, a connector for USB communication or a connector that supports USB communication and other communication (eg, Mobile High-Definition Link (MHL) communication) together.

제어부(201)는 전자 장치(101)의 전반적인 동작을 제어하는 기능을 수행할 수 있다. 예를 들면, 제어부(201)는 메모리부(207)에 저장된 플랫폼을 실행할 수 있다. 특정 응용 프로그램을 전자 장치(101)에 설치하는 경우, 제어부(201)는 플랫폼을 이용하여 특정 응용 프로그램에 대응되는 외부 장치 지원 정보를 메모리부(207)에 저장할 수 있다. 그리고 전자 장치(101)와 외부 장치가 연결되는 경우, 플랫폼을 이용하여 외부 장치를 지원하는 응용 프로그램을 확인하고, 확인된 응용 프로그램을 자동으로 실행할 수 있다. The controller 201 may perform a function of controlling the overall operation of the electronic device 101. For example, the control unit 201 may execute a platform stored in the memory unit 207. When a specific application program is installed in the electronic device 101, the controller 201 may store external device support information corresponding to the specific application program in the memory unit 207 using a platform. In addition, when the electronic device 101 and the external device are connected, an application program supporting the external device may be checked using a platform, and the identified application program may be automatically executed.

도 3은 본 발명의 다양한 실시 예에 따른 플랫폼의 블록 구성도이다. 3 is a block diagram of a platform according to various embodiments of the present disclosure.

도 3을 참조하면, 플랫폼은 패키지 관리부(301)와 장치 관리부(303)와 응용 프로그램 관리부(305)를 포함할 수 있다. Referring to FIG. 3, the platform may include a package management unit 301, a device management unit 303, and an application program management unit 305.

장치 관리부(303)는 외부 장치가 전자 장치(101)와 연결되면, 외부 장치와 관련된 외부 장치 정보를 패키지 관리부(301)로 전송할 수 있다. When the external device is connected to the electronic device 101, the device manager 303 may transmit external device information related to the external device to the package manager 301.

일 예로 장치 관리부(303)는 커넥터(209)를 통해 외부 장치가 연결되는지 여부를 확인할 수 있다. 외부 장치가 연결되면, 장치 관리부(303)는 연결된 외부 장치로부터 외부 장치 정보를 수신하고, 수신된 외부 장치 정보를 패키지 관리부(301)로 전송할 수 있다. For example, the device manager 303 may check whether an external device is connected through the connector 209. When an external device is connected, the device manager 303 may receive external device information from the connected external device and transmit the received external device information to the package manager 301.

외부 장치 정보는 연결된 외부 장치와 관련되는 정보로, 외부 장치에 대한 클래스, 서브 클래스, 프로토콜, 이름, 상품 아이디 또는 밴더 아이디 중 적어도 하나를 포함할 수 있다. 클래스는 연결된 외부 장치의 클래스를 나타내고, 서브 클래스는 연결된 외부 장치의 서브 클래스를 나타내고, 프로토콜은 연결된 외부 장치가 지원하는 프로토콜은 나타낸다. 그리고 이름은 연결된 외부 장치의 이름을 나타내고, 상품 아이디는 연결된 외부 장치의 상품 아이디를 나타내고, 밴더 아이디는 외부 장치를 제조한 제조회사의 아이디를 나타낸다.The external device information is information related to a connected external device, and may include at least one of a class, a subclass, a protocol, a name, a product ID, or a vendor ID for the external device. The class indicates the class of the connected external device, the subclass indicates the subclass of the connected external device, and the protocol indicates the protocol supported by the connected external device. In addition, the name indicates the name of the connected external device, the product ID indicates the product ID of the connected external device, and the vendor ID indicates the ID of the manufacturer that manufactured the external device.

그리고 패키지 관리부(301)는 응용 프로그램별 외부 장치 지원 정보를 데이터베이스화할 수 있다. 상기 패키지 관리부(301)는 특정 응용 프로그램이 전자 장치(101)에 설치되는지 여부를 확인할 수 있다. 상기 특정 응용 프로그램은 무선 또는 유선을 통해서 외부 서버 또는 다른 전자 장치로부터 수신될 수 있다. 일 예로, 특정 응용 프로그램이 설치된 경우, 패키지 관리부(301)는 특정 응용 프로그램의 패키지 데이터로부터 패키지 메타 데이터를 검출하고, 검출된 상기 메타 데이터로부터 외부 장치 지원 정보를 검출할 수 있다. 상기 패키지 메타 데이터는 속성 정보일 수 있으며, 상기 패키지 데이터에 대한 정보에 대한 내용, 사용자 정보, 권리 조건, 이용 조건, 이용 내력 정보 및 외부 장치 지원 정보 중 적어도 하나를 포함할 수 있다. 일 예로 메타 데이터는 특정 응용 프로그램의 'Manifest.xml' 파일이 될 수 있다. 다른 예로, 패키지 메타 데이터가 특정 응용 프로그램의 'Manifest.xml' 파일인 경우, 패키지 관리부(301)는 패키지 메타 데이터에 포함된 외부 장치 지원 정보(601)를 검출할 수 있다. 여기서, 외부 장치 지원 정보(601)는 특정 응용 프로그램이 지원하는 외부 장치의 종류를 나타내는 정보로, 아이디(609)와 조건 명(617)과 클래스(603)와 서브 클래스(605)와 프로토콜(607)과 이름(611)과 상품 아이디(613)와 밴더 아이디(615)등 중 적어도 하나 이상을 포함할 수 있으며, 상기 외부 장치 지원 정보의 각 구성 요소를 테이블 형태로 저장할 수 있다.In addition, the package management unit 301 may convert external device support information for each application program into a database. The package management unit 301 may check whether a specific application program is installed on the electronic device 101. The specific application program may be received from an external server or other electronic device through wireless or wired. For example, when a specific application program is installed, the package management unit 301 may detect package metadata from the package data of the specific application program, and external device support information from the detected metadata. The package metadata may be attribute information, and may include at least one of information on the package data, user information, rights conditions, usage conditions, usage history information, and external device support information. For example, the metadata may be a'Manifest.xml' file of a specific application program. As another example, when the package metadata is a'Manifest.xml' file of a specific application, the package management unit 301 may detect the external device support information 601 included in the package metadata. Here, the external device support information 601 is information indicating the type of an external device supported by a specific application program, and the ID 609, the condition name 617, the class 603, the subclass 605, and the protocol 607 ), name 611, product ID 613, vendor ID 615, and the like, and each component of the external device support information may be stored in the form of a table.

패키지 관리부(301)는 일 예로, 특정 응용 프로그램에 대응되게 외부 장치 지원 정보를 메모리부(207)에 저장할 수 있다. 예를 들면, 패키지 메타 데이터가 도 7과 같은 'Manifest.xml'인 경우, 패키지 관리부(301)는 표 1과 같이 외부 장치 지원 정보를 테이블화하여 저장할 수 있다. The package management unit 301 may, for example, store external device support information in the memory unit 207 to correspond to a specific application program. For example, when the package metadata is'Manifest.xml' as shown in FIG. 7, the package management unit 301 may table and store the external device support information as shown in Table 1.

패키지 관리부(301)는 일 예로, 응용 프로그램 각각에 대하여 상기 응용 프로그램에 대응하는 외부 장치 지원 정보를 생성할 수 있다. 패키지 관리부(301)는 외부 장치가 연결되면, 연결된 외부 장치를 지원하는 응용 프로그램 식별자를 포함하는 응용 프로그램 목록을 생성하고, 생성된 응용 프로그램 목록을 응용 프로그램 관리부(305)로 전송할 수 있다. 즉, 패키지 관리부(301)가 외부 장치와 연결되면, 패키지 관리부(301)는 장치 관리부(303)로부터 연결된 외부 장치에 대한 외부 장치 정보를 수신할 수 있다. 상기 패키지 관리부(301)는 외부 장치 정보와 미리 저장된 응용 프로그램별 외부 장치 지원 정보를 기반으로 외부 장치를 지원하는 적어도 하나의 응용 프로그램을 검색할 수 있다. 패키지 관리부(301)는 상기 검색된 적어도 하나의 응용 프로그램을 나타내는 적어도 하나의 응용 프로그램 식별자를 포함하는 응용 프로그램 목록을 생성하고, 상기 생성된 응용 프로그램 목록을 응용 프로그램 관리부(305)로 전송할 수 있다. 여기서, 응용 프로그램 식별자는 응용 프로그램 이름이 될 수 있다. For example, the package manager 301 may generate external device support information corresponding to the application program for each application program. When an external device is connected, the package management unit 301 may generate an application program list including an application program identifier supporting the connected external device, and transmit the generated application program list to the application program management unit 305. That is, when the package management unit 301 is connected to an external device, the package management unit 301 may receive external device information on the connected external device from the device management unit 303. The package management unit 301 may search for at least one application program supporting an external device based on external device information and external device support information for each application program stored in advance. The package management unit 301 may generate an application program list including at least one application program identifier indicating the searched at least one application program, and transmit the generated application program list to the application program management unit 305. Here, the application program identifier may be an application program name.

패키지 관리부(301)는 일 예로, 응용 프로그램별 외부 장치 지원 정보 중에서 외부 장치 정보에 포함된 모든 요소들 중에서 적어도 하나의 요소를 포함하는 적어도 하나의 외부 장치 지원 정보를 검색할 수 있다. 상기 패키지 관리부(301)가 상기 적어도 하나의 요소를 포함하는 적어도 하나의 외부 장치 지원 정보를 검색하면, 패키지 관리부(301)는 검색된 외부 장치 지원 정보에 대응되는 적어도 하나의 응용 프로그램 이름을 포함하는 응용 프로그램 목록을 생성할 수 있다. For example, the package management unit 301 may search for at least one external device support information including at least one element from among all elements included in the external device information among external device support information for each application program. When the package management unit 301 searches for at least one external device support information including the at least one element, the package management unit 301 includes at least one application name corresponding to the searched external device support information. You can create a list of programs.

또한, 패키지 관리부(301)는 일 예로 응용 프로그램별 외부 장치 지원 정보 중에서 외부 장치 정보에 포함된 모든 요소를 포함하는 적어도 하나의 외부 장치 지원 정보를 검색할 수 있다. 모든 요소를 포함하는 적어도 하나의 외부 장치 지원 정보가 검색되면, 패키지 관리부(301)는 검색된 외부 장치 지원 정보에 대응되는 적어도 하나의 응용 프로그램 이름을 포함하는 응용 프로그램 목록을 생성할 수 있다. In addition, the package management unit 301 may search for at least one external device support information including all elements included in the external device information among external device support information for each application program. When at least one external device support information including all elements is searched, the package management unit 301 may generate an application program list including at least one application program name corresponding to the searched external device support information.

응용 프로그램 관리부(305)는 외부 장치 장치를 지원하는 응용 프로그램을 실행할 수 있다. 일 예로, 응용 프로그램 관리부(305)는 패키지 관리부(301)로부터 응용 프로그램 목록을 수신할 수 있고, 상기 수신된 응용 프로그램 목록을 분석함으로써 검색된 응용 프로그램이 복수 개인지 여부를 확인할 수 있다. 일 예로 응용 프로그램 관리부(305)는 검색된 응용 프로그램이 한 개인 경우, 응용 프로그램 목록에 포함된 특정 응용 프로그램 식별자에 대응되는 특정 응용 프로그램을 자동으로 실행할 수 있다. 다른 예로, 검색된 응용 프로그램이 복수 개인 경우, 응용 프로그램 관리부(305)는 응용 프로그램 목록에 포함된 복수 개의 응용 프로그램 식별자들을 표시할 수 있다. 예를 들면, 응용 프로그램 관리부(305)는 도 7의 701 화면과 같이, 응용 프로그램 이름들과 응용 프로그램 이름들 중에서 어느 한 응용 프로그램 이름을 선택받기 위한 체크 박스들을 포함하는 팝업창(703)을 표시할 수 있다. The application program management unit 305 may execute an application program supporting an external device device. For example, the application program management unit 305 may receive an application program list from the package management unit 301, and may check whether there are a plurality of searched application programs by analyzing the received application program list. For example, when there is one searched application program, the application program manager 305 may automatically execute a specific application program corresponding to a specific application program identifier included in the application program list. As another example, when there are a plurality of searched application programs, the application program manager 305 may display a plurality of application program identifiers included in the application program list. For example, the application program management unit 305 displays a pop-up window 703 including check boxes for selecting one of application program names and application program names, as shown in screen 701 of FIG. 7. I can.

응용 프로그램 관리부(305)는 일 예로 표시된 복수의 응용 프로그램 식별자들 중에서 어느 한 응용 프로그램 식별자가 사용자에 의해 선택되는지 여부를 확인할 수 있다. 예를 들면, 응용 프로그램 관리부(305)는 도 7의 705 화면과 같이, 팝업창(707)에 포함된 체크 박스들 중에서 제2응용 프로그램에 대응되는 체크 박스가 사용자에 의해 선택된 후, 사용자에 의해 '예'(709)가 선택되면, 제2응용 프로그램이 선택된 것으로 결정할 수 있다. The application program management unit 305 may check whether an application program identifier is selected by a user from among a plurality of application program identifiers indicated as an example. For example, the application program manager 305 selects a check box corresponding to the second application from among the check boxes included in the pop-up window 707, as shown in screen 705 of FIG. 7 by the user, If yes' 709 is selected, it may be determined that the second application program is selected.

또한 응용 프로그램 관리부(305)는 일 예로 특정 응용 프로그램 식별자가 선택되면, 선택된 응용 프로그램 식별자에 대응되는 특정 응용 프로그램에 연결된 외부 장치에 대한 배타적 사용 권한을 부여할 수 있다. 이에 따라 선택되지 않은 다른 응용 프로그램이 연결된 외부 장치를 사용할 수 없다. 즉, 응용 프로그램 관리부(305)는 선택된 응용 프로그램 식별자에 대응되는 특정 응용 프로그램을 실행할 수 있다. 일 예로, 응용 프로그램 관리부(305)는 도 7의 705 화면과 같이, 제2응용 프로그램이 선택되면, 제2응용 프로그램에 연결된 USB 장치의 배타적 사용 권한을 부여하고, 제2응용 프로그램을 실행할 수 있다.In addition, when a specific application program identifier is selected, for example, the application program manager 305 may grant exclusive use rights to an external device connected to a specific application program corresponding to the selected application program identifier. Accordingly, other applications that are not selected cannot use the connected external device. That is, the application program management unit 305 may execute a specific application program corresponding to the selected application program identifier. For example, as shown in screen 705 of FIG. 7, when the second application program is selected, the application program management unit 305 may grant exclusive use rights of the USB device connected to the second application program and execute the second application program. .

도 4는 본 발명의 다양한 실시 예에 따라 USB 지원 정보를 데이터베이스화하는 흐름도이다. 4 is a flowchart of converting USB support information into a database according to various embodiments of the present disclosure.

도 4를 참조하면, 401 단계에서, 패키지 관리부(301)는 전자 장치(101)에 특정 응용 프로그램을 설치할 수 있다. 이때, 특정 응용 프로그램은 무선 또는 유선을 통해서 외부 서버 또는 다른 전자 장치로부터 수신될 수 있다.Referring to FIG. 4, in step 401, the package management unit 301 may install a specific application program on the electronic device 101. In this case, the specific application program may be received from an external server or other electronic device through wireless or wired.

403 단계에서, 패키지 관리부(301)는 특정 응용 프로그램의 패키지 데이터로부터 패키지 메타 데이터를 검출하고, 검출된 패키지 메타 데이터로부터 외부 지원 정보를 검출할 수 있다. 예를 들면, 패키지 메타 데이터는 특정 응용 프로그램의 'Manifest.xml' 파일이 될 수 있다. 다른 예로, 패키지 메타 데이터가 특정 응용 프로그램의 'Manifest.xml' 파일인 경우, 패키지 관리부(301)는 패키지 메타 데이터에 포함된 외부 장치 지원 정보(601)를 검출할 수 있다. 상기, 외부 장치 지원 정보(601)는 특정 응용 프로그램이 지원하는 외부 장치의 종류를 나타내는 정보로, 아이디(609)와 조건 명(617)과 클래스(603)와 서브 클래스(605)와 프로토콜(607)과 이름(611)과 상품 아이디(613)와 밴더 아이디(615)를 포함할 수 있다. In step 403, the package management unit 301 may detect package metadata from package data of a specific application program, and external support information from the detected package metadata. For example, package metadata can be a'Manifest.xml' file of a specific application program. As another example, when the package metadata is a'Manifest.xml' file of a specific application, the package management unit 301 may detect the external device support information 601 included in the package metadata. The external device support information 601 is information indicating the type of external device supported by a specific application program, and the ID 609, condition name 617, class 603, sub-class 605, and protocol 607 ), a name 611, a product ID 613, and a vendor ID 615.

405 단계에서, 패키지 관리부(301)는 특정 응용 프로그램에 대응되게 외부 장치 지원 정보를 저장할 수 있다. 예를 들면, 패키지 메타 데이터가 도 7과 같은 'Manifest.xml'인 경우, 패키지 관리부(301)는 표 1과 같이 외부 장치 지원 정보를 테이블화하여 저장할 수 있다. In step 405, the package management unit 301 may store external device support information corresponding to a specific application program. For example, when the package metadata is'Manifest.xml' as shown in FIG. 7, the package management unit 301 may table and store the external device support information as shown in Table 1.

이하 본 발명의 다양한 실시 예는 패키지 관리부(301)가 외부 장치 지원 정보를 데이터베이스화 하였음을 가정한다.Hereinafter, various embodiments of the present invention assume that the package management unit 301 has converted the external device support information into a database.

도 5는 본 발명의 다양한 실시 예에 따라 응용 프로그램을 실행하는 흐름도이다. 5 is a flowchart of executing an application program according to various embodiments of the present disclosure.

도 5를 참조하면, 501 단계에서, 장치 관리부(303)는 커넥터(209)를 통해 외부 장치와 연결한다. Referring to FIG. 5, in step 501, the device manager 303 connects to an external device through a connector 209.

503 단계로 진행하면, 장치 관리부(303)는 연결된 외부 장치로부터 외부 장치 정보를 수신할 수 있다. 여기서, 외부 장치 정보는 연결된 외부 장치와 관련되는 정보로, 외부 장치에 대한 클래스, 서브 클래스, 프로토콜, 이름, 상품 아이디 또는 밴더 아이디를 포함할 수 있다. 클래스는 연결된 외부 장치의 클래스를 나타내고, 서브 클래스는 연결된 외부 장치의 서브 클래스를 나타내고, 프로토콜은 연결된 외부 장치가 지원하는 프로토콜은 나타낸다. 상기 이름은 연결된 외부 장치의 이름을 나타내고, 상기 상품 아이디는 연결된 외부 장치의 상품 아이디를 나타내고, 상기 밴더 아이디는 외부 장치를 제조한 제조회사의 아이디를 나타낸다. Proceeding to step 503, the device manager 303 may receive external device information from the connected external device. Here, the external device information is information related to the connected external device, and may include a class, a subclass, a protocol, a name, a product ID, or a vendor ID for the external device. The class indicates the class of the connected external device, the subclass indicates the subclass of the connected external device, and the protocol indicates the protocol supported by the connected external device. The name indicates the name of the connected external device, the product ID indicates the product ID of the connected external device, and the vendor ID indicates the ID of a manufacturer that manufactured the external device.

505 단계에서, 패키지 관리부(301)는 장치 관리부(303)로부터 외부 장치 정보를 수신하고, 외부 장치 정보와 미리 저장된 응용 프로그램별 외부 장치 지원 정보를 기반으로 외부 장치를 지원하는 적어도 하나의 응용 프로그램을 검색한다. 이에 따라 패키지 관리부(301)는 검색된 적어도 하나의 응용 프로그램을 나타내는 적어도 하나의 응용 프로그램 식별자를 포함하는 응용 프로그램 목록을 생성할 수 있다. 여기서, 응용 프로그램 식별자는 응용 프로그램 이름이 될 수 있다. 또한, 패키지 관리부(301)는 일 예로, 응용 프로그램별 외부 장치 지원 정보 중에서 외부 장치로부터 수신한 외부 장치 정보의 적어도 하나의 요소를 포함하는지를 검색할 수 있다. 패키지 관리부(301)는 외부 장치 정보의 적어도 하나의 요소를 포함하는 외부 장치 지원 정보가 검색되면, 패키지 관리부(301)는 상기 검색된 외부 장치 지원 정보에 대응되는 적어도 하나의 응용 프로그램 목록을 생성할 수 있다. 상기 응용 프로그램 목록은 연결된 외부 장치의 이름을 포함할 수 있다. In step 505, the package management unit 301 receives external device information from the device management unit 303, and creates at least one application program that supports the external device based on the external device information and the external device support information for each application program stored in advance. Search. Accordingly, the package management unit 301 may generate an application program list including at least one application program identifier indicating at least one searched application program. Here, the application program identifier may be an application program name. In addition, the package management unit 301 may search, for example, whether at least one element of external device information received from an external device is included among external device support information for each application program. When the package management unit 301 searches for external device support information including at least one element of the external device information, the package management unit 301 may generate a list of at least one application program corresponding to the searched external device support information. have. The application program list may include the name of the connected external device.

다른 예로, 패키지 관리부(301)는 외부 장치로부터 수신한 외부 장치 정보의 모든 요소를 포함하는 복수의 외부 장치 지원 정보를 저장하고 있는 경우. 패키지 관리부(301)는 응용 프로그램에 대응되는 외부 장치 지원 정보 중에서 상기 외부 장치 정보에 포함된 모든 요소를 포함하는 적어도 하나의 외부 장치 지원 정보를 검색할 수 있다. 모든 요소를 포함하는 적어도 하나의 외부 장치 지원 정보가 검색되면, 패키지 관리부(301)는 검색된 외부 장치 지원 정보에 대응되는 적어도 하나의 응용 프로그램 목록을 생성할 수 있다. 상기 응용프로그램 목록은 연결된 외부 장치의 이름을 포함할 수 있다.As another example, when the package management unit 301 stores a plurality of external device support information including all elements of the external device information received from the external device. The package management unit 301 may search for at least one external device support information including all elements included in the external device information among external device support information corresponding to an application program. When at least one external device support information including all elements is searched, the package management unit 301 may generate a list of at least one application program corresponding to the searched external device support information. The application program list may include the name of the connected external device.

그리고 507 단계에서, 응용 프로그램 관리부(305)는 패키지 관리부(301)로부터 응용 프로그램 목록을 수신하고, 수신된 응용 프로그램 목록을 분석함으로써 검색된 응용 프로그램이 복수 개인지 여부를 확인할 수 있다. And in step 507, the application program management unit 305 receives the application program list from the package management unit 301, and analyzes the received application program list to determine whether there are a plurality of searched application programs.

검색된 응용 프로그램이 복수 개인 경우, 응용 프로그램 관리부(305)는 511 단계로 진행하고, 그렇지 않으면, 509 단계로 진행할 수 있다. If there are a plurality of searched application programs, the application program management unit 305 may proceed to step 511, otherwise, may proceed to step 509.

509 단계로 진행하면, 응용 프로그램 관리부(305)는 응용 프로그램 목록에 포함된 특정 응용 프로그램 식별자에 대응되는 특정 응용 프로그램을 자동으로 실행할 수 있다. Proceeding to step 509, the application program management unit 305 may automatically execute a specific application program corresponding to the specific application program identifier included in the application program list.

511 단계로 진행하면, 응용 프로그램 관리부(305)는 응용 프로그램 목록에 포함된 복수 개의 응용 프로그램 식별자들을 표시하고, 513 단계로 진행할 수 있다. 예를 들면, 응용 프로그램 관리부(305)는 도 7의 701 화면과 같이, 응용 프로그램 이름들과 응용 프로그램 이름들 중에서 어느 한 응용 프로그램 이름을 선택할 수 있는 체크 박스들을 포함하는 팝업창(703)을 표시할 수 있다. Proceeding to step 511, the application program manager 305 may display a plurality of application program identifiers included in the application program list, and may proceed to step 513. For example, the application program manager 305 may display a pop-up window 703 including check boxes for selecting one of application program names and application program names, as shown in screen 701 of FIG. 7. I can.

그리고 513 단계에서, 응용 프로그램 관리부(305)는 표시된 복수의 응용 프로그램 식별자들 중에서 어느 한 응용 프로그램 식별자가 사용자에 의해 선택되는지 여부를 확인할 수 있다. 예를 들면, 응용 프로그램 관리부(305)는 도 7의 705 화면과 같이, 팝업창(707)에 포함된 체크 박스들 중에서 제2응용 프로그램에 대응되는 체크 박스가 체크된 후, '예'(709)가 체크되면, 제2응용 프로그램을 선택한 것으로 결정할 수 있다.And in step 513, the application program manager 305 may check whether any one of the displayed plurality of application program identifiers is selected by the user. For example, the application program management unit 305 checks the check box corresponding to the second application program among the check boxes included in the pop-up window 707 as shown in screen 705 of FIG. 7, and then'Yes' (709). When is checked, it may be determined that the second application program is selected.

또한 다른 예로, 응용 프로그램 관리부(305)는 미리 결정된 우선 순위에 따라 복수의 응용 프로그램 중 하나를 자동으로 선택할 수 있다. 일 예로, 검색된 응용 프로그램이 제1응용 프로그램 및 제 2응용 프로그램이 검색된 경우, 응용 프로그램 관리부(305)는 미리 결정된 우선 순위(제1응용프로그램이 제2응용프로그램보다 우선 순위가 높은 경우)에 따라 제1응용 프로그램을 자동으로 선택할 수 있다. 이에 따라 응용 프로그램 관리부(305)는 제1 응용 프로그램은 배타적 사용권을 부여 받고, 상기 제1 응용 프로그램을 실행할 수 있다.특정 응용 프로그램 식별자가 선택되면, 응용 프로그램 관리부(305)는 515 단계로 진행하고, 그렇지 않으면, 513 단계를 반복적으로 수행할 수 있다.In addition, as another example, the application program management unit 305 may automatically select one of a plurality of application programs according to a predetermined priority. For example, when the searched application program is the first application program and the second application program are searched, the application program management unit 305 is determined according to a predetermined priority (when the first application has a higher priority than the second application). The first application program can be automatically selected. Accordingly, the application program management unit 305 is granted an exclusive use right for the first application program, and may execute the first application program. When a specific application program identifier is selected, the application program management unit 305 proceeds to step 515 Otherwise, step 513 may be repeatedly performed.

515 단계로 진행하면, 응용 프로그램 관리부(305)는 선택되지 않은 다른 응용 프로그램이 외부 장치를 사용할 수 없도록 선택된 응용 프로그램 식별자에 대응되는 특정 응용 프로그램에 연결된 외부 장치에 대한 배타적 사용 권한을 부여한 후, 517 단계로 진행할 수 있다. Proceeding to step 515, the application program management unit 305 grants exclusive use rights for the external device connected to the specific application program corresponding to the selected application program identifier so that other non-selected applications cannot use the external device, and then 517 You can proceed to steps.

그리고 517 단계에서, 응용 프로그램 관리부(305)는 선택된 응용 프로그램 식별자에 대응되는 특정 응용 프로그램을 실행할 수 있다. 예를 들면, 응용 프로그램 관리부(305)는 도 7의 705 화면과 같이, 제2응용 프로그램이 선택되면, 제2응용 프로그램에 연결된 외부 장치 장치의 배타적 사용 권한을 부여하고, 제2응용 프로그램을 실행할 수 있다.Further, in step 517, the application program management unit 305 may execute a specific application program corresponding to the selected application program identifier. For example, as shown in screen 705 of FIG. 7, when the second application program is selected, the application program management unit 305 grants exclusive use rights of the external device device connected to the second application program, and executes the second application program. I can.

도 6은 본 발명의 실시 예에 따른 패키지 메타 데이터의 컴퓨터 언어를 도시한 도면이다. 6 is a diagram illustrating a computer language of package metadata according to an embodiment of the present invention.

도 6을 참조하면, 특정 응용 프로그램에 대한 패키지 메타 데이터는 외부장치 지원 정보(601)를 포함할 수 있다. 여기서, 장치 지원 정보(601)는 특정 응용 프로그램이 지원하는 외부 장치의 종류를 나타내는 정보로, 아이디(609)와 조건 명(617)과 클래스(603)와 서브 클래스(605)와 프로토콜(607)과 이름(611)과 상품 아이디(613)와 밴더 아이디(615) 중 적어도 하나를 포함할 수 있다. Referring to FIG. 6, package metadata for a specific application program may include external device support information 601. Here, the device support information 601 is information indicating the type of external device supported by a specific application program, and the ID 609, condition name 617, class 603, subclass 605, and protocol 607 It may include at least one of a name 611, a product ID 613, and a vendor ID 615.

여기서, 아이디(609)는 특정 응용 프로그램이 자동으로 실행되는 특정 장치의 개수를 확인하기 위해 부여되는 아이디를 나타낸다. 그리고 조건 명(617)은 특정 응용 프로그램이 자동으로 실행되기 위한 특정 장치의 조건을 나타낸다. 예를 들면, 특정 응용 프로그램의 자동 실행 조건이 특정 장치가 외부 장치라는 것인 경우, 조건 명은 특정 장치가 외부 장치임을 나타내는 'usb-device'가 될 수 있다. 그리고 클래스(603)는 특정 장치의 종류를 나타낸다. 예를 들면, 특정 장치가 입력 장치인 경우, 클래스는 특정 장치가 입력 장치임을 나타내는 'EFh'가 될 수 있다. Here, the ID 609 represents an ID given to check the number of specific devices on which a specific application program is automatically executed. In addition, the condition name 617 indicates a condition of a specific device for automatically executing a specific application program. For example, when the condition for automatic execution of a specific application program is that a specific device is an external device, the condition name may be'usb-device' indicating that the specific device is an external device. And the class 603 represents the type of a specific device. For example, when a specific device is an input device, the class may be'EFh' indicating that the specific device is an input device.

그리고 서브 클래스(605)는 특정 장치의 서브 클래스를 나타낸다. 예를 들면, 특정 장치가 입력 장치의 종류 중 하나인 조이스틱인 경우, 서브 클래스는 특정 장치의 서브 클래스가 조이스틱임을 나타내는 '02h'가 될 수 있다. 그리고 프로토콜(607)은 특정 장치가 지원하는 프로토콜을 나타내고, 이름(611)은 특정 장치의 이름을 나타낸다. 그리고 상품 아이디(613)는 특정 장치에 부여되는 상품 아이디를 나타내고, 밴더 아이디(615)는 특정 장치를 제작한 제조회사의 아이디를 나타낸다. And subclass 605 represents a subclass of a specific device. For example, when a specific device is a joystick that is one of the types of input devices, the subclass may be '02h' indicating that the subclass of the specific device is a joystick. In addition, the protocol 607 represents a protocol supported by a specific device, and the name 611 represents the name of a specific device. In addition, the product ID 613 indicates a product ID assigned to a specific device, and the vendor ID 615 indicates the ID of a manufacturer that manufactured the specific device.

만약에, 특정 응용 프로그램이 다른 클래스 또는 다른 서브 클래스의 외부 장치를 지원하는 경우, 패키지 메타 데이터는 외부 장치 지원 정보(601) 이외에 다른 클래스에 대한 외부 장치 지원 정보 또는 다른 서브 클래스에 대한 외부 장치 지원 정보를 포함할 수 있다. If a specific application program supports external devices of other classes or subclasses, package metadata includes external device support information for other classes or external device support for other subclasses other than the external device support information 601 May contain information.

도 7은 본 발명의 다양한 실시 예에 따라 응용 프로그램이 실행되는 화면을 도시한 도면이다. 7 is a diagram illustrating a screen on which an application program is executed according to various embodiments of the present disclosure.

도 7을 참조하면, 응용 프로그램 관리부(305)는 응용 프로그램 목록이 복수 개의 응용 프로그램 식별자들을 포함하는 경우, 도 7의 701 화면과 같이, 응용 프로그램 식별자들과 응용 프로그램 식별자들 중에서 어느 한 응용 프로그램 식별자를 선택할 수 있는 체크 박스들을 포함하는 팝업창(703)을 표시할 수 있다. Referring to FIG. 7, when the application program list includes a plurality of application program identifiers, as shown in screen 701 of FIG. 7, the application program management unit 305 includes an application program identifier among application program identifiers and application program identifiers. A pop-up window 703 including check boxes for selecting a may be displayed.

그리고 응용 프로그램 관리부(305)는 도 7의 705 화면과 같이, 팝업창(707)에 포함된 체크 박스들 중에서 제2응용 프로그램에 대응되는 체크 박스가 체크된 후, '예'(709)가 체크되면, 제2응용 프로그램을 선택한 것으로 결정할 수 있다. In addition, the application program management unit 305 checks the check box corresponding to the second application among the check boxes included in the pop-up window 707 as shown in screen 705 of FIG. 7, and then, when'Yes' 709 is checked. , It may be determined that the second application program is selected.

그리고 응용 프로그램 관리부(305)는 제2응용 프로그램에 연결된 외부 장치의 배타적 사용 권한을 부여하고, 제2응용 프로그램을 실행함으로써 다른 응용 프로그램이 외부 장치를 사용할 수 없도록 할 수 있다.In addition, the application program management unit 305 grants exclusive use rights of the external device connected to the second application program and executes the second application program, thereby preventing other application programs from using the external device.

본 발명의 다양한 실시 예는 전자 장치에서 장치 지원 정보를 기반으로 응용 프로그램을 실행함으로써 외부 장치와 관련되는 응용 프로그램을 자동으로 검색하는 효과를 가진다. 그리고 본 발명의 실시 예는 전자 장치에서 배타적 사용 권한을 이용하여 응용 프로그램을 실행함으로써 복수의 응용 프로그램들 중에서 어느 한 응용 프로그램이 외부 장치를 사용하는 효과를 가진다. Various embodiments of the present disclosure have an effect of automatically searching for an application program related to an external device by executing an application program in an electronic device based on device support information. In addition, according to an exemplary embodiment of the present invention, an electronic device executes an application program using an exclusive use right, so that one application program among a plurality of application programs uses an external device.

본 발명 다양한 실시 예에 따른 전자 장치에서 제스처를 설정하는 장치 및 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 ROM, RAM, 광학 디스크, 자기 테이프, 플로피 디스크, 하드 디스크, 비휘발성 메모리 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.  또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. The apparatus and method for setting gestures in an electronic device according to various embodiments of the present disclosure may be implemented as computer-readable codes on a computer-readable recording medium. The computer-readable recording medium includes all types of recording devices that store data that can be read by a computer system. Examples of the recording medium include ROM, RAM, optical disk, magnetic tape, floppy disk, hard disk, nonvolatile memory, and the like, and also include those implemented in the form of a carrier wave (for example, transmission through the Internet). In addition, the computer-readable recording medium can be distributed over a computer system connected through a network to store and execute computer-readable codes in a distributed manner.

상술한 본 발명의 다양한 실시 예에 따른 설명에서는 전자 장치와 같은 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 본 발명의 특허 범위는 상기 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위뿐 아니라 균등 범위에도 미침은 자명할 것이다. 예를 들면, 본 발명의 실시 예에서는 외부 장치를 기반으로 설명하였으나 다른 통신 방식에도 본 발명의 실시 예를 적용할 수 있다.In the above description of various embodiments of the present disclosure, specific embodiments such as an electronic device have been described, but various modifications may be implemented without departing from the scope of the present disclosure. Therefore, the scope of the patent of the present invention will not be determined by the above-described embodiments, and it will be apparent that it extends not only to the claims but also to the equivalent scope. For example, in the embodiment of the present invention, the description is based on an external device, but the embodiment of the present invention can be applied to other communication methods.

Claims (19)

응용 프로그램을 실행하는 전자 장치에 있어서,
응용 프로그램에 대응하는 장치 지원 정보를 저장하는 메모리부와,
외부 장치와 전자 장치가 연결되면, 상기 외부 장치로부터 장치 정보를 수신하고, 상기 장치 정보와 상기 장치 지원 정보를 기반으로 상기 외부 장치를 지원하는 적어도 하나의 응용 프로그램을 검색하고, 상기 검색된 응용 프로그램을 실행하는 제어부를 포함하는 전자 장치.
In the electronic device running the application,
A memory unit for storing device support information corresponding to an application program;
When an external device and an electronic device are connected, device information is received from the external device, and at least one application program supporting the external device is searched based on the device information and the device support information, and the searched application program is Electronic device including a control unit to execute.
제1항에 있어서,
상기 장치 지원 정보는, 특정 응용 프로그램이 지원하는 장치의 종류를 나타내는 전자 장치.
The method of claim 1,
The device support information is an electronic device indicating a type of device supported by a specific application program.
제1항에 있어서,
상기 장치 지원 정보는, 특정 응용 프로그램이 지원하는 장치의 클래스, 서브 클래스, 프로토콜, 이름, 상품 아이디 또는 밴더 아이디 중 적어도 하나를 포함하는 전자 장치.
The method of claim 1,
The device support information includes at least one of a class, a subclass, a protocol, a name, a product ID, or a vendor ID of a device supported by a specific application program.
제1항에 있어서,
상기 장치 정보는, 상기 외부 장치의 클래스, 서브 클래스, 프로토콜, 이름, 상품 아이디 또는 밴더 아이디 중 적어도 하나를 포함하는 전자 장치.
The method of claim 1,
The device information includes at least one of a class, a subclass, a protocol, a name, a product ID, or a vendor ID of the external device.
제1항에 있어서,
상기 제어부는, 상기 장치 지원 정보 중에서 상기 장치 정보에 포함된 적어도 하나의 요소를 포함하는 장치 지원 정보를 검색하고, 상기 검색된 장치 지원 정보에 대응되는 응용 프로그램을 검색하는 전자 장치.
The method of claim 1,
The control unit searches for device support information including at least one element included in the device information among the device support information, and searches for an application program corresponding to the searched device support information.
제5항에 있어서,
상기 제어부는, 상기 장치 지원 정보 중에서 상기 장치 정보에 포함된 모든 요소를 포함하는 복수의 장치 지원 정보를 검색하고, 상기 검색된 복수의 장치 지원 정보에 대응되는 응용 프로그램을 검색하는 전자 장치.
The method of claim 5,
The control unit searches for a plurality of device support information including all elements included in the device information among the device support information, and searches for an application program corresponding to the searched plurality of device support information.
제1항에 있어서,
상기 제어부는, 상기 검색된 응용 프로그램이 복수 개인 경우, 상기 복수 개의 응용 프로그램 중에서 선택된 응용 프로그램에 상기 외부 장치에 대한 배타적 사용 권한을 부여하고, 상기 선택된 응용 프로그램을 실행하는 전자 장치.
The method of claim 1,
The control unit, when there are a plurality of searched application programs, grants an exclusive use right for the external device to an application program selected from among the plurality of application programs, and executes the selected application program.
제1항에 있어서,
상기 제어부는, 응용 프로그램이 설치되면, 상기 설치된 응용 프로그램의 패키지 메타 데이터로부터 장치 지원 정보를 검출하고, 상기 설치된 응용 프로그램에 대응되게 상기 검출된 장치 지원 정보를 저장하는 전자 장치.
The method of claim 1,
When the application program is installed, the control unit detects device support information from package metadata of the installed application program, and stores the detected device support information corresponding to the installed application program.
제 1항에 있어서,
상기 응용 프로그램별 장치 지원 정보는 응용 프로그램 패키지로부터 추출된 패키지 메타 데이터인 전자 장치.
The method of claim 1,
The device support information for each application program is package metadata extracted from an application program package.
전자 장치에서 응용 프로그램을 실행하는 방법에 있어서,
상기 응용프로그램에 대응하는 장치 지원 정보를 저장하는 과정과,
상기 외부 장치로부터 장치 정보를 수신하는 과정과,
상기 장치 정보와 상기 장치 지원 정보를 기반으로 상기 외부 장치를 지원하는 적어도 하나의 응용 프로그램을 검색하는 과정과,
상기 검색된 응용 프로그램을 실행하는 과정을 포함하는 방법.
In a method of running an application program in an electronic device,
A process of storing device support information corresponding to the application program,
Receiving device information from the external device,
A process of searching for at least one application program supporting the external device based on the device information and the device support information,
A method including the process of executing the searched application program.
제10항에 있어서,
상기 장치 지원 정보는, 특정 응용 프로그램이 지원하는 장치의 종류를 나타내는 방법.
The method of claim 10,
The device support information is a method of indicating the types of devices supported by a specific application program.
제10항에 있어서,
상기 장치 지원 정보는, 특정 응용 프로그램이 지원하는 장치의 클래스, 서브 클래스, 프로토콜, 이름, 상품 아이디 또는 밴더 아이디 중 적어도 하나를 포함하는 방법.
The method of claim 10,
The device support information includes at least one of a class, subclass, protocol, name, product ID, or vendor ID of a device supported by a specific application program.
제10항에 있어서,
상기 장치 정보는, 상기 외부 장치의 클래스, 서브 클래스, 프로토콜, 이름, 상품 아이디 또는 밴더 아이디 중 적어도 하나를 포함하는 방법.
The method of claim 10,
The device information includes at least one of a class, a subclass, a protocol, a name, a product ID, or a vendor ID of the external device.
제10항에 있어서,
상기 응용 프로그램을 검색하는 과정은, 상기 장치 지원 정보 중에서 상기 장치 정보에 포함된 적어도 하나의 요소를 포함하는 장치 지원 정보를 검색하는 과정과,
상기 검색된 장치 지원 정보에 대응되는 응용 프로그램을 검색하는 과정을 포함하는 방법.
The method of claim 10,
The process of searching for the application program includes a process of searching for device support information including at least one element included in the device information from among the device support information,
And searching for an application program corresponding to the searched device support information.
제10항에 있어서,
상기 응용 프로그램을 검색하는 과정은, 상기 장치 지원 정보 중에서 상기 장치 정보에 포함된 모든 요소를 포함하는 복수의 장치 지원 정보를 검색하는 과정과,
상기 검색된 복수의 장치 지원 정보에 대응되는 응용 프로그램을 검색하는 과정을 포함하는 방법.
The method of claim 10,
The process of searching for the application program includes a process of searching for a plurality of device support information including all elements included in the device information among the device support information,
And searching for an application program corresponding to the searched plurality of device support information.
제10항에 있어서,
상기 응용 프로그램을 실행하는 과정은, 상기 검색된 응용 프로그램이 복수 개인 경우, 상기 복수 개의 응용 프로그램 중에서 선택된 응용 프로그램에 상기 외부 장치에 대한 배타적 사용 권한을 부여하는 과정과,
상기 선택된 응용 프로그램을 실행하는 과정을 포함하는 방법.
The method of claim 10,
The process of executing the application may include, when there are a plurality of searched applications, granting exclusive use rights for the external device to an application selected from among the plurality of application programs,
A method comprising the process of executing the selected application program.
제10항에 있어서,
응용 프로그램이 설치되면, 상기 설치된 응용 프로그램의 패키지 메타 데이터로부터 장치 지원 정보를 검출하는 과정과,
상기 설치된 응용 프로그램에 대응되게 상기 검출된 장치 지원 정보를 저장하는 과정을 포함하는 방법.
The method of claim 10,
When the application program is installed, the process of detecting device support information from the package metadata of the installed application program,
And storing the detected device support information corresponding to the installed application program.
제10항에 있어서,
상기 응용프로그램별 장치 지원 정보는 응용 프로그램 패키지로부터 추출된 패키지 메타 데이터인 방법.
The method of claim 10,
The device support information for each application program is package metadata extracted from an application program package.
적어도 하나의 프로세서에 의하여 실행하도록 설정된 명령들을 저장하는 저장 매체에 있어서,
응용프로그램의 패키지 메타 데이터로부터 장치 지원 정보를 저장하는 과정과,
상기 외부 장치로부터 장치 정보를 수신하는 과정과,
상기 장치 정보를 포함하는 상기 장치 지원 정보를 검색하는 과정과,
상기 검색한 장치 지원 정보를 기반으로 상기 외부 장치를 지원하는 적어도 하나의 응용 프로그램을 검색하는 과정과,
상기 검색된 적어도 하나의 응용 프로그램 중 선택된 응용 프로그램ㅇ을 실행하는 과정을 포함하는 저장 매체.
A storage medium storing instructions set to be executed by at least one processor,
The process of storing device support information from the package metadata of the application program,
Receiving device information from the external device,
A process of searching for the device support information including the device information,
A process of searching for at least one application program supporting the external device based on the searched device support information,
A storage medium comprising a process of executing an application selected from among the searched at least one application program.
KR1020200176707A 2013-12-30 2020-12-16 Apparatus and method for performing an application KR102385801B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200176707A KR102385801B1 (en) 2013-12-30 2020-12-16 Apparatus and method for performing an application

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020130167078A KR102194306B1 (en) 2013-12-30 2013-12-30 Apparatus and method for performing an application
KR1020200176707A KR102385801B1 (en) 2013-12-30 2020-12-16 Apparatus and method for performing an application

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020130167078A Division KR102194306B1 (en) 2013-12-30 2013-12-30 Apparatus and method for performing an application

Publications (2)

Publication Number Publication Date
KR20210002394A true KR20210002394A (en) 2021-01-08
KR102385801B1 KR102385801B1 (en) 2022-04-13

Family

ID=81214935

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200176707A KR102385801B1 (en) 2013-12-30 2020-12-16 Apparatus and method for performing an application

Country Status (1)

Country Link
KR (1) KR102385801B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101102316B1 (en) * 2010-11-08 2012-01-03 주식회사 유라이크 Application providing device, system and method for instolling application in mobile device using the same, and mobile device thereof
KR20120028274A (en) * 2010-09-13 2012-03-22 삼성전자주식회사 Multi-platform application player
KR20130024666A (en) * 2011-08-31 2013-03-08 엘지이노텍 주식회사 Data transmission device and method thereof
JP2013149244A (en) * 2011-12-20 2013-08-01 Panasonic Corp Apparatus automatic control device and method and information processing apparatus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120028274A (en) * 2010-09-13 2012-03-22 삼성전자주식회사 Multi-platform application player
KR101102316B1 (en) * 2010-11-08 2012-01-03 주식회사 유라이크 Application providing device, system and method for instolling application in mobile device using the same, and mobile device thereof
KR20130024666A (en) * 2011-08-31 2013-03-08 엘지이노텍 주식회사 Data transmission device and method thereof
JP2013149244A (en) * 2011-12-20 2013-08-01 Panasonic Corp Apparatus automatic control device and method and information processing apparatus

Also Published As

Publication number Publication date
KR102385801B1 (en) 2022-04-13

Similar Documents

Publication Publication Date Title
US11429439B2 (en) Task scheduling based on performance control conditions for multiple processing units
US11720370B2 (en) Electronic apparatus and method of executing application program
US20170235435A1 (en) Electronic device and method of application data display therefor
WO2017099440A1 (en) Web page operation method and electronic device for supporting the same
US11647108B2 (en) Service processing method and apparatus
US20150242381A1 (en) Data transition processing method and electronic device supporting the same
US20140115454A1 (en) Method, apparatus and system of screenshot grabbing and sharing
US9529755B2 (en) Apparatus and method of recognizing external device in a communication system
CN109857506B (en) Method and device for realizing guide information, electronic equipment and storage medium
US20150347377A1 (en) Method for processing contents and electronic device thereof
WO2015147599A1 (en) Data sharing method and electronic device thereof
US20140358517A1 (en) Method for providing text conversion service and electronic device thereof
US8977246B2 (en) Method and system for providing seamless service
US20150067487A1 (en) Intelligent auto complete
US20150100866A1 (en) Information processing apparatus, information processing system, and non-transitory computer readable medium
US20150052145A1 (en) Electronic device and method capable of searching application
CN106796557B (en) Vendor-specific peripheral device class identifier
KR102385801B1 (en) Apparatus and method for performing an application
US10671504B2 (en) System performance monitoring and optimization
KR102254329B1 (en) Method and Apparatus for Providing User Customized Search Result
KR102255369B1 (en) Method for providing alternative service and electronic device thereof
CN106547847B (en) Electronic reading material tracing and updating method and equipment
KR20170004500A (en) Method and Electronic Apparatus for Executing an Application
KR20200053752A (en) Providing Method of Autofill function and electric device including the same
CN112559394B (en) System library access method and device and electronic equipment

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)