KR20220045179A - 단거리 통신 시스템에서 레인징 및 데이터 세션들을 스케줄링하는 방법들 및 시스템들 - Google Patents

단거리 통신 시스템에서 레인징 및 데이터 세션들을 스케줄링하는 방법들 및 시스템들 Download PDF

Info

Publication number
KR20220045179A
KR20220045179A KR1020227007163A KR20227007163A KR20220045179A KR 20220045179 A KR20220045179 A KR 20220045179A KR 1020227007163 A KR1020227007163 A KR 1020227007163A KR 20227007163 A KR20227007163 A KR 20227007163A KR 20220045179 A KR20220045179 A KR 20220045179A
Authority
KR
South Korea
Prior art keywords
controller
service
session
ranging
services
Prior art date
Application number
KR1020227007163A
Other languages
English (en)
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 KR20220045179A publication Critical patent/KR20220045179A/ko

Links

Images

Classifications

    • H04W72/1242
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • 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/0252Traffic management, e.g. flow control or congestion control per individual bearer or channel
    • H04W28/0263Traffic management, e.g. flow control or congestion control per individual bearer or channel involving mapping traffic to individual bearers or channels, e.g. traffic flow template [TFT]
    • 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/0268Traffic management, e.g. flow control or congestion control using specific QoS parameters for wireless networks, e.g. QoS class identifier [QCI] or guaranteed bit rate [GBR]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • H04W72/1236
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/54Allocation or scheduling criteria for wireless resources based on quality criteria
    • H04W72/543Allocation or scheduling criteria for wireless resources based on quality criteria based on requested quality, e.g. QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/56Allocation or scheduling criteria for wireless resources based on priority criteria
    • H04W72/566Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient
    • H04W72/569Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient of the traffic information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

단거리 통신 네트워크에서 레인징 세션들을 스케줄링하는 방법들 및 시스템들이다. 본원에서 개시되는 방법이 적어도 하나의 서비스 중 각각의 서비스에 대한 우선순위를 배정하는 단계와, 적어도 하나의 서비스에 대해 사용자 디바이스들 간에 레인징 및 데이터 세션들을 스케줄링하는 각각의 서비스의 우선순위를 동적으로 수정하는 단계를 포함한다. 그 방법은 제어자들의 그룹을 형성하는 단계, 그 그룹의 각각의 제어자에 대한 레인징 세션을 스케줄링함으로써 그룹에 대한 그룹 복합 스케줄 정보를 생성하는 단계, 및 그 그룹의 각각의 제어자에게 그룹 복합 스케줄 정보를 브로드캐스트하는 단계를 더 포함한다. 그룹 복합 스케줄 정보는 그 그룹의 각각의 제어자에 대한 스케줄링된 레인징 세션에 관한 정보를 포함한다.

Description

단거리 통신 시스템에서 레인징 및 데이터 세션들을 스케줄링하는 방법들 및 시스템들
본 개시는 단거리 통신 시스템들의 분야에 관한 것이고 더 상세하게는 단거리 통신 시스템 레인징 및 데이터 세션들을 스케줄링하는 것에 관한 것이다.
단거리 통신 시스템에서, 서로 비교적 가까이 위치되는 사용자 디바이스들은 임의의 셀룰러 인프라스트럭처를 수반하는 일없이 서로 통신할 수 있다. 그 사용자 디바이스들은 하나 이상의 단거리 통신 프로토콜들에 의해 지원되는 라디오 채널을 통해 서로 통신할 수 있다. 단거리 통신 프로토콜들의 예들은, 비제한적으로, 초광대역(Ultra-Wide Band)(UWB), 블루투스, 블루투스 저 에너지(Bluetooth Low Energy)(BLE), WiMAX(Worldwide Interoperability for Microwave Access) 또는 임의의 다른 IEEE 802.15.4 준수 프로토콜들일 수 있다.
기존의 접근법들에서, 단거리 통신 시스템은 사용자 디바이스들이 하나 이상의 서비스들을 병렬로 제공하기 위해 하나 이상의 애플리케이션들을 호스팅하는 것을 가능하게 한다. 하나 이상의 서비스들의 예들은, 비제한적으로, 게이밍 서비스, 액세스 서비스, 로케이션 서비스 등일 수 있다. 사용자 디바이스들은 하나 이상의 서비스들을 수행하기 위해 서로 간에 라디오 주파수(RF) 레인징 및 데이터 전달을 수행할 수 있다. RF 레인징은 두 개의 사용자 디바이스들 사이의 거리/레인지를 측정하는 것을 수반한다.
사용자가 해당 모바일 디바이스를 사용하여 TV/게이밍 콘솔 상에서 진행중인 게이밍 세션에 처음에 관여하는 도 1에 묘사된 바와 같은 예시적인 시나리오를 고려한다. 이러한 시나리오에서, 모바일 디바이스와 TV는 게이밍 세션에 대한 하나 이상의 할당된 자원들을 사용하여 RF 레인징과 데이터 세션들을 수행할 수 있다. 게다가, 사용자가 모바일 디바이스를 사용하여 도어락을 잠금해제하기 위해 (즉, 액세스 서비스를 위해) 도어를 향해 이동할 수 있다는 것을 고려한다. 이러한 시나리오에서, 게이밍 세션에 할당된 자원들에 비해 더 많은 양의 자원들이 액세스 서비스를 위한 레인징 및 데이터 세션들을 수행하기 위해 모바일 디바이스 및 도어락에 제공되어야 하며, 그래서 디바이스들 사이의 라디오 채널은 사용자 경험을 향상시킴으로써 최적으로 이용될 수 있다. 그러나, 기존의 접근법들은 서비스들에 우선순위를 배정하는 것과 서비스들에 대한 우선순위를 동적으로 변경하는 것을 수반하지 않는다.
게다가, 기존의 접근법들에서, 하나 이상의 사용자 디바이스들은 하나 이상의 서비스들에 대해 레인징 세션들을 스케줄링하기 위해 서로 협력하지 않을 수 있다. 따라서, 경합과 백오프들을 초래한다.
단거리 통신 시스템은 2 개의 모바일 디바이스들, 2 개의 게이밍 콘솔들/TV, 및 3 개의 도어락들이 하나 이상의 서비스들에 대해 서로 간에 레인징 세션들을 병렬로 수행하게 하는 것을 가능하게 하는 도 2a에 묘사된 바와 같은 예시적인 시나리오를 고려한다. 이러한 시나리오에서, 8 개의 RF 레인징 세션들이 8 개 서비스들에 대해(즉, 2 개의 게이밍 세션들 및 3 개의 도어락 세션들에 대해) 발생할 수 있다. 그러나, 8 개의 RF 레인징 세션들 중에서, 5 개 레인징 세션들이 조정되지 않을 수 있는데, 각각의 디바이스가 레인징 세션들을 수행하기 위해 시스템의 동일한 대역폭을 공유하고 있는 인근의 다른 디바이스들을 검출하지 못하기 때문이다. 비조정된 레인징 세션들은 백오프(back off)하고 있는 디바이스들에 경합을 초래할 수 있다.
두 개의 모바일 디바이스들(모바일 디바이스 1, 및 모바일 디바이스 2), 게이밍 콘솔(콘솔 1), 두 개의 자동차들(자동차 1 및 자동차 2)이 그룹 1에 존재할 수 있고 모바일 디바이스(모바일 디바이스 3), 게이밍 콘솔(콘솔 2), 두 개의 자동차들(자동차 1 및 자동차 2)이 그룹 2에 존재할 수 있는 도 2b 내도 도 2e에 묘사된 바와 같은 예시적인 시나리오를 고려한다. 그룹 1에서, 모바일 디바이스 2는 제어자(controller)일 수 있고 다른 디바이스들은 피제어자(controlee)들일 수 있다. 그룹 2에서, 모바일 디바이스 3은 제어자일 수 있고 다른 디바이스들은 피제어자들일 수 있다. 본 개시의 일 예에서 그룹 1의 제어자는 두 개의 모바일 디바이스들과 콘솔 1 간의 게이밍 세션 1과 자신과 두 개의 자동차들 간의 자동차 세션 1에 대해 레인징 세션들을 스케줄링할 수 있음을 고려한다. 그룹 2의 제어자는 자신과 콘솔 2 간의 게이밍 세션 2와, 자신과 두 개의 자동차들 간의 자동차 세션 2에 대해 레인징 세션들을 스케줄링할 수 있음을 고려한다. 그러나, 그룹 1 및 그룹 2에서의 스케줄링된 레인징 세션들은 비조정된 세션들을 초래할 수 있는데, 그룹 1 및 그룹 2의 디바이스들이 레인징 세션들을 수행하기 위해 동일한 대역폭을 사용하고 있는지를 결정하기 위해 제어자 1 및 제어자 2가 서로 조정하지 않기 때문이다.
본 개시의 실시예들의 주요 목적은 단거리 통신 시스템에서 레인징 및 데이터 세션들을 스케줄링하는 방법들 및 시스템들을 개시하고자 하는 것이다.
본 개시의 실시예들의 다른 목적은 각각의 서비스에 배정된 우선순위 파라미터에 기초하여 적어도 하나의 서비스에 대한 복수의 사용자 디바이스들 간에 레인징 및 데이터 세션들을 스케줄링하는 방법들 및 시스템들을 개시하고자 하는 것이다.
본 개시의 실시예들의 다른 목적은 그룹 복합 스케줄링 정보(group composite scheduling information)에 기초하여 적어도 하나의 서비스에 대한 복수의 사용자 디바이스들 간에 조정된 레인징 세션들을 스케줄링하는 방법들 및 시스템들을 개시하고자 하는 것이다.
따라서, 본 개시의 실시예들은 단거리 통신 시스템에서 레인징 및 데이터 세션들을 스케줄링하는 방법들 및 시스템들을 제공한다. 본원에서 개시되는 방법은, 제어자에 의해, 복수의 서비스들 중 적어도 하나의 서비스에 대한 적어도 하나의 세션을 스케줄링하기 위한 적어도 하나의 피제어자로부터의 요청을 수신하는 단계로서, 적어도 하나의 세션은 레인징 세션 및 데이터 세션 중 적어도 하나를 포함하는, 상기 요청을 수신하는 단계를 포함한다. 그 방법은, 제어자에 의해, 적어도 하나의 세션에 대해 적어도 하나의 서비스에 우선순위 파라미터들을 배정하는 단계를 포함한다. 그 방법은, 제어자에 의해, 배정된 우선순위 파라미터들에 기초하여, 적어도 하나의 서비스에 대해 상기 제어자와 적어도 하나의 피제어자 간에 적어도 하나의 세션을 스케줄링하는 단계를 포함한다.
따라서, 본 개시의 실시예들은 단거리 통신 시스템에서 레인징 및 데이터 세션들을 스케줄링하는 방법들 및 시스템들을 제공한다. 본원에서 개시되는 방법은, 제어자에 의해, 복수의 서비스들 중 적어도 하나의 서비스에 대한 적어도 하나의 세션을 스케줄링하기 위한 적어도 하나의 피제어자로부터의 요청을 수신하는 단계로서, 적어도 하나의 세션은 레인징 세션 및 데이터 세션 중 적어도 하나를 포함하는, 상기 요청을 수신하는 단계를 포함한다. 그 방법은, 제어자에 의해, 적어도 하나의 세션에 대해 적어도 하나의 서비스에 우선순위 파라미터들을 배정하는 단계를 포함한다. 그 방법은, 제어자에 의해, 배정된 우선순위 파라미터들에 기초하여, 적어도 하나의 서비스에 대해 상기 제어자와 적어도 하나의 피제어자 간에 적어도 하나의 세션을 스케줄링하는 단계를 포함한다.
따라서, 본 개시의 실시예들은 단거리 통신 시스템에서 레인징 및 데이터 세션들을 스케줄링하는 방법들 및 시스템들을 제공한다. 본원에서 개시되는 방법은 제어자에 의해, 적어도 하나의 다른 제어자를 포함시킴으로써 제어자들의 그룹을 생성하는 단계를 포함한다. 그 방법은 제어자에 의해, 제어자들의 그룹에서의 각각의 제어자에 의해 지원되는 복수의 서비스들 중 각각의 서비스의 서비스 품질(QoS) 파라미터들을 결정하는 단계를 더 포함한다. 그 방법은, 제어자에 의해, 각각의 서비스의 결정된 QoS 파라미터들에 기초하여 복수의 서비스들 중 각각의 서비스에 대해 상기 제어자들의 그룹에서의 각각의 제어자에 대한 적어도 하나의 레인징 세션을 스케줄링하는 단계를 더 포함한다.
따라서, 본 개시의 실시예들은 적어도 하나의 피제어자와 적어도 하나의 피제어자에 커플링되는 적어도 하나의 제어자를 포함하는 단거리 통신 시스템을 제공한다. 제어자는 복수의 서비스들 중 적어도 하나의 서비스에 대한 적어도 하나의 세션을 스케줄링하기 위한 적어도 하나의 피제어자로부터의 요청을 수신하도록 구성되며, 적어도 하나의 세션은 레인징 세션 및 데이터 세션 중 적어도 하나를 포함한다. 제어자는 추가로, 적어도 하나의 세션에 대해 적어도 하나의 서비스에 우선순위 파라미터들을 배정하도록 구성된다. 제어자는 추가로, 배정된 우선순위 파라미터들에 기초하여, 적어도 하나의 서비스에 대해 제어자와 적어도 하나의 피제어자 간에 적어도 하나의 세션을 스케줄링하도록 구성된다.
따라서, 본 개시의 실시예들은 복수의 제어자들을 포함하는 단거리 통신 시스템을 제공한다. 제어자는 적어도 하나의 다른 제어자를 포함시킴으로써 제어자들의 그룹을 생성하도록 구성된다. 제어자는 추가로, 제어자들의 그룹에서의 각각의 제어자에 의해 지원되는 복수의 서비스들 중 각각의 서비스의 서비스 품질(QoS) 파라미터들을 결정하도록 구성된다. 제어자는 추가로, 각각의 서비스의 결정된 QoS 파라미터들에 기초하여 복수의 서비스들 중 각각의 서비스에 대해 제어자들의 그룹에서의 각각의 제어자에 대한 적어도 하나의 레인징 세션을 스케줄링하도록 구성된다.
본 개시에서의 예시적인 실시예들의 이들 및 다른 양태들은 다음의 설명 및 첨부 도면들과 연계하여 고려될 때 더 잘 인식되고 이해될 것이다. 그러나, 다음의 설명들은, 예시적인 실시예들 및 그것들의 수많은 특정 세부사항들을 나타내지만, 예시로서 주어지고 제한하는 것이 아니라는 것이 이해되어야 한다. 많은 변경들 및 수정들이 본 개시에서의 예시적인 실시예들의 범위 내에서, 그 사상으로부터 벗어남 없이 이루어질 수 있고, 본 개시에서의 예시적인 실시예들은 모든 그러한 수정들을 포함한다.
본 개시에서의 실시예들은 첨부 도면들에서 예시되지만, 그 도면들의 전체에 걸쳐 유사한 참조 문자들은 다양한 도면들에서 대응하는 부분들을 나타낸다. 본 개시의 실시예들은 도면들을 참조하여 다음의 설명으로부터 더 잘 이해될 것이며, 도면들 중:
도 1과 도 2a 내지 도 2e는 단거리 통신 시스템에서 레인징 세션을 스케줄링하는 기존의 방법을 묘사하는 예시적인 도면들이며;
도 3a 및 도 3b는 본원에서 개시된 바와 같은 실시예들에 따른 단거리 통신 시스템을 묘사하며;
도 4는 본원에서 개시된 바와 같은 실시예들에 따른, 단거리 통신 시스템에서 사용자 디바이스의 다양한 컴포넌트들을 묘사하는 블록도이며;
도 5는 본원에서 개시된 바와 같은 실시예들에 따른, 하나 이상의 서비스들의 우선순위 파라미터들에 기초하여 레인징 및 데이터 세션들을 스케줄링하는 방법을 묘사하는 흐름도이며;
도 6a는 본원에서 개시된 바와 같은 실시예들에 따른, 진행중인 하나 이상의 서비스들의 우선순위 파라미터들을 수정함으로써 진행중인 하나 이상의 서비스에 대한 레인징 세션들의 스케줄링을 묘사하는 예시적인 도면이며;
도 6b는 본원에서 개시된 바와 같은 실시예들에 따른, 서비스 품질 정보(Quality of Service information)(QoS IE)를 묘사하며;
도 7a 및 도 7b는 본원에서 개시된 바와 같은 실시예들에 따른, 해당 서비스들의 우선순위 파라미터들에 기초하여 진행중인 서비스들에 대한 레인징 및 데이터 세션들을 수행하는 예시적인 사용 사례 시나리오들을 묘사하며;
도 8은 본원에서 개시된 바와 같은 실시예들에 따른, 그룹 복합 스케줄링 정보(GCS IE)에 기초하여 레인징 세션을 스케줄링하는 방법을 묘사하는 흐름도이며;
도 9a는 본원에서 개시된 바와 같은 실시예들에 따른, 제어자들의 그룹을 생성하는 방법을 묘사하는 예시적인 흐름도이며;
도 9b는 본원에서 개시된 바와 같은 실시예들에 따른 GCS IE를 묘사하며;
도 10은 본원에서 개시된 바와 같은 실시예들에 따른, GCS IE에 기초하여 레인징 세션의 스케줄링을 위한 방법을 묘사하는 예시적인 도면이며;
도 11은 본원에서 개시된 바와 같은 실시예들에 따른, GCS IE에 기초하여 레인징 세션들을 스케줄링하는 시나리오를 묘사하는 예시적인 도면이며; 그리고
도 12a 및 도 12b는 본원에서 개시된 바와 같은 실시예들에 따른, 그룹에 존재하는 제어자들에 대해 정의된 계층적 스케줄링 구조를 묘사하는 예시적인 도면들이다.
본 개시에서의 예시적인 실시예들과 그것들의 다양한 특징들 및 유리한 세부사항들은 첨부 도면들에서 예시되고 다음의 설명에서 상세하게 되는 비제한적인 실시예들을 참조하여 더 충분히 설명된다. 널리 공지된 컴포넌트들 및 프로세싱 기법들의 설명들은 본 개시의 실시예들을 불필요하게 모호하게 하지 않기 위해서 생략된다. 본 개시에서의 상세한 설명은 단지 본 개시의 예시적인 실시예들이 실시될 수 있는 방법들의 이해를 용이하게 하기 위해서 그리고 본 기술분야의 통상의 기술자들이 본 개시의 예시적인 실시예들을 실시하는 것을 추가로 가능하게 하기 위해서일 뿐이다. 따라서, 본 개시는 본 개시의 예시적인 실시예들의 범위를 제한하는 것으로 해석되지 않아야 한다.
본 개시의 실시예들은 단거리 통신 시스템에서 레인징 및 데이터 세션들을 수행하기 위해 복수의 서비스들 중 각각의 서비스에 우선순위를 배정하고 각각의 서비스의 우선순위를 동적으로 변경하는 방법들 및 시스템들을 개시한다.
본 개시의 실시예들은 단거리 통신 시스템에서 조정된 레인징 세션들을 스케줄링하는 방법들 및 시스템들을 개시한다.
이제 도면들을, 그리고 더 상세하게는 유사한 참조 부호들이 도면들의 전체에 걸쳐 일관되게 대응하는 특징부들을 나타내는 도 3a 내지 도 12b를 참조하면, 예시적인 실시예들이 도시되어 있다.
도 3a 및 도 3b는 본원에서 개시된 바와 같은 실시예들에 따른 단거리 통신 시스템(300)을 묘사한다. 본 개시에서 언급되는 단거리 통신 시스템(300)은, 비제한적으로, 무선 센서 네트워크, 스마트 홈/오피스 시스템, 차량 안전 시스템, 감시 시스템, 건강 관리 시스템, 주변 보조 생활 시스템(ambient assistant living system), 게이밍 시스템 등 중 적어도 하나일 수 있다.
단거리 통신 시스템(300)은 복수의 사용자 디바이스들(302)을 포함한다. 사용자 디바이스(302)는 단거리 통신 시스템(300)에 의해 제공되는 적어도 하나의 프로토콜을 사용할 수 있는 임의의 디바이스일 수 있다. 사용자 디바이스(302)의 예들은, 비제한적으로, 모바일 폰, 스마트폰, 태블릿, 패블릿(phablet), 개인 정보 단말기(personal digital assistant)(PDA), 랩톱, 컴퓨터, 착용가능 컴퓨팅 디바이스, 차량 인포테인먼트 디바이스, 사물 인터넷(Internet of Things)(IoT) 디바이스, 가상 현실(Virtual Reality)(VR) 디바이스, 게이밍 콘솔, 의료 디바이스, 홈 어플라이언스, 차량, 텔레비전(TV), 도어락, 미디어 플레이어, 셋탑 박스, 자동 유도(auto-guided) 차량, 또는 단거리 통신 시스템(300)에 의해 제공되는 적어도 하나의 프로토콜을 사용할 수 있는 임의의 다른 디바이스일 수 있다. 단거리 통신 시스템(300)에 의해 제공되는 적어도 하나의 프로토콜의 예들은, 비제한적으로, 초광대역(UWB), 블루투스, 블루투스 저 에너지(BLE), Wi-Fi, 적외선 무선 통신, 근접 장 통신(NFC), Zigbee, WiMAX(Worldwide Interoperability for Microwave Access) 또는 임의의 다른 IEEE 802.15.4 준수 프로토콜들일 수 있다.
단거리 통신 시스템(300)에서, 복수의 사용자 디바이스들(302)은, 비제한적으로, 집, 방, 사무실, 병원, 강당, 경기장, 주차 공간, 빌딩 바닥, 빌딩 부속건물(wing) 등과 같이, 위치적으로 서로 비교적 가까이 위치될 수 있다. 복수의 사용자 디바이스들(302)은 단거리 통신 시스템(300)의 적어도 하나의 프로토콜에 의해 지원되는 라디오 채널을 통해 서로 통신할 수 있다.
복수의 사용자 디바이스들(302)은 대응하는 적어도 하나의 로케이션에 존재하는 적어도 하나의 사용자를 모니터링하기 위한 하나 이상의 센서들을 더 포함할 수 있다. 대안적으로, 복수의 사용자 디바이스들(302)은 사용자를 모니터링하기 위해 대응하는 적어도 하나의 로케이션에 전개되는 하나 이상의 센서들과 커플링될 수 있다. 센서들의 예들은, 비제한적으로, 카메라, 모션 센서, 근접 센서, 마이크로폰 등일 수 있다.
복수의 사용자 디바이스들(302)은 대응하는 적어도 하나의 로케이션에 존재하는 적어도 하나의 사용자에게 하나 이상의 서비스들을 제공하기 위해 하나 이상의 애플리케이션들을 호스팅할 수 있다. 하나 이상의 서비스들의 예들은, 비제한적으로, 게이밍 서비스, 차량 레인징 서비스, 뱅킹 서비스, 액세스 서비스(예를 들어, 도어 잠금해제 서비스, 어플라이언스 잠금해제 서비스 등), 로케이션 서비스 등일 수 있다. 일 실시예에서, 각각의 애플리케이션은 애플리케이션의 성질/유형에 기초하여 각각의 사용자 디바이스(302)에 대해 메인 애플리케이션 또는 세컨더리 애플리케이션으로 분류될 수 있다. 모바일 디바이스(사용자 디바이스(302)의 일 예)가 뱅킹 서비스를 위해 사용되는 제1 애플리케이션과 게이밍 서비스를 위해 사용되는 제2 애플리케이션을 호스팅하는 예시적인 시나리오를 고려한다.
복수의 사용자 디바이스들(302)은 해당 로케이션에 존재하는 사용자(들)에게 하나 이상의 서비스들을 제공하기 위해 하나 이상의 애플리케이션들을 실행하도록 구성될 수 있다. 사용자는 하나 이상의 다른 사용자 디바이스들(302) 상에서 제공되고 있는/진행중인 하나 이상의 서비스들과 상호작용하기 위해 사용자 디바이스들(302) 중 어느 하나의 사용자 디바이스를 사용할 수 있다. 일 예에서, 사용자는 모바일 디바이스를 사용하여 게이밍 콘솔 상에서 진행중인 게이밍 세션을 플레이할 수 있다. 다른 예에서, 사용자는 모바일 디바이스를 사용하여 도어락을 잠금해제할(예를 들어: 액세스 서비스를 사용할) 수 있다. 다른 예에서, 사용자는 차량 레인징 서비스를 위해 모바일 디바이스를 사용할 수 있다.
일 실시예에서, 애플리케이션을 실행하여 하나 이상의 서비스들을 제공하는 사용자 디바이스(302)는 이후로는 이 문서를 통하여 개시자로서 지칭될 수 있다. 일 실시예에서, 다른 사용자 디바이스(302) 상에서 진행중인 하나 이상의 서비스들과 상호작용하기 위해 다른 사용자 디바이스(302)와 통신하는 사용자 디바이스(302)는 이후로는 이 문서를 통하여 응답자로서 지칭될 수 있다.
사용자 디바이스들(302)(개시자 및 응답자)은 진행중인 하나 이상의 서비스들과 상호작용하기 위한 레인징 세션 및 데이터 세션을 수행할 수 있다. 레인징 세션은 두 개의 사용자 디바이스들(302) 사이의 거리를 측정하는 것을 수반하는 라디오 주파수(RF) 레인징 세션일 수 있다. 레인징 세션은 단거리 통신 시스템(300)의 적어도 하나의 프로토콜에 의해 지원되는 라디오 채널을 통해 한 번에 두 개의 사용자 디바이스들(302) 사이에서 수행될 수 있다. 레인징 세션을 수행하기 위해, 사용자 디바이스/응답자(302)는 폴 전송 시간(time of sending poll)(TSP)이라 지칭되는 시간에 다른 사용자 디바이스/개시자(302)의 알려진 주소에 폴 메시지를 전송한다. 폴 메시지를 수신 시, 개시자는 폴 수신 시간(time of poll reception)(TRP)을 기록하고 응답 폴 시간(time of response poll)(TRP)에 응답 메시지를 응답자에게 전송한다. 응답 메시지를 수신 시, 응답자는 응답 수신 시간(time of receiving response)(TRR)을 기록하고 최종 메시지를 생성하는데, 최종 메시지는 응답자의 아이덴티티(ID), TSP, TRR, 및 최종 메시지 전송 시간(time of sending final message)(TSF)을 포함한다. 응답자는 최종 메시지를 개시자에게 전송한다. 응답자로부터 최종 메시지를 수신 시, 개시자는 RF 신호의 비행 시간을 결정하고 결정된 비행 시간에 광속을 곱함으로써 개시자와 응답자 사이의 거리를 계산한다. 데이터 세션은 사용자 디바이스들(302) 사이에 애플리케이션 특정 데이터를 전송하는 것을 수반한다.
본 개시의 실시예들은 복수의 사용자 디바이스들(302) 중 하나의 사용자 디바이스가 복수의 사용자 디바이스들(302) 간에 진행중인 하나 이상의 서비스들로 서로 상호작용하기 위해 레인징 및 데이터 세션들을 스케줄링/구성하는 것을 가능하게 한다.
일 실시예에서, 레인징 세션들 및 데이터 세션들은 진행중인 하나 이상의 서비스들의 우선순위 파라미터들에 기초하여 구성될 수 있다. 각각의 서비스의 우선순위 파라미터들은 각각의 서비스에 할당되는 우선순위와 하나 이상의 자원들(QoS 자원들)을 포함한다. 자원들의 예들은, 비제한적으로, 라디오 채널을 이용하기 위한 주파수, 대역폭 요건들, 허용가능 데드라인 등일 수 있다.
일 실시예에서, 레인징 세션들은 복수의 사용자 디바이스들(302) 중의 하나의 사용자 디바이스가 복합 스케줄링 방법을 수행하는 것을 가능하게 함으로써 스케줄링될 수 있다. 복합 스케줄링 방법은 사용자 디바이스들(302)의 그룹을 형성하는 단계, 그룹의 각각의 사용자 디바이스(302)에 대해 레인징 세션을 스케줄링함으로써 그룹 복합 스케줄 정보를 생성하는 단계, 및 그룹 그룹의 각각의 사용자 디바이스(302)에 복합 스케줄 정보를 브로드캐스트하는 단계를 수반한다. 그룹 복합 스케줄 정보는 그룹의 각각의 사용자 디바이스(302)에 대한 스케줄링된 레인징 세션에 관한 정보를 포함한다.
본 개시의 실시예들은 각각의 서비스의 우선순위 파라미터들에 기초하여 진행중인 하나 이상의 서비스들을 레인징 및 데이터 세션들을 스케줄링하는 것을 추가로 설명한다.
우선순위 파라미터들에 기초하여 레인징 세션들을 스케줄링하기 위해, 본 개시의 실시예들은 복수의 사용자 디바이스들(302) 중의 각각의 사용자 디바이스가 하나 이상의 서비스들에 대해 하나 이상의 애플리케이션 중 각각의 애플리케이션의 실행에 기초하여 동적으로 제어자(302) 또는 피제어자(302)로서 역할을 하는 것을 가능하게 한다. 예를 들어, 모바일 디바이스(사용자 디바이스(302)의 일 예)가 뱅킹 서비스를 제공하기 위해 자신의 애플리케이션을 실행할 때 모바일 디바이스는 제어자(302)로서 역할을 할 수 있다. 모바일 디바이스가 게이밍 콘솔 상에서 게임을 플레이하기 위한 자신의 제2 애플리케이션을 실행할 때 모바일 디바이스는 피제어자(302)로서 역할을 할 수 있다. 다른 예를 들어, 게이밍 콘솔(사용자 디바이스(302)의 일 예)이 게이밍 서비스를 제공하기 위한 애플리케이션을 실행할 때 게이밍 콘솔은 제어자(302)로서 역할을 할 수 있다. 다른 예를 들어, 도어락이 액세스 서비스를 위한 애플리케이션을 실행할 때, 도어락은 제어자(302)로서 역할을 할 수 있다. 본 개시의 실시예들은 다른 사용자 디바이스들/피제어자의 기능들을 제어할 수 있는 사용자 디바이스(302)를 지칭하기 위해 "제어자", "메인 엔티티", "마스터 노드", "프라이머리 노드", "노드" 등과 같은 용어들을 교환적으로 사용한다. 본 개시의 실시예들은 다른 사용자 디바이스/제어자에 의해 제어될 수 있는 사용자 디바이스를 지칭하기 위해 "피제어자", "슬레이브 노드", "세컨더리 노드" 등과 같은 용어들을 교환적으로 사용한다.
제어자(302)는 초기화 페이즈에서 제어자 및 피제어자 상에서 호스팅되는 하나 이상의 애플리케이션들에 대응하는 하나 이상의 서비스들 중의 각각의 서비스에 우선순위 파라미터들을 초기에 배정하도록 구성될 수 있다. 초기화 페이즈는 사용자 디바이스들(302)(제어자(302) 및 하나 이상의 피제어자들을 포함함)이 하나 이상의 서비스들을 제공하기 위한 애플리케이션들을 실행하는 것을 시작하지 않은 모드를 지칭할 수 있다. 각각의 서비스의 우선순위 파라미터들은 각각의 서비스에 할당되는 우선순위 및 하나 이상의 자원들을 포함한다. 자원들의 예들은, 비제한적으로, 라디오 채널을 이용하기 위한 주파수, 대역폭 요건들, 허용가능 데드라인 등일 수 있다. 본 개시의 실시예들은 "우선순위 파라미터들", "QoS 파라미터들", "우선순위 및 자원 파라미터들" 등과 같은 용어들을 각각의 서비스에 할당되는 파라미터들을 지칭하기 위해 교환적으로 사용할 수 있다.
하나 이상의 서비스들 중 각각의 서비스에 대해 우선순위 파라미터들/QoS 파라미터들을 배정하기 위해, 제어자는 제어자 및 하나 이상의 피제어자들 상에 호스팅되는 하나 이상의 애플리케이션들(하나 이상의 서비스들에 연관됨)의 정보를 수집한다. 일 예에서, 하나 이상의 애플리케이션들의 정보는, 각각의 애플리케이션에 의해 지원되는 복수의 서비스들, 및 각각의 서비스의 성질 등일 수 있지만, 이에 제한되지 않는다.
하나 이상의 애플리케이션들의 수집된 정보에 기초하여, 제어자(302)는 제어자 및 하나 이상의 피제어자들 상에서 호스팅되는 하나 이상의 애플리케이션들에 대응하는 하나 이상의 서비스들 중 각각의 서비스에 대해 우선순위 파라미터들을 배정한다. 각각의 서비스에 대해 우선순위 파라미터들을 배정하는 것은 서비스의 성질에 관한 수집된 정보에 기초하여 각각의 서비스에 대해 우선순위를 배정하는 것과 배정된 우선순위에 기초하여 각각의 서비스에 대해 하나 이상의 자원들을 배정하는 것을 포함한다. 우선순위는 가중값들을 각각의 서비스에 배정함으로써 각각의 서비스에 대해 배정될 수 있다. 하나 이상의 자원들의 예들은, 비제한적으로, 라디오 채널을 위해 이용되는 주파수, 대역폭 요건들, 허용가능 데드라인 등일 수 있다. 일 실시예에서, 제어자(302)는 우선순위 파라미터들의 두 개의 세트들을 각각의 서비스에 배정할 수 있는데, 우선순위 파라미터들의 하나의 세트는 레인징 세션을 위한 것일 수 있고 다른 세트 데이터 세션을 위한 것일 수 있다. 일 실시예에서, 제어자(302)는 우선순위 파라미터들의 동일한 세트를 레인징 세션들 및 데이터 세션들 양쪽 모두에 대해 각각의 서비스에 배정할 수 있다.
예를 들어, 제어자(302)는 게이밍 서비스 및 액세스 서비스에 비해 더 높은 가중값들을 뱅킹 서비스에 배정함으로써 게이밍 서비스 및 액세스 서비스에 비하여 뱅킹 서비스에 최고 우선순위를 배정할 수 있다. 우선순위에 기초하여, 제어자(302)는 게이밍 서비스 및 액세스 서비스에 비하여 뱅킹 서비스에 대해 더 많은 양의 자원들을 배정할 수 있다. 따라서, 이 예에서, 뱅킹 서비스는 게이밍 서비스 및 액세스 서비스에 비해 더 높은 우선순위 파라미터들을 배정받는다.
각각의 서비스에 우선순위 파라미터들을 배정 시, 제어자는 QoS 정보(QoS IE)를 작성/생성한다. QoS IE는, 비제한적으로, 시스템(300)의 적어도 하나의 로케이션에 존재하는 사용자 디바이스들(302)(제어자 및 하나 이상의 피제어자들)의 수, 각각의 사용자 디바이스(302)의 ID, 각각의 사용자 디바이스(302)에 의해 지원되는 각각의 서비스의 우선순위/QoS 파라미터들 등 중 적어도 하나에 관한 정보를 포함한다. 제어자(302)는 QoS IE를 저장한다. 또한, 제어자(302)는 생성된 QoS IE를 하나 이상의 피제어자들에게 브로드캐스트한다.
제어자(302)는 추가로, 하나 이상의 서비스들을 제공하기 위해 제어자(302) 및 피제어자들(302) 상의 하나 이상의 애플리케이션들의 실행을 개시할 시, 하나 이상의 서비스들 중 각각의 서비스의 우선순위 파라미터들을 동적으로 제어/수정하도록 구성될 수 있다. 제어자(302)는 하나 이상의 서비스들 중 각각의 서비스의 동적으로 제어되는 우선순위 파라미터들에 기초하여 제어자(302)와 하나 이상의 피제어자들(302) 간의 레인징 세션들 및 데이터 세션들을 스케줄링할 수 있다.
제어자(302)는 하나 이상의 애플리케이션들에 대응하는 하나 이상의 서비스들이 하나 이상의 피제어자들(302) 상에서 진행중일 때(즉, 피제어자들(302)이 하나 이상의 서비스들에 대응하는 하나 이상의 애플리케이션들을 실행하는 것을 시작할 때) 하나 이상의 피제어자들(302)로부터 하나 이상의 요청들을 수신한다. 하나 이상의 요청들은 진행중인 하나 이상의 서비스들 중 각각의 서비스에 대해 레인징 및 데이터 세션들을 스케줄링하기 위한 것일 수 있다. 일 실시예에서, 하나 이상의 피제어자들(302)은 QoS IE를 사용하고 QoS IE로부터 연관된 하나 이상의 서비스들의 현재 우선순위 파라미터들을 추출할 수 있다. 하나 이상의 피제어자들(302)은 연관된 하나 이상의 서비스들의 현재 우선순위 파라미터들을 하나 이상의 요청들에 포함시키고 하나 이상의 요청들을 제어자(302)에게 전송할 수 있다. 각각의 서비스의 현재 우선순위 파라미터들은 초기화 페이즈 동안 각각의 서비스에 배정되는 초기 우선순위 파라미터들, 또는 이전의 레인징 및 데이터 세션 동안 각각의 서비스에 대한 수정된 우선순위 파라미터들을 포함할 수 있다. 제어자(302)는, 하나 이상의 서비스들이 제어자(302) 상에서 진행중이면, 저장된 QoS IE로부터 하나 이상의 서비스들의 현재 우선순위 파라미터들을 또한 수집할 수 있다.
제어자(302) 및 하나 이상의 피제어자들(302) 상에서 진행중인 하나 이상의 서비스들의 현재 파라미터들을 수집/수신 시, 제어자(302)는 추가로, 하나 이상의 서비스들의 맥락에 기초하여 하나 이상의 서비스들에 연관되는 레인징 큐 및 데이터 큐의 시간 지연의 가중값들을 결정한다.
제어자(302)는 추가로 사용자 의도를 결정한다. 일 실시예에서, 사용자 의도는 하나 이상의 진행중인 서비스들을 향한 적어도 하나의 사용자의 행동/액션들일 수 있다. 적어도 하나의 사용자는 제어자(302) 및 하나 이상의 피제어자들(302)의 대응하는 로케이션에 존재할 수 있다. 액션들의 예들은, 비제한적으로, 사용자의 움직임들, 하나 이상의 진행중인 서비스들을 향해 사용자에 의해 수행되는 제스처들 등일 수 있다. 일 실시예에서, 제어자는 적어도 하나의 사용자의 대응하는 로케이션에 전개된 센서들로부터 데이터를 수집함으로써 사용자 의도를 결정할 수 있다. 일 실시예에서, 제어자는 신경망을 사용하여 센서들로부터 수집된 데이터에 기초하여 사용자 의도를 결정할 수 있다. 신경망들의 예들은, 비제한적으로, 콘볼루션 신경망(convolutional neural network)(CNN), 심층 신경망(deep neural network)(DNN), 순환 신경망(recurrent neural network)(RNN), RBM(restricted Boltzmann Machine), DBN(deep belief network), 양방향성 순환 심층 신경망(bidirectional recurrent deep neural network)(BRDNN), GAN(generative adversarial networks), 및 심층 Q 네트워크들일 수 있다.
제어자(302)는 결정된 사용자 의도 및 하나 이상의 서비스들에 연관되는 레인징 큐 및 데이터 큐의 시간 지연의 가중값들 중 적어도 하나에 기초하여 진행중인 하나 이상의 서비스들의 현재 우선순위 파라미터들을 수정한다. 각각의 진행중인 서비스의 현재 우선순위 파라미터들을 수정하는 것은 사용자 의도 및 각각의 서비스에 연관되는 큐들의 시간 지연의 가중값들에 기초하여 각각의 진행중인 서비스의 현재 우선순위를 수정(증가/감소)하는 것과, 수정된 우선순위에 기초하여 각각의 진행중인 서비스에 할당된 현재 하나 이상의 자원들을 수정수정(증가/감소)하는 것을 포함한다.
제어자(302)는 요청된 레인징 및 데이터 세션들에 대해 수정된 현재 우선순위 파라미터들을 우선순위 파라미터들로서 각각의 진행중인 서비스에 배정한다. 제어자(302)는 추가로, 각각의 진행중인 서비스에 대한 배정된 우선순위 파라미터들에 기초하여 진행중인 하나 이상의 서비스들에 대해 제어자(302) 및 하나 이상의 피제어자들 간에 요청된 레인징 및 데이터 세션들을 스케줄링한다. 따라서, 제어자(302)와 하나 이상의 피제어자들(302)은 진행중인 하나 이상의 서비스들의 동적으로 가변되는 우선순위/QoS 파라미터들에 기초하여 레인징 세션들 및 데이터 세션들을 수행할 수 있다.
제어자(302)는 진행중인 하나 이상의 서비스들의 수정된 우선순위/QoS 파라미터들로 저장된 QoS IE를 업데이트한다. 제어자(302)는 업데이트된 QoS IE를 저장하고 업데이트된 QoS IE를 하나 이상의 피제어자들(302)에게 브로드캐스트한다.
사용자가 게이밍 콘솔(사용자 디바이스(302)의 일 예) 상에서 제공되는 게이밍 세션과 상호작용하기 위해 처음에 모바일 디바이스(사용자 디바이스(302)의 일 예)를 사용하는 예시적인 시나리오를 고려한다. 이러한 경우들에서, 게이밍 콘솔은 제어자(302)일 수 있고 게이밍 세션은 최고 우선순위/QoS 파라미터들에 연관될 수 있다. 게다가, 도어락(피제어자(302))이 액세스 서비스(도어락 잠금해제)를 위한 애플리케이션을 실행하는 것을 시작한다. 이러한 시나리오에서, 게이밍 콘솔/제어자(302)은 추가로, 도어락/피제어자(302)로부터의 액세스 서비스의 현재 우선순위 파라미터들과, 게이밍 콘솔의 우선순위 파라미터들을 수집한다. 게다가, 제어자(302)는 사용자 의도를 판단한다. 본 개시의 일 예에서, 사용자 의도가 모바일 디바이스 상의 애플리케이션을 액세스 서비스를 위해 개시함으로써 도어를 잠금해제하기 위해 도어락을 향하는 사용자의 움직임일 수 있다는 것을 고려한다. 사용자 의도, 게이밍 세션 및 액세스 서비스의 수신된 우선순위 파라미터들에 기초하여, 제어자(302)는 액세스 서비스의 우선순위/QoS 파라미터들을 증가시키고 게이밍 세션의 우선순위/QoS 파라미터들을 감소시킨다. 업데이트된 우선순위 파라미터들에 기초하여, 제어자(302)는 게이밍 세션 및 액세스 서비스에 대해 모바일 디바이스, 게이밍 콘솔, 및 도어락을 위한 하나 이상의 자원들을 할당할 수 있다. 제어자(302)는 액세스 서비스 및 게이밍 세션에 대해 서로 간에 레인징 및 데이터 세션들을 수행하기 위해 업데이트된 우선순위 파라미터들로 자신, 도어락, 및 모바일 디바이스를 업데이트한다. 따라서, 도어락과 모바일 디바이스는 게이밍 세션에 대한 최고 우선순위 파라미터들을 가지고서 액세스 서비스에 대한 레인징 및 데이터 세션들을 수행할 수 있다.
본 개시의 실시예들은 추가로, 스케줄링 방법의 일 예로서 복합 스케줄 방법을 사용하여 레인징 세션들을 스케줄링하는 것을 설명한다.
복합 스케줄 정보에 기초하여 레인징 세션들을 스케줄링하기 위해, 복수의 사용자 디바이스들(302) 중 제어자로서 역할을 하는 하나의 사용자 디바이스는 로케이션 범위 내에서 하나 이상의 제어자들(302)의 포지셔닝에 기초하여 하나 이상의 제어자들을 추가함으로써 제어자들의 그룹을 생성할 수 있다. 그룹을 생성하는 제어자(302)는 그룹 소유자가 된다. 본 개시의 실시예들은 그룹을 생성하는 제어자를 지칭하기 위해 "제1 제어자", "그룹 소유자", "제1 노드" 등과 같은 용어들을 교환적으로 사용한다.
그룹에서의 각각의 제어자(302)는 하나 이상의 피제어자들에 연관될 수 있다. 예를 들어, 도 2b에 묘사된 바와 같이, 제어자 1이 제어자 2를 추가함으로써 그룹 1을 형성하는데, 제어자 1은 세 개의 피제어자들과 연관될 수 있고 제어자 2는 두 개의 피제어자들과 연관될 수 있다.
그룹을 형성 시, 그룹 소유자(302)(그룹을 형성한 제어자(302))는 하나 이상의 서비스들에 대한 제어자들의 그룹에서의 각각의 제어자에 대해 레인징 세션들을 스케줄링한다. 하나 이상의 서비스들은 그 그룹에 존재하는 제어자들(그룹 소유자를 포함함)에 의해 지원될 수 있다. 그룹 소유자(302)는 각각의 제어자에 대해 하나 이상의 슬롯들을 정의함으로써 레인징 세션들을 스케줄링한다. 슬롯은 레인징 세션들이 수행될 수 있는 레인징 라운드/레인징 구간 또는 타이밍 구간일 수 있다. 그룹 소유자는, 비제한적으로, 하나 이상의 제어자들의 레인지, 그룹의 제어자들에 의해 지원되는 하나 이상의 서비스들의 QoS 파라미터들 등 중 적어도 하나에 기초하여 각각의 제어자에 대해 슬롯을 정의할 수 있다.
레인징 세션들을 스케줄링 시, 그룹 소유자(302)는 하나 이상의 서비스들에 대해 그룹 복합 스케줄 정보(GCS IE)를 생성한다. GCS IE는 레인징 세션들을 형성하기 위해 각각의 제어자에 대해 정의되는 슬롯에 관한 정보를 포함한다. GCS IE는, 비제한적으로, 제어자 ID, 그룹의 각각의 사용자 디바이스(제어자/피제어자들) 상에서 호스팅되는 하나 이상의 애플리케이션들에 대응하는 서비스들의 수, 각각의 서비스에 대한 서비스 파라미터들 등 중 적어도 하나를 포함할 수 있다. 각각의 서비스의 서비스 파라미터들의 예들은, 비제한적으로, 각각의 서비스의 예상되는 QoS 파라미터들, 각각의 서비스의 현재 QoS 파라미터들, 슬롯/레인징 라운드(시작 및 종료 시간을 포함함) 등일 수 있다. 일 예에서, 그룹 소유자(302)는 각각의 서비스의 서비스 버티컬 및 맥락에 기초하여 각각의 서비스의 예상되는 QoS 파라미터들을 결정할 수 있다.
그룹 소유자(302)는 GCS IE가 하나 이상의 서비스들에 대해 성공적으로 생성되었는지를 체크한다. GCS IE가 하나 이상의 서비스들에 대해 성공적으로 생성되지 않았으면, 제어자는 그 GCS IE를 경합/충돌 기반 스케줄링으로서 마킹한다. GCS IE가 for 하나 이상의 서비스들에 대하 성공적으로 생성되었다면, 제어자는 GCS IE를 저장하고 그 GCS IE를 그룹에 존재하는 각각의 제어자에게 브로드캐스트한다. 따라서, 그 그룹에 존재하는 제어자들은 조정된 레인징 세션들을 수행할 수 있다.
일 실시예에서, 그룹 소유자(302)는 적어도 하나의 제어자(302)를 그룹에 새로운 제어자(302)로서 추가할 수 있다. 새로운 제어자(302)는 하나 이상의 피제어자들과 연관될 수 있다. 새로운 제어자(302)를 그룹에 추가 시, 그룹 소유자(302)는 새로운 제어자(302)가 새로운 제어자(302)에 의해 지원되는 하나 이상의 서비스들에 대해 레인징 세션들을 스케줄링하는 것을 가능하게 한다. 새로운 제어자(302)는 그룹 소유자(302)에게 요청하고 그룹 소유자(302)로부터 GCS IE를 수신한다. 새로운 제어자(302)는 다른 제어자들에 대해 정의되는 슬롯들/레인징 라운드들에 관한 정보를 수신된 GCS IE로부터 추출한다. 수신된 GCS IE로부터의 추출된 정보에 기초하여, 새로운 제어자(302)는 새로운 제어자(302)에 의해 지원되는 하나 이상의 서비스들에 대한 레인징 세션들을 스케줄링한다. 새로운 제어자(302)는 그룹에서 다른 제어자들에 대해 정의된 슬롯들과 충돌하지 않을 수 있는 슬롯들을 정의함으로써 레인징 세션들을 스케줄링한다. 새로운 제어자(302)는 새로운 제어자(302)에 대한 스케줄링된 레인징 세션들에 관한 정보를 수신된 GCS IE에 추가함으로써 수신된 GCS IE를 업데이트한다. 새로운 제어자(302)는 추가로, 업데이트된 GCS IE를 저장하고 업데이트된 GCS IE를 그룹의 다른 제어자들(그룹 소유자를 포함함)에게 브로드캐스트한다.
새로운 제어자(302)가 그룹의 다른 제어자들에 대해 정의된 슬롯들과 충돌하지 않을 수 있는 슬롯들을 정의하는 것에 의해 레인징 세션들을 스케줄링하는데 실패하면, 새로운 제어자(302)는 스케줄링된 레인징 세션들을 경합 기반 스케줄링 세션들로서 마킹한다.
대안적으로, 새로운 제어자(302)가 그룹의 다른 제어자들에 대해 정의된 슬롯들과 충돌하지 않을 수 있는 슬롯들을 정의하는 것에 의해 레인징 세션들을 스케줄링하는데 실패하면, 새로운 제어자(302)는 새로운 제어자(302)에 대해 레인징 세션들을 스케줄링하기 위한 요청을 그룹 소유자(302)에게 전송한다. 그 요청은 새로운 제어자(302)에 의해 지원되는 하나 이상의 서비스들의 QoS 파라미터들을 포함할 수 있다.
새로운 제어자(302)로부터 요청을 수신 시, 그룹 소유자(302)는 새로운 제어자로부터의 하나 이상의 서비스들의 수신된 QoS 파라미터들 및 그룹의 레인징 구간에 기초하여 적어도 하나의 액션을 수행한다. 그룹의 레인징 구간은 그 그룹에서의 모든 제어자들 상에서 진행중인 모든 레인징 세션들의 레인징 구간들/레인징 라운드들의 최소공배수일 수 있다. 수행된 액션은, 비제한적으로, 새로운 제어자에 대해 기존의 빈 슬롯을 배정하는 것, 새로운 제어자에 대해 새로운 슬롯(들)을 정의하기 위해 그룹의 레인징 구간의 사이즈를 변경하는 것 등일 수 있다. 그룹 소유자(302)는 그 다음에 수행된 적어도 하나의 액션에 기초하여 새로운 제어자(302)에 대해 레인징 세션들을 스케줄링한다. 그룹 소유자는 새로운 제어자(302)에 대한 스케줄링된 레인징 세션에 관한 정보를 저장된 GCS IE에 추가함으로써 저장된 GCS IE를 (즉, 그룹에 존재하는 제어자들에 대해) 업데이트한다. 그룹 소유자(302)는 업데이트된 GCS IE를 저장하고 그룹에서의 모든 제어자들에 대해 GCS IE를 브로드캐스트한다.
그룹 소유자(302)가 새로운 제어자에 대해 레인징 세션들을 스케줄링하는데 실패하면, 그룹 소유자(302)는 새로운 제어자에 대한 레인징 세션들의 스케줄링을 경합 기반 스케줄링 세션들로 마킹한다.
일 실시예에서, 그룹 소유자(302)(즉, 그룹을 형성했던 제어자)는 그룹으로부터 제어자들 및 연관된 하나 이상의 피제어자들 중 임의의 것을 제거할 수 있다. 이러한 경우들에서, 그룹 소유자(302)는 제거된 제어자에 관련된 정보를 GCS IE로부터 제거함으로써 저장된 GCS IE를 업데이트한다. 그룹 소유자는 업데이트된 GCS IE를 저장하고 그룹에서의 모든 제어자들에 대해 GCS IE를 브로드캐스트한다. 따라서, GCS IE를 사용하여 그 그룹에서 수행되는 레인징 세션들은 서로 충돌/중첩되지 않는다.
도 3은 단거리 통신 시스템(300)의 예시적인 유닛들을 도시하지만, 다른 실시예들이 그것으로 제한되지 않는다는 것이 이해되어야 한다. 다른 실시예들에서, 단거리 통신 시스템(300)은 더 적거나 또는 더 많은 수의 유닛들을 포함할 수 있다. 게다가, 유닛들의 라벨들 또는 이름들은 예시 목적으로만 사용되고 본 개시의 실시예들의 범위를 제한하지 않는다. 하나 이상의 유닛들이 단거리 통신 시스템(300)에서 동일하거나 또는 실질적으로 유사한 기능을 수행하기 위해 함께 조합될 수 있다.
도 4는 본원에서 개시된 바와 같은 실시예들에 따른, 단거리 통신 시스템(300)에서 사용자 디바이스(302)의 다양한 컴포넌트들을 묘사하는 블록도이다. 사용자 디바이스(302)는 하나 이상의 서비스들을 제공하기 위해 메인/세컨더리 애플리케이션들의 실행에 기초하여 제어자(302) 및 피제어자(302)로서 역할을 할 수 있다. 사용자 디바이스(302)는 메모리(402), 통신 인터페이스(404), 센서 유닛(406), 디스플레이(408), 및 프로세서(410)를 포함한다. 사용자 디바이스(302)는 또한 다른 사용자 디바이스들(302), 프로세싱 회로, 입출력(I/O) 포트들 등(도시되지 않음)과 통신하기 위한 하나 이상의 안테나들과 라디오 컴포넌트들을 포함한다.
메모리(402)는, 비제한적으로, 사용자 디바이스들에 관한 정보(예를 들어: 각각의 사용자 디바이스의 ID, 초기 전개에 기초한 사용자 디바이스들 사이의 레인지/거리 등), 하나 이상의 애플리케이션들, 각각의 애플리케이션에 의해 지원되는 하나 이상의 서비스들, 센서들로부터 수집된 데이터, 사용자 의도, 사용자 의도를 결정하기 위한 신경망, 우선순위 파라미터들, 서비스 파라미터들, QoS IE, GCS IE 등 중 적어도 하나를 저장한다. 메모리(402)의 예들은, 비제한적으로, NAND, eMMC(embedded Multi Media Card), SD(Secure Digital) 카드들, USB(Universal Serial Bus), SATA(Serial Advanced Technology Attachment), SSD(solid-state drive) 등일 수 있다. 메모리(402)는 하나 이상의 컴퓨터 판독가능 저장 매체를 또한 포함할 수 있다. 메모리(402)는 비휘발성 저장 엘리먼트들을 또한 포함할 수 있다. 이러한 비휘발성 저장 엘리먼트들의 예들은 자기적 하드 디스크들, 광학적 디스크들, 플로피 디스크들, 플래시 메모리들, 또는 EPROM(electrically programmable memories) 또는 EEPROM(electrically erasable and programmable memories)의 형태들을 포함할 수 있다. 덧붙여서, 메모리(402)는, 일부 예들에서, 비일시적 저장 매체로 간주될 수 있다. "비일시적"이란 용어는 저장 매체가 반송파 또는 전파되는 신호로 구현되지 않음을 나타낼 수 있다. 그러나, "비일시적"이란 용어는 메모리(402)가 이동 가능하지 않은 것을 의미하도록 해석되지 않아야 한다. 특정한 예들에서, 비일시적 저장 매체가(예컨대, RAM(Random Access Memory) 또는 캐시에) 시간 경과에 따라, 변할 수 있는 데이터를 저장할 수 있다.
통신 인터페이스(404)는 사용자 디바이스(302)가 단거리 통신 시스템(300)에 의해 지원되는 프로토콜을 통해 하나 이상의 서비스들에 대해 다른 사용자 디바이스들(302)과 통신하는 것을 가능하게 하도록 구성될 수 있다. 통신 인터페이스(404)는 또한 사용자 디바이스(302)가 적어도 하나의 셀룰러 네트워크(예를 들어: GSM(Global System for Mobile Communications), 코드-분할 다중 접속(Code-division multiple access)(CDMA), LTE(Term Evolution)/4G 네트워크, NR(New Radio)/5G 네트워크, 또는 임의의 다른 차세대 네트워크)에 의해 지원되는 인터페이스를 통해 다른 사용자 디바이스들과 통신하는 것을 가능하게 할 수 있다.
센서 유닛(406)은 다른 사용자 디바이스들(302) 상에서 진행중인 하나 이상의 서비스들을 향해 사용자에 의해 수행되는 적어도 하나의 사용자/액션들의 행동에 관한 데이터를 감지하도록 구성될 수 있다. 센서 유닛(406)은, 비제한적으로, 모션 센서, 근접 센서, 카메라, 마이크로폰 등과 같은 센서들을 포함한다.
디스플레이(408)는 사용자가 사용자 디바이스(302)와 상호작용하는 것을 가능하게 하도록 구성될 수 있다. 디스플레이(408)는 사용자 디바이스(302) 상에서 호스팅되는 하나 이상의 애플리케이션들에 의해 지원되는 하나 이상의 서비스들을 상호작용을 위해 사용자에게 제공할 수 있다.
프로세서(410)는 단일 프로세서, 복수의 프로세서들, 다수의 동종 또는 이종 코어들, 상이한 종류의 다수의 중앙 프로세싱 유닛들(Central Processing Units)(CPU들), 마이크로제어기들, 특수 매체, 및 다른 가속기들 중 적어도 하나일 수 있다. 프로세서(410)은 범용 프로세서, 이를테면 중앙 프로세싱 유닛(CPU), 애플리케이션 프로세서(application processor)(AP) 등, 또는 그래픽 전용 프로세싱 유닛(graphics-only processing unit), 이를테면 그래픽 프로세싱 유닛(GPU), 시각적 프로세싱 유닛(visual processing unit)(VPU), 및/또는 인공지능(Artificial Intelligence)(AI) 전용 프로세서, 이를테면 신경 프로세싱 유닛(neural processing unit)(NPU)일 수 있다.
프로세서(410)는 하나 이상의 서비스들을 사용자에게 제공하기 위해 하나 이상의 애플리케이션들을 실행하도록 구성될 수 있다. 프로세서(410)는 사용자 디바이스(302)가 하나 이상의 애플리케이션들의 실행에 기초하여 제어자 또는 피제어자로서 역할을 하는 것을 가능하게 한다.
프로세서(410)는 추가로, 사용자 디바이스(302)가 진행중인 하나 이상의 서비스들과 상호작용하기 원하는 경우, 하나 이상의 다른 사용자 디바이스들(302) 상에서 진행중인 하나 이상의 서비스들에 대해 레인징 및 데이터 세션들을 수행하도록 구성될 수 있다.
프로세서(410)는, 사용자 디바이스(302)가 제어자로서 역할을 할 때, 진행중인 하나 이상의 서비스들의 QoS /우선순위 파라미터들에 기초하여 복수의 사용자 디바이스들(302) 간에 레인징 및 데이터 세션들을 스케줄링/구성할 수 있다. 프로세서(410)는, 사용자 디바이스(302)가 피제어자로서 역할을 할 때, 제어자에 의해 스케줄링되는 레인징 및 데이터 세션들을 수행할 수 있다.
프로세서(410)는 또한, 사용자 디바이스(302)가 제어자로서 역할을 할 때, 그룹을 형성하며, GCS IE를 생성하고 그 그룹에 존재하는 다른 제어자들과 함께 GCS IE를 브로드캐스트함으로써 하나 이상의 서비스들에 대해 복수의 사용자 디바이스들(302) 간에 레인징 세션들을 스케줄링할 수 있다.
프로세서(410)는 스케줄링 모듈(410a)과 세션 수행 모듈(410b)을 포함한다. 스케줄링 모듈(410a)은 사용자 디바이스(302)가 제어자(302)로서 역할을 할 때, 동작하도록 가능화될 수 있다.
일 실시예에서, 스케줄링 모듈(410a)은 각각의 서비스의 QoS/우선순위 파라미터들에 기초하여 진행중인 하나 이상의 서비스들에 대해 제어자 및 하나 이상의 피제어자들 간에(즉, 복수의 사용자 디바이스들(302) 간에) 레인징 및 데이터 세션들을 스케줄링하도록 구성될 수 있다. 진행중인 하나 이상의 서비스들은 제어자 및 하나 이상의 피제어자들 상에서 실행되고 있는 하나 이상의 애플리케이션들에 대응하는 서비스들일 수 있다.
제어자 및 하나 이상의 피제어자들 상의 하나 이상의 애플리케이션들의 실행에 앞서, 스케줄링 모듈(401a)은 QoS IE를 생성한다. QoS IE는, 비제한적으로, 사용자 디바이스들(제어자 및 하나 이상의 피제어자들)의 수, 각각의 사용자 디바이스의 ID, 각각의 디바이스 상에서 호스팅되는 하나 이상의 애플리케이션들, 각각의 사용자 디바이스 상에서 호스팅되는 각각의 애플리케이션에 의해 지원되는 하나 이상의 서비스들, 각각의 디바이스 상에서 호스팅되는 각각의 애플리케이션에 의해 지원되는 각각의 서비스의 우선순위/QoS 파라미터들 등에 관한 정보를 포함한다. 우선순위/QoS 파라미터들의 예들은, 비제한적으로, 라디오 채널을 위해 이용되는 주파수, 대역폭 요건들, 우선순위, 허용가능 데드라인 등일 수 있다.
QoS IE를 생성하기 위해, 스케줄링 모듈(410a)은 하나 이상의 피제어자들(302)과 통신하고 하나 이상의 피제어자들의 ID 및 하나 이상의 피제어자들 상에서 호스팅되는 하나 이상의 애플리케이션들의 정보를 수집한다. 스케줄링 모듈(410a)은 또한 제어자 상에서 호스팅되는 하나 이상의 애플리케이션들의 정보와 제어자의 ID를 메모리(402)로부터 페치한다. 하나 이상의 애플리케이션들의 정보는, 비제한적으로, 각각의 애플리케이션에 의해 지원되는 서비스들의 수, 각각의 서비스의 성질, 각각의 서비스의 요건들 등으로 될 수 있다. 하나 이상의 애플리케이션들의 정보에 기초하여, 스케줄링 모듈(410a)은 레인징 및 데이터 세션들에 대해 각각의 서비스에 대한 우선순위 파라미터들을 배정한다. 일 실시예에서, 스케줄링 모듈(410)은 레인징 및 데이터 세션들 양쪽 모두에 대해 공동으로 하나 이상의 서비스들 중 각각의 서비스에 대한 우선순위 파라미터들을 생성할 수 있다. 이러한 시나리오에서, 각각의 서비스에 대한 우선순위 파라미터들은 우선순위 파라미터들의 두 개의 세트들을 포함하는데, 하나의 세트는 레인징 세션을 위한 것이고 다른 세트는 데이터 세션을 위한 것이다. 일 실시예에서, 스케줄링 모듈(410a)은 레인징 및 데이터 세션들에 대해 따로따로 하나 이상의 서비스들 중 각각의 서비스에 대한 우선순위 파라미터들을 생성할 수 있다. 이러한 시나리오에서, 각각의 서비스의 동일한 우선순위 파라미터들은 레인징 및 데이터 세션들 양쪽 모두에 사용될 수 있다.
각각의 서비스에 대한 우선순위 파라미터들을 배정하기 위해, 스케줄링 모듈(410a)은 해당 서비스의 성질에 기초하여 각각의 서비스에 대한 우선순위를 결정한다. 우선순위를 배정하는 것은 각각의 서비스에 대해 가중값들을 배정하는 것을 수반한다. 배정된 우선순위에 기초하여, 스케줄링 모듈(410a)은, 비제한적으로, 각각의 서비스에 대해, 채널을 이용하기 위한 주파수, 대역폭 요건들, 허용가능 데드라인 등과 같은 자원들을 할당한다.
스케줄링 모듈(410a)은 하나 이상의 피제어자들 및 제어자의 디바이스 ID와, 레인징 및 데이터 세션들에 대해 제어자 및 하나 이상의 피제어자들 상에서 호스팅되는 하나 이상의 애플리케이션들 중 각각의 애플리케이션에 의해 지원되는 각각의 서비스에 대한 우선순위 파라미터들을 포함시키는 것에 의해 QoS IE를 생성한다. QoS IE를 생성 시, 스케줄링 모듈(410a)은 QoS IE를 하나 이상의 피제어자들(302)에게 브로드캐스트한다. 일 실시예에서, 스케줄링 모듈(410a)은 단거리 통신 시스템(300)의 적어도 프로토콜에 의해 지원되는 라디오 채널을 통해 하나 이상의 피제어자들(302)에게 QoS IE를 브로드캐스트한다. 본 개시의 일 예에서, 스케줄링 모듈(410a)은 QoS IE를 블루투스 개인 영역 네트워크(Bluetooth Personal Area Network)(BT PAN)를 통해 하나 이상의 피제어자들(302)에게 브로드캐스트한다. 본 개시의 일 예에서, 스케줄링 모듈(410a)은 QoS IE를 셀룰러 네트워크를 통해 하나 이상의 피제어자들(302)에게 브로드캐스트한다. 스케줄링 모듈(410a)은 또한 생성된 QoS IE를 메모리(402)에 저장한다.
스케줄링 모듈(410a)은 추가로, 진행중인 하나 이상의 서비스들과 상호작용하기 위해 제어자 및 하나 이상의 피제어자들 간에 레인징 및 데이터 세션들을 스케줄링하기 위한 서비스들 중의 각각의 서비스 QoS/우선순위 파라미터들을 수정한다. 스케줄링 모듈(410a)은, 하나 이상의 피제어자들(302)이 하나 이상의 서비스들(즉, 진행중인 하나 이상의 서비스들)을 제공하기 위해 하나 이상의 애플리케이션들의 실행을 개시할 때, 레인징 및 데이터 세션들을 스케줄링하기 위한 하나 이상의 요청들을 하나 이상의 피제어자들로부터 수신한다. 또한, 스케줄링 모듈(410a)은, 제어자(302)가 대응하는 하나 이상의 서비스들을 위한 하나 이상의 애플리케이션들의 실행을 개시할 때, 진행중인 하나 이상의 서비스들에 대한 레인징 및 데이터 세션들을 스케줄링하기 위한 제어자(302) 상에서 트리거된 요청을 식별한다. 하나 이상의 요청들은 레인징 세션들 및 데이터 세션들에 대해 진행중인 하나 이상의 서비스들의 현재 우선순위 파라미터들을 포함할 수 있다.
하나 이상의 요청들을 수신 시, 스케줄링 모듈(410a)은 각각의 서비스의 맥락에 기초하여 레인징 세션들 및 데이터 세션들에 대해 진행중인 하나 이상의 서비스들 중 각각의 서비스에 연관되는 레인징 큐 및 데이터 큐의 시간 지연의 가중값들을 결정한다.
스케줄링 모듈(410a)은 추가로, 레인징 및 데이터 세션들에 대해 진행중인 하나 이상의 서비스들을 향한 사용자 의도를 결정한다. 사용자 의도는 진행중인 하나 이상의 서비스들을 향해 (제어자 또는 하나 이상의 피제어자들의) 사용자에 의해 수행되는 사용자/액션들의 행동일 수 있다.
일 실시예에서, 스케줄링 모듈(410a)은 센서 기반 의도 검출 방법에 기초하여 사용자 의도를 결정한다. 스케줄링 모듈(410a)은 센서 유닛(406)의 적어도 하나의 센서에 의해 감지된 데이터를 수집하고 사용자 의도를 결정한다.
일 실시예에서, 스케줄링 모듈(410a)은 신경망 기반 의도 검출 방법에 기초하여 결정한다. 스케줄링 모듈(410a)은 센서 유닛(406)의 적어도 하나의 센서에 의해 감지된 데이터를 훈련된 신경망에 피드하며, 훈련된 신경망은 피드된 데이터에 기초하여 사용자 의도를 결정한다.
일 실시예에서, 신경망은 적어도 하나의 센서에 의해 감지된 데이터에 기초하여 사용자 의도를 결정하기 위해 적어도 하나의 학습 방법을 사용하여 훈련될 수 있다. 학습 방법에 연관되는 기능이 비휘발성 메모리, 휘발성 메모리, 및 프로세서(410)를 통해 수행될 수 있다.
프로세서(410)는 하나 또는 복수의 프로세서들을 포함할 수 있다. 현 시점에서는, 하나 또는 복수의 프로세서들이 범용 프로세서, 이를테면 중앙 프로세싱 유닛(CPU), 애플리케이션 프로세서(AP) 등, 또는 그래픽 전용 프로세싱 유닛, 이를테면 그래픽 프로세싱 유닛(GPU), 시각적 프로세싱 유닛(VPU), 및/또는 인공지능(AI) 전용 프로세서, 이를테면 신경 프로세싱 유닛(NPU)일 수 있다.
사용자 의도는 비휘발성 메모리 및 휘발성 메모리에 저장되는 신경망의 미리 정의된 동작 규칙에 따라 결정될 수 있다. 신경망의 미리 정의된 작동 규칙은 적어도 하나의 학습 방법을 사용하여 신경망을 훈련하는 것을 통해 제공된다.
여기서, 학습을 통해 제공된다는 것은 학습 방법을 복수의 학습 데이터(예를 들어: 센서들에 의해 감지된 데이터)에 적용함으로써, 원하는 특성의 미리 정의된 동작 규칙 또는 AI 모델이 만들어진다는 것을 의미한다.
신경망은 복수의 신경망 계층들을 포함할 수 있다. 각각의 계층은 복수의 가중값 값들을 가지고 이전의 계층의 계산 및 복수의 가중값들의 연산을 통해 계층 연산을 수행한다. 신경망들의 예들은, 비제한적으로, 콘볼루션 신경망(CNN), 심층 신경망(DNN), 순환 신경망(RNN), RBM(restricted Boltzmann Machine), DBN(deep belief network), 양방향성 순환 심층 신경망(BRDNN), GAN(generative adversarial networks), 심층 Q 네트워크들 등일 수 있다.
결정된 사용자 의도 및 각각의 서비스에 연관되는 큐들의 시간 지연의 가중값들에 기초하여, 스케줄링 모듈(410a)은 레인징 및 데이터 세션들에 대해 진행중인 하나 이상의 서비스들 중 각각의 서비스의 현재 우선순위 파라미터들을 수정한다. 레인징 및 데이터 세션들에 대해 각각의 서비스의 현재 우선순위 파라미터들을 수정하는 것은 레인징 및 데이터 세션들에 대해 사용자 의도 및 큐들의 시간 지연의 가중값들에 기초하여 각각의 서비스의 현재 우선순위를 수정(증가/감소)하는 것과, 각각의 서비스에 대한 수정된 우선순위에 기초하여 레인징 및 데이터 세션들에 대해 각각의 서비스의 현재 자원 할당을 수정(증가/감소)하는 것을 포함한다.
일 실시예에서, 스케줄링 모듈(410a)은 레인징 및 데이터 세션들에 대해 따로따로 각각의 서비스의 현재 우선순위 파라미터들을 수정한다. 일 실시예에서, 스케줄링 모듈(410a)은 레인징 및 데이터 세션들 양쪽 모두에 대해 공동으로 각각의 서비스의 현재 우선순위 파라미터들을 수정한다.
본 개시의 실시예들은 레인징 서비스에 대한 각각의 서비스의 현재(초기화된 또는 업데이트된) 우선순위 파라미터들과 데이터 세션에 대한 각각의 서비스의 현재(초기화된 또는 업데이트된) 우선순위를 일 예로서 고려함으로써 각각의 서비스의 우선순위 파라미터들을 수정하는 것을 설명하지만, 각각의 서비스의 우선순위는 레인징 서비스 및 데이터 세션에 대해 공동으로 고려될 수 있다는 것이 본 기술분야의 통상의 기술자에게 명백할 수 있다.
본 개시의 일 예에서, 애플리케이션 1, 애플리케이션 2, 및 애플리케이션 3은 복수의 서비스들(S)을 제공하기 위해 하나 이상의 피제어자들(302) 및/또는 제어자(302) 상에서 진행중이라는 것을 고려한다. 각각의 진행중인 서비스(_)는 레인징 큐 및 데이터 큐에 연관될 수 있다. 이러한 시나리오에서, 스케줄링 모듈(410a)은 레인징 세션 및 데이터 세션에 대해 따로따로 각각의 진행중인 서비스의 현재 우선순위 파라미터들을 수정한다.
스케줄링 모듈(410a)은 레인징 세션에 대한 각각의 서비스를 향한 사용자 의도, 레인징 세션에 대한 각각의 서비스의 현재 우선순위, 및 각각의 서비스에 연관되는 레인징 큐의 시간 지연의 가중값들에 기초하여 레인징 세션에 대한 현재 우선순위(우선순위 파라미터들 중 하나)를 수정한다. 본 개시의 일 예에서, 스케줄링 모듈(410a)은 아래의 수학식을 사용하여 각각의 서비스의 우선순위를 수정하며:
PRi=WRi*Si(PR)*WTDRi
여기서 PRi는 레인징 세션에 대한 각각의 서비스의 수정된 우선순위를 나타내며, WRi는 레인징 세션에 대한 각각의 서비스를 향한 사용자 의도를 나타내며, Si(PR)은 레인징 세션에 대한 각각의 서비스의 현재 우선순위를 나타내고, WTDRi는 각각의 서비스에 연관되는 레인징 큐의 시간 지연의 가중값들을 나타낸다.
레인징 세션에 대한 각각의 서비스의 우선순위를 수정 시, 스케줄링 모듈(410a)은 데이터 세션에 대한 각각의 서비스를 향한 사용자 의도, 데이터 세션에 대한 각각의 서비스의 현재 우선순위 및 각각의 서비스에 연관되는 데이터 큐의 시간 지연의 가중값들에 기초하여 데이터 세션에 대한 각각의 서비스의 우선순위를 수정한다. 본 개시의 일 예에서, 스케줄링 모듈(410a)은 아래의 수학식을 사용하여 데이터 세션에 대한 각각의 서비스의 우선순위를 수정하며:
PDi=WDi*Si(PD)*WTDDi
여기서 PDi는 데이터 세션에 대한 각각의 서비스의 수정된 우선순위를 나타내며, WDi는 데이터 세션에 대한 각각의 서비스를 향한 사용자 의도를 나타내며, Si(PD)는 레인징 세션에 대한 각각의 서비스의 현재 우선순위를 나타내고, WTDDi는 각각의 서비스에 연관되는 데이터 큐의 시간 지연의 가중값들을 나타낸다.
레인징 세션 및 데이터 세션에 대한 각각의 서비스 인스턴스의 우선순위를 수정 시, 스케줄링 모듈(410a)은 레인징 세션에 대한 각각의 서비스의 현재 우선순위 및 데이터 세션에 대한 각각의 서비스의 현재 우선순위 간에 각각의 서비스의 최고 우선순위를 선택한다. 각각의 서비스의 선택된 최고 우선순위에 기초하여, 스케줄링 모듈(410a)은 각각의 서비스 인스턴스에 대한 선택된 큐 유형에 기초하여 레인징 큐 및 데이터 큐의 시간 지연의 가중값들을 증가/감소한다.
스케줄링 모듈(410a)은 추가로, 각각의 진행중인 서비스의 수정된 우선순위/QoS 파라미터들로 QoS IE를 업데이트한다. 스케줄링 모듈(410a)은 업데이트된 QoS IE를 메모리(402)에 저장한다. 스케줄링 모듈(410a)은 QoS IE를 하나 이상의 피제어자들(302)에게 브로드캐스트한다. 따라서, 제어자와 피제어자들(302) 중 하나는 적어도 하나의 진행중인 서비스의 수정된 우선순위 파라미터들에 기초하여 (시스템(300)의 프로토콜에 의해 지원되는 라디오 채널을 통해) 적어도 하나의 진행중인 서비스에 대한 레인징 세션들 및 데이터 세션들을 수행할 수 있다.
일 실시예에서, 스케줄링 모듈(410a)은 GCS IE에 기초하여 레인징 세션들을 스케줄링할 수 있다.
스케줄링 모듈(410a)은, 사용자 디바이스(302)가 제어자(302)일 때, 해당 사용자 디바이스(302)가 제어자들의 그룹을 형성하는 것을 가능하게 한다. 그룹을 형성한 사용자 디바이스/제어자(302)는 그 그룹의 그룹 소유자가 된다. 그룹은 하나 이상의 다른 제어자들(302)을 포함할 수 있는데, 각각의 제어자(302)는 하나 이상의 피제어자들과 연관될 수 있다. 스케줄링 모듈(410a)은 제어자/그룹 소유자(302)가 특정된 로케이션 범위에서의 하나 이상의 제어자들/연관된 피제어자들의 위치결정에 기초하여 그룹을 형성하는 것을 가능하게 한다. 스케줄링 모듈(410a)은 추가로 제어자/그룹 소유자가 하나 이상의 제어자들 및 연관된 피제어자들을 그룹에 추가 또는 그 그룹으로부터 제거하는 것을 가능하게 한다.
그룹을 형성 시, 해당 제어자/그룹 소유자(302)의 스케줄링 모듈(410a)은 하나 이상의 세션들에 대해 각각의 제어자(그룹 소유자를 포함함)에 대한 레인징 세션들을 스케줄링한다. 하나 이상의 서비스들은 그룹에서의 하나 이상의 제어자들(302) 및 연관된 하나 이상의 피제어자들(302) 상에서 호스팅되는 하나 이상의 애플리케이션들에 대응할 수 있다. 스케줄링 모듈(410a)은 제어자들 중 각각의 제어자에 대해 적어도 하나의 슬롯을 정의함으로써 레인징 세션들을 스케줄링하여서, 각각의 제어자는 하나 이상의 서비스들에 대해 자신 및 연관된 하나 이상의 피제어자들 간에 레인징 세션들을 내부적으로 스케줄링할 수 있다.
일 실시예에서, 스케줄링 모듈(410a)은, 비제한적으로, 서로에 대한 하나 이상의 제어자들의 레인지, 하나 이상의 제어자들(302)(그룹 소유자를 포함함) 및 연관된 하나 이상의 피제어자들(302) 상에서 호스팅되는 하나 이상의 애플리케이션들에 대응하는 하나 이상의 서비스들의 QoS 파라미터들 등 중 적어도 하나에 기초하여 슬롯들을 정의할 수 있다. 일 실시예에서, 스케줄링 모듈(410a)은 그룹의 제어자들(302)에 대한 슬롯들을 계층적 구조로 정의할 수 있다. 일 예에서, 슬롯들은 제어자들에 대해 차례차례로 정의될 수 있다. 다른 예에서, 슬롯들은 제어자들에 대해 랜덤 순서로 정의될 수 있다.
슬롯들을 스케줄링 시, 스케줄링 모듈(410a)은 하나 이상의 서비스들 중 각각의 서비스에 대해 서비스 파라미터들을 배정한다. 각각의 서비스의 서비스 파라미터들의 예들은, 비제한적으로, 서비스의 ID, 각각의 서비스에 대한 예상되는 QoS 파라미터들, 각각의 서비스에 대한 현재 QoS 파라미터들, 각각의 서비스에 대한 레인징 라운드들(각각의 레인징 세션의 시작 및 종료 시간을 포함함)의 리스트일 수 있다. 스케줄링 모듈(410a)은 그 다음에 하나 이상의 서비스들에 대해 GCS IE를 생성한다. GCS IE는, 비제한적으로, 그룹에 존재하는 제어자들(그룹 소유자를 포함함)의 수, 각각의 제어자의 ID, 그룹의 각각의 제어자 및 연관된 하나 이상의 피제어자들 상에서 호스팅되는 하나 이상의 애플리케이션들에 대응하는 서비스들의 수, 각각의 서비스의 서비스 파라미터들 등 중 적어도 하나에 관한 정보를 포함할 수 있다.
생성된 GCS IE로부터, 스케줄링 모듈(410a)은 하나 이상의 서비스들과 상호작용하기 위한 그룹의 하나 이상의 제어자들(302)(그룹 소유자를 포함함)에 대한 정의된 슬롯들이 서로 충돌/중첩하는지를 검증한다. 하나 이상의 제어자들(302)에 대한 정의된 슬롯들이 서로 충돌/중첩하면, 스케줄링 모듈(410a)은 GCS IE를 경합 기반 스케줄링으로서 마킹한다. 하나 이상의 제어자들에 대한 정의된 슬롯들이 서로 충돌/중첩하지 않으면, 스케줄링 모듈(410a)은 GCS IE를 저장하고 GCS IE를 제어자들의 그룹에 존재하는 각각의 제어자(302)에게 브로드캐스트한다. 일 실시예에서, 스케줄링 모듈(410a)은 단거리 통신 시스템(300)의 적어도 하나의 프로토콜에 의해 지원되는 라디오 채널을 통해 그룹에 존재하는 각각의 제어자(302)에게 GCS IE를 브로드캐스트한다. 일 실시예에서, 스케줄링 모듈(410a)은 BT PAN을 통해 그룹에 존재하는 각각의 제어자(302)에 GCS IE를 브로드캐스트한다. 일 실시예에서, 스케줄링 모듈(410a)은 셀룰러 네트워크를 통해 그룹에 존재하는 각각의 제어자(302)에 GCS IE를 브로드캐스트한다. 따라서, 그 그룹에 존재하는 제어자들은 조정된 레인징 세션들을 수행할 수 있다.
일 실시예에서, 제어자/그룹 소유자(302)의 스케줄링 모듈(410a)은 새로운 제어자(302)가 그룹에 합류하는 것을 가능하게 할 수 있다. 스케줄링 모듈(410a)은 GCS IE를 새로운 제어자와 공유하고 새로운 제어자(302)가 공유된 GCS IE에 기초하여 자체적으로 레인징 세션들을 스케줄링하는 것을 가능하게 한다. 새로운 제어자(302)는 하나 이상의 서비스들에 대해 새로운 제어자(302) 및 연관된 하나 이상의 피제어자들 간에 수행되어야 하는 레인징 세션들을 스케줄링할 수 있다. 새로운 제어자(302)는 새로운 제어자(302)에 의해 지원되는 각각의 서비스의 서비스들 파라미터들과, 수신된 GCS IE에 기초하여 새로운 슬롯들을 정의함으로써 레인징 세션들을 스케줄링할 수 있다. 새로운 제어자(302)는 추가로 정의된 새로운 슬롯들이 그룹에서 다른 제어자들(302)에 대해 정의된 슬롯들과 충돌/중첩하는지를 검증한다. 정의된 새로운 슬롯들이 그룹에서 다른 제어자들(302)에 대해 정의된 슬롯들과 충돌/중첩하지 않으면, 새로운 제어자(302)는 해당하는 하나 이상의 서비스들에 대해 서비스 파라미터들을 배정한다. 새로운 제어자는 새로운 제어자에 대응하는 각각의 서비스의 서비스 파라미터들을 GCS IE에 추가함으로써 수신된 GCS IE를 업데이트한다. 새로운 제어자는 업데이트된 GCS IE를 그룹의 모든 제어자들에게 브로드캐스트한다.
정의된 새로운 슬롯들이 그룹의 다른 제어자들에 대해 정의된 슬롯들과 충돌/중첩하면, 새로운 제어자는 대응하는 하나 이상의 서비스들과 상호작용하기 위해 새로운 제어자에 대한 레인징 세션들을 스케줄링하도록 그룹 소유자(302)의 스케줄링 모듈(410a)에게 요청할 수 있다. 그 요청은 새로운 제어자(302) 및 연관된 하나 이상의 피제어자들에 대응하는 하나 이상의 서비스들의 QoS 파라미터들을 포함할 수 있다.
일 실시예에서, 레인징 세션들을 스케줄링하기 위한 새로운 제어자(302)로부터의 요청을 수신 시, 그룹 소유자(302)의 스케줄링 모듈(410a)은 새로운 제어자로부터의 하나 이상의 서비스들의 수신된 QoS 파라미터들과, 그룹의 레인징 구간(그룹이 레인징 세션들을 수행하기 위한 총 가용 시간)에 기초하여 적어도 하나의 액션을 수행한다. 일 실시예에서, 적어도 하나의 액션은 그룹에서 다른 제어자들(302)에 대해 이미 정의된 슬롯들로부터 빈 슬롯을 선택하고 새로운 제어자(302)에 대해 선택된 빈 슬롯을 배정하는 것일 수 있다. 일 실시예에서, 적어도 하나의 액션은 새로운 제어자(302)에 대해 새로운 슬롯(들)을 정의하기 위해 그룹의 레인징 구간의 사이즈를 변경하는 것일 수 있다.
스케줄링 모듈(410a)은 그 다음에 수행된 적어도 하나의 액션에 기초하여 대응하는 서비스들에 대해 새로운 제어자(302)에 대한 레인징 세션들을 스케줄링한다. 스케줄링 모듈(410a)은 스케줄링된 레인징 세션들에 기초하여 새로운 제어자에 대응하는 하나 이상의 서비스들에 대해 서비스들의 파라미터들을 배정한다. 스케줄링 모듈(410a)은 새로운 제어자에 대응하는 각각의 서비스의 서비스 파라미터들을 GCS IE에 추가함으로써 GCS IE를 업데이트한다. 스케줄링 모듈(410a)은 업데이트된 GCS IE를 메모리(402)에 저장하고 업데이트된 GCS IE를 그룹의 모든 제어자들에 브로드캐스트한다.
일 실시예에서, 스케줄링 모듈(410a)(즉, 그룹을 형성한 제어자)은 제어자들 및 연관된 하나 이상의 피제어자들 중 임의의 것을 그룹으로부터 제거할 수 있다. 이러한 경우들에서, 스케줄링 모듈(410a)은 제거된 제어자에 대응하는 각각의 서비스의 QoS 파라미터들을 GCS IE로부터 제거함으로써 저장된 GCS IE를 업데이트한다. 스케줄링 모듈(410a)은 업데이트된 GCS IE를 저장하고 업데이트된 GCS IE를 그룹에서의 모든 제어자들에 대해 브로드캐스트한다. 따라서, GCS IE를 사용하여 그 그룹에서 수행되는 레인징 세션들은 서로 충돌/중첩되지 않는다.
세션 수행 모듈(410b)은 사용자 디바이스(302)(제어자/피제어자)가 시스템(300)의 적어도 하나의 프로토콜에 의해 지원되는 라디오 채널을 통해 적어도 하나의 진행중인 서비스에 대해 다른 사용자 디바이스(302)(피제어자/제어자)와 레인징 및 데이터 세션들을 수행하는 것을 가능하게 하도록 구성될 수 있다.
일 실시예에서, 세션 수행 모듈(410b)은 사용자 디바이스(302)가 QoS IE에 기초하여 레인징 및 데이터 세션들을 수행하는 것을 가능하게 한다. 사용자 디바이스(302)가 제어자일 때, 세션 수행 모듈(410b)은 사용자 디바이스(302)가 저장된 QoS IE에 포함되는 적어도 하나의 진행중인 서비스에 대해 우선순위 파라미터들에 기초하여 레인징 및 데이터 세션들을 수행하는 것을 가능하게 한다. 사용자 디바이스(302)가 피제어자인 경우, 세션 수행 모듈(410b)은, 사용자 디바이스(302)가 피제어자일 때, QoS IE에서 적어도 하나의 진행중인 서비스에 대한 배정된/수정된 우선순위 파라미터들을 제어자로부터 수신 시, 사용자 디바이스(302)가 레인징 및 데이터 세션들을 수행하는 것을 가능하게 한다.
일 실시예에서, 세션 수행 모듈(410b)은 사용자 디바이스(302)(제어자)가 GCS IE에 기초하여 레인징 세션들을 수행하는 것을 가능하게 한다. 세션 수행 모듈(410b)은 사용자 디바이스(302)에 대해 정의된 적어도 하나의 슬롯에 관한 정보를 GCS IE로부터 추출하고, 사용자 디바이스(302)가 정의된 적어도 하나의 슬롯 내에서 레인징 세션들을 수행하는 것을 가능하게 한다.
도 4는 사용자 디바이스(302)(제어자 또는 피제어자)의 예시적인 유닛들을 도시하지만, 다른 실시예들이 그것으로 제한되지 않는다는 것이 이해되어야 한다. 다른 실시예들에서, 사용자 디바이스(302)는 더 적거나 또는 더 많은 수의 유닛들을 포함할 수 있다. 게다가, 유닛들의 라벨들 또는 이름들은 예시 목적으로만 사용되고 본 개시의 실시예들의 범위를 제한하지 않는다. 하나 이상의 유닛들이 사용자 디바이스(302)에서 동일하거나 또는 실질적으로 유사한 기능을 수행하기 위해 함께 조합될 수 있다.
도 5는 본원에서 개시된 바와 같은 실시예들에 따른, 하나 이상의 서비스들의 우선순위 파라미터들에 기초하여 레인징 세션들을 스케줄링하는 방법을 묘사하는 흐름도이다.
단계 502에서, 그 방법은, 제어자에 의해, 적어도 하나의 서비스에 대한 적어도 하나의 세션을 스케줄링하기 위한 적어도 하나의 피제어자(302)로부터의 요청을 수신하는 것으로서, 적어도 하나의 세션은 레인징 세션 및 데이터 세션 중 적어도 하나를 포함하는, 상기 요청을 수신하는 것을 포함한다.
단계 504에서, 그 방법은, 제어자(302)에 의해, 적어도 하나의 세션에 대해 적어도 하나의 서비스에 우선순위 파라미터들을 배정하는 것을 포함한다. 단계 506에서, 그 방법은, 제어자(302)에 의해, 배정된 우선순위 파라미터들에 기초하여, 적어도 하나의 서비스에 대해 제어자(302)와 적어도 하나의 피제어자(302) 간에 적어도 하나의 세션을 스케줄링하는 것을 포함한다. 방법(500)에서의 다양한 액션들은, 제시된 순서로, 상이한 순서로 또는 동시에 수행될 수 있다. 게다가, 일부 실시예들에서, 도 5에 나열된 일부 액션들은 생략될 수 있다.
도 6a는 본원에서 개시된 바와 같은 실시예들에 따른, 진행중인 하나 이상의 서비스들의 우선순위 파라미터들을 수정함으로써 진행중인 하나 이상의 서비스에 대한 레인징 세션들의 스케줄링을 묘사하는 예시적인 도면이다.
피제어자들(302)이 각각 서비스 1(S1), 서비스 2(S2), 및 서비스 3(S3)을 제공하기 위해 애플리케이션 1(app1), 애플리케이션 2(app2), 및 애플리케이션 3(app3)을 실행하는 것을 개시하는 예시적인 시나리오를 고려한다. 각각의 서비스는 레인징 큐 및 데이터 큐에 연관될 수 있다. S1, S2, 및 S3가 피제어자들(302) 상에서 진행중일 때, 피제어자들은 진행중인 서비스들(S1~S3)과 상호작용하기 위해 제어자(302) 및/또는 피제어자들(302) 간에 레인징 및 데이터 세션들을 스케줄링하기 위한 요청들을 제어자(302)에게 전송한다. 피제어자들은 저장된 QoS IE에 액세스하고 현재 우선순위 파라미터들을 대응하는 진행중인 서비스들(S1~S3)로부터 추출한다. 도 6b에 묘사된 바와 같이, QoS IE는, 비제한적으로, 사용자 디바이스들(302)(제어자 및 하나 이상의 피제어자들)의 수, 각각의 디바이스에 대한 테이블 등 중 적어도 하나를 포함한다. 각각의 디바이스에 대한 테이블은 각각의 사용자 디바이스(302)의 ID, 각각의 사용자 디바이스(302) 상에서 호스팅되는 하나 이상의 애플리케이션들에 대응하는 서비스들의 수, 각각의 사용자 디바이스(302)의 QoS/우선순위 파라미터들 등에 관한 정보를 포함하지만, 그것으로 제한되지 않는다. 각각의 사용자 디바이스(302)의 QoS/우선순위 파라미터들은 레인징 세션 및 데이터 세션에 대한 각각의 서비스의 우선순위, 레인징 세션 및 데이터 세션에 대해 각각의 서비스에 대해 할당된 자원들 중 적어도 하나를 포함할 수 있다.
피제어자들(302)은 해당 서비스들(S1~S3)의 추출된 현재 우선순위 파라미터들을 요청들에 포함시키고 그 요청들을 제어자(302)에게 전송한다.
레인징 및 데이터 세션들을 스케줄링하기 위한 요청들을 수신 시, 제어자(302)는 서비스들(S1~S3)을 향해 레인징 세션 또는 데이터 세션을 수행하기 위한 사용자 의도를 결정한다. 제어자(302)는 센서 데이터를 수집하거나 또는 신경망을 사용함으로써 사용자 의도를 판단할 수 있다. 제어자(302)는 또한 서비스들(S1~S3)에 연관되는 레인징 큐 및 데이터 큐의 지연 시간의 가중값들을 결정한다.
제어자(302)는 레인징 세션들에 대한 서비스들(S1~S3)의 현재 우선순위, 레인징 세션들에 대한 서비스들(S1~S3)에 대해 결정된 사용자 의도, 및 서비스들(S1~S3)에 연관되는 레인징 큐의 지연 시간의 가중값들에 기초하여 레인징 세션들에 대한 서비스들(S1~S3)의 우선순위 파라미터들을 수정한다. 마찬가지로, 제어자(302)는 데이터 세션들에 대한 서비스들(S1~S3)의 현재 우선순위, 데이터 세션들에 대한 서비스들(S1~S3)에 대해 결정된 사용자 의도, 및 서비스들(S1~S3)에 연관되는 데이터 큐의 지연 시간의 가중값들에 기초하여 데이터 세션들에 대한 서비스들(S1~S3)의 우선순위 파라미터들을 수정한다. 서비스들의 우선순위 파라미터들을 수정하는 것은 서비스들(S1~S3)의 우선순위 파라미터들을 증가 또는 감소시키는 것을 수반할 수 있다.
제어자(302)는 진행중인 서비스들(S1~S3)의 수정된 우선순위 파라미터들을 각각의 피제어자들(302)에게 브로드캐스트한다. 따라서, 제어자(302) 및 피제어자들(302)은 수정된 우선순위 파라미터들에 따라 레인징 및 데이터 세션들을 수행할 수 있다.
도 7a 및 도 7b는 본원에서 개시된 바와 같은 실시예들에 따른, 해당 서비스들의 QoS/우선순위 파라미터들에 기초하여 진행중인 서비스들에 대한 레인징 및 데이터 세션들을 수행하는 예시적인 사용 사례 시나리오들을 묘사한다.
사용자가 자동차 거리 레인징 서비스의 예시적인 서비스를 수행하기 위해 모바일 디바이스(사용자 디바이스(302)의 일 예) 상의 애플리케이션을 실행하는 도 7a에 묘사된 바와 같은 예시적인 시나리오를 고려한다. 이러한 경우들에서, 모바일 디바이스(302)는 제어자로서 역할을 하고 자동차는 피제어자로서 역할을 하는데, 자동차 거리 레인징을 수행하기 위해 모바일 디바이스(302) 상에서 실행되고 있는 애플리케이션이 모바일 디바이스(302)를 위한 메인 애플리케이션이기 때문이다. 게다가, 모바일 디바이스/제어자(302)는 자동차 거리 레인징을 위한 최고 우선순위를 배정하고 자동차 거리 레인징을 위한 배정된 우선순위에 기초하여 자원들을 할당한다. 따라서, 모바일 디바이스/제어자(302)와 자동차/피제어자(302)는 할당된 자원들 및 배정된 우선순위를 사용하여 자동차 거리 레인징을 위해 레인징 세션 및 데이터 세션을 수행한다. 그 뒤에, 게이밍 콘솔(사용자 디바이스(302)의 일 예)은 게이밍 세션을 제공하기 위해 애플리케이션의 실행을 개시한다. 애플리케이션의 실행, 게이밍 콘솔(302)은 게이밍 세션에 대해 레인징 세션 및 데이터 세션을 스케줄링하기 위한 요청을 모바일 디바이스/제어자(302)에게 전송한다. 그 요청은 현재 우선순위와 게이밍 세션에 할당된 자원을 포함한다.
레인징 세션 및 데이터 세션을 스케줄링기 위한 요청을 수신 시, 모바일 디바이스/제어자(302)는 게이밍 서비스의 현재 우선순위와 게이밍 서비스를 향한 사용자 의도를 결정한다. 본 개시의 일 예에서, 사용자 의도가 게이밍 세션에 대해 애플리케이션을 실행하기 위해 모바일 디바이스/제어자(302)에 의해 수신된 입력/제스처일 수 있다는 것을 고려한다. 게이밍 세션의 결정된 현재 우선순위와 사용자 의도에 기초하여, 모바일 디바이스/제어자(302)는 자동차 거리 레인징 서비스의 우선순위를 감소시킴으로써 게이밍 세션의 우선순위를 증가시킨다. 게이밍 세션의 우선순위를 증가시킬 시, 모바일 디바이스/제어자(302)는 자동차 거리 레인징 서비스에 대한 자원들의 할당을 감소시킴으로써 게이밍 세션에 대한 자원들의 할당을 증가시킨다. 일 예에서, 자원들의 할당을 증가시키는 것은 라디오 채널을 이용하기 위한 주파수/시간, 대역폭 요건들을 증가시키는 것 등을 수반한다.
모바일 디바이스/제어자(302)는 게이밍 세션에 대해 레인징 세션 및 데이터 세션을 수행하기 위해 게이밍 콘솔/피제어자(302)에게 수정된 QoS/우선순위 파라미터들을 전달한다. 수정된 QoS/우선순위 파라미터들은 게이밍 세션의 증가된 우선순위 및 게이밍 세션을 위한 자원들의 증가된 할당에 관한 정보를 포함한다.
게다가, 사용자가 모바일 디바이스(302) 상에서 게이밍 세션을 위한 애플리케이션을 실행할 때, 모바일 디바이스(302)는 피제어자로서 역할을 하고 게이밍 콘솔(302)은 제어자로서 역할을 하는데, 게이밍 세션을 지원하는 애플리케이션이 게이밍 콘솔을 위한 메인 애플리케이션이고, 모바일 디바이스를 위한 세컨더리 애플리케이션이기 때문이다. 게이밍 콘솔/제어자(302)와 모바일 디바이스/피제어자(302)는 게이밍 세션의 수정된 QoS/우선순위 파라미터들을 사용하여 게이밍 세션에 대해 레인징 세션 및 데이터 세션을 수행할 수 있다.
도어락(사용자 디바이스(302)의 일 예)이 액세스 서비스를 위한 (즉, 도어를 잠금해제하기 위한) 애플리케이션을 실행하고 사용자가 모바일 디바이스(사용자 디바이스(302)의 일 예)를 사용하여 도어락 상에서 진행중인 액세스 서비스와 상호작용하는 도 7b에 묘사된 바와 같은 예시적인 시나리오를 고려한다. 이러한 시나리오에서, 도어락(302)은 제어자로서 역할을 하고 모바일 디바이스(302)는 피제어자로서 역할을 하는데, 액세스 서비스를 지원하는 애플리케이션은 도어락(302)를 위한 메인 애플리케이션이며, 모바일 디바이스(302)를 위한 세컨더리 애플리케이션이다. 게다가, 도어락/제어자(302)는 액세스 서비스에 대해 최고 우선순위를 배정하고 액세스 서비스에 대한 배정된 우선순위에 기초하여 자원들을 할당한다. 그 후, 모바일 디바이스(302)와 도어락(302)은 액세스 서비스의 우선순위에 기초하여 할당된 자원들을 사용하여 액세스 서비스를 위해 레인징 세션 및 데이터 세션 수행한다. 그 뒤에, 사용자는 모바일 디바이스/피제어자(302) 상에서 자동차 거리 레인징을 위한 애플리케이션의 실행을 개시한다. 이러한 시나리오에서, 모바일 디바이스/피제어자(302)는 자동차 거리 레인징 서비스를 위해 레인징 세션 및 데이터 세션을 수행하기 위한 요청들을 도어락/피제어자에게 전송한다. 그 요청은 자동차 거리 레인징 서비스의 현재 우선순위/QoS 파라미터들(우선순위 및 할당된 자원들)을 포함한다.
레인징 및 데이터 세션들을 스케줄링하기 위한 요청을 수신 시, 도어락/제어자(302)는 자동차 거리 레인징 서비스를 향해 자동차 거리 레인징 서비스의 현재 우선순위 및 사용자 의도를 결정한다. 본 개시의 일 예에서, 사용자 의도가 자동차를 향한 사용자의 움직임일 수 있음을 고려한다. 자동차 거리 레인징 서비스의 결정된 현재 우선순위와 사용자 의도에 기초하여, 도어락/제어자(302)는 액세스 서비스의 우선순위를 감소시킴으로써 자동차 거리 레인징 서비스의 우선순위를 증가시킨다. 자동차 거리 레인징 서비스의 우선순위를 증가 시, 도어락/제어자(302)는 자동차 거리 레인징 서비스에 대한 자원들의 할당을 감소시킴으로써 자동차 거리 레인징 서비스에 대한 자원들의 할당을 증가시킨다. 도어락/제어자(302)는 자동차 거리 레인징 서비스를 위한 레인징 세션 및 데이터 세션을 수행하기 위한 수정된 QoS/우선순위 파라미터들을 모바일 디바이스/피제어자(302)에게 전달한다. 수정된 QoS/우선순위 파라미터들은 자동차 거리 레인징 서비스의 증가된 우선순위 및 자동차 거리 레인징 서비스를 위한 자원들의 증가된 할당에 관한 정보를 포함한다.
게다가, 자동차 거리 레인징 서비스가 모바일 디바이스(302) 상에서 진행중일 때, 모바일 디바이스(302)는 제어자로서 역할을 하고 도어락(302)과 자동차(302)는 피제어자들로서 역할을 하는데, 자동차 거리 레인징 서비스를 위한 애플리케이션이 모바일 디바이스(302)를 위한 메인 애플리케이션이기 때문이다. 모바일 디바이스/제어자(302)와 자동차/피제어자(302)는 자동차 거리 레인징 서비스의 수정된 QoS/우선순위 파라미터들을 사용하여 자동차 거리 레인징 서비스에 대한 레인징 세션 및 데이터 세션을 수행한다.
도 8은 본원에서 개시된 바와 같은 실시예들에 따른, GCS IE에 기초하여 레인징 세션을 스케줄링하는 방법을 묘사하는 흐름도(800)이다.
단계 802에서, 그 방법은, 제어자(302)/그룹 소유자에 의해, 적어도 하나의 다른 제어자(302)를 포함시킴으로써 제어자들의 그룹을 생성하는 것을 포함한다.
단계 804에서, 그 방법은, 제어자(302)에 의해, 제어자들의 그룹에 존재하는 각각의 제어자(302)에 의해 지원되는 복수의 서비스들 중 각각의 서비스의 QoS 파라미터들을 결정하는 것을 포함한다.
단계 806에서, 그 방법은, 제어자(302)에 의해, 각각의 서비스의 결정된 QoS 파라미터들에 기초하여 복수의 서비스들 중 각각의 서비스에 대해 제어자들의 그룹에서의 각각의 제어자(302)에 대한 적어도 하나의 레인징 세션을 스케줄링하는 것을 더 포함한다. 제어자(302)는 추가로, 제어자들의 그룹에서의 각각의 제어자(302)에 대해 스케줄링된 적어도 하나의 레인징 세션에 기초하여 GCS IE를 생성한다. 제어자(302)는 복수의 서비스들 중 적어도 하나의 서비스에 대한 스케줄링된 적어도 하나의 레인징 세션을 수행하기 위해 제어자들의 그룹에서의 각각의 제어자에게 생성된 GCS IE를 브로드캐스트하는 것을 포함한다. 방법(800)에서의 다양한 액션들은, 제시된 순서로, 상이한 순서로 또는 동시에 수행될 수 있다. 게다가, 일부 실시예들에서, 도 8에 나열된 일부 액션들은 생략될 수 있다.
도 9a는 본원에서 개시된 바와 같은 실시예들에 따른, 제어자들의 그룹을 생성하는 방법을 묘사하는 예시적인 흐름도이다.
단계 901에서, 제어자(302)로서 역할을 하는 복수의 사용자 디바이스들(302) 중의 하나의 사용자 디바이스는 특정 레인지의 로케이션/영역에 위치되는 하나 이상의 제어자들을 추가함으로써 제어자들의 그룹을 생성할 수 있다. 그룹에서의 각각의 제어자는 하나 이상의 피제어자들과 연관될 수 있다. 단계 902에서, 그룹을 생성한 제어자(302)는 그룹의 그룹 소유자가 될 수 있다.
단계 903에서, 그룹 소유자(302)는 하나 이상의 서비스들에 대한 레인징 세션들(예를 들어: S11, S12..... S1n)을 스케줄링하는데 사용될 수 있는 GCS IE를 생성한다. 하나 이상의 서비스들은 그룹의 노드들(하나 이상의 제어자들 및 하나 이상의 피제어자들) 상에서 호스팅되는 하나 이상의 애플리케이션들에 의해 지원되는 서비스들일 수 있다. 그룹 소유자(302)는 그룹에 존재하는 제어자들 중 각각의 제어자(그룹 소유자를 포함함)에 대해 적어도 하나의 슬롯을 할당함으로써 레인징 세션들을 스케줄링한다. 슬롯들을 할당 시, 그룹 소유자(302)는 하나 이상의 서비스들 중 각각의 서비스에 대해 서비스 파라미터들을 생성한다. 각각의 서비스의 서비스 파라미터들의 예들은, 비제한적으로, 각각의 서비스의 ID, 각각의 서비스의 현재 QoS 파라미터들, 각각의 서비스의 예상되는 QoS 파라미터들, 각각의 서비스에 대한 레인징 라운드들의 리스트(각각의 레인징 세션의 시작 및 종료 시간에 관한 정보를 포함함) 등일 수 있다. 그룹 소유자는 하나 이상의 서비스들의 생성된 서비스 파라미터들에 기초하여 GCS IE를 생성한다. 도 9b에 묘사된 바와 같이, GCS IE는, 비제한적으로, 그룹에 존재하는 제어자들의 수, 각각의 그룹에 대한 테이블 등 중 적어도 하나에 관한 정보를 포함한다. 각각의 제어자에 대한 테이블은 각각의 제어자의 ID에 관한 정보, 각각의 제어자에 연관되는 서비스들의 수, 각각의 제어자 등에 연관되는 각각의 서비스의 서비스 파라미터들을 포함한다.
단계 904에서, 그룹 소유자는 GCS IE의 생성이 성공적인지를 체크한다. GCS IE의 생성이 성공하지 못하면, 단계 905에서, 그룹 소유자는 스케줄링된 레인징 세션들을 경합 기반 레인징 세션들로서 마킹한다.
GCS IE의 생성이 성공적이면, 단계 906에서, 그룹 소유자는 생성된 GCS IE를 그룹에 존재하는 모든 제어자들에게 브로드캐스트한다. 방법(1100)에서의 다양한 액션들은, 제시된 순서로, 상이한 순서로 또는 동시에 수행될 수 있다. 게다가, 일부 실시예들에서, 도 9a에 나열된 일부 액션들은 생략될 수 있다.
도 10은 본원에서 개시된 바와 같은 실시예들에 따른, GCS IE에 기초하여 레인징 세션의 스케줄링을 위한 방법을 묘사하는 예시적인 도면이다.
단계 1001에서, 제어자로서 역할을 하는 복수의 사용자 디바이스들(302) 중 하나는 그룹에 새로운 제어자로서 합류한다. 단계 1002에서, 새로운 제어자(302)는 그룹 소유자(302)로부터 GCS IE를 수신한다. GCS IE는 레인징 세션들을 수행하기 위해 다른 제어자들(그룹 소유자를 포함함)에 대한 스케줄링된 슬롯들에 관한 정보를 포함할 수 있다.
단계 1003에서, 새로운 제어자(302)는 그룹 소유자(302)로부터 수신된 GCS IE에 기초하여 하나 이상의 서비스들(S21...S2n)에 대해 자체적으로 레인징 세션들을 스케줄링한다. 하나 이상의 서비스들(S21...S2n)은 새로운 제어자(302) 및 연관된 하나 이상의 새로운 피제어자들(302) 상에서 호스팅되는 애플리케이션들에 대응하는 서비스들일 수 있다. 새로운 제어자(302)는 그룹에 포함되는 제어자들 및 그룹 소유자에 대해 정의된 슬롯들/레인징 라운드들에 관한 정보를 추출한다. 새로운 제어자(302)는 제어자들에 대해 이미 정의된 슬롯들 및 새로운 제어자(302)에 의해 지원되는 서비스들의 QoS 파라미터들에 기초하여 자체적으로 새로운 슬롯들을 정의함으로써 레인징 세션을 스케줄링한다. 새로운 제어자(302)는 그 다음에 새로운 제어자에 대한 스케줄링된 레인징 세션들의 정보를 수신된 GCS IE에 추가함으로써 수신된 GCS IE를 업데이트한다.
단계 1004에서, 새로운 제어자(302)는 새로운 제어자(302)에 의해 지원되는 하나 이상의 서비스들에 대한 레인징 세션들의 스케줄링이 성공적인지를 체크한다. 새로운 제어자(302)에 의해 지원되는 하나 이상의 서비스들에 대한 레인징 세션들의 스케줄링이 성공적이면, 단계 1005에서, 새로운 제어자는 업데이트된 GCS IE to 그룹에서의 모든 제어자들(302) 및 그룹 소유자(302)에게 브로드캐스트한다.
새로운 제어자(302)에 의해 지원되는 하나 이상의 서비스들에 대한 레인징 세션들의 스케줄링이 성공적이지 못하면, 단계 1006에서, 새로운 제어자(302)는 새로운 제어자(302)에 대한 스케줄링된 레인징 세션들을 경합 기반 스케줄링으로서 마킹한다.
대안적으로, 새로운 제어자(302)에 의해 지원되는 하나 이상의 서비스들에 대한 레인징 세션들의 스케줄링이 성공하지 못하면, 단계 1007에서, 새로운 제어자(302)는 그룹 소유자(302)에게 새로운 제어자(302)에 대한 레인징 세션들을 스케줄링할 것을 요청한다. 새로운 제어자(302)는 새로운 제어자에 의해 지원되는 하나 이상의 서비스들의 QoS 파라미터들을 그룹 소유자(302)에게 전송한다.
단계 1008에서, 그룹 소유자(302)는 새로운 제어자에 대해 새로운 슬롯들을 정의함으로써 새로운 제어자에 대해 레인징 세션들을 스케줄링한다. 일 실시예에서, 그룹 소유자(302)는 GCS IE로부터 기존의 빈 슬롯들을 체크하고 새로운 제어자(302)에 대해 기존의 빈 슬롯들을 정의한다. 일 실시예에서, 그룹 소유자(302)는 그룹의 레인징 구간의 사이즈를 변경하여 새로운 슬롯들을 생성하고 새로운 제어자(302)에 대해 새로운 슬롯들을 정의한다. 그룹 소유자(302)는 새로운 제어자에 연관되는 하나 이상의 서비스들에 대한 스케줄링된 레인징 세션들의 정보의 정보를 저장된 GCS IE에 추가함으로써 GCS IE를 업데이트한다.
단계 1009에서, 그룹 소유자(302)는 새로운 제어자(302)에 의해 지원되는 하나 이상의 서비스들에 대한 레인징 세션들의 스케줄링이 성공적인지를 체크한다. 새로운 제어자(302)에 의해 지원되는 하나 이상의 서비스들에 대한 레인징 세션들의 스케줄링이 성공적이면, 단계 1010에서, 그룹 소유자(302)는 업데이트된 GCS IE를 그룹의 모든 제어자들(302)(새로운 제어자(302)를 포함함)에게 브로드캐스트한다.
새로운 제어자(302)에 의해 지원되는 하나 이상의 서비스들에 대한 레인징 세션들의 스케줄링이 성공적이지 못하면, 단계 1011에서, 그룹 소유자(302)는 새로운 제어자(302)에 대한 스케줄링된 레인징 세션들을 경합 기반 스케줄링으로서 마킹한다. 방법(1100)에서의 다양한 액션들은, 제시된 순서로, 상이한 순서로 또는 동시에 수행될 수 있다. 게다가, 일부 실시예들에서, 도 10에 나열된 일부 액션들은 생략될 수 있다.
도 11은 본원에서 개시된 바와 같은 실시예들에 따른, GCS IE에 기초하여 레인징 세션들을 스케줄링하는 시나리오를 묘사하는 예시적인 도면이다.
제어자(제어자 1)로서 역할을 하는 사용자 디바이스/모바일 디바이스(302)가 특정 레인지의 로케이션에 존재하는 사용자 디바이스들(302)에 기초하여 그룹을 형성하는 예시적인 시나리오를 고려한다. 그룹을 형성한 제어자 1은 그 그룹의 그룹 소유자가 된다. 그 그룹에 존재하는 사용자 디바이스들(302)은 제어자 1에 연관되는 세 개의 피제어자들((피제어자 1(모바일 디바이스), 피제어자 2(게이밍 콘솔), 및 피제어자 3(자동차)), 제어자 2(모바일 디바이스), 및 제어자 2에 연관되는 두 개의 피제어자들((피제어자 4(게이밍 콘솔) 및 피제어자 5(자동차))을 포함할 수 있다.
그룹을 형성 시, 제어자 1은 하나 이상의 서비스들에 대해 슬롯들/레인징 슬롯들을 정의함으로써 레인징 세션들을 스케줄링한다. 본 개시의 일 예에서, 하나 이상의 서비스들은, 비제한적으로, 게이밍 세션 1, 게이밍 세션 2, 자동차 세션 1, 자동차 세션 2 등 중 적어도 하나일 수 있다. 게이밍 세션 1과 자동차 세션 1은 제어자 1에 연관될 수 있다. 게이밍 세션 2와 자동차 세션 2는 제어자 2에 연관될 수 있다. 제어자 1은 제어자 1 및 제어자 2에 대한 슬롯들을 정의함으로써 레인징 세션들을 스케줄링한다. 제어자 1은 그룹에서 제어자 1 및 제어자 2에 대한 스케줄링된 레인징 세션들에 관한 정보를 포함시킴으로써 GCS IE를 생성한다.
제어자 1은 생성된 GCS IE를 제어자 2와 공유한다. 제어자 1은 제어자 1에 대해 정의된 슬롯에 관한 정보를 GCS IE로부터 추출함으로써 제어자 1 및 연관된 세 개의 피제어자들 간에 내부적으로 레인징 세션들을 스케줄링한다. 제어자 2는 제어자 2에 대해 정의된 슬롯에 관한 정보를 GCS IE로부터 추출함으로써 제어자 2 및 연관된 두 개의 피제어자들 간에 내부적으로 레인징 세션들을 스케줄링한다. 따라서, 하나 내지 다수의 레인징 세션들이 임의의 충돌들/중첩 없이 그룹에서 수행될 수 있다.
도 12a 및 도 12b는 본원에서 개시된 바와 같은 실시예들에 따른, 그룹에 존재하는 제어자들에 대해 정의된 계층적 스케줄링 구조를 묘사하는 예시적인 도면들이다.
본 개시의 실시예들은 그 그룹에서 하나 이상의 서비스들에 대한 레인징 세션들을 스케줄링하기 위한 GCS IE를 생성한다. GCS IE는 그룹의 각각의 제어자에 대해 스케줄링되는 슬롯들/레인징 라운드들(레인징 라운드들)에 관한 정보를 포함할 수 있다. 각각의 제어자는 정의된 적어도 하나의 슬롯 내에서 내부적으로 하나 이상의 서비스들에 대해 제어자 및 하나 이상의 피제어자들 간에 레인징 세션들을 스케줄링할 수 있다. 일 실시예에서, 적어도 하나의 슬롯은 각각의 제어자(302)에 대해 계층적 구조로 정의될 수 있다. 도 12a에 묘사된 바와 같은 예에서, 슬롯들은 제어자들에 대해 차례차례 정의될 수 있다. 다른 예에서, 슬롯들은 도 12b에 묘사된 바와 같은 랜덤 순서로 제어자들에 대해 정의될 수 있다.
본 개시에서 개시되는 실시예들은 적어도 하나의 하드웨어 디바이스 상에서 실행되고 네트워크 관리 기능들을 수행하여 엘리먼트들을 제어하는 적어도 하나의 소프트웨어 프로그램을 통해 구현될 수 있다. 도 3a, 도 3b, 및 도 4에 도시된 엘리먼트들은 하드웨어 디바이스, 또는 하드웨어 디바이스 및 소프트웨어 모듈의 조합 중 적어도 하나일 수 있다.
본원에서 개시되는 실시예들은 단거리 통신 시스템에서 레인징 세션들을 스케줄링하는 방법들 및 시스템들을 설명한다. 그러므로, 보호의 범위는 이러한 프로그램으로 확장되고 메시지를 갖는 컴퓨터 판독가능 수단 외에도, 이러한 컴퓨터 판독가능 저장 수단들은, 프로그램이 서버 또는 모바일 디바이스 또는 임의의 적합한 프로그램가능 디바이스 상에서 실행될 때, 방법의 하나 이상의 단계들의 구현을 위한 프로그램 코드 수단을 포함한다는 것이 이해된다. 방법은, 예컨대, 초고속 집적 회로 하드웨어 디스크립션 언어(Very high speed integrated circuit Hardware Description Language)(VHDL), 다른 프로그래밍 언어로 작성된, 또는 적어도 하나의 하드웨어 디바이스 상에서 실행되고 있는 하나 이상의 VHDL 또는 여러 소프트웨어 모듈들에 의해 구현되는 소프트웨어 프로그램을 통해 또는 그러한 프로그램과 함께 바람직한 실시예로 구현된다. 하드웨어 디바이스는 프로그래밍될 수 있는 임의의 종류의 휴대용 디바이스일 수 있다. 예를 들어, 그 디바이스는, 예컨대, ASIC과 같은 하드웨어 수단, 또는 하드웨어 및 소프트웨어의 조합 수단, 예컨대, ASIC 및 FPGA, 또는 적어도 하나의 마이크로프로세서와 소프트웨어 모듈들이 내부에 위치되는 적어도 하나의 메모리일 수 있는 수단을 또한 포함할 수 있다. 본 개시에서 설명되는 방법 실시예들은 부분적으로는 하드웨어로 그리고 부분적으로는 소프트웨어로 구현될 수 있다. 대안적으로, 본 발명은 상이한 하드웨어 디바이스들 상에, 예컨대, 복수의 CPU들을 사용하여 구현될 수 있다.
특정 실시예들의 앞서의 설명은, 다른 사람들이, 현재의 지식을 적용함으로써, 일반적인 개념으로부터 벗어남 없이 이러한 특정 실시예들을 다양한 응용들을 위해 쉽사리 수정 및/또는 적응시킬 수 있는 본 개시에서의 실시예들의 일반적인 성질을 충분히 드러낼 것이고, 그러므로, 이러한 개조들 및 수정들은 개시된 실시예들의 동등물들의 의미 및 범위 내에서 이해되어야 하고 이해되도록 의도된다. 본 개시에서 채용되는 어법 또는 용어는 설명의 목적을 위한 것이고 제한하는 것이 아님이 이해되어야 한다. 그러므로, 본 개시에서의 실시예들이 실시예들의 측면에서 설명되었지만, 관련 기술분야의 통상의 기술자들은 본 개시에서의 실시예들이 본 개시에서 설명되는 바와 같은 실시예들의 사상 및 범위 내에서 수정하여 실시될 수 있다는 것이 인식될 것이다.

Claims (15)

  1. 단거리 통신 시스템에서 세션들을 스케줄링하는 방법에 있어서,
    제어자에 의해, 복수의 서비스들 중 적어도 하나의 서비스에 대한 적어도 하나의 세션을 스케줄링하기 위한 적어도 하나의 피제어자로부터의 요청을 수신하는 단계로서, 상기 적어도 하나의 세션은 레인징 세션 및 데이터 세션 중 적어도 하나를 포함하는, 상기 요청을 수신하는 단계;
    상기 제어자에 의해, 상기 적어도 하나의 세션에 대해 상기 적어도 하나의 서비스에 우선순위 파라미터들을 배정하는 단계; 및
    상기 제어자에 의해, 배정된 우선순위 파라미터들에 기초하여, 상기 적어도 하나의 서비스에 대해 상기 제어자와 상기 적어도 하나의 피제어자 간에 상기 적어도 하나의 세션을 스케줄링하는 단계;를 포함하는, 방법.
  2. 제1항에 있어서, 상기 우선순위 파라미터들은 우선순위와 서비스 품질(QoS) 자원들 중 적어도 하나를 포함하며, 상기 QoS 자원들은 라디오 채널을 이용하기 위한 주파수, 대역폭 요건들 및 허용가능 데드라인 중 적어도 하나를 포함하는, 방법.
  3. 제1항에 있어서, 상기 제어자에 의해, 상기 적어도 하나의 세션에 대해 상기 적어도 하나의 서비스에 상기 우선순위 파라미터들을 배정하는 단계는,
    상기 적어도 하나의 피제어자로부터 상기 적어도 하나의 서비스의 현재 우선순위 파라미터들을 수신하는 단계로서, 상기 적어도 하나의 서비스의 상기 현재 우선순위 파라미터들은 상기 적어도 하나의 서비스의 초기 우선순위 파라미터들 및 적어도 하나의 이전의 세션 동안 상기 적어도 하나의 서비스의 업데이트된 우선순위 파라미터들 중 한 종류의 파라미터들을 포함하는, 상기 현재 우선순위 파라미터들을 수신하는 단계;
    상기 적어도 하나의 세션에 대해 상기 적어도 하나의 서비스에 연관되는 적어도 하나의 큐의 시간 지연의 가중값들을 결정하는 단계로서, 상기 적어도 하나의 큐는 레인징 큐 및 데이터 큐 중 적어도 하나를 포함하는, 상기 결정하는 단계;
    상기 적어도 하나의 세션에 대해 상기 적어도 하나의 서비스를 향하는 사용자 의도를 결정하는 단계;
    상기 적어도 하나의 큐의 상기 시간 지연의 결정된 가중값들과 상기 적어도 하나의 세션에 대해 상기 적어도 하나의 서비스를 향하는 상기 사용자 의도에 기초하여 상기 적어도 하나의 서비스의 상기 현재 우선순위 파라미터들을 수정하는 단계; 및
    상기 적어도 하나의 세션에 대해 상기 적어도 하나의 서비스에 수정된 우선순위 파라미터들을 상기 우선순위 파라미터들로서 배정하는 단계를 포함하는, 방법.
  4. 제3항에 있어서, 상기 적어도 하나의 서비스의 상기 현재 우선순위 파라미터들은 상기 적어도 하나의 피제어자 상에 저장되는 QoS 정보(QoS IE)에 포함되는, 방법.
  5. 제4항에 있어서, 상기 QoS IE는 사용자 디바이스들의 수, 각각의 사용자 디바이스의 식별자(ID), 각각의 사용자 디바이스에 의해 지원되는 서비스들의 수, 및 각각의 디바이스에 의해 지원되는 각각의 서비스의 상기 우선순위 파라미터들 중 적어도 하나에 관한 정보를 포함하며, 상기 사용자 디바이스들은 상기 제어자 및 상기 적어도 하나의 피제어자 중 적어도 하나를 포함하는, 방법.
  6. 제5항에 있어서, 상기 QoS IE는,
    상기 복수의 서비스들을 지원하기 위해 상기 제어자 및 상기 적어도 하나의 피제어자 상에서 호스팅되는 복수의 애플리케이션들의 정보를 수집하는 단계로서, 상기 복수의 애플리케이션들의 상기 정보는 각각의 애플리케이션에 의해 지원되는 서비스들의 수, 및 각각의 서비스의 성질 중 적어도 하나를 포함하는, 상기 수집하는 단계;
    각각의 서비스의 상기 성질에 관련된 수집된 정보에 기초하여 상기 복수의 서비스들 중 각각의 서비스에 대해 상기 초기 우선순위 파라미터들을 배정하는 단계;
    상기 적어도 하나의 세션에 대해 상기 복수의 서비스들 중 각각의 서비스에 대한 배정된 초기 우선순위 파라미터들에 기초하여 상기 QoS IE를 생성하는 단계; 및
    상기 적어도 하나의 피제어자에게 생성된 QoS IE를 브로드캐스트하고 상기 생성된 QoS IE를 메모리에 저장하는 단계를 함으로써 초기화 페이즈에서 상기 제어자에 의해 생성되는, 방법.
  7. 제6항에 있어서, 각각의 서비스에 대해 상기 초기 우선순위 파라미터들을 배정하는 단계는,
    각각의 서비스의 상기 성질에 관련된 상기 수집된 정보에 기초하여 상기 적어도 하나의 세션에 대해 상기 복수의 서비스들 중 각각의 서비스에 대한 초기 우선순위를 결정하는 단계; 및
    각각의 서비스에 대한 결정된 초기 우선순위에 기초하여 상기 적어도 하나의 세션에 대해 상기 복수의 서비스들 중 각각의 서비스에 대한 초기 QoS 자원들을 할당하는 단계를 포함하는 방법.
  8. 제3항에 있어서, 상기 사용자 의도는 센서 기반 의도 검출 방법 및 신경망 기반 의도 검출 방법 중 하나를 사용하여 결정되는, 방법.
  9. 제3항에 있어서, 상기 적어도 하나의 서비스의 상기 현재 우선순위 파라미터들을 수정하는 단계는,
    상기 적어도 하나의 큐의 상기 시간 지연의 결정된 가중값들과 상기 적어도 하나의 세션에 대해 상기 적어도 하나의 세션을 향한 상기 사용자 의도에 기초하여 상기 적어도 하나의 세션에 대해 상기 적어도 하나의 서비스의 현재 우선순위를 수정하는 단계; 및
    상기 적어도 하나의 서비스의 수정된 우선순위에 기초하여 상기 적어도 하나의 세션에 대해 상기 적어도 하나의 서비스의 현재 QoS 자원들을 수정하는 단계를 포함하는, 방법.
  10. 제3항에 있어서,
    상기 적어도 하나의 세션에 대해 상기 적어도 하나의 서비스의 수정된 우선순위 파라미터들로 상기 QoS IE를 업데이트하는 단계; 및
    상기 적어도 하나의 피제어자에 업데이트된 QoS IE를 브로드캐스트하고 상기 업데이트된 QoS IE를 상기 메모리에 저장하는 단계를 더 포함하는, 방법.
  11. 적어도 하나의 피제어자; 및
    상기 적어도 하나의 피제어자에 커플링되는 적어도 하나의 제어자;를 포함하며,
    상기 제어자는,
    복수의 서비스들 중 적어도 하나의 서비스에 대한 적어도 하나의 세션을 스케줄링하기 위한 적어도 하나의 피제어자로부터의 요청을 수신하는 것으로서, 상기 적어도 하나의 세션은 레인징 세션 및 데이터 세션 중 적어도 하나를 포함하는, 상기 요청을 수신하는 것;
    상기 적어도 하나의 세션에 대해 상기 적어도 하나의 서비스에 우선순위 파라미터들을 배정하는 것; 및
    배정된 우선순위 파라미터들에 기초하여, 상기 적어도 하나의 서비스에 대해 상기 제어자와 상기 적어도 하나의 피제어자 간에 상기 적어도 하나의 세션을 스케줄링하는 것
    을 하도록 구성되는, 단거리 통신 시스템.
  12. 단거리 통신 시스템에서 적어도 하나의 레인징 세션을 스케줄링하는 방법에 있어서,
    제어자에 의해, 적어도 하나의 다른 제어자를 포함시킴으로써 제어자들의 그룹을 생성하는 단계;
    상기 제어자에 의해, 상기 제어자들의 그룹에서의 각각의 제어자에 의해 지원되는 복수의 서비스들 중 각각의 서비스의 서비스 품질(QoS) 파라미터들을 결정하는 단계; 및
    상기 제어자에 의해, 각각의 서비스의 결정된 QoS 파라미터들에 기초하여 상기 복수의 서비스들 중 각각의 서비스에 대해 상기 제어자들의 그룹에서의 각각의 제어자에 대한 상기 적어도 하나의 레인징 세션을 스케줄링하는 단계를 포함하는, 방법.
  13. 제12항에 있어서,
    상기 제어자에 의해, 상기 제어자들의 그룹에서의 각각의 제어자에 대한 스케줄링된 적어도 하나의 레인징 세션에 기초하여 그룹 복합 스케줄 정보(GCS IE)를 생성하는 단계; 및
    상기 제어자에 의해, 상기 복수의 서비스들 중 적어도 하나의 서비스에 대한 상기 스케줄링된 적어도 하나의 레인징 세션을 수행하기 위해 상기 제어자들의 그룹에서의 각각의 제어자에 생성된 GCS IE를 브로드캐스트하는 단계를 더 포함하는, 방법.
  14. 제12항에 있어서, 상기 방법은,
    상기 제어자에 의해, 생성된 제어자들의 그룹에 적어도 하나의 새로운 제어자를 추가하는 단계; 및
    상기 제어자에 의해, 상기 적어도 하나의 새로운 제어자가 상기 적어도 하나의 새로운 제어자에 의해 지원되는 상기 적어도 하나의 서비스에 대한 상기 적어도 하나의 레인징 세션을 스케줄링하는 것을 가능하게 하는 단계를 더 포함하며,
    상기 적어도 하나의 새로운 제어자에 의해, 상기 적어도 하나의 서비스에 대한 상기 적어도 하나의 레인징 세션을 스케줄링하는 단계는,
    상기 제어자로부터 GCS IE를 수신하는 단계;
    상기 제어자들의 그룹에서의 각각의 제어자에 대해 정의된 상기 적어도 하나의 슬롯에 관한 정보를 추출하는 단계; 및
    추출된 정보와 상기 적어도 하나의 새로운 제어자에 의해 지원되는 상기 적어도 하나의 서비스의 상기 QoS 파라미터들에 기초하여 상기 적어도 하나의 새로운 제어자에 대한 상기 적어도 하나의 새로운 슬롯을 정의함으로써 상기 적어도 하나의 레인징 세션을 스케줄링하는 단계를 포함하는, 방법.
  15. 복수의 제어자들;을 포함하며,
    상기 복수의 제어자들 중 한 제어자는,
    적어도 하나의 다른 제어자를 포함시킴으로써 제어자들의 그룹을 생성하며;
    상기 제어자들의 그룹에서의 각각의 제어자에 의해 지원되는 복수의 서비스들 중 각각의 서비스의 서비스 품질(QoS) 파라미터들을 결정하며; 그리고
    각각의 서비스의 결정된 QoS 파라미터들에 기초하여 상기 복수의 서비스들 중 각각의 서비스에 대해 상기 제어자들의 그룹에서의 각각의 제어자에 대한 상기 적어도 하나의 레인징 세션을 스케줄링하도록
    구성되는, 단거리 통신 시스템.
KR1020227007163A 2019-08-02 2020-07-31 단거리 통신 시스템에서 레인징 및 데이터 세션들을 스케줄링하는 방법들 및 시스템들 KR20220045179A (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
IN201941031302 2019-08-02
IN201941031302 2019-08-02
IN201941031301(???) 2019-08-02
IN201941031301 2019-08-02
IN201941031301 2020-07-29
PCT/KR2020/010135 WO2021025389A1 (en) 2019-08-02 2020-07-31 Methods and systems for scheduling ranging and data sessions in a short-range communication system

Publications (1)

Publication Number Publication Date
KR20220045179A true KR20220045179A (ko) 2022-04-12

Family

ID=74504314

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227007163A KR20220045179A (ko) 2019-08-02 2020-07-31 단거리 통신 시스템에서 레인징 및 데이터 세션들을 스케줄링하는 방법들 및 시스템들

Country Status (5)

Country Link
US (1) US20220191889A1 (ko)
EP (1) EP3973740A4 (ko)
KR (1) KR20220045179A (ko)
CN (1) CN114208232A (ko)
WO (1) WO2021025389A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4145174A1 (en) * 2021-09-02 2023-03-08 Nxp B.V. Communication device and operating method thereof
WO2023164351A1 (en) * 2022-02-24 2023-08-31 Qualcomm Incorporated Time alignment configuration for hybrid cellular and uwb positioning

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7430602B2 (en) * 2002-12-20 2008-09-30 Qualcomm Incorporated Dynamically provisioned mobile station and method therefor
US20050122904A1 (en) * 2003-12-04 2005-06-09 Kumar Anil K. Preventative congestion control for application support
US8751652B2 (en) * 2004-09-15 2014-06-10 Nokia Corporation Service specific subscriber priority
US20070116007A1 (en) * 2005-11-18 2007-05-24 Weimin Xiao Method and system for scheduling and resource allocation in a data communication network
US9148823B2 (en) * 2006-07-05 2015-09-29 Nokia Technologies Oy Ensuring quality of service for private short-range wireless networks
US7929500B2 (en) * 2006-07-10 2011-04-19 Samsung Electronics Co., Ltd. Home base tranceiver station apparatus using packet network in a mobile communication system and method thereof
KR100942799B1 (ko) * 2007-12-10 2010-02-18 한국전자통신연구원 트래픽 처리시스템 및 그 방법
KR100941847B1 (ko) * 2008-05-08 2010-02-11 주식회사 팬택 이동통신망에서의 QoS 자원 해제 시스템 및 방법
US8402165B2 (en) * 2008-05-09 2013-03-19 Research In Motion Limited Methods and apparatus for prioritizing assignment of a packet data session for a plurality of applications of a mobile communication device
KR101573329B1 (ko) * 2008-05-27 2015-12-01 삼성전자주식회사 멀티캐스트 세션을 통해 수신한 어플리케이션에 기초한 iptv 서비스 이용 방법 및 장치
US20100254334A1 (en) * 2009-04-06 2010-10-07 Qualcomm Incorporated Setting up a communication session within a wireless communications system
KR101719165B1 (ko) * 2010-10-27 2017-03-23 삼성전자주식회사 와이파이 피투피 그룹에서 무선랜 네트워크 쉐어링 데이터의 전송 방법 및 장치
US9184936B2 (en) * 2010-11-12 2015-11-10 International Business Machines Corporation Systems and methods for estimating processing workloads
KR101897598B1 (ko) * 2011-05-13 2018-09-13 삼성전자 주식회사 디지털 디바이스의 어플리케이션 처리 속도 향상 방법 및 장치
IL217835B (en) * 2012-01-30 2018-04-30 Verint Systems Ltd System and method for automatic prioritization of communication events
US9554389B2 (en) * 2012-08-31 2017-01-24 Qualcomm Incorporated Selectively allocating quality of service to support multiple concurrent sessions for a client device
US10574744B2 (en) * 2013-01-31 2020-02-25 Dell Products L.P. System and method for managing peer-to-peer information exchanges
CN104144516B (zh) * 2013-05-10 2018-02-06 华为技术有限公司 无线局域网接入点调度方法、控制器、接入点及系统
US9426615B2 (en) * 2014-09-30 2016-08-23 Apple Inc. Prioritizing beacon messages for mobile devices
US9350772B2 (en) * 2014-10-24 2016-05-24 Ringcentral, Inc. Systems and methods for making common services available across network endpoints
US20160150590A1 (en) * 2014-11-21 2016-05-26 Samsung Electronics Co., Ltd. Method and system for indicating a multicast session to user equipment (ue) in an idle mode
DE102020115333A1 (de) * 2019-06-17 2020-12-17 Silicon Works Co., Ltd. Drahtloses Batterie-Verwaltungssystem, Knoten für drahtlose Kommunikation und Verfahren zur Datenübertragung
US11665212B2 (en) * 2019-07-16 2023-05-30 T-Mobile Usa, Inc. Timer-initiated fallback

Also Published As

Publication number Publication date
US20220191889A1 (en) 2022-06-16
EP3973740A4 (en) 2022-12-14
EP3973740A1 (en) 2022-03-30
CN114208232A (zh) 2022-03-18
WO2021025389A1 (en) 2021-02-11

Similar Documents

Publication Publication Date Title
US10397838B2 (en) Scheduling and handover of a vehicular connection with periodic messaging
KR102170344B1 (ko) 지상국, 무인항공기 및 지상국과 무인항공기의 통신 시스템, 방법
WO2021243618A1 (zh) 一种资源调度的方法、装置、通信设备及存储介质
US20210073047A1 (en) Technologies for managing accelerator resources by cloud resource manager
KR20220045179A (ko) 단거리 통신 시스템에서 레인징 및 데이터 세션들을 스케줄링하는 방법들 및 시스템들
CN106445473B (zh) 一种容器部署方法及装置
CN104429147A (zh) 高效率分布式设备对设备(d2d)信道接入
KR20160063041A (ko) 근접 서비스 데이터 송신 방법 및 그 전자 장치
CN108462999B (zh) 一种进行资源分配的方法和设备
CN107968692B (zh) 一种无人机的通信方法、通信装置及无人机
US10021575B2 (en) Method and apparatus for incident task based allocation of service instances
JP2017510188A (ja) 分散d2dのためのチャネルアクセス優先順位
CN109561434A (zh) 用于保证通信服务的方法、设备以及计算机可读介质
CN107567098B (zh) 功率分配的方法和装置
CN108141902B (zh) 使用帧聚集的无线数据确收通信
US20200026546A1 (en) Method and apparatus for controlling virtual machine related to vehicle
US10492050B2 (en) Multiple link layers and advertisement policies for wireless communication
AU2016393252A1 (en) Dynamic application execution for automobile and cloud hybrid environments
JP5105954B2 (ja) 無線通信装置および無線通信システムの無線通信制御方法
AU2016261638B2 (en) Method and apparatus for selecting a service instance
KR101473416B1 (ko) 지그비 중계 기능을 활용하는 복수의 이동체 운용 시스템
WO2019237693A1 (zh) 订单分配
US20230385095A1 (en) Method and system for resource modification of virtual devices
CN114546626A (zh) 基于用户预分组的机会式群智感知在线任务分配方法
CN115996370A (zh) 数据传输方法、装置、设备、存储介质及程序