범용 고유 번호라고 불리며 128 비트의 숫자들의 조합니다.
말 그대로 범용적으로 사용할 수 있는 고유의 ID 를 사용하기 위하여 생성되며, 그렇기 때문에 128 비트의 Hex 조합은 Unique 하여야 한다. Bluetooth 에서는 device 에서 제공하는 service 를 검색하고 각 service 마다 UUID 를 부여하는 등 많은 부분에서 사용된다.
UUID 는 구성요소는 다음과 같다.
UUID = time_low - time_mid - time_high_and_version - clock_seq_hi_and_reserved - clock_seq_low - node |
각각의 요소들은 다음의 의미를 갖는다.
time_low : 타임 스탬프(시간표시)의 최 하위 32비트 ( 비트0 에서 31)
time_mid : 타임 스탬프의 16 비트 중간 필드 (비드 32에서 47 )
time_high)_and_version : 16 비트 값
- 이 값의 최하위 12 비트는 타임 스탬프의 최 상위 12비트( 비트 48에서 59)
- 이 값의 최상위 4비트 버전번호
clock_seq_hi_and_reserved : 8비트값
- 이 값의 최하위 6비트는 clock sequence 의 최상위 6비트 (비트 8에서 13)
- 최하위 2비트는 변형 (10의로 set)
clock_seq_low : clock sequence 의 최하우 비트들
note : 고유 노드 번호
Time stamp 는 Universal Time clock (UTC) 를 사용하고 60 비트로 조정, UTC 를 사용할 수 없는 system 에서 UUID 를 생헝할 경우 중복생성이 가능하므로 이런 경우에는 clock sequence 를 적절히 이용하여 UUID 를 unique 하게 생성한다.
UUId는 SDP에서 서비스의 종류를 구분하기 위해 사용된다.
SDP client 는 찾고자 하는 service 의 UUID 를 서버에 보내 이 service 의 존재 여부를 확인 한다.
출처 : http://zene.egloos.com/4973651
'Android' 카테고리의 다른 글
이클립스에 안드로이드 sample api 로드하기 (0) | 2012.11.26 |
---|---|
Android requires compiler compliance level 5.0 or 6.0. (0) | 2012.11.26 |
Unable to resolve target 'android-8' (0) | 2012.11.26 |
안드로이드 하드웨어 (0) | 2012.11.26 |
블루투스 정리 합니다.(in Android) (0) | 2012.11.26 |