KR102007628B1 - 모바일 디바이스 외부 컨트롤러 모듈 - Google Patents

모바일 디바이스 외부 컨트롤러 모듈 Download PDF

Info

Publication number
KR102007628B1
KR102007628B1 KR1020197016069A KR20197016069A KR102007628B1 KR 102007628 B1 KR102007628 B1 KR 102007628B1 KR 1020197016069 A KR1020197016069 A KR 1020197016069A KR 20197016069 A KR20197016069 A KR 20197016069A KR 102007628 B1 KR102007628 B1 KR 102007628B1
Authority
KR
South Korea
Prior art keywords
mobile device
controller module
operating system
interface port
peripheral
Prior art date
Application number
KR1020197016069A
Other languages
English (en)
Other versions
KR20190068633A (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 레이던 컴퍼니
Publication of KR20190068633A publication Critical patent/KR20190068633A/ko
Application granted granted Critical
Publication of KR102007628B1 publication Critical patent/KR102007628B1/ko

Links

Images

Classifications

    • 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
    • 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/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • 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
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4045Coupling between buses using bus bridges where the bus bridge performs an extender function
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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]
    • 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/38Universal adapter
    • G06F2213/3812USB port controller
    • 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/40Bus coupling
    • G06F2213/4004Universal serial bus hub with a plurality of upstream ports

Abstract

외부 컨트롤로 모듈은 모바일 디바이스를 하나 이상의 주변 디바이스들에 전기적으로 커플링 하도록 구성된다. 상기 외부 컨트롤러 모듈은 상기 모바일 디바이스의 통신 포트와 커플링하기 위한 인터페이스 포트 및 상기 외부 컨트롤러 모듈을 개별 주변 디바이스들에 커플링하기 위한 다수의 인터페이스 포트들을 포함한다. 컨트롤러 모듈 운영 시스템은 디바이스 드라이버 프로그램 코드를 상기 모바일 디바이스에 설치하지 않고 주변 디바이스와 모바일 디바이스 사이의 전기적 통신을 용이하게 하기 위한 디바이스 드라이버 프로그램 코드를 포함한다.

Description

