KR101378350B1 - Device and method to dynamically migrate service components - Google Patents

Device and method to dynamically migrate service components Download PDF

Info

Publication number
KR101378350B1
KR101378350B1 KR1020110135203A KR20110135203A KR101378350B1 KR 101378350 B1 KR101378350 B1 KR 101378350B1 KR 1020110135203 A KR1020110135203 A KR 1020110135203A KR 20110135203 A KR20110135203 A KR 20110135203A KR 101378350 B1 KR101378350 B1 KR 101378350B1
Authority
KR
South Korea
Prior art keywords
mobile device
server
component
service
mobile devices
Prior art date
Application number
KR1020110135203A
Other languages
Korean (ko)
Other versions
KR20130070664A (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
Application filed by 숭실대학교산학협력단 filed Critical 숭실대학교산학협력단
Priority to KR1020110135203A priority Critical patent/KR101378350B1/en
Publication of KR20130070664A publication Critical patent/KR20130070664A/en
Application granted granted Critical
Publication of KR101378350B1 publication Critical patent/KR101378350B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Abstract

본 발명은 서비스 컴포넌트의 동적 이주 장치 및 방법에 관한 것이다. 복수의 모바일 디바이스에 서비스를 제공하기 위해 서버에 설치된 컴포넌트의 동적 이주 장치에 있어서, 상기 서버에서 상기 복수의 모바일 디바이스로 제공되는 상기 서비스의 품질을 모니터링 하는 모니터링부; 상기 모니터링 결과 상기 서비스의 품질이 기 설정된 임계 값 이하 인 경우 상기 복수의 모바일 디바이스 각각의 모바일 디바이스 품질 정보를 수신하는 품질 정보 수신부; 상기 모바일 디바이스 품질 정보를 이용하여 상기 복수의 모바일 디바이스 중 상기 컴포넌트를 이주 하기 위한 적어도 하나의 모바일 디바이스를 선정하는 선정부; 및 상기 선정된 모바일 디바이스로 상기 컴포넌트를 이주 시키는 컴포넌트 이주부를 포함하는 것을 특징으로 한다. 본 발명에 따르면, 서버에 설치되어 있는 서비스 제공을 위한 컴포넌트를 특정 모바일 디바이스로 이주 시킴으로써 컴포넌트를 이주 받은 모바일 디바이스는 자체적으로 컴포넌트를 실행시켜 서비스 정보를 이용함으로써 모바일 디바이스에서 실행되고 있는 어플리케이션의 성능이 향상되는 장점이 있다. 또한, 서버는 컴포넌트를 이주 받은 모바일 디바이스로부터 서비스 제공 요청을 받지 않으므로, 서버의 전체적인 성능이 향상되어, 다른 모바일 디바이스에 향상된 품질의 서비스 제공이 가능하게 된다.The present invention relates to an apparatus and method for dynamic migration of service components. An apparatus for dynamically migrating a component installed in a server to provide a service to a plurality of mobile devices, the apparatus comprising: a monitoring unit for monitoring a quality of the service provided from the server to the plurality of mobile devices; A quality information receiver configured to receive mobile device quality information of each of the plurality of mobile devices when the quality of the service is less than or equal to a preset threshold as a result of the monitoring; A selecting unit selecting at least one mobile device for migrating the component among the plurality of mobile devices using the mobile device quality information; And a component migration unit for migrating the component to the selected mobile device. According to the present invention, a mobile device having migrated a component by migrating a component for providing a service installed in a server to a specific mobile device has its own performance by using the service information by executing the component itself. There is an advantage to be improved. In addition, since the server does not receive a service provision request from the mobile device migrated to the component, the overall performance of the server is improved, it is possible to provide improved quality of service to other mobile devices.

Description

서비스 컴포넌트의 동적 이주 장치 및 방법{DEVICE AND METHOD TO DYNAMICALLY MIGRATE SERVICE COMPONENTS}DEVICE AND METHOD TO DYNAMICALLY MIGRATE SERVICE COMPONENTS}

본 발명의 실시예들은 서비스 컴포넌트의 동적 이주 장치 및 방법에 관한 것으로서, 더욱 상세하게는 서버에서 제공되는 서비스의 품질을 모니터링 하고 서비스 품질이 저하되는 경우 서비스 제공을 위해 서버에 설치된 컴포넌트를 모바일 디바이스로 동적 이주 시키는 장치 및 방법에 관한 것이다. Embodiments of the present invention relate to an apparatus and a method for dynamically migrating a service component, and more particularly, to monitor a quality of a service provided by a server, and to install a component installed in a server to provide a service to a mobile device when the service quality is degraded. An apparatus and method for dynamic migration.

최근 들어 iPhone이나 안드로이드 장비와 같은 모바일 장비의 활용이 본격화되고 있다. 모바일 디바이스는 기본적으로 휴대폰으로서의 전화기능을 제공함은 물론, 다양한 소트프웨어 어플리케이션을 설치 운영할 수 있는 컴퓨터의 기능도 제공한다.Recently, the use of mobile devices such as iPhones and Android devices is in full swing. A mobile device basically provides a phone function as a mobile phone, as well as a computer function to install and operate various software applications.

따라서, 모바일 디바이스는 퍼스널 컴퓨팅 용도뿐만 아니라, 기업의 엔터프라이즈 에플리케이션의 클라이언트 단말로도 사용되고 있다. 또한, 모바일 디바이스는 이동성(mobility)을 제공하고, 위치 파악, 가속 측정 등 주변 상황을 인지하는 기능도 제공하므로 다양한 어플리케이션 개발과 응용을 가능케 한다.Thus, mobile devices are not only used for personal computing, but also as client terminals in enterprise enterprise applications. In addition, the mobile device provides mobility and provides a function of recognizing the surrounding situation such as positioning and acceleration measurement, thereby enabling various application development and application.

그러나 모바일 디바이스는 물리적인 작은 크기로 인하여, 컴퓨팅 파워, 메모리, 화면 크기, 베터리 수명 등의 자원(Resource) 측면에서의 제약점이 있다. However, mobile devices have limitations in terms of resources such as computing power, memory, screen size, and battery life due to their physical size.

따라서, 사용자가 필요로 하는 전체 기능이 모바일 디바이스에 설치 실행되는 독립형 모바일 어플리케이션의 경우 모바일 디바이스의 제한된 자원으로 인해 실행 속도가 저하되거나, 정상적인 실행이 안 되는 경우가 발생할 수 있다.Therefore, in the case of a standalone mobile application in which all functions required by a user are installed and executed on a mobile device, execution speed may be reduced or normal execution may not occur due to limited resources of the mobile device.

이의 해결을 위해 "안드로이드 기반 모바일 서비스 어플리케이션의 아키텍쳐" 정보과학회지 제28권 제6호 통권 제253호(2010년6월)에는 서비스 기반의 모바일 어플리케이션(Service-based Moblie Application, SMA)을 개시하고 있다.In order to solve this problem, "Architecture of Android-based Mobile Service Application" is published in Service Information-based Moblie Application (SMA). .

서비스 기반의 모바일 어플리케이션은 사용자가 필요로 하는 가능의 일부는 서버 측에 배포하고, 모바일 디바이스에 설치된 클라이언트 어플리케이션과 네트워크를 통한 상호작용을 통하여 전체 기능을 실행한다.The service-based mobile application distributes some of the possibilities required by the user to the server side and executes the full functions through the network interaction with the client application installed on the mobile device.

