KR20150131519A - 로컬 네트워크 간 통신 방법 및 장치 - Google Patents

로컬 네트워크 간 통신 방법 및 장치 Download PDF

Info

Publication number
KR20150131519A
KR20150131519A KR1020140058253A KR20140058253A KR20150131519A KR 20150131519 A KR20150131519 A KR 20150131519A KR 1020140058253 A KR1020140058253 A KR 1020140058253A KR 20140058253 A KR20140058253 A KR 20140058253A KR 20150131519 A KR20150131519 A KR 20150131519A
Authority
KR
South Korea
Prior art keywords
local network
electronic device
communication
module
socket
Prior art date
Application number
KR1020140058253A
Other languages
English (en)
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 KR1020140058253A priority Critical patent/KR20150131519A/ko
Priority to US14/713,606 priority patent/US20150334193A1/en
Publication of KR20150131519A publication Critical patent/KR20150131519A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2567NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 개시의 다양한 실시예는 전자 장치의 로컬 네트워크 간 통신 방법에 관한 것으로, 상기 방법은 제 1 로컬 네트워크에 포함된 제 1 전자 장치에서, 제 2 로컬 네트워크에 포함된 제 2 전자 장치와 통신을 하기 위한 상기 제 2 전자 장치의 주소 정보를 제3전자 장치로부터 획득하는 동작, 상기 주소 정보에 기반하여, 상기 제 1 전자 장치가 상기 제 2 전자 장치와 통신 채널을 형성하는 동작 및 상기 통신 채널을 이용하여, 상기 제 1 전자 장치가 상기 제 1 로컬 네트워크 상에서 획득된 데이터를 상기 제 2 전자 장치로 전달하는 동작을 포함할 수 있다.
또한, 본 개시는 다양한 실시예들이 가능하다.

Description

