WO2017043697A1 - 리소스 활용 프로그램의 우선순위를 결정하는 시스템 및 방법 - Google Patents
리소스 활용 프로그램의 우선순위를 결정하는 시스템 및 방법 Download PDFInfo
- Publication number
- WO2017043697A1 WO2017043697A1 PCT/KR2015/012351 KR2015012351W WO2017043697A1 WO 2017043697 A1 WO2017043697 A1 WO 2017043697A1 KR 2015012351 W KR2015012351 W KR 2015012351W WO 2017043697 A1 WO2017043697 A1 WO 2017043697A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- program
- resource utilization
- information
- priority
- control unit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
Definitions
- Embodiments of the present invention relate to systems and methods for determining priorities of resource utilization programs.
- an external device When a smart phone user uses a smart phone, an external device may be connected to the smart phone, or various operations may be performed within the smart phone. This is the case when connecting an external device such as connecting an earphone or storage device to the smartphone or exchanging the battery.Then, pressing the home button, camera button, power button on the smartphone, changing the date or changing the time, etc. Branch actions always occur.
- the smartphone operating system delivers these basic actions so that it can receive information from various programs in a manner called broadcast.
- the broadcast unilaterally conveys its status to a receiver like a radio broadcast and cannot receive a reply. Instead, the Receiver does not need to be specified, and even if the instance that intended to receive the data has already terminated, it does not cause an error and can even send data across process boundaries.
- a broadcast action means that a broadcast service is executed.
- broadcast receivers Many programs running in smartphones often receive broadcast information using a function called broadcast receivers, and then execute specific functions using resources in the programs.
- a smartphone program can be developed by anyone, and can receive broadcast information without discrimination through a broadcast receiver used by each program itself.
- Each program may receive broadcast information and execute a specific function by utilizing a specific resource in the system.
- the smartphone when a user takes an action of connecting an earphone to a smartphone, the smartphone provides a broadcast called an earphone plug.
- an earphone plug there may be two or more programs that exclusively use the speaker (audio output device) by receiving broadcast information called an earphone plug.
- one is a radio app and one is a TV app.
- radio app can exclusively use a resource called a speaker (audio output device) in the system.
- TV app audio output device
- both programs want to use exclusively a resource called a speaker (audio output device). If both a radio app and a TV app are installed, the following phenomenon may occur.
- An embodiment of the present invention is to determine the priority of the broadcast action occurring in the user terminal, such as a smartphone, in order to prevent the conflict of resource utilization between programs, so that one program first utilizes the system resources It provides a system and method for determining the priority of resource utilization programs that enable the execution of the program's functions.
- a system for determining a priority of a resource utilization program includes a plurality of receivers for receiving broadcast information indicating information on the type of broadcast action according to execution of a broadcast action. ; A program status information unit for recording program status information for each of the plurality of programs using the broadcast information in a database; And when the broadcast information is received through the plurality of receivers, inquiring program status information about the corresponding program from the database through the program status information unit, and searching the corresponding resource based on the inquired program status information. It includes a plurality of resource utilization control unit for determining the priority of the corresponding program on the utilization of the.
- the program state information may include at least one of a program name, a version of the resource utilization control unit, a minimum compatible version of the resource utilization control unit, and minimum state information for resource utilization.
- the resource utilization controller checks whether the program name, the version of the resource utilization control unit, and the minimum compatible version of the resource utilization control unit are compatible with each other in terms of resource utilization of the corresponding program, and if the result of the check is compatible
- the program may be selected as a candidate program for utilizing the resource, and the priority regarding the utilization of the corresponding resource may be determined for the candidate program using minimum state information for the resource utilization.
- the resource utilization control unit may allocate the corresponding resource to a highest priority program having a priority determined among the candidate groups including the candidate program so that the highest priority program executes the corresponding resource.
- the program state information may further include at least one of additional state information for resource utilization and information on resource utilization criteria.
- the resource utilization controller checks whether the program name, the version of the resource utilization control unit, and the minimum compatible version of the resource utilization control unit are compatible with each other in terms of resource utilization of the corresponding program, and if the result of the check is compatible Selecting the corresponding program as a candidate program for resource utilization, and extracting reference state information as a reference for resource utilization from minimum state information and additional state information for resource utilization using information on the resource utilization criteria; The priority of the candidate resource may be determined for the candidate program based on the extracted reference state information.
- the program state information may further include resource utilization priority information of a program, which is designated by a server communicating with a user terminal in which the plurality of programs are installed.
- the resource utilization controller checks whether the program name, the version of the resource utilization control unit, and the minimum compatible version of the resource utilization control unit are compatible with each other in terms of resource utilization of the corresponding program, and if the result of the check is compatible
- the program may be selected as a candidate program for resource utilization, and the priority of the candidate program may be determined using the resource utilization priority information.
- the system for determining the priority of a resource utilization program further includes a program state information providing unit for receiving and collecting the program state information from each of the plurality of programs, wherein the program state information unit Periodically or aperiodically, the state information providing unit may receive the latest information about the program state information, and update the existing information about the program state information with the latest information.
- the program state information providing unit may periodically or aperiodically communicate with each of the plurality of programs to update the program state information with the latest information.
- the program state information providing unit may be located in a user terminal in which the plurality of programs are installed or in a server communicating with the user terminal.
- a method of determining a priority of a resource utilization program may include broadcast information indicating information on a type of the broadcast action according to execution of a broadcast action in a plurality of receivers.
- the method for determining the priority of a resource utilization program further includes the step of receiving and collecting the program state information from each of the plurality of programs in a program state information providing unit, wherein the program state
- the recording of the information in the database may be performed by periodically or aperiodically communicating with the program status information providing unit to receive the latest information on the program status information, and update the existing information on the program status information with the latest information. It may include.
- one program for a broadcast action occurring in a user terminal such as a smart phone, one program first utilizes system resources by determining priority in order to prevent a conflict of resource utilization between programs. To execute the program's functions.
- the program provider and the user can smoothly supply and use the service.
- FIG. 1 is a block diagram illustrating a system for determining the priority of a resource utilization program according to an embodiment of the present invention.
- FIG. 7 to 10 are flowcharts illustrating a method of determining the priority of a resource utilization program according to an embodiment of the present invention.
- FIG. 1 is a block diagram illustrating a system for determining a priority of a resource utilization program according to an embodiment of the present invention
- FIGS. 2 to 6 illustrate program state information applied to an embodiment of the present invention. Exemplary drawing shown.
- the receiver 110 receives broadcast information according to execution of a broadcast action.
- the broadcast information indicates the type of the broadcast action, for example, physical actions such as earphone plug, docking of an external device, boot completion, camera button, previous / next / Logical actions such as playback, date change, and the like.
- the receiver 110 may be arranged to have a one-to-one matching with each program 105 using the broadcast information. That is, each program 105 may have one receiver 110, and receive corresponding broadcast information through the receiver 110.
- programs 105 such as a radio app or a TV app may receive broadcast information regarding the earphone plug through the corresponding receiver 110, respectively.
- the program status information unit 120 records program status information of each program 105 using the broadcast information in a database DB.
- the program state information unit 120 may periodically and aperiodically communicate with the program state information providing unit 130 to be described later to receive the latest information about the program state information and record it in the database. In this way, the program status information unit 120 may update the existing information on the program status information with the latest information.
- the program state information includes basic state information including a program name, a version of the resource utilization control unit, a compatible minimum version of the resource utilization control unit, and the like, as shown in FIG. 2, and as shown in FIG. 3. It may include minimum state information for resource utilization, including whether or not to hold the sound source file, resource execution time.
- the resource utilization control unit 140 which will be described later, may determine the priority of the corresponding program 105 regarding resource utilization using the basic program state information as described above.
- the program status information includes additional status information for resource utilization, including initial execution date, number of users, number of active users for one week, and the like, as shown in FIG.
- information on resource utilization criteria such as execution criteria 1 (sound file retention), execution criteria 2 (sound file + time setting), execution criteria 3 (sound file + time + number of users), etc. may be further included.
- execution criteria 1 sound file retention
- execution criteria 2 sound file + time setting
- execution criteria 3 sound file + time + number of users
- the resource utilization control unit 140 which will be described later, may determine the priority of the corresponding program 105 regarding resource utilization using the basic program state information and additional program state information.
- the program status information is displayed in a server such as 'Google Music-1st priority', 'YouTube-2nd priority', and 'Amazon 3rd priority' as shown in FIG. 6 together with the basic program status information as described above.
- the resource utilization priority information (server-side designation information) of the designated program 105 may be further included.
- the resource utilization control unit 140 which will be described later, may determine the priority of the corresponding program 105 regarding resource utilization using the basic program state information and the server-side designation information as described above.
- the server-side designation information may be manually designated or alternatively may be automatically designated based on the program state information.
- the server may be a web server that communicates with a user terminal (eg, a smartphone) on which the program is installed.
- a user terminal eg, a smartphone
- the program may be understood as a concept encompassing App (app, application), algorithm in App, module in App, and the like.
- the program status information providing unit 130 may receive the program status information from each of the plurality of programs 105 and collect the received program status information.
- the program state information providing unit 130 may communicate with each of the plurality of programs 105 periodically or aperiodically to update the program state information with the latest information.
- the program status information providing unit 130 may receive current program status information from each of the programs 105 and update the received current program status information as the latest information.
- the program state information providing unit 130 may collect the program state information received from each of the programs 105, and make a database in a matching table to record it.
- the program state information providing unit 130 may basically be located in the web server, and in some cases, may be located in a user terminal communicating with the web server.
- the resource utilization control unit 140 operates when the broadcast information is received through the plurality of receivers 110.
- the resource utilization control unit 140 inquires the program state information on the program 105 from the database through the program state information unit 120.
- the resource utilization control unit 140 determines the priority of the corresponding program 105 on whether to use the corresponding resource based on the inquired program state information.
- the resource utilization control unit 140 may use the basic state information including the program name, the version of the resource utilization control unit, and a compatible minimum version of the resource utilization control unit, to determine the corresponding program 105. You can check the compatibility of resource utilization.
- the resource utilization control unit 140 may select the corresponding program 105 as the candidate program 105 for resource utilization when the check result is compatible. In the case of FIG. 2, the resource utilization control unit 140 may select 'Google Music' and 'YouTube' except for 'Amazon' as candidate programs for resource utilization.
- the resource utilization control unit 140 may determine the priority regarding the utilization of the corresponding resource for the candidate program 105 by using the minimum state information for the resource utilization.
- the resource utilization control unit 140 allocates the corresponding resource to the highest priority program 105 having a priority determined among the candidate groups including the candidate program 105 so that the highest priority program 105 executes the corresponding resource. You can do that. Assuming that an earphone plug action occurs at 10:30 am, as shown in FIG. 3, the resource utilization control unit 140 sets 'Google Music' among the candidate groups 'Google Music' and 'Youtube' as the first priority programs. By selecting and allocating the speaker 'the speaker' to the 'google music', the 'google music' can be controlled to execute an exclusive resource called the 'speaker'.
- the resource utilization control unit 140 may be compatible with resource utilization of the corresponding program 105 by using the program name, the version of the resource utilization control unit, and the minimum compatible version of the resource utilization control unit. You can check whether or not.
- the resource utilization control unit 140 may select the corresponding program 105 as the candidate program 105 for resource utilization when the check result is compatible.
- the resource utilization control unit 140 may select 'Google Music' and 'YouTube' except for 'Amazon' as candidate programs for resource utilization.
- the resource utilization control unit 140 may extract reference state information, which is a reference for resource utilization, from minimum state information and additional state information for resource utilization using the information on the resource utilization criteria.
- reference state information which is a reference for resource utilization
- the resource utilization control unit 140 may determine whether the candidate program has a sound source file or resource execution time zone from the minimum state information for resource utilization of FIG. 3. May be extracted as the reference state information, and the number of users of the candidate program 105 may be extracted as the reference state information from the additional state information for resource utilization of FIG. 4.
- the resource utilization control unit 140 may determine the priority regarding the utilization of the corresponding resource with respect to the candidate program 105 based on the extracted reference state information.
- the resource utilization control unit 140 allocates the corresponding resource to the highest priority program 105 having a priority determined among the candidate groups including the candidate program 105 so that the highest priority program 105 executes the corresponding resource. You can do that. Assuming that an earphone plug action occurs at 11:30 am, as shown in FIGS. 3 and 4, the resource utilization control unit 140 selects 'Youtube' among the candidate groups 'Google Music' and 'Youtube' as the first priority program. By selecting and assigning the speaker 'the speaker' to the 'youtube', the 'Youtube' can be controlled to execute the resource named 'speaker' exclusively.
- the resource utilization control unit 140 may be compatible with the resource utilization of the program 105 by using the program name, the version of the resource utilization control unit, and the minimum compatible version of the resource utilization control unit. You can check the availability.
- the resource utilization control unit 140 may select the corresponding program 105 as the candidate program 105 for resource utilization when the check result is compatible.
- the resource utilization control unit 140 may select 'Google Music' and 'YouTube', except 'Amazon', as candidate programs 105 for resource utilization.
- the resource utilization control unit 140 may determine the priority regarding the utilization of the corresponding resource for the candidate program 105 using the resource utilization priority information of the program 105 designated by the server.
- the resource utilization control unit 140 allocates the corresponding resource to the highest priority program 105 having a priority determined among the candidate groups including the candidate program 105 so that the highest priority program 105 executes the corresponding resource. You can do that.
- the resource utilization control unit 140 selects 'Google music' among the candidate groups 'Google music' and 'Youtube' as the priority program 105, and the corresponding resource is included in the 'Google music'. By assigning an 'speaker', it is possible to control the 'Google Music' to execute an exclusive resource called the 'speaker'.
- FIG. 7 to 10 are flowcharts illustrating a method of determining the priority of a resource utilization program according to an embodiment of the present invention.
- the program state information providing unit 130 receives and collects the program state information from each of the plurality of programs 105.
- step 720 the program state information unit 120 communicates with the program state information providing unit 130 periodically or aperiodically to receive the program state information and record it in a DB.
- the program status information unit 120 may receive the latest information about the program status information and update the existing information about the program status information with the latest information.
- the resource utilization control unit 140 in step 740 the DB through the program status information unit 120
- the program status information for the corresponding program 105 is inquired.
- step 750 the resource utilization control unit 140 determines the priority of the corresponding program 105 as to whether to use the corresponding resource based on the inquired program state information.
- the system 100 returns to step 710.
- step 750 embodiments of the prioritization process of step 750 will be described.
- the resource utilization control unit 140 may include the program name, the version of the resource utilization control unit, and the resource utilization control unit in step 810. The compatibility of the resource of the corresponding program is checked using the minimum compatible version.
- step 830 the resource utilization control unit 140 selects the corresponding program 105 as a candidate program 105 for resource utilization. On the other hand, if the check result is not compatible (No direction of 820), this embodiment is terminated.
- step 840 the resource utilization control unit 140 determines the priority regarding the utilization of the corresponding resource for the candidate program 105 using the minimum state information for the resource utilization.
- the resource utilization control unit 140 includes the program name, the version of the resource utilization control unit, and the resource utilization. Using a compatible minimum version of the control unit, it is checked whether or not the compatibility with respect to resource utilization of the corresponding program.
- step 930 the resource utilization control unit 140 selects the corresponding program 105 as a candidate program 105 for resource utilization. On the other hand, if the check result is incompatible (No direction in 920), this embodiment ends.
- the resource utilization control unit 140 extracts reference state information that is a reference for resource utilization from the minimum state information and the additional state information for the resource utilization using the information on the resource utilization criteria. .
- step 950 the resource utilization control unit 140 determines a priority regarding whether to use the corresponding resource for the candidate program based on the extracted reference state information.
- step 1010 the resource utilization control unit 140 is the program name, the version of the resource utilization control unit and the Using a compatible minimum version of the resource utilization control unit, it is checked whether the program is compatible with the resource utilization.
- step 1030 the resource utilization control unit 140 selects the corresponding program 105 as a candidate program 105 for resource utilization. On the other hand, if the check result is incompatible (No direction of 1020), this embodiment ends.
- step 1040 the resource utilization control unit 140 determines the priority regarding the utilization of the corresponding resource for the candidate program 105 using the resource utilization priority information.
- Embodiments of the invention include a computer readable medium containing program instructions for performing various computer-implemented operations.
- the computer readable medium may include program instructions, local data files, local data structures, or the like, alone or in combination.
- the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts.
- Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical recording media such as CD-ROMs, DVDs, magnetic-optical media such as floppy disks, and ROM, RAM, flash memory, and the like.
- Hardware devices specifically configured to store and execute the same program instructions are included.
- Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
본 발명의 일 실시예에 따른 리소스 활용 프로그램의 우선순위를 결정하는 시스템은 브로드캐스트 액션(Broadcast Action)의 실행에 따라 상기 브로드캐스트 액션의 종류에 관한 정보를 나타내는 브로드캐스트 정보를 수신하는 복수의 리시버; 상기 브로드캐스트 정보를 이용하는 상기 복수의 프로그램 각각에 대한 프로그램 상태 정보를 데이터베이스에 기록하는 프로그램 상태 정보부; 및 상기 복수의 리시버를 통해 상기 브로드캐스트 정보를 수신한 시점에 동작하여, 상기 프로그램 상태 정보부를 통해 상기 데이터베이스로부터 해당 프로그램에 대한 프로그램 상태 정보를 조회하고, 상기 조회된 프로그램 상태 정보에 기초하여 해당 리소스의 활용 여부에 관한 상기 해당 프로그램의 우선순위를 결정하는 복수의 리소스 활용 제어부를 포함한다.
Description
본 발명의 실시예들은 리소스 활용 프로그램의 우선순위를 결정하는 시스템 및 방법에 관한 것이다.
스마트폰 이용자가 스마트폰을 이용할 때, 스마트폰에 외부장치를 연결하거나, 스마트폰 내에서 여러 가지 조작을 할 수 있다. 스마트폰에 이어폰이나 저장장치를 연결하거나, 배터리를 교환하는 등 외부 장치를 연결하는 경우가 그러하며, 스마트폰에서 홈버튼, 카메라버튼, 전원버튼을 누르거나 날짜가 변경되거나 시간이 변경되는 등의 여러 가지 액션이 항상 발생한다. 스마트폰 운영체제(OS)는 이런 기본적인 액션들을 브로드캐스트(Broadcast)라는 방식으로 여러 프로그램에서 정보를 받을 수 있도록 전달을 한다.
상기 브로드캐스트는 라디오 방송처럼 청취자(Receiver)에게 자신의 상태를 일방적으로 전달하며 회신을 받을 수 없다. 대신 Receiver가 특정지어지지 않아도 되며 데이터를 받기로 한 인스턴스(Instance)가 이미 종료되어버린 경우에도 오류를 일으키지 않으며 심지어 프로세스 경계를 넘어 데이터를 보내는 것도 가능하다.
예를 들어, 안드로이드 브로드캐스트 액션(Action)의 종류는 매우 다양하다. 물리적 Action의 경우, 외부장치 도킹, 외주장치 이용 가능/불가능(Available/Unavailable), 이어폰 플러그(Plug), 등 수십 가지가 있고, 논리적 Action의 경우, 부팅완료, 카메라버튼, 미디어앱에서 이전/다음/재생, 날짜변경, 타임변경, 위치변경, 스크린 온/오프(ON/OFF), 배터리변경 등 수십 가지 Action이 존재한다. 참고로, 브로드캐스트 액션이란 브로드캐스트 서비스가 실행되는 것을 의미한다.
스마트폰 내에서 구동되고 있는 많은 프로그램들은 브로드캐스트 리시버라는 기능을 이용해서 브로드캐스트 정보를 전달받은 후, 프로그램 내에서 리소스를 활용하여 특정 기능을 실행하는 경우가 많다. 그런데, 이러한 스마트폰 프로그램은 누구나 개발을 할 수 있고 각각의 프로그램에서 자체적으로 이용하는 브로드캐스트 리시버를 통해 브로드캐스트 정보를 차별 없이 수신할 수 있다. 그리고 각각의 프로그램들은 브로드캐스트 정보를 수신하여 시스템 내 특정한 리소스를 활용하여 특정한 기능을 실행할 수 있다.
하지만, 각각의 프로그램에서 특정한 브로드캐스트 정보를 통해서 동일한 리소스를 활용하여 특정한 기능을 동시에 실행할 경우에 우선순위를 정할 수 없어, 어느 프로그램 하나에서 먼저 리소스를 활용하여 동일한 기능을 실행하면, 다른 프로그램에서는 해당 리소스를 활용하지 못해 기능을 실행하지 못하게 되는 경우가 발생한다. 이러한 이유로, 각각의 프로그램은 브로드캐스트 정보를 수신하고도 정상적인 서비스를 제공하지 못하는 경우가 발생한다.
예를 들면, 이용자가 이어폰을 스마트폰에 연결하는 액션을 했을 때, 스마트폰에서는 이어폰 플러그라는 브로드캐스트를 제공한다. 이때, 이어폰 플러그라는 브로드캐스트 정보를 수신하여 스피커(오디오출력장치)를 배타적으로 이용하고자 하는 2개 이상의 프로그램들이 존재할 수 있다. 예로, 하나는 라디오 앱, 하나는 TV 앱 이라고 가정할 수 있다.
만약 스마트폰에 라디오앱 1개만 설치되어 있다면, 이어폰이 플러그되면 자동으로 라디오 앱이 실행되면서 발송을 청취할 수 있다. 라디오 앱이 시스템 내 스피커(오디오출력장치)라는 리소스를 배타적으로 이용할 수 있다. 반대로, 스마트폰에 TV 앱 하나만 설치되어 있다면 바로 TV 방송을 청취할 수 있다. 하지만 두 프로그램은 모두 스피커(오디오출력장치)라는 리소스를 배타적으로 사용하고자 한다. 라디오 앱과 TV 앱이 모두 설치된 경우라면 다음과 같은 현상이 발생할 수 있다.
1. 스피커로 두 가지 방송이 동시에 송출되는 현상 (상호간섭)
2. 라디오 앱 방송만 스피커로 송출되는 현상
3. TV 앱 방송만 스피커로 송출되는 현상
4. 두 가지 모두 안 나오는 현상
하나의 브로드캐스트 액션으로 두 가지 프로그램에서 상호 배타적으로 스피커라는 시스템 리소스를 동시에 이용하려고 하기 때문에 특정한 기능이 실행되도록 담보할 수 없을 뿐만 아니라, 충돌문제(상호간섭), 미 실행문제 등이 발생할 수 있다.
본 발명의 일 실시예는 스마트폰 등의 사용자 단말기에서 발생하는 브로드캐스트 액션에 대해서, 프로그램들 간의 리소스 활용의 충돌 현상을 방지하기 위해 우선순위를 결정하여 하나의 프로그램이 먼저 시스템 리소스를 활용하여 그 프로그램의 기능을 실행할 수 있도록 하는 리소스 활용 프로그램의 우선순위를 결정하는 시스템 및 방법을 제공한다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 리소스 활용 프로그램의 우선순위를 결정하는 시스템은 브로드캐스트 액션(Broadcast Action)의 실행에 따라 상기 브로드캐스트 액션의 종류에 관한 정보를 나타내는 브로드캐스트 정보를 수신하는 복수의 리시버; 상기 브로드캐스트 정보를 이용하는 상기 복수의 프로그램 각각에 대한 프로그램 상태 정보를 데이터베이스에 기록하는 프로그램 상태 정보부; 및 상기 복수의 리시버를 통해 상기 브로드캐스트 정보를 수신한 시점에 동작하여, 상기 프로그램 상태 정보부를 통해 상기 데이터베이스로부터 해당 프로그램에 대한 프로그램 상태 정보를 조회하고, 상기 조회된 프로그램 상태 정보에 기초하여 해당 리소스의 활용 여부에 관한 상기 해당 프로그램의 우선순위를 결정하는 복수의 리소스 활용 제어부를 포함한다.
상기 프로그램 상태 정보는 프로그램명, 상기 리소스 활용 제어부의 버전, 상기 리소스 활용 제어부의 호환되는 최소 버전, 및 리소스 활용을 위한 최소 상태 정보 중 적어도 하나를 포함할 수 있다.
상기 리소스 활용 제어부는 상기 프로그램명, 상기 리소스 활용 제어부의 버전 및 상기 리소스 활용 제어부의 호환되는 최소 버전을 이용하여, 상기 해당 프로그램의 리소스 활용과 관련한 호환 가능 여부를 확인하고, 상기 확인 결과 호환 가능한 경우, 상기 해당 프로그램을 상기 리소스 활용을 위한 후보 프로그램으로 선정하고, 상기 리소스 활용을 위한 최소 상태 정보를 이용하여, 상기 후보 프로그램에 대해 상기 해당 리소스의 활용 여부에 관한 우선순위를 결정할 수 있다.
상기 리소스 활용 제어부는 상기 후보 프로그램을 포함한 후보군 중에서 우선순위가 1순위로 결정된 최우선 프로그램에 상기 해당 리소스를 할당하여, 상기 최우선 프로그램이 상기 해당 리소스를 실행하도록 할 수 있다.
상기 프로그램 상태 정보는 리소스 활용을 위한 추가 상태 정보, 및 리소스 활용 기준에 관한 정보 중 적어도 하나를 더 포함할 수 있다.
상기 리소스 활용 제어부는 상기 프로그램명, 상기 리소스 활용 제어부의 버전 및 상기 리소스 활용 제어부의 호환되는 최소 버전을 이용하여, 상기 해당 프로그램의 리소스 활용과 관련한 호환 가능 여부를 확인하고, 상기 확인 결과 호환 가능한 경우, 상기 해당 프로그램을 상기 리소스 활용을 위한 후보 프로그램으로 선정하며, 상기 리소스 활용 기준에 관한 정보를 이용하여 상기 리소스 활용을 위한 최소 상태 정보 및 추가 상태 정보로부터 리소스 활용의 기준이 되는 기준 상태 정보를 추출하고, 상기 추출된 기준 상태 정보에 기초하여 상기 후보 프로그램에 대해 상기 해당 리소스의 활용 여부에 관한 우선순위를 결정할 수 있다.
상기 프로그램 상태 정보는 상기 복수의 프로그램이 설치된 사용자 단말기와 통신하는 서버에서 지정한, 프로그램의 리소스 활용 우선순위 정보를 더 포함할 수 있다.
상기 리소스 활용 제어부는 상기 프로그램명, 상기 리소스 활용 제어부의 버전 및 상기 리소스 활용 제어부의 호환되는 최소 버전을 이용하여, 상기 해당 프로그램의 리소스 활용과 관련한 호환 가능 여부를 확인하고, 상기 확인 결과 호환 가능한 경우, 상기 해당 프로그램을 상기 리소스 활용을 위한 후보 프로그램으로 선정하며, 상기 리소스 활용 우선순위 정보를 이용하여 상기 후보 프로그램에 대해 상기 해당 리소스의 활용 여부에 관한 우선순위를 결정할 수 있다.
본 발명의 일 실시예에 따른 리소스 활용 프로그램의 우선순위를 결정하는 시스템은 상기 복수의 프로그램 각각으로부터 상기 프로그램 상태 정보를 수신하여 취합하는 프로그램 상태 정보 제공부를 더 포함하고, 상기 프로그램 상태 정보부는 상기 프로그램 상태 정보 제공부와 주기적 또는 비주기적으로 통신하여 상기 프로그램 상태 정보에 대한 최신 정보를 제공받아, 상기 프로그램 상태 정보에 대한 기존 정보를 상기 최신 정보로 갱신할 수 있다.
상기 프로그램 상태 정보 제공부는 상기 복수의 프로그램 각각과 주기적 또는 비주기적으로 통신하여 상기 프로그램 상태 정보를 상기 최신 정보로 갱신할 수 있다.
상기 프로그램 상태 정보 제공부는 상기 복수의 프로그램이 설치된 사용자 단말기 내에 위치하거나, 상기 사용자 단말기와 통신하는 서버에 위치할 수 있다.
본 발명의 일 실시예에 따른 리소스 활용 프로그램의 우선순위를 결정하는 방법은 복수의 리시버에서, 브로드캐스트 액션(Broadcast Action)의 실행에 따라 상기 브로드캐스트 액션의 종류에 관한 정보를 나타내는 브로드캐스트 정보를 수신하는 단계; 프로그램 상태 정보부에서, 상기 브로드캐스트 정보를 이용하는 복수의 프로그램 각각에 대한 프로그램 상태 정보를 데이터베이스에 기록하는 단계; 복수의 리소스 활용 제어부에서, 상기 복수의 리시버를 통해 상기 브로드캐스트 정보를 수신한 시점에, 상기 프로그램 상태 정보부를 통해 상기 데이터베이스로부터 해당 프로그램에 대한 프로그램 상태 정보를 조회하는 단계; 상기 복수의 리소스 활용 제어부에서, 상기 조회된 프로그램 상태 정보에 기초하여 해당 리소스의 활용 여부에 관한 상기 해당 프로그램의 우선순위를 결정하는 단계를 포함한다.
본 발명의 일 실시예에 따른 리소스 활용 프로그램의 우선순위를 결정하는 방법은 프로그램 상태 정보 제공부에서, 상기 복수의 프로그램 각각으로부터 상기 프로그램 상태 정보를 수신하여 취합하는 단계를 더 포함하고, 상기 프로그램 상태 정보를 데이터베이스에 기록하는 단계는 상기 프로그램 상태 정보 제공부와 주기적 또는 비주기적으로 통신하여 상기 프로그램 상태 정보에 대한 최신 정보를 제공받아, 상기 프로그램 상태 정보에 대한 기존 정보를 상기 최신 정보로 갱신하는 단계를 포함할 수 있다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 첨부 도면들에 포함되어 있다.
본 발명의 일 실시예에 따르면, 스마트폰 등의 사용자 단말기에서 발생하는 브로드캐스트 액션에 대해서, 프로그램들 간의 리소스 활용의 충돌 현상을 방지하기 위해 우선순위를 결정하여 하나의 프로그램이 먼저 시스템 리소스를 활용하여 그 프로그램의 기능을 실행할 수 있도록 한다.
본 발명의 일 실시예에 따르면, 프로그램들 간의 리소스 활용의 충돌 현상을 방지함으로써 프로그램 공급자와 이용자로 하여금 원활한 서비스 공급과 이용이 가능하도록 한다.
도 1은 본 발명의 일 실시예에 따른 리소스 활용 프로그램의 우선순위를 결정하는 시스템을 설명하기 위해 도시한 블록도이다.
도 2 내지 도 6은 본 발명의 일 실시예에 적용되는 프로그램 상태 정보를 예시적으로 나타낸 도면이다.
도 7 내지 도 10은 본 발명의 일 실시예에 따른 리소스 활용 프로그램의 우선순위를 결정하는 방법을 설명하기 위해 도시한 흐름도이다.
본 발명의 이점 및/또는 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 리소스 활용 프로그램의 우선순위를 결정하는 시스템을 설명하기 위해 도시한 블록도이고, 도 2 내지 도 6은 본 발명의 일 실시예에 적용되는 프로그램 상태 정보를 예시적으로 나타낸 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 리소스 활용 프로그램의 우선순위를 결정하는 시스템(100)은 복수의 리시버(110), 프로그램 상태 정보부(120), 프로그램 상태 정보 제공부(130), 및 복수의 리소스 활용 제어부(140)를 포함할 수 있다.
상기 리시버(110)는 브로드캐스트 액션(Broadcast Action)의 실행에 따라 브로드캐스트 정보를 수신한다. 여기서, 상기 브로드캐스트 정보는 상기 브로드캐스트 액션의 종류에 관한 정보를 나타내는 것으로서, 예를 들면 이어폰 플러그(Plug), 외부장치 도킹 등의 물리적 액션과 부팅완료, 카메라버튼, 미디어앱의 이전/다음/재생, 날짜변경 등의 논리적 액션을 포함할 수 있다.
상기 리시버(110)는 상기 브로드캐스트 정보를 이용하는 모든 프로그램(105)에 각각에 일대일 매칭(Matching)되도록 배치될 수 있다. 즉, 각각의 프로그램(105)은 상기 리시버(110)를 하나씩 가질 수 있으며, 상기 리시버(110)를 통해 해당 브로드캐스트 정보를 수신할 수 있다.
예컨대, 사용자가 이어폰을 스마트폰에 연결하는 액션을 하면, 라디오 앱이나 TV 앱과 같은 프로그램(105)들은 각각 해당 리시버(110)를 통해 이어폰 플러그에 관한 브로드캐스트 정보를 수신할 수 있다.
상기 프로그램 상태 정보부(120)는 상기 브로드캐스트 정보를 이용하는 프로그램(105) 각각에 대한 프로그램 상태 정보를 데이터베이스(DB)에 기록한다.
상기 프로그램 상태 정보부(120)는 후술하는 상기 프로그램 상태 정보 제공부(130)와 주기적 또는 비주기적으로 통신하여 상기 프로그램 상태 정보에 대한 최신 정보를 제공받아 상기 데이터베이스에 기록할 수 있다. 이로써, 상기 프로그램 상태 정보부(120)는 상기 프로그램 상태 정보에 대한 기존 정보를 상기 최신 정보로 갱신할 수 있다.
여기서, 상기 프로그램 상태 정보는 도 2에 도시된 바와 같이 프로그램명, 상기 리소스 활용 제어부의 버전, 상기 리소스 활용 제어부의 호환되는 최소 버전 등을 포함하는 기본 상태정보와, 및 도 3에 도시된 바와 같이 음원파일 보유 여부, 리소스 실행 가능 시간대 등을 포함하는 리소스 활용을 위한 최소 상태 정보를 포함할 수 있다. 후술하는 상기 리소스 활용 제어부(140)는 상기와 같은 기본적인 프로그램 상태 정보를 이용하여 리소스 활용 여부에 관한 해당 프로그램(105)의 우선순위를 결정할 수 있다.
상기 프로그램 상태 정보는 상기와 같은 기본적인 프로그램 상태 정보와 함께, 도 4에 도시된 바와 같이 최초 실행 일시, 이용자수, 1주일간 활성화 유저 수 등을 포함하는 리소스 활용을 위한 추가 상태 정보, 및 도 5에 도시된 바와 같이 실행기준 1(음원파일 보유), 실행기준 2(음원파일+시간설정), 실행기준 3(음원파일+시간+이용자수많음) 등과 같은 리소스 활용 기준에 관한 정보 등을 더 포함할 수 있다. 후술하는 상기 리소스 활용 제어부(140)는 상기와 같은 기본적인 프로그램 상태 정보와 추가적인 프로그램 상태 정보를 이용하여 리소스 활용 여부에 관한 해당 프로그램(105)의 우선순위를 결정할 수 있다.
이와 달리, 상기 프로그램 상태 정보는 상기와 같은 기본적인 프로그램 상태 정보와 함께, 도 6에 도시된 바와 같이 '구글뮤직 - 1순위', '유투브 - 2순위', '아마존 - 3순위'와 같은 서버에서 지정한 프로그램(105)의 리소스 활용 우선순위 정보(서버단 지정 정보)를 더 포함할 수 있다. 후술하는 상기 리소스 활용 제어부(140)는 상기와 같은 기본적인 프로그램 상태 정보와 상기 서버단 지정 정보를 이용하여 리소스 활용 여부에 관한 해당 프로그램(105)의 우선순위를 결정할 수도 있다.
여기서, 상기 서버단 지정 정보는 수동으로 지정될 수도 있고, 또 달리 상기 프로그램 상태 정보를 바탕으로 자동으로 지정될 수도 있다. 또한, 상기 서버는 상기 프로그램이 설치된 사용자 단말기(예: 스마트폰)와 통신하는 웹 서버일 수 있다. 참고로, 상기 프로그램은 App(앱, 어플리케이션), App 내 알고리즘, App 내 모듈 등을 포괄하는 개념으로 이해될 수 있다.
상기 프로그램 상태 정보 제공부(130)는 상기 복수의 프로그램(105) 각각으로부터 상기 프로그램 상태 정보를 수신하고, 상기 수신된 프로그램 상태 정보를 취합할 수 있다.
상기 프로그램 상태 정보 제공부(130)는 상기 복수의 프로그램(105) 각각과 주기적 또는 비주기적으로 통신하여 상기 프로그램 상태 정보를 상기 최신 정보로 갱신할 수 있다.
즉, 상기 프로그램 상태 정보 제공부(130)는 상기 프로그램(105) 각각으로부터 현재의 프로그램 상태 정보를 수신하고, 상기 수신된 현재의 프로그램 상태 정보를 상기 최신 정보로서 갱신할 수 있다.
이를 위해, 상기 프로그램 상태 정보 제공부(130)는 상기 프로그램(105) 각각으로부터 수신된 프로그램 상태 정보를 취합하여 매칭 테이블(Matching Table) 내에 데이터베이스화하여 기록할 수 있다.
상기 프로그램 상태 정보 제공부(130)는 기본적으로는 상기 웹 서버에 위치할 수 있으며, 경우에 따라 상기 웹 서버와 통신하는 사용자 단말기 내에 위치할 수도 있다.
상기 리소스 활용 제어부(140)는 상기 복수의 리시버(110)를 통해 상기 브로드캐스트 정보를 수신한 시점에 동작한다. 상기 리소스 활용 제어부(140)는 상기 프로그램 상태 정보부(120)를 통해 상기 데이터베이스로부터 해당 프로그램(105)에 대한 프로그램 상태 정보를 조회한다. 상기 리소스 활용 제어부(140)는 상기 조회된 프로그램 상태 정보에 기초하여 해당 리소스의 활용 여부에 관한 상기 해당 프로그램(105)의 우선순위를 결정한다.
일 실시예로서, 상기 리소스 활용 제어부(140)는 상기 프로그램명, 상기 리소스 활용 제어부의 버전 및 상기 리소스 활용 제어부의 호환되는 최소 버전을 포함하는 기본 상태정보를 이용하여, 상기 해당 프로그램(105)의 리소스 활용과 관련한 호환 가능 여부를 확인할 수 있다. 상기 리소스 활용 제어부(140)는 상기 확인 결과 호환 가능한 경우, 상기 해당 프로그램(105)을 상기 리소스 활용을 위한 후보 프로그램(105)으로 선정할 수 있다. 도 2와 같은 경우, 상기 리소스 활용 제어부(140)는 '아마존'을 제외한 '구글뮤직'과 '유투브'를 리소스 활용을 위한 후보 프로그램으로 선정할 수 있다.
상기 리소스 활용 제어부(140)는 상기 리소스 활용을 위한 최소 상태 정보를 이용하여, 상기 후보 프로그램(105)에 대해 상기 해당 리소스의 활용 여부에 관한 우선순위를 결정할 수 있다. 상기 리소스 활용 제어부(140)는 상기 후보 프로그램(105)을 포함한 후보군 중에서 우선순위가 1순위로 결정된 최우선 프로그램(105)에 상기 해당 리소스를 할당하여, 상기 최우선 프로그램(105)이 상기 해당 리소스를 실행하도록 할 수 있다. 오전 10시 30분에 이어폰 플러그 액션이 발생했다고 가정하면, 도 3과 같은 경우, 상기 리소스 활용 제어부(140)는 상기 후보군인 '구글뮤직'과 '유투브' 중 '구글뮤직'을 상기 최우선 프로그램으로 선정하고, 상기 '구글뮤직'에 상기 해당 리소스인 '스피커'를 할당함으로써, 상기 '구글뮤직'이 상기 '스피커'라는 배타적인 리소스를 실행하도록 제어할 수 있다.
다른 실시예로서, 상기 리소스 활용 제어부(140)는 상기 프로그램명, 상기 리소스 활용 제어부의 버전 및 상기 리소스 활용 제어부의 호환되는 최소 버전을 이용하여, 상기 해당 프로그램(105)의 리소스 활용과 관련한 호환 가능 여부를 확인할 수 있다. 상기 리소스 활용 제어부(140)는 상기 확인 결과 호환 가능한 경우, 상기 해당 프로그램(105)을 상기 리소스 활용을 위한 후보 프로그램(105)으로 선정할 수 있다. 도 2와 같은 경우, 상기 리소스 활용 제어부(140)는 '아마존'을 제외한 '구글뮤직'과 '유투브'를 리소스 활용을 위한 후보 프로그램으로 선정할 수 있다.
상기 리소스 활용 제어부(140)는 상기 리소스 활용 기준에 관한 정보를 이용하여 상기 리소스 활용을 위한 최소 상태 정보 및 추가 상태 정보로부터 리소스 활용의 기준이 되는 기준 상태 정보를 추출할 수 있다. 상기 리소스 활용 기준에 관한 정보가 도 5의 실행 기준 3과 같은 경우, 상기 리소스 활용 제어부(140)는 도 3의 리소스 활용을 위한 최소 상태 정보로부터 상기 후보 프로그램의 음원파일 보유 여부, 리소스 실행 가능 시간대를 상기 기준 상태 정보로서 추출하고, 도 4의 리소스 활용을 위한 추가 상태 정보로부터 상기 후보 프로그램(105)의 이용자수를 상기 기준 상태 정보로서 추출할 수 있다. 상기 리소스 활용 제어부(140)는 상기 추출된 기준 상태 정보에 기초하여 상기 후보 프로그램(105)에 대해 상기 해당 리소스의 활용 여부에 관한 우선순위를 결정할 수 있다. 상기 리소스 활용 제어부(140)는 상기 후보 프로그램(105)을 포함한 후보군 중에서 우선순위가 1순위로 결정된 최우선 프로그램(105)에 상기 해당 리소스를 할당하여, 상기 최우선 프로그램(105)이 상기 해당 리소스를 실행하도록 할 수 있다. 오전 11시 30분에 이어폰 플러그 액션이 발생했다고 가정하면, 도 3, 4와 같은 경우, 상기 리소스 활용 제어부(140)는 상기 후보군인 '구글뮤직'과 '유투브' 중 '유투브'를 상기 최우선 프로그램으로 선정하고, 상기 '유투브'에 상기 해당 리소스인 '스피커'를 할당함으로써, 상기 '유투브'가 상기 '스피커'라는 리소스를 배타적으로 실행하도록 제어할 수 있다.
또 다른 실시예로서, 상기 리소스 활용 제어부(140)는 상기 프로그램명, 상기 리소스 활용 제어부의 버전 및 상기 리소스 활용 제어부의 호환되는 최소 버전을 이용하여, 상기 해당 프로그램(105)의 리소스 활용과 관련한 호환 가능 여부를 확인할 수 있다. 상기 리소스 활용 제어부(140)는 상기 확인 결과 호환 가능한 경우, 상기 해당 프로그램(105)을 상기 리소스 활용을 위한 후보 프로그램(105)으로 선정할 수 있다. 도 2와 같은 경우, 상기 리소스 활용 제어부(140)는 '아마존'을 제외한 '구글뮤직'과 '유투브'를 리소스 활용을 위한 후보 프로그램(105)으로 선정할 수 있다.
상기 리소스 활용 제어부(140)는 상기 서버에서 지정한, 프로그램(105)의 리소스 활용 우선순위 정보를 이용하여 상기 후보 프로그램(105)에 대해 상기 해당 리소스의 활용 여부에 관한 우선순위를 결정할 수 있다. 상기 리소스 활용 제어부(140)는 상기 후보 프로그램(105)을 포함한 후보군 중에서 우선순위가 1순위로 결정된 최우선 프로그램(105)에 상기 해당 리소스를 할당하여, 상기 최우선 프로그램(105)이 상기 해당 리소스를 실행하도록 할 수 있다. 도 6과 같은 경우, 상기 리소스 활용 제어부(140)는 상기 후보군인 '구글뮤직'과 '유투브' 중 '구글뮤직'을 상기 최우선 프로그램(105)으로 선정하고, 상기 '구글뮤직'에 상기 해당 리소스인 '스피커'를 할당함으로써, 상기 '구글뮤직'이 상기 '스피커'라는 배타적인 리소스를 실행하도록 제어할 수 있다.
도 7 내지 도 10은 본 발명의 일 실시예에 따른 리소스 활용 프로그램의 우선순위를 결정하는 방법을 설명하기 위해 도시한 흐름도이다.
도 1 및 도 7을 참조하면, 단계(710)에서 상기 프로그램 상태 정보 제공부(130)는 상기 복수의 프로그램(105) 각각으로부터 상기 프로그램 상태 정보를 수신하여 취합한다.
다음으로, 단계(720)에서 상기 프로그램 상태 정보부(120)는 상기 프로그램 상태 정보 제공부(130)와 주기적 또는 비주기적으로 통신하여 상기 프로그램 상태 정보를 제공받아 DB에 기록한다.
이때, 상기 프로그램 상태 정보부(120)는 상기 프로그램 상태 정보에 대한 최신 정보를 제공받아, 상기 프로그램 상태 정보에 대한 기존 정보를 상기 최신 정보로 갱신할 수 있다.
다음으로, 상기 리시버(110)가 상기 브로드캐스트 정보를 수신한 경우(730의 "예" 방향), 단계(740)에서 상기 리소스 활용 제어부(140)는 상기 프로그램 상태 정보부(120)를 통해 상기 DB로부터 해당 프로그램(105)에 대한 프로그램 상태 정보를 조회한다.
다음으로, 단계(750)에서 상기 리소스 활용 제어부(140)는 상기 조회된 프로그램 상태 정보에 기초하여 해당 리소스의 활용 여부에 관한 상기 해당 프로그램(105)의 우선순위를 결정한다.
한편, 상기 리시버(110)가 상기 브로드캐스트 정보를 수신하지 못한 경우(730의 "아니오" 방향), 상기 시스템(100)은 단계(710)으로 리턴(Return)한다.
이하에서는 상기 단계(750)의 우선순위 결정 과정에 대한 실시예들을 설명한다.
상기 단계(750)에 대한 일 실시예로서, 도 1 및 도 8을 참조하면, 단계(810)에서 상기 리소스 활용 제어부(140)는 상기 프로그램명, 상기 리소스 활용 제어부의 버전 및 상기 리소스 활용 제어부의 호환되는 최소 버전을 이용하여, 상기 해당 프로그램의 리소스 활용과 관련한 호환 가능 여부를 확인한다.
상기 확인 결과 호환 가능한 경우(820의 "예" 방향), 단계(830)에서 상기 리소스 활용 제어부(140)는 상기 해당 프로그램(105)을 상기 리소스 활용을 위한 후보 프로그램(105)으로 선정한다. 반면, 상기 확인 결과 호환 불가능한 경우(820의 "아니오" 방향), 본 실시예는 종료된다.
이후, 단계(840)에서 상기 리소스 활용 제어부(140)는 상기 리소스 활용을 위한 최소 상태 정보를 이용하여, 상기 후보 프로그램(105)에 대해 상기 해당 리소스의 활용 여부에 관한 우선순위를 결정한다.
한편, 상기 단계(750)에 대한 다른 실시예로서, 도 1 및 도 9를 참조하면, 단계(910)에서 상기 리소스 활용 제어부(140)는 상기 프로그램명, 상기 리소스 활용 제어부의 버전 및 상기 리소스 활용 제어부의 호환되는 최소 버전을 이용하여, 상기 해당 프로그램의 리소스 활용과 관련한 호환 가능 여부를 확인한다.
상기 확인 결과 호환 가능한 경우(920의 "예" 방향), 단계(930)에서 상기 리소스 활용 제어부(140)는 상기 해당 프로그램(105)을 상기 리소스 활용을 위한 후보 프로그램(105)으로 선정한다. 반면, 상기 확인 결과 호환 불가능한 경우(920의 "아니오" 방향), 본 실시예는 종료된다.
이후, 단계(940)에서 상기 리소스 활용 제어부(140)는 상기 리소스 활용 기준에 관한 정보를 이용하여 상기 리소스 활용을 위한 최소 상태 정보 및 추가 상태 정보로부터 리소스 활용의 기준이 되는 기준 상태 정보를 추출한다.
이후, 단계(950)에서 상기 리소스 활용 제어부(140)는 상기 추출된 기준 상태 정보에 기초하여 상기 후보 프로그램에 대해 상기 해당 리소스의 활용 여부에 관한 우선순위를 결정한다.
다른 한편, 상기 단계(750)에 대한 또 다른 실시예로서, 도 1 및 도 10을 참조하면, 단계(1010)에서 상기 리소스 활용 제어부(140)는 상기 프로그램명, 상기 리소스 활용 제어부의 버전 및 상기 리소스 활용 제어부의 호환되는 최소 버전을 이용하여, 상기 해당 프로그램의 리소스 활용과 관련한 호환 가능 여부를 확인한다.
상기 확인 결과 호환 가능한 경우(1020의 "예" 방향), 단계(1030)에서 상기 리소스 활용 제어부(140)는 상기 해당 프로그램(105)을 상기 리소스 활용을 위한 후보 프로그램(105)으로 선정한다. 반면, 상기 확인 결과 호환 불가능한 경우(1020의 "아니오" 방향), 본 실시예는 종료된다.
이후, 단계(1040)에서 상기 리소스 활용 제어부(140)는 상기 리소스 활용 우선순위 정보를 이용하여 상기 후보 프로그램(105)에 대해 상기 해당 리소스의 활용 여부에 관한 우선순위를 결정한다.
본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
지금까지 본 발명에 따른 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허 청구의 범위뿐 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.
Claims (13)
- 브로드캐스트 액션(Broadcast Action)의 실행에 따라 상기 브로드캐스트 액션의 종류에 관한 정보를 나타내는 브로드캐스트 정보를 수신하는 복수의 리시버;상기 브로드캐스트 정보를 이용하는 상기 복수의 프로그램 각각에 대한 프로그램 상태 정보를 데이터베이스에 기록하는 프로그램 상태 정보부; 및상기 복수의 리시버를 통해 상기 브로드캐스트 정보를 수신한 시점에 동작하여, 상기 프로그램 상태 정보부를 통해 상기 데이터베이스로부터 해당 프로그램에 대한 프로그램 상태 정보를 조회하고, 상기 조회된 프로그램 상태 정보에 기초하여 해당 리소스의 활용 여부에 관한 상기 해당 프로그램의 우선순위를 결정하는 복수의 리소스 활용 제어부를 포함하는 것을 특징으로 하는 리소스 활용 프로그램의 우선순위를 결정하는 시스템.
- 제1항에 있어서,상기 프로그램 상태 정보는프로그램명, 상기 리소스 활용 제어부의 버전, 상기 리소스 활용 제어부의 호환되는 최소 버전, 및 리소스 활용을 위한 최소 상태 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 리소스 활용 프로그램의 우선순위를 결정하는 시스템.
- 제2항에 있어서,상기 리소스 활용 제어부는상기 프로그램명, 상기 리소스 활용 제어부의 버전 및 상기 리소스 활용 제어부의 호환되는 최소 버전을 이용하여, 상기 해당 프로그램의 리소스 활용과 관련한 호환 가능 여부를 확인하고, 상기 확인 결과 호환 가능한 경우, 상기 해당 프로그램을 상기 리소스 활용을 위한 후보 프로그램으로 선정하고, 상기 리소스 활용을 위한 최소 상태 정보를 이용하여, 상기 후보 프로그램에 대해 상기 해당 리소스의 활용 여부에 관한 우선순위를 결정하는 것을 특징으로 하는 리소스 활용 프로그램의 우선순위를 결정하는 시스템.
- 제3항에 있어서,상기 리소스 활용 제어부는상기 후보 프로그램을 포함한 후보군 중에서 우선순위가 1순위로 결정된 최우선 프로그램에 상기 해당 리소스를 할당하여, 상기 최우선 프로그램이 상기 해당 리소스를 실행하도록 하는 것을 특징으로 하는 리소스 활용 프로그램의 우선순위를 결정하는 시스템.
- 제2항에 있어서,상기 프로그램 상태 정보는리소스 활용을 위한 추가 상태 정보, 및 리소스 활용 기준에 관한 정보 중 적어도 하나를 더 포함하는 것을 특징으로 하는 리소스 활용 프로그램의 우선순위를 결정하는 시스템.
- 제5항에 있어서,상기 리소스 활용 제어부는상기 프로그램명, 상기 리소스 활용 제어부의 버전 및 상기 리소스 활용 제어부의 호환되는 최소 버전을 이용하여, 상기 해당 프로그램의 리소스 활용과 관련한 호환 가능 여부를 확인하고, 상기 확인 결과 호환 가능한 경우, 상기 해당 프로그램을 상기 리소스 활용을 위한 후보 프로그램으로 선정하며, 상기 리소스 활용 기준에 관한 정보를 이용하여 상기 리소스 활용을 위한 최소 상태 정보 및 추가 상태 정보로부터 리소스 활용의 기준이 되는 기준 상태 정보를 추출하고, 상기 추출된 기준 상태 정보에 기초하여 상기 후보 프로그램에 대해 상기 해당 리소스의 활용 여부에 관한 우선순위를 결정하는 것을 특징으로 하는 리소스 활용 프로그램의 우선순위를 결정하는 시스템.
- 제2항에 있어서,상기 프로그램 상태 정보는상기 복수의 프로그램이 설치된 사용자 단말기와 통신하는 서버에서 지정한, 프로그램의 리소스 활용 우선순위 정보를 더 포함하는 것을 특징으로 하는 리소스 활용 프로그램의 우선순위를 결정하는 시스템.
- 제7항에 있어서,상기 리소스 활용 제어부는상기 프로그램명, 상기 리소스 활용 제어부의 버전 및 상기 리소스 활용 제어부의 호환되는 최소 버전을 이용하여, 상기 해당 프로그램의 리소스 활용과 관련한 호환 가능 여부를 확인하고, 상기 확인 결과 호환 가능한 경우, 상기 해당 프로그램을 상기 리소스 활용을 위한 후보 프로그램으로 선정하며, 상기 리소스 활용 우선순위 정보를 이용하여 상기 후보 프로그램에 대해 상기 해당 리소스의 활용 여부에 관한 우선순위를 결정하는 것을 특징으로 하는 리소스 활용 프로그램의 우선순위를 결정하는 시스템.
- 제1항에 있어서,상기 복수의 프로그램 각각으로부터 상기 프로그램 상태 정보를 수신하여 취합하는 프로그램 상태 정보 제공부를 더 포함하고,상기 프로그램 상태 정보부는상기 프로그램 상태 정보 제공부와 주기적 또는 비주기적으로 통신하여 상기 프로그램 상태 정보에 대한 최신 정보를 제공받아, 상기 프로그램 상태 정보에 대한 기존 정보를 상기 최신 정보로 갱신하는 것을 특징으로 하는 리소스 활용 프로그램의 우선순위를 결정하는 시스템.
- 제9항에 있어서,상기 프로그램 상태 정보 제공부는상기 복수의 프로그램 각각과 주기적 또는 비주기적으로 통신하여 상기 프로그램 상태 정보를 상기 최신 정보로 갱신하는 것을 특징으로 하는 리소스 활용 프로그램의 우선순위를 결정하는 시스템.
- 제9항에 있어서,상기 프로그램 상태 정보 제공부는상기 복수의 프로그램이 설치된 사용자 단말기 내에 위치하거나, 상기 사용자 단말기와 통신하는 서버에 위치하는 것을 특징으로 하는 리소스 활용 프로그램의 우선순위를 결정하는 시스템.
- 복수의 리시버에서, 브로드캐스트 액션(Broadcast Action)의 실행에 따라 상기 브로드캐스트 액션의 종류에 관한 정보를 나타내는 브로드캐스트 정보를 수신하는 단계;프로그램 상태 정보부에서, 상기 브로드캐스트 정보를 이용하는 복수의 프로그램 각각에 대한 프로그램 상태 정보를 데이터베이스에 기록하는 단계;복수의 리소스 활용 제어부에서, 상기 복수의 리시버를 통해 상기 브로드캐스트 정보를 수신한 시점에, 상기 프로그램 상태 정보부를 통해 상기 데이터베이스로부터 해당 프로그램에 대한 프로그램 상태 정보를 조회하는 단계; 및상기 복수의 리소스 활용 제어부에서, 상기 조회된 프로그램 상태 정보에 기초하여 해당 리소스의 활용 여부에 관한 상기 해당 프로그램의 우선순위를 결정하는 단계를 포함하는 것을 특징으로 하는 리소스 활용 프로그램의 우선순위를 결정하는 방법.
- 제12항에 있어서,프로그램 상태 정보 제공부에서, 상기 복수의 프로그램 각각으로부터 상기 프로그램 상태 정보를 수신하여 취합하는 단계를 더 포함하고,상기 프로그램 상태 정보를 데이터베이스에 기록하는 단계는상기 프로그램 상태 정보 제공부와 주기적 또는 비주기적으로 통신하여 상기 프로그램 상태 정보에 대한 최신 정보를 제공받아, 상기 프로그램 상태 정보에 대한 기존 정보를 상기 최신 정보로 갱신하는 단계를 포함하는 것을 특징으로 하는 리소스 활용 프로그램의 우선순위를 결정하는 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2015-0127041 | 2015-09-08 | ||
KR1020150127041A KR101631310B1 (ko) | 2015-09-08 | 2015-09-08 | 리소스 활용 프로그램의 우선순위를 결정하는 시스템 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017043697A1 true WO2017043697A1 (ko) | 2017-03-16 |
Family
ID=56355061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2015/012351 WO2017043697A1 (ko) | 2015-09-08 | 2015-11-17 | 리소스 활용 프로그램의 우선순위를 결정하는 시스템 및 방법 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR101631310B1 (ko) |
WO (1) | WO2017043697A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107835318A (zh) * | 2017-11-21 | 2018-03-23 | 广东欧珀移动通信有限公司 | 进程启动的管控方法、装置及存储介质和移动终端 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11194951A (ja) * | 1998-01-06 | 1999-07-21 | Fuji Xerox Co Ltd | 情報処理装置 |
JP2003069568A (ja) * | 2001-08-28 | 2003-03-07 | Hitachi Ltd | 情報サービス提供/利用システム |
JP2004362425A (ja) * | 2003-06-06 | 2004-12-24 | Nec Corp | 資源競合制御システム及び制御方法並びにプログラム |
KR20070028446A (ko) * | 2004-05-26 | 2007-03-12 | 콸콤 인코포레이티드 | 장치 동작 모드에 기초한 애플리케이션 우선권을 위한시스템 |
JP2007108944A (ja) * | 2005-10-12 | 2007-04-26 | Renesas Technology Corp | 半導体集積回路装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101504681B1 (ko) * | 2008-09-05 | 2015-03-20 | 엘지전자 주식회사 | 휴대 단말기 및 그 제어방법 |
KR20150016239A (ko) * | 2012-05-31 | 2015-02-11 | 소니 주식회사 | 정보 처리 장치, 정보 처리 방법 및 프로그램 |
-
2015
- 2015-09-08 KR KR1020150127041A patent/KR101631310B1/ko active IP Right Grant
- 2015-11-17 WO PCT/KR2015/012351 patent/WO2017043697A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11194951A (ja) * | 1998-01-06 | 1999-07-21 | Fuji Xerox Co Ltd | 情報処理装置 |
JP2003069568A (ja) * | 2001-08-28 | 2003-03-07 | Hitachi Ltd | 情報サービス提供/利用システム |
JP2004362425A (ja) * | 2003-06-06 | 2004-12-24 | Nec Corp | 資源競合制御システム及び制御方法並びにプログラム |
KR20070028446A (ko) * | 2004-05-26 | 2007-03-12 | 콸콤 인코포레이티드 | 장치 동작 모드에 기초한 애플리케이션 우선권을 위한시스템 |
JP2007108944A (ja) * | 2005-10-12 | 2007-04-26 | Renesas Technology Corp | 半導体集積回路装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107835318A (zh) * | 2017-11-21 | 2018-03-23 | 广东欧珀移动通信有限公司 | 进程启动的管控方法、装置及存储介质和移动终端 |
Also Published As
Publication number | Publication date |
---|---|
KR101631310B1 (ko) | 2016-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111061484B (zh) | 代码编译方法、装置、服务器、用户终端及可读介质 | |
WO2014051207A1 (en) | Electronic device, server and control method thereof | |
WO2014107009A1 (en) | Method of controlling connection to wireless access point and mobile terminal supporting the same | |
JP6888078B2 (ja) | ネットワーク機能nf管理方法及びnf管理装置 | |
CN112152853A (zh) | 设备配网方法及装置、计算机可读的存储介质、电子装置 | |
WO2014185573A1 (ko) | 안드로이드 어플리케이션의 타이젠 설치가능 패키지 자동변환을 이용한 적응 실행 방법 | |
WO2013137616A1 (en) | Method and apparatus for evaluating required permissions for application | |
WO2020197275A1 (en) | Method for installing subscriber profile and electronic device therefor | |
WO2012108617A1 (en) | Method and apparatus for managing content in a processing device | |
WO2018094839A1 (zh) | 一种移动终端预装应用的安装方法及装置 | |
WO2018131770A1 (ko) | 전자장치 및 그 제어방법 | |
CN105306725A (zh) | 一种信息处理方法和电子设备 | |
WO2017043697A1 (ko) | 리소스 활용 프로그램의 우선순위를 결정하는 시스템 및 방법 | |
WO2015167057A1 (ko) | 듀얼 클라우드 기반의 어시스트 게이트웨이를 이용한 홈 씬클라이언트 댁내정보 수집처리 시스템 및 그 운영 방법 | |
WO2021261904A1 (en) | Method and system for eas lifecycle management with edge data network selection | |
WO2013027922A1 (ko) | 클라우드 컴퓨팅 시스템의 압축 이미지 파일 관리 장치 및 방법 | |
WO2013018963A1 (en) | Method and apparatus for providing information | |
CN105808299A (zh) | 外部设备自动挂载和通知的控制方法及系统 | |
WO2021162141A1 (ko) | 이동 단말기 | |
CN114915511A (zh) | 一种分体设备的控制方法及装置 | |
WO2013133537A1 (ko) | 사용자 단말기에 디바이스 제어 정보를 제공하는 방법 및 시스템과 이를 이용하여 어플리케이션을 실행하는 방법 및 사용자 단말기 | |
WO2012086915A2 (ko) | 솔루션 공유 방법 및 그 장치 | |
WO2022102893A1 (ko) | 전자 장치, 시스템 및 그 제어 방법 | |
CN106028303B (zh) | 一种智能设备的发现方法及装置 | |
CN115348494A (zh) | 在耳机收纳盒中配置耳机的方法、装置及计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15903677 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15903677 Country of ref document: EP Kind code of ref document: A1 |