KR20170038883A - 모바일 디바이스들에 대한 네트워크 대역폭 공유 - Google Patents

모바일 디바이스들에 대한 네트워크 대역폭 공유 Download PDF

Info

Publication number
KR20170038883A
KR20170038883A KR1020177005717A KR20177005717A KR20170038883A KR 20170038883 A KR20170038883 A KR 20170038883A KR 1020177005717 A KR1020177005717 A KR 1020177005717A KR 20177005717 A KR20177005717 A KR 20177005717A KR 20170038883 A KR20170038883 A KR 20170038883A
Authority
KR
South Korea
Prior art keywords
host device
client
user
network
network access
Prior art date
Application number
KR1020177005717A
Other languages
English (en)
Other versions
KR101911653B1 (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 KR20170038883A publication Critical patent/KR20170038883A/ko
Application granted granted Critical
Publication of KR101911653B1 publication Critical patent/KR101911653B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/18Negotiating wireless communication parameters
    • H04W28/20Negotiating bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W16/00Network planning, e.g. coverage or traffic planning tools; Network deployment, e.g. resource partitioning or cells structures
    • H04W16/14Spectrum sharing arrangements between different networks
    • H04W4/001
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/24Accounting or billing
    • 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
    • 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
    • H04W76/025
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/15Setup of multiple wireless link connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/15Setup of multiple wireless link connections
    • H04W76/16Involving different core network technologies, e.g. a packet-switched [PS] bearer in combination with a circuit-switched [CS] bearer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/04Terminal devices adapted for relaying to or from another terminal or user
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/40Security arrangements using identity modules
    • H04W12/43Security arrangements using identity modules using shared identity modules, e.g. SIM sharing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • H04W4/027Services making use of location information using location based information parameters using movement velocity, acceleration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

무선 기능을 갖지만 광역 네트워크 또는 셀룰러 네트워크 기능이 없는 클라이언트 디바이스들은, 호스트 디바이스가 네트워크 액세스를 갖는 경우, 호스트 디바이스를 통해 네트워크 액세스를 획득할 수 있다. 이러한 네트워크 액세스는 사용자의 클라이언트 디바이스가, 예를 들어, 상이한 사용자의 호스트 디바이스의 로컬 범위에 있을 때 획득될 수 있다. 호스트 디바이스는 리소스 사용량의 임계치(예를 들어, 배터리 또는 대역폭 한도)를 특정하는 설정들로 네트워크 대역폭 공유를 가능하게 할 수 있다. 인증 프로세스는 클라이언트 디바이스와 호스트 디바이스 중 어느 하나 또는 양쪽 모두가 네트워크 대역폭 공유를 위해 등록됨을 확인할 수 있다. 서버는 호스트 디바이스에 의해 공유된 리소스들의 양을 모니터링하고, 호스트 디바이스의 사용자에 대한 인센티브들을 관리할 수 있다.

Description

모바일 디바이스들에 대한 네트워크 대역폭 공유{NETWORK BANDWIDTH SHARING FOR MOBILE DEVICES}
관련 출원의 상호 참조
본 출원은, 2014년 9월 26일자로 출원된 미국 가출원 제62/056,297호의 우선권을 주장하는, 2015년 3월 17일자로 출원된 미국 비-가출원 제14/659,930호의 이익을 주장하고, 이 출원들은 이로써 모든 목적을 위해 그 전체가 참고로 포함된다.
기술분야
본 발명은 제2 사용자의 호스트 디바이스를 통해 한 명의 사용자의 모바일 디바이스에 네트워크 액세스를 제공하는 것을 포함하는, 디바이스들 간의 통신들에 관한 것이다.
상이한 타입들의 네트워킹된 디바이스들의 계속적인 확산에 따라, 과거에 단지 하나의 컴퓨터 또는 하나의 폰만을 가졌을 수 있는 단일 사용자가 이제는 데스크톱 컴퓨터, 랩톱 컴퓨터, 모바일 폰, 태블릿, 네트워킹된 웨어러블 디바이스들, 네트워킹된 홈 어플라이언스들, 및 다른 네트워킹된 디바이스들을 가질 수 있다. 이러한 환경에서 통신들을 관리하는 것은 점점 복잡해지고 있는 태스크이다. 보다 소형의 모바일 디바이스들은, 특히, 기존의 무선 네트워크 인프라스트럭처 대부분에 대한 네트워크 연결성을 위한 전력 또는 하드웨어 리소스들을 갖고 있지 않을 수 있다. 그리고, 사용자는 이들과 네트워크 연결된 디바이스를 항상 휴대하고 있지는 않을 수 있다.
실시예들은 호스트 디바이스에 의해 클라이언트 디바이스에 네트워크 액세스를 제공하는 데 사용하기 위한 시스템들, 방법들, 및 장치들을 제공한다. 일부 실시예들에서, 호스트 디바이스는 제1 사용자에 의해 소유될 수 있고 클라이언트 디바이스는 제2 사용자에 의해 소유될 수 있다. 예를 들어, 클라이언트 디바이스는 (예를 들어, 피어 투 피어 연결들을 위한) 무선 기능을 가질 수 있지만, (예를 들어, 인터넷으로의) 네트워크 액세스를 위한 서비스 제공자 또는 기능을 갖고 있지 않을 수 있다. 이러한 네트워크 액세스는 제1 사용자의 클라이언트 디바이스가, 예를 들어, 제2 사용자의 호스트 디바이스의 로컬 범위에 있을 때 획득될 수 있다.
호스트 디바이스는 리소스 사용량(resource usage)의 임계치(예를 들어, 배터리 또는 대역폭 한도)를 특정하는 설정들로 네트워크 대역폭 공유를 가능하게 할 수 있다. 인증 프로세스는 클라이언트 디바이스와 호스트 디바이스 중 어느 하나 또는 양쪽 모두가 네트워크 대역폭 공유를 위해 서버에 등록됨을 확인할 수 있다. 서버는 호스트 디바이스에 의해 공유된 리소스들의 양을 모니터링하고, 호스트 디바이스의 사용자에 대한 인센티브들을 관리할 수 있다.
다른 실시예들은 본 명세서에 기술된 방법들과 연관된 시스템들, 휴대용 소비자 디바이스들, 및 컴퓨터 판독가능 매체들에 관련된다.
본 발명의 실시예들의 본질 및 이점들의 더 나은 이해가 하기의 상세한 설명 및 첨부 도면을 참조하여 얻어질 수 있다.
도 1은 WAN 기능 없이 클라이언트 디바이스들에게 네트워크 액세스를 제공하기 위한 네트워크 대역폭 공유("데이터 공유"라고도 또한 지칭됨)의 구현을 예시하는 예시적인 시스템(100)을 도시한다.
도 2는 다양한 위치들에서의 호스트 디바이스들 및 클라이언트 디바이스들을 예시하는 예시적인 블록 다이어그램이다.
도 3은 클라이언트 디바이스에 네트워크 액세스를 제공하기 위한 호스트 디바이스의 예시적인 사용자 인터페이스를 도시한다.
도 4는 클라이언트 디바이스들에 대한 호스트 디바이스들에 의한 네트워크 대역폭 공유를 용이하게 할 수 있는 인프라스트럭처를 포함하는 예시적인 시스템의 블록 다이어그램이다.
도 5는 다른 사용자의 클라이언트 디바이스에 대한 호스트 디바이스로부터의 데이터 공유를 용이하게 하기 위해 사용될 수 있는 예시적인 시스템의 블록 다이어그램이다.
도 6은 네트워크 대역폭을 클라이언트 디바이스와 공유하기 전에 클라이언트 디바이스를 인증하는 호스트 디바이스의 예시적인 방법을 도시하는 흐름도이다.
도 7은 호스트 디바이스가 클라이언트 디바이스에 대해 네트워크 통신들을 제공하기 위해 공유 파라미터들을 특정하는 예시적인 방법을 도시하는 흐름도이다.
도 8은 본 발명의 실시예들에 따라, 제2 사용자와는 상이한 제1 사용자와 연관된 호스트 디바이스를 통해 네트워크에 액세스하기 위해 제2 사용자와 연관된 클라이언트 디바이스를 사용하는 예시적인 방법을 도시하는 흐름도이다.
도 9는 클라이언트 디바이스에 대한 호스트 디바이스에 의한 대역폭 공유를 용이하게 하기 위해 서버 컴퓨터를 사용하는 예시적인 방법을 도시하는 흐름도이다.
도 10은 예시적인 클라이언트 디바이스 및 예시적인 호스트 디바이스의 다이어그램이다.
도 11은 클라이언트 디바이스 또는 호스트 디바이스일 수 있는 예시적인 모바일 디바이스(1100)의 블록 다이어그램이다.
실시예들은 호스트 디바이스들(예를 들어, 스마트폰들)을 사용하여 전자 디바이스들(예를 들어, 스마트 시계들 및 음악 플레이어들)에게 네트워크 액세스(예를 들어, 셀룰러 데이터 서비스)를 제공할 수 있다. 실시예들은 전자 디바이스와는 상이한 사용자의 호스트 디바이스로부터 이러한 네트워크 액세스를 제공하기에 특히 적합할 수 있다. 이러한 방식으로, 전자 디바이스가 호스트 디바이스와 가까이, 예를 들어, 자신의 폰들을 가진 다른 사람들과 가까이 있는 한, 전자 디바이스는 클라이언트 디바이스로서 네트워크 액세스를 획득할 수 있다. 일부 실시예들에서, 전자 디바이스에는 한정된 구성이 요구될 수 있거나 또는 어떠한 구성도 요구되지 않을 수 있다.
WAN 기능을 포함하는 호스트 디바이스들은 네트워크 리소스들을 관련없는 전자 디바이스들과 자동으로 공유하기 위한 사용자 설정들을 포함할 수 있다. 이러한 사용자 설정들은 네트워크 대역폭의 리소스를 공유하기 위해 인센티브들 또는 사용자 보상들을 가능하게 할 수 있다. 일부 실시예들에서, 사용자는 다른 사람의 클라이언트 디바이스에 제공하기 위한 대역폭을 얼마나 많이 공유할지를 특정할 수 있다. 예를 들어, 사용자 설정들은 공유할 대역폭 또는 데이터의 양에 대한 한도들을 제공할 수 있다. 설정들은 호스트 디바이스의 가용 대역폭, 월별 데이터 한도들, 또는 호스트 디바이스의 다른 이러한 리소스 한정들에 기초할 수 있다.
I. 네트워크 대역폭 공유를 위한 디바이스들
소정 타입들의 전자 디바이스들은 종종, 사용자가 한 위치로부터 다른 위치로 이동함에 따라 효과적으로 또는 끊김없이 동작하는 셀룰러 데이터 서비스 또는 다른 광역 네트워크(WAN) 서비스를 갖지 않는다. 많은 경우들에 있어서, 이것은 이러한 디바이스들에 대한 크기 및/또는 전력 제한들로 인한 것이다. 이러한 서비스들을 위한 안테나들은 WiFi, 블루투스™(BT), 또는 다른 이러한 단거리 통신 시스템들에 의해 제공되는 로컬 영역 네트워크(LAN) 또는 근거리 연결들을 위한 안테나들보다 더 크다. WAN 네트워크 칩셋들 및 WAN 서비스 제공자들의 추가 비용들 및 크기는 또한 일부 전자 디바이스들에의 이러한 기능의 포함을 좌절시킬 수 있다. 이러한 기능을 소정 타입들의 전자 디바이스들, 예를 들어, 소형 디바이스들과 통합하기보다는, 실시예들은 호스트 디바이스를 통한 네트워크 통신을 가능하게 하기 위해 연결성 한정된 전자 디바이스의 LAN 기능을 이용할 수 있다. 따라서, 소형 전자 디바이스는 호스트 디바이스로부터 네트워크 액세스를 획득함에 있어서 클라이언트 디바이스로서 작동할 수 있다.
일부 실시예들에서, 소형 디바이스가 하나의 호스트 디바이스의 범위 밖으로 그리고 다른 호스트 디바이스의 범위 내로 이동함에 따라, 호스트 디바이스들의 충분한 커버리지를 이용하여, 클라이언트 디바이스는 (예를 들어, 중앙집중식 시스템에 의해 관리되는 호스트 디바이스들 간의 네트워크 통신 핸드오프(hand-off)들로) 네트워크 통신들로의 정상적인 액세스를 가질 수 있다. 네트워크 통신은 호스트 디바이스와 소형 전자 디바이스의 사용자들이 상이하더라도 자동적이고 보안된 방식으로 발생할 수 있다.
클라이언트 디바이스는 호스트 디바이스에 의해 공유되는 네트워크 대역폭의 혜택을 받는 디바이스들을 지칭한다. 이러한 디바이스들의 예로는 스마트 시계들, 아이팟(iPod)™ 디바이스들과 같은 음악 플레이어들, LAN 전용 건강상태 모니터들, 및 LAN 기능을 가진 다른 이러한 디바이스들을 포함한다.
호스트 디바이스는, 호스트 디바이스의 사용자와 연관되지 않은 클라이언트 디바이스를 포함하여, 소정의 클라이언트 디바이스에 네트워크 액세스를 제공하도록 구성될 수 있는 WAN 및 LAN 양쪽 모두의 기능을 가진 임의의 디바이스를 지칭한다. 스마트폰들은 이러한 호스트 디바이스의 일례이다. WAN 및 LAN 기능을 가진 모바일 액세스 포인트(AP)들, 랩톱 컴퓨터들, 또는 다른 이러한 디바이스들도 또한 호스트 디바이스들로서 기능할 수 있다.
A. 소스들, 호스트들, 및 클라이언트들의 시스템
다양한 사용자들의 디바이스들이 호스트 디바이스들로서 작동할 수 있다. 이러한 호스트 디바이스들은 네트워크의 게이트웨이(예를 들어, 셀룰러 타워)와 WAN 기능을 갖고 있지 않은 클라이언트 디바이스들 사이의 연결을 브리징(bridging)할 수 있다. 다양한 실시예들에서, 호스트 디바이스는 다양한 클라이언트 디바이스들에게 네트워크 액세스를 제공할 수 있고, 클라이언트 디바이스는 다양한 호스트 디바이스들로부터 네트워크 액세스를 획득할 수 있다.
도 1은 WAN 기능 없이 클라이언트 디바이스들에게 네트워크 액세스를 제공하기 위한 네트워크 대역폭 공유("데이터 공유"라고도 또한 지칭됨)의 구현을 예시하는 예시적인 시스템(100)을 도시한다. 도 1은 1차 데이터 소스(110), 2개의 호스트 디바이스들(120), 및 3개의 클라이언트 디바이스들(130)을 포함한다. 1차 데이터 소스(110)는 인터넷과 같은 WAN에 연결된 임의의 데이터 소스일 수 있다. 이러한 1차 데이터 소스들로는 셀 폰 타워들, 인공위성들, 네트워크 기능을 가진 고 고도 기구(high altitude balloon)들, 및 다른 이러한 네트워크 인프라스트럭처를 포함할 수 있다. 1차 데이터 소스(110)는 무선 LTE(long-term evolution) 셀룰러 통신들과 같은 WAN 연결을 통해 각각의 호스트 디바이스(120)와 직접 통신할 수 있다.
호스트 디바이스(120)가 네트워크 리소스들을 클라이언트 디바이스들(130)과 공유하도록 구성되는 경우, 호스트 디바이스(120) 및 클라이언트 디바이스(130)는 WiFi 또는 BT와 같은 무선 LAN(WLAN) 연결을 통해 통신할 수 있다. WLAN 연결은 호스트 디바이스(120) 또는 클라이언트 디바이스(130) 중 어느 하나에 의해 개시될 수 있다. 소정 실시예들에서, 클라이언트 디바이스(130)는 동시에 다수의 호스트들에 연결할 수 있다. 이것은, 예를 들어, 클라이언트 디바이스와 가용 호스트 디바이스들 사이의 상대 이동이 커서, 하나의 호스트 디바이스로의 임의의 연결이 짧거나 또는 불확실할 수 있을 때 발생할 수 있다. 유사하게, 단일 호스트는 한 번에 네트워크 대역폭을 다수의 클라이언트 디바이스들과 공유할 수 있다. 다양한 실시예들에서, 대역폭을 공유할 클라이언트 디바이스들의 수는 호스트 디바이스 사용자 설정에 의해 관리될 수 있거나, 고정된 수로서 선택될 수 있거나, 호스트 디바이스의 가용 대역폭에 기초하여 자동으로 계산될 수 있거나, 또는 임의의 다른 디바이스 설정에 기초하여 결정될 수 있다.
도 1이 셀룰러 연결인 것으로서 1차 데이터 소스(110)와 호스트 디바이스(들)(120) 사이의 연결의 예를 도시하지만, 다른 타입들의 연결들이 이용될 수 있다. 예를 들어, 1차 데이터 소스(110)와 호스트 디바이스(들)(120) 사이의 연결은 WiFi 연결일 수 있다. 1차 데이터 소스(110)와의 이러한 WiFi 연결은, 클라이언트 디바이스(130)가 갖고 있지 않을 수 있는, 특정 패스워드를 갖거나 또는 서비스 요금을 지불하는 것에 의해 획득될 수 있다. 따라서, 클라이언트 디바이스(130)가 1차 데이터 소스(110)에 연결할 능력을 갖는 경우라도, 클라이언트 디바이스(130)는 1차 데이터 소스(110)와 직접 연결하는 것이 가능하지 않을 수 있다.
B. 디바이스들의 근접성
호스트 디바이스들 및 클라이언트 디바이스들은 시간이 지남에 따라 분산되어 이동하고 있을 수 있다. 이것은 호스트 디바이스들 및 클라이언트 디바이스들의 사용자들이 상이할 때 특히 해당된다. 하나의 호스트 디바이스의 사용자는 하나의 클라이언트 디바이스와 동일할 수 있지만, 다른 클라이언트 디바이스들의 사용자와는 상이할 수 있다.
도 2는 다양한 위치들에서의 호스트 디바이스들 및 클라이언트 디바이스들을 예시하는 예시적인 블록 다이어그램이다. 도 2는 다수의 호스트 디바이스들(220) 및 클라이언트 디바이스들(230)과 함께 1차 데이터 소스(210)를 도시한다. 각각의 호스트 디바이스는 WLAN 통신들을 위한 유효 통신 거리를 나타내는 서비스 아크(service arc)들을 갖는 것으로 도시된다. 수평 축은 디바이스들 사이의 거리 및 1차 데이터 소스(210)로부터의 거리에 대응한다.
많은 환경들에서, 디바이스들은 평평한 지면 위에 있어서, 서비스가 본질적으로 호스트 디바이스(220) 주위의 원 내에서 제공되게 할 것이다. 그러나, 빌딩 내측에서 또는 다른 환경들에서, 데이터는 또한 호스트 디바이스(220)에 의해 공유 호스트 디바이스(220)보다 위에 있는 또는 아래에 있는 클라이언트 디바이스들(230)에게 공유될 수 있다. 도 2에 도시된 바와 같이, 공유 호스트 디바이스들(220)의 충분한 수 및 밀도로 인해, 정상적인 주기적 서비스, 거의 연속적인, 또는 심지어 연속적인 서비스가 클라이언트 디바이스들(230)에게 제공될 수 있다. 클라이언트 디바이스(230)가 이동함에 따라 다수의 호스트 디바이스들(220)에 의한 공유는 중앙집중식 시스템에 의해 관리될 수 있다.
C. 데이터 공유의 제한을 특정하기 위한 사용자 인터페이스
호스트 디바이스는 제1 사용자에 의해 제2 사용자의 클라이언트 디바이스에 네트워크 액세스를 제공하도록 구성될 수 있다. 제1 사용자는 제1 사용자가 영향받지 않는 한 클라이언트 디바이스에 이러한 네트워크 액세스를 제공할 수 있다. 이에 따라, 제1 사용자는 다양한 기준들에 따라 네트워크 액세스를 제한하기(예를 들어, 중단시키기, 한정하기, 또는 감소시키기)를 원할 수 있다. 제1 사용자가 네트워크 액세스를 제한하는 시기 및 방법에 대한 다양한 기준들을 선택하기 위해 사용자 인터페이스가 제공될 수 있다.
일부 실시예들에서, 이러한 사용자 인터페이스는 스마트 폰의 터치 스크린 입력에 의해 제공될 수 있다. 다른 실시예들에서, 네트워킹된 컴퓨터 또는 디바이스는 호스트 디바이스와는 별개인 이러한 사용자 인터페이스를 제공하고, 공유 선택들이 원격으로 선택되게 할 수 있다. 음성 커맨드와 같은 다른 사용자 인터페이스들이 또한 사용될 수 있다.
도 3은 클라이언트 디바이스에 네트워크 액세스를 제공하기 위한 호스트 디바이스의 예시적인 사용자 인터페이스(300)를 도시한다. 사용자 인터페이스(300)는 데이터 공유 입력(온/오프)(310), 대역폭 한도(320), 배터리 레벨 한도(330), 및 인센티브 선택(340)을 포함하는 다수의 사용자 선택들(공유 파라미터들)을 포함한다. 이러한 입력들은 네트워크 액세스가 클라이언트 디바이스들에게 제공되는 방법 및 시기를 제한하기 위해 사용자가 특정할 수 있는 공유 파라미터들의 예들이다. 공유 파라미터들의 다른 예로는 공유가 허용되거나 또는 허용되지 않을 때의 시각 및/또는 날짜들을 포함한다.
데이터 공유 입력(310)은 사용자가 네트워크 대역폭의 공유를 가능하게 하거나 또는 불가능하게 하는 온/오프 선택을 포함할 수 있다. 다양한 실시예들에서, 이러한 데이터 공유 입력은 오프 포지션, 온 포지션, 및 호스트 디바이스에 의해 사용되고 있는 리소스들에 기초하여 공유 옵션들을 자동으로 선택하는 동적 공유 포지션을 가질 수 있다. 이러한 리소스들은 호스트 디바이스에 의해 사용되고 있는 네트워크 대역폭의 양 및 사용된 전력량(예를 들어, 배터리 레벨)뿐만 아니라, 어떤 애플리케이션들이 사용되고 있는지를 포함할 수 있다. 예를 들어, 주요(critical) 애플리케이션들이 사용되고 있는 경우, 클라이언트 디바이스로의 네트워크 액세스가 제한될 수 있다. 이러한 주요 애플리케이션들은 사용자에 의해 지정될 수 있다. 예들로서, 이러한 주요 애플리케이션들이 사용될 때, 데이터 공유가 자동으로 턴 오프될 수 있거나 또는 공유를 위해 할당된 대역폭의 양이 그렇지 않으면 제공되었을 것보다 더 낮은 한도로 감소될 수 있다.
대역폭 한도(320)는 데이터 공유를 위해 사용가능한 호스트 디바이스의 가용 대역폭의 최대 퍼센티지를 특정하기 위해 사용될 수 있다. 예를 들어, 호스트 디바이스는 달성되는 최대 처리량을 테스트하기 위해 파일을 다운로드하거나 업로드함으로써, 또는 가용 최대 대역폭에 관한 인터넷 제공자로부터의 응답을 통해 최대 가용 대역폭을 결정할 수 있다. 도시된 바와 같이, 대역폭 슬라이더는 특정 퍼센티지를 선정할 수 있다. 특정 퍼센티지는 다양한 방법들로, 예를 들어, 숫자들을 입력함으로써 선택될 수 있다. 퍼센티지 이외에, 슬라이더는 좌측 단부에 0을, 그리고 우측 단부에 최대 가용 대역폭을 나타낼 수 있다. 선택된 대역폭은 수치적으로 디스플레이될 수 있다.
다른 실시예들에서, 최대 대역폭에 대한 특정 값이 입력될 수 있다. 이러한 특정 값은 가용 대역폭과는 독립적일 것이다. 예를 들어, 사용자는 500 Kbps, 1 Mbps, 2 Mbps, 또는 다른 값들을 특정할 수 있다. 따라서, 이러한 예에서, 공유를 위한 최대 대역폭은 가용 대역폭에 좌우되지 않을 수 있다.
일부 실시예들에서, 퍼센티지 및 특정 값이 결합될 수 있다. 예를 들어, 사용자는 공유된 대역폭이 가용 대역폭의 퍼센티지보다 더 크지 않고 대역폭의 특정 양보다 더 크지 않도록 특정할 수 있다. 어떤 값이 더 낮든지, 그 시간에서의 가용 대역폭을 고려하여, 공유할 최대 대역폭으로서 사용될 것이다.
다양한 실시예들에서, 순시 피크 대역폭 사용량, 지속된 대역폭 사용량, 또는 이들 양쪽 모두에 대해 적용될 수 있는 대역폭 한도가 특정될 수 있다. 지속된 대역폭 사용량은 특정된 시간에 걸친 것일 수 있다. 피크 및 지속된 대역폭 사용량에 대해 상이한 한도들이 제공될 수 있다.
대역폭 한도 이외에 또는 대역폭 한도에 더하여, 공유된 데이터 송신의 총량이 특정될 수 있다. 호스트 디바이스가 월별 데이터 한도와 같은 연관된 주기적 최대 데이터 허용량을 갖는 경우, 추가 선택은 공유를 위해 사용될 수 있는 이러한 데이터 캡의 최대 퍼센티지 또는 양의 선택을 가능하게 할 수 있다. 예를 들어, 호스트 디바이스는 WAN을 통해 통신될 수 있는 데이터의 양에 대해 월별 한도를 가질 수 있다. 호스트 디바이스의 사용자는 공유되는 데이터의 양을 한정하여, 그에 따라 데이터 공유가 중단될 때에 대한 한도를 특정하기를 원할 수 있다. 일부 실시예들에서, 공유되는 데이터의 양에 기초하여 호스트 디바이스의 어카운트(account)에 대해 월별 한도(데이터 용량의 일례)가 증가될 수 있고(예를 들어, 공유되는 양을 보충하기 위한 증가), 그에 따라 호스트 디바이스의 사용자는 공유되는 데이터의 양에 관심을 갖지 않을 수 있다.
배터리 레벨 한도(330)는 데이터 공유가 중단되거나, 자동으로 불가능하게 되거나, 또는 감소될 수 있는 배터리 레벨을 특정하기 위해 사용될 수 있다. 제공되는 공유의 상이한 레벨들에 대해 다수의 배터리 레벨들이 설정될 수 있다. 예를 들어, 일단 배터리 레벨이 특정된 배터리 레벨 미만으로 내려간다면, 공유될 대역폭의 양은 감소될 수 있다. 각각의 특정된 배터리 레벨에서, 공유될 대역폭의 양이 훨씬 더 감소될 수 있다. 대역폭 공유량(즉, 감소량)은 복수의 임계치 배터리 레벨들 각각에 대해 특정될 수 있다. 예를 들어, 50%의 배터리 레벨에서, 공유는 제1 대역폭 한도(예를 들어, 80%)로부터 제2 대역폭(예를 들어, 공유 중단을 위한 0% 또는 40%)으로 감소될 수 있다. 임의의 수의 레벨들이 제공될 수 있다. 일부 실시예들에서, 공유된 대역폭의 특정 기능 저하는 배터리 레벨의 함수로서 특정될 수 있다.
동적 공유 설정을 갖는 실시예에서, 네트워크 사용량 및/또는 데이터 공유에 관한 이력 정보는 대역폭 한도(320), 배터리 레벨 한도들(330), 또는 다양한 인자들에 기초한 다른 이러한 한도들을 자동으로 선택하기 위해 사용될 수 있다. 예를 들어, 호스트 디바이스는 호스트 디바이스에 의한 네트워크 사용량을 추적할 수 있고 소정 위치들 또는 시간들에서 호스트 디바이스가 다량의 대역폭을 사용하는 것을 결정할 수 있으며, 그에 따라 데이터 공유가 턴 오프될 수 있거나 또는 한도가 감소될 수 있다. 데이터 공유량이 또한 위치들 및 시간들에 대해서 추적될 수 있고, 특정 시간들 및 위치들에서 높은 데이터 공유가 재발하는 것으로 발견된 경우, 한도들이 감소될 수 있거나 또는 데이터 공유가 턴 오프될 수 있다.
이력 정보는 호스트 디바이스가 어느 정도의 네트워크 사용량을 사용할 수 있는지, 그리고 그에 따라 데이터 공유가 어떻게 제한되어야 하는지를 예측하기 위해 사용될 수 있다. 현재 네트워크 사용량이 또한 현재 인자들에 기초하여 예측될 수 있다. 예를 들어, 사용자는 데이터 전송을 위해 (예를 들어, 총 크기, 패킷들의 수, 또는 레이턴시(latency)에 있어서) 고성능을 요구하는 특정 애플리케이션을 사용하고 있을 수 있다. 이러한 애플리케이션은 주요 애플리케이션으로서 지정될 수 있다. 예시적인 인자들은 센서 데이터(예를 들어, GPS(Global Positioning System), 가속도계, 카메라 등), 사용자 입력들, 디바이스 위치, 또는 호스트 디바이스에 의한 데이터 공유를 제한하는 방법 및 시기를 결정하기 위해 사용될 수 있는 다른 이러한 정보를 포함한다.
추가 실시예들에서, 설정은 호스트 디바이스가 어떤 타입의 데이터를 공유할 것인지를 결정할 수 있게 할 수 있다. 예를 들어, 호스트 디바이스는 작은 데이터 패킷 푸시들 또는 알림(alert)들을 공유하도록 선택할 수 있지만, 멀티미디어 파일들, 사진들, 비디오 또는 다른 이러한 데이터 집약적인 통신들을 공유하는 것을 거절할 수 있다. 유사하게, 선택은 클라이언트 디바이스들로의 데이터 푸시들을 가능하게 할 수 있지만, 네트워크 상의 클라이언트 디바이스로부터 다른 디바이스로 데이터를 중계하는 것을 거부할 수 있다.
데이터 공유를 위한 사용자 인터페이스 선택들의 추가 예로는 호스트 디바이스가 갖는 네트워크 액세스의 타입에 기초한 설정들을 포함할 수 있다. 호스트 디바이스가 무선 연결에 대한 것보다 일반적으로 더 고속인 유선 연결을 통해 인터넷 또는 WAN에 연결되는 경우, 데이터 공유 선택들의 제1 세트가 사용될 수 있다. 호스트 디바이스가 셀룰러 연결에 대한 것보다 일반적으로 더 고속인 비-셀룰러 무선 연결(예를 들어, WiFi)을 통해 연결되는 경우, 데이터 공유 선택들의 제2 세트가 사용될 수 있다. 호스트 디바이스가 셀룰러 데이터 연결을 통해 연결되는 경우, 데이터 공유 선택들의 제3 세트가 사용될 수 있다.
인센티브 선택(340)이 또한 제공될 수 있다. 인센티브들은 네트워크 대역폭을 클라이언트 디바이스들 또는 다른 사용자들과 공유함으로써 얻어질 수 있다. 따라서, 인센티브들은 데이터 공유를 장려할 수 있다. 공유되는 데이터(공유되는 대역폭)의 양이 (예를 들어, 서버 컴퓨터에 의해) 모니터링될 수 있고, 인센티브들이 결정될 수 있다. 호스트 디바이스의 사용자에 의해 선택된 옵션들에 기초하여 상이한 인센티브들이 제공될 수 있다.
사용자 인터페이스(300)는 3개의 인센티브 선택 옵션들을 예시한다. 실시예들은 이 옵션들 중 임의의 하나 이상의 옵션, 또는 다른 옵션들을 포함할 수 있다. 제1 옵션은, 예를 들어, 미디어 또는 소프트웨어 애플리케이션들이 구매될 수 있는 상점 크레디트(store credit) 옵션(341)이다. 제2 옵션은, 예를 들어, 폰 서비스에 대한 무선 청구서와 같은, 호스트 디바이스에 대한 어카운트와 연관된 청구서에 대한 청구서 크레디트 옵션(342)이다. 제3 옵션은, 어카운트, 예를 들어, 크레디트/직불 카드 어카운트에 대한 크레디트이다. 어카운트 정보는 호스트 디바이스 상에 저장될 수 있다.
크레디트들은 다양한 형태들로 있을 수 있다. 위의 3개의 옵션들에서의 것들과 같은 현금 크레디트들 또는 다른 통화 크레디트들은 제공될 수 있는 하나의 타입의 크레디트이다. 크레디트들은 소정 상품에 대한 것일 수 있다. 예를 들어, 크레디트는 특정된 수의 노래들 또는 영화들, 또는 이러한 콘텐츠의 소정 값에 대한 것일 수 있다. 하나의 구현예에서, 이러한 콘텐츠는 충분한 데이터를 공유한 사용자들에게만 이용가능할 수 있다. 크레디트들은 할인들 또는 업그레이드들의 형태를 취할 수 있는데, 이들 양쪽 모두는 충분한 양의 데이터가 공유될 때 자동으로 구현될 수 있다. 공유되는 데이터의 양이 임계치에 대해 주기적으로(예를 들어, 월별로) 테스트되어 (예를 들어, 그 달에 대한 할인 또는 업그레이드를 위한) 그 기간 동안 특정된 인센티브들의 자격을 얻을 수 있다.
다른 실시예들에서, 호스트 디바이스에 의한 데이터 공유는 호스트 디바이스의 사용자의 다른 디바이스들에 대해 관련된 크레디트의 양을 제공할 수 있다. 예를 들어, 사용자는 또한 클라이언트 디바이스로서 작동할 수 있는 다른 디바이스를 가질 수 있다. 이 클라이언트 디바이스는 때때로 네트워크 액세스를 필요로 할 수 있고, 사용자는 그/그녀의 호스트 디바이스를 휴대하고 있지 않을 수 있다. 데이터를 다른 클라이언트 디바이스들과 공유함으로써, 사용자는, 그 사용자가, 다른 사용자들의 호스트 디바이스로부터 그/그녀의 클라이언트 디바이스에 대해 네트워크 액세스를 획득하게 하는 크레디트들을 얻을 수 있다. 이러한 방식으로, 사용자는 그/그녀가 네트워크 액세스를 공유한 정도로 네트워크 액세스를 획득할 수 있다. 추가 실시예들은 호스트 디바이스에 의한 데이터 공유에 기초하여 사용자 타이틀들 또는 소셜 네트워크 보상 계층(tier)들이 제공되는 소셜 네트워크 데이터 공유 인센티브를 제공할 수 있다.
직접적인 인센티브들에 더하여, 데이터 공유를 위한 지원이 네트워크 제공자에 의해 가능하게 될 수 있다. 이것은, 예를 들어, 호스트 디바이스와 연관된 데이터 한도들에 대한 데이터 공유를 카운팅하지 않는 것에 의해, 미사용된 데이터에 대해 더 관대한 롤오버 옵션들을 제공하는 것에 의해, (공유되는 대역폭의 양에 비례하여 증가될 수 있는) 데이터 한도를 증가시키는 것에 의해, 충분한 양의 데이터를 공유하는 사용자들에게 보다 큰 대역폭을 제공하는 것에 의해, 데이터를 공유하는 사용자들에 대해 더 빈번한 디바이스 업그레이드들을 제공하는 것에 의해, 또는 다른 이러한 인센티브들에 의해 행해질 수 있다.
다른 실시예들에서, 크레디트는 소셜 크레디트일 수 있다. 예를 들어, 소셜 네트워크는 사용자에 의해 제공된 공유량을 나타낼 수 있다. 그 양은 임의의 적합한 표시자, 예를 들어, 별 또는 다른 심벌, 숫자, 객체의 부분적 채워넣기 등에 의해 프로파일 페이지 상에서 나타낼 수 있다. 크레디트는 사용자에 의한 포스트들의 랭킹들을 증가시키도록 할 수 있는데, 예를 들어, 리뷰들에는 보다 높은 랭킹(우선순위)이 주어질 수 있다.
클라이언트 디바이스는 사용자 인터페이스(300)와 유사한 사용자 인터페이스를 가질 수 있다. 이러한 클라이언트 사용자 인터페이스는 클라이언트 디바이스가 공유된 데이터에 얼마나 자주 액세스하려고 시도하는지, 어떤 타입들의 데이터가 공유된 데이터를 사용하여 액세스되는지, 이러한 설정들과 연관된 전력 레벨들, 및 클라이언트 디바이스에 대한 임의의 다른 이러한 설정들을 결정할 수 있다.
클라이언트 디바이스들과 호스트 디바이스들 양쪽 모두는 디바이스가 다른 디바이스와 통신하는 방법 및 시기를 결정하기 위해 사용자 선택된 기준들(예를 들어, 우선순위들) 또는 자동 기준들(예를 들어, 우선순위들) 중 어느 하나를 가질 수 있다. 예를 들어, 2개의 디바이스들이 반대 방향으로 이동하고 있는 경우, 연결을 시도하는 것은 가치가 없을 수 있다. 또한, 어떤 호스트 디바이스가 최상의 연결을 제공할 것인지, 또는 역으로 호스트 디바이스가 어떤 클라이언트 디바이스에게 가장 신뢰성 있게 네트워크 액세스를 제공할 수 있는지를 결정하기 위해 메트릭(metric)이 사용될 수 있다. 이러한 기준들은 근접성, 신호 강도, 호스트 배터리 레벨들, 디바이스들 간의 상대 이동, 또는 임의의 다른 이러한 디바이스 정보에 기초할 수 있다. 데이터 공유를 위한 디바이스들의 프로비저닝(provisioning)의 태양들은 서버 컴퓨터, 예를 들어, 클라이언트 디바이스에 의해 검색될 데이터를 저장한 것 및/또는 클라이언트 디바이스로부터 데이터를 수신해야 하는 것에 의해 수행될 수 있다.
II. 데이터 공유를 위한 인프라스트럭처
일부 실시예들에서, 데이터 공유는 공유 디바이스 상에서 다른 디바이스를 명시적으로 셋업할 필요 없이 행해질 수 있다. 통상적으로, 사용자 인터페이스 상에서 테더링을 명시적으로 허용하고 네트워크 액세스를 얻기 위한 특정 디바이스를 특정할 필요가 있을 것이다. 위의 예들에서, 사용자는 일부 일반적 파라미터들만을 특정할 수 있고, 디바이스별로 액세스를 허용할 필요가 없을 수 있다. 이 섹션은 호스트 디바이스들에 의한 데이터 공유를 용이하게 하고 추적하기 위해 사용될 수 있는 예시적인 인프라스트럭처를 기술한다. 일부 구현예들에서, 인프라스트럭처는 클라이언트 디바이스들 및/또는 호스트 디바이스들의 인증을 제공할 수 있어서, 네트워크 액세스가 비인증된 디바이스들에게 제공되지 않거나 또는 비인증된 디바이스들로부터 획득되지 않도록 한다.
A. 중앙집중식 서버 제어 및 보안을 가진 시스템
도 4는 클라이언트 디바이스들에 대한 호스트 디바이스들에 의한 네트워크 대역폭 공유를 용이하게 할 수 있는 인프라스트럭처를 포함하는 예시적인 시스템(400)의 블록 다이어그램이다. 도시된 바와 같이, 시스템(400)은 아이덴티티(identity) 관리 인프라스트럭처(405)(예를 들어, 아이덴티티 관리 서비스, 인가 서비스, 및/또는 인증 서비스를 구현하는 하나 이상의 서버들), 콘텐츠 인프라스트럭처(410)(즉, 음성/영상 통화 서비스, 메시징 서비스, 및/또는 푸시 통지 서비스를 구현하는 하나 이상의 서버들), 호스트 디바이스(415), 클라이언트 디바이스(420), 사용자 디바이스(425), 제공자(430), 제공자(435), 및 통신 네트워크(440)를 포함한다. 도시된 바와 같이, 아이덴티티 관리 인프라스트럭처(405), 콘텐츠 인프라스트럭처(410), 호스트 디바이스(415), 클라이언트 디바이스(420), 사용자 디바이스(425), 제공자(430), 및 제공자(435)는 각각 통신 네트워크(440)(인터넷, 광역 네트워크들, 대도시 영역 네트워크(MAN)들, 로컬 영역 네트워크(LAN)들, 무선 영역 네트워크(WiLAN)들, 무선 액세스 네트워크(RANs), 공중 교환 전화 네트워크(PTSN) 등, 및/또는 이들의 조합들을 나타냄)와 그리고 그 통신 네트워크를 통해 통신하는 것이 가능하다. 도시된 바와 같이, 호스트 디바이스(415)는, 예를 들어, 데이터 공유 연결의 일부로서, 통신 네트워크(440)를 활용하는 일 없이 클라이언트 디바이스(420)와 직접 통신할 수 있다. 호스트 디바이스(415) 또는 클라이언트 디바이스(420)에 의해 이루어진 특정 연결들은 사용자 선택들 및 특정 디바이스들의 위치에 기초하여 시간이 지남에 따라 변할 수 있다.
1. 아이덴티티 관리 인프라스트럭처
아이덴티티 관리 인프라스트럭처(405)는 콘텐츠 인프라스트럭처(410)와 같은 시스템들 내의 또는 그 시스템들에 걸친 개별적인 엔티티(entity)들, 이들의 인증, 인가, 및 권한들의 관리를 제공할 수 있다. 아이덴티티 관리 인프라스트럭처(405)는 다양한 실시예들에서 단일 서버 컴퓨터 시스템을 사용하여 구현될 수 있거나 또는 다수의 서버 컴퓨터 시스템들, 웹 서버들, 애플리케이션 서버들, 네트워크들, 상호연결부들 등을 포함할 수 있다. 아이덴티티 관리 인프라스트럭처(405)에 의해 제공되는 아이덴티티 관리 서비스들은 액티브 디렉토리, 아이덴티티 제공자들, 패스워드 관리자들, 액세스 제어 제공자들, 싱글 사인온(single sign-on, SSO) 서비스들, OAuth, 보안 토큰 서비스들 등과 같은 기술들 및 서비스들을 포함할 수 있다. 이러한 태양들은 디바이스들이 데이터 공유 시스템의 일부로서 안전하고 보안성 있게 동작할 수 있다고 호스트 및 클라이언트 디바이스들이 신뢰할 수 있도록, 호스트 및 클라이언트 디바이스들이 아이덴티티 정보 및 인증을 제공할 수 있게 하기 위한 보안을 제공할 수 있다.
아이덴티티 관리 인프라스트럭처(405)는 (사용자, 조직, 및 임의의 연관된 디바이스들, 리소스들, 서비스들, 애플리케이션들 등과 같은) 관리되는 엔티티의 아이덴티티를 인증하는 정보를 유지할 수 있다. 엔티티의 인증은 특정 디바이스에 대한 것일 수 있거나 또는 엔티티가 사용할 수 있는 다양한 디바이스들에 대해 인증하도록 동작가능할 수 있다. 인증이 특정 디바이스에 대한 것일 때, 아이덴티티 관리 인프라스트럭처(405)에 의해 유지되는 정보는 디바이스 식별자(예를 들어, 클라이언트 디바이스를 식별하는 클라이언트 식별자)를 포함할 수 있다. 디바이스 식별자의 예로는 아이덴티티 관리 인프라스트럭처(405)에 의해 할당된 임의의 고유 값(예를 들어, 토큰, 키, 인증서, 또는 고유 사용자 명칭), 매체 액세스 제어 어드레스(MAC 어드레스), 클라이언트 디바이스의 일련 번호 등, 및 이들의 조합들을 포함한다.
아이덴티티 관리 인프라스트럭처(405)는 패스워드, 지문과 같은 생체인식들, 터치스크린 상의 제스처 패턴과 같은 구별되는 거동, 시도-응답 프로토콜들, 일회용 패스워드(OTP)들, 5-방향 인증들, 및/또는 다른 기법들을 이용하여 엔티티가 엔티티가 주장하는 사람/사물인 것을 검증할 수 있다. 아이덴티티 관리 인프라스트럭처(405)는 엔티티가 특정 애플리케이션, 서비스, 또는 리소스의 맥락에서 수행할 수 있는 동작들이 무엇인지를 정의하는 인가 정보를 추가로 관리할 수 있다. 일부 인가들은 관리되는 엔티티와 연관된 역할, 디바이스 타입, 애플리케이션, 애플리케이션 타입 등에 기초할 수 있다. 사용자들은 특정 작업 또는 작업 기능과 종종 관련된 역할들을 승인받는다. 아이덴티티 관리 인프라스트럭처(405)는 또한 관리되는 엔티티들에 관한 서술 정보 및 어떻게 그리고 누구에 의해 그 정보가 액세스 및 수정될 수 있는지를 관리할 수 있다.
아이덴티티 관리의 일부로서, 하나 이상의 호스트 디바이스들은 식별되고 하나 이상의 클라이언트 디바이스들과 연관될 수 있어서, 데이터 공유 또는 인센티브 정보가 디바이스들에 의해 공유되게 할 수 있다. 유사하게, 특정 아이덴티티를 갖는 호스트 디바이스들 및 상이한 아이덴티티를 갖는 클라이언트 디바이스들이 데이터 공유 시스템 내의 소정 기능을 위해 프로비저닝될 수 있어서, 클라이언트 디바이스는 호스트 디바이스로부터의 데이터를 요청하도록 허용되는 아이덴티티를 가질 수 있고, 호스트 디바이스들은 데이터를 공유하도록 허용되는 아이덴티티를 갖는다. 소정 실시예들에서, 단일 디바이스가 공유된 데이터를 공유하는 것과 수신하는 것 양쪽 모두를 행하도록 인가될 수 있다. 이것은, 예를 들어, 호스트 디바이스가 주기적 데이터 할당을 완전히 이용했을 때 발생할 수 있어서, 호스트 디바이스가 그 주기의 지속기간 동안 더 많은 데이터를 공유하지 않을 수 있지만, 다른 호스트 디바이스로부터의 데이터 공유를 요청하게 할 수 있다.
아이덴티티 관리 인프라스트럭처(405)는 관리되는 엔티티들에 대한 하나 이상의 디지털 아이덴티티들을 생성할 수 있다. 디지털 아이덴티티는 엔티티 식별 정보(개인적으로 식별가능한 정보 또는 PII) 및 부수적인 정보를 포함할 수 있다. 관리되는 엔티티는 다수의 디지털 아이덴티티들을 가질 수 있고 각각의 디지털 아이덴티티는 다수의 속성들을 포함할 수 있다. 사용자는 다수의 디바이스들에 링크되는 사용자 식별자(예를 들어, 전화 번호, 이메일 등)를 가질 수 있다. 디지털 아이덴티티들의 생성, 삭제, 수정에 더하여, 아이덴티티 관리 인프라스트럭처(405)는 콘텐츠 인프라스트럭처 서비스(410)와 같은 서비스들에 의한 사용을 위해 부수적인 엔티티 데이터를 관리할 수 있다.
아이덴티티 관리 인프라스트럭처(405)는 사용자 식별자와 연관된 각각의 디바이스의 능력들을 저장할 수 있다. 디바이스 능력들의 예로는 디바이스가 특정 타입 또는 버전의 하드웨어를 포함하는지 여부; 디바이스가 특정 타입 또는 버전의 소프트웨어(예를 들어, 운영 체제들 또는 애플리케이션들)를 포함하는지 여부; 디바이스가 전화를 걸고 받는 것 또는 단문 메시지 서비스(SMS)/멀티미디어 메시지 서비스(MMS) 메시지들을 전송 및 수신하는 것과 같은 특정 기능을 수행하는 것이 가능한지 여부; 디바이스가 다른 디바이스들과의 연결들을 유지하는 것이 가능한지 여부; 등이 있다. 사용자와 연관된 디바이스들의 리스트는 동일한 사용자 식별자와 연관될 때, 호스트 디바이스(415) 및 클라이언트 디바이스(420)와 같은, 그 사용자의 임의의 다른 디바이스로 전송되고 그 임의의 다른 디바이스에 저장될 수 있다. 아이덴티티 관리 인프라스트럭처(405)는 디바이스가 등록되고 사용자 식별자와 연관될 때 디바이스의 능력들을 결정 및 수집할 수 있다. 아이덴티티 관리 인프라스트럭처(405)는, 예를 들어, 디바이스가 아이덴티티 관리 인프라스트럭처(405)에 의해 관리되는 하나 이상의 서비스들과 통신하거나 또는 이들을 재등록할 때 주기적으로 디바이스의 능력들을 업데이트할 수 있다. 이러한 아이덴티티 기능의 일부로서, 아이덴티티는 아이덴티티를 공유하는 다수의 디바이스들에 대해 공유되는 데이터 또는 소비되는 공유된 데이터에 기초하여 공유 인센티브들을 제공할 수 있다.
아이덴티티 관리 인프라스트럭처(405)는 사용자 식별자와 연관된 디바이스들에 대한 디바이스 식별자들을 결정하기 위해 사용되는 단일 사용자 식별자를 수신할 수 있다. 엔티티 등록 동안, 아이덴티티 관리 인프라스트럭처(405)에 의해 관리되는 서비스들 또는 리소스들에 액세스하기 위해, 하나 이상의 사용자 또는 다른 식별자들 및 고유 엔티티 또는 디바이스 식별자(UID)가 결합되어 엔티티 또는 디바이스 토큰을 생성할 수 있다. 다양한 실시예들에서, 토큰은 해싱 알고리즘(예를 들어, SHA-0, SHA-1, SHA-2, MD5, 월풀(Whirlpool), 또는 다른 해싱 알고리즘들)을 적용함으로써 암호화된다. 엔티티에 대해 생성되고 암호화된 토큰은 다양한 실시예들에서 일정하게 유지될 수 있다. 일단 토큰이 아이덴티티 관리 인프라스트럭처(405)에 의해 생성되고 암호화되었다면, 토큰은 엔티티로 다시 전송될 수 있다. 이어서, 일부 태양들에서, 엔티티는 제3자들에 의한 엔티티로의 콘텐츠의 신뢰된 전달 또는 이들 관리되는 서비스들 또는 리소스들에서의 엔티티의 인증, 인가, 어카운팅 등에 관련된 다양한 목적들을 위해 아이덴티티 관리 인프라스트럭처(405)에 의해 관리되는 서비스들 또는 리소스들 또는 다른 제3자 서비스들로 토큰을 분배할 수 있다. 이어서, 이 정보는 디바이스들이 데이터 공유를 위해 연결할 때 초기 핸드셰이크의 일부로서 호스트 디바이스들 및 클라이언트 디바이스들에 의해 사용될 수 있다. 따라서, 이러한 정보는 호스트 디바이스와 클라이언트 디바이스 사이의 연결이 데이터 공유를 위해 발생할 때마다 사용자 인터페이스에서 사용자 입력들에 대한 필요 없이도 끊김없는 데이터 공유를 가능하게 할 수 있다. 이것은 다수의 상이한 방법들로 구현될 수 있지만, 이러한 끊김없는 연결성은 클라이언트 및 호스트 디바이스들 양쪽 모두의 하드웨어와 소프트웨어가 데이터 공유 시스템의 일부로서 알려져 있고 동기화될 때 특히 보안되어, 데이터를 새롭고 관련없는 디바이스와 공유할 때 보안을 제공할 수 있다.
2. 콘텐츠 인프라스트럭처
콘텐츠 인프라스트럭처(410)는 아이덴티티 관리 인프라스트럭처(405)에 의해 관리되는 엔티티들에 의해 보호되고/되거나 그들 엔티티들에 액세스가능할 수 있다. 콘텐츠 인프라스트럭처(410)는 다양한 실시예들에서 단일 서버 컴퓨터 시스템을 사용하여 구현될 수 있거나 또는 다수의 서버 컴퓨터 시스템들, 웹 서버들, 애플리케이션 서버들, 네트워크들, 상호연결부들 등을 포함할 수 있다.
콘텐츠 인프라스트럭처(410)는 호스트 디바이스(415), 클라이언트 디바이스(420), 및 사용자 디바이스(425)뿐만 아니라 다른 디바이스들 및 엔티티들에게 콘텐츠를 제공할 수 있다. 콘텐츠의 예로는 텍스트 메시지, 멀티미디어 메시지, 임박한 캘린더 이벤트, (예를 들어, VOIP를 사용하는) 오디오/영상 통화, 또는 원격 서버 상의 새로운 데이터의 통지를 포함한다. 일부 실시예들에서, 콘텐츠는 아이덴티티 관리 인프라스트럭처(405)에 의해 관리되거나 또는 콘텐츠 인프라스트럭처(410)에 의해 직접 제공되는 하나 이상의 소스들로부터 유래할 수 있다. 다른 실시예들에서, 콘텐츠는 다른 소스들로부터 유래할 수 있다. 예를 들어, 콘텐츠는 호스트 디바이스(415), 클라이언트 디바이스(420), 사용자 디바이스(425), 및 제공자들(430, 435) 중 임의의 것으로부터 유래할 수 있다. 다양한 실시예들에서, 이 타입들의 콘텐츠 중 임의의 것 또는 전부는 데이터 공유 시스템의 일부로서 호스트 디바이스(415)에 의해 클라이언트 디바이스(420)와 공유될 수 있다. 특정 디바이스에서의 사용자 선택들은 사용자 선택들에 기초하여 이러한 콘텐츠의 소정 타입들에 대한 공유를 한정할 수 있다.
다른 예에서, 콘텐츠는 인터넷, 셀룰러 네트워크들, 공중 교환 전화 네트워크들 등과 같은 다른 소스들로부터 수신될 수 있다. 이어서, 콘텐츠 인프라스트럭처(410)는 콘텐츠를 호스트 디바이스(415), 클라이언트 디바이스(420), 사용자 디바이스(425), 및 제공자들(430, 435)로 라우팅할 수 있다. 일부 실시예들에서, 콘텐츠 인프라스트럭처(410)는 셀룰러 네트워크로부터 수신되거나 또는 셀룰러 네트워크로 예정된 SMS 메시지를 인프라스트럭처를 통해 라우팅할 수 있다. 다른 실시예들에서, 콘텐츠 인프라스트럭처(410)는 공중 교환 전화 네트워크로부터 수신되거나 또는 공중 교환 전화 네트워크로 예정된 음성 통화를 인프라스트럭처를 통해 라우팅할 수 있다.
일부 실시예들에서, 콘텐츠 인프라스트럭처(410)는, 적절할 때, 하나 초과의 디바이스로 콘텐츠를 전송할 수 있다. 사용자는 사용자 디바이스(425) 및 클라이언트 디바이스(420) 양쪽 모두와 연관될 수 있다. 콘텐츠 인프라스트럭처(410)는 사용자 디바이스(425) 및 클라이언트 디바이스(420) 양쪽 모두로 콘텐츠를 라우팅할 수 있다. 사용자 디바이스(425)는 통신을 직접 수신할 수 있고, 클라이언트 디바이스(420)는 데이터 공유 링크의 일부로서 호스트 디바이스(415)를 통해 통신을 수신할 수 있다. 따라서, 스마트 시계와 같은 디바이스는, 스마트 시계가 공유된 데이터를 수신할 수 있는 한, 스마트 시계가 WAN에 연결되지 않고 통화를 수신하고 있는 폰으로부터 원거리에 있는 경우라도 착신 전화 통화 통지를 수신할 수 있다. 다른 실시예들에서, 콘텐츠는 단지 하나의 디바이스로, 예를 들어, 통신을 클라이언트 디바이스(420)로 포워딩할 수 있는 사용자 디바이스(425)로 전송된다. 이어서, 아이덴티티를 사용자 디바이스(425)와 공유할 수 있는 클라이언트 디바이스(420)는 관련없는 호스트 디바이스(415)와의 데이터 공유를 통해 포워딩된 통신을 수신할 수 있다.
일 태양에서, 콘텐츠는 데이터의 하나 이상의 조각들, 예컨대 페이로드 및 위에서 논의된 것과 같은 디바이스 식별자(또는 토큰)를 포함할 수 있다. 제공자가 콘텐츠 인프라스트럭처(410)를 사용하여 전달하려고 시도한 임의의 페이로드와 함께, 디바이스 토큰이 제공자(예를 들어, 제공자(430 및/또는 435)), (예를 들어, 호스트 디바이스(415) 또는 클라이언트 디바이스(420) 중 어느 하나로부터의) 동일한 사용자의 디바이스, 또는 다른 사용자의 디바이스(예를 들어, 사용자 디바이스(425))로부터 유래하는 콘텐츠에 제공될 수 있다. 디바이스 토큰은, 콘텐츠 인프라스트럭처(410)가 특정 서비스 또는 클라이언트 애플리케이션이 인스톨되는 디바이스를 위치시킬 수 있게 하고 콘텐츠를 수신하도록 등록되는 정보를 포함할 수 있다. 페이로드는 서버 애플리케이션에서 수신된 새로운 정보 또는 그 정보가 발견되어야 하는 곳에 대한 레퍼런스(reference)를 포함할 수 있다. 페이로드는 특정 서비스 또는 클라이언트 애플리케이션에 의해 이 새로운 정보에 관해 사용자에게 어떻게 알려야 하는지를 특정하는 속성 리스트를 추가로 포함할 수 있다.
소정 실시예들에서, 콘텐츠 인프라스트럭처(410)는 다수의 호스트들과의 데이터 공유를 이용하여 단일 클라이언트 디바이스에 통신들을 제공하는 하나 이상의 통신들을 관리하기 위해 디바이스 토큰을 사용할 수 있다. 이것은, 호스트 디바이스가 단지 짧은 기간 동안만 공유하는 것이 가능하도록, 공유를 위해 이용가능한 호스트 디바이스들만이 클라이언트 디바이스에 관련하여 이동하고 있을 때 발생할 수 있다. 예를 들어, 이것은 3초 또는 4초일 수 있거나, 또는 1초 미만일 수 있다. 이러한 실시예들에서, 콘텐츠 인프라스트럭처(410)는, 호스트 디바이스들 중 하나가 클라이언트 디바이스의 범위 내에 있고 데이터가 호스트에게 통신된 후에 데이터 공유를 통해 데이터를 클라이언트 디바이스로 전송하는 것이 가능할 것이라는 예측에 기초하여, 클라이언트 디바이스의 범위 내에 있을 수 있거나 또는 있지 않을 수 있는 다수의 디바이스들로 데이터를 전송할 수 있다.
일부 실시예들에서, 콘텐츠 인프라스트럭처(410)는 호스트 및 클라이언트가 데이터 공유를 위한 범위 내에 있을 때를 예측하기 위해 GPS 데이터 또는 다른 위치 데이터를 사용할 수 있고, 이 예측에 기초하여 클라이언트 디바이스와 공유하기 위해 데이터를 호스트 디바이스에게 통신할 것이다. 따라서, 양방향 통신들의 경우, 클라이언트 디바이스와의 통신의 제1 부분은 호스트 디바이스가 데이터를 공유하는 것으로 발생할 수 있고, 호스트 디바이스가 클라이언트 디바이스와의 데이터 공유를 위해 범위 밖으로 이동함에 따라, 콘텐츠 인프라스트럭처(410)는 상이한 호스트 디바이스(데이터를 클라이언트 디바이스와 공유할 수 있음)를 사용하여 발생하는 데이터의 통신의 제2 부분을 관리하여 2개 이상의 부분들에서 통신을 완료할 수 있다. 이것은 단일 클라이언트 디바이스와의 통신을 완료하기 위해 2개, 3개, 4개, 또는 임의의 수의 호스트 디바이스들이 콘텐츠 인프라스트럭처(410)에 의해 관리되는 것으로 발생할 수 있다.
소정 실시예들에서, 클라이언트 디바이스에 대한 호스트 디바이스로부터의 데이터 공유는 소량의 시간(예를 들어, 대략 수 밀리초, 수십 밀리초, 또는 수백 밀리초)에 완료될 수 있는 저 대역폭 알림 통신들에 포커싱될 수 있다. 알림은 다양한 형태들로 올 수 있다. 일례에서, 콘텐츠는 클라이언트 디바이스의 사용자에게 알림 메시지 또는 다른 시각적 표현, 예컨대 애플리케이션 아이콘과 연관된 배지(badge)로서 디스플레이될 수 있다. 알림 또는 배지가 나타날 때 소리를 재생함으로써 콘텐츠의 가용성이 추가로 알려질 수 있다. 애플리케이션이 메시지, 이벤트, 또는 다른 콘텐츠 데이터를 갖고 있다는 것이 사용자에게 통지될 때, 사용자는 애플리케이션을 기동하고, 콘텐츠를 뷰잉하는 것, 푸시 통지에 포함된 정보를 뷰잉하는 것, 클라이언트 애플리케이션이 참조된 정보를 검색하게 하는 것 등 중 어느 하나에 의해 상세사항들을 볼 수 있다. 사용자는 또한 통지를 무시하도록 선정할 수 있고, 그 경우 애플리케이션은 활성화되지 않는다. 따라서, 데이터 공유는, 소정 실시예들에서, 공유 호스트 디바이스를 통해 클라이언트 디바이스로 알림으로서 전송된 소량의 데이터를 수반할 수 있고, 공유된 데이터는 클라이언트 디바이스 상에서 알림을 활성화시킨다. 이어서, 클라이언트 디바이스의 사용자 인터페이스가 제시되어 애플리케이션을 활성화시키거나, 또는 데이터 공유를 통한 응답 통신을 개시할 수 있다. 알림을 클라이언트 디바이스에게 통신하기 위해 사용된 데이터 공유 연결이 여전히 이용가능한 경우, 동일한 연결이 사용되어 응답을 통신할 수 있다. 연결이 이용가능하지 않은 경우, 동일한 호스트 또는 새로운 호스트로 새로운 데이터 공유 연결이 확립될 수 있다. 데이터 공유 호스트 디바이스가 이용가능하지 않은 경우, 새로운 데이터 공유 연결이 이용가능할 때까지 클라이언트 디바이스에서 응답이 대기될 수 있다.
콘텐츠 인프라스트럭처(410)는, 새로운 콘텐츠가 하나 이상의 서버 애플리케이션들에서 이용가능하거나, 디바이스 상에 있거나, 또는 착신되고 있다는 것을 사용자들이 알게 하는 능력을 클라이언트 애플리케이션들에게 부여하는 메커니즘들을 구현하는 푸시 통지 서비스들을 포함할 수 있다. 본 명세서에서 사용되는 것과 같은 푸시 제공자(또는 단순히 제공자)는 푸시 통지 인프라스트럭처를 사용하여 포워딩 및/또는 전달될 정보를 갖는 엔티티를 지칭할 수 있다. 일반적으로, 소프트웨어 개발자들(제공자들로서 작동함)은 새로운 데이터가 사용자들에게 이용가능할 때 이들의 서버 소프트웨어에서 통지들을 발신한다. 제공자는 지속적이고 보안된 채널을 통해 그의 서버 소프트웨어를 콘텐츠 인프라스트럭처(410)와 연결한다. 아이덴티티 관리 인프라스트럭처(405)는 제공자가 (예를 들어, 제공자가 제공자라고 주장하는 사람인 것이) 인증되고 인가되어 신뢰된 방식으로 콘텐츠 인프라스트럭처(410)를 연결하고 활용한다는 것을 보장할 수 있다.
그의 클라이언트 애플리케이션들에 대해 의도된 착신 데이터를 모니터링하는 동안, 애플리케이션에 대한 새로운 데이터가 도달할 때, 제공자는 콘텐츠 인프라스트럭처(410)로의 그의 채널 연결을 통해 통지를 준비 및 전송할 수 있고, 그 콘텐츠 인프라스트럭처는 통지를 푸시 소비자 또는 목적지 타깃 디바이스에 푸시한다. 아이덴티티 관리 인프라스트럭처(405)는 또한 소비자 또는 목적지 타깃 디바이스가 인증되고 인가되어 신뢰된 방식으로 콘텐츠 인프라스트럭처(410)의 서비스들에 연결하고 이 서비스들을 활용한다는 것을 보장할 수 있다. 푸시 소비자(또는 단순히 소비자 또는 목적지)는 콘텐츠 인프라스트럭처(410)를 사용하여 포워딩 및/또는 전달된 정보를 수신하도록 지정된 엔티티를 지칭할 수 있다. 추가적으로, 호스트 디바이스(415)는 클라이언트 디바이스(420)에 대한 콘텐츠의 제공자일 수 있고 그 반대의 경우일 수 있으며, 게다가 제공자(435)로 콘텐츠를 제공하는 제공자(430)일 수 있고 그 반대의 경우일 수 있다.
콘텐츠 인프라스트럭처(410)의 동작의 일례에서, 하나 이상의 서버 컴퓨터들은 제공자(430), 제공자(435), 호스트 디바이스(415), 클라이언트 디바이스(420), 및 사용자 디바이스(425) 사이에서 정보를 전파하기 위해 푸시 통지 서비스를 제공하고, 프로비저닝하고, 관리하고, 그리고 달리 동작시킨다. 각각은 콘텐츠 인프라스트럭처(410)와의 적어도 하나의 지속적 연결(예를 들어, 승인되고 암호화된 인터넷 프로토콜(IP) 연결)을 확립하여 이 지속적 연결을 통해 콘텐츠를 발신 및/또는 수신할 수 있다. 연결들은 아이덴티티 관리 인프라스트럭처(405)에 의해 인증 및 인가될 수 있다.
애플리케이션이 실행하고 있지 않을 때 사용자의 디바이스와 연관된 애플리케이션에 대해 콘텐츠 인프라스트럭처(410)에 의해 전달된 통지가 도달한 경우, 사용자의 디바이스는 애플리케이션이 대기 중인 데이터를 갖고 있다는 것을 사용자에게 알릴 수 있다. 콘텐츠 인프라스트럭처(410)는 또한 저장-포워딩(store-and-forward) 능력들을 제공하는 디폴트 서비스 품질 컴포넌트를 제공할 수 있다. 콘텐츠 인프라스트럭처(410)가 통지를 전달하려고 시도하지만 타깃 디바이스가 오프라인인 경우, 통지는 한정된 기간 동안 저장될 수 있고, 이용가능해질 때 디바이스로 전달될 수 있다. 일부 실시예들에서, 특정 애플리케이션에 대한 모든 최근 통지들이 저장된다. 다른 실시예들에서, 특정 애플리케이션에 대한 단지 하나의 최근 통지만이 저장된다. 예를 들어, 디바이스가 오프라인인 동안에 다수의 통지들이 전송되는 경우, 각각의 새로운 통지는 이전 통지를 폐기시킨다. 가장 최신의 통지만을 보관하는 이러한 거동은 통합 통지(coalescing notification)들이라고 지칭된다. 다른 실시예들에서, 디바이스가 장시간 동안 오프라인으로 유지되는 경우, 디바이스에 대해 저장되고 있었던 임의의 통지들이 폐기될 수 있다.
3. 인센티브들
소정 실시예들에서, 인센티브들은 콘텐츠 인프라스트럭처(410), 아이덴티티 관리 인프라스트럭처(405), 또는 별개의 인센티브 관리 컴퓨터에 의해 관리될 수 있다. 호스트 디바이스에 의해 공유되는 데이터의 양은 이러한 시스템에 의해 식별될 수 있고, 연관된 인센티브는 호스트 디바이스 또는 아이덴티티를 호스트 디바이스와 공유하는 다른 사용자 디바이스에게 통신될 수 있다. 소정 실시예들에서, 인센티브는, 예를 들어 공유되는 실제 데이터량 이외에, 데이터 공유의 다른 태양들에 대해 제공될 수 있다. 예를 들어, 공유가 클라이언트 디바이스에 의해 활용되지 않는 경우라도, 데이터 공유를 턴 온시키기 위해 인센티브가 제공될 수 있다. 호스트 디바이스의 데이터 공유에 관한 정보를 수신하고 연관된 인센티브를 사용자에게 통신하는 데이터베이스 및 인센티브 통신 시스템들은 그에 따라 다양한 시스템들과 통합되어 데이터 공유를 위한 중앙 관리 시스템을 제공할 수 있다. 이러한 시스템들은 다수의 호스트 디바이스들 또는 다수의 클라이언트 디바이스들에 걸친 데이터 공유를 관리할 수 있는 통신 관리 시스템들과 추가적으로 통합될 수 있다.
또 다른 실시예들에서, 인센티브들은 특정 클라이언트 애플리케이션에 의해 후원되어 클라이언트의 특정 애플리케이션에 대한 데이터 공유를 가능하게 할 수 있다. 예를 들어, 클라이언트 디바이스는 클라이언트 디바이스로 업데이트 알림들을 전송하기 위한 업데이트 알림 설정들을 포함하는 소셜 네트워크 어카운트를 가질 수 있다. 소셜 네트워킹 애플리케이션의 제공자는, 클라이언트 디바이스가 데이터 공유를 이용하여 클라이언트 디바이스 상에서 동작하는 특정 애플리케이션과 연관된 통신들을 수신할 수 있도록, 그 특정 애플리케이션에 대한 알림들을 후원할 수 있다. 제공자는 호스트 디바이스에 대한 인센티브를 펀딩 또는 생성할 수 있고, 클라이언트 디바이스는 클라이언트 디바이스의 사용자에 대한 어떠한 비용 없이도 데이터 공유를 수신하는 것이 가능할 수 있다. 다른 실시예들에서, 광고들, 또는 사용자 지불들은 클라이언트 디바이스의 사용자에 대한 비용으로서 데이터 공유와 연관되어 사용될 수 있다. 애플리케이션과 연관된 특정 데이터의 통신은 클라이언트 디바이스 양쪽 모두에 의해 선택될 수 있고, 이때 다른 타입들의 데이터가 차단된다. 이러한 차단은 콘텐츠 인프라스트럭처(410), 호스트 디바이스(415), 또는 클라이언트 디바이스(420)에서 생성될 수 있다. 이에 따라, 네트워크 액세스를 제한하는 것은 하나 이상의 클라이언트 디바이스들에 대해 데이터의 하나 이상의 타입들을 통신하지 않는 것을 포함할 수 있다.
대안적으로, 사용자의 호스트 디바이스에 의한 데이터 공유는 클라이언트 디바이스에 대한 사용자에 의해 이용되는 데이터 공유를 보충할 수 있다. 또 다른 실시예들에서, 클라이언트 디바이스는 클라이언트 디바이스의 구매의 일부로서 데이터 공유를 연관시킬 수 있다. 콘텐츠 인프라스트럭처(410)에 의해 관리되는 호스트 디바이스들의 네트워크의 일부로서 데이터 공유의 수명을 제공하기 위해 선취 수수료가 클라이언트 디바이스의 판매 가격의 일부로서 포함될 수 있다.
4. 콘텐츠 제공자들
제공자(430) 및 제공자(435)는 다양한 실시예들에서 단일 서버 컴퓨터 시스템을 사용하여 구현될 수 있거나 또는 다수의 서버 컴퓨터 시스템들, 웹 서버들, 애플리케이션 서버들, 네트워크들, 상호연결부들 등을 포함할 수 있다. 다양한 태양들에서, 제공자(430) 및 제공자(435)는 호스트 디바이스(415), 클라이언트 디바이스(420), 및 사용자 디바이스(425) 상에서 실행되는 클라이언트 애플리케이션들, 및 그 클라이언트 애플리케이션들이 연결할 수 있는 하나 이상의 서비스들을 제공하는 서버 애플리케이션들을 제공할 수 있다. 제공자(430) 및 제공자(435)는 호스트 디바이스(415), 클라이언트 디바이스(420), 및 사용자 디바이스(425) 중 하나 이상에 액세스가능한 클라이언트 애플리케이션들에게 정보가 이들의 각각의 사용자들에게 이용가능하다는 것을 통지하려고 시도할 수 있다.
일 태양에서, 푸시 제공자는 호스트 디바이스(415), 클라이언트 디바이스(420), 및 사용자 디바이스(425) 중 하나 이상의 디바이스 상에서 하나 이상의 클라이언트 애플리케이션들과 상호작용하도록 구성되는 서버 소프트웨어를 유지하는 소프트웨어 개발자, 회사, 또는 조직이다. 제공자(430) 및 제공자(435)는 각각 그들의 클라이언트 애플리케이션들에 대해 의도된 착신 데이터를 모니터링하면서 지속적이고 보안된 채널을 통해 콘텐츠 인프라스트럭처(410)와 연결할 수 있다. 일부 실시예들에서, 제공자(430) 및 제공자(435)는, 예를 들어, 바이너리 콘텐츠와 관련하여 설계된 스트리밍 TCP 소켓을 사용하여 고속의 대용량 인터페이스를 제공하는 바이너리 인터페이스를 통해 연결할 수 있다. 바이너리 인터페이스는 동기식 또는 비동기식일 수 있다. 각각의 인터페이스에 대해, 보안된 통신 채널을 확립하기 위해 TLS(또는 SSL)가 사용될 수 있다.
5. 디바이스들
호스트 디바이스(415), 클라이언트 디바이스(420), 및 사용자 디바이스(425)는 각각 단일 디바이스, 단일 컴퓨터 시스템, 다수의 디바이스들, 또는 다수의 컴퓨터 시스템들로서 구현될 수 있다. 다양한 태양들에서, 비록 편의상 상이하게 라벨링되었지만, 호스트 디바이스(415), 클라이언트 디바이스(420), 및 사용자 디바이스(425)는 각각 모바일 디바이스, 웨어러블 디바이스, 또는 다른 모바일 디바이스(예를 들어, 랩톱, 팜톱, 모바일 폰, 스마트 폰, 멀티미디어 폰, 휴대용 미디어 플레이어, GPS 유닛, 모바일 게이밍 시스템들 등)로서 구현될 수 있다. 추가적으로 또는 대안적으로, 호스트 디바이스(415) 및 사용자 디바이스(425)는 상술된 바와 같이 구현될 수 있을 뿐만 아니라 퍼스널 컴퓨터 시스템들, 메인프레임들, 서버 컴퓨터 시스템들, 클라우드 서비스들 등으로서 구현될 수 있다. 호스트 디바이스(415), 클라이언트 디바이스(420), 및 사용자 디바이스(425)는 통신 연결을 제공하는 다양한 기술들을 포함할 수 있다. 연결 기술들의 일부 예로는 유선 연결들(예를 들어, 이더넷, 파이버(fiber), 디지털 가입자 라인(DSL) 등) 및 무선 연결들(예를 들어, WiFi, 블루투스, WiMax, 6G, 4G, LTE 등)을 포함한다.
호스트 디바이스(415), 클라이언트 디바이스(420), 및 사용자 디바이스(425)는 하나 이상의 제공자들(예를 들어, 제공자들(430, 435))에 의해 제공되는 하나 이상의 서버 애플리케이션들과 통신하는 다양한 클라이언트 애플리케이션들을 실행할 수 있다. 이 클라이언트 애플리케이션들은 디바이스의 의도된 기능에 특정된 애플리케이션들(예컨대, 전화 애플리케이션들 또는 GPS 애플리케이션들)뿐만 아니라 이메일 클라이언트들, 업데이트/업그레이드 클라이언트들, 뉴스 클라이언트들, 웹/블로그 클라이언트들, 팟캐스트 클라이언트들, 소셜 네트워킹 클라이언트들, 또는 통지 메시지들이 전송될 수 있는 다른 타입들의 클라이언트 애플리케이션들을 포함할 수 있다. 이 클라이언트 애플리케이션들은 콘텐츠 인프라스트럭처(410)를 사용하여 수신된 하나 이상의 통지 메시지들을 사용자에게 나타낼 수 있다. 통지들은 디바이스의 운영 체제, 그래픽 사용자 인터페이스 툴킷, 및/또는 애플리케이션들 그 자체에 의해 정의된 하나 이상의 방식들로 사용자들에게 나타낼 수 있다. 통지들의 표현들의 일부 예로는 새로운 이메일 표시자, 새로운 뉴스 아이템 표시자, 새로운 팟캐스트 표시자, 소셜 네트워킹 친구의 온라인 상태의 변경 등을 포함한다. 다양한 실시예들에서, 디바이스 상에서 동작하는 다른 서비스는 클라이언트 애플리케이션들에 대한 통지들을 핸들링할 수 있다.
호스트 디바이스(415), 클라이언트 디바이스(420), 및 사용자 디바이스(425)는 푸시 통지들을 수신하기 위해 클라이언트 애플리케이션이 초기에 콘텐츠 인프라스트럭처(410)와 연결할 때 식별자(또는 디바이스 토큰)를 수신할 수 있다. 제공자들(430, 435)은 콘텐츠 인프라스트럭처(410)를 사용하여 디바이스로 다시 적절히 포워딩될 수 있도록 임의의 콘텐츠 또는 통지 메시지와 함께 토큰을 사용하거나 또는 토큰을 포함할 수 있다. 다양한 실시예들에서, 신뢰를 보장하기 위해, 제공자는 그 제공자가 콘텐츠 인프라스트럭처(410)와 연결할 때마다 토큰을 통신한다. 콘텐츠 인프라스트럭처(410)는 디바이스 토큰을 암호화해제할 수 있고, 토큰이 목적지 디바이스에 대해 생성되었다는 것을 아이덴티티 관리 인프라스트럭처(405)를 사용하여 검증할 수 있다. 검증하기 위해, 콘텐츠 인프라스트럭처(410)는, 토큰에 포함된 디바이스 식별자가, 디바이스가 아이덴티티 관리 인프라스트럭처(405)에 등록되었을 때 사용된 디바이스 인증서 내의 디바이스 식별자와 매칭한다는 것을 보장할 수 있다.
6. 데이터의 통신
호스트 디바이스(415)로부터 클라이언트 디바이스(420)로의 최종 송신으로, 메시지(예를 들어, 통지)가 경로들(445, 450)로 도시된 바와 같이 제공자(430)로부터 클라이언트 디바이스(420)로 전송될 수 있다. 예를 들어, 제공자(430)는 콘텐츠 인프라스트럭처(410)와의 초기 연결시에 인증 보안 소켓 계층(Secure Sockets Layer, SSL) 인증서를 전송할 수 있다. 아이덴티티 관리 인프라스트럭처(405)는 제공자(430)를 푸시 통지들의 등록되고 인증된 전송자로서 인증 및 인가할 수 있다. 이 SSL 인증서는 또한 추가적인 사용자 정의된 데이터로 구성될 수 있다. 아이덴티티 관리 인프라스트럭처(405)는 신뢰된 방식으로 제공자(430)를 식별하기 위해 추가적인 사용자 정의된 데이터를 활용할 수 있다. 이 정보는 클라이언트 디바이스(420)가 호스트 디바이스(415)와의 데이터 공유 연결을 생성하기 위해 아이덴티티 인프라스트럭처(405)에 의해 인가되는지를 끊김없이 검증하기 위해 사용될 수 있다. 다른 보안 통신 프로토콜들(예를 들어, 전송 계층 보안(Transport Layer Security, TLS) 등과 같은 암호 프로토콜들)이 다른 실시예들에서 사용될 수 있다.
데이터의 통신은 클라이언트 디바이스(420)로부터 호스트 디바이스(415)로의 비콘 통신에 의해 개시될 수 있다. 이러한 저전력 비콘 통신은 호스트 디바이스(415)에 의해 수신될 수 있고, 예를 들어, 통신이 클라이언트 식별자를 포함할 때, 클라이언트 디바이스(420)가 데이터 공유 연결을 생성하도록 인가되는지를 검증하기 위해 이용될 수 있다. 이어서, 클라이언트 디바이스(420)에 대한 임의의 연관된 통신이 발생할 수 있다. 이러한 시스템은 호스트 디바이스들로의 잠재적인 데이터 공유 연결들에 주의를 기울이기 위해 클라이언트 디바이스(420)가 안테나 상의 전력을 지속적으로 사용하는 것을 방지함으로써 클라이언트 디바이스(420)에서 전력을 절약할 수 있다. 다른 실시예들에서, 데이터의 통신은 호스트 디바이스(415)로부터 클라이언트 디바이스(420)로의 비콘 통신에 의해 개시될 수 있다. 호스트 디바이스(415)는 비콘 통신을 주기적으로 통신하여, 호스트 디바이스가 네트워크 대역폭 공유를 위해 이용가능함을 나타낼 수 있다. 이에 따라, 통신들은 사용자 설정들, 가용 호스트 디바이스들의 밀도, 또는 다른 이러한 시스템 파라미터들에 따라 클라이언트 디바이스(420) 또는 호스트 디바이스(415) 중 어느 하나에 의해 개시될 수 있다.
일부 실시예들에서, 제공자(430)가 특정 애플리케이션(예를 들어, 이메일, 페이스북, 또는 트위터)과 연관되고 SSL 인증서 내에 추가 식별(예를 들어, 사용자 정의된) 데이터를 포함하는 경우, 아이덴티티 관리 인프라스트럭처(405)는 제공자(430)를 인증할 수 있을 뿐만 아니라, 콘텐츠 인프라스트럭처(410)를 활용하는 애플리케이션 및 제공자(430)에 대한 푸시 서비스를 자동으로 프로비저닝할 수 있다. 예를 들어, 아이덴티티 관리 인프라스트럭처(405)는 인증 인증서로부터 임의의 추가 식별 데이터를 자동으로 추출할 수 있고, 콘텐츠 인프라스트럭처(410)가 추가 식별 데이터(또는 그 데이터의 일부)를 콘텐츠(예를 들어, 푸시 통지 메시지들)에 첨부시키게 할 수 있다. 일부 실시예들에서, 추가 식별 데이터는 사용자가 콘텐츠 인프라스트럭처(410)를 통해 가입할 수 있는 제공자(430)(또는 제공자(430)의 애플리케이션)와 연관된 토픽 또는 피드(feed)를 식별할 수 있다. 따라서, 인증 인증서에서의 추가 정보는 토픽/피드에 관한 정보를 요청하였거나 또는 토픽/피드에 가입한 디바이스들로 콘텐츠를 지향시키도록 영향을 미칠 수 있다. 이러한 방식으로, 푸시 서비스는 제공자(430)에 대해 자동으로 프로비저닝될 수 있다. 이 자동 프로비저닝은 또한, 통신을 위한 데이터 공유를 제공하는 호스트 디바이스의 사용자에 대한 인센티브들의 자동 생성을 포함할 수 있다.
소정 실시예들에서, 일단 제공자(430)가 신뢰된다면, 콘텐츠 인프라스트럭처(410)는 제공자(430)로부터 메시지를 수신할 수 있다. 메시지는 디바이스 토큰을 포함할 수 있다. 제공자(430)로부터 메시지를 수신한다면, 콘텐츠 인프라스트럭처(410)는 메시지에 대한 목적지를 결정한다. 다양한 실시예들에서, 목적지는, 호스트 디바이스(415)에 의해 제공된 데이터 공유 연결에 관한 정보를 포함할 수 있는, 메시지와 함께 전송되는 디바이스 토큰에 기초하여 결정될 수 있다. 일부 실시예들에서, 목적지 정보를 토큰의 일부로서 전송할 필요는 없다. 디바이스 토큰으로부터 목적지를 결정 또는 추출하거나 또는 그렇지 않으면 콘텐츠에 대한 목적지 정보를 획득함으로써, 콘텐츠 인프라스트럭처(410)는 이어서 호스트 디바이스(415)로부터의 데이터 공유 연결이 통신을 종결하기에 충분한 양의 시간 동안 이용가능할 것인지 여부, 또는 다른 호스트 디바이스들이 통신을 완료 또는 검증하기 위해 사용되어야 하는지를 추정할 수 있다. 이어서, 콘텐츠 인프라스트럭처(410)는, 예를 들어, 클라이언트 디바이스(420)에 의해 콘텐츠 인프라스트럭처(410)와 유지되는 지속적 연결을 통해, 경로(450)로 도시된 메시지를 목적지 클라이언트 디바이스(420)로 라우팅할 수 있다. 목적지 디바이스가 "오프라인"이거나 또는 그렇지 않으면 콘텐츠 인프라스트럭처(410)에 액세스불가능한 경우, 콘텐츠는 저장될 수 있고, 전달은 추후의 시간에 재시도될 수 있다. 콘텐츠 인프라스트럭처(410)는 콘텐츠를 단일 디바이스로, 동시에 다수의 디바이스들로, 또는 다른 디바이스로의 전달을 위한 하나의 디바이스로 라우팅할 수 있다.
B. 통지 서비스들
도 5는 다른 사용자의 클라이언트 디바이스에 대한 호스트 디바이스로부터의 데이터 공유를 용이하게 하기 위해 사용될 수 있는 예시적인 시스템(500)의 블록 다이어그램이다. 시스템(500)은 도 4의 아이덴티티 관리 인프라스트럭처(405) 및 콘텐츠 인프라스트럭처(410), 또는 그 일부들을 구현할 수 있다. 시스템(500)은 아이덴티티 서비스들(IDS)(505), 푸시 통지 서비스들(PNS)(520), 및 사용자 디바이스(550)를 포함한다. IDS(505)는 인터페이스(510) 및 아이덴티티 관리 서버(IMS)(515)를 포함한다. PNS(520)는 제공자 인터페이스(525), 게이트웨이(530)(프레즌스 정보(presence information)(535)를 포함함), 및 디바이스 인터페이스(540)(연결 정보(545)를 포함함)를 포함한다. 다양한 실시예들에서, 사용자 디바이스(550)는 클라이언트 디바이스로의 데이터 공유 연결을 제공할 수 있는 호스트 디바이스, 또는 호스트 디바이스를 통해 PNS(520)에게 통신하고 있는 클라이언트 디바이스일 수 있다. IDS(505)를 포함하여, 본 명세서에 기술된 바와 같은 IDS 서비스들은 데이터 공유 중계기로서 사용되는 호스트 디바이스와 그 호스트 디바이스를 통해 중계된 정보를 전송 및 수신하는 클라이언트 디바이스 사이의 발견을 용이하게 하기 위해 사용될 수 있다.
인터페이스(510)는 IDS(505)에 의해 제공되는 서비스를 이용하기 위해 엔티티(예를 들어, 호스트 디바이스(415) 또는 제공자(430))가 (예를 들어, 네트워크를 통해) 연결할 수 있게 할 수 있다. (예를 들어, 호스트 디바이스에 의해 인증될 클라이언트 디바이스에 대한) 인증 절차의 일부로서, 엔티티는 IDS(505), 또는 IDS(505)에 의해 관리되는 서비스, 리소스, 또는 애플리케이션(예를 들어, PNS(520))으로의 초기 연결시에 인터페이스(510)를 통해 수신되는 정보(예컨대, 인증 인증서)를 전송할 수 있다. 아이덴티티 관리 서버(515)는 등록되고 인가된 엔티티로서 정보를 전송하는 디바이스, 사용자, 또는 조직을 인증 및 인가할 수 있다. 디바이스, 사용자, 또는 조직에 대해 하나 이상의 타입들의 서비스들(예를 들어, 통화 서비스들, 인스턴트 메시징 서비스들, 채팅 서비스들, 통지 서비스들 등)이 인가 또는 프로비저닝될 수 있다. PNS(520)에 대한 보안 모델을 지원하기 위해, 엔티티들 및 이들의 디바이스들은 소정 인증서들, 인증 기관(CA) 인증서들, 또는 토큰들을 소유하도록 요구될 수 있다. 이러한 인증은 호스트 디바이스와 클라이언트 디바이스 사이에서 데이터 공유 연결을 확립하기 전에 수행될 수 있다
아이덴티티 관리 서버(515)는 또한 디바이스가 아이덴티티 관리 서버(515)에 대해 자신을 인증하고 PNS(520)로의 연결을 확립하기 위해 사용하는 고유 개인 키 및 인증서를 디바이스에 발행할 수 있다. 이러한 키 및 인증서(또는 다른 인증 데이터)는 PNS(520) 또는 다른 서버로 포워딩하기 위해 클라이언트 디바이스에 의해 호스트 디바이스에 제공될 수 있다. 인증 데이터는 호스트 디바이스에 의해 사용가능하지 않도록 암호화될 수 있다. 디바이스는 디바이스 활성화 동안 아이덴티티 관리 서버(515)로부터 인증 데이터를 획득하고 클라우드 서버 또는 디바이스 상의 보안 스토리지에 데이터를 저장할 수 있다.
클라이언트 디바이스는 또한 특정 제공자와 통신하기 위한 토큰(예를 들어, 푸시 토큰)을 수신할 수 있다. 이 토큰은 호스트 디바이스에 제공된 다음에 클라이언트 디바이스에 대한 콘텐츠가 호스트 디바이스를 통해 전송될 수 있도록 포워딩될 수 있다. PNS(520)를 활용하는 각각의 클라이언트 애플리케이션은 각각의 콘텐츠 제공자에 대한 특정 토큰을 전달할 책임이 있을 수 있다.
아이덴티티 관리 서버(515)는 제공자들 및 디바이스들의 아이덴티티들 및 연결들을 검증하기 위한 임의의 필요한 인증서들, CA 인증서들, 및 암호화 키들(개인 및 공개)을 저장할 수 있다. 이러한 예에서, 일단 엔티티가 신뢰된다면, 시스템(500)은 엔티티로 하여금 PNS(520)에 의해 제공되는 푸시 통지 서비스들을 활용하게 할 수 있다. 엔티티는 (예를 들어, 네트워크를 통해) PNS(520)와 연결하기를 원하는 제공자 또는 다른 통지 제공자일 수 있다. 제공자 인터페이스(525)가 게이트웨이(530)에 링크되는 것으로서 도시되지만, 제공자 인터페이스(525)는 게이트웨이(530) 또는 디바이스 인터페이스(540) 내에 통합될 수 있다. 사용자 디바이스는 PNS(520)를 사용하여 라우팅된 콘텐츠의 목적지일 뿐만 아니라 다양한 실시예들에서 콘텐츠의 제공자일 수 있다.
게이트웨이(530)는 제공자 인터페이스(525) 또는 디바이스 인터페이스(540)를 통해 수신된 콘텐츠(예를 들어, 푸시 메시지들 또는 통화 메시지들)의 목적지를 결정할 수 있다. 다양한 실시예들에서, 게이트웨이(530)는 프레즌스 정보(535)에 기초하여 목적지를 결정할 수 있다. 일 태양에서, 프레즌스 정보(535)는 디바이스의 푸시 토큰을 사용하여 유지된다. 이에 따라, 푸시 통지가 특정 푸시 토큰으로 지향되는 게이트웨이(530)에서 수신될 때, 게이트웨이(530)는 그 푸시 토큰과 연관된 TCP 소켓 디스크립터가 존재하는지 여부를 판정하기 위해 룩업(lookup)을 수행할 수 있다. 소켓 디스크립터는 푸시 통지를 송신하는 데 필요한 TCP 소켓 정보 및 다른 네트워킹 정보를 제공할 수 있다. 다양한 태양들에서, 프레즌스 정보(535)는 인증된 엔티티들과 PNS(520)로의 이들의 연결들 사이의 맵핑(mapping)들을 포함한다. 이들 연결들은 콘텐츠, 통지들 등을 전달하거나 또는 그렇지 않으면 엔티티와 통신하기 위해 PNS(520)에 의해 활용될 수 있다. 각각의 맵핑은 적어도 하나의 엔티티 및 그 엔티티에 대한 적어도 하나의 연결 메커니즘, 예컨대 네트워크 소켓 연결 또는 다른 연결 식별자를 나타낼 수 있다. 예를 들어, 맵핑은 목적지 디바이스를 그의 디바이스 토큰으로 또는 제공자를 그의 제공자 식별자로 식별할 수 있다. 엔티티의 디바이스와의 통신을 용이하게 하기 위해 각각의 맵핑에 추가 정보가 포함될 수 있다.
디바이스 인터페이스(540)는, 디바이스 인터페이스(540)가 사용자 디바이스(550)에 연결될 때 프레즌스 정보(535)가 생성되게 할 수 있다. 사용자 디바이스(550)는 연결의 확립시에 PNS(520)에 자신의 프레즌스를 표명할 수 있다. 이어서, 디바이스 인터페이스(540)는 연결 정보(545)에서 디바이스/연결 맵핑을 생성할 수 있다. 디바이스 인터페이스(540)는 게이트웨이(530)로 하여금 프레즌스 정보(535)에서 디바이스/연결 맵핑을 생성하게 하는 연결 정보(545)를 게이트웨이(530)로 역전파할 수 있다.
다양한 실시예들에서, PNS(520)를 통해 콘텐츠를 수신하기를 원하는 디바이스는 디바이스 인터페이스(540)와의 초기 연결시에 또는 IDS(505)로 직접적으로 인증 정보를 전송할 수 있다. 아이덴티티 관리 서버(515)는 직접적으로 또는 간접적으로 인증 정보를 수신한 다음에 등록되고 인가된 엔티티로서 디바이스 또는 그의 연관된 사용자 또는 조직을 인증 및 인가할 수 있다. 일단 디바이스가 신뢰된다면, PNS(520)는 통지받고, PNS(520)는 그 후에 (예컨대, 연결 정보(545)에서 디바이스 인터페이스(540)를 이용하여) PNS(520)와 디바이스 사이에서 이루어진 임의의 연결들을 관리한다. 연결 정보(545)에서 디바이스 인터페이스(540)에 이용가능한 디바이스 정보는 주기적으로 게이트웨이(530)로 역전파되어 프레즌스 정보(535)를 생성 또는 업데이트할 수 있다.
디바이스가 초기에 PNS(520)와 연결할 때, PNS(520)는 디바이스를 프로비저닝할 수 있다. 디바이스들은 다양한 이유들로 디바이스 인터페이스(540)와의 이들의 연결이 끊어질 수 있다. 예를 들어, 셀룰러 신호 또는 Wi-Fi 신호의 손실, 전력의 손실로 인해, 또는 클라이언트 디바이스 또는 호스트 디바이스가 지리적 위치들을 변경해서 클라이언트 디바이스와 호스트 디바이스 사이의 연결이 끊어졌기 때문에, 연결이 끊어졌을 수도 있다.
사용자 디바이스(550)가 PNS(520)(예를 들어, 호스트 디바이스를 통해 연결하는 클라이언트 디바이스)에 재연결하려고 시도할 때, 사용자 디바이스(550)는 디바이스 인터페이스(540)와 연결할 수 있다. 일례에 따르면, 게이트웨이(530)가 제공자 인터페이스(525)로부터 콘텐츠를 수신할 때, 게이트웨이(530)는 프레즌스 정보(535)에서의 그의 맵핑들에 기초하여 제공자 인터페이스(525)로부터 수신된 콘텐츠를 디바이스 인터페이스(540)로 포워딩한다. 디바이스 인터페이스(540)는 연결 정보(545)에서 연결에 관한 정보가 유지되는 사용자 디바이스(550)로 게이트웨이(530)로부터 수신된 콘텐츠를 전달할 수 있다.
게이트웨이(530)로부터의 콘텐츠의 수신시에, 디바이스 인터페이스(540)는 연결 정보(545)에서 룩업을 수행하거나 또는 그렇지 않으면 그의 디바이스 연결들을 찾아보고, 예를 들어, 사용자 디바이스(550)와 연관된 연결을 통해 게이트웨이(530)로부터 수신된 콘텐츠를 적절한 디바이스로 전송할 수 있다. 일 태양에서, 디바이스 인터페이스(540)는 전달될 콘텐츠와 연관된 디바이스 토큰을 검사하고 연결 정보(545)에서 디바이스 인터페이스(540)가 관리하는 연결들과 디바이스 토큰 사이에서 매칭이 발견되는지 여부를 판정한다. 디바이스 인터페이스(540)는 주어진 디바이스 토큰을 갖는 디바이스에 의해 확립된 연결을 이용하여 콘텐츠를 전달할 수 있다.
III. 데이터 공유를 위한 방법들
데이터 공유를 제공하기 위해 호스트 디바이스에 의해 다양한 방법들이 수행될 수 있다. 예를 들어, 호스트 디바이스는 네트워크 대역폭을 공유하기 전에 서버로 클라이언트 디바이스의 인증을 수행할 수 있다. 다른 예로서, 호스트 디바이스는 네트워크 대역폭을 공유하기 위한 다양한 제한들, 예를 들어, 공유할 최대 대역폭, 공유가 제한되는 배터리 레벨, 및 섹션 I(C)에서 기술되는 다른 예들을 특정할 수 있다. 방법은 또한 클라이언트 디바이스에 의해 수행되어 호스트 디바이스를 통해 데이터를 획득할 수 있다. 예를 들어, 클라이언트 디바이스는, 예컨대, 호스트 디바이스를 통해 전달된 메시지들을 통해 서버로 호스트 디바이스의 인증을 수행할 수 있다. 데이터 공유를 가능하게 하고 이를 모니터링하기 위해 서버(예를 들어, 아이덴티티 관리 서버)에 의해 방법들이 또한 수행될 수 있다. 예를 들어, 서버는 호스트 디바이스에 의해 제공된 공유량을 결정하고 호스트 디바이스의 사용자에게 인센티브를 제공할 수 있다.
A. 인증을 이용하는 호스트 디바이스
도 6은 네트워크 대역폭을 클라이언트 디바이스와 공유하기 전에 클라이언트 디바이스를 인증하는 호스트 디바이스의 예시적인 방법(600)을 도시하는 흐름도이다. 호스트 디바이스는 제1 사용자와 연관될 수 있고, 클라이언트 디바이스는 제1 사용자와는 상이한 제2 사용자와 연관될 수 있다. 본 명세서에 기술된 방법(600) 및 다른 방법들은 네트워크에게 통신하기 위한 제1 무선 인터페이스, 클라이언트 디바이스에게 통신하기 위한 제2 무선 인터페이스, 메모리, 입력 모듈, 출력 디스플레이, 및 제1 및 제2 무선 인터페이스들, 메모리, 및 입력 모듈에 결합된 프로세서를 포함할 수 있는 호스트 디바이스에서 수행될 수 있다.
블록 602에서, 호스트 디바이스는, 입력 모듈을 통해, 제1 사용자와 연관되지 않은 클라이언트 디바이스들에게 네트워크 액세스를 제공하기 위해 호스트 디바이스에 대한 하나 이상의 공유 파라미터들을 특정하는 공유 입력을 수신한다. 이러한 입력 모듈은 도 3의 사용자 인터페이스(300)와 같은 사용자 인터페이스를 디스플레이하고 네트워크 공유를 가능하게 하는 사용자 입력을 수신함으로써 동작할 수 있다. 예를 들어, 섹션 I(C)에 기술된 바와 같이, 다양한 파라미터들이 제공될 수 있다. 일부 실시예들에서, 공유 입력은 공유가 제공되어야 한다고 단순히 특정할 수 있다. 사용자가 어떠한 다른 파라미터들도 특정하지 않는 경우, 다른 설정들에 대한 디폴트 파라미터들이 자동으로 사용될 수 있다.
블록 604에서, 공유 입력을 수신한 후에, 호스트 디바이스는 클라이언트 디바이스로부터 네트워크 액세스 요청을 수신한다. 이 요청은 클라이언트 디바이스를 식별하는 클라이언트 식별자를 포함할 수 있다. 클라이언트 식별자의 예로는 인증 서버에 의해 할당된 임의의 고유 값, 매체 액세스 제어 어드레스(MAC 어드레스), 하나 이상의 일련 번호들 등을 포함한다.
소정 실시예들에서, 네트워크 액세스 요청은 클라이언트 디바이스와 호스트 디바이스 양쪽 모두에서 보안을 보장하기 위한 더 복잡한 핸드셰이킹 프로세스의 일부일 수 있다. 이러한 프로세스의 일부로서, 각각의 디바이스는 비인가된 액세스에 대한 제1 레벨의 보호로서 내장형 보안을 포함할 수 있다. 클라이언트 디바이스는 인증 서버, 예를 들어, IDS(505) 및 아이덴티티 관리 인프라스트럭처(405)로부터 클라이언트 식별자를 획득할 수 있다.
블록 606에서, 클라이언트 식별자는 인증 서버로 전송된다. 이러한 인증 서버는, 예를 들어, 도 4 및 도 5에 대해 기술된 바와 같이, 아이덴티티 서비스 시스템의 일부로서 동작할 수 있다. 인증 서버는 클라이언트 식별자를 사용하여 데이터 공유를 위해 등록된 클라이언트 디바이스들을 포함하는 데이터베이스 테이블에 액세스할 수 있다. 클라이언트 식별자와의 매칭이 발견된다면, 인증 서버는 클라이언트 디바이스가 데이터 공유를 위해 등록됨을 나타낼 수 있다.
이에 따라, 호스트 디바이스는 클라이언트 식별자 및 인증 서버를 사용하여 네트워크 액세스가 어떤 디바이스에도 제공되지 않는다는 것을 보장할 수 있다. 또한, 인증 서버는 호스트 디바이스와 클라이언트 디바이스 사이의 데이터 공유 연결의 부적절한 사용량을 조사할 필요가 있는 경우 어떤 클라이언트 디바이스들이 어떤 호스트 디바이스들을 사용했는지를 추적할 수 있다. 추가적으로, 소정 실시예들에서, 호스트 식별자들은 또한 호스트가 데이터를 클라이언트 디바이스와 공유하도록 보안되고 인가되는지를 검증하기 위해 전송될 수 있다.
블록 608에서, 호스트 디바이스는 인증 서버로부터 인증 응답을 수신한다. 인증 응답은 클라이언트 디바이스가 네트워크 액세스를 획득하기 위해 인증 서버에 등록된다는 표시를 제공할 수 있다. 소정 실시예들에서, 클라이언트 및 호스트 디바이스들 사이의 추가 보안 통신들이 또한 보안 공유를 가능하게 하기 위해 발생할 수 있다. 예를 들어, 클라이언트 디바이스는 암호화될 수 있는 인증 크리덴셜(authentication credential)(예를 들어, 토큰 또는 패스워드)을 제공할 필요가 있을 수 있다. 이러한 인증 크리덴셜은 사용자가 웹사이트에 액세스하기 위해 사용할 수 있는 임의의 정보와는 별개일 수 있고, 클라이언트 디바이스가 등록할 때 인증 서버에 의해 제공될 수 있다. 인증 크리덴셜은 보안을 보장하기 위해 주기적으로 업데이트될 수 있다.
일부 실시예들에서 토큰 또는 패스워드가 클라이언트 식별자로서 작동할 수 있지만, 다른 실시예들에서는 토큰 또는 패스워드(또는 다른 인증 크리덴셜)가 클라이언트 식별자를 보완할 수 있다. 이러한 다른 실시예들에서, 인증 서버는 인증 크리덴셜과 연관되어 클라이언트 식별자를 저장할 수 있고, 클라이언트 디바이스가 인증 서버에 등록되는지 여부에 관한 긍정 응답을 호스트 디바이스로 전송하기 전에 수신된 값들이 저장된 값들 양쪽 모두와 매칭하는지 여부를 체크할 수 있다. 클라이언트 식별자 및/또는 임의의 인증 크리덴셜(제공된다면)이 매칭하지 않는 경우, 부정 응답이 호스트 디바이스로 제공될 수 있다.
일부 실시예들에서, 호스트 디바이스는 인증 서버 또는 인센티브 서버로부터 다른 응답들을 수신할 수 있고, 이 다른 응답들은 동일할 수 있다. 예를 들어, 인증 서버는 하나 이상의 공유 파라미터들의 구현에 영향을 미칠 수 있는 임의의 측정치들을 제공할 수 있다. 예를 들어, 인증 서버는, 다른 사용자들의 클라이언트 디바이스들로의 네트워크 액세스의 제공을 제한하는 것으로 결정하도록 호스트 디바이스를 트리거시킬 수 있는, 호스트 디바이스에 의한 데이터 사용량의 현재 측정치를 제공할 수 있다. 호스트 디바이스는 또한 이러한 데이터 사용량을 측정할 수 있다.
다른 예로서, 인증 서버는, 호스트 디바이스가 규칙에 기초하여 네트워크 액세스를 제한하게 할 수 있는, 인센티브에 관한 임의의 정보(예를 들어, 인센티브의 변경)를 제공할 수 있다. 일 구현예에서, 사용자는, 공유된 데이터의 양에 대한 교환 비율이 적어도 어카운트 상의 특정된 양의 크레디트에 대응하는 한 네트워크 액세스가 제공될 수 있다는 규칙을 (예를 들어, 하나 이상의 공유 파라미터들을 통해) 특정할 수 있다. 이 규칙은, 단지 크레디트의 양이 충분히 높은 경우를 제외한다면, 소정량의 데이터가 전송된 후에, 예를 들어, 더 많은 네트워크 액세스가 제공될 수 있다는 것을 보증할 수 있다. 다른 구현예에서, 호스트 디바이스는 배터리 레벨이 소정량 미만으로 감소할 때 인센티브(예를 들어, 공유된 데이터 당 얻어진 크레디트)가 증가하는 경우에만 클라이언트 디바이스에 네트워크 액세스를 제공할 수 있다. 일부 실시예들에서, 클라이언트 디바이스는 어카운트로부터 차감되고 호스트 디바이스로 제공될 데이터의 양 또는 어카운트로부터 차감될 소정 가격에 동의할 수 있다.
블록 610에서, 호스트 디바이스는 인증 응답에 응답하여 클라이언트 디바이스에 네트워크 액세스를 제공할 수 있다. 예를 들어, 일단 인증 서버가 클라이언트 디바이스를 인증하고 긍정 인증 응답을 전송한다면, 호스트 디바이스는 네트워크 액세스를 허용하기 시작할 수 있다. 네트워크 액세스는 제2 무선 인터페이스를 통해 클라이언트 디바이스 간에서 데이터를 통신하고 제1 무선 인터페이스를 통해 데이터를 네트워크와 통신함으로써 제공될 수 있다.
다수의 클라이언트 디바이스들이 현재 단일 호스트 디바이스로부터의 대역폭을 공유하고 있는 경우, 호스트 디바이스는 각각의 클라이언트 디바이스에 대해 이용가능한 공유된 네트워크 리소스들에 대한 로드 밸런싱(load balancing)을 구현할 수 있다. 유사하게, 단일 클라이언트 디바이스가 가능하다면 대역폭을 공유하는 것에 관하여 다수의 호스트들과 통신한 경우, 다른 호스트들이 공유 연결이 확립되었다는 것을 알게 하기 위해 추가 통신들이 발생할 수 있다. 또한, 공유 통신이 진행됨에 따라, 호스트 디바이스와 클라이언트 디바이스가 서로에 대해 이동하고 있는 경우 호스트 디바이스들 간의 통신들의 가능한 핸드오프에 관하여 추가 지원 통신들이 발생할 수 있다. 유사하게, 호스트 디바이스의 사용자가 공유 설정들을 조정하거나 또는 호스트 디바이스에서 공유 한도들에 도달되는 경우, 호스트와 클라이언트가 통신하여 순서대로 공유 연결을 종료할 수 있다.
B. 리소스 임계치를 갖는 호스트 디바이스
도 7은 호스트 디바이스가 클라이언트 디바이스에 대해 네트워크 통신들을 제공하기 위해 공유 파라미터들을 특정하는 예시적인 방법(700)을 도시하는 흐름도이다. 호스트 디바이스는 제1 사용자와 연관될 수 있고, 클라이언트 디바이스는 제1 사용자와는 상이한 제2 사용자와 연관될 수 있다. 일부 실시예들에서, 방법(700)은 네트워크에게 통신하기 위한 제1 무선 인터페이스 및 클라이언트 디바이스에게 통신하기 위한 제2 무선 인터페이스를 포함하는 호스트 디바이스에서 수행될 수 있다.
블록 702에서, 호스트 디바이스 디스플레이들은 호스트 디바이스가 제1 사용자와 연관되지 않은 클라이언트 디바이스들에게 네트워크 액세스를 제공하는 것을 제어하는 공유 파라미터를 포함하는 사용자 인터페이스를 제공한다. 사용자 인터페이스는 다양한 방법들로, 예를 들어, 디스플레이 상에 또는 음성 커맨드들을 통해 제공될 수 있다. 공유 파라미터는 클라이언트 디바이스에 네트워크 액세스를 제공하는 것과 연관된 리소스 사용량에 대응할 수 있다. 도 3의 배터리 한도 및 대역폭 한도는 이들의 각각의 리소스 사용량(예를 들어, 배터리 레벨 및 대역폭 사용량)에 대응하는 이러한 공유 파라미터들의 예들이다.
블록 704에서, 사용자 인터페이스는 리소스 사용량에 대한 임계치 값을 특정하는 공유 입력을 수신한다. 임계치 값은 호스트 디바이스가 제1 사용자와 연관되지 않은 클라이언트 디바이스들에게 네트워크 액세스를 제공할 때, 및/또는 호스트 디바이스가 제1 사용자와 연관되지 않은 클라이언트 디바이스들에게 네트워크 액세스를 제공하지 않을 때를 제어할 수 있다. 예들로서, 사용자는 임계치 대역폭 - 그 미만에서 공유가 허용됨 -, 및 임계치 배터리 한도 - 그 미만에서 공유가 제한(예를 들어, 감소 또는 중단)됨 - 를 특정할 수 있다.
블록 706에서, 호스트 디바이스는 클라이언트 디바이스에 네트워크 액세스를 제공할 수 있다. 네트워크 액세스는 방법(600)에서처럼, 또는 부분적으로 방법(600)에서 기술된 바와 같이 제공될 수 있다. 예를 들어, 네트워크 공유는 블록 610에서처럼 진행될 수 있다. 네트워크 액세스를 제공하기 위한 결정은 호스트 디바이스의 현재 리소스 사용량 및 임계치 값에 좌우될 수 있다.
현재 리소스 사용량이 임계치 값을 위반하지 않는다면, 네트워크 액세스가 제공될 수 있다.
블록 708에서, 클라이언트 디바이스에 네트워크 액세스를 제공하는 것과 연관된 리소스 사용량이 모니터링될 수 있다. 모니터링은 호스트 디바이스 또는 서버에서 행해질 수 있다. 예를 들어, 호스트 디바이스는 사용 중인 현재 배터리 레벨 및/또는 대역폭을 결정할 수 있다. 예들로서, 모니터링은 주기적인 시간들에서 또는 트리거에 응답하여 수행될 수 있다. 리소스 사용량이 네트워크와 통신되는 데이터의 양에 대응하는 경우, 서버는 데이터의 양을 추적할 수 있다. 다른 실시예들에서, 서버는 서버에 의해 결정될 수 있는 다른 값들을 추적할 수 있다.
블록 710에서, 클라이언트 디바이스에 네트워크 액세스를 제공하는 것과 연관된 리소스 사용량이 임계치 값을 초과하였다는 것이 판정된다. 예를 들어, 호스트 디바이스는 주기적으로 리소스 사용량을 체크하고 그 사용량을 임계치 값과 비교할 수 있다. 다른 예로서, 서버는 주기적으로 리소스 사용량을 체크하고 그 사용량을 임계치 값과 비교하도록 모니터링할 수 있다. 이어서, 서버는 임계치가 초과되었음을 나타내는 메시지를 호스트 디바이스로 전송할 수 있다.
리소스 사용량은 미만인 것 또는 초과인 것으로 임계치 값을 초과할 수 있으며, 이는 수반되는 리소스 사용량의 타입에 좌우된다. 예를 들어, 대역폭 사용량이 임계치를 초과하면 공유가 제한되게 되는 한편, 배터리 사용량이 임계치 레벨 미만이면 공유가 제한되게 된다.
블록 712에서, 호스트 디바이스는 리소스 사용량이 임계치 값을 초과하였다는 판정에 기초하여 클라이언트 디바이스로의 네트워크 액세스를 제한할 수 있다. 제한은 완전한 중단 또는 부분적 감소를 포함할 수 있다. 제한은 데이터의 타입(예를 들어, 데이터의 우선순위 레벨 또는 데이터가 메시지인지 대 미디어인지 여부)과 같은 다른 형태들을 포함할 수 있다. 감소량은 사용자에 의해 특정될 수 있다. 리소스 사용량은 임계치 값보다 더 큰 것(예를 들어, 대역폭) 또는 임계치 값보다 더 작은 것(예를 들어, 배터리)으로 임계치 값을 초과할 수 있다.
일부 실시예들에서, 제1 임계치 값이 초과될 때 리소스 사용량의 후속 임계치가 선택될 수 있다. 예를 들어, 제1 임계치 값(예를 들어, 제1 배터리 한도)에서 공유의 소정 감소(예를 들어, 가용 대역폭 감소)가 이루어질 수 있다. 후속 임계치가 초과되는 경우, 후속 임계치가 사용되어 추가 감소를 구현할 수 있다. 임계치들이 배터리 레벨과 관련될 때, 배터리 레벨이 감소함에 따라 가용 대역폭이 감소될 수 있다. 따라서, 네트워크 액세스를 제공하기 위해 사용되는 배터리의 양은 배터리가 감소함에 따라 감소될 수 있다.
C. 클라이언트 디바이스
도 8은 본 발명의 실시예들에 따라, 제2 사용자와는 상이한 제1 사용자와 연관된 호스트 디바이스를 통해 네트워크에 액세스하기 위해 제2 사용자와 연관된 클라이언트 디바이스를 사용하는 예시적인 방법(800)을 도시하는 흐름도이다. 방법(800)은 프로세서, 메모리, 입력 디바이스, 및 무선 인터페이스를 포함할 수 있는 클라이언트 디바이스에서 수행될 수 있다.
블록 810에서, 클라이언트 디바이스는, 무선 인터페이스를 통해, 제1 사용자와 연관된 호스트 디바이스와의 네트워크 공유 통신 링크를 확립한다. 네트워크 공유 통신 링크는, 일단 그 링크가 네트워크에 액세스한 호스트 디바이스와 확립된다면, 클라이언트 디바이스로 하여금 데이터를 네트워크와 통신하게 할 수 있다. 링크는 블루투스 또는 WiFi 와 같은 임의의 적합한 무선 프로토콜을 사용할 수 있다. 클라이언트 디바이스는 네트워크 공유 통신 링크를 확립하라는 데이터 공유 요청으로서 비콘 통신(예를 들어, 블루투스 비콘)을 호스트 디바이스로 전송할 수 있다. 이러한 실시예에 따라 네트워크 공유 통신 링크를 확립하는 것은, 예를 들어, 아래에 기술되는 바와 같이, 다양한 단계들을 수반할 수 있다.
블록 812에서, 클라이언트 디바이스와 연관된 클라이언트 식별자는 클라이언트 디바이스로부터 호스트 디바이스로 전송될 수 있다. 클라이언트 식별자는 본 명세서에 기술된 것과 같은 것일 수 있다. 예를 들어, 클라이언트 디바이스가 인증 서버에 등록하였을 때 클라이언트 식별자는 인증 서버로부터 수신되었을 수 있다. 클라이언트 식별자는 네트워크 액세스 요청시에 전송될 수 있다. 이러한 요청에 응답하여, 호스트 디바이스는 클라이언트 식별자를 인증 서버에 전송할 수 있다.
블록 814에서, 클라이언트 디바이스는, 호스트 디바이스로부터, 호스트 디바이스가 네트워크 공유 통신 링크에 대해 이용가능하다는 표시를 수신할 수 있다. 호스트 디바이스가 이용가능한지 여부의 결정은, 호스트 디바이스가 네트워크에 연결되는지 여부, 호스트 디바이스의 리소스 사용량(예를 들어, 호스트 디바이스에 의해 사용되는 현재 대역폭 또는 배터리 레벨), 및 호스트 디바이스의 속도(예를 들어, 형성될 네트워크 공유 통신 링크에 대해 클라이언트 디바이스의 반대 방향으로 또는 너무 빠르게 이동하는 경우)와 같은 다양한 인자들에 기초할 수 있다.
호스트 디바이스가 네트워크 액세스를 클라이언트 디바이스와 공유해야 하는지 여부를 결정하는 것의 일부로서, 호스트 디바이스는 클라이언트 식별자를 인증 서버에 전송할 수 있고 클라이언트 디바이스가 인증 서버에 등록되는지 여부에 관한 응답을 수신할 수 있다. 인증 서버는 데이터베이스를 탐색하여 매칭하는 클라이언트 식별자를 발견할 수 있다. 이에 따라, 클라이언트 식별자는 클라이언트 디바이스가 인증 서버에 등록된다는 것을 결정하기 위해 사용가능하다. 호스트 디바이스가 식별자 또는 다른 데이터를 획득하지 못하도록 (클라이언트와 호스트 사이에서 통신되는 다른 데이터와 마찬가지로) 클라이언트 식별자가 암호화될 수 있다. 클라이언트 디바이스 및 인증 서버는 클라이언트 식별자 및 임의의 다른 데이터를 암호화 및 암호화해제하기 위해 사용되는 공유 비밀(shared secret)(예를 들어, 키)을 가질 수 있다. 공유 비밀은 디바이스 등록 동안 인증 서버로부터 획득될 수 있고, 공유 비밀을 클라이언트 디바이스 상의 보안 스토리지에 저장할 수 있다.
일부 실시예들에서, 클라이언트 식별자는 네트워크 공유 통신 링크를 확립하기 위해 사용되는 공유 비밀일 수 있다. 이러한 클라이언트 식별자는 일반적으로 다른 상황들에서는 유용하지 않아서, 그에 따라 공유 비밀이 해킹되어 호스트 디바이스에 의해 저장될 가능성이 감소할 것이다. 이러한 클라이언트 식별자는 암호화되지 않은 상태로 전송될 수 있고, 인증 서버는 그의 알려진 비밀과 비교하여 클라이언트가 인증된 것을 알 수 있다.
블록 816에서, 클라이언트 디바이스는, 호스트 디바이스를 통해 인증 서버로부터, 인증 서버로부터의 인증 응답을 수신할 수 있다. 인증 응답은 호스트 디바이스가 네트워크 액세스를 획득하기 위해 인증 서버에 등록된다는 표시를 제공한다. 서버로부터 호스트 디바이스로 전송된 인증 응답은, 인증 응답이 특정 클라이언트 디바이스에 대한 특정 네트워크 공유 통신 링크에 대응한다는 것을 특정하는 통신 식별자를 포함할 수 있다. 일부 실시예들에서, 통신 식별자는 호스트 디바이스에 의해 특정되고 인증 요청시에 인증 서버로 전송될 수 있다. 이러한 방식으로, 호스트 디바이스는 어떤 클라이언트 디바이스가 인증 응답을 전송할지를 결정할 수 있다. 다른 실시예들에서, 통신 식별자는 클라이언트 식별자에 대응할 수 있다.
일부 실시예들에서, 인증 응답은 호스트 디바이스가 인증 응답을 변경하거나 또는 달리 스푸핑(spoofing)할 수 없도록 암호화될 수 있다. 따라서, 인증 응답은 호스트 디바이스에 의해 사용가능하지 않도록 암호화될 수 있다. 인증 응답은, 인증 응답이 위조되지 않았는지를 검증하기 위한 에러 정정 코드, 예를 들어 체크섬(checksum)을 포함할 수 있다. 호스트 디바이스를 통해 인증 서버로 전송된 메시지(예를 들어, 요청)를 암호화하거나 또는 인증 응답을 암호화해제하기 위한 임의의 암호화 데이터(예를 들어, 키)는 등록시에 클라이언트 디바이스에 의해 획득될 수 있다. 인증 응답은 또한 클라이언트 디바이스에 대한 인증 서버를 검증하는 크리덴셜 데이터, 예를 들어, 클라이언트 디바이스 및 인증 서버에 알려진 공유 비밀을 포함할 수 있다. 일단 인증 응답이 암호화해제된다면, 클라이언트 디바이스는 응답의 진정성을 검증하기 위해 응답에서의 공유 비밀을 비교할 수 있다.
블록 820에서, 클라이언트 디바이스는 네트워크 공유 통신 링크를 통해 데이터를 네트워크와 통신한다. 데이터는 무선 인터페이스를 통해 호스트 디바이스로 전송될 수 있고, 이 호스트 디바이스는 데이터를 네트워크로 포워딩할 수 있다. 데이터는 또한 네트워크로부터 호스트 디바이스로 전송된 다음에 무선 인터페이스를 통해 클라이언트 디바이스로 전송될 수 있다. 무선 인터페이스의 예로는 임의의 다양한 블루투스 또는 피어 투 피어 WiFi(예를 들어, ad hoc WiFi)를 포함할 수 있다.
네트워크 공유 통신 링크는 클라이언트 디바이스에서의 다양한 이벤트들에 응답하여 확립될 수 있다. 예를 들어, 네트워크 공유 통신 링크는 클라이언트 디바이스의 프로세서에 의해 실행되는 애플리케이션으로부터의 업데이트 요청에 응답하여 확립될 수 있다. 다양한 실시예들에서, 애플리케이션은 자동으로(예를 들어, 사용자의 설정, 시각, 마지막 네트워크 연결 이후의 시간 등에 기초하여) 또는 데이터를 네트워크로 전송하거나 또는 데이터를 네트워크로부터 획득하라는 사용자 요청에 응답하여 직접적으로 이러한 업데이트 요청을 생성할 수 있다. 다른 예로서, 네트워크 공유 통신 링크는 클라이언트 디바이스의 시스템 설정들에 의해 결정되는 주기적으로 스케줄링된 동기화에 기초하여 확립될 수 있다. 예를 들어, 사용자는 매 30분마다 메시지들을 업데이트하기를 원할 수 있다. 다양한 실시예들에서, 어떠한 호스트 디바이스도 이용가능하지 않은 경우, 클라이언트 디바이스는 네트워크 공유 통신 링크를 확립하려고 계속 시도하거나, 특정된 시간 동안 연기시키거나, 또는 다음 스케줄 동기화에서의 시도를 위하여 시도를 클리어시킬 수 있다.
D. 서버
도 9는 클라이언트 디바이스에 대한 호스트 디바이스에 의한 대역폭 공유를 용이하게 하기 위해 서버 컴퓨터를 사용하는 예시적인 방법(900)을 도시하는 흐름도이다. 호스트 디바이스는 제1 사용자와 연관될 수 있고, 클라이언트 디바이스는 제1 사용자와는 상이한 제2 사용자와 연관될 수 있다. 방법(900)은 네트워크 인터페이스, 메모리, 및 네트워크 인터페이스 및 메모리에 결합된 프로세서를 포함하는 서버 컴퓨터에서 수행될 수 있다.
블록 902에서, 서버 컴퓨터는, 네트워크 인터페이스를 통해, 호스트 디바이스로부터 네트워크 공유 통신을 수신한다. 네트워크 공유 통신은 제1 사용자와 연관된 식별자를 포함한다. 통신은 호스트 디바이스가 데이터 공유 모드에 있음을 나타낼 수 있다. 통신은 서버가 데이터 공유를 모니터링하게 할 수 있다. 이러한 통신은 데이터 공유 입력(예를 들어, 데이터 공유 입력(310))이 턴 온된 것에 응답하여 호스트 디바이스로부터 전송될 수 있다. 일례로서, 식별자는 제1 사용자에 대한 데이터 공유 어카운트에 대응할 수 있다. 일부 실시예들에서, 네트워크 공유 통신을 수신하기 전에, 인센티브 선택이 제1 사용자와 연관된 사용자 디바이스로부터 수신되는데, 여기서 인센티브는 인센티브 선택에 기초한다.
블록 904에서, 서버는 호스트 디바이스에 의해 하나 이상의 클라이언트 디바이스들과 공유되는 네트워크 리소스들의 양과 연관된 리소스 값을 획득한다. 예들로서, 리소스 값은 공유되는 데이터의 양, 공유되는 대역폭의 양, 또는 데이터가 공유되는 시간의 양, 또는 이들의 조합일 수 있다. 일부 실시예들에서, 서버는 호스트 디바이스에 의해 네트워크 사용량을 모니터링함으로써 리소스 값을 획득할 수 있다. 리소스 값은 특정 기간에 걸쳐, 예를 들어, 월별로 측정될 수 있다. 모니터링은 호스트 디바이스 또는 리소스 값을 측정하는 다른 서버로부터 리소스 값을 요청함으로써 수행될 수 있다.
블록 906에서, 서버는 리소스 값을 네트워크 공유 데이터베이스에 저장한다. 리소스 값은 식별자와 연관되어, 예를 들어, 데이터베이스 레코드에 저장될 수 있다. 리소스 값은 새로운 값 또는 추가 데이터 공유 값들이 획득될 때 업데이트될 수 있다. 예를 들어, 서버는 데이터의 10 MB 이상(또는 MB 또는 GB의 다른 증분)이 공유되었음을 판정하고 그것을 리소스 값에 대한 기존 총계에 가산할 수 있다.
블록 908에서, 서버는 리소스 값에 기초하여 인센티브를 결정할 수 있다. 인센티브는, 예를 들어, 본 명세서에 기술된 것과 같은 임의의 인센티브일 수 있다. 예를 들어, 서버는 호스트 디바이스에 대해 네트워크 상의 데이터 사용량에 대한 월별 한도를 감소시키도록 결정할 수 있다. 감소량은 공유된 양에 대응할 수 있다. 인센티브의 결정은 주기적으로, 예를 들어, 월별로 그 달에 대한 리소스 값에 기초하여 실행될 수 있다. 인센티브의 타입은 호스트 디바이스의 사용자에 의해 행해진 선택에 좌우될 수 있다. 이러한 선택은 인센티브의 타입을 결정하기 위해 서버에 의해 저장될 수 있고, 이어서 리소스 값이 인센티브의 범위를 결정하기 위해 사용될 수 있다.
블록 910에서, 서버는 인센티브와 연관된 메시지를 식별자와 연관된 디바이스에게 통신한다. 메시지는 호스트 디바이스뿐만 아니라, 제1 사용자의 다른 디바이스들, 예를 들어, 호스트 디바이스가 폰이었다면, 태블릿 또는 노트북 컴퓨터와 같은 상이한 컴퓨팅 디바이스로 전송될 수 있다. 메시지는 인센티브의 타입 및/또는 인센티브의 값을 나타낼 수 있다. 메시지는 또한 다른 정보, 예를 들어, 다른 인센티브들을 어떻게 얻는지를 포함할 수 있다.
IV. 호스트 및 클라이언트 디바이스
도 10은 상술된 바와 같은 데이터 공유를 구현하기 위해 도 4 및 도 5의 시스템들(100, 500)과 함께 또는 그의 일부로서 사용될 수 있는 클라이언트 디바이스들 및 호스트 디바이스들의 추가 예들을 도시한다. 이 도면들에 의해 2개의 실시예들이 도시되지만, 다양한 구현예들은 임의의 수의 클라이언트 디바이스들, 호스트 디바이스들, 및 상이한 네트워크들을 포함할 수 있고, 이 상이한 네트워크들은 특정 셋업에서 디바이스들에 의해 지원될 수 있다. 도 10에 도시된 시스템들은 일 실시예를 예시하고, 다른 유사한 실시예들은 도시된 것보다 더 많거나 더 적은 컴포넌트들을 가질 수 있다는 것이 명백할 것이다. 다른 실시예들은 또한 도시된 컴포넌트들의 상이한 구성들을 포함할 수 있지만, 본 명세서에서의 혁신들의 범주 내에 있다.
도 10은 클라이언트 디바이스(1000), 호스트 디바이스(1050), 및 네트워크(1090)를 갖는 실시예를 도시한다. 클라이언트 디바이스(1000)는, 데스크톱 컴퓨터, 랩톱 컴퓨터, 스마트폰, 태블릿 컴퓨터, 웨어러블 디바이스(예를 들어, 시계, 이어피스(earpiece), 또는 목걸이), 네트워킹된 어플라이언스(예를 들어, 네트워크 인에이블형 냉장고 또는 세탁기), 미디어 플레이어, 개인 휴대 정보 단말기, 키 포브(key fob), 액세스 카드, 다기능 디바이스, 게임 시스템, 또는 임의의 다른 이러한 클라이언트 디바이스를 포함하는, 무선 인터페이스에 의해 액세스가능한 임의의 디바이스일 수 있다. 도시된 바와 같이, 클라이언트 디바이스(1000)는 메모리(1004), 프로세서(1002), 입력 디바이스(1006), 디스플레이(1008), 및 무선 인터페이스(1012)를 포함한다.
호스트 디바이스(1050)는 다양한 클라이언트 디바이스들에 대한 다양한 호스트 디바이스들로부터의 데이터 공유에 대해 상술된 것과 유사한 방식으로 클라이언트 디바이스(1000)에 데이터 공유를 제공하는 것이 가능한 임의의 통신 디바이스일 수 있다. 도시된 바와 같이, 호스트 디바이스(1050)는 프로세서(1052), 메모리(1054), 입력 디바이스(1056), 디스플레이(1058), 무선 인터페이스(1062), 무선 인터페이스(1064), 및 기저대역 디바이스(1059)를 포함한다. 입력 디바이스(1056)는 터치 스크린 또는 음성 커맨드 시스템을 포함할 수 있다. 도 3의 사용자 인터페이스(300)는 입력 디바이스(1056)를 통해 제공될 수 있다. 입력 디바이스(1056)는 컴포넌트들을 디스플레이(1058)와 공유할 수 있다.
호스트 디바이스들의 소정 실시예들은 다수의 통신 인터페이스들을 가질 수 있다. 일부 실시예들에서, 호스트 디바이스에 의해 수행되는 데이터 공유의 일부로서, 호스트 디바이스는 제1 통신 프로토콜에 기초한 하나의 통신 인터페이스를 사용하여 네트워크와 통신할 수 있고, 호스트 디바이스는 제1 통신 프로토콜과는 상이한 제2 통신 프로토콜에 기초한 (제1 통신 인터페이스와는 상이한) 제2 통신 인터페이스를 사용하여 클라이언트 디바이스와 통신할 수 있다. 이러한 호스트 디바이스들의 예로는 스마트 폰들, 데스크톱 컴퓨터들, 랩톱 컴퓨터들, 및 다른 이러한 네트워크 인에이블형 컴퓨팅 디바이스들을 포함할 수 있다.
클라이언트 디바이스(1000)는 연결(1038)을 통해 호스트 디바이스(1050)와 통신할 수 있다. 유사하게, 호스트 디바이스(1050)는 연결(1088)을 통해 네트워크(1090)와 통신할 수 있다. 추가 실시예들에서, 클라이언트 디바이스(1000)는 또한 네트워크(1090)를 포함하는 하나 이상의 다른 네트워크들과의 연결을 생성할 수 있다. 상이한 실시예들은, TDMA(time division multiple access), CDMA(code division multiple access), GSM(global system for mobile communications), EDGE(Enhanced Data GSM Environment), W-CDMA(wideband code division multiple access), LTE(Long Term Evolution), LTE-Advanced, WiFi(예컨대, IEEE 802.11a, IEEE 802.11b, IEEE 802.11g 및/또는 IEEE 802.11n), 블루투스, Wi-MAX, VoIP(voice over Internet Protocol), NFC(near field communication) 프로토콜, 이메일, 인스턴트 메시징, 및/또는 SMS(short message service)용 프로토콜, 또는 본 문헌의 출원일 현재 아직 개발되지 않은 통신 프로토콜들을 포함하는 임의의 다른 적합한 통신 프로토콜을 포함하는, 하나 이상의 통신 프로토콜들 또는 기술들을 이용하여 연결(1038), 연결(1088), 또는 이들 연결들의 태양들을 구현할 수 있다. 호스트 또는 클라이언트 디바이스는, 통신을 위해 요구된 범위에 따라 수 개의 상이한 타입들의 무선 네트워크들을 통해 통신할 수 있는, 무선 인터페이스(1012), 무선 인터페이스(1062), 및 무선 인터페이스(1064)와 같은 무선 인터페이스들의 일부로서 무선 회로부를 포함할 수 있다. 예를 들어, 단거리 무선 송수신기(예를 들어, 블루투스), 중거리 무선 송수신기(예를 들어, WiFi), 및/또는 장거리 무선 송수신기(예를 들어, GSM/GPRS, UMTS, CDMA2000 1x/EV-DO 및 LTE/LTE-Advanced)는 통신의 타입 또는 통신의 범위에 따라 사용될 수 있다.
특히, 연결(1038)은 소정 실시예들에서 무선 인터페이스(1012)와 무선 인터페이스(1062) 사이에서 직접적으로 피어 투 피어(P2P) 무선 연결로서 구현될 수 있다. 다른 실시예들에서, 연결(1038)은 다수의 액세스 포인트들, 네트워크 라우팅 연결들, 및 통신 서버들을 포함하는 다수의 추가 디바이스들 및 하위 연결들을 포함할 수 있다.
무선 회로부는 무선 인터페이스들(1012, 1062, 1064)과 같은 무선 인터페이스들과 함께 사용되어 연결과 같은 무선 연결들을 통해 정보를 전송 및 수신할 수 있다. 본 명세서에 기술된 임의의 디바이스는, 본 명세서에 기술된 것과 같은 다양한 무선 연결들을 가능하게 하기 위해, 안테나 시스템, RF 송수신기, 하나 이상의 증폭기들, 튜너, 하나 이상의 발진기들, 디지털 신호 프로세서, CODEC 칩셋, 메모리 등과 같은 종래의 회로부를 추가적으로 포함할 수 있다.
무선 회로부는 주변기기 인터페이스들을 통해 프로세서(1002) 및 프로세서(1052)와 같은 프로세서들에 결합될 수 있다. 무선 회로부에 의해 수신된 음성 및 데이터 정보는 주변기기 인터페이스들을 통해 하나 이상의 프로세서들로 전송될 수 있다. 프로세서들(1002, 1052)과 같은 하나 이상의 프로세서들은 디바이스의 메모리 상에 저장된 하나 이상의 애플리케이션 프로그램들에 대한 다양한 데이터 포맷들을 프로세싱하도록 구성가능할 수 있다.
프로세서들(1002, 1052)은 디바이스들(1000, 1050)에 대한 다양한 기능들을 수행하기 위해 각각의 메모리들(1004, 1054)에 저장된 다양한 소프트웨어 컴포넌트들을 실행할 수 있다. 일부 실시예들에서, 소프트웨어 컴포넌트들은 운영 체제, 통신 모듈(또는 명령어들의 세트), 및 다른 애플리케이션들(또는 명령어들의 세트들)을 포함한다. 상이한 실시예들에서, 프로세서는 단일 집적 회로, 다수의 집적 회로들의 세트, 또는 프로세싱 기능을 구현하기 위해 사용될 수 있는 임의의 로직 하드웨어일 수 있다.
프로세서에 의해 실행되는 운영 체제는 임의의 적합한 운영 체제일 수 있다. 운영 체제는 다양한 절차들, 명령어들의 세트들, 일반적인 시스템 태스크들(예를 들어, 메모리 관리, 저장 디바이스 제어, 전력 관리 등)을 제어 및 관리하기 위한 소프트웨어 컴포넌트들 및/또는 드라이버들을 포함할 수 있고, 다양한 하드웨어 및 소프트웨어 컴포넌트들 간의 통신을 용이하게 한다.
메모리(1004) 및 메모리(1054)를 포함하는 본 명세서에 기술된 것과 같은 메모리는 임의의 컴퓨터 판독가능 매체일 수 있고, 추가로, 하나 이상의 프로세서들 또는 디바이스 컴포넌트들에 의한 사용을 위한 코드 및/또는 데이터를 저장할 수 있는 임의의 디바이스 또는 매체일 수 있다. 이것은 캐시, 메인 메모리 및 2차 메모리를 포함하는 메모리 계층을 포함할 수 있다. 메모리 계층은 RAM(예를 들어, SRAM, DRAM, DDRAM), ROM, FLASH, 자기 및/또는 광학 저장 디바이스들, 예컨대 디스크 드라이브들, 자기 테이프, CD(compact disk)들 및 DVD(digital video disc)들의 임의의 조합을 이용하여 구현될 수 있다. 일부 실시예들에서, 주변기기 인터페이스들, 하나 이상의 프로세서들, 및 메모리 제어기는 본 명세서에 기술된 임의의 디바이스 내의 단일 칩 상에서 구현될 수 있다. 일부 다른 실시예들에서, 이들은 별개의 칩들 상에서 구현될 수 있다.
호스트 디바이스(1050) 및 클라이언트 디바이스(1000)와 같이 본 명세서에 기술된 임의의 디바이스는 또한 다양한 하드웨어 컴포넌트들에 전력공급하기 위한 전력 시스템들을 포함할 수 있다. 전력 시스템들은 전력 관리 시스템, 하나 이상의 전원들(예를 들어, 배터리, 교류 전류(alternating current, AC)), 재충전 시스템, 전력 고장 검출 회로, 전력 변환기 또는 인버터, 전력 상태 표시자(예를 들어, 발광 다이오드(LED)) 및 모바일 디바이스들 내에서의 전력의 생성, 관리 및 분산과 전형적으로 연관된 임의의 다른 컴포넌트들을 포함할 수 있다.
일부 실시예들에서, 호스트 디바이스들 및/또는 클라이언트 디바이스들은 다양한 센서들을 포함할 수 있다. 카메라가 센서의 일례일 수 있다. 이러한 카메라 디바이스들은 다른 센서들과 함께 입력 디바이스(1056)의 일부로서 입력 디바이스들로 간주될 수 있다. 카메라는 호스트 디바이스에 의해 제공되는 데이터 공유를 통해 통신될 수 있는 화상용 또는 영상 통화용 AV 데이터를 생성하기 위해 사용될 수 있다. 일부 실시예들에서, 디바이스들은 또한 다양한 다른 센서들을 포함할 수 있다. 센서들은 가속도계들, 나침반, 자이로미터, 압력 센서들, 오디오 센서들, 광 센서들, 기압계들, 마이크로폰들 등을 포함할 수 있다. 센서들은 영상 통화에서 비디오 이미지에 대한 블러링 보상, 또는 하나 이상의 마이크로폰들에서 캡처된 오디오 정보로부터 배경 노이즈를 필터링하는 것을 지원하는 오디오 필터링과 같은, 다양한 디바이스 의사 결정 및 필터링을 구현하기 위해 사용될 수 있다.
일부 실시예들에서, 클라이언트 디바이스(1000) 또는 호스트 디바이스(1050)는 GPS 수신기 또는 다른 위치 지원 디바이스들 또는 모듈들을 포함할 수 있다. 디바이스는 GPS와 같은 인공위성 내비게이션 시스템을 사용하여 포지션 정보, 타이밍 정보, 고도, 또는 다른 내비게이션 정보를 획득할 수 있다. 동작 동안, GPS 유닛은 지구 궤도를 선회하는 GPS 인공위성들로부터 신호들을 수신할 수 있다. GPS 유닛은 신호들을 분석하여 주행 시간 및 거리 추정을 행한다. GPS 유닛은 모바일 디바이스의 현재 포지션(현재 위치)을 결정할 수 있다. 이러한 추정들에 기초하여, 모바일 디바이스는 위치 픽스(fix), 고도, 및/또는 현재 속력을 결정할 수 있다. 위치 픽스는 위도 및 경도 정보와 같은 지리적 좌표들일 수 있다. 다른 비-GPS 위치/모션 모듈들은 클라이언트 디바이스(1000) 또는 호스트 디바이스(1050)의 현재 포지션(예를 들어, 좌표들 또는 다른 지리적 위치 식별자) 및 모션을 결정하는 것을 지원할 수 있다. GPS에 더하여, "셀 ID들"에 기초한 셀룰러 네트워크 포지셔닝, 및 WiFi 네트워크들에 기초한 WiFi 포지셔닝 기술이 위치 지원을 위해 이용될 수 있다. 일부 실시예들에서, 위치/모션 모듈들은 호스트 디바이스의 현재 포지션을 결정하기 위해 상기 시스템들과 함께 센서 정보를 사용할 수 있다. 이어서, 위치 정보는 데이터를 공유하고 있는 현재 호스트 디바이스뿐만 아니라, 클라이언트 디바이스들의 이동에 기초하여 데이터 공유를 위해 사용될 수 있는 다른 호스트 디바이스들에 대한 데이터 공유 연결들을 관리하기 위해 사용될 수 있다.
프로세서(1002) 및 프로세서(1052)는 브라우저, 주소록, 연락처 리스트, 이메일, 인스턴트 메시징, 워드 프로세싱, 키보드 에뮬레이션, 위젯들, JAVA 기반(JAVA-enabled) 애플리케이션들, 암호화, 디지털 저작권 관리, 음성 인식, 음성 복제, 음악 플레이어(MP3 또는 AAC 파일들과 같은 하나 이상의 파일들에 저장된 녹음된 음악을 재생함) 등을 한정 없이 포함하는, 이들의 각각의 디바이스들 상의 하나 이상의 애플리케이션들을 실행할 수 있다. 하나 이상의 애플리케이션들은 또한 데이터 공유 통신들을 관리하기 위한 특정 애플리케이션을 포함할 수 있다.
그래픽 모듈, 시간 모듈 등과 같은 다른 모듈들 또는 명령어들의 세트들이 존재할 수 있다. 예를 들어, 그래픽 모듈은 그래픽 객체들(텍스트, 웹 페이지들, 아이콘들, 디지털 이미지들, 애니메이션들 등을 한정 없이 포함함)을 디스플레이 표면 상에 렌더링, 애니메이팅 및 디스플레이하기 위한 다양한 종래의 소프트웨어 컴포넌트들을 포함할 수 있다. 다른 예에서, 타이머 모듈은 소프트웨어 타이머일 수 있다. 타이머 모듈은 또한 하드웨어로 구현될 수 있다. 시간 모듈은 임의의 수의 이벤트들에 대한 다양한 타이머들을 유지할 수 있다.
다양한 입력 디바이스들을 포함하는 I/O 서브시스템은 디스플레이(1008) 또는 디스플레이(1058)와 같은 디스플레이 시스템에 결합될 수 있다. 이 디스플레이들은 터치 감응형일 수 있고, 그에 따라 디스플레이들 및 입력 디바이스들로서 동작할 수 있다. 따라서, 클라이언트 디바이스(1000)의 터치 감응형 디스플레이는 입력 디바이스(1006)와 디스플레이(1008) 양쪽 모두로서 동작할 수 있다. 호스트 디바이스(1050)의 터치 감응형 디스플레이는 디스플레이(1058) 및 입력 디바이스(1056)로서 동작할 수 있다. 디스플레이는 그래픽 사용자 인터페이스(UI)로서 사용자에게 시각적 출력을 제시할 수 있다. 시각적 출력은 텍스트, 그래픽, 비디오, 및 이들의 임의의 조합을 포함할 수 있다. 시각적 출력 중 일부 또는 전부는 사용자 인터페이스 객체들에 대응할 수 있다. 디스플레이는 LED(발광 다이오드), LCD(액정 디스플레이) 기술, 또는 LPD(발광 폴리머 디스플레이) 기술을 이용할 수 있지만, 다른 실시예들에서는 다른 디스플레이 기술들이 이용될 수 있다.
일부 실시예들에서, I/O 서브시스템은 입력 디바이스(들)(1006) 또는 입력 디바이스(들)(1056)의 일부로서 키보드, 마우스, 및/또는 트랙패드와 같은 사용자 입력 디바이스들 및 디스플레이를 포함할 수 있다. 일부 실시예들에서, I/O 서브시스템은 터치 감응형 디스플레이를 포함할 수 있다. 터치 감응형 디스플레이는 또한 햅틱 및/또는 촉각적 접촉에 기초한 사용자로부터의 입력을 수용할 수 있다. 일부 실시예들에서, 터치 감응형 디스플레이는 사용자 입력을 수용하는 터치 감응형 표면을 형성한다. 터치 감응형 디스플레이/표면은 (임의의 연관된 모듈들 및/또는 명령어들의 세트들과 함께) 터치 감응형 디스플레이 상의 접촉(및 접촉의 임의의 이동 또는 해제)을 검출하고, 검출된 접촉을, 접촉이 발생할 때 터치 스크린 상에 디스플레이되는 하나 이상의 소프트 키들과 같은 사용자 인터페이스 객체들과의 상호작용으로 변환시킨다. 일부 실시예들에서, 터치 감응형 디스플레이와 사용자 사이의 접촉 지점은 사용자의 하나 이상의 디지트(digit)들에 대응한다. 사용자는 스타일러스, 펜, 손가락 등과 같은 임의의 적합한 객체 또는 부속물을 사용하여 터치 감응형 디스플레이와 접촉할 수 있다. 터치 감응형 디스플레이 표면은 용량성, 저항성, 적외선, 및 표면 탄성파(surface acoustic wave) 기술들뿐만 아니라, 다른 근접 센서 어레이들 또는 터치 감응형 디스플레이와의 하나 이상의 접촉 지점들을 결정하기 위한 다른 요소들을 포함하는, 임의의 적합한 터치 감응 기술들을 이용하여 접촉 및 그의 임의의 이동 또는 해제를 검출할 수 있다.
또한, 특정 클라이언트 디바이스 또는 호스트 디바이스의 입력 디바이스들은 전력 제어, 스피커 볼륨 제어, 신호음 음량(ring tone loudness), 키보드 입력, 스크롤링, 홀드, 메뉴, 화면 잠금, 통신들의 클리어링 및 종료 등과 같은 다양한 기능들을 제어 또는 수행하기 위해, 푸시버튼들, 키들, 스위치들, 로커 버튼(rocker button)들, 다이얼들, 슬라이더 스위치들, 스틱들, LED들 등과 같은 하나 이상의 다른 물리적 제어 디바이스들(도시되지 않음)에 결합될 수 있다. 일부 실시예들에서, 터치 스크린 이외에, 디바이스들은 특정 기능들을 활성화 또는 비활성화하기 위해 스크린과는 별개인 터치 패드를 포함할 수 있다. 일부 실시예들에서, 터치 패드는, 터치 스크린과는 달리, 시각적 출력을 디스플레이하지 않는 디바이스의 터치 감응형 영역이다. 터치 패드는 터치 감응형 디스플레이와는 별개인 터치 감응형 표면 또는 터치 감응형 디스플레이에 의해 형성되는 터치 감응형 표면의 연장부일 수 있다.
일부 실시예들에서, 본 명세서에 기술된 동작들의 일부 또는 전부는 사용자의 모바일 디바이스 상에서 실행하는 애플리케이션을 사용하여 수행될 수 있다. 회로들, 로직 모듈들, 프로세서들, 및/또는 다른 컴포넌트들은 본 명세서에 기술된 다양한 동작들을 수행하도록 구성될 수 있다. 당업자는, 구현예에 따라, 이러한 구성이 특정 컴포넌트들의 설계, 셋업, 상호연결, 및/또는 프로그래밍을 통해 달성될 수 있고, 다시 구현예에 따라, 구성된 컴포넌트가 상이한 동작을 위해 재구성가능할 수 있거나 또는 재구성가능하지 않을 수 있다는 것을 이해할 것이다. 예를 들어, 적합한 실행가능 코드를 제공함으로써 프로그래밍가능 프로세서가 구성될 수 있다는 것; 논리 게이트들 및 다른 회로 요소들을 적합하게 연결함으로써 전용 로직 회로가 구성될 수 있다는 것; 등이 있다.
본 발명의 다양한 특징들을 포함하는 컴퓨터 프로그램들이 다양한 컴퓨터 판독가능 저장 매체들 상에서 인코딩될 수 있으며; 적합한 매체들은 자기 디스크 또는 테이프, 콤팩트 디스크(CD) 또는 DVD(digital versatile disk)와 같은 광학 저장 매체들, 플래시 메모리 등을 포함한다. 프로그램 코드로 인코딩된 컴퓨터 판독가능 저장 매체들은 호환가능한 디바이스와 패키징되거나 또는 다른 디바이스들과는 별개로 제공될 수 있다. 또한, 프로그램 코드는 인터넷을 포함하는 다양한 프로토콜들을 따르는 무선 네트워크들, 및/또는 유선 광 네트워크들을 통해 인코딩 및 송신됨으로써, 예를 들어, 인터넷 다운로드를 통해 배포가 가능해질 수 있다.
위에서 상세화된 클라이언트 디바이스들(예컨대 클라이언트 디바이스들(1000)) 및 호스트 디바이스들(예컨대 호스트 디바이스(1050))에 더하여, 네트워크들(예컨대 네트워크(1090)) 및 네트워크 연결들(예컨대 네트워크 연결(1038))의 태양들이 또한 다양한 디바이스들 및 디바이스 컴포넌트들을 사용하여 구현될 수 있다. 예를 들어, 소정 실시예들에서, 연결(1038)이 단순히 무선 인터페이스(1012)와 무선 인터페이스(1062) 사이의 직접적인 P2P 무선 연결일 수 있지만, 다른 실시예들에서는, 네트워크(1090)와 같은 통신 네트워크가 연결(1038)을 구현하기 위해 사용될 수 있다. 이러한 연결은 네트워크 연결(1038)을 구현하기 위해 하나 이상의 액세스 포인트들, 라우터들, 서버 컴퓨터들, 저장 디바이스들, 또는 다른 디바이스들을 포함할 수 있다. 이 디바이스들 각각은 위에서 상세화된 것과 같은 프로세서, 메모리, 및 입/출력 구조물을 포함할 수 있다. 유사하게, 다른 네트워크 연결들은, 위에서 상세화된 서버 컴퓨터들 및 다른 네트워크 인프라스트럭처에 더하여, 셀 타워들, 스위칭 네트워크들, 패킷 프로세싱 디바이스들을 수반할 수 있고, 이들 각각은 프로세싱, 메모리, 및 네트워크 인터페이스 컴포넌트들을 포함할 수 있다.
도 11은 클라이언트 디바이스 또는 호스트 디바이스일 수 있는 예시적인 모바일 디바이스(1100)의 블록 다이어그램이다. 모바일 디바이스(1100)는 일반적으로 컴퓨터 판독가능 매체(1102), 프로세싱 시스템(1104), 입/출력(I/O) 서브시스템(1106), 무선 회로부(1108), 및 스피커(1150) 및 마이크로폰(1152)을 포함하는 오디오 회로부(1110)를 포함한다. 이 컴포넌트들은 하나 이상의 통신 버스들 또는 신호 라인들(1103)에 의해 결합될 수 있다. 디바이스(1100)는, 핸드헬드 컴퓨터, 태블릿 컴퓨터, 모바일 폰, 랩톱 컴퓨터, 태블릿 디바이스, 미디어 플레이어, 개인 휴대 정보 단말기(PDA), 키 포브, 차량 열쇠, 액세스 카드, 다기능 디바이스, 모바일 폰, 휴대용 게이밍 디바이스 등을, 이 아이템들 중 2개 이상의 아이템들의 조합을 포함하여, 포함하는 임의의 휴대용 전자 디바이스일 수 있다. 다양한 실시예들에서, 클라이언트 디바이스(1000) 또는 호스트 디바이스(1050) 또는 임의의 다른 디바이스, 서버, 액세스 포인트, 네트워크 요소 또는 다른 컴퓨팅 디바이스 또는 요소는 도 11의 요소들을 사용하여 전체적으로 또는 부분적으로 구현될 수 있다.
도 11에 도시된 아키텍처는 모바일 디바이스(1100)에 대한 아키텍처의 일례일 뿐이고, 디바이스(1100)는 도시된 것보다 더 많거나 더 적은 컴포넌트들을 가질 수 있거나, 또는 컴포넌트들의 상이한 구성을 가질 수 있다는 것이 명백할 것이다. 도 11에 도시된 다양한 컴포넌트들은 하나 이상의 신호 프로세싱 및/또는 주문형 집적 회로(application specific integrated circuit)들을 비롯한, 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어 양쪽 모두의 조합으로 구현될 수 있다.
무선 회로부(1108)는 정보를 무선 링크 또는 네트워크를 통해 안테나 시스템, RF 송수신기, 하나 이상의 증폭기들, 튜너, 하나 이상의 발진기들, 디지털 신호 프로세서, CODEC 칩셋, 메모리 등과 같은 하나 이상의 다른 디바이스들의 종래의 회로부로 전송 및 수신하기 위해 사용된다. 무선 회로부(1108)는, 예를 들어, 본 명세서에 기술된 것과 같은 다양한 프로토콜들을 사용할 수 있다.
무선 회로부(1108)는 주변기기 인터페이스(1116)를 통해 프로세싱 시스템(1104)에 결합된다. 인터페이스(1116)는 주변기기들과 프로세싱 시스템(1104) 사이의 통신을 확립하고 유지하기 위한 종래의 컴포넌트들을 포함할 수 있다. (예를 들어, 음성 인식 또는 음성 커맨드 애플리케이션들에서) 무선 회로부(1108)에 의해 수신된 음성 및 데이터 정보는 주변기기 인터페이스(1116)를 통해 하나 이상의 프로세서들(1118)로 전송된다. 하나 이상의 프로세서들(1118)은 매체(1102) 상에 저장된 하나 이상의 애플리케이션 프로그램들(1134)에 대한 다양한 데이터 포맷들을 프로세싱하도록 구성가능하다.
주변기기 인터페이스(1116)는 디바이스의 입력 및 출력 주변기기들을 프로세서(1118) 및 컴퓨터 판독가능 매체(1102)에 결합한다. 하나 이상의 프로세서들(1118)은 제어기(1120)를 통해 컴퓨터 판독가능 매체(1102)와 통신한다. 컴퓨터 판독가능 매체(1102)는 하나 이상의 프로세서들(1118)에 의한 사용을 위해 코드 및/또는 데이터를 저장할 수 있는 임의의 디바이스 또는 매체일 수 있다. 매체(1102)는 캐시, 메인 메모리 및 2차 메모리를 포함하는 메모리 계층을 포함할 수 있다.
모바일 디바이스(1100)는 또한 다양한 하드웨어 컴포넌트들에 전력공급하기 위한 전력 시스템(1142)을 포함한다. 전력 시스템(1142)은 전력 관리 시스템, 하나 이상의 전원들(예를 들어, 배터리, 교류 전류(AC)), 재충전 시스템, 전력 고장 검출 회로, 전력 변환기 또는 인버터, 전력 상태 표시자(예를 들어, 발광 다이오드(LED)) 및 모바일 디바이스들 내에서의 전력의 생성, 관리 및 분산과 전형적으로 연관된 임의의 다른 컴포넌트들을 포함할 수 있다.
일부 실시예들에서, 모바일 디바이스(1100)는 카메라(1144)를 포함한다. 일부 실시예들에서, 모바일 디바이스(1100)는 센서들(1146)을 포함한다. 센서들은 가속도계들, 나침반, 자이로미터, 압력 센서들, 오디오 센서들, 광 센서들, 기압계들 등을 포함할 수 있다. 센서들(1146)은 위치의 청각 또는 광 시그니처들과 같은 위치 태양들을 감지하기 위해 사용될 수 있다.
일부 실시예들에서, 모바일 디바이스(1100)는 때때로 GPS 유닛(1148)이라고 지칭되는 GPS 수신기를 포함할 수 있다. 모바일 디바이스는 GPS와 같은 인공위성 내비게이션 시스템을 사용하여 포지션 정보, 타이밍 정보, 고도, 또는 다른 내비게이션 정보를 획득할 수 있다. 동작 동안, GPS 유닛은 지구 궤도를 선회하는 GPS 인공위성들로부터 신호들을 수신할 수 있다. GPS 유닛은 신호들을 분석하여 주행 시간 및 거리 추정을 행한다. GPS 유닛은 모바일 디바이스의 현재 포지션(현재 위치)을 결정할 수 있다. 이러한 추정들에 기초하여, 모바일 디바이스는 위치 픽스, 고도, 및/또는 현재 속력을 결정할 수 있다. 위치 픽스는 위도 및 경도 정보와 같은 지리적 좌표들일 수 있다.
하나 이상의 프로세서들(1118)은 디바이스(1100)를 위한 다양한 기능들을 수행하기 위해 매체(1102)에 저장된 다양한 소프트웨어 컴포넌트들을 실행한다. 일부 실시예들에서, 소프트웨어 컴포넌트들은 운영 체제(1122), 통신 모듈(또는 명령어들의 세트)(1124), 위치 모듈(또는 명령어들의 세트)(1126), 데이터 공유 모듈(1128), 및 다른 애플리케이션들(또는 명령어들의 세트)(1134), 예컨대 차량 로케이터 앱 및 내비게이션 앱을 포함한다.
운영 체제(1122)는 iOS, 맥 OS(Mac OS), 다윈(Darwin), RTXC, 리눅스(LINUX), 유닉스(UNIX), OS X, 윈도우즈(WINDOWS), 또는 임베디드 운영 체제, 예컨대 VxWorks를 포함하는 임의의 적합한 운영 체제일 수 있다. 운영 체제는 다양한 절차들, 명령어들의 세트들, 일반적인 시스템 태스크들(예를 들어, 메모리 관리, 저장 디바이스 제어, 전력 관리 등)을 제어 및 관리하기 위한 소프트웨어 컴포넌트들 및/또는 드라이버들을 포함할 수 있고, 다양한 하드웨어 및 소프트웨어 컴포넌트들 간의 통신을 용이하게 한다.
통신 모듈(1124)은 하나 이상의 외부 포트들(1136)을 통해 또는 무선 회로부(1108)를 통해 다른 디바이스들과의 통신을 용이하게 하고, 무선 회로부(1108) 및/또는 외부 포트(1136)로부터 수신되는 데이터를 핸들링하기 위한 다양한 소프트웨어 컴포넌트들을 포함한다. 외부 포트(1136)(예를 들어, USB, 파이어와이어(FireWire), 라이트닝 커넥터(Lightning connector), 60-핀 커넥터 등)는 다른 디바이스들에 직접적으로 또는 네트워크(예를 들어, 인터넷, 무선 LAN 등)를 통해 간접적으로 결합하도록 구성된다.
위치/모션 모듈(1126)은 모바일 디바이스(1100)의 현재 포지션(예를 들어, 좌표들 또는 다른 지리적 위치 식별자) 및 모션을 결정하는 것을 지원할 수 있다. 현대의 포지셔닝 시스템들은 인공위성 기반 포지셔닝 시스템들, 예컨대 GPS, "셀 ID들"에 기초한 셀룰러 네트워크 포지셔닝, 및 Wi-Fi 네트워크들에 기초한 Wi-Fi 포지셔닝 기술을 포함한다. GPS는 또한 실내 또는 "도시 협곡(urban canyon)들"에서는 가시적이지 않을 수 있는(또는 약한 신호들을 가질 수 있는) 포지션 추정치를 결정하기 위해 다수의 인공위성들의 가시성에 의존한다. 일부 실시예들에서, 위치/모션 모듈(1126)은 GPS 유닛(1148)으로부터 데이터를 수신하고 신호들을 분석하여 모바일 디바이스의 현재 포지션을 결정한다. 일부 실시예들에서, 위치/모션 모듈(1126)은 Wi-Fi 또는 셀룰러 위치 기술을 이용하여 현재 위치를 결정할 수 있다. 예를 들어, 모바일 디바이스의 위치는 인근의 셀 사이트들 및/또는 Wi-Fi 액세스 포인트들의 지식을, 이들의 위치들의 지식도 함께 사용하여 추정될 수 있다. Wi-Fi 또는 셀룰러 송신기를 식별하는 정보는 무선 회로부(1108)에서 수신되고 위치/모션 모듈(1126)로 전달된다. 일부 실시예들에서, 위치 모듈은 하나 이상의 송신기 ID들을 수신한다. 일부 실시예들에서, 송신기 ID들의 시퀀스는, 송신기 ID들을 대응하는 송신기들의 포지션 좌표들과 맵핑 또는 상관시키고 대응하는 송신기들의 포지션 좌표들에 기초하여 모바일 디바이스(1100)에 대한 추정된 포지션 좌표들을 컴퓨팅하는 참조 데이터베이스(예를 들어, 셀 ID 데이터베이스, Wi-Fi 참조 데이터베이스)와 비교될 수 있다. 이용되는 특정 위치 기술에 관계없이, 위치/모션 모듈(1126)은 위치 픽스가 유도될 수 있는 정보를 수신하고, 그 정보를 해석하고, 지리적 좌표들, 위도/경도, 또는 다른 위치 픽스 데이터와 같은 위치 정보를 반환한다.
데이터 공유 모듈(1128)은 모바일 디바이스(1100)가 호스트 디바이스로서 작동할 때 도 3의 사용자 인터페이스(300)를 포함할 수 있다. 모바일 디바이스(1100)가 클라이언트 디바이스로서 작동할 때, 데이터 공유 모듈은 사용자가 호스트 디바이스에 대한 통신 링크를 요청하거나 또는 호스트 디바이스와 연결하려고 자동으로 시도하기 위한 메커니즘들을 포함할 수 있다. 이러한 경우에, 모바일 디바이스(1100)는 클라이언트 식별자를 호스트 디바이스로 전송할 수 있다.
모바일 디바이스 상의 하나 이상의 애플리케이션들(1134)은 브라우저, 주소록, 연락처 리스트, 이메일, 인스턴트 메시징, 워드 프로세싱, 키보드 에뮬레이션, 위젯들, JAVA 기반 애플리케이션들, 암호화, 디지털 저작권 관리, 음성 인식, 음성 복제, 음악 플레이어(MP3 또는 AAC 파일들과 같은 하나 이상의 파일들에 저장된 녹음된 음악을 재생함) 등을 한정 없이 포함하는, 디바이스(1100) 상에 인스톨된 임의의 애플리케이션들을 포함할 수 있다.
그래픽 모듈, 시간 모듈 등과 같은 다른 모듈들 또는 명령어들의 세트들(도시되지 않음)이 존재할 수 있다. 예를 들어, 그래픽 모듈은 그래픽 객체들(텍스트, 웹 페이지들, 아이콘들, 디지털 이미지들, 애니메이션들 등을 한정 없이 포함함)을 디스플레이 표면 상에 렌더링, 애니메이팅 및 디스플레이하기 위한 다양한 종래의 소프트웨어 컴포넌트들을 포함할 수 있다. 다른 예에서, 타이머 모듈은 소프트웨어 타이머일 수 있다. 타이머 모듈은 또한 하드웨어로 구현될 수 있다. 시간 모듈은 임의의 수의 이벤트들에 대한 다양한 타이머들을 유지할 수 있다.
I/O 서브시스템(1106)은 터치 감응형 디스플레이일 수 있는 디스플레이 시스템(도시되지 않음)에 결합될 수 있다. 디스플레이는 GUI에서 사용자에게 시각적 출력을 디스플레이한다. 시각적 출력은 텍스트, 그래픽, 비디오, 및 이들의 임의의 조합을 포함할 수 있다. 시각적 출력 중 일부 또는 전부는 사용자 인터페이스 객체들에 대응할 수 있다. 디스플레이는 LED(발광 다이오드), LCD(액정 디스플레이) 기술, 또는 LPD(발광 폴리머 디스플레이) 기술을 이용할 수 있지만, 다른 실시예들에서는 다른 디스플레이 기술들이 이용될 수 있다.
일부 실시예들에서, I/O 서브시스템(1106)은 키보드, 마우스, 및/또는 트랙패드와 같은 사용자 입력 디바이스들 및 디스플레이를 포함할 수 있다. 일부 실시예들에서, I/O 서브시스템(1106)은 터치 감응형 디스플레이를 포함할 수 있다. 터치 감응형 디스플레이는 또한 햅틱 및/또는 촉각적 접촉에 기초한 사용자로부터의 입력을 수용할 수 있다. 일부 실시예들에서, 터치 감응형 디스플레이는 사용자 입력을 수용하는 터치 감응형 표면을 형성한다. 터치 감응형 디스플레이/표면은 (매체(1102) 내의 임의의 연관된 모듈들 및/또는 명령어들의 세트들과 함께) 터치 감응형 디스플레이 상의 접촉(및 접촉의 임의의 이동 또는 해제)을 검출하고, 검출된 접촉을, 접촉이 발생할 때 터치 스크린 상에 디스플레이되는 하나 이상의 소프트 키들과 같은 사용자 인터페이스 객체들과의 상호작용으로 변환시킨다. 일부 실시예들에서, 터치 감응형 디스플레이와 사용자 사이의 접촉 지점은 사용자의 하나 이상의 디지트들에 대응한다. 사용자는 스타일러스, 펜, 손가락 등과 같은 임의의 적합한 객체 또는 부속물을 사용하여 터치 감응형 디스플레이와 접촉할 수 있다. 터치 감응형 디스플레이 표면은 용량성, 저항성, 적외선, 및 표면 탄성파 기술들뿐만 아니라, 다른 근접 센서 어레이들 또는 터치 감응형 디스플레이와의 하나 이상의 접촉 지점들을 결정하기 위한 다른 요소들을 포함하는, 임의의 적합한 터치 감응 기술들을 이용하여 접촉 및 그의 임의의 이동 또는 해제를 검출할 수 있다.
또한, I/O 서브시스템은 전력 제어, 스피커 볼륨 제어, 신호음 음량, 키보드 입력, 스크롤링, 홀드, 메뉴, 화면 잠금, 통신들의 클리어링 및 종료 등과 같은 다양한 기능들을 제어 또는 수행하기 위해, 푸시버튼들, 키들, 스위치들, 로커 버튼들, 다이얼들, 슬라이더 스위치들, 스틱들, LED들 등과 같은 하나 이상의 다른 물리적 제어 디바이스들(도시되지 않음)에 결합될 수 있다. 일부 실시예들에서, 터치 스크린 이외에, 디바이스(1100)는 특정 기능들을 활성화 또는 비활성화하기 위한 터치 패드(도시되지 않음)를 포함할 수 있다. 일부 실시예들에서, 터치 패드는, 터치 스크린과는 달리, 시각적 출력을 디스플레이하지 않는 디바이스의 터치 감응형 영역이다. 터치 패드는 터치 감응형 디스플레이와는 별개인 터치 감응형 표면 또는 터치 감응형 디스플레이에 의해 형성되는 터치 감응형 표면의 연장부일 수 있다.
일부 실시예들에서, 본 명세서에 기술된 동작들의 일부 또는 전부는 사용자의 모바일 디바이스 상에서 실행하는 애플리케이션을 사용하여 수행될 수 있다. 회로들, 로직 모듈들, 프로세서들, 및/또는 다른 컴포넌트들은 본 명세서에 기술된 다양한 동작들을 수행하도록 구성될 수 있다. 당업자는, 구현예에 따라, 이러한 구성이 특정 컴포넌트들의 설계, 셋업, 상호연결, 및/또는 프로그래밍을 통해 달성될 수 있고, 다시 구현예에 따라, 구성된 컴포넌트가 상이한 동작을 위해 재구성가능할 수 있거나 또는 재구성가능하지 않을 수 있다는 것을 이해할 것이다. 예를 들어, 적합한 실행가능 코드를 제공함으로써 프로그래밍가능 프로세서가 구성될 수 있다는 것; 논리 게이트들 및 다른 회로 요소들을 적합하게 연결함으로써 전용 로직 회로가 구성될 수 있다는 것; 등이 있다.
본 발명의 다양한 특징들을 포함하는 컴퓨터 프로그램들이 다양한 컴퓨터 판독가능 저장 매체들 상에서 인코딩될 수 있으며; 적합한 매체들은 자기 디스크 또는 테이프, 콤팩트 디스크(CD) 또는 DVD(digital versatile disk)와 같은 광학 저장 매체들, 플래시 메모리 등을 포함한다. 프로그램 코드로 인코딩된 컴퓨터 판독가능 저장 매체들은 호환가능한 디바이스와 패키징되거나 또는 다른 디바이스들과는 별개로 제공될 수 있다. 또한, 프로그램 코드는 인터넷을 포함하는 다양한 프로토콜들을 따르는 무선 네트워크들, 및/또는 유선 광 네트워크들을 통해 인코딩 및 송신됨으로써, 예를 들어, 인터넷 다운로드를 통해 배포가 가능해질 수 있다.
본 발명이 특정 실시예들에 대하여 기술되었지만, 본 발명은 하기의 청구범위의 범주 내의 모든 수정들 및 등가물들을 커버하도록 의도된다는 것이 이해될 것이다.

Claims (20)

  1. 제1 사용자와는 상이한 제2 사용자와 연관된 클라이언트 디바이스에 대해 네트워크에 대한 네트워크 통신들을 제공하기 위해 상기 제1 사용자와 연관된 호스트 디바이스를 사용하는 방법으로서,
    제1 무선 인터페이스, 제2 무선 인터페이스, 입력 모듈, 및 상기 호스트 디바이스가 상기 제1 사용자와 연관되지 않은 클라이언트 디바이스들에게 네트워크 액세스를 제공하기 위해 하나 이상의 공유 파라미터들을 저장하는 메모리를 포함하는 상기 호스트 디바이스에서:
    공유 입력을 수신한 후에, 상기 제2 무선 인터페이스를 통해 상기 제2 사용자와 연관된 상기 클라이언트 디바이스로부터 네트워크 액세스 요청 - 상기 네트워크 액세스 요청은 상기 클라이언트 디바이스를 식별하는 클라이언트 식별자를 포함함 - 을 수신하는 단계;
    상기 제1 무선 인터페이스를 통해 상기 클라이언트 식별자를 인증 서버로 전송하는 단계;
    상기 인증 서버로부터, 상기 클라이언트 디바이스가 상기 인증 서버에 등록된다는 표시를 제공하는 인증 응답을 수신하는 단계;
    상기 인증 응답에 응답하여,
    상기 제2 무선 인터페이스를 통해 상기 클라이언트 디바이스 간에서 데이터를 통신하는 것;
    상기 제1 무선 인터페이스를 통해 상기 데이터를 상기 네트워크와 통신하는 것에 의해 상기 클라이언트 디바이스에 네트워크 액세스를 제공하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 하나 이상의 공유 파라미터들은, 턴 온되고 있는 데이터 공유의 선택, 대역폭 한도 초과시에 네트워크 액세스가 제한되는 상기 대역폭 한도, 및 배터리 레벨 미만에서 네트워크 액세스가 제한되는 상기 배터리 레벨을 포함하는, 방법.
  3. 제1항에 있어서, 상기 호스트 디바이스에서:
    상기 호스트 디바이스가 상기 인증 서버에 등록되는지를 검증하기 위해 상기 호스트 디바이스의 호스트 식별자를 상기 인증 서버로 전송하는 단계;
    상기 호스트 디바이스가 상기 인증 서버에 등록된다는 표시를 상기 클라이언트 디바이스에 제공하는 추가 인증 응답을 수신하고 상기 추가 인증 응답을 상기 클라이언트 디바이스로 포워딩하는 단계를 추가로 포함하는, 방법.
  4. 제1항에 있어서, 상기 네트워크 액세스 요청은 인증 크리덴셜(authentication credential)을 추가로 포함하고, 상기 방법은, 상기 호스트 디바이스에서:
    상기 인증 크리덴셜을 상기 인증 서버로 전송하는 단계를 추가로 포함하고, 상기 인증 응답은, 상기 클라이언트 식별자와 상기 인증 크리덴셜이 상기 인증 서버에 저장된 값들과 매칭할 때 상기 클라이언트 디바이스가 상기 인증 서버에 등록됨을 나타내는, 방법.
  5. 제1항에 있어서, 상기 호스트 디바이스에서:
    상기 클라이언트 디바이스에 네트워크 액세스를 제공하기 전에, 네트워크 액세스를 공유하기 위해 상기 호스트 디바이스에 이용가능한 인센티브들에 관한 정보를 포함하는 추가 응답을 상기 인증 서버로부터 수신하는 단계; 및 상기 이용가능한 인센티브들에 관한 정보에 기초하여 상기 하나 이상의 공유 파라미터들에 따라 네트워크 액세스를 제공할지 여부를 결정하는 단계를 추가로 포함하는, 방법.
  6. 제1항에 있어서, 상기 호스트 디바이스에서:
    상기 클라이언트 디바이스에 대해 통신된 상기 데이터와 연관된 리소스 사용량(resource usage)을 식별하는 단계; 및
    상기 제1 사용자에 대한 인센티브를 획득하기 위해 상기 리소스 사용량을 인센티브 서버에게 통신하는 단계; 및
    상기 리소스 사용량을 상기 인센티브 서버에게 통신하는 단계 후에, 상기 제1 무선 인터페이스를 통해 인센티브 서버 컴퓨터로부터, 상기 리소스 사용량과 연관된 인센티브의 통지를 수신하는 단계를 추가로 포함하는, 방법.
  7. 제1 사용자와는 상이한 하나 이상의 다른 사용자들과 연관된 하나 이상의 클라이언트 디바이스들에 대해 네트워크 통신들을 제공하기 위한, 상기 제1 사용자와 연관된 호스트 디바이스로서,
    제1 무선 인터페이스;
    제2 무선 인터페이스;
    상기 제1 사용자와 연관되지 않은 클라이언트 디바이스들로의 상기 호스트 디바이스에 의한 네트워크 액세스의 제공을 제어하는 공유 파라미터 - 상기 공유 파라미터는 상기 하나 이상의 클라이언트 디바이스들에 상기 네트워크 액세스를 제공하는 것과 연관된 리소스 사용량에 대응함 - 에 대한 임계치 값을 저장하는 메모리;
    하나 이상의 프로세서들을 포함하고, 상기 하나 이상의 프로세서들은,
    네트워크와 통신하기 위해 상기 제1 무선 인터페이스를 사용하여 그리고 상기 하나 이상의 클라이언트 디바이스들과 통신하기 위해 상기 제2 무선 인터페이스를 사용하여 상기 하나 이상의 클라이언트 디바이스들에게 상기 네트워크 액세스를 제공하도록;
    상기 네트워크 액세스를 제공하는 것과 연관된 상기 리소스 사용량을 모니터링하도록;
    상기 네트워크 액세스를 제공하는 것과 연관된 상기 리소스 사용량이 상기 임계치 값을 초과하였다는 것을 판정하도록; 그리고
    상기 리소스 사용량이 상기 임계치 값을 초과하였다는 판정에 기초하여 상기 하나 이상의 클라이언트 디바이스들로의 상기 네트워크 액세스를 제한하도록 구성되는, 호스트 디바이스.
  8. 제7항에 있어서, 상기 하나 이상의 프로세서들은,
    상기 제1 사용자와 연관되지 않은 클라이언트 디바이스들로의 상기 호스트 디바이스에 의한 네트워크 액세스의 제공을 제어하는 상기 공유 파라미터를 포함하는 사용자 인터페이스를 제공하도록; 그리고
    상기 사용자 인터페이스를 통해, 상기 리소스 사용량에 대한 상기 임계치 값을 특정하는 공유 입력을 수신하도록 추가로 구성되고, 상기 사용자 인터페이스는 복수의 공유 파라미터들을 포함하고, 상기 복수의 공유 파라미터들 각각은, 상기 제1 사용자와 연관되지 않은 클라이언트 디바이스들로의 상기 호스트 디바이스에 의한 네트워크 액세스의 제공의 상이한 제어를 제공하는, 호스트 디바이스.
  9. 제7항에 있어서, 상기 공유 파라미터는 리소스 사용량에 기초하여 상기 제1 사용자와 연관되지 않은 클라이언트 디바이스들에게 네트워크 액세스를 제공하기 위해 상기 호스트 디바이스가 이용가능한 때를 특정하는, 호스트 디바이스.
  10. 제7항에 있어서, 상기 공유 파라미터는, 상기 네트워크를 통해 상기 호스트 디바이스에 이용가능한 대역폭의 퍼센티지에 대응하는, 호스트 디바이스.
  11. 제10항에 있어서, 상기 네트워크 액세스를 제한하는 것은 공유를 위해 이용가능한 대역폭의 양을 감소시키는 것을 포함하는, 호스트 디바이스.
  12. 제7항에 있어서, 상기 공유 파라미터는 상기 호스트 디바이스의 배터리 레벨에 대응하고, 상기 배터리 레벨 미만에서 네트워크 액세스가 제한되는, 호스트 디바이스.
  13. 제12항에 있어서, 상기 네트워크 액세스를 제한하는 것은, 상기 배터리 레벨이 상기 임계치 값 미만일 때, 공유를 위해 이용가능한 대역폭의 양을 제1 대역폭으로 감소시키는 것을 포함하는, 호스트 디바이스.
  14. 제13항에 있어서, 상기 호스트 디바이스에서:
    사용자 인터페이스를 통해, 상기 임계치 값보다 더 작은, 상기 배터리 레벨에 대한 후속 임계치 값을 수신하는 것; 및
    상기 배터리 레벨이 상기 임계치 값 미만일 때, 공유를 위해 이용가능한 대역폭의 양을, 상기 제1 대역폭보다 더 작은 제2 대역폭으로 감소시키는 것을 추가로 포함하는, 호스트 디바이스.
  15. 제7항에 있어서, 상기 하나 이상의 프로세서들은,
    제2 클라이언트 디바이스에 네트워크 액세스를 제공하면서 제1 클라이언트 디바이스에 네트워크 액세스를 제공하도록 추가로 구성되고, 상기 네트워크 액세스를 제공하는 것과 연관된 상기 리소스 사용량이 상기 임계치 값을 초과하였다는 판정은, 상기 네트워크 액세스가 상기 제1 클라이언트 디바이스 및 상기 제2 클라이언트 디바이스에 제공된 것에 기초하는, 호스트 디바이스.
  16. 제2 사용자와는 상이한 제1 사용자와 연관된 호스트 디바이스를 통해 네트워크에 액세스하기 위해 상기 제2 사용자와 연관된 클라이언트 디바이스를 사용하는 방법으로서,
    무선 인터페이스를 포함하는 상기 클라이언트 디바이스에서:
    상기 무선 인터페이스를 통해, 상기 호스트 디바이스와의 네트워크 공유 통신 링크를 확립하는 단계로서, 상기 네트워크 공유 통신 링크를 확립하는 단계는,
    상기 클라이언트 디바이스와 연관된 클라이언트 식별자를 상기 호스트 디바이스로 전송하는 단계;
    상기 호스트 디바이스가 상기 네트워크에 네트워크 액세스를 제공하기 위해 상기 네트워크 공유 통신 링크에 대해 이용가능하다는 표시를 상기 호스트 디바이스로부터 수신하는 단계; 및
    상기 호스트 디바이스를 통해 인증 서버로부터, 상기 인증 서버로부터의 인증 응답 - 상기 인증 응답은 상기 호스트 디바이스가 상기 인증 서버에 등록된다는 표시를 제공하고, 상기 클라이언트 식별자는 상기 클라이언트 디바이스가 상기 인증 서버에 등록된다는 것을 결정하는 데 사용가능함 - 을 수신하는 단계를 포함하는, 상기 네트워크 공유 통신 링크를 확립하는 단계; 및
    상기 네트워크 공유 통신 링크를 통해 데이터를 상기 네트워크와 통신하는 단계를 포함하는, 방법.
  17. 제16항에 있어서, 상기 클라이언트 디바이스에서:
    상기 네트워크 공유 통신 링크를 확립하는 단계 전에 상기 클라이언트 디바이스를 상기 인증 서버에 등록하는 단계를 추가로 포함하는, 방법.
  18. 제17항에 있어서, 상기 클라이언트 디바이스에서:
    상기 인증 서버에의 상기 클라이언트 디바이스의 등록의 일부로서 상기 인증 서버로부터 상기 클라이언트 식별자를 수신하는 단계를 추가로 포함하는, 방법.
  19. 제16항에 있어서, 상기 인증 응답은 상기 인증 서버에 의해 암호화되고 상기 클라이언트 디바이스에 의해 암호화해제되는, 방법.
  20. 제19항에 있어서, 상기 클라이언트 디바이스에서:
    암호화해제된 상기 인증 응답에서 수신된 공유 비밀(shared secret)을 식별함으로써 상기 인증 응답을 검증하는 단계; 및
    상기 수신된 공유 비밀을, 상기 클라이언트 디바이스에 저장되는 저장된 공유 비밀과 비교하는 단계를 추가로 포함하는, 방법.
KR1020177005717A 2014-09-26 2015-07-28 모바일 디바이스들에 대한 네트워크 대역폭 공유 KR101911653B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462056297P 2014-09-26 2014-09-26
US62/056,297 2014-09-26
US14/659,930 US9526032B2 (en) 2014-09-26 2015-03-17 Network bandwidth sharing for small mobile devices
US14/659,930 2015-03-17
PCT/US2015/042367 WO2016048446A1 (en) 2014-09-26 2015-07-28 Network bandwidth sharing for mobile devices

Publications (2)

Publication Number Publication Date
KR20170038883A true KR20170038883A (ko) 2017-04-07
KR101911653B1 KR101911653B1 (ko) 2018-10-24

Family

ID=53836229

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177005717A KR101911653B1 (ko) 2014-09-26 2015-07-28 모바일 디바이스들에 대한 네트워크 대역폭 공유

Country Status (6)

Country Link
US (2) US9526032B2 (ko)
EP (1) EP3198909B1 (ko)
KR (1) KR101911653B1 (ko)
CN (1) CN106664522B (ko)
TW (1) TWI586196B (ko)
WO (1) WO2016048446A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190007729A (ko) * 2017-07-13 2019-01-23 김국 무선 데이터 공여 시스템 및 그것을 이용한 무선 데이터 공여 방법
KR102050844B1 (ko) * 2018-09-04 2019-12-03 오딘네트워크 주식회사 보상 장치 및 이를 이용한 보상 방법, 및 이를 구비한 네트워크 시스템
WO2020138566A1 (ko) * 2018-12-27 2020-07-02 (주)코어테크놀로지 근거리 그룹 사용자 기반의 글로벌 이러닝 플랫폼 및 그 방법
KR102486466B1 (ko) * 2022-08-09 2023-01-12 주식회사 서큘러스 인터랙션 로봇 및 이를 이용한 무선 홈 네트워킹 서비스 제공 방법

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10438188B1 (en) * 2013-09-27 2019-10-08 Groupon, Inc. Systems and methods for providing shared promotion redemptions
US10057608B2 (en) * 2013-10-21 2018-08-21 Time Warner Cable Enterprises Llc Network management, monitoring, and flow control
US9451656B2 (en) 2014-02-28 2016-09-20 At&T Mobility Ii Llc Enabling wireless connectivity for devices
US10575355B2 (en) 2014-09-02 2020-02-25 Apple Inc. API for web access directly or through intermediary
US9526032B2 (en) 2014-09-26 2016-12-20 Apple Inc. Network bandwidth sharing for small mobile devices
WO2016106058A1 (en) * 2014-12-23 2016-06-30 Microcast Communications, Llc Communication network including transmitter registry and associated methods
KR20160087646A (ko) * 2015-01-14 2016-07-22 엘지전자 주식회사 와치형 단말기 및 그 제어방법
WO2016144422A1 (en) 2015-03-06 2016-09-15 Apple Inc. Determining when to establish connection between mobile client and proxy devices
US10756963B2 (en) * 2015-03-17 2020-08-25 Pulzze Systems, Inc. System and method for developing run time self-modifying interaction solution through configuration
US10079874B2 (en) * 2015-03-17 2018-09-18 Pulzze Systems, Inc. System, non-transitory computer readable medium storing a computer readable program for executing a method for an interaction logic through the system, and IoT interaction system
US9628971B2 (en) * 2015-03-20 2017-04-18 At&T Mobility Ii Llc Push notifications for a gateway device and associated devices
US10296851B2 (en) * 2015-04-11 2019-05-21 At&T Intellectual Property I, L.P. Automatic allocation of physical facilities for maximum collaboration
US9955384B2 (en) * 2015-06-02 2018-04-24 T-Mobile Usa, Inc. Mobile device hotspot secure public peer-to-peer sharing
CN107852670A (zh) * 2015-07-06 2018-03-27 瑞典爱立信有限公司 网络接入技术指示
CN106527673B (zh) * 2015-09-11 2019-09-06 阿里巴巴集团控股有限公司 绑定可穿戴设备的方法和装置、电子支付方法和装置
US20170078416A1 (en) * 2015-09-15 2017-03-16 Lenovo (Singapore) Pte, Ltd. Apparatus, method, and program product for data bandwidth optimization
US10715384B2 (en) * 2015-10-30 2020-07-14 Intuit Inc. Automatically modifying computer parameters as an incentive for complying with data policies
US9635188B1 (en) * 2015-10-30 2017-04-25 International Business Machines Corporation Mobile device data allocation system
KR102401477B1 (ko) * 2015-11-24 2022-05-25 삼성전자주식회사 사용자 단말 장치 및 그 제어 방법
US9621678B1 (en) * 2016-01-13 2017-04-11 Linkedin Corporation Delivering and displaying content feeds on smartwatch devices
US10681705B2 (en) * 2016-04-29 2020-06-09 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Common resource-based data transmission method and device
KR102644876B1 (ko) * 2016-06-01 2024-03-08 삼성전자주식회사 정보 처리 시스템 및 이에 포함되는 전자 장치
KR20170143431A (ko) * 2016-06-21 2017-12-29 최명수 협력 기반의 상호 감시를 통해 중요 휴대 물품의 도난 및 분실을 방지하기 위한 시스템 및 방법
US9756604B1 (en) * 2016-07-21 2017-09-05 Immersion Corporation Haptic functionality for network connected devices
US10187259B2 (en) 2016-07-26 2019-01-22 Hewlett-Packard Development Company, L.P. Bandwidth allocation
US10237137B2 (en) 2016-09-12 2019-03-19 Edward Linn Helvey Remotely assigned, bandwidth-limiting internet access apparatus and method
CN109964499B (zh) * 2016-11-21 2023-04-04 惠普发展公司,有限责任合伙企业 用于存在识别的方法、设备和系统
USD817313S1 (en) 2016-12-22 2018-05-08 Michael Horito Network access point
KR102589503B1 (ko) * 2017-01-02 2023-10-16 삼성전자 주식회사 데이터 사용량을 공유 받는 공유 대상 장치를 설정하는 방법과, 이를 위한 전자 장치
CN108809647B (zh) * 2017-04-26 2021-02-19 国基电子(上海)有限公司 电缆调制解调器的启动方法及系统
US11832100B2 (en) * 2017-05-16 2023-11-28 Apple Inc. Secure password sharing for wireless networks
US10616939B2 (en) 2017-06-06 2020-04-07 International Business Machines Corporation Ad-hoc peer-to-peer communications to access various services via a cellular network
US10182162B2 (en) * 2017-06-09 2019-01-15 Terranet Ab Methods and systems for controlled distribution of data transfer capacity between mobile devices
KR102359316B1 (ko) 2017-08-31 2022-02-08 삼성전자주식회사 콜 제어를 제공하는 사용자 단말 장치 및 이의 제어 방법
US10715609B2 (en) 2018-05-07 2020-07-14 Apple Inc. Techniques for adjusting notifications on a computing device based on proximities to other computing devices
US10587426B2 (en) 2018-05-17 2020-03-10 At&T Intellectual Property I, L.P. System and method for optimizing revenue through bandwidth utilization management
WO2019232464A1 (en) 2018-06-01 2019-12-05 Apple Inc. Techniques for enabling computing devices to identify when they are in proximity to one another
CN109041261B (zh) * 2018-08-13 2021-01-15 珠海格力电器股份有限公司 设备接入方法、装置和网络设备
US10966282B2 (en) * 2018-12-31 2021-03-30 T-Mobile Usa, Inc. Providing network access via mobile device peer to peer sharing
TWI702540B (zh) * 2019-03-22 2020-08-21 鼎新電腦股份有限公司 負載控制方法
CN113079555B (zh) * 2019-04-22 2022-11-15 Oppo广东移动通信有限公司 网络资源共享方法及相关装置
CN109922539B (zh) * 2019-04-30 2021-03-09 Oppo广东移动通信有限公司 网络连接方法及相关产品
US11184833B2 (en) * 2019-06-19 2021-11-23 Citrix Systems, Inc. Bandwidth sharing amongst trusted peers
US20210058787A1 (en) * 2019-08-23 2021-02-25 Charles Isgar Wifi sharing system
US11461752B2 (en) * 2019-08-23 2022-10-04 Charles Isgar Wifi sharing system with mesh network functionality
US11523305B2 (en) * 2019-09-25 2022-12-06 Cisco Technology, Inc. Traffic steering and policy combining
US11483279B2 (en) * 2019-11-15 2022-10-25 Cisco Technology, Inc. Domain name system as an authoritative source for multipath mobility policy
US11558287B2 (en) 2020-02-14 2023-01-17 Cisco Technology, Inc. Policy combining utilizing purpose
US11653207B2 (en) * 2021-02-26 2023-05-16 Charter Communications Operating, Llc Automatic authentication of wireless devices
US11317371B1 (en) * 2021-06-30 2022-04-26 Hubstar International Limited Scheduling allocation of resources to a number of devices based on time and location
CN116033592B (zh) * 2021-10-26 2023-10-20 荣耀终端有限公司 蜂窝通信功能的使用方法和装置
CN114125027B (zh) * 2021-11-24 2024-04-05 上海派拉软件股份有限公司 一种通信建立方法、装置、电子设备及存储介质
US20230262089A1 (en) * 2022-01-24 2023-08-17 Dell Products, L.P. Systems and methods for detecting ransomware attacks on file sharing systems
US20240073777A1 (en) * 2022-08-31 2024-02-29 Qualcomm Incorporated Mobile station relaying verification

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007336090A (ja) * 2006-06-13 2007-12-27 Fujitsu Ltd 携帯無線通信装置、サービス中継プログラム、サービス中継システムおよびサービス中継方法
EP2034779A1 (en) * 2007-08-17 2009-03-11 Qualcomm Incorporated Method for a heterogeneous wireless ad hoc mobile internet access service
US20120240197A1 (en) * 2011-03-18 2012-09-20 Smith Micro Software, Inc. Managing Tethered Data Traffic Over a Hotspot Network
JP2013201581A (ja) * 2012-03-23 2013-10-03 Fujitsu Ltd 無線通信方法、無線通信プログラム、無線通信装置、基地局、及び無線通信システム
JP2014027447A (ja) * 2012-07-26 2014-02-06 Kyocera Corp 携帯通信端末

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5954797A (en) 1997-05-14 1999-09-21 Ncr Corporation System and method for maintaining compatibility among network nodes connected to a computer network
KR100259914B1 (ko) 1997-07-18 2000-06-15 윤종용 복합 무선단말기의 데이터 동기방법
US6842434B1 (en) 1998-12-31 2005-01-11 Qwest Communications International Inc. Method and system for sharing CDMA data traffic channel among multiple users
US7024196B1 (en) 2000-06-26 2006-04-04 Motorola, Inc. Method and apparatus for distributing processing load for decoding radio frequency transmissions
US7886054B1 (en) 2000-10-11 2011-02-08 Siddhartha Nag Graphical user interface (GUI) for administering a network implementing media aggregation
KR100430612B1 (ko) 2001-10-10 2004-05-10 와이더덴닷컴 주식회사 휴대용 단말기 중계용 이동통신 단말기 및 중계 시스템
US8892645B2 (en) 2006-12-08 2014-11-18 International Business Machines Corporation Method and system for selective sharing of flagged information in a group chat environment
CN101227489B (zh) * 2007-01-18 2010-10-13 中国移动通信集团公司 网络存储数据的共享方法及共享系统
WO2008147577A2 (en) * 2007-01-22 2008-12-04 Spyrus, Inc. Portable data encryption device with configurable security functionality and method for file encryption
US20080192666A1 (en) 2007-02-12 2008-08-14 Motorola, Inc. Method and system for dynamically utilizing a peer network to extend battery life
EP2031919B1 (en) 2007-08-17 2016-11-02 Qualcomm Incorporated Ad hoc service provider's ability to provide service for a wireless network
US9398453B2 (en) * 2007-08-17 2016-07-19 Qualcomm Incorporated Ad hoc service provider's ability to provide service for a wireless network
FI20080032A0 (fi) * 2008-01-16 2008-01-16 Joikusoft Oy Ltd Älypuhelin WLAN-tukiasemana
JP5148542B2 (ja) 2009-03-31 2013-02-20 株式会社エヌ・ティ・ティ・ドコモ データ共有システム、共有データ管理装置、共有データ管理装置の制御方法
US8204791B2 (en) 2009-07-13 2012-06-19 International Business Machines Corporation File fragment pricing in a segmented file sharing network
KR101679294B1 (ko) * 2009-08-21 2016-11-25 삼성전자주식회사 이동 경로의 생성, 관리 및 공유 방법과 그 장치
CN101674314B (zh) * 2009-10-23 2012-08-08 华为终端有限公司 信息共享方法、数据服务器和终端
EP2391179B1 (en) 2010-05-31 2014-04-02 BlackBerry Limited Management of mobile hotspot connections
US8953572B2 (en) 2010-08-27 2015-02-10 Htc Corporation Mobile communication device, mobile network sharing method and electronic device
WO2012044795A1 (en) 2010-10-01 2012-04-05 Smith Micro Software, Inc. System and method for managing data sharing over a hotspot network
EP2487948A1 (en) 2011-02-11 2012-08-15 Research In Motion Limited System and method for managing access to a communication network
US8509753B2 (en) * 2011-03-25 2013-08-13 Microsoft Corporation Transfer of data-intensive content between portable devices
US10681021B2 (en) 2011-06-01 2020-06-09 Qualcomm Incorporated Selective admission into a network sharing session
CN102970732B (zh) * 2012-11-26 2015-06-10 中兴通讯股份有限公司 一种无线局域网共享认证的方法、系统及设备
EP2768269B1 (en) 2013-02-15 2019-03-13 Fujitsu Limited Automatic ad-hoc network of mobile devices
US10243786B2 (en) * 2013-05-20 2019-03-26 Citrix Systems, Inc. Proximity and context aware mobile workspaces in enterprise systems
CN103441997B (zh) * 2013-08-20 2017-02-22 华为技术有限公司 一种内容共享方法、装置和系统
CN103857013B (zh) 2014-03-21 2017-06-20 中国联合网络通信集团有限公司 个人热点设置方法及移动终端
US9526032B2 (en) 2014-09-26 2016-12-20 Apple Inc. Network bandwidth sharing for small mobile devices

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007336090A (ja) * 2006-06-13 2007-12-27 Fujitsu Ltd 携帯無線通信装置、サービス中継プログラム、サービス中継システムおよびサービス中継方法
EP2034779A1 (en) * 2007-08-17 2009-03-11 Qualcomm Incorporated Method for a heterogeneous wireless ad hoc mobile internet access service
US20120240197A1 (en) * 2011-03-18 2012-09-20 Smith Micro Software, Inc. Managing Tethered Data Traffic Over a Hotspot Network
JP2013201581A (ja) * 2012-03-23 2013-10-03 Fujitsu Ltd 無線通信方法、無線通信プログラム、無線通信装置、基地局、及び無線通信システム
JP2014027447A (ja) * 2012-07-26 2014-02-06 Kyocera Corp 携帯通信端末

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190007729A (ko) * 2017-07-13 2019-01-23 김국 무선 데이터 공여 시스템 및 그것을 이용한 무선 데이터 공여 방법
KR102050844B1 (ko) * 2018-09-04 2019-12-03 오딘네트워크 주식회사 보상 장치 및 이를 이용한 보상 방법, 및 이를 구비한 네트워크 시스템
WO2020138566A1 (ko) * 2018-12-27 2020-07-02 (주)코어테크놀로지 근거리 그룹 사용자 기반의 글로벌 이러닝 플랫폼 및 그 방법
KR102486466B1 (ko) * 2022-08-09 2023-01-12 주식회사 서큘러스 인터랙션 로봇 및 이를 이용한 무선 홈 네트워킹 서비스 제공 방법

Also Published As

Publication number Publication date
US9526032B2 (en) 2016-12-20
WO2016048446A1 (en) 2016-03-31
EP3198909B1 (en) 2022-02-23
US20170048754A1 (en) 2017-02-16
KR101911653B1 (ko) 2018-10-24
TWI586196B (zh) 2017-06-01
US9973972B2 (en) 2018-05-15
CN106664522A (zh) 2017-05-10
EP3198909A1 (en) 2017-08-02
TW201613408A (en) 2016-04-01
US20160095017A1 (en) 2016-03-31
CN106664522B (zh) 2020-09-08

Similar Documents

Publication Publication Date Title
KR101911653B1 (ko) 모바일 디바이스들에 대한 네트워크 대역폭 공유
US10542109B2 (en) Proxied push
US10499205B2 (en) SMS proxying
US11088807B2 (en) Application-level acknowledgements
US10887400B2 (en) Answering a call with client through a host
US10341860B2 (en) Learned dual band WIFI network association
EP3150022B1 (en) Client applications communicating via a user tunnel
KR102323382B1 (ko) 사용자 계정들 사이에서의 자금 이체의 용이화
US9602661B2 (en) Answer and hold with client and host
US20210209206A1 (en) Information Content Viewing Method and Terminal
US9755788B2 (en) Messages with attenuating retransmit importance

Legal Events

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