예를 들어, 전체 어플리케이션 기능 중 비교적 적은 자원을 필요로 하는 간단한 기능은 클라이언트 측에서 실행이 되며, 복잡한 계산 및 데이터 조작을 요구하는 기능은 서버 측에서 실행이 된다.For example, simple functions that require relatively few resources among all application functions are executed on the client side, and functions that require complex computation and data manipulation are executed on the server side.

즉, 성능 좋은 서버에서 제공되는 서비스를 사용함으로써, 모바일 디바이스의 단점인 부족한 자원 문제를 해결하고, 복잡한 기능의 어플리케이션을 모바일 디바이스에서 사용할 수 있도록 한다.In other words, by using a service provided by a high-performance server, the problem of insufficient resources, which is a disadvantage of the mobile device, is solved, and a complex function application can be used in the mobile device.

그러나 여러 모바일 디바이스에서 서버로의 서비스 실행요청이 과다하거나, 네트워크 대역폭이 감소하거나, 서비스가 갖고 있는 결함으로 인하여 안정성이 감소하거나 성능이 감소할 수 있는 문제점이 있다.However, there are problems that the service execution request from the various mobile devices to the server is excessive, the network bandwidth is reduced, or the reliability is decreased due to a defect that the service has.

상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 본 발명에서는 서버에서 제공되는 서비스의 품질을 모니터링 하고 서비스 품질이 저하되는 경우 서비스 제공을 위해 서버에 설치된 컴포넌트를 모바일 디바이스로 동적 이주 시키는 장치 및 방법을 제안하고자 한다.In order to solve the problems of the prior art as described above, the present invention monitors the quality of the service provided by the server and an apparatus and method for dynamically migrating components installed in the server to the mobile device to provide a service when the service quality is reduced I would like to propose.

본 발명의 다른 목적들은 하기의 실시예를 통해 당업자에 의해 도출될 수 있을 것이다.Other objects of the invention will be apparent to those skilled in the art from the following examples.

상기한 목적을 달성하기 위해 본 발명의 바람직한 일 실시예에 따르면, 복수의 모바일 디바이스에 서비스를 제공하기 위해 서버에 설치된 컴포넌트의 동적 이주 장치에 있어서, 상기 서버에서 상기 복수의 모바일 디바이스로 제공되는 상기 서비스의 품질을 모니터링 하는 모니터링부; 상기 모니터링 결과 상기 서비스의 품질이 기 설정된 임계 값 이하 인 경우 상기 복수의 모바일 디바이스 각각의 모바일 디바이스 품질 정보를 수신하는 품질 정보 수신부; 상기 모바일 디바이스 품질 정보를 이용하여 상기 복수의 모바일 디바이스 중 상기 컴포넌트를 이주 하기 위한 적어도 하나의 모바일 디바이스를 선정하는 선정부; 및 상기 선정된 모바일 디바이스로 상기 컴포넌트를 이주 시키는 컴포넌트 이주부를 포함하는 것을 특징으로 하는 컴포넌트의 동적 이주 장치가 제공된다.According to a preferred embodiment of the present invention for achieving the above object, in the dynamic migration device of a component installed in a server for providing a service to a plurality of mobile devices, the server provided to the plurality of mobile devices A monitoring unit for monitoring a quality of service; A quality information receiver configured to receive mobile device quality information of each of the plurality of mobile devices when the quality of the service is less than or equal to a preset threshold as a result of the monitoring; A selecting unit selecting at least one mobile device for migrating the component among the plurality of mobile devices using the mobile device quality information; And a component migration unit for migrating the component to the selected mobile device.

상기 모니터링부는 상기 서버에 연결 가능한 모바일 디바이스의 수 및 상기 서버에 서비스를 요청하고 있는 모바일 디바이스의 수 중 적어도 하나를 이용하여 상기 서비스의 품질을 모니터링 할 수 있다.The monitoring unit may monitor the quality of the service using at least one of the number of mobile devices connectable to the server and the number of mobile devices requesting service from the server.

상기 모바일 디바이스의 품질 정보는 상기 모바일 디바이스의 CPU 사용량, 메모리 사용량, 네트워크 대역폭, 배터리 량 및 상기 모바일 디바이스에서 실행되고 있는 어플리케이션의 수 중 적어도 하나를 포함할 수 있다.The quality information of the mobile device may include at least one of CPU usage, memory usage, network bandwidth, battery amount, and the number of applications running on the mobile device.

상기 선정부는 상기 복수의 모바일 디바이스 각각의 모바일 디바이스 품질 정보를 이용하여 상기 복수의 모바일 디바이스 중 하나 이상의 후보 모바일 디바이스를 선정하고, 상기 후보 모바일 디바이스와 상기 서버간의 네트워크 상태를 이용하여 상기 후보 모바일 디바이스 중 상기 컴포넌트를 이주 하기 위한 적어도 하나의 모바일 디바이스를 선정할 수 있다.The selecting unit selects one or more candidate mobile devices from among the plurality of mobile devices using mobile device quality information of each of the plurality of mobile devices, and selects one of the candidate mobile devices by using a network state between the candidate mobile device and the server. At least one mobile device for migrating the component may be selected.

상기 네트워크 상태는 상기 서버와 상기 후보 모바일 디바이스간의 거리, 상기 서버와 상기 후보 모바일 디바이스간에 송수신되는 네트워크 트래픽 량, 상기 서버와 상기 후보 모바일 디바이스간에 송수신되는 네트워크 신호 세기 중 적어도 하나를 포함할 수 있다.The network state may include at least one of a distance between the server and the candidate mobile device, an amount of network traffic transmitted and received between the server and the candidate mobile device, and a network signal strength transmitted and received between the server and the candidate mobile device.

상기 모바일 디바이스에서 이용되는 운영체제의 종류에 대응하여 상기 운영체제와 호환 될 수 있는 형태의 이주 가능한 컴포넌트를 저장하는 저장부를 더 포함할 수 있다.The storage device may further include a storage configured to store the migrateable component having a form compatible with the operating system in response to the type of operating system used in the mobile device.

상기 컴포넌트 이주부는 상기 선정된 모바일 디바이스의 운영체제를 확인하고, 상기 운영체제에 대응되는 컴포넌트를 선택하여 상기 선정된 모바일 디바이스로 전송할 수 있다.The component migration unit may identify an operating system of the selected mobile device, select a component corresponding to the operating system, and transmit the selected component to the selected mobile device.

상기 선정된 모바일 디바이스는 상기 컴포넌트 이주부로부터 전송된 컴포넌트를 자동으로 설치하며, 상기 설치 완료 정보를 상기 선정된 모바일 디바이스의 운영체제에 전송하고, 상기 운영체제는 상기 설치 완료 정보를 상기 서비스를 이용하는 상기 선정된 모바일 디바이스에 설치된 어플리케이션으로 전송할 수 있다.The selected mobile device automatically installs a component transmitted from the component migration unit, and transmits the installation completion information to an operating system of the selected mobile device, and the operating system selects the installation completion information using the service. To an application installed on a mobile device.

본 발명의 또 다른 실시예에 따르면, 복수의 모바일 디바이스에 서비스를 제공하기 위해 서버에 설치된 컴포넌트의 동적 이주 방법에 있어서, 상기 서버에서 상기 복수의 모바일 디바이스로 제공되는 상기 서비스의 품질을 모니터링 하는 단계; 상기 모니터링 결과 상기 서비스의 품질이 기 설정된 임계 값 이하 인 경우 상기 복수의 모바일 디바이스 각각의 모바일 디바이스 품질 정보를 수신하는 단계; 상기 모바일 디바이스 품질 정보를 이용하여 상기 복수의 모바일 디바이스 중 상기 컴포넌트를 이주 하기 위한 적어도 하나의 모바일 디바이스를 선정하는 단계; 및 상기 선정된 모바일 디바이스로 상기 컴포넌트를 이주 시키는 단계를 포함하는 것을 특징으로 하는 컴포넌트의 동적 이주 방법이 제공된다.According to another embodiment of the present invention, a method for dynamically migrating a component installed in a server to provide a service to a plurality of mobile devices, the method comprising: monitoring the quality of the service provided from the server to the plurality of mobile devices ; Receiving mobile device quality information of each of the plurality of mobile devices when the quality of the service is less than or equal to a preset threshold as a result of the monitoring; Selecting at least one mobile device for migrating the component from among the plurality of mobile devices using the mobile device quality information; And migrating the component to the selected mobile device.

본 발명에 따르면, 서버에 설치되어 있는 서비스 제공을 위한 컴포넌트를 특정 모바일 디바이스로 이주 시킴으로써 컴포넌트를 이주 받은 모바일 디바이스는 자체적으로 컴포넌트를 실행시켜 서비스 정보를 이용함으로써 모바일 디바이스에서 실행되고 있는 어플리케이션의 성능이 향상되는 장점이 있다.According to the present invention, a mobile device having migrated a component by migrating a component for providing a service installed in a server to a specific mobile device has its own performance by using the service information by executing the component itself. There is an advantage to be improved.

또한, 서버는 컴포넌트를 이주 받은 모바일 디바이스로부터 서비스 제공 요청을 받지 않으므로, 서버의 전체적인 성능이 향상되어, 다른 모바일 디바이스에 향상된 품질의 서비스 제공이 가능하게 된다.In addition, since the server does not receive a service provision request from the mobile device migrated to the component, the overall performance of the server is improved, it is possible to provide improved quality of service to other mobile devices.

도 1은 본 발명의 일 실시예에 따른 동적 이주 시스템의 개략적인 설명을 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 동적 이주 장치의 상세구성을 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 컴포넌트의 구조의 일례를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 동적 이주 방법에 대한 전체적인 흐름을 도시한 순서도이다.
도 5는 본 발명의 일 실시예에 따른 모바일 디바이스가 안드로이드를 운영체제로 사용하는 경우의 동적 이주를 위한 아케텍쳐의 일례를 도시한 도면이다.
1 is a view for schematically explaining a dynamic migration system according to an embodiment of the present invention.
2 is a diagram showing a detailed configuration of a dynamic migration device according to an embodiment of the present invention.
3 is a diagram illustrating an example of a structure of a component according to an embodiment of the present invention.
4 is a flowchart illustrating the overall flow of the dynamic migration method according to an embodiment of the present invention.
FIG. 5 is a diagram illustrating an example of an architecture for dynamic migration when a mobile device uses Android as an operating system according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.

이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 동적 이주 시스템의 개략적인 설명을 위한 도면이다.1 is a view for schematically explaining a dynamic migration system according to an embodiment of the present invention.

동적 이주 시스템은 서버(100), 모바일 디바이스(102) 및 동적 이주 장치(104)를 포함할 수 있다.The dynamic migration system can include a server 100, a mobile device 102, and a dynamic migration device 104.

서비스 기반의 어플리케이션은 사용자가 필요로 하는 기능의 일부가 서버(100)에 설치되고, 일부는 모바일 디바이스(102)에 설치된다. 즉, 전체 어플리케이션 기능 중 비교적 적은 자원을 필요로 하는 간단한 기능은 모바일 디바이스(102)에서 실행되며, 복잡한 계산 및 데이터 조작을 요구하는 기능은 서버(102) 측에서 실행이 된다.In the service-based application, some of the functions required by the user are installed in the server 100, and some are installed in the mobile device 102. That is, a simple function that requires relatively few resources among all the application functions is executed in the mobile device 102, and a function requiring complicated calculation and data manipulation is executed in the server 102 side.

따라서, 서버(100)에서 제공되는 서비스를 네트워크를 통해 모바일 디바이스(102)에서 수신함으로써 복잡한 어플리케이션의 수행이 가능하다.Therefore, by receiving the service provided by the server 100 in the mobile device 102 via the network, it is possible to perform a complex application.

하지만, 서버(100)로 서비스를 요청하는 모바일 디바이스(102)의 수가 증가하거나 서버(100)의 네트워크 대역폭이 감소하는 등의 이유로 서버(100)의 성능이 감소되는 경우, 서버(100)로부터 공급되는 서비스를 이용하여 어플리케이션을 실행하는 모바일 디바이스(102)에서의 정상적인 어플리케이션 수행이 어려울 수 있다.However, when the performance of the server 100 decreases due to an increase in the number of mobile devices 102 requesting service to the server 100 or a decrease in the network bandwidth of the server 100, the server 100 supplies the server 100. It may be difficult to perform normal application in the mobile device 102 that executes the application using the service.

따라서, 본 발명에서의 동적 이주 장치(104)는 서버(100)에서 복수의 모바일 디바이스(102)로 제공되고 있는 서비스의 품질을 모니터링 하고, 모니터링 결과 서비스의 품질이 기 설정된 임계 값 이하인 경우 복수의 모바일 디바이스 중 적어도 하나 이상의 모바일 디바이스를 선정한다. 이어서, 서비스 제공을 위해 서버(100)에 설치된 컴포넌트를 선정된 모바일 디바이스로 이주 시킨다.Therefore, the dynamic migration apparatus 104 according to the present invention monitors the quality of the service provided from the server 100 to the plurality of mobile devices 102, and when the quality of the service is less than or equal to a preset threshold value, the plurality of mobile devices 102. Select at least one or more mobile devices of the mobile devices. Subsequently, the components installed in the server 100 to migrate the service are migrated to the selected mobile device.

따라서, 컴포넌트를 이주 받은 모바일 디바이스(102)는 자체적으로 컴포넌트를 실행시켜 서비스 정보를 이용함으로써 모바일 디바이스(102)에서 실행되고 있는 어플리케이션의 성능이 향상된다. Accordingly, the mobile device 102 having migrated the component executes the component by itself and uses the service information, thereby improving the performance of the application running on the mobile device 102.

또한, 서버(100)는 컴포넌트를 이주 받은 모바일 디바이스(102)로부터 서비스 제공 요청을 받지 않으므로, 전체적인 성능이 향상되어, 다른 모바일 디바이스(102)에 향상된 품질의 서비스 제공이 가능하게 된다.In addition, since the server 100 does not receive a service provision request from the mobile device 102 that has migrated the component, the overall performance is improved, and thus the service quality of the server 100 may be provided to other mobile devices 102.

하기에서는 도 2를 참조하여, 본 발명에 따른 동적 이주 장치(104)의 구성을 상세하게 살펴본다.Hereinafter, with reference to FIG. 2, the configuration of the dynamic migration device 104 according to the present invention will be described in detail.

