KR20150125480A - 서비스 제공 방법, 전자 장치 및 저장 매체 - Google Patents

서비스 제공 방법, 전자 장치 및 저장 매체 Download PDF

Info

Publication number
KR20150125480A
KR20150125480A KR1020140052947A KR20140052947A KR20150125480A KR 20150125480 A KR20150125480 A KR 20150125480A KR 1020140052947 A KR1020140052947 A KR 1020140052947A KR 20140052947 A KR20140052947 A KR 20140052947A KR 20150125480 A KR20150125480 A KR 20150125480A
Authority
KR
South Korea
Prior art keywords
module
electronic device
presence information
application
display
Prior art date
Application number
KR1020140052947A
Other languages
English (en)
Other versions
KR102202110B1 (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 KR1020140052947A priority Critical patent/KR102202110B1/ko
Priority to PCT/KR2015/004403 priority patent/WO2015167283A1/en
Priority to US15/307,952 priority patent/US10574603B2/en
Publication of KR20150125480A publication Critical patent/KR20150125480A/ko
Application granted granted Critical
Publication of KR102202110B1 publication Critical patent/KR102202110B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/043Real-time or near real-time messaging, e.g. instant messaging [IM] using or handling presence information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • 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/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1016IP multimedia subsystem [IMS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephone Function (AREA)

Abstract

본 발명의 다양한 실시예에 따르면, 전자 장치는, 화면들을 표시하기 위한 디스플레이; 상기 전자 장치의 디스플레이 상에 브라우저 어플리케이션을 통해 제공되는 제1 통신 서비스와 연관된 적어도 하나의 상대 장치의 프레즌스 정보를 표시하고, 상기 적어도 하나의 상대 장치와의 통신을 위한 사용자 입력을 수신하고, 상기 사용자 입력에 응답하여, 상기 제1 통신 서비스를 제공하는 상기 브라우저 어플리케이션의 제2 화면을 상기 디스플레이 상에 표시하도록 구성된 프로세서; 상기 제1 통신 서비스를 제공하기 위한 복수의 모듈들을 포함하는 제1 모듈; 제2 통신 서비스를 제공하기 위한 복수의 모듈들을 포함하는 제2 모듈; 및 상기 제1 모듈 및 상기 제2 모듈의 제어를 위한 제어 모듈을 포함할 수 있다.

Description

서비스 제공 방법, 전자 장치 및 저장 매체 {METHOD FOR PROVIDING SERVICE, ELECTRONIC APPARATUS AND STORAGE MEDIUM}
본 발명의 다양한 실시예들은 서비스를 제공하는 전자 장치 및 방법에 관한 것이다.
WebRTC(Web Real-Time Communication)는 브라우저 어플리케이션들을 통해 추가적인 플러그인(Plug-In) 설치 없이 음성 통화(Voice Call), 비디오 채팅(Video Chatting), 비디오 통화(Video Telephone: VT, or Video Call), 비디오 회의(video conference), 파일 전송(File Transfer)을 제공하는 기술이다.
IMS(IP Multimedia Subsystem or IP Multimedia Core Network Subsystem)는 VoLTE(Voice over Long-Term Evolution)와 RCS(Rich Communication Services)의 기반이 되는 기술로서, 음성 통화 또는 음성 통화, 비디오 통화, 비디오 채팅(Video Chatting), 비디오 회의, IMS 기반 SMS(SMS(Short Message Service) over IMS), 전화 회의(Conference Call), IM(Instant Message), 그룹 채팅(Group chat), 파일 전송(File Transfer), 이미지/비디오 공유(Image/Video Share), 프레즌스(Presence) 등의 기능을 제공한다.
WebRTC 서비스와 IMS 서비스는 일부 동일한 기능을 제공한다. 현재 하나의 전자 장치에서 WebRTC 서비스와 IMS 서비스가 같이 지원될 경우, 연동할 수 있는 방안이 없다. 또한, WebRTC 서비스와 IMS 서비스는 중복되는 모듈들을 사용하기 때문에 통합 방안이 필요하다.
본 발명의 다양한 실시예들은 서로 다른 서비스들(예; WebRTC 서비스 및 IMS 서비스)을 연동 또는 통합하여 사용자에게 보다 편리한 서비스를 제공할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는, 화면들을 표시하기 위한 디스플레이; 상기 전자 장치의 디스플레이 상에 브라우저 어플리케이션을 통해 제공되는 제1 통신 서비스와 연관된 적어도 하나의 상대 장치의 프레즌스 정보를 표시하고, 상기 적어도 하나의 상대 장치와의 통신을 위한 사용자 입력을 수신하고, 상기 사용자 입력에 응답하여, 상기 제1 통신 서비스를 제공하는 상기 브라우저 어플리케이션의 제2 화면을 상기 디스플레이 상에 표시하도록 구성된 프로세서; 상기 제1 통신 서비스를 제공하기 위한 복수의 모듈들을 포함하는 제1 모듈; 제2 통신 서비스를 제공하기 위한 복수의 모듈들을 포함하는 제2 모듈; 및 상기 제1 모듈 및 상기 제2 모듈의 제어를 위한 제어 모듈을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치의 서비스 제공 방법은, 상기 전자 장치의 디스플레이 상에 브라우저 어플리케이션을 통해 제공되는 통신 서비스와 연관된 적어도 하나의 상대 장치의 프레즌스 정보를 표시하는 동작; 상기 적어도 하나의 상대 장치와의 통신을 위한 사용자 입력을 수신하는 동작; 및 상기 사용자 입력에 응답하여, 상기 통신 서비스를 제공하는 상기 브라우저 어플리케이션의 제2 화면을 표시하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치의 서비스 제공 방법을 실행하기 위한 프로그램을 기록한 기계로 읽을 수 있는 저장 매체에 있어서, 상기 방법은, 상기 전자 장치의 디스플레이 상에 브라우저 어플리케이션을 통해 제공되는 통신 서비스와 연관된 적어도 하나의 상대 장치의 프레즌스 정보를 표시하는 동작; 상기 적어도 하나의 상대 장치와의 통신을 위한 사용자 입력을 수신하는 동작; 및 상기 사용자 입력에 응답하여, 상기 통신 서비스를 제공하는 상기 브라우저 어플리케이션의 제2 화면을 표시하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는, 화면들을 표시하기 위한 디스플레이; 및 상기 전자 장치의 디스플레이 상에 브라우저 어플리케이션을 통해 제공되는 제1 통신 서비스와 연관된 적어도 하나의 상대 장치의 프레즌스 정보를 표시하고, 상기 적어도 하나의 상대 장치와의 통신을 위한 사용자 입력을 수신하고, 상기 사용자 입력에 응답하여, 상기 제1 통신 서비스를 제공하는 상기 브라우저 어플리케이션의 제2 화면을 상기 디스플레이 상에 표시하도록 구성된 프로세서를 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 서로 다른 서비스들(예; WebRTC 서비스 및 IMS 서비스)을 연동 또는 통합하여 사용자에게 보다 편리한 서비스를 제공할 수 있다.
도 1은 본 발명의 다양한 실시예에 따른, 전자 장치를 포함하는 네트워크 환경을 도시한다.
도 2는 본 발명의 다양한 실시예에 따른 전자 장치의 서비스 제공 모듈의 블록도를 도시한다.
도 3은 본 발명의 다양한 실시예에 따른 전자 장치의 모듈 시스템을 도시한다.
도 4는 본 발명의 다양한 실시예에 따른 전자 장치의 모듈 시스템을 도시한다.
도 5는 본 발명의 다양한 실시예에 따른 전자 장치의 서비스 제공 방법을 나타내는 흐름도를 도시한다.
도 6 내지 도 8은 본 발명의 다양한 실시예에 따른 전자 장치의 어플리케이션 동작 방법을 설명하기 위한 도면들이다.
도 9는 본 발명의 다양한 실시예에 따른 전자 장치의 서비스 제공 방법을 나타내는 흐름도를 도시한다.
도 10은 본 발명의 다양한 실시예에 따른 전자 장치의 어플리케이션 동작 방법을 설명하기 위한 도면이다.
도 11은 본 발명의 다양한 실시예에 따른 전자 장치의 서비스 제공 방법을 나타내는 흐름도를 도시한다.
도 12는 본 발명의 다양한 실시예에 전자 장치의 블록도를 도시한다.
이하, 본 발명의 다양한 실시예가 첨부된 도면과 연관되어 기재된다. 본 발명의 다양한 실시예는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있다. 그러나, 이는 본 발명의 다양한 실시예를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 다양한 실시예의 사상 및 기술 범위에 포함되는 모든 변경 및/또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용되었다.
본 발명의 다양한 실시예에서 사용될 수 있는“포함한다” 또는 “포함할 수 있다” 등의 표현은 개시(disclosure)된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 본 발명의 다양한 실시예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명의 다양한 실시예에서 “또는” 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한다. 예를 들어, “A 또는 B”는, A를 포함할 수도, B를 포함할 수도, 또는 A 와 B 모두를 포함할 수도 있다.
본 발명의 다양한 실시예에서 사용된 “제 1,”“제2,”“첫째,”또는“둘째,”등의 표현들은 다양한 실시예들의 다양한 구성요소들을 수식할 수 있지만, 해당 구성요소들을 한정하지 않는다. 예를 들어, 상기 표현들은 해당 구성요소들의 순서 및/또는 중요도 등을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들어, 제1 사용자 기기와 제 2 사용자 기기는 모두 사용자 기기이며, 서로 다른 사용자 기기를 나타낸다. 예를 들어, 본 발명의 다양한 실시예의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.
본 발명의 다양한 실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 다양한 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명의 다양한 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 다양한 실시예에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명의 다양한 실시예에 따른 전자 장치는, 통신 기능이 포함된 장치일 수 있다. 예를 들면, 전자 장치는 스마트 폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 비디오 전화기, 전자북 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device)(예: 전자 안경과 같은 head-mounted-device(HMD), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 전자 문신, 또는 스마트 와치(smart watch))중 적어도 하나를 포함할 수 있다.
어떤 실시예들에 따르면, 전자 장치는 통신 기능을 갖춘 스마트 가전 제품(smart home appliance)일 수 있다. 스마트 가전 제품은, 예를 들자면, 전자 장치는 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), TV 박스(예를 들면, 삼성 HomeSyncTM, 애플TVTM 또는 구글 TVTM, 게임 콘솔(game consoles), 전자 사전, 전자 키, 캠코더(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), 보안 기기, 차량용 헤드 유닛, 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller's machine) 또는 상점의 POS(point of sales) 중 적어도 하나를 포함할 수 있다.
어떤 실시예들에 따르면, 전자 장치는 통신 기능을 포함한 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 입력장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 본 발명의 다양한 실시예에 따른 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 또한, 본 발명의 다양한 실시예에 따른 전자 장치는 플렉서블 장치일 수 있다. 또한, 본 발명의 다양한 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않음은 당업자에게 자명하다.
이하, 첨부된 도면을 참조하여 다양한 실시예에 따른 전자 장치에 대해서 살펴본다. 다양한 실시예에서 이용되는 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1은 본 발명의 다양한 실시예에 따른, 전자 장치(101)를 포함하는 네트워크 환경(100)을 도시한다. 도 1을 참조하면, 상기 전자 장치(101)는 버스(110), 프로세서(120), 메모리(130), 입출력 인터페이스(140), 디스플레이(150), 통신 인터페이스(160) 및 서비스 제공 모듈(170)을 포함할 수 있다.
상기 버스(110)는 전술한 구성요소들을 서로 연결하고, 전술한 구성요소들 간의 통신(예: 제어 메시지)을 전달하는 회로일 수 있다.
상기 프로세서(120)는, 예를 들면, 상기 버스(110)를 통해 전술한 다른 구성 요소들(예: 상기 메모리(130), 상기 입출력 인터페이스(140), 상기 디스플레이(150), 상기 통신 인터페이스(160), 상기 서비스 제공 모듈(170) 등의 적어도 하나)로부터 명령을 수신하여, 수신된 명령을 해독하고, 해독된 명령에 따른 연산이나 데이터 처리를 실행할 수 있다.
상기 메모리(130)는, 상기 프로세서(120) 또는 다른 구성 요소들(예: 상기 입출력 인터페이스(140), 상기 디스플레이(150), 상기 통신 인터페이스(160), 상기 서비스 제공 모듈(170) 등의 적어도 하나)로부터 수신되거나 상기 프로세서(120) 또는 다른 구성 요소들에 의해 생성된 명령 또는 데이터를 저장할 수 있다. 상기 메모리(130)는, 예를 들면, 커널(131), 미들웨어(132), 어플리케이션 프로그래밍 인터페이스(API: application programming interface, 133) 또는 어플리케이션(134) 등의 프로그래밍 모듈들을 포함할 수 있다. 전술한 각각의 프로그래밍 모듈들은 소프트웨어, 펌웨어, 하드웨어 또는 이들 중 적어도 둘 이상의 조합으로 구성될 수 있다.
상기 커널(131)은 나머지 다른 프로그래밍 모듈들, 예를 들면, 상기 미들웨어(132), 상기 API(133) 또는 상기 어플리케이션(134)에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 상기 버스(110), 상기 프로세서(120), 상기 메모리(130) 등의 적어도 하나)을 제어 또는 관리할 수 있다. 또한, 상기 커널(131)은 상기 미들웨어(132), 상기 API(133) 또는 상기 어플리케이션(134)에서 상기 전자 장치(101)의 개별 구성 요소에 접근하여 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
상기 미들웨어(132)는 상기 API(133) 또는 상기 어플리케이션(134)이 상기 커널(131)과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 상기 미들웨어(132)는 상기 어플리케이션(134)로부터 수신된 작업 요청들과 관련하여, 예를 들면, 상기 어플리케이션(134) 중 적어도 하나의 어플리케이션에 상기 전자 장치(101)의 시스템 리소스(예: 상기 버스(110), 상기 프로세서(120), 상기 메모리(130) 등의 적어도 하나)를 사용할 수 있는 우선 순위를 배정하는 등의 방법을 이용하여 작업 요청에 대한 제어(예: 스케쥴링, 로드 밸런싱 등의 적어도 하나)을 수행할 수 있다.
상기 API(133)는 상기 어플리케이션(134)이 상기 커널(131) 또는 상기 미들웨어(132)에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 이미지 처리, 문자 제어 등의 적어도 하나를 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다.
다양한 실시예에 따르면, 상기 어플리케이션(134)은 SMS(Short Message Service)/MMS(Multimedia Messaging Service) 어플리케이션, 이메일 어플리케이션, 달력 어플리케이션, 알람 어플리케이션, 건강 관리(health care) 어플리케이션(예: 운동량, 혈당 등의 적어도 하나를 측정하는 어플리케이션), 환경 정보 어플리케이션(예: 기압, 습도, 온도 정보 등의 적어도 하나를 제공하는 어플리케이션) 등의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 어플리케이션(134)은 상기 전자 장치(101)와 외부 전자 장치(예: 전자 장치(104)) 사이의 정보 교환과 관련된 어플리케이션일 수 있다. 상기 정보 교환과 관련된 어플리케이션은, 예를 들어, 상기 외부 전자 장치에 특정 정보를 전달하기 위한 알림 전달(notification relay) 어플리케이션, 또는 상기 외부 전자 장치를 관리하기 위한 장치 관리(device management) 어플리케이션을 포함할 수 있다.
예를 들면, 상기 알림 전달 어플리케이션은 상기 전자 장치(101)의 다른 어플리케이션(예: SMS/MMS 어플리케이션, 이메일 어플리케이션, 건강 관리 어플리케이션 또는 환경 정보 어플리케이션 등)에서 발생한 알림 정보를 외부 전자 장치(예: 전자 장치(104))로 전달하는 기능을 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 알림 전달 어플리케이션은, 예를 들면, 외부 전자 장치(예: 전자 장치(104))로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. 상기 장치 관리 어플리케이션은, 예를 들면, 상기 전자 장치(101)와 통신하는 외부 전자 장치(예: 전자 장치(104))의 적어도 일부에 대한 기능(예: 외부 전자 장치 자체(또는, 일부 구성 부품)의 턴온/턴오프, 디스플레이의 밝기(또는, 해상도) 조절 등의 적어도 하나), 상기 외부 전자 장치에서 동작하는 어플리케이션 또는 상기 외부 전자 장치에서 제공되는 서비스(예: 통화 서비스 또는 메시지 서비스)를 관리(예: 설치, 삭제, 업데이트 등의 적어도 하나)할 수 있다.
다양한 실시예에 따르면, 상기 어플리케이션(134)은 상기 외부 전자 장치(예: 전자 장치(104))의 속성(예: 전자 장치의 종류)에 따라 지정된 어플리케이션을 포함할 수 있다. 예를 들어, 외부 전자 장치가 MP3 플레이어인 경우, 상기 어플리케이션(134)은 음악 재생과 관련된 어플리케이션을 포함할 수 있다. 유사하게, 외부 전자 장치가 모바일 의료기기인 경우, 상기 어플리케이션(134)은 건강 관리와 관련된 어플리케이션을 포함할 수 있다. 한 실시예에 따르면, 상기 어플리케이션(134)은 전자 장치(101)에 지정된 어플리케이션 또는 외부 전자 장치(예: 서버(106) 또는 전자 장치(104))로부터 수신된 어플리케이션 중 적어도 하나를 포함할 수 있다.
상기 입출력 인터페이스(140)는, 입출력 장치(예: 센서, 키보드, 터치 스크린 등의 적어도 하나)를 통하여 사용자로부터 입력된 명령 또는 데이터를, 예를 들면, 상기 버스(110)를 통해 상기 프로세서(120), 상기 메모리(130), 상기 통신 인터페이스(160), 상기 서비스 제공 모듈(170) 등의 적어도 하나에 전달할 수 있다. 예를 들면, 상기 입출력 인터페이스(140)는 터치 스크린을 통하여 입력된 사용자의 터치에 대한 데이터를 상기 프로세서(120)로 제공할 수 있다. 또한, 상기 입출력 인터페이스(140)는, 예를 들면, 상기 버스(110)을 통해 상기 프로세서(120), 상기 메모리(130), 상기 통신 인터페이스(160), 상기 서비스 제공 모듈(170) 등의 적어도 하나로부터 수신된 명령 또는 데이터를 상기 입출력 장치(예: 스피커, 디스플레이 등의 적어도 하나)를 통하여 출력할 수 있다. 예를 들면, 상기 입출력 인터페이스(140)는 상기 프로세서(120)를 통하여 처리된 음성 데이터를 스피커를 통하여 사용자에게 출력할 수 있다.
상기 디스플레이(150)는 사용자에게 각종 정보(예: 멀티미디어 데이터, 텍스트 데이터 등의 적어도 하나)을 표시할 수 있다.
상기 통신 인터페이스(160)는 상기 전자 장치(101)와 외부 전자 장치(예: 전자 장치(104) 또는 서버(106)) 간의 통신을 연결할 수 있다. 예를 들면, 상기 통신 인터페이스(160)는 무선 통신 또는 유선 통신을 통해서 네트워크(162)에 연결되어 상기 외부 전자 장치와 통신할 수 있다. 상기 무선 통신은, 예를 들어, WiFi(wireless fidelity), WiFi 다이렉트, BT(Bluetooth), NFC(near field communication), GPS(global positioning system), 셀룰러(cellular) 통신(예: LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro 또는 GSM 등) 등의 적어도 하나를 포함할 수 있다. 상기 유선 통신은, 예를 들어, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard 232), POTS(plain old telephone service) 등의 적어도 하나를 포함할 수 있다.
한 실시예에 따르면, 상기 네트워크(162)는 통신 네트워크(telecommunications network)일 수 있다. 상기 통신 네트워크는 컴퓨터 네트워크(computer network), 인터넷(internet), 사물 인터넷(internet of things), 전화망(telephone network) 등의 적어도 하나를 포함할 수 있다. 한 실시예에 따르면, 상기 전자 장치(101)와 외부 전자 장치 간의 통신을 위한 프로토콜(예: transport layer protocol, data link layer protocol 또는 physical layer protocol))은 어플리케이션(134), API(133), 상기 미들웨어(132), 커널(131), 통신 인터페이스(160) 등의 적어도 하나에서 지원될 수 있다.
한 실시예에 따르면, 상기 서비스 제공 모듈(170)은 상기 전자 장치(101)에서 구현되는 동작(또는, 기능)들 중 적어도 하나의 동작을 수행함으로써, 상기 전자 장치(101)의 구동을 지원할 수 있다. 예를 들면, 상기 서버(106)는 상기 전자 장치(101)에 구현된 어플리케이션 동작 모듈(170)을 지원할 수 있는 서비스 제공 서버 모듈(108)을 포함할 수 있다. 예컨대, 상기 서비스 제공 서버 모듈(108)은 서비스 제공 모듈(170)의 적어도 하나의 구성 요소를 포함하여, 서비스 제공 모듈(170)이 수행하는 동작들 중 적어도 하나의 동작을 수행(예: 대행)할 수 있다.
상기 서비스 제공 모듈(170)은, 다른 구성요소들(예: 상기 프로세서(120), 상기 메모리(130), 상기 입출력 인터페이스(140), 상기 통신 인터페이스(160) 등의 적어도 하나)로부터 획득된 정보 중 적어도 일부를 처리하고, 이를 다양한 방법으로 이용할 수 있다. 예를 들면, 상기 서비스 제공 모듈(170)은 상기 프로세서(120)를 이용하여 또는 이와는 독립적으로, 상기 전자 장치(101)가 다른 전자 장치(예: 전자 장치(104) 또는 서버(106))와 연동하도록 상기 전자 장치(101)의 적어도 일부 기능을 제어할 수 있다. 상기 서비스 제공 모듈(170)은 상기 프로세서(120)에 통합될 수 있다. 한 실시예에 따르면, 서비스 제공 모듈(170)의 적어도 하나의 구성은 상기 서버(106)(예: 서비스 제공 서버 모듈(108))에 포함될 수 있으며, 상기 서버(106)로부터 서비스 제공 모듈(170)에서 구현되는 적어도 하나의 동작을 지원받을 수 있다. 후술하는 도 2를 통하여 상기 서비스 제공 모듈(170)에 대한 추가적인 정보가 제공된다.
도 2는 본 발명의 다양한 실시예에 따른 전자 장치(예: 전자 장치(101))의 서비스 제공 모듈(170)의 블록도(200)를 도시한다. 도 2를 참조하면, 상기 서비스 제공 모듈(170)은, 수신 모듈(210), 표시 모듈(220), 실행 모듈(230), 저장 모듈(240) 및 전송 모듈(250)을 포함할 수 있다.
본 발명의 다양한 실시예에 따른 상기 수신 모듈(210)은 사용자 입력, 통지 등의 적어도 하나를 수신할 수 있다. 상기 수신 모듈(210)은 적어도 하나의 상대 장치와의 통신을 위한 사용자 입력, 어플리케이션(예: 브라우저 어플리케이션, 연락처 어플리케이션, 웹 어플리케이션, IMS 어플리케이션 등의 적어도 하나)의 실행을 위한 사용자 입력, 상기 적어도 하나의 상대 장치의 프레즌스 정보를 포함하는 통지를 수신할 수 있다. 상기 수신 모듈(210)은 상기 전자 장치의 디스플레이(예: 디스플레이(150))의 적어도 일 부분 상 또는 이에 인접한 사용자 입력을 수신할 수 있다. 상기 프레즌스 정보는 사용자의 현재 위치, 사용자의 가용 연결 정보, 세션 정보(예: 사용자 선호 사항들, 지원하는 포맷 등의 적어도 하나), IMS 어플리케이션(또는 IMS 서비스)의 상태 정보(예: 실행, 종료, 온라인, 오프라인 등), 웹 어플리케이션 또는 WebRTC 어플리케이션(또는 WebRTC 서비스)의 상태 정보(예: 실행, 종료, 온라인, 오프라인 등) 등의 적어도 하나를 포함할 수 있다.
본 발명의 다양한 실시예에 따른 상기 표시 모듈(220)은 상기 디스플레이를 제어하여 적어도 하나의 상대 장치의 프레즌스 정보, 어플리케이션(예: 브라우저 어플리케이션, 연락처 어플리케이션, 웹 어플리케이션, IMS 어플리케이션 등의 적어도 하나)의 화면 등의 적어도 하나를 표시할 수 있다.
한 실시예에서, 상기 표시 모듈(220)은 상기 디스플레이 상에 브라우저 어플리케이션을 통해 제공되는 통신 서비스와 연관된 적어도 하나의 상대 장치의 프레즌스 정보를 표시할 수 있다. 상기 수신 모듈(210)은 상기 적어도 하나의 상대 장치와의 통신을 위한 제2 사용자 입력을 수신할 수 있다. 상기 표시 모듈(220)은 상기 제2 사용자 입력에 응답하여, 상기 통신 서비스를 제공하는 상기 브라우저 어플리케이션의 제2 화면을 상기 디스플레이 상에 표시할 수 있다. 상기 프레즌스 정보는 상기 적어도 하나의 상대 장치가 제2의 브라우저 어플리케이션을 통해 제공되는 상기 통신 서비스를 실행 중인지의 여부를 나타낼 수 있다. 상기 통신 서비스는 음성 통화, 비디오 통화, 비디오 채팅, 비디오 회의, 파일 전송 등의 적어도 하나일 수 있다. 상기 브라우저 어플리케이션의 제2 화면은 상기 전자 장치에 의해 촬영된 제1 비디오를 나타내는 제1 비디오 화면 및 상기 적어도 하나의 상대 장치에 의해 촬영된 제2 비디오를 나타내는 제2 비디오 화면을 포함할 수 있다.
본 발명의 다양한 실시예에 따른 상기 실행 모듈(230)은 어플리케이션(예: 브라우저 어플리케이션, 연락처 어플리케이션, 웹 어플리케이션, IMS 어플리케이션, 음성 통화 어플리케이션, 비디오 통화 어플리케이션, 비디오 채팅 어플리케이션, IMS 기반 SMS 어플리케이션, 전화 회의 어플리케이션, IM 어플리케이션, 그룹 채팅 어플리케이션, 파일 전송 어플리케이션, 이미지/비디오 공유 어플리케이션 등의 적어도 하나) 또는 서비스(예: 브라우저 서비스, 연락처 서비스, WebRTC 서비스, IMS 서비스, 음성 통화 서비스, 비디오 통화 서비스, 비디오 채팅 서비스, IMS 기반 SMS 서비스, 전화 회의 서비스, IM 서비스, 그룹 채팅 서비스, 파일 전송 서비스, 이미지/비디오 공유 서비스 등의 적어도 하나)를 실행할 수 있다.
한 실시예에서, 상기 수신 모듈(210)은 브라우저 어플리케이션의 실행을 위한 제3 사용자 입력을 수신할 수 있다. 상기 실행 모듈(230)은 상기 제3 사용자 입력에 응답하여, 상기 브라우저 어플리케이션을 실행할 수 있다. 상기 표시 모듈(220)은 상기 브라우저 어플리케이션의 실행에 따라 상기 브라우저 어플리케이션의 제1 화면을 상기 디스플레이 상에 표시할 수 있다. 상기 표시 모듈(220)은 상기 브라우저 어플리케이션의 제1 화면 상에 상기 브라우저 어플리케이션을 통해 제공되는 통신 서비스와 연관된 적어도 하나의 상대 장치의 프레즌스 정보를 표시할 수 있다. 상기 수신 모듈(210)은 상기 적어도 하나의 상대 장치와의 통신을 위한 제2 사용자 입력을 수신할 수 있다. 상기 표시 모듈(220)은 상기 제2 사용자 입력에 응답하여, 상기 통신 서비스를 제공하는 상기 브라우저 어플리케이션의 제2 화면을 상기 디스플레이 상에 표시할 수 있다.
한 실시예에서, 상기 수신 모듈(210)은 상기 적어도 하나의 상대 장치의 프레즌스 정보를 포함하는 통지를 수신할 수 있다. 상기 표시 모듈(220)은 상기 수신한 프레즌스 정보를 상기 브라우저 어플리케이션의 제2 화면에 표시할 수 있다.
본 발명의 다양한 실시예에 따른 저장 모듈(240)은 상기 수신한 프레즌스 정보의 적어도 일부를 저장할 수 있다. 상기 저장 모듈(240)은 상기 전자 장치의 프레즌스 정보를 저장할 수 있다.
한 실시예에서, 상기 저장 모듈(240)은 상기 수신한 프레즌스 정보의 적어도 일부를 특정 어플리케이션에 의해 사용되는 데이터베이스에 저장할 수 있다.
본 발명의 다양한 실시예에 따른 전송 모듈(250)은 상기 통신 서비스와 연관된 상기 전자 장치의 프레즌스 정보를 프레즌스 서버로 전송할 수 있다.
한 실시예에서, 상기 수신 모듈(210)은 연락처 어플리케이션의 실행을 위한 제1 사용자 입력을 수신할 수 있다. 상기 실행 모듈(230)은 상기 제1 사용자 입력에 응답하여, 연락처 어플리케이션을 실행할 수 있다. 상기 표시 모듈(220)은 상기 연락처 어플리케이션의 실행에 따라 상기 연락처 어플리케이션의 화면을 상기 디스플레이 상에 표시할 수 있다. 상기 표시 모듈(220)은 상기 연락처 어플리케이션의 화면 상에 브라우저 어플리케이션을 통해 제공되는 통신 서비스와 연관된 적어도 하나의 상대 장치의 프레즌스 정보를 표시할 수 있다. 상기 수신 모듈(210)은 상기 적어도 하나의 상대 장치와의 통신을 위한 제2 사용자 입력을 수신할 수 있다. 상기 표시 모듈(220)은 상기 제2 사용자 입력에 응답하여, 상기 통신 서비스를 제공하는 상기 브라우저 어플리케이션의 제2 화면을 상기 디스플레이 상에 표시할 수 있다. 상기 연락처 어플리케이션의 화면은 상기 적어도 하나의 상대 장치의 프레즌스 정보를 나타내는 적어도 하나의 아이템을 포함할 수 있다. 상기 적어도 하나의 아이템은 상기 적어도 하나의 상대 장치의 프레즌스 정보를 나타내는 텍스트, 심볼, 이미지, 또는 아이콘 중 하나 또는 그 이상을 포함할 수 있다.
한 실시예에서, 상기 수신 모듈(210)은 상기 적어도 하나의 상대 장치의 프레즌스 정보를 포함하는 통지를 수신할 수 있다. 상기 표시 모듈(220)은 상기 수신한 프레즌스 정보를 상기 브라우저 어플리케이션의 제2 화면에 표시할 수 있다.
한 실시예에서, 상기 수신 모듈(210)은 상기 적어도 하나의 상대 장치의 프레즌스 정보를 포함하는 통지를 수신할 수 있다. 상기 저장 모듈(240)은 상기 수신한 프레즌스 정보에 포함된 상기 적어도 하나의 상대 장치의 네트워크 주소를 상기 연락처 어플리케이션의 데이터베이스에 저장할 수 있다.
도 3은 본 발명의 다양한 실시예에 따른 전자 장치(예: 전자 장치(101))의 모듈 시스템을 도시한다.
도 3을 참조하면, 상기 모듈 시스템(300)은 어플리케이션 프로세서(AP: application processor) 및 커뮤니케이션 프로세서(CP: communication processor)에 의해 제어될 수 있으며, 상기 모듈 시스템(300)은 크게 AP 제어 영역(301) 및 CP 제어 영역(302)으로 구분될 수 있다. 상기 모듈 시스템(300)은 어플리케이션 프로세서 및/또는 커뮤니케이션 프로세서를 구비하는 프로세서에 의해 제어되거나 이에 통합될 수 있다.
상기 AP 제어 영역(301)은 웹 어플리케이션(304), IMS 어플리케이션(305), 브라우저 어플리케이션(320), 제1 IMS 모듈(360) 및 제어 모듈(310)을 포함할 수 있다. 상기 브라우저 어플리케이션(320)은 WebRTC 모듈(330)을 포함할 수 있으며, 상기 WebRTC 모듈(330)은 복수의 컴포넌트들/엔진들/레이어들/서브 모듈들을 포함할 수 있다. 상기 WebRTC 모듈(330)은 WebRTC API(331), 제1 세션 관리/앱스트랙트 시그널링 모듈(session management/abstract signaling module, 332), 제1 보이스 엔진(350), 제1 비디오 엔진(340) 및 제1 트랜스포트 모듈(350)을 포함할 수 있다. 상기 제1 IMS 모듈(360)은 복수의 컴포넌트들/엔진들/레이어들/서브 모듈들을 포함할 수 있다. 상기 제1 IMS 모듈(360)은 제2 세션 관리/앱스트랙트 시그널링 모듈(362), 제2 비디오 엔진(370)을 포함할 수 있다. 상기 제2 비디오 엔진(370)은 제2 이미지 인핸스먼트 모듈(image enhancement module, 371) 및 제2 비디오 캡쳐 모듈(372)을 포함할 수 있다. 상기 제어 모듈(310)은 복수의 컴포넌트들/엔진들/레이어들/서브 모듈들을 포함할 수 있다. 상기 제어 모듈(310)은 프레즌스 매니저(Presence Manager, 311), 콜/세션 제어 매니저(Call/Session Control Manager, 312), RTP 제어 매니저(313) 및 코덱 제어 매니저(314)를 포함할 수 있다.
상기 CP 제어 영역(302)은 제2 IMS 모듈(362)을 포함할 수 있다. 상기 제1 IMS 모듈(360) 및 상기 제2 IMS 모듈(362)은 IMS 모듈로 통칭할 수 있다. 상기 제2 IMS 모듈(362)은 복수의 컴포넌트들/엔진들/레이어들/서브 모듈들을 포함할 수 있다. 상기 제2 IMS 모듈(362)은 제2 보이스 엔진(380) 및 제2 트랜스포트 모듈(390)을 포함할 수 있다. 상기 제2 보이스 엔진(380)은 제2 EC/NR 모듈(error correction/noise reduction, 381), 제2 오디오 지터 버퍼(audio jitter buffer, 382) 및 제2 오디오 캡쳐/렌더러 모듈(383)을 포함할 수 있다. 상기 제2 트랜스포트 모듈(390)은 제2 SRTP(Secure Real-time Transport Protocol) 모듈(391), 제2 멀티플렉싱 모듈(392), 제2 P2P STUN/TURN/ICE 모듈(393) 및 제2 네트워크 I/O 모듈(394)을 포함할 수 있다. 엔진, 레이어, 매니저, API 또는 버퍼는 엔진 모듈, 레이어 모듈, 매니저 모듈, API 모듈 또는 버퍼 모듈이라고 칭할 수 있다.
상기 전자 장치는 통화 중 전류 감소를 목적으로 제2 보이스 엔진(380)이 CP에 의해 제어되도록 할 수 있으며, 상기 전자 장치는 통화 중에 AP를 슬립 모드(Sleep mode)에 들어가게 할 수 있다.
상기 웹 어플리케이션(304)은 WebRTC 서비스를 제공하는 웹(또는 월드 와이드 웹) 기반 어플리케이션일 수 있으며, 상기 브라우저 어플리케이션(320) 및/또는 상기 WebRTC 모듈(330)을 이용 또는 제어하여 음성 통화, 비디오 채팅, 파일 전송 등의 실시간 통신 서비스를 제공할 수 있다. 상기 웹 어플리케이션(304)은 브라우저 어플리케이션(320)에 통합될 수 있다.
상기 브라우저 어플리케이션(320)은 웹 상의 정보 리소스들을 재생, 표시, 검색하기 위한 어플리케이션일 수 있으며, 상기 WebRTC 모듈(330)을 포함할 수 있고, 상기 WebRTC 모듈(330)을 제어할 수 있다. 상기 브라우저 어플리케이션(320)은 웹 브라우저 어플리케이션이라고 칭할 수도 있다.
상기 WebRTC 모듈(330)은 WebRTC 서비스를 제공하기 위한 기능들을 제공하며, 상기 WebRTC API(331), 상기 제1 세션 관리/앱스트랙트 시그널링 모듈(332), 상기 제1 보이스 엔진(350), 상기 제1 비디오 엔진(340) 및 상기 제1 트랜스포트 모듈(350)를 포함 및/또는 제어할 수 있다.
상기 WebRTC API(331)는 상기 웹 어플리케이션(304)이 상기 WebRTC 모듈(330)에서 제공되는 기능을 제어하기 위한 인터페이스로서, 예를 들면, 파일 제어, 창 제어, 이미지 처리, 문자 제어 등의 적어도 하나를 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다.
상기 제1 세션 관리/앱스트랙트 시그널링 모듈(332)은 세션 생성, 세션 연결, 세션 관리 등의 세션 연관 기능을 수행할 수 있다. 세션은 상기 전자 장치와 외부 장치 간의 반영구적 인터랙티브 정보 교환(semi-permanent interactive information interchange)을 위해 제공될 수 있으며, 상기 전자 장치 및 외부 장치의 각각은 통신을 위해 상기 세션의 히스토리에 대한 정보(즉, 세션 정보)를 저장할 수 있다. 상기 세션 정보는 고유한 세션 ID, 사용자 선호 사항들 등의 적어도 하나를 포함할 수 있다. 앱스트랙트 시그널링은 세션 정보를 전송 또는 수신하는 것을 의미할 수 있으며, 앱스트랙트 시그널링에서의 세션 정보는 지원하는 포맷, 전송 대상, 연결/네트워크 정보를 포함할 수 있다.
상기 제1 보이스 엔진(350)은 상기 전자 장치 내 오디오 모듈(예: 사운드 카드)로부터 네트워크로의 오디오 미디어 전송을 위한 프레임워크로서의 기능을 수행할 수 있다. 상기 제1 보이스 엔진(350)은 iSAC/iLBC/Opus 코덱, 음성용 NetEQ 버퍼, 제1 EC/NR 모듈 및 제1 오디오 캡쳐/렌더러 모듈을 포함 및 제어할 수 있다.
상기 iSAC/iLBC/Opus 코덱은 iSAC 코덱(internet Speech Audio Codec), iLBC 코덱(internet Speech Audio Codec) 및 Opus 코덱을 포함할 수 있다. iSAC 코덱은 VoIP 및 스트리밍 오디오를 위한 광대역 및 초광대역 코덱일 수 있으며, 12~52kbps의 비트레이트를 제공하고, 16kHz 또는 32kHz의 샘플링 주파수를 이용할 수 있다. iLBC 코덱은 VoIP 및 스트리밍 오디오를 위한 협대역 코덱일 수 있으며, 15.2kbps 및 13.33kbps의 비트레이트를 제공하고, 8kHz의 샘플링 주파수를 이용할 수 있다. Opus 코덱은 6kbps~510kbps의 고정 및 가변 비트레이트 인코딩을 지원하고, 8kHz~48kHz의 샘플링 주파수를 이용할 수 있다.
상기 음성용 NetEQ 버퍼는 오디오 지터 버퍼(dynamic jitter buffer)일 수 있으며, 네트워크 지터 및 패킷 손실을 보정하기 위한 에러 은닉 알고리즘(error concealment algorithm)을 지원할 수 있다.
상기 제1 EC/NR 모듈은 소프트웨어 기반의 신호 처리 컴포넌트로서, 실시간으로 마이크에 입력되는 음성에 기인한 사운드 에코를 제거할 수 있다. 상기 EC/NR 모듈은 특정 타입들의 배경 잡음들을 제거할 수 있다.
상기 제1 오디오 캡쳐/렌더러 모듈은 상기 마이크를 이용하여 음성을 수신하거나, 스피커를 이용하여 음성을 출력하는 기능을 수행할 수 있다.
상기 제1 비디오 엔진(340)은 카메라로부터 네트워크, 또는 네트워크로부터 디스플레이로의 비디오 미디어 전송을 위한 프레임워크로서의 기능을 수행할 수 있다. 상기 제1 비디오 엔진(340)은 VP8 코덱, 제1 비디오 지터 버퍼, 제1 이미지 인핸스먼트 모듈 및 제1 비디오 캡쳐 모듈을 포함 및 제어할 수 있다.
상기 VP8 코덱은 입력 비디오의 인코딩 또는 디코딩을 수행하는 비디오 코덱일 수 있다.
상기 제1 비디오 지터 버퍼는 지터 효과 및/또는 전송/수신 중의 데이터 손실을 보정하는 기능을 수행할 수 있다.
상기 제1 이미지 인핸스먼트 모듈은 카메라에 의해 촬영된 비디오에 포함된 노이즈를 제거하는 기능을 수행할 수 있다.
상기 제1 비디오 캡쳐 모듈은 상기 카메라를 이용하여 비디오를 촬영하는 기능을 수행할 수 있다.
상기 제1 트랜스포트 모듈(350)은 네트워크와의 통신 기능을 수행할 수 있다. 상기 제1 트랜스포트 모듈(350)은 네트워크 컴포넌트들 및 프로토콜들의 계층 구조에서 어플리케이션들을 위한 점 대 점 또는 호스트 대 호스트 통신 서비스를 제공하는 하나의 레이어일 수 있다. 상기 제1 트랜스포트 모듈(350)은 제1 SRTP 모듈, 제1 멀티플렉싱 모듈, 제1 P2P STUN/TURN/ICE 모듈 및 제1 네트워크 I/O 모듈을 포함 및/또는 제어할 수 있다.
상기 제1 SRTP 모듈은, RTP(Real-time Transport Protocol)을 정의하고, 데이터 암호화, 메시지 인증 및 무결성을 제공하는 SRTP(Secure Real-time Transport Protocol)를 이용한 통신을 제공하는 기능을 수행할 수 있다.
상기 제1 멀티플렉싱 모듈은 메시지 구성을 위한 데이터를 수집하고, 수집된 데이터와 헤더를 조립하여 메시지를 생성하는 기능을 수행할 수 있다.
상기 제1 P2P STUN/TURN/ICE 모듈은 STUN(Simple Traversal of UDP through NAT(Network Address Translation)), TURN(Traversal Using Relay NAT) 또는 ICE(Interactive Connectivity Establishment)를 이용하여 상기 전자 장치와 외부 장치 간의 통신 연결을 수립하는 기능을 수행할 수 있다.
상기 제1 네트워크 I/O 모듈은 네트워크로의 데이터/메시지/패킷/프레임 출력 및 네트워크로부터의 데이터/메시지/패킷/프레임 입력을 처리하는 기능을 수행할 수 있다.
상기 IMS 어플리케이션(305)은 상기 IMS 모듈을 이용하여 음성 통화 또는 음성 통화, 비디오 통화, 비디오 채팅, IMS 기반 SMS, 전화 회의, IM, 그룹 채팅, 파일 전송, 이미지/비디오 공유, 프레즌스 등의 실시간 통신 서비스를 제공하는 어플리케이션일 수 있다. 상기 IMS 어플리케이션(305)은 음성 통화, 비디오 통화, 전화 회의, 비상 통화(mergency Call), IMS 기반 SMS 등의 서비스를 제공하는 VoLTE 어플리케이션이거나, IM, 그룹 채팅, 프레즌스, 파일 전송, 이미지/비디오 공유, 지오-로케이션(Geo-Location) 등의 서비스를 제공하는 RCS 어플리케이션일 수 있다. 상기 IMS 어플리케이션(305)은 상기 IMS 모듈을 제어할 수 있다.
상기 IMS 모듈은 IMS 서비스를 제공하기 위한 기능들을 제공하며, 상기 제1 IMS 모듈(360)은 제2 세션 관리/앱스트랙트 시그널링 모듈(362), 제2 비디오 엔진(370)을 포함 및 제어할 수 있고, 상기 제2 IMS 모듈(362)은 제2 보이스 엔진(380) 및 제2 트랜스포트 모듈(390)을 포함 및 제어할 수 있다.
상기 제2 세션 관리/앱스트랙트 시그널링 모듈(362)은 세션 생성, 세션 연결, 세션 관리 등의 세션 연관 기능을 수행할 수 있다.
상기 제2 비디오 엔진(370)은 카메라로부터 네트워크, 또는 네트워크로부터 디스플레이로의 비디오 미디어 전송을 위한 프레임워크로서의 기능을 수행할 수 있다. 상기 제2 비디오 엔진(370)은 상기 제2 이미지 인핸스먼트 모듈(371), 상기 제2 비디오 캡쳐 모듈(372) 및 H.263/H.264 코덱을 포함 및/또는 제어할 수 있다.
상기 제2 이미지 인핸스먼트 모듈(371)은 카메라에 의해 촬영된 비디오에 포함된 노이즈를 제거하는 기능을 수행할 수 있다.
상기 제2 비디오 캡쳐 모듈(372)은 상기 카메라를 이용하여 비디오를 촬영하는 기능을 수행할 수 있다.
상기 제2 보이스 엔진(380)은 상기 전자 장치 내 오디오 모듈(예: 사운드 카드)로부터 네트워크로의 오디오 미디어 전송을 위한 프레임워크로서의 기능을 수행할 수 있다. 상기 제2 보이스 엔진(380)은 상기 제2 EC/NR 모듈(381), 상기 제2 오디오 지터 버퍼(382), 상기 제2 오디오 캡쳐/렌더러 모듈(383) 및 G.7XX 코덱(예: PCM(Pulse Code Modulation)이라고도 알려진 G.7111 코덱, ADPCM(Adaptive Differential Pulse Code Modulation)을 이용하는 G.721 코덱, CS-ACELP(conjugate-structure algebraic-code-excited linear-prediction)를 이용하는 G.729 코덱 등)을 포함 및/또는 제어할 수 있다.
상기 제2 EC/NR 모듈(381)은 소프트웨어 기반의 신호 처리 컴포넌트로서, 실시간으로 마이크에 입력되는 음성에 기인한 에코를 제거할 수 있다. 상기 제2 EC/NR 모듈(381)은 특정 타입들의 배경 잡음들을 제거할 수 있다.
상기 제2 오디오 지터 버퍼(382)는 지터 효과 및/또는 전송/수신 중의 데이터 손실을 보정하는 기능을 수행할 수 있다.
상기 제2 오디오 캡쳐/렌더러 모듈(383)은 상기 마이크를 이용하여 사운드를 수신하거나, 스피커를 이용하여 사운드를 출력하는 기능을 수행할 수 있다.
상기 제2 트랜스포트 모듈(390)은 네트워크와의 통신 기능을 수행할 수 있다. 상기 제2 트랜스포트 모듈(390)은 네트워크 컴포넌트들 및 프로토콜들의 계층 구조에서 어플리케이션들을 위한 점 대 점 또는 호스트 대 호스트 통신 서비스를 제공하는 하나의 레이어일 수 있다. 상기 제2 트랜스포트 모듈(390)은 제2 SRTP(Secure Real-time Transport Protocol) 모듈(391), 제2 멀티플렉싱 모듈(392), 제2 P2P STUN/TURN/ICE 모듈(393) 및 제2 네트워크 I/O 모듈(394)을 포함 및/또는 제어할 수 있다.
상기 제2 SRTP 모듈(391)은, RTP(Real-time Transport Protocol)를 정의하고, 데이터 암호화, 메시지 인증 및 무결성을 제공하는 SRTP(Secure Real-time Transport Protocol)을 이용한 통신을 제공하는 기능을 수행할 수 있다.
상기 제2 멀티플렉싱 모듈(392)은 메시지 구성을 위한 데이터를 수집하고, 수집된 데이터와 헤더를 조립하여 메시지를 생성하는 기능을 수행할 수 있다.
상기 제2 P2P STUN/TURN/ICE 모듈(393)은 STUN(Simple Traversal of UDP through NAT(Network Address Translation)), TURN(Traversal Using Relay NAT) 또는 ICE(Interactive Connectivity Establishment)를 이용하여 상기 전자 장치와 외부 장치 간의 통신 연결을 수립하는 기능을 수행할 수 있다.
상기 제2 네트워크 I/O 모듈(394)은 네트워크로의 데이터/메시지/패킷/프레임 출력 및 네트워크로부터의 데이터/메시지/패킷/프레임 입력을 처리하는 기능을 수행할 수 있다.
도 3에 도시된 것처럼, 서수(예: 제1 및 제2)를 제외한 동일 명칭(예: 제1 세션 관리/앱스트랙트 시그널링 모듈(332) 및 제2 세션 관리/앱스트랙트 시그널링 모듈(362))을 갖는 상기 WebRTC 모듈(330)의 대부분의 구성 요소들과 상기 IMS 모듈의 대부분의 구성 요소들은 기능상 서로 중복되며, 상기 제어 모듈(310)은 동일 명칭/기능의 중복 구성 요소들을 통합하여 제어하고, 상기 WebRTC 모듈(330) 및 상기 IMS 모듈 간의 연동을 제공할 수 있다.
상기 프레즌스 매니저(311)는 사용자의 선택 또는 자동 설정에 따른 상기 웹 어플리케이션(304)의 상태(예: 실행, 종료, 온라인, 오프라인 등의 적어도 하나) 또는 WebRTC 서비스의 상태를 감지할 수 있고, 상기 웹 어플리케이션(304) 또는 WebRTC 서비스의 상태 정보를 프레즌스 서버에 전송할 수 있다.
상기 프레즌스 서버는 가입 또는 등록된 사용자의 프레즌스 정보를 다른 가입 또는 등록된 사용자와 공유하는 것을 지원한다. 프레즌스 정보는 사용자의 현재 위치, 사용자의 가용 연결 정보, 세션 정보(예: 사용자 선호 사항들, 지원하는 포맷 등의 적어도 하나), IMS 어플리케이션(305)(또는 IMS 서비스)의 상태 정보(예: 실행, 종료, 온라인, 오프라인 등), 웹 어플리케이션(304)(또는 WebRTC 서비스)의 상태 정보(예: 실행, 종료, 온라인, 오프라인 등) 등의 적어도 하나를 포함할 수 있다.
상기 프레즌스 매니저(311)는 사용자의 선택 또는 자동 설정에 따라 상기 사용자 또는 상기 사용자의 장치를 상기 프레즌스 서버에 가입 또는 등록할 수 있다. 상기 사용자의 프레즌스 정보가 변경되는 경우 또는 주기적이거나 이벤트 발생에 따라, 상기 프레즌스 매니저(311)는 상기 사용자의 변경된 프레즌스 정보를 포함하는 SIP(Session Initiation Protocol) PUBLISH 메시지를 상기 프레즌스 서버에 전송할 수 있다. 상기 PUBLISH 메시지는 연결 정보(예: IP 주소(IP Address), 포트(port) 번호 등), 어플리케이션 또는 서비스의 식별 정보, 상기 어플리케이션 또는 서비스의 상태 정보, 세션 정보(예: 사용자 선호 사항들, 지원하는 포맷 등의 적어도 하나) 등의 적어도 하나를 포함할 수 있다. SIP는 IP 네트워크를 통한 음성 통화, 비디오 통화 등의 멀티미디어 통신 세션을 제어하기 위해 사용되는 시그널링 통신 프로토콜일 수 있다.
상기 프레즌스 매니저(311)는 다른 사용자(예: 연락처 데이터베이스에 등록된 사용자)의 프레즌스 정보에 대한 구독 요청을 포함하는 SIP(Session Initiation Protocol) SUBSCRIBE 메시지를 상기 프레즌스 서버에 전송할 수 있다. 상기 SUBSCRIBE 메시지는 다른 사용자의 식별 정보, 전화번호 등의 적어도 하나를 포함할 수 있다.
상기 프레즌스 매니저(311)는 상기 프레즌스 서버로부터 다른 사용자의 프레즌스 정보를 포함하는 SIP NOTIFY 메시지를 수신할 수 있다. 상기 프레즌스 매니저(311)는 상기 프레즌스 정보를 해당 어플리케이션에 전달하거나, 해당 데이터베이스에 저장하거나, 상기 메모리(예: 메모리(130))에 저장할 수 있다. 상기 프레즌스 매니저(311)는 NOTIFY 메시지에 포함된 프레즌스 정보가 WebRTC 서비스 및 IMS 서비스 중 어느 것과 관련된 것인지를 결정할 수 있다. 상기 프레즌스 정보가 WebRTC 서비스와 관련된 경우에, 상기 프레즌스 매니저(311)는 상기 프레즌스 정보를 상기 웹 어플리케이션(304) 또는 연락처 어플리케이션에 전달할 수 있다. 상기 프레즌스 정보가 IMS 서비스와 관련된 경우에, 상기 프레즌스 매니저(311)는 상기 프레즌스 정보를 상기 IMS 어플리케이션(305) 또는 연락처 어플리케이션에 전달할 수 있다.
상기 PUBLISH 메시지 또는 NOTIFY 메시지는 SDP(Session Description Protocol) 데이터를 포함할 수 있고, 상기 프레즌스 정보는 상기 SDP 데이터에 포함될 수 있다. SDP는 스트리밍 미디어 초기화 파라미터들 또는 세션 공지, 세션 초대, 파라미터 협상 등의 목적을 위한 멀티미디어 통신 세션을 기술하기 위한 포맷일 수 있다. 상기 프레즌스 정보 중 연결 정보는 SDP의 c 옵션을 이용하여 기술될 수 있고, 상기 프레즌스 정보 중 어플리케이션 또는 서비스의 상태 정보는 SDP의 새로운 옵션 또는 미리 정의된 옵션들 중의 하나를 이용하여 기술될 수 있다. 상기 프레즌스 매니저(311)는 상기 NOTIFY 메시지에 포함된 SDP 데이터를 파싱(parsing)하여 상기 프레즌스 정보를 획득할 수 있다.
상기 콜/세션 제어 매니저(312)는 WebRTC 서비스에 대한 세션 정보 및/또는 IMS 서비스에 대한 세션 정보를 저장/관리/제어할 수 있다. 사용자의 선택 또는 자동 설정에 따라 WebRTC 서비스 및 IMS 서비스 간의 스위칭을 하는 경우에, 상기 콜/세션 제어 매니저(312)는 WebRTC 서비스 및 IMS 서비스 중 하나를 홀딩하고, 홀딩된 서비스의 세션 정보를 유지하고, 나머지 서비스를 제공할 수 있다. 상기 콜/세션 제어 매니저(312)는 WebRTC 모듈(330) 및 IMS 모듈의 중복되는 모듈들 중 어느 것을 서비스에 이용할 것인지를 결정할 수 있다. 한 실시예에서, 상기 콜/세션 제어 매니저(312)는 상기 WebRTC 모듈(330)의 제1 보이스 엔진(350)과 상기 IMS 모듈의 제2 보이스 엔진(380) 중 어느 것을 이용할 것인지를 결정할 수 있다. 상기 콜/세션 제어 매니저(312)는 메모리에 저장된 선호 설정 값을 기반으로 하여 서비스에 이용할 모듈을 선택할 수 있다. 상기 콜/세션 제어 매니저(312)는 서비스를 장시간 제공하여야 하는 경우에, 전류 소모가 적은 CP 제어 영역의 모듈을 사용할 수 있다. 한 실시예에서, WebRTC 서비스에 대한 동작 모드가 장시간 사용 모드로 설정되어 있는 경우에, 전류 소모를 줄이기 위해, 상기 콜/세션 제어 매니저(312)는 상기 IMS 모듈의 제2 보이스 엔진(380)이 사용 가능한지를 확인하고, 상기 IMS 모듈의 제2 보이스 엔진(380)이 사용 가능한 경우에, 상기 콜/세션 제어 매니저(312)는 상기 IMS 모듈의 제2 보이스 엔진(380)을 이용하여 WebRTC 서비스를 제공할 수 있다.
상기 RTP 제어 매니저(313)는 네트워크로부터 수신한 RTP 패킷을 처리할 어플리케이션 또는 모듈을 결정할 수 있다. WebRTC 서비스 및 IMS 서비스는 미디어 트랜스포트 프로토콜로서 RTP를 사용할 수 있다. 상기 RTP 제어 매니저(313)는 네트워크로부터 수신한 RTP 패킷이 WebRTC 서비스 및 IMS 서비스 중 어느 것과 연관되어 있는지를 결정하고, 상기 RTP 패킷을 결정된 서비스의 어플리케이션 또는 모듈로 전달할 수 있다.
상기 코덱 제어 매니저(314)는 사용자의 선택 또는 자동 설정에 따라 WebRTC 모듈(330)의 코덱 및 IMS 모듈의 코덱 중 어느 것을 서비스에 이용할 것인지를 결정할 수 있다. WebRTC 서비스는 비디오용 VP8 코덱, 오디오용 iLBC/Isac 코덱 등의 적어도 하나를 사용할 수 있고, IMS 서비스는 비디오용 H.263/H.264(Video), 오디오용 G.7XX 코덱 등의 적어도 하나를 사용할 수 있다. 한 실시예에서, 상기 코덱 제어 매니저(314)는 사용자의 선택 또는 자동 설정에 따라 WebRTC 서비스에서 VP8 코덱 대신에 H.264 코덱을 사용되도록 할 수 있다.
도 4는 본 발명의 다양한 실시예에 따른 전자 장치(예: 전자 장치(101))의 모듈 시스템을 도시한다. 도 4의 모듈 시스템(400)은 도 3의 모듈 시스템(300)에서 WebRTC 모듈의 일부 구성 요소들(예: 제1 보이스 엔진, 제1 비디오 엔진 및 트랜스포트 엔진)을 제거하고, IMS 모듈의 일부 구성 요소들(예: 세션 관리/앱스트랙트 시그널링 모듈)을 제거하고, 제어 모듈을 제1 IMS 모듈에 통합한 것에 차이가 있을 뿐이므로, 각 구성 요소의 기능에 대한 중복되는 설명은 생략하기로 한다.
도 4를 참조하면, 상기 모듈 시스템(400)은 어플리케이션 프로세서(AP: application processor) 및 커뮤니케이션 프로세서(CP: communication processor)에 의해 제어될 수 있으며, 상기 모듈 시스템(400)은 크게 AP 제어 영역(401) 및 CP 제어 영역(402)으로 구분될 수 있다. 상기 모듈 시스템(400)은 어플리케이션 프로세서 및/또는 커뮤니케이션 프로세서를 구비하는 프로세서에 의해 제어되거나 이에 통합될 수 있다.
상기 AP 제어 영역(401)은 웹 어플리케이션(404), IMS 어플리케이션(405), 브라우저 어플리케이션(420), 제1 IMS 모듈(460)을 포함할 수 있다. 상기 브라우저 어플리케이션(420)은 WebRTC 모듈(430)을 포함할 수 있으며, 상기 WebRTC 모듈(430)은 복수의 컴포넌트들/엔진들/레이어들/서브 모듈들을 포함할 수 있다. 상기 WebRTC 모듈(430)은 WebRTC API(431), 세션 관리/앱스트랙트 시그널링 모듈(432) 및 IMS 앱스트랙트 레이어(433)를 포함할 수 있다. 상기 제1 IMS 모듈(460)은 복수의 컴포넌트들/엔진들/레이어들/서브 모듈들을 포함할 수 있다. 상기 제1 IMS 모듈(460)은 제어 모듈(410) 및 비디오 엔진(470)을 포함할 수 있다. 상기 제어 모듈(410)은 복수의 컴포넌트들/엔진들/레이어들/서브 모듈들을 포함할 수 있다. 상기 제어 모듈(410)은 프레즌스 매니저(411), 콜/세션 제어 매니저(412), RTP 제어 매니저(413) 및 코덱 제어 매니저(414)를 포함할 수 있다.
상기 CP 제어 영역(402)은 제2 IMS 모듈(462)을 포함할 수 있다. 상기 제1 IMS 모듈(460) 및 상기 제2 IMS 모듈(462)은 IMS 모듈로 통칭할 수 있다. 상기 제2 IMS 모듈(462)은 복수의 컴포넌트들/엔진들/레이어들/서브 모듈들을 포함할 수 있다. 상기 제2 IMS 모듈(462)은 보이스 엔진(480) 및 트랜스포트 모듈(490)을 포함할 수 있다. 상기 보이스 엔진(480)은 EC/NR 모듈(481), 오디오 지터 버퍼(482) 및 오디오 캡쳐/렌더러 모듈(483)을 포함할 수 있다. 상기 트랜스포트 모듈(490)은 SRTP 모듈(491), 멀티플렉싱 모듈(492), P2P STUN/TURN/ICE 모듈(493) 및 네트워크 I/O 모듈(494)을 포함할 수 있다.
상기 웹 어플리케이션(404)은 상기 브라우저 어플리케이션(420) 및/또는 WebRTC 모듈(430)과, 상기 IMS 모듈을 이용 또는 제어하여 음성 통화, 비디오 채팅, 파일 전송 등의 실시간 통신 서비스를 제공할 수 있다.
상기 웹 어플리케이션(404)은 WebRTC 서비스를 제공하는 웹(또는 월드 와이드 웹) 기반 어플리케이션일 수 있으며, 상기 WebRTC 모듈(430)의 WebRTC API(431) 및 세션 관리/앱스트랙트 시그널링 모듈(432)과, 상기 IMS 모듈의 보이스 엔진(480), 비디오 엔진(470) 및 트랜스포트 모듈(490)을 이용 또는 제어하여 음성 통화, 비디오 채팅, 파일 전송 등의 실시간 통신 서비스를 제공할 수 있다. CP 제어 영역(402) 내 제2 IMS 모듈(462)의 보이스 엔진(480) 및 트랜스포트 모듈(490)을 이용 또는 제어하기 위하여, 상기 웹 어플리케이션(404), 상기 브라우저 어플리케이션(420) 또는 상기 WebRTC 모듈(430)은 IMS 앱스트랙트 레이어(433)를 통해 CP에 해당 명령을 전달할 수 있다.
상기 브라우저 어플리케이션(420)은 웹 상의 정보 리소스들을 재생, 표시, 검색하기 위한 어플리케이션일 수 있으며, 상기 WebRTC 모듈(430)을 포함할 수 있고, 상기 WebRTC 모듈(430)을 제어할 수 있다.
상기 WebRTC 모듈(430)은 WebRTC 서비스를 제공하기 위한 기능들을 제공하며, 상기 WebRTC API(431), 상기 세션 관리/앱스트랙트 시그널링 모듈(432) 및 상기 IMS 앱스트랙트 레이어(433)를 포함 및/또는 제어할 수 있다.
상기 WebRTC API(431)는 상기 웹 어플리케이션(404)이 상기 WebRTC 모듈(430)에서 제공되는 기능을 제어하기 위한 인터페이스로서 기능할 수 있다.
상기 세션 관리/앱스트랙트 시그널링 모듈(432)은 세션 생성, 세션 연결, 세션 관리 등의 세션 연관 기능을 수행할 수 있다.
상기 IMS 앱스트랙트 레이어(433)는 웹 어플리케이션(404) 또는 상기 WebRTC 모듈(430)의 명령을 CP에 전달할 수 있다.
상기 IMS 어플리케이션(405)은 상기 IMS 모듈 및 상기 WebRTC 모듈(430)을 이용하여 음성 통화 또는 음성 통화, 비디오 통화, 비디오 채팅, IMS 기반 SMS, 전화 회의, IM, 그룹 채팅, 파일 전송, 이미지/비디오 공유, 프레즌스 등의 실시간 통신 서비스를 제공하는 어플리케이션일 수 있다.
상기 IMS 어플리케이션(405)은 상기 WebRTC 모듈(430)의 세션 관리/앱스트랙트 시그널링 모듈(432)과, 상기 IMS 모듈의 보이스 엔진(480), 비디오 엔진(470) 및 트랜스포트 모듈(490)을 이용 또는 제어하여 실시간 통신 서비스를 제공할 수 있다.
상기 IMS 모듈은 IMS 서비스를 제공하기 위한 기능들을 제공하며, 상기 제1 IMS 모듈(460)은 상기 제어 모듈(410) 및 상기 비디오 엔진(470)을 포함 및/또는 제어할 수 있고, 상기 제2 IMS 모듈(462)은 보이스 엔진(480) 및 트랜스포트 모듈(490)을 포함 및/또는 제어할 수 있다.
상기 비디오 엔진(470)은 카메라로부터 네트워크, 또는 네트워크로부터 디스플레이로의 비디오 미디어 전송을 위한 프레임워크로서의 기능을 수행할 수 있다. 상기 비디오 엔진(470)은 이미지 인핸스먼트 모듈, 비디오 캡쳐 모듈 및 H.263/H.264 코덱을 포함 및 제어할 수 있다.
상기 제어 모듈(410)은 상기 WebRTC 모듈(430) 및 상기 IMS 모듈 간의 연동을 제공할 수 있다.
상기 프레즌스 매니저(411)는 사용자 또는 사용자의 장치를 프레즌스 서버에 가입 또는 등록할 수 있다. 상기 프레즌스 매니저(411)는 WebRTC 서비스와 연관된 프레즌스 정보를 상기 프레즌스 서버에 전송할 수 있다. 상기 프레즌스 매니저(411)는 다른 사용자(예: 연락처 데이터베이스에 등록된 사용자)의 프레즌스 정보에 대한 구독 요청을 상기 프레즌스 서버에 전송할 수 있다. 상기 프레즌스 매니저(411)는 상기 프레즌스 서버로부터 다른 사용자의 프레즌스 정보를 수신할 수 있다. 상기 프레즌스 매니저(411)는 상기 프레즌스 정보를 해당 어플리케이션에 전달하거나, 해당 데이터베이스에 저장하거나, 상기 메모리에 저장할 수 있다. 상기 프레즌스 정보가 WebRTC 서비스와 관련된 경우에, 상기 프레즌스 매니저(411)는 상기 프레즌스 정보를 상기 웹 어플리케이션 또는 연락처 어플리케이션에 전달할 수 있다. 상기 프레즌스 정보가 IMS 서비스와 관련된 경우에, 상기 프레즌스 매니저(411)는 상기 프레즌스 정보를 상기 IMS 어플리케이션 또는 연락처 어플리케이션에 전달할 수 있다.
상기 콜/세션 제어 매니저(412)는 WebRTC 서비스에 대한 세션 정보 및/또는 IMS 서비스에 대한 세션 정보를 저장/관리/제어할 수 있다.
상기 RTP 제어 매니저(413)는 네트워크로부터 수신한 RTP 패킷을 처리할 어플리케이션 또는 모듈을 결정하고, 결정된 어플리케이션 또는 모듈로 상기 RTP 패킷을 전달할 수 있다.
상기 코덱 제어 매니저(414)는 사용자의 선택 또는 자동 설정에 따라 복수의 코덱들 중 어느 것을 서비스에 이용할 것인지를 결정하고, 결정된 코덱을 상기 서비스에 사용할 수 있다.
도 5는 본 발명의 다양한 실시예에 따른 전자 장치의 서비스 제공 방법을 나타내는 흐름도를 도시한다. 도 6 내지 도 8은 본 발명의 다양한 실시예에 따른 전자 장치의 어플리케이션 동작 방법을 설명하기 위한 도면들이다. 서비스 제공 방법은 동작 510 내지 동작 540을 포함할 수 있다.
동작 510에서, 상기 전자 장치(예: 전자 장치(101))의 디스플레이(예: 디스플레이(150))에 브라우저 어플리케이션의 제1 화면이 표시될 수 있다.
상기 브라우저 어플리케이션은, 사용자 입력 또는 자동 설정에 의해 실행될 수 있다. 상기 사용자 입력은 사용자의 호버링 제스처, 터치 제스처 또는 사용자의 시선, 상기 사용자의 모션 제스처 또는 음성 명령 등일 수 있다.
한 실시예에서, 사용자의 선택 또는 자동 설정에 따라서 상기 브라우저 어플리케이션이 실행되고, 상기 브라우저 어플리케이션의 제1 화면이 상기 전자 장치와 기능적으로 연결된 디스플레이에 표시될 수 있다. 어플리케이션의 화면은 그래픽 사용자 인터페이스(graphical user interface: GUI), 어플리케이션 화면, 어플리케이션 윈도우 등으로 칭할 수도 있다. 상기 브라우저 어플리케이션은 상기 전자 장치의 제조자에 의한 기본 제공 어플리케이션 또는 사용자 설치 어플리케이션일 수 있다.
한 실시예에서, 사용자의 선택 또는 자동 설정에 따라서 상기 브라우저 어플리케이션이 실행되고, 상기 브라우저 어플리케이션의 화면이 상기 전자 장치와 기능적으로 연결된 디스플레이에 표시되고, 사용자에 의해 상기 브라우저 어플리케이션의 메뉴 또는 아이템이 선택되고, 상기 메뉴 또는 아이템의 선택에 응답하여 상기 브라우저 어플리케이션의 제1 화면이 상기 전자 장치와 기능적으로 연결된 디스플레이에 표시될 수 있다.
한 실시예에서, 사용자의 선택 또는 자동 설정에 따라서 웹 어플리케이션이 실행되고, 상기 웹 어플리케이션의 제어에 의해 상기 브라우저 어플리케이션이 자동으로 실행되고, 상기 브라우저 어플리케이션의 제1 화면이 상기 전자 장치와 기능적으로 연결된 디스플레이에 표시될 수 있다.
한 실시예에서, 사용자의 선택 또는 자동 설정에 따라서 웹 어플리케이션이 실행되고, 사용자에 의해 상기 웹 어플리케이션의 메뉴 또는 아이템이 선택되고, 상기 메뉴 또는 아이템의 선택에 응답하여 상기 브라우저 어플리케이션이 실행되고, 상기 브라우저 어플리케이션의 제1 화면이 상기 전자 장치와 기능적으로 연결된 디스플레이에 표시될 수 있다.
상기 브라우저 어플리케이션이 사용자 입력에 의해 실행되는 경우에, 입출력 인터페이스(예: 입출력 인터페이스(140)), 센서 모듈, 통신 인터페이스(예: 통신 인터페이스(160)) 또는 디스플레이(예: 디스플레이(150))를 통해 사용자 입력이 수신될 수 있다. 사용자는 입출력 인터페이스 또는 디스플레이를 통해 버튼, 아이콘 또는 메뉴(또는 메뉴 항목)을 선택하거나, 입출력 인터페이스의 마이크를 통해 음성 명령을 입력하거나, 센서 모듈의 카메라를 통해 제스처 또는 모션 입력을 수행하거나, 통신 인터페이스를 통해 무선으로 특정 어플리케이션의 실행 명령을 입력할 수 있다.
화면은 어플리케이션을 실행한 경우 디스플레이를 통해 보이는 이미지에 해당할 수 있다.
제스처 또는 모션 입력은, 예를 들어, 사용자가 손 또는 손가락으로 카메라 모듈의 화각 내 또는 센서 모듈의 센싱 범위 내에서 허공에 선형, 원형, 다각형(삼각형, 사각형), 지그재그 등의 설정된 패턴의 궤적을 그리는 경우를 말할 수 있다. 이때, 제스처는 터치 제스처와 구분하기 위하여 공간 제스처라고 칭할 수도 있다. 이때, 터치 제스처는 디스플레이를 직접 터치하는 경우, 또는 디스플레이 위에서 호버링하는 경우를 포함할 수 있다.
사용자 입력 유닛(예: 사용자의 손가락 또는 펜)을 이용한 터치/호버링 제스처는 입력 방법에 따라서 터치(touch), 롱 터치(long touch), 탭(tap), 더블 탭(double tap), 플릭(flick), 드래그(drag)(또는, 터치 앤 무브(touch & move)), 드래그 앤 드랍(drag & drop), 스와입(swipe), 멀티 스와입(multi swipes), 핀치(pinches), 쉐이크(shake) 및 로테이트(rotate) 중 적어도 하나를 포함할 수 있다. 상기 터치는 디스플레이 위에 사용자 입력 유닛을 올려 놓는 제스처이고, 롱 터치(또는, 터치 앤 홀드(touch & hold))는 디스플레이를 길게 터치하는 제스처이고, 탭은 디스플레이를 짧고 가볍게 두드리는 제스처이고, 더블 탭(double tap)은 디스플레이를 재빠르게 두번 두드리는 제스처이고, 플릭(flick)은 사용자 입력 유닛을 디스플레이 위에 올려 빠르게 움직인 후 떼는 제스처(예: 스크롤)이고, 드래그(drag)는 디스플레이에 디스플레이된 아이템을 이동시키거나 스크롤하는 제스처이고, 드래그 앤 드랍은 디스플레이를 터치한 상태에서 아이템을 움직인 다음 정지한 상태에서 디스플레이를 떼는 제스처이고, 스와입(swipe)은 사용자 입력 유닛을 디스플레이 위에 터치한 상태에서 일정 거리를 움직이는 제스처이고, 멀티 스와입은 적어도 두 개의 사용자 입력 유닛을 디스플레이 위에 터치한 상태에서 일정 거리를 움직이는 제스처이고, 핀치(pinch)는 적어도 두 개의 사용자 입력 유닛을 디스플레이 위에 터치한 상태에서 서로 다른 방향으로 각자 움직이는 제스처이다.
도 6의 (a)를 참고하면, 전자 장치(600)의 디스플레이(605)에 홈 화면(607)이 표시되고, 상기 홈 화면(607) 상에 WebRTC 서비스의 실행(또는 로그인)을 위한 웹 어플리케이션의 아이템(610) 및 브라우저 어플리케이션의 아이템(620)이 표시될 수 있다.
도 6의 (b)를 참고하면, 상기 웹 어플리케이션의 아이템(610)을 선택하기 위한 사용자 입력(630)이 수신(또는 감지 내지 검출)될 수 있다. 상기 사용자 입력(630)에 응답하여, 상기 웹 어플리케이션이 실행될 수 있다. 상기 웹 어플리케이션의 실행에 따라, 상기 웹 어플리케이션의 화면이 표시되거나, 상기 웹 어플리케이션과 연관된 상기 브라우저 어플리케이션의 화면이 표시될 수 있다. 상기 웹 어플리케이션은 백그라운드로 실행될 수 있다.
도 7의 (a)를 참고하면, 전자 장치(700)의 디스플레이(705)에 상기 웹 어플리케이션의 화면(710)이 표시되고, 상기 디스플레이(705)의 적어도 일부 영역에 WebRTC 서비스의 다양한 기능들에 대응되는 복수의 아이템들이 표시될 수 있다. 상기 복수의 아이템들은 음성 통화를 위한 제1 아이템(721), 비디오 채팅/비디오 통화/비디오 컨퍼런스를 위한 제2 아이템(722), 파일 전송(File Transfer)을 위한 제3 아이템(723) 등의 적어도 하나를 포함할 수 있다. 상기 아이템들 중의 하나를 선택하기 위한 사용자 입력이 수신(또는 감지 내지 검출)될 수 있다. 상기 사용자 입력에 응답하여, 상기 선택된 아이템에 대응하는 WebRTC 서비스의 기능(또는 서브 서비스들)이 실행될 수 있다.
도 7의 (b)를 참고하면, 전자 장치(700)의 디스플레이(705)에 상기 브라우저 어플리케이션의 화면(730)이 표시되고, 상기 디스플레이(705)의 적어도 일부 영역에 WebRTC 서비스의 다양한 기능들에 대응되는 복수의 아이템들이 표시될 수 있다. 상기 복수의 아이템들은 음성 통화를 위한 제1 아이템(741), 비디오 채팅/비디오 통화/비디오 컨퍼런스를 위한 제2 아이템(742), 파일 전송(File Transfer)을 위한 제3 아이템(743) 등의 적어도 하나를 포함할 수 있다. 상기 아이템들 중의 하나를 선택하기 위한 사용자 입력이 수신(또는 감지 내지 검출)될 수 있다. 상기 사용자 입력에 응답하여, 상기 선택된 아이템에 대응하는 WebRTC 서비스의 기능이 실행될 수 있다.
동작 520에서, 상기 전자 장치의 디스플레이 상에 상기 브라우저 어플리케이션을 통해 제공되는 통신 서비스와 연관된 적어도 하나의 상대 장치의 프레즌스 정보가 표시될 수 있다. 상기 프레즌스 정보는 상기 브라우저 어플리케이션의 제1 화면에 표시될 수 있다
동작 530에서, 상기 적어도 하나의 상대 장치와의 통신을 위한 제2 사용자 입력이 수신될 수 있다.
동작 540에서, 상기 제2 사용자 입력에 응답하여, 상기 통신 서비스를 제공하는 상기 브라우저 어플리케이션의 제2 화면이 표시될 수 있다.
도 8의 (a)를 참고하면, 전자 장치(800)의 디스플레이(805)에 상기 브라우저 어플리케이션의 제1 화면(810)이 표시될 수 있다. 상기 디스플레이(805)의 일부 영역에 WebRTC 서비스와 연관된 적어도 하나의 상대 장치의 프레즌스 정보가 표시될 수 있다. 상기 브라우저 어플리케이션의 제1 화면(810)은 IP 어드레스(및 포트)를 입력하기 위한 주소 입력창(820), 텍스트 입력을 위한 텍스트 입력창(840), 전송 및 수신 메시지들을 표시하기 위한 메시지 창(844), 상기 전자 장치(800)의 카메라에 의해 촬영된 제1 비디오 화면(850), 음성 통화를 위한 제1 아이템(831), 파일 전송을 위한 제3 아이템(833) 등의 적어도 하나를 포함할 수 있다.
상기 브라우저 어플리케이션의 제1 화면(810)은 상기 전자 장치(800)에 등록된 연락처들을 포함하는 연락처 리스트(860)를 포함할 수 있다. 상기 연락처 리스트(860)는 복수의 사용자들에 대한 연락처들(861, 864)을 포함할 수 있다. 각 연락처는 사용자 이름, WebRTC 서비스와 연관된 프레즌스 정보, 사용자 이미지 등의 다양한 정보를 포함할 수 있다. 사용자 B의 연락처(861)는 사용자 B의 전자 장치가 WebRTC 서비스를 실행(또는 로그인) 중인 것을 나타내는 지시자(862)를 포함할 수 있다. 상기 지시자(862)는 텍스트, 심볼, 이미지, 또는 아이콘 중 하나 또는 그 이상일 수 있다. 사용자 F의 전자 장치가 WebRTC 서비스를 실행 중인 상태가 아닌 경우에, 사용자 F의 연락처(864)는 상기 지시자를 포함하지 않을 수 있다. 한 실시예에서, 사용자 F의 전자 장치가 WebRTC 서비스를 실행 중인 상태가 아닌 경우에, 사용자 F의 연락처(864)는 사용자 F의 전자 장치가 WebRTC 서비스를 실행 중인 상태가 아닌 것을 나타내는 지시자(예: "WebRTC 서비스 OFF" 등)를 포함할 수 있다.
도 8의 (b)를 참고하면, 전자 장치(800)는 상기 사용자 B의 연락처(861)에 대한 사용자 입력(또는 선택)을 감지하고, 상기 사용자 B의 전자 장치와의 연결을 수립하고, 상기 사용자 B의 전자 장치와의 비디오 회의를 수행할 수 있다. 상기 브라우저 어플리케이션의 제2 화면(812)은 상기 전자 장치의 카메라에 의해 촬영된 제1 비디오 화면(850)과, 상기 사용자 B의 전자 장치로부터 수신한 제2 비디오를 나타내는 제2 비디오 화면(852)을 포함할 수 있다. 상기 제1 및 제2 비디오는 각각 해당 전자 장치의 카메라를 이용하여 사용자를 촬영한 실시간 비디오일 수 있다. 상기 전자 장치(800)는 사용자의 실시간 비디오를 상기 사용자 B의 전자 장치로 전송할 수 있다. 상기 전자 장치(800)는 상기 사용자 B의 전자 장치로부터 수신한 제2 비디오를 상기 디스플레이(805)에 표시할 수 있다. 상기 전자 장치(800)는 마이크를 이용하여 녹음한 사용자의 음성을 실시간으로 상기 사용자 B의 전자 장치로 전송할 수 있다. 상기 전자 장치(800)는 상기 사용자 B의 전자 장치로부터 수신한 음성을 스피커를 통해 출력할 수 있다. 상기 전자 장치(800)는 메시지 전송 버튼(842)의 선택에 응답하여 사용자에 의해 상기 텍스트 입력창(840)에 입력된 텍스트를 상기 사용자 B의 전자 장치로 전송할 수 있다. 상기 전자 장치(800)는 전송한 메시지와 상기 사용자 B의 전자 장치로부터 수신한 메시지를 상기 메시지 창(844)에 표시할 수 있다. 상기 전자 장치(800)는 음성 통화를 위한 제1 아이템(831)에 대한 사용자 입력(또는 선택)과 상기 연락처 리스트(860) 중 어느 한 연락처에 대한 사용자 입력(또는 선택)을 감지하고, 선택된 연락처(또는 선택된 연락처의 사용자)의 전자 장치와의 연결을 수립하고, 상기 선택된 연락처의 전자 장치와의 음성 통화를 수행할 수 있다. 음성 통화 중에, 상기 전자 장치(800)는 마이크를 이용하여 녹음한 사용자의 음성을 실시간으로 상기 선택된 연락처의 전자 장치로 전송하고, 상기 선택된 연락처의 전자 장치로부터 수신한 음성을 스피커를 통해 출력할 수 있다. 상기 전자 장치(800)는 파일 전송을 위한 제3 아이템(833)에 사용자 입력(또는 선택)을 감지하고, 파일 검색창을 표시하고, 사용자에 의해 선택된 파일을 상기 사용자 B의 전자 장치로 전송할 수 있다.
도 9는 본 발명의 다양한 실시예에 따른 전자 장치의 서비스 제공 방법을 나타내는 흐름도를 도시한다. 서비스 제공 방법은 동작 910 내지 동작 940을 포함할 수 있다.
동작 910에서, 상기 전자 장치(예: 전자 장치(101))의 디스플레이(예: 디스플레이(150))에 연락처 어플리케이션의 화면이 표시될 수 있다.
상기 연락처 어플리케이션은, 사용자 입력 또는 자동 설정에 의해 실행될 수 있다. 상기 사용자 입력은 사용자의 호버링 제스처, 터치 제스처 또는 사용자의 시선, 상기 사용자의 모션 제스처 또는 음성 명령 등일 수 있다. 상기 연락처 어플리케이션은 전화 어플리케이션의 실행에 따라 자동으로 실행될 수 있다.
동작 920에서, 상기 전자 장치의 디스플레이 상에 상기 브라우저 어플리케이션을 통해 제공되는 통신 서비스와 연관된 적어도 하나의 상대 장치의 프레즌스 정보가 표시될 수 있다. 상기 프레즌스 정보는 상기 연락처 어플리케이션의 화면에 표시될 수 있다.
동작 930에서, 상기 적어도 하나의 상대 장치와의 통신을 위한 사용자 입력이 수신될 수 있다.
동작 940에서, 상기 사용자 입력에 응답하여, 상기 통신 서비스를 제공하는 상기 브라우저 어플리케이션의 화면이 표시될 수 있다.
도 10의 (a)를 참조하면, 전자 장치(1000)의 디스플레이(1005)에 연락처 어플리케이션의 화면(1010)이 표시되고, 상기 연락처 어플리케이션의 화면(1010)은 복수의 연락처들(1020, 1021)을 포함할 수 있다. 각 연락처는 사용자 이름, WebRTC 서비스와 연관된 프레즌스 정보, 사용자 이미지 등의 다양한 정보를 포함할 수 있다. 상기 프레즌스 정보는 지시자(1030) 이외에 다양한 방식으로 표시될 수 있다. WebRTC 서비스를 실행 중인 연락처와 WebRTC 서비스를 실행 중이 아닌 연락처를 구분하기 위하여, WebRTC 서비스를 실행 중인 연락처(1020)는 강조될 수 있다. 이러한 강조는 시각적 강조, 청각적 강조, 촉각적 강조 등의 적어도 하나를 포함할 수 있다. 예를 들어, 시각적 강조는 아이콘, 이미지, 텍스트 등의 적어도 하나를 표시하거나, WebRTC 서비스를 실행 중인 연락처(1020)의 색상, 형태, 투명도, 위치 등의 적어도 하나를 WebRTC 서비스를 실행 중이 아닌 연락처(1021)의 것과는 다르게 함으로써 구현될 수 있다. 예를 들어, 청각적 강조는 사용자가 연락처를 선택한 경우에 음성(예: 안내 음성) 또는 사운드(예: 알림음 등)를 출력함으로써 구현될 수 있다. 예를 들어, 촉각적 강조는 사용자가 WebRTC 서비스를 실행 중인 연락처(1020)를 선택한 경우에 진동을 줌으로써 구현될 수 있다. 본 예에서, WebRTC 서비스를 실행 중인 연락처(1020)는 W라는 지시자(1030)에 의해 강조 표시될 수 있다.
통신을 위한 입력을 수신하기 위한 화면 부분(1022)은 상기 연락처 화면(1010)의 전체 또는 일부일 수 있다. 예를 들어, 상기 화면 부분(1022)은 통화 아이콘일 수 있다.
도 10의 (a)에 도시된 연락처 화면(1010)에서 사용자가 WebRTC 서비스를 실행 중인 연락처(1020)의 화면 부분(1022)을 선택(1040)한 경우, 도 10의 (b)에 도시된 바와 같이, WebRTC 서비스의 다양한 기능들(또는 서브 서비스들) 중 최소 하나를 지정하기 위한 화면 부분(1050)이 표시될 수 있다. 상기 화면 부분(1050)은 음성 통화를 위한 제1 아이템(1051), 비디오 채팅/비디오 통화/비디오 컨퍼런스를 위한 제2 아이템(1052)을 포함할 수 있다. 사용자는 제1 및 제2 아이템들(1051, 1052) 중 하나를 선택함으로써 원하는 서비스 또는 기능을 지정할 수 있다. 예를 들어, 사용자에 의한 아이템의 선택을 감지하고, 상기 사용자 선택에 응답하여, 상기 선택된 아이템에 대응하는 WebRTC 서비스의 기능(또는 서브 서비스들)이 실행될 수 있다. 본 예에서, 사용자에 의한 제2 아이템(1052)의 선택(1042)을 감지하고, 상기 사용자 선택(1042)에 응답하여, 전자 장치(1000)는 상기 선택된 연락처의 전자 장치와의 연결을 수립하고, 도 8의 (b)에 예시된 바와 같이, 상기 선택된 연락처의 전자 장치와 비디오 통화를 수행할 수 있다.
도 11은 본 발명의 다양한 실시예에 따른 전자 장치의 서비스 제공 방법을 나타내는 흐름도를 도시한다. 서비스 제공 방법은 동작 1110 내지 동작 1155을 포함할 수 있다. 제1 전자 장치(1001), 프레즌스 서버(1102) 및 제2 전자 장치(1103)의 각각은 도 1에 도시된 전자 장치의 구성과 동일 또는 유사한 구성을 가질 수 있다.
동작 1110에서, 상기 제1 전자 장치(1101)는 상기 제2 전자 장치(1103)(또는 상기 제2 전자 장치의 사용자)의 WebRTC 연관 프레즌스 정보에 대한 구독 요청을 포함하는 제1 메시지를 프레즌스 서버(1102)에 전송할 수 있다. 상기 제1 메시지는 상기 제1 전자 장치(1101) 또는 상기 제1 전자 장치(1101)의 사용자(또는 가입자)의 식별 정보(예: 전화번호, 계정, 주소 등의 적어도 하나), 상기 제2 전자 장치(1103) 또는 상기 제2 전자 장치(1103)의 사용자(또는 가입자)의 식별 정보(예: 전화번호, 계정, 주소 등의 적어도 하나), 상기 제1 전자 장치(1101)의 연결 정보 또는 네트워크 정보(예: IP 주소(IP Address), 포트(port) 번호 등), 상기 제1 전자 장치(1101)의 세션 정보(예: 세션 ID, 사용자 선호 사항들, 지원하는 포맷 등의 적어도 하나) 등의 적어도 하나를 포함할 수 있다. 상기 제1 메시지는 SIP SUBSCRIBE 메시지일 수 있다. 상기 제1 메시지는 SDP 데이터를 포함할 수 있다.
동작 1115에서, 상기 프레즌스 서버(1102)는 상기 제1 메시지의 내용에 근거하여 상기 프레즌스 서버(1102)의 메모리 또는 메모리 내 데이터베이스에 저장된 해당 가입자의 프레즌스 정보를 업데이트할 수 있다. 예를 들어, 상기 데이터베이스는 아래와 같은 데이터 구조를 가질 수 있다.
가입자 식별 정보 연결
정보
세션
정보
IMS
상태
WebRTC
상태
구독
대상
...
A1 B1 C1 D1 E1 F1 ...
A2 B2 C2 D2 E2 F2 ...
... ... ... ... ... ... ...
상기 데이터베이스는 복수의 가입자들에 대한 프레즌스 정보를 포함하며, 각 프레즌스 정보는 가입자 식별 정보, 연결 정보, 세션 정보, IMS 상태 정보, WebRTC 상태 정보, 구독 대상 정보(즉, IMS 프레즌스 정보 및 WebRTC 상태 정보 중의 적어도 하나를 구독할 것을 요청한 가입자에 대한 정보) 등의 적어도 하나를 포함할 수 있다.
동작 1120에서, 상기 제2 전자 장치(1103)는 WebRTC 서비스를 실행하거나 로그인할 수 있다. 상기 제2 전자 장치(1103)는 WebRTC 서비스를 제공하는 브라우저 어플리케이션 및/또는 웹 어플리케이션을 실행함으로써, WebRTC 서비스를 실행할 수 있다. WebRTC 서비스를 제공하는 브라우저 어플리케이션 및/또는 웹 어플리케이션은 WebRTC 어플리케이션이라고 칭할 수도 있다.
동작 1125에서, 상기 제2 전자 장치(1103)는 WebRTC 서비스의 실행에 따라 현재의 프레즌스 정보를 포함하는 제2 메시지를 상기 프레즌스 서버(1102)에 전송할 수 있다. 상기 제2 메시지는 상기 제2 전자 장치(1103) 또는 사용자의 식별 정보, 연결 정보(예: IP 주소(IP Address), 포트(port) 번호 등), 어플리케이션 또는 서비스의 식별 정보, 세션 정보, WebRTC 상태 정보 등의 적어도 하나를 포함할 수 있다. 상기 WebRTC 상태 정보는 WebRTC 서비스 또는 WebRTC 어플리케이션의 상태 정보(예: 실행, 종료, 온라인, 오프라인 등의 적어도 하나)를 포함할 수 있다. 상기 제2 메시지는 PUBLISH 메시지일 수 있다.
동작 1130에서, 상기 프레즌스 서버(1102)는 상기 제2 메시지의 내용에 근거하여 상기 제2 전자 장치(1103)의 프레즌스 정보를 구독할 가입자를 확인할 수 있다.
동작 1135에서, 상기 프레즌스 서버(1102)는 상기 제2 전자 장치(1103)의 WebRTC 연관 프레즌스 정보를 포함하는 제3 메시지를 구독 요청한 상기 제1 전자 장치(1101)로 전송할 수 있다.
상기 제3 메시지는 상기 제1 전자 장치(1101) 또는 상기 제1 전자 장치(1101)의 사용자의 식별 정보, 상기 제2 전자 장치(1103) 또는 상기 제2 전자 장치(1103)의 사용자의 식별 정보, 상기 제2 전자 장치(1103)의 연결 정보 또는 네트워크 정보, 상기 제2 전자 장치(1103)의 세션 정보(예: 사용자 선호 사항들, 지원하는 포맷 등의 적어도 하나), WebRTC 서비스 또는 WebRTC 어플리케이션의 상태 정보 등의 적어도 하나를 포함할 수 있다. 상기 제3 메시지는 SIP NOTIFY 메시지일 수 있다.
동작 1140에서, 상기 제1 전자 장치(1101)는 상기 제3 메시지의 내용에 근거하여 상기 제1 전자 장치(1101)의 메모리 또는 메모리 내 데이터베이스에 저장된 상기 제2 전자 장치(1103)(또는 상기 제2 전자 장치(1103)의 사용자)의 프레즌스 정보를 업데이트할 수 있다. 한 실시예에서, 상기 데이터베이스는 연락처 어플리케이션의 연락처 데이터베이스일 수 있다. 예를 들어, 상기 데이터베이스는 아래와 같은 데이터 구조를 가질 수 있다.
연락처 식별 정보 이름 전화번호 이메일 WebRTC
상태
WebRTC
연결정보
...
G1 H1 I1 J1 K1 L1 ...
G2 H2 I2 J2 K2 L2 ...
... ... ... ... ... ... ...
상기 데이터베이스는 복수의 연락처들에 대한 정보를 포함하며, 각 연락처 정보는 연락처 식별 정보, 이름, 전화번호, 이메일, 프레즌스 정보(예: WebRTC 상태 정보, WebRTC 연결 정보) 등의 적어도 하나를 포함할 수 있다.
예를 들어, 도 10의 (a)에 도시된 WebRTC 서비스를 실행 중이 아닌 연락처의 상태는 상기 데이터베이스의 업데이트에 따라 WebRTC 서비스를 실행 중인 상태로 변경될 수 있다.
동작 1145에서, 상기 제1 전자 장치(1101)의 디스플레이 상에 상기 제2 전자 장치(1103)의 프레즌스 정보가 표시되고, 상기 제2 전자 장치(1103)와의 WebRTC 통신을 위한 사용자 입력(즉, 상기 제2 전자 장치의 선택 정보)이 수신될 수 있다.
동작 1150에서, 상기 제1 전자 장치(1101)는 상기 제2 전자 장치(1103)의 프레즌스 정보에 근거하여 상기 제2 전자 장치(1103)와 WebRTC 통신을 위한 세션을 연결할 수 있다. 예를 들어, 상기 제1 전자 장치(1101)는 상기 제2 전자 장치(1103)의 연결 정보 또는 네트워크 정보(예: IP 주소(IP Address), 포트(port) 번호 등)를 이용하여 세션 연결을 위한 오퍼(offer) 메시지를 상기 제2 전자 장치(1103)로 전송할 수 있다. 상기 오퍼 메시지는 상기 제1 전자 장치(1101) 또는 상기 제1 전자 장치(1101)의 사용자의 식별 정보(예: 전화번호, 계정, 주소 등의 적어도 하나), 상기 제1 전자 장치(1101)의 연결 정보 또는 네트워크 정보(예: IP 주소(IP Address), 포트(port) 번호 등), 상기 제1 전자 장치(1101)의 세션 정보(예: 세션 ID, 사용자 선호 사항들, 지원하는 포맷 등의 적어도 하나), 상기 제2 전자 장치(1103)의 네트워크 주소(예: IP 주소(IP Address), 포트(port) 번호 등) 등의 적어도 하나를 포함할 수 있다.
상기 제2 전자 장치(1103)는 상기 제1 전자 장치(1101)의 연결 요청에 대한 응답 내용(예: 수락 또는 거절)을 포함하는 응답 메시지를 상기 제1 전자 장치(1101)로 전송할 수 있다. 상기 응답 메시지는 상기 제2 전자 장치(1103) 또는 상기 제2 전자 장치(1103)의 사용자의 식별 정보, 상기 제2 전자 장치(1103)의 세션 정보(예: 상기 제1 전자 장치(1101)로부터 수신한 세션 ID, 사용자 선호 사항들, 지원하는 포맷 등의 적어도 하나), 상기 제1 전자 장치(1101)의 네트워크 주소(예: IP 주소(IP Address), 포트(port) 번호 등) 등의 적어도 하나를 포함할 수 있다. 상기 오퍼 메시지 및 응답 메시지의 교환에 의해 상기 제1 전자 장치(1101) 및 상기 제2 전자 장치(1103) 간에 WebRTC 통신을 위한 세션이 수립될 수 있다.
동작 1155에서, 상기 제1 전자 장치(1101) 및 상기 제2 전자 장치(1103) 간에 WebRTC 통신이 수행될 수 있다. 상기 WebRTC 통신에는 SRTP가 이용될 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는, 화면들을 표시하기 위한 디스플레이; 상기 전자 장치의 디스플레이 상에 브라우저 어플리케이션을 통해 제공되는 제1 통신 서비스와 연관된 적어도 하나의 상대 장치의 프레즌스 정보를 표시하고, 상기 적어도 하나의 상대 장치와의 통신을 위한 사용자 입력을 수신하고, 상기 사용자 입력에 응답하여, 상기 제1 통신 서비스를 제공하는 상기 브라우저 어플리케이션의 제2 화면을 상기 디스플레이 상에 표시하도록 구성된 프로세서; 상기 제1 통신 서비스를 제공하기 위한 복수의 모듈들을 포함하는 제1 모듈; 제2 통신 서비스를 제공하기 위한 복수의 모듈들을 포함하는 제2 모듈; 및 상기 제1 모듈 및 상기 제2 모듈의 제어를 위한 제어 모듈을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 제어 모듈은, 프레즌스 서버로부터 상기 적어도 하나의 상대 장치의 프레즌스 정보를 포함하는 통지를 수신하고, 상기 프레즌스 정보가 상기 제1 및 제2 통신 서비스들 중 어느 서비스와 연관되어 있는지를 판단하고, 상기 판단에 근거하여 상기 프레즌스 정보를 처리하는 프레즌스 매니저 모듈을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 제어 모듈은, 상기 제1 및 제2 통신 서비스들의 스위칭을 제공하는 콜/세션 제어 매니저 모듈을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 제어 모듈은, 외부 장치로부터 실시간 전송 프로토콜(Real-time Transport Protocol: RTP) 패킷을 수신하고, 상기 RTP 패킷이 상기 제1 및 제2 통신 서비스들 중 어느 서비스와 연관되어 있는지를 판단하고, 상기 판단에 근거하여 상기 RTP 패킷을 처리하는 RTP 제어 매니저 모듈을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 제어 모듈은, 상기 제1 또는 제2 통신 서비스의 코덱 이용을 제어하는 코덱 제어 매니저 모듈을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 제1 및 제2 모듈들(또는 통신 서비스들) 중 어느 하나는 상기 제어 모듈을 통해 상기 제1 및 제2 모듈들(또는 통신 서비스들) 중 나머지의 적어도 하나의 모듈을 이용할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치의 서비스 제공 방법은, 상기 전자 장치의 디스플레이 상에 브라우저 어플리케이션을 통해 제공되는 통신 서비스와 연관된 적어도 하나의 상대 장치의 프레즌스 정보를 표시하는 동작; 상기 적어도 하나의 상대 장치와의 통신을 위한 사용자 입력을 수신하는 동작; 및 상기 사용자 입력에 응답하여, 상기 통신 서비스를 제공하는 상기 브라우저 어플리케이션의 제2 화면을 표시하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 프레즌스 정보는 상기 전자 장치에 등록된 연락처들을 포함하는 연락처 어플리케이션의 화면에 표시될 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 방법은, 상기 연락처 어플리케이션의 실행을 위한 사용자 입력을 수신하는 동작; 상기 사용자 입력에 응답하여, 상기 연락처 어플리케이션을 실행하는 동작; 및 상기 연락처 어플리케이션의 실행에 따라 상기 연락처 어플리케이션의 화면을 표시하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 연락처 어플리케이션의 화면은 상기 적어도 하나의 상대 장치의 프레즌스 정보를 나타내는 적어도 하나의 아이템을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 연락처 어플리케이션의 화면은 상기 적어도 하나의 상대 장치의 프레즌스 정보를 나타내는 텍스트, 심볼, 이미지, 또는 아이콘 중 하나 또는 그 이상을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 프레즌스 정보는 상기 적어도 하나의 상대 장치가 제2의 브라우저 어플리케이션을 통해 제공되는 상기 통신 서비스를 실행 중인지의 여부를 나타낼 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 통신 서비스는 음성 통화, 비디오 통화, 비디오 채팅, 비디오 회의 또는 파일 전송일 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 브라우저 어플리케이션의 제2 화면은 상기 전자 장치에 의해 촬영된 제1 비디오 및 상기 적어도 하나의 상대 장치에 의해 촬영된 제2 비디오를 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 브라우저 어플리케이션의 제2 화면은 상기 적어도 하나의 상대 장치의 프레즌스 정보를 더 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 프레즌스 정보는 상기 브라우저 어플리케이션의 제1 화면에 표시될 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 방법은, 상기 브라우저 어플리케이션의 실행을 위한 사용자 입력을 수신하는 동작; 상기 사용자 입력에 응답하여, 상기 브라우저 어플리케이션을 실행하는 동작; 및 상기 브라우저 어플리케이션의 실행에 따라 상기 브라우저 어플리케이션의 제1 화면을 표시하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 방법은, 상기 적어도 하나의 상대 장치의 프레즌스 정보를 포함하는 통지를 수신하는 동작; 및 상기 수신한 프레즌스 정보를 상기 브라우저 어플리케이션의 제2 화면에 표시하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 방법은, 상기 적어도 하나의 상대 장치의 프레즌스 정보를 포함하는 통지를 수신하는 동작; 및 상기 수신한 프레즌스 정보에 포함된 상기 적어도 하나의 상대 장치의 네트워크 주소를 상기 연락처 어플리케이션의 데이터베이스에 저장하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 방법은, 상기 통신 서비스와 연관된 상기 전자 장치의 프레즌스 정보를 프레즌스 서버로 전송하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는, 화면들을 표시하기 위한 디스플레이; 및 상기 전자 장치의 디스플레이 상에 브라우저 어플리케이션을 통해 제공되는 제1 통신 서비스와 연관된 적어도 하나의 상대 장치의 프레즌스 정보를 표시하고, 상기 적어도 하나의 상대 장치와의 통신을 위한 사용자 입력을 수신하고, 상기 사용자 입력에 응답하여, 상기 제1 통신 서비스를 제공하는 상기 브라우저 어플리케이션의 제2 화면을 상기 디스플레이 상에 표시하도록 구성된 프로세서를 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 프레즌스 정보는 상기 전자 장치에 등록된 연락처들을 포함하는 연락처 어플리케이션의 화면에 표시될 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 프로세서는, 상기 연락처 어플리케이션의 실행을 위한 사용자 입력을 수신하고, 상기 사용자 입력에 응답하여, 상기 연락처 어플리케이션을 실행하고, 상기 연락처 어플리케이션의 실행에 따라 상기 연락처 어플리케이션의 화면을 상기 디스플레이 상에 표시하도록 구성될 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 연락처 어플리케이션의 화면은 상기 적어도 하나의 상대 장치의 프레즌스 정보를 나타내는 적어도 하나의 아이템을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 연락처 어플리케이션의 화면은 상기 적어도 하나의 상대 장치의 프레즌스 정보를 나타내는 텍스트, 심볼, 이미지, 또는 아이콘 중 하나 또는 그 이상을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 프레즌스 정보는 상기 적어도 하나의 상대 장치가 제2의 브라우저 어플리케이션을 통해 제공되는 상기 제1 통신 서비스를 실행 중인지의 여부를 나타낼 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 제1 통신 서비스는 음성 통화, 비디오 채팅, 비디오 통화 또는 파일 전송일 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 브라우저 어플리케이션의 제2 화면은 상기 전자 장치에 의해 촬영된 제1 비디오 및 상기 적어도 하나의 상대 장치에 의해 촬영된 제2 비디오를 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 브라우저 어플리케이션의 제2 화면은 상기 적어도 하나의 상대 장치의 프레즌스 정보를 더 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 프레즌스 정보는 상기 브라우저 어플리케이션의 제1 화면에 표시될 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 프로세서는, 상기 브라우저 어플리케이션의 실행을 위한 사용자 입력을 수신하고, 상기 사용자 입력에 응답하여, 상기 제1 브라우저 어플리케이션을 실행하고, 상기 브라우저 어플리케이션의 실행에 따라 상기 브라우저 어플리케이션의 제1 화면을 상기 디스플레이 상에 표시하도록 구성될 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 프로세서는, 프레즌스 서버로부터 상기 적어도 하나의 상대 장치의 프레즌스 정보를 포함하는 통지를 수신하고, 상기 수신한 프레즌스 정보를 상기 브라우저 어플리케이션의 제2 화면에 표시하도록 구성될 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 프로세서는, 상기 적어도 하나의 상대 장치의 프레즌스 정보를 포함하는 통지를 수신하고, 상기 수신한 프레즌스 정보에 포함된 상기 적어도 하나의 상대 장치의 네트워크 주소를 상기 연락처 어플리케이션의 데이터베이스에 저장하도록 구성될 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 프로세서는, 상기 전자 장치의 통신 모듈을 이용하여 상기 제1 통신 서비스와 연관된 상기 전자 장치의 프레즌스 정보를 프레즌스 서버로 전송하도록 구성될 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 장치는, 상기 제1 통신 서비스를 제공하기 위한 복수의 모듈들을 포함하는 제1 모듈과; 제2 통신 서비스를 제공하기 위한 복수의 모듈들을 포함하는 제2 모듈과; 상기 제1 모듈 및 상기 제2 모듈의 제어를 위한 제어 모듈을 더 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 제어 모듈은, 프레즌스 서버로부터 상기 적어도 하나의 상대 장치의 프레즌스 정보를 포함하는 통지를 수신하고, 상기 프레즌스 정보가 상기 제1 및 제2 통신 서비스들 중 어느 서비스와 연관되어 있는지를 판단하고, 상기 판단에 근거하여 상기 프레즌스 정보를 처리하는 프레즌스 매니저 모듈을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 제어 모듈은, 상기 제1 및 제2 통신 서비스들의 스위칭을 제공하는 콜/세션 제어 매니저 모듈을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 제어 모듈은, 외부 장치로부터 실시간 전송 프로토콜(Real-time Transport Protocol: RTP) 패킷을 수신하고, 상기 RTP 패킷이 상기 제1 및 제2 통신 서비스들 중 어느 서비스와 연관되어 있는지를 판단하고, 상기 판단에 근거하여 상기 RTP 패킷을 처리하는 RTP 제어 매니저 모듈을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 제어 모듈은, 상기 제1 또는 제2 통신 서비스의 코덱 이용을 제어하는 코덱 제어 매니저 모듈을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 제1 및 제2 모듈 시스템들 중 어느 하나는 상기 제어 모듈을 통해 상기 제1 및 제2 모듈들 중 나머지의 적어도 하나의 모듈을 이용할 수 있다.
도 12는 본 발명의 다양한 실시예에 따른 전자 장치(1201)의 블록도(1200)를 도시한다. 상기 전자 장치(1201)는, 예를 들면, 도 1에 도시된 전자 장치(101)의 전체 또는 일부를 구성할 수 있다. 도 12를 참조하면, 상기 전자 장치(1201)는 하나 이상의 어플리케이션 프로세서(AP: application processor, 1210) 및/또는 하나 이상의 커뮤니케이션 프로세서(CP: communication processor, 1211)를 포함하는 프로세서(1212), 통신 모듈(1220), SIM 카드(subscriber identification module card, 1224), 메모리(1230), 센서 모듈(1240), 입력 장치(1250), 디스플레이(1260), 인터페이스(1270), 오디오 모듈(1280), 카메라 모듈(1291), 전력관리 모듈(1295), 배터리(1296), 인디케이터(1297) 또는 모터(1298) 중 적어도 하나를 포함할 수 있다.
상기 AP(1210)는 운영체제 또는 응용 프로그램을 구동하여 상기 AP(1210)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 멀티미디어 데이터를 포함한 각종 데이터 처리 및 연산을 수행할 수 있다. 상기 AP(1210)는, 예를 들면, SoC(system on chip) 로 구현될 수 있다. 한 실시예에 따르면, 상기 AP(1210)는 GPU(graphic processing unit, 미도시)를 더 포함할 수 있다.
상기 통신 모듈(1220)(예: 상기 통신 인터페이스(160))은 상기 전자 장치(1201)(예: 상기 전자 장치(101))와 네트워크를 통해 연결된 다른 전자 장치들(예: 전자 장치(104) 또는 서버(106)) 간의 통신에서 데이터 송수신을 수행할 수 있다. 한 실시예에 따르면, 상기 통신 모듈(1220)은 셀룰러 모듈(1221), Wifi 모듈(1223), BT 모듈(1225), GPS 모듈(1227), NFC 모듈(1228) 또는 RF(radio frequency) 모듈(1229) 중 적어도 하나를 를 포함할 수 있다.
상기 셀룰러 모듈(1221)은 통신망(예: LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro 또는 GSM 등)을 통해서 음성 통화, 영상 통화, 문자 서비스, 인터넷 서비스 등의 적어도 하나를 제공할 수 있다. 또한, 상기 셀룰러 모듈(1221)은, 예를 들면, 가입자 식별 모듈(예: SIM 카드(1224))을 이용하여 통신 네트워크 내에서 전자 장치의 구별 및 인증을 수행할 수 있다. 한 실시예에 따르면, 상기 셀룰러 모듈(1221)은 상기 AP(1210)가 제공할 수 있는 기능들 중 적어도 일부 기능을 수행할 수 있다. 예를 들면, 상기 셀룰러 모듈(1221)은 멀티 미디어 제어 기능의 적어도 일부를 수행할 수 있다.
한 실시예에 따르면, 상기 커뮤니케이션 프로세서(1211)는 상기 셀룰러 모듈(1221)에 포함될 수 있다. 또한, 상기 셀룰러 모듈(1221)은, 예를 들면, SoC로 구현될 수 있다. 도 12에서는 상기 셀룰러 모듈(1221)(예: 커뮤니케이션 프로세서(1211)), 상기 메모리(1230) 또는 상기 전력관리 모듈(1295) 등의 구성요소들이 상기 AP(1210)와 별개의 구성요소로 도시되어 있으나, 한 실시예에 따르면, 상기 AP(1210)가 전술한 구성요소들의 적어도 일부(예: 셀룰러 모듈(1221))를 포함하도록 구현될 수 있다.
한 실시예에 따르면, 상기 AP(1210) 또는 상기 셀룰러 모듈(1221)(예: 커뮤니케이션 프로세서(1211))은 각각에 연결된 비휘발성 메모리 또는 다른 구성요소 중 적어도 하나로부터 수신한 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리할 수 있다. 또한, 상기 AP(1210) 또는 상기 셀룰러 모듈(1221)은 다른 구성요소 중 적어도 하나로부터 수신하거나 다른 구성요소 중 적어도 하나에 의해 생성된 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
상기 Wifi 모듈(1223), 상기 BT 모듈(1225), 상기 GPS 모듈(1227) 또는 상기 NFC 모듈(1228) 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. 도 8에서는 셀룰러 모듈(1221), Wifi 모듈(1223), BT 모듈(1225), GPS 모듈(1227) 또는 NFC 모듈(1228)이 각각 별개의 블록으로 도시되었으나, 한 실시예에 따르면, 셀룰러 모듈(1221), Wifi 모듈(1223), BT 모듈(1225), GPS 모듈(1227) 또는 NFC 모듈(1228) 중 적어도 일부(예: 두 개 이상)는 하나의 integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다. 예를 들면, 셀룰러 모듈(1221), Wifi 모듈(1223), BT 모듈(1225), GPS 모듈(1227) 또는 NFC 모듈(1228) 각각에 대응하는 프로세서들 중 적어도 일부(예: 셀룰러 모듈(1221)에 대응하는 커뮤니케이션 프로세서(1211) 및 Wifi 모듈(1223)에 대응하는 Wifi 프로세서)는 하나의 SoC로 구현될 수 있다.
상기 RF 모듈(1229)는 데이터의 송수신, 예를 들면, RF 신호의 송수신을 할 수 있다. 상기 RF 모듈(1229)는, 도시되지는 않았으나, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter), LNA(low noise amplifier) 등의 적어도 하나를 포함할 수 있다. 또한, 상기 RF 모듈(1229)은 무선 통신에서 자유 공간상의 전자파를 송수신하기 위한 부품, 예를 들면, 도체, 도선 등의 적어도 하나를 더 포함할 수 있다. 도 15에서는 셀룰러 모듈(1221), Wifi 모듈(1223), BT 모듈(1225), GPS 모듈(1227) 및 NFC 모듈(1228)이 하나의 RF 모듈(1229)을 서로 공유하는 것으로 도시되어 있으나, 한 실시예에 따르면, 셀룰러 모듈(1221), Wifi 모듈(1223), BT 모듈(1225), GPS 모듈(1227) 또는 NFC 모듈(1228) 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호의 송수신을 수행할 수 있다.
상기 SIM 카드(1224)는 가입자 식별 모듈을 포함하는 카드일 수 있으며, 전자 장치의 특정 위치에 형성된 슬롯에 삽입될 수 있다. 상기 SIM 카드(1224)는 고유한 식별 정보(예: ICCID(integrated circuit card identifier)) 또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다.
상기 메모리(1230)(예: 상기 메모리(130))는 내장 메모리(1232) 또는 외장 메모리(1234)를 포함할 수 있다. 상기 내장 메모리(1232)는, 예를 들면, 휘발성 메모리(예를 들면, DRAM(dynamic RAM), SRAM(static RAM), SDRAM(synchronous dynamic RAM) 등) 또는 비휘발성 메모리(non-volatile Memory, 예를 들면, OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, NAND flash memory, NOR flash memory 등) 중 적어도 하나를 포함할 수 있다.
한 실시예에 따르면, 상기 내장 메모리(1232)는 Solid State Drive (SSD)일 수 있다. 상기 외장 메모리(1234)는 flash drive, 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), Memory Stick 등의 적어도 하나를 더 포함할 수 있다. 상기 외장 메모리(1234)는 다양한 인터페이스를 통하여 상기 전자 장치(1201)과 기능적으로 연결될 수 있다. 한 실시예에 따르면, 상기 전자 장치(1201)는 하드 드라이브와 같은 저장 장치(또는 저장 매체)를 더 포함할 수 있다.
상기 센서 모듈(1240)은 물리량을 계측하거나 전자 장치(1201)의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 상기 센서 모듈(1240)은, 예를 들면, 제스처 센서(1240A), 자이로 센서(1240B), 기압 센서(1240C), 마그네틱 센서(1240D), 가속도 센서(1240E), 그립 센서(1240F), 근접 센서(1240G), color 센서(1240H)(예: RGB(red, green, blue) 센서), 생체 센서(1240I), 온/습도 센서(1240J), 조도 센서(1240K) 또는 UV(ultra violet) 센서(1240M) 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 센서 모듈(1240)은, 예를 들면, 후각 센서(E-nose sensor, 미도시), EMG 센서(electromyography sensor, 미도시), EEG 센서(electroencephalogram sensor, 미도시), ECG 센서(electrocardiogram sensor, 미도시), IR(infra red) 센서(미도시), 홍채 센서(미도시), 지문 센서(미도시) 등의 적어도 하나를 포함할 수 있다. 상기 센서 모듈(1240)은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다.
상기 입력 장치(1250)은 터치 패널(touch panel, 1252), (디지털) 펜 센서(pen sensor, 1254), 키(key, 1256) 또는 초음파(ultrasonic) 입력 장치(1258)를 포함할 수 있다. 상기 터치 패널(1252)은, 예를 들면, 정전식, 감압식, 적외선 방식 또는 초음파 방식 중 적어도 하나의 방식으로 터치 입력을 인식할 수 있다. 또한, 상기 터치 패널(1252)은 제어 회로를 더 포함할 수도 있다. 정전식의 경우, 물리적 접촉 또는 근접 인식이 가능하다. 상기 터치 패널(1252)은 택타일 레이어(tactile layer)를 더 포함할 수도 있다. 이 경우, 상기 터치 패널(1252)은 사용자에게 촉각 반응을 제공할 수 있다.
상기 (디지털) 펜 센서(1254)는, 예를 들면, 사용자의 터치 입력을 받는 것과 동일 또는 유사한 방법 또는 별도의 인식용 쉬트(sheet)를 이용하여 구현될 수 있다. 상기 키(1256)는, 예를 들면, 물리적인 버튼, 광학식 키 또는 키패드를 포함할 수 있다. 상기 초음파(ultrasonic) 입력 장치(1258)는 초음파 신호를 발생하는 입력 도구를 통해, 전자 장치(1201)에서 마이크(예: 마이크(1288))로 음파를 감지하여 데이터를 확인할 수 있는 장치로서, 무선 인식이 가능하다. 한 실시예에 따르면, 상기 전자 장치(1201)는 상기 통신 모듈(1220)를 이용하여 이와 연결된 외부 전자 장치(예: 컴퓨터 또는 서버)로부터 사용자 입력을 수신할 수도 있다.
상기 디스플레이(1260)(예: 상기 디스플레이(120))은 패널(1262), 홀로그램 장치(1264) 또는 프로젝터(1266)을 포함할 수 있다. 상기 패널(1262)은, 예를 들면, LCD(liquid-crystal display) 또는 AM-OLED(active-matrix organic light-emitting diode) 등일 수 있다. 상기 패널(1262)은, 예를 들면, 유연하게(flexible), 투명하게(transparent) 또는 착용할 수 있게(wearable) 구현될 수 있다. 상기 패널(1262)은 상기 터치 패널(1252)과 하나의 모듈로 구성될 수도 있다. 상기 홀로그램 장치(1264)은 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 상기 프로젝터(1266)는 스크린에 빛을 투사하여 영상을 표시할 수 있다. 상기 스크린은, 예를 들면, 상기 전자 장치(1201)의 내부 또는 외부에 위치할 수 있다. 한 실시예에 따르면, 상기 디스플레이(1260)은 상기 패널(1262), 상기 홀로그램 장치(1264), 또는 프로젝터(1266)를 제어하기 위한 제어 회로를 더 포함할 수 있다.
상기 인터페이스(1270)는, 예를 들면, HDMI(high-definition multimedia interface, 1272), USB(universal serial bus, 1274), 광 인터페이스(optical interface, 1276) 또는 D-sub(D-subminiature, 1278)를 포함할 수 있다. 상기 인터페이스(1270)는, 예를 들면, 도 1에 도시된 통신 인터페이스(160)에 포함될 수 있다. 추가적으로 또는 대체적으로, 상기 인터페이스(1270)는, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD(secure Digital) 카드/MMC(multi-media card) 인터페이스 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
상기 오디오 모듈(1280)은 소리(sound)와 전기신호를 쌍방향으로 변환시킬 수 있다. 상기 오디오 모듈(1280)의 적어도 일부 구성요소는, 예를 들면, 도 1 에 도시된 입출력 인터페이스(140)에 포함될 수 있다. 상기 오디오 모듈(1280)은, 예를 들면, 스피커(1282), 리시버(1284), 이어폰(1286), 마이크(1288) 등의 적어도 하나를 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다.
상기 카메라 모듈(1291)은 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈(미도시), ISP(image signal processor, 미도시) 또는 플래쉬 (flash, 미도시)(예: LED 또는 xenon lamp)를 포함할 수 있다.
상기 전력 관리 모듈(1295)은 상기 전자 장치(1201)의 전력을 관리할 수 있다. 도시하지는 않았으나, 상기 전력 관리 모듈(1295)은, 예를 들면, PMIC(power management integrated circuit), 충전 IC(charger integrated circuit) 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다.
상기 PMIC는, 예를 들면, 집적회로 또는 SoC 반도체 내에 탑재될 수 있다. 충전 방식은 유선과 무선으로 구분될 수 있다. 상기 충전 IC는 배터리를 충전시킬 수 있으며, 충전기로부터의 과전압 또는 과전류 유입을 방지할 수 있다. 한 실시예에 따르면, 상기 충전 IC는 유선 충전 방식 또는 무선 충전 방식 중 적어도 하나를 위한 충전 IC를 포함할 수 있다. 무선 충전 방식으로는, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등이 있으며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로 또는 정류기 등의 회로가 추가될 수 있다.
상기 배터리 게이지는, 예를 들면, 상기 배터리(1296)의 잔량, 충전 중 전압, 전류 또는 온도를 측정할 수 있다. 상기 배터리(1296)는 전기를 저장 또는 생성할 수 있고, 그 저장 또는 생성된 전기를 이용하여 상기 전자 장치(1201)에 전원을 공급할 수 있다. 상기 배터리(1296)는, 예를 들면, 충전식 전지(rechargeable battery) 또는 태양 전지(solar battery)를 포함할 수 있다.
상기 인디케이터(1297)는 상기 전자 장치(1201) 혹은 그 일부(예: 상기 AP(1210))의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태, 충전 상태 등의 적어도 하나를 표시할 수 있다. 상기 모터(1298)는 전기적 신호를 기계적 진동으로 변환할 수 있다. 도시되지는 않았으나, 상기 전자 장치(1201)는 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 상기 모바일 TV지원을 위한 처리 장치는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting) 또는 미디어플로우(media flow) 등의 규격에 따른 미디어 데이터를 처리할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치의 전술한 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 본 발명의 다양한 실시예에 따른 전자 장치는 전술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 본 발명의 다양한 실시예에 따른 전자 장치의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
본 발명의 다양한 실시예에 사용된 용어 “모듈”은, 예를 들어, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. “모듈”은 예를 들어, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component) 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. “모듈”은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. “모듈”은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. “모듈”은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, 본 발명의 다양한 실시예에 따른 “모듈”은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 본 발명의 다양한 실시예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그래밍 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어는, 하나 이상의 프로세서(예: 프로세서(120))에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 상기 메모리(130)가 될 수 있다. 상기 프로그래밍 모듈의 적어도 일부는, 예를 들면, 상기 프로세서(120)에 의해 구현(implement)(예: 실행)될 수 있다. 상기 프로그래밍 모듈의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트 (sets of instructions), 프로세스 등의 적어도 하나를 포함할 수 있다.
상기 컴퓨터로 판독 가능한 기록 매체에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 마그네틱 매체(Magnetic Media)와, CD-ROM(Compact Disc Read Only Memory), DVD(Digital Versatile Disc)와 같은 광기록 매체(Optical Media)와, 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media)와, 그리고 ROM(Read Only Memory), RAM(Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령(예: 프로그래밍 모듈)을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 다양한 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
본 발명의 다양한 실시예에 따른 모듈 또는 프로그래밍 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 본 발명의 다양한 실시예에 따른 모듈, 프로그래밍 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
본 발명의 다양한 실시예에 따르면, 명령들을 저장하고 있는 저장 매체에 있어서, 상기 명령들은 적어도 하나의 프로세서에 의하여 실행될 때에 상기 적어도 하나의 프로세서로 하여금 적어도 하나의 동작을 수행하도록 설정된 것으로서, 상기 적어도 하나의 동작은, 상기 전자 장치의 디스플레이 상에 브라우저 어플리케이션을 통해 제공되는 통신 서비스와 연관된 적어도 하나의 상대 장치의 프레즌스 정보를 표시하는 동작; 상기 적어도 하나의 상대 장치와의 통신을 위한 사용자 입력을 수신하는 동작; 및 상기 사용자 입력에 응답하여, 상기 통신 서비스를 제공하는 상기 브라우저 어플리케이션의 제2 화면을 표시하는 동작을 포함할 수 있다.
그리고 본 명세서와 도면에 개시된 본 발명의 다양한 실시 예들은 본 발명의 다양한 실시예의 기술 내용을 쉽게 설명하고 본 발명의 다양한 실시예의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 다양한 실시예의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 다양한 실시예의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 다양한 실시예의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 다양한 실시예의 범위에 포함되는 것으로 해석되어야 한다.
101: 전자 장치, 110: 버스, 120: 프로세서, 130: 메모리, 140: 입출력 인터페이스, 150: 디스플레이, 160: 통신 모듈, 170: 어플리케이션 동작 모듈

Claims (35)

  1. 전자 장치에 있어서,
    화면들을 표시하기 위한 디스플레이;
    상기 전자 장치의 디스플레이 상에 브라우저 어플리케이션을 통해 제공되는 제1 통신 서비스와 연관된 적어도 하나의 상대 장치의 프레즌스 정보를 표시하고, 상기 적어도 하나의 상대 장치와의 통신을 위한 사용자 입력을 수신하고, 상기 사용자 입력에 응답하여, 상기 제1 통신 서비스를 제공하는 상기 브라우저 어플리케이션의 제2 화면을 상기 디스플레이 상에 표시하도록 구성된 프로세서;
    상기 제1 통신 서비스를 제공하기 위한 복수의 모듈들을 포함하는 제1 모듈;
    제2 통신 서비스를 제공하기 위한 복수의 모듈들을 포함하는 제2 모듈; 및
    상기 제1 모듈 및 상기 제2 모듈의 제어를 위한 제어 모듈을 포함하는 것을 특징으로 하는 전자 장치.
  2. 제1항에 있어서, 상기 제어 모듈은,
    프레즌스 서버로부터 상기 적어도 하나의 상대 장치의 프레즌스 정보를 포함하는 통지를 수신하고,
    상기 프레즌스 정보가 상기 제1 및 제2 통신 서비스들 중 어느 서비스와 연관되어 있는지를 판단하고,
    상기 판단에 근거하여 상기 프레즌스 정보를 처리하는 프레즌스 매니저 모듈을 포함하는 것을 특징으로 하는 전자 장치.
  3. 제1항에 있어서, 상기 제어 모듈은,
    상기 제1 및 제2 통신 서비스들의 스위칭을 제공하는 콜/세션 제어 매니저 모듈을 포함하는 것을 특징으로 하는 전자 장치.
  4. 제1항에 있어서, 상기 제어 모듈은,
    외부 장치로부터 실시간 전송 프로토콜(Real-time Transport Protocol: RTP) 패킷을 수신하고,
    상기 RTP 패킷이 상기 제1 및 제2 통신 서비스들 중 어느 서비스와 연관되어 있는지를 판단하고,
    상기 판단에 근거하여 상기 RTP 패킷을 처리하는 RTP 제어 매니저 모듈을 포함하는 것을 특징으로 하는 전자 장치.
  5. 제1항에 있어서, 상기 제어 모듈은,
    상기 제1 또는 제2 통신 서비스의 코덱 이용을 제어하는 코덱 제어 매니저 모듈을 포함하는 것을 특징으로 하는 전자 장치.
  6. 제1항에 있어서,
    상기 제1 및 제2 모듈들 중 어느 하나는 상기 제어 모듈을 통해 상기 제1 및 제2 모듈들 중 나머지의 적어도 하나의 모듈을 이용하는 것을 특징으로 하는 전자 장치.
  7. 전자 장치의 서비스 제공 방법에 있어서,
    상기 전자 장치의 디스플레이 상에 브라우저 어플리케이션을 통해 제공되는 통신 서비스와 연관된 적어도 하나의 상대 장치의 프레즌스 정보를 표시하는 동작;
    상기 적어도 하나의 상대 장치와의 통신을 위한 사용자 입력을 수신하는 동작; 및
    상기 사용자 입력에 응답하여, 상기 통신 서비스를 제공하는 상기 브라우저 어플리케이션의 제2 화면을 표시하는 동작을 포함하는 것을 특징으로 하는 방법.
  8. 제7항에 있어서,
    상기 프레즌스 정보는 상기 전자 장치에 등록된 연락처들을 포함하는 연락처 어플리케이션의 화면에 표시되는 것을 특징으로 하는 방법.
  9. 제8항에 있어서,
    상기 연락처 어플리케이션의 실행을 위한 사용자 입력을 수신하는 동작;
    상기 사용자 입력에 응답하여, 상기 연락처 어플리케이션을 실행하는 동작; 및
    상기 연락처 어플리케이션의 실행에 따라 상기 연락처 어플리케이션의 화면을 표시하는 동작을 더 포함하는 것을 특징으로 하는 방법.
  10. 제8항에 있어서,
    상기 연락처 어플리케이션의 화면은 상기 적어도 하나의 상대 장치의 프레즌스 정보를 나타내는 적어도 하나의 아이템을 포함하는 것을 특징으로 하는 방법.
  11. 제8항에 있어서,
    상기 연락처 어플리케이션의 화면은 상기 적어도 하나의 상대 장치의 프레즌스 정보를 나타내는 텍스트, 심볼, 이미지, 또는 아이콘 중 하나 또는 그 이상을 포함하는 것을 특징으로 하는 방법.
  12. 제7항에 있어서,
    상기 프레즌스 정보는 상기 적어도 하나의 상대 장치가 제2의 브라우저 어플리케이션을 통해 제공되는 상기 통신 서비스를 실행 중인지의 여부를 나타내는 것을 특징으로 하는 방법.
  13. 제7항에 있어서,
    상기 통신 서비스는 음성 통화, 비디오 통화, 비디오 채팅, 비디오 회의 또는 파일 전송인 것을 특징으로 하는 방법.
  14. 제7항에 있어서,
    상기 브라우저 어플리케이션의 제2 화면은 상기 전자 장치에 의해 촬영된 제1 비디오 및 상기 적어도 하나의 상대 장치에 의해 촬영된 제2 비디오를 포함하는 것을 특징으로 하는 방법.
  15. 제7항에 있어서,
    상기 브라우저 어플리케이션의 제2 화면은 상기 적어도 하나의 상대 장치의 프레즌스 정보를 더 포함하는 것을 특징으로 하는 방법.
  16. 제7항에 있어서,
    상기 프레즌스 정보는 상기 브라우저 어플리케이션의 제1 화면에 표시되는 것을 특징으로 하는 방법.
  17. 제16항에 있어서,
    상기 브라우저 어플리케이션의 실행을 위한 사용자 입력을 수신하는 동작;
    상기 사용자 입력에 응답하여, 상기 브라우저 어플리케이션을 실행하는 동작; 및
    상기 브라우저 어플리케이션의 실행에 따라 상기 브라우저 어플리케이션의 제1 화면을 표시하는 동작을 더 포함하는 것을 특징으로 하는 방법.
  18. 제7항에 있어서,
    상기 적어도 하나의 상대 장치의 프레즌스 정보를 포함하는 통지를 수신하는 동작; 및
    상기 수신한 프레즌스 정보를 상기 브라우저 어플리케이션의 제2 화면에 표시하는 동작을 더 포함하는 것을 특징으로 하는 방법.
  19. 제8항에 있어서,
    상기 적어도 하나의 상대 장치의 프레즌스 정보를 포함하는 통지를 수신하는 동작; 및
    상기 수신한 프레즌스 정보에 포함된 상기 적어도 하나의 상대 장치의 네트워크 주소를 상기 연락처 어플리케이션의 데이터베이스에 저장하는 동작을 더 포함하는 것을 특징으로 하는 방법.
  20. 제7항에 있어서,
    상기 통신 서비스와 연관된 상기 전자 장치의 프레즌스 정보를 프레즌스 서버로 전송하는 동작을 더 포함하는 것을 특징으로 하는 방법.
  21. 전자 장치의 서비스 제공 방법을 실행하기 위한 프로그램을 기록한 기계로 읽을 수 있는 저장 매체에 있어서, 상기 방법은,
    상기 전자 장치의 디스플레이 상에 브라우저 어플리케이션을 통해 제공되는 통신 서비스와 연관된 적어도 하나의 상대 장치의 프레즌스 정보를 표시하는 동작;
    상기 적어도 하나의 상대 장치와의 통신을 위한 사용자 입력을 수신하는 동작; 및
    상기 사용자 입력에 응답하여, 상기 통신 서비스를 제공하는 상기 브라우저 어플리케이션의 제2 화면을 표시하는 동작을 포함하는 것을 특징으로 하는 저장 매체.
  22. 전자 장치에 있어서,
    화면들을 표시하기 위한 디스플레이; 및
    상기 전자 장치의 디스플레이 상에 브라우저 어플리케이션을 통해 제공되는 통신 서비스와 연관된 적어도 하나의 상대 장치의 프레즌스 정보를 표시하고,
    상기 적어도 하나의 상대 장치와의 통신을 위한 사용자 입력을 수신하고,
    상기 사용자 입력에 응답하여, 상기 통신 서비스를 제공하는 상기 브라우저 어플리케이션의 제2 화면을 상기 디스플레이 상에 표시하도록 구성된 프로세서를 포함하는 것을 특징으로 하는 전자 장치.
  23. 제22항에 있어서,
    상기 프레즌스 정보는 상기 전자 장치에 등록된 연락처들을 포함하는 연락처 어플리케이션의 화면에 표시되는 것을 특징으로 하는 전자 장치.
  24. 제23항에 있어서, 상기 프로세서는,
    상기 연락처 어플리케이션의 실행을 위한 사용자 입력을 수신하고,
    상기 사용자 입력에 응답하여, 상기 연락처 어플리케이션을 실행하고,
    상기 연락처 어플리케이션의 실행에 따라 상기 연락처 어플리케이션의 화면을 상기 디스플레이 상에 표시하도록 구성되는 것을 특징으로 하는 전자 장치.
  25. 제23항에 있어서,
    상기 연락처 어플리케이션의 화면은 상기 적어도 하나의 상대 장치의 프레즌스 정보를 나타내는 적어도 하나의 아이템을 포함하는 것을 특징으로 하는 전자 장치.
  26. 제23항에 있어서,
    상기 연락처 어플리케이션의 화면은 상기 적어도 하나의 상대 장치의 프레즌스 정보를 나타내는 텍스트, 심볼, 이미지, 또는 아이콘 중 하나 또는 그 이상을 포함하는 것을 특징으로 하는 전자 장치.
  27. 제22항에 있어서,
    상기 프레즌스 정보는 상기 적어도 하나의 상대 장치가 제2의 브라우저 어플리케이션을 통해 제공되는 상기 통신 서비스를 실행 중인지의 여부를 나타내는 것을 특징으로 하는 전자 장치.
  28. 제22항에 있어서,
    상기 통신 서비스는 음성 통화, 비디오 채팅, 비디오 통화 또는 파일 전송인 것을 특징으로 하는 전자 장치.
  29. 제22항에 있어서,
    상기 브라우저 어플리케이션의 제2 화면은 상기 전자 장치에 의해 촬영된 제1 비디오 및 상기 적어도 하나의 상대 장치에 의해 촬영된 제2 비디오를 포함하는 것을 특징으로 하는 전자 장치.
  30. 제22항에 있어서,
    상기 브라우저 어플리케이션의 제2 화면은 상기 적어도 하나의 상대 장치의 프레즌스 정보를 더 포함하는 것을 특징으로 하는 전자 장치.
  31. 제22항에 있어서,
    상기 프레즌스 정보는 상기 브라우저 어플리케이션의 제1 화면에 표시되는 것을 특징으로 하는 전자 장치.
  32. 제31항에 있어서, 상기 프로세서는,
    상기 브라우저 어플리케이션의 실행을 위한 사용자 입력을 수신하고,
    상기 사용자 입력에 응답하여, 상기 제1 브라우저 어플리케이션을 실행하고,
    상기 브라우저 어플리케이션의 실행에 따라 상기 브라우저 어플리케이션의 제1 화면을 상기 디스플레이 상에 표시하도록 구성되는 것을 특징으로 하는 전자 장치.
  33. 제22항에 있어서, 상기 프로세서는,
    프레즌스 서버로부터 상기 적어도 하나의 상대 장치의 프레즌스 정보를 포함하는 통지를 수신하고,
    상기 수신한 프레즌스 정보를 상기 브라우저 어플리케이션의 제2 화면에 표시하도록 구성되는 것을 특징으로 하는 전자 장치.
  34. 제23항에 있어서, 상기 프로세서는,
    상기 적어도 하나의 상대 장치의 프레즌스 정보를 포함하는 통지를 수신하고,
    상기 수신한 프레즌스 정보에 포함된 상기 적어도 하나의 상대 장치의 네트워크 주소를 상기 연락처 어플리케이션의 데이터베이스에 저장 하도록 구성되는 것을 특징으로 하는 전자 장치.
  35. 제22항에 있어서, 상기 프로세서는,
    상기 전자 장치의 통신 모듈을 이용하여 상기 통신 서비스와 연관된 상기 전자 장치의 프레즌스 정보를 프레즌스 서버로 전송하도록 구성되는 것을 특징으로 하는 전자 장치.
KR1020140052947A 2014-04-30 2014-04-30 서비스 제공 방법, 전자 장치 및 저장 매체 KR102202110B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020140052947A KR102202110B1 (ko) 2014-04-30 2014-04-30 서비스 제공 방법, 전자 장치 및 저장 매체
PCT/KR2015/004403 WO2015167283A1 (en) 2014-04-30 2015-04-30 Method, electronic device, and storage medium for providing service
US15/307,952 US10574603B2 (en) 2014-04-30 2015-04-30 Method, electronic device, and storage medium for providing service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140052947A KR102202110B1 (ko) 2014-04-30 2014-04-30 서비스 제공 방법, 전자 장치 및 저장 매체

Publications (2)

Publication Number Publication Date
KR20150125480A true KR20150125480A (ko) 2015-11-09
KR102202110B1 KR102202110B1 (ko) 2021-01-13

Family

ID=54358920

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140052947A KR102202110B1 (ko) 2014-04-30 2014-04-30 서비스 제공 방법, 전자 장치 및 저장 매체

Country Status (3)

Country Link
US (1) US10574603B2 (ko)
KR (1) KR102202110B1 (ko)
WO (1) WO2015167283A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170095482A (ko) * 2016-02-15 2017-08-23 주식회사 엘지유플러스 Ims 망 연동 장치 및 방법

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3022093A1 (fr) 2014-06-10 2015-12-11 Orange Procede d'etablissement d'une session webrtc
US9912705B2 (en) * 2014-06-24 2018-03-06 Avaya Inc. Enhancing media characteristics during web real-time communications (WebRTC) interactive sessions by using session initiation protocol (SIP) endpoints, and related methods, systems, and computer-readable media
US9860685B1 (en) * 2016-06-29 2018-01-02 Cisco Technology, Inc. Presence indicator signal
WO2018024325A1 (en) * 2016-08-03 2018-02-08 Telefonaktiebolaget Lm Ericsson (Publ) Guest user access in the ip multimedia subsystem ims
CN106453316B (zh) * 2016-10-14 2019-05-07 北京小米移动软件有限公司 一种语音通话方法及装置
CN107395490B (zh) * 2017-07-18 2020-01-14 Oppo广东移动通信有限公司 多媒体消息的发送方法、装置、存储介质及电子设备
CN112071312B (zh) * 2019-06-10 2024-03-29 海信视像科技股份有限公司 一种语音控制方法及显示设备
KR102254253B1 (ko) * 2019-12-18 2021-05-20 라인플러스 주식회사 인스턴트 메시징 어플리케이션을 통한 그룹 이벤트 참여 방법
CN112153140B (zh) * 2020-09-23 2022-12-06 Oppo广东移动通信有限公司 远程控制方法、装置、设备、存储介质及系统
CN112469007B (zh) * 2020-11-19 2024-06-04 何卓略 一种物联网系统的连接方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060190546A1 (en) * 2002-09-17 2006-08-24 Daniell W T Instant messaging (IM) internet chat capability from displayed email messages
US20110271192A1 (en) * 2010-04-30 2011-11-03 American Teleconferencing Services Ltd. Managing conference sessions via a conference user interface
US20140160225A1 (en) * 2012-12-11 2014-06-12 Avaya, Inc. Method and system for video conference and pc user experience integration

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4851516A (ko) 1971-10-21 1973-07-19
US7730336B2 (en) * 2006-05-30 2010-06-01 Ati Technologies Ulc Device having multiple graphics subsystems and reduced power consumption mode, software and methods
BRPI0520192B8 (pt) 2005-05-25 2018-12-26 Cluster Llc método para indicar o(s) serviço(s) de comunicação de subsistema de multimídia de ip e aplicativo terminal com que uma mensagem de protocolo de iniciação de sessão se relaciona e para operar um terminal de usuário ou nó de rede de ims
US8244816B2 (en) * 2009-09-14 2012-08-14 Skype System and method for controlling regularity of presence status transmission based on resource usage of a user transmitting node
CN102347950B (zh) 2011-09-29 2018-02-06 中兴通讯股份有限公司 电信网络向互联网提供会话服务的方法及系统
WO2014043165A2 (en) * 2012-09-11 2014-03-20 Vidyo, Inc. System and method for agent-based integration of instant messaging and video communication systems
US10084848B2 (en) * 2012-10-16 2018-09-25 At&T Intellectual Property I, L.P. Centralized control of user devices via universal IP services registrar/hub
US8695077B1 (en) 2013-03-14 2014-04-08 Sansay, Inc. Establishing and controlling communication sessions between SIP devices and website application servers
US9210379B2 (en) * 2014-02-27 2015-12-08 Google Inc. Displaying a presenter during a video conference

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060190546A1 (en) * 2002-09-17 2006-08-24 Daniell W T Instant messaging (IM) internet chat capability from displayed email messages
US20110271192A1 (en) * 2010-04-30 2011-11-03 American Teleconferencing Services Ltd. Managing conference sessions via a conference user interface
US20140160225A1 (en) * 2012-12-11 2014-06-12 Avaya, Inc. Method and system for video conference and pc user experience integration

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170095482A (ko) * 2016-02-15 2017-08-23 주식회사 엘지유플러스 Ims 망 연동 장치 및 방법

Also Published As

Publication number Publication date
US10574603B2 (en) 2020-02-25
US20170104704A1 (en) 2017-04-13
WO2015167283A1 (en) 2015-11-05
KR102202110B1 (ko) 2021-01-13

Similar Documents

Publication Publication Date Title
KR102202110B1 (ko) 서비스 제공 방법, 전자 장치 및 저장 매체
US10884692B2 (en) Electronic device and method for displaying and transmitting images thereof
US10261683B2 (en) Electronic apparatus and screen display method thereof
US9983767B2 (en) Apparatus and method for providing user interface based on hand-held position of the apparatus
KR102274043B1 (ko) 연락처를 표시하는 방법 및 이를 구현하는 전자장치
US10548003B2 (en) Electronic device for controlling an external device using a number and method thereof
US9860359B2 (en) Method for communicating with neighbor device, electronic device, and storage medium
US9591433B2 (en) Communication method, electronic device, and storage medium
KR102140290B1 (ko) 입력 처리 방법 및 그 전자 장치
EP3001300B1 (en) Method and apparatus for generating preview data
KR20160035753A (ko) 메시지 자동 생성 방법 및 장치
KR20150125464A (ko) 메시지 표시 방법 및 전자 장치
KR20160055337A (ko) 텍스트 표시 방법 및 그 전자 장치
KR20150124785A (ko) 화상 긴급 통화 서비스를 제공하는 전자 장치 및 방법
KR20150124128A (ko) 전자 장치 및 이의 작업 연계 방법
KR20150135911A (ko) Ui 효과 디스플레이 방법 및 전자 장치
US20150341827A1 (en) Method and electronic device for managing data flow
US10171651B2 (en) Electronic device and method for configuring message, and wearable electronic device and method for receiving and executing the message
KR20150128482A (ko) 전자 장치들 간의 연동 서비스 운용 방법 및 장치
KR20160026500A (ko) 전자 장치의 통화 단절 메시지 전송 방법 및 그 전자 장치
CN105993025B (zh) 用于创建通信组的方法和装置
KR102277217B1 (ko) 블록을 설정하는 전자 장치 및 방법
US20150280933A1 (en) Electronic device and connection method thereof
KR102250777B1 (ko) 컨텐츠 제공 방법 및 그 전자 장치
US20160028669A1 (en) Method of providing content and electronic device thereof

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