KR20180104268A - 네트워크 리소스 요청을 제로 레이팅 네트워크 요청으로 변환하는 기술 - Google Patents

네트워크 리소스 요청을 제로 레이팅 네트워크 요청으로 변환하는 기술 Download PDF

Info

Publication number
KR20180104268A
KR20180104268A KR1020177016269A KR20177016269A KR20180104268A KR 20180104268 A KR20180104268 A KR 20180104268A KR 1020177016269 A KR1020177016269 A KR 1020177016269A KR 20177016269 A KR20177016269 A KR 20177016269A KR 20180104268 A KR20180104268 A KR 20180104268A
Authority
KR
South Korea
Prior art keywords
zero
network
rating
request
domain name
Prior art date
Application number
KR1020177016269A
Other languages
English (en)
Other versions
KR102245358B1 (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 KR20180104268A publication Critical patent/KR20180104268A/ko
Application granted granted Critical
Publication of KR102245358B1 publication Critical patent/KR102245358B1/ko

Links

Images

Classifications

    • H04L67/16
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/39Arrangements for preventing metering, charging or billing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1432Metric aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/42
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/24Accounting or billing

Landscapes

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

Abstract

네트워크 리소스 요청을 제로 레이팅 네트워크 요청으로 변환하는 기술이 설명된다. 일부 실시예는 특히 요청의 목적지를 네트워크 리소스를 위한 제로 레이팅 소스로 대체함으로써 셀룰러 네트워크 상의 네트워크 리소스 요청을 제로 레이팅으로 변환하는 기술에 관한 것이다. 일실시예에서, 예를 들어, 장치는 데이터 스토어와 네트워크 액세스 컴포넌트를 포함할 수 있다. 데이터 스토어는 복수의 제로 레이팅 재기록 규칙을 저장하도록 동작할 수 있다. 네트워크 액세스 컴포넌트는 모바일 장치 상의 애플리케이션 컴포넌트로부터 네트워크 요청을 수신하고; 네트워크 리소스와 매칭되는 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 복수의 제로 레이팅 재기록 규칙과 비교하고; 식별된 제로 레이팅 재기록 규칙을 사용하여 네트워크 요청을 네트워크 리소스를 위한 제로 레이팅 네트워크 요청으로 변환하고; 및 제로 레이팅 네트워크 요청을 수행하도록 동작할 수 있고, 네트워크 요청은 네트워크 리소스를 위한 것이다. 다른 실시예가 설명되고 청구된다.

Description

네트워크 리소스 요청을 제로 레이팅 네트워크 요청으로 변환하는 기술{TECHNIQUES TO TRANSFORM NETWORK RESOURCE REQUESTS TO ZERO RATED NETWORK REQUESTS}
셀룰러 캐리어는 그 셀룰러 고객들에게 셀룰러 데이터 통신을 제공할 수 있다. 예를 들어, 스마트폰과 다른 모바일 장치는 셀룰러 네트워크 상에서 웹 페이지를 검색하는 동안 사용될 수 있는 웹 브라우저를 실행할 수 있다. 나아가, 모바일 장치 상에 미리 설치되거나 사용자가 설치할 수 있는 많은 애플리케이션이 셀룰러 데이터 통신을 사용하여 인터넷 상에서 사용가능한 리소스와 같은 원격 데이터에 액세스할 수 있다. 이들 애플리케이션의 일부는 데이터 액세스를 위해, 심지어 종래의 웹 액세스와 차별되는 데이터 액세스를 위해 웹 요청을 사용할 수 있다(요청은 HTTP(hypertext transport protocol)나 HTTPS(hypertext transport protocol secure)와 같은 관련 프로토콜을 따른다). 예를 들어, 소셜 네트워킹 애플리케이션은 커스텀된 스마트폰 인터페이스 상에 표시되는 데이터 검색을 위한 소셜 네트워크 사용 및 HTTP나 HTTPS 요청 사용을 위해 커스텀된 스마트폰 인터페이스를 표시할 수 있다.
셀룰러 캐리어는 셀룰러 고객에게 임의의 또는 무제한 무료 셀룰러 데이터 통신을 제공하지 않을 수 있다. 대신, 셀룰러 고객은 그들이 캐리어의 셀룰러 네트워크 상에서 사용하는 밴드폭에 대해 요금이 부과될 수 있다. 하지만, 일부 셀룰러 액세스는 "제로 레이팅"일 수 있다. 제로 레이팅 셀룰러 액세스는 셀룰러 고객의 요금제 또는 선불 구매에 포함될 수 있는 한도가 정해진 무료 셀룰러 데이터 통신에 기여하지 않을 수 있다. 설령 고객이 제한된 양의 할당 또는 선불 셀룰러 데이터 액세스를 초과하거나, 이러한 할당 또는 선불 셀룰러 데이터가 존재하지 않더라도 제로 레이팅 셀룰러 액세스는 셀룰러 고객에게 요금을 발생시키지 않을 수 있다. 제로 레이팅 셀룰러 액세스는 액세스된 특정 네트워크에 의존할 수 있는데, 셀룰러 캐리어가 셀룰러 고객이 제로 레이팅 액세스를 가지는 하나 이상의 네트워크 주소(IP(internet protocol) 주소와 같은)의 목록을 가진다. 이 목록은 셀룰러 캐리어마다 다를 수 있다.
이하에서는 본 명세서에 기술된 일부 새로운 실시예의 기본적인 이해를 제공하기 위해 간략화된 요약이 제시된다. 이러한 요약은 광범위한 개요가 아니며, 키/핵심 요소를 식별하거나 그 범위를 기술하도록 의도되지 않는다. 그것의 유일한 목적은 그 이후 제시되는 더 상세한 설명에 대한 서두로서 간략화된 형태로 일부 개념을 제시하기 위함이다.
다양한 실시예는 일반적으로 네트워크 자원 요청을 제로 레이팅 네트워크 요청으로 변환하는 기술에 관한 것이다. 일부 실시예는 특히 요청의 목적지를 네트워크 자원에 대한 제로 레이팅 소스로 대체함으로써 셀룰러 네트워크 상의 네트워크 자원 요청을 제로 레이팅으로 변환하는 기술에 관한 것이다. 일실시예에서, 예를 들어, 장치는 데이터 스토어와 네트워크 액세스 컴포넌트를 포함할 수 있다. 데이터 스토어는 복수의 제로 레이팅 재기록 규칙을 저장하도록 동작할 수 있다. 네트워크 액세스 컴포넌트는 모바일 장치 상의 애플리케이션 컴포넌트로부터 네트워크 요청, 네트워크 리소스로의 액세스를 위한 네트워크 요청을 수신하고, 네트워크 리소스를 복수의 제로 레이팅 재기록 규칙과 비교하여 네트워크 리소스와 일치하는 제로 레이팅 재기록 규칙을 식별하고, 식별된 제로 레이팅 재기록 규칙을 이용하여 네트워크 요청을 네트워크 리소스에 대한 제로 레이팅 네트워크 요청으로 변환하고, 제로 레이팅 네트워크 요청을 수행하도록 동작할 수 있다. 다른 실시예가 기술되고 청구된다.
전술한 것과 관련 목적을 달성하기 위해, 특정 예시적인 양태가 이하의 설명 및 첨부되는 도면과 연계하여 본 명세서에 기술된다. 이러한 양태는 본 명세서에 개시된 원리가 실시될 수 있는 다양한 방식을 표시하며, 모든 양태 및 그 균등물은 청구되는 발명의 대상의 범위 내에 있는 것으로 의도된다. 다른 이점 및 신규한 특징이 도면과 함께 고려될 때 하기의 상세한 설명으로부터 명백해질 것이다.
본 발명에 따른 실시예들은 특히 방법, 저장 매체, 시스템 및 컴퓨터 프로그램 제품에 대한 첨부된 청구항에 개시되고, 한 청구항 카테고리, 예컨대 방법에 언급된 임의의 특징은 다른 청구항 카테고리, 예컨대 시스템에도 청구될 수 있다. 첨부되는 청구항들에 종속하거나 그들을 언급하는 것은 오로지 형식적인 이유로 선택된 것이다. 하지만 임의의 선행 청구항으로의 의도적인 참조(특히 다중 인용)에서 야기되는 임의의 주제 또한 청구될 수 있어, 청구항 및 그 특징의 임의의 조합이 첨부된 청구항에서 선택된 인용에 관계 없이 개시되고 청구될 수 있다. 청구될 수 있는 주제는 첨부된 청구항에 나타난 바와 같은 특징의 조합뿐만 아니라 청구항의 특징의 다른 임의의 조합을 포함하는데, 청구항에 언급된 각 특징은 청구항의 임의의 다른 특징 또는 다른 특징의 조합과 조합될 수 있다. 나아가, 임의의 실시예와 본 명세서에 서술되거나 도시된 특징은 별개의 청구항 및/또는 임의의 실시예나 본 명세서에 서술되거나 도시된 특징과의 또는 첨부된 청구항의 임의의 특징과의 조합에 청구될 수 있다.
본 발명의 일실시예에 따르면, 컴퓨터 구현 방법은:
애플리케이션 컴포넌트로부터 네트워크 요청을 수신하는 단계;
프로세서 회로를 사용하여, 네트워크 리소스와 매칭되는 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 복수의 제로 레이팅 재기록 규칙과 비교하는 단계;
식별된 제로 레이팅 재기록 규칙을 사용하여 네트워크 요청을 네트워크 리소스를 위한 제로 레이팅 네트워크 요청으로 변환하는 단계; 및
네트워크 인터페이스 컨트롤러를 사용하여 제로 레이팅 네트워크 요청을 수행하는 단계를 포함하고,
네트워크 요청은 네트워크 리소스에 액세스하기 위한 것이다.
본 발명에 따른 추가 실시예, 본 발명에 따른 방법 또는 임의의 상술한 실시예에서, 네트워크 리소스는 웹 리소스를 포함하고, 네트워크 요청은 웹 리소스를 위한 비-제로 레이팅 URL(uniform resource locator)을 포함하고, 제로 레이팅 네트워크 요청은 비-제로 레이팅 URL에 기반하여 생성된 제로 레이팅 URL을 포함하고, 제로 레이팅 URL은 제로 레이팅 웹 서버로 해석된다.
본 발명에 따른 추가 실시예, 방법에서, 네트워크 리소스는 네트워크 서버 상에서 호스팅되고, 네트워크 리소스를 복수의 제로 레이팅 재기록 규칙과 비교하는 단계는 도메인 네임과 매칭되는 복수의 도메인 네임 태그 중 한 도메인 네임 태그와 연관되는 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 위한 도메인 네임을 복수의 제로 레이팅 재기록 규칙을 위한 복수의 도메인 네임 태그와 매칭시키는 단계를 포함하고, 네트워크 요청을 네트워크 리소스를 위한 제로 레이팅 네트워크 요청으로 변환하는 단계는 네트워크 요청을 위한 도메인 네임을 제로 레이팅 네트워크 서버에 대응하는 제로 레이팅 도메인 네임으로 재기록하는 단계를 포함하고, 제로 레이팅 네트워크 요청을 수행하는 단계는 제로 레이팅 네트워크 서버로부터 네트워크 리소스를 요청하는 단계를 포함한다.
본 발명에 따른 추가 실시예, 방법에서, 제로 레이팅 네트워크 요청은 네트워크 요청으로부터 네트워크 리소스를 위한 도메인 네임을 대체하는 제로 레이팅 도메인 네임을 포함하고,
방법은:
데이터 스토어로부터 복수의 제로 레이팅 재기록 규칙을 검색하는 단계; 및
네트워크 리소스를 위한 도메인 네임과 매칭되는 복수의 제로 레이팅 재기록 규칙 중 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 위한 도메인 네임을 복수의 도메인 네임 패턴 중 하나 이상과 비교하는 단계를 더 포함하고,
복수의 제로 레이팅 재기록 규칙 각각은 복수의 도메인 네임 패턴 중 한 도메인 네임 패턴과 연관되고,
네트워크 리소스와 매칭되는 제로 레이팅 재기록 규칙은 네트워크 리소스를 위한 도메인 네임과 매칭되는 것으로 식별되는 제로 레이팅 재기록 규칙에 대응한다.
본 발명에 따른 실시예에서, 방법은:
네트워크 리소스가 제로 레이팅이 될 수 있는지 여부를 결정하기 위하여 애플리케이션 컴포넌트로부터 제로 레이팅 체크 요청을 수신하는 단계;
네트워크 리소스와 매칭되는 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 복수의 제로 레이팅 재기록 규칙과 비교하는 단계; 및
제로 레이팅 재기록 규칙을 식별하는 것에 기반하여 네트워크 리소스가 제로 레이팅이 될 수 있다고 애플리케이션 컴포넌트에게 통지하는 단계를 포함하고,
제로 레이팅 체크 요청은 네트워크 요청을 수신하기 전에 수신된다.
본 발명에 따른 추가 실시예에서, 방법은 제로 레이팅 서버로부터 복수의 제로 레이팅 재기록 규칙을 수신하는 단계를 더 포함한다.
본 발명에 따른 추가 실시예, 방법에서, 복수의 제로 레이팅 재기록 규칙은 네트워크 액세스 컴포넌트에 의해 유지되고, 제로 레이팅 서버는 네트워크 액세스 컴포넌트의 초기화 동안 복수의 제로 레이팅 재기록 규칙의 초기 검색을 위하여 네트워크 액세스 컴포넌트로 사전 구성된다.
본 발명에 따른 추가 실시예에서, 방법은:
기정의된 스케줄로 제로 레이팅 서버를 사용하여 복수의 제로 레이팅 재기록 규칙을 업데이트하는 단계를 포함한다.
본 발명에 따른 추가 실시예에서, 방법은:
제로 레이팅 서버로부터 제로 레이팅 액세스 보안 토큰을 수신하는 단계; 및
제로 레이팅 액세스 보안 토큰을 사용하여 제로 레이팅 네트워크 요청을 수행하는 단계를 포함한다.
본 발명에 따른 추가 실시예에서, 방법은:
애플리케이션 컴포넌트로부터 네트워크 요청을 수신하는 단계;
도메인 네임과 매칭되는 복수의 도메인 네임 태그 중 한 도메인 네임 태그와 연관되는 제로 레이팅 재기록 규칙을 식별하기 위하여 프로세서 회로를 사용하여 네트워크 리소스를 위한 도메인 네임 태그를 복수의 제로 레이팅 재기록 규칙을 위한 복수의 도메인 네임 태그와 매칭시키는 단계;
식별된 제로 레이팅 재기록 규칙을 사용하여 네트워크 요청을 위한 도메인 네임을 제로 레이팅 네트워크 서버에 대응하는 제로 레이팅 도메인 네임으로 재기록하는 단계; 및
네트워크 인터페이스 컴포넌트를 사용하여 제로 레이팅 네트워크 서버로부터 네트워크 리소스를 요청하는 단계를 포함하고,
네트워크 요청은 네트워크 서버 상에서 호스팅되는 네트워크 리소스에 액세스하기 위한 것이다.
본 발명에 따른 추가 실시예에서, 방법은:
애플리케이션 컴포넌트로부터 네트워크 요청을 수신하는 단계;
데이터 스토어로부터 복수의 제로 레이팅 재기록 규칙을 검색하는 단계;
네트워크 리소스를 위한 도메인 네임과 매칭되는 복수의 제로 레이팅 재기록 규칙 중 한 제로 레이팅 재기록 규칙을 식별하기 위하여 프로세서 회로를 사용하여, 네트워크 리소스를 위한 도메인 네임을 복수의 도메인 네임 패턴 중 하나 이상과 비교하는 단계;
식별된 제로 레이팅 재기록 규칙을 사용하여 네트워크 요청을 네트워크 리소스를 위한 제로 레이팅 네트워크 요청으로 변환하는 단계; 및
네트워크 인터페이스 컴포넌트를 사용하여 제로 레이팅 네트워크 요청을 수행하는 단계를 포함하고,
네트워크 요청은 네트워크 리소스에 액세스하기 위한 것이고,
복수의 제로 레이팅 재기록 규칙 각각은 복수의 도메인 네임 패턴 중 한 도메인 네임 패턴과 연관되고,
제로 레이팅 네트워크 요청은 네트워크 요청을 위한 도메인 네임을 대체하는 제로 레이팅 도메인 네임을 포함한다.
네트워크 리소스는 네트워크 서버 상에서 호스팅될 수 있다.
네트워크 리소스와 매칭되는 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 복수의 제로 레이팅 재기록 규칙과 비교하는 것은 도메인 네임과 매칭되는 복수의 도메인 네임 태그 중 한 도메인 네임 태그와 연관된 제로 레이팅 재기록 규칙을 식별하기 위하여 프로세서 회로를 사용하여 네트워크 리소스를 위한 도메인 네임을 복수의 제로 레이팅 재기록 규칙을 위한 복수의 도메인 네임에 매칭시키는 것을 포함할 수 있다.
식별된 제로 레이팅 재기록 규칙을 사용하여 네트워크 요청을 네트워크 리소스를 위한 제로 레이팅 네트워크 요청으로 변환하는 단계는 식별된 제로 레이팅 재기록 규칙을 사용하여 네트워크 요청을 위한 도메인 네임을 제로 레이팅 네트워크 서버에 대응하는 제로 레이팅 도메인 네임으로 재기록하는 단계를 포함할 수 있다.
제로 레이팅 네트워크 요청을 수행하는 단계는 네트워크 인터페이스 컴포넌트를 사용하여 제로 레이팅 네트워크 서버로부터 네트워크 리소스를 요청하는 단계를 포함할 수 있다.
네트워크 리소스와 매칭되는 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 복수의 제로 레이팅 재기록 규칙과 비교하는 단계는 네트워크 리소스를 위한 도메인 네임과 매칭되는 복수의 제로 레이팅 재기록 규칙 중 한 제로 레이팅 재기록 규칙을 식별하기 위하여 프로세서 회로를 사용하여, 네트워크 리소스를 위한 도메인 네임을 복수의 도메인 네임 패턴 중 하나 이상과 비교하는 단계를 포함할 수 있다.
식별된 제로 레이팅 재기록 규칙을 사용하여 네트워크 요청을 네트워크 리소스를 위한 제로 레이팅 네트워크 요청으로 변환하는 단계는 식별된 제로 레이팅 재기록 규칙을 사용하여 네트워크 요청을 네트워크 리소스를 위한 제로 레이팅 네트워크 요청으로 변환하는 단계를 포함할 수 있고, 제로 레이팅 네트워크 요청은 네트워크 요청을 위한 도메인 네임을 대체하는 제로 레이팅 도메인 네임을 포함한다.
제로 레이팅 네트워크 요청을 수행하는 단계는 네트워크 인터페이스 컴포넌트를 사용하여 제로 레이팅 네트워크 요청을 수행하는 단계를 포함할 수 있다.
또한 청구될 수 있는 본 발명에 따른 추가 실시예에서, 장치는:
모바일 장치 상의 프로세서;
복수의 제로 레이팅 재기록 규칙을 저장하도록 동작하는 데이터 스토어; 및
프로세서 회로 상에서 모바일 장치 상의 애플리케이션 컴포넌트로부터 네트워크 요청을 수신하고; 네트워크 리소스와 매칭되는 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 복수의 제로 레이팅 재기록 규칙과 비교하고; 식별된 제로 레이팅 재기록 규칙을 사용하여 네트워크 요청을 네트워크 리소스를 위한 제로 레이팅 네트워크 요청으로 변환하고; 및 제로 레이팅 네트워크 요청을 수행하도록 동작하는 네트워크 액세스 컴포넌트를 포함하고
네트워크 요청은 네트워크 리소스에 액세스하기 위한 것이다.
또한 청구될 수 있는 본 발명에 따른 추가 실시예, 본 발명에 따른 장치 또는 임의의 상술한 실시예에서, 네트워크 리소스는 네트워크 서버 상에서 호스팅되고, 네트워크 리소스를 복수의 제로 레이팅 재기록 규칙과 비교하는 것은 도메인 네임과 매칭되는 복수의 도메인 네임 태그 중 한 도메인 네임 태그와 연관되는 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 위한 도메인 네임을 복수의 제로 레이팅 재기록 규칙을 위한 복수의 도메인 네임 태그와 매칭시키는 것을 포함하고, 네트워크 요청을 네트워크 리소스를 위한 제로 레이팅 네트워크 요청으로 변환하는 것은 네트워크 요청을 위한 도메인 네임을 제로 레이팅 네트워크 서버에 대응하는 제로 레이팅 도메인 네임으로 재기록하는 것을 포함하고, 제로 레이팅 네트워크 요청을 수행하는 것은 제로 레이팅 네트워크 서버로부터 네트워크 리소스를 요청하는 것을 포함한다.
또한 청구될 수 있는 본 발명에 따른 추가 실시예, 본 발명에 따른 장치 또는 임의의 상술한 실시예에서, 제로 레이팅 네트워크 요청은 네트워크 요청으로부터 네트워크 리소스를 위한 도메인 네임을 대체하는 제로 레이팅 도메인 네임을 포함하고, 네트워크 액세스 컴포넌트는 데이터 스토어로부터 복수의 제로 레이팅 재기록 규칙을 검색하고; 및 네트워크 리소스를 위한 도메인 네임과 매칭되는 복수의 제로 레이팅 재기록 규칙 중 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 위한 도메인 네임을 복수의 도메인 네임 패턴 중 하나 이상과 비교하도록 더 동작하고, 복수의 제로 레이팅 재기록 규칙 각각은 복수의 도메인 네임 패턴 중 한 도메인 네임 패턴과 연관되고, 네트워크 리소스와 매칭되는 제로 레이팅 재기록 규칙은 네트워크 리소스를 위한 도메인 네임과 매칭되는 것으로 식별되는 제로 레이팅 재기록 규칙에 대응한다.
또한 청구될 수 있는 본 발명에 따른 추가 실시예, 본 발명에 따른 장치 또는 임의의 상술한 실시예에서, 네트워크 리소스는 웹 리소스를 포함하고, 네트워크 요청은 웹 리소스를 위한 비-제로 레이팅 URL(uniform resource locator)을 포함하고, 제로 레이팅 네트워크 요청은 비-제로 레이팅 URL에 기반하여 생성된 제로 레이팅 URL을 포함하고, 제로 레이팅 URL은 제로 레이팅 웹 서버로 해석된다.
또한 청구될 수 있는 본 발명에 따른 추가 실시예에서, 장치는:
네트워크 리소스가 제로 레이팅이 될 수 있는지 여부를 결정하기 위하여 애플리케이션 컴포넌트로부터 제로 레이팅 체크 요청을 수신하고; 네트워크 리소스와 매칭되는 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 복수의 제로 레이팅 재기록 규칙과 비교하고; 및 제로 레이팅 재기록 규칙을 식별하는 것에 기반하여 네트워크 리소스가 제로 레이팅이 될 수 있다고 애플리케이션 컴포넌트에게 통지하도록 동작하는 네트워크 액세스 컴포넌트를 더 포함하고,
제로 레이팅 체크 요청은 네트워크 요청을 수신하기 전에 수신된다.
또한 청구될 수 있는 본 발명에 따른 추가 실시예에서, 장치는:
제로 레이팅 서버로부터 복수의 제로 레이팅 재기록 규칙을 수신하도록 동작하는 네트워크 액세스 컴포넌트를 더 포함한다.
또한 청구될 수 있는 본 발명에 따른 추가 실시예, 장치에서, 제로 레이팅 서버는 네트워크 액세스 컴포넌트의 초기화 동안 복수의 제로 레이팅 재기록 규칙의 초기 검색을 위하여 네트워크 액세스 컴포넌트로 사전 구성된다.
또한 추가될 수 있는 본 발명에 따른 추가 실시예에서, 장치는:
기정의된 스케줄로 제로 레이팅 서버를 사용하여 복수의 제로 레이팅 재기록 규칙을 업데이트하도록 동작하는 네트워크 액세스 컴포넌트를 포함한다.
또한 청구될 수 있는 본 발명에 따른 추가 실시예에서, 장치는:
제로 레이팅 서버로부터 제로 레이팅 액세스 보안 토큰을 수신하고; 및 제로 레이팅 액세스 보안 토큰을 사용하여 제로 레이팅 네트워크 요청을 수행하도록 동작하는 네트워크 액세스 컴포넌트를 더 포함한다.
또한 청구될 수 있는 본 발명에 따른 추가 실시예에서, 명령어를 포함하는 적어도 하나의 컴퓨터-판독가능한 저장 매체는, 명령어는 실행될 때 시스템으로 하여금:
애플리케이션 컴포넌트로부터 네트워크 요청을 수신하고;
네트워크 리소스와 매칭되는 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 복수의 제로 레이팅 재기록 규칙과 비교하고;
식별된 제로 레이팅 재기록 규칙을 사용하여 네트워크 요청을 네트워크 리소스를 위한 제로 레이팅 네트워크 요청으로 변환하고; 및
제로 레이팅 네트워크 요청을 수행하도록 야기하고,
네트워크 요청은 네트워크 리소스에 액세스하기 위한 것이다.
또한 청구될 수 있는 본 발명에 따른 추가 실시예, 본 발명에 따른 컴퓨터-판독가능한 저장 매체 또는 임의의 상술한 실시예에서, 네트워크 리소스는 네트워크 서버 상에서 호스팅되고, 네트워크 리소스를 복수의 제로 레이팅 재기록 규칙과 비교하는 것은 도메인 네임과 매칭되는 복수의 도메인 네임 태그 중 한 도메인 네임 태그와 연관되는 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 위한 도메인 네임을 복수의 제로 레이팅 재기록 규칙을 위한 복수의 도메인 네임 태그와 매칭시키는 것을 포함하고, 네트워크 요청을 네트워크 리소스를 위한 제로 레이팅 네트워크 요청으로 변환하는 것은 네트워크 요청을 위한 도메인 네임을 제로 레이팅 네트워크 서버에 대응하는 제로 레이팅 도메인 네임으로 재기록하는 것을 포함하고, 제로 레이팅 네트워크 요청을 수행하는 것은 제로 레이팅 네트워크 서버로부터 네트워크 리소스를 요청하는 것을 포함한다.
또한 청구될 수 있는 본 발명에 따른 추가 실시예, 본 발명에 따른 컴퓨터-판독가능한 저장 매체 또는 임의의 상술한 실시예에서, 제로 레이팅 네트워크 요청은 네트워크 요청으로부터 네트워크 리소스를 위한 도메인 네임을 대체하는 제로 레이팅 도메인 네임을 포함하고, 컴퓨터-판독가능한 저장 매체는 실행될 때 시스템으로 하여금:
데이터 스토어로부터 복수의 제로 레이팅 재기록 규칙을 검색하는 것; 및
네트워크 리소스를 위한 도메인 네임과 매칭되는 복수의 제로 레이팅 재기록 규칙 중 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 위한 도메인 네임을 복수의 도메인 네임 패턴 중 하나 이상과 비교하도록 야기하는 명령어를 더 포함하고,
복수의 제로 레이팅 재기록 규칙 각각은 복수의 도메인 네임 패턴 중 한 도메인 네임 패턴과 연관되고,
네트워크 리소스와 매칭되는 제로 레이팅 재기록 규칙은 네트워크 리소스를 위한 도메인 네임과 매칭되는 것으로 식별되는 제로 레이팅 재기록 규칙에 대응한다.
또한 청구될 수 있는 본 발명에 따른 추가 실시예, 본 발명에 따른 컴퓨터-판독가능한 저장 매체 또는 임의의 상술한 실시예에서, 네트워크 리소스는 웹 리소스를 포함하고, 네트워크 요청은 웹 리소스를 위한 비-제로 레이팅 URL(uniform resource locator)을 포함하고, 제로 레이팅 네트워크 요청은 비-제로 레이팅 URL에 기반하여 생성된 제로 레이팅 URL을 포함하고, 제로 레이팅 URL은 제로 레이팅 웹 서버로 해석된다.
또한 청구될 수 있는 본 발명에 따른 추가 실시예에서, 컴퓨터-판독가능한 저장 매체는 실행될 때 시스템으로 하여금:
네트워크 리소스가 제로 레이팅이 될 수 있는지 여부를 결정하기 위하여 애플리케이션 컴포넌트로부터 제로 레이팅 체크 요청을 수신하고;
네트워크 리소스와 매칭되는 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 복수의 제로 레이팅 재기록 규칙과 비교하고; 및
제로 레이팅 재기록 규칙을 식별하는 것에 기반하여 네트워크 리소스가 제로 레이팅이 될 수 있다고 애플리케이션 컴포넌트에게 통지하도록 야기하는 명령어를 더 포함하고,
제로 레이팅 체크 요청은 네트워크 요청을 수신하기 전에 수신된다.
또한 청구될 수 있는 본 발명에 따른 추가 실시예에서, 컴퓨터-판독가능한 저장 매체는 실행될 때 시스템으로 하여금:
제로 레이팅 서버로부터 복수의 제로 레이팅 재기록 규칙을 수신하도록 야기하는 명령어를 더 포함한다.
또한 청구될 수 있는 본 발명에 따른 추가 실시예에서, 컴퓨터-판독가능한 저장 매체는 실행될 때 시스템으로 하여금:
기정의된 스케줄로 제로 레이팅 서버를 사용하여 복수의 제로 레이팅 재기록 규칙을 업데이트하도록 야기하는 명령어를 더 포함한다.
또한 청구될 수 있는 본 발명에 따른 추가 실시예에서, 컴퓨터-판독가능한 저장 매체는 실행될 때 시스템으로 하여금:
제로 레이팅 서버로부터 제로 레이팅 액세스 보안 토큰을 수신하고; 및
제로 레이팅 액세스 보안 토큰을 사용하여 제로 레이팅 네트워크 요청을 수행하도록 야기하는 명령어를 더 포함한다.
본 발명에 따른 추가 실시예로, 하나 이상의 컴퓨터-판독가능한 비-일시적 저장매체는 본 발명 또는 상술한 실시예들 중 임의의 것에 따른 방법을 수행하도록 실행시 동작가능한 소프트웨어를 포함한다.
본 발명에 따른 추가 실시예로, 시스템은 하나 이상의 프로세서; 및 프로세서에 결합되며 프로세서에 의해 실행가능한 명령어들을 포함하는 적어도 하나의 메모리를 포함하며, 상기 프로세서는 명령어들을 실행시 본 발명 또는 상술한 실시예들 중 임의의 것에 따른 방법을 수행하도록 동작가능하다.
본 발명에 따른 추가 실시예로, 바람직하게는 컴퓨터-판독가능한 비-일시적 저장 매체를 포함하는 컴퓨터 프로그램 제품이 데이터 처리 시스템에서 실행시 본 발명 또는 상술한 실시예들 중 임의의 것에 따른 방법을 수행하도록 동작가능하다.
본 발명의 내용 중에 포함되어 있다.
도 1은 제로 레이팅 변환 시스템의 일실시예를 도시한다.
도 2는 제로 레이팅 체크 요청이 수행되는 제로 레이팅 변환 시스템의 일실시예를 도시한다.
도 3은 제로 레이팅 재기록 규칙과 제로 레이팅 액세스 보안 토큰이 다운로드되는 제로 레이팅 변환 시스템의 일실시예를 도시한다.
도 4는 도 1의 제로 레이팅 변환 시스템을 위한 로직 흐름의 일실시예를 도시한다.
도 5는 도 1의 제로 레이팅 변환 시스템을 위한 중앙 집중식 시스템의 일실시예를 도시한다.
도 6은 도 1의 제로 레이팅 변환 시스템을 위한 분산형 시스템의 일실시예를 도시한다.
도 7a는 도 1의 제로 레이팅 변환 시스템을 위한 제2 로직 흐름의 일실시예를 도시한다.
도 7b는 도 1의 제로 레이팅 변환 시스템을 위한 제3 로직 흐름의 일실시예를 도시한다.
도 7c는 제로 레이팅 변환 시스템을 위한 제4 로직 흐름의 일실시예를 도시한다.
도 8은 컴퓨팅 구조의 일실시예를 도시한다.
도 9는 통신 구조의 일실시예를 도시한다.
다양한 실시예는 네트워크 리소스에 대한 네트워크 요청을 수신하고 네트워크 요청을 동일한 네트워크 리소스에 대한 제로 레이팅 네트워크 요청으로 변환하도록 동작하는 네트워크 액세스 컴포넌트를 위한 기술에 관한 것이다. 네트워크 액세스 컴포넌트는 스마트폰 상의 애플리케이션을 위한 네트워크 액세스를 관리하여 애플리케이션으로 셀룰러 데이터 액세스를 사용하는 비용을 최소화할 수 있다. 예를 들어, 애플리케이션은 소셜 네트워킹 서비스와 같은 인터넷 기반 서비스를 위한 애플리케이션에 대응할 수 있다. 인터넷 기반 서비스는 하나 이상의 셀룰러 캐리어와 제로 레이팅을 가지는 서버의 서브셋을 관리할 수 있고, 예컨대 인터넷 기반 서비스는 셀룰러 캐리어와 지리적으로 근접하고, 심지어 잠재적으로 함께 위치하는 서버를 제로 레이팅으로 할 수 있다. 하지만, 애플리케이션의 셀룰러 데이터 액세스는 인터넷 기반 서비스에 대한 웹 프런트 엔드일 수 있고, 이 웹 프런트 엔드는 이러한 혜택을 누리는 사용자를 위해 제로 레이팅 리소스로의 링크를 반환하도록 구성되지 않는다. 나아가, 제로 레이팅 리소스로의 링크를 반환하도록 구성된 인터넷 기반 서비스를 위한 웹 프런트 엔드의 경우, 사용자에 따라 각 셀룰러 캐리어에 기반하여 달라질 수 있으므로 웹 프런트 엔드는 각 사용자에 대해 어떤 리소스가 그 특정 사용자를 위해 제로 레이팅인지 알 필요가 있다.
대신, 애플리케이션은 자동으로 URL(uniform resource locator)을 특정한 셀룰러 캐리어와 제로 레이팅인 소스(예컨대, 서버)에서 검색되는 인터넷 기반 서비스로부터 수신한 리소스로 변환하도록 구비될 수 있다. 애플리케이션은 규칙의 리스트를 다운로드할 수 있는데, 각 규칙은 매칭되는 패턴을 가진다. 규칙이 URL과 매칭되면, 규칙은 수신된 URL로부터 새로운 URL을 생성하는 변환을 지정할 수 있고 새로운 URL은 제로 레이팅 서버로 해석된다. 이 규칙의 목록은 사용자의 셀룰러 캐리어에 대해 특정하게 선별될 수 있고, 특정 규칙 목록은 사용자의 셀룰러 캐리어에 대응되는 것으로 선택되어 사용자에게 제공된다. 그러므로 애플리케이션은 애플리케이션의 셀룰러 데이터 액세스에 의해 사용자에 대해 생성되는 셀룰러 데이터 과금의 양을 최소화하도록 시도할 수 있다. 그 결과, 실시예는 애플리케이션 사용을 감당 가능하게 향상시키고 이로써 사용자에 의한 애플리케이션의 사용을 증가시킬 수 있다.
이제 도면에 대해 언급하면, 유사한 참조번호는 전체적으로 유사한 구성요소를 나타내도록 사용된다. 하기의 상세한 설명에서는 설명의 목적상, 많은 구체적인 세부사항들이 그에 대한 완전한 이해를 제공하기 위해 제시된다. 그러나, 신규한 실시예들은 이런 구체적인 세부사항 없이 실행될 수 있음이 명백할 수 있다. 다른 예들에서, 널리 알려진 구조 및 장치는 그에 대한 설명을 용이하게 하기 위해 블록 다이어그램 형태로 도시된다. 이는 청구되는 발명의 대상과 일관되는 모든 변형, 균등물, 및 대안물을 포괄하려는 의도이다.
도 1은 제로 레이팅 변환 시스템(100)의 블록도를 도시한다. 일실시예에서, 제로 레이팅 변환 시스템(100)은 하나 이상의 컴포넌트를 포함하는 애플리케이션(120)을 가지는 컴퓨터 구현된 시스템을 포함할 수 있다. 애플리케이션(120)은 소프트웨어 애플리케이션을 포함할 수 있는데 그 컴포넌트는 클라이언트 장치(110) 상에서 실행되고 클라이언트 장치(110)의 데이터 스토어(140)를 사용하는 소프트웨어 모듈을 포함한다. 도 1에 도시된 제로 레이팅 변환 시스템(100)이 특정 배치에서 제한된 수의 요소를 가지지만, 제로 레이팅 변환 시스템(100)은 주어진 구현예를 위한 소정의 대안적 배치에서 더 많거나 적은 요소를 포함할 수 있음이 인식될 수 있다.
본 명세서에서 사용되는 것으로 "a", "b", "c" 및 유사한 지시어들은 임의의 양의 정수를 표현하는 변수들을 의도한 것이라는 점을 유의해야 한다. 따라서, 예컨대, 구현에서 a=5라고 설정하면, 컴포넌트(122-a)의 전체 세트는 컴포넌트들(122-1, 122-2, 122-3, 122-4 및 122-5)을 포함할 수 있다. 실시예들이 이와 같은 문맥으로 제한되는 것은 아니다.
제로 레이팅 변환 시스템(100)은 애플리케이션(120)을 포함할 수 있다. 애플리케이션(120)은 일반적으로 사용자를 대신하여 셀룰러 데이터 액세스를 수행하도록 구성될 수 있다. 애플리케이션(120)은 일반적으로 충분한 지식을 가질 때 언제든지 제로 레이팅 리소스를 사용하도록 셀룰러 데이터 액세스 구조를 배열할 수 있다. 애플리케이션(120)은 애플리케이션 컴포넌트(130) 및 네트워크 액세스 컴포넌트(160)를 포함할 수 있다. 애플리케이션(120)이 이들 컴포넌트로 제한되지 않을 수 있음이 명백할 것이다.
클라이언트 장치(110)는 셀룰러 캐리어에 의해 서비스되는 모바일 장치를 포함할 수 있다. 클라이언트 장치(110)를 위한 셀룰러 캐리어는 네트워크 캐리어(170)일 수 있다. 셀룰러 캐리어가 아닌 네트워크 캐리어가 서술되는 실시예와 관련되어 사용될 수 있음이 명백할 것이다.
애플리케이션(120)은 애플리케이션 컴포넌트(130)를 포함할 수 있다. 애플리케이션 컴포넌트(130)는 일반적으로 애플리케이션(120)을 위한 사용자 대면 작업을 수행하도록 구성될 수 있다. 예를 들어, 애플리케이션(120)이 인터넷 기반 서비스를 위한 애플리케이션일 때, 애플리케이션 컴포넌트(130)는 사용자를 위한 네트워크 리소스를 디스플레이할 수 있다. 애플리케이션 컴포넌트(130)는 네트워크 액세스 컴포넌트(160)를 사용하여 사용자에게 디스플레이하기 위해 네트워크 리소스의 검색을 개시할 수 있다. 애플리케이션 컴포넌트(130)는 네트워크 요청(135)을 네트워크 액세스 컴포넌트(160)에게 제출하고, 네트워크 요청(135)은 네트워크 리소스(180)로의 액세스를 요청할 수 있다.
클라이언트 장치(110)는 데이터 스토어(140)를 포함할 수 있다. 데이터 스토어(140)는 복수의 제로 레이팅 재기록 규칙(150)을 저장할 수 있다. 데이터 스토어(140)는 클라이언트 장치(110) 상에 데이터를 저장하기 위한 임의의 알려진 기술 또는 기법을 포함할 수 있다.
네트워크 리소스(180)는 비-제로 레이팅 호스팅 서버(195) 및 제로 레이팅 호스팅 서버(190)와 같은 하나 이상의 인터넷 접근가능 서버에 의해 제공될 수 있는 인터넷 접근가능 리소스를 포함할 수 있다. 비-제로 레이팅 호스팅 서버(195)는 클라이언트 장치(110)를 위한 네트워크 캐리어(170)에 의해 제로 레이팅이 아닌 네트워크 리소스(180)를 위한 소스를 포함할 수 있다. 제로 레이팅 호스팅 서버(190)는 클라이언트 장치(110)를 위한 네트워크 캐리어(170)에 의해 제로 레이팅인 네트워크 리소스(180)를 위한 소스를 포함할 수 있다. 애플리케이션 컴포넌트(130)는 네트워크 리소스(180)가 네트워크 요청(135)에 응답하여 검색되는 한 네트워크 리소스(180)가 비-제로 레이팅 호스팅 서버(195) 또는 제로 레이팅 호스팅 서버(190)에서 검색되는지 여부를 알지 못할 수 있다. 네트워크 리소스(180)는 복수의 서버에 의해, 그 복수 중 비-제로 레이팅 호스팅 서버(195) 및 제로 레이팅 호스팅 서버(190) 모두에 의해 호스팅될 수 있다.
애플리케이션(120)은 네트워크 액세스 컴포넌트(160)를 포함할 수 있다. 네트워크 액세스 컴포넌트(160) 클라이언트 장치(110) 상의 애플리케이션 컴포넌트(130)로부터 네트워크 요청(135)을 수시하고, 네트워크 요청(135)은 네트워크 리소스(180)로의 액세스를 위한 것이고, 네트워크 리소스(180)를 복수의 제로 레이팅 재기록 규칙(150)과 비교하여 네트워크 리소스(180)와 일치하는 제로 레이팅 재기록 규칙을 식별하고, 식별된 재로 레이팅 재기록 규칙을 이용하여 네트워크 요청(135)을 네트워크 리소스(180)에 대한 제로 레이팅 재기록 규칙(165)으로 변환하고, 제로 레이팅 네트워크 요청(165)을 수행하도록 일반적으로 구성될 수 있다. 모든 네트워크 요청이 요청한 서버로부터의 응답을 유도하지 않지만, 제로 레이팅 호스팅 서버(190)는 제로 레이팅 네트워크 요청(165)에 응답을 반환하고 네트워크 액세스 컴포넌트(160)는 응답을 수신하며 애플리케이션 컴포넌트(130)로 전달하도록 동작할 수 있다. 일부 경우에, 네트워크 액세스 컴포넌트(160)가 비-제로 레이팅 호스팅 서버(195)로부터 네트워크 리소스(180)를 요청하는 경우 네트워크 리소스(180)를 위한 제로 레이팅 소스는 네트워크 액세스 컴포넌트(160)에게 알려지지 않을 수 있다(복수의 제로 레이팅 재기록 규칙(150)은 네트워크 리소스(180)를 포함하는 규칙을 포함하지 않을 수 있다).
일부 경우에 네트워크 리소스(180)는 웹 리소스를 포함할 수 있다. 네트워크 리소스(180)는 웹 페이지를 포함할 수 있다. 네트워크 리소스(180)는 HTML(hypertext markup language) 파일, XML(extensible markup language), XHTML(extensible hypertext markup language) 파일 또는 웹 페이지의 본문을 구성하기 위한 임의의 다른 파일을 포함할 수 있다. 네트워크 리소스(180)는 JPEG(joint photographic experts group) 파일, GIF(graphic interchange format) 파일, PNG(portable network graphics) 파일 또는 임의의 다른 타입의 이미지 파일과 같은 이미지 파일을 포함할 수 있다. 네트워크 리소스(180)는 일반적으로 임의의 종류의 웹 리소스를 포함할 수 있다. 예를 들어, 네트워크 리소스(180)는 웹 페이지를 불러오고 페이지의 본문을 구성하는 HTML 파일, 페이지의 외양 및 포맷을 서술하는 CSS(cascading style sheets) 파일 및 이미지 파일을 포함하는 복수의 미디어 파일을 포함하는 복수의 네트워크 리소스를 요청할 수 있다. 네트워크 액세스 컴포넌트(160)는 이들 리소스 각각에 대한 요청을 수신하고, 복수의 제로 레이팅 재기록 규칙(150)을 각각에 적용하여 그들을 이들 리소스에 대한 제로 레이팅 소스로 변환하고, 제로 레이팅 리소스를 요청할 수 있다.
네트워크 액세스 컴포넌트(160)는 일반적으로 URL이나 네트워크 접근가능 리소스를 위한 위치를 명시하는 다른 기술로 참조될 수 있는 임의의 네트워크 리소스를 수신, 변환 및 요청하도록 동작할 수 있다. 이와 같이, 네트워크 리소스(180)가 웹 리소스를 포함할 때, 네트워크 요청(135)은 웹 리소스를 비-제로 레이팅 URL에서 검색하는 요청을 포함하고, 네트워크 액세스 컴포넌트(160)는 웹 리소스를 위한 비-제로 레이팅 URL과 매칭되는 것으로 식별된 제로 레이팅 재기록 규칙을 사용하여 비-제로 레이팅 URL을 웹 리소스를 위한 제로 레이팅 URL로 변환하도록 동작할 수 있다.
네트워크 리소스(180)는 비-제로 레이팅 호스팅 서버(195)와 같은 네트워크 서버 상에서 호스팅될 수 있다. 네트워크 리소스(180)는 또한 제로 레이팅 호스팅 서버(190)와 같은 제로 레이팅 네트워크 서버 상에서 호스팅될 수 있다. 네트워크 리소스(180)를 복수의 제로 레이팅 재기록 규칙(150)과 비교하는 것은 네트워크 리소스(180)에 대한 도메인 네임을 복수의 제로 레이팅 재기록 규칙(150)에 대한 복수의 도메인 네임 태그에 매칭시켜 도메인 네임에 매칭되는 복수의 도메인 네임 태그 중 도메인 네임 태그와 연관되는 제로 레이팅 재기록 규칙을 식별하는 것으로 이루어질 수 있다. 네트워크 리소스(180)를 위한 도메인 네임은 네트워크 리소스(180)를 위한 URL의 일부일 수 있다. 도메인 네임 태그는 도메인 네임 태그가 매칭될 수 있는 도메인 네임 패턴을 포함할 수 있다. 도메인 네임 태그는 복수의 도메인 네임이 태그와 매칭될 수 있음을 표시하는 와일드카드 문자 또는 다른 기호를 포함할 수 있다. 예를 들어, 도메인 네임 태그 "*. facebook. com"은 "facebook. com"으로 끝나는 임의의 도메인 네임과 매칭될 수 있다.
네트워크 요청(135)을 제로 레이팅 네트워크 요청(165)으로 변환하는 것은 네트워크 요청(135)에 대한 도메인 네임을 제로 레이팅 호스팅 서버(190)와 같은 제로 레이팅 네트워크 서버에 대응하는 제로 레이팅 도메인 네임으로 재기록하는 것을 포함할 수 있다. 제로 레이팅 네트워크 요청(165)은 네트워크 요청(135)으로부터의 네트워크 리소스(180)에 대한 도메인 네임을 대체하는 제로 레이팅 도메인 네임을 포함할 수 있다. 그러므로 제로 레이팅 네트워크 요청(165)을 수행하는 것은 제로 레이팅 네트워크 서버로부터 네트워크 리소스(180)를 요청하는 것을 포함한다. 네트워크 리소스(180)는 URL로 표현될 수 있다. 네트워크 요청(135)을 제로 레이팅 네트워크 요청(165)으로 변환하는 것은 URL 내의 네트워크 요청(135)에 대한 도메인 네임을 매칭되는 제로 레이팅 재기록 규칙에 따른 제로 레이팅 도메인 네임으로 대체하는 것을 포함할 수 있다.
네트워크 액세스 컴포넌트(160)는 데이터 스토어(140)로부터 복수의 제로 레이팅 재기록 규칙(150)을 검색하도록 동작할 수 있는데, 복수의 제로 레이팅 재기록 규칙(150) 각각은 복수의 도메인 네임 패턴 중 도메인 네임 패턴과 연관된다. 도메인 네임 패턴은 표준화된 문자열, 텍스트 필드 또는 하나 이상의 도메인 네임을 나타내는 인코딩된 다른 데이터를 포함할 수 있다. 도메인 네임 패턴은 와일드카드 문자를 사용하여 도메인 네임 패턴을 복수의 상이한 도메인 네임과 매칭시킬 수 있게 할 수 있다. 네트워크 액세스 컴포넌트(160)는 네트워크 리소스(180)에 대한 도메인 네임을 복수의 도메인 네임 패턴 중 하나 이상과 비교하여 네트워크 리소스(180)에 대한 도메인 네임과 매칭되는 복수의 제로 레이팅 재기록 규칙(150) 중 제로 레이팅 재기록 규칙을 식별할 수 있다. 제로 레이팅 재기록 규칙을 네트워크 리소스(180)에 매칭시키는 네트워크 액세스 컴포넌트(160)는 네트워크 리소스를 위한 도메인 네임과 매칭되는 것으로 식별되는 제로 레이팅 재기록 규칙에 대응할 수 있다.
제로 레이팅 변환 시스템(100)은 예컨대, 사용자가 적절한 개인정보 설정을 설정함으로써 그들의 행위가 제로 레이팅 변환 시스템(100)에 의해 로그되거나 다른 시스템(예컨대, 제3자 시스템)과 공유되도록 하는 것에 참여하거나 참여하지 않도록 허용하는 인증 서버(또는 다른 적절한 컴포넌트(들))를 포함할 수 있다. 사용자의 개인정보 설정은 사용자와 연관된 어떤 정보가 로그될 수 있는지, 사용자와 연관된 정보가 어떻게 로그될 수 있는지, 사용자와 연관된 정보가 언제 로그될 수 있는지, 사용자와 연관된 정보를 누가 로그할 수 있는지, 사용자와 연관된 정보가 누구와 공유될 수 있는지, 및 어떤 목적으로 사용자와 연관된 정보가 로그되거나 공유되는지를 결정할 수 있다. 인증 서버 또는 다른 인증 컴포넌트는 적절한 경우 차단, 데이터 해싱, 익명화 또는 다른 적절한 기술을 통해 애플리케이션(120) 및/또는 네트워크 캐리어(170)의 사용자들의 하나 이상의 개인정보 설정을 강제하는데 사용될 수 있다.
제로-레이팅 네트워크 요청(165)을 수행하는 것과 같은 네트워크 트래픽의 교환은 네트워크 인터페이스 컨트롤러(NIC)를 통해 네트워크 트래픽을 송신하고 수신하는 것을 포함할 수 있다. NIC는 컴퓨터 장치, 가령 클라이언트 장치(110)를 컴퓨터 네트워크로 연결하는 하드웨어 구성요소를 포함한다. NIC는 소프트웨어 애플리케이션이 NIC에 액세스하고 사용하도록 권한을 부여하는 소프트웨어 네트워크 인터페이스와 연관될 수 있다. 네트워크 트래픽은 데이터 링크 상에서 송신되는 신호로서 컴퓨터 네트워크 상에서 수신될 수 있다. 네트워크 트래픽은 이러한 신호를 캡처하고 해석함으로써 수신될 수 있다. NIC는 컴퓨터 네트워크 상에서 네트워크 트래픽을 수신하고 네트워크 인터페이스 애플리케이션 프로그래밍 인터페이스(API)를 사용하여 소프트웨어 애플리케이션에 액세스가능한 메모리 저장소로 네트워크 트래픽을 전달할 수 있다.
도 2는 제로 레이팅 변환 시스템(100)의 제2 블록도를 도시한다. 도 2에 도시된 실시예에서, 제로 레이팅 체크 요청(235)이 네트워크 요청(135) 전에 애플리케이션 컴포넌트(130)에 의해 네트워크 액세스 컴포넌트(160)로 이루어진다.
제로 레이팅 체크 요청(235)은 네트워크 액세스 컴포넌트(160)로 네트워크 리소스(180)의 URL과 같은 네트워크 리소스(180)를 제로 레이팅 재기록 규칙(150)과 비교하여 네트워크 리소스(180)가 제로 레이팅 호스팅 서버(190)와 같은 제로 레이팅 소스에서 검색될 수 있는지 여부를 결정하기 위해 이루어지는 요청이다. 복수의 제로 레이팅 재기록 규칙(150) 각각은 트리거하는 패턴을 포함한다. 네트워크 요청(135)와 같은 네트워크 요청과 사용될 때 이 패턴은 특정 규칙을 식별하여 제로 레이팅 네트워크 요청(165)을 제로 레이팅 네트워크 요청(165)으로 전환하는데 사용될 수 있는 연관된 변환을 검색하는데 사용되고, 제로 레이팅 네트워크 요청(165)은 구 후 자동으로 네트워크 액세스 컴포넌트(160)에 의해 수행된다. 제로 레이팅 체크 요청(235)과 사용될 때 이 패턴은 제로 레이팅 체크 요청(235)이 특정 규칙과 매칭되어 제로 레이팅 체크 요청(235)에 의해 식별된 네트워크 리소스(180)가 변환될 수 있는지 여부를 결정하는데 사용된다. 변환 자체는 제로 레이팅 체크 요청(235)의 네트워크 리소스(180)에서 수행되지 않으며 제로 레이팅 체크 요청(235)에 응답하여 네트워크 캐리어(170)에서 수행되는 요청도 아니다. 이와 같이, 애플리케이션 컴포넌트(130)는 제로 레이팅 체크 요청(235)을 사용하여 특정 네트워크 리소스(180)가 제로 레이팅 소스에서 요청될 수 있는지 여부를 결정할 수 있다.
네트워크 액세스 컴포넌트(160)는 제로 레이팅 체크 응답(245)을 애플리케이션 컴포넌트(130)에게 전송할 수 있다. 제로 레이팅 체크 응답(245)은 애플리케이션 컴포넌트(130)에게 제로 레이팅 체크 요청(235)에 의해 참조되는 네트워크 리소스(180)가 제로 레이팅 호스팅 서버(190)와 같은 제로 레이팅 소스에서 검색될 수 있다는 표시를 포함할 수 있다. 제로 레이팅 체크 응답(245)은 애플리케이션 컴포넌트(130)에게 제로 레이팅 재기록 규칙(150)이 네트워크 리소스(180)를 위해 제공된 URL과 매칭되는 패턴을 포함하는 규칙과 같이 네트워크 리소스(180)과 매칭되는 규칙을 포함하는지 여부의 표시를 포함할 수 있다.
애플리케이션 컴포넌트(130)는 애플리케이션(120)이 네트워크 요청(135)을 만드는 사용자 요청에 응답하여 제로 레이팅 체크 요청(235)을 수행하도록 동작할 수 있다. 예를 들어, 사용자는 아이콘, 사진 또는 텍스트 세그먼트를 선택하거나, 링크를 따라가거나 다른 방법으로 URL이 불러와지거나 다르게 액세스되도록 선택할 수 있다. 애플리케이션 컴포넌트(130)는 사용자 요청에 응답하여 제로 레이팅 체크 요청(235)을 네트워크 액세스 컴포넌트(160)에게 전송하여 사용자 요청이 사용자에 대해 네트워크 캐리어(170)의 밴드폭 비용을 생성하지 않고 수행될 수 있는지 여부를 결정할 수 있다.
만약 제로 레이팅 체크 응답(245)이 네트워크 요청(135)이 만약 네트워크 액세스 컴포넌트(160)으로 수행되면 제로 레이팅 네트워크 요청(165)으로 변환될 것으로 표시한다면, 애플리케이션 컴포넌트(130)는 자동으로 애플리케이션(120)의 사용자와 협의 없이 네트워크 리소스(180)를 위한 네트워크 요청(135)을 수행하도록 진행할 수 있다. 만약 제로 레이팅 체크 응답(245)이 네트워크 요청(135)가 제로 레이팅 네트워크 요청(165)으로 변환되지 않을 것으로 표시한다면(제로 레이팅 재기록 규칙(150)이 네트워크 요청(135)을 제로 레이팅 네트워크 요청(165)으로 변환하는 규칙을 포함하지 않는다면) 애플리케이션 컴포넌트(130)는 사용자에게 네트워크 리소스(180)에 액세스하는 것은 네트워크 캐리어(170)의 밴드폭 과금을 발생시킬 수 있다고 알릴 수 있다. 애플리케이션 컴포넌트(130)는 애플리케이션(120)의 사용자에게 가능한 밴드폭 과금을 알리는 다이얼로그를 디스플레이하고 여전히 네트워크 리소스(180)에 액세스하기 원하는 여부를 물을 수 있다. 만약 사용자가 다이얼로그를 통해 여전히 네트워크 리소스(180)에 액세스하기 원한다고 표시하면, 애플리케이션 컴포넌트(130)는 이에 응답하여 네트워크 요청(135)을 비-제로 레이팅 호스팅 서버(195)에서 검색된 네트워크 리소스(180)로 수행하여 잠재적으로 네트워크 캐리어(170)의 과금을 발생시킬 수 있다.
도 2에 도시된 바와 같이, 네트워크 요청(제로 레이팅 네트워크 요청(165) 및 변환되지 않은 네트워크 요청(135)을 포함)은 네트워크 액세스 컴포넌트(160)에 의해 클라이언트 장치(110)의 통신 컴포넌트(260)를 사용하여 수행될 수 있다. 통신 컴포넌트(260)는 클라이언트 장치(110)의 운영체제의 소프트웨어 컴포넌트를 포함할 수 있고, 셀룰러 통신 컴포넌트와 같은 하나 이상의 하드웨어 컴포넌트를 포함할 수 있고, 이러한 소프트웨어와 하드웨어 컴포넌트의 조합을 포함할 수 있다. 예를 들어, 통신 컴포넌트(260)는 클라이언트 장치(110)에 의해 제공되고 클라이언트 장치(110)의 운영체제와 펌웨어에 의해 관리될 수 있다. 통신 컴포넌트(260)는 네트워크 캐리어(170)을 통한 셀룰러 통신을 수행하는데 사용하기 위하여 애플리케이션(120)와 그 네트워크 액세스 컴포넌트(160)에 클라이언트 장치(110)의 운영체제를 통해 접근가능할 수 있다.
네트워크 액세스 컴포넌트(160)는 TCP/IP(transmission control protocol / internet protocol) 통신을 클라이언트 장치(110)의 운영체제의 TCP/IP 네트워크 API(application programming interface)를 통해 수행할 수 있다. 네트워크 액세스 컴포넌트(160)는 UDP/IP(user datagram protocol / IP) 통신을 클라이언트 장치(110)의 운영체제의 UDP/IP 네트워크 API를 통해 수행할 수 있다. 네트워크 액세스 컴포넌트(160)는 일반적으로 클라이언트 장치(110)의 운영체제의 API를 통해 통신을 수행할 수 있고, OS는 통신 컴포넌트(260)를 통해 통신을 전송한다.
네트워크 캐리어(170)는 네트워크 요청(135)이나 제로 레이팅 네트워크 요청(165)과 같은 요청을 수신할 것이고 요청의 목적지를 제로 레이팅 목적지의 목록과 비교하여 요청이 제로 레이팅인지 또는 클라이언트에게 과금을 발생시켜야 하는지 여부를 결정한다. 만약 클라이언트 장치(110)로부터 수신한 요청이 IP 주소로 명명되고 색인될 수 있는 제로 레이팅 목적지의 목록에 있다면, 요청은 클라이언트에게 특정 밴드폭 과금을 발생시키지 않을 것이다. 만약 클라이언트 장치(110)로부터 수신한 요청이 제로 레이팅 목적지의 목록에 없다면, 네트워크 캐리어(170)는 요청을 전송하고, 만약 해당된다면, 응답을 수신하는데 사용된 밴드폭에 대해 사용자의 계정에 부과할 것이다(다가오는 미래의 월별 청구서로 또는 사용가능한 밴드폭이나 선불 금액의 잔액을 감소시키는 등).
도 3은 제로 레이팅 변환 시스템(100)의 제3 블록도를 도시한다. 도 3에 도시된 실시예에서, 복수의 제로 레이팅 재기록 규칙(150) 및 제로 레이팅 액세스 보안 토큰(370)이 네트워크 액세스 컴포넌트(160)에 의해 제로 레이팅 앱 지원 서버(390)에서 다운로드된다.
네트워크 액세스 컴포넌트(160)는 제로 레이팅 재기록 규칙(150)을 사용하여 네트워크 요청을 제로 레이팅 네트워크 요청으로 변환하고 어떤 네트워크 요청이 제로 레이팅 네트워크 요청으로 변환될 수 있는지 결정한다. 하지만, 제로 레이팅 재기록 규칙(150)이 정확하게 이 작업을 수행하는 한 제로 레이팅 재기록 규칙(150)은 클라이언트 장치(110)의 네트워크 캐리어(170)를 위한 제로 레이팅 소스(예컨대, 네트워크 주소)의 실제 목록과 매칭하여야 한다. 이와 같이, 제로 레이팅 재기록 규칙(150)은 적절하게 기능하기 위하여 클라이언트 장치(110)의 네트워크 캐리어(170)에 특유해야 하며 최신 상태로 유지되어야 한다. 그러므로, 애플리케이션(120)은 모바일 앱 분배 서비스를 통해 이미 구성된 제로 레이팅 재기록 규칙(150)이 분배되는 것과 같이 단순히 제로 레이팅 재기록 규칙(150)의 세트를 발송하고, 단순히 그 동작을 통해 동일한 복수의 제로 레이팅 재기록 규칙(150)을 계속 사용할 수 없다.
대신, 애플리케이션(120)은 제로 레이팅 앱 지원 서버(390)에서 제로 레이팅 재기록 규칙(150)을 검색하도록 동작할 수 있다. 제로 레이팅 앱 지원 서버(390)는 클라이언트 장치(110)와 같은 클라이언트 장치에 네트워크 요청의 제로 레이팅 변환을 수행하는데 있어 제로 레이팅 지원 기능을 제공할 수 있다. 제로 레이팅 앱 지원 서버(390)는 특히 애플리케이션(120)의 제공자와 연관될 수 있다. 예를 들어, 애플리케이션(120)이 소셜 네트워킹 서비스를 특별히 사용하기 위한 애플리케이션과 갈이 인터넷 서비스 특정 애플리케이션인 경우, 인터넷 서비스는 애플리케이션(120)의 사용자에게 제로 레이팅 재기록 규칙을 제공하기 위하여 하나 이상의 제로 레이팅 앱 지원 서버를 제공할 수 있다. 제로 레이팅 앱 지원 서버(390)는 복수의 제로 레이팅 재기록 규칙을 유지할 수 있는데, 특정 복수의 제로 레이팅 재기록 규칙은 제로 레이팅 앱 지원 서버(390)에 의해 지원되는 각 네트워크 캐리어와 연관될 수 있고, 제로 레이팅 재기록 규칙(150)은 이러한 한 연관을 포함하는 네트워크 캐리어(170)와 연관된다.
이와 같이, 애플리케이션(120)은 규칙 요청(340)을 제로 레이팅 앱 지원 서버(390)에게 전송하고 규칙 요청(340)에 응답한 제로 레이팅 재기록 규칙(150)을 수신한다. 규칙 요청(340)은 애플리케이션(120)에 의해 제공되고 제로 레이팅 앱 지원 서버(390)가 클라이언트 장치(110)의 네트워크 캐리어(170)를 식별하기 충분한 정보를 포함하여, 제로 레이팅 앱 지원 서버(390)가 클라이언트 장치(110)에 적절한 특정 제로 레이팅 재기록 규칙(150)을 식별할 수 있게 할 수 있다. 대안적으로, 제로 레이팅 앱 지원 서버(390)는 규칙 요청(340)의 제로 레이팅 앱 지원 서버(390)로의 전달의 하나 이상의 양상에 기반하여 클라이언트 장치(110)에 의해 사용되는 네트워크 캐리어(170)를 추론할 수 있다. 예를 들어, 규칙 요청(340)은 제로 레이팅 앱 지원 서버(390)가 네트워크 캐리어(170)를 식별하기 위해 식별하는 네트워크 캐리어(170)의 게이트웨이를 통해 전달될 수 있다. 일반적으로, 제로 레이팅 앱 지원 서버(390)는 규칙 요청(340)을 수신하고, 클라이언트 장치(110)와 연관된 네트워크 캐리어(170)를 결정하고, 네트워크 액세스 컴포넌트(160)에 응답하여 제로 레이팅 재기록 규칙(150)을 전송할 수 있다. 제로 레이팅 앱 지원 서버(390)로부터 제로 레이팅 재기록 규칙(150)을 수신하면 네트워크 액세스 컴포넌트(160)는 나중에 사용하기 위해 데이터 스토어(140)에 제로 레이팅 재기록 규칙(150)을 저장할 수 있다.
제로 레이팅 앱 지원 서버(390)는 그 차제가 네트워크 캐리어(170)에 제로 레이팅일 수 있다. 일반적으로, 제로 레이팅 앱 지원 서버(390)의 제공자와 관리자는 네트워크 캐리어(170)와 그 고객에게 제로 레이팅이도록 계약, 인증 또는 다른 방법으로 구성할 수 있다.
제로 레이팅 앱 지원 서버(390)는 네트워크 액세스 컴포넌트(160)의 초기화 동안 복수의 제로 레이팅 재기록 규칙(150)의 초기 검색을 위하여 네트워크 액세스 컴포넌트(160)로 사전 구성될 수 있다. 애플리케이션(120)은 설치, 첫 실행 또는 인터넷 기반 서비스에 첫 인증 시 다양한 초기화 동작을 수행할 수 있다. 이들 초기화 동작 중 하나는 네트워크 액세스 컴포넌트(160)를 제로 레이팅 재기록 규칙(150)으로 초기화하는 것일 수 있다. 네트워크 액세스 컴포넌트(160)는 네트워크 액세스 컴포넌트(160)로 사전 구성된 주소(URL, 도메인 또는 IP 주소와 같은)를 사용하여 제로 레이팅 앱 지원 서버(390)와 접촉하여 규칙 요청(340)을 수행하고 응답으로 제로 레이팅 재기록 규칙(150)을 수신할 수 있다. 이것은 제로 레이팅 앱 지원 서버(390)가 처음에 애플리케이션(120)에 알려진 유일한 제로 레이팅 서버인 부트스트랩 프로세스에 대응할 수 있고, 수신된 제로 레이팅 재기록 규칙(150)은 애플리케이션(120)이 제로 레이팅 소스를 사용하여 보다 일반적인 네트워크 작업을 수행할 수 있게 한다.
애플리케이션(120)은 또한 주기적으로 제로 레이팅 앱 지원 서버(390)를 사용하여 그 네트워크 캐리어(170)를 위한 가장 최근의 제로 레이팅 재기록 규칙(150)으로 스스로를 업데이트할 수 있다. 애플리케이션(120)은 기정의된 스케줄로 제로 레이팅 앱 지원 서버(390)와 규칙 요청(340)으로 접촉하고, 제로 레이팅 재기록 규칙(150)을 수신하고, 제로 레이팅 재기록 규칙(150)을 데이터 스토어(140)에 저장할 수 있다. 이 기정의된 스케줄은 예컨대, 24시간 스케줄을 포함할 수 있다. 일부 실시예에서, 네트워크 액세스 컴포넌트(160)는 애플리케이션(120)이 사용자에 의해 실행 중일 때만(사용자에 의해 전면에 있을(foregrounded) 때와 같이) 수행할 수 있고 네트워크 액세스 컴포넌트(160)는 제로 레이팅 재기록 규칙(150)의 최근 검색 이후 적어도 기정의된 스케줄에 의해 정의된 최소 기간이 지났다는 결정에 기반하여 업데이트를 수행한다. 다른 실시예에서 업데이트는 애플리케이션(120)이 백그라운드에 있을 때조차 수행될 수 있다.
일부 실시예에서, 제로 레이팅 호스팅 서버(190)는 요청이 제로 레이팅 액세스 보안 토큰(370)과 함께일 때만 제로 레이팅 네트워크 요청(165)와 같은 제로 레이팅 네트워크 요청을 응답, 처리 또는 다른 방법으로 허용할 수 있다. 제로 레이팅인 제로 레이팅 호스팅 서버(190)는 네트워크 캐리어(170)와 계약한 제로 레이팅 호스팅 서버(190)의 제공자에 대응할 수 있다. 일부 경우에, 이 계약은 통상적으로 클라이언트 장치(110)의 사용자에게 적용되거나 밴드폭 기반 과금의 어떤 다른 형태의 과금을 커버하는 것과 같이 제로 레이팅 호스팅 서버(190)의 제공자에게 요금을 발생시킬 수 있다. 이와 같이, 제로 레이팅 호스팅 서버(190)의 제공자는 제로 레이팅 호스팅 서버(190)으로의 액세스를 제한함으로써 이익을 얻을 수 있다. 예를 들어, 제로 레이팅 호스팅 서버(190)의 제공자는 제로 레이팅 호스팅 서버(190)의 제공자에 의해 제공되는 인터넷 기반 서비스 특정 애플리케이션(120)의 사용자에 의한 제로 레이팅 호스팅 서버(190)로의 액세스만을 허용하고 예컨대 서비스에 대한 웹 프런트 엔드를 사용하여 인터넷 기반 서비스에 액세스하는 사람의 제로 레이팅 호스팅 서버(190)로의 액세스는 허용하지 않는 것을 선호할 수 있다.
일부 실시예에서, 네트워크 액세스 컴포넌트(160)는 토큰 요청(360)을 전송하고 제로 레이팅 액세스 보안 토큰(370)을 수신할 수 있다. 일부 경우에, 제로 레이팅 액세스 보안 토큰(370)은 애플리케이션(120)이 인터넷 기반 서비스를 인증할 때만 수신될 수 있다. 제로 레이팅 액세스 보안 토큰(370)은 인터넷 기반서비스와 클라이언트 장치(110)의 사용자의 사용자 식별자의 해시가 되는 등으로 인터넷 기반 서비스를 위한 계정과 고유하게 연관될 수 있다. 일부 실시예에서, 제로 레이팅 앱 지원 서버(390)는 애플리케이션(120)의 초기화 시 애플리케이션(120)에게 알려진 제로 레이팅 서버이므로 토큰 요청(360)은 제로 레이팅 앱 지원 서버(390)으로 전송되고 제로 레이팅 액세스 보안 토큰(370)은 제로 레이팅 앱 지원 서버(390)에서 수신될 수 있다. 다른 실시예에서, 토큰 요청(360)은 제로 레이팅 액세스 보안 토큰(370)으로 전송되고 다른 서버에서 수신될 수 있는데, 제로 레이팅이거나 아닐 수 있고, 인터넷 기반 서비스의 제공자에 의해 관리되거나 아닐 수 있다. 네트워크 액세스 컴포넌트(160)는 제로 레이팅 액세스 보안 토큰(370)을 수신할 때, 제로 레이팅 액세스 보안 토큰(370)을 데이터 스토어(140)에 저장할 수 있다. 제로 레이팅 액세스 보안 토큰(370)은 또한 애플리케이션(120)을 위한 일반적 보안 토큰일 수 있고 인터넷 기반 서비스와의 다른 상호작용을 위해 사용될 수 있다. 일부 경우에 제로 레이팅 네트워크 요청의 일부만이 제로 레이팅 액세스 보안 토큰(370)을 사용할 수 있고, 다른 제로 레이팅 네트워크 요청은 임의의 인증의 증명을 요구하지 않는다. 예를 들어, 제로 레이팅 재기록 규칙(150)의 제1 부분은 제로 레이팅 앱 지원 서버(390)를 관리하는 인터넷 기반 서비스의 제공자에 대응할 수 있고, 제로 레이팅 재기록 규칙(150)의 제2 부분은 인터넷 기반 리소스의 다른 제공자에 대응할 수 있다. 제로 레이팅 액세스 보안 토큰(370)은 제1 부분에만 사용될 수 있고, 제2 부분은 액세스를 위해 보안 토큰을 요구하지 않거나 자체의 구별되는 보안 토큰이나 다른 인증 증명을 사용할 수 있다.
개시된 구조의 신규한 양태를 수행하기 위한 예시적인 방법론을 표현하는 흐름도의 세트가 본 명세서에 포함된다. 설명의 간소화를 위해, 예컨대 흐름도이나 흐름 다이어그램의 형태로 본 명세서에 도시된 하나 이상의 방법이 도시되고 일련의 행위로 기술되지만, 방법론은 몇몇의 행위는 그에 따라 본 명세서에 도시되고 기술되는 다른 행위들과 다른 순서로 및/또는 동시에 발생할 수 있기 때문에 그 행위의 순서에 국한되지 않는다고 이해되고 인식된다. 예컨대, 방법론은 가령 상태 다이어그램과 같이 일련의 상호연관된 상태나 이벤트로서 대안으로 표현될 수 있다고 당업자가 이해하고 인식할 것이다. 더욱이, 방법에서 도시된 행위들의 전부가 새로운 구현을 위해 요구되지는 않을 수 있다.
도 4는은 로직 흐름(400)의 일실시예를 도시한다. 로직 흐름(400)은 본 명세서에 기술된 하나 이상의 실시예들에 의해 실행되는 동작들의 일부 또는 전부를 표현할 수 있다.
도 4는 블록(410)에서 시작할 수 있다. 이것은 네트워크 액세스 컴포넌트(160)에 대응하는 로직의 시작, 대기 상태를 벗어나는 네트워크 액세스 컴포넌트(160) 또는 네트워크 액세스 컴포넌트(160)를 네트워크 요청(130)을 수신하고 처리하는 위치에 두는 임의의 다른 동작에 대응할 수 있다. 로직 흐름(400)은 그 후 블록(420)으로 진행될 수 있다.
로직 흐름(400)은 블록(420)에서 요청을 수신할 수 있다. 이것은 네트워크 액세스 컴포넌트(160)에 요청을 제공하기 위해 사용되는 API를 포함할 수 있다. 이것은 애플리케이션(120)이 네트워크 요청과 제로 레이팅 체크 요청과 같은 요청의 수행을 담당하는 그 로직의 일부에 진입하는 것에 대응할 수 있다. 로직 흐름(400)은 그 후 블록(430)으로 진행될 수 있다.
로직 흐름(400)은 블록(430)에서 요청이 제로 레이팅 변환 체크를 위한 것인지 여부를 결정할 수 있다. 만약 요청이 제로 레이팅 변환 체크라면, 로직 흐름(400)은 블록(440)으로 진행될 수 있다. 그렇지 않다면, 로직 흐름(400)은 블록(460)으로 진행될 수 있다.
로직 흐름(400)은 블록(440)에서 제로 레이팅 재기록 규칙(150)에 대해 요청을 체크할 수 있다. 요청은 제로 레이팅 재기록 규칙(150)와 비교되어 요청에 의해 요청된 네트워크 리소스(180)를 식별하는 도메인이나 URL과 매칭되는지와 같이 임의의 규칙이 요청과 매칭되는지 여부를 결정할 수 있다. 로직 흐름(400)은 그 후 블록(450)으로 진행될 수 있다.
로직 흐름(400)은 블록(450)에서 요청자에게 체크 결과를 반환할 수 있다. 요청자는 다른 컴포넌트, 기능, 논리 유닛, 스레드 또는 로직 흐름(400)을 실행하는 애플리케이션(120)의 다른 요소에 대응할 수 있다. 그 후 로직 흐름(400)은 새로운 요청이 개시될 때까지 체크 결과를 반환하는 고유의 부분 등을 종료할 수 있다.
로직 흐름(400)은 블록(460)에서 제로 레이팅 재기록 규칙에 대해 요청을 체크할 수 있다. 요청은 제로 레이팅 재기록 규칙(150)와 비교되어 요청에 의해 요청된 네트워크 리소스(180)를 식별하는 도메인이나 URL과 매칭되는지와 같이 임의의 규칙이 요청과 매칭되는지 여부를 결정할 수 있다. 논리 흐름(400)은 이후 블록(470)으로 진행될 수 있다.
제로 레이팅 앱 지원 서버(390)는 애플리케이션(120)의 초기화 시 애플리케이션(120)에게 알려진 제로 레이팅 서버이므로. 만약 요청이 제로 레이팅 재기록 규칙(150)에 의해 제로 레이팅일 수 있다면, 로직 흐름(400)은 블록(480)으로 진행될 수 있다. 그렇지 않다면, 로직 흐름(400)은 블록(490)으로 진행될 수 있다.
로직 흐름(400)은 블록(480)에서 제로 레이팅 소스를 사용하여 요청을 변환할 수 있다. 네트워크 리소스(180)가 하나 이상의 소스에 의해 제공될 수 있고, 소스의 서브셋은 네트워크 캐리어(170)에 대해 제로 레이팅일 수 있다. 제로 레이팅 재기록 규칙(150)은 도메인, URL 또는 요청의 다른 주소 컴포넌트가 제로 레이팅 소스가 되도록 변환하는데 사용될 수 있다. 로직 흐름은 이후 블록(490)으로 진행될 수 있다.
로직 흐름(400)은 블록(490)에서 요청을 전송할 수 있다. 요청을 전송하는 것은 클라이언트 장치(110)의 통신 컴포넌트(260)를 사용하여 셀룰러 신호를 통해 요청을 네트워크 캐리어(170)로 전송하는 것을 포함할 수 있는데, 그 후 요청을 인터넷을 통해 서버로 전송한다. 이것은 클라이언트 장치(110)의 네트워크 API를 사용함으로써 수행될 수 있다. 요청이 제로 레이팅 재기록 규칙(150)에 의해 제로 레이팅 소스를 사용하도록 변환될 수 있는 경우 제로 레이팅 호스팅 서버(190)는 요청의 수신자가 될 수 있다. 요청이 제로 레이팅 재기록 규칙(150)에 의해 제로 레이팅 소스를 사용하도록 변환될 수 없는 경우 비-제로 레이팅 호스팅 서버(195)가 요청의 수신자가 될 수 있다. 로직 흐름(400)은 그 후 종료될 수 있다. 로직 흐름(400)은 애플리케이션(120) 로직 흐름의 다른 요소에게 성공적인 전송의 표시를 반환할 수 있다. 로직 흐름(400)은 이 표시를 종료의 고유한 일부로서 반환할 수 있다.
실시예는 이 예시에 제한되지 않는다.
도 5는 중앙형 시스템(500)의 블록도를 도시한다. 중앙형 시스템(500)은 가령 전적으로 하나의 서버 장치(520) 내에서와 같이 하나의 컴퓨팅 엔티티에서 제로 레이팅 변환 시스템(100)에 대한 구조 및/또는 동작의 일부 또는 전부를 구현할 수 있다.
서버 장치(520)는 제로 레이팅 변환 시스템(100)을 위해 정보를 수신, 프로세싱 및 전송할 수 있는 임의의 전자 장치를 포함할 수 있다. 전자식 장치의 예들은 제한 없이 초-모바일(ultra-mobile) 장치, 모바일 장치, 개인용 정보 단말기(PDA), 모바일 컴퓨팅 장치, 스마트폰, 전화, 디지털 전화, 셀룰러 전화, 전자책 리더, 핸드셋, 단방향 페이저, 양방향 페이저, 메시징 장치, 컴퓨터, 개인용 컴퓨터(PC), 데스크톱 컴퓨터, 랩톱 컴퓨터, 노트북 컴퓨터, 넷북 컴퓨터, 휴대용 컴퓨터, 태블릿 컴퓨터, 서버, 서버 어레이 또는 서버 팜(server farm), 웹 서버, 네트워크 서버, 인터넷 서버, 워크 스테이션, 미니-컴퓨터, 메인 프레임 컴퓨터, 슈퍼컴퓨터, 네트워크 가전, 웹 가전, 분산형 컴퓨팅 시스템, 멀티프로세서 시스템, 프로세서-기반 시스템, 소비자 전자기기, 프로그램가능한 소비자 전자기기, 게임 장치, 텔레비전, 디지털 텔레비전, 셋톱 박스, 무선 접속점, 기지국, 구독자 스테이션, 모바일 구독자 센터, 무선 네트워크 컨트롤러, 라우터, 허브, 게이트웨이, 브릿지, 스위치, 기계 또는 이들의 조합을 포함할 수 있다. 실시예들이 이와 같은 문맥으로 제한되는 것은 아니다.
서버 장치(520)는 프로세싱 컴포넌트(530)를 사용하여 제로 레이팅 변환 시스템(100)을 위한 프로세싱 동작 또는 로직을 실행할 수 있다. 프로세싱 컴포넌트(530)는 다양한 하드웨어 요소, 소프트웨어 요소 또는 둘 다의 조합을 포함할 수 있다. 하드웨어 요소의 예들은 장치들, 로직 장치들, 컴포넌트들, 프로세서들, 마이크로프로세서들, 회로들, 프로세서 회로들, 회로 요소들(예컨대, 트랜지스터, 저항, 커패시터, 인덕터 등), 집적회로들, ASIC(application specific integrated circuits), PLD(programmable logic devices), DSP(digital signal processors), FPGA(field programmable gate array), 메모리 유닛들, 로직 게이트들, 레지스터들, 반도체 장치, 칩, 마이크로칩, 칩셋 등을 포함할 수 있다. 소프트웨어 요소의 예는 소프트웨어 컴포넌트, 프로그램, 애플리케이션, 컴퓨터 프로그램, 애플리케이션 프로그램, 시스템 프로그램, 소프트웨어 개발 프로그램, 기계 프로그램, 운영 시스템 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈, 루틴, 서브루틴, 함수, 방법, 절차, 소프트웨어 인터페이스, API(application program interfaces), 명령어 세트, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트, 컴퓨터 코드 세그먼트, 단어, 값, 심볼, 또는 이들의 임의의 조합을 포함할 수 있다. 하드웨어 요소 및/또는 소프트웨어 요소를 사용하여 실시예가 구현되는지 여부를 결정하는 것은 임의의 수의 요인, 가령 주어진 구현예를 위해 바람직한, 소정의 계산 속도, 전력 레벨, 열 내구성, 프로세싱 싸이클 예산, 입력 데이터 속도, 출력 데이터 속도, 메모리 자원, 데이터 버스 속도 및 다른 디자인이나 성능 제약에 따라 다양할 수 있다.
서버 장치(520)는 통신 컴포넌트(540)를 사용하여 제로 레이팅 변환 시스템(100)을 위한 통신 동작 또는 로직을 실행할 수 있다. 통신 컴포넌트(540)는 임의의 잘 알려진 통신 기술 및 프로토콜, 가령 패킷-스위치 네트워크(예컨대, 공용 네트워크, 가령 인터넷, 사설 네트워크, 가령 기업체 인트라넷 등), 서킷-스위치 네트워크(예컨대, 공용 스위치 전화 네트워크), 또는 (적절한 게이트웨이 및 변환기(translator)를 갖는) 패킷-스위치 네트워크 및 서킷-스위치 네트워크의 조합과 사용하기에 적절한 기술을 구현할 수 있다. 통신 컴포넌트(540)는 가령 하나 이상의 통신 인터페이스, 네트워크 인터페이스, 네트워크 인터페이스 카드(NIC), 라디오, 무선 송신기/수신기(송수신기), 유선 및/또는 무선 통신 미디어, 물리적 커넥터 등과 같이 다양한 타입의 표준 통신 구성요소들을 포함할 수 있다. 예로서 제한 없이, 통신 미디어(512, 542)는 무선 통신 미디어 및 무선 통신 미디어를 포함한다. 유선 통신 미디어의 예들은 와이어, 케이블, 금속 리드(metal leads), 인쇄회로기판(PCB), 백플레인(backplanes), 스위치 패브릭(switch fabrics), 반도체 재료, 트위스트 페어 와이어(twisted-pair wire), 동축 케이블, 광섬유(fiber optics), 전파 신호(propagated signal) 등을 포함할 수 있다. 무선 통신 미디어의 예는 음향, 무선-주파수(RF) 스펙트럼, 적외선 및 다른 무선 미디어를 포함할 수 있다.
서버 장치(520)는 제로 레이팅 앱 지원 서버(390) 및 제로 레이팅 호스팅 서버(190)를 포함할 수 있다. 서버 장치(520)는 미디어(512)를 통해 전송된 신호(514)를 사용하여 네트워크 캐리어(170)와 통신할 수 있다. 네트워크 캐리어(170)와 통신하는 서버 장치(520)는 저장하고 궁극적으로 클라이언트 장치(110)와 같은 클라이언트에게 분배하기 위해 네트워크 캐리어(170)로부터 제로 레이팅 재기록 규칙(150)을 수신하는 제로 레이팅 앱 지원 서버(380)를 포함할 수 있다. 미디어(512)를 통해 전송되는 신호(514)는 클라이언트 장치(110)에 대한 제로 레이팅 앱 지원 서버(390) 및 제로 레이팅 호스팅 서버(190)의 동작의 성능 등을 위한 클라이언트 장치(110) 및 서버 장치(520) 간의 통신도 포함할 수 있다.
클라이언트 장치(110)는 셀룰러 브로드캐스트를 사용하여 전송되는 셀룰러 신호(534)를 사용하여 네트워크 캐리어(170)와 통신할 수 있다. 클라이언트 장치(110)는 셀 사이트(550)와 연결하는데 셀룰러 전송을 사용하는 셀룰러 통신 컴포넌트(560)를 포함할 수 있다. 셀 사이트(550)는 네트워크 캐리어(170)에 의해 제공되고 그 인프라 구조의 일부임이 인식될 것이다. 셀룰러 통신 컴포넌트(560)는 도 2와 관련하여 서술된 통신 컴포넌트(260)에 대응할 수 있다. 클라이언트 장치(110)는 위치, 따라서 셀룰러 사이트 간에 이동하므로 클라이언트 장치(110)는 애플리케이션(120)의 다양한 사용에 있어 다양한 셀룰러 사이트에 연결할 수 있음이 인식될 것이다. 신호(534)는 클라이언트 장치(110)에 의해 네트워크 캐리어(170), 서버 장치(520)에 의해 호스팅되는 제로 레이팅 앱 지원 서버(390) 및 제로 레이팅 호스팅 서버(190) 및 서버, 클라이언트 및 인터넷을 통해 접근가능한 다른 컴퓨팅 장치와 같이 다른 서버, 클라이언트 및 네트워크 캐리어(170)를 통해 접근가능한 다른 컴퓨팅 장치와 통신하는데 사용될 수 있다.
도 6은 분산형 시스템(600)의 블록도를 도시한다. 분산형 시스템(600)은 다수의 컴퓨팅 엔티티에 걸쳐 제로 레이팅 변환 시스템(100)에 대한 구조 및/또는 동작의 부분들을 분산할 수 있다. 분산형 시스템(600)의 예는 제한 없이, 클라이언트-서버 구조, 3-계층 구조, N-계층 구조, 밀접하게-커플링(tightly-coupled)되거나 클러스터화된 구조, 피어-투-피어 구조, 마스터-슬레이브(master-slave) 구조, 공유된 데이터베이스 구조 및 다른 타입의 분산형 시스템을 포함할 수 있다. 실시예들이 이와 같은 문맥으로 제한되는 것은 아니다.
분산형 시스템(600)은 클라이언트 장치(110) 및 서버 장치(620, 670 및 680)를 포함할 수 있다. 일반적으로, 클라이언트 장치(110)와 서버 장치(620, 670 및 680)는 도 5와 관련하여 서술된 서버 장치(520)와 동일하거나 유사할 수 있다. 예를 들어, 클라이언트 장치(110)와 서버 장치(620, 670 및 680) 각각은 각각 도 5와 관련하여 서술된 프로세싱 컴포넌트(530) 및 통신 컴포넌트(540)와 동일하거나 유사할 수 있는 프로세싱 컴포넌트(630) 및 통신 컴포넌트(640)를 포함할 수 있다. 다른 예로, 장치(110, 620, 670 및 680)는 통신 컴포넌트(640)를 통해 통신 신호(614)를 사용하는 통신 미디어(612)를 거쳐 통신할 수 있다. 클라이언트 장치(110)는 셀 사이트(650)로 브로드캐스트되는 셀룰러 신호(634)와 미디어(622)를 통해 네트워크 캐리어(170)로 전송되는 통신 미디어(612)에 의해 미디어(612)로 브리지될 수 있다. 셀 사이트(650)는 네트워크 캐리어(170)에 의해 제공되고 그 인프라 구조의 일부임이 인식될 것이다.
서버 장치(620)는 기술된 실시예에 따른 다양한 방법을 수행하도록 동작하는 하나 이상의 서버 프로그램을 포함하거나 이용할 수 있다. 일실시예에서, 예를 들어, 서버 장치(620)는 제로 레이팅 앱 지원 서버(350)를 구현할 수 있다. 이와 같이, 서버 장치(620)와 클라이언트 장치(110) 간의 통신은 클라이언트가 제로 레이팅 재기록 규칙(150)와 제로 레이팅 액세스 보안 토큰(370)을 요청하고 수신하는 것에 대응할 수 있다.
서버 장치(670)는 기술된 실시예에 따른 다양한 방법을 수행하도록 동작하는 하나 이상의 서버 프로그램을 포함하거나 이용할 수 있다. 일실시예에서, 예를 들어, 서버 장치(670)는 제로 레이팅 호스팅 서버(150)를 구현할 수 있다. 이와 같이, 서버 장치(670)와 클라이언트 장치(110) 간의 통신은 클라이언트가 네트워크 리소스(180)를 제로 레이팅 통신으로 요청하고 수신하는 것에 대응할 수 있다.
서버 장치(680)는 기술된 실시예에 따른 다양한 방법을 수행하도록 동작하는 하나 이상의 서버 프로그램을 포함하거나 이용할 수 있다. 일실시예에서, 예를 들어, 서버 장치(680)는 비-제로 레이팅 호스팅 서버(195)를 구현할 수 있다. 이와 같이, 서버 장치(670)와 클라이언트 장치(110) 간의 통신은 클라이언트가 네트워크 리소스(180)를 비-제로 레이팅 통신으로 요청하고 수신하는 것에 대응할 수 있다.
도 7a는 로직 흐름(700)의 일실시예를 도시한다. 로직 흐름(700)은 본 명세서에 서술되는 하나 이상의 실시예에 의해 실행되는 동작의 일부 또는 전부를 표현할 수 있다.
도 7에 도시된 실시예에서, 로직 흐름(700)은 블록(702)에서 애플리케이션 컴포넌트(130)로부터 네트워크 요청(135)를 수신할 수 있는데, 네트워크 요청(135)은 네트워크 리소스(180)에 액세스하기 위한 것이다.
로직 흐름(700)은 블록(704)에서 네트워크 리소스(180)에 매칭되는 제로 레이팅 재기록 규칙을 식별하기 위하여 복수의 제로 레이팅 재기록 규칙(150)과 네트워크 리소스(180)를 비교할 수 있다.
로직 흐름(700)은 블록(706)에서 식별된 제로 레이팅 재기록 규칙을 사용하여 네트워크 리소스(180)를 위한 제로 레이팅 네트워크 요청(165)으로 네트워크 요청(135)을 변환할 수 있다.
로직 흐름(700)은 블록(708)에서 제로 레이팅 네트워크 요청(165)을 수행할 수 있다.
도 7b는 로직 흐름(710)의 일실시예를 도시한다. 로직 흐름(710)은 본 명세서에 기술된 하나 이상의 실시예들에 의해 실행되는 동작들의 일부 또는 전부를 표현할 수 있다.
도 7에 도시된 실시예에서, 로직 흐름(710)은 블록(712)에서 애플리케이션 컴포넌트(130)로부터 네트워크 요청(135)을 수신할 수 있는데, 네트워크 요청(135)은 네트워크 서버 상에서 호스팅되는 네트워크 리소스(180)에 액세스하기 위한 것이다.
로직 흐름(710)은 블록(714)에서 도메인 네임에 매칭되는 복수의 도메인 네임 태그 중 도메인 네임 태그와 연관된 제로 레이팅 재기록 규칙을 식별하기 위하여 프로세서 회로를 사용하여 복수의 제로 레이팅 재기록 규칙(150)에 대한 복수의 도메인 네임 태그에 네트워크 리소스(180)를 위한 도메인 네임을 매칭시킨다.
로직 흐름(710)은 블록(716)에서 식별된 제로 레이팅 재기록 규칙을 사용하여 제로 레이팅 네트워크 서버에 대응하는 제로 레이팅 도메인 네임으로 네트워크 요청(135)을 위한 도메인 네임을 재기록할 수 있다.
로직 흐름(710)은 블록(718)에서 네트워크 인터페이스 컴포넌트를 사용하여 제로 레이팅 네트워크 서버로부터 네트워크 리소스(180)를 요청할 수 있다.
도 7c는 로직 흐름(720)의 일실시예를 도시한다. 로직 흐름(720)은 본 명세서에 기술된 하나 이상의 실시예들에 의해 실행되는 동작들의 일부 또는 전부를 표현할 수 있다.
도 7에 도시된 실시예에서, 로직 흐름(720)은 블록(722)에서 애플리케이션 컴포넌트(130)로부터 네트워크 요청(135)을 수신할 수 있는데, 네트워크 요청(135)은 네트워크 리소스(180)에 액세스하기 위한 것이다.
로직 흐름(720)은 블록(724)에서 데이터 스토어(140)로부터 복수의 제로 레이팅 재기록 규칙(150)을 검색할 수 있는데, 복수의 제로 레이팅 재기록 규칙(150) 각각은 복수의 도메인 네임 패턴 중 도메인 네임 패턴과 연관된 것이다.
로직 흐름(720)은 블록(726)에서 네트워크 리소스(180)를 위한 도메인 네임과 매칭되는 복수의 제로 레이팅 재기록 규칙(150) 중 제로 레이팅 재기록 규칙을 식별하기 위하여 복수의 도메인 네임 패턴 중 하나 이상에 네트워크 리소스(180)를 위한 도메인 네임을 프로세서 회로를 사용하여 비교할 수 있다.
로직 흐름(720)은 블록(728)에서 식별된 제로 레이팅 재기록 규칙을 사용하여 네트워크 리소스(180)를 위한 제로 레이팅 네트워크 요청(165)으로 네트워크 요청(135)을 변환할 수 있는데, 제로 레이팅 네트워크 요청(165)은 네트워크 요청(135)을 위한 도메인 네임을 대체하는 제로 레이팅 도메인 네임을 포함한다.
로직 흐름(720)은 블록(730)에서 네트워크 인터페이스 컴포넌트를 사용하여 제로 레이팅 네트워크 요청(165)을 수행할 수 있다.
실시예들은 이러한 예들로 제한되지 않는다.
도 8은 이전에 기술된 다양한 실시예들을 구현하기에 적절한 예시적인 컴퓨팅 구조(800)의 실시예를 도시한다. 일실시예로, 컴퓨팅 구조(800)는 전자 장치의 일부를 포함하거나 전자 장치의 일부로서 구현될 수 있다. 전자 장치의 예는 다른 것들 사이에서 도 8과 관련하여 기술된 것들을 포함할 수 있다. 실시예들이 이와 같은 문맥으로 제한되는 것은 아니다.
본 출원에서 사용되는 바와 같이, "시스템" 및 "컴포넌트"란 용어는 컴퓨터-관련 엔티티, 어느 하나의 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 실행중의 소프트웨어, 예시적인 컴퓨팅 구조(800)에 의해 제공되는 예들을 일컫는 것으로 의도된다. 예컨대, 컴포넌트는 프로세서에서 실행하는 프로세스, 프로세서, 하드 디스크 드라이브, (광학 및/또는 자기 저장매체의) 다수의 저장 드라이브, 객체, 실행가능한 것들, 실행의 쓰레드(thread), 프로그램 및/또는 컴퓨터일 수 있으나 이에 국한되지 않는다. 예로서, 서버에서 실행하는 애플리케이션과 서버 모두는 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 프로세스 및/또는 실행의 쓰레드 내에 상주할 수 있고, 컴포넌트는 하나의 컴퓨터에 로컬화될 수 있고/있거나 2 이상의 컴퓨터들 사이에 분산될 수 있다. 게다가, 컴포넌트는 동작들을 편성하도록 다양한 타입의 통신 미디어에 의해 서로 통신가능하게 연결될 수 있다. 편성(coordination)은 정보의 단방향이나 양방향 교환을 포함할 수 있다. 예컨대, 컴포넌트는 통신 미디어를 통해 통신되는 신호의 형태로 정보를 통신할 수 있다. 정보는 다양한 신호 라인에 할당된 신호들로서 구현될 수 있다. 이런 할당에서, 각 메시지는 신호이다. 그러나, 추가의 실시예들이 대안으로 데이터 메시지를 이용할 수 있다. 이런 데이터 메시지는 다양한 연결을 통해 송신될 수 있다. 예시적인 연결은 병렬 인터페이스, 직렬 인터페이스 및 버스 인터페이스를 포함한다.
컴퓨팅 구조(800)는 가령 하나 이상의 프로세서, 멀티-코어 프로세서, 코-프로세서(co-processors), 메모리 유닛, 칩셋, 컨트롤러, 주변기기, 인터페이스, 오실레이터, 타이밍 장치, 비디오 카드, 오디오 카드, 멀티미디어 입력/출력(I/O) 컴포넌트, 전원 등과 같이 다양한 공통의 컴퓨팅 요소들을 포함한다. 그러나, 실시예들은 컴퓨팅 구조(800)에 의한 구현으로 국한되지 않는다.
도 8에 도시된 바와 같이, 컴퓨팅 구조(800)는 프로세싱 유닛(804), 시스템 메모리(806) 및 시스템 버스(808)를 포함한다. 프로세싱 유닛(804)은 제한 없이 AMD® Athlon®, Duron® 및 Opteron® 프로세서; ARM® 애플리케이션, 임베디드 및 보안 프로세서; IBM® 및 Motorola® DragonBall® 및 PowerPC® 프로세서; IBM 및 Sony® Cell 프로세서; Intel® Celeron®, Core (2) Duo®, Itanium®, Pentium®, Xeon® 및 XScale® 프로세서; 및 유사한 프로세서들을 포함하는 임의의 다양한 영리적으로 이용가능한 프로세서일 수 있다. 또한, 듀얼 멀티프로세서, 멀티-코어 프로세서 및 다른 멀티-프로세서 구조가 프로세싱 유닛(804)으로 이용될 수 있다.
시스템 버스(808)는 시스템 메모리(806)를 포함하나 이에 국한되지 않는 시스템 구성요소용 인터페이스를 프로세싱 유닛(804)에 제공한다. 시스템 버스(808)는 임의의 다양한 영리적으로 이용가능한 버스 구조를 사용하여 (메모리 컨트롤러를 가지거나 가지지 않은) 메모리 버스, 주변기기 버스 및 로컬 버스와도 또한 상호연결할 수 있는 임의의 여러 타입의 버스 구조일 수 있다. 인터페이스 어댑터는 슬롯 구조를 통해 시스템 버스(808)와 연결할 수 있다. 예시적인 슬롯 구조는 제한 없이 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) 등을 포함할 수 있다.
컴퓨팅 구조(800)는 다양한 제조 물품을 포함하거나 구현할 수 있다. 제조 물품은 로직을 저장하는 컴퓨터-판독가능한 저장매체를 포함할 수 있다. 컴퓨터-판독가능한 저장매체의 예는 휘발성 메모리나 비-휘발성 메모리, 착탈식이나 비착탈식 메모리, 소거가능하거나 비-소거가능한 메모리, 쓰기가능하거나 다시-쓰기가능한 메모리 등을 포함하는, 전자 데이터를 저장할 수 있는 임의의 유형의 미디어를 포함할 수 있다. 로직의 예는 가령 소스 코드, 컴파일된 코드, 번역된 코드, 실행가능한 코드, 정적 코드, 동적 코드, 객체-지향 코드, 비주얼 코드 등과 같이 임의의 적절한 타입의 코드를 사용하여 구현되는 실행가능한 컴퓨터 프로그램 명령어를 포함할 수 있다. 또한, 실시예들은 본 명세서에 기술되는 동작들의 수행을 가능하게 하는 하나 이상의 프로세서에 의해 판독되고 실행될 수 있는, 비-일시적 컴퓨터-판독가능한 매체에 포함되는 명령어로서 적어도 부분적으로 구현될 수 있다.
시스템 메모리(806)는 하나 이상의 고속 메모리 유닛, 가령 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)), 및 정보를 저장하기에 적절한 임의의 다른 타입의 저장 매체와 같은 형태인 다양한 타입의 컴퓨터-판독가능한 저장 매체를 포함할 수 있다. 도 8에 도시되는 예시의 실시예에서, 시스템 메모리(806)는 비-휘발성 메모리(810) 및/또는 휘발성 메모리(812)를 포함할 수 있다. BIOS(basic input/output system)는 비-휘발성 메모리(810)에 저장될 수 있다.
컴퓨터(802)는 내부(또는 외부) 하드디스크 드라이브(HDD)(814), 착탈식 자기 디스크(818)로부터 판독하거나 자기 디스크에 기록하는 자기 플로피 디스크 드라이브(FDD)(816) 및 착탈식 광학 디스크(822)로부터 판독하거나 광학 디스크에 기록하는 광학 디스크 드라이브(820)(예컨대, CD-ROM 또는 DVD)를 포함하는 하나 이상의 저속 메모리 유닛의 형태의 다양한 타입의 컴퓨터-판독가능한 저장매체를 포함할 수 있다. HDD(814), FDD(816) 및 광학 디스크 드라이브(820)는 HDD 인터페이스(824), FDD 인터페이스(826) 및 광학 디스크 인터페이스(828)에 의해 각각 시스템 버스(808)와 연결될 수 있다. 외부 드라이브 구현을 위한 HDD 인터페이스(824)는 범용 시리얼 버스(USB) 및 IEEE 1394 인터페이스 기술 중 적어도 하나 또는 둘 다를 포함할 수 있다.
드라이브 및 관련 컴퓨터-판독가능한 매체는 휘발성 및/또는 비휘발성 데이터 저장, 데이터 구조, 컴퓨터-실행가능한 명령어 등을 제공한다. 예컨대, 다수의 프로그램 모듈은 운영 시스템(830), 하나 이상의 애플리케이션 프로그램(832), 다른 프로그램 모듈(834) 및 프로그램 데이터(836)를 포함하는 드라이브 및 메모리 유닛(810, 812)에 저장될 수 있다. 일실시예로, 하나 이상의 애플리케이션 프로그램(832), 다른 프로그램 모듈(834), 및 프로그램 데이터(836)는 예컨대, 다양한 애플리케이션 및/또는 시스템(100)의 컴포넌트를 포함할 수 있다.
사용자는 예컨대 키보드(838) 및 마우스(840)와 같은 포인팅 장치와 같은 하나 이상의 유선/무선 입력 장치를 통해 명령 및 정보를 컴퓨터(802)로 입력할 수 있다. 다른 입력 장치는 마이크로폰, 적외선(IR) 원격 컨트롤, 무선-주파수(RF) 원격 컨트롤, 게임 패드, 스타일러스 펜, 카드 리더, 동글(dongles), 지문 리더, 글로브(gloves), 그래픽 태플릿, 조이스틱, 키보드, 망막 리더, (예컨대, 정전용량식, 저항식 등의) 터치 스크린, 트랙볼, 트랙패드, 센서, 스타일러스 등을 포함할 수 있다. 이런 입력 장치 및 다른 입력 장치는 흔히 시스템 버스(808)와 연결되는 입력 장치 인터페이스(842)를 통해 프로세싱 유닛(804)과 연결되지만, 가령 병렬 포트, IEEE 1394 직렬 포트, 게임 포트, USB 포트, IR 인터페이스 등과 같이 다른 인터페이스들로 연결될 수 있다.
또한, 모니터(844) 또는 다른 타입의 디스플레이 장치는 가령 비디오 어댑터(846)와 같은 인터페이스를 통해 시스템 버스(808)와 연결된다. 모니터(844)는 컴퓨터(802)의 내부 또는 외부에 있을 수 있다. 모니터(844) 이외에, 컴퓨터는 가령 스피커, 프린터 등과 같은 다른 주변의 출력 장치들을 일반적으로 포함한다.
컴퓨터(802)는 가령 원격 컴퓨터(848)와 같은 하나 이상의 원격 컴퓨터로의 유선 및/또는 무선 통신을 통한 논리적 연결을 사용하여 네트워크형 환경에서 동작할 수 있다. 원격 컴퓨터(848)는 워크스테이션, 서버 컴퓨터, 라우터, 개인용 컴퓨터, 휴대용 컴퓨터, 마이크로프로세서-기반 엔터테인먼트 가전, 피어 장치 또는 다른 공통의 네트워크 노드일 수 있고, 간결함을 위해 단지 하나의 메모리/저장 장치(850)만이 도시되지만, 일반적으로 컴퓨터(802)에 대하여 기술되는 많은 구성요소 또는 모든 구성요소를 포함한다. 도시되는 논리적 연결은 근거리 네트워크(LAN)(852)로의 유선/무선 연결 및/또는 예컨대 광역 네트워크(WAN)(854)와 같은 더 큰 네트워크를 포함한다. 이런 LAN 및 WAN 네트워킹 환경은 사무실과 회사에서 매우 흔하며, 가령 인트라넷과 같은 기업-광역 컴퓨터 네트워크를 용이하게 하는데 이들 모두는 예컨대 인터넷과 같은 글로벌 통신 네트워크와 연결할 수 있다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(802)는 유선 및/또는 무선 통신 네트워크 인터페이스 또는 어댑터(856)를 통해 LAN(852)과 연결된다. 어댑터(856)는 LAN(852)으로의 유선 및/또는 무선 통신을 용이하게 할 수 있고, 이것은 또한 어댑터(856)의 무선 기능과 통신하기 위해 그곳에 배치되는 무선 접속점을 포함할 수 있다.
WAN 네트워킹 환경에서 사용될 때, 컴퓨터(802)는 모뎀(858)을 포함할 수 있거나, WAN(854)에서 통신 서버와 연결되거나, 가령 인터넷과 같이 WAN(854)을 통해 통신을 확립하기 위한 다른 수단을 가진다. 내부 또는 외부 및 유선 및/또는 무선 장치일 수 있는 모뎀(858)은 입력 장치 인터페이스(842)를 통해 시스템 버스(808)와 연결한다. 네트워크형 환경에서, 컴퓨터(802)에 대해 묘사되는 프로그램 모듈들 또는 이들의 부분들은 원격 메모리/저장 장치(850)에 저장될 수 있다. 도시된 네트워크 연결은 예시적이고 컴퓨터 사이의 통신 링크를 확립하는 다른 수단이 사용될 수 있음이 이해될 것이다.
컴퓨터(802)는 가령 무선 통신(예컨대, 무선(over-the-air) 변조 기술의 IEEE 802. 9)에서 동작가능하게 배치되는 무선 장치와 같이 IEEE 802 표준 패밀리를 사용하여 유선 및 무선 장치 또는 엔티티와 통신하도록 동작한다. 이는 적어도 Wi-Fi(또는 Wireless Fidelity), WiMax 및 BluetoothTM 무선 기술 등을 포함한다. 따라서, 통신은 종래의 네트워크 또는 적어도 2개의 장치 사이의 간단한 애드 혹(ad hoc) 통신의 기정의된 구조일 수 있다. Wi-Fi 네트워크는 IEEE 802. 8x(a, b, g, n 등)라고 하는 무선 기술을 사용하여 보안의 신뢰성 있는 신속한 무선 연결을 제공한다. Wi-Fi 네트워크는 (IEEE 802. 3-관련 미디어 및 기능을 사용하여) 서로, 인터넷으로 그리고 유선 네트워크로 컴퓨터들을 연결하는데 사용될 수 있다.
도 9는 상술한 바와 같이 다양한 실시예들을 구현하는데 적절한 예시적인 통신 구조(900)의 블록도를 도시한다. 통신 구조(900)는 가령 송신기, 수신기, 송수신기, 라디오, 네트워크 인터페이스, 기저대역 프로세서, 안테나, 증폭기, 필터, 전원 등과 같이 다양한 공통의 통신 구성요소들을 포함한다. 그러나, 실시예들이 통신 구조(900)에 의한 구현으로 국한되는 것은 아니다.
도 9에 도시된 바와 같이, 통신 구조(900)는 하나 이상의 클라이언트(902) 및 서버(904)를 포함한다. 클라이언트(902)는 클라이언트 장치(910)를 구현할 수 있다. 서버(904)는 서버 장치(950)을 구현할 수 있다. 클라이언트(902) 및 서버(904)는 가령 쿠키 및/또는 관련 컨텍스트형 정보와 같이 각각의 클라이언트(902) 및 서버(904)에 대한 로컬 정보를 저장하는데 이용될 수 있는 하나 이상의 각각의 클라이언트 데이터 스토어(908) 및 서버 데이터 스토어(910)와 동작가능하게 연결된다.
클라이언트(902) 및 서버(904)는 통신 프레임워크(906)를 사용하여 서로 간에 정보를 통신할 수 있다. 통신 프레임워크(906)는 임의의 잘 알려진 통신 기술 및 프로토콜을 구현할 수 있다. 통신 프레임워크(906)는 패킷-교환형 네트워크(예컨대, 인터넷과 같은 공중 네트워크, 기업 인트라넷과 같은 사적 네트워크 등), 회로-교환형 네트워크(예컨대, 공중 교환 전화망) 또는 (적절한 게이트웨이와 변환기를 가진) 패킷-교환형 네트워크와 회로-교환형 네트워크의 조합으로서 구현될 수 있다.
통신 프레임워크(906)는 통신 네트워크를 수락, 통신 및 연결하도록 배열되는 다양한 네트워크 인터페이스를 구현할 수 있다. 네트워크 인터페이스는 특수화된 형태의 입출력 인터페이스로 간주될 수 있다. 네트워크 인터페이스는 제한 없이 직접 연결, 이더넷(예컨대, thick, thin, twisted pair 10/100/1000 Base T 등), 토큰 링, 무선 네트워크 인터페이스, 셀룰러 네트워크 인터페이스, IEEE 802. 11a-x 네트워크 인터페이스, IEEE 802. 16 네트워크 인터페이스, IEEE 802. 20 네트워크 인터페이스 등을 포함하는 연결 프로토콜을 이용할 수 있다. 게다가, 다수의 네트워크 인터페이스는 다양한 통신 네트워크 타입과 연계하는데 사용될 수 있다. 예컨대, 다수의 네트워크 인터페이스는 방송, 멀티캐스트 및 유니캐스트 네트워크를 통한 통신을 가능하게 하는데 이용될 수 있다. 프로세싱 조건이 더 높은 속도와 성능을 요구하면, 분산형 네트워크 컨트롤러 구조는 마찬가지로 클라이언트(902) 및 서버(904)에 의해 요구되는 통신 대역폭을 풀링(pool), 부하 균형(load balance) 및 증가하는데 이용될 수 있다. 통신 네트워크는 제한 없이 직접형 상호연결, 보안형 커스텀 연결, 사적 네트워크(예컨대, 기업 인트라넷), 공중 네트워크(예컨대, 인터넷), 개인 영역 네트워크(PAN), 근거리 네트워크(LAN), 대도시 네트워크(MAN), OMNI(Operating Missions as Nodes on the Internet), 광역 네트워크(WAN), 무선 네트워크, 셀룰러 네트워크 및 다른 통신 네트워크들을 포함하는 임의의 하나 및 유선 및/또는 무선 네트워크의 조합일 수 있다.
일부의 실시예들은 "일실시예(one embodiment)" 또는 "한 실시예(an embodiment)"의 표현 및 그 파생어들을 사용하여 기술될 수 있다. 이들 용어는 그 실시예와 함께 기술되는 특정한 특징, 구조 또는 특성이 적어도 하나의 실시예에 포함됨을 의미한다. 본 명세서의 곳곳에서 "일실시예로"라는 문구의 형태는 반드시 동일한 실시예를 일컫는 모든 것이 아니다. 게다가, 일부의 실시예들은 "연결되는(connected)" 및 "결합되는(coupled)"의 표현 및 그 파생어들을 사용하여 기술될 수 있다. 이들 용어는 서로에 대해 반드시 동의어로 의도되는 것은 아니다. 예컨대, 일부의 실시예들은 2 이상의 구성요소들이 서로에 대해 직접적인 물리적이거나 전기적으로 접촉함을 표시하기 위해 "연결되는(connected)" 및/또는 "결합되는(coupled)"의 용어를 사용하여 기술될 수 있다. 그러나, "결합되는(coupled)"이란 용어는 또한 2 이상의 구성요소들이 서로 직접 접촉하지는 않지만 여전히 함께 동작하거나 서로 상호작용함을 의미할 수 있다.
본 명세서에서 사용되는 표기법 및 명명법을 일반적으로 참조하여, 본 명세서의 상세한 설명은 컴퓨터 또는 컴퓨터의 네트워크에서 실행되는 프로그램 절차의 관점에서 제시될 수 있다. 이런 절차적 설명 및 표현은 당업자가 해당 기술분야의 다른 사람들에게 그 발명의 요지를 가장 효과적으로 전달하는데 사용된다.
절차는 본 명세서에서 일반적으로 소정의 결과로 이어지는 일관성 있는 일련의 동작들이라고 이해된다. 동작들은 물리량의 물리적 조작을 요구하는 동작들이다. 보통, 반드시 그런 것은 아니지만, 이런 물리량은 저장되고, 전달되며, 결합되고, 비교되며, 그렇지 않으면 조작될 수 있는 전기적 신호, 자기적 신호 또는 광학적 신호의 형태를 취한다. 원칙상 공통의 사용을 이유로 이런 신호를 비트, 값, 요소, 심볼, 문자, 용어, 숫자 등으로 일컫는 것이 때때로 간편하다고 판명되었다. 그러나, 이런 용어들 및 유사한 용어들 모두는 적절한 물리량과 관련되는 것이고 단지 이런 물리량에 적용되는 편의상의 라벨임을 유의해야 한다.
게다가, 수행되는 조작은 사람 운영자가 수행한 정신적인 동작과 통상 관련되는 가령 추가하기 또는 비교하기와 같은 용어들로 흔히 일컬어질 수 있다. 사람 운영자의 이런 능력이 하나 이상의 실시예들의 일부를 형성하는 본 명세서에 기술되는 임의의 동작에서 대부분의 경우 반드시 필요하거나 바람직한 것은 아니다. 그 대신, 동작들은 기계 동작들이다. 다양한 실시예들의 동작들을 수행하기 위한 유용한 기계는 범용의 디지털 컴퓨터 또는 유사한 장치들을 포함한다.
또한, 다양한 실시예들은 이런 동작들을 수행하기 위한 장치 또는 시스템에 관한 것이다. 이런 장치는 요구되는 목적으로 특수하게 구성될 수 있거나, 컴퓨터에 저장되는 컴퓨터 프로그램에 의해 선택적으로 활성되거나 재구성되는 범용 컴퓨터를 포함할 수 있다. 본 명세서에서 제시되는 절차가 본래적으로 특정 컴퓨터 또는 다른 장치에 관한 것은 아니다. 다양한 범용 기계는 본 명세서에 시사된 것에 따라 작성되는 프로그램으로 사용될 수 있거나, 요구되는 방법 단계들을 수행하도록 더 특수화된 장치를 구성하는 것이 간편하다고 판명될 수 있다. 다양한 이런 기계들에 대해 요구되는 구조는 제시되는 상세한 설명에 나타날 것이다.
독자(reader)가 기술적 개시의 성질을 신속히 파악할 수 있게 하도록 본 명세서의 요약이 제공됨이 강조된다. 이런 요약의 제시가 청구항들의 범위 또는 의미를 해석하거나 제한하는데 사용되지 않는다고 이해될 것이다. 또한, 상술한 상세한 설명에서, 본 명세서를 간소화하기 위해 다양한 특징들이 하나의 실시예에서 함께 그룹화됨을 알 수 있다. 본 명세서의 이런 방법은 청구된 실시예들이 각 청구항에 명확히 기재되는 것보다 더 많은 특징들을 필요로 한다는 의도를 반영하는 것으로 해석되는 것은 아니다. 그 대신, 하기의 청구항들이 반영하는 바와 같이, 발명의 주제는 개시된 하나의 실시예의 모든 특징 미만 내에 있다. 따라서, 하기의 청구항들은 본 명세서에서 상세한 설명에 통합되며, 각 청구항은 개별 실시예로서 그 자체를 기초로 한다. 첨부된 청구항들에서, "포함하는(including)" 및 "여기서(in which)"란 용어는 각각의 "포함하는(comprising)" 및 "그 점에서(wherein)"이란 용어와 평이한 영어로 동등하게 각각 사용된다. 게다가, "제1의(first)", "제2의(second)", "제3의(third)" 등의 용어는 단지 라벨로 사용되며, 그 객체에 대해 수치적 요건을 부여하려는 의도는 아니다.
상술한 내용들은 본 발명의 개시된 구조의 예들을 포함한다. 물론, 컴포넌트들 및/또는 방법론들의 모든 구상가능한 조합을 기술하는 것은 불가능하지만, 당업자는 많은 추가의 조합과 치환이 가능함을 인식할 수 있다. 따라서, 신규한 구조는 첨부된 청구항들의 사상 및 범위 내에 있는 이런 모든 변경, 수정 및 변형을 포함하는 것으로 의도된다.

Claims (32)

  1. 애플리케이션 컴포넌트로부터 네트워크 요청을 수신하는 단계;
    프로세서 회로를 사용하여, 네트워크 리소스와 매칭되는 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 복수의 제로 레이팅 재기록 규칙과 비교하는 단계;
    식별된 제로 레이팅 재기록 규칙을 사용하여 네트워크 요청을 네트워크 리소스를 위한 제로 레이팅 네트워크 요청으로 변환하는 단계; 및
    네트워크 인터페이스 컨트롤러를 사용하여 제로 레이팅 네트워크 요청을 수행하는 단계를 포함하고,
    네트워크 요청은 네트워크 리소스에 액세스하기 위한 것인 컴퓨터 구현 방법.
  2. 청구항 1에 있어서,
    네트워크 리소스는 네트워크 서버 상에서 호스팅되고, 네트워크 리소스를 복수의 제로 레이팅 재기록 규칙과 비교하는 단계는 도메인 네임과 매칭되는 복수의 도메인 네임 태그 중 한 도메인 네임 태그와 연관되는 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 위한 도메인 네임을 복수의 제로 레이팅 재기록 규칙을 위한 복수의 도메인 네임 태그와 매칭시키는 단계를 포함하고, 네트워크 요청을 네트워크 리소스를 위한 제로 레이팅 네트워크 요청으로 변환하는 단계는 네트워크 요청을 위한 도메인 네임을 제로 레이팅 네트워크 서버에 대응하는 제로 레이팅 도메인 네임으로 재기록하는 단계를 포함하고, 제로 레이팅 네트워크 요청을 수행하는 단계는 제로 레이팅 네트워크 서버로부터 네트워크 리소스를 요청하는 단계를 포함하는 컴퓨터 구현 방법.
  3. 청구항 1에 있어서,
    제로 레이팅 네트워크 요청은 네트워크 요청으로부터 네트워크 리소스를 위한 도메인 네임을 대체하는 제로 레이팅 도메인 네임을 포함하고,
    방법은:
    데이터 스토어로부터 복수의 제로 레이팅 재기록 규칙을 검색하는 단계; 및
    네트워크 리소스를 위한 도메인 네임과 매칭되는 복수의 제로 레이팅 재기록 규칙 중 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 위한 도메인 네임을 복수의 도메인 네임 패턴 중 하나 이상과 비교하는 단계를 더 포함하고,
    복수의 제로 레이팅 재기록 규칙 각각은 복수의 도메인 네임 패턴 중 한 도메인 네임 패턴과 연관되고,
    네트워크 리소스와 매칭되는 제로 레이팅 재기록 규칙은 네트워크 리소스를 위한 도메인 네임과 매칭되는 것으로 식별되는 제로 레이팅 재기록 규칙에 대응하는 컴퓨터 구현 방법.
  4. 청구항 1에 있어서,
    네트워크 리소스는 웹 리소스를 포함하고, 네트워크 요청은 웹 리소스를 위한 비-제로 레이팅 URL(uniform resource locator)을 포함하고, 제로 레이팅 네트워크 요청은 비-제로 레이팅 URL에 기반하여 생성된 제로 레이팅 URL을 포함하고, 제로 레이팅 URL은 제로 레이팅 웹 서버로 해석되는 컴퓨터 구현 방법.
  5. 청구항 1에 있어서,
    네트워크 리소스가 제로 레이팅이 될 수 있는지 여부를 결정하기 위하여 애플리케이션 컴포넌트로부터 제로 레이팅 체크 요청을 수신하는 단계;
    네트워크 리소스와 매칭되는 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 복수의 제로 레이팅 재기록 규칙과 비교하는 단계; 및
    제로 레이팅 재기록 규칙을 식별하는 것에 기반하여 네트워크 리소스가 제로 레이팅이 될 수 있다고 애플리케이션 컴포넌트에게 통지하는 단계를 포함하고,
    제로 레이팅 체크 요청은 네트워크 요청을 수신하기 전에 수신되는 컴퓨터 구현 방법.
  6. 청구항 4에 있어서,
    제로 레이팅 서버로부터 복수의 제로 레이팅 재기록 규칙을 수신하는 단계를 더 포함하고,
    복수의 제로 레이팅 재기록 규칙은 네트워크 액세스 컴포넌트에 의해 유지되고, 제로 레이팅 서버는 네트워크 액세스 컴포넌트의 초기화 동안 복수의 제로 레이팅 재기록 규칙의 초기 검색을 위하여 네트워크 액세스 컴포넌트로 사전 구성되는 컴퓨터 구현 방법.
  7. 청구항 1에 있어서,
    제로 레이팅 서버로부터 제로 레이팅 액세스 보안 토큰을 수신하는 단계; 및
    제로 레이팅 액세스 보안 토큰을 사용하여 제로 레이팅 네트워크 요청을 수행하는 단계를 포함하는 컴퓨터 구현 방법.
  8. 모바일 장치 상의 프로세서;
    복수의 제로 레이팅 재기록 규칙을 저장하도록 동작하는 데이터 스토어; 및
    프로세서 회로 상에서 모바일 장치 상의 애플리케이션 컴포넌트로부터 네트워크 요청을 수신하고; 네트워크 리소스와 매칭되는 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 복수의 제로 레이팅 재기록 규칙과 비교하고; 식별된 제로 레이팅 재기록 규칙을 사용하여 네트워크 요청을 네트워크 리소스를 위한 제로 레이팅 네트워크 요청으로 변환하고; 및 제로 레이팅 네트워크 요청을 수행하도록 동작하는 네트워크 액세스 컴포넌트를 포함하고,
    네트워크 요청은 네트워크 리소스에 액세스하기 위한 것인 장치.
  9. 청구항 8에 있어서,
    네트워크 리소스는 네트워크 서버 상에서 호스팅되고, 네트워크 리소스를 복수의 제로 레이팅 재기록 규칙과 비교하는 것은 도메인 네임과 매칭되는 복수의 도메인 네임 태그 중 한 도메인 네임 태그와 연관되는 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 위한 도메인 네임을 복수의 제로 레이팅 재기록 규칙을 위한 복수의 도메인 네임 태그와 매칭시키는 것을 포함하고, 네트워크 요청을 네트워크 리소스를 위한 제로 레이팅 네트워크 요청으로 변환하는 것은 네트워크 요청을 위한 도메인 네임을 제로 레이팅 네트워크 서버에 대응하는 제로 레이팅 도메인 네임으로 재기록하는 것을 포함하고, 제로 레이팅 네트워크 요청을 수행하는 것은 제로 레이팅 네트워크 서버로부터 네트워크 리소스를 요청하는 것을 포함하는 장치.
  10. 청구항 8에 있어서,
    제로 레이팅 네트워크 요청은 네트워크 요청으로부터 네트워크 리소스를 위한 도메인 네임을 대체하는 제로 레이팅 도메인 네임을 포함하고, 네트워크 액세스 컴포넌트는 데이터 스토어로부터 복수의 제로 레이팅 재기록 규칙을 검색하고; 및 네트워크 리소스를 위한 도메인 네임과 매칭되는 복수의 제로 레이팅 재기록 규칙 중 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 위한 도메인 네임을 복수의 도메인 네임 패턴 중 하나 이상과 비교하도록 더 동작하고, 복수의 제로 레이팅 재기록 규칙 각각은 복수의 도메인 네임 패턴 중 한 도메인 네임 패턴과 연관되고, 네트워크 리소스와 매칭되는 제로 레이팅 재기록 규칙은 네트워크 리소스를 위한 도메인 네임과 매칭되는 것으로 식별되는 제로 레이팅 재기록 규칙에 대응하는 장치.
  11. 청구항 8에 있어서,
    네트워크 리소스가 제로 레이팅이 될 수 있는지 여부를 결정하기 위하여 애플리케이션 컴포넌트로부터 제로 레이팅 체크 요청을 수신하고; 네트워크 리소스와 매칭되는 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 복수의 제로 레이팅 재기록 규칙과 비교하고; 및 제로 레이팅 재기록 규칙을 식별하는 것에 기반하여 네트워크 리소스가 제로 레이팅이 될 수 있다고 애플리케이션 컴포넌트에게 통지하도록 동작하는 네트워크 액세스 컴포넌트를 더 포함하고,
    제로 레이팅 체크 요청은 네트워크 요청을 수신하기 전에 수신되는 장치.
  12. 청구항 8에 있어서,
    제로 레이팅 서버로부터 복수의 제로 레이팅 재기록 규칙을 수신하도록 동작하는 네트워크 액세스 컴포넌트를 더 포함하는 장치.
  13. 청구항 12에 있어서,
    제로 레이팅 서버는 네트워크 액세스 컴포넌트의 초기화 동안 복수의 제로 레이팅 재기록 규칙의 초기 검색을 위하여 네트워크 액세스 컴포넌트로 사전 구성되는 장치.
  14. 청구항 8에 있어서,
    제로 레이팅 서버로부터 제로 레이팅 액세스 보안 토큰을 수신하고; 및 제로 레이팅 액세스 보안 토큰을 사용하여 제로 레이팅 네트워크 요청을 수행하도록 동작하는 네트워크 액세스 컴포넌트를 더 포함하는 장치.
  15. 명령어를 포함하는 적어도 하나의 컴퓨터-판독가능한 저장 매체로서, 명령어는 실행될 때 시스템으로 하여금:
    애플리케이션 컴포넌트로부터 네트워크 요청을 수신하고;
    네트워크 리소스와 매칭되는 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 복수의 제로 레이팅 재기록 규칙과 비교하고;
    식별된 제로 레이팅 재기록 규칙을 사용하여 네트워크 요청을 네트워크 리소스를 위한 제로 레이팅 네트워크 요청으로 변환하고; 및
    제로 레이팅 네트워크 요청을 수행하도록 야기하고,
    네트워크 요청은 네트워크 리소스에 액세스하기 위한 것인 컴퓨터-판독가능한 저장 매체.
  16. 청구항 15에 있어서,
    네트워크 리소스는 네트워크 서버 상에서 호스팅되고, 네트워크 리소스를 복수의 제로 레이팅 재기록 규칙과 비교하는 것은 도메인 네임과 매칭되는 복수의 도메인 네임 태그 중 한 도메인 네임 태그와 연관되는 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 위한 도메인 네임을 복수의 제로 레이팅 재기록 규칙을 위한 복수의 도메인 네임 태그와 매칭시키는 것을 포함하고, 네트워크 요청을 네트워크 리소스를 위한 제로 레이팅 네트워크 요청으로 변환하는 것은 네트워크 요청을 위한 도메인 네임을 제로 레이팅 네트워크 서버에 대응하는 제로 레이팅 도메인 네임으로 재기록하는 것을 포함하고, 제로 레이팅 네트워크 요청을 수행하는 것은 제로 레이팅 네트워크 서버로부터 네트워크 리소스를 요청하는 것을 포함하는 컴퓨터-판독가능한 저장 매체.
  17. 청구항 15에 있어서,
    제로 레이팅 네트워크 요청은 네트워크 요청으로부터 네트워크 리소스를 위한 도메인 네임을 대체하는 제로 레이팅 도메인 네임을 포함하고,
    데이터 스토어로부터 복수의 제로 레이팅 재기록 규칙을 검색하는 것; 및
    네트워크 리소스를 위한 도메인 네임과 매칭되는 복수의 제로 레이팅 재기록 규칙 중 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 위한 도메인 네임을 복수의 도메인 네임 패턴 중 하나 이상과 비교하는 것을 더 포함하고,
    복수의 제로 레이팅 재기록 규칙 각각은 복수의 도메인 네임 패턴 중 한 도메인 네임 패턴과 연관되고,
    네트워크 리소스와 매칭되는 제로 레이팅 재기록 규칙은 네트워크 리소스를 위한 도메인 네임과 매칭되는 것으로 식별되는 제로 레이팅 재기록 규칙에 대응하는 컴퓨터-판독가능한 저장 매체.
  18. 청구항 15에 있어서,
    실행될 때 시스템으로 하여금:
    네트워크 리소스가 제로 레이팅이 될 수 있는지 여부를 결정하기 위하여 애플리케이션 컴포넌트로부터 제로 레이팅 체크 요청을 수신하고;
    네트워크 리소스와 매칭되는 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 복수의 제로 레이팅 재기록 규칙과 비교하고; 및
    제로 레이팅 재기록 규칙을 식별하는 것에 기반하여 네트워크 리소스가 제로 레이팅이 될 수 있다고 애플리케이션 컴포넌트에게 통지하도록 야기하는 명령어를 더 포함하고,
    제로 레이팅 체크 요청은 네트워크 요청을 수신하기 전에 수신되는 컴퓨터-판독가능한 저장 매체.
  19. 청구항 15에 있어서,
    실행될 때 시스템으로 하여금:
    제로 레이팅 서버로부터 복수의 제로 레이팅 재기록 규칙을 수신하고; 및
    기정의된 스케줄로 제로 레이팅 서버를 사용하여 복수의 제로 레이팅 재기록 규칙을 업데이트하도록 야기하는 명령어를 더 포함하는 컴퓨터-판독가능한 저장 매체.
  20. 청구항 15에 있어서,
    실행될 때 시스템으로 하여금:
    제로 레이팅 서버로부터 제로 레이팅 액세스 보안 토큰을 수신하고; 및
    제로 레이팅 액세스 보안 토큰을 사용하여 제로 레이팅 네트워크 요청을 수행하도록 야기하는 명령어를 더 포함하는 컴퓨터-판독가능한 저장 매체.
  21. 애플리케이션 컴포넌트로부터 네트워크 요청을 수신하는 단계;
    네트워크 리소스와 매칭되는 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 복수의 제로 레이팅 재기록 규칙과 비교하는 단계;
    식별된 제로 레이팅 재기록 규칙을 사용하여 네트워크 요청을 네트워크 리소스를 위한 제로 레이팅 네트워크 요청으로 변환하는 단계; 및
    제로 레이팅 네트워크 요청을 수행하는 단계를 포함하고,
    네트워크 요청은 네트워크 리소스에 액세스하기 위한 것인 컴퓨터 구현 방법.
  22. 청구항 21에 있어서,
    네트워크 리소스는 웹 리소스를 포함하고, 네트워크 요청은 웹 리소스를 위한 비-제로 레이팅 URL(uniform resource locator)을 포함하고, 제로 레이팅 네트워크 요청은 비-제로 레이팅 URL에 기반하여 생성된 제로 레이팅 URL을 포함하고, 제로 레이팅 URL은 제로 레이팅 웹 서버로 해석되는 컴퓨터 구현 방법.
  23. 청구항 21 또는 청구항 22에 있어서,
    네트워크 리소스가 제로 레이팅이 될 수 있는지 여부를 결정하기 위하여 애플리케이션 컴포넌트로부터 제로 레이팅 체크 요청을 수신하는 단계;
    네트워크 리소스와 매칭되는 제로 레이팅 재기록 규칙을 식별하기 위하여 네트워크 리소스를 복수의 제로 레이팅 재기록 규칙과 비교하는 단계; 및
    제로 레이팅 재기록 규칙을 식별하는 것에 기반하여 네트워크 리소스가 제로 레이팅이 될 수 있다고 애플리케이션 컴포넌트에게 통지하는 단계를 포함하고,
    제로 레이팅 체크 요청은 네트워크 요청을 수신하기 전에 수신되는 컴퓨터 구현 방법.
  24. 청구항 21 내지 청구항 23 중 어느 하나의 항에 있어서,
    제로 레이팅 서버로부터 복수의 제로 레이팅 재기록 규칙을 수신하는 단계를 더 포함하는 컴퓨터 구현 방법.
  25. 청구항 24에 있어서,
    복수의 제로 레이팅 재기록 규칙은 네트워크 액세스 컴포넌트에 의해 유지되고, 제로 레이팅 서버는 네트워크 액세스 컴포넌트의 초기화 동안 복수의 제로 레이팅 재기록 규칙의 초기 검색을 위하여 네트워크 액세스 컴포넌트로 사전 구성되는 컴퓨터 구현 방법.
  26. 청구항 21 내지 청구항 25 중 어느 하나의 항에 있어서,
    기정의된 스케줄로 제로 레이팅 서버를 사용하여 복수의 제로 레이팅 재기록 규칙을 업데이트하는 단계를 포함하는 컴퓨터 구현 방법.
  27. 청구항 21 내지 청구항 26 중 어느 하나의 항에 있어서,
    제로 레이팅 서버로부터 제로 레이팅 액세스 보안 토큰을 수신하는 단계; 및
    제로 레이팅 액세스 보안 토큰을 사용하여 제로 레이팅 네트워크 요청을 수행하는 단계를 포함하는 컴퓨터 구현 방법.
  28. 바람직하게는 청구항 21 내지 청구항 27 중 어느 하나의 항에 있어서,
    애플리케이션 컴포넌트로부터 네트워크 요청을 수신하는 단계;
    도메인 네임과 매칭되는 복수의 도메인 네임 태그 중 한 도메인 네임 태그와 연관되는 제로 레이팅 재기록 규칙을 식별하기 위하여 프로세서 회로를 사용하여 네트워크 리소스를 위한 도메인 네임 태그를 복수의 제로 레이팅 재기록 규칙을 위한 복수의 도메인 네임 태그와 매칭시키는 단계;
    식별된 제로 레이팅 재기록 규칙을 사용하여 네트워크 요청을 위한 도메인 네임을 제로 레이팅 네트워크 서버에 대응하는 제로 레이팅 도메인 네임으로 재기록하는 단계; 및
    네트워크 인터페이스 컴포넌트를 사용하여 제로 레이팅 네트워크 서버로부터 네트워크 리소스를 요청하는 단계를 포함하고,
    네트워크 요청은 네트워크 서버 상에서 호스팅되는 네트워크 리소스에 액세스하기 위한 것인 컴퓨터 구현 방법.
  29. 바람직하게는 청구항 21 내지 청구항 27 중 어느 하나의 항에 있어서,
    애플리케이션 컴포넌트로부터 네트워크 요청을 수신하는 단계;
    데이터 스토어로부터 복수의 제로 레이팅 재기록 규칙을 검색하는 단계;
    네트워크 리소스를 위한 도메인 네임과 매칭되는 복수의 제로 레이팅 재기록 규칙 중 한 제로 레이팅 재기록 규칙을 식별하기 위하여 프로세서 회로를 사용하여, 네트워크 리소스를 위한 도메인 네임을 복수의 도메인 네임 패턴 중 하나 이상과 비교하는 단계;
    식별된 제로 레이팅 재기록 규칙을 사용하여 네트워크 요청을 네트워크 리소스를 위한 제로 레이팅 네트워크 요청으로 변환하는 단계; 및
    네트워크 인터페이스 컴포넌트를 사용하여 제로 레이팅 네트워크 요청을 수행하는 단계를 포함하고,
    네트워크 요청은 네트워크 리소스에 액세스하기 위한 것이고,
    복수의 제로 레이팅 재기록 규칙 각각은 복수의 도메인 네임 패턴 중 한 도메인 네임 패턴과 연관되고,
    제로 레이팅 네트워크 요청은 네트워크 요청을 위한 도메인 네임을 대체하는 제로 레이팅 도메인 네임을 포함하는 컴퓨터 구현 방법.
  30. 소프트웨어를 포함하는 하나 이상의 컴퓨터-판독가능한 비-일시적 저장 매체로서,
    소프트웨어는 실행될 때 청구항 21 내지 청구항 29 중 어느 하나의 항에 따른 방법을 수행하도록 동작하는 컴퓨터-판독가능한 비-일시적 저장 매체.
  31. 하나 이상의 프로세서; 및 프로세서와 연결되고 프로세서에 의해 실행가능한 명령어를 포함하는 적어도 하나의 메모리를 포함하고, 프로세서는 명령어를 실행할 때 청구항 21 내지 청구항 29 중 어느 하나의 항에 따른 방법을 수행하도록 동작하는 시스템.
  32. 바람직하게는 컴퓨터-판독가능한 비-일시적 저장 매체를 포함하고, 컴퓨터-판독가능한 비-일시적 저장 매체는 데이터 프로세싱 시스템 상에서 실행될 때 청구항 21 내지 청구항 29 중 어느 하나의 항에 따른 방법을 수행하도록 동작하는 컴퓨터 프로그램 제품.