모바일 디바이스 외부 컨트롤러 모듈
본 개시는 무선 통신 기술 분야에 있고, 특히 무선 통신 디바이스들을 주변 디바이스들과 인터페이싱하는 분야에 있다.
셀 폰 및 태블릿 컴퓨터들과 같은 다수의 모바일 디바이스들은 USB(Universal Serial Bus) 호스트 모바일 디바이스와 협력하여(cooperatively) 기능하는 USB 주변(peripheral) 디바이스들에 연결하기 위한 USB 포트와 같은 인터페이스 포트(interface ports)를 포함한다. 여기에서 설명되는 모바일 디바이스들은 예를 들어 USB 주변 디바이스들에 연결되도록 구성된 다른 휴대용 컴퓨팅 및 통신(portable computing and communicating) 디바이스들, 태블릿 컴퓨터들, 및 스마트폰들을 포함할 수 있다. 각 주변 디바이스를 위한 USB 드라이버 소프트웨어는 통상적으로(conventionally) 모바일 디바이스에 설치된다. USB 드라이버 소프트웨어는 해당 USB 주변 디바이스와 상호 작용하도록 모바일 디바이스를 구성한다.
여러 USB 주변 디바이스들은 주변 디바이스들과 모바일 디바이스 USB 포트 사이에 설치된 USB 허브 디바이스(hub device)를 통해 모바일 디바이스의 단일 범용 직렬 버스 포트에 연결될 수 있다. USB 허브 디바이스는 주변 디바이스들에 연결하기 위한 여러 USB 포트들을 가질 수 있고 주변 디바이스들과 모바일 디바이스 USB 포트 사이의 USB 통신을 디렉트(direct)하도록 구성된다.
새로운 주변 디바이스들 및 새로운 모바일 디바이스들이 이용 가능해짐에 따라, 다른USB 주변 디바이스들과 협력(cooperating)하기 위해 모바일 디바이스를 재구성하는 것 또는 이전에 사용된 USB 주변 디바이스들과 협력하기 위해 다른 모바일 디바이스를 구성하는 것이 종종 바람직하다. USB 주변 디바이스들의 재구성 또는 모바일 디바이스의 대체(replacement)는 모바일 디바이스 운영 시스템(mobile device operating system)을 업데이트하기 위해 또는 모바일 디바이스에 새로운 또는 업데이트된 USB 드라이버 소프트웨어를 개발 및/또는 설치하기 위해 상당한 개발 작업(development work)을 수반 할 수 있다. 이는 특히 문제가 되고 수년마다 많은 수의 모바일 디바이스 시스템을 업그레이드 또는 교체하는 것이 일반적인 경우에 대기업들(large corporations)이나 정부 엔티티들(government entities)에서 상당한 통합 비용(integration costs)을 수반할 수 있다.
모바일 디바이스를 하나 이상의 주변 디바이스들에 인터페이싱하기 위한 장치가 본 개시(present disclosure)의 일 측면에 따라 설명된다. 상기 장치는 모바일 디바이스의 통신 포트에 전기적으로 커플링하도록 구성되는 제 1 인터페이스 포트 및 상기 하나 이상의 주변 디바이스들 중 하나에 전기적으로 커플링하도록 구성되는 제 2 인터페이스 포트를 포함한다. 상기 제 1 인터페이스 포트 및 상기 제 2 인터페이스 포트는 예를 들어 표준 USB 인터페이스 포트들일 수 있다. 상기 장치는 또한 상기 제 1 인터페이스 포트 및 상기 제 2 인터페이스 포트에 커플링되는 프로세서 회로(processor circuitry) 및 상기 프로세서 회로에 커플링되는 스토리지 회로(storage circuitry)를 포함한다.
본 개시의 일 측면(aspect)에 따르면, 스토리지 회로는 프로세서 회로에 의해 실행 가능한 운영 시스템을 저장한다. 상기 운영 시스템은 디바이스 드라이버 프로그램 코드(device driver program code)를 모바일 디바이스에 설치하지 않고 주변 디바이스와 모바일 디바이스 사이의 전기적 통신을 용이하게 하기 위한 디바이스 드라이버 프로그램 코드를 포함한다. 상기 프로세서 회로는 주변 디바이스로부터 무선 디바이스로 디렉트되는(directed) 디바이스 드라이버 업데이트를 인터셉트(intercept)하고, 컨트롤러 모듈 운영 시스템을 업데이트 하기 위해 상기 디바이스 드라이버 업데이트를 리디렉트(redirect)하도록 구성된다. 본 개시의 일 측면에 따르면, 프로세서 회로는 또한 상기 모바일 디바이스의 운영 시스템으로 변경하지 않고 제어 모듈 운영 시스템에 대한 변경을 억셉트(accept)하고 저장하도록 구성된다.
본 개시의 일 측면에 따른 예시적인 실시예(illustrative embodiment)에서, 통신 포트 허브 회로(communication port hub circuitry)는 상기 프로세서 회로에 커플링되고 추가(additional) 주변 디바이스들을 상기 모바일 디바이스의 상기 제 1 통신 포트에 연결하도록 구성된다. 상기 프로세서 회로는 상기 모바일 디바이스와 상기 하나 이상의 주변 디바이스들 사이 및 상기 하나 이상의 주변 디바이스들 사이의 통신을 제어하도록 구성된다. 상기 프로세서 회로는 또한 상기 모바일 디바이스의 운영 시스템을 수정하지 않고 모바일 디바이스 운영 시스템의 복합(composite) USB 드라이버와 통신하도록 구성된다.
본 개시의 일 측면에 따르면, 상기 장치는 또한 각 주변 디바이스를 USB 복합 디바이스 타입에 맵핑하기 위한 인터페이스 회로(interface circuitry)를 포함한다. USB 복합 디바이스 타입은 예를 들어 네트워크 타입 디바이스, 직렬 타입 디바이스 및 매스(mass) 스토리지 타입 디바이스일 수 있습니다.
상기 프로세서 회로는 상기 주변 디바이스가 상기 제2 인터페이스 포트에 처음 연결된 경우 및/또는 상기 주변 디바이스에 대한 업데이트된 드라이버가 상기 프로세서 회로와 통신되는 경우, 예를 들어, 상기 모바일 디바이스가 상기 제1 인터페이스 포트에 이전에 연결된 버전 또는 모바일 디바이스 모델(mobile device model)이 아닌 경우, 상기 운영 시스템을 업데이트하도록 구성된다.
본 개시의 다른 측면에 따르면, 상기 프로세서 회로는 또한 상기 모바일 디바이스와 상기 주변 디바이스 사이의 통신의 보안을 모니터링, 상기 모바일 디바이스와 상기 주변 디바이스 사이의 통신 방화벽(communications firewall)을 제공, 및/또는 상기 주변 디바이스의 전력 요구 사항(power requirements)을 관리하도록 구성될 수 있다.
본 개시의 다른 측면은 모바일 디바이스와 하나 이상의 주변 디바이스들 사이에 외부 컨트롤러 모듈(external controller module)을 커플링함으로써 모바일 디바이스와 하나 이상의 주변 디바이스들 사이의 통신 경로(pathway)를 구성하는 방법을 포함한다. 상기 외부 컨트롤러 모듈은 상기 외부 컨트롤러 모듈을 상기 모바일 디바이스의 통신 포트에 전기적으로 커플링하는 제1 인터페이스 포트 및 상기 외부 컨트롤러 모듈을 주변 디바이스에 전기적으로 커플링하는 제2 인터페이스 포트를 포함한다. 상기 외부 컨트롤러 모듈 내의 프로세서 회로는 상기 제1 인터페이스 포트 및 상기 제2 인터페이스 포트에 커플링된다. 상기 외부 컨트롤러 모듈 내의 스토리지 회로는 상기 프로세서 회로에 커플링된다. 상기 스토리지 회로는 상기 프로세서 회로에 의해 실행 가능한 컨트롤러 모듈 운영 시스템(controller module operating system)을 저장한다. 상기 컨트롤러 모듈 운영 시스템은 디바이스 드라이버 프로그램 코드를 상기 모바일 디바이스에 설치하지 않고 상기 주변 디바이스와 상기 모바일 디바이스 사이의 전기적 통신을 용이하게 하기 위한 디바이스 드라이버 프로그램 코드를 포함한다.
예시적인 실시예에 있어서, 상기 방법은 또한 상기 하나 이상의 주변 디바이스들 중 하나로부터 상기 모바일 디바이스로 디렉트되는(directed) 디바이스 드라이버 업데이트(device driver updates)를 인터셉트(intercept)하고 상기 컨트롤러 모듈 운영 시스템을 업데이트하기 위해 상기 디바이스 드라이버 업데이트를 리디렉트(redirect)하도록 상기 프로세서 회로를 구성 또는 프로그래밍하는 단계를 포함할 수 있다. 상기 방법은 또한 상기 모바일 디바이스의 운영 시스템을 변경하지 않고 상기 컨트롤러 모듈 운영 시스템의 변경을 저장하고 억셉트(accept)하도록 상기 외부 컨트롤러 모듈을 구성 또는 프로그래밍 하는 단계를 포함할 수 있다.
상기 방법은 또한 상기 주변 디바이스에 대한 업데이트된 드라이버가 상기 외부 컨트롤러 모듈과 통신되는 경우 및/또는 상기 주변 디바이스에 대한 업데이트된 드라이버가 상기 프로세서 회로와 통신되는 경우, 예를 들어, 상기 모바일 디바이스가 상기 제1 인터페이스 포트에 이전에 연결된 버전 또는 모바일 디바이스 모델이 아닌 경우, 상기 컨트롤러 운영 시스템을 업데이트하도록 상기 외부 컨트롤러 모듈을 구성 또는 프로그래밍하는 단계를 포함할 수 있다.
본 개시의 다른 측면에 따르면, 상기 방법은 상기 모바일 디바이스와 상기 주변 디바이스 사이의 통신의 보안을 모니터링하도록 상기 외부 컨트롤러 모듈을 구성 또는 프로그래밍하는 단계를 포함할 수 있다.
본 개시의 다른 특징들과 위에서 설명한 것은 아래 도면들을 참조하여 예시적인 실시예들을 설명함으로써 보다 명백해질 수 있다.
도 1은 종래의 USB 인터페이스 및 허브 구성의 도면이다.
도 2는 본 개시의 일 측면에 따른 외부 컨트롤러 모듈의 도면이다.
도 3은 본 개시의 일 측면에 따른 모바일 디바이스와 하나 이상의 주변 디바이스들 사이의 통신 경로를 구성하는 방법을 보여주는 처리 순서도이다.
이하, 첨부된 도면을 참조하여 본 인벤티브 컨셉(inventive concept)의 예시적인 실시예들을 상세히 설명한다. 동일한 도면 부호는 첨부 도면 전반에 걸쳐 동일한 구성 요소를 지칭 할 수 있다.
구성 요소가 다른 구성 요소에 "연결된(connected)"또는 "커플링된(coupled)"것으로 언급되는 경우, 해당 구성 요소는 다른 구성 요소에 직접적으로 연결 또는 커플링될 수 있거나 개재된 구성 요소들(intervening elements)이 존재할 수 있음을 이해할 수 있다.
여기에서 사용된 단수 형태 "a", "an"및 "the"는 문맥 상 달리 명시하지 않는 한 복수 형태를 포함하는 것으로 의도된다.
종래의 모바일 디바이스 및 USB 주변 시스템에서의 USB 인터페이스의 예가 도 1을 참조하여 설명된다. 모바일 디바이스(102)는 USB 허브(106)를 통해 하나 이상의 USB 주변 디바이스들(104)에 커플링된다. USB 허브(106)는 USB 주변 디바이스들(104)이 모바일 디바이스(102)와 연결하도록 모바일 디바이스(102) 상의 단일 USB 포트(108)를 확장(expand)한다. USB 허브(106)는 모바일 디바이스(102)가 USB 주변 디바이스들(104)과 직접 통신하도록, 논리적으로(logically) 투명(transparent)하다. 모바일 디바이스의 운영 시스템은 일반적으로 USB 주변 디바이스들 각각을 위한 드라이버를 포함한다.
본 개시의 측면들은 모바일 디바이스와 하나 이상의 주변 디바이스들 사이의 연결을 위해 구성되는 외부 컨트롤러 모듈을 포함한다. 외부 컨트롤러 유닛(external controller unit)은 새로운 또는 업데이트된 USB 디바이스들이 외부 컨트롤러 모듈에 연결되는 경우 새로운 또는 업데이트된 USB 디바이스들에 대한 드라이버 소프트웨어를 효율적으로 수신, 저장 및 실행하도록 구성된다. 외부 컨트롤러 모듈은 업데이트된 USB 드라이버 소프트웨어가 모바일 디바이스에 설치되는 것을 방지하고 대신에 새로운 또는 업데이트된 USB 주변 디바이스들 사이의 기능적(functional) 통신을 유지하고 중개자(intermediary)로 행동하도록 자신의 운영 시스템을 업데이트한다.
도 2를 참조하면, 본 개시의 일 측면에 따른 외부 컨트롤러 모듈(210)은 모바일 디바이스(218)를 USB 주변 장치들(204)로부터 격리(isolates)시킨다. 이는 모바일 디바이스(218)가 모바일 디바이스(218) 또는 모바일 디바이스 운영 시스템을 업데이트하지 않고 새로운 또는 업데이트된 USB 주변 디바이스들(204)과 협력하여 기능하는 것을 허용한다.
외부 컨트롤러 모듈(210)은 모바일 디바이스(218)에 커플링하기 위한 제1 USB 포트(208)에 커플링되고 USB 허브 회로(206)에 커플링되는 마이크로컨트롤러 회로(microcontroller circuitry)(212)를 포함한다. 외부 컨트롤러 모듈(210)은 또한 마이크로컨트롤러 회로(212)에 커플링되는 스토리지 회로(216)를 포함한다. USB 허브 회로(206)는 개별 USB 주변 디바이스(204)에 커플링하기 위한 하나 이상의 추가 또는 제 2 USB 포트들(214)을 포함한다. 외부 컨트롤러 디바이스(210)의 운영 시스템 소프트웨어 및/또는 주변 디바이스들(204)를 위한 USB 디바이스 드라이버 소프트웨어는 예를 들어, 스토리지 회로(216)에 저장될 수 있다.
USB 허브 회로는 USB 주변 디바이스들(204) 및 마이크로컨트롤러 회로(212) 사이의 통신 경로를 제공한다. USB 허브 회로(206)는 다수의 USB 주변 디바이스들(204)이 마이크로컨트롤러 회로(212)를 통해 모바일 디바이스(218)와 통신할 수 있도록 제1 USB 포트(208)의 기능성(functionality)을 확장한다.
본 개시의 일 측면에 따르면, 마이크로컨트롤러 회로(212)는 새로운 또는 업데이트된 USB 주변 디바이스(204)가 제 2 USB 포트들(214) 중 하나와 연결되는 경우 새로운 또는 업데이트된 USB 드라이버 소프트웨어를 스토리지 회로(216)로 디렉트(direct)하도록 구성 또는 프로그래밍된다. 마이크로컨트롤러 회로(212)는 또한 새로운 또는 업데이트된 USB 드라이버 소프트웨어가 모바일 디바이스(218)에 설치되는 것 또는 모바일 디바이스(218)와 통신되는 것을 방지하도록 구성 또는 프로그래밍된다.
마이크로컨트롤러 회로 (212)는 대응 주변 디바이스들(corresponding peripheral devices)(204)과 통신을 가능하게 하도록 스토리지 회로(216)에 설치된 업데이트된 USB 드라이버 소프트웨어에 응답(responsive)한다. 본 개시의 일 측면에 따르면, 마이크로컨트롤러 회로(212)는 새로운 또는 업그레이드된 주변 디바이스들(204)로부터 모바일 디바이스(218)로의 통신을 트랜스레이트(translate)하도록 구성 또는 프로그래밍된다. 제1 인터페이스(208)를 통한 모바일 디바이스(218)와의 통신은 모바일 디바이스(218)에 설치된 레거시 USB 드라이버 소프트웨어와 호환 가능한 포맷이고 개별 USB 포트(214)를 통한 새로운 또는 업데이트된 USB 주변 디바이스(204)와의 통신은 새로운 또는 업데이트된 USB 드라이버 소프트웨어와 호환 가능한 포맷이다.
본 개시의 측면들에 따르면, 외부 컨트롤러 모듈의 운영 시스템은 새로운 또는 업데이트된 USB 주변 장치들의 부착(attachment)을 수용(accommodate)하도록 모바일 디바이스를 변경하는 대신에 새로운 또는 업데이트된 USB 장치 드라이버로 쉽게 업데이트 될 수 있다. 따라서, 새로운 또는 업데이트된 USB 주변 디바이스들에 대한 USB 디바이스 드라이버 업데이트는 외부 컨트롤러 모듈에 로컬화(localized)된다.
설명된 것과 같이 모바일 디바이스와 하나 이상의 USB 주변 디바이스들 사이에 개시된 외부 컨트롤러 모듈을 구성하는 것은 모바일 디바이스들의 USB 디바이스 드라이버들 또는 운영 시스템을 업데이트하지 않고 모바일 디바이스가 새로운, 업데이트된, 또는 커스텀(custom) USB 주변 디바이스들과 협력(cooperation)하여 통신하고 기능(function)하는 것을 허용한다.
외부 컨트롤러 모듈은 USB 호스트(host) 모바일 디바이스와 USB 주변 디바이스들 사이의 모든 통신을 제어하고, 모바일 디바이스와 디바이스들 사이 또는 디바이스들 사이의 모든 통신은 외부 컨트롤러 모듈을 통해 이루어진다.
개시된 외부 컨트롤러 모듈은 연결된 모든 USB 주변 디바이스들을 표준 USB 인터페이스들을 이용하여 모바일 디바이스의 표준 USB 인터페이스에 단일 복합 USB 디바이스(single composite USB device)로서 제공(present)한다. 본 개시의 일 측면에 따르면, USB 주변 디바이스들은 몇몇 종래의 모바일 디바이스 운영 시스템의 빌트인 특징(built-in feature)인 복합 USB 드라이버에 맵핑된다. 이는 모바일 디바이스 상의 프로세싱 및 메모리 로드를 줄인다. 복합 USB 드라이버는 예를 들어 직렬(serial) 타입 USB 디바이스들, 네트워크 타입 USB 디바이스들 및 매스(mass) 스토리지 타입 USB 디바이스들과 통신하기 위한 드라이버 소프트웨어를 포함한다.
개시된 외부 컨트롤러 모듈의 예시적인 실시예는 다기능 복합 가젯(Multifunction Composite Gadget) USB 드라이버라 불리는 리눅스(Linux) 기반 디바이스 드라이버와 통신하도록 구성된다. 다기능 복합 가젯 USB 드라이버는 미국 캘리포니아 주 마운틴 뷰의 Google에서 널리 사용되는 안드로이드 운영 시스템의 빌트인 특징(built in feature)이다. 다기능 복합 가젯 USB 드라이버는 네트워크 타입 USB 디바이스들, 직렬 타입 USB 디바이스들 및 매스 스토리지 타입 USB 디바이스들에 대한 드라이버 소프트웨어를 포함한다. 예시적인 실시예에서, 개시된 외부 컨트롤러 모듈은 외부 컨트롤러 모듈에 연결된 각 USB 주변 디바이스를 다기능 복합 가젯 USB 드라이버 내의 USB 디바이스 타입들 중 하나에 맵핑한다. 리눅스 소프트웨어 개발 툴(Linux software development tools)은 다기능 합성 가젯 USB 드라이버에 대한 지원을 포함하기 때문에, 개시된 외부 컨트롤러 모듈의 실시예를 구현하기 위해 모바일 디바이스의 변경은 필요하지 않다.
본 개시의 다른 측면에 따르면, 외부 컨트롤러 모듈은 외부 모듈에 연결되는 다수의 USB 주변 디바이스들 사이에 데이터 패킷들을 포워딩하도록, 및/또는 외부 컨트롤러 모듈에 연결되는 USB 주변 디바이스들 중 전력 분배(power distribution)를 관리하도록 구성 또는 프로그래밍될 수 있다. 외부 컨트롤러 모듈은 또한 예를 들어 미리 결정된 서비스 품질(Quality of Service, QoS) 파라미터들을 기초로 외부 컨트롤러 모듈에 연결되는 다른 USB 주변 디바이스들에 통신 대역폭을 파티션(partition)하도록 구성 또는 프로그래밍 될 수 있다.
개시된 외부 컨트롤러 모듈의 다른 예시적인 실시예는 예를 들어 방화벽 기능성(firewall functionality) 및 다른 보안 모니터링(other security monitoring)을 제공함으로써 모바일 디바이스에 대한 추가적인 보호(protection)를 제공 할 수 있다. 예시적인 실시예에서, 개시된 외부 컨트롤러 모듈은 또한 트러블슈팅(troubleshooting)에 대한 진단 능력(diagnostic capability)을 포함하고 필드(field)에서의 프로그래밍을 허용하도록 구성될 수 있다.
외부 컨트롤러 모듈의 이러한 추가 기능성들(functionalities)은 모바일 디바이스의 변경을 더 감소시키고 제한된 프로세싱 파워(limited processing power) 및 기타 하드웨어 제한(hardware limitations)으로 인해 제한된 주변 관리 능력(limited peripheral management capabilities)을 갖는 종래의 모바일 디바이스와 비교하여 모바일 디바이스의 프로세싱 및 스토리지 요구 사항(requirements)을 감소시킨다.
다른 예시적인 실시예에서, 개시된 외부 컨트롤러 모듈은 시스템 개발자들 및 통합 업체들(integrators)이 그들의 제품들(products)과 전체 시스템(overall system)을 검증(validate)하는데 도움을 주기 위해, BIT(Built-in Test) 결과 및 처리량(throughput), 연결 에러(connection errors), 연결된 디바이스들의 수 및 클래스(class)와 같은 USB 주변 성능 메트릭(USB peripheral performance metrics)을 표시하는 테스트 플랫폼(test platform)으로서 구성 될 수 있다.
본 개시의 일 측면에 따른 모바일 디바이스와 하나 이상의 주변 디바이스들 사이의 통신 경로를 구성하는 방법이 도 3을 참조하여 설명된다. 블록(302)에서, 방법은 모바일 디바이스와 하나 이상의 주변 디바이스들 사이에 외부 컨트롤러 모듈을 커플링하는 단계를 포함한다.
본 개시의 일 측면에 따르면, 외부 컨트롤러 모듈은 외부 컨트롤러 모듈을 모바일 디바이스의 통신 포트에 전기적이고 통신 가능하게 커플링 하도록 구성되는 제1 인터페이스 포트, 및 외부 컨트롤러 모듈을 하나 이상의 개별 주변 디바이스들에 전기적이고 통신 가능하게 커플링 하도록 구성되는 하나 이상의 제2 인터페이스 포트들을 포함한다. 외부 컨트롤러 모듈은 또한 제1 인터페이스 포트 및 제2 인터페이스 포트들과 커플링되는 마이크로컨트롤러 회로, 및 마이크로컨트롤로 회로와 커플링되는 스토리지 회로를 포함한다. 스토리지 회로는 마이크로컨트롤러 회로에 의해 실행 가능한 컨트롤러 모듈 운영 시스템을 저장한다. 본 개시의 일 측면에 따르면, 컨트롤러 모듈 운영 시스템은 디바이스 드라이버 프로그램 코드를 모바일 디바이스에 설치하지 않고 주변 디바이스와 모바일 디바이스 사이의 전기적 통신을 용이하게 하는 디바이스 드라이버 프로그램 코드를 포함한다.
블록(304)에서, 방법은 주변 디바이스로부터 모바일 디바이스로 디렉트되는 디바이스 드라이버 업데이트를 인터셉트하고 컨트롤러 모듈 운영 시스템을 업데이트하기 위해 디바이스 드라이버 업데이트를 리디렉트하도록 마이크로컨트롤러 회로를 프로그래밍 또는 구성하는 단계를 포함한다.
블록 (306)에서, 방법은 모바일 디바이스의 운영 시스템을 변경하지 않고 컨트롤러 모듈 운영 시스템의 변경을 저장하고 억셉트(accept)하도록 외부 컨트롤러 모듈을 프로그래밍 또는 구성하는 단계를 포함한다. 보다 구체적으로, 방법은 모바일 디바이스 운영 시스템을 변경하지 않고 외부 컨트롤러 모듈 운영 시스템의 변경을 스토리지 회로에 저장하고 억셉트하도록 외부 컨트롤러 모듈의 마이크로컨트롤러 회로를 프로그래밍 또는 구성하는 단계를 포함한다.
인벤티브 컨셉(inventive concept)은 인벤티브 컨셉의 예시적 실시예들에 따른 다양한 모바일 어플리케이션들(mobile applications)에 적용될 수 있다.
본 개시의 측면들이 예시적인 실시예를 참조하여 구체적으로 보여지고 설명되었지만, 다음의 청구범위에 의해 정의된 본 개시의 스코프(scope)에서 출발하지 않고 형식과 세부사항의 다양한 변경이 이루어질 수 있다는 것은 해당 기술분야에 속한 통상의 기술자에 의해 이해될 수 있다.

