KR102516019B1 - 외부 전자 장치와 통신하는 전자 장치 및 방법 - Google Patents

외부 전자 장치와 통신하는 전자 장치 및 방법 Download PDF

Info

Publication number
KR102516019B1
KR102516019B1 KR1020170116106A KR20170116106A KR102516019B1 KR 102516019 B1 KR102516019 B1 KR 102516019B1 KR 1020170116106 A KR1020170116106 A KR 1020170116106A KR 20170116106 A KR20170116106 A KR 20170116106A KR 102516019 B1 KR102516019 B1 KR 102516019B1
Authority
KR
South Korea
Prior art keywords
electronic device
external electronic
communication
wsb
usb
Prior art date
Application number
KR1020170116106A
Other languages
English (en)
Other versions
KR20190029052A (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 KR1020170116106A priority Critical patent/KR102516019B1/ko
Priority to US16/017,029 priority patent/US10585453B2/en
Priority to CN201811049525.9A priority patent/CN109491932B/zh
Priority to EP18193516.4A priority patent/EP3454225A1/en
Priority to PCT/KR2018/010598 priority patent/WO2019050374A1/en
Publication of KR20190029052A publication Critical patent/KR20190029052A/ko
Application granted granted Critical
Publication of KR102516019B1 publication Critical patent/KR102516019B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1601Constructional details related to the housing of computer displays, e.g. of CRT monitors, of flat displays
    • G06F1/1605Multimedia displays, e.g. with integrated or attached speakers, cameras, microphones
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1626Constructional details or arrangements for portable computers with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1675Miscellaneous details related to the relative movement between the different enclosures or enclosure parts
    • G06F1/1683Miscellaneous details related to the relative movement between the different enclosures or enclosure parts for the transmission of signal or power between the different housings, e.g. details of wired or wireless communication, passage of cabling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Abstract

다양한 실시 예에 따른 전자 장치에 있어서, 하우징, 사용자 인터페이스, 상기 하우징 내부에 배치된 무선 통신 회로, 상기 하우징을 통해 노출된 유선 통신 인터페이스, 상기 하우징 내부에 배치되며, 상기 사용자 인터페이스, 상기 무선 통신 회로 및 상기 유선 통신 인터페이스와 전기적으로 연결된 프로세서, 및 상기 하우징 내부에 배치되며, 상기 프로세서에 전기적으로 연결되는 메모리를 포함하며, 상기 메모리는, 실행시에, 상기 프로세서가, 상기 전자 장치가 디바이스로서 동작되고 외부 전자 장치가 호스트로서 동작되도록, 상기 무선 통신 회로 또는 상기 유선 통신 인터페이스를 이용하여 저장부를 포함하는 상기 외부 전자 장치와 제1 통신 채널을 설정하고, 상기 제1 통신 채널을 설정한 후, 상기 제1 통신 채널을 통해 상기 외부 전자 장치와 정보를 교환하고, 상기 전자 장치가 호스트로서 동작되고 상기 외부 전자 장치가 디바이스로서 동작되도록 상기 무선 통신 회로를 이용하여 상기 외부 전자 장치와 제2 통신 채널을 설정하도록 하는 명령어들을 저장할 수 있다. 다른 실시 예들도 가능할 수 있다.

Description

외부 전자 장치와 통신하는 전자 장치 및 방법{ELECTRONIC APPARATUS AND METHOD FOR COMMUNICATING WITH AN EXTERNAL ELECTRONIC DEVICE}
본 발명의 다양한 실시 예는 외부 전자 장치와 호스트 및 디바이스로 통신하는 전자 장치 및 방법에 관한 것이다.
전자 장치는 외부 전자 장치와 유선 또는 무선으로 연결될 수 있다. 예를 들어, 전자 장치는 USB 케이블을 이용하여 유선으로 외부 전자 장치와 연결하여 데이터 통신을 할 수 있다. 이 경우, 하나의 전자 장치는 USB 호스트로 동작하게 되고, 다른 하나의 전자 장치는 USB 디바이스로 동작된다. 다른 예를 들어, 전자 장치는 WSB(Wi-Fi serial bus)를 통해 외부 전자 장치와 무선으로 통신 연결되면, 연결된 전자 장치들 중 하나의 전자 장치는 USB 호스트로 동작하게 되고, 다른 하나의 전자 장치는 USB 디바이스로 동작하게 된다.
전자 장치는 외부 전자 장치와 무선 또는 유선으로 연결된 경우 호스트로 동작하는 경우에는 상기 외부 전자 장치에 저장된 파일을 확인하고 사용할 수 있으나, 디바이스로 동작하는 경우에는 상기 외부 전자 장치에 저장된 파일을 확인하거나 사용할 수 없어, 전자 장치가 제공하는 서비스의 제약이 발생할 수 있다.
본 발명의 다양한 실시 예에 따르면, 전자 장치는 외부 전자 장치와 연결 시 호스트 및 디바이스로 동작할 수 있다.
본 발명의 다양한 실시 예는 전자 장치에 있어서, 하우징, 사용자 인터페이스, 상기 하우징 내부에 배치된 무선 통신 회로, 상기 하우징을 통해 노출된 유선 통신 인터페이스, 상기 하우징 내부에 배치되며, 상기 사용자 인터페이스, 상기 무선 통신 회로 및 상기 유선 통신 인터페이스와 전기적으로 연결된 프로세서, 및 상기 하우징 내부에 배치되며, 상기 프로세서에 전기적으로 연결되는 메모리를 포함하며, 상기 메모리는, 실행시에, 상기 프로세서가, 상기 전자 장치가 디바이스로서 동작되고 저장부를 포함하는 외부 전자 장치가 호스트로서 동작되도록, 상기 무선 통신 회로 또는 상기 유선 통신 인터페이스를 이용하여 상기 외부 전자 장치와 제1 통신 채널을 설정하고, 상기 제1 통신 채널을 설정한 후, 상기 제1 통신 채널을 통해 상기 외부 전자 장치와 정보를 교환하고, 상기 전자 장치가 호스트로서 동작되고 상기 외부 전자 장치가 디바이스로서 동작되도록 상기 무선 통신 회로를 이용하여 상기 외부 전자 장치와 제2 통신 채널을 설정하도록 하는 명령어들을 저장할 수 있다.
본 발명의 다양한 실시 예는 전자 장치에 있어서, 하우징, 사용자 인터페이스, 상기 하우징 내부에 배치된 무선 통신 회로, 상기 하우징 내부에 배치되며, 상기 사용자 인터페이스 및 상기 무선 통신 회로에 전기적으로 연결된 프로세서, 및 상기 하우징 내부에 배치되며, 상기 프로세서에 전기적으로 연결되는 메모리를 포함하며, 상기 메모리는, 실행시에, 상기 프로세서가, 상기 전자 장치가 디바이스로서 동작되고, 저장부를 포함하는 외부 전자 장치가 호스트로서 동작되도록, 상기 무선 통신 회로를 이용하여 상기 외부 전자 장치와 제1 통신 채널을 설정하고, 상기 제1 통신 채널을 설정한 후, 상기 제1 통신 채널을 통해 상기 외부 전자 장치와 정보를 교환하고, 상기 전자 장치가 호스트로서 동작되고 상기 외부 전자 장치가 디바이스로서 동작되도록 상기 무선 통신 회로를 이용하여 상기 외부 전자 장치와 제2 통신 채널을 설정하도록 하는 명령어들을 저장할 수 있다.
본 발명의 다양한 실시 예는 전자 장치에 있어서, 하우징, 사용자 인터페이스, 상기 하우징 내부에 배치된 무선 통신 회로, 상기 하우징을 통해 노출된 유선 통신 인터페이스, 상기 하우징 내부에 배치되며, 상기 사용자 인터페이스, 상기 무선 통신 회로 및 상기 유선 통신 인터페이스와 전기적으로 연결된 프로세서, 및 상기 하우징 내부에 배치되며, 상기 프로세서에 전기적으로 연결되는 메모리를 포함하며, 상기 메모리는, 실행시에, 상기 프로세서가, 상기 전자 장치가 호스트로서 동작되고 저장부를 포함하는 외부 전자 장치가 디바이스로서 동작되도록, 상기 무선 통신 회로 또는 상기 유선 통신 인터페이스를 이용하여 상기 외부 전자 장치와 제1 통신 채널을 설정하고, 상기 제1 통신 채널을 설정한 후, 상기 제1 통신 채널을 통해 상기 외부 전자 장치와 정보를 교환하고, 상기 전자 장치가 디바이스로서 동작되고 상기 외부 전자 장치가 호스트로서 동작되도록 상기 무선 통신 회로를 이용하여 상기 외부 전자 장치와 제2 통신 채널을 설정하도록 하는 명령어들을 저장할 수 있다.
본 발명의 다양한 실시 예에 따르면, 전자 장치간 듀얼 롤(dual role)을 제공함으로써, 전자 장치는 외부 전자 장치와 연결시 호스트 장치와 디바이스 장치의 기능을 수행할 수 있다.
본 발명의 다양한 실시 예에 따르면, 전자 장치는 외부 전자 장치와 재연결을 수행하지 않고 호스트와 디바이스의 기능을 수행할 수 있다.
도 1은 다양한 실시 예에 따른 네트워크 환경 내의 전자 장치가 기재된다.
도 2는 다양한 실시예에 따른 전자 장치의 블럭도이다.
도 3은 다양한 실시 예에 따른 프로그램 모듈의 블럭도이다.
도 4a는 본 발명의 다양한 실시 예에 따른 전자 장치와 외부 전자 장치가 듀얼 롤을 통해 연결된 예시도이다.
도 4b는 본 발명의 다양한 실시 예에 따른 USB 통신과 WSB 통신을 지원하는 전자 장치의 블럭도이다.
도 5a는 본 발명의 다양한 실시 예에 따른 전자 장치와 외부 전자 장치가 USB 케이블로 연결된 예시도이다.
도 5b는 본 발명의 다양한 실시 예에 따른 전자 장치와 외부 전자 장치가 WSB로 연결된 예시도이다.
도 5c는 본 발명의 다양한 실시 예에 따른 전자 장치와 외부 전자 장치가 USB 케이블 및 WSB로 연결된 예시도이다.
도 5d는 본 발명의 다양한 실시 예에 따른 전자 장치와 외부 전자 장치가 제1 WSB 및 제2 WSB로 연결된 예시도이다.
도 6은 본 발명의 다양한 실시 예에 따른 전자 장치가 외부 전자 장치와 통신하는 동작을 나타낸 순서도이다.
도 7은 본 발명의 다양한 실시 예에 따른 전자 장치가 외부 전자 장치와 서로 다른 복수의 롤로 통신을 수행하는 동작을 나타낸 순서도이다.
도 8은 본 발명의 일 실시 예에 따른 전자 장치와 외부 전자 장치가 유선 통신 인터페이스에 기반한 제1 연결 및 무선 통신 회로에 기반한 제2 연결을 수행하는 동작을 나타낸 순서도이다.
도 9는 본 발명의 일 실시 예에 따른 전자 장치와 외부 전자 장치가 WSB에 기반한 제1 연결 및 제2 연결을 설정하는 동작을 나타낸 순서도이다.
도 10은 본 발명의 다른 실시 예에 따른 전자 장치와 외부 전자 장치가 한 번의 디스커버리를 통해 복수의 WSB 연결을 수행하는 동작을 나타낸 순서도이다.
도 11은 본 발명의 일 실시 예에 따른 전자 장치와 외부 전자 장치가 다중 P2P 그룹을 활용하여 다중 세션을 설정하는 동작을 나타낸 순서도이다.
도 12는 본 발명의 일 실시 예에 따른 전자 장치 및 외부 전자 장치가 USB 및 WSB를 통해 듀얼 롤에 기반하여 연결된 예시도이다.
도 13a는 본 발명의 일 실시 예에 따른 전자 장치 및 외부 전자 장치가 USB를 통해 연결하는 예시도이다.
도 13b는 본 발명의 일 실시 예에 따른 전자 장치 및 외부 전자 장치가 USB를 통해 연결된 상태에서 WSB를 연결하는 예시도이다.
도 14는 본 발명의 일 실시 예에 따른 전자 장치가 듀얼 롤에 기반하여 복수의 외부 전자 장치와 통신을 수행하는 예시도이다.
도 15는 본 발명의 다른 실시 예에 따른 전자 장치가 듀얼 롤에 기반하여 복수의 외부 전자 장치와 통신을 수행하는 예시도이다.
도 16은 본 발명의 일 실시 예에 따른 전자 장치와 외부 전자 장치간의 WSB 서비스 셋업을 나타낸 예시도이다.
이하, 본 문서의 다양한 실시예들이 첨부된 도면을 참조하여 기재된다. 실시예 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B" 또는 "A 또는 B 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1," "제 2," "첫째," 또는 "둘째,"등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.
본 문서에서, "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, 하드웨어적 또는 소프트웨어적으로 "~에 적합한," "~하는 능력을 가지는," "~하도록 변경된," "~하도록 만들어진," "~를 할 수 있는," 또는 "~하도록 설계된"과 상호 호환적으로(interchangeably) 사용될 수 있다. 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서의 다양한 실시예들에 따른 전자 장치는, 예를 들면, 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드 또는 문신), 또는 생체 이식형 회로 중 적어도 하나를 포함할 수 있다. 어떤 실시예들에서, 전자 장치는, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토매이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 드론(drone), 금융 기관의 ATM, 상점의 POS(point of sales), 또는 사물 인터넷 장치 (예: 전구, 각종 센서, 스프링클러 장치, 화재 경보기, 온도조절기, 가로등, 토스터, 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다. 어떤 실시예에 따르면, 전자 장치는 가구, 건물/구조물 또는 자동차의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터, 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시예에서, 전자 장치는 플렉서블하거나, 또는 전술한 다양한 장치들 중 둘 이상의 조합일 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1을 참조하여, 다양한 실시예에서의, 네트워크 환경(100) 내의 전자 장치(101)가 기재된다.
전자 장치(101)는 버스(110), 프로세서(120), 메모리(130), 입출력 인터페이스(150), 디스플레이(160), 및 통신 인터페이스(170)를 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)는, 구성요소들 중 적어도 하나를 생략하거나 다른 구성요소를 추가적으로 구비할 수 있다. 버스(110)는 구성요소들(110-170)을 서로 연결하고, 구성요소들 간의 통신(예: 제어 메시지 또는 데이터)을 전달하는 회로를 포함할 수 있다. 프로세서(120)는, 중앙처리장치, 어플리케이션 프로세서, 또는 커뮤니케이션 프로세서(communication processor(CP)) 중 하나 또는 그 이상을 포함할 수 있다. 프로세서(120)는, 예를 들면, 전자 장치(101)의 적어도 하나의 다른 구성요소들의 제어 또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.
메모리(130)는, 휘발성 또는 비휘발성 메모리를 포함할 수 있다. 메모리(130)는, 예를 들면, 전자 장치(101)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시예에 따르면, 메모리(130)는 소프트웨어 또는 프로그램(140)을 저장할 수 있다. 프로그램(140)은, 예를 들면, 커널(141), 미들웨어(143), 어플리케이션 프로그래밍 인터페이스(API)(145), 또는 어플리케이션 프로그램(또는 "어플리케이션")(147) 등을 포함할 수 있다. 커널(141), 미들웨어(143), 또는 API(145)의 적어도 일부는, 운영 시스템으로 지칭될 수 있다. 커널(141)은, 예를 들면, 다른 프로그램들(예: 미들웨어(143), API(145), 또는 어플리케이션 프로그램(147))에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스(110), 프로세서(120), 또는 메모리(130) 등)을 제어 또는 관리할 수 있다. 또한, 커널(141)은 미들웨어(143), API(145), 또는 어플리케이션 프로그램(147)에서 전자 장치(101)의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
미들웨어(143)는, 예를 들면, API(145) 또는 어플리케이션 프로그램(147)이 커널(141)과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 미들웨어(143)는 어플리케이션 프로그램(147)으로부터 수신된 하나 이상의 작업 요청들을 우선 순위에 따라 처리할 수 있다. 예를 들면, 미들웨어(143)는 어플리케이션 프로그램(147) 중 적어도 하나에 전자 장치(101)의 시스템 리소스(예: 버스(110), 프로세서(120), 또는 메모리(130) 등)를 사용할 수 있는 우선 순위를 부여하고, 상기 하나 이상의 작업 요청들을 처리할 수 있다. API(145)는 어플리케이션(147)이 커널(141) 또는 미들웨어(143)에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 영상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다. 입출력 인터페이스(150)는, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 전자 장치(101)의 다른 구성요소(들)에 전달하거나, 또는 전자 장치(101)의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다.
디스플레이(160)는, 예를 들면, 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 마이크로 전자기계 시스템 (MEMS) 디스플레이, 또는 전자종이(electronic paper) 디스플레이를 포함할 수 있다. 디스플레이(160)는, 예를 들면, 사용자에게 각종 콘텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 또는 심볼 등)을 표시할 수 있다. 디스플레이(160)는, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스쳐, 근접, 또는 호버링 입력을 수신할 수 있다. 통신 인터페이스(170)는, 예를 들면, 전자 장치(101)와 외부 전자 장치(예: 제 1 외부 전자 장치(102), 제 2 외부 전자 장치(104), 또는 서버(106)) 간의 통신을 설정할 수 있다. 예를 들면, 통신 인터페이스(170)는 무선 통신 또는 유선 통신을 통해서 네트워크(162)에 연결되어 외부 전자 장치(예: 제 2 외부 전자 장치(104) 또는 서버(106))와 통신할 수 있다. 예를 들면, 통신 인터페이스(170)는 적어도 하나의 WSB 통신에 기반하여 적어도 하나의 제1 외부 전자 장치(102)와 무선 통신을 할 수 있다.
무선 통신은, 예를 들면, LTE, LTE-A(LTE advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(wireless broadband), 또는 GSM(global system for mobile communications) 등 중 적어도 하나를 사용하는 셀룰러 통신을 포함할 수 있다. 한 실시예에 따르면, 무선 통신은, 도 1의 element 164로 예시된 바와 같이, 예를 들면, Wi-Fi(wireless fidelity), LiFi(light fidelity), 블루투스, 블루투스 저전력(BLE), 지그비(ZigBee), NFC(near field communication), 자력 시큐어 트랜스미션(magnetic secure transmission), 라디오 프리퀀시(RF), 또는 보디 에어리어 네트워크(BAN) 중 적어도 하나를 포함할 수 있다. 한 실시예에 따르면, 무선 통신은 GNSS를 포함할 수 있다. GNSS는, 예를 들면, GPS(global positioning system), Glonass(global navigation satellite system), beidou navigation satellite system(이하 "Beidou") 또는 Galileo, the european global satellite-based navigation system일 수 있다. 이하, 본 문서에서는, "GPS"는 "GNSS"와 상호 호환적으로 사용될 수 있다. 통신 인터페이스(170)의 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard232), 전력선 통신, 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 네트워크(162)는 텔레커뮤니케이션 네트워크, 예를 들면, 컴퓨터 네트워크(예: LAN 또는 WAN), 인터넷, 또는 텔레폰 네트워크 중 적어도 하나를 포함할 수 있다.
제 1 및 제 2 외부 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 다양한 실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자 장치(예: 전자 장치(102,104), 또는 서버(106)에서 실행될 수 있다. 한 실시예에 따르면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 장치(예: 전자 장치(102, 104), 또는 서버(106))에게 요청할 수 있다. 다른 전자 장치(예: 전자 장치(102, 104), 또는 서버(106))는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
본 발명의 다양한 실시 예에 따르면, 전자 장치(예: 도 1의 전자 장치(101))에 있어서, 하우징, 사용자 인터페이스, 상기 하우징 내부에 배치된 무선 통신 회로(예: 도 1의 통신 인터페이스(170)), 상기 하우징을 통해 노출된 유선 통신 인터페이스(예: 도 1의 입출력 인터페이스(150)), 상기 하우징 내부에 배치되며, 상기 사용자 인터페이스, 상기 무선 통신 회로 및 상기 유선 통신 인터페이스와 전기적으로 연결된 프로세서(예: 도 1의 프로세서(120)), 및 상기 하우징 내부에 배치되며, 상기 프로세서에 전기적으로 연결되는 메모리(예: 도 1의 메모리(130))를 포함하며, 상기 메모리는, 실행시에, 상기 프로세서가, 상기 전자 장치가 디바이스로서 동작되고 저장부를 포함하는 외부 전자 장치(예: 도 1의 제1 외부 전자 장치(102))가 호스트로서 동작되도록, 상기 무선 통신 회로 또는 상기 유선 통신 인터페이스를 이용하여 상기 외부 전자 장치와 제1 통신 채널을 설정하고, 상기 제1 통신 채널을 설정한 후, 상기 제1 통신 채널을 통해 상기 외부 전자 장치와 정보를 교환하고, 상기 전자 장치가 호스트로서 동작되고 상기 외부 전자 장치가 디바이스로서 동작되도록 상기 무선 통신 회로를 이용하여 상기 외부 전자 장치와 제2 통신 채널을 설정하도록 하는 명령어들을 저장할 수 있다.
일 실시 예에 따르면, 상기 유선 통신 인터페이스는 USB(universal serial bus) 인터페이스를 포함할 수 있다.
일 실시 예에 따르면, 상기 무선 통신 회로는 WSB(Wi-Fi serial bus) 또는 무선 USB 프로토콜을 지원하도록 구성할 수 있다.
일 실시 예에 따르면, 상기 유선 통신 인터페이스를 통해 상기 제1 통신 채널이 연결되면, 상기 명령어들은 실행시에, 상기 프로세서가, 상기 제1 통신 채널에 기반한, P2P(peer to peer) 주소, USB 롤(role) 교환, 또는 상기 WSB(Wi-Fi serial bus)의 성능(capability) 중 적어도 하나를 포함하는 정보를 교환할 수 있다.
일 실시 예에 따르면, 상기 무선 통신 회로를 이용하여 상기 제1 통신 채널을 연결하는 경우, 상기 명령어들은 실행시에, 상기 프로세서가, 상기 외부 전자 장치와의 디스커버리를 통해, 상기 제2 통신 채널을 위한 서비스 이름, 광고 식별자 또는 서비스 정보 중 적어도 하나를 포함하는 정보를 교환할 수 있다.
일 실시 예에 따르면, 상기 명령어들은 실행시에, 상기 프로세서가, 상기 제2 통신 채널을 통해 상기 외부 전자 장치의 저장부에 저장된 파일들에 대한 정보를 검색할 수 있다.
본 발명의 다양한 실시 예에 따르면, 전자 장치(예: 도 1의 전자 장치(101))에 있어서, 하우징, 사용자 인터페이스, 상기 하우징 내부에 배치된 무선 통신 회로(예: 도 1의 통신 인터페이스(170)), 상기 하우징 내부에 배치되며, 상기 사용자 인터페이스 및 상기 무선 통신 회로(예: 도 1의 통신 인터페이스(170))에 전기적으로 연결된 프로세서(예: 도 1의 프로세서(120)), 및 상기 하우징 내부에 배치되며, 상기 프로세서에 전기적으로 연결되는 메모리(예: 도 1의 메모리(130))를 포함하며, 상기 메모리는, 실행시에, 상기 프로세서가, 상기 전자 장치가 디바이스로서 동작되고, 저장부를 포함하는 외부 전자 장치(예: 도 1의 제1 외부 전자 장치(102))가 호스트로서 동작되도록, 상기 무선 통신 회로를 이용하여 상기 외부 전자 장치와 제1 통신 채널을 설정하고, 상기 제1 통신 채널을 설정한 후, 상기 제1 통신 채널을 통해 상기 외부 전자 장치와 정보를 교환하고, 상기 전자 장치가 호스트로서 동작되고 상기 외부 전자 장치가 디바이스로서 동작되도록 상기 무선 통신 회로를 이용하여 상기 외부 전자 장치와 제2 통신 채널을 설정하도록 하는 명령어들을 저장할 수 있다.
일 실시 예에 따르면, 상기 무선 통신 회로는 WSB(Wi-Fi serial bus) 또는 무선 USB 프로토콜을 지원하도록 구성될 수 있다.
일 실시 예에 따르면, 상기 무선 통신 회로를 통한 제1 디스커버리를 이용해 상기 제1 통신 채널이 연결되면, 상기 명령어들은 실행시에, 상기 프로세서가, 상기 설정된 제1 통신 채널에 기반하여 교환되는 상기 제1 통신 채널에 대한 광고 식별자, 상기 제1 통신에 대한 세션 MAC, 상기 제1 통신에 대한 세션 식별자 또는 상기 제1 통신에 대한 세션 정보 중 적어도 하나를 포함하는 정보를 교환할 수 있다.
일 실시 예에 따르면, 상기 무선 통신 회로를 통한 제2 디스커버리를 이용해 상기 제1 통신 채널을 연결하는 경우, 상기 명령어들은 실행시에, 상기 프로세서가, 상기 제2 통신 채널을 설정하기 위해, 상기 제2 통신 채널을 위한 광고 식별자, 상기 제2 통신 채널을 위한 세션 MAC, 상기 제2 통신 채널을 위한 세션 식별자, 또는 상기 제2 통신 채널을 위한 세션 정보 중 적어도 하나를 포함하는 정보를 교환할 수 있다.
일 실시 예에 따르면, 상기 명령어들은 실행시에, 상기 프로세서가, 제1 디스커버리를 통해 상기 외부 전자 장치와 다중 연결을 수행하기 위해, 다중 서비스 이름, 다중 광고 식별자, 서비스 정보 및 듀얼 롤(dual role) 성능에 대한 정보를 교환할 수 있다.
일 실시 예에 따르면, 상기 제1 디스커버리를 이용하여 상기 외부 전자 장치와 상기 제1 통신 채널이 연결되는 경우, 상기 명령어들은 실행시에, 상기 프로세서가, 상기 제1 통신에 대한 광고 식별자, 상기 제1 통신에 대한 세션 MAC, 상기 제1 통신에 대한 세션 식별자, 또는 상기 제1 통신에 대한 세션 정보 중 적어도 하나를 포함하는 정보를 교환할 수 있다.
일 실시 예에 따르면, 상기 제1 통신 채널이 연결된 이후, 상기 제2 통신 채널이 설정되는 경우, 상기 명령어들은 실행시에, 상기 프로세서가, 상기 제2 통신에 대한 광고 식별자, 상기 제2 통신에 대한 세션 MAC, 상기 제2 통신에 대한 세션 식별자, 또는 상기 제2 통신에 대한 세션 정보 중 적어도 하나를 포함하는 정보를 교환할 수 있다.
일 실시 예에 따르면, 상기 무선 통신 회로를 통해 제1 Wi-Fi Direct Group을 이용한 제1 통신 채널을 설정한 후, 상기 명령어들은 실행시에, 상기 프로세서가, 상기 제1 Wi-Fi Direct Group에 대한 광고 식별자, 세션 MAC, 세션 식별자 또는 세션 정보 중 적어도 하나를 포함하는 정보를 교환할 수 있다.
일 실시 예에 따르면, 상기 무선 통신 회로를 통해 제2 Wi-Fi Direct Group을 이용한 제2 통신 채널을 설정한 후, 상기 명령어들은 실행시에, 상기 프로세서가, 상기 제2 Wi-Fi Direct Group에 대한 광고 식별자, 세션 MAC, 세션 식별자 또는 세션 정보 중 적어도 하나를 포함하는 정보를 교환할 수 있다.
일 실시 예에 따르면, 상기 명령어들은 실행시에, 상기 프로세서가, 상기 제2 통신 채널을 통해 상기 외부 전자 장치의 저장부에 저장된 파일들에 대한 정보를 검색할 수 있다.
다양한 실시 예에 따르면, 전자 장치(예: 도 1의 전자 장치(101))에 있어서, 하우징, 사용자 인터페이스, 상기 하우징 내부에 배치된 무선 통신 회로(예: 도 1의 통신 인터페이스(170)), 상기 하우징을 통해 노출된 유선 통신 인터페이스(예: 도 1의 입출력 인터페이스(150)), 상기 하우징 내부에 배치되며, 상기 사용자 인터페이스, 상기 무선 통신 회로 및 상기 유선 통신 인터페이스와 전기적으로 연결된 프로세서(예: 도 1의 프로세서(120)), 및 상기 하우징 내부에 배치되며, 상기 프로세서에 전기적으로 연결되는 메모리(예: 도 1의 메모리(130))를 포함하며, 상기 메모리는, 실행시에, 상기 프로세서가, 상기 전자 장치가 호스트로서 동작되고 저장부를 포함하는 외부 전자 장치(예: 도 1의 제1 외부 전자 장치(102))가 디바이스로서 동작되도록, 상기 무선 통신 회로 또는 상기 유선 통신 인터페이스를 이용하여 상기 외부 전자 장치와 제1 통신 채널을 설정하고, 상기 제1 통신 채널을 설정한 후, 상기 제1 통신 채널을 통해 상기 외부 전자 장치와 정보를 교환하고, 상기 전자 장치가 디바이스로서 동작되고 상기 외부 전자 장치가 호스트로서 동작되도록 상기 무선 통신 회로를 이용하여 상기 외부 전자 장치와 제2 통신 채널을 설정하도록 하는 명령어들을 저장할 수 있다.
일 실시 예에 따르면, 상기 유선 통신 인터페이스를 통해 상기 제1 통신 채널이 연결되면, 상기 명령어들은 실행시에, 상기 프로세서가, 상기 제1 통신 채널에 기반한, P2P(peer to peer) 주소, USB 롤 교환, 또는 상기 WSB의 성능(capability) 중 적어도 하나를 포함하는 정보를 교환할 수 있다.
일 실시 예에 따르면, 상기 무선 통신 회로를 이용하여 상기 제1 통신 채널을 연결하는 경우, 상기 명령어들은 실행시에, 상기 프로세서가, 상기 외부 전자 장치와의 디스커버리를 통해, 상기 제2 통신 채널을 위한 서비스 이름, 광고 식별자 또는 서비스 정보 중 적어도 하나를 포함하는 정보를 교환할 수 있다.
일 실시 예에 따르면, 상기 명령어들은 실행시에, 상기 프로세서가, 상기 제2 통신 채널을 통해 상기 외부 전자 장치의 저장부에 저장된 파일들에 대한 정보를 검색할 수 있다.
도 2는 다양한 실시예에 따른 전자 장치(201)의 블록도이다. 전자 장치(201)는, 예를 들면, 도 1에 도시된 전자 장치(101)의 전체 또는 일부를 포함할 수 있다. 전자 장치(201)는 하나 이상의 프로세서(예: AP)(210), 통신 모듈(220), 가입자 식별 모듈(224), 메모리(230), 센서 모듈(240), 입력 장치(250), 디스플레이(260), 인터페이스(270), 오디오 모듈(280), 카메라 모듈(291), 전력 관리 모듈(295), 배터리(296), 인디케이터(297), 및 모터(298) 를 포함할 수 있다. 프로세서(210)는, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 프로세서(210)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서(210)는, 예를 들면, SoC(system on chip) 로 구현될 수 있다. 한 실시예에 따르면, 프로세서(210)는 GPU(graphic processing unit) 또는 이미지 신호 프로세서를 더 포함할 수 있다. 프로세서(210)는 도 2에 도시된 구성요소들 중 적어도 일부(예: 셀룰러 모듈(221))를 포함할 수도 있다. 프로세서(210) 는 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드)하여 처리하고, 결과 데이터를 비휘발성 메모리에 저장할 수 있다.
통신 모듈(220)(예: 통신 인터페이스(170))와 동일 또는 유사한 구성을 가질 수 있다. 통신 모듈(220)은, 예를 들면, 셀룰러 모듈(221), Wi-Fi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227), NFC 모듈(228) 및 RF 모듈(229)를 포함할 수 있다. 셀룰러 모듈(221)은, 예를 들면, 통신망을 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시예에 따르면, 셀룰러 모듈(221)은 가입자 식별 모듈(예: SIM 카드)(224)을 이용하여 통신 네트워크 내에서 전자 장치(201)의 구별 및 인증을 수행할 수 있다. 한 실시예에 따르면, 셀룰러 모듈(221)은 프로세서(210)가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시예에 따르면, 셀룰러 모듈(221)은 커뮤니케이션 프로세서(CP)를 포함할 수 있다. 어떤 실시예에 따르면, 셀룰러 모듈(221), Wi-Fi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227) 또는 NFC 모듈(228) 중 적어도 일부(예: 두 개 이상)는 하나의 integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다. RF 모듈(229)은, 예를 들면, 통신 신호(예: RF 신호)를 송수신할 수 있다. RF 모듈(229)은, 예를 들면, 트랜시버, PAM(power amp module), 주파수 필터, LNA(low noise amplifier), 또는 안테나 등을 포함할 수 있다. 다른 실시예에 따르면, 셀룰러 모듈(221), Wi-Fi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227) 또는 NFC 모듈(228) 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다. 가입자 식별 모듈(224)은, 예를 들면, 가입자 식별 모듈을 포함하는 카드 또는 임베디드 SIM을 포함할 수 있으며, 고유한 식별 정보(예: ICCID(integrated circuit card identifier)) 또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다.
메모리(230)(예: 메모리(130))는, 예를 들면, 내장 메모리(232) 또는 외장 메모리(234)를 포함할 수 있다. 내장 메모리(232)는, 예를 들면, 휘발성 메모리(예: DRAM, SRAM, 또는 SDRAM 등), 비휘발성 메모리(예: OTPROM(one time programmable ROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, 플래시 메모리, 하드 드라이브, 또는 솔리드 스테이트 드라이브 (SSD) 중 적어도 하나를 포함할 수 있다. 외장 메모리(234)는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD, Mini-SD, xD(extreme digital), MMC(multi-media card) 또는 메모리 스틱 등을 포함할 수 있다. 외장 메모리(234)는 다양한 인터페이스를 통하여 전자 장치(201)와 기능적으로 또는 물리적으로 연결될 수 있다.
센서 모듈(240)은, 예를 들면, 물리량을 계측하거나 전자 장치(201)의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 센서 모듈(240)은, 예를 들면, 제스처 센서(240A), 자이로 센서(240B), 기압 센서(240C), 마그네틱 센서(240D), 가속도 센서(240E), 그립 센서(240F), 근접 센서(240G), 컬러(color) 센서(240H)(예: RGB(red, green, blue) 센서), 생체 센서(240I), 온/습도 센서(240J), 조도 센서(240K), 또는 UV(ultra violet) 센서(240M) 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 센서 모듈(240)은, 예를 들면, 후각(e-nose) 센서, 일렉트로마이오그라피(EMG) 센서, 일렉트로엔씨팔로그램(EEG) 센서, 일렉트로카디오그램(ECG) 센서, IR(infrared) 센서, 홍채 센서 또는 지문 센서를 포함할 수 있다. 센서 모듈(240)은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다. 어떤 실시예에서는, 전자 장치(201)는 프로세서(210)의 일부로서 또는 별도로, 센서 모듈(240)을 제어하도록 구성된 프로세서를 더 포함하여, 프로세서(210)가 슬립(sleep) 상태에 있는 동안, 센서 모듈(240)을 제어할 수 있다.
입력 장치(250)는, 예를 들면, 터치 패널(252), (디지털) 펜 센서(254), 키(256), 또는 초음파 입력 장치(258)를 포함할 수 있다. 터치 패널(252)은, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 터치 패널(252)은 제어 회로를 더 포함할 수도 있다. 터치 패널(252)은 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다. (디지털) 펜 센서(254)는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트를 포함할 수 있다. 키(256)는, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 초음파 입력 장치(258)는 마이크(예: 마이크(288))를 통해, 입력 도구에서 발생된 초음파를 감지하여, 상기 감지된 초음파에 대응하는 데이터를 확인할 수 있다.
디스플레이(260)(예: 디스플레이(160))는 패널(262), 홀로그램 장치(264), 프로젝터(266), 또는 이들을 제어하기 위한 제어 회로를 포함할 수 있다. 패널(262)은, 예를 들면, 유연하게, 투명하게, 또는 착용할 수 있게 구현될 수 있다. 패널(262)은 터치 패널(252)과 하나 이상의 모듈로 구성될 수 있다. 한 실시예에 따르면, 패널(262)은 사용자의 터치에 대한 압력의 세기를 측정할 수 있는 압력 센서(또는 포스 센서)를 포함할 수 있다. 상기 압력 센서는 터치 패널(252)과 일체형으로 구현되거나, 또는 터치 패널(252)과는 별도의 하나 이상의 센서로 구현될 수 있다. 홀로그램 장치(264)는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 프로젝터(266)는 스크린에 빛을 투사하여 영상을 표시할 수 있다. 스크린은, 예를 들면, 전자 장치(201)의 내부 또는 외부에 위치할 수 있다. 인터페이스(270)는, 예를 들면, HDMI(272), USB(274), 광 인터페이스(optical interface)(276), 또는 D-sub(D-subminiature)(278)를 포함할 수 있다. 인터페이스(270)는, 예를 들면, 도 1에 도시된 통신 인터페이스(170)에 포함될 수 있다. 추가적으로 또는 대체적으로, 인터페이스(270)는, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD카드/MMC(multi-media card) 인터페이스, 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
오디오 모듈(280)은, 예를 들면, 소리와 전기 신호를 쌍방향으로 변환시킬 수 있다. 오디오 모듈(280)의 적어도 일부 구성요소는, 예를 들면, 도 1 에 도시된 입출력 인터페이스(145)에 포함될 수 있다. 오디오 모듈(280)은, 예를 들면, 스피커(282), 리시버(284), 이어폰(286), 또는 마이크(288) 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다. 카메라 모듈(291)은, 예를 들면, 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, 이미지 시그널 프로세서(ISP), 또는 플래시(예: LED 또는 xenon lamp 등)를 포함할 수 있다. 전력 관리 모듈(295)은, 예를 들면, 전자 장치(201)의 전력을 관리할 수 있다. 한 실시예에 따르면, 전력 관리 모듈(295)은 PMIC(power management integrated circuit), 충전 IC, 또는 배터리 또는 연료 게이지를 포함할 수 있다. PMIC는, 유선 또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등을 포함하며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 또는 정류기 등을 더 포함할 수 있다. 배터리 게이지는, 예를 들면, 배터리(296)의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 배터리(296)는, 예를 들면, 충전식 전지 또는 태양 전지를 포함할 수 있다.
인디케이터(297)는 전자 장치(201) 또는 그 일부(예: 프로세서(210))의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 모터(298)는 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동, 또는 햅틱 효과 등을 발생시킬 수 있다. 전자 장치(201)는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting), 또는 미디어플로(mediaFloTM) 등의 규격에 따른 미디어 데이터를 처리할 수 있는 모바일 TV 지원 장치(예: GPU)를 포함할 수 있다. 본 문서에서 기술된 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시예에서, 전자 장치(예: 전자 장치(201))는 일부 구성요소가 생략되거나, 추가적인 구성요소를 더 포함하거나, 또는, 구성요소들 중 일부가 결합되어 하나의 개체로 구성되되, 결합 이전의 해당 구성요소들의 기능을 동일하게 수행할 수 있다.
도 3은 다양한 실시예에 따른 프로그램 모듈의 블록도이다. 한 실시예에 따르면, 프로그램 모듈(310)(예: 프로그램(140))은 전자 장치(예: 전자 장치(101))에 관련된 자원을 제어하는 운영 체제 또는 운영 체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 프로그램(147))을 포함할 수 있다. 운영 체제는, 예를 들면, AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, 또는 BadaTM를 포함할 수 있다. 도 3을 참조하면, 프로그램 모듈(310)은 커널(320)(예: 커널(141)), 미들웨어(330)(예: 미들웨어(143)), (API(360)(예: API(145)), 또는 어플리케이션(370)(예: 어플리케이션 프로그램(147))을 포함할 수 있다. 프로그램 모듈(310)의 적어도 일부는 전자 장치 상에 프리로드 되거나, 외부 전자 장치(예: 전자 장치(102, 104), 서버(106) 등)로부터 다운로드 가능하다.
커널(320)은, 예를 들면, 시스템 리소스 매니저(321) 또는 디바이스 드라이버(323)를 포함할 수 있다. 시스템 리소스 매니저(321)는 시스템 리소스의 제어, 할당, 또는 회수를 수행할 수 있다. 한 실시예에 따르면, 시스템 리소스 매니저(321)는 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부를 포함할 수 있다. 디바이스 드라이버(323)는, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, Wi-Fi 드라이버, 오디오 드라이버, 또는 IPC(inter-process communication) 드라이버를 포함할 수 있다. 미들웨어(330)는, 예를 들면, 어플리케이션(370)이 공통적으로 필요로 하는 기능을 제공하거나, 어플리케이션(370)이 전자 장치 내부의 제한된 시스템 자원을 사용할 수 있도록 API(360)를 통해 다양한 기능들을 어플리케이션(370)으로 제공할 수 있다. 한 실시예에 따르면, 미들웨어(330) 는 런타임 라이브러리(335), 어플리케이션 매니저(341), 윈도우 매니저(342), 멀티미디어 매니저(343), 리소스 매니저(344), 파워 매니저(345), 데이터베이스 매니저(346), 패키지 매니저(347), 커넥티비티 매니저(348), 노티피케이션 매니저(349), 로케이션 매니저(350), 그래픽 매니저(351), 또는 시큐리티 매니저(352) 중 적어도 하나를 포함할 수 있다.
런타임 라이브러리(335)는, 예를 들면, 어플리케이션(370)이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 런타임 라이브러리(335)는 입출력 관리, 메모리 관리, 또는 산술 함수 처리를 수행할 수 있다. 어플리케이션 매니저(341)는, 예를 들면, 어플리케이션(370)의 생명 주기를 관리할 수 있다. 윈도우 매니저(342)는 화면에서 사용되는 GUI 자원을 관리할 수 있다. 멀티미디어 매니저(343)는 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱을 이용하여 미디어 파일의 인코딩 또는 디코딩을 수행할 수 있다. 리소스 매니저(344)는 어플리케이션(370)의 소스 코드 또는 메모리의 공간을 관리할 수 있다. 파워 매니저(345)는, 예를 들면, 배터리의 용량, 온도, 또는 전원을 관리하고, 이 중 해당 정보를 이용하여 전자 장치의 동작에 필요한 전력 정보를 결정 또는 제공할 수 있다. 한 실시예에 따르면, 파워 매니저(345)는 바이오스(BIOS: basic input/output system)와 연동할 수 있다. 데이터베이스 매니저(346)는, 예를 들면, 어플리케이션(370)에서 사용될 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 패키지 매니저(347)는 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 갱신을 관리할 수 있다.
커넥티비티 매니저(348)는, 예를 들면, 무선 연결을 관리할 수 있다. 노티피케이션 매니저(349)는, 예를 들면, 도착 메시지, 약속, 근접성 알림 등의 이벤트를 사용자에게 제공할 수 있다. 로케이션 매니저(350)는, 예를 들면, 전자 장치의 위치 정보를 관리할 수 있다. 그래픽 매니저(351)는, 예를 들면, 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 보안 매니저(352)는, 예를 들면, 시스템 보안 또는 사용자 인증을 제공할 수 있다. 한 실시예에 따르면, 미들웨어(330)는 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화(telephony) 매니저 또는 전술된 구성요소들의 기능들의 조합을 형성할 수 있는 하는 미들웨어 모듈을 포함할 수 있다. 한 실시예에 따르면, 미들웨어(330)는 운영 체제의 종류 별로 특화된 모듈을 제공할 수 있다. 미들웨어(330)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다. API(360)는, 예를 들면, API 프로그래밍 함수들의 집합으로, 운영 체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠의 경우, 플랫폼 별로 두 개 이상의 API 셋을 제공할 수 있다.
어플리케이션(370)은, 예를 들면, 홈(371), 다이얼러(372), SMS/MMS(373), IM(instant message)(374), 브라우저(375), 카메라(376), 알람(377), 컨택트(378), 음성 다이얼(379), 이메일(380), 달력(381), 미디어 플레이어(382), 앨범(383), 와치(384), 헬스 케어(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보(예: 기압, 습도, 또는 온도 정보) 제공 어플리케이션을 포함할 수 있다. 한 실시예에 따르면, 어플리케이션(370)은 전자 장치와 외부 전자 장치 사이의 정보 교환을 지원할 수 있는 정보 교환 어플리케이션을 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자 장치에 특정 정보를 전달하기 위한 노티피케이션 릴레이 어플리케이션, 또는 외부 전자 장치를 관리하기 위한 장치 관리 어플리케이션을 포함할 수 있다. 예를 들면, 알림 전달 어플리케이션은 전자 장치의 다른 어플리케이션에서 발생된 알림 정보를 외부 전자 장치로 전달하거나, 또는 외부 전자 장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. 장치 관리 어플리케이션은, 예를 들면, 전자 장치와 통신하는 외부 전자 장치의 기능(예: 외부 전자 장치 자체(또는, 일부 구성 부품)의 턴-온/턴-오프 또는 디스플레이의 밝기(또는, 해상도) 조절), 또는 외부 전자 장치에서 동작하는 어플리케이션을 설치, 삭제, 또는 갱신할 수 있다. 한 실시예에 따르면, 어플리케이션(370)은 외부 전자 장치의 속성에 따라 지정된 어플리케이션(예: 모바일 의료 기기의 건강 관리 어플리케이션)을 포함할 수 있다. 한 실시예에 따르면, 어플리케이션(370)은 외부 전자 장치로부터 수신된 어플리케이션을 포함할 수 있다. 프로그램 모듈(310)의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어(예: 프로세서(210)), 또는 이들 중 적어도 둘 이상의 조합으로 구현(예: 실행)될 수 있으며, 하나 이상의 기능을 수행하기 위한 모듈, 프로그램, 루틴, 명령어 세트 또는 프로세스를 포함할 수 있다.
도 4a는 본 발명의 다양한 실시 예에 따른 전자 장치와 외부 전자 장치가 듀얼 롤을 통해 연결된 예시도이다.
전자 장치(405) 또는 외부 전자 장치(410) 중 적어도 하나는 도 1의 전자 장치(101) 또는 도 2의 전자 장치(201)의 적어도 하나의 구성 요소를 포함할 수 있으며, 적어도 하나의 기능 또는 동작을 수행할 수 있다.
도 4a를 참조하면, 본 발명의 다양한 실시 예에 따른 전자 장치(405)(예: 도 1의 전자 장치(101) 또는 도 2의 전자 장치(201))와 외부 전자 장치(410)(예: 도 1의 외부 전자 장치(102))는 제1 연결(406) 또는 제2 연결(407) 중 적어도 하나에 기반하여 근거리 통신을 수행할 수 있다. 일 실시 예에 따르면, 전자 장치(405)와 외부 전자 장치(410)는 유선에 기반한 제1 연결(406) 및 무선에 기반한 제2 연결(407)을 이용하여 동시에 통신을 수행할 수 있다. 다른 예를 들면, 전자 장치(405)와 외부 전자 장치(410)는 무선에 기반한 제1 연결(406) 및 제2 연결(407)을 이용하여 통신을 수행할 수 있다. 다른 실시 예에 따르면, 전자 장치(405)와 외부 전자 장치(410)는 무선에 기반한 제1 연결(406) 및 유선에 기반한 제2 연결(407)을 이용하여 통신을 수행할 수 있다.
다양한 실시 예에 따르면, USB(universal serial bus) 통신은 USB 케이블을 이용하여 장치간(예: 전자 장치(405)와 외부 전자 장치(410)간)에 연결하고 파일 공유 등의 데이터 통신을 수행할 수 있다. USB 통신의 경우 하나의 장치는 호스트가 되고 다른 하나의 장치는 디바이스(또는 클라이언트(client))가 될 수 있다. 전자 장치(405)가 외부 전자 장치(410)와 USB 케이블을 통해 연결되는 경우 하나는 호스트(호스트 컨트롤러)로 동작할 수 있다. 예를 들면, PC와 같은 전자 장치는 다른 전자 장치와 USB 통신을 수행 시 호스트 역할을 수행할 수 있다. 디바이스는 USB 통신의 대상으로 USB 통신은 주체(호스트 컨트롤러)와 대상(디바이스)간의 통신을 목적으로 하며, 하나의 호스트 컨트롤러에는 여러 개의 디바이스가 연결되어 통신을 수행할 수 있다.
다양한 실시 예에 따르면, WSB(Wi-Fi serial bus)는 Wi-Fi 인터페이스를 이용하여 장치간(예: 전자 장치(405)와 외부 전자 장치(410))에 통신을 연결하고 기존의 USB 기술을 사용하여 USB 서비스를 이용할 수 있다. 이를 위해, WSB 서비스를 제공하는 장치는 Media Agnostic USB(MA USB) 프로토콜을 구현하며 Wi-Fi를 통한 Media Agnostic USB(MA USB) 작동에 필요한 기능을 지정할 수 있다. 상기 Media Agnostic USB(MA USB) 프로토콜은 USB 인터페이스에 의해 지정된 유선으로 구성되는 기존의 USB 버스 설비 환경을 최대한 이용하면서, 무선 또는 IP 링크 등을 사용하는 원격지간의 가상 USB 환경을 구성하는 프로토콜일 수 있다.
다양한 실시 예에 따르면, 전자 장치(405)와 외부 전자 장치(410)는 USB 롤(role)에서 호스트 롤과 디바이스 롤을 지원할 수 있다. 상기 호스트 롤을 수행하는 전자 장치는 데이터를 정해진 형태로 변경하여 연결된 다른 전자 장치로 전송할 수 있거나, 또는 다른 전자 장치를 제어할 수 있다. 상기 디바이스 롤은 상기 호스트 롤을 수행하는 전자 장치로부터 데이터를 수신할 수 있으며, 상기 호스트 롤을 수행하는 전자 장치의 요청에 의해 동작될 수 있다. 일 실시 예에 따르면, 전자 장치(405)는 외부 전자 장치(410)와 연결되면, 전자 장치(405)는 호스트 롤로 동작되어, 디바이스 롤로 동작되는 외부 전자 장치(410)가 지원하는 속도를 검출하고, 외부 전자 장치(410)를 대상으로 리셋 동작을 진행할 수 있다. 전자 장치(405)는 리셋 동작이 완료된 이후, 외부 전자 장치(410)에 새로운 주소를 할당할 수 있다. 전자 장치(405)는 외부 전자 장치(410)의 셋업 동작을 진행하고, 외부 전자 장치(410)가 가지고 있는 디스크립터를 읽어서 특성을 파악한 후, 셋업 동작을 진행할 수 있다. 전자 장치(405)와 외부 전자 장치(410)가 연결되면, 관리 패킷(management packet), 제어 패킷(control packet), 및 데이터 패킷(data packet)을 송수신할 수 있다. 상기 관리 패킷은 링크를 관리하는 패킷으로서, 링크 생성, 제거, 장치 열거, 버스 전원 관리 등과 관련된 패킷이며, 상기 제어 패킷은 USB 컨트롤 전송에 사용되는 패킷이며, 상기 데이터 패킷은 순수하게 대이터 패킷을 전송하는데 사용되는 패킷이다.
일 실시 예에 따르면, 전자 장치(405)와 외부 전자 장치(410)는 WSB 통신에서 호스트 롤과 디바이스 롤을 지원할 수 있다. 상기 WSB 호스트는 Media Agnostic USB(MA USB) 호스트 기능을 수행하고, WSB 주변 장치(WSB peripheral) 또는 WSB 허브(WSB hub) 중 적어도 하나에 Wi-Fi 연결을 가능하게 할 수 있다. 상기 WSB 디바이스 롤은 WSB 허브 또는 WSB 주변 장치의 기능성을 갖는 장치에서의 롤이다. 상기 WSB 허브는 Media Agnostic USB(MA USB) 허브 기능을 수행하고, WSB 호스트에 Wi-Fi 연결을 가능하게 하는 WSB 허브 장치이며, WSB 허브의 무선 다운 스트림 연결은 WSB의 범위를 벗어날 수 있다. 상기 WSB 주변 장치는 Media Agnostic USB(MA USB) 디바이스 기능을 수행하고, WSB 호스트에 Wi-Fi 연결을 가능하게 할 수 있다.
다양한 실시 예에 따르면, 전자 장치(405) 또는 외부 전자 장치(410)는 USB 또는 WSB를 이용하여 적어도 하나의 통신 연결을 할 수 있다. 일 실시 예에 따르면, 전자 장치(405)와 외부 전자 장치(410)가 제1 통신으로 연결되는 경우, 전자 장치(405)와 외부 전자 장치(410)중 하나는 호스트 롤로 지정되고, 다른 하나는 디바이스 롤로 지정될 수 있다. 상기 전자 장치(405)와 외부 전자 장치(410)가 제1 통신이 연결된 상태에서 제2 통신이 연결되면, 상기 제1 통신에 의해 지정된 롤과 다른 롤로 추가 지정될 수 있다. 전자 장치(405)와 외부 전자 장치(410)가 USB 통신 방식 또는 WSB 통신 방식을 이용하여 제 1 통신 연결이 되는 경우, 전자 장치(405)와 외부 전자 장치(410)는 USB 롤이 설정될 수 있다. 예를 들어, 전자 장치(405)가 USB 호스트 롤로 설정되는 경우, 외부 전자 장치(410)는 USB 디바이스 롤로 설정될 수 있다. 전자 장치(405)와 외부 전자 장치(410)는 제 1 통신 연결이 되어 있는 상태에서, 제 2 통신 연결과 연관된 이벤트를 감지하는 경우 USB 통신 또는 WSB 통신을 이용하여 제 2 통신 연결을 수행할 수 있다. 이 경우 전자 장치(405)와 외부 전자 장치(410)는 제 1 통신 연결에서의 USB 롤과 반대되는 롤로 제 2 통신을 연결할 수 있다.
다양한 실시 예에 따르면, 전자 장치(405)와 외부 전자 장치(410)가 유선 통신 연결 및 무선 통신 연결이 되는 경우, 전자 장치(405)는 유선 연결(예: USB 연결)에 기반한 호스트 롤로 동작하여 외부 전자 장치(410)와 유선 통신을 수행할 수 있고, 무선 연결(예: WSB 연결)에 기반한 디바이스 롤로 동작하여 상기 외부 전자 장치(410)와 무선 통신을 수행할 수 있다. 다른 실시 예에 따르면, 전자 장치(405)와 외부 전자 장치(410)와 유선 통신 연결 및 무선 통신 연결이 되는 경우, 전자 장치(405)는 유선 연결에 기반한 디바이스 롤로 동작하여 외부 전자 장치(410)와 유선 통신을 수행할 수 있고, 무선 연결에 기반한 호스트 롤로 동작하여 상기 외부 전자 장치(410)와 무선 통신을 수행할 수 있다.
다양한 실시 예에 따르면, 전자 장치(405)와 외부 전자 장치(410)는 상기 유선 연결 및 상기 무선 연결을 통해 데이터 또는 제어 신호를 동시에 송수신할 수 있다. 이를 통해, 사용자는 전자 장치(405)에서 외부 전자 장치(410)를 제어하거나 또는 외부 전자 장치(410)에서 전자 장치(405)를 제어할 수 있다.
도 4b는 본 발명의 다양한 실시 예에 따른 USB 통신과 WSB 통신을 지원하는 전자 장치의 블럭도이다.
도 4b를 참조하면, 본 발명의 다양한 실시 예에 따른 전자 장치(405)의 통신 인터페이스(415)는 USB 케이블을 통한 유선 연결과 Wi-Fi 통신(예: Wi-Fi Direct)을 통한 무선 연결을 지원할 수 있다. 전자 장치(405)의 통신 인터페이스(415)는 USB 통신 인터페이스(420), WSB 통신 인터페이스(430) 및 USB 클래스 드라이버 구성요소(431)를 포함할 수 있다. 전자 장치(405)의 통신 인터페이스(415)는 도 1에서 전자 장치(101)의 통신 인터페이스(170)에서 수행되는 적어도 하나의 기능 또는 동작을 수행할 수 있다. 프로세서(440)는 도 1에서 전자 장치(101)의 프로세서(120)에서 수행되는 적어도 하나의 기능 또는 동작을 수행할 수 있다. 통신 인터페이스(415)의 USB 통신 인터페이스(420)는 USB 케이블을 통해 외부 전자 장치(410)와 제1 통신을 제공할 수 있으며, USB 클래스 드라이버 구성요소(421), USB 로직 구성요소(422), USB 드라이버 구성요소(423), USB 컨트롤러 구성요소(424) 및 USB 커넥터 구성요소(425)를 포함할 수 있다. 통신 인터페이스(415)의 WSB 통신 인터페이스(430)는 Media Agnostic USB(MA USB) 구성요소 (432), WSB 서비스 구성요소(433), IP(internet protocol) 트랜스포트 구성요소(434), ASP(application service provider) 구성요소(435) 및 Wi-Fi Direct 구성요소(436)를 포함할 수 있다. WSB 통신 인터페이스(430)는 Wi-Fi Direct 구성요소(436)를 통해 외부 전자 장치(410)와 제2 통신을 제공할 수 있다.
일 실시 예에 따르면, 상기 USB 클래스 드라이버 구성요소(431)는 USB 프로토콜을 공유하는 다양한 USB 디바이스들을 동작시키도록 구성된 디바이스 드라이버일 수 있다. 일 실시 예에 따르면, 통신 인터페이스(415)는 상기 USB 클래스 드라이버 구성요소(431)와 USB 통신 인터페이스(420)의 USB 클래스 드라이버 구성요소(421)를 별도의 구성요소로서 포함하거나 또는 하나의 구성요소로서 포함할 수 있다.
일 실시 예에 따르면, 상기 MA USB(Media Agnostic USB) 구성요소(component) (432)는 ASP 세션 연결 이후, Media Agnostic USB(MA USB) 프로토콜을 이용하여 USB 디바이스 열거(enumeration) 및 USB 데이터 전달을 수행할 수 있다.
일 실시 예에 따르면, 상기 WSB 서비스 구성요소(433)는 ASP 구성요소(435) 윗 단에서 동작하며, WSB 서비스에 대한 서비스 디스커버리와 연결 셋업을 수행하기 위해 ASP 구성요소(435)와 상호 작용하도록 구성될 수 있다. WSB 서비스 구성요소(433) 및 ASP 구성요소(435)는 서비스 발견 및 연결 셋업을 위한 프리미티브(primitive)와 이벤트들을 통신 경로를 통해 교환할 수 있다. 예를 들어, WSB 서비스 구성요소(433)는 WSB 서비스의 각각의 WSB 세션 동안 Media Agnostic USB(MA USB) 프로토콜의 전송 모드를 지정할 수 있다.
일 실시 예에 따르면, 상기 IP(internet protocol) 트랜스포트 구성요소(434)는 IP에 기반하여 Media Agnostic USB(MA USB) 구성요소(432)와 연결될 수 있다.
일 실시 예에 따르면, 상기 ASP(application service provider) 구성요소(435)는 Wi-Fi Direct 구성요소(436) 또는 다른 무선 연결을 통해 동작하는 서비스들 및 애플리케이션들에 의해 사용되는 공통 기능들을 구현할 수 있다.
일 실시 예에 따르면, 상기 Wi-Fi Direct 구성요소(436)는 무선 네트워크를 통해 WSB 통신 연결을 지원하는 전자 장치간(예: 전자 장치(101)(예: 도 4a의 전자 장치(405)와 외부 전자 장치(102)(예: 도 4a의 외부 전자 장치(410))에 통신 연결을 연결할 수 있다. 예를 들면, 상기 Wi-Fi Direct 구성요소(436)는 P2P Group(예: Wi-Fi Direct Group)을 생성하고 생성된 P2P Group의 GO 단말과 GC 단말 사이의 무선 연결을 할 수 있다. P2P 연결은 Wi-Fi P2P 그룹내의 데이터 링크 계층, 즉, MAC 계층에서 GO와 GC를 연결할 수 있다. 다른 예를 들면, WSB 서비스를 지원하는 장치 간의 직접적인 링크를 설정하도록 구성된 TDLS(tunneled direct link setup) 구성요소, Wi-Fi 구성요소를 더 포함할 수 있다.
일 실시 예에 따르면, 전자 장치(405)는 USB 통신 인터페이스(420)를 통해 외부 전자 장치(410)와 제1 통신을 연결할 수 있다. 전자 장치(405)는 상기 제1 통신에 기반하여 상기 외부 전자 장치(410)와 통신을 수행할 수 있다. 일 실시 예에 따르면, 전자 장치(405)는 USB 통신 인터페이스(420)를 통해 외부 전자 장치(410)와 유선 통신 중에, WSB 통신 인터페이스(430)에 기반한 무선 연결이 감지되면, 상기 유선 통신에 의한 롤을 확인할 수 있다. 그리고, 상기 유선 통신에서 확인된 롤과 다른 롤을 통해 상기 외부 전자 장치(410)와 무선 통신을 수행할 수 있다.
일 실시 예에 따르면, 전자 장치(405)는 USB 케이블을 통해 외부 전자 장치(410)와 연결되면, USB 연결에 기반한 호스트 롤을 수행할 수 있는 USB 클래스 드라이버 구성요소(421)를 활성화할 수 있다. 전자 장치(405)는 USB 커넥터 구성요소(425)에 외부 전자 장치(410)가 연결되면, USB 컨트롤러 구성요소(424)와 USB 드라이버(423)와 USB 로직 구성요소(422)가 활성화될 수 있다. 전자 장치(405)는 외부 전자 장치(410)의 인식 결과에 따라 외부 전자 장치(410)에 적합한 USB 클래스 드라이버 구성요소(421)를 활성화할 수 있다.
일 실시 예에 따르면, 전자 장치(405)는 외부 전자 장치(410)와 USB 케이블을 통해 유선으로 제1 통신이 연결되어 호스트 롤로 동작하는 상태에서, Wi-Fi Direct 연결을 포함하는 WSB 통신을 통해 외부 전자 장치(410)와 제2 통신을 연결하고자 하는 요청을 감지하면, 상기 제1 통신에 기반한 롤을 확인하는 동작을 수행할 수 있다. 일 실시 예에 따르면, 상기 롤 확인은 USB 케이블을 통해 유선으로 제1 통신이 연결되는 시점에 확인될 수도 있다. 전자 장치(405)는 상기 확인된 롤과 다른 롤을 통해 상기 외부 전자 장치(410)와 WSB를 통해 무선 통신을 수행할 수 있다. 예를 들면, 전자 장치(405)의 Wi-Fi Direct 구성요소(436)를 통해 외부 전자 장치(410)와 P2P 통신이 MAC 계층에서 연결되면, WSB 서비스 구성요소(433)와 ASP 구성요소(435)는 외부 전자 장치(410)의 서비스 디스커버리 및 연결 세션 셋업을 수행할 수 있다. 다른 예를 들면, WSB 서비스 구성요소(433)와 ASP 구성요소(435)가 외부 전자 장치(410)의 서비스 디스커버리 및 연결 세션 셋업을 수행한 이후, 전자 장치(405)의 Wi-Fi Direct 구성요소(436)를 통해 외부 전자 장치(410)와 P2P 통신이 MAC 계층에서 연결될 수 있다. 외부 전자 장치(410)와 ASP 세션 연결 이후, 전자 장치(405)의 Media Agnostic USB(MA USB)(432)는 Media Agnostic USB(MA USB) 프로토콜을 이용하여 USB 디바이스 열람 및 USB 데이터 전달을 수행할 수 있다. 이를 통해, 외부 전자 장치(410)에 적합한 USB 클래스 드라이버 구성요소(431)가 활성화될 수 있다. 도 4b에서는 전자 장치(405)가 USB에 기반한 유선 연결을 통해 호스트 롤로 동작되고, Wi-Fi Direct 연결을 포함하는 WSB에 기반한 무선 연결을 통해 디바이스 롤로 동작되는 것을 설명하였으나, 본 발명의 일 실시 예에 따르면, 전자 장치(405)는 Wi-Fi Direct 연결을 포함하는 WSB에 기반한 무선 연결을 통해 호스트 롤로 동작되고 있는 상태에서 USB에 기반한 유선 연결을 통해 디바이스 롤로 추가적으로 동작될 수 있다. 일 실시 예에 따르면, Wi-Fi Direct 연결을 포함하는 WSB에 기반한 무선 연결을 통해 호스트 롤로 동작되고 있는 상태에서, USB에 기반한 유선 연결을 통해 호스트 롤로 지정되는 경우, 상기 WSB에서의 호스트 롤은 디바이스 롤로 변경될 수 있다. 도 4b에서는 상기 USB 통신 인터페이스(420)의 USB 클래스 드라이버 구성요소(421)와 USB 클래스 드라이버 구성요소(430)가 서로 구분되어 있는 것으로 도시되었으나, 하나로 구성될 수도 있다. USB 클래스 드라이버 구성요소(421)와 USB 클래스 드라이버 구성요소(430)는 소프트웨어로서 하나로 구성될 수 있거나 또는 별개로 구성될 수 있다. 일 실시 예에 따르면, 전자 장치(405) 또는 외부 전자 장치(410) 중 적어도 하나는 USB 통신 인터페이스(420)와 WSB 통신 인터페이스(430)를 모두 포함할 수 있거나 또는 USB 통신 인터페이스(420)와 WSB 통신 인터페이스(430) 중 어느 하나만을 포함할 수 있다.
도 5a 내지 도 5d는 본 발명의 다양한 실시 예에 따른 전자 장치(예: 도 4a의 전자 장치(405))와 외부 전자 장치(예: 도 4a의 외부 전자 장치(410))가 제1 연결 또는 제2 연결 중 적어도 하나에 기반하여 통신 연결을 수행하는 예시도이다. 본 발명의 다양한 실시 예에 따른 전자 장치는 유선 또는 무선 중 적어도 하나에 기반하여 외부 전자 장치와 통신을 연결할 수 있다.
도 5a는 본 발명의 다양한 실시 예에 따른 전자 장치와 외부 전자 장치가 USB 케이블로 연결된 예시도이다.
도 5a를 참조하면, 전자 장치(예: 도 4a의 전자 장치(405))의 통신 인터페이스(510)와 외부 전자 장치(예: 도 4a의 외부 전자 장치(410))의 통신 인터페이스(520)는 USB 케이블(514)를 통해 유선으로 연결될 수 있다. 전자 장치(405)의 통신 인터페이스(510)의 USB 커넥터 구성요소(513)와 외부 전자 장치(410)의 통신 인터페이스(520)의 USB 커넥터 구성요소(523)는 USB 케이블(514)를 통해 연결될 수 있다. 전자 장치(405)가 외부 전자 장치(410)와 USB 케이블(514)를 통해 연결되어 호스트로 결정되면, 통신 인터페이스(510)의 USB 클래스 드라이버 구성요소(511)가 호스트 롤로 동작될 수 있다. 그리고, 외부 전자 장치(520)가 전자 장치(510)와 USB 케이블(514)를 통해 연결되어 디바이스로 결정되면, 통신 인터페이스(520)의 USB 클래스 드라이버 구성요소(521)가 디바이스 롤로 동작될 수 있다.
도 5b는 본 발명의 다양한 실시 예에 따른 전자 장치와 외부 전자 장치가 WSB로 연결된 예시도이다.
도 5b를 참조하면, 전자 장치(예: 도 4a의 전자 장치(405))의 통신 인터페이스(530)와 외부 전자 장치(예: 도 4a의 외부 전자 장치(410))의 통신 인터페이스(540)는 WSB(533)를 통해 무선으로 연결될 수 있다. 전자 장치(405)와 외부 전자 장치(410)는 전자 장치(405)의 통신 인터페이스(530)의 Wi-Fi Direct 구성요소(532)와 외부 전자 장치(410)의 통신 인터페이스(540)의 Wi-Fi Direct 구성요소(542)를 통해 WSB(533) 통신을 연결할 수 있다. 일 실시 예에 따르면, 통신 인터페이스(530)의 Wi-Fi Direct 구성요소(532)와 통신 인터페이스(540)의 Wi-Fi Direct 구성요소(542)를 통해 WSB(533) 통신이 연결되면, 전자 장치(405)와 외부 전자 장치(410)는 USB 호스트 롤 또는 USB 디바이스 롤 중 하나로 동작 될 수 있다. 예를 들어, 전자 장치(405)의 통신 인터페이스(530)의 USB 클래스 드라이버 구성요소(531)는 호스트 롤로 동작되고, 외부 전자 장치(410)의 통신 인터페이스(540)의 USB 클래스 드라이버 구성요소(541)는 디바이스 롤로 동작될 수 있다. 또 다른 예를 들어, 전자 장치(405)의 USB 클래스 드라이버 구성요소(531)는 디바이스 롤로 동작되고, 외부 전자 장치(410)의 USB 클래스 드라이버 구성요소(541)는 호스트 롤로 동작될 수도 있다.
도 5c는 본 발명의 다양한 실시 예에 따른 전자 장치와 외부 전자 장치가 USB 케이블 및 WSB로 연결된 예시도이다.
도 5c를 참조하면, 전자 장치(예: 도 4a의 전자 장치(405)) 통신 인터페이스(550)의 USB 커넥터 구성요소(553)와 외부 전자 장치(예: 도 4a의 전자 장치(410)) 통신 인터페이스(560)의 USB 커넥터 구성요소(563)는 USB 케이블을 통해 유선(555)으로 연결될 수 있고, 전자 장치(405)의 Wi-Fi Direct 구성요소(554)와 외부 전자 장치(410)의 Wi-Fi Direct 구성요소(564)는 WSB 통신을 통해 무선(556)으로 연결될 수 있다. 일 실시 예에 따르면, 전자 장치(405)의 USB 커넥터 구성요소(553)와 외부 전자 장치(410)의 USB 커넥터 구성요소(563)간의 유선(555) 연결을 통한 USB 통신 연결이 수행된 이후, 전자 장치(405)의 Wi-Fi Direct 구성요소(554)와 외부 전자 장치(410)의 Wi-Fi Direct 구성요소(564)간의 무선(556) 연결을 통한 WSB 통신 연결이 수행될 수 있다. 다른 실시 예에 따르면, 전자 장치(405)의 Wi-Fi Direct 구성요소(554)와 외부 전자 장치(410)의 Wi-Fi Direct 구성요소(564)간의 무선(556) 연결을 통한 WSB 통신 연결이 수행된 이후, 전자 장치(405)의 USB 커넥터 구성요소(553)와 외부 전자 장치(410)의 USB 커넥터 구성요소(563)간의 유선(555) 연결을 통한 USB 통신 연결이 수행될 수 있다. 전자 장치(405)가 외부 전자 장치(410)와 USB 케이블(555)을 통해 연결되어 전자 장치(405)의 USB 클래스 드라이버(551)가 호스트 롤로 동작되고 있는 상태에서, WSB 연결(556)을 통해 무선으로 외부 전자 장치(410)와 연결되면, 전자 장치(405)의 USB 클래스 드라이버 구성요소(552)는 디바이스 롤로 동작될 수 있다. 외부 전자 장치(410)가 전자 장치(405)와 USB 케이블(555)을 통해 연결되어 외부 전자 장치(410)의 USB 클래스 드라이버(561)가 디바이스 롤로 동작되고 있는 상태에서, WSB 연결(556)을 통해 무선으로 전자 장치(405)와 연결되면, 외부 전자 장치(410)의 USB 클래스 드라이버 구성요소(562)는 호스트 롤로 동작될 수 있다. 상술한 설명에서는, 전자 장치(405)와 외부 전자 장치(410)가 USB 케이블(555)을 통해 연결된 이후, WSB 연결(556)을 통해 연결되는 내용에 관해 기술하였으나, 본 발명은 전자 장치(405)와 외부 전자 장치(410)가 WSB 연결(556)을 통해 연결된 이후, USB 케이블(555)을 통해 연결되는 경우에도 적용될 수 있다. 전자 장치(405)와 외부 전자 장치(410)는 각각의 연결에서 호스트 롤 또는 디바이스 롤로 동작될 수 있다. 상술한 설명에서는, 전자 장치(405)의 USB 클래스 드라이버(551, 552) 및 외부 전자 장치(410)의 USB 클래스 드라이버(561, 562)가 각각 구분되어 있는 것으로 도시 하였으나, 이는 단지 하나의 실시 예일 뿐, 전자 장치(405)의 USB 클래스 드라이버(551, 552) 또는 외부 전자 장치(410)의 USB 클래스 드라이버(561, 562) 중 적어도 하나는 하나의 구성요소에 포함될 수 있다.
도 5d는 본 발명의 다양한 실시 예에 따른 전자 장치와 외부 전자 장치가 제1 WSB 및 제2 WSB로 연결된 예시도이다.
도 5d를 참조하면, 전자 장치(예: 도 4a의 전자 장치(405))의 통신 인터페이스(570)와 외부 전자 장치(예: 도 4a의 전자 장치(410))의 통신 인터페이스(580)는 WSB에 기반한 복수의 무선 연결을 통해 통신을 수행할 수 있다. 전자 장치(405)와 외부 전자 장치(410)는 WSB의 제1 무선 연결(574) 및 WSB의 제2 무선 연결(575)를 통해 무선으로 연결될 수 있다. 전자 장치(405)의 Wi-Fi Direct 구성요소(573)와 외부 전자 장치(410)의 Wi-Fi Direct 구성요소(583)를 통해 상기 제1 무선 연결(574) 및 상기 제2 무선 연결(575)이 셋업될 수 있다. 일 실시 예에 따르면, 전자 장치(405)의 Wi-Fi Direct 구성요소(573)와 외부 전자 장치(410)의 Wi-Fi Direct 구성요소(583)는 제1 무선 연결(574)을 통해 연결된 상태에서, 전자 장치(405)의 Wi-Fi Direct 구성요소(573)와 외부 전자 장치(410)의 Wi-Fi Direct 구성요소(583)를 통한 제2 무선 연결(575)이 셋업될 수 있다.
다양한 실시 예에 따르면, 전자 장치(405)와 외부 전자 장치(410)가 Wi-Fi Direct 구성 요소(573, 583)를 통해 제 1 WSB 통신(574) 및 제 2 WSB 통신(575)이 연결 되는 경우, 전자 장치(405)와 외부 전자 장치(410)는 동시에 USB 호스트 롤과 USB 디바이스 롤로 동작될 수 있다. 예를 들면, 전자 장치(405)의 Wi-Fi Direct 구성요소(573)와 외부 전자 장치(410)의 Wi-Fi Direct 구성요소(583)가 제1 무선 연결(574)을 통해 연결되면, 전자 장치(405)의 제1 USB 클래스 드라이버 구성요소(571)는 호스트 롤로 동작되고, 외부 전자 장치(410)의 제1 USB 클래스 드라이버 구성요소(581)는 디바이스 롤로 동작될 수 있다. 일 실시 예에 따르면, 전자 장치(405)의 Wi-Fi Direct 구성요소(573)와 외부 전자 장치(410)의 Wi-Fi Direct 구성요소(583)가 제1 무선 연결(574)를 통해 연결되면, 전자 장치(405)의 제1 USB 클래스 드라이버 구성요소(571)는 디바이스 롤로 동작되고, 외부 전자 장치(410)의 제1 USB 클래스 드라이버 구성요소(581)는 호스트 롤로 동작될 수 있다.
다양한 실시 예에 따르면, 전자 장치(405)의 Wi-Fi Direct 구성요소(573)와 외부 전자 장치(410)의 Wi-Fi Direct 구성요소(583)가 제1 WSB 통신(574)을 통해 연결되어, 전자 장치(405)가 호스트 롤로 동작되면, 전자 장치(405)의 Wi-Fi Direct 구성요소(573)와 외부 전자 장치(410)의 Wi-Fi Direct 구성요소(583)를 통해 연결된 제2 WSB 통신(575)에서는 전자 장치(405)가 디바이스 롤로 동작될 수 있다. 일 실시 예에 따르면, 전자 장치(405)가 외부 전자 장치(410)와 제1 무선 연결(574)을 통해 연결되어 전자 장치(405)의 제1 USB 클래스 드라이버 구성요소(571)가 호스트 롤로 동작되고 있는 상태에서, 제2 무선 연결(575)을 통해 외부 전자 장치(410)와 연결되면, 전자 장치(405)의 제2 USB 클래스 드라이버 구성요소(572)는 디바이스 롤로 동작될 수 있다. 일 실시 예에 따르면, 외부 전자 장치(410)가 전자 장치(405)와 제1 무선 연결(574)을 통해 연결되어 외부 전자 장치(410)의 제1 USB 클래스 드라이버 구성요소(581)가 디바이스 롤로 동작되고 있는 상태에서, 제2 무선 연결(575)을 통해 전자 장치(405)와 연결되면, 외부 전자 장치(410)의 제2 USB 클래스 드라이버 구성요소(582)는 호스트 롤로 동작될 수 있다. 상기 전자 장치(405)의 제1 USB 클래스 드라이버 구성요소(571)와 상기 제2 USB 클래스 드라이버 구성요소(572)는 하나의 모듈로 구성될 수 있고, 상기 외부 전자 장치(410)의 제1 USB 클래스 드라이버 구성요소(581)와 상기 제2 USB 클래스 드라이버 구성요소(582)는 하나의 모듈로서 구성될 수 있다. 상술한 바와 같이, 전자 장치(예: 도 4a의 전자 장치(405))와 외부 전자 장치(예: 도 4a의 외부 전자 장치(410))는 각각 Wi-Fi Direct 구성요소(573, 583)를 통해 호스트 롤과 디바이스 롤로 동시에 동작하는 듀얼 롤을 수행할 수 있다. 상술한 설명에서는, 전자 장치(405)와 외부 전자 장치(410)의 USB 클래스 드라이버(예: 전자 장치(405)의 USB 클래스 드라이버(571, 572) 및 외부 전자 장치(410)의 USB 클래스 드라이버(581, 582))가 각각 구분되어 있는 것으로 도시 하였으나, 이는 단지 하나의 실시 예일 뿐, 전자 장치(405)와 외부 전자 장치(410)의 USB 클래스 드라이버(예: 전자 장치(405)의 USB 클래스 드라이버(571, 572) 및 외부 전자 장치(410)의 USB 클래스 드라이버(581, 582))는 하나의 구성요소에 포함될 수 있다.
도 6은 본 발명의 다양한 실시 예에 따른 전자 장치가 외부 전자 장치와 통신하는 동작을 나타낸 순서도이다.
이하, 도 6을 참조하여 본 발명의 다양한 실시 예에 따른 전자 장치가 외부 전자 장치와 통신하는 동작을 상세히 설명하면 다음과 같다.
다양한 실시 예에 따르면, 동작 610에서, 전자 장치(예: 프로세서(120))는 전자 장치(예: 도 1의 전자 장치(101))가 디바이스 롤로 동작되고, 외부 전자 장치(예: 도 1의 외부 전자 장치(102))가 호스트 롤로 동작되도록 상기 외부 전자 장치(102)와 제1 통신 채널을 설정할 수 있다. 예를 들면, 전자 장치(예: 프로세서(120))는 외부 전자 장치(102)와 USB 또는 WSB 통신 방법을 통해 제 1 통신 연결 동작을 수행 할 수 있다. 일 실시 예에 따르면, 전자 장치(101)(예: 프로세서(120))는 상기 외부 전자 장치(예: 도 1의 외부 전자 장치(102))와 제1 통신 채널이 설정되어, 상기 전자 장치(101)가 디바이스로서 동작될 수 있고, 상기 외부 전자 장치(예: 도 1의 외부 전자 장치(102))가 호스트로 동작될 수 있다. 예를 들어, 전자 장치(101)(예: 프로세서(120))는 외부 전자 장치(예: 도 1의 외부 전자 장치(102))와 유선 통신 인터페이스(예: 도 5a의 USB 커넥터(513, 523))에 기반한 제1 통신 채널이 연결되면, 전자 장치(101)(예: 프로세서(120))는 디바이스로 동작되고, 외부 전자 장치(예: 도 1의 외부 전자 장치(102))는 호스트로 동작할 수 있다. 상기 유선 통신 인터페이스는 USB 인터페이스를 포함할 수 있다. 다른 예를 들면, 전자 장치(101)(예: 프로세서(120))는 외부 전자 장치(예: 도 1의 외부 전자 장치(102))와 무선 통신 회로(예: 도 5b의 Wi-Fi Direct 구성요소(532, 542))에 기반한 제1 통신 채널이 연결되면, 전자 장치(101)(예: 프로세서(120))는 디바이스로 동작되고, 외부 전자 장치(예: 도 1의 외부 전자 장치(102))는 호스트로 동작할 수 있다. 상기 무선 통신 회로는 무선 연결(예: WSB)을 지원하도록 구성될 수 있다.
다양한 실시 예에 따르면, 전자 장치(101)(예: 프로세서(120)) 또는 외부 전자 장치(102) 중 적어도 하나는 상기 제1 통신이 연결되면, 각각이 호스트로 동작하는지 또는 디바이스로 동작하는지 확인할 수 있다. 예를 들면, 전자 장치(101)와 외부 전자 장치(102)가 USB Type C에 기반하여 연결되는 경우, 전자 장치(101)(예: 프로세서(120))의 USB 인터페이스(예: USB 커넥터)에 포함된 CC 핀에 Rd 저항이 인식되면 호스트로 인식하고, Rp 저항이 인식되면 디바이스로 인식할 수 있다.
다양한 실시 예에 따르면, 동작 612에서, 전자 장치(101)(예: 프로세서(120))는 제1 통신 채널을 통해 외부 전자 장치(102)와 정보를 교환할 수 있다. 일 실시 예에 따르면, 전자 장치(101)(예: 프로세서(120))는 상기 외부 전자 장치(102)와 유선 통신 인터페이스(예: 도 5a의 USB 커넥터(513, 523))를 통해 제1 통신이 연결되면, 상기 연결된 제1 통신에 기반하여 P2P(peer to peer) 주소, 상기 전자 장치(101)의 롤, 또는 WSB의 성능(capability) 정보 중 적어도 하나를 상기 외부 전자 장치(102)와 교환할 수 있다.
일 실시 예에 따르면, 전자 장치(101)(예: 프로세서(120))는 상기 외부 전자 장치(102)와 무선 통신 회로(예: 도 5b의 Wi-Fi Direct(532, 542))를 통해 제1 통신이 연결되면, 상기 무선 통신 회로(예: 도 5b의 Wi-Fi Direct(532, 542))를 통해 연결될 수 있는 제2 통신에 대한 광고 식별자, 상기 제2 통신에 대한 식별자, 상기 제2 통신에 대한 MAC 주소, 또는 상기 제2 통신에 대한 정보 중 적어도 하나를 상기 외부 전자 장치(102)와 교환할 수 있다.
다양한 실시 예에 따르면, 동작 614에서, 전자 장치(예: 프로세서(120))는 전자 장치(101)가 호스트 롤로 동작되고, 외부 전자 장치(102)가 디바이스 롤로 동작되도록 상기 외부 전자 장치(102)와 제2 통신 채널을 설정할 수 있다. 예를 들어, 전자 장치(101)는 제1 통신에서의 롤을 확인하고 그에 대응하는 롤로 외부 전자 장치(102)와 추가로 제2 통신을 생성할 수 있다.
일 실시 예에 따르면, 전자 장치(예: 프로세서(120))가 외부 전자 장치(예: 도 1의 외부 전자 장치(102))와 USB에 기반한 제1 통신에서 호스트 롤로 동작을 수행하고 있는 경우, WSB에 기반한 제2 통신에서 디바이스 롤로 동작을 수행하도록 제2 통신 연결 동작을 수행할 수 있다.
일 실시 예에 따르면, 전자 장치(101)(예: 프로세서(120))는 외부 전자 장치(예: 도 1의 외부 전자 장치(102))와 USB에 기반한 제1 통신에서 호스트 롤로 동작되고 있는 상태에서 WSB에 기반한 제2 통신이 연결되면, 전자 장치(101)(예: 프로세서(120))는 제2 통신에서 디바이스 롤로 동작되고 외부 전자 장치(예: 도 1의 외부 전자 장치(102))는 호스트 롤로 동작될 수 있다.
일 실시 예에 따르면, 전자 장치(예: 프로세서(120))가 외부 전자 장치(예: 도 1의 외부 전자 장치(102))와 제1 WSB에 기반한 제1 통신이 연결된 상태에서 제2 WSB 또는 유선 USB에 기반한 제2 통신이 연결되는 경우 제1 통신에서의 롤과 반대되는 롤로 동작하도록 설정될 수 있다. 예를 들어, 전자 장치(101)가 제1 WSB에 기반한 제1 통신에서 호스트 롤로 동작을 수행하고 있는 경우, 제2 WSB 또는 유선 USB에 기반한 제2 통신에서는 디바이스 롤로 동작을 수행하도록 제2 통신 연결 동작을 수행할 수 있다. 다른 예를 들어, 전자 장치(101)가 제1 WSB에 기반한 제1 통신에서 디바이스 롤로 동작을 수행하고 있는 경우, 제2 WSB 또는 유선 USB에 기반한 제2 통신에서는 호스트 롤로 동작을 수행하도록 제2 통신 연결 동작을 수행할 수 있다.
도 7은 본 발명의 다양한 실시 예에 따른 전자 장치가 외부 전자 장치와 서로 다른 복수의 롤로 통신을 수행하는 동작을 나타낸 순서도이다.
이하, 도 7을 참조하여 본 발명의 다양한 실시 예에 따른 전자 장치가 USB 또는 WSB를 이용해 외부 전자 장치와 제1 통신하고, 상기 WSB를 이용해 상기 외부 전자 장치와 제2 통신하는 동작을 상세히 설명하면 다음과 같다.
다양한 실시 예에 따르면, 동작 710에서, 전자 장치(101) (예: 도 1의 전자 장치(101))는 외부 전자 장치(예: 도 1의 외부 전자 장치(102))와 USB 또는 WSB를 이용한 제1 통신이 연결되는지 확인할 수 있다. 예를 들면, 전자 장치(101)는 외부 전자 장치와 USB 케이블 또는 WSB를 이용한 제1 통신이 연결되는지 판단할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 외부 전자 장치와 USB 통신 인터페이스(420) 또는 WSB 통신 인터페이스(430)를 이용하여 연결되는지를 주기적으로 판단할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 외부 전자 장치와 제1 통신이 연결되면, 제1 통신에서 전자 장치(101)의 롤을 확인할 수 있다. 전자 장치(101)는 상기 제1 통신에 기반하여 호스트 롤로 동작하는지 또는 디바이스 롤로 동작하는지 판단할 수 있다.
다양한 실시 예에 따르면, 동작 712에서, 전자 장치(101)는 상기 제1 통신에 기반하여 외부 전자 장치와 통신을 수행할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 유선 통신 인터페이스(예: 도 4b의 USB 통신 인터페이스(420)) 또는 무선 통신 회로(예: 도 4b의 WSB 통신 인터페이스(430))를 이용한 제1 통신에 기반하여 외부 전자 장치와 통신을 수행할 수 있다. 예를 들어, 전자 장치(101)가 호스트 롤에 기반하여 제1 통신을 수행하는 경우 전자 장치(101)는 외부 전자 장치(102)에 대한 정보를 요청하거나 데이터를 송수신하기 위한 제어를 수행할 수 있다. 또 다른 예를 들어, 전자 장치(101)가 디바이스 롤에 기반하여 제1 통신을 수행하는 경우 전자 장치(101)는 호스트 롤로 동작하는 외부 전자 장치(102)의 요청에 기반하여 동작하거나 또는 외부 전자 장치(102)의 제어에 기반하여 데이터를 송수신할 수 있다.
다양한 실시 예에 따르면, 동작 714에서, 전자 장치(101) 는 상기 외부 전자 장치와 상기 무선 통신 회로를 이용한 제2 통신이 필요한지 감지할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 상기 외부 전자 장치와 상기 제1 통신이 연결된 이후, 제2 통신과 관련된 이벤트를 확인하고, 상기 확인된 이벤트에 기반하여 상기 외부 전자 장치와 제2 통신을 연결할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 상기 유선 통신 인터페이스(예: USB 통신 인터페이스(420)) 또는 상기 무선 통신 회로(예: WSB 통신 인터페이스(430)) 를 통해 상기 외부 전자 장치와 제1 통신이 연결된 상태에서, 제2 통신이 필요한지 감지할 수 있다. 일 실시 예에 따르면, 전자 장치(101는 상기 무선 통신 회로(예: 도 4b의 Wi-Fi Direct(436))를 통하여 제1 통신(예: WSB 통신)이 연결된 상태에서, 유선 통신 인터페이스(예: 도 4b의 USB 커넥터(425)에 기반한 제2 통신(예: USB 통신)의 연결이 필요한지 감지할 수 있다. 일 실시 예에 따르면, 전자 장치(101는 상기 무선 통신 회로(예: 도 4b의 Wi-Fi Direct(436))를 통하여 제1 통신이 연결된 상태에서, 제2 통신의 연결이 필요한지 감지할 수 있다. 일 실시 예에 따르면, 전자 장치(101)가 상기 외부 전자 장치와 상기 유선 통신 인터페이스를 통해 제1 통신을 수행하고 있는 상태에서, 상기 외부 전자 장치와 상기 무선 통신 회로를 이용한 제2 통신의 연결이 필요한지 감지할 수 있다. 일 실시 예에 따르면, 전자 장치(101가 상기 외부 전자 장치와 상기 무선 통신 회로를 통해 제1 통신을 수행하고 있는 상태에서, 상기 외부 전자 장치(102)와 상기 무선 통신 회로를 이용한 제2 통신의 연결이 필요한지 감지할 수 있다. 일 실시 예에 따르면, 상기 제2 통신 연결이 필요한 것으로 감지되면, 전자 장치(101)는 제2 통신 연결을 위한 트리거링을 수행할 수 있다. 일 실시 예에 따르면, 외부 전자 장치(102)와 제2 통신을 위한 트리거링이 수행되면, 전자 장치(101)는 제1 통신에서의 롤을 확인할 수 있다.
다양한 실시 예에 따르면, 동작 716에서, 전자 장치(101) 는 상기 제1 통신에 기반한 롤과 다른 롤에 기반하여 상기 외부 전자 장치와 제2 통신을 연결할 수 있다. 일 실시 예에 따르면, 전자 장치(101) 또는 외부 전자 장치(102) 중 적어도 하나는 상기 롤을 상기 제1 통신이 연결된 이후에 확인할 수 있거나, 또는 제2 통신의 연결과 관련된 이벤트가 발생되는 경우에 확인할 수도 있다. 다양한 실시 예에 따르면, 전자 장치(101)는 상기 외부 전자 장치와 상기 제1 통신에 기반하여 호스트 롤로 동작되고 있는 상태에서, 상기 제2 통신을 위한 트리거링이 수행되면, 상기 제1 통신에 기반한 호스트 롤과 다른 롤(예: 디바이스 롤)로 동작하도록 상기 외부 전자 장치와 제2 통신 연결을 수행할 수 있다. 일 실시 예에 따르면, 전자 장치(101) 가 상기 유선 통신 인터페이스 또는 상기 무선 통신 회로를 통해 호스트 롤로 외부 전자 장치와 제1 통신을 수행하고 있는 상태에서, 상기 외부 전자 장치와 상기 무선 통신 회로를 이용한 제2 통신을 위한 트리거링이 수행되는 경우, 상기 제2 통신에서는 디바이스 롤에 기반하여 상기 외부 전자 장치와 통신을 수행할 수 있다.
일 실시 예에 따르면, 전자 장치(101)는 상기 외부 전자 장치와 상기 제1 통신에 기반하여 디바이스 롤로 동작되고 있는 상태에서, 상기 제2 통신을 위한 트리거링이 수행되면, 상기 제1 통신에 기반한 디바이스 롤과 다른 롤(예: 호스트 롤)에 기반하여 상기 외부 전자 장치와 통신을 수행할 수 있다. 예를 들면, 전자 장치(101) 가 상기 유선 통신 인터페이스 또는 상기 무선 통신 회로를 통해 디바이스 롤로 외부 전자 장치와 제1 통신을 수행하고 있는 상태에서, 상기 외부 전자 장치와 상기 무선 통신 회로를 이용한 제2 통신을 위한 트리거링이 수행되면, 상기 제2 통신에서 호스트 롤에 기반하여 상기 외부 전자 장치와 통신을 수행할 수 있다.
도 8은 본 발명의 일 실시 예에 따른 전자 장치와 외부 전자 장치가 유선 통신 인터페이스에 기반한 제1 연결 및 무선 통신 회로에 기반한 제2 연결을 수행하는 동작을 나타낸 순서도이다.
도 8의 전자 장치(810) 또는 외부 전자 장치(820)는 도 1의 전자 장치(101)의 적어도 하나의 구성 요소를 포함할 수 있으며, 상기 전자 장치(101)에서 수행되는 적어도 하나의 기능 또는 동작을 수행할 수 있다.
이하, 도 8을 참조하여, 본 발명의 일 실시 예에 따른 전자 장치와 외부 전자 장치가 유선 통신 인터페이스(예: 도 4b의 USB 통신 인터페이스(420))에 기반한 제1 통신 연결 및 무선 통신 회로(예: 도 4b의 WSB 통신 인터페이스(430))에 기반한 제2 통신 연결을 수행하는 동작을 상세히 설명하면 다음과 같다.
다양한 실시 예에 따르면, 동작 830에서, 전자 장치(810)와 외부 전자 장치(820)는 유선 통신 인터페이스(예: 도 4b의 USB 통신 인터페이스(420))를 통하여 USB 통신을 연결하는 동작을 수행할 수 있다. 전자 장치(810)와 외부 전자 장치(820) 각각은 유선 통신 인터페이스에 구성된 적어도 하나의 USB 커넥터를 통해 통신을 수행할 수 있다. 일 실시 예에 따르면, 전자 장치(810)와 외부 전자 장치(820) 각각은 적어도 하나의 USB 커넥터(예: 도 4b의 USB 커넥터(425))를 포함할 수 있고, USB 케이블을 통해 연결될 수 있다. 전자 장치(810)와 외부 전자 장치(820)는 USB 케이블을 통하여 USB 커넥터를 연결하고, USB 통신 방식을 이용하여 제1 통신을 연결할 수 있다. 일 실시 예에 따르면, 전자 장치(810)가 USB 커넥터를 통해 외부 전자 장치(820)와 연결되는 경우, 전자 장치(810)와 외부 전자 장치(820)는 USB의 롤(예: 전자 장치(810)가 호스트 롤로 동작하고, 외부 전자 장치(820)가 디바이스 롤로 동작하거나, 또는 전자 장치(810)가 디바이스 롤로 동작하고, 외부 전자 장치(820)가 호스트 롤로 동작)에 기반한 동작을 수행할 수 있다. 예를 들면, 전자 장치(810)가 스마트폰이고, 외부 전자 장치(820)가 PC인 경우, 전자 장치(810)는 디바이스 롤로 동작되고, 외부 전자 장치(820)는 호스트 롤로 동작될 수 있다. 또 다른 예를 들면, 전자 장치(810)가 호스트 롤로 동작되고, 외부 전자 장치(820)는 디바이스 롤로 동작될 수 있다. 전자 장치(810)와 외부 전자 장치(820)는 USB에 기반한 제1 통신을 통해 각각 호스트 롤 또는 디바이스의 롤로 수행될 수 있다.
다양한 실시 예에 따르면, 동작 832에서, 전자 장치(810)와 외부 전자 장치(820)는 상기 제1 통신이 연결된 이후, 제2 통신을 추가적으로 연결하기 위해 트리거링을 수행할 수 있다. 전자 장치(810)와 외부 전자 장치(820)가 유선 통신 인터페이스(예: 도 4b의 USB 통신 인터페이스(420))를 통해 제1 통신이 연결된 상태에서, 트리거링을 수행하여 무선 통신 회로(예: 도 4b의 WSB 통신 인터페이스(430))을 이용한 제2 통신을 추가적으로 연결할 수 있다. 일 실시 예에 따르면, 상기 전자 장치(810)는, 상기 트리거링을 통해 P2P(peer to peer) 주소 교환, USB 롤 교환, 또는 상기 WSB의 성능(capability) 교환 중 적어도 하나를 포함하는 정보를 상기 외부 전자 장치(820)와 교환할 수 있다. 일 실시 예에 따르면, 상기 트리거링은 전자 장치(810)가 USB에 기반한 외부 전자 장치(820)와 연결된 상태에서, WSB 통신 연결의 필요성을 판단하기 위해 수행될 수 있다. 일 실시 예에 따르면, 상기 트리거링은 사용자의 요청에 의해 수행되거나, 제1 통신 연결시 자동으로 수행되거나 또는 특정 어플리케이션이 실행되는 경우 수행될 수 있다. 예를 들면, 전자 장치(810)에서 사용자의 요청, 제1 통신 연결시, 또는 특정 어플리케이션의 실행 중 적어도 하나에 따라 지정된 기능(예: 파일 공유)을 사용하여 제1 통신 연결의 지정된 품질 등의 조건에 따라 새로운 WSB 연결을 수행하기 위해 트리거링이 수행될 수 있다. 예를 들면, 전자 장치(810)가 USB를 통해 외부 전자 장치(820)와 연결된 상태에서 비정형 VDM(unstructured vendor defined message)을 이용하여 새로운 WSB 통신을 연결하기 위해 트리거링이 수행될 수 있다. 예를 들면, USB Type C를 구비한 전자 장치(810)가 USB Type C 내의 CC(configuration channel) 핀을 통해 PD(power delivery) 통신이 가능하고, PD 통신을 이용한 PD 메시지 중 비정형 VDM을 이용하여, 외부 전자 장치(820)가 WSB를 이용한 제2 통신을 지원할 수 있는지를 결정하기 위해 트리거링을 수행할 수 있다.
다양한 실시 예에 따르면, 동작 834에서, 전자 장치(810)와 외부 전자 장치(820)는 WSB 통신 연결을 위한 디스커버리를 수행할 수 있다. 예를 들어, 상기 디스커버리는 사전 결합 디스커버리(pre-association discovery)로 동작 할 수 있다. 전자 장치(810)는 외부 전자 장치(820)와 제1 롤(예: 호스트 롤)에 기반한 제1 통신을 수행하고 있는 상태에서, 상기 제1 롤(예: 호스트 롤)과 다른 제2 롤(예: 디바이스 롤)에 기반한 제2 통신을 수행하기 위해, 디스커버리를 수행할 수 있다. 예를 들어, 전자 장치(810)는 상기 외부 전자 장치(820)와 상기 USB에 기반한 상기 제1 통신이 연결된 상태에서, 상기 WSB에 기반한 제2 통신을 연결하기 위해, 디스커버리를 수행하고, 서비스 이름(예: USB 연결에 의해 지정된 롤과 반대의 롤), 광고 식별자 또는 서비스 정보 중 적어도 하나를 상기 외부 전자 장치(820)와 교환할 수 있다. 예를 들어, 전자 장치(810)와 외부 전자 장치(820)는 디스커버리 동작을 통해, 지정된 롤 또는 자동으로 설정된 롤에 따라 설정된 서비스 이름을 교환하고, 교환된 서비스 이름을 기반으로 각각의 롤에 따른 WSB 연결을 수행할 수 있다.
일 실시 예에 따르면, 동작 836에서, 전자 장치(810)와 외부 전자 장치(820)는 커넥션 셋업을 수행할 수 있다. 전자 장치(810)는 상기 WSB 통신 연결을 위한 서비스 이름, USB 연결에 의해 지정된 롤과 반대 롤에 대한 정보, 광고 식별자 또는 서비스 정보 중 적어도 하나를 상기 외부 전자 장치와 교환하고, 상기 교환한 정보에 적어도 일부 기반하여 외부 전자 장치(820)와 커넥션 셋업을 수행할 수 있다.
일 실시 예에 따르면, 동작 838에서, 전자 장치(810)와 외부 전자 장치(820)는 WSB 세션 셋업을 수행할 수 있다. 전자 장치와 외부 전자 장치는 커넥션 셋업 동작이 완료된 경우, WSB 세션 셋업 동작을 수행할 수 있다. 예를 들어, 제 1 통신 연결에서 전자 장치(810)가 USB 디바이스 롤로 동작하는 경우, 외부 전자 장치(820)의 WSB 서비스 컴포넌트는, WSB 세션 요청을 개시하도록 ASP에 요청할 수 있다. 예를 들어, WSB 서비스는, WSB에서의 디바이스 롤을 식별하고, P2P 연결을 어떻게 설정 할지를 표시하며, WSB 세션을 요청하도록 구성된 파라미터들을 포함하는 연결 세션들 방법을 호출할 수 있다. WSB 서비스는, 요청된 WSB 세션에서 MA USB 프로토콜에 대한 트랜스포트 모드를 선택할 수 있다. 예를 들어, WSB 서비스는, WSB에서의 디바이스 롤로부터의 서비스 정보에서 식별된 지원되는 트랜스포트 모드(예 : IP or MAC)들 및 WSB에서의 호스트 롤의 트랜스포트모드 선호도들에 기초하여, 요청된 WSB 세션에서 MA USB 프로토콜에 대한 트랜스포트 모드를 선택할 수도 있다.
다양한 실시 예에 따르면, 동작 840에서, 전자 장치(810)와 외부 전자 장치(820)는 MA USB 에뮬레이션(emulation)을 수행할 수 있다. 전자 장치(810) 또는 외부 전자 장치(820)가 WSB 세션 셋업이 수행되면, 전자 장치(810)의 WSB 서비스 또는 외부 전자 장치(820)의 WSB 서비스는 P2P 무선 연결을 통해 Media Agnostic USB(MA USB) 패킷들을 교환하고, USB 디바이스 롤을 위한 MA USB 프로토콜을 활성화할 수 있다. 상기 Media Agnostic USB(MA USB) 프로토콜은 WSB 세션을 위해 지원되는 전송 롤에 따라 USB 데이터 전달 및 USB 디바이스 롤을 수행할 수 있다. 일 실시 예에 따르면, 전자 장치(810)는 상기 USB 통신에서의 롤(예: 호스트 롤)과 다른 롤(예: 디바이스 롤)에 기반하여 WSB 통신을 수행할 수 있다. 도 8에서는 전자 장치(810)가 외부 전자 장치(820)와 USB를 통해 연결된 후, WSB 통신을 추가적으로 연결하는 내용에 대해서 기술하였으나, 이는 단지 실시 예일 뿐, 본 발명의 다양한 실시 예들에 따르면 전자 장치(810)가 외부 전자 장치(820)와 WSB 통신을 통해 연결된 후, USB를 추가적으로 연결될 수 있다. 일 실시 예에 따르면, 전자 장치(810)가 Wi-Fi Direct 연결을 포함하는 WSB에 기반한 무선 연결을 통해 호스트 롤로 동작되고 있는 상태에서 USB에 기반한 유선 연결을 통해 디바이스 롤로 추가적으로 동작될 수 있다. 일 실시 예에 따르면, Wi-Fi Direct 연결을 포함하는 WSB에 기반한 무선 연결을 통해 호스트 롤로 동작되고 있는 상태에서, USB에 기반한 유선 연결을 통해 호스트 롤로 지정되는 경우, 상기 WSB에서의 호스트 롤은 디바이스 롤로 변경될 수 있다. 일 실시 예에 따르면, 전자 장치(810)가 외부 전자 장치(820)와 듀얼 롤(예: 호스트 롤 및 디바이스 롤) 연결이 완료되는 경우, 전자 장치(810)는 사용자 인터페이스(user interface)가 변경될 수 있거나, 또는 사용자에게 알리기 위한 팝업이 출력될 수 있다. 일 실시 예에 따르면, 상기 사용자 인터페이스의 변경 또는 팝업 출력 중 적어도 하나는 다른 듀얼 롤이 연결이 완료되는 경우에도 동일하게 동작될 수 있다.
도 9는 본 발명의 일 실시 예에 따른 전자 장치와 외부 전자 장치가 WSB에 기반한 제1 연결 및 제2 연결을 설정하는 동작을 나타낸 순서도이다.
이하, 도 9를 참조하여, 본 발명의 일 실시 예에 따른 전자 장치(910)와 외부 전자 장치(920)가 WSB에 기반한 제1 연결 및 제2 연결을 각각의 디스커버리 동작을 통해 서로 다른 롤 동작하는 WSB 통신 연결 동작을 상세히 설명하면 다음과 같다. 도 9의 전자 장치(910) 또는 외부 전자 장치(920)는 도 1의 전자 장치(101)의 적어도 하나의 구성 요소를 포함할 수 있으며, 상기 전자 장치(101)에서 수행되는 적어도 하나의 기능 또는 동작을 수행할 수 있다.
다양한 실시 예에 따르면, 동작 930에서, 전자 장치(910)와 외부 전자 장치(920)는 WSB 통신 연결을 위한 제1 디스커버리를 수행할 수 있다. 상기 제1 디스커버리는 사전 결합 디스커버리(pre-association discovery)으로 칭할 수 있다. 일 실시 예에 따르면, 전자 장치(910)는 외부 전자 장치(920)와 커넥션을 셋업하기 위해, 디스커버리 동작을 수행할 수 있다. 전자 장치(910)는 상기 제1 디스커버리를 통해, 서비스 이름(service name) (예: 전자 장치(910)와 외부 전자 장치(920)의 롤에 대한 정보), 광고 식별자 또는 서비스 정보 중 적어도 하나를 상기 외부 전자 장치(920)와 교환할 수 있다. 예를 들어, 전자 장치(910)와 외부 전자 장치(920)의 서비스 이름은 WSB에서의 호스트 롤, WSB에서의 디바이스 롤과 같이 WSB 통신 연결시의 USB 롤에 대한 정보를 포함할 수 있다.
다양한 실시 예에 따르면, 동작 932에서, 전자 장치(910)와 외부 전자 장치(920)는 커넥션 셋업을 수행할 수 있다. 예를 들어, 전자 장치(910)는 디스커버리 동작에서 외부 전자 장치(920)와 교환한 서비스 이름(예: 전자 장치(910)와 외부 전자 장치(920)의 롤에 대한 정보), 광고 식별자 또는 서비스 정보 중 적어도 하나를 기반으로 외부 전자 장치(920)와 커넥션 셋업을 수행할 수 있다.
다양한 실시 예에 따르면, 동작 934에서, 전자 장치(910)와 외부 전자 장치(920)는 제1 WSB 세션 셋업을 수행할 수 있다. 전자 장치(910)는 서비스 이름, 광고 식별자, 세션 MAC 정보, 세션 식별자 또는 세션 정보 중 적어도 하나를 상기 외부 전자 장치(920)와 교환한 후, 외부 전자 장치(920)와 제1 WSB 세션 셋업을 수행할 수 있다. 일 실시 예에 따르면, 전자 장치(910)와 외부 전자 장치(920)는 이전에 수행된 세션 셋업 동작으로 인해 교환된 서비스 이름, 광고 식별자, 세션 MAC 정보, 세션 식별자 또는 세션 정보 중 적어도 하나를 유지할 수 있다. 일 실시 예에 따르면, 전자 장치(910)와 외부 전자 장치(920)는 동작 934에서의 세션 셋업을 위해, 상기 이전에 수행된 세션 셋업 동작으로 인해 교환된 서비스 이름, 광고 식별자, 세션 MAC 정보, 세션 식별자 또는 세션 정보 중 적어도 일부를 이용할 수 있다. 일 실시 예에 따르면, 전자 장치(910)와 외부 전자 장치(920)는 복수의 WSB 세션 셋업을 수행할 수 있다. 예를 들면, 전자 장치(910)와 외부 전자 장치(920)간에 복수의 WSB 세션이 셋업되는 경우, 각각의 WSB 세션에서의 광고 식별자, 세션 식별자는 서로 다를 수 있다.
다양한 실시 예에 따르면, 동작 936에서, 전자 장치(910)와 외부 전자 장치(920)는 제1 MA USB 에뮬레이션(emulation)을 수행할 수 있다. 예를 들어, 전자 장치(910) 또는 외부 전자 장치(920)가 제1 WSB 세션 셋업이 수행되면, 전자 장치(910)의 WSB 서비스 또는 외부 전자 장치(920)의 WSB 서비스는 제1 MA USB 에뮬레이션 동작을 수행할 수 있다. 일 실시 예에 따르면, 전자 장치(910)는 제1 WSB 세션 셋업에 기반한 제1 통신에서, 디바이스 롤로 동작하고 외부 전자 장치(920)는 호스트 롤로 동작할 수 있다. 다른 실시 예에 따르면, 전자 장치(910)는 호스트 롤로 동작하고 외부 전자 장치(920)는 디바이스 롤로 동작할 수 있다. 일 실시 예에 따르면, 전자 장치(910)가 스마트폰이고, 외부 전자 장치(920)가 PC인 경우, 전자 장치(910)는 디바이스 롤로 동작되고, 외부 전자 장치(920)는 호스트 롤로 동작될 수 있다. 또 다른 예는, 전자 장치(910)가 호스트 롤로 동작되고, 외부 전자 장치(920)는 디바이스 롤로 동작될 수 있다.
다양한 실시 예에 따르면, 동작 938에서, 전자 장치(910)와 외부 전자 장치(920)는 트리거링을 수행할 수 있다. 전자 장치(910)와 외부 전자 장치(920)는 제2 WSB 세션 셋업을 위한 트리거링을 수행할 수 있다. 예를 들어 전자 장치는 제 1 WSB 통신을 연결하고 있는 동안, 트리거링 동작을 수행하여 제 2 WSB 통신 연결의 필요성을 판단할 수 있다. 예를 들어, 전자 장치는 사용자의 요청, 제 1 WSB 통신 연결 시, 또는 특정 어플리케이션의 실행 중 적어도 하나에 기반하여 트리거링을 수행할 수 있다. 전자 장치(910)와 외부 전자 장치(920)간에 트리거링이 수행된 이후, 전자 장치(910)는 제 1 WSB 통신에서의 USB 롤이 호스트 롤인지 또는 디바이스 롤인지 확인할 수 있다. 전자 장치(910)와 외부 전자 장치(920)는 상기 제1 WSB 세션 셋업이 수행된 이후, 추가적으로 제2 WSB 연결을 수행하기 위해 트리거링을 수행할 수 있다. 일 실시 예에 따르면, 상기 트리거링은 전자 장치(910)가 외부 전자 장치(920)와 WSB에 기반한 제1 통신이 연결된 상태에서, WSB에 기반한 제2 통신 연결을 위해 수행될 수 있다. 일 실시 예에 따르면, 상기 트리거링은 전자 장치(910)와 외부 전자 장치(920)가 WSB에 기반한 제1 통신 및 제2 통신을 동시에 연결하는 경우 수행될 수 있다. 일 실시 예에 따르면, 상기 트리거링은 전자 장치(910)가 WSB 연결에서의 제1 통신을 외부 전자 장치(920)와 수행하고 있는 경우, WSB에서의 제2 WSB 통신 연결을 위해 수행될 수 있다. 예를 들면, 사용자 요청, 전자 장치(910)에서 지정된 기능(예: 파일 공유) 사용, 또는 제1 통신 연결의 지정된 품질 등의 조건에 따라 제2 WSB 연결을 수행하기 위한 트리거링이 수행될 수 있다.
다양한 실시 예에 따르면, 동작 940에서, 전자 장치(910)와 외부 전자 장치(920)는 WSB 통신 연결을 위한 제2 디스커버리를 수행할 수 있다. 상기 제2 디스커버리는 사후 결합 디스커버리(post-association discovery)으로 칭할 수 있다. 일 실시 예에 따르면, 전자 장치(910)는 외부 전자 장치(920)와 제 2 연결을 위한 트리거링이 되는 제 2 WSB 통신 연결을 위해 제 2 디스커버리 동작을 수행할 수 있다. 전자 장치(910)와 외부 전자 장치(920)는 상기 제1 WSB 세션 셋업이 수행된 이후, 제2 WSB 세션 셋업을 추가적으로 수행하기 위해 디스커버리 동작을 수행할 수 있다.
전자 장치(910)와 외부 전자 장치(920)는 현재 연결된 Wi-Fi Direct Group을 기반으로 제2 디스커버리(예: post-association discovery)을 수행하고, 전자 장치(910)와 외부 전자 장치(920)가 광고(advertise)하고, 검색(seek)하는 서비스는 첫 번째 연결과 반대되는 롤을 가질 수 있다. 전자 장치(101)는 상기 제2 디스커버리를 통해, 서비스 이름(예: 전자 장치(910)와 외부 전자 장치(920)의 롤에 대한 정보), 광고 식별자 또는 서비스 정보 중 적어도 하나를 상기 외부 전자 장치(920)와 교환할 수 있다. 상기 광고 식별자 및 세션 식별자는 제1 디스커버리 동작에서 교환되는 광고 식별자 및 세션 식별자와 적어도 일부 다를 수 있다. 일 실시 예에 따르면, 전자 장치(910)와 외부 전자 장치(920)간의 제2 디스커버리가 수행된 이후, 커넥션 셋업(예: 링크 연결)은 생략될 수 있다.
다양한 실시 예에 따르면, 동작 942에서, 전자 장치(910)와 외부 전자 장치(920)는 제2 WSB 세션 셋업을 수행할 수 있다. 전자 장치(910)는 서비스 이름, 광고 식별자, 세션 MAC 정보, 세션 식별자 또는 세션 정보 중 적어도 하나를 상기 외부 전자 장치(920)와 교환한 후, 외부 전자 장치(920)와 제2 WSB 세션 셋업을 수행할 수 있다. 일 실시 예에 따르면, 상기 제2 WSB 세션 셋업에서의 광고 식별자 및 세션 식별자는 동작 934에서의 제1 WSB 세션 셋업에서의 광고 식별자 및 세션 식별자와 서로 다를 수 있다. 일 실시 예에 따르면, 각각의 WSB 세션은 서로 다른 IP 또는 서로 다른 포트를 가질 수 있다. 일 실시 예에 따르면, 상기 제2 WSB 세션에 따라 수행되는 롤과 상기 제1 WSB 세션에 따라 수행되는 롤은 서로 다를 수 있다. 예를 들면, 상기 제1 WSB 세션에 따라 수행되는 롤이 호스트(또는 디바이스) 롤이면, 상기 제2 WSB 세션에 따라 수행되는 롤은 디바이스(또는 호스트) 롤일 수 있다. 전자 장치(910)는 상기 외부 전자 장치(920)와 상기 제2 WSB 세션 셋업을 통해 광고 식별자, 세션 MAC 주소, 세션 식별자 또는 세션 정보 중 적어도 하나를 상기 외부 전자 장치(920)와 교환할 수 있다.
다양한 실시 예에 따르면, 동작 944에서, 전자 장치(910)와 외부 전자 장치(920)는 제2 MA USB 에뮬레이션(emulation)을 수행할 수 있다. 전자 장치(910)와 외부 전자 장치(920)간에 제2 WSB 세션 셋업이 수행되면, 제2 MA USB 에뮬레이션(emulation) 동작을 수행하고 전자 장치(910)의 WSB 서비스 및 외부 전자 장치(920)의 WSB 서비스는 P2P 무선 연결을 통해 Media Agnostic USB(MA USB) 패킷들을 교환할 수 있다. 전자 장치(910)와 외부 전자 장치(920)는 한 번의 커넥션 셋업을 이용해 복수의 WSB 세션 셋업을 수행함으로써, 전자 장치(910)와 외부 전자 장치(920) 각각은 듀얼 롤로 동작될 수 있다. 예를 들어, 전자 장치(910)는 한 번의 커넥션 셋업에 기반하여 제1 WSB 세션 셋업을 수행하여 외부 전자 장치(920)에 대해 호스트 롤로 동작하고, 제2 WSB 세션 셋업을 수행하여 상기 외부 전자 장치(920)에 대해 디바이스 롤로 동작할 수 있다.
도 10은 본 발명의 다른 실시 예에 따른 전자 장치와 외부 전자 장치가 한 번의 디스커버리를 통해 복수의 WSB 연결을 수행하는 동작을 나타낸 순서도이다.
이하, 도 10을 참조하여, 본 발명의 다른 실시 예에 따른 전자 장치와 외부 전자 장치가 한 번의 디스커버리 동작을 이용하여 다중 세션에서 서로 다른 롤로 동작을 상세히 설명하면 다음과 같다.
도 10의 전자 장치(1010) 또는 외부 전자 장치(1020)는 도 1의 전자 장치(101)의 적어도 하나의 구성 요소를 포함할 수 있으며, 상기 전자 장치(101)에서 수행되는 적어도 하나의 기능 또는 동작을 수행할 수 있다.
다양한 실시 예에 따르면, 동작 1030에서, 전자 장치(1010)와 외부 전자 장치(1020)는 WSB 통신 연결을 위한 디스커버리를 수행할 수 있다. 일 실시 예에 따르면, 전자 장치(1010)와 외부 전자 장치(1020)는 WSB에 기반한 한 번의 디스커버리를 통해 복수의 WSB 세션 셋업을 수행할 수 있다. 일 실시 예에 따르면, 전자 장치(1010)와 외부 전자 장치(1020)는 WSB에 기반한 복수의 통신을 셋업하기 위해서 한 번의 디스커버리를 수행할 수 있다. 전자 장치(1010)와 외부 전자 장치(1020)는 상기 한 번의 디스커버리를 통해, 다중 서비스 이름, 다중 광고 식별자, 서비스 정보 및 듀얼 롤 기능 (dual role capability)에 대한 정보를 교환할 수 있다. 상기 듀얼 롤 기능에 대한 정보는 듀얼 롤을 지원할 수 있는지 확인할 수 있는 정보를 포함할 수 있다. 전자 장치(1010)와 외부 전자 장치(1020)는 각각의 롤에 매칭되는 서비스 이름, 광고 식별자를 구분하여 지정함으로써, 다중 서비스 이름 및 다중 광고 식별자를 교환할 수 있다.
다양한 실시 예에 따르면, 동작 1032에서, 전자 장치(1010)와 외부 전자 장치(1020)는 커넥션 셋업을 수행할 수 있다. 전자 장치(1010)와 외부 전자 장치(1020)는 생성된 또는 생성한 P2P 그룹을 이용하여 커넥션 셋업을 수행할 수 있다. 일 실시 예에 따르면, 전자 장치(1010)는 다중 서비스 이름(예: 전자 장치(1010)와 외부 전자 장치(1020)의 롤에 대한 정보), 다중 광고 식별자 또는 듀얼 롤 기능에 대한 정보 중 적어도 하나를 한 번의 디스커버리 동작을 통해 상기 외부 전자 장치(1020)와 교환하고, 상기 교환한 정보에 적어도 일부 기반하여 외부 전자 장치(1020)와 커넥션 셋업을 수행할 수 있다.
다양한 실시 예에 따르면, 동작 1034에서, 전자 장치(1010)와 외부 전자 장치(1020)는 제1 WSB 세션 셋업을 수행할 수 있다. 전자 장치(1010)는 제1 WSB 세션 셋업에 대한 서비스 이름, 광고 식별자, 세션 MAC 정보, 세션 식별자 또는 세션 정보 중 적어도 하나를 상기 외부 전자 장치(1020)와 교환한 후, 외부 전자 장치(1020)와 제1 WSB 세션 셋업을 수행할 수 있다.
다양한 실시 예에 따르면, 동작 1036에서, 전자 장치(1010)와 외부 전자 장치(1020)는 제1 MA USB 에뮬레이션을 수행할 수 있다. 전자 장치(1010) 또는 외부 전자 장치(1020)가 제1 WSB 세션 셋업이 수행되면, 전자 장치(1010)의 WSB 서비스 또는 외부 전자 장치(1020)의 WSB 서비스는 P2P 무선 연결을 통해 Media Agnostic USB(MA USB) 패킷들을 교환할 수 있다.
다양한 실시 예에 따르면, 동작 1038에서, 전자 장치(1010)와 외부 전자 장치(1020)는 제2 WSB 세션 셋업을 위한 트리거링을 수행할 수 있다. 전자 장치(910)와 외부 전자 장치(920)는 제1 WSB 세션 셋업이 수행된 이후, 제2 WSB 세션 셋업을 위해 트리거링을 수행할 수 있다. 전자 장치(1010)와 외부 전자 장치(1020)는 상기 제1 WSB 세션 셋업이 수행된 이후, 제2 WSB 세션 셋업을 추가적으로 수행하기 위한 트리거링을 수행할 수 있다. 일 실시 예에 따르면, 전자 장치(1010)와 외부 전자 장치(1020)간의 디스커버리 동작은 생략될 수 있다. 일 실시 예에 따르면, 전자 장치(1010)와 외부 전자 장치(1020)는 동작 1030에서의 한 번의 디스커버리를 통해 복수의 세션 셋업을 위한 정보를 송수신할 수 있다. 일 실시 예에 따르면, 상기 제2 WSB 세션 셋업을 추가적으로 수행하기 위한 트리거링은 사용자의 요청에 의해 수행되거나, 제1 WSB 세션 셋업의 연결시 자동으로 수행되거나 또는 특정 어플리케이션이 실행되는 경우 수행될 수 있다.
다양한 실시 예에 따르면, 동작 1040에서, 전자 장치(1010)와 외부 전자 장치(1020)는 제2 WSB 세션 셋업을 수행할 수 있다. 일 실시 예에 따르면, 전자 장치(1010)는 제2 WSB 세션 셋업에 대한 서비스 이름, 광고 식별자, 세션 MAC 정보, 세션 식별자 또는 세션 정보 중 적어도 하나를 상기 외부 전자 장치(1020)와 교환한 후, 외부 전자 장치(1020)와 제2 WSB 세션 셋업을 수행할 수 있다. 일 실시 예에 따르면, 상기 제2 WSB 세션 셋업에서의 광고 식별자 및 세션 식별자는 동작 1034에서의 제1 WSB 세션 셋업에서의 광고 식별자 및 세션 식별자와 적어도 일부 다를 수 있다. 일 실시 예에 따르면, 각각의 WSB 세션은 서로 다른 IP 또는 서로 다른 포트를 가질 수 있다. 일 실시 예에 따르면, 상기 제2 WSB 세션에 따라 수행되는 롤과 상기 제1 WSB 세션에 따라 수행되는 롤은 서로 다를 수 있다. 예를 들면, 상기 제1 WSB 세션에 따라 수행되는 롤이 호스트(또는 디바이스) 롤이면, 상기 제2 WSB 세션에 따라 수행되는 롤은 디바이스(또는 호스트) 롤일 수 있다.
다양한 실시 예에 따르면, 동작 1042에서, 전자 장치(1010)와 외부 전자 장치(1020)는 제2 MA USB 에뮬레이션(emulation)을 수행할 수 있다. 전자 장치(1010)와 외부 전자 장치(1020)간에 제2 WSB 세션 셋업이 수행되면, 전자 장치(1010)와 외부 전자 장치(1020)는 제2 MA USB 에뮬레이션(emulation)을 수행하고 전자 장치(1010)의 WSB 서비스 및 외부 전자 장치(1020)의 WSB 서비스는 P2P 무선 연결을 통해 Media Agnostic USB(MA USB) 패킷들을 교환할 수 있다. 도 10에 도시된 바와 같이, 전자 장치(1010)와 외부 전자 장치(1020)는 한 번의 디스커버리를 통해 다중 WSB 세션 셋업을 위한 다중 서비스 이름, 다중 광고 식별자, 서비스 정보 및 듀얼 롤 기능에 대한 정보를 교환함으로써, 다중 WSB 세션 셋업을 수행할 수 있다.
일 실시 예에 따르면, 한 번의 디스커버리 동작과 한번의 커넥션 셋업을 이용해 복수의 WSB 세션 셋업을 수행함으로써, 전자 장치(1010)와 외부 전자 장치(1020) 각각은 듀얼 롤로 동작될 수 있다. 예를 들어, 전자 장치(1010)는 한 번의 디스커버리 동작과 한 번의 커넥션 셋업 동작에 기반하여 제1 WSB 세션 셋업 동작을 수행하여 외부 전자 장치(1020)에 대해 호스트 롤로 동작하고, 제2 WSB 세션 셋업 동작을 수행하여 상기 외부 전자 장치(1020)에 대해 디바이스 롤로 동작할 수 있다.
도 11은 본 발명의 일 실시 예에 따른 전자 장치와 외부 전자 장치가 다중 P2P 그룹(peer to peer group)을 활용하여 다중 세션을 설정하는 동작을 나타낸 순서도이다.
이하, 도 11을 참조하여, 본 발명의 일 실시 예에 따른 전자 장치와 외부 전자 장치가 다중 P2P 그룹을 활용하여 다중 세션을 설정하는 동작을 상세히 설명하면 다음과 같다.
다양한 실시 예에 따르면, 동작 1130에서, 전자 장치(1110)와 외부 전자 장치(1120)는 WSB 통신 연결을 위한 제1 디스커버리를 수행할 수 있다. 상기 제1 디스커버리는 제1 사전 결합 디스커버리(pre-association discovery)로 칭할 수 있다. 일 실시 예에 따르면, 전자 장치(1110)와 외부 전자 장치(1120)는 다중 P2P 그룹을 활용한 다중 세션을 위해 디스커버리를 수행할 수 있다. 상기 디스커버리를 통해, 전자 장치(1110)와 외부 전자 장치(1120)는 제1 커넥션 셋업을 위해, 서비스 교환 정보(예: 전자 장치(1110)와 외부 전자 장치(1120)의 롤에 대한 정보), 광고 식별자 또는 서비스 정보 중 적어도 하나를 교환할 수 있다. 예를 들면, 전자 장치(1110)는 상기 외부 전자 장치(1120)와 제1 Wi-Fi Direct Group을 이용한 제1 연결을 셋업하기 위해, 서비스 이름, 광고 식별자 또는 서비스 정보 중 적어도 하나를 상기 외부 전자 장치(1120)와 교환할 수 있다. 상기 서비스 이름 는 예를 들면, 전자 장치(1110)가 호스트로서 동작되고, 외부 전자 장치(1120)가 디바이스로서 동작할 예정이라는 정보를 포함할 수 있다.
다양한 실시 예에 따르면, 동작 1132에서, 전자 장치(1110)와 외부 전자 장치(1120)는 제1 Wi-Fi Direct Group을 이용한 제1 커넥션 셋업을 수행할 수 있다. 전자 장치(1110)는 상기 제1 Wi-Fi Direct Group을 이용하여 외부 전자 장치(1120)와 제1 커넥션 셋업을 수행할 수 있다. 상기 제1 Wi-Fi Direct Group을 이용한 통신의 셋업은 Wi-Fi Direct에 기반한 연결 또는 P2P 그룹 생성에 관련될 수 있다.
다양한 실시 예에 따르면, 동작 1134에서, 전자 장치(1110)와 외부 전자 장치(1120)는 제1 WSB 세션 셋업을 수행할 수 있다. 일 실시 예에 따르면, 전자 장치(1110)는 상기 외부 전자 장치와 상기 제1 Wi-Fi Direct Group에 대한 광고 식별자, 세션 MAC 주소, 세션 식별자 또는 세션 정보 중 적어도 하나를 상기 외부 전자 장치(1120)와 교환하여 제1 WSB 세션 셋업을 수행할 수 있다.
다양한 실시 예에 따르면, 동작 1136에서, 전자 장치(1110)와 외부 전자 장치(1120)는 제1 MA USB 에뮬레이션을 수행할 수 있다. 전자 장치(1110)와 외부 전자 장치(1120)간에 제1 WSB 세션 셋업이 수행되면, 전자 장치(1110)의 WSB 서비스 및 외부 전자 장치(1120)의 WSB 서비스는 P2P 무선 연결을 통해 Media Agnostic USB(MA USB) 패킷들을 교환할 수 있다.
다양한 실시 예에 따르면, 동작 1138에서, 전자 장치(1110)와 외부 전자 장치(1120)는 제2 WSB 통신을 연결하기 위한 트리거링을 수행할 수 있다. 전자 장치(1110)와 외부 전자 장치(1120)는 상기 트리거링을 수행한 이후, 상기 제1 WSB 통신에 기반한 롤이 호스트 롤인지 또는 디바이스 롤인지 확인할 수 있다. 일 실시 예에 따르면, 상기 트리거링은 전자 장치(1110)가 외부 전자 장치(1120)와 WSB에 기반한 제1 통신이 연결된 상태에서, WSB에 기반한 제2 통신 연결을 위해 수행될 수 있다. 일 실시 예에 따르면, 상기 트리거링은 전자 장치(1110)와 외부 전자 장치(1120)가 WSB에 기반한 제1 통신 및 제2 통신을 동시에 연결하는 경우 수행될 수 있다. 일 실시 예에 따르면, 상기 트리거링은 전자 장치(1110)가 WSB 연결에서의 제1 통신을 외부 전자 장치(1120)와 수행하고 있는 경우, WSB에서의 제2 WSB 통신 연결을 위해 수행될 수 있다. 일 실시 예에 따르면, 전자 장치(1110)는 상기 외부 전자 장치(1120)와 상기 제1 Wi-Fi Direct Group을 통해 상기 제1 커넥션 셋업이 수행된 이후, 제2 커넥션 셋업을 위한 트리거링을 수행하고, 상기 제1 커넥션 셋업에 대한 롤을 확인할 수 있다. 다양한 실시 예에 따르면, 동작 1140에서, 전자 장치(1110)와 외부 전자 장치(1120)는 제2 WSB 세션 셋업을 위한 제2 디스커버리를 수행할 수 있다. 상기 제2 디스커버리는 제2 사전 결합 디스커버리(pre-association discovery)로 칭할 수 있다. 전자 장치(1110)는 제2 WSB 세션 셋업을 위한 디스커버리를 수행하여 상기 제2 WSB 세션 셋업에 대한 서비스 이름, 광고 식별자 또는 서비스 정보 중 적어도 하나를 상기 외부 전자 장치(1120)와 교환할 수 있다. 일 실시 예에 따르면, 전자 장치(1110)가 외부 전자 장치(1120)와 제1 WSB 통신을 수행하고 있는 상태에서, 전자 장치(1110)가 외부 전자 장치(1120)와 제2 WSB 통신을 수행하기 위해 디스커버리를 수행할 수 있다. 또는, 그 반대의 경우에도 디스커버리를 수행할 수 있다.
다양한 실시 예에 따르면, 동작 1142에서, 전자 장치(1110)와 외부 전자 장치(1120)는 제2 Wi-Fi Direct Group을 이용한 제2 커넥션 셋업을 수행할 수 있다. 전자 장치(1110)는 상기 제2 Wi-Fi Direct Group을 이용하여 외부 전자 장치(1120)와 제2 커넥션 셋업을 수행할 수 있다. 상기 제2 Wi-Fi Direct Group을 이용한 통신의 셋업은 Wi-Fi Direct에 기반한 연결 또는 P2P 그룹 생성에 관련될 수 있다. 전자 장치(1110)는 상기 제1 Wi-Fi Direct Group의 주파수, P2P 디바이스 주소, P2P 인터페이스 주소, 또는 MAC 주소 중 적어도 하나가 서로 다른 제2 Wi-Fi Direct Group을 생성할 수 있다. 전자 장치(1110)는 제1 Wi-Fi Direct Group에 기반한 제1 커넥션에서의 롤(예: 호스트 롤)과 다른 롤(예: 디바이스 롤)을 통해, 상기 외부 전자 장치(1120)와 제2 Wi-Fi Direct Group에 기반한 제2 커넥션 셋업을 수행할 수 있다. 일 실시 예에 따르면, 제1 Wi-Fi Direct Group을 통해 전자 장치(1110)가 호스트 롤로 동작하고, 외부 전자 장치(1120)가 디바이스 롤로 동작하고 있는 상태에서, 전자 장치(1110)가 제2 Wi-Fi Direct Group을 생성하기 위한 롤(예: 호스트 롤) 및 P2P 동작 모드를 외부 전자 장치(1120)와 미리 교환함으로써 제2 Wi-Fi Direct Group에서의 롤(예: 디바이스 롤)을 지정하는 동작은 생략될 수 있다. 일 실시 예에 따르면, 전자 장치(1110)와 외부 전자 장치(1120)는 2.4/5GHz 대역에서 제1 Wi-Fi Direct Group을 통해 제1 WSB에서의 롤(예: 호스트 롤)을 구성하고, 60GHz 대역에서 제2 Wi-Fi Direct Group을 통해 제2 WSB에서의 롤(예: 디바이스 롤)을 구성할 수 있다. 예를 들어, 전자 장치(1110)와 외부 전자 장치(1120)는 2.4/5GHz 대역을 사용하는 제1 Wi-Fi Direct Group에서의 제1 WSB에서의 롤(예: 호스트 롤)과 대응되도록 60GHz 대역을 사용하는 제2 Wi-Fi Direct Group에서의 제2 WSB에서의 롤(예: 디바이스 롤)을 구성할 수 있다.
일 실시 예에 따르면, 동작 1144에서, 전자 장치(1110)와 외부 전자 장치(1120)는 제2 WSB 세션 셋업을 수행할 수 있다. 예를 들면, 전자 장치(1110)는 상기 외부 전자 장치와 상기 제2 Wi-Fi Direct Group에 대한 광고 식별자, 세션 MAC 주소, 세션 식별자 또는 세션 정보 중 적어도 하나를 상기 외부 전자 장치(1120)와 교환하여 제2 WSB 세션 셋업을 수행할 수 있다. 일 실시 예에 따르면, 상기 제2 WSB 세션 셋업에서의 광고 식별자, 세션 MAC 주소, 및 세션 식별자는 동작 1134에서의 제1 WSB 세션 셋업에서의 광고 식별자, 세션 MAC 주소, 및 세션 식별자와 서로 다를 수 있다. 일 실시 예에 따르면, 각각의 WSB 세션은 서로 다른 IP 또는 서로 다른 포트를 가질 수 있다. 일 실시 예에 따르면, 상기 제2 WSB 세션에 따라 수행되는 롤과 상기 제1 WSB 세션에 따라 수행되는 롤은 서로 다를 수 있다.
일 실시 예에 따르면, 동작 1146에서, 전자 장치(1110)와 외부 전자 장치(1120)는 제2 MA USB 에뮬레이션을 수행할 수 있다. 전자 장치(1110)와 외부 전자 장치(1120)간에 제2 WSB 세션 셋업이 수행되면, 전자 장치(1110)와 외부 전자 장치(1120)는 제2 MA USB 에뮬레이션을 수행하고, 전자 장치(1110)의 WSB 서비스 및 외부 전자 장치(1120)의 WSB 서비스는 P2P 무선 연결을 통해 Media Agnostic USB(MA USB) 패킷들을 교환할 수 있다. 상술한 바와 같이, 전자 장치(1110)는 제1 WSB 통신 을 통한 호스트 롤 및 제2 WSB 통신을 통한 디바이스 롤을 동시에 수행할 수 있다. 일 실시 예에 따르면, 외부 전자 장치(1120)는 제1 WSB 통신 을 통한 디바이스 롤 및 제2 WSB 통신을 통한 호스트 롤을 동시에 수행할 수 있다. 예를 들면, 전자 장치(1110)가 제1 WSB 통신을 통해 호스트 롤로 동작하고 외부 전자 장치(1120)가 디바이스 롤로 동작하고 있는 상태에서, 상기 전자 장치(1110)가 제2 WSB 통신을 통해 디바이스 롤로 동작하고 외부 전자 장치(1120)가 호스트 롤로 동작할 수 있다. 도 11에 도시된 바와 같이, 전자 장치(110)와 외부 전자 장치(1120)는 커넥션 셋업에 있어서 주파수, P2P 주소 또는 MAC 주소 중 적어도 하나를 다르게 함으로써, 복수의 커넥션 셋업을 수행할 수 있고, 각각의 커넥션 셋업에 기반하여 WSB 세션 셋업을 수행할 수 있다.
본 발명의 다양한 실시 예에 따르면, 하우징, 사용자 인터페이스, 상기 하우징 내부에 배치된 무선 통신 회로(예: 도 1의 통신 인터페이스(170)), 상기 하우징을 통해 노출된 유선 통신 인터페이스(예: 도 1의 입출력 인터페이스(150)), 상기 하우징 내부에 배치되며, 상기 사용자 인터페이스, 상기 무선 통신 회로 및 상기 유선 통신 인터페이스와 전기적으로 연결된 프로세서(예: 도 1의 프로세서(120)), 및 상기 하우징 내부에 배치되며, 상기 프로세서에 전기적으로 연결되는 메모리(예: 도 1의 메모리(130))를 포함하는 전자 장치(예: 도 1의 전자 장치(101))가 외부 전자 장치(예: 도 1의 제1 외부 전자 장치(102))와 통신하는 방법에 있어서, 상기 전자 장치가 디바이스로서 동작되고 저장부를 포함하는 외부 전자 장치(가 호스트로서 동작되도록, 상기 무선 통신 회로(또는 상기 유선 통신 인터페이스를 이용하여 상기 외부 전자 장치와 제1 통신 채널을 설정하는 동작, 상기 제1 통신 채널을 설정한 후, 상기 제1 통신 채널을 통해 상기 외부 전자 장치와 정보를 교환하는 동작, 상기 전자 장치가 호스트로서 동작되고 상기 외부 전자 장치가 디바이스로서 동작되도록 상기 무선 통신 회로를 이용하여 상기 외부 전자 장치와 제2 통신 채널을 설정하는 동작을 포함할 수 있다.
일 실시 예에 따르면, 상기 유선 통신 인터페이스는 USB(universal serial bus) 인터페이스를 포함할 수 있다.
일 실시 예에 따르면, 상기 무선 통신 회로는 WSB(Wi-Fi serial bus) 또는 무선 USB 프로토콜을 지원하도록 구성할 수 있다.
일 실시 예에 따르면, 상기 유선 통신 인터페이스를 통해 상기 제1 통신 채널이 연결되면, 상기 제1 통신 채널에 기반한, P2P(peer to peer) 주소, USB 롤 교환, 또는 상기 WSB(Wi-Fi serial bus)의 성능(capability) 중 적어도 하나를 포함하는 정보를 교환하는 동작을 포함할 수 있다.
일 실시 예에 따르면, 상기 무선 통신 회로를 이용하여 상기 제1 통신 채널을 연결하는 경우, 상기 외부 전자 장치와의 디스커버리를 통해, 상기 제2 통신 채널을 위한 서비스 이름, 광고 식별자 또는 서비스 정보 중 적어도 하나를 포함하는 정보를 교환하는 동작을 포함할 수 있다.
일 실시 예에 따르면, 상기 제2 통신 채널을 통해 상기 외부 전자 장치의 저장부에 저장된 파일들에 대한 정보를 검색하는 동작을 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 하우징, 사용자 인터페이스, 상기 하우징 내부에 배치된 무선 통신 회로(예: 도 1의 통신 인터페이스(170)), 상기 하우징 내부에 배치되며, 상기 사용자 인터페이스 및 상기 무선 통신 회로(예: 도 1의 통신 인터페이스(170))에 전기적으로 연결된 프로세서(예: 도 1의 프로세서(120)), 및 상기 하우징 내부에 배치되며, 상기 프로세서에 전기적으로 연결되는 메모리(예: 도 1의 메모리(130))를 포함하는 전자 장치(예: 도 1의 전자 장치(101))에서 외부 전자 장치(예: 도 1의 제1 외부 전자 장치(102))와 통신하는 방법에 있어서, 상기 전자 장치가 디바이스로서 동작되고, 저장부를 포함하는 외부 전자 장치가 호스트로서 동작되도록, 상기 무선 통신 회로를 이용하여 상기 외부 전자 장치와 제1 통신 채널을 설정하는 동작, 상기 제1 통신 채널을 설정한 후, 상기 제1 통신 채널을 통해 상기 외부 전자 장치와 정보를 교환하는 동작, 상기 전자 장치(가 호스트로서 동작되고 상기 외부 전자 장치가 디바이스로서 동작되도록 상기 무선 통신 회로를 이용하여 상기 외부 전자 장치와 제2 통신 채널을 설정하는 동작을 포함할 수 있다.
일 실시 예에 따르면, 상기 무선 통신 회로는 무선 USB 프로토콜을 지원하도록 구성될 수 있다.
일 실시 예에 따르면, 상기 무선 통신 회로를 통해 제1 디스커버리를 이용하여 상기 제1 통신 채널이 연결되면, 상기 설정된 제1 통신 채널을 통해 교환되는 상기 제1 통신 채널에 대한 광고 식별자, 상기 제1 통신에 대한 세션 MAC, 상기 제1 통신에 대한 세션 식별자 또는 상기 제1 통신에 대한 세션 정보 중 적어도 하나를 포함하는 정보를 교환하는 동작을 포함할 수 있다.
일 실시 예에 따르면, 상기 무선 통신 회로를 통한 제2 디스커버리를 이용해 상기 제1 통신 채널을 연결하는 경우, 상기 제2 통신 채널을 설정하기 위해, 상기 제2 통신 채널을 위한 광고 식별자, 상기 제2 통신 채널을 위한 세션 MAC, 상기 제2 통신 채널을 위한 세션 식별자, 또는 상기 제2 통신 채널을 위한 세션 정보 중 적어도 하나를 포함하는 정보를 교환하는 동작을 포함할 수 있다.
일 실시 예에 따르면, 한 번의 디스커버리를 통해 상기 외부 전자 장치와 다중 연결을 수행하기 위해, 다중 서비스 이름, 다중 광고 식별자, 서비스 정보 및 듀얼 롤 기능에 대한 정보를 교환하는 동작을 포함할 수 있다.
일 실시 예에 따르면, 상기 한 번의 디스커버리를 이용하여 상기 외부 전자 장치와 상기 제1 통신 채널이 연결되는 경우, 상기 제1 통신에 대한 광고 식별자, 상기 제1 통신에 대한 세션 MAC, 상기 제1 통신에 대한 세션 식별자, 또는 상기 제1 통신에 대한 세션 정보 중 적어도 하나를 포함하는 정보를 교환하는 동작을 포함할 수 있다.
일 실시 예에 따르면, 상기 제1 통신 채널이 연결된 이후, 상기 제2 통신 채널이 설정되는 경우, 상기 제2 통신에 대한 광고 식별자, 상기 제2 통신에 대한 세션 MAC, 상기 제2 통신에 대한 세션 식별자, 또는 상기 제2 통신에 대한 세션 정보 중 적어도 하나를 포함하는 정보를 교환하는 동작을 포함할 수 있다.
일 실시 예에 따르면, 상기 무선 통신 회로를 통해 제1 Wi-Fi Direct Group을 이용한 제1 통신 채널을 설정한 후, 상기 제1 Wi-Fi Direct Group에 대한 광고 식별자, 세션 MAC, 세션 식별자 또는 세션 정보 중 적어도 하나를 포함하는 정보를 교환하는 동작을 포함할 수 있다.
일 실시 예에 따르면, 상기 무선 통신 회로를 통해 제2 Wi-Fi Direct Group을 이용한 제2 통신 채널을 설정한 후, 상기 제2 Wi-Fi Direct Group에 대한 광고 식별자, 세션 MAC, 세션 식별자 또는 세션 정보 중 적어도 하나를 포함하는 정보를 교환하는 동작을 포함할 수 있다.
일 실시 예에 따르면, 상기 제2 통신 채널을 통해 상기 외부 전자 장치의 저장부에 저장된 파일들에 대한 정보를 검색하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 하우징, 사용자 인터페이스, 상기 하우징 내부에 배치된 무선 통신 회로(예: 도 1의 통신 인터페이스(170)), 상기 하우징을 통해 노출된 유선 통신 인터페이스(예: 도 1의 입출력 인터페이스(150)), 상기 하우징 내부에 배치되며, 상기 사용자 인터페이스, 상기 무선 통신 회로(예: 도 1의 통신 인터페이스(170)) 및 상기 유선 통신 인터페이스(예: 도 1의 입출력 인터페이스(150))와 전기적으로 연결된 프로세서(예: 도 1의 프로세서(120)), 및 상기 하우징 내부에 배치되며, 상기 프로세서에 전기적으로 연결되는 메모리(예: 도 1의 메모리(130))를 포함하는 전자 장치(예: 도 1의 전자 장치(101))가 외부 전자 장치(예: 도 1의 제1 외부 전자 장치(102))와 통신하는 방법에 있어서, 상기 전자 장치가 호스트로서 동작되고 저장부를 포함하는 외부 전자 장치가 디바이스로서 동작되도록, 상기 무선 통신 회로 또는 상기 유선 통신 인터페이스를 이용하여 상기 외부 전자 장치와 제1 통신 채널을 설정하는 동작, 상기 제1 통신 채널을 설정한 후, 상기 제1 통신 채널을 통해 상기 외부 전자 장치와 정보를 교환하는 동작, 상기 전자 장치가 디바이스로서 동작되고 상기 외부 전자 장치가 호스트로서 동작되도록 상기 무선 통신 회로를 이용하여 상기 외부 전자 장치와 제2 통신 채널을 설정하는 동작을 포함할 수 있다.
일 실시 예에 따르면, 상기 유선 통신 인터페이스를 통해 상기 제1 통신 채널이 연결되면, 상기 제1 통신 채널에 기반한, P2P(peer to peer) 주소, USB 롤 교환, 또는 상기 WSB의 성능(capability) 중 적어도 하나를 포함하는 정보를 교환하는 동작을 포함할 수 있다.
일 실시 예에 따르면, 상기 무선 통신 회로를 이용하여 상기 제1 통신 채널을 연결하는 경우, 상기 외부 전자 장치와의 디스커버리를 통해, 상기 제2 통신 채널을 위한 서비스 이름, 광고 식별자 또는 서비스 정보 중 적어도 하나를 포함하는 정보를 교환하는 동작을 포함할 수 있다.
일 실시 예에 따르면, 상기 제2 통신 채널을 통해 상기 외부 전자 장치의 저장부에 저장된 파일들에 대한 정보를 검색하는 동작을 포함할 수 있다.
도 12는 본 발명의 일 실시 예에 따른 전자 장치 및 외부 전자 장치가 USB 및 WSB를 통해 듀얼 롤에 기반하여 연결된 예시도이다.
도 12를 참조하면, 일 실시 예에 따른 전자 장치(1210)와 외부 전자 장치(1220) 각각은 호스트 롤과 디바이스 롤을 동시에 지원할 수 있다. 예를 들어, 사용자가 외부 전자 장치(1220)를 이용하여 전자 장치(1210)에 저장된 데이터(예: 사진, 동영상, 문서 등)를 제어(예: 갱신, 삭제, 다운로드 등)하는 경우, 외부 전자 장치(1220)는 호스트 롤로 동작하고, 전자 장치(1210)는 디바이스 롤로서 동작할 수 있다. 그리고, 사용자가 전자 장치(1210)를 이용하여 외부 전자 장치(1220)에 저장된 데이터를 제어하는 경우, 외부 전자 장치(1220)는 디바이스 롤로 동작하고, 전자 장치(1210)는 호스트 롤로서 동작할 수 있다. 이와 같이, 전자 장치(1210)와 외부 전자 장치(1220) 간에 USB 통신(1231) 및 WSB 통신(1232)이 연결되는 경우, 전자 장치(1210)와 외부 전자 장치(1220)는 호스트 롤과 디바이스 롤을 동시에 지원할 수 있다.
일 실시 예에 따르면, 전자 장치(1210)는 듀얼 롤(예: 호스트 롤 및 디바이스 롤)을 통해 외부 전자 장치(1220)와 데이터를 송수신할 수 있다. 외부 전자 장치(1220)는 듀얼 롤(예: 호스트 롤 및 디바이스 롤)을 통해 전자 장치(1210)와 데이터를 송수신할 수 있다. 예를 들면, 듀얼 롤을 통해, 전자 장치(1210)는 외부 전자 장치(1220)의 메모리에 접근하여 상기 메모리에 저장된 데이터를 제어(예: 갱신, 삭제, 다운로드 등)하거나 또는 외부 전자 장치(1220)의 디스플레이에 표시된 화면을 표시(1221)할 수 있다. 다른 예를 들면, 외부 전자 장치(1220)는 전자 장치(1210)의 메모리에 접근하여 상기 메모리에 저장된 데이터를 제어하거나 또는 전자 장치(1210)의 디스플레이에 표시된 화면을 외부 전자 장치(1220)에 표시(1221)할 수 있다.
도 12의 실시 예는 외부 전자 장치(1220)(예: 노트북)에서 전자 장치(1210)(예: 스마트 폰)의 화면을 미러링(mirroring)하는 프로그램(예: 삼성 사이드 싱크(Samsung SideSync))에서도 활용할 수 있다. 상기 프로그램(예: 삼성 사이드 싱크)은 데스크탑 또는 노트북에서 스마트 폰의 화면을 표시하고, 제어할 수 있게 하는 특화된 서비스로서, 노트북으로 스마트 폰의 화면을 전달하고, 키보드와 마우스 입력을 스마트 폰으로 전달하는 기능을 제공할 수 있다.
종래의 경우, 전자 장치(1210)와 외부 전자 장치(1220)가 USB 통신(1231) 또는 WSB 통신(1232)으로 연결되어 사이드 싱크를 실행하는 경우, 외부 전자 장치(1220)가 호스트 롤로 동작하고, 전자 장치(1210)가 디바이스 롤로 동작함으로써, 외부 전자 장치(1220)에서 전자 장치(1210)의 파일을 확인할 수 있었으나, 전자 장치(1210)에서 외부 전자 장치(1220)의 파일 확인 등은 불가능하였다.
본 발명의 다양한 실시 예에 따르면, 전자 장치(1220)와 외부 전자 장치(1210)가 USB 또는 WSB로 연결되어 사이드 싱크를 실행한 경우, 현재 수행중인 롤과 반대인 롤을 지원하는 듀얼 롤을 구성될 수 있도록 새로운 WSB 연결을 생성할 수 있다. 새로운 WSB 연결이 되는 경우, 전자 장치(1210)와 외부 전자 장치(1220)는 서로 다른 USB 롤의 연결을 가지게 될 수 있다. 예를 들면, USB에 기반하여 호스트 롤로 동작하던 외부 전자 장치(1220)가 WSB에 기반하여 디바이스 롤로도 동시에 동작을 하여 전자 장치(1210)에서 외부 전자 장치(1220)의 파일에 접근할 수 있다. 이를 통해, 사용자는 전자 장치(1210)에서 외부 전자 장치(1220)를 제어할 수 있고, 외부 전자 장치(1220)에서 전자 장치(1220)를 제어할 수 있다. 예를 들어, 전자 장치(1210)와 외부 전자 장치(1220)가 듀얼 롤에 기반하여 연결된 경우, 듀얼 롤 연결에 대한 정보를 전자 장치(1210) 또는 외부 전자 장치(1220)의화면의 적어도 일부 영역에 표시하거나, 또는 음성으로 사용자에게 알림을 제공할 수 있다. 예를 들어, 전자 장치(1210)와 외부 전자 장치(1220)는 사용자에게 듀얼 롤 사용에 대한 팝업 알림을 제공할 수 있다. 또는 전자 장치(1210)와 외부 전자 장치(1220)는 화면의 적어도 일부 영역에 듀얼 롤에 대한 지원과 연관된 정보를 표시할 수 있다.
도 13a는 본 발명의 일 실시 예에 따른 전자 장치 및 외부 전자 장치가 USB를 통해 연결하는 예시도이고, 도 13b는 본 발명의 일 실시 예에 따른 전자 장치 및 외부 전자 장치가 USB를 통해 연결된 상태에서 WSB를 연결하는 예시도이다.
도 13을 참조하면, 전자 장치(1310) 또는 외부 전자 장치(1320)는 호스트 롤과 디바이스 롤을 동시에 지원할 수 있다. 전자 장치(1310)가 USB 통신(1341)에 기반하여 호스트 롤로 외부 전자 장치(1320)와 제1 통신을 수행하고 있는 상태에서, WSB 통신(1342)에 기반하여 디바이스 롤로 상기 외부 전자 장치(1320)와 제2 통신을 수행할 수 있다. 전자 장치(1310)는 듀얼 롤(예: 호스트 롤 및 디바이스 롤)를 통해 외부 전자 장치(1320)와 데이터를 송수신할 수 있다. 마찬가지로, 외부 전자 장치(1320)는 듀얼 롤(예: 호스트 롤 및 디바이스 롤)를 통해 전자 장치(1310)와 데이터를 송수신할 수 있다. 이러한 듀얼 롤을 통해, 전자 장치(1310)는 외부 전자 장치(1320)에 저장된 데이터를 수신할 수 있고, 전자 장치(1310)에 저장된 데이터를 외부 전자 장치(1320)로 송신할 수 있다. 이와 같이, 사용자는 전자 장치(1310)와 외부 전자 장치(1320) 각각에서 외부 전자 장치(1320)와 전자 장치(1310)를 각각 제어할 수 있다. 사용자는 전자 장치(1310) 또는 외부 전자 장치(1320) 중 어느 하나의 장치를 통해서 데이터를 송수신할 수 있다.
일 실시 예에 따르면, 전자 장치(1310)와 외부 전자 장치(1320)가 USB 케이블을 통해 직접 연결되지 못하는 경우, 젠더(예: OTG(on-the-gO) 젠더)(1340)를 통해 연결될 수 있다. 예를 들면, 전자 장치(1310)의 USB 타입과 외부 전자 장치(1320)의 USB 타입이 다를 경우, 전자 장치(1310)와 외부 전자 장치(1320)는 OTG 젠더를 이용하여 연결될 수 있으며, 이를 통해 데이터를 송수신할 수 있다. 또 다른 예를 들면, 전자 장치(1310)와 외부 전자 장치(1320)는 젠더(예: OTG(on-the-go) 젠더)(1340)가 없는 경우에도 USB 케이블을 통해 직접 연결될 수 있다. 일 실시 예에 따르면, 전자 장치(1310)는 어플리케이션(예: 스마트 스위치(smart switch))을 통해서, 연락처, 메시지, 캘린더, 메모, 어플리케이션 등 다양한 데이터를 외부 전자 장치(1320)로 전송하거나 또는 상기 외부 전자 장치(1320)로부터 수신할 수 있다. 일 실시 예에 따르면, 전자 장치(1310)와 외부 전자 장치(1320)가 USB 통신(1341)을 통해 다양한 데이터를 송수신하고 있는 중에, 일시적으로 USB 통신(1341)에 기반하여 데이터를 송수신할 수 없는 문제가 발생되는 경우, 전자 장치(1310) 또는 외부 전자 장치(1320) 중 적어도 하나는 WSB 통신(1342)을 추가적으로 연결하여 데이터의 송수신을 지속할 수 있다. 일 실시 예에 따르면, 상기 어플리케이션(예: 스마트 스위치)은 WSB 통신(1342)을 추가적으로 연결하여 데이터의 송수신을 지속할지를 사용자에게 물어볼 수 있다.
일 실시 예에 따르면, 전자 장치(1310) 및 외부 전자 장치(1320)가 USB type C를 지원하는 경우, 전자 장치(1310) 또는 외부 전자 장치(1320)는 자동으로 또는 사용자의 선택에 기반하여 호스트 롤로 동작하는 장치를 선정할 수 있다.
일 실시 예에 따르면, 전자 장치(1310) 또는 외부 전자 장치(1320)는 호스트 롤과 디바이스 롤을 지원하기 때문에, 파일별, 기능별, 항목별로 호스트 롤 또는 디바이스 롤을 선택적으로 적용할 수 있다.
도 14는 본 발명의 일 실시 예에 따른 전자 장치가 듀얼 롤에 기반하여 복수의 외부 전자 장치와 통신을 수행하는 예시도이다.
도 14를 참조하면, 전자 장치(1410) 또는 복수의 외부 전자 장치들(1420, 1430, 1440)은 호스트 롤과 디바이스 롤을 동시에 지원할 수 있다. 일 실시 예에 따르면, 전자 장치(1410)는 USB 통신 또는 WSB 통신을 통해서 적어도 하나의 외부 전자 장치들(1420, 1430, 1440)과 통신을 수행할 수 있다. 전자 장치(1410)는 USB 및 WSB에 기반한 호스트 롤과 디바이스 롤을 동시에 지원할 수 있기 때문에, 외부 전자 장치들(1420, 1430, 1440)에 따라 호스트 롤과 디바이스 롤로 동시에 동작되거나 또는 하나의 롤(예: 호스트 롤 또는 디바이스 롤)로 동작될 수 있다. 예를 들면, 전자 장치(1410)는 제1 외부 전자 장치(1420)와 USB를 이용한 제1 통신(1411)과 WSB를 이용한 제2 통신(1412)을 지원할 수 있다. 또 다른 예를 들면, 전자 장치(1410)는 제1 외부 전자 장치(1420)와 WSB를 이용한 제1 통신(1411) 및 상기 WSB를 이용한 제2 통신(1412)을 이용하여 연결될 수 있다. 다른 예를 들면, 전자 장치(1410)는 제2 외부 전자 장치(1430)와 WSB를 이용한 통신(1413)을 지원할 수 있다. 예를 들면, 전자 장치(1410)는 제3 외부 전자 장치(1440)와 USB를 이용한 통신(1414)을 지원할 수 있다. 전자 장치(1410) 듀얼 롤(예: 호스트 롤 및 디바이스 롤)를 통해 적어도 하나의 외부 전자 장치(1420, 1430, 1440)와 데이터를 송수신할 수 있다.
일 실시 예에 따르면, 전자 장치(1410)는 WSB 기반의 제1 통신(1411)에서 디바이스 롤로 제1 외부 전자 장치(1420)와 연결되고, 상기 WSB 기반의 제2 통신(1412)에서 호스트 롤로 제1 외부 전자 장치(1420)와 연결될 수 있다. 상기 제1 외부 전자 장치(1420)는 휴대 단말일 수 있다. 다른 예를 들면, 전자 장치(1410)는 WSB 기반의 제3 통신(1413)에서 디바이스 롤로 제2 외부 전자 장치(1430)와 연결될 수 있다. 이 경우, 상기 제2 외부 전자 장치(1430)는 상기 제3 통신(1413)에서 호스트 롤로 동작될 수 있다. 상기 제2 외부 전자 장치(1430)는 노트북일 수 있다. 다른 예를 들면, 전자 장치(1410)는 USB 기반의 제4 통신(1414)에서 호스트 롤로 제3 외부 전자 장치(1440)와 연결될 수 있다. 이 경우, 상기 제3 외부 전자 장치(1440)는 상기 제4 통신(1414)에서 디바이스 롤로 동작될 수 있다. 상기 제3 외부 전자 장치(1440)는 데스크탑일 수 있다. 이와 같이, 전자 장치(1410)는 듀얼 롤에 기반하여 각각의 외부 전자 장치들(1420, 1430, 1440)에 연결된 주변 장치들(예: 키보드, 마우스, 프린터 등)을 이용할 수 있다. 전자 장치(1410)는 호스트 롤 및 디바이스 롤에 기반하여 복수의 외부 전자 장치들과 양방향 통신을 수행할 수 있다. 상술한 바와 같이, 전자 장치(1410)는 외부 전자 장치들(1420, 1430, 1440)에 따라 호스트 롤과 디바이스 롤로 동시에 동작되거나 또는 하나의 롤(예: 호스트 롤 또는 디바이스 롤)로 동작될 수 있다.
도 15는 본 명의 다른 실시 예에 따른 전자 장치가 듀얼 롤에 기반하여 복수의 외부 전자 장치와 통신을 수행하는 예시도이다.
일 실시 예에 따르면, 전자 장치(1520)는 호스트 롤과 디바이스 롤을 동시에 지원할 수 있다. 예를 들면, 전자 장치(1520)는 호스트 롤에 기반하여 제1 통신(1511)을 통해 제1 외부 전자 장치(1510)(예: 키보드, 마우스 등)로부터 데이터를 수신할 수 있고, 디바이스 롤에 기반하여 제2 통신(1512)을 통해 제2 외부 전자 장치(1530)(예: 태블릿 PC)로 데이터를 송신할 수 있다. 상기 제2 외부 전자 장치(1530)는 전자 장치(1520) 보다 큰 화면을 제공할 수 있으며, 동영상 감상, 문서 편집, 화면 공유 등 다양한 작업을 수행할 수 있다. 상기 전자 장치(1520)와 제2 외부 전자 장치(1530)에는 동영상 감상, 문서 편집, 화면 공유 등 다양한 동작을 지원하기 위한 프로그램(예: 사이드 싱크(Side Sync)) 를 포함할 수 있다. 이와 같이, 전자 장치(1520)가 호스트 롤과 디바이스 롤을 동시에 지원함으로써, 사용자는 전자 장치(1520)의 데이터를 표시하고 있는 제2 외부 전자 장치(1530)를 제1 외부 전자 장치(1510)을 통해 제어할 수 있다. 예를 들면, 사용자가 키보드 또는 마우스와 같은 제1 외부 전자 장치(1510)를 이용하여 전자 장치(1520)에 저장된 데이터(예: 영상 또는 사진 등)를 제2 외부 전자 장치(1530)를 통해 보고자 하는 경우, 전자 장치(1520)는 제1 외부 전자 장치(1510)와는 호스트 롤로 동작되고, 제2 외부 전자 장치(1530)(예: 갤럭시 뷰)와는 디바이스 롤로 동작될 수 있다. 전자 장치(1520)에 저장된 데이터의 영상과 소리는 전자 장치(1520)에서 동작되는 사이드 싱크(Side Sync)를 통해 제2 외부 전자 장치(1530)(예: 갤럭시 뷰)로 전송될 수 있다. 이를 통해, 사용자는, 예를 들면, 데스크 탑 컴퓨터를 사용하듯이, 키보드 또는 마우스를 조작하여 전자 장치(1520)를 조작할 수 있다. 일 실시 예에 따르면, 전자 장치(1520)에 저장된 영상과 사운드는 제2 통신(1512)을 통해 제2 외부 전자 장치(1530)로 전송될 수 있다.
일 실시 예에 따르면, 전자 장치(1520)는 제1 외부 전자 장치(1510)와의 USB를 이용한 제1 통신에서 호스트 롤로 동작되고, 제2 외부 전자 장치(1530)와의 WSB를 이용한 제2 통신에서 디바이스 롤로 동작되어 상기 제1 외부 전자 장치(1510)와 제2 외부 전자 장치(1530)간의 신호를 중계하는 역할을 수행할 수 있다. 각각의 외부 전자 장치들(1510, 1530)는 USB를 이용한 제1 통신을 지원하거나, 또는 WSB를 이용한 제2 통신을 지원할 수 있다. 본 발명의 일 실시 예는 상술한 동작의 반대의 경우에도 적용 가능하다.
도 16은 본 발명의 일 실시 예에 따른 전자 장치와 외부 전자 장치간의 WSB 서비스 셋업을 나타낸 예시도이다.
도 16을 참조하면, 전자 장치(1610)는 WSB 디바이스(또는 호스트)로 동작하고, 외부 전자 장치(1620)는 WSB 호스트(또는 디바이스)로 동작할 수 있다. 다른 예를 들면, 전자 장치(1610)와 외부 전자 장치(1620)는 동시에 WSB 디바이스 및 WSB 호스트로 각각 동작할 수 있다. 전자 장치(1610)와 외부 전자 장치(1620) 각각은 어플리케이션(application)(1613, 1625), WSB 서비스 구성요소(1614, 1624) 및 ASP 구성요소(1615, 1623)를 포함할 수 있다. 일 실시 예에 따르면, 전자 장치(1610)는 서비스 애드버타이저 구성요소(service advertiser)(1612)를 통해 서비스를 광고할 수 있고, 외부 전자 장치(1620)는 서비스 탐색(service seeker)(1622)를 통해 서비스를 탐색할 수 있다.
다양한 실시 예에 따르면, 전자 장치(1610)와 외부 전자 장치(1620)간의 WSB 서비스 셋업 동작은 WSB 디스커버리 동작(1630), 커넥션 셋업 동작(1640) 및 적어도 하나의 WSB 세션 셋업 동작(1650)을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 WSB 디스커버리 동작(1630)에서 외부 전자 장치(1620)는 서비스 애드버타이즈(service advertiser)(예: 도 16의 service advertiser(1622))를 활성화하여 서비스를 탐색하고, 외부 전자 장치(1620)의 ASP 구성요소(1623)는 전자 장치(1610)로 P2P 프로브 요청(probe request)을 전송할 수 있다. 상기 전자 장치(1610)의 ASP(1615) 구성요소는 상기 P2P 프로브 요청(probe request)에 응답하여 해쉬 매칭을 수행하고, P2P 프로브 응답(probe response)를 외부 전자 장치(1620)(예: 외부 전자 장치(1620)의 ASP(1623) 구성요소)로 전송할 수 있다. 외부 전자 장치(1620)의 ASP(1623) 구성요소는 서비스 이름(service name), 및 서비스 정보 요청(service information request)을 포함하는 P2P 서비스 디스커버리 요청을 전자 장치(1610)(예: 전자 장치(1610)의 ASP(1615) 구성요소)로 전송할 수 있다. 상기 전자 장치(1610)(예: 전자 장치(1610)의 ASP(1615) 구성요소)는 상기 P2P 서비스 디스커버리 요청에 응답하여, 서비스 이름(service name), 광고 식별자(advertisements ID), 서비스 정보(service information)를 포함하는 P2P 서비스 디스커버리 응답을 외부 전자 장치(1620)(예: 외부 전자 장치(1620)의 ASP(1623) 구성요소)로 전송할 수 있다.
다양한 실시 예에 따르면, 상기 연결 동작(1640)에서 외부 전자 장치(1620)(예: 외부 전자 장치(1620)의 ASP(1623) 구성요소)는 세션 정보(session information) 및 연결 성능(connection capability)을 포함한 P2P 프로비젼 디스커버리 요청(provision discovery request)을 전자 장치(1610)(예: 전자 장치(1610)의 ASP(1615) 구성요소)로 전송할 수 있다. 전자 장치(1610)의 ASP(1615) 구성요소는 세션 요청을 전자 장치(1610)의 WSB 서비스 구성 요소(1614)로 전달하고, 전자 장치(1610)의 WSB 서비스 구성 요소(1614)는 전자 장치(1610)의 어플리케이션(1613)의 세션 수락에 기반하여, 세션 확인을 전자 장치(1610)의 ASP 구성 요소(1615)로 전달할 수 있다. 상기 전자 장치(1610)(예: 전자 장치(1610)의 ASP(1615) 구성요소)는 상기 수신된 P2P 프로비젼 디스커버리 요청에 응답하여 P2P 프로비젼 디스커버리 응답(provision discovery response)을 외부 전자 장치(1620)(예: 외부 전자 장치(1620)의 ASP(1623) 구성요소)로 전송할 수 있다. 전자 장치(1610)(예: 전자 장치(1610)의 ASP(1615) 구성요소)는 세션 정보(session information)를 포함하는 P2P 프로비젼 디스커버리 요청을 외부 전자 장치(1620)(예: 외부 전자 장치(1620)의 ASP(1623) 구성요소)로 전송하고, 외부 전자 장치(1620)는 상기 수신된 P2P 프로비젼 디스커버리 요청에 응답하여 연결 성능을 포함하는 P2P 프로비젼 디스커버리 응답을 세션 정보(session information)로 전자 장치(1610)(예: 전자 장치(1610)의 ASP(1615) 구성요소)에게 전송할 수 있다.
다양한 실시 예에 따르면, 상기 WSB 세션 셋업 동작(1650)에서 외부 전자 장치(1620)(예: 외부 전자 장치(1620)의 ASP(1623) 구성요소)는 광고 식별자(advertisement_ID), 맥 주소(MAC_address), 세션 식별자(session_id), 및 세션 정보(session_information)를 포함하는 ASP 요청 세션(ASP request-session)을 전자 장치(1610)(예: 전자 장치(1610)의 ASP(1615) 구성요소)로 전송할 수 있다. 외부 전자 장치(1620)의 ASP(1623) 구성요소는 WSB 서비스 구성 요소(1624)로 초기화된 세션 상태를 전달할 수 있다.
일 실시 예에 따르면, 전자 장치(1610)(예: 전자 장치(1610)의 ASP(1615) 구성요소)는 상기 수신된 ASP 요청 세션에 응답하여 ACK를 외부 전자 장치(1620)(예: 외부 전자 장치(1620)의 ASP(1623) 구성요소)로 전송할 수 있다. 예를 들어, 전자 장치(1610)(예: 전자 장치(1610)의 ASP(1615) 구성요소)는 맥 주소(MAC_address), 및 세션 식별자(session_id)를 포함하는 ASP 추가 세션(ASP added-session)을 외부 전자 장치(1620)(예: 외부 전자 장치(1620)의 ASP(1623) 구성요소)로 전송하고, 전자 장치(1610)는 상기 수신된 ASP 추가 세션에 응답하여 ACK를 전자 장치(1610)로 전송할 수 있다. 전자 장치(1610)와 외부 전자 장치(1620) 간에 WSB 세션 셋업이 수행된 후, 전자 장치(1610)와 외부 전자 장치(1620)는 MA USB 패킷을 송수신할 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. "모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있으며, 예를 들면, 어떤 동작들을 수행하는, 알려졌거나 앞으로 개발될, ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays), 또는 프로그램 가능 논리 장치를 포함할 수 있다. 다양한 실시예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는 프로그램 모듈의 형태로 컴퓨터로 판독 가능한 저장 매체(예: 메모리(130))에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서(예: 프로세서(120))에 의해 실행될 경우, 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(예: 자기테이프), 광기록 매체(예: CD-ROM, DVD, 자기-광 매체 (예: 플롭티컬 디스크), 내장 메모리 등을 포함할 수 있다. 명령어는 컴파일러에 의해 만들어지는 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 다양한 실시예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 다른 구성요소를 더 포함할 수 있다. 다양한 실시예에 따른, 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다. 본 발명에 따른 모듈, 프로그래밍 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다. 다양한 실시 예에 따르면, 명령들을 저장하고 있는 저장 매체에 있어서, 상기 명령들은, 전자 장치가 디바이스로서 동작되고 저장부를 포함하는 외부 전자 장치가 호스트로서 동작되도록, 상기 무선 통신 회로 또는 상기 유선 통신 인터페이스를 이용하여 상기 외부 전자 장치와 제1 통신 채널을 설정하는 제1 명령 셋, 상기 제1 통신 채널을 설정한 후, 상기 제1 통신 채널을 통해 상기 외부 전자 장치와 정보를 교환하는 제2 명령 셋, 상기 전자 장치가 호스트로서 동작되고 상기 외부 전자 장치가 디바이스로서 동작되도록 상기 무선 통신 회로를 이용하여 상기 외부 전자 장치와 제2 통신 채널을 설정하는 제3 명령 셋을 포함 할 수 있다.
그리고 본 명세서와 도면에 개시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
101: 전자 장치 102: 제1 외부 전자 장치
110: 버스 120: 프로세서
130: 메모리 150: 입출력 인터페이스
160: 디스플레이 170: 통신 인터페이스

Claims (20)

  1. 전자 장치에 있어서,
    하우징;
    상기 하우징 내부에 배치된 무선 통신 인터페이스;
    상기 하우징을 통해 노출되고 유선 USB(universal serial bus) 인터페이스를 포함하는 유선 통신 인터페이스;
    상기 하우징 내부에 배치되며, 상기 무선 통신 인터페이스 및 상기 유선 통신 인터페이스와 전기적으로 연결된 프로세서; 및
    상기 하우징 내부에 배치되며, 상기 프로세서에 전기적으로 연결되는 메모리를 포함하며,
    상기 메모리는, 실행 시에, 상기 전자 장치가,
    상기 유선 USB 인터페이스를 통하여, 외부 전자 장치와 제1 통신을 위한 제1 통신 채널을 설정하고, 및
    상기 제1 통신 채널을 통해 상기 외부 전자 장치와 정보를 교환하고,
    상기 유선 USB 인터페이스를 통하여 상기 제1 통신 채널을 설정한 후, 특정 어플리케이션을 실행함에 응답하여, 상기 외부 전자 장치와 제2 통신을 위한 제2 통신 채널을 설정하도록 하는 명령어들을 저장하고,
    상기 메모리는, 실행 시에, 상기 전자 장치가,
    상기 제1 통신 채널을 설정한 후, 상기 제1 통신 채널 상에서의 상기 전자 장치 및 상기 외부 전자 장치의 롤들(roles)을 확인하고,
    상기 제1 통신 채널 상에서 상기 전자 장치가 디바이스로서 동작하고 상기 외부 전자 장치가 호스트로서 동작하는 경우, 상기 제2 통신 채널 상에서 상기 전자 장치가 호스트로서 동작하고 상기 외부 전자 장치가 디바이스로서 동작하도록, 상기 제2 통신 채널 상에서의 상기 전자 장치 및 상기 외부 전자 장치의 롤들을 결정하고,
    상기 제1 통신 채널 상에서 상기 전자 장치가 호스트로서 동작하고 상기 외부 전자 장치가 디바이스로서 동작하는 경우, 상기 제2 통신 채널 상에서 상기 전자 장치가 디바이스로서 동작하고 상기 외부 전자 장치가 호스트로서 동작하도록, 제2 통신 채널 상에서의 상기 전자 장치 및 상기 외부 전자 장치의 롤들(roles)을 결정하고, 및
    상기 결정된 롤들에 기반하여 상기 전자 장치 및 상기 외부 전자 장치가 상기 제2 통신 채널 상에서 동작하도록, 상기 무선 통신 인터페이스를 통하여 상기 외부 전자 장치와의 상기 제2 통신 채널을 설정하도록 하는 명령어들을 저장하는 전자 장치.
  2. 삭제
  3. 제1 항에 있어서,
    상기 무선 통신 인터페이스는 WSB(Wi-Fi serial bus) 또는 무선 USB 프로토콜을 지원하도록 구성된 전자 장치.
  4. 제1 항에 있어서,
    상기 유선 통신 인터페이스를 통해 상기 제1 통신 채널이 연결되면,
    상기 명령어들은 실행 시에, 상기 전자 장치가,
    상기 제1 통신 채널에 기반한, P2P(peer to peer) 주소, USB 롤, 또는 WSB(Wi-Fi serial bus)의 성능(capability) 중 적어도 하나를 포함하는 정보를 상기 외부 전자 장치와 교환하도록 하는 전자 장치.
  5. 삭제
  6. 제1 항에 있어서,
    상기 명령어들은 실행 시에, 상기 전자 장치가,
    상기 제2 통신 채널을 통해 상기 외부 전자 장치의 저장부에 저장된 파일들에 대한 정보를 검색하도록 하는 전자 장치.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020170116106A 2017-09-11 2017-09-11 외부 전자 장치와 통신하는 전자 장치 및 방법 KR102516019B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020170116106A KR102516019B1 (ko) 2017-09-11 2017-09-11 외부 전자 장치와 통신하는 전자 장치 및 방법
US16/017,029 US10585453B2 (en) 2017-09-11 2018-06-25 Electronic device and method for communicating with external electronic device
CN201811049525.9A CN109491932B (zh) 2017-09-11 2018-09-10 用于与外部电子设备通信的电子设备和方法
EP18193516.4A EP3454225A1 (en) 2017-09-11 2018-09-10 Electronic device and method for communicating with external electronic device
PCT/KR2018/010598 WO2019050374A1 (en) 2017-09-11 2018-09-11 ELECTRONIC DEVICE AND METHOD FOR COMMUNICATING WITH AN EXTERNAL ELECTRONIC DEVICE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170116106A KR102516019B1 (ko) 2017-09-11 2017-09-11 외부 전자 장치와 통신하는 전자 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20190029052A KR20190029052A (ko) 2019-03-20
KR102516019B1 true KR102516019B1 (ko) 2023-03-30

Family

ID=63556234

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170116106A KR102516019B1 (ko) 2017-09-11 2017-09-11 외부 전자 장치와 통신하는 전자 장치 및 방법

Country Status (5)

Country Link
US (1) US10585453B2 (ko)
EP (1) EP3454225A1 (ko)
KR (1) KR102516019B1 (ko)
CN (1) CN109491932B (ko)
WO (1) WO2019050374A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113645672A (zh) * 2016-07-29 2021-11-12 Oppo广东移动通信有限公司 建立辅连接的方法和装置
KR20200101225A (ko) * 2019-02-19 2020-08-27 삼성전자주식회사 무선 전력 공유에 따른 사용자 인터페이스 제공 방법 및 장치
WO2020250208A1 (en) * 2019-05-26 2020-12-17 S Gupta Abhinav Data storage devices
KR20210050398A (ko) * 2019-10-28 2021-05-07 삼성전자주식회사 전자 장치와 연결되지 않은 외부 전자 장치로 데이터를 전송하는 전자 장치 및 전자 장치의 동작 방법
KR20210099872A (ko) * 2020-02-05 2021-08-13 삼성전자주식회사 사용자의 위치를 제공하기 위한 전자 장치 및 방법
CN114390337B (zh) * 2020-10-21 2023-06-02 华为技术有限公司 投屏方法、系统及电子设备
CN112539523B (zh) * 2020-12-09 2022-01-11 广东美的暖通设备有限公司 空调通信的控制方法、控制装置、通信系统和存储介质

Family Cites Families (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020022859A (ko) 2000-09-21 2002-03-28 이인희 이동 무선 통신기의 송수신 전환회로 및 그 방법
US7263382B2 (en) * 2004-06-25 2007-08-28 Qualcomm Incorporated System and method for background download of digital content to an intermittently connected peripheral device via a wireless device
KR100679023B1 (ko) * 2004-11-03 2007-02-05 삼성전자주식회사 조정자 기반 무선 네트워크에서 복수의 무선 범용 직렬버스 호스트를 지원하는 방법 및 장치
US20060288343A1 (en) * 2005-06-20 2006-12-21 Kim Pallister Methods and apparatus to enable remote-user-interface-capable managed runtime environments
KR100647906B1 (ko) * 2005-09-15 2006-11-23 한국전자통신연구원 초광대역방식의 무선 usb 호스트 장치
KR100654465B1 (ko) * 2005-09-23 2006-12-06 삼성전자주식회사 무선 중계 장치 및 방법
KR100678905B1 (ko) * 2005-09-27 2007-02-06 삼성전자주식회사 무선 usb 호스트, 무선 usb 디바이스, 이중 역할장치 호스트의 기능을 제공하는 방법 및 이중 역할 장치호스트의 기능을 수행하는 방법
KR100703793B1 (ko) * 2005-09-29 2007-04-06 삼성전자주식회사 무선 usb 호스트, 무선 usb 디바이스, 이중 역할장치 호스트의 기능을 제공하는 방법 및 이중 역할 장치호스트의 기능을 수행하는 방법
CN2876896Y (zh) * 2006-01-20 2007-03-07 北京金远见电脑技术有限公司 控制装置、微型主机及双重角色电子词典
KR100850354B1 (ko) * 2006-11-17 2008-08-04 한국전자통신연구원 무선 근거리망과 무선 유에스비망 간의 브리지 장치
KR100720708B1 (ko) * 2007-01-26 2007-05-21 주식회사 유비콘테크놀로지 무선 usb drd 시스템
KR101141276B1 (ko) * 2007-06-04 2012-05-04 삼성전자주식회사 무선 usb를 이용하여 디바이스와 접속 가능한 호스트장치의 통신 방법 및 호스트 장치와 디바이스를 포함하는무선 접속 시스템
KR101279439B1 (ko) * 2007-07-23 2013-06-26 삼성전자주식회사 무선 usb를 이용하여 적어도 하나 이상의 디바이스들과접속 가능한 호스트 장치 및 상기 호스트 장치의 접속 방법
US7584313B1 (en) * 2007-07-25 2009-09-01 Wisair Ltd Method and system for connecting a wireless USB host and a wired USB device
WO2009036362A1 (en) * 2007-09-14 2009-03-19 Panasonic Avionics Corporation System and method for interfacing a portable media device with a vehicle information system
KR101382433B1 (ko) * 2007-12-03 2014-04-08 삼성전자주식회사 휴대기기를 위한 모듈 기반 구동 장치 및 방법
US20100035650A1 (en) * 2008-08-11 2010-02-11 Gottehrer Jonathan M Cell phone having air card and/or wifi card
KR101472468B1 (ko) * 2008-12-11 2014-12-15 삼성전자주식회사 Wusb 호스트 및 그의 채널 타임 할당 방법
KR101102663B1 (ko) * 2009-02-13 2012-01-04 삼성전자주식회사 휴대단말기와 디지털 기기간 자동 무선 연결을 위한 시스템 및 방법
US8493992B2 (en) * 2010-02-04 2013-07-23 Texas Instruments Incorporated Interrelated WiFi and USB protocols and other application framework processes, circuits and systems
KR101780021B1 (ko) * 2010-10-18 2017-10-11 삼성전자주식회사 네트워크 인터페이스의 자동 설정에 기초해 인터넷 연결을 공유하는 방법 및 장치
RU2611972C2 (ru) * 2011-09-13 2017-03-01 Конинклейке Филипс Н.В. Хэндовер беспроводного соединения lan посредством стыковочной системы и универсального драйвера сетевого устройства
KR101818773B1 (ko) * 2011-10-24 2018-02-22 삼성전자주식회사 공진 방식 무선 충전 시스템용 수신 전력 변환 장치
KR101872358B1 (ko) * 2011-11-22 2018-06-29 에이치피프린팅코리아 주식회사 P2p 연결을 지원하는 화상 형성 장치 및 그것의 ip 주소 연동을 통한 응용 프로그램의 실행 방법
KR20150114765A (ko) * 2014-04-02 2015-10-13 삼성전자주식회사 근거리 무선 통신(nfc) 기능을 지원하는 화상형성장치 및 화상형성장치의 nfc 동작 모드를 설정하는 방법
US8953490B2 (en) * 2012-03-02 2015-02-10 Blackberry Limited Methods and apparatus for use in facilitating Wi-Fi peer-to-peer (P2P) wireless networking
IN2014DN09374A (ko) * 2012-05-01 2015-07-17 Xitel Pty Ltd
US20130304866A1 (en) * 2012-05-14 2013-11-14 Novatel Wireless, Inc. System and method of utilizing wireless usb device as local proxy for cloud storage
US20130311694A1 (en) * 2012-05-21 2013-11-21 Qualcomm Incorporated Devices and methods for facilitating direct pairing in a wireless docking system
US9538313B2 (en) * 2012-08-23 2017-01-03 Intel Corporation Apparatus, system and method of docking a mobile device with wireless connector
KR101975992B1 (ko) * 2012-09-26 2019-05-08 에이치피프린팅코리아 유한회사 Wi­Fi Direct를 지원하는 화상형성장치 및 그것의 인터넷 접속 제어 방법
US9514079B2 (en) * 2012-09-28 2016-12-06 Intel Corporation Using adaptive channel selection to enhance the performance of wireless docking
KR20140042465A (ko) * 2012-09-28 2014-04-07 삼성전자주식회사 와이파이 다이렉트를 지원하는 화상 형성 장치 및 그것의 와이파이 다이렉트 연결 방법
EP2907296B1 (en) * 2012-10-11 2017-12-13 Koninklijke Philips N.V. Host device, client device and method for wireless docking in a dynamic environment for multiple clients
US9144094B2 (en) * 2012-10-29 2015-09-22 Qualcomm Incorporated Establishing a wireless display session between a computing device and a vehicle head unit
ITTO20121003A1 (it) * 2012-11-19 2014-05-20 Istituto Superiore Mario Boella Sulle Tecnologie Apparato atto a condividere contenuti informativi tramite connessione senza fili, e relativo metodo
KR102018550B1 (ko) * 2012-12-18 2019-09-05 엘지전자 주식회사 이동 단말기의 제어 장치 및 그 방법
US9075923B2 (en) * 2012-12-27 2015-07-07 Intel Corporation Discovery mechanisms for universal serial bus (USB) protocol adaptation layer
US9198119B2 (en) * 2013-03-05 2015-11-24 Qualcomm Incorporated Method and apparatus for peer-2-peer Wi-Fi ranging using near field communication
US10530820B2 (en) * 2013-03-11 2020-01-07 Koninklijke Philips N.V. Multiple user wireless docking
EP2782399B1 (en) * 2013-03-22 2018-05-02 S-Printing Solution Co., Ltd. Method of connecting networks using Wi-Fi Direct in image forming apparatus, image forming apparatus supporting Wi-Fi Direct, and image forming system
EP2984875B1 (en) * 2013-04-11 2020-01-15 Intel Corporation Techniques for discovery of wi-fi serial bus and wi-fi docking services
KR101707364B1 (ko) * 2013-05-01 2017-02-15 엘지전자 주식회사 무선 도킹 서비스를 수행하기 위한 방법 및 장치
US9037763B2 (en) * 2013-05-08 2015-05-19 Qualcomm Incorporated Transport mode for a media agnostic USB protocol using a wireless serial bus (WSB) session of a WSB service
US20140351446A1 (en) * 2013-05-21 2014-11-27 Samsung Electronics Co., Ltd. Electronic device using logical channels for communication
US10085290B2 (en) * 2013-06-19 2018-09-25 Sony Corporation Discovering wireless communication device based on required services
KR20150008546A (ko) * 2013-07-15 2015-01-23 삼성전자주식회사 보안 다운로드 및 기능 실행방법 및 장치
US10270861B2 (en) * 2013-08-20 2019-04-23 Samsung Electronics Co., Ltd Method and system for dual role handling in a wireless environment
US10404812B2 (en) * 2013-08-21 2019-09-03 Samsung Electronics Co., Ltd Method and apparatus for providing a persistent USB service for wireless USB devices
KR20150027463A (ko) * 2013-09-04 2015-03-12 삼성전자주식회사 전자 기기, 전자 기기의 제어 방법 및 화상 형성 장치
EP3092781B1 (en) * 2014-01-10 2017-09-20 Koninklijke Philips N.V. Peripherals in a wireless docking system
US9451656B2 (en) * 2014-02-28 2016-09-20 At&T Mobility Ii Llc Enabling wireless connectivity for devices
CN106537848B (zh) * 2014-04-28 2020-08-11 皇家飞利浦有限公司 无线通信系统
WO2016027960A1 (ko) * 2014-08-19 2016-02-25 엘지전자(주) 무선 도킹 서비스를 수행하기 위한 방법 및 장치
KR102285158B1 (ko) * 2014-09-01 2021-08-03 삼성전자주식회사 데이터 제공 방법 및 전자 장치
US9641960B2 (en) * 2014-11-12 2017-05-02 Qualcomm Incorporated MirrorLink with wireless serial bus
MX364091B (es) * 2014-12-03 2019-04-12 Koninklijke Philips Nv Sistema de acoplamiento inalámbrico para relevador de audio-video.
US9817778B2 (en) * 2014-12-19 2017-11-14 Kabushiki Kaisha Toshiba Electronic device and method for communicating with USB device
KR102341149B1 (ko) * 2015-04-28 2021-12-20 삼성전자주식회사 전자 장치 운용 방법 및 이를 지원하는 전자 장치
WO2017006361A1 (en) * 2015-07-03 2017-01-12 Nec Corporation A device within a wireless peer-to-peer network, wireless communication system and control method
US9774716B2 (en) * 2015-12-28 2017-09-26 Skyworks Solutions, Inc. Overstress indicator
KR20170083762A (ko) * 2016-01-11 2017-07-19 삼성전자주식회사 근접 무선 통신 방법 및 장치
KR102441750B1 (ko) * 2016-01-26 2022-09-13 삼성전자주식회사 통신을 수행하는 전자 장치 및 방법
KR102461009B1 (ko) * 2016-01-29 2022-11-01 삼성전자 주식회사 테더링 서비스를 제공하는 방법 및 이를 사용하는 전자 장치
US10554530B2 (en) * 2016-12-20 2020-02-04 The Nielsen Company (Us), Llc Methods and apparatus to monitor media in a direct media network
US20180359633A1 (en) * 2017-06-12 2018-12-13 Apple Inc. Neighbor Awareness Networking Device Pairing

Also Published As

Publication number Publication date
EP3454225A1 (en) 2019-03-13
KR20190029052A (ko) 2019-03-20
US10585453B2 (en) 2020-03-10
US20190079557A1 (en) 2019-03-14
CN109491932A (zh) 2019-03-19
CN109491932B (zh) 2023-10-13
WO2019050374A1 (en) 2019-03-14

Similar Documents

Publication Publication Date Title
US10290205B2 (en) Method of controlling function and electronic device supporting same
KR102516019B1 (ko) 외부 전자 장치와 통신하는 전자 장치 및 방법
KR102493721B1 (ko) 외부 전자 장치와 연결을 수립하는 방법 및 전자 장치
KR102387164B1 (ko) 전자 장치 및 그의 오디오 경로 제어 방법
KR102650444B1 (ko) 스마트 홈 시스템에서 스마트 홈 장치를 등록하기 위한 전자 장치 및 방법
US9948784B2 (en) Method of call forwarding between devices
US20160150063A1 (en) Method of sharing contents and electronic device thereof
EP3444716A1 (en) Apparatus and method for providing screen mirroring service
KR102412283B1 (ko) 전자 장치 및 전자 장치의 영상 공유 제어 방법
KR102340917B1 (ko) 전자 장치 및 그 연결 방법
KR102639882B1 (ko) 전자 장치 및 그 제어 방법
KR102391487B1 (ko) 충전 및 데이터 통신 경로 제어 방법 및 이를 구현한 전자 장치
KR20170086869A (ko) 음성통화 중 영상을 전송하는 방법 및 장치
KR20170106090A (ko) 콘텐츠 공유 방법 및 장치
KR102257474B1 (ko) 전자 장치의 데이터 송수신 방법 및 이를 사용하는 전자 장치
KR102550591B1 (ko) 전자 장치에서 가입자 식별 모듈을 연결하는 방법 및 그에 따른 전자 장치
US20170192746A1 (en) Method for outputting sound and electronic device supporting the same
KR20160100153A (ko) 장치 검색 방법 및 이를 지원하는 전자 장치
EP3409073B1 (en) Method and electronic device for providing tethering service
CN106105279B (zh) 设备之间呼叫转移的方法
KR20180115998A (ko) 전자 장치 및 전자 장치에서 인증 정보 전송 및 수신 방법
KR102475230B1 (ko) 통신망 연결 제어 방법, 저장 매체 및 이를 위한 전자 장치
US11323880B2 (en) Method for wireless connection and electronic device therefor
US20170243023A1 (en) Electronic device and operating method thereof
KR102467869B1 (ko) 전자 장치 및 그의 동작 방법

Legal Events

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