KR20150095791A - 통신 시스템에서의 클라이언트 디바이스의 웹 브라우저 상의 리다이렉트된 웹 리소스의 로딩 - Google Patents

통신 시스템에서의 클라이언트 디바이스의 웹 브라우저 상의 리다이렉트된 웹 리소스의 로딩 Download PDF

Info

Publication number
KR20150095791A
KR20150095791A KR1020157018355A KR20157018355A KR20150095791A KR 20150095791 A KR20150095791 A KR 20150095791A KR 1020157018355 A KR1020157018355 A KR 1020157018355A KR 20157018355 A KR20157018355 A KR 20157018355A KR 20150095791 A KR20150095791 A KR 20150095791A
Authority
KR
South Korea
Prior art keywords
web resource
client device
request
alternate
proxy server
Prior art date
Application number
KR1020157018355A
Other languages
English (en)
Inventor
조슈아 허쉬버그
가브리엘 베렐레지스
에이탄 미즈로츠키
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20150095791A publication Critical patent/KR20150095791A/ko

Links

Images

Classifications

    • 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/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • H04L67/2814
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2871Implementation details of single intermediate entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

일 실시형태에서, 클라이언트 디바이스는 초기 웹 리소스에 대한 요청을 프록시 서버에 송신한다. 프록시 서버는 클라이언트 디바이스의 요청에 응답하여 클라이언트 디바이스를 대신하여 초기 웹 리소스를 요청한다. 프록시 서버는 그 후에, 클라이언트 디바이스와의 상호작용과는 독립적이고 프록시 서버가 웹 리소스 콘텐츠를 획득하게 하는 (하나 이상의 리다이렉트들을 수반하는) 웹 리소스 리다이렉션 프로시저를 실행한다. 프록시 서버는 클라이언트 디바이스 상의 프록시 클라이언트 애플리케이션과 모바일 웹 브라우저 사이에서 웹 리소스 리다이렉션 프로시저를 클라이언트 디바이스 상에 시뮬레이션하라는 명령들과 함께 웹 리소스 콘텐츠를 클라이언트 디바이스 상의 프록시 클라이언트 애플리케이션에 전달한다. 클라이언트 디바이스 상의 프록시 클라이언트 애플리케이션은 그 후에, 명령받은대로 프록시 서버에서 발생한 웹 리소스 리다이렉션 프로시저를 시뮬레이션한다.

Description