KR1020177016269A 2014-11-19 2014-11-20 네트워크 리소스 요청을 제로 레이팅 네트워크 요청으로 변환하는 기술 KR102245358B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/548,043 US9584671B2 (en) 2014-11-19 2014-11-19 Techniques to transform network resource requests to zero rated network requests
US14/548,043 2014-11-19
PCT/US2014/066697 WO2016081003A1 (en) 2014-11-19 2014-11-20 Techniques to transform network resource requests to zero rated network requests

Publications (2)

Publication Number Publication Date
KR20180104268A true KR20180104268A (ko) 2018-09-20
KR102245358B1 KR102245358B1 (ko) 2021-04-29

Family

ID=55962821

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177016269A KR102245358B1 (ko) 2014-11-19 2014-11-20 네트워크 리소스 요청을 제로 레이팅 네트워크 요청으로 변환하는 기술

Country Status (10)

Country Link
US (3) US9584671B2 (ko)
JP (1) JP6417046B2 (ko)
KR (1) KR102245358B1 (ko)
CN (1) CN108307680A (ko)
AU (1) AU2014412020B2 (ko)
BR (1) BR112017010626A2 (ko)
CA (1) CA2967270A1 (ko)
IL (1) IL252229A0 (ko)
MX (1) MX365664B (ko)
WO (1) WO2016081003A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10805110B2 (en) * 2015-03-27 2020-10-13 Akamai Technologies, Inc. Traffic delivery using anycast and end user-based mapping in an overlay network
US10256985B2 (en) * 2016-04-22 2019-04-09 Tata Communication (America) Inc. System and method for managing and selecting from multiple mobile data top-up product options
US10021204B2 (en) * 2016-07-12 2018-07-10 Ca, Inc. Test proxy between client applications and web services
CN110633195B (zh) * 2019-09-29 2023-01-03 北京博睿宏远数据科技股份有限公司 一种性能数据的展示方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001326756A (ja) * 2000-03-10 2001-11-22 Takeo Koike インターネット接続システム
US7058633B1 (en) * 2002-09-09 2006-06-06 Cisco Technology, Inc. System and method for generalized URL-rewriting
US7701870B2 (en) * 2007-12-28 2010-04-20 United States Cellular Corporation Zero rating in wireless prepaid communications network
US20120151010A1 (en) * 2010-12-13 2012-06-14 Hon Hai Precision Industry Co., Ltd. Electronic device and method for playing media content
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

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030152039A1 (en) * 2002-02-08 2003-08-14 Timothy Roberts Customer billing in a communications network
US8606704B2 (en) * 2002-02-08 2013-12-10 Apple Inc. Customer billing in a communications network
GB0321416D0 (en) * 2003-09-12 2003-10-15 Ericsson Telefon Ab L M Charging for multimedia services
US8195783B2 (en) * 2006-05-26 2012-06-05 Intellectual Ventures Ii Llc Flexible rating rules and calender rules implemented in a real-time charging system for a telecommunications network
US10057775B2 (en) 2009-01-28 2018-08-21 Headwater Research Llc Virtualized policy and charging system
US20140032733A1 (en) * 2011-10-11 2014-01-30 Citrix Systems, Inc. Policy-Based Application Management

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001326756A (ja) * 2000-03-10 2001-11-22 Takeo Koike インターネット接続システム
US7058633B1 (en) * 2002-09-09 2006-06-06 Cisco Technology, Inc. System and method for generalized URL-rewriting
US7701870B2 (en) * 2007-12-28 2010-04-20 United States Cellular Corporation Zero rating in wireless prepaid communications network
US20120151010A1 (en) * 2010-12-13 2012-06-14 Hon Hai Precision Industry Co., Ltd. Electronic device and method for playing media content
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

Also Published As

Publication number Publication date
US9755844B2 (en) 2017-09-05
KR102245358B1 (ko) 2021-04-29
CA2967270A1 (en) 2016-05-26
JP2018503889A (ja) 2018-02-08
US20160142553A1 (en) 2016-05-19
US9584671B2 (en) 2017-02-28
BR112017010626A2 (pt) 2017-12-26
CN108307680A (zh) 2018-07-20
MX365664B (es) 2019-06-10
WO2016081003A1 (en) 2016-05-26
MX2017006669A (es) 2017-10-04
US20170134179A1 (en) 2017-05-11
IL252229A0 (en) 2017-07-31
US9832322B1 (en) 2017-11-28
AU2014412020A1 (en) 2017-07-06
US20170331959A1 (en) 2017-11-16
JP6417046B2 (ja) 2018-10-31
AU2014412020B2 (en) 2019-07-18

Similar Documents

Publication Publication Date Title
US9760723B2 (en) Techniques for in-app user data authorization
US9992285B2 (en) Techniques to manage state information for a web service
KR102379895B1 (ko) 그래프 기반 자연어 프로세싱을 위한 기술
US11095648B2 (en) Dashboard as remote computing services
US20140282943A1 (en) Universal management of user profiles
CA2915619A1 (en) Method and apparatus for customized software development kit (sdk) generation
US8874717B2 (en) Techniques to discover services recursively in a distributed environment
US9832322B1 (en) Techniques to transform network resource requests to zero rated network requests
US11882154B2 (en) Template representation of security resources
US10382914B2 (en) Techniques to leverage data from mobile headers
US10469575B2 (en) Techniques for contact exporting
US20140244719A1 (en) Techniques To Manage Platform Migrations
EP2871802B1 (en) Techniques to rate-adjust data usage with a virtual private network
EP3023891B1 (en) Techniques to transform network resource requests to zero rated network requests
US9021093B2 (en) Managing and securing manageable resources in stateless web server architecture using servlet filters
CN116628640A (zh) 用户数据资产的管理方法及装置

Legal Events

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