KR101378350B1 - Device and method to dynamically migrate service components - Google Patents
Device and method to dynamically migrate service components Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/161—Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- 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/44—Arrangements for executing specific programs
- G06F9/451—Execution 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
본 발명의 실시예들은 서비스 컴포넌트의 동적 이주 장치 및 방법에 관한 것으로서, 더욱 상세하게는 서버에서 제공되는 서비스의 품질을 모니터링 하고 서비스 품질이 저하되는 경우 서비스 제공을 위해 서버에 설치된 컴포넌트를 모바일 디바이스로 동적 이주 시키는 장치 및 방법에 관한 것이다. 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
서비스 기반의 어플리케이션은 사용자가 필요로 하는 기능의 일부가 서버(100)에 설치되고, 일부는 모바일 디바이스(102)에 설치된다. 즉, 전체 어플리케이션 기능 중 비교적 적은 자원을 필요로 하는 간단한 기능은 모바일 디바이스(102)에서 실행되며, 복잡한 계산 및 데이터 조작을 요구하는 기능은 서버(102) 측에서 실행이 된다.In the service-based application, some of the functions required by the user are installed in the
따라서, 서버(100)에서 제공되는 서비스를 네트워크를 통해 모바일 디바이스(102)에서 수신함으로써 복잡한 어플리케이션의 수행이 가능하다.Therefore, by receiving the service provided by the
하지만, 서버(100)로 서비스를 요청하는 모바일 디바이스(102)의 수가 증가하거나 서버(100)의 네트워크 대역폭이 감소하는 등의 이유로 서버(100)의 성능이 감소되는 경우, 서버(100)로부터 공급되는 서비스를 이용하여 어플리케이션을 실행하는 모바일 디바이스(102)에서의 정상적인 어플리케이션 수행이 어려울 수 있다.However, when the performance of the
따라서, 본 발명에서의 동적 이주 장치(104)는 서버(100)에서 복수의 모바일 디바이스(102)로 제공되고 있는 서비스의 품질을 모니터링 하고, 모니터링 결과 서비스의 품질이 기 설정된 임계 값 이하인 경우 복수의 모바일 디바이스 중 적어도 하나 이상의 모바일 디바이스를 선정한다. 이어서, 서비스 제공을 위해 서버(100)에 설치된 컴포넌트를 선정된 모바일 디바이스로 이주 시킨다.Therefore, the
따라서, 컴포넌트를 이주 받은 모바일 디바이스(102)는 자체적으로 컴포넌트를 실행시켜 서비스 정보를 이용함으로써 모바일 디바이스(102)에서 실행되고 있는 어플리케이션의 성능이 향상된다. Accordingly, the
또한, 서버(100)는 컴포넌트를 이주 받은 모바일 디바이스(102)로부터 서비스 제공 요청을 받지 않으므로, 전체적인 성능이 향상되어, 다른 모바일 디바이스(102)에 향상된 품질의 서비스 제공이 가능하게 된다.In addition, since the
하기에서는 도 2를 참조하여, 본 발명에 따른 동적 이주 장치(104)의 구성을 상세하게 살펴본다.Hereinafter, with reference to FIG. 2, the configuration of the
도 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
제어부(201)는 동적 이주 장치(104)의 구성 요소들의 동작을 전반적으로 제어한다.The
모니터링부(203)는 서버(100)에서 복수의 모바일 디바이스(102)로 제공되는 서비스의 품질을 기 설정된 시간 마다 또는 실시간으로 모니터링 한다.The
보다 상세하게, 모니터링부(203)은 서버(100)에 연결 가능한 모바일 디바이스(102)의 수 및 서버(100)에 서비스를 요청하고 있는 모바일 디바이스(102)의 수 중 적어도 하나를 이용하여 서비스의 품질을 모니터링 한다.In more detail, the
본 발명의 일 실시예에 따르면 동적 이주 장치(104)는 서버(100)에 설치된 장치이거나 또는 서버(100) 및 모바일 디바이스(102)와 네트워크로 연결된 별도의 장치일 수 있다.According to an embodiment of the present invention, the
동적 이주 장치(104)가 별도의 장치인 경우에는 모니터링부(203)는 서버(100)에 설치되며, 서버(100)에서 모니터링된 서비스의 품질 정보를 수신할 수 있을 것이다.In the case where the
모니터링부(203)는 서비스 품질이 기 설정된 특정 임계 값 이하로 낮아지면 QoS(Quality of Sevice)의 문제가 발생하여 서비스 기반 어플리케이션의 사용에 문제가 있음을 자동으로 판단한다.The
본 발명의 일 실시예에 따르면 특정 임계값은 기본으로 설정된 임계치 또는 사용자 설정 임계치 일 수 있다.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
기본으로 설정된 임계치는 모든 어플리케이션에 동일하게 활용될 수는 없기 때문에 이를 설정할 수 있는 옵션을 제공할 수 있다. 즉, 이런 옵션을 통해서 사용자는 사용자가 원하는 서비스 품질의 수준을 결정할 수 있다. 이러한 사용자 설정 임계치는 서비스 기반 모바일 어플리케이션에서 서비스를 사용할 때 검증한 서비스 수준 협약(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
이때, 모바일 디바이스 품질 정보는 모바일 디바이스(102) 각각에 설치된 품질 측정부(미도시)에서 측정될 수 있다.In this case, the mobile device quality information may be measured by a quality measuring unit (not shown) installed in each of the
여기서, 모바일 디바이스 품질 정보는 모바일 디바이스(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
선정부(211)는 모바일 디바이스 품질 정보를 이용하여 복수의 모바일 디바이스(102) 중 컴포넌트를 이주하기 위한 적어도 하나의 모바일 디바이스를 선정한다.The
보다 상세하게 선정부(211)는 복수의 모바일 디바이스(102) 각각의 모바일 디바이스 품질 정보를 이용하여 복수의 모바일 디바이스(102) 중 하나 이상의 후보 모바일 디바이스를 우선하여 선정한다. 후보를 선정하는 이유는 모바일 디바이스 품질 정보만을 이용하여서는 컴포넌트를 이주할 대상 모바일 디바이스를 선정할 수 없기 때문이다.In more detail, the
이어서, 선정부(211)는 후보 모바일 디바이스와 서버(100)간의 네트워크 상태를 이용하여 후보 모바일 디바이스 중 컴포넌트를 이주하기 위한 적어도 하나의 모바일 디바이스를 선정한다.Subsequently, the
여기서, 네트워크 상태란 서버(100)와 후보 모바일 디바이스 간의 거리, 서버(100)와 후보 모바일 디바이스간에 송수신되는 네트워크 트래픽 양 및 서버(100)와 후보 모바일 디바이스간에 송수신되는 네트워크 신호 세기 중 적어도 하나를 포함할 수 있다.The network state may include at least one of a distance between the
서버(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
이주부(209)는 선정부(207)에서 선정된 모바일 디바이스로 컴포넌트를 이주 시킨다.The
저장부(211)는 모바일 디바이스(102)에 서비스 제공을 위한 컴포넌트를 저장한다.The
도 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
따라서, 이주부(209)는 선정된 모바일 디바이스의 운영체제를 확인하고 운영체제에 대응되는 컴포넌트를 저장부(211)로부터 선택하여 선정된 모바일 디바이스로 전송할 수 있다.Therefore, the
도 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
만약 동적 이주 장치(104)가 서버(100)에 설치된 경우라면 단계(S400) 내지 단계(S405) 단계 대신 서버(100)의 품질 정보를 모니터링 하는 단계를 수행 할 수 있다.If the
단계(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
이어서 단계(S420)에서 각 모바일 디바이스(102)들은 모바일 디바이스 품질 정보를 동적 이주 장치(104)로 전송한다.In operation S420, each of the
모바딜 디바이스(102)들의 모바일 디바이스 품질 정보를 수신한 동적 이주 장치는 단계(S425)에서 모바일 디바이스 품질 정보를 이용하여 이주 대상 모바일 디바이스를 선정한다The dynamic migration apparatus that has received the mobile device quality information of the
단계(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
이하에서는 본 발명의 보다 자세한 설명을 위해 모바일 디바이스가 안드로이드를 운영체제로 사용하는 경우를 일례로 하여 본 발명을 설명하도록 한다.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
동적 배치 매니저(511)는 도 2의 품질 정보 수신부(205), 선정부(207), 이주부(209)의 구성과 대응되며, 동적 배치 레파지토리(513)은 저장부(211)의 구성과 대응된다.The
동적 배치 매니저(511)는 서비스 컴포넌트가 서버(503)에 설치될 때 이주 가능한 서비스 컴포넌트를 동적 배치 레파지토리(513)에 저장하며 관리 대상으로 등록한다.The
동적 배치 매니저(511)는 컴포넌트를 이주할 모바일 디바이스(501)가 선정된 경우 서비스를 구현하고 있는 apk(application package file) 파일을 동적 배치 레파지토리(513)로부터 가져와서 선정된 모바일 디바이스(501)로 전송한다. 이때 옮기려고 하는 서비스와 apk 파일은 형상관리(configuration) 파일에 보관할 수 있다.When the
모바일 디바이스(501)에 설치된 모바일 에이전트는 apk 파일에 있는 안드로이드 운영체제를 위해 특화된 dex 파일 및 java 파일들을 실행하기 위해 안드로이드에서 제공하는 PackageManager()를 이용하여 apk파일을 모바일 디바이스(501)에 자동으로 설치한다.The mobile agent installed on the
그런 다음 모바일 디바이스(501)에 설치된 모바일 에이전트는 받은 apk 파일의 클래스를 로딩한다. 이때 활용되는 메소드는 dynamicLoader()로써 이는 안드로이드 운영체제에서 제공하는 클래스 로딩 장치이다. 그 후, 모바일 에이전트는 로딩된 클래스를 활용하여서 모바일 디바이스(501)에서 인스턴스를 생성한다. 여기서 생성된 인스턴스에서 제공하는 메소드와 기존 서비스를 사용하고 있는 어플리케이션의 인터페이스와 일치시키기 위해 getDeclaredMethods()와 getParameterTypes() 메소드를 호출하여 서로 바인딩 시킨다.Then, the mobile agent installed in the
서비스 컴포넌트가 이주, 설치 및 인스턴스화 되고 난 후 라도, 기존에 서비스를 사용하고 있는 모바일 디바이스에 설치된 어플리케이션은 동적 이주에 관련된 상황을 인지하지 못하므로 이를 위한 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. 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.
상기 모바일 디바이스의 품질 정보는 상기 모바일 디바이스의 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.
상기 선정부는 상기 복수의 모바일 디바이스 각각의 모바일 디바이스 품질 정보를 이용하여 상기 복수의 모바일 디바이스 중 하나 이상의 후보 모바일 디바이스를 선정하고,
상기 후보 모바일 디바이스와 상기 서버간의 네트워크 상태를 이용하여 상기 후보 모바일 디바이스 중 상기 컴포넌트를 이주 하기 위한 적어도 하나의 모바일 디바이스를 선정하는 것을 특징으로 하는 컴포넌트의 동적 이주 장치.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. 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.
상기 모바일 디바이스에서 이용되는 운영체제의 종류에 대응하여 상기 운영체제와 호환 될 수 있는 형태의 이주 가능한 컴포넌트를 저장하는 저장부를 더 포함하는 것을 특징으로 하는 컴포넌트의 동적 이주 장치.
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.
상기 컴포넌트 이주부는 상기 선정된 모바일 디바이스의 운영체제를 확인하고, 상기 운영체제에 대응되는 컴포넌트를 선택하여 상기 선정된 모바일 디바이스로 전송하는 것을 특징으로 하는 컴포넌트의 동적 이주 장치.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. 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.
상기 모바일 디바이스의 품질 정보는 상기 모바일 디바이스의 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. 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.
상기 모바일 디바이스에서 이용되는 운영체제의 종류에 대응하여 상기 운영체제와 호환 될 수 있는 형태의 이주 가능한 컴포넌트를 저장하는 단계를 더 포함하되,
상기 컴포넌트를 이주 시키는 단계는 상기 선정된 모바일 디바이스의 운영체제를 확인하고, 상기 운영체제에 대응되는 컴포넌트를 선택하여 상기 선정된 모바일 디바이스로 전송하는 것을 특징으로 하는 컴포넌트의 동적 이주 방법.
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.
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)
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)
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 |
-
2011
- 2011-12-15 KR KR1020110135203A patent/KR101378350B1/en active IP Right Grant
Patent Citations (2)
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 |