KR20160025996A - 전자 장치 및 전자 장치에서 ip 네트워크 서비스 방법 - Google Patents

전자 장치 및 전자 장치에서 ip 네트워크 서비스 방법 Download PDF

Info

Publication number
KR20160025996A
KR20160025996A KR1020140113563A KR20140113563A KR20160025996A KR 20160025996 A KR20160025996 A KR 20160025996A KR 1020140113563 A KR1020140113563 A KR 1020140113563A KR 20140113563 A KR20140113563 A KR 20140113563A KR 20160025996 A KR20160025996 A KR 20160025996A
Authority
KR
South Korea
Prior art keywords
service
electronic device
message
based message
received
Prior art date
Application number
KR1020140113563A
Other languages
English (en)
Other versions
KR102244824B1 (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 KR1020140113563A priority Critical patent/KR102244824B1/ko
Priority to US14/837,988 priority patent/US10659549B2/en
Priority to PCT/KR2015/008979 priority patent/WO2016032252A1/en
Priority to CN201580046039.XA priority patent/CN106605396B/zh
Priority to EP15182733.4A priority patent/EP2991312B1/en
Publication of KR20160025996A publication Critical patent/KR20160025996A/ko
Priority to US15/929,721 priority patent/US11089127B2/en
Application granted granted Critical
Publication of KR102244824B1 publication Critical patent/KR102244824B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • H04L69/085Protocols for interworking; Protocol conversion specially adapted for interworking of IP-based networks with other networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/04Network layer protocols, e.g. mobile IP [Internet Protocol]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Abstract

본 발명의 다양한 실시 예들에 따르면 전자 장치에 있어서, 메모리; 메시지를 송수신하는 통신 모듈; 및 Non IP 서비스 기반의 메시지가 수신되면 상기 Non IP 서비스 기반의 메시지의 적어도 일부가 포함된 IP 기반의 메시지를 생성하고 생성된 상기 IP 기반의 메시지를 제공하는 프로세서를 포함할 수 있으며, 이외에도 다양한 다른 실시 예들이 가능하다.

Description

전자 장치 및 전자 장치에서 IP 네트워크 서비스 방법{ELECTRONIC APPARATUS AND METHOD FOR IP NETWORK SERVICE}
본 발명은 전자 장치에 관한 것으로서, 전자 장치에서 IP 네트워크 서비스 방법에 관한 것이다.
최근의 정보통신 기술과 반도체 기술 등의 눈부신 발전에 힘입어 각종 전자 장치들의 보급과 이용이 급속도로 증가하고 있다. 특히 최근의 전자 장치들은 휴대하고 다니며 통신할 수 있도록 개발되고 있다.
전자 장치는 수많은 네트워크 서비스 중 전자 장치가 지원 할 수 있는 네트워크 서비스를 선택하여 전자 장치들 간 또는 전자 장치와 서버간 통신을 수행할 수 있다. 예를 들면, 전자 장치는 IP(Internet Protocol) 기반의 네트워크 서비스를 지원할 수 있는 경우 IP 기반의 네트워크 서비스를 이용하여 통신할 수 있으며, IP 기반의 네트워크 서비스를 지원하지 않고 다른 방식의 네트워크 서비스를 지원하는 경우 다른 방식의 네트워크 서비스를 이용하여 통신할 수 있다.
또한 최근에는 두 전자 장치가 서로 통신을 통해 각각의 장치에 설치된 어플리케이션과 연동할 수 있다.
그런데 두 전자 장치 중 하나의 전자 장치는 IP 기반의 네트워크 서비스를 지원하지 않는 반면, 다른 하나의 전자 장치는 IP 기반의 네트워크 서비스를 지원하는 경우, 두 전자 장치간 연동 시 사용할 수 있는 네트워크 서비스가 달라질 수 있다.
예를 들면, IP 기반의 네트워크 서비스를 지원하지 않는 전자 장치의 경우의 어플리케이션과 IP 기반의 네트워크 서비스를 지원하는 전자 장치의 어플리케이션은 서로 연동할 수 있는 어플리케이션으로서 유사한 기능을 제공하는 어플리케이션임에도 불구하고, 지원되는 네트워크 서비스가 다르므로 다른 버전으로 개발되어 개발 시간과 인력의 낭비를 초래할 수 있다.
구체적으로 예를 들면, 손목시계, 헤드셋, 글라스와 같이 착용 가능한 웨어러블 전자 장치와 스마트 폰, 휴대 전화, 노트북, 또는 넷북 등과 같이 휴대 가능한 호스트 전자 장치가 연동할 수 있다. 만약 웨어러블 전자 장치가 IP 기반의 네트워크 서비스를 지원하지 않고 Non IP 기반의 네트워크 서비스(예: 블루투스 통신방식 등)를 지원하는 반면, 호스트 전자 장치가 IP 기반의 서비스를 지원한다면 웨어러블 전자 장치 및 호스트 전자 장치가 서로 연동 가능하도록 각각에 설치된 어플리케이션은 지원되는 네트워크 서비스가 다르므로 각각의 서비스를 지원하는 전으로 개발되어 개발 시간과 인력의 낭비를 초래할 수 있다.
따라서 본 발명의 다양한 실시 예들에서는 IP 기반의 네트워크 서비스가 지원되는 전자 장치와 IP 기반의 네트워크 서비스가 지원되지 않는 전자 장치간 연동이 가능한 어플리케이션이 실행될 수 있는, 전자 장치 및 전자 장치에서 IP 네트워크 서비스 방법을 제공할 수 있다.
상기와 같은 본 발명의 목적들 중 적어도 하나는 하기의 구성요소들에 의해 달성될 수 있다.
본 발명의 다양한 실시 예들에 따르면 전자 장치에 있어서, 메모리; 메시지를 송수신하는 통신 모듈; 및 Non IP 서비스 기반의 메시지가 수신되면 상기 Non IP 서비스 기반의 메시지의 적어도 일부가 포함된 IP 기반의 메시지를 생성하고 생성된 상기 IP 기반의 메시지를 제공하는 프로세서를 포함할 수 있다.
또한 본 발명의 다양한 실시 예들에 따르면 전자 장치에서 IP 네트워크 서비스 방법에 있어서, IP 서비스 기반의 메시지 송신을 위해 상기 IP 서비스 기반의 메시지의 적어도 일부를 포함하는 Non IP 서비스 기반의 메시지를 생성하는 동작; 및 상기 IP 서비스 기반의 메시지의 적어도 일부를 포함하는 Non IP 서비스 기반의 메시지를 전송하는 동작을 포함할 수 있다.
또한 본 발명의 다양한 실시 예들에 따르면 IP 네트워크 시스템에 있어서, IP 요청을 포함하는 Non IP 서비스 기반의 메시지를 생성하여 전송하고, Non IP 서비스 기반의 응답 메시지가 수신되면 수신된 Non IP 서비스 기반의 메시지로부터 IP 응답을 생성하는 제1 전자 장치; 및 상기 제1 전자 장치로부터 Non IP 서비스 기반의 메시지가 수신되면 상기 수신된 Non IP 서비스 기반의 메시지로부터 상기 IP 요청을 생성하여 서버로 전송하고, 상기 서버로부터 상기 IP 응답이 수신되면 상기 IP 응답을 포함하는 상기 Non IP 서비스 기반의 응답 메시지를 생성하여 상기 제1 전자 장치로 전송하는 제2 전자 장치를 포함할 수 있다.
또한 본 발명의 다양한 실시 예들에 따르면, IP 네트워크 서비스 방법에 있어서, 제1 전자 장치가 IP 요청을 포함하는 Non IP 서비스 기반의 메시지를 생성하여 전송하는 동작; 및 제2 전자 장치가 상기 제1 전자 장치로부터 수신된 Non IP 서비스 기반의 메시지로부터 상기 IP 요청을 생성하여 서버로 전송하는 동작을 포함할 수 있다.
또한 본 발명의 다양한 실시 예들에 따르면,IP 네트워크 서비스 프로그램을 저장하는 저장 매체에 있어서, 상기 프로그램은 전자 장치에서, IP 서비스 기반의 데이터 송신을 위해 상기 IP 서비스 기반의 메시지의 적어도 일부를 포함하는 Non IP 서비스 기반의 메시지를 생성하는 동작; 및 상기 생성된 Non IP 서비스 기반의 메시지를 전송하는 동작을 수행할 수 있다.
또한 본 발명의 다양한 실시 예들에 따르면, IP 네트워크 서비스 프로그램을 저장하는 저장 매체에 있어서, 상기 프로그램은 전자 장치에서, IP 서비스 기반의 메시지의 적어도 일부를 포함하는 Non IP 서비스 기반의 메시지를 수신하는 동작; 및 상기 수신된 Non IP 서비스 기반의 메시지로부터 IP 서비스 기반의 메시지를 생성하는 동작을 수행할 수 있다.
본 발명의 다양한 실시 예들에 따르면, IP 기반의 네트워크 서비스가 지원되는 전자 장치와 IP 기반의 네트워크 서비스가 지원되지 않는 전자 장치간 연동되는 어플리케이션이 서로 다른 버전으로 중복 개발되지 않도록 할 수 있다.
또한 본 발명의 다양한 실시 예들에 따르면 IP 기반의 네트워크 서비스 이용이 가능한 어플리케이션이 IP 기반의 네트워크 서비스가 지원되지 않는 전자 장치에서 IP 기반의 네트워크 서비스가 지원되는 전자 장치와의 연동을 통해 이용 가능하도록 할 수 있다.
도 1은 다양한 실시 예들에 따른 네트워크 환경 내의 전자 장치를 나타낸 도면이다.
도 2는 다양한 실시 예에 따른 전자 장치의 블록도이다.
도 3은 다양한 실시 예에 따른 프로그램 모듈의 블록도이다.
도 4는 다양한 실시 예들 중 하나에 따른 웨어러블 전자 장치와 호스트 전자 장치를 나타낸 도면이다.
도 5는 다양한 실시 예들 중 하나에 따른 호스트 전자 장치의 동작 흐름도이다.
도 6은 다양한 실시 예들 중 하나에 따른 웨어러블 전자 장치의 동작 흐름도이다.
도 7은 다양한 실시 예들 중 하나에 따른 Non IP 메시지 생성을 설명하기 위한 도면이다.
도 8은 다양한 실시 예들 중 하나에 따른 IP 메시지와 Non IP 메시지를 설명하기 위한 도면이다.
도 9는 다양한 실시 예들 중 하나에 따른 IP 네트워크 서비스에 대한 흐름도이다.
도 10은 다양한 실시 예들 중 하나에 따른 웨어러블 전자 장치가 호스트 전자 장치를 통하지 않고 웹 서버와 통신하는 IP 네트워크 서비스에 대한 흐름도이다.
이하, 본 개시의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 개시를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경 (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를 수행하도록 구성 (또는 설정)된 프로세서”는 해당 동작을 수행하기 위한 전용 프로세서 (예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서 (genericpurpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 일반적으로 사용되는 사전에 정의된 용어들은 관련 기술의 문맥 상 가지는 의미와 동일 또는 유사한 의미를 가지는 것으로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 개시의 실시 예들을 배제하도록 해석될 수 없다.
본 개시의 다양한 실시 예들에 따른 전자 장치는, 예를 들면, 전자 장치는 스마트폰 (smartphone), 태블릿 PC (tablet personal computer), 이동 전화기 (mobile phone), 화상 전화기, 전자북 리더기 (ebook reader), 데스크탑 PC (desktop personal computer), 랩탑 PC (laptop personal computer), 넷북 컴퓨터 (netbook computer), 워크스테이션 (workstation), 서버, PDA (personal digital assistant), PMP (portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라 (camera), 또는 웨어러블 장치 (wearable device)(예: 스마트 안경, 머리 착용형 장치 (headmounteddevice(HMD)), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리 (appcessory), 전자 문신, 스마트 미러, 또는 스마트 와치 (smart watch))중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에서, 전자 장치는 스마트 가전 제품 (smart home appliance)일 수 있다. 스마트 가전 제품은, 예를 들면, 텔레비전, DVD (digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스 (settop 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는, 예를 들면, 상기 구성요소들 110170을 서로 연결하고, 상기 구성요소들 간의 통신 (예: 제어 메시지 및/또는 데이터)을 전달하는 회로를 포함할 수 있다.
상기 프로세서 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, LTEA, CDMA, WCDMA, UMTS, WiBro, 또는 GSM 등 중 적어도 하나를 사용할 수 있다. 상기 유선 통신은, 예를 들면, USB (universal serial bus), HDMI (high definition multimedia interface), RS232 (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) 등), 비휘발성 메모리 (nonvolatile 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), MicroSD (micro secure digital), MiniSD (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은, 예를 들면, 후각 센서 (Enose 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 (highdefinition multimedia interface) 272, USB (universal serial bus) 274, 광 인터페이스 (optical interface) 276, 또는 Dsub (Dsubminiature) 278를 포함할 수 있다. 상기 인터페이스 270는, 예를 들면, 도 1에 도시된 통신 인터페이스 160에 포함될 수 있다. 추가적으로 또는 대체적으로, 상기 인터페이스 270는, 예를 들면, MHL (mobile highdefinition link) 인터페이스, SD (secure digital) 카드/MMC (multimedia 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 (interprocess 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 (applicationspecific integrated circuit) 칩, FPGAs (fieldprogrammable gate arrays) 또는 프로그램 가능 논리 장치 (programmablelogic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시 예에 따른 장치 (예: 모듈들 또는 그 기능들) 또는 방법 (예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체 (computerreadable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어는, 프로세서 (예: 프로세서 120)에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 상기 메모리 130가 될 수 있다.
상기 컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체 (magnetic media)(예: 자기테이프), 광기록 매체 (optical media)(예: CDROM (compact disc read only memory), DVD (digital versatile disc), 자기광 매체 (magnetooptical media)(예: 플롭티컬 디스크 (floptical disk)), 하드웨어 장치 (예: ROM (read only memory), RAM (random access memory), 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
다양한 실시 예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시 예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱 (heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
그리고 본 문서에 개시된 실시 예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 개시의 범위를 한정하는 것은 아니다. 따라서, 본 개시의 범위는, 본 개시의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시 예를 포함하는 것으로 해석되어야 한다.
다양한 실시 예들 중 한 실시 예에 따르면, 전자 장치 101(도1 참조)은 IP 네트워크 서비스를 이용할 수 있고 상기 제 1 외부 전자 장치 102 (도 1 참조) 및 제2 외부 전자 장치 104(도 1 참조) 중 어느 하나는 전자 장치 101(도 1 참조) 과 연동 가능한 전자 장치로서 Non IP 메시지를 통해 연동할 수 있다. 한 실시 예에 따르면 Non IP 메시지는 Non IP 기반의 네트워크 서비스에서 주고받는 메시지일 수 있다. 한 실시 예에 따르면 전자 장치 101은 스마트 폰, 이동 전화, 노트북, 넷 북 등의 호스트 전자 장치(‘제1 전자 장치’라고도 할 수 있음)일 수 있고 제1 외부 전자 장치 102 및 제2 외부 전자 장치 104 중 어느 하나는 손목시계, 헤드셋, 글라스와 같이 착용 가능한 웨어러블 전자 장치(‘제2 전자 장치’라고도 할 수 있음)일 수 있다. 한 실시 예에 따르면 웨어러블 전자 장치는 호스트 전자 장치와 연동하여 동작하는 클라이언트 전자 장치일 수 있다.
도 4는 다양한 실시 예들 중 하나에 따른 호스트 전자 장치와 웨어러블 전자 장치를 나타낸 도면이다.
도 4를 참조하면, 예를 들면, 호스트 전자 장치 401은 통신 모듈 410, 프로세서 420, 메모리 430을 포함할 수 있다.
예를 들면, 통신 모듈 410은 IP 기반의 네트워크 서비스 가능한 IP 통신 모듈과 Non IP 기반의 네트워크 서비스 가능한 Non IP 통신 모듈을 포함할 수 있다. 한 실시 예에 따르면 Non IP 통신 모듈은 IP 기반의 네트워크 서비스를 지원하지 않는 통신 모듈로서 블루투스(bluetooth) 통신 모듈, 지그비(zigbee) 통신 모듈, 적외선 통신 모듈, BLE(bluetooth low energy) 통신 모듈, 오디오 통신 모듈, LTE(long term evolution) 통신 모듈, 및 WiFi 통신 모듈 중 적어도 하나를 포함할 수 있다. 이 외에도 IP 기반의 네트워크 서비스를 지원하지 않는 통신 모듈이면 어느 것이나 가능할 수 있다. 한 실시 예에 따르면, IP 통신 모듈은 IP 기반의 네트워크 서비스를 통해 웹 서버와 IP 패킷을 송수신할 수 있다. Non IP 통신 모듈은 웨어러블 전자 장치 402와 Non IP 메시지를 송수신할 수 있다.
발명의 다양한 실시 예에 따르면, 프로세서 420는 IP 프록시(internet protocol proxy) 422, IP 인터프리터(ip interpreter) 424를 포함할 수 있다. IP 프록시 422는 어플리케이션 432로부터 IP request를 수집할 수 있다. 한 실시 예에 따르면, IP 프록시 422는 수집된 IP request를 Non IP 시스템의 메시지 교환 등의 방식을 이용해서 호스트 전자 장치 401의 IP 인터프리터 462로 전달하기 위한 처리를 수행할 수 있다.
IP 인터프리터 424는 IP 프록시 422에 의해 수집된 IP request를 Non IP 서비스 기반의 메시지로 생성할 수 있다. 한 실시 예에 따르면 IP 인터프리터 424는 IP 프록시 422에 의해 수집된 IP request에 대응된 IP 패킷을 포함하는 블루투스 서비스 기반의 메시지를 생성하거나, 프록시 422에 의해 수집된 IP request에 대응된 IP 패킷을 포함하는 지그비 서비스 기반의 메시지를 생성하거나, 프록시 422에 의해 수집된 IP request에 대응된 IP 패킷을 포함하는 적외선 통신 서비스 기반의 메시지를 생성하거나, 프록시 422에 의해 수집된 IP request에 대응된 IP 패킷을 포함하는 BLE 서비스 기반의 메시지를 생성하거나, IP 패킷에 대응된 오디오 통신 서비스 기반의 메시지를 생성할 수 있다. 이외에도 LTE(long term evolution) 통신 또는 WiFi 통신서비스 기반의 메시지를 생성하는 것도 가능하다.
IP 인터프리터 424는 Non IP 기반의 메시지가 수신되면 Non IP 기반의 메시지로부터 IP 패킷을 추출할 수 있다. 한 실시 예에 따르면 IP 인터프리터 424는 블루투스 서비스 기반의 메시지가 수신되면, 블루투스 서비스 기반의 메시지로부터 IP 패킷을 추출하거나, 지그비 서비스 기반의 메시지가 수신되면, 지그비 서비스 기반의 메시지로부터 IP 패킷을 추출하거나, 적외선 통신 서비스 기반의 메시지가 수신되면, 적외선 통신 서비스 기반의 메시지로부터 IP 패킷을 추출하거나, BLE 서비스 기반의 메시지가 수신되면, BLE 서비스 기반의 메시지로부터 IP 패킷을 추출하거나, 오디오 통신 서비스 기반의 메시지가 수신되면, 오디오 통신 서비스 기반의 메시지로부터 IP 패킷을 추출할 수 있다. 이외에도 LTE(long term evolution) 통신 또는 WiFi 통신 서비스 기반의 메시지가 수신되는 경우에도 LTE(long term evolution) 통신 또는 WiFi 통신 서비스 기반의 메시지로부터 IP 패킷을 추출하는 것도 가능할 수 있다.
한 실시 예에 따르면 프로세서 420는 하나의 물리적 디바이스로서 IP 프록시 422 및 IP 인터프리터 424의 기능을 수행할 수도 있다. 즉, IP 프록시 422 및 IP 인터프리터 424 는 하나의 기능으로 구현될 수 있다. 프로세서 420은 메모리 430에 저장된 적어도 하나 이상의 어플리케이션 432 각각을 실행할 수 있고, 적어도 하나 이상의 어플리케이션 432 중 웨어러블 전자 장치 402와 연동 가능한 어플리케이션을 실행할 수 있다. 프로세서 460은 실행된 어플리케이션의 동작에 따라, Non IP 통신 모듈을 이용하여 웨어러블 전자 장치 402와 Non IP 서비스 기반의 메시지를 송수신하도록 제어할 수 있다.
발명의 다양한 실시 예에 따르면, 메모리 430은 적어도 하나 이상의 어플리케이션 432를 저장할 수 있다. 적어도 하나 이상의 어플리케이션 432 중 일부는 웨어러블 전자 장치 402와 연동 가능한 어플리케이션일 수 있다. 메모리 430은 IP 통신 모듈을 통해 IP 웹 서버로부터 수신되는 IP 패킷을 저장하거나 Non IP 통신 모듈을 통해 웨어러블 전자 장치 402로부터 수신되는 Non IP 메시지를 저장할 수 있다.
예를 들면, 호스트 전자 장치 401와 Non IP 네트워크를 통해 연동 가능한 웨어러블 전자 장치 402는 통신 모듈 450, 프로세서 460, 메모리 470을 포함할 수 있다.
발명의 다양한 실시 예에 따르면, 통신 모듈 450은 IP 네트워크 서비스 가능한 IP 통신 모듈과 Non IP 네트워크 서비스 가능한 Non IP 통신 모듈을 포함할 수 있다. 한 실시 예에 따르면 웨어러블 전자 장치 402는 호스트 전자 장치 401와 Non IP 통신 모듈을 통해 페어링될 수 있다. 한 실시 예에 따르면 웨어러블 전자 장치 402는 IP 통신 모듈을 통해 웹 서버와 통신할 수 있다. 한 실시 예에 따르면 웨어러블 전자 장치 402는 호스트 전자 장치 401과 페어링 되지 않은 상태에서 IP 통신 모듈을 통해 웹 서버와 통신할 수 있다. 한 실시 예에 따르면 웨어러블 전자 장치 402는 호스트 전자 장치 401과 페어링된 상태에서 Non IP 통신 모듈을 통해 호스트 전자 장치 401을 경유하여 웹 서버와 IP 패킷을 주고받을 수 있다.
Non IP 통신 모듈은 IP 네트워크 서비스를 지원하지 않는 통신 모듈로서 블루투스(bluetooth) 통신 모듈, 지그비(zigbee) 통신 모듈, 적외선 통신 모듈, BLE(bluetooth low energy) 통신 모듈, 오디오 통신 모듈, LTE(long term evolution) 통신 모듈, 및 WiFi 통신 모듈 중 적어도 하나를 포함할 수 있다. 이 외에도 IP 네트워크 서비스를 지원하지 않는 통신 모듈이면 어느 것이나 가능할 수 있다. 한 실시 예에 따르면, IP 통신 모듈은 IP 네트워크 서비스를 통해 웹 서버와 IP 패킷을 송수신할 수 있다. Non IP 통신 모듈은 호스트 전자 장치 401과 Non IP 서비스 기반의 메시지를 송수신할 수 있다.
발명의 다양한 실시 예에 따르면, 프로세서 460은 IP 프록시(internet protocol proxy) 462, IP 인터프리터(ip interpreter) 464를 포함할 수 있다.
IP 인터프리터 464는 Non IP 메시지가 수신되면 Non IP 메시지로부터 IP 패킷을 추출할 수 있다. 한 실시 예에 따르면 IP 인터프리터 464는 블루투스 서비스 기반의 메시지가 수신되면, 블루투스 서비스 기반의 메시지로부터 IP 패킷을 추출하거나, 지그비(zigbee) 서비스 기반의 메시지가 수신되면, 지그비(zigbee) 서비스 기반의 메시지로부터 IP 패킷을 추출하거나, 적외선 통신 서비스 기반의 메시지가 수신되면, 적외선 통신 서비스 기반의 메시지로부터 IP 패킷을 추출하거나, BLE 서비스 기반의 메시지가 수신되면, BLE 서비스 기반의 메시지로부터 IP 패킷을 추출하거나, 오디오 통신 서비스 기반의 메시지가 수신되면, 오디오 통신 서비스 기반의 메시지로부터 IP 패킷을 추출할 수 있다. 이외에도 LTE(long term evolution) 통신 또는 WiFi 통신 서비스 기반의 메시지가 수신되는 경우에도 LTE(long term evolution) 통신 또는 WiFi 통신 서비스 기반의 메시지로부터 IP 패킷을 추출하는 것도 가능할 수 있다.
IP 프록시 462는 IP 인터프리터 464에 의해 추출된 IP 패킷에 해당하는 IP request가 웹 서버로 전달되도록 통신 채널을 설정할 수 있다.
IP 인터프리터 464는IP request에 대한 응답으로 웹 서버로부터 수신된 IP response를 Non IP 기반의 메시지로 생성할 수 있다. 한 실시 예에 따르면 IP 인터프리터 464는 IP request에 대한 응답으로 웹 서버로부터 수신된 IP response를 포함하는 블루투스 서비스 기반의 메시지를 생성하거나, IP request에 대한 응답으로 웹 서버로부터 수신된 IP response를 포함하는 지그비(zigbee) 서비스 기반의 메시지를 생성하거나, IP request에 대한 응답으로 웹 서버로부터 수신된 IP response를 포함하는 적외선 통신 서비스 기반의 메시지를 생성하거나, IP request에 대한 응답으로 웹 서버로부터 수신된 IP response를 포함하는 BLE 서비스 기반의 메시지를 생성하거나, IP request에 대한 응답으로 웹 서버로부터 수신된 IP response를 포함하는 오디오 통신 서비스 기반의 메시지를 생성할 수 있다. 이외에도 LTE(long term evolution) 통신, 또는 WiFi 통신 서비스 기반의 메시지를 생성하는 것도 가능하다.
한 실시 예에 따르면 프로세서 460는 하나의 물리적 디바이스로서 IP 프록시 462 및 IP 인터프리터 464의 기능을 수행할 수도 있다. 즉, IP 프록시 462 및 IP 인터프리터 464는 하나의 기능으로 구현될 수 있다. 프로세서 460은 메모리 470에 저장된 적어도 하나 이상의 어플리케이션 472 각각을 실행할 수 있고, 적어도 하나 이상의 어플리케이션 472 중 호스트 전자 장치 401과 연동 가능한 어플리케이션을 실행할 수 있다. 프로세서 460은 실행된 어플리케이션의 동작에 따라 Non IP 통신 모듈을 이용하여 호스트 전자 장치 401과 Non IP 메시지를 송수신하도록 제어할 수 있다.
발명의 다양한 실시 예에 따르면, 메모리 470은 적어도 하나 이상의 어플리케이션 472를 저장할 수 있다. 적어도 하나 이상의 어플리케이션 472 중 일부는 호스트 전자 장치 401과 연동 가능한 어플리케이션일 수 있다. 메모리 470은 IP 통신 모듈을 통해 IP 웹 서버로부터 수신되는 IP 패킷을 저장하거나 Non IP 통신 모듈을 통해 호스트 전자 장치 401로부터 수신되는 Non IP 메시지를 저장할 수 있다.
한 실시 예에 따르면 전자 장치에 있어서, 메모리; 메시지를 송수신하는 통신 모듈; 및 Non IP 서비스 기반의 메시지가 수신되면 상기 Non IP 서비스 기반의 메시지의 적어도 일부가 포함된 IP 기반의 메시지를 생성하고 생성된 상기 IP 기반의 메시지를 제공하는 프로세서를 포함할 수 있다.
한 실시 예에 따르면 상기 프로세서는 IP 서비스 기반의 메시지가 송수신 되는 통신 채널을 설정하는 IP 프록시; 및 IP 서비스 기반의 메시지 송신을 위해 상기 IP 서비스 기반의 메시지의 적어도 일부를 포함하는 Non IP 서비스 기반의 메시지를 생성하고, Non IP 서비스 기반의 메시지가 수신되면, 상기 수신된 Non IP 서비스 기반의 메시지로부터 IP 서비스 기반의 메시지를 생성하는 IP 인터프리터(interpreter)를 포함할 수 있다.
한 실시 예에 따르면 상기 프로세서는 상기 생성된 IP 기반의 메시지를 통신 모듈 또는 어플리케이션으로 전달할 수 있다.
한 실시 예에 따르면 상기 통신 모듈은 IP 네트워크 서비스를 지원하지 않는 통신 모듈일 수 있다.
한 실시 예에 따르면 상기 통신 모듈은 블루투스(bluetooth) 통신 모듈, 지그비(zigbee) 통신 모듈, 적외선 통신 모듈, BLE(bluetooth low energy) 통신 모듈, 오디오 통신 모듈, LTE(long term evolution) 통신 모듈, 및 WiFi 통신 모듈 중 적어도 하나를 포함할 수 있다.
한 실시 예에 따르면 상기 전자 장치는 클라이언트 전자 장치 또는 호스트 전자 장치 중 어느 하나일 수 있다.
한 실시 예에 따르면 상기 클라이언트 전자 장치에서 호스트 전자장치에 연결되어 스스로 IP 통신이 불가능할 때 동작할 수 있다.
한 실시 예에 따르면 IP 서비스 기반의 메시지를 송수신하는 IP 통신 모듈을 더 포함할 수 있다.
한 실시 예에 따르면 상기 프로세서는 상기 IP 서비스 기반의 메시지의 적어도 일부를 포함하는 Non IP 서비스 기반의 메시지 전송이 불가능한 경우 상기 IP 통신 모듈을 이용하여 IP 서비스 기반의 메시지를 송수신할 수 있다.
도 5는 다양한 실시 예들 중 하나에 따른 호스트 전자 장치의 동작 흐름도이다. 도 5를 참조하면, 호스트 전자 장치 401은 502 동작에서 웨어러블 전자 장치 402와 연결중인지 판단할 수 있다.
발명의 다양한 실시 예에 따르면, 호스트 전자 장치 401은 웨어러블 전자 장치 402와 연결중인 상태이면 504 동작에서 IP 네트워크 이용이 가능한지 판단할 수 있다. 한 실시 예에 따르면 호스트 전자 장치 401는 웨어러블 전자 장치 402로부터 Non IP 메시지에 포함되어 제공되는 IP 패킷을 웹 서버로 송신할 수 있는 상태인지 판단할 수 있다.
발명의 다양한 실시 예에 따르면, 호스트 전자 장치 401이 IP 네트워크 이용이 가능하지 않으면 호스트 전자 장치 401은 506 동작에서 웨어러블 전자 장치 402에 IP 네트워크 이용 불가를 알릴 수 있다. 한 실시 예에 따르면 호스트 전자 장치 401은 IP 네트워크 이용 불가를 알리는 Non IP 기반의 메시지를 웨어러블 전자 장치 402에 전송할 수 있다.
발명의 다양한 실시 예에 따르면, 호스트 전자 장치 401이 IP 네트워크 이용이 가능하면 호스트 전자 장치 401은 508 동작에서 웨어러블 전자 장치 402에 IP 네트워크 이용 가능을 알릴 수 있다. 한 실시 예에 따르면 호스트 전자 장치 401은 IP 네트워크 이용 가능을 알리는 Non IP 기반의 메시지를 웨어러블 전자 장치 402에 전송할 수 있다.
발명의 다양한 실시 예에 따르면, 호스트 전자 장치 401은 510 동작에서 IP 패킷이 수신되는지 또는 Non IP 기반의 메시지가 수신되는지 판단할 수 있다. 한 실시 예에 따르면 웹 서버로부터 IP 패킷이 수신될 수 있고, 웨어러블 전자 장치 402로부터 Non IP 메시지가 수신될 수 있다.
발명의 다양한 실시 예에 따르면, 호스트 전자 장치 401는 외부 웹 서버로부터 IP 패킷이 수신되면 512 동작에서 IP 패킷을 포함하는 Non IP 메시지를 생성할 수 있다. 한 실시 예에 따르면 IP 패킷을 포함하는 블루투스 메시지를 생성하거나, IP 패킷을 포함하는 지그비 메시지를 생성하거나, IP 패킷에 대응된 적외선 신호를 생성하거나, IP 패킷을 포함하는 BLE 메시지를 생성하거나 또는, IP 패킷에 대응된 오디오 신호를 생성할 수 있다.
발명의 다양한 실시 예에 따르면, 호스트 전자 장치 401는 514 동작에서 Non IP 기반의 메시지를 웨어러블 전자 장치 401에 전송할 수 있다.
발명의 다양한 실시 예에 따르면, 호스트 전자 장치 401는 웨어러블 전자 장치 401로부터 Non IP 기반의 메시지가 수신되면 516 동작에서 Non IP 메시지에 포함된 IP 패킷을 추출할 수 있다. 한 실시 예에 따르면 호스트 전자 장치 401는 블루투스 메시지에서 IP 패킷을 추출하거나, 지그비 메시지에서 IP 패킷을 추출하거나 적외선 메시지 신호로부터 IP 패킷을 추출하거나, BLE 메시지로부터 IP 패킷을 추출하거나 또는, 오디오 메시지 신호에서 IP 패킷을 추출할 수 있다.
발명의 다양한 실시 예에 따르면, 호스트 전자 장치 401는 518 동작에서 상기 추출된 IP 패킷을 웹 서버로 전송할 수 있다.
상술한 설명에 따르면, 상기 510, 512, 및 514 동작은 호스트 전자 장치 401이 페어링된 웨어러블 전자 장치 402로부터 웹 서비스(예: 네이버 )와 같은 IP 기반의 서비스를 이용하기 위한 IP request를 수신함에 따라 외부 웹 서버에 IP request 를 전달하여 외부 웹 서버로부터 IP 패킷이 수신된 경우의 동작일 수 있다. 이러한 경우 호스트 전자 장치 401은 수신된 IP 패킷에 대응된 Non IP 서비스 기반의 데이터를 생성하고 최종 목적지인 웨어러블 전자 장치 402의 어플리케이션 472에게 NonIP 서비스 기반의 데이터를 전달해줄 수 있다.
한편, 상기 510, 516, 및 518 동작은 호스트 전자 장치 401이 페어링된 웨어러블 전자 장치 402로부터 Non IP 서비스 기반의 메시지를 수신함에 따라 Non IP 서비스 기반의 메시지로부터 IP 패킷을 추출하고, 추출된 IP 패킷을 웹 서버로 전송하는 경우의 동작일 수 있다.
도 6은 다양한 실시 예들 중 하나에 따른 웨어러블 전자 장치의 동작 흐름도이다. 도 6을 참조하면, 발명의 다양한 실시 예에 따르면, 웨어러블 전자 장치 402는 602 동작에서 호스트 전자 장치 401와 연결중인지 판단할 수 있다.
발명의 다양한 실시 예에 따르면, 웨어러블 전자 장치 402는 호스트 전자 장치 401과 연결중인 상태가 아니면 604 동작에서 미리 설정된 IP 프록시 주소를 삭제하고 606 동작에서 IP 프록시 기능을 비활성화할 수 있다. 한 실시 예에 따르면 미리 설정된 IP 프록시 주소는 IP 패킷을 송수신하기 위해 웨어러블 전자 장치 402에 할당되는 IP 주소일 수 있다.
발명의 다양한 실시 예에 따르면, 웨어러블 전자 장치 402는 호스트 전자 장치 401과 연결중인 상태이면 608 동작에서 호스트 IP 네트워크 이용이 가능한지 판단할 수 있다. 한 실시 예에 따르면 웨어러블 전자 장치 402는 IP 패킷을 호스트 전자 장치 401를 통해 웹 서버로 송신할 수 있는 상태인지 판단할 수 있다.
발명의 다양한 실시 예에 따르면, 호스트 전자 장치 401이 IP 네트워크 이용이 가능하지 않으면 웨어러블 전자 장치 402는 610 동작에서 IP 프록시가 동작중인지 판단할 수 있다. 한 실시 예에 따르면 웨어러블 전자 장치 402는 IP 프록시를 이용한 데이터 전송이 수행되고 있는지 판단할 수 있다.
발명의 다양한 실시 예에 따르면, 웨어러블 전자 장치 402는 IP 프록시가 동작중이면 612 동작에서 IP 프록시에 대응된 소켓(socket)을 닫을 수 있다. 한 실시 예에 따르면 소켓은 IP 패킷을 포함하는 Non IP 메시지를 생성하기 위해 IP 패킷이 전달되는 통로일 수 있다. 웨어러블 전자 장치 402는 IP 프록시에 대응된 소켓을 닫은 후 상기 604 동작 및 606 동작을 수행할 수 있다.
발명의 다양한 실시 예에 따르면, 호스트 IP 네트워크 이용이 가능하면 웨어러블 전자 장치 402는 614 동작에서 IP 프록시 주소를 설정하고 616 동작에서 IP 프록시 기능을 활성화할 수 있다. 한 실시 예에 따르면 IP 프록시 주소는 IP 패킷을 송수신하기 위해 웨어러블 전자 장치 402에 설정되는 IP 주소일 수 있다.
발명의 다양한 실시 예에 따르면, 웨어러블 전자 장치 402는 IP 프록시 기능이 활성화되면 618 동작에서 IP 패킷을 송신할지 또는 Non IP 기반의 메시지가 수신되는지 판단할 수 있다.
발명의 다양한 실시 예에 따르면, 웨어러블 전자 장치 402는 IP 패킷을 송신하는 경우 620 동작에서 IP 패킷을 포함하는 Non IP 기반의 메시지를 생성할 수 있다. 한 실시 예에 따르면 IP 패킷을 포함하는 블루투스 메시지를 생성하거나, IP 패킷을 포함하는 지그비(zigbee) 메시지를 생성하거나, IP 패킷에 대응된 적외선 신호를 생성하거나, IP 패킷을 포함하는 BLE 메시지를 생성하거나 또는, IP 패킷에 대응된 오디오 신호를 생성할 수 있다. 또는 IP 패킷을 포함하는 LTE(long term evolution) 메시지를 생성하거나, IP 패킷을 포함하는 WiFi 통신 메시지를 생성할 수 있다.
발명의 다양한 실시 예에 따르면, 웨어러블 전자 장치 402는 622 동작에서 상기 생성된 Non IP 메시지를 호스트 전자 장치 401에 전송할 수 있다. 호스트 전자 장치 401에 전송된 Non IP 메시지에서 IP 패킷이 추출될 수 있고, 추출된 IP 패킷은 호스트 전자 장치 401에 의해 웹 서버로 전송될 수 있다.
발명의 다양한 실시 예에 따르면, 웨어러블 전자 장치 402는 Non IP 메시지가 수신되는 경우 624 동작에서 Non IP 메시지에 포함된 IP 패킷을 추출할 수 있다. 한 실시 예에 따르면 웨어러블 전자 장치 402는 블루투스 메시지에서 IP 패킷을 추출하거나, 지그비(zigbee) 메시지에서 IP 패킷을 추출하거나 적외선 메시지 신호로부터 IP 패킷을 추출하거나, BLE 메시지로부터 IP 패킷을 추출하거나 또는, 오디오 메시지 신호에서 IP 패킷을 추출할 수 있다. 또는 LTE(long term evolution) 메시지에서 IP 패킷을 추출하거나, WiFi 메시지에서 IP 패킷을 추출할 수 있다.
발명의 다양한 실시 예에 따르면, 웨어러블 전자 장치 402는 626 동작에서 상기 추출된 IP 패킷을 해당 어플리케이션에 제공할 수 있다.
상기한 바와 같은 한 실시 예에 따르면 웹 서버로부터의 IP 패킷이 호스트 전자 장치 401을 통해 IP 네트워크 서비스 지원이 되지 않는 웨어러블 전자 장치 402에 전달될 수 있고, IP 네트워크 서비스 지원이 되지 않는 웨어러블 전자 장치 402로부터의 IP 패킷이 Non IP 메시지 형태로 호스트 전자 장치 401에 전달되어 호스트 전자 장치 401을 통해 웹 서버로 전달될 수 있다.
도 7은 다양한 실시 예들 중 하나에 따른 Non IP 메시지 생성을 설명하기 위한 도면이다. 도 7을 참조하면, 도 7의 (a)는 OSI(Open System Interconnection) 7 레이어를 나타낸 도면이다. IP 네트워크를 이용하여 IP 패킷을 전송하는 경우 도 7의 (a)에 도시된 바와 같이 OSI 7 레이어의 모든 계층에 대응된 정보가 사용될 수 있다. 발명의 다양한 실시 예에 따르면, IP 패킷을 포함하는 Non IP 메시지를 생성하는 경우 OSI 7 레이어의 일부 계층에 대응된 정보를 생략할 수 있다. 한 실시 예에 따르면 IP 패킷을 포함하는 Non IP 메시지를 생성하는 경우 도 7의 (b)와 같이, Transport 계층 702와 Network 계층 704에 대응된 정보를 생략할 수 있다.
도 8은 다양한 실시 예들 중 하나에 따른 IP 메시지와 Non IP 기반의 메시지를 설명하기 위한 도면이다. 도 8을 참조하면, 도 8의 (a)는 IP 메시지를 나타내고, 도 8의 (b)는 Non IP 기반의 메시지를 나타낼 수 있다. 한 실시 예에 따르면 IP 패킷을 포함하는 Non IP 기반의 메시지를 생성하는 경우 도 8의 (a)에서 Transport 계층 702에 대응된 IP 필드 802와 Network 계층 704에 대응된 TCP 필드 804를 생략하고 도 8의 (b) 와 같이 IP 필드 802와 TCP 필드 804에 대응된 Non IP 헤더 805를 포함하는 Non IP 기반의 메시지를 생성할 수 있다. 한 실시 예에 따르면 Non IP 헤더 805는 블루투스 통신 기반의 헤더, 지그비 통신 기반의 헤더, 적외선 통신 기반의 헤더, 오디오 통신 기반의 헤더, LTE(long term evolution) 통신 기반의 헤더, 및 WiFi 통신 기반의 헤더 중 적어도 하나일 수 있다.
한 실시 예에 따르면 웨어러블 전자 장치 402의 IP 인터프리터 462는 송신하고자 하는 IP 서비스 기반의 메시지에서 IP 정보 및 TCP 정보 대신 Non IP 헤더 정보를 포함하는 Non IP 서비스 기반의 메시지를 생성할 수 있고, 호스트 전자 장치 401로부터 Non IP 서비스 기반의 메시지가 수신되면, Non IP 서비스 기반의 메시지에 포함된 HTTP 정보를 이용해서 IP 정보 및 TCP 정보를 획득할 수 있고, 획득된 IP 정보 및 TCP 정보를 이용해서 IP 서비스 기반의 메시지를 생성할 수 있다.
한 실시 예에 따르면 호스트 전자 장치 401의 IP 인터프리터 424는 웨어러블 전자 장치 402로부터 수신된 Non IP 서비스 기반의 메시지에 포함된 HTTP 정보를 이용해서 IP 정보 및 TCP 정보를 획득하여 IP 서비스 기반의 메시지를 생성할 수 있고, 웹 서버로부터 수신된 IP 서비스 기반의 메시지에서 IP 정보 및 TCP 정보를 대신 Non IP 헤더 정보를 포함하는 Non IP 서비스 기반의 메시지를 생성할 수 있다.
도 9는 다양한 실시 예들 중 하나에 따른 IP 네트워크 서비스에 대한 흐름도이다. 도 9를 참조하면, 호스트 전자 장치 901 는 9002 동작에서 호스트 IP 네트워크 이용이 가능하면 웨어러블 전자 장치 902에 호스트 IP 네트워크 이용 가능을 알리는 메시지를 전송할 수 있다. 한 실시 예에 따르면 IP 인터프리터 924는 호스트 IP 네트워크 이용 가능을 알리는 Non IP 메시지를 웨어러블 전자 장치 902에 전송할 수 있다.
발명의 다양한 실시 예에 따르면, IP 네트워크 이용 가능을 알리는 메시지가 수신되면 웨어러블 전자 장치 902의 IP 프록시 964는 9004 동작에서 어플리케이션 프리퍼런스(preperence)와 라우팅 테이블(routing table)을 업데이트할 수 있다. 한 실시 예에 따르면 IP 프록시 964는 IP 네트워크 이용 가능을 알리는 메시지가 수신되면 IP 프록시 주소를 설정하고 어플리케이션 프리퍼런스 정보에 IP 프록시 주소를 삽입하고, 어플리케이션의 IP request 가 IP 프록시 964를 통해 전송되도록 라우팅 테이블을 업데이트할 수 있다.
발명의 다양한 실시 예에 따르면, 어플리케이션 972는 실행되는 중 IP request가 발생하면 9006동작에서 IP request를 IP 프록시 964에 전달할 수 있다. IP request가 IP 프록시 964에 전달됨에 따라 IP 인터프리터 962는 IP request를 포함하는 Non IP 메시지를 생성할 수 있다. IP 프록시 964는 9008 동작에서 상기 생성된 Non IP 메시지에 대응된 Non IP 메시지 request를 호스트 전자 장치 901로 전송할 수 있다.
발명의 다양한 실시 예에 따르면, 호스트 전자 장치 901의 IP 인터프리터 922는 Non IP 메시지 request로부터 IP request를 추출할 수 있다. 호스트 전자 장치 901의 IP 프록시 924는 9010 동작에서 상기 추출된 IP request를 웹 서버 906으로 전송할 수 있다.
발명의 다양한 실시 예에 따르면, 웹 서버 906은 9012 동작에서 IP request에 대응된 IP response를 호스트 전자 장치 901에 전송할 수 있다.
발명의 다양한 실시 예에 따르면, 호스트 전자 장치 901은 IP 인터프리터 922를 통해 IP response를 포함하는 Non IP 메시지를 생성한 후 9014 동작에서 IP 프록시 924를 통해 Non IP 메시지 response를 웨어러블 전자 장치 902에 전달할 수 있다.
웨어러블 전자 장치 902에 Non IP 메시지 response가 수신되면 IP 인터프리터 962는 Non IP 메시지 response로부터 IP response를 추출하고, 9016 동작에서 상기 추출된 IP response를 어플리케이션 972으로 전달할 수 있다.
발명의 다양한 실시 예에 따르면, 호스트 전자 장치 901 는 호스트 IP 네트워크 이용이 가능하지 않으면 9018 동작에서 웨어러블 전자 장치 902에 호스트 IP 네트워크 이용 불가를 알리는 메시지를 전송할 수 있다. 한 실시 예에 따르면 IP 인터프리터 924는 호스트 IP 네트워크 이용 불가를 알리는 Non IP 메시지를 웨어러블 전자 장치 902에 전송할 수 있다.
발명의 다양한 실시 예에 따르면, 호스트 IP 네트워크 이용 불가를 알리는 메시지가 수신되면 웨어러블 전자 장치 902의 IP 프록시 964는 9020 동작에서 어플리케이션 프리퍼런스(preperence)와 라우팅 테이블(routing table)을 업데이트할 수 있다. 한 실시 예에 따르면 IP 프록시 964는 IP 네트워크 이용 불가를 알리는 메시지가 수신되면 어플리케이션 프리퍼런스 정보에서 미리 설정된 IP 프록시 주소를 삭제하고, 어플리케이션의 IP request 가 IP 프록시 964를 통해 전송되지 않도록 라우팅 테이블을 업데이트할 수 있다.
발명의 다양한 실시 예에 따르면, 웨어러블 전자 장치 902는 호스트 IP 네트워크 이용이 불가능한 경우 직접 웹 서버 906와 통신할 수도 있다. 웨어러블 전자 장치 902가 호스트 IP 네트워크 이용이 불가능한 경우 호스트 전자 장치 901을 통하지 않고 직접 웹 서버 906와 통신하는 동작들은 선택적(optional)일 수 있다.
도 10은 다양한 실시 예들 중 하나에 따른 웨어러블 전자 장치가 호스트 전자 장치를 통하지 않고 웹 서버 와 통신하는 IP 네트워크 서비스에 대한 흐름도이다.
도 10을 참조하면, 웨어러블 전자 장치 1002가 호스트 전자 장치 1001을 통하지 않고 직접 웹 서버 1006와 통신하는 경우 IP 프록시 1064는 10102 동작에서 웨어러블 IP 네트워크가 이용가능한지 판단할 수 있다. 웨어러블 IP 네트워크가 이용 가능하면 IP 프록시 1064는 10014 동작에서 IP 프록시의 동작이 비활성화되도록 설정할 수 있다. IP 프록시 1064는 10106 동작에서 어플리케이션 프리퍼런스(preperence)와 라우팅 테이블(routing table)을 업데이트할 수 있다. 한 실시 예에 따르면 IP 프록시 1064는 어플리케이션 프리퍼런스 정보에서 미리 설정된 IP 프록시 주소를 삭제하고, 어플리케이션의 IP request 가 IP 프록시 1064를 통해 전송되지 않고 IP 통신 모듈을 통해 전송되도록 라우팅 테이블을 업데이트할 수 있다.
발명의 다양한 실시 예에 따르면, 어플리케이션 1072는 10108 동작에서 IP 통신 모듈을 통해 IP reauest를 직접 웹 서버 1006으로 전송할 수 있다. 웹 서버 1006은 10110 동작에서 IP request에 응답하여 IP response를 웨어러블 전자 장치 1002에 직접 전송할 수 있다.
한 실시 예에 따르면 전자 장치에서 IP 네트워크 서비스 방법에 있어서, IP 서비스 기반의 메시지 송신을 위해 상기 IP 서비스 기반의 메시지의 적어도 일부를 포함하는 Non IP 서비스 기반의 메시지를 생성하는 동작; 및 상기 IP 서비스 기반의 데이터의 적어도 일부를 포함하는 Non IP 서비스 기반의 메시지를 전송하는 동작을 포함할 수 있다.
한 실시 예에 따르면 IP 서비스 기반의 메시지의 적어도 일부를 포함하는 Non IP 서비스 기반의 메시지를 수신하는 동작; 및 상기 수신된 Non IP 서비스 기반의 메시지로부터 IP 서비스 기반의 메시지를 생성하는 동작을 더 포함할 수 있다.
한 실시 예에 따르면 상기 수신된 Non IP 서비스 기반의 메시지를 저장하는 동작을 더 포함할 수 있다.
한 실시 예에 따르면 상기 Non IP 서비스 기반의 메시지는 IP 네트워크 서비스를 지원하지 않는 통신에 의해 수신될 수 있다.
한 실시 예에 따르면 상기 IP 네트워크 서비스를 지원하지 않는 통신은 블루투스(bluetooth) 통신, 지그비(zigbee) 통신, 적외선 통신, BLE(bluetooth low energy) 통신, 오디오 통신, LTE(long term evolution) 통신, 및 WiFi 통신 중 적어도 하나일 수 있다.
한 실시 예에 따르면 상기 전자 장치는 클라이언트 전자 장치 또는 호스트 전자 장치 중 어느 하나일 수 있다.
한 실시 예에 따르면 상기 IP 서비스 기반의 메시지의 적어도 일부를 포함하는 Non IP 서비스 기반의 메시지 전송이 불가능한 경우 IP 통신 모듈을 이용하여 IP 서비스 기반의 메시지를 송수신하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시 예에 따른 전자 장치의 전술한 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 본 발명의 다양한 실시 예에 따른 전자 장치는 전술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한 본 발명의 다양한 실시 예에 따른 전자 장치의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
본 발명의 다양한 실시 예에 사용된 용어 “모듈”은, 예를 들어, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. “모듈”은 예를 들어, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component) 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. “모듈”은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. “모듈”은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. “모듈”은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, 본 발명의 다양한 실시 예에 따른 “모듈”은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(applicationspecific integrated circuit) 칩, FPGAs(fieldprogrammable gate arrays) 또는 프로그램 가능 논리 장치(programmablelogic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시 예에 따르면, 본 발명의 다양한 실시 예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그래밍 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computerreadable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어는, 하나 이상의 프로세서 (예: 도 1의 프로세서 120)에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 상기 도 1의 메모리 130이 될 수 있다. 상기 프로그래밍 모듈의 적어도 일부는, 예를 들면, 상기 도 1의 프로세서 120에 의해 구현(implement)(예: 실행)될 수 있다. 상기 프로그래밍 모듈 의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트 (sets of instructions) 또는 프로세스 등을 포함할 수 있다.
상기 컴퓨터로 판독 가능한 기록 매체에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 마그네틱 매체(Magnetic Media)와, CDROM(Compact Disc Read Only Memory), DVD(Digital Versatile Disc)와 같은 광기록 매체(Optical Media)와, 플롭티컬 디스크(Floptical Disk)와 같은 자기광 매체(MagnetoOptical Media)와, 그리고 ROM(Read Only Memory), RAM(Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령(예: 프로그래밍 모듈)을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 다양한 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
본 발명의 다양한 실시 예에 따른 모듈 또는 프로그래밍 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 본 발명의 다양한 실시 예에 따른 모듈, 프로그래밍 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
다양한 실시 예에 따르면, 명령들(또는 프로그램)을 저장하고 있는 저장 매체에 있어서, 상기 명령들은 전자 장치에서, IP 서비스 기반의 데이터 송신을 위해 상기 IP 서비스 기반의 데이터를 포함하는 Non IP 서비스 기반의 메시지를 생성하는 동작; 및 상기 IP 서비스 기반의 데이터를 포함하는 Non IP 서비스 기반의 메시지를 전송하는 동작을 수행하도록 하는 명령들일 수 있다. 한 실시 예에 따르면, 상기 명령들은 전자 장치에서, IP 서비스 기반의 데이터를 포함하는 Non IP 서비스 기반의 메시지를 수신하는 동작; 및 상기 수신된 Non IP 서비스 기반의 메시지로부터 IP 서비스 기반의 메시지를 생성하는 동작을 수행하도록 하는 명령들일 수 있다.
그리고 본 명세서와 도면에 개시된 본 발명의 실시 예들은 본 발명의 실시 예에 따른 의 기술 내용을 쉽게 설명하고 본 발명의 실시 예의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 실시 예의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 다양한 실시 예의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 다양한 실시 예의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 다양한 실시 예의 범위에 포함되는 것으로 해석되어야 한다.

Claims (21)

  1. 전자 장치에 있어서,
    메모리;
    메시지를 송수신하는 통신 모듈; 및
    Non IP 서비스 기반의 메시지가 수신되면 상기 Non IP 서비스 기반의 메시지의 적어도 일부가 포함된 IP 기반의 메시지를 생성하고 생성된 상기 IP 기반의 메시지를 제공하는 프로세서를 포함하는 것을 특징으로 하는 전자 장치.
  2. 제1항에 있어서, 상기 프로세서는,
    IP 서비스 기반의 메시지가 송수신 되는 통신 채널을 설정하는 IP 프록시; 및
    IP 서비스 기반의 메시지 송신을 위해 상기 IP 서비스 기반의 메시지의 적어도 일부를 포함하는 Non IP 서비스 기반의 메시지를 생성하고, Non IP 서비스 기반의 메시지가 수신되면, 상기 Non IP 서비스 기반의 메시지로부터 IP 서비스 기반의 메시지를 생성하는 IP 인터프리터를 포함하는 것을 특징으로 하는 전자 장치.
  3. 제1항에 있어서,
    상기 프로세서는 상기 생성된 IP 기반의 메시지를 통신 모듈 또는 어플리케이션으로 전달하는 전자 장치.
  4. 제1항에 있어서,
    상기 통신 모듈은 IP 네트워크 서비스를 지원하지 않는 통신 모듈인 것을 특징으로 하는 전자 장치.
  5. 제1항에 있어서,
    상기 통신 모듈은 블루투스(bluetooth) 통신 모듈, 지그비(zigbee) 통신 모듈, 적외선 통신 모듈, BLE(bluetooth low energy) 통신 모듈, 오디오 통신 모듈, LTE(long term evolution) 통신 모듈, 및 WiFi 통신 모듈 중 적어도 하나를 포함하는 것을 특징으로 하는 전자 장치.
  6. 제1항에 있어서,
    상기 전자 장치는 호스트 전자 장치 혹은 클라이언트 전자 장치 중 어느 하나인 것을 특징으로 하는 전자 장치.
  7. 제6항에 있어서,
    상기 클라이언트전자 장치에서 호스트 전자 장치에 연결되어 스스로 IP 통신이 불가능 할 때 동작하는 것을 특징으로 하는 전자 장치.
  8. 제1항에 있어서,
    IP 서비스 기반의 메시지를 송수신하는 IP 통신 모듈을 더 포함하는 것을 특징으로 하는 전자 장치.
  9. 제8항에 있어서,
    상기 프로세서는 상기 IP 서비스 기반의 메시지의 적어도 일부를 포함하는 Non IP 서비스 기반의 메시지 전송이 불가능한 경우 상기 IP 통신 모듈을 이용하여 IP 서비스 기반의 메시지를 송수신하는 것을 특징으로 하는 전자 장치.
  10. 전자 장치에서 IP 네트워크 서비스 방법에 있어서,
    IP 서비스 기반의 메시지 송신을 위해 상기 IP 서비스 기반의 메시지의 적어도 일부를 포함하는 Non IP 서비스 기반의 메시지를 생성하는 동작; 및
    상기 IP 서비스 기반의 데이터의 적어도 일부를 포함하는 Non IP 서비스 기반의 메시지를 전송하는 동작을 포함하는 것을 특징으로 하는 전자 장치에서 IP 네트워크 서비스 방법.
  11. 제10항에 있어서,
    IP 서비스 기반의 메시지의 적어도 일부를 포함하는 Non IP 서비스 기반의 메시지를 수신하는 동작; 및
    상기 수신된 Non IP 서비스 기반의 메시지로부터 IP 서비스 기반를 생성하는 동작을 포함하는 것을 특징으로 하는 전자 장치에서 IP 네트워크 서비스 방법.
  12. 제0항에 있어서,
    상기 수신된 Non IP 서비스 기반의 메시지를 저장하는 동작을 더 포함하는 것을 특징으로 하는 전자 장치에서 IP 네트워크 서비스 방법.
  13. 제10항에 있어서,
    상기 Non IP 서비스 기반의 메시지는 IP 네트워크 서비스를 지원하지 않는 통신에 의해 수신되는 것을 특징으로 하는 전자 장치에서 IP 네트워크 서비스 방법.
  14. 제13항에 있어서,
    상기 IP 네트워크 서비스를 지원하지 않는 통신은 블루투스(bluetooth) 통신, 지그비(zigbee) 통신, 적외선 통신, BLE(bluetooth low energy) 통신, 오디오 통신, LTE(long term evolution) 통신 모듈, 및 WiFi 통신 모듈 중 적어도 하나인 것을 특징으로 하는 전자 장치에서 IP 네트워크 서비스 방법.
  15. 제10항에 있어서,
    상기 전자 장치는 호스트 전자 장치 또는 클라이언트 전자 장치 중 어느 하나인 것을 특징으로 하는 전자 장치에서 IP 네트워크 서비스 방법.
  16. 제1항에 있어서,
    상기 IP 서비스 기반의 메시지의 적어도 일부를 포함하는 Non IP 서비스 기반의 메시지 전송이 불가능한 경우 IP 통신 모듈을 이용하여 IP 서비스 기반의 메시지를 송수신하는 동작을 더 포함하는 것을 특징으로 하는 전자 장치에서 IP 네트워크 서비스 방법.
  17. IP 네트워크 시스템에 있어서,
    IP 요청을 포함하는 Non IP 서비스 기반의 메시지를 생성하여 전송하고, Non IP 서비스 기반의 응답 메시지가 수신되면 수신된 Non IP 서비스 기반의 메시지로부터 IP 응답을 생성하는 제1 전자 장치; 및
    상기 제1 전자 장치로부터 Non IP 서비스 기반의 메시지가 수신되면 상기 수신된 Non IP 서비스 기반의 메시지로부터 상기 IP 요청을 생성하여 서버로 전송하고, 상기 서버로부터 상기 IP 응답이 수신되면 상기 IP 응답을 포함하는 상기 Non IP 서비스 기반의 응답 메시지를 생성하여 상기 제1 전자 장치로 전송하는 제2 전자 장치를 포함하는 것을 특징으로 하는 IP 네트워크 시스템.
  18. IP 네트워크 서비스 방법에 있어서,
    제1 전자 장치가 IP 요청을 포함하는 Non IP 서비스 기반의 메시지를 생성하여 전송하는 동작; 및
    제2 전자 장치가 상기 제1 전자 장치로부터 수신된 Non IP 서비스 기반의 메시지로부터 상기 IP 요청을 생성하여 서버로 전송하는 동작을 포함하는 것을 특징으로 하는 IP 네트워크 서비스 방법.
  19. 제18항에 있어서,
    상기 제2 전자 장치가 상기 서버로부터 상기 IP 응답이 수신되면 상기 IP 응답을 포함하는 상기 Non IP 서비스 기반의 응답 메시지를 생성하고, 상기 Non IP 서비스 기반의 응답 메시지를 상기 제1 전자 장치에 전송하는 동작; 및
    상기 제1 전자 장치가 상기 Non IP 서비스 기반의 응답 메시지가 수신되면 수신된 Non IP 서비스 기반의 메시지로부터 IP 응답을 생성하는 동작을 더 포함하는 것을 특징으로 하는 IP 네트워크 서비스 방법.
  20. IP 네트워크 서비스 프로그램을 저장하는 저장 매체에 있어서,
    상기 프로그램은 전자 장치에서,
    IP 서비스 기반의 데이터 송신을 위해 상기 IP 서비스 기반의 메시지의 적어도 일부를 포함하는 Non IP 서비스 기반의 메시지를 생성하는 동작; 및
    상기 생성된 Non IP 서비스 기반의 메시지를 전송하는 동작을 수행하는 것을 특징으로 하는 저장 매체.
  21. IP 네트워크 서비스 프로그램을 저장하는 저장 매체에 있어서,
    상기 프로그램은 전자 장치에서,
    IP 서비스 기반의 메시지의 적어도 일부를 포함하는 Non IP 서비스 기반의 메시지를 수신하는 동작; 및
    상기 수신된 Non IP 서비스 기반의 메시지로부터 IP 서비스 기반의 메시지를 생성하는 동작을 수행하는 것을 특징으로 하는 저장 매체.
KR1020140113563A 2014-08-28 2014-08-28 전자 장치 및 전자 장치에서 ip 네트워크 서비스 방법 KR102244824B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020140113563A KR102244824B1 (ko) 2014-08-28 2014-08-28 전자 장치 및 전자 장치에서 ip 네트워크 서비스 방법
US14/837,988 US10659549B2 (en) 2014-08-28 2015-08-27 Electronic device and method for providing IP network service
PCT/KR2015/008979 WO2016032252A1 (en) 2014-08-28 2015-08-27 Electronic device and method for providing ip network service
CN201580046039.XA CN106605396B (zh) 2014-08-28 2015-08-27 电子装置和用于提供ip网络服务的方法
EP15182733.4A EP2991312B1 (en) 2014-08-28 2015-08-27 Electronic device and method for providing ip network service
US15/929,721 US11089127B2 (en) 2014-08-28 2020-05-18 Electronic device and method for providing IP network service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140113563A KR102244824B1 (ko) 2014-08-28 2014-08-28 전자 장치 및 전자 장치에서 ip 네트워크 서비스 방법

Publications (2)

Publication Number Publication Date
KR20160025996A true KR20160025996A (ko) 2016-03-09
KR102244824B1 KR102244824B1 (ko) 2021-04-27

Family

ID=54011647

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140113563A KR102244824B1 (ko) 2014-08-28 2014-08-28 전자 장치 및 전자 장치에서 ip 네트워크 서비스 방법

Country Status (5)

Country Link
US (2) US10659549B2 (ko)
EP (1) EP2991312B1 (ko)
KR (1) KR102244824B1 (ko)
CN (1) CN106605396B (ko)
WO (1) WO2016032252A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102244824B1 (ko) * 2014-08-28 2021-04-27 삼성전자주식회사 전자 장치 및 전자 장치에서 ip 네트워크 서비스 방법
CN107205078B (zh) * 2016-03-17 2020-11-10 百度在线网络技术(北京)有限公司 一种管理穿戴式智能设备的方法和装置
CN109981645A (zh) * 2019-03-26 2019-07-05 北京芯盾时代科技有限公司 一种通信方法及装置
EP4044522A4 (en) * 2019-10-08 2023-10-25 Hitachi Astemo, Ltd. COMMUNICATION SYSTEM, ELECTRONIC CONTROL DEVICE AND COMMUNICATION METHOD

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020078161A1 (en) * 2000-12-19 2002-06-20 Philips Electronics North America Corporation UPnP enabling device for heterogeneous networks of slave devices
US20110153793A1 (en) * 2007-05-29 2011-06-23 Computer Associates Think, Inc. System and method for creating a secure tunnel for communications over a network
US20110149932A1 (en) * 2009-12-21 2011-06-23 Electronics And Telecommunications Research Institute Zigbee gateway and message identification method of the same

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001251366A (ja) 2000-03-07 2001-09-14 Sony Corp 通信装置及び通信方法
US6678516B2 (en) 2001-05-21 2004-01-13 Nokia Corporation Method, system, and apparatus for providing services in a privacy enabled mobile and Ubicom environment
US7324515B1 (en) * 2002-03-27 2008-01-29 Cisco Technology, Inc. Proxy addressing scheme for cable networks
US8255501B2 (en) * 2002-05-15 2012-08-28 Motorola Mobility Llc Establishing an IP session between a host using SIP and a device without an IP address
KR100477513B1 (ko) 2002-11-25 2005-03-17 전자부품연구원 이기종 프로토콜간 상호 데이터 전송을 위한 공통프로토콜 계층 구조 및 방법과 공통 프로토콜 패킷
JP4095427B2 (ja) 2002-12-13 2008-06-04 キヤノン株式会社 データ通信装置
EP1880328A1 (en) 2005-04-11 2008-01-23 Disetronic Licensing AG Web-enabled portable medical device
CN1905527A (zh) 2005-07-28 2007-01-31 横河电机株式会社 网络通信系统
US20070030848A1 (en) * 2005-07-28 2007-02-08 Yokogawa Electric Corporation Network communication system
US8983551B2 (en) 2005-10-18 2015-03-17 Lovina Worick Wearable notification device for processing alert signals generated from a user's wireless device
US7653186B2 (en) 2006-05-26 2010-01-26 Aeris Communications, Inc. System and method for event communication correlation
NZ575810A (en) 2006-08-27 2011-11-25 My Mobile Watch Ltd Gsm mobile watch phone
US7953863B2 (en) 2007-05-08 2011-05-31 Intel Corporation Techniques for timing optimization in wireless networks that utilize a universal services interface
US20090161624A1 (en) * 2007-12-19 2009-06-25 Motorola, Inc. Registering a mobile communication device with an access network
CN101557657B (zh) 2009-02-04 2011-01-26 金纯� 蓝牙td-scdma网关
CN102055774B (zh) 2009-11-10 2015-09-16 腾讯科技(深圳)有限公司 基于包处理的http服务器及其数据处理方法
CN101867572B (zh) 2010-05-11 2015-08-12 中兴通讯股份有限公司 无线优盘的实现方法及系统
US20130006435A1 (en) * 2011-07-01 2013-01-03 Berrios Javier C Solar-Powered Apparatus for Wireless Network Control of an Array of Solar Tracking Devices and Systems Based Thereon
US9106651B2 (en) * 2011-09-19 2015-08-11 Qualcomm Incorporated Sending human input device commands over internet protocol
KR101936089B1 (ko) 2011-11-07 2019-04-03 엘지이노텍 주식회사 블루투쓰 데이터의 통신 방법, 통신 장치 및 통신 시스템
KR102005771B1 (ko) * 2012-02-24 2019-10-01 삼성전자주식회사 무선 통신 네트워크에서 ip 주소 할당 방법 및 장치
CN102657992B (zh) 2012-04-19 2015-01-07 绍兴文理学院 电气石团聚pm2.5颗粒的烟气净化装置及其净化方法
CN103686584B (zh) 2012-09-04 2016-12-14 上海贝尔股份有限公司 传感器网络中的端到端通信
CN102857992B (zh) 2012-09-05 2015-04-15 江南大学 一种基于ZigBee网络的多网关传输系统
US9219966B2 (en) 2013-01-28 2015-12-22 Starkey Laboratories, Inc. Location based assistance using hearing instruments
US9467369B2 (en) * 2013-08-02 2016-10-11 Time Warner Cable Enterprises Llc Packetized content delivery apparatus and methods
KR102244824B1 (ko) * 2014-08-28 2021-04-27 삼성전자주식회사 전자 장치 및 전자 장치에서 ip 네트워크 서비스 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020078161A1 (en) * 2000-12-19 2002-06-20 Philips Electronics North America Corporation UPnP enabling device for heterogeneous networks of slave devices
US20110153793A1 (en) * 2007-05-29 2011-06-23 Computer Associates Think, Inc. System and method for creating a secure tunnel for communications over a network
US20110149932A1 (en) * 2009-12-21 2011-06-23 Electronics And Telecommunications Research Institute Zigbee gateway and message identification method of the same

Also Published As

Publication number Publication date
US11089127B2 (en) 2021-08-10
US20200280614A1 (en) 2020-09-03
CN106605396A (zh) 2017-04-26
EP2991312A1 (en) 2016-03-02
KR102244824B1 (ko) 2021-04-27
CN106605396B (zh) 2021-02-02
WO2016032252A1 (en) 2016-03-03
US10659549B2 (en) 2020-05-19
US20160065686A1 (en) 2016-03-03
EP2991312B1 (en) 2020-07-08

Similar Documents

Publication Publication Date Title
KR102293660B1 (ko) 전자 장치의 근거리 무선 통신 방법 및 이를 사용하는 전자 장치
US9571658B2 (en) Method of call forwarding between devices
CN108604190B (zh) 用于控制应用的电子装置及其操作方法
KR20170061473A (ko) 알림을 제공하기 위한 방법 및 그 전자 장치
KR102416549B1 (ko) 어플리케이션을 관리하는 방법 및 그를 위한 전자 장치
US10080108B2 (en) Electronic device and method for updating point of interest
EP3449460B1 (en) Electronic device and information processing system including the same
KR20160100153A (ko) 장치 검색 방법 및 이를 지원하는 전자 장치
KR102257474B1 (ko) 전자 장치의 데이터 송수신 방법 및 이를 사용하는 전자 장치
US11089127B2 (en) Electronic device and method for providing IP network service
CN106105279B (zh) 设备之间呼叫转移的方法
KR102366289B1 (ko) 디스플레이 제어 방법 및 그 전자 장치
KR102459370B1 (ko) 전자 장치 및 그 동작 방법
KR102461009B1 (ko) 테더링 서비스를 제공하는 방법 및 이를 사용하는 전자 장치
KR102323797B1 (ko) 전자 장치 및 그의 정보 공유 방법
KR20170120333A (ko) 보안 로그인 서비스를 수행하는 전자 장치 및 방법
KR20170087799A (ko) 전자 장치 및 그 제어 방법
KR20170029244A (ko) 전자 장치 및 전자 장치의 이미지 관리 방법
CN106200452B (zh) 利用多个充电电路的电子装置和方法
CN105550098B (zh) 电子装置和在电子装置中控制内容的方法
KR101776640B1 (ko) 다른 전자 장치의 식별 정보를 표시하는 전자 장치 및 방법
KR20170088203A (ko) 네트워크 연결을 위한 전자 장치 및 방법
KR20170021643A (ko) 전자 장치의 연락처 관리 방법 및 그 전자 장치
KR20170008573A (ko) 전자 장치의 동작 방법 및 전자 장치
KR102457459B1 (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
GRNT Written decision to grant