통신 시스템에서의 클라이언트 디바이스의 웹 브라우저 상의 리다이렉트된 웹 리소스의 로딩{LOADING A RE-DIRECTED WEB RESOURCE ON A WEB BROWSER OF A CLIENT DEVICE IN A COMMUNICATIONS SYSTEM}
35 U.S.C.§119 하의 우선권 주장
본 특허출원은, "LOADING A RE-DIRECTED WEB PAGE ON A WEB BROWSER OF A CLIENT DEVICE IN A COMMUNICATIONS SYSTEM" 의 명칭으로 본 출원과 동일한 발명자들에 의해 2012년 12월 13일자로 출원되었고 본 양수인에게 양도되었으며 여기에 그 전체가 참조로 명백히 포함된 미국 가출원 제61/736,981호에 대한 우선권을 주장한다.
기술분야
본 발명의 실시형태들은 통신 시스템에서 클라이언트 디바이스의 웹 브라우저 상에 리다이렉트된 (re-directed) 웹 리소스를 로딩하는 것에 관한 것이다.
무선 통신 시스템들은 제 1 세대 아날로그 무선 전화 서비스 (1G), (중간의 2.5G 및 2.75G 네트워크들을 포함한) 제 2 세대 (2G) 디지털 무선 전화 서비스 및 제 3 세대 (3G) 고속 데이터, 인터넷 가능 무선 서비스를 포함하는 다양한 세대를 거쳐 발달해 왔다. 현재, 셀룰러 및 개인 통신 서비스 (Personal Communications Service; PCS) 시스템들을 포함하여, 많은 상이한 타입의 무선 통신 시스템들이 사용되고 있다. 알려진 셀룰러 시스템들의 예로는, 셀룰러 아날로그 어드밴스드 이동 전화 시스템 (AMPS), 및 코드 분할 다중 접속 (CDMA), 주파수 분할 다중 접속 (FDMA), 시분할 다중 접속 (TDMA), TDMA 의 GSM (Global System for Mobile access) 변형, 그리고 TDMA 기술과 CDMA 기술 양쪽을 사용하는 더 새로운 하이브리드 디지털 통신 시스템들에 기초하는 디지털 셀룰러 시스템들을 포함한다.
상술된 통신 시스템들 또는 다른 타입들의 액세스 네트워크들 (예를 들어, WiFi 등) 을 사용하는 클라이언트 디바이스들 (예를 들어, 휴대폰들과 같은 모바일 디바이스들) 은 인터넷을 통해 하나 이상의 웹 서버들로부터의 웹 페이지들을 로딩하는 웹 브라우징 애플리케이션들을 실행시키는 것이 통상적이다. 웹 페이지의 초기 로딩은 웹 페이지가 주어진 클라이언트 디바이스 상에 로딩될 수 있기 전에 웹 페이지를 제공하는 웹 서버뿐만 아니라 주어진 클라이언트 디바이스에서의 프로세싱 (예를 들어, DNS 레졸루션 (resolution), 웹-페이지 리다이렉션 (redirection) 등) 을 통상적으로 요청할 것이다. 웹-페이지 리다이렉션의 경우, 주어진 클라이언트 디바이스는 통상적으로 웹 서버로부터 초기 웹 페이지를 요청하고, 웹-서버로부터 리다이렉트 커맨드를 수신한 후에, 후속하여 리다이렉트 커맨드에 기초하여 다른 웹 페이지를 요청할 것이다. 이 웹 페이지 리다이렉션 프로시저는 웹 페이지의 로딩을 딜레이시키고, 또한 웹 페이지에 대해 2개의 개별 요청들 (즉, 초기 요청 그리고 그 후에 리다이렉트 요청) 이 발행되기 때문에 부가적인 리소스들을 소모한다.
일 실시형태에서, 클라이언트 디바이스는 초기 웹 리소스에 대한 요청을 프록시 서버에 송신한다. 프록시 서버는 클라이언트 디바이스의 요청에 응답하여 클라이언트 디바이스를 대신하여 초기 웹 리소스를 요청한다. 프록시 서버는 그 후에 클라이언트 디바이스와의 상호작용과는 독립적인 (하나 이상의 리다이렉트들을 수반하는) 웹 리소스 리다이렉션 프로시저를 실행하여 프록시 서버가 웹 리소스 콘텐츠를 획득하게 된다. 프록시 서버는 클라이언트 디바이스 상의 프록시 클라이언트 애플리케이션과 모바일 웹 브라우저 사이에서 웹 리소스 리다이렉션 프로시저를 클라이언트 디바이스 상에 시뮬레이션하라는 명령들과 함께 웹 리소스 콘텐츠를 클라이언트 디바이스 상의 프록시 클라이언트 애플리케이션에 전달한다. 클라이언트 디바이스 상의 프록시 클라이언트 애플리케이션은 그 후에, 명령받은대로 프록시 서버에서 발생한 웹 리소스 리다이렉션 프로시저를 시뮬레이션한다.
본 발명의 실시형태들에 대한 더 완전한 이해 및 그의 많은 부수적인 이점들은, 본 발명의 제한이 아닌 예시를 위해서만 제시되는 첨부 도면들과 관련되어 고려될 때, 다음의 상세한 설명을 참조함으로써 더 잘 이해되는 바처럼 손쉽게 획득될 것이다.
도 1 은 본 발명의 일 실시형태에 따른 무선 통신 시스템의 고레벨 시스템 아키텍처를 예시한 것이다.
도 2a 는 본 발명의 일 실시형태에 따른 클라이언트-서버 아키텍처를 예시한 것이다.
도 2b 는 본 발명의 다른 실시형태에 따른 클라이언트-서버 아키텍처를 예시한 것이다.
도 3 은 본 발명의 실시형태들에 따른 사용자 장비 (UE) 들의 예들을 예시한 것이다.
도 4a 는 본 발명의 일 실시형태에 따른 기능성을 수행하도록 구성된 로직을 포함하는 통신 디바이스를 예시한 것이다.
도 4b 는 본 개시물의 다양한 양태들에 따른 일 예시적인 서버를 예시한 것이다.
도 5 는 클라이언트 디바이스 상의 모바일 웹 브라우저를 통해 웹 페이지를 로딩하는 종래의 프로세스를 예시한 것이다.
도 6 은 클라이언트 디바이스 상의 모바일 브라우저를 통해 웹 페이지를 로딩하는 종래의 프로세스를 예시한 것으로 여기서 HTTP 프록시 서버는 요청된 웹 페이지 대신에 모바일 디바이스에 리다이렉트 웹 페이지를 리턴한다.
도 7a 는 본 발명의 일 실시형태에 따른 웹 페이지에 대한 프록시 리다이렉트 프로시저를 예시한 것이다.
도 7b 는 본 발명의 일 실시형태에 따른 웹 리소스에 대한 프록시 리다이렉트 프로시저를 예시한 것이다.
도 8 은 두 번째로 웹 페이지를 로딩하는 프로세스 동안 도 5 의 프로세스의 계속을 예시한 것이다.
도 9a 는 본 발명의 일 실시형태에 따른 도 7a 의 프로세스의 계속을 예시한 것이다.
도 9b 는 본 발명의 일 실시형태에 따른 도 7b 의 프로세스의 계속을 예시한 것이다.
도 10 및 도 11 은, 본 발명의 일 실시형태에 따라 대체 웹 페이지의 두 번째 (또는 추후) 로딩에 대한 리다이렉트 프로시저 동안 프록시 서버가 대체 또는 리다이렉트 웹 페이지에 대한 쿠키를 획득하게 하는, 도 7a 및 도 9a 의 프로세스들 각각의 변경된 구현을 예시한 것이다.
도 12 및 도 13 은, 본 발명의 일 실시형태에 따라 대체 웹 리소스의 두 번째 (또는 추후) 로딩에 대한 리다이렉트 프로시저 동안 프록시 서버가 대체 또는 리다이렉트 웹 리소스에 대한 쿠키를 획득하게 하는, 도 7b 및 도 9b 의 프로세스들 각각의 변경된 구현을 예시한 것이다.
본 발명의 구체적인 실시형태들에 관한 다음의 설명 및 관련 도면들에, 본 발명의 양태들을 개시한다. 대안적인 실시형태들은 본 발명의 범위로부터 벗어나는 일 없이 안출될 수도 있다. 부가적으로, 본 발명의 관련 세부 사항들을 불명료하게 하지 않기 위해, 잘 알려진 본 발명의 엘리먼트들은 상세히 설명되지 않거나 생략된다.
단어들 "예시적인" 및/또는 "예" 는 "예, 실례, 또는 예시로서 기능하는 것" 을 의미하도록 여기에 사용한다. "예시적인" 및/또는 "예" 로서 여기에 설명되는 임의의 실시형태는 다른 실시형태들에 비해 반드시 바람직하거나 유리한 것으로서 해석될 필요는 없다. 마찬가지로, 용어 "본 발명의 실시형태들" 은 본 발명의 모든 실시형태들이 설명된 특징, 이점 또는 동작 모드를 포함하는 것을 요구하지는 않는다.
또한, 많은 실시형태들이, 예를 들어, 컴퓨팅 디바이스의 엘리먼트들에 의해 수행되는 액션들 (actions) 의 시퀀스들의 관점에서 설명된다. 여기에 설명되는 다양한 액션들은, 특정 회로들 (예를 들어, 주문형 집적 회로들 (ASICs)) 에 의해, 하나 이상의 프로세서들에 의해 실행되는 프로그램 명령들에 의해, 또는 이들 양쪽의 조합에 의해, 수행될 수 있음을 인지할 것이다. 부가적으로, 여기에 설명되는 액션들의 이들 시퀀스는, 실행시 관련 프로세서로 하여금 여기에 설명된 기능성을 수행하게 하는 컴퓨터 명령들의 대응하는 세트가 저장된 임의의 형태의 컴퓨터 판독가능 저장 매체 내에 완전히 구현되는 것으로 고려될 수 있다. 따라서, 본 발명의 다양한 양태들은 다수의 상이한 형태들로 구현할 수도 있으며, 이들 형태들 모두는 청구된 요지의 범위 내에 있는 것으로 고려된다. 부가적으로, 여기에 설명된 실시형태들 각각에 대해, 임의의 그러한 실시형태들의 대응하는 형태는, 예를 들어, 설명된 액션을 수행 "하도록 구성된 로직" 으로서 여기에 설명될 수도 있다.
여기에서 사용자 장비 (UE) 라고 지칭되는 클라이언트 디바이스는 이동식 또는 고정식일 수도 있으며, 무선 액세스 네트워크 (RAN) 와 통신할 수도 있다. 여기에 사용된 바와 같이, 용어 "UE" 는 "액세스 단말기" 또는 "AT", "무선 디바이스", "가입자 디바이스", "가입자 단말기", "가입자 스테이션", "사용자 단말기" 또는 UT, "모바일 단말기", "모바일 스테이션" 및 이들의 변형들로 상호교환가능하게 지칭될 수도 있다. 일반적으로, UE들은 RAN 을 통해 코어 네트워크와 통신할 수 있으며, 코어 네트워크를 통해 UE들은 인터넷과 같은 외부 네트워크들과 연결될 수 있다. 물론, 예컨대 유선 액세스 네트워크들, (예를 들어, IEEE 802.11 등에 기초한) WiFi 네트워크들 등을 통해 코어 네트워크 및/또는 인터넷에 연결하는 다른 메커니즘들이 또한 UE들에 대해 가능하다. UE들은, PC 카드들, 콤팩트 플래시 디바이스들, 외부 또는 내부 모뎀들, 무선 또는 유선 전화기들 등을 포함하지만 이들로 제한되지 않는 다수의 타입들의 디바이스들 중 임의의 디바이스에 의해 구현될 수 있다. UE들이 신호들을 RAN 에 전송할 수 있는 통신 링크는 업링크 채널 (예를 들어, 역방향 트래픽 채널, 역방향 제어 채널, 액세스 채널 등) 로 지칭된다. RAN 이 신호들을 UE들에 전송할 수 있는 통신 링크는 다운링크 또는 순방향 링크 채널 (예를 들어, 페이징 채널, 제어 채널, 브로드캐스트 채널, 순방향 트래픽 채널 등) 로 지칭된다. 여기에 사용된 바와 같이, 용어 트래픽 채널 (TCH) 은 업링크/역방향 또는 다운링크/순방향 트래픽 채널 중 어느 하나를 지칭할 수 있다.
도 1 은 본 발명의 일 실시형태에 따른 무선 통신 시스템 (100) 의 고레벨 시스템 아키텍처를 예시한 것이다. 무선 통신 시스템 (100) 은 UE들 (1...N) 을 포함한다. UE들 (1...N) 은 셀룰러 전화기들, 개인 휴대 정보 단말기 (PDAs), 페이저들, 랩톱 컴퓨터, 데스크톱 컴퓨터 등을 포함할 수 있다. 예를 들어, 도 1 에서, UE들 (1...2) 은 셀룰러 통화 폰들로서 예시되고, UE들 (3...5) 은 셀룰러 터치스크린 폰들 또는 스마트 폰들로서 예시되며, UE (N) 는 데스크톱 컴퓨터 또는 PC 로서 예시된다.
도 1 을 참조하면, UE들 (1...N) 은 공중 인터페이스들 (104, 106, 108) 및/또는 다이렉트 유선 연결로서 도 1 에 도시된 물리적 통신 인터페이스 또는 계층을 통해 액세스 네트워크 (예를 들어, RAN (120), 액세스 포인트 (125) 등) 와 통신하도록 구성된다. 공중 인터페이스들 (104 및 106) 은 주어진 셀룰러 통신 프로토콜 (예를 들어, CDMA, EVDO, eHRPD, GSM, EDGE, W-CDMA, LTE 등) 을 준수할 수 있는 한편, 공중 인터페이스 (108) 는 무선 IP 프로토콜 (예를 들어, IEEE 802.11) 을 준수할 수 있다. RAN (120) 은 공중 인터페이스들 (104 및 106) 과 같은 공중 인터페이스들을 통해 UE들을 서빙하는 복수의 액세스 포인트들을 포함한다. RAN (120) 내의 액세스 포인트들은 액세스 노드들 또는 AN들, 액세스 포인트들 또는 AP들, 기지국들 또는 BS들, 노드 B들, eNode B들 등으로 지칭될 수 있다. 이들 액세스 포인트들은 지상 액세스 포인트들 (또는 지상 스테이션들), 또는 위성 액세스 포인트들일 수 있다. RAN (120) 은, RAN (120) 에 의해 서빙되는 UE들과 RAN (120) 또는 상이한 RAN 에 의해 함께 서빙되는 다른 UE들 사이의 회선 교환 (CS) 호들을 브리징 (bridging) 하는 것을 포함하는 다양한 기능들을 수행할 수 있고, 인터넷 (175) 과 같은 외부 네트워크들과의 패킷-교환 (PS) 데이터의 교환을 또한 중재할 수 있는 코어 네트워크 (140) 에 연결하도록 구성된다. 인터넷 (175) 은 다수의 라우팅 에이전트들 및 프로세싱 에이전트들 (편의성을 위해 도 1에 도시되지 않음) 을 포함한다. 도 1 에서, UE (N) 는 인터넷 (175) 에 직접 연결하는 것 (즉, 예컨대 WiFi 또는 802.11-기반 네트워크의 이더넷 연결을 통해 코어 네트워크 (140) 로부터 분리된 것) 으로 도시된다. 그에 의해, 인터넷 (175) 은 코어 네트워크 (140) 를 통해 UE (N) 와 UE들 (1...N) 사이의 패킷-교환 데이터 통신들을 브리징하도록 기능할 수 있다. RAN (120) 으로부터 분리된 액세스 포인트 (125) 가 도 1 에 또한 도시된다. 액세스 포인트 (125) 는, (예를 들어, FiOS, 케이블 모뎀 등과 같은 광 통신 시스템을 통해) 코어 네트워크 (140) 와는 독립적으로 인터넷 (175) 에 연결될 수도 있다. 공중 인터페이스 (108) 는, 일 예에서 IEEE 802.11 과 같은 로컬 무선 연결을 통해 UE (4) 또는 UE (5) 를 서빙할 수도 있다. UE (N) 는, 일 예에서 (예를 들어, 유선 및 무선 연결성 양쪽 모두를 갖는 WiFi 라우터에 대해) 액세스 포인트 (125) 그 자체에 대응할 수 있는, 모뎀 또는 라우터로의 직접 연결과 같은, 인터넷 (175) 으로의 유선 연결을 갖는 데스크톱 컴퓨터로서 도시된다.
도 1 을 참조하면, 서버 (170) 는 인터넷 (175), 코어 네트워크 (140), 또는 이 양쪽 모두에 연결된 것으로 도시된다. 서버 (170) 는, 복수의 구조적으로 분리된 서버들로서 구현될 수 있거나, 또는 대안적으로 단일 서버에 대응할 수도 있다. 더 상세히 후술될 바와 같이, 서버 (170) 는, 코어 네트워크 (140) 및/또는 인터넷 (175) 을 통해 서버 (170) 에 연결할 수 있는 UE들에 대해 하나 이상의 통신 서비스들 (예를 들어, VoIP (Voice-over-Internet Protocol) 세션들, PTT (Push-to-Talk) 세션들, 그룹 통신 세션들, 소셜 네트워킹 서비스들 등) 을 지원하거나, 및/또는 콘텐츠 (예를 들어, 웹 페이지 다운로드들) 를 UE들에게 제공하도록 구성된다.
도 2a 는 본 발명의 일 실시형태에 따른 클라이언트-서버 아키텍처를 예시한 것이다. 도 2a 를 참조하면, 클라이언트 디바이스 (200) (예를 들어, UE) 는 복수의 모바일 애플리케이션들 (1...N) 및 전송 계층 (205) 을 포함한다. 전송 계층 (205) 은 모바일 애플리케이션들 (1...N) 로부터의 데이터를 액세스 네트워크 (220) (예를 들어, RAN (120), AP (125) 등) 로의 송신을 위한 패킷들로 컨버팅하거나 및/또는 상위 계층들, 예컨대 모바일 애플리케이션들 (1...N) 중 하나로의 전달을 위해 액세스 네트워크 (220) 로부터 패킷들을 수신하도록 구성된다. 전송 계층 (205) 은 종래의 송신 제어 프로토콜 (TCP)/인터넷 프로토콜 (IP) 계층 또는 스택 (210) 을 포함한다. 이 기술분야에 알려진 바와 같이, 데이터는 모바일 애플리케이션들 (1...N) 중 임의의 것에 의해 TCP/IP 스택 (210) 에 포워딩된 후에 클라이언트 디바이스 (200) 에 의해 특정된 타깃 서버들 (예를 들어, 페이스북 서버, 넷플릭스 서버 등) 로의 송신을 위해 큐잉되는 데이터 패킷들로 컨버팅될 수 있고, 클라이언트 디바이스 (200) 에 유입하는 데이터 패킷들은 상위 계층들, 예컨대 모바일 애플리케이션들 (1...N) 중 하나로의 전달을 위해 TCP/IP 스택 (210) 에서 프로세싱될 수 있다. 전송 계층 (205) 은 클라이언트 애플리케이션 매니저 애플리케이션 (215) 을 더 포함하고, 이 클라이언트 애플리케이션 매니저 애플리케이션 (215) 은 이하 디바이스 상의 프록시 (proxy on device (POD); 215) 라고 지칭된다. 더욱 상세히 후술되는 바와 같이, POD (215) 는 적어도 모바일 웹 브라우징 애플리케이션을 포함하는 모바일 애플리케이션들 (1...N) 중 하나 이상과 인터페이싱하도록 구성된다. POD (215) 의 기능들 중 하나는 외부 프록시 서버 (225) 와의 협력을 통해 모바일 웹 브라우징 애플리케이션을 대신하여 특수화된 리다이렉트 핸들링 프로시저들 (re-direct handling procedures) 을 실행하는 것이고, 이 외부 프록시 서버 (225) 는 이하 모바일 최적화된 데이터 (Mobile Optimized Data; MOD) 서버 (225) 라고 지칭된다.
도 2a 에서, POD (215) 는 클라이언트 디바이스 (200) 상에 상주하는 각각의 모바일 애플리케이션과 및/또는 모바일 애플리케이션들 (1...N) 에 대한 네트워크 액세스의 각 인스턴스와 반드시 상호작용할 필요는 없다. 그에 의해, 도 2a 는, 애플리케이션 (1) 에 대한 액세스 네트워크 (220) 와 클라이언트 디바이스 (200) 사이에서 교환되는 데이터가 TCP/IP 스택 (210) 에 의해 핸들링되는 한편, 애플리케이션들 (2...N) 에 대한 액세스 네트워크 (220) 와 클라이언트 디바이스 사이에서 교환되는 데이터 (예를 들어, 웹 페이지 요청들의 송신들, 웹 페이지들에 대한 리다이렉트 커맨드들의 수신들 등) 가 TCP/IP 스택 (210) 대신에 POD (215) 에 의해 핸들링되는 일 예를 예시한 것이다.
도 2a 에 추가로 예시된 것은 액세스 네트워크 (220) 이고, 이 액세스 네트워크 (220) 는 RAN (120), AP (125), 유선 이더넷 라우터 또는 모뎀 (미도시) 등에 대응할 수도 있다. 액세스 네트워크 (220) 의 구조적 컴포넌트들 (예를 들어, 노드 B들 등) 이 도 2a 에 상세히 예시되지 않지만, 액세스 네트워크 (220) 는 MOD (225) 를 포함하는 것으로 도시된다. 액세스 네트워크 (220) 는 이어서 인터넷 (175) 에 연결되고, 여기서 애플리케이션 서버들 (170A 및 170B) 및 웹 서버들 (170C 및 170D) 과 같은 다양한 서버들이 액세스될 수 있다. MOD (225) 는, 클라이언트 디바이스 (200) 의 서빙 노드 B (또는 기지국 또는 eNodeB), RNC (또는 BSC) 등을 포함하지만 이들로 제한되지 않는 액세스 네트워크 (220) 의 상이한 네트워크 위치들에서 구현될 수 있다. 더욱 상세히 후술되는 바와 같이, MOD (225) 는 클라이언트 디바이스 (200) 상의 POD (215) 와 인터페이싱하는 것 및 그 위에서 실행하는 하나 이상의 모바일 애플리케이션들을 대신하여 데이터 패킷들을 클라이언트 디바이스 (200) 와 교환하는 것을 담당한다. MOD (220) 는 또한 클라이언트 디바이스 (200) 상의 모바일 웹 브라우징 애플리케이션을 대신하여 웹 페이지 리다이렉트들과 연관된 동작들, 예컨대 (리다이렉트 이전에) 초기 웹 페이지에 대한 요청을 발행한 클라이언트 디바이스 (220) 로 다시 리다이렉트 커맨드들을 포워딩하는 일 없이 타깃 웹 서버로부터의 리다이렉트 커맨드에 응답하는 것을 수행할 수 있다. 웹 페이지 콘텐츠를 제공하는 타깃 웹 서버들과 클라이언트 디바이스 (200) 상에서 실행하는 모바일 웹 브라우징 애플리케이션 양쪽 모두의 관점에서, POD (215) 와 MOD (225) 의 동작들이 투명하여, 임의의 특수화된 MOD-POD 프로시저들이 모바일 웹 브라우징 애플리케이션 및/또는 타깃 웹 서버들의 표준 동작에 대한 변경을 반드시 요구하지는 않는다..
도 2b 는 본 발명의 다른 실시형태에 따른 클라이언트-서버 아키텍처를 예시한 것이다. 도 2b 는 MOD (225) 가, 예를 들어, 인터넷 (175) 을 통해 도달가능한 인터넷 목적지로서, 액세스 네트워크 (220) 의 외측에 포지셔닝된 것을 제외하고는, 도 2a 와 유사하다. 도 2b 는 그 밖에는 도 2a 와 유사하여 간결성을 위해 더 설명되지 않을 것이다.
도 3 은 본 발명의 실시형태들에 따른 UE들 (즉, 클라이언트 디바이스들) 의 예들을 예시한 것이다. 도 3 을 참조하면, UE (300A) 는 통화 전화기로서 예시되고, UE (300B) 는 터치스크린 디바이스 (예를 들어, 스마트 폰, 태블릿 컴퓨터 등) 로서 예시된다. 도 3 에 도시된 바와 같이, UE (300A) 의 외부 케이싱 (casing) 은, 이 기술분야에 알려진 바와 같이, 다른 컴포넌트들 중에서도, 안테나 (305A), 디스플레이 (310A), 적어도 하나의 버튼 (315A) (예를 들어, PTT 버튼, 전력 버튼, 볼륨 제어 버튼 등) 및 키패드 (320A) 로 구성된다. 또한, UE (300B) 의 외부 케이싱은, 이 기술분야에 알려진 바와 같이, 다른 컴포넌트들 중에서도, 터치스크린 디스플레이 (305B), 주변 버튼들 (310B, 315B, 320B 및 325B) (예를 들어, 전력 제어 버튼, 볼륨 또는 진동 제어 버튼, 에어플레인 (airplane) 모드 토글 버튼 등), 적어도 하나의 전면-패널 버튼 (330B) (예를 들어, 홈 버튼 등) 으로 구성된다. UE (300B) 의 일부로서 명시적으로 도시되지 않았지만, UE (300B) 는, WiFi 안테나들, 셀룰러 안테나들, 위성 포지션 시스템 (SPS) 안테나들 (예를 들어, 글로벌 포지셔닝 시스템 (GPS) 안테나들) 등을 포함하지만 이들로 제한되지 않는, UE (300B) 의 외부 케이싱으로 구축되는 하나 이상의 통합된 안테나들 및/또는 하나 이상의 외부 안테나들을 포함할 수 있다.
UE들 (300A 및 300B) 과 같은 UE들의 내부 컴포넌트들이 상이한 하드웨어 구성들로 구현될 수 있지만, 내부 하드웨어 컴포넌트들에 대한 기본적인 고레벨 UE 구성은 도 3 에서 플랫폼 (302) 으로서 도시된다. 플랫폼 (302) 은, 궁극적으로는 코어 네트워크 (140), 인터넷 (175) 및/또는 다른 원격 서버들 및 네트워크들 (예를 들어, 애플리케이션 서버 (170), 웹 URL들 등) 로부터 나올 수도 있는 RAN (120) 으로부터 송신된 소프트웨어 애플리케이션들, 데이터 및/또는 커맨드들을 수신하고 실행할 수 있다. 플랫폼 (302) 은 또한, RAN 상호작용 없이, 로컬로 저장된 애플리케이션들을 독립적으로 실행할 수 있다. 플랫폼 (302) 은 주문형 집적 회로 (ASIC; 308), 또는 다른 프로세서, 마이크로프로세서, 로직 회로, 또는 다른 데이터 프로세싱 디바이스에 동작가능하게 커플링된 트랜시버 (306) 를 포함할 수 있다. ASIC (308) 또는 다른 프로세서는, 무선 디바이스의 메모리 (312) 내의 임의의 상주 프로그램들과 인터페이싱하는 애플리케이션 프로그래밍 인터페이스 (API; 310) 계층을 실행한다. 메모리 (312) 는 판독 전용 또는 랜덤 액세스 메모리 (RAM 및 ROM), EEPROM, 플래시 카드들, 또는 컴퓨터 플랫폼들에 일반적인 임의의 메모리를 포함할 수 있다. 플랫폼 (302) 은 또한, 메모리 (312) 에서 활발히 사용되지 않는 애플리케이션들뿐만 아니라 다른 데이터를 저장할 수 있는 로컬 데이터베이스 (314) 를 포함할 수 있다. 로컬 데이터베이스 (314) 는 통상적으로 플래시 메모리 셀이지만, 자기 매체들, EEPROM, 광학 매체들, 테이프, 소프트 또는 하드 디스크 등과 같이 이 기술분야에 알려진 임의의 2차 저장 디바이스일 수 있다.
이에 따라, 본 발명의 일 실시형태는, 여기에 설명된 기능들을 수행하기 위한 능력을 포함하는 UE (예를 들어, UE (300A, 300B) 등) 를 포함할 수 있다. 당업자들에 의해 인식되는 바와 같이, 다양한 로직 엘리먼트들은 여기에 개시된 기능성을 달성하기 위해 이산 엘리먼트들, 프로세서 상에서 실행되는 소프트웨어 모듈들 또는 소프트웨어와 하드웨어의 임의의 결합으로 구현될 수 있다. 예를 들어, ASIC (308), 메모리 (312), API (310) 및 로컬 데이터베이스 (314) 모두는 여기에 개시된 다양한 기능들을 로딩, 저장 및 실행하기 위해 협력적으로 사용될 수도 있어서, 이들 기능들을 수행하기 위한 로직이 다양한 엘리먼트들에 걸쳐 분산될 수도 있다. 대안적으로, 이 기능성은 하나의 이산 컴포넌트로 통합될 수 있다. 따라서, 도 3 의 UE들 (300A 및 300B) 의 피처들은 단지 예시적인 것으로 고려되어야 하고 본 발명은 예시된 피처들 또는 어레인지먼트 (arrangement) 로 제한되지 않는다.
UE들 (300A 및/또는 300B) 과 RAN (120) 사이의 무선 통신은 CDMA, W-CDMA, 시분할 다중 접속 (TDMA), 주파수 분할 다중 접속 (FDMA), 직교 주파수 분할 멀티플렉싱 (OFDM), GSM, 또는 무선 통신 네트워크 또는 데이터 통신 네트워크에서 사용될 수도 있는 다른 프로토콜들과 같은 상이한 기술들에 기초할 수 있다. 상기에서 설명되고 이 기술분야에 알려진 바와 같이, 음성 송신 및/또는 데이터는 다양한 네트워크들 및 구성들을 사용하여 RAN 으로부터 UE들로 송신될 수 있다. 이에 따라, 여기에 제공된 예시들은 본 발명의 실시형태들을 제한하려고 의도된 것이 아니며 단지 본 발명의 실시형태들의 양태들의 설명을 돕기 위한 것이다.
도 4a 는 기능성을 수행하도록 구성된 로직을 포함하는 통신 디바이스 (400) 를 예시한 것이다. 통신 디바이스 (400) 는, UE들 (300A 또는 300B), RAN (120) 의 임의의 컴포넌트, 코어 네트워크 (140) 의 임의의 컴포넌트, 코어 네트워크 (140) 및/또는 인터넷 (175) 과 커플링된 임의의 컴포넌트들 (예를 들어, 서버 (170)) 등을 포함하지만 이들로 제한되지 않는 상술된 통신 디바이스들 중 임의의 것에 대응할 수 있다. 따라서, 통신 디바이스 (400) 는 도 1 의 무선 통신 시스템 (100) 을 통해 하나 이상의 다른 엔티티들과 통신 (또는 그 엔티티들과의 통신을 용이하게) 하도록 구성된 임의의 전자 디바이스에 대응할 수 있다.
도 4a 를 참조하면, 통신 디바이스 (400) 는 정보를 수신 및/또는 송신하도록 구성된 로직 (405) 을 포함한다. 일 예에서, 통신 디바이스 (400) 가 무선 통신 디바이스 (예컨대, UE (300A 또는 300B), AP (125), RAN (120) 내의 BS, 노드 B 또는 eNodeB 등) 에 대응하면, 정보를 수신 및/또는 송신하도록 구성된 로직 (405) 은 무선 트랜시버 및 관련 하드웨어 (예를 들어, RF 안테나, MODEM, 변조기 및/또는 복조기 등) 와 같은 무선 통신 인터페이스 (예를 들어, 블루투스, WiFi, 2G, CDMA, W-CDMA, 3G, 4G, LTE 등) 를 포함할 수 있다. 다른 예에서, 정보를 수신 및/또는 송신하도록 구성된 로직 (405) 은 유선 통신 인터페이스 (예를 들어, 직렬 연결, USB 또는 방화벽 연결, 인터넷 (175) 이 액세스될 수 있는 이더넷 연결 등) 에 대응할 수 있다. 따라서, 통신 디바이스 (400) 가 몇몇 타입의 네트워크 기반 서버 (예를 들어, 서버 (170) 등) 에 대응하면, 정보를 수신 및/또는 송신하도록 구성된 로직 (405) 은, 일 예에서, 이더넷 프로토콜을 통해 네트워크 기반 서버를 다른 통신 엔티티들에 연결시키는 이더넷 카드에 대응할 수 있다. 추가 예에서, 정보를 수신 및/또는 송신하도록 구성된 로직 (405) 은 통신 디바이스 (400) 가 그의 로컬 환경 (예를 들어, 가속도계, 온도 센서, 광 센서, 로컬 RF 신호들을 모니터링하는 안테나 등) 을 모니터링할 수 있게 하는 센서류 또는 측정 하드웨어를 포함할 수 있다. 정보를 수신 및/또는 송신하도록 구성된 로직 (405) 은 또한, 실행될 때, 정보를 수신 및/또는 송신하도록 구성된 로직 (405) 의 관련 하드웨어가 그의 수신 및/또는 송신 기능(들) 을 수행하게 하는 소프트웨어를 포함할 수 있다. 그러나, 정보를 수신 및/또는 송신하도록 구성된 로직 (405) 은 소프트웨어 단독으로만 대응하는 것은 아니며, 정보를 수신 및/또는 송신하도록 구성된 로직 (405) 은 그의 기능성을 달성하도록 하는 하드웨어에 적어도 부분적으로 의존한다.
도 4a 를 참조하면, 통신 디바이스 (400) 는 정보를 프로세싱하도록 구성된 로직 (410) 을 더 포함한다. 일 예에서, 정보를 프로세싱하도록 구성된 로직 (410) 은 적어도 프로세서를 포함할 수 있다. 정보를 프로세싱하도록 구성된 로직 (410) 에 의해 수행될 수 있는 타입의 프로세싱의 예시적 구현들은 결정들을 수행하는 것, 연결들을 확립하는 것, 상이한 정보 옵션들 사이에서 선택들을 행하는 것, 데이터에 관련된 평가들을 수행하는 것, 통신 디바이스 (400) 에 커플링된 센서들과 상호작용하여 측정 동작들을 수행하는 것, 하나의 포맷으로부터 다른 포맷으로 (예컨대, .wmv 내지 .avi 등과 같은 상이한 프로토콜들 사이에서) 정보를 컨버팅하는 것 등을 포함하지만 이들로 제한되지 않는다. 예를 들어, 정보를 프로세싱하도록 구성된 로직 (410) 에 포함된 프로세서는 범용 프로세서, 디지털 신호 프로세서 (DSP), ASIC, 필드 프로그래밍가능 게이트 어레이 (FPGA) 또는 다른 프로그래밍가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 콤포넌트들, 또는 여기에 설명된 기능들을 수행하도록 설계된 이들의 임의의 조합에 대응할 수 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안적으로는, 이 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합, 예를 들면, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 연계한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성으로 구현될 수도 있다. 정보를 프로세싱하도록 구성된 로직 (410) 은 또한, 실행될 때, 정보를 프로세싱하도록 구성된 로직 (410) 의 관련 하드웨어가 그의 프로세싱 기능(들) 을 수행하게 하는 소프트웨어를 포함할 수 있다. 그러나, 정보를 프로세싱하도록 구성된 로직 (410) 은 소프트웨어 단독으로만 대응하는 것은 아니며, 정보를 프로세싱하도록 구성된 로직 (410) 은 그의 기능성을 달성하도록 하는 하드웨어에 적어도 부분적으로 의존한다.
도 4a 를 참조하면, 통신 디바이스 (400) 는 정보를 저장하도록 구성된 로직 (415) 을 더 포함한다. 일 예에서, 정보를 저장하도록 구성된 로직 (415) 은 적어도 비일시적 메모리 및 관련 하드웨어 (예컨대, 메모리 제어기 등) 를 포함할 수 있다. 예를 들어, 정보를 저장하도록 구성된 로직 (415) 에 포함된 비일시적 메모리는 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 착탈식 디스크, CD-ROM, 또는 이 기술분야에 알려진 임의의 다른 형태의 저장 매체에 대응할 수 있다. 정보를 저장하도록 구성된 로직 (415) 은 또한, 실행될 때, 정보를 저장하도록 구성된 로직 (415) 의 관련 하드웨어가 그의 프로세싱 기능(들) 을 수행하게 하는 소프트웨어를 포함할 수 있다. 그러나, 정보를 저장하도록 구성된 로직 (415) 은 소프트웨어 단독으로만 대응하는 것은 아니며, 정보를 저장하도록 구성된 로직 (415) 은 그의 기능성을 달성하도록 하는 하드웨어에 적어도 부분적으로 의존한다.
도 4a 를 참조하면, 통신 디바이스 (400) 는 정보를 제시하도록 구성된 로직 (420) 을 옵션적으로 더 포함한다. 일 예에서, 정보를 제시하도록 구성된 로직 (420) 은 적어도 출력 디바이스 및 관련 하드웨어를 포함할 수 있다. 예를 들어, 출력 디바이스는 비디오 출력 디바이스 (예를 들어, 디스플레이 스크린, USB, HDMI 와 같이 비디오 정보를 전달할 수 있는 포트 등), 오디오 출력 디바이스 (예를 들어, 스피커들, 마이크로폰 잭, USB, HDMI 와 같은 오디오 정보를 전달할 수 있는 포트 등), 진동 디바이스 및/또는 정보가 출력을 위해 포맷화될 수 있게 하거나 또는 통신 디바이스 (400) 의 사용자 또는 오퍼레이터에 의해 실제로 출력될 수 있게 하는 임의의 다른 디바이스를 포함할 수 있다. 예를 들어, 통신 디바이스 (400) 가 도 3 에 도시된 바와 같은 UE (300A) 또는 UE (300B) 에 대응하면, 정보를 제시하도록 구성된 로직 (420) 은 UE (300A) 의 디스플레이 (310A) 또는 UE (300B) 의 터치스크린 디스플레이 (305B) 를 포함할 수 있다. 추가 예에서, 정보를 제시하도록 구성된 로직 (420) 은 특정 통신 디바이스들, 예컨대, 로컬 사용자를 갖지 않는 네트워크 통신 디바이스들 (예를 들어, 네트워크 스위치들 또는 라우터들, 서버 (170) 와 같은 원격 서버들 등) 에 대해 생략될 수 있다. 정보를 제시하도록 구성된 로직 (420) 은 또한, 실행될 때, 정보를 제시하도록 구성된 로직 (420) 의 관련 하드웨어가 그의 프로세싱 기능(들) 을 수행하게 하는 소프트웨어를 포함할 수 있다. 그러나, 정보를 제시하도록 구성된 로직 (420) 은 소프트웨어 단독으로만 대응하는 것은 아니며, 정보를 제시하도록 구성된 로직 (420) 은 그의 기능성을 달성하도록 하는 하드웨어에 적어도 부분적으로 의존한다.
도 4a 를 참조하면, 통신 디바이스 (400) 는 로컬 사용자 입력을 수신하도록 구성된 로직 (425) 을 옵션적으로 더 포함한다. 일 예에서, 로컬 사용자 입력을 수신하도록 구성된 로직 (425) 은 적어도 사용자 입력 디바이스 및 관련 하드웨어를 포함할 수 있다. 예를 들어, 사용자 입력 디바이스는 버튼들, 터치스크린 디스플레이, 키보드, 카메라, 오디오 입력 디바이스 (예를 들어, 마이크로폰, 또는 마이크로폰 잭 등과 같이 오디오 정보를 전달할 수 있는 포트), 및/또는 정보가 통신 디바이스 (400) 의 사용자 또는 오퍼레이터로부터 수신될 수 있게 하는 임의의 다른 디바이스를 포함할 수 있다. 예를 들어, 통신 디바이스 (400) 가 도 3 에 도시된 바와 같은 UE (300A) 또는 UE (300B) 에 대응하면, 로컬 사용자 입력을 수신하도록 구성된 로직 (425) 은 키패드 (320A), 버튼들 (315A 또는 310B 내지 325B) 중 임의의 것, 터치스크린 디스플레이 (305B) 등을 포함할 수 있다. 추가 예에서, 로컬 사용자 입력을 수신하도록 구성된 로직 (425) 은 특정 통신 디바이스들, 예컨대, 로컬 사용자를 갖지 않는 네트워크 통신 디바이스들 (예를 들어, 네트워크 스위치들 또는 라우터들, 서버 (170) 와 같은 원격 서버들 등) 에 대해 생략될 수 있다. 로컬 사용자 입력을 수신하도록 구성된 로직 (425) 은 또한, 실행될 때, 로컬 사용자 입력을 수신하도록 구성된 로직 (425) 의 관련 하드웨어가 그의 프로세싱 기능(들) 을 수행하게 하는 소프트웨어를 포함할 수 있다. 그러나, 로컬 사용자 입력을 수신하도록 구성된 로직 (425) 은 소프트웨어 단독으로만 대응하는 것은 아니며, 로컬 사용자 입력을 수신하도록 구성된 로직 (425) 은 그의 기능성을 달성하도록 하는 하드웨어에 적어도 부분적으로 의존한다.
도 4a 를 참조하면, 405 내지 425 의 구성된 로직들이 도 4a 에서 분리된 또는 별개의 블록들로서 도시되어 있지만, 각각의 구성된 로직이 그의 기능성을 수행하게 하는 하드웨어 및/또는 소프트웨어는 부분적으로 중첩될 수 있다는 것이 인식될 것이다. 예를 들어, 405 내지 425 의 구성된 로직들의 기능성을 용이하게 하는데 사용되는 임의의 소프트웨어는 정보를 저장하도록 구성된 로직 (415) 과 연관된 비일시적 메모리에 저장되어, 405 내지 425 의 구성된 로직들 각각이 정보를 저장하도록 구성된 로직 (415) 에 의해 저장된 소프트웨어의 동작에 부분적으로 기초하여 그들의 기능성 (즉, 이 경우에 있어서, 소프트웨어 실행) 을 수행하도록 할 수 있다. 마찬가지로, 구성된 로직들 중 하나와 직접적으로 연관된 하드웨어는 다른 구성된 로직들에 의해 이따금 대여되거나 또는 사용될 수 있다. 예를 들어, 정보를 프로세싱하도록 구성된 로직 (410) 의 프로세서는, 정보를 수신 및/또는 송신하도록 구성된 로직 (405) 에 의해 송신되기 전에 데이터를 적절한 포맷으로 포맷화하여, 정보를 수신 및/또는 송신하도록 구성된 로직 (405) 이 정보를 프로세싱하도록 구성된 로직 (410) 과 연관된 하드웨어 (즉, 프로세서) 의 동작에 부분적으로 기초하여 그의 기능성 (즉, 이 경우에 있어서, 데이터의 송신) 을 수행하도록 할 수 있다.
다양한 실시형태들은 도 4b 에 예시된 서버 (400B) 와 같은 다양한 상업적으로 입수가능한 서버 디바이스들 중 임의의 것에 대해 구현될 수도 있다. 일 예에서, 서버 (400B) 는 상술된 IoT 서버 (170) 의 하나의 예시적인 구성에 대응할 수도 있다. 도 4b 에서, 서버 (400B) 는 디스크 드라이브 (403B) 와 같은 대용량 비휘발성 메모리 및 휘발성 메모리 (402B) 에 커플링된 프로세서 (400B) 를 포함한다. 서버 (400B) 는 또한 프로세서 (401B) 에 커플링된 플로피 디스크 드라이브, 콤팩트 디스크 (CD) 또는 DVD 디스크 드라이브 (406B) 를 포함할 수도 있다. 서버 (400B) 는 또한 다른 브로드캐스트 시스템 컴퓨터들 및 서버들 또는 인터넷에 커플링된 로컬 영역 네트워크와 같은 네트워크 (407B) 와의 데이터 연결들을 확립하기 위해 프로세서 (401B) 에 커플링된 네트워크 액세스 포트들 (404B) 을 포함할 수도 있다. 도 4a 의 맥락에서, 도 4b 의 서버 (400B) 는 통신 디바이스 (400) 의 하나의 예시적인 구현을 예시한 것으로, 정보를 수신 및/또는 송신하도록 구성된 로직 (405) 은 네트워크 (407B) 와 통신하기 위해 서버 (400B) 에 의해 사용된 네트워크 액세스 포인트들 (404B) 에 대응하고, 정보를 프로세싱하도록 구성된 로직 (410) 은 프로세서 (401B) 에 대응하며, 정보를 저장하도록 구성된 로직 (415) 은 휘발성 메모리 (402B), 디스크 드라이브 (403B) 및/또는 디스크 드라이브 (406B) 의 임의의 조합에 대응한다는 것이 인식될 것이다. 정보를 제시하도록 구성된 옵션적 로직 (420) 및 로컬 사용자 입력을 수신하도록 구성된 옵션적 로직 (425) 은 도 4b 에 명시적으로 도시되어 있지 않으며 여기에 포함될 수도 있고 또는 포함되지 않을 수도 있다. 따라서, 도 4b 는 도 4a 의 통신 디바이스 (400) 가 서버로서 구현될 수도 있다는 것을 입증하는 것을 돕는다.
일반적으로, 달리 명시적으로 나타내지 않는다면, 본 개시물 전반에 걸쳐 사용된 바와 같은 어구 "~ 하도록 구성된 로직" 은, 하드웨어를 이용하여 적어도 부분적으로 구현되는 실시형태를 인보킹 (invoke) 하도록 의도되며, 하드웨어와 독립적인 소프트웨어-전용 구현들에 매핑하도록 의도되지 않는다. 또한, 다양한 블록들에서, 구성된 로직 또는 "~ 하도록 구성된 로직" 이 특정한 로직 게이트들 또는 엘리먼트들로 제한되는 것이 아니라, 일반적으로는 여기에 설명된 기능성을 (하드웨어 또는 하드웨어와 소프트웨어의 결합을 통해) 수행하기 위한 능력을 지칭한다는 것이 인식될 것이다. 따라서, 다양한 블록들에 예시된 바와 같은 구성된 로직들 또는 "~ 하도록 구성된 로직" 은 단어 "로직" 을 공유한다는 것과는 관계없이 반드시 로직 게이트들 또는 로직 엘리먼트들로서 구현될 필요는 없다. 다양한 블록들에서의 로직 사이의 다른 상호작용들 또는 협력은, 더 상세히 후술되는 실시형태들의 검토로부터 당업자에게 명확해질 것이다.
도 5 는 클라이언트 디바이스 상의 모바일 웹 브라우저를 통해 웹 페이지를 로딩하는 종래의 프로세스를 예시한 것이다. 도 5 를 참조하면, 500 에서 모바일 웹 브라우저는 주어진 웹 페이지를 취출하는 것으로 결정한다. 설명의 편의를 위해, 도 5 에는 주어진 웹 페이지를 호스팅하는 타깃 서버와 클라이언트 디바이스 사이의 상호작용을 HTTP 프록시 서버가 중재하고 있도록 하는 것이 예시되고, 주어진 웹 페이지가 www.cnn.com (또는 cnn.com) 에 대응하는 것으로 도 5 에 예시된다. 그러나, 다른 종래의 웹 페이지 프로시저들은 HTTP 프록시 서버를 완전히 바이패스할 수 있고, 임의의 다른 웹 페이지를 로딩하는 것으로 다이렉트될 수 있다는 것이 인식될 것이다. 도 5 에서는, 500 에서 모바일 웹 브라우저가 주어진 웹 페이지에 대한 임의의 리다이렉트들의 특별한 지식을 갖고 있지 않다고 가정한다 (예를 들어, 리다이렉트들은 일반적으로 일시적인 것으로 여겨지고 종래의 모바일 웹 브라우저들은 통상적으로 재사용을 위해 리다이렉트 정보를 캐싱하지 않는다). 모바일 웹 브라우저는 주어진 웹 페이지에 대한 요청을 HTTP 프록시 서버에 송신하고 (505), HTTP 프록시 서버는 주어진 웹 페이지에 대한 요청을 주어진 웹 페이지와 연관된 타깃 서버에 포워딩한다 (510). 타깃 서버는, 그 요청에 대해 주어진 웹 페이지의 모바일 버전과 같은, 대체 웹 페이지 (예를 들어, www.edition.cnn.com 또는 edition.cnn) 에 대한 302 리다이렉트로 응답한다 (515). 302 리다이렉트에서의 "302" 는 단지 리다이렉트 응답 코드 예라는 것이 인식될 것이다. 일반적으로, 아래의 설명은 일관성을 위해 302 를 응답 코드로서 재사용하지만, 다른 응답 코드들이 또한 여기에 설명된 리다이렉트들 중 임의의 것에 대해 사용될 수 있음이 쉽게 이해될 것이다. 타깃 서버로부터의 302 리다이렉트에 응답하여, HTTP 프록시 서버는 클라이언트 디바이스 상의 모바일 웹 브라우저에게 대체 웹 페이지에 새로운 요청을 발행한다 (520). 리다이렉트 메시지에 응답하여, 모바일 웹 브라우저는 대체 웹 페이지에 대한 요청을 HTTP 프록시 서버에 송신하고 (525), HTTP 프록시 서버는 대체 웹 페이지에 대한 요청을 그 대체 웹 페이지와 연관된 타깃 서버에 포워딩한다 (530). 도 5 에서, 대체 웹 페이지 및 주어진 웹 페이지와 연관된 타깃 서버는 동일한 서버로서 도시되지만, 각각의 웹 페이지들은 대안적으로 상이한 서버들에 의해 호스팅될 수 있다. 타깃 서버는 대체 웹 페이지에 대한 요청에 대해 200 OK 메시지, 대체 웹 페이지에 대한 요청된 콘텐츠, 및 대체 웹 페이지에 대한 쿠키 (예를 들어, 웹 페이지 www.edition.cnn.com 에 대해 Cookie[edition.cnn.com]) 로 응답한다 (535). HTTP 프록시 서버는 200 OK 메시지, 대체 웹 페이지에 대한 요청된 콘텐츠, 및 대체 웹 페이지에 대한 쿠키를 클라이언트 디바이스 상의 모바일 웹 브라우저에게 포워딩하고 (540), 모바일 웹 브라우저는 페이지 콘텐츠를 사용하여 대체 웹 페이지를 로딩하고 대체 웹 페이지를 로딩하려는 추후 시도들을 위해 대체 웹 페이지에 대한 쿠키를 캐싱한다 (545).
인식되는 바와 같이, 리다이렉트 메시지가 클라이언트 디바이스 상의 모바일 웹 브라우저로 다시 푸싱되어 모바일 웹 브라우저가 대체 웹 페이지를 로딩하려는 다른 개별적인 시도를 개시할 수 있게 된다는 것이 비교적 비효율적이다. 그러나, 도 6 에 대해 설명되는 바와 같이, HTTP 프록시 서버가 클라이언트 디바이스 상의 모바일 웹 브라우저를 수반하는 일 없이 단순히 302 리다이렉트 메시지에 그 자신이 응답하려고 시도하는 경우 문제들이 발생할 수 있다.
도 6 을 참조하면, 600 내지 615 는 500 내지 515 에 대응하여 간결성을 위해 더 설명되지 않을 것이다. 620 에서, 도 5 의 520 에서와 같이 클라이언트 디바이스 상의 모바일 웹 브라우저로 리다이렉트 메시지를 다시 전송하는 것 대신에, HTTP 프록시 서버는 그 대신 대체 웹 페이지를 그 자신이 요청한다. 이에 따라, 타깃 서버는 대체 웹 페이지에 대한 HTTP 프록시 서버의 요청에 대해 200 OK 메시지, 대체 웹 페이지에 대한 요청된 콘텐츠, 및 대체 웹 페이지에 대한 쿠키 (예를 들어, 웹 페이지 www.edition.cnn.com 에 대해 Cookie[edition.cnn.com]) 로 응답한다 (625). HTTP 프록시 서버는 200 OK 메시지, 대체 웹 페이지에 대한 요청된 콘텐츠, 및 대체 웹 페이지에 대한 쿠키를 클라이언트 디바이스 상의 모바일 웹 브라우저에게 포워딩한다 (630).
그러나, 당업자에게 인식되는 바와 같이, HTML 페이지들을 포함한 많은 웹 리소스들은, 리소스가 다운로드된 정확한 URL 을 모바일 웹 브라우저가 알 것을 요구한다. 이에 대한 하나의 이유는 모바일 웹 브라우저가 임베딩된 리소스들의 관련 URL들을 정확히 다운로드할 수 있도록 하기 위함이다. 도 6 에서, 605 에서 모바일 웹 브라우저는 주어진 웹 페이지 (예를 들어, www.cnn.com) 에 대해 요청하였지만, 630 에서 모바일 웹 브라우저는 상이한 웹 페이지 (예를 들어, www.edition.cnn.com) 에 대한 콘텐츠를 수신하였다. 따라서, 모바일 웹 브라우저는 속아서 모바일 웹 브라우저가 www.edition.cnn.com 에 대한 콘텐츠를 실제로 로딩하고 있을 때 www.cnn.com 에 대한 콘텐츠를 로딩하고 있다고 생각하게 된다. 이러한 이유로, 대체 웹 페이지가 로딩되고 있는 동안, 635 에서 모바일 웹 브라우저는 임베딩된 리소스들의 관련 URL들에 대한 요청들을 발행할 수도 있고, HTTP 프록시 서버는 관련 리소스 요청을 주어진 웹 페이지에 대한 타깃 서버에 포워딩한다 (640). 그러나, 리소스가 (주어진 웹 페이지가 아니라) 대체 웹 페이지에 관련되어, 타깃 서버는 404 Not Found 에러 메시지를 리턴한다 (645). 이러한 이유로, 모바일 웹 브라우저는 대체 웹 페이지의 그의 디스플레이 상에 관련 리소스를 로딩하는 것이 불가능하게 될 것이다 (650).
도 7a 는 본 발명의 일 실시형태에 따른 프록시 (또는 MOD) 리다이렉트의 MOD-POD 구현을 예시한 것이다. 도 6 과는 달리, MOD 는 대체 (또는 리다이렉트된) 웹 페이지에 대한 관련 리소스 로딩 문제들을 발생시키지 않는 방식으로 POD 와의 협력을 통해 클라이언트 디바이스를 대신하여 리다이렉트를 구현할 수 있다.
도 7a 를 참조하면, 클라이언트 디바이스는 클라이언트 디바이스 (200) 에 대해 도 2a 또는 도 2b 에 도시된 바와 같이 구현되어, 클라이언트 디바이스에는 POD (215) 가 프로비저닝되고, POD (215) 가 MOD (225) 와 통신하도록 구성된다고 가정한다. 700 에서, 모바일 웹 브라우저는 500 에서 주어진 웹 페이지를 취출하는 것으로 결정한다. 도 5 및 도 6 과 유사하게, 설명의 편의를 위해, 주어진 웹 페이지는 www.cnn.com 에 대응하는 것으로 도 7a 에 예시된다. 도 7a 의 700 에서, 주어진 웹 페이지가 모바일 웹 브라우저에 의해 보다 일찍 요청되지 않았거나, 또는 모바일 웹 브라우저의 캐시가 삭제된 이후로 적어도 요청되지 않았다고 가정한다. 따라서, 700 에서 모바일 웹 브라우저는 주어진 웹 페이지에 대한 임의의 리다이렉트들 또는 쿠키들의 어떠한 특별한 지식도 갖고 있지 않다. 모바일 웹 브라우저는 주어진 웹 페이지에 대한 요청을 관련 타깃 서버 또는 HTTP 프록시 서버에 송신하려고 시도하지만 (705), POD (215) 는 시도된 요청을 인터셉트하여 그 요청을 MOD (225) 에 송신한다 (710). MOD (225) 는 주어진 웹 페이지에 대한 요청을 주어진 웹 페이지와 연관된 타깃 서버에 포워딩한다 (715). 이 포인트에서, (또 다른 리다이렉트와는 대조적으로) 모바일 웹 브라우저에 리턴될 실제 웹 페이지 콘텐츠를 제공하는 대체 웹 페이지에 도달하기 전에 MOD (225) 가 하나 이상의 개입 웹 페이지들로 리다이렉트되는 것이 가능하다 (718). 대안적으로, 타깃 서버는 (임의의 개입 리다이렉트들 없이) 웹 페이지 콘텐츠를 제공하는 대체 웹 페이지로 직접 MOD (225) 를 리다이렉트하는 것이 가능하다. 이에 따라, 718 은 임의의 개입 리다이렉트들이 구현되든지 간에 개입 리다이렉트 동작이 옵션적이라는 것을 전달하기 위해 도 7a 에서 점선으로 도시된다. 개입 리다이렉트들이 사용되는 경우, MOD (225) 가 잠재적으로 타깃 서버와는 완전히 상이한 서버로 리다이렉트될 수 있다는 것이 인식될 것이다. 타깃 서버 (또는 MOD (225) 를 상이한 서버로 리다이렉트하기 위해 개입 리다이렉트 메시지가 사용되는 경우에는 상이한 서버) 는, 715 로부터의 요청에 대해 (또는 존재한다면 이전 개입 리다이렉트에 의해 프롬프트되는 718 로부터의 다른 요청에 대해), 주어진 웹 페이지의 모바일 버전과 같은, 대체 웹 페이지 (예를 들어, www.edition.cnn.com) 에 대한 302 리다이렉트로 응답한다 (720).
725 에서, 도 5 의 520 에서와 같이 클라이언트 디바이스 상의 모바일 웹 브라우저로 리다이렉트 메시지를 다시 전송하는 것 대신에, MOD (225) 는 그 대신 대체 웹 페이지를 그 자신이 요청한다. 이에 따라, 타깃 서버는 대체 웹 페이지에 대한 MOD 의 요청에 대해 200 OK 메시지, 및 대체 웹 페이지에 대한 요청된 콘텐츠로 응답한다 (730). 유사하게, 임의의 개입 리다이렉트 메시지들 (718 에서 사용된 경우) 은 또한 클라이언트 디바이스로 다시 전송되지 않으며 MOD (225) 는 임의의 개입 웹 페이지를 그 자신이 또한 독립적으로 요청한다.
도 6 의 630 에서, HTTP 프록시 서버는 초기에 요청된 웹 페이지에 대한 콘텐츠를 제공하고 있었던 것처럼 리다이렉트된 콘텐츠를 모바일 웹 브라우저로 단순히 포워딩하였는데, 이는 모바일 웹 브라우저에서 웹 페이지를 로딩할 때 에러들을 발생시켰다. 이에 따라, MOD (225) 는 클라이언트 디바이스 상에서 대체 웹 페이지에 대한 302 리다이렉트 프로시저를 모방하라는 명령들의 세트 (또는 "스크립트") 와 함께 200 OK 메시지 및 대체 웹 페이지에 대한 요청된 콘텐츠를 POD (215) 에 포워딩한다 (735). 따라서, 리다이렉트된 콘텐츠를 초기에 요청된 콘텐츠였던 것처럼 모바일 웹 브라우저에 제시하는 것 대신에, MOD (225) 는 모바일 웹 브라우저를 갖는 클라이언트 디바이스 상에서 720 내지 730 으로부터의 리다이렉트 프로시저를 재생성 (또는 모방) 하도록 POD (215) 에게 요청한다. 735 에서 제공될 수도 있는 스크립트의 타입의 일 예는 다음과 같다:
Figure pct00001
도 7a 를 참조하면, POD (215) 는 735 의 송신물을 수신하고, (옵션적으로) 718, 738 로부터의 개입 리다이렉트 프로시저를 모방하고 또한 대체 웹 페이지에 대한 302 리다이렉트 메시지를 모바일 웹 브라우저에게 전송 (740) 함으로써 "스푸핑된 (spoofed)" 리다이렉트 프로시저를 구현하며, 이는 모바일 웹 브라우저가 대체 웹 페이지에 대한 요청에 응답하도록 프롬프트하고 (745), 대체 웹 페이지에 대한 요청은 POD (215) 에 의해 인터셉트되고 POD (215) 는 그 요청에 대해 200 OK 메시지, 및 대체 웹 페이지에 대한 요청된 콘텐츠로 응답한다 (750). 이 포인트에서, 모바일 웹 브라우저는 대체 웹 페이지로 리다이렉트되었다는 이해 하에 웹 페이지를 로딩하여 (755), 도 6 으로부터의 로딩 에러들이 발생하지 않는다.
클라이언트 디바이스 그 자신으로부터 도 6 으로부터의 HTTP 프록시 서버와 같은 프록시 서버로의 리다이렉트 프로시저를 아웃소싱하는 것이 구현하기 어려울 수 있는 다른 이유는 쿠키 관리에 관련된다. 웹 서버들은 통상적으로, 도 8 에 도시된 바와 같이, (예를 들어, 도 5 의 535, 도 6 의 625, 도 7a 의 730 등에서) 200 OK 메시지 및 페이지 콘텐츠와 함께 웹 페이지에 대한 쿠키들을 웹 페이지의 새로운 요청자에게 제공한다. 도 8 내지 도 11 에 대한 맥락을 제공하기 위해, 종래의 쿠키 관리 프로토콜들 하에서, 쿠키들이 유래된 특정 도메인에 대해 쿠키들이 검사되고, 쿠키들을 수신한 웹 브라우저들은 이들의 각각의 유래된 서버들로 배타적으로 전송하였다는 것이 인식되어야 한다.
도 7a 가 웹 페이지에 대한 리다이렉트 동작을 설명하지만, 단지 웹 페이지뿐만 아니라 임의의 타입의 웹 리소스에 대해 다른 타입들의 리다이렉트들이 또한 발생할 수 있다는 것이 인식될 것이다. 여기에 사용된 바와 같이, 용어 "웹 리소스" 는 웹 페이지들뿐만 아니라, 임의의 네트워크 주소지정가능 (addressable) 엘리먼트 또는 오브젝트 (예를 들어, 이미지 파일 또는 비디오 파일과 같은 데이터 파일, 스트리밍 세션에 매핑되는 URL 등) 를 지칭하기 위해 사용된다. 이것을 염두에 두고, 도 7b 는 본 발명의 일 실시형태에 따른 웹 리소스에 대한 프록시 리다이렉트 프로시저를 예시한 것이다.
일반적으로, 도 7b 의 프로세스는, 취출될 타깃 웹 리소스가 (웹 페이지일 가능성이 확실하지만) 반드시 웹 페이지일 필요가 없다는 것을 제외하고는, 도 7a 의 프로세스와 유사하다. 특정 예가 도 7b 에 도시되고, 여기서 모바일 웹 브라우저는 www.cnn.com/image1.jpeg 의 URL 에서 이미지 파일을 취출하려고 시도하고 있고, 여기서 모바일 웹 브라우저는 궁극적으로 POD (215) 에 의해 모바일 웹 브라우저에서 로컬로 시뮬레이션되는 전술한 리다이렉트 프로시저에 기초하여 www.edition.cnn.com/image1.mpeg 의 URL 에서 이미지 파일을 수신한다. 이에 따라, 상술된 웹 페이지들과 웹 리소스들 사이의 차이를 제외한다면, 도 7b 의 700B 내지 755B 는 실질적으로 도 7a 의 700 내지 755 에 각각 대응하고, 그에 따라 간결성을 위해 더욱 상세히 설명되지 않는다.
도 8 은 두 번째로 주어진 웹 페이지를 로딩하는 프로세스 동안 도 5 의 프로세스의 계속을 예시한 것이다. 도 8 은, 도 5 의 대체 웹 페이지에 대한 요청 525 및 530 과는 달리, 825 및 830 에서 전송된 요청은, 540 에서 모바일 웹 브라우저에 의해 획득되었고 545 에서 캐싱된 대체 웹 페이지에 대한 쿠키 (예를 들어, Cookie[edition.cnn.com]) 를 포함한다는 것을 제외하고는, 도 5 와 유사하다. 830 에서 쿠키를 타깃 서버에 제공함으로써, 타깃 서버는 대체 웹 사이트에 대한 반복 방문으로서 모바일 웹 브라우저를 식별하는 것이 가능하고 (예를 들어, 콘텐츠에 대한 적절한 언어 등과 같은) 사용자-특정 설정들을 로딩할 수 있다.
그러나, 도 6 또는 도 7a 에서와 같이, 프록시 서버가 클라이언트 디바이스를 대신하여 리다이렉트들을 핸들링하는 시스템에서, 프록시 서버는 리다이렉트 프로시저를 핸들링하고 있을 것이고 프록시 서버는 대체 웹 페이지에 대한 쿠키를 반드시 알고 있지 않아도 된다. 예를 들어, 도 6 의 630 에서 HTTP 프록시 서버가 200 OK 메시지 및 페이지 콘텐츠를 모바일 웹 브라우저에 포워딩하더라도, HTTP 프록시 서버는 대체 웹 페이지에 대한 관련 쿠키를 그 자신이 캐싱하지 않아서 다음번에 HTTP 프록시 서버가 모바일 웹 브라우저를 대신하여 대체 웹 페이지를 로딩하려고 시도할 때 이 쿠키를 사용할 수 없다.
이러한 시나리오로부터 생길 수 있는 잠재적인 문제들을 설명하기 위해, MOD (225) 가 도 7a 의 프로세스 동안 교환된 임의의 쿠키들의 레코드를 유지하는 일 없이 도 7a 가 실행한다는 가정 하에서 도 9a 가 도 7a 의 계속으로서 아래에 설명된다.
도 9a 를 참조하면, 도 7a 의 755 후에, 클라이언트 디바이스 상의 모바일 웹 브라우저가 (리다이렉트로 인해) 주어진 웹 페이지가 아니라 대체 웹 페이지에 대한 쿠키 (예를 들어, Cookie[edition.cnn.com]) 를 가지며 (900), MOD (225) 가 도 7a 의 프로세스 동안 교환된 임의의 쿠키들의 레코드를 유지하지 않았다 (905) 고 가정한다. 이러한 가정들에 따라, 모바일 웹 브라우저가 주어진 웹 페이지를 다시 요청하는 것으로 결정하는 경우 (910), 모바일 브라우저는 915 에서 주어진 웹 페이지를 요청하려고 시도하지만 주어진 웹 페이지에 대한 쿠키를 그의 요청에 제공하지 않으며 (왜냐하면 그 쿠키가 입수가능하지 않기 때문이다) 또한 대체 웹 페이지에 대한 쿠키도 그의 요청에 제공하지 않을 것이다 (왜냐하면 대체 웹 페이지가 아직 요청되고 있지 않기 때문이다). POD (215) 는 시도된 요청을 인터셉트하고 그 요청을 MOD (225) 에 송신하지만 (920), 송신된 요청은 또한, 915 에 대해 상술된 것과 동일한 이유로 어떠한 쿠키도 포함하지 않는다. MOD (225) 는 주어진 웹 페이지에 대한 요청을 주어진 웹 페이지와 연관된 타깃 서버에 포워딩한다 (925). 이 포인트에서, 도 7a 의 718 과 유사하게, (또 다른 리다이렉트와는 대조적으로) 모바일 웹 브라우저에 리턴될 실제 웹 페이지 콘텐츠를 제공하는 대체 웹 페이지에 도달하기 전에 MOD (225) 가 하나 이상의 개입 웹 페이지들로 리다이렉트되는 것이 가능하다 (928). 대안적으로, 타깃 서버는 (임의의 개입 리다이렉트들 없이) 웹 페이지 콘텐츠를 제공하는 대체 웹 페이지로 직접 MOD (225) 를 리다이렉트하는 것이 가능하다. 이에 따라, 928 은 임의의 개입 리다이렉트들이 구현되든지 간에 개입 리다이렉트 동작이 옵션적이라는 것을 전달하기 위해 도 9a 에서 점선으로 도시된다. 개입 리다이렉트들이 사용되는 경우, MOD (225) 가 잠재적으로 타깃 서버와는 완전히 상이한 서버로 리다이렉트될 수 있다는 것이 인식될 것이다. 타깃 서버 (또는 MOD (225) 를 상이한 서버로 리다이렉트하기 위해 개입 리다이렉트 메시지가 사용되는 경우에는 상이한 서버) 는, 925 로부터의 요청에 대해 (또는 존재한다면 이전 개입 리다이렉트에 의해 프롬프트되는 928 로부터의 다른 요청에 대해), 주어진 웹 페이지의 모바일 버전과 같은, 대체 웹 페이지 (예를 들어, www.edition.cnn.com) 에 대한 302 리다이렉트로 응답한다 (930). 이 포인트에서, MOD (225) 는, 대체 웹 페이지에 대한 쿠키를, 클라이언트 디바이스 상의 모바일 웹 브라우저가 그것을 캐싱하였더라도 알지 못한다 (예를 들어, 905 참조). 따라서, 935 내지 965 는 실질적으로 725 내지 755 에 대응하여, 도 7a 에서 대체 웹 페이지가 로딩되었던 이전 시간으로부터 클라이언트 디바이스의 쿠키의 지식 없이도 타깃 서버가 페이지 콘텐츠를 제공한다.
도 9a 가 웹 페이지에 대한 보충 요청이 도시된 도 7a 의 프로세스의 계속을 설명하지만, 단지 웹 페이지뿐만 아니라 임의의 타입의 웹 리소스에 대해 다른 타입들의 리다이렉트들이 또한 발생할 수 있다는 것이 인식될 것이다. 이것을 염두에 두고, 도 9b 는 본 발명의 일 실시형태에 따라 프록시 리다이렉트 프로시저를 수반하는 웹 리소스에 대한 보충 요청이 도시된 도 7b 의 프로세스의 계속을 예시한 것이다.
일반적으로, 도 9b 의 프로세스는, 도 9a 가 도 7a 의 계속인 반면 도 9b 가 도 7b 의 계속이고, 취출될 타깃 웹 리소스가 (웹 페이지일 가능성이 확실하지만) 반드시 웹 페이지일 필요가 없다는 것을 제외하고는, 도 9a 의 프로세스와 유사하다. 특정 예는 도 9b 에 도시되고, 여기서 모바일 웹 브라우저는 www.cnn.com/image1.jpeg 의 URL 에서 이미지 파일을 취출하려고 시도하고 있고, 여기서 모바일 웹 브라우저는 궁극적으로 POD (215) 에 의해 모바일 웹 브라우저에서 로컬로 시뮬레이션되는 전술한 리다이렉트 프로시저에 기초하여 www.edition.cnn.com/image1.mpeg 의 URL 에서 이미지 파일을 수신한다. 이에 따라, 상술된 웹 페이지들과 웹 리소스들 사이의 차이를 제외한다면, 도 9b 의 900B 내지 965B 는 실질적으로 도 9a 의 900 내지 965 에 각각 대응하고, 그에 따라 간결성을 위해 더욱 상세히 설명되지 않는다.
도 10 및 도 11 은, 본 발명의 일 실시형태에 따라 대체 웹 페이지의 두 번째 (또는 추후) 로딩에 대한 리다이렉트 프로시저 동안 MOD (225) 가 대체 웹 페이지에 대한 쿠키를 획득하게 하는, 도 7a 및 도 9a 의 프로세스들의 변경된 구현을 예시한 것이다.
도 10 을 참조하면, 1000 내지 1030 은 도 7a 의 700 내지 730 에 대응하여, 간결성을 위해 더 설명되지 않는다. 1035 에서, MOD (225) 는 주어진 웹 페이지에 대한 "래핑된 (wrapped)" 쿠키를 생성한다 (예를 들어, Cookie[***cnn.com]). 1035 에서 생성된 래핑된 쿠키는 주어진 웹 페이지를 호스팅하는 웹 서버로부터 제공된 실제 쿠키가 아니며, 오히려 대체 웹 페이지에 대한 쿠키를 식별하는 것이 가능하도록 MOD (225) 에 의해 사용되는 페이크 쿠키 (fake cookie) 이다. 따라서, MOD (225) 는 오리지널 쿠키들을 언래핑하도록 (unwrap) (또는 재구성하도록) 래핑된 쿠키들에 적용될 수 있는 함수 또는 알고리즘에의 액세스를 유지한다. 일 예에서, 대체 웹 페이지에 대한 쿠키에 base64 를 적용함으로써 래핑된 쿠키가 MOD (225) 에서 생성될 수도 있고, 대체 웹 페이지에 대한 쿠키를 재구성하도록 래핑된 쿠키가 추후에 언래핑될 수도 있다 (도 11 의 1125 참조). 추가 예에서, (예를 들어, 하나의 구현에서 base64 에 기초할 수도 있는) 암호화 함수 또는 알고리즘을 대체 웹 페이지에 대한 쿠키에 적용함으로써 래핑된 쿠키가 MOD (225) 에서 생성될 수도 있고, 대체 웹 페이지에 대한 쿠키를 재구성하도록 암호화해제 함수 또는 알고리즘을 적용함으로써 래핑된 쿠키가 추후에 언래핑될 수도 있다 (도 11 의 1125 참조).
1040 에서, MOD (225) 는 200 OK 메시지, 대체 웹 페이지에 대한 요청된 콘텐츠, 대체 웹 페이지에 대한 쿠키, 및 래핑된 쿠키를, 클라이언트 디바이스 상에서 대체 웹 페이지에 대한 302 리다이렉트 프로시저를 모방하라는 명령들의 세트 (또는 "스크립트") 와 함께 POD (215) 에 포워딩한다. 1040 은, 모바일 웹 브라우저에 의해 주어진 웹 페이지 (즉, 대체 웹 페이지 또는 www.edition.cnn.com 이 아니라, 초기에 요청된 웹 페이지 또는 www.cnn.com) 에 대한 쿠키로서 인터프리트되도록 구성되는 래핑된 쿠키를 더 포함한다는 것을 제외하고는, 도 7a 의 735 와 유사하다.
도 10 을 참조하면, POD (215) 는 1040 의 송신물을 수신하고, (옵션적으로) (예를 들어, 도 7a 의 738 에서와 같이) 하나 이상의 개입 리다이렉트들을 시뮬레이션하고 (1042), 대체 웹 페이지에 대한 302 리다이렉트 메시지를 모바일 웹 브라우저에게 전송 (1045) 함으로써 "스푸핑된" 리다이렉트 프로시저를 구현한다. 그러나, 1045 의 302 리다이렉트 메시지는 래핑된 쿠키가 주어진 웹 페이지에 대한 쿠키였던 것처럼 래핑된 쿠키를 더 포함한다. 따라서, 1045 의 302 리다이렉트 메시지 내의 래핑된 쿠키의 포함은, 모바일 웹 브라우저에 의해 수신된 302 리다이렉트 메시지가, 1020 에서 웹 서버로부터 MOD (225) 에 수신된 302 리다이렉트 메시지와는 상이하게 되도록 한다.
모바일 웹 브라우저는 주어진 웹 페이지에 대한 래핑된 쿠키를 캐싱한다 (1050). 모바일 웹 브라우저는 또한 302 리다이렉트 메시지에 대해 대체 웹 페이지에 대한 요청으로 응답하고 (1055), 대체 웹 페이지에 대한 요청은 POD (215) 에 의해 인터셉트되며 POD (215) 는 이 요청에 대해 200 OK 메시지, 대체 웹 페이지에 대한 요청된 콘텐츠, 및 POD (215) 에 대한 대체 웹 페이지에 대한 쿠키로 응답한다 (1060). 이 포인트에서, 모바일 웹 브라우저는 대체 웹 페이지로 리다이렉트되었다는 이해 하에 웹 페이지를 로딩한다 (1065).
도 10 을 참조하면, 도 10 의 1065 후에, 클라이언트 디바이스 상의 모바일 웹 브라우저가 대체 웹 페이지에 대한 쿠키 (예를 들어, Cookie[edition.cnn.com]) 그리고 또한 모바일 웹 브라우저가 주어진 웹 페이지에 대한 쿠키로서 인터프리트하는 래핑된 쿠키 (예를 들어, Cookie[***cnn.com]) 를 갖는다 (1100) 고 가정한다. 이들 가정들에 따라, 모바일 웹 브라우저가 주어진 웹 페이지를 다시 요청하는 것으로 결정하는 경우 (1110), 모바일 브라우저는 1115 에서 주어진 웹 페이지를 요청하려고 시도하면서 주어진 웹 페이지에 대한 쿠키로서 래핑된 쿠키를 그의 요청에 제공한다. POD (215) 는 시도된 요청을 인터셉트하고 그 요청을 MOD (225) 에게 래핑된 쿠키로 송신한다 (1120). MOD (225) 는 래핑된 쿠키를 검출하고 그 래핑된 쿠키를 사용하여 (예를 들어, base64 에 기초한 함수와 같은 함수 또는 알고리즘을 래핑된 쿠키에 적용하여 대체 웹 페이지에 대한 쿠키를 도출 또는 재구성함으로써) 대체 웹 페이지에 대한 쿠키를 룩업 (look-up) 한다 (1125). 상술된 바와 같이, 쿠키를 재구성 또는 "언래핑" 하기 위해 사용되는 알고리즘 또는 함수는, 초기 래핑 프로시저 동안 쿠키에 이전에 적용되었던 암호화의 역을 행하는 암호화해제 함수일 수도 있다.
MOD (225) 는 (래핑된 쿠키가 타깃 서버에 의해 인지되지 않기 때문에, 래핑된 쿠키 없이) 주어진 웹 페이지에 대한 요청을 주어진 웹 페이지와 연관된 타깃 서버에 포워딩한다 (1130). (옵션적으로) (예를 들어, 도 10 의 1018 에서와 같이) 하나 이상의 개입 리다이렉트들을 수행한 후에 (1133), 타깃 서버 (또는 선행하는 개입 리다이렉트와 연관된 다른 서버) 는, 그 요청에 대해, 주어진 웹 페이지의 모바일 버전과 같은, 대체 웹 페이지 (예를 들어, www.edition.cnn.com) 에 대한 302 리다이렉트로 응답한다 (1135). 이 포인트에서, MOD (225) 는 1125 로부터의 룩업 동작에 기초하여 대체 웹 페이지에 대한 쿠키를 안다. 이에 따라, MOD (225) 는 관련 타깃 서버로부터 대체 웹 페이지를 요청하면서 대체 웹 페이지에 대한 쿠키 (예를 들어, Cookie[edition.cnn.com]) 를 제공한다. 도 11 에 명시적으로 도시되지 않았지만, 1140 의 요청으로 쿠키를 제공하는 것은, 다른 것들 중에서도, 대체 웹 페이지에 대한 페이지 콘텐츠가 클라이언트 디바이스에 대해 선택적인 방식으로 로딩되게 한다. 이에 따라, 타깃 서버는 대체 웹 페이지에 대한 MOD 의 요청에 대해 200 OK 메시지 및 대체 웹 페이지에 대한 요청된 콘텐츠로 응답한다 (1145). 이 포인트에서, 도 11 의 1150 내지 1170 은 (대체 웹 페이지에 대한 쿠키의 포함은, 타깃 서버에 이 쿠키가 제공되어 요청하는 클라이언트 디바이스가 이미 이 쿠키를 갖고 있다는 것을 알기 때문에 옵션적이라는 것을 제외하고는) 실질적으로 도 9a 의 945 내지 965 에 대응하여, 그에 따라 간결성을 위해 더 설명되지 않는다.
도 12 및 도 13 은, 본 발명의 일 실시형태에 따라 대체 웹 리소스의 두 번째 (또는 추후) 로딩에 대한 리다이렉트 프로시저 동안 프록시 서버가 대체 또는 리다이렉트 웹 리소스 (즉, 반드시 웹 페이지가 아님) 에 대한 쿠키를 획득하게 하는, 도 7b 및 도 9b 의 프로세스들 각각의 변경된 구현을 예시한 것이다.
일반적으로, 도 12 및 도 13 의 프로세스들은, 도 12 및 도 13 이 취출될 타깃 웹 리소스가 (웹 페이지일 가능성이 확실하지만) 반드시 웹 페이지일 필요가 없는 시나리오에 관련된다는 것을 제외하고는, 도 10 및 도 11 의 프로세스들과 유사하다. 특정 예는 도 12 및 도 13 에 도시되고, 여기서 모바일 웹 브라우저는 www.cnn.com/image1.jpeg 의 URL 에서 이미지 파일을 취출하려고 시도하고 있고, 여기서 모바일 웹 브라우저는 궁극적으로 POD (215) 에 의해 모바일 웹 브라우저에서 로컬로 시뮬레이션되는 전술한 리다이렉트 프로시저에 기초하여 www.edition.cnn.com/image1.mpeg 의 URL 에서 이미지 파일을 수신한다. 도 10 및 도 11 에서, 쿠키들은 웹 페이지들 www.cnn.comwww.edition.cnn.com 에 대한 것인 반면, 도 12 및 도 13 에서 쿠키들은 더욱 구체적으로는 www.cnn.com image1.jpeg (예를 들어, 도 12 및 도 13 에서 ***cnn.com) 및 www.edition.cmn.com/image1.jpeg 의 웹 리소스들에 대한 것이다. 이에 따라, 상술된 웹 페이지들과 웹 리소스들 사이의 차이를 제외한다면, 도 10 의 1000 내지 1065 는 실질적으로 도 12 의 1200 내지 1265 에 각각 대응하고, 도 11 의 1100 내지 1170 은 실질적으로 도 13 의 1300 내지 1370 에 각각 대응하고, 그에 따라 도 12 및 도 13 은 간결성을 위해 더욱 상세히 설명되지 않는다.
당업자들은 정보 및 신호들이 다양한 상이한 기술들 및 기법들 중 임의의 것을 사용하여 표현될 수도 있다는 것을 인식할 것이다. 예를 들어, 위의 상세한 설명을 통해 언급될 수도 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들, 및 칩 (chip) 들은 전압들, 전류들, 전자기파들, 자기 장들 또는 입자들, 광학 장들 또는 입자들, 또는 이들의 임의의 조합으로 표현될 수도 있다.
또한, 당업자들에게는 여기에 개시된 실시형태들에 관련하여 설명되는 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양쪽 모두의 조합들로 구현될 수도 있다는 것을 인식할 것이다. 하드웨어와 소프트웨어의 이러한 상호교환가능성을 명백히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 일반적으로 이들의 기능성의 관점에서 설명되었다. 이러한 기능성이 하드웨어 또는 소프트웨어 중 어느 것으로 구현되는지는 전체 시스템에 부과되는 설계 제약들 및 특정 애플리케이션에 의존한다. 당업자들은 설명된 기능성을 각각의 특정 애플리케이션에 대하여 다양한 방법들로 구현할 수도 있지만, 이러한 구현 결정들은 본 발명의 범위를 벗어나도록 하는 것으로 해석되어서는 안된다.
여기에 개시된 실시형태들에 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들은 여기에 설명된 기능들을 수행하도록 설계된 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그래밍가능 게이트 어레이 (FPGA) 또는 다른 프로그래밍가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 이들의 임의의 조합으로 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안적으로는, 그 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신 (state machine) 일 수도 있다. 또한, 프로세서는 컴퓨팅 디바이스들의 조합, 예를 들어, DSP 및 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 협력하는 하나 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성으로도 구현될 수도 있다.
여기에 개시된 실시형태들과 관련하여 설명한 방법들, 시퀀스들 및/또는 알고리즘들은, 직접 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이들 둘의 조합으로 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 착탈식 디스크, CD-ROM 또는 이 기술분야에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는 프로세서가 저장 매체로부터 정보를 판독하고 정보를 저장 매체에 기입할 수 있도록 프로세서에 커플링된다. 대안적으로는, 저장 매체가 프로세서에 통합될 수도 있다. 프로세서 및 저장 매체는 ASIC 에 상주할 수도 있다. ASIC 는 사용자 단말기 (예컨대, UE) 에 상주할 수도 있다. 대안적으로는, 프로세서 및 저장 매체는 이산 컴포넌트들로서 사용자 단말기에 상주할 수도 있다.
하나 이상의 예시적인 실시형태들에서, 설명한 기능들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 그 기능들은 컴퓨터 판독가능 매체 상에 하나 이상의 명령들 또는 코드로서 저장되거나 또는 송신될 수도 있다. 컴퓨터 판독가능 매체들은, 한 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체들 및 컴퓨터 저장 매체들 양쪽 모두를 포함한다. 저장 매체들은 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능 매체들일 수도 있다. 제한이 아닌 예로서, 이러한 컴퓨터 판독가능 매체들은, RAM, ROM, EEPROM, CD-ROM 또는 다른 광 디스크 저장, 자기 디스크 저장 또는 다른 자기 저장 디바이스들, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 운반하거나 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체도 포함할 수 있다. 또한, 임의의 맥락이 적절히 컴퓨터 판독가능 매체로 지칭된다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 연선 (twisted pair), 디지털 가입자 회선 (DSL) 또는 무선 기술들, 예컨대, 적외선, 무선 및 마이크로파를 사용하여, 웹 사이트, 서버 또는 다른 원격 소스로부터 송신된다면, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 무선 및 마이크로파와 같은 무선 기술이 그 매체의 정의에 포함된다. 디스크 (disk) 및 디스크 (disc) 는, 여기에 사용된 바와 같이, 콤팩트 디스크 (CD), 레이저 디스크, 광 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 블루레이 디스크를 포함하며, 여기서, 디스크 (disk) 들은 데이터를 자기적으로 보통 재생하지만, 디스크 (disc) 들은 레이저로 데이터를 광학적으로 재생한다. 또한, 상술한 것들의 조합들도 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
전술한 개시물이 본 발명의 예시적인 실시형태들을 나타내지만, 첨부된 청구항들에 의해 정의되는 본 발명의 범위로부터 벗어나는 일 없이 다양한 변화들 및 변경들이 이루어질 수 있다는 것에 주목해야 한다. 여기에 설명된 본 발명의 실시형태들에 따른 방법 청구항들의 기능들, 단계들 및/또는 액션들은 어떤 특정의 순서로 수행될 필요는 없다. 또한, 비록 본 발명의 엘리먼트들이 단수로 설명되거나 또는 청구될 수도 있지만, 그 단수로의 제한이 명시적으로 언급되지 않는 한, 복수가 고려된다.

Claims (38)

  1. 프록시 서버의 동작 방법으로서,
    클라이언트 디바이스로부터 초기 웹 리소스에 대한 요청을 수신하는 단계;
    상기 클라이언트 디바이스의 요청에 응답하여 상기 클라이언트 디바이스를 대신하여 상기 초기 웹 리소스를 요청하는 단계;
    상기 클라이언트 디바이스와의 상호작용과는 독립적이고 (i) 상기 초기 웹 리소스로부터 대체 웹 리소스로 리다이렉트 (redirect) 하는 하나 이상의 리다이렉트 메시지들을 수신하는 것, (ii) 상기 하나 이상의 리다이렉트 메시지들에 기초하여 상기 대체 웹 리소스를 서버로부터 요청하는 것, 및 (iii) 상기 대체 웹 리소스와 연관된 웹 리소스 콘텐츠를 상기 서버로부터 수신하는 것을 포함하는 웹 리소스 리다이렉션 프로시저 (web resource redirection procedure) 를 상기 프록시 서버에서 실행하는 단계; 및
    상기 클라이언트 디바이스 상의 프록시 클라이언트 애플리케이션과 모바일 웹 브라우저 사이에서 상기 웹 리소스 리다이렉션 프로시저를 상기 클라이언트 디바이스 상에 시뮬레이션하라는 명령들과 함께 상기 웹 리소스 콘텐츠를 상기 클라이언트 디바이스 상의 상기 프록시 클라이언트 애플리케이션에 전달하는 단계
    를 포함하는, 프록시 서버의 동작 방법.
  2. 제 1 항에 있어서,
    상기 초기 웹 리소스는 웹 페이지이거나, 또는
    상기 초기 웹 리소스는 하나 이상의 네트워크 주소지정가능 (addressable) 엘리먼트들 또는 오브젝트들의 세트인, 프록시 서버의 동작 방법.
  3. 제 1 항에 있어서,
    상기 하나 이상의 리다이렉트 메시지들은, 상기 초기 웹 리소스로부터 상기 대체 웹 리소스로 직접 리다이렉트하는 단일 리다이렉트 메시지를 포함하는, 프록시 서버의 동작 방법.
  4. 제 1 항에 있어서,
    상기 하나 이상의 리다이렉트 메시지들은, 상기 초기 웹 리소스로부터 상기 대체 웹 리소스로 점증적으로 리다이렉트하도록 기능하는 복수의 리다이렉트 메시지들을 포함하는, 프록시 서버의 동작 방법.
  5. 제 1 항에 있어서,
    상기 대체 웹 리소스에 대한 상기 프록시 서버의 요청에 응답하여 상기 대체 웹 리소스에 대한 쿠키를 상기 서버로부터 획득하는 단계; 및
    획득된 상기 쿠키에 기초하여 래핑된 쿠키 (wrapped cookie) 를 생성하는 단계
    를 더 포함하고,
    상기 웹 리소스 리다이렉션 프로시저를 시뮬레이션하라는 명령들은, 상기 초기 웹 리소스에 대한 주어진 쿠키로서 상기 래핑된 쿠키를 상기 모바일 웹 브라우저에 공급하라고 상기 프록시 클라이언트 애플리케이션에게 명령하도록 구성되는, 프록시 서버의 동작 방법.
  6. 제 1 항에 있어서,
    상기 클라이언트 디바이스로부터 상기 초기 웹 리소스에 대한 보충 요청을 수신하는 단계로서, 상기 보충 요청은 래핑된 쿠키를 포함하는, 상기 초기 웹 리소스에 대한 보충 요청을 수신하는 단계;
    상기 대체 웹 리소스에 대한 획득된 상기 쿠키에 대응하는 언래핑된 쿠키 (unwrapped cookie) 를 생성하도록 상기 래핑된 쿠키를 언래핑하는 단계;
    상기 클라이언트 디바이스의 보충 요청에 응답하여 상기 클라이언트 디바이스를 대신하여 상기 초기 웹 리소스를 요청하는 단계;
    상기 클라이언트 디바이스와의 상호작용과는 독립적이고 (i) 상기 초기 웹 리소스로부터 상기 대체 웹 리소스로 리다이렉트하는 하나 이상의 보충 리다이렉트 메시지들을 수신하는 것, (ii) 상기 하나 이상의 보충 리다이렉트 메시지들에 기초하여 상기 대체 웹 리소스를 상기 서버로부터 요청하는 것으로서, 상기 대체 웹 리소스에 대한 상기 프록시 서버의 요청은 상기 언래핑된 쿠키를 포함하도록 구성되는, 상기 대체 웹 리소스를 상기 서버로부터 요청하는 것, 및 (iii) 상기 대체 웹 리소스와 연관된 보충 웹 리소스 콘텐츠를 상기 서버로부터 수신하는 것을 포함하는 보충 웹 리소스 리다이렉션 프로시저를 상기 프록시 서버에서 실행하는 단계; 및
    상기 프록시 클라이언트 애플리케이션과 상기 모바일 웹 브라우저 사이에서 상기 보충 웹 리소스 리다이렉션 프로시저를 상기 클라이언트 디바이스 상에 시뮬레이션하라는 보충 명령들과 함께 상기 대체 웹 리소스와 연관된 보충 웹 리소스 콘텐츠를 상기 클라이언트 디바이스 상의 상기 프록시 클라이언트 애플리케이션에 전달하는 단계
    를 더 포함하는, 프록시 서버의 동작 방법.
  7. 제 1 항에 있어서,
    상기 전달하는 단계는, 상기 클라이언트 디바이스 상의 시뮬레이션된 상기 웹 리소스 리다이렉션 프로시저 동안 상기 초기 웹 리소스에 대한 주어진 쿠키로서 사용될 래핑된 쿠키와 연관되어 상기 명령들을 전달하는, 프록시 서버의 동작 방법.
  8. 제 7 항에 있어서,
    상기 클라이언트 디바이스로부터 상기 초기 웹 리소스에 대한 보충 요청을 수신하는 단계로서, 상기 보충 요청은 상기 래핑된 쿠키를 포함하는, 상기 초기 웹 리소스에 대한 보충 요청을 수신하는 단계; 및
    상기 웹 리소스 리다이렉션 프로시저 동안 상기 대체 웹 리소스에 대해 상기 프록시 서버에 의해 수신된 주어진 쿠키에 대응하는 리다이렉트 쿠키를 생성하도록 상기 래핑된 쿠키를 언래핑하는 단계
    를 더 포함하는, 프록시 서버의 동작 방법.
  9. 제 8 항에 있어서,
    보충 웹 리소스 리다이렉션 프로시저와 관련하여 상기 대체 웹 리소스를 요청하기 위해 상기 리다이렉트 쿠키를 상기 서버에 공급하는 단계를 더 포함하는, 프록시 서버의 동작 방법.
  10. 프록시 클라이언트 애플리케이션을 실행하도록 구성된 클라이언트 디바이스의 동작 방법으로서,
    초기 웹 리소스에 대한 요청을 프록시 서버에 송신하는 단계;
    송신된 상기 요청에 응답하여 상기 프록시 서버로부터, (i) 상기 초기 웹 리소스와는 상이한 대체 웹 리소스와 연관된 웹 리소스 콘텐츠, 및 (ii) 상기 프록시 서버에서 발생한 웹 리소스 리다이렉션 프로시저를 시뮬레이션하라는 명령들을 포함하는 데이터를 수신하는 단계; 및
    (i) 상기 초기 웹 리소스로부터 상기 대체 웹 리소스로 상기 클라이언트 디바이스 상의 모바일 웹 브라우저를 리다이렉트하는 하나 이상의 리다이렉트 메시지들을 상기 모바일 웹 브라우저에게 전송하는 것, (ii) 상기 하나 이상의 리다이렉트 메시지들에 응답하여 상기 모바일 웹 브라우저로부터 상기 대체 웹 리소스에 대한 요청을 수신하는 것, 및 (iii) 상기 모바일 웹 브라우저로부터 수신된 상기 요청에 응답하여, 송신된 상기 요청에 응답하여 상기 프록시 서버로부터 상기 프록시 클라이언트 애플리케이션에 의해 수신된 상기 대체 웹 리소스와 연관된 웹 리소스 콘텐츠를 전달하는 것에 의해 상기 명령들에 응답하여 상기 프록시 서버에서 발생한 상기 웹 리소스 리다이렉션 프로시저를 시뮬레이션하는 단계
    를 포함하는, 클라이언트 디바이스의 동작 방법.
  11. 제 10 항에 있어서,
    상기 초기 웹 리소스는 웹 페이지이거나, 또는
    상기 초기 웹 리소스는 하나 이상의 네트워크 주소지정가능 엘리먼트들 또는 오브젝트들의 세트인, 클라이언트 디바이스의 동작 방법.
  12. 제 10 항에 있어서,
    상기 하나 이상의 리다이렉트 메시지들은, 상기 초기 웹 리소스로부터 상기 대체 웹 리소스로 직접 리다이렉트하는 단일 리다이렉트 메시지를 포함하는, 클라이언트 디바이스의 동작 방법.
  13. 제 10 항에 있어서,
    상기 하나 이상의 리다이렉트 메시지들은, 상기 초기 웹 리소스로부터 상기 대체 웹 리소스로 점증적으로 리다이렉트하도록 기능하는 복수의 리다이렉트 메시지들을 포함하는, 클라이언트 디바이스의 동작 방법.
  14. 제 10 항에 있어서,
    상기 데이터는, 상기 클라이언트 디바이스 상의 시뮬레이션된 상기 웹 리소스 리다이렉션 프로시저 동안 상기 초기 웹 리소스에 대한 주어진 쿠키로서 사용될 래핑된 쿠키를 포함하는, 클라이언트 디바이스의 동작 방법.
  15. 제 14 항에 있어서,
    상기 래핑된 쿠키는, 상기 하나 이상의 리다이렉트 메시지들과 관련하여 시뮬레이션된 상기 웹 리소스 리다이렉트 프로시저 동안 상기 모바일 웹 브라우저에 제공되는, 클라이언트 디바이스의 동작 방법.
  16. 제 14 항에 있어서,
    상기 초기 웹 리소스에 대한 보충 요청을 상기 프록시 서버에 송신하는 단계를 더 포함하고,
    송신된 상기 보충 요청은 상기 래핑된 쿠키를 포함하는, 클라이언트 디바이스의 동작 방법.
  17. 제 14 항에 있어서,
    상기 래핑된 쿠키는, 상기 프록시 서버에서 발생한 상기 웹 리소스 리다이렉트 프로시저 동안 상기 프록시 서버에서 수신된 리다이렉트 쿠키의, 상기 프록시 서버에 의한, 재구성을 허용하도록 구성되는, 클라이언트 디바이스의 동작 방법.
  18. 프록시 서버로서,
    클라이언트 디바이스로부터 초기 웹 리소스에 대한 요청을 수신하도록 구성된 로직;
    상기 클라이언트 디바이스의 요청에 응답하여 상기 클라이언트 디바이스를 대신하여 상기 초기 웹 리소스를 요청하도록 구성된 로직;
    상기 클라이언트 디바이스와의 상호작용과는 독립적이고 (i) 상기 초기 웹 리소스로부터 대체 웹 리소스로 리다이렉트하는 하나 이상의 리다이렉트 메시지들을 수신하는 것, (ii) 상기 하나 이상의 리다이렉트 메시지들에 기초하여 상기 대체 웹 리소스를 서버로부터 요청하는 것, 및 (iii) 상기 대체 웹 리소스와 연관된 웹 리소스 콘텐츠를 상기 서버로부터 수신하는 것을 포함하는 웹 리소스 리다이렉션 프로시저를 상기 프록시 서버에서 실행하도록 구성된 로직; 및
    상기 클라이언트 디바이스 상의 프록시 클라이언트 애플리케이션과 모바일 웹 브라우저 사이에서 상기 웹 리소스 리다이렉션 프로시저를 상기 클라이언트 디바이스 상에 시뮬레이션하라는 명령들과 함께 상기 웹 리소스 콘텐츠를 상기 클라이언트 디바이스 상의 상기 프록시 클라이언트 애플리케이션에 전달하도록 구성된 로직
    을 포함하는, 프록시 서버.
  19. 제 18 항에 있어서,
    상기 초기 웹 리소스는 웹 페이지이거나, 또는
    상기 초기 웹 리소스는 하나 이상의 네트워크 주소지정가능 엘리먼트들 또는 오브젝트들의 세트인, 프록시 서버.
  20. 제 18 항에 있어서,
    상기 하나 이상의 리다이렉트 메시지들은, 상기 초기 웹 리소스로부터 상기 대체 웹 리소스로 직접 리다이렉트하는 단일 리다이렉트 메시지를 포함하는, 프록시 서버.
  21. 제 18 항에 있어서,
    상기 하나 이상의 리다이렉트 메시지들은, 상기 초기 웹 리소스로부터 상기 대체 웹 리소스로 점증적으로 리다이렉트하도록 기능하는 복수의 리다이렉트 메시지들을 포함하는, 프록시 서버.
  22. 제 18 항에 있어서,
    상기 대체 웹 리소스에 대한 상기 프록시 서버의 요청에 응답하여 상기 대체 웹 리소스에 대한 쿠키를 상기 서버로부터 획득하도록 구성된 로직; 및
    획득된 상기 쿠키에 기초하여 래핑된 쿠키를 생성하도록 구성된 로직
    을 더 포함하고,
    상기 웹 리소스 리다이렉션 프로시저를 시뮬레이션하라는 명령들은, 상기 초기 웹 리소스에 대한 주어진 쿠키로서 상기 래핑된 쿠키를 상기 모바일 웹 브라우저에 공급하라고 상기 프록시 클라이언트 애플리케이션에게 명령하도록 구성되는, 프록시 서버.
  23. 제 18 항에 있어서,
    상기 클라이언트 디바이스로부터 상기 초기 웹 리소스에 대한 보충 요청을 수신하도록 구성된 로직으로서, 상기 보충 요청은 래핑된 쿠키를 포함하는, 상기 초기 웹 리소스에 대한 보충 요청을 수신하도록 구성된 로직;
    상기 대체 웹 리소스에 대한 획득된 상기 쿠키에 대응하는 언래핑된 쿠키를 생성하도록 상기 래핑된 쿠키를 언래핑하도록 구성된 로직;
    상기 클라이언트 디바이스의 보충 요청에 응답하여 상기 클라이언트 디바이스를 대신하여 상기 초기 웹 리소스를 요청하도록 구성된 로직;
    상기 클라이언트 디바이스와의 상호작용과는 독립적이고 (i) 상기 초기 웹 리소스로부터 상기 대체 웹 리소스로 리다이렉트하는 하나 이상의 보충 리다이렉트 메시지들을 수신하는 것, (ii) 상기 하나 이상의 보충 리다이렉트 메시지들에 기초하여 상기 대체 웹 리소스를 상기 서버로부터 요청하는 것으로서, 상기 대체 웹 리소스에 대한 상기 프록시 서버의 요청은 상기 언래핑된 쿠키를 포함하도록 구성되는, 상기 대체 웹 리소스를 상기 서버로부터 요청하는 것, 및 (iii) 상기 대체 웹 리소스와 연관된 보충 웹 리소스 콘텐츠를 상기 서버로부터 수신하는 것을 포함하는 보충 웹 리소스 리다이렉션 프로시저를 상기 프록시 서버에서 실행하도록 구성된 로직; 및
    상기 프록시 클라이언트 애플리케이션과 상기 모바일 웹 브라우저 사이에서 상기 보충 웹 리소스 리다이렉션 프로시저를 상기 클라이언트 디바이스 상에 시뮬레이션하라는 보충 명령들과 함께 상기 대체 웹 리소스와 연관된 보충 웹 리소스 콘텐츠를 상기 클라이언트 디바이스 상의 상기 프록시 클라이언트 애플리케이션에게 전달하도록 구성된 로직
    을 더 포함하는, 프록시 서버.
  24. 제 18 항에 있어서,
    상기 전달하도록 구성된 로직은, 상기 클라이언트 디바이스 상의 시뮬레이션된 상기 웹 리소스 리다이렉션 프로시저 동안 상기 초기 웹 리소스에 대한 주어진 쿠키로서 사용될 래핑된 쿠키와 연관되어 상기 명령들을 전달하는, 프록시 서버.
  25. 제 24 항에 있어서,
    상기 클라이언트 디바이스로부터 상기 초기 웹 리소스에 대한 보충 요청을 수신하도록 구성된 로직으로서, 상기 보충 요청은 상기 래핑된 쿠키를 포함하는, 상기 초기 웹 리소스에 대한 보충 요청을 수신하도록 구성된 로직; 및
    상기 웹 리소스 리다이렉션 프로시저 동안 상기 대체 웹 리소스에 대해 상기 프록시 서버에 의해 수신된 주어진 쿠키에 대응하는 리다이렉트 쿠키를 생성하도록 상기 래핑된 쿠키를 언래핑하도록 구성된 로직
    을 더 포함하는, 프록시 서버.
  26. 제 25 항에 있어서,
    보충 웹 리소스 리다이렉션 프로시저와 관련하여 상기 대체 웹 리소스를 요청하기 위해 상기 리다이렉트 쿠키를 상기 서버에 공급하도록 구성된 로직을 더 포함하는, 프록시 서버.
  27. 프록시 클라이언트 애플리케이션을 실행하도록 구성된 클라이언트 디바이스로서,
    초기 웹 리소스에 대한 요청을 프록시 서버에 송신하도록 구성된 로직;
    송신된 상기 요청에 응답하여 상기 프록시 서버로부터, (i) 상기 초기 웹 리소스와는 상이한 대체 웹 리소스와 연관된 웹 리소스 콘텐츠, 및 (ii) 상기 프록시 서버에서 발생한 웹 리소스 리다이렉션 프로시저를 시뮬레이션하라는 명령들을 포함하는 데이터를 수신하도록 구성된 로직; 및
    (i) 상기 초기 웹 리소스로부터 상기 대체 웹 리소스로 상기 클라이언트 디바이스 상의 모바일 웹 브라우저를 리다이렉트하는 하나 이상의 리다이렉트 메시지들을 상기 모바일 웹 브라우저에게 전송하는 것, (ii) 상기 하나 이상의 리다이렉트 메시지들에 응답하여 상기 모바일 웹 브라우저로부터 상기 대체 웹 리소스에 대한 요청을 수신하는 것, 및 (iii) 상기 모바일 웹 브라우저로부터 수신된 상기 요청에 응답하여, 송신된 상기 요청에 응답하여 상기 프록시 서버로부터 상기 프록시 클라이언트 애플리케이션에 의해 수신된 상기 대체 웹 리소스와 연관된 웹 리소스 콘텐츠를 전달하는 것에 의해 상기 명령들에 응답하여 상기 프록시 서버에서 발생한 상기 웹 리소스 리다이렉션 프로시저를 시뮬레이션하도록 구성된 로직
    을 포함하는, 클라이언트 디바이스.
  28. 제 27 항에 있어서,
    상기 초기 웹 리소스는 웹 페이지이거나, 또는
    상기 초기 웹 리소스는 하나 이상의 네트워크 주소지정가능 엘리먼트들 또는 오브젝트들의 세트인, 클라이언트 디바이스.
  29. 제 27 항에 있어서,
    상기 하나 이상의 리다이렉트 메시지들은, 상기 초기 웹 리소스로부터 상기 대체 웹 리소스로 직접 리다이렉트하는 단일 리다이렉트 메시지를 포함하는, 클라이언트 디바이스.
  30. 제 27 항에 있어서,
    상기 하나 이상의 리다이렉트 메시지들은, 상기 초기 웹 리소스로부터 상기 대체 웹 리소스로 점증적으로 리다이렉트하도록 기능하는 복수의 리다이렉트 메시지들을 포함하는, 클라이언트 디바이스.
  31. 제 27 항에 있어서,
    상기 데이터는, 상기 클라이언트 디바이스 상의 시뮬레이션된 상기 웹 리소스 리다이렉션 프로시저 동안 상기 초기 웹 리소스에 대한 주어진 쿠키로서 사용될 래핑된 쿠키를 포함하는, 클라이언트 디바이스.
  32. 제 31 항에 있어서,
    상기 래핑된 쿠키는, 상기 하나 이상의 리다이렉트 메시지들과 관련하여 시뮬레이션된 상기 웹 리소스 리다이렉트 프로시저 동안 상기 모바일 웹 브라우저에 제공되는, 클라이언트 디바이스.
  33. 제 31 항에 있어서,
    상기 초기 웹 리소스에 대한 보충 요청을 상기 프록시 서버에 송신하도록 구성된 로직을 더 포함하고,
    송신된 상기 보충 요청은 상기 래핑된 쿠키를 포함하는, 클라이언트 디바이스.
  34. 제 31 항에 있어서,
    상기 래핑된 쿠키는, 상기 프록시 서버에서 발생한 상기 웹 리소스 리다이렉트 프로시저 동안 상기 프록시 서버에서 수신된 리다이렉트 쿠키의, 상기 프록시 서버에 의한, 재구성을 허용하도록 구성되는, 클라이언트 디바이스.
  35. 프록시 서버로서,
    클라이언트 디바이스로부터 초기 웹 리소스에 대한 요청을 수신하는 수단;
    상기 클라이언트 디바이스의 요청에 응답하여 상기 클라이언트 디바이스를 대신하여 상기 초기 웹 리소스를 요청하는 수단;
    상기 클라이언트 디바이스와의 상호작용과는 독립적이고 (i) 상기 초기 웹 리소스로부터 대체 웹 리소스로 리다이렉트하는 하나 이상의 리다이렉트 메시지들을 수신하는 것, (ii) 상기 하나 이상의 리다이렉트 메시지들에 기초하여 상기 대체 웹 리소스를 서버로부터 요청하는 것, 및 (iii) 상기 대체 웹 리소스와 연관된 웹 리소스 콘텐츠를 상기 서버로부터 수신하는 것을 포함하는 웹 리소스 리다이렉션 프로시저를 상기 프록시 서버에서 실행하는 수단; 및
    상기 클라이언트 디바이스 상의 프록시 클라이언트 애플리케이션과 모바일 웹 브라우저 사이에서 상기 웹 리소스 리다이렉션 프로시저를 상기 클라이언트 디바이스 상에 시뮬레이션하라는 명령들과 함께 상기 웹 리소스 콘텐츠를 상기 클라이언트 디바이스 상의 상기 프록시 클라이언트 애플리케이션에 전달하는 수단
    을 포함하는, 프록시 서버.
  36. 프록시 클라이언트 애플리케이션을 실행하도록 구성된 클라이언트 디바이스로서,
    초기 웹 리소스에 대한 요청을 프록시 서버에 송신하는 수단;
    송신된 상기 요청에 응답하여 상기 프록시 서버로부터, (i) 상기 초기 웹 리소스와는 상이한 대체 웹 리소스와 연관된 웹 리소스 콘텐츠, 및 (ii) 상기 프록시 서버에서 발생한 웹 리소스 리다이렉션 프로시저를 시뮬레이션하라는 명령들을 포함하는 데이터를 수신하는 수단; 및
    (i) 상기 초기 웹 리소스로부터 상기 대체 웹 리소스로 상기 클라이언트 디바이스 상의 모바일 웹 브라우저를 리다이렉트하는 하나 이상의 리다이렉트 메시지들을 상기 모바일 웹 브라우저에게 전송하는 것, (ii) 상기 하나 이상의 리다이렉트 메시지들에 응답하여 상기 모바일 웹 브라우저로부터 상기 대체 웹 리소스에 대한 요청을 수신하는 것, 및 (iii) 상기 모바일 웹 브라우저로부터 수신된 상기 요청에 응답하여, 송신된 상기 요청에 응답하여 상기 프록시 서버로부터 상기 프록시 클라이언트 애플리케이션에 의해 수신된 상기 대체 웹 리소스와 연관된 웹 리소스 콘텐츠를 전달하는 것에 의해 상기 명령들에 응답하여 상기 프록시 서버에서 발생한 상기 웹 리소스 리다이렉션 프로시저를 시뮬레이션하는 수단
    을 포함하는, 클라이언트 디바이스.
  37. 저장된 명령들을 포함하는 비일시적 컴퓨터 판독가능 매체로서,
    상기 명령들은, 프록시 서버에 의해 실행될 때, 상기 프록시 서버로 하여금 동작들을 수행하게 하고,
    상기 명령들은,
    상기 프록시 서버로 하여금 클라이언트 디바이스로부터 초기 웹 리소스에 대한 요청을 수신하게 하기 위한 적어도 하나의 명령;
    상기 프록시 서버로 하여금 상기 클라이언트 디바이스의 요청에 응답하여 상기 클라이언트 디바이스를 대신하여 상기 초기 웹 리소스를 요청하게 하기 위한 적어도 하나의 명령;
    상기 프록시 서버로 하여금, 상기 클라이언트 디바이스와의 상호작용과는 독립적이고 (i) 상기 초기 웹 리소스로부터 대체 웹 리소스로 리다이렉트하는 하나 이상의 리다이렉트 메시지들을 수신하는 것, (ii) 상기 하나 이상의 리다이렉트 메시지들에 기초하여 상기 대체 웹 리소스를 서버로부터 요청하는 것, 및 (iii) 상기 대체 웹 리소스와 연관된 웹 리소스 콘텐츠를 상기 서버로부터 수신하는 것을 포함하는 웹 리소스 리다이렉션 프로시저를 상기 프록시 서버에서 실행하게 하기 위한 적어도 하나의 명령; 및
    상기 프록시 서버로 하여금, 상기 클라이언트 디바이스 상의 프록시 클라이언트 애플리케이션과 모바일 웹 브라우저 사이에서 상기 웹 리소스 리다이렉션 프로시저를 상기 클라이언트 디바이스 상에 시뮬레이션하라는 명령들과 함께 상기 웹 리소스 콘텐츠를 상기 클라이언트 디바이스 상의 상기 프록시 클라이언트 애플리케이션에 전달하게 하기 위한 적어도 하나의 명령
    을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  38. 저장된 명령들을 포함하는 비일시적 컴퓨터 판독가능 매체로서,
    상기 명령들은, 프록시 클라이언트 애플리케이션을 실행하도록 구성된 클라이언트 디바이스에 의해 실행될 때, 상기 클라이언트 디바이스로 하여금 동작들을 수행하게 하고,
    상기 명령들은,
    상기 클라이언트 디바이스로 하여금 초기 웹 리소스에 대한 요청을 프록시 서버에 송신하게 하기 위한 적어도 하나의 명령;
    상기 클라이언트 디바이스로 하여금, 송신된 상기 요청에 응답하여 상기 프록시 서버로부터, (i) 상기 초기 웹 리소스와는 상이한 대체 웹 리소스와 연관된 웹 리소스 콘텐츠, 및 (ii) 상기 프록시 서버에서 발생한 웹 리소스 리다이렉션 프로시저를 시뮬레이션하라는 명령들을 포함하는 데이터를 수신하게 하기 위한 적어도 하나의 명령; 및
    상기 클라이언트 디바이스로 하여금, (i) 상기 초기 웹 리소스로부터 상기 대체 웹 리소스로 상기 클라이언트 디바이스 상의 모바일 웹 브라우저를 리다이렉트하는 하나 이상의 리다이렉트 메시지들을 상기 모바일 웹 브라우저에게 전송하는 것, (ii) 상기 하나 이상의 리다이렉트 메시지들에 응답하여 상기 모바일 웹 브라우저로부터 상기 대체 웹 리소스에 대한 요청을 수신하는 것, 및 (iii) 상기 모바일 웹 브라우저로부터 수신된 상기 요청에 응답하여, 송신된 상기 요청에 응답하여 상기 프록시 서버로부터 상기 프록시 클라이언트 애플리케이션에 의해 수신된 상기 대체 웹 리소스와 연관된 웹 리소스 콘텐츠를 전달하는 것에 의해 상기 명령들에 응답하여 상기 프록시 서버에서 발생한 상기 웹 리소스 리다이렉션 프로시저를 시뮬레이션하게 하기 위한 적어도 하나의 명령
    을 포함하는, 비일시적 컴퓨터 판독가능 매체.
KR1020157018355A 2012-12-13 2013-12-12 통신 시스템에서의 클라이언트 디바이스의 웹 브라우저 상의 리다이렉트된 웹 리소스의 로딩 KR20150095791A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261736981P 2012-12-13 2012-12-13
US61/736,981 2012-12-13
US14/103,437 2013-12-11
US14/103,437 US9344512B2 (en) 2012-12-13 2013-12-11 Loading a re-directed web resource on a web browser of a client device in a communications system
PCT/US2013/074805 WO2014093704A1 (en) 2012-12-13 2013-12-12 Loading a re-directed web resource on a web browser of a client device in a communications system

Publications (1)

Publication Number Publication Date
KR20150095791A true KR20150095791A (ko) 2015-08-21

Family

ID=50932236

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020157018354A KR101756567B1 (ko) 2012-12-13 2013-12-12 통신 시스템에서의 클라이언트 디바이스의 웹 브라우저 상의 리다이렉트된 웹 페이지의 로딩
KR1020157018355A KR20150095791A (ko) 2012-12-13 2013-12-12 통신 시스템에서의 클라이언트 디바이스의 웹 브라우저 상의 리다이렉트된 웹 리소스의 로딩

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020157018354A KR101756567B1 (ko) 2012-12-13 2013-12-12 통신 시스템에서의 클라이언트 디바이스의 웹 브라우저 상의 리다이렉트된 웹 페이지의 로딩

Country Status (9)

Country Link
US (2) US9374436B2 (ko)
EP (2) EP2932691B1 (ko)
JP (2) JP6138964B2 (ko)
KR (2) KR101756567B1 (ko)
CN (2) CN104854844B (ko)
EC (1) ECSP15030071A (ko)
SA (1) SA515360579B1 (ko)
TW (2) TWI529540B (ko)
WO (2) WO2014093704A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102444356B1 (ko) * 2021-11-19 2022-09-16 주식회사 제론소프트엔 보안 강화 인트라넷 접속 방법 및 시스템

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE420512T1 (de) 1999-10-22 2009-01-15 Nomadix Inc System und verfahren zur dynamischen teilnehmer- basierten bandbreitenverwaltung in einem kommunikationsnetz
WO2008042804A2 (en) 2006-09-29 2008-04-10 Nomadix, Inc. Systems and methods for injecting content
US20110030037A1 (en) 2009-07-07 2011-02-03 Vadim Olshansky Zone migration in network access
US9137281B2 (en) 2012-06-22 2015-09-15 Guest Tek Interactive Entertainment Ltd. Dynamically enabling guest device supporting network-based media sharing protocol to share media content over local area computer network of lodging establishment with subset of in-room media devices connected thereto
US9374436B2 (en) * 2012-12-13 2016-06-21 Qualcomm Incorporated Loading a re-directed web page on a web browser of a client device in a communications system
US9609575B2 (en) 2012-12-31 2017-03-28 T-Mobile Usa, Inc. Intelligent routing of network packets on telecommunication devices
US10375629B2 (en) * 2012-12-31 2019-08-06 T-Mobile Usa, Inc. Service preferences for multiple-carrier-enabled devices
EP3000219B1 (en) * 2013-05-20 2020-09-30 Nokia Technologies Oy Access to data source via proxy
US10257136B2 (en) * 2013-05-28 2019-04-09 Convida Wireless, Llc Data aggregation in the internet of things
US10592920B2 (en) * 2013-09-19 2020-03-17 Liveramp, Inc. Method and system for tracking user engagement on multiple third-party sites
WO2015078566A1 (en) * 2013-11-27 2015-06-04 Gmc Software Ag System and method for testing data representation for different mobile devices
US9509661B2 (en) * 2014-10-29 2016-11-29 Aruba Networks, Inc. Method and apparatus for displaying HTTPS block page without SSL inspection
CN104408135B (zh) * 2014-11-27 2017-12-19 北京国双科技有限公司 网页热力图的加载方法和装置
CN104484399B (zh) * 2014-12-12 2017-11-21 北京国双科技有限公司 网页页面的跳转处理方法和装置
US10404808B2 (en) * 2015-09-14 2019-09-03 Colorado Code Craft Patent Holdco, LLC Secure, anonymous browsing with a remote browsing server
CN105306442B (zh) * 2015-09-17 2018-12-25 物联智慧科技(深圳)有限公司 代理服务器及其指令传输方法
US9832229B2 (en) 2015-12-14 2017-11-28 Bank Of America Corporation Multi-tiered protection platform
US9832200B2 (en) 2015-12-14 2017-11-28 Bank Of America Corporation Multi-tiered protection platform
US9992163B2 (en) 2015-12-14 2018-06-05 Bank Of America Corporation Multi-tiered protection platform
CN105978939A (zh) * 2016-04-25 2016-09-28 乐视控股(北京)有限公司 一种数据下载方法及设备
JP6786967B2 (ja) 2016-09-02 2020-11-18 コニカミノルタ株式会社 情報処理装置およびプログラム
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
DE112016007289T5 (de) * 2016-09-30 2019-06-19 Intel Corporation Erweiterter speicher für smm-transfermonitor
CN106934019B (zh) * 2017-03-10 2020-02-14 深圳市商舟网科技有限公司 访问网站的方法和装置
CN108990423B (zh) * 2017-04-03 2022-01-28 谷歌有限责任公司 减少重定向
US11025724B2 (en) * 2017-07-24 2021-06-01 Facebook, Inc. Transport of control data in proxy-based network communications
CN107959727B (zh) * 2017-12-14 2021-10-29 腾讯科技(深圳)有限公司 网页与客户端之间进行通讯的方法及装置
US11962665B2 (en) * 2018-06-07 2024-04-16 Cloudflare, Inc. Automatically redirecting mobile client devices to optimized mobile content
CN109726344A (zh) * 2018-11-26 2019-05-07 国云科技股份有限公司 一种服务器端对客户端识别后重定向到对应页面的方法
CN110401597B (zh) * 2019-07-11 2022-02-01 上海易点时空网络有限公司 单域名多子项目的路由方法及装置、存储介质
CN110890982B (zh) * 2019-11-22 2023-07-04 青岛海尔科技有限公司 一种用于配网的方法和接入设备、物联设备
CN111459589A (zh) * 2020-03-30 2020-07-28 深信服科技股份有限公司 重定向处理方法、虚拟桌面基础架构及可读存储介质
US11356502B1 (en) * 2020-04-10 2022-06-07 Wells Fargo Bank, N.A. Session tracking
US11514129B1 (en) * 2020-10-13 2022-11-29 Cisco Technology, Inc. Customizable redaptor extensions for single-page web applications
CN112351103B (zh) * 2020-11-10 2022-12-27 上海哔哩哔哩科技有限公司 资源管理方法及装置

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7080158B1 (en) * 1999-02-09 2006-07-18 Nortel Networks Limited Network caching using resource redirection
US7401115B1 (en) * 2000-10-23 2008-07-15 Aol Llc Processing selected browser requests
US7003571B1 (en) * 2000-01-31 2006-02-21 Telecommunication Systems Corporation Of Maryland System and method for re-directing requests from browsers for communication over non-IP based networks
US7475404B2 (en) * 2000-05-18 2009-01-06 Maquis Techtrix Llc System and method for implementing click-through for browser executed software including ad proxy and proxy cookie caching
US7099915B1 (en) 2000-06-30 2006-08-29 Cisco Technology, Inc. Server load balancing method and system
US6865605B1 (en) * 2000-10-04 2005-03-08 Microsoft Corporation System and method for transparently redirecting client requests for content using a front-end indicator to preserve the validity of local caching at the client system
US20020059371A1 (en) 2000-11-16 2002-05-16 Jamail John M. Caching proxy streaming appliance systems and methods
US6981210B2 (en) * 2001-02-16 2005-12-27 International Business Machines Corporation Self-maintaining web browser bookmarks
US6986047B2 (en) * 2001-05-10 2006-01-10 International Business Machines Corporation Method and apparatus for serving content from a semi-trusted server
US8108524B2 (en) * 2001-12-18 2012-01-31 Perftech, Inc. Internet connection user communications system
US7970816B2 (en) * 2002-03-01 2011-06-28 NetSuite Inc. Client-side caching of pages with changing content
US20030182424A1 (en) 2002-03-22 2003-09-25 Steve Odendahl Scriptable proxy server
US7441026B2 (en) * 2003-07-10 2008-10-21 Sun Microsystems, Inc. System and method for guarding against infinite loops from multi-point redirects in a multi-threaded environment
US20050060410A1 (en) 2003-09-11 2005-03-17 Nokia Corporation System and method for proxy-based redirection of resource requests
US9032096B2 (en) 2003-12-17 2015-05-12 Cisco Technology, Inc. Reducing the impact of network latency on application performance
US7873707B1 (en) * 2004-10-27 2011-01-18 Oracle America, Inc. Client-side URL rewriter
DE602005021834D1 (de) 2004-12-22 2010-07-22 Research In Motion Ltd System und Verfahren zur Erhöhung der Netzwerk-Durchsuchgeschwindigkeit mittels Einstellung eines Proxy-Servers auf einem tragbaren Gerät
US7647424B2 (en) 2005-06-15 2010-01-12 Hostway Corporation Multi-level redirection system
US9009838B2 (en) * 2008-07-24 2015-04-14 Front Porch, Inc. Method and apparatus for effecting an internet user's privacy directive
US9268871B2 (en) * 2008-10-16 2016-02-23 Qualcomm Incorporated Methods and apparatus for obtaining content with reduced access times
CN101729328B (zh) 2008-10-27 2012-04-04 中兴通讯股份有限公司 自动配置服务器重定向方法及自动配置服务器
US8682327B2 (en) 2009-03-13 2014-03-25 Qualcomm Incorporated Resource search in a communication network
US8335819B2 (en) * 2009-12-31 2012-12-18 Nokia Corporation Method and apparatus for providing client-side caching
JP5581820B2 (ja) 2010-06-04 2014-09-03 富士通株式会社 中継サーバ装置、クッキー制御方法およびクッキー制御プログラム
US8971820B2 (en) * 2010-07-05 2015-03-03 Telefonaktiebolaget L M Ericsson (Publ) Power consumption reduction in a user terminal
CA2806557C (en) * 2010-07-26 2014-10-07 Michael Luna Mobile application traffic optimization
US10296653B2 (en) * 2010-09-07 2019-05-21 F5 Networks, Inc. Systems and methods for accelerating web page loading
US8484373B2 (en) * 2010-10-25 2013-07-09 Google Inc. System and method for redirecting a request for a non-canonical web page
US8868638B2 (en) * 2010-11-09 2014-10-21 Usablenet Inc. Methods for reducing latency in network connections using automatic redirects and systems thereof
US8984164B2 (en) 2010-11-09 2015-03-17 Usablenet Inc. Methods for reducing latency in network connections and systems thereof
US20150207660A1 (en) * 2011-12-12 2015-07-23 Google Inc. Client-side url redirection
US9374436B2 (en) * 2012-12-13 2016-06-21 Qualcomm Incorporated Loading a re-directed web page on a web browser of a client device in a communications system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102444356B1 (ko) * 2021-11-19 2022-09-16 주식회사 제론소프트엔 보안 강화 인트라넷 접속 방법 및 시스템

Also Published As

Publication number Publication date
US20140172945A1 (en) 2014-06-19
KR101756567B1 (ko) 2017-07-10
WO2014093704A1 (en) 2014-06-19
SA515360579B1 (ar) 2017-01-25
JP6138964B2 (ja) 2017-05-31
TW201435618A (zh) 2014-09-16
TWI529540B (zh) 2016-04-11
ECSP15030071A (es) 2016-01-29
US20140172946A1 (en) 2014-06-19
JP2016509277A (ja) 2016-03-24
US9344512B2 (en) 2016-05-17
EP2932691A1 (en) 2015-10-21
TWI508507B (zh) 2015-11-11
KR20150095790A (ko) 2015-08-21
TW201431340A (zh) 2014-08-01
EP2932686B1 (en) 2016-09-21
EP2932686A1 (en) 2015-10-21
JP6325570B2 (ja) 2018-05-16
CN104854844A (zh) 2015-08-19
CN104854843B (zh) 2018-10-09
JP2016510445A (ja) 2016-04-07
EP2932691B1 (en) 2016-09-07
CN104854844B (zh) 2018-05-22
CN104854843A (zh) 2015-08-19
US9374436B2 (en) 2016-06-21
WO2014093699A1 (en) 2014-06-19

Similar Documents

Publication Publication Date Title
KR101756567B1 (ko) 통신 시스템에서의 클라이언트 디바이스의 웹 브라우저 상의 리다이렉트된 웹 페이지의 로딩
US10813154B2 (en) Enabling interface aggregation of mobile broadband network interfaces
JP6356136B2 (ja) 短縮urlにアクセスするためのプリエンプティブフレームワーク
US11323502B2 (en) Transport method selection for delivery of server notifications
US10694503B2 (en) Tethering over a wireless communication channel
US20220225211A1 (en) Path Switching Method, Communication Apparatus, And Communication System
US9225579B2 (en) Renewing registrations for a plurality of client applications that are associated with the same host server via an explicit piggybacking scheme
EP3213479A1 (en) Efficient group communications leveraging lte-d discovery for application layer contextual communication

Legal Events

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