KR102493291B1 - 사용자 계정 인식 개인 영역 네트워크 본딩 - Google Patents

사용자 계정 인식 개인 영역 네트워크 본딩 Download PDF

Info

Publication number
KR102493291B1
KR102493291B1 KR1020210134180A KR20210134180A KR102493291B1 KR 102493291 B1 KR102493291 B1 KR 102493291B1 KR 1020210134180 A KR1020210134180 A KR 1020210134180A KR 20210134180 A KR20210134180 A KR 20210134180A KR 102493291 B1 KR102493291 B1 KR 102493291B1
Authority
KR
South Korea
Prior art keywords
area network
computing device
personal area
user account
client computing
Prior art date
Application number
KR1020210134180A
Other languages
English (en)
Other versions
KR20230006364A (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 KR20230006364A publication Critical patent/KR20230006364A/ko
Application granted granted Critical
Publication of KR102493291B1 publication Critical patent/KR102493291B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/11Allocation or use of connection identifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4547Network directories; Name-to-address mapping for personal communications, i.e. using a personal identifier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/162Implementing security features at a particular protocol layer at the data link layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/047Key management, e.g. using generic bootstrapping architecture [GBA] without using a trusted network node as an anchor
    • H04W12/0471Key exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

호스트 컴퓨팅 장치는 본 개시물에서 설명된 기법들의 다양한 양태들을 수행할 수도 있고, 메모리, 프로세서, 및 개인 영역 네트워크(PAN) 인터페이스를 포함한다. 메모리는 서로 다른 사용자 계정의 각 사용자 계정에 대한 PAN 구성 데이터를 저장할 수 있으며, 여기서 PAN 구성 데이터는 PAN 링크를 지원할 때 PAN 인터페이스에서 사용하기 위한 별도의 계층 2 호스트 주소(L2HA)를 포함한다. 프로세서는 운영 체제에 로그인하는 제1 사용자 계정에 응답하여, 동작들을 수행하는 운영 체제를 실행할 수 있으며, 동작들은, 메모리로부터, 제1 사용자 계정에 특정한 PAN 구성 데이터의 제1 PAN 구성 데이터를 획득하는 동작; 그리고 제1 PAN 구성 데이터에 포함된 제1 L2HA를 사용하도록 PAN 인터페이스의 프로그래밍을 시작하는 동작을 포함한다. PAN 인터페이스는 제1 L2HA를 사용하여, 제1 사용자 계정과 연관된 제1 클라이언트 컴퓨팅 장치와의 제1 PAN 링크를 설정할 수 있다.

Description

사용자 계정 인식 개인 영역 네트워크 본딩{USER ACCOUNT AWARE PERSONAL AREA NETWORK BONDING}
본 명세서는 사용자 계정 인식 개인 영역 네트워크 본딩에 관한 것이다.
PAN(Personal Area Network)은 두 개 이상의 장치 간에 로컬 무선 연결(예: 10미터 이내)을 가능하게 하며 이러한 연결을 일반적으로 링크 또는 PAN 링크라고 한다. PAN의 사용은 예를 들어, 무선 마우스 및/또는 무선 키보드가 컴퓨팅 장치에 대한 사용자 입력을 가능하게 하기 위해 컴퓨팅 장치와의 무선 PAN 링크를 설정하는 것을 허용하는 광범위한 사용 사례를 용이하게 했다. 이러한 사용 사례가 다양한 사용자 계정에 걸쳐 여러 다른 사용자가 사용하는 무선 마우스 및/또는 무선 키보드와 같은 장치를 포함하는 경우가 많다는 점을 감안할 때 PAN 프로토콜은 일반적으로 이러한 장치를 컴퓨팅에 페어링(즉, 본딩)하며 주어진 사용자 계정에 대해 구별되는 페어링을 제공하지 않는다. 결과적으로, 컴퓨팅 장치는 사용자 계정에 걸쳐 장치의 사용을 용이하게 하기 위해 컴퓨팅 장치에 존재하는 임의의 사용자 계정을 통해 페어링된 장치를 제시할 수 있으며, 이는 다른 사용자가 현재 컴퓨팅 장치를 작동하는 사용자에게 알려지지 않은 장치를 페어링했을 때 때때로 사용자 혼란을 초래할 수 있다.
일반적으로, 본 개시물에서 설명된 기술의 다양한 양태는 사용자 계정 인식 개인 영역 네트워크(PAN) 본딩에 관한 것이다. 클라이언트 컴퓨팅 장치를 사용자 계정에 걸쳐 호스트 컴퓨팅 장치에 본딩하는 것보다, 본 개시에서 설명된 기술은 호스트 컴퓨팅 장치가 호스트 컴퓨팅 장치에 의해 지원되는 각 사용자 계정에 대해 별도의 PAN 본드를 설정하는 것을 가능하게 할 수 있다. 이러한 사용자 계정 인식 PAN 본딩을 용이하게 하기 위해, 호스트 컴퓨팅 장치는 각 사용자 계정에 대해 별도의 계층 2 호스트 주소를 할당할 수 있으며, 호스트 컴퓨팅 장치는 PAN 인터페이스를 프로그래밍하는 데 사용할 수 있다. 특정 사용자 계정에 대해 이 별도의 계층 2 호스트 주소를 사용하도록 PAN 인터페이스를 프로그래밍함으로써, 클라이언트 컴퓨팅 장치는 호스트 컴퓨팅 장치와 연관된 것으로 표시되는 장치와 관련하여 사용자 계정을 효과적으로 "sandboxes(샌드박스)"하는 전용의 별도 PAN 링크를 수신한다.
이와 같이, 기술의 다양한 양태는 호스트 컴퓨팅 장치가 보다 안전하게 동작하는 동시에 보다 효율적인 동작을 촉진하는 것을 가능하게 할 수 있다. 예를 들어, 현재 클라이언트 컴퓨팅 장치의 사용자가 호스트 컴퓨팅 장치와 연관되어 있는 것으로 알고 있는 클라이언트 컴퓨팅 장치로만 PAN 본딩을 제한함으로써, 사용자는 데이터 불안정성을 초래하는 혼란을 덜 경험할 수 있다. 따라서 사용자는 익숙하지 않은 클라이언트 컴퓨팅 장치의 페어링을 해제(즉, 본딩 해제)하려고 시도할 수 없으며, 이는 컴퓨팅 리소스(자원)(예: 프로세서 사이클, 메모리, 메모리 버스 대역폭 등 및 수반되는 전원)를 소비하는 불필요한 작업을 수행하는 호스트 컴퓨팅 장치를 포함할 수 있다. 이와 관련하여, 데이터 보안은 클라이언트 컴퓨팅 장치의 사용자의 관점에서 개선되는 동시에 호스트 컴퓨팅 장치의 동작도 개선할 수 있다.
예에서, 기술의 양태는 호스트 컴퓨팅 장치에 관한 것으로서, 개인 영역 네트워크 인터페이스; 복수의 상이한 사용자 계정의 각 사용자 계정에 대한 개인 영역 네트워크 구성 데이터를 저장하도록 구성된 메모리 -개인 영역 네트워크 구성 데이터는 복수의 사용자 계정의 각각의 사용자 계정과 연관된 클라이언트 컴퓨팅 장치와의 개인 영역 네트워크 링크를 지원할 때 개인 영역 네트워크 인터페이스에 의해 사용하기 위한 별도의 계층 2 호스트 주소(layer two host address)를 포함함-; 그리고 운영 체제를 실행하도록 구성된 하나 이상의 프로세서를 포함하며, 상기 운영 체제는, 운영 체제에 로그인하는 복수의 사용자 계정 중 제1 사용자 계정에 응답하여: 메모리로부터, 제1 사용자 계정에 특정한 개인 영역 네트워크 구성 데이터의 제1 개인 영역 네트워크 구성 데이터를 획득하고; 그리고 제1 개인 영역 네트워크 구성 데이터에 포함된 제1 계층 2 호스트 주소를 사용하도록 개인 영역 네트워크 인터페이스의 프로그래밍을 시작하도록 구성되고, 개인 영역 네트워크 인터페이스는 제1 계층 2 호스트 주소를 사용하여, 제1 사용자 계정과 연관된 제1 클라이언트 컴퓨팅 장치와의 제1 개인 영역 네트워크 링크를 설정하도록 구성된다.
다른 예에서, 기술의 양태는 방법에 관한 것으로서, 복수의 상이한 사용자 계정의 각 사용자 계정에 대한 개인 영역 네트워크 구성 데이터를 저장하는 단계 -개인 영역 네트워크 구성 데이터는 복수의 사용자 계정의 각각의 사용자 계정과 연관된 클라이언트 컴퓨팅 장치와의 개인 영역 네트워크 링크를 지원할 때 개인 영역 네트워크 인터페이스에 의해 사용하기 위한 별도의 계층 2 호스트 주소를 포함함-; 운영 체제에 로그인하는 복수의 사용자 계정 중 제1 사용자 계정에 응답하여 동작들을 수행하도록 운영 체제를 실행하는 단계 -상기 동작들은, 메모리로부터, 제1 사용자 계정에 특정한 개인 영역 네트워크 구성 데이터의 제1 개인 영역 네트워크 구성 데이터를 획득하는 동작; 그리고 제1 개인 영역 네트워크 구성 데이터에 포함된 제1 계층 2 호스트 주소를 사용하도록 개인 영역 네트워크 인터페이스의 프로그래밍을 시작하는 동작을 포함함-; 그리고 제1 계층 2 호스트 주소를 사용하여, 제1 사용자 계정과 연관된 제1 클라이언트 컴퓨팅 장치와의 제1 개인 영역 네트워크 링크를 설정하는 단계를 포함한다.
다른 예에서, 기술의 양태는, 실행될 때 호스트 컴퓨팅 장치의 하나 이상의 프로세서로 하여금 동작들을 수행하게 하는 명령어가 저장된 비일시적 컴퓨터-판독가능 저장 매체로서, 상기 동작들은, 복수의 상이한 사용자 계정의 각 사용자 계정에 대한 개인 영역 네트워크 구성 데이터를 저장하는 동작 -개인 영역 네트워크 구성 데이터는 복수의 사용자 계정의 각각의 사용자 계정과 연관된 클라이언트 컴퓨팅 장치와의 개인 영역 네트워크 링크를 지원할 때 개인 영역 네트워크 인터페이스에 의해 사용하기 위한 별도의 계층 2 호스트 주소를 포함함-; 운영 체제에 로그인하는 복수의 사용자 계정 중 제1 사용자 계정에 응답하여 제2 동작들을 수행하도록 운영 체제를 실행하는 동작 -상기 제2 동작들은, 메모리로부터, 제1 사용자 계정에 특정한 개인 영역 네트워크 구성 데이터의 제1 개인 영역 네트워크 구성 데이터를 획득하는 동작; 그리고 제1 개인 영역 네트워크 구성 데이터에 포함된 제1 계층 2 호스트 주소를 사용하도록 개인 영역 네트워크 인터페이스의 프로그래밍을 시작하는 동작을 포함함-; 그리고 제1 계층 2 호스트 주소를 사용하여, 제1 사용자 계정과 연관된 제1 클라이언트 컴퓨팅 장치와의 제1 개인 영역 네트워크 링크를 설정하는 동작을 포함한다.
다른 예에서, 기술의 양태는 장치에 관한 것으로서, 복수의 상이한 사용자 계정의 각 사용자 계정에 대한 개인 영역 네트워크 구성 데이터를 저장하는 수단 -개인 영역 네트워크 구성 데이터는 복수의 사용자 계정의 각각의 사용자 계정과 연관된 클라이언트 컴퓨팅 장치와의 개인 영역 네트워크 링크를 지원할 때 개인 영역 네트워크 인터페이스에 의해 사용하기 위한 별도의 계층 2 호스트 주소를 포함함-; 운영 체제에 로그인하는 복수의 사용자 계정 중 제1 사용자 계정에 응답하여 동작들을 수행하도록 운영 체제를 실행하는 수단 -상기 동작들은, 메모리로부터, 제1 사용자 계정에 특정한 개인 영역 네트워크 구성 데이터의 제1 개인 영역 네트워크 구성 데이터를 획득하는 동작; 그리고 제1 개인 영역 네트워크 구성 데이터에 포함된 제1 계층 2 호스트 주소를 사용하도록 개인 영역 네트워크 인터페이스의 프로그래밍을 시작하는 동작을 포함함-; 그리고 제1 계층 2 호스트 주소를 사용하여, 제1 사용자 계정과 연관된 제1 클라이언트 컴퓨팅 장치와의 제1 개인 영역 네트워크 링크를 설정하는 수단을 포함한다.
하나 이상의 예의 세부사항은 첨부 도면 및 하기 설명에 기재되어 있다. 본 개시내용의 다른 특징, 목적 및 이점은 설명 및 도면, 및 청구범위로부터 명백할 것이다.
도 1은 본 개시에서 설명된 기술들의 다양한 양태들에 따라 사용자 계정 인식 개인 영역 네트워크 본딩을 제공하도록 구성된 예시적인 컴퓨팅 시스템을 예시하는 블록도이다.
도 2는 본 개시에서 설명된 사용자 계정 인식 개인 영역 네트워크 본딩 기술의 다양한 양태을 수행할 때 개인 영역 네트워크 스택의 예시적인 동작을 예시하는 블록도이다.
도 3은 본 개시에서 설명된 사용자 계정 인식 개인 영역 네트워크 본딩 기술의 다양한 양태에 따라 페어링 프로세스를 수행하는 도 1의 예시에 도시된 시스템의 예시적인 동작을 도시하는 흐름도이다.
도 4는 본 개시에서 설명된 사용자 계정 인식 PAN 본딩 기술의 다양한 양태을 수행하는 도 1의 예에 도시된 시스템의 다른 예시적인 동작을 도시하는 다른 흐름도이다.
도 1은 본 개시에서 설명된 기술들의 다양한 양태들에 따라 사용자 계정 인식 개인 영역 네트워크 본딩을 제공하도록 구성된 예시적인 컴퓨팅 시스템을 예시하는 블록도이다. 도 1의 예에 도시된 바와 같이, 컴퓨팅 시스템(100)은 호스트 컴퓨팅 장치(102) 및 클라이언트 컴퓨팅 장치(202)를 포함한다. 차량에 대한 설명이지만, 컴퓨팅 시스템(100)은 독립형 컴퓨팅 시스템(노트북 컴퓨터, 데스크탑 컴퓨터, 워크스테이션 등을 포함함), 게임 시스템, 휴대폰(소위 "스마트폰" 포함), 미디어 시스템(스트리밍 미디어 시스템 포함), 오디오/비주얼(A/V) 수신기, 텔레비전(소위 "스마트 텔레비전" 포함), 스마트 스피커, 스마트 시계, 온도 조절기(소위 "스마트 온도 조절기" 포함), 스마트 안경 또는 기타 컴퓨팅 시스템을 포함하는 다른 컨텍스트에서 활용될 수 있다.
호스트 컴퓨팅 장치(102)는 헤드 유닛 또는 다른 차량 컴퓨팅 시스템(예: 전자 제어 장치(ECU))과 같은 차량 컴퓨팅 장치의 예이다. 도 1은 호스트 컴퓨팅 장치(102)의 단지 하나의 특정 예를 도시하고, 호스트 컴퓨팅 장치(102)의 많은 다른 예가 다른 경우에 사용될 수 있고 예시적인 컴퓨팅 장치(102)에 포함된 컴포넌트의 서브세트를 포함할 수 있거나 도 1에 도시되지 않은 추가 컴포넌트를 포함할 수 있다.
도 1의 예에 도시된 바와 같이, 호스트 컴퓨팅 장치(102)는 존재 감지 디스플레이(112), 하나 이상의 프로세서(140), 하나 이상의 통신 유닛(142), 하나 이상의 입력 컴포넌트(144), 하나 이상의 출력 컴포넌트(146), 및 하나 이상의 저장 장치(148)를 포함한다. 호스트 컴퓨팅 장치(102)의 저장 장치(148)는 블루투스(Bluetooth™) 및 이의 다양한 프로파일, 예를 들어 블루투스(Bluetooth™) 저에너지(BLE)와 같은 PAN 프로토콜 세트에 따라 동작하는 개인 영역 네트워크(PAN) 스택(128)을 지원하는 운영 체제(OS)(126)와 같은, 소프트웨어 모듈을 저장(또는 그렇지 않으면 포함)할 수 있다.
통신 채널(150)은 컴포넌트 간 통신(물리적으로, 의사 소통적으로 및/또는 작동적으로)을 위해 컴포넌트(112, 140, 142, 146, 및/또는 148) 각각을 상호 연결할 수 있고, 이에 의해 컴포넌트(112, 140, 142, 146, 및 148)가 서로 통신하도록 할 수 있다. 일부 예들에서, 통신 채널들(150)은 시스템 버스, 네트워크 연결, 하나 이상의 프로세스간 통신 데이터 구조들, 또는 데이터(정보라고도 함)를 통신하기 위한 임의의 다른 컴포넌트들을 포함할 수 있다. 컴포넌트(112, 140, 142, 146 및 148)를 포함하는 것으로 도시되어 있지만, 호스트 컴퓨팅 장치(102)는 도시된 것보다 다른 컴포넌트 또는 더 적은 컴포넌트를 포함할 수 있으며, 여기서 그러한 컴포넌트는 텔레매틱 제어 유닛(TCU: telematic control unit)과 같은 다른 제어 유닛에 포함될 수 있다.
호스트 컴퓨팅 장치(102)의 하나 이상의 통신 유닛(142)은 데이터를 전송 및/또는 수신함으로써 외부 장치와 통신할 수 있다. 예를 들어, 호스트 컴퓨팅 장치(102)는 셀룰러 무선 네트워크와 같은 무선 네트워크 상에서 무선 신호를 송신 및/또는 수신하기 위해 통신 유닛(142) 중 하나 이상을 사용할 수 있다. 일부 예들에서, 통신 유닛들(142)은 GPS(Global Positioning System) 네트워크와 같은 위성 네트워크 상에서 위성 신호들을 송신 및/또는 수신할 수 있다. 통신 유닛(142)의 예는 네트워크 인터페이스 카드(예를 들어, 이더넷 카드), 광 트랜시버(송수신기), 무선 주파수 트랜시버, GPS 수신기, 또는 정보를 전송 및/또는 수신할 수 있는 임의의 다른 유형의 장치를 포함한다. 통신 유닛(142)의 다른 예는 USB(Universal Serial Bus) 제어기 뿐만 아니라 모바일 장치에서 발견되는 단파 라디오(예: 근거리 무선 통신(NFC), 개인 영역 네트워크 - Bluetooth® 및 이의 다양한 프로필(예: Bluetooth® 저에너지(BLE) 등)), GPS, 3G, 4G, 5G 및 WiFi® 라디오를 포함할 수 있다. 도 1의 예에서, 통신 유닛(142)은 무선 근거리 네트워크 연결이 다른 컴퓨팅 장치(예를 들어, 클라이언트 컴퓨팅 장치(202))와 설정될 수 있는 개인 영역 네트워크(PAN) 인터페이스를 구현하는 것으로 가정된다.
호스트 컴퓨팅 장치(102)의 하나 이상의 입력 컴포넌트(144)는 입력을 수신할 수 있다. 입력의 예로는 몇 가지 예만 들자면 촉각, 오디오, 운동(kinetic) 및 광학 입력이 있다. 호스트 컴퓨팅 장치(102)의 입력 컴포넌트(144)는 일례로 마우스, 키보드, 터치패드, 음성 응답 시스템, 비디오 카메라, 버튼, 스크롤 휠, 다이얼, 제어 패드, 마이크로폰, 또는 사람이나 기계의 입력을 감지하기 위한 기타 유형의 장치를 포함한다. 입력 컴포넌트(144)는 카메라를 포함할 수 있다. 일부 예들에서, 입력 컴포넌트(144)는 존재 감지 디스플레이(112)와 별개의 존재 감지 스크린, 터치 감지 스크린 등을 포함할 수 있는 존재 감지 입력 컴포넌트일 수 있다.
호스트 컴퓨팅 장치(102)의 하나 이상의 출력 컴포넌트(146)는 출력을 생성할 수 있다. 출력의 예로는 촉각, 오디오 및 비디오 출력이 있다. 호스트 컴퓨팅 장치(102)의 출력 컴포넌트(146)는 일부 예들에서 존재 감지 스크린(존재 감지 디스플레이(112)와 분리될 수 있음), 사운드 카드, 비디오 그래픽 어댑터 카드, 스피커, 음극선관(CRT) 모니터, 액정 디스플레이(LCD), 유기 발광 다이오드(OLED) 또는 사람이나 기계에 촉각, 오디오 및/또는 시각적 출력을 생성하기 위한 기타 유형의 장치를 포함한다.
일부 예들에서, 호스트 컴퓨팅 장치(102)의 존재 감지 디스플레이(112)는 입력 컴포넌트(144) 및/또는 출력 컴포넌트들(146)의 기능을 포함할 수 있다. 도 1에 도시된 바와 같이, 존재 감지 디스플레이(112)는 존재 감지 스크린 또는 터치 감지 스크린과 같은 존재 감지 입력(PSI) 컴포넌트(104)("PSI(presence-sensitive input) 컴포넌트(104)")를 포함할 수 있다. 일부 예들에서, 존재 감지 입력 컴포넌트(104)는 존재 감지 입력 컴포넌트에서 및/또는 그 근처에서 객체를 검출할 수 있다. 하나의 예시적인 범위로서, 존재 감지 입력 컴포넌트(104)는 존재 감지 입력 컴포넌트(104)의 2인치 이하 내에 있는 손가락 또는 스타일러스와 같은 객체를 검출할 수 있다. 존재 감지 입력 컴포넌트(104)는 객체가 검출된 존재 감지 입력 컴포넌트의 위치(예를 들어, (x,y) 좌표)를 결정할 수 있다. 다른 예시적인 범위에서, 존재 감지 입력 컴포넌트(104)는 존재 감지 입력 컴포넌트(104)로부터 2인치 이하의 객체를 검출할 수 있고 다른 범위도 가능하다. 존재 감지 입력 컴포넌트(104)는 용량성, 유도성 및/또는 광학 인식 기술을 사용하여 사용자의 손가락에 의해 선택된 존재 감지 입력 컴포넌트(104)의 위치를 결정할 수 있다.
일부 예들에서, 존재 감지 디스플레이(112)는 또한 출력 컴포넌트(146)와 관련하여 설명된 바와 같이 촉각, 오디오 또는 비디오 자극(stimuli)을 사용하여 사용자에게 출력을 제공할 수 있다. 예를 들어, 존재 감지 디스플레이(112)는 그래픽 사용자 인터페이스를 디스플레이하는 디스플레이 컴포넌트(103)를 포함할 수 있다. 디스플레이 컴포넌트(103)는 출력 컴포넌트(146)와 관련하여 설명된 것과 같이 시각적 출력을 제공하는 임의의 유형의 출력 컴포넌트일 수 있다. 호스트 컴퓨팅 장치(102)의 통합 컴포넌트로 예시되어 있지만, 존재 감지 디스플레이(112)는 일부 예들에서 입력 및 출력을 전송 및/또는 수신하기 위해 호스트 컴퓨팅 장치(102)의 다른 컴포넌트와 데이터 또는 정보 경로를 공유하는 외부 컴포넌트일 수 있다. 예를 들어, 존재 감지 디스플레이(112)는 호스트 컴퓨팅 장치(102)의 외부 패키징 내에 위치하고 물리적으로 연결된 호스트 컴퓨팅 장치(102)의 내장 컴포넌트일 수 있다(예: 차량 대시보드에 장착된 차내 스크린). 다른 예에서, 존재 감지 디스플레이(112)는 호스트 컴퓨팅 장치(102)의 패키징 외부에 위치하고 물리적으로 분리된 호스트 컴퓨팅 장치(102)의 외부 컴포넌트일 수 있다(예: 차량의 전자 제어 장치와 유무선 데이터 경로를 공유하는 모니터, 프로젝터 등). 일부 예에서, 존재 감지 디스플레이(112)는 호스트 컴퓨팅 장치(102)의 패키징 외부에 위치하고 물리적으로 분리되어 있는 경우 2개의 개별 컴포넌트, 즉 입력을 수신하기 위한 존재 감지 입력(PSI) 컴포넌트(104) 및 출력을 제공하기 위한 디스플레이 컴포넌트(103)에 의해 구현될 수 있다.
호스트 컴퓨팅 장치(102) 내의 하나 이상의 저장 컴포넌트(148)는 호스트 컴퓨팅 장치(102)의 동작 동안 처리하기 위한 정보를 저장할 수 있다(예를 들어, 컴퓨팅 장치(102)는 호스트 컴퓨팅 장치(102)에서 실행하는 동안 모듈(126-136)에 의해 액세스된 데이터를 저장할 수 있음). 일부 예에서, 저장 컴포넌트(148)는 임시 메모리이며, 이는 저장 컴포넌트(148)의 주요 목적이 장기 저장이 아님을 의미한다. 호스트 컴퓨팅 장치(102) 상의 저장 컴포넌트(148)는 휘발성 메모리로서 정보의 단기 저장을 위해 구성될 수 있고, 따라서 전원이 꺼진 경우 저장된 콘텐츠를 유지하지 않을 수 있다. 휘발성 메모리의 예는 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM), 정적 랜덤 액세스 메모리(SRAM), 및 당업계에 공지된 다른 형태의 휘발성 메모리를 포함한다.
일부 예에서, 저장 컴포넌트(148)는 또한 하나 이상의 컴퓨터 판독가능 저장 매체를 포함한다. 일부 예에서 저장 컴포넌트(148)는 하나 이상의 비일시적 컴퓨터 판독가능 저장 매체를 포함한다. 저장 컴포넌트(148)는 휘발성 메모리에 의해 일반적으로 저장되는 것보다 더 많은 양의 정보를 저장하도록 구성될 수 있다. 저장 컴포넌트(148)는 비휘발성 메모리 공간으로서 정보의 장기 저장을 위해 추가로 구성될 수 있고 전원 온/오프 사이클 후에 정보를 보유할 수 있다. 비휘발성 메모리의 예로는 자기 하드 디스크, 광 디스크, 플래시 메모리, 또는 EPROM(Electrically Programmable Memory) 또는 EEPROM(Electrically Eraseable and Programmable) 메모리 형태가 있다. 저장 컴포넌트(148)는 모듈(126-136)과 연관된 프로그램 명령 및/또는 정보(예를 들어, 데이터)를 저장할 수 있다. 저장 컴포넌트(148)는 모듈(126-136)과 연관된 데이터 또는 기타 정보를 저장하도록 구성된 메모리를 포함할 수 있다.
하나 이상의 프로세서(140)는 기능을 구현하고 및/또는 호스트 컴퓨팅 장치(102)와 연관된 명령어를 실행할 수 있다. 프로세서(140)의 예는 애플리케이션 프로세서, 디스플레이 제어기, 어시스턴트 프로세서, 하나 이상의 센서 허브, 및 프로세서, 프로세싱 유닛, 또는 프로세싱 장치로서 기능하도록 구성된 임의의 다른 하드웨어를 포함한다. 모듈(126-136)은 호스트 컴퓨팅 장치(102)의 다양한 액션, 동작 또는 기능을 수행하기 위해 프로세서(140)에 의해 동작가능(또는, 다시 말해서, 실행)할 수 있다. 즉, 모듈(126-136)은 실행될 때 프로세서(140)가 여기에 설명된 기술의 다양한 양태에 따라 특정 동작을 수행하게 하는 실행 가능한 바이트코드(bytecode)를 형성할 수 있다(따라서 호스트 컴퓨팅 장치(102)가 수행할 특정 목적의 컴퓨터가 되도록 함). 예를 들어, 호스트 컴퓨팅 장치(102)의 프로세서(140)는 프로세서(140)가 모듈(126-136)에 기인하는 본 명세서에 설명된 동작을 수행하게 하는 저장 컴포넌트(148)에 의해 저장된 명령어를 검색하고 실행할 수 있다. 프로세서(140)에 의해 실행될 때 명령어는 호스트 컴퓨팅 장치(102)가 저장 컴포넌트(148) 내에 정보를 저장하게 할 수 있다.
클라이언트 컴퓨팅 장치(202)는 호스트 컴퓨팅 장치(102)와 유사한 컴포넌트를 포함할 수 있다. 도 1의 예에 추가로 도시된 바와 같이, 클라이언트 컴퓨팅 장치(202)는 하나 이상의 프로세서(240), 하나 이상의 통신 유닛(242), 하나 이상의 입력 컴포넌트(244), 하나 이상의 출력 컴포넌트(246), 및 하나 이상의 저장 장치(284)를 포함할 수 있다. 각각의 컴포넌트(212-284)는 실질적으로 유사하지는 않더라도 앞서 설명된 바와 같이 각각의 컴포넌트(112-184)와 유사할 수 있다. 클라이언트 컴퓨팅 장치(202)는 또한 모듈(240-284)을 상호 연결하는 통신 채널(250)을 포함한다. 통신 채널(250)은 실질적으로 유사하지는 않더라도 위에서 더 상세히 설명된 통신 채널(150)과 유사할 수 있다. 또한, 저장 장치(284)는 각각의 OS(operating system)(126)와 실질적으로 유사하지는 않지만 유사할 수 있는 OS(226)를 저장할 수 있다.
호스트 컴퓨팅 장치(102)는 차량 내에 통합되거나 그렇지 않으면 포함될 수 있다. 차량은 자전거, 세발자전거, 외발자전거, 자동차, 농기구(트랙터, 콤바인 등), 건설장비(덤프트럭, 크레인 등), 군용 차량 또는 장비(탱크, 무장 등), 트럭, 세미 트랙터(또는 세미 트레일러), 항공 장비(예: 비행기), 해상 장비(예: 보트, 캐리어 등), 또는 다른 유형의 차량을 포함할 수 있다.
이와 관련하여, 호스트 컴퓨팅 장치(102)는 대시보드 또는 차량의 다른 컴포넌트에 통합된 차량 헤드 유닛을 나타낼 수 있으며, 여기서 호스트 컴퓨팅 장치(102)는 대안적으로 차량 헤드 유닛(102), 호스트 차량 헤드 유닛(102), 및/또는 메인 컴퓨팅 장치(102)로 지칭될 수 있다. 이러한 컨텍스트에서, 프로세서(140)는 OS(126)를 검색하고 실행할 수 있고, OS(126)가 OS(126)에 의해 제공되는 실행 환경 내에서 로컬 애플리케이션(이른바 '앱'은 설명의 편의를 위해 표시하지 않음)이 로컬로 저장(예를 들어, 저장 장치(184)로 저장)되고 프로세서(140)에 의해 실행될 수 있는 완전한 기능을 갖춘 애플리케이션 실행 환경을 제공하는 완전히 특정된 OS라는 점에서 임베디드 OS로 지칭될 수 있다.
OS(126)는 이러한 컨텍스트에서 프로세서(140), 통신 유닛(142), 입력 컴포넌트(144), 출력 컴포넌트(146), 존재 감지 디스플레이(112), 및/또는 저장 장치(184)와 같은 기본 하드웨어 및 애플리케이션 간의 상호 작용을 지원하는 커널을 포함할 수 있다. 커널은 애플리케이션이 실행되는 애플리케이션 환경을 지원하는 소위 사용자 공간과 분리된 소위 커널 공간(특권 OS 수준 실행 환경을 나타냄)에서 실행할 수 있다. 커널은 사용자 공간(및 그 안에서 실행되는 애플리케이션)이 기본 하드웨어와 인터페이스하기 위해 제한된 방식으로(예: 커널보다 적은 권한을 가짐) 커널 공간에 액세스할 수 있는 인터페이스(예: 응용 프로그래밍 인터페이스(API))를 노출할 수 있다.
즉, OS(126)는 별도의 클라이언트 컴퓨팅 장치(202)에 의해 실행되는 OS(226)와 같은, 별도의 장치에 의해 실행되는 OS의 출력을 미러링하는 프로젝션, 캐스팅 또는 기타 프로세스를 지원하는 씬(thin) 클라이언트를 나타내지 않는다. 대신에 OS(126)는 위에서 언급한 바와 같이 클라이언트 컴퓨팅 장치(202)에 의한 실행 동안 OS(226) 내에서 애플리케이션을 스트리밍하기보다는 애플리케이션의 로컬 실행을 용이하게 하는(예를 들어, 호스트 컴퓨팅 장치(102)에서) 클라이언트 컴퓨팅 장치(202)(또는 다른 별도의 장치)에 의해 실행되는 OS(226)와 별개인 전체 실행 환경을 제공한다.
임베디드 OS(126)(OS(126)을 지칭하는 또 다른 방법)의 이러한 컨텍스트에서, OS(126)는 호스트 컴퓨팅 장치(102)와 클라이언트 컴퓨팅 장치(202)(또는 호스트 컴퓨팅 장치(102)와 그러한 클라이언트 컴퓨팅 장치 간의 무선 통신을 위한 PAN 링크를 지원하는 임의의 다른 클라이언트 컴퓨팅 장치) 사이의 PAN 링크를 가능하게 할 수 있다. OS(126)는 OS(126)의 네이티브 기능(즉, 커널 공간 내에서)으로서 PAN 스택(128)을 구현함으로써, OS(126)(및/또는 사용자 공간 내에서 실행되는 하나 이상의 애플리케이션)가 클라이언트 컴퓨팅 장치(202)(그리고 잠재적으로 OS(126)에 의해 로컬로 실행되는 애플리케이션을 위한 커널 API를 통해)와 같은 외부 장치와의 PAN 링크를 설정할 수 있게 한다.
PAN 링크를 설정하기 위해, OS(126)는 PAN 스택(128)이 들어오는 연결 요청을 수락하도록 통신 유닛(142)을 구성하는 발견 프로세스를 포함하는 PAN 스택(128)을 호출한다. 차량의 오퍼레이터는 예를 들어 존재 감지 디스플레이(112)를 통해 OS(126)와 인터페이스하여 PAN 스택(128)이 수신 연결 요청을 수락하도록 통신 유닛(142)(PAN 인터페이스를 구현할 수 있으므로 PAN 인터페이스(142)라고 함)을 구성하는 발견 프로세스를 개시할 수 있다.
차량의 오퍼레이터는 다음으로, 예를 들어 존재 감지 디스플레이(212)를 통해 클라이언트 컴퓨팅 장치(202)와 인터페이스하여 OS(226)가 통신 유닛(242)(PAN 인터페이스를 나타낼 수 있고, 그 자체로 PAN 인터페이스(242)로 지칭될 수 있음)을 구성하기 위해 PAN 스택(228)을 호출하여, 클라이언트 컴퓨팅 장치(202)를 호스트 컴퓨팅 장치(102)에 본딩(즉, 페어링)하기 위해 연결 요청을 전송하는 페어링 프로세스를 개시한다. 오퍼레이터는 다음으로 (일반적으로, 존재 감지 디스플레이(112) 및/또는 존재 감지 디스플레이(212)를 통해 제공되는 사용자 인터페이스 요소의 선택을 통해) 페어링이 발생해야 하는지 확인할 수 있다. 클라이언트 컴퓨팅 장치(202)(또는 더 구체적으로, PAN 인터페이스(242))와 호스트 컴퓨팅 장치(102)(또는 더 구체적으로, PAN 인터페이스(142))의 페어링은 PAN 인터페이스(142)와 PAN 인터페이스(242) 사이에 설정될 PAN 링크를 통한 통신을 암호화하거나 보안하기 위해 사용되는 보안 키의 교환을 포함할 수 있다.
이러한 방식의 페어링은 PAN 인터페이스(142)와 PAN 인터페이스(242) 사이의 반영구적 본딩을 초래하고, 즉, 클라이언트 컴퓨팅 장치(202)는 호스트 컴퓨팅 장치(202) 또는 클라이언트 컴퓨팅 장치(202)를 통해 사용자 승인으로 페어링이 명시적으로 제거될 때까지 호스트 컴퓨팅 장치(102)에 페어링됨을 의미한다. 이 페어링은 또한 사용자 계정에 구애받지 않을 수 있으며, 다른 사용자 계정은 이러한 사용자 계정이 클라이언트 컴퓨팅 장치(202)와 연관되지 않더라도 이 페어링이 발생한 것으로 식별할 수 있다.
다시 말해서, OS(126)는 루트 사용자 계정(또는 다르게 말하면 관리자 사용자 계정), 게스트 사용자 계정, 및 하나 이상의 전용 사용자 계정과 같은 복수의 다른 사용자 계정을 지원할 수 있다. 이러한 사용자 계정 각각은 PAN 프로토콜의 특성으로 인해 호스트 컴퓨팅 장치(102)에 이전에 반영구적으로 페어링을 이룬 클라이언트 컴퓨팅 장치(202)와 같은 컴퓨팅 장치를 볼 수 있다.
예를 들어, 제1 전용 사용자 계정으로 OS(126)에 로그인한 제1 사용자는 제2 전용 사용자 계정에 의해 페어링된 클라이언트 컴퓨팅 장치가 제1 사용자의 제어 하에 있지 않거나 PAN 링크 연결에 로컬로 사용 가능한 경우에도 제2의 다른 전용 사용자 계정으로 OS(126)에 로그인한 제2 사용자에 의해 이전에 반영구적으로 페어링된 클라이언트 컴퓨팅 장치를 볼 수(view) 있다. 마찬가지로, 제2 사용자가 이러한 클라이언트 컴퓨팅 장치(제1 사용자에 의해 페어링된)를 제어할 수 없거나 PAN 링크 연결을 위해 로컬로 사용 가능하더라도 제2 사용자 계정은 이전에 제1 사용자 계정에 의해 반영구적으로 페어링된 클라이언트 컴퓨팅 장치에 액세스할 수 있다.
차량의 컨텍스트에서(또는 랩톱, 데스크톱 컴퓨터, 태블릿 컴퓨터 등과 같은 기타 공유 컴퓨팅 장치 컨텍스트에서), 사용자 계정에 걸쳐 호스트 컴퓨팅 장치(102)에 이전에 반영구적으로 페어링된 모든 클라이언트 컴퓨팅 장치의 전체 목록의 OS(126)에 의한 표시는 사용자가 개인 전용 사용자 계정이라고 가정한 상태에서 OS(126)에 로그인한 현재 사용자에게 방향 감각을 잃고(disorienting) 부담(burdensome)(페어링을 원하는 현재 클라이언트 컴퓨팅 장치(예: 클라이언트 컴퓨팅 장치(202))를 식별하는 것이 어려울 수 있으므로)을 줄 수 있다. 사용자는 이 모든 클라이언트 컴퓨팅 장치의 전체 목록을 개인 정보 보호 위반으로 이해할 수 있다(특히 사용자가 이 전체 클라이언트 컴퓨팅 장치 목록이 다른 전용 사용자 계정에 제공됨을 이해할 수 있음을 고려).
그러나 대부분의 PAN 프로토콜 제품군은 페어링된 클라이언트 컴퓨팅 장치가 사용자 계정 간에 공유되는 범위를 제어하는 메커니즘을 제공하지 않는다. 페어링된 클라이언트 컴퓨팅 장치가 사용자 계정 간에 공유되는 범위를 제어할 수 없는 것은 PAN 프로토콜 개발의 특성으로 인해 발생했을 가능성이 있다. 즉, PAN 프로토콜은 호스트 컴퓨팅 장치(예: 데스크탑 컴퓨터, 랩탑 컴퓨터, 스마트 스피커, 스마트 허브, 스마트 텔레비전 등)를 공유하는 로컬 연결을 위해 개발되었고, 무선 PAN 마우스, 무선 PAN 키보드, 무선 PAN 헤드폰 및 기타 장치와 같은 입/출력 클라이언트 컴퓨팅 장치와의 연결을 설정했고, 공유 호스트 클라이언트 컴퓨팅 장치와의 상호 작용을 지원하는 입력 및/또는 출력을 용이하게 하기 위해 사용자 계정 간에 공유되었다.
공유 호스트 컴퓨팅 장치(예를 들어, 차량 헤드 유닛(102))와 전용(단일 사용자 계정)(단일 사용자 계정) 클라이언트 컴퓨팅 장치(예를 들어, 클라이언트 컴퓨팅 장치(202)로 표현되는 스마트폰) 간의 상호 작용을 용이하게 하기 위해 PAN 프로토콜이 구현됨에 따라 사용자는 클라이언트 컴퓨팅 장치가 OS(126)에서 지원하는 사용자 계정에서 제공되고 있음을 알아차리기 시작했다. 전용(단일 사용자 계정) 클라이언트 컴퓨팅 장치의 개인 특성은 이러한 호스트 컴퓨팅 장치의 공유 특성과 상충할 수 있으며, 그 결과 클라이언트 컴퓨팅 장치의 제1 사용자가 현재 제1 사용자에게 익숙하지 않은 페어링된 클라이언트 컴퓨팅 장치를 제거하게 하는 프라이버시에 대한 우려가 발생한다. 페어링된 클라이언트 컴퓨팅 장치의 이러한 제거는 제1 사용자에게 익숙하지 않은 이 클라이언트 컴퓨팅 장치를 다시 페어링해야 하는 다른 제2 사용자를 초래할 수 있으며, 이는 불필요하게 시간(제1 및 제2 사용자 관점에서)과 리소스(프로세서 사이클, 메모리, 메모리 대역폭 등 및 수반되는 전력의 측면에서의 호스트 컴퓨팅 장치(102)의 관점에서)를 모두 소모할 수 있다.
본 개시물에서 설명된 기술의 다양한 양태들에 따르면, 호스트 컴퓨팅 장치(102)는 호스트 컴퓨팅 장치(102)에 의해 지원되는 각각의 사용자 계정에 대해 별도의 PAN 본드를 설정할 수 있다. 이러한 사용자 계정 인식 PAN 본딩을 용이하게 하기 위해, OS(126)의 PAN 스택(128)은 각 사용자 계정에 대해 별도의 계층 2 호스트 주소를 할당할 수 있으며, PAN 스택(128)은 PAN 인터페이스(142)를 프로그래밍하는 데 사용할 수 있다. 특정 사용자 계정에 대해 이 별도의 계층 2 호스트 주소를 사용하도록 PAN 인터페이스(142)를 프로그래밍함으로써, 클라이언트 컴퓨팅 장치(202)는 호스트 컴퓨팅 장치(102)와 연관된 것으로 표시되는 장치와 관련하여 사용자 계정을 효과적으로 "샌드박스"하는 전용의 별도 PAN 링크를 수신한다.
이와 관련하여, 기술의 다양한 양태는 호스트 컴퓨팅 장치(102)가 보다 안전하게 동작하는 동시에 보다 효율적인 동작을 촉진하는 것을 가능하게 할 수 있다. 예를 들어, 현재 클라이언트 컴퓨팅 장치, 예를 들어 클라이언트 컴퓨팅 장치(202)의 사용자가 호스트 컴퓨팅 장치(102)와 연관되어 있는 것으로 알고 있는 클라이언트 컴퓨팅 장치로만 PAN 본딩을 제한함으로써, 사용자는 데이터가 불안정한 느낌을 주는 혼란을 덜 경험할 수 있다. 이와 같이, 사용자는, 컴퓨팅 리소스(예: 프로세서 사이클, 메모리, 메모리 버스 대역폭 등 및 수반되는 전원)를 소비하는 불필요한 작업을 수행하는 호스트 컴퓨팅 장치(102)를 수반할 수 있는, 익숙하지 않은 클라이언트 컴퓨팅 장치의 페어링을 해제(즉, 연결 해제)하려고 시도하지 않을 수 있다. 이와 관련하여, 데이터 보안은 클라이언트 컴퓨팅 장치의 사용자의 관점에서 개선될 수 있는 동시에 호스트 컴퓨팅 장치(102) 자체의 동작도 개선할 수 있다.
동작시, PAN 스택(128)은 PAN 구성 데이터(PCD)(129A-129N)("PCD 129")를 저장할 수 있다. PCD(129) 각각은 OS(126)에 의해 지원되는 별도의 사용자 계정에 대한 PCD를 나타낼 수 있다. 위에서 언급한 바와 같이, OS(126)는 루트 사용자 계정, 게스트 사용자 계정, 및 하나 이상의 전용 사용자 계정을 지원할 수 있다. PAN 스택(128)은 각각의 사용자 계정에 대한 PCD(129)를 포함할 수 있고, 여기서 예를 들어 루트 사용자 계정은 PCD(129N)와 연관될 수 있고, 게스트 사용자 계정은 PCD(129M)와 연관될 수 있고, 제1 전용 사용자 계정은 PCD(129A)와 연관될 수 있고, 제2 전용 사용자 계정은 PCD(129B)와 연관될 수 있다.
이 예에서, 제1 사용자 운영 클라이언트 컴퓨팅 장치(202)가 제1 사용자 계정으로 OS(126)에 로그인할 때, OS(126)는 저장 장치(184)로부터 PCD(129A)를 검색할 수 있는 PAN 스택(128)을 호출한다. PCD(129A)는 클라이언트 컴퓨팅 장치(202)로 PAN 링크(143)를 지원할 때 PAN 인터페이스(142)에 의해 사용하기 위한 별도의 L2(layer 2) 호스트 주소를 포함할 수 있으며, 여기서 이러한 L2 호스트 주소(L2HA)는 L2HA(149A)로 표시될 수 있다. L2HA(149A)는 MAC(Media Access Control) 주소 또는 기타 L2 주소를 나타낼 수 있다. 데이터 링크 계층이라고도 하는 계층 2는 네트워크 통신을 정의하는 OSI(Open Systems Interconnection) 모델의 제2 계층을 나타낼 수 있다.
OS(126)는 PAN 스택(128)을 호출하여 제1 전용 사용자 계정을 나타내는 데이터(예: 계정 식별자 또는 제1 사용자 계정을 고유하게 식별하는 기타 데이터)를 전달할 수 있다. PAN 스택(128)은 PCD(129A)를 검색하기 위한 키로 제1 전용 사용자 계정을 나타내는 데이터를 사용하여 PCD(129A)를 얻을 수 있다. PAN 스택(128)은 L2HA(149A)를 획득하기 위해 PCD(129A)를 파싱할 수 있고, PAN 스택(128)은 L2HA(149A)를 사용하기 위해 PAN 인터페이스(142)의 프로그래밍을 개시하는데 사용할 수 있다.
PAN 인터페이스(142)는 다음으로 L2HA(149A)를 사용하여 제1 전용 사용자 계정과 연관된 클라이언트 컴퓨팅 장치(202)와의 PAN 링크(143)를 설정할 수 있다(제1 사용자가 제1 사용자 계정으로 OS(126)에 로그인했을 때 클라이언트 컴퓨팅 장치(202)가 호스트 컴퓨팅 장치(102)에 이전에 페어링되었다고 가정). 제1 사용자가 제1 사용자 계정으로 OS(126)에 로그인한 동안 클라이언트 컴퓨팅 장치(202)가 호스트 컴퓨팅 장치(102)에 이전에 페어링되지 않은 경우, 제1 사용자는 OS(126) 시스템 설정을 통해 PAN 스택(128)과 인터페이스하여 위에서 언급된 발견/페어링(또는 다른 말로 본딩) 프로세스를 개시할 수 있다.
다시 말해서, PAN 스택(stack)(128)은 클라이언트 컴퓨팅 장치(202)가 제1 전용 사용자 계정과 이전에 연관되었는지 여부를 결정할 수 있다. PAN 스택(128)은 클라이언트 컴퓨팅 장치(202)가 PCD(129A)에 기초하여 제1 전용 사용자 계정과 이전에 연관되었는지 여부를 결정할 수 있다. PCD(129A)는 제1 사용자가 제1 전용 사용자 계정으로 OS(126)에 로그인했을 때 PAN 인터페이스(142)에 이전에 페어링된 하나 이상의 페어링된 클라이언트 컴퓨팅 장치의 목록을 식별할 수 있다. 하나 이상의 페어링된 클라이언트 컴퓨팅 장치의 목록은 PAN 링크(143)와 같은 PAN 링크를 설정할 때 PAN 인터페이스(242)에 의해 사용되는 L2CA(L2 client address)를 통해 클라이언트 컴퓨팅 장치(202)를 식별할 수 있다. PAN 인터페이스(242)가 발견/페어링 프로세스를 수행할 때, PAN 인터페이스(242)는 PAN 스택(128)이 PCD(129A)에 저장할 수 있는 PAN 인터페이스(242)를 고유하게 식별하기 위해 이 L2CA를 제공할 수 있다(제1 사용자가 제1 전용 사용자 계정으로 OS 126에 로그인했다고 가정).
클라이언트 컴퓨팅 장치(202)가 이전에 제1 사용자 계정과 연관되지 않았다는 결정에 응답하여(예를 들어, PAN 인터페이스(242)에 의해 제공되는 L2CA는 PCD(129A)에 의해 제공되는 L2CA 목록의 L2CA와 일치하지 않음), PAN 스택(128)은 호스트 컴퓨팅 장치(102)의 PAN 인터페이스(142)와 클라이언트 컴퓨팅 장치(202)의 PAN 인터페이스(242) 사이의 페어링 프로세스를 개시할 수 있다. PAN 인터페이스(142)와 PAN 인터페이스(242)를 성공적으로 페어링하는 것에 응답하여, PAN 스택(128)은 클라이언트 컴퓨팅 장치(202)의 PAN 인터페이스(242)가 PAN 인터페이스(142)에 본딩된다는 표시를 PCD(129A)에 저장할 수 있다.
한 번 페어링되면(다시 반영구적임), PAN 스택(128)은 OS(126) 시스템 설정 사용자 인터페이스를 통해 클라이언트 컴퓨팅 장치(202)가 호스트 클라이언트 컴퓨팅 장치(202)에 페어링(또는 다시 말해 본딩)되었음을 나타낼 수 있다. 더욱이, OS(126)는 나머지 사용자 계정(즉, 위의 예에서 루트 사용자 계정, 게스트 사용자 계정 또는 기타 나머지 전용 사용자 계정)과 연관된 임의의 다른 클라이언트 컴퓨팅 장치를 제시하지 않고, L2HA(149A)와 같은 사용자 계정 특정 L2HA 하에 PAN 인터페이스(142)에 본딩된 것으로서 클라이언트 컴퓨팅 장치(202)를 제시할 수 있다. 이러한 분리는 PAN 스택(128)이 각 사용자 계정에 대해 별도의 PCD(129)를 유지하고 결과적으로, OS(126)에서 지원하는 모든 사용자 계정과 연결된 집합체(collective)로 PCD(129)를 저장하기보다는 주어진 사용자 계정과 연결된 PCD(129)만 표시할 수 있다.
이러한 방식으로, 기술의 다양한 측면은 사용자 계정에 구애받지 않고 사용자 계정을 인식하는 보다 안전한 PAN을 가능하게 할 수 있다. OS(126)는 PAN 스택(128)을 호출하여 사용자가 주어진 사용자 계정으로 로그인할 때 OS(126)에 이전에 페어링된 클라이언트 컴퓨팅 장치만을 표시할 수 있다. 별도의 프리젠테이션은 사용자 혼동을 피할 수 있고 페어링된 클라이언트 컴퓨팅 장치들 간에 데이터를 공유하는 관점에서 데이터 보안이 사용자에게 제공되고 있다는 잠재적으로 더 많은 보증을 제공할 수 있다. 이러한 혼란을 피함으로써, 사용자는 호스트 컴퓨팅 장치(102)의 컴퓨팅 자원을 불필요하게 낭비하는, 잠재적으로 여러 사용자가 페어링, 페어링 해제(또는 다른 말로, 본딩 해제), 수리 등을 초래하는 익숙하지 않은 클라이언트 컴퓨팅 장치를 페어링 해제하거나 비활성화할 수 없다.
호스트 컴퓨팅 장치(102)와 관련하여 설명되었지만, 기술의 다양한 양태는 클라이언트 컴퓨팅 장치(202)가 개별 사용자 계정 본딩을 제공하는 것을 가능하게 할 수 있다. 다시 말해서, 클라이언트 컴퓨팅 장치(202)의 PAN 스택(228)은 PAN 스택(128)과 관련하여 위에서 설명된 것과 유사한 기술을 구현할 수 있다. 클라이언트 컴퓨팅 장치(202)의 OS(226)는 다중 계정을 지원할 수 있으며, 이는 PAN 스택(228)이 각 사용자 계정에 대해 별도의 PCD(229)를 유지하게 할 수 있다(단, 설명의 편의를 위해 도 1의 예에서는 나타내지 않음). 이와 같이, PAN 스택(228)은 PAN 링크(143)를 설정할 때 L2CA를 사용하도록 PAN 인터페이스(242)의 프로그래밍을 개시하기 위해 PAN 스택(128)에 대해 위에서 설명된 것과 유사하게 동작할 수 있다. 이와 관련하여, 클라이언트 컴퓨팅 장치(202)는 PAN 링크(143)와 같은 PAN 링크를 설정할 때 호스트 컴퓨팅 장치(102)와 유사하게 동작할 수 있다.
도 2는 본 개시에서 설명된 사용자 계정 인식 개인 영역 네트워크 본딩 기술의 다양한 양태을 수행할 때 개인 영역 네트워크 스택의 예시적인 동작을 예시하는 블록도이다. 도 2의 예에서, PAN 스택(328)은 PAN 스택(128)의 일 예(또는, 예를 들어, 본 개시물에서 설명된 기법들의 다양한 양태들에 따라 사용자 계정 인식 PAN 본딩을 수행하도록 구성될 때 PAN 스택(228))를 나타낼 수 있다.
PAN 스택(328)은 제어기(350), 호스트 컴포넌트 인터페이스(호스트 제어기 인터페이스)(HCI)(352), 및 PAN 제어기(354)를 포함할 수 있다. 제어기(350)는 일반적으로 하이-레벨 PAN 프로토콜 스택 동작을 제어할 수 있으며, 여기서 블루투스(Bluetooth™)의 예에서, 링크 논리 제어 및 적응 계층 프로토콜(L2CAP)에 따라 발생할 수 있을 뿐만 아니라 GATT(generic attribute) 프로필, GAP(generic access protocol), ATT(attribute) 프로토콜 및 SM(security manager)과 같은 지원 서비스와 같은 다른 PAN 프로필을 지원한다.
HCI(352)는 기본 PAN 인터페이스(PAN 인터페이스(142)와 같은)에서 (소프트웨어 및 하드웨어 또는 하드웨어 제어기로서) 구현되는 기저대역 제어기(PAN 제어기(354)를 참조하는 또 다른 방법)에 명령 인터페이스를 제공하도록 구성된 모듈을 나타낼 수 있다. HCI(352)는 일반적으로 하이-레벨 프로토콜 PAN 프로토콜 동작과 로우-레벨 프로토콜 PAN 동작 사이의 상호작용을 용이하게 하기 위해 인터페이스(예를 들어, API)를 제공하는 모듈을 나타낼 수 있다(OSI 모델에 의해 정의된 네트워크 스택 측면에서, 여기서 레벨은 OSI 모델의 다른 상위 또는 하위 계층을 참조할 수 있음).
PAN 제어기(354)는 기저대역 동작을 제어하는 관점에서 로우-레벨 PAN 프로토콜 동작을 수행하도록 구성된 모듈을 나타낼 수 있다(예를 들어, PAN 인터페이스(142 및/또는 242)의 L2 및 L1 동작). PAN 인터페이스(142)는 로우-레벨 PAN 프로토콜 동작(예: L1이라고도 하는 기저대역 동작 또는 OSI 모델 측면에서 물리 계층 동작)을 지원하기 위해 PAN 제어기(354)를 실행하거나 그렇지 않으면 (예를 들어, 하드웨어에서) 구현할 수 있다. PAN 제어기(354)는 PAN 링크(143)와 같은 물리적 링크를 관리하여 다른 데이터 무결성 및 흐름 제어 동작과 함께 패킷화, 채널 제어 및 오류 정정을 제공할 수 있다.
OS(126)는 전술한 바와 같이 제1 전용 사용자 계정(제1 사용자에 의한 전용 제1 사용자 계정을 지칭할 수 있음)으로 OS(126)에 로그인하는 사용자에 응답하여 PAN 스택(328)을 호출할 수 있다. OS(126)는 사용자 ID를 PAN 스택(328)에 전달할 수 있고, PAN 스택(328)은 PCD(329A)를 식별하기 위한 키(PCD(129A)의 예를 나타낼 수 있음)로 사용할 수 있다. PAN 스택(328)은 상이한 각각의 사용자 계정에 대한 복수의 상이한 PCD(329A-329N)("PCD 329")를 저장할 수 있고, 이들 각각은 L2HA(349A)(L2HA(149A)의 예를 나타낼 수 있음)와 같은 상이한 L2HA를 정의한다. PAN 스택(328)은 각각의 PCD(329)를 상이한 사용자 ID와 연관시킬 수 있고, 각각의 상이한 사용자 계정으로 OS(126)에 현재 로그인된 사용자를 나타내는 전달된 사용자 ID에 기초하여, PCD(329)에 액세스하여 PCD(329) 중 해당 하나를 획득한다.
보다 구체적으로, PAN 스택(328)은 제1 사용자 ID를 수신하고, 제1 사용자 ID와 연관된 PCD(329A)를 획득하기 위해 스토리지(저장소)(PAN 인터페이스(142) 내에 있으며 일반적으로 저장 장치(184)로 표시될 수 있음)에 액세스하는 제어기(350)를 호출할 수 있다. 제어기(350)는 L2HA(329A) 및 PAN 링크(143)에 대한 암호화 및 기타 보안 기능을 가능하게 하는 관련 보안 키(351A)를 획득하기 위해 PCD(329A)를 분석하도록 구성될 수 있다. 이와 같이, PCD(329A)는 L2HA(349A) 및 보안 키(351A)("링크 키(351A)"라고도 하는 "키(351A)")를 포함할 수 있다.
제어기(350)는 다음에 HCI(352)를 통해 PAN 제어기(354)와 인터페이스하여 PAN 제어기(354) 내에서 L2HA(349A)의 프로그래밍을 개시할 수 있다. 제어기(350)는 HCI(352)와 인터페이스하여 L2HA(329A)를 사용하도록 PAN 제어기(354)를 프로그래밍하기 위해 PAN 제어기(354)(또는, 즉, PAN 인터페이스(142))에 쓰기 주소 명령(L2HA(349A) 포함)을 발행하고, 이는 일례로 MAC 주소를 포함할 수 있다. PAN 제어기(354)는 다음에 제1 사용자 계정과 연관된 클라이언트 컴퓨팅 장치(202)와의 PAN 링크(143)를 개시하거나 달리 설정할 수 있다.
일부 예에서, 제2 사용자는 제2의 상이한 전용 사용자 계정으로 OS(126)에 로그인하기 위해 OS(126)와 인터페이스할 수 있다. OS(126)는 제2 전용 사용자 계정 하에서 로그인을 처리하고 PAN 스택(328)을 호출하여, 제2 전용 사용자 계정과 연관된 제2 사용자 ID를 전달할 수 있다. PAN 스택(328)의 제어기(350)는 제2 사용자 ID에 기초하여 PCD(329B)를 식별하고 저장소로부터 PCD(329B)를 검색할 수 있으며, 여기서 PCD(329B)는 L2HA(349B) 및 키(351B)("보안 키(351B)" 또는 "링크 키(351B)"라고도 함)를 포함한다.
제어기(350)는 다음으로 HCI(352)를 통해 PAN 제어기(354)와 인터페이스하여 L2HA(349A)를 L2HA(349B)로 대체할 수 있고, 이에 의해 제2 사용자가 제2의 상이한 전용 사용자 계정 및 제2의 상이한 클라이언트 컴퓨팅 장치(이는 설명의 편의를 위해 도 1의 예에서는 도시되지 않음) 하에 OS(126)에 로그인할 때 호스트 컴퓨팅 장치(102) 사이의 잠재적인 PAN 링크(이는 PAN 링크(143B)로 표시될 수 있는 반면 이전 PAN 링크는 PAN 링크(143A)로 표시될 수 있음)로부터 PAN 링크(143)를 구별한다.
제2의 상이한 클라이언트 컴퓨팅 장치는 제1 클라이언트 컴퓨팅 장치(202)와 실질적으로 유사하지는 않더라도 유사할 수 있다. 이와 같이, 제2 클라이언트 컴퓨팅 장치는 클라이언트 컴퓨팅 장치(202B)로서 표시될 수 있는 반면, 제1 클라이언트 컴퓨팅 장치는 클라이언트 컴퓨팅 장치(202A)로서 표시될 수 있다. 이와 같이, 제2 클라이언트 컴퓨팅 장치(202B)의 컴포넌트는 "B" 레이블(예: "PAN 인터페이스 242B")을 사용하여 표시될 수 있는 반면 제1 클라이언트 컴퓨팅 장치(202A)의 컴포넌트는 "A" 레이블(예: PAN 인터페이스 242A”)을 사용하여 표시될 수 있다.
다시 말해, 제어기(350)는 메모리(예: 저장 장치(184))로부터 제2 사용자 계정(그리고 사용자 ID를 통해 제2 사용자 계정과 연결됨)에 특정한 PCD(329)의 PCD(329B)를 획득할 수 있다. 제어기(350)는 PCD(329B)에 포함된 L2HA(349B)를 사용하기 위해 전술한 기록(쓰기) 명령을 통해 PAN 제어기(354)를 프로그래밍하는 것을 개시할 수 있다. PAN 제어기(354)는 L2HA(349B)를 사용하여, 제2 사용자 계정과 연관된 클라이언트 컴퓨팅 장치(202B)와의 제2 PAN 링크(143B)를 설정할 수 있다.
일부 예들에서, 클라이언트 컴퓨팅 장치(202B)는 클라이언트 컴퓨팅 장치(202A)와 동일할 수 있다. 즉, PCD(329)가 OS(126)의 주어진 사용자 계정에 고유하기 때문에, 동일한 클라이언트 컴퓨팅 장치가 OS(126)의 복수의 상이한 사용자 계정과 연관될 수 있고, 이는 호스트 컴퓨팅 장치(102)와 별도로 페어링(또는 다른 말로 본딩)하기 위해 동일한 클라이언트 컴퓨팅 장치, 예를 들어 클라이언트 컴퓨팅 장치(202)가 필요할 수 있다. 이와 관련하여, 클라이언트 컴퓨팅 장치(202A)는 제1 사용자 계정 하에 호스트 컴퓨팅 장치(102)와 연관될 수 있고, 동일한 클라이언트 컴퓨팅 장치(예를 들어, 클라이언트 컴퓨팅 장치(202B))가 제2 사용자 계정 하에 호스트 컴퓨팅 장치(102)와 연관될 수 있다. 그러나 PAN 제어기(354)는 별도의 제1 및 제2 전용 사용자 계정으로 OS(126)에 로그인한 사용자에 따라 다른 L2HA(349A/349B)를 사용하도록 프로그래밍될 수 있다.
또한, 각 사용자 계정에 대해 PCD(129)를 별도로 유지함으로써, PCD(129)는 호스트 컴퓨팅 장치(102) 사이에서 별도로 전송될 수 있다(여기서 제1 호스트 컴퓨팅 장치는 호스트 컴퓨팅 장치(102A)로 표시될 수 있고 제2 호스트 컴퓨팅 장치는 호스트 컴퓨팅 장치(102B)로 표시될 수 있음). 호스트 컴퓨팅 장치(102A) 및 호스트 컴퓨팅 장치(102B)는 각각 호스트 컴퓨팅 장치(102)와 관련하여 위에서 설명된 것과 유사한 컴포넌트를 포함할 수 있다.
호스트 컴퓨팅 장치(102A)의 OS(126)는 (예를 들어) 다른 호스트 컴퓨팅 장치(102B)로의 PCD(129A)의 전송을 개시할 수 있다. 일부 예에서, 호스트 컴퓨팅 장치(102A)의 OS(126)는 클라이언트 컴퓨팅 장치(202)의 사용자와 연관된 온라인 계정의 네트워크 서버(예: 이른바 클라우드에서)에 PCD(129A)의 사본(카피)을 저장할 수 있고 그리고 호스트 컴퓨팅 장치(102B)의 OS(126)로의 PCD(129A)의 전송을 개시할 수 있으며, 이는 PCD(129A)를 PAN 스택(128)으로 전달할 수 있다. 다른 예들에서, 호스트 컴퓨팅 장치(102B)의 OS(126)는 유선(예: 이더넷, 범용 시스템 버스(USB), 썸(thumb) 드라이브 또는 기타 휴대용 저장 매체 등을 통해) 또는 무선(예: 무선 근거리 통신망, 셀룰러 등) 연결을 통해 PCD(129A)의 전송을 개시할 수 있다.
호스트 컴퓨팅 장치(102B)의 PAN 스택(128)은 PCB(129A)를 호스트 컴퓨팅 장치(129B)의 OS(126)에 의해 지원되는 주어진 사용자 계정과 연관시켜, PCB(129A)를 설치할 수 있다. 사용자가 주어진(소정의) 사용자 계정에 로그인하면, 호스트 컴퓨팅 장치(129B)의 OS(126)는, L2HA(149A)가 이미 클라이언트 컴퓨팅 장치(202)에 알려져 있고 클라이언트 컴퓨팅 장치(202)와 관련된 모든 키(예: 키(351A)) 및 기타 데이터는 이미 PCD(129A)의 형태로 존재하기 때문에, 클라이언트 컴퓨팅 장치(202)가 페어링 프로세스를 수행하도록 요구하지 않고 PCB(129A)에 액세스하고 PAN 인터페이스(142)를 통해 PAN 링크(143)를 설정할 수 있다. 이런 식으로, 호스트 컴퓨팅 장치(102A)의 OS(126)는 호스트 컴퓨팅 장치(129B)가 클라이언트 컴퓨팅 장치(202)와의 페어링 프로세스를 수행하지 않고 PAN 링크(143)를 클라이언트 컴퓨팅 장치(202)와 설정할 수 있도록 호스트 컴퓨팅 장치(129B)로의 PCD(129A)의 전송을 개시할 수 있다.
도 3은 본 개시에서 설명된 사용자 계정 인식 PAN 본딩 기술의 다양한 양태에 따라 페어링 프로세스를 수행함에 있어서 도 1의 예시에 도시된 시스템의 예시적인 동작을 도시하는 흐름도이다. 도 3에 도시된 바와 같이, OS(126)는 처음에 제1 사용자 계정에 로그인할 수 있고(300), 그 후 OS(126)는 PAN 스택(128)을 호출하여 제1 사용자 계정과 연관된 사용자 ID를 PAN 스택(128)에 전달할 수 있다.
PAN 스택(128)은 사용자 ID와 연관된 임의의 PCD(129)가 존재하는지 여부를 결정할 수 있다. PCD(129)가 제1 사용자에 대해 아직 생성되지 않았다고 가정하면, PAN 스택(128)은 제1 사용자 계정에 의한 사용을 위해 L2HA(예를 들어, L2HA(149A))를 획득할 수 있다(302). PAN 스택(128)은 L2HA(149A)를 획득하기 위해 OS(126)와 인터페이스할 수 있고, 여기서 OS(126)는 OS(126)가 PAN 스택(128)에 할당할 수 있는 L2HA의 풀(pool)을 포함할 수 있다. 일부 예에서, 각 사용자 계정은 OS(126)에 의해 정적으로 정의된다(루트 사용자 계정, 게스트 사용자 계정, 제1 전용 사용자 계정, 제2 전용 사용자 계정 등). 정적으로 정의된 사용자 계정의 이러한 인스턴스에서, OS(126)는 PAN 스택(128)에 의해 사용하기 위해 사용자 계정 각각에 대해 L2HA를 정적으로 할당할 수 있고, 여기서 PAN 스택(128)은 각 사용자 계정에 의해 사용하기 위한 L2HA를 정의하는 각 사용자 계정에 대한 PCD(129)를 정의할 수 있다. PAN 스택(128)은 제1 사용자 계정에 대해 L2HA(149A)를 사용하도록 PAN 인터페이스(142)를 프로그램할 수 있다(여기서 "프로그램"은 HCI(352)를 통해 PAN 제어기(354)에 쓰기 주소 명령을 발행함으로써 이러한 프로그래밍의 시작을 나타내는 것으로 이해되어야 한다)(304).
일단 PAN 인터페이스(142)가 제1 사용자 계정에 대해 L2HA(149A)를 사용하도록 프로그래밍(프로그램)되면, OS(126)는 사용자가 PAN 인터페이스(142)가 발견/페어링 모드에 들어갈 수 있는 발견/페어링 모드를 개시하도록 허용할 수 있다(306). 사용자는 다음으로 클라이언트 컴퓨팅 장치(102)와 인터페이스하여 PAN 인터페이스(142)와 PAN 인터페이스(242) 사이의 반영구적 본딩을 (사용자 계정 특정 L2HA 149A 사용) 설정하기 위한 페어링 프로세스를 수행할 수 있다(308).
PAN 스택(228)은 이 반영구적 본딩이 PAN 인터페이스(142)와 존재한다는 것을 나타내기 위해 PCD(229)를 업데이트할 수 있고, 페어링 프로세스를 다시 수행할 필요 없이 L2HA(149A)로 프로그래밍될 때 PAN 인터페이스(142)와 이 본딩을 재설정하는 데 필요한 관련 보안 키(예: 키 351A) 및 기타 정보를 저장한다. 이와 같이, PAN 스택(228)은 제1 사용자 계정에 대한 L2HA(149A)와의 본드를 저장하기 위해 PCD(229)를 업데이트한다(310). 마찬가지로, PAN 스택(128)은 제1 사용자 계정과 연관된 L2HA를 포함하도록 PCD(129A)를 저장하거나 업데이트할 수 있다(312)(또한 페어링 프로세스를 다시 수행할 필요 없이 L2HA(149A)로 프로그래밍할 때 PAN 인터페이스(242)와 이 본딩을 재설정하는 데 필요한 보안 키(351A) 및 기타 정보를 저장하는 것과 관련하여 유사한 작업을 수행함).
페어링 프로세스를 수행한 후, PAN 스택(128)은 제1 사용자 계정에 대해 L2HA(149A)를 사용하여 PAN 링크(143)를 설정하기 위해 PAN 인터페이스(142)와 인터페이스할 수 있다(314). OS(226)는 그 다음 PAN 링크(143)를 통한 데이터의 전송을 개시하기 위해 PAN 스택(228)과 인터페이스할 수 있다. PAN 스택(228)은 PAN 링크(143)를 통해 데이터를 전달(데이터 통신)하기 위해 PAN 인터페이스(242)와 인터페이스할 수 있다(316). 이러한 데이터 통신은 PAN 링크가 종료될 때까지 계속될 수 있다. PAN 스택(228)은 PAN 링크(143)를 종료할 수 있다(318).
도 4는 본 개시에서 설명된 사용자 계정 인식 PAN 본딩 기술의 다양한 양태을 수행함에 있어서 도 1의 예에 도시된 시스템의 추가적인 예시적인 동작을 도시하는 다른 흐름도이다. 도 4의 예에서, 클라이언트 컴퓨팅 장치(102A)(위에서 언급한 바와 같이 제1 클라이언트 컴퓨팅 장치를 나타냄) 및 클라이언트 컴퓨팅 장치(102B)(이는 위에서 언급한 바와 같이 클라이언트 컴퓨팅 장치(102A)와 실질적으로 유사하지는 않더라도 유사한 제2 클라이언트 컴퓨팅 장치를 의미함)가 이전에 호스트 컴퓨팅 장치(102)에 페어링되었다고 가정한다. 이와 같이 PCD(129A, 129B)는 사전 페어링 프로세스를 통해 설정되었다.
초기에, OS(126)는 제1 사용자 계정으로 로그인할 수 있다(400). OS(126)는 제1 사용자 계정과 연관된 사용자 ID를 전달하여 PAN 스택(128)을 호출할 수 있다. 이 사용자 ID를 사용하여, PAN 스택(128)은 L2HA(149A)를 포함하는 제1 사용자 계정에 대한 PCD(129A)를 획득할 수 있다(402). PAN 스택(128)은 다음으로 제1 사용자 계정에 대해 L2HA(149A)를 사용하도록 PAN 인터페이스(142)를 프로그래밍할 수 있다(404). PAN 스택(128)은 다음으로 PAN 인터페이스(142)와 인터페이스하여 제1 사용자 계정에 대한 L2HA(149A)를 사용하여 PAN 링크(143A)를 설정할 수 있다(406). 클라이언트 컴퓨팅 장치(202A)는 PAN 링크(143A)를 통해 데이터를 전달할 수 있고(408), 여기서 호스트 컴퓨팅 장치(102)의 OS(126)는 위에서 더 상세히 설명된 다양한 출력들 중 하나 이상을 통해 이러한 데이터를 제시(제공)할 수 있다(410).
일부 예에서, OS(126)는 사용자 계정을 전환할 수 있으며, 예를 들어 OS(126)는 제2의 다른 사용자 계정에 로그인할 수 있다(420). 사용자 계정 전환에 응답하여, OS(126)는 다시 PAN 스택(128)을 호출하여 제2 사용자 계정과 연관된 사용자 ID를 전달할 수 있다. 제2 사용자 계정과 연관된 사용자 ID를 사용하여, PAN 스택(128)은 L2HA(149B)를 포함하는 제2 사용자 계정에 대한 PCD(129B)를 획득할 수 있다(422). PAN 스택(128)은 제2 사용자 계정에 대해 L2HA(149B)를 사용하도록 PAN 인터페이스(142)를 프로그래밍할 수 있다(L2HA(149A) 대체)(424). PAN 스택(128)은 다음으로 PAN 인터페이스(142)와 인터페이스하여 제2 사용자 계정에 대해 L2HA(149B)를 사용하여 PAN 링크(143B)를 설정할 수 있다(426). 클라이언트 컴퓨팅 장치(202B)는 PAN 링크(143B)를 통해 데이터를 전달할 수 있고(428), 여기서 호스트 컴퓨팅 장치(102)의 OS(126)는 위에서 더 자세히 설명된 다양한 출력 중 하나 이상을 통해 이러한 데이터를 제시할 수 있다(430).
다른 사용자 계정에 대해 별도의 L2HA(149A 및 149B)를 사용하여, PAN 스택(128)은 별도의 PCD(129A, 129B)를 유지(즉, 저장 및 업데이트)할 수 있어, PAN 스택(128)은 일반적으로 호스트 컴퓨팅 장치(102)가 아닌 개별 사용자 계정에 구체적으로 본딩된 클라이언트 컴퓨팅 장치와의 본딩을 제공할 수 있다. 다양한 사용자는 여전히 단일 클라이언트 컴퓨팅 장치(102)를 개별 사용자 계정 각각에 본딩할 수 있지만 클라이언트 컴퓨팅 장치(102)를 개별 사용자 계정 각각에 개별적으로 페어링해야 한다. 그러나 페어링 프로세스는 비교적 간단하며 사용자의 관점에서 본드를 명시적으로 만들어 사용자에게 이익이 되며, 이에 의해 호스트 컴퓨팅 장치(102)(또한 가능하게는 클라이언트 컴퓨팅 장치(202))의 동작에 영향을 미칠 수 있는 불필요한 동작(본딩을 삭제하고 해당 본딩을 다시 설정해야 하는 결과)을 초래할 수 있는 임의의 혼란을 피한다. 이와 같이, 전술한 바와 같이 기술은 호스트 컴퓨팅 장치(102) 자체의 동작을 개선할 수 있다.
이러한 방식으로, 본 개시물에서 설명된 기법들의 다양한 양태들은 다음의 예들을 가능하게 할 수도 있다.
예 1. 호스트 컴퓨팅 장치로서, 개인 영역 네트워크 인터페이스; 복수의 상이한 사용자 계정의 각 사용자 계정에 대한 개인 영역 네트워크 구성 데이터를 저장하도록 구성된 메모리 -개인 영역 네트워크 구성 데이터는 복수의 사용자 계정의 각각의 사용자 계정과 연관된 클라이언트 컴퓨팅 장치와의 개인 영역 네트워크 링크를 지원할 때 개인 영역 네트워크 인터페이스에 의해 사용하기 위한 별도의 계층 2 호스트 주소(layer two host address)를 포함함-; 그리고 운영 체제를 실행하도록 구성된 하나 이상의 프로세서를 포함하며, 상기 운영 체제는, 운영 체제에 로그인하는 복수의 사용자 계정 중 제1 사용자 계정에 응답하여: 메모리로부터, 제1 사용자 계정에 특정한 개인 영역 네트워크 구성 데이터의 제1 개인 영역 네트워크 구성 데이터를 획득하고; 그리고 제1 개인 영역 네트워크 구성 데이터에 포함된 제1 계층 2 호스트 주소를 사용하도록 개인 영역 네트워크 인터페이스의 프로그래밍을 시작하도록 구성되고, 개인 영역 네트워크 인터페이스는 제1 계층 2 호스트 주소를 사용하여, 제1 사용자 계정과 연관된 제1 클라이언트 컴퓨팅 장치와의 제1 개인 영역 네트워크 링크를 설정하도록 구성된다.
예 2. 예 1의 호스트 컴퓨팅 장치에 있어서, 상기 운영 체제는, 상기 제1 사용자 계정이 상기 운영 체제에 로그인했을 때 및 개인 영역 네트워크 인터페이스가 제1 계층 2 호스트 주소를 사용하도록 프로그래밍된 후에: 제1 클라이언트 컴퓨팅 장치가 이전에 제1 사용자 계정과 연관되었는지 여부를 결정하고; 제1 클라이언트 컴퓨팅 장치가 이전에 제1 사용자 계정과 연관되지 않았다는 결정에 응답하여, 개인 영역 네트워크 인터페이스와 제1 클라이언트 컴퓨팅 장치 사이의 페어링 프로세스를 시작하고; 개인 영역 네트워크 인터페이스와 제1 클라이언트 컴퓨팅 장치를 성공적으로 페어링한 것에 응답하여, 제1 클라이언트 컴퓨팅 장치가 개인 영역 네트워크 인터페이스에 본딩되었다는 표시를 제1 개인 영역 네트워크 구성 데이터에 저장하도록더 구성된다.
예 3. 예 2의 호스트 컴퓨팅 장치에 있어서, 상기 운영 체제는, 복수의 상이한 사용자 계정의 나머지 사용자 계정과 연관된 임의의 다른 클라이언트 컴퓨팅 장치를 제공하지 않고 개인 영역 네트워크 인터페이스에 본딩된 제1 클라이언트 컴퓨팅 장치를 제공하도록 더 구성된다.
예 4. 예 1 내지 예 3의 임의의 조합의 호스트 컴퓨팅 장치에서, 상기 운영 체제는, 상기 운영 체제에 로그인하는 복수의 상이한 사용자 계정 중 제2 사용자 계정에 응답하여: 메모리로부터, 제2 사용자 계정에 특정한 개인 영역 네트워크 구성 데이터의 제2 개인 영역 네트워크 구성 데이터를 획득하고; 그리고 제2 개인 영역 네트워크 구성 데이터에 포함된 제2 계층 2 호스트 주소를 사용하도록 개인 영역 네트워크 인터페이스의 프로그래밍을 시작하도록 더 구성되고, 상기 개인 영역 네트워크 인터페이스는 제2 계층 2 호스트 주소를 사용하여, 제2 사용자 계정과 연관된 제2 클라이언트 컴퓨팅 장치와의 제2 개인 영역 네트워크 링크를 설정하도록 구성된다.
예 5. 예 4의 호스트 컴퓨팅 장치에서, 제2 클라이언트 컴퓨팅 장치는 제1 클라이언트 컴퓨팅 장치와 동일하고, 제1 계층 2 호스트 주소는 제2 계층 2 호스트 주소와 다르다.
예 6. 예 1 내지 예 5 중 임의의 조합의 호스트 컴퓨팅 장치에서, 상기 운영 체제는, 개인 영역 네트워크 인터페이스의 프로그래밍을 개시하도록 구성될 때, 제1 계층 2 호스트 주소를 사용하도록 개인 영역 네트워크 인터페이스를 프로그래밍하기 위해, 개인 영역 네트워크 인터페이스에 쓰기 주소 명령(write address command)을 발행하도록 호스트 제어기 인터페이스와 인터페이스하도록 구성된다.
예 7. 예 1 내지 예 6의 임의의 조합의 호스트 컴퓨팅 장치에서, 상기 계층 2 호스트 주소는 미디어 액세스 제어 주소를 포함한다.
예 8. 예 1 내지 예 7의 임의의 조합의 호스트 컴퓨팅 장치에서, 상기 제1 개인 영역 네트워크 구성 데이터는 제1 개인 영역 네트워크 링크를 설정하기 위한 제1 링크 키를 포함한다.
예 9. 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 호스트 컴퓨팅 장치는 하나 이상의 프로세서가 운영 체제를 실행하여 사용자가 차량과 연관된 기능을 제어할 수 있게 하는 차량 헤드 유닛을 포함한다.
예 10. 예 1 내지 예 9의 임의의 조합의 호스트 컴퓨팅 장치에서, 제1 클라이언트 컴퓨팅 장치는 스마트폰, 스마트 워치, 스마트 안경, 랩탑 컴퓨터, 태블릿 컴퓨터, 및 휴대용 게임 시스템 중 하나 이상을 포함한다.
예 11. 방법으로서, 복수의 상이한 사용자 계정의 각 사용자 계정에 대한 개인 영역 네트워크 구성 데이터를 저장하는 단계 -개인 영역 네트워크 구성 데이터는 복수의 사용자 계정의 각각의 사용자 계정과 연관된 클라이언트 컴퓨팅 장치와의 개인 영역 네트워크 링크를 지원할 때 개인 영역 네트워크 인터페이스에 의해 사용하기 위한 별도의 계층 2 호스트 주소를 포함함-; 운영 체제에 로그인하는 복수의 사용자 계정 중 제1 사용자 계정에 응답하여 동작들을 수행하도록 운영 체제를 실행하는 단계 -상기 동작들은, 메모리로부터, 제1 사용자 계정에 특정한 개인 영역 네트워크 구성 데이터의 제1 개인 영역 네트워크 구성 데이터를 획득하는 동작; 그리고 제1 개인 영역 네트워크 구성 데이터에 포함된 제1 계층 2 호스트 주소를 사용하도록 개인 영역 네트워크 인터페이스의 프로그래밍을 시작하는 동작을 포함함-; 그리고 제1 계층 2 호스트 주소를 사용하여, 제1 사용자 계정과 연관된 제1 클라이언트 컴퓨팅 장치와의 제1 개인 영역 네트워크 링크를 설정하는 단계를 포함한다.
예 12. 예 11의 방법에서, 상기 운영 체제는, 상기 제1 사용자 계정이 상기 운영 체제에 로그인했을 때 및 개인 영역 네트워크 인터페이스가 제1 계층 2 호스트 주소를 사용하도록 프로그래밍된 후에: 제1 클라이언트 컴퓨팅 장치가 이전에 제1 사용자 계정과 연관되었는지 여부를 결정하고; 제1 클라이언트 컴퓨팅 장치가 이전에 제1 사용자 계정과 연관되지 않았다는 결정에 응답하여, 개인 영역 네트워크 인터페이스와 제1 클라이언트 컴퓨팅 장치 사이의 페어링 프로세스를 시작하고; 그리고 개인 영역 네트워크 인터페이스와 제1 클라이언트 컴퓨팅 장치를 성공적으로 페어링한 것에 응답하여, 제1 클라이언트 컴퓨팅 장치가 개인 영역 네트워크 인터페이스에 본딩되었다는 표시를 제1 개인 영역 네트워크 구성 데이터에 저장하도록더 구성된다.
예 13. 예 12의 방법에서, 상기 운영 체제는, 복수의 상이한 사용자 계정의 나머지 사용자 계정과 연관된 임의의 다른 클라이언트 컴퓨팅 장치를 제공하지 않고 개인 영역 네트워크 인터페이스에 본딩된 제1 클라이언트 컴퓨팅 장치를 제공하도록 더 구성된다.
예 14. 예 11 내지 예 13의 임의의 조합의 방법으로서, 상기 운영 체제는, 상기 운영 체제에 로그인하는 복수의 상이한 사용자 계정 중 제2 사용자 계정에 응답하여: 메모리로부터, 제2 사용자 계정에 특정한 개인 영역 네트워크 구성 데이터의 제2 개인 영역 네트워크 구성 데이터를 획득하고; 그리고 제2 개인 영역 네트워크 구성 데이터에 포함된 제2 계층 2 호스트 주소를 사용하도록 개인 영역 네트워크 인터페이스의 프로그래밍을 시작하도록 더 구성되고, 상기 방법은, 제2 계층 2 호스트 주소를 사용하여, 제2 사용자 계정과 연관된 제2 클라이언트 컴퓨팅 장치와의 제2 개인 영역 네트워크 링크를 설정하는 단계를 더 포함한다.
예 15. 예 14에 있어서, 제2 클라이언트 컴퓨팅 장치는 제1 클라이언트 컴퓨팅 장치와 동일하고, 제1 계층 2 호스트 주소는 제2 계층 2 호스트 주소와 다르다.
예 16. 실행될 때 호스트 컴퓨팅 장치의 하나 이상의 프로세서로 하여금 동작들을 수행하게 하는 명령어가 저장된 비일시적 컴퓨터-판독가능 저장 매체로서, 상기 동작들은, 복수의 상이한 사용자 계정의 각 사용자 계정에 대한 개인 영역 네트워크 구성 데이터를 저장하는 동작 -개인 영역 네트워크 구성 데이터는 복수의 사용자 계정의 각각의 사용자 계정과 연관된 클라이언트 컴퓨팅 장치와의 개인 영역 네트워크 링크를 지원할 때 개인 영역 네트워크 인터페이스에 의해 사용하기 위한 별도의 계층 2 호스트 주소를 포함함-; 운영 체제에 로그인하는 복수의 사용자 계정 중 제1 사용자 계정에 응답하여 제2 동작들을 수행하도록 운영 체제를 실행하는 동작 -상기 제2 동작들은, 메모리로부터, 제1 사용자 계정에 특정한 개인 영역 네트워크 구성 데이터의 제1 개인 영역 네트워크 구성 데이터를 획득하는 동작; 그리고 제1 개인 영역 네트워크 구성 데이터에 포함된 제1 계층 2 호스트 주소를 사용하도록 개인 영역 네트워크 인터페이스의 프로그래밍을 시작하는 동작을 포함함-; 그리고 제1 계층 2 호스트 주소를 사용하여, 제1 사용자 계정과 연관된 제1 클라이언트 컴퓨팅 장치와의 제1 개인 영역 네트워크 링크를 설정하는 동작을 포함한다.
예 17. 제16항에 있어서, 상기 운영 체제는, 개인 영역 네트워크 인터페이스의 프로그래밍을 개시하도록 구성될 때, 제1 계층 2 호스트 주소를 사용하도록 개인 영역 네트워크 인터페이스를 프로그래밍하기 위해, 개인 영역 네트워크 인터페이스에 쓰기 주소 명령(write address command)을 발행하도록 호스트 제어기 인터페이스와 인터페이스하도록 구성된다.
예 18. 예 16 및 예 17의 임의의 조합의 비일시적 컴퓨터 판독가능 저장 매체에서, 상기 계층 2 호스트 주소는 미디어 액세스 제어 주소를 포함한다.
예 19. 예 16-18의 임의의 조합의 비일시적 컴퓨터 판독가능 저장 매체에서, 상기 제1 개인 영역 네트워크 구성 데이터는 상기 제1 개인 영역 네트워크 링크를 설정하기 위한 제1 링크 키를 포함한다.
예 20. 예 16 내지 예 19의 임의의 조합의 비일시적 컴퓨터 판독가능 저장 매체로서, 호스트 컴퓨팅 장치는 하나 이상의 프로세서가 운영 체제를 실행하여 사용자가 차량과 관련된 기능을 제어할 수 있게 하는 차량 헤드 유닛을 포함한다.
하나 이상의 예에서, 설명된 기능은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 소프트웨어로 구현되는 경우, 기능은 컴퓨터 판독 가능 매체에 하나 이상의 명령 또는 코드로서 저장되거나 이를 통해 전송될 수 있고 하드웨어 기반 처리 장치에 의해 실행될 수 있다. 컴퓨터가 읽을 수 있는 매체(컴퓨터 판독 가능 매체)는 데이터 저장 매체와 같은 유형의 매체에 대응하는 컴퓨터 판독 가능 저장 매체, 또는 예를 들어, 통신 프로토콜에 따라 컴퓨터 프로그램을 한 장소에서 다른 장소로 전송하는 것을 용이하게 하는 임의의 매체를 포함하는 통신 매체를 포함할 수 있다. 이러한 방식으로, 컴퓨터 판독가능 매체는 일반적으로 (1) 비일시적인 유형의 컴퓨터 판독가능 저장 매체 또는 (2) 신호 또는 반송파와 같은 통신 매체에 대응할 수 있다. 데이터 저장 매체는 본 개시에서 설명된 기술의 구현을 위한 명령(명령어), 코드 및/또는 데이터 구조를 검색하기 위해 하나 이상의 컴퓨터 또는 하나 이상의 프로세서에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독 가능 매체를 포함할 수 있다.
제한이 아닌 예로서, 이러한 컴퓨터 판독 가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 기타 광 디스크 저장 장치, 자기 디스크 저장 장치, 또는 기타 자기 저장 장치, 플래시 메모리, 또는 명령 또는 데이터 구조의 형태로 원하는 프로그램 코드를 저장하는 데 사용할 수 있고 컴퓨터에서 액세스할 수 있는 기타 모든 저장 매체를 포함할 수 있다. 또한 모든 연결은 적절하게 컴퓨터 판독 가능 매체라고 불린다. 예를 들어 동축 케이블, 광섬유 케이블, 트위스트 페어, DSL(디지털 가입자 회선) 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술을 사용하여 웹 사이트, 서버 또는 기타 원격 소스에서 명령어를 전송하는 경우 동축 케이블, 광섬유 케이블, 트위스트 페어, DSL 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술이 매체의 정의에 포함된다. 그러나, 컴퓨터 판독 가능 저장 매체 및 미디어 및 데이터 저장 매체는 연결, 반송파, 신호 또는 기타 일시적 매체를 포함하지 않고, 대신 비일시적 유형의 저장 매체에 관한 것임을 이해해야 한다. 여기에서 사용된 디스크(disk) 및 디스크(disc)는 컴팩트 디스크(CD), 레이저 디스크, 광 디스크, 디지털 다목적 디스크(DVD), 플로피 디스크 및 블루레이 디스크를 포함한다. 디스크(disk)는 일반적으로 자기적으로 데이터를 재생하는 반면 디스크(disc)는 레이저를 사용하여 광학적으로 데이터를 재생한다. 위의 조합도 컴퓨터가 읽을 수 있는 매체의 범위에 포함되어야 한다.
명령어는 하나 이상의 디지털 신호 프로세서(DSP), 범용 마이크로프로세서, ASIC(주문형 집적 회로), FPGA(필드 프로그램 가능 논리 어레이) 또는 기타 동등한 집적 또는 이산 논리 회로와 같은 하나 이상의 프로세서에 의해 실행될 수 있다. 따라서, 본 명세서에서 사용되는 용어 "프로세서"는 전술한 구조 또는 본 명세서에 기술된 기술의 구현에 적합한 임의의 다른 구조를 지칭할 수 있다. 또한, 일부 양태에서, 여기에 설명된 기능은 전용 하드웨어 및/또는 소프트웨어 모듈 내에서 제공될 수 있다. 또한, 기술은 하나 이상의 회로 또는 논리 요소에서 완전히 구현될 수 있다.
본 개시물의 기술은 무선 핸드셋, 집적 회로(IC) 또는 IC 세트(예를 들어, 칩셋)를 포함하는 매우 다양한 장치 또는 장치에서 구현될 수 있다. 다양한 컴포넌트, 모듈, 또는 유닛은 개시된 기술을 수행하도록 구성된 장치의 기능적 측면을 강조하기 위해 본 개시에서 설명되지만, 반드시 상이한 하드웨어 유닛에 의한 실현을 필요로 하지는 않는다. 오히려, 위에서 설명된 바와 같이, 다양한 유닛은 적절한 소프트웨어 및/또는 펌웨어와 함께, 위에서 설명된 바와 같은 하나 이상의 프로세서를 포함하는 상호 운용 가능한 하드웨어 유닛의 집합 또는 하드웨어 유닛에서 결합될 수 있다.
다양한 예가 설명되었다. 이들 및 기타 예는 다음 청구 범위 내에 있다.