도 2는 본 발명의 일 실시예에 따른 동적 이주 장치의 상세구성을 도시한 도면이다.2 is a diagram showing a detailed configuration of a dynamic migration device according to an embodiment of the present invention.

도 2에 도시된 바와 같이 동적 이주 장치(104)는 제어부(201), 모니터링부(203), 품질 정보 수신부(205), 선정부(207), 이주부(209) 및 저장부(211)를 포함할 수 있다.As shown in FIG. 2, the dynamic migration device 104 includes a control unit 201, a monitoring unit 203, a quality information receiving unit 205, a selecting unit 207, a migration unit 209, and a storage unit 211. It may include.

제어부(201)는 동적 이주 장치(104)의 구성 요소들의 동작을 전반적으로 제어한다.The control unit 201 generally controls the operation of the components of the dynamic migration device 104.

모니터링부(203)는 서버(100)에서 복수의 모바일 디바이스(102)로 제공되는 서비스의 품질을 기 설정된 시간 마다 또는 실시간으로 모니터링 한다.The monitoring unit 203 monitors the quality of the service provided from the server 100 to the plurality of mobile devices 102 every predetermined time or in real time.

보다 상세하게, 모니터링부(203)은 서버(100)에 연결 가능한 모바일 디바이스(102)의 수 및 서버(100)에 서비스를 요청하고 있는 모바일 디바이스(102)의 수 중 적어도 하나를 이용하여 서비스의 품질을 모니터링 한다.In more detail, the monitoring unit 203 uses the at least one of the number of mobile devices 102 connectable to the server 100 and the number of mobile devices 102 requesting service from the server 100 to determine the service. Monitor quality.

본 발명의 일 실시예에 따르면 동적 이주 장치(104)는 서버(100)에 설치된 장치이거나 또는 서버(100) 및 모바일 디바이스(102)와 네트워크로 연결된 별도의 장치일 수 있다.According to an embodiment of the present invention, the dynamic migration device 104 may be a device installed in the server 100 or a separate device networked with the server 100 and the mobile device 102.

동적 이주 장치(104)가 별도의 장치인 경우에는 모니터링부(203)는 서버(100)에 설치되며, 서버(100)에서 모니터링된 서비스의 품질 정보를 수신할 수 있을 것이다.In the case where the dynamic migration device 104 is a separate device, the monitoring unit 203 may be installed in the server 100 and may receive the quality information of the service monitored by the server 100.

모니터링부(203)는 서비스 품질이 기 설정된 특정 임계 값 이하로 낮아지면 QoS(Quality of Sevice)의 문제가 발생하여 서비스 기반 어플리케이션의 사용에 문제가 있음을 자동으로 판단한다.The monitoring unit 203 automatically determines that there is a problem in using a service-based application when a quality of service (QoS) problem occurs when the quality of service falls below a predetermined threshold.

본 발명의 일 실시예에 따르면 특정 임계값은 기본으로 설정된 임계치 또는 사용자 설정 임계치 일 수 있다.According to an embodiment of the present invention, the specific threshold may be a threshold set by default or a user set threshold.

기본으로 설정된 임계치는 컴포넌트의 동적 이주를 위해 동적 이주 장치(104)에 저장되어 있는 임계치 값으로, 사용자가 특별한 설정을 하지 않아도 QoS의 수준을 판단할 수 있다.The threshold set as a default is a threshold value stored in the dynamic migration apparatus 104 for dynamic migration of components, and the user can determine the level of QoS even without special setting.

기본으로 설정된 임계치는 모든 어플리케이션에 동일하게 활용될 수는 없기 때문에 이를 설정할 수 있는 옵션을 제공할 수 있다. 즉, 이런 옵션을 통해서 사용자는 사용자가 원하는 서비스 품질의 수준을 결정할 수 있다. 이러한 사용자 설정 임계치는 서비스 기반 모바일 어플리케이션에서 서비스를 사용할 때 검증한 서비스 수준 협약(Service Level Agreement)를 기반으로 정의될 수 있다.Thresholds set by default cannot be used equally for all applications, so they can give you the option to set them. In other words, this option allows the user to determine the level of service quality desired by the user. The user setting threshold may be defined based on a service level agreement verified when using a service in a service-based mobile application.

품질 정보 수신부(205)는 서비스의 품질이 기 설정된 임계 값 이하 인 경우 복수의 모바일 디바이스(102) 각각의 모바일 디바이스 품질 정보를 복수의 모바일 디바이스(102)로부터 수신한다.The quality information receiver 205 receives the mobile device quality information of each of the plurality of mobile devices 102 from the plurality of mobile devices 102 when the quality of service is less than or equal to a preset threshold.

이때, 모바일 디바이스 품질 정보는 모바일 디바이스(102) 각각에 설치된 품질 측정부(미도시)에서 측정될 수 있다.In this case, the mobile device quality information may be measured by a quality measuring unit (not shown) installed in each of the mobile devices 102.

여기서, 모바일 디바이스 품질 정보는 모바일 디바이스(102)의 CPU 사용량, 메모리 사용량, 네트워크 대역폭, 베터리 량 및 모바일 디바이스(102)에서 실행되고 있는 어플리케이션의 수 중 적어도 하나를 포함할 수 있다.Here, the mobile device quality information may include at least one of CPU usage, memory usage, network bandwidth, amount of batteries, and the number of applications running on the mobile device 102 of the mobile device 102.

선정부(211)는 모바일 디바이스 품질 정보를 이용하여 복수의 모바일 디바이스(102) 중 컴포넌트를 이주하기 위한 적어도 하나의 모바일 디바이스를 선정한다.The selector 211 selects at least one mobile device for migrating components from the plurality of mobile devices 102 using the mobile device quality information.

보다 상세하게 선정부(211)는 복수의 모바일 디바이스(102) 각각의 모바일 디바이스 품질 정보를 이용하여 복수의 모바일 디바이스(102) 중 하나 이상의 후보 모바일 디바이스를 우선하여 선정한다. 후보를 선정하는 이유는 모바일 디바이스 품질 정보만을 이용하여서는 컴포넌트를 이주할 대상 모바일 디바이스를 선정할 수 없기 때문이다.In more detail, the selector 211 preferentially selects one or more candidate mobile devices of the plurality of mobile devices 102 using the mobile device quality information of each of the plurality of mobile devices 102. The reason for selecting the candidate is that the mobile device to which the component is to be migrated cannot be selected using only the mobile device quality information.

이어서, 선정부(211)는 후보 모바일 디바이스와 서버(100)간의 네트워크 상태를 이용하여 후보 모바일 디바이스 중 컴포넌트를 이주하기 위한 적어도 하나의 모바일 디바이스를 선정한다.Subsequently, the selector 211 selects at least one mobile device for migrating components among the candidate mobile devices by using a network state between the candidate mobile device and the server 100.

여기서, 네트워크 상태란 서버(100)와 후보 모바일 디바이스 간의 거리, 서버(100)와 후보 모바일 디바이스간에 송수신되는 네트워크 트래픽 양 및 서버(100)와 후보 모바일 디바이스간에 송수신되는 네트워크 신호 세기 중 적어도 하나를 포함할 수 있다.The network state may include at least one of a distance between the server 100 and the candidate mobile device, an amount of network traffic transmitted and received between the server 100 and the candidate mobile device, and a network signal strength transmitted and received between the server 100 and the candidate mobile device. can do.

서버(100)와 후보 모바일 디바이스 간의 거리 중 최단 거리를 찾는 방법은 Directed Acyclic Graph(DAG) 표기법이 사용될 수 있으나 이는 본 발명의 주요한 특징이 아니므로 자세한 설명은 생략하도록 한다.Directed Acyclic Graph (DAG) notation may be used as a method for finding the shortest distance among the distances between the server 100 and the candidate mobile device, and thus, a detailed description thereof will be omitted.

이주부(209)는 선정부(207)에서 선정된 모바일 디바이스로 컴포넌트를 이주 시킨다.The migration unit 209 migrates the components to the mobile device selected by the selection unit 207.

저장부(211)는 모바일 디바이스(102)에 서비스 제공을 위한 컴포넌트를 저장한다.The storage unit 211 stores a component for providing a service to the mobile device 102.

도 3은 본 발명의 일 실시예에 따른 컴포넌트의 구조의 일례를 도시한 도면이다.3 is a diagram illustrating an example of a structure of a component according to an embodiment of the present invention.

도 3에 도시된 바와 같이 컴포넌트는 클래스 로더, 클래스를 구현하고 있는 클래스 바디 및 클래스의 인터페이스를 포함할 수 있다.As shown in FIG. 3, a component may include a class loader, a class body implementing a class, and an interface of a class.

저장부(211)는 모바일 디바이스(102)에서 이용되는 운영체제의 종류에 대응하여 상기 운영체제와 호환 될 수 있는 형태의 컴포넌트를 저장한다. 즉, 모바일 디바이스에서 이용될 수 있는 운영체제는 윈도우, 안드로이드 및 ISO 등 다양하게 존재하므로 저장부(211)는 컴포넌트가 모바일 디바이스에 이주되어서도 실행될 수 있도록 운영체제의 종류별로 컴포넌트를 패키지화 하여 저장할 수 있다.The storage unit 211 stores components of a form compatible with the operating system corresponding to the type of operating system used in the mobile device 102. That is, since the operating system that can be used in the mobile device exists in various ways, such as Windows, Android, and ISO, the storage unit 211 may package and store the component for each type of operating system so that the component can be executed even when the component is migrated to the mobile device.

따라서, 이주부(209)는 선정된 모바일 디바이스의 운영체제를 확인하고 운영체제에 대응되는 컴포넌트를 저장부(211)로부터 선택하여 선정된 모바일 디바이스로 전송할 수 있다.Therefore, the migration unit 209 may identify the operating system of the selected mobile device and select a component corresponding to the operating system from the storage unit 211 and transmit the selected mobile device to the selected mobile device.

도 4는 본 발명의 일 실시예에 따른 동적 이주 방법에 대한 전체적인 흐름을 도시한 순서도이다.4 is a flowchart illustrating the overall flow of the dynamic migration method according to an embodiment of the present invention.

이하, 도 4를 참조하여 각 단계에서 수행되는 과정을 살펴보도록 한다.Hereinafter, a process performed at each step will be described with reference to FIG. 4.

도 4를 참조하면, 단계(S400)에서 동적 이주 장치(104)는 서버(100)로 서비스 품질을 요청하고, 단계(S405)에서 서버(100)는 서비스 품질 정보를 동적 이주 장치(104)로 전송한다.Referring to FIG. 4, in step S400, the dynamic migration apparatus 104 requests the quality of service to the server 100, and in step S405, the server 100 transfers the quality of service information to the dynamic migration apparatus 104. send.

만약 동적 이주 장치(104)가 서버(100)에 설치된 경우라면 단계(S400) 내지 단계(S405) 단계 대신 서버(100)의 품질 정보를 모니터링 하는 단계를 수행 할 수 있다.If the dynamic migration apparatus 104 is installed in the server 100, the step of monitoring the quality information of the server 100 may be performed instead of the steps S400 to S405.

단계(S410)에서는 서비스 품질이 기 설정된 임계 값 이하인지 판단하고 서비스 품질이 임계 값 이하인 경우 단계(S415)에서 복수의 모바일 디바이스(102)로 모바일 디바이스 품질 정보를 송신한다.In operation S410, it is determined whether the quality of service is less than or equal to a preset threshold value, and when the quality of service is less than or equal to the threshold value, the mobile device quality information is transmitted to the plurality of mobile devices 102 in operation S415.

이어서 단계(S420)에서 각 모바일 디바이스(102)들은 모바일 디바이스 품질 정보를 동적 이주 장치(104)로 전송한다.In operation S420, each of the mobile devices 102 transmits the mobile device quality information to the dynamic migration device 104.

모바딜 디바이스(102)들의 모바일 디바이스 품질 정보를 수신한 동적 이주 장치는 단계(S425)에서 모바일 디바이스 품질 정보를 이용하여 이주 대상 모바일 디바이스를 선정한다The dynamic migration apparatus that has received the mobile device quality information of the mobile devices 102 selects the migration target mobile device using the mobile device quality information in step S425.

단계(S430)에서는 이주할 컴포넌트를 선정된 모바일 디바이스로 전송한다.In step S430, the component to be migrated is transmitted to the selected mobile device.

지금까지 본 발명에 따른 컴포넌트의 동적 이주 방법의 실시예들에 대하여 설명하였고, 앞서 도 2에서 설명한 동적 이주 장치(104)에 관한 구성이 본 실시예에도 그대로 적용이 가능하다. 이에 보다 상세한 설명은 생략하기로 한다.Embodiments of the dynamic migration method of the component according to the present invention have been described so far, and the configuration of the dynamic migration device 104 described above with reference to FIG. 2 is also applicable to the present embodiment. A detailed description thereof will be omitted.

이하에서는 본 발명의 보다 자세한 설명을 위해 모바일 디바이스가 안드로이드를 운영체제로 사용하는 경우를 일례로 하여 본 발명을 설명하도록 한다.Hereinafter, the present invention will be described with an example in which a mobile device uses Android as an operating system for a more detailed description of the present invention.

도 5는 본 발명의 일 실시예에 따른 모바일 디바이스가 안드로이드를 운영체제로 사용하는 경우의 동적 이주를 위한 아케텍쳐의 일례를 도시한 도면이다.FIG. 5 is a diagram illustrating an example of an architecture for dynamic migration when a mobile device uses Android as an operating system according to an embodiment of the present invention.

도 5를 참조하면, 각 모바일 디바이스(510)에 설치된 모바일 에이전트는 각 모바일 디바이스의 모바일 디바이스 품질 정보를 측정 하며, 서버에 설치된 모바일 에이전트는 서버에서 제공하는 서비스의 품질 정보를 측정하며 각 모바일 에이전트의 관리는 동적 배치 매니저(511)가 관리한다.Referring to FIG. 5, a mobile agent installed in each mobile device 510 measures mobile device quality information of each mobile device, and a mobile agent installed in a server measures quality information of a service provided by a server. Management is managed by the dynamic batch manager 511.

동적 배치 매니저(511)는 도 2의 품질 정보 수신부(205), 선정부(207), 이주부(209)의 구성과 대응되며, 동적 배치 레파지토리(513)은 저장부(211)의 구성과 대응된다.The dynamic batch manager 511 corresponds to the configuration of the quality information receiver 205, the selector 207, and the migration unit 209 of FIG. 2, and the dynamic batch repository 513 corresponds to the configuration of the storage 211. do.

동적 배치 매니저(511)는 서비스 컴포넌트가 서버(503)에 설치될 때 이주 가능한 서비스 컴포넌트를 동적 배치 레파지토리(513)에 저장하며 관리 대상으로 등록한다.The dynamic deployment manager 511 stores the migrateable service components in the dynamic deployment repository 513 when the service components are installed in the server 503 and registers them as managed objects.

동적 배치 매니저(511)는 컴포넌트를 이주할 모바일 디바이스(501)가 선정된 경우 서비스를 구현하고 있는 apk(application package file) 파일을 동적 배치 레파지토리(513)로부터 가져와서 선정된 모바일 디바이스(501)로 전송한다. 이때 옮기려고 하는 서비스와 apk 파일은 형상관리(configuration) 파일에 보관할 수 있다.When the mobile device 501 is selected to migrate the component, the dynamic deployment manager 511 takes an apk (application package file) file implementing the service from the dynamic deployment repository 513 to the selected mobile device 501. send. At this time, the service and apk file to be moved can be kept in the configuration file.

모바일 디바이스(501)에 설치된 모바일 에이전트는 apk 파일에 있는 안드로이드 운영체제를 위해 특화된 dex 파일 및 java 파일들을 실행하기 위해 안드로이드에서 제공하는 PackageManager()를 이용하여 apk파일을 모바일 디바이스(501)에 자동으로 설치한다.The mobile agent installed on the mobile device 501 automatically installs the apk file on the mobile device 501 using the PackageManager () provided by Android to execute the dex file and java files specialized for the Android operating system in the apk file. do.

그런 다음 모바일 디바이스(501)에 설치된 모바일 에이전트는 받은 apk 파일의 클래스를 로딩한다. 이때 활용되는 메소드는 dynamicLoader()로써 이는 안드로이드 운영체제에서 제공하는 클래스 로딩 장치이다. 그 후, 모바일 에이전트는 로딩된 클래스를 활용하여서 모바일 디바이스(501)에서 인스턴스를 생성한다. 여기서 생성된 인스턴스에서 제공하는 메소드와 기존 서비스를 사용하고 있는 어플리케이션의 인터페이스와 일치시키기 위해 getDeclaredMethods()와 getParameterTypes() 메소드를 호출하여 서로 바인딩 시킨다.Then, the mobile agent installed in the mobile device 501 loads the class of the received apk file. The method used is dynamicLoader (), which is a class loading device provided by the Android operating system. The mobile agent then creates an instance at mobile device 501 utilizing the loaded class. In order to match the method provided by the instance created here with the interface of the application using the existing service, getDeclaredMethods () and getParameterTypes () methods are called and bound to each other.

서비스 컴포넌트가 이주, 설치 및 인스턴스화 되고 난 후 라도, 기존에 서비스를 사용하고 있는 모바일 디바이스에 설치된 어플리케이션은 동적 이주에 관련된 상황을 인지하지 못하므로 이를 위한 Rerouting을 수행한다.Even after the service component is migrated, installed, and instantiated, the application installed on the mobile device using the service does not recognize the situation related to the dynamic migration and performs rerouting for this.

일반적으로 이러한 Rerouting을 수행함에 있어서, 손쉬운 방법은 서비스 기반 어플리케이션의 내부값을 변경하는 것이나, 이를 수행하기 위해서는 서비스 기반 모바일 어플리케이션과 모바일 에이전트의 직접적인 연관관계가 요구된다. 이 뜻은 모바일 에이전트가 범용적이지 못하고 모바일 어플리케이션에 특화됨을 의미한다.In general, in performing such a rerouting, an easy method is to change an internal value of a service-based application, but in order to perform this, a direct relationship between a service-based mobile application and a mobile agent is required. This means that mobile agents are not universal and are specialized for mobile applications.

따라서 본 발명에서는 범용 Rerouting을 위해 서비스 이주, 설치 및 인스턴스화가 완료되면 관련 정보를 모바일 디바이스의 운영체제에 알리고, 운영체제는 상기 정보를 상기 서비스를 이용하는 모바일 디바이스에 설치된 어플리케이션 중 관련 정보를 받을 수 있는 어플리케이션들에게 전달한다.Therefore, in the present invention, when service migration, installation, and instantiation is completed for general rerouting, related information is notified to the operating system of the mobile device, and the operating system can receive the relevant information among the applications installed in the mobile device using the service. To pass.

아래의 표 1은 이에 해당하는 소스코드의 일례를 나타낸 것이다.Table 1 below shows an example of the corresponding source code.

1. // 모바일 에이전트
1. if (serviceName.equals(%servicename%) ) {
2. Intent intent = new Intent(SERVICE_DEPLOY_CHANGE);
3. context.sendBroadcast(intent);
4. }// end of if
5. else if (serviceName.equals(?) {
6. context.sendBroadcast(intent);
7. }// end of else if.
8. // 브로드 캐스트 리시버
9. public class MyBroadcastReceiver extends BroadcastReceiver {
10. static final String SERVICE_DEPLOY_STATE_CHANGE
11. = "?quot;;
12. @Override
13. public void onReceive(Context context, Intent intent) {
14. if(intent.getAction().equals(SERVICE_DEPLOY_CHANGE)){
15. %servicename%.setflag();
16. else if(intent.getAction().equals(?) {
17. %servicename%.setflag();
18. }//end of else if.
}//end of onReceive.
1. // mobile agent
1. if (serviceName.equals (% servicename%)) {
2. Intent intent = new Intent (SERVICE_DEPLOY_CHANGE);
3. context.sendBroadcast (intent);
4.} // end of if
5. else if (serviceName.equals (?) {
6. context.sendBroadcast (intent);
7.} // end of else if.
8. // broadcast receiver
9. public class MyBroadcastReceiver extends BroadcastReceiver {
10. static final String SERVICE_DEPLOY_STATE_CHANGE
11. = "? Quot ;;
12. @Override
Public void onReceive (Context context, Intent intent) {
14. if (intent.getAction (). Equals (SERVICE_DEPLOY_CHANGE)) {
15.% servicename% .setflag ();
16. else if (intent.getAction (). Equals (?) {
17.% servicename% .setflag ();
18.} // end of else if.
} // end of onReceive.

상기에서 살펴본 바와 같이 본 발명은, 서버에 설치되어 있는 서비스 제공을 위한 컴포넌트를 특정 모바일 디바이스로 이주 시킴으로써 컴포넌트를 이주 받은 모바일 디바이스는 자체적으로 컴포넌트를 실행시켜 서비스 정보를 이용함으로써 모바일 디바이스에서 실행되고 있는 어플리케이션의 성능이 향상되는 장점이 있다.As described above, in the present invention, a mobile device having migrated a component by migrating a component for providing a service installed in a server to a specific mobile device is running on a mobile device by using a service information by executing the component by itself. The performance of the application is improved.

또한, 서버는 컴포넌트를 이주 받은 모바일 디바이스로부터 서비스 제공 요청을 받지 않으므로, 서버의 전체적인 성능이 향상되어, 다른 모바일 디바이스에 향상된 품질의 서비스 제공이 가능하게 된다.In addition, since the server does not receive a service provision request from the mobile device migrated to the component, the overall performance of the server is improved, it is possible to provide improved quality of service to other mobile devices.

또한, 본 발명의 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 일 실시예들의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, embodiments of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Examples of program instructions, such as magneto-optical and ROM, RAM, flash memory and the like, can be executed by a computer using an interpreter or the like, as well as machine code, Includes a high-level language code. The hardware devices described above may be configured to operate as at least one software module to perform operations of one embodiment of the present invention, and vice versa.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.As described above, the present invention has been described by specific embodiments such as specific components and the like. For those skilled in the art, various modifications and variations are possible from these descriptions. Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .

100: 서버 102: 모바일 디바이스
104: 동적 이주 장치
201: 제어부 203: 모니터링부
205: 품질 정보 수신부 207: 선정부
209: 이주부 211: 저장부
501: 모바일 디바이스 503: 서버
511: 동적 배치 매니저 513: 동적 배치 레파지토리
100: server 102: mobile device
104: dynamic migration device
201: control unit 203: monitoring unit
205: quality information receiving unit 207: selecting unit
209: migration unit 211: storage unit
501: Mobile Device 503: Server
511: Dynamic deployment manager 513: Dynamic deployment repository

Claims (13)

복수의 모바일 디바이스에 서비스를 제공하기 위해 서버에 설치된 컴포넌트의 동적 이주 장치에 있어서,
상기 서버에 연결 가능한 모바일 디바이스의 수 및 상기 서버에 서비스를 요청하고 있는 모바일 디바이스의 수 중 적어도 하나를 이용하여 상기 서버에서 상기 복수의 모바일 디바이스로 제공되는 상기 서비스의 품질을 모니터링 하는 모니터링부;
상기 모니터링 결과 상기 서비스의 품질이 기 설정된 임계 값 이하 인 경우 상기 복수의 모바일 디바이스 각각의 모바일 디바이스 품질 정보를 수신하는 품질 정보 수신부;
상기 모바일 디바이스 품질 정보를 이용하여 상기 복수의 모바일 디바이스 중 상기 컴포넌트를 이주 하기 위한 적어도 하나의 모바일 디바이스를 선정하는 선정부; 및
상기 선정된 모바일 디바이스로 상기 컴포넌트를 이주 시키는 이주부를 포함하는 것을 특징으로 하는 컴포넌트의 동적 이주 장치.
In the dynamic migration device of the components installed in the server to provide services to a plurality of mobile devices,
A monitoring unit configured to monitor the quality of the service provided from the server to the plurality of mobile devices by using at least one of the number of mobile devices connectable to the server and the number of mobile devices requesting service from the server;
A quality information receiver configured to receive mobile device quality information of each of the plurality of mobile devices when the quality of the service is less than or equal to a preset threshold as a result of the monitoring;
A selecting unit selecting at least one mobile device for migrating the component among the plurality of mobile devices using the mobile device quality information; And
And a migration unit for migrating the component to the selected mobile device.
삭제delete 제1항에 있어서,
상기 모바일 디바이스의 품질 정보는 상기 모바일 디바이스의 CPU 사용량, 메모리 사용량, 네트워크 대역폭, 배터리 량 및 상기 모바일 디바이스에서 실행되고 있는 어플리케이션의 수 중 적어도 하나를 포함하는 것을 특징으로 하는 컴포넌트의 동적 이주 장치.
The method of claim 1,
And the quality information of the mobile device includes at least one of CPU usage, memory usage, network bandwidth, battery amount, and the number of applications running on the mobile device.
청구항 4은(는) 설정등록료 납부시 포기되었습니다.Claim 4 has been abandoned due to the setting registration fee. 제3항에 있어서,
상기 선정부는 상기 복수의 모바일 디바이스 각각의 모바일 디바이스 품질 정보를 이용하여 상기 복수의 모바일 디바이스 중 하나 이상의 후보 모바일 디바이스를 선정하고,
상기 후보 모바일 디바이스와 상기 서버간의 네트워크 상태를 이용하여 상기 후보 모바일 디바이스 중 상기 컴포넌트를 이주 하기 위한 적어도 하나의 모바일 디바이스를 선정하는 것을 특징으로 하는 컴포넌트의 동적 이주 장치.
The method of claim 3,
The selecting unit selects one or more candidate mobile devices from among the plurality of mobile devices by using mobile device quality information of each of the plurality of mobile devices,
And at least one mobile device for migrating the component among the candidate mobile devices using the network state between the candidate mobile device and the server.
청구항 5은(는) 설정등록료 납부시 포기되었습니다.Claim 5 has been abandoned due to the setting registration fee. 제4항에 있어서,
상기 네트워크 상태는 상기 서버와 상기 후보 모바일 디바이스간의 거리, 상기 서버와 상기 후보 모바일 디바이스간에 송수신되는 네트워크 트래픽 량, 상기 서버와 상기 후보 모바일 디바이스간에 송수신되는 네트워크 신호 세기 중 적어도 하나를 포함하는 것을 특징으로 하는 컴포넌트의 동적 이주 장치.
5. The method of claim 4,
The network state includes at least one of a distance between the server and the candidate mobile device, an amount of network traffic transmitted and received between the server and the candidate mobile device, and a network signal strength transmitted and received between the server and the candidate mobile device. Dynamic migration device for the component that does it.
제1항에 있어서,
상기 모바일 디바이스에서 이용되는 운영체제의 종류에 대응하여 상기 운영체제와 호환 될 수 있는 형태의 이주 가능한 컴포넌트를 저장하는 저장부를 더 포함하는 것을 특징으로 하는 컴포넌트의 동적 이주 장치.
The method of claim 1,
And a storage unit configured to store a migrateable component in a form compatible with the operating system in response to the type of operating system used in the mobile device.
제6항에 있어서,
상기 컴포넌트 이주부는 상기 선정된 모바일 디바이스의 운영체제를 확인하고, 상기 운영체제에 대응되는 컴포넌트를 선택하여 상기 선정된 모바일 디바이스로 전송하는 것을 특징으로 하는 컴포넌트의 동적 이주 장치.
The method according to claim 6,
The component migration unit identifies an operating system of the selected mobile device, selects a component corresponding to the operating system and transmits the selected component to the mobile device.
청구항 8은(는) 설정등록료 납부시 포기되었습니다.Claim 8 was abandoned when the registration fee was paid. 제7항에 있어서,
상기 선정된 모바일 디바이스는 상기 컴포넌트 이주부로부터 전송된 컴포넌트를 자동으로 설치하며, 상기 설치 완료 정보를 상기 선정된 모바일 디바이스의 운영체제에 전송하고, 상기 운영체제는 상기 설치 완료 정보를 상기 서비스를 이용하는 상기 선정된 모바일 디바이스에 설치된 어플리케이션으로 전송하는 것을 특징으로 하는 컴포넌트의 동적 이주 장치.
8. The method of claim 7,
The selected mobile device automatically installs a component transmitted from the component migration unit, and transmits the installation completion information to an operating system of the selected mobile device, and the operating system selects the installation completion information using the service. Dynamic migration apparatus of the component, characterized in that for transmitting to the application installed on the mobile device.
복수의 모바일 디바이스에 서비스를 제공하기 위해 서버에 설치된 컴포넌트의 동적 이주 방법에 있어서,
상기 서버에 연결 가능한 모바일 디바이스의 수 및 상기 서버에 서비스를 요청하고 있는 모바일 디바이스의 수 중 적어도 하나를 이용하여 상기 서버에서 상기 복수의 모바일 디바이스로 제공되는 상기 서비스의 품질을 모니터링 하는 단계;
상기 모니터링 결과 상기 서비스의 품질이 기 설정된 임계 값 이하 인 경우 상기 복수의 모바일 디바이스 각각의 모바일 디바이스 품질 정보를 수신하는 단계
상기 모바일 디바이스 품질 정보를 이용하여 상기 복수의 모바일 디바이스 중 상기 컴포넌트를 이주 하기 위한 적어도 하나의 모바일 디바이스를 선정하는 단계; 및
상기 선정된 모바일 디바이스로 상기 컴포넌트를 이주 시키는 단계를 포함하는 것을 특징으로 하는 컴포넌트의 동적 이주 방법.
In the dynamic migration method of the components installed in the server to provide services to a plurality of mobile devices,
Monitoring the quality of the service provided by the server to the plurality of mobile devices using at least one of the number of mobile devices connectable to the server and the number of mobile devices requesting service from the server;
Receiving mobile device quality information of each of the plurality of mobile devices when the quality of the service is less than or equal to a preset threshold as a result of the monitoring;
Selecting at least one mobile device for migrating the component from among the plurality of mobile devices using the mobile device quality information; And
And migrating the component to the selected mobile device.
삭제delete 제9항에 있어서,
상기 모바일 디바이스의 품질 정보는 상기 모바일 디바이스의 CPU 사용량, 메모리 사용량, 네트워크 대역폭, 배터리 량 및 상기 모바일 디바이스에서 실행되고 있는 어플리케이션의 수 중 적어도 하나를 포함하는 것을 특징으로 하는 컴포넌트의 동적 이주 방법.
10. The method of claim 9,
The quality information of the mobile device may include at least one of CPU usage, memory usage, network bandwidth, battery amount, and the number of applications running on the mobile device.
청구항 12은(는) 설정등록료 납부시 포기되었습니다.Claim 12 is abandoned in setting registration fee. 제11항에 있어서,
상기 선정하는 단계는 상기 복수의 모바일 디바이스 각각의 모바일 디바이스 품질 정보를 이용하여 상기 복수의 모바일 디바이스 중 하나 이상의 후보 모바일 디바이스를 선정하고,
상기 후보 모바일 디바이스와 상기 서버간의 네트워크 상태를 이용하여 상기 후보 모바일 디바이스 중 상기 컴포넌트를 이주 하기 위한 적어도 하나의 모바일 디바이스를 선정하되,
상기 네트워크 상태는 상기 서버와 상기 후보 모바일 디바이스간의 거리, 상기 서버와 상기 후보 모바일 디바이스간에 송수신되는 네트워크 트래픽 량, 상기 서버와 상기 후보 모바일 디바이스간에 송수신되는 네트워크 신호 세기 중 적어도 하나를 포함하는 것을 특징으로 하는 컴포넌트의 동적 이주 방법.
12. The method of claim 11,
The selecting may include selecting at least one candidate mobile device from among the plurality of mobile devices by using mobile device quality information of each of the plurality of mobile devices,
Selecting at least one mobile device for migrating the component among the candidate mobile devices using a network state between the candidate mobile device and the server,
The network state includes at least one of a distance between the server and the candidate mobile device, an amount of network traffic transmitted and received between the server and the candidate mobile device, and a network signal strength transmitted and received between the server and the candidate mobile device. How to migrate the components that you do.
제9항에 있어서,
상기 모바일 디바이스에서 이용되는 운영체제의 종류에 대응하여 상기 운영체제와 호환 될 수 있는 형태의 이주 가능한 컴포넌트를 저장하는 단계를 더 포함하되,
상기 컴포넌트를 이주 시키는 단계는 상기 선정된 모바일 디바이스의 운영체제를 확인하고, 상기 운영체제에 대응되는 컴포넌트를 선택하여 상기 선정된 모바일 디바이스로 전송하는 것을 특징으로 하는 컴포넌트의 동적 이주 방법.
10. The method of claim 9,
Storing the migrateable component in a form that is compatible with the operating system in response to the type of operating system used in the mobile device;
The migrating the component may identify an operating system of the selected mobile device, select a component corresponding to the operating system, and transmit the selected component to the selected mobile device.
KR1020110135203A 2011-12-15 2011-12-15 Device and method to dynamically migrate service components KR101378350B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110135203A KR101378350B1 (en) 2011-12-15 2011-12-15 Device and method to dynamically migrate service components

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110135203A KR101378350B1 (en) 2011-12-15 2011-12-15 Device and method to dynamically migrate service components

Publications (2)

Publication Number Publication Date
KR20130070664A KR20130070664A (en) 2013-06-28
KR101378350B1 true KR101378350B1 (en) 2014-03-28

Family

ID=48865333

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110135203A KR101378350B1 (en) 2011-12-15 2011-12-15 Device and method to dynamically migrate service components

Country Status (1)

Country Link
KR (1) KR101378350B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102602593B1 (en) * 2023-02-15 2023-11-15 주식회사 마키나락스 Method for providing development environment based on remote execution

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003016044A (en) * 2001-06-29 2003-01-17 Olympus Optical Co Ltd System for load distribution, method therefor and program
KR20110030461A (en) * 2008-06-16 2011-03-23 인터내셔널 비지네스 머신즈 코포레이션 System and method for dynamic partitioning of applications in client-server environments

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003016044A (en) * 2001-06-29 2003-01-17 Olympus Optical Co Ltd System for load distribution, method therefor and program
KR20110030461A (en) * 2008-06-16 2011-03-23 인터내셔널 비지네스 머신즈 코포레이션 System and method for dynamic partitioning of applications in client-server environments

Also Published As

Publication number Publication date
KR20130070664A (en) 2013-06-28

Similar Documents

Publication Publication Date Title
US10884722B2 (en) Cross-environment application of tracing information for improved code execution
US11263034B2 (en) Low latency computational capacity provisioning
EP3394750B1 (en) Code execution request routing
US10277708B2 (en) On-demand network code execution with cross-account aliases
JP6363796B2 (en) Dynamic code deployment and versioning
US11252220B2 (en) Distributed code execution involving a serverless computing infrastructure
US9830449B1 (en) Execution locations for request-driven code
US9652306B1 (en) Event-driven computing
US10348825B2 (en) Network platform-as-a-service for creating and inserting virtual network functions into a service provider network
CN113243005A (en) Performance-based hardware emulation in on-demand network code execution systems
US20180004553A1 (en) On-demand network code execution with cross-account aliases
US11556348B2 (en) Bootstrapping profile-guided compilation and verification
WO2014075875A1 (en) Automatic template creation based on new feeds
US20170048008A1 (en) Method and apparatus for verification of network service in network function virtualization environment
US9729610B2 (en) Method for intercepting an instruction produced by an application on a computer
US20190394087A1 (en) Automatic configuration of virtual network functions
US10705895B2 (en) Device based automated tool integration for lifecycle management platform
WO2019109948A1 (en) Paas management method and device, and storage medium
WO2021013185A1 (en) Virtual machine migration processing and strategy generation method, apparatus and device, and storage medium
KR101378350B1 (en) Device and method to dynamically migrate service components
KR101331897B1 (en) Device and method to dynamically offload mobile device application
US11030013B2 (en) Systems and methods for splitting processing between device resources and cloud resources
US9729698B2 (en) Increasing user memory space on end-of-life mobile user devices
US11762706B1 (en) Computing environment pooling
JP6721106B2 (en) First control device, device, method, program, recording medium, and system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170117

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180108

Year of fee payment: 5