KR100881538B1 - 블루투스 논리적 링크 제어 및 적응 프로토콜 채널을구성하는 방법 - Google Patents

블루투스 논리적 링크 제어 및 적응 프로토콜 채널을구성하는 방법 Download PDF

Info

Publication number
KR100881538B1
KR100881538B1 KR1020030042390A KR20030042390A KR100881538B1 KR 100881538 B1 KR100881538 B1 KR 100881538B1 KR 1020030042390 A KR1020030042390 A KR 1020030042390A KR 20030042390 A KR20030042390 A KR 20030042390A KR 100881538 B1 KR100881538 B1 KR 100881538B1
Authority
KR
South Korea
Prior art keywords
node
remote
parameters
l2cap
channel
Prior art date
Application number
KR1020030042390A
Other languages
English (en)
Other versions
KR20040002766A (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 KR20040002766A publication Critical patent/KR20040002766A/ko
Application granted granted Critical
Publication of KR100881538B1 publication Critical patent/KR100881538B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/18Negotiating wireless communication parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

노드에 대한 L2CAP 채널 생성/구성을 간략화하는 기술이 개시된다. 본 방법은 노드가 L2CAP 채널 접속 생성 및 관리 프로세스에 어떻게 참여하는지를 판정하도록 한다. 노드가 지정할 수 있는 참여 레벨에는 3가지가 있다. 3가지의 레벨은 참여하지 않음 레벨, 최소 참여 레벨, 및 전체 참여 레벨이다. 참여하지 않음 레벨에서는, 원격 노드가 모든 노드 지정 파라미터를 수락하지 않으면, 채널이 드롭된다. 최소 참여 레벨에서는, 원격 노드가 모든 노드 지정 파라미터를 수락하지 않으면 채널이 드롭되고 접속이 원격 차단 또는 HCI 링크 손실에 의해 차단되었을때 노드에게 통지된다. 전체 참여 레벨에서는, 노드가 채널 생성/구성에 완전히 참여한다. 노드는, 파라미터를 승인하거나 거절하기 위하여 호출되는 기능 포인터를 제공한다. 파라미터가 수락될 수 없으면, 접속은 차단된다.
논리적 링크 제어 및 적응 프로토콜 채널, 참여 레벨

Description

블루투스 논리적 링크 제어 및 적응 프로토콜 채널을 구성하는 방법{METHOD TO CONFIGURE A BLUETOOTH LOGICAL LINK CONTROL AND ADAPTATION PROTOCOL CHANNEL}
도 1은 본 발명이 상주하는 예시적인 컴퓨터 시스템을 일반적으로 나타내는 블럭도.
도 2는 본 발명이 동작하는 블루투스 프로토콜 스택의 블럭도.
도 3은 L2CAP 채널의 접속 및 생성 프로세스를 나타내는 플로우챠트.
도 4a는 선택된 참여 레벨에서 L2CAP 채널의 생성 및 관리에 드라이버가 참여할 있도록 하는 프로세스의 방법을 설명하는 플로우챠트의 제 1 부분.
도 4b는 선택된 참여 레벨에서 L2CAP 채널의 생성 및 관리에 드라이버가 참여할 있도록 하는 프로세스를 설명하는 플로우챠트의 제 2 부분.
도 4c는 선택된 참여 레벨에서 L2CAP 채널의 생성 및 관리에 드라이버가 참여할 있도록 하는 프로세스를 설명하는 플로우챠트의 나머지 부분.
* 도면의 주요부분에 대한 부호의 설명
110: 컴퓨터 120: 프로세싱 유닛
121: 시스템 버스 130: 시스템 메모리
131: 판독 전용 메모리 132: 랜덤 액세스 메모리
133: 기본 입출력 시스템 134: 운영 체계
135: 애플리케이션 프로그램 136: 다른 프로그램 모듈
137: 프로그램 데이터 141: 하드 디스크 드라이브
151: 자기 디스크 드라이브 155: 광학 디스크 드라이브
본 발명은 일반적으로 블루투스(Bluetooth) 장치간의 통신에 관한 것으로, 특히, 논리적 링크 및 적응 프로토콜 채널의 구성에 관한 것이다.
현재, 시장에는 많은 수의 무선 기술이 있다. 근거리 무선 기술의 표준 중의 하나가 블루투스라고 지칭된다. 블루투스는 단거리, 지점 대 다지점 보이스 및 데이터 전송을 위한 무선 주파수(RF) 규격이다. 블루투스는 고체, 비금속 물체를 통해 전송할 수 있다. 그 공칭 링크 범위는 10㎝로부터 10m이지만, 그 범위는 전송 전력을 증가시킴으로써 100m까지 확장될 수 있다. 이것은 저비용 및 단거리 라디오 링크에 기초하며, 정지 및 이동 통신 환경을 위한 애드 혹(ad hoc) 접속을 용이하게 한다.
블루투스 무선 기술은 사용자가 이동 전화 및 데스크탑 및 노트북 컴퓨터 등의 통신 장치간의 접속을 행할 수 있도록 한다. 이들 환경에서 서비스를 찾아 통신하는 것은 이동 컴퓨팅 장치의 급증에 의한 무선 기술의 계속적인 성장 및 무선 기술 및 컴퓨터 기술의 병합에 의해 점차 중요하게 되어 왔다. 이들 서비스는 프린팅, 팩스, 페이징 등의 기본 서비스, 비디오 회의 및 원격지간 회의 등의 좀 더 복잡한 서비스, 및 서비스 제공자가 제공할 수 있는 임의의 다른 유형의 서비스를 포함할 수 있다.
블루투스 SIG(Special Interest Group)는 많은 장치간의 상호 운용을 확보하는 프로토콜을 지정한다. 이들 프로토콜중의 하나가 논리적 링크 제어 및 적응 프로토콜(L2CAP; Logical Link Control and Adaptation Protocol)이다. L2CAP는 다수 프로토콜 및 애플리케이션이 단일 블루투스 RF 접속을 통해 공존하도록 한다. L2CAP는 접속 지향 및 비접속 데이터 서비스를 프로토콜 멀티플렉싱 능력, 패킷 세그먼트 및 리어셈블리(reassembly) 동작, 및 서비스 정보의 품질 통지와 함께 상위 레벨 프로토콜에 제공한다.
L2CAP 채널을 구성하는 것은 꽤 성가시고 에러가 발생하기 쉬운 2개의 피어(peer) L2CAP 엔티티(entity)간의 반복 협상 프로세스를 포함한다. 협상 프로세스는 피어중의 하나가 다른 피어에게 구성 요구를 전송할때 시작한다. 구성 요구는 접속 파라미터를 위한 요구 피어 소망 세팅을 포함한다. 수신 피어는 구성 응답으로 구성 요구에 응답한다. 응답은 세팅이 수락되었다는 것과 세팅이 거절되었다는 것을 요구 피어에게 알린다. 세팅이 거절되면, 수신 피어가 수락할 세팅이 응답에 포함된다. 요구 피어는 수신 피어가 수락하는 세팅과 거절하는 세팅이 무엇인지를 판정한다. 요구 피어는 수락된 세팅에 대한 파라미터의 선택과 함께 또다른 구성 요구를 전송한다. 이 구성 프로세스는 모든 세팅이 협상되거나 피어중의 하나가 채널을 드롭할때까지 계속된다.
채널이 확립되면, 어느 하나의 피어가 채널을 재구성할 수 있다. 이것은 피어가 데이터의 전송 중지를 요구하고 (즉, 판독 및 기입 중지) 채널을 구성하는 데 사용되는 동일 프로세스를 사용하여 채널 세팅을 재협상한다. 구성 및 재구성 프로세스는 피어가 채널의 상태를 유지하고 에러를 처리하고 반복 협상을 처리하도록 요구한다. 결과적으로, L2CAP 채널을 이용하는 각 노드의 복잡성(예를 들어, 애플리케이션, 오브젝트, 모듈 등)은 코드의 증가에 따라 증가하고, 노드의 신뢰성은 저하된다.
본 발명은 노드가 원격 장치와의 L2CAP 채널 접속 생성 및 관리 프로세스에 어떻게 참여하는지를 판정하도록 함으로써 L2CAP 채널 구성 프로세스를 간략화한다. 노드가 지정할 수 있는 참여 레벨에는 3개의 레벨이 있다. 3개의 레벨은 참여 없음, 최소 참여, 및 전체 참여이다. L2CAP 채널은 선택된 참여 레벨에 따라 구현된다.
각 레벨에서, 노드는 대응하는 노드의 예상에 의존하여 접속이 발생하는 또는 발생하지 않는 특정 파라미터를 설정할 수 있다. 참여하지 않음 레벨에서, 노드는 수락가능한 최소 및 최대 전송 유닛, 최소 및 최대 플러쉬 타임아웃, Q.0.S(Quality Of Service), 및 링크 타임아웃을 지정할 수 있다. 원격 노드가 임의의 다른 구성 파라미터에 대하여 L2CAP 접속을 거절하거나 구성 요구에서 Q.O.S를 지정하면, L2CAP 접속은 종료한다. L2CAP 채널은 또한 원격 노드가 L2CAP 채널 을 재구성하기를 시도하면 종료한다.
최소 참여 레벨에서, 노드는 참여하지 않음 레벨에서와 같이 동일한 파라미터를 지정한다. L2CAP 채널은 참여하지 않음 레벨과 동일한 이유로 종료된다. 노드는 원격 단절 또는 HCI 링크의 갑작스런 손실에 의한 단절에 대하여 호출된 기능 포인터를 제공한다. L2CAP 채널은 L2CAP 채널이 개방된 후 구성 요구가 원격 노드로부터 수신되면 종료한다.
전체 참여 레벨에서, 노드는 참여하지 않음 레벨과 동일한 파라미터와 노드가 필요로 하는 임의의 추가의 파라미터를 지정한다. 노드는 구성 단계동안 호출된 기능 포인터를 제공하여 많은 단계에서 구성 파라미터를 승인 또는 거절한다. 원격 노드로부터의 재구성 요구가 수락되고 노드가 재구성 프로세스의 기능 포인터를 통해 참여된다. 노드 기능 포인터는 구성 응답 또는 원격 구성 요구 중의 하나가 QOS 파라미터 및/또는 주문형(custom) 파라미터를 포함할때 호출된다. 언제라도 구성 파라미터가 수락될 수 없으면, 노드는 실패 코드를 발생시키고 접속이 종료한다.
본 발명의 추가의 특징의 이점은 첨부된 도면을 참조하여 진행되는 예시적인 실시예의 상세한 설명으로부터 명백해질 것이다.
첨부된 청구항은 특수성을 갖는 본원 발명의 특징을 설명하는 것이지만, 목적 및 이점와 함께 본 발명은 첨부된 도면과 결합한 다음의 상세한 설명으로부터 이해될 것이다.
상술한 바와 같이, 논리적 링크 제어 및 적응 프로토콜(L2CAP) 채널을 접속하고 구성하는 것은 꽤 성가시고 에러가 발생하기 쉬운 2개의 L2CAP 엔티티간의 반 복 협상 프로세스를 포함한다. 본 발명은 드라이버/장치가 원하는 접속만을 요구하고 취하도록 하여 복잡한 협상을 최소화하거나 제거함으로써, L2CAP 접속 및 구성 프로세스를 간략화시킨다. 이것은 드라이브/장치의 블루투스 능력을 병합하는 개발자에게 필요한 코드를 간략화시키고 에러 발생 가능성을 감소시킨다.
도면에서, 동일 참조 번호는 동일한 요소를 가리키며, 본 발명은 적절한 컴퓨팅 환경에서 구현되는 것으로 서술된다. 필요로 하지 않지만, 본 발명은 개인용 컴퓨터에 의해 실행되는 프로그램 모듈 등의 컴퓨터 실행가능 명령의 일반적인 환경에서 기재될 것이다. 일반적으로, 프로그램 모듈은, 특정 태스크를 수행하거나 특정 요약 데이터 유형을 구현하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한다. 또한, 당업자는 휴대용 장치, 무선 장치, 멀티프로세서 시스템, 마이크로프로세서 베이스드 또는 프로그래머블 소비자 전자장치, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함하는 다른 컴퓨터 시스템 구성으로 실행될 수 있다. 본 발명은 또한 태스크가 통신 네트워크를 통해 링크되는 원격 프로세싱 장치에 의해 수행되는 분배 컴퓨팅 환경에서 실행될 수 있다. 분배 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 둘다에 위치할 수 있다.
도 1은 본 발명이 구현될 수 있는 적절한 컴퓨팅 시스템 환경(100)의 일예를 나타낸다. 컴퓨팅 시스템 환경(100)은 적절한 컴퓨팅 환경의 일예일 뿐이며, 본 발명의 사용 또는 기능의 범위에 대하여 임의의 한정을 제안하기 것이 아니다. 컴퓨팅 환경(100)은 예시적인 운영 환경(100)에 도시된 컴포넌트들 중의 어느 하나 또는 조합에 관한 임의의 의존성 및 필수사항을 갖는 것으로 해석되어서는 안된다.
본 발명은 다른 많은 범용 또는 특수 목적 컴퓨팅 시스템 환경 또는 구성으로 운영된다. 본 발명과 함께 적절하게 사용될 수 있는 공지된 컴퓨팅 시스템, 환경, 및/또는 구성의 예는 개인용 컴퓨터, 서버 컴퓨터, 휴대용 또는 랩탑 장치, 무선 장치, 멀티프로세서 시스템, 마이크로프로세서 베이스드 시스템, 가입자 신호 변환 장치(set top box), 프로그래머블 소비자 전자장치, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상술한 시스템 또는 장치들 중의 임의의 것을 포함하는 분배 컴퓨팅 환경을 포함하지만, 이에 한정되지 않는다.
본 발명은 개인용 컴퓨터에 의해 실행되는 프로그램 모듈 등의 컴퓨터 실행가능 명령의 일반적인 환경에서 기재될 수 있다. 일반적으로, 프로그램 모듈은, 특정 태스크를 수행하고 특정 요약 데이터 유형을 구현하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한다. 본 발명은 또한 태스크가 통신 네트워크를 통해 링크되는 원격 프로세싱 장치에 의해 수행되는 분배 컴퓨팅 환경에서 실행될 수 있다. 분배 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 포함하는 로컬 및 원격 메모리 저장 매체에 위치할 수 있다.
도 1을 참조하면, 본 발명을 구현하는 예시적인 시스템은 컴퓨터(110)의 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(110)의 컴포넌트는 프로세싱 유닛(120), 시스템 메모리(130), 및 시스템 메모리를 포함하는 다양한 시스템 컴포넌트를 프로세싱 유닛(120)에 결합시키는 시스템 버스(121)를 포함할 수 있지만, 이에 한정되는 것은 아니다. 시스템 버스(121)는 다양한 버스 아키텍처중의 임의 의 것을 사용하는 메모리 버스 또는 메모리 컨트롤러, 주변 버스, 및 로컬 버스를 포함하는 몇가지 유형의 버스 구조 중의 임의의 것일 수 있다. 예로서, 이러한 아키텍처는 ISA (Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Elelctronics Standards Associate) 로컬 버스, 및 메자닌(Mezzanine) 버스로 알려진 PCI(Peripheral Component Interconnect) 버스를 포함하며, 이에 한정되는 것은 아니다.
컴퓨터(110)는 일반적으로 많은 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 판독가능 매체는 컴퓨터(110)에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있으며, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 둘다 포함한다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있으며, 이에 한정되지는 않는다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터 등의 정보를 저장하는 임의의 방법 및 기술에서 구현되는 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 둘다 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래쉬 메모리 또는 다른 메모리 기술, CD-ROM, DVD(Digital versatile disk) 또는 다른 광학 디스크 스토리지, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 저장장치, 또는 소망의 정보를 저장하는 데 사용될 수 있고 컴퓨터(110)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하며, 이에 한정되지는 않는다. 통신 매체는 일반적으로 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터를 반송파 또는 다른 전송 메카니즘 등의 변조된 데이터 신호로 구현하고 임의의 정보 전달 매체를 포함한다. 용어 "변조된 데이터 신호"는 신호내의 정보를 인코딩하는 것과 같은 방법으로 설정되거나 변경된 그 특성중의 하나이상의 특성을 갖는 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 네트워크 등의 유선 매체, 음향, RF, 적외선 및 다른 무선 매체 등의 무선 매체를 포함한다. 상술한 것중 임의의 조합이 컴퓨터 판독가능 매체의 범위내에 포함되어야 한다.
시스템 메모리(130)는 판독 전용 메모리(ROM; 131) 및 랜덤 액세스 메모리(RAM; 132) 등의 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 시동하는 동안 컴퓨터(110)내의 소자간의 정보 전달을 돕는 기본 루틴을 포함하는 기본 입출력 시스템(BIOS; 133)은 일반적으로 ROM(131)내에 저장된다. RAM(132)은, 일반적으로 프로세싱 유닛(120)으로 즉시 액세스될 수 있고 및/또는 프로세싱 유닛에 의해 즉시 동작하는 데이터 및/또는 프로그램 모듈을 포함한다. 예로서, 도 1은 운영 체계(134), 애플리케이션 프로그램(135), 다른 프로그램 모듈(136), 및 프로그램 데이터(137)를 나타내지만, 이에 한정되지 않는다.
컴퓨터(110)는 또한 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 예로서, 도 1 은 비분리형 비휘발성 자기 매체로부터 판독하고 그 자기 매체로 기입하는 하드 디스크 드라이브(141), 분리형 비휘발성 자기 디스크(152)로부터 판독하고 그 자기 디스크로 기입하는 자기 디스크 드라이브(151), CD ROM 또는 다른 광학 매체 등의 분리형 비휘발성 광학 디스크(156)으로부터 판독하고 그 광학 디스크에 기입하는 광학 디스크 드라이브(155)를 도시한다. 예시적인 운영 환경에서 사용될 수 있는 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체는 자기 테이프 카세트, 플래쉬 메모리 카드, DVD, 디지털 비디오 테이프, 고체 상태 RAM, 고체 상태 ROM 등을 포함하지만, 이에 한정되지 않는다. 하드 디스크 드라이브(141)는 일반적으로 인터페이스(140) 등의 비분리형 메모리 인터페이스를 통해 시스템 버스(121)에 접속되고, 자기 디스크 드라이브(151) 및 광학 디스크 드라이브(155)는 일반적으로 인터페이스(150) 등의 분리형 메모리 인터페이스에 의해 시스템 버스(121)에 접속된다.
상술하고 도 1에 도시된 드라이브 및 그 관련된 컴퓨터 저장 매체는 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 및 컴퓨터(110)용 다른 데이터의 저장을 제공한다. 도 1에서, 예를 들어, 하드 디스크 드라이브(141)는 운영 체계(144), 애플리케이션 프로그램(145), 다른 프로그램 모듈(146), 및 프로그램 데이터(147)를 저장하는 것으로 도시된다. 이들 컴포넌트는 운영 체계(134), 애플리케이션 프로그램(135), 다른 프로그램 모듈(136), 및 프로그램 데이터(137)과 동일하거나 다를 수 있다. 운영 체계(144), 애플리케이션 프로그램(145), 다른 프로그램 모듈(146), 및 프로그램 데이터(147)가 최소한 다른 동등물일 수 있다는 것을 나타내도록 다른 번호를 부여하였다. 사용자는 키보드(162) 및 공통적으로 마우스, 트랙볼, 또는 터치 패드라 지칭되는 포인트 장치(161) 등의 입력 장치를 통해 컴퓨터에 명령 및 정보를 입력할 수 있다. 다른 입력 장치(도시하지 않음)는 마이크로폰, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 및 다른 입력 장치는 종종 시스템 버스에 결합된 사용자 입력 인터페이스(160)를 통해 프로세싱 유닛(120)에 접속되지만, 패럴렐 포트, 게임 포트, 또는 유니버설 시리얼 버스(USB) 등의 다른 인터페이스 및 버스 구조에 의해 접속될 수 있다. 모니터(191) 또는 다른 유형의 디스플레이 장치는 또한 비디오 인터페이스(190) 등의 인터페이스를 통해 시스템 버스(121)에 접속된다. 모니터에 더하여, 컴퓨터는 또한 출력 주변 인터페이스(195)를 통해 접속될 수 있는 스피커(197) 및 프린터(196) 등의 다른 주변 출력 장치를 포함할 수 있다.
컴퓨터(110)는 원격 컴퓨터(180) 등의 하나이상의 원격 컴퓨터로의 논리적 접속을 이용하는 네크워크된 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 또다른 개인용 컴퓨터, 서버, 라우터(router), 네트워크 PC, 피어 장치 또는 다른 공통 네트워크 노드일 수 있으며, 도 1에는 메모리 저장 장치(181)만이 도시되어 있지만, 개인용 컴퓨터(110)에 관하여 상술한 많은 또는 모든 소자를 포함할 수 있다. 도 1에 도시된 논리적 접속은 근거리 통신망(LAN; 171) 및 원거리 통신망(WAN; 173)을 포함하지만, 또한 다른 네트워크를 포함할 수도 있다. 이러한 네트워크 환경은 사무실, 기업 광역 컴퓨터 네트워크, 인트라넷, 및 인터넷에서 공통적으로 사용된다.
LAN 네트워크 환경에서 사용될때, 개인용 컴퓨터(110)는 네트워크 인터페이스 또는 어댑터(170)를 통해 LAN(171)에 접속된다. WAN 네트워크 환경에서 사용될때, 컴퓨터(110)는 일반적으로 인터넷 등의 WAN(173)을 통해 통신을 확립하는 모뎀(172) 또는 다른 수단을 포함한다. 내부적이거나 외부적일 수 있는 모뎀(172)은 사용자 입력 인터페이스(160) 또는 적절한 메카니즘을 통해 시스템 버스(121)에 접속될 수 있다. 네트워크된 환경에서, 개인용 컴퓨터(110)와 관련하여 도시된 프로그램 모듈 또는 그 부분이 원격 메모리 저장 장치내에 저장될 수 있다. 예로서, 도 1은 메모리 장치(181)상에 상주하는 원격 애플리케이션 프로그램(185)를 나타내지만, 이에 한정되는 것은 아니다. 도시된 네트워크 접속은 예시적인 것이며 컴퓨터들간의 통신 링크를 확립하는 다른 수단이 사용될 수 있다.
다음의 설명에서, 본 발명은, 다르게 표시되지 않는 한, 하나이상의 컴퓨터에 의해 수행되는 동작의 행동과 기호적 표시를 참조하여 설명될 것이다. 이와 같이, 때때로 컴퓨터 실행으로 지칭되는 이러한 행동 및 동작이 데이터를 구성된 형태로 표시하는 전기 신호의 컴퓨터의 프로세싱 유닛에 의한 조작을 포함하는 것을 이해할 것이다. 이 조작은 데이터를 변환하거나 컴퓨터의 메모리 시스템의 위치에 그 데이터를 유지시키는데, 데이터는 당업자에 의해 이해되는 방법으로 컴퓨터의 동작을 재구성하거나 또는 다르게 변경한다. 데이터가 유지되는 데이터 구조는 데이터의 포맷에 의해 정의된 특정한 특성을 갖는 메모리의 물리적 위치이다. 그러나, 본 발명은 상술한 배경에서 서술하였지만, 당업자가 이하 서술되는 많은 행동 및 동작들이 하드웨어에서 구현될 수 있음을 명확히 아는 바와 같이 이에 한정되는 것이 아니다.
도 2는 블루투스 프로토콜 스택을 형성하는 컴포넌트 중 몇개의 컴포넌트와 본 발명의 컴포넌트의 상호관계를 나타낸다. 프로토콜 스택은 L2CAP 층(202), 호스트 컨트롤러 인터페이스(HCI) 층(204), 베이스밴드(206), 링크 매니저(208), 라디오 층(210), SDP 층(212), 및 RFCOMM 층(214)을 포함한다. 프로토콜 스택은 또 한 L2CAP상에서 운영될 수 있는 다른 노드를 포함한다. 예를 들어, 노드는 휴먼 인터페이스 장치(216), 퍼스널 에어리어 네트워크(218), 프린터 오브젝트 등을 포함할 수 있다. 애플리케이션(220)은 블루투스 프로토콜 스택을 통해 다른 애플리케이션과 통신한다.
L2CAP(202)는 접속 지향 및 비접속 데이터 서비스를 프로토콜 멀티플렉싱 능력, 패킷 세그멘테이션 및 리어셈블리 동작, 및 서비스 정보의 품질의 통지와 함께 상위 레벨 프로토콜에 제공한다. HCI 층(204)은 라디오 모듈 및 호스트사이에 사용되는 공통 인터페이스이다. HCI 층(204)은 블루투스 규격에 의해 요구되지 않으며, 라디오 모듈(즉, 라디오(210), 베이스밴드(206), 및 LMP(208)) 및 호스트(즉, L2CAP(202), SDP(212), 및 RFCOMM(214))가 분리하여 구현될때만 사용된다.
베이스밴드(206)는 HCI 층(204)와 라디오층(210)간의 데이터 및 제어 메시지를 통과시킨다. 링크 매니저(208)는 베이스밴드(206)를 제어한다. 라디오 층(210)은 베이스밴드 층으로부터 수신된 패턴 및 주파수 명령에 따라 비트를 송신하고 수신한다. SDP(212)는 서비스 광고 및 검색 프로토콜이다. RFCOMM(214)는 레가시(legacy) 애플리케이션을 지지하기 위하여 지점 대 지점 RS-232 에뮬레이션을 제공한다.
도 3에는 L2CAP 채널을 접속하고 구성하는 단계가 도시되어 있다. 노드에 대한 접속을 확립하기 위하여, 접속 요구가 전송된다(단계 300). 여기에서 사용된 노드는, L2CAP(202)상에서 운영되고 접속 요구를 초기화하는 임의의 프로토콜, 오브젝트, 모듈 등을 의미한다. 접속 응답이 수신된다(단계 302). 접속 응답은 접속이 성공적인지(단계 304), 접속중인지(단계 306) 또는 접속이 거절되는지(단계 308)를 판정하기 위한 정보를 제공한다. 접속중이면, 클라이언트는 접속이 성공할때까지 기다린다. 원격 노드(예를 들어, 접속 요구의 수락자인 노드)상에 접속을 확립하기 위하여, 원격 노드는 접속 요구를 기다리고, 접속이 성공적인지, 접속중인지, 거절되었는지를 노드에 알리는 접속 응답을 되전송한다.
접속이 성공적이면, 수락가능한 파라미터 값의 범위가 노드로부터 수신된다(단계 310). 파라미터 값이 접속 요구가 전송되기 전에 수신될 수 있다. 파라미터 값은 수락가능한 최소 및 최대 전송 유닛, 최소 및 최대 플러쉬(flush) 타임아웃, QOS(Quality Of Service), 링크 타임아웃을 포함할 수 있다. 인바운드(inbound) 데이터 및 아웃바운드(outbound) 데이터에 대하여 파라미터가 지정된다. 전송 유닛은 노드가 송신 또는 수신할 수 있는 페이로드(payload) 크기를 지정한다. 플러쉬 타임아웃은 노드가 패킷을 플러쉬하기 전에 L2CAP 패킷을 성공적으로 전송하도록 시도하는 시간량을 원격 노드에 알린다. 노드는 또한 최소 및 최대 파라미터 값에 더하여 수락가능한 파라미터 값의 범위에서 바람직한 값을 지정할 수 있다. 예를 들어, 노드는 최소 전송 유닛 값을 100으로, 바람직한 전송 유닛 값을 672로, 및 최대 전송 유닛 값을 1000으로 지정할 수 있다. L2CAP 층은 가능할때마다 바람직한 값을 협상하려고 시도한다.
L2CAP 채널 협상은 구성 요구를 원격 L2CAP 층에 전송하는 L2CAP 층(202)으로 시작한다(단계 312). 구성 요구는 노드가 수락할 요구 경로에 대한 디폴트되지 않은 파라미터를 원격 노드에 알린다. 파라미터는 노드가 수락할 노드의 입력 전 송 유닛, 출력 플러쉬 타임아웃, 및 출력 QOS를 포함한다. L2CAP 층(202)은 원격 L2CAP 층으로부터 구성 응답을 수신한다(단계 314). 구성 응답은 원격 노드가 수락하거나 수락하지 않는 파라미터 값을 노드에 알린다. 일반적인 협상 프로세스에서, 단계(312 및 314)는 L2CAP 층이 모든 값에 동의할때까지 반복된다. 원격 구성 요구가 원격 L2CAP 층으로부터 수신된다(단계 316). 원격 구성 요구는 원격 노드가 수락할 응답 경로에 대한 디폴트되지 않은 파라미터를 노드에 알린다. 파라미터는 원격 노드가 수락할 원격 노드의 입력 전송 유닛, 출력 플러쉬 타임아웃, 및 출력 QOS를 포함한다. L2CAP 층은 원격 구성 응답을 원격 L2CAP 층에 전송한다(단계 318). 원격 구성 응답은 노드가 수락하거나 수락하지 않는 파라미터 값을 원격 노드에 알린다. 일반적으로, 단계(316 및 318)는 L2CAP 층이 모든 값에 동의할때까지 반복된다. 구성 요구가 전송되기 전에 원격 구성 요구가 수신될 수 있다.
L2CAP 채널이 구성되면, L2CAP 채널은 개방된다(단계 320). 데이터는 판독 및 기입된다. HCI 링크의 손실이 발생할때, 원격 노드가 L2CAP 채널을 차단할때, 또는 노드가 L2CAP 채널을 차단할때, L2CAP 채널이 차단된다(단계 322).
본 발명은 노드가 L2CAP 채널의 구성 및 관리에 어떻게 참여하는지를 판정하도록 한다. 노드는 노드가 원하는 참여 레벨을 L2CAP 층(202)에 알린다. 노드가 지정할 수 있는 참여 레벨은 3가지가 있다. 이 3가지 레벨은 전혀 참여하지 않음, 최소 참여, 및 전체 참여이다.
도 4a-4c를 참조하면, L2CAP 층은 노드가 선택한 참여 레벨을 판정한다(단계 400). 노드가 전체 참여(단계 402), 또는 최소 참여(단계 404)를 선택하지 않았으 면, 참여하지 않음 레벨이 선택된다.
노드가 참여하지 않음 레벨을 선택하면 다음의 동작이 발생한다. 원격 노드가 구성 파라미터를 거절하였으면(단계 406), L2CAP 채널은 드롭(drop)된다(단계 408). 원격 노드가 Q.O.S를 지정하면(단계 410), L2CAP 채널은 드롭된다(단계 412). L2CAP 채널이 개방된 후 원격 노드가 구성 요구를 전송하면(단계 414)(예를 들어, 재구성 요구), 채널은 드롭된다(단계 416). 원격 노드가 모든 파라미터를 수락하였으면, L2CAP 채널은 개방된다.
노드가 최소 참여를 선택하였으면(단계 404), 노드는 기능 포인터를 L2CAP 층(202)에 공급한다(단계 418). 기능 포인터는 원격 차단 또는 HCI 링크의 손실에 의해 접속이 차단되었다는 것을 노드에 알리는 데 사용된다. L2CAP 채널은 참여하지 않음 레벨에서와 동일한 이유로 드롭되며, 이것은 최소 참여 경로에 단계(406-416)를 복사하여 표시된다. L2CAP 채널이 원격 노드에 의해 차단되었거나(단계 420) HCI 링크의 손실 결과로서 차단되었으면(단계 422), 기능 포인터가 호출된다(단계 424).
노드가 전체 참여를 선택했으면(단계 402), 노드는 기능 포인터를 L2CAP 층(202)에 공급한다(단계 426). 기능 포인터는 접속에 관련된 비동기 사건 또는 접속 확립의 시도에 대하여 노드에게 알리는 콜백(callback) 메카니즘으로서 사용된다. 지시들(indications)이 사건을 지정하기 위해 기능 포인터와 함께 공급된다. 지시는 추가 기준 지시, 해제 기준 지시, 원격 접속 지시, 원격 차단 지시, 원격 구성 요구 지시, 원격 구성 응답 지시, 해제 엑스트라 옵션 지시, 및 수신 패킷 지시를 포함한다.
추가 기준 지시는, 노드가 접속을 표시하는 접속 오브젝트에 기준을 추가할 수 있도록 L2CAP 접속이 확립되었다는 것을 노드에 알리도록 전송된다. 해제 기준 지시는, 다른 노드로부터의 다른 기준이 오브젝트 상에 남아 있지 않으면 노드가 그 접속 오프젝트를 해제할 수 있도록 L2CAP 층(202)이 접속에 대해 그 모든 기준을 해제했다는 것을 노드에 알리도록 전송된다. 원격 접속 지시는 원격 노드가 L2CAP 접속의 확립을 시도할때 전송된다. 원격 차단 지시는 원격 노드가 차단을 요구했을때 전송된다. 원격 구성 요구 지시는, L2CAP 층(202)이 모르는 옵션을 만나면 노드가 모르는 옵션에 어떻게 응답하는지를 L2CAP 층에 명령하도록 전송된다. 원격 구성 응답 지시는, L2CAP 층(202)이 응답의 파라미터가 무엇인지 모른다는 응답을 수신하면 노드가 L2CAP 층(202)이 어떻게 응답하는지를 명령하도록 전송된다. 해제 엑스트라 옵션 지시는, 노드가 더이상 필요로 하지 않는 엑스트라 옵션(예를 들어, 주문형 파라미터)을 사용하였고 L2CAP 층(202)이 엑스트라 옵션에 대한 리소스를 어떻게 해제하는지 모르면, 엑스트라 옵션에 대한 리소스를 해제하도록 노드에 요구하기 위해 전송된다. 수신 패킷 지시는 데이터가 판독중이 아닌 L2CAP 채널상에 수신되면 전송된다.
노드는 참여하지 않음 레벨에서와 동일한 파라미터와 노드가 원하는 임의의 추가 파라미터를 지정한다. 원격 노드가 파라미터를 거절했으면(단계 428), 기능 포인터가 호출되어 파라미터에 대한 원격 노드의 변경을 승인하거나 또는 파라미터에 대한 변경을 거절한다(단계 430). 노드가 파라미터에 대한 변경을 거절했으면, L2CAP 채널은 드롭된다(단계 434). 원격 노드가 Q.O.S를 지정했으면(단계 436), 기능 포인터가 호출되어(단계 438), Q.O.S를 승인하거나 거절한다. 노드가 Q.O.S 를 거절했으면(단계 440), L2CAP 채널은 드롭된다(단계 442). 모르는 옵션(예를 들어, 주문형 파라미터)을 만나면(단계 444), 기능 포인터가 호출되어(단계 446) 모르는 옵션에 어떻게 응답하는지에 대하여 노드로부터 명령을 구한다. 노드가 모르는 옵션을 거절했다면(단계 448), L2CAP 채널이 드롭된다(단계 450).
원격 노드가 재구성 요구를 전송하면(단계 452), 재구성 요구가 수락되고 도 3 및 도 4의 프로세스가 반복된다. L2CAP 채널이 원격 노드에 의해 차단되었거나(단계 454) HCI 링크의 손실 결과로서 차단되었으면(단계 456), 기능 포인터가 호출된다(단계 458). 언제라도 구성 파라미터가 노드에게 수락가능하지 않으면, 노드는 실패 코드를 복귀하고 접속이 차단된다.
노드에 대한 L2CAP 채널 구성 프로세스를 간략화하는 기술이 기재되어 있다. 본 발명의 방법은 노드가 L2CAP 채널 접속 생성 및 관리 프로세스에 어떻게 참여하는지를 판정하도록 한다. 노드가 구성 프로세스에 참여하지 않음을 선택하면 노드의 복잡성이 간략화된다. 이것은 개발자가 장치의 블루투스 호환성을 더 용이하게 병합할 수 있게 한다. 본 발명의 원리가 적용될 수 있는 많은 가능한 실시예의 관점에서, 도면과 관련하여 여기에 기재된 실시예는 단지 예시적인 것이며 본 발명의 사상을 한정하지 않는 것임을 인식해야 한다. 예를 들어, 당업자는 소프트웨어로 나타낸 예시된 실시예의 엘리먼트가 하드웨어에서 구현될 수 있고 또 그 반대일 수 있거나 예시된 실시예가 본 발명의 사상을 벗어나지 않으면서 배열 및 세부항목에서 변경될 수 있다. 그러므로, 여기 기재된 본 발명은 다음의 청구항의 사상 및 그 동등물내에서 도출될 수 있는 이러한 모든 실시예를 예상할 수 있다.

Claims (33)

  1. 노드에 대한 논리적 링크 제어 및 적응 프로토콜(logical link control and adaptation protocol; L2CAP) 채널을 구현하는 방법으로서,
    채널 파라미터들의 변화들에 응답하여 상기 L2CAP 채널을 선택적으로 구현하기 위해, 참여하지 않음 레벨(no involvement level), 최소 참여 레벨(minimal involvement level), 및 전체 참여 레벨(total involvement level)을 지정하는 단계;
    상기 L2CAP 채널을 구현하기 위해 상기 노드가 참여하지 않음, 최소 참여, 및 전체 참여 중 어느 하나를 지정하였는지 판정하는 단계; 및
    참여하지 않음, 최소 참여, 또는 전체 참여 중 상기 하나에 따라 상기 L2CAP 채널을 구현하는 단계
    를 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 L2CAP 채널을 구현하는 상기 단계는 상기 노드로부터 인바운드(inbound) 요구들 및 아웃바운드(outbound) 요구들에 대한 파라미터들을 수신하는 단계를 포함하며, 상기 파라미터들은 최소 전송 유닛 크기, 최대 전송 유닛 크기, 최소 플러쉬 타임아웃, 최대 플러쉬 타임아웃, 서비스 품질의 세팅, 및 링크 타임아웃 중의 하나 이상을 포함하고,
    상기 방법은,
    원격 노드에 상기 파라미터들을 갖는 구성 요구를 전송하는 단계;
    상기 원격 노드로부터 원격 구성 요구를 수신하는 단계;
    참여하지 않음, 최소 참여, 또는 전체 참여 중 상기 하나에 따라 상기 원격 구성 요구에 응답하는 단계; 및
    상기 원격 노드가 상기 파라미터들을 수락했으면 상기 L2CAP 채널을 개방하는 단계를 더 포함하는 방법.
  3. 제 2 항에 있어서,
    상기 원격 구성 요구에 응답하는 상기 단계는, 상기 노드가 참여하지 않음을 지정하였고 상기 원격 노드가 구성 응답에서 상기 구성 요구를 변경했으면 상기 L2CAP 채널을 드롭하는 단계를 포함하는 방법.
  4. 제 3 항에 있어서,
    상기 원격 노드가 상기 L2CAP 채널을 재구성하는 원격 구성 요구를 전송하면, 상기 L2CAP 채널을 드롭하는 단계를 더 포함하는 방법.
  5. 제 3 항에 있어서,
    상기 원격 구성 요구가 하나 이상의 주문형 파라미터를 포함하면, 상기 L2CAP 채널을 드롭하는 단계를 더 포함하는 방법.
  6. 제 2 항에 있어서,
    상기 노드가 최소 참여를 지정했으면 기능 포인터를 수신하는 단계; 및
    상기 L2CAP 채널 중의 하나가 차단되었고 호스트 컨트롤러 인터페이스 링크가 손실되었으면 상기 기능 포인터를 호출하는 단계를 더 포함하는 방법.
  7. 제 6 항에 있어서,
    상기 원격 구성 요구에 응답하는 상기 단계는, 상기 노드가 최소 참여를 지정하였고 상기 원격 노드가 상기 구성 요구에서 세팅을 하나도 수락하지 않았으면 상기 L2CAP 채널을 드롭하는 단계를 포함하는 방법.
  8. 제 6 항에 있어서,
    상기 원격 노드 중의 하나가 상기 L2CAP 채널을 재구성하는 원격 재구성 요구를 전송하고 구성 응답이 하나 이상의 주문형 파라미터를 포함하면 상기 L2CAP 채널을 드롭하는 단계를 더 포함하는 방법.
  9. 제 1 항에 있어서,
    상기 L2CAP 채널을 구현하는 상기 단계는 상기 노드로부터 인바운드 요구들 및 아웃바운드 요구들에 대한 파라미터들을 수신하는 단계를 포함하고, 상기 파라미터들은 최소 전송 유닛 크기, 최대 전송 유닛 크기, 최소 플러쉬 타임아웃, 최대 플러쉬 타임아웃, 서비스 품질의 세팅, 및 링크 타임아웃 중의 하나이상을 포함하고,
    상기 방법은,
    원격 노드에 상기 파라미터들을 갖는 구성 요구를 전송하는 단계;
    상기 원격 노드로부터 구성 응답을 수신하는 단계;
    상기 원격 노드로부터 원격 구성 요구를 수신하는 단계;
    상기 노드가 전체 참여를 지정했으면,
    상기 노드로부터 기능 포인터를 수신하는 단계;
    상기 원격 노드가 상기 파라미터들 중의 하나 이상을 변경했으면,
    상기 파라미터들 중의 하나 이상에 대한 변경이 상기 노드에 의해 수락되거나 거절될 것인지를 판정하기 위하여 상기 기능 포인터를 호출하는 단계; 및
    상기 노드가 상기 파라미터들 중의 상기 하나 이상에 대한 변경을 수락했으면, 상기 L2CAP 채널을 개방하는 단계를 포함하는 방법.
  10. 제 9 항에 있어서,
    상기 노드로부터 인바운드 요구들 및 아웃바운드 요구들에 대한 파라미터들을 수신하는 상기 단계는, 수락가능한 파라미터 값의 범위 내의 전송 유닛 크기 및 수락가능한 파라미터 값의 범위 내의 플러쉬 타임아웃 중의 하나 이상을 수신하는 단계를 포함하고, 원격 노드에 상기 파라미터들을 갖는 구성 요구를 전송하는 상기 단계는, 수락가능한 파라미터 값의 범위 내의 전송 유닛 크기 및 수락가능한 파라미터 값의 범위 내의 플러쉬 타임아웃 중의 하나 이상을 전송하는 단계를 포함하는 방법.
  11. 제 9 항에 있어서,
    상기 기능 포인터를 호출하는 상기 단계는, 상기 파라미터들 중의 하나 이상이 상기 노드에 의해 수락되는지 또는 거절되는지를 상기 노드에게 알리는 지시를 제공하는 단계를 포함하는 방법.
  12. 제 9 항에 있어서,
    모르는 옵션 및 주문형 옵션 중의 하나가 상기 원격 노드로부터 수신되면 원격 구성 요구 지시를 갖는 상기 기능 포인터를 호출하는 단계를 더 포함하는 방법.
  13. 제 9 항에 있어서,
    상기 노드가 모르는 파라미터를 포함하는 응답이 원격 노드로부터 수신되었으면 원격 구성 응답 지시를 갖는 상기 기능 포인터를 호출하는 단계를 더 포함하는 방법.
  14. 제 9 항에 있어서,
    상기 노드가 상기 파라미터들 중의 상기 하나 이상에 대한 상기 변경을 거절했으면 상기 L2CAP 채널을 드롭하는 단계를 더 포함하는 방법.
  15. 노드에 대한 논리적 링크 제어 및 적응 프로토콜(L2CAP) 채널을 구현하는 컴퓨터 실행가능 명령들을 갖는 컴퓨터 판독가능 매체로서,
    상기 컴퓨터 실행가능 명령들은,
    채널 파라미터들의 변경들에 응답하여 상기 L2CAP 채널을 선택적으로 구현하기 위해 참여 레벨들을 지정하는 단계;
    상기 L2CAP 채널을 구현하기 위하여 상기 노드가 참여하지 않음, 최소 참여, 전체 참여 중의 어느 것을 지정하였는지를 판정하는 단계;
    상기 노드로부터 인바운드 요구들 및 아웃바운드 요구들에 대한 파라미터들을 수신하는 단계 - 상기 파라미터들은 최소 전송 유닛 크기, 최대 전송 유닛 크기, 최소 플러쉬 타임아웃, 최대 플러쉬 타임아웃, 서비스 품질의 세팅, 및 링크 타임아웃 중의 하나 이상을 포함함 -;
    원격 노드에 상기 파라미터들을 갖는 구성 요구를 전송하는 단계;
    상기 원격 노드로부터 구성 응답을 수신하는 단계;
    상기 원격 노드로부터 원격 구성 요구를 수신하는 단계;
    참여하지 않음, 최소 참여, 또는 전체 참여 중 상기 하나에 따라 상기 원격 구성 요구에 응답하는 단계; 및
    상기 원격 노드가 상기 파라미터들을 수락했으면, 상기 L2CAP 채널을 개방하는 단계를 수행하는 컴퓨터 판독가능 매체.
  16. 제 15 항에 있어서,
    상기 노드로부터 인바운드 요구들 및 아웃바운드들 요구에 대한 파라미터들을 수신하는 상기 단계는 수락가능한 파라미터 값의 범위 내의 전송 유닛 크기 및 수락가능한 파라미터 값의 범위 내의 플러쉬 타임아웃 중의 하나 이상을 수신하는 단계를 포함하고, 원격 노드에 상기 파라미터들을 갖는 구성 요구를 전송하는 상기 단계는, 상기 수락가능한 파라미터 값의 범위 내의 전송 유닛 크기 및 상기 수락가능한 파라미터 값의 범위 내의 플러쉬 타임아웃 중의 상기 하나 이상을 전송하는 단계를 포함하는 컴퓨터 판독가능 매체.
  17. 제 15 항에 있어서,
    상기 노드가 참여하지 않음을 지정했으면,
    상기 원격 노드가 상기 구성 응답에서 상기 구성 요구를 변경했으면 상기 L2CAP 채널을 드롭하는 단계;
    상기 원격 노드가 상기 L2CAP 채널을 재구성하는 원격 구성 요구를 전송하면 상기 L2CAP 채널을 드롭하는 단계; 및
    상기 원격 구성 요구가 하나 이상의 주문형 파라미터를 포함하면 상기 L2CAP 채널을 드롭하는 단계를 수행하는 컴퓨터 실행가능 명령들을 더 갖는 컴퓨터 판독가능 매체.
  18. 제 15 항에 있어서,
    상기 노드가 최소 참여를 지정했으면,
    기능 포인터를 수신하는 단계; 및
    상기 L2CAP 채널이 차단되었으면 원격 차단 지시를 갖는 상기 기능 포인터를 호출하는 단계를 수행하는 컴퓨터 실행가능 명령들을 더 갖는 컴퓨터 판독가능 매체.
  19. 제 18 항에 있어서,
    상기 노드가 최소 참여를 지정했으면,
    상기 원격 노드가 상기 구성 응답에서 세팅을 하나도 수락하지 않았으면 상기 L2CAP 채널을 드롭하는 단계;
    상기 원격 노드가 상기 L2CAP 채널을 재구성하는 원격 구성 요구를 전송하면 상기 L2CAP 채널을 드롭하는 단계; 및
    상기 원격 구성 요구가 하나 이상의 주문형 파라미터를 포함하면 상기 L2CAP 채널을 드롭하는 단계를 수행하는 컴퓨터 실행가능 명령들을 더 갖는 컴퓨터 판독가능 매체.
  20. 제 15 항에 있어서,
    상기 노드가 전체 참여를 지정했으면,
    기능 포인터를 수신하는 단계;
    상기 원격 노드가 상기 파라미터들 중의 하나 이상에 대한 변경을 하면,
    상기 파라미터들 중의 상기 하나 이상에 대한 상기 변경이 상기 노드에 의해 수락되는지 또는 거절되는지를 판정하기 위하여 기능 포인터를 호출하는 단계; 및
    상기 노드가 상기 파라미터들 중의 상기 하나 이상에 대한 변경을 수락했으면 상기 L2CAP 채널을 개방하는 단계를 수행하는 컴퓨터 실행가능 명령들을 더 갖는 컴퓨터 판독가능 매체.
  21. 제 15 항에 있어서,
    상기 노드가 전체 참여를 지정했으면,
    기능 포인터를 수신하는 단계;
    상기 L2CAP 채널이 개방된 후 상기 원격 노드가 새로운 원격 구성 요구를 전송했으면,
    상기 L2CAP 채널에서 데이터를 판독하고 데이터를 기입하는 것 중 하나 이상을 정지하는 단계;
    상기 새로운 원격 구성 요구가 도착했다는 것을 상기 노드에게 알리고 상기 파라미터들 중의 하나 이상이 상기 노드에 의해 거절되는지를 판정하기 위해 기능 포인터를 호출하는 단계;
    상기 파라미터들 중의 상기 하나 이상이 상기 노드에 의해 거절되면 상기 파라미터들 중의 상기 하나 이상의 각각에 대한 변경된 파라미터를 갖는 원격 구성 응답을 상기 원격 노드에 전송하는 단계; 및
    상기 원격 노드가 상기 변경된 파라미터를 수락했으면, 상기 변경된 파라미터로 상기 L2CAP 채널에서 데이터를 판독하고 데이터를 기입하는 것 중 하나 이상을 수행하는 단계를 수행하는 컴퓨터 실행 가능 명령들을 더 갖는 컴퓨터 판독가능 매체.
  22. 제 21 항에 있어서,
    상기 파라미터들 중의 하나가 상기 노드에게 수락될 수 없으면 상기 L2CAP 채널을 차단하는 단계를 수행하는 컴퓨터 실행가능 명령들을 더 갖는 컴퓨터 판독가능 매체.
  23. 제 15 항에 있어서,
    상기 노드가 전체 참여를 지정했으면,
    기능 포인터를 수신하는 단계; 및
    상기 L2CAP 채널 중의 하나가 차단되었거나 HCI 링크가 손실되었으면 원격 차단 지시를 갖는 상기 기능 포인터를 호출하는 단계를 수행하는 컴퓨터 실행가능 명령들을 더 갖는 컴퓨터 판독가능 매체.
  24. 제 15 항에 있어서,
    상기 노드가 전체 참여를 지정했으면,
    기능 포인터를 수신하는 단계;
    주문형 파라미터가 수신되었으면,
    원격 구성 요구 지시를 갖는 상기 기능 포인터를 호출하는 단계;
    상기 주문형 파라미터가 수락되거나, 협상될 것이거나, 또는 거절되는지를 지시하는 응답을 상기 원격 노드로부터 수신하는 단계;
    상기 주문형 파라미터가 거절되면, 상기 L2CAP 채널을 드롭하는 단계; 및
    상기 주문형 파라미터가 협상될 것이면 상기 주문형 파라미터를 협상하는 단계를 수행하는 컴퓨터 실행가능 명령들을 더 갖는 컴퓨터 판독가능 매체.
  25. 외부 드라이버에게 사건을 통지하기 위한 하나 이상의 지시를 갖는 기능 포인터를 호출하는 단계를 포함하는 클라이언트 드라이버와 L2CAP 오브젝트 사이의 통신 방법으로서,
    상기 하나 이상의 지시는,
    상기 클라이언트 드라이버가 구성 요구에서 얻어진 모르는 옵션을 협상할 수 있게 하는 원격 구성 요구 지시; 및
    상기 클라이언트 드라이버가, 모르는 응답 파라미터가 무엇을 의미하는지를 판정할 수 있게 하는 원격 구성 응답 지시를 포함하는 방법.
  26. 제 25 항에 있어서,
    상기 하나 이상의 지시는,
    원격 노드가 L2CAP 접속의 확립을 시도하고 있다는 것을 상기 클라이언트 드라이버에게 통지하는 원격 접속 지시; 및
    상기 원격 노드가 상기 L2CAP 접속의 차단을 요구했다는 것을 상기 클라이언트 드라이버에게 통지하는 원격 차단 지시를 포함하는 방법.
  27. 제 26 항에 있어서,
    상기 하나 이상의 지시는 상기 클라이언트 드라이버에게 엑스트라 옵션들에 대한 리소스를 해제하도록 알리는 해제 엑스트라 옵션 지시를 더 포함하는 방법.
  28. 노드에 대한 논리적 링크 제어 및 적응 프로토콜(L2CAP) 채널을 구현하는 컴퓨터 실행가능 명령들을 갖는 컴퓨터 판독가능 매체로서,
    상기 컴퓨터 실행가능 명령들은,
    수락가능한 접속 파라미터들의 범위를 지정하는 단계;
    상기 노드로부터 접속 파라미터들의 범위를 수신하는 단계; 및
    수신된 상기 접속 파라미터들이 수락가능한 접속 파라미터의 상기 범위와 부합한다는 판정에 따라 상기 L2CAP 채널을 구현하는 단계를 수행하는 컴퓨터 판독가능 매체.
  29. 제 28 항에 있어서,
    수락가능한 접속 파라미터들의 상기 범위로부터의 파라미터들의 일 집합을 갖는 구성 요구를 원격 노드로 전송하는 단계;
    상기 원격 노드로부터 구성 응답을 수신하는 단계;
    수락가능한 파라미터들의 상기 범위에 따라 원격 구성 요구에 응답하는 단계; 및
    상기 원격 노드가 파라미터들의 상기 일 집합을 수락했으면 상기 L2CAP 채널을 개방하는 단계를 수행하는 컴퓨터 실행가능 명령들을 더 갖는 컴퓨터 판독가능 매체.
  30. 제 28 항에 있어서,
    상기 노드로부터 기능 포인터를 수신하는 단계; 및
    상기 L2CAP 채널 중의 하나가 차단되었고 호스트 컨트롤러 인터페이스 링크가 손실되었으면 상기 기능 포인터를 호출하는 단계를 수행하는 컴퓨터 실행가능 명령들을 더 포함하는 컴퓨터 판독가능 매체.
  31. 제 28 항에 있어서,
    수락가능한 파라미터들의 상기 범위는 상기 노드로부터의 인바운드 요구들 및 아웃바운드 요구들에 대한 파라미터들을 포함하고, 상기 파라미터들은 최소 전송 유닛 크기, 최대 전송 유닛 크기, 최소 플러쉬 타임아웃, 최대 플러쉬 타임아웃, 서비스 품질의 세팅, 및 링크 타임아웃 중의 하나 이상을 포함하고,
    상기 컴퓨터 판독 가능 매체는,
    원격 노드에 상기 파라미터들을 갖는 구성 요구를 전송하는 단계;
    상기 원격 노드로부터 구성 응답을 수신하는 단계;
    상기 원격 노드로부터 원격 구성 요구를 수신하는 단계;
    상기 노드가 전체 참여를 지정했으면,
    상기 노드로부터 기능 포인터를 수신하는 단계;
    상기 원격 노드가 상기 파라미터들 중의 하나 이상을 변경했으면,
    상기 파라미터들 중의 상기 하나 이상에 대한 변경이 상기 노드에 의해 수락되는지 또는 거절되는지를 판정하기 위하여 상기 기능 포인터를 호출하는 단계; 및
    상기 노드가 상기 파라미터 중의 하나 이상에 대한 상기 변경을 수락했으면 상기 L2CAP 채널을 개방하는 단계를 수행하는 컴퓨터 실행가능 명령들을 더 갖는 컴퓨터 판독가능 매체.
  32. 제 31 항에 있어서,
    상기 인바운드 요구들 및 아웃바운드 요구들에 대한 상기 파라미터들이 수락가능한 파라미터 값의 범위 내의 전송 유닛 크기 및 수락가능한 파라미터 값의 범위 내의 플러쉬 타임아웃 중의 하나 이상을 포함하는 컴퓨터 판독가능 매체.
  33. 삭제
KR1020030042390A 2002-06-28 2003-06-27 블루투스 논리적 링크 제어 및 적응 프로토콜 채널을구성하는 방법 KR100881538B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/186,234 2002-06-28
US10/186,234 US7082461B2 (en) 2002-06-28 2002-06-28 Method to configure a bluetooth logical link control and adaptation protocol channel

Publications (2)

Publication Number Publication Date
KR20040002766A KR20040002766A (ko) 2004-01-07
KR100881538B1 true KR100881538B1 (ko) 2009-02-05

Family

ID=27733963

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030042390A KR100881538B1 (ko) 2002-06-28 2003-06-27 블루투스 논리적 링크 제어 및 적응 프로토콜 채널을구성하는 방법

Country Status (17)

Country Link
US (1) US7082461B2 (ko)
EP (2) EP1376953B1 (ko)
JP (1) JP4205498B2 (ko)
KR (1) KR100881538B1 (ko)
CN (1) CN100562007C (ko)
AT (2) ATE375659T1 (ko)
BR (1) BR0301732A (ko)
CA (1) CA2431465C (ko)
DE (2) DE60316750T2 (ko)
HK (1) HK1060948A1 (ko)
MX (1) MXPA03005452A (ko)
MY (1) MY137420A (ko)
NO (1) NO20032990L (ko)
PL (1) PL360866A1 (ko)
RU (1) RU2329610C2 (ko)
TW (1) TWI341109B (ko)
ZA (1) ZA200304445B (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8014339B1 (en) * 2003-02-25 2011-09-06 Hewlett-Packard Company Methods for providing universal network access within a wireless communication system
US7443798B2 (en) * 2004-09-03 2008-10-28 Agere Systems Inc. Transmit adaptive equalization for communication system with one or more serial data channels
US20060126812A1 (en) * 2004-12-09 2006-06-15 International Business Machines Corporation Method and system for sharing one or more graphics images between devices using profiles
CN101060522B (zh) * 2006-04-19 2012-10-03 华为技术有限公司 一种反馈链路参数配置结果的方法
US7774027B2 (en) * 2006-09-28 2010-08-10 Sandisk Corporation Flash drive that configures generic bluetooth controller of the drive to be compatible with multiple bluetooth peripheral devices
US7801561B2 (en) * 2006-09-28 2010-09-21 Sandisk Corporation Methods of configuring a generic bluetooth controller of a flash drive to be compatible with multiple bluetooth peripheral devices
CN101127538B (zh) * 2007-09-19 2011-11-23 中兴通讯股份有限公司 不同蓝牙设备间自适应的匹配方法
KR100849137B1 (ko) * 2007-11-02 2008-07-30 장애인표준사업장비클시스템 주식회사 억스단자를 갖는 무선 헤드셋
US8797376B2 (en) * 2010-05-28 2014-08-05 Polycom, Inc. Videoconferencing system with enhanced telepresence using a single wide aspect ratio camera
US8473641B2 (en) * 2011-06-30 2013-06-25 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US11134526B2 (en) * 2016-06-14 2021-09-28 SZ DJI Technology Co., Ltd. Automatic update of connection to a movable object
US10051450B1 (en) * 2017-09-06 2018-08-14 Texas Instruments Incorporated Bluetooth data forwarding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002015527A2 (en) * 2000-08-11 2002-02-21 Zucotto Wireless, Inc. Communications apparatus interface and method for discovery of remote devices
US20020131388A1 (en) 2001-02-19 2002-09-19 Kabushiki Kaisha Toshiba Method and device for communicating packets

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010033554A1 (en) * 2000-02-18 2001-10-25 Arun Ayyagari Proxy-bridge connecting remote users to a limited connectivity network
EP1187023B1 (en) * 2000-09-12 2010-02-10 Motorola, Inc. Ad hoc telecommunications network management and routing
US6614350B1 (en) * 2000-11-08 2003-09-02 3Com Corporation Method and system for effecting a security system upon multiple portable information devices
US7042866B2 (en) * 2001-12-10 2006-05-09 Telcordia Technologies, Inc. Method and apparatus utilizing bluetooth protocols for the remote setting of IP network parameters

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002015527A2 (en) * 2000-08-11 2002-02-21 Zucotto Wireless, Inc. Communications apparatus interface and method for discovery of remote devices
US20020131388A1 (en) 2001-02-19 2002-09-19 Kabushiki Kaisha Toshiba Method and device for communicating packets

Also Published As

Publication number Publication date
HK1060948A1 (en) 2004-08-27
EP1376953B1 (en) 2007-10-10
TWI341109B (en) 2011-04-21
JP4205498B2 (ja) 2009-01-07
EP1873981B1 (en) 2010-07-21
BR0301732A (pt) 2004-08-24
ATE475280T1 (de) 2010-08-15
CA2431465C (en) 2010-07-27
NO20032990L (no) 2003-12-29
TW200401536A (en) 2004-01-16
MXPA03005452A (es) 2006-04-24
ZA200304445B (en) 2004-04-23
PL360866A1 (en) 2003-12-29
EP1376953A1 (en) 2004-01-02
CN1472944A (zh) 2004-02-04
NO20032990D0 (no) 2003-06-27
AU2003204760A1 (en) 2004-01-22
CA2431465A1 (en) 2003-12-28
ATE375659T1 (de) 2007-10-15
DE60316750T2 (de) 2008-07-24
KR20040002766A (ko) 2004-01-07
DE60333504D1 (de) 2010-09-02
JP2004048743A (ja) 2004-02-12
US20040003062A1 (en) 2004-01-01
US7082461B2 (en) 2006-07-25
DE60316750D1 (de) 2007-11-22
EP1873981A1 (en) 2008-01-02
MY137420A (en) 2009-01-30
RU2329610C2 (ru) 2008-07-20
CN100562007C (zh) 2009-11-18

Similar Documents

Publication Publication Date Title
US9872202B2 (en) Ad hoc wireless networking
JP4462840B2 (ja) 無線ケイパビリティの発見とプロトコルの交渉の方法およびこれらを含む無線装置
JP4404773B2 (ja) データ・リンク・リソースの使用を管理するための方法および装置
RU2603496C2 (ru) Беспроводной сетевой интерфейс с инфраструктурными и прямыми режимами
US7733885B2 (en) Extending access to a device in a limited connectivity network to devices residing outside the limited connectivity network
US7509417B1 (en) Method for intelligently selecting a wireless communication access point
KR100881538B1 (ko) 블루투스 논리적 링크 제어 및 적응 프로토콜 채널을구성하는 방법
US20120233266A1 (en) Peer-to-peer group with renegotiation of group owner
JP2007510368A (ja) 周辺デバイスとワイアレス・デバイスとの間の通信を確立するためのシステム及び方法
US20090113460A1 (en) Systems and methods for providing a generic interface in a communications environment
JP2005539421A (ja) ミドルウェアプラットフォーム
JP2004086895A (ja) 任意のネットワーク上のコンポーネントを通信可能にするためのシステムと方法
EP1064635B1 (en) Method and system for enabling wireless data communications between electronic devices having disparate operating systems
JP2006254301A (ja) Ipアドレス設定システム
JP2001144827A (ja) 通信制御装置及び方法
EP1309154B1 (en) System and method for the selection of electronic services using infrared communication
EP1962466B1 (en) Method for combining a first and second ambient network
JP6680345B2 (ja) 通信機器
BRPI0301732B1 (pt) Method for implementing a logical link control and adaptation protocol channel for a knot

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated 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
FPAY Annual fee payment

Payment date: 20121227

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131227

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee