KR101867813B1 - 단말 관리를 위한 서버시스템 및 온라인 서비스 - Google Patents
단말 관리를 위한 서버시스템 및 온라인 서비스 Download PDFInfo
- Publication number
- KR101867813B1 KR101867813B1 KR1020110033879A KR20110033879A KR101867813B1 KR 101867813 B1 KR101867813 B1 KR 101867813B1 KR 1020110033879 A KR1020110033879 A KR 1020110033879A KR 20110033879 A KR20110033879 A KR 20110033879A KR 101867813 B1 KR101867813 B1 KR 101867813B1
- Authority
- KR
- South Korea
- Prior art keywords
- server
- user
- terminal
- client
- management
- Prior art date
Links
- 238000000034 method Methods 0.000 claims description 192
- 238000005406 washing Methods 0.000 claims description 80
- 238000004891 communication Methods 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 26
- 238000010295 mobile communication Methods 0.000 claims description 19
- 238000007726 management method Methods 0.000 description 286
- 238000012544 monitoring process Methods 0.000 description 114
- 238000003745 diagnosis Methods 0.000 description 109
- 230000006870 function Effects 0.000 description 95
- 235000013305 food Nutrition 0.000 description 91
- 239000003795 chemical substances by application Substances 0.000 description 45
- 239000008186 active pharmaceutical agent Substances 0.000 description 33
- 230000004913 activation Effects 0.000 description 19
- 238000012545 processing Methods 0.000 description 17
- 238000012546 transfer Methods 0.000 description 17
- 238000004088 simulation Methods 0.000 description 16
- 238000005057 refrigeration Methods 0.000 description 12
- 230000008859 change Effects 0.000 description 10
- 238000009434 installation Methods 0.000 description 10
- 230000006399 behavior Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 9
- 238000012384 transportation and delivery Methods 0.000 description 9
- 239000003999 initiator Substances 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- 238000003860 storage Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 238000012217 deletion Methods 0.000 description 5
- 230000037430 deletion Effects 0.000 description 5
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 4
- 230000009471 action Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 241000287828 Gallus gallus Species 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000036316 preload Effects 0.000 description 2
- 235000021067 refined food Nutrition 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000018044 dehydration Effects 0.000 description 1
- 238000006297 dehydration reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 229940039227 diagnostic agent Drugs 0.000 description 1
- 239000000032 diagnostic agent Substances 0.000 description 1
- 238000002405 diagnostic procedure Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 235000012041 food component Nutrition 0.000 description 1
- 239000005417 food ingredient Substances 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 235000013611 frozen food Nutrition 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 235000013372 meat Nutrition 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012144 step-by-step procedure Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 235000013311 vegetables Nutrition 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/06—Energy or water supply
-
- D—TEXTILES; PAPER
- D06—TREATMENT OF TEXTILES OR THE LIKE; LAUNDERING; FLEXIBLE MATERIALS NOT OTHERWISE PROVIDED FOR
- D06F—LAUNDERING, DRYING, IRONING, PRESSING OR FOLDING TEXTILE ARTICLES
- D06F15/00—Washing machines having beating, rubbing or squeezing means in receptacles stationary for washing purposes
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F25—REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
- F25D—REFRIGERATORS; COLD ROOMS; ICE-BOXES; COOLING OR FREEZING APPARATUS NOT OTHERWISE PROVIDED FOR
- F25D11/00—Self-contained movable devices, e.g. domestic refrigerators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q9/00—Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Tourism & Hospitality (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Water Supply & Treatment (AREA)
- Public Health (AREA)
- Signal Processing (AREA)
- Textile Engineering (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Mechanical Engineering (AREA)
- Thermal Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
- Telephonic Communication Services (AREA)
Abstract
본 발명은 서버시스템에 의한 단말기(device)의 원격 관리에 관한 것이다. 본 발명의 일실시예는 관리 대상이 될 수 있는 모든 단말기에 고유의 아이디를 부여하고 이를 서버시스템에 등록하여 원격으로 관리서비스를 받을 수 있는 시스템 또는 온라인 서비스이다. 여기서, 상기 단말기는 각종 전자제품, 특히, 가전제품일 수 있다.
Description
본 발명은 서버시스템에 의한 단말기(device)의 원격 관리에 관한 것이다. 소비자에게 판매된 모든 전자제품과 같은 단말기들에 대한 관리에 적합한 서버시스템 및 그 관리를 위한 온라인 서비스에 관한 것이다. 본 발명은 특히, 세탁기, 냉장고, 오븐, 청소기 등등 가전제품들에 대한 관리에 적합할 수 있다.
가전제품의 경우를 예를 들면, 종래에는 세탁기에 고장이 발생한 경우 사용자는 오프라인을 통해 에프터서비스를 받을 수밖에 없었다. 그리고, 한 번 구입한 세탁기에 대해서는 구입할 당시에 그 세탁기가 가지고 있던 성능 그대로 사용할 수밖에 없었으며 프로그램 등에 있어서 업그레이드를 받는 일이 거의 없었다. 업그레이드를 받더라도 대부분이 오프라인으로 이루어지기 때문에 불편이 많았다. 또한, 제조사 측면에서도 펌웨어나 소프트웨어 등에 업그레이드가 있어도 사용자에게 알림을 줄 수 있는 방법이 없었다.
단말 관리를 위한 서버시스템 및 온라인 서비스 방법을 제공한다. 특히, 가전제품 등의 제품에 대한 단말 관리 서비스에 적합한 서버시스템 및 그 온라인 서비스 방법을 제공한다.
본 발명의 일실시예는 관리 대상이 되는 모든 단말기를 원격으로 관리할 수 있는 시스템 또는 온라인 서비스이다. 여기서, 상기 단말기는 각종 전자제품, 특히, 가전제품일 수 있다.
서버시스템에 의한 단말기의 원격 관리를 위해 서버시스템과 단말기에는 관리서비스 수행을 위해 규약한 프로토콜이 각각 인스톨되어 있을 수 있다. 즉, 단말기에는 단말측 어플리케이션이 인스톨되고, 서버시스템에는 서버측 어플리케이션이 인스톨되며, 상기 단말측 어플리케이션과 서버측 어플리케이션은 관리 서비스의 수행에 관하여 상호 규약된다.
그리고, 상기 서버시스템과 단말기를 통신적으로 서로 연결하는 통신환경이 포함될 수 있다.
관리 대상의 모든 단말기에 고유의 아이디(이하 디바이스ID라 함)가 부여되어 서버시스템에 등록될 수 있다.
사용자 아이디 또한 서버시스템에 등록될 수 있다. 사용자는 사용자 아이디 및 자신이 사용하는 모든 단말기의 디바이스ID들을 서버시스템에 등록하여 체계적인 관리서비스를 받을 수 있다.
서버시스템은 등록된 아이디들을 통해 어떤 사용자가 어떤 단말기들을 사용하고 있는지 알 수 있으며, 그 사용자에 적합한 맞춤형 서비스를 구현할 수 있다.
서버시스템에서 단말기로, 또는 단말기에서 서버시스템으로 접속하기 위한 통신상의 주소정보가 서버시스템 또는 단말기에 등록되어 있을 수 있다. 예컨대, 단말기에 서버시스템의 통신상 주소정보가 입력되어 있을 수 있다. 단말기에 입력되어 있지 않은 경우에는, 사용자가 서비스 요청시에 서버시스템의 주소정보를 단말기의 사용자 인터페이스를 통해 입력하는 방법이 이용될 수도 있다.
이러한 원격 관리 서비스는 DM 서버와 DM 클라이언트가 서로 연동하여 처리하는 형태로 이루어질 수 있다. 또한, 서버시스템의 오픈 API를 통해 스마트폰과 같은 이동통신단말기에 의한 관리서비스 요청이 이루어질 수도 있으며, 그 서비스 결과가 상기 이동통신단말기로 전송되어 조회될 수도 있다.
본 서버시스템 또는 온라인 서비스의 일부 또는 전체는 스마트 그리드에 의해 가전제품에서의 에너지 절감을 달성하는데 이용될 수도 있다. 예컨대, 에너지 비용이 가장 저렴한 시간대에 세탁기가 운전되도록 세탁기를 제어하는데 이용되거나, 전기요금의 시간대별 비용 정보를 사용자 또는 제품에 제공하는데 이용될 수도 있다. 보다 구체적인 예를 들면, 세탁기 내에 스마트 그리드에 관한 어플리케이션이 설치되고, 서버시스템은 스마트 그리드와 관련된 정보(예컨대, 시간대별 에너지 비용 정보)를 세탁기에 전송할 수 있다. 상기 세탁기의 어플리케이션은 스마트 그리드와 관련된 정보를 이용하여 전력 비용이 저렴한 시간대에 세탁기가 운전되도록 제어할 수 있다. 물론, 그러한 정보를 세탁기에 전송하지 않고, 서버시스템에서 그 정보에 따라 세탁기의 운전을 원격으로 제어할 수도 있다. 이 경우에는 세탁기 내에 상기와 같은 스마트 그리드 관련 어플리케이션이 필요하지 않을 수도 있다. 이는 단순한 원격 제어에 의해 달성될 수도 있기 때문이다. 또한, 서버시스템은 스마트 그리드에 관한 정보를 세탁기에 전송하여 세탁기의 화면에 디스플레이하도록 할 수 있다. 사용자는 세탁기의 운전 시점을 선택하는데 그 정보를 이용할 수 있다.
아울러, 가전제품의 진단, 모니터링, 펌웨어 업데이트, 소프트웨어 관리(세탁기의 경우 세탁코스에 관한 소프트웨어일 수 있으며, 식품 조리법 등 각종 콘텐츠를 포함함), 원격 제어(remote control) 등 가전제품에 관한 온라인 관리 서비스에 이용될 수 있다. 또한, 냉장고의 푸드리시트, 쇼핑리스트(예컨대, 냉장고에 채워 넣어야 할 푸드리스트 정보일 수 있다. 상기 푸드리스트는 현재 냉장고에 있는 푸드들의 리스트라고 한다면, 쇼핑리스트는 냉장고에 새로 사서 넣어야할 리스트일 수 있다), 유통기한 알림 등과 같이 가전제품에서 제공하는 각종 정보들에 대한 원격 관리 및 조회 등을 온라인으로 구현하여 사용자 편의성을 높일 수도 있다.
사용자의 모든 단말기가 서버시스템에 등록되어 관리 서비스를 받을 수 있으며, 그에 따라 단말기에 대한 사용자의 편의성을 더욱 높일 수 있다.
도1은 일실시예로서 서버시스템과 가전제품 및 이동통신단말기가 연동하는 전체 구성도이다.
도2는 제품의 디스플레이보드에 DM 클라이언트가 설치되는 모습을 나타낸다.
도3은 제품의 메인보드와 데몬 및 에이젼트가 연동하는 모습을 나타낸다.
도4부터 도38은 사용자 사이트에 대한 실시예를 나타낸다.
도39는 회원가입 및 활성화절차에 대한 실시예이다.
도40은 회원가입 탈퇴 또는 서비스 해지에 대한 실시예이다.
도41은 스마트폰에 어플리케이션을 다운받는 모습과 사용자가 단말관리서비스를 요청하는 실시예이다.
도42는 펌웨어 또는 소프트웨어 업그레이드에 대한 절차의 실시예이다.
도43은 소프트웨어관리 서비스와 관련된 절차의 실시예이다.
도44는 원격제어 서비스와 관련된 절차의 실시예이다.
도45는 진단 또는 모니터링 관리서비스와 관련된 절차의 실시예이다.
도46은 백업/복원 관리서비스를 통한 푸드매니지먼트 또는 세탁코스 변경 서비스와 관련된 절차의 실시예이다.
도47은 통지(Notification) 절차의 실시예이다.
도48은 펌웨어 업데이트 관리서비스 중 DM세션 절차(포어그라운드모드)에 대한 실시예이다.
도49은 펌웨어 업데이트 관리서비스 중 DM세션 절차(백그라운드모드)에 대한 실시예이다.
도50은 펌웨어 업데이트 관리서비스 중 DL세션 절차(포어그라운드모드)에 대한 실시예이다.
도51은 펌웨어 업데이트 관리서비스 중 DL세션 절차(백그라운드모드)에 대한 실시예이다.
도52는 펌웨어 업데이트 관리서비스 중 UA 프로세싱 절차에 대한 실시예이다.
도53은 펌웨어 업데이트 관리서비스 중 결과통지에 대한 DM세션 절차의 실시예이다.
도54는 소프트웨어 관리서비스 중 DM세션 절차의 실시예이다.
도55는 소프트웨어 관리서비스 중 인스톨러 프로세싱 절차의 포어그라운드 모드 및 백그라운드 모드의 실시예이다.
도56은 제어 관리 서비스와 관련된 절차의 실시예이다.
도57은 진단 또는 모니터링 관리서비스 중 DM서버에서 시작하는 경우의 절차에 대한 실시예이다.
도58은 진단 또는 모니터링 관리서비스 중 단말화면에서 시작하는 경우의 절차에 대한 실시예이다.
도59는 진단 또는 모니터링 관리서비스 중 진단데이터 전송절차에 대한 실시예이다.
도60은 복원(Restore) 관리서비스와 관련된 절차의 실시예이다.
도61은 백업(Backup) 관리서비스와 관련된 절차의 실시예이다.
도62는 세탁기의 DM Client/DM Daemon이 포함될 임베디드 시스템의 계층적 구조의 실시예이다.
도63은 단말 관리를 위한 Application 간의 연동 방안에 대한 실시예이다.
도64는 냉장고의 DM Client/DM Daemon이 포함될 임베디드 시스템의 계층적 구조의 실시예이다.
도2는 제품의 디스플레이보드에 DM 클라이언트가 설치되는 모습을 나타낸다.
도3은 제품의 메인보드와 데몬 및 에이젼트가 연동하는 모습을 나타낸다.
도4부터 도38은 사용자 사이트에 대한 실시예를 나타낸다.
도39는 회원가입 및 활성화절차에 대한 실시예이다.
도40은 회원가입 탈퇴 또는 서비스 해지에 대한 실시예이다.
도41은 스마트폰에 어플리케이션을 다운받는 모습과 사용자가 단말관리서비스를 요청하는 실시예이다.
도42는 펌웨어 또는 소프트웨어 업그레이드에 대한 절차의 실시예이다.
도43은 소프트웨어관리 서비스와 관련된 절차의 실시예이다.
도44는 원격제어 서비스와 관련된 절차의 실시예이다.
도45는 진단 또는 모니터링 관리서비스와 관련된 절차의 실시예이다.
도46은 백업/복원 관리서비스를 통한 푸드매니지먼트 또는 세탁코스 변경 서비스와 관련된 절차의 실시예이다.
도47은 통지(Notification) 절차의 실시예이다.
도48은 펌웨어 업데이트 관리서비스 중 DM세션 절차(포어그라운드모드)에 대한 실시예이다.
도49은 펌웨어 업데이트 관리서비스 중 DM세션 절차(백그라운드모드)에 대한 실시예이다.
도50은 펌웨어 업데이트 관리서비스 중 DL세션 절차(포어그라운드모드)에 대한 실시예이다.
도51은 펌웨어 업데이트 관리서비스 중 DL세션 절차(백그라운드모드)에 대한 실시예이다.
도52는 펌웨어 업데이트 관리서비스 중 UA 프로세싱 절차에 대한 실시예이다.
도53은 펌웨어 업데이트 관리서비스 중 결과통지에 대한 DM세션 절차의 실시예이다.
도54는 소프트웨어 관리서비스 중 DM세션 절차의 실시예이다.
도55는 소프트웨어 관리서비스 중 인스톨러 프로세싱 절차의 포어그라운드 모드 및 백그라운드 모드의 실시예이다.
도56은 제어 관리 서비스와 관련된 절차의 실시예이다.
도57은 진단 또는 모니터링 관리서비스 중 DM서버에서 시작하는 경우의 절차에 대한 실시예이다.
도58은 진단 또는 모니터링 관리서비스 중 단말화면에서 시작하는 경우의 절차에 대한 실시예이다.
도59는 진단 또는 모니터링 관리서비스 중 진단데이터 전송절차에 대한 실시예이다.
도60은 복원(Restore) 관리서비스와 관련된 절차의 실시예이다.
도61은 백업(Backup) 관리서비스와 관련된 절차의 실시예이다.
도62는 세탁기의 DM Client/DM Daemon이 포함될 임베디드 시스템의 계층적 구조의 실시예이다.
도63은 단말 관리를 위한 Application 간의 연동 방안에 대한 실시예이다.
도64는 냉장고의 DM Client/DM Daemon이 포함될 임베디드 시스템의 계층적 구조의 실시예이다.
도1은 본 발명의 하나의 실시예로서, 각 가정에 위치한 가전제품들이 서버시스템에 통신연결되어 관리되는 전체 구성도를 개략적으로 나타낸다.
원격 관리서비스를 수행하기 위해서 관리 대상의 모든 가전제품을 관리하기 위한 서버시스템이 필요하다. 상기 관리 대상의 가전제품들은 상기 서버시스템에 통신연결되어 상기 서버시스템으로부터 전송된 명령을 수행하게 된다. 서비스 요청은 상기 가전제품을 통해서 서버시스템으로 접수될 수 있다. 또한, 사용자로부터 가전제품 이외의 수단을 통해 서비스 요청을 접수받기 위해 인터넷 사이트(이하 사용자 사이트라 함) 등과 같은 별도의 수단이 마련될 수 있다.
가전제품의 관리를 수행할 사업자는 상기 서버시스템을 구축하는 것에 의해 원격 관리서비스를 수행할 수 있다. 그리고, 필요한 경우 상기와 같은 사용자 사이트 등을 구축할 수 있다.
사용자는 상기 서버시스템에 의한 관리 서비스를 받을 수 있는 제품을 구매하여 상기와 같은 관리 서비스를 받을 수 있다. 이러한, 제품은 서버시스템과 통신하기 위한 통신모듈과 상기 서버시스템으로부터 전송된 명령을 수행하기 위한 클라이언트측 프로토콜 등이 구비된 제품일 수 있다. 한편, 기존의 제품으로서 상기 서버시스템의 관리를 받을 수 없는 제품을 위해 상기와 같은 통신모듈 및 클라이언트측 프로토콜을 포함한 별도의 장치가 이용될 수 있다. 사용자는 상기 별도의 장치를 구매하여 상기 기존 제품에 연결함으로서 서비스를 받을 수 있다.
상기 서버시스템에 의한 원격 관리서비스를 받고자 하는 가전제품은 자체의 고유한 디바이스ID를 가지고 상기 서버시스템에 등록되어 관리될 수 있다.
가전제품으로부터 상기 서버시스템에 억세스하면 상기 서버시스템은 상기 디바이스ID를 통해 그 가전제품을 특정할 수 있다. 상기 서버시스템에는 상기 디바이스ID와 함께 해당 가전제품의 특성정보(예컨대, 제품종류, 모델정보 등등)가 함께 등록되어 있을 수 있다. 여기서, 상기 디바이스ID는 제품종류나 모델정보와 같은 제품의 특성정보와 관계없이 만들어질 수도 있지만, 제품의 특성정보가 함께 코드화되어 있을 수 있다. 그래서, 디바이스ID만을 가지고 상기 서버시스템은 해당 제품의 종류나 모델정보를 인식할 수 있도록 만들어질 수도 있다.
사용자는 상기 서버시스템에 등록된 가전제품에 대해서는 그 가전제품을 통해서 서비스를 요청하여 받을 수 있다. 예컨대, 냉장고의 디스플레이창을 통해 원하는 서비스를 선택하여 입력하면 그 냉장고는 서버시스템에 통신하여 해당 서비스를 요청할 수 있다.
사용자의 서비스 요청을 보다 편리하게 하고, 또한, 가전제품의 관리 서비스 항목의 확장을 위해서 가전제품 이외의 다른 수단을 통한 서비스 요청을 가능하게 할 필요가 있을 수 있다. 가전제품을 통하여 서버시스템에 억세스하는 경우에는 억세스할 때 상기 가전제품의 ID를 통해 억세스함에 따라 서버시스템이 서비스 대상을 특정지을 수 있지만, 가전제품을 통하지 않는 경우에는 어떻게 서비스 대상의 가전제품을 특정할 지가 결정될 필요가 있을 수 있다.
일례로, 사용자는 사용자 사이트에 접속하여 서비스받고자 하는 전자제품의 디바이스ID를 입력하면서 서비스를 요청할 수도 있다. 그러나, 이 경우에는 사용자가 자신이 보유한 가전제품들의 디바이스ID를 모두 기억하고 있어야 하는 불편함이 있다.
사용자 사이트는 그러한 불편을 해소하도록 만들어질 수도 있다. 사용자는 상기 사용자 사이트에 회원으로 가입하여 ID와 패스워드를 부여받을 수 있다. 사용자는 상기 사용자 사이트에 로그인하여 자신이 보유한 가전제품을 모두 등록할 수 있다. 사용자 사이트에 등록된 가전제품들은 서버시스템에 해당 사용자 ID와 함께 등록될 수 있다. 이는, 상기 사용자 사이트에서 자동으로 상기 서버시스템에 그 정보를 전송하는 것에 의해 이루어질 수도 있다.
또한, 상기와 같은 가전제품의 서버시스템에의 등록은 후술하게 될 활성화(activation) 절차를 통해 이루어질 수도 있다.
어느 경우이든, 사용자가 ID를 발급받는 경우 그 ID는 그 사용자의 가전제품과 함께 서버시스템에 등록되어 관리될 수 있다.
상기 사용자 사이트를 통해 사용자로부터 접수된 서비스는 운영자가 서버시스템에 해당 관리서비스를 위한 명령을 내림으로서 수행될 수 있다. 또는, 오픈 API를 통해 상기 사용자 사이트가 서버시스템에 연결될 수 있으며, 이 경우에는 사용자가 사용자 사이트를 통해 서버시스템에 직접 관리 요청을 할 수 있게 된다.
서버시스템에는 관리 서비스를 위한 서버측 프로토콜이 구비되어 있으며, 상기 서버측 프로토콜은 제품의 상기 클라이언트측 관리프로토콜과 연동하여 요청된 관리서비스를 수행하게 된다.
서버시스템과 가전제품 간의 상기와 같은 관리 서비스 수행을 위한 프로토콜로서 OMA DM 프로토콜이 이용될 수 있다. 물론, OMA DM이 아닌 다른 솔루션이 이용될 수도 있다. 본 실시예에서는 OMA DM 프로토콜을 이용하지만, 본 발명은 이에 한정되지 않는다.
상기 관리 서비스를 위해 다음과 같은 관리 내용을 포함할 수 있다.
부트스트랩(Bootstrap): 단말기의 DM 클라이언트가 최초로 관리 세션을 수행하기 위해서는 DM 서버와의 인증 정보 및 네트워크 연결을 위한 네트워크 설정 정보가 필요하며, 이를 위한 과정을 Bootstrap이라고 한다.
프로비져닝(Provisioning): 최초로 관리 세션을 수행하는 단말기는 부트스트랩을 통하여 DM 서버에 등록이 되며, 단말기에 서비스를 제공하기 위해서는 단말기의 구성을 최신으로 업데이트한다. 이를 위한 과정을 프로비져닝이라 한다.
콘피겨레이션 메니지먼트(Configuration Management): 단말기 관련 설정 정보를 조회, 변경 또는 서비스 관련 정보를 설정, 조회, 변경하는 관리 작업을 디바이스구성(Device Configuration) 관리라 한다.
콘트롤 메니지먼트(Control Management): 단말기를 제어하는 관리작업을 말한다.
사용자 알림(User Alert): DM 서버는 DM 클라이언트에게 Alert 신호를 보냄으로써 단말기의 화면을 통하여 사용자에게 관리 작업에 대한 내용을 알리거나, 승인을 받을 수 있다. 즉, 사용자와 상호 작용을 통하여 향상된 관리 작업이 가능하다.
진단 및 모니터링(Diagnostic and Monitoring): 사용자가 단말기를 사용하는 중에 성능저하 또는 장애가 발생될 수 있다. 이런 상태를 미리 인지하고 인지된 상황에 맞는 조치를 통하여 사용자에게 안정적인 제품 사용 환경을 제공해야 한다. 이와 같은 작업을 진단 및 모니터링(Diagnostic and Monitoring) 관리라 한다.
펌웨어 업데이트 메니지먼트(Firmware Uptate Management): 제조 업체에서 단말기를 판매한 후에 단말기상의 문제가 발생하거나, 기능상의 변경이 발생하는 경우, 펌웨어를 업데이트하는 경우가 있는데, 이를 위한 관리 작업이다.
소프트웨어 콤포넌트 메니지먼트(Software Component Management): 단말기에 소프트웨어 컴포넌트를 설치, 업데이트, 삭제하는 관리작업을 소프트웨어 관리라 한다.
백업 및 복원 메니지먼트(Backup and Restore Management): 단말기의 데이터를 DM 서버에 백업/복원하는 관리작업이다.
한편, 상기 서버시스템은 위치적으로는 여러 곳에 분산되어 설치되어 있을 수 있다. 예컨대, 대한민국에 서버시스템 1을 설치하고, 미국에 서버시스템 2를 설치할 수 있다.
또한, 상기 서버시스템은 역할에 따라 다수의 서버로 분리될 수 있다. 도1에는 서버시스템이 DM 서버(DM Server), 통지서버(Notify Server), 디엘서버(DL Server), 오엔엠서버(ONM Server), 레가시서버(Legacy Server) 등으로 분리되어 있는 모습을 예시하고 있다. 이와 같이 서버가 역할에 따라 분리되면, 특정의 서비스를 수행할 때 DM 서버는 다른 서비스를 위한 준비 또는 수행을 할 수 있다. 따라서, 동시에 다수의 서비스의 처리가 가능하다.
상기 서버들은 그 역할을 수행함에 있어 그 대상에 직접 억세스하여 수행할 수 있다.
일부 서버들은 서비스 대상의 가전제품에 직접 억세스하는 것이 가능하도록 만들어질 수 있다. 예컨대, 통지서버는 대상 가전제품에 직접 통지를 전송할 수 있고, 디엘서버는 업그레이드된 펌웨어를 직접 대상 가전제품에 전송할 수 있다.
상기 서버시스템은 관리서비스의 내용에 따라 달리 구성될 수 있다. 예컨대, 펌웨어 업데이트만을 서비스 내용으로 하는 경우에는 DM 서버, 통지서버, 디엘서버에 의해 서비스가 이루어질 수 있으므로 그 이외의 서버는 필요치 않을 수 있다. 또한, 사용자에게 펌웨어 업데이트에 대한 통지절차 없이 서비스를 수행하는 것으로 한다면 통지서버도 필요치 않을 수 있다. 관리서비스에 따른 서버시스템의 구성은 후술하는 "디엠 서버/클라이언트 연동 절차"를 참조하면 알 수 있다. 본 실시예에서는 펌웨어 업데이트, 소프트웨어(각종 콘텐츠 포함) 관리, 단말기 진단, 단말기 모니터링, 냉장고 유통기한 알림, 냉장고 푸드리스트(food list) 제공, 세탁코스 업그레이드 등등을 고려하기 때문에 도1과 같이 서버시스템이 구성되는 것으로 예시할 뿐이며, 본 발명이 도1과 같은 서버시스템에 한정되는 것은 아니다.
이하에서는 시스템의 각각의 구성 및 통신환경에 대해 보다 자세히 설명한다. 하기의 내용은 모두 반드시 구비되어야 하는 필수적인 것은 아닐 수 있다. 또한, 본 명세서의 다른 부분에서 설명되는 것에 의해 추가되는 구성이 있을 수 있다.
(1) 서버시스템은 다음과 같이 구성될 수 있다.
1) DM 서버(DM Server)
DM 서버의 역할은 단말기의 DM 클라이언트에게 단말관리 명령을 내리는 것이다. 즉, 단말관리 명령을 통해 펌웨어 업데이트(모뎀 펌웨어/OS) 관리작업, 소프트웨어 관리작업, 진단 관리작업 등등을 원격으로 처리하는 관리기능을 제공한다. DM 서버는 세션 메니지먼트(Session Management) 영역, 서큐리티 메니지먼트(Security Management) 영역, 디임 프로토콜 프로세스(DM Protocol Process) 영역, 싱크엠엘 프로토콜 엔진(SyncML Protocol Engine) 영역 등을 포함할 수 있다.
2) 디엘서버(DL Server)
DL 서버는 DL 클라이언트에게 파일을 전송하는 것이다. 즉, DD(Download Descriptor)를 통해 전송하고자 하는 파일의 정보를 전달하여, DL 클라이언트가 정확하게 파일을 다운로드하는 기능을 제공한다. 다운로드되는 파일은 펌웨어 업데이트 패키지와 소프트웨어 관리 패키지가 있다. 디엘서버는 세션 메니지먼트(Session Management) 영역, 패키지 메니지먼트(Package Management) 영역, 다운로드(Download) 영역 등을 포함하여 구성될 수 있다.
3) 오엔엠서버(ONM Server) 또는 사용자 포털(User Portal)
ONM 서버의 역할은 DM 또는 DL 서버 및 Legacy 서버와 인터페이스하며, 비즈니스 로직이 구현된다. 운영자는 ONM 서버의 관리 웹 페이지를 통하여 관리 명령을 내리거나, 관리 정보를 조회할 수 있다.
사용자 포털은 ONM의 일부 기능을 일반 사용자에게 제공한다. 이때, DM 서버의 오픈 API를 통해 구현된다. 사용자는 사용자 포털을 통해 DM 서버에 관리서비스 요청을 할 수 있다.
4) 레가시서버(Lagacy Server)
ONM 서버가 연동되는 대표적인 Legacy 서버는 단말기 정보를 전달받는 서버와 사용자 정보를 전달받는 서버가 있다. 즉, 사용자 정보 또는 단말기의 정보를 ONM 서버로 전달하여 비즈니스 로직을 구현하기 위한 정보를 제공한다.
5) 통지서버(Notification Server)
통지서버는 DM 서버의 통지 메시지를 단말기로 전송한다. 통지서버는 세센 제너레이션(Session Generation) 영역, 스케쥴 메니지먼트(Schedule Management) 영역 등을 포함하여 구성될 수 있다.
만약, 단말기가 사설망(private network)에 존재한다면, 단말기와 연결을 유지하기 위한 서버 측에 특별하게 구성되는 연결메니져(Connection Manager)가 필요할 수 있다. 단말기가 부팅후 자동으로 TCP 연결을 요청할 수 있으며, 연결메니져는 요청된 TCP 연결을 유지한다. DM 서버는 이를 통해 통지 메시지를 전달한다.
6) 오픈 API(Open API)
스마트폰과 같은 이동통신단말기의 어플리케이션은 디엠 서버에서 제공되는 오픈 API를 통해 단말기들을 원격으로 관리할 수 있다. 오픈 API에 대해서는 아래에서 상세히 설명한다.
(2) 단말기에는 다음과 같은 구성이 포함될 수 있다.
1) 통신모듈
단말기에는 통신모듈이 설치된다. 단말기는 서버시스템과 통신적으로 연결되어야 하므로 통신모듈이 필요하다. 이와 같은 통신모듈은 그 종류에 한정되지 않는다. 유선 통신모듈일 수도 있고, 무선 통신모듈일 수도 있다.
예시적으로, 와이파이(wifi)가 가능한 통신모듈일 수 있으며, 피엘시(PLC)통신 또는 지그비(Zigbee) 통신이 가능한 모듈일 수도 있다.
2) 디엠클라이언트(DM Client)
DM 클라이언트의 주요 역할은 DM 서버의 관리 명령을 수행하는 것이다. 즉, DM 서버의 단말관리 명령을 통해 펌웨어 업데이트 관리작업, 소프트웨어 관리작업, 진단 관리작업, 제어 관리작업을 원격으로 처리하는 관리기능을 제공한다.
도2에는 디엠클라이언트가 단말기에 구비된 일례를 도시한다. TFT를 구비한 단말기의 경우 상기 TFT의 회로보드(디스플레이보드)에 디엠클라이언트가 탑재될 수 있다. 도2에서 메인보드는 해당 단말기의 본래 기능을 수행하기 위한 회로보드이다. 예컨대, 일반적으로 세탁기의 경우 세탁을 수행하기 위해 급수밸브를 제어하고, 드럼과 연결된 모터를 제어하기 위한 메인콘트롤러가 메인보드에 구비되어 있을 수 있다.
디엠클라이언트는 단말기의 메인보드에 탑재될 수도 있지만, 관리서비스를 요청하기 위해 디스플레이창이 많이 이용될 수 있으므로 디스플레이보드에 탑재하는 것이 유리할 수 있다.
3) 디엘클라이언트(DL Client)
DL 클라이언트의 주요 역할은 DL 서버로부터 패키지 파일(펌웨어 업데이트 패키지, 소프트웨어 관리패키지 등)를 다운로드 하는 것이다. DM 클라이언트로부터 다운로드 서버 URL을 받아 다운로드 서버에 접속하여 DD(Download Descriptor)를 가져와 다운로드 작업을 실행한다.
4) 에이젼트(Agent)
관리서비스 내용에 따라 단말기에서 요청된 관리 서비스 명령을 수행하는 역할을 한다. 예컨대, 업데이트 에이젼트(Update Agent)는 펌웨어 업데이트를 위해 다운로드 되어있는 업데이트 패키지를 이용하여 신규 펌웨어를 생성하는 역할을 한다. 업데이트 에이젼트는 제조사에 의해 다양하게 구현되어 질 수 있다. 도3에는 디엠데몬(DM Daemon)과 에어젼트가 연동하는 모습을 나타낸다.
5) 부트스트랩(Bootstrap)
단말기는 부트스트랩 정보를 포함할 수 있다. 후술하는 부트스트랩 절차에서 상세히 설명한다.
6) 데몬(Daemon)
데몬은 단말기가 서버시스템에 주기적으로 접속하는 것을 처리하는 역할을 할 수 있다. 단말기에서 전원코드가 빠져 있지 않는 이상, 데몬은 항상 on상태를 유지하는 것이 바람직하다. 예컨대, 세탁기의 전원이 OFF 상태이더라도 세탁기의 전원코드가 소켓에 접속되어 있는 이상 데몬은 항상 on 상태를 유지할 수 있다. 만약, 서버시스템의 요청으로 세탁기의 전원을 온시킬 필요가 있는 경우 데몬은 메인보드에 파워를 온시키도록 명령을 전송할 수 있다.
7) 사용자 인터페이스(UI; User Interface)
관리서비스를 수행하기 위해 사용자의 승인을 받을 필요가 있을 수 있으며, 또한, 사용자가 단말기에서 관리서비스를 요청하는 경우가 있을 수 있다. 사용자 인터페이스는 단말기의 TFT 엘시디창이 이용될 수 있다. 엘시디 화면에는 관리서비스를 위한 화면이 팝업될 수 있도록 마련될 수 있다. 그러한 관리서비스 화면에는 사용자 아이디 및 패스워드를 입력할 수 있도록 마련될 수 있다. 여기서, 상기 사용자 아이디 및 패스워드는 사용자 사이트를 통해 회원가입하면서 부여받은 아이디 및 패스워드일 수 있다. 서버시스템은 상기 아이디 및 패스워드를 통해 사용자를 확인할 수 있다. 단말기에서 서비스 요청을 할 때, 단말기는 사용자 아이디 및 패스워드, 디바이스ID, 그리고 서비스의 요청 정보 등을 서버시스템에 전송할 수 있다.
(3) 이하에서는 단말기와 서버시스템과의 통신환경에 대해 설명한다.
기본적으로, 상기의 관리 서비스를 수행하기 적합하기만 하면 통신환경은 그 종류에 관계없다.
도1은 단말기에 무선 인터넷 통신모듈이 적용되어 AP(공유기)를 통해 인터넷망을 거쳐 서버시스템과 통신하는 예를 도시하고 있다.
단말기를 시작점으로 하여 서버시스템까지의 통신경로를 고려할 때, AP이후는 공용 인터넷망이며, AP 이전은 사설 인터넷망에 해당한다. 단말기들 각각은 AP로부터 사설 IP를 부여받게 되며, AP 자체는 고유한 IP를 가지게 된다.
서버시스템은 웹서버(Web)를 통해 인터넷망과 연결되며, 도시되는 바와 같이 방화벽(fire wall)이 설치되어 있다. 서버시스템도 IP를 가지는데, 서버시스템의 IP는 고유의 IP일 수 있다. 웹서버는 서버시스템은 물론 다른 시스템의 보호를 위해서 구비된다. 웹서버는 보안을 위해 단말기하고 연결하는 최초의 접속점이라 할 수 있다. 보안을 위해, 디엔에스 서버(DNS Server)가 이용될 수 있다. 단말기에서는 URL주소를 통해 서버시스템에 접속을 시도하면, DNS 서버가 그 URL주소를 서버의 IP로 변환시켜 서버시스템에 접속될 수 있도록 할 수 있다. 이 경우에 단말기측에서는 서버시스템의 URL주소를 가지고 접속하는 형식이 된다.
서버시스템에서 단말기의 위치를 알고 찾아갈 수 있도록, 디엠클라이언트는 DM 서버에 계속 신호를 보내준다. AP는 해당 단말기가 연결된 포트정보와 자신의 고유 IP정보를 DM 서버에 보내주게 되며, 이를 통해 DM 서버는 디엘클라이언트의 위치를 알게 된다. 단말기에서 디바이스ID 정보를 함께 서버시스템으로 전송하면, 서버시스템은 어떠한 단말기가 어디에 위치하고 있는지 알고 있게 되며, 그 정보를 이용하여 단말기에 억세스할 수 있게 된다. 이때, 사용자 아이디 및 패스워드도 함께 전송할 수 있다.
단말기에서 서버시스템에 접속하기 위해 단말기에는 서버시스템의 IP 또는 URL주소가 입력되어 있을 수 있다. 단말기가 사설 인터넷망에 존재하는 경우 단말기의 IP는 고유의 IP가 아닐 수 있기 때문에 서버시스템은 그 IP만을 가지고는 단말기에 접속할 수 없을 수 있다. 그래서, 전술한 바와 같이 단말기에서 주기적으로 서버시스템에 신호를 보내주도록 설정될 필요가 있을 수 있다.
(4) 관리자 포털(Admin Portal)
관리자 포털은 반드시 필요한 것은 아니지만, 관리자가 업무를 효율적으로 수행할 수 있도록 하기 위함이다. 예컨대, 펌웨어 업데이트의 경우를 살펴보면, 펌웨어를 업데이트하여 등록하는 관리자와, 등록된 펌웨어 업데이트 파일을 검증하는 관리자 등등이 관리자 포털을 통해 서로 협업할 수 있다. 관리자 포털은 펌웨어 업그레이드 프로세스(Firmware Upgrade Process) 영역, 소프트웨어 업그레이드 프로세스(Software Upgrade Process) 영역, 디바이스 메니지먼트(Device Magement) 영역, 시스템 관리(System Admin) 영역, 통계처리(Statistics) 영역 등을 포함할 수 있다.
(5) 오픈 API(Open API)
오픈 API의 인터페이스형식은 다음과 같을 수 있다.
https://도메인:포트/lgehadm/api/[API category]/[resource identifier]
API 카테고리는 User, Diag, Mon, Contents, BackupRestore, Control 등으로 구성될 수 있다.
User는 사용자 인증을 위한 서비스를 담당한다. Diag는 단말기의 진단요청 및 진단 결과를 조회하기 위한 서비스를 담당한다. Mon은 단말기의 모니터링을 요청/조회 하기 위한 서비스를 담당한다. Contents는 단말기의 콘텐츠정보 업데이트를 위한 서비스를 담당하는데, 예를 들면, 세탁기의 코스정보 업데이트를 위한 서비스를 담당할 수 있다. BackupRestore는 냉장고를 예를 들면 푸드리스트의 백업/복원을 위한 서비스를 담당한다. Control은 단말기의 온/오프 등 단말기의 원격 제어를 위한 서비스를 담당한다.
상기 "resource identifier"에 들어가는 API 목록은 다음과 같이 구성될 수 있다.
먼저, User의 목록으로는 사용자 인증(login에 해당할 수 있음)과 로그아웃등등이 포함될 수 있다.
Diag의 목록으로는 진단요청, 진단요청 목록 조회, 진단결과 상세조회 등등이 포함될 수 있다.
Mon의 목록에는 모니터링 시작/종료, 모니터링 결과 조회 등등이 포함될 수 있다.
Contents의 목록에는 세탁기 코스 업데이트 항목 요청, 세탁기 코스 업데이트 요청 등등이 포함될 수 있다.
BackupRestore의 목록에는 예컨대, 푸드리스트 다운 요청, 푸드리스트 업로드 요청 등등이 포함될 수 있다.
Control의 목록에는 단말기별로의 콘트롤들이 목록으로 되어 있을 수 있다. 예컨대, 세탁기 콘트롤, 냉장고 콘트롤 등등이 포함될 수 있다.
HTTP의 공통 헤더에는 사용자 아이디가 포함되도록 할 수 있다. 또한, 상기 헤더에는 세션 아이디(Session ID), 단말기타입, 디바이스ID를 포함할 수 있다.
이하에서는 사용자 사이트에 대해서 좀더 구체적으로 설명한다.
사용자 사이트는 사용자로 하여금 자신의 관리 대상 단말기에 관련된 정보를 조회하고, 또 관리서비스를 요청할 수 있도록 만들어질 수 있다. 도4에는 가전제품에 대한 관리서비스를 위한 사용자 사이트를 예시하고 있다. 도4의 사용자 사이트는 "회원가입", "스마트어플라이언스란?", "제품정보", "스마트 익스피어런스(Smart Experience)", "고객지원", "마이페이지" 등의 페이지들을 포함하여 구성될 수 있다. 물론, 사용자 사이트에 위와 같은 내용이 모두 필요한 것을 아니다. 단말관리서비스를 어떻게 구현하는가에 따라 그리고, 사용자 사이트의 역할에 따라 사용자 사이트의 내용은 달라질 수 있다. 바람직하게는, 사용자 사이트는 사용자의 아이디 및 패스워드와 단말관리서비스를 받을 제품을 등록할 수 있도록 마련될 수 있다. 제품의 등록이 후술하는 활성화절차를 통해 이루어지는 경우에는 그 등록된 제품을 사용자가 조회할 수 있는 페이지를 포함할 수 있다.
사용자 사이트의 첫 화면에는 상기와 같은 각각의 페이지가 링크 메뉴로 표시될 수 있다. 그래서, 사용자가 어떤 메뉴를 선택하여 클릭하면 그 메뉴에 해당하는 페이지로 이동하도록 만들어질 수 있다. 또한, 사용자 사이트의 첫 화면에는 단말관리 서비스의 항목들이 표시되는 부분이 포함될 수 있다. 예컨대, "스마트 그리드(SMART GRID)", "스마트 진단(SMART DIAGNOSIS)", "스마트 억세스(SMART ACCESS)", "스마트 어댑트(SMART ADAPT)", "스마트 매니져(SMART MANAGER)" 등이 표시될 수 있다. 여기서, "스마트 그리드"는 전술한 스마트 그리드와 관련된 단말관리서비스와 관련되며, "스마트 진단"은 진단과 관련된 단말관리 서비스와 관련되며, "스마트 억세스"는 원격 단말제어와 관련되며, "스마트 어댑트"는 펌웨어 또는 소프트웨어 등의 관리와 관련된다. 그리고, "스마트 매니져"는 단말의 백업/복원 관리와 관련된 것으로서, 예컨대, 냉장고에 대한 쇼핑리스트 또는 푸드리스트에 대한 관리서비스와 관련된다.
또한, 사용자 페이지에는 도4에 도시하는 바와 같이 SNS와 연동할 수 있는 메뉴를 포함할 수 있다. 도4에는 트위터 및 페이스북과 연동할 수 있는 메뉴가 도시되어 있다.
하기에는 도4에 도시된 상기와 같은 페이지들의 내용에 대해 설명한다.
(1) 회원가입
먼저, 사용자는 회원가입을 통해 사용자 아이디와 패스워드를 등록할 수 있다. 회원가입 절차는 다른 인터넷 홈페이지에서 일반적으로 행해지는 회원가입의 경우와 같을 수 있으므로 상세한 설명은 생략한다.
(2) 스마트어플라이언스란?
"스마트어플라이언스란?"은 가전제품에 대한 단말관리서비스와 관련된 설명을 포함하는 페이지일 수 있다. 여기에는 단말관리서비스를 받을 수 있는 가전제품들에 대해 어떠한 단말관리서비스가 이루어질 수 있는지에 대한 설명이 포함될 수 있다. 예컨대, 냉장고, 세탁기, 오븐, 청소기(예컨대, 로봇청소기로서 도4의 "로보킹"을 포함할 수 있음) 등등의 가전제품 각각에 대해 행해질 수 있는 단말관리 서비스에 대한 설명을 포함할 수 있다.
보다 구체적인 예를 들면, 냉장고의 경우 디스플레이부의 화면을 통해 냉장고 내의 푸드정보나 유통기한과 관련된 정보를 확인할 수 있거나, 또는 냉장고에 채워야 할 식품이 무엇인지를 알 수 있도록 쇼핑리스트를 스마트폰을 통해 확인할 수 있다는 내용이 표시될 수 있다. 또한, 오븐의 경우에는 음식 조리법을 다운받아 제품의 화면에 표시하여 볼 수 있다는 내용이 표시될 수 있고, 또는 스마트 그리드와 관련되어 비용이 가장 효율적인 시간대에 세탁기를 작동시킬 수 있다는 내용이 표시될 수 있으며, 로봇 청소기의 경우에는 원격으로 청소를 지시할 수 있다는 내용 등이 표시될 수 있다.
(3) 제품정보
"제품정보"는 단말관리서비스를 받을 수 있는 제품들에 대한 설명을 포함할 수 있다. 여기에는 각 제품들에 대한 특장점 또는 스펙 정보를 포함할 수 있다. 예컨대, 모델명, 용량, 외관 디자인과 관련된 사항, 제품색상, 크기, 등등에 관한 정보를 포함할 수 있다. 또한, 단말관리서비스를 받을 수 없는 상태의 기존의 제품들을 위해 사용될 수 있는 장치에 대한 설명이 포함될 수 있다. 예컨대, 통신모듈이나 서버시스템과 연동하기 위한 프로토콜 등이 인스톨되어 있지 않은 기존 제품들을 위해 제공될 수 있는 장치에 대한 설명이 포함될 수 있다.
도4에는 예시적으로 "냉장고", "세탁기", "로보킹" 등이 표시되고 있다.
한편, 본 페이지에는 단말관리서비스가 구현되지 못하는 제품들에 대한 설명이 포함될 수 있다. 이때, 각 제품 정보에는 단말관리서비스의 가능 여부가 함께 표시될 수 있다.
(4) 스마트 익스피어리언스(Smart Experience)
"스마트 익스피어리언스"는 단말관리서비스를 가상으로 체험할 수 있는 페이지일 수 있다. 예컨대, 냉장고, 세탁기, 로보킹, 오븐 등등에 대해 단말관리서비스가 어떻게 구체적으로 이루어지는지 사용자가 가상으로 체험해 볼 수 있는 인터넷 공간이 될 수 있다. 여기에는 각 제품별로 가상체험할 수 있는 공간이 마련될 수 있다. 예컨대, 냉장고를 선택하면 냉장고에 대해 어떠한 단말관리서비스가 수행될 수 있는지 사용자가 확인할 수 있도록 마련될 수 있다. 구체적인 예를 들면, 냉장고의 경우 단말관리서비스와 관련되어 냉장고에 실제 적용될 수 있는 사용자 인터페이스나 또는 이동통신단말기의 사용자 인터페이스가 팝업될 수 있다. 그래서, 사용자가 그 가상의 사용자 인터페이스를 클릭함에 따라 단말관리서비스가 가상으로 실현되는 모습이 보여지도록 꾸며질 수 있다. 예를들면, 냉장고의 푸드리스트를 이동통신단말기(예컨대, 스마트폰)를 통해 조회하고자 하는 경우, 팝업된 사용자 인터페이스를 통해 푸드리스트의 조회를 요구하는 버튼을 누르면 냉장고에 저장된 푸드리스트 정보또는 서버시스템에 저장되어 있던 푸드리스트의 정보가 전송되어 상기 사용자 인터페이스를 통해 조회되는 모습이 보여질 수 있다.
또한, 세탁기에 대한 스마트 그리드의 가상 체험이 가능하도록 만들어질 수 있다. 예컨대, 스마트 그리드와 관련된 버튼이 구비된 세탁기의 사용자 인터페이스가 팝업되어, 사용자가 상기 버튼을 클릭하면, 세탁기가 스마트 그리드와 관련되어 운전되는 모습이 보여지도록 꾸며질 수 있다. 스마트 그리드와 관련된 운전에 대해서는 앞서 예시적으로 설명한 바와 같다.
시뮬레이션은 각 제품의 사용자 인터페이스에 대한 시뮬레이션일 수 있다. 즉, 각 제품의 엘시디 화면에 나타나는 UI와 동일한 화면이 본 시뮬레이션 화면으로 나타날 수 있다. 이러한 시뮬레이션은 각 제품에 대한 단말관리서비스와 관련된 사용자 가이드에 적합할 것이다.
이하에서는 상기와 같은 체험 시뮬레이션의 실시예를 구체적으로 설명한다. 여기의 시뮬레이션은 상기의 단말관리서비스와 관련된 시뮬레이션을 포함할 수 있으며, 또한, 제품 자체의 기능을 체험하는 시뮬레이션이 포함될 수 있다.
먼저, 스마트 익스피어리언스에 대한 초기 화면은 도5와 같다.
도5의 화면 중앙에는 각 제품이 도시되며 제품에 마우스를 대거나 클릭하면 해당 제품에 대한 시뮬레이션 페이지로 이동할 수 있는 팝업창이 뜬다. 도5에서는 냉장고에 대한 팝업창(1)이 뜬 예를 나타낸다. 상기 팝업창(1)에는 "스마트 매니져를 이용하여 냉장고 안 식품 위치와 보관기한을 점검하고 냉장고 안에 채워야 할 식품까지 확인할 수 있는 스마트한 냉장고"라는 메시지가 나타난다. 상기 팝업창(1)의 "체험하기" 버튼(2)을 클릭하면 해당 제품의 시뮬레이션 페이지로 이동할 수 있다.
도6은 도5의 "체험하기" 버튼(2)을 클릭했을 때 팝업되는 화면이다. 화면의 우측 영역(3)에는 제품의 이미지가 나타난다. 현재 선택된 제품의 이미지가 전면에 크게 나타나고 이외의 제품은 후방에 작게 나타난다. 상기 화면의 하단에는 제품을 선택할 수 있는 버튼들이 구비된 영역(1)이 있다. 상기 영역(1)에서 세탁기를 선택하면 영역(3)에 세탁기가 전면에 큰 이미지로 나타나고, 냉장고는 후방에 작은 이미지로 변환된다. 그리고, 상기 화면의 좌측에는 단말관리서비스와 관련된 항목들로서 "스마트 그리드", "스마트 진단", "스마트 억세스", "스마트 어댑트", "스마트 매니져" 등이 표시된다. 이 항목들은 활성화되어 있어서, 클릭되면 그 해당 항목의 시뮬레이션 페이지로 이동할 수 있다.
이하에서는 냉장고에 대해 상기 항목들 각각이 선택되었을 때의 시뮬레이션 내용에 대해 설명한다.
먼저, 도7은 "스마트 그리드"가 선택되었을 때 팝업되는 화면이다.(도7의 화면은 실제 제품에서 메인 화면으로 표시되는 화면과 같을 수 있다) 상기 화면의 하단에는 "냉장고 관리"라는 버튼이 활성화되어 표시된다. 그래서, 그 버튼을 클릭하면, 도8과 같은 화면으로 이동하게 된다. 도8의 화면 중 영역(1)에는 상기 항목들을 선택할 수 있는 버튼들이 표시된다. 즉, 스마트 그리드에 대한 시뮬레이션에서 다른 항목에 대한 시뮬레이션을 변경할 때 이용될 수 있다. 영역(2)에는 현재 선택된 항목과 관련된 이미지가 표현된다. 예컨대, 도시되는 바와 같이 스마트 그리드 기술이 적용된 냉장고의 절전상태를 표현하는 이미지가 표시될 수 있다. 한편, 영역(3)에는 "냉장고 관리"에 대한 메뉴정보가 표시된다. 상기 영역(3)에는 냉동실 온도 및 냉장실 온도가 표시되고 있으며, "특급냉동" 작동 상태(동작/꺼짐), "안심제균 필터" 작동상태(자동/파워/꺼짐), "-35℃ 특냉실" 작동상태(동작/꺼짐) 등이 표시된다. 그리고, 스마트 그리드와 관련되어서는 "스마트 절전"의 작동상태(사용자절전/꺼짐)가 표시되고 있다. 여기서, "스마트 절전"에 "사용자절전"으로 표시된 것은 "사용자절전"이 선택된 예를 도시하는 것이며, 선택된 모드가 다른 것일 때에는 그 다른 모드가 표시된다.
도9는 도8의 영역(3)에 나타난 부분을 확대한 그림이다. 도9에서 하단부에 있는 "스마트 절전" 버튼(2)을 클릭하면 도10과 같은 팝업창이 나타난다. 도10에 나타난 팝업창 중 영역(1)에서 스마트 절전과 관련된 모드를 선택할 수 있다. 그리고, "확인" 버튼(2)을 클릭하면 그 선택된 모드로 설정된다. 상기 팝업창 중에는 사용자에 대한 메세지가 나타날 수 있다. 도10에서는 "현재 Smart절전 모드가 꺼짐 상태입니다. 심야 절정과 시간대 절전을 통해 냉장고 소비 전력량을 줄일 수 있습니다."라는 메세지가 표시되어 있다. 한편, 도9에서 좌측 상단의 버튼(1)은 홈버튼으로서 초기화면으로 이동할 수 있는 버튼이다.
도10에서 상기 "확인"버튼(2)을 누르면 도11과 같은 화면이 표시된다. 영역(2)에는 스마트 절전 모드가 "심야절전"으로 선택되었음을 표시하며, 그러한 모드로 동작중임을 표시하는 팝업창(1)이 표시된다.
한편, "시간대 절전" 모드가 선택된 경우에는 도12와 같은 팝업창이 나타난다. 도12의 화면에서 영역(1)을 이용해 시간대를 설정할 수 있는데, 도12에는 "1시~3시"와 "7시~9"가 선택된 모습을 나타낸다. 그와 같이 시간대를 선택한 후 "확인" 버튼(2)을 클릭하면, 도13과 같은 화면이 나타난다. 도13의 화면 하단에는 스마트 절전 모드로서 "시간대절전"이 설정되었음이 표시된다.
이하에서는 스마트 진단과 관련된 시뮬레이션에 대해 설명한다.
먼저, 스마트 진단이 선택되면 도14의 화면에서 "환경설정"이라는 버튼이 활성화된다. 이때, "식품관리", "세시피", 등등 다른 버튼은 활성화되지 않을 수 있다. 즉, 선택된 항목과 관련된 버튼 이외에는 활성화되지 않을 수 있으며, 이는 전술한 스마트 그리드의 경우에도 마찬가지이다.
도14에서 "환경설정"을 클릭하면, 도15와 같은 화면이 팝업된다. 도15의 화면에서 "스마트진단" 버튼을 클릭하면, 도16과 같은 이미지가 표시될 수 있다. 도16의 이미지는 냉장고 문을 연 상태에서 전화기를 우측 상단의 스피커홀에 가져다 놓은 상태의 이미지이다.
도17은 상기 이동통신단말기의 스마트 진단과 관련된 화면이다. 도17과 같은 "스마트 진단" 화면에서 "진단시작" 버튼을 누르면, 진단 중임을 나타내는 화면이 표시될 수 있다. 진단 중임을 표시하기 위해 타임바가 표시될 수 있으며, 진단이 완료되면 전송 완료 화면으로 전환될 수 있다. 도17은 사용자가 서비스센터에 전화를 걸어 진단을 위해 냉장고의 작동음을 전송하는 경우에 대한 것이다. 사용자의 이동통신단말기에는 도17과 같은 화면으로 진단을 수행하는 진단 관련 어플리케이션이 설치되어 있는 경우이다.
한편, 스마트 억세스가 선택되면 사무실을 배경화면으로 하고 스마트폰에서 어플리케이션으로 접속하는 화면이 표시될 수 있다. 상기 스마트폰에 설치되어 있는 스마트 억세스 관련 프로그램의 화면이 나타날 수 있으며, 상기 화면에서 냉장고에 대한 온도를 설정하는 시뮬레이션 화면이 표시될 수 있다. 그리고, 상기 온도가 설정되면 냉장고에서 해당 기능이 동작하는 화면이 표시될 수 있다.
또한, 스마트 어댑트가 선택된 경우에는, 도18과 같은 화면이 표시된다. 도18의 화면에서 "환경설정" 버튼이 활성화되어 표시된다. 상기 "환경설정"버튼을 클릭하면, 도19의 화면이 팝업된다. 도19에서 "업데이트" 버튼을 클릭하면, 도20의 화면이 표시된다. 도20은 현재의 소프트웨어가 최신버전인지를 확인하고 있음을 알리는 메세지가 팝업될 수 있다. 그리고, 그 확인이 완료되면, 도21의 화면이 표시된다. 도21의 화면에는 펌웨어의 현재 버전 정보, 현재 최신의 펌웨어 버전이 설치되어 있는지 여부를 알리는 메세지가 표시된다. 아울러, 레시피(recipe)의 버전에 최신 버전인지 여부를 알리는 메세지가 표시된다.
한편, 스마트 매니져가 선택된 경우에는 도22의 화면이 표시된다. 도22 중 하단의 메뉴들 중 관련 메뉴로서 "식품관리" 메뉴가 활성화 된다. 상기 "식품관리" 메뉴를 클릭하면, 도23의 화면이 팝업된다. 도23은 음식목록을 로딩 중이라는 메시지 창이 팝업된 모습을 보이고 있다.
음식목록의 로딩이 완료되면, 도24와 같은 화면이 나타난다. 도24에서 우측 영역(1)에는 식품 종류가 표시된다. 상기 영역(1)에서 식품을 선택한 후 마우스를 드래그하여 영역(2)의 식품 보관칸 중 하나에 놓으면, 해당 칸에 대한 식품 등록 화면으로 전환된다. 도24에서는 닭고기를 선택하여 영역(2)의 하나의 칸으로 등록하는 경우를 나타낸다. 도25는 전술한 식품 등록 화면을 나타낸다. 도25에서 영역(1)의 버튼을 이용해 닭고기의 갯수를 설정할 수 있다. 그리고, "보관기한변경하기" 버튼(2)을 클릭하면, 도26의 화면이 팝업된다. 도26에서 영역(1)의 버튼을 이용해 보관 시작일 및 종료일을 설정할 수 있다. 그리고, "저장" 버튼(2)을 누르면, 해당 식품이 냉장고 안에 들어가 있는 화면으로 전환된다.
한편, 스마트 매니져가 선택된 상태에서 도27과 같이 "레시피" 메뉴가 활성화 되어 있을 수 있다. 상기 "레시피" 메뉴를 클릭하면, 도28의 화면이 팝업된다. 도28 중 영역(1)에는 식품(또는 식재료)의 종류가 표시된다. 상기 영역(1)의 식품을 선택해서 마우스로 드래그하여 영역(2)로 이동시키면 영역(2)에 해당 식품이 표시된다. 원하는 식품을 모두 선택한 후, 도29의 화면에서 "쿡" 버튼(1)을 클릭한다. 상기 "쿡" 버튼이 클릭되면, 도29의 화면에서 냄비가 움직이는 이미지가 표시될 수 있다. 이후, 도30과 같이 화면의 좌측 영역(1)에 상기에서 선택된 식품으로 요리할 수 있는 요리들이 표시된다. 상기 요리들 중 하나를 선택하면 도31과 같은 화면이 팝업된다. 도31의 화면은 선택된 요리에 대한 레시피 설명이 표시된다.
또한, 스마트 매니져가 선택된 경우 도32와 같이 하단의 메뉴들 중 "쇼핑리스트" 메뉴가 활성화될 수 있다. 상기 "쇼핑리스트" 메뉴를 선택하면, 도33의 화면이 팝업된다. 도33의 화면에서 식품을 선택하여 "휴대폰으로 전송"이라는 버튼을 클릭하면 도34의 화면이 표시된다. 도34는 상기 "쇼핑리스트"에서 선택된 식품 목록을 이동통신단말기로 전송하고 있음을 알리는 화면이다. 도34의 우측 하단에는 이동통신단말기 화면에 쇼핑리스트의 식품 목록이 전송되어 나타나는 모습이 도시되고 있다. 전송이 완료되면, 도35와 같은 화면으로 전환된다. 도35는 이동통신단말기에 전송된 식품목록을 확인하면서 소비자가 쇼핑하는 상황을 표시하기 위한 화면이다.
(5) 고객지원
"고객지원"은 "FAQ", "이용가이드", "공지사항" 등의 하부페이지를 포함할 수 있다. 본 페이지는 사용자 사이트를 이용하는 것과 관련된 정보뿐만 아니라, 단말관리서비스와 관련된 정보도 포함할 수 있다. 본 페이지는 문답식으로 구성될 수도 있으며, 상기 "공지사항"과 같이 사업자 또는 제조업체에서 사용자 또는 소비자에게 알리고자 하는 사항이 있을 때 관련 내용을 게시하는 형태로 만들어질 수도 있다.
상기 "이용가이드"에는 단말관리서비스를 받기 위한 절차에 대한 설명이 포함될 수 있다. 예컨대, 먼저, 회원가입을 통해 아이디와 패스워드를 발급받은 후 제품을 등록하는 절차를 진행하라는 내용을 포함할 수 있다. 아울러, 스마트폰용 어플리케이션을 다운로드 받는 것과 관련된 설명이 포함될 수 있다. 또한, "이용가이드"에는 단말관리서비스와 관련된 서비스 시나리오, 상기 서비스와 관련된 스마트폰용 어플리케이션의 이미지, 상기 서비스와 관련된 제품의 디스플레이 화면 이미지 등을 포함할 수 있다. 그리고, 그 이미지들에 대한 설명이 포함될 수 있다.
(6) 마이페이지
"마이페이지"는 로그인한 사용자의 전용페이지라 할 수 있다. 여기에는, 단말관리서비스를 위해 등록시킨 제품과 관련된 내용이 포함될 수 있다. 예컨대, 마이페이지에는 등록된 제품의 목록이 표시될 수 있다. 등록된 제품 목록의 표시는 제품명(예컨대, 세탁기, 냉장고 등등), 제품의 모델명 등을 포함할 수 있다. 또한, 등록된 제품에 대해 단말관리서비스가 현재 사용되는 상태에 있는가 여부에 대한 표시를 포함할 수 있다. 또한, 등록된 제품에 대해 사용자가 단말관리서비스를 중지할 수 있도록 마련될 수 있다.
도36은 등록된 제품 목록과 관련된 일실시예를 나타낸다. 도36과 같이 특정 사용자에 대해 등록된 제품의 목록이 제품명(또는 제품군), 모델명 등이 표시되며, 각 제품을 선택할 수 있는 선택부를 포함하고 있다(도36에는 "중지"라는 제목으로 선택부가 표시되어 있지만, "중지" 이외의 다른 사항에 대해서도 선택부가 표시될 수 있다. 도36에서 "중지"라는 제목하의 선택부들은 단말관리서비스의 사용 여부 상태를 표시하는데 이용될 수 있다. 예컨대, 단말관리서비스의 중지 신청이 있게 되면 상기 "중지"라는 제목하의 선택부는 체크 표시가 함께 표시되거나 또는 비활성화되어 해당 제품에 대한 단말관리서비스가 중지되어 있음을 알릴 수 있다.
등록된 제품의 목록 페이지에는 "사용중지"라는 클릭부를 포함할 수 있다. 상기 "사용중지"는 사용자가 제품을 선택한 후 클릭하면 해당 제품에 대한 단말관리서비스에 대한 사용중지 신청이 이루어지는 부분이다.
한편, 관리 서비스를 받고자 하는 단말기, 즉, 사용자의 제품은 후술하는 활성화절차를 통해 등록될 수 있다. 물론, 사용자가 직접 사용자 사이트에 자신의 단말기를 등록시키는 방법도 생각할 수 있다. 즉, 사용자 사이트에 단말기 등록에 관한 페이지를 구비하여 사용자로 하여금 직접 등록시키도록 할 수도 있을 것이다. 사용자가 직접 등록하는 경우에 그 등록을 위한 정보는 후술하는 활성화절차에서의 정보와 같을 수 있다.
한편, 마이페이지에는 등록된 제품에 대한 펌웨어 업데이트와 관련된 정보가 포함될 수 있다. 여기에는 등록된 제품과 관련하여 펌웨어의 업데이트가 있는지 여부에 관한 정보가 포함될 수 있다. 이러한 정보는 업데이트된 펌웨어의 파일명 또는 버젼(version) 정보가 포함될 수 있으며, 업데이트가 이루어진 날짜 정보가 포함될 수 있다. 아울러, 사용자가 자신의 제품에 대해 해당 펌웨어를 업데이트 했었는지, 또는 다운로드 했었는지를 표시하는 내용이 포함될 수 있다. 또한, 업데이트된 펌웨어를 다운로드 하거나 또는 자신의 제품에 적용할 것을 요청하는 부분을 포함할 수 있다. 여기서, 업데이트된 펌웨어를 자신의 제품에 적용하도록 요청하는 것은 펌웨어 업데이트와 관련된 단말관리서비스의 요청에 해당할 수 있다. 예컨대, 업데이트된 펌웨어에 대한 단말관리서비스를 요청하는 부분이 포함될 수 있으며, 그 부분을 사용자가 선택함에 따라 그 요청이 서버시스템으로 연동될 수 있다. 그래서, 서버시스템은 해당 제품과 연동하여 그 선택된 펌웨어의 업데이트 절차를 수행할 수도 있다.
도37에는 펌웨어 업데이트와 관련된 실시예를 나타낸다. 도37에 보이는 바와 같이, 사용자의 등록된 제품에 대해 펌웨어의 파일명 또는 버젼, 업데이트일 등이 표시된다. 그리고, 각 펌웨어에 대해 다운로드 여부가 표시되고 있다. 도37에서 "다운로드"를 클릭하면 해당 펌웨어를 다운로드 받을 수 있다. 다운로드는 사용자의 컴퓨터로 다운로드될 수도 있으며, 또는 제품으로 직접 다운로드될 수도 있다. 제품으로 다운로드 되는 경우는 펌웨어 업데이트와 관련된 단말관리서비스를 요청하는 것에 해당할 수 있다. 즉, 이 경우에는 "다운로드"를 클릭하면 그 요청이 서버시스템에 전송되어 서버시스템에 의한 펌웨어 업데이트 관리 절차가 수행되어 제품에 해당 펌웨어가 다운로드되거나 또는 설치되게 된다.
한편, 한번 "다운로드"를 수행하면 "다운로드"는 활성화되지 않은 상태로 되거나, 또는 그 색깔이 바뀔 수 있다. 이는, 해당 펌웨어에 대한 다운로드가 이루어졌었음을 사용자에게 알려주는 것이 될 수 있다.
상기와 같은 펌웨어 업데이트 이외에도 다른 단말관리 서비스를 요청하기 위한 수단이 마이페이지에 마련될 수 있다. 예컨대, 사용자 사이트를 통해 진단, 모니터링, 소프트웨어 관리, 푸드리스트 또는 쇼핑리스트 조회 등등을 요청할 수 있는 수단이 포함될 수 있다. 사용자 사이트에서 상기와 같은 서비스의 요청을 사용자가 선택하면, 상기 요청은 서버시스템으로 전송될 수 있으며, 서버시스템은 그 요청에 따라 해당 제품과 연동하여 해당 서비스를 수행하는 절차를 수행할 수 있다.
또한, 마이페이지에는 회원탈퇴에 관한 내용이 포함될 수 있다. 회원탈퇴를 위한 페이지가 마련될 수 있으며, 상기 페이지에는 회원탈퇴를 하면 단말관리서비스를 더 이상 받을 수 없다는 알림 메세지가 포함될 수 있다. 그리고, 현재 해당 사용자에게 등록되어 있는 제품의 목록이 함께 표시될 수 있다. 도38에는 회원탈퇴에 관한 실시예를 나타낸다. 도시되는 바와 같이, 회원탈퇴를 하면 단말관리서비스(도38에는 "스마트 서비스"로 표기되어 있음)를 더 이상 이용할 수 없다는 메세지가 표시되고 있다. 그리고, 해당 사용자에게 등록된 제품의 목록이 함께 표시되고 있다. 도38에서 "회원탈퇴"를 클릭하면 회원탈퇴 신청이 이루어지게 된다.
전술한 사용자 사이트의 내용은 실시예이며, 그 사용된 명칭에 한정되지 않는다. 즉, "회원가입", "스마트어플라이언스란?", "제품정보", "스마트 익스피어리언스", "마이페이지" 등등의 명칭은 예시일뿐이며, 본 발명은 그에 한정되지 않는다. 사용자 사이트는 전술한 실시예들에서 사용한 명칭과 관계없이 전술한 각각의 내용들 전부 또는 일부를 포함하도록 구성될 수 있다.
이하에서는 관리 서비스의 내용 및 절차에 대해 설명한다.
(1) 회원가입 및 단말기 활성화(Activation)
도39는 회원가입 및 단말기 활성화에 관해 도시하고 있다.
사용자는 전술한 바와 같이 사용자 사이트에 접속하여 회원가입을 하면서 아이디와 패스워드를 부여받을 수 있다.
단말기 활성화는 사용자의 단말기를 서버시스템에 등록하는 절차라 할 수 있다. 단말기의 디스플레이 화면에는 사용자 아이디(User ID), 패스워드 등을 입력할 수 있는 창이 팝업될 수 있는데, 사용자는 그 화면을 통해 활성화 절차를 수행할 수 있다. 사용자가 자신의 아이디 및 패스워드를 화면에 입력하고, 활성화를 위한 명령을 입력하면 단말기는 사용자 아이디, 패스워드, 디바이스ID, 및 단말기의 특성정보 등을 사용자 사이트로 전송하게 된다. 이때, 단말기에는 상기 입력된 사용자 아이디 및 패스워드가 저장될 수 있다. 그래서, 상기 사용자 아이디 및 패스워드를 통해 사용자를 인증하는데 이용할 수도 있다.
상기 디바이스ID는 단말기에 기 입력되어 있을 수도 있으며, 활성화 절차를 수행할 때 자동으로 단말기 내에서 생성될 수도 있다. 또는, 단말기를 사서 처음으로 온시킬 때 자동으로 디바이스ID가 생성되도록 할 수도 있다.
상기 단말기의 특성정보로는 단말기의 모델정보, 제품코드, 제조일자, 생산 제품번호 등등을 포함할 수 있다.
또한, 활성화 절차에서 단말기는 단말기 패스워드, 서비스 URL 및 서버의 아이디와 패스워드를 함께 전송할 수 있다. 활성화 절차에서 사용자 사이트에 전송하는 정보 중 사용자 아이디와 패스워드를 제외한 정보는 단말기에서 자동으로 생성되거나 기 입력되어 있는 상태일 수 있다.
활성화 절차를 통해 단말기로부터 전술한 정보들이 사용자 사이트에 수신되면 사용자 사이트는 그 사용자 아이디에 해당 단말기를 등록한다. 그래서, 사용자 사이트에는 사용자 아이디별로 그 사용자가 사용하는 단말기들이 등록된다.
이후, 사용자 사이트는 서버시스템으로 사용자 아이디 및 패스워드, 디바이스ID, 단말기의 특성정보 등을 전송한다. 이때, 서버의 아이디 및 패스워드가 함께 전송될 수 있다.
서버시스템은 전송된 정보에 대해 먼저 인증을 수행한다. 그래서, 인증이 통과되면 사용자 아이디 및 패스워드, 디바이스ID, 제품 특성정보 등이 서버시스템에 등록된다. 이때, 디바이스 패스워드도 함께 전송될 수 있다.
이러한 활성화 절차는 서버시스템 및 사용자 사이트로 접속할 수 있는 통신환경이 구비된 상태라면 장소에 구애 없이 이루어질 수 있다. 예컨대, 제품을 구입한 그 구입처에서 활성화 절차를 대신 수행해 줄 수도 있다.
한편, 사용자는 등록된 자신의 단말기를 등록 취소 또는 폐지하는 절차를 수행할 수 있다. 단말기의 디스플레이 화면에서 등록 취소 또는 폐지를 위한 화면을 팝업시키고, 사용자 아이디 및 패스워드를 입력한 후 등록 취소 또는 폐지 명령을 입력하면 단말기는 사용자 사이트 또는 서버시스템에 접속하여 그 등록 취소 또는 폐지에 관한 정보를 전송한다. 그리고, 사용자 사이트 또는 서버시스템은 그에 따라 해당 단말기의 등록을 취소 또는 폐지하게 된다.
또한, 사용자는 사용자 사이트에서 회원탈퇴를 할 수 있는데, 회원탈퇴를 하면 그 사용자에 속하여 등록된 단말기들은 모두 등록이 취소 또는 폐지된다.
도40에는 사용자가 단말기를 통해 자신의 사용자 아이디 및 패스워드의 삭제를 요청하는 절차를 도시하고 있다. 단말기의 디스플레이 화면에서 삭제할 아이디 및 패스워드를 입력하여 전송하면 사용자 사이트 또는 서버시스템은 해당 회원의 정보 및 그에 속한 단말기들의 등록을 모두 취소 또는 폐지하는 절차를 진행할 수 있다.
(2) 사용자의 서비스 요청
사용자는 서비스를 받고자 하는 해당 단말기의 디스플레이 화면에서 서비스 요청을 할 수 있다. 예컨대, 단말기의 디스플레이 화면에 원하는 서비스의 화면을 팝업시킨 후 사용자 아이디 및 패스워드를 입력한 후 서비스 요청을 수행할 수 있다. 이때, 상기 해당 단말기에서는 서비스 요청과 관련된 정보 이외에 사용자 아이디 및 패스워드와 디바이스ID를 함께 전송할 수 있다.
또한, 사용자는 사용자 사이트를 통해서도 원하는 서비스를 요청할 수 있다. 사용자 사이트에는 관리서비스를 요청할 수 있는 웹페이지가 마련될 수 있으며, 사용자는 상기 웹페이지에서 원하는 관리 서비스를 요청할 수도 있다. 사용자로부터 서비스가 요청되면, 상기 사용자 사이트는 서비스 요청에 대한 정보를 서버시스템으로 전송할 수 있다. 이때, 사용자 아이디 및 패스워드와 디바이스ID가 함께 전송될 수 있다.
또한, 사용자는 고객 콜센터에 전화를 걸어 서비스 요청을 할 수 있다. 고객 콜센터에는 ARS 시스템으로 관리서비스를 접수받도록 만들어질 수도 있다.
한편, 스마트폰과 같은 이동통신단말기를 통해서도 서비스 요청을 할 수 있다. 도41(a)는 관리서비스를 위한 스마트폰 어플리케이션을 다운받는 모습을 예시하고 있다. 그리고, 도41(b)에는 스마트폰, 고객콜센터, 및 단말기(그 도면에는 가전제품으로서 세탁기 및 냉장고를 도시하였다)를 통해서 서비스를 요청하는 모습을 예시하고 있다.
스마트폰을 통해 서비스 요청을 하는 경우, 사용자는 스마트폰에 설치된 관리서비스 어플리케이션을 시동한 후 사용자 아이디 및 패스워드를 입력하면서 서비스를 요청할 수 있다. 스마트폰은 서비스 요청을 위해, 서비스 요청에 대한 정보를 서버시스템으로 전송할 수 있으며, 사용자 아이디 및 패스워드와 디바이스ID를 함께 전송할 수도 있다.
(3) 펌웨어 업데이트
펌웨어 업데이트는 제조사가 제품을 개발하던 중 발생된 오류를 업데이트하는 것에 대응하기 위한 서비스이다. 펌웨어 업데이트는 제조사의 업데이트 패키지 생성기를 통해 생성될 수 있으며, 생성된 업데이트 패키지는 DM/DL 클라이언트를 통해 해당 제품으로 전달된다.
제품으로 전달된 업데이트 패키지는 약속된 플래시 메모리의 예약된 주소에 저장될 수 있는데, 이때, 업데이트 패키지의 크기는 제조사 또는 사업자에 의해 제한될 수 있다.
펌웨어 업데이트 패키지를 업데이트 하기 위한 서비스 절차를 그림7에 나타내었다. 이하에서는 도42에 도시된 절차에 대해 설명한다.
1. Update Package 생성 : 제조업체는 펌웨어의 변경사항이 발생되면 신규 펌웨어를 생성한다. 신규 펌웨어와 현재 버전의 펌웨어 사이의 차이를 기록한 업데이트 패키지를 생성한다.
2. Update Package 등록 : 제조업체는 생성된 업데이트 패키지를 사업자의 시스템에 등록한다.
3. 시험 요청 : 등록된 업데이트 패키지는 단말기에 전송하기 전에 자체적인 시험 절차를 수행한다.
4. 배포 요청: 시험이 통과한 업데이트 패키지는 단말기로 배포를 위해 DL 서버에 등록된다.
5. 통지 요청 : DM 서버는 등록된 작업을 수행하기 위해 통지 메시지 전송을 요청한다.
6. 통지 메시지 전송 : 통지 메시지가 단말기로 전송된다.
7. 업데이트 패키지 다운로드 및 설치 요청 : 업데이트 패키지를 다운로드 한 단말기는 재시동한다.(경우에 따라서는 재시동 전에 업데이트 할 수도 있다)
8. 펌웨어 업데이트 : 단말기에서는 UA를 이용하여 업데이트를 진행한다.
9. 펌웨어 업데이트 결과 통지 : 단말기는 펌웨어 업데이트 결과를 DM 서버로 통지한다.
단말기의 DM 클라이언트는 DM 서버와 OMA DM 프로토콜을 이용하여 서로 연동하며, 펌웨어 업데이트는 단말기 내의 DM 클라이언트와 FUMO Agent가 연동하여 펌웨어를 업데이트 한다.
펌웨어 업데이트 절차의 시작 주체는 DM 서버와 사용자이며, DM 세션 모드는 Background/Foreground 모두 지원할 수 있다.
DM 서버에 의한 시작의 경우, DM 서버로부터 통지메세지(Notification Message)을 DM 클라이언트가 받아서 시작할 수 있다. 이때, 다운로드와 업데이트를 동시에 진행할 수 있다. 즉, 업데이트 패키지 파일을 다운로드 후 즉시, UA을 통하여 업데이트 진행(FUMO Node : DownloadAndUpdate)을 수행하도록 할 수 있다.
사용자에 의한 시작의 경우, 사용자가 단말기의 디스플레이 화면 메뉴 항목을 통하여 업데이트 진행(FUMO Node : DownloadAndUpdate)을 입력할 수 있다.
(4) 소프트웨어 관리
소프트웨어 관리는 소프트웨어를 추가, 업데이트, 삭제하는 관리 작업이다. 사용자 소프트웨어는 단말기의 파일 시스템 영역(내장/외장 메모리 포함)에 설치될 수 있다.
소프트웨어 관리를 위한 절차를 도43에 나타냈으며, 이를 이용하여 Push형 서비스가 가능하다. 아래에 도43에 도시된 절차를 설명한다.
1. 소프트웨어 관리패키지 생성: 소프트웨어 제조업체는 소프트웨어 개발 및 해당 OS에 맞는 관리(배포) 패키지를 생성한다.
2. 관리패키지 등록: 소프트웨어 제조업체는 생성된 관리패키지를 서버에 등록한다.
3. 시험 요청: 생성된 관리패키지를 시험한다.
4. 배포 요청: 시험이 완료된 관리패키지를 배포 요청한다.
5. 통지 요청: DM 서버는 등록된 작업을 수행하기 위해 통지 메시지 전송을 요청한다.
6. 통지 메시지 전송: 통지 메시지가 단말기로 전송된다.
7. 관리패키지 다운로드 및 설치 요청: DM 서버는 DM 또는 DL 클라이언트에게 관리패키지 다운로드 및 설치를 요청한다.
8. 관리패키지 작업: 다운로드 된 관리패키지는 SCoMO Agent에 의해 해당 OS의 Installer에게 원하는 옵션으로 설치를 요청하며, 해당 OS Installer는 관리패키지를 사용자 파일 시스템 영역에 설치/업데이트한다.
9. 관리작업 결과 통지: 단말기의 DM 클라이언트는 관리작업 결과를 DM 서버로 통지한다.
단말기의 DM 클라이언트는 DM 서버와 OMA DM 프로토콜을 이용하여 서로 연동하며, 소프트웨어 관리는 단말기 내의 DM 클라이언트와 SCoMO Agent가 연동하여 소프트웨어를 관리한다.
소프트웨어 관리 절차의 시작 주체는 DM 서버일 수 있으며, DM 세션 모드는 Background/Foreground 모두 지원할 수 있다. DM 서버로부터 Notification Message을 단말기가 받아서 DM 클라이언트를 시작시킬 수 있다. 여기서도, 다운로드와 업데이트를 동시에 진행할 수 있다. 즉, 관리패키지 파일을 다운로드 후 즉시, ScoMO Agent를 통하여 관리작업 진행(SCoMO Node : DownloadInstallInactive or DownloadInstall)을 수행하도록 한다.
(5) 단말 제어 관리(제품콘트롤)
제품을 원격에서 제어하는 것이 가능하다. 제어 관리는 DM서버에 의해 시작될 수 있으며, Background에서 동작할 수 있다. 따라서, MMI를 통한 사용자와 상호 작용, 인터럽트의 발생은 고려하지 않을 수 있다.
냉장고의 경우에는, 냉장실 온도, 냉동실 온도, 컨버터블룸 온도 또는 모드(냉동식품 모드, 육류 모드, 야채 모드 등등), 특급냉동 제어(온/오프 포함), 냉장고 동작 모드 제어(일반모드, 테스트모드, LQC모드, 전시모드, 스마트진단 등등), 디스펜서 제어(조각얼음 모드, 물 모드, 각 얼음 모드 등등) 등이 제어항목이 될 수 있다. 세탁기의 경우에는 전원 온 또는 오프, 운전 실행, 운전 중지 등등이 제어항목이 될 수 있다. 이러한, 제어 관리는 스마트폰의 어플리케이션을 이용해 오픈 API를 거쳐 DM 서버를 통해 이루어질 수 있다.
제어 관리를 위한 절차를 도44에 나타내었으며, 아래 자세히 설명한다.
1. 제어 항목 조회/실행 요청 : 운영자(또는 사용자)는 ONM 서버의 관리 화면을 이용하여 제어 항목 조회/실행 작업을 ONM 서버에 요청한다.
2. 작업 등록 및 통지 요청 : ONM 서버는 DM 서버에 제어/실행 작업을 요청 및 Notification 메시지를 통한 단말기에 통지를 요청한다.
3. 통지 요청 : DM 서버는 Notify 서버에 제품 통지 요청한다.
4. 통지 메시지 전송 : 단말기로 통지 메시지를 전달한다.
5. 제어 작업 진행 : 단말기는 DM 서버의 통지 메시지를 받아 DM 서버에 접속하여 제어 작업을 진행한다.
단말기의 DM 클라이언트는 DM 서버와 OMA DM 프로토콜을 이용하여 서로 연동하며, 제어 관리는 단말기 내의 DM 클라이언트와 Control Agent가 연동하여 제어 관리를 한다.
제어 관리의 시작 주체는 DM서버일 수 있으며, DM 세션 모드는 Background일 수 있다. DM 서버로부터 Notification Message을 DM 클라이언트가 받아서 시작한다.
(6) 진단
진단은 단말기의 진단을 위한 서비스이다. 예컨대, 세탁기에 고장 등 문제가 있다고 생각될 때, 사용자는 진단 서비스를 요청할 수 있다. 세탁기는 진단 명령이 내려 오면 진단프로그램을 시동하여 진단에 필요한 데이터를 수집할 수 있다.
단말기는 평상시 운전 중에 이벤트(event) 데이터 또는 로그 데이터(log data)를 수집할 수 있다. 이러한 데이터는 진단데이터로 활용할 수 있다. 즉, 진단 요청이 없는 경우에도 진단데이터가 수집되도록 할 수 있다. 예컨대, 세탁기의 드럼이 회전하지 않는 이벤트가 발생한 경우 이와 같은 이벤트 데이터를 기록하여 보관할 수 있다. 그래서, 진단 요청이 있는 경우 그동안 수집되어 기록된 데이터와 함께 진단 프로그램을 구동하여 수집한 데이터를 함께 서버시스템으로 전송할 수도 있다.
진단데이터는 세탁기의 경우 모터의 실동률 데이터, 세탁기에 부하되는 전력 데이터, 터브 또는 드럼 내부의 온도 데이터, 급수밸브의 작동과 관련한 데이터, 배수밸브의 작동과 관련한 데이터 등등이 포함될 수 있다. 또한, 냉장고에 있어서는, 냉각팬의 작동과 관련한 데이터, 냉장실 또는 냉동실 온도 데이터, 컴프레서 작동과 관련한 데이터, 팽창밸브 등 각종 밸브의 작동에 관련된 데이터, 아이스 메이커의 작동과 관련한 데이터 등등이 포함될 수 있다.
아울러, 진단데이터에는 사용자 인터페이스에 해당하는 디스플레이부 또는 입력부의 작동과 관련된 데이터, 수위센서(세탁기의 경우), 각종 온도센서(예컨대, 세탁기의 터브내의 온도를 감지하는 센서, 냉장고의 냉장실 또는 냉동실 등의 온도센서 등등) 등의 작동과 관련된 데이터를 포함할 수 있다.
진단데이터에는 명령 실행시간 및 데이터 발생시간의 정보가 포함될 수 있다. 이러한 진단데이터는 서버시스템으로 전송될 수 있으며, 서버시스템은 분석프로그램을 시동하여 진단 결과를 낼 수 있다.
진단의 요청은 스마트폰을 통해 이루어질 수도 있고, 사용자가 고객센터에 요청하면 고객센터에서 서버시스템에 접속하여 이루어질 수 있다. 또한, 단말기는 에러가 발생하면 그 에러 정보를 서버시스템에 전송하여 진단이 수행될 수도 있다.
진단을 위한 오픈 API의 인터페이스는 시작 인터페이스만을 제공하도록 설계될 수 있다. 그래서, 진단을 시작한 후 중지하는 것은 제공하지 않을 수 있다.
도45에는 진단을 위한 절차를 도시하고 있으며, 이에 대한 설명은 아래와 같다. 진단 절차는 후술하는 모니터링 절차와 동일 할 수 있으므로 도45에 함께 도시하였다.
1. 진단/모니터링 설정 요청 : 운영자(또는 사용자)는 진단 서버의 관리 화면을 이용하여 진단/모니터링을 위한 조건 및 실행 시작을 요청한다.
2. 작업 등록 및 통지 요청 : 관리 서버는 DM 서버에 진단/모니터링을 위한 조건 및 실행 시작 요청 및 통지를 요청한다.
3. 통지 요청 : DM 서버는 Notify 서버에 단말기에의 통지를 요청한다.
4. 통지 메시지 전송 : Notify 서버는 단말기로 통지 메시지를 전달한다.
5. 진단/모니터링 설정 : DM 서버는 DM 클라이언트에게 진단/모니터링을 위한 조건 및 실행 시작을 요청한다.
6. 진단/모니터링 결과 통지/데이터 조회 : 단말기의 DM 클라이언트(DiagMon Agent)는 진단/모니터링이 완료되면, DM 서버로 결과를 통지(Alert 메시지) 한다.
진단/모니터링 관리의 시작 주체는 DM서버 또는 사용자일 수 있으며, DM 세션 모드는 Background일 수 있다.
DM 서버 시작의 경우, DM 서버로부터 Notification Message을 DM 클라이언트가 받아서 시작한다. 그리고, 사용자 시작의 경우에는, 사용자는 단말기의 화면에서 진단/모니터링을 시작하며, 단말기는 단말진단/모니터링이 완료된 후, DM 클라이언트를 실행한다.
한편, 진단을 수행하는 또 다른 실시형태를 설명한다. 이는 사용자가 단말기의 작동음을 서버시스템으로 전송하는 것과 관련된다. 예컨대, 사용자는 해당 단말기의 작동시 발생하는 작동음을 이동통신단말기를 통해 서버시스템으로 전송할 수 있다. 서버시스템은 상기 작동음을 분석하여 해당 단말기를 진단할 수 있다. 사용자가 그 작동음을 서버시스템으로 전송하는 방법은 여러가지로 구현될 수 있다. 예컨대, 사용자가 서비스센터로 전화를 걸어 해당 단말기의 작동음을 이동통신단말기의 수화기를 통해 전송하면, 서비스센터는 이를 서버시스템으로 전송할 수 있다. 서비스센터는 상기와 같은 작동음을 자동 전송하기 위한 ARS시스템을 구비할 수 있다. 또한, 사용자는 진단을 위한 프로그램이 설치된 이동통신단말기(예컨대, 스마트폰)를 이용할 수도 있다. 즉, 진단을 위한 상기와 같은 작동음을 이동통신단말기에 설치된 상기 진단프로그램을 이용하여 서버시스템에 전송하는 것을 생각할 수 있다. 이때, 상기 서버시스템으로 직접 전송할 수도 있고, 또는 사용자 사이트로 전송하면 사용자 사이트가 서버시스템으로 전송하는 방식으로 이루어질 수도 있다. 상기 서버시스템은 상기 작동음을 분석하여 진단을 수행하는 프로그램을 가질 수 있다. 상기 프로그램은 상기 작동음의 사운드 데이터를 분석하여 에러코드 또는 상태정보로 변환할 수 있다. 이와 같은 진단결과는 사용자의 상기 이동통신단말기로 전송해 주거나 또는 해당 단말기로 전송할 수 있다.
(7) 모니터링
모니터링은 단말기의 모니터링에 관한 서비스이다. 모니터링이 요청되면 단말기는 모니터링 데이터를 서버시스템에 전송할 수 있다.
예컨대, 세탁기에 모니터링 데이터를 요청하면, 세탁기는 모니터링을 위한 프로그램을 시동하여 모니터링 데이터를 수집한 후 이를 서버시스템에 전송할 수 있다. 이때, 모니터링 데이터에는 모니터링 명령 실행 시간, 모니터링 데이터 발생 시간의 정보가 포함될 수 있다. 그리고, 모니터링 실행 요청이 있게 되면, 모니터링을 시작한 후 모니터링 데이터를 반복적으로 전달하도록 만들어질 수 있다.
냉장고의 경우에는 특급냉동 상태 여부, 하이진 필터(Hygiene Filter) 상태(예컨대, on 또는 auto 상태 여부), 냉장고 동작모드, 디스펜서 상태, 에러상태, 도어의 열림 또는 닫힘 상태 등등이 모니터링 항목에 포함될 수 있다. 세탁기의 경우에는, 운전 상태, 운전중인 코스의 남은 시간, 초기 설정시간, 세탁코스 종류, 헹굼레벨, 탈수 RPM, 코스 수행을 위해 세팅된 온도, 예약 세탁시간 등등이 모니터링 항목에 포함될 수 있다.
모니터링 서비스는 스마트폰을 통해 요청되고 그 결과의 조회가 가능할 수 있다.
모니터링을 위한 오픈 API의 인터페이스는 시작 및 종료 인터페이스를 모두 제공하도록 설계될 수 있다.
모니터링을 위한 절차는 도45과 같을 수 있다.
(8) 백업/복원
단말기의 사용자 데이터(예컨대, 레시피관련 파일, 쇼핑리스트 파일, 푸드리스트 파일, 각종 콘텐츠 파일 등등)를 백업/복원 관리가 가능하다. 백업/복원은 단말기의 요청에 의해 진행될 수 있으며, 데이터는 DM 서버를 통해 해당 DB에 저장될 수 있다. 이러한 사용자 데이트는 단말기 또는 서버시스템에 보관되고, 백업/복원 관리에 의해 갱신될 수 있다.
단말기의 DM 클라이언트는 DM 서버와 OMA DM 프로토콜을 이용하여 서로 연동하며, 백업/복원 관리는 단말기 내의 DM 클라이언트와 백업/복원 에이젼트(Backup/Restore Agent)가 연동하여 백업/복원 관리를 한다.
백업/복원 관리의 시작 주체는 DM 클라이언트일 수 있으며, DM 세션 모드는 Background로 진행 될 수 있다.
단말기 또는 사용자 시작의 경우, 단말기(또는 사용자)는 백업/복원 대상에 대해 백업/복원 요청을 하며, DM 클라이언트는 해당 Alert 메시지를 DM 서버로 전달한다.
백업/복원 관리 서비스는 세탁기의 경우 세탁코스 업그레이드 서비스에 이용될 수 있다. 예컨대, 세탁코스의 변경 요청이 있는 경우 서버시스템은 세탁기로 해당 세탁코스를 전송해 줄 수 있다.
냉장고의 푸드 메니지먼트는 푸드리스(Food Management)트, 쇼핑리스트, 유통기한 알림 등의 서비스를 수행하도록 만들어질 수 있다.
푸드 메니지먼트는 푸드리스트 또는 쇼핑리스트(Shopping List)를 DM 서버를 중간 매개체로 하여 스마트폰의 어플리케이션과 연동할 수 있는데, 이를 위한 서비스 시나리오는 아래와 같다.
A. 냉장고의 푸드 메니지먼트와 DM 서버
1. 냉장고의 어플리케이션 실행(푸드 메니지먼트 S/W가 실행)
2. 푸드 메니지먼트는 DM 클라이언트를 통해 DM 서버로부터 푸드리스트를 요청함 (만약, 네트워크가 활성화되지 않았으면, 최종 연동된 데이터 표시)
3. 푸드 메니지먼트는 DM 클라이언트를 통해 DM 서버로부터 수신한 푸드리스트를 표시함
4. 사용자는 푸드 메니지먼트에서 작업 진행함
5. 푸드 메니지먼트는 작업된 푸드리스트를 DM 클라이언트를 통해 DM 서버로 전달
6. 작업 완료함
B. 스마트폰의 어플리케이션과 DM 서버
1. 스마트폰의 어플리케이션 실행(푸드 메니지먼트 S/W가 실행)
2. 사용자 ID/PW로 로그인
3. 푸드 메니지먼트는 오픈 API를 통해 DM 서버로부터 푸드리스트를 요청함
4. 푸드 메니지먼트는 오픈 API를 통해 DM 서버로부터 수신한 푸드리스트를 표시함
5. 사용자는 푸드 메니지먼트에서 작업 진행함
6. 푸드 메니지먼트는 작업된 푸드리스트를 오픈 API를 통해 DM 서버로 전달함
7. 작업 완료함
도46에는 스마트폰 및 단말기를 통해 백업/복원 관리 서비스를 도시하였다.
이하에서는 DM 서버/클라이언트 연동 절차에 대해 설명한다. 주요 연동 절차는 부트스트랩(Bootstrap) 절차, 통지(Notification) 절차, 펌웨어 업데이트 절차, 소프트웨어 관리 절차, 제어 관리 절차, 진단 관리 절차, 백업/복원(Backup/Restore) 절차 등이 있다.
(1) 부트스트랩 절차
부트스트랩 절차는 Customized Bootstrap과 Server Initiated Bootstrap 방법에 따라 절차가 다르다. Customized Bootstrap인 경우, 단말기에 Bootstrap 정보가 정의됨으로 단말기 제조사에서 Bootstrap 절차가 완료된 상태에서 출고가 된다.
Server Initiated Bootstrap인 경우, 단말기이 출고되어 사용자에 의해 네트워크가 개통되면 DM 서버에서 Bootstrap 절차가 진행된다.
DM 클라이언트는 Bootstrap을 위하여 Customized Bootstrap을 지원할 수 있다.
부트스트랩을 위해 필요한 정보는 어플리케이션 ID, DM 서버 ID, DM 서버 이름, DM 서버 주소, 인증타입, 디바이스ID, DM 서버 인증 정보, 단말기 인증 정보 등을 포함할 수 있다.
어플리케이션 ID는 OMA DM에서 정의된 DM 어플리케이션 ID를 의미한다.
DM 서버 ID 및 이름은 서버가 복수개일 수 있기 때문에 필요할 수 있다. 예컨대, 한국에 하나의 서버시스템이 구축되고, 미국에 서버시스템이 구축될 수 있다. 그리고, DM 서버 이름은 관리자를 위한 서버의 표현 이름이다. 따라서, DM 서버 ID 및 이름은 필수적인 정보는 아닐 수 있다.
DM 서버 주소는 DM 클라이언트가 접속할 DM 서버 주소 및 포트 정보에 해당한다.
인증타입은 단말기와 서버가 통신하면서 인증정보에 대한 보안 방식에 해당하며, MD5 인증이 이용될 수 있다.
DM 서버 인증 정보는 단말기가 서버에 인증받기 위한 아이디, 패스워드, 초기 넌스(nounce)를 포함할 수 있다.
단말기 인증 정보는 단말기가 서버를 인증하기 위한 아이디, 패스워드, 초기 넌스(nounce)를 포함할 수 있다.
상기 정보들의 값이 동시에 결정되는 것은 아니며, 특히, 디바이스ID 및 단말기 인증 정보는 제품 출고 이후에 결정될 수도 있다. 특히, 디바이스ID의 경우에는 제품을 최초로 on시켰을 때 결정되기도 하고, 활성화절차에서 결정되기도 함은 전술한 바와 같다. 인증정보의 값 또한, 활성화절차에서 결정될 수 있다.
(2) 통지(Notification) 절차
1) 연동정책
DM 서버는 관리 세션을 위한 Trigger 메시지를 단말기의 Listening Port(UDP or TCP)를 통해 전송한다. 만약, 단말기가 사설 IP를 사용하거나, DM 서버의 Traffic을 분산하고자 한다면, 아래와 같이 처리할 수 있다.
① 서버 단에 특별히 구축되는 Connection Manager 구축하는 경우: 단말기의 Daemon은 단말기 부팅후, TCP Connection을 요청 및 유지
② DM 클라이언트가 주기적으로 접속하는 경우 : 단말기의 Daemon은 기 설정된 값으로 주기적 접속을 시도(Device Detail 노드에 정의함)
Notification 메시지는 WAP Push 형태로 존재하며 WAP Push의 데이터 영역에 OMA DM Notification 메시지가 포함된다. 이때 WAP의 WSP 영역에 Content Type으로 application/vnd.syncml.notification(0x44) 사용되어 단말기에 포함된 Daemon은 Notification 메시지 임을 알 수 있다.
Notification Message를 수신한 단말기(DM 클라이언트)의 동작 절차는 사용자에게 인지되지 않은 진행 절차인 백그라운드 모드(Background Mode)로 진행될 수 있다. 다만, UI-Mode의 값에 따라 향후 진행되는 DM 또는 DL Session에서 포어그라운드 모드(Foreground Mode) 또는 백그라운드 모드를 결정할 수 있다.
통지(Notification)을 위한 UI-Mode는 다음과 같이 정의할 수 있다.
UI-Mode 00 : 특별동작 없이 다음 단계 진행, 백그라운드 모드
UI-Mode 01 : 특별동작 없이 다음 단계 진행, 백그라운드 모드
UI-Mode 10 : DM 신호음 발생 후 다음 단계 진행
UI-Mode 11 : 사용자의 동의를 통해 다음 단계 진행 유무 결정, 포어그라운드 모드
2) 절차
통지절차는 도47에 보이는 바와 같이 이루어질 수 있다. 이에 대해 설명하면 다음과 같다.
1. 통지 서버는 단말기로 Notification 메시지를 전송한다.
2. 단말기의 데몬(Daemon)은 Notification 메시지를 수신한다.
3. 단말기의 데몬은 수신 확인메시지를 보낸다.(TCP로 통신하며, Body에 Notification Message Success, Result=200로 전달)
4. 단말기의 데몬은 WSP 영역의 Contents Type을 확인하여 Notification 메시지 임을 확인한다.
5. 단말기의 데몬은 DM클라이언트를 실행한다.
6. DM클라이언트는 Notification Package에 포함된 다이제스트(Digest)로 DM 서버를 확인한다.
a. Digest 값이 맞지 않으면, 초기 Nonce를 사용하여 Digest 값을 확인한다.
b. 초기 Nonce로도 Digest 값이 맞지 않으면 메시지를 폐기하고 종료한다.
7. DM클라이언트는 표시된 Notification Message에 포함된 UI-모드를 확인한다.
a. UI-Mode :00 or 01이면 Package 1부터 백그라운드로 동작
b. UI-Mode :11이면 Package 1부터 포어그라운드로 동작
8. DM 클라이언트는 DM 서버로 세션 ID를 이용하여, Package 1로 전송한다.
(3) 펌웨어 업데이트 절차
1) 연동정책
펌웨어 업데이트 정책으로 고려되는 사항은 아래와 같다.
1-1). Download Descriptor 및 Result Code
다운로드방식은 OMA DL v1.0 규격을 이용하여 업데이트 패키지를 다운로드 한다. OMA DL에서 사용되는 다운로드 디스크립터는 type(Media Object의 MIME media type), size(Media Object의 크기), objectURI(Media Object의 다운되기 위한 URI), installNotifyURI(Media Object의 다운로드 결과를 알려주기 위한 URI), nextURL(다운로드 동작 후에 Browsing되어지는 URI), DDVersion(Download Descriptor의 버전), name(Media Object의 이름), description(Media Object의 설명), vender(Media Object의 제공 조직), infoURL(Media Object를 설명하기 위한 추가적 URL), iconURI(ICON의 URI), installParam{edia Object의 설치관련 파라미터 정보, MD5Value=[Value]: 다운로드 패키지에 대한 무결성 확보를 위함, FileName=[Name]: 다운로드되는 파일 이름(DM 클라이언트에서 필요한 경우 사용)-펌웨어 인경우를 제외하고 서버는 항상 파일 이름을 전달해야 함} 등의 요소를 포함할 수 있다.
DL 서버와 DL 클라이언트는 type, size, objectURI, installNotifyURI 요소를 사용한다.
다운로드 패키지에 대한 무결성을 확보하기 위해 installParam에 다운로드 패키지에 대한 MD5값을 포함하여 전송한다.
MD5에 대한 DL 서버, DL 클라이언트 처리는 아래와 같다.
① DL 서버 : 업데이트 패키지가 서버로 업로드 될 때, 패키지에 대한 MD5 값을 생성하여 DD에 포함
② DL 클라이언트 : DL 클라이언트는 업데이트 패키지를 파일 시스템에 모두 다운로드 한 후, 전체 파일에 대해 MD5하여 DD에서 받은 값과 비교
DL Result Code는 업데이트 패키지가 다운로드 진행 또는 완료될 때 발생되는 사항에 대하여 DL 클라이언트가 DL 서버로 결과를 보고하기 위한 것이다. DL Result Code는 아래 표와 같다.
Result Code | Meaning | Usage |
900 | 성공 | 성공 |
901 | 메모리 부족 | 단말기 메모리 부족 |
902 | 사용자 취소 | 사용자가 작업을 수락하도록 선택하지 않음 |
903 | 서비스 손실 | 단말기가 네트워크 사용이 실패되는 경우 |
905 | 속성 불일치 | DD의 속성과 Media Object가 불일치 |
906 | 잘못된 DD | 잘못된 DD로 해석 불가(문법적 오류) |
951 | 잘못된 DD version | DD version이 서로 맞지 않음 |
952 | 단말기 불안전 중지 | 단말기 동작중 인터럽트 등에 의한 중지 |
953 | 부적당한 컨텐츠 | 단말기에 부적당한 컨텐츠 |
954 | Loader 에러 | Media Object가 DD에 정의된 URL로 접근 불가 |
1-2) 업데이트 시작 방법(백그라운드 모드 절차)
업데이트 시작은 2가지의 요소에 영향을 받는다.
① 업데이트의 주체
- DM 서버 시작: DM 서버가 Notification 메시지를 이용하여 업데이트 항목이 있음을 알리고, 필요 시 사용자의 동의를 얻어 업데이트 시작
- 사용자 시작 : 사용자가 단말기의 메뉴 항목을 통해 DM 서버에 접속, 현재 업데이트 항목이 있음을 확인하고 업데이트 시작(Hidden Menu를 통해 제공)
- 단말기 시작 : 단말기가 특정한 조건에 의해 업데이트 시작
② 백그라운드 모드인지, 포어그라운드 모드인지
펌웨어 업데이트 결과로 DM 클라이언트는 DM 서버에게 요청 메시지를 전송한다.
1-3) DM 서버로 보고되는 Result Code에 대한 정의
DM 서버로 보고되는 Result Code를 아래의 표에 나타냈다. Result Code는 업데이트가 진행되는 동안이나 또는 완료될 때 발생되는 사항에 대하여 DM 클라이언트가 DM 서버로 결과를 보고하기 위한 것이다. 제조사 또는 사업자 영역의 Result Code를 추가로 정의하여 사용할 수 있다.
Result Code | Meaning | Usage |
200 | 성공 | 성공 |
250 -299 | 성공-공급업체 지정 | 공급업체가 지정한 Result Code동작이 성공함 |
400 | 관리 클라이언트 오류 | 사용자 또는 단말기동작 기반관리 클라이언트 오류 |
401 | 사용자 취소 | 사용자가 작업을 수락하도록 선택하지 않음 |
402 | 펌웨어 업데이트 패키지가 손상됨 | 업데이트 패키지 이상으로 저장하지 않음 예를 들어 받은 패키지와 원본패키지의 파일크기가 다름 |
403 | 펌웨어 업데이트 패키지 - 단말기 불일치 |
단말기에 맞지 않는 패키지 전송 |
404 | 펌웨어 업데이트 패키지의 유효성 검사 실패 | 패키지의 디지털 서명이 바르지 않음 |
405 | 펌웨어 업데이트 패키지가 부적합함 |
패키지를 수신하지 못함 |
406 | 다운로드 인증실패 | 패키지 다운로드 중에 필요한 인증실패 |
407 | 다운로드 요청시간 초과 | 패키지 다운로드 중에 Time-out |
408 | 구현되지 않음 | 단말기가 요청한 작업을 지원하지 않음 |
409 | 정의되지 않은 오류 | 에러코드에 명기된 내용이 아닌 에러발생 |
410 | 펌웨어 업데이트 실패 | 단말기의 업데이트 작업이 실패됨 |
411 | 형식이 틀리거나 잘못된 URL |
Alternate download URL이 바르지 않음 |
412 | 대체 다운로드 서버를 사용할 수 없음 | Alternate download Server가 없거나 반응 없음 |
450 -499 | 클라이언트 오류- 공급업체 지정 |
공급업체가 지정한 Result Code동작에 대해 클라이언트 오류 발생 |
500 | Alternate 다운로드 서버 오류 | Alternate 다운로드 서버 오류 발생 |
501 | 단말기의 메모리 부족으로 인한 다운로드 실패 | 펌웨어 업데이트 패키지를 저장하기 위한 메모리가 부족하여 다운로드 실패 |
502 | 단말기의 메모리 부족으로 인한 펌웨어 업데이트 실패 | 단말기를 업데이트 하기 위한 메모리가 부족하여 업데이트 실패 |
503 | 네트워크 문제로 인한 다운로드 실패 | 네트워크/전송 수준 오류로 인해 다운로드 실패 |
550 -599 | 대체 다운로드 서버오류- 공급업체 지정 |
공급업체가 지정한 Result Code동작에 대해 Alternate다운로드 서버 오류 발생 |
펌웨어 업데이트 결과로 DM 클라이언트는 DM 서버에게 결과 통지 메시지를 전송한다.
2) 절차
절차는 DM 서버에 의한 시작 절차와 사용자 시작에 의한 절차에서 정의된다. 사용자 시작에 의한 절차는 사용자가 단말기 화면의 메뉴 항목을 통해 DM 서버에 접속하여 시작할 수 있다. 여기서, 단말기에는 사전에 DM서버로부터 업데이트 항목이 있음을 통지받은 상태일 수 있다. 사용자는 단말기의 화면을 통해 업데이트 항목이 있음을 확인할 수 있으며 펌웨어 업데이트를 시작할 수 있다.
a. DM 서버 시작 - 1단계 업데이트
1. Notification
2. DM Session - 다운로드 또는 업데이트 전
3. DL Session
4. UA Processing
5. DM Session - 작업 결과 통지
b. 사용자 시작 - 1단계 업데이트
1. 사용자는 단말기의 펌웨어 업데이트 메뉴 항목으로 이동한다.(단말기 영역의 GUI 존재)
2. 사용자는 펌웨어 업데이트 항목을 선택한다.(단말기 영역의 GUI 존재)
3. 단말기는 DM 클라이언트를 실행되며 단말기 UI 는 펌웨어 업데이트 중이라는 메시지 표시(DM 클라이언트는 Background Mode로 동작)
4. DM Session - 다운로드 또는 업데이트 전
5. DL Session
6. UA processing
7. DM Session - 작업 결과 통지(업데이트 결과 통지)
전체적인 업데이트 절차를 단계적 절차로 나눌 수 있으며, 이에 대해 아래에 설명한다.
2-1) DM Session - 다운로드 또는 업데이트 전
DM Session의 처음 단계로 DM 서버의 Notification Message에 의한 DM Session, 사용자에 의한 DM Session, 단말기에 의한 DM Session이 모두 해당된다.
DM 세션이 포어그라운드 모드로 수행되는 모습을 도48에 도시하였으며, 각 절차의 내용은 아래와 같다.
1. DM 클라이언트는 Package 1을 구성하여 DM 서버에 접속한다.
a. DM 클라이언트가 DM 서버에 접속되지 않으면, 단말기로 메시지 전달한다.
b. 단말기는 사용자에게 [메세지30] 표시한다.("DMS 서버와 연결이 되지 않습니다.[Retry/Stop]")
c. 단말기는 사용자의 응답을 DM 클라이언트로 전송한다.
d. [Retry] 하면 1번으로 이동한다.
e. [Stop] 하면 DM 클라이언트는 종료한다.
2. DM 클라이언트는 단말기에게 DM 서버에 접속 중이라는 메시지를 전달한다.
3. 단말기는 사용자에게 DM 서버에 접속 중임을 알리는 [메세지1] 표시한다.("DMS 서버에 접속 중입니다.")
4. DM 서버는 DM 클라이언트를 인증한다.
a. DM 서버가 DM 클라이언트를 인증하지 못하면, DM 서버는 Credential을 재 요구하는 Challenge 절차를 한번 더 진행한다.
b. 성공하면 정상 진행하고, 실패하면, Status Code 401(Unauthorized)를 전송한 후 세션을 종료한다.
5. DM 서버는 Package 2를 구성하여, DM 클라이언트에게 전송한다.(단말기의 상황을 판단하기 위해 추가적인 정보를 요청 할 수 있음)
6. DM 클라이언트는 DM 서버를 인증 및 Package 2에 대한 명령을 수행한다.
7. DM 클라이언트는 단말기로 DM 서버와 작업 처리 중이라는 메시지 전달한다.
8. 단말기는 사용자에게 DM 서버와 작업 중을 알리는 [메세지10]을 표시한다.
9. DM 클라이언트는 단말기로 펌웨어 버전을 요청한다.
10. 단말기는 DM 클라이언트로 펌웨어 버전을 전달한다.
11. DM 클라이언트는 DM 서버로 Package 3을 생성한다.
12. DM 클라이언트는 Package 3를 전송한다.
13. DM 서버는 단말기에 대한 펌웨어 업데이트 처리가 존재하는지 판단한다.
a. 펌웨어 업데이트가 존재하지 않는다.
b. DM 서버는 DM 클라이언트로 Alert Code(1100-Display or 1103-Single Choice)로 업데이트 항목이 없음을 Package 4을 전송한다.
c. DM 클라이언트는 단말기로 처리할 작업이 없다는 메시지를 전달한다.
d. 단말기는 사용자에게 처리할 작업이 없다는 [메세지31]를 표시한다.("DMS 서버와 처리할 작업이 없습니다.[확인]"-서버에서 전달)
e. DM 클라이언트는 종료한다.
14. DM 서버는 Package 4를 구성하여, DM 클라이언트에게 전송한다.
15. DM 클라이언트는 Package 4에 대한 명령을 수행한다.
16. DM 클라이언트는 단말기에게 업데이트 항목이 있다는 메시지를 전달한다.
17. 단말기는 사용자에게 업데이트 항목이 있다는 [메세지11]을 표시한다.("펌웨어 업데이트를 진행합니다."-서버에서 전달)
18. DM 클라이언트는 PkgURL(다운로드 하기 전인 경우 존재 함), Correlator 정보를 저장한다. (Correlator 정보는 업데이트가 끝난 후 보고할 때 세션과 세션의 연결 고리 역할을 하는 정보라 할 수 있다)
19. DM클라이언트는 수신한 DM커맨드 처리 상태(Status)를 Package 5를 DM 서버에 전송한다.
20. DM 서버는 DM 클라이언트에 대한 응답으로 아무 명령 없이 Package 6을 전송한다.
a. 단말기 재 부팅을 진행한다.(단말기에 업데이트 패키지가 다운로드 되어 있는 경우에는 Package 4의 Update 노드에 Exec 명령어가 전달되어 옴)
21. DM 클라이언트는 DL 클라이언트를 실행한다.
한편, DM 세션이 백그라운드 모드로 수행되는 모습을 도49에 도시하였으며, 각 절차의 내용은 아래와 같다.
1. DM 클라이언트는 Package 1을 구성하여 DM 서버에 접속 한다.
2. DM 서버는 DM 클라이언트를 인증한다.
a. DM 서버가 DM 클라이언트를 인증하지 못하면, DM 서버는 Credential을 재 요구하는 Challenge 절차를 한번 더 진행한다. 이때, DM서버는 Nounce값을 DM클라이언트에 전송해 주고, DM클라이언트는 그 Nonce 값을 이용해 인증프로그램을 다시 돌려 그 결과값을 DM서버로 전송하도록 할 수 있다. 그래서, DM서버에서 인증프로그램을 돌려 얻은 자체 결과값과 DM클라이언트에서 새로 전송되온 그 결과값이 일치하면 인증에 성공하는 것으로 처리될 수 있다.
b. 성공하면 정상 진행하고, 실패하면, Status Code 401(Unauthorized)를 전송한 후 세션을 종료한다.
3. DM 서버는 Package 2를 구성하여, DM 클라이언트에게 전송한다.(단말기의 상황을 판단하기 위해 추가적인 정보를 요청할 수 있음)
4. DM 클라이언트는 Package 2에 대한 명령을 수행한다.
5. DM 클라이언트는 단말기로 펌웨어 버전을 요청한다.
6. 단말기는 DM 클라이언트로 펌웨어 버전을 전달한다.
7. DM 클라이언트는 DM 서버로 Package 3을 생성한다.
8. DM 클라이언트는 Package 3를 전송한다.
9. DM 서버는 단말기에 대한 펌웨어 업데이트 처리가 존재하는지 판단한다.
a. 펌에어 업데이트가 존재하지 않는다.
b. DM 클라이언트는 종료한다.
10. DM 서버는 Package 4를 구성하여, DM 클라이언트에게 전송한다.
11. DM 클라이언트는 Package 4에 대한 명령을 수행한다. Package 4에는 Download URL을 지정하고 Download 또는 Download and Update 하라는 명령이 포함된다.
12. DM 클라이언트는 PkgURL, Correlator 정보를 저장한다.
13. DM클라이언트는 수신한 DM커맨드 처리 상태(Status)를 Package 5를 DM 서버에 전송한다.
14. DM 서버는 DM 클라이언트에 대한 응답으로 아무 명령 없이 Package 6을 전송한다.
a. 단말기에 업데이트 패키지가 다운로드 되어 있는 경우에는 Package 4의 Update 노드에 Exec 명령어가 전달되어 옴으로 재품의 재 부팅을 진행한다.
15. DM 클라이언트는 DL 클라이언트를 실행한다.
2-2) DL 세션
DM 클라이언트는 업데이트 방식이 DownloadAndUpdate 인지 Download인지 인지하고 DL 클라이언트를 실행 시킨다.
도50에는 DL 세션이 포어그라운드로 수행되는 절차를 도시하였으며, 그 내용은 아래와 같다.
1. DM 클라이언트는 DL 클라이언트를 실행한다.
2. DL 클라이언트는 PkgURL을 이용하여 DL 서버와 HTTP 접속한다.
3. DL 클라이언트는 단말기에게 DL 서버에 접속 중이라는 메시지를 전달한다.
4. 단말기는 사용자에게 DL 서버에 접속 중임을 알리는 [메세지2]를 표시한다.("파일 다운로드를 준비합니다.")
5. DL 서버는 DL 클라이언트로 Download Descriptor를 전송한다.
6. DL 클라이언트는 Download Descriptor 정보를 이용하여 단말기의 메모리 용량을 확인한다.
a. 메모리 부족 상태이면
b. DM 클라이언트는 DM 서버로 Generic Alert(1226)으로 메모리 부족(Result Code :501)를 전송한다.
c. DM 서버는 이벤트 메시지를 수신한다.
d. DM 클라이언트는 단말기에게 메모리 부족이라는 메시지를 전달한다.
e. 단말기에서는 사용자에게 메모리 부족임을 알리는 [메세지32]를 표시한다.("메모리 부족으로 파일 다운로드를 할 수 없습니다.[확인]")
f. DM 클라이언트는 종료한다.
7. DL 클라이언트는 DL 서버로부터 파일 다운로드 시작한다.
8. DL 클라이언트는 단말기에게 파일 다운로드 중이라는 메시지를 전달한다.
9. 단말기는 사용자에게 파일 다운로드중임을 알리는 [메세지3]을 표시한다.("파일 다운로드 중입니다. xx%")-Progress Bar로 표시 할 수도 있음
10. DL 클라이언트는 다운로드를 완료 및 DL 서버로 다운로드 결과 코드를 전달한다.
11. DL 클라이언트는 단말기에게 파일 다운로드 완료라는 메시지를 전달한다.
12. 단말기는 사용자에게 파일 다운로드 완료임을 알리는 [메세지4]를 표시한다.("파일 다운로드 완료입니다.[확인])
-DownloadAndUpdate인 경우 계속 진행-
13. DM 클라이언트는 단말기에게 재 시동 요청 메시지를 전달한다.
14. 단말기는 사용자에게 단말기 재 가동을 알리는 [메세지5]를 표시한다.("업데이트 적용을 위해 제품을 재가동 합니다.")
15. DM 클라이언트는 단말기를 재시동하도록 한다.
한편, 도51은 DL 세션이 백그라운드로 진행되는 절차를 도시하고 있으며, 그 설명은 아래와 같다.
1. DM 클라이언트는 DL 클라이언트를 실행한다.
2. DL 클라이언트는 PkgURL을 이용하여 DL 서버와 HTTP 접속한다.
3. DL 서버는 DL 클라이언트로 Download Descriptor를 전송한다.
4. DL 클라이언트는 Download Descriptor 정보를 이용하여 단말기의 메모리 용량을 확인한다.
a. 메모리 부족 상태이면
b. DM 클라이언트는 DM 서버로 Generic Alert(1226)으로 메모리 부족(Result Code :501)를 전송한다.
c. DM 서버는 이벤트 메시지를 수신한다.
d. DM 클라이언트는 종료한다.
5. DL 클라이언트는 DL 서버로부터 파일 다운로드 시작한다.
6. DL 클라이언트는 다운로드를 완료 및 DL 서버에 결과 코드를 전달한다.
-DownloadAndUpdate인 경우 계속 진행-
7. DM 클라이언트는 단말기를 재시동 하도록 한다.
2-3) UA Processing
UA는 Fault Tolerance 기능에 따라 배터리 방전, 배터리 제거, 플립/슬라이드 On/Off, 사용자의 동작에 영향을 받지 않고 업데이트 절차를 진행 한다.
UA는 제조사에서 선택하여 단말기에 포팅되어, 포어그라운드를 기본으로 동작된다. 이때,처리 절차는 UA 제공 방식에 따라 정의되며, 도52은 예시이다. 아래에는 도52의 각 절차에 대한 설명이다.
1. 단말기가 재 시동된다.
2. Boot loader가 실행된다.
3. Boot Loader는 UA를 실행한다.
4. UA는 업데이트 패키지가 있음을 확인한다.
a. 업데이트 패키지가 존재하지 않으면 UA는 제어를 단말기(Bootloader)에게 넘긴다.
5. UA는 단말기에게 업데이트 메시지를 전달한다.
6. 단말기는 사용자에게 업데이트를 진행을 위한 [메세지6]을 표시한다.("펌웨어 업데이트를 진행합니다. 업데이트가 진행되는 동안 제품 사용이 불가능합니다.")
7. UA는 업데이트 패키지를 검증한다.
8. UA는 펌웨어 업데이트를 진행한다.
9. UA는 단말기에게 업데이트 진행 사항을 전달한다.
10. 단말기는 사용자에게 업데이트를 진행 사항을 Process Bar로 표시한다.
11. UA는 업데이트를 마친다.(UA는 업데이트 결과를 Flash Memory에 기록)
12. UA는 단말기를 재 가동한다.
2-4) DM 세션 - 작업 결과 통지
다운로드 후의 DM Session은 두 가지로 나눈다. 첫째, 다운로드 결과 통지, 둘째, 업데이트 결과 통지이다. 또한, 결과를 통보하는 과정임으로 사용자에게 알리지 않고 진행할 수 있다.
도53은 작업 결과 통지를 위한 DM 세션을 백그라운드 모드로 진행하는 절차를 도시하며, 그에 대한 설명은 아래와 같다.
1. DM 클라이언트는 업데이트 결과를 확인한다.
2. DM 클라이언트는 Package 1을 구성하여 DM 서버에 접속한다.
3. DM 서버는 DM 클라이언트를 인증한다.
a. DM 서버가 DM 클라이언트를 인증하지 못하면, DM 서버는 Credential을 재 요구하는 Challenge 절차를 한번 더 진행한다.
b. 성공하면 정상 진행하고, 실패하면, Status Code 401(Unauthorized)를 전송한 후 세션을 종료한다.
4. DM 서버는 업데이트 결과(Result Code)를 기록한다.
5. DM 서버는 Package 2를 구성하여, DM 클라이언트에게 전송한다.
6. DM 클라이언트는 DM 서버를 인증한다.
7. DM 클라이언트는 종료한다.
2-5) 사용자 취소(User Cancel)
DM 서버와 DM 클라이언트가 사용자 인지(Foreground Mode)로 동작 중에 사용자는 언제든지 Session을 종료할 수 있으며(단, UA Processing은 예외), 단말기의 종료 버튼을 사용한다. 아래는 그 절차를 나타낸다.
1. 사용자가 단말기의 [종료] 버튼을 선택한다.
2. 단말기는 사용자 종료를 DM 클라이언트에 알린다.
3. DM 클라이언트는 Generic Alert(1226)으로 사용자 취소(Result Code :401)를 전송한다.
4. DM 서버는 이벤트 메시지를 수신한다.
5. DM 클라이언트는 종료한다.
(4) 소프트웨어 관리 절차
소프트웨어 관리는 소프트웨어의 추가/업데이트/삭제에 관한 것이다.
1) 연동 정책
1-1) Download Descriptor 및 Result Code
Download는 Indirect delivery(Alternative Download Mechanism)을 이용하며, Direct Delivery(In Session)은 사용하지 않는다. Download Descriptor는 "(3) 펌웨어 업데이트 절차"에서 설명한 것과 동일하다.
1-2) 업데이트 관리 시작 방법
업데이트 관리 시작은 아래와 같다.
a. 소프트웨어 관리작업 시작 주체
- DM 서버 시작: DM 서버가 Notification 메시지를 이용하여 업데이트 항목이 있음을 알리고, 필요 시 사용자의 동의를 얻어 관리 시작
b. 소프트웨어 컨텐츠 관리작업 시작 주체
- DM 서버 시작: DM 서버가 Notification 메시지를 이용하여 업데이트 항목이 있음을 알리고, 필요 시 사용자의 동의를 얻어 관리 시작
- 단말기(사용자) 시작 : 사용자는 단말기의 화면에서 소프트웨어 컨텐츠 업데이트를 요청함
소프트웨어의 컨텐츠 업데이트를 위해 DM 클라이언트는 DM 서버에게 요청 메시지를 전송한다.
c. DM 클라이언트의 컨텐츠 요청 통지 구성
- Generic Alert(1226)을 이용하여 구성됨
- Alert Type : "lge.dm.softwarecontentsupdate.userrequest" 사용(LGE 표준)
- Source >./SCOMO/Inventory/Deployed/[SwID]/Ext/DownOperation
- Request Code : 100(세탁 코스 Contents)
1-3) DM 서버로 보고되는 Result Code에 대한 정의
DM클라이언트로부터 DM 서버로 보고되는 Result Code를 아래의 표에 나타냈다. Result Code는 소프트웨어가 관리작업이 진행되는 동안이나 또는 완료될 때 발생되는 사항에 대하여 DM 클라이언트가 DM 서버로 결과를 보고하기 위한 것이다.
소프트웨어의 관리 보고는 설치/업데이트/삭제로 이루어지며, 모두 Alert을 이용하여 보고한다.
제조사 또는 사업자 영역의 Result Code를 추가로 정의하여 사용할 수 있다.
Result Code | Meaning | Usage |
1200 | 성공 | 설치/업데이트/삭제 성공 |
1250 -1299 | 성공-공급업체 지정 | 공급업체가 지정한 Result Code동작이 성공함 |
1400 | 관리 클라이언트 오류 | 사용자 또는 단말기동작 기반관리 클라이언트 오류 |
1401 | 사용자 취소 | 사용자가 작업을 수락하도록 선택하지 않음 |
1402 | 다운로드 실패 | 다운로드 명령 실패 |
1403 | 다운로드 실패(인증실패) | 인증실패가 일어나서 다운로드 하지 않음 |
1404 | 다운로드 실패(용량초과) | 패키지 크기가 단말기에서 다운로드 가능한 크기를 넘어섬(out of memory) |
1405 | Install 실패 | Install 명령 실패 |
1406 | Install 실패(용량부족) | 단말기에서 Install 하기 위해 필요한 메모리 용량 부족 |
1407 | 패키지 이상 | 패키지 데이터 이상(validate error) |
1408 | 삭제 실패 | 삭제 명령 실패 |
1409 | 상태 변경 실패 | "정상" 상태변경 명령 실패 |
1410 | 상태 변경 실패 | "비정상" 상태변경 명령 실패 |
1411 | 구현되지 않음 | 단말기에서 해당 명령을 수행 할 수 없음 |
1412 | 정의되지 않은 오류 | 정의되지 않은 오류 코드 |
1413 | 명령 거부 | 단말기에서 해당 명령을 거부함 |
1450 -1499 | 클라이언트 오류- 공급업체 지정 |
공급업체가 지정한 Result Code동작에 대해 클라이언트 오류 발생 |
1500 | Alternate 다운로드 서버 오류 | Alternate 다운로드 서버 오류 발생 |
1501 | Alternate 다운로드 서버가 존재하지 않음 | Alternate 다운로드 서버가 존재하지 않거나 응답이 없음 |
1550 -1599 | 대체 다운로드 서버오류- 공급업체 지정 |
공급업체가 지정한 Result Code동작에 대해 Alternate다운로드 서버 오류 발생 |
2) 절차
절차는 DM 서버에 의한 시작 절차로서 아래와 같이 구성될 수 있다.
1. Notification
2. DM Session - 다운로드
3. DL Session
4. SCoMO Agent/Installer Processing
5. DM Session - 작업 결과 통지
2-1) DM Session - 다운로드
소프트웨어 관리의 처음 단계로 DM 서버의 Notification Message에 의한 DM Session이다.
동작 절차는 사용자에게 인지되어 진행되는 절차(Foreground Mode)와 사용자에게 인지되지 않은 상태에서의 진행 절차(Background Mode)로 나눈다.
먼저, 도54에 포어그라운드 모드로 진행되는 절차를 도시하였으며, 그에 대한 설명은 아래와 같다.
1. DM 클라이언트는 Package 1을 구성하여 DM 서버에 접속 한다.
a. DM 클라이언트가 DM 서버에 접속되지 않으면 단말기로 메시지 전달한다.
b. 단말기는 사용자에게 [메세지30]을 표시한다.("서버와 연결이 되지 않습니다.[재시도/종료]")
c. 단말기는 사용자의 응답을 DM 클라이언트로 전송한다.
d. [재시도]를 선택하면 1번으로 이동한다.
e. [종료]를 선택하면 DM 클라이언트는 종료한다.
2. DM 클라이언트는 단말기에게 DM 서버에 접속 중이라는 메시지를 전달한다.
3. 단말기는 사용자에게 DM 서버에 접속 중임을 알리는 [메세지1]을 표시한다.("서버에 접속 중입니다.")
4. DM 서버는 DM 클라이언트를 인증한다.
a. DM 서버가 DM 클라이언트를 인증하지 못하면, DM 서버는 Credential을 재 요구하는 Challenge 절차를 한번 더 진행한다.
b. 성공하면 정상 진행하고, 실패하면, Status Code 401(Unauthorized)를 전송한 후 세션을 종료한다.
5. DM 서버는 Package 2를 구성하여, DM 클라이언트에게 전송한다.
a. Package 2 구성 정보는 ./SCOMO/Inventory/Deployed/SwID(Uniquely ID) /Version 노드의 Get 명령어이다.
b. 추가인 경우: DM 클라이언트는 "404[Not Found]"로 해당 서비스가 없음을 알린다.
c. 업데이트인 경우: DM 클라이언트는 해당 서비스의 버전을 알려준다.
d. 삭제인 경우: DM 클라이언트는 해당 서비스의 버전을 알려준다.
6. DM 클라이언트는 DM 서버 인증 및 Package 2에 대한 명령을 수행한다.
7. DM 클라이언트는 단말기로 DM 서버와 작업 처리 중이라는 메시지 전달한다.
8. 단말기는 사용자에게 DM 서버와 작업 중을 알리는 [메세지10]을 표시한다.
9. DM 클라이언트는 DM 서버로 Package 3을 생성한다.
10. DM 클라이언트는 Package 3를 전송한다.
11. DM 서버는 Package 4를 구성하여, DM 클라이언트에게 전송한다.
a. 설치인 경우 Package 2 구성 정보
i. ./SCOMO/Download/SwID(Uniquely ID)의 Add 명령
ii. ./SCOMO/Download/SwID(Uniquely ID)/ PkgID(SwID), ./SCOMO/Download/SwID(Uniquely ID)/PkgURL,의 Replace 명령
iii. ./SCOMO/Download/SwID(Uniquely ID)/DownloadInstall 노드에 Exec 명령어(Correlator 번호 포함)
b. 업데이트인 경우 Package 2 구성 정보
i. ./SCOMO/Download/SwID(Uniquely ID)/PkgURL,의 Replace 명령
ii. ./SCOMO/Download/SwID(Uniquely ID)/DownloadInstall 노드에 Exec 명령어(Correlator 번호 포함)
c. 삭제인 경우 Package 2 구성 정보
i. ./SCOMO/Inventory/SwID(Uniquely ID)/Operations/Remove 노드에 Exec 명령어(Correlator 번호 포함)
12. DM 클라이언트는 Package 4에 대한 명령을 수행한다.
a. 설치인 경우
i. ./SCOMO/Download/SwID(Uniquely ID)의 및 하위 노드 생성
ii. ./SCOMO/Download/SwID(Uniquely ID)/ PkgID(SwID), ./SCOMO/Download/SwID(Uniquely ID)/PkgURL,의 Replace 명령
iii. ./SCOMO/Download/SwID(Uniquely ID)/DownloadInstall Exec 명령 수행
b. 업데이트인 경우 Package 2 구성 정보
i. ./SCOMO/Download/SwID(Uniquely ID)/PkgURL,의 Replace 명령
ii. ./SCOMO/Download/SwID(Uniquely ID)/DownloadInstall 노드에 Exec 명령 수행
c. 삭제인 경우 Package 2 구성 정보
i. ./SCOMO/Inventory/SwID(Uniquely ID)/Operations/Remove 노드에 Exec 명령 수행
13. DM 클라이언트는 단말기에게 업데이트 항목이 있다는 메시지를 전달한다.
14. 단말기는 사용자에게 업데이트 항목이 있다는 [메세지11]을 표시한다.
15. DM 클라이언트는 필요 정보 및 Correlator 정보를 저장한다.
16. DM클라이언트는 수신한 DM커맨드 처리 상태(Status)를 Package 5를 DM 서버에 전송한다.
17. DM 서버는 DM 클라이언트에 대한 응답으로 아무 명령 없이 Package 6을 전송한다.
18. DM 클라이언트는 DL 클라이언트를 실행한다.
한편, 백그라운드 모드로 진행되는 경우에는 상기 포어그라운드 진행 절차에서 사용자 메세지 표시가 제외되고 진행된다.
2-2) DL 세션
DL 세션은 전술한 "(3) 펌웨어 업데이트 절차"의 DL 세션을 참조한다.
2-3) Installer Processing
Installer는 소프트웨어 관리 절차를 진행 한다.
도55(a)에는 포워그라운드 모드로 진행되는 절차를 도시하며, 그에 대한 설명은 아래와 같다.
1. DM/DL 클라이언트는 Installer를 실행한다.
2. Installer는 소프트웨어 관리패키지가 있음을 확인한다.
3. 단말기는 사용자에게 업데이트를 진행을 위한 [메세지7]을 표시한다.("컨텐츠 업데이트를 진행합니다.")
4. Installer는 패키지를 설치한다.
5. Installer는 작업완료 후 DM/DL 클라이언트에게 작업 결과를 전달한다.
6. 사용자에게 업데이트 결과를 알리기 위한 [메세지8]을 표시한다.("컨텐츠 업데이트를 완료하였습니다.[확인]")
도55(b)에는 백그라운드 모드로 진행되는 절차를 도시하며, 그에 대한 설명은 아래와 같다.
1. DM/DL 클라이언트는 Installer를 실행한다.
2. Installer는 소프트웨어 관리패키지가 있음을 확인한다.
3. Installer는 패키지 설치 작업을 진행한다.
4. Installer는 DM/DL 클라이언트에게 작업 결과를 전달한다.
2-4) DM 세션 - 작업 결과 통지
작업 결과 통지는 사용자에게 알리지 않고 진행할 수 있다. 전술한 "(3) 펌웨어 업데이트 절차"의 "DM 세션 - 작업 결과 통지"를 참조한다.
(5) 단말기 제어(Control) 관리 절차
1) 연동 정책
단말기 제어 관리의 시작은 DM 서버에서 시작하는 방법으로 이루어질 수 있다. DM 서버가 통지(Notification) 메세지를 이용하여 단말기 제어 항목이 있음을 알릴 수 있다.
2) 절차
도56에 그 절차를 도시 하였으며, 그에 대한 설명은 아래와 같다.
1. DM 클라이언트는 Package 1을 구성하여 DM 서버에 접속 한다.
2. DM 서버는 DM 클라이언트를 인증한다.
a. DM 서버가 DM 클라이언트를 인증하지 못하면, DM 서버는 Credential을 재 요구하는 Challenge 절차를 한번 더 진행한다.
b. 성공하면 정상 진행하고, 실패하면, Status Code 401(Unauthorized)를 전송한 후 세션을 종료한다.
3. DM 서버는 Package 2를 구성하여, DM 클라이언트에게 전송한다.
4. DM 클라이언트는 DM 서버 인증 및 Package 2에 대한 명령을 수행한다.
5. DM 클라이언트는 단말기로 단말기구성 항목 조회/실행을 요청한다.
6. 단말기는 DM 클라이언트로 단말기구성 항목 조회/실행 결과를 전달한다.
7. DM 클라이언트는 DM 서버로 Package 3을 생성한다.
8. DM 클라이언트는 Package 3를 전송한다.
9. DM 서버는 단말기에 대한 단말기구성 작업 결과를 저장한다.
10. DM 서버는 Package 4를 DM 클라이언트에게 전송하여 DM 세션을 종료한다.
11. DM 클라이언트는 종료한다.(이때, 단말기는 제어 명령을 수행하기 위해 재 시동이 필요한 경우 재시동함)
(6) 진단/모니터링(DiagMon) 관리 절차
1) 연동 정책
1-1) 진단/모니터링 관리 시작 방법
관리 시작은 3가지로 아래와 같다.
a. 스마트 폰에서 시작(진단/모니터링 데이터)
① 스마트 폰 Application이 진단/모니터링 시작 요청
② DM 서버는 DM 클라이언트에 진단/모니터링 시작 요청
③ DM 클라이언트는 진단/모니터링 Agent에 진단/모니터링 시작 요청
④ 진단/모니터링 Agent는 진단/모니터링 데이터 수집
⑤ 진단/모니터링 Agent는 데이터를 Report Server에 결과 저장
⑥ Report Server는 DM 서버에 알림
⑦ DM 서버는 스마트폰 Application으로 데이터 전달하거나, 또는 스마트폰에서 오픈 API를 통해 DM서버에 접속하여 결과를 조회할 수도 있음.
b. Admin Portal에서 시작(진단/모니터링 데이터)
① Admin Portal에서 진단/모니터링 시작 요청
② DM 서버는 DM 클라이언트에 진단/모니터링 시작 요청
③ DM 클라이언트는 진단/모니터링 Agent에 진단/모니터링 시작 요청
④ 진단/모니터링 Agent는 진단/모니터링 데이터 수집
⑤ 진단/모니터링 Agent는 데이터를 Report Server에 결과 저장
⑥ Report Server는 DM 서버에 알림
⑦ DM 서버는 Admin Portal로 데이터 전달
c. 단말기(LCD 화면)에서 시작(진단/모니터링 데이터)
① 사용자가 단말기 화면에서 진단/모니터링 Agent 실행
② 진단/모니터링 Agent는 진단/모니터링 데이터 수집
③ 진단/모니터링 Agent는 DM 클라이언트 실행
④ DM 클라이언트는 Alert로 DM서버에 결과 보고
⑤ DM 서버는 진단/모니터링 데이터 획득하여 Report Server에 저장
1-2) 진단/모니터링 데이터 보고 방법
단말기의 진단/모니터링 Agent는 DM 클라이언트로부터 Report Server URL을 받아 데이터 수집 후, Report Server로 데이터 전송한다. 이때, 단말기에서 Report Server로 전달되는 정보는 아래와 같다.
a. 단말기에서 전달되는 정보
① HTTP 방식으로 통신(POST 사용)
② HTTP Header : DevID="Random Value";DevType=Code;DiagMonType="Monitoring or Diagnostic"
③ 단말기 타입(Device Type)
DM 서버 관점에서 DiagMon 데이터 관리 방식은 아래와 같다.
a. DM 서버는 DiagMon 데이터를 파일로 관리함(파일 리스트만 표기함)
b. 상태 정보
① 파일 Index
② Device ID
③ 단말기 타입(Device Type)
④ 작업 실행 시간(LCD에서 진행되는 경우 데이터 없음)
⑤ 파일 업로드 시간
1-3) Result Code에 대한 정의
DM 서버로 보고되는 Result Code를 아래의 표에 나타냈다. Result Code는 진단/모니터링 관리작업이 진행되는 동안이나 또는 완료될 때 발생되는 사항에 대하여 DM 클라이언트가 DM 서버로 결과를 보고하기 위한 것이다.
제조사 또는 사업자 영역의 Result Code를 추가로 정의하여 사용할 수 있다.
Result Code | Meaning | Usage |
1200 | 성공 | DiagMon 기능이 성공적으로 동작 (수집한 DiagMon 데이터 없음) |
1201 | 성공-데이터 있음 | DiagMon 기능이 성공적으로 동작, (수집한 DiagMon 데이터 있음) |
1240 -1249 | 성공-공급업체 지정 | 공급업체가 지정한 Result Code동작이 성공함 |
1250-1259 | 성공-DiagMon Framework Future Releases Specified | 성공 |
1260-1299 | 성공-DiagMon Function Specified | 성공 |
1400 | 실패 | DiagMon Stop/Start 동작 실패 |
1401 | 인증 안됨 | 해당 동작 명령어에 대한 서버 권한 없음 |
1402 | 구현 안됨 | 단말기가 해당 동작 명령어에 대한 구현 안됨 |
1403 | 실패-메모리 초과 | DiagMon이 동작하기 위한 단말기의 메모리(RAM) 공간이 불충분하여 동작 실패 |
1404 | 실패-저장공간 부족 | 실패-저장 공간 부족으로 동작 실패 DiagMon 데이터를 저장하기 위한 단말기의 저장공간이 불충분하여 DiagMon 기능이 종료됨 |
1440-1449 | 실패-공급업체 지정 | 공급업체가 지정한 Result Code동작이 실패 |
1450-1459 | 실패-DiagMon Framework Future Releases Specified | 실패 |
1460-1499 | 실패-DiagMon Function Specified | 실패 |
진단 관리를 위해 DM 서버의 명령어가 전달되면, 단말기의 DiagMon Agent는 Diagnostics and Monitoring Function을 시작한다. 단말기의 DiagMon Agent 는 Diagnostics and Monitoring Function를 수행이 완료되거나, DM 서버의 명령어 수행을 시작하지 못하면 결과 전송을 위해 Generic Alert를 사용한다.
a. DM 클라이언트의 결과 통지 구성
- Generic Alert(1226)을 이용하여 구성됨
- Alert Type : "urn:oma:at:diagmon:1.0:OperationComplete" 사용
- DiagMon Function Exec Opreation URL: DiagMon의 Function의 동작 명령 경로
- TotalDiagFunc 이면 진단
- TotalMonFunc 이면 모니터링
- DiagMon Data의 URL : DiagMon 데이터의 경로
- Result Code
2) 절차
2-1) DM 서버에 의한 시작 절차
도57에는 DM 서버에 의한 진단/모니터링 절차에 대해 도시하였으며, 그에 대한 설명은 아래와 같다.
1. DM 클라이언트는 Package 1을 구성하여 DM 서버에 접속 한다.
2. DM 서버는 DM 클라이언트를 인증한다.
a. DM 서버가 DM 클라이언트를 인증하지 못하면, DM 서버는 Credential을 재 요구하는 Challenge 절차를 한번 더 진행한다.
b. 성공하면 정상 진행하고, 실패하면, Status Code 401(Unauthorized)를 전송한 후 세션을 종료한다.
3. DM 서버는 Package 2를 구성하여, DM 클라이언트에게 전송한다.
4. DM 클라이언트는 DM 서버 인증 및 Package 2에 대한 명령을 수행한다.
5. DM 클라이언트는 단말기의 DiagMon Agent로 진단/모니터링 시작/종료를 요청한다.
6. DiagMon Agent는 DM 클라이언트로 진단/모니터링 시작/종료 결과를 전달한다.
7. DM 클라이언트는 DM 서버로 Package 3을 생성한다.
8. DM 클라이언트는 Package 3를 전송한다.
9. DM 서버는 단말기에 대한 진단/모니터링 작업 결과를 저장한다.
10. DM 서버는 Package 4를 DM 클라이언트에게 전송하여 DM 세션을 종료한다.
11. DM 클라이언트는 종료한다.
2-2) 단말기에 의한 시작절차 - 진단 데이터 수집
단말기의 엘시디 화면을 통해 진단을 시작할 수 있으며, 그 절차를 도58에 나타내었다. 도58에 도시된 절차에 대한 설명은 아래와 같다.
1. 사용자가 단말기 화면(LCD)에서 진단 시작한다.
2. 단말기의 DiagMon Agent는 진단 데이터 수집한다.
3. DiagMon Agent는 DM 클라이언트에게 진단 데이터 수집 완료를 알린다.
4. DM 클라이언트는 Package 1을 구성하여 DM 서버에 접속 한다.(Alert 1226사용)
5. DM 서버는 DM 클라이언트를 인증한다.
a. DM 서버가 DM 클라이언트를 인증하지 못하면, DM 서버는 Credential을 재 요구하는 Challenge 절차를 한번 더 진행한다.
b. 성공하면 정상 진행하고, 실패하면, Status Code 401(Unauthorized)를 전송한 후 세션을 종료한다.
6. DM 서버는 Package 2를 구성하여, DM 클라이언트에게 전송한다.(진단 데이터 Get 함)
7. DM 클라이언트는 DM 서버 인증 및 Package 2에 대한 명령을 수행한다.
8. DM 클라이언트는 단말기의 DiagMon Agent로 진단데이터를 요청한다.
9. DiagMon Agent는 DM 클라이언트로 진단데이터를 전달한다.
10. DM 클라이언트는 DM 서버로 Package 3을 생성한다.
11. DM 클라이언트는 Package 3를 전송한다.
12. DM 서버는 단말기에 대한 진단 작업 결과를 저장한다.
13. DM 서버는 Package 4를 DM 클라이언트에게 전송하여 DM 세션을 종료한다.
14. DM 클라이언트는 종료한다.
2-3) 진단데이터 전송절차
단말기의 DiagMon Agent는 단말기 화면(LCD)에서 진단을 시작한 경우를 제외하고는 진단/모니터링 데이터를 Report Server에 직접 전달한다. 본 절차는 DM 클라이언트와 DM 서버 간의 연동은 발생하지 않는다.
도59는 진단데이터 전송 절차를 도시하며, 이에 대해 설명하면 다음과 같다.
1. 단말기의 DiagMon Agent가 DM클라이언트의 요청에 의해 진단/모니터링 데이터를 수집한다.
2. 단말기의 DiagMon Agent는 진단/모니터링 데이터 수집을 완료한다.
3. 단말기의 DiagMon Agent는 진단/모니터링 데이터를 Report Server로 전송한다.(전술한 "2-2) 단말기에 의한 시작절차 - 진단 데이터 수집" 참조)
4. Report Server는 진단/모니터링 데이터 수집 완료를 DM 서버에 알린다.
(7) 백업/복원(Backup/Restore) 관리 절차
1) 연동 정책
백업/복원를 통해 푸드리스트 또는 쇼핑리스트의 관리를 위해서는 크게 3가지의 연동 포인트를 갖는다.
a. DM 서버와 스마트폰의 어플리케이션(Food Management) 연동
- DM 서버의 Open API를 통해 처리됨
b. DM 클라이언트와 DM 서버 간의 연동
- OAM DM Protocol 이용함
c. DM 클라이언트와 단말기(냉장고) 어플리케이션(Food Management) 간의 연동
- DM 클라이언트의 Interface 호출을 통해 처리됨
1-1) 관리 시작 방법
백업/복원 관리의 시작 주체는 DM 클라이언트이며, DM 세션 모드는 백그라운드 모드로 진행할 수 있다.
단말기는 백업/복원 대상에 대해 백업/복원 요청을 하며, DM 클라이언트는 해당 Alert 메시지를 DM 서버로 전달한다.
1-2) 백업/복원 요청 방법
DM 서버로 요청되는 DM 클라이언트의 요청 방법은 Generic Alert을 사용한다. 이때, DM 클라이언트는 DM 서버에게 Backup 요청인지 Restore 요청인지를 구분하기 위해 아래와 같이 사용한다.
a. DM 클라이언트의 Restore 요청 통지 구성
- Generic Alert(1226)을 이용하여 구성됨
- Alert Type : "lge.dm.backuprestore.userrequest"사용(LGE 표준)
- Source :./ BackupRestore/Refrigeration
- Target : ./BackupRestore/Refrigeration/FoodList
- Request Code : 1000(Restore)
b. DM 클라이언트의 Backup 요청 통지 구성
- Generic Alert(1226)을 이용하여 구성됨
- Alert Type : "lge.dm.backuprestore.userrequest" 사용(LGE 표준)
- Source :./ BackupRestore/Refrigeration
- Target : ./BackupRestore/Refrigeration/FoodList
- Request Code : 2000(Backup)
2) 절차
절차는 DM 클라이언트에 의한 시작으로 2가지가 있다.
a. DM 클라이언트가 DM 서버로 복원 요청
b. DM 클라이언트가 DM 서버로 백업 요청
2-1) 복원 연동 절차
복원 절차는 도60에 나타내었으며, 그에 대한 설명은 아래와 같다.
1. 사용자는 단말기의 Food Management를 실행한다.
2. Food Management는 DM 클라이언트에게 푸드리스트 데이터를 요청한다.
3. DM 클라이언트는 Package 1을 구성하여 DM 서버에 접속 한다.(Generic Alert 전송 - 복원 요청)
4. DM 서버는 DM 클라이언트를 인증한다.
a. DM 서버가 DM 클라이언트를 인증하지 못하면, DM 서버는 Credential을 재 요구하는 Challenge 절차를 한번 더 진행한다.
b. 성공하면 정상 진행하고, 실패하면, Status Code 401(Unauthorized)를 전송한 후 세션을 종료한다.
5. DM 서버는 Package 2를 구성하여, DM 클라이언트에게 전송한다.(해당 복원 노드에 대해 Replace로 전송)
6. DM 클라이언트는 DM 서버 인증 및 Package 2에 대한 명령을 수행한다.
7. DM 클라이언트는 단말기의 Food Management로 푸드리스트 데이터를 전달한다.
8. Food Management는 DM 클라이언트에게 푸드리스트 데이터 수신 성공을 전달한다.
9. DM 클라이언트는 DM 서버로 Package 3을 생성한다.
10. DM 클라이언트는 Package 3를 전송한다.
11. DM 서버는 단말기에 대한 복원 작업 결과를 저장한다.
12. DM 서버는 Package 4를 DM 클라이언트에게 전송하여 DM 세션을 종료한다.
13. DM 클라이언트는 종료한다.
2-2) 백업 연동 절차
백업 연동 절차는 도61에 도시하였으며, 그에 대한 설명은 아래와 같다.
1. 사용자는 단말기의 Food Management를 종료한다.
2. Food Management는 DM 클라이언트에게 푸드리스트 데이터 저장을 요청한다.
3. DM 클라이언트는 Package 1을 구성하여 DM 서버에 접속 한다.(Generic Alert 전송 - 백업 요청)
4. DM 서버는 DM 클라이언트를 인증한다.
a. DM 서버가 DM 클라이언트를 인증하지 못하면, DM 서버는 Credential을 재 요구하는 Challenge 절차를 한번 더 진행한다.
b. 성공하면 정상 진행하고, 실패하면, Status Code 401(Unauthorized)를 전송한 후 세션을 종료한다.
5. DM 서버는 Package 2를 구성하여, DM 클라이언트에게 전송한다.(해당 백업 노드에 대해 Get 전송)
6. DM 클라이언트는 DM 서버 인증 및 Package 2에 대한 명령을 수행한다.
7. DM 클라이언트는 단말기의 Food Management로 푸드리스트 데이터를 요청한다.
8. Food Management는 DM 클라이언트에게 푸드리스트 데이터를 전달한다.
9. DM 클라이언트는 DM 서버로 Package 3을 생성한다.
10. DM 클라이언트는 Package 3를 전송한다.
11. DM 서버는 단말기에 대한 백업 작업 결과를 저장한다.
12. DM 서버는 Package 4를 DM 클라이언트에게 전송하여 DM 세션을 종료한다.
13. DM 클라이언트는 종료한다.
이하에서는 관리 객체(Management Object)에 대해 설명한다.
단말(본 실시예의 경우 가전제품들)을 관리하기 위하여 관리 포인트를 정의하여야 하는데 이를 관리 객체라 한다. 즉, 임의의 서비스를 제공하는 단말을 제작하면, 이를 원격에서 관리하기 위한 관리 항목들을 정의해야 한다.
OMA DM 표준 문서에서 "OMA Device Management Standardized Objects"는 표준 관리 객체에 대하여 정의된 문서이고, 추가적 관리 객체를 정의하기 위한 지침서로 "OMA Device Management Tree and Description"을 제공한다.
"OMA Device Management Standardized Objects"이라는 표준 문서에 표준 관리 객체의 내용은 계정 관리를 위한 "DM Account" 관리 항목, 단말 정보를 나타내는 "DevInfo", "DevDetail"이라는 필수 관리 객체 및 "Inbox"라는 선택적 관리 객체를 정의하고 있다.
아래에서는 DMS 서비스를 위한 추가적 표준 관리객체, 사업자용 관리객체를 정의한다.
(1) 단말 표준관리객체(Device Standized MO)
단말 관리 객체는 "OMA DM management standardized objects version 1.2"를 따르는 표준 단말 관리 객체로 DMAcc, DevInfo, DevDetail 관리 객체를 가진다.
1) DM Account 관리항목
DMAcc관리 객체는 단말 관리 서버와 통신하기 위한 정보를 관리한다. 각 노드의 정보들은 부트스트래핑 과정에서 정보가 등록된다. 노드 <x>는 placeholder로 해당 사업자의 이름이 설정된다.
2) DM DevInfo 관리항목
단말의 기본정보를 관리하는 항목이다. 단말의 기본 정보는 DM 서버와 관리 세션의 인증 과정에 항상 DM 서버로 전송된다.
3) DM DevDetail 관리항목
단말의 상세정보를 관리하는 관리객체이다.
DM 클라이언트의 관리를 위해 Ext 노드에 추가적 노드를 정의한다.
- DmcLog : DM 클라이언트의 Log 데이터 저장
- DmcPeriod/URL : DM 클라이언트가 DM 서버에 접속하기 위한 서버 주소
- DmcPeriod/State : DM 클라이언트가 DM 서버에 접속 활성/비활성 상태
- DmcPeriod/Interval : DM 클라이언트가 DM 서버에 접속하기 위한 간격(단위:Second)
- DmcPeriod/Duration : DM 클라이언트가 DM 서버에 접속 후, 세션 유지시간(단위:Second)
DM 클라이언트의 주기적 접속은 Daemon에 의해 처리된다. 즉, Daemon이 State(=On), Interval(=5)이면 DM 서버(또는 Connection Manager)에 5초 간격으로 접속한다. 이때, 단말 정보로 DevID(Body에 DevID="Value")를 전송한다.
- DM 서버에 작업이 있는 경우 : Notification 메시지 전달
- DM 서버에 작업이 없는 경우 : 아무 처리 하지 않음
(2) 펌웨어 업데이트
펌웨어 업데이트를 위한 관리 객체는 FUMO(Firmware Update Management Object) 관리 객체를 사용한다.
(3) 소프트웨어 관리
소프트웨어 관리 객체는 SCoMO 관리 객체를 사용한다.
소프트웨어 관리 작업은 3가지로 아래와 같다.
a. 설치하는 경우, DM 서버는 Inventory/Deployed/<X>/Version를 Get하면, DM 클라이언트는 "404[Not Found]"를 전송하며 DM 서버는 설치 진행(X는 SW ID)
b. 업데이트 경우, DM 서버는 Inventory/Deployed/<X>/Version를 Get하여 버전정보를 획득 후, 업데이트 유무 결정 후 업데이트 진행(X는 SW ID)
c. 삭제하는 경우, DM 서버는 Inventory/Deployed/<X> 또는 Inventory/Deployed/<X>/ID(or Version)를 Get하여 정보를 확인, 삭제 유무 결정 후 삭제 진행(X는 SW ID)
소프트웨어 관리 대상은 아래와 같다.
a. 소프트웨어 자체 관리
① 설치/업데이트/삭제 가능
b. 소프트웨어에 따른 컨텐츠(설정값) 관리
① 업데이트만 가능
② 설치/삭제는 해당 소프트웨어가 해당 작업이 처리되는 경우 동시에 처리됨
컨텐츠 관리 작업은 아래와 같다.
a. 소프트웨어 패키지를 통해 설치하는 경우, 소프트웨어 패키지에 포함되어 배포되며 DM 클라이언트가 버전 정보 기록-추후 협의
b. 업데이트 경우, DM 서버는 Inventory/Deployed/<X>/Ext/ContentsVer를 Get하여 버전정보를 획득 후, 업데이트 유무 결정 후 업데이트 진행(X는 SW ID)
- DM 서버는 Inventory/Deployed/<X>/Ext/ContentsVer의 버전 정보를 변경하고자 하는 버전 정보로 변경(Replace) 함
- DM 서버는 Inventory/Deployed/<X>/Ext/DownOperation/PkgURL의 DD 값을 변경(Replace) 함
- DM 서버는 Inventory/Deployed/<X>/Ext/DownOperation의 노드를 실행함
c. 삭제하는 경우, 해당 소프트웨어가 삭제되면 자동 삭제됨
소프트웨어 및 컨텐츠 관리 방안은 아래와 같다.
a. 세탁기(Pre-Load S/W 만 관리함)
① 대상 : 코스 정보 관리 소프트웨어
② 관리 방안
- 코스 정보를 관리하는 소프트웨어 노드를 포팅시 생성함(추후, 다른 코스 관리 소프트웨어가 배포되는 경우를 대비함)
- 세탁 코스 정보는 컨텐츠(파일)로 배포
b. 냉장고(Pre-Load S/W 만 관리함)
① 대상 : Recipe Display 소프트웨어
② 관리 방안
- Recipe Display 소프트웨어 노드를 포팅시 생성함(추후, 다른 Recipe Display 소프트웨어가 배포되는 경우를 대비함)
- Recipe 정보는 컨텐츠(파일)로 배포
소프트웨어가 설치될 때 Alternative Download Mechanism을 이용하여, Download와 Install은 동시에 발생한다.
소프트웨어를 위한 Node는 크게 3가지로 나누어지며, 사용 여부는 아래와 같다.
a. Download: 사용함(Deployed의 해당 노드(SW ID)가 삭제되기 전까지 유지함)
- <x> :SwID로 사용(패키지 ID는 없음)
- PkgURL: DL 서버 URL 전달을 위해 사용
- Status: 소프트웨어 배포 상태로 사용(단, 설치 실패인 경우만 사용됨-"60")
- Operations: DownloadInstall, DownloadInstallInactive 사용(단, 설치 후 동작 여부는 소프트웨어 특성에 의해 판단되어야 함)
b. Inventory/Delivered : 사용 안 할 수 있음
c. Inventory/Deployed: 사용함
- <x> :SwID로 사용(Download의 <x>와 같은 값)
- ID : SwID로 사용
- Name : 사용
- Description : 사용
- Version : 사용
- State : 사용 안함
- Operation : Activate(사용 안 할 수 있음), Deactivate(사용 안 할 수 있음), Remove(사용함)
- Ext: Contents 추가하여 사용(Alternative Download 사용)
- Ext: ContentsVer 추가하여 사용(서버 관점에서 배포 성공여부 판단함)
(4) DiagMon 관리항목
단말기의 진단관리를 위한 관리객체이다.
(5) Control 관리항목
단말기의 기능을 제어하기 위한 관리객체이다.
(6) 백업/복원(Backup/Restore) 관리항목
단말기에 사용자 데이터를 서버로 백업 또는 복원하는 관리객체이다.
파일 데이터로 백업/복원이 이루어지는 관계로 OS 및 DM 설정에 따른 제약을 받는다.
a. Large Object로 처리됨으로 DM 설정에 크기 조정이 필요
b. Large Object로 처리됨으로 OS의 Heap Memory 크기에 정의
c. DM 설정과 OS의 Heap Memory의 교집합에 의해 백업/복원되는 파일 크기가 정의됨
d. 냉장고의 LCD화면에서 Shopping/Food List가 추가되는 경우, 해당 Application은 DM 클라이언트를 반드시 호출해야함(DM 서버의 정보와 동기화를 위해)
이하에서는 DMS 관리 서비스의 대상이 될 세탁기 또는 냉장고에 대한 DM 클라이언트 API 규격에 대해 설명한다.
(1) 세탁기 - 임베디드시스템과 DM 클라이언트 및 DM 데몬 사이의 인터페이스
세탁기의 임베디드 시스템과 DM Client/DM Daemon 사이의 인터페이스에 방법에 대해 개괄적으로 설명한다.
세탁기의 DM Client/DM Daemon이 포함될 임베디드 시스템의 계층적 구조는 도62과 같다. 단말기(세탁기)에 대한 구조는 DM 클라이언트 관점에서 약식으로 표시한 것이며, 제조사 별로 차이가 있을 수 있다.
DM Client Application은 세탁기 환경에 맞게 구현되는 DM Client 어플리케이션이다.
DM Daemon Application은 DM Client의 동작에 관여하여 DM Server의 메시지나 DM Client의 예외처리 등을 담당하는 어플리케이션이다.
Interface Layer는 임베디드 시스템과 DM Client/DM Daemon 사이의 인터페이스를 담당하는 계층으로 공유 라이브러리를 사용하여, 개발사가 규격에 맞게 구현하여 제공할 수 있다.
Base Platform I/F는 DM Server와 DM Client, DM Daemon 등에서 최소로 필요로하는 세탁기 정보를 획득하기 위한 인터페이스이다.
Firmware I/F는 펌웨어 업데이트를 위한 인터페이스이다.
Control I/F는 세탁기의 제어를 위한 인터페이스이다.
Software I/F는 세탁기의 소프트웨어 관리를 위한 인터페이스(세탁 코스 컨텐츠 파일 업데이트 관리)이다.
DiagMon I/F(진단/모니터링)는 세탁기의 진단/모니터링을 위한 인터페이스이다.
OS Platform은 세탁기의 DM Client/DM Daemon이 설치되는 운영체제이다. 상기 운영체제는 리눅스(Linux)일 수 있다.
Upgrade Agent는 세탁기의 펌웨어를 업데이트 하기 위한 에이전트로서, 제조사 별로 단말기에 맞게 구현될 수 있다.
Washer/Dryer Hardware는 세탁기의 하드웨어로 Wi-Fi USB, LCD 등으로 구분될 수 있다.
1) 세탁기 단말관리 내용
세탁기의 단말관리 서비스는 아래의 표와 같다.
DM 서비스 | 세탁기(Embedded Linux) | |
펌웨어 업데이트 |
. 업데이트 패키지 크기 : 약 40MB . 업데이트 패키지 구성 : tar로 패키징(Display 부분 바이너리 + Micom 바이너리) . 동작 방법 - 재시작 전에 파일시스템에 업데이트 파일 쓰고, 재시작 함 - 재시작 전에 업데이트 결과를 DM 클라이언트에 전달 . 시작 방법: DM 서버 |
|
소프트웨어 관리(컨텐츠 포함) |
. 세탁 코스 관리 소프트웨어(Pre-Load됨)의 코스 파일 관리 . 컨텐츠 데이터 형태: 하나의 패키지 파일로 관리함(파일 하나당 약 1KB 이하) . 시작 방법: DM 서버, 단말기(LCD화면에서 선택) |
|
단말제어 관리 | . 세탁기 전원 On/Off . 세탁기 동작 On/Off . 시작 방법 : DM 서버 |
|
단말진단/모니터링 관리 | 진단 | . 진단 데이터로 한번 발생 . 모든 데이터를 DB에 저장함 . Smart Phone에서는 최신 데이터만 전달함 . 시작 방법: Smart Phone, 단말기(LCD) |
모니터링 | . 동작 상태 정보로 여러 번 발생 . 최근 정보만 DB에 저장 . 시작 방법: Smart Phone |
2) 어플리케이션 간의 연동 방안
단말기에 대한 단말 관리를 위한 Application 간의 연동 방안에 대해 도63에 나타냈다. DM 클라이언트는 Shared Library를 통해 단말기에 대한 단말 관리를 진행하며, 제조사는 Shared Library를 구현해야 한다.
3) 단말관리를 위한 API 규격에 따라 API를 구현하여 DM Client/DM Daemon이 정상적인 동작이 가능하도록 보장할 필요가 있다. 특히, DM Client/DM Daemon의 사용자는 root로 설치되는 것이 바람직하며, 단말기의 시스템 부팅이 완료되면 DM Daemon을 항상 실행하도록 하는 것이 바람직하다.
4) API 구성
이하에서는 세탁기의 Embedded Linux 시스템과 DM Client/DM Daemon 사이의 인터페이스를 위한 API 규격을 설명한다.
4-1) 세탁기의 기본 정보를 확인하기 위한 API로서 다음과 같은 함수가 이용될 수 있다.
getDMcPath : DM Client에서 사용되는 파일의 경로를 획득하기 위한 함수로서, DM Client가 사용하는 디폴트 디렉토리 경로(절대 경로)를 얻기 위한 함수이다. 이 경로는 DM Client와 관련된 파일들이 위치하는 곳으로 읽기/쓰기가 가능하도록 함이 바람직하며, 시스템 초기화, 펌웨어 업데이트, 단말기 리부팅 등과 상관없이 유지되도록 함이 바람직하다.
getDMcFreeSize : DM Client에서 사용되는 파일 경로의 현재 저장 가능한 크기를 획득하기 위한 함수이다.
getDeviceId : 관리 대상 단말기의 고유 ID를 획득하기 위한 함수이다.
getDeviceType : 관리 대상 단말기의 종류를 획득하기 위한 함수이다.
getManufact : 관리 대상 단말기의 제조사 정보를 획득하기 위한 함수
getModelName : 관리 대상 단말기의 모델이름을 획득하기 위한 함수이다. 제품 출시후 사용되는 일반적인 모델명일 수 있다.
getLanguage : 관리 대상 단말기에 사용되는 언어를 획득하기 위한 함수이다.
getSoftwareVer : 관리 대상 단말기의 시스템의 소프트웨어(OS) 버전을 획득하기 위한 함수이다.
getHardwareVer : 관리 대상 단말기의 시스템 하드웨어 버전을 획득하기 위한 함수이다.
getOEM : 관리 대상 단말기의 주문 생산자 정보를 획득하기 위한 함수이다.
4-2) 펌웨어 업데이트 관련 API
getFirmwareVer : 스마트 가전 단말기의 시스템의 펌웨어 버전을 획득하기 위한 함수
getFirmwarePath : 펌웨어 업데이트를 위한 펌웨어 데이터 파일을 저장할 경로를 획득하기 위한 함수이다. 이 경로는 펌웨어 데이터를 저장할 파일 시스템의 절대 경로를 의미한다. DM Client는 다운로드 받는 펌웨어 데이터를 이 위치에 저장하게 된다. 펌웨어 업데이트 실행을 요청하기 전까지는 DM Client가 펌웨어를 다운로드하고, 패키지에 대한 오류를 검증하므로, 펌웨어 데이터 파일은 이 경로에 유지되도록 함이 바람직하다.
getFirmwareFreeSize : 펌웨어 업데이트를 위한 펌웨어 데이터 저장 경로의 현재 저장 가능한 크기를 획득하기 위한 함수이다.
setFirmwareTotalSize : 펌웨어 데이터를 다운로드될 전체 크기를 전달하기 위한 함수이다. 단말기의 GUI를 통해 Progress Bar를 표현하는 경우 사용될 수 있다.
setFirmwareCurSize : 펌웨어 데이터의 다운로드된 크기를 전달하기 위한 함수이다. 다운로드 받은 데이터를 저장할 때마다 호출한다. 잦은 UI 호출을 방지하기 위해 호출 주기가 500ms 이상인 경우에만 호출하도록 한다 (단, 다운로드를 완료한 경우에는 호출 주기에 상관없이 호출되도록 한다). 단말기의 GUI를 통해 Progress Bar를 표현하는 경우 사용될 수 있다.
runFirmwareUp : 펌웨어 업데이트를 진행 하도록 펌웨어 업데이트 에이전트를 실행하기 위한 함수이다. DM Client가 이 함수를 호출하게 되면, 즉시 리턴되어야 하며, 리턴 즉시 DM Client 프로세스는 종료되므로 업데이트를 진행하면 된다. 펌웨어 데이터는 파일로 전달되며, 업데이트 후에는 이 파일은 업데이트 에이전트가 삭제하도록 한다. 펌웨어 업데이트가 완료되면, 펌웨어 결과전달 요청을 위해 DM Client 프로세스를 실행하도록 한다.
setFirmwareProcessState : 펌웨어 업데이트가 진행 중에 네트워크 실패, 서버 연결 실패 등의 이유를 전달하기 위한 함수이다. GUI를 통해 Progress Bar를 표현하는 경우 사용될 수 있다.
4-3) 제어를 위한 API
세탁기를 제어하기 위한 API로서, 다음과 같은 함수를 포함할 수 있다.
runPowerOff : 스마트 가전 단말의 전원을 끄기 위한 함수이다. 전원 Off하기 전에 즉시 리턴하도록 한다.
getPowerState : 전원 상태를 획득하기 위한 함수이다.
setPowerState : DM 클라이언트에서 사용하지 않는 함수로서, 전원 상태를 저장하기 위한 함수이다.
getOperationState : 동작 상태를 획득하기 위한 함수이다.
setOperationState : 동작 상태를 설정하기 위한 함수이다. 동작 상태는 "동작 중"과 "정지"로 구분할 수 있다.
startOperation : 단말기를 구동하기 위한 함수이다.
stopOperation : 단말기의 구동을 중지하기 위한 함수이다.
4-4) 소프트웨어 관리를 위한 API
예컨대, 세탁코스의 설정을 변경하기 위한 API이다.
setWasherCourse : 세탁기의 코스설정 파일을 전달하여 설정을 변경하는 함수이다. DM Client가 세탁기 코스설정 파일을 다운로드 완료 한 후, 호출하는 함수이며, 파일이름은 절대 경로를 포함한다.
4-5) 단말기 진단/모니터링 관련 API
startDiagMon : 진단/모니터링 시작을 요청하는 함수이다. 진단/모니터링은 진단/모니터링 어플리케이션에 의해 수행된다. 진단/모니터링 어플리케이션을 구동한 후, 즉시 리턴하도록 한다. 진단/모니터링 데이터는 진단/모니터링 어플리케이션이 직접 Report 서버에 전송한다. 다만, 단말기의 화면을 통해 진단이 진행된 경우 Report 서버에 전송하지 않고 DM 클라이언트 실행한다.
stopDiagMon : 진단/모니터링 종료를 요청하는 함수이다.
getDiagMonState : 진단/모니터링의 동작 상태정보를 획득하기 위한 함수이다.
setDiagMonState : 진단/모니터링의 동작 상태정보를 설정하기 위한 함수이다. 그 상태정보는 "동작 중"과 "동작 중이 아님"을 포함할 수 있다.
getDiagMonData : 진단/모니터링 데이터를 획득하기 위한 함수이다. 진단/모니터링 어플리케이션에 의해 수행된 결과 데이터를 획득한다. 진단/모니터링 데이터는 최종으로 수행한 데이터를 획득하는 것이 바람직하다.
5) DM 클라이언트 제공 인터페이스
DM Client는 어플리케이션으로 제공되고, DM Daemon 또는 펌웨어 결과전달, 세탁 코스, 진단결과전달 요청 등에 의해 프로세스로 실행될 수 있도록 다음과 같은 인터페이스가 제공된다.
5-1) 펌웨어 결과전달 요청
펌웨어 업데이트를 완료한 후, 그 결과를 DM Client에게 전달하는 방법이다. 펌웨어 관리를 위해서는 펌웨어 업데이트 결과를 서버에 전달해야 하며, 이를 위해 업데이트가 완료되면 DM Client 실행파일을 실행해야 하도록 한다(즉, DM Client 프로세스를 실행해야 함. DM Client를 실행한 후에는 DM Server에 결과가 정상적으로 전달될 수 있도록 DM Client 종료될 때까지 시스템이 종료되지 않도록 한다.
5-2) 펌웨어 시작 요청
스마트 가전 단말인 펌웨어 업데이트를 DM Client에게 요청하는 방법이다.
세탁기의 화면에서 펌웨어 업데이트를 요청하면, 서버에 업데이트될 펌웨어가 있는 경우, 이를 다운로드 받도록 하기 위해, 화면에서 펌웨어 업데이트 요청되면 DM Client 실행파일을 실행하도록 한다.
DM Client를 실행한 후에는 DM Server로부터 펌웨어 업데이트가 정상적으로 전달될 수 있도록 DM Client 종료될 때까지 대기하도록 하고, 펌웨어 업데이트 패키지가 다운로드 완료되면, DM Client는 펌웨어 업데이트패키지 다운로드를 알린다.
5-3) 세탁 코스 요청
세탁기의 세탁 코스 업데이트를 DM Client에게 요청하는 방법이다.
세탁기의 화면에서 세탁 코스 업데이트를 요청하면, 서버에 업데이트될 세탁 코스가 있는 경우, 이를 다운로드 받도록 하기 위해, 화면에서 세탁 코스가 요청되면 DM Client 실행파일을 실행하도록 한다.
DM Client를 실행한 후에는 DM Server로부터 코스가 정상적으로 전달될 수 있도록 DM Client 종료될 때까지 대기하도록 하고, 코스의 다운로드가 완료되면, DM Client는 세탁 코스 설정을 전달하도록 한다.
5-4) 진단 결과전달 요청
단말기의 진단결과 또는 모니터링 Alert을 DM Client에게 전달을 요청하는 방법이다.
단말기의 LCD 화면으로부터 진단이 요청되는 경우 또는 모니터링 Alert을 알리는 경우에 사용될 수 있다.
단말기에서 진단요청이 발생한 경우, 그 진단 결과 전달을 위해서는 진단이 완료되면 DM Client 실행파일을 실행하도록 한다.
단말기에서 모니터링 Alert이 발생한 경우, 그 모니터링 결과 전달을 위해서는 모니터링이 완료되면 DM Client 실행파일을 실행하도록 한다.
DM Server에서 진단 데이터를 요청하면 getDiagMonData() 함수에 의해 데이터가 요청될 수 있다.
DM Client를 실행한 후에는 DM Server에 결과가 정상적으로 전달될 수 있도록 DM Client 종료될 때까지 시스템이 종료되지 않도록 한다.
(2) 냉장고 - 임베디드시스템과 DM 클라이언트 및 DM 데몬 사이의 인터페이스
이하에서는 냉장고의 임베디드 시스템과 DM Client/DM Daemon 사이의 인터페이스에 방법에 대해 개괄적으로 설명한다.
냉장고의 DM Client/DM Daemon이 포함될 임베디드 시스템의 계층적 구조는 도64와 같다.
단말기에 대한 구조는 DM 클라이언트 관점에서 약식으로 표시한 것이며, 제조사 별로 차이가 있을 수 있다.
DM Client Application은 냉장고 환경에 맞게 구현되는 DM Client 어플리케이션이다.
DM Daemon Application은 DM Client의 동작에 관여하여 DM Server의 메시지나 DM Client의 예외처리 등을 담당하는 어플리케이션이다.
Interface Layer는 임베디드 시스템과 DM Client/DM Daemon 사이의 인터페이스를 담당하는 계층으로 라이브러리를 사용한다.
Base Platform I/F는 DM Server와 DM Client, DM Daemon 등에서 최소로 필요로하는 냉장고 정보를 획득하기 위한 인터페이스이다.
Firmware I/F는 펌웨어 업데이트를 위한 인터페이스이다.
Control I/F는 냉장고의 제어를 위한 인터페이스이다.
Software I/F는 냉장고의 소프트웨어 관리를 위한 인터페이스이다. 예컨대, Recipe 컨텐츠 파일 업데이트 관리에 이용될 수 있다.
Backup/Restore I/F는 푸드리스트 또는 쇼핑리스트 데이터를 복원/백업하기 위한 인터페이스이다.
DiagMon I/F(진단/모니터링)는 냉장고의 진단/모니터링을 위한 인터페이스이다.
OS Platform은 냉장고의 DM Client/DM Daemon이 설치되는 운영체제이다. 상기 운영체제는 안드로이드(Android)일 수 있다.
Upgrade Agent는 냉장고의 펌웨어를 업데이트 하기 위한 에이전트이다.
Refrigeration Hardware는 냉장고의 하드웨어로 Wi-Fi USB, LCD 등으로 구분될 수 있다.
1) 냉장고 단말관리 내용
DM 서버와 DM 클라이언트는 서로 연동하여 DMS 서비스를 처리한다. 냉장고의 단말관리 서비스는 아래의 표와 같다.
DM 서비스 | 냉장고(Android) |
펌웨어 업데이트 |
. 업데이트 패키지 크기 : 약 150MB . 업데이트 패키지 구성 : 하나의 이미지 파일로 구성됨 . 동작 방법 - 재시작 후, Recovery Mode에서 업데이트 처리함 - 최종 업데이트 후, DM 클라이언트에게 업데이트 결과 전달 . 시작 방법: DM 서버, 단말기(LCD) |
소프트웨어 관리(컨텐츠 포함) |
. Recipe 관리 소프트웨어(Pre-Load됨)의 Recipe 파일 관리 . 컨텐츠 데이터 형태: 하나의 패키지 파일 or 각각의 파일(하나의 파일 크기 약 수십MB, 전체 패키지 파일 약 500MB, Access 파일과 이미지 파일로 구성) . 시작 방법: Smart Phone, 단말기(LCD) |
단말제어 관리 | . 냉장고 온도 제어: 냉동, 냉장 . 특급 냉동 제어 . 동작 모드 제어 . Dispenser 제어 . 시작 방법 : Smart Phone |
단말진단/모니터링 관리 | . 추후 모델 진행 예정 . 특이사항: 단말기 LCD에서 독자적인 진단 기능 처리 |
Backup/Restore 관리 |
. Food/Shopping List 관리 . 단말기와 스마트 폰과 연동되나, 데이터는 DM 서버에서만 관리(최종 데이터만 관리함) . 시작 방법 : Smart Phone, 단말기(LCD) |
2) 클래스 구성
여기서는, 냉장고(Android 시스템)과 DM Client/DM Daemon 사이의 인터페이스를 위한 Class 규격을 설명한다.
2-1) Exception 클래스
DM Client를 위한 예외클래스를 정의한다.
a. DevicePortingExecption 클래스 : 클래스의 메서드에서 예외사항이 발생되면 DevicePortingException 클래스를 통하여 메서드를 호출한 쪽으로 예외사항을 보내도록 한다.
b. 예외 원인 문자열 : 예외 사항 발생시 DevicePortingException 클래스의 예외원인을 설명하는 문자열에 사용되는 기본값이며 예외 사항을 인지할 수 있는 문자열을 사용한다.
2-2) DMS 클래스
DM Client 동작을 위해 제공되어야 하는 클래스이다.
2-2-1) CSystemTools Class
DM Client가 동작하기 위해 필요한 클래스를 설명한다.
CSystemTools : CSystemTools의 생성자이다.
getDMcPath : DM Client가 사용하는 파일들이 위치하는 디렉토리 경로를 얻기 위한 함수이다. DM Client가 사용하는 디폴트 디렉토리 경로(절대 경로)를 얻기 위한 함수이다. 이 경로는 DM Client와 관련된 파일들이 위치하는 곳으로 읽기/쓰기가 가능하도록 한다. 이 경로는 시스템 초기화, 펌웨어 업데이트, 스마트 가전 단말 리부팅 등과 상관없이 유지되도록 한다.
setClientState : DM/DL 클라이언트의 동작 상태를 전달하기 위한 함수이다. 후술하는 "DM 클라이언트 제공 Intent 규격"에서 Intent를 이용하여 DM 클라이언트를 실행하기 전에 해당 함수의 값을 반드시 확인하도록 한다. DM 클라이언트가 동작 중인 경우에 단말기의 화면 및 Daemon을 통해 DM 클라이언트 실행이 요청되는 것을 방지하기 위함이다. 규격에서 정의된 시점에 DM/DL 클라이언트는 이 함수를 호출하여 해당 시점을 단말기에 알린다. 즉, 정의된 시점에 대해서만 단말기는 상태 확인이 가능하도록 한다.
2-2-2) CDeviceDetail Class(스마트 가전 정보 획득)
스마트 가전 단말기의 정보를 획득하기 위한 클래스를 설명한다.
CDeviceDetail : CDeviceDetail의 생성자이다.
getDeviceId, getDeviceType, getManufact, getModelName, getLanguage, getFirmwareVer, getSoftwareVer, getHardwareVer, getOEM 등의 함수가 포함된다.
2-2-3) CFumoTools Class(펌웨어 업데이트)
펌웨어 업데이트를 위한 클래스를 설명한다.
CFumoTools : CFumoTools의 생성자이다.
getState : 펌웨어 업데이트 상태를 획득하는 함수이다.
setState : 펌웨어 업데이트 상태를 설정하는 함수이다. DM Client는 파라미터 state를 10에서 50사이의 값으로만 설정하고, UA(펌웨어 업데이트 에이젼트)는 80 또는 100을 설정하도록 한다. DM Client는 업데이트를 시작을 원할 때, 파라미터 state를 50으로 설정하며, 단말기 리부팅 시 UA는 이를 체크하여 파라미터 state가 50인 경우 펌웨어 업데이트를 하도록 동작한다.
getResultCode : 펌웨어 업데이트의 결과를 펌웨어 업데이트 결과 코드 값(FUMO Result Code)으로 구분하는데 이 값을 획득하는 함수이다. 펌웨어 업데이트 결과 코드 값의 예시는 아래와 같다.
값 | 의미 DM : DM 이 설정할 수 있는 값, UA : UA(펌웨어 업데이트 매니저)가 설정할 수 있는 값 |
200 | [DM/UA]성공 |
250-299 | 성공-공급업체 지정하기 위한 예약 번호 |
400 | [DM]사용자 또는 단말동작 기반관리 클라이언트 오류 |
401 | [DM]사용자가 작업을 수락하도록 선택하지 않음 |
402 | [DM] OS/모뎀 펌웨어 업데이트 패키지 오류 예를 들어 받은 패키지와 원본패키지가 다름(파일 크기, CRC 등) |
403 | [DM]단말에 맞지 않는 패키지 전송 |
404 | [DM]패키지의 디지털 서명이 바르지 않음 |
405 | [DM]패키지가 부적합함NotAcceptable) |
406 | [DM]패키지 다운로드 중에 필요한 인증실패 |
407 | [DM]패키지 다운로드 중에 Time-out |
408 | [UA]단말이 요청한 작업을 지원하지 않음 |
409 | [DM/UA]에러코드에 명기된 내용이 아닌 에러발생 |
410 | [UA]단말의 업데이트 작업이 실패됨 |
411 | [DM]Alternate download URL이 바르지 않음 |
412 | [DM]Alternate download Server가 없거나 반응 없음 |
450 - 499 | 실패-공급업체 지정하기 위한 예약 번호 |
500 | [DM]Alternate 다운로드 서버 오류 발생 |
501 | [DM] OS/모뎀 펌웨어 업데이트 패키지를 저장하기 위한 메모리가 부족하여 다운로드 실패 |
502 | [UA]단말을 업데이트 하기 위한 메모리가 부족하여 업데이트 실패 |
503 | [DM]네트워크/전송 수준 오류로 인해 다운로드 실패 |
550 - 599 | 공급업체가 지정한 Result Code동작에 대해 Alternate다운로드 서버 오류 발생 |
setResultCode : 펌웨어 업데이트의 결과를 FUMO Result Code로 구분하는데 이 값을 설정하는 함수이다. 펌웨어의 업데이트 결과는 시스템 재시작 후 DM Client가 이 값을 확인하여 결과를 전달하도록 할 수 있다.
이외에 getFirmwarePath, getFirmwareFreeSize, setFirmwareTotalSize, setFirmwareCurSize, setFirmwareProcessState, runFirmwareUp 등의 함수가 포함될 수 있다.
2-2-4) CControlTools Class(제어)
냉장고를 제어하기 위한 클래스를 설명한다.
CControlTools : CControlTools의 생성자이다.
setTemperature : 냉장고의 냉장실, 냉동실의 온도를 설정하는 함수이다.
getTemperature : 냉장고의 냉장실, 냉동실의 온도를 획득하는 함수이다.
setIcePlus : 냉장고의 특급냉동을 설정하는 함수이다. 특급냉동 온 또는 오프를 설정할 수 있다. 또한, 특급냉동 오프 및 급속냉동 오프, 특급냉동 온 및 급속냉동 오프, 특급냉동 오프 및 급속냉동 온 등으로 설정할 수도 있다.
getIcePlus : 냉장고의 특급냉동 설정 상태를 획득하는 함수이다.
setOperation : 냉장고의 동작모드를 설정하는 함수이다. 냉장고의 동작모드는 일반모드, TEST모드, LQC모드, 전시 모드, 스마트 진단 등으로 구분될 수 있다.
getOperation : 냉장고의 동작 모드 상태를 획득하는 함수이다.
setDispenser : 냉장고의 Dispenser 상태를 설정하는 함수이다. 냉장고의 Dispenser 상태는 조각얼음 상태, 물 상태, 각 얼음 상태 등으로 구분될 수 있다.
getDispenser : 냉장고의 Dispenser 상태를 획득하는 함수이다.
setHygieneFilter : 냉장고의 Hygiene Filter(위생 필터) 상태를 설정하는 함수이다. 위생필터의 상태는 오프, 오토(Auto), 파워, 교체 등으로 구분될 수 있다.
getHygieneFilter : 냉장고의 Hygiene Filter(위생 필터)의 상태를 획득하는 함수이다.
setFullIceDectect : 냉장고의 만빙 상태를 설정하는 함수이다. 냉장고의 만빙상태는 정상상태와 만빙상태로 구분될 수 있다.
getFullIceDectect : 냉장고의 만빙 상태를 획득하는 함수이다.
setIceMaker : 냉장고의 ICE Maker(제빙기) 상태를 설정하는 함수이다. 예컨대, 제빙기 온인지 오프인지 설정할 수 있다.
getIceMaker : 냉장고의 ICE Maker(제빙기)의 상태를 획득하는 함수이다.
setBlasterChiller : 냉장고의 Blaster Chiller 상태를 설정하는 함수이다. Blaster Chiller의 온 또는 오프를 설정할 수 있다.
getBlasterChiller : 냉장고의 Blaster Chiller 상태를 획득하는 함수이다.
2-2-5) CScomoTools Class(Recipe 컨텐츠 관리)
소프트웨어의 컨텐츠를 관리하기 위한 클래스를 설명한다.
CScomoTools : CScomoTools의 생성자이다.
getRecipeVer : Recipe 버전을 획득하기 위한 함수이다.
getRecipePath : 레시피 패키지가 저장될 디렉토리 경로를 얻기 위한 함수 이다. 레시피 파일이 대용량일 수 있으므로 해당 경로에 직접 다운로드하기 위함이다.
getRecipeFreeSize : 레시피 파일이 저장될 영역의 크기를 획득하는 함수이다.
setRecipeTotalSize : 레시피 파일이 다운로드될 전체 크기를 전달하기 위한 함수이다. 단말기의 GUI를 통해 Progress Bar를 표현하는 경우 사용될 수 있다.
setRecipeCurSize : 레시피 파일의 다운로드된 크기를 전달하기 위한 함수이다. 다운로드 받은 데이터를 저장할 때마다 호출하도록 한다. 잦은 UI 호출을 방지하기 위해 호출 주기가 50ms 이상인 경우에만 호출하도록 한다. 단, 다운로드를 완료한 경우에는 호출 주기에 상관없이 호출되도록 한다. 단말기의 GUI를 통해 Progress Bar를 표현하는 경우 사용될 수 있다.
setRecipeProcessState : 레시피 진행 중에 네트워크 실패, 서버 연결 실패 등의 이유를 전달하기 위한 함수이다. 단말기의 GUI를 통해 Progress Bar를 표현하는 경우 예외사항 처리를 위해 사용될 수 있다.
setRecipeDowncomplete : 레시피 데이터 파일을 다운로드 완료후, 레시피 관리 어플리케이션에게 다운로드 완료를알리는 함수이다. DM Client는 getRecipePath()의 확인된 경로에 레시피 데이터를 다운로드하고 이 함수를 호출한다. 이 함수가 호출되면, 레시피 관리 어플리케이션은 전달받은 레시피 데이터 파일을 필요에 따라 적용하도록 한다.
2-2-6) CBackupRestoreTools Class(Food /ShoppingList 관리)
푸드리스트 또는 쇼핑리스트하는 백업/복원하는 클래스를 설명한다.
CBackupRestoreTools : CBackupRestoreTools의 생성자이다.
getDataFile : Food/Shopping List가 저장된 파일의 이름을 획득하기 위한 함수이다.
setDataFile : 다운로드 받은 Food/shopping 데이터 파일을 전달하기 위한 함수이다. 다운로드 받은 Food/Shopping List 데이터 파일을 경로를 포함한 파일명을 전달한다.
resultInfo : 업로드/다운로드 받은 Food/shopping 데이터 파일의 상태를 전달하기 위한 함수이다.
2-2-7) CDiagMonTools Class
진단/모니터링을 위한 클래스를 설명한다.
CDiagMonTools : CDiagMonTools의 생성자이다.
startDiagMon, stopDiagMon, getDiagMonState, getDiagMonData 등의 함수를 포함할 수 있다.
3) DM Client 제공 Intent 규격
DM Client는 어플리케이션으로 제공되고, DM Daemon 또는 펌웨어 결과전달, 진단결과전달 요청, 백업/복원 요청 등에 의해 프로세스로 실행될 수 있도록 다음과 같은 인터페이스를 제공한다.
DM 클라이언트가 동작중에, 단말기의 화면에서 DM 클라이언트 동작 요청이 발생하는 경우를 막기위해 getClientState의 값을 확인 후, Intent를 사용하도록 한다.
3-1) Food/Shopping List Backup요청
냉장고의 Food/Shopping List 데이터를 DM Server로 백업을 요청하기 위한 Intent 사용 방법이다. 백업 요청이 된 경우 DM Client는 CBackupRestoreTools 클래스의 getDataFile()로 백업하려는 파일 정보를 요청한다.
3-2) Food/Shopping List Restore 요청
냉장고의 Food/Shopping 정보를 DM Server로부터 가져오기 위한 Intent 사용 방법이다. Restore 요청이 된 경우, DM Client는 CBackupRestoreTools 클래스의setDataFile()로 다운로드 받은 파일 경로를 Food/Shopping List 관리 어플리케이션으로 전달한다.
3-3) 사용자 펌웨어 업데이트 요청
단말기에서 사용자가 펌웨어 업데이트를 요청할 때 DM Client와 연동하는 Intent 사용 방법이다.
DM Client를 실행한 후에는 DM Server의 펌웨어 버전 확인, 즉 getFirmwareVer() 함수에 의해 확인된 버전에 따라 업그레이드 여부가 결정된다. DM Server에 업그레이드 버전이 있으면, 업데이트를 진행한다. 펌웨어 업데이트 유무 확인이 완료된후(setFirmwareProcessState의 결과를 확인후), Recipe 업데이트 유무 확인을 요청한다.
3-4) Recipe 다운로드 요청
단말기에서 사용자가 선택한 레시피를 다운로드 요청할 때 DM Client와 연동하는 Intent 사용 방법이다.
DM Server로부터 다운로드 받은 레시피 Meta 데이터 파일의 다수 Item 항목중 사용자가 선택한 레시피 Item의 다운로드를 요청한다. Recipe 업데이트 유무 확인이 완료된후(setRecipeProcessState의 결과를 확인후), 펌에어 업데이트 유무 확인을 요청한다.
3-5) 진단 완료 전달
사용자가 단말기의 진단을 요청할 때 DM Client와 연동하는 Intent 사용 방법이다.
진단 Agent는 스마트 가전 단말의 진단 데이터 수집을 완료하면 DM Client를 실행한다. DM Client는 CDiagMonTools 클래스의 getDiagMonData()로 진단 데이터 파일을 가져와 서버로 전달한다.
4) DiagMon 데이터 전송 방법
단말기의 진단/모니터링 Agent는 DM 클라이언트로부터 Report Server URL을 받아 데이터 수집 후, Report Server로 데이터 전송한다.
상기 데이터에는 다음과 같은 항목을 포함하도록 한다.
디바이스ID : 단말기의 고유한 값이다.
Model name : 제품의 모델명이다.
ID : DM 서버에서 DiagMon Agent 시작을 요청할 때 단말기의 진단/모니터링 Agent에게 전달되었던 ID(DM 클라이언트는 DiagMon 시작에 대한 Correlator 값을 의미)이다.
DevType : 단말기 타입코드. 예컨대, 101-냉장고, 201-세탁기, 202-건조기,
301-오븐기 등이다.
Trigger : DM 서버에서 진단/모니터링이 시작되었는지, 단말기 자체에서 시작되었는지 구분하는 값(LCD 또는 단말기의 Alert에 의해 발생)이다.
DiagMonType : 진단 데이터 인지 모니터링 데이터인지 구분하기 위한 값이다.
DiagMon Data : 실제 진단/모니터링 데이터이다.
Claims (15)
- 사용자가 가전제품 또는 단말기를 통해 접근하여 사용자 아이디 생성 및 가전제품 고유의 디바이스 ID를 등록하도록 구비되는 사용자 사이트;
상기 사용자 사이트와 통신 가능하도록 상기 사용자 사이트와 별도로 구비되며, 상기 사용자 사이트를 통해 생성되는 사용자 아이디와 패스워드 그리고 상기 디바이스 ID를 상기 사용자 사이트로부터 수신하는 서버; 그리고
AP(Access Point)를 통하여 상기 사용자 아이디와 고유의 디바이스 ID를 상기 서버로 송신하여 상기 서버와 직접 통신하는 가전제품을 포함하고,
상기 가전제품은, 상기 디바이스 ID 그리고 사용자가 입력하는 상기 사용자 아이디와 패스워드(사용자 정보)를 상기 서버로 전달하도록 구비되고, 상기 가전제품은 상기 디바이스 ID와 사용자 정보를 상기 서버로 전달하면서 상기 서버와 통신 연결되며,
상기 서버는, 상기 사용자 사이트와 상기 단말기와 가전제품 각각에서 수신하는 상기 사용자 아이디와 상기 디바이스 ID(가전제품 정보)를 상기 서버에 등록된 상기 사용자 아이디와 상기 디바이스 ID와 매칭하고, 상기 단말기와 가전제품 각각을 통한 상기 가전제품에 대한 관리 서비스 요청에 대하여, 상기 가전제품에 관리 서비스를 제공함을 특징으로 하는 가전제품 관리 시스템. - 제 1 항에 있어서,
상기 가전제품에서 제공하는 사용자 아이디, 패스워드 그리고 디바이스 ID를 제공받아 상기 가전제품을 상기 서버에 등록함을 특징으로 하는 가전제품 관리 시스템. - 제 2 항에 있어서,
상기 디바이스 ID는 가전제품에 기입력되거나 자동 생성됨을 특징으로 하는 가전제품 관리 시스템. - 제 3 항에 있어서,
상기 디바이스 ID는 상기 가전제품이 상기 서버에 등록되기 전 상기 서버와의 통신 연결 과정에서 생성됨을 특징으로 하는 가전제품 관리 시스템. - 제 1 항에 있어서,
상기 가전제품은,
세탁기, 건조기, 냉장고, 청소기, 오븐 중 적어도 어느 하나를 포함하는 가전 제품임을 특징으로 하는 가전제품 관리 시스템. - 제 5 항에 있어서,
상기 가전제품은 상기 서버로 관리 서비스를 요청하도록 마련된 사용자 인터페이스를 포함하여 이루어지고, 상기 사용자 인터페이스를 통해 상기 사용자 아이디와 패스워드가 입력됨을 특징으로 하는 가전제품 관리 시스템. - 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
상기 서버는,
상기 가전제품에 관리 서비스를 제공하기 위해 관리 명령을 하는 DM 서버를 포함함을 특징으로 하는 가전제품 관리 시스템. - 제 7 항에 있어서,
상기 가전제품은, 상기 고유의 디바이스 ID 그리고 사용자가 입력하는 상기 사용자 아이디와 패스워드(사용자 정보)를 상기 사용자 사이트에 제공하며,
상기 사용자 사이트는, 상기 사용자 아이디와 디바이스 ID를 매칭하여 등록하여 상기 서버로 제공함을 특징으로 하는 가전제품 관리 시스템. - 제 8 항에 있어서,
상기 DM 서버는 상기 사용자 사이트에서 제공되는 상기 사용자 정보와 가전제품 정보를 인증하고 등록함을 특징으로 하는 가전제품 관리 시스템. - 제 7 항에 있어서,
상기 가전제품은,
상기 서버와 통신하기 위한 통신 모듈;
상기 DM 서버의 관리 명령을 수행하는 디엠 클라이언트; 그리고
상기 가전제품이 주기적으로 상기 서버에 접속하도록 하는 데몬을 포함함을 특징으로 하는 가전제품 관리 시스템. - 제 10 항에 있어서,
상기 통신 모듈은 와이파이 통신 모듈이며, 상기 가전제품은 무선 공유기(AP)를 통해 상기 서버와 연결됨을 특징으로 하는 가전제품 관리 시스템. - 제 11 항에 있어서,
상기 무선 공유기는 고유 IP 정보와 상기 가전제품이 연결된 포트 정보를 상기 서버에 제공함을 특징으로 하는 가전제품 관리 시스템. - 제 7 항에 있어서,
상기 서버의 오픈 API(Application Programmer Interface)를 통해 상기 서버에 상기 가전제품의 관리 서비스 요청을 하는 이동통신단말기를 포함함을 특징으로 하는 가전제품 관리 시스템. - 삭제
- 삭제
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110033879A KR101867813B1 (ko) | 2011-04-12 | 2011-04-12 | 단말 관리를 위한 서버시스템 및 온라인 서비스 |
PCT/KR2012/002754 WO2012141494A2 (ko) | 2011-04-12 | 2012-04-12 | 단말 관리 시스템 및 단말 관리 방법 |
US13/985,057 US20130325939A1 (en) | 2011-04-12 | 2012-04-12 | Terminal management system and method for managing a terminal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110033879A KR101867813B1 (ko) | 2011-04-12 | 2011-04-12 | 단말 관리를 위한 서버시스템 및 온라인 서비스 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120137546A KR20120137546A (ko) | 2012-12-24 |
KR101867813B1 true KR101867813B1 (ko) | 2018-06-18 |
Family
ID=47009835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110033879A KR101867813B1 (ko) | 2011-04-12 | 2011-04-12 | 단말 관리를 위한 서버시스템 및 온라인 서비스 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20130325939A1 (ko) |
KR (1) | KR101867813B1 (ko) |
WO (1) | WO2012141494A2 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020138686A1 (ko) * | 2018-12-26 | 2020-07-02 | 삼성전자주식회사 | 가전기기, 단말 장치 및 이의 무선 연결 방법 |
KR102526368B1 (ko) * | 2022-09-29 | 2023-05-02 | 주식회사 지니에이아이 | 멀티벤더를 지원하는 서버 관리 시스템 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2677719A1 (en) * | 2012-06-19 | 2013-12-25 | Alcatel Lucent | A method for interfacing a communication terminal with networked objects |
TW201403324A (zh) * | 2012-07-06 | 2014-01-16 | Pegatron Corp | 數位媒體系統控制方法與數位媒體控制器 |
KR20150088787A (ko) * | 2012-11-05 | 2015-08-03 | 엘지전자 주식회사 | 무선 통신 시스템에서 특정 리소스에 대한 정보 갱신을 위한 방법 및 장치 |
US20140168396A1 (en) * | 2012-12-18 | 2014-06-19 | General Electric Company | Method for viewing contents of a refrigerator appliance |
JP6330298B2 (ja) * | 2013-02-06 | 2018-05-30 | 株式会社リコー | 情報処理システム、情報処理方法およびプログラム |
KR101476667B1 (ko) * | 2013-05-10 | 2015-01-02 | 한국기술교육대학교 산학협력단 | Sns 서버를 이용한 기기 참여 기반의 전자기기 애프터서비스 제공 방법 |
CN104283848B (zh) * | 2013-07-03 | 2018-02-09 | 新华三技术有限公司 | 终端接入方法和装置 |
US9467853B2 (en) * | 2013-10-17 | 2016-10-11 | Lg Electronics Inc. | Server for managing home appliance and system including the same |
WO2015065013A1 (ko) * | 2013-10-28 | 2015-05-07 | 삼성전자 주식회사 | 멀티 사용자들이 홈 네트워킹을 지원하는 어플리케이션 기반의 기기를 등록하는 방법 및 장치 |
EP3080756A1 (en) * | 2013-12-11 | 2016-10-19 | Robert Bosch GmbH | System and method for managing products, product services, and stakeholders over an internet |
US10067482B2 (en) * | 2014-05-16 | 2018-09-04 | Emerson Climate Technologies Retail Solutions, Inc. | Menu and firmware management for equipment |
US9294575B1 (en) * | 2014-06-04 | 2016-03-22 | Grandios Technologies, Inc. | Transmitting appliance-specific content to a user device |
US9413740B2 (en) * | 2014-07-22 | 2016-08-09 | Microsoft Technology Licensing, Llc | Establishing secure computing devices for virtualization and administration |
KR102000234B1 (ko) * | 2014-10-21 | 2019-07-16 | 한국전자통신연구원 | 홈 네트워크 서비스를 제공하기 위한 장치 및 그 방법 |
CN104483865B (zh) * | 2014-12-26 | 2017-11-10 | 小米科技有限责任公司 | 智能硬件设备的安装实现方法及装置 |
US10425276B2 (en) | 2015-04-23 | 2019-09-24 | Electrolux Home Products, Inc. | Provisioning an appliance for network connectivity |
US10078748B2 (en) * | 2015-11-13 | 2018-09-18 | Microsoft Technology Licensing, Llc | Unlock and recovery for encrypted devices |
US10540058B2 (en) * | 2016-01-08 | 2020-01-21 | Whirlpool Corporation | Network and method for casting a user interface |
CN106996004A (zh) * | 2016-01-26 | 2017-08-01 | 青岛海尔洗衣机有限公司 | 一种智能家电控制方法及采用其的洗衣机 |
US10181066B2 (en) | 2016-06-06 | 2019-01-15 | Paypal, Inc. | Smart harbor device for intelligent updating and selection for use of transaction processing terminal devices |
EP3291147A1 (en) * | 2016-08-30 | 2018-03-07 | Hitachi, Ltd. | System, method and server apparatus for distribution of service requests associated with maintenance services required for maintenance of industrial assets |
GB201707444D0 (en) * | 2017-05-09 | 2017-06-21 | Howden Joinery Group Plc | Automatic assistance for a kitchen appliance |
CN107270608A (zh) * | 2017-07-10 | 2017-10-20 | 绵阳美菱软件技术有限公司 | 一种冰箱系统及一种冰箱 |
CN108958786B (zh) * | 2018-06-15 | 2021-11-12 | 合肥美的电冰箱有限公司 | 一种冰箱软件的匹配和更新处理方法及装置 |
CN115843356A (zh) * | 2020-06-19 | 2023-03-24 | 松下电器(美国)知识产权公司 | 具备执行器和/或加热器的装置以及控制该装置的方法 |
CN113625695B (zh) * | 2021-08-30 | 2023-07-04 | 重庆长安汽车股份有限公司 | 一种基于安卓服务的车辆实车车控功能诊断方法及系统 |
CN113865171A (zh) * | 2021-09-29 | 2021-12-31 | 滁州东菱电器有限公司 | 一种制冰机 |
AU2022428928A1 (en) * | 2021-12-31 | 2024-03-21 | Lg Electronics Inc. | Method of software upgrade configuration of home appliance and device implementing thereof |
KR102587345B1 (ko) * | 2023-05-09 | 2023-10-13 | 양영희 | 물품 수납 정리 서비스 제공 시스템 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002078036A (ja) * | 2000-09-04 | 2002-03-15 | Hitachi Ltd | 家電機器用ネットワークシステム |
US20090019152A1 (en) * | 2007-07-12 | 2009-01-15 | Sextant Navigation, Inc. | Apparatus and Method for Real-Time Monitoring and Controlling of Networked Appliances Using an Intermediate Server |
JP4564249B2 (ja) * | 2003-09-29 | 2010-10-20 | 東芝コンシューマエレクトロニクス・ホールディングス株式会社 | 家電遠隔制御システム、サービス提供サーバ、ホームサーバ、家電機器、サービス提供サーバの家電遠隔制御支援方法及びサービス提供サーバの家電サービス提供支援方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100676764B1 (ko) * | 2000-06-16 | 2007-02-01 | 주식회사 엘지이아이 | 인터넷을 이용한 냉장고의 서비스신청방법 및 그 시스템 |
KR100429617B1 (ko) * | 2001-05-14 | 2004-05-03 | 엘지전자 주식회사 | 유동 아이피 환경에서의 가전기기 원격제어장치 및 방법 |
JP2002352025A (ja) * | 2001-05-29 | 2002-12-06 | Toshiba Corp | 家電品修理対応システム、家庭内通信端末、家電品故障情報通信装置、家電品修理受付サーバー、家電品店データベース、家電品店用通信端末、家電品修理対応方法、家電品修理対応プログラム、それを記録する記録媒体、家電品修理依頼方法、家電品修理依頼プログラム、それを記録する記録媒体、家電品修理受付方法、家電品修理受付プログラム、それを記録する記録媒体、修理可能日時登録方法、修理可能日時登録プログラム、及びそれを記録した記録媒体 |
KR100404196B1 (ko) * | 2001-06-22 | 2003-11-03 | 엘지전자 주식회사 | 세탁기의 원격진단시스템 및 그 방법 |
KR100381171B1 (ko) * | 2001-07-20 | 2003-04-18 | 엘지전자 주식회사 | 가전기기 제어시스템 및 그 동작방법 |
KR100482004B1 (ko) * | 2002-07-27 | 2005-04-13 | 삼성전자주식회사 | 냉장고시스템 및 그 업그레이드방법 |
KR100672013B1 (ko) * | 2005-01-20 | 2007-01-19 | (주)엘스윈 | 서버와 클라이언트 기능을 구비한 네트워크 통신장치 및이를 이용한 홈네트워크 시스템 |
WO2007004755A1 (en) * | 2005-07-04 | 2007-01-11 | Sk Telecom Co., Ltd. | Home network system, method of controlling the same, method of setting residential gateway for the same, and method of processing event protocol for the same |
KR101556972B1 (ko) * | 2009-05-11 | 2015-10-02 | 엘지전자 주식회사 | 세탁기를 제어하는 휴대 단말기 및 그 동작 방법 |
-
2011
- 2011-04-12 KR KR1020110033879A patent/KR101867813B1/ko active IP Right Grant
-
2012
- 2012-04-12 WO PCT/KR2012/002754 patent/WO2012141494A2/ko active Application Filing
- 2012-04-12 US US13/985,057 patent/US20130325939A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002078036A (ja) * | 2000-09-04 | 2002-03-15 | Hitachi Ltd | 家電機器用ネットワークシステム |
JP4564249B2 (ja) * | 2003-09-29 | 2010-10-20 | 東芝コンシューマエレクトロニクス・ホールディングス株式会社 | 家電遠隔制御システム、サービス提供サーバ、ホームサーバ、家電機器、サービス提供サーバの家電遠隔制御支援方法及びサービス提供サーバの家電サービス提供支援方法 |
US20090019152A1 (en) * | 2007-07-12 | 2009-01-15 | Sextant Navigation, Inc. | Apparatus and Method for Real-Time Monitoring and Controlling of Networked Appliances Using an Intermediate Server |
Non-Patent Citations (1)
Title |
---|
일본 특허공보 특허 제 4564249호(2010.10.20.) 1부. * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020138686A1 (ko) * | 2018-12-26 | 2020-07-02 | 삼성전자주식회사 | 가전기기, 단말 장치 및 이의 무선 연결 방법 |
US11689385B2 (en) | 2018-12-26 | 2023-06-27 | Samsung Electronics Co., Ltd. | Home appliance, terminal device, and wireless connection method thereof |
KR102526368B1 (ko) * | 2022-09-29 | 2023-05-02 | 주식회사 지니에이아이 | 멀티벤더를 지원하는 서버 관리 시스템 |
US12086639B2 (en) | 2022-09-29 | 2024-09-10 | GeniAI CO.,LTD | Server management system capable of supporting multiple vendors |
Also Published As
Publication number | Publication date |
---|---|
WO2012141494A3 (ko) | 2013-01-10 |
WO2012141494A2 (ko) | 2012-10-18 |
US20130325939A1 (en) | 2013-12-05 |
KR20120137546A (ko) | 2012-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101867813B1 (ko) | 단말 관리를 위한 서버시스템 및 온라인 서비스 | |
KR101276861B1 (ko) | 가전제품 및 이를 포함하여 이루어지는 온라인 시스템 | |
KR101276857B1 (ko) | 가전제품 및 이를 포함하여 이루어지는 온라인 시스템 | |
KR101819510B1 (ko) | 세탁장치 및 이를 포함하여 이루어지는 온라인 시스템 | |
CN109445819B (zh) | 家电系统的在线升级控制方法和家电系统 | |
US9729607B2 (en) | Discovering device drivers within a domain | |
CN107682202B (zh) | 网络设备的管理方法及装置 | |
CN108427570A (zh) | 一种智能家电主控程序升级系统及升级方法 | |
CN107609202B (zh) | 一种部署数据库实例的方法、装置及计算机设备 | |
US20120303801A1 (en) | Managing a domain | |
KR101887069B1 (ko) | 세탁장치 및 이를 포함하여 이루어지는 온라인 시스템 | |
US20210303364A1 (en) | Method of deploying cloud services quickly | |
KR20130013236A (ko) | 세탁장치 및 이를 포함하여 이루어지는 온라인 시스템 | |
US20120303456A1 (en) | Targeting delivery data | |
CN116149689B (zh) | 软件安装方法、装置、存储介质及计算机设备 | |
KR101830746B1 (ko) | 세탁장치 및 이를 포함하여 이루어지는 온라인 시스템 | |
KR101742995B1 (ko) | 가전제품 및 이를 포함하여 이루어지는 온라인 시스템 | |
CN115277412A (zh) | 边缘网关的升级方法及装置、存储介质及电子装置 | |
US20120303749A1 (en) | Maintaining a domain |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E90F | Notification of reason for final refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) |