KR100703787B1 - 무선 유에스비 통신에서의 흐름 제어 방법 및 이를사용하는 무선 유에스비 디바이스 및 무선 유에스비 호스트 - Google Patents

무선 유에스비 통신에서의 흐름 제어 방법 및 이를사용하는 무선 유에스비 디바이스 및 무선 유에스비 호스트 Download PDF

Info

Publication number
KR100703787B1
KR100703787B1 KR1020050072768A KR20050072768A KR100703787B1 KR 100703787 B1 KR100703787 B1 KR 100703787B1 KR 1020050072768 A KR1020050072768 A KR 1020050072768A KR 20050072768 A KR20050072768 A KR 20050072768A KR 100703787 B1 KR100703787 B1 KR 100703787B1
Authority
KR
South Korea
Prior art keywords
wireless usb
packet
data
information
host
Prior art date
Application number
KR1020050072768A
Other languages
English (en)
Other versions
KR20070018270A (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 KR1020050072768A priority Critical patent/KR100703787B1/ko
Priority to US11/487,305 priority patent/US20070038784A1/en
Priority to CNA2006800287359A priority patent/CN101238686A/zh
Priority to PCT/KR2006/003042 priority patent/WO2007018365A1/en
Priority to GB0801568A priority patent/GB2442176A/en
Publication of KR20070018270A publication Critical patent/KR20070018270A/ko
Application granted granted Critical
Publication of KR100703787B1 publication Critical patent/KR100703787B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/04Registration at HLR or HSS [Home Subscriber Server]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Systems (AREA)

Abstract

무선 유에스비 통신에서의 흐름 제어 방법과 이를 사용하는 무선 유에스비 디바이스 및 무선 유에스비 호스트를 제공한다.
본 발명의 실시예에 따른 흐름 제어 방법은, 무선 USB 호스트와 통신 가능한 1 이상의 무선 USB(Universal Serial Bus) 디바이스를 위한 채널 타임 할당 정보 및 데이터 전송의 방향에 관한 정보를 포함하는 무선 USB 통신 관리 패킷을 수신하는 단계, 무선 USB 통신 관리 패킷을 해석하는 단계, 무선 USB 디바이스가 무선 USB 호스트로부터 수신하는 데이터를 저장할 저장 공간이 부족하거나, 무선 USB 호스트로 전송할 데이터가 준비되지 않은 경우, 무선 USB 통신 관리 패킷에 대한 응답으로서 저장 공간이 준비되거나 무선 USB 호스트로 전송할 데이터가 준비될 시간에 관한 정보를 포함하는 응답 패킷을 생성하는 단계, 및 응답 패킷을 무선 USB 호스트로 전송하는 단계를 포함한다.
무선 유에스비, 흐름 제어(flow control)

Description

무선 유에스비 통신에서의 흐름 제어 방법 및 이를 사용하는 무선 유에스비 디바이스 및 무선 유에스비 호스트{Method for flow control of wireless USB communication, wireless USB device and wireless USB host using the same}
도 1은 무선 USB(Universal Serial Bus) 트랜젝션 프로토콜을 유선 USB 트랜젝션 프로토콜과 대비하여 보여주는 도면이다.
도 2는 무선 USB호스트와 무선 USB 디바이스로 구성된 전체 시스템을 보여주는 도면이다.
도 3은 무선 USB 호스트와 무선 USB 디바이스간의 데이터 통신을 스케줄링하는MMC(Micro-scheduled Management Command)의 원리를 보여주는 도면이다.
도 4는 무선 USB 디바이스가 무선 USB 호스트에게 DNTS(Device Notification Time Slot) 메시지를 보내는 프로토콜을 보여주는 도면이다.
도 5는 본 발명의 일 실시예에 따른 무선 USB 디바이스가 흐름 제어를 위해 무선 USB 호스트에게 전송하는 핸드셰이크 패킷의 포맷을 보여주는 도면이다.
도 6은 무선 USB 디바이스가 흐름 제어를 위해 무선 USB 호스트에게 전송하는 핸드셰이크 패킷의 다른 실시예를 보여주는 도면이다.
도 7은 본 발명의 실시예에 따른 무선 USB 디바이스의 동작 순서를 보여주는 흐름도이다.
도 8은 본 발명의 실시예에 따른 무선 USB 호스트의 동작 순서를 보여주는 흐름도이다.
도 9는 본 발명의 실시예에 따른 무선 USB 디바이스의 구성을 보여주는 블록도이다.
도 10은 본 발명의 실시예에 따른 무선 USB 호스트의 구성을 보여주는 블록도이다.
본 발명은 무선 USB 통신에서의 흐름 제어 방법에 관한 것으로서, 더욱 상세하게는 무선 USB 디바이스가 데이터를 이동할 준비가 될 시간에 관한 정보를 무선 USB 호스트에 알림으로써 무선 USB 호스트와 무선 USB 디바이스간의 흐름을 효과적으로 제어하는 흐름 제어 방법에 관한 것이다.
USB는 PC와 주변기기간의 연결에 있어서 지배적으로 사용되고 있으며 그 영역을 단순한 마우스, 키보드에서부터 캠코더, 디지털카메라 등 멀티미디어 기기까지 넓혀 가고 있다. 또한 무선 네트워크 환경이 도래함에 따라 USB도 UWB(Ultra Wide Band)를 사용한 무선화가 진행되고 있다.
무선 USB에서의 통신은 유선 USB와 마찬가지로 무선 USB 호스트와 무선 USB 디바이스간의 일대일 통신으로 이루어지고 무선 USB디바이스간의 통신은 이루어지지 않는다. 유선 USB에서는 유선 USB 호스트와 유선 USB디바이스간의 모든 통신이 유선 USB 호스트의 유선 USB 디바이스에 대한 폴(poll)에 의하여 발생한다. 즉, 유선 USB 호스트가 유선 USB 디바이스로 데이터를 전송하려면 유선 USB 호스트가 유선 USB 디바이스에 OUT 토큰을 보냄으로써 유선 USB 디바이스로의 데이터 전송을 할 수 있고, 유선 USB 디바이스가 유선 USB 호스트로 데이터를 전송하려면 유선 USB 호스트가 유선 USB 디바이스에게 IN 토큰을 보냄으로써 유선 USB 디바이스가 유선 USB 호스트로 데이터를 전송할 수 있다.
무선 USB에서는 무선 USB 호스트가 직접 OUT /IN 토큰을 무선 USB 디바이스에 전송하지 않고 MMC(Micro-scheduled Management Command) 패킷내의 무선 USB 채널 타임 할당 정보 요소(Wireless USB Channel Time Allocation Information Element; 이하 WCTA IE라 함)를 이용해 각 무선 USB 디바이스가 사용할 채널 타임을 할당하고 무선 USB 디바이스의 통신 방향(수신 또는 전송)을 설정해줌으로써 시분할 다중 접속(Time Division Multiple Access; 이하 TDMA라 함) 방식으로 동작한다. 그러나 무선 USB에서의 통신도 기본적으로 무선 USB 호스트로부터 모든 통신이 초기화(initiate) 된다는 점에서 기존의 유선 USB에서의 통신과 유사하다. 이하 설명의 편의를 위하여 USB 호스트를 호스트로, USB 디바이스를 디바이스로 간략히 칭하기로 한다.
도 1은 무선 USB 트랜젝션 프로토콜을 유선 USB 트랜젝션 프로토콜과 대비하여 보여주는 도면이다.
상술한 바와 같이 무선 USB는 유선 USB와 유사하게 폴(poll)과 TDMA를 기반으로 한 프로토콜이다. 호스트 컨트롤러는 모든 데이터 전송을 시작한다. 유선 USB와 같이 각 전송은 논리적으로 세가지의 패킷들, 즉 토큰, 데이터 및 핸드셰이크로 구성된 다. 그러나 송신과 수신 사이의 소모적인 전환(transition)을 제거함으로써 물리 계층의 사용 효율을 높이기 위해 호스트는 복수개의 토큰 정보를 하나의 관리 패킷으로 합친다. 그 관리 패킷으로 호스트는 적절한 디바이스가 OUT 데이터 패킷을 위해 대기해야 하는 특정 시간 또는 IN 데이터 패킷이나 핸드셰이크를 전송해야 하는 시간을 지시한다.
도 1에 도시된 유선 USB 트랜젝션 프로토콜(100)은 호스트로부터 디바이스로의 데이터 전송인 OUT 전송(transfer)(110)과 디바이스로부터 호스트로의 데이터 전송인 IN 전송으로 구성된 프로토콜을 보여주고 있다. 상술한 바와 같이 유선 USB의 OUT 전송 또는 IN 전송은 각 전송에 할당된 채널 타임 할당 정보와 디바이스의 통신 방향에 관한 정보를 포함하는 토큰 패킷(111, 121), 실제 데이터 패킷(112, 122), 및 데이터 전송 결과에 관한 정보를 포함하는 핸드셰이크 패킷(113, 123)으로 구성되어 있다. 따라서 데이터 패킷 112와 핸드셰이크 패킷 113의 사이, 핸드셰이크 패킷 113과 토큰 패킷 121의 사이, 토큰 패킷 121과 데이터 패킷 122의 사이 등에서 통신의 방향이 전환되므로 지연이 발생하게 된다.
따라서 무선 USB 트랜젝션 프로토콜(200)은 유선 USB 통신에서의 토큰에 해당하는 정보(211 내지 213)를 무선 USB 통신 관리 패킷인 MMC 패킷(210)내의 정보 요소(Information Element)로 갖고, MMC 패킷(210)을 호스트와 통신 가능한 모든 디바이스들에 브로드캐스팅하여 각 디바이스가 호스트와 통신을 할 수 있는 채널 타임 정보 및 통신 방향에 관한 정보를 알려준다. 도 1의 경우 OUT 토큰(211)에 해당하는 채널 타임에 호스트가 디바이스로 데이터를 전송하고(220), IN 토큰(212)에 해 당하는 채널 타임에 디바이스가 호스트로 데이터를 전송한다(230). 핸드셰이크 OUT(213)에 해당하는 채널 타임에 데이터 OUT 단계(220)에서 이루어진 디바이스로의 데이터 전송의 결과를 디바이스가 호스트로 전송한다(240). 토큰 패킷에 해당하는 정보를 갖는 MMC(210)와 데이터 OUT/IN(220, 230) 단계, 및 핸드셰이크 단계가 하나의 트랜젝션 그룹(201)을 형성함은 유선 USB 통신과 유사하다.
이와 같이 1 이상의 디바이스와의 무선 USB 통신을 MMC에 의해 스케쥴링 함으로써 유선 USB 통신에 비해 데이터 전송의 효율을 높일 수 있으나, 모든 데이터 통신은 여전히 호스트에 의해 시작되므로 디바이스가 데이터 전송에 참여할 수 있는 상태가 되더라도 호스트에 의해 채널 타임 할당을 받을 때까지 기다려야 하는 문제가 있다.
본 발명이 이루고자 하는 기술적 과제는, 무선 USB 디바이스가 데이터를 송신하거나 수신할 준비가 되는 시기를 핸드셰이크 패킷을 이용하여 호스트에게 알려줌으로써 효율적인 데이터 전송을 할 수 있는 무선 USB 통신에서의 흐름 제어 방법과 이를 사용하는 무선 USB 디바이스 및 무선 USB 호스트를 제공하고자 하는 것이다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해되어질 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 무선 USB 통신에서의 흐름 제어 방법은, 무선 USB 호스트와 통신 가능한 1 이상의 무선 USB(Universal Serial Bus) 디바이스를 위한 채널 타임 할당 정보 및 데이터 전송의 방향에 관한 정보를 포함하는 무선 USB 통신 관리 패킷을 수신하는 단계, 무선 USB 통신 관리 패킷을 해석하는 단계, 무선 USB 디바이스가 무선 USB 호스트로부터 수신하는 데이터를 저장할 저장 공간이 부족하거나, 무선 USB 호스트로 전송할 데이터가 준비되지 않은 경우, 무선 USB 통신 관리 패킷에 대한 응답으로서 저장 공간이 준비되거나 무선 USB 호스트로 전송할 데이터가 준비될 시간에 관한 정보를 포함하는 응답 패킷을 생성하는 단계, 및 응답 패킷을 무선 USB 호스트로 전송하는 단계를 포함한다.
한편, 본 발명의 실시예에 따른 무선 USB 통신에서의 흐름 제어 방법은, 무선 USB 호스트와 통신 가능한 1 이상의 무선 USB(Universal Serial Bus) 디바이스를 위한 채널 타임 할당 정보 및 데이터 전송의 방향에 관한 정보를 포함하는 제 1 무선 USB 통신 관리 패킷을 브로드캐스팅하는 단계, 1 이상의 무선 USB 디바이스 중 적어도 하나의 디바이스로부터 무선 USB 호스트로부터 무선 USB 디바이스로 전송되는 데이터를 위한 저장 공간이 준비될 시간에 관한 정보 또는 무선 USB 디바이스로부터 무선 USB 호스트로 전송될 데이터가 준비될 시간에 관한 정보 중 어느 하나를 포함하는 응답 패킷을 수신하는 단계, 응답 패킷으로부터 저장 공간이 준비될 시간에 관한 정보 또는 무선 USB 호스트로 전송될 데이터가 준비될 시간에 관한 정보를 추출하는 단계, 추출된 정보에 따라 응답 패킷을 전송한 무선 USB 디바이스를 위한 채널 타임 할당 정보를 포함하는 제 2 무선 USB 통신 관리 패킷을 생 성하는 단계, 및 제 2 무선 USB 통신 관리 패킷을 브로드캐스팅하는 단계를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 무선 USB 디바이스는, 무선 USB 호스트와 통신 가능한 1 이상의 무선 USB 디바이스를 위한 채널 타임 할당 정보 및 데이터 전송의 방향에 관한 정보를 포함하는 무선 USB 통신 관리 패킷을 수신하는 송수신부, 무선 USB 통신 관리 패킷을 해석하는 관리 패킷 처리부, 데이터 전송의 방향에 관한 정보가 무선 USB 호스트로부터 무선 USB 디바이스로의 데이터 전송을 나타내는 경우 무선 USB 호스트로부터 전송되는 데이터를 저장할 저장 공간이 있는지 여부 또는 데이터 전송의 방향에 관한 정보가 무선 USB 디바이스로부터 무선 USB 호스트로의 데이터 전송을 나타내는 경우 무선 USB 호스트로 전송할 데이터가 준비되었는지 여부를 파악하는 데이터 전송(data transfer) 상태 관리부, 무선 USB 호스트로부터 전송되는 데이터를 저장할 저장 공간이 없거나 무선 USB 호스트로 전송할 데이터가 준비되지 않은 경우 저장 공간 또는 무선 USB 호스트로 전송할 데이터가 준비될 예상 시간을 예측하는 제어부, 및 무선 USB 통신 관리 패킷에 대한 응답응로서 예상 시간에 관한 정보를 포함하는 응답 패킷을 생성하는 응답 패킷 생성부를 포함한다.
한편, 본 발명의 실시예에 따른 무선 USB 호스트는 무선 USB 디바이스로부터 무선 USB 호스트에서 무선 USB 디바이스로 전송되는 데이터를 위한 저장 공간이 준비될 시간에 관한 정보 또는 무선 USB 디바이스로부터 무선 USB 호스트로 전송될 데이터가 준비될 시간에 관한 정보 중 어느 하나를 포함하는 응답 패킷을 수신하는 송 수신부, 응답 패킷을 해석하여 저장 공간이 준비될 시간에 관한 정보 또는 데이터가 준비될 시간에 관한 정보를 추출하는 응답 패킷 처리부, 추출된 시간 정보를 반영하여 응답 패킷을 전송한 무선 USB 디바이스를 위한 채널 타임을 할당하는 타이밍 관리부, 무선 USB 디바이스를 위한 채널 타임 할당 정보 및 데이터 전송의 방향에 관한 정보를 포함하는 무선 USB 통신 관리 패킷을 생성하는 관리 패킷 생성부, 및 송수신부, 응답 패킷 처리부, 타이밍 관리부 및 관리 패킷 생성부의 동작을 제어하는 제어부를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능 한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑제되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
도 2는 무선 USB(Universal Serial Bus) 호스트와 무선 USB 디바이스로 구성된 전체 시스템을 보여주는 도면이다.
본 발명의 실시예에 따른 흐름 제어 방법을 사용하는 무선 USB 시스템(10)은 하나의 무선 USB 호스트(11)와 하나 이상의 무선 USB 디바이스(12 내지 15)로 구성된다. 호스트(11)는 도 1에서 상술한 바와 같이 디바이스들 중 호스트와 통신하고자 하는 디바이스들을 위한 채널 타임 슬롯 할당에 관한 정보를 정보 요소로 포함하는 MMC 패킷을 생성하여 브로드캐스팅을 한다. 디바이스들(12 내지 15)은 MMC 패킷을 수신하고 해석하여 자신을 위한 채널 타임이 할당되어 있는 경우 호스트로부터 수신할 데이터를 저장할 버퍼가 준비되었는지, 호스트로 전송할 데이터가 준비되었는지를 확인한다. 버퍼가 없거나 호스트로 전송할 데이터가 준비되지 않은 경우 디바이스는 이를 알리는 NAK 핸드셰이크를 호스트로 전송한다. 이때, NAK 핸드셰이크 패킷에 버퍼나 호스트로 전송할 데이터가 언제 준비될지에 대한 정보를 삽입함으로써 호스트로 하여금 해당 시기에 NAK 핸드셰이크를 전송했던 디바이스를 위한 채널 타임을 할당할 수 있도록하고 디바이스가 무선 USB 통신에 참여할 수 있는 기회를 준다.
도 3은 무선 USB 호스트와 무선 USB 디바이스간의 데이터 통신을 스케줄링하는 MMC의 원리를 보여주는 도면이다.
무선 USB 마이크로 스케쥴된 시퀀스(Micro-scheduled sequence)(300)는 하나의 MMC(310)와 MMC에 기술된 이후의(subsequent) 채널 타임으로 이루어진다. 무선 USB 는 무선 USB 트랜젝션 프로토콜을 관리하기 위하여 마이크로 스케쥴된 시퀀스(Micro-scheduled sequence) 구조(300)를 사용한다. MMC(310)는 무선 USB 채널을 유지하고 제어하기 위해 호스트에 의해 사용된다. MMC(310)는 어플리케이션이 정의하는 제어 패킷이고 대부분 특정 정보 요소들로 구성된다. 도 3에 도시된 MMC(310)는 데이터 아웃(321)을 위한 채널 타임 슬롯 할당 정보 요소(311), 데이터 인(322)를 위한 채널 타임 슬롯 할당 정보 요소(312), 핸드셰이크 아웃(323)을 위한 채널 타임 슬롯 할당 정보 요소(313)를 포함하고 있다.
도 4는 무선 USB 디바이스가 무선 USB 호스트에게 DNTS 메시지를 보내는 프로토콜을 보여주는 도면이다.
종래의 무선 USB 통신에서의 흐름 제어는 버퍼 언더런(buffer underrun)이나 버퍼 오버런(buffer overrun) 상태를 막기 위해 사용된다. IN 트랜젝션의 경우 호스트의 IN 토큰에 대해 디바이스가 NAK 핸드셰이크를 보냈다면 디바이스에서 호스트로 보낼 데이터가 준비되지 않았다는 의미이다. OUT 트랜젝션의 경우 호스트가 보내는 OUT 토큰에 대해 디바이스가 NAK 핸드셰이크를 보냈다면 디바이스가 호스트로부터 받은 데이터를 저장할 버퍼가 부족하다는 의미이다. 이러한 흐름 제어 응답을 받으면 호스트는 다음에 다시 IN 또는 OUT 토큰을 포함하는 MMC를 브로드캐스팅하여 디바이스와의 통신을 다시 시도하게 된다.
이 때, 디바이스가 버퍼나 데이터가 준비되면 Device Endpoints Ready라는 알림(Notification)을 호스트로 전송하여 디바이스측의 버퍼나 데이터가 준비되었음을 호스트에게 알릴 수 있다. 호스트는 이후 알림을 전송한 디바이스를 위한 채널 타 임을 할당할 수 있게 된다. 이러한 알림은 DNTS(Device Notification Time Slot)에 슬롯된 알로하(Slotted aloha) 방식으로 전송된다.
도 4는 DNTS 구성의 일반적인 모델(400)을 도시하고 있다.
DNTS(420)는 개개의 디바이스들로 하여금 작고 비동기적인 알림 메시지(notification message)를 호스트로 전송하도록 허용하기 위해 호스트에 의해서 할당된다. 호스트는 MMC(410)에 DNTS 채널 타임 할당 정보(411)를 포함시킴으로써 자신의 통신 영역에 있는 디바이스들에게 DNTS를 통지한다. DNTS는 논리적으로 균일한 크기의 메시지 슬롯들(421 내지 424)로 구조화된다. DNTS 채널 타임 할당 정보(411)는 DNTS의 메시지 슬롯들(421 내지 424)의 개수를 포함한다.
USB 2.0은 하위 계층 프로토콜에 장착된 흐름 제어를 갖는다. 유선 USB 프로토콜의 경우 일단 디바이스가 흐름 제어 응답(NAK)을 보내면 호스트가 상태 변화에 대하여 폴(poll)을 해야한다. USB 호스트 컨트롤러는 데이터 스트림의 준비성(data stream readiness)에 있어서의 변화에 대하여 자주 폴을 한다. 이러한 'busy-wait' 폴링은 무선 환경에서 가용 대역폭을 차지한다는 점에서 매우 비싼 방법이다. 따라서 무선 USB는 흐름 제어 이벤트 이후에 데이터 스트림을 재개하기 위해 더 적은 대역폭을 소비하는 방법을 활용한다. 어떠한 구성 이벤트(configuration event) 이후에도 데이터 전송을 관리하는 모든 엔드포인트들의 초기 상태는 '준비' 상태에 있다고 가정한다.
디바이스는 임의의 토큰 요청에 대해 흐름 제어 응답(flow control response)으로 응답할 수 있다. IN 엔트포인트는 프로토콜 타임 슬롯 동안에 데이터 패킷 대신에 핸드셰이크 패킷 NAK를 반환할 것이다. OUT 엔트포인트는 데이터 단계 프로토콜 타임 슬롯 동안에 수신된 데이터 패킷을 확인하기(acknowledge)위하여 항상 핸드셰이크 패킷을 반환한다. OUT 핸드셰이크 패킷은 주요 필드로서 핸드셰이크의 종류를 나타내는 핸드셰이크 코드 필드와 Ack 코드 필드를 갖는다. 다음의 표 1은 엔드포인트 응답의 종류를 보여준다.
호스트 디바이스 응답 설명
IN DATA(X) 전송의 마지막이 아니면 호스트는 전송 상태를 진전시키고 적절한 시기에 다른 트랜젝션을 시작함.
IN bmStatus.Handshake Code = NAK 흐름 제어 응답
OUT DATA(X) bmStatus.Handshake code = ACK bvAckCode ≠0 데이터를 더 전송해도 좋음.
OUT DATA(X) bmStatus.Handshake code = ACK bvAckCode = 0 흐름 제어 응답. 디바이스는 데이터 단계 타임 슬롯 동안 전송된 모든 데이터를 수용하였으나 더이상 공간이 없음
OUT DATA(X) bmStatus.Handshake Code = NAK 흐름 제어 응답. 디바이스는 데이터 단계 동안 전송된 어떠한 데이터도 수용하지 않았음.
일반적인 호스트는 엔드포인트로부터 흐름 제어 응답을 수신하면, 호스트는 현재 서비스되는 엔트포인트들의 활성 리스트(active list)로부터 엔드포인트 데이터 스트림을 제거한다. 디바이스의 엔드포인트가 데이터 스트림을 재개할 준비가 되면(이는 엔드포인트가 가용한 하나 이상의 최대 패킷 사이즈의 데이터나 저장 공간을 가지고 있음을 의미한다), 디바이스는 엔드포인트가 준비되었음을 알리는 메시지를 호스트에 보내고, 호스트는 다음 스케쥴된 서비스구간에 이 엔트포인트로의 트랜잭션 트래픽을 재개한다.
그러나 이와 같은 종래의 흐름 제어 방법을 사용할 경우 디바이스는 DNTS 구간에만 디바이스가 데이터 송신 또는 수신할 준비가 되었음을 호스트에 알릴 수 있는데 DNTS 구간은 호스트가 임의로 할당하는 채널 타임이므로 디바이스가 준비가 되었음에도 불구하고 DNTS 구간을 할당받지 못해 알림을 전송하지 못할 수 있다. 또한 알림 전송 방식이 슬롯된 알로하 방식이므로 디바이스가 경쟁에서 밀려날 경우 호스트에 알림을 보내는데 오랜 시간이 걸릴수 있다.
본 발명의 실시예에 따른 흐름 제어 방법에서는 디바이스가 흐름 제어 응답, 즉 핸드셰이크 패킷에 디바이스의 전송할 데이터가 준비될 시간에 대한 정보 또는 저장 공간이 준비될 시간에 대한 정보를 삽입하여 호스트에 알림으로써 호스트가 다음 데이터 전송을 스케쥴링할 때 이를 반영하여 MMC를 생성할 수 있도록 할 수 있다.
도 5는 본 발명의 실시예에 따른 흐름 제어를 위해 디바이스가 MMC 패킷에 대한 응답으로서 호스트에 전송하는 응답 패킷(500)의 포맷을 보여주는 도면이다. 이하에서는 응답 패킷의 일 실시예로서 무선 USB 1.0의 NAK 핸드셰이크 패킷을 위주로 설명하도록 한다. 도 5는 무선 USB 1.0의 핸드셰이크 패킷의 헤더부분에 디바이스가 전송할 데이터가 준비될 예상 시간에 대한 정보 또는 저장 공간이 준비될 예상 시간에 대한 정보를 삽입한 것을 도시하고 있다. 여기서 예상 시간에 대한 정보는 예를 들어 현재 시간으로부터 예상 시간까지의 간격인 타임 오프셋 값이 될 수 있다. 무선 USB 1.0의 핸드셰이크 패킷은 크게 헤더와 Ack 코드 값을 갖는 몸체 부분으로 구성된다. 본 실시예에 따른 응답 패킷(500)도 기본적으로 무선 USB 1.0의 핸드셰이크 패킷의 포맷을 따른다. 따라서 본 실시예에 따른 응답 패킷(500)은 무선 USB 헤더(510)와 몸체(520)로 구성된다.
무선 USB 헤더(510)는 엔드포인트 번호(511), 패킷 아이디(512), 엔드포인트 방향(513), 시퀀스 번호(514), 플래그/핸드셰이크 코드(515), 및 타임 오프셋(516)으로 세분될 수 있다. 엔드포인트 번호 필드(511)는 데이터 전송을 식별하는 디바이스의 엔드포인트의 번호를 갖고, 패킷 아이디 필드(512)는 패킷의 종류를 나타내는 값을 갖는다. 패킷 아이디(PID) 필드(512)가 가질 수 있는 값은 다음의 표 2와 같다.
PID 유형 PID 이름 설명
Data DATA 000B 데이터 패킷
IDATA 001B 등시성(isochronous) 데이터 패킷
Handshake HNDSHK 100B 디바이스가 전송하는 핸드셰이크 패킷
Notification DN 101B 디바이스 알림
Reserved 010B - 011B 110B - 111B 미래의 사용을 위해 유보된 값
따라서 본 실시예에 따른 응답 패킷은 패킷 아이디로 HNDSHK를 갖게 된다.
엔드포인트 방향 필드(513)는 패킷 아이디 필드(512)의 값에 따라 엔드포인트의 방향, 즉 데이터 전송 방향을 나타내는 값을 갖는다. 이 값이 0 이면 OUT, 1이면 IN을 의미한다.
시퀀스 번호 필드(514)는 패킷 아이디 필드(512)가 DATA 또는 IDATA 패킷임을 나타낼 때 데이터 버스트(burst) 시퀀스 번호를 갖게 된다. 그 외의 경우에는 이 필드는 0으로 설정된다. 본 실시예에 따른 응답 패킷은 이 필드를 '0'으로 설정한다.
플래그/핸드셰이크 코드 필드(515)는 패킷 아이디 필드(512)가 DATA 또는 IDATA의 값을 가지면 데이터 스트림과 관련된 상태 플래그가 세트 되고, 패킷 아이디 필드(512)가 HNDSHK의 값을 가지면 호스트에 반환하는 상태 정보의 값을 갖게 된다. 이 필드는 엔드포인트가 오류 없는 데이터나 확인 명령을 관측하는 경우 ACK에 해당하는 값을 갖고, 엔드포인트가 데이터를 전송하거나 수신할 준비가 되지 않은 경우 NAK에 해당하는 값을 갖고, 엔드포인트가 멈추거나(halted), 제어 전송 요청(control transfer request)이 지원되지 않는 경우 STALL 값을 갖는다. 따라서 본 실시예에 따른 핸드셰이크 패킷은 NAK에 해당하는 갖게 된다.
무선 USB 1.0의 경우 헤더의 마지막에 isochronous 데이터의 구성을 기술하기 위해 가변 길이의 헤더를 갖는데, 도 5에 도시된 응답 패킷은 이 가변 길이의 헤더 부분을 타임 오프셋 값을 포함하기 위한 부분으로 전용하고 있다. 즉, 디바이스는 무선 USB 1.0의 isochronous 헤더에 해당하는 부분(516)에 타임 오프셋 값을 삽입하여 호스트에 전송하게 된다.
몸체 부분(520)은 승인 코드(acknowledgement code) 값을 갖는데, 핸드셰이크 패킷이 데이터 단계의 데이터 버스트(data burst)의 승인(acknowledgement)일 경우 호스트로의 마지막 데이터 버스트의 결과에 관한 정보를 운반한다.
도 6은 디바이스가 흐름 제어를 위해 호스트에게 전송하는 응답 패킷 포맷의 다른 실시예를 보여주는 도면이다.
상술한 도 5의 실시예는 NAK 핸드셰이크 패킷의 헤더 부분(510)에 디바이스가 호스트로 전송할 데이터가 준비될 시간에 관한 정보나 호스트로부터 전송되는 데이터를 저장할 저장공간이 준비될 시간에 관한 정보를 포함하고 있는 반면에, 도 6은 NAK 핸드셰이크 패킷의 헤더 부분이 아닌 몸체 부분에 상술한 시간에 관한 정보를 포함하는 패킷 포맷을 보여주고 있다. 도 6은 몸체 부분(620)이 디바이스가 호스트로 전송할 데이터가 준비될 시간에 관한 정보나 저장공간이 준비될 시간에 관한 정보인 타임 오프셋 값을 갖는 패킷 포맷을 도시하고 있다.
도 6에 도시된 응답 패킷(600)의 헤더 부분(610)의 포맷은 도 5에 도시된 응답 패킷(500)의 헤더 부분의 포맷과 유사하다. 헤더 부분(610)은 엔드 포인트 번호(611), 패킷 아이디(612), 엔드포인트 방향(613), 시퀀스 번호(614), 및 플래그/핸드셰이크 코드(615)를 포함한다. 이에 대한 중복된 설명은 생략한다. 몸체(620) 부분은 원래 Ack 코드 값을 포함하나, 본 발명의 실시예에 따른 흐름 제어 방법에서는 이 패킷이NAK 핸드셰이크 패킷일 경우 디바이스가 장차 전송할 데이터가 준비될 예상 시간에 관한 정보 또는 저장 공간이 준비될 예상 시간에 대한 정보, 예를 들어 현재 시간으로부터 예상 시간까지의 타임 오프셋 값을 포함하게 된다.
도 7은 본 발명의 실시예에 따른 디바이스의 동작 순서를 보여주는 흐름도이다.
본 실시예에 따른 디바이스는 호스트와 디바이스간의 데이터 전송을 스케쥴링하는 OUT 토큰 이나 IN 토큰을 포함하는 MMC 패킷을 수신한다(S710). 디바이스는 수신된 MMC 패킷을 해석하여(S720) 자신을 위한 OUT 토큰이 있는 경우 호스트로부터 전송되는 데이터를 저장할 버퍼가 준비되어 있는지 확인한다. 버퍼가 부족할 경우(S730의 아니오) 디바이스는 호스트로부터 전송될 데이터를 저장할 충분한 버퍼가 준비되는 시간을 예측하고 현재 시간으로부터 예측 시간까지의 타임 오프셋 값을 NAK 핸드셰이크 패킷의 헤더 부분(516)이나 몸체 부분(620)에 삽입하여 응답 패킷을 생성한다(S740). 디바이스는 생성된 응답 패킷을 호스트로 전송함으로써 호스트에게 버퍼가 준비될 시간을 알린다(S750).
한편, 디바이스는 수신된 MMC 패킷을 해석하여(S720) 자신을 위한 IN 토큰이 있는 경우 호스트로 전송할 데이터가 준비되었는지를 확인한다(S730). 호스트로 전송할 데이터가 준비되지 않는 경우(S730의 아니오) 디바이스는 다음에 데이터가 준비될 시간을 예측하고 현재 시간으로부터 예측 시간까지의 타임 오프셋 값을 NAK 핸드셰이크 패킷의 헤더 부분(516)이나 몸체 부분(620)에 삽입하여 응답 패킷을 생성한다(S740). 디바이스는 생성된 응답 패킷을 호스트로 전송함으로써 호스트에게 전송할 데이터가 준비될 시간을 알린다(S750).
도 8은 본 발명의 실시예에 따른 무선 USB 호스트의 동작 순서를 보여주는 흐름도이다.
본 실시예에 따른 호스트는 1 이상의 디바이스와의 통신을 스케쥴링하기 위하여 OUT 토큰이나 IN 토큰을 포함하는 MMC 패킷을 생성하여 브로드캐스팅한다(S810). 무선 USB 디바이스로부터 NAK 핸드셰이크 패킷을 수신하면(S820) NAK 핸드셰이크 패킷을 해석하여 디바이스에 의해 삽입된 타임 오프셋 값을 추출한다(S830). 이 타임 오프셋 값은 OUT 토큰에 대한 NAK 핸드셰이크 패킷일 경우 디바이스의 버퍼가 준비될 시간에 관한 정보, 즉 현재 시간으로부터 호스트에 의해 디바이스로 전송될 데이터를 저장할 디바이스의 버퍼가 준비되는 예측 시간까지의 시간이 된다. IN 토큰에 대한 NAK 핸드셰이크 패킷일 경우 타임 오프셋 값은 디바이스가 호스트에 전송할 데이터가 준비되는 시간에 관한 정보, 즉 현재 시간으로부터 호스트에 전송할 데이터가 준비되는 예측 시간까지의 시간이 된다. 호스트는 NAK 핸드셰이크 패킷으로부터 추출한 타임 오프셋 값을 기초로 해당 디바이스에 할당할 채널 타임을 결정하고 디바이스의 채널 타임 할당 정보와 데이터 전송 방향에 관한 정보를 포함하는 OUT 토큰 또는 IN 토큰으로 구성된 MMC 패킷을 생성한다(S840). 호스트는 MMC 패킷을 모든 디바이스로 브로드캐스팅한다(S850).
도 9는 본 발명의 실시예에 따른 무선 USB 디바이스의 구성을 보여주는 블록도이다.
본 실시예에 따른 무선 USB 디바이스는 송수신부(910), 관리 패킷 처리부(920), 제어부(930), 응답 패킷 생성부(940), 데이터 전송 상태 관리부(950)를 포함할 수 있다.
송수신부(910)는 호스트로부터 전송되는 데이터 패킷이나 MMC 패킷을 수신하고 디바이스의 데이터 패킷이나 응답 패킷을 호스트로 전송한다. 관리 패킷 처리부(920)는 송수신부(910)에 의해 수신된 MMC 패킷을 해석하고 패킷 내의 디바이스를 위한 OUT 토큰, IN 토큰으로부터 디바이스에 요구되는 데이터 전송 방향에 대한 정보와 해당 전송을 수행할 수 있는 채널 타임 정보를 추출한다.
제어부(930)는 관리 패킷 처리부(920)에 의해 추출된 채널 타임 정보 및 요구되는 데이터의 전송 방향을 기초로 데이터 전송 상태 관리부(950)로부터 디바이스의 해당 엔드포인트의 데이터 전송 상태 정보를 받아 데이터 전송(data transfer)이 가능한지를 판단한다. 즉, 디바이스를 위한 OUT 토큰을 수신한 경우 할당된 채널 타임 슬롯에 호스트에 의해 전송된 데이터를 수신할 버퍼가 준비되는지를 판단하고, 디바이스를 위한 IN 토큰을 수신한 경우 할당된 채널 타임 슬롯에 호스트로 전송할 데이터가 준비되는지를 판단한다. 만일 해당 채널 타임에 버퍼나 전송할 데이터가 준비되지 않는다면 다음에 버퍼나 데이터가 준비될 시간을 예측하고 이 예측 시간에 관한 정보를 응답 패킷 생성부(940)에 전달한다.
응답 패킷 생성부(940)는 호스트로부터 수신한 OUT 토큰이나 IN 토큰에 대해 해당 채널 타임에 버퍼나 전송할 데이터가 준비되지 않는다면 제어부(930)로부터 전달받은 버퍼나 데이터가 준비될 예측 시간에 관한 정보를 기초로 응답 패킷, 예를 들어 NAK 핸드셰이크 패킷을 생성한다. 예측 시간에 관한 정보가 NAK 핸드셰이크 패킷에 삽입되는 위치는 도 5 및 도 6에서 상술한 바와 같다.
도 10은 본 발명의 실시예에 따른 무선 USB 호스트의 구성을 보여주는 블록도이다.
본 실시예에 따른 무선 USB 호스트(1000)는 타이밍 관리부(1010), 관리 패킷 생성부(1020), 제어부(1030), 응답 패킷 처리부(1040), 및 송수신부(1050)를 포함할 수 있다.
타이밍 관리부(1010)는 TDMA 방식으로 복수의 디바이스와의 데이터 송수신을 수행하는 호스트가 각 디바이스에 채널 타임을 할당하기 위해 타이밍을 관리한다. 관리 패킷 생성부(1020)는 1 이상의 디바이스에 데이터 송수신을 위한 채널 타임 할당 정보를 포함하는 OUT 토큰, IN 토큰으로 구성된 MMC 패킷을 생성한다. 송수신부(1050)는 관리 패킷 생성부(1020)에 의해 생성된 MMC 패킷을 디바이스에 브로드캐스팅하고 디바이스로부터 데이터 패킷이나 응답 패킷을 수신한다.
응답 패킷 처리부(1040)는 송수신부(1050)에 의해 수신된 응답 패킷을 해석하여 디바이스가 데이터 전송에 관여할 준비가 되지 않았음을 알리는 NAK 핸드셰이크 패킷일 경우 헤더 부분(516)이나 몸체 부분(620)으로부터 버퍼나 데이터가 준비될 시간에 관한 정보를 추출하여 이를 타이밍 관리부(1010)와 제어부(1030)에 전달한다. 디바이스의 버퍼나 데이터가 준비될 시간에 관한 정보를 전달받은 타이밍 관리부(1010)는 이 시간 정보에 따라 NAK 핸드셰이크 패킷을 보내온 디바이스를 위한 채널 타임을 관리하여 디바이스들을 위한 채널 타임을 할당하고 이 정보를 관리 패킷 생성부(1020)에 전달하여 새로운 MMC 패킷을 생성하도록 한다. 제어부(1030)는 타이밍 관리부(1010), 관리 패킷 생성부(1020), 송수신부(1050), 및 응답 패킷 처리부(1040)의 동작을 제어한다.
지금까지 도 9 및 도 10의 각 구성요소는 소프트웨어(software) 또는, FPGA(field-programmable gate array)나 ASIC(application-specific integrated circuit)과 같은 하드웨어(hardware)를 의미할 수 있다. 그렇지만 상기 구성요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성요소들 안에서 제공되는 기능은 더 세분화된 구성요소에 의하여 구현될 수 있으며, 복수의 구성요소들을 합하여 특정한 기능을 수행하는 것으로 구현할 수도 있다. 뿐만 아니라, 상기 구성요소들은 시스템 내의 하나 또는 그 이상의 컴퓨터들을 실행시키도록 구현될 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
상기한 바와 같은 본 발명의 무선 유에스비 통신에서의 흐름 제어 방법과 이를 사용하는 무선 유에스비 디바이스 및 무선 유에스비 호스트에 따르면 호스트와 디바이스간의 데이터 전송이 더욱 빠르고 효율적으로 이루어질 수 있다는 효과가 있다.

Claims (29)

  1. 무선 USB 디바이스가 무선 USB 호스트와 통신 가능한 1 이상의 무선 USB(Universal Serial Bus) 디바이스를 위한 채널 타임 할당 정보 및 데이터 전송의 방향에 관한 정보를 포함하는 무선 USB 통신 관리 패킷을 수신하는 단계;
    상기 무선 USB 통신 관리 패킷을 해석하는 단계;
    상기 무선 USB 디바이스가 상기 무선 USB 호스트로부터 수신하는 데이터를 저장할 저장 공간이 부족하거나, 상기 무선 USB 호스트로 전송할 데이터가 준비되지 않은 경우, 상기 무선 USB 통신 관리 패킷에 대한 응답으로서 상기 저장 공간이 준비되거나 상기 무선 USB 호스트로 전송할 데이터가 준비될 시간에 관한 정보를 포함하는 응답 패킷을 생성하는 단계; 및
    상기 응답 패킷을 상기 무선 USB 호스트로 전송하는 단계를 포함하는 무선 USB 통신에서의 흐름 제어 방법
  2. 제 1항에 있어서,
    상기 저장 공간이 준비되거나 상기 무선 USB 호스트로 전송할 데이터가 준비될 시간에 관한 정보는
    현재 시간으로부터 상기 저장 공간이 준비되거나 상기 무선 USB 호스트로 전송할 데이터가 준비될 예상 시간까지의 간격인 무선 USB 통신에서의 흐름 제어 방법
  3. 제 1항에 있어서,
    상기 응답 패킷은
    상기 저장 공간이 준비되거나 상기 무선 USB 호스트로 전송할 데이터가 준비될 시간에 관한 정보를 포함하는 헤더 부분과 데이터 전송의 결과에 관한 정보를 포함하는 몸체 부분으로 구성되는 무선 USB 통신에서의 흐름 제어 방법
  4. 제 3항에 있어서,
    상기 헤더 부분은
    상기 무선 USB 디바이스의 특정 데이터 전송을 식별하는 번호, 패킷의 종류를 나타내는 패킷 식별자, 상기 데이터 전송의 방향에 관한 정보, 상기 무선 USB 통신 관리 패킷에 대한 응답 패킷임을 나타내는 코드, 및 상기 저장 공간이 준비되거나 상기 무선 USB 호스트로 전송할 데이터가 준비될 시간에 관한 정보를 포함하는 무선 USB 통신에서의 흐름 제어 방법
  5. 제 1항에 있어서,
    상기 응답 패킷은
    헤더 부분과 상기 저장 공간이 준비되거나 상기 무선 USB 호스트로 전송할 데이터가 준비될 시간에 관한 정보를 포함하는 몸체 부분으로 구성되는 무선 USB 통신에서의 흐름 제어 방법
  6. 제 5항에 있어서,
    상기 헤더 부분은
    상기 무선 USB 디바이스의 특정 데이터 전송을 식별하는 번호, 패킷의 종류를 나타내는 패킷 식별자, 상기 데이터 전송의 방향에 관한 정보, 및 상기 무선 USB 통신 관리 패킷에 대한 응답 패킷임을 나타내는 코드를 포함하는 무선 USB 통신에서의 흐름 제어 방법
  7. 제 1항에 있어서,
    상기 응답 패킷은
    상기 저장 공간이 준비되지 않았거나 상기 무선 USB 호스트로 전송할 데이터가 준비되지 않았음을 상기 무선 USB 호스트에 알리는 NAK 핸드셰이크 패킷인 무선 USB 통신에서의 흐름 제어 방법
  8. 무선 USB 호스트가 상기 무선 USB 호스트와 통신 가능한 1 이상의 무선 USB(Universal Serial Bus) 디바이스를 위한 채널 타임 할당 정보 및 데이터 전송의 방향에 관한 정보를 포함하는 제 1 무선 USB 통신 관리 패킷을 브로드캐스팅하는 단계;
    상기 1 이상의 무선 USB 디바이스 중 적어도 하나의 디바이스로부터 상기 무선 USB 호스트로부터 상기 무선 USB 디바이스로 전송되는 데이터를 위한 저장 공간이 준비될 시간에 관한 정보 또는 상기 무선 USB 디바이스로부터 상기 무선 USB 호스트로 전송될 데이터가 준비될 시간에 관한 정보 중 어느 하나를 포함하는 응답 패킷을 수신하는 단계;
    상기 응답 패킷으로부터 상기 저장 공간이 준비될 시간에 관한 정보 또는 상기 무선 USB 호스트로 전송될 데이터가 준비될 시간에 관한 정보를 추출하는 단계;
    상기 추출된 정보에 따라 상기 응답 패킷을 전송한 무선 USB 디바이스를 위한 채널 타임 할당 정보를 포함하는 제 2 무선 USB 통신 관리 패킷을 생성하는 단계; 및
    상기 무선 USB 호스트가 상기 제 2 무선 USB 통신 관리 패킷을 브로드캐스팅하는 단계를 포함하는 무선 USB 통신에서의 흐름 제어 방법
  9. 제 8항에 있어서,
    상기 저장 공간이 준비되거나 상기 무선 USB 호스트로 전송할 데이터가 준비될 시간에 관한 정보는
    현재 시간으로부터 상기 저장 공간이 준비되거나 상기 무선 USB 호스트로 전송할 데이터가 준비될 예상 시간까지의 간격인 무선 USB 통신에서의 흐름 제어 방법
  10. 제 8항에 있어서,
    상기 응답 패킷은
    상기 저장 공간이 준비되거나 상기 무선 USB 호스트로 전송할 데이터가 준비될 시간에 관한 정보를 포함하는 헤더 부분과 데이터 전송의 결과에 관한 정보를 포함하는 몸체 부분으로 구성되는 무선 USB 통신에서의 흐름 제어 방법
  11. 제 10항에 있어서,
    상기 헤더 부분은
    상기 무선 USB 디바이스의 특정 데이터 전송을 식별하는 번호, 패킷의 종류를 나타내는 패킷 식별자, 상기 데이터 전송의 방향에 관한 정보, 상기 무선 USB 통신 관리 패킷에 대한 응답 패킷임을 알리는 코드, 및 상기 저장 공간이 준비되거나 상기 무선 USB 호스트로 전송할 데이터가 준비될 시간에 관한 정보를 포함하는 무선 USB 통신에서의 흐름 제어 방법
  12. 제 8항에 있어서,
    상기 응답 패킷은
    헤더 부분과 상기 저장 공간이 준비되거나 상기 무선 USB 호스트로 전송할 데이터가 준비될 시간에 관한 정보를 포함하는 몸체 부분으로 구성되는 무선 USB 통신에서의 흐름 제어 방법
  13. 제 12항에 있어서,
    상기 헤더 부분은
    상기 무선 USB 디바이스의 특정 데이터 전송을 식별하는 번호, 패킷의 종류를 나타내는 패킷 식별자, 상기 데이터 전송의 방향에 관한 정보, 및 상기 무선 USB 통신 관리 패킷에 대한 응답 패킷임을 알리는 코드를 포함하는 무선 USB 통신에서의 흐름 제어 방법
  14. 제 8항에 있어서,
    상기 응답 패킷은
    상기 저장 공간이 준비되지 않았거나 상기 무선 USB 호스트로 전송할 데이터가 준비되지 않았음을 상기 무선 USB 호스트에 알리는 NAK 핸드셰이크 패킷인 무선 USB 통신에서의 흐름 제어 방법
  15. 무선 USB 호스트와 통신 가능한 1 이상의 무선 USB 디바이스를 위한 채널 타임 할당 정보 및 데이터 전송의 방향에 관한 정보를 포함하는 무선 USB 통신 관리 패킷을 수신하는 송수신부;
    상기 무선 USB 통신 관리 패킷을 해석하는 관리 패킷 처리부;
    상기 데이터 전송의 방향에 관한 정보가 무선 USB 호스트로부터 상기 무선 USB 디바이스로의 데이터 전송을 나타내는 경우 상기 무선 USB 호스트로부터 전송되는 데이터를 저장할 저장 공간이 있는지 여부 또는 상기 데이터 전송의 방향에 관한 정보가 상기 무선 USB 디바이스로부터 상기 무선 USB 호스트로의 데이터 전송을 나타내는 경우 상기 무선 USB 호스트로 전송할 데이터가 준비되었는지 여부를 파악하는 데이터 전송(data transfer) 상태 관리부;
    상기 무선 USB 호스트로부터 전송되는 데이터를 저장할 저장 공간이 없거나 상기 무선 USB 호스트로 전송할 데이터가 준비되지 않은 경우 상기 저장 공간 또는 상기 무선 USB 호스트로 전송할 데이터가 준비될 예상 시간을 예측하는 제어부; 및
    상기 무선 USB 통신 관리 패킷에 대한 응답으로서 상기 예상 시간에 관한 정보를 포함하는 응답 패킷을 생성하는 응답 패킷 생성부를 포함하는 무선 USB 디바이스
  16. 제 15항에 있어서,
    상기 저장 공간이 준비되거나 상기 무선 USB 호스트로 전송할 데이터가 준비될 시간에 관한 정보는
    현재 시간으로부터 상기 저장 공간이 준비되거나 상기 무선 USB 호스트로 전송할 데이터가 준비될 예상 시간까지의 간격인 무선 USB 디바이스
  17. 제 15항에 있어서,
    상기 응답 패킷은
    상기 저장 공간이 준비되거나 상기 무선 USB 호스트로 전송할 데이터가 준비될 시간에 관한 정보를 포함하는 헤더 부분과 데이터 전송의 결과에 관한 정보를 포함하는 몸체 부분으로 구성되는 무선 USB 디바이스
  18. 제 17항에 있어서,
    상기 헤더 부분은
    상기 무선 USB 디바이스의 특정 데이터 전송을 식별하는 번호, 패킷의 종류를 나타내는 패킷 식별자, 상기 데이터 전송의 방향에 관한 정보, 상기 무선 USB 통신 관리 패킷에 대한 응답 패킷임을 나타내는 코드, 및 상기 저장 공간이 준비되거나 상 기 무선 USB 호스트로 전송할 데이터가 준비될 시간에 관한 정보를 포함하는 무선 USB 디바이스
  19. 제 15항에 있어서,
    상기 응답 패킷은
    헤더 부분과 상기 저장 공간이 준비되거나 상기 무선 USB 호스트로 전송할 데이터가 준비될 시간에 관한 정보를 포함하는 몸체 부분으로 구성되는 무선 USB 디바이스
  20. 제 19항에 있어서,
    상기 헤더 부분은
    상기 무선 USB 디바이스의 특정 데이터 전송을 식별하는 번호, 패킷의 종류를 나타내는 패킷 식별자, 상기 데이터 전송의 방향에 관한 정보, 및 상기 무선 USB 통신 관리 패킷에 대한 응답 패킷임을 나타내는 코드를 포함하는 무선 USB 디바이스
  21. 제 15항에 있어서,
    상기 응답 패킷은
    상기 저장 공간이 준비되지 않았거나 상기 무선 USB 호스트로 전송할 데이터가 준비되지 않았음을 상기 무선 USB 호스트에 알리는 NAK 핸드셰이크 패킷인 무선 USB 디바이스
  22. 무선 USB 디바이스로부터 무선 USB 호스트에서 상기 무선 USB 디바이스로 전송되는 데이터를 위한 저장 공간이 준비될 시간에 관한 정보 또는 상기 무선 USB 디바이스로부터 상기 무선 USB 호스트로 전송될 데이터가 준비될 시간에 관한 정보 중 어느 하나를 포함하는 응답 패킷을 수신하는 송수신부;
    상기 응답 패킷을 해석하여 상기 저장 공간이 준비될 시간에 관한 정보 또는 상기 데이터가 준비될 시간에 관한 정보를 추출하는 응답 패킷 처리부;
    상기 추출된 시간 정보를 반영하여 상기 응답 패킷을 전송한 무선 USB 디바이스를 위한 채널 타임을 할당하는 타이밍 관리부;
    상기 무선 USB 디바이스를 위한 채널 타임 할당 정보 및 데이터 전송의 방향에 관한 정보를 포함하는 무선 USB 통신 관리 패킷을 생성하는 관리 패킷 생성부; 및
    상기 송수신부, 응답 패킷 처리부, 타이밍 관리부 및 관리 패킷 생성부의 동작을 제어하는 제어부를 포함하는 무선 USB 호스트
  23. 제 22항에 있어서,
    상기 저장 공간이 준비되거나 상기 무선 USB 호스트로 전송할 데이터가 준비될 시간에 관한 정보는
    현재 시간으로부터 상기 저장 공간이 준비되거나 상기 무선 USB 호스트로 전송할 데이터가 준비될 예상 시간까지의 간격인 무선 USB 호스트
  24. 제 22항에 있어서,
    상기 응답 패킷은
    상기 저장 공간이 준비되거나 상기 무선 USB 호스트로 전송할 데이터가 준비될 시간에 관한 정보를 포함하는 헤더 부분과 데이터 전송의 결과에 관한 정보를 포함하는 몸체 부분으로 구성되는 무선 USB 호스트
  25. 제 24항에 있어서,
    상기 헤더 부분은
    상기 무선 USB 디바이스의 특정 데이터 전송을 식별하는 번호, 패킷의 종류를 나타내는 패킷 식별자, 상기 데이터 전송의 방향에 관한 정보, 상기 무선 USB 통신 관리 패킷에 대한 응답 패킷임을 나타내는 코드, 및 상기 저장 공간이 준비되거나 상기 무선 USB 호스트로 전송할 데이터가 준비될 시간에 관한 정보를 포함하는 무선 USB 호스트
  26. 제 22항에 있어서,
    상기 응답 패킷은
    헤더 부분과 상기 저장 공간이 준비되거나 상기 무선 USB 호스트로 전송할 데이터가 준비될 시간에 관한 정보를 포함하는 몸체 부분으로 구성되는 무선 USB 호스트
  27. 제 26항에 있어서,
    상기 헤더 부분은
    상기 무선 USB 디바이스의 특정 데이터 전송을 식별하는 번호, 패킷의 종류를 나타내는 패킷 식별자, 상기 데이터 전송의 방향에 관한 정보, 및 상기 무선 USB 통신 관리 패킷에 대한 응답 패킷임을 나타내는 코드를 포함하는 무선 USB 호스트
  28. 제 22항에 있어서,
    상기 응답 패킷은
    상기 저장 공간이 준비되지 않았거나 상기 무선 USB 호스트로 전송할 데이터가 준비되지 않았음을 상기 무선 USB 호스트에 알리는 NAK 핸드셰이크 패킷인 무선 USB 호스트
  29. 제 1 항 내지 제 14 항 중 어느 한 항의 방법을 수행하기 위한 컴퓨터로 읽을수 있는 프로그램을 기록한 기록매체
KR1020050072768A 2005-08-09 2005-08-09 무선 유에스비 통신에서의 흐름 제어 방법 및 이를사용하는 무선 유에스비 디바이스 및 무선 유에스비 호스트 KR100703787B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020050072768A KR100703787B1 (ko) 2005-08-09 2005-08-09 무선 유에스비 통신에서의 흐름 제어 방법 및 이를사용하는 무선 유에스비 디바이스 및 무선 유에스비 호스트
US11/487,305 US20070038784A1 (en) 2005-08-09 2006-07-17 Flow control method in wireless USB communication, and wireless USB device and wireless USB host using the same
CNA2006800287359A CN101238686A (zh) 2005-08-09 2006-08-02 无线usb通信中的流程控制方法、使用该方法的无线usb装置及无线usb主机
PCT/KR2006/003042 WO2007018365A1 (en) 2005-08-09 2006-08-02 Flow control method in wireless usb com¬ munication, and wireless usb device and wireless usb host using the same
GB0801568A GB2442176A (en) 2005-08-09 2006-08-02 Flow control method in wireless USB communication, and wireless USB device and wireless USB host using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050072768A KR100703787B1 (ko) 2005-08-09 2005-08-09 무선 유에스비 통신에서의 흐름 제어 방법 및 이를사용하는 무선 유에스비 디바이스 및 무선 유에스비 호스트

Publications (2)

Publication Number Publication Date
KR20070018270A KR20070018270A (ko) 2007-02-14
KR100703787B1 true KR100703787B1 (ko) 2007-04-06

Family

ID=37727517

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050072768A KR100703787B1 (ko) 2005-08-09 2005-08-09 무선 유에스비 통신에서의 흐름 제어 방법 및 이를사용하는 무선 유에스비 디바이스 및 무선 유에스비 호스트

Country Status (5)

Country Link
US (1) US20070038784A1 (ko)
KR (1) KR100703787B1 (ko)
CN (1) CN101238686A (ko)
GB (1) GB2442176A (ko)
WO (1) WO2007018365A1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4810379B2 (ja) * 2006-09-22 2011-11-09 キヤノン株式会社 通信システム、端末局、通信方法及びプログラム
KR101092112B1 (ko) * 2006-12-22 2011-12-12 콸콤 인코포레이티드 향상된 무선 usb 프로토콜 및 허브
US8904408B1 (en) * 2007-03-15 2014-12-02 Intel Corporation Pre-fetching data and overlapping data transfers in a HWA-DWA system
WO2008113081A1 (en) * 2007-03-15 2008-09-18 Wionics Research Virtual pipe for wire adapter communications
JP5018877B2 (ja) * 2007-03-20 2012-09-05 富士通株式会社 無線通信装置、電子機器及び無線通信方法
US20090006676A1 (en) * 2007-06-29 2009-01-01 Intel Corporation Method for Scheduling a Device Notification Time Slot for a Wireless USB System
US7584313B1 (en) * 2007-07-25 2009-09-01 Wisair Ltd Method and system for connecting a wireless USB host and a wired USB device
US7853739B1 (en) * 2007-11-19 2010-12-14 Wisair Ltd. Method and system for transmitting USB communication
KR101493776B1 (ko) 2007-12-07 2015-02-16 삼성전자주식회사 전력 상태에 따른 무선 메모리 디바이스 구동 방법
US20100198999A1 (en) * 2009-02-05 2010-08-05 Qualcomm Incorporated Method and system for wireless usb transfer of isochronous data using bulk data transfer type
US8416803B1 (en) 2008-02-14 2013-04-09 Wilocity, Ltd. Low latency interconnect bus protocol
KR100886129B1 (ko) 2008-07-07 2009-02-27 주식회사 유비콘테크놀로지 무선 usb 디바이스의 데이터 수신 장치 및 그 방법
JP2010020408A (ja) * 2008-07-08 2010-01-28 Ricoh Co Ltd ワイヤレスusbデバイス
US9477615B1 (en) * 2008-08-26 2016-10-25 Qualcomm Incorporated Bi-directional low latency bus mode
KR101472468B1 (ko) 2008-12-11 2014-12-15 삼성전자주식회사 Wusb 호스트 및 그의 채널 타임 할당 방법
JP2011065630A (ja) * 2009-08-20 2011-03-31 Renesas Electronics Corp データ転送制御装置及びデータ転送制御方法
KR101298593B1 (ko) * 2009-12-21 2013-08-22 한국전자통신연구원 Usb-무선 랜(lan) 시스템에서 usb 통신 동기화를 통한 데이터 송신 장치 및 방법
KR102153543B1 (ko) 2013-10-31 2020-09-08 삼성전자주식회사 무선 환경에서 usb 통신을 위한 버퍼 관리 방법 및 장치
KR102341149B1 (ko) * 2015-04-28 2021-12-20 삼성전자주식회사 전자 장치 운용 방법 및 이를 지원하는 전자 장치
US10339093B2 (en) 2016-03-29 2019-07-02 Intel Corporation USB interface using repeaters with guest protocol support
CN114244485B (zh) * 2021-12-03 2023-06-09 威创集团股份有限公司 一种usb信号远距离传输时的数据管理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990023310A (ko) * 1997-08-07 1999-03-25 포만 제프리 엘 무선 장치 및 무선 장치 간에서의 접속 확립 방법
JP2000286812A (ja) 1999-03-30 2000-10-13 Alps Electric Co Ltd Tdma/tdd方式データ伝送機器
WO2001031459A1 (en) 1999-10-22 2001-05-03 Aerwire Corporation Wireless universal serial bus system
WO2003019396A1 (en) 2001-08-22 2003-03-06 General Atomics Wireless device attachment and detachment system, apparatus and method
KR20040104242A (ko) * 2003-06-03 2004-12-10 삼성전자주식회사 Usb 트랜잭션을 무선 pan 상에서 전송하는 장치 및방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100677144B1 (ko) * 2004-10-20 2007-02-02 삼성전자주식회사 Wusb 버스를 경유하여 데이터를 송수신하는 방법 및장치
KR100647906B1 (ko) * 2005-09-15 2006-11-23 한국전자통신연구원 초광대역방식의 무선 usb 호스트 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990023310A (ko) * 1997-08-07 1999-03-25 포만 제프리 엘 무선 장치 및 무선 장치 간에서의 접속 확립 방법
JP2000286812A (ja) 1999-03-30 2000-10-13 Alps Electric Co Ltd Tdma/tdd方式データ伝送機器
WO2001031459A1 (en) 1999-10-22 2001-05-03 Aerwire Corporation Wireless universal serial bus system
WO2003019396A1 (en) 2001-08-22 2003-03-06 General Atomics Wireless device attachment and detachment system, apparatus and method
KR20040104242A (ko) * 2003-06-03 2004-12-10 삼성전자주식회사 Usb 트랜잭션을 무선 pan 상에서 전송하는 장치 및방법

Also Published As

Publication number Publication date
CN101238686A (zh) 2008-08-06
GB0801568D0 (en) 2008-03-05
KR20070018270A (ko) 2007-02-14
WO2007018365A1 (en) 2007-02-15
GB2442176A (en) 2008-03-26
US20070038784A1 (en) 2007-02-15

Similar Documents

Publication Publication Date Title
KR100703787B1 (ko) 무선 유에스비 통신에서의 흐름 제어 방법 및 이를사용하는 무선 유에스비 디바이스 및 무선 유에스비 호스트
US7359398B2 (en) Wireless communication system, wireless communication device and method, and computer program
TW563308B (en) A system and method of repetitive transmission of frames for frame-based communications
US6728244B1 (en) Communication node for enabling interworking of network using request/response based data transfer and network using non-request/response based data transfer
JP3993893B2 (ja) バスを介したデータ転送及びバス管理に用いるアプリケーションプログラミングインターフェイス
AU2005222111B2 (en) System and method to enable WUSB applications in a distributed UWB MAC
US8689272B2 (en) Devices, systems, and methods for managing multimedia traffic across a common wireless communication network
US7313153B2 (en) Wireless communication system, wireless communication control apparatus, wireless communication control method, wireless communication apparatus, wireless communication method, and storage medium
KR100654465B1 (ko) 무선 중계 장치 및 방법
US11586392B2 (en) Multi-stream SSD QoS management
JP3872483B2 (ja) 無線pan上のアプリケーションにチャンネル時間を割り当てる装置及び方法
KR19990072861A (ko) 데이터통신시스템,데이터통신방법,데이터통신장치및디지털인터페이스
JP2000172457A5 (ja) 通信制御方法、機器、ホスト装置、周辺装置及び制御方法
US20080320180A1 (en) USB host, USB slave, wireless communication system, and data transfer method
EP1881648A1 (en) Optimized scheduled method using ordered grants from a central controller
JP5142283B2 (ja) 無線パケット通信方法及びシステム
US20080294810A1 (en) Response control method and device
WO2005029778A1 (ja) 通信制御回路および通信制御方法
CN109857686B (zh) 一种dma数据同步传输变异步传输的方法
KR20110001628A (ko) 제어 패킷 수신 장치 및 방법
CN117320163A (zh) 一种数据传输方法和设备
JPH11331230A (ja) イサーネット(登録商標)スイッチ
JPH11177589A (ja) データ転送装置およびデータ転送装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2004147241A (ja) デマンドアサインメント方法

Legal Events

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