KR102112605B1 - 모바일 단말 및 모바일 단말의 네트워크 전송 제어 방법 - Google Patents

모바일 단말 및 모바일 단말의 네트워크 전송 제어 방법 Download PDF

Info

Publication number
KR102112605B1
KR102112605B1 KR1020130076593A KR20130076593A KR102112605B1 KR 102112605 B1 KR102112605 B1 KR 102112605B1 KR 1020130076593 A KR1020130076593 A KR 1020130076593A KR 20130076593 A KR20130076593 A KR 20130076593A KR 102112605 B1 KR102112605 B1 KR 102112605B1
Authority
KR
South Korea
Prior art keywords
web
information
terminal
web server
web browser
Prior art date
Application number
KR1020130076593A
Other languages
English (en)
Other versions
KR20150003563A (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 삼성전자 주식회사
Priority to KR1020130076593A priority Critical patent/KR102112605B1/ko
Priority to PCT/KR2014/005869 priority patent/WO2015002443A1/en
Priority to US14/321,704 priority patent/US10404774B2/en
Publication of KR20150003563A publication Critical patent/KR20150003563A/ko
Application granted granted Critical
Publication of KR102112605B1 publication Critical patent/KR102112605B1/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/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • 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/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/18Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
    • 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/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5683Storage of data provided by user terminals, i.e. reverse caching

Abstract

본 발명은 모바일 단말 및 모바일 단말의 웹 서버 접속 제어 방법에 관한 것이다. 본 발명은 웹 기반의 응용 서비스에서 클라이언트와 서버 사이의 콘텐츠/트래픽 전송 속도를 가속화 함으로서, 웹 서비스를 사용하는 사용자의 만족도를 향상시키기 위한 것이다. 특히 본 발명은 모바일 네트워크 환경에서의 웹 서비스 성능 개선을 주목적으로 하고 있다.
이에 따른 본 발명은, 단말내장 웹 프록시(In-device Web Proxy)의 단말에 대한 웹 서버 접속 제어 방법으로, 제1 OS(Operating System)에서 동작하는 웹 브라우저에 의하여 웹 서버로의 접속 요청이 발생하면, 상기 웹 서버로 상기 접속 요청을 전송하는 단계; 상기 접속 요청에 응답하여, 상기 웹 서버로부터 접속 응답이 수신되면, 상기 접속 응답에 포함된 정보를 캐싱하는 단계; 및 상기 제1 OS에서 동작하는 웹 브라우저 또는 상기 제1 OS와 다른 제2 OS에서 동작하는 웹 브라우저에 의하여 상기 웹 서버로의 새로운 접속 요청이 발생하면, 상기 웹 브라우저 또는 상기 웹 서버로 상기 새로운 접속 요청에 대응하는 상기 캐싱 된 정보를 전송하는 단계를 포함하는 것을 특징으로 하는 웹 서버 접속 제어 방법 및 그 단말에 관한 것이다.

Description

모바일 단말 및 모바일 단말의 네트워크 전송 제어 방법{Mobile device and Method for controlling network transfer of the mobile device}
본 발명은 모바일 단말 및 모바일 단말의 웹 서버 접속 제어 방법에 관한 것이다. 본 발명은 웹 기반의 응용 서비스에서 클라이언트와 서버 사이의 콘텐츠/트래픽 전송 속도를 가속화 함으로서, 웹 서비스를 사용하는 사용자의 만족도를 향상시키기 위한 것이다. 특히 본 발명은 모바일 네트워크 환경에서의 웹 서비스 성능 개선을 주목적으로 하고 있다.
도 1은 종래 기술에 따른 네트워크 구조를 나타낸 도면이다.
도 1을 참조하면, 네트워크의 오른쪽 종단에는 웹 서비스를 제공하는 웹 서버(Web Server)(100)가 있으며, 왼쪽 종단에는 Web Server에 접속하여 서비스를 사용하는 모바일 단말들(210, 220, 230)이 있다. 모바일 단말의 종류는 크게 세 가지로 구분할 수 있다.
첫째는 단일 OS 독립형 단말(Single Operating System Standalone User Equipment)로 하나의 운영체제만을 지원하며, 본인만이 네트워크 접속하여 웹 서비스를 사용하는 단말이다.
둘째는 복수 OS 독립형 단말(Multiple Operating System Standalone User Equipment)로 둘 이상의 운영체제를 동시에 지원할 수 있지만, 단일 OS 독립형 단말과 마찬가지로 본인만이 네트워크 접속하여 웹 서비스를 사용하는 단말이다.
셋째는 단일 혹은 복수의 OS를 지원하면서 단말 스스로 웹 서비스를 사용할 수 있고, 동시에 해당 단말을 통해서 다른 장치도 웹 서비스를 받을 수 있도록 하는 단말이다. 도 1을 참조하면, 단말을 통해 웹 서비스를 받는 다른 장치는 자동차 안의 기기들, 카메라, 노트북 컴퓨터, 스마트 TV(Television), 다른 휴대 단말 등일 수 있다. 이러한 장치들은 주로 근거리 통신 기술을 통해서 일종의 허브(Hub) 기능을 지원하는 모바일 단말로 접속한다.
상기 세 가지 타입의 모바일 단말(210, 220, 230)은 모바일 네트워크의 기지국(Base Station)(310, 320, 330)에 접속하여 무선 통신을 수행한다. 모바일 단말(210, 220, 230)의 웹 서비스 트래픽은 사업자(NSP: Network Service Provider)의 IP네트워크(400)를 지나 인터넷(Internet)(500)을 통과하여 웹 서버로 전송되며, 해당 경로로 웹 서비스 콘텐츠가 전송된다.
도 2는 프록시 서버가 추가된 종래 기술에 따른 네트워크 구조를 나타낸 도면이다.
도 2에 도시된 네트워크 구조는 도 1에 도시된 네트워크에 프록시 서버(Network Proxy Server)가 추가되어 있다. 프록시 서버는 주로 웹 서비스를 사용하는 단말 쪽에 가까이 위치하며, 원거리에 위치한 웹 서버의 콘텐츠를 캐싱(caching)하였다가, 웹 서버 대신 단말에게 전달하여, 단말을 사용하는 사용자의 콘텐츠 다운로드 체감 속도가 상승하도록 한다.
도 3은 종래 기술에 따른 단일 OS를 지원하는 모바일 단말의 구조를 나타낸 블록도이다.
도 3을 참조하면, 모바일 단말은 최상단에 웹 서비스를 사용하는 웹 브라우저(Web Browser)들과 웹 응용서비스(Web Application)들을 포함하며, 웹 브라우저(Web Browser)들과 웹 응용서비스(Web Application)들의 하단에 이들이 활용하는 전송 계층 프로토콜을 포함한다. 전송 계층 프로토콜은 운영체제(Operating System; OS)의 일부로 존재한다. 도 3을 참조하면, 전송 계층 프로토콜은 전송/네트워크 계층(Transport/Network Layer) 및 네트워크 브릿지(Network Bridge)로 구성 된다.
전송 계층 프로토콜은 필요한 경우, 웹 브라우저가 지원하는 기능의 한도 내에서, 운영체제가 관리하는 부가 장치에 접근할 수 있다. 웹 브라우저에 제한이 이는 경우, 전송 계층 프로토콜은 부가 장치로의 접근이 불가능할 수도 있다.
부가 장치는 사용자 정보를 저장하는 모바일 단말 내부의 USIM(Universal Subscriber Identity Module), 하드디스크 혹은 마이크로SD와 같은 저장공간(Storage), GPS(Global Positioning System), 다양한 센서 장치(Sensor #1 내지 Sensor #n) 그리고 GPU(Graphics Processing Unit) 등을 포함할 수 있다.
전송 프로토콜 하단에는 다양한 서비스와 프로세스들을 외부 네트워크로 연결하는 NIC(Network Interface Card)가 구성된다. NIC의 예로는 무선랜(WLAN: Wireless Local Area Network) 카드, 셀룰러(Cellular) 이동통신 카드 등이 있다. NIC는 모바일 단말에 복수로 존재하는 경우가 대부분이며, 통상 기지국과의 연결에 있어서 복수의 NIC 중 하나가 선택되어 사용된다. 그리고 NIC 중 일부는 도 1 및 도 2에서 기술한 모바일 단말의 종류 중 셋째 모바일 단말처럼, 다른 주변 장치의 모바일 통신을 지원하기 위한 용도로 활용된다.
도 4는 종래 기술에 따른 복수 OS를 지원하는 모바일 단말의 구조를 나타낸 블록도이다.
도 4에 도시된 단말은, 상술한 모바일 단말의 종류 중 둘째 및 셋째 모바일 단말과 같이 복수OS를 지원하는 모바일 단말의 내부 구조도를 나타낸다.
도 4에 도시된 단말과 도 3에 도시된 단말 간의 차이점은, OS A#와 함께 OS B#가 동일한 단말에서 동시에 동작한다는 것이다. 따라서 복수의 OS와 각각 연관된 웹 브라우저와 웹 응용서비스가 동작하며, 각각의 OS는 개별적인 전송/네트워크 계층 프로토콜을 갖는다. 그리고 각각의 전송/네트워크 계층 프로토콜은 가상의 NIC를 통하여 실제 물리적인 NIC를 제어/관리하는 네트워킹 브리지(Networking Bridge)로 연결된다. 모바일 단말 내부의 부가 장치(예를 들면, USIM, 하드디스크, GPS 등)는 복수의 OS가 동시에 공유하여 사용한다.
도 5는 종래 기술에 따른 모바일 단말에서 동종 또는 이종의 OS 상에 위치한 웹 브라우저(또는 웹 응용 서비스)가 동일한 웹 서버에 접속하는 동작의 일 예를 나타낸 흐름도이다.
도 5를 참조하면, 동종 또는 이종의 OS상에 위치한 웹 브라우저는 각각 독립적으로 웹 서버에 접속하게 되므로(즉, 독립적으로 HTTP GET 및 HTTP RES 메시지 교환을 수행함.), 같은 웹 서버를 접속하는 경우에도 두 개의 웹 브라우저 간의 동작에는 아무런 연관이 없는 것을 볼 수 있다.
본 발명과 관련한 종래 기술의 첫째 문제점은 현재까지의 웹 서비스 전송 속도 향상 기술들이 웹 서버에서 단말로의 콘텐츠 전송에만 관심을 기울여 왔기에 단말에서 웹 서버로의 데이터 전송은 비교적 기술 개선이 이루어 지지 않았다는 점이다. 즉 종래에는, 웹 서버에서 단말로의 데이터 전송은 압축 혹은 캐싱 등을 이용하여 응답 속도를 개선하고자 하는 연구가 있었으나, 단말에서 웹 서버로의 데이터 전송에 있어서 속도 개선에 관한 연구는 이루어 지지 않고 있다. 특히, 도 2에 도시된 프록시 서버의 경우, 모바일 단말의 관점에서 이미 무선 구간을 통과한 이후에 위치하므로 데이터 전송 성능에 큰 영향을 주는 무선 구간에서 대하여는 어떠한 개선점도 제공할 수 없다.
둘째 문제점은 모바일 단말의 경우, 기존의 웹 성능개선 기술이 웹 브라우저에 국한하여 제안된다는 점이다. 즉, 도 5에 도시된 실시 예에서와 같이, 단말 내에 이종 혹은 동종 OS 상에서 서로 다른 웹 브라우저가 같은 웹 서버를 접속하는 경우에, 하나의 OS가 웹 서버에 접속할 때 다운로드한 콘텐츠를 다른 OS가 웹 서버에 접속할 때 동일하게 활용할 수 있으면 사용자가 체감하는 다운로드 속도가 향상될 수 있으나, 현재에는 이러한 지원은 불가능하다 유사하게, 도 1 또는 도 2에 도시된 바와 같이, 모바일 단말이 허브처럼 동작하는 경우에도, 부가 장치들이 동일한 웹 서버에 접속할 때 콘텐츠 공유가 불가능하다. 특히 새로운 기술의 도입이 웹 브라우저에 적용이 될 때까지는 단말을 만드는 제조업체나 통신 사업자가 아무런 역할을 할 수가 없다는 점도 문제이다. 또한, 운영체제에서 해당 기술을 제공하는 경우라도, 운영체제에 새로운 기술이 적용되어 운영체제 차원의 업데이트를 수행하는데 시간이 오래 걸리고, 운영 체제의 업데이트는 복잡한 프로세스를 거치기 때문에 결국 웹 기술이나 성능 개선은 느릴 수밖에 없다. 따라서 상술한 문제점은, 웹 브라우저 혹은 운영체제 개발업체에 의한 발전만 기다려야 하는 종속적 관계를 갖게 된다.
셋째 문제점은 웹 서비스를 제공하는 웹 사업자 입장에서 서비스 연속성을 제공하기 위한 쿠키 정보가 매우 중요하지만, 쿠키 정보가 웹 브라우저 단위로 관리되기 때문에 사용하는 웹 브라우저가 달라지면 쿠키 정보의 연속성이 사라진다는 점이다. 아울러 사용자가 임의로 쿠키를 삭제할 때 일반적으로 쿠키 정보를 일괄 삭제를 하므로 서비스 연속성을 제공하는데 어려움이 따른다.
넷째 문제점은 웹 서비스는 웹 브라우저와 웹 서버 사이에서의 콘텐츠 전송에 최적화된 기술이기에 사용자 단말의 물리적인 정보들에 대한 접근을 사실상 지원하지 않는다는 점이다. 하지만, 점차 고도화된 서비스를 위하여 단말의 물리적인 정보들(예를 들면, GPS 위치 정보, 센서 정보, 단말 타입 정보 등)에 대한 접근 요구는 커지고 있다. 기존 웹 브라우저들이 이런 정보에 접근하기 위해서는 웹 브라우저 자체의 변화도 필요하지만, 웹 브라우저의 하드웨어 자원에 대한 접근을 제한하는 설계 철학이 변화해야할 필요성이 요구된다. 다섯째 문제점은 오늘날 점차 모바일 단말이 정보 소비자에서 정보 생산자로 변화함에도 불구하고, 웹 통신 방식이 정보 소비 중심이라는 점이다. 앞서, 도 1 및 도 2의 실시 예에서, 카메라가 만든 이미지, 차량 안의 운행정보, 환경 안전 정보 등이 모바일 단말에서 생성되었을 때, 이들이 무조건 네트워크로 전송될 필요는 없다. 즉 네트워크는 필요한 경우에 해당 단말에 접속하여 상술한 정보들을 가져가면 된다. 하지만, 현재는 모바일 단말이 웹 브라우저를 통해 웹 서버의 콘텐츠를 소비하는 것이 일반적이며, 모바일 단말로부터 데이터의 업로드가 필요한 경우는 사용자 혹은 모바일 단말이 직접 별도의 프로그램을 사용하여 데이터를 웹 서버로 업로드를 해야 한다. 본 발명은 종래 기술의 첫째 문제점을 해결하기 위하여, 역방향 전송을 최적화하는 방편으로 모바일 단말 내부에 해당 단말(그리고 단말에 연결된 다른 장치)에 국한하여 동작하는 “단말내장 웹 프록시” 기술을 제안한다. 본 발명에 따른 단말내장 웹 프록시는 웹 콘텐츠 압축 등의 기술을 역방향 전송 시에도 적용하는 동작을 포함하여 본 발명에서 새롭게 제안하는 다양한 기술을 제공한다.
또한, 본 발명은 둘째 문제점을 해결하고자 단말내장 웹 프록시를 통하여 새로운 웹 가속 기술을 제공하되, 모바일 단말 안의 웹 서비스 종단인 웹 브라우저 혹은 웹 응용서비스에 대해서 단말내장 웹 프록시 관리의 투명성을 제공한다. 웹 가속 기술은, 예를 들어, 웹 서버가 전달한 웹 페이지에서, 이전에 웹 프록시 내에 캐싱 된 콘텐츠는 웹 브라우저가 먼저 로드해서 화면이 빠르게 표시하고, 나머지 콘텐츠는 캐싱 된 콘텐츠가 표시되는 동안 네트워크로부터 다운로드하여 화면에 표시하는 기술이다. 또한, 본 발명은 셋째 문제점을 해결하고자 단말내장 웹 프록시는 단말의 내부 구조상 웹 브라우저 하단에서 웹 서버가 사용자에게 발행한 쿠키를 투명성 있게 관리하는 방법을 제공한다. 단말내장 웹 프록시에 저장된 쿠키는 사용자가 웹 브라우저의 쿠키를 제거하더라도 함께 삭제되지 않으며, 사용자가 어떤 웹 브라우저를 사용하든 상관없이 동일한 사이트를 재접속하면 자동으로 쿠키를 웹 서버로 전달된다.
또한, 본 발명은 넷째 문제점을 해결하고자 단말내장 웹 프록시가 운영체제를 통하여 단말에 포함된 다양한 물리 장치에 접근하는 방법을 제공한다. 이때 본 발명은, 웹 응용서비스를 개발하는 사람들에게 편리함을 제공하고 웹 브라우저의 수정을 최소화하기 위하여, 단말내장 웹 프록시가 물리 장치 접근 시, 기존의 웹 브라우저에서 사용되는 HTML, JavaScript 등의 텍스트 기반 명령 체제를 지원한다. 또한, 본 발명은 다섯째 문제점을 해결하고자 단말내장 웹 프록시를 통해 웹 서버 또는 주변의 부가 장치들이 기존에 사용하던 웹 프로토콜을 그대로 사용하여 모바일 단말이 생성한 정보 혹은 콘텐츠에 접근할 수 있도록 한다.
상술한 과제를 해결하지 위한 본 발명은, 단말내장 웹 프록시(In-device Web Proxy)의 단말에 대한 웹 서버 접속 제어 방법으로, 제1 OS(Operating System)에서 동작하는 웹 브라우저에 의하여 웹 서버로의 접속 요청이 발생하면, 상기 웹 서버로 상기 접속 요청을 전송하는 단계; 상기 접속 요청에 응답하여, 상기 웹 서버로부터 접속 응답이 수신되면, 상기 접속 응답에 포함된 정보를 캐싱하는 단계; 및 상기 제1 OS에서 동작하는 웹 브라우저 또는 상기 제1 OS와 다른 제2 OS에서 동작하는 웹 브라우저에 의하여 상기 웹 서버로의 새로운 접속 요청이 발생하면, 상기 웹 브라우저 또는 상기 웹 서버로 상기 새로운 접속 요청에 대응하는 상기 캐싱 된 정보를 전송하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명은, 단말에 있어서, 웹 서버와 통신을 수행하는 통신부; 정보를 저장하는 저장부; 및 제1 OS(Operating System)에서 동작하는 웹 브라우저에 의하여 웹 서버로의 접속 요청이 발생하면, 상기 웹 서버로 상기 접속 요청을 전송하도록 상기 통신부를 제어하고, 상기 접속 요청에 응답하여, 상기 웹 서버로부터 접속 응답이 수신되면, 상기 접속 응답에 포함된 정보를 상기 저장부에 캐싱하고, 상기 제1 OS에서 동작하는 웹 브라우저 또는 상기 제1 OS와 다른 제2 OS에서 동작하는 웹 브라우저에 의하여 상기 웹 서버로의 새로운 접속 요청이 발생하면, 상기 웹 브라우저 또는 상기 웹 서버로 상기 새로운 접속 요청에 대응하는 상기 캐싱 된 정보를 전송하도록 상기 통신부를 제어하는 제어부를 포함하는 것을 특징으로 한다.
본 발명에 따른 단말내장 웹 프록시 기술은 웹 서비스 성능 개선 기술을 단말 내에서 적용할 수 있도록 하며, 웹 브라우저의 특성을 반영한 차별화된 콘텐츠 최적화를 가능하게 한다. 또한, 본 발명에 따른 단말내장 웹 프록시 기술은, 웹 서버가 발행한 쿠키를 투명하게 관리하며, 쿠키 관리를 통해 웹 서비스의 연속성을 보장한다.
또한, 본 발명에 따른 단말내장 웹 프록시는 웹 브라우저를 통하여 전달된 텍스트 기반의 명령을 기초로 단말에 구비되는 다양한 물리 장치의 정보를 획득하고, 획득한 정보를 웹 브라우저에 텍스트 형태로 표시하여 사용자에 알려줌으로써, 물리 장치 접근을 위해 웹 브라우저를 수정하거나, 운영체제의 명령에 직접 접근해야하는 어려움을 제거한다.
또한, 본 발명에 따른 단말내장 웹 프록시는 기존의 웹 서비스 개발자들이 지금까지의 개발 방식과 개발 기술을 그대로 활용하여 업 링크 전송 기술을 강화시킴으로써 향후 모바일 네트워크에 대하여 향상된 서비스 수준을 유지할 수 있도록 한다.
도 1은 종래 기술에 따른 네트워크 구조를 나타낸 도면이다.
도 2는 프록시 서버가 추가된 종래 기술에 따른 네트워크 구조를 나타낸 도면이다.
도 3은 종래 기술에 따른 단일 OS를 지원하는 모바일 단말의 구조를 나타낸 블록도이다.
도 4는 종래 기술에 따른 복수 OS를 지원하는 모바일 단말의 구조를 나타낸 블록도이다.
도 5는 종래 기술에 따른 모바일 단말에서 동종 또는 이종의 OS 상에 위치한 웹 브라우저(또는 웹 응용 서비스)가 동일한 웹 서버에 접속하는 동작의 일 예를 나타낸 흐름도이다.
도 6은 본 발명의 제1 실시 예에 따른 네트워크 구조를 나타낸 도면이다.
도 7은 본 발명의 제2 실시 예에 따른 네트워크 구조를 나타낸 도면이다.
도 8은 본 발명의 실시 예에 따른 단일 OS를 지원하는 모바일 단말의 구조를 나타낸 블록도이다. 도 9는 본 발명의 실시 예에 따른 복수 OS를 지원하는 모바일 단말의 구조를 나타낸 블록도이다.
도 10은 본 발명의 제1 실시 예에 따른 모바일 단말의 웹 서버 접속 제어 방법을 나타낸 흐름도이다.
도 11은 단말내장 웹 프록시가 HTTP RES의 최적화를 수행하는 방법을 나타낸 순서도이다.
도 12는 본 발명의 제2 실시 예에 따른 모바일 단말의 웹 서버 접속 제어 방법을 나타낸 흐름도이다.
도 13은 본 발명에 따른 단말내장 웹 프록시의 쿠키 저장 방법을 나타낸 순서도이다.
도 14는 본 발명에 따른 단말내장 웹 프록시의 쿠키 획득 및 임베딩 처리 방법을 나타낸 순서도이다.
도 15는 본 발명의 제2 실시 예에 따른 동작이 네트워크 프록시 서버에 적용되는 예를 나타낸 도면이다.
도 16은 본 발명의 제3 실시 예에 따른 모바일 단말의 웹 서버 접속 제어 방법을 나타낸 흐름도이다.
도 17은 본 발명에 따른 HTTP GET 메시지의 일 예를 나타낸 도면이다.
도 18은 본 발명에 따른 단말내장 웹 프록시의 물리 장치 정보 로드 및 보고 방법을 나타낸 순서도이다.
도 19는 본 발명에 따른 HTTP RES 메시지의 일 예를 나타낸 도면이다.
도 20은 웹 서버가 단말내장 웹 프록시를 통해 물리 장치 정보를 획득하는 제1 실시 예를 나타낸 순서도이다.
도 21은 본 발명에 따른 웹 서버가 단말내장 웹 프록시를 통해 물리 장치 정보를 주기적으로 획득하는 방법을 나타낸 순서도이다.
도 22는 본 발명에 따른 주기적 정보 획득을 위한 HTTP GET 메시지의 일 예를 나타낸 도면이다.
도 23은 본 발명에 따른 주기적 정보 획득 중단을 위한 HTTP GET 메시지의 일 예를 나타낸 도면이다.
도 24는 웹 서버가 단말내장 웹 프록시를 통해 물리 장치 정보를 획득하는 제2 실시 예를 나타낸 순서도이다.
도 25는 본 발명의 제4 실시 예에 따른 모바일 단말의 웹 서버 접속 제어 방법을 나타낸 흐름도이다.
도 26은 본 발명의 실시 예에 따라 모바일 단말 간에 콘텐츠를 공유하는 방법을 나타낸 순서도이다.
도 26은 본 발명의 실시 예에 따라 모바일 단말 간에 콘텐츠를 공유하는 방법의 다른 실시 예를 나타낸 순서도이다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명의 사상을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "구성된다." 또는 "포함한다." 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예들을 보다 구체적으로 설명하도록 한다.
도 6은 본 발명의 제1 실시 예에 따른 네트워크 구조를 나타낸 도면이다.
도 6을 참조하면, 본 발명의 제1 실시 예에 따른 네트워크는 네트워크 프록시 서버가 포함되지 않는 것으로 가정하며, 내부에 단말내장 웹 프록시를 구비하는 적어도 하나의 모바일 단말로 구성된다.
단말내장 웹 프록시는 단말에서 동작하는 웹 브라우저 및 웹 응용서비스에 대하여 투명하게 동작할 수 있으며, 네트워크 프록시 서버가 존재하는 경우, 네트워크 프록시 서버에 대하여 투명하게 동작한다.
도 7은 본 발명의 제2 실시 예에 따른 네트워크 구조를 나타낸 도면이다.
도 7을 참조하면, 본 발명의 제2 실시 예에 따른 네트워크는, 도 6에 도시된 네트워크 구조에 네트워크 프록시 서버를 추가로 포함한다.
도 7에는 네트워크 프록시 서버와 단말내장 웹 프록시, 그리고 단말내장 웹 프록시와 모바일 단말 내부의 웹 브라우저 및 웹 응용서비스가 상호 간에 서로 식별하고 서로 인식한 상황에서 동작하는 개념을 나타내었다. 이러한 동작은 단말내장 웹 프록시가 네트워크 프록시 서버 및 단말 내부의 웹 브라우저/웹 응용서비스에 대하여 투명하게 동작하는 기술뿐만 아니라, 추가적인 진보된 기술을 지원할 수 있다.
도 8은 본 발명의 실시 예에 따른 단일 OS를 지원하는 모바일 단말의 구조를 나타낸 블록도이다.
도 8에 도시된 바와 같이, 본 발명에 따른 단일 OS를 지원하는 모바일 단말은 단말내장 웹 프록시(In-device Web Proxy)를 포함하여 구성된다. 단일 OS를 지원하는 모바일 단말에서 단말내장 웹 프록시는 네트워킹 브리지 내부 혹은 상단에 구비될 수 있다. 단말내장 웹 프록시는 웹 브라우저 및 웹 응용 서비스와는 전송/네트워크 계층을 통해서 통신하며, 운영체제를 통해서 모바일 단말 내에 위치하는 물리 장치들과 통신할 수 있다. 또한, 단말내장 웹 프록시는 네트워킹 브리지가 관리하는 NIC들을 제어하여 NIC 들의 종류/상태 등을 판단할 수 있고, 판단 결과를 기초로 NIC들을 제어할 수 있다.
도 8에서는 모바일 단말의 구조를 소프트웨어적인 측면에서 도시하였으나, 물리적으로 단말내장 웹 프록시, OS 및 웹 브라우저에 대한 소프트웨어 코드는 모바일 단말에 구비되는 저장부에 저장될 수 있고, 제어부가 해당 소프트웨어 코드를 실행시킴으로써, 단말내장 웹 프록시, OS 및 웹 브라우저의 동작을 실질적으로 구현할 수 있다. 또한, NIC들은 모바일 단말에 구비되는 통신부로 명명될 수 있다.
도 9는 본 발명의 실시 예에 따른 복수 OS를 지원하는 모바일 단말의 구조를 나타낸 블록도이다. 도 9에 도시된 바와 같이, 본 발명에 따른 복수 OS를 지원하는 모바일 단말은 단말내장 웹 프록시(In-device Web Proxy)를 포함하여 구성된다. 복수 OS를 지원하는 모바일 단말에서 단말내장 웹 프록시는 OS #A와 OS #B의 하단 부에 위치하여 물리적인 네트워킹 브리지 내에 구현될 수 있다.
본 발명에 실시 예들에서는 단말내장 웹 프록시가 물리적인 네트워킹 브리지 내부 혹은 상단에 구현되는 경우를 예로 들어 설명하나, 이에 한정되지 않고, 네트워킹 브리지에서 웹 콘텐츠를 추출하여 일반적인 응용프로그램처럼 OS의 상위에서 동작하는 단말내장 웹 프록시를 구현하거나, USIM 등을 통하여 프로그램의 실행이 가능한 경우에, USIM 내부에서 동작하는 단말내장 웹 프록시를 구현하는 것도 가능하다.
이하에서는, 본 발명에서 제시하는 몇 가지 제안 기술에 대하여 각각의 실시 예를 들어 보다 구체적으로 설명하도록 한다.
역방향 웹 트래픽 전송 최적화 및 웹 서버 콘텐츠의 최적화를 통한 웹 브라우저 로딩 시간 개선
도 10은 본 발명의 제1 실시 예에 따른 모바일 단말의 웹 서버 접속 제어 방법을 나타낸 흐름도이다.
구체적으로, 도 10은 본 발명의 제1 실시 예에 따라 단말의 업링크 전송을 최적화하고, 콘텐츠의 재구성 및 캐싱 과정을 통해 다운 링크의 로딩 시간을 개선하는 방법을 나타낸 도면이다.
본 발명의 실시 예에서, OS#1에서 동작하는 웹 브라우저가 웹 서버로의 접속을 시도하고자 할 때, OS #1에서 동작하는 웹 브라우저는 HTTP REQ 메시지를 단말내장 웹 프록시로 전달한다. 단말내장 웹 프록시는 HTTP REQ 메시지를 압축(Compressing)하여 웹 서버로 전달한다. 이로써, 단말내장 웹 프록시는 모바일 링크에서의 전송 시간과 웹 서버에서의 처리 시간을 단축하도록 한다.
단말내장 웹 프록시가 업 링크로 전달하는 HTTP REQ를 압축하기 위해서, 일반적인 HTTP REQ 최적화 기술들이 활용될 수 있으며, 구현하기에 따라 일반적인 HTTP REQ 최적화 기술과 다른 기법이 적용될 수도 있다.
또한, 본 발명의 실시 예에서, HTTP REQ를 수신한 웹 서버는, 이에 대한 응답으로 HTTP RES를 단말내장 웹 프록시로 전송한다. HTTP RES를 수신한 단말내장 웹 프록시는 모바일 단말 또는 모바일 단말을 통해서 통신하는 부가 장치에 대한 웹 콘텐츠 전송의 허브로써 동작한다. 따라서, 단말내장 웹 프록시는 수신된 HTTP RES (혹은 GTTP RES에 포함된 다운 링크 웹 콘텐츠)의 최적화를 수행한다.
구체적으로, 도 11을 참조하면, 먼저 단말내장 웹 프록시는 캐싱 된 콘텐츠(예를 들어, 텍스트, 이미지)의 웹 콘텐츠 링크를 템플릿 파일의 위쪽으로 이동시킨다. 즉, 단말내장 웹 프록시는 수신한 HTTP RES 혹은 HTTP RES에 포함된 콘텐츠 중 자신의 캐시에서 재활용 가능한 콘텐츠가 있는지 판단하고, 재활용 가능한 콘텐츠에 대한 링크 값을 template 파일의 위쪽으로 이동시킨다. 이는 웹 브라우저들이 template 파일을 기초로 관련된 웹 콘텐츠에 접근할 때, template 파일에 개시된 순서대로 접근하기 때문에, 캐싱 된 콘텐츠를 template 파일의 위쪽으로 이동시켜 웹 브라우저가 캐싱 된 콘텐츠를 먼저 읽도록 함으로써, 사용자의 다운로드 체감 속도를 향상시키기 위함이다.
다음으로, 단말내장 웹 프록시는 HTTP RES에 포함된 모든 java script 들이 비동기(async) 모드로 동작하도록 HTTP RES에 포함된 태그를 수정한다. 이는 java script들을 처리하는 대부분의 웹 브라우저들이 java script를 다운로드하거나 파싱하는 동안에, 다른 콘텐츠를 다운로드하거나 처리하지 못하는 문제를 해결하여 전체 웹 콘텐츠에 대한 다운로드 속도를 향상시키기 위함이다.
다음으로, 단말내장 웹 프록시는 캐싱 된 java script를 재활용하기 위하여, 캐싱 된 java script에 대한 링크를 template 파일의 중간 부분으로 이동시킨다.
다음으로, 단말내장 웹 프록시는 캐싱이 되지 않은 콘텐츠(예를 들어, 이미지, 텍스트 등)에 대한 링크 template 파일 내에서 java script 링크의 다음에 위치시킨다.
마지막으로 단말내장 웹 프록시는 캐싱이 되지 않은 java script에 대한 링크를 template 파일의 마지막에 위치시킨다.
추가로, 단말내장 웹 프록시는 HTTP RES에 포함된 콘텐츠를 단말내장 웹 프록시의 자체 캐시에 저장한다. 언급한 기술 이외에 이미 일반화된 기술이나 별도의 특화된 기술은 적용 가능하나, 본 발명의 논외로 한다.
도 10으로 돌아와서, HTTP RES를 이용하여 웹 서버에서 수신한 콘텐트의 최적화를 마치면, 단말내장 웹 프록시는 최적화된 템플릿 파일을 OS#1의 웹 브라우저에게 전달하고, OS#1의 웹 브라우저에 대하여 향상된 응답 시간을 제공하게 된다.
만약 같은 OS#1 혹은 다른 OS#2에서 웹 브라우저가 같은 웹 서버로 동일한 콘텐츠를 요청하면, 단말내장 웹 프록시가 자체 캐시에 캐싱 된 콘텐츠를 웹 브라우저에게 직접 전달함으로써 웹 브라우저가 빠른 속도로 웹 콘텐츠를 표시할 수 있도록 한다. 또한, 단말내장 웹 프록시는 자체 캐시에 콘텐츠를 캐싱하였다가 웹 브라우저가 동일한 콘텐츠를 요청할 때 캐싱 된 콘텐츠를 직접 제공함으로써, 모바일 네트워크의 사용을 줄이고 효율적인 네트워크 사용을 가능하게 한다.
상술한 본 발명의 제1 실시 예는, 모바일 단말에 단말내장 웹 프록시가 구비되는 경우뿐만 아니라 네트워크에 위치한 프록시 서버에 대하여도 적용이 가능하다.
웹 브라우저 독립적 쿠키 관리
도 12는 본 발명의 제2 실시 예에 따른 모바일 단말의 웹 서버 접속 제어 방법을 나타낸 흐름도이다.
구체적으로, 도 12는 단말내장 웹 프록시가 웹 서버에서 제공한 쿠키를 독립적으로 관리하는 방법을 나타낸 도면이다.
먼저, OS#1에서 동작하는 웹 브라우저는 단말내장 웹 프록시를 통하여 웹 서버로 HTTP REQ(또는 HTTP GET으로 명명될 수 있음)를 전송한다. 이때 웹 서버는 단말내장 웹 프록시 서버로 HTTP REQ에 의하여 요청된 콘텐츠를 회신하고, 추후에 단말이 동일한 웹 서버로 접속하는 경우 서비스 연속성을 유지하도록 하기 위하여 쿠키를 발행한다.
쿠키가 포함된 HTTP RES가 단말내장 웹 프록시에 도착하면, 단말내장 웹 프록시는 독립적인 쿠키 관리를 수행한다.
구체적으로, 도 13을 참조하면, 단말내장 웹 프록시는 현재 HTTP REQ에 의하여 요청된 웹 사이트, 즉, HTTP RES를 통해 수신된 웹 사이트가 새롭게 요청된 웹 사이트인지 판단한다.
요청된 웹 사이트가 새롭게 요청된 웹 페이지가 아닌 경우, 단말내장 웹 프록시는 이전 접속에 의하여 웹 서버로부터 발행된 쿠키를 저장하고 있다. 따라서, 단말내장 웹 프록시는 해당 웹 사이트에 대한 쿠키를 새로 발행된 쿠키로 업데이트 한다.
요청된 웹 사이트가 새롭게 요청된 웹 사이트인 경우, 단말내장 웹 프록시는 웹 서버로부터 발행된 쿠키를 저장하게 된다. 쿠키에 의하여 저장되는 정보는 웹 서버의 식별자에 관한 정보로, 웹 서버의 도메인 이름 혹은 아이피 주소 등 웹 서버를 식별하는 정보를 포함할 수 있다. 단말내장 웹 프록시는 웹 서버에서 발행한 쿠키를 그대로 저장할 수 있고, 추가로 현재 요청된 웹 페이지의 HTTP 트랜잭션을 만든 사용자의 식별자를 저장한다.
일 실시 예에서, 모바일 단말이 주변 장치에 대한 허브로 동작하지 않는 경우, 단말내장 웹 프록시는 쿠키에 포함된 정보를 무시하거나, 아니면 별도의 설정 과정을 통하여 등록된 사용자 식별 이메일 주소 등을 쿠키 정보로 사용할 수 있다. 반면, 모바일 단말이 주변 장치에 대한 허브로 동작하는 경우, 단말내장 웹 프록시는 근거리 통신을 이용하여 모바일 단말에 접속한 주변 장치의 MAC(Medium Access Control) 주소 등을 포함하는 물리적 주소 혹은 근거리 통신과정에서 사용한 사용자 식별자를 쿠키 정보로 활용할 수 있다.
도 12로 돌아와서, 쿠키를 저장한 단말내장 웹 프록시는 웹 서버가 전달한 HTTP RES를 웹 브라우저에게 전달한다. 시간이 지나서 해당 세션이 종료된 후, OS#1 혹은 OS#2의 웹 브라우저/웹 응용서비스에서 동일한 웹 서버로 접속을 시도하면, 단말내장 웹 프록시는 도 14에 도시된 절차를 수행한다. 구체적으로, 단말내장 웹 프록시는 새로 요청된 웹 페이지에 대하여, 웹 서버가 발행한 쿠키가 캐시에 이미 존재하는지 판단한다.
쿠키가 캐시에 이미 존재하면, 단말내장 웹 프록시는 캐시에 쿠키를 저장할 때의 모바일 단말 사용자와 현재 사용자가 같은지를 판단한다.
사용자가 같으면, 단말내장 웹 프록시는 저장된 쿠키를 HTTP REQ에 넣어서 웹 서버로 전달한다. 사용자가 같지 않으면, 즉 다른 사용자가 동일 웹 서버로 접속하는 경우, 단말내장 웹 프록시는 쿠키를 HTTP REQ에 포함시키지 않고, HTTP REQ를 웹 서버로 전송한다.
단말내장 웹 프록시로부터 Cookie가 포함된 HTTP REQ를 받은 웹 서버는, 수신된 쿠키가 웹 브라우저에 의하여 생성된 Cookie가 아니더라도, 단말내장 웹 프록시의 도움으로 사용자에게 연속성 있는 서비스를 제공할 수 있게 된다.
본 발명에 따른 제3 실시 예는, 도 15에 도시된 바와 같이, 단말내장 웹 프록시뿐만 아니라, 네트워크 프록시 서버에서도 동일하게 적용될 수 있다. 도 15를 참조하면, 모바일 단말에 단말내장 웹 프록시가 구비되지 않으며, 모바일 단말은 웹 서버 접속을 위해서 반드시 네트워크 프록시 서버를 경유하는 경우를 가정한다. 또한, 네트워크 프록시 서버는, 본 발명에 따른 제3 실시 예의 동작을 수행한다.
모바일 단말 내의 물리 장치에 대한 상태 정보 획득
도 16은 본 발명의 제3 실시 예에 따른 모바일 단말의 웹 서버 접속 제어 방법을 나타낸 흐름도이다.
구체적으로, 도 16은 웹 브라우저에서 단말의 물리장치의 정보로써, GPS 정보와 센서 정보를 읽는 방법을 나타낸 도면이다.
먼저, 웹 브라우저는 HTTP GET을 통해서 단말내장 웹 프록시에게 GPS 정보를 요청한다. 웹 브라우저가 단말내장 웹 프록시에게 GPS 정보를 요청하기 위한 HTTP GET의 일 예가 도 17에 도시되어 있다. 도 17(a)에는 GPS정보(예를 들어, 모바일 단말의 현재 위치 정보)를 요청하기 위한 HTTP GET의 예가 도시되어 있으며, Request header는 일반적인 웹 콘텐츠 요청 헤더와 동일하다. 다만, 도 17(a)에 있어서, 단말내장 웹 프록시에 대하여 사전에 정의된 Host 주소인 www.indeviceWebProxy.net 혹은 사전에 정의한 내부 아이피 주소로 접속하는 부분만이 일반적인 웹 서버 접속과 다른 사항이다. GPS 정보를 요청한다는 의미의 Request command 부분은 일반적인 웹 콘텐츠 요청 경우와 동일하다. 다만, 단말내장 웹 프록시의 정보 저장 공간으로 Indevice_WebProxy 디렉터리와 같이 정보 저장소를 명시하고, 해당 저장소에서 읽고자 하는 것으로, 단말의 물리 장치에 매칭되는 논리 페이지 이름(예를 들어, GPS_CurrentLocation)에 확장자 “.html”을 명시한 것은 일반적인 웹 콘텐츠 요청의 경우와 다르다. 일 실시 예에서, 도 17(b)와 같이 Request header에 추가 명령을 넣어주는 것도 가능하다.
웹 브라우저로부터 HTTP GET을 통해서 GPS 정보 요청을 수신한 단말내장 웹 프록시는 도 18에 도시된 동작을 수행한다.
먼저, 단말내장 웹 프록시는 HTTP GET를 통하여 정보를 요청받은 물리 장치가 모바일 단말에서 지원하는 물리 장치인지 확인한다. 물리 장치가 모바일 단말에서 지원하는 물리 장치가 아니라면 단말내장 웹 프록시는 경고 메시지를 담은 HTTP RES를 웹 브라우저에게 전달한다. 반대로, 물리 장치가 모바일 단말에서 지원하는 물리 장치라면, 단말내장 웹 프록시는 운영체제의 지원 기능을 통해서 해당 물리 장치에 접근하여 정보를 로드한다. 예를 들어, 단말내장 웹 프록시는GPS에 접근하여 모바일 단말이 현재 위치 정보를 읽어 들인다. 이후, 단말내장 웹 프록시는 로드한 정보를 웹 브라우저가 이해하는 HTTP RES의 형태로 만들어서 웹 브라우저에게 전달하게 된다.
단말내장 웹 프록시에서 웹 브라우저에게 전달하는 HTTP RES의 예제가 도 19에 도시되어 있다. 도 19를 참조하면, HTTP RES 메시지는 GPS를 이용하여 측정된 모바일 단말의 현재 위치를 나타내는 HTML 코드를 포함한다. 본 발명의 실시 예에 따르면, 단말내장 웹 프록시가GPS 위치 정보와 같은 물리 장치의 정보에 접근하도록 하기 위해 HTTP/HTML 메시지 형태를 활용함으로써, 웹 브라우저에서 특별한 기능 구현 없이 본 발명에 따른 기술을 쉽게 활용할 수 있도록 한다.
도 16으로 돌아와서, 웹 브라우저는 GPS에 대한 정보 요청 이후에 다시 센서에 대한 정보를 단말내장 웹 프록시로 요청할 수 있다. 이때에도 단말내장 웹 프록시는 도 17 및 도 19의 메시지 타입에 GPS 대신 Sensor의 명칭에 해당하는 디렉터리/HTML 파일이름과 이에 대한 응답 필드를 삽입하여 웹 브라우저가 센서의 정보를 읽을 수 있도록 한다.
모바일 단말의 물리장치 정보에 접근하는 본 발명의 제4 실시 예는 모바일 내의 웹 브라우저뿐만 아니라, 원격지에 위치한 웹 서버에도 적용 가능하다. 도 20을 참조하면, 원격지의 웹 서버는 모바일 단말의 물리 장치에 대한 정보가 필요한 경우, 모바일 단말의 단말내장 웹 프록시로 HTTP REQ를 전송할 수 있다. 종래 기술에 따라 모바일 단말이 기존의 웹 브라우저만으로 동작하는 경우는 웹 서버가 모바일 단말로 HTTP REQ를 전송할 수 없지만, 본 발명의 실시 예와 같이 모바일 단말에 단말내장 웹 프록시가 구비되는 경우, 웹 서버가 원격지에서 모바일 단말로 HTTP 기반 접속을 수행할 수 있다. 이때, 웹 서버는 단말의 Public IP 주소에 미리 정의한 단말내장 웹 프록시 용 포트 번호를 할당하여 모바일 단말로 접속한다. 이를 통해서 원격지의 웹 서버에서도 모바일 단말의 상태 정보를 획득할 수 있다.
일 실시 예에서 웹 서버 또는 웹 브라우저는, 도 21에 도시된 바와 같이, 주기적으로 모바일 단말의 물리 장치 상태 정보를 획득할 수 있다.
이 경우, 웹 서버 또는 웹 브라우저는, 도 22에 도시된 바와 같은 HTTP REQ 메시지(또는 HTTP GET 미시지)를 단말내장 웹 프록시로 전송한다. 주기적 정보 획득을 위한 HTTP REQ 메시지는 도 22a에 도시된 바와 같이, 파일 이름에 “_Periodic”과 같은 명령을 포함할 수 있다. 또는, 주기적 정보 획득을 위한 HTTP GET 메시지는 도 22b에 도시된 바와 같이 비주기적 정보 획득을 위한 HTTP REQ 메시지와 동일한 파일 이름을 사용하되, 주기적 전송 요청을 위한 추가적 필드로써, WebProxy-command 필드를 포함할 수 있다.
상술한 실시 예에 따르면, 인터넷 사업자도 웹 프로토콜을 사용하여, 단말의 위치 이동 정보를 실시간으로 보고받을 수 있다.
웹 서버 또는 웹 브라우저가 주기적 정보 획득을 중단하고자 하는 경우, 웹 서버 또는 웹 브라우저는 도 23에 도시된 바와 같은 메시지를 단말내장 웹 프록시로 전송할 수 있다. 주기적 정보 획득 중단을 위한 메시지는 도 23a에 도시된 바와 같이 중단 요청에 대응하는 명령을 html 파일 이름에 포함할 수 있다. 또는 주기적 정보 획득 중단을 위한 메시지는 도 23b에 도시된 바와 같이 추가적인 필드로써 WebProxy-command 필드를 포함할 수 있다. 추가로, 도 24를 참조하면, 웹 브라우저는 웹 서버에 모바일 단말의 위치를 전달할 수 있다. 웹 브라우저는 단말내장 웹 프록시에게 웹 서버로 HTTP REQ를 전송하면서, , 단말내장 웹 프록시가 GPS 위치 정보를 HTTP REQ에 포함하도록 요청한다. 따라서 단말내장 웹 프록시는 GPS 장비로부터 모바일 단말의 위치 정보를 읽은 후, 웹 브라우저가 전송한 HTTP REQ 메시지에 단말의 GPS 위치 정보를 나타내는 HTML 필드를 삽입하여 웹 서버로 전달하게 된다. 이를 수신한 웹 서버는 수신된 모바일 단말의 위치 정보를 고려하여 모바일 단말의 웹 브라우저가 요청한 콘텐츠를 제공할 수 있다.
본 발명에서는 모바일 단말의 물리 정보에 대한 일 예로, GPS와 센서를 제시하였으나, 다양한 종류의 모바일 단말 내부의 장치 정보, 가입자 정도 등을 동일한 방법으로 읽고, 전달하는 것이 가능하다.
모바일 단말 콘텐트의 웹 프로토콜 기반 공유
도 25는 본 발명의 제4 실시 예에 따른 모바일 단말의 웹 서버 접속 제어 방법을 나타낸 흐름도이다. 도 25를 참조하면, 모바일 단말의 응용 프로그램은 자체적인 작업을 마친 후, 작업의 결과를 모바일 단말의 저장공간에 저장한다. 작업의 예로서는 모바일 단말이 직접 찍어서 편집한 동영상, 모바일 단말이 수집하여 가공한 환경 정보, 단말의 동작 상태 정보, 단말을 통해서 통신하는 자동차의 상태 정보 등의 다양한 경우가 가능하다. 저장을 마친 응용프로그램은 원격지의 웹 서버에 해당 사실을 알려준다. 이때, 응용 프로그램은 웹 서버가 필요할 때 해당 저장 데이터를 모바일 단말에서 가져가라는 명령을 함께 전송할 수 있다.
이 경우, 종래와 같이 모바일 단말이 제작한 모든 콘텐츠가 웹 서버로 전송되어야 할 필요성이 없어지며, 웹 서버로 전송되어야 할 콘텐츠도 실시간으로 전달할 필요없이, 웹 서버가 필요할 때에 콘텐츠를 단말로 요청할 수 있다. 따라서 웹 서버는 본인이 필요한 시점에 모바일 단말의 단말내장 웹 프록시로 HTTP GET을 전송한다. 이때 HTTP GET은 주소값으로 모바일 단말의 응용프로그램이 생성한 콘텐트의 저장공간에 관한 정보(예를 들어, 이름)를 포함할 수 있으며, 이는 단말내장 웹 프록시가 전송한 notification 메시지로부터 획득될 수 있다. 단말내장 웹 프록시는 HTTP GET에 의하여 요청된 콘텐츠를 저장공간에서 읽어서 웹 서버에게 HTTP RES, 혹은 FTP/스트리밍을 통하여 전달한다.
도 26은 모바일 단말 간에 콘텐츠를 공유하는 방법을 나타낸 순서도이다. 구체적으로 도 26은 모바일 단말을 허브로 사용하는 외부 장치들간에 단말내장 웹 프록시의 콘텐츠를 공유하는 방법을 도시하였다.
UE#1의 응용프로그램과 UE#2의 응용프로그램은 단말내장 웹 프록시의 콘텐츠에 접근하여 각각 독립적으로 콘텐츠를 소비한다.
만약 모바일 단말이 실시간 콘텐츠를 갖고 있으며, 해당 모바일 단말을 허브로 사용하는 단말들에게 실시간 콘텐츠를 전송하는 것이 가능하다면, 도 27과 같은 시나리오도 구현이 가능하다. 처음에 UE#1의 응용프로그램이 실시간 콘텐츠를 요청하면 단말내장 웹 프록시는 해당 콘텐츠를 UE#1의 응용프로그램에게 전달한다. 그러다가 UE#2의 응용프로그램에서도 해당 콘텐츠를 요청하면, 단말내장 웹 프록시는 실시간 콘텐츠를 동시에 두 개의 응용프로그램에게 전달하여 다른 단말도 실시간 콘텐츠를 시청할 수 있도록 한다.
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 웹 서버 210, 220, 230: 모바일 단말
310, 320, 330: 기지국 400: IP 네트워크
500: 인터넷

Claims (20)

  1. 단말내장 웹 프록시(In-device Web Proxy)의 단말에 대한 웹 서버 접속 제어 방법으로,
    상기 단말내장 웹 프록시에 의해, 상기 단말의 제1 OS(Operating System)에서 동작하는 제1 웹 브라우저에 의하여 웹 서버로의 제 1 접속 요청 메세지를 수신하면, 상기 웹 서버로 제 2 접속 요청 메세지를 전송하는 단계;
    상기 제 2 접속 요청 메세지에 응답하여, 상기 웹 서버로부터 접속 응답 메세지가 수신되면, 상기 제 2 접속 응답 메세지에 포함된 정보를 캐싱하는 단계;
    상기 캐싱된 정보 중 재사용 가능한 정보를 확인하는 단계;
    상기 확인된 정보를 기반으로 저장 순서를 결정하는 단계;
    상기 결정된 순서를 기반으로 상기 접속 응답 메세지에 포함된 상기 정보를 저장하는 단계; 및
    상기 제1 OS에서 동작하는 제1 웹 브라우저 또는 상기 제1 OS와 다른 제2 OS에서 동작하는 제2 웹 브라우저에 의하여 상기 웹 서버로의 새로운 접속 요청 메세지를 수신하면,
    상기 제1 웹 브라우저 또는 상기 제2 웹 브라우저로 상기 새로운 접속 요청 메세지에 대응하는 상기 결정된 순서를 기반으로 저장된 정보를 전송하는 단계를 포함하는 것을 특징으로 하는 웹 서버 접속 제어 방법.
  2. 제1항에 있어서, 상기 저장된 정보를 전송하는 단계는,
    상기 새로운 접속 요청 메세지를 기반으로, 상기 저장된 정보와 동일한 정보가 요청되었는지 판단하는 단계; 및
    상기 저장된 정보와 동일한 정보가 요청되었으면, 상기 저장된 정보를 상기 제1 웹 브라우저 또는 상기 제2 웹 브라우저로 전송하는 단계를 포함하는 것을 특징으로 하는 웹 서버 접속 제어 방법.
  3. 제1항에 있어서, 상기 저장하는 단계는,
    프로그램 코드를 비동기 모드로 변경하는 단계를 더 포함하고,
    상기 정보는, 상기 웹 서버가 발행한 쿠키 정보이고,
    상기 쿠키 정보는, 상기 프로그램 코드를 포함하는 것을 특징으로 하는 웹 서버 접속 제어 방법
  4. 제3항에 있어서, 상기 캐싱하는 단계는,
    상기 웹 서버의 식별자, 사용자의 식별자, 상기 단말을 통하여 상기 웹 서버와 통신하는 주변 장치의 식별자 중 적어도 하나를 캐싱하는 단계를 포함하는 것을 특징으로 하는 웹 서버 접속 제어 방법.
  5. 제3항에 있어서, 상기 캐싱하는 단계 이후에,
    상기 웹 서버로부터 수신된 상기 접속 응답 메세지를 상기 제1 웹 브라우저 또는 상기 제2 웹 브라우저로 전송하는 단계를 더 포함하는 것을 특징으로 하는 웹 서버 접속 제어 방법.
  6. 제1항에 있어서, 상기 제 2 접속 요청 메세지를 전송하는 단계는,
    상기 제 1 접속 요청 메세지를 압축하는 단계; 및
    상기 압축된 제 1 접속 요청 메세지를 상기 웹 서버로 전송하는 단계를 포함하는 것을 특징으로 하는 웹 서버 접속 제어 방법.
  7. 제1항에 있어서, 상기 순서를 결정하는 단계는,
    재사용 가능한 콘텐츠 링크, 재사용 가능한 스크립트 링크, 재사용 가능하지 않은 콘텐츠 링크, 재사용 가능하지 않은 스크립트 링크 순으로 결정하는 것을 특징으로 하는 웹 서버 접속 제어 방법.
  8. 제1항에 있어서,
    상기 제1 웹 브라우저로부터 상기 단말에 구비되는 적어도 하나의 물리 장치에 관련된 정보를 요청하는 HTTP 메시지를 수신하는 단계;
    상기 물리 장치에 관련된 정보를 획득하는 단계; 및
    제1 웹 브라우저 또는 상기 제2 웹 브라우저로 상기 획득된 물리 장치에 관련된 정보를 HTTP 메시지를 통하여 전송하는 단계를 포함하는 것을 특징으로 하는 웹 서버 접속 제어 방법.
  9. 제8항에 있어서, 상기 적어도 하나의 물리 장치는,
    GPS 또는 센서를 포함하는 것을 특징으로 하는 웹 서버 접속 제어 방법.
  10. 제1항에 있어서,
    상기 단말의 애플리케이션에 의하여 생성된 데이터를 저장하는 단계;
    상기 데이터에 대한 정보를 상기 웹 서버로 전송하는 단계; 및
    상기 웹 서버로부터 상기 데이터의 전송 요청 메세지를 수신하면, 상기 서버로 상기 데이터를 전송하는 단계를 더 포함하는 것을 특징으로 하는 웹 서버 접속 제어 방법.
  11. 단말내장 웹 프록시(In-device Web Proxy)의 단말에 있어서,
    웹 서버와 통신을 수행하는 통신부;
    정보를 저장하는 저장부; 및
    상기 단말의 제1 OS(Operating System)에서 동작하는 제1 웹 브라우저에 의하여 웹 서버로의 제 1 접속 요청 메세지가 발생하면, 상기 웹 서버로 제 2 접속 요청 메세지를 전송하도록 상기 통신부를 제어하고, 상기 제 2 접속 요청 메세지에 응답하여, 상기 웹 서버로부터 접속 응답 메세지가 수신되면, 상기 접속 응답 메세지에 포함된 정보를 상기 저장부에 캐싱하고, 상기 캐싱된 정보 중 재사용 가능한 정보를 확인하고, 상기 확인된 정보를 기반으로 저장 순서를 결정하고, 상기 결정된 순서를 기반으로 상기 접속 응답 메세지에 포함된 상기 정보를 저장부에 저장하고, 상기 제1 OS에서 동작하는 웹 브라우저 또는 상기 제1 OS와 다른 제2 OS에서 동작하는 제2 웹 브라우저에 의하여 상기 웹 서버로의 새로운 접속 요청 메세지가 발생하면, 상기 제1 웹 브라우저 또는 상기 제2 웹 브라우저로 상기 새로운 접속 요청에 대응하는 상기 결정된 순서를 기반으로 저장된 정보를 전송하도록 상기 통신부를 제어하는 제어부를 포함하는 것을 특징으로 하는 단말.
  12. 제11항에 있어서, 상기 제어부는,
    상기 새로운 접속 요청 메세지를 기반으로, 상기 저장된 정보와 동일한 정보가 요청되었는지 판단하고, 상기 저장된 정보와 동일한 정보가 요청되었으면, 상기 저장된 정보를 상기 제1 웹 브라우저 또는 상기 제2 웹 브라우저로 전달하는 것을 특징으로 하는 단말.
  13. 제11항에 있어서, 상기 제어부는,
    프로그램 코드를 비동기 모드로 변경하여 상기 저장부에 저장하고,
    상기 정보는, 상기 웹 서버가 발행한 쿠키 정보이고,
    상기 쿠키 정보는, 상기 프로그램 코드를 포함하는 것을 특징으로 하는 단말.
  14. 제13항에 있어서, 상기 제어부는,
    상기 웹 서버의 식별자, 사용자의 식별자, 상기 단말을 통하여 상기 웹 서버와 통신하는 주변 장치의 식별자 중 적어도 하나를 상기 저장부에 캐싱하는 것을 특징으로 하는 단말.
  15. 제13항에 있어서, 상기 제어부는,
    상기 웹 서버로부터 수신된 상기 접속 응답 메세지를 상기 제1 웹 브라우저 또는 상기 제2 웹 브라우저로 전송하도록 상기 통신부를 제어하는 것을 특징으로 하는 단말.
  16. 제11항에 있어서, 상기 제어부는,
    상기 제 1 접속 요청 메세지를 압축하고, 상기 압축된 제 1 접속 요청 메세지를 상기 웹 서버로 전송하도록 상기 통신부를 제어하는 것을 특징으로 하는 단말.
  17. 제11항에 있어서, 상기 제어부는,
    상기 순서를 재사용 가능한 콘텐츠 링크, 재사용 가능한 스크립트 링크, 재사용 가능하지 않은 콘텐츠 링크, 재사용 가능하지 않은 스크립트 링크 순으로 결정하는 것을 특징으로 하는 단말.
  18. 제11항에 있어서,
    상기 단말의 상태를 감지하는 적어도 하나의 물리 장치를 더 포함하고,
    상기 제어부는,
    상기 제1 웹 브라우저에 의하여 상기 적어도 하나의 물리 장치에 관련된 정보를 요청하는 HTTP 메시지가 발생하면, 상기 제1 OS 또는 상기 제2 OS를 통하여 상기 물리 장치에 관련된 정보를 획득하고, 상기 제1 웹 브라우저 또는 상기 제2 웹 브라우저로 상기 획득된 물리 장치에 관련된 정보를 HTTP 메시지를 통하여 전달하는 것을 특징으로 하는 단말.
  19. 제18항에 있어서, 상기 적어도 하나의 물리 장치는,
    GPS 또는 센서를 포함하는 것을 특징으로 하는 단말.
  20. 제11항에 있어서, 상기 제어부는,
    상기 단말의 애플리케이션에 의하여 생성된 데이터를 상기 저장부에 저장하고, 상기 데이터에 대한 정보를 상기 웹 서버로 전송하도록 상기 통신부를 제어하고, 상기 웹 서버로부터 상기 데이터의 전송 요청 메세지를 수신하면, 상기 서버로 상기 데이터를 전송하도록 상기 통신부를 제어하는 것을 특징으로 하는 단말.

KR1020130076593A 2013-07-01 2013-07-01 모바일 단말 및 모바일 단말의 네트워크 전송 제어 방법 KR102112605B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020130076593A KR102112605B1 (ko) 2013-07-01 2013-07-01 모바일 단말 및 모바일 단말의 네트워크 전송 제어 방법
PCT/KR2014/005869 WO2015002443A1 (en) 2013-07-01 2014-07-01 Mobile device and method for controlling transmission to web server in mobile device
US14/321,704 US10404774B2 (en) 2013-07-01 2014-07-01 Mobile device and method for controlling transmission to web server in mobile device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130076593A KR102112605B1 (ko) 2013-07-01 2013-07-01 모바일 단말 및 모바일 단말의 네트워크 전송 제어 방법

Publications (2)

Publication Number Publication Date
KR20150003563A KR20150003563A (ko) 2015-01-09
KR102112605B1 true KR102112605B1 (ko) 2020-05-19

Family

ID=52116746

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130076593A KR102112605B1 (ko) 2013-07-01 2013-07-01 모바일 단말 및 모바일 단말의 네트워크 전송 제어 방법

Country Status (3)

Country Link
US (1) US10404774B2 (ko)
KR (1) KR102112605B1 (ko)
WO (1) WO2015002443A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2727042B1 (en) * 2011-07-01 2016-04-06 Fiberlink Communications Corporation Rules based actions for mobile device management
KR102070149B1 (ko) * 2013-06-10 2020-01-28 에스케이텔레콤 주식회사 통신 네트워크에서 컨텐츠 전달 방법 및 이를 위한 장치
US10949459B2 (en) * 2013-06-13 2021-03-16 John F. Groom Alternative search methodology
US10365798B1 (en) 2016-01-08 2019-07-30 Microsoft Technology Licensing, Llc Feedback manager for integration with an application
CN110582083B (zh) * 2019-08-13 2023-07-11 河北上通云天网络科技有限公司 一种移动端的server服务器系统
CN110620890B (zh) * 2019-09-02 2022-07-22 深圳壹账通智能科技有限公司 文件上传方法及系统
KR102488252B1 (ko) * 2022-07-08 2023-01-18 주식회사 바이럴픽 모바일 디바이스를 활용한 프록시 서비스 제공 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020062375A1 (en) * 2000-11-22 2002-05-23 Dan Teodosiu Locator and tracking service for peer to peer resources
US20080289029A1 (en) * 2007-05-17 2008-11-20 Sang-Heun Kim Method and system for continuation of browsing sessions between devices
US20130145017A1 (en) * 2011-12-06 2013-06-06 Seven Networks, Inc. Optimization of mobile traffic directed to private networks and operator configurability thereof

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6253234B1 (en) * 1997-10-17 2001-06-26 International Business Machines Corporation Shared web page caching at browsers for an intranet
KR20020011016A (ko) * 2000-07-31 2002-02-07 윤종용 웹 검색 속도 향상을 위한 프리캐싱 알고리즘
US20030154398A1 (en) * 2002-02-08 2003-08-14 Eaton Eric Thomas System for providing continuity between session clients and method therefor
US7155571B2 (en) 2002-09-30 2006-12-26 International Business Machines Corporation N-source in-kernel cache for high performance in computer operating systems
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
US9798822B2 (en) * 2010-06-29 2017-10-24 Apple Inc. Location based grouping of browsing histories
JP2012068790A (ja) * 2010-09-22 2012-04-05 Internatl Business Mach Corp <Ibm> Osのイメージの選択装置、選択方法、及び選択プログラム
WO2012044557A2 (en) * 2010-10-01 2012-04-05 Imerj, Llc Auto-configuration of a docked system in a multi-os environment
US8671454B2 (en) * 2010-11-04 2014-03-11 Verifone, Inc. System for secure web-prompt processing on point of sale devices
US20160036929A1 (en) * 2011-07-01 2016-02-04 Google Inc. Long term targeting of content items
US20130014501A1 (en) * 2011-07-11 2013-01-17 GM Global Technology Operations LLC Tunable stiffness actuator

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020062375A1 (en) * 2000-11-22 2002-05-23 Dan Teodosiu Locator and tracking service for peer to peer resources
US20080289029A1 (en) * 2007-05-17 2008-11-20 Sang-Heun Kim Method and system for continuation of browsing sessions between devices
US20130145017A1 (en) * 2011-12-06 2013-06-06 Seven Networks, Inc. Optimization of mobile traffic directed to private networks and operator configurability thereof

Also Published As

Publication number Publication date
WO2015002443A1 (en) 2015-01-08
US10404774B2 (en) 2019-09-03
KR20150003563A (ko) 2015-01-09
US20150006681A1 (en) 2015-01-01

Similar Documents

Publication Publication Date Title
KR102112605B1 (ko) 모바일 단말 및 모바일 단말의 네트워크 전송 제어 방법
CN105577777B (zh) 一种消息处理方法、装置及系统
CN104798071A (zh) 在雾计算架构中使用边缘服务器改善网站性能
US20150189036A1 (en) Offline caching method and apparatus
CN102783119A (zh) 访问控制方法、系统及接入终端
US11831736B2 (en) System and methods for service layer cache management
US20120054295A1 (en) Method and apparatus for providing or acquiring the contents of a network resource for a mobile device
CN109068153A (zh) 视频播放方法、装置和计算机可读存储介质
US20200320154A1 (en) A webpage loading method, webpage loading system and server
KR102036579B1 (ko) 무선 통신 시스템에서 웹 서비스 제공 방법 및 장치
CN104123380A (zh) 网页访问方法和装置
CN103401926A (zh) 一种提高网络资源访问速度的方法及装置
CN104615597A (zh) 浏览器中清除缓存文件的方法、装置和系统
WO2018132557A1 (en) Dynamic protocol switching
KR102602073B1 (ko) 서비스 능력 요건들 및 선호도들에 기반한 서비스 등록
KR20140049449A (ko) 홈 네트워크에서의 애플리케이션 이동성 관리 장치
EP2850809B1 (en) Providing data to a network terminal
KR102189889B1 (ko) 웹 브라우저 기반 안드로이드 애플리케이션 스트리밍 서비스 제공 방법 및 이를 위한 시스템
US20150288734A1 (en) Adaptive leveraging of network information
Qian Toward mobile-friendly web browsing
KR102130544B1 (ko) 어플리케이션의 접속속도를 측정하는 어플리케이션 성능관리시스템
CN113347234B (zh) 网络信息获取方法、装置、系统、计算机设备和存储介质
US20160100217A1 (en) System and method for optimizing delivery of video content in native mobile applications
KR102297710B1 (ko) 컨텐츠의 압축률 조절 시스템, 서버 및 방법
KR102147053B1 (ko) 컨텐츠 전송 서비스 기반의 api 제공 방법 및 이를 위한 캐시 장치

Legal Events

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