로컬 네트워크 간 통신 방법 및 장치{Method and Apparatus for Communicating Between Local Networks}
다양한 실시예는 로컬 네크워크 통신 서비스에 관한 것이다.
다양한 전자 장치들은 통신 기능을 지원하는 통신 모듈을 탑재하고 있다. 탑재된 통신 모듈들은 각각의 통신 방식을 지원한다. 그리고 동일한 또는 호환 가능한 통신 방식으로 제작된 통신 모듈 간의 통신이 수행된다.
어떤 실시예에서는 지리적 또는 가상적으로 로컬 네트워크(Local Network) 내에 위치한 전자 장치들이 서로 연관되어 데이터나 음성을 송수신할 수 있도록 구현될 수 있다. 그리고 다른 로컬 네트워크에 위치한 전자 장치들 역시 그들 간에 서로 연관되어 데이터나 음성을 송수신할 수 있도록 구현될 수 있다. 그리고 로컬 네트워크들 간(Inter-Local Network)에 통신을 수행할 수 있다. 로컬 네트워크들 간 통신을 지원하고자 할 경우 대응하는 통신 모듈과 통신 방식이 지원되어야 한다. 다양한 로컬 네트워크들 간 통신을 수행하는 경우, 로컬 네트워크 내에서의 통신을 지원하는 통신 네트워크와 프로토콜 구축이 필요하며 또한 로컬 네트워크 간의 통신을 지원하는 통신 네트워크와 프로토콜 등의 구축이 별도로 필요하다. 로컬 네트워크들 내에서 송수신되는 데이터나 음성을 다른 로컬 네트워크로 전송하기 위하여 새로운 통신 네트워크와 프로토콜을 설계하고 구축하는 것은 큰 부담이 될 수 있다.
개시되는 다양한 실시예는 로컬 네트워크 간 통신을 보다 간단하게 제공할 수 있다.
또한 개시되는 다양한 실시예는 로컬 네트워크 간 통신 운용에서의 자원(resource)을 효율적으로 이용(예컨대 소켓의 재사용)할 수 있도록 한다.
다양한 실시예 중 한 실시예에 따른 전자 장치의 로컬 네트워크 간 통신 방법은 제 1 로컬 네트워크에 포함된 제 1 전자 장치에서, 제 2 로컬 네트워크에 포함된 제 2 전자 장치와 통신을 하기 위한 상기 제 2 전자 장치의 주소 정보를 제3전자 장치로부터 획득하는 동작, 상기 주소 정보에 기반하여, 상기 제 1 전자 장치가 상기 제 2 전자 장치와 통신 채널을 형성하는 동작 및 상기 통신 채널을 이용하여, 상기 제 1 전자 장치가 상기 제 1 로컬 네트워크 상에서 획득된 데이터를 상기 제 2 전자 장치로 전달하는 동작을 포함할 수 있다.
다양한 실시예 중 한 실시예에 따른 로컬 네트워크 간 통신을 지원하는 전자 장치는 로컬 네트워크 내의 통신 연결 및 타 로컬 네트워크와의 통신 연결을 지원하는 통신 모듈; 및 타 로컬 네트워크에 포함된 타 전자 장치의 주소 정보를 제3전자 장치로부터 획득하고, 상기 획득된 주소 정보를 기반으로 상기 타 로컬 네트워크에 포함된 타 전자 장치와 통신 채널을 형성하고, 상기 형성된 통신 채널을 기반으로 상기 로컬 네트워크 상에서 획득된 데이터를 상기 타 로컬 네트워크에 포함된 타 전자 장치로 전달하도록 상기 통신 모듈을 제어하는 제어 모듈을 포함할 수 있다.
개시되는 다양한 실시예에 따르면, 로컬 네트워크 간 통신 채널을 보다 효율적으로 생성하고 운용할 수 있다.
개시되는 다양한 실시예에 따르면, 로컬 네트워크 간 통신 운용 간 자원의 효율적 이용을 제공할 수 있다.
도 1은 본 개시의 한 실시예에 따른 로컬 네트워크 간 통신 시스템의 구성을 개략적으로 나타낸 도면이다.
도 2는 본 개시의 한 실시예에 따른 로컬 네트워크 간 통신을 지원하는 시스템 구성 중 전자 장치 구성을 설명하기 위한 도면이다.
도 3은 본 개시의 한 실시예에 따른 전자 장치 구성 중 제어 모듈의 구성을 설명하기 위한 도면이다.
도 4a는 본 개시의 한 실시예에 따른 로컬 네트워크 간 통신과 관련한 전자 장치의 운용 방법을 설명하기 위한 도면이다.
도 4b는 본 개시의 한 실시예에 따른 로컬 네트워크 간 통신과 관련한 전자 장치의 운용 방법을 설명하기 위한 도면이다.
도 5는 본 개시의 한 실시예에 따른 로컬 네트워크 간 통신과 관련한 전자 장치의 화면 인터페이스의 일예를 나타낸 도면이다.
도 6은 본 개시의 한 실시예에 따른 전자 장치의 블록도를 도시한 도면이다.
이하, 첨부된 도면을 참조하여 본 개시(present 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), 전자 문신, 또는 스마트 와치(smartwatch))중 적어도 하나를 포함할 수 있다.
어떤 실시예들에 따르면, 전자 장치는 로컬 네트워크 간 통신 기능을 갖춘 스마트 가전 제품(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), 보안 기기, 또는 산업용 또는 가정용 로봇 중 적어도 하나를 포함할 수 있다.
어떤 실시예들에 따르면, 전자 장치는 로컬 네트워크 간 통신 기능을 포함한 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 입력장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 본 개시에 따른 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 또한, 본 개시에 따른 전자 장치는 전술한 기기들에 한정되지 않음은 당업자에게 자명하다.
이하, 첨부된 도면을 참조하여 다양한 실시예에 따른 전자 장치에 대해서 살펴본다. 다양한 실시예에서 이용되는 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1은 본 개시의 한 실시예에 따른 로컬 네트워크 간 통신 시스템의 구성을 개략적으로 나타낸 도면이다.
상기 도 1을 참조하면, 본 개시의 한 실시예에 따른 로컬 네트워크 간 통신 시스템(10)은 제1 로컬 네트워크(11), 제2 로컬 네트워크(12) 및 서버(13)를 포함할 수 있다.
상술한 구성의 로컬 네트워크 간 통신 시스템(10)은 상기 제1 로컬 네트워크(11)의 지정된 전자 장치(이하 제1 전자 장치(101))가 상기 제2 로컬 네트워크(12)의 지정된 전자 장치(이하 제2 전자 장치(102))와 통신을 수행하도록 지원할 수 있다. 이 동작에서 상기 제1 전자 장치(101)는 제1 방화벽(11F)과 상기 제2 로컬 네트워크(12)의 제2 방화벽(12F)을 통하여 상기 제2 전자 장치(102)와 통신할 수 있다. 유사하게 상기 제2 전자 장치(102)는 상기 제2 방화벽(12F)과 상기 제1 로컬 네트워크(11)의 제1 방화벽(11F)을 통해 상기 제1 전자 장치(101)와 통신할 수 있다.
상기 제1 방화벽(11F) 및 상기 제2 방화벽(12F)은 사전에 지정된 전자 장치와 데이터를 송수신할 수 있도록 지원할 수 있다. 예를 들어, 상기 제1 방화벽(11F)은 제1 주소 값을 가지는 데이터를 수신하도록 처리할 수 있다. 상기 제2 방화벽(12F)은 제2 주소 값을 가지는 데이터를 수신하도록 처리할 수 있다. 상기 제1 방화벽(11F) 및 상기 제2 방화벽(12F)은 데이터 송신 동작을 제한하지 않도록 설계될 수 있다. 또는 설계 방식에 대응하여 상기 제1 방화벽(11F) 및 제2 방화벽(12F)은 데이터 송신 동작에서 데이터 송신을 제한하거나, 데이터 크기 제한을 수행할 수도 있다.
상기 제1 로컬 네트워크(11)는 적어도 하나의 전자 장치들을 포함할 수 있다. 제1 로컬 네트워크(11) 내에 포함된 전자 장치들은 유선 및 무선 중 적어도 하나를 통해 서로 연결될 수 있다. 상기 제1 로컬 네트워크(11)의 제1 전자 장치(101)는 나머지 전자 장치들과의 로컬 네트워크 서비스를 제어할 수 있다. 상기 제1 전자 장치(101)는 로컬 네트워크 내의 나머지 전자 장치들과 통신 채널을 연결할 수 있다. 예를 들어, 상기 제1전자 장치(101)는 소켓 통신을 통해 로컬 네트워크 내의 나머지 전자 장치들과 통신 채널을 연결할 수 있다. 예를 들어, 상기 제1전자 장치(101)는 제 1 로컬 네트워크(11) 내에서 타 전자 장치들과의 통신을 위한 소켓(이하 로컬 소켓)을 생성할 수 있다. 예를 들어, 상기 로컬 소켓은 ZeroMQ 방식의 소켓일 수 있다. 하지만 본 개시의 실시 예는 로컬 소켓이 ZeroMQ 방식의 소켓인 것으로 한정되지는 않으며, 다양한 방식(예컨대 TCP(Transmission Control Protocol) 또는 UDP(User Datagram Protocol))의 소켓이 될 수 있다.
상기 제1 전자 장치(101)는 제1로컬 네트워크(11) 내에서 전자 장치간 검색 및 데이터 전송을 제어하는 로컬 네트워크 제어 모듈(미도시)을 포함할 수 있다. 상기 로컬 네트워크 제어 모듈은 소프트웨어 개발 키트(Software Development Kit : SDK) 예를 들어, 삼성 코드 SDK(Samsung Chord SDK)가 될 수 있다.
한 실시예에 따르면, 상기 제1 전자 장치(101)의 로컬 네트워크 제어 모듈은 타 로컬 네트워크(예컨대 제2로컬 네트워크(12))와의 통신을 제어할 수 있다. 예를 들어, 상기 제1 전자 장치(101)의 로컬 네트워크 제어 모듈은 제2전자 장치(102)와 로컬 네트워크 간 통신 채널을 형성하도록 제어할 수 있다. 예를 들어, 상기 제1전자 장치(101)의 로컬 네트워크 제어 모듈은 홀 펀칭(Hole punching) 기술을 통해 제2전자 장치(102)와 통신 채널을 형성할 수 있다. 예를 들어, 상기 제1전자 장치(101)의 네트워크 제어 모듈은 제 2 로컬 네트워크(12)의 제2전자 장치(102)와 로컬 네트워크 간 통신을 위한 소켓(이하 홀 펀칭 소켓)을 생성할 수 있다. 예를 들어, 상기 홀 펀칭 소켓은 TCP 방식의 소켓일 수 있다. 하지만 본 개시의 실시 예는 홀 펀칭 소켓이 TCP 방식의 소켓인 것으로 한정되지는 않으며, 다양한 방식(예컨대 UDP 또는 ZeroMQ)의 소켓이 될 수 있다.
상기 제1전자 장치(101)의 로컬 네트워크 제어 모듈은 상기 홀 펀칭 소켓의 정보를 재사용(Reuse)하여 상기 로컬 소켓을 생성할 수 있다. 예를 들어, 제1전자 장치(101)는 홀 펀칭 소켓에 "SO_REUSEADDR" 또는 "SO_REUSEPORT" 옵션을 적용하여 홀 펀칭 소켓과 동일한 정보를 가지는 로컬 소켓을 생성하도록 할 수 있다. 또는, 상기 제1전자 장치(101)는 "SO_REUSEADDR" 또는 "SO_REUSEPORT" 옵션을 이용하여 홀 펀칭 소켓과 동일한 주소 정보(예컨대 IP 주소 및 포트 번호)로 바인드(Bind)된 복제 소켓을 생성하고, 로컬 소켓을 상기 복제 소켓으로 변경할 수 있다. 또는, 상기 제1전자 장치(101)는 사전에 생성된 로컬 소켓의 정보를 상기 홀 펀칭 소켓의 정보와 동일하게 변경할 수 있다. 또는, 상기 제1전자 장치(101)는 상기 로컬 소켓을 이용하는 로컬 네트워크 서비스에 홀 펀칭 소켓의 제어 권한을 부여할 수 있다. 예를 들어, 상기 홀 펀칭 소켓의 핸들러(handler)를 로컬 네트워크 서비스(또는 로컬 네트워크 서비스를 제어하는 제어 모듈)로 전달하여, 로컬 네트워크 서비스(또는 로컬 네트워크 서비스를 제어하는 제어 모듈)가 홀 펀칭 소켓을 제어하도록 할 수 있다. 여기서, 상기 "SO_REUSEADDR" 또는 "SO_REUSEPORT" 옵션은 소켓 통신에서 사용되는 다양한 옵션들 중 하나로, 널리 사용되는 공지된 기술이므로 상세한 설명을 생략하기로 한다. 또한, 이하에서는 설명의 편의를 위하여, 상술한 방법들을 홀 펀칭 소켓의 재사용으로 통칭하여 설명하기로 한다.
상기 홀 펀칭 소켓을 로컬 소켓으로 재사용함에 따라 상기 제1전자 장치(101)의 로컬 네트워크 제어 모듈은 제2전자 장치(102)가 속하는 제2로컬 네트워크(12)의 로컬 네트워크 서비스(예컨대 삼성 코드 SDK, 로컬 네트워크 내에서 동작하는 메신저, 화상 회의 등)를 이용할 수 있다.
제1방화벽(11F)은 제1 로컬 네트워크(11) 또는 상기 제1 로컬 네트워크(11)에 포함된 적어도 하나의 전자 장치에 포함될 수 있다. 상기 제1 방화벽(11F)은 제1 로컬 네트워크(11)에 포함된 적어도 하나의 전자 장치의 로컬 네트워크 간 통신을 제한할 수 있다. 예를 들어, 상기 제1 방화벽(11F)은 상기 제1 전자 장치(101)로 전송되는 데이터의 수신을 제한할 수 있다. 상세하게는, 상기 제1 방화벽(11F)은 지정된 주소 값을 가지는 데이터를 수신하고, 이를 제1 전자 장치(101)에 전달할 수 있다. 또는, 상기 제1 방화벽(11F)은 제2 전자 장치(102)가 전송한 데이터만을 수신하고, 이를 상기 제1 전자 장치(101)에 전달할 수 있다.
제2 로컬 네트워크(12)는 적어도 하나의 전자 장치들이 서로 통신 연결되어 형성될 수 있다. 제2 로컬 네트워크(12)에 포함된 적어도 하나의 전자 장치들은 유선 및 무선 중 적어도 하나의 방식으로 통신이 연결될 수 있다. 제2 로컬 네트워크(12)는 제1 로컬 네트워크(11)와 지리적으로 또는 가상적으로 서로 독립된 로컬 네트워크일 수 있다.
제2로컬 네트워크(12)의 제2 전자 장치(102)는 제1 전자 장치(101)와 유사하게 로컬 네트워크 제어 모듈을 포함할 수 있다. 예를 들어, 제2 전자 장치(102)의 로컬 네트워크 제어 모듈은 로컬 소켓을 통해 제2 로컬 네트워크(12) 내에 포함된 타 전자 장치들과의 로컬 네트워크 서비스를 제어할 수 있다. 또한, 상기 제2 전자 장치(102)의 로컬 네트워크 제어 모듈은 타 로컬 네트워크(예컨대 제1로컬 네트워크(11))와의 통신을 제어할 수 있다. 예를 들어, 상기 제2 전자 장치(102)의 로컬 네트워크 제어 모듈은 홀 펀칭 소켓의 재사용을 통해 제1 로컬 네트워크(11)에서 동작하는 로컬 네트워크 서비스를 이용할 수 있다. 예를 들어, 제2전자 장치(102)는 홀 펀칭 소켓에 "SO_REUSEADDR" 또는 "SO_REUSEPORT" 옵션을 적용하여 홀 펀칭 소켓과 동일한 정보를 가지는 로컬 소켓을 생성하도록 할 수 있다. 또는, 상기 제2전자 장치(102)는 "SO_REUSEADDR" 또는 "SO_REUSEPORT" 옵션을 이용하여 홀 펀칭 소켓과 동일한 주소 정보(예컨대 IP 주소 및 포트 번호)로 바인드(Bind)된 복제 소켓을 생성하고, 로컬 소켓을 상기 복제 소켓으로 변경할 수 있다. 또는, 상기 제2전자 장치(102)는 사전에 생성된 로컬 소켓의 정보를 상기 홀 펀칭 소켓의 정보와 동일하게 변경할 수 있다. 또는, 상기 제2전자 장치(102)는 상기 로컬 소켓을 이용하는 로컬 네트워크 서비스에 홀 펀칭 소켓의 제어 권한을 부여할 수 있다.
제2방화벽(12F)은 제2 로컬 네트워크(12) 또는 상기 제2 로컬 네트워크(12)에 포함된 적어도 하나의 전자 장치에 포함될 수 있다. 상기 제1방화벽(11F)와 유사하게, 상기 제2 방화벽(12F)은 제2 로컬 네트워크(12)에 포함된 적어도 하나의 전자 장치의 로컬 네트워크 간 통신을 제한할 수 있다. 예를 들어, 상기 제2 방화벽(12F)은 상기 제2 전자 장치(102)로 전송되는 데이터의 수신을 제한할 수 있다. 상세하게는, 상기 제2 방화벽(12F)은 지정된 주소 값을 가지는 데이터를 수신하고, 수신된 데이터를 제2 전자 장치(102)에 전달할 수 있다. 또는, 상기 제2 방화벽(12F)은 제1 전자 장치(101)가 전송한 데이터를 수신하고, 수신된 데이터를 상기 제2 전자 장치(102)에 전달할 수 있다.
서버(13)는 제1 방화벽(11F)이 배치된 제1 로컬 네트워크(11) 및 제2 방화벽(12F)이 배치된 제2 로컬 네트워크(12) 간의 통신을 지원할 수 있다. 상기 서버(13)는 TURN(Traversal Using Relay NAT) 서버 장치나 STUN(Simple Traversal of User Datagram Protocol [UDP] Through Network Address Translators [NATs]) 서버 장치 등으로 구성될 수 있다. 예를 들어, 상기 서버(13)는 SCS(Smart Connectivity Solution) 서버일 수 있다.
서버(13)는 제1로컬 네트워크(11)에 있는 적어도 하나의 전자 장치 및 제2로컬 네트워크(12)에 있는 적어도 하나의 전자 장치의 주소 정보를 저장할 수 있다. 예를 들어, 서버(13)는 제1로컬 네트워크(11)에 위치하는 전자 장치들 및 제2로컬 네트워크(12)에 위치하는 전자 장치들의 공인 IP(Internet Protocol) 정보, 사설 IP 정보 또는 포트 정보를 주소 정보로 저장할 수 있다.
서버(13)는 저장된 주소 정보를 이용하여 서로 다른 방화벽들을 가진 로컬 네트워크들에 배치된 전자 장치들 간의 직접 통신을 지원할 수 있다. 예를 들면, 서버(13)는 홀 펀칭(Hole Punching) 기술을 이용하여 제1 전자 장치(101)와 제2 전자 장치(102) 사이의 통신 채널 생성을 지원할 수 있다. 예를 들어, 상기 서버(13)는 제1전자 장치(101) 및 제2전자 장치(102)에 홀 펀칭 소켓을 생성하고, 상기 생성된 홀 펀칭 소켓들을 기반으로 통신 채널을 연결하도록 지원할 수 있다.
상술한 바와 같이, 본 개시의 실시예에 따른 네트워크 간 통신을 지원하는 시스템(10)은 로컬 네트워크 내에서 운용되도록 설계된 통신 방식, 통신 모듈, 또는 프로토콜 등의 변경을 수행하지 않고, 서로 다른 네트워크에 위치하는 전자 장치들 간 직접 통신을 위해 생성한 홀 펀칭 소켓을 로컬 네트워크 내의 통신을 위한 로컬 소켓으로 재사용할 수 있도록 지원한다. 예를 들어, 본 개시의 실시예에 따른 제1로컬 네트워크(11)에 속한 제1전자 장치(101)는 홀 펀칭 소켓의 재사용을 통해 제2로컬 네트워크(12) 내의 로컬 네트워크 서비스를 이용할 수 있다. 유사하게, 제2로컬 네트워크(12)에 속한 제2전자 장치(102)는 제1로컬 네트워크(11) 내의 로컬 네트워크 서비스를 이용할 수 있다. 다시 말해, 본 개시의 실시예는 로컬 네트워크 서비스를 제공하는 로컬 네트워크 영역을 타 로컬 네트워크 영역까지 확장할 수 있다.
도 2는 본 개시의 실시예에 따른 네트워크 간 통신을 지원하는 시스템 구성 중 전자 장치의 구성을 설명하기 위한 도면이다. 이하에서 설명하는 전자 장치는 제1 로컬 네트워크(11) 및 제2 로컬 네트워크(12) 중 적어도 하나의 네트워크에 배치되는 적어도 하나의 전자 장치일 수 있다. 예컨대 전자 장치(100)는 제1 로컬 네트워크(11)의 제1 전자 장치(101)일 수 있다. 또는 전자 장치(100)는 제2 로컬 네트워크(12)의 제2 전자 장치(102)일 수 있다.
본 개시의 다양한 실시예에서, 전자 장치(100)는 로컬 네트워크 간 통신과 관련해 생성한 홀 펀칭 소켓을 재사용하여 로컬 네트워크 내 통신에서 수집된 데이터의 전송 및 수신 처리를 수행할 수 있다. 이하 설명에서 제1 로컬 네트워크(11)의 제1 전자 장치(101) 또는 제2 로컬 네트워크(12)의 제2 전자 장치(102)의 동작 설명을 위해 각 전자 장치들의 구분 없이 도면 번호 100을 할당하고 전자 장치로서 명명하여 설명할 수 있다. 또한, 이하 설명에서 수신측과 송신측의 역할 구분이 필요한 경우 각 경우에 대응되도록 설명할 수 있다.
도 2를 참조하면, 본 개시의 한 실시예에 따른 전자 장치(100)는 제1 통신 모듈(110), 제2 통신 모듈(120), 오디오 처리 모듈(130), 표시 모듈(140), 저장 모듈(150), 입력 모듈(170) 및 제어 모듈(160)을 포함할 수 있다.
제1통신 모듈(110)은 로컬 네트워크 내 통신 또는 로컬 네트워크 간 통신을 지원할 수 있다. 상기 제1통신 모듈(110)은 유선 네트워크를 지원하는 통신 모듈(예컨대 유선 LAN(Local Area Network) 카드) 또는 근거리 무선 네트워크를 지원하는 통신 모듈(예컨대 와이파이(Wi-Fi) 통신 모듈)일 수 있다.
다양한 실시예에 따르면, 제1통신 모듈(110)은 제어 모듈(160)의 제어 하에 로컬 네트워크 내의 타 전자 장치들과 로컬 소켓을 통해 통신 채널을 형성할 수 있다. 제1통신 모듈(110)은 제어 모듈(160)의 제어 하에 로컬 네트워크 내 타 전자 장치들과 데이터를 송수신할 수 있다.
또한, 상기 제1통신 모듈(110)은 제어 모듈(160)의 제어 하에 타 로컬 네트워크의 전자 장치와 원격 통신 채널을 형성할 수 있다. 예를 들어, 상기 제1통신 모듈(110)은 제어 모듈(160)의 제어 하에 홀 펀칭 기법을 이용하여 홀 펀칭 소켓을 생성하고, 상기 생성된 홀 펀칭 소켓을 통해 타 로컬 네트워크의 지정된 전자 장치와 원격 통신 채널을 형성할 수 있다.
상기 제1통신 모듈(110)은 제어 모듈(160)의 제어 하에 서버(13)로부터 타 로컬 네트워크에 포함된 전자 장치의 주소 정보를 획득하고, 획득된 주소 정보를 기반으로 원격 통신 채널을 형성할 수 있다. 상기 제1통신 모듈(110)은 원격 통신 채널을 이용하여 타 로컬 네트워크에 포함된 전자 장치와 데이터를 송수신할 수 있다.
상기 제1통신 모듈(110)은 제어 모듈(160)의 제어 하에 원격 통신을 위한 홀 펀칭 소켓을 로컬 통신을 위한 로컬 소켓으로 재사용할 수 있다. 예를 들어, 상기 제1통신 모듈(110)은 제어 모듈(160)의 제어 하에 로컬 네트워크에서 수집된 데이터를 타 로컬 네트워크에 포함된 전자 장치에 송신하거나, 타 로컬 네트워크에 포함된 전자 장치로부터 데이터를 수신할 수 있다.
제2통신 모듈(120)은 이동 통신 기능을 지원하는 이동 통신 모듈일 수 있다. 예를 들어, 상기 제2통신 모듈(120)은 3G(Generation) 또는 4G 통신 모듈일 수 있다.
다양한 실시예에 따르면, 제2통신 모듈(120)은 제어 모듈(160)의 제어 하에 서버(13)와 통신 채널을 형성할 수 있다. 예를 들어, 제2통신 모듈(120)은 제어 모듈(160)의 제어 하에 제1통신 모듈(110)을 통해 타 로컬 네트워크에 포함된 전자 장치와 원격 통신 채널을 형성할 수 없는 경우 서버(13)로부터 타 로컬 네트워크에 포함된 전자 장치의 주소 정보를 수신하고, 수신된 주소 정보를 기반으로 원격 통신 채널을 형성할 수 있다. 제2통신 모듈(120)은 제어 모듈(160)의 제어 하에 로컬 네트워크 내에서 획득된 데이터를 타 로컬 네트워크에 포함된 전자 장치로 전송할 수 있다. 또는, 제2통신 모듈(120)은 제어 모듈(160)의 제어 하에 타 로컬 네트워크에 포함된 전자 장치로부터 타 로컬 네트워크에서 획득된 데이터를 수신할 수 있다.
오디오 처리 모듈(130)은 전자 장치(100) 운용 동작에서 생성되는 오디오 신호를 출력할 수 있다. 오디오 처리 모듈(130)은 전자 장치(100) 운용 동작에서 요청된 오디오 신호 수집을 수행할 수 있다. 예컨대 오디오 처리 모듈(130)은 스피커 및 마이크 중 적어도 하나를 포함할 수 있다. 스피커는 오디오 신호를 출력할 수 있다. 마이크는 오디오 신호를 수집할 수 있다. 한 실시예에 따르면, 오디오 처리 모듈(130)은 로컬 네트워크 내 타 전자 장치들과 송수신되는 오디오 신호를 출력할 수 있다. 다른 실시예에 따르면, 오디오 처리 모듈(130)은 타 로컬 네트워크로부터 수신된 오디오 신호를 출력할 수 있다. 다양한 실시예에 따르면, 오디오 처리 모듈(130)은 타 로컬 네트워크로 전송할 오디오 신호를 수집할 수 있다. 오디오 처리 모듈(130)을 통해 출력되거나 수집되는 오디오 신호는 홀 펀칭 기법을 통해 생성된 홀 펀칭 소켓을 이용하여 송수신 될 수 있다.
표시 모듈(140)은 전자 장치(100)의 운용과 관련한 적어도 하나의 화면을 출력할 수 있다. 예컨대, 표시 모듈(140)은 대기 화면, 메뉴 화면, 지정된 기능 수행 화면, 전원 공급이 차단된 슬립 화면, 잠금 화면 등 다양한 화면을 출력할 수 있다. 상기 표시 모듈(140)은 표시 패널과 터치 패널 또는 터치 시트를 포함할 수 있다. 상기 표시 모듈(140)은 터치 패널 또는 터치 시트에 기반하여 입력 수단으로 이용될 수 있다. 예컨대 표시 모듈(140)은 손 터치나 펜 터치를 지원할 수 있다. 표시 모듈(140)에서 발생한 터치 이벤트는 제어 모듈(160)에 전달되어 지정된 명령어 또는 명령어 셋으로 운용될 수 있다.
한 실시예에 따르면, 표시 모듈(140)은 로컬 네트워크 내 타 전자 장치들과 관련된 제1 통신 화면을 출력할 수 있다. 제1 통신 화면은 로컬 네트워크 내 타 전자 장치들의 식별 정보를 지정된 영역별로 구분하여 출력할 수 있다. 전자 장치(100)가 타 전자 장치들과 영상 정보를 송수신하는 경우, 제1 통신 화면은 각 전자 장치들에 대응되는 영상들을 포함한 화면일 수 있다. 또는 전자 장치(100)가 타 전자 장치들과 데이터(예컨대 텍스트 또는 이미지 정보)를 송수신하는 경우 제1 통신 화면은 각 전자 장치들이 제공한 데이터(예컨대, 텍스트 또는 이미지 정보)를 구분된 영역에 출력한 화면일 수 있다.
제1 통신 화면이 각 전자 장치들과 송수신하는 데이터를 구분하여 출력하는 동안 오디오 처리 모듈(130)은 적어도 하나의 전자 장치와 송수신하는 오디오 신호를 출력할 수 있다.
다른 실시예에 따르면, 표시 모듈(140)은 타 로컬 네트워크의 전자 장치들과 관련된 제2 통신 화면을 출력할 수 있다. 예컨대, 제2 통신 화면은 전자 장치(100)가 현재 속해 있는 제1 로컬 네트워크(11)이 아닌 제2 로컬 네트워크(12)에 속해있는 전자 장치들과 관련된 화면일 수 있다. 또는 제2 통신 화면은 제1 로컬 네트워크(11) 및 제2 로컬 네트워크(12)에 속한 전자 장치들과 관련된 화면일 수 있다.
저장 모듈(150)은 전자 장치(100) 운용과 관련한 다양한 데이터 및 프로그램을 저장할 수 있다. 예컨대, 저장 모듈(150)은 전자 장치(100) 운용과 관련한 운영체제를 저장할 수 있다. 저장 모듈(150)은 제1 통신 모듈(110) 운용과 관련한 통신 플랫폼이나 통신 프로토콜 관련 데이터를 저장할 수 있다. 저장 모듈(150)은 제2 통신 모듈(120) 운용과 관련한 통신 플랫폼이나 통신 프로토콜 관련 데이터를 저장할 수 있다.
한 실시예에 따르면, 저장 모듈(150)은 홀 펀칭 기법을 통해 생성한 홀 펀칭 소켓의 주소 정보를 임시 저장할 수 있다. 상기 임시 저장된 홀 펀칭 소켓의 주소 정보는 로컬 네트워크 내 통신 운용을 위하여 제어 모듈(160)에 의해 사용될 수 있다. 상기 주소 정보는 서버(13)에 저장될 수도 있다.
저장 모듈(150)은 제1 통신 화면과 관련된 데이터를 임시 저장할 수 있다. 저장 모듈(150)은 제2 통신 화면과 관련된 데이터를 임시 저장할 수 있다. 저장 모듈(150)은 제어 요청 발생 시 제1 통신 화면 및 제2 통신 화면 중 적어도 하나의 화면 데이터를 저장할 수 있다. 저장 모듈(150)은 통신 운용에서 발생한 오디오 데이터를 저장할 수 있다.
입력 모듈(170)은 전자 장치(100)의 운용과 관련한 입력 신호를 생성할 수 있다. 입력 모듈(170)은 물리력에 의해 입력 신호를 생성하는 하드웨어 물리키를 포함할 수 있다. 입력 모듈(170)은 사이드 키, 홈 키, 볼륨 키, 전원 키 등 다양한 키를 포함할 수 있다. 입력 모듈(170)은 터치 패드, 터치 패널, 터치 시트 등을 포함할 수 있다. 표시 모듈(140)이 터치스크린 형태로 마련되는 경우 표시 모듈(140)은 입력 모듈(170)에 포함될 수 있다. 상술한 입력 모듈(170)은 로컬 네트워크 내 통신 운용과 관련한 입력 신호, 로컬 네트워크 간 통신 운용과 관련한 입력 신호 등을 생성할 수 있다. 한 실시예에 따르면, 입력 모듈(170)은 로컬 네트워크 내 통신 운용 중에 타 로컬 네트워크와의 연결을 요청하는 입력 신호, 타 로컬 네트워크와 연결된 상태에서 타 로컬 네트워크와의 연결 해제를 요청하는 입력 신호 등을 생성할 수 있다. 생성된 입력 신호는 제어 모듈(160)에 전달되어 해당 기능 수행과 관련한 명령어 또는 명령어 셋으로 동작할 수 있다.
제어 모듈(160)은 전자 장치(100) 운용과 관련한 제어 신호의 생성과 전달, 데이터의 처리와 전달 등을 수행할 수 있다. 예컨대, 제어 모듈(160)은 로컬 네트워크 내 또는 로컬 네트워크 간 통신 운용을 제어할 수 있다. 한 실시예에 따르면, 제어 모듈(160)은 로컬 네트워크 내 통신 제어와 관련한 제어 신호의 생성과 전달을 제어할 수 있다. 또는, 제어 모듈(160)은 로컬 네트워크 내 통신 운용 중에 송수신되는 데이터의 수집과 출력 및 전달을 제어할 수 있다.
다양한 실시예에 따르면, 제어 모듈(160)은 타 로컬 네트워크와의 통신 채널 형성을 제어할 수 있다. 제어 모듈(160)은 타 로컬 네트워크에 속한 전자 장치들과 송수신되는 데이터의 수집과 출력을 제어할 수 있다.
다양한 실시예에 따르면, 제어 모듈(160)은 로컬 네트워크 내 통신 운용 중에 타 로컬 네트워크와의 통신 연결을 제어할 수 있다. 예를 들어, 로컬 네트워크 내 통신 운용 중 타 로컬 네트워크와의 통신 연결이 요청되면, 제어 모듈(160)은 홀 펀칭을 통해 타 로컬 네트워크에 속한 전자 장치와 통신을 위한 소켓을 생성하고, 생성된 소켓 또는 소켓 정보를 로컬 네트워크 내 통신을 위한 소켓으로 재사용할 수 있다. 또는, 제어 모듈(160)은 저장 모듈(150)에 로컬 네트워크 간 통신을 위한 소켓 정보가 존재하는지 확인하고, 존재하는 경우 저장된 소켓 정보를 로컬 네트워크 내 통신을 위한 소켓으로 재사용할 수 있다.
이 동작에서 제어 모듈(160)은 로컬 네트워크 내에서 수집되는 데이터를 재사용된 소켓을 통해 타 로컬 네트워크에 전달할 수 있다. 또는, 제어 모듈(160)은 타 로컬 네트워크가 전달한 데이터를 재사용된 소켓을 통해 로컬 네트워크 내 다른 전자 장치들에 전달할 수 있다. 제어 모듈(160)은 송수신되는 데이터를 표시 모듈(140) 및 오디오 처리 모듈(130) 중 적어도 하나를 이용하여 출력할 수 있다.
이상에서는, 제1통신 모듈(110)이 로컬 네트워크 내 통신 및 로컬 네트워크 간 통신을 처리하고, 제1통신 모듈(110)이 로컬 네트워크 간 통신을 이용할 수 없는 경우 제2통신 모듈(120)이 로컬 네트워크 간 통신을 처리하는 것으로 설명하였다. 하지만, 본 개시는 이에 한정되지 않는다. 예를 들어, 본 개시의 한 실시예에 따르면, 전자 장치(100)는 제1통신 모듈(110)을 이용하여 로컬 네트워크 내 통신(로컬 통신)을 처리하고, 제2통신 모듈(120)을 이용하여 로컬 네트워크 간 통신(원격 통신)을 처리할 수도 있다.
도 3은 본 개시의 실시예에 따른 전자 장치 구성 중 제어 모듈의 구성을 설명하기 위한 도면이다.
도 3을 참조하면, 제어 모듈(160)은 로컬 네트워크 제어 모듈(161)을 포함할 수 있다.
상기 로컬 네트워크 제어 모듈(161)은 유선 또는 무선 중 적어도 하나를 통해 로컬 네트워크 내에 포함된 전자 장치들과 로컬 통신 채널을 형성할 수 있다. 예를 들어, 상기 제1전자 장치(101)는 로컬 소켓을 생성하고, 생성된 로컬 소켓(예컨대 ZeroMQ 소켓)을 통해 로컬 네트워크 내의 전자 장치들과 로컬 통신 채널을 연결할 수 있다. 상기 로컬 통신 채널이 연결되면, 상기 로컬 네트워크 제어 모듈(161)은 로컬 네트워크 내에서 전자 장치간 검색 및 데이터 전송을 제어할 수 있다.
상기 로컬 네트워크 제어 모듈(161)은 타 로컬 네트워크와의 원격 통신을 제어할 수 있다. 예를 들어, 상기 로컬 네트워크 제어 모듈(161)은 로컬 네트워크 간 통신 요청 시 홀 펀칭(Hole punching) 기법을 통해 홀 펀칭 소켓을 생성하고, 생성된 홀 펀칭 소켓을 통해 타 로컬 네트워크의 지정된 전자 장치와 원격 통신 채널을 형성할 수 있다.
상기 홀 펀칭 소켓의 생성이 완료되면, 상기 로컬 네트워크 제어 모듈(161)은 상기 홀 펀칭 소켓을 상기 로컬 소켓으로 재사용할 수 있다. 상기 홀 펀칭 소켓을 로컬 소켓으로 재사용함에 따라 상기 로컬 네트워크 제어 모듈(161)은 타 로컬 네트워크의 리소스를 제어할 수 있다.
도 4a는 본 개시의 한 실시예에 따른 로컬 네트워크 간 통신과 관련한 전자 장치의 운용 방법을 설명하기 위한 도면이다.
상세한 설명에 앞서, 제1전자 장치는 제1로컬 네트워크에 포함된 타 전자 장치들과 통신 채널이 연결되었으며, 제2전자 장치는 제2로컬 네트워크에 포함된 타 전자 장치들과 통신 채널이 연결된 것으로 가정하기로 한다. 또한, 제1전자 장치 및 제2전자 장치는 로컬 네트워크 간 통신 채널 연결을 제어하는 제3전자 장치(예컨대 서버(13))에 등록(예컨대 로그인)된 것으로 가정하기로 한다. 예를 들어, 로컬 네트워크 간 통신 연결에 필요한 제1전자 장치 또는 제2전자 장치의 주소 정보가 제3전자 장치에 저장되어 있는 것으로 가정하기로 한다.
도 4a를 참조하면, 본 개시의 전자 장치 운용 방법은 동작 401에서, 제1로컬 네트워크에 포함된 제1전자 장치는 제2로컬 네트워크에 포함된 제2전자 장치의 주소 정보를 제3전자 장치(예컨대 서버(103))로부터 획득할 수 있다.
동작 403에서, 제1전자 장치는 획득된 주소 정보를 기반으로 제2전자 장치와 통신 채널을 형성할 수 있다. 예를 들어, 상기 제1전자 장치는 홀 펀칭 기술을 통해 제 1 로컬 네트워크와 제 2 로컬 네트워크 사이의 통신 연결을 소켓(홀 펀칭 소켓)을 생성하고, 생성된 소켓을 통해 제2전자 장치와 원격 통신 채널을 연결할 수 있다. 또한, 상기 제1전자 장치는 홀 펀칭 소켓을 상기 제1로컬 네트워크 내의 통신을 위한 소켓(로컬 소켓)으로 재사용할 수 있다.
동작 405에서, 제1전자 장치는 제1로컬 네트워크 상에서 획득되는 데이터(이미지, 동영상, 텍스트 등)를 제2전자 장치로 전달할 수 있다. 예를 들어, 상기 제1전자 장치는 상기 제2로컬 네트워크에서 동작하는 로컬 네트워크 서비스(화상 회의, IM 서비스, 삼성 코드 SDK 등)를 이용(또는 제어)할 수 있다.
도 4b는 본 개시의 실시예에 따른 네트워크 간 통신과 관련한 전자 장치 운용 방법을 설명하기 위한 도면이다.
도 4b를 참조하면, 본 개시의 전자 장치 운용 방법은 동작 431에서, 예컨대 제어 모듈(160)이 로컬 네트워크 운용을 수행할 수 있다. 한 실시예에 따르면, 제어 모듈(160)은 로컬 네트워크 내 통신과 관련한 메뉴 항목이나 아이콘을 표시 모듈(140)에 출력하도록 제어할 수 있다. 제어 모듈(160)은 상기 메뉴 항목이나 아이콘 선택과 관련한 입력 신호가 발생하면 제1 통신 모듈(110)을 활성화할 수 있다. 제어 모듈(160)은 활성화된 제1 통신 모듈(110)에 기반하여 로컬 네트워크 내 타 전자 장치들과의 통신 연결 및 데이터 송수신을 제어할 수 있다. 예컨대, 제어 모듈(160)은 로컬 네트워크 내 타 전자 장치 검색, 로컬 네트워크 내 타 전자 장치로부터 데이터 수신, 로컬 네트워크 내 타 전자 장치에 데이터 송신을 수행할 수 있다. 제어 모듈(160)은 수신된 데이터를 표시 모듈(140) 및 오디오 처리 모듈(130) 중 적어도 하나를 통하여 출력하도록 제어할 수 있다. 제어 모듈(160)은 자신이 수집한 데이터의 출력을 제어할 수도 있다.
동작 433에서, 예컨대 제어 모듈(160)은 로컬 네트워크 간 운용 요청이 발생하는지 확인할 수 있다. 상기 동작 433에서 로컬 네트워크 간 운용 요청이 없으면, 제어 모듈(160)은 전자 장치 종료와 관련한 입력 신호 발생을 확인하는 동작 441로 분기할 수 있다. 제어 모듈(160)은 로컬 네트워크 간 운용 요청과 관련하여 지정된 메뉴 항목이나 아이콘을 제공할 수 있다. 또는 제어 모듈(160)은 입력 모듈(170)의 지정된 버튼에 로컬 네트워크 간 운용 요청 기능을 할당할 수 있다. 상기 지정된 버튼이 눌려지면 제어 모듈(160)은 사전 지정된 타 로컬 네트워크와의 연결을 제어할 수 있다. 또는 제어 모듈(160)은 상기 지정된 버튼이 눌려지면, 타 로컬 네트워크의 지정된 전자 장치 관련한 주소 정보 입력 동작을 제어할 수 있다. 제어 모듈(160)은 주소 정보 입력과 관련한 화면을 표시 모듈(140)에 출력할 수 있다. 한 실시예에 따르면, 제어 모듈(160)은 적어도 하나의 타 로컬 네트워크의 지정된 전자 장치들의 리스트를 제공할 수도 있다. 제어 모듈(160)은 리스트 중 지정된 전자 장치 항목이 선택되면, 해당 전자 장치가 배치된 타 로컬 네트워크와의 통신 연결을 제어할 수 있다.
상기 동작 433에서 로컬 네트워크 간 운용 요청이 발생하면, 동작 435에서, 예컨대 제어 모듈(160)은 홀 펀칭을 수행할 수 있다. 홀 펀칭은 앞서 설명한 바와 같이 서버(13)를 통해 타 로컬 네트워크에 포함된 전자 장치와 통신할 수 있는 채널을 형성하는 기술이다. 예를 들어, 제어 모듈(160)은 로컬 네트워크 간 통신을 위한 홀 펀칭 소켓을 생성할 수 있다.
동작 437에서, 예컨대 제어 모듈(160)은 소켓 재사용을 수행할 수 있다. 한 실시예에 따르면, 제어 모듈(160)은 홀 펀칭을 통해 생성된 홀 펀칭 소켓을 로컬 네트워크 내 통신을 위한 소켓으로 재사용할 수 있다. 또는 제어 모듈(160)은 상술한 바와 같이 홀 펀칭 소켓의 정보를 기반으로 복제 소켓을 생성하고, 생성된 복제 소켓을 로컬 네트워크 내 통신을 위한 소켓으로 재사용할 수 있다.
동작 439에서, 예컨대 제어 모듈(160)은 로컬 네트워크 간 데이터 송수신을 제어할 수 있다. 이 동작에서 제어 모듈(160)은 재사용된 소켓을 통해 로컬 네트워크 내에서 획득된 데이터를 타 로컬 네트워크의 전자 장치로 전송하고, 타 로컬 네트워크의 전자 장치로부터 데이터를 수신할 수 있다. 제어 모듈(160)은 타 로컬 네트워크의 전자 장치로부터 데이터가 수신되면, 수신된 데이터를 로컬 네트워크 내 타 전자 장치에 전달할 수 있다.
동작 441에서, 예컨대 제어 모듈(160)은 종료 이벤트와 관련된 입력 신호 발생을 확인할 수 있다. 제어 모듈(160)은 종료 이벤트 관련 입력 신호 발생이 없으면 동작 431 이전으로 분기하여 이하 동작을 재수행할 수 있다. 동작 441에서 종료 이벤트 관련 입력 신호가 발생하면, 제어 모듈(160)은 전자 장치(100)의 로컬 네트워크 간 통신 운용을 종료할 수 있다. 예컨대 제어 모듈(160)은 전자 장치(100)를 슬립 모드로 천이할 수 있다. 또는 제어 모듈(160)은 전자 장치(100)의 전원 공급을 중지하도록 제어할 수 있다.
다양한 실시예에 따르면, 본 개시의 전자 장치의 로컬 네트워크 간 통신 방법은 제 1 로컬 네트워크에 포함된 제 1 전자 장치에서, 제 2 로컬 네트워크에 포함된 제 2 전자 장치와 통신을 하기 위한 상기 제 2 전자 장치의 주소 정보를 제3전자 장치로부터 획득하는 동작, 상기 주소 정보에 기반하여, 상기 제 1 전자 장치가 상기 제 2 전자 장치와 통신 채널을 형성하는 동작, 및 상기 통신 채널을 이용하여, 상기 제 1 전자 장치가 상기 제 1 로컬 네트워크 상에서 획득된 데이터를 상기 제 2 전자 장치로 전달하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 방법은 상기 제 1 전자 장치가 상기 제 2 로컬 네트워크에서 동작하는 로컬 네트워크 서비스를 제어하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 통신 채널을 형성하는 동작은 상기 제 1 로컬 네트워크와 상기 제 2 로컬 네트워크 사이의 통신을 위하여 생성된 제1소켓의 정보를 재사용하여 상기 제1로컬 네트워크 내의 통신을 위한 제2소켓을 생성하는 동작, 사전에 생성된 제2소켓의 정보를 상기 제1소켓의 정보와 동일하게 변경하는 동작 및 기 제1로컬 네트워크 내에서 동작하는 로컬 네트워크 서비스에 상기 제1소켓의 제어 권한을 부여하는 동작 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 상기 제2전자 장치와 통신 채널을 형성하는 동작은 홀 펀칭을 통해 통신 채널을 형성하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 방법은 상기 제1로컬 네트워크 내 통신 연결된 전자 장치들에 대응되는 정보를 출력하는 출력 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 출력 동작이 상기 제1로컬 네트워크 내 통신 연결된 전자 장치들이 전송하는 정지 영상 또는 동영상을 표시 모듈(140)의 일정 영역에 각 전자 장치별로 출력하는 동작, 상기 제1로컬 네트워크 내 통신 연결된 전자 장치들이 전송하는 텍스트 또는 이미지 중 적어도 하나를 표시 모듈의 일정 영역에 각 전자 장치별로 출력하는 동작, 상기 제1로컬 네트워크 내 통신 연결된 전자 장치들이 전송하는 오디오 데이터들 중 적어도 일부를 출력하는 동작 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 상기 방법은 상기 제1전자 장치가 상기 제2로컬 네트워크의 지정된 전자 장치로부터 수신된 정보를 출력하는 출력 동작을 더 포함할 수 있다.
한 실시예에 따르면, 상기 출력 동작이 상기 제2로컬 네트워크 내 통신 연결된 전자 장치들이 전송하는 정지 영상 또는 동영상을 표시 모듈(140)의 일정 영역에 상기 제2로컬 네트워크의 전자 장치별로 출력하는 동작, 상기 제2로컬 네트워크 내 통신 연결된 전자 장치들이 전송하는 텍스트 또는 이미지 중 적어도 하나를 표시 모듈(140)의 일정 영역에 상기 제2로컬 네트워크의 전자 장치별로 출력하는 동작, 상기 제2로컬 네트워크에 속한 전자 장치들이 전송하는 오디오 데이터들 중 적어도 일부를 출력하는 동작 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 상기 방법은 상기 제1로컬 네트워크 내 통신 연결된 전자 장치들에 대응되는 정보와 상기 제2로컬 네트워크의 지정된 전자 장치로부터 수신된 정보를 출력하는 출력 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 방법은 입력 신호 발생에 대응하여 상기 제1로컬 네트워크 내 통신 연결된 전자 장치들에 대응되어 화면에 출력된 정보를 제거하는 동작 또는 입력 신호 발생에 대응하여 상기 제2로컬 네트워크의 지정된 전자 장치로부터 수신되어 화면에 출력된 정보를 제거하는 동작 중 적어도 하나의 동작을 더 포함할 수 있다.
도 5는 본 개시의 실시예에 따른 네트워크 간 통신과 관련한 전자 장치의 화면 인터페이스의 일예를 나타낸 도면이다.
도 5를 참조하면, 본 개시의 실시예에 따른 전자 장치(100)는 화면 501에서와 같이 로컬 네트워크 내 통신과 관련한 제1 화면 구성(141)을 포함하는 제1 통신 화면을 표시 모듈(140)에 출력할 수 있다. 화면 501은 로컬 네트워크 내 4개의 전자 장치가 배치된 형태 또는 로컬 네트워크 내 다수의 전자 장치 중 4개의 전자 장치가 통신 연결된 상태를 예시한 것이다. 4개의 전자 장치는 서로 간에 데이터를 공유할 수 있다. 예컨대 화면 501은 로컬 네트워크 내 통신 연결된 전자 장치들 각각에서 출력될 수 있다. 또는 화면 501은 로컬 네트워크 내 통신 연결된 전자 장치들 중 지정된 전자 장치에 출력될 수 있다. 화면 501에서 "A, B, C, D" 영역은 각 전자 장치들이 제공한 데이터와 관련된 영역일 수 있다. 예컨대, "A, B, C, D" 영역은 각 전자 장치들에 배치된 카메라가 수집한 정지 영상 또는 동영상일 수 있다. 한 실시예에 따르면, "A, B, C, D" 영역은 각 전자 장치들이 입력한 문자나 이미지 정보가 표시되는 영역일 수 있다. 4개의 전자 장치들이 오디오 데이터를 수집하고 전달하는 경우, 오디오 처리 모듈(130)은 4개의 전자 장치들이 제공한 오디오 데이터들을 수신과 동시에 출력할 수 있다. 또는 오디오 처리 모듈(130)은 제어 모듈(160) 제어에 대응하여 지정된 전자 장치가 제공한 오디오 데이터를 선택적으로 출력할 수 있다.
화면 501의 "A, B, C, D" 영역은 연결되는 전자 장치들의 개수 증가나 감소에 대응하여 변경될 수 있다. 이 동작에서, 제어 모듈(160)은 전자 장치들의 개수 증가나 감소 시 화면의 영역들을 리사이징할 수 있다. 예컨대, 제어 모듈(160)은 전자 장치들의 개수가 증가하는 경우 화면 영역들 중 적어도 하나를 이전보다 작게 리사이징할 수 있다. 다른 실시예에 따르면, 제어 모듈(160)은 전자 장치들의 개수가 감소하는 경우 화면 영역들 중 적어도 하나를 이전보다 크게 리사이징할 수 있다.
화면 501에 대응되는 로컬 네트워크 내 통신 지원 상태에서, 로컬 네트워크 간 통신 요청이 발생하면, 제어 모듈(160)은 로컬 네트워크 간 통신 연결을 제어할 수 있다. 이 동작에서 표시 모듈(140)은 로컬 네트워크 간 통신 연결에 대응되는 화면을 출력할 수 있다. 다양한 실시예에 따르면, 전자 장치(100)는 화면 503에서와 같이 로컬 네트워크 간 통신과 관련한 제2 통신 화면을 표시 모듈(140)에 출력할 수 있다. 제2통신 화면은 이전 로컬 네트워크 내 전자 장치들과 관련된 제1화면 구성(141) 및 타 로컬 네트워크 내 전자 장치들과 관련된 제2화면 구성(142)을 포함할 수 있다. 제어 모듈(160)은 제1 화면 구성(141)을 화면 501과 대비하여 상대적으로 작게 리사이징하여 출력할 수 있다.
전자 장치(100)는 타 로컬 네트워크의 지정된 전자 장치로부터 해당 로컬 네트워크 내 데이터를 수신할 수 있다. 표시 모듈(140)은 타 로컬 네트워크로부터 수신된 데이터를 기반으로 제2 화면 구성(142)을 포함하는 제2 화면을 출력할 수 있다. 제2 화면 구성(142)은 "E, F, G" 영역을 포함할 수 있다. "E, F, G" 영역은 타 로컬 네트워크 내 배치된 전자 장치들에 대응되는 영역일 수 있다. 앞서 언급한 바와 같이 "E, F, G" 영역은 타 전자 장치들에 배치된 카메라가 수집한 영상, 타 전자 장치들이 제공한 텍스트나 이미지 중 적어도 하나가 출력되는 영역일 수 있다.
한 실시예에 따르면, 전자 장치(100)는 제2 화면 구성(142)만을 포함하는 다른 화면을 출력할 수도 있다. 예컨대, 제어 모듈(160)은 입력 신호 발생에 대응하여 제1 화면 구성(141)을 표시 모듈(140)에 제거할 수 있다. 또는 제어 모듈(160)은 입력 신호 발생에 대응하여 제1 화면 구성(141)의 각 영역들 중 적어도 하나를 제거할 수 있다. 또는 제어 모듈(160)은 입력 신호 발생에 대응하여 제2 화면 구성(142)의 각 영역들 중 적어도 하나를 화면에서 제거할 수 있다. 타 로컬 네트워크와의 연결이 종료되면, 제어 모듈(160)은 제2 화면 구성(142)을 제거할 수 있다.
어떤 실시예에서는, 상술한 설명에서는 제1 화면 구성(141)이 4개의 영역으로 구성되고, 제2 화면 구성(142)이 3개의 영역으로 구성되는 것으로 예시하였으나, 본 개시의 다양한 실시예들이 이에 한정되는 것은 아니다. 예컨대 로컬 네트워크 내 또는 타 로컬 네트워크에 배치되는 전자 장치들의 개수 증가나 감소에 의하여 화면 구성의 영역들은 변경될 수 있다.
도 6은 다양한 실시예들에 따른 전자 장치 601의 블록도 600를 도시한다.
도 6을 참조하면, 상기 전자 장치 601는 하나 이상의 어플리케이션 프로세서(AP: application processor) 610, 통신 모듈 620, SIM(subscriber identification module) 카드 624, 메모리 630, 센서 모듈 640, 입력 장치 650, 디스플레이 660, 인터페이스 670, 오디오 모듈 680, 카메라 모듈 691, 전력관리 모듈 695, 배터리 696, 인디케이터 697 및 모터 698 를 포함할 수 있다.
상기 AP 610 (예 : 상기 제어 모듈 160)는 운영체제 또는 응용 프로그램을 구동하여 상기 AP 610에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 멀티미디어 데이터를 포함한 각종 데이터 처리 및 연산을 수행할 수 있다. 예를 들어, 상기 AP 610는 로컬 네트워크 내 통신 및 로컬 네트워크 간 통신을 제어할 수 있다. 또한, 상기 AP 610는 로컬 네트워크 간 통신을 위한 소켓을 로컬 네트워크 통신을 위한 소켓으로 재사용하도록 제어할 수 있다.
상기 AP 610는, 예를 들면, SoC(system on chip) 로 구현될 수 있다. 한 실시예에 따르면, 상기 AP 610는 GPU(graphic processing unit, 미도시)를 더 포함할 수 있다.
상기 통신 모듈 620은 상기 전자 장치 601와 네트워크를 통해 연결된 다른 전자 장치들 또는 서버 간의 통신에서 데이터 송수신을 수행할 수 있다. 한 실시예에 따르면, 상기 통신 모듈 620은 셀룰러 모듈 621, Wifi 모듈 623, BT 모듈 625, GPS 모듈 627, NFC 모듈 628 및 RF(radio frequency) 모듈 629를 포함할 수 있다.
상기 셀룰러 모듈 621은 통신망(예: LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro 또는 GSM 등)을 통해서 음성 통화, 영상 통화, 문자 서비스 또는 인터넷 서비스 등을 제공할 수 있다. 또한, 상기 셀룰러 모듈 621은, 예를 들면, 가입자 식별 모듈(예: SIM 카드 624)을 이용하여 통신 네트워크 내에서 전자 장치의 구별 및 인증을 수행할 수 있다. 한 실시예에 따르면, 상기 셀룰러 모듈 621은 상기 AP 610가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 예를 들면, 상기 셀룰러 모듈 621은 멀티 미디어 제어 기능의 적어도 일부를 수행할 수 있다.
한 실시예에 따르면, 상기 셀룰러 모듈 621은 커뮤니케이션 프로세서(CP: communication processor)를 포함할 수 있다. 또한, 상기 셀룰러 모듈 621은, 예를 들면, SoC로 구현될 수 있다. 도 6에서는 상기 셀룰러 모듈 621(예: 커뮤니케이션 프로세서), 상기 메모리 630 또는 상기 전력관리 모듈 695 등의 구성요소들이 상기 AP 610와 별개의 구성요소로 도시되어 있으나, 한 실시예에 따르면, 상기 AP 610가 전술한 구성요소들의 적어도 일부(예: 셀룰러 모듈 621)를 포함하도록 구현될 수 있다.
한 실시예에 따르면, 상기 AP 610 또는 상기 셀룰러 모듈 621(예: 커뮤니케이션 프로세서)은 각각에 연결된 비휘발성 메모리 또는 다른 구성요소 중 적어도 하나로부터 수신한 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리할 수 있다. 또한, 상기 AP 610 또는 상기 셀룰러 모듈 621은 다른 구성요소 중 적어도 하나로부터 수신하거나 다른 구성요소 중 적어도 하나에 의해 생성된 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
상기 Wifi 모듈 623, 상기 BT 모듈 625, 상기 GPS 모듈 627 또는 상기 NFC 모듈 628 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. 도 6에서는 셀룰러 모듈 621, Wifi 모듈 623, BT 모듈 625, GPS 모듈 627 또는 NFC 모듈 628이 각각 별개의 블록으로 도시되었으나, 한 실시예에 따르면, 셀룰러 모듈 621, Wifi 모듈 623, BT 모듈 625, GPS 모듈 627 또는 NFC 모듈 628 중 적어도 일부(예: 두 개 이상)는 하나의 integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다. 예를 들면, 셀룰러 모듈 621, Wifi 모듈 623, BT 모듈 625, GPS 모듈 627 또는 NFC 모듈 628 각각에 대응하는 프로세서들 중 적어도 일부(예: 셀룰러 모듈 821에 대응하는 커뮤니케이션 프로세서 및 Wifi 모듈 623에 대응하는 Wifi 프로세서)는 하나의 SoC로 구현될 수 있다.
상기 RF 모듈 629는 데이터의 송수신, 예를 들면, RF 신호의 송수신을 할 수 있다. 상기 RF 모듈 629는, 도시되지는 않았으나, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter) 또는 LNA(low noise amplifier) 등을 포함할 수 있다. 또한, 상기 RF 모듈 629는 무선 통신에서 자유 공간상의 전자파를 송수신하기 위한 부품, 예를 들면, 도체 또는 도선 등을 더 포함할 수 있다. 도 6에서는 셀룰러 모듈 621, Wifi 모듈 623, BT 모듈 625, GPS 모듈 627 및 NFC 모듈 628이 하나의 RF 모듈 629을 서로 공유하는 것으로 도시되어 있으나, 한 실시예에 따르면, 셀룰러 모듈 621, Wifi 모듈 623, BT 모듈 625, GPS 모듈 627 또는 NFC 모듈 628 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호의 송수신을 수행할 수 있다.
상기 SIM 카드 624는 가입자 식별 모듈을 포함하는 카드일 수 있으며, 전자 장치의 특정 위치에 형성된 슬롯에 삽입될 수 있다. 상기 SIM 카드 624는 고유한 식별 정보(예: ICCID(integrated circuit card identifier)) 또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다.
상기 메모리 630(예: 상기 저장 모듈 150)는 내장 메모리 632 또는 외장 메모리 634를 포함할 수 있다. 상기 내장 메모리 632는, 예를 들면, 휘발성 메모리(예를 들면, 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 등) 중 적어도 하나를 포함할 수 있다.
한 실시예에 따르면, 상기 내장 메모리 632는 Solid State Drive (SSD)일 수 있다. 상기 외장 메모리 634는 flash drive, 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital) 또는 Memory Stick 등을 더 포함할 수 있다. 상기 외장 메모리 634는 다양한 인터페이스를 통하여 상기 전자 장치 601과 기능적으로 연결될 수 있다. 한 실시예에 따르면, 상기 전자 장치 601는 하드 드라이브와 같은 저장 장치(또는 저장 매체)를 더 포함할 수 있다.
상기 센서 모듈 640은 물리량을 계측하거나 전자 장치 601의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 상기 센서 모듈 640은, 예를 들면, 제스처 센서 640A, 자이로 센서 640B, 기압 센서 640C, 마그네틱 센서 640D, 가속도 센서 640E, 그립 센서 640F, 근접 센서 640G, color 센서 640H(예: RGB(red, green, blue) 센서), 생체 센서 640I, 온/습도 센서 640J, 조도 센서 640K 또는 UV(ultra violet) 센서 640M 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 센서 모듈 640은, 예를 들면, 후각 센서(E-nose sensor, 미도시), EMG 센서(electromyography sensor, 미도시), EEG 센서(electroencephalogram sensor, 미도시), ECG 센서(electrocardiogram sensor, 미도시), IR(infra red) 센서(미도시), 홍채 센서(미도시) 또는 지문 센서(미도시) 등을 포함할 수 있다. 상기 센서 모듈 640은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다.
상기 입력 장치 650은 터치 패널(touch panel) 652, (디지털) 펜 센서(pen sensor) 654, 키(key) 656 또는 초음파(ultrasonic) 입력 장치 658를 포함할 수 있다. 상기 터치 패널 652은, 예를 들면, 정전식, 감압식, 적외선 방식 또는 초음파 방식 중 적어도 하나의 방식으로 터치 입력을 인식할 수 있다. 또한, 상기 터치 패널 652은 제어 회로를 더 포함할 수도 있다. 정전식의 경우, 물리적 접촉 또는 근접 인식이 가능하다. 상기 터치 패널 652은 택타일 레이어(tactile layer)를 더 포함할 수도 있다. 이 경우, 상기 터치 패널 652은 사용자에게 촉각 반응을 제공할 수 있다.
상기 (디지털) 펜 센서 654는, 예를 들면, 사용자의 터치 입력을 받는 것과 동일 또는 유사한 방법 또는 별도의 인식용 쉬트(sheet)를 이용하여 구현될 수 있다. 상기 키 656는, 예를 들면, 물리적인 버튼, 광학식 키 또는 키패드를 포함할 수 있다. 상기 초음파(ultrasonic) 입력 장치 658는 초음파 신호를 발생하는 입력 도구를 통해, 전자 장치 601에서 마이크(예: 마이크 688)로 음파를 감지하여 데이터를 확인할 수 있는 장치로서, 무선 인식이 가능하다. 한 실시예에 따르면, 상기 전자 장치 601는 상기 통신 모듈 620를 이용하여 이와 연결된 외부 장치(예: 컴퓨터 또는 서버)로부터 사용자 입력을 수신할 수도 있다.
상기 디스플레이 660(예: 상기 표시 모듈 140)은 패널 662, 홀로그램 장치 664 또는 프로젝터 666을 포함할 수 있다. 상기 패널 662은, 예를 들면, LCD(liquid-crystal display) 또는 AM-OLED(active-matrix organic light-emitting diode) 등일 수 있다. 상기 패널 662은, 예를 들면, 유연하게(flexible), 투명하게(transparent) 또는 착용할 수 있게(wearable) 구현될 수 있다. 상기 패널 662은 상기 터치 패널 652과 하나의 모듈로 구성될 수도 있다. 상기 홀로그램 장치 664은 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 상기 프로젝터 666는 스크린에 빛을 투사하여 영상을 표시할 수 있다. 상기 스크린은, 예를 들면, 상기 전자 장치 601의 내부 또는 외부에 위치할 수 있다. 한 실시예에 따르면, 상기 디스플레이 660은 상기 패널 662, 상기 홀로그램 장치 664, 또는 프로젝터 666를 제어하기 위한 제어 회로를 더 포함할 수 있다.
상기 인터페이스 670는, 예를 들면, HDMI(high-definition multimedia interface) 672, USB(universal serial bus) 674, 광 인터페이스(optical interface) 676 또는 D-sub(D-subminiature) 678를 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 인터페이스 670는, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD(secure Digital) 카드/MMC(multi-media card) 인터페이스 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
상기 오디오 모듈 680은 소리(sound)와 전기신호를 쌍방향으로 변환시킬 수 있다. 상기 오디오 모듈 680은, 예를 들면, 스피커 682, 리시버 684, 이어폰 686 또는 마이크 688 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다.
상기 카메라 모듈 691은 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈(미도시), ISP(image signal processor, 미도시) 또는 플래쉬 (flash, 미도시)(예: LED 또는 xenon lamp)를 포함할 수 있다.
상기 전력 관리 모듈 695은 상기 전자 장치 601의 전력을 관리할 수 있다. 도시하지는 않았으나, 상기 전력 관리 모듈 695은, 예를 들면, PMIC(power management integrated circuit), 충전 IC(charger integrated circuit) 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다.
상기 PMIC는, 예를 들면, 집적회로 또는 SoC 반도체 내에 탑재될 수 있다. 충전 방식은 유선과 무선으로 구분될 수 있다. 상기 충전 IC는 배터리를 충전시킬 수 있으며, 충전기로부터의 과전압 또는 과전류 유입을 방지할 수 있다. 한 실시예에 따르면, 상기 충전 IC는 유선 충전 방식 또는 무선 충전 방식 중 적어도 하나를 위한 충전 IC를 포함할 수 있다. 무선 충전 방식으로는, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등이 있으며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로 또는 정류기 등의 회로가 추가될 수 있다.
상기 배터리 게이지는, 예를 들면, 상기 배터리 696의 잔량, 충전 중 전압, 전류 또는 온도를 측정할 수 있다. 상기 배터리 696는 전기를 저장 또는 생성할 수 있고, 그 저장 또는 생성된 전기를 이용하여 상기 전자 장치 601에 전원을 공급할 수 있다. 상기 배터리 696는, 예를 들면, 충전식 전지(rechargeable battery) 또는 태양 전지(solar battery)를 포함할 수 있다.
상기 인디케이터 697는 상기 전자 장치 601 혹은 그 일부(예: 상기 AP 610)의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 상기 모터 698는 전기적 신호를 기계적 진동으로 변환할 수 있다. 도시되지는 않았으나, 상기 전자 장치 601는 모바일 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)에 저장된 명령어로 구현될 수 있다. 상기 명령어는, 하나 이상의 프로세서 (예: 상기 프로세서 122)에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 상기 메모리 130가 될 수 있다. 상기 프로그래밍 모듈의 적어도 일부는, 예를 들면, 상기 프로세서210에 의해 구현(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)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
다양한 실시예에 따르면, 명령들을 저장하고 있는 저장 매체(또는 기록 매체)에 있어서, 상기 명령들은 적어도 하나의 프로세서에 의하여 실행될 때에 상기 적어도 하나의 프로세서로 하여금 적어도 하나의 동작을 수행하도록 설정된 것으로서, 상기 적어도 하나의 동작은, 제 1 로컬 네트워크에 포함된 제 1 전자 장치에서, 제 2 로컬 네트워크에 포함된 제 2 전자 장치와 통신을 하기 위한 상기 제 2 전자 장치의 주소 정보를 제3전자 장치로부터 획득하는 동작, 상기 주소 정보에 기반하여, 상기 제 1 전자 장치가 상기 제 2 전자 장치와 통신 채널을 형성하는 동작, 상기 통신 채널을 이용하여, 상기 제 1 전자 장치가 상기 제 1 로컬 네트워크 상에서 획득된 데이터를 상기 제 2 전자 장치로 전달하는 동작을 포함할 수 있다.
그리고 본 명세서와 도면에 개시된 본 발명의 실시예들은 본 개시의 내용을 쉽게 설명하고, 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 개시의 범위를 한정하고자 하는 것은 아니다. 따라서 본 개시의 범위는 여기에 개시된 실시예들 이외에도 본 개시의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.
다양한 실시 예에 따르면, 본 개시의 로컬 네트워크 간 통신을 지원하는 전자 장치는 로컬 네트워크 내의 통신 연결 및 타 로컬 네트워크와의 통신 연결을 지원하는 통신 모듈, 타 로컬 네트워크에 포함된 타 전자 장치의 주소 정보를 제3전자 장치로부터 획득하고, 상기 획득된 주소 정보를 기반으로 상기 타 로컬 네트워크에 포함된 타 전자 장치와 통신 채널을 형성하고, 상기 형성된 통신 채널을 기반으로 상기 로컬 네트워크 상에서 획득된 데이터를 상기 타 로컬 네트워크에 포함된 타 전자 장치로 전달하도록 상기 통신 모듈을 제어하는 제어 모듈을 포함할 수 있다.
다양한 실시예에 따르면, 상기 제어 모듈은 타 로컬 네트워크에서 동작하는 로컬 네트워크 서비스를 제어할 수 있다.
다양한 실시예에 따르면, 상기 제어 모듈은 상기 통신 채널 형성 시 상기 타 로컬 네트워크에 포함된 상기 타 전자 장치와의 통신을 위하여 생성된 제1소켓의 정보를 재사용하여 상기 로컬 네트워크 내의 통신을 위한 제2소켓을 생성하거나, 사전에 생성된 제2소켓의 정보를 상기 제1소켓의 정보와 동일하게 변경하거나, 상기 제1로컬 네트워크 내에서 동작하는 로컬 네트워크 서비스에 상기 제1소켓의 제어 권한을 부여할 수 있다.
다양한 실시예에 따르면, 상기 제어 모듈은 홀 펀칭을 이용하여 상기 타 로컬 네트워크에 포함된 상기 타 전자 장치와의 통신 채널을 형성할 수 있다.
다양한 실시예에 따르면, 상기 전자 장치는 상기 로컬 네트워크 내 통신 연결된 전자 장치들에 대응되는 정보 및 상기 타 로컬 네트워크의 지정된 전자 장치로부터 수신된 정보 중 적어도 하나를 출력하는 표시 모듈 및 오디오 처리 모듈 중 적어도 하나를 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 표시 모듈은 상기 로컬 네트워크 내 통신 연결된 전자 장치들이 전송하는 정지 영상 또는 동영상을 일정 영역에 각 전자 장치별로 출력하거나, 상기 로컬 네트워크 내 통신 연결된 전자 장치들이 전송하는 텍스트 또는 이미지 중 적어도 하나를 일정 영역에 각 전자 장치별로 출력할 수 있다.
다양한 실시예에 따르면, 상기 표시 모듈은 상기 타 로컬 네트워크 내 통신 연결된 전자 장치들이 전송하는 정지 영상 또는 동영상을 일정 영역에 상기 타 로컬 네트워크의 전자 장치별로 출력하거나, 상기 타 로컬 네트워크 내 통신 연결된 전자 장치들이 전송하는 텍스트 및 이미지 중 적어도 하나를 일정 영역에 상기 타 로컬 네트워크의 전자 장치별로 출력할 수 있다.
다양한 실시예에 따르면, 상기 오디오 처리 모듈은 상기 로컬 네트워크 내 통신 연결된 전자 장치들 또는 상기 타 로컬 네트워크 내 통신 연결된 전자 장치들이 전송하는 오디오 데이터들 중 적어도 일부를 출력할 수 있다.
다양한 실시예에 따르면, 상기 제어 모듈은 입력 신호 발생에 대응하여 상기 로컬 네트워크 내 통신 연결된 전자 장치들에 대응되어 화면에 출력된 정보 및 상기 타 로컬 네트워크의 특정 전자 장치로부터 수신되어 화면에 출력된 정보 중 적어도 하나를 제거할 수 있다.
10 : 로컬 네트워크 간 통신 시스템 11, 12 : 로컬 네트워크
13 : 서버 100 : 전자 장치
110 : 제1 통신 모듈 120 : 제2 통신 모듈
130 : 오디오 처리 모듈 140 : 표시 모듈
150 : 저장 모듈 160 : 제어 모듈
170 : 입력 모듈

