KR20150129972A - 비콘 펌웨어 업데이트 방법 및 이를 이용하는 비콘 장치, 그리고 시스템 - Google Patents

비콘 펌웨어 업데이트 방법 및 이를 이용하는 비콘 장치, 그리고 시스템 Download PDF

Info

Publication number
KR20150129972A
KR20150129972A KR1020140056814A KR20140056814A KR20150129972A KR 20150129972 A KR20150129972 A KR 20150129972A KR 1020140056814 A KR1020140056814 A KR 1020140056814A KR 20140056814 A KR20140056814 A KR 20140056814A KR 20150129972 A KR20150129972 A KR 20150129972A
Authority
KR
South Korea
Prior art keywords
firmware program
beacon
service
firmware
update
Prior art date
Application number
KR1020140056814A
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 KR1020140056814A priority Critical patent/KR20150129972A/ko
Priority to US14/623,131 priority patent/US9274787B2/en
Publication of KR20150129972A publication Critical patent/KR20150129972A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 비콘 장치에서의 펌웨어 업데이트 방법에 관한 것으로서, 더욱 상세하게는 비콘 장치가 펌웨어 프로그램의 업데이트의 필요 여부를 판단하여, 업데이트가 필요한 것으로 판단되면, 현재 송출 중인 비콘 신호의 송출을 중단하고 펌웨어 프로그램을 업데이트할 수 있는 비콘 펌웨어 업데이트 방법 및 이를 이용하는 비콘 장치, 그리고 시스템에 관한 것이다.
이를 위한 본 발명의 일 실시 예에 따른 비콘 장치는 일정 반경 내 비콘 신호를 송출하고, 서비스 장치와 정보를 송수신하는 통신부 및 일정 주기 단위로 상기 통신부를 통해 서비스 장치로 펌웨어 프로그램 버전을 질의하여 수신하고, 수신된 펌웨어 프로그램 버전과 설치되어 있는 펌웨어 프로그램 버전을 비교하여 상이할 경우, 상기 통신부를 제어하여 일정 반경 내 송출 중인 비콘 신호의 송출을 중단하고, 상기 통신부를 통해 상기 서비스 장치로 펌웨어 프로그램 업데이트를 요청하여, 상기 통신부를 통해 상기 서비스 장치로부터 펌웨어 프로그램이 수신되면, 수신된 펌웨어 프로그램이 설치되도록 제어하는 제어부를 포함하여 구성될 수 있다.

Description