Claims (20)

  1. 모바일 디바이스를 하나 이상의 주변 디바이스들과 인터페이싱하는 장치에 있어서,
    상기 모바일 디바이스의 통신 포트에 전기적으로 커플링하는 제1 인터페이스 포트;
    상기 하나 이상의 주변 디바이스들 중 하나에 전기적으로 커플링하는 제2 인터페이스 포트;
    상기 제1 인터페이스 포트 및 상기 제2 인터페이스 포트에 커플링되는 프로세서 회로;
    상기 프로세서 회로에 커플링되는 스토리지 회로
    를 포함하고,
    상기 스토리지 회로는 상기 프로세서 회로에 의해 실행 가능한 컨트롤러 모듈 운영 시스템을 저장하고, 상기 컨트롤러 모듈 운영 시스템은 디바이스 드라이버 프로그램 코드를 상기 모바일 디바이스에 설치하지 않고 상기 모바일 디바이스와 상기 주변 디바이스 사이의 전기적 통신을 용이하게 하기 위한 디바이스 드라이버 프로그램 코드를 포함하고,
    상기 프로세서 회로는 상기 주변 디바이스로부터 상기 모바일 디바이스로 디렉트되는(directed) 디바이스 드라이버 업데이트를 인터셉트하고 상기 컨트롤러 모듈 운영 시스템을 업데이트하기 위해 상기 디바이스 드라이버 업데이트를 리디렉트(redirect)하도록 구성되는,
    장치.
  2. 제1항에 있어서,
    상기 제1 인터페이스 포트는 표준 USB 인터페이스 포트를 포함하고 상기 제2 인터페이스 포트는 표준 USB 인터페이스 포트를 포함하는,
    장치.
  3. 제1항에 있어서,
    상기 프로세서 회로는 상기 모바일 디바이스의 모바일 디바이스 운영 시스템을 변경하지 않고 상기 컨트롤러 모듈 운영 시스템의 변경을 저장하고 억셉트(accept)하도록 구성되는,
    장치.
  4. 제1항에 있어서,
    상기 프로세서 회로에 커플링되고 하나 이상의 추가 주변 디바이스들을 상기 모바일 디바이스의 제1 통신 포트에 커플링하도록 구성되는 통신 포트 허브 회로
    를 더 포함하고,
    상기 프로세서 회로는 상기 모바일 디바이스와 상기 하나 이상의 주변 디바이스들 사이 및 상기 하나 이상의 주변 디바이스들 사이의 통신을 제어하도록 구성되는,
    장치.
  5. 제4항에 있어서,
    상기 프로세서 회로는 모바일 디바이스 운영 시스템을 수정하지 않고 상기 모바일 디바이스 운영 시스템의 복합(composite) USB 드라이버와 통신하도록 구성되는
    장치.
  6. 제4항에 있어서,
    각 주변 디바이스를 USB 복합 디바이스 타입에 맵핑하는 인터페이스 회로
    를 더 포함하는,
    장치.
  7. 제6항에 있어서,
    상기 USB 복합 디바이스 타입은 네트워크 타입 디바이스, 직렬 타입 디바이스, 및 매스(mass) 스토리지 타입 디바이스로 구성된 그룹에 있는,
    장치.
  8. 제1항에 있어서,
    상기 프로세서 회로는 상기 주변 디바이스가 상기 제2 인터페이스 포트에 처음 연결된 경우 상기 컨트롤러 모듈 운영 시스템을 업데이트하는,
    장치.
  9. 제1항에 있어서,
    상기 프로세서 회로는 상기 주변 디바이스에 대한 업데이트된 드라이버가 상기 프로세서 회로와 통신되는 경우 상기 컨트롤러 모듈 운영 시스템을 업데이트하도록 구성되는,
    장치.
  10. 제1항에 있어서,
    상기 프로세서 회로는 상기 모바일 디바이스가 상기 제1 인터페이스 포트에 이전에 연결된 모바일 디바이스 버전, 또는 상기 제1 인터페이스 포트에 이전에 연결된 모바일 디바이스 모델로 구성되는 그룹에 없는 경우 상기 컨트롤러 모듈 운영 시스템을 업데이트하도록 구성되는,
    장치.
  11. 제1항에 있어서,
    상기 프로세서 회로는 상기 모바일 디바이스와 상기 주변 디바이스 사이의 통신의 보안을 모니터링하도록 구성되는,
    장치.
  12. 제1항에 있어서,
    상기 프로세서 회로는 상기 모바일 디바이스와 상기 주변 디바이스 사이의 통신 방화벽을 제공하도록 구성되는,
    장치.
  13. 제1항에 있어서,
    상기 프로세서 회로는 상기 주변 디바이스의 전력 요구 사항(power requirements)을 관리하도록 구성되는
    장치.
  14. 모바일 디바이스와 하나 이상의 주변 디바이스들 사이의 통신 경로(pathway)를 구성하는 방법에 있어서,
    모바일 디바이스와 상기 하나 이상의 주변 디바이스들 사이에 외부 컨트롤러 모듈을 커플링하는 단계
    를 포함하고,
    상기 외부 컨트롤러 모듈은,
    상기 외부 컨트롤러 모듈을 상기 모바일 디바이스의 통신 포트에 전기적으로 커플링하는 제1 인터페이스 포트; 상기 외부 컨트롤러 모듈을 주변 디바이스에 전기적으로 커플링하는 제2 인터페이스 포트; 상기 제1 인터페이스 포트 및 상기 제2 인터페이스 포트에 커플링된 상기 외부 컨트롤러 모듈 내의 프로세서 회로; 상기 프로세서 회로에 커플링된 상기 외부 컨트롤러 모듈 내의 스토리지 회로를 포함하고,
    상기 스토리지 회로는 상기 프로세서 회로에 의해 실행 가능한 컨트롤러 모듈 운영 시스템을 저장하고,
    상기 컨트롤러 모듈 운영 시스템은 디바이스 드라이버 프로그램 코드를 상기 모바일 디바이스에 설치하지 않고 상기 주변 디바이스와 상기 모바일 디바이스 사이의 전기적 통신을 용이하게 하기 위한 디바이스 드라이버 프로그램 코드를 포함하고,
    상기 방법은 상기 하나 이상의 주변 디바이스들 중 하나로부터 상기 모바일 디바이스로 디렉트되는 디바이스 드라이버 업데이트를 인터셉트하고 상기 컨트롤러 모듈 운영 시스템을 업데이트하기 위해 상기 디바이스 드라이버 업데이트를 리디렉트하도록 상기 프로세서 회로를 구성 또는 프로그래밍하는 단계를 더 포함하는,
    방법.
  15. 제14항에 있어서,
    상기 모바일 디바이스의 모바일 디바이스 운영 시스템을 변경하지 않고 상기 컨트롤러 모듈 운영 시스템의 변경을 저장하고 억셉트(accept)하도록 상기 외부 컨트롤러 모듈을 구성 또는 프로그래밍하는 단계
    를 포함하는,
    방법.
  16. 제14항에 있어서,
    상기 주변 디바이스에 대한 업데이트된 드라이버가 상기 외부 컨트롤러 모듈과 통신되는 경우 상기 컨트롤러 모듈 운영 시스템을 업데이트하도록 상기 외부 컨트롤러 모듈을 구성 또는 프로그래밍하는 단계
    를 포함하는,
    방법.
  17. 제14항에 있어서,
    상기 모바일 디바이스가 상기 제1 인터페이스 포트에 이전에 연결된 모바일 디바이스 버전, 또는 상기 제1 인터페이스 포트에 이전에 연결된 모바일 디바이스 모델로 구성된 그룹에 없는 경우 상기 컨트롤러 모듈 운영 시스템을 업데이트하도록 상기 외부 컨트롤러 모듈을 구성 또는 프로그래밍하는 단계
    를 포함하는,
    방법.
  18. 제14항에 있어서,
    상기 모바일 디바이스와 상기 주변 디바이스 사이의 통신의 보안을 모니터링하도록 상기 외부 컨트롤러 모듈을 구성 또는 프로그래밍하는 단계
    를 포함하는,
    방법.
  19. 삭제
  20. 삭제
KR1020197016069A 2016-11-14 2017-08-29 모바일 디바이스 외부 컨트롤러 모듈 KR102007628B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662421588P 2016-11-14 2016-11-14
US62/421,588 2016-11-14
US15/686,744 US10203964B2 (en) 2016-11-14 2017-08-25 Mobile device external controller module
US15/686,744 2017-08-25
PCT/US2017/048989 WO2018089087A1 (en) 2016-11-14 2017-08-29 Mobile device external controller module

Publications (2)

Publication Number Publication Date
KR20190068633A KR20190068633A (ko) 2019-06-18
KR102007628B1 true KR102007628B1 (ko) 2019-08-05

Family

ID=62107155

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197016069A KR102007628B1 (ko) 2016-11-14 2017-08-29 모바일 디바이스 외부 컨트롤러 모듈

Country Status (9)

Country Link
US (1) US10203964B2 (ko)
EP (1) EP3539004B1 (ko)
JP (1) JP6858853B2 (ko)
KR (1) KR102007628B1 (ko)
CN (1) CN109997120B (ko)
CA (1) CA3041299C (ko)
IL (1) IL266503A (ko)
TW (1) TWI708148B (ko)
WO (1) WO2018089087A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11231448B2 (en) 2017-07-20 2022-01-25 Targus International Llc Systems, methods and devices for remote power management and discovery
US11039105B2 (en) 2019-08-22 2021-06-15 Targus International Llc Systems and methods for participant-controlled video conferencing
US11201958B2 (en) * 2020-01-20 2021-12-14 Ppip, Llc Alternative transport in data communication for mobile device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090023475A1 (en) 2007-07-16 2009-01-22 Microsoft Corporation Smart interface system for mobile communications devices
US20140040522A1 (en) 2005-08-15 2014-02-06 Blackberry Limited Universal peripheral connector

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6718423B2 (en) * 2000-12-29 2004-04-06 Gateway, Inc. Bus hub with a selectable number of ports
TW200417864A (en) * 2003-03-11 2004-09-16 Benq Corp Electronic peripheral device and network interface card
US20050135393A1 (en) * 2003-12-19 2005-06-23 Benco David S. Peripheral hub for mobile phones
KR100807102B1 (ko) * 2006-06-13 2008-02-26 한국과학기술원 컴퓨터 단말기의 주변 기기를 통하여 통신 단말기의 입출력프로세스를 제어하는 에뮬레이터 모듈 및 상기 모듈의동작 방법
US8171502B2 (en) * 2006-11-29 2012-05-01 Sony Ericsson Mobile Communications Ab Methods, devices and computer program products for automatically installing device drivers from a peripheral device onto a host computer
US8165633B2 (en) 2007-07-16 2012-04-24 Microsoft Corporation Passive interface and software configuration for portable devices
US8281298B2 (en) * 2007-08-27 2012-10-02 International Business Machines Corporation Evaluating computer driver update compliance
US7986962B2 (en) * 2007-11-16 2011-07-26 Standard Microsystems Corporation Providing a high-speed connection between a memory medium of a mobile device and an external device
US7882297B2 (en) * 2009-02-20 2011-02-01 Standard Microsystems Corporation Serial bus hub with low power devices
US9582238B2 (en) * 2009-12-14 2017-02-28 Qualcomm Incorporated Decomposed multi-stream (DMS) techniques for video display systems
CN102081581B (zh) * 2010-10-01 2013-10-30 威盛电子股份有限公司 电源管理系统及方法
US20130097244A1 (en) * 2011-09-30 2013-04-18 Clearone Communications, Inc. Unified communications bridging architecture
US9183164B2 (en) * 2012-03-30 2015-11-10 Intel Corporation USB hub with automatic communication mode switching
CN202694330U (zh) * 2012-07-13 2013-01-23 李千龙 实现usb设备自携带驱动程序的装置
GB2513660B (en) * 2013-05-03 2018-11-14 Displaylink Uk Ltd System for connecting a display over a general-purpose data transport
US9720775B2 (en) * 2013-06-12 2017-08-01 International Business Machines Corporation Implementing concurrent adapter firmware update for an SRIOV adapter in a virtualized system
US9298446B2 (en) * 2013-10-28 2016-03-29 International Business Machines Corporation Unified update tool for multi-protocol network adapter
US9507581B2 (en) * 2015-01-14 2016-11-29 Dell Products Lp Systems and methods of device firmware delivery for pre-boot updates
US9990325B2 (en) * 2015-04-10 2018-06-05 International Business Machines Corporation Universal serial bus (USB) filter hub malicious code prevention system
US10250600B2 (en) * 2015-07-27 2019-04-02 International Business Machines Corporation Updating database drivers for client applications through a database server push
US10025584B2 (en) * 2016-02-29 2018-07-17 International Business Machines Corporation Firmware management of SR-IOV adapters

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140040522A1 (en) 2005-08-15 2014-02-06 Blackberry Limited Universal peripheral connector
US20090023475A1 (en) 2007-07-16 2009-01-22 Microsoft Corporation Smart interface system for mobile communications devices