Claims (20)

  1. 전자 장치의 로컬 네트워크 간 통신 방법에 있어서,
    제 1 로컬 네트워크에 포함된 제 1 전자 장치에서, 제 2 로컬 네트워크에 포함된 제 2 전자 장치와 통신을 하기 위한 상기 제 2 전자 장치의 주소 정보를 제 3 전자 장치로부터 획득하는 동작;
    상기 주소 정보에 기반하여, 상기 제 1 전자 장치가 상기 제 2 전자 장치와 통신 채널을 형성하는 동작; 및
    상기 통신 채널을 이용하여, 상기 제 1 전자 장치가 상기 제 1 로컬 네트워크 상에서 획득된 데이터를 상기 제 2 전자 장치로 전달하는 동작을 포함하는 방법.
  2. 제1항에 있어서,
    상기 제 1 전자 장치가 상기 제 2 로컬 네트워크에서 동작하는 로컬 네트워크 서비스를 제어하는 동작을 더 포함하는 방법.
  3. 제1항에 있어서,
    상기 통신 채널을 형성하는 동작은
    상기 제 1 로컬 네트워크와 상기 제 2 로컬 네트워크 사이의 통신을 위하여 생성된 제1소켓의 정보를 재사용하여 상기 제1로컬 네트워크 내의 통신을 위한 제2소켓을 생성하는 동작;
    사전에 생성된 제2소켓의 정보를 상기 제1소켓의 정보와 동일하게 변경하는 동작; 및
    상기 제1로컬 네트워크 내에서 동작하는 로컬 네트워크 서비스에 상기 제1소켓의 제어 권한을 부여하는 동작; 중 적어도 하나를 포함하는 방법.
  4. 제1항에 있어서,
    상기 제2전자 장치와 통신 채널을 형성하는 동작은
    홀 펀칭을 통해 통신 채널을 형성하는 동작;을 포함하는 방법.
  5. 제1항에 있어서,
    상기 제 1 로컬 네트워크 내 통신 연결된 전자 장치들에 대응되는 정보를 출력하는 출력 동작;을 더 포함하는 방법.
  6. 제5항에 있어서,
    상기 출력 동작이
    상기 제 1 로컬 네트워크 내 통신 연결된 전자 장치들이 전송하는 정지 영상 또는 동영상을 표시 모듈의 일정 영역에 각 전자 장치별로 출력하는 동작;
    상기 제 1 로컬 네트워크 내 통신 연결된 전자 장치들이 전송하는 텍스트 또는 이미지 중 적어도 하나를 표시 모듈의 일정 영역에 각 전자 장치별로 출력하는 동작;
    상기 제 1 로컬 네트워크 내 통신 연결된 전자 장치들이 전송하는 오디오 데이터들 중 적어도 일부를 출력하는 동작; 중 적어도 하나를 포함하는 방법.
  7. 제1항에 있어서,
    상기 제 1 전자 장치가 상기 제 2 로컬 네트워크의 지정된 전자 장치로부터 수신된 정보를 출력하는 출력 동작;을 더 포함하는 방법.
  8. 제7항에 있어서,
    상기 출력 동작이
    상기 제 2 로컬 네트워크 내 통신 연결된 전자 장치들이 전송하는 정지 영상 또는 동영상을 표시 모듈의 일정 영역에 상기 제 2 로컬 네트워크의 전자 장치별로 출력하는 동작;
    상기 제 2 로컬 네트워크 내 통신 연결된 전자 장치들이 전송하는 텍스트 또는 이미지 중 적어도 하나를 표시 모듈의 일정 영역에 상기 제 2 로컬 네트워크의 전자 장치별로 출력하는 동작;
    상기 제 2 로컬 네트워크에 속한 전자 장치들이 전송하는 오디오 데이터들 중 적어도 일부를 출력하는 동작; 중 적어도 하나를 포함하는 방법.
  9. 제1항에 있어서,
    상기 제 1 로컬 네트워크 내 통신 연결된 전자 장치들에 대응되는 정보와 상기 제 2 로컬 네트워크의 지정된 전자 장치로부터 수신된 정보를 출력하는 출력 동작;을 더 포함하는 방법.
  10. 제9항에 있어서,
    입력 신호 발생에 대응하여 상기 제 1로컬 네트워크 내 통신 연결된 전자 장치들에 대응되어 화면에 출력된 정보를 제거하는 동작;
    입력 신호 발생에 대응하여 상기 제 2 로컬 네트워크의 지정된 전자 장치로부터 수신되어 화면에 출력된 정보를 제거하는 동작; 중 적어도 하나의 동작을 더 포함하는 방법.
  11. 로컬 네트워크 간 통신을 지원하는 전자 장치에 있어서,
    로컬 네트워크 내의 통신 연결 및 타 로컬 네트워크와의 통신 연결을 지원하는 통신 모듈;
    타 로컬 네트워크에 포함된 타 전자 장치의 주소 정보를 제3전자 장치로부터 획득하고, 상기 획득된 주소 정보를 기반으로 상기 타 로컬 네트워크에 포함된 타 전자 장치와 통신 채널을 형성하고, 상기 형성된 통신 채널을 기반으로 상기 로컬 네트워크 상에서 획득된 데이터를 상기 타 로컬 네트워크에 포함된 타 전자 장치로 전달하도록 상기 통신 모듈을 제어하는 제어 모듈;을 포함하는 전자 장치.
  12. 제11항에 있어서,
    상기 제어 모듈은
    타 로컬 네트워크에서 동작하는 로컬 네트워크 서비스를 제어하는 전자 장치.
  13. 제11항에 있어서,
    상기 제어 모듈은
    상기 통신 채널 형성 시 상기 타 로컬 네트워크에 포함된 상기 타 전자 장치와의 통신을 위하여 생성된 제1소켓의 정보를 재사용하여 상기 로컬 네트워크 내의 통신을 위한 제2소켓을 생성하거나, 사전에 생성된 제2소켓의 정보를 상기 제1소켓의 정보와 동일하게 변경하거나, 상기 제1로컬 네트워크 내에서 동작하는 로컬 네트워크 서비스에 상기 제1소켓의 제어 권한을 부여하는 전자 장치.
  14. 제11항에 있어서,
    상기 제어 모듈은
    홀 펀칭을 이용하여 상기 타 로컬 네트워크에 포함된 상기 타 전자 장치와의 통신 채널을 형성하는 전자 장치.
  15. 제11항에 있어서,
    상기 로컬 네트워크 내 통신 연결된 전자 장치들에 대응되는 정보 및 상기 타 로컬 네트워크의 지정된 전자 장치로부터 수신된 정보 중 적어도 하나를 출력하는 표시 모듈 및 오디오 처리 모듈 중 적어도 하나를 더 포함하는 전자 장치.
  16. 제15항에 있어서,
    상기 표시 모듈이
    상기 로컬 네트워크 내 통신 연결된 전자 장치들이 전송하는 정지 영상 또는 동영상을 일정 영역에 각 전자 장치별로 출력하거나,
    상기 로컬 네트워크 내 통신 연결된 전자 장치들이 전송하는 텍스트 또는 이미지 중 적어도 하나를 일정 영역에 각 전자 장치별로 출력하는 전자 장치.
  17. 제15항에 있어서,
    상기 표시 모듈이
    상기 타 로컬 네트워크 내 통신 연결된 전자 장치들이 전송하는 정지 영상 또는 동영상을 일정 영역에 상기 타 로컬 네트워크의 전자 장치별로 출력하거나
    상기 타 로컬 네트워크 내 통신 연결된 전자 장치들이 전송하는 텍스트 및 이미지 중 적어도 하나를 일정 영역에 상기 타 로컬 네트워크의 전자 장치별로 출력하는 전자 장치.
  18. 제15항에 있어서,
    상기 오디오 처리 모듈이
    상기 로컬 네트워크 내 통신 연결된 전자 장치들 또는 상기 타 로컬 네트워크 내 통신 연결된 전자 장치들이 전송하는 오디오 데이터들 중 적어도 일부를 출력하는 전자 장치.
  19. 제15항에 있어서,
    상기 제어 모듈이
    입력 신호 발생에 대응하여 상기 로컬 네트워크 내 통신 연결된 전자 장치들에 대응되어 화면에 출력된 정보 및 상기 타 로컬 네트워크의 특정 전자 장치로부터 수신되어 화면에 출력된 정보 중 적어도 하나를 제거하는 전자 장치.
  20. 제 1 로컬 네트워크에 포함된 제 1 전자 장치에서, 제 2 로컬 네트워크에 포함된 제 2 전자 장치와 통신을 하기 위한 상기 제 2 전자 장치의 주소 정보를 제3전자 장치로부터 획득하는 동작;
    상기 주소 정보에 기반하여, 상기 제 1 전자 장치가 상기 제 2 전자 장치와 통신 채널을 형성하는 동작; 및
    상기 통신 채널을 이용하여, 상기 제 1 전자 장치가 상기 제 1 로컬 네트워크 상에서 획득된 데이터를 상기 제 2 전자 장치로 전달하는 동작을 포함하는 전자 장치의 로컬 네트워크 간 통신 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체.