Claims (20)

  1. 호스트 컴퓨팅 장치로서,
    개인 영역 네트워크 인터페이스;
    복수의 상이한 사용자 계정의 각 사용자 계정에 대한 개인 영역 네트워크 구성 데이터를 저장하도록 구성된 메모리 -개인 영역 네트워크 구성 데이터는
    복수의 사용자 계정의 각각의 사용자 계정과 연관된 클라이언트 컴퓨팅 장치와의 개인 영역 네트워크 링크를 지원할 때 개인 영역 네트워크 인터페이스에 의해 사용하기 위한 별도의 계층 2 호스트 주소(layer two host address)를 포함함-; 그리고
    운영 체제를 실행하도록 구성된 하나 이상의 프로세서를 포함하며, 상기 운영 체제는,
    운영 체제에 로그인하는 복수의 사용자 계정 중 제1 사용자 계정에 응답하여:
    메모리로부터, 제1 사용자 계정에 특정한 개인 영역 네트워크 구성 데이터의 제1 개인 영역 네트워크 구성 데이터를 획득하고; 그리고
    제1 개인 영역 네트워크 구성 데이터에 포함된 제1 계층 2 호스트 주소를 사용하도록 개인 영역 네트워크 인터페이스의 프로그래밍을 시작하도록 구성되고,
    개인 영역 네트워크 인터페이스는 제1 계층 2 호스트 주소를 사용하여, 제1 사용자 계정과 연관된 제1 클라이언트 컴퓨팅 장치와의 제1 개인 영역 네트워크 링크를 설정하도록 구성되는 것을 특징으로 하는 호스트 컴퓨팅 장치.
  2. 제1항에 있어서, 상기 운영 체제는,
    상기 제1 사용자 계정이 상기 운영 체제에 로그인했을 때 및 개인 영역 네트워크 인터페이스가 제1 계층 2 호스트 주소를 사용하도록 프로그래밍된 후에:
    제1 클라이언트 컴퓨팅 장치가 이전에 제1 사용자 계정과 연관되었는지 여부를 결정하고;
    제1 클라이언트 컴퓨팅 장치가 이전에 제1 사용자 계정과 연관되지 않았다는 결정에 응답하여, 개인 영역 네트워크 인터페이스와 제1 클라이언트 컴퓨팅 장치 사이의 페어링 프로세스를 시작하고;
    개인 영역 네트워크 인터페이스와 제1 클라이언트 컴퓨팅 장치를 성공적으로 페어링한 것에 응답하여, 제1 클라이언트 컴퓨팅 장치가 개인 영역 네트워크 인터페이스에 본딩되었다는 표시를 제1 개인 영역 네트워크 구성 데이터에 저장하도록더 구성되는 것을 특징으로 하는 호스트 컴퓨팅 장치.
  3. 제2항에 있어서, 상기 운영 체제는,
    복수의 상이한 사용자 계정의 나머지 사용자 계정과 연관된 임의의 다른 클라이언트 컴퓨팅 장치를 제공하지 않고 개인 영역 네트워크 인터페이스에 본딩된 제1 클라이언트 컴퓨팅 장치를 제공하도록 더 구성되는 것을 특징으로 하는 호스트 컴퓨팅 장치.
  4. 제1항에 있어서, 상기 운영 체제는,
    상기 운영 체제에 로그인하는 복수의 상이한 사용자 계정 중 제2 사용자 계정에 응답하여:
    메모리로부터, 제2 사용자 계정에 특정한 개인 영역 네트워크 구성 데이터의 제2 개인 영역 네트워크 구성 데이터를 획득하고; 그리고
    제2 개인 영역 네트워크 구성 데이터에 포함된 제2 계층 2 호스트 주소를 사용하도록 개인 영역 네트워크 인터페이스의 프로그래밍을 시작하도록 더 구성되고,
    상기 개인 영역 네트워크 인터페이스는 제2 계층 2 호스트 주소를 사용하여, 제2 사용자 계정과 연관된 제2 클라이언트 컴퓨팅 장치와의 제2 개인 영역 네트워크 링크를 설정하도록 구성되는 것을 특징으로 하는 호스트 컴퓨팅 장치.
  5. 제4항에 있어서, 제2 클라이언트 컴퓨팅 장치는 제1 클라이언트 컴퓨팅 장치와 동일하고,
    제1 계층 2 호스트 주소는 제2 계층 2 호스트 주소와 다른 것을 특징으로 하는 호스트 컴퓨팅 장치.
  6. 제1항에 있어서, 상기 운영 체제는,
    개인 영역 네트워크 인터페이스의 프로그래밍을 개시하도록 구성될 때,
    제1 계층 2 호스트 주소를 사용하도록 개인 영역 네트워크 인터페이스를 프로그래밍하기 위해, 개인 영역 네트워크 인터페이스에 쓰기 주소 명령(write address command)을 발행하도록 호스트 제어기 인터페이스와 인터페이스하도록 구성되는 것을 특징으로 하는 호스트 컴퓨팅 장치.
  7. 제1항에 있어서, 상기 계층 2 호스트 주소는 미디어 액세스 제어 주소를 포함하는 것을 특징으로 하는 호스트 컴퓨팅 장치.
  8. 제1항에 있어서, 상기 제1 개인 영역 네트워크 구성 데이터는 제1 개인 영역 네트워크 링크를 설정하기 위한 제1 링크 키를 포함하는 것을 특징으로 하는 호스트 컴퓨팅 장치.
  9. 제1항에 있어서, 상기 호스트 컴퓨팅 장치는 하나 이상의 프로세서가 운영 체제를 실행하여 사용자가 차량과 연관된 기능을 제어할 수 있게 하는 차량 헤드 유닛을 포함하는 것을 특징으로 하는 호스트 컴퓨팅 장치.
  10. 제1항에 있어서, 제1 클라이언트 컴퓨팅 장치는 스마트폰, 스마트 워치, 스마트 안경, 랩탑 컴퓨터, 태블릿 컴퓨터, 및 휴대용 게임 시스템 중 하나 이상을 포함하는 것을 특징으로 하는 호스트 컴퓨팅 장치.
  11. 제1항에 있어서,
    상기 호스트 컴퓨팅 장치는 제1 호스트 컴퓨팅 장치이고, 그리고
    하나 이상의 프로세서는,
    호스트 컴퓨팅 장치가 클라이언트 컴퓨팅 장치와의 페어링 프로세스를 수행하지 않고 클라이언트 컴퓨팅 장치와의 개인 영역 네트워크 링크를 설정할 수 있도록, 개인 영역 네트워크 구성 데이터의 제2 호스트 컴퓨팅 장치로의 전송을 개시하도록 더 구성되는 것을 특징으로 하는 호스트 컴퓨팅 장치.
  12. 방법으로서,
    복수의 상이한 사용자 계정의 각 사용자 계정에 대한 개인 영역 네트워크 구성 데이터를 저장하는 단계 -개인 영역 네트워크 구성 데이터는 복수의 사용자 계정의 각각의 사용자 계정과 연관된 클라이언트 컴퓨팅 장치와의 개인 영역 네트워크 링크를 지원할 때 개인 영역 네트워크 인터페이스에 의해 사용하기 위한 별도의 계층 2 호스트 주소를 포함함-;
    운영 체제에 로그인하는 복수의 사용자 계정 중 제1 사용자 계정에 응답하여 동작들을 수행하도록 운영 체제를 실행하는 단계 -상기 동작들은,
    메모리로부터, 제1 사용자 계정에 특정한 개인 영역 네트워크 구성 데이터의 제1 개인 영역 네트워크 구성 데이터를 획득하는 동작; 그리고
    제1 개인 영역 네트워크 구성 데이터에 포함된 제1 계층 2 호스트 주소를 사용하도록 개인 영역 네트워크 인터페이스의 프로그래밍을 시작하는 동작을 포함함-; 그리고
    제1 계층 2 호스트 주소를 사용하여, 제1 사용자 계정과 연관된 제1 클라이언트 컴퓨팅 장치와의 제1 개인 영역 네트워크 링크를 설정하는 단계를 포함하는 것을 특징으로 하는 방법.
  13. 제12항에 있어서, 상기 운영 체제는,
    상기 제1 사용자 계정이 상기 운영 체제에 로그인했을 때 및 개인 영역 네트워크 인터페이스가 제1 계층 2 호스트 주소를 사용하도록 프로그래밍된 후에:
    제1 클라이언트 컴퓨팅 장치가 이전에 제1 사용자 계정과 연관되었는지 여부를 결정하고;
    제1 클라이언트 컴퓨팅 장치가 이전에 제1 사용자 계정과 연관되지 않았다는 결정에 응답하여, 개인 영역 네트워크 인터페이스와 제1 클라이언트 컴퓨팅 장치 사이의 페어링 프로세스를 시작하고; 그리고
    개인 영역 네트워크 인터페이스와 제1 클라이언트 컴퓨팅 장치를 성공적으로 페어링한 것에 응답하여, 제1 클라이언트 컴퓨팅 장치가 개인 영역 네트워크 인터페이스에 본딩되었다는 표시를 제1 개인 영역 네트워크 구성 데이터에 저장하도록더 구성되는 것을 특징으로 하는 방법.
  14. 제13항에 있어서, 상기 운영 체제는,
    복수의 상이한 사용자 계정의 나머지 사용자 계정과 연관된 임의의 다른 클라이언트 컴퓨팅 장치를 제공하지 않고 개인 영역 네트워크 인터페이스에 본딩된 제1 클라이언트 컴퓨팅 장치를 제공하도록 더 구성되는 것을 특징으로 하는 방법.
  15. 제12항에 있어서, 상기 운영 체제는,
    상기 운영 체제에 로그인하는 복수의 상이한 사용자 계정 중 제2 사용자 계정에 응답하여:
    메모리로부터, 제2 사용자 계정에 특정한 개인 영역 네트워크 구성 데이터의 제2 개인 영역 네트워크 구성 데이터를 획득하고; 그리고
    제2 개인 영역 네트워크 구성 데이터에 포함된 제2 계층 2 호스트 주소를 사용하도록 개인 영역 네트워크 인터페이스의 프로그래밍을 시작하도록 더 구성되고,
    상기 방법은, 제2 계층 2 호스트 주소를 사용하여, 제2 사용자 계정과 연관된 제2 클라이언트 컴퓨팅 장치와의 제2 개인 영역 네트워크 링크를 설정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  16. 제15항에 있어서, 제2 클라이언트 컴퓨팅 장치는 제1 클라이언트 컴퓨팅 장치와 동일하고,
    제1 계층 2 호스트 주소는 제2 계층 2 호스트 주소와 다른 것을 특징으로 하는 방법.
  17. 실행될 때 호스트 컴퓨팅 장치의 하나 이상의 프로세서로 하여금 동작들을 수행하게 하는 명령어가 저장된 비일시적 컴퓨터-판독가능 저장 매체로서, 상기 동작들은,
    복수의 상이한 사용자 계정의 각 사용자 계정에 대한 개인 영역 네트워크 구성 데이터를 저장하는 동작 -개인 영역 네트워크 구성 데이터는 복수의 사용자 계정의 각각의 사용자 계정과 연관된 클라이언트 컴퓨팅 장치와의 개인 영역 네트워크 링크를 지원할 때 개인 영역 네트워크 인터페이스에 의해 사용하기 위한 별도의 계층 2 호스트 주소를 포함함-;
    운영 체제에 로그인하는 복수의 사용자 계정 중 제1 사용자 계정에 응답하여 제2 동작들을 수행하도록 운영 체제를 실행하는 동작 -상기 제2 동작들은,
    메모리로부터, 제1 사용자 계정에 특정한 개인 영역 네트워크 구성 데이터의 제1 개인 영역 네트워크 구성 데이터를 획득하는 동작; 그리고
    제1 개인 영역 네트워크 구성 데이터에 포함된 제1 계층 2 호스트 주소를 사용하도록 개인 영역 네트워크 인터페이스의 프로그래밍을 시작하는 동작을 포함함-; 그리고
    제1 계층 2 호스트 주소를 사용하여, 제1 사용자 계정과 연관된 제1 클라이언트 컴퓨팅 장치와의 제1 개인 영역 네트워크 링크를 설정하는 동작을 포함하는 것을 특징으로 하는 비일시적 컴퓨터-판독가능 저장 매체.
  18. 제17항에 있어서, 상기 운영 체제는,
    개인 영역 네트워크 인터페이스의 프로그래밍을 개시하도록 구성될 때,
    제1 계층 2 호스트 주소를 사용하도록 개인 영역 네트워크 인터페이스를 프로그래밍하기 위해, 개인 영역 네트워크 인터페이스에 쓰기 주소 명령(write address command)을 발행하도록 호스트 제어기 인터페이스와 인터페이스하도록 구성되는 것을 특징으로 하는 비일시적 컴퓨터-판독가능 저장 매체.
  19. 제17항에 있어서, 상기 계층 2 호스트 주소는 미디어 액세스 제어 주소를 포함하는 것을 특징으로 하는 비일시적 컴퓨터-판독가능 저장 매체.
  20. 제17항에 있어서, 상기 제1 개인 영역 네트워크 구성 데이터는 상기 제1 개인 영역 네트워크 링크를 설정하기 위한 제1 링크 키를 포함하는 것을 특징으로 하는 비일시적 컴퓨터-판독가능 저장 매체.