Also Published As

Publication number Publication date
US10203964B2 (en) 2019-02-12
EP3539004B1 (en) 2020-09-23
CN109997120A (zh) 2019-07-09
CN109997120B (zh) 2023-09-15
EP3539004A1 (en) 2019-09-18
TW201826130A (zh) 2018-07-16
US20180136944A1 (en) 2018-05-17
KR20190068633A (ko) 2019-06-18
IL266503A (en) 2019-07-31
TWI708148B (zh) 2020-10-21
CA3041299A1 (en) 2018-05-17
WO2018089087A1 (en) 2018-05-17
JP6858853B2 (ja) 2021-04-14
CA3041299C (en) 2023-01-03
JP2019537141A (ja) 2019-12-19

Similar Documents

Publication Publication Date Title
EP3197095B1 (en) Computer device and configuration management method thereof
CN102232304B (zh) 一种移动通信终端间进行系统升级的方法、系统及终端
KR102007628B1 (ko) 모바일 디바이스 외부 컨트롤러 모듈
KR20190074962A (ko) 스토리지 장치용 로컬 매니지먼트 콘솔
US9223559B2 (en) Information processing apparatus, electronic control unit, information processing method, and program
US20090204725A1 (en) Wimax communication through wi-fi emulation
CA2942619C (en) Host device coupled to a mobile phone and method of operating the same
CN104281542A (zh) 多功能usb终端设备的适配方法、装置及系统
US20200162404A1 (en) Distributed fpga solution for high-performance computing in the cloud
EP3091435A1 (en) Resource management method and device for terminal system
CN104115138A (zh) 电可配置选配板接口
US20170070573A1 (en) Communication device, communication system, and data processing device
JP2019537141A5 (ko)
CN115208718B (zh) 设备侧智能网关及其系统、和嵌入式设备适配控制方法
CN112015690A (zh) 智能设备管理方法、装置、网络设备和可读存储介质
US20230021036A1 (en) Communication Module, Communication System, and Communication Method
US10191875B2 (en) Techniques of providing serial port in non-legacy system via embedded-system device
CN110347624B (zh) 一种调整基本输入输出系统设定的方法和装置以及设备
CN109976876B (zh) 加速器管理方法和装置
KR101959561B1 (ko) 네트워크 가상화 관리 서버 및 이를 이용한 네트워크 가상화 관리 방법
US20220398106A1 (en) Computer Implemented Method And Distributed Computing Infrastructure For Automated Plug And Play Configuration
US20240022960A1 (en) Wireless out-of-band management of information technology assets
KR101944867B1 (ko) 네트워크 가상화 관리 서버 및 이를 이용한 네트워크 가상화 관리 방법
Rongqiang Bringing the OpenBMC for platform management system in telco cloud
CN116438501A (zh) 可独立升级的扩展坞

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant