KR20160085289A - 가상 사설 네트워크로 데이터 사용량의 요율을 조정하는 기술 - Google Patents

가상 사설 네트워크로 데이터 사용량의 요율을 조정하는 기술 Download PDF

Info

Publication number
KR20160085289A
KR20160085289A KR1020167015058A KR20167015058A KR20160085289A KR 20160085289 A KR20160085289 A KR 20160085289A KR 1020167015058 A KR1020167015058 A KR 1020167015058A KR 20167015058 A KR20167015058 A KR 20167015058A KR 20160085289 A KR20160085289 A KR 20160085289A
Authority
KR
South Korea
Prior art keywords
vpn
party data
client
component
rate
Prior art date
Application number
KR1020167015058A
Other languages
English (en)
Other versions
KR101979334B1 (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 KR20160085289A publication Critical patent/KR20160085289A/ko
Application granted granted Critical
Publication of KR101979334B1 publication Critical patent/KR101979334B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • H04W12/102Route integrity, e.g. using trusted paths
    • 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
    • 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/18Service support devices; Network management devices
    • H04W88/181Transcoding devices; Rate adaptation devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

가상 사설 네트워크(virtual private network, VPN)를 사용하여 모바일 장치에서 데이터 사용량을 요율-조정하는 기법이 기술된다. 일실시예로, 장치는 프로세서 회로, 및 제3자 데이터로의 링크를 제시하고, 링크를 팔로우하는 제어 지시어를 수신하며, 제3자 데이터에 액세스하게끔 요청하도록 프로세서 회로에서 동작하는 애플리케이션 컴포넌트를 포함할 수 있다. 장치는 또한, 서버 VPN 컴포넌트를 갖는 서버와 통신하고, 애플리케이션 컴포넌트로부터 제3자 데이터에 액세스하는 요청을 수신하며, 액세스하는 것이 요율-조정되는지 여부를 결정하고, 서버 VPN 컴포넌트를 통해 제3자 데이터의 소스에 연결하도록 프로세서 회로에서 동작하는 클라이언트 VPN 컴포넌트를 포함할 수 있다. 다른 실시예들이 기술되고 청구된다.

Description

가상 사설 네트워크로 데이터 사용량의 요율을 조정하는 기술{TECHNIQUES TO RATE-ADJUST DATA USAGE WITH A VIRTUAL PRIVATE NETWORK}
본 출원은 발명의 명칭이 Techniques to Rate-Adjust Data Usage with a Virtual Private Network이며, 2013년 11월 12일자로 출원된 미국 특허출원 제14/077,994호에 대한 우선권을 주장하며, 상기 출원이 개시하고 교시하는 전체 내용이 특히 참조로 통합된다.
이하에서는 본 명세서에 기술되는 일부 새로운 실시예들의 기본적 이해를 제공하기 위해 간략한 요약이 제시된다. 이러한 요약은 포괄적인 개요가 아니며, 핵심/중요한 요소를 식별하거나 그것의 범위를 기술하고자 의도된 것이 아니다. 요약의 유일한 목적은 이하에서 제시되는 더욱 상세한 설명에 대한 서막으로서 단순화된 형태로 일부 개념을 제시하려는 것이다.
다양한 실시예들은 일반적으로 가상 사설 네트워크를 사용하여 모바일 장치에서 데이터 사용량의 요율-조정(rate-adjust)하는 기술에 관한 것이다. 일부 실시예들은 특히 모바일 장치에서 소셜 네트워킹 서비스의 클라이언트로부터의 데이터 사용량을 선택적으로 요율-조정하는 기술에 관한 것이다. 예컨대, 일실시예로, 장치는 프로세서 회로와, 제3자 데이터로의 링크를 제시하고, 링크를 따라가는 제어 지시어(control directive)를 수신하며, 제3자 데이터에 액세스하기 위해 요청하도록 프로세서 회로에서 동작하는 애플리케이션 컴포넌트를 포함할 수 있다. 장치는 또한, 서버 가상 사설 네트워크(virtual private network; VPN) 컴포넌트를 갖는 서버와 통신하고, 애플리케이션 컴포넌트로부터 제3자 데이터를 액세스하는 요청을 수신하며, 액세스하는 것이 요율-조정되는지 여부를 결정하고, 서버 VPN 컴포넌트를 통해 제3자 데이터의 소스에 연결하도록 프로세서 회로에서 동작하는 클라이언트 VPN 컴포넌트를 포함할 수 있다. 다른 실시예들이 기술되고 청구된다.
본 발명의 내용 중에 포함되어 있다.
전술한 목적 및 관련 목적의 달성을 위해, 일정한 예시적인 양태가 이하의 설명과 첨부되는 도면과 연계하여 본 명세서에 기술된다. 이러한 양태는 본 명세서에 개시되는 원리가 실현되는 다양한 방식을 표현하며, 모든 양태와 이들의 균등물이 청구되는 발명의 대상의 범위 내에 있는 것으로 의도된다. 다른 이점 및 새로운 특징들이 도면과 함께 고려될 때 이하의 상세한 설명으로부터 자명해질 것이다.
본 발명에 따른 실시예들은 특히 방법, 장치 및 저장 매체에 관한 첨부되는 청구범위에 개시되며, 하나의 청구항 카테고리, 예컨대 방법에서 언급되는 임의의 특징은 다른 청구항 카테고리, 예컨대 장치에서 또한, 청구될 수 있다.
본 발명에 따른 일실시예로, 컴퓨터-구현되는 방법은: 클라이언트 장치에서 실행되는 클라이언트 가상 사설 네트워크(VPN) 컴포넌트에 의해 제3자 데이터에 액세스하는 요청을 수신하는 단계; 클라이언트 VPN 컴포넌트에 의해, 제3자 데이터에 액세스하는 것이 요율-조정되는지 여부를 결정하는 단계; 액세스하는 것이 요율-조정될 때, VPN을 사용하여 서버 VPN 컴포넌트로 연결하는 단계; 및 VPN을 통해 제3자 데이터에 액세스하는 단계를 포함한다.
본 발명에 따른 일실시예로, 방법은: 액세스하는 것이 요율-조정되지 않을 때, VPN을 포함하지 않는 네트워크를 통해 제3자 데이터에 액세스하는 단계를 포함할 수 있다.
본 발명에 따른 일실시예로, 방법은: 액세스하는 것이 요율-조정되지 않을 때, 경고를 디스플레이하는 단계, 제1 선택가능한 옵션을 선택하는 제어 지시어를 수신하는 단계; 및 VPN을 포함하지 않는 네트워크를 통해 제3자 데이터에 액세스하는 단계를 포함할 수 있고, 상기 경고는 액세스하는 것으로 계속하는 제1 선택가능한 옵션 및 액세스하는 것을 취소하는 제2 선택가능한 옵션을 포함한다.
본 발명에 따른 일실시예로, 방법은: 제3자 데이터에 액세스하는 것은 요율-조정된 애플리케이션 데이터세트에 따라 요율-조정된다고 결정하는 단계를 포함할 수 있다.
본 발명에 따른 일실시예로, 방법은: 클라이언트 장치에서 실행되는 소셜 네트워킹 서비스 애플리케이션에서 제3자 데이터로의 링크를 디스플레이하는 단계; 링크를 따라가는 제어 지시어를 수신하는 단계; 및 제어 지시어에 응답하여 제3자 데이터에 액세스하는 요청을 생성하는 단계를 포함할 수 있다.
본 발명에 따른 일실시예로, 방법은: 클라이언트 VPN과 제3자 데이터의 소스 사이의 데이터 연결에 대한 압축 수준(level of compression); 클라이언트 VPN과 제3자 데이터의 소스 사이의 데이터 연결에 대한 트래픽 형성 정도; 클라이언트 VPN과 제3자 데이터의 소스 사이의 데이터 연결을 위한 필터; 및 클라이언트 VPN과 제3자 데이터의 소스 사이의 데이터 연결에 대한 안티-바이러스(anti-virus) 동작 중 적어도 하나를 결정하고 적용하는 단계를 포함할 수 있다.
본 발명에 따른 추가 실시예로, 장치는: 프로세서 회로; 제3자 데이터로의 링크를 제시하고, 링크를 따라가는 제어 지시어를 수신하며, 제3자 데이터로의 액세스를 요청하도록 프로세서 회로에서 동작하는 애플리케이션 컴포넌트; 및 서버 VPN 컴포넌트를 갖는 서버와 통신하고, 애플리케이션 컴포넌트로부터 제3자 데이터에 액세스하는 요청을 수신하며, 액세스가 요율-조정되는지 여부를 결정하고, 서버 VPN 컴포넌트를 통해 제3자 데이터의 소스로 연결하도록 프로세서 회로에서 동작하는 클라이언트 VPN 컴포넌트를 포함한다.
클라이언트 VPN 컴포넌트는 서버 VPN 컴포넌트로 VPN을 형성할 수 있다.
클라이언트 VPN 컴포넌트는 액세스하는 것이 요율-조정되지 않을 때, 서버 VPN 컴포넌트를 포함하지 않는 네트워크를 통해 제3자 데이터의 소스로 연결할 수 있다.
클라이언트 VPN 컴포넌트는, 액세스하는 것이 요율-조정되지 않을 때, 경고를 디스플레이할 수 있고, 상기 경고는 액세스하는 것을 계속하는 선택가능한 옵션과 액세스하는 것을 취소하는 선택가능한 옵션; 및 계속하는 선택가능한 옵션을 선택하는 명령 지시어가 수신될 때, 서버 VPN 컴포넌트를 포함하지 않는 네트워크를 통해 제3자 데이터의 소스로 연결하는 것을 포함할 수 있다.
애플리케이션 컴포넌트는 소셜 네트워킹 서비스 애플리케이션일 수 있다.
애플리케이션 컴포넌트는 소셜 네트워킹 애플리케이션 내에서 동작하는 제2 애플리케이션일 수 있다.
제3자 데이터로의 링크는: 서버의 URL(uniform resource locator) 및 서버 VPN의 URL과는 상이한 URL; 뒤따를 때, 제2 애플리케이션으로 하여금 모바일 장치에서 실행되도록 하는 링크; 및 뒤따를 때, 모바일 장치에서 스크립트를 실행하는 링크 중 적어도 하나를 포함할 수 있다.
클라이언트 VPN 컴포넌트는 제3자 데이터를 액세스하는 것이 요율-조정되는 애플리케이션 데이터세트에 따라 요율-조정된다고 결정할 수 있다.
클라이언트 VPN 컴포넌트는: 클라이언트 VPN과 제3자 데이터의 소스 사이의 연결에 대한 압축 수준; 클라이언트 VPN과 제3자 데이터의 소스 사이의 연결에 대한 트래픽 형성 정도; 클라이언트 VPN과 제3자 데이터의 소스 사이의 연결을 위한 필터; 및 클라이언트 VPN과 제3자 데이터의 소스 사이의 연결에 대한 안티바이러스 동작 중 적어도 하나를 결정하고 적용할 수 있다.
또한, 청구될 수 있는 본 발명의 추가 실시예로, 적어도 하나의 컴퓨터-판독가능한 저장 매체는, 실행시 시스템으로 하여금: 클라이언트 장치에서 실행되는 애플리케이션 컴포넌트에 제3자 데이터로의 링크를 제시하고; 링크를 뒤따르는 제어 지시어를 수신하며; 제3자 데이터에 액세스하도록 요청하며; 액세스하는 것이 요율-조정되는지 여부를 결정하고; VPN을 사용하여 서버 VPN 컴포넌트에 연결하며; VPN을 통해 제3자 데이터의 소스로 연결하도록 하는 명령어를 포함한다.
본 발명의 일실시예로, 컴퓨터-판독가능한 저장 매체는, 실행시 시스템으로 하여금: 액세스하는 것이 요율-조정되지 않을 때, VPN을 포함하지 않는 네트워크를 통해 제3자 데이터에 액세스하도록 하는 명령어를 포함할 수 있다.
본 발명의 일실시예로, 컴퓨터-판독가능한 저장 매체는, 실행시 시스템으로 하여금: 액세스하는 것이 요율-조정되지 않을 때, 경고를 디스플레이하고; 제1 선택가능한 옵션을 선택하는 제어 지시어를 수신하며; VPN을 포함하지 않는 네트워크를 통해 제3자 데이터에 액세스하도록 하는 명령어를 포함할 수 있고, 상기 경고는 엑세스하는 것을 계속하는 제1 선택가능한 옵션 및 액세스하는 것을 취소하는 제2 선택가능한 옵션을 포함한다.
본 발명의 일실시예로, 컴퓨터-판독가능한 저장 매체는, 실행시 시스템으로 하여금: 제3자 데이터에 액세스하는 것이 요율-조정된 애플리케이션 데이터세트에 따라 요율-조정된다고 결정하도록 하는 명령어를 포함할 수 있다.
애플리케이션 컴포넌트는 소셜 네트워킹 서비스 애플리케이션 및 소셜 네트워킹 서비스 애플리케이션 내에서 동작하는 제2 애플리케이션 중 하나일 수 있다.
본 발명의 일실시예로, 컴퓨터-판독가능한 저장 매체는, 실행시 시스템으로 하여금: 클라이언트 VPN과 제3자 데이터의 소스 사이의 연결에 대한 압축 수준; 클라이언트 VPN과 제3자 데이터의 소스 사이의 연결에 대한 트래픽 형성 정도; 클라이언트 VPN과 제3자 데이터의 소스 사이의 연결을 위한 필터; 및 클라이언트 VPN과 제3자 데이터의 소스 사이의 연결에 대한 안티바이러스 동작 중 적어도 하나를 결정하고 적용하도록 하는 명령어를 포함할 수 있다.
본 발명의 추가 실시예로, 하나 이상의 컴퓨터-판독가능한 비-일시적 저장 매체는, 본 발명 또는 상기 언급된 실시예들 중 임의의 것에 따른 방법을 수행하도록 실행시 동작하는 소프트웨어를 포함한다.
또한, 청구될 수 있는 본 발명의 추가 실시예로, 장치는: 하나 이상의 프로세서; 및 프로세서에 의해 실행가능한 명령어를 포함하고 프로세서에 연결된 메모리를 포함하며, 상기 프로세서는 본 발명 또는 상기 언급된 실시예들 중 임의의 것에 따른 방법을 수행하는 명령어를 실행시 동작한다.
본 발명의 내용 중에 포함되어 있다.
도 1은 모바일 클라이언트 장치로부터의 데이터 사용량을 요율-조정하는 것을 제공하기 위한 실행 시스템의 실시예를 도시한다.
도 2는 클라이언트 환경의 실시예를 도시한다.
도 3은 제1 메시지 흐름의 실시예를 도시한다.
도 4는 제2 메시지 흐름의 실시예를 도시한다.
도 5는 제3 메시지 흐름의 실시예를 도시한다.
도 6은 소셜 네트워킹 서비스 클라이언트 사용자 인터페이스의 실시예를 도시한다.
도 7은 경고 사용자 인터페이스의 실시예를 도시한다.
도 8은 도 1의 시스템을 위한 논리 흐름의 실시예를 도시한다.
도 9는 도 1의 시스템을 위한 집중형(centralized) 시스템의 실시예를 도시한다.
도 10은 도 1의 시스템을 위한 분산형 시스템의 실시예를 도시한다.
도 11은 컴퓨팅 구조의 실시예를 도시한다.
도 12는 통신 구조의 실시예를 도시한다.
다양한 실시예들은 모바일 장치에서 소셜 네트워킹 서비스의 클라이언트로부터의 데이터 사용량을 선택적으로 요율-조정하는 기술에 관한 것이다. 소셜 네트워킹 서비스(social networking service, SNS)는 구성원들이 다른 구성원들 사이에서 개인적, 전문적, 상업적 및 다른 관계를 형성하는 방법을 제공한다. SNS는 또한, 구성원들이 다른 구성원들과 컨텐츠를 생성 및/또는 공유하는 방법을 제공하며, 컨텐츠는 가령 외부 웹 사이트 및 다른 애플리케이션과 같은 제3자 소스로부터의 데이터를 포함한다.
갈수록 더, SNS의 구성원들은 그들의 모바일 장치, 예컨대 스마트폰 및 태블릿 컴퓨터로부터 SNS에 액세스하고 있다. 휴대전화 서비스를 제공하는 것에 추가로, 많은 통신사(carrier)는 또한, 가입된 모바일 장치가 가령 인터넷과 같은 네트워크에 무선으로 연결하도록 허용하는 데이터 서비스를 제공한다. 다수의 가입 요금제(plan) 및 선불 요금제는 가입된 사용자가 얼마나 많은 데이터를 통상적으로 한 달인 요금제 기간 안에 액세스할 수 있는지에 대해 제한을 부과한다. 데이터에 액세스하는 것은 모바일 장치에 데이터를 다운로드 및/또는 모바일 장치로부터 데이터를 업로드하는 것을 포함할 수 있다. 가입된 사용자의 데이터 사용량이 시간 구간 동안 요금제 제한을 초과할 때, 통신사는 초과 수수료(overage fee) 또는 다른 벌점을 부과할 수 있다.
통신사는 데이터 사용량의 인스턴스를 요율-조정하는 것을 선택할 수 있다. 요율-조정은 데이터 사용량의 인스턴스가 요금제 제한에 대해 전혀 계산(count)되지 않는 제로 레이팅(zero rating)을 포함할 수 있다. 요율-조정은 또한, 데이터 사용량의 인스턴스의 오로지 일부 퍼센티지만이 요금제 제한에 대해 계산되도록 하는 것을 포함할 수 있다. 예컨대, 통신사와 통신하는데 사용되는 데이터는 요율-조정될 수 있다. 일부의 경우에서, 모바일 장치에서 실행되는 데이터를 사용하는 애플리케이션은, 통신사와 애플리케이션을 만드는 엔티티 사이의 협의에 의해 요율-조정될 수 있다.
일부 SNS는 모바일 장치 클라이언트 애플리케이션으로부터 액세스될 수 있고, SNS 서버와의 통신에 사용되는 데이터는 요율-조정될 수 있다. 일부 SNS는 구성원들과 애플리케이션이, 통상적으로 컨텐츠에 대한 링크로 컨텐츠를 공유하도록 한다. 컨텐츠에 대한 링크가 팔로우되면, 모바일 장치는 SNS 외부의 제3자 소스와 연결할 수 있다. 제3자 소스로의 연결에 대한 데이터 사용량은 SNS의 요율-조정에 의해 포함되지 않을 수 있고, 일부의 경우, 무의식적으로 또는 예상치 못하게 사용자의 요금제 제한에 대해 계산될 수 있다.
SNS는 제3자 데이터 소스, 가령 특정 애플리케이션 공급자, 웹 사이트, 서비스 제공자 등과 SNS 내로부터 제3자 데이터 소스에 대해 발생되는 데이터 사용량을 요율-조정하기 위한 협의를 할 수 있다. 종래에는, 요율-조정에 대한 결정은 SNS 서버에서 발생할 수 있었다. 하지만, 서버 측으로부터 요율-조정된 애플리케이션을 식별하는 것은, SNS로부터 어떠한 애플리케이션 또는 서비스가 데이터를 사용하고 있는지에 관한 정보가 보통 손실되기 때문에, 문제가 될 수 있다. 따라서, 실시예들은 SNS 클라이언트 애플리케이션으로부터 모든 데이터 사용량 트래픽을 수신할 수 있는 클라이언트 측 가상 사설 네트워크(VPN)를 구현할 수 있다. 클라이언트 측 VPN은 일반적으로 어떤 애플리케이션 또는 서비스가 제3자 데이터를 요청하는지를 인식하는데 있어서 더 나은 위치에 있고, 그 애플리케이션 또는 서비스가 요율-조정되는지 여부를 결정할 수 있으며, 그에 따라 제3자 데이터의 액세싱을 라우팅할 수 있다. 결과적으로, 실시예들은 SNS에서 구성원들을 위해 사용자 경험을 향상시킬 수 있다.
이제, 동일한 참조 번호가 전반에 걸쳐 동일한 구성요소를 언급하는데 사용되는 도면을 참조한다. 이하의 발명의 설명에서, 설명의 목적을 위해, 다수의 구체적인 세부사항들이 더욱 철저한 이해를 제공하도록 기재된다. 하지만, 새로운 실시예들이 이러한 구체적인 세부사항 없이 실행될 수 있음은 자명할 것이다. 다른 예에서, 공지의 구조 및 장치가 그들의 설명을 용이하게 하기 위해 블록도 형태로 도시된다. 이는 청구되는 발명의 대상과 일관되는 모든 수정물, 균등물, 및 대안물을 포괄하려는 의도이다.
도 1은 실행 시스템(100)에 대한 블록도를 도시한다. 일실시예로, 실행 시스템(100)은 컴퓨터로 구현될 수 있고, 하나 이상의 컴포넌트를 포함하는 소셜 네트워킹 서비스(110)를 가질 수 있다. 도 1에 도시된 실행 시스템(100)은 특정 토폴로지(topology)에서 제한된 수의 구성요소를 갖지만, 실행 시스템(100)은 주어진 구현예에서 원하는 바에 따라 대안적 토폴로지에서 더 많은 수의 또는 더 적은 수의 구성요소를 포함할 수 있다.
실행 시스템(100)은 소셜 네트워킹 서비스(social networking service; SNS; 110)를 포함할 수 있다. SNS(110)는 그 구성원들, 예컨대 구성원(102)을 위해 소셜 네트워킹 서비스를 제공하도록 정렬될 수 있다. 구성원들은 클라이언트 장치, 예컨대 클라이언트(180)를 통해 SNS(110)와 상호작용할 수 있고, 네트워크(170)를 사용하여 SNS(110)와 통신할 수 있다. 소셜 네트워킹 서비스는, 제한 없이, 구성원들을 찾는 것, 구성원들과의 관계를 형성하는 것, 컨텐츠를 공유하는 것, 애플리케이션을 제공하는 것, 구성원들 사이에 통신을 제공하는 것 등을 포함할 수 있다. SNS(110)는 SNS 서버 컴포넌트(120), 및 서버 VPN(virtual private network) 컴포넌트(130)를 포함할 수 있다. SNS(110)의 컴포넌트의 일부 또는 전부는 프로세서 회로(112)에서 실행될 때, 그들 각각의 기능을 제공할 수 있다.
SNS 서버 컴포넌트(120)는 SNS(110)를 위해 다수의 SNS 기능 및 데이터를 제공할 수 있다. 예컨대, SNS 서버 컴포넌트(120)는 인터페이스를 제공하는 하나 이상의 네트워크 서버를 포함할 수 있고, 인터페이스를 통해 인터넷 브라우저가 연결되고 SNS를 구성원에게 제시하며, 인터페이스를 통해 장치상의 클라이언트 애플리케이션이 연결되고 SNS(110)를 구성원에게 제시한다. SNS 서버 컴포넌트(120)는, SNS의 구성원들에 관한 데이터, 가령 구성원 정보, 다른 구성원으로의 구성원 연결, 개인정보 설정, 설정의 공유, 및 구성원 특유의 다른 데이터를 관리할 수 있다. SNS 서버 컴포넌트(120)는 SNS(110)에 업로드된 컨텐츠, 가령 사진, 비디오, 문서 등을 또한, 저장할 수 있다. 실시예들은 이러한 예들로 제한되지 않는다.
서버 가상 사설 네트워크(VPN) 컴포넌트(130)는 클라이언트 VPN 컴포넌트와 연계하여 SNS 서버 컴포넌트(120)를 대신하여 데이터를 수신하고 송신할 수 있다. 서버 VPN 컴포넌트(130)는 구성원(102)을 제3자 데이터 소스(140)로 연결하여, 그 연결 동안 사용되는 데이터를 요율-조정하도록 할 수 있다. 서버 VPN 컴포넌트(130)는 클라이언트(180)로부터 제3자 데이터에 대한 요청을 수신할 수 있고, 이는 이하에서 더 상세하게 설명될 것이다. 서버 VPN 컴포넌트(130)가 클라이언트(180)로부터 제3자 데이터 소스(140)로의 연결을 완료할 때, 연결은 SNS(110)로부터 통신사로 데이터 사용량으로 나타날 수 있고, 따라서 요율-조정될 것이다.
SNS(110)의 도시된 컴포넌트들은 하나의 장치에 함께 하우징되거나, 또는 복수의 장치들에 적어도 부분적으로 기반하여 분산될 수 있다. 복수의 장치들은 하나의 지리적 위치에 있거나, 또는 다양한 지리적 위치로 분리될 수 있다.
제3자 데이터 소스(140)는, 클라이언트(180) 및 SNS(110)로부터 분리된 데이터 및/또는 서비스에 대한 소스를 제공하는 하나 이상의 네트워크 서버를 포함할 수 있다. 제3자 데이터 소스(140)의 예는, 제한 없이, 웹 사이트, 또는 클라이언트(180)에서 실행되는 애플리케이션에 의해 사용되는 데이터 저장소(repository)나 서버를 포함할 수 있다. 제3자 데이터 소스(140)는, 예컨대 뉴스 웹 사이트, 게임 애플리케이션 데이터 소스, 비디오 공유 저장소, 맵 서비스, 검색 엔진 등일 수 있다. "분리된"은 이러한 맥락에서, 제3자 데이터 소스(140)가 SNS(110)와 클라이언트(180)와는 상이한 물리적이고 논리적인 위치에 제3자 데이터(142)를 저장한다는 것과, 제3자 데이터 소스(140)가 SNS(110)를 제어하는 엔티티에 의해 제어되지 않는다는 것을 의미할 수 있다. 실시예들은 이러한 예들에 제한되지 않는다. 제3자 데이터(142)는 SNS에 의해 소유 및/또는 제어되지 않는 데이터를 포함할 수 있다. 제3자 데이터(142)는 클라이언트(180)와 SNS(110)의 외부에 저장될 수 있다.
구성원(102)은 SNS(110)를 액세스하고 사용하는데 클라이언트(180)를 사용할 수 있다. 클라이언트(180)는 SNS(110)에 연결하고 SNS(110)와 통신할 수 있는 임의의 컴퓨팅 장치일 수 있다. 특히, 클라이언트(180)는 통신사에 데이터 요금제로 가입된 모바일 장치일 수 있고, 데이터 요금제는 데이터 사용량, 예컨대 월별 할당량 또는 선지급된 양에 대해 제한을 부과한다. 실시예들은 이러한 예들에 제한되지 않는다.
클라이언트(180)는 SNS 애플리케이션(150) 및 클라이언트 VPN 컴포넌트(160)를 포함할 수 있다. SNS 애플리케이션(150)은 SNS(110)와 통신하고 상호작용하도록 클라이언트(180)에서 실행될 수 있는 독립적인(standalone) 애플리케이션일 수 있다. SNS(110)는 웹 브라우저 애플리케이션을 통해 액세스가능할 수 있는 한편, SNS 애플리케이션(150)은, 예컨대, 더 작은 디스플레이를 위해, 클라이언트(180)에 더욱 최적화된 인터페이스를 SNS(110)로 제공할 수 있다. SNS 애플리케이션(150)은 하기에 도 2와 관련하여 더 상세하게 설명된다. 클라이언트 VPN 컴포넌트(160)는 도 1에서 SNS 애플리케이션 컴포넌트(150)로부터 분리된 것으로 도시되지만, 클라이언트 VPN(160)은 대안으로 SNS 애플리케이션 컴포넌트(150)의 컴포넌트일 수 있다.
클라이언트 VPN 컴포넌트(160)는 서버 VPN 컴포넌트(130)로 연결하고 SNS(110)와 VPN을 형성하도록 동작할 수 있다. 가상 사설 네트워크(VPN)는 가령 인터넷과 같은 다른 공중 네트워크상에서 2개의 종점 사이의 보안된 타입의 연결이다. VPN은 종점 사이의 데이터를 위한 전용 보안된 터널로서의 역할을 한다. 터널은 전용 연결, 데이터의 암호화, 또는 이들 양자의 조합을 사용하여 생성될 수 있다.
클라이언트 VPN 컴포넌트(160)는, 제3자 데이터 소스(140)에 액세스하는 요청을 포함하는 SNS 애플리케이션(150)으로부터의 네트워크 트래픽의 일부 또는 전부를 수신할 수 있고, 특정 제3자 데이터 소스(140)에 대한 데이터 사용량이 요율-조정되어야 하는지 여부를 결정할 수 있다. 클라이언트 VPN 컴포넌트(160)는 하기에 도 2와 관련하여 더 상세히 기술된다.
도 2는 클라이언트 환경(200)의 실시예를 도시한다. 클라이언트 환경(200)은 도 1로부터의 클라이언트(180)의 예가 될 수 있는 클라이언트(230)를 포함할 수 있다. 클라이언트(230)는 애플리케이션 컴포넌트(250)와 클라이언트 VPN 컴포넌트(260)를 포함할 수 있다. 도 2에 도시된 클라이언트 환경은 특정 토폴로지에서 제한된 수의 구성요소를 갖지만, 클라이언트 환경(200)은 주어진 구현예를 위해 원하는 바에 따라 대안적 토폴로지에서 더 많은 수 또는 더 적은 수의 구성요소를 포함할 수 있다.
애플리케이션 컴포넌트(250)는 SNS 애플리케이션 컴포넌트(150)의 예일 수 있다. 애플리케이션 컴포넌트(250)는, 클라이언트(230)에서 프로세싱 회로상에 실행될 때, 인터페이스를 제공하는, 클라이언트(230)에 저장된 명령어를 포함할 수 있고, 상기 인터페이스를 통해 구성원(102)은 SNS(110)에 액세스할 수 있다. 애플리케이션 컴포넌트(250)는, 예컨대, SNS(110)의 다른 구성원들에 의해 공유되는 컨텐츠와 애플리케이션 및 서비스에 의해 공유되는 정보 등을 보여주는 인터페이스를 제시할 수 있다.
공유된 컨텐츠의 일부는 제3자 데이터 링크(252)의 형태일 수 있다. 제3자 데이터 링크(252)는, 예컨대 SNS의 URL(uniform resource locator), 또는 서버 VPN 컴포넌트(130)의 URL과는 상이한 네트워크 위치로 링크하는 URL을 포함할 수 있다. 제3자 데이터 링크(252)는, 팔로우될 때, 제2 애플리케이션이 모바일 장치에서 실행되게 하는 링크; 또는 팔로우될 때, 모바일 장치에서 스크립트를 실행하는 링크를 포함할 수 있다. 예컨대, 제3자 데이터 링크(252)는 뉴스 웹사이트에서 뉴스 소식으로의 링크이거나, 클라이언트(230)에서 분리된 게임 애플리케이션을 런칭하는 링크일 수 있다. 실시예들은 이러한 예들로 제한되지 않는다.
제3자 애플리케이션 컴포넌트(254)는 애플리케이션 컴포넌트(250) 내에서 실행되거나, 애플리케이션 컴포넌트(250) 외부에서 실행될 수 있다. 제3자 애플리케이션 컴포넌트(254)는 동작하기 위해 제3자 데이터 소스(140)로부터의 제3자 데이터(142)에 액세스해야 할 수 있다. 예컨대, 제3자 애플리케이션 컴포넌트(254)는, 클라이언트(230)에서 기능하기 위해, 사용자 정보, 계정 설정, 그래픽, 인터페이스, 명령어 등을 액세스해야 할 수 있다. 구성원(102)이 제3자 애플리케이션 컴포넌트(254)로 하여금 애플리케이션 컴포넌트(250)로부터 실행되도록 한다면, 제3자 애플리케이션 컴포넌트(254)는 제3자 데이터 소스(140)로부터 제3자 데이터(142)에 연결하고 제3자 데이터(142)를 액세스해야 할 수 있으며, 디스플레이된 제3자 데이터 링크(252)를 명시적으로 사용하지 않고도 그렇게 할 수 있다.
클라이언트 VPN 컴포넌트(260)는 애플리케이션 컴포넌트(250)로부터 제3자 데이터 링크(252)를 통해 (또는 내재적으로 제3자 애플리케이션 컴포넌트(254)를 통해) 제3자 데이터(142)에 액세스하는 요청을 수신할 수 있다. 클라이언트 VPN 컴포넌트(260)는 제3자 데이터(142)에 액세스하는 것이 요율-조정되어야 하는지 여부를 결정할 수 있다. 액세스하는 것이 요율-조정되어야 한다면, 클라이언트 VPN 컴포넌트(260)는 서버 VPN 컴포넌트(130)를 통해 제3자 데이터 소스(140)에 연결하기 위해 서버 VPN 컴포넌트(130)로의 그것의 VPN 연결을 사용할 수 있다.
일실시예로, 클라이언트 VPN 컴포넌트(260)는 요율-조정의 목적을 위해, 무엇을 애플리케이션이 요청하는지 또는, 요청된 제3자 데이터(142)와 무엇이 관련되는지를 감지해야 할 수 있다. 앱 감지 논리(262)는, 예컨대, 제3자 데이터(142)에 액세스하는 요청으로 삽입되는 애플리케이션 식별자를 판독하거나, 요율-조정 결정과 관련된 애플리케이션을 결정하기 위해 URL의 정보를 사용하게끔, 클라이언트 VPN 컴포넌트(260)에 의해 사용될 수 있다. 실시예들은 이러한 예로 제한되지 않는다.
클라이언트 VPN 컴포넌트(260)는 요율-조정 앱 데이터(280)를 참조함으로써 제3자 데이터 소스(140)에 액세스하는 것이 요율-조정되어야 하는지 여부를 결정할 수 있다. 일실시예로, 요율-조정 앱 데이터(280)는, 어떠한 데이터 사용량이 요율-조정되어야 하는지에 관한 정보를 포함하는 데이터 세트, 예컨대, 어레이, 데이터베이스, 테이블, 규칙 세트 등일 수 있다. 요율-조정 앱 데이터(280)는 애플리케이션, 웹 사이트, 데이터의 타입, 또는 어떠한 데이터 사용량이 구성원(102)에 대해 요율-조정될지를 결정하는 임의의 다른 기준을 특정할 수 있다. 요율-조정 앱 데이터(280)는, 어떠한 제3자 데이터 소스(140)가 링크에 의해 참조되는지, 어떠한 애플리케이션 컴포넌트(250, 254)가 링크를 팔로우하도록 요청되었는지, 요청과 관련된 데이터 트래픽의 추정된 양 등과 같은 기준이 적용될 때, 요율-조정을 발생시키는 SNS(110)로부터 수신된 규칙을 포함할 수 있다. 일실시예로, 요율-조정 앱 데이터(280)는 SNS(110)에 의해 주기적으로 또는 클라이언트(230)가 SNS(110)에 연결할 때마다 업데이트될 수 있다.
클라이언트 VPN 컴포넌트(260)는, 예컨대 요청 중인 애플리케이션이 요율-조정 앱 데이터(280)에 포함되어 있지 않다면, 제3자 데이터 소스(140)에 액세스하는 것이 요율-조정돼서는 안 된다고 결정할 수 있다. 액세스하는 것이 요율-조정되지 않을때, 클라이언트 VPN 컴포넌트(260)는 네트워크(170)를 통해 제3자 데이터 소스(140)로 연결할 수 있으나, 서버 VPN 컴포넌트(130)로의 VPN 연결은 사용하지 않는다.
일실시예로, 클라이언트 VPN 컴포넌트(260)는, 액세스하는 것이 요율-조정되지 않을 때, 경고를 디스플레이할 수 있다. 경고는, 예컨대 제3자 데이터 소스(140)에 액세스하는 것이 요율-조정되지 않을 수 있거나, 데이터 사용량 과금을 발생시킬 수 있거나, 또는 구성원(102)의 데이터 요금제 사용량에 대한 계산에 포함될 수 있음을 구성원(102)에게 알리는 구성원(102)에 대한 메시지를 포함할 수 있다. 경고는 액세스하는 것을 계속하는 선택가능한 옵션 및 액세스하는 것을 취소하는 선택가능한 옵션을 포함할 수 있다. 계속하는 선택가능한 옵션을 선택하는 명령 지시어가 수신될 때, 클라이언트 VPN 컴포넌트(260)는 제3자 데이터 소스(140)에 연결하도록 진행될 수 있다.
애플리케이션 컴포넌트(250) 및/또는 제3자 애플리케이션 컴포넌트(254)에 대한 데이터 사용량을 요율-조정할지를 결정하는 것에 추가로 또는 대안으로, 클라이언트 VPN 컴포넌트(260)는 클라이언트 VPN과 제3자 데이터 소스(140) 사이의 데이터 연결에 대한 압축 수준을 결정하고 적용할 수 있다. 클라이언트 VPN(260)은 클라이언트 VPN과 제3자 데이터 소스(140) 사이의 데이터 연결에 대한 트래픽 형성 정도를 결정하고 적용할 수 있다. 클라이언트 VPN(260)은 클라이언트 VPN과 제3자 데이터 소스(140) 사이의 데이터 연결을 위한 필터를 결정하고 적용할 수 있다. 클라이언트 VPN(260)은 클라이언트 VPN과 제3자 데이터 소스(140) 사이의 데이터 연결에 대한 안티-바이러스 동작을 결정하고 적용할 수 있다.
도 3 내지 5는 시스템(100)에 대한 메시지 흐름을 도시한다. 도 3은, 클라이언트(230)를 사용하는 구성원이 애플리케이션 컴포넌트(250)에서 제3자 데이터 링크(252)를 팔로우하는 제어 지시어를 클라이언트(230)로 발급할 때, 시스템(100)의 몇몇의 컴포넌트들의 통신을 도시하는, 시스템(100)에 대한 메시지 흐름(300)의 실시예를 도시한다. 도 3에 도시된 컴포넌트는 도 1 및 2에 도시된 시스템(100)의 컴포넌트와 동일하거나 유사할 수 있다. 메시지 흐름(300)은, 구성원(102)이 애플리케이션 컴포넌트(250)를 런칭하고 SNS(110)로 연결한 후, 그리고 애플리케이션 컴포넌트(250)가 적어도 하나의 제3자 데이터 링크(252)를 디스플레이한 후에 시작될 수 있다.
도 3에 도시되는 것처럼, 애플리케이션 컴포넌트(250)는 제3자 데이터 링크(252)를 팔로우하는 제어 지시어를 이미 수신하였다. 응답으로, 애플리케이션 컴포넌트(250)는 제3자 데이터 링크(252)에 의해 참조되는 제3자 데이터(142)에 액세스하는 요청(310)을 클라이언트 VPN 컴포넌트(260)로 전송한다.
클라이언트 VPN 컴포넌트(260)는, 행위(320)에서 제3자 데이터 링크(252)에 의해 참조되는 제3자 데이터 소스(140)가 요율-조정되어야 한다고 결정할 수 있다. 이러한 결정은, 제3자 데이터 링크(252)와 관련된 애플리케이션이 요율-조정 앱 데이터(280)에 포함되어 있는지 여부를 찾아보는 것을 포함할 수 있다.
클라이언트 VPN 컴포넌트(260)는 이후 메시지(330)에서 서버 VPN 컴포넌트(130)로 요청(310)을 전송할 수 있다. 메시지(330)는 클라이언트 VPN 컴포넌트(260)와 서버 VPN 컴포넌트(130) 사이에 확립된 VPN을 통해 전송될 수 있다. 메시지(330)와 관련된 데이터 사용량은, 이미 요율-조정된 SNS(110) 트래픽 내에 잔존하기 때문에 통신사에 의해 요율-조정될 수 있다.
서버 VPN 컴포넌트(130)는 이후 요청된 제3자 데이터(142)에 액세스하기 위해 메시지(340)에서 애플리케이션 컴포넌트(250)를 제3자 데이터 소스(140)에 연결함으로써 액세스 요청을 완료할 수 있다. 메시지(340)는 서버 VPN 컴포넌트(130)로 시작된 것으로 통신사에 나타날 수 있고, 따라서 그것의 목적이 또는 시작 애플리케이션과는 무관하게 요율-조정된다.
메시지(350)에서, 제3자 데이터 소스(140)는 애플리케이션 컴포넌트(250)에 의해 요청된 제3자 데이터(142)를 제공한다. 반환되는 요청된 데이터는 애플리케이션 컴포넌트(250)(메시지(370))에 의해 수신되기 전에, 서버 VPN 컴포넌트(130)(메시지(360))와 클라이언트 VPN 컴포넌트(260) 사이의 확립된 VPN 연결을 통해 통과될 수 있다.
도 4는 시스템(100)에 대한 메시지 흐름(400)의 실시예를 도시한다. 메시지 흐름(400)은 메시지 흐름(300)과 유사하게 시작되지만, 행위(320)에서, 클라이언트 VPN 컴포넌트(260)는 제3자 데이터 링크(252)에 의해 참조되는 제3자 데이터 소스(140)에 액세스하는 것이 요율-조정돼서는 안된다고 결정할 수 있다.
제3자 데이터 소스에 액세스하는 것이 요율-조정되지 않아야 할 때, 클라이언트 VPN 컴포넌트(260)는, 요청된 제3자 데이터(142)에 액세스하기 위해 메시지(410)에서 애플리케이션 컴포넌트(250)를 제3자 데이터 소스(140)에 연결함으로써 액세스 요청을 완료할 수 있다. 메시지(410)는 서버 VPN 컴포넌트(130)를 통과하지 않지만, 보다 일반적으로 네트워크(170)와 같은 네트워크를 통과하는 것을 유의해야 한다. 메시지(410)는 클라이언트 장치로부터 시작되는 것으로 통신사에 나타날 수 있고, 연루된 데이터 사용량은 구성원의 데이터 요금제에 대한 계산에 포함될 가능성이 높다.
메시지(420)에서 제3자 데이터 소스(140)는 애플리케이션 컴포넌트(250)에 의해 요청된 제3자 데이터(142)를 제공한다. 메시지(420)는 애플리케이션 컴포넌트(250)에 의해 직접 수신되거나, 또는 데이터를 애플리케이션 컴포넌트(250)로 전달하는 클라이언트 VPN 컴포넌트(260)에 의해 먼저 수신(도시되지 않음)될 수 있다.
도 5는 시스템(100)에 대한 메시지 흐름(500)의 실시예를 도시한다. 메시지 흐름(500)은 메시지 흐름(400)과 매우 유사하다. 하지만, 메시지 흐름(500)에서, 제3자 데이터 링크(252)에 의해 참조되는 제3자 데이터 소스(140)에 액세스하는 것이 요율-조정되지 않아야 한다고 결정한 후(행위(320)), 클라이언트 VPN 컴포넌트(260)는 애플리케이션 컴포넌트(250)로 경고(510)를 돌려보낸다. 경고는 요청된 데이터 사용량이 요율-조정되지 않을 것이라고 애플리케이션 컴포넌트(250)로 알릴 수 있다. 경고는, 가령 "이 링크에 액세스하는 것은 당신의 데이터 사용량에 대한 계산에 포함될 수 있습니다" 또는 "이 링크에 액세스하는 것은 요율-조정되지 않을 것입니다"와 같은 메시지로 구성원에게 디스플레이될 수 있다. 경고는 또한, 액세스하는 것을 계속하거나 취소하는 옵션을 구성원에게 제공할 수 있다.
구성원이 엑세스하는 것을 계속하기로 선택할 때(도시되지 않음), 애플리케이션 컴포넌트(250)는 액세스하는 것을 계속하기 위한 메시지(520)로 클라이언트 VPN 컴포넌트(260)에 알릴 수 있다. 이후 클라이언트 VPN 컴포넌트(260)는, 메시지 흐름(400)의 메시지(410)와 같이 메시지(530)로 진행될 수 있다.
도 6은 소셜 네트워킹 서비스(SNS) 클라이언트 사용자 인터페이스(UI)(600)의 실시예를 도시한다. SNS 클라이언트 UI(600)는 클라이언트(180)에서 SNS 애플리케이션 컴포넌트(150)에 의해 제시될 수 있다. SNS 클라이언트 UI(600)는 공유된 컨텐츠 페인(pane)(610)을 포함할 수 있다. 공유된 컨텐츠 페인(610)은, 개인들, 애플리케이션, 단체, 사업체, 정부 제관청 등을 포함하는 SNS(110)의 다른 구성원들에 의해 공유되는 컨텐츠를 디스플레이할 수 있다.
공유된 컨텐츠의 일부는 제3자 데이터 링크를 포함할 수 있다. 예컨대, "구성원 1"에 의해 공유된 샤드 컨텐츠(620)는 개인적인 메모 "I found the best place to get tacos ! Check it out..."와 제3자 데이터 링크(622)("링크(622)") 둘 다를 포함한다. 이 예에서, 링크(622)는, 선택될 때, 몇몇 가능한 행위들 중 하나가 발생하도록 야기할 수 있다. 링크(622)가 타코 가게에 대한 특정 URL이라면, 이후 링크(622)를 예컨대, 터치 제어 지시어(650)로, 선택하는 것은 URL에 의해 참조되는 웹 페이지를 디스플레이하기 위해 SNS 애플리케이션 컴포넌트(150) 내에서 브라우저 인터페이스를 오픈할 수 있다. 대안으로, 별도의 브라우저 애플리케이션이 런치되어 URL에 의해 참조되는 웹 페이지를 디스플레이할 수 있다.
링크(622)가 예컨대, 맵핑 애플리케이션 또는 서비스에 대한 참조라면, 링크(622)를 선택하는 것은 타코 가게의 위치의 맵(map)을 디스플레이하도록 SNS 애플리케이션 컴포넌트(150) 내에서 맵 인터페이스를 오픈할 수 있다. 대안으로, 별도의 맵핑 애플리케이션이 런칭되어서 타코 가게의 위치의 맵을 디스플레이할 수 있다.
공유된 컨텐츠(630)는 애플리케이션 "Game X"에 의해 공유될 수 있고, 애플리케이션과의 구성원의 상호작용에 관한 선언 "I just completed level 10 in Game X"을 포함할 수 있다. 제3자 데이터 링크(632)("링크(632)")가 또한, 포함될 수 있다. 선택될 때, 링크(632)는 SNS 애플리케이션 컴포넌트(150) 내에서 Game X를 위한 인터페이스를 오픈하거나, 또는 Game X 애플리케이션이 클라이언트(180)에서 별개로 런칭되도록 야기할 수 있다. Game X는 SNS 애플리케이션 컴포넌트(150) 내에서든 그 외부에서든지 간에, Game X와의 구성원의 상호작용과 관련된 데이터, 가령 진행 중인 게임, 레벨, 함께 플레이한 친구들, 높은 점수, 선호도 등을 검색하기 위해 게임 서버에 연결해야 할 수 있다.
공유된 컨텐츠(640)는 상이한 구성원 "구성원 2"에 의해 공유될 수 있고, 비디오 공유 서비스로의 제3자 데이터 링크(642)("링크(642)")를 포함할 수 있다. 비디오 공유 서비스는 웹 사이트, 클라이언트(180) 상의 별개의 애플리케이션, 또는 둘 다로서 존재할 수 있다. 링크(642)의 선택은, 따라서, 브라우저 인터페이스를 오픈하거나 별개의 애플리케이션을 런칭할 수 있다.
링크의 타입과 무관하게, 링크(622, 632 및 642)는 팔로우될 때, 제3자 데이터 소스(140), 예컨대 SNS(110)가 아닌 웹 사이트, 맵 서버, 게임 서버, 또는 비디오 공유 사이트로 연결할 것을 요구할 수 있다. 링크(622, 632 또는 642)는 도 3 내지 5를 참조하여 설명되는 것처럼, 참조된 제3자 데이터(142)에 대한 요청을 클라이언트 VPN 컴포넌트(160, 260)로 라우팅할 것이다. 실시예들은 이러한 예들로 제한되지 않는다.
도 7은 시스템(100)에 대한 경고 사용자 인터페이스(UI)(700)의 실시예를 도시한다. 경고 UI(700)는, 제3자 데이터 링크에 액세스하는 것이 요율-조정되지 않을 때, 메시지 흐름(500)을 참조하여 기술된 것처럼 디스플레이될 수 있다. 경고 UI(700)는 선택된 링크를 따라가는 것은 그들의 데이터 요금제 사용량에 기여할 수 있다는 것을 메시지(710)로 구성원에게 알려줄 수 있다. "<3rd Party data>"로 도시되는 메시지의 부분은 실제로는, 예컨대 관련 제3자 애플리케이션 또는 웹 사이트의 이름으로 대체될 수 있다.
경고 UI(700)는 선택가능한 옵션, 가령 계속하기 옵션(720)과 취소 옵션(730)을 포함할 수 있다. 예컨대, 터치 제어 지시어(740)로 계속하기 옵션(720)을 선택하는 것은 메시지 흐름(500)에 도시되는 것처럼 액세스하는 것이 진행되도록 할 수 있다. 취소 옵션(730)을 선택하는 것은 액세스하는 것을 취소하고, 구성원을 SNS 클라이언트 UI(600)로 돌려보낼 수 있다.
개시된 구조의 새로운 양태를 수행하기 위한 예시적인 방법을 표현하는 흐름도의 세트가 본 명세서에 포함되어 있다. 설명의 간결함의 목적을 위해, 본 명세서에 도시되는 하나 이상의 방법이, 예컨대 흐름 차트 또는 흐름도의 형태로 일련의 행위로 도시되고 기술되는 한편, 일부 행위들은 그 행위에 따라, 본 명세서에 도시되고 기술되는 것과는 상이한 순서로 및/또는 다른 행위들과 동시에 발생하기 때문에, 방법들은 행위의 순서에 의해 제한되지 않음을 이해하고 인식해야 한다. 예컨대, 통상의 기술자는 방법이 대안적으로 상태도와 같은 일련의 상호관련된 상태 또는 이벤트로 표현될 수 있음을 이해하고 인식할 것이다. 더욱이, 방법에서 도시된 행위들의 전부가 새로운 구현을 위해 요구되지는 않을 수 있다.
도 8은 도 1의 시스템에 대한 논리 흐름(800)의 일실시예를 도시한다. 논리 흐름(800)은 본 명세서에 기술되는 하나 이상의 실시예에 의해 실행되는 동작의 일부 또는 전부를 표현할 수 있다.
도 8에 도시되는 도시된 실시예에서, 논리 흐름(800)은 블록(802)에서 제3자 데이터 링크를 팔로우하는 선택을 수신할 수 있다. 예컨대, SNS 애플리케이션 컴포넌트(150)는 제3자 데이터 링크(252)를 팔로우하기 위한 제어 지시어, 가령 터치 제스처 또는 입력 장치 선택을 수신할 수 있다.
논리 흐름(800)은 블록(804)에서 링크를 통해 제3자 데이터에 액세스하는 것이 요율-조정되는지 여부를 결정할 수 있다. 예컨대, 클라이언트 VPN 컴포넌트(260)는 제3자 데이터 링크와 관련된 애플리케이션 컴포넌트, 또는 제3자 데이터 링크에 의해 참조되는 제3자 데이터 소스(140)가 요율-조정되어야 하는지 여부를 결정하기 위해 요율-조정 앱 데이터(280)를 참조할 수 있다.
논리 흐름(800)은 블록(806)에서 액세스하는 것이 요율-조정될 때, 서버 VPN에 연결할 수 있다. 예컨대, 클라이언트 VPN 컴포넌트(160, 260)는 클라이언트 VPN 컴포넌트(160, 260)와 서버 VPN 컴포넌트(130) 사이의 VPN 연결을 시작하거나 사용할 수 있고, 제3자 데이터 링크에 의해 참조되는 제3자 데이터에 액세스하는 요청을 서버 VPN 컴포넌트(130)로 포워딩할 수 있다.
논리 흐름(800)은 블록(808)에서 서버 VPN 컴포넌트를 통해 제3자 데이터에 액세스할 수 있다. 예컨대, 서버 VPN 컴포넌트(130)는 팔로우된 제3자 데이터 링크에 의해 참조되는 제3자 데이터 소스(140)로 연결할 수 있다. 데이터 요금제 통신사의 관점에서, 이러한 연결은 제3자 애플리케이션이 아닌 SNS(110)로부터 시작되는 것으로 나타날 수 있고, 결과적으로 요율-조정될 수 있다.
논리 흐름(800)은 블록(810)에서 액세스하는 것이 요율-조정되지 않을 때, 제3자 데이터에 직접 액세스할 수 있다. 예컨대, 클라이언트 VPN 컴포넌트(260)는 연결에서 서버 VPN 컴포넌트(130)를 포함하지 않는 네트워크(170)를 통해 직접 제3자 데이터 소스(140)에 연결할 수 있다. 선택적으로, 논리 흐름(800)은 제3자 데이터에 액세스하는 것이 그들의 데이터 요금제 사용량의 계산에 포함될 수 있다고 구성원에게 우선 경고하고, 액세스하는 것을 취소하는 옵션을 제공할 수 있다.
도 9는 집중형(centralized) 시스템(900)의 블록도를 도시한다. 집중형 시스템(900)은 단일 컴퓨팅 엔티티에서, 가령 단일 장치(920) 내에 전체가 있는 시스템(100)을 위한 구조 및/또는 동작의 일부 또는 전부를 구현할 수 있다.
장치(920)는 시스템(100)을 위해 정보를 수신하고, 프로세싱하며, 전송할 수 있는 임의의 전자 장치를 포함할 수 있다. 전자 장치의 예는, 제한 없이, 울트라-모바일(ultra-mobile) 장치, 모바일 장치, PDA(personal digital assistant), 모바일 컴퓨팅 장치, 스마트폰, 전화, 디지털 전화, 셀룰러 전화, ebook 리더, 핸드셋, 일방 호출기, 쌍방 호출기, 메시징 장치, 컴퓨터, 개인용 컴퓨터(PC), 데스크톱 컴퓨터, 랩톱 컴퓨터, 노트북 컴퓨터, 넷북 컴퓨터, 핸드헬드(handheld) 컴퓨터, 태블릿 컴퓨터, 서버, 서버 어레이 또는 서버 팜(farm), 웹 서버, 네트워크 서버, 인터넷 서버, 워크 스테이션, 미니-컴퓨터, 메인 프레임 컴퓨터, 슈퍼컴퓨터, 네트워크 어플라이언스(appliance), 웹 어플라이언스, 분산형 컴퓨팅 시스템, 멀티프로세서 시스템, 프로세서-기반 시스템, 소비자 전자제품, 프로그램가능한 소비자 전자제품, 게임 장치, 텔레비전, 디지털 텔레비전, 셋톱 박스, 무선 액세스 포인트, 기지국, 가입자 스테이션, 모바일 가입자 센터, 무선 네트워크 제어기, 라우터, 허브, 게이트웨이, 브리지, 스위치, 기계, 또는 이들의 조합을 포함할 수 있다. 실시예들은 이러한 맥락에서 제한되지 않는다.
장치(920)는 프로세싱 회로(930)를 사용하여, 시스템(100), 특히 SNS 애플리케이션 컴포넌트(150)를 위한 프로세싱 동작 또는 논리를 실행할 수 있다. 프로세싱 회로(930)는 다양한 하드웨어 요소, 소프트웨어 요소, 또는 이들 모두의 조합을 포함할 수 있다. 하드웨어 요소의 예는 장치, 논리 장치, 컴포넌트, 프로세서, 마이크로프로세서, 회로, 프로세서 회로, 회로 요소(예컨대, 트랜지스터, 저항, 커패시터, 인덕터 등), 집적 회로, ASIC(application specific integrated circuits), 프로그램가능한 논리 장치(programmable logic device, PLD), 디지털 신호 프로세서(DSP), FPGA(field programmable gate array), 메모리 유닛, 논리 게이트, 레지스터, 반도체 장치, 칩, 마이크로칩, 칩세트 등을 포함할 수 있다. 소프트웨어 요소의 예는 소프트웨어 컴포넌트, 프로그램, 애플리케이션, 컴퓨터 프로그램, 애플리케이션 프로그램, 시스템 프로그램, 소프트웨어 개발 프로그램, 기계 프로그램, 운영 시스템 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈, 루틴, 서브루틴, 함수, 방법, 절차, 소프트웨어 인터페이스, 애플리케이션 프로그램 인터페이스(API), 명령어 세트, 계산 코드, 컴퓨터 코드, 코드 세그먼트, 컴퓨터 코드 세그먼트, 단어, 값, 심볼, 또는 이들의 임의의 조합을 포함할 수 있다. 실시예가 하드웨어 요소 및/또는 소프트웨어 요소를 사용하여 구현되는지 여부를 결정하는 것은 주어진 구현예를 위해 원하는 바에 따른 임의의 수의 요인들, 가령 소정의 계산 속도, 전력 레벨, 내열성, 프로세싱 사이클 예산, 입력 데이터 속도, 출력 데이터 속도, 메모리 자원, 데이터 버스 속도 및 다른 디자인 또는 성능 제약에 따라 다양할 수 있다.
장치(920)는 통신 컴포넌트(940)를 사용하여 시스템(100)을 위한 통신 동작 또는 논리를 실행할 수 있다. 통신 컴포넌트(940)는 임의의 널리 알려진 통신 기법 및 프로토콜, 가령 패킷-스위치 네트워크(예컨대, 인터넷과 같은 공용 네트워크, 사업체 인트라넷과 같은 사설 네트워크 등), 서킷-스위치 네트워크(예컨대, 공용 스위치 전화 네트워크), 또는 (적절한 게이트웨이와 변환기를 갖는) 패킷-스위치 네트워크와 서킷-스위치 네트워크의 조합을 사용하는데 적절한 기법을 구현할 수 있다. 통신 컴포넌트(940)는 다양한 타입의 표준 통신 요소, 가령 하나 이상의 통신 인터페이스, 네트워크 인터페이스, 네트워크 인터페이스 카드(NIC), 라디오, 무선 송수신기(송수신기), 유선 및/또는 무선 통신 매체, 물리적 커넥터 등을 포함할 수 있다. 예로서 제한 없이, 통신 매체(912, 942)는 유선 통신 매체 및 무선 통신 매체를 포함한다. 무선 통신 매체의 예는 와이어, 케이블, 금속 리드(metal lead), PCB(printed circuit board), 백플레인(backplane), 스위치 패브릭, 반도체 재료, 트위스티드-쌍 와이어(twisted-pair wire), 동축 케이블, 광섬유, 전파된 신호 등을 포함할 수 있다. 무선 통신 매체의 예는 음향, 무선-주파수(radio frequency, RF) 스펙트럼, 적외선 및 다른 무선 매체를 포함할 수 있다.
장치(920)는 통신 컴포넌트(940)를 통해, 통신 신호들(914, 944) 각각을 사용하여, 각각의 통신 매체(912, 942) 상에서 다른 장치들(910, 950)과 통신할 수 있다. 장치(910, 950)는 주어진 구현예를 위해 원하는 바에 따라 장치(920)의 내부 또는 외부에 있을 수 있다. 장치(910, 950)는, 예컨대, SNS(110) 및/또는 제3자 데이터 소스(140)를 구현할 수 있다. 실시예들은 이러한 예들로 제한되지 않는다.
도 10은 분산형 시스템(1000)의 블록도를 도시한다. 분산형 시스템(1000)은 다수의 컴퓨팅 엔티티들에 걸쳐 시스템(100)을 위한 구조 및/또는 동작의 부분들을 분산시킬 수 있다. 분산형 시스템(1000)의 예는 제한 없이, 클라이언트-서버 구조, 3-계층 구조, N-계층 구조, 밀접하게-커플링(tightly-coupled)되거나 클러스터화된 구조, 피어-투-피어 구조, 마스터-슬레이브(master-slave) 구조, 공유된 데이터베이스 구조, 및 다른 타입의 분산형 시스템을 포함할 수 있다. 실시예들은 이러한 맥락에서 제한되지 않는다.
분산형 시스템(1000)은 클라이언트 장치(1010) 및 서버 장치(1050)를 포함할 수 있다. 일반적으로, 클라이언트 장치(1010) 및 서버 장치(1050)는 도 9와 관련하여 기술된 클라이언트 장치(920)와 동일하거나 유사할 수 있다. 예컨대, 클라이언트 시스템(1010)과 서버 시스템(1050)은 각각 도 9와 관련하여 기술된 프로세싱 회로(930) 및 통신 컴포넌트(940)와 각각 동일하거나 유사한 프로세싱 회로(1030) 및 통신 컴포넌트(1040)를 포함할 수 있다. 다른 예로, 장치(1010, 1050)는 통신 컴포넌트(1040)를 통해 통신 신호(1014)를 사용하여 통신 매체(1012)상에서 통신할 수 있다.
클라이언트 장치(1010)는 기술된 실시예에 따른 다양한 방법을 수행하도록 동작하는 하나 이상의 클라이언트 프로그램을 포함하거나 이용할 수 있다. 일실시예로, 예컨대, 클라이언트 장치(1010)는 적어도 SNS 애플리케이션 컴포넌트(150) 및 클라이언트 VPN 컴포넌트(160)를 구현할 수 있다. 클라이언트 장치(1010)는 또한, 클라이언트 장치(1010)가 SNS(110)와 통신하고, SNS(110) 정보 및 컨텐츠를 구성원에게 제시할 수 있게 하는 다른 애플리케이션 및/또는 애플리케이션 컴포넌트를 구현할 수 있다.
서버 장치(1050)는 기술된 실시예에 따른 다양한 방법을 수행하도록 동작하는 하나 이상의 서버 프로그램을 포함하거나 이용할 수 있다. 일실시예로, 예컨대, 서버 장치(1050)는 SNS(110)의 컴포넌트들의 일부 또는 전부를 구현할 수 있다. 서버 장치(1050)는 특히 SNS 서버 컴포넌트(120) 및/또는 서버 VPN 컴포넌트(130)를 구현할 수 있다. SNS(110)의 다른 컴포넌트는 서버 장치(1050) 또는 서버 장치(1050)와 유사하고 서버 장치(1050)와 통신하는 다른 서버 장치에 의해 구현될 수 있다.
도 11은 전술한 다양한 실시예를 구현하는데 적절한 예시적인 컴퓨팅 구조(1100)의 실시예를 도시한다. 일실시예로, 컴퓨팅 구조(1100)는 전자 장치의 일부를 포함하거나 전자 장치의 일부로서 구현될 수 있다. 전자 장치의 예는 다른 것들 사이에서, 도 9와 관련하여 기술된 것들을 포함할 수 있다. 실시예들은 이러한 맥락으로 제한되지 않는다.
본 출원에서 사용되는 것처럼, 용어 "시스템" 및 "컴포넌트"는 컴퓨터와 관련된 엔티티, 즉 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 또는 실행 중인 소프트웨어를 의미하는 것으로 의도되었으며, 그 예들은 예시적인 컴퓨팅 구조(1100)에 의해 제공된다. 예컨대, 컴포넌트는, 프로세서에서 실행되는 프로세스, 프로세서, 하드 디스크 드라이브, (광학 및/또는 자기 저장 매체의) 다수의 저장 드라이브, 객체, 실행물, 실행 스레드(thread of execution), 프로그램, 및/또는 컴퓨터일 수 있으나, 이들로 제한되지는 않는다. 예시적으로, 서버에서 실행되는 애플리케이션과 서버 둘 다는 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 프로세스 및/또는 실행 스레드 내에서 상주할 수 있고, 컴포넌트는 하나의 컴퓨터에 집중되거나 및/또는 2개 이상의 컴퓨터 사이에서 분산될 수 있다. 더욱이, 컴포넌트는 동작을 조직화하기 위해 다양한 타입의 통신 매체에 의해 서로 통신하도록 연결될 수 있다. 조직화는 일-방향 또는 양-방향 정보 교환을 수반할 수 있다. 예컨대, 컴포넌트는 통신 매체상에서 통신되는 신호의 형태로 정보를 통신할 수 있다. 정보는 다양한 신호선들에 할당된 신호로 구현될 수 있다. 이러한 할당에 있어서, 각각의 메시지는 신호이다. 하지만, 추가 실시예들은 대안적으로 데이터 메시지를 사용할 수 있다. 이러한 데이터 메시지는 다양한 연결에 걸쳐 전송될 수 있다. 예시적인 연결은 병렬 인터페이스, 직렬 인터페이스, 및 버스 인터페이스를 포함한다.
컴퓨팅 구조(1100)는 다양한 범용 컴퓨팅 요소, 가령 하나 이상의 프로세서, 멀티-코어 프로세서, 코-프로세서, 메모리 유닛, 칩셋, 컨트롤러, 주변장치, 인터페이스, 발진기, 타이밍 장치, 비디오 카드, 오디오 카드, 멀티미디어 입력/출력(I/O) 컴포넌트, 전원 등을 포함한다. 하지만, 실시예들은 컴퓨팅 구조(1100)에 의한 구현으로 제한되지 않는다.
도 11에 도시된 것처럼, 컴퓨팅 구조(1100)는 프로세싱 회로(1104), 시스템 메모리(1106), 및 시스템 버스(1108)를 포함한다. 프로세싱 회로(1104)는, AMD® Athlon®, Duron® 및 Opteron® 프로세서; ARM® 애플리케이션, 임베디드 보안화 프로세서; IBM® 및 Motorola® DragonBall® 및 PowerPC® 프로세서; IBM 및 Sony® 셀 프로세서; Intel® Celeron®, Core (2) Duo®, Itanium®, Pentium®, Xeon®, 및 XScale® 프로세서; 및 유사한 프로세서를 제한 없이 포함하는, 임의의 다양한 상업상 이용가능한 프로세서일 수 있다. 듀얼 마이크로프로세서, 멀티-코어 프로세서, 및 다른 멀티-프로세서 구조가 또한, 프로세싱 회로(1104)로서 이용될 수 있다.
시스템 버스(1108)는 시스템 메모리(1106)를 포함하지만 이에 제한되지 않는 시스템 컴포넌트를 위한 인터페이스를 프로세싱 회로(1104)에 제공한다. 시스템 버스(1108)는, 임의의 다양한 상업상 이용가능한 버스 구조를 사용하여 (메모리 컨트롤러와 함께 또는 메모리 컨트롤러 없이) 메모리 버스, 주변 버스, 로컬 버스에 또한, 상호연결할 수 있는 임의의 몇몇 타입의 버스 구조일 수 있다. 인터페이스 어댑터는 슬롯 구조를 통해 시스템 버스(1108)로 연결할 수 있다. 예시적인 슬롯 구조는 제한 없이, AGP(Accelerated Graphics Port), 카드 버스, (E)ISA((Extended) Industry Standard Architecture), MCA(Micro Channel Architecture), NuBus, PCI(X)(Peripheral Component Interconnect (Extended)), PCI Express, PCMCIA(Personal Computer Memory Card International Association) 등을 포함할 수 있다.
컴퓨팅 구조(1100)는 다양한 제조 물품을 포함하거나 구현할 수 있다. 제조 물품은 논리를 저장하는 컴퓨터-판독가능한 저장 매체를 포함할 수 있다. 컴퓨터-판독가능한 저장 매체의 예는 전자 데이터를 저장할 수 있고, 휘발성 메모리 또는 비-휘발성 메모리, 제거가능하거나 제거불가한 메모리, 삭제가능하거나 삭제불가한 메모리, 쓰기가능하거나 다시쓰기가 가능한 메모리 등을 포함하는 임의의 실체적 매체를 포함할 수 있다. 논리의 예는 임의의 적절한 타입의 코드, 가령 소스 코드, 컴파일된 코드, 해석된 코드, 실행가능한 코드, 정적 코드, 동적 코드, 객체-지향 코드, 시각적 코드 등을 사용하여 구현되는 실행가능한 컴퓨터 프로그램 명령어를 포함할 수 있다. 실시예들은 또한, 비-일시적 컴퓨터-판독가능한 매체에 포함된 명령어로서 적어도 부분적으로 구현될 수 있으며, 상기 명령어는 본 명세서에 기술된 동작들의 수행을 가능하게 하도록 하나 이상의 프로세서에 의해 판독되고 실행될 수 있다.
시스템 메모리(1106)는 하나 이상의 고속 메모리 유닛, 가령 ROM(read-only memory), RAM(random-access memory), DRAM(dynamic RAM), DDRAM(Double-Data-Rate DRAM), SDRAM(synchronous DRAM ), SRAM(static RAM), PROM(programmable ROM), EPROM(erasable programmable ROM), EEPROM(electrically erasable programmable ROM), 플래시 메모리, 강유전성 폴리머 메모리와 같은 폴리머 메모리, 오보닉 메모리, 위상 변화 또는 강유전성 메모리, SONOS(silicon-oxide- nitride-oxide-silicon) 메모리, 자성 또는 광학 카드, RAID(Redundant Array of Independent Disk) 드라이브와 같은 장치들의 어레이, 솔리드 스테이트 메모리 장치(예컨대, USB 메모리, SSD(solid state drive)), 및 정보를 저장하기에 적절한 임의의 다른 타입의 저장 매체와 같은 형태인 다양한 타입의 컴퓨터-판독가능한 저장 매체를 포함할 수 있다. 도 11에 보여지는 도시된 실시예에서, 시스템 메모리(1106)는 비-휘발성 메모리(1110) 및/또는 휘발성 메모리(1112)를 포함할 수 있다. BIOS(basic input/output system)가 비-휘발성 메모리(1110)에 저장될 수 있다.
컴퓨터(1102)는, 내부 (또는 외부) 하드 디스크 드라이브(HDD)(1114), 제거가능한 자기 디스크(1118)로부터 판독하거나 자기 디스크(1118)에 쓰기 위한 자기 플로피 디스크 드라이브(FDD)(1116), 제거가능한 광학 디스크(1122)(예컨대, CD-ROM 또는 DVD)로부터 판독하거나 제거가능한 광학 디스크(1122)에 쓰기 위한 광학 디스크 드라이브(1120)를 포함하는 하나 이상의 저속 메모리 유닛의 형태인 다양한 타입의 컴퓨터-판독가능한 저장 매체를 포함할 수 있다. HDD(1114), FDD(1116) 및 광학 디스크 드라이브(1120)는 각각 HDD 인터페이스(1124), FDD 인터페이스(1126), 및 광학 드라이브 인터페이스(1128)에 의해 시스템 버스(1108)로 연결될 수 있다. 외부 드라이브 구현을 위한 HDD 인터페이스(1124)는 범용 시리얼 버스(USB) 및 IEEE 1394 인터페이스 기술 중 적어도 하나 또는 둘 다를 포함할 수 있다.
드라이브 및 관련 컴퓨터-판독가능한 매체는 휘발성 및/또는 비휘발성 데이터 저장소, 데이터 구조, 컴퓨터-실행가능한 명령어 등을 제공한다. 예컨대, 다수의 프로그램 모듈이 드라이브 및 메모리 유닛(1110, 1112)에 저장될 수 있고, 운영 시스템(1130), 하나 이상의 애플리케이션 프로그램(1132), 다른 프로그램 모듈(1134), 및 프로그램 데이터(1136)를 포함한다. 일실시예로, 하나 이상의 애플리케이션 프로그램(1132), 다른 프로그램 모듈(1134), 및 프로그램 데이터(1136)는 예컨대, 다양한 애플리케이션 및/또는 시스템(100)의 컴포넌트를 포함할 수 있다.
사용자는 하나 이상의 유선/무선 입력 장치, 예컨대 키보드(1138) 및 포인팅 장치, 가령 마우스(1140)를 통해 컴퓨터(1102)로 명령 및 정보를 입력할 수 있다. 다른 입력 장치는 마이크, 적외선(IR) 리모컨, 무선-주파수(RF) 리모컨, 게임 패드, 스타일러스 펜, 카드 판독기, 동글(dongle), 지문 판독기, 장갑, 그래픽 태블릿, 조이스틱, 키보드, 망막 판독기, 터치 스크린(예컨대, 용량성, 저항성 등), 트랙볼, 트랙 패드, 센서, 스타일러스 등을 포함할 수 있다. 이러한 것들과 다른 입력 장치는 시스템 버스(1108)에 연결된 입력 장치 인터페이스(1142)를 통해 프로세싱 회로(1104)로 보통 연결되지만, 다른 인터페이스, 가령 병렬 포트, IEEE 1394 직렬 포트, 게임 포트, USB 포트, IR 인터페이스 등에 의해 연결될 수 있다.
모니터(1144) 또는 다른 타입의 디스플레이 장치는 또한, 인터페이스, 가령 비디오 어댑터(1146)를 통해 시스템 버스(1108)로 연결된다. 모니터(1144)는 컴퓨터(1102)의 내부 또는 외부에 있을 수 있다. 모니터(1144)에 추가로, 컴퓨터는 통상적으로 다른 주변 출력 장치, 가령 스피커, 프린터 등을 포함한다.
컴퓨터(1102)는, 유선 및/또는 무선 통신을 통하는 가령 원격 컴퓨터(1148)와 같은 하나 이상의 원격 컴퓨터로의 논리 연결을 사용하여 네트워킹된 환경에서 동작할 수 있다. 원격 컴퓨터(1148)는 워크스테이션, 서버 컴퓨터, 라우터, 개인용 컴퓨터, 휴대용 컴퓨터, 마이크로프로세서-기반 엔터테인먼트 어플라이언스, 피어 장치 또는 다른 일반 네트워크 노드일 수 있고, 비록 간결함의 목적을 위해, 오로지 메모리-저장 장치(1150)만이 도시되지만, 컴퓨터(1102)와 관련하여 기술된 구성들의 다수 또는 전부를 전형적으로 포함한다. 도시된 논리 연결은 로컬 영역 네트워크(LAN)(1152) 및/또는 더욱 큰 네트워크, 예컨대 WAN(wide area network)(1154)로의 유선-무선 연결을 포함한다. 이러한 LAN 및 WAN 네트워킹 환경은 사무실 및 회사에 일반적이며, 기업체의 컴퓨터 네트워크, 가령 인트라넷을 용이하게 하며, 이들 모두는 글로벌 통신 네트워크, 예컨대 인터넷으로 연결될 수 있다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(1102)는 유선 및/또는 무선 통신 네트워크 인터페이스 또는 어댑터(1156)를 통해 LAN(1152)으로 연결된다. 어댑터(1156)는 LAN(1152)으로의 유선 및/또는 무선 통신을 용이하게 할 수 있고, LAN(1152)은 또한, 어댑터(1156)의 무선 기능과 통신하기 위해 배치된 무선 액세스 포인트를 포함할 수 있다.
WAN 네트워킹 환경에서 사용될 때, 컴퓨터(1102)는 모뎀(1158)을 포함하거나, WAN(1154)상의 통신 서버에 연결되거나, 가령 인터넷에 의한 것처럼, WAN(1154) 상에서 통신을 확립하기 위한 다른 수단을 가진다. 내부 또는 외부에 있을 수 있고, 유선 및/또는 무선 장치일 수 있는 모뎀(1158)은, 입력 장치 인터페이스(1142)를 통해 시스템 버스(1108)로 연결된다. 네트워킹된 환경에서, 컴퓨터(1102)에 대해 상대적으로 도시된 프로그램 모듈, 또는 그들의 부분은 원격 메모리/저장 장치(1150)에 저장될 수 있다. 도시된 네트워크 연결은 예시적인 것이며, 컴퓨터들 사이에서 통신 링크를 확립하는 다른 수단이 사용될 수 있음을 유의할 것이다.
컴퓨터(1102)는 IEEE 802 표준 패밀리, 가령 무선 통신에서 동작하도록 배치된 무선 장치(예컨대, IEEE 802.11 over-the-air 변조 기법)를 사용하여 유선 및 무선 장치 또는 엔티티와 통신하도록 동작한다. 이는 다른 것들 사이에서, 적어도 Wi-Fi(또는 Wireless Fidelity), WiMax, 및 Bluetooth™ 무선 기술을 포함한다. 따라서, 통신은 종래의 네트워크와 같은 기정의된 구조 또는 단순히 적어도 2개의 장치 사이의 애드 혹 통신일 수 있다. Wi-Fi 네트워크는, 보안된, 신뢰성있는, 고속 무선 연결을 제공하기 위해 IEEE 802.11x(a, b, g, n 등)으로 불리는 무선 기술을 사용한다. Wi-Fi 네트워크는 컴퓨터들을 서로와, 인터넷과, 그리고 (IEEE 802.3-관련 매체 및 기능을 사용하는) 유선 네트워크로 연결하는데 사용될 수 있다.
도 12는 전술한 다양한 실시예들을 구현하는데 적절한 예시적인 통신 구조(1200)의 블록도를 도시한다. 통신 구조(1200)는 다양한 일반 통신 요소, 가령 송신기, 수신기, 송수신기, 라디오, 네트워크 인터페이스, 베이스밴드 프로세서, 안테나, 증폭기, 필터, 전원 등을 포함한다. 하지만, 실시예들은 통신 구조(1200)에 의한 구현예로 제한되지 않는다.
도 12에 도시되는 것처럼, 통신 구조(1200)는 하나 이상의 클라이언트(1202) 및 서버(1204)를 포함한다. 클라이언트(1202)는 클라이언트 장치(1010)를 구현할 수 있다. 서버(1204)는 서버 장치(1050)를 구현할 수 있다. 클라이언트(1202) 및 서버(1204)는, 가령 쿠키 및/또는 관련 컨텍스트 정보와 같은, 각각의 클라이언트(1202) 및 서버(1204)에 국지적인 정보를 저장하는데 이용될 수 있는 하나 이상의 각각의 클라이언트 데이터 스토어(1208) 및 서버 데이터 스토어(1210)에 동작하도록 연결된다.
클라이언트(1202) 및 서버(1204)는 통신 프레임워크(1206)를 사용하여 서로와 정보를 통신할 수 있다. 통신 프레임워크(1206)는 임의의 잘 알려진 통신 기술 및 프로토콜을 구현할 수 있다. 통신 프레임워크(1206)는 패킷-스위치 네트워크(예컨대, 인터넷과 같은 공용 네트워크, 기업체 인트라넷과 같은 사설 네트워크 등), 서킷-스위치 네트워크(예컨대, 공용 스위치 전화 네트워크), 또는 (적절한 게이트웨이와 변환기를 갖는) 패킷-스위치 네트워크 및 서킷-스위치 네트워크의 조합으로 구현될 수 있다.
통신 프레임워크(1206)는 통신 네트워크를 수락하고, 통신하며, 연결하도록 정렬된 다양한 네트워크 인터페이스를 구현할 수 있다. 네트워크 인터페이스는 입력 출력 인터페이스의 특수한 형태로 여겨질 수 있다. 네트워크 인터페이스는 제한 없이 직접 연결, Ethernet(예컨대, 두꺼운, 얇은, 트위스트된 페어의 10/100/1000 베이스 T 등), 토큰 링(token ring), 무선 네트워크 인터페이스, 셀룰러 네트워크 인터페이스, IEEE 802.11a-x 네트워크 인터페이스, IEEE 802.16 네트워크 인터페이스, IEEE 802.20 네트워크 인터페이스 등을 포함하는 연결 프로토콜을 이용할 수 있다. 더욱이, 다수의 네트워크 인터페이스는 다양한 통신 네트워크 타입과 협력하는데 이용될 수 있다. 예컨대, 다수의 네트워크 인터페이스는 브로드캐스트, 멀티캐스트, 및 유니캐스트 네트워크상에서의 통신을 허용하도록 이용될 수 있다. 프로세싱 요구사항이 더 많은 양의 속도 및 용량을 요구한다면, 분산형 네트워크 컨트롤러 구조가 풀링, 부하 균형, 아니면 클라이언트(1202) 및 서버(1204)에 의해 요구되는 통신 대역폭을 증가시키는데 유사하게 이용될 수 있다. 통신 네트워크는, 제한 없이, 직접 상호연결, 보안된 커스텀 연결(secured custom connection), 사설 네트워크(예컨대, 사업체의 인트라넷), 공용 네트워크(예컨대, 인터넷), PAN(Personal Area Network), LAN(Local Area Network), MAN(Metropolitan Area Network), OMNI(Operating Miss ions as Nodes on the Internet), WAN(Wide Area Network), 무선 네트워크, 셀룰러 네트워크, 및 다른 통신 네트워크를 포함하는 유선 및/또는 무선 네트워크의 조합 및 임의의 하나일 수 있다.
본 명세서에서 사용되는 기호 및 이름에 대한 일반적인 언급으로, 전술한 상세한 설명은 컴퓨터 또는 컴퓨터들의 네트워크에서 실행되는 프로그램 절차의 관점에서 제시될 수 있다. 이러한 절차적인 설명 및 표현은 다른 통상의 기술자들에게 작업물의 내용을 가장 효과적으로 전달하기 위해 통상의 기술자들에 의해 사용된다.
본 명세서에 절차가 있으며, 일반적으로 절차는 원하는 결과를 이끌어내는 일관성 있는 일련의 동작들로 여겨진다. 이러한 동작은 물리적인 양의 물리적인 조작을 요구하는 것들이다. 필수적인 것은 아니지만, 보통 이러한 양들은 저장되고, 전달되며, 조합되고, 비교되거나 아니면 조작될 수 있는 전기, 자기, 또는 광학 신호의 형태를 취한다. 종종 이러한 신호들을 비트, 값, 요소, 심볼, 문자, 용어, 숫자 등으로 부르는 것이 주로 일반적인 용법의 이유를 위해 편리할 수 있다. 하지만, 이러한 것들과 이와 유사한 용어들은 적절한 물리적 양과 관련되는 것이며 오로지 이러한 양들에 적용된 편리한 레이블에 불과하다는 것을 유의해야 한다.
게다가, 수행되는 조작은 종종 인간 오퍼레이터에 의해 수행되는 정신적 동작과 보통 관련되는, 추가 또는 비교와 같은 용어들로 불린다. 하나 이상의 실시예들의 일부를 형성하는 본 명세서에 기술된 임의의 동작에서 대부분의 경우 인간 오퍼레이터의 이러한 능력이 필요한 것이 아니다. 대신에, 동작들은 기계 동작이다. 다양한 실시예들의 동작을 수행하기 위한 유용한 기계들은 범용 디지털 컴퓨터 또는 유사한 장치들을 포함한다.
다양한 실시예들은 또한, 이러한 동작들을 수행하기 위한 장치 또는 시스템에 관한 것이다. 이러한 장치는 요구되는 목적을 위해 특별히 구성될 수 있거나, 장치는 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성될 수 있는 범용 컴퓨터를 포함할 수 있다. 본 명세서에 제시되는 절차는 특정 컴퓨터 또는 다른 장치와 본질적으로 관련되는 것이 아니다. 다양한 범용 기계들이 본 명세서의 교시내용에 따라 쓰여진 프로그램과 함께 사용될 수 있거나, 또는 요구되는 방법의 단계들을 수행하는 더욱 특수화된 장치를 구성하는 것이 편리할 수 있다. 이러한 다양한 기계들을 위해 요구되는 구조는 주어진 설명에 나타날 것이다.
일부 실시예들은 "일실시예" 또는 "실시예"라는 표현과 그들의 파생어를 사용하여 기술될 수 있다. 이러한 용어들은 실시예와 연계하여 기술된 특정 구성, 구조, 또는 특징이 적어도 하나의 실시예에 포함된다는 것을 의미한다. 명세서의 다양한 위치에서 구절 "일실시예로"의 출현은 필연적으로 동일한 실시예를 언급하는 것이 아니다. 게다가, 일부 실시예들은 표현 "결합된(coupled)" 및 "연결된"을 그들의 파생어들과 함께 사용하여 기술될 수 있다. 이러한 용어들은 필연적으로 서로에 대한 동의어로 의도된 것이 아니다. 예컨대, 일부 실시예들은, 2개 이상의 요소들이 서로 직접 물리적 또는 전기적으로 접촉하고 있음을 표시하기 위해 용어들 "연결된" 및/또는 "결합된"을 사용하여 기술될 수 있다. 하지만, 용어 "결합된"은 또한, 2개 이상의 요소들이 서로 직접적으로 접촉하는 것은 아니지만, 여전히 서로 협력하거나 상호작용한다는 것을 의미할 수 있다.
본 명세서의 초록은, 독자가 기술적인 개시내용의 본질을 빠르게 확인할 수 있도록 제공되는 것임이 강조된다. 초록은 청구항들의 범위 또는 의미를 해석하거나 제한하는데 사용되지 않을 것이라는 판단하에 제출된다. 추가로, 전술한 상세한 설명에서, 다양한 특징들이 본 명세서를 간소화하기 위한 목적으로 단일의 실시예에서 함께 그룹화되는 것을 볼 수 있다. 본 명세서의 이러한 방식은 청구되는 실시예가 각각의 청구항에 명시적으로 기재된 특징들보다 많은 특징을 요구한다는 의도를 반영하는 것으로 해석되는 것이 아니다. 대신에, 하기의 청구항들이 반영하듯이, 발명의 대상은 단일의 개시된 실시예의 모든 특징들보다 적은 수로 존재한다. 따라서, 이하의 청구항들은 각각의 청구항이 독자적으로 별개의 실시예로서 존재하며, 본 명세서에서 상세한 설명에 통합된다. 첨부되는 청구항들에서, 용어들 "including" 및 "in which"는 상응하는 용어들 "comprising" 및 "wherein"의 일반적 영어의 균등한 단어들로서 사용된다. 추가로, 용어들 "제1", "제2", "제3" 등은 오로지 레이블로서 사용되는 것이며, 그들의 객체에 대한 수치와 관련된 요구사항을 부과하려는 의도가 아니다.
상기에 기술된 내용은 개시되는 구조의 예를 포함한다. 물론, 컴포넌트 및/또는 방법의 모든 생각할 수 있는 조합을 기술하는 것은 가능하지 않지만, 통상의 기술자라면 많은 추가 조합 및 변환이 가능함을 인식할 것이다. 따라서, 새로운 구조는 첨부되는 청구항들의 정신 및 범위 내에 포함되는 이러한 모든 변경, 수정, 및 변형을 포괄하는 것으로 의도된다.

Claims (20)

  1. 클라이언트 장치에서 실행되는 클라이언트 가상 사설 네트워크(virtual private network, VPN) 컴포넌트에 의해, 제3자 데이터에 액세스하는 요청을 수신하는 단계;
    클라이언트 VPN 컴포넌트에 의해, 제3자 데이터에 액세스하는 것이 요율-조정되는지(rate-adjusted) 여부를 결정하는 단계;
    액세스하는 것이 요율-조정될 때, VPN을 사용하여 서버 VPN 컴포넌트에 연결하는 단계; 및
    VPN을 통해 제3자 데이터에 액세스하는 단계를 포함하는 컴퓨터 구현 방법.
  2. 제 1 항에 있어서,
    액세스하는 것이 요율-조정되지 않을 때, VPN을 포함하지 않는 네트워크를 통해 제3자 데이터에 액세스하는 단계를 포함하는 컴퓨터 구현 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    액세스하는 것이 요율-조정되지 않을 때, 경고를 디스플레이하는 단계;
    제1 선택가능한 옵션을 선택하는 제어 지시어를 수신하는 단계; 및
    VPN을 포함하지 않는 네트워크를 통해 제3자 데이터에 액세스하는 단계를 포함하고,
    상기 경고는 액세스를 계속하는 제1 선택가능한 옵션 및 액세스를 취소하는 제2 선택가능한 옵션을 포함하는 컴퓨터 구현 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    제3자 데이터에 액세스하는 것이 요율-조정된 애플리케이션 데이터세트에 따라 요율-조정된다고 결정하는 단계를 포함하는 컴퓨터 구현 방법.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    클라이언트 장치에서 실행되는 소셜 네트워킹 서비스 애플리케이션에서 제3자 데이터로의 링크를 디스플레이하는 단계;
    링크를 팔로우(follow)하는 제어 지시어를 수신하는 단계; 및
    제어 지시어에 응답하여, 제3자 데이터에 액세스하는 요청을 생성하는 단계를 포함하는 컴퓨터 구현 방법.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    클라이언트 VPN과 제3자 데이터의 소스 사이의 데이터 연결에 대한 압축 수준(level of compression);
    클라이언트 VPN과 제3자 데이터의 소스 사이의 데이터 연결에 대한 트래픽 형성 정도;
    클라이언트 VPN과 제3자 데이터의 소스 사이의 데이터 연결을 위한 필터; 및
    클라이언트 VPN과 제3자 데이터의 소스 사이의 데이터 연결에 대한 안티-바이러스(anti-virus) 동작 중 적어도 하나를 결정하고 적용하는 단계를 포함하는 컴퓨터 구현 방법.
  7. 프로세서 회로;
    제3자 데이터로의 링크를 제시하고, 링크를 팔로우하는 제어 지시어를 수신하며, 제3자 데이터로의 액세스를 요청하도록 프로세서 회로에서 동작하는 애플리케이션 컴포넌트; 및
    서버 VPN 컴포넌트를 갖는 서버와 통신하고, 애플리케이션 컴포넌트로부터 제3자 데이터에 액세스하는 요청을 수신하며, 액세스가 요율-조정되는지 여부를 결정하고, 서버 VPN 컴포넌트를 통해 제3자 데이터의 소스로 연결하도록 프로세서 회로에서 동작하는 클라이언트 VPN 컴포넌트를 포함하는 장치.
  8. 제 7 항에 있어서,
    클라이언트 VPN 컴포넌트는 서버 VPN 컴포넌트와 VPN을 형성하는 장치.
  9. 제 7 항 또는 제 8 항에 있어서,
    클라이언트 VPN 컴포넌트는, 액세스하는 것이 요율-조정되지 않을 때, 서버 VPN 컴포넌트를 포함하지 않는 네트워크롤 통해 제3자 데이터의 소스로 연결하는 장치.
  10. 제 7 항 내지 제 9 항 중 어느 한 항에 있어서,
    클라이언트 VPN 컴포넌트는, 액세스하는 것이 요율-조정되지 않을 때, 경고를 디스플레이하고; 계속하는 선택가능한 옵션을 선택하는 명령 지시어가 수신될 때, 서버 VPN 컴포넌트를 포함하지 않는 네트워크를 통해 제3자 데이터의 소스로 연결하며,
    상기 경고는 액세스를 계속하는 선택가능한 옵션 및 액세스를 취소하는 선택가능한 옵션을 포함하는 장치.
  11. 제 7 항 내지 제 10 항 중 어느 한 항에 있어서,
    애플리케이션 컴포넌트는 소셜 네트워킹 서비스 애플리케이션; 및/또는
    소셜 네트워킹 애플리케이션 내에서 동작하는 제2 애플리케이션인 장치.
  12. 제 7 항 내지 제 11 항 중 어느 한 항에 있어서,
    제3자 데이터로의 링크는: 서버의 URL(uniform resource locator) 및 서버 VPN의 URL과는 상이한 URL; 팔로우될 때, 제2 애플리케이션으로 하여금 모바일 장치에서 실행되게 하는 링크; 및 팔로우될 때, 모바일 장치에서 스크립트를 실행하는 링크 중 적어도 하나를 포함하는 장치.
  13. 제 7 항 내지 제 12 항 중 어느 한 항에 있어서,
    클라이언트 VPN 컴포넌트는 제3자 데이터에 액세스하는 것이 요율-조정된 애플리케이션 데이터세트에 따라 요율-조정된다고 결정하는 장치.
  14. 제 7 항 내지 제 13 항 중 어느 한 항에 있어서,
    클라이언트 VPN 컴포넌트는: 클라이언트 VPN과 제3자 데이터의 소스 사이의 데이터 연결에 대한 압축 수준; 클라이언트 VPN과 제3자 데이터의 소스 사이의 데이터 연결에 대한 트래픽 형성 정도; 클라이언트 VPN과 제3자 데이터의 소스 사이의 데이터 연결을 위한 필터; 및 클라이언트 VPN과 제3자 데이터의 소스 사이의 데이터 연결에 대한 안티-바이러스(anti-virus) 동작 중 적어도 하나를 결정하고 적용하는 장치.
  15. 적어도 하나의 컴퓨터-판독가능한 저장 매체로서,
    실행시, 시스템으로 하여금:
    클라이언트 장치에서 실행되는 애플리케이션 컴포넌트에서 제3자 데이터로의 링크를 제시하고;
    링크를 팔로우하는 제어 지시어를 수신하며;
    제3자 데이터에 액세스하는 것을 요청하고;
    액세스하는 것이 요율-조정되는지 여부를 결정하며;
    VPN을 사용하여 서버 VPN 컴포넌트에 연결하고;
    VPN을 통해 제3자 데이터의 소스에 연결하도록 하는 명령어를 포함하는 컴퓨터-판독가능한 저장 매체.
  16. 제 15 항에 있어서,
    실행시, 시스템으로 하여금:
    액세스하는 것이 요율-조정되지 않을 때, VPN을 포함하지 않는 네트워크를 통해 제3자 데이터에 액세스하도록 하는 명령어를 포함하는 컴퓨터-판독가능한 저장 매체.
  17. 제 15 항 또는 제 16 항에 있어서,
    실행시, 시스템으로 하여금:
    액세스하는 것이 요율-조정되지 않을 때, 경고를 디스플레이하고;
    제1 선택가능한 옵션을 선택하는 제어 지시어를 수신하며;
    VPN을 포함하지 않는 네트워크를 통해 제3자 데이터에 액세스하도록 하는 명령어를 포함하며,
    상기 경고는 액세스를 계속하는 제1 선택가능한 옵션 및 액세스를 취소하는 제2 선택가능한 옵션을 포함하는 컴퓨터-판독가능한 저장 매체.
  18. 제 15 항 내지 제 17 항 중 어느 한 항에 있어서,
    실행시, 시스템으로 하여금:
    제3자 데이터에 액세스하는 것이 요율-조정된 애플리케이션 데이터세트에 따라 요율-조정된다고 결정하도록 하는 명령어를 포함하는 컴퓨터-판독가능한 저장 매체.
  19. 제 15 항 내지 제 18 항 중 어느 한 항에 있어서,
    애플리케이션 컴포넌트는 소셜 네트워킹 서비스 애플리케이션 및 소셜 네트워킹 서비스 애플리케이션 내에서 동작하는 제2 애플리케이션 중 하나인 컴퓨터-판독가능한 저장 매체.
  20. 제 15 항 내지 제 19 항 중 어느 한 항에 있어서,
    실행시, 시스템으로 하여금:
    클라이언트 VPN과 제3자 데이터의 소스 사이의 데이터 연결에 대한 압축 수준;
    클라이언트 VPN과 제3자 데이터의 소스 사이의 데이터 연결에 대한 트래픽 형성 정도;
    클라이언트 VPN과 제3자 데이터의 소스 사이의 데이터 연결을 위한 필터; 및
    클라이언트 VPN과 제3자 데이터의 소스 사이의 데이터 연결에 대한 안티-바이러스(anti-virus) 동작 중 적어도 하나를 결정하고 적용하도록 하는 명령어를 포함하는 컴퓨터-판독가능한 저장 매체.
KR1020167015058A 2013-11-12 2014-01-31 가상 사설 네트워크로 데이터 사용량의 요율을 조정하는 기술 KR101979334B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/077,994 US9565164B2 (en) 2013-11-12 2013-11-12 Techniques to rate-adjust data usage with a virtual private network
US14/077,994 2013-11-12
PCT/US2014/014008 WO2015073057A1 (en) 2013-11-12 2014-01-31 Techniques to rate-adjust data usage with a virtual private network

Publications (2)

Publication Number Publication Date
KR20160085289A true KR20160085289A (ko) 2016-07-15
KR101979334B1 KR101979334B1 (ko) 2019-05-16

Family

ID=53045029

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167015058A KR101979334B1 (ko) 2013-11-12 2014-01-31 가상 사설 네트워크로 데이터 사용량의 요율을 조정하는 기술

Country Status (9)

Country Link
US (1) US9565164B2 (ko)
JP (1) JP6336065B2 (ko)
KR (1) KR101979334B1 (ko)
CN (2) CN106464508B (ko)
AU (1) AU2014349181B2 (ko)
CA (1) CA2930262C (ko)
IL (1) IL245490B (ko)
MX (1) MX361238B (ko)
WO (1) WO2015073057A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10243953B2 (en) * 2014-05-20 2019-03-26 Box, Inc. Systems and methods for secure resource access and network communication
US9667807B2 (en) * 2015-06-03 2017-05-30 Facebook, Inc. Techniques for dynamic zero-rated server clusters
US20180121461A1 (en) * 2016-10-31 2018-05-03 Facebook, Inc. Methods and Systems for Deduplicating Redundant Usage Data for an Application
CN112187807B (zh) * 2020-09-30 2022-05-24 新华三大数据技术有限公司 一种分支网络网关监控方法、装置及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110154477A1 (en) * 2009-12-22 2011-06-23 Cisco Technology, Inc. Dynamic content-based routing
US20120209990A1 (en) * 2011-02-13 2012-08-16 Openwave Systems Inc. Method and system for providing a zero rating service to an end-user device
US20150025976A1 (en) * 2013-07-17 2015-01-22 LotusFlare, Inc. Systems and methods for providing mobile applications to users at a predetermined data rate

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7036143B1 (en) 2001-09-19 2006-04-25 Cisco Technology, Inc. Methods and apparatus for virtual private network based mobility
US7760882B2 (en) * 2004-06-28 2010-07-20 Japan Communications, Inc. Systems and methods for mutual authentication of network nodes
US20060089121A1 (en) 2004-10-27 2006-04-27 Hani Elgebaly Method and apparatus for automatic connecting of virtual private network clients to a network
US7975294B2 (en) * 2007-11-19 2011-07-05 International Business Machines Corporation VPN management
US8209749B2 (en) 2008-09-17 2012-06-26 Apple Inc. Uninterrupted virtual private network (VPN) connection service with dynamic policy enforcement
WO2011062883A1 (en) * 2009-11-20 2011-05-26 Ustream, Inc. Broadcast notifications using social networking systems
US8127350B2 (en) 2010-06-30 2012-02-28 Juniper Networks, Inc. Multi-service VPN network client for mobile device
US8473734B2 (en) * 2010-06-30 2013-06-25 Juniper Networks, Inc. Multi-service VPN network client for mobile device having dynamic failover
US9203810B2 (en) 2010-07-23 2015-12-01 Anchorfree Inc. Web VPN
US8693358B2 (en) * 2010-12-16 2014-04-08 Syniverse Technologies, Inc. Providing toll free data in a wireless system
US8943054B2 (en) * 2011-01-31 2015-01-27 Social Resolve, Llc Social media content management system and method
US8572262B2 (en) * 2011-03-17 2013-10-29 Blackberry Limited System and method for controlling connections to an application server
US20120250586A1 (en) * 2011-04-01 2012-10-04 Kalle Ilmari Ahmavaara Methods and apparatus for managing data connectivity
US8965330B2 (en) * 2011-10-21 2015-02-24 Microsoft Corporation Split billing for a mobile device
KR20130048095A (ko) 2011-11-01 2013-05-09 한국전자통신연구원 Vpn 서비스 제어장치 및 방법
FR2983610A1 (fr) * 2011-12-05 2013-06-07 Fanrank Reseau de communication a trafic de connexion ameliore
US9887894B2 (en) * 2012-01-27 2018-02-06 Microsoft Technology Licensing, Llc Recommendations for reducing data consumption based on data usage profiles
US9077622B2 (en) 2012-02-16 2015-07-07 Blackberry Limited Method and apparatus for automatic VPN login on interface selection
JP2013187768A (ja) * 2012-03-08 2013-09-19 Panasonic Corp 携帯通信端末及び通信制御方法
US9178844B2 (en) * 2013-01-23 2015-11-03 Verizon Patent And Licensing Inc. Method and system for associating a social networking identifier with a network subscriber account

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110154477A1 (en) * 2009-12-22 2011-06-23 Cisco Technology, Inc. Dynamic content-based routing
US20120209990A1 (en) * 2011-02-13 2012-08-16 Openwave Systems Inc. Method and system for providing a zero rating service to an end-user device
US20150025976A1 (en) * 2013-07-17 2015-01-22 LotusFlare, Inc. Systems and methods for providing mobile applications to users at a predetermined data rate

Also Published As

Publication number Publication date
US20150135303A1 (en) 2015-05-14
JP6336065B2 (ja) 2018-06-06
CA2930262C (en) 2020-02-25
MX2016006067A (es) 2016-08-12
CN106464508B (zh) 2019-10-22
AU2014349181B2 (en) 2018-07-12
IL245490A0 (en) 2016-06-30
CA2930262A1 (en) 2015-05-21
US9565164B2 (en) 2017-02-07
WO2015073057A1 (en) 2015-05-21
JP2016540428A (ja) 2016-12-22
MX361238B (es) 2018-11-30
CN106464508A (zh) 2017-02-22
KR101979334B1 (ko) 2019-05-16
IL245490B (en) 2018-10-31
CN110535783B (zh) 2022-09-16
AU2014349181A1 (en) 2016-05-26
CN110535783A (zh) 2019-12-03

Similar Documents

Publication Publication Date Title
US10050879B2 (en) Techniques for selecting content based on network conditions
US9003556B2 (en) Techniques for in-app user data authorization
US10318638B1 (en) Techniques for graph based natural language processing
US10558673B2 (en) Techniques for prospective contact ranking of address book entries
KR102231606B1 (ko) 컨텍스트 모바일 데이터 액세스를 위한 기술
KR20180116290A (ko) 메시징 봇 리치 통신을 위한 기술
US20150079961A1 (en) Techniques for phone number and data management
KR101979334B1 (ko) 가상 사설 네트워크로 데이터 사용량의 요율을 조정하는 기술
US9894114B2 (en) Adjusting the display of social media updates to varying degrees of richness based on environmental conditions and importance of the update
US10382914B2 (en) Techniques to leverage data from mobile headers
KR20170086530A (ko) 사용자 데이터를 모바일 장치와 연관시키는 기술
JP6802190B2 (ja) 動的なゼロレートサーバクラスタのための技術
EP2871802B1 (en) Techniques to rate-adjust data usage with a virtual private network
US9965811B2 (en) Techniques to promote messages
US10601760B2 (en) Techniques for device configuration of prospective contacts using messaging history information
EP3035591B1 (en) Techniques for contextual mobile data access

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right