KR1020140058253A 2014-05-15 2014-05-15 로컬 네트워크 간 통신 방법 및 장치 KR20150131519A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140058253A KR20150131519A (ko) 2014-05-15 2014-05-15 로컬 네트워크 간 통신 방법 및 장치
US14/713,606 US20150334193A1 (en) 2014-05-15 2015-05-15 Method and apparatus for inter-local network communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140058253A KR20150131519A (ko) 2014-05-15 2014-05-15 로컬 네트워크 간 통신 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20150131519A true KR20150131519A (ko) 2015-11-25

Family

ID=54539504

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140058253A KR20150131519A (ko) 2014-05-15 2014-05-15 로컬 네트워크 간 통신 방법 및 장치

Country Status (2)

Country Link
US (1) US20150334193A1 (ko)
KR (1) KR20150131519A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10043031B2 (en) * 2016-11-08 2018-08-07 Ebay Inc. Secure management of user addresses in network service
US11501349B2 (en) * 2020-11-24 2022-11-15 International Business Machines Corporation Advertisement metadata communicated with multimedia content

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1427140A1 (en) * 2002-12-04 2004-06-09 Deutsche Thomson-Brandt Gmbh Method for communication between nodes in peer-to-peer networks using common group label
KR100602633B1 (ko) * 2003-11-08 2006-07-19 삼성전자주식회사 패킷의 헤더를 압축하는 방법 및 그 장치
US7768939B1 (en) * 2007-01-02 2010-08-03 Juniper Networks, Inc. Network proxy with asymmetric connection connectivity
KR20090063732A (ko) * 2007-12-14 2009-06-18 한국전자통신연구원 전자 메일 서비스를 이용하는 피어 투 피어 서비스 시스템및 그 방법
US7801998B2 (en) * 2008-10-03 2010-09-21 Canon Kabushiki Kaisha Establishing and maintaining a connection by a client to a server within a network
KR101497630B1 (ko) * 2013-04-05 2015-03-03 삼성에스디에스 주식회사 모바일 환경에서의 p2p 접속 시스템 및 단말과 이를 이용한 p2p 접속 방법
US9787498B2 (en) * 2013-04-16 2017-10-10 Throughtek Co., Ltd. System and method of identifying networked device for establishing a P2P connection

