KR101678383B1 - 이기종 로봇 및 기기를 이용한 동적 서비스 제공 시스템 및 방법 - Google Patents

이기종 로봇 및 기기를 이용한 동적 서비스 제공 시스템 및 방법 Download PDF

Info

Publication number
KR101678383B1
KR101678383B1 KR1020150074315A KR20150074315A KR101678383B1 KR 101678383 B1 KR101678383 B1 KR 101678383B1 KR 1020150074315 A KR1020150074315 A KR 1020150074315A KR 20150074315 A KR20150074315 A KR 20150074315A KR 101678383 B1 KR101678383 B1 KR 101678383B1
Authority
KR
South Korea
Prior art keywords
concert
service
client
app
resource
Prior art date
Application number
KR1020150074315A
Other languages
English (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 KR1020150074315A priority Critical patent/KR101678383B1/ko
Application granted granted Critical
Publication of KR101678383B1 publication Critical patent/KR101678383B1/ko

Links

Images

Classifications

    • H04L67/16
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • H04L67/2804
    • H04L67/32
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

이기종 로봇 및 기기를 이용한 동적 서비스 제공 시스템 및 방법을 공개한다. 본 발명은 설치되어 구동되는 적어도 하나의 앱에 따라 지정된 기능을 수행하는 적어도 하나의 콘서트 클라이언트 및 기설정된 서비스 네트워크상에 접속된 적어도 하나의 콘서트 클라이언트에 대한 정보를 수집하고, 적어도 하나의 앱이 수행하는 기능을 이용하여 기설정된 서비스 시나리오를 실행하도록 설정된 워크플로우가 포함된 적어도 하나의 콘서트 서비스를 해석하여, 워크플로우에 포함된 앱이 설치되고 활용가능한 적어도 하나의 콘서트 클라이언트를 판별하고, 판별된 콘서트 클라이언트에 설치된 앱을 워크플로우에 따라 구동하여 콘서트 서비스를 실행하는 적어도 하나의 서비스 실행부를 포함한다.

Description

이기종 로봇 및 기기를 이용한 동적 서비스 제공 시스템 및 방법{SYSTEM AND METHOD FOR PROVIDING DYNAMIC SERVICE USING HETEROGENEOUS ROBOTS AND DEVICES}
본 발명은 동적 서비스 제공 시스템 및 방법에 관한 것으로, 특히 이기종 로봇 및 기기를 이용한 동적 서비스 제공 시스템 및 방법에 관한 것이다.
IT 기술과 소형 정보통신 기기의 발전으로 인해 개인 기기 및 사물 인터넷(IoT : Internet of Things) 개념이 적용된 다양한 센서와 장치 및 로봇 등이 네트워크 상에서 서로 연결될 수 있게 되었다. 이에 네트워크 상에서 서로 연결된 이기종 로봇 및 IP 기반 기기들 각각이 개별적으로 제공하는 서비스들을 융합하여, 사용자에게 새로운 융합 서비스를 제공하는 방법에 대한 연구가 진행되고 있다. 이러한 새로운 융합 서비스로서 다양한 IP 기반 기기 및 로봇을 통합 연결하여 사용자가 원하는 기능을 제공하는 서비스를 콘서트 서비스(Concert Service)라고 한다.
여기서 이기종 로봇은 서로 다른 기능을 수행하도록 제작된 로봇들을 의미하며, IP 기반 기기는 전통적인 IP 기기인 PC, 노트북, PDA 등과 같은 컴퓨터와 스마트폰, 태블릿과 같은 스마트 기기와 IP 카메라, 모션 센서 등과 같은 IP 기반의 센서 및 다른 IP 기반 네트워크 기기에 연결되는 센서, 그리고 스마트 조명, 스마트 TV 등을 포함하는 네트워크에 연결 가능한 모든 기기를 의미한다.
상기한 IP 기반 기기들과 로봇은 통상적으로 WIFI와 같은 무선 네트워크 환경에서 연결되어 콘서트 서비스에 지정된 기능을 제공하지만, 무선 네트워크 환경의 특성에 따라 각 기기 및 로봇의 네트워크 접속 상태는 빈번하게 변경된다. 그러나 기존에 다양한 IP 기반 기기 및 로봇을 활용하는 콘서트 서비스는 특정 기능을 호출할 때, 해당 기능에 대응하는 기기 또는 로봇이 미리 지정됨에 따라, 해당 기기 또는 로봇 만을 이용하여야 하였다. 따라서 각 기기나 로봇에서 오류가 발생할 경우를 대비하기 위해서는 매우 복잡한 오류 처리 기법이 고려되어야 하였다. 또한 동일한 기능을 제공하는 이기종의 로봇 또는 기기를 오류가 발생한 기기를 대체하기 어렵다는 문제가 있다. 뿐만 아니라, 동일한 기기나 로봇이 동일 네트워크 상에 존재하더라도, 대부분 콘서트 서비스가 실행되기 전에 서비스에 운용되는 기기 및 로봇의 운용 대수 및 고유 식별자가 지정되는 경우가 많아, 문제가 발생한 기기나 로봇을 대체하기 어려울 뿐만 아니라, 대체할 수 있더라도 미리 지정된 서비스 순서에 따라 운용되어 신속한 처리가 어렵다는 문제가 있다.
그리고 다양한 IP 기반 기기 및 로봇을 활용하는 융합 서비스는 여러 자원의 상태(네트워크 상태, 기기 상태 등)에 따라 복잡한 오류 처리 기법을 고안하더라도, 불가피하게 전체 서비스를 중단하고 서비스를 재구성하거나 재시작해야 하는 경우가 빈번하게 발생하고 있다.
한국 등록 특허 제10-1306556호 (2013.09.03 등록)
본 발명의 목적은 이기종 로봇 및 IP 기반 기기로 구현되는 콘서트 클라이언트들에 오류 발생 시에도 동적으로 콘서트 클라이언트들을 관리할 수 있도록 하여, 서비스 중단없이 안정적인 콘서트 서비스를 제공할 수 있도록 하는 동적 서비스 제공 시스템을 제공하는데 있다.
본 발명의 다른 목적은 상기 목적을 달성하기 위한 동적 서비스 제공 방법을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 일 예에 따른 동적 서비스 제공 시스템은 설치되어 구동되는 적어도 하나의 앱에 따라 지정된 기능을 수행하는 적어도 하나의 콘서트 클라이언트; 및 기설정된 서비스 네트워크상에 접속된 상기 적어도 하나의 콘서트 클라이언트에 대한 정보를 수집하고, 상기 적어도 하나의 앱이 수행하는 기능을 이용하여 기설정된 서비스 시나리오를 실행하도록 설정된 워크플로우가 포함된 적어도 하나의 콘서트 서비스를 해석하여, 상기 워크플로우에 포함된 앱이 설치되고 활용가능한 상기 적어도 하나의 콘서트 클라이언트를 판별하고, 판별된 콘서트 클라이언트에 설치된 상기 앱을 상기 워크플로우에 따라 구동하여 상기 콘서트 서비스를 실행하는 적어도 하나의 서비스 실행부; 를 포함한다.
상기 적어도 하나의 서비스 실행부는 상기 서비스 네트워크 상에 접속된 상기 적어도 하나의 콘서트 클라이언트에 대한 정보를 수집하는 컨덕터; 사용자에게 제공할 상기 적어도 하나의 콘서트 서비스가 저장되는 서비스 관리부; 상기 적어도 하나의 콘서트 클라이언트에 대한 정보를 인가받고, 자원 요청이 인가되면, 상기 적어도 하나의 콘서트 클라이언트에 대한 정보를 분석하고 현재 활용 가능한 콘서트 클라이언트를 검색하여 서비스 자원으로 할당하는 자원 스케줄러; 및 사용자 명령인 서비스 실행 명령에 응답하여, 상기 서비스 관리부에 저장된 적어도 하나의 콘서트 서비스 중 대응하는 콘서트 서비스를 인가받아 해석하여 실행하며, 상기 콘서트 서비스 실행 중 상기 워크플로우에 포함된 기능을 판별하여 상기 자원 스케줄러로 상기 자원 요청을 전송하고, 상기 자원 스케줄러에서 할당되는 적어도 하나의 상기 콘서트 클라이언트에서 구동되는 상기 앱을 상기 워크플로우에 따라 제어하여 상기 콘서트 서비스를 실행하는 서비스 실행부; 를 포함하는 것을 특징으로 한다.
상기 자원 스케줄러는 할당된 상기 콘서트 클라이언트와 대응하는 통신 채널을 상기 서비스 실행부로 통지하고, 할당된 상기 콘서트 클라이언트로 상기 통신 채널 정보와 함께 앱 구동 요청을 전송하여 상기 콘서트 서비스에 대응하는 앱이 구동되도록 하며, 상기 콘서트 서비스 실행 중 상기 적어도 하나의 콘서트 클라이언트에 대한 정보를 분석하여 기할당된 상기 콘서트 클라이언트에 오류가 발생한 것으로 판단되면, 상기 콘서트 클라이언트에서 구동되는 상기 앱의 기능에 대응하는 기능을 제공하는 앱이 설치된 다른 콘서트 클라이언트를 상기 서비스 자원으로 할당하는 것을 특징으로 한다.
상기 동적 서비스 제공 시스템은 상기 적어도 하나의 앱을 저장하는 적어도 하나의 앱 저장부; 상기 적어도 하나의 앱 저장부에 저장된 상기 적어도 하나의 앱 각각에 대응하는 메타 정보를 수집하여 저장하는 메타 정보 저장부; 및 상기 적어도 하나의 앱을 이용하여 기설정된 서비스 시나리오를 실행하도록 설정된 워크플로우가 포함된 적어도 하나의 콘서트 서비스를 저장하는 서비스 저장부; 를 더 포함하는 것을 특징으로 한다.
상기 다른 목적을 달성하기 위한 본 발명의 일 예에 따른 동적 서비스 제공 방법은 설치되어 구동되는 적어도 하나의 앱에 따라 지정된 기능을 수행하는 적어도 하나의 콘서트 클라이언트 및 서비스 실행부를 포함하는 동적 서비스 제공 시스템의 동적 서비스 제공 방법에 있어서, 상기 서비스 실행부가 기설정된 서비스 네트워크상에 접속된 상기 적어도 하나의 콘서트 클라이언트에 대한 클라이언트 정보를 수집하는 단계; 상기 서비스 실행부가 상기 적어도 하나의 앱을 이용하여 기설정된 서비스 시나리오를 실행하도록 설정된 워크플로우가 포함된 적어도 하나의 콘서트 서비스에 대한 사용자의 서비스 실행 명령이 인가되는지 판별하는 단계; 상기 서비스 실행 명령이 인가된 것으로 판별되면, 상기 적어도 하나의 콘서트 서비스를 해석하여 실행하며, 상기 콘서트 서비스 실행 중 실시간으로 상기 워크플로우에 포함된 앱을 설치 및 활용 가능한 상기 적어도 하나의 콘서트 클라이언트를 판별하여 서비스 자원으로 할당하는 단계; 및 판별된 콘서트 클라이언트의 상기 앱을 상기 워크플로우에 따라 구동하여 상기 콘서트 서비스의 기능을 실행하는 단계; 를 포함한다.
상기 콘서트 클라이언트에 대한 정보를 수집하는 단계는 상기 서비스 네트워크에 접속된 것을 판단할 수 있도록 기지정된 제로콘프 표준 기술에 따라 상기 서비스 네트워크에 접속되는 상기 적어도 하나의 콘서트 클라이언트를 감지하는 단계; 감지된 상기 적어도 하나의 콘서트 클라이언트 각각으로부터 설치되었거나 설치 가능한 앱 내역을 포함한 상기 클라이언트 정보를 인가받아 저장하는 단계; 및 감지된 상기 적어도 하나의 콘서트 클라이언트 각각으로 상기 서비스 실행부가 콘서트 마스터임을 통지하는 단계; 를 포함하는 것을 특징으로 한다.
상기 서비스 자원으로 할당하는 단계는 상기 워크플로우에 포함된 앱이 설치되었거나, 설치 가능한 상기 적어도 하나의 콘서트 클라이언트 중 실시간으로 앱을 설치 및 구동 가능한 콘서트 클라이언트를 판별하는 단계; 판별된 상기 적어도 하나의 콘서트 클라이언트로 통신 채널을 설정하여 통신을 연결하는 단계; 및 통신 연결된 상기 적어도 하나의 콘서트 클라이언트로 상기 워크플로우에 포함된 상기 앱의 구동 요청을 전송하는 단계; 를 포함하는 것을 특징으로 한다.
상기 서비스 자원으로 할당하는 단계는 상기 앱의 구동 요청을 전송하는 단계 이전, 상기 통신 연결된 상기 적어도 하나의 콘서트 클라이언트에 상기 앱이 설치되어 있는지 판별하는 단계; 및 상기 앱이 설치되어 있지 않은 것으로 판별되면, 상기 적어도 하나의 콘서트 클라이언트의 앱 관리자로 앱 설치 명령을 전송하는 단계; 를 더 포함하는 것을 특징으로 한다.
상기 콘서트 서비스를 실행하는 단계는 상기 워크플로우에 따라 상기 적어도 하나의 콘서트 클라이언트에서 구동된 앱을 제어하는 단계; 상기 적어도 하나의 콘서트 클라이언트에 대한 정보를 분석하여, 기할당된 상기 콘서트 클라이언트의 오류 발생 여부를 판별하는 단계; 및 상기 콘서트 클라이언트에 오류가 발생한 것으로 판단되면, 상기 콘서트 클라이언트에서 구동되는 상기 앱의 기능에 대응하는 기능을 수행하는 앱이 설치된 다른 콘서트 클라이언트를 상기 서비스 자원으로 할당하여 상기 대응하는 앱을 구동하는 단계; 를 포함하는 것을 특징으로 한다.
따라서, 본 발명의 이기종 로봇 및 기기를 이용한 동적 서비스 제공 시스템 및 방법은 이기종 로봇 및 IP 기반 기기로 구현되어 구동되는 앱에 따라 기능을 수행하는 콘서트 클라이언트들의 상태를 수집 분석하고, 콘서트 서비스를 실행하는 동안 콘서트 클라이언트들에 설치된 앱을 기반으로 콘서트 서비스에 필요한 기능을 제공할 수 있는 콘서트 클라이언트를 실시간으로 판단하며, 판단된 콘서트 클라이언트를 이용하여 콘서트 서비스를 실행한다. 그러므로 콘서트 서비스를 실행하는 콘서트 클라이언트를 미리 지정할 필요가 없다. 콘서트 서비스 실행 중 사용 가능한 콘서트 클라이언트를 선택하여 이용하므로, 콘서트 서비스의 활용도를 높일 수 있고, 이용하고 있는 콘서트 클라이언트에 문제가 발생하면 대응하는 기능을 수행하는 앱이 설치된 다른 콘서트 클라이언트를 즉시 활용할 수 있으므로, 콘서트 서비스가 중단되는 것을 방지한다. 또한 복수개의 콘서트 서비스가 동일한 콘서트 클라이언트를 함께 활용할 수 있도록 하므로, 콘서트 서비스의 활용성을 더욱 높일 수 있다.
도1 은 이기종 로봇 및 기기를 이용한 동적 서비스 제공 시스템의 일 실시예를 나타낸다.
도2 는 도1 의 서비스 실행부의 구성의 일예를 나타낸다.
도3 은 동적 서비스 제공 방법의 일 실시예를 나타낸다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 설명하는 실시예에 한정되는 것이 아니다. 그리고, 본 발명을 명확하게 설명하기 위하여 설명과 관계없는 부분은 생략되며, 도면의 동일한 참조부호는 동일한 부재임을 나타낸다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...부", "...기", "모듈", "블록" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도1 은 이기종 로봇 및 기기를 이용한 동적 서비스 제공 시스템의 일 실시예를 나타낸다.
도1 에 도시된 바와 같이 본 발명의 동적 서비스 제공 시스템은 네트워크를 통해 서로 연결되는 앱 저장부(100), 메타 정보 저장부(200), 서비스 저장부(300) 및 서비스 실행부(400)를 구비한다.
앱 저장부(100)는 콘서트 서비스에 이용되는 적어도 하나의 로봇(C5) 또는 IP 기반 기기(C1 ~ C4)(이하 콘서트 기기)에 설치되어 구동될 적어도 하나의 앱(App)을 저장한다. 여기서 앱 저장부(100)에 저장되는 적어도 하나의 앱은 로봇(C5) 또는 콘서트 기기(C1 ~ C4)의 제조사에서 제공할 수도 있으며, 별도의 앱 제작자들이 각각의 로봇(C5) 이나 콘서트 기기(C1 ~ C4)에 대응하는 앱을 개발하여 앱 저장부(100)에 저장할 수도 있다.
본 발명에서 적어도 하나의 로봇(C5) 및 콘서트 기기(C1 ~ C4)는 적어도 하나의 앱(APP)을 인가받아 설치하고, 설치된 앱에 의해 지정되는 기능을 수행할 수 있는 기기를 통칭한다. 즉 적어도 하나의 로봇(C5) 및 콘서트 기기(C1 ~ C4)는 앱이 수행 가능한 기능을 지정하며, 특정 앱이 구동되면, 구동된 해당 앱에 대응하는 기능을 수행한다. 콘서트 기기(C1 ~ C4)는 일예로 노트북(C1), PC(C2), 스마트폰(C3), 스마트 패드(C4) 등으로 구현될 수 있다. 또한 적어도 로봇(C5) 및 콘서트 기기(C1 ~ C4) 각각은 다양한 스마트 기기에서 확인할 수 있듯이, 하나의 앱만 설치되는 것이 아니라 복수개의 앱이 설치될 수 있으며, 설치된 앱 중 현재 구동되는 앱에 따라 서로 다른 기능을 수행할 수 있다. 그리고 적어도 하나의 로봇(C5) 및 콘서트 기기(C1 ~ C4)는 동시에 복수개의 앱이 구동될 수도 있으며, 하나의 앱이 구동되더라도 구동되는 앱에 따라 복수개의 기능을 수행할 수도 있다.
또한 적어도 하나의 로봇(C5) 및 콘서트 기기(C1 ~ C4)는 설치된 적어도 하나의 앱을 설치하고 구동하기 위한 앱 관리자(App manager)가 미리 설치될 수 있다. 앱 관리자는 서비스 실행부(400)의 요청에 따라 콘서트 서비스를 실행하기 위한 기능을 제공하는 앱을 설치하거나 구동한다.
본 발명에서는 설명의 편의를 위해 콘서트 서비스를 위해 이용되는 적어도 하나의 로봇(C5) 및 콘서트 기기(C1 ~ C4)를 통합하여 콘서트 클라이언트(Concert Client)라 칭한다.
도1 에서는 설명의 편의를 위해 하나의 앱 저장부(100)만을 도시하였으나, 앱 저장부(100)는 적어도 하나의 콘서트 클라이언트(C1 ~ C5) 각각의 플랫폼에 대응하여 복수개로 구비될 수 있다. 여기서 플랫폼은 적어도 하나의 콘서트 클라이언트(C1 ~ C5) 각각에 설치되어, 앱에 의해 하드웨어가 구동되도록 제어하는 기반 소프트웨어 프로그램으로 일반적으로 적어도 하나의 콘서트 클라이언트(C1 ~ C5) 각각에 설치된 운영체제(Operation System : OS)를 의미한다. 상기한 앱 관리자 또한 플랫폼에 포함되어 구성될 수 있다. 또한 본 발명의 동적 서비스 제공 시스템에서 적어도 하나의 콘서트 클라이언트(C1 ~ C5)의 플랫폼은 별도의 작업없이 네트워크 상의 다른 콘서트 클라이언트나 서비스 실행부(400)가 적어도 하나의 콘서트 클라이언트(C1 ~ C5)의 네트워크 접속 여부를 판별할 수 있도록 제로콘프(Zeroconf) 표준 기술을 이용하여 네트워크에 접속하도록 한다.
그리고 본 발명의 동적 서비스 제공 시스템은 다양한 플랫폼의 콘서트 클라이언트(C1 ~ C5)를 활용하기 위해, 각 플랫폼에 대응하는 복수개의 앱 저장부(100)를 포함할 수 있다. 다만 기존에도 다양한 플랫폼 기반 앱 저장부(100)(예를 들면 Ubuntu Deb, Google Play 등)가 이미 서비스되고 있으므로, 본 발명의 동적 서비스 제공 시스템을 위한 별도의 앱 저장부(100)는 구비되지 않아도 무방하다. 즉 기존에 서비스되고 있는 앱 저장부(100)를 사용할 수 있다. 이때 앱 저장부(100)는 콘서트 클라이언트(C1 ~ C5)를 위한 앱 뿐만이 아니라 다른 기기를 위한 앱도 함께 저장될 수 있다.
그리고 앱 저장부(100)에 저장되는 적어도 하나의 앱은 대응하는 앱 메타 정보(App Meta data : AMD)가 함께 저장될 수 있다. 여기서 앱 메타 정보(AMD)는 대응하는 앱이 수행하는 기능과 플랫폼 정보, 인터페이스 방식에 따른 메시지 규격 정보 등을 포함할 수 있다. 그리고 본 발명에서 인터페이스 방식에 따른 메시지 규격은 앱을 활용하는 콘서트 서비스들 사이에 높은 이식성을 가질 수 있도록 추상화된 공개 인터페이스로 구현되는 것이 바람직하다.
메타 정보 저장부(200)는 콘서트 서비스에 활용될 수 있는 앱들에 대한 메타 정보를 수집하여 저장한다. 메타 정보 저장부(200)는 적어도 하나의 앱 저장부(100)에 저장된 앱 중 콘서트 서비스에 활용 가능한 것으로 지정된 앱들을 검색하고, 검색된 앱과 함께 저장된 앱 메타 정보(AMD)를 적어도 하나의 앱 저장부(100) 각각으로부터 수신하여 저장한다. 또한 앱 제작자나 콘서트 서비스 제작자가 앱 메타 정보(AMD)만을 별도로 메타 정보 저장부(200)로 전송하여 저장할 수 있다.
메타 정보 저장부(200)는 단순히 앱 메타 정보(AMD)를 수집하여 저장하는것이 아니라 주기적으로 앱의 업데이트 정보나 앱 메타 정보(AMD)의 업데이트 정보를 분석하여 최신의 앱 메타 정보(AMD)가 유지되도록 갱신하고, 갱신된 앱 메타 정보(AMD)를 서비스 저장부(300)나 서비스 실행부(400)로 전송할 수 있다. 따라서 앱 메타 정보(AMD)의 업데이트에 의해 인터페이스 방식에 따른 메시지 규격 정보가 변경되더라도, 변경된 메시지 규격 정보가 즉시 콘서트 서비스에 적용될 수 있도록 함으로써, 서비스 실행부(400)과 콘서트 클라이언트(C1 ~ C5) 사이 및 콘서트 클라이언트(C1 ~ C5) 간의 통신 시에 오류가 발생하지 않도록 한다.
추가적으로 메타 정보 저장부(200)는 수집된 메타 정보를 분석하여, 동일한 기능을 수행하는 복수개의 앱들에 대한 앱 그룹을 설정할 수도 있다. 이는 상기한 바와 같이 적어도 하나의 콘서트 클라이언트(C1 ~ C5)가 서로 다른 플랫폼을 구비할 수 있음에 따라 동일한 앱이 각 플랫폼에 따라 구분되어 앱 저장부(100)에 저장될 수 있기 때문이다. 이렇게 메타 정보 저장부(200)가 동일한 기능을 수행하는 앱들을 동일한 앱 그룹으로 설정하면, 이후 특정 기능을 수행해야하는 콘서트 클라이언트(C1 ~ C5)가 네트워크에 접속되지 않거나 고장 등에 의한 오류가 발생하는 경우에, 동일한 기능을 수행하는 다른 앱이 설치된 다른 콘서트 클라이언트(C1 ~ C5)를 확인하고 구동할 수 있도록 하여 콘서트 서비스가 중지되지 않도록 할 수 있다. 그리고 메타 정보 저장부(200)는 메타 정보 분석을 통해, 동일한 앱이나 동일한 기능을 수행하는 앱이 아니더라도, 기능 대체 가능한 앱을 판별하여 앱 그룹에 함께 포함할 수도 있다.
한편 서비스 저장부(300)는 적어도 하나의 콘서트 서비스를 저장한다. 여기서 적어도 하나의 콘서트 서비스 각각은 기설정된 서비스 시나리오에 따라, 적어도 하나의 콘서트 클라이언트(C1 ~ C5)의 앱을 구동하여 콘서트 클라이언트가 필요한 기능을 실행할 수 있도록, 적어도 하나의 앱과 대응하는 앱 메타 데이터를 이용한 워크플로우(Workflow)를 포함하는 형태로 제작된다. 워크플로우는 구동할 앱의 동작을 기술하는 스크립트 언어로 작성되거나, 스크립트 언어로 변환되어 콘서트 서비스에 포함된다. 즉 본 발명에서 콘서트 서비스는 각각 콘서트 클라이언트가 지정된 기능을 수행하도록 제어하기 위해, 각 기능에 대응하는 적어도 하나의 앱의 구동 순서가 스크립트 언어로 작성된 워크플로우를 포함함으로써, 사용자에게 필요한 서비스를 제공하도록 한다. 워크플로우는 하나의 앱을 구동하도록 작성될 수도 있으며, 복수개의 앱을 순차적으로 또는 동시에 구동하도록 작성될 수 있다. 여기서 구동되는 앱은 하나의 콘서트 클라이언트(C1 ~ C5) 내에서 복수개의 앱이 구동될 수도 있으며, 복수개의 클라이언트(C1 ~ C5) 각각에서 동일한 또는 서로 다른 앱이 구동될 수도 있다.
그리고 콘서트 서비스는 서비스에 대한 설명과 서비스 실행을 위해 필요한 앱 정보, 앱 정보에 대응하는 앱 메타 정보 및 사용자 인터페이스 등의 서비스 부가 정보를 더 포함할 수 있다. 경우에 따라서 서비스 부가 정보는 서비스 메타 정보로 콘서트 서비스와 별도로 구분되어 서비스 저장부(300)에 저장될 수 있다.
한편 서비스 저장부(300)는 저장된 콘서트 서비스를 적어도 하나의 서비스 실행부(400)로 배포한다. 서비스 저장부(300)는 저장된 콘서트 서비스를 그대로 서비스 실행부(400)로 배포할 수도 있으나, 저장된 적어도 하나의 콘서트 서비스에 대한 리스트를 작성하여 서비스 실행부(400)로 배포하고, 이후 서비스 실행부(400)로부터 서비스 요청이 수신되면, 대응하는 콘서트 서비스만을 해당 서비스 실행부(400)로 전송할 수도 있다.
메타 정보 저장부(200)와 서비스 저장부(300)는 네트워크 상의 서버나 데이터베이스로 구현될 수 있으며, 일예로 클라우드 서버(Cloud Server)로 구현될 수 있다. 또한 도1 에서는 설명의 편의를 위해 메타 정보 저장부(200)와 서비스 저장부(300)를 구분하여 표시하였으나, 메타 정보 저장부(200)는 서비스 저장부(300)에 포함되어도 무방하다.
서비스 실행부(400)는 적어도 하나의 콘서트 클라이언트(C1 ~ C5)를 구동하여 실제 콘서트 서비스를 실행하는 콘서트 마스터(Concert Master)이다. 서비스 실행부(400)는 서버 저장부(300)로부터 콘서트 서비스를 수신하여 저장하고, 서비스 네트워크 내에 접속된 적어도 하나의 콘서트 클라이언트(C1 ~ C5)에 대한 정보를 수집하여, 활용 가능한 콘서트 클라이언트(C1 ~ C5)를 판단하며, 판단된 활용 가능한 콘서트 클라이언트(C1 ~ C5)를 이용하여 콘서트 서비스를 실행한다.
여기서 서비스 네트워크는 서비스 실행부(400)가 콘서트 클라이언트(C1 ~ C5)를 제어하기 위한 네트워크로서, 앱 저장부(100), 메타 정보 저장부(200) 및 서비스 저장부(300)와 접속하기 위한 도1 의 네트워크와는 구분될 수 있다. 일반적으로 서비스 네트워크는 소규모 네트워크로서 근거리 통신망(Local Area Network)등으로 구현될 수 있으며, 상기한 바와 같이 WIFI와 같은 소규모 무선 네트워크를 포함하여 구성되는 경우가 대부분이다.
서비스 실행부(400)는 기설정된 주기로 서비스 네트워크 내에 접속된 적어도 하나의 콘서트 클라이언트(C1 ~ C5)에 대한 정보를 수집하고 분석하여, 접속된 콘서트 클라이언트(C1 ~ C5)와 콘서트 클라이언트(C1 ~ C5) 각각에 설치되거나 설치 가능한 앱을 판별한다. 또한 각각의 콘서트 클라이언트(C1 ~ C5)가 이전 실행된 다른 콘서트 서비스에 따른 기능을 수행 중인지 여부를 판별한다.
그리고 서비스 저장부(300)가 배포한 콘서트 서비스를 수신하여 저장하거나, 콘서트 서비스 리스트를 수신하여 저장한다. 그리고 사용자 명령에 응답하여 적어도 하나의 콘서트 서비스를 실행한다.
서비스 실행부(400)는 콘서트 서비스를 실행하는 동안, 실시간으로 요구되는 기능 자원을 판별하고, 판별된 기능 자원이 구비된 콘서트 클라이언트(C1 ~ C5)와 서비스 네트워크를 통해 통신을 수행하여 사용 가능 여부를 판별한다. 그리고 사용 가능한 것으로 판별된 콘서트 클라이언트(C1 ~ C5)를 이용하여 콘서트 서비스를 사용자에게 제공한다. 여기서 기능 자원은 콘서트 클라이언트(C1 ~ C5)에서 구동되는 앱이 실행할 수 있는 기능을 의미한다. 상기한 바와 같이 본 발명에서 실제 사용자에게 서비스를 제공하는 것은 콘서트 클라이언트(C1 ~ C5)이며, 콘서트 클라이언트(C1 ~ C5)는 구동되는 앱에 따라 지정된 기능을 수행한다. 그리고 콘서트 서비스는 적어도 하나의 앱을 실행하기 위한 워크플로우로 작성되며, 통상적으로 복수개의 앱을 실행하도록 작성된다. 이때 워크플로우에 따라 실행되는 복수개의 앱은 하나의 콘서트 클라이언트(C1 ~ C5)에서 실행될 수도 있으며, 복수개의 콘서트 클라이언트(C1 ~ C5)에서 동일하거나 서로 다른 앱이 동시에 또는 순차적으로 실행될 수도 있다.
본 발명에서 서비스 실행부(400)는 콘서트 서비스를 실행하기 위한 콘서트 클라이언트(C1 ~ C5)를 미리 설정하지 않고, 해당 기능을 수행하는 앱이 설치되어 구동될 수 있는 콘서트 클라이언트(C1 ~ C5)를 판별하여, 앱을 구동하기 때문에, 항시 사용 가능한 콘서트 클라이언트(C1 ~ C5)를 이용하여 콘서트 서비스를 실행할 수 있다. 즉 일부 콘서트 클라이언트(C1 ~ C5)에 문제가 발생하더라도 다른 콘서트 클라이언트(C1 ~ C5)를 사용할 수 있도록 함으로써, 콘서트 서비스의 활용 가능성을 높일 수 있다. 서비스 실행부(400)는 앱이 설치된 콘서트 클라이언트(C1 ~ C5)를 판별할 수도 있으나, 앱이 설치 가능한 콘서트 클라이언트(C1 ~ C5)를 판별하여, 판별된 콘서트 클라이언트(C1 ~ C5)의 앱 관리자로 앱 설치를 요청하여 앱을 설치한 후, 앱을 구동하도록 할 수도 있다.
그리고 서비스 실행부(400)는 콘서트 서비스가 실행되는 동안에도 콘서트 클라이언트(C1 ~ C5)에 대한 정보를 계속 수집하여 분석함으로써, 현재 콘서트 서비스에 의해 지정된 기능을 수행 중인 콘서트 클라이언트(C1 ~ C5)에 문제가 발생하는 경우에도, 동일한 기능을 제공할 수 있는 앱이 설치되거나 설치 가능한 콘서트 클라이언트(C1 ~ C5)로 즉시 동일한 기능을 수행하도록 하여 콘서트 서비스가 중단되지 않도록 한다.
또한 서비스 실행부(400)는 메타 정보 저장부(200)로부터 콘서트 서비스에 포함되는 앱이 포함된 앱 그룹 내의 다른 앱들에 대한 정보를 수신하고 분석함으로써, 동일한 앱이 설치 가능한 콘서트 클라이언트(C1 ~ C5)가 존재하지 않는 경우에, 동일 앱 그룹에 포함된 앱이 설치 가능한 콘서트 클라이언트(C1 ~ C5)를 이용하여 콘서트 서비스를 계속적으로 유지할 수 있도록 한다.
뿐만 아니라, 하나의 콘서트 서비스를 위해 앱이 구동된 콘서트 클라이언트(C1 ~ C5)일지라도, 콘서트 클라이언트(C1 ~ C5)가 현재 작업을 수행하고 있는 중이 아니면, 다른 콘서트 서비스를 위해 또 다른 앱을 구동할 수도 있다. 즉 하나의 콘서트 클라이언트(C1 ~ C5)가 복수개의 콘서트 서비스를 위해 이용될 수도 있다. 이때 콘서트 클라이언트(C1 ~ C5)는 구동된 앱의 전환을 통해 서로 다른 콘서트 서비스에 이용될 수 있으며, 복수개의 입을 동시에 구동하는 것은 바람직하지 않다.
한편 서비스 실행부(400)는 콘서트 클라이언트(C1 ~ C5)와 별도의 장치로 구현될 수도 있으나, 콘서트 클라이언트(C1 ~ C5), 특히 콘서트 기기(C1 ~ C4) 중 하나가 콘서트 클라이언트이자 동시에 서비스 실행부(400)로서 사용될 수 있다.
도2 는 도1 의 서비스 실행부의 구성의 일예를 나타낸다.
도2 에 도시된 바와 같이, 서비스 실행부(400)는 컨덕터(410), 서비스 관리자(420), 자원 스케줄러(430) 및 자원 요청부(440)를 포함한다.
우선 컨덕터(Conductor)(410)는 서비스 네트워크에 적어도 하나의 콘서트 클라이언트(C1 ~ C5)에 대한 정보를 수집한다. 상기한 바와 같이 본 발명에서 적어도 하나의 콘서트 클라이언트(C1 ~ C5)는 제로콘프 표준 기술을 이용하여 서비스 네트워크에 접속하므로, 컨덕터(410)는 서비스 네트워크 상에 적어도 하나의 콘서트 클라이언트(C1 ~ C5)의 접속 여부를 판별할 수 있다. 그리고 접속된 적어도 하나의 콘서트 클라이언트(C1 ~ C5) 각각의 앱 관리자로부터 콘서트 클라이언트(C1 ~ C5)에 설치된 앱, 설치 가능한 앱, 현재 실행 중인 앱, 플랫폼 정보, 각 앱의 인터페이스 방식에 따른 메시지 규격 정보 등을 수신하여 저장한다.
그리고 컨덕터(410)는 수신된 적어도 하나의 콘서트 클라이언트(C1 ~ C5)에 대한 정보를 자원 스케줄러(430)로 전송한다.
서비스 관리자(420)는 서비스 저장부(300)로부터 전송되는 콘서트 서비스를 저장한다. 서비스 관리자(420)는 서비스 저장부(300)에서 배포되는 콘서트 서비스를 인가받아 저장한다. 다만 상기한 바와 같이 서비스 관리자(420)가 서비스 저장부(300)에 저장된 모든 콘서트 서비스를 인가받아 저장하는 것은 비합리적이므로, 서비스 관리자(420)는 서비스 저장부(300)로부터 콘서트 서비스 리스트를 인가받고, 콘서트 서비스 리스트 중 사용자 명령에 따라 선택된 콘서트 서비스만을 인가받아 저장하는 것이 바람직하다. 그리고 서비스 관리자(420)는 선택된 콘서트 서비스에 포함된 앱에 대한 앱 메타 정보를 메타 정보 저장부(200)로부터 인가받아 함께 저장할 수 있다. 이때 서비스 관리자(420)는 메타 정보 저장부(200)에서 앱이 포함된 앱 그룹에 대한 앱 그룹 정보를 인가받을 수 있다. 앱 그룹 정보는 콘서트 서비스 실행 시, 콘서트 서비스에 포함된 앱을 실행할 수 있는 콘서트 클라이언트(C1 ~ C5)가 존재하지 않을 경우, 다른 콘서트 클라이언트(C1 ~ C5)를 이용하기 위해 사용될 수 있다. 그리고 서비스 관리자(420)는 사용자의 서비스 실행 명령에 응답하여 해당 콘서트 서비스를 자원 요청부(440)로 전송한다.
자원 스케줄러(430)는 컨덕터(410)로부터 적어도 하나의 콘서트 클라이언트(C1 ~ C5)에 대한 정보를 인가받고, 분석하여 현재 서비스 네트워크에 접속되어 이용 가능한 적어도 하나의 콘서트 클라이언트(C1 ~ C5)를 판별한다. 자원 스케줄러(430)는 적어도 하나의 콘서트 클라이언트(C1 ~ C5)에 대한 정보를 분석하여 각 콘서트 클라이언트(C1 ~ C5)에 설치된 앱과 현재 실행 중인 앱, 플랫폼 정보, 각 앱의 인터페이스 방식에 따른 메시지 규격 정보를 확인한다.
이후 자원 스케줄러(430)는 자원 요청부(440)로부터 콘서트 서비스를 실행 중 자원 요청이 인가되면, 분석된 콘서트 클라이언트(C1 ~ C5)의 정보로부터 자원 요청에 포함된 앱이 설치되었거나, 설치 가능한 콘서트 클라이언트(C1 ~ C5)가 존재하는지 판별한다. 그리고 앱이 설치되었거나, 설치 가능한 콘서트 클라이언트(C1 ~ C5)가 존재하면, 해당 콘서트 클라이언트가 현재 활용 가능한 콘서트 클라이언트인지 판별한다. 여기서 현재 활용 가능한 콘서트 클라이언트는 자원 요청에 포함된 앱 이외의 다른 앱이 실행되고 있는 콘서트 클라이언트일지라도 현재 기능을 수행하고 있지 않아 자원 요청에 포함된 앱을 실행할 수 있는 콘서트 클라이언트를 의미한다. 즉 자원 스케줄러(430)는 하나의 콘서트 클라이언트가 현재 다른 콘서트 서비스를 위해 이용되고 있는 중 일지라도, 현재 활용되고 있지 않다면, 자원 요청에 의한 앱을 실행할 수 있는 콘서트 클라이언트로서 활용 가능한 콘서트 클라이언트로 판별한다.
그리고 활용 가능한 콘서트 클라이언트인 것으로 판단되면, 콘서트 클라이언트를 자원 요청부(440)에서 요청한 콘서트 서비스를 위해 할당한다. 이때 자원 요청에는 자원 요청부(440)이 할당되는 콘서트 클라이언트와의 통신 연결을 수행하기 위한 통신 채널 정보가 함께 포함된다. 즉 자원 스케줄러(430)는 콘서트 서비스를 위해 콘서트 클라이언트를 할당할 때, 서비스 실행부(400)과 할당된 콘서트 클라이언트 사이에 통신을 수행할 통신 채널을 함께 할당하여 설정한다.
그리고 자원 스케줄러(430)는 설정된 통신 채널로 할당된 콘서트 클라이언트의 앱 관리자로 요청된 앱의 실행 명령을 전송한다. 이에 콘서트 클라이언트의 앱 관리자는 요청된 앱을 실행하고, 실행된 앱은 설정된 통신 채널로 자원 요청부(440)과 통신을 수행할 수 있게 된다. 이때 자원 스케줄러(430)는 할당된 콘서트 클라이언트에 요청된 앱이 설치되지 않은 것으로 판별되면, 할당된 콘서트 클라이언트의 앱 관리자로 앱 설치 명령을 우선 전송하여, 앱 관리자가 해당 앱을 설치하도록 한다. 여기서 앱 관리자는 앱 저장부(100)로부터 해당 앱을 인가받아 설치할 수 있으며, 경우에 따라서는 자원 스케줄러(430)가 직접 설치할 앱을 전송할 수도 있다.
또한 자원 스케줄러(430)는 현재 자원 요청부(440)에 콘서트 서비스를 위해 할당된 콘서트 클라이언트 중 적어도 하나에 대한 정보가 컨덕터(410)으로부터 인가되지 않으면, 해당 콘서트 클라이언트에 문제가 발생한 것으로 판별하고, 동일한 앱이 설치되었거나, 설치 가능한 다른 콘서트 클라이언트가 존재하는지 판별하여, 판별된 콘서트 클라이언트를 자원 요청부(440)로 새로이 할당한다. 또한 동일한 앱을 포함하는 콘서트 클라이언트가 존재하지 않는 것으로 판단되면, 서비스 관리자(420)로부터 대응하는 앱 그룹에 포함된 다른 앱에 대한 정보를 인가받고, 다른 앱이 설치되었거나, 설치 가능한 다른 콘서트 클라이언트를 판별하여 할당할 수 있다.
자원 요청부(440)는 서비스 관리자(420)로부터 콘서트 서비스를 인가받아 콘서트 서비스의 워크플로우를 해석하여 실행한다. 자원 요청부(440)는 스크립트 언어로 작성된 워크플로우에 따라 콘서트 서비스를 실행하며, 콘서트 서비스를 실행하는 중, 워크플로우에 포함된 앱을 실시간으로 판별하여, 자원 스케줄러(430)로 자원 요청을 전송한다. 이는 자원 스케줄러(430)로부터 앱에 대응하고 현재 이용 가능한 콘서트 클라이언트(C1 ~ C5)를 할당받기 위해서이다. 자원 요청부(440)는 자원 스케줄러(430)에 자원 요청을 전송할 때, 앱에 대응하는 콘서트 클라이언트(C1 ~ C5)와 연결할 통신 채널 정보를 함께 요청한다.
자원 요청부(440)는 자원 스케줄러(430)로부터 이용 가능한 기능 자원으로 콘서트 클라이언트와 통신 채널이 할당되면, 할당된 통신 채널을 통해 콘서트 클라이언트와 통신을 수행하며, 해석되는 워크플로우의 순차에 따라 각 콘서트 클라이언트에서 실행된 앱이 콘서트 서비스에서 지정된 기능을 수행하도록 제어한다.
즉 자원 요청부(440)는 실제 적어도 하나의 콘서트 클라이언트에서 콘서트 서비스가 실행되도록 제어하는 서비스 실행 제어부로서의 기능을 수행한다.
이때 자원 요청부(440)는 하나의 콘서트 서비스만을 해석하고 실행하는 것이 아니라 복수개의 콘서트 서비스를 병렬적으로 동시에 실행할 수도 있다.
도3 은 동적 서비스 제공 방법의 일 실시예를 나타낸다.
도1 및 도2 를 참조하여, 동적 서비스 제공 방법을 설명하면, 우선 서비스 실행부(400)의 서비스 관리자(420)가 서비스 저장부(300)로부터 적어도 하나의 콘서트 서비스를 수신하여 저장한다(S11). 이때 저장되는 콘서트 서비스는 서비스 저장부(300)에서 전송된 콘서트 서비스 리스트 중에서 사용자 명령에 응답하여 선택된 콘서트 서비스이다.
그리고 서비스 관리자(420)는 사용자 명령으로 저장된 콘서트 서비스에 대한 서비스 실행 명령이 인가되는지 판별한다(S12). 만일 서비스 실행 명령이 인가된 것으로 판별되면 컨덕터(410)는 서비스 네트워크에 접속된 콘서트 클라이언트(C1 ~ C5)에 대한 정보를 수집한다(S13). 그리고 컨덕터(410)는 서비스 네트워크에 접속된 콘서트 클라이언트(C1 ~ C5)로 서비스 실행부(400)가 콘서트 마스터임을 나타내는 정보를 전송한다(S14). 즉 적어도 하나의 콘서트 클라이언트(C1 ~ C5)가 서비스 실행부(400)를 콘서트 마스터로 인지하도록 한다.
한편 컨덕터(410)는 수집된 콘서트 클라이언트(C1 ~ C5)에 대한 정보를 자원 스케줄러(430)로 전송하여, 자원 스케줄러(430)가 콘서트 서비스를 위해 활용 가능한 콘서트 클라이언트를 판별할 수 있도록 한다.
상기에서는 컨덕터(410)가 서비스 실행 명령이 인가된 이후 콘서트 클라이언트(C1 ~ C5)에 대한 정보를 수집하고, 자원 스케줄러(430)로 전송(S13 ~ S15)하는 것으로 설명하였으나, 컨덕터(410)는 서비스 실행 명령과 무관하게 미리 콘서트 클라이언트(C1 ~ C5)에 대한 정보를 수집하고, 자원 스케줄러(430)로 전송 할 수 있다.
그리고 서비스 관리자(420)는 서비스 실행 명령에 응답하여 자원 요청부(440)로 저장된 콘서트 서비스를 전송한다(S16). 이에 자원 요청부(440)는 인가된 콘서트 서비스의 워크플로우를 해석한다(S17). 그리고 자원 요청부(440)는 해석된 워크플로우의 순차에 따라 자원 스케줄러(430)로 콘서트 클라이언트(C1 ~ C5) 자원 요청을 전송한다(S18). 즉 콘서트 서비스를 실행하면서 실시간으로 필요한 자원을 요청한다. 자원 요청부(440)는 자원 요청 시에 콘서트 클라이언트(C1 ~ C5)에 연결 가능한 통신 채널을 함께 요청한다.
자원 스케줄러(430)는 자원 요청부(440)로부터 자원 요청이 수신되면, 활용 가능한 콘서트 클라이언트 중 자원 요청된 기능을 제공하는 앱이 설치되거나, 설치 가능한 콘서트 클라이언트를 확인하여, 확인된 콘서트 클라이언트를 자원 요청부(440)에 할당하고, 설정된 통신 채널을 통지한다(S19). 또한 자원 스케줄러(430)는 확인된 콘서트 클라이언트의 앱 관리자가 해당 앱을 실행하도록 하고, 통신 채널을 할당하여 콘서트 클라이언트가 자원 요청부(440)의 제어에 따라 지정된 기능을 수행할 수 있도록 한다. 이때 자원 스케줄러(430)는 할당된 콘서트 클라이언트에 앱이 설치되지 않은 것으로 판별되면, 콘서트 클라이언트의 앱 관리자로 앱 설치 명령을 전송하여, 앱을 먼저 설치하도록 한다.
콘서트 서비스에서 지정된 기능을 실행하기 위해 필요한 앱이 구동된 콘서트 클라이언트는 자원 요청부(440)는 설정된 통신 채널을 통해 콘서트 클라이언트와 통신을 수행하고, 콘서트 클라이언트는 자원 요청부(440)의 제어에 따라 지정된 기능을 실행한다(S20).
그리고 자원 스케줄러(430)는 콘서트 서비스가 실행되는 동안 할당된 콘서트 클라이언트에 오류가 발생하는지 판별한다(S21). 만일 콘서트 클라이언트에 오류가 발생하면, 자원 요청부(440)는 자원 스케줄러(430)로 다른 콘서트 클라이언트의 할당을 요청한다(S18). 이에 자원 스케줄러(430)는 자원 요청부(440)로 다른 콘서트 클라이언트를 자원으로 할당하여 콘서트 서비스가 중단되지 않고 계속 실행되도록 한다(S19). 그러나 오류가 발생하지 않았으면, 콘서트 서비스가 실행 완료되었는지 판별한다(S22).
만일 콘서트 서비스가 실행 완료된 것으로 판별되면, 콘서트 서비스를 종료하고, 실행 완료되지 않은 것으로 판별되면, 워크플로우의 순차에 따라 수행되지 않은 콘서트 서비스를 계속 해석한다(S17).
컨덕터(410)가 콘서트 서비스가 실행되는 동안에도 서비스 네트워크 상의 콘서트 클라이언트에 대한 정보를 수집하고, 자원 스케줄러(430)는 콘서트 클라이언트에 대한 정보를 분석한다(S13).
결과적으로 본 발명의 동적 서비스 제공 시스템 및 방법은 콘서트 서비스에 필요한 기능을 앱을 기반으로 판별한다. 그리고 콘서트 클라이언트를 동적을 활용할 수 있도록, 앱의 기능을 기반으로 작성된 콘서트 서비스를 인가받고, 앱을 설치 및 구동 가능한 콘서트 클라이언트 판별하여 이용한다. 따라서 콘서트 서비스를 특정 기기나 로봇에 의존하여 실행하지 않고 앱의 기능을 기준으로 실행하므로, 콘서트 클라이언트의 종류나 상태에 제한되지 않는다. 또한 콘서트 서비스 실행 중에 콘서트 클라이언트에 오류가 발생하더라도 서비스의 재작성이나 재시작 없이 곧바로 다른 콘서트 클라이언트를 대체하여 사용할 수 있다.
본 발명에 따른 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다.
따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (16)

  1. 설치되어 구동되는 적어도 하나의 앱에 따라 지정된 기능을 수행하는 적어도 하나의 콘서트 클라이언트; 및
    기설정된 서비스 네트워크상에 접속된 상기 적어도 하나의 콘서트 클라이언트에 대한 정보를 수집하고, 상기 적어도 하나의 앱이 수행하는 기능을 이용하여 기설정된 서비스 시나리오를 실행하도록 설정된 워크플로우가 포함된 적어도 하나의 콘서트 서비스를 해석하여, 상기 워크플로우에 포함된 기능에 대응하는 앱이 기설치되었거나, 설치 가능한 상기 적어도 하나의 콘서트 클라이언트 중 실시간으로 앱을 설치 및 구동 가능한 콘서트 클라이언트를 현재 활용 가능한 콘서트 클라이언트로 판별하고, 판별된 콘서트 클라이언트에 설치된 상기 앱을 상기 워크플로우에 따라 구동하여 상기 콘서트 서비스를 실행하는 적어도 하나의 서비스 실행부; 를 포함하는 동적 서비스 제공 시스템.
  2. 제1 항에 있어서, 상기 적어도 하나의 서비스 실행부는
    상기 서비스 네트워크 상에 접속된 상기 적어도 하나의 콘서트 클라이언트에 대한 정보를 수집하는 컨덕터;
    사용자에게 제공할 상기 적어도 하나의 콘서트 서비스가 저장되는 서비스 관리부;
    상기 적어도 하나의 콘서트 클라이언트에 대한 정보를 인가받고, 자원 요청이 인가되면, 상기 적어도 하나의 콘서트 클라이언트에 대한 정보를 분석하고 현재 활용 가능한 콘서트 클라이언트를 검색하여 서비스 자원으로 할당하는 자원 스케줄러; 및
    사용자 명령인 서비스 실행 명령에 응답하여, 상기 서비스 관리부에 저장된 적어도 하나의 콘서트 서비스 중 대응하는 콘서트 서비스를 인가받아 해석하여 실행하며, 상기 콘서트 서비스 실행 중 상기 워크플로우에 포함된 기능을 판별하여 상기 자원 스케줄러로 상기 자원 요청을 전송하고, 상기 자원 스케줄러에서 할당되는 적어도 하나의 상기 콘서트 클라이언트에서 구동되는 상기 앱을 상기 워크플로우에 따라 제어하여 상기 콘서트 서비스를 실행하는 자원 요청부; 를 포함하는 것을 특징으로 하는 동적 서비스 제공 시스템.
  3. 제2 항에 있어서, 상기 컨덕터는
    상기 서비스 네트워크에 접속된 것을 판단할 수 있도록 기지정된 제로콘프 표준 기술에 따라 상기 서비스 네트워크에 접속되는 상기 적어도 하나의 콘서트 클라이언트를 감지하는 것을 특징으로 하는 동적 서비스 제공 시스템.
  4. 삭제
  5. 제2 항에 있어서, 상기 자원 스케줄러는
    할당된 상기 콘서트 클라이언트와 대응하는 통신 채널을 상기 서비스 실행부로 통지하고, 할당된 상기 콘서트 클라이언트로 상기 통신 채널 정보와 함께 앱 구동 요청을 전송하여 상기 콘서트 서비스에 대응하는 앱이 구동되도록 하며,
    상기 콘서트 서비스 실행 중 상기 적어도 하나의 콘서트 클라이언트에 대한 정보를 분석하여 기할당된 상기 콘서트 클라이언트에 오류가 발생한 것으로 판단되면, 상기 콘서트 클라이언트에서 구동되는 상기 앱의 기능에 대응하는 기능을 제공하는 앱이 설치된 다른 콘서트 클라이언트를 상기 서비스 자원으로 할당하는 것을 특징으로 하는 동적 서비스 제공 시스템.
  6. 제5 항에 있어서, 상기 자원 스케줄러는
    할당된 상기 콘서트 클라이언트에 상기 기능에 대응하는 앱이 설치되어 있지 않으면, 상기 앱 구동 요청을 전송하기 전에 상기 콘서트 클라이언트의 앱 관리자로 앱 설치 명령을 전송하는 것을 특징으로 하는 동적 서비스 제공 시스템.
  7. 제5 항에 있어서, 상기 동적 서비스 제공 시스템은
    상기 적어도 하나의 앱을 저장하는 적어도 하나의 앱 저장부;
    상기 적어도 하나의 앱 저장부에 저장된 상기 적어도 하나의 앱 각각에 대응하는 메타 정보를 수집하여 저장하는 메타 정보 저장부; 및
    상기 적어도 하나의 앱을 이용하여 기설정된 서비스 시나리오를 실행하도록 설정된 워크플로우가 포함된 적어도 하나의 콘서트 서비스를 저장하는 서비스 저장부; 를 더 포함하는 것을 특징으로 하는 동적 서비스 제공 시스템.
  8. 제7 항에 있어서, 상기 메타 정보 저장부는
    상기 적어도 하나의 앱 각각에 대응하는 메타 정보를 분석하여, 동일한 기능을 수행하는 앱 및 대체 가능한 기능을 수행하는 앱들을 앱 그룹으로 그룹화하여 저장하는 것을 특징으로 하는 동적 서비스 제공 시스템.
  9. 제8 항에 있어서, 상기 서비스 관리부는
    상기 서비스 저장부에서 배포되는 상기 적어도 하나의 콘서트 서비스에 대한 리스트를 수신하여 저장하고, 상기 리스트 중 사용자 명령인 서비스 선택 명령에 응답하여 선택된 상기 콘서트 서비스를 상기 서비스 저장부로부터 수신하여 저장하는 것을 특징으로 하는 동적 서비스 제공 시스템.
  10. 제8 항에 있어서, 상기 서비스 관리부는
    상기 서비스 실행부에서 상기 워크플로우에 포함된 상기 앱 각각에 대응하는 메타 정보를 상기 메타 정보 저장부로부터 수신하여 저장하고, 상기 앱이 포함된 상기 앱 그룹의 다른 앱 정보를 함께 수신하여 저장하는 것을 특징으로 하는 동적 서비스 제공 시스템.
  11. 제10 항에 있어서, 상기 자원 스케줄러는
    상기 콘서트 클라이언트에 오류가 발생한 것으로 판단되면, 상기 콘서트 클라이언트에서 구동되는 상기 앱의 기능과 동일한 기능을 수행하는 앱이 설치된 다른 콘서트 클라이언트를 판별하여, 상기 서비스 자원으로 할당하며, 상기 동일한 기능을 수행하는 앱이 설치된 콘서트 클라이언트가 존재하지 않으면, 상기 앱 그룹에 포함된 다른 앱이 설치된 콘서트 클라이언트를 판별하여, 상기 서비스 자원으로 할당하는 것을 특징으로 하는 동적 서비스 제공 시스템.
  12. 설치되어 구동되는 적어도 하나의 앱에 따라 지정된 기능을 수행하는 적어도 하나의 콘서트 클라이언트 및 서비스 실행부를 포함하는 동적 서비스 제공 시스템의 동적 서비스 제공 방법에 있어서,
    상기 서비스 실행부가 기설정된 서비스 네트워크상에 접속된 상기 적어도 하나의 콘서트 클라이언트에 대한 클라이언트 정보를 수집하는 단계;
    상기 서비스 실행부가 상기 적어도 하나의 앱을 이용하여 기설정된 서비스 시나리오를 실행하도록 설정된 워크플로우가 포함된 적어도 하나의 콘서트 서비스에 대한 사용자의 서비스 실행 명령이 인가되는지 판별하는 단계;
    상기 서비스 실행 명령이 인가된 것으로 판별되면, 상기 적어도 하나의 콘서트 서비스를 해석하여 실행하며, 상기 콘서트 서비스 실행 중 실시간으로 상기 워크플로우에 포함된 앱을 설치 및 활용 가능한 상기 적어도 하나의 콘서트 클라이언트를 판별하여 서비스 자원으로 할당하는 단계; 및
    판별된 콘서트 클라이언트의 상기 앱을 상기 워크플로우에 따라 구동하여 상기 콘서트 서비스의 기능을 실행하는 단계; 를 포함하는 동적 서비스 제공 방법.
  13. 제12 항에 있어서, 상기 콘서트 클라이언트에 대한 정보를 수집하는 단계는
    상기 서비스 네트워크에 접속된 것을 판단할 수 있도록 기지정된 제로콘프 표준 기술에 따라 상기 서비스 네트워크에 접속되는 상기 적어도 하나의 콘서트 클라이언트를 감지하는 단계;
    감지된 상기 적어도 하나의 콘서트 클라이언트 각각으로부터 설치되었거나 설치 가능한 앱 내역을 포함한 상기 클라이언트 정보를 인가받아 저장하는 단계; 및
    감지된 상기 적어도 하나의 콘서트 클라이언트 각각으로 상기 서비스 실행부가 콘서트 마스터임을 통지하는 단계; 를 포함하는 것을 특징으로 하는 동적 서비스 제공 방법.
  14. 제12 항에 있어서, 상기 서비스 자원으로 할당하는 단계는
    상기 워크플로우에 포함된 앱이 설치되었거나, 설치 가능한 상기 적어도 하나의 콘서트 클라이언트 중 실시간으로 앱을 설치 및 구동 가능한 콘서트 클라이언트를 판별하는 단계;
    판별된 상기 적어도 하나의 콘서트 클라이언트로 통신 채널을 설정하여 통신을 연결하는 단계; 및
    통신 연결된 상기 적어도 하나의 콘서트 클라이언트로 상기 워크플로우에 포함된 상기 앱의 구동 요청을 전송하는 단계; 를 포함하는 것을 특징으로 하는 동적 서비스 제공 방법.
  15. 제14 항에 있어서, 상기 서비스 자원으로 할당하는 단계는
    상기 앱의 구동 요청을 전송하는 단계 이전, 상기 통신 연결된 상기 적어도 하나의 콘서트 클라이언트에 상기 앱이 설치되어 있는지 판별하는 단계; 및
    상기 앱이 설치되어 있지 않은 것으로 판별되면, 상기 적어도 하나의 콘서트 클라이언트의 앱 관리자로 앱 설치 명령을 전송하는 단계; 를 더 포함하는 것을 특징으로 하는 동적 서비스 제공 방법.
  16. 제14 항에 있어서, 상기 콘서트 서비스를 실행하는 단계는
    상기 워크플로우에 따라 상기 적어도 하나의 콘서트 클라이언트에서 구동된 앱을 제어하는 단계;
    상기 적어도 하나의 콘서트 클라이언트에 대한 정보를 분석하여, 기할당된 상기 콘서트 클라이언트의 오류 발생 여부를 판별하는 단계; 및
    상기 콘서트 클라이언트에 오류가 발생한 것으로 판단되면, 상기 콘서트 클라이언트에서 구동되는 상기 앱의 기능에 대응하는 기능을 수행하는 앱이 설치된 다른 콘서트 클라이언트를 상기 서비스 자원으로 할당하여 상기 대응하는 앱을 구동하는 단계; 를 포함하는 것을 특징으로 하는 동적 서비스 제공 방법.
KR1020150074315A 2015-05-27 2015-05-27 이기종 로봇 및 기기를 이용한 동적 서비스 제공 시스템 및 방법 KR101678383B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150074315A KR101678383B1 (ko) 2015-05-27 2015-05-27 이기종 로봇 및 기기를 이용한 동적 서비스 제공 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150074315A KR101678383B1 (ko) 2015-05-27 2015-05-27 이기종 로봇 및 기기를 이용한 동적 서비스 제공 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR101678383B1 true KR101678383B1 (ko) 2016-12-06

Family

ID=57576394

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150074315A KR101678383B1 (ko) 2015-05-27 2015-05-27 이기종 로봇 및 기기를 이용한 동적 서비스 제공 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101678383B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7054716B2 (en) * 2002-09-06 2006-05-30 Royal Appliance Mfg. Co. Sentry robot system
KR101178847B1 (ko) * 2008-12-08 2012-08-31 한국전자통신연구원 가상공간과 연계된 다중 로봇 제어 장치 및 방법
KR20120137425A (ko) * 2010-01-18 2012-12-20 애플 인크. 지능형 자동화 어시스턴트에 대한 서비스 오케스트레이션
KR101306556B1 (ko) 2013-04-08 2013-09-09 한성대학교 산학협력단 스마트 기기 기반 통합 로봇 제어 시스템
KR20140040091A (ko) * 2010-12-17 2014-04-02 알데바란 로보틱스 휴머노이드 로보트의 물리적 및 가상 자원을 위한 관리자를 구비한 휴머노이드 로보트 및 사용과 프로그램을 위한 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7054716B2 (en) * 2002-09-06 2006-05-30 Royal Appliance Mfg. Co. Sentry robot system
KR101178847B1 (ko) * 2008-12-08 2012-08-31 한국전자통신연구원 가상공간과 연계된 다중 로봇 제어 장치 및 방법
KR20120137425A (ko) * 2010-01-18 2012-12-20 애플 인크. 지능형 자동화 어시스턴트에 대한 서비스 오케스트레이션
KR20140040091A (ko) * 2010-12-17 2014-04-02 알데바란 로보틱스 휴머노이드 로보트의 물리적 및 가상 자원을 위한 관리자를 구비한 휴머노이드 로보트 및 사용과 프로그램을 위한 방법
KR101306556B1 (ko) 2013-04-08 2013-09-09 한성대학교 산학협력단 스마트 기기 기반 통합 로봇 제어 시스템

Similar Documents

Publication Publication Date Title
US11307890B2 (en) Methods and apparatus to manage virtual machines
KR102430869B1 (ko) 컨테이너화된 환경에서 클러스터의 라이브 마이그레이션
US10613788B2 (en) Data migration between cloud storage systems
EP2893443B1 (en) Re-configuration in cloud computing environments
EP3388986A1 (en) End-to-end project management platform with artificial intelligence integration
US8863138B2 (en) Application service performance in cloud computing
TWI438684B (zh) 在分散式系統中漸進地實施宣告模型之方法及電腦程式儲存產品
US20150186129A1 (en) Method and system for deploying a program module
US11507479B2 (en) High availability for a relational database management system as a service in a cloud platform
US9268546B2 (en) Deployment and hosting of platform independent applications
CN110365762B (zh) 服务处理方法、装置、设备及存储介质
KR20160136489A (ko) 클라우드 서비스를 위한 가상화 기반 자원 관리 방법
US9197720B2 (en) Deployment and hosting of platform independent applications
KR102224487B1 (ko) 머신 러닝 플랫폼 관리 시스템 및 방법
KR101678383B1 (ko) 이기종 로봇 및 기기를 이용한 동적 서비스 제공 시스템 및 방법
TWI498750B (zh) Method and system of intelligent cloud migration
KR20090000498A (ko) 가상화 어플라이언스를 활용한 소프트웨어 벤딩머신에서의서비스 프로비저닝 시스템 및 방법
TW202031016A (zh) Ict資源管理裝置、ict資源管理方法以及ict資源管理程式
KR102425312B1 (ko) 스마트 하우징에서의 주거서비스 등록관리 시스템과 그 방법
US20240028420A1 (en) Context driven network slicing based migration of applications and their dependencies
US20240028388A1 (en) Application usage and auto maintenance driven migration of applications and their dependencies
US20150242220A1 (en) Massive virtual desktop providing method and system thereof
US20200142810A1 (en) Automatic configuration and deployment of environments of a system
KR20220076756A (ko) 이기종 클라우드 환경 기반 IaaS를 위한 MCIS 통합 관리 서비스 제공 시스템

Legal Events

Date Code Title Description
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191106

Year of fee payment: 4