KR102007628B1 - 모바일 디바이스 외부 컨트롤러 모듈 - Google Patents
모바일 디바이스 외부 컨트롤러 모듈 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/4045—Coupling between buses using bus bridges where the bus bridge performs an extender function
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/38—Universal adapter
- G06F2213/3812—USB port controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/40—Bus coupling
- G06F2213/4004—Universal serial bus hub with a plurality of upstream ports
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Systems (AREA)
- Stored Programmes (AREA)
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은 본 개시의 일 측면에 따른 모바일 디바이스와 하나 이상의 주변 디바이스들 사이의 통신 경로를 구성하는 방법을 보여주는 처리 순서도이다.
도 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 인터페이스 포트;
상기 하나 이상의 주변 디바이스들 중 하나에 전기적으로 커플링하는 제2 인터페이스 포트;
상기 제1 인터페이스 포트 및 상기 제2 인터페이스 포트에 커플링되는 프로세서 회로;
상기 프로세서 회로에 커플링되는 스토리지 회로
를 포함하고,
상기 스토리지 회로는 상기 프로세서 회로에 의해 실행 가능한 컨트롤러 모듈 운영 시스템을 저장하고, 상기 컨트롤러 모듈 운영 시스템은 디바이스 드라이버 프로그램 코드를 상기 모바일 디바이스에 설치하지 않고 상기 모바일 디바이스와 상기 주변 디바이스 사이의 전기적 통신을 용이하게 하기 위한 디바이스 드라이버 프로그램 코드를 포함하고,
상기 프로세서 회로는 상기 주변 디바이스로부터 상기 모바일 디바이스로 디렉트되는(directed) 디바이스 드라이버 업데이트를 인터셉트하고 상기 컨트롤러 모듈 운영 시스템을 업데이트하기 위해 상기 디바이스 드라이버 업데이트를 리디렉트(redirect)하도록 구성되는,
장치. - 제1항에 있어서,
상기 제1 인터페이스 포트는 표준 USB 인터페이스 포트를 포함하고 상기 제2 인터페이스 포트는 표준 USB 인터페이스 포트를 포함하는,
장치. - 제1항에 있어서,
상기 프로세서 회로는 상기 모바일 디바이스의 모바일 디바이스 운영 시스템을 변경하지 않고 상기 컨트롤러 모듈 운영 시스템의 변경을 저장하고 억셉트(accept)하도록 구성되는,
장치. - 제1항에 있어서,
상기 프로세서 회로에 커플링되고 하나 이상의 추가 주변 디바이스들을 상기 모바일 디바이스의 제1 통신 포트에 커플링하도록 구성되는 통신 포트 허브 회로
를 더 포함하고,
상기 프로세서 회로는 상기 모바일 디바이스와 상기 하나 이상의 주변 디바이스들 사이 및 상기 하나 이상의 주변 디바이스들 사이의 통신을 제어하도록 구성되는,
장치. - 제4항에 있어서,
상기 프로세서 회로는 모바일 디바이스 운영 시스템을 수정하지 않고 상기 모바일 디바이스 운영 시스템의 복합(composite) USB 드라이버와 통신하도록 구성되는
장치. - 제4항에 있어서,
각 주변 디바이스를 USB 복합 디바이스 타입에 맵핑하는 인터페이스 회로
를 더 포함하는,
장치. - 제6항에 있어서,
상기 USB 복합 디바이스 타입은 네트워크 타입 디바이스, 직렬 타입 디바이스, 및 매스(mass) 스토리지 타입 디바이스로 구성된 그룹에 있는,
장치. - 제1항에 있어서,
상기 프로세서 회로는 상기 주변 디바이스가 상기 제2 인터페이스 포트에 처음 연결된 경우 상기 컨트롤러 모듈 운영 시스템을 업데이트하는,
장치. - 제1항에 있어서,
상기 프로세서 회로는 상기 주변 디바이스에 대한 업데이트된 드라이버가 상기 프로세서 회로와 통신되는 경우 상기 컨트롤러 모듈 운영 시스템을 업데이트하도록 구성되는,
장치. - 제1항에 있어서,
상기 프로세서 회로는 상기 모바일 디바이스가 상기 제1 인터페이스 포트에 이전에 연결된 모바일 디바이스 버전, 또는 상기 제1 인터페이스 포트에 이전에 연결된 모바일 디바이스 모델로 구성되는 그룹에 없는 경우 상기 컨트롤러 모듈 운영 시스템을 업데이트하도록 구성되는,
장치. - 제1항에 있어서,
상기 프로세서 회로는 상기 모바일 디바이스와 상기 주변 디바이스 사이의 통신의 보안을 모니터링하도록 구성되는,
장치. - 제1항에 있어서,
상기 프로세서 회로는 상기 모바일 디바이스와 상기 주변 디바이스 사이의 통신 방화벽을 제공하도록 구성되는,
장치. - 제1항에 있어서,
상기 프로세서 회로는 상기 주변 디바이스의 전력 요구 사항(power requirements)을 관리하도록 구성되는
장치. - 모바일 디바이스와 하나 이상의 주변 디바이스들 사이의 통신 경로(pathway)를 구성하는 방법에 있어서,
모바일 디바이스와 상기 하나 이상의 주변 디바이스들 사이에 외부 컨트롤러 모듈을 커플링하는 단계
를 포함하고,
상기 외부 컨트롤러 모듈은,
상기 외부 컨트롤러 모듈을 상기 모바일 디바이스의 통신 포트에 전기적으로 커플링하는 제1 인터페이스 포트; 상기 외부 컨트롤러 모듈을 주변 디바이스에 전기적으로 커플링하는 제2 인터페이스 포트; 상기 제1 인터페이스 포트 및 상기 제2 인터페이스 포트에 커플링된 상기 외부 컨트롤러 모듈 내의 프로세서 회로; 상기 프로세서 회로에 커플링된 상기 외부 컨트롤러 모듈 내의 스토리지 회로를 포함하고,
상기 스토리지 회로는 상기 프로세서 회로에 의해 실행 가능한 컨트롤러 모듈 운영 시스템을 저장하고,
상기 컨트롤러 모듈 운영 시스템은 디바이스 드라이버 프로그램 코드를 상기 모바일 디바이스에 설치하지 않고 상기 주변 디바이스와 상기 모바일 디바이스 사이의 전기적 통신을 용이하게 하기 위한 디바이스 드라이버 프로그램 코드를 포함하고,
상기 방법은 상기 하나 이상의 주변 디바이스들 중 하나로부터 상기 모바일 디바이스로 디렉트되는 디바이스 드라이버 업데이트를 인터셉트하고 상기 컨트롤러 모듈 운영 시스템을 업데이트하기 위해 상기 디바이스 드라이버 업데이트를 리디렉트하도록 상기 프로세서 회로를 구성 또는 프로그래밍하는 단계를 더 포함하는,
방법. - 제14항에 있어서,
상기 모바일 디바이스의 모바일 디바이스 운영 시스템을 변경하지 않고 상기 컨트롤러 모듈 운영 시스템의 변경을 저장하고 억셉트(accept)하도록 상기 외부 컨트롤러 모듈을 구성 또는 프로그래밍하는 단계
를 포함하는,
방법. - 제14항에 있어서,
상기 주변 디바이스에 대한 업데이트된 드라이버가 상기 외부 컨트롤러 모듈과 통신되는 경우 상기 컨트롤러 모듈 운영 시스템을 업데이트하도록 상기 외부 컨트롤러 모듈을 구성 또는 프로그래밍하는 단계
를 포함하는,
방법. - 제14항에 있어서,
상기 모바일 디바이스가 상기 제1 인터페이스 포트에 이전에 연결된 모바일 디바이스 버전, 또는 상기 제1 인터페이스 포트에 이전에 연결된 모바일 디바이스 모델로 구성된 그룹에 없는 경우 상기 컨트롤러 모듈 운영 시스템을 업데이트하도록 상기 외부 컨트롤러 모듈을 구성 또는 프로그래밍하는 단계
를 포함하는,
방법. - 제14항에 있어서,
상기 모바일 디바이스와 상기 주변 디바이스 사이의 통신의 보안을 모니터링하도록 상기 외부 컨트롤러 모듈을 구성 또는 프로그래밍하는 단계
를 포함하는,
방법. - 삭제
- 삭제
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)
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 |
AU2020333961A1 (en) | 2019-08-22 | 2022-02-24 | 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)
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)
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 |
WO2013147860A1 (en) * | 2012-03-30 | 2013-10-03 | 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 |
-
2017
- 2017-08-25 US US15/686,744 patent/US10203964B2/en active Active
- 2017-08-29 EP EP17768285.3A patent/EP3539004B1/en active Active
- 2017-08-29 KR KR1020197016069A patent/KR102007628B1/ko active IP Right Grant
- 2017-08-29 CN CN201780070324.4A patent/CN109997120B/zh active Active
- 2017-08-29 JP JP2019524933A patent/JP6858853B2/ja active Active
- 2017-08-29 CA CA3041299A patent/CA3041299C/en active Active
- 2017-08-29 WO PCT/US2017/048989 patent/WO2018089087A1/en active Application Filing
- 2017-09-05 TW TW106130240A patent/TWI708148B/zh active
-
2019
- 2019-05-07 IL IL266503A patent/IL266503A/en active IP Right Grant
Patent Citations (2)
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 |
---|---|
TWI708148B (zh) | 2020-10-21 |
EP3539004B1 (en) | 2020-09-23 |
WO2018089087A1 (en) | 2018-05-17 |
CN109997120B (zh) | 2023-09-15 |
CA3041299A1 (en) | 2018-05-17 |
JP2019537141A (ja) | 2019-12-19 |
CN109997120A (zh) | 2019-07-09 |
US20180136944A1 (en) | 2018-05-17 |
EP3539004A1 (en) | 2019-09-18 |
JP6858853B2 (ja) | 2021-04-14 |
IL266503A (en) | 2019-07-31 |
KR20190068633A (ko) | 2019-06-18 |
US10203964B2 (en) | 2019-02-12 |
TW201826130A (zh) | 2018-07-16 |
CA3041299C (en) | 2023-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3197095B1 (en) | Computer device and configuration management method thereof | |
CN102232304B (zh) | 一种移动通信终端间进行***升级的方法、***及终端 | |
KR102007628B1 (ko) | 모바일 디바이스 외부 컨트롤러 모듈 | |
US9223559B2 (en) | Information processing apparatus, electronic control unit, information processing method, and program | |
KR20190074962A (ko) | 스토리지 장치용 로컬 매니지먼트 콘솔 | |
CA2942619C (en) | Host device coupled to a mobile phone and method of operating the same | |
US20090204725A1 (en) | Wimax communication through wi-fi emulation | |
US10834023B2 (en) | Distributed FPGA solution for high-performance computing in the cloud | |
CN104281542A (zh) | 多功能usb终端设备的适配方法、装置及*** | |
CN108737499A (zh) | 服务器配置方法和装置 | |
EP3091435A1 (en) | Resource management method and device for terminal system | |
US20150220350A1 (en) | Information processing device and method for managing information processing device | |
US20170070573A1 (en) | Communication device, communication system, and data processing device | |
JP2019537141A5 (ko) | ||
CN115208718B (zh) | 设备侧智能网关及其***、和嵌入式设备适配控制方法 | |
KR20150088462A (ko) | 클라우드 환경에서 네트워크 장치의 연동 방법 및 장치 | |
US20200145279A1 (en) | Computer having an embedded switch | |
US20230021036A1 (en) | Communication Module, Communication System, and Communication Method | |
US10191875B2 (en) | Techniques of providing serial port in non-legacy system via embedded-system device | |
CN109976876B (zh) | 加速器管理方法和装置 | |
CN110347624B (zh) | 一种调整基本输入输出***设定的方法和装置以及设备 | |
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) | 네트워크 가상화 관리 서버 및 이를 이용한 네트워크 가상화 관리 방법 | |
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 |