Also Published As

Publication number Publication date
US20150334193A1 (en) 2015-11-19

Similar Documents

Publication Publication Date Title
US9805437B2 (en) Method of providing preview image regarding display setting for device
KR102194301B1 (ko) 전자 장치들의 통신 연결 방법 및 장치
KR102219857B1 (ko) 전자 장치 및 그 동작 방법
KR102246267B1 (ko) 근접 네트워크 구성 방법 및 그 전자 장치
EP2963889A1 (en) Method and apparatus for sharing data of electronic device
US20150310197A1 (en) Method of processing input and electronic device thereof
KR102206351B1 (ko) 전자 장치 및 이의 작업 연계 방법
KR20150045843A (ko) 전자 장치
US9398432B2 (en) Electronic device and method for controlling emergency call in electronic device
EP2911422A1 (en) Communication method, electronic device, and storage medium
KR20150099324A (ko) 전자 장치간 원격 제어 방법 및 그를 위한 시스템
KR102144588B1 (ko) 센서 모듈 및 이를 구비한 장치
KR20150100394A (ko) 이미지 표시 방법 및 장치
US20160381291A1 (en) Electronic device and method for controlling display of panorama image
KR102190436B1 (ko) 데이터를 송수신하는 전자 장치 및 방법
KR20150125464A (ko) 메시지 표시 방법 및 전자 장치
US10199760B2 (en) Electronic device including bidirectional connector
KR102161443B1 (ko) 스마트 홈 시스템의 피 제어 장치 검색 및 제어 방법과 장치
KR20150098161A (ko) 컨텐츠 생성 방법 및 그 전자 장치
US20150341827A1 (en) Method and electronic device for managing data flow
EP2905928B1 (en) Apparatus and method for providing metadata with network traffic
KR102220766B1 (ko) 메시지를 구성하는 전자 장치와 방법 및 메시지를 수신하여 실행하는 웨어러블 전자 장치와 방법
AU2015219606B2 (en) Method of providing preview image regarding display setting for device
KR102246270B1 (ko) 전자 장치 및 그 연동 방법
KR20150131519A (ko) 로컬 네트워크 간 통신 방법 및 장치

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid