KR20150099388A - 메시지 전송 방법 및 장치 - Google Patents

메시지 전송 방법 및 장치 Download PDF

Info

Publication number
KR20150099388A
KR20150099388A KR1020140184371A KR20140184371A KR20150099388A KR 20150099388 A KR20150099388 A KR 20150099388A KR 1020140184371 A KR1020140184371 A KR 1020140184371A KR 20140184371 A KR20140184371 A KR 20140184371A KR 20150099388 A KR20150099388 A KR 20150099388A
Authority
KR
South Korea
Prior art keywords
message
information
electronic device
notification
user
Prior art date
Application number
KR1020140184371A
Other languages
English (en)
Other versions
KR102222696B1 (ko
Inventor
최보근
김승년
강두석
김건수
전용준
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US14/625,409 priority Critical patent/US10469428B2/en
Publication of KR20150099388A publication Critical patent/KR20150099388A/ko
Application granted granted Critical
Publication of KR102222696B1 publication Critical patent/KR102222696B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W68/00User notification, e.g. alerting and paging, for incoming communication, change of service or the like
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명에 따른 방법은 상기 전자장치와 연결된 적어도 하나의 디바이스의 상태 정보를 확인하는 동작; 상기 적어도 하나의 디바이스의 상태 정보를 고려하여, 메시지를 생성하는 동작; 및 상기 메시지를 상기 적어도 하나의 디바이스로 전달하는 동작을 포함한다.

Description

메시지 전송 방법 및 장치 {APPARATUS AND METHOD FOR TRANSMITTING MESSAGE}
전자장치에서 알림(Notification)을 제공하는 기술에 관한 것이다.
최근 전자장치에서 제공하는 다양한 서비스 및 부가 기능들이 점차 확대되고 있다. 이러한 전자 장치의 효용 가치를 높이고 사용자들의 다양한 욕구를 만족시키기 위해서 전자 장치에서 실행 가능한 다양한 어플리케이션들이 개발되고 있다.
전자 장치에는 해당 장치의 제조사에 의해 제작되어 해당 장치에 설치되는 기본 어플리케이션들과, 인터넷을 통하여 어플리케이션 판매 웹사이트로부터 다운로드 되는 추가 어플리케이션들 등이 저장되고 실행될 수 있다. 상기 추가 어플리케이션들은 일반 개발자들에 의해 개발되고, 상기 판매 웹사이트에 등록될 수 있다. 따라서, 누구든지 자신이 개발한 어플리케이션들을 상기 어플리케이션 판매 웹사이트를 통하여 자유롭게 상기 전자 장치의 사용자에게 판매할 수 있다. 이에 따라 현재 전자 장치에는 그 제품에 따라 수만에서 수십 만개의 어플리케이션들이 무료 또는 유료로 제공되고 있다.
이러한 수십 만개의 어플리케이션들 중에서, 일부 어플리케이션들은 어플리케이션에서 발생되는 일부 이벤트에 대한 알림(Notification) 서비스를 제공하고 있다. 예컨대, 메일 어플리케이션은 새로운 메일이 수신되었음을 통지하는 알림(Notification)을 제공하거나, 인스턴트 메시지 어플리케이션은 새로운 메시지가 수신되었음을 통지하는 알림(Notification)을 제공하는 등의 알림(Notification) 서비스를 제공하고 있다.
전술한 알림 서비스의 경우, 하나의 전자장치에서 어플리케이션의 동작을 위해 제공되는 것이 일반적이다. 최근 전자장치에 연결될 수 있는 다양한 보조 디바이스(예컨대, 스마트 워치, 스마트 안경 등)가 개발 및 보급되고 있는데, 이러한 다양한 보조 디바이스에 보다 원할하게 알림(Notification) 서비스를 제공하기 위한 방법이 요구된다.
본 발명은 전술한 점을 고려하여 안출된 것으로써, 전자장치에 연결되는 다양한 보조 디바이스에 효율적으로 알림 메시지를 제공할 수 있는 방법 및 장치를 제공하는데 그 목적이 있다.
본 발명의 일 측면에 따른 방법은, 상기 전자장치와 연결된 적어도 하나의 디바이스의 상태 정보를 확인하는 동작; 상기 적어도 하나의 디바이스의 상태 정보를 고려하여, 메시지를 생성하는 동작; 및 상기 메시지를 상기 적어도 하나의 디바이스로 전달하는 동작을 포함한다.
본 발명의 다른 실시 예에 따른 전자장치는, 적어도 하나의 디바이스와의 연결을 관리하는 연결 관리부와, 상기 전자장치와 연결된 적어도 하나의 디바이스의 상태 정보를 확인하고, 전자장치의 기능을 제어하는 호스트 관리부와, 알림 이벤트의 발생을 확인하고, 상기 적어도 하나의 디바이스의 상태 정보를 고려하여, 메시지를 생성하고, 상기 메시지를 상기 적어도 하나의 디바이스로 전달하는 메시지 관리부를 포함한다.
본 발명에 다양한 실시 예에 따르면, 전자장치에 연결되는 다양한 보조 디바이스에 효과적으로 알림 메시지를 제공할 수 있다.
또한, 전자장치에 연결되는 다양한 보조 디바이스를 사용하여, 보안성이 유지된 알림 메시지를 효과적으로 제공할 수 있다.
또한, 전자장치에 연결되는 다양한 보조 디바이스에 전송되는 데이터를 효율적으로 배분하여 알림 메시지를 제공할 수 있다.
도 1은 다양한 실시예에 따른 네트워크 환경을 도시한다.
도 2는 다양한 실시예에 따른 전자 장치의 블록도를 도시한다.
도 3은 다양한 실시예에 따른 프로그램 모듈의 블록도를 도시한다
도 4는 본 발명의 다양한 실시예에 따른 메시지 제공 방법이 적용되는 시스템을 예시하는 도면이다.
도 5는 본 발명의 다양한 실시예에 따른 메시지 제공 방법의 순서를 도시하는 흐름도이다.
도 6은 본 발명의 다양한 실시예에 따른 메시지 제공 방법에서 생성되는 알림 메시지를 예시하는 도면이다.
도 7a는 도 6의 알림 메시지에 포함되는 메시지 타입 정보를 예시하는 도면이다.
도 7b는 도 6의 메시지에 포함되는 메시지 카테고리 정보를 예시하는 도면이다.
도 8은 도 6의 알림 메시지에 포함되는 알림 메시지 카테고리 정보를 예시하는 도면이다.
도 9는 본 발명의 다양한 실시예에 따른 메시지 제공 방법에서 전자장치가 수신한 메시지를 예시하는 도면이다.
도 10은 도 9의 메시지를 기반으로 생성된 알림 메시지 데이터를 예시하는 도면이다.
도 11a 내지 도 11d은 본 발명의 다양한 실시예에 따른 메시지 제공 방법에 의해 생성되는 알림 메시지들의 예시도이다.
도 12a 내지 도 12c는 본 발명의 다양한 실시예에 따른 메시지 제공 방법이 보안 설정된 알림 메시지를 생성 및 전송하는 동작을 예시하는 개념도이다.
도 13은 본 발명의 다양한 실시예에 따른 메시지 제공 방법의 다른 예를 도시하는 개념도이다.
도 14는 본 발명의 다양한 실시예에 따른 메시지 제공 방법이 적용되는 전자장치의 구성을 도시하는 블록도이다.
도 15a 내지 도 15e는 본 발명의 다양한 실시예에 따른 메시지 제공 방법이 적용되는 전자장치에 사용되는 호스트 관리 어플리케이션 UI를 예시하는 도면이다.
도 16은 본 발명의 다양한 실시예에 따른 메시지 제공 방법이 적용되는 전자장치에 사용되는 패키지 관리 UI를 예시하는 도면이다.
도 17은 본 발명의 다양한 실시예에 따른 메시지 제공 방법이 적용되는 전자장치에 사용되는 연결 관리 UI를 예시하는 도면이다.
도 18a 내지 도 18e는 본 발명의 다양한 실시예에 따른 메시지 제공 방법이 적용되는 전자장치에 사용되는 연결 관리 UI의 서브 메뉴를 예시하는 도면이다.
도 19는 본 발명의 다양한 실시예에 따른 메시지 제공 방법이 적용되는 전자장치에 사용되는 셋업 정보 관리 UI를 예시하는 도면이다.
도 20은 본 발명의 다양한 실시예에 따른 메시지 제공 방법이 적용되는 전자장치에 구비되는 메시지 관리부의 구성을 예시하는 블록도이다.
이하, 본 개시의 다양한 실시예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 개시를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 실시예의 다양한 변경 (modification), 균등물 (equivalent), 및/또는 대체물 (alternative)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, “가진다,” “가질 수 있다,”“포함한다,” 또는 “포함할 수 있다” 등의 표현은 해당 특징 (예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, “A 또는 B,”“A 또는/및 B 중 적어도 하나,”또는 “A 또는/및 B 중 하나 또는 그 이상”등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, “A 또는 B,” “ A 및 B 중 적어도 하나,”또는 “ A 또는 B 중 적어도 하나”는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
다양한 실시예에서 사용된 “제 1,”“제 2,”“첫째,”또는“둘째,”등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 해당 구성요소들을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들면, 제 1 사용자 기기와 제 2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 개시의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소 (예: 제 1 구성요소)가 다른 구성요소 (예: 제 2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어 (operatively or communicatively) coupled with/to)" 있다거나 "접속되어 (connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소 (예: 제 3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소 (예: 제 1 구성요소)가 다른 구성요소 (예: 제 2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소 (예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 “~하도록 구성된 (또는 설정된)(configured to)”은 상황에 따라, 예를 들면, “~에 적합한 (suitable for),” “~하는 능력을 가지는 (having the capacity to),” “~하도록 설계된 (designed to),” “~하도록 변경된 (adapted to),” “~하도록 만들어진 (made to),”또는 “~를 할 수 있는 (capable of)”과 바꾸어 사용될 수 있다. 용어 “~하도록 구성 (또는 설정)된”은 하드웨어적으로 “특별히 설계된 (specifically designed to)”것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, “~하도록 구성된 장치”라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 “~할 수 있는” 것을 의미할 수 있다. 예를 들면, 문구 “A, B, 및 C를 수행하도록 구성 (또는 설정)된 프로세서”는 해당 동작을 수행하기 위한 전용 프로세서 (예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서 (generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 다른 실시예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 일반적으로 사용되는 사전에 정의된 용어들은 관련 기술의 문맥 상 가지는 의미와 동일 또는 유사한 의미를 가지는 것으로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 개시의 실시예들을 배제하도록 해석될 수 없다.
본 개시의 다양한 실시예들에 따른 전자 장치는, 예를 들면, 전자 장치는 스마트폰 (smartphone), 태블릿 PC (tablet personal computer), 이동 전화기 (mobile phone), 화상 전화기, 전자북 리더기 (e-book reader), 데스크탑 PC (desktop personal computer), 랩탑 PC (laptop personal computer), 넷북 컴퓨터 (netbook computer), 워크스테이션 (workstation), 서버, PDA (personal digital assistant), PMP (portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라 (camera), 또는 웨어러블 장치 (wearable device)(예: 스마트 안경, 머리 착용형 장치 (head-mounted-device(HMD), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리 (appcessory), 전자 문신, 스마트 미러, 또는 스마트 와치 (smart watch)중 적어도 하나를 포함할 수 있다.
어떤 실시예들에서, 전자 장치는 스마트 가전 제품 (smart home appliance)일 수 있다. 스마트 가전 제품은, 예를 들면, 텔레비전, DVD (digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스 (set-top box), 홈 오토매이션 컨트롤 패널 (home automation control panel), 보안 컨트롤 패널 (security control panel), TV 박스 (예: 삼성 HomeSync™, 애플TV™, 또는 구글 TV™), 게임 콘솔 (예: Xbox™, PlayStation™), 전자 사전, 전자 키, 캠코더 (camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시예에서, 전자 장치는, 각종 의료기기 (예: 각종 휴대용 의료측정기기 (혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA (magnetic resonance angiography), MRI (magnetic resonance imaging), CT (computed tomography), 촬영기, 또는 초음파기 등), 네비게이션 (navigation) 장치, GPS 수신기 (global positioning system receiver), EDR (event data recorder), FDR (flight data recorder), 자동차 인포테인먼트 (infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기 (avionics), 보안 기기, 차량용 헤드 유닛 (head unit), 산업용 또는 가정용 로봇, 금융 기관의 ATM (automatic teller’s machine), 상점의 POS (point of sales), 또는 사물 인터넷 장치 (internet of things)(예: 전구, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기 (thermostat), 가로등, 토스터 (toaster), 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
어떤 실시예에 따르면, 전자 장치는 가구 (furniture) 또는 건물/구조물의 일부, 전자 보드 (electronic board), 전자 사인 수신 장치 (electronic signature receiving device), 프로젝터 (projector), 또는 각종 계측 기기 (예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시예에서, 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 어떤 실시예에 따른 전자 장치는 플렉서블 전자 장치일 수 있다. 또한, 본 개시의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자 장치를 포함할 수 있다.
이하, 첨부 도면을 참조하여, 다양한 실시예에 따른 전자 장치가 설명된다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치 (예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1을 참조하여, 다양한 실시예에서의, 네트워크 환경 (100) 내의 전자 장치(101)가 기재된다. 상기 전자 장치(101)는 버스 (110), 프로세서(120), 메모리(130), 입출력 인터페이스(150), 디스플레이(160), 및 통신 인터페이스(170)를 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)는, 상기 구성요소들 중 적어도 하나를 생략하거나 다른 구성 요소를 추가적으로 구비할 수 있다.
상기 버스(110)는, 예를 들면, 상기 구성요소들 (110)-(170)을 서로 연결하고, 상기 구성요소들 간의 통신 (예: 제어 메시지 및/또는 데이터)을 전달하는 회로를 포함할 수 있다.
상기 프로세서(120)는, 중앙처리장치 (central processing unit (CPU), 어플리케이션 프로세서 (application processor (AP), 또는 커뮤니케이션 프로세서 (communication processor(CP) 중 하나 또는 그 이상을 포함할 수 있다. 상기 프로세서(120)은, 예를 들면, 상기 전자 장치(101)의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.
상기 메모리(130)는, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 상기 메모리(130)는, 예를 들면, 상기 전자 장치(101)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시예에 따르면, 상기 메모리(130)는 소프트웨어 및/또는 프로그램(140)을 저장할 수 있다. 상기 프로그램(140)은, 예를 들면, 커널(141), 미들웨어(143), 어플리케이션 프로그래밍 인터페이스 (application programming interface (API)(145), 및/또는 어플리케이션 프로그램 (또는 “어플리케이션”)(147)등을 포함할 수 있다. 상기 커널 (141), 미들웨어(143), 또는 API(145)의 적어도 일부는, 운영 시스템 (operating system (OS)라 불릴 수 있다.
상기 커널(141)은, 예를 들면, 다른 프로그램들 (예: 미들웨어(143), API(145), 또는 어플리케이션 프로그램 (147))에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들 (예: 버스(110), 프로세서(120), 또는 메모리 (130)등)을 제어 또는 관리할 수 있다. 또한, 상기 커널(141)은 상기 미들웨어 (143), 상기 API(145), 또는 상기 어플리케이션 프로그램(147)에서 상기 전자 장치(101)의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
상기 미들웨어(143)는, 예를 들면, 상기 API(145) 또는 상기 어플리케이션 프로그램(147)이 상기 커널(141)과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 상기 미들웨어(143)는 상기 어플리케이션 프로그램(147)로부터 수신된 작업 요청들과 관련하여, 예를 들면, 상기 어플리케이션 프로그램(147) )중 적어도 하나의 어플리케이션에 상기 전자 장치(101)의 시스템 리소스 (예: 버스 (110), 프로세서 (120), 또는 메모리 (130) 등)를 사용할 수 있는 우선 순위를 배정하는 등의 방법을 이용하여 작업 요청에 대한 제어 (예: 스케쥴링 또는 로드 밸런싱)을 수행할 수 있다.
상기 API (145)는, 예를 들면, 상기 어플리케이션(147)이 상기 커널(141) )또는 상기 미들웨어(143)에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 화상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수 (예: 명령어)를 포함할 수 있다.
상기 입출력 인터페이스 (150)은, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 상기 전자 장치(101)의 다른 구성요소(들)에 전달할 수 있는 인터페이스의 역할을 할 수 있다. 또한, 상기 입출력 인터페이스(150)은 상기 전자 장치(101)의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다.
상기 디스플레이(160)은, 예를 들면, 액정 디스플레이 (LCD), 발광 다이오드 (LED) 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 또는 마이크로 전자기계 시스템 (microelectromechanical systems (MEMS) 디스플레이, 또는 전자종이 (electronic paper) 디스플레이를 포함할 수 있다. 상기 디스플레이(160)은, 예를 들면, 사용자에게 각종 콘텐츠 (예: 텍스트, 이미지, 비디오, 아이콘, 또는 심볼 등)을 표시할 수 있다. 상기 디스플레이(160)은, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스쳐, 근접, 또는 호버링 입력을 수신할 수 있다.
상기 통신 인터페이스(170)은, 예를 들면, 상기 전자 장치 101와 외부 장치 (예: 제 1 외부 전자 장치(102), 제 2 외부 전자 장치(104), 또는 서버 (106)) 간의 통신을 설정할 수 있다. 예를 들면, 상기 통신 인터페이스(170)은 무선 통신 또는 유선 통신을 통해서 네트워크 (162)에 연결되어 상기 외부 장치 (예: 제 2 외부 전자 장치(104) 또는 서버 (106))와 통신할 수 있다.
상기 무선 통신은, 예를 들면, 셀룰러 통신 프로토콜로서, 예를 들면, LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro, 또는 GSM 등 중 적어도 하나를 사용할 수 있다. 상기 유선 통신은, 예를 들면, USB (universal serial bus), HDMI (high definition multimedia interface), RS-232 (recommended standard 232, 또는 POTS (plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 상기 네트워크 (162)는 통신 네트워크 (telecommunications network), 예를 들면, 컴퓨터 네트워크 (computer network)(예: LAN 또는 WAN), 인터넷, 또는 전화 망 (telephone network) 중 적어도 하나를 포함할 수 있다.
상기 제 1 및 제 2 외부 전자 장치 (102), (104) 각각은 상기 전자 장치 (101)와 동일한 또는 다른 종류의 장치일 수 있다. 한 실시예에 따르면, 상기 서버 (106)는 하나 또는 그 이상의 서버들의 그룹을 포함할 수 있다. 다양한 실시예에 따르면, 상기 전자 장치 (101)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자 장치 (예: 전자 장치 (102), (104), 또는 서버 (106))에서 실행될 수 있다. 한 실시예에 따르면, 상기 전자 장치 (101)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 상기 전자 장치 101는 상기 기능 또는 상기 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 장치 (예: 전자 장치 (102), (104), 또는 서버 (106)에게 요청할 수 있다. 상기 다른 전자 장치 (예: 전자 장치 (102), (104), 또는 서버 (106)는 상기 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 상기 전자 장치 101로 전달할 수 있다. 상기 전자 장치 101는 수신된 결과를 그대로 또는 추가적으로 처리하여 상기 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 2는 다양한 실시예에 따른 전자 장치(201)의 블록도 (200)이다. 상기 전자 장치 (201)는, 예를 들면, 도 1에 도시된 전자 장치 (101)의 전체 또는 일부를 포함할 수 있다. 상기 전자 장치 (201)는 하나 이상의 어플리케이션 프로세서 (AP: application processor) (210), 통신 모듈 (220), SIM (subscriber identification module) 카드 (224), 메모리 (230), 센서 모듈 (240), 입력 장치 (250), 디스플레이 (260), 인터페이스 (270), 오디오 모듈 (280), 카메라 모듈 (291), 전력 관리 모듈 (295), 배터리 (296), 인디케이터 (297), 및 모터 (298) 를 포함할 수 있다.
상기 AP (210)는, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 상기 AP (210)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 상기 AP (210)는, 예를 들면, SoC (system on chip) 로 구현될 수 있다. 한 실시예에 따르면, 상기 AP (210)는 GPU (graphic processing unit) 및/또는 이미지 신호 프로세서 (image signal processor)를 더 포함할 수 있다. 상기 AP (210)는 도 2에 도시된 구성요소들 중 적어도 일부 (예: 셀룰러 모듈 (221)를 포함할 수도 있다. 상기 AP (210) 는 다른 구성요소들 (예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드 (load)하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장 (store)할 수 있다.
상기 통신 모듈 (220)은, 도 1의 상기 통신 인터페이스 (160)와 동일 또는 유사한 구성을 가질 수 있다. 상기 통신 모듈 (220)은, 예를 들면, 셀룰러 모듈 (221), WIFI 모듈 (223), BT 모듈 (225), GPS 모듈 (227), NFC 모듈 (228) 및 RF (radio frequency) 모듈 (229)를 포함할 수 있다.
상기 셀룰러 모듈 (221)은, 예를 들면, 통신망을 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시예에 따르면, 상기 셀룰러 모듈 (221)은 가입자 식별 모듈 (예: SIM 카드 (224))을 이용하여 통신 네트워크 내에서 전자 장치 201의 구별 및 인증을 수행할 수 있다. 한 실시예에 따르면, 상기 셀룰러 모듈 (221)은 상기 AP (210)가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시예에 따르면, 상기 셀룰러 모듈 (221)은 커뮤니케이션 프로세서 (CP: communication processor)를 포함할 수 있다.
상기 WIFI 모듈 (223), 상기 BT 모듈 (225), 상기 GPS 모듈 (227) 또는 상기 NFC 모듈 (228) 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. 어떤 실시예에 따르면, 셀룰러 모듈 (221), WIFI 모듈 (223), BT 모듈 (225), GPS 모듈 (227) 또는 NFC 모듈 (228) 중 적어도 일부 (예: 두 개 이상)는 하나의 integrated chip (IC) 또는 IC 패키지 내에 포함될 수 있다.
상기 RF 모듈 (229)는, 예를 들면, 통신 신호 (예: RF 신호)를 송수신할 수 있다. 상기 RF 모듈 (229)는, 예를 들면, 트랜시버 (transceiver), PAM (power amp module), 주파수 필터 (frequency filter), LNA (low noise amplifier), 또는 안테나 등을 포함할 수 있다. 다른 실시예에 따르면, 셀룰러 모듈 (221), WIFI 모듈 (223), BT 모듈 (225), GPS 모듈 (227) 또는 NFC 모듈 (228) 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다.
상기 SIM 카드 (224)는, 예를 들면, 가입자 식별 모듈을 포함하는 카드 및/또는 내장 SIM (embedded SIM)을 포함할 수 있으며, 고유한 식별 정보 (예: ICCID (integrated circuit card identifier) 또는 가입자 정보 (예: IMSI (international mobile subscriber identity)를 포함할 수 있다.
상기 메모리 (230) (예: 메모리 (230))는, 예를 들면, 내장 메모리 (232) 또는 외장 메모리 (234)를 포함할 수 있다. 상기 내장 메모리 (232)는, 예를 들면, 휘발성 메모리 (예: DRAM (dynamic RAM), SRAM (static RAM), 또는 SDRAM (synchronous dynamic RAM) 등), 비휘발성 메모리 (non-volatile Memory) (예: OTPROM (one time programmable ROM), PROM (programmable ROM), EPROM (erasable and programmable ROM), EEPROM (electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브 (solid state drive (SSD) 중 적어도 하나를 포함할 수 있다.
상기 외장 메모리 (234)는 flash drive, 예를 들면, CF (compact flash), SD (secure digital), Micro-SD (micro secure digital), Mini-SD (mini secure digital), xD (extreme digital), 또는 메모리 스틱 (memory stick) 등을 더 포함할 수 있다. 상기 외장 메모리 (234)는 다양한 인터페이스를 통하여 상기 전자 장치 201과 기능적으로 및/또는 물리적으로 연결될 수 있다.
상기 센서 모듈 (240)은, 예를 들면, 물리량을 계측하거나 전자 장치 201의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 상기 센서 모듈 (240)은, 예를 들면, 제스처 센서 (240A), 자이로 센서 (240B), 기압 센서 (240C), 마그네틱 센서 (240D), 가속도 센서 (240E), 그립 센서 (240F), 근접 센서 (240G), color 센서 (240H) (예: RGB (red, green, blue) 센서), 생체 센서 (240I), 온/습도 센서 (240J), 조도 센서 (240K), 또는 UV (ultra violet) 센서 (240M) 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 센서 모듈 (240)은, 예를 들면, 후각 센서 (E-nose sensor), EMG 센서 (electromyography sensor), EEG 센서 (electroencephalogram sensor), ECG 센서 (electrocardiogram sensor), IR (infrared) 센서, 홍채 센서 및/또는 지문 센서를 포함할 수 있다. 상기 센서 모듈 (240)은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다. 어떤 실시예에서는, 전자 장치 201는 AP (210)의 일부로서 또는 별도로, 센서 모듈 (240)을 제어하도록 구성된 프로세서를 더 포함하여, 상기 AP (210)가 슬립 (sleep) 상태에 있는 동안, 센서 모듈 (240)을 제어할 수 있다.
상기 입력 장치 (250)은, 예를 들면, 터치 패널 (touch panel) (252), (디지털) 펜 센서 (pen sensor) (254), 키 (key) (256), 또는 초음파 (ultrasonic) 입력 장치 (258)를 포함할 수 있다. 상기 터치 패널 (252)은, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 상기 터치 패널 (252)은 제어 회로를 더 포함할 수도 있다. 상기 터치 패널 (252)은 택타일 레이어 (tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다.
상기 (디지털) 펜 센서 (254)는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트 (sheet)를 포함할 수 있다. 상기 키 (256)는, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 상기 초음파 입력 장치 (258)는 초음파 신호를 발생하는 입력 도구를 통해, 전자 장치 201에서 마이크 (예: 마이크 (288)로 음파를 감지하여 데이터를 확인할 수 있다.
상기 디스플레이 (260) (예: 디스플레이 (160)은 패널 (262), 홀로그램 장치 (264), 또는 프로젝터 (266)을 포함할 수 있다. 상기 패널 (262)은, 도 1의 디스플레이 (160)과 동일 또는 유사한 구성을 포함할 수 있다. 상기 패널 (262)은, 예를 들면, 유연하게 (flexible), 투명하게 (transparent), 또는 착용할 수 있게 (wearable) 구현될 수 있다. 상기 패널 (262)은 상기 터치 패널 (252)과 하나의 모듈로 구성될 수도 있다. 상기 홀로그램 장치 (264)은 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 상기 프로젝터 (266)는 스크린에 빛을 투사하여 영상을 표시할 수 있다. 상기 스크린은, 예를 들면, 상기 전자 장치 201의 내부 또는 외부에 위치할 수 있다. 한 실시예에 따르면, 상기 디스플레이 (260)은 상기 패널 (262), 상기 홀로그램 장치 (264), 또는 프로젝터 (266)를 제어하기 위한 제어 회로를 더 포함할 수 있다.
상기 인터페이스 (270)는, 예를 들면, HDMI (high-definition multimedia interface) (272), USB (universal serial bus) (274), 광 인터페이스 (optical interface) (276), 또는 D-sub (D-subminiature) (278)를 포함할 수 있다. 상기 인터페이스 (270)는, 예를 들면, 도 1에 도시된 통신 인터페이스 (160)에 포함될 수 있다. 추가적으로 또는 대체적으로, 상기 인터페이스 (270)는, 예를 들면, MHL (mobile high-definition link) 인터페이스, SD (secure digital) 카드/MMC (multi-media card) 인터페이스, 또는 IrDA (infrared data association) 규격 인터페이스를 포함할 수 있다.
상기 오디오 모듈 (280)은, 예를 들면, 소리 (sound)와 전기 신호를 쌍방향으로 변환시킬 수 있다. 상기 오디오 모듈 (280)의 적어도 일부 구성요소는, 예를 들면, 도 1 에 도시된 입출력 인터페이스 (140)에 포함될 수 있다. 상기 오디오 모듈 (280)은, 예를 들면, 스피커 (282), 리시버 (284), 이어폰 (286), 또는 마이크 (288) 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다.
상기 카메라 모듈 (291)은, 예를 들면, 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시예에 따르면, 하나 이상의 이미지 센서 (예: 전면 센서 또는 후면 센서), 렌즈, ISP (image signal processor), 또는 플래쉬 (flash)(예: LED 또는 xenon lamp)를 포함할 수 있다.
상기 전력 관리 모듈 (295)은, 예를 들면, 상기 전자 장치 201의 전력을 관리할 수 있다. 한 실시예에 따르면, 상기 전력 관리 모듈 (295)은 PMIC (power management integrated circuit), 충전 IC (charger integrated circuit), 또는 배터리 또는 연료 게이지 (battery or fuel gauge)를 포함할 수 있다. 상기 PMIC는, 유선 및/또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등을 포함하며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 또는 정류기 등을 더 포함할 수 있다. 상기 배터리 게이지는, 예를 들면, 상기 배터리 (296)의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 상기 배터리 (296)는, 예를 들면, 충전식 전지 (rechargeable battery) 및/또는 태양 전지 (solar battery)를 포함할 수 있다.
상기 인디케이터 (297)는 상기 전자 장치 201 혹은 그 일부 (예: AP (210)의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 상기 모터 (298)는 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동 (vibration), 또는 햅틱 (haptic) 효과 등을 발생시킬 수 있다. 도시되지는 않았으나, 상기 전자 장치 201는 모바일 TV 지원을 위한 처리 장치 (예: GPU)를 포함할 수 있다. 상기 모바일 TV 지원을 위한 처리 장치는, 예를 들면, DMB (digital multimedia broadcasting), DVB (digital video broadcasting), 또는 미디어 플로우 (media flow) 등의 규격에 따른 미디어 데이터를 처리할 수 있다.
상기 전자 장치의 전술한 구성요소들 각각은 하나 또는 그 이상의 부품 (component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시예에서, 전자 장치는 전술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 다양한 실시예에 따른 전자 장치의 구성 요소들 중 일부가 결합되어 하나의 개체 (entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
도 3은 다양한 실시예에 따른 프로그램 모듈 (310)의 블록도 (300)이다. 한 실시예에 따르면, 상기 프로그램 모듈 (310) (예: 프로그램 (140)은 전자 장치 (예: 전자 장치 101)에 관련된 자원을 제어하는 운영 체제 (operation system (OS) 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션 (예: 어플리케이션 프로그램 (147)을 포함할 수 있다. 상기 운영 체제는, 예를 들면, 안드로이드 (android), iOS, 윈도우즈 (windows), 심비안 (symbian), 타이젠 (tizen), 또는 바다 (bada) 등이 될 수 있다.
프로그램 모듈 (310)은 커널 (320), 미들웨어 (330), API (application programming interface) (360), 및/또는 어플리케이션 (370)을 포함할 수 있다. 상기 프로그램 모듈 (310)의 적어도 일부는 전자 장치 상에 프리로드 (preload) 되거나, 서버 (예: 서버 (106)로부터 다운로드 (download) 가능하다.
상기 커널 (320) (예: 도 1의 커널 (141)은, 예를 들면, 시스템 리소스 매니저 (321) 또는 디바이스 드라이버 (323)를 포함할 수 있다. 상기 시스템 리소스 매니저 (321)는 시스템 리소스의 제어, 할당, 또는 회수 등을 수행할 수 있다. 한 실시예에 따르면, 상기 시스템 리소스 매니저 (321)는 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부 등을 포함할 수 있다. 상기 디바이스 드라이버 (323)는, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, WIFI 드라이버, 오디오 드라이버, 또는 IPC (inter-process communication) 드라이버를 포함할 수 있다.
상기 미들웨어 (330)는, 예를 들면, 상기 어플리케이션 (370)이 공통적으로 필요로 하는 기능을 제공하거나, 상기 어플리케이션 (370)이 전자 장치 내부의 제한된 시스템 자원을 효율적으로 사용할 수 있도록 상기 API (360)를 통해 다양한 기능들을 상기 어플리케이션 (370)으로 제공할 수 있다. 한 실시예에 따르면, 상기 미들웨어 (330) (예: 미들웨어 (143)는 런타임 라이브러리 (335), 어플리케이션 매니저 (application manager) (341), 윈도우 매니저 (window manager) (342), 멀티미디어 매니저 (multimedia manager) (343), 리소스 매니저 (resource manager) (344), 파워 매니저 (power manager) (345), 데이터베이스 매니저 (database manager) (346), 패키지 매니저 (package manager) (347), 연결 매니저 (connectivity manager) (348), 통지 매니저 (notification manager) (349), 위치 매니저 (location manager) (350), 그래픽 매니저 (graphic manager) (351), 또는 보안 매니저 (security manager) (352) 중 적어도 하나를 포함할 수 있다.
상기 런타임 라이브러리 (335)는, 예를 들면, 상기 어플리케이션 (370)이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 상기 런타임 라이브러리 (335)는 입출력 관리, 메모리 관리, 또는 산술 함수에 대한 기능 등을 수행할 수 있다.
상기 어플리케이션 매니저 (341)는, 예를 들면, 상기 어플리케이션 (370) 중 적어도 하나의 어플리케이션의 생명 주기 (life cycle)를 관리할 수 있다. 상기 윈도우 매니저 (342)는 화면에서 사용하는 GUI 자원을 관리할 수 있다. 상기 멀티미디어 매니저 (343)는 다양한 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱 (codec)을 이용하여 미디어 파일의 인코딩 (encoding) 또는 디코딩 (decoding)을 수행할 수 있다. 상기 리소스 매니저 (344)는 상기 어플리케이션 (370) 중 적어도 어느 하나의 어플리케이션의 소스 코드, 메모리 또는 저장 공간 등의 자원을 관리할 수 있다.
상기 파워 매니저 (345)는, 예를 들면, 바이오스 (BIOS: basic input/output system) 등과 함께 동작하여 배터리 (battery) 또는 전원을 관리하고, 전자 장치의 동작에 필요한 전력 정보 등을 제공할 수 있다. 상기 데이터베이스 매니저 (346)는 상기 어플리케이션 (370) 중 적어도 하나의 어플리케이션에서 사용할 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 상기 패키지 매니저 (347)는 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 업데이트를 관리할 수 있다.
상기 연결 매니저 (348)는, 예를 들면, WIFI 또는 블루투스 등의 무선 연결을 관리할 수 있다. 상기 통지 매니저 (349)는 도착 메시지, 약속, 근접성 알림 등의 사건 (event)을 사용자에게 방해되지 않는 방식으로 표시 또는 통지할 수 있다. 상기 위치 매니저 (350)는 전자 장치의 위치 정보를 관리할 수 있다. 상기 그래픽 매니저 (351)는 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 상기 보안 매니저 (352)는 시스템 보안 또는 사용자 인증 등에 필요한 제반 보안 기능을 제공할 수 있다. 한 실시예에 따르면, 전자 장치 (예: 전자 장치 101)가 전화 기능을 포함한 경우, 상기 미들웨어 (330)는 상기 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화 매니저 (telephony manager)를 더 포함할 수 있다.
상기 미들웨어 (330)는 전술한 구성요소들의 다양한 기능의 조합을 형성하는 미들웨어 모듈을 포함할 수 있다. 상기 미들웨어 (330)는 차별화된 기능을 제공하기 위해 운영 체제의 종류 별로 특화된 모듈을 제공할 수 있다. 또한, 상기 미들웨어 (330)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다.
상기 API (360) (예: API (145)는, 예를 들면, API 프로그래밍 함수들의 집합으로, 운영 체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠 (tizen)의 경우, 플랫폼 별로 두 개 이상의 API 셋을 제공할 수 있다.
상기 어플리케이션 (370) (예: 어플리케이션 프로그램 (147)은, 예를 들면, 홈 (371), 다이얼러 (372), SMS/MMS (373), IM (instant message) (374), 브라우저 (375), 카메라 (376), 알람 (377), 컨택트 (378), 음성 다이얼 (379), 이메일 (380), 달력 (381), 미디어 플레이어 (382), 앨범 (383), 또는 시계 (384), 건강 관리 (health care)(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보 제공 (예: 기압, 습도, 또는 온도 정보 등을 제공) 등의 기능을 제공할 수 있는 하나 이상의 어플리케이션을 포함할 수 있다.
한 실시예에 따르면, 상기 어플리케이션 (370)은 상기 전자 장치 (예: 전자 장치 101)와 외부 전자 장치 (예: 전자 장치 (102), (104) 사이의 정보 교환을 지원하는 어플리케이션 (이하, 설명의 편의 상, “정보 교환 어플리케이션”)을 포함할 수 있다. 상기 정보 교환 어플리케이션은, 예를 들면, 상기 외부 전자 장치에 특정 정보를 전달하기 위한 알림 전달 (notification relay) 어플리케이션, 또는 상기 외부 전자 장치를 관리하기 위한 장치 관리 (device management) 어플리케이션을 포함할 수 있다.
예를 들면, 상기 알림 전달 어플리케이션은 상기 전자 장치의 다른 어플리케이션 (예: SMS/MMS 어플리케이션, 이메일 어플리케이션, 건강 관리 어플리케이션, 또는 환경 정보 어플리케이션 등)에서 발생된 알림 정보를 외부 전자 장치 (예: 전자 장치 (102), (104)로 전달하는 기능을 포함할 수 있다. 또한, 상기 알림 전달 어플리케이션은, 예를 들면, 외부 전자 장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. 상기 장치 관리 어플리케이션은, 예를 들면, 상기 전자 장치와 통신하는 외부 전자 장치 (예: 전자 장치 (104)의 적어도 하나의 기능 (예: 외부 전자 장치 자체 (또는, 일부 구성 부품)의 턴-온/턴-오프 또는 디스플레이의 밝기 (또는, 해상도) 조절), 상기 외부 전자 장치에서 동작하는 어플리케이션 또는 상기 외부 전자 장치에서 제공되는 서비스 (예: 통화 서비스 또는 메시지 서비스)를 관리 (예: 설치, 삭제, 또는 업데이트)할 수 있다.
한 실시예에 따르면, 상기 어플리케이션 (370)은 상기 외부 전자 장치 (예: 전자 장치 (102), (104)의 속성 (예: 전자 장치의 속성으로서, 전자 장치의 종류가 모바일 의료 기기)에 따라 지정된 어플리케이션 (예: 건강 관리 어플리케이션)을 포함할 수 있다. 한 실시예에 따르면, 상기 어플리케이션 (370)은 외부 전자 장치 (예: 서버 (106) 또는 전자 장치 (102), (104)로부터 수신된 어플리케이션을 포함할 수 있다. 한 실시예에 따르면, 상기 어플리케이션 (370)은 프리로드 어플리케이션 (preloaded application) 또는 서버로부터 다운로드 가능한 제3자 어플리케이션 (third party application)을 포함할 수 있다. 도시된 실시예에 따른 프로그램 모듈 (310)의 구성요소들의 명칭은 운영 체제의 종류에 따라서 달라질 수 있다.
다양한 실시예에 따르면, 상기 프로그램 모듈 (310)의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어, 또는 이들 중 적어도 둘 이상의 조합으로 구현될 수 있다. 상기 프로그램 모듈 (310)의 적어도 일부는, 예를 들면, 프로세서 (예: AP (210)에 의해 구현 (implement)(예: 실행)될 수 있다. 상기 프로그램 모듈 (310)의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트 (sets of instructions) 또는 프로세스 등을 포함할 수 있다.
본 문서에서 사용된 용어 “모듈”은, 예를 들면, 하드웨어, 소프트웨어 또는 펌웨어 (firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위 (unit)를 의미할 수 있다. “모듈”은, 예를 들면, 유닛 (unit), 로직 (logic), 논리 블록 (logical block), 부품 (component), 또는 회로 (circuit) 등의 용어와 바꾸어 사용 (interchangeably use)될 수 있다. “모듈”은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. “모듈”은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. “모듈”은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면,“모듈”은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC (application-specific integrated circuit) 칩, FPGAs (field-programmable gate arrays) 또는 프로그램 가능 논리 장치 (programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따른 장치 (예: 모듈들 또는 그 기능들) 또는 방법 (예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체 (computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어는, 프로세서 (예: 프로세서 (120)에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 상기 메모리 (130)가 될 수 있다.
상기 컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체 (magnetic media)(예: 자기테이프), 광기록 매체 (optical media)(예: CD-ROM (compact disc read only memory), DVD (digital versatile disc), 자기-광 매체 (magneto-optical media)(예: 플롭티컬 디스크 (floptical disk), 하드웨어 장치 (예: ROM (read only memory), RAM (random access memory), 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
다양한 실시예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱 (heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
그리고 본 문서에 개시된 실시예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 개시의 범위를 한정하는 것은 아니다. 따라서, 본 개시의 범위는, 본 개시의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시예를 포함하는 것으로 해석되어야 한다.
다양한 실시예에 따르면, 연결 관리부(1430)는 적어도 하나의 디바이스와의 연결을 관리하고, 호스트 관리부(1410)은 상기 전자장치와 연결된 적어도 하나의 디바이스의 상태 정보를 확인하고, 전자장치의 기능을 제어하며, 메시지 관리부(1440)은 알림 이벤트의 발생을 확인하고, 상기 적어도 하나의 디바이스의 상태 정보를 고려하여, 메시지를 생성하고, 상기 메시지를 상기 적어도 하나의 디바이스로 전달할 수 있다.
다양한 실시예에 따르면, 상기 상태 정보는, 상기 디바이스의 하드웨어 정보, 운영체제(OS) 정보, 애플리케이션 설치 정보, 보안정보, 기능정보, 상기 디바이스의 현재 사용 여부, 상기 디바이스에서 실행 중인 애플리케이션 정보, 하드웨어 동작 상태 정보, 배터리 상태, 네트워크 상태, 및 센서 수집 정보 중, 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 상기 적어도 하나의 디바이스는 제1디바이스, 및 제2디바이스를 포함하며, 메시지 관리부(1420)는 상기 제1디바이스의 상태 정보에 기초한 제1메시지를 생성하고, 상기 제2디바이스의 상태 정보에 기초한 제2메시지를 생성할 수 있다.
다양한 실시예에 따르면, 메시지 관리부(1420)는, 상기 적어도 하나의 디바이스의 상태 정보를 고려하여 상기 적어도 하나의 디바이스에 대한 우선순위를 확인하고, 상기 우선순위에 따라 상기 메시지를 순차적으로 상기 적어도 하나의 디바이스로 전달할 수 있다/
다양한 실시예에 따르면, 상기 메시지는, 상기 연결장치의 사용자를 인증하는 보안 정보를 포함할 수 있다.
다양한 실시예에 따르면, 메시지 관리부(1420)는, 상기 전자장치의 사용자를 인증하는 보안 정보를 포함하는 제1메시지를 제1디바이스로 제공하고,
상기 제1디바이스로부터 상기 사용자 인증에 대한 응답을 수신하고, 상기 메시지의 발생을 지시하는 알림 지시자와, 상기 메시지의 주제를 지시하는 제목 정보와, 상기 메시지에 포함되는 본문의 내용 중, 적어도 하나를 포함하는 제2메시지를 적어도 하나의 제2디바이스로 전송할 수 있다.
도 4는 본 발명의 다양한 실시예에 따른 메시지 제공 방법이 적용되는 시스템을 예시하는 도면이다. 본 발명의 실시예에 따른 메시지 제공 방법이 적용되는 시스템은 전자장치(410, 예 도 1의 전자 장치(101, 102 또는 104), 및 상기 전자장치(410)와 연결되는 적어도 하나의 디바이스(420,430,440)를 포함할 수 있다.
전자장치(410)는 휴대단말일 수 있다. 그리고, 상기 적어도 하나의 디바이스(420, 430, 440)는 상기 전자장치(410)와 연결되는 웨어러블 디바이스일 수 있다. 예컨대, 상기 웨어러블 디바이스는 시계형, 안경형, 밴드형, 목걸이형, HMD(Head Mounted Device) 등의 디바이스를 포함할 수 있다.
전자장치(410)는 장치에 구비되는 적어도 하나의 어플리케이션이 구동되면서 발생되는 알림(Notification) 정보를 적어도 하나의 디바이스(420, 430, 440)에 제공할 수 있다. 이를 위해, 전자장치(410)는 상기 적어도 하나의 디바이스(420, 430, 440)와의 연결을 개시하는 동작을 수행할 수 있으며, 전자장치(410)는 상기 적어도 하나의 디바이스(420, 430, 440)와 연결성(Connectivity)을 확보하기 위한 동작을 수행할 수 있다. 예컨대, 전자장치(410)는 디스커버리(Discovery), 페어링(Pairing), 자동 연결(Auto-Connection), 연결 회복(Recovery) 등의 동작을 수행할 수 있다. 전자장치(410)는 전술한 바와 같은 동작을 진행하면서, 알림 메시지를 적어도 하나의 디바이스(420, 430, 440)에 제공하는데 필요한 정보(예컨대, 연결장치의 상태정보 등)를 상기 적어도 하나의 디바이스(420, 430, 440)로부터 수신할 수 있다.
본 발명의 다양한 실시예에서, 전자장치(410)에 연결되는 상기 적어도 하나의 디바이스를 도 1에 도시되는 디바이스(420, 430, 440)를 예시하고 있으나, 본 발명이 디바이스의 수를 한정하는 것은 아니다. 본 발명에서 상기 적어도 하나의 디바이스는 상기 전자장치(410)와 연결될 수 있으면 충분하고, 하나 또는 그 이상의 디바이스를 포함할 수 있다.
도 5는 본 발명의 다양한 실시예에 따른 메시지 제공 방법의 순서를 도시하는 흐름도이다.
도 5를 참조하면, 본 발명의 다양한 실시예에 따른 메시지 제공 방법은 상기 전자장치(410)와 연결된 적어도 하나의 디바이스(420, 430, 440)의 상태 정보를 확인하는 동작(510), 상기 적어도 하나의 디바이스(420, 430, 440)의 상태 정보를 고려하여, 알림 메시지를 생성하는 동작(520)과, 상기 메시지를 상기 적어도 하나의 디바이스(420, 430, 440)로 전달하는 동작(530)을 포함할 수 있다.
동작(510)은 알림 기능을 지원하는 어플리케이션으로부터 알림에 대한 트리거가 발생하는지 여부를 확인하는 동작을 포함할 수 있다. 상기 알림에 대한 트리거는 전자장치(410)에 구비되는 어플리케이션이 구동하면서 알림 기능을 갖는 메시지를 생성하여 발생되거나, 외부 전자장치로부터 수신 메시지를 수신하여 발생될 수 있다. 상기 전자장치(410)가 외부 전자장치로부터 수신한 수신 메시지는 메시지의 타입 정보, 상기 메시지에 대응되는 어플리케이션의 종류, 상기 메시지에 포함된 컨텐츠의 종류 중, 적어도 하나를 포함할 수 있다.
예컨대, 전자장치(410)에 구비되는 캘린더 어플리케이션이 동작하는 과정에서, 사용자에 의해 미리 설정된 일정에 도달함에 따라, 상기 캘린더 어플리케이션은 상기 일정을 알리는 메시지를 생성할 수 있다. 이 과정에서, 전자장치(410)는 전술한 알림에 대한 트리거가 발생되는 지를 확인하는 동작을 처리할 수 있다.
다른 예로써, 이메일 어플리케이션은, 전자장치(410)의 사용자에게 할당된 계정에 신규한 메일이 수신되게 되면, 이메일을 관리하는 서버 장치는 신규한 메일이 수신되었음을 알리는 이벤트를 전자장치(410)에 제공할 수 있다. 이에 따라, 전자장치(410)에 구비된 이메일 어플리케이션은 신규한 메일이 수신되었음을 알리는 트리거를 인디케이터나, 아이콘 등을 통해 디스플레이 할 수 있다. 이 과정에서, 전자장치(410)는 전술한 알림에 대한 트리거가 발생되는 지를 확인하는 동작을 처리할 수 있다.
동작(510)은 적어도 하나의 디바이스(420, 430, 440)의 상태 정보를 확인하는 과정이다. 이 과정에서 확인되는 상기 상태 정보는 정적 정보 또는 동적 정보를 포함할 수 있다. 정적 정보는 적어도 하나의 디바이스(420, 430, 440)와의 연결을 수행하는 과정에서 수집되어 저장되거나, 사용자의 요구에 의해 수집되는 정보로써, 디바이스에 할당되어 변동되지 않는 정보를 포함할 수 있다. 예컨대, 정적 정보는 DeviceID 정보, DeviceName 정보, Platform 정보, AppList 정보, AppVersion 정보, Connectivity 정보, ProvidingFeature(or RequiredFeature) 정보, Security 정보, Noti. Level 정보, AppFeature 정보, P/C Peer-to-peer 정보, P/C 인증 방식 정보, H/W 정보 정보, 가용 센서 정보, 지원 파일 형식 정보 중, 적어도 하나를 포함할 수 있다.
DeviceID 정보는 연결된 디바이스를 식별할 수 있는 정보를 포함한다. 예컨대, DeviceID는 상기 연결된 디바이스의 MAC 주소를 포함할 수 있다.
DeviceName 정보는 사용자에 의해 지정 또는 입력되는 디바이스의 이름ㅇ르 포함할 수 있다.
Platform 정보는 디바이스에 적용되는 플랫폼의 종류를 지시하는 정보를 포함할 수 있다. 상기 platform 정보는 OS에 대한 정보뿐만 아니라 디바이스의 특징 정보를 포함할 수 있다.
AppList 정보는 디바이스에 설치된 어플리케이션의 목록을 지시하는 정보를 포함할 수 있다.
AppVersion 정보는 디바이스에 설치된 어플리케이션의 버젼을 지시하는 정보를 포함할 수 있다.
Connectivity 정보는 디바이스 별로 지원 가능한 통신 방식을 지시하는 정보를 포함할 수 있다.
ProvidingFeature(or RequiredFeature) 정보는 전자장치와 디바이스 사이에서 각각 역할에 따른 기능을 지시하는 정보를 포함할 수 있다.
Security 정보는 디바이스에서 정의된 보안 레벨을 지시하는 정보를 포함할 수 있다.
Noti. Level 정보는 디바이스에서 메시지를 수신할 수 있는 수준을 지시하는 정보를 포함할 수 있다.
AppFeature 정보는 어플리케이션의 버전별 주요 기능을 지시하는 정보를 포함할 수 있다. AppFeature 정보는 전자장치와 디바이스에 수록된 어플리케이션의 호환성을 확인하는데 사용되는 정보일 수 있다.
P/C Peer-to-peer 정보는 디바이스의 연결 방식을 지시하는 정보를 포함할 수 있다.
P/C 인증 방식 정보는 디바이스에서 인증을 수행하는 방식을 지시하는 정보를 포함할 수 있다.
한편, 동적 정보는 디바이스에서 동적으로 변화될 수 있는 정보를 포함할 수 있다. 예컨대, 디바이스가 현재 구동되고 있는지 여부, 디바이스가 현재 실행중인 어플리케이션 정보, 백그라운드에서 대기중인 애플리케이션의 정보, 또는 CPU 동작 상태, 화면제어 상태, 배터리 상태, 네트워크 상태, 센서 수집 정보 등을 포함할 수 있다.
한편, 동작(520)은 상기 적어도 하나의 디바이스(420, 430, 440)의 상태 정보를 고려하여, 알림 메시지를 생성할 수 있다. 특히, 동작(520)은 상기 적어도 하나의 디바이스(420, 430, 440)의 상태정보에 맞게 각각 적응적으로 메시지를 재구성하여 생성할 수 있다. 예컨대, 전자장치(410)는 화면의 제약이 있는 밴드 형태의 디바이스에는 메일의 제목 또는 발신인 정보 등의 필수 정보만 전달하고, 스마트 와치 형태의 디바이스에는 메일의 본문 내용을 전송할 수 있도록 메시지를 구성할 수 있다.
나아가, 동작(520)은 생성할 메시지의 대상이 되는 상기 적어도 하나의 디바이스(420, 430, 440를 선택하는 동작을 더 포함할 수 있다. 상기 적어도 하나의 디바이스(420, 430, 440)를 선택하는 동작은 상기 적어도 하나의 디바이스(420, 430, 440)의 상태정보를 반영하여 선택될 수 있다. 상기 적어도 하나의 디바이스(420, 430, 440를 선택하는 동작은 단일의 디바이스를 선택하는 동작이나, 복수의 디바이스를 선택하는 동작을 포함할 수 있음은 물론이다.
나아가, 상기 적어도 하나의 디바이스(420, 430, 440)를 선택하는 동작이 복수의 디바이스를 선택하는 동작을 포함하는 경우, 메시지를 생성하는 동작은 복수의 디바이스 각각에 대응되는 복수의 알림 메시지를 생성하는 동작을 포함할 수 있다. 구체적으로, 메시지를 생성하는 동작은 제1디바이스의 상태정보에 기초한 제1메시지를 생성하는 동작과, 제2디바이스의 상태정보에 기초한 제2메시지를 생성하는 동작을 포함할 수 있다.
또한, 다른 예로써, 전자장치(410)가 외부 장치로부터 수신한 메시지에 포함된 정보를 고려하여, 상기 적어도 하나의 디바이스(420, 430, 440)를 선택할 수 있다. 여기서, 상기 전자장치(410)가 외부 전자장치로부터 수신한 메시지는 상기 메시지의 타입 정보, 상기 메시지에 대응되는 어플리케이션의 종류, 상기 메시지에 포함된 컨텐츠의 종류 중, 적어도 하나를 포함할 수 있다.
한편, 도 6은 본 발명의 다양한 실시예에 따른 메시지 제공 방법에서 생성되는 메시지를 예시하는 도면이다. 도 7a는 도 6의 메시지에 포함되는 메시지 타입 정보를 예시하는 도면이고, 도 7b는 도 6의 메시지에 포함되는 메시지 카테고리 정보를 예시하는 도면이다. 도 8은 도 6의 알림 메시지에 포함되는 메시지 데이터를 예시하는 도면이다.
도 6을 참조하면, 메시지(600)는, 메시지 타입 정보(610), 메시지 카테고리 정보(620), 메시지 소스 정보(630), 및 메시지 데이터(640)를 포함할 수 있다. 또한, 메시지(600)는 전자장치에서 생성되는 메시지를 식별 및 관리하기 위해 사용되는 Sequential Number(650)를 포함할 수 있다.
메시지 타입 정보(610)는 메시지 타입을 지시하는 정보를 포함한다. 예컨대, 도 7a와 같이, 메시지 타입 정보(700, 도 6의 610)는 프로토콜 버젼 정보(710), 메시지의 전송 종류를 지시하는 정보(720), 메시지의 식별 타입을 지시하는 정보(730) 중, 적어도 하나를 포함할 수 있다. 구체적으로, 프로토콜 버젼 정보(710)는 알림을 사용하는 프로토콜에서 정의라고 있는 버젼을 식별하는 값을 포함할 수 있고, 메시지의 전송 종류를 지시하는 정보(720)는 메시지가 일반 전송되는 메시지인지 또는 긴급으로 전송되는 메시지인지를 식별하는 정보를 포함할 수 있다. 그리고, 메시지의 식별 타입을 지시하는 정보(730)는 어플리케이션에서 최초로 발행되는 메시지인지, 어플리케이션에서 복수의 알림 메시지가 존재하는지, 또는 사용자에 의해서 메시지가 확인 되었는지 등을 지시하는 정보 중 적어도 하나를 포함할 수 있다.
메시지 카테고리 정보(620)는 상기 메시지가 포함된 카테고리의 종류를 알 수 있는 정보이며, 도 7b와 같이 카테고리의 종류를 나타내는 Value 이 저장될 수 있다.
메시지 소스 정보(330)는 상기 메시지를 발행한 객체를 지시하는 정보를 포함할 수 있다. 예컨대, 전자장치에 구비되는 메시지 패널에서 발행되었는지 또는 전자장치에 수록된 어플리케이션에서 발행되었는지를 지시하는 정보를 포함할 수 있다.
메시지 데이터(640)는 상기 메시지가 포함하는 실제 데이터를 포함할 수 있다. 예컨대, 메시지 데이터(640)는 TLV(Type, Length, Value) 형식으로 구비될 수 있다. 또한, 도 8에 예시된 바와 같이, 메시지 데이터(800, 도 6의 640)는 메시지의 발생을 지시하는 알림 지시자(810)와, 상기 메시지의 주제를 지시하는 제목 정보(820)와, 상기 메시지에 포함되는 본문 내용(830)을 포함할 수 있다. 나아가, 상기 메시지는 상기 적어도 하나의 디바이스(420, 430, 440)의 사용자를 인증하는 보안 정보(840)를 더 포함할 수 있다.
동작(530)은 동작(520)에서 생성한 상기 메시지를 상기 적어도 하나의 디바이스(420, 430, 440)로 전달하는 동작을 포함한다. 상기 적어도 하나의 디바이스(420, 430, 440)가 복수 개를 포함하는 경우, 상기 동작(530은 복수개의 메시지를 각각 상기 적어도 하나의 디바이스(420, 430, 440)로 전송할 수 있다.
또한, 상기 동작(530)은 상기 메시지를 상기 적어도 하나의 디바이스(420, 430, 440)로 전송함에 있어서, 상기 각각의 메시지를 상기 적어도 하나의 디바이스(420, 430, 440)로 순차적으로 전송할 수 있다. 예컨대, 동작(530)은 상기 적어도 하나의 디바이스(420, 430, 440)의 상태정보를 고려하여, 전송 우선순위를 설정하는 동작을 더 포함할 수 있다. 그리고, 동작(530)은 상기 전송 우선순위에 따라, 상기 각각의 메시지를 상기 적어도 하나의 디바이스(420, 430, 440)에 순차적으로 전송할 수 있다.
또한, 다른 예로써, 동작(530)은 메시지의 발생을 지시하는 정보를 포함하는 제1메시지를 제1디바이스로 전송하고, 상기 제1디바이스로부터 응답을 수신함에 따라, 메시지의 발생을 지시하는 알림 지시자와, 상기 메시지의 주제를 지시하는 제목 정보와, 상기 메시지에 포함되는 본문 내용 중, 적어도 하나를 포함하는 제2메시지를 상기 적어도 하나의 디바이스(420, 430, 440)로 전송하는 동작을 포함할 수 있다.
상기 메시지를 상기 적어도 하나의 디바이스(420, 430, 440)로 전송함에 있어서, 활성화 지표에 따라 상기 적어도 하나의 디바이스(420, 430, 440)로 시차를 두고 전송할 수 있다. 예컨대, 상기 적어도 하나의 디바이스(420, 430, 440)의 상태 정보를 확인하여, 사용자가 현재 사용하는 적어도 하나의 디바이스(420, 430, 440)를 판별하고, 현재 사용자가 사용중인 적어도 하나의 디바이스(420, 430, 440)에 한하여 상기 메시지를 전달할 수 있다. 예컨대, 적어도 하나의 디바이스(420, 430, 440) 중, 스마트 와치와 같은 디바이스의 디스플레이 화면이 켜져 있고, 사용자의 입력을 처리하고 있는 상태에서 알림에 대한 트리거가 발생되는 경우, 사용자에 의해 동작되고 있는 상기 스마트 와치와 같은 디바이스에만 상기 메시지를 전송할 수 있다.
또 다른 실시예로 사용자가 전자장치(410)를 조작하고 있는 경우에는, 메시지를 적어도 하나의 디바이스(420, 430, 440)로 전달하지 않을 수도 있다. 예컨대, 전자장치(410)의 디스플레이 화면이 켜져 있고, 사용자의 입력을 처리하고 있는 상태에서 알림에 대한 트리거가 발생되는 경우, 사용자가 전자장치(410)를 조작하고 있는 것으로 확인하여 상기 메시지를 전송하지 않도록 구성할 수 있다.
상기 활성화 지표는 상기 상태 정보에 포함된 동적 정보를 사용하여 결정할 수 있다. 예컨대, 상기 활성화 지표는 디바이스에 대한 사용자의 입력 여부, 디스플레이 화면의 온/오프 상태, CPU 사용량, 배터리 감소 속도, 네트워크 사용량 중 적어도 하나를 이용하여 결정될 수 있다.
또한, 상기 활성화 지표는 상기 적어도 하나의 디바이스(420, 430, 440)의 사용 빈도를 포함할 수 있다. 예컨대, 상기 상태 정보를 로그 형식으로 저장하고, 이를 기반으로 컨텍스트를 구성할 수 있다. 그리고, 구성된 컨텍스트를 바탕으로 사용자가 선호하는 디바이스 또는 사용이 빈번한 디바이스에 상대적으로 높은 우선순위를 설정할 수 있다.
또한, 상기 활성화 지표를 결정함에 있어서, 사용자가 일정 시간동안 사용하지 않은 디바이스는 확인을 하지 않는 경우에 상기 우선순위가 상대적으로 높게 설정되어 있더라고, 사용자가 일정 시간동안 사용하지 않은 디바이스로는 상기 알림 메시지를 전송하지 않고 차상위 우선순위를 가진 디바이스부터 상기 알림 메시지를 전송할 수 있다.
다른 실시 예로써, 상기 적어도 하나의 디바이스(420, 430, 440)에서 실행 중인 애플리케이션의 종류에 따라서 상기 메시지 전송의 우선순위를 결정할 수 있다. 예컨대, 상기 적어도 하나의 디바이스(420, 430, 440)가 HMT와 같은 디바이스이고, 게임 또는 영화와 관련된 어플리케이션이 동작될 경우, 차상위 우선순위를 가진 디바이스부터 상기 메시지를 전송할 수 있다.
다른 실시 예로써, 메세지에 포함된 컨텐츠의 종류에 따라, 메시지 전달의 우선 순위를 결정할 수 있다. 예컨대, 외부 전자장치로부터 수신한 메시지가, 이메일이나 SNS에 문서형식의 파일이 첨부되어 있을 경우, 상기 적어도 하나의 디바이스(420, 430, 440)가 상기 첨부된 파일에 대한 실행을 지원하는지 여부와, 디스플레이 화면의 크기 등의 정보를 고려하여 우선순위를 설정하여 상기 메시지를 전송할 수 있다.
또 다른 실시 예로써, 외부 전자장치로부터 수신한 메시지에 포함되는 컨텐츠의 종류, 상기 메시지를 전송한 송신지의 정보, 상기 적어도 하나의 디바이스(420, 430, 440)의 위치정보, 또는 시간 정보를 사용하여 우선순위를 설정하고, 상기 메시지를 전송할 수 있다.
또한, 다른 실시예로써, 사용자에 의해 설정된 조건을 기반으로, 상기 메시지를 전송할 수 있다.
한편, 동작(530)은 보안정보를 사용하여 메시지를 전송하는 동작을 포함할 수 있다. 예컨대, 전자장치의 사용자를 인증하는 보안 정보를 포함하는 제1메시지를 제1디바이스(예, 스마트 와치 등)로 전송하고, 상기 제1디바이스로부터 사용자 인증에 대한 응답을 수신하는 동작을 포함할 수 있다. 그리고, 상기 제1디바이스로부터 사용자 인증에 대한 응답을 통해 보안이 해제됨에 따라, 동작(530)은 메시지의 발생을 지시하는 알림 지시자와, 상기 메시지의 주제를 지시하는 제목 정보와, 상기 메시지에 포함되는 본문 내용 중, 적어도 하나를 포함하는 제2메시지를 상기 적어도 하나의 디바이스(420, 430, 440)로 전송하는 동작을 포함할 수 있다.
나아가 전술한 사용자 인증은 상기 적어도 하나의 디바이스(420, 430, 440)에서 수집되는 다양한 정보를 사용하여 수행될 수 있다. 예컨대, 상기 적어도 하나의 디바이스(420, 430, 440)가 패스워드 등을 입력하는 입력창을 통해 사용자로부터 패드워드를 입력받고, 상기 입력받은 패스워드가 유효한지 여부를 확인함으로써, 사용자 인증을 처리할 수 있다. 다른 예로써, 상기 적어도 하나의 디바이스(420, 430, 440)에 구비되는 적어도 하나의 센서를 통해 수집되는 정보를 사용하여 사용자 인증을 수행할 수 있다. 예컨대, 심전도(ECG) 프로파일, 맥박 패턴(Pulse pattern), 정맥 패턴, 홍채인식, 지문인식, 근육 정보 등의 생체정보를 사용하여, 사용자 인증을 처리할 수 있다. 구체적으로, 사용자의 등록 절차를 통해서 사용자의 생체 정보를 등록 할 수 있다. 그리고, 사용자의 신체변화를 지속적으로 모니터링하여 사용자의 생체정보의 변화를 추적하고, 이를 바탕으로 인증 정보를 설정할 수 있다, 그리고, 디바이스가 전술한 제1메시지를 수신할 경우, 상기 생체 정보를 바탕으로 사용자 인증을 처리할 수 있다. 예컨대, 손목형 밴드와 같은 디바이스는, 사용자의 심전도 프로파일을 획득할 수 있으며, 이렇게 수집되는 심전도 프로파일을, 사용자가 미리 등록한 심전도 프로파일과 비교함으로써, 사용자 인증 동작을 처리할 수 있다.
한편, 전자장치(410)는 전술한 사용자 인증 동작을 통해 확인된 결과를 반영하여 메시지의 전달을 처리할 수 있다. 예컨대, 사용자 인증 동작을 처리한 결과, 사용자 인증에 성공하였을 경우, 상기 메시지를 상기 적어도 하나의 디바이스(420, 430, 440)에 제공할 수 있다. 그러나, 사용자 인증 동작을 처리한 결과, 사용자 인증에 실패하였을 경우, 상기 메시지를 전송하지 않거나, 사용자 인증이 실패하였음을 알리는 메시지를 상기 적어도 하나의 디바이스(420, 430, 440)에 제공할 수 있다. 또한, 다른 예로써, 사용자 인증 동작을 처리한 결과, 사용자 인증에 실패하였을 경우, 상기 메시지를 제한적으로 상기 적어도 하나의 디바이스(420, 430, 440)에 제공할 수도 있다. 예컨대, 상기 알림 지시자를 포함하는 메시지를 상기 적어도 하나의 디바이스(420, 430, 440)에 제공하거나, 제목 정보를 포함하는 메시지를 상기 적어도 하나의 디바이스(420, 430, 440)에 제공할 수 있다.
이하, 도 9 내지 도 12를 참조하여, 전술한 본 발명의 다양한 실시예에 따른 메시지 제공 방법의 동작을 보다 구체적으로 설명한다.
전자장치가 SMS를 수신하고, SMS 수신에 대응하여 메시지를 제공하는 동작을 예시한다.
우선, 도 9는 본 발명의 다양한 실시예에 따른 메시지 제공 방법에서 전자장치가 수신한 메시지를 예시한다. 도 10은 도 9의 메시지를 기반으로 생성된 메시지 데이터를 예시한다.
우선, 전자장치(410)는 외부 전자장치로부터 SMS 메시지를 수신함에 따라, 본 발명의 다양한 실시예에 따른 메시지 제공 방법의 동작을 진행한다. 구체적으로, 전자장치(410)는 외부 전자장치로부터 SMS 메시지를 수신함에 따라, 이벤트를 발생시킨다.
전자장치는 메시지를 전송하기 위하여, 전자장치에 연결된 적어도 하나의 디바이스(420, 430, 440)의 상태정보를 확인하게 된다.
다음으로, 전자장치(410)는 적어도 하나의 디바이스(420, 430, 440)의 상태정보를 반영하여 메시지를 생성하게 된다. 상기 메시지는 적어도 하나의 디바이스(420, 430, 440)의 상태정보에 맞게 다양하게 생성할 수 있다.
예컨대, 도 9에서와 같이, 전술한 SMS 메시지(900)는, 발신자 정보(910), 제목 정보(920), 본문 내용(930)을 포함할 수 있다. 이에 대응하여, 메시지에 포함될 데이터, 즉 메시지 데이터는 도 10에서와 같이, 알림 지시자(1010), 발신자 정보(1020), 제목 정보(1030), 및 본문 내용(1040) 중, 적어도 하나를 포함할 수 있다. 그리고, 이러한 메시지 데이터에 포함된 정보는 적어도 하나의 디바이스(420, 430, 440)의 상태정보에 맞추어, 선택적으로 메시지에 포함될 수 있다. 예컨대, 도 11a 에 예시되는 바와 같이, 제1디바이스가 디스플레이 화면의 크기가 상대적으로 작은 밴드 형태의 디바이스인 경우, 제1디바이스로 전송될 제1메시지(1110)는 알림 지시자(1010), 발신자 정보(1020), 제목 정보(1030)등, 일부 정보만 포함하도록 생성할 수 있다. 그리고, 도 11b에 예시되는 바와 같이 제2디바이스가 스마트 워치 형태의 디바이스인 경우, 제2디바이스로 전송될 제2메시지(1120)는 알림 지시자(1010)와, 본문 내용(1040)만 포함할 수 있다. 또한, 도 11c에 예시되는 바와 같이, 제3디바이스가 디스플레이를 구비하지 않은 디바이스인 경우, 제3디바이스로 전송될 제3메시지(1130)는 알림 지시자(1010)만 포함할 수 있다.
또 다른 예로써, 도 11d에 예시되는 바와 같이, 제4디바이스가 상대적으로 큰 디스플레이를 구비하는 경우, 즉 제4디바이스로 전송될 제4메시지(1140)는 알림 지시자(1010), 발신자 정보(1020), 제목 정보(1030), 및 본문 내용(1040) 모두를 포함하도록 구성할 수 있다. 그리고, 제4메시지(1140)는 텍스트 형식의 발신자 정보(1020), 제목 정보(1030), 및 본문 내용(1040)뿐 아니라, 발신자 정보(1030), 제목 정보(1030), 및 본문 내용(1040)의 숏컷 이미지(1050)를 함께 포함할 수도 있다.
나아가, 본 발명의 다양한 실시예에 따른 메시지 제공 방법은 보안 설정된 메시지를 생성 및 전송할 수 있다.
도 12a 내지 도 12c는 본 발명의 다양한 실시예에 따른 메시지 제공 방법이 보안 설정된 메시지를 생성 및 전송하는 동작을 예시하는 개념도이다.
우선, 도 12a를 참조하면, 전자장치(1210)는 보안 인증을 위한 제1메시지를 제1디바이스(1220)로 전송할 수 있다(1211). 상기 제1메시지는 알림 지시자와, 보안 정보를 포함할 수 있다. 제1디바이스(1220)는 상기 제1메시지를 수신함에 따라, 메시지가 수신되었음을 확인하고, 상기 전송된 보안정보에 대응하여, 사용자 인증을 수행하는 동작을 처리한다. 상기 사용자 인증을 처리하는 동작은 상기 제1디바이스(1220)가 디스플레이 등을 통해 사용자에게 인증을 위한 정보(예, 패스워드 등)를 입력하는 입력 창을 생성하여 표시하고, 사용자로부터 인증을 위한 정보(예, 패스워드 등)를 입력받을 수 있다. 또한 다른 예로써, 상기 사용자 인증을 처리하는 동작은 상기 제1디바이스(1220)에 의해 미리 저장된, 또는 사용자로부터 실시간으로 수집되는 생체 정보등을 사용하여 사용자 인증을 처리할 수 있다.
한편, 전술한 동작을 통해, 상기 사용자 인증을 처리하는 동작이 완료되면, 제1디바이스(1220)는 상기 제1메시지에 대한 응답 메시지를 전자장치(1210)로 전송할 수 있다(1221-1). 상기 응답 메시지는 상기 사용자 인증을 처리하는 동작을 통해 보안 인증이 승인 또는 거절되었음을 지시하는 정보를 포함할 수 있다. 전자장치(1210)는 상기 응답 메시지에 포함된 정보를 기반으로, 제2메시지를 생성하여, 제2디바이스(1230)로 전송할 수 있다(1213). 이때, 상기 제2메시지는 알림 지시자, 발신자 정보, 제목 정보, 및 본문 내용 중, 적어도 하나의 정보를 포함할 수 있다.
보안 설정된 메시지를 생성 및 전송하는 동작에 대한 다른 실시예를 도시하는 도 12b를 참조하면, 전자장치(1210)는 보안 인증을 위한 제1메시지를 제1디바이스(1220)로 전송할 수 있다(1211). 상기 제1메시지는 알림 지시자와, 보안 정보를 포함할 수 있다. 제1디바이스(1220)는 상기 제1메시지를 수신함에 따라, 메시지가 수신되었음을 확인하고, 상기 전송된 보안정보에 대응하여, 사용자 인증을 수행하는 동작을 처리한다. 상기 사용자 인증을 처리하는 동작은 상기 제1디바이스(1220)가 디스플레이 등을 통해 사용자에게 인증을 위한 정보(예, 패스워드 등)를 입력하는 입력 창을 생성하여 표시하고, 사용자로부터 인증을 위한 정보(예, 패스워드 등)를 입력받을 수 있다. 또한 다른 예로써, 상기 사용자 인증을 처리하는 동작은 상기 제1디바이스(1220)에 의해 미리 저장된, 또는 사용자로부터 실시간으로 수집되는 생체 정보 등을 사용하여 사용자 인증을 처리할 수 있다. 나아가, 상기 사용자 인증을 처리하는 동작은 메시지를 전송할 디바이스에 대한 정보를 더 입력받을 수 있다. 구체적으로, 제1메시지는 상기 전자장치(1210)와 연결된 적어도 하나의 디바이스에 대한 리스트를 포함할 수 있다. 그리고, 적어도 하나의 디바이스에 대한 리스트를 기반으로, 상기 제1디바이스(1220)가 디스플레이 등을 통해 사용자에게 알림 메시지를 전송한 디바이스를 선택하는 입력 창을 생성하여 표시하고, 사용자로부터 메시지를 전송한 디바이스를 입력받을 수 있다.
한편, 전술한 동작을 통해, 상기 사용자 인증을 처리하는 동작이 완료되면, 제1디바이스(1220)는 상기 제1메시지에 대한 응답 메시지를 전자장치(1210)로 전송할 수 있다(1221-2). 상기 응답 메시지는 상기 사용자 인증을 처리하는 동작을 통해 보안 인증이 승인 또는 거절되었음을 지시하는 정보와, 디바이스를 지시하는 정보(알림 메시지를 전송할 디바이스를 지시하는 정보)를 포함할 수 있다. 전자장치(1210)는 상기 응답 메시지에 포함된 정보를 기반으로, 제2메시지를 생성할 수 있다. 그리고, 상기 응답 메시지에 포함된 디바이스를 지시하는 정보에 기초하여, 상기 제2디바이스(1230)를 설정하고, 상기 제2메시지를 제2디바이스(922)로 전송할 수 있다(1213). 이때, 상기 제2메시지는 알림 지시자, 발신자 정보, 제목 정보, 및 본문 내용 중, 적어도 하나의 정보를 포함할 수 있다.
도 12c를 참조하면, 전자장치(1210)는 보안 인증을 위한 제1메시지를 제1디바이스(1220)로 전송할 수 있다(1211). 상기 제1메시지는 알림 지시자와, 보안 정보를 포함할 수 있다. 제1디바이스(1220)는 상기 제1메시지를 수신함에 따라, 메시지가 수신되었음을 확인하고, 상기 전송된 보안정보에 대응하여, 사용자 인증을 수행하는 동작을 처리한다. 상기 사용자 인증을 처리하는 동작은 상기 제1디바이스(1220)가 디스플레이 등을 통해 사용자에게 인증을 위한 정보(예, 패스워드 등)를 입력하는 입력 창을 생성하여 표시하고, 사용자로부터 인증을 위한 정보(예, 패스워드 등)를 입력받을 수 있다. 또한 다른 예로써, 상기 사용자 인증을 처리하는 동작은 상기 제1디바이스(1220)에 의해 미리 저장된, 또는 사용자로부터 실시간으로 수집되는 생체 정보등을 사용하여 사용자 인증을 처리할 수 있다.
한편, 전술한 동작을 통해, 상기 사용자 인증을 처리하는 동작이 완료되면, 제1디바이스(1220)는 상기 제1메시지에 대한 응답 메시지를 전자장치(1210)로 전송할 수 있다(1221-2). 상기 응답 메시지는 상기 사용자 인증을 처리하는 동작을 통해 보안 인증이 승인 또는 거절되었음을 지시하는 정보를 포함할 수 있다. 전자장치(901)는 상기 응답 메시지에 포함된 정보를 기반으로, 제2메시지를 생성하여, 적어도 하나의 제2디바이스(1230-1, 1230-2, 1230-3)로 브로드캐스팅할 수 있다(1214). 이때, 상기 제2메시지는 알림 지시자, 발신자 정보, 제목 정보, 및 본문 내용 중, 적어도 하나의 정보를 포함할 수 있다.
전자장치와 적어도 하나의 디바이스는 일반적으로 블루투스와 같은 로컬 네트워크(local network)를 이용하여 연결될 수 있다. 그러나, 블루투스와 같은 로컬 네트워크(local network)는 통신이 커버리지의 한계로 인해, 전자장치와 적어도 하나의 디바이스가 소정의 거리이상 떨어지면, 네트워크 연결이 종료될 수 있다. 이와 같이, 전자장치와 적어도 하나의 디바이스가 통신을 통해 연결되지 않으며, 전자장치가 메시지를 적어도 하나의 디바이스로 전송할 수 없는 문제가 발생될 수 있다. 따라서, 전자장치와 적어도 하나의 디바이스가 블루투스와 같은 로컬 네트워크(local network)로 연결되지 않더라도, 전자장치가 알림 메시지를 적어도 하나의 디바이스로 전송할 수 있는 방안이 요구된다.
이하, 전자장치와 적어도 하나의 디바이스가 블루투스와 같은 로컬 네트워크(local network)로 연결되지 않더라도, 전자장치가 알림 메시지를 적어도 하나의 디바이스로 전송할 수 있는 방법에 대해 서술한다.
도 13은 본 발명의 다양한 실시예에 따른 메시지 제공 방법의 다른 예를 도시하는 개념도이다. 도 13을 참조하면, 전자장치(1310)는 제1디바이스(1320)와 소정의 통신 방식(블루투스와 같은 로컬 네트워크(local network))을 통해 연결을 유지할 수 있다(1341). 이러한 상태에서, 전자장치(1310) 또는 제1디바이스(1320)가 다른 영역으로 이동함에 따라, 전자장치(1310)와 제1디바이스(1320) 사이의 연결이 종료될 수 있다(1342). 이에 따라, 제1디바이스(1320)는 공용 통신망(Public Network)을 탐색하여 연결을 수행할 수 있다(1343). 예컨대, 공용 통신망(Public Network)은 공용 블루투스(Public Bluetooth), 공용 와이파이(Public Wi-Fi)를 포함할 수 있다. 공용 블루투스(Public Bluetooth)는 어떠한 블루투스 기기도 인증 없이 자동으로 연결 가능하며, 공용 블루투스는 공용 블루투스 서비스를 관리하는 관리 서버 장치(ex. 제조사, 서비스 제공 업체 서버)(1330)와 연결될 수 있다. 이때, 제1디바이스(1320)는 연결된 공용 블루투스 네트워크를 통해 상기 관리 서버 장치(1330)로 제1디바이스(1320)를 식별할 수 있는 정보를 전송할 수 있다. 상기 제1디바이스(1320)를 식별할 수 있는 정보는 MAC address, 또는 Device ID 등을 포함할 수 있다. 또한, 제1디바이스(1320)는 연결된 공용 블루투스 네트워크를 통해 상기 관리 서버 장치(1330)로 상기 전자장치(1310)를 식별할 수 있는 정보(예, IMEI, IMSI, 또는 call number 등)를 전송할 수 있다.
이에 대응하여, 관리 서버 장치(1330)는 제공받은 정보를 이용하여 상기 제1디바이스(1320)와 연결되었던 전자장치(1310)를 공용 블루투스 네트워크를 통해 연결할 수 있다.
이와 같이, 상기 제1디바이스(1320)와 전자장치(1310)가 공용 블루투스 네트워크를 통해 연결됨(1344)으로써, 상기 전자장치(1310)는 공용 블루투스 네트워크(1020)를 통해 메시지를 전송할 수 있다. 예컨대, 상기 전자장치(1310)는 공용 블루투스 네트워크의 관리 서버 장치(1330)로 메시지를 전송하고(1345), 관리 서버 장치(1330)가 메시지를 상기 제1디바이스(1320)로 전달할 수 있다(1346). 이 과정에서 전송되는 메시지는 전술한 본 발명의 다양한 실시예에 따른 메시지 제공 방법에서 예시하였던 정보를 포함할 수 있다. 또한, 상기 메시지는 알림 지시자만을 포함할 수 있다. 또한 다른 예로써, 상기 전자장치(1310)는 사용자의 프라이버시를 보장할 수 있는 상기 메시지를 선택적으로 상기 제1디바이스(1320)에 전송할 수 있다. 예컨대, 상기 전자장치(1010)는 다양한 알림에 대한 트리거 중, low battery, 전화/문자 수신 여부에 대응되는 메시지를 상기 제1디바이스(1320)에 전송할 수 있다. 나아가, 상기 전자장치(1310)가 상기 제1디바이스(1320)에 전송할 수 있는 메시지는 사용자의 설정에 의해 결정될 수 있다. 예컨대, 사용자가 공용 네트워크를 통해 전송할 수 있는 알림 메시지의 수준을 설정하거나, 공용 네트워크를 통해 전송할 수 있는 메시지의 종류를 직접 설정할 수 있음은 물론이다.
도 14는 본 발명의 다양한 실시예에 따른 메시지 제공 방법이 적용되는 전자장치의 구성을 도시하는 블록도이다.
도 14를 참조하면, 본 발명의 다양한 실시예에 따른 메시지 제공 방법이 적용되는 전자장치(1400, 도 1의 410)는 호스트 관리부(1410), 메시지 관리부(1420), 및 연결 관리부(1430)를 포함할 수 있다. 또한, 전자장치(1400)는 웨어러블 관리부(1440)를 더 포함할 수 있다. 웨어러블 관리부(1440)는 Data Management, Multi-connection, Retransmission 및 File transfer를 처리할 수 있으며, 전자장치와 디바이스 사이의 패킷 데이터의 송수신을 관리 및 제어할 수 있다.
호스트 관리부(1410)는 전자장치(1400)에 연결된 적어도 하나의 디바이스를 를 직접적으로 관리하기 위한 모듈로써, 상태 관리부(Status Management), 백업/복원 처리부(Backup/Restore), 패키지 관리부(Package Management), 셋업 관리부(Setup Management)를 포함할 수 있다.
상태 관리부(Status Management)는 전자장치(1400)와, 적어도 하나의 디바이스의 상태정보를 수집, 저장 및 관리할 수 있다. 상기 상태정보는 정적 정보 또는 동적 정보를 포함할 수 있다. 정적 정보는 적어도 하나의 디바이스(도 4의 420, 430, 440)와의 연결을 수행하는 과정에서 수집되어 저장되거나, 사용자의 요구에 의해 수집되는 정보로써, 디바이스에 할당되어 변동되지 않는 정보를 포함할 수 있다. 예컨대, 정적 정보는 DeviceID 정보, DeviceName 정보, Platform 정보, AppList 정보, AppVersion 정보, Connectivity 정보, ProvidingFeature(or RequiredFeature) 정보, Security 정보, Noti. Level 정보, AppFeature 정보, P/C Peer-to-peer 정보, P/C 인증 방식 정보, H/W 정보 정보, 가용 센서 정보, 지원 파일 형식 정보 중, 적어도 하나를 포함할 수 있다.
DeviceID 정보는 연결된 디바이스를 식별할 수 있는 정보를 포함한다. 예컨대, DeviceID는 상기 연결된 디바이스의 MAC 주소를 포함할 수 있다.
DeviceName 정보는 사용자에 의해 지정 또는 입력되는 디바이스의 이름을 포함할 수 있다.
Platform 정보는 디바이스에 적용되는 플랫폼의 종류를 지시하는 정보를 포함할 수 있다. 상기 platform 정보는 OS에 대한 정보뿐만 아니라 디바이스의 특징 정보를 포함할 수 있다.
AppList 정보는 디바이스에 설치된 어플리케이션의 목록을 지시하는 정보를 포함할 수 있다.
AppVersion 정보는 디바이스에 설치된 어플리케이션의 버전을 지시하는 정보를 포함할 수 있다.
Connectivity 정보는 디바이스 별로 지원 가능한 통신 방식을 지시하는 정보를 포함할 수 있다.
ProvidingFeature(or RequiredFeature) 정보는 전자장치와 디바이스 사이에서 각각 역할에 따른 기능을 지시하는 정보를 포함할 수 있다.
Security 정보는 디바이스에서 정의된 보안 레벨을 지시하는 정보를 포함할 수 있다.
Noti. Level 정보는 디바이스에서 메시지를 수신할 수 있는 수준을 지시하는 정보를 포함할 수 있다.
AppFeature 정보는 어플리케이션의 버전별 주요 기능을 지시하는 정보를 포함할 수 있다. AppFeature 정보는 전자장치와 디바이스에 수록된 어플리케이션의 호환성을 확인하는데 사용되는 정보일 수 있다.
P/C Peer-to-peer 정보는 디바이스의 연결 방식을 지시하는 정보를 포함할 수 있다.
P/C 인증 방식 정보는 디바이스에서 인증을 수행하는 방식을 지시하는 정보를 포함할 수 있다.
한편, 동적 정보는 디바이스에서 동적으로 변화될 수 있는 정보를 포함할 수 있다. 예컨대, 디바이스가 현재 구동되고 있는지 여부, 디바이스가 현재 실행중인 어플리케이션 정보, 백그라운드에서 대기중인 애플리케이션의 정보, 또는 CPU 동작 상태, 화면제어 상태, 배터리 상태, 네트워크 상태, 센서 수집 정보 등을 포함할 수 있다.
백업/복원 처리부(Backup/Restore)는 적어도 하나의 디바이스에 설치된 애플리케이션에서 저장/관리하는 데이터를 관리할 수 있다. 이를 위해 적어도 하나의 디바이스에 설치된 개별 애플리케이션에 백업/복원을 수행하기 위한 API 제공할 수 있다. 또한 백업/복원 처리부(Backup/Restore)는 애플리케이션별 또는 애플리케이션 공통으로 처리 가능한 메모리의 크기를 관리할 수 있다.
패키지 관리부(Package Management)는 전자장치(1400)가 수록하고 있는 어플리케이션 패키지(Application Package)의 설치, 갱신, 또는 삭제 기능을 제공할 수 있다. 또한, 패키지 관리부(Package Management)는 어플리케이션(Application)의 데이터 및 백업된 어플리케이션의 데이터에 대한 설치 및 삭제를 처리할 수 있다.
셋업 관리부(Setup Management)는 적어도 하나의 디바이스와의 초기 연결을 처리할 수 있다. 또한, 적어도 하나의 디바이스에 수록된 각 어플리케이션에서 생성되는 셋업 정보는 어플리케이션에서 구성하여 셋업 관리부(Setup Management)에 제공할 수 있으며, 셋업 관리부(Setup Management)는 적어도 하나의 디바이스에 대한 어플리케이션의 셋업 정보를 저장할 수 있다.
또한, 호스트 관리부(1101)는 전자장치(1400)에서 적어도 하나의 디바이스를 제어할 수 있다. 구체적으로, 호스트 관리부(1410)는 호스트 관리 어플리케이션을 통해 사용자와의 인터렉션을 처리할 수 있다.
도 15a 내지 도 15e는 본 발명의 다양한 실시예에 따른 메시지 제공 방법이 적용되는 전자장치(도 14의 전자 장치(1400)에 사용되는 호스트 관리 어플리케이션 UI를 예시하는 도면이다.
호스트 관리 어플리케이션 UI는 도 15a에 예시되는 메인 UI(1510)를 포함할 수 있다. 메인 UI(1510)는 상태 관리(Status Management)를 수행할 수 있는 제1메뉴(1511), 및 백업/복구(Backup/Restore)를 수행할 수 있는 제2메뉴(1512)를 포함할 수 있다.
제1메뉴(1511)는 디바이스 상태 확인 메뉴(1511-1), 디바이스 상태 리스트 메뉴(1511-2), 및 디바이스 동기화 메뉴(1511-3)를 포함할 수 있다. 디바이스 상태 확인 메뉴(1511-1)는 전자장치(1510)에 연결된 적어도 하나의 디바이스의 상태정보의 확인을 요청하기 위한 메뉴로써, 사용자에 의해 상기 디바이스 상태 확인 메뉴(1511-1)가 선택됨에 따라, 상기 적어도 하나의 디바이스에 대한 상태정보를 확인하는 동작을 요청하게 된다. 디바이스 상태 리스트 메뉴(1511-2)는 상기 적어도 하나의 디바이스에 대한 상태정보의 리스트를 제공하는 메뉴로써, 사용자에 의해 상기 디바이스 상태 리스트 메뉴(1511-2)가 선택됨에 따라, 도 15b에 예시된 되는 바와 같이 상기 적어도 하나의 디바이스에 대한 상태정보 리스트를 제공하는 서브 메뉴( 1520)를 활성화할 수 있다. 서브 메뉴( 1520)는 상기 상태정보를 상기 적어도 하나의 디바이스별로 구분하여 제공할 수 있다. 디바이스 동기화 메뉴(1511-3)는 주변기기와 업데이트된 정보에 대한 공유를 제공하는 메뉴일 수 있다.
제2메뉴(1512)는 데이터 백업 자동 설정 메뉴(1512-1), 데이터 백업 히스토리 메뉴(1512-2), 데이터 복구 메뉴(1512-3), 및 백업 데이터 관리 메뉴(1512-4)를 포함할 수 있다. 데이터 백업 자동 설정 메뉴(1512-1)는 데이터 백업을 자동으로 진행할지 여부를 설정하는 메뉴로써, 데이터 백업을 자동으로 진행할지 또는 데이터 백업을 수동으로 진행할지를 설정하는 메뉴이다. 데이터 백업 히스토리 메뉴(1512-2)는 데이터 백업의 로그 정보를 제공하기 위한 메뉴이다. 사용자에 의해 데이터 백업 히스토리 메뉴(1512-2)가 선택되면, 도 15c에 예시된 바와 같이, 데이터 백업의 로그 정보를 제공하는 서브 메뉴( 1530)를 제공할 수 있다. 상기 서브 메뉴(1530)는 데이터 백업 히스토리를 제공할 수 있다. 데이터 백업 히스토리는 상시 전자장치에 연결된 적어도 하나의 디바이스 별로 제공될 수 있다. 그리고, 상기 서브 메뉴(1530)는 데이터 백업 히스토리에 포함되는 적어도 하나의 백업 로그를 삭제할 수 있는 메뉴를 제공할 수 있다. 데이터 복구 메뉴(1512-3)는 도 15d에 예시된 바와 같이 백업 데이터를 복원할 수 있는 서브 메뉴(1540)와 연결될 수 있다. 사용자에 의해 데이터 복구 메뉴(1512-3)가 선택되면, 서브 메뉴(1540)가 활성화될 수 있다. 서브 메뉴(1540)는 백업된 애플리케이션의 리스트를 제공하며, 상기 리스트 중, 사용자에 의해 선택된 어플리케이션에 대한 백업 데이터를 복원할 수 있는 메뉴를 제공할 수 있다. 또한, 데이터 복구 메뉴(1512-3)는 상기 적어도 하나의 디바이스 별로 구분하여 백업된 애플리케이션의 리스트를 제공할 수 있다. 백업 데이터 관리 메뉴(1512-4)는 벡업 데이터를 관리하기 위한 메뉴이다. 사용자에 의해 백업 데이터 관리 메뉴(1512-4)가 선택되면, 도 15e에 예시된 바와 같이 백업 데이터를 관리할 수 있는 서브 메뉴(1550)를 제공할 수 있다. 서브 메뉴(1550)는 백업된 애플리케이션의 리스트를 제공하며, 상기 리스트 중, 사용자에 의해 선택된 어플리케이션에 대한 백업 데이터를 관리(예, 삭제)할 수 있는 메뉴를 제공할 수 있다. 또한, 데이터 복구 메뉴(1512-3)는 상기 적어도 하나의 디바이스 별로 구분하여 백업된 애플리케이션의 리스트를 제공할 수 있다.
이와 같이 전술한, 제2메뉴(1512)는 Application File, APP Data, Configuration 등에 관한 정보를 저장 및 복원할 수 있으며 시간 정보도 같이 저장 할 수 있어 이전 작업 복원 및 예약 작업 등에도 활용될 수 있다. 백업/복원을 위한 공간으로 Repository가 사용되며 Repository에 저장된Backup Data관리를 위해 Device ID, Device Name, App ID, App Version등의 속성이 사용될 수 있다. Repository로부터 추출된 정보를 통해 Data전달, 어플리케이션 구동 등이 가능하다.
한편, 패키지 관리부는 전자장치(1400))가 수록하고 있는 어플리케이션 패키지(Application Package)의 설치, 갱신, 또는 삭제 기능을 제공하기 위한, 패키지 관리 UI를 제공할 수 있다.
도 16은 본 발명의 다양한 실시예에 따른 메시지 제공 방법이 적용되는 전자장치(도 14의 전자 장치(1400))에 사용되는 패키지 관리 UI를 예시하는 도면이다.
패키지 관리 UI는 어플리케이션 패키지(Application Package)의 설치할 수 있는 제1메뉴(1611), 및 어플리케이션 패키지(Application Package)의 갱신을 수행할 수 있는 제2메뉴(1612)를 포함할 수 있다. 나아가, 사용자에 의해 제1메뉴(1611)가 선택됨에 따라, 어플리케이션을 포함하는 컨텐츠를 선택 및 다운로드 할 수 있는 컨텐츠 제공 서버로 접속하거나, 컨텐츠 제공 서버에서 컨텐츠를 선택 및 다운로드 하기 위해 제공되는 페이지를 디스플레이 할 수 있다. 그리고, 사용자에 의해 제2메뉴(1612)가 선택됨에 따라, 어플리케이션 패키지의 업데이트를 제공하는 페이지 등을 디스플레이 할 수 있다.
패키지 관리부는 어플리케이션 설치 시, Capability List 정보나 내부 XML 정보 등에 따라, Multi-Device 환경에서도 Type에 맞는 어플리케이션 설치가 가능하도록 구비될 수 있다. 즉, 전자장치에서는 주변기기에 대한 정보를 자체 기기나 또는 외부의 저장장치로부터 참고하여, 디바이스에 해당하는 어플리케이션 설치를 유지할 수 있다. 예를 들어, 내부 XML 정보는 디바이스 내에 존재하는 어플리케이션정보에 관한 파일이며, Capability List는 전자장치와 디바이스의 상태 정보의 관리에 필요한 항목들이며, Provider/Consumer 사이의 하위 호환성 보장을 위한 Capability Negotiation에도 사용될 수 있다.
한편, 연결 관리부(430)는 전자장치(1400)에 적어도 하나의 디바이스와의 연결을 관리할 수 있는 연결 관리 UI를 제공할 수 있다.
도 17은 본 발명의 다양한 실시예에 따른 메시지 제공 방법이 적용되는 전자장치(도 4의 전자 장치(1400))에 사용되는 연결 관리 UI를 예시하는 도면이다.
연결관리 UI(1700)는 전자장치에 연결된 디바이스에 대한 리스트를 포함하는 연결정보 메뉴(1701), 및 연결된 디바이스의 설정을 관리할 수 있는 연결 디바이스 관리 메뉴(1702)를 포함할 수 있다.
사용자에 의해 연결 정보 메뉴(1701)에 포함된, 디바이스에 대한 리스트가 선택됨에 따라, 해당 디바이스에 대한 상세 연결정보를 제공하는 서브 메뉴(1410)를 제공할 수 있다. 서브 메뉴(1710)는 디바이스에 대한 상세 연결정보, 예컨대, 연결된 디바이스의 명칭, 디바이스에 설치된 운영 소프트웨어 버젼, 디바이스에 설치된 운영 소프트웨어 갱신정보를 포함할 수 있다. 또한, 서브 메뉴(1410)는 연결된 디바이스의 명칭을 수정하거나, 연결된 디바이스의 연결을 종료하는 등의 동작을 처리하기 위한 메뉴를 포함할 수도 있다.
연결 디바이스 관리 메뉴(1402)는 다비이스에 사전에 설치된 기본 어플리케이션(예컨대, 시계 어플리케이션 등)뿐 아니라, 사용자에 의해 선택되어 설치된 개별 어플리케이션을 설정할 수 있는 서브 메뉴를 제공할 수 있다. 상기 서브 메뉴는 도 18a 내지 18e와 같이 예시될 수 있다.
셋업 관리부는 적어도 하나의 디바이스에 수록된 각 어플리케이션에서 생성되는 셋업 정보를 관리할 수 있는 셋업 정보 관리 UI를 제공할 수 있다.
도 19는 본 발명의 다양한 실시예에 따른 메시지 제공 방법이 적용되는 전자장치(도 4의 전자 장치(1400))에 사용되는 셋업 정보 관리 UI를 예시하는 도면이다. 도 19를 참조하면, 셋업 정보 관리 UI(1900)는 디바이스에 설치된 어플리케이션의 설정을 독립적으로 관리할 수 있는 메뉴를 포함할 수 있다.
한편, 메시지 관리부(1420)는, 전자장치에서 발생되는 알림에 대한 트리거를 디바이스에 전송하는 동작을 처리할 수 있다.
상기 알림에 대한 트리거는 전자장치에 구비되는 어플리케이션이 구동하면서 알림 기능을 갖는 메시지를 생성하여 발생되거나, 외부 전자장치로부터 메시지를 수신하여 발생될 수 있다. 또한, 상기 알림에 대한 트리거를 전송하는 방식은 Forward notification 방식과, Backward notification 방식을 포함할 수 있다. Forward notification은 전자장치의 상태바(status bar) 또는 알림 패널(notification panel)에 보여지는 정보를 적어도 하나의 디바이스로 전달하는 동작을 포함할 수 있다. 예컨대, Forward notification 방식은 G-mail, Facebook, 인스턴트 메시지 등의 어플리케이션에서 발생되는 알림을 전송하는데 사용될 수 있다.
Backward notification 방식은 디바이스에서 수집 또는 생성하여 전자장치로 전달하는 디바이스 상세 정보를 전달하는데 사용될 수 있다.
메시지 관리부(420)는 전자장치에서 발생한 알림 이벤트를 디바이스에 전달하는 Forward notification 방식과 디바이스에서 확인된 알림 이벤트를 전자장치가 수신한 후, 수신된 알림 이벤트를 다른 디바이스에 전송하는 알림 동기화(Sync) 동작을 수행할 수 있다. 여기서 알림 동기화(sync) 동작은 backward notification 방식에 의한 알림 메시지를 수신 후, 다시 다른 전자기기에 해당 정보를 전달하는 forward notification 방식을 수행하는 복합 과정으로 이해될 수도 있다. 메시지 관리부(1102)는 Wearable Platform을 이용하여 패킷 송수신을 수행할 수 있으며, 알림 메시지 패킷을 구성시, 연결 정보(connectivity 정보)는 연결 관리부(1103)로부터 획득할 수 있다.
메시지 관리부(1420)는 미리 설정된 디바이스 및 어플리케이션의 알림수준에 따라 선택적으로 알림 메시지를 발송할 수 있다. 여기서 알림 수준은 알림 메시지패킷의 크기 또는 알림 메시지에 포함되는 컨텐츠 등을 고려하여 설정될 수 있다.
또한, 메시지 관리부(1420)는 우선 순위에 따라 알림 메시지를 발송할 수 있다. 상기 우선 순위는 디바이스 또는 어플리케이션을 기반으로 설정될 수 있다. 디바이스를 기반으로 설정되는 우선순위는 디바이스의 종류 또는 사용자 설정에 의해 결정될 수도 있다. 또한, 디바이스를 기반으로 설정되는 우선순위는 전자장치의 호스트 관리부(1410)에서 관리하는 디바이스의 상태정보를 고려하여 결정될 수 있다. 상기 디바이스의 상태정보는 동적 상태정보와 정적 상태정보를 포함할 수 있는데, 동적 상태정보를 사용하여 우선순위를 설정할 경우, 디바이스의 상태정보가 변화함에 따라, 우선순위도 동적으로 변경될 수 있다. 또한, 디바이스가 전자장치와의 연결이 종료된 후에, 다시 연결될 경우, 메시지 관리부(1420)는 디바이스가 전자장치와의 연결이 종료된 후 다시 연결될 때까지, 전송되지 않았던 메시지를 전송할 수 있다.
도 20은 본 발명의 다양한 실시예에 따른 메시지 제공 방법이 적용되는 전자장치(도 14의 전자 장치(1400))에 구비되는 메시지 관리부(2000), 도 14의 메시지 관리부(1420))의 구성을 예시하는 블록도이다.
도 20을 참조하면, 메시지 관리부(2000는 포워드 알림 처리부(2010), 백워드 알림 처리부(2020), 통신 인터페이스(2030), 내부 인터페이스(2040), 및 웨어러블 플랫폼(2050)를 포함할 수 있다. 그리고, 전술한 메시지 관리부(1700)에 구비되는 적어도 하나의 기능부는, 내부 인터페이스(2040)를 통해, 호스트 관리부(2060) 또는 유틸리티 관리부(2070)에 연결될 수 있다.
알림 이벤트가 발생함에 따라, 포워드 알림 처리부(2010)는 메시지에 포함될 컨텐츠를 확인한다. 그리고, 상기 컨텐츠를 포함하는 메시지를 생성하기 위하여, 디바이스의 상태정보를 확인하는 동작을 처리한다. 그리고, 상기 상태 정보를 반영하여, 메시지를 생성하는 동작을 처리한다.
상태 정보는 정적 상태정보 또는 동적 상태정보를 포함할 수 있다. 정적 정보는 적어도 하나의 디바이스와의 연결을 수행하는 과정에서 수집되어 저장되거나, 사용자의 요구에 의해 수집되는 정보로써, 디바이스에 할당되어 변동되지 않는 정보를 포함할 수 있다. 예컨대, 정적 정보는 DeviceID 정보, DeviceName 정보, Platform 정보, AppList 정보, AppVersion 정보, Connectivity 정보, ProvidingFeature(or RequiredFeature) 정보, Security 정보, Noti. Level 정보, AppFeature 정보, P/C Peer-to-peer 정보, P/C 인증 방식 정보, H/W 정보 정보, 가용 센서 정보, 지원 파일 형식 정보 중, 적어도 하나를 포함할 수 있다.
포워드 알림 처리부(2010)는 상기 상태 정보를 고려하여, 메시지를 생성하는데, 상태정보에 맞게 각각 적응적으로 알림 메시지를 재구성하여 생성할 수 있다. 예컨대, 포워드 알림 처리부(2010)는 화면의 제약이 있는 밴드 형태의 디바이스에는 메일의 제목 또는 발신인 정보 등의 필수 정보만 전달하고, 스마트 와치 형태의 디바이스에는 메일의 본문 내용을 전송할 수 있도록 메시지를 구성할 수 있다.
나아가, 상기 적어도 하나의 디바이스가 복수 개인 경우, 포워드 알림 처리부(2010)는 복수의 디바이스 각각에 대응되는 복수의 메시지를 생성하는 동작을 포함할 수 있다. 구체적으로, 메시지를 생성하는 동작은 제1디바이스의 상태정보에 기초한 제1메시지를 생성하고, 제2디바이스의 상태정보에 기초한 제2메시지를 생성할 수 있다.
또한, 포워드 알림 처리부(2010)가 생성한 메시지는 메시지 타입 정보, 메시지 카테고리 정보, 메시지 소스 정보, 및 메시지 데이터를 포함할 수 있다. 또한, 메시지는 전자장치에서 생성되는 메시지를 식별 및 관리하기 위해 사용되는 Sequential Number를 포함할 수 있다.
포워드 알림 처리부(2010)는 생성한 메시지를 통신 인터페이스(2030)를 통해 웨어러블 플랫폼(2050)으로 전달하게 되고, 웨어러블 플랫폼(2050)은 디바이스로 전송하기 위한 데이터 패킷을 생성하여 전송하게 된다.
한편, 메시지를 수신한 디바이스가 디스플레이등을 통해 메시지를 사용자에게 제공한 후 사용자 입력에 따라, 전자장치로 응답 메시지를 전송할 수 있다. 응답 메시지는 웨어러블 플랫폼(2050)과 통신 인터페이스(2030)를 통해 백워드/싱크 처리부(2020)로 전달된다. 이에 따라, 백워드/싱크 처리부(2020)는 응답 메시지를 확인할 수 있다.
상기 응답 메시지는, 사용자가 메시지를 확인하였음을 지시하는 정보나, 상기 메시지에 포함되는 보안 정보를 기반으로 확인한 사용자 인증 결과 정보를 포함할 수 있다. 상기 응답 메시지가, 사용자가 메시지를 확인하였음을 지시하는 정보를 포함할 경우, 사용자가 메시지를 확인하였음을 지시하는 정보를 백워드/싱크 처리부(1720)는 포워드 알림 처리부(2010)로 전달할 수 있다. 이에 대응하여, 포워드 알림 처리부(1710)는 전자장치에 연결된 다른 기기들에게, 사용자가 메시지를 확인하였음을 지시하는 정보를 전달할 수 있다. 또한, 다른 예로써, 상기 응답 메시지가 보안 정보를 기반으로 확인한 사용자 인증 결과 정보를 포함하는 경우, 백워드/싱크 처리부(2020)는 응답 메시지에 포함된 정보를 확인하여, 사용자 인증이 성공하였는지 또는 실패하였는지를 확인할 수 있다. 사용자 인증이 성공한 경우, 백워드/싱크 처리부(2020)는 사용자 인증이 성공하였음을 지시하는 정보를 포워드 알림 처리부(2010)로 전달할 수 있다. 그리고, 포워드 알림 처리부(2010)는 전자장치에 연결된 다른 디바이스들로 알림 메시지를 전송할 수 있다. 반면, 사용자 인증이 실패한 경우, 백워드/싱크 처리부(2020)는 사용자 인증이 실패하였음을 지시하는 정보를 포워드 알림 처리부(2010)로 전달할 수 있다. 그리고, 포워드 알림 처리부(2010)는 전자장치에 연결된 다른 디바이스들로 메시지를 전송하지 않거나, 사용자 인증이 실패하였음을 지시하는 정보를 포함하는 메시지를 생성하여, 전자장치에 연결된 다른 디바이스들로 전송할 수 있다.
디바이스의 설정 또는 상태에 따라 전자장치로부터의 메시지 전송이 차단될 수도 있다. 이와 같이 전송이 차단된 상태에서 메시지가 생성되면, 메시지는 전자장치 또는 디바이스에 저장될 수 있다. 이렇게 저장된 메시지는 전자장치 또는 디바이스의 설정 변경 시 사용자에게 제공할 수 있다. 예컨대, 사용자가 확인한 메시지 또는 사용자가 미확인한 메시지를 구분하여 제공하거나, 미확인된 메시지만을 제공할 수 있다.
한편, 연결 관리부(1430)는 네트워크 서비스의 연결을 관리하는 모듈로써, Discovery/Pairing, Auto-Connection, Recovery 등의 기능을 처리할 수 있다. 연결 관리부(1430)는 전자장치와 적어도 하나의 디바이스의 연결 정보(예, 연결수립, 연결해제, 상태정보, 상태변화)를 어플리케이션에 제공할 수 있다. 연결 관리부(1430)는 적어도 하나의 디바이스의 연결 속성을 메시지 관리부(1420)에 제공할 수 있다.
연결 관리부(1430)는 Discovery/Pairing 동작을 처리하는 과정에서, 전자장치와 연결이 가능한 디바이스에 대한 목록을 제공하고, 각 디바이스에 대한 연결 가능성(capability)을 제공할 수 있다. 또한 연결 관리부(1103)는 디바이스의 연결 가능한 physical 정보(ex, BLE, BT3.0, BT4.0, BT4.1..) 및 디바이스의 기기 수를 제공할 수도 있다. 연결 관리부(1430)는 Discovery/Pairing 동작을 처리하는 과정에서, 디바이스에 설정된 보안 레벨(security level) 정보를 이용하여 전자장치와의 페어링을 처리할 수 있다.
또한, 연결 관리부(1430)는 Auto-Connection 기능에 의해 사용자의 의도와 관계없이 디바이스와의 연결이 종료되면 이를 다시 연결할 수 있는 기능을 제공할 수 있으며, 계층별로 디바이스를 자동으로 연결할 수 있는 기능도 제공한다. 즉, 적어도 하나의 디바이스가 전자장치에 동시에 연결을 시도하는 경우 이를 순차적으로 또는 우선순위 별로 연결되도록 제어할 수 있다.
나아가, 전자장치는 유틸리티 기능을 처리하는 유틸리티 처리부를 더 포함할 수 있다. 유틸리티 처리부는 메시지 제공을 위한 데이터 압축, 암호화, 및 인증 기능을 처리할 수 있다. 유틸리티 처리부는 특히 보안 관련 기능을 처리할 수 있다. 전자장치에 연결되는 디바이스는 인증(허가)받은 디바이스와 어플리케이션에서만 사용 가능하도록 설정될 수 있다. 이를 위해, 통신 채널이나, 디바이스 내부에 설정되는 보안 레벨에 따른 단계별 보호 조치를 수행할 수 있다. 이와 같은 보안 기능은 알림 메시지 생성 시에 메시지에 인증이나, 위변조 방지를 위한 정보를 포함하여 생성할 수 있다. 또한, 보안 기능을 처리하기 위하여, 메시지를 전달할 때, 디바이스 별 인증관련 서비스 및 이를 이용한 암호화된 데이터 전송 서비스를 제공할 수 있다. 또한 어플리케이션 자체의 데이터 통신 보호를 위한 암호화 기능을 제공할 수도 있으며, 이 경우 어플리케이션 별로 다른 암호화 키를 생성하여 전송할 수 있다. 보안과 관련된 다양한 기능은 디바이스 연결 시 유틸리티 처리부에 의해 설정될 수 있다. 예컨대, 디바이스 연결 시 보안 레벨을 제공할 수 있으며, 이러한 보안 레벨에 다라, 디바이스의 보안 기능이 설정될 수 있다.
다양한 실시예에 따르면, 전자장치가 적어도 하나의 디바이스로 메시지를 전달하는 방법은, 상기 전자장치와 연결된 적어도 하나의 디바이스의 상태 정보를 확인하는 동작, 상기 적어도 하나의 디바이스의 상태 정보를 고려하여, 메시지를 생성하는 동작, 및 상기 메시지를 상기 적어도 하나의 디바이스로 전달하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 적어도 하나의 디바이스의 상태 정보를 확인하는 동작은, 상기 전자장치에서 발생된 알림(Notification) 이벤트 또는 외부로부터 수신된 제1컨텐츠를 포함하는 수신 메시지를 기반으로 처리할 수 있다.
다양한 실시예에 따르면, 상기 상태 정보는, 상기 디바이스의 하드웨어 정보, 운영체제(OS) 정보, 애플리케이션 설치 정보, 보안정보, 기능정보, 상기 디바이스의 현재 사용 여부, 상기 디바이스에서 실행 중인 애플리케이션 정보, 하드웨어 동작 상태 정보, 배터리 상태, 네트워크 상태, 및 센서 수집 정보 중, 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 상기 메시지를 생성하는 동작은, 상기 적어도 하나의 디바이스의 상태 정보를 고려하여, 상기 적어도 하나의 디바이스 중, 적어도 하나를 선택하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 메시지를 생성하는 동작은, 상기 수신 메시지에 포함된 정보를 고려하여, 상기 적어도 하나의 디바이스 중, 적어도 하나를 선택하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 제1메시지는, 상기 제1메시지의 타입 정보, 상기 제1메시지에 대응되는 애플리케이션의 종류, 및 상기 제1컨텐츠의 종류 중, 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 상기 적어도 하나의 디바이스는 제1디바이스, 및 제2디바이스를 포함하며, 상기 메시지를 생성하는 동작은, 상기 제1디바이스의 상태 정보에 기초한 제1메시지를 생성하는 동작, 및 상기 제2디바이스의 상태 정보에 기초한 제2메시지를 생성하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 메시지를 상기 적어도 하나의 디바이스로 전달하는 동작은, 상기 적어도 하나의 디바이스의 상태 정보를 고려하여 상기 적어도 하나의 디바이스에 대한 우선순위를 결정하는 동작과, 상기 우선순위에 따라 상기 메시지를 순차적으로 상기 적어도 하나의 디바이스로 전달하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 메시지는 알림 메시지를 포함할 수 있다.
다양한 실시예에 따르면, 상기 알림 메시지는, 상기 알림 메시지의 발생을 지시하는 알림 지시자와, 상기 알림 메시지의 주제를 지시하는 제목 정보와, 상기 알림 메시지에 포함되는 본문의 내용을 포함할 수 있다.
다양한 실시예에 따르면, 상기 알림 메시지는, 상기 연결장치의 사용자를 인증하는 보안 정보를 포함할 수 있다.
다양한 실시예에 따르면, 상기 메시지를 상기 적어도 하나의 디바이스로 전달하는 동작은, 상기 전자장치의 사용자를 인증하는 보안 정보를 포함하는 제1메시지를 사용하여 인증정보를 확인하는 동작과, 상기 메시지의 발생을 지시하는 알림 지시자와, 상기 메시지의 주제를 지시하는 제목 정보와, 상기 메시지에 포함되는 본문의 내용 중, 적어도 하나를 포함하는 제2메시지를 적어도 하나의 제2디바이스로 전송하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 메시지를 상기 적어도 하나의 디바이스로 전달하는 동작은, 상기 메시지의 발생을 지시하는 정보를 포함하는 제1메시지를 사용하여 인증정보를 확인하는 동작과, 상기 메시지의 주제를 지시하는 제목 정보와, 상기 메시지에 포함되는 본문의 내용 중, 적어도 하나를 포함하는 제2메시지를 적어도 하나의 상기 제2디바이스로 전송하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 제2메시지를 상기 제1디바이스로 제공하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치의 전술한 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 본 발명의 다양한 실시예에 따른 전자 장치는 전술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 본 발명의 다양한 실시예에 따른 전자 장치의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 실시예에 따른 의 기술 내용을 쉽게 설명하고 본 발명의 실시예의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 실시예의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 다양한 실시예의 범위는 여기에 개시된 실시예들 이외에도 본 발명의 다양한 실시예의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 다양한 실시예의 범위에 포함되는 것으로 해석되어야 한다.

Claims (20)

  1. 전자장치가 적어도 하나의 디바이스로 메시지를 전달하는 방법에 있어서,
    상기 전자장치와 연결된 적어도 하나의 디바이스의 상태 정보를 확인하는 동작;
    상기 적어도 하나의 디바이스의 상태 정보를 고려하여, 메시지를 생성하는 동작; 및
    상기 메시지를 상기 적어도 하나의 디바이스로 전달하는 동작을 포함하는 방법.
  2. 제1항에 있어서, 상기 적어도 하나의 디바이스의 상태 정보를 확인하는 동작은,
    상기 전자장치에서 발생된 알림(Notification) 이벤트 또는 외부로부터 수신된 제1컨텐츠를 포함하는 수신 메시지를 기반으로 처리하는 방법.
  3. 제1항에 있어서, 상기 상태 정보는,
    상기 디바이스의 하드웨어 정보, 운영체제(OS) 정보, 애플리케이션 설치 정보, 보안정보, 기능정보, 상기 디바이스의 현재 사용 여부, 상기 디바이스에서 실행 중인 애플리케이션 정보, 하드웨어 동작 상태 정보, 배터리 상태, 네트워크 상태, 및 센서 수집 정보 중, 적어도 하나를 포함하는 방법.
  4. 제1항에 있어서, 상기 메시지를 생성하는 동작은,
    상기 적어도 하나의 디바이스의 상태 정보를 고려하여, 상기 적어도 하나의 디바이스 중, 적어도 하나를 선택하는 동작을 더 포함하는 방법
  5. 제2항에 있어서, 상기 메시지를 생성하는 동작은,
    상기 수신 메시지에 포함된 정보를 고려하여, 상기 적어도 하나의 디바이스 중, 적어도 하나를 선택하는 동작을 더 포함하는 방법.
  6. 제5항에 있어서, 상기 제1메시지는
    상기 제1메시지의 타입 정보, 상기 제1메시지에 대응되는 애플리케이션의 종류, 및 상기 제1컨텐츠의 종류 중, 적어도 하나를 포함하는 방법.
  7. 제1항에 있어서,
    상기 적어도 하나의 디바이스는 제1디바이스, 및 제2디바이스를 포함하며,
    상기 메시지를 생성하는 동작은,
    상기 제1디바이스의 상태 정보에 기초한 제1메시지를 생성하는 동작; 및
    상기 제2디바이스의 상태 정보에 기초한 제2메시지를 생성하는 동작을 포함하는 방법.
  8. 제1항에 있어서, 상기 메시지를 상기 적어도 하나의 디바이스로 전달하는 동작은,
    상기 적어도 하나의 디바이스의 상태 정보를 고려하여 상기 적어도 하나의 디바이스에 대한 우선순위를 결정하는 동작과,
    상기 우선순위에 따라 상기 메시지를 순차적으로 상기 적어도 하나의 디바이스로 전달하는 동작을 포함하는 방법.
  9. 제1항에 있어서, 상기 메시지는 알림 메시지를 포함하는 방법.
  10. 제9항에 있어서, 상기 알림 메시지는,
    상기 알림 메시지의 발생을 지시하는 알림 지시자와,
    상기 알림 메시지의 주제를 지시하는 제목 정보와,
    상기 알림 메시지에 포함되는 본문의 내용을 포함하는 방법.
  11. 제10항에 있어서, 상기 알림 메시지는,
    상기 연결장치의 사용자를 인증하는 보안 정보를 포함하는 알림 정보 제공방법.
  12. 제1항에 있어서, 상기 메시지를 상기 적어도 하나의 디바이스로 전달하는 동작은,
    상기 전자장치의 사용자를 인증하는 보안 정보를 포함하는 제1메시지를 사용하여 인증정보를 확인하는 동작과,
    상기 메시지의 발생을 지시하는 알림 지시자와, 상기 메시지의 주제를 지시하는 제목 정보와, 상기 메시지에 포함되는 본문의 내용 중, 적어도 하나를 포함하는 제2메시지를 적어도 하나의 제2디바이스로 전송하는 동작을 포함하는 알림 정보 제공방법.
  13. 제1항에 있어서, 상기 메시지를 상기 적어도 하나의 디바이스로 전달하는 동작은,
    상기 메시지의 발생을 지시하는 정보를 포함하는 제1메시지를 사용하여 인증정보를 확인하는 동작과,
    상기 메시지의 주제를 지시하는 제목 정보와, 상기 메시지에 포함되는 본문의 내용 중, 적어도 하나를 포함하는 제2메시지를 적어도 하나의 상기 제2디바이스로 전송하는 동작을 포함하는 방법.
  14. 제12항 또는 제13항에 있어서,
    상기 제2메시지를 상기 제1디바이스로 제공하는 동작을 더 포함하는 방법.
  15. 알림(Notification) 메시지를 제공하는 전자장치에 있어서,
    적어도 하나의 디바이스와의 연결을 관리하는 연결 관리부와,
    상기 전자장치와 연결된 적어도 하나의 디바이스의 상태 정보를 확인하고, 전자장치의 기능을 제어하는 호스트 관리부와,
    알림 이벤트의 발생을 확인하고, 상기 적어도 하나의 디바이스의 상태 정보를 고려하여, 메시지를 생성하고, 상기 메시지를 상기 적어도 하나의 디바이스로 전달하는 메시지 관리부를 포함하는 전자장치.
  16. 제15항에 있어서, 상기 상태 정보는,
    상기 디바이스의 하드웨어 정보, 운영체제(OS) 정보, 애플리케이션 설치 정보, 보안정보, 기능정보, 상기 디바이스의 현재 사용 여부, 상기 디바이스에서 실행 중인 애플리케이션 정보, 하드웨어 동작 상태 정보, 배터리 상태, 네트워크 상태, 및 센서 수집 정보 중, 적어도 하나를 포함하는 전자장치.
  17. 제15항에 있어서,
    상기 적어도 하나의 디바이스는 제1디바이스, 및 제2디바이스를 포함하며,
    상기 메시지 관리부는,
    상기 제1디바이스의 상태 정보에 기초한 제1메시지를 생성하고, 상기 제2디바이스의 상태 정보에 기초한 제2메시지를 생성하는 전자장치.
  18. 제15항에 있어서, 상기 메시지 관리부는,
    상기 적어도 하나의 디바이스의 상태 정보를 고려하여 상기 적어도 하나의 디바이스에 대한 우선순위를 확인하고,
    상기 우선순위에 따라 상기 메시지를 순차적으로 상기 적어도 하나의 디바이스로 전달하는 전자장치.
  19. 제14항에 있어서, 상기 메시지는,
    상기 연결장치의 사용자를 인증하는 보안 정보를 포함하는 전자장치.
  20. 제15항에 있어서, 상기 메시지 관리부는,
    상기 전자장치의 사용자를 인증하는 보안 정보를 포함하는 제1메시지를 제1디바이스로 제공하고,
    상기 제1디바이스로부터 상기 사용자 인증에 대한 응답을 수신하고,
    상기 메시지의 발생을 지시하는 알림 지시자와, 상기 메시지의 주제를 지시하는 제목 정보와, 상기 메시지에 포함되는 본문의 내용 중, 적어도 하나를 포함하는 제2메시지를 적어도 하나의 제2디바이스로 전송하는 전자장치.

KR1020140184371A 2014-02-21 2014-12-19 메시지 전송 방법 및 장치 KR102222696B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/625,409 US10469428B2 (en) 2014-02-21 2015-02-18 Apparatus and method for transmitting message

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201461942968P 2014-02-21 2014-02-21
US61/942,968 2014-02-21

Publications (2)

Publication Number Publication Date
KR20150099388A true KR20150099388A (ko) 2015-08-31
KR102222696B1 KR102222696B1 (ko) 2021-03-05

Family

ID=54060570

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140184371A KR102222696B1 (ko) 2014-02-21 2014-12-19 메시지 전송 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102222696B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170041484A (ko) * 2015-10-07 2017-04-17 삼성전자주식회사 적응적 통신 방법 및 장치
WO2017090931A1 (ko) * 2015-11-23 2017-06-01 삼성전자 주식회사 이벤트 관리 서비스를 제공하는 전자 장치 및 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040070744A (ko) * 2003-02-04 2004-08-11 주식회사 팬택 블루투스를 이용한 착신호 알림 장치 및 그 동작 방법
KR20050007506A (ko) * 2003-07-08 2005-01-19 에스케이 텔레콤주식회사 이동 통신 단말기의 원격 착신 알림 장치 및 그 방법
US20050272408A1 (en) * 2004-06-04 2005-12-08 Deanna Wilkes-Gibbs Method for personal notification indication
US20120060100A1 (en) * 2010-09-03 2012-03-08 Packetvideo Corporation System and method for transferring media content
US20130316746A1 (en) * 2012-05-27 2013-11-28 Qualcomm Incorporated Personal hub presence and response

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040070744A (ko) * 2003-02-04 2004-08-11 주식회사 팬택 블루투스를 이용한 착신호 알림 장치 및 그 동작 방법
KR20050007506A (ko) * 2003-07-08 2005-01-19 에스케이 텔레콤주식회사 이동 통신 단말기의 원격 착신 알림 장치 및 그 방법
US20050272408A1 (en) * 2004-06-04 2005-12-08 Deanna Wilkes-Gibbs Method for personal notification indication
US20120060100A1 (en) * 2010-09-03 2012-03-08 Packetvideo Corporation System and method for transferring media content
US20130316746A1 (en) * 2012-05-27 2013-11-28 Qualcomm Incorporated Personal hub presence and response

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170041484A (ko) * 2015-10-07 2017-04-17 삼성전자주식회사 적응적 통신 방법 및 장치
WO2017090931A1 (ko) * 2015-11-23 2017-06-01 삼성전자 주식회사 이벤트 관리 서비스를 제공하는 전자 장치 및 방법
US11010213B2 (en) 2015-11-23 2021-05-18 Samsung Electronics Co., Ltd. Electronic device and method for providing event management service

Also Published As

Publication number Publication date
KR102222696B1 (ko) 2021-03-05

Similar Documents

Publication Publication Date Title
US10469428B2 (en) Apparatus and method for transmitting message
KR102532366B1 (ko) 무선 충전을 수행하는 전자 장치 및 방법
KR102390046B1 (ko) IoT 장치의 무선 라우터 연결을 지원하는 무선 라우터, 전자 장치 및 시스템
KR102493721B1 (ko) 외부 전자 장치와 연결을 수립하는 방법 및 전자 장치
US9948784B2 (en) Method of call forwarding between devices
KR102465249B1 (ko) 생체 정보를 이용하여 인증을 수행하기 위한 전자 장치 및 그의 동작 방법
KR102373225B1 (ko) 전자 장치 및 전자 장치에서 기능 제공 방법
KR20160101829A (ko) 인증 처리 방법 및 이를 지원하는 전자 장치
KR20160071826A (ko) 무선 네트워크 연결 방법 및 그 전자 장치 및 방법
KR20170110469A (ko) 영상 통화를 제공하기 위한 방법 및 이를 위한 전자 장치
KR20170042165A (ko) 전자 장치의 모니터링 방법 및 장치
EP3120583B1 (en) Method of call forwarding between devices
KR102587726B1 (ko) 외부 장치를 연결하는 방법 및 이를 지원하는 전자 장치
KR20160146346A (ko) 전자 장치 및 그 연결 방법
KR102374018B1 (ko) 전자 장치들 사이의 연결을 수행하기 위한 방법 및 전자 장치
KR20170090278A (ko) 어플리케이션을 제어하는 전자 장치와 이의 동작 방법
KR20170109433A (ko) 보안 결제를 수행하는 전자 장치 및 방법
KR102483836B1 (ko) 전자 장치 및 그의 동작 방법
EP3293655B1 (en) Below the lock user interface with mixed authentication settings
KR20180052429A (ko) 데이터 전송 방법 및 이를 지원하는 전자 장치
US10498740B2 (en) Method, apparatus, and system for creating service account
KR102459370B1 (ko) 전자 장치 및 그 동작 방법
KR20170019807A (ko) 전자 장치 및 전자 장치의 공동 사용을 위한 방법
EP3236380A1 (en) Device for performing security login service and method
KR20160104957A (ko) 메시지 서비스 제공 방법 및 전자 장치

Legal Events

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