KR20100029257A - 오프라인 브라우징용 콘텐트 다운로드 시스템, 방법, 기기 및 컴퓨터 프로그램 제품 - Google Patents

오프라인 브라우징용 콘텐트 다운로드 시스템, 방법, 기기 및 컴퓨터 프로그램 제품 Download PDF

Info

Publication number
KR20100029257A
KR20100029257A KR1020107002183A KR20107002183A KR20100029257A KR 20100029257 A KR20100029257 A KR 20100029257A KR 1020107002183 A KR1020107002183 A KR 1020107002183A KR 20107002183 A KR20107002183 A KR 20107002183A KR 20100029257 A KR20100029257 A KR 20100029257A
Authority
KR
South Korea
Prior art keywords
network
processor
information
user
communication
Prior art date
Application number
KR1020107002183A
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 KR20100029257A publication Critical patent/KR20100029257A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W60/00Affiliation to network, e.g. registration; Terminating affiliation with the network, e.g. de-registration
    • H04W60/06De-registration or detaching
    • 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/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Abstract

전자 기기가 네트워크로부터 통신상 단절될 것임을 나타내는 표시를 수신하고; 상기 전자 기기가 상기 네트워크로부터 단절되기 전에, 상기 수신된 표시에 응답하여 상기 네트워크로부터 정보를 다운로딩하며; 그리고 상기 정보가 오프라인 브라우징에 이용가능하도록 상기 전자 기기에 상기 다운로딩된 정보를 저장하는 시스템, 방법, 기기 및 컴퓨터 프로그램 제품이 제공된다. 예를 들어, 사용자는 전자 기기에게 네트워크로부터 단절할 것을 지시할 수도 있다. 사용자는 또한 그 기기가 네트워크로부터 단절하여야 하기 전의 시간을 지정할 수도 있다. 그러면 그 기기는 그 지정된 시간이 만료될 때까지 네트워크 콘텐트를 프리캐싱(pre-caching)하는 것을 시작할 수도 있다. 그 지정된 시간이 만료된 때, 그 기기는 네트워크로부터 단절할 수도 있지만, 사용자는 로컬 메모리에 저장된 프리캐싱된 네트워크 콘텐트를 브라우징함으로써 오프라인으로 네트워크 콘텐트를 계속 브라우징할 수 있다.

Description

오프라인 브라우징용 콘텐트 다운로드 시스템, 방법, 기기 및 컴퓨터 프로그램 제품{Systems, methods, devices, and computer program products for downloading content for offline browsing}
본 발명의 실시예들은 대체적으로 기기가 네트워크에 접속되어 있지 않을 때 그 기기에서의 사용을 위해 네트워크로부터 콘텐트를 다운로드하고 저장하도록 구성된 시스템, 기기, 방법 및 컴퓨터 프로그램 제품에 관한 것이다. 더 특별하게는, 본 발명의 실시예들은, 그 기기가 온라인 모드에서 오프라인 모드로 바뀔 것이라는 표시(indication)에 응답하여, 오프라인 브라우징에 사용될 콘텐트를 다운로딩하는 것을 제시한다.
다수의 모바일 기기들은 현재 인터넷 또는 다른 통신 네트워크들에 무선으로 액세스하도록 구성되어 있어 사용자는 그 모바일 기기를 사용하여 그 네트워크 상의 콘텐트를 브라우징할 수 있다. 그러나, 종종, 모바일 기기의 사용자는 모바일 기기를 사용하여 네트워크에 액세스할 수 있는 능력을 제한하는 몇몇 흔한 상황들을 마주치게 될 것이다. 예를 들어, 사용자는, 모바일 기기 사용 및/또는 무선 네트워크 접속에 관한 주지의 제약사항들이 있는, 비행기, 병원, 교실, 교회, 기타 등등과 같은 구역에 들어가고 있을 수도 있다. 이러한 상황에서, 사용자는 전화기를 끄던지, 아니면 최소한 그 기기를 "온라인" 모드에서 "오프라인" 모드로 바꾸는 것과 같은 다른 수단을 통해 네트워크로부터 단절하여야 한다. 또 하나의 예에서, 네트워크에 대한 사용자 접속은, 모바일 기기가 네트워크와 무선으로 통신할 수 없는 구역에 사용자가 들어갈 수도 있기 때문에, 사용자가 한 지역에서 다른 지역으로 이동하고 있을 때 제한되거나 상실될 수도 있다. 또 하나의 다른 실시예에서, 사용자는 고속 네트워크 접속을 제공하는 알려진 핫스팟(hotspot)에서 네트워크에 액세스하고 있을 수도 있다. 그러나, 어떤 시점에서, 사용자는 그 핫스팟을 떠나야 할 수도 있고, 따라서 그 네트워크로부터 단절하여야 할 수도 있다. 오프라인 모드로의 이행(transition)이 모든 네트워크들로부터의 모바일 기기의 완전한 단절에 응답하여 일어날 수 있는 반면, 그 모바일 기기는 또한 그 모바일 기기가 네트워크들을 스위치하는 경우들에서 (그 모바일 기기가 이전에 통신하고 있었던 네트워크에 대하여) 오프라인 모드로 이행할 수도 있다. 이와 같이, "오프라인"은, 모바일 기기가 현재 모든 네트워크들로부터 완전히 단절되어 있는지 또는 다른 네트워크에 의해 현재 서비스를 받고 있는지에 상관없이, 그 모바일 기기를 이전에 서비스하고 있었던 네트워크로부터 그 모바일 기기가 오프라인인지 여부에 관한 것이다.
종종 상기에서 열거한 이유들 때문에 또는 어떤 다른 이유 때문에 사용자가 인터넷과 같은 네트워크로부터 단절하여야 하는 경우들에서, 사용자는 자신이 브라우징하기를 원하는 네트워크 콘텐트를 브라우징하는 것이 끝마쳐지지 않기도 한다. 더욱이, 비록 사용자가 네트워크에 빠르게 재접속할 수 있을지라도, 사용자는, 모바일 기기가 네트워크로부터 단절되었을 때 사용자가 브라우징하고 있었던 네트워크 내 위치로 용이하게 돌아갈 수 없을 수도 있다. 네트워크 콘텐트가 빈번하게 변경되는 상황들에서, 사용자가 나중에 그 네트워크에 재접속할 때, 사용자가 그 네트워크로부터 단절되기 전에 막 브라우징하려고 하였던 링크(link)나 콘텐트를 발견할 수 없을 수도 있는데, 왜냐하면 그 콘텐트나 링크가 그 사이에 삭제되었거나 변경되었을 수도 있기 때문이다.
모바일 기기를 사용하여 인터넷 또는 다른 네트워크들에 액세스하는 것에 관한 또 하나의 문제는 다수의 네트워크 서비스 제공자들이 사용자가 네트워크에 접속된 시간에 기반하여 사용자에게 요금청구한다는 점이다. 이 유형의 지불 구조는 사용자가 인터넷 상의 정보를 브라우징하는 효율적인 방식이 아닐 수도 있는데, 왜냐하면 사용자가 웹 페이지를 다운로드하여 다른 웹 페이지를 다운로딩하기 전에 이 웹 페이지를 보는데 상당한 시간을 사용할 수도 있기 때문이다. 이러한 시나리오에서는, 비록 사용자가 첫 번째 웹 페이지가 다운로드되는 순간에서부터 두 번째 웹 페이지가 다운로드되는 순간까지 네트워크 접속을 사용하고 있지 않을 수 있을지라도, 그 사용자는 자신이 그 하나의 웹 페이지를 보고 있는 모든 시간 동안 요금청구될 수도 있다.
현재, 어떤 웹 브라우저들은 "프리캐싱"(pre-caching)으로 알려진 옵션을 수행하도록 설정되는데, 그 "프리캐싱" 옵션에서는 사용자가 웹 페이지를 뷰(view)하거나 그렇지 않으면 액세스하려고 시도하기 전에 그 웹 브라우저가 기기로 하여금 웹 페이지를 다운로딩하고 저장하게끔 지시한다. 이러한 식으로, 만약 사용자가 그 기기에 의해 프리캐싱되었던 웹 페이지에 대한 링크를 클릭한다면, 그 기기는, 사용자가 그 기기가 그 웹 페이지를 다운로딩하기를 기다려야 했던 경우보다, 사용자에게 더 빠르게 그 웹 페이지를 디스플레이할 수 있다. 이러한 웹 브라우저들은 또한 오프라인 브라우징(offline browsing)을 허용할 수도 있어서, 기기가 일시적으로 서비스를 받지 못한 경우에도, 사용자는 여전히 어느 캐싱된 또는 프리캐싱된 웹 페이지들을 제한적으로 브라우징할 수 있다. 현재의 캐싱 및 프리캐싱 시스템에 관한 문제점은, 사용자가 네트워크에 접속될 때마다, 그 시스템은 캐싱 또는 프리캐싱 기능들을 계속적으로 수행한다는 점이다. 이는 모바일 기기에 상당한 문제를 가져다 줄 수 있는데 왜냐하면 캐싱 및 프리캐싱 동작들은 상당한 프로세싱 파워(processing power)와 배터리 파워(battery power)를 요구하고, 그 상당한 프로세싱 파워 및 배터리 파워 양자 모두를 갖추는 것은 모바일 기기에 있어서는 귀하기 때문이다. 더욱이, 이러한 계속적인 캐싱 및 프리캐싱 시스템은 비용 문제를 다루기 위한 역할을 거의 하고 있지 않으며, 사실, 사용자의 네트워크 서비스 제공자가 모바일 기기에 의해 네트워크에 대하여 생성된 콘텐트 요청들(예: HTTP 요청들)의 수에 기반하여 요금을 청구한다면, 그 계속적인 캐싱 및 프리캐싱 시스템은 모바일 사용자로 하여금 더 많은 비용을 들게 할 수도 있다.
본 발명은 상기에서 언급한 문제들을 해결하기 위한 것으로, 기기가 네트워크에 접속되어 있지 않을 때 그 기기에서의 사용을 위해 네트워크로부터 콘텐트를 다운로드하고 저장하도록 구성된 시스템, 기기, 방법 및 컴퓨터 프로그램 제품을 제공한다.
전술한 배경기술에 비추어 볼 때, 본 발명의 바람직한 실시예들은, 전자 기기가 네트워크로부터 통신상 단절될 것임을 나타내는 표시를 수신하고; 상기 전자 기기가 상기 네트워크로부터 단절되기 전에, 상기 수신된 표시에 응답하여 상기 네트워크로부터 정보를 다운로딩하며; 그리고 상기 정보가 오프라인 브라우징에 이용가능하도록 상기 전자 기기에 상기 다운로딩된 정보를 저장하도록 구성된, 시스템, 방법, 기기 및 컴퓨터 프로그램 제품을 제공한다. 예를 들면, 사용자는 전자 기기에게 네트워크로부터 단절할 것을 지시할 수도 있다. 사용자는 또한 상기 기기가 상기 네트워크로부터 단절하여야 하기 전의 시간을 명세화할 수도 있다. 네트워크로부터 단절하라는 지시에 응답하여, 상기 기기는 명세화된 시간이 경과될 때까지 네트워크 콘텐트를 프리캐싱하는 것을 자동적으로 시작할 수도 있다. 상기 명세화된 시간이 경과될 때, 상기 기기는 상기 네트워크로부터 단절할 수도 있지만, 사용자는 로컬 메모리에 저장된 프리캐싱된 네트워크 콘텐트를 브라우징함으로써 네트워크 콘텐트를 오프라인으로 계속 브라우징할 수 있다.
더 일반적으로, 본 발명의 실시예들은, 네트워크에 통신상 접속하는 수단 및 상기 네트워크 상의 적어도 하나의 다른 기기와 통신하는 수단을 구비한 장치를 제공할 수도 있다. 상기 장치는 또한 상기 장치가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 표시를 수신하는 수단을 구비한다. 상기 장치는 상기 장치가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 수신된 표시에 응답하여 상기 네트워크 상의 적어도 하나의 기기로부터 정보를 다운로드하는 수단을 더 포함한다. 상기 장치는 또한 상기 장치가 상기 네트워크로부터 통신상 단절된 때 상기 장치가 다운로드된 정보에 액세스할 수 있도록 상기 다운로드된 정보를 상기 장치 내에 저장하는 수단을 더 포함한다.
예를 들어, 본 발명의 실시예들은 네트워크에 통신상 접속하도록 구성된 통신 인터페이스; 데이터를 저장하도록 구성된 메모리 기기; 및 상기 통신 인터페이스 및 상기 메모리 기기에 동작가능하게 연결되고 그리고 상기 통신 인터페이스가 상기 네트워크에 통신상 접속되어 있을 때 상기 네트워크 상의 적어도 하나의 다른 기기와 통신하기 위해 상기 통신 인터페이스를 사용하도록 구성된 프로세서를 구비한 장치를 제공할 수도 있다. 상기 통신 인터페이스가 상기 네트워크에 통신상 접속될 때, 상기 프로세서는 상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 표시를 수신하도록 구성된다. 상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 표시를 수신함에 응답하여, 상기 프로세서는 상기 통신 인터페이스를 사용하여 상기 네트워크 상의 적어도 하나의 기기로부터 정보를 다운로드하도록 구성된다. 상기 프로세서는, 상기 장치가 상기 네트워크로부터 통신상 단절되는 때에 상기 프로세서가 다운로드된 정보에 액세스할 수 있도록 상기 프로세서는 상기 메모리 기기에 상기 다운로드된 정보를 저장한다.
하나의 실시예에서, 상기 장치는, 상기 프로세서에 동작가능하게 연결되고 상기 장치의 사용자 및 상기 프로세서 간의 통신을 가능하게 하도록 구성된 사용자 인터페이스를 더 포함한다. 이러한 일 실시예에서, 상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 표시를 수신함에 응답하여, 상기 프로세서는, 다운로드된 정보의 오프라인 브라우징을 가능하게 하도록 상기 네트워크 상의 적어도 하나의 기기로부터 정보를 다운로드하고 저장하여야 할지를 사용자에게 묻기 위해 상기 사용자 인터페이스를 사용하도록 구성된다. 그러나, 그 장치의 또 하나의 실시예에서는, 상기 프로세서는, 상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 표시를 수신함에 응답하여 상기 네트워크 상의 적어도 하나의 기기로부터 정보를 다운로드하고 저장하는 것을 자동적으로(즉, 진술된 동작을 수행하기 위해 사용자 입력 기기의 가동(actuation)을 요구함이 없이) 개시하도록 구성된다.
그 장치에 관한 하나의 실시예에서, 상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 표시를 수신함에 응답하여, 상기 프로세서는, 상기 적어도 하나의 기기로부터 상기 정보를 다운로드하며 상기 장치의 디스플레이 상에 다운로드된 정보를 디스플레이함이 없이 상기 다운로드된 정보를 상기 메모리 기기에 저장함으로써 네트워크 콘텐트의 프리캐싱을 수행하기 위해 상기 통신 인터페이스를 사용하도록 구성된다. 하나의 실시예에서, 상기 프로세서는 단지 상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 표시를 수신한 후에만 네트워크 콘텐트의 프리캐싱을 수행하도록 구성될 수도 있다.
상기 장치가, 상기 프로세서에 동작가능하게 연결되며 상기 장치의 사용자 및 상기 프로세서 간의 통신을 가능하게 하도록 구성되는 사용자 인터페이스를 포함하는 실시예들에서, 상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 표시는 상기 사용자 인터페이스로부터 수신된 사용자 입력을 포함할 수도 있는데, 여기서 그 사용자 입력은 상기 프로세서에게 상기 네트워크로부터 통신상 단절할 것을 지시하는 입력이다.
그 장치의 통신 인터페이스가 상기 네트워크에 무선으로 접속하도록 구성된 실시예들에서, 상기 프로세서가 상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 표시를 수신하는 것은 상기 프로세서가 상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 판별하는 것을 포함할 수도 있다. 상기 프로세서는, 상기 장치의 위치 및/또는 상기 통신 인터페이스의 무선 특성들, 상기 네트워크, 및/또는 상기 통신 인터페이스에 의해 수신된 네트워크 통신 신호에 관한 정보에 기반하여 상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 판별할 수도 있다.
그 장치의 하나의 실시예에서, 상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 표시는 상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절되기 전의 시간에 관한 표시를 또한 제공한다. 예컨대, 상기 시간은 사용자 입력에 의해 정의될 수도 있다. 하나의 실시예에서, 상기 프로세서는 표시된 시간 내에 그것이 할 수 있는 한 상기 네트워크로부터 많은 정보를 다운로드하고 저장하도록 구성될 수도 있고, 여기서 상기 프로세서는 상기 메모리 기기에 저장된 기결정된 지시들에 따라 상기 정보를 다운로드하고 저장한다.
그 장치의 하나의 실시예에서, 상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 표시를 수신함에 응답하여, 상기 프로세서는 상기 네트워크로부터 사용자-선택(user-selected) 정보를 다운로드하고 저장하도록 구성된다. 예컨대 그 사용자-선택 네트워크 정보는, 상기 메모리에 저장된 사용자의 선호(favorite) 목적지 또는 가장 일반적으로 뷰된(viewed) 네트워크 목적지들의 리스트에서 식별되는 네트워크 목적지들과 연관된 네트워크 정보를 포함할 수도 있다. 대안적으로, 다운로드될 정보는 예컨대 콘텐트를 예측케 할 수도 있는 다른 사용자들의 행동(behavior)에 기반할 수도 있다.
그 장치의 하나의 실시예에서, 상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 표시를 수신함에 응답하여, 상기 프로세서는, 상기 메모리 기기에 저장된 기정의된 규칙들에 기반하여 상기 네트워크로부터 정보를 다운로드하고 저장하도록 구성된다. 예컨대, 상기 메모리 기기에 저장된 기정의된 규칙들은 상기 프로세서로 하여금 적어도 하나의 최근에 뷰된 네트워크 페이지에서 식별된 적어도 하나의 링크와 연관된 네트워크 정보를 다운로드하고 저장할 것을 지시할 수도 있다.
그 장치가 상기 프로세서에 동작가능하게 연결되며 상기 장치의 사용자 및 상기 프로세서 간의 통신을 가능하게 하도록 구성되는 사용자 인터페이스를 구비하는 일 실시예에서, 상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 표시는 상기 사용자 인ㅌ페이스로부터 수신된 사용자 입력을 포함할 수도 있고, 여기서 상기 사용자 입력은 상기 프로세서에게 특정 시점에 상기 네트워크로부터 통신상 단절할 것을 지시하는 입력이다. 수신된 표시에 응답하여, 상기 프로세서는 상기 특정 시점 전에 네트워크 콘텐트를 다운로드하고 저장하도록 구성된다. 그리고 나서 상기 프로세서는 상기 특정 시점에 상기 네트워크로부터 단절할 수도 있다.
그 장치의 또 하나의 실시예에서, 상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 표시를 수신함에 응답하여, 상기 프로세서는 상기 네트워크로부터 기정의된 정보를 다운로드하고 저장하도록 구성된다. 그리고 나서 상기 프로세서는 상기 프로세서가 상기 네트워크로부터 상기 기정의된 정보를 다운로드한 후에 상기 네트워크로부터 자동적으로 단절하도록 구성될 수도 있다.
본 발명의 실시예들은, (ⅰ) 네트워크에 제1 기기를 통신상 접속시키는 단계 [상기 네트워크는 자신에 통신상 접속되는 적어도 하나의 다른 기기를 구비함]; (ⅱ) 상기 제1 기기가 상기 네트워크로부터 통신상 단절할 것임을 나타내는 표시를 수신하는 단계; (ⅲ) 상기 제1 기기가 상기 네트워크로부터 통신상 단절할 것임을 나타내는 수신된 표시에 응답하여, 상기 네트워크에 통신상 접속된 적어도 하나의 다른 기기로부터 정보를 다운로드하는 단계; 및 (ⅳ) 상기 다운로드된 정보를 상기 제1 기기의 메모리에 저장하는 단계를 포함하는 방법을 또한 제공한다. 하나의 실시예에서, 상기 제1 기기가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 표시를 수신하는 단계는 상기 제1 기기에게 상기 네트워크로부터 통신상 단절할 것을 지시하는 사용자 입력을 수신하는 단계를 포함한다.
본 발명의 바람직한 실시예에서, 상기 제1 기기가 상기 네트워크로부터 통신상 단절할 것임을 나타내는 표시를 수신하는 단계는 또한, 상기 제1 기기가 상기 네트워크로부터 통신상 단절하기 전의 시간에 관한 표시를 수신하는 단계를 더 포함할 수도 있다. 이러한 일 실시예에서, 상기 제1 기기가 상기 네트워크로부터 통신상 단절되기 전의 시간에 관한 표시를 수신하는 단계는 상기 제1 기기가 상기 네트워크로부터 통신상 단절되기 전의 시간을 상술하는(specify) 사용자 입력을 수신하는 단계를 포함할 수도 있다. 또한, 상기 네트워크에 통신상 접속된 적어도 하나의 다른 기기로부터 정보를 다운로드하는 단계는, 기결정된 다운로드 지시들에 따라, 상기 표시된 시간 내에서 가능한 한 상기 네트워크로부터 많은 정보를 다운로드하는 단계를 포함할 수도 있다.
어떤 실시예들에서는, 상기 네트워크에 통신상 접속된 적어도 하나의 다른 기기로부터 정보를 다운로드하는 단계는 상기 네트워크로부터 사용자-선택 정보를 다운로드하는 단계를 포함한다. 예를 들어, 사용자 선택 네트워크 정보는 상기 제1 기기의 메모리에 저장된 사용자의 즐겨찾기 리스트(favorites list)에서 식별된 네트워크 목적지들과 연관된 네트워크 정보를 포함할 수도 있다.
어떤 실시예들에서는, 상기 네트워크에 통신상 접속된 적어도 하나의 다른 기기로부터 정보를 다운로드하는 단계는 상기 메모리에 저장된 기정의된 규칙들에 기반하여 상기 네트워크로부터 정보를 다운로드하는 단계를 포함한다. 예를 들어, 이러한 기정의된 규칙들은, 상기 프로세서로 하여금, 적어도 하나의 최근에 뷰된 네트워크 페이지에서 식별된 적어도 하나의 링크와 연관된 네트워크 정보를 다운로드하고 저장하도록 지시할 수도 있다. 상기 기정의된 규칙들의 다른 예들은, 예컨대 콘텐트의 타입, 콘텐트의 출처(source), 사용자에 의해 식별된 콘텐트의 선호 유형들 등에 기반한다.
하나의 실시예에서, 상기 네트워크에 통신상 접속된 적어도 하나의 다른 기기로부터 정보를 다운로드하는 단계는 기정의된 정보를 상기 네트워크로부터 다운로드하는 단계를 포함한다. 이러한 일 실시예에서, 상기 방법은, 상기 네트워크로부터의 상기 기정의된 정보가 다운로드되고 저장되었음을 나타내는 표시에 응답하여 상기 네트워크로부터 상기 제1 기기를 단절하는 단계를 더 수반할 수도 있다.
본 발명의 실시예들은, 컴퓨터-판독가능(computer-readable) 프로그램 코드 로직을 저장한 적어도 하나의 컴퓨터-판독가능 저장 매체를 포함하는 컴퓨터 프로그램 제품을 또한 제공한다. 상기 컴퓨터-판독가능 프로그램 코드 로직은, 예컨대, 제1 기기가 통신 네트워크로부터 통신상 단절될 것임을 나타내는 표시를 수신하도록 구성된 제1 코드 로직; 및 상기 제1 기기가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 상기 수신된 표시에 응답하여, 상기 네트워크에 통신상 접속된 적어도 하나의 다른 기기로부터 정보를 다운로드하도록 구성된 제2 코드 로직을 포함할 수도 있다.
그 컴퓨터 프로그램 제품의 바람직한 실시예에서, 상기 제1 코드 로직은 또한, 상기 제1 기기가 상기 네트워크로부터 통신상 단절되기 전의 시간에 관한 표시를 수신하도록 구성된다. 이러한 일 실시예에서, 상기 제1 코드 로직은 또한, 상기 제1 기기가 상기 네트워크로부터 통신상 단절되기 전의 시간을 상술하는 사용자 입력을 수신하도록 구성된 코드 로직을 포함할 수도 있다. 또한, 상기 제2 코드 로직은, 기결정된 다운로드 지시들에 따라, 상기 표시된 시간 내에서 가능한 한 상기 네트워크로부터 많은 정보를 다운로드하도록 구성된 코드 로직을 포함할 수도 있다.
바람직한 실시예에서, 그 컴퓨터 프로그램 제품은, 상기 제1 기기가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 수신된 표시에 응답하여, 상기 제2 코드 로직에 의해 다운로드될 네트워크 정보를 사용자가 상술할 수 있게 해 주도록 구성된 코드 로직을 포함한다. 또 하나의 실시예에서, 상기 컴퓨터 프로그램 제품은, 상기 제1 기기가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 상기 수신된 표시에 응답하여, 상기 제2 코드 로직에 의해 다운로드될 네트워크 정보를 정의하도록 구성된 코드 로직을 포함한다. 이러한 일 실시예에서, 상기 코드 로직은, 사용자에 의해 최근에 액세스된 네트워크 정보 및/또는 사용자에 의해 액세스되지는 않았지만 사용자에 의해 최근에 액세스된 네트워크 정보에서 식별되는 다른 네트워크 정보에 기반하여 다운로드될 네트워크 정보를 정의하도록 또한 구성될 수도 있다.
그 컴퓨터 프로그램 제품의 하나의 실시예에서, 상기 제2 코드 로직은 기정의된 정보를 상기 네트워크로부터 다운로드하도록 또한 구성된다. 이러한 일 실시예에서, 상기 컴퓨터-판독가능 프로그램 코드 로직은, 상기 네트워크로부터의 상기 기정의된 정보가 다운로드되고 저장되었음을 나타내는 표시에 응답하여, 상기 네트워크로부터 상기 제1 기기를 단절하도록 구성되는 코드 로직을 또한 포함할 수도 있다.
본 발명에 따르면, 본 명세서의 "해결하려는 과제" 부분에서 언급한, 오프라인에서의 사용을 위해 네트워크로부터 콘텐트를 다운로드하고 저장하도록 구성된 시스템, 기기, 방법 및 컴퓨터 프로그램 제품을 제공한다.
이렇게 본 발명을 일반적인 용어들로 기술하였고, 이제 첨부 도면들에 대하여 언급할 것이며, 여기서 그 도면들은 반드시 일정한 비례로 그려진 것은 아니며, 그리고 그 도면들에 있어서,
도 1은 본 발명의 바람직한 실시예에 따른 모바일 단말의 도식적인 블록 다이어그램이고;
도 2는 본 발명의 바람직한 실시예에 따라, 본 발명의 실시예들이 동작하도록 구성될 수도 있는 시스템의 한 가지 유형에 관한 도식적인 블록 다이어그램이고;
도 3은 본 발명의 바람직한 실시예에 따라, 프리캐싱된 콘텐트의 오프라인 브라우징을 제공하기 위해 네트워크 콘텐트의 온라인 브라우징 및 네트워크 콘텐트의 프리캐싱을 허용하는 시스템의 도식적인 블록 다이어그램이고;
도 4는 본 발명의 일 실시예에 따라, 도 3의 제1 기기에 의해 실행되는 프로세스를 일반적인 용어들로 예시하는 흐름도이고;
도 5는 본 발명의 바람직한 실시예에 따라, 도 3의 제1 기기에 의해 실행되는 프로세스를 예시하는 흐름도이고;
도 6은 본 발명의 또 하나의 바람직한 실시예에 따라, 도 3의 제1 기기에 의해 실행되는 프로세스를 예시하는 흐름도이며; 그리고
도 7은 본 발명의 다른 또 하나의 바람직한 실시예에 따라, 도 3의 제1 기기에 의해 실행되는 프로세스를 예시하는 흐름도이다.
이제 본 발명이 첨부 도면들을 참조하여 이하에서 더 충분하게 설명될 것이고, 그 도면들에는 몇몇 그러나 모두는 아닌 본 발명의 실시예들이 도시되어 있다. 사실, 이 발명은 많은 상이한 형태들로 구현될 수도 있으며 여기서 언급한 실시예들로 제한되는 것으로 해석되어져서는 안될 것이다; 오히려, 이들 실시예들은 본 개시로써 적용가능한 법적 요건들을 만족시키도록 제공된다. 동일한 번호들은 전부 동일한 요소들을 가리킨다.
도 1은 전자 기기의 블록 다이어그램을 예시하며, 구체적으로는 본 발명의 실시예들에서 이익을 얻을 수도 있는 모바일 단말(10)을 예시하고 있다. 모바일 단말(10)의 몇몇 실시예들이 예시되어 있고 예를 위해 이하에서 설명될 것이지만, 다른 유형의 전자 기기들 이를테면 디지털 카메라, PDA(portable digital assistant), 페이저(pager), 모바일 텔레비전, 컴퓨터, 랩톱 컴퓨터(laptop computer), 및 데이터 파일들을 조작하는 그리고/또는 저장하는 다른 유형의 시스템들이 본 발명의 실시예들을 용이하게 활용할 수 있다. 이러한 기기들은 모바일 방식일 수도 있고 모바일 방식이 아닐 수도 있다.
모바일 단말(10)은 송신기(14) 및 수신기(16)를 가지고 동작가능하게 통신하는 안테나(12)를 포함하는 통신 인터페이스를 포함한다. 모바일 단말(10)은, 송신기(14) 및 수신기(16)에게 신호를 제공하며 그리고 개별적으로 그 송신기(14) 및 수신기(16)로부터 신호를 수신하는 프로세서(20) 또는 다른 프로세싱 요소를 또한 포함한다. 그 신호는 적용가능한 셀룰러 시스템의 공중 인터페이스 표준(air interface standard)에 따르는 시그널링 정보 및 또한 사용자 음성(user speech) 및/또는 사용자 생성 데이터(user generated data)를 포함한다. 이 점에 있어서, 모바일 단말(10)은 하나 이상의 공중 인터페이스 표준들, 통신 프로토콜들, 변조(modulation) 타입들, 및 액세스 타입들을 이용하여 동작할 수 있다. 예시로서, 모바일 단말(10)은 다수의 제1, 제2 및/또는 제3-세대 통신 프로토콜들 또는 기타 유사한 것 중 어느 것에 따라 동작할 수 있다. 예를 들어, 모바일 단말(10)은 제2-세대(2G) 무선 통신 프로토콜들인 IS-136(TDMA), GSM, 및 IS-95(CDMA) 또는 제3-세대 무선 통신 프로토콜인 광대역 코드 분할 다중 액세스(Wideband Code Division Multiple Access; WCDMA)에 따라 동작할 수도 있다.
프로세서(20)는 모바일 단말(10)의 오디오 기능 및 논리 기능을 구현하기 위해 요구되는 회로를 포함한다는 것이 이해된다. 예를 들어, 프로세서(20)는, 디지털 신호 프로세서 기기, 마이크로프로세서 기기, 및 다양한 아날로그 대 디지털 변환기들, 디지털 대 아날로그 변환기들, 및 다른 지원 회로들로 구성될 수도 있다. 모바일 단말(10)의 제어 기능 및 신호 처리 기능은 이들 기기들 각자의 성능(capability)에 따라 이들 기기들 사이에 할당된다. 따라서 프로세서(20)는 또한 변조 및 송신에 앞서 메시지 및 데이터를 콘볼루션 인코딩(convolutionally encoding)하고 인터리빙(interleaving)하는 기능부를 포함할 수도 있다. 프로세서(20)는 내부 음성 부호화기(voice coder)를 부가적으로 포함할 수 있고, 내부 데이터 모뎀을 포함할 수도 있다. 또한, 프로세서(20)는, 메모리에 저장될 수도 있는 하나 이상의 소프트웨어 프로그램들을 동작시키는 기능부를 포함할 수도 있다. 예를 들어, 프로세서(20)는 이를테면 기존의 웹 브라우저와 같은 접속 프로그램(connectivity program)을 동작시킬 수도 있다. 그러면 그 접속 프로그램은, 모바일 단말(10)이 예를 들어 무선 어플리케이션 프로토콜(Wireless Application Protocol; WAP)에 따라 웹 콘텐트 이를테면 위치-기반 콘텐트를 송신 및 수신하는 것을 가능하게 해 줄 수도 있다.
모바일 단말(10)은 또한 기존의 이어폰 또는 스피커(24), 벨소리장치(ringer, 22), 마이크로폰(26), 디스플레이(28), 및 사용자 입력 인터페이스와 같은 출력 기기를 포함하는 사용자 인터페이스를 포함하고, 여기서 그것들 모두는 프로세서(20)에 연결된다. 사용자 입력 인터페이스 - 이는 모바일 단말(10)이 데이터를 수신할 수 있게 해 줌 - 는 모바일 단말(10)이 데이터를 수신할 수 있게 해 주는 다수의 기기들 중 어느 것, 이를테면 키패드(30), 터치 디스플레이(미도시) 또는 다른 입력 기기를 포함할 수도 있다. 키패드(30)를 포함하는 실시예들에서, 키패드(30)는 기존의 숫자(0-9) 및 관련 키들(#,*), 및 모바일 단말(10)을 동작시키기 위해 사용되는 다른 키들을 포함할 수도 있다. 대안적으로, 키패드(30)는 기존의 QWERTY 키패드를 포함할 수도 있다. 모바일 단말(10)은 또한, 모바일 단말(10)을 동작시키기 위해 요구되는 다양한 회로들에 전력공급할 뿐만 아니라 선택적으로는 기계적 진동을 탐지가능 출력으로서 제공하기 위한 배터리(34), 이를테면 진동 배터리 팩(vibrating battery pack)을 포함할 수도 있다.
바람직한 실시예에서, 모바일 단말(10)은 프로세서(20)와 통신하는 카메라(36)를 포함한다. 카메라(36)는 저장, 디스플레이 또는 송신을 위해 이미지를 캡쳐하는 임의의 수단일 수도 있다. 예를 들어, 카메라(36)는 캡쳐된 이미지로부터 디지털 이미지 파일을 형성할 수 있는 디지털 카메라를 포함할 수도 있다. 이러한 것으로서, 카메라(36)는 캡쳐된 이미지로부터 디지털 이미지 파일을 생성하기 위해 필요한 모든 하드웨어 이를테면 렌즈나 다른 광학 기기 및 소프트웨어를 포함한다. 대안적으로, 카메라(36)는 이미지를 뷰하는데 필요한 하드웨어만을 포함할 수도 있고, 반면에 모바일 단말(10)의 메모리 기기가, 캡쳐된 이미지로부터 디지털 이미지 파일을 생성하기 위해 필요한 소프트웨어의 형태로 프로세서(20)에 의해 실행될 지시들을 저장한다. 바람직한 실시예에서, 카메라(36)는, 이미지 데이터를 프로세싱하는데 있어 프로세서(20)를 돕는 보조-프로세서(co-processor)와 같은 프로세싱 요소 및 이미지 데이터를 압축 및/또는 압축해제하는 인코더 및/또는 디코더를 더 포함할 수도 있다. 인코더 및/또는 디코더는 JPEG 표준 포맷에 따라 인코딩 및/또는 디코딩할 수도 있다.
모바일 단말(10)은 사용자 식별 모듈(user identity module; UIM, 38)을 더 포함할 수도 있다. UIM(38)은 전형적으로는 빌트인(built in)된 프로세서를 갖는 메모리 기기이다. UIM(38)은, 예컨대 가입자 식별 모듈(subscriber identity module; SIM), 범용 집적 회로 카드(universal integrated circuit card; UICC), 범용 가입자 식별 모듈(universal subscriber identity module; USIM), 착탈식 사용자 식별 모듈(removable user identity module; R-UIM) 기타 등등을 포함할 수도 있다. UIM(38)은 전형적으로 모바일 가입자에 관련된 정보 요소들을 저장한다. UIM(38)에 더하여, 모바일 단말(10)은 메모리를 구비할 수도 있다. 예를 들어, 모바일 단말(10)은, 데이터의 일시적 저장을 위한 캐시(cache) 영역을 포함하는 휘발성 RAM(Random Access Memory)과 같은 휘발성 메모리(40)를 포함할 수도 있다. 모바일 단말(10)은 또한, 엠베디드일 수 있는 그리고/또는 착탈가능할 수도 있는 다른 비휘발성 메모리(42)를 포함할 수도 있다. 비휘발성 메모리(42)는 부가적으로 또는 대안적으로 EEPROM, 플래쉬 메모리 또는 기타 등등 - 이를테면 캘리포니아(California) 서니베일(Sunnyvale)의 ScanDisk 사, 또는 캘리포니아 프레몬트(Fremont)의 Lexar Media 주식회사에서 입수가능한 것 - 을 포함할 수 있다. 그 메모리들은, 모바일 단말(10)의 기능들을 구현하기 위해 모바일 단말(10)에 의해 사용되는 다수의 정보 및 데이터 중 임의의 것을 저장할 수 있다. 예를 들어, 그 메모리들은 모바일 단말(10)을 고유하게 식별할 수 있는 식별자, 이를테면 국제 모바일 장비 식별(international mobile equipment identification; IMEI) 코드를 포함할 수 있다.
이제 도 2를 참조하면, 본 발명의 실시예들이 동작하도록 구성될 수 있는 시스템에 관한 하나의 유형에 관하여 예시가 제공된다. 그 시스템은 복수의 네트워크 기기들을 포함한다. 도시된 바와 같이, 하나 이상의 모바일 단말들(10)은 각각 기지 사이트(base site) 또는 기지국(base station; BS, 44)으로 신호를 송신하기 위한 그리고 그 기지 사이트 또는 기지국(BS, 44)으로부터 신호를 수신하기 위한 안테나(12)를 포함할 수도 있다. 기지국(44)은, 각각이 모바일 교환 센터(mobile switching center; MSC, 46)와 같이 네트워크를 운영하는데 요구되는 요소들을 포함하는 하나 이상의 셀룰러 또는 모바일 네트워크들의 일부일 수도 있다. 관련 기술분야에서 숙련된 자들에게 잘 알려져 있는 바와 같이, 모바일 네트워크는 또한 기지국/MSC/연동 기능부(Base Station/MSC/Interworking function; BMI)로 불릴 수도 있다. 동작에 있어서, MSC(46)는, 모바일 단말(10)이 전화를 하거나 받고 있을 때, 모바일 단말(10)로의 그리고 모바일 단말(10)로부터의 호(call)들을 라우팅할 수 있다. MSC(46)는 또한 모바일 단말(10)이 호에 참가되어 있을 때 지상통신 중계선(landline trunk)들에 대한 접속을 제공할 수 있다. 게다가, MSC(46)는 모바일 단말(10)로의 그리고 모바일 단말(10)로부터의 메시지들의 포워딩을 제어할 수 있고, 또한 메시징 센터로의 그리고 메시징 센터로부터의 모바일 단말(10)을 위한 메시지들의 포워딩을 제어할 수도 있다. 비록 MSC(46)가 도 2의 시스템에 도시되어 있지만, MSC(46)는 단지 바람직한 네트워크 기기일 뿐이고 본 발명의 실시예들은 MSC를 활용하는 네트워크에서의 사용으로 제한되는 것은 아님이 유념되어야 할 것이다.
MSC(46)는, 데이터 네트워크, 이를테면 로컬 영역 네트워크(local area network; LAN), 도시권 네트워크(metropolitan area network; MAN), 및/또는 광역 네트워크(wide area network; WAN)에 연결될 수 있다. MSC(46)는 데이터 네트워크에 직접 연결될 수 있다. 그러나, 하나의 전형적인 실시예에서, MSC(46)는 GTW(48)에 연결되고, GTW(48)는 WAN, 이를테면 인터넷(50)에 연결된다. 차례로, 프로세싱 요소들(예: 개인용 컴퓨터, 서버 컴퓨터 또는 기타 등등)과 같은 기기들은 인터넷(50)을 거쳐 모바일 단말(10)에 연결될 수 있다. 예를 들어, 아래에서 설명되는 바와 같이, 프로세싱 요소들은 컴퓨팅 시스템(52)(도 2에서 2개가 도시됨), 원 서버(origin server, 54)(도 2에서 1개가 도시됨) 또는 기타 등등 - 이는 아래에서 설명되는 바와 같음 - 과 연관된 하나 이상의 프로세싱 요소들을 포함할 수 있다.
BS(44)는 또한 시그널링 GPRS(General Packet Radio Service) 지원 노드(SGSN, 56)에 연결될 수 있다. 관련 기술분야에서 숙련된 자들에게 알려진 바와 같이, SGSN(56)은 전형적으로 패킷 교환 서비스(packet switched services)를 위해 MSC(46)와 유사한 기능들을 수행할 수 있다. MSC(46)와 같이, SGSN(56)은 인터넷(50)과 같은 데이터 네트워크에 연결될 수 있다. SGSN(56)은 데이터 네트워크에 직접 연결될 수 있다. 그러나, 더 전형적인 실시예에서, SGSN(56)은 SGSN(56)은 패킷-교환 코어 네트워크 이를테면 GPRS 코어 네트워크(58)에 연결된다. 그러면 패킷-교환 코어 네트워크는 다른 GTW(48) 이를테면 GTW GPRS 지원 노드(GGSN, 60)에 연결되고, GGSN(60)은 인터넷(50)에 연결된다. GGSN(60)에 더하여, 패킷-교환 코어 네트워크는 또한 GTW(48)에 연결될 수 있다. 또한, GGSN(60)은 메시징 센터에 연결될 수 있다. 이 점에 있어서, GGSN(60) 및 SGSN(56)은, MSC(46)와 같이, MMS 메시지들과 같은 메시지들의 포워딩을 제어할 수도 있다. GGSN(60) 및 SGSN(56)은 또한 메시징 센터로의 그리고 메시징 센터로부터의 모바일 단말(10)을 위한 메시지들의 포워딩을 제어할 수도 있다.
게다가, GPRS 코어 네트워크(58) 및 GGSN(60)에 SGSN(56)을 연결시킴으로써, 컴퓨팅 시스템(52) 및/또는 원 서버(54)와 같은 기기들은 인터넷(50), SGSN(56) 및 GGSN(60)을 거쳐 모바일 단말(10)에 연결될 수도 있다. 이 점에 있어서, 컴퓨팅 시스템(52) 및/또는 원 서버(54)와 같은 기기들은 SGSN(56), GPRS 코어 네트워크(58) 및 GGSN(60)을 통하여 모바일 단말(10)과 통신할 수도 있다. 모바일 단말들(10) 및 다른 기기들(예: 컴퓨팅 시스템(52), 원 서버(54) 등등)을 인터넷(50)에 직접 또는 간접적으로 접속시킴으로써, 모바일 단말들(10)은, 이를테면 하이퍼텍스트 전송 프로토콜(Hypertext Transfer Protocol; HTTP)에 따라, 그 다른 기기들과 그리고 서로 간에 통신하여, 그에 의해 모바일 단말들(10)의 다양한 기능들을 실행할 수도 있다.
비록 모든 가능한 모바일 네트워크의 모든 요소가 여기에서 도시되고 설명되는 것은 아니지만, 모바일 단말(10)은 BS(44)를 통해 다수의 상이한 네트워크들 중 어느 하나 이상의 네트워크에 연결될 수도 있다는 것이 인식되어야 할 것이다. 이 점에 있어서, 그 네트워크(들)는 다수의 제1-세대(1G), 제-세대(2G), 2.5G, 제3-세대(3G) 및/또는 미래의 모바일 통신 프로토콜들 또는 기타 등등 중 어느 하나 이상에 따라 통신을 지원할 수 있다. 예를 들면, 그 네트워크(들) 중 하나 이상은 2G 무선 통신 프로토콜들인 IS-136(TDMA), GSM, 및 IS-95(CDMA)에 따라 통신을 지원할 수 있다. 또한, 예를 들면, 그 네트워크(들) 중 하나 이상은 2.5G 무선 통신 프로토콜들인 GPRS, EDGE(Enhanced Data GSM Environment) 또는 기타 등등에 따라 통신을 지원할 수 있다. 더 나아가, 예를 들면, 그 네트워크(들) 중 하나 이상은 3G 무선 통신 프로토콜들 이를테면 광대역 코드 분할 다중 액세스(WCDMA) 무선 액세스 기술을 활용하는 범용 모바일 전화 시스템(Universal Mobile Telephone System; UMTS) 네트워크에 따라 통신을 지원할 수 있다. 어떤 협-대역 AMPS(narrow-band AMPS; NAMPS) 방식 뿐만 아니라 TACS 방식의 네트워크(들)은 또한 본 발명의 실시예들에서 이익을 얻을 수도 있고, 이는 이중 모드 또는 더 높은 모드의 이동국(mobile station)들(예: 디지털/아날로그 또는 TDMA/CDMA/아날로그 전화기들)도 그러할 것이다.
모바일 단말(10)은 또한 하나 이상의 무선 액세스 포인트(access point; AP)들(62)에 연결될 수 있다. AP들(62)은, 예컨대 무선 주파수(radio frequency; RF), 블루투스(Bluetooth; BT), 적외선(infrared, IrDA) 또는 다수의 여러가지 무선 네트워킹 기술들로서 IEEE 802.11(예: 802.11a, 802.11b, 802.11g, 802.11n 등)과 같은 무선 LAN(WLAN) 기술들, IEEE 802.16과 같은 WiMAX 기술들, 및/또는 IEEE 802.15와 같은 초 광대역(ultra wideband; UWB) 기술들 또는 기타 등등을 포함하는 무선 네트워킹 기술들 중 어느 것과 같은 기술들에 따라 모바일 단말(10)과 통신하도록 구성된 액세스 포인트들을 포함할 수도 있다. AP들(62)은 인터넷(50)에 연결될 수도 있다. MSC(46)에서와 같이, AP들(62)은 인터넷(50)에 직접 연결될 수 있다. 그러나, 하나의 실시예에서, AP들(62)은 GTW(48)를 거쳐 인터넷(50)에 간접적으로 연결된다. 또한, 하나의 실시예에서, BS(44)는 또 하나의 AP(62)로서 고려될 수도 있다. 인식될 바와 같이, 모바일 단말들(10)과 컴퓨팅 시스템(52), 원 서버(54), 및/또는 다수의 다른 기기들 중 어느 것을 인터넷(50)에 직접 또는 간접적으로 접속시킴으로써, 모바일 단말들(10)은 서로와 그리고 그 컴퓨팅 시스템 등과 통신할 수 있고 그에 의해 모바일 단말들(10)의 다양한 기능들 이를테면 데이터, 콘텐트 또는 기타 등등을 컴퓨팅 시스템(52)으로 송신하는 기능, 및/또는 콘텐트, 데이터 또는 기타 등등을 컴퓨팅 시스템(52)으로부터 수신하는 기능을 실행할 수 있다. 여기에서 사용된 것으로서, "데이터", "콘텐트", "정보"와 같은 용어들 및 유사한 용어들은 본 발명의 실시예들에 따라 송신되고, 수신되고 그리고/또는 저장되어질 수 있느 데이터를 가리키기 위해 서로 바꾸어 사용될 수도 있다. 따라서, 어떠한 이러한 용어들을 사용하는 것은 본 발명의 사상 및 범위를 제한하는 것으로 받아들여져서는 안될 것이다.
비록 도 2에 도시되어 있지는 않지만, 인터넷(50)을 통해 컴퓨팅 시스템들(52)에 모바일 단말(10)을 연결하는 것에 더하여 또는 그러한 연결 대신에, 모바일 단말(10) 및 컴퓨팅 시스템(52)은, 예컨대 RF, BT, IrDA 또는 다수의 여러가지 유선 또는 무선 통신 기술들로서 LAN, WLAN, WiMAX 및/또는 UWB 기술들을 포함하는 유선 또는 무선 통신 기술들 중 어느 것에 따라 서로에게 연결되어 통신할 수도 있다. 컴퓨팅 시스템들(52) 중 하나 이상은 부가적으로 또는 대안적으로 콘텐트를 저장할 수 있는 착탈식 메모리를 포함할 수 있고, 그 이후에 그 콘텐트는 모바일 단말(10)로 전송될 수 있다. 또한, 모바일 단말(10)은 하나 이상의 전자 기기들 이를테면 프린터, 디지털 프로젝터(digital projector) 및/또는 다른 멀티미디어 캡쳐용, 생산용 및/또는 저장용 기기들(예: 다른 단말들)에 연결될 수 있다. 컴퓨팅 시스템들(52)에서와 같이, 모바일 단말(10)은, 예컨대 RF, BT, IrDA 또는 다수의 여러가지 유선 또는 무선 통신 기술들로서 USB, LAN, WLAN, WiMAX 및/또는 UWB 기술들을 포함하는 유선 또는 무선 통신 기술들 중 어느 것과 같은 기술들에 따라 휴대용 전자 기기들과 통신하도록 구성될 수도 있다.
이제 도 3을 참조하면, 본 발명의 하나의 실시예에 따라 프리캐싱된 콘텐트를 오프라인 브라우징할 수 있게 네트워크 콘텐트의 온라인 브라우징 및 네트워크 콘텐트의 프리캐싱을 가능하게 해 주는 시스템(300)에 관한 도식적인 블록 다이어그램이 제공된다. 도 3에서 예시된 바와 같이, 바람직한 실시예에서, 시스템(300)은, 적어도 네트워크(305) 또는 다른 통신 시스템을 거쳐 서로에게 통신상 연결되는 제1 기기(310) 및 제2 기기(330)를 포함한다. 예시된 실시예에서, 시스템(300)은 또한 네트워크(305)를 거쳐 제1 기기(310)에 통신상 연결되고 어떤 경우들에서는 제2 기기(330)에 통신상 연결되는 제3 기기(350)를 포함한다. 다른 실시예들에서, 시스템(300)은 네트워크(305)를 통해 제1 기기에 통신상 연결된 어느 정도 개수의 기기들을 가질 수도 있다.
바람직한 실시예에서, 제1 기기(310)는 모바일 단말 이를테면 도 1에 관하여 상기에서 설명된 모바일 단말(10)이다. 또 하나의 실시예에서, 제1 기기(310)는 개인용 컴퓨터 또는 다른 전자 기기일 수도 있다. 제2 기기(330)는 및 제3 기기(350)는 또한 양쪽 모두 전자 기기들이며, 하나의 실시예에서, 제2 기기 및 제3 기기는 도 2에 관하여 상기에서 설명된 컴퓨팅 기기들(52) 또는 원 서버들(54)로서 구현된다. 예를 들어, 제2 기기(330) 또는 제3 기기(350)는 인터넷에 연결된 웹 서버와 같이 네트워크(305)에 통신상 연결된 서버로서 구현될 수도 있다. 그러나, 다른 실시예들에서, 제2 기기(330) 또는 제3 기기(350)는 상기에서 설명된 모바일 단말(10)과 같은 모바일 단말 또는 임의의 다른 전자 기기로서 구현될 수도 있다.
바람직한 실시예에서, 네트워크(305)는 도 2에 관하여 상기에서 설명된 통신 시스템 중 일부 또는 모두를 포함한다. 이 점에 있어서, 네트워크(305)는 LAN, WAN, 또는 하나 이상의 LAN들 및 WAN들의 조합을 포함할 수도 있다. 바람직한 실시예에서, 네트워크(305)는 인터넷을 포함하고, 그 기기들은, 예컨대 HTTP, WAP, TCP/IP, FTP, 또는 인터넷 상의 기기들과 통신하는데 사용되는 임의의 다른 통신 프로토콜 또는 프로토콜들의 조합을 사용하여 서로와 통신하도록 구성된다. 제1, 제2, 및 제3 기기는 무선 또는 유선 접속 수단을 사용하여 네트워크(305)에 통신상 접속될 수도 있다.
도 3에 예시된 바와 같이, 제1 기기(310)는 일반적으로 프로세서(318)와 같은 프로세싱 수단을 포함한다. 캐싱된 또는 프리캐싱된 네트워크 콘텐트를 자신 내에 저장하도록 구성되는 메모리(314)와 같은 데이터 저장 수단이 프로세서(318)에 동작가능하게 연결된다. 메모리(314)는 또한, 도 4 내지 도 7을 참조하여 아래에서 설명되는 프로세스들과 같은 어떤 기정의된 프로세스들 또는 프로세스 단계들을 제1 기기(310)에서 수행하기 위해 프로세서(318)에 의해 실행될 수 있는 컴퓨터-판독가능 프로그램 지시들을 거기에 저장하여 포함할 수도 있다. 도 1의 모바일 단말(1)에 관하여 상기에서 설명된 바와 같이, 메모리(314)는 또한 네트워크 접속 프로그램(network connectivity software)을 저장하도록 구성될 수도 있다. 예를 들어, 메모리(314)는, 예컨대 HTTP 요청들, WAP 요청들 또는 기타 등등을 제2 기기(330)에 대해 통신함으로써, 그리고 예컨대 HTML(Hyptertext Markup Language), XML(Extensible Markup Language), WML(Wireless Markup Language), HDML(Handheld Device Markup Language) 또는 기타 등등을 사용하여 인코딩된 HTTP 응답들, WAP 응답들 또는 기타 등등을 수신하고 활용함으로써, 제2 기기(330) 상에 콘텐트를 브라우징하기 위해 프로세서(318)에 의해 실행될 수 있는 웹 브라우징 소프트웨어를 담고 있을 수도 있다. 또한 상기에서 설명된 바와 같이, 메모리(314)는 제1 기기(310)에 대하여 고정되거나 착탈가능할 수도 있고 로컬이나 외부에 있을 수도 있다.
제1 기기(310)는, 프로세서(318)에 동작가능하게 연결된 사용자 인터페이스(316)와 같이, 제1 기기의 사용자와 통신하는 수단을 더 포함할 수도 있다. 사용자 인터페이스(316)는 사용자로부터 입력을 수신하고 프로세서(318)에게 그 입력을 통신하도록 구성될 수도 있다. 예를 들어, 사용자 인터페이스(316)는 터치 스크린, 터치패드, 마이크로폰, 마우스, 조이스틱, 키패드, 및 기타 등등을 포함할 수도 있다. 사용자 인터페이스(316)는 또한 프로세서(318)로부터 수신된 신호들에 기반하여 사용자로의 출력을 통신하도록 구성될 수도 있다. 예를 들면, 제1 기기(310)는 전형적으로 디스플레이 기기 및 확성기(loudspeaker)를 포함할 것이다.
제1 기기(310)는 네트워크에 통신상 접속하여 네트워크 기기들과 통신하는 수단을 더 포함할 수도 있다. 예를 들어, 제1 기기(310)는, 프로세서(318)에 동작가능하게 연결되어 다른 기기들 이를테면 제2 기기(330), 제3 기기(350) 또는 어떤 다른 네트워크 기기에게 정보를 송신하고 그 다른 기기들로부터 정보를 수신하도록 구성된 통신 인터페이스(312)를 포함할 수도 있다. 예를 들어, 통신 인터페이스(312)는, 무선 주파수 신호, 적외선 신호, 또는 전자기 스펙트럼의 어떤 다른 일부로부터의 파들로 이루어진 신호들을 이용하여 통신하도록 구성된 무선 트랜시버를 포함할 수도 있다.
또한 도 3에서 예시된 바와 같이, 제2 기기(330)는 전형적으로 프로세서(338)와 같은 프로세싱 수단을 포함한다. 프로세서(338)는, 제1 기기(310)와 통신하기 위한 통신 수단 이를테면 통신 인터페이스(332)에 동작가능하게 연결된다. 프로세서(338)는 또한 메모리(334)와 같은 저장 수단에 동작가능하게 연결된다. 통신 인터페이스(332)는 제1 기기(310) 또는 다른 네트워크 기기와 같은 다른 기기들로부터 정보를 송신하고 수신하도록 구성된다. 메모리(334)는 프로세서(338)에 의해 액세스될 수 있는 정보를 자신 내에 저장하도록 구성된다. 메모리(334)는 일정한 기정의된 프로세스들 또는 프로세스 단계들을 제2 기기(330)에서 수행하기 위해 프로세서(338)에 의해 실행되도록 구성되는 컴퓨터-판독가능 프로그램 지시들을 자신 내에 저장하여 포함할 수도 있다. 예를 들어, 메모리(334)는, 프로세서(338)에 의해 실행될 때, 제2 기기(330)가 제1 기기(310)로부터의 HTTP 요청들 또는 유사한 요청들을 수신하며 메모리(334)로부터의 HTML 문서들, XML 문서들, WML 문서들, HDML 문서들 또는 기타 등등의 형태의 HTTP 응답들 또는 유사한 응답들로, 그리고/또는 메모리(334)로부터의 다른 콘텐트로 이러한 요청들에 응답하게 해 주는 소프트웨어를 저장하여 포함할 수도 있다. 이 점에 있어서, 메모리(334)는 일반적으로 제2 기기(330)가 네트워크(305) 상에서 다른 기기들 이를테면 제1 기기(310)와 공유하기를 바라는 콘텐트를 저장하여 포함한다.
도 4 는 본 발명의 바람직한 실시예에 따라 도 3의 제1 기기(310)에 의해 실행될 수도 있는 프로세스(400)를 예시하고 있는 흐름도이다. 블록(410)에 의해 예시된 바와 같이, 제1 기기(310)의 프로세서(318)는 통신 인터페이스(312)를 사용하여 네트워크(305)에 통신상 접속한다. 예를 들어, 프로세서(318)는 사용자가 사용자 인터페이스(316)의 특정 사용자 입력 기기를 가동시킬 때 사용자로부터 "온라인 모드(online mode)"에 진입하라는 지시를 수신할 수도 있다. 그러면, 온라인 모드에서, 프로세서(318)는, 예컨대 도 2에 예시된 게이트웨이(48) 또는 GPRS(58)를 사용하여 인터넷(50) 상에서 다른 단말들(10), 컴퓨팅 시스템들(52), 및 서버들(54)과 통신하도록 구성될 수도 있다. 또 하나의 실시예에서, 프로세서(318)는, 예컨대 다른 기기와의 직접 블루투스 또는 적외선 접속을 이용하여 다른 단말 또는 컴퓨팅 기기와 직접 통신하기 위해 제1 기기(310)의 통신 인터페이스(312)(예: 무선 주파수 트랜시버, 적외선 신호 트랜시버, 또는 기타 등등)를 사용하도록 구성될 수도 있다.
제1 기기(310)가 "온라인 모드"에 있을 때 프로세서(318)는 메모리(314)에 저장된 네트워크 브라우징 소프트웨어 이를테면 웹 브라우저를 실행하도록 또한 구성될 수도 있다. 그러면 네트워크 브라우징 소프트웨어는 네트워크 상의 다른 기기들로부터 수신된 정보(예: "네트워크 콘텐트")를 디스플레이하고 네트워크(305) 상에서 제1 기기(310) 및 다른 기기들 이를테면 제2 기기(330) 사이의 통신을 가능하게 해 주는데 사용될 수도 있다. 예를 들어, 네트워크 상의 다른 기기들로부터 제1 기기(310)에 의해 수신된 네트워크 콘텐트는, 예를 들어, RSS 피드(feed)들("RSS"는 Really Simple Syndication 표준 RSS 2.0, Rich Site Summary 표준 RSS 0.91/1.0, 또는 RDF Site Summary 표준 RSS 0.9/1.0을 말함), 팟캐스트(podcast) 피드들, XML 문서들, HTML 문서들, WML 문서들, 블로그(blog)들, 위젯(widget)들, 노키아 사(Nokia Corporation)에 의해 제공되는 WidSet® 서비스 (예: www.widsets.com 참조), mp3 파일들, 일반 미디어 파일들 및 기타 등등을 포함하지만 이에 제한되지 않는 어떠한 포맷의 웹 페이지들 또는 문서들을 포함할 수도 있다.
블록(420)에 의해 예시된 바와 같이, 제1 기기(310)가 네트워크(305)에 접속될 때(예: 제1 기기가 "온라인" 동작 모드에 있을 때), 프로세서(318)는 제1 기기(310)가 네트워크(305)로부터 단절될 것임을 나타내는 표시를 수신할 수도 있다. 예를 들어, 이하에서 더 상세하게 설명될 바와 같이, 프로세서(318)는 프로세서(318)가 네트워크(305)로부터 기기(310)를 단절하기를 사용자가 바란다는 표시를 사용자 인터페이스(316)로부터 수신할 수도 있다 (예: 사용자는 프로세서(318)에게 "온라인" 동작 모드로부터 "오프라인" 동작 모드로 바꿀 것을 지시할 수도 있다). 또 하나의 예에서, 프로세서(318)는 통신 인터페이스(312) 및 네트워크 기기 사이에서 무선 신호의 강도에 관한 및/또는 무선 네트워크에 대한 제1 기기의 위치에 관한 정보를 수신함으로써 이러한 표시를 수신할 수도 있다. 그러면, 이러한 일 예에서, 프로세서(318)는 이러한 정보를 사용하여 제1 기기(310)가 아마도 네트워크(305)로부터 단절될 것인지를 판별할 수도 있다 (예: 제1 기기(310)가 무선 네트워크를 이탈하려고 함을 판별하거나 또는 네트워크 접속이 예상컨대 종료될만큼 무선 신호가 감소되고 있고 그렇게 낮은지를 판별함에 의해 그러한 판별 수행)
제1 기기(310)가 네트워크(305)로부터 단절될 것임을 나타내는 표시는 다양한 방식들로 제공될 수 있다. 직접 사용자로부터 표시를 수신하는 것에 더하여, 프로세서(318)는 전형적으로 프로세서(318)와 연관된 메모리에 저장된 캘린더(calendar)를 참고하도록 구성될 수도 있어, 이는 네트워크(305)가 일반적으로 훌륭한 커버리지를 제공할 때 그리고 네트워크가 (유지보수 또는 기타 등등에 있어) 다운(down) 또는 그렇지 않으면 이용불가능하게 스케줄링될 때 또는 네트워크(305)가 과거 네트워크 성능에 기반하여 다운 또는 그렇지 않으면 이용불가능할 것으로 예측되는 때에 관한 정보를 제공한다. 이 실시예에서, 프로세서(318)는 오프라인 모드로 이행하기에 앞서 다가올 네트워크 사용불능(outrage)을 예측하고 적어도 일정 콘텐트를 프리캐싱할 수도 있다.
또 하나의 실시예에서, 사용자는 네트워크(305)로부터 단절하기를 바라는 바람을 표시할 수도 있다. 이하에서 기술되는 바와 같이 콘텐트의 다운로딩에 뒤이어, 제1 기기(310)는 즉시 오프라인으로 될 필요는 없고, 대신에 사용자에게 그 사용자가 오프라인이 되기를 여전히 희망하는지 여부에 관하여 사용자 인터페이스 상에서 질문을 제공할 수도 있다. 그러면 사용자는 오프라인으로 되고자 하는 이전 의도를 확인시켜 줄 수 있거나, 그렇지 않으면 자신은 현재 온라인을 유지하기를 희망한다는 것을 나타낼 수도 있다. 심지어 제1 기기(310)가 온라인을 유지하는 경우들에서도, 다운로딩은 유용한데, 왜냐하면 콘텐트가 네트워크(305)를 거쳐 그 콘텐트에 액세스하는 것에 대비되는 것으로서 제1 기기(310)에 의해 일단 저장되면 그 콘텐트는 이제 일반적으로 더 신속하게 액세스될 수 있기 때문이다.
대체로 여기서 예시의 방법으로 설명한 바와 같이, 오프라인 모드로의 이행은 모든 네트워크들로부터의 제1 기기(310)의 완전한 단절에 응답하여 일어날 수도 있다. 그러나, 제1 기기(310)는 또한 제1 기기(310)가 네트워크들을 스위치하는 경우들에서 (제1 기기(310)가 이전에 통신하고 있었던 네트워크(305)에 대하여) 오프라인 모드로 이행할 수도 있다. 이와 같이, "오프라인"은, 제1 기기(310)가 모든 네트워크들로부터 현재 완전히 단절되어 있는지 또는 다른 네트워크에 의해 현재 서비스되어지고 있는지에 관계없이, 이전에 제1 기기(310)에게 서비스하고 있었던 네트워크(305)로부터 제1 기기(310)가 오프라인인지 따라서 더 이상 그 네트워크(305)에 접속되어 있지 않은지 여부에 관한 것이다. 예를 들어, 모바일 기기는 처음에 자신의 홈 도메인, 즉 사용자의 집에 대하여 배치된 장비 간에 확립된 무선 로컬 영역 네트워크 내에서 동작하고 있을 수도 있다. 그 홈 도메인 내에 있는 동안, 모바일 기기는 그 모바일 기기가 그 홈 도메인을 이탈하여 (그에 의해 그 홈 도메인의 관점에서 오프라인으로 되어) GPRS 네트워크에 진입할 것이라는 표시를 수신할 수도 있다. GPRS 네트워크를 통한 서비스는 홈 도메인 내에서의 서비스보다 사용자에게 더 비쌀 수도 있기 때문에, 여전히 모바일 기기가 GPRS 네트워크를 통한 네트워크 접속을 유지하고 있을지라도 홈 도메인을 떠나기에 앞서 콘텐트를 다운로드하는 것이 비용 면에서 유리할 수도 있다.
블록(430)에 의해 예시된 바와 같이, 제1 기기(310)가 네트워크(305)로부터 단절될 것임을 나타내는 이러한 표시에 응답하여, 프로세서(318)는 통신 인터페이스(312)를 사용하여 네트워크(305) 상의 다른 기기들로부터 콘텐트를 다운로드한다. 그러면, 블록(440)에 의해 예시된 바와 같이, 프로세서(318)는 메모리(314)에 그 다운로드된 콘텐트를 저장하여 프로세서(318)는 기기(310)가 네트워크(305)로부터 단절한 후에 그 콘텐트에 액세스할 수 있다. 환언하면, 제1 기기(310)가 네트워크(305)로부터 단절될 것임을 나타내는 표시에 응답하여, 프로세서(318)는 제1 기기(310)가 네트워크(305)로부터 단절한 후에 네트워크 콘텐트를 사용자가 브라우징할 수 있도록 그 네트워크 콘텐트를 프리캐싱하기 시작한다. 프로세서(318)가 네트워크 콘텐트를 다운로드하고 저장하고 있는 시간 동안, 사용자는 다른 네트워크 콘텐트를 뷰하고 그리고/또는 다운로드할 수도 있고 또는 제1 기기(310)를 이용하여 다른 기능들을 수행할 수도 있고 또는 제1 기기(310)와 전혀 상호작용하지 않을 수도 있다.
프로세서(318)는 네트워크 콘텐트를 프리캐싱하거나, 또는 그렇지 않으면 통신 인터페이스(312) 및 네트워크(305)를 거쳐 제2 기기(330), 제3 기기(35), 및/또는 다른 네트워크 기기들에게 네트워크 콘텐트 요청들을 제출함으로써, 네트워크 콘텐트를 다운로드하고 저장할 수도 있다. 예를 들어, 네트워크(305)가 월드 와이드 웹(World Wide Web)을 포함하는 데에서, 프로세서(318)는 메모리(314)에 저장된 웹 브라우징 소프트웨어와 함께 통신 인터페이스(312)를 사용하여 제2 기기(330)에 하나 이상의 HTTP 요청들을 제출할 수도 있다. HTTP 요청들에 응답하여, 제2 기기(330)는 자신의 메모리(334)로부터 제1 기기(310)에게로 콘텐트(예: 웹 페이지, 팟캐스트, 또는 RSS 피드)를 통신할 수도 있다. 예를 들어, 사용자 인터페이스(316)의 디스플레이 상에 콘텐트를 디스플레이함으로써 사용자에게 그 콘텐트를 즉시 제시하는 대신에, 제1 기기(310)의 프로세서(318)는 제2 기기(330)로부터 수신된 콘텐트를 메모리(314)에 저장할 수도 있다. 이러한 식으로, 제1 기기(310)가 네트워크(305)로부터 단절된 후에, 제1 기기(310)는 여전히 사용자에게 제한된 네트워크 콘텐트 브라우징 능력을 제공할 수도 있다. 예를 들어, 만약 제1 기기(310)의 사용자가 메모리(314)에 저장되었던 동일 네트워크 콘텐트를 요청한다면 (예: 웹 페이지 내 링크를 클릭함으로써 요청) 프로세서(318)는 네트워크(305)로부터 대신에 메모리(314)로부터 그 콘텐트를 검색(retrieving)함으로써 사용자에게 그 네트워크 콘텐트를 제공할 수 있다. 환언하면, 하나의 실시예에서, 프로세서(318)는, 사용자가 네트워크(305) 상에서 정보를 브라우징하는 것과 같은 방식으로 네트워크 브라우저를 사용하여 메모리(314)에 저장된 캐싱된 또는 프리캐싱된 네트워크 콘텐트를 브라우징할 수 있도록 구성된다 (예: 컴퓨터 프로그램 지시들을 수행함으로써 구성). 만약 사용자가 제1 기기(310)가 네트워크(305)로부터 단절되기 전에 다운로드되고 저장되지 않았던 정보를 브라우징하려고 시도한다면, 그때 프로세서(318)는 사용자에게 오류/오프라인 메시지를 디스플레이할 수도 있다.
블록(430)에서, 제1 기기(310)의 프로세서(318)는 제1 기기(310)가 네트워크(305)로부터 단절되기 전에 어떠한 네트워크 콘텐트가 다운로드되고 로컬 메모리(314)에 저장되어야 할지를 결정하여야 할 것이다. 이 점에 있어서, 프로세서(318)는, 기정의된 규칙들, 최근의 브라우징 활동, 사용자 선택사항들, 및 기타 등등, 또는 이들 인자들 또는 유사한 인자들의 임의의 조합에 기반하여 어떤 콘텐트를 다운로드하고 저장할지를 결정하도록 구성될 수도 있다. 예를 들어, 제1 기기(310)는 메모리(314)에 저장된 복수의 기정의된 프리캐싱 규칙들을 가질 수도 있다. 이들 기정의된 규칙들은 제1 기기(310)가 네트워크(305)로부터 통신상 단절될 것임을 나타내는 표시에 응답하여 프로세서(318)가 어떤 네트워크 콘텐트를 다운로드하여야 할 것인지에 관하여 프로세서(318)에게 지시할 수도 있다. 그 기정의된 규칙들은 또한 프로세서(318)가 그 콘텐트를 다운로드하여야 하는 순서를 상술할 수도 있다.
예를 들어, 바람직한 실시예에서, 메모리(314)는 최근의 브라우징 활동에 기반하여 콘텐트를 다운로드할 것을 프로세서(318)에게 지시하는 프리캐싱 규칙들을 담고 있다. 예컨대, 그 규칙들은, 사용자에 의해 뷰된 마지막 웹 페이지나 마지막 x개의 웹 페이지들 (여기서 "x"는 사용자-선택(user-selected) 개수 또는 디폴트(default) 개수일 수도 있다) 상의 링크들 중 적어도 일부로부터 액세스되는 "제1 레벨(first level)"의 웹 페이지들(또는 다른 네트워크 콘텐트)을 다운로드하여 저장할 것을 프로세서(318)에게 지시할 수도 있다. 그 프리캐싱 규칙들은 또한, "제1 레벨" 웹 페이지들에서 발견되는 링크들 중 몇몇으로부터 액세스되는 "제2 레벨(second level)"의 웹 페이지들(또는 다른 콘텐트)의 을 다운로드하여 저장하도록 프로세서(318)에게 지시할 수도 있다. 이 점에 있어서, 제1 기기(310)의 메모리(314)는, 다운로드된 웹 페이지 상의 링크들을 식별하도록 그리고 식별된 링크들 중 적어도 일부를 따라 다른 웹 페이지들로 따라가도록 프로세서(318)에게 지시하는 웹-크롤링 소프트웨어(web-crawling software)를 포함할 수도 있고, 이때 그 다른 웹 페이지들에서 부가적 링크들이 식별되고 따라가질 수도 있으며, 이러한 과정이 더 진행될 수도 있다. 그 웹-크롤링 소프트웨어는 프리캐싱 동작 동안 따라가야 할 웹 페이지 레벨들에 관한 디폴트 수를 상술할 수도 있고 또는 레벨 수는 사용자에 의해 상술될 수도 있다. 웹-크롤링 소프트웨어는 또한 어떤 유형의 링크들이 사용자에 의해 최근에 뷰된 웹 페이지와 관련된 또는 무관한 것으로 예상되는지에 관하여 프로세서(318)에게 지시할 수도 있다. 이러한 식으로, 웹-크롤링 소프트웨어는 프리캐싱 동작 동안 어떤 링크들이 프리캐싱되어야 및/또는 따라가져야 할지를 지시할 수도 있다. 예를 들어, 웹-크롤링 소프트웨어는 웹 페이지 상의 일정 유형의 광고 링크들 인식하도록 구성될 수도 있고 프리캐싱 동작 동안 이들 링크들 및 이들 링크들과 연관된 어떠한 네트워크 콘텐트라도 무시하도록 구성될 수도 있다.
다른 실시예들에서, 프리캐싱 규칙들은 다른 정보에 기반한다. 예를 들어, 사용자는 사용자의 선호 웹 페이지들의 리스트를 생성할 수도 있고 그 프리캐싱 규칙들은, 그 리스트된 웹 페이지들 뿐만 아니라, 그 리스트된 웹 페이지들 상의 링크들 (그리고 제1 기기(310)가 네트워크(305)로부터 단절될 때까지 또는 어떤 디폴트나 사용자-선택 링크 깊이(depth)까지 그 페이지들에 대한 링크들 등등)에 의해 액세스되는 웹 페이지들을 다운로드하고 저장하도록 프로세서(318)에게 지시할 수도 있다. 이 예에서, 사용자는 웹 페이지를 거쳐 제공된 입력을 통해 그 다운로딩 프로세스를 관리할 수도 있다. 이러한 것으로서, 사용자는 다운로드될 콘텐트 및 그 콘텐트가 다운로드될 순서 또는 그에 관한 우선순위(prioritization)를 식별할 수 있다. 또 하나의 바람직한 실시예에서, 프로세서(318)는 사용자가 가장 자주 뷰된 웹 페이지들의 리스트를 생성하고 프리캐싱 규칙들은 그 리스트된 웹 페이지들 뿐만 아니라 그 리스트된 웹 페이지들 상의 링크들에 의해 액세스되는 웹 페이지들을 다운로드하고 저장하도록 프로세서(318)에게 지시한다.
필요한 경우, 프리캐싱 규칙들은 디폴트 값들을 가질 수도 있으며 이들 디폴트 값들은 일반적으로 제1 기기(310)의 사용자에 의해 재설정가능할 수도 있다. 예를 들어, 프리캐싱 동작 동안의 하나의 실시예에서, 프리캐싱 규칙들은 프로세서(318)가 네트워크 콘텐트(예: 웹 페이지)의 특정 항목을 다운로드하기 위해 3초만을 허용할 수도 있다. 만약 그 3초가 경과하고 프로세서(318)가 여전히 그 네트워크 콘텐트의 항목을 다운로드하지 않았으면, 그때 프로세서(318)는 다운로드될 네트워크 콘텐트의 임의의 다른 항목들로 이동하도록 지시될 수도 있다. 그러나, 그 3초는 단지 디폴트 값일 뿐일 수 있고, 사용자가 예컨대 선호 웹사이트가 대개 다운로드하는데 3초 이상 걸린다는 것을 안다면, 사용자가 그 3초 디폴트 값을 변경할 수 있도록 시스템이 구성된다. 어떤 실시예들에서, 프리캐싱 규칙들은, 예컨대 제1 기기(310)에 대해 입수가능한 배터리 파워 또는 프로세싱 파워에 기반하여 자동적으로 변경될 수도 있다. 예를 들어, 프로세서(318)가 배터리 파워가 매우 낮음을 판별하는 경우에, 프로세서(318)는, 제1 기기(310)가 충분한 배터리 파워를 가지는 경우 프로세서(318)가 수행할 프리캐싱과 비교하여 더 제한된 프리캐싱 (또는 심지어 비 프리캐싱(no pre-caching)) 을 행하도록 지시될 수도 있다.
다른 실시예들의 방법 및 장치는 다양한 여러가지 규칙들에 따라, 다운로드될 콘텐트 및 그 콘텐트의 상대적 우선순위를 결정할 수도 있다. 예를 들어, 프리캐싱 규칙들은 콘텐트가 다운로드될 순서가 다운로드될 콘텐트의 유형에 기반함을 요건화할 수도 있다. 이 점에 있어서, 처음에 텍스트 문서들이 다운로드되고, 더 작은 사진들(즉, 기정의된 크기보다 작은 사진들)이 뒤따르며, 그리고 나서 더 큰 사진들 등이 뒤따를 수도 있다. 다른 프리캐싱 규칙은, 예컨대 콘텐트의 출처 이를테면 웹사이트, 블로그, rss/atom 피드 등에 기반한, 또는 사용자에 의해 식별되었거나 사용자에 의해 가장 자주 방문되었던 선호 콘텐트 유형들에 기반한 우선순위를 포함한다. 제1 기기(310)가 모든 관심 파일을 다운로드할 수 없이 오프라인이 될 경우들에서, 다운로드 후보들은 처음에 제1 규칙에 기반하여 이를테면 콘텐트 유형에 기반하여 다운로드 용도를 위해 우선순위화될 수도 있다. 그리고 나서, 가장 높은 우선순위를 가진 유형의 콘텐트에 대하여, 그 콘텐트는 콘텐트의 출처와 같은 제2 규칙에 기반하여 또한 우선순위화될 수도 있다.
또 하나의 바람직한 실시예에서, 다가올 네트워크 단절에 관한 표시에 응답하여, 프로세서(318)는, 네트워크(305)로부터 단절되기 전에 사용자가 메모리(314)에 다운로드하고 저장하기를 희망하는 네트워크 콘텐트를 식별할 것을 사용자에게 요청하기 위해 사용자 인터페이스(316)를 자동적으로 사용하도록 구성될 수도 있다. 사용자는, 예를 들어, URL/URI(Uniform Resource Locater/Identifier) 또는 웹사이트의 홈페이지에 대한 다른 웹 어드레스를 타이핑 입력함으로써 웹사이트를 식별할 수도 있다. 그리고 나서 프로세서(318)는 그 홈페이지 뿐만 아니라 그 홈페이지로부터의 또는 다른 링크된 페이지들로부터의 하나 이상의 링크들을 따라감으로써 액세스가능한 웹 페이지들(또는 다른 네트워크 콘텐트)를 다운로드하고 저장할 수도 있다.
하나의 실시예에서, 제1 기기(310)는 단지 제1 기기(310)가 네트워크(305)로부터 단절될 것임을 나타내는 표시에 응답하여 상기의 기술된 프리캐싱 동작을 수행하도록 구성된다. 이는 배터리 및/또는 프로세싱 파워가 부족하게 공급되는 몇몇 모바일 단말들을 위해서 바람직할 수 있다. 다른 실시예들에서, 단지 제1 기기(310)가 네트워크(305)로부터 통신상 단절될 것임을 나타내는 수신된 표시에 대한 응답으로서의 프리캐싱 네트워크 콘텐트는 제1 기기(310)의 옵션 모드(optional mode)이다.
어떤 실시예들에서, 제1 기기(310)는 대체로 사용자가 네트워크를 브라우징하고 있을 때 사용자가 웹 페이지에 액세스하려고 시도하기 직전에 그 웹 페이지를 프리캐싱하도록 구성된 유형의 계속적 프리캐싱 동작들을 관여시키도록 구성될 수도 있다 (예: 계속적이고 제1 기기(310)가 네트워크(305)로부터 단절될 것임을 나타내는 표시에 응답한 것이 아닌 프리캐싱 동작들). 이러한 유형의 계속적 프리캐싱 동작은 사용자가 웹 페이지가 네트워크로부터 다운로드되기를 기다려야 했던 경우보다 사용자에게 더 빠르게 웹 페이지가 제공될 수 있도록 사용된다. 이러한 실시예들에서, 여기서 일반적으로 기술된 프리캐싱 동작 - 이는 다가올 네트워크 단절에 관한 표시에 응답하여 수행됨 - 은 사용자가 네트워크에 접속될 때 더 빠른 브라우징을 제공하도록 사용되는 계속적 프리캐싱 동작과는 다른 방식으로 행해질 수도 있거나 그러한 동작보다 더 철저할 수도 있다. 예를 들어, 그 두 개의 서로 다른 프리캐싱 동작들의 다운로드 규칙들 - 이것들은 다운로드될 네트워크 콘텐트를 결정하는데 사용됨 - 은 그 2개의 프리캐싱 동작들의 목적들이 일반적으로 서로 다르기 때문에 서로 다를 수도 있다.
이제 도 5를 참조하면, 본 발명의 바람직한 실시예에 따라, 제1 기기(310)에 의해 실행될 수도 있는 프로세스(500)를 예시하는 흐름도가 제공된다. 블록(510)에 의해 예시되는 바와 같이, 프로세서(318)는 통신 인터페이스(312)를 사용하여 네트워크(305)에 통신상 접속한다. 블록(520)에 의해 예시되는 바와 같이, 프로세서(318)는 네트워크(305)에 통신상 연결된 다른 기기들 이를테면 제2 기기(330)와 통신함으로써 네트워크(305) 상의 콘텐트를 브라우징할 수도 있다. 예를 들어, 프로세서는 메모리(314)에 저장된 네트워크 브라우징 소프트웨어를 실행할 수도 있다. 그 네트워크 브라우징 소프트웨어를 실행하는 프로세서(318)는 네트워크(305) 상의 다른 기기들로부터 콘텐트를 요청하기 위해 그리고 이 네트워크 콘텐트가 제1 기기(310)에게 제공될 때 그 네트워크 콘텐트를 뷰하기 위해 사용자 인터페이스(316)를 제1 기기(310)의 사용자로 하여금 사용할 수 있게 할 수도 있다.
블록(530)에 의해 예시된 바와 같이, 네트워크 브라우징 세션 동안 어떤 포인트에서, 프로세서(318)는 사용자 인터페이스(316)로부터 사용자 입력을 수신할 수도 있는데, 여기서 그 사용자 입력은 프로세서(318)로 하여금 네트워크(305)로부터 단절할 것을 지시하는 것이다. 예를 들어, 사용자는 온라인 모드에서 오프라인 모드로 변화하도록 프로세서(318)에게 지시하는 특정 키를 가동시킬 수도 있다. 도 5에 의해 예시되는 바람직한 실시예에서, 프로세서(318)는 또한 상술된 시간 내에서 네트워크(305)로부터 단절할 것이 지시된다. 이 시간은 디폴트 시간일 수도 있거나 또는 사용자에 의해 상술된 시간일 수도 있다. 시간이 사용자가 상술한 것이면(user-specified), 그 시간은 사용자가 프로세서(318)에게 네트워크(305)로부터 단절할 것을 지시하는 때 또는 어떤 더 이른 시점에서 상술될 수도 있다.
블록(540)에 의해 예시된 바와 같이, 프로세서(318)에게 네트워크(305)로부터 단절할 것을 지시하는 사용자 입력을 수신함에 응답하여, 프로세서(318)는 통신 인터페이스(312)를 사용하여, 주어진 시간 내에 기기(310)가 다운로드할 수 있는 가능한한 많은 콘텐트를 다운로드할 수도 있고, 여기서 그 다운로드는 메모리(314)에 저장된 기정의된 규칙드에 따라 수행된다. 또한 블록(540)에 의해 예시된 바와 같이 그리고 도 4에 관하여 상기에서 설명된 바와 같이, 프로세서(318)는 기정의된 규칙들, 최근의 브라우징 활동, 및/또는 사용자-선택사항들에 기반하여 네트워크 콘텐트를 다운로드할 수도 있다.
블록(550)에 의해 예시된 바와 같이, 프로세서(318)는 또한 그 다운로드된 콘텐트를 메모리 이를테면 제1 기기(310)의 메모리(314)에 저장하도록 구성된다. 그 프로세서가 이를테면 온라인 모드에서 오프라인 모드로 변화함으로써 네트워크(305)로부터 단절한 후에, 프로세서(318)는, 예컨대 제1 기기(310)의 사용자로 하여금 블록(560)에 의해 예시된 바와 같이 네트워크 브라우징 소프트웨어를 사용하여 오프라인으로 콘텐트를 브라우징할 수 있게 해 줌으로써, 메모리(314)에 저장된 네트워크 콘텐트에 액세스할 수도 있다. 부가적으로, 프로세서(318)는 사용자에게 다운로드된 콘텐트의 리스팅(listing)을 그 전체로 또는 적어도 부분적으로 제공할 수 있다. 부가적으로, 프로세서(318)는 오프라인으로 되기 전에 다운로드될 수 없었던 다운로드를 위해 선택되었었던 임의의 콘텐트를 식별할 수 있다.
예를 들면, 도 5에 의해 예시된 프로세스의 바람직한 실시예에서, 네트워크(305)는 인터넷을 포함하고 제1 기기(310)는 모바일 단말로서 구현된다. 이러한 일 실시에에서, 모바일 단말의 사용자는 예를 들어 모바일 단말을 사용하여 뉴스 웹사이트의 홈페이지 상의 헤드라인들을 뷰하고 있을 수도 있다. 그 홈페이지 상의 몇몇 헤드라인들은 사용자에게 관심있는 것일 수도 있지만, 사용자는 비행 동안 무선 네트워크 접속을 제한하는 비행기에 탑승하려고 할 수도 있다. 그 결과 사용자는 사용자 입력 기기를 가동시켜, 모바일 단말에게 10분 후에 인터넷으로부터 단절할 것을 지시할 수도 있다. 10분의 시간 기간은 사용자가 모바일 단말에게 인터넷으로부터 단절할 것을 지시하는 때에 사용자에 의해 상술될 수도 있고, 그 10분 기간은 사용자에 의해 좀더 이른 시간에 상술될 수도 있으며, 또는 그 10분 시간 기간은 디폴트 시간 기간일 수도 있다. 네트워크로부터의 단절을 지시하는 사용자 지시에 응답하여, 그때 모바일 단말은 네트워크 상의 하나 이상의 기기들로부터 네트워크 콘텐트를 다운로드하고 저장하는 것을 시작할 수도 있다. 이 점에 있어서, 모바일 단말의 메모리에 저장된 기정의된 다운로드 규칙들은 모바일 단말에게 사용자에 의해 뷰된 마지막 페이지(예: 뉴스 웹사이트 홈페이지)를 저장할 것과 그 웹 페이지의 링크들을 따라 다른 웹 페이지들로 갈 것을 지시할 수도 있다. 그러면 이들 다른 웹 페이지들은 다운로드되고 저장될 수도 있고 이들 웹 페이지들 상에서 식별된 링크들은 또 다른 웹 페이지들로 따라가질 수도 있으며, 그 또 다른 웹 페이지들이 또한 다운로드되고 저장될 수도 있으며, 이러한 과정이 더 진행될 수도 있다. 모바일 단말이 10분이 경과할 때까지 이러한 또는 유사한 방식으로 네트워크 콘텐트를 계속적으로 다운로드하고 저장하도록 구성될 수도 있고, 그 10분 경과 시에 모바일 단말은 네트워크로부터 단절할 수도 있다. 어떤 실시예들에서, 모바일 단말 내 메모리가 제한되어 있을 수도 있기 때문에, 모바일 단말 내 프리캐싱될 수 있는 최대 데이터량이 존재할 수도 있다. 하나의 실시예에서, 모바일 단말은, 사용자가 원한다면, 모바일 단말에게 10분 시간 기간이 경과하기 전에 단절할 것을 지시할 수 있는 능력을 사용자에게 제공하도록 구성될 수도 있다. 모바일 단말이 네트워크로부터 단절한 후에, 사용자는 모바일 단말의 메모리에 저장된 네트워크 콘텐트를 브라우징함으로써 네트워크 콘텐트의 제한된 브라우징을 수행하기 위해 모바일 단말의 웹 브라우저를 사용하는 것을 계속할 수도 있다. 예를 들면, 사용자는 (현재 모바일 단말의 메모리에 저장된) 뉴스 웹사이트 홈페이지를 뷰하고 그 홈페이지 내 링크들을 클릭함으로써 (또한 현재 모바일 단말의 메모리에 저장된) 뉴스 기사들에 액세스할 수도 있다.
본 발명의 또 하나의 바람직한 실시예에서, 사용자는 사용자의 모바일 단말이 1분 후에 네트워크로부터 단절하기 위한 사용자로부터의 지시들을 수신할 때 그 모바일 단말 상에서 RSS 피드 이를테면 뉴스 피드를 뷰하고 있다. 단절하라는 이러한 지시들에 응답하여, 모바일 단말은 그 1분이 경과하여 모바일 단말이 네트워크로부터 단절되기 전에 RSS 피드에서 식별된 헤드라인들과 연관된 웹 페이지들로부터 가능한한 많은 뉴스 기사들을 다운로드하려고 시도할 수도 있다. 시간이 제한되어 있기 때문에, 모바일 단말의 메모리에 저장된 다운로드 규칙들은 또한 다른 네트워크 콘텐트 전에 어떤 네트워크 콘텐트가 다운로드될지를 우선순위화하기 위한 규칙들을 제공할 수도 있다. 따라서, 이 예에서, 다운로드 규칙들은 모바일 단말의 프로세서로 하여금, RSS 피드에서 식별된 더 오래된 기사들을 다운로드하고 저장하기 전에 RSS 피드에서 식별된 가장 최근의 기사들을 다운로드하고 저장하는 것을 시작하도록 지시할 수도 있다. 다른 예들에서, 다운로드 규칙들은 프로세서가 이미 읽혀졌던 다운로드 항목들에 앞서 읽혀지지 않은 항목들을 먼저 다운로드 할 것을 지시할 수도 있다.
도 6은 본 발명의 또 하나의 바람직한 실시예에 따라, 제1 기기(310)에 의해 실행될 수도 있는 프로세스(600)를 예시하는 흐름도를 제공한다. 블록(610)에 의해 예시되는 바와 같이, 프로세서(318)는 통신 인터페이스(312)를 사용하여 네트워크(305)에 통신상 접속한다. 블록(620)에 의해 예시된 바와 같이, 프로세서(318)는, 네트워크(305)에 통신상 연결된 다른 기기들 이를테면 제2 기기(330)와 통신함으로써 네트워크(305) 상의 콘텐트를 브라우징할 수도 있다. 예를 들어, 프로세서(318)는 메모리(314)에 저장된 네트워크 브라우징 소프트웨어를 실행할 수도 있고, 그에 의해, 제1 기기(310)의 사용자로 하여금 네트워크(305) 상의 다른 기기들로부터의 콘텐트를 요청할 수 있게 그리고 이 네트워크 콘텐트가 제1 기기(310)에 제공될 때 그 네트워크 콘텐트를 뷰할 수 있게 해 준다.
블록(630)에 의해 예시된 바와 같이, 네트워크 브라우징 세션 동안의 어떤 포인트에서, 프로세서(318)는 사용자 인터페이스(316)로부터 사용자 입력을 수신할 수도 있고, 여기서 그 사용자 입력은 프로세서(318)로 하여금 네트워크(305)로부터 단절할 것을 지시하는 것이다. 예를 들어, 사용자는 제1 기기(310)로 하여금 온라인 동작 모드에서 오프라인 동작 모드로 되게끔 지시하기 위해 제1 기기(310)의 키 또는 어떤 다른 사용자 입력 기기를 가동시킬 수도 있다.
블록(640)에 의해 예시되는 바와 같이, 프로세서(318)로 하여금 네트워크(305)로부터 단절할 것을 지시하는 사용자 입력을 수신함에 응답하여, 프로세서(318)는 통신 인터페이스(312)를 사용하여, 기결정된 네트워크 콘텐트, 사용자에 의해 선택된 이러한 콘텐트 및/또는 메모리(314)에 저장된 기정의된 콘텐트 선택 규칙들에 의해 결정된 콘텐트를 다운로드할 수도 있다. 블록(650)에 의해 예시되는 바와 같이, 프로세서(318)는 또한 다운로드된 콘텐트를 메모리 이를테면 제1 기기(310)의 메모리(314)에 저장하도록 구성된다. 일단 프로세서(318)가 기결정된 콘텐트를 다운로드 하였으면, 그러면 프로세서(318)는 네트워크(305)로부터 제1 기기(310)를 단절시킬 수도 있는데, 이는 블록(660)으로 예시되어 있다. 하나의 실시예에서, 프로세서(318)는 프로세서(318)가 기결정된 콘텐트 모두를 다운로드한 후에 또는 프로세서(318)가 적어도 기결정된 콘텐트 모두를 다운로드하려고 시도한 후에 네트워크(305)로부터 단절한다. 다른 실시예들에서, 프로세서(318)는 기결정된 콘텐트 모두가 다운로드된 시기의 이른 시기 이후 또는 네트워크(305)로부터 단절하라는 사용자의 지시로부터 기정의된 최대 시간인 시기 이후에 네트워크(305)로부터 단절하도록 구성된다. 프로세서(318)가 네트워크(305)로부터 단절한 후에, 프로세서(318)는, 예컨대 제1 기기(310)의 사용자가 블록(670)에 의해 예시된 바와 같이 네트워크 브라우징 소프트웨어를 사용하여 오프라인으로 콘텐트를 브라우징할 수 있게 함으로써, 메모리(314)에 저장된 네트워크 콘텐트에 액세스할 수도 있다.
예를 들어, 도 6에서 예시된 프로세스의 바람직한 실시예에서, 사용자가 제1 기기(310)로 하여금 네트워크로부터 단절할 것을 지시하는 것에 응답하여, 제1 기기(310)는, 사용자의 선호 웹 페이지들의 기정의된 리스트 또는 사용자가 가장 일반적으로 뷰한 웹 페이지들의 기결정된 리스트에서 식별되는 웹 페이지들을 자동적으로 다운로드하고 저장할 수도 있다. 이러한 리스트들은 제1 기기(310)의 메모리에 저장될 수도 있다. 제1 기기(310)는 또한 사용자가 선호하는 또는 가장 일반적으로 뷰된 웹 페이지들에서 식별된 링크들 중 적어도 일부와 연관된 웹 페이지들을 다운로드하고 저장하도록 구성될 수도 있다. 일단 제1 기기(310)가 기정의된 웹 페이지들 모두 또는 다른 기결정된 네트워크 콘텐트를 다운로드하고 저장하면 (또는 제1 기기(310)가 적어도 기정의된 콘텐트 모두를 다운로드하고 저장하려고 시도하면), 그때는 제1 기기(310)는 네트워크(305)로부터 자동적으로 단절할 수도 있다. 그러면, 제1 기기(310)가 그것의 메모리에 저장된 웹 페이지들에 액세스하고 이것들을, 제1 기기(310)가 온라인 모드에 있을 때 사용자에게 콘텐트를 제공하는 것과 유사한 방식으로, 사용자에게 제공할 수 있기 때문에, 사용자는, 제1 기기(310)가 네트워크(305)로부터 단절한 후에, 자신이 선호하는 또는 가장 일반적으로 뷰된 웹 페이지들을 오프라인으로 브라우징할 수 있다.
도 6에 예시된 프로세스의 또 하나의 바람직한 실시예에서, 제1 기기(310)는, 네트워크(305) 상에서 서버로부터 이메일 메시지들을 다운로드하도록 구성되고 이들 이메일을을 제1 기기(310)의 디스플레이 상에서 사용자에게 제시하도록 구성되는 이메일 어플리케이션을 포함한다. 이러한 일 실시예에서, 제1 기기(310)의 사용자가 제1 기기(310)로 하여금 네트워크(305)로부터 단절할 것을 지시하는 것에 응답하여, 이 메일 어플리케이션은 제1 기기(310)로 하여금 임의의 읽지 않은 이메일 메시지들을 다운로드하고 이들 읽지 않은 메시지들을 메모리(314)에 저장하도록 지시할 수도 있다. 그 읽지 않은 메시지들이 로컬에 다운로드되고 저장된 후에, 그 어플리케이션은 제1 기기(310)에게 제1 기기(310)가 네트워크(305)로부터 단절하는 것이 현재 허용가능하다는(acceptable) 것을 지시할 수도 있다. 만약 제1 기기(310)가, 읽지 않은 메시지들의 다운로드 후에 그리고 그것이 네트워크(305)로부터 단절하기 이전에, 부가 콘텐트를 다운로드할 기회를 가진다면, 제1 기기(310)는 또한 읽은 메시지들의 일부 또는 모두를 다운로드할 수도 있다. 제1 기기(310)가 네트워크(305)로부터 단절한 후에, 사용자는 여전히 이메일 어플리케이션을 오프라인 모드로 사용하여 로컬 메모리(314)에 저장된 읽지 않은 메시지들을 뷰할 수 있다.
도 7은, 본 발명의 또 다른 바람직한 실시예에 따라, 제1 기기(310)에 의해 실시될 수도 있는 프로세스(700)를 예시하는 흐름도를 제공한다. 블록(710)에 의해 예시되는 바와 같이, 프로세서(318)는 통신 인터페이스(312)를 사용하여 네트워크(305)에 통신상 접속한다. 블록(720)에 의해 예시되는 바와 같이, 프로세서(318)는 네트워크(305)에 통신상 연결된 다른 기기들 이를테면 제2 기기(330)와 통신함으로써 네트워크(305) 상의 콘텐트를 브라우징할 수도 있다. 예를 들어, 프로세서(318)는 메모리(314)에 저장된 네트워크 브라우징 소프트웨어를 실행할 수도 있고, 그에 의해, 제1 기기(310)의 사용자로 하여금 네트워크(305) 상의 다른 기기들로부터 콘텐트를 요청하고 이 네트워크 콘텐트가 제1 기기(310)에 제공될 때 그 네트워크 콘텐트를 뷰할 수 있게 한다.
블록(730)에 의해 예시되는 바와 같이, 네트워크 브라우징 세션 동안 어떤 포인트에서, 프로세서(318)는, 통신 인터페이스(312)를 네트워크(305)와 통신상 연결시키는데 사용되는 통신 신호가 곧 상실될 수도 있음을 판별할 수도 있다. 프로세서(318)는 네트워크(305), 통신 인터페이스(312), 및/또는 통신 신호의 특성들에 기반하여 접속이 상실될 것임을 판별할 수도 있다. 예를 들어, 통신 인터페이스(312)가 네트워크(305)에 무선으로 연결되어 있는 경우에서, 프로세서(318)는 신호 강도를 모니터링할 수도 있어서, 그 신호 강도가 매우 낮은지 및/또는 꾸준히 감소하고 있는지 여부를 모니터링할 수도 있고, 프로세서(318)는, 적어도 일시적으로는, 네트워크 접속이 가까운 미래에는 아마도 상실될 것임을 가정하도록 구성될 수도 있다. 어떤 실시예들에서, 프로세서(318)는 심지어 프로세서(318)가 신호가 상실될 것임을 예상하기 전의 대략적인 시간을 판별할 수도 있다. 예를 들어, 프로세서(318)는, 무선 신호의 현재 강도 및 무선 신호 강도가 최근에 감소하였던 비율(rate)에 기반하여, 그 무선 신호가 상실될 것으로 보이는 시점을 추정할(extrapolate) 수도 있다. 네트워크 접속의 상실이 임박하다는 것이 예측될 수 있게 하는 기술들의 다른 예들이 여기에서 기술되는데, 이는 사용자 입력에의 의존 및 네트워크의 히스토리 성능(historical performance)이나 네트워크의 스케줄링된 사용불능에 기반한 예측들을 포함한다.
또 하나의 바람직한 실시예에서, 제1 기기(310)는 네트워크(305)에 대한 제1 기기(310)의 위치에 관한 정보를 수신하거나 그렇지 않으면 결정할 수 있다. 이 정보를 이용하여 그리고 제1 기기의 통신 인터페이스의 성능에 관한 그리고 네트워크(305)의 신호 특성들에 관한 정보를 이용하여, 제1 기기(310)는 제1 기기(310)가 언제 무선 네트워크의 범위 안으로 그리고 밖으로 이동하고 있을지를 예측할 수도 있다. 예를 들어, 제1 기기(310)는 알려진 핫스팟(hotspot)으로부터 네트워크에 무선으로 액세스하는데 사용되어지고 있는 모바일 단말일 수도 있다. 만약 사용자가 핫스팟을 지나는 모바일 단말을 가지고 이동하고 있을 때, 그 모바일 단말은 위치 정보를 사용하여 대략적인 이동 속도를 결정하도록 구성될 수도 있고 그리고 나서 이것을 핫스팟 경계들에 관한 알려진 근사치 (이는 모바일 단말의 무선 트랜시버 및 핫스팟의 무선 트랜시버의 성능의 함수일 수도 있다)와 비교하여 언제 모바일 단말이 핫스팟을 이탈하여 네트워크 접속을 상실할 것으로 보이는지를 결정할 수도 있다. 유사하게, 제1 기기(310)에 의해 수신된 위치 정보는 제1 기기(310)에 의해 사용되어, 그 모바일 단말이 통신 인터페이스가 네트워크에 무선으로 접속할 수 없는 내트워크 내 "불통(dead) 영역으로 이동하고 있다는 것을 또는 그 모바일 단말이 공항이나 병원과 같이 네트워크 접속이나 모바일 단말 사용이 제한되는 것으로 알려진 영역으로 이동하고 있다는 것을 결정할 수도 있다. 이러한 위치 정보는 제1 기기(310)의 프로세서(318)에 동작가능하게 연결된 GPS 기기를 사용하여 획득될 수도 있다. 시간적으로 모바일 단말의 이동을 추적함으로써, 이를테면 GPS 기기로써, 이동 단말의 예상되는 이동에 관한 예측이 이루어질 수 있다. 만약 모바일 단말이 하나 이상의 "불통" 영역들과 만나는 경로를 따라 이동하는 것으로 예측된다면, 모바일 단말은 네트워크 커버리지에서의 임박한 사용불능을 예상하고 그 불통 영역에 진입하기에 앞서 콘텐트를 다운로드할 수도 있다. 유사하게, 모바일 단말의 사용자는, 모바일 단말의 과거 경험 및 그것의 예측 이동 경로에 기반하여 (다시 GPS 또는 다른 위치 정보에 기반하여) "불통" 영역들을 예측하거나 "불통" 영역들에 관하여 보고하는, 소셜 네트워킹 서비스(social networking service) 또는 기타 등등과 같은 서비스에 가입할 수도 있다.
블록(740)에 의해 예시되는 바와 같이, 통신 인터페이스(312)가 가까운 미래에 네트워크(305)로부터 단절될 것으로 보인다는 이러한 표시들을 프로세서(318)가 수신함에 응답하여, 프로세서(318)는 통신 인터페이스(312)를 사용하여 네트워크(305)와의 접속이 실제로 상실되기 전에 가능한한 많은 콘텐트 또는 가능한한 많은 기정의된 콘텐트(예: 사용자-정의(user-defined) 콘텐트 및/또는 규칙-정의(rule-defined) 콘텐트)를 다운로드할 수도 있다. 블록(750)에 의해 예시되는 바와 같이, 프로세서(318)는 또한 다운로드된 콘텐트를 제1 기기(310)의 메모리(314)와 같은 메모리에 저장하도록 구성된다. 만약 통신 인터페이스(312)가 네트워크(305)로부터 정말로 단절되어지면, 프로세서(318)는, 예컨대 블록(760)에 의해 예시되는 바와 같이, 제1 기기(310)의 사용자가 제1 기기(310)가 오프라인 모드에 있을 때 네트워크 브라우징 소프트웨어를 사용하여 콘텐트를 브라우징할 수 있게 함으로써, 메모리(314)에 저장된 네트워크 콘텐트에 액세스할 수도 있다.
상기에서 설명된 도 4 내지 도 7은 본 발명의 바람직한 실시예들을 나타내고 있음을 유념하여야 할 것이다. 본 발명의 다른 실시예들에서, 도 4 내지 도 7에 의해 제공되는 블록들과 연관된 단계들 또는 프로세스들 중 하나 이상이 옵션으로 고려될 수도 있거나 또는 도 4 내지 도 7에 예시된 것과 다른 순서로 수행될 수도 있다.
본 발명의 다양한 실시예들에 관하여 상기에서 설명된 기능들은 다양한 방식들로 실행될 수도 있다. 예를 들어, 상기에서 설명된 기능들 각각을 실행하기 위한 임의의 적합한 수단이 본 발명의 실시예들을 실행하기 위해 활용될 수도 있다. 본 발명의 하나의 측면에 따르면, 그 시스템의 모든 부분 또는 일부는 일반적으로 컴퓨터 프로그램 제품의 제어 하에 동작한다. 본 발명의 실시예들의 다양한 프로세스들 및 동작들을 수행하기 위한 컴퓨터 프로그램 제품은, 비휘발성 저장 매체와 같은 컴퓨터-판독가능 저장 매체, 및 그 컴퓨터-판독가능 저장 매체에 구현된 일련의 컴퓨터 지시들과 같은 컴퓨터-판독가능 프로그램 코드 부분들을 포함한다. 예를 들어, 하나의 실시예에서, 제1 기기의 프로세서는 일반적으로 제1 기기가 네트워크로부터 단절될 것임을 나타내는 표시에 응답하여 다른 네트워크 기기들로부터 콘텐트를 다운로드하도록 하는 컴퓨터 프로그램 제품의 제어 하에 동작한다.
이 점에 있어서, 도 3 내지 도 7은, 본 발명의 실시예들에 따른 방법, 시스템, 기기, 및 컴퓨터 프로그램 제품에 의해 수행되는 동작들에 관한 흐름도 또는 블록 다이어그램이다. 흐름도의 각 블록 또는 설명된 방법의 각 단계는 컴퓨터 프로그램 지시들에 의해 구현될 수 있다는 것이 이해될 것이다. 이들 컴퓨터 프로그램 지시들은 기계를 생산하기 위한 컴퓨터 또는 다른 프로그램가능한 장치 상에 로딩되어, 그 컴퓨터 또는 다른 프로그램가능 장치 상에서 실행되는 지시들이 그 설명된 블록(들) 또는 단계(들)에 상술된 기능들을 구현하는 수단들을 생성할 수 있다. 이들 컴퓨터 프로그램 지시들은 또한, 컴퓨터 또는 다른 프로그램가능 장치로 하여금 특정 방식으로 기능하게 지시할 수 있는 컴퓨터-판독가능 메모리에 저장될 수도 있어서, 그 컴퓨터-판독가능 메모리에 저장된 지시들이, 그 설명된 블록(들) 또는 단계(들)에 상술된 기능을 구현하는 지시 수단들을 포함한 제조 물폼(article of manufacture)을 생산할 수 있다. 그 컴퓨터 프로그램 지시들은 또한 컴퓨터 또는 다른 프로그램가능 장치 상에 로딩될 수도 있어 일련의 동작 단계들이 그 컴퓨터 또는 다른 프로그램가능 장치 상에서 실행되게끔 하여 그 컴퓨터 또는 다른 프로그램가능 장치 상에서 실행되는 지시들이 그 설명된 블록(들) 또는 단계(들)에서 상술된 기능들을 구현하기 위한 단계들을 제공하도록 하는 컴퓨터 구현 프로세스를 산출할 수도 있다.
또한 여기서 기술된 각 블록 또는 단계 및 블록이나 단계들의 조합은, 상술된 기능들이나 단계들을 수행하는 특정 용도의 하드웨어-기반 컴퓨터 시스템들, 또는 특정 용도의 하드웨어 및 컴퓨터 지시들의 조합에 의해 구현될 수 있다는 것이 이해될 것이다.
본 문서에서 언급한 발명에 관한 많은 변형예들 및 다른 실시예들이 전술한 설명들 및 연관된 도면들에서 제시된 교시내용들의 이점을 가진다는 것이 본 발명이 속한 기술분야에서 숙련된 자라면 알 수 있을 것이다. 그러므로, 본 발명은 개시된 특정 실시예들로 제한되어서는 안된다는 것 그리고 변형예들 및 다른 실시예들이 첨부된 청구항들의 범위 내에 포함되게끔 의도된다는 것이 이해되어야 할 것이다. 비록 이 문서에서 특정 용어들이 사용되었지만, 그것들은 제한을 위해 사용된 것이 아니라 단지 일반적이고 설명적인 의미에서 사용되었다.

Claims (35)

  1. 통신 인터페이스에 동작가능하게 연결되고, 상기 통신 인터페이스가 네트워크에 통신상 접속될 때 상기 통신 인터페이스를 이용하여 상기 네트워크 상의 적어도 하나의 다른 기기와 통신하도록 구성된 프로세서를 포함하는 장치로서,
    상기 통신 인터페이스는 상기 네트워크에 통신상 접속되고, 상기 프로세서는 상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 표시(indication)를 수신하도록 구성되며, 그리고
    상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 표시를 수신함에 응답하여, 상기 프로세서는 상기 통신 인터페이스를 사용하여 상기 네트워크 상의 적어도 하나의 기기로부터 정보를 다운로드하며 그리고 상기 다운로드된 정보를 저장함으로써, 상기 장치가 상기 네트워크로부터 통신상 단절되어 있을 때 상기 프로세서가 상기 다운로드된 정보를 액세스할 수 있게 구성된, 장치.
  2. 제1항에 있어서,
    상기 장치는, 상기 프로세서에 동작가능하게 연결되며 상기 장치의 사용자와 상기 프로세서 간의 통신을 허용하도록 구성된 사용자 인터페이스를 더 포함하고,
    상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 상기 표시를 수신함에 응답하여, 상기 프로세서는, 상기 사용자 인터페이스를 사용하여, 상기 프로세서가 다운로드된 정보의 오프라인 브라우징을 가능하게 하기 위해 상기 네트워크 상의 적어도 하나의 기기로부터 정보를 다운로드하고 저장하여야 하는지 여부를 상기 사용자에게 질의하도록 구성된, 장치.
  3. 제1항에 있어서,
    상기 프로세서는, 상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 상기 표시를 수신함에 응답하여, 상기 네트워크 상의 적어도 하나의 기기로부터 정보를 다운로드하고 저장하는 것을 자동적으로 시작하도록 구성된, 장치.
  4. 제1항에 있어서,
    상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 상기 표시를 수신함에 응답하여, 상기 프로세서는, 상기 통신 인터페이스를 사용하여, 상기 적어도 하나의 기기로부터 상기 정보를 다운로드하며 상기 다운로드된 정보를 디스플레이하지 않고 상기 다운로드된 정보를 저장함으로써 네트워크 콘텐트의 프리캐싱(pre-caching)을 수행하도록 구성된, 장치.
  5. 제4항에 있어서,
    상기 프로세서는, 상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 상기 표시를 수신한 후에만 네트워크 콘텐트의 프리캐싱을 수행하도록 구성된, 장치.
  6. 제1항에 있어서,
    상기 장치는, 상기 프로세서에 동작가능하게 연결되며 상기 장치의 사용자와 상기 프로세서 간의 통신을 허용하도록 구성된 사용자 인터페이스를 더 포함하고,
    상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 상기 표시는 상기 사용자 인터페이스로부터 수신된 사용자 입력을 포함하고, 상기 사용자 입력은 상기 프로세서로 하여금 상기 네트워크로부터 통신상 단절할 것을 지시하는, 장치.
  7. 제1항에 있어서,
    상기 통신 인터페이스는 상기 네트워크에 무선으로 접속하도록 구성되고,
    상기 프로세서가 상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 표시를 수신하는 것은, 상기 프로세서가, 상기 장치의 위치 및/또는 상기 통신 인터페이스의 무선 특성들, 상기 네트워크, 및/또는 상기 통신 인터페이스에 의해 수신된 네트워크 통신 신호에 관한 정보에 기반하여 상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 판별하는 것을 포함하는, 장치.
  8. 제1항에 있어서,
    상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 상기 표시는, 상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절되기 전의 시간에 관한 표시를 제공하는, 장치.
  9. 제8항에 있어서,
    상기 시간은 사용자 입력에 의해 정의되는, 장치.
  10. 제8항에 있어서,
    상기 프로세서는, 상기 프로세서가 상기 표시된 시간 내에서 다운로드하고 저장할 수 있는 한 상기 네트워크로부터 많은 정보를 다운로드하고 저장하도록 구성되고, 상기 프로세서는 기결정된 지시들에 따라 상기 정보를 다운로드하고 저장하는, 장치.
  11. 제1항에 있어서,
    상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 상기 표시를 수신함에 응답하여, 상기 프로세서는 상기 네트워크로부터 사용자-선택(user-selected) 정보를 다운로드하고 저장하도록 구성되는, 장치.
  12. 제11항에 있어서,
    사용자-선택 네트워크 정보는 사용자의 선호 리스트(favorites list)에서 식별된 네트워크 목적지들과 연관된 네트워크 정보를 포함하는, 장치.
  13. 제1항에 있어서,
    상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 상기 표시를 수신함에 응답하여, 상기 프로세서는 기정의된 규칙들에 기반하여 상기 네트워크로부터 정보를 다운로드하고 저장하도록 구성되는, 장치.
  14. 제13항에 있어서,
    상기 기정의된 규칙들은 상기 프로세서로 하여금 적어도 하나의 이전에 뷰된(viewed) 네트워크 페이지에서 식별된 적어도 하나의 링크(link)와 연관된 네트워크 정보를 다운로드하고 저장할 것을 지시하는, 장치.
  15. 제1항에 있어서,
    상기 장치는, 상기 프로세서에 동작가능하게 연결되며 그리고 상기 장치의 사용자 및 상기 프로세서 간의 통신을 허용하도록 구성된 사용자 인터페이스를 더 포함하고,
    상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 상기 표시는 상기 사용자 인터페이스로부터 수신된 사용자 입력을 포함하고, 상기 사용자 입력은 상기 프로세서로 하여금 특정 시점에 상기 네트워크로부터 통신상 단절할 것을 지시하며,
    상기 수신된 표시에 응답하여, 상기 프로세서는 상기 특정 시점 전에 네트워크 콘텐트를 다운로드하고 저장하도록 구성되며, 그리고
    상기 프로세서는 상기 특정 시점에 상기 네트워크로부터 단절하도록 구성되는, 장치.
  16. 제1항에 있어서,
    상기 통신 인터페이스가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 상기 표시를 수신함에 응답하여, 상기 프로세서는 상기 네트워크로부터 기정의된 정보를 다운로드하고 저장하도록 구성되며, 상기 프로세서는 상기 프로세서가 상기 네트워크로부터 상기 기정의된 정보를 다운로드한 후에 상기 네트워크로부터 자동적으로 단절하도록 구성되는, 장치.
  17. 제1 기기가 네트워크에 통신상 접속되어 있는 동안, 상기 제1 기기가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 표시를 수신하고;
    상기 제1 기기가 상기 네트워크로부터 통신상 단절할 것임을 나타내는 상기 수신된 표시에 응답하여, 상기 네트워크에 통신상 접속된 적어도 하나의 다른 기기로부터 정보를 다운로드하며; 그리고
    상기 다운로드된 정보를 저장하는 것을 포함하는 방법.
  18. 제17항에 있어서,
    상기 제1 기기가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 상기 표시를 수신하는 것은,
    상기 제1 기기로 하여금 상기 네트워크로부터 통신상 단절할 것을 지시하는 사용자 입력을 수신하는 것을 포함하는, 방법.
  19. 제17항에 있어서,
    상기 제1 기기가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 상기 표시를 수신하는 것은,
    상기 제1 기기가 상기 네트워크로부터 통신상 단절되기 전의 시간에 관한 표시를 수신하는 것을 포함하는, 방법.
  20. 제19항에 있어서,
    상기 제1 기기가 상기 네트워크로부터 통신상 단절되기 전의 시간에 관한 표시를 수신하는 것은,
    상기 제1 기기가 상기 네트워크로부터 통신상 단절되기 전의 상기 시간을 상술하는 사용자 입력을 수신하는 것을 포함하는, 방법.
  21. 제19항에 있어서,
    상기 제1 기기가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 상기 수신된 표시에 응답하여, 상기 네트워크에 통신상 접속된 적어도 하나의 다른 기기로부터 정보를 다운로드하는 것은,
    기결정된 다운로드 지시들에 따라, 상기 표시된 시간 내에서 허용되는 한 상기 네트워크로부터 많은 정보를 다운로드하는 것을 포함하는, 방법.
  22. 제17항에 있어서,
    상기 제1 기기가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 상기 수신된 표시에 응답하여, 상기 네트워크에 통신상 접속된 적어도 하나의 다른 기기로부터 정보를 다운로드하는 것은,
    상기 네트워크로부터 사용자-선택 정보를 다운로드하는 것을 포함하는, 방법.
  23. 제22항에 있어서,
    사용자-선택 네트워크 정보는 사용자의 선호 리스트에서 식별된 네트워크 목적지들과 연관된 네트워크 정보를 포함하는, 방법.
  24. 제17항에 있어서,
    상기 제1 기기가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 상기 수신된 표시에 응답하여, 상기 네트워크에 통신상 접속된 적어도 하나의 다른 기기로부터 정보를 다운로드하는 것은,
    기정의된 규칙들에 기반하여 상기 네트워크로부터 정보를 다운로드하는 것을 포함하는, 방법.
  25. 제24항에 있어서,
    상기 기정의된 규칙들은, 상기 프로세서로 하여금, 적어도 하나의 이전에 뷰된 네트워크 페이지에서 식별된 적어도 하나의 링크와 연관된 네트워크 정보를 다운로드하고 저장할 것을 지시하는, 방법.
  26. 제17항에 있어서,
    상기 제1 기기가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 상기 수신된 표시에 응답하여, 상기 네트워크에 통신상 접속된 적어도 하나의 다른 기기로부터 정보를 다운로드하는 것은, 상기 네트워크로부터 기정의된 정보를 다운로드하는 것을 포함하고, 상기 방법은,
    상기 네트워크로부터의 상기 기정의된 정보가 다운로드되고 저장되었음을 나타내는 표시에 응답하여 상기 네트워크로부터 상기 제1 기기를 단절하는 것을 더 포함하는, 방법.
  27. 컴퓨터-판독가능 프로그램 코드 로직(computer-readable program code logic)을 저장한 적어도 하나의 컴퓨터-판독가능 저장 매체를 포함하는 컴퓨터 프로그램 제품에 있어서,
    상기 컴퓨터-판독가능 프로그램 코드 로직은,
    제1 기기가 통신 네트워크로부터 통신상 단절될 것임을 나타내는 표시를 수신하도록 구성된 제1 코드 로직; 및
    상기 제1 기기가 상기 네트워크로부터 통신상 단절할 것을 나타내는 상기 수신된 표시에 응답하여, 상기 네트워크에 통신상 접속된 적어도 하나의 다른 기기로부터 정보를 다운로드하도록 구성된 제2 코드 로직을 포함하는, 컴퓨터 프로그램 제품.
  28. 제27항에 있어서,
    상기 제1 코드 로직은 또한, 상기 제1 기기가 상기 네트워크로부터 통신상 단절되기 전의 시간에 관한 표시를 수신하도록 구성되는, 컴퓨터 프로그램 제품.
  29. 제28항에 있어서,
    상기 제1 코드 로직은, 상기 제1 기기가 상기 네트워크로부터 통신상 단절되기 전의 상기 시간을 상술하는 사용자 입력을 수신하도록 구성된 코드 로직을 포함하는, 컴퓨터 프로그램 제품.
  30. 제28항에 있어서,
    상기 제2 코드 로직은, 기결정된 다운로드 지시들에 따라, 상기 표시된 시간 내에서 허용되는 한 상기 네트워크로부터 많은 정보를 다운로드하도록 구성된 코드 로직을 포함하는, 컴퓨터 프로그램 제품.
  31. 제27항에 있어서,
    상기 제1 기기가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 상기 수신된 표시에 응답하여 사용자로 하여금 상기 제2 코드 로직에 의해 다운로드될 네트워크 정보를 상술할 수 있게 하도록 구성된 제3 코드 로직을 더 포함하는 컴퓨터 프로그램 제품.
  32. 제27항에 있어서,
    상기 제1 기기가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 상기 수신된 표시에 응답하여 상기 제2 코드 로직에 의해 다운로드될 네트워크 정보를 정의하도록 구성된 제3 코드 로직을 더 포함하는 컴퓨터 프로그램 제품.
  33. 제32항에 있어서,
    상기 제3 코드 로직은, 상기 사용자에 의해 최근에 액세스된 네트워크 정보 및/또는 상기 사용자에 의해서 액세스되지는 않았지만 상기 사용자에 의해 최근에 액세스된 상기 네트워크 정보에서 식별되는 다른 네트워크 정보에 기반하여 다운로드될 네트워크 정보를 정의하도록 구성되는, 컴퓨터 프로그램 제품.
  34. 제27항에 있어서,
    상기 제2 코드 로직은 상기 네트워크로부터 기정의된 정보를 다운로드하도록 구성되고, 상기 컴퓨터-판독가능 프로그램 코드 로직은,
    상기 네트워크로부터의 기정의된 정보가 다운로드되고 저장되었음을 나타내는 표시에 응답하여 상기 네트워크로부터 상기 제1 기기를 단절하도록 구성되는 제3 코드 로직을 더 포함하는, 컴퓨터 프로그램 제품.
  35. 장치에 있어서,
    상기 장치가 네트워크에 통신상 접속되어 있는 동안, 상기 장치가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 표시를 수신하는 수단;
    상기 장치가 상기 네트워크로부터 통신상 단절될 것임을 나타내는 수신된 표시에 응답하여 상기 네트워크 상의 적어도 하나의 기기로부터 정보를 다운로드하는 수단; 및
    상기 장치가 상기 네트워크로부터 통신상 단절되어 있을 때 상기 장치가 상기 다운로드된 정보에 액세스할 수 있도록 상기 다운로드된 정보를 저장하는 수단을 포함하는 장치.
KR1020107002183A 2007-06-29 2008-06-11 오프라인 브라우징용 콘텐트 다운로드 시스템, 방법, 기기 및 컴퓨터 프로그램 제품 KR20100029257A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/771,493 US8117303B2 (en) 2007-06-29 2007-06-29 Systems, methods, devices, and computer program products for downloading content for offline browsing
US11/771,493 2007-06-29

Publications (1)

Publication Number Publication Date
KR20100029257A true KR20100029257A (ko) 2010-03-16

Family

ID=39967459

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107002183A KR20100029257A (ko) 2007-06-29 2008-06-11 오프라인 브라우징용 콘텐트 다운로드 시스템, 방법, 기기 및 컴퓨터 프로그램 제품

Country Status (7)

Country Link
US (1) US8117303B2 (ko)
EP (1) EP2160884B1 (ko)
JP (1) JP2010530110A (ko)
KR (1) KR20100029257A (ko)
CN (1) CN101690128B (ko)
CA (1) CA2688413A1 (ko)
WO (1) WO2009004513A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160082919A (ko) * 2014-12-29 2016-07-11 삼성전자주식회사 웹 피드를 제공하기 위한 방법 및 전자 장치

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090024645A1 (en) * 2007-07-16 2009-01-22 Sudhir Krishna S Method and system for generating offline applications
US20090132556A1 (en) * 2007-11-16 2009-05-21 Nitin Gupta Offline operations for online applications
US9386427B1 (en) * 2008-07-25 2016-07-05 Amazon Technologies, Inc. Communication management based on communication events
WO2010022459A1 (en) 2008-08-27 2010-03-04 Rob Chamberlain System and/or method for linking network content
GB0906004D0 (en) * 2009-04-07 2009-05-20 Omnifone Ltd MusicStation desktop
JP2011082756A (ja) * 2009-10-06 2011-04-21 Fujifilm Corp 情報閲覧システム
US8761727B2 (en) 2009-11-06 2014-06-24 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for pre-caching in a telecommunication system
JP5163686B2 (ja) * 2010-04-14 2013-03-13 株式会社デンソー 車載通信システム
CN101848244A (zh) * 2010-05-21 2010-09-29 宇龙计算机通信科技(深圳)有限公司 一种更新移动终端上博客内容的实现方法、系统及移动终端
US9148302B2 (en) * 2010-06-14 2015-09-29 Blackberry Limited Automatic full download of important emails
WO2012023921A2 (en) * 2010-08-19 2012-02-23 Thomson Licensing Personalization of information content by monitoring network traffic
CN102468989B (zh) * 2010-11-11 2016-04-13 腾讯科技(深圳)有限公司 处理网络数据的方法和系统
US8700804B1 (en) * 2011-03-16 2014-04-15 EP Visual Design, Inc. Methods and apparatus for managing mobile content
CN102750285B (zh) * 2011-04-19 2017-05-24 英业达股份有限公司 提供离线浏览的系统及其方法
US8769073B2 (en) 2011-06-29 2014-07-01 International Business Machines Corporation Intelligent offline caching of non-navigated content based on usage metrics
CN102867007B (zh) * 2011-07-08 2015-11-25 腾讯科技(深圳)有限公司 网页浏览方法及装置
CN102904912B (zh) * 2011-07-26 2015-06-17 腾讯科技(深圳)有限公司 一种网页内容下载方法及装置
US10341693B2 (en) 2011-10-04 2019-07-02 International Business Machines Corporation Pre-emptive content caching in mobile networks
CN102427471B (zh) * 2011-11-24 2014-06-11 中兴通讯股份有限公司 一种离线运行微件的方法及客户端
US9247523B1 (en) 2012-01-17 2016-01-26 Cox Communications, Inc. System, method and device for initiating actions for mobile devices prior to a mobile user entering problem zones
CN103428334A (zh) * 2012-05-15 2013-12-04 宇龙计算机通信科技(深圳)有限公司 浏览网页的方法、系统及移动终端
CN103488636B (zh) * 2012-06-11 2016-04-13 腾讯科技(深圳)有限公司 一种离线浏览网页的方法及装置
US9058324B2 (en) * 2012-09-28 2015-06-16 Intel Corporation Predictive precaching of data based on context
US9615394B2 (en) * 2012-11-01 2017-04-04 Lg Electronics Inc. MTC monitoring method
US20140129944A1 (en) * 2012-11-05 2014-05-08 International Business Machines Corporation Method and system for synchronization and management of system activities with locally installed applications
CN103838771B (zh) * 2012-11-26 2018-09-11 腾讯科技(深圳)有限公司 浏览器页面数据处理方法、装置及浏览器
JPWO2014122730A1 (ja) * 2013-02-05 2017-01-26 富士通株式会社 情報提供サービスプログラム、情報提供サービス方法、情報提供サービス装置、及び、情報提供サービスシステム
JP5985412B2 (ja) * 2013-02-19 2016-09-06 Kddi株式会社 シームレスコンテンツ提供装置、シームレスコンテンツ提供方法、およびプログラム
US20140244579A1 (en) * 2013-02-25 2014-08-28 International Business Machines Corporation Method for synchronization and management fo system activities with locally installed applications
CN104937582B (zh) * 2013-02-27 2018-11-06 惠普发展公司,有限责任合伙企业 数据同步
CN104035935B (zh) 2013-03-06 2019-01-15 腾讯科技(深圳)有限公司 一种浏览器书签url的网页内容推送方法及系统
JP6284104B2 (ja) * 2013-03-12 2018-02-28 パナソニックIpマネジメント株式会社 情報通信端末、対話提供方法
CN104182408B (zh) * 2013-05-23 2019-01-29 腾讯科技(深圳)有限公司 一种网页离线访问方法及装置
CN104239322B (zh) * 2013-06-17 2020-01-10 腾讯科技(深圳)有限公司 一种网页浏览方法及装置
CN104902061A (zh) * 2014-03-03 2015-09-09 联想(北京)有限公司 一种信息处理方法及电子设备
US9591095B2 (en) * 2014-03-10 2017-03-07 Microsoft Technology Licensing, Llc Prefetching application data for periods of disconnectivity
US10055088B1 (en) * 2014-03-20 2018-08-21 Amazon Technologies, Inc. User interface with media content prediction
JP6492111B2 (ja) 2014-06-24 2019-03-27 グーグル エルエルシー コンテンツアイテムの記憶
US10015625B2 (en) * 2015-02-11 2018-07-03 Flipboard, Inc. Providing digital content for offline consumption
US20170032256A1 (en) * 2015-07-29 2017-02-02 Google Inc. Systems and method of selecting music for predicted events
US9860336B2 (en) 2015-10-29 2018-01-02 International Business Machines Corporation Mitigating service disruptions using mobile prefetching based on predicted dead spots
US10298691B2 (en) 2016-05-18 2019-05-21 Veniam, Inc. Systems and methods for managing the storage and dropping of data in a network of moving things
US10057742B2 (en) * 2016-05-18 2018-08-21 Veniam, Inc. Systems and methods for managing the routing and replication of data in the download direction in a network of moving things
JP6758599B2 (ja) * 2016-06-23 2020-09-23 富士ゼロックス株式会社 端末装置
US10609116B2 (en) * 2016-10-25 2020-03-31 Leapfrog Enterprises, Inc. Local synchronization of web-based interaction
CN108153778B (zh) * 2016-12-05 2021-05-14 腾讯科技(深圳)有限公司 网页保存方法、网页读取方法及装置
US10891342B2 (en) 2017-01-12 2021-01-12 Google Llc Content data determination, transmission and storage for local devices
WO2018159579A1 (ja) * 2017-02-28 2018-09-07 株式会社teamS 表示操作端末およびそれを用いる表示操作分離システム
US10979535B1 (en) * 2017-02-28 2021-04-13 Amazon Technologies, Inc. Decoupled selection of content for semi-connected electronic devices
US10820167B2 (en) * 2017-04-27 2020-10-27 Facebook, Inc. Systems and methods for automated content sharing with a peer
US10015658B1 (en) * 2017-05-18 2018-07-03 Motorola Solutions, Inc. Method and apparatus for maintaining mission critical functionality in a portable communication system
US10459758B2 (en) * 2017-07-20 2019-10-29 Citrix Systems, Inc. Method to set up and tear down cloud environments based on a schedule obtained from one or more hosted calendars
US11494631B2 (en) 2017-09-27 2022-11-08 Google Llc Smart advanced content retrieval
US10587716B2 (en) * 2017-10-26 2020-03-10 Rovi Guides, Inc. Systems and methods for optimizing allocation of bandwidth for pre-caching media content
US11388609B2 (en) 2019-12-11 2022-07-12 Charter Communications Operating, Llc Method and apparatus for coverage determination and download opportunity notification
US11146656B2 (en) * 2019-12-20 2021-10-12 Tealium Inc. Feature activation control and data prefetching with network-connected mobile devices
US11386183B2 (en) * 2020-08-06 2022-07-12 Microstrategy Incorporated Systems and methods for predictive caching
US20220385730A1 (en) * 2021-05-25 2022-12-01 WarnerMedia Direct, LLC Rules engine for controlling content access
CN113950133A (zh) * 2021-10-13 2022-01-18 维沃移动通信有限公司 一种网络连接控制方法、装置、电子设备及可读存储介质
CN114007245A (zh) * 2021-10-29 2022-02-01 维沃移动通信有限公司 一种数据处理方法、装置及电子设备

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06274239A (ja) * 1993-03-18 1994-09-30 Fujitsu Ltd 計算機システムの制御方法
US5694546A (en) 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
US5802304A (en) 1996-04-18 1998-09-01 Microsoft Corporation Automatic dialer responsive to network programming interface access
US6883020B1 (en) * 1997-06-26 2005-04-19 Hewlett-Packard Development Company, L.P. Apparatus and method for filtering downloaded network sites
US6088707A (en) 1997-10-06 2000-07-11 International Business Machines Corporation Computer system and method of displaying update status of linked hypertext documents
US6351467B1 (en) 1997-10-27 2002-02-26 Hughes Electronics Corporation System and method for multicasting multimedia content
US6594682B2 (en) 1997-10-28 2003-07-15 Microsoft Corporation Client-side system for scheduling delivery of web content and locally managing the web content
US6381592B1 (en) 1997-12-03 2002-04-30 Stephen Michael Reuning Candidate chaser
US6591288B1 (en) 1998-05-19 2003-07-08 Nortel Networks Limited Data network accelerated access system
US6278449B1 (en) * 1998-09-03 2001-08-21 Sony Corporation Apparatus and method for designating information to be retrieved over a computer network
US6493758B1 (en) 1998-09-08 2002-12-10 Microsoft Corporation Offline viewing of internet content with a mobile device
US6374404B1 (en) 1998-12-16 2002-04-16 Sony Corporation Of Japan Intelligent device having background caching of web pages from a digital television broadcast signal and method of same
US6507867B1 (en) 1998-12-22 2003-01-14 International Business Machines Corporation Constructing, downloading, and accessing page bundles on a portable client having intermittent network connectivity
JP3764291B2 (ja) * 1999-03-02 2006-04-05 株式会社東芝 情報配信システム、移動計算機、情報サーバ装置、キャッシュサーバ装置及び先読みキャッシュ処理方法
US7188240B1 (en) 1999-07-15 2007-03-06 International Business Machines Corporation Method and system for encryption of web browser cache
US6779042B1 (en) 1999-09-10 2004-08-17 Ianywhere Solutions, Inc. System, method, and computer program product for enabling on-device servers, offline forms, and dynamic ad tracking on mobile devices
US6615276B1 (en) 2000-02-09 2003-09-02 International Business Machines Corporation Method and apparatus for a centralized facility for administering and performing connectivity and information management tasks for a mobile user
US6996387B2 (en) 2000-05-01 2006-02-07 Mtel Limited Global data network using existing wireless infrastructures
US7068189B2 (en) 2001-07-03 2006-06-27 Nortel Networks Limited Location and event triggered notification services
JP2003030085A (ja) * 2001-07-10 2003-01-31 Ntt Docomo Inc コンテンツ配信システム、コンテンツ配信制御装置、コンテンツ配信方法及び移動端末装置
US6820116B1 (en) 2001-12-21 2004-11-16 Nokia Corporation Mobile browsing booster system
JP3933955B2 (ja) * 2002-02-19 2007-06-20 株式会社日立製作所 車載装置
JP3918616B2 (ja) * 2002-04-15 2007-05-23 株式会社デンソー 無線通信装置及び無線通信システム
US7900147B2 (en) 2002-07-22 2011-03-01 International Business Machines Corporation System and method for enabling disconnected web access
JP4181962B2 (ja) * 2002-10-08 2008-11-19 キヤノン株式会社 受信装置及び受信方法
TWI231669B (en) * 2002-11-02 2005-04-21 Ibm System and method for using portals by mobile devices in a disconnected mode
JP2006526837A (ja) 2003-06-03 2006-11-24 株式会社Access ページ保存ファイルを用いてコンテンツを閲覧する方法
US7356332B2 (en) 2003-06-09 2008-04-08 Microsoft Corporation Mobile information system for presenting information to mobile devices
US7272782B2 (en) 2003-12-19 2007-09-18 Backweb Technologies, Inc. System and method for providing offline web application, page, and form access in a networked environment
US20060047775A1 (en) * 2004-08-27 2006-03-02 Timo Bruck Method and apparatus for downloading content
ATE457586T1 (de) 2004-08-31 2010-02-15 Research In Motion Ltd System und verfahren zum aktualisieren von informationen in einem elektronischen handgerät
US7925973B2 (en) 2005-08-12 2011-04-12 Brightcove, Inc. Distribution of content

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160082919A (ko) * 2014-12-29 2016-07-11 삼성전자주식회사 웹 피드를 제공하기 위한 방법 및 전자 장치

Also Published As

Publication number Publication date
CA2688413A1 (en) 2009-01-08
JP2010530110A (ja) 2010-09-02
WO2009004513A1 (en) 2009-01-08
CN101690128A (zh) 2010-03-31
JP5650178B2 (ja) 2015-01-07
EP2160884B1 (en) 2017-03-22
US8117303B2 (en) 2012-02-14
EP2160884A1 (en) 2010-03-10
JP2013062806A (ja) 2013-04-04
US20090006308A1 (en) 2009-01-01
CN101690128B (zh) 2014-05-07

Similar Documents

Publication Publication Date Title
US8117303B2 (en) Systems, methods, devices, and computer program products for downloading content for offline browsing
US20090288004A1 (en) System, method, apparatus and computer program product for providing a notification of widget availability
US20070142036A1 (en) Provision of content in mobile environments
US20090210514A1 (en) Methods, apparatuses, computer program products, and systems for mobile web browsing
US20140122638A1 (en) Webpage Browsing Method And Device
US20090164433A1 (en) Method and System for Managing Search Results in a Communication Network
CN102130952B (zh) 用于转发移动终端的http请求消息的方法及装置
US7769898B2 (en) Mobile communication terminal and website browsing method
US20080154905A1 (en) System, Method, Apparatus and Computer Program Product for Providing Content Selection in a Network Environment
WO2009106676A1 (en) Methods, apparatuses and computer program products for providing a search form
WO2006117638A1 (en) System and method for adaptive remote file caching
US9060326B2 (en) RSS channel information provision method and system and portable device using the same
KR100650351B1 (ko) 이동통신 단말기의 컨텐츠 갱신 시스템 및 방법
KR20090050219A (ko) 이동 단말의 화면 출력 방법 및 그 장치
KR101385107B1 (ko) 이동 단말의 무선 인터넷 브라우저에서 메모어플리케이션과 연동하여 메모를 관리하는 방법 및 장치
JP2008042938A (ja) 無線通信装置、無線通信装置の制御方法、無線通信装置の制御方法のプログラム及び無線通信装置の制御方法のプログラムを記録した記録媒体
JP5650178B6 (ja) オフラインブラウジングのためのコンテンツをダウンロードするシステム、方法、装置及びコンピュータプログラム製品
US20090319489A1 (en) System and Method for Improving Operations on a Media Server
JP2007299271A (ja) 移動通信端末
JP2005108057A (ja) コンテンツ取得システム、ブラウザ装置及びそれに用いるコンテンツダウンロード方法並びにそのプログラム
KR20080034359A (ko) 정보 검색 장치 및 그 방법
KR100914128B1 (ko) 직접 연결 서비스 제공 방법 및 이를 수행하기 위한 시스템
KR20080050748A (ko) 웹페이지 컨텐츠 다운로드 방법 및 그 단말기
JP2005176146A (ja) 携帯電話機、該携帯電話機に用いられる受信データサイズ切替方法、及びデータ送信量制限システム

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
NORF Unpaid initial registration fee