비콘 펌웨어 업데이트 방법 및 이를 이용하는 비콘 장치, 그리고 시스템{METHOD FOR UPDATING OF FIRMWARE IN BEACON APPARATUS, BEACON APPARATUS AND SYSTEM USING THE SAME}
본 발명은 비콘 장치에서의 펌웨어 업데이트 방법에 관한 것으로서, 더욱 상세하게는 비콘 장치가 펌웨어 프로그램의 업데이트의 필요 여부를 판단하여, 업데이트가 필요한 것으로 판단되면, 현재 송출 중인 비콘 신호의 송출을 중단하고 펌웨어 프로그램을 업데이트할 수 있는 비콘 펌웨어 업데이트 방법 및 이를 이용하는 비콘 장치, 그리고 시스템에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
비콘(beacon) 장치는 필요 목적에 따라 다양한 장소에 설치되어 지정된 서비스를 사용자의 단말로 제공한다. 다시 말해, 비콘 장치는 블루투스(Bluetooth) 프로토콜 방식에 따라 일정 반경 내로 비콘 신호를 송출하고, 이를 스캐닝한 사용자의 단말과 연결되어, 사용자의 단말로 각종 정보를 제공, 예를 들어, 매장 내 진입한 사용자의 단말로 상품 광고, 할인 쿠폰 등의 정보를 제공하거나, 매장 내 사용자의 위치를 확인하여 위치 기반 서비스를 제공하게 된다.
이러한 비콘 장치에 구비되는 프로그램은 서비스의 요구 사항에 따라 기능의 변경이 발생될 수 있다. 그러나, 현재까지의 비콘 장치에 구비되는 프로그램을 업데이트하기 위해서는 비콘 장치를 관리하는 관리자가 직접 비콘 장치가 설치되어 있는 장소로 이동하고, 비콘 장치와 컴퓨터를 연결하여 업데이트 기능을 수행하게 된다.
이는 비콘 장치의 수가 증가될수록 비콘 장치를 업데이트하기 위한 많은 비용과 시간이 필요하다는 문제점이 있다.
한국공개특허 제10-2007-0094078호, 2007년 9월 20일 공개 (명칭: 블루투스 디바이스의 프로그램을 자동 업데이트하는 방법)
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로서, 특히 비콘 장치가 펌웨어 프로그램의 업데이트의 필요 여부를 판단하여, 업데이트가 필요한 것으로 판단되면, 현재 송출 중인 비콘 신호의 송출을 중단하고 펌웨어 프로그램을 업데이트할 수 있는 비콘 펌웨어 업데이트 방법 및 이를 이용하는 비콘 장치, 그리고 시스템을 제공하는 데 목적이 있다.
그러나, 이러한 본 발명의 목적은 상기의 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 비콘 장치는 일정 반경 내 비콘 신호를 송출하고, 서비스 장치와 정보를 송수신하는 통신부; 및 일정 주기 단위로 통신부를 통해 서비스 장치로 펌웨어 프로그램 버전을 질의하여 수신하고, 수신된 펌웨어 프로그램 버전과 설치되어 있는 펌웨어 프로그램 버전을 비교하여 상이할 경우, 통신부를 제어하여 일정 반경 내 송출 중인 비콘 신호의 송출을 중단하고, 통신부를 통해 서비스 장치로 펌웨어 프로그램 업데이트를 요청하여, 통신부를 통해 서비스 장치로부터 펌웨어 프로그램이 수신되면, 수신된 펌웨어 프로그램이 설치되도록 제어하는 제어부;를 포함하여 구성될 수 있다.
이때, 통신부는 일정 반경 내 비콘 신호를 송출하고, 송출된 비콘 신호를 스캐닝하여 연결된 하나 이상의 단말과 정보를 송수신하는 제1 통신 모듈; 및 서비스 장치와 정보를 송수신하는 제2 통신 모듈;을 포함하여 구성될 수 있다.
이때, 제어부는 통신부를 통해 하나 이상의 단말로 서비스 제공 중인 경우, 기 설정된 주기 이상으로 서비스 장치로 펌웨어 프로그램 버전을 질의하여 수신하고, 그렇지 않은 경우, 기 설정된 주기 미만으로 서비스 장치로 펌웨어 프로그램 버전을 질의하여 수신할 수 있다.
또한, 제어부는 수신된 펌웨어 프로그램 버전과 설치되어 있는 펌웨어 프로그램 버전을 비교하여 상이할 경우, 통신부를 통해 하나 이상의 단말로 서비스 제공 중인 경우, 비콘 신호의 송출을 중단한 후 해당 단말과의 서비스 제공이 완료될 때까지 대기한 후 서비스 제공이 완료되면, 서비스 장치로 펌웨어 프로그램 업데이트를 요청하며, 그렇지 않은 경우, 비콘 신호의 송출을 중단함과 동시에 서비스 장치로 펌웨어 프로그램 업데이트를 요청할 수 있다.
이때, 제어부는 통신부를 통해 하나 이상의 단말로 서비스 제공 중이 아니나 연결 상태인 경우, 단말과의 연결을 강제 종료한 후, 서비스 장치로 펌웨어 프로그램 업데이트를 요청할 수 있다.
또한, 제어부는 서비스 장치로부터 펌웨어 프로그램의 수신이 완료되면, 수신된 펌웨어 프로그램을 설치한 후 리스타트(restart)를 수행하여 펌웨어 프로그램이 정상적으로 동작하는 지 확인한 후, 정상적으로 동작하는 경우, 기존 펌웨어 프로그램을 삭제할 수 있다.
또한, 제어부는 펌웨어 프로그램을 설치한 이후에, 중단된 비콘 신호의 송출을 이뤄지도록 통신부를 제어할 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 펌웨어 업데이트 시스템은 하나 이상의 비콘 장치를 관리하며, 비콘 장치로 제공할 수 있는 펌웨어 프로그램을 관리하는 서비스 장치; 및 일정 주기 단위로 서비스 장치로 펌웨어 프로그램 버전을 질의하여 수신하고, 수신된 펌웨어 프로그램 버전과 설치되어 있는 펌웨어 프로그램 버전을 비교하여 상이할 경우, 일정 반경 내 송출 중인 비콘 신호의 송출을 중단하고, 서비스 장치로 펌웨어 프로그램 업데이트를 요청하여, 서비스 장치로부터 펌웨어 프로그램이 수신되면, 수신된 펌웨어 프로그램이 설치되도록 제어하는 비콘 장치;를 포함하여 구성될 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 비콘 펌웨어 업데이트 방법은 비콘 장치가 일정 주기 단위로 서비스 장치로 펌웨어 프로그램 버전을 질의하는 단계; 비콘 장치가 서비스 장치로부터 펌웨어 버전을 수신하는 단계; 비콘 장치가 서비스 장치로부터 수신된 펌웨어 프로그램 버전과 설치되어 있는 펌웨어 프로그램 버전을 비교하는 단계; 비교 결과, 펌웨어 프로그램 버전이 상이할 경우, 비콘 장치가 일정 반경 내 송출 중인 비콘 신호의 송출을 중단하고, 서비스 장치로 펌웨어 프로그램 업데이트를 요청하는 단계; 및 비콘 장치가 서비스 장치로부터 펌웨어 프로그램이 수신되면, 서비스 장치로부터 수신된 펌웨어 프로그램이 설치되도록 제어하는 단계;를 포함하여 이뤄질 수 있다.
이때, 프로그램 버전을 질의하는 단계에서, 비콘 장치가 하나 이상의 단말로 서비스 제공 중인 경우, 기 설정된 주기 이상으로 서비스 장치로 펌웨어 프로그램 버전을 질의하고, 그렇지 않을 경우, 기 설정된 주기 미만으로 서비스 장치로 펌웨어 프로그램 버전을 질의할 수 있다.
또한, 업데이트를 요청하는 단계는 비콘 장치가 하나 이상의 단말로 서비스 제공 중인 경우, 비콘 신호의 송출을 중단한 후 해당 단말과의 서비스 제공이 완료될 때까지 대기한 후 서비스 제공이 완료되면 서비스 장치로 펌웨어 프로그램 업데이트를 요청하며, 그렇지 않은 경우, 비콘 신호의 송출을 중단한 후 서비스 장치로 펌웨어 프로그램 업데이트를 요청할 수 있다.
또한, 업데이트를 요청하는 단계는 비콘 장치가 하나 이상의 단말로 서비스 제공 중이 아니나 연결 상태인 경우, 단말과의 연결을 강제 종료한 후, 서비스 장치로 펌웨어 프로그램 업데이트를 요청할 수 있다.
또한, 펌웨어 프로그램이 설치되도록 제어하는 단계는 비콘 장치가 서비스 장치로부터 펌웨어 프로그램이 수신이 완료되면, 서비스 장치로부터 수신된 펌웨어 프로그램을 설치하는 단계; 비콘 장치가 리스타트를 수행하는 단계; 비콘 장치가 서비스 장치로부터 수신된 펌웨어 프로그램이 정상적으로 동작하는지 확인하는 단계; 및 비콘 장치가 수신된 펌웨어 프로그램이 정상적으로 동작하는 경우, 기존 펌웨어 프로그램을 삭제하는 단계;를 포함하여 이뤄질 수 있다.
아울러, 펌웨어 프로그램이 설치되도록 제어하는 단계 이후에, 비콘 장치가 중단된 비콘 신호의 송출을 시작하는 단계;를 더 포함하여 이뤄질 수 있다.
추가로 본 발명은 상술한 비콘 펌웨어 업데이트 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공할 수 있다.
본 발명의 비콘 펌웨어 업데이트 방법 및 이를 이용하는 비콘 장치, 그리고 시스템에 의하면, 비콘 장치가 펌웨어 프로그램의 업데이트의 필요 여부를 판단하여, 업데이트가 필요한 것으로 판단되면, 현재 송출 중인 비콘 신호의 송출을 중단하고 펌웨어 프로그램을 업데이트함으로써, 보다 손쉽게 비콘 장치의 펌웨어 프로그램을 업데이트할 수 있게 된다.
또한, 본 발명에 의하면, 비콘 장치가 특정 사용자의 단말로 서비스 제공 중인 경우, 사용자의 단말로 제공되는 서비스가 중단되지 않도록 대기한 이후에 펌웨어 프로그램을 업데이트함으로써, 보다 효율적인 펌웨어 프로그램의 업데이트가 가능하다.
또한, 본 발명에 의하면, 서비스 장치로 펌웨어 프로그램의 버전을 질의할 시 비콘 장치의 상황에 따라 질의 주기를 조정함으로써, 보다 효율적인 펌웨어 프로그램의 업데이트가 가능하게 된다.
아울러, 상술한 효과 이외의 다양한 효과들이 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 수 있다.
도 1은 본 발명의 실시 예에 따른 펌웨어 업데이트 시스템의 개략적인 구성도이다.
도 2는 도 1에 도시된 본 발명의 실시 예에 따른 비콘 장치의 주요 구성을 도시한 블록도이다.
도 3은 도 1에 도시된 본 발명의 실시 예에 따른 서비스 장치의 주요 구성을 도시한 블록도이다.
도 4는 본 발명의 실시 예에 따른 비콘 펌웨어 업데이트 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 실시 예에 따른 비콘 펌웨어 업데이트 방법을 구체적으로 설명하기 위한 데이터 흐름도이다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다. 또한 본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 하나, 이는 본 발명을 특정한 실시 형태로 한정하려는 것은 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이제 본 발명의 실시 예에 따른 비콘 펌웨어 업데이트 방법 및 이를 이용하는 비콘 장치, 그리고 시스템에 대하여 도면을 참조하여 상세하게 설명하도록 한다. 이때, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용하며, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 실시 예에 따른 펌웨어 업데이트 시스템의 개략적인 구성도이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 펌웨어 업데이트 시스템(100)은 비콘 장치(10), 단말(20) 및 서비스 장치(30)를 포함하여 구성될 수 있다. 그리고 도면에는 도시되지 않았으나, 비콘 장치(10) 및 단말(20) 사이에서의 정보의 송수신, 그리고 비콘 장치(10) 및 서비스 장치(30) 사이에서의 정보의 송수신을 지원하는 통신망을 포함하여 구성될 수 있다.
각 구성요소에 대해 개략적으로 설명하면, 먼저, 비콘 장치(10)는 근거리 무선 통신을 이용하여 비콘 신호를 송출하고, 이를 스캐닝 하여 연결된 단말(20)로 지정된 서비스를 제공하는 역할을 수행하는 것으로, 이러한 비콘 장치(10)는 바람직하게는 저전력 블루투스(Bluetooth Low Energy, BLE) 통신 프로토콜에 따라 비콘 신호를 송출할 수 있다. 또한, 비콘 장치(10)는 매장 등과 같은 실내에 설치되며, 5cm ~ 49m까지의 일정 반경 내로 비콘 신호를 송출할 수 있다.
이러한 비콘 장치(10)는 자신이 서비스하는 정보(예컨대, 광고, 위치 기반 서비스 등)를 처리하고 관리하기 위한 펌웨어 프로그램을 설치하여 구비하고 있다. 펌웨어 프로그램은 비콘 장치(10)를 구동하는 데 있어 필수적인 정보를 포함하는 것으로, 특히 본 발명의 실시 예에 따른 비콘 장치(10)는 펌웨어 프로그램의 업데이트 여부를 감지하고 업데이트가 발생된 것으로 판단되면, 펌웨어 프로그램을 저장하고 관리하는 서비스 장치(30)로부터 업데이트된 펌웨어 프로그램을 수신하여 설치할 수 있다.
이를 위해, 본 발명의 비콘 장치(10)는 일정 주기 단위로 서비스 장치(30)로 펌웨어 프로그램 버전을 질의하여 수신하고, 수신된 펌웨어 프로그램 버전과 설치되어 있는 펌웨어 프로그램 버전을 비교하여 상이할 경우, 일정 반경 내 송출 중인 비콘 신호의 송출을 중단하고, 상기 서비스 장치(30)로 펌웨어 프로그램 업데이트를 요청하여, 상기 서비스 장치(30)로부터 펌웨어 프로그램이 수신되면, 수신된 펌웨어 프로그램이 설치되도록 제어할 수 있다.
한편, 단말(20)은 사용자의 조작에 따라 통신망을 경유하여 각종 데이터를 송수신할 수 있는 사용자의 장치를 의미한다. 이러한 단말(20)은 통신망을 통해 음성 또는 데이터 통신을 수행할 수 있다. 특히, 본 발명의 실시 예에 따른 단말(20)은 일정 반경 내 비콘 장치(10)로부터 송출되는 비콘 신호를 스캐닝하여 수신할 수 있다. 이때, 단말(20)은 비콘 신호로부터 비콘 장치(10)의 식별 정보를 추출할 수 있으며, 추출된 식별 정보를 이용하여 해당 비콘 장치(10)로 응답 정보를 전송할 수 있다. 이러한 과정을 거치게 되면, 단말(20)은 비콘 장치(10)와 연결될 수 잇다. 그리고 단말(20)은 비콘 장치(10)로부터 지정된 여러 정보를 수신할 수 있다. 예를 들어, 비콘 장치(10)로부터 현재 위치와 관련된 쿠폰, 할인 정보 등을 수신할 수 있으며, 비콘 장치(10)는 단말(20)의 위치 정보를 계산하고, 단말(20)은 이와 관련된 위치 기반 서비스를 이용할 수도 있다.
이를 위한 본 발명의 단말(20)은 정보의 송수신을 위한 브라우저, 프로그램 및 프로토콜을 저장하는 메모리, 각종 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비할 수 있다. 이러한 단말(20)은 스마트 폰(smart phone), 타블렛 PC(Tablet PC), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), MP3 Player 등의 이동 단말기로 구현될 수 있다.
서비스 장치(30)는 본 발명의 실시 예에 따른 비콘 장치(10)를 관리하고, 비콘 장치(10)에 제공할 수 있는 펌웨어 프로그램을 저장하고 관리하는 역할을 수행한다. 이러한 서비스 장치(30)는 펌웨어 프로그램을 지속적으로 업데이트할 수 있으며, 업데이트된 펌웨어 프로그램의 버전을 관리하는 역할을 수행할 수 있다.
특히, 본 발명의 실시 예에 따른 서비스 장치(30)는 일정 주기 단위로 비콘 장치(10)로부터 펌웨어 프로그램 버전의 질의를 수신하고, 이에 대한 응답으로 비콘 장치(10)로 펌웨어 프로그램의 버전에 대한 정보를 제공할 수 있다. 그리고, 비콘 장치(10)의 요청에 따라, 펌웨어 프로그램을 비콘 장치(10)로 제공하는 역할을 수행할 수 있다.
보다 구체적인 비콘 장치(10)에서의 주요 구성 및 동작 방법에 대해서는 후술하도록 하며, 본 발명의 실시 예에 따른 비콘 장치(10) 또는 단말(20) 및 서비스 장치(30)에 탑재되는 프로세서는 본 발명에 따른 방법을 실행하기 위한 프로그램 명령을 처리할 수 있다. 일 구현 예에서, 이 프로세서는 싱글 쓰레드(Single-threaded) 프로세서일 수 있으며, 다른 구현 예에서 본 프로세서는 멀티 쓰레드(Multithreaded) 프로세서일 수 있다. 나아가 본 프로세서는 메모리 혹은 저장 장치 상에 저장된 명령을 처리하는 것이 가능하다.
또한, 본 발명의 실시 예에 따른 통신망은 다양한 형태의 통신망이 이용될 수 있다.
예컨대, WLAN(Wireless LAN), 와이파이(Wi-Fi), 와이브로(Wibro), 와이맥스(Wimax), HSDPA(High Speed Downlink Packet Access) 등의 무선 통신 방식 또는 이더넷(Ethernet), xDSL(ADSL, VDSL), HFC(Hybrid Fiber Coaxial Cable), FTTC(Fiber to The Curb), FTTH(Fiber To The Home) 등의 유선 통신 방식을 이용할 수 있다. 또한, 상술한 통신 방식 이외에도 기타 널리 공지되었거나 향후 개발될 모든 형태의 통신 방식을 포함할 수 있다.
이하, 본 발명의 실시 예에 따른 비콘 장치(20)의 주요 구성 및 동작 방법에 대해 설명하도록 한다.
도 2는 도 1에 도시된 본 발명의 실시 예에 따른 비콘 장치의 주요 구성을 도시한 블록도이다.
도 1 및 도 2를 참조하면, 본 발명의 실시 예에 따른 비콘 장치(10)는 통신부(11), 제어부(12) 및 저장부(13)를 포함하여 구성될 수 있다.
각 구성 요소에 대해 보다 구체적으로 설명하면, 먼저, 통신부(11)는 제1 통신 모듈(11a) 및 제2 통신 모듈(11b)을 포함하여 구성될 수 있다. 여기서, 제1 통신 모듈(11a)은 일정 반경 내 비콘 신호를 송출하고, 송출된 비콘 신호를 스캐닝하여 연결된 하나 이상의 단말(20)과 정보를 송수신하는 역할을 수행한다. 이때의 제1 통신 모듈(11a)은 블루투스 통신 프로토콜에 따라 정보를 송수신할 수 있으며, 이에 상응하는 다른 통신 프로토콜에 따라 정보를 송수신할 수도 있다. 반면, 제2 통신 모듈(11b)은 서비스 장치(30)과 정보를 송수신하는 역할을 수행하는 것으로, 이때의 제2 통신 모듈(11b)은 와이파이(Wi-Fi) 통신 프로토콜에 따라 정보를 송수신할 수 있으며, 이에 상응하는 다른 통신 프로토콜에 따라 정보를 송수신할 수도 있다.
제어부(12)는 비콘 장치(10)의 전반적인 제어를 수행하는 것으로, 하드웨어적으로 CPU(Central Processing Unit)/MPU(Micro Processing Unit)를 포함하는 적어도 하나 이상의 프로세서와 적어도 하나 이상의 메모리 로딩 데이터가 로딩되는 실행 메모리(예컨대, 레지스터 및/또는 RAM(Random Access Memory)) 및 상기 프로세서와 메모리로 적어도 하나 이상의 데이터들을 입출력하는 버스(BUS)를 포함하여 이루어질 수 있다. 또한 소프트웨어적으로 비콘 장치(10)에 정의된 기능을 수행하기 위해 소정의 기록매체로부터 상기 실행 메모리로 로딩되어 상기 프로세서에 의해 연산 처리되는 소정의 프로그램 루틴(Routine) 또는 프로그램 데이터를 포함하여 이루어질 수 있다. 다시 말해, 본 발명의 실시 예에 따른 펌웨어 업데이트 방법을 처리하기 위해 비콘 장치(10)에 구비되는 기능 중 소프트웨어적으로 처리가 가능한 구성 요소를 제어부(12)의 기능으로 판단할 수 있다.
이러한, 본 발명의 제어부(12)는 본 발명의 실시 예에 따른 펌웨어 업데이트 방법을 지원하기 위해 구비되는 적어도 하나 이상의 구성 요소와 기능적으로 연결된다. 즉, 제어부(12)는 통신부(11) 및 저장부(13)와 기능적으로 연결되며, 상기 각 구성 요소에 전원 공급 및 기능 수행을 위한 신호의 흐름을 제어하게 된다.
아울러 제어부(12)는 통신부(11)의 제1 통신 모듈(11a)을 통해 일정 반경 내 비콘 신호를 송출하고, 이에 대한 응답이 전달되는 단말(20)과 연결되어, 상기 단말(20)로 지정된 서비스를 제공할 수 있다.
특히, 본 발명의 실시 예에 따른 제어부(12)는 일정 주기 단위로 상기 통신부(11)의 제2 통신 모듈(11b)을 통해 서비스 장치(30)로 펌웨어 프로그램 버전을 질의하여 수신할 수 있다. 이때, 제어부(12)는 통신부(11)의 제1 통신 모듈(11a)을 통해 하나 이상의 단말(20)과 연결되어, 해당 단말(20)로 서비스 제공 중인 경우, 기 설정된 주기 이상으로 상기 서비스 장치(30)로 펌웨어 프로그램 버전을 질의하여 수신하고, 그렇지 않은 경우, 기 설정된 주기 미만으로 상기 서비스 장치(30)로 펌웨어 프로그램 버전을 질의하여 수신할 수 있다. 다시 말해, 단말(20)로 서비스 제공 중일 경우, 제어부(12)는 서비스 장치(30)와 연동 가능한 제2 통신 모듈(11b)을 제어하여, 기 설정된 주기가 2시간 간격일 경우, 2시간 간격 이상인 예컨대, 3시간 간격으로 펌웨어 프로그램 버전을 질의할 수 있으며, 그렇지 않을 경우, 2시간 간격 미만으로 펌웨어 프로그램 버전을 질의할 수 있다.
서비스 장치(30)로부터 펌웨어 프로그램 버전이 수신되면, 제어부(12)는 서비스 장치(30)로부터 수신된 펌웨어 프로그램 버전과 저장부(13)에 설치되어 있는 펌웨어 프로그램(13a) 버전을 비교하여 상이할 경우, 펌웨어 프로그램의 업데이트 과정을 수행할 수 있다.
이때, 제어부(12)는 통신부(11)의 제1 통신 모듈(11a)의 상태를 확인하여, 상기 제1 통신 모듈(11a)이 하나 이상의 단말(20)로 서비스 제공 중인 경우, 비콘 신호의 송출을 중단한 후 해당 단말(20)과의 서비스 제공이 완료될 때까지 대기한 후 서비스 제공이 완료되면, 상기 서비스 장치(30)로 펌웨어 프로그램 업데이트를 요청할 수 있다. 반면, 그렇지 않은 경우, 제어부(12)는 통신부(11)의 제1 통신 모듈(11a)을 통해 일정 반경 내로 송출 중인 비콘 신호를 중단하고, 이와 동시에 서비스 장치(30)로 펌웨어 프로그램 업데이트를 요청할 수 있다.
또한, 제어부(12)는 통신부(11)의 제1 통신 모듈(11a)을 통해 하나 이상의 단말(20)로 서비스 제공 중이 아니나 연결 상태인 경우, 상기 단말(20)과의 연결을 강제 종료한 후, 상기 서비스 장치(30)로 펌웨어 프로그램 업데이트를 요청할 수도 있다.
이후, 제어부(12)는 상기 통신부(11)의 제2 통신 모듈(11b)을 통해 상기 서비스 장치(30)로부터 펌웨어 프로그램이 수신되면, 수신된 펌웨어 프로그램이 저장부(13)에 설치되도록 제어하게 된다.
다시 말해, 제어부(12)는 상기 서비스 장치(30)로부터 펌웨어 프로그램의 수신이 완료되면, 수신된 펌웨어 프로그램을 설치한 후 리스타트(restart)를 수행하여 펌웨어 프로그램이 정상적으로 동작하는 지 확인한 후, 정상적으로 동작하는 경우, 저장부(13)의 기존 펌웨어 프로그램을 삭제하는 과정을 수행할 수 있다.
또한, 제어부(12)는 상술한 과정을 거쳐 기존 버전의 펌웨어 프로그램을 삭제하고 서비스 장치(30)로부터 새로이 수신된 펌웨어 프로그램을 설치한 이후에, 통신부(11)의 제1 통신 모듈(11a)로 요청하여 중단된 비콘 신호의 송출이 이뤄지도록 제어하게 된다.
이러한 제어부(12)는 서비스 처리 모듈(12a) 및 업데이트 관리 모듈(12b)을 포함하여 구성될 수 있다. 서비스 처리 모듈(12a)은 통신부(11)의 제1 통신 모듈(11a)을 통해 일정 반경 내 비콘 신호의 송출을 제어할 수 있으며, 이를 수신한 단말(20)로 지정된 서비스에 따른 정보의 제공을 처리할 수 있다. 그리고 업데이트 관리 모듈(12b)은 상술한 바와 같이, 펌웨어 프로그램(13a)에 대한 버전을 서비스 장치(30)로 지속적으로 질의하고, 버전이 상이할 경우, 기 저장된 펌웨어 프로그램은 삭제하고 새로운 펌웨어 프로그램이 설치되는 과정을 지원할 수 있다.
저장부(13)는 본 발명의 실시 예에 따른 기능 동작에 필요한 응용 프로그램을 비롯하여, 그 응용 프로그램 실행 중에 발생되는 다양한 데이터를 일시적으로 저장할 수 있다. 특히, 본 발명의 실시 예에 따른 저장부(13)는 펌웨어 프로그램(13a)을 저장할 수 있다. 이러한 저장부(13)는 크게 프로그램 영역과 데이터 영역을 포함할 수 있다. 프로그램 영역은 비콘 장치(10)를 운용하는 데 있어 필요한 정보, 예컨대 펌웨어 프로그램(13a)을 저장하고 관리한다. 데이터 영역은 비콘 장치(10)의 사용에 따라 발생되는 데이터가 저장되는 영역으로, 예컨대, 연결된 단말(20)에 대한 정보가 저장될 수 있다.
이러한, 저장부(13)는 플래시 메모리(flash memory), 하드디스크(hard disk), 멀티미디어 카드 마이크로(multimedia card micro) 타입의 메모리(예컨대, SD 또는 XD 메모리 등), 램(RAM), 롬(ROM) 등의 저장매체를 포함하여 구성될 수 있다.
이와 같이, 도 2를 통해 비콘 장치(10)의 주요 구성요소에 대해 설명하였다. 그러나 도 2를 통해 도시된 구성요소가 모두 필수 구성요소인 것은 아니며, 도시된 구성요소보다 많은 구성 요소에 의해 비콘 장치(10)가 구현될 수 있고, 그 보다 적은 구성요소에 의해 비콘 장치(10)가 구현될 수도 있다.
또한, 도 2를 통해 도시된 비콘 장치(10)의 주요 구성요소의 위치는 얼마든지 편의상 또는 다른 이유로 바뀔 수 있음이 물론이다. 또한, 제어부(12)를 구성하는 모듈이 서비스 처리 모듈(12a) 및 업데이트 관리 모듈(12b)만을 도시하였으나, 이에 한정되는 것은 아니며, 다양한 기능을 수행하는 다양한 모듈로 제어부(12)가 구성될 수도 있다.
이하, 본 발명의 실시 예에 따른 서비스 장치(30)의 주요 구성 및 동작 방법에 대해 설명하도록 한다.
도 3은 도 1에 도시된 본 발명의 실시 예에 따른 서비스 장치의 주요 구성을 도시한 블록도이다.
도 1 및 도 3을 참조하면, 본 발명의 실시 예에 따른 서비스 장치(30)는 서비스 통신부(31), 서비스 제어부(32) 및 서비스 저장부(33)를 포함하여 구성될 수 있다.
각 구성 요소에 대해 보다 구체적으로 설명하면, 먼저 서비스 통신부(31)는 통신망을 통해 하나 이상의 비콘 장치(10)와 정보의 송수신을 지원하는 역할을 수행한다. 특히, 본 발명의 서비스 통신부(31)는 비콘 장치(10)의 요청에 따라 펌웨어 프로그램의 버전에 대한 정보를 전송할 수 있으며, 비콘 장치(10)로 펌웨어 프로그램의 전송을 지원할 수 있다.
서비스 제어부(32)는 본 발명의 실시 예에 따른 서비스 장치(30)의 전반적인 제어를 수행하는 것으로, 특히, 본 발명의 실시 예에 따른 서비스 제어부(32)는 비콘 제어 모듈(32a) 및 펌웨어 관리 모듈(32b)을 포함하여 구성될 수 있다. 여기서, 비콘 제어 모듈(32a)은 비콘 장치(10)에 대한 전반적인 관리를 수행하는 것으로서, 예를 들어, 새로이 설치된 비콘 장치(10)의 식별 정보 및 설치된 위치에 대한 정보를 비콘 정보(33a)로 서비스 저장부(33)에 저장되는 과정을 지원할 수 있다. 그리고, 비콘 장치(10)가 어떠한 서비스를 제공하는 지에 대한 정보를 비콘 정보(33a)로 저장하고 관리할 수도 있다.
반면, 펌웨어 관리 모듈(32b)은 펌웨어 프로그램(33b)을 지속적으로 갱신하여 펌웨어 프로그램의 버전 및 업데이트된 프로그램의 정보를 관리하는 역할을 수행한다. 그리고, 펌웨어 관리 모듈(32b)은 비콘 장치(10)의 요청에 따라 비콘 장치(10)로 현재의 펌웨어 프로그램에 대한 버전 정보를 전송할 수 있으며, 비콘 장치(10)의 요청에 따라 비콘 장치(10)로 펌웨어 프로그램을 전송하여 비콘 장치(10)에서 펌웨어 프로그램이 업데이트 되도록 지원할 수 있다.
서비스 저장부(33)는 서비스 장치(30)의 기능 실행에 따른 모든 프로그램을 저장한다. 특히, 본 발명의 실시 예에 따른 서비스 저장부(33)는 전술한 바와 같이 비콘 정보(33a) 및 펌웨어 프로그램(33b)을 저장할 수 있다.
이러한, 본 발명의 서비스 저장부(33)는 서비스 장치(30) 내 위치하는 저장소일 수 있고, 서비스 장치(30) 외부에 위치하여 서비스 장치(30)와 데이터 송수신이 가능한 데이터 저장 서버가 될 수도 있다.
이상으로 본 발명의 실시 예에 따른 서비스 장치(30)의 주요 구성 및 동작 방법에 대해 설명하였다.
본 발명의 실시 예에 따른 서비스 장치(30)는 하드웨어적으로는 통상적인 웹서버(Web Server) 또는 네트워크 서버와 동일한 구성을 하고 있다. 그러나, 소프트웨어적으로는 C, C++, Java, Visual Basic, Visual C 등과 같은 언어를 통하여 구현되는 프로그램 모듈(Module)을 포함한다. 서비스 장치(30)는 웹서버 또는 네트워크 서버의 형태로 구현될 수 있으며, 웹서버는 일반적으로 인터넷과 같은 개방형 컴퓨터 네트워크를 통하여 불특정 다수 클라이언트 및/또는 다른 서버와 연결되어 있고, 클라이언트 또는 다른 웹서버의 작업수행 요청을 접수하고 그에 대한 작업 결과를 도출하여 제공하는 컴퓨터 시스템 및 그를 위하여 설치되어 있는 컴퓨터 소프트웨어(웹서버 프로그램)를 뜻하는 것이다. 그러나, 전술한 웹서버 프로그램 이외에도, 웹서버 상에서 동작하는 일련의 응용 프로그램(Application Program)과 경우에 따라서는 내부에 구축되어 있는 각종 데이터베이스를 포함하는 넓은 개념으로 이해되어야 할 것이다. 이러한 서비스 장치(30)는 일반적인 서버용 하드웨어에 도스(DOS), 윈도우(Windows), 리눅스(Linux), 유닉스(UNIX), 매킨토시(Macintosh) 등의 운영체제에 따라 다양하게 제공되고 있는 웹서버 프로그램을 이용하여 구현될 수 있으며, 대표적인 것으로는 윈도우 환경에서 사용되는 웹사이트(Website), IIS(Internet Information Server)와 유닉스환경에서 사용되는 CERN, NCSA, APPACH 등이 이용될 수 있다.
또한, 본 발명의 서비스 장치(30)는 서버 기반 컴퓨팅 방식 또는 클라우드 방식으로 동작하는 하나 이상의 서버로 구현될 수 있다. 특히, 펌웨어 업데이트 시스템(100)을 통해 송수신되는 정보는 인터넷 상의 클라우드 컴퓨팅 장치에 영구적으로 저장될 수 있는 클라우드 컴퓨팅(Cloud Computing) 기능을 통해 제공될 수 있다. 여기서, 클라우드 컴퓨팅은 데스크톱, 태블릿 컴퓨터, 노트북, 넷북 및 스마트폰 등의 디지털 단말기에 인터넷 기술을 활용하여 가상화된 IT(Information Technology) 자원, 예를 들어, 하드웨어(서버, 스토리지, 네트워크 등), 소프트웨어(데이터베이스, 보안, 웹 서버 등), 서비스, 데이터 등을 온 디맨드(On demand) 방식으로 서비스하는 기술을 의미한다. 본 발명에 있어서, 하나 이상의 비콘 장치(10) 및 서비스 장치(30) 사이에 송수신되는 모든 정보는 인터넷 상의 클라우드 컴퓨팅 장치에 저장되고, 언제 어디서든 전송될 수 있다.
한편, 비콘 장치(10) 또는 단말(20) 및 서비스 장치(30)에 탑재되는 메모리는 그 장치 내에서 정보를 저장한다. 일 구현예의 경우, 메모리는 컴퓨터로 판독 가능한 매체이다. 일 구현 예에서, 메모리는 휘발성 메모리 유닛 일 수 있으며, 다른 구현예의 경우, 메모리는 비휘발성 메모리 유닛 일 수도 있다. 일 구현예의 경우, 저장장치는 컴퓨터로 판독 가능한 매체이다. 다양한 서로 다른 구현 예에서, 저장장치는 예컨대 하드디스크 장치, 광학디스크 장치, 혹은 어떤 다른 대용량 저장장치를 포함할 수도 있다.
아울러, 본 발명의 실시 예에서 사용되는 '~모듈'이라는 용어는 소프트웨어 구성요소를 의미하며, '~모듈'은 어떤 역할들을 수행한다. 일 예로서 '~모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 또한, 구성요소들과 '~모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~모듈'들로 결합되거나 추가적인 구성요소들과 '~모듈'들로 더 분리될 수 있다.
비록 본 명세서와 도면에서는 예시적인 장치 구성을 기술하고 있지만, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물들은 다른 유형의 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다. 본 명세서에서 설명하는 주제의 구현물들은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 본 발명에 따른 장치의 동작을 제어하기 위하여 혹은 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 혹은 이들 중 하나 이상의 조합일 수 있다.
이하, 본 발명의 실시 예에 따른 비콘 펌웨어 업데이트 방법에 대해 설명하도록 한다.
도 4는 본 발명의 실시 예에 따른 비콘 펌웨어 업데이트 방법을 설명하기 위한 흐름도이다.
도 1 및 도 4를 참조하면, 본 발명의 비콘 장치(10)는 일정 주기 단위로 서비스 장치(30)로 펌웨어 프로그램 버전을 질의한다(S101). 질의에 따른 응답으로 비콘 장치(10)는 서비스 장치(30)로부터 서비스 장치(30)가 보유하고 있는 현재의 펌웨어 프로그램 버전을 수신한다(S103). 그리고 비콘 장치(10)는 서비스 장치(30)로부터 수신된 펌웨어 프로그램 버전과 설치된 펌웨어 프로그램 버전을 비교하고(S105), 상이한 경우, 일정 반경 내 송출 중인 비콘 신호의 송출을 중단하고(S109), 서비스 장치(30)로 펌웨어 프로그램 업데이트를 요청하게 된다(S111).
이후, 비콘 장치(10)는 서비스 장치(30)로부터 펌웨어 프로그램을 수신하여(S113), 수신이 완료되면(S115), 기존 펌웨어 프로그램은 삭제하고, 수신된 펌웨어 프로그램을 설치하는 과정을 수행할 수 있으며(S117), 펌웨어 프로그램 업데이트를 위해 중단되었던 비콘 신호를 다시 송출하게 된다(S119).
상술한 본 발명의 비콘 펌웨어 업데이트 방법에 대해 이하 보다 더 구체적으로 설명하도록 한다.
도 5는 본 발명의 실시 예에 따른 비콘 펌웨어 업데이트 방법을 구체적으로 설명하기 위한 데이터 흐름도이다.
도 5를 참조하면, 비콘 장치(10)는 일정 반경 내 위치하는 하나 이상의 단말(20)과 연결되어 지정된 서비스를 제공할 수 있다(S201). 지정된 서비스는 예컨대, 일정 반경 내 위치하며 비콘 장치(10)가 송출한 비콘 신호를 수신한 단말(20)로 제공되는 광고 서비스 등이 될 수 있다.
이러한 상태에서, 비콘 장치(10)는 현재 자신과 연결된 단말(20)이 존재하므로, 서비스 장치(30)로 펌웨어 프로그램 버전 질의를 위한 주기를 기 설정된 값 이상으로 설정한 후(S203), 설정된 주기에 따라 서비스 장치(30)로 펌웨어 프로그램 버전을 질의하게 된다(S205). 반면, 비콘 장치(10)는 연결된 단말(20)이 존재하지 않을 경우, 기 설정된 값 미만으로 주기를 설정하여 서비스 장치(30)로 질의할 수도 있다.
이후에, 비콘 장치(10)는 서비스 장치(30)로부터 서비스 장치(30)가 보유하고 있는 펌웨어 프로그램 버전에 대한 정보를 수신하고(S207), 수신된 펌웨어 프로그램 버전과, 자신이 보유하고 있는 펌웨어 프로그램 버전을 비교하게 된다(S209). 상기 비교 결과 상이한 경우, 비콘 장치(10)는 펌웨어 프로그램의 업데이트 과정을 수행할 수 있다.
이때, 비콘 장치(10)는 현재 자신이 하나 이상의 단말(20)로 서비스 제공 중인지 여부를 판단하고, 해당 단말(20)과의 연결이 정상적인 연결일 경우(S213), 해당 단말(20)과의 서비스 제공이 완료될 때까지 대기(S215)한 후 서비스 제공이 완료되면(S217), 일정 반경 내 송출 중인 비콘 신호의 송출을 중단하고(S219), 상기 서비스 장치(30)로 펌웨어 프로그램 업데이트를 요청할 수 있다. 반면, 비콘 장치(10)는 현재 연결된 단말(20)이 없을 경우, 즉시 송출 중인 비콘 신호를 중단하고 이와 동시에 서비스 장치(30)로 펌웨어 프로그램 업데이트를 요청할 수 있으며, 하나 이상의 단말(20)로 서비스 제공 중은 아니나 연결을 유지하고 있을 경우, 비정상정인 연결이므로, 단말(20)과의 연결을 강제 종료한 후, 서비스 장치(30)로 펌웨어 프로그램 업데이트를 요청할 수도 있다.
이후, 비콘 장치(10)는 서비스 장치(30)로부터 펌웨어 프로그램을 수신하여(S223), 수신이 완료되면(S225), 해당 펌웨어 프로그램을 설치한 후 리스타트(S227)를 수행한다.
그리고 비콘 장치(10)는 설치된 펌웨어 프로그램이 정상 동작하면(S229), 기존 펌웨어 프로그램을 삭제하고(S231), 정상 동작하지 않으면, 설치한 펌웨어 프로그램을 삭제하고, 기존 펌웨어 프로그램을 유지할 수도 있다.
이러한 과정을 거쳐, 펌웨어 프로그램의 업데이트가 완료되면, 비콘 장치(10)는 중단된 비콘 신호를 다시 송출하고, 단말(20)과의 연결 과정이 이뤄지도록 제어할 수 있게 된다.
이와 같이, 본 발명의 비콘 펌웨어 업데이트 방법에 의하면, 비콘 장치(10)가 펌웨어 프로그램의 업데이트의 필요 여부를 판단하여, 업데이트가 필요한 것으로 판단되면, 현재 송출 중인 비콘 신호의 송출을 중단하고 펌웨어 프로그램을 업데이트함으로써, 보다 손쉽게 비콘 장치의 펌웨어 프로그램을 업데이트할 수 있게 된다.
또한, 본 발명에 의하면, 비콘 장치(10)가 특정 사용자의 단말(20)로 서비스 제공 중인 경우, 사용자의 단말(20)로 제공되는 서비스가 중단되지 않도록 대기한 이후에 펌웨어 프로그램을 업데이트함으로써, 보다 효율적인 펌웨어 프로그램의 업데이트가 가능하며, 비콘 장치(10)의 상황에 따라 질의 주기를 조정할 수 있어, 보다 효율적인 펌웨어 프로그램의 업데이트가 가능하게 된다.
이상으로 본 발명의 실시 예에 따른 비콘 펌웨어 업데이트 방법에 대해 설명하였다.
상술한 바와 같은 본 발명의 비콘 펌웨어 업데이트 방법은 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체의 형태로 제공될 수도 있다. 이때, 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM)과 같은 반도체 메모리를 포함한다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.
본 발명은 비콘 장치에서의 펌웨어 업데이트 방법에 관한 것으로서, 더욱 상세하게는 비콘 장치가 펌웨어 프로그램의 업데이트의 필요 여부를 판단하여, 업데이트가 필요한 것으로 판단되면, 현재 송출 중인 비콘 신호의 송출을 중단하고 펌웨어 프로그램을 업데이트할 수 있는 비콘 펌웨어 업데이트 방법 및 이를 이용하는 비콘 장치, 그리고 시스템에 관한 것이다.
본 발명에 의하면, 비콘 장치가 펌웨어 프로그램의 업데이트의 필요 여부를 판단하여, 업데이트가 필요한 것으로 판단되면, 현재 송출 중인 비콘 신호의 송출을 중단하고 펌웨어 프로그램을 업데이트함으로써, 보다 손쉽게 비콘 장치의 펌웨어 프로그램을 업데이트할 수 있으며, 비콘 장치가 특정 사용자의 단말로 서비스 제공 중인 경우, 사용자의 단말로 제공되는 서비스가 중단되지 않도록 대기한 이후에 펌웨어 프로그램을 업데이트함으로써, 보다 효율적인 펌웨어 프로그램의 업데이트가 가능하다는 장점이 있다. 또한 이를 통해 비콘 서비스 산업의 발전에 이바지함은 물론, 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.
10: 비콘 장치 11: 통신부 11a: 제1 통신 모듈
11b: 제2 통신 모듈 12: 제어부 12a: 서비스 처리 모듈
12b: 업데이트 관리 모듈 13: 저장부 13a: 펌웨어 프로그램
20: 단말 30: 서비스 장치 31: 서비스 통신부
32: 서비스 제어부 32a: 비콘 제어 모듈 32b: 펌웨어 관리 모듈
33: 서비스 저장부 33a: 비콘 정보 33b: 펌웨어 프로그램
100: 펌웨어 업데이트 시스템

Claims (15)

  1. 일정 반경 내 비콘 신호를 송출하고, 서비스 장치와 정보를 송수신하는 통신부; 및
    일정 주기 단위로 상기 통신부를 통해 서비스 장치로 펌웨어 프로그램 버전을 질의하여 수신하고, 수신된 펌웨어 프로그램 버전과 설치되어 있는 펌웨어 프로그램 버전을 비교하여 상이할 경우, 상기 통신부를 제어하여 일정 반경 내 송출 중인 비콘 신호의 송출을 중단하고, 상기 통신부를 통해 상기 서비스 장치로 펌웨어 프로그램 업데이트를 요청하여, 상기 통신부를 통해 상기 서비스 장치로부터 펌웨어 프로그램이 수신되면, 수신된 펌웨어 프로그램이 설치되도록 제어하는 제어부;
    를 포함하는 것을 특징으로 하는 비콘 장치.
  2. 제1 항에 있어서,
    상기 통신부는
    일정 반경 내 비콘 신호를 송출하고, 송출된 비콘 신호를 스캐닝하여 연결된 하나 이상의 단말과 정보를 송수신하는 제1 통신 모듈; 및
    상기 서비스 장치와 정보를 송수신하는 제2 통신 모듈;
    을 포함하는 것을 특징으로 하는 비콘 장치.
  3. 제1 항에 있어서,
    상기 제어부는
    상기 통신부를 통해 하나 이상의 단말로 서비스 제공 중인 경우, 기 설정된 주기 이상으로 상기 서비스 장치로 펌웨어 프로그램 버전을 질의하여 수신하고, 그렇지 않은 경우, 기 설정된 주기 미만으로 상기 서비스 장치로 펌웨어 프로그램 버전을 질의하여 수신하는 것을 특징으로 하는 비콘 장치.
  4. 제1 항에 있어서,
    상기 제어부는
    수신된 펌웨어 프로그램 버전과 설치되어 있는 펌웨어 프로그램 버전을 비교하여 상이할 경우, 상기 통신부를 통해 하나 이상의 단말로 서비스 제공 중인 경우, 비콘 신호의 송출을 중단한 후 해당 단말과의 서비스 제공이 완료될 때까지 대기한 후 서비스 제공이 완료되면, 상기 서비스 장치로 펌웨어 프로그램 업데이트를 요청하며, 그렇지 않은 경우, 비콘 신호의 송출을 중단함과 동시에 상기 서비스 장치로 펌웨어 프로그램 업데이트를 요청하는 것을 특징으로 하는 비콘 장치.
  5. 제4 항에 있어서,
    상기 제어부는
    상기 통신부를 통해 하나 이상의 단말로 서비스 제공 중이 아니나 연결 상태인 경우, 상기 단말과의 연결을 강제 종료한 후, 상기 서비스 장치로 펌웨어 프로그램 업데이트를 요청하는 것을 특징으로 하는 비콘 장치.
  6. 제1 항에 있어서,
    상기 제어부는
    상기 서비스 장치로부터 펌웨어 프로그램의 수신이 완료되면, 수신된 펌웨어 프로그램을 설치한 후 리스타트(restart)를 수행하여 펌웨어 프로그램이 정상적으로 동작하는 지 확인한 후, 정상적으로 동작하는 경우, 기존 펌웨어 프로그램을 삭제하는 것을 특징으로 하는 비콘 장치.
  7. 제1 항에 있어서,
    상기 제어부는
    상기 펌웨어 프로그램을 설치한 이후에, 중단된 비콘 신호의 송출을 이뤄지도록 상기 통신부를 제어하는 것을 특징으로 하는 비콘 장치.
  8. 하나 이상의 비콘 장치를 관리하며, 비콘 장치로 제공할 수 있는 펌웨어 프로그램을 관리하는 서비스 장치; 및
    일정 주기 단위로 상기 서비스 장치로 펌웨어 프로그램 버전을 질의하여 수신하고, 수신된 펌웨어 프로그램 버전과 설치되어 있는 펌웨어 프로그램 버전을 비교하여 상이할 경우, 일정 반경 내 송출 중인 비콘 신호의 송출을 중단하고, 상기 서비스 장치로 펌웨어 프로그램 업데이트를 요청하여, 상기 서비스 장치로부터 펌웨어 프로그램이 수신되면, 수신된 펌웨어 프로그램이 설치되도록 제어하는 비콘 장치;
    를 포함하는 것을 특징으로 하는 펌웨어 업데이트 시스템.
  9. 비콘 장치가 일정 주기 단위로 서비스 장치로 펌웨어 프로그램 버전을 질의하는 단계;
    상기 비콘 장치가 상기 서비스 장치로부터 펌웨어 버전을 수신하는 단계;
    상기 비콘 장치가 상기 서비스 장치로부터 수신된 펌웨어 프로그램 버전과 설치되어 있는 펌웨어 프로그램 버전을 비교하는 단계;
    상기 비교 결과, 펌웨어 프로그램 버전이 상이할 경우, 상기 비콘 장치가 일정 반경 내 송출 중인 비콘 신호의 송출을 중단하고, 상기 서비스 장치로 펌웨어 프로그램 업데이트를 요청하는 단계; 및
    상기 비콘 장치가 상기 서비스 장치로부터 펌웨어 프로그램이 수신되면, 상기 서비스 장치로부터 수신된 펌웨어 프로그램이 설치되도록 제어하는 단계;
    를 포함하는 것을 특징으로 하는 비콘 펌웨어 업데이트 방법.
  10. 제9 항에 있어서,
    상기 프로그램 버전을 질의하는 단계에서,
    상기 비콘 장치가 하나 이상의 단말로 서비스 제공 중인 경우, 기 설정된 주기 이상으로 상기 서비스 장치로 펌웨어 프로그램 버전을 질의하고, 그렇지 않을 경우, 기 설정된 주기 미만으로 상기 서비스 장치로 펌웨어 프로그램 버전을 질의하는 것을 특징으로 하는 비콘 펌웨어 업데이트 방법.
  11. 제9 항에 있어서,
    상기 업데이트를 요청하는 단계는
    상기 비콘 장치가 하나 이상의 단말로 서비스 제공 중인 경우, 비콘 신호의 송출을 중단한 후 해당 단말과의 서비스 제공이 완료될 때까지 대기한 후 서비스 제공이 완료되면 상기 서비스 장치로 펌웨어 프로그램 업데이트를 요청하며, 그렇지 않은 경우, 비콘 신호의 송출을 중단한 후 상기 서비스 장치로 펌웨어 프로그램 업데이트를 요청하는 것을 특징으로 하는 비콘 펌웨어 업데이트 방법.
  12. 제11 항에 있어서,
    상기 업데이트를 요청하는 단계는
    상기 비콘 장치가 하나 이상의 단말로 서비스 제공 중이 아니나 연결 상태인 경우, 상기 단말과의 연결을 강제 종료한 후, 상기 서비스 장치로 펌웨어 프로그램 업데이트를 요청하는 것을 특징으로 하는 비콘 펌웨어 업데이트 방법.
  13. 제9 항에 있어서,
    상기 펌웨어 프로그램이 설치되도록 제어하는 단계는
    상기 비콘 장치가 상기 서비스 장치로부터 펌웨어 프로그램이 수신이 완료되면, 상기 서비스 장치로부터 수신된 펌웨어 프로그램을 설치하는 단계;
    상기 비콘 장치가 리스타트를 수행하는 단계;
    상기 비콘 장치가 상기 서비스 장치로부터 수신된 펌웨어 프로그램이 정상적으로 동작하는지 확인하는 단계; 및
    상기 비콘 장치가 상기 수신된 펌웨어 프로그램이 정상적으로 동작하는 경우, 기존 펌웨어 프로그램을 삭제하는 단계;
    를 포함하는 것을 특징으로 하는 비콘 펌웨어 업데이트 방법.
  14. 제9 항에 있어서,
    상기 펌웨어 프로그램이 설치되도록 제어하는 단계 이후에,
    상기 비콘 장치가 중단된 비콘 신호의 송출을 시작하는 단계;
    를 더 포함하는 것을 특징으로 하는 비콘 펌웨어 업데이트 방법.
  15. 제9 항 내지 제14 항 중 어느 하나의 항에 기재된 비콘 펌웨어 업데이트 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.

KR1020140056814A 2014-05-12 2014-05-12 비콘 펌웨어 업데이트 방법 및 이를 이용하는 비콘 장치, 그리고 시스템 KR20150129972A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140056814A KR20150129972A (ko) 2014-05-12 2014-05-12 비콘 펌웨어 업데이트 방법 및 이를 이용하는 비콘 장치, 그리고 시스템
US14/623,131 US9274787B2 (en) 2014-05-12 2015-02-16 Method and system for updating firmware on a beacon device and a communication unit broadcasting beacon signal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140056814A KR20150129972A (ko) 2014-05-12 2014-05-12 비콘 펌웨어 업데이트 방법 및 이를 이용하는 비콘 장치, 그리고 시스템

Publications (1)

Publication Number Publication Date
KR20150129972A true KR20150129972A (ko) 2015-11-23

Family

ID=54367911

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140056814A KR20150129972A (ko) 2014-05-12 2014-05-12 비콘 펌웨어 업데이트 방법 및 이를 이용하는 비콘 장치, 그리고 시스템

Country Status (2)

Country Link
US (1) US9274787B2 (ko)
KR (1) KR20150129972A (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102213715B1 (ko) * 2014-03-07 2021-02-05 에스케이플래닛 주식회사 진입 확인 시스템 및 그 방법, 그리고 이에 적용되는 장치
US9936526B2 (en) * 2015-08-04 2018-04-03 Qualcomm Incorporated Systems and methods to authenticate a request to modify or access information related to an asset in association with a transfer of management
CN108028767B (zh) * 2015-09-24 2020-03-20 Oppo广东移动通信有限公司 为适配器升级的方法、移动终端和适配器
CN105722120A (zh) * 2016-01-27 2016-06-29 努比亚技术有限公司 移动终端及其***升级方法
US20180240318A1 (en) * 2017-02-17 2018-08-23 Cejay Engineering, Llc Beacon device and beacon communication system
KR102589783B1 (ko) * 2018-07-04 2023-10-13 에스케이플래닛 주식회사 단말장치 및 그 동작 방법
CN109213506A (zh) * 2018-08-24 2019-01-15 郑州云海信息技术有限公司 一种固件信息获取方法及相关装置
US10558453B1 (en) * 2018-12-13 2020-02-11 Dell Products, Lp System and method to achieve shared drive firmware version consistency via ESRT update
CN111381840B (zh) * 2018-12-27 2024-06-18 ***通信集团终端有限公司 应用程序更新的方法、装置和设备
US20210336985A1 (en) * 2019-03-19 2021-10-28 Fortinet, Inc. Alerts for and remediation of virus outbreaks in a data network security fabric
CN112114837B (zh) * 2019-06-19 2023-07-21 杭州海康威视数字技术股份有限公司 固件更新方法及摄像机
CN111190621A (zh) * 2019-12-23 2020-05-22 深圳优地科技有限公司 固件烧录方法、装置、***、终端设备及存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7213048B1 (en) * 2000-04-05 2007-05-01 Microsoft Corporation Context aware computing devices and methods
US8250562B2 (en) * 2002-08-30 2012-08-21 Sun Microsystems, Inc. Barrier mechanism for firmware upgrade
KR100737065B1 (ko) * 2003-04-02 2007-07-06 마츠시타 덴끼 산교 가부시키가이샤 데이터 재생 장치, 영상 표시 장치, 그것들을 이용한소프트웨어 갱신 시스템 및 소프트웨어 갱신 방법
US7676804B2 (en) * 2004-05-20 2010-03-09 Caterpillar Inc. Systems and method for remotely modifying software on a work machine
US7600006B2 (en) * 2004-08-31 2009-10-06 Inter-Tel, Inc Peer-to-peer distribution of firmware
US8463319B2 (en) * 2005-06-17 2013-06-11 Honeywell International Inc. Wireless application installation, configuration and management tool
US7814478B2 (en) * 2005-11-09 2010-10-12 Texas Instruments Norway As Methods and apparatus for use in updating application programs in memory of a network device
US8286159B2 (en) * 2005-12-22 2012-10-09 Alan Joshua Shapiro Method and apparatus for gryphing a data storage medium
WO2008025017A2 (en) * 2006-08-24 2008-02-28 Chumby Industries, Inc. Configurable personal audiovisual device for use in networked application-sharing system
US8667144B2 (en) * 2007-07-25 2014-03-04 Qualcomm Incorporated Wireless architecture for traditional wire based protocol
KR101498054B1 (ko) * 2008-09-12 2015-03-03 엘지전자 주식회사 무선 네트워크에서의 통신 수행 방법
US8387112B1 (en) * 2008-10-29 2013-02-26 Juniper Networks, Inc. Automatic software update on network devices
US9014715B2 (en) * 2010-06-11 2015-04-21 Skyhook Wireless, Inc. Systems for and methods of determining likelihood of atypical transmission characteristics of reference points in a positioning system
JP5678717B2 (ja) * 2011-02-24 2015-03-04 富士通株式会社 監視装置、監視システムおよび監視方法
US8826265B2 (en) * 2011-10-24 2014-09-02 Texas Instruments Incorporated Data concentrator initiated multicast firmware upgrade
US8938730B2 (en) * 2012-12-17 2015-01-20 Itron, Inc. Utilizing a multi-system set configuration to update a utility node system set

Also Published As

Publication number Publication date
US9274787B2 (en) 2016-03-01
US20150324186A1 (en) 2015-11-12

Similar Documents

Publication Publication Date Title
KR20150129972A (ko) 비콘 펌웨어 업데이트 방법 및 이를 이용하는 비콘 장치, 그리고 시스템
US9841967B2 (en) Method and apparatus for auto installing applications into different terminals
KR101636022B1 (ko) 서비스 제어 장치 연동을 통한 단말간 컨텐츠 전송 방법 및 이를 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록매체
US9820135B2 (en) Systems and methods for reducing connection latency
US20110182250A1 (en) Apparatus for providing location based service and method thereof
WO2018040746A1 (zh) 一种驱动程序的安装方法及装置、电子设备
CN103093148A (zh) 一种恶意广告的检测方法、***及设备
CN103416047A (zh) 用短程通信的***设备检测
KR20150131535A (ko) 라이브러리 업데이트 방법, 이를 위한 단말 및 시스템
EP3076686A1 (en) Method and apparatus for verifying validity of beacon signal
CN111181752B (zh) 窄带设备升级方法、移动终端及可读存储介质
KR20180050001A (ko) 사물인터넷 기기의 펌웨어 업그레이드 시스템 및 방법
US10488909B2 (en) Communicating commands to an embedded controller of a system
US9930606B2 (en) Method of expanding beacon service coverage, and apparatus and system therefor
KR20110047671A (ko) 전자책 단말기의 펌웨어 업그레이드 시스템
KR102264456B1 (ko) 위치 측위 방법, 이를 위한 장치 및 시스템
CN103634936A (zh) 文件下载方法、装置及***
KR102124330B1 (ko) 어플리케이션 업데이트 방법 및 이를 지원하는 단말
KR101875549B1 (ko) 사물인터넷장치를 원격에서 관제하는 전원제어단말장치 및 이를 포함하는 전원제어시스템
US9553759B2 (en) Network system, node device group, and sensor device group
KR102103354B1 (ko) 지도 검색 서비스 제공 방법 및 이를 위한 장치
KR102111574B1 (ko) 어플리케이션 기반 식별 정보 생성 방법, 이를 위한 장치 및 시스템
KR101171210B1 (ko) 이동통신 단말의 파일을 관리하는 단말 관리 서버 및 방법
KR20160029282A (ko) 클라우드 스토리지 서비스 제공 방법 및 이를 구현한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
US10445165B2 (en) Inactive application restarting

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid