이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(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 PC), 랩탑 PC(laptop PC), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라, 또는 웨어러블 장치(wearable device) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에 따르면 웨어러블 장치는 엑세서리 형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체 형(예: 전자 의복), 신체 부착 형(예: 스킨 패드(skin pad) 또는 문신), 또는 생체 이식 형(예: implantable circuit) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에서, 전자 장치는 가전 제품(home appliance)일 수 있다. 가전 제품은, 예를 들면, 텔레비전, DVD 플레이어(Digital Video Disk player), 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), 홈 오토매이션 컨트롤 패널(home automation control panel), 보안 컨트롤 패널(security control panel), TV 박스(예: 삼성 HomeSync™, 애플TV™, 또는 구글 TV™), 게임 콘솔(예: Xbox™, PlayStation™), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시 예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 내비게이션(navigation) 장치, 위성 항법 시스템(GNSS(Global Navigation Satellite System)), 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), 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에서, 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 어떤 실시 예에 따른 전자 장치는 플렉서블 전자 장치일 수 있다. 또한, 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자 장치를 포함할 수 있다.
이하, 첨부 도면을 참조하여, 다양한 실시 예에 따른 전자 장치가 설명된다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1a는 일 실시 예에 따른 전자 장치의 운용 환경을 도시한 도면이다.
일 실시 예에서, 전자 장치(100)는 적어도 하나의 외부 장치(예: 400)와의 통신 기능 운용, 또는 상기 통신 기능에 부가되는 서비스 운용을 지원하는 적어도 하나의 어플리케이션 프로그램을 포함할 수 있다. 상기 통신 기능은 외부 장치(400)와의 통화 기능을 포함할 수 있으며, 이하에서 언급되는 통신 기능은 상기 통화 기능으로 이해될 수 있다. 상기 어플리케이션 프로그램의 다양한 예로, 전자 장치(100)는 제조 시 프리로드(preloaded) 형태로 탑재되거나, 온라인 마켓으로부터 서드 파티(third party) 형태로 인스톨되는 통화, 연락처 또는 메시지 어플리케이션 프로그램(이하, 제1 어플리케이션 프로그램으로 참조됨.)을 포함할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 상기 제1 어플리케이션 프로그램의 운용을 기반으로 지정된 통신 환경(예: 상기 제1 어플리케이션 프로그램 실행 상태, 통화 수신처에 대한 다이얼 입력 상태 또는 발신 통화 연결 상태 등)과 관계되는 적어도 하나의 외부 장치(400) 사용자(또는, 외부 장치(400))에 대한 상태 정보를 제공할 수 있다. 이와 관련하여, 전자 장치(100)는 정보 수집 서버(200), 정보 공유 서버(300) 또는 적어도 하나의 외부 장치(400)와 연계되어 통합 서비스 시스템(1000)을 구축할 수 있다. 상기 통합 서비스 시스템(1000)의 구성요소들은 상태 정보 공유 서비스를 위한 네트워크(500)(또는, 통신 채널)를 형성하고, 상기 네트워크(500)를 기반으로 상호작용(예: 데이터 송수신 등)할 수 있다. 예를 들어, 적어도 하나의 외부 장치(400)는 내부 메모리로부터 상기 외부 장치(400) 사용자와 관계되는 상태 정보를 로드하거나, 또는 정보 수집 서버(200)로부터 상기 외부 장치(400) 사용자의 상태 정보를 획득하여 정보 공유 서버(300)로 전송하고, 상기 정보 공유 서버(300)는 전자 장치(100) 또는 외부 장치(400)의 요청에 따라 외부 장치(400) 사용자의 상태 정보를 전자 장치(100)로 전송할 수 있다. 일 실시 예에서, 전자 장치(100)는 정보 공유 서버(300)로부터 수신한 외부 장치(400) 사용자의 상태 정보를 상기 제1 어플리케이션 프로그램과 관계되는 적어도 하나의 인터페이스를 기반으로 표시할 수 있다. 상술에 따르면, 전자 장치(100)는 상기 통신 환경이 조성되는 경우, 정보 공유 서버(300)로부터 상기 통신 환경과 관계되는 적어도 하나의 외부 장치(400) 사용자에 대한 상태 정보를 획득하여 출력함으로써, 전자 장치(100) 사용자로 하여금 외부 장치(400) 사용자의 현재 상태를 인지하도록 지원할 수 있다.
상술에서 설명한, 또는 이하에서 설명하는 다양한 실시 예는, 전자 장치(100)가 정보 수집 서버(200) 또는 정보 공유 서버(300)를 기반으로 적어도 하나의 외부 장치(400) 사용자와 관계되는 상태 정보를 획득하여 출력하는 경우를 기준으로 할 수 있다. 다만, 전자 장치(100) 및 적어도 하나의 외부 장치(400) 각각에서 수행하는 기능 동작은 상호 호환될 수 있다. 다시 말해, 적어도 하나의 외부 장치(400)는 상술된 바와 동일 또는 유사하게 전자 장치(100) 사용자에 대한 상태 정보를 획득하고, 획득된 상태 정보를 상기 제1 어플리케이션 프로그램을 기반으로 출력할 수 있다. 이하 첨부된 도면을 참조하여, 전자 장치(100)의 상태 정보 공유 서비스 운용과 관련한 다양한 실시 예 및 이를 구현하는 구성요소들의 기능 동작을 살펴보기로 한다.
도 1b는 일 실시 예에 따른 통합 서비스 시스템을 도시한 도면이고, 도 1c는 일 실시 예에 따른 전자 장치의 정보 관리 모듈을 도시한 도면이다.
도 1b를 참조하면, 일 실시 예에 따른 통합 서비스 시스템(1000)는 전자 장치(100), 정보 수집 서버(200), 정보 공유 서버(300) 또는 적어도 하나의 외부 장치(400)를 포함할 수 있다. 다양한 실시 예에서, 통합 서비스 시스템(1000)은 상술된 구성요소들 중 적어도 하나를 생략하거나, 다른 구성요소들 추가적으로 포함할 수 있다. 예를 들어, 통합 서비스 시스템(1000)은 전자 장치(100) 또는 적어도 하나의 외부 장치(400)와 관계되는 적어도 하나의 외부 서버(미도시)(예: 제조사 서버, 운영체제 제작사 서버, 이동통신 사업자 서버 또는 서드 파티 개발사 서버 등)를 더 포함할 수 있다. 상기 적어도 하나의 외부 서버는 전자 장치(100) 또는 적어도 하나의 외부 장치(400)를 운용함에 있어 수반되는 각종 정보(예: 어플리케이션 프로그램 운용 정보, 서비스 계정 정보, 통화 이력 정보 또는 위치 정보 등)를 정보 수집 서버(200)로 제공하여, 후술되는 정보 수집 서버(200)의 기능 수행을 지원할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 통신 회로(110), 메모리(120), 디스플레이(130) 또는 프로세서(140)를 포함할 수 있다. 또는, 전자 장치(100)는 후술되는 도 8을 통하여 언급될 전자 장치(1101)의 구성요소들을 더 포함할 수 있다.
상기 통신 회로(110)(또는 통신 모듈, 또는 통신 인터페이스)는 전자 장치(100)와 정보 수집 서버(200), 정보 공유 서버(300) 또는 적어도 하나의 외부 장치(400) 간의 통신을 지원할 수 있다. 이와 관련하여, 통신 회로(110)는 상기 정보 수집 서버(200), 정보 공유 서버(300) 또는 적어도 하나의 외부 장치(400)와 규정된 프로토콜(protocol)에 따른 유선 통신 또는 무선 통신을 수립할 수 있다. 통신 회로(110)는 상기 유선 통신 또는 무선 통신을 기반으로 네트워크(도 1a의 500)에 접속함으로써, 정보 수집 서버(200), 정보 공유 서버(300) 또는 적어도 하나의 외부 장치(400)와 상태 정보 공유 서비스의 운용과 관계된 데이터를 송신 또는 수신하거나, 통신 기능 운용과 관련하여 호(call)를 발신 또는 수신할 수 있다.
상기 메모리(120)는 전자 장치(100) 운용에 수반되는 적어도 하나의 데이터를 저장하거나, 전자 장치(100) 구성요소들의 기능 동작과 관계되는 적어도 하나의 명령을 저장할 수 있다. 또는, 메모리(120)는 전자 장치(100)에 탑재 또는 인스톨되는 적어도 하나의 어플리케이션 프로그램을 저장할 수 있다. 일 실시 예에서, 메모리(120)는 전자 장치(100)의 운용 또는 상기 어플리케이션 프로그램의 운용과 관계된 로그(log) 정보, 서비스 계정 정보에 기반한 사용자 개인 정보(예: 이름, 나이, 성별 또는 주소 등) 또는 전자 장치(100) 식별 정보(예: 모델 번호, 고유 ID, 전화 번호 또는 운영체제 정보 등) 등을 저장할 수 있다. 또는, 메모리(120)는 상기 정보들을 카테고리 별로 저장할 수 있는 적어도 하나의 데이터베이스를 포함할 수 있다.
상기 디스플레이(130)는 각종 콘텐츠를 출력할 수 있다. 예를 들어, 디스플레이(130)는 전자 장치(100)의 통신 환경을 지원하는 적어도 하나의 어플리케이션 프로그램(예: 통화, 연락처 또는 메시지 어플리케이션 프로그램 등)의 실행과 관계된 인터페이스를 출력할 수 있다. 또는, 디스플레이(130)는 전자 장치(100) 사용자로부터 상태 정보 입력을 인가 받을 수 있는 적어도 하나의 인터페이스를 출력하거나, 외부(예: 정보 공유 서버(300) 또는 적어도 하나의 외부 장치(400) 등)로부터 수신하는 정보 자원을 포함하는 인터페이스를 출력할 수 있다.
상기 프로세서(140)는 상술된 전자 장치(100)의 구성요소들과 전기적 또는 기능적으로 연결되어, 구성요소들에 대한 제어, 통신 연산 또는 데이터 처리 등을 수행할 수 있다. 일 실시 예에서, 프로세서(140)는 전자 장치(100)의 상태 정보 공유 서비스 운용과 관련하여 정보 관리 모듈(141)을 포함할 수 있다. 상기 정보 관리 모듈(141)은 메모리(120)에 저장된 적어도 하나의 정보(예: 로그 정보, 사용자 개인 정보 또는 전자 장치(100) 식별 정보 등)를 로드하여 정보 수집 서버(200)로 제공하거나, 상기 정보 수집 서버(200)로부터 전자 장치(100)와 관계된 적어도 하나의 정보(예: 어플리케이션 프로그램 운용 정보, 서비스 계정 정보, 통화 이력 정보 또는 위치 정보 등)를 수신하여 메모리(120)에 저장 또는 대응하는 정보와 동기화시킬 수 있다. 또는, 정보 관리 모듈(141)은 상기 상태 정보 공유 서비스의 운용과 관련하여 사용자 제어에 따라 설정되는 적어도 하나의 정보 공유 조건 정보를 관리하고, 상기 정보 공유 조건 정보를 정보 공유 서버(300)로 전송할 수 있다. 또는, 정보 관리 모듈(141)은 정보 공유 서버(300)로 전자 장치(100) 사용자(또는, 전자 장치(100))의 상태 정보를 전송하거나, 적어도 하나의 외부 장치(400) 사용자(또는, 적어도 하나의 외부 장치(400))의 상태 정보를 요청하여 획득할 수 있다.
일 실시 예에서, 적어도 하나의 외부 장치(400)는 전자 장치(100)의 적어도 하나의 구성요소(예: 통신 회로(110), 메모리(120), 디스플레이(130), 프로세서(140) 또는 정보 관리 모듈(141) 등)를 동일 또는 유사하게 포함하여, 상술한 전자 장치(100) 구성요소들의 기능 동작을 동일 또는 유사하게 수행할 수 있다.
일 실시 예에 따르면, 정보 수집 서버(200)는 전자 장치(100) 및/또는 적어도 하나의 외부 장치(400)로부터 해당 장치 사용자(또는, 해당 장치)와 관계되는 상태 정보를 실시간 또는 스케줄링된 주기에 따라 획득할 수 있다. 또는, 정보 수집 서버(200)는 상기 적어도 하나의 외부 서버(예: 전자 장치(100) 또는 외부 장치(400) 제조사 서버, 운영체제 제작사 서버, 이동통신 사업자 서버 또는 서드 파티 개발사 서버 등)로부터 전자 장치(100) 및/또는 적어도 하나의 외부 장치(400)와 관계되는 정보를 획득할 수 있다. 이와 관련하여, 정보 수집 서버(200)는 획득된 상태 정보를 장치 별로 관리하기 위한 적어도 하나의 데이터베이스(예: 제1 데이터베이스(210) 및/또는 제2 데이터베이스(220) 등)를 포함할 수 있다.
다양한 실시 예에서, 전자 장치(100)의 정보 관리 모듈(141)이 정보 공유 서버(300)로 상태 정보를 전송함에 있어, 메모리(120)에 저장된 적어도 하나의 정보(예: 로그 정보, 사용자 개인 정보 또는 전자 장치(100) 식별 정보 등)만을 참조하는 경우(다시 말해, 정보 관리 모듈(141)이 정보 수집 서버(200)로부터 전자 장치(100) 관련 정보를 획득하지 않는 경우), 통합 서비스 시스템(1000)에서 정보 수집 서버(200)의 구성은 배제될 수 있다.
일 실시 예에 따르면, 정보 공유 서버는(300)는 적어도 하나의 외부 장치(400) 각각에서 설정한 정보 공유 조건에 근거하여, 상기 적어도 하나의 외부 장치(400) 사용자(또는, 적어도 하나의 외부 장치(400))의 상태 정보를 전자 장치(100)로 제공할 수 있다. 대응적으로, 정보 공유 서버(300)는 전자 장치(100)에 설정된 정보 공유 조건에 따라 전자 장치(100) 사용자(또는, 전자 장치(100))의 상태 정보를 적어도 하나의 외부 장치(400)로 제공할 수 있다. 이와 같은 기능 수행과 관련하여, 정보 공유 서버(300)는 장치 관리 모듈(310), 조건 관리 모듈(320) 또는 정보 공유 모듈(330)을 포함할 수 있다. 상기 장치 관리 모듈(310)은 통합 서비스 시스템(1000)을 구성하는(또는, 상태 정보 공유 서비스를 운용하는) 전자 장치(100) 및/또는 적어도 하나의 외부 장치(400)에 관계된 정보(예: 장치 식별 정보, 서비스 계정 정보 또는 사용자 개인 정보 등)를 관리할 수 있다. 상기 조건 관리 모듈(320)은 전자 장치(100) 및/또는 적어도 하나의 외부 장치(400)로부터 해당 장치의 정보 공유 조건 정보를 수신하여 관리하고, 후술되는 정보 공유 모듈(330)의 기능 수행 시 전자 장치(100) 또는 적어도 하나의 외부 장치(400)의 정보 공유 조건 정보를 상기 정보 공유 모듈(330)로 전달할 수 있다. 상기 정보 공유 모듈(330)은 전자 장치(100)(또는, 적어도 하나의 외부 장치(400))의 요청에 따라 적어도 하나의 외부 장치(400)와 관계된 상태 정보를 상기 전자 장치(100)로 전송할 수 있다. 또는, 정보 공유 모듈(330)은 상기 전자 장치(100)(또는, 적어도 하나의 외부 장치(400))의 요청과 관계없이, 상기 상태 정보를 전자 장치(100)로 전송할 수 있다. 이 동작에서, 정보 공유 모듈(330)은 적어도 하나의 외부 장치(400) 각각의 정보 공유 조건 정보를 참조하여, 전자 장치(100)로 적어도 하나의 외부 장치(400) 중 특정 외부 장치와 관계된 상태 정보의 전송을 배제할 수 있다. 예를 들어, 상기 적어도 하나의 외부 장치(400) 중 제1 외부 장치의 정보 공유 조건이 비공개(또는, 비공유)로 설정된 경우, 정보 공유 모듈(330)은 전자 장치(100)로 상기 제1 외부 장치와 관계된 상태 정보를 전송하지 않을 수 있다. 또는, 정보 공유 모듈(330)은 적어도 하나의 외부 장치(400) 각각의 정보 공유 조건에 대응하는 상태 정보만을 전자 장치(100)로 전송할 수 있다. 예를 들어, 특정 외부 장치에서 설정된 적어도 하나의 정보 공유 조건 중 상기 특정 외부 장치 사용자(또는, 특정 외부 장치)의 제1 상태 정보(예: 위치 정보)에 대한 정보 공유 조건이 비공개(또는, 비공유)로 설정된 경우, 정보 공유 모듈(330)은 상기 제1 상태 정보 이외의 상태 정보만을 전자 장치(100)로 전송할 수 있다.
다양한 실시 예에서, 상술된 정보 수집 서버(200) 및 정보 공유 서버(300)는 개별적으로 구현되거나, 적어도 일부가 통합되어 구현될 수 있다.
도 1c를 참조하면, 상기 정보 관리 모듈(141)은 메모리(120)에 저장된 또는 정보 수집 서버(200)로부터 수신한 전자 장치(100)(또는, 전자 장치(100) 사용자) 관련 정보의 관리와 관련하여, 수집 엔진(142)(collector engine), 추론 엔진(143)(inference engine), 프로파일 매니저(144)(profile manager), 컨텍스트 매니저(145)(context manager) 또는 프리퍼런스 매니저(146)(preference manager)를 포함할 수 있다.
상기 수집 엔진(142)은 메모리(120)로부터 전자 장치(100) 운용 또는 어플리케이션 프로그램 운용과 관계된 로그 정보를 수집할 수 있다. 또는, 수집 엔진(142)은 정보 수집 서버(200)로부터 제공되어 메모리(120)에 저장된 전자 장치(100) 관련 정보(예: 어플리케이션 프로그램 운용 정보, 서비스 계정 정보, 통화 이력 정보 또는 위치 정보 등)를 수집할 수 있다. 이와 관련하여, 수집 엔진(142)은 프로세서(140)로 하여금 프레임워크에 정의된 적어도 하나의 API를 이용하여 상기 메모리(120)에 저장된 적어도 하나의 로그 정보 또는 전자 장치(100) 관련 정보를 실시간, 지정된 주기 또는 정보 업데이트 시 획득하도록 하는 명령어를 포함할 수 있다. 수집 엔진(142)은 프로세서(140)에 의하여 획득된 적어도 하나의 정보를 추론 엔진(143)으로 전달할 수 있다.
상기 추론 엔진(143)은 수집 엔진(142)으로부터 전달 받은 적어도 하나의 정보를 파악할 수 있다. 이와 관련하여, 추론 엔진(143)은 상기 전달 받은 정보에 대한 문법적 분석(syntactic analyze) 또는 의미적 분석(semantic analyze)을 지원하는 모델 또는 알고리즘을 포함할 수 있다. 추론 엔진(143)은 상기 모델 또는 알고리즘에 기반하여 전달 받은 로그 정보(예: location 정보, time 정보, motion 정보, connecting device 정보, power 정보, app usage 정보, roaming 정보, charging 정보 또는 displaying 정보 등) 또는 전자 장치(100) 관련 정보에 대한 텍스트를 분석하거나, 포함된 데이터를 분석하여 정보의 의미를 도출할 수 있다. 추론 엔진(143)은 프로세서(140)로 하여금 상기 문법적 분석 또는 의미적 분석을 수행하여 로그 정보 또는 전자 장치(100) 관련 정보에 대한 의미를 파악하도록 하는 명령어를 포함할 수 있으며, 프로세서(140)에 의하여 의미가 파악된 정보를 지정된 카테고리(예: 프로파일, 컨텍스트 또는 프리퍼런스 등) 별로 분류할 수 있다. 추론 엔진(143)은 분류된 적어도 하나의 정보를 대응하는 매니저(예: 프로파일 매니저(144), 컨텍스트 매니저(145) 또는 프리퍼런스 매니저(146))로 전달할 수 있다.
상기 프로파일 매니저(144), 컨텍스트 매니저(145) 또는 프리퍼런스 매니저(146)는 추론 엔진(143)으로부터 전달받은 적어도 하나의 정보를 메모리(120)의 특정 영역으로 개별 저장하여 관리할 수 있다. 일 실시 예에 따르면, 프로파일 매니저(144)는 전자 장치(100)에 관계된 서비스 계정 정보(예: 전자 장치(100)에 탑재 또는 인스톨된 적어도 하나의 어플리케이션 프로그램이 지원하는 각종 서비스에 대한 계정 정보) 또는 사용자와 관계된 개인 정보(예: 이름, 나이, 성별, 주소 또는 기념일 정보 등) 등을 관리할 수 있다. 상기 컨텍스트 매니저(145)는 전자 장치(100)와 관계된 상황 정보(예: 액티브 또는 슬립 정보, 전력 정보, 연결된 디바이스 정보 또는 포그라운드 상태의 어플리케이션 프로그램 정보 등)를 저장하거나, 상기 전자 장치(100)의 사용자와 관계된 상황 정보(예: 사용자의 위치 또는 모션(수면, 운동 또는 운전 등) 등)를 관리할 수 있다. 상기 프리퍼런스 매니저(146)의 경우, 사용자의 전자 장치(100) 운용 패턴과 관계되는 정보(예: 여가 활동, 선호 장소, 운용 시각, 빈번하게 실행하는 어플리케이션 프로그램 또는 콘텐츠 등)를 관리할 수 있다.
일 실시 예에서, 프로세서(140)는 상기 프로파일 매니저(144), 컨텍스트 매니저(145) 또는 프리퍼런스 매니저(146)가 관리하는 적어도 하나의 정보를 참조하여 현재 전자 장치(100)(또는, 전자 장치(100) 사용자)의 상태를 판단할 수 있다. 프로세서(140)는 판단 정보를 정보 관리 모듈(141)로 전달할 수 있으며, 정보 관리 모듈(141)은 상기 프로파일 매니저(144), 컨텍스트 매니저(145) 또는 프리퍼런스 매니저(146)가 관리하는 적어도 하나의 정보 중 상기 프로세서(140)의 판단 정보에 대응하는 정보를 메모리(120)로부터 로드하여 정보 공유 서버(300)로 전송할 수 있다. 이 동작에서, 정보 관리 모듈(141)은 상기 프로세서(140)의 전자 장치(100)(또는, 전자 장치(100) 사용자) 상태 판단에 트리거되어 정보 공유 서버(300)로의 정보 전송을 수행하거나, 상기 정보 공유 서버(300)의 정보 요청에 대응하여 정보 전송을 수행할 수 있다.
도 2a는 일 실시 예에 따른 전자 장치의 외부 장치 사용자에 대한 상태 정보 획득 프로세스를 도시한 도면이고, 도 2b는 일 실시 예에 따른 외부 장치의 사용자 상태 정보 획득에 대한 다양한 형태를 도시한 도면이다. 도 2a에서 설명되는 전자 장치 및 적어도 하나의 외부 장치 각각에서 수행하는 동작들은, 전술한 바와 같이 상호 호환될 수 있으며, 이하에서는 전자 장치가 외부 장치(또는, 외부 장치 사용자)에 대한 상태 정보를 획득하는 예를 기준으로 설명될 수 있다.
도 2a를 참조하면, 동작 201에서, 상태 정보 공유 서비스를 운용하는(또는, 상태 정보 공유 서비스에 가입된) 전자 장치(100) 및 적어도 하나의 외부 장치(400)는 해당 장치의 식별 정보(예: 모델 번호, 고유 ID 또는 전화 번호 등) 및 정보 공유 조건 정보를 정보 공유 서버(300)로 전송할 수 있다. 예를 들어, 전자 장치(100) 및 적어도 하나의 외부 장치(400)는 해당 장치의 부팅 시점(time), 상태 정보 공유 서비스의 활성화 시점 또는 네이버 셀(neighbor cell)로의 접속 시점 등에서 상기 식별 정보 및 정보 공유 조건 정보를 정보 공유 서버(300)로 전송할 수 있다. 일 실시 예에서, 상기 정보 공유 조건은 전자 장치(100) 또는 적어도 하나의 외부 장치(400) 각각에서 사용자 제어에 의하여 설정되는 것으로, 해당 장치에 관계된 상태 정보를 외부로 공유함에 있어 공유 대상, 공유 범위, 공유 주기 또는 공유 장소 등에 대한 사항이 설정될 수 있다. 정보 공유 서버(300)는 전송 받은 식별 정보 및 정보 공유 조건 정보를 상호 매핑하여 데이터베이스 또는 인덱스로 관리할 수 있다. 이 동작에서, 정보 공유 서버(300)는 상기 데이터베이스 또는 인덱스로 관리되던 기존의 정보 공유 조건 정보와 상이한 정보 공유 조건 정보를 수신하는 경우, 상기 데이터베이스 또는 인덱스를 실시간 또는 스케줄링된 주기에 따라 업데이트할 수 있다.
동작 203에서, 적어도 하나의 외부 장치(400)는 상기 외부 장치(400) 내의 메모리 또는 정보 수집 서버(300)로부터 상기 외부 장치(400)(또는, 외부 장치(400) 사용자)와 관계되는 정보를 획득할 수 있다. 또한, 적어도 하나의 외부 장치(400)는 상기 정보 수집 서버(300)와 상호작용하여, 내부 메모리에 저장된 적어도 하나의 정보를 정보 수집 서버(300)에서 관리하는 적어도 하나의 정보와 동기화시킬 수 있다.
동작 205에서, 적어도 하나의 외부 장치(400)에 포함된 프로세서는 상기 적어도 하나의 외부 장치(400)(또는, 적어도 하나의 외부 장치(400) 사용자)의 현재 상태를 판단하고, 외부 장치(400)의 메모리 또는 정보 수집 서버(300)로부터 획득된 적어도 하나의 정보 중 판단된 현재 상태에 대응하는 정보(이하, 상태 정보로 칭함.)를 정보 공유 서버(300)로 전송할 수 있다. 이 동작에서, 상기 프로세서는 상기 현재 상태 판단에 따라 자체적으로 상기 상태 정보를 전송하거나, 정보 공유 서버(300)의 요청에 대응하여 상기 상태 정보를 전송할 수 있다. 정보 공유 서버(300)는 전송 받은 상기 상태 정보를 내부 데이터베이스 또는 인덱스에 적용하여 관리할 수 있다. 다양한 실시 예에서, 상기 적어도 하나의 외부 장치(400)의 프로세서는 상기 상태 정보를 정보 공유 서버(300)로 전송한 이후, 상기 외부 장치(400)(또는, 외부 장치(400) 사용자)의 상태가 변경되는 경우, 변경된 상태에 대응하는 신규한 상태 정보를 정보 공유 서버(300)로 재전송할 수 있다. 이에 따라, 정보 공유 서버(300)는 상기 데이터베이스 또는 인덱스 상에 적용된 기존의 상태 정보를 상기 신규한 상태 정보로 업데이트하여 관리할 수 있다.
동작 207에서, 전자 장치(100)의 프로세서(도 1b의 140)는 통신 기능(예: 통화 기능) 운용 환경을 조성할 수 있다. 예를 들어, 프로세서(140)는 사용자 제어에 대응하여 전자 장치(100)에 탑재 또는 인스톨된 적어도 하나의 어플리케이션 프로그램 중 상기 전자 장치(100)의 통신 기능 운용을 지원하는 어플리케이션 프로그램(예: 통화, 연락처 또는 메시지 어플리케이션 프로그램 등)을 실행시킴으로써, 상기 통신 기능 운용 환경을 조성할 수 있다.
동작 209에서, 프로세서(140)는 상기 통신 기능 운용을 지원하는 어플리케이션 프로그램의 실행에 따라 상기 어플리케이션 프로그램의 실행 화면 인터페이스를 출력하고, 상기 인터페이스 상에서 수행되는 사용자 입력에 대한 신호를 수신할 수 있다. 예를 들어, 프로세서(140)는 상기 인터페이스의 적어도 일부로 포함되는 다이얼 인터페이스에서 사용자로부터 인가되는 다이얼 입력 신호를 수신할 수 있다. 또는, 프로세서(140)는 상기 인터페이스의 적어도 일부로 포함되는 연락처 인터페이스에서 특정 외부 장치(400) 사용자를 선택하는 입력 신호를 수신할 수 있다.
동작 211에서, 프로세서(140)는 상기 사용자 입력에 응답하여 전자 장치(100) 상에서 상기 사용자 입력에 대응하는 정보(예: 전화번호 정보 또는 이름 정보 등)를 식별하고, 식별된 정보를 정보 공유 서버(300)로 전송하며 상기 식별된 정보에 대응하는 외부 장치(400)(또는, 외부 장치(400) 사용자)의 상태 정보 제공을 요청할 수 있다. 이 동작에서, 프로세서(140)는 전자 장치(100)의 식별 정보(예: 모델 번호, 고유 ID 또는 전화 번호 등)를 정보 공유 서버(300)로 더 전송함으로써, 상기 정보 공유 서버(300)로 하여금 내부 데이터베이스 또는 인덱스 상에서 전자 장치(100)를 식별하도록 지원할 수 있다.
동작 213에서, 정보 공유 서버(300)는 상기 프로세서(140)의 요청에 응답하여, 상기 데이터베이스 또는 인덱스 상에서 상기 식별된 정보에 대응하는 외부 장치(400)의 상태 정보를 획득하고, 상기 외부 장치(400)의 정보 공유 조건 정보에 근거하여 상태 정보 중 적어도 일부를 전자 장치(100)로 전송할 수 있다. 다양한 실시 예에서, 상술된 동작 213은 상기 외부 장치(400)의 정보 공유 조건에 따라 배제될 수 있다. 예를 들어, 상기 외부 장치(400)의 정보 공유 조건 정보에 상기 전자 장치(100)가 부합되지 않는 경우(예: 외부 장치(400)에서 전자 장치(100)로의 상태 정보 공유가 설정되지 않은 경우), 정보 공유 서버(300)는 전자 장치(100)로의 상태 정보 전송을 수행하지 않을 수 있다.
동작 215에서, 정보 공유 서버(300)로부터 상태 정보를 수신한 전자 장치(100)의 프로세서(140)는 상기 통신 기능 운용을 지원하는 어플리케이션 프로그램의 인터페이스 일 영역으로 상기 상태 정보를 표시할 수 있다. 예를 들어, 프로세서(140)는 상기 상태 정보를 포함하거나, 상태 정보를 나타내는 이미지, 텍스트, 심볼, 아이콘 또는 배지 등의 콘텐츠를 상기 인터페이스에 포함시킬 수 있다.
상술에서는, 상기 통신 기능 운용을 지원하는 어플리케이션 프로그램의 인터페이스에 인가되는 사용자 입력(예: 다이얼 입력 또는 통화 수신처 선택 입력 등)에 대응하여, 전자 장치(100)의 프로세서(140)가 정보 공유 서버(300)로 상기 사용자 입력에 대응하는 외부 장치(400)의 상태 정보를 요청하는 프로세스로 설명되었지만, 다양한 실시 예에 따르면, 정보 공유 서버(300)는 적어도 하나의 외부 장치(400)로부터 상태 정보를 수신하는 경우, 수신한 상태 정보를 자체적으로 전자 장치(100)에 전송할 수 있다. 또는, 다양한 실시 예에 따르면, 정보 공유 서버(300)는 상태 정보를 제공하는 적어도 하나의 외부 장치(400)로부터 상기 전자 장치(100)로의 상태 정보 공유 요청을 수신한 후 상태 정보 전송을 수행할 수 있다.
상기 적어도 하나의 외부 장치(400)로부터 상태 정보 공유 요청을 수신하거나, 자체적으로 상태 정보 전송을 수행하는 경우, 예컨대, 정보 공유 서버(300)는 상기 전자 장치(100)의 통신 기능 운용 환경 조성 여부에 관계없이, 적어도 하나의 외부 장치(400) 각각으로부터 수신한 상태 정보를 전자 장치(100)로 전송할 수 있다. 전자 장치(100)의 프로세서(140)는 정보 공유 서버(300)로부터 수신한 상태 정보를 메모리(도 1b의 120)에 저장하고, 상기 어플리케이션 프로그램의 인터페이스에 인가되는 사용자 입력에 응답하여 상기 메모리(120)에 저장된 적어도 하나의 상태 정보 중 상기 사용자 입력에 대응하는 외부 장치(400)의 상태 정보를 식별할 수 있다. 프로세서(140)는 식별된 특정 외부 장치(400)의 상태 정보를 상기 어플리케이션 프로그램의 인터페이스 일 영역으로 표시할 수 있다.
또는, 다양한 실시 예에서, 정보 공유 서버(300)는 전자 장치(100)로부터 상기 어플리케이션 프로그램의 인터페이스에서 발생하는 사용자 입력에 대응하는 외부 장치(400)의 상태 정보 제공 요청을 수신한 이후, 상기 외부 장치(400)로 외부 장치(400)(또는, 외부 장치(400) 사용자)에 대한 현재 상태 정보를 요청하여 획득하고, 획득된 상태 정보 중 상기 외부 장치(400)의 정보 공유 조건에 대응하는 상태 정보를 전자 장치(100)로 전송할 수 있다.
상술된 동작 203의 다양한 실시 예에서, 상기 적어도 하나의 외부 장치(400)는 상기 외부 장치(400)의 메모리 또는 정보 수집 서버(300)로부터의 정보 획득을 배제하고, 상기 적어도 하나의 외부 장치(400) 사용자로부터 정보를 획득할 수 있다. 이와 관련하여 도 2b를 참조하면, 상기 적어도 하나의 외부 장치(400)는 콘텐츠 큐레이션 서비스를 운용할 수 있다. 일 실시 예에 따르면, 상기 콘텐츠 큐레이션 서비스의 운용 플랫폼으로 기능하는 인터페이스에는 다양한 양상의 콘텐츠가 예컨대, 적어도 하나의 카드(card) 형태로 포함될 수 있다. 일 실시 예에서, 적어도 하나의 외부 장치(400)의 프로세서는 상기 적어도 하나의 카드 중 적어도 하나를 이용하여 상기 외부 장치(400)(또는, 외부 장치(400) 사용자)의 현 상태를 설정할 수 있는 콘텐츠 카드(1)를 표시할 수 있다. 이 동작에서, 상기 외부 장치(400)의 프로세서는 정보 관리 모듈에 의하여 관리되는 현 시점(time)의 외부 장치(400)(또는, 외부 장치(400) 사용자) 관련 정보(예: 로그 정보, 위치 정보, 연결된 디바이스 정보 또는 로밍 정보 등)를 참조하여 상기 콘텐츠 카드(1)를 구성할 수 있다. 또는, 상기 프로세서는 외부 장치(400)(또는, 외부 장치(400) 사용자)의 현 상태에 대한 질의 정보를 포함하는 팝업 창(2)을 출력할 수 있다. 상술과 대응적으로, 상기 프로세서는 상기 정보 관리 모듈에 의하여 관리되는 현 시점의 외부 장치(400)(또는, 외부 장치(400) 사용자) 관련 정보를 참조하여 상기 질의 정보를 구성할 수 있다.
일 실시 예에서, 외부 장치(400)의 프로세서는 상기 콘텐츠 카드(1) 또는 팝업 창(2) 상에서 사용자 입력(예: 터치)에 따라 선택되거나, 질의에 대하여 답변 또는 승인되는 정보를 정보 공유 서버(300)로 전송할 수 있다. 다양한 실시 예에서, 상기 프로세서는 상기 정보 관리 모듈에서 관리하는 외부 장치(400)(또는, 외부 장치(400) 사용자)의 정보가 업데이트되는 경우, 실시간 또는 스케줄링된 주기에 따라 상기 콘텐츠 큐레이션 서비스의 인터페이스에 신규한 콘텐츠 카드(1)를 포함시키거나, 신규한 질의 정보를 포함하는 팝업 창(1)을 출력할 수 있다.
도 3a, 도 3b, 도 3c 및 도 3d는 일 실시 예에 따른 전자 장치가 제1 인터페이스를 통하여 외부 장치 사용자의 상태 정보를 표시하는 다양한 형태를 도시한 도면이고, 도 3e는 일 실시 예에 따른 전자 장치가 제2 인터페이스를 통하여 외부 장치 사용자의 상태 정보를 표시하는 형태를 도시한 도면이다.
일 실시 예에서, 전자 장치(100)의 프로세서(도 1b의 140)는 정보 공유 서버(도 1b의 300)로부터 수신하는 적어도 하나의 외부 장치(도 1b의 400)(또는, 적어도 하나의 외부 장치(400) 사용자)에 대한 상태 정보를 출력할 수 있다. 예를 들어, 프로세서(140)는 사용자 제어에 대응하여 전자 장치(100)의 통신 기능 운용을 지원하는 적어도 하나의 어플리케이션 프로그램(예: 통화, 연락처 또는 메시지 어플리케이션 프로그램 등)을 실행하는 경우, 상기 어플리케이션 프로그램의 실행 또는 운용에 따른 인터페이스의 적어도 일 영역으로 상기 정보 공유 서버(300)로부터 수신한 적어도 하나의 상태 정보를 표시할 수 있다.
상술과 관련하여 도 3a를 참조하면, 프로세서(140)는 제1 어플리케이션 프로그램(예: 통화 어플리케이션 프로그램)의 실행 또는 운용에 따른 제1 인터페이스(131)(예: 다이얼 인터페이스)에서 사용자로부터 인가되는 다이얼 입력 신호를 수신할 수 있다. 이 동작에서, 프로세서(140)는 수신한 다이얼 입력 신호에 대응하는 전화번호(또는 외부 장치(도 1b의 400), 또는 외부 장치(400) 사용자)의 상태 정보 공유 서비스 가입 여부를 확인할 수 있다. 예를 들어, 프로세서(140)는 지정된 숫자 체계(예: 11자리 숫자)에 대한 다이얼 입력 신호를 모두 수신하는 경우, 상기 다이얼 입력 신호에 대응하는 전화번호 정보를 정보 공유 서버(도 1b의 300)로 전송하고, 상기 정보 공유 서버(300)의 응답에 근거하여 해당 전화번호의 상태 정보 공유 서비스 가입 여부를 확인할 수 있다. 일 실시 예에서, 상기 정보 공유 서버(300)의 응답이 상기 전화번호가 상태 정보 공유 서비스에 가입됨을 나타내면, 프로세서(140)는 정보 공유 서버(300)로부터 상기 전화번호에 대응하는 외부 장치(400)(또는, 외부 장치(400) 사용자)에 대한 상태 정보를 제공받아 상기 제1 인터페이스(131)의 일 영역으로 표시할 수 있다. 예를 들어, 프로세서(140)는 제공받은 상태 정보를 상기 제1 인터페이스(131)에 표시된 전화번호(예: 사용자의 다이얼 입력에 따라 표시된 전화번호)의 인접 영역으로 표시할 수 있다. 또는, 프로세서(140)는 제공받은 상태 정보를 상기 제1 인터페이스(131)에 포함되는 적어도 하나의 외부 장치(400) 사용자의 식별 정보(예: 이름) 중 상기 전화번호에 대응하는 외부 장치(400) 사용자의 식별 정보 인접 영역으로 표시할 수 있다. 다양한 실시 예에서, 프로세서(140)는 정보 공유 서버(300)로부터 제공받은 상태 정보를 상기 상태 정보를 나타내는 아이콘, 배지(badge), 심볼, 텍스트 또는 이미지 등의 콘텐츠로 표시할 수 있다.
이하, 도 3b, 도 3c 또는 도 3d에서, 프로세서(140)는 사용자 입력에 따른 다이얼 입력 신호 수신에 따라 해당 전화번호의 상태 정보 공유 서비스 가입 여부를 확인하는 동작 또는, 정보 공유 서버(300)로부터 상기 전화번호에 대응하는 외부 장치(400)에 대한 상태 정보를 제공받는 동작을 상술한 바와 동일 또는 유사하게 수행할 수 있다.
도 3b를 참조하면, 프로세서(140)는 정보 공유 서버(300)로부터 제공된 외부 장치(400)(또는, 외부 장치(400) 사용자)의 상태 정보가 예컨대, 취침, 운전, 운동, 로밍 또는 회의 등의 상태(예: 제1 상태)를 나타내는 경우, 제1 인터페이스(131)의 일 영역으로 통화 버튼(4) 및/또는 메시지 버튼(5)을 표시할 수 있다. 다시 말해, 프로세서(140)는 사용자로부터 입력된 전화번호에 대응하는 외부 장치(400)(또는, 외부 장치(400) 사용자)의 통신 기능(또는, 통화 기능) 운용이 불가하거나 용이하지 못한 경우, 통화 버튼(4)과 함께 메시지 버튼(5)을 표시하거나, 또는 통화 버튼(4)을 배제하고 메시지 버튼(5)만을 표시할 수 있다. 다양한 실시 예에서, 프로세서(140)는 상기 정보 공유 서버(300)로부터 제공된 상태 정보가 블루투스 카킷(carkit)을 운용하는 운전 상태를 나타내는 경우, 상기 통화 버튼(4)의 인접 영역으로 지정된 텍스트(예: BT carkit)를 표시할 수 있다.
도 3c를 참조하면, 프로세서(140)는 정보 공유 서버(300)로부터 제공된 외부 장치(400)(또는, 외부 장치(400) 사용자)의 상태 정보가 기념일(예: 생일, 졸업, 합격, 출산 또는 결혼 등) 상태(예: 제2 상태)를 나타내는 경우, 제1 인터페이스(131)의 일 영역으로 기프티콘 버튼(6)을 표시할 수 있다. 또는, 프로세서(140)는 상기 기프티콘 버튼(6)과 유사한 목적으로 송금 버튼 또는 콘텐츠 전송(예: 영상 메시지 또는 음성 메시지 등) 버튼 등을 표시할 수 있다. 일 실시 예에서, 상기 기프티콘 버튼(6) 또는 송금 버튼에 사용자 입력(예: 터치)이 인가되면, 프로세서(140)는 상기 버튼들에 대응하는 서드 파티 어플리케이션 프로그램의 실행을 제어할 수 있다. 이 동작에서, 전자 장치(100)가 상기 서드 파티 어플리케이션 프로그램을 포함하지 않은 경우, 프로세서(140)는 앱 스토어(app store)와 같은 온라인 마켓 어플리케이션 프로그램의 실행을 제어하여 상기 서드 파티 어플리케이션 프로그램의 다운로드를 가이드할 수 있다. 또는, 상기 콘텐츠 전송 버튼에 사용자 입력이 인가되는 경우, 프로세서(140)는 전자 장치(100)에 탑재된 카메라 모듈 또는 마이크 모듈 등을 활성화시키거나, 갤러리 어플리케이션 프로그램 등을 실행하여 사용자로 하여금 기 저장된 콘텐츠를 선택하도록 지원할 수 있다.
도 3d를 참조하면, 프로세서(140)는 상기 도 3b를 통하여 상술된 외부 장치(400)(또는, 외부 장치(400) 사용자)의 상태 정보(예: 취침, 운전, 운동, 로밍 또는 회의 등)에 대하여 제1 인터페이스(131)의 일 영역으로 상기 상태 정보와 관계된 메시지(7)를 출력할 수 있다. 일 실시 예에서, 상기 메시지(7)는 상기 상태 정보와 관계된 질의 정보를 포함할 수 있으며, 상기 질의 정보에 응답하는 사용자 입력에 따라 상기 외부 장치(400)(또는, 외부 장치(400) 사용자)로의 호(call) 발신을 지원하거나 또는 제한할 수 있다. 다양한 실시 예에서, 상기 메시지에 포함된 질의 정보는 전자 장치(100)에 탑재된 마이크 모듈을 통하여 음성 형태로 출력될 수 있다.
도 3e를 참조하면, 프로세서(140)는 전술된 제1 인터페이스(도 3a, 도 3b, 도 3c 또는 도 3d의 131) 이외에도, 상기 통신 기능 운용을 지원하는 어플리케이션 프로그램(예: 통화 어플리케이션 프로그램)의 제2 인터페이스(133)(예: 발신 통화 연결 상태를 나타내는 인터페이스)를 통하여 외부 장치(400) 사용자(또는, 외부 장치(400))의 상태 정보를 표시할 수 있다. 이와 관련하여, 프로세서(140)는 전술된 제1 인터페이스(131)에서 사용자 입력(예: 다이얼 입력 또는 통화 상대방을 선택하는 입력 등) 발생 후, 사용자에 의하여 통화 버튼(또는, 호 발신 버튼)이 조작(예: 터치)되면, 상기 사용자 입력에 대응하는 외부 장치(400)로 호(call)를 발신할 수 있다. 이 동작에서, 프로세서(140)는 상기 제1 인터페이스(131)를 제2 인터페이스(133)로 전환하고, 상기 제2 인터페이스(133)의 일 영역으로 정보 공유 서버(300)로부터 제공받는 외부 장치(400)(예: 발신 호를 수신한 외부 장치)의 상태 정보를 표시할 수 있다.
도 4a는 일 실시 예에 따른 전자 장치의 제1 정보 공유 조건에 대한 설정 형태를 도시한 도면이고, 도 4b는 일 실시 예에 따른 외부 장치의 제1 정보 공유 조건 설정에 기반하여 전자 장치가 외부 장치 사용자의 상태 정보를 표시하는 다양한 형태를 도시한 도면이다.
일 실시 예에서, 전자 장치(100)의 프로세서(도 2b의 140)는 상태 정보 공유 서비스의 운용과 관련하여, 적어도 하나의 외부 장치(도 1b의 400)에 대한 전자 장치(100)의 정보 공유 조건을 설정할 수 있다. 예를 들어, 프로세서(140)는 상기 전자 장치(100)의 통신 기능을 지원하는 적어도 하나의 어플리케이션 프로그램(예: 통화, 연락처 또는 메시지 어플리케이션 프로그램 등)의 인터페이스(예: 기능 설정 화면)에서 수행되는 사용자 제어에 대응하여 상기 정보 공유 조건을 설정할 수 있다.
상술과 관련하여 도 4a를 참조하면, 상기 어플리케이션 프로그램 실행 화면의 적어도 일부로써 포함되는 제3 인터페이스(132a) 상에서 수행되는 전자 장치(100) 사용자의 제어에 대응하여, 프로세서(140)는 상기 전자 장치(100)(또는, 전자 장치(100) 사용자)에 대한 상태 정보 공유의 대상을 설정할 수 있다. 예를 들어, 프로세서(140)는 상기 제3 인터페이스(132a)에 포함된 적어도 하나의 그룹(예: 가족, 친구, 동료 또는 전체) 중 적어도 일부를 선택하는 사용자 입력에 따라 상기 상태 정보 공유의 대상을 설정할 수 있다. 다양한 실시 예에서, 상기 정보 공유 대상 조건은 다른 정보 공유 조건과 조합되어 설정될 수 있다. 예를 들어, 상기 사용자 입력에 대응하여 적어도 하나의 특정 대상이 설정되는 경우, 프로세서(140)는 상기 제3 인터페이스(132a)를 또 다른 양상의 정보 공유 조건을 표시하는 제4 인터페이스(132b)로 전환할 수 있다. 일 실시 예에서, 상기 제4 인터페이스(132b)는 공유할 상태 정보의 카테고리(예: 프로파일, 컨텍스트 또는 프리퍼런스 등)에 대한 설정을 지원할 수 있다.
도 4b를 참조하면, 상기 전자 장치(100)(또는, 전자 장치(100) 사용자)에 대한 상태 정보를 표시하는 외부 장치는 상술된 전자 장치(100)의 프로세서(140)에 의한 정보 공유 조건 설정에 따라, 정보 공유 서버(도 1b의 300)로부터 상기 전자 장치(100)의 정보 공유 조건에 대응하는 상태 정보만을 수신하여 표시할 수 있다. 참조된 도 4b의 경우, 상기 전자 장치(100)에서 정보 공유 대상으로 가족이 설정되고, 공유할 상태 정보의 카테고리로써 컨텍스트 정보(예: 사용자의 모션 또는 위치)가 설정된 경우로 이해될 수 있다. 이에 따라, 상기 가족에 해당하는 외부 장치(400)(또는, 외부 장치(400) 사용자(Christina Adams))는 상기 전자 장치(100)의 공유할 상태 정보의 카테고리 조건에 대응하는 상태 정보(8)(예: 사용자 모션 정보(영화 관람) 및 위치 정보(강남 CGV))를 통신 기능 운용을 지원하는 어플리케이션 프로그램의 인터페이스에 표시할 수 있다.
이하에서, 설명되는 전자 장치(100)의 정보 공유 조건 설정에 대한 설명은 상술을 통하여 설명한 바와 유사할 수 있으며, 이하 참조되는 도면에서는 상기 도 4a 및 도 4b를 통하여 설명한 바와 상이한 사항을 중점적으로 설명하기로 한다.
도 5a는 일 실시 예에 따른 전자 장치의 제2 정보 공유 조건에 대한 설정 형태를 도시한 도면이고, 도 5b는 일 실시 예에 따른 외부 장치의 제2 정보 공유 조건 설정에 기반하여 전자 장치가 외부 장치 사용자의 상태 정보를 표시하는 다양한 다양한 형태를 도시한 도면이다.
도 5a를 참조하면, 전자 장치(100)의 프로세서(도 1b의 140)는 도 4a를 통하여 상술된 어플리케이션 프로그램의 제5 인터페이스(132c) 상에서 상기 전자 장치(100)의 정보 공유 조건과 관계되는 공유 시간 또는 공유 날짜를 설정할 수 있다. 예를 들어, 프로세서(140)는 상기 제5 인터페이스(132c) 상에 상기 전자 장치(100)의 상태 정보를 공유하기 위한 특정 시간(예: 퇴근 이후, 업무 중 또는 주말 등) 또는 특정 날짜를 설정하는 화면을 표시하고, 상기 제5 인터페이스(132c) 상에서 수행되는 사용자 제어에 따라, 상기 제5 인터페이스(132c)를 상기 특정 시간 또는 특정 날짜에 대하여 상태 정보 공유 대상 또는 상태 정보 공유 카테고리 등을 설정할 수 있는 제6 인터페이스(132d)로 전환할 수 있다. 일 실시 예에서, 상기 특정 시간 각각에는 사용자에 의하여 적어도 하나의 특정 컨텍스트 정보가 매핑되어 설정될 수 있다.
일례로, 전자 장치(100)의 정보 공유 조건으로 업무 시간이 설정되고, 상기 업무 시간에 매핑되는 컨텍스트 정보로써 미팅이 설정되는 경우, 도 5b와 같이, 상기 업무 시간에 따른 시점에 정보 공유 서버(도 1b의 300)로부터 상기 전자 장치(100)의 상태 정보를 수신하는 외부 장치(400)는 상기 업무 시간에 관계되어 설정된 컨텍스트 정보를 포함하는 상태 정보(9)(예: I'm meeting now)를 통신 기능 운용을 지원하는 어플리케이션 프로그램의 인터페이스의 일 영역으로 표시할 수 있다.
도 6a는 일 실시 예에 따른 전자 장치의 제3 정보 공유 조건에 대한 설정 형태를 도시한 도면이고, 도 6b는 일 실시 예에 따른 외부 장치의 제3 정보 공유 조건 설정에 기반하여 전자 장치가 외부 장치 사용자의 상태 정보를 표시하는 다양한 형태를 도시한 도면이다.
도 6a를 참조하면, 전자 장치(100)의 프로세서(도 1b의 140)는 도 4a를 통하여 상술된 어플리케이션 프로그램의 제7 인터페이스(132e) 상에서 상기 전자 장치(100)의 정보 공유 조건과 관계되는 적어도 하나의 장소 정보(예: 집, 사무실 또는 야외 등)를 설정할 수 있다. 상기 제7 인터페이스(132e) 상에서 사용자로부터 특정 장소가 선택되는 경우, 프로세서(140)는 상기 제7 인터페이스(132e)를 선택된 특정 장소에서 상태 정보를 공유할 대상 또는 상태 정보의 카테고리를 설정할 수 있는 제8 인터페이스(132f)로 전환할 수 있다. 이에 따르면, 상기 전자 장치(100)(또는, 전자 장치(100) 사용자)의 상태가 상기 설정된 적어도 하나의 장소 정보에 대응하는 경우, 전자 장치(100)는 해당 장소에서 판단되는 전자 장치(100)의 상태 정보를 적어도 하나의 외부 장치(도 1b의 400)로 제공할 수 있다.
일례로, 전자 장치(100)의 정보 공유 조건으로 장소 정보에 해당하는 집이 설정되고, 상기 전자 장치의 공유할 상태 정보의 카테고리로써 컨텍스트 정보가 설정된 경우, 도 6b와 같이, 전자 장치(100)(또는, 전자 장치(100) 사용자)가 상기 집에 해당하는 위치에 존재하는 시점에서, 정보 공유 서버(도 1b의 300)로부터 상기 전자 장치(100)의 상태 정보를 수신하는 외부 장치(400)는 상기 집에서 판단되는 사용자의 컨텍스트 정보(예: 음악 감상)를 포함하는 상태 정보(10)(예: I'm listening music)를 통신 기능 운용을 지원하는 어플리케이션 프로그램의 인터페이스의 일 영역으로 표시할 수 있다. 다양한 실시 예에서, 상기 상태 정보(10)는 상기 컨텍스트 정보에 대한 부가적 정보(예: 재생되는 음악의 가수 정보 등)를 더 포함할 수 있다.
도 7a는 일 실시 예에 따른 전자 장치의 제4 정보 공유 조건에 대한 설정 형태를 도시한 도면이고, 도 7b는 일 실시 예에 따른 외부 장치의 제4 정보 공유 조건 설정에 기반하여 전자 장치가 외부 장치 사용자의 상태 정보를 표시하는 다양한 형태를 도시한 도면이다.
도 7a를 참조하면, 전자 장치(100)의 프로세서(도 1b의 140)는 도 4a를 통하여 상술된 어플리케이션 프로그램의 제9 인터페이스(132g) 상에서 상기 전자 장치(100)의 정보 공유 조건과 관계되는 적어도 하나의 연결 디바이스 정보(예: 주행 장치 또는 IoT 장치 등)를 설정할 수 있다. 프로세서(140)는 전자 장치(100)와 연결된 디바이스를 지정하는 사용자 제어에 대응하여, 상기 제9 인터페이스(132g)를 해당 디바이스와 전자 장치(100)가 연결된 경우 상태 정보를 공유할 대상 또는 공유할 상태 정보의 카테고리 등을 설정할 수 있는 제10 인터페이스(132h)로 전환할 수 있다. 이에 따르면, 상기 전자 장치(100)의 상태가 상기 설정된 연결 디바이스 정보에 대응하는 경우, 전자 장치(100)는 상기 디바이스 연결 시점에 판단되는 전자 장치(100)의 상태 정보를 적어도 하나의 외부 장치(도 1b의 400)로 제공할 수 있다. 또는, 상기 연결 디바이스 정보 각각에는 사용자에 의하여 적어도 하나의 특정 컨텍스트 정보가 매핑될 수 있다.
일례로, 전자 장치(100)의 연결 디바이스 정보로써 자동차가 설정되고, 상기 자동차에 매핑된 컨텍스트 정보로써 운전이 설정되는 경우, 도 7b와 같이, 상기 전자 장치(100)가 설정된 연결 디바이스와 연결된 시점에 정보 공유 서버(도 1b의 300)로부터 상기 전자 장치(100)의 상태 정보를 수신하는 외부 장치(400)는 상기 자동차에 관계되어 설정된 컨텍스트 정보를 포함하는 상태 정보(11)(예: I'm driving now)를 통신 기능 운용을 지원하는 어플리케이션 프로그램의 인터페이스의 일 영역으로 표시할 수 있다.
또는, 상기 외부 장치(100)는 전자 장치(100)가 상기 자동차에 연결된 시점에 판단되는 전자 장치(100)의 컨텍스트 정보(예: 운전)를 포함하는 상태 정보(11)를 정보 공유 서버(300)로부터 수신하여 상기 어플리케이션 프로그램의 인터페이스의 일 영역으로 표시할 수 있다. 이때, 상기 상태 정보(11)는 상기 전자 장치(100)의 컨텍스트에 수반되는 적어도 하나의 부가적 정보(예: 연결 인터페이스 정보(블루투스, 케이블 또는 이어폰 등))를 더 포함할 수 있다.
전술한 다양한 실시 예에 따른 전자 장치는, 통신 회로, 통화 기능을 지원하는 어플리케이션을 저장하는 메모리, 디스플레이, 및 상기 통신 회로, 상기 메모리 및 상기 디스플레이와 전기적으로 연결되는 프로세서를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는, 상기 디스플레이에 상기 어플리케이션의 실행에 따른 다이얼 버튼 및 호(call) 발신 버튼을 포함하는 사용자 인터페이스를 출력하고, 상기 사용자 인터페이스를 통하여 통화 상대방을 결정하는 사용자 입력을 획득하고, 상기 통신 회로를 이용하여 상기 결정된 통화 상대방에 해당하는 식별 정보를 외부 서버로 전송하고, 상기 식별 정보의 전송에 대한 응답으로 상기 통신 회로를 이용하여 상기 외부 서버로부터 상기 통화 상대방의 상태 정보를 수신하고, 상기 어플리케이션의 상기 사용자 인터페이스의 일 영역으로 상기 통화 상대방의 상기 상태 정보를 표시하고, 상기 호 발신 버튼의 선택에 응답하여 상기 통화 상대방에게 호를 발신할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는, 상기 사용자 입력을 획득하는 동작의 적어도 일부로써, 상기 통화 상대방의 전화 번호에 대응하는 다이얼 버튼 입력 신호를 획득할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는, 상기 외부 서버로부터 수신하는 상기 통화 상대방의 상태 정보가 지정된 제1 상태를 포함하는 경우, 상기 사용자 인터페이스의 일 영역으로 메시지 작성 버튼을 표시할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는, 상기 외부 서버로부터 수신하는 상기 통화 상대방의 상태 정보가 지정된 제1 상태를 포함하는 경우, 상기 사용자 인터페이스의 일 영역으로 상기 상태 정보와 관계된 질의 정보 메시지를 출력할 수 있다.
다양한 실시 예에 따르면, 상기 질의 정보는, 상기 통화 상대방으로의 상기 호 발신 여부를 질의하는 정보를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는, 상기 외부 서버로부터 수신하는 상기 통화 상대방의 상태 정보가 지정된 제2 상태를 포함하는 경우, 상기 사용자 인터페이스의 일 영역으로 상기 제2 상태와 관계되는 어플리케이션의 실행을 지원하는 버튼을 표시할 수 있다.
전술한 다양한 실시 예에 따른 전자 장치는, 통신 회로, 통화 기능을 지원하는 어플리케이션을 저장하는 메모리, 디스플레이, 및 상기 통신 회로, 상기 메모리 및 상기 디스플레이와 전기적으로 연결되는 프로세서를 포함하고, 상기 프로세서는, 상기 디스플레이에 상기 어플리케이션의 실행에 따른 사용자 인터페이스를 출력하고, 상기 사용자 인터페이스를 통하여 통화 상대방에게 공유할 상기 전자 장치 사용자의 상태 정보에 대한 정보 공유 조건을 결정하는 사용자 입력을 획득하고, 상기 통신 회로를 이용하여 상기 결정된 정보 공유 조건에 해당하는 상태 정보를 외부 서버로 전송할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는, 상기 정보 공유 조건을 결정하는 사용자 입력을 획득하는 동작의 적어도 일부로써, 상기 전자 장치 사용자의 상태 정보를 공유할 대상을 결정하는 사용자 입력을 획득할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는, 상기 정보 공유 조건을 결정하는 사용자 입력을 획득하는 동작의 적어도 일부로써, 상기 전자 장치 사용자의 상태 정보에 대하여 분류된 적어도 하나의 카테고리 중 적어도 하나를 결정하는 사용자 입력을 획득할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는, 상기 정보 공유 조건을 결정하는 사용자 입력을 획득하는 동작의 적어도 일부로써, 상기 전자 장치 사용자의 상태 정보를 공유와 관계된 공유 시간 또는 공유 날짜를 결정하는 사용자 입력을 획득할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는, 상기 정보 공유 조건을 결정하는 사용자 입력을 획득하는 동작의 적어도 일부로써, 상기 전자 장치에 연결된 외부 장치를 결정하는 사용자 입력을 획득할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는, 상기 결정된 정보 공유 조건에 해당하는 상태 정보를 외부 서버로 전송하는 동작의 적어도 일부로써, 상기 결정된 정보 공유 조건에 대하여 실시간으로 판단되는 상태 정보를 상기 외부 서버로 전송할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는, 상기 결정된 정보 공유 조건에 해당하는 상태 정보를 외부 서버로 전송하는 동작의 적어도 일부로써, 상기 결정된 정보 공유 조건에 대하여 기 매핑된 상태 정보를 상기 외부 서버로 전송할 수 있다.
전술한 다양한 실시 예에 따른 전자 장치의 정보 제공 방법은, 통화 기능을 지원하는 어플리케이션의 실행에 따른 다이얼 버튼 및 호(call) 발신 버튼을 포함하는 사용자 인터페이스를 출력하는 동작, 상기 사용자 인터페이스를 통하여 통화 상대방을 결정하는 사용자 입력을 획득하는 동작, 상기 결정된 통화 상대방에 해당하는 식별 정보를 외부 서버로 전송하는 동작, 상기 식별 정보의 전송에 대한 응답으로, 상기 외부 서버로부터 상기 통화 상대방의 상태 정보를 수신하는 동작, 상기 어플리케이션의 상기 사용자 인터페이스의 일 영역으로 상기 통화 상대방의 상기 상태 정보를 표시하는 동작, 및 상기 호 발신 버튼의 선택에 응답하여 상기 통화 상대방에게 호를 발신하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 사용자 입력을 획득하는 동작은, 상기 통화 상대방의 전화 번호에 대응하는 다이얼 버튼 입력 신호를 획득하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 통화 상대방의 상태 정보를 수신하는 동작은, 상기 상태 정보가 지정된 제1 상태를 포함하는 경우 상기 사용자 인터페이스의 일 영역으로 메시지 작성 버튼을 표시하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 통화 상대방의 상태 정보를 수신하는 동작은, 상기 상태 정보가 지정된 제1 상태를 포함하는 경우 상기 사용자 인터페이스의 일 영역으로 상기 상태 정보와 관계된 질의 정보 메시지를 출력하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 질의 정보 메시지를 출력하는 동작은, 상기 통화 상대방으로의 상기 호 발신 여부를 질의하는 정보를 출력하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 통화 상대방의 상태 정보를 수신하는 동작은, 상기 상태 정보가 지정된 제2 상태를 포함하는 경우 상기 사용자 인터페이스의 일 영역으로 상기 제2 상태와 관계되는 어플리케이션의 실행을 지원하는 버튼을 표시하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 정보 제공 방법은, 상기 결정된 통화 상대방에 대한 지정된 서비스 가입 여부 정보를 상기 외부 서버에 요청하는 동작을 더 포함할 수 있다.
도 8은 일 실시 예에 따른 네트워크 환경 내의 전자 장치를 도시한 도면이다.
도 8을 참조하면, 네트워크 환경(1100)에서 전자 장치(1101)(예: 전자 장치(도 1a의 100))는 제 1 네트워크(1198)(예: 근거리 무선 통신)를 통하여 전자 장치(1102)와 통신하거나, 또는 제 2 네트워크(1199)(예: 원거리 무선 통신)를 통하여 전자 장치(1104) 또는 서버(1108)와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(1101)는 서버(1108)를 통하여 전자 장치(1104)와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(1101)는 프로세서(1120), 메모리(1130), 입력 장치(1150), 음향 출력 장치(1155), 표시 장치(1160), 오디오 모듈(1170), 센서 모듈(1176), 인터페이스(1177), 햅틱 모듈(1179), 카메라 모듈(1180), 전력 관리 모듈(1188), 배터리(1189), 통신 모듈(1190), 가입자 식별 모듈(1196), 및 안테나 모듈(1197)을 포함할 수 있다. 어떤 실시 예에서는, 전자 장치(1101)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(1160) 또는 카메라 모듈(1180))가 생략되거나 다른 구성 요소가 추가될 수 있다. 어떤 실시 예에서는, 예를 들면, 표시 장치(1160)(예: 디스플레이)에 임베디드된 센서 모듈(1176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)의 경우와 같이, 일부의 구성요소들이 통합되어 구현될 수 있다.
프로세서(1120)는, 예를 들면, 소프트웨어(예: 프로그램(1140))를 구동하여 프로세서(1120)에 연결된 전자 장치(1101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 및 연산을 수행할 수 있다. 프로세서(1120)는 다른 구성요소(예: 센서 모듈(1176) 또는 통신 모듈(1190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(1132)에 로드하여 처리하고, 결과 데이터를 비휘발성 메모리(1134)에 저장할 수 있다. 일 실시 예에 따르면, 프로세서(1120)는 메인 프로세서(1121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 운영되고, 추가적으로 또는 대체적으로, 메인 프로세서(1121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화된 보조 프로세서(1123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 여기서, 보조 프로세서(1123)는 메인 프로세서(1121)와 별개로 또는 임베디드되어 운영될 수 있다.
이런 경우, 보조 프로세서(1123)는, 예를 들면, 메인 프로세서(1121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(1121)를 대신하여, 또는 메인 프로세서(1121)가 액티브(예: 어플리케이션 수행) 상태에 있는 동안 메인 프로세서(1121)와 함께, 전자 장치(1101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(1160), 센서 모듈(1176), 또는 통신 모듈(1190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시 예에 따르면, 보조 프로세서(1123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(1180) 또는 통신 모듈(1190))의 일부 구성 요소로서 구현될 수 있다. 메모리(1130)는, 전자 장치(1101)의 적어도 하나의 구성요소(예: 프로세서(1120) 또는 센서모듈(1176))에 의해 사용되는 다양한 데이터, 예를 들어, 소프트웨어(예: 프로그램(1140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 저장할 수 있다. 메모리(1130)는, 휘발성 메모리(1132) 또는 비휘발성 메모리(1134)를 포함할 수 있다.
프로그램(1140)은 메모리(1130)에 저장되는 소프트웨어로서, 예를 들면, 운영 체제(1142), 미들 웨어(1144) 또는 어플리케이션(1146)을 포함할 수 있다.
입력 장치(1150)는, 전자 장치(1101)의 구성요소(예: 프로세서(1120))에 사용될 명령 또는 데이터를 전자 장치(1101)의 외부(예: 사용자)로부터 수신하기 위한 장치로서, 예를 들면, 마이크, 마우스, 또는 키보드를 포함할 수 있다.
음향 출력 장치(1155)는 음향 신호를 전자 장치(1101)의 외부로 출력하기 위한 장치로서, 예를 들면, 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용되는 스피커와 전화 수신 전용으로 사용되는 리시버를 포함할 수 있다. 일 실시 예에 따르면, 리시버는 스피커와 일체 또는 별도로 형성될 수 있다.
표시 장치(1160)는 전자 장치(1101)의 사용자에게 정보를 시각적으로 제공하기 위한 장치로서, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시 예에 따르면, 표시 장치(1160)는 터치 회로(touch circuitry) 또는 터치에 대한 압력의 세기를 측정할 수 있는 압력 센서를 포함할 수 있다.
오디오 모듈(1170)은 소리와 전기 신호를 쌍방향으로 변환시킬 수 있다. 일 실시 예에 따르면, 오디오 모듈(1170)은, 입력 장치(1150)를 통해 소리를 획득하거나, 음향 출력 장치(1155), 또는 전자 장치(1101)와 유선 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(1102)(예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(1176)은 전자 장치(1101)의 내부의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 센서 모듈(1176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(1177)는 외부 전자 장치(예: 전자 장치(1102))와 유선 또는 무선으로 연결할 수 있는 지정된 프로토콜을 지원할 수 있다. 일 실시 예에 따르면, 인터페이스(1177)는 HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(1178)는 전자 장치(1101)와 외부 전자 장치(예: 전자 장치(1102))를 물리적으로 연결시킬 수 있는 커넥터, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(1179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 햅틱 모듈(1179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(1180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시 예에 따르면, 카메라 모듈(1180)은 하나 이상의 렌즈, 이미지 센서, 이미지 시그널 프로세서, 또는 플래시를 포함할 수 있다.
전력 관리 모듈(1188)은 전자 장치(1101)에 공급되는 전력을 관리하기 위한 모듈로서, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구성될 수 있다.
배터리(1189)는 전자 장치(1101)의 적어도 하나의 구성 요소에 전력을 공급하기 위한 장치로서, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(1190)은 전자 장치(1101)와 외부 전자 장치(예: 전자 장치(1102), 전자 장치(1104), 또는 서버(1108))간의 유선 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(1190)은 프로세서(1120)(예: 어플리케이션 프로세서)와 독립적으로 운영되는, 유선 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시 예에 따르면, 통신 모듈(1190)은 무선 통신 모듈(1192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(1194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함하고, 그 중 해당하는 통신 모듈을 이용하여 제 1 네트워크(1198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(1199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 상술한 여러 종류의 통신 모듈(1190)은 하나의 칩으로 구현되거나 또는 각각 별도의 칩으로 구현될 수 있다.
일 실시 예에 따르면, 무선 통신 모듈(1192)은 가입자 식별 모듈(1196)에 저장된 사용자 정보를 이용하여 통신 네트워크 내에서 전자 장치(1101)를 구별 및 인증할 수 있다.
안테나 모듈(1197)은 신호 또는 전력을 외부로 송신하거나 외부로부터 수신하기 위한 하나 이상의 안테나들을 포함할 수 있다. 일시예에 따르면, 통신 모듈(1190)(예: 무선 통신 모듈(1192))은 통신 방식에 적합한 안테나를 통하여 신호를 외부 전자 장치로 송신하거나, 외부 전자 장치로부터 수신할 수 있다.
상기 구성요소들 중 일부 구성요소들은 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input/output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되어 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일 실시 예에 따르면, 명령 또는 데이터는 제 2 네트워크(1199)에 연결된 서버(1108)를 통해서 전자 장치(1101)와 외부의 전자 장치(1104)간에 송신 또는 수신될 수 있다. 전자 장치(1102, 1104) 각각은 전자 장치(1101)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시 예에 따르면, 전자 장치(1101)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 외부 전자 장치에서 실행될 수 있다. 일 실시 예에 따르면, 전자 장치(1101)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(1101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 외부 전자 장치에게 요청할 수 있다. 상기 요청을 수신한 외부 전자 장치는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(1101)로 전달할 수 있다. 전자 장치(1101)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치 중 적어도 하나를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", "첫째" 또는 "둘째" 등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)(예: 내장 메모리(1136) 또는 외장 메모리(1138))에 저장된 명령어를 포함하는 소프트웨어(예: 프로그램(1140))로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치(예: 전자 장치(1101))를 포함할 수 있다. 상기 명령이 프로세서(예: 프로세서(1120))에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
본 문서에 개시된 실시 예는, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 발명의 범위를 한정하는 것은 아니다. 따라서, 본 문서의 범위는, 본 발명의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시 예를 포함하는 것으로 해석되어야 한다.