상기와 같은 목적을 달성하기 위한 본 발명의 실시예에 따른 네트워크 기반 로봇 제어 시스템은, 네트워크 접속을 위해 인증을 요청하고, 상기 인증 결과에 따라 수신되는 패킷에 기초하여 상기 네트워크 접속을 수행하는 로봇; 상기 로봇에 대응하여 가상 로봇 객체를 생성하고, 상기 로봇의 네트워크 접속을 위한 정보를 저장 및 관리하며, 상기 네트워크 접속된 로봇으로부터 수신되는 명령에 대응하는 동작을 수행하는 로봇제어서버; 및 상기 로봇과의 네트워크 접속에 필요한 상기 로봇제어서버에 대한 정보를 인증 및 등록 관리하고, 상기 로봇으로부터 전송된 인증 요청에 따라 상기 네트워크 접속을 위한 상기 로봇제어서버를 할당 분배해주는 인증서버를 포함한다.
바람직하게는, 상기 인증서버는, 상기 로봇제어서버와의 통신규약 및 데이터 처리방식을 구비하여 상기 로봇제어서버로부터 요청된 인증요청을 인증 처리하는 로봇제어서버 인증요청처리부; 및 상기 인증된 로봇제어서버 정보를 저장 및 관리하는 로봇제어서버 정보저장부를 포함한다.
상기 로봇제어서버 인증요청처리부는, 상기 로봇제어서버를 인증함에 있어, 상기 로봇제어서버에 대한 인증키를 발부하고, 상기 인증키를 이용하여 상기 로봇제어서버에 대한 인증여부를 검사 및 상기 인증키에 대한 이중 할당여부를 검사하 며, 상기 인증된 인증키를 상기 로봇제어서버로 전송한다.
상기 인증서버는, 상기 로봇의 네트워크 접속을 위해 요청된 인증요청을 처리함에 있어, 상기 인증키를 이용하여 상기 로봇이 접속할 상기 로봇제어서버를 할당하는 로봇인증요청처리부를 더 포함한다.
상기 로봇인증요청처리부는, 상기 할당한 로봇제어서버로 접속할 수 없거나 상기 로봇의 인증 요청에 실패할 경우, 상기 로봇이 인증 및 접속 가능한 새로운 로봇제어서버를 찾아준다.
상기 인증서버는, 상기 로봇제어서버로부터 인증 요청 패킷을 수신하고, 상기 인증 요청 패킷에 대한 응답 패킷을 상기 로봇제어서버로 전송하는 로봇제어서버 패킷 송수신부를 더 포함한다.
상기 인증서버는, 상기 로봇으로부터 상기 로봇제어서버와 접속에 필요한 인증을 요청하는 인증요청패킷을 수신하고, 상기 로봇의 인증요청패킷에 대한 응답 패킷을 상기 로봇으로 전송하는 로봇 패킷 송수신부를 더 포함한다.
상기 인증서버는, 상기 로봇제어서버 패킷 수신부에 수신된 상기 로봇제어서버로부터 전송된 인증 요청 패킷 및 상기 로봇 패킷 수신부에 수신된 상기 로봇으로부터 전송된 상기 로봇제어서버와 접속에 필요한 인증을 요청하는 인증 요청 패킷의 종류를 해석하여, 상기 수신된 패킷의 종류에 따라 상기 수신된 패킷을 상기 로봇제어서버 인증요청 처리부 또는 상기 로봇 인증요청 처리부로 선택적으로 출력하는 패킷 해석부를 더 포함한다.
상기 로봇제어서버로부터 상기 인증서버로 전송되는 인증 요청 패킷은, 상기 인증 요청 패킷의 버전을 나타내는 버전필드, 상기 로봇의 고유일련번호를 나타내는 RSN(Robot Serial Number)필드, 인증요청타입을 나타내는 타입(TYPE)필드, 패이로드(Payload)에 기술되는 데이터 크기를 표시하는 패이로드(Payload) 길이 필드, 및 실제 데이터로 채워지는 패이로드(Payload) 필드를 포함한다. 이때 상기 패이로드 필드는 상기 로봇제어서버의 식별정보(IDentification: ID), 상기 로봇제어서버의 주소 정보, 및 상기 로봇제어서버의 접속포트번호 정보를 포함한다.
상기 로봇제어서버의 인증 요청 패킷에 대한 응답 패킷은, 패킷 버전 필드, 패이로드(Payload) 길이 필드, 및 패이로드(Payload) 필드를 포함한다. 여기서 상기 패이로드 필드는 상기 인증서버에 의해 인증된 인증 키 값인 로봇 제어 서버 ID 값을 포함한다.
상기 로봇으로부터 상기 인증서버로 전송되는 상기 로봇제어서버와 접속에 필요한 인증을 요청하는 인증요청패킷은, 패킷 버전 필드, RSN(Robot Serial Number) 필드, 인증 요청 타입을 알리는 타입(TYPE)필드, 패이로드(Payload) 길이 필드, 및 패이로드(Payload) 필드를 포함한다. 이때 상기 패이로드(Payload) 필드는 상기 로봇이 자체적으로 갖고 있는 로봇 제어 서버 ID, 및 로봇 모델 번호를 포함한다.
상기 로봇의 인증요청패킷에 대한 상기 인증서버의 응답 패킷은, 패킷 버전 필드, RSN(Robot Serial Number) 필드, 응답 타입을 알리는 타입(TYPE)필드, 패이로드(Payload) 길이 필드, 및 패이로드(Payload) 필드를 포함한다. 이때 상기 패이로드(Payload) 필드는 로봇 제어 서버 ID, 인증 성공여부를 알리는 처리결과, 접 속할 로봇 제어 서버 주소, 및 로봇 제어 서버 접속 포트 번호 정보를 포함한다.
본 실시예에서 상기 로봇제어서버 패킷 송수신부는 상기 로봇의 인증을 요청하는 패킷을 상기 로봇제어서버로 전송하고, 상기 로봇 인증 요청 패킷에 대응하여 상기 로봇제어서버로부터 전송되는 응답 패킷을 수신한다.
상기 인증서버에서 상기 로봇제어서버로 전송되는 상기 로봇의 인증을 요청하는 패킷은, 버전 필드, RSN 필드, 타입 필드, 패이로드 길이 필드, 및 패이로드필드를 포함한다. 이때 상기 패이로드 필드는 상기 로봇으로부터 획득한 로봇 모델 번호를 포함한다.
상기 로봇제어서버로부터 전송되는 상기 로봇의 인증 요청에 대한 응답 패킷은, 버전 필드, 패이로드 길이 필드, 및 패이로드 필드(523)를 포함한다. 이때 상기 패이로드 필드는 인증 처리 결과, 및 로봇 제어 서버 접속 포트 번호값 정보를 포함한다.
본 실시예에서 상기 로봇은, 인증키 및 로봇모델번호를 이용한 통신규약, 및 데이터 처리 방식을 이용하는 상기 인증서버로 인증을 요청하는 인증요청부, 상기 인증서버로부터 인증을 받고 부여받은 인증키를 저장 및 관리하는 정보저장부, 상기 인증서버와 해당 패킷의 송수신을 위한 인증서버 패킷 송수신부, 및 상기 로봇제어서버와 통신 접속을 위한 로봇제어서버 접속부를 포함한다.
본 실시예에서, 상기 로봇제어서버는, 상기 인증서버에 인증 등록하기 위해, 인증키를 이용한 통신규약 및 데이터 처리 방식을 이용하여 상기 인증서버로 인증을 요청하는 인증요청처리부, 상기 인증 요청에 대응하여 상기 인증서버로부터 부 여받은 인증키를 저장 및 관리하는 인증 아이디(ID) 저장부, 상기 인증서버와 해당 패킷을 송수신하는 인증서버 패킷 송수신부, 상기 로봇과 해당 패킷을 송수신하는 로봇 패킷 송수신부, 상기 인증서버 및 상기 로봇으로부터 수신되는 해당 패킷의 종류를 해석하는 패킷 해석부, 상기 해석 결과에 따라 상기 로봇의 인증을 처리하는 로봇인증요청 처리부, 및 상기 로봇에 대응하는 가상 로봇 객체를 관리하는 로봇객체 관리자부를 포함한다.
본 발명에 따르면, 로봇을 원격제어하기 위한 네트워크 기반 로봇 제어 시스템을 구축함에 있어 공유 네트워크 환경뿐만 아니라 일반 가정의 인터넷망과 같이 IP주소가 유동적으로 변하는 DHCP 환경에서도 로봇제어서버를 구축하고 운용할 수 있다. 이는 기존의 방법과 같이 고가의 장비를 통한 중앙의 로봇제어서버를 구축하는 대신 일반 가정 내의 PC 기반으로도 로봇제어 서버를 쉽게 구축할 수 있어 저가의 비용으로도 로봇제어 서버를 구축할 수 있을 뿐만 아니라 유동적인 IP 환경에서도 로봇제어서버를 운용할 수 있다는 장점을 가지고 있어 로봇제어서버를 분산화함에 있어서도 기존의 기술에 비해 장점을 제공한다.
이하, 본 발명의 바람직한 실시예들을 첨부한 도면을 참조하여 상세히 설명한다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
도 1은 본 발명의 바람직한 실시예에 따른 네트워크 기반 로봇 제어 시스템을 개략적으로 도시한 도면이다.
도시된 바와 같이, 로봇 제어 시스템은 댁내(10)에 위치한 로봇(700), 무선 액세스 포인트(Access Point: 무선 AP)(300), 무선 액세스 포인트(300)를 통해 로봇(700)과 통신하는 인증서버(100), 로봇 제어 서버(500) 및 컨텐츠서버(미 도시)를 포함한다.
여기서, 인증서버(100), 로봇 제어 서버(500) 및 컨텐츠 서버(미 도시)는 각각 유선으로 연결되는 것이 바람직하다. 그리고 인증서버(100)는 유동 IP 주소를 갖고 실행될 수도 있으나 공용 IP 환경에서의 고정 IP 주소를 갖고 실행되는 것이 바람직하다.
인증서버(100)는 로봇 제어 서버(500)에 접속하고자 하는 로봇(700)을 인증한다.
로봇 제어 서버(500)는 입력된 사용자 명령을 해석하고 실행하며, 내장된 가상 로봇 객체를 통해 로봇들(700)을 관리 및 제어한다. 컨텐츠 서버(미 도시)는 로봇 제어 서버(500)를 통해 로봇들(700)에 컨텐츠를 제공한다.
본 발명에서 로봇(700)은 네트워크에 접속 가능한 로봇이면 종류와 프로세싱의 성능에 제약을 두지 않는다.
본 실시예에서 하나의 로봇 제어 서버(500)는 여러 로봇들(700)을 관리할 수 있다. 또한, 로봇 제어 서버(500)는 하나 또는 복수의 서버들로 구성될 수 있다. 뿐만 아니라, 로봇 제어 서버(500)는 공용 IP 주소 또는 사설망 IP 주소의 유동 IP 주소를 갖고 실행될 수 있다. 이때 로봇 제어 서버(500)가 사설 IP 주소로 실행되는 경우, 사설 IP 주소로 실행되어지는 로봇 제어 서버(500)로 접속되는 로봇 들(700)은 로봇 제어 서버(500)로 연결 가능한 무선 액세스 포인트(300)를 통해 접속하여야 한다.
도 2는 본 발명의 실시예에 따라 로봇제어서버(500)가 인증서버(100)로 인증요청을 위한 인증 요청 패킷의 구조를 도시한 것이다.
도시된 바와 같이, 인증 요청 패킷(510)은 인증 요청 패킷의 버전을 나타내는 버전필드(510), 로봇(700)의 고유일련번호를 나타내는 RSN(Robot Serial Number)필드(512), 인증요청타입을 나타내는 'TYPE'필드(513), 패이로드(Payload)에 기술되는 데이터 크기를 표시하는 패이로드(Payload) 길이 필드(514), 실제 데이터로 채워지는 패이로드(Payload) 필드(515)를 포함한다.
인증 요청시, RSN 필드(512)는 임의의 값으로 채워지며, 'TYPE'필드(513)는 로봇 제어 서버(500)의 인증 타입값으로 채워지고, 패이로드(Payload) 필드(515)에는 로봇 제어 서버(500)의 로봇 제어 서버 식별정보(IDentification: ID)(517), 로봇 제어 서버 주소(518), 및 로봇 제어 서버 접속포트번호(519)가 차례로 채워진다.
도 3은 본 발명의 실시예에 따른 로봇 제어 서버(500)의 인증요청에 대한 인증서버(100)의 응답 패킷 구조를 도시한 도면이다.
도시된 바와 같이, 응답 패킷(110)은 패킷 버전 필드(111), 패이로드(Payload) 길이 필드(113), 및 패이로드(Payload) 필드(115)를 포함한다.
인증요청에 대한 응답시, 패이로드(Payload) 필드(115)에는 인증서버(500)에 의해 인증된 인증 키 값인 로봇 제어 서버 ID(117)값으로 채워진다.
도 4는 본 발명의 실시예에 따른 로봇(700)이 인증서버(100)로 인증을 요청하기 위해 이용되는 패킷 구조를 도시한 것이다.
도시된 바와 같이, 인증 요청 패킷(710)은 패킷 버전 필드(711), RSN(Robot Serial Number) 필드(712), 인증 요청 타입을 알리는 'TYPE'필드(713), 패이로드(Payload) 길이 필드(714), 및 패이로드(Payload) 필드(715)를 포함하여 구성된다.
인증 요청시, RSN필드(712)는 로봇(700)의 고유한 값을 가지는 매체 접근 제어(Media Access Control: MAC) 주소로 채워지며, 'TYPE'필드(713)는 인증 요청 타입값으로 채워지고, 패이로드(Payload) 필드(715)는 로봇(700)이 자체적으로 갖고 있는 저장부에 등록되어 있는 로봇 제어 서버 ID(717) 및 로봇 모델 번호(718)가 차례로 채워진다.
도 5는 본 발명의 실시예에 따른 로봇(700)의 인증요청에 대한 인증서버(100)의 응답 패킷 구조를 도시한 도면이다.
도시된 바와 같이 로봇(700)의 인증요청에 대한 인증서버(100)의 응답 패킷(120)은 패킷 버전 필드(121), RSN(Robot Serial Number) 필드(122), 응답 타입을 알리는 'TYPE'필드(123), 패이로드(Payload) 길이 필드(124), 및 패이로드(Payload) 필드(125)를 포함한다.
본 실시예에서 인증 요청에 대한 응답시, 응답 패킷의 RSN 필드(122)는 로봇(700)으로부터 획득한 RSN 값으로 다시 채우고, 'TYPE'필드(123)는 응답타입 값으로 채우고, 패이로드(Payload) 필드(125)는 로봇 제어 서버 ID(126), 인증 성공 여부를 알리는 처리결과(127), 접속할 로봇 제어 서버 주소(128), 및 로봇 제어 서버 접속 포트 번호(129)가 차례로 채워진다.
도 6은 본 발명의 실시예에 따른 인증서버(100)가 로봇제어서버(500)로 로봇(700)의 인증을 요청하기 위한 패킷 구조를 도시한 도면이다.
도시된 바와 같이, 인증서버(100)가 로봇제어서버(500)로 로봇(700)의 인증요청 패킷(130)은 버전 필드(131) RSN 필드(132), 'TYPE'필드(133), 패이로드(Payload) 길이 필드(134), 및 패이로드(Payload)필드(135)를 포함한다.
본 실시예에서 인증 요청시, RSN 필드(132)는 로봇(700)으로부터 획득한 RSN값으로 채워지고, 'TYPE'필드(133)는 인증 요청 타입값으로 채워지고, 패이로드(Payload)필드(135)는 로봇(700)으로부터 획득한 로봇 모델 번호(137)로 채워진다.
도 7은 본 발명의 실시예에 따른 로봇 제어 서버(500)가 인증서버(100)의 로봇(700)인증 요청에 대한 응답 패킷 구조를 도시한 도면이다.
도시된 바와 같이, 로봇 제어 서버(500)가 인증서버(100)의 로봇(700)인증 요청에 대한 응답 패킷(520)은, 버전 필드(521), 패이로드(Payload) 길이 필드(522), 패이로드(Payload) 필드(523)를 포함한다.
본 발명의 실시예에서 인증 요청에 대한 응답시, 패이로드(Payload) 필드(523)는 인증 처리 결과(525) 및 로봇 제어 서버 접속 포트 번호값(526)이 차례로 채워진다.
도 8은 본 발명의 실시예에 따른 도 1의 인증서버(100)에 대한 상세 구성 예 를 도시한 블록도이다.
도시된 바와 같이, 인증서버(100)는 로봇인증요청처리부(110), 로봇제어서버패킷수신부(120), 패킷해석부(130), 로봇패킷수신부(140), 로봇제어서버패킷송신부(150), 로봇제어서버인증요청처리부(160), 로봇패킷송신부(170), 및 로봇제어서버정보저장부(180)를 포함한다.
로봇패킷수신부(140)는 로봇(700)으로부터 전송된 도 4의 패킷 구조를 갖는 인증요청정보를 수신하여 패킷 해석부(130)로 전송한다.
패킷 해석부(130)는 로봇패킷 수신부(140)로부터 제공된 도 4의 패킷 구조를 갖는 인증요청정보 중에서 'TYPE'필드(713)를 추출하고 해석한다. 이때 패킷 해석부(130)는 해석 결과에 따라 인증요청정보가 로봇(700)의 인증 요청이면, 수신한 도 4의 패킷 구조를 갖는 인증요청정보를 로봇인증요청처리부(110)로 전달한다.
로봇인증요청처리부(110)는 패킷 해석부(130)로부터 전달된 도 4의 패킷 구조를 갖는 인증요청정보 중에서 패이로드(Payload) 필드(715)를 추출한 후 다시 로봇제어서버ID(717) 및 로봇모델번호(718)로 분리 추출한다.
이때 로봇인증요청처리부(110)는 도 4의 패이로드(Payload) 필드(715)의 로봇제어서버ID(717)의 값이 "nodefind"로 채워져 있으면, 로봇(700)의 연결을 위해, 인증서버(100)에 등록된 임의의 로봇제어서버(500)로 배정하고, 그렇지 않으면 로봇제어서버정보저장부(180)에서 해당 로봇제어서버를 찾아 배정한다. 이때 로봇제어서버정보저장부(180)에 등록되어 있지 않은 로봇인증요청키인 경우, 인증서버(100)에 등록된 임의의 로봇제어서버(500)로 다시 배정한다.
로봇제어서버(500)가 배정되면, 인증서버(1003)는 배정된 로봇제어서버(500)로 접속을 시도한다. 이때, 로봇제어서버(500)와의 접속이 실패하면, 인증서버(100)에 등록되어 있는 임의의 로봇제어서버로 배정하여 다시 접속을 시도한다. 인증서버(100)에 등록되어 있는 로봇제어서버 모두에 접속 실패한 경우, 로봇(700)에 인증실패 했음을 알리는 정보를 도 5의 패킷구조를 이용하여 전송한다. 이 경우 도 5의 패이로드(Payload) 필드(125)의 처리결과필드(127)에는 인증 실패값으로 채워진다.
로봇제어서버패킷송신부(150)는 인증서버(100)가 배정된 로봇제어서버(500)로 접속이 성공되면, 도 6의 패킷구조를 갖는 로봇(700)의 인증을 요청하는 정보를 로봇제어서버(500)로 전송한다. 이때 도 6의 패킷 구조를 갖는 로봇(700) 인증 요청 정보는 RSN 필드(132)가 도 4로부터 획득한 RSN 값(712)으로 채워지고, 'TYPE'필드(133)에는 인증요청 타입 값으로 채워지며, 패이로드(Payload)필드(135)에는 도 4로부터 획득한 로봇모델번호(718)로 채워진다. 인증서버(100)는 로봇제어서버(500)로 로봇인증요청을 전송한 후에 로봇제어서버(500)로부터 응답이 오기를 대기한다.
로봇패킷송신부(170)는 로봇인증요청 처리부(110)의 제어에 따라 해당 패킷을 로봇(700)으로 전송한다.
로봇제어서버정보저장부(180)는 로봇제어서버(500)에 대한 정보를 저장 및 관리한다.
로봇제어서버 패킷수신부(120)는 로봇제어서버(500)로부터 전송된 도 2의 패 킷 구조를 갖는 인증요청패킷을 수신하여 패킷해석부(130)로 전달한다.
패킷 해석부(130)는 도 2의 인증요청패킷 중'TYPE'필드 값(513)을 추출하고 해석한다. 이때 패킷 해석부(130)는 로봇제어서버(500)의 인증요청이면, 수신된 도 2의 패킷 구조를 갖는 인증요청패킷을 로봇제어서버 인증요청처리부(160)로 전달한다.
로봇제어서버 인증요청처리부(160)는 도 2의 인증요청패킷에서 패이로드(Payload) 필드(515)에 해당되는 항목을 추출한다. 로봇제어서버 인증요청처리부(160)는 로봇제어서버 ID필드(517)가 "nodefind"로 채워져 있으면, 새로운 인증키를 생성한다. 로봇제어서버 ID필드(517)가 인증키에 해당되는 값으로 채워져 있으면, 로봇제어서버 인증요청처리부(160)는 기존에 다른 로봇제어서버(500)에게 중복 할당 되었는지 검사하여 만일 중복되어 있다면 새로운 인증키를 생성한다. 로봇제어서버 인증요청처리부(160)는 인증키에 대한 검사가 끝나면, 인증키를 키값으로 하여 도 2의 패이로드(Payload) 필드(515)의 로봇제어서버주소(518) 및 로봇제어서버 접속포트번호(519)를 발췌하여 로봇제어서버정보 저장부(180)에 저장 등록한다.
로봇제어서버 패킷송신부(150)는 도 3의 패킷구조를 갖는 인증 요청에 대한 응답 패킷을 로봇제어서버(500)로 전송한다. 이때 도 3의 패이로드(Payload) 필드(115)는 인증된 인증키 값으로 채워진다.
한편, 로봇인증요청처리부(110)는 로봇제어서버(500)로부터 인증결과를 도 7과 같이 로봇제어서버(500)가 인증서버(100)의 로봇(700) 인증 요청에 대한 응답 패킷을 수신하면, 도 7의 응답 패킷으로부터 패이로드(Payload) 필드(523)를 발췌하고 다시 처리결과(525) 및 접속포트번호(526)로 분리 추출한다.
이후 로봇인증요청처리부(110)는 로봇패킷 송신부(170)를 통해 인증된 결과를 도 5의 로봇의 인증요청에 대한 응답 패킷으로서 로봇(700)에게 전송한다. 이때 도 5의 'TYPE'필드(123)에는 인증에 대한 응답 타입값이 채워지고, 패이로드(Payload) 필드(125)의 로봇제어서버ID필드(126)에는 배정된 로봇제어서버(500)의 ID값으로, 처리결과필드(127)에는 로봇제어서버(500)로부터 수신된 처리결과(525)값으로, 로봇제어서버주소필드(128)는 배정된 로봇제어서버(500)의 주소 값으로, 로봇제어서버포드필드(129)는 로봇제어서버(500)로부터 수신된 접속포트번호(526)로 각각 채워진다.
도 9는 본 발명의 실시예에 따른 도 1의 로봇제어서버(500)에 대한 상세 구성 예를 도시한 블록도이다.
도시된 바와 같이, 로봇제어서버(500)는 로봇객체관리자부(510), 로봇인증요청처리부(520), 로봇패킷송신부(530), 인증서버패킷수신부(540), 패킷해석부(550), 로봇패킷수신부(560), 인증서버패킷송신부(570), 인증요청처리부(580) 및 인증ID저장부(590), 로봇 객체(미도시)를 포함한다.
인증서버패킷수신부(540)는 인증서버(100)로부터 도 6의 패킷구조를 갖는 인증서버(100)가 로봇제어서버(500)로 로봇(700)의 인증을 요청하기 위한 패킷을 수신하여 패킷해석부(550)로 전달한다.
패킷해석부(550)는 도 6의 패킷에서 'TYPE'필드(133)를 추출하고 해석하여, 로봇(700) 인증 요청이면 수신된 도 6의 로봇인증요청패킷을 로봇인증요청처리부(520)로 전달한다.
로봇인증요청처리부(520)는 도 6의 로봇인증요청패킷 중 'RSN' 필드(132)와 패이로드(Payload)필드(135)의 로봇모델번호(137)를 추출한다. 로봇인증요청처리부(520)는 추출한 'RSN'필드(132)값을 이용하여 기존에 인증되어있는지 로봇객체관리자부(510)에게 의뢰한다.
이에 따라, 로봇객체관리자부(510)는 도 6의 로봇인증요청패킷으로부터 추출된 'RSN' 필드(132)값을 이용하여 기존에 인증 여부를 판별하여 그 결과를 로봇인증요청처리부(520)로 출력한다.
로봇인증요청처리부(520)는 로봇객체관리자부(510)로부터 제공되는 정보에 기초하여 기존에 인증이 되지 않은 경우, 로봇객체관리자부(510)에게 로봇객체(미 도시)를 생성하도록 요청한다.
이에 따라, 로봇객체관리자부(510)는 로봇객체(미 도시)를 생성하고 그 결과를 로봇인증요청처리부(520)에게 알려준다.
로봇인증요청처리부(520)는 인증요청처리결과를 도 7의 패킷구조를 이용하여 인증서버 패킷송신부(870)를 통해 인증서버(100)로 전송한다. 이때 도 7의 패이로드(Payload) 필드(523)는 인증처리결과(525) 및 로봇객체(미 도시)로부터 획득한 접속포트번호(526)의 값이 차례로 채워진다.
로봇패킷수신부(560)는 로봇(700)으로부터 전송된 로봇인증요청패킷을 수신하여 패킷해석부(550)로 전달한다.
로봇패킷송신부(530)는 로봇인증요청처리부(520)의 제어에 따라 로봇(700)으로부터 요청된 로봇인증처리 결과패킷을 로봇(700)에게 전송한다.
인증요청처리부(580)는 도 2의 패킷구조를 이용하여 인증서버패킷송신부(570)를 통해 인증서버(100)로 인증을 요청한다. 이때 도 2의 패이로드(Payload)필드(515)에는 로봇제어서버ID(517), 로봇제어서버주소(518), 로봇제어서버접속포트번호(519)가 포함된다. 또한 도 2의 'RSN'필드(512)는 임의의 값으로 채워지고, 패이로드(Payload)필드(515) 부분의 로봇제어서버ID필드(517)에는 최초 인증요청 시 "nodefind"값으로 채워진다. 인증이 이루어진 후에는 인증서버(100)로부터 인증받은 인증키값(로봇제어서버ID)으로 채워진다. 로봇제어서버주소필드(518)는 현재 로봇제어서버(500)가 구동중인 장치의 IP주소를 획득하여 채우고, 도 2 패이로드(Payload)필드(515)의 로봇제어서버접속포트번호필드(517)는 이미 로봇제어서버(500)가 열고 인증서버(100)로부터 인증요청이 오기를 기다리는 접속포트번호로 채운다. 로봇제어서버(500)는 인증서버(100)로 인증을 요청한 후에 인증서버(100)로부터 응답이 오기를 대기한다.
인증요청처리부(580)는 인증서버(100)로부터 인증결과를 도 3의 패킷구조로 응답을 수신하면, 도 3의 패이로드(Payload)필드(115)를 추출하여 기존의 로봇제어서버(500)의 인증ID와 비교하여 다르면 인증ID저장부(590)의 내용을 갱신한다. 그리고 난 후 인증요청처리부(580)는 인증서버(100)로부터 로봇인증 요청이 오기를 기다린다. 인증ID저장부(590)는 로봇제어서버(500)의 인증 ID를 저장 및 관리한다.
인증서버패킷수신부(540)는 인증서버(100)로부터 전송된 6의 패킷구조의 로봇(700) 인증 요청 패킷을 수신하여 패킷 해석부(550)로 전달한다.
패킷 해석부(550)는 도 6의 'TYPE'필드(133)를 추출하고 해석하여, 로봇(700) 인증요청이면 수신된 도 6의 로봇인증요청패킷을 로봇인증요청처리부(520)로 전달한다.
로봇인증요청처리부(520)는 도 6의 로봇인증요청패킷으로부터 'RSN'필드(132)와 패이로드(Payload)필드(135)의 로봇모델번호(137)를 추출한다. 이때 로봇인증요청처리부(520)는 추출한 'RSN'필드(132)값을 이용하여 기존에 인증되어있는지 로봇객체관리자부(510)에게 의뢰한다.
도 10은 본 발명의 실시예에 따른 도 1의 로봇(700)에 대한 내부 상세 구성 예를 도시한 블록도이다.
도시된 바와 같이, 로봇(700)의 내부는 로봇제어서버접속부(710), 인증서버패킷수신부(720), 패킷해석부(730), 인증서버패킷송신부(740), 인증요청부(750), 및 정보저장부(760)를 포함한다.
로봇제어서버접속부(710)는 로봇제어서버(500)와 접속을 수행한다.
인증서버 패킷수신부(720)는 인증서버(100)와 통신을 위해, 인증서버(100)로부터 전송되는 패킷을 수신한다.
패킷해석부(730)는 인증서버(100)로부터 수신한 패킷을 해석한다.
인증서버패킷송신부(740)는 인증서버(100)와 통신을 위해 인증서버(100)로 패킷을 전송한다.
인증요청부(750)는 인증서버(100)로 인증을 요청하기 위해 도 4의 패킷구조를 이용하여 인증서버패킷송신부(740)를 통해 인증서버(100)로 인증을 요청한다. 이때, 도 4의 'RSN'필드(712)는 로봇(700)의 MAC 주소로 채우고, 'TYPE'필드(713)에는 인증요청 타입값으로 채우고, 패이로드(Payload)필드(715)에는 정보저장부(760)로부터 읽어 들인 로봇제어서버ID(717) 및 로봇모델번호 값(718)이 차례로 채워진다.
도 4의 패이로드(Payload)필드(715)의 로봇제어서버ID필드(717)의 경우, 최초의 접속시 "nodefind"값으로 채워지고 이후에는 인증서버(100)로부터 할당된 로봇제어서버ID값(717)으로 채워진다. 로봇(700)은 인증서버(100)로 인증을 요청한 후에 인증서버(100)로부터 응답이 오기를 기다린다.
정보저장부(760)는 로봇(700)에 대한 로봇제어서버ID(717) 및 로봇모델번호 값(718)을 저장 및 관리한다.
인증서버패킷 수신부(720)는 인증서버(100)로부터 전송된 도 5의 패킷구조로 인증결과(응답패킷)가 수신되면, 이를 패킷 해석부(730)로 전달한다.
패킷 해석부(733)는 인증서버패킷 수신부(720)로부터 전달 받은 도 5의 패킷으로부터 'TYPE'필드(123)를 추출하고 해석하여, 인증요청에 대한 응답이면 수신된 인증결과패킷을 인증 요청부(750)로 전달한다.
인증 요청부(750)는 도 5의 인증결과패킷으로부터 패이로드(Payload)필드(125)를 추출하고, 다시 로봇제어서버ID(126), 처리결과(127), 로봇제어서버주소(128), 로봇제어서버접속포트번호(129)로 분리 추출한다. 추출된 처리결과(127) 의 값이 실패하면, 인증 요청부(750)는 인증서버(100)로 재 인증을 요청하고, 인증에 성공한 것이면 추출된 로봇제어서버ID값(126)을 정보저장부(760)에 수정하여 저장 등록한다.
로봇제어서버(500)는 인증서버(100)로 인증등록을 마친 후, 로봇(700)이 인증서버(100)를 통해 인증요청을 처리한 후 로봇(700)이 접속하기를 기다린다.
로봇(700)은 로봇(700)이 로봇제어서버(500)로 접속하기 위한 인증 시에, 획득한 로봇제어서버주소(128) 및 로봇제어서버접속포트번호(129)를 이용하여 로봇제어서버(500)로 접속을 시도한다.
이상에서는 본 발명에서 특정의 바람직한 실시예에 대하여 도시하고 또한 설명하였다. 그러나 본 발명은 상술한 실시예에 한정되지 아니하며, 특허 청구의 범위에서 첨부하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 및 균등한 타 실시가 가능할 것이다. 따라서 본 발명의 진정한 기술적 보호범위는 첨부한 특허청구범위에 의해서만 정해져야 할 것이다.