KR1020210134180A 2021-07-02 2021-10-08 사용자 계정 인식 개인 영역 네트워크 본딩 KR102493291B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/305,266 US11395356B1 (en) 2021-07-02 2021-07-02 User account aware personal area network bonding
US17/305,266 2021-07-02

Publications (2)

Publication Number Publication Date
KR20230006364A KR20230006364A (ko) 2023-01-10
KR102493291B1 true KR102493291B1 (ko) 2023-01-30

Family

ID=77821686

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210134180A KR102493291B1 (ko) 2021-07-02 2021-10-08 사용자 계정 인식 개인 영역 네트워크 본딩

Country Status (5)

Country Link
US (1) US11395356B1 (ko)
EP (1) EP4114064A1 (ko)
JP (1) JP7344263B2 (ko)
KR (1) KR102493291B1 (ko)
CN (1) CN113965933A (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080106399A1 (en) 2006-11-06 2008-05-08 Toshiba America Research, Inc. Short range ip based personal area network for personal possessions management
US20150365817A1 (en) 2012-10-02 2015-12-17 Nextbit Systems, Inc. Transferring information to a mobile device
US20180025295A1 (en) 2002-12-09 2018-01-25 Live Nation Entertainment, Inc. System and method for using unique device identifiers to enhance security
US20180131671A1 (en) 2014-06-25 2018-05-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Dynamic local media access control (mac) address assignment

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7936736B2 (en) 2008-09-08 2011-05-03 Proctor Jr James Arthur Enforcing policies in wireless communication using exchanged identities
US9000914B2 (en) * 2010-03-15 2015-04-07 Welch Allyn, Inc. Personal area network pairing
TW201514699A (zh) * 2013-10-11 2015-04-16 Acer Inc 無線通信裝置與其無線配對方法
US9769858B2 (en) 2014-05-30 2017-09-19 Apple Inc. Seamless connectivity between hearing aid and multiple devices
US9913079B2 (en) 2015-06-05 2018-03-06 Apple Inc. Cloud-based proximity pairing and switching for peer-to-peer devices
US9977415B2 (en) 2015-07-03 2018-05-22 Afero, Inc. System and method for virtual internet of things (IOT) devices and hubs
DE102016116077A1 (de) 2016-08-29 2018-03-01 Unify Patente Gmbh & Co. Kg Verfahren zum Zuweisen einer MAC-Adresse zu einem Kommunikationsgerät in einer Netzwerkumgebung und Datenbank mit MAC-Adressen
US11304246B2 (en) 2019-11-01 2022-04-12 Microsoft Technology Licensing, Llc Proximity-based pairing and operation of user-specific companion devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180025295A1 (en) 2002-12-09 2018-01-25 Live Nation Entertainment, Inc. System and method for using unique device identifiers to enhance security
US20080106399A1 (en) 2006-11-06 2008-05-08 Toshiba America Research, Inc. Short range ip based personal area network for personal possessions management
US20150365817A1 (en) 2012-10-02 2015-12-17 Nextbit Systems, Inc. Transferring information to a mobile device
US20180131671A1 (en) 2014-06-25 2018-05-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Dynamic local media access control (mac) address assignment

Also Published As

Publication number Publication date
JP2023008744A (ja) 2023-01-19
KR20230006364A (ko) 2023-01-10
JP7344263B2 (ja) 2023-09-13
EP4114064A1 (en) 2023-01-04
US11395356B1 (en) 2022-07-19
CN113965933A (zh) 2022-01-21

Similar Documents

Publication Publication Date Title
US11449955B2 (en) Information processing method and apparatus
WO2017067137A1 (zh) 资源使用权限判断系统及方法
US20170127018A1 (en) Video interaction method, terminal, server and system
US20090064038A1 (en) Configuration of Device Settings
US20220397992A1 (en) Interface display method and electronic device
US11176228B2 (en) Application interface display method, apparatus, and terminal, and storage medium
JP2017511557A (ja) 機械可読コードを使用したデバイスの認証およびペアリング
US11785082B2 (en) Domain replication across regions
WO2018094996A1 (zh) 终端控制方法及装置
US20190045654A1 (en) Server having a dual-mode serial bus port enabling selective access to a baseboard management controller
WO2019184631A1 (zh) 信息处理方法和装置、计算机可读存储介质、终端
JP2017528835A (ja) アカウント情報のサーバー認証へのマッピング
US20230007460A1 (en) Method and system for segmenting and transmiting data between computing devices and vehicle head units
KR102493291B1 (ko) 사용자 계정 인식 개인 영역 네트워크 본딩
WO2023132997A1 (en) Quorum-based authorization
US20220030103A1 (en) Context aware airplane mode
EP4020936B1 (en) Switchable communication transport for communication between primary devices and vehicle head units
US11876613B2 (en) Home region switch
US20230140149A1 (en) Failover of domains
US20240137268A1 (en) Home region switch
JP2023067798A (ja) 車両におけるオペレーティングシステム投影のための自動無線接続
US20200409747A1 (en) Passive-enabled applications for a computing device

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant