KR102122831B1 - 단말 장치의 유휴 컴퓨팅 자원 활용 시스템 및 이를 이용한 유휴 컴퓨팅 자원 활용 방법 - Google Patents

단말 장치의 유휴 컴퓨팅 자원 활용 시스템 및 이를 이용한 유휴 컴퓨팅 자원 활용 방법 Download PDF

Info

Publication number
KR102122831B1
KR102122831B1 KR1020180135852A KR20180135852A KR102122831B1 KR 102122831 B1 KR102122831 B1 KR 102122831B1 KR 1020180135852 A KR1020180135852 A KR 1020180135852A KR 20180135852 A KR20180135852 A KR 20180135852A KR 102122831 B1 KR102122831 B1 KR 102122831B1
Authority
KR
South Korea
Prior art keywords
idle
client device
client
computing device
central
Prior art date
Application number
KR1020180135852A
Other languages
English (en)
Other versions
KR20190051878A (ko
Inventor
송충건
박봉우
유헌창
Original Assignee
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 고려대학교 산학협력단 filed Critical 고려대학교 산학협력단
Publication of KR20190051878A publication Critical patent/KR20190051878A/ko
Application granted granted Critical
Publication of KR102122831B1 publication Critical patent/KR102122831B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing

Abstract

단말 장치의 유휴 컴퓨팅 자원 활용 시스템, 장치 및 이를 이용한 유휴 컴퓨팅 자원 활용 방법에 관한 것으로, 단말 장치의 유휴 컴퓨팅 자원 활용 시스템은, 유휴 자원을 갖는 적어도 하나의 제1 클라이언트 장치 및 상기 적어도 하나의 제1 클라이언트 장치가 상기 유휴 자원을 제공하는 경우, 상기 유휴 자원에 대응하는 보상을 생성하여 상기 적어도 하나의 제1 클라이언트 장치에 제공하고, 상기 제1 클라이언트 장치의 유휴 자원을 이용하여 작업의 처리를 제어하는 중앙 컴퓨팅 장치를 포함할 수 있다.

Description

단말 장치의 유휴 컴퓨팅 자원 활용 시스템 및 이를 이용한 유휴 컴퓨팅 자원 활용 방법{SYSTEM OF UTILIZING OF IDLE COMPUTING RESOURCE, COMPUTING APPARATUS AND METHOD OF THE SAME}
유휴 컴퓨팅 자원 활용 시스템 및 이를 이용한 유휴 컴퓨팅 자원 활용 방법에 관한 것이다.
기존의 모바일 장치는, 문자나 통화 기능 등만을 주로 실행할 수 있었다. 근자의 스마트 폰이나 태블릿 피씨와 같은 모바일 장치는 다양한 종류의 애플리케이션을 설치 및 수행할 수 있게 되었다. 이러한 모바일 장치의 발전에 따라 보다 높은 사양을 요구하는 애플리케이션이 출현하게 되었고, 이들이 요구하는 연산량에 부합될 수 있도록 더더욱 고사양의 모바일 장치가 소개 및 제시되고 있다.
한편으로는 대규모의 연산을 활용하는 애플리케이션은 특정 분야에 한정되어 있어 많은 사용자들은 상대적으로 작은 규모의 연산을 이용하는 간단한 애플리케이션만을 이용하며, 설사 대규모의 연산이 필요한 애플리케이션을 구동시킨다고 하더라도 이는 특정한 시간에만 한정되고 있었다. 다시 말해서, 고사양의 모바일 장치의 대부분의 자원은 적절하게 사용되지 못하고 불필요하게 낭비하고 있다. 이에 따라 사회 전체적으로 봤을 때, 대량의 유휴 컴퓨팅 자원(idle computing resource)이 발생하고 있다.
각각의 클라이언트 장치의 유휴 자원의 활용도를 높이고 적절하면서도 공정하게 이용할 수 있게 하는 유휴 컴퓨팅 자원 활용 시스템 및 이를 이용한 유휴 컴퓨팅 자원 활용 방법을 제공하는 것을 해결하고자 하는 과제로 한다.
상술한 과제를 해결하기 위하여 유휴 컴퓨팅 자원 활용 시스템 및 이를 이용한 유휴 컴퓨팅 자원 활용 방법이 제공된다.
유휴 컴퓨팅 자원 활용 시스템은, 유휴 자원을 갖는 적어도 하나의 제1 클라이언트 장치 및 상기 적어도 하나의 제1 클라이언트 장치가 상기 유휴 자원을 제공하는 경우, 상기 유휴 자원에 대응하는 보상을 생성하여 상기 적어도 하나의 제1 클라이언트 장치에 제공하고, 상기 제1 클라이언트 장치의 유휴 자원을 이용하여 작업의 처리를 제어하는 중앙 컴퓨팅 장치를 포함할 수 있다.
유휴 컴퓨팅 자원 활용 방법은, 적어도 하나의 제1 클라이언트 장치가 유휴 자원에 대한 정보를 획득하는 단계, 제2 클라이언트 장치로부터 유휴 자원을 이용한 작업 처리 요청이 전달되는 단계, 상기 적어도 하나의 제1 클라이언트 장치가 상기 작업 요청에 대응하는 유휴 자원을 제공하여 작업을 처리하는 단계 및 제공된 상기 유휴 자원에 대응하는 보상이 상기 적어도 하나의 제1 클라이언트 장치에게 제공되는 단계를 포함할 수 있다.
상술한 유휴 컴퓨팅 자원 활용 시스템 및 이를 이용한 유휴 컴퓨팅 자원 활용 방법에 의하면, 적어도 하나의 클라이언트 또는 서버 장치 등이 타 클라이언트의 유휴 자원을 효율적이고 적절하면서도 공정하게 활용할 수 있게 되는 효과를 얻을 수 있다.
상술한 유휴 컴퓨팅 자원 활용 시스템 및 이를 이용한 유휴 컴퓨팅 자원 활용 방법에 의하면, 클라이언트는 유휴 자원 제공에 대응하는 보상을 획득할 수 있게 되어 클라이언트의 사용자에게 자원 제공에 대한 동기를 부여하는 효과도 얻을 수 있다.
상술한 유휴 컴퓨팅 자원 활용 시스템 및 이를 이용한 유휴 컴퓨팅 자원 활용 방법에 의하면, 낭비되고 있는 클라이언트의 유휴 자원을 보다 적절하게 이용함으로써 컴퓨팅 자원 활용의 효율성을 개선할 수 있는 효과도 얻을 수 있게 된다.
상술한 유휴 컴퓨팅 자원 활용 시스템 및 이를 이용한 유휴 컴퓨팅 자원 활용 방법에 의하면, 클라이언트의 가용한 유휴 자원 정보를 정확히 획득할 수 있기 때문에, 애플리케이션의 수행을 단절 없이 지속적으로 제공할 수 있게 되는 효과도 얻을 수 있다.
상술한 유휴 컴퓨팅 자원 활용 시스템 및 이를 이용한 유휴 컴퓨팅 자원 활용 방법에 의하면, 특정한 장치, 예를 들어 중앙 서버에 클라우드 처리에 대한 부하가 집중되는 것을 방지할 수 있게 될 뿐만 아니라, 유휴 자원을 제공하는 클라이언트들의 관리의 복잡성을 감소시킬 수 있어 관리 애플리케이션의 개발 및 유지에 소요되는 비용 및 시간을 절감할 수 있는 효과도 얻을 수 있다.
상술한 유휴 컴퓨팅 자원 활용 시스템 및 이를 이용한 유휴 컴퓨팅 자원 활용 방법에 의하면, 가용한 유휴 자원을 특정한 과학적 프로젝트 외에도 다양한 서비스의 활용 및 운영에 활용할 수 있게 되는 효과도 얻을 수 있다.
도 1은 유휴 컴퓨팅 자원 활용 시스템의 일 실시예를 설명하기 위한 개요도이다.
도 2는 유휴 컴퓨팅 자원 활용 시스템의 일 실시예를 설명하기 위한 블록도이다.
도 3은 동적 그룹 프로파일의 처리의 일 실시예를 설명하기 위한 블록도이다.
도 4는 자원 관리자에 의한 관리의 일 실시예를 설명하기 위한 도면이다.
도 5는 유휴 자원의 사용 과정 및 보상 제공 과정의 일 실시예를 설명하기 위한 도면이다.
도 6은 유휴 컴퓨팅 자원 활용 방법의 일 실시예를 설명하기 위한 흐름도이다.
이하 명세서 전체에서 동일 참조 부호는 특별한 사정이 없는 한 동일 구성요소를 지칭한다. 이하에서 사용되는 '부'가 부가된 용어는, 논리적으로 구분되는 것일 수도 있고, 및/또는 물리적으로 구분되는 것일 수도 있다. 따라서, '부'가 부가된 용어는, 소프트웨어 및/또는 하드웨어로 구현될 수 있다. 실시예에 따라, '부'가 하나의 부품으로 구현되거나, 하나의 '부'가 복수의 부품들로 구현되는 것도 가능하다.
명세서 전체에서 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 어떤 부분과 다른 부분에 따라서 물리적 연결을 의미할 수도 있고, 또는 전기적으로 연결된 것을 의미할 수도 있다. 또한, 어떤 부분이 다른 부분을 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 부분 이외의 또 다른 부분을 제외하는 것이 아니며, 설계자의 선택에 따라서 또 다른 부분을 더 포함할 수 있음을 의미한다.
제 1 이나 제 2 등의 용어는 하나의 부분을 다른 부분으로부터 구별하기 위해 사용되는 것으로, 특별한 기재가 없는 이상 이들이 순차적인 표현을 의미하는 것은 아니다. 아울러, 단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함할 수 있다.
이하 도 1 내지 도 5을 참조하여 적어도 하나의 컴퓨팅 장치, 클라이언트 장치 및 이들을 포함하는 유휴 컴퓨팅 자원 활용 시스템의 일 실시예에 대해서 설명하도록 한다.
도 1은 유휴 컴퓨팅 자원 활용 시스템의 일 실시예를 설명하기 위한 개요도이다.
도 1에 도시된 바를 참조하면, 유휴 컴퓨팅 자원 활용 시스템(1)은, 유휴 컴퓨팅 자원 활용 서비스(이하 서비스)를 제공하는 서비스 제공 시스템(10)과, 서비스 제공 시스템(10)과 통신 가능하게 연결된 적어도 하나의 클라이언트 장치(300, 이하 단말기 또는 단말 장치로 표현될 수도 있으며, 이들은 모두 동일한 대상을 가리킨다)를 포함할 수 있다.
서비스 제공 시스템(10) 및 적어도 하나의 클라이언트 장치(300)는, 유선 통신 네트워크, 무선 통신 네트워크 또는 이들의 조합을 기반으로 상호 통신을 수행할 수 있다. 서비스 제공 시스템(10)의 컴퓨팅 장치(100, 200)도 동일하게 유선 통신 네트워크, 무선 통신 네트워크 또는 이들의 조합을 기반으로 상호 통신을 수행하도록 마련된다. 여기서, 유선 통신 네트워크는, 케이블을 이용하여 구축 가능하며, 케이블은, 예를 들어, 페어 케이블, 동축 케이블, 광섬유 케이블 또는 이더넷 케이블 등을 이용하여 구현된 것일 수 있다. 무선 통신 네트워크는 근거리 통신 네트워크 및 원거리 통신 네트워크 중 적어도 하나를 이용하여 구현된 것일 수 있다. 근거리 통신 네트워크는, 예를 들어, 와이 파이(Wi-Fi), 지그비(zigbee), 블루투스(Bluetooth), 와이파이 다이렉트(Wi-Fi Direct), 저전력 블루투스(Bluetooth Low Energy), 캔(CAN) 통신 또는 엔에프씨(NFC, Near Field Communication) 등을 이용하여 구현된 것일 수 있다. 원거리 통신 네트워크는, 유선 통신 네트워크예를 들어, 3GPP, 3GPP2 또는 와이맥스 계열 등의 이동 통신 표준을 기반으로 구현된 것일 수 있다.
서비스 제공 시스템(10)은, 적어도 하나의 클라이언트 장치(300) 각각의 자원 사용 및 관리를 수행하거나, 및/또는 클라이언트 장치(300) 각각의 자원 사용에 대한 보상을 관리한다. 서비스 제공 시스템(10)은, 서비스로서의 인프라(IaaS, Infrastructure as a service)의 형태로 구현될 수 있으며, 예를 들어, 서버로 기능을 수행하는 컴퓨팅 장치, 네트워킹 및/또는 저장 매체 등을 포함할 수 있다.
서비스 제공 시스템(10)은 하나 또는 둘 이상의 컴퓨팅 장치(100, 200)를 포함할 수 있다. 일 실시예에 의하면, 하나 또는 둘 이상의 컴퓨팅 장치(100, 200)는 동일한 기능을 수행할 수도 있고, 또는 서로 상이한 기능을 수행할 수도 있다. 후자의 경우, 하나 또는 둘 이상의 컴퓨팅 장치(100, 200)는 각각 적어도 하나의 중앙 컴퓨팅 장치(100) 및 적어도 하나의 엣지 컴퓨팅 장치(200: 201 내지 203)를 포함할 수 있다.
일 실시예에 의하면, 서비스 제공 시스템(10)은 하나의 중앙 컴퓨팅 장치(100)와, 하나 또는 둘 이상의 엣지 컴퓨팅 장치(200: 201 내지 203)를 포함할 수 있다. 다른 실시예에 의하면, 서비스 제공 시스템(10)은, 서로 상호 보완적으로 동작하는 둘 이상의 중앙 컴퓨팅 장치(100)와, 이들 둘 이상의 중앙 컴퓨팅 장치(100)와 연결된 하나 또는 둘 이상의 엣지 컴퓨팅 장치(200: 201 내지 203)을 포함할 수도 있다. 또 다른 실시예에 의하면, 서비스 제공 시스템(10)은, 적어도 하나의 중앙 컴퓨팅 장치(100)와, 적어도 하나의 중앙 컴퓨팅 장치(100)와 연결된 적어도 하나의 엣지 컴퓨팅 장치(200: 201 내지 203)와, 적어도 하나의 엣지 컴퓨팅 장치(200: 201 내지 203)과 연결되는 적어도 하나의 하위 엣지 컴퓨팅 장치(미도시)를 포함하는 것도 가능하다. 물론, 실시예에 따라서, 서비스 제공 시스템(10)은 하나 또는 둘 이상의 중앙 컴퓨팅 장치(100)만을 포함할 수도 있다. 다시 말해서, 엣지 컴퓨팅 장치(200: 201 내지 203)은 생략될 수도 있다. 이외에도 설계자의 의도에 따라서, 서비스 제공 시스템(10)은 다양한 형태로 하나 또는 둘 이상의 서버 장치(100, 200)를 포함하도록 설계될 수도 있다.
이하 유휴 컴퓨팅 자원 활용 시스템(1)의 설명을 위해, 서비스 제공 시스템(10)이 하나의 중앙 컴퓨팅 장치(100)와, 복수의 엣지 컴퓨팅 장치(200: 201 내지 203)를 포함하는 일 실시예를 설명하도록 하나, 후술하는 서비스 제공 시스템(10)은 이에 한정되지 않는다. 상술한 다양한 형태, 구조, 구성 또는 조직의 서비스 제공 시스템 역시 상술한 서비스 제공 시스템(10)의 일 실시예가 될 수 있다.
중앙 컴퓨팅 장치(100)는 유휴 컴퓨팅 자원을 기반으로 클라우드 서비스를 제공하는 컴퓨팅 장치로, 중앙 집중적으로 유휴 컴퓨팅 자원의 사용 및 이에 대한 보상을 관리할 수 있다. 예를 들어, 중앙 컴퓨팅 장치(100)는 클라우드 서비스에서 클라이언트(300)가 요청한 작업의 처리를 관리 및 지시하고, 아울러 이에 대응하는 보상의 발행 및 관리를 수행할 수 있도록 설계된다. 또한, 중앙 컴퓨팅 장치(100)는, 클라우드 서비스 가용성을 보장하기 위해 장애 허용(failure tolerant, 결함 포용, 결함 감내 등으로 표현 가능하다) 방법을 수행할 수도 있다. 중앙 컴퓨팅 장치(100)는 중앙 서버 장치, 중앙 클라우드 장치 또는 이에 준하는 장치 등으로 지칭될 수도 있다.
일 실시예에 의하면, 중앙 컴퓨팅 장치(100)는, 외부의 다른 시스템(9)과 통신 가능하게 연결되어, 필요에 따라 다른 시스템(9)의 유휴 컴퓨팅 자원을 활용 가능하도록 설계된 것일 수도 있다. 유휴 컴퓨팅 자원 활용 시스템(1)의 전체적인 규모나 성능은, 유휴 컴퓨팅 자원 활용 시스템(1)에 참여하는 장치들, 일례로 클라이언트 장치(300) 각각의 종류나 성능 및/또는 전체적인 클라이언트 장치(300)의 개수 등에 따라서 유동적으로 변할 수도 있다. 이 경우, 예측 불가능한 대규모의 트래픽이 발생하는 등의 문제점이 발생할 수 있으며, 이에 따라 서비스의 중단 또는 지연이 발생할 수 있다. 따라서, 지연 또는 정지 없이 서비스 수행이 가능할 수 있도록, 중앙 컴퓨팅 장치(100)는 필요에 따라 다른 시스템(9)의 자원을 활용 가능하게 마련될 수 있다. 이 경우, 중앙 컴퓨팅 장치(100)는 다른 시스템(9)에 자원 활용을 요청하고, 다른 시스템(9)의 승인 하에 다른 시스템(9)에 자원을 활용하도록 설계될 수도 있다. 여기서, 다른 시스템(9)은 유휴 컴퓨팅 자원 활용 시스템(1)과 동일하게 또는 일부 변형하여 구축된 시스템 및/또는 통상적인 클라우드 시스템을 포함할 수 있다.
엣지 컴퓨팅 장치(200)는, 중앙 컴퓨팅 장치(100) 및 클라이언트 장치(300) 사이에서 이들(100, 300)과 통신 가능하게 제공되어, 중앙 컴퓨팅 장치(100)의 동작을 보조하거나, 및/또는 담당하는 클라이언트 장치(300)에 대해 관리를 수행할 수 있다. 이 경우, 담당 클라이언트 장치(300) 및/또는 클라이언트 장치(300)에 대해 수행 가능한 관리는, 미리 설계자나 사용자에 의해 설정된 것이거나, 및/또는 중앙 컴퓨팅 장치(100) 등에 의해 부여된 것일 수 있다.
구체적으로 엣지 컴퓨팅 장치(200)는, 중앙 컴퓨팅 장치(100)에 다수의 클라이언트 장치(300)가 접속하는 경우 발생될 수 있는 네트워크 트래픽 문제 및 작업 처리 지연 문제(예를 들어, 서비스 응답 지연 문제 등)를 해결 또는 개선하기 위한 동작을 수행할 수 있도록 마련된다. 중앙 컴퓨팅 장치(100)가 접속 가능한 모든 클라이언트 장치들(300)과 주기적으로 1:N 통신을 수행하게 되면, 클라이언트 장치(300)로부터 전달되거나 및/또는 이들(300)로 전송되는 데이터에 의해 과도한 트래픽이 발생될 수 있다. 또한, 다수의 클라이언트 장치(300)의 지시나 요청에 응답하느라, 이에 따른 작업 처리 및 개별 클라이언트 장치(300)에 대한 응답이 지연될 수도 있다. 엣지 컴퓨팅 장치(200)는, 중앙 컴퓨팅 장치(100)의 일부 기능을 수행하거나 및/또는 각각에 할당된 클라이언트 장치(300)의 관리에 필요한 여러 동작을 수행함으로써, 중앙 컴퓨팅 장치(100)로의 트래픽을 감소시키고, 중앙 컴퓨팅 장치(100)의 부하를 해소하여 이와 같은 문제를 해결한다.
또한, 각각의 엣지 컴퓨팅 장치(200)는 고가용성을 위해 장애 허용 방법을 이용할 수도 있다.
일 실시예에 있어서, 서비스 제공 시스템(10)은 복수의 엣지 컴퓨팅 장치(200), 일례로 제1 엣지 컴퓨팅 장치 내지 제3 엣지 컴퓨팅 장치(201 내지 203)를 포함할 수 있다. 각각의 엣지 컴퓨팅 장치(200: 201 내지 203)는, 대응하는 클라이언트 집단(391 내지 393)과 통신 가능하게 연결된다. 예를 들어, 제1 엣지 컴퓨팅 장치(201)에는 제1 클라이언트 집단(391)이 대응하여 마련되고, 제2 엣지 컴퓨팅 장치(202)에는 제2 클라이언트 집단(392)이 대응하여 마련되며, 제3 엣지 컴퓨팅 장치(203)에는 제1 클라이언트 집단(393)이 대응하여 마련될 수 있다.
각각의 클라이언트 집단(391 내지 393)은, 적어도 하나의 클라이언트 장치(예를 들어, 391A 내지 391C)를 포함하여 이루어진 것일 수 있다. 이 경우, 개개의 클라이언트 집단(391 내지 393)의 클라이언트 장치들은 서로 중복되지 않을 수 있다. 다시 말해서, 개개의 클라이언트 집단(391 내지 393)은, 어떠한 클라이언트 장치(300)도 서로 공유하지 않을 수 있다. 이에 따라, 서로 상이한 엣지 컴퓨팅 장치(201 내지 203)는, 서로 상이한 클라이언트 장치(300)들만을 관리하게 된다. 물론 실시예에 따라서, 적어도 두 개의 클라이언트 집단(391 내지 393 중 둘)이 적어도 하나의 클라이언트 장치(300)를 공유하는 것도 가능하다.
일 실시예에 의하면, 클라이언트 집단(391 내지 393)은 물리적 공간(장소나 지역 등)을 기반으로 군집화한 것일 수 있다. 예를 들어, 특정한 클라이언트 집단, 일례로 제1 클라이언트 집단(391)는, 특정 지점(예를 들어, 중계기)로부터 일정한 거리 이내에 있는 모든 또는 일부의 클라이언트 장치(391A 내지 391C)를 포함하도록 설계될 수도 있다. 이에 따라, 엣지 컴퓨팅 장치(201 내지 203)는 지역 기반으로 구축될 수 있게 된다. 다시 말해서, 엣지 컴퓨팅 장치(201 내지 203)가 물리적인 지역을 기준으로 관리 및 처리 동작을 수행할 수 있게 된다.
각 엣지 컴퓨팅 장치(200: 201 내지 203)는, 각각의 엣지 컴퓨팅 장치(200: 201 내지 203)에 대응하는 일 집단(391 내지 393)의 클라이언트 장치(300)에 대한 소정의 작업을 처리할 수 있다. 예를 들어, 제1 엣지 컴퓨팅 장치(201)는 제1 클라이언트 집단(391)의 각 장치(391A 내지 391C)의 유휴 자원에 대한 정보 수집 및 관리 및/또는 각 장치(391A 내지 391C)들의 유휴 자원의 사용 관리 등을 수행할 수 있다. 제2 엣지 컴퓨팅 장치(202) 및 제3 엣지 컴퓨팅 장치(203) 역시 동일하게 제2 클라이언트 집단(392) 및 제3 클라이언트(393)의 각각의 클라이언트 장치(300)에 대한 소정의 동작을 수행할 수 있다.
클라이언트 장치(300)는 서비스 제공 시스템(10)에 접속하여 클라우드 기반의 작업 수행을 요청하거나, 및/또는 서비스 제공 시스템(10)의 지시에 따라 소정의 작업(예를 들어, 다른 클라이언트 장치(300)에서 요청한 작업)을 수행할 수 있도록 마련된다.
클라이언트 장치(300)는, 유휴 컴퓨팅 자원 활용 시스템(1)에 참여하거나, 유휴 컴퓨팅 자원을 제공하거나 및/또는 유휴 컴퓨팅 자원 활용을 요청할 수 있다. 또한, 클라이언트 장치(300)는 자체적으로도 지불 받았거나 지불할 보상에 대한 관리도 함께 수행할 수도 있다.
또한, 클라이언트 장치(300)는 자신이 가지고 있는 유휴 컴퓨팅 자원에 대한 정보를 주기적으로 또는 비주기적으로 수집하고 이를 중앙 컴퓨팅 장치(100) 및 엣지 컴퓨팅 장치(200) 중 적어도 하나로 전송할 수도 있다. 이 경우, 클라이언트 장치(300)는 유휴 컴퓨팅 자원에 대한 정보 수집을 위해 프로파일링(profiling) 방법을 이용할 수도 있다.
클라이언트 장치(300)는, 각종 정보 처리가 가능하면서도 외부와 통신을 수행할 수 있는 소정의 전자 장치나 기계 장치를 이용하여 구현될 수 있으며, 예를 들어, 데스크톱 컴퓨터, 랩톱 컴퓨터, 셀룰러 폰, 스마트 폰, 태블릿 피씨, 두부 장착형 디스플레이(HMD, Head Mounted Display) 장치, 스마트 시계, 디지털 텔레비전, 사물 인터넷 기술 등이 적용된 가전 기기, 디지털 캠코더, 셋톱 박스, 내비게이션 장치, 개인용 디지털 보조기(PDA, Personal Digital Assistant), 차량, 휴대용 게임기, 전자 칠판, 전자 광고판, 음향 재생 장치, 현금 자동 입출입기(ATM, Automated Teller Machine), 자판기 및/또는 이외 정보 처리 및 통신 부품을 갖춘 다양한 전자 장치를 포함할 수 있다.
도 2는 유휴 컴퓨팅 자원 활용 시스템의 일 실시예를 설명하기 위한 블록도이다.
이하 유휴 컴퓨팅 자원 활용 시스템(1)의 각 장치(100, 200, 300)의 구성(110 내지 332)를 설명함에 있어서, 서로 동일하거나 중복되는 부분에 대한 설명은 생략하도록 한다. 그러나, 설명이 생략되어 있다고 해서, 설명되는 구성에서 생략된 부분이 배제되는 것은 아니다.
도 2에 도시된 바에 의하면, 중앙 컴퓨팅 장치(100)는, 일 실시예에 있어서, 프로세서(110), 저장부(130) 및 통신부(132)를 포함할 수 있다.
프로세서(120)는, 저장부(130)에 저장된 애플리케이션을 구동시켜, 미리 정의된 연산, 판단, 처리 및/또는 제어 동작 등을 수행할 수도 있다. 여기서, 저장부(130)에 저장된 애플리케이션은, 설계자에 의해 미리 작성되어 저장부(130)에 저장된 것일 수도 있고, 또는 범용 직렬 버스(USB) 등과 같은, 데이터 인터페이스나, 유무선 통신 네트워크를 통해 접속 가능한 전자 소프트웨어 유통망을 통하여 획득 또는 갱신된 것일 수도 있다. 프로세서(120)는, 예를 들어, 중앙 처리 장치(CPU, Central Processing Unit), 마이크로 컨트롤러 유닛(MCU, Micro Controller Unit), 마이컴(Micom, Micro Processor), 애플리케이션 프로세서(AP, Application Processor), 전자 제어 유닛(ECU, Electronic Controlling Unit) 및/또는 각종 연산 처리 및 제어 신호의 생성이 가능한 다른 전자 장치 등을 포함할 수 있다. 이들 장치는 예를 들어 하나 또는 둘 이상의 반도체 칩 및 관련 부품을 이용하여 구현 가능하다.
일 실시예에 의하면, 프로세서(110)는, 중앙 보상 관리부(112) 및 중앙 작업 관리부(118)를 포함할 수 있으며, 필요에 따라 중앙 장애 허용부(116)를 더 포함할 수 있다.
중앙 보상 관리부(112)는 보상의 지급 및 회수를 처리할 수 있다. 예를 들어, 중앙 보상 관리부(112)는, 클라이언트 장치(300)에 제공될 보상을 발행하거나, 클라이언트 장치(300)에 보상을 제공하거나, 클라이언트 장치(300)로부터 제공된 보상을 회수하거나, 제공되거나 회수된 보상을 전체적으로 관리하거나, 및/또는 전체적인 보상의 유통량을 관리할 수 있다.
구체적으로 중앙 보상 관리부(112)는 유휴 컴퓨팅 자원 활용 서비스에 참여하는 클라이언트 장치(300)에 대해 대응하는 보상을 제공할 수도 있다. 이 경우, 중앙 보상 관리부(112)는, 클라이언트 장치(300)가 제공한 유휴 컴퓨팅 자원에 따라서, 보상을 클라이언트 장치(300)에 제공할 수 있다. 예를 들어, 중앙 보상 관리부(112)는, 제공받은 유휴 컴퓨팅 자원에 비례하여 클라이언트 장치(300)에 보상을 제공할 수도 있고, 및/또는 제공받은 유휴 컴퓨팅 자원의 양을 미리 정의된 기준에 따라 불연속적으로 등급화하고 구분된 등급에 따라 보상을 달리하여 클라이언트 장치(300)에 제공할 수도 있다. 또한, 중앙 보상 관리부(112)는 제공받을 수 있는 전체적인 유휴 컴퓨터 자원의 규모나, 참여하는 클라이언트 장치(300)의 개수 등에 따라서 클라이언트 장치(300)에 제공할 보상의 양을 증가시키거나 또는 감소시킬 수도 있다. 실시예에 따라서, 유휴 컴퓨팅 자원은 사전에 정량화되어 있을 수도 있으며, 중앙 보상 관리부(112)는 이를 기반으로 제공된 유휴 컴퓨팅 자원에 대응하는 보상을 결정할 수도 있다.
또한, 중앙 보상 관리부(112)는 유휴 컴퓨팅 자원 활용 서비스를 이용하는 클라이언트 장치(300)로부터 보상을 회수할 수도 있다. 클라이언트 장치(300)가 유휴 컴퓨팅 자원 활용을 요청하면, 중앙 보상 관리부(112)는 요청된 유휴 컴퓨팅 자원의 양에 대응하여 회수할 보상의 양을 결정하고, 이에 대응하여 보상을 회수할 수 있다. 이 경우, 중앙 보상 관리부(112)는, 예를 들어, 제공받은 유휴 컴퓨팅 자원에 비례하는 보상을 클라이언트 장치(300)로부터 회수할 수도 있고, 및/또는 제공할 유휴 컴퓨팅 자원의 양을 불연속적으로 등급화하고 구분하고 이를 기초로 클라이언트 장치(300)로부터 보상을 회수할 수도 있다. 또한, 중앙 보상 관리부(112)는 제공받을 수 있는 전체적인 유휴 컴퓨터 자원의 규모나, 참여하는 클라이언트 장치(300)의 개수 등에 따라 회수할 보상의 크기를 변경시킬 수도 있고, 및/또는 유휴 컴퓨팅 자원을 정량화한 후 이를 이용하여 회수할 보상을 결정할 수도 있다.
실시예에 따라서, 중앙 보상 관리부(112)는 작업 처리 전에 클라이언트 장치(300)가 지불 가능한 보상의 총량을 확인할 수도 있다. 이 경우, 작업의 처리에 이용할 유휴 컴퓨팅 자원은 보상의 총량에 따라서 결정될 수 있다. 예를 들어, 클라이언트 장치(300)에 제공될 자원은, 확인된 보상의 총량에 대응하는 유휴 컴퓨팅 자원의 양과 동일하거나 또는 이보다 적게 결정될 수 있다.
중앙 보상 관리부(112)에 의한 보상의 지급이나 회수는 실시간으로 수행될 수도 있고, 및/또는 작업 처리 전, 작업 처리 중 또는 작업 처리 후에 수행될 수도 있다. 또한, 보상의 지급이나 회수는 단계적으로 수행되는 것도 가능하다.
중앙 보상 관리부(112)는 클라이언트 장치(300)의 단말기 보상 관리부(312)와 직접 연결되어 보상의 지급 및 회수에 대한 데이터를 클라이언트 장치(310)로 전송할 수도 있고, 및/또는 엣지 컴퓨팅 장치(200)를 경유하여 보상의 지급 및 회수에 대한 데이터를 클라이언트 장치(310)로 전송할 수도 있다.
중앙 보상 관리부(112)는, 시스템(1) 내에서 유통되는 보상의 총량을 가변적으로 조절할 수도 있다. 예를 들어, 중앙 보상 관리부(112)는 각 단위 작업 처리에 따라 발행되는 보상의 양을, 클라이언트 장치(300)에 의해 제공되는 컴퓨팅 자원의 규모에 반비례하게 가변적으로 결정할 수도 있다. 이에 따라, 각 클라이언트 장치(300)에 제공되거나 또는 이들(300)로부터 회수되는 보상의 양은 가변적일 수도 있다.
중앙 보상 관리부(112)는, 상술한 바와 같이 작업이 결정되면, 중앙 보상 관리부(112)는 이를 중앙 작업 관리부(118)로 전달한다. 중앙 작업 관리부(118)는 전달받은 작업을 엣지 컴퓨팅 장치(210)나 다른 클라이언트 장치에 전달하여, 요청된 작업이 처리될 수 있도록 한다.
실시예에 따라서, 중앙 보상 관리부(112)는, 외부의 다른 시스템(9)의 자원 사용에 따라 외부의 시스템(9)에 제공될 보상도 관리할 수 있으며, 또한 외부의 시스템(9)의 요청에 따라 외부의 시스템(9)에 자원을 제공하는 경우, 외부의 시스템(9)으로부터 회수할 보상도 관리할 수 있다.
중앙 보상 관리부(112)에 의해 관리되는 보상은 디지털 화폐를 포함할 수도 있다. 디지털 화폐는, 디지털 토큰, 가상 화폐, 암호 화폐, 가상 통화, 디지털 자산, 사이버 머니, 가상 머니 및/또는 포인트 등과 같이 실시예에 따라서 다양한 표현으로 표시될 수 있다. 실시예에 따라서, 디지털 화폐는 실물 화폐와 교환 가능한 것일 수도 있다. 다시 말해서, 보상으로 이용되는 디지털 화폐를 실물 화폐로 교환할 수도 있으며, 실물 화폐를 디지털 화폐로 교환할 수도 있다.
중앙 장애 허용부(116)는, 시스템(1) 또는 중앙 컴퓨팅 장치(100) 내에서 장애가 발생하더라도 안정적으로 시스템(1) 또는 중앙 컴퓨팅 장치(100)가 동작하도록 할 수 있다. 일 실시예에 의하면, 중앙 장애 허용부(116)는 소정의 장애 허용 방법을 단독적으로 또는 종합적으로 이용하여 시스템(1) 또는 중앙 컴퓨팅 장치(100)가 지속적으로 동작하도록 할 수 있다. 여기서, 장애 허용 방법은, 예를 들어, 리플리케이션(replication) 방법이나, 롤백 및 체크포인트 리스타트(Rollback and Checkpoint-Restart) 방법 등을 포함할 수 있다. 다시 말해서, 중앙 장애 허용부(116)는 리플리케이션 방법과 롤백 및 체크포인트 리스타트 방법을 조합적으로 이용해서 시스템(1) 및 장치(100)의 안정적인 동작을 획득할 수도 있다. 리플리케이션 방법과 롤백 및 체크포인트 리스타트 방법을 복합적으로 이용하는 경우, 중앙 장애 허용부(116)는 사용자 작업의 중요도와 수행되는 시스템의 신뢰도에 따라 리플리카를 구성하고, 결함 발생 시 복구를 수행한다. 이에 따라 분산 시스템의 특징을 가지는 유휴 컴퓨팅 자원의 비잔틴 문제가 해결되고, 아울러 연산 결과의 신뢰성이 향상될 수 있게 된다. 상술한 중앙 장애 허용부(116)의 동작에 따라, 시스템(1) 또는 중앙 컴퓨팅 장치(100)는, 제공받는 유휴 컴퓨팅 자원의 변동성에도 불구하고 분산 그리드 형태의 시스템 구조에서도 안정적으로 작업을 처리할 수 있게 된다.
중앙 작업 관리부(118)는, 중앙 컴퓨팅 장치(100)가 수행할 작업을 처리 및 관리하거나, 및/또는 엣지 컴퓨팅 장치(200), 클라이언트 장치(300) 및 외부의 다른 시스템(9) 중 적어도 하나에 대해 작업을 분배하여 이들 장치가 필요한 작업을 처리하도록 관리한다. 구체적으로 중앙 작업 관리부(118)는 클라이언트 장치(300)가 보상을 지불하고, 소정의 작업(예를 들어, 정량화된 작업)을 요청하는 경우, 이를 직접 처리하거나, 및/또는 엣지 컴퓨팅 장치(200), 클라이언트 장치(300) 및 외부 시스템(9) 죽어도 하나에 분배하여, 요청된 작업이 처리될 수 있도록 한다.
일 실시예에 의하면, 중앙 작업 관리부(118)는, 작업을 수행할 적어도 하나의 엣지 컴퓨팅 장치(200)만을 선정할 수 있다. 다시 말해서, 중앙 작업 관리부(118)는 유휴 자원을 이용하여 작업을 수행할 특정한 클라이언트 장치(300)를 직접 선택하지 않을 수 있다. 적어도 하나의 엣지 컴퓨팅 장치(200)의 선정은 적어도 하나의 엣지 컴퓨팅 장치(200)로부터 전달된 프로파일(일례로 동적 프로파일)을 기반으로 수행될 수 있다. 이 경우, 중앙 작업 관리부(118)가 선택한 적어도 하나의 엣지 컴퓨팅 장치(200)는, 작업을 수행할 적어도 하나의 클라이언트 장치(300)를 선택하여, 적어도 하나의 클라이언트 장치(300)가 작업을 수행하도록 할 수 있다.
저장부(130)는, 중앙 컴퓨팅 장치(100)의 동작에 필요한 데이터나 애플리케이션을 일시적 또는 비일시적으로 저장 및 기록한다. 예를 들어, 저장부(130)는, 클라이언트 장치(300)와 관련된 정보(일례로 클라이언트 장치(300)에 대한 식별 번호, 중앙 처리 장치 성능, 주기억장치 용량 및/또는 보조 기억 장치 용량, 특정한 클라이언트 장치(300)에 할당된 엣지 컴퓨팅 장치(200)등), 엣지 컴퓨팅 장치(200)에 대한 정보, 현재 처리되고 있는 작업에 대한 정보나 처리 예정인 작업에 대한 정보, 클라이언트 장치(300)가 가지고 있는 보상에 대한 정보 및/또는 각종 히스토리나 로그 등을 기록, 수정 및/또는 갱신할 수 있다. 이들 정보의 전부 또는 일부는 적어도 하나의 데이터베이스로 저장부(130)에 기록될 수도 있다.
저장부(130)는, 예를 들어, 주기억장치 및 보조기억장치 중 적어도 하나를 포함할 수 있다. 주기억장치는 롬(ROM) 및/또는 램(RAM)과 같은 반도체 저장 매체를 이용하여 구현된 것일 수 있다. 롬은, 예를 들어, 통상적인 롬, 이프롬(EPROM), 이이프롬(EEPROM) 및/또는 마스크롬(MASK-ROM) 등을 포함할 수 있다. 램은 예를 들어, 디램(DRAM) 및/또는 에스램(SRAM) 등을 포함할 수 있다. 보조기억장치는, 플래시 메모리 장치, SD(Secure Digital) 카드, 솔리드 스테이트 드라이브(SSD, Solid State Drive), 하드 디스크 드라이브(HDD, Hard Disc Drive), 자기 드럼, 컴팩트 디스크(CD), 디브이디(DVD) 또는 레이저 디스크 등과 같은 광 기록 매체(optical media), 자기 테이프, 광자기 디스크 및/또는 플로피 디스크 등과 같이 데이터를 영구적 또는 반영구적으로 저장 가능한 적어도 하나의 저장 매체를 이용하여 구현될 수 있다.
통신부(132)는, 엣지 컴퓨팅 장치(200)의 통신부(232) 및 클라이언트 장치(300)의 통신부(332) 중 적어도 하나와, 소정의 통신 기술을 이용하여 통신을 수행할 수 있도록 마련된다. 통신부(132)는 통신 칩, 연결 포트 및/또는 안테나 등을 포함하는 통신 모듈을 이용하여 구현될 수 있다.
엣지 컴퓨팅 장치(200)는, 일 실시예에 있어서, 프로세서(210), 저장부(230) 및 통신부(232)를 포함할 수 있으며, 프로세서(210)는 프로파일 관리부(214) 및 엣지 작업 관리부(218)를 포함할 수 있다. 프로세서(210)는, 필요에 따라, 엣지 장애 허용부(216)를 더 포함할 수도 있다.
프로세서(210)는 상술한 바와 같이 중앙 처리 장치 등을 포함할 수 있으며, 하나 또는 둘 이상의 반도체를 이용하여 구현 가능하다.
프로세서(210)의 프로파일 관리부(214)는 적어도 하나의 클라이언트 장치(300)의 프로파일을 처리 및 관리할 수 있다. 프로파일 관리부(214)에 의해 처리 및 관리되는 프로파일은, 엣지 컴퓨팅 장치(200)와 연결된 특정 클라이언트 집단(391 내지 393 중 어느 하나), 일례로 제1 클라이언트 집단(391)의 클라이언트 장치(391A 내지 391C)로부터 전송된 프로파일을 포함할 수 있다. 프로파일 관리부(214)는, 적어도 하나의 클라이언트 장치(300)로부터 주기적 또는 비주기적으로 전송되는 프로파일(일례로 동적 프로파일)을 취합하고, 작업이나 장애 허용 등에 필요한 정보를 획득한다. 획득된 정보는 가공되거나 또는 가공되지 않고 중앙 컴퓨팅 장치(100)로 전송될 수 있다. 중앙 컴퓨팅 장치(100)는 이와 같은 프로파일 정보를 기반으로 작업을 수행할 적어도 하나의 엣지 컴퓨팅 장치(200)를 선정할 수 있다. 프로파일 관리부(214)에 대한 상세한 설명은 후술한다.
프로세서(210)의 엣지 장애 허용부(216)는, 시스템(1) 또는 엣지 컴퓨팅 장치(200) 내에서 장애가 발생하더라도 안정적으로 시스템(1) 또는 엣지 컴퓨팅 장치(200)가 동작할 수도록 마련된다. 엣지 장애 허용부(216)는, 상술한 중앙 장애 허용부(116)와 동일하게 리플리케이션 방법 및 롤백 및 체크포인트 리스타트 방법 등과 같은 여러 장애 허용 방법 중 어느 하나를 이용하거나 또는 이들을 종합적으로 이용할 수도 있다. 일 실시예에 따르면, 엣지 장애 허용부(216)는, 연산량의 감소 또는 최소화를 위해 클라이언트 장치(300)를 이용하여 장애 허용 작업을 수행할 수도 있다. 이 경우, 엣지 장애 허용부(216)는 먼저 엣지 컴퓨팅 장치(200)와 연결된 그룹(391 내지 393 중 어느 하나) 내의 클라이언트 장치(300)에 대한 정보를 수집하고, 클라이언트 장치(300)에 장애 허용 방법을 위한 제어 작업을 수행할 것을 지시할 수 있다. 지시는 간접 통신 및 그룹 관리를 기반으로 처리될 수 있다. 이와 같이 장애 허용을 위해 클라이언트 장치(300)를 이용하는 경우에도, 클라이언트 장치(300)에 대한 보상이 제공될 수 있으며, 적절한 보상의 제공을 위해 장애 허용을 위해 필요한 작업 역시 사전에 정량화되어 있을 수 있다.
프로세서(210)의 엣지 작업 관리부(218)는, 엣지 컴퓨팅 장치(200)가 수행할 작업을 처리 및 관리하거나, 및/또는 클라이언트 장치(300)에게 작업을 분배하고 클라이언트 장치(300)로부터 작업 결과를 회신할 수 있다. 실시예에 따라서, 엣지 작업 관리부(218)는, 중앙 작업 관리부(118)의 선택에 응하여 작업을 수행할 적어도 하나의 클라이언트 장치(300)를 선택하고 선택된 적어도 하나의 클라이언트 장치(300)에 작업을 분배할 수도 있다. 엣지 작업 관리부(218)는, 상술한 클라이언트 장치(300)의 프로파일 정보를 이용할 수도 있다.
엣지 컴퓨팅 장치(200)의 저장부(230)는, 엣지 컴퓨팅 장치(200)의 동작에 필요한 데이터나 애플리케이션을 일시적 또는 비일시적으로 저장 및 기록할 수 있다. 중앙 컴퓨팅 장치(100)의 저장부(130)에 저장 가능한 각종 정보의 전부 또는 일부는 엣지 컴퓨팅 장치(200)의 저장부(230)에 저장될 수 있다. 이 경우, 엣지 컴퓨팅 장치(200)의 저장부(230)는 엣지 컴퓨팅 장치(200)에 의해 관리되는 클라이언트 집단(391 내지 393 중 어느 하나)와 관련된 정보나 애플리케이션만을 저장, 수정 및/또는 갱신할 수도 있다. 저장부(230) 역시 주기억장치 및 보조기억장치 중 적어도 하나를 포함할 수 있다.
엣지 컴퓨팅 장치(200)의 통신부(232)는, 중앙 컴퓨팅 장치(100)의 통신부(132) 및 클라이언트 장치(300)의 통신부(332) 중 적어도 하나와, 상술한 적어도 하나의 통신 기술을 이용하여 통신을 수행한다. 이에 따라 엣지 컴퓨팅 장치(200)의 지시가 클라이언트 장치(300)로 전달되거나, 클라이언트 장치(300)의 처리 결과가 엣지 컴퓨팅 장치(200)를 거쳐 중앙 컴퓨팅 장치(110)로 전달될 수 있게 된다.
클라이언트 장치(300)는, 일 실시예에 있어서, 프로세서(310), 저장부(330) 및 통신부(332)를 포함할 수 있다.
프로세서(310)는 단말기 보상 관리부(312), 프로파일 생성부(314) 및 단말기 작업 관리부(318)를 포함할 수 있으며, 상술한 바와 같이 중앙 처리 장치나 애플리케이션 프로세서 등을 이용해 구현 가능하다.
단말기 보상 관리부(312)는 클라이언트 장치(300)의 보상을 관리할 수 있다. 구체적으로 단말기 보상 관리부(312)는 유휴 자원의 제공에 따른 보상의 증가와, 타 클라이언트 장치 등의 유휴 자원 사용에 따른 보상의 차감을 관리할 수 있다. 보상 관리부(312)는 중앙 보상 관리부(112)와의 통신을 통해 보상의 증감을 저장부(330) 등에 기록, 삭제, 수정 및/또는 갱신함으로써, 클라이언트 장치(300)가 현재 소지하고 있는 보상을 관리할 수 있다. 보상 관리부(312)는 중앙 보상 관리부(112)와 직접 또는 엣지 컴퓨팅 장치(200)를 통해 간접적으로 연결될 수 있다.
일 실시예에 의하면, 단말기 보상 관리부(312)는, 사용자의 조작에 따라 클라이언트 장치(300)가 유휴 자원 제공 요청을 중앙 컴퓨팅 장치(100) 또는 엣지 컴퓨팅 장치(200)로 전송할 때, 현재 소지하고 있는 보상에 대한 정보도 함께 전달할 수도 있다. 중앙 보상 관리부(112)는, 이에 응하여 요청을 전송한 클라이언트(300)가 현재 소지하고 있는 보상으로 타 클라이언트의 유휴 자원을 어느 정도로 이용할 수 있는지를 판단하고, 판단 결과에 따라서 클라이언트 장치(300)에 대한 서비스 제공 가능 여부를 판단할 수도 있다.
또한, 다른 실시예에 의하면, 유휴 자원 제공 요청이 전송된 이후, 단말기 보상 관리부(312)는 중앙 보상 관리부(112)로부터 회수될 보상의 양을 수신하고, 수신한 보상의 양에 따라서 필요한 동작을 수행할 수도 있다. 예를 들어, 회수될 보상의 양이 충분하면, 단말기 보상 관리부(312)는, 직접 또는 중앙 보상 관리부(112)의 지시에 따라서, 회수될 보상을 차감하여 기록할 수 있다. 반대로 회수될 보상의 양이 충분하지 않은 경우에는, 단말기 보상 관리부(312)는 이에 응하여 에러 신호를 외부로 출력할 것을 제어할 수도 있고, 사용자의 조작이나 미리 정의된 설정에 따라 요청할 작업의 양을 회수될 보상에 대응하여 축소시킬 수도 있으며, 및/또는 유휴 자원 제공 요청 취소 신호를 중앙 컴퓨팅 장치(100)로 전송할 수도 있다.
프로파일 생성부(314)는, 클라이언트 장치(300) 내의 실행 환경 정보, 유휴 자원의 사용이나 제공 패턴 및/또는 실시간 유휴 자원에 대한 정보 등을 동적 프로파일링을 통하여 수집하고, 수집한 정보(즉, 프로파일)를 엣지 컴퓨팅 장치(200)로 전송할 수 있다. 필요에 따라, 프로파일 생성부(314)는 수집한 정보를 미리 정의된 방식에 따라 가공된 것일 수도 있다. 엣지 컴퓨팅 장치(200)는 적어도 하나의 클라이언트(300)로부터 전송된 프로파일(들)을 취합하여, 작업의 분배 등에 이용한다.
단말기 작업 관리부(318)는, 클라이언트 장치(300)가 수행할 작업을 처리 및 관리할 수 있다. 여기서, 클라이언트 장치(300)가 수행할 작업은, 중앙 컴퓨팅 장치(100) 및 엣지 컴퓨팅 장치(200) 중 적어도 하나로부터 전달된 작업을 포함할 수 있다. 중앙 컴퓨팅 장치(100) 및 엣지 컴퓨팅 장치(200) 중 적어도 하나로부터 전달된 작업은, 최초에 요청된 전체 작업의 전부 또는 일부일 수 있다. 각각의 클라이언트 장치(300)의 단말기 작업 관리부(318)는, 서로 상이한 클라이언트 장치(30) 사이의 이질성을 해결하기 위해 소정의 플랫폼을 기반으로 구현될 수도 있다. 또한, 각각의 클라이언트 장치(300)의 단말기 작업 관리부(318)는, 실시예에 따라서, 컨테이너 기반의 불변의 인프라(Immutable Infrastructure) 패러다임을 활용할 수도 있다. 이를 위해 단말기 작업 관리부(318)는 도커(docker)를 이용할 수도 있다.
클라이언트 장치(300)의 저장부(330)는, 클라이언트 장치(300)의 동작에 필요한 데이터나 애플리케이션을 일시적 또는 비일시적으로 저장 및 기록할 수 있다. 예를 들어, 저장부(330)는 클라이언트 장치(300)가 획득한 보상을 저장할 수 있다. 이 경우, 보상은 전자 지갑의 형태로 저장될 수도 있다. 보상은, 사용자의 선택 또는 미리 정의된 설정에 따라서, 클라이언트 장치(300)의 저장부(330) 및 중앙 컴퓨팅 장치(100)의 저장부(130) 중 어느 하나에만 저장될 수도 있다. 예를 들어, 익명성 확보를 위해서 보상은 오직 클라이언트 장치(300)의 저장부(330)에만 저장될 수도 있으며, 보안 강화를 위해서 중앙 컴퓨팅 장치(100)의 저장부(130)에만 저장될 수도 있다. 물론 실시예에 따라서, 보상에 대한 정보는 양자(130, 330) 모두에 저장되는 것도 가능하다. 상술한 바와 동일하게, 저장부(330)도 주기억장치나 보조기억장치 등을 이용해 구현 가능하다.
클라이언트 장치(300)의 통신부(332)는, 중앙 컴퓨팅 장치(100)의 통신부(132) 및 엣지 컴퓨팅 장치(200)의 통신부(232) 중 적어도 하나와, 상술한 바와 같이 통신을 수행할 수 있도록 마련된다. 이에 따라 클라이언트 장치(300)는 중앙 컴퓨팅 장치(100) 및 엣지 컴퓨팅 장치(200) 중 적어도 하나로부터 작업 처리 등에 대한 지시를 받거나, 또는 중앙 컴퓨팅 장치(100)의 통신부(132) 및 엣지 컴퓨팅 장치(200) 중 적어도 하나로 작업 처리 요청을 전송할 수 있게 된다. 또한, 엣지 컴퓨팅 장치(200)로의 프로파일의 전송 역시 가능하게 된다.
이하 동적 그룹 프로파일이 처리되는 과정에 대해서 보다 상세히 설명하도록 한다.
도 3은 동적 그룹 프로파일의 처리의 일 실시예를 설명하기 위한 블록도이다.
도 3에 도시된 바에 의하면, 클라이언트 장치(300)의 프로파일 생성부(314)는, 자원 사용 관리자(314a), 작업 처리 관리자(314b) 및 동적 프로파일러(314c)를 포함할 수 있다. 또한, 엣지 컴퓨팅 장치(200)의 프로파일 관리부(214)는 동적그룹프로파일러(214a), 자원 관리자(214b) 및 프로파일 관리자(241c)를 포함할 수 있다.
자원 사용 관리자(314a)는, 클라이언트 장치(300)의 자원 사용량을 주기적으로 또는 비주기적으로 감시하고, 이를 기반으로 유휴 자원에 대한 정보를 획득한다. 다시 말해서, 자원 사용 관리자(314a)는 서비스 제공 시스템(10)의 요청 없이 클라이언트 장치(300)에 의해 사용되는 자원 및 이에 따라 발생된 유휴 자원에 대한 정보를 획득할 수 있다. 자원 사용 관리자(314a)는 클라이언트 장치(300)의 유휴 자원 정보를 주기적으로 또는 비주기적으로 분석하여 동적 프로파일러에 전송한다.
작업 처리 관리자(314b)는, 클라이언트 장치(300)가 서비스 제공 시스템(10)으로부터 처리할 것을 요청 받은 작업에 대한 작업량을 주기적 또는 비주기적으로 감시할 수 있다. 즉, 작업 처리 관리자(314b)는 자원 제공을 통하여 처리된 작업량에 대한 정보를 획득할 수 있다. 작업 처리 관리자(314b)는 누적 작업 처리량을 주기적으로 또는 비주기적으로 분석하고, 분석 결과를 동적 프로파일러에 전송할 수 있다
동적 프로파일러(314c)는, 클라이언트 장치(300)에 대한 실시간 상태 정보를 나타내는 동적 프로파일을 생성할 수 있다. 동적 프로파일러(314c)는, 주기적 또는 비주기적으로, 자원 사용 관리자(314a)로부터 실시간 유휴 자원 정보를 전달 받고 및/또는 작업 처리 관리자(314b)로부터 누적 작업 처리량에 대한 정보를 전달 받고, 이들 정보를 클라이언트 장치(300) 자체의 정보(예를 들어, 클라이언트 식별 정도 등)와 결합하여 동적 프로파일을 생성할 수 있다. 동적 프로파일러(314c)에 의해 생성된 프로파일은 엣지 컴퓨팅 장치(200)로 전달된다.
엣지 컴퓨팅 장치(200)의 클라이언트 프로파일 관리자(214c)는 적어도 하나의 클라이언트 장치(300)로부터 프로파일을 전달 받고 분석할 수 있다. 이 경우, 적어도 하나의 클라이언트 장치(300)는 특정한 클라이언트 집단, 일례로 제1 클라이언트 집단(391) 내의 모든 또는 일부의 클라이언트 장치(300)일 수 있다. 클라이언트 프로파일 관리자(214c)는 적어도 하나의 클라이언트 장치(300)로부터 전달된 각각의 프로파일로부터 실시간 유휴 자원 정보를 도출한 후, 이를 자원 관리자(214b)로 전달할 수 있다. 또한, 실시예에 따라, 클라이언트 프로파일 관리자(214c)는 클라이언트 장치(300)에 대한 정보를 주기적으로 또는 비주기적으로 동적 그룹 프로파일러(214a)에 전달할 수도 있다.
자원 관리자(214b)는 특정한 클라이언트 집단, 일례로 제1 클라이언트 집단(391) 내의 모든 또는 일부의 클라이언트 장치(300, 일례로 391A, 391B, 391C 등)의 유휴 자원을 통합적으로 관리할 수 있다. 예를 들어, 자원 관리자(214b)는 전체적인 유휴 자원(즉, 각 클라이언트 장치(300)들이 제공 가능한 유휴 자원들의 총합)을 관리할 수 있다. 자원 관리자(214b)는 사용 가능한 유휴 자원을 정량화할 수도 있으며, 또한 주기적으로 또는 비주기적으로 관리 상태 정보를 도출할 수도 있다. 관리 상태 정보는, 작업 처리와 관련된 정보, 전체적인 유휴 자원의 크기, 전체적인 유휴 자원의 사용량 및/또는 전체적인 유휴 자원 중 미사용 중인 유휴 자원의 양 등을 포함할 수 있다.
일 실시예에 의하면, 자원 관리자(214b)은 가상화 기반 유휴 자원 관리 방법을 기반으로 동작할 수도 있다. 이에 대해선 후술한다.
자원 관리자(214b)는 관리 상태 정보 등과 같은 다양한 정보를 동적 그룹 프로파일러(214a)에 전달할 수 있다. 이 경우, 관리 상태에 대한 정보는, 클라이언트 프로파일 관리자(214c)의 클라이언트 장치(300)에 대한 정보와 더불어 동적 그룹 프로파일러(214a)에 전달될 수도 있다.
동적 그룹 프로파일러(214a)는, 특정한 클라이언트 집단, 일례로 제1 클라이언트 집단(391)에 대한 그룹 프로파일을 생성하고 관리할 수 있다. 구체적으로 동적 그룹 프로파일러(214a)는, 각각의 클라이언트 장치(300)들에 대한 정보와, 상술한 관리 상태 정보)를 기반으로 특정한 클라이언트 집단(391 내지 393 중 어느 하나)에 대응하는 동적 그룹 프로파일을 생성할 수 있다. 동적 그룹 프로파일은 특정한 클라이언트 집단(391 내지 393 중 어느 하나)에 대한 실시간 상태를 나타내는 정보들을 포함하여 형성된다. 예를 들어, 동적 그룹 프로파일은, 각각의 클라이언트 장치(300)의 시스템 정보나 자원 제공 패턴에 대한 정보, 전체적인 유휴 컴퓨팅 자원에 대한 정보 등을 포함할 수 있다. 동적 그룹 프로파일은 중앙 컴퓨팅 장치(100)의 중앙 작업 관리부(118)로 전달될 수 있다.
중앙 작업 관리부(118)는 동적 그룹 프로파일러(214a)로부터 전달된 동적 그룹 프로파일을 기반으로, 현재 또는 미래에 사용 가능한 유휴 자원의 양이나, 작업의 처리 가능한 클라이언트 집단(391 내지 393) 등을 판단하고, 이를 기반으로 요청된 작업을 처리할 소정의 클라이언트 집단(391 내지 393 중 어느 하나)을 결정하고 이를 대응하는 엣지 컴퓨팅 장치(200)로 전송할 수 있다.
이하 가상화 기반 유휴 자원 관리 방법을 설명하도록 한다. 가상화 기반 유휴 자원 관리 방법은, 엣지 컴퓨팅 장치(200)의 자원 관리자(214b)에 의해 수행될 수 있다. 그러나, 엣지 컴퓨팅 장치(200)의 자원 관리자(214b) 이외의 다른 장치(예를 들어, 중앙 작업 관리자(118) 등)에 의해서도 후술하는 가상화 기반 유휴 자원 관리 방법이 이용될 수도 있다.
도 4는 자원 관리자에 의한 관리의 일 실시예를 설명하기 위한 도면이다.
자원 관리자(214b)가 서로 상이한 종류(기종)의 클라이언트 장치(300, 예를 들어, 스마트폰(301)과 랩톱 컴퓨터(302) 등)의 유휴 자원을 관리하는 경우, 하드웨어의 특성이나, 클라이언트 장치의 이동성(300), 유휴 자원 사용 가능 시간의 유동성 등에서 발생하는 이질성으로 인하여 관리의 복잡성이 증가하게 된다. 이와 같은 유휴 자원을 단일 계층의 관점에서 관리하는 경우, 개발 및 관리에 상당히 많은 비용과 시간이 소요될 수밖에 없다. 이를 해소하기 위해 자원 관리자(214b)는 도 4에 도시된 바와 같이 복수의 계층을 설정하고, 이를 기반으로 유휴 자원을 관리할 수도 있다.
예를 들어, 자원 관리자(214b)는 3개의 레이어, 즉 제1 레이어(L1), 제2 레이어(L2) 및 제3 레이어(L3)를 기반으로 유휴 자원을 관리할 수도 있다. 이 경우, 제1 레이어(L1), 제2 레이어(L2) 및 제3 레이어(L3)는 계층적으로 구분 및 정의될 수도 있다. 즉, 제1 레이어(L1)는 제2 레이어(L2)의 하위 레이어이고, 제2 레이어(L2)는 제3 레이어(L3)의 하위 레이어로 정의될 수 있다. 그러나, 이는 설명의 편의를 위한 것으로 설계자에 따라서 각각의 레이어는 다양하게 정의 가능하다.
제1 레이어(L1)는 물리적 레이어로, 서로 상이한 종류의 클라이언트 장치(300: 301 내지 306)들의 물리적 구성을 나타내는 레이어일 수 있다. 제1 레이어(L1)는 물리적 클라이언트 장치(300: 301 내지 306)들 각각의 유휴 자원 정보를 분석하여 정확도 높은 정보를 상위 레이어(L2)에 제공한다.
제2 레이어(L2)는 가상적 레이어로, 물리적인 클라이언트 장치(300: 301 내지 306)들의 유휴 자원 정보를 추상화할 수 있다. 구체적으로 제2 레이어(L2)는, 각 클라이언트 장치(300: 301 내지 306)들의 하드웨어적 특성과 플랫폼 유형에 대한 정보를 고려하여, 각 클라이언트 장치(300: 301 내지 306)들의 유휴 자원에 대한 정보를 상위 서비스 계층에 호환성을 제공하는 형태로 가상화할 수 있다. 이 경우, 제2 레이어(L2)는 자원을 추상화한 적어도 하나의 유닛(I1 내지 I6)을 가질 수 있다. 각각의 유닛(I1 내지 I6)들은, 각각의 클라이언트 장치(300: 301 내지 306)마다 대응하여 설정되며, 각각의 클라이언트 장치(300: 301 내지 306)가 제공 가능한 유휴 자원에 대한 정보를 포함할 수 있다.
제1 레이어(L1)에서 제2 레이어(L2)로 가상화하는 방법은, 각각의 클라이언트 장치(300)의 컴퓨팅 자원을 가상화하여 구성함으로써 수행될 수 있다. 이 경우, 프로파일에 저장된 클라이언트 장치(300)의 생존시간(즉, 접속 가능한 기간)이나 사용자 설정 등에 대한 정보가 고려될 수 있다. 한편, 스토리지 자원의 관리는, 일시적으로 분산 인메모리 기반의 데이터베이스를 구축하고 메모리 보호 기법을 적용하는 형태로 구현될 수 있다. 이를 통해 민감한 데이터가 유무선 시스템에 영구적으로 저장되는 것이 방지될 수 있다.
제3 레이어(L3)는, 서비스 레이어로, 제2 레이어(L2)의 유휴 자원을 적어도 하나의 서비스(S1, S2) 단위로 그룹화할 수 있다. 여기서 서비스(S1, S2)는 하나 또는 둘 이상 작업에서 요청되는 하나 또는 둘 이상의 프로세스일 수 있으며, 이와 같은 프로세스의 전부 또는 일부일 수 있다. 제3 레이어는, 적어도 하나의 서비스(S1, S2)에 필요한 연산 작업을 각각의 클라이언트 장치(301 내지 306)에 적절하면서도 공평하게 분배시킬 수 있도록 마련된다. 예를 들어, 서비스(S1, S2)를 가상 컴퓨팅 자원을 균등하게 분배하여 생성함으로써, 유휴 컴퓨팅 자원을 제공하는 모든 클라이언트 장치들(301 내지 306)의 자원이 공평하게 서비스(S1, S2)에 할당되도록 할 수도 있다.
실시에에 따라서, 어느 하나의 서비스(S1, S2)는 하나 또는 둘 이상의 유닛(I1 내지 I6)으로부터 유휴 자원을 가져와 수행될 수도 있다. 예를 들어, 제1 서비스(S1)는 제1 유닛(I1), 제2 유닛(I2) 및 제3 유닛(I3)의 자원(세모로 도시)을 이용하고, 제2 서비스(S2)는 제3 유닛(I3), 제4 유닛(I4) 및 제6 유닛(I6)의 자원(네모로 도시)을 이용하여 처리될 수 있다. 이 경우, 서로 상이한 서비스(S1, S2)가 동일한 유닛, 일례로 제3 유닛(I3)으로부터 유휴 자원을 획득하는 것도 가능하다. 또한, 일부의 유닛, 일례로 제5 유닛(I5)은 어느 서비스(S1, S2)에 의해서도 이용되지 않을 수도 있다. 이는 그 유닛(I5)에 대응하는 클라이언트 장치(305)의 이탈, 거부, 시스템 성능 부족 및/또는 자원 부족 등 때문일 수도 있고, 자원 관리자(214b)에 의해 의도적 또는 임의적으로 배제되어 그럴 수도 있다.
이하 유휴 자원의 사용 과정 및 보상 제공 과정을 보다 구체적으로 설명한다.
도 5는 유휴 자원의 사용 과정 및 보상 제공 과정의 일 실시예를 설명하기 위한 도면이다.
도 5에 도시된 바를 참조하면, 제1 클라이언트(301)는, 서비스 제공(즉, 타 클라이언트(302 내지 305)의 유휴 자원 사용) 요청을, 제1 엣지 컴퓨팅 장치(201)를 경유해서 또는 중앙 컴퓨팅 장치(100)로 직접 전송한다.
중앙 컴퓨팅 장치(100)는, 서비스 제공 요청에 응하여 제1 클라이언트(301)가 소지하고 있는 보상을 회수한다. 이와 동시에 또는 순차적으로 중앙 컴퓨팅 장치(100)는 적어도 하나의 작업에 대한 수행 지시를 적어도 하나의 엣지 컴퓨팅 장치(201, 202)로 전송할 수 있다. 예를 들어, 도 5에 도시된 바와 같이 제2 엣지 컴퓨팅 장치(202)로 작업에 대한 수행 지시가 전달된다. 물론 제1 엣지 컴퓨팅 장치(201)가 제1 클라이언트(301) 외의 다른 클라이언트(미도시)와 연결된 경우에는 제1 엣지 컴퓨팅 장치(201)로 작업에 대한 수행 지시가 전달되는 것도 가능하다. 필요에 따라, 중앙 컴퓨팅 장치(100)는 사전에 제1 클라이언트(301)가 요청한 서비스(적어도 하나의 작업을 포함할 수 있다)의 수행 여부를 결정한 후, 결정된 바에 따라서, 적어도 하나의 작업에 대한 수행 지시를 출력할 수도 있다.
중앙 컴퓨팅 장치(100)는, 작업의 수행 지시와 더불어 엣지 컴퓨팅 장치(201, 202) 또는 작업을 수행할 복수의 클라이언트 장치, 즉 제2 클라이언트 장치 내지 제4 클라이언트 장치(302 내지 304)로 보상을 전달할 수 있다. 상술한 바와 같이 복수의 클라이언트 장치(302 내지 304) 각각에 전달되는 보상의 양은, 예를 들어, 복수의 클라이언트 장치(302 내지 304) 각각이 제공하는 자원의 양에 비례하여 결정될 수도 있다. 또한, 중앙 컴퓨팅 장치(100)는 사전에 참여한 모든 클라이언트 장치(301 내지 305)에 의해 제공 가능한 유휴 컴퓨터 자원의 규모 등에 따라서, 전체적인 보상의 양을 결정 및 생성하고, 결정 및 생성된 보상의 양의 한도 내에서 복수의 클라이언트 장치(302 내지 304) 각각에 적절한 보상(예를 들어, 제공되는 자원량에 비례하는 보상)을 제공할 수도 있다.
제2 엣지 컴퓨팅 장치(202)는, 작업을 분배하고, 분배한 작업의 처리를 각각 연결된 복수의 클라이언트 장치, 즉 제2 클라이언트 장치 내지 제4 클라이언트 장치(302 내지 304)에 지시할 수 있다. 상술한 바와 같이 이들 클라이언트 장치(302 내지 304)는, 하나의 클라이언트 집단(391)에 포함될 수 있으며, 하나의 클라이언트 집단(391)은 제2 엣지 컴퓨팅 장치(202)에 대응하는 것일 수 있다. 실시예에 따라서, 제2 엣지 컴퓨팅 장치(202)는 하나의 클라이언트 집단(391)의 모든 클라이언트 장치(302 내지 305)에 대해 작업을 분배할 수도 있고, 또는 클라이언트(302 내지 305)의 유휴 자원 사용 가능 여부, 클라이언트(302 내지 305)의 유휴 자원 제공 패턴 및/또는 전체적인 작업량 등에 따라서 하나의 클라이언트 집단(391)의 일부의 클라이언트 장치(302 내지 304)에 대해서만 작업을 분배할 수도 있다.
실시예에 따라서, 제2 엣지 컴퓨팅 장치(202)가 작업을 수행할 복수의 클라이언트 장치(302 내지 304) 각각에 대해서, 중앙 컴퓨팅 장치(100)가 생성한 보상을 분배하여 제공할 수도 있다.
상술한 시스템(1, 10) 및 장치(100 내지 300) 등은 다양한 분야의 다양한 사용자에 의해 이용될 수 있다. 예를 들어, 상술한 시스템(1, 10) 및 장치(100 내지 300) 등은 과학적 사실을 증명하기 위해 방대한 양의 컴퓨팅 자원을 요구하는 순수과학 분야 연구 프로젝트 시스템 관리자나, 경제적 이득 또는 자원의 효율적 활용을 목적으로 보상을 얻기 위해 컴퓨팅 자원을 기부하는 컴퓨팅 자원 기부자나, 컴퓨팅 자원 기부를 통해 획득하거나 다른 사용자로부터 구매한 보상을 활용하여 컴퓨팅 자원을 이용하고자 하는 보상 사용자나, 유동적인 트래픽에 대한 서비스 가용성 보장을 위한 방대한 양의 컴퓨팅 자원 풀을 제공하는 퍼블릭 클라우드 사업자 등에 이용될 수 있다.
이하 도 6을 참조하여 유휴 컴퓨팅 자원 활용 방법의 일 실시예에 대해서 설명하도록 한다.
도 6은 유휴 컴퓨팅 자원 활용 방법의 일 실시예를 설명하기 위한 흐름도이다. 도 6에는 두 개의 클라이언트 장치와, 두 개의 클라이언트 장치 각각과 연결된 두 개의 엣지 컴퓨팅 장치와, 하나의 중앙 컴퓨팅 장치를 포함하는 유휴 컴퓨팅 자원 활용 방법에 대해 개시되어 있으나, 클라이언트 장치와 엣지 컴퓨팅 장치와 중앙 컴퓨팅 장치의 개수는 이에 한정되는 것은 아니다. 설계자의 실시 형태 등에 따라서 이들 개수는 다양하게 변형될 수 있다.
도 6에 도시된 바를 참조하면, 먼저 적어도 하나의 클라이언트 장치, 예를 들어 제1 클라이언트 장치 및 제2 클라이언트 장치로부터 유휴 자원 활용 참여 요청이 중앙 컴퓨팅 장치로 전달된다(s10, s12). 유휴 자원 활용 참여 요청은, 중앙 컴퓨팅 장치로 직접 전달될 수도 있고, 또는 각각 제1 엣지 컴퓨팅 장치 및 제2 엣지 컴퓨팅 장치를 경유해서 중앙 컴퓨팅 장치로 전달될 수도 있다.
중앙 컴퓨팅 장치는 제1 엣지 컴퓨팅 장치에 제1 클라이언트 장치에 대한 관리를 지시하고(s14), 또한 제2 엣지 컴퓨팅 장치에 제2 클라이언트 장치에 대한 관리를 지시한다(s18). 제1 클라이언트 장치에 대한 관리 및 제2 클라이언트 장치에 대한 관리는, 제1 클라이언트 장치 및 제2 클라이언트 장치 각각의 유휴 자원에 대한 정보(예를 들어, 프로파일 등)의 획득이나 감시(모니터링) 등을 포함할 수 있다.
제1 클라이언트 장치 및 제2 클라이언트 장치 각각은, 주기적으로 또는 비주기적으로, 제1 엣지 컴퓨팅 장치 및 제2 엣지 컴퓨팅 장치 각각에 프로파일을 제공한다(s16, s20). 프로파일은 상술한 바와 같이 클라이언트 장치 내의 실행 환경 정보, 유휴 자원의 사용이나 제공 패턴 및/또는 실시간 유휴 자원에 대한 정보 등을 수집하여 획득한 것으로, 필요에 따라 가공된 것일 수도 있다.
이후, 제1 클라이언트 장치가 중앙 컴퓨팅 장치로 직접 또는 제1 엣지 컴퓨팅 장치를 경유하여 유휴 자원을 사용한 작업의 실행을 요청할 수 있다(s22). 이 경우, 중앙 컴퓨팅 장치는 유휴 자원의 제공에 대응하는 보상을 결정하고, 제1 클라이언트 장치는 결정된 보상을 중앙 컴퓨팅 장치에 제공한다(s24). 이에 따라 중앙 컴퓨팅 장치는 제1 클라이언트 장치에 제공될 유휴 자원에 대한 보상을 제1 클라이언트 장치로부터 회수한다.
또한, 중앙 컴퓨팅 장치는 요청된 작업의 처리를 위해서 요청된 작업을 소정의 엣지 컴퓨팅 장치, 일례로 제2 엣지 컴퓨팅 장치로 전송할 수도 있다(s26). 중앙 컴퓨팅 장치는, 만약 현재 가용한 유휴 자원이 부족한 경우, 외부의 다른 시스템의 유휴 자원을 이용할 것을 결정하고, 이를 외부의 다른 시스템에 전송할 수도 있다. 이 경우, 중앙 컴퓨팅 장치는 외부의 다른 시스템에 보상을 제공할 수도 있다. 다른 시스템은, 다른 유휴 컴퓨팅 자원 활용 시스템을 포함할 수 있다.
제2 엣지 컴퓨팅 장치는 전송된 작업을, 제2 엣지 컴퓨팅 장치에 대응하는 클라이언트 집단의 클라이언트 장치(들), 일례로 제2 클라이언트 장치에 분배하여 할당하고, 제2 클라이언트 장치에 할당된 작업의 수행 및 처리를 지시한다(s28). 이와 더불어 중앙 컴퓨팅 장치로부터 직접 또는 제2 엣지 컴퓨팅 장치를 경유하여 제2 클라이언트 장치에 보상이 지불된다(s30). 제2 클라이언트 장치에 지불되는 보상은 제2 클라이언트 장치가 처리하는 작업량 등에 따라 결정될 수 있다.
제2 클라이언트 장치는, 제2 엣지 컴퓨팅 장치로부터의 지시에 응하여, 또는 보상의 지불에 응하여, 할당된 작업을 처리할 수 있다(s32). 제2 클라이언트 장치는 처리가 종료되면 처리 결과를 중앙 컴퓨팅 장치로 직접 전달할 수도 있고, 실시예에 따라서, 처리 결과는 제2 엣지 컴퓨팅 장치로 전달된 후(s34), 중앙 컴퓨팅 장치로 전달될 수도 있다.
중앙 컴퓨팅 장치는 처리 결과를 제1 클라이언트 장치로 전송한다(s36). 이에 따라 제1 클라이언트 장치가 처리 요청한 작업은 타 클라이언트 장치의 유휴 자원을 이용하여 처리될 수 있게 된다.
상술한 실시예에 따른 유휴 컴퓨팅 자원 활용 방법은, 컴퓨터 장치에 의해 구동될 수 있는 프로그램의 형태로 구현될 수 있다. 여기서 프로그램은, 프로그램 명령, 데이터 파일 및 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 프로그램은 기계어 코드나 고급 언어 코드를 이용하여 설계 및 제작된 것일 수 있다. 프로그램은 상술한 방법을 구현하기 위하여 특별히 설계된 것일 수도 있고, 컴퓨터 소프트웨어 분야에서 통상의 기술자에게 기 공지되어 사용 가능한 각종 함수나 정의를 이용하여 구현된 것일 수도 있다. 또한, 여기서, 컴퓨터 장치는, 프로그램의 기능을 실현 가능하게 하는 프로세서나 메모리 등을 포함하여 구현된 것일 수 있으며, 필요에 따라 통신 장치를 더 포함할 수도 있다.
상술한 유휴 컴퓨팅 자원 활용 방법을 구현하기 위한 프로그램은, 컴퓨터에 의해 판독 가능한 기록 매체에 기록될 수 있다. 컴퓨터에 의해 판독 가능한 기록 매체는, 예를 들어, 하드 디스크나 플로피 디스크와 같은 자기 디스크 저장 매체, 자기 테이프, 콤팩트 디스크나 디브이디와 같은 광 기록 매체, 플롭티컬 디스크와 같은 자기-광 기록 매체 및 롬, 램 또는 플래시 메모리 등과 같은 반도체 저장 장치 등 컴퓨터 등의 호출에 따라 실행되는 특정 프로그램을 저장 가능한 다양한 종류의 하드웨어 장치를 포함할 수 있다.
이상 단말 장치의 유휴 컴퓨팅 자원 활용 시스템, 장치 및 이를 이용한 유휴 컴퓨팅 자원 활용 방법의 여러 실시예에 대해 설명하였으나, 단말 장치의 유휴 컴퓨팅 자원 활용 시스템, 장치 및 이를 이용한 유휴 컴퓨팅 자원 활용 방법은 오직 상술한 실시예에 한정되는 것은 아니다. 해당 기술 분야에서 통상의 지식을 가진 자가 상술한 실시예를 기초로 수정 및 변형하여 구현 가능한 다양한 장치나 방법 역시 상술한 단말 장치의 유휴 컴퓨팅 자원 활용 시스템, 장치 및 이를 이용한 유휴 컴퓨팅 자원 활용 방법의 일 실시예가 될 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성 요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나 다른 구성 요소 또는 균등물에 의하여 대치되거나 또는 치환되더라도 상술한 단말 장치의 유휴 컴퓨팅 자원 활용 시스템, 장치 및 이를 이용한 유휴 컴퓨팅 자원 활용 방법의 일 실시예가 될 수 있다.
1: 유휴 컴퓨팅 자원 활용 시스템 100: 중앙 컴퓨팅 장치
110: 프로세서 112: 중앙 보상 관리부
116: 중앙 장애 허용부 118: 중앙 작업 관리부
130: 저장부 200: 엣지 컴퓨팅 장치
210: 프로세서 214: 프로파일 관리부
216: 엣지 장애 허용부 218: 엣지 작업 관리부
230: 저장부 300: 클라이언트 장치
312: 단말기 보상 관리부 314: 프로파일 생성부
318: 단말기 작업 관리부 391: 제1 클라이언트 집단
392: 제2 클라이언트 집단 393: 제3 클라이언트 집단

Claims (20)

  1. 유휴 자원을 갖는 적어도 하나의 제1 클라이언트 장치;
    상기 적어도 하나의 제1 클라이언트 장치가 상기 유휴 자원을 제공하는 경우, 상기 유휴 자원에 대응하는 보상을 생성하여 상기 적어도 하나의 제1 클라이언트 장치에 제공하고, 상기 제1 클라이언트 장치의 유휴 자원을 이용하여 작업의 처리를 제어하는 중앙 컴퓨팅 장치; 및
    상기 적어도 하나의 제1 클라이언트 장치로부터 유휴 자원에 대한 정보를 수신하는 엣지 컴퓨팅 장치를 포함하고,
    상기 적어도 하나의 제1 클라이언트 장치는, 상기 적어도 하나의 제1 클라이언트 장치 내의 실행 환경 정보, 유휴 자원의 사용이나 제공 패턴 및 실시간 유휴 자원에 대한 정보 중 적어도 하나를 동적 프로파일링을 통해 수집하여 적어도 하나의 동적 프로파일을 생성하고, 생성한 적어도 하나의 동적 프로파일을 상기 엣지 컴퓨팅 장치에 전달하고,
    상기 엣지 컴퓨팅 장치는,
    상기 적어도 하나의 제1 클라이언트 장치로부터 적어도 하나의 동적 프로파일을 획득하고 분석하는 프로파일 관리자;
    상기 적어도 하나의 제1 클라이언트 장치의 유휴 자원을 통합적으로 관리하는 자원 관리자; 및
    상기 적어도 하나의 제1 클라이언트 장치에 대한 그룹 프로파일을 생성하고, 생성한 그룹 프로파일을 상기 중앙 컴퓨팅 장치로 전송하는 동적 그룹 프로파일러를 포함하고,
    상기 중앙 컴퓨팅 장치는 각각이 상기 엣지 컴퓨팅 장치를 포함하는 복수의 엣지 컴퓨팅 장치들로부터 수신된 복수의 그룹 프로파일들을 기초로 상기 적어도 하나의 제1 클라이언트 장치를 포함하는 제1 클라이언트 그룹을 포함하는 복수의 클라이언트 그룹들 중 요청된 작업을 처리할 클라이언트 그룹을 결정하는,
    유휴 컴퓨팅 자원 활용 시스템.
  2. 삭제
  3. 제1항에 있어서,
    상기 엣지 컴퓨팅 장치는, 물리적 공간에 기반으로 상기 적어도 하나의 제1 클라이언트 장치에 대응하여 마련된 유휴 컴퓨팅 자원 활용 시스템.
  4. 제1항에 있어서,
    상기 중앙 컴퓨팅 장치는, 상기 엣지 컴퓨팅 장치로 상기 작업의 전부 또는 일부를 할당하고,
    상기 엣지 컴퓨팅 장치는, 할당된 상기 작업의 전부 또는 일부를 상기 적어도 하나의 제1 클라이언트 장치 중 적어도 하나에 분배하여, 상기 적어도 하나의 제1 클라이언트 장치 중 적어도 하나가 상기 작업의 전부 또는 일부를 처리하도록 제어하는 유휴 컴퓨팅 자원 활용 시스템.
  5. 삭제
  6. 삭제
  7. 제1항에 있어서,
    상기 자원 관리자는, 서로 상이한 클라이언트 장치의 물리적 구성을 나타내는 물리적 레이어, 상기 서로 상이한 클라이언트 장치의 유휴 자원 정보를 추상화하는 가상적 레이어 및 추상화된 상기 유휴 자원 정보를 서비스 단위로 그룹화하는 서비스 레이어를 이용하여 유휴 자원을 관리하는 유휴 컴퓨팅 자원 활용 시스템.
  8. 제1항에 있어서,
    상기 중앙 컴퓨팅 장치에 상기 작업을 요청하는 제2 클라이언트 장치;를 더 포함하는 유휴 컴퓨팅 자원 활용 시스템.
  9. 제8항에 있어서,
    상기 중앙 컴퓨팅 장치는, 상기 작업에 따라 상기 제2 클라이언트 장치로부터 보상을 회수하는 유휴 컴퓨팅 자원 활용 시스템.
  10. 제8항에 있어서,
    상기 중앙 컴퓨팅 장치는, 상기 제2 클라이언트 장치에 제공될 유휴 자원이 부족한 경우, 외부의 다른 시스템에 보상을 제공하고 상기 외부의 다른 시스템의 유휴 자원을 활용하는 유휴 컴퓨팅 자원 활용 시스템.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020180135852A 2017-11-07 2018-11-07 단말 장치의 유휴 컴퓨팅 자원 활용 시스템 및 이를 이용한 유휴 컴퓨팅 자원 활용 방법 KR102122831B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170147151 2017-11-07
KR1020170147151 2017-11-07

Publications (2)

Publication Number Publication Date
KR20190051878A KR20190051878A (ko) 2019-05-15
KR102122831B1 true KR102122831B1 (ko) 2020-06-15

Family

ID=66579981

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180135852A KR102122831B1 (ko) 2017-11-07 2018-11-07 단말 장치의 유휴 컴퓨팅 자원 활용 시스템 및 이를 이용한 유휴 컴퓨팅 자원 활용 방법

Country Status (1)

Country Link
KR (1) KR102122831B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102054410B1 (ko) * 2019-07-30 2019-12-10 주식회사 바스랩 블록체인 서비스 운영을 위해 위탁된 컴퓨팅 파워에 대한 보상을 제공하는 방법
CN110647391B (zh) * 2019-09-27 2022-04-12 北京邮电大学 面向星地协同网络的边缘计算方法及系统
CN111796940B (zh) * 2020-07-06 2024-01-26 中国铁塔股份有限公司 一种资源分配方法、装置和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100506686B1 (ko) 2002-03-19 2005-08-08 문의선 분산컴퓨팅을 수행한 정보처리기에 대한 기여도 보상시스템 및 기여도 보상 방법
KR100638787B1 (ko) 2004-11-16 2006-10-30 한국과학기술정보연구원 이동단말기를 이용한 이동 그리드 시스템 및 그 운영 방법
JP2015011716A (ja) 2013-06-27 2015-01-19 タタ・コンサルタンシー・サーヴィシズ・リミテッド グリッドコンピューティングシステムの遊休リソースによるタスク実行

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050036039A (ko) * 2003-10-14 2005-04-20 주식회사 이파워게이트 3차원 렌더링 처리를 위한 컴퓨팅자원의 중개시스템 및방법, 이에 사용되는 중개서버
KR101079828B1 (ko) * 2010-03-30 2011-11-03 (주)한양정보통신 그리드 컴퓨팅 시스템 및 그리드 컴퓨팅 서비스 제공방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100506686B1 (ko) 2002-03-19 2005-08-08 문의선 분산컴퓨팅을 수행한 정보처리기에 대한 기여도 보상시스템 및 기여도 보상 방법
KR100638787B1 (ko) 2004-11-16 2006-10-30 한국과학기술정보연구원 이동단말기를 이용한 이동 그리드 시스템 및 그 운영 방법
JP2015011716A (ja) 2013-06-27 2015-01-19 タタ・コンサルタンシー・サーヴィシズ・リミテッド グリッドコンピューティングシステムの遊休リソースによるタスク実行

Also Published As

Publication number Publication date
KR20190051878A (ko) 2019-05-15

Similar Documents

Publication Publication Date Title
US10885033B2 (en) Query plan management associated with a shared pool of configurable computing resources
US9798635B2 (en) Service level agreement-based resource allocation for failure recovery
US8266254B2 (en) Allocating resources in a distributed computing environment
US20170357530A1 (en) Optimization of task execution
US10069752B2 (en) Remote service for executing resource allocation analyses for distributed computer systems
US20130091285A1 (en) Discovery-based identification and migration of easily cloudifiable applications
US11023148B2 (en) Predictive forecasting and data growth trend in cloud services
Yang et al. A cost-based resource scheduling paradigm in cloud computing
US20140229221A1 (en) Cost-minimizing task scheduler
US20120137003A1 (en) Systems and methods for migrating subscribed services from a set of clouds to a second set of clouds
CN104113585A (zh) 用于产生指示负载平衡状态的硬件级中断的方法和设备
KR102122831B1 (ko) 단말 장치의 유휴 컴퓨팅 자원 활용 시스템 및 이를 이용한 유휴 컴퓨팅 자원 활용 방법
CN107003887A (zh) Cpu超载设置和云计算工作负荷调度机构
US10944581B2 (en) Increasing processing capacity of processor cores during initial program load processing
Sathiyamoorthi et al. Adaptive fault tolerant resource allocation scheme for cloud computing environments
KR20150110688A (ko) 인스턴스 호스트 구성
US11327767B2 (en) Increasing resources for partition to compensate for input/output (I/O) recovery event
US11630685B2 (en) Hypervisor and container placement and cost optimization utilizing machine learning
Saxena et al. OFP-TM: An online VM failure prediction and tolerance model towards high availability of cloud computing environments
CN111352592B (zh) 磁盘读写控制方法、装置、设备及计算机可读存储介质
Xu et al. Fault tolerance and quality of service aware virtual machine scheduling algorithm in cloud data centers
US10884818B2 (en) Increasing processing capacity of virtual machines
JP2022088338A (ja) コンピュータ実装方法、システム、コンピュータ・プログラム、及びコンピュータ可読な記録媒体
US10884845B2 (en) Increasing processing capacity of processor cores during initial program load processing
Feldhaus et al. State‐of‐the‐Art Technologies for Large‐Scale Computing

